Кіріспе
Жүйелердің компоненттердің ақауларына немесе қателеріне төзімділігі. Ақаулыққа төзімділік – жүйенің бір немесе бірнеше компоненттерінде ақаулар немесе қателер туғанда да қалыпты жұмыс істеуін сақтау қабілеті. Жұмыс сапасының төмендеуі ақаудың ауырлығына пропорционалды, ал қарапайым жобаланған жүйеде тіпті кішкентай ақау да толық құлауға әкелуі мүмкін. Ақаулыққа төзімділік, әсіресе жоғары қолжетімділік, өте маңызды немесе тіпті өмірлік маңызы бар жүйелерде аса қажет. Жүйенің бөліктері істен шыққанда функционалдылықты сақтау қабілеті – сымбатты деградация деп аталады. Ақаулыққа төзімді дизайн жүйенің кейбір бөліктері істен шыққанда толық құлаудың орнына, мүмкін, төмендетілген деңгейде болса да, мақсатты жұмысын жалғастыруға мүмкіндік береді. Бұл термин көбінесе жартылай істен шыққан жағдайда, өткізу қабілетін азайтумен немесе жауап беру уақытын ұлғайтумен жұмысын жалғастыруға бағытталған компьютерлік жүйелерді сипаттау үшін қолданылады. Яғни, жүйе тұтастай алғанда аппараттық немесе бағдарламалық жасақтамадағы мәселелерге байланысты тоқтатылмайды. Есептеуге қатысты емес мысалдарға, дөңгелегінің бірі тесілген жағдайда да жүруге болатын автокөлік, немесе шаршау, коррозия, өндірістік ақаулар немесе соққыдан туған зақымдарға қарамастан, тұтастығын сақтайтын құрылым жатады. Жеке жүйе үшін ақаулыққа төзімділікке ерекше жағдайларды болжау және оларды жеңу үшін жүйені құру арқылы қол жеткізуге болады, сондай-ақ жүйенің қатесіз күйге қарай өзінен-өзі тұрақтанатындай етіп жасауға болады. Дегенмен, егер жүйелік ақаудың салдары өте ауыр болса немесе оны жеткілікті сенімді етудің құны тым жоғары болса, дубликацияны пайдалану тиімдірек болуы мүмкін. Кез келген жағдайда, егер жүйелік ақаудың салдары өте ауыр болса, жүйе қауіпсіз режимге көшу үшін кері оралу мүмкіндігін қамтамасыз етуі керек. Бұл қалпына келтіруді кері қайтаруға ұқсас, бірақ егер адамдар циклге қатысса, бұл адамның әрекеті болуы мүмкін.
Fault tolerance is the ability of a system to maintain proper operation in the event of failures or faults in one or more of its components. Any decrease in operating quality is proportional to the severity of the failure, unlike a naively designed system in which even a small failure can lead to total breakdown. Fault tolerance is particularly sought after in high availability, mission critical, or even life critical systems. The ability to maintain functionality when portions of a system break down is referred to as graceful degradation. A fault tolerant design enables a system to continue its intended operation, possibly at a reduced level, rather than failing completely when some part of the system fails. The term is most commonly used to describe computer systems designed to continue operation in the event of a partial failure, with perhaps a reduction in throughput or an increase in response time. That is, the system as a whole is not stopped due to problems either in the hardware or the software. Non computing examples include a motor vehicle designed to remain drivable if one of the tires is punctured, or a structure that retains its integrity despite damage caused by fatigue, corrosion, manufacturing flaws, or impact. For an individual system, fault tolerance can be achieved by anticipating exceptional conditions and building the system to cope with them, and aiming for self stabilization so that the system converges towards an error free state. However, if the consequences of a system failure are catastrophic, or the cost of making it sufficiently reliable is very high, a better solution may be to use some form of duplication. In any case, if the consequence of a system failure is so catastrophic, the system must be able to use reversion to fall back to a safe mode. This is similar to roll back recovery but can be a human action if humans are present in the loop.
Мысалдар
Жабдықтың ақаулықтарға төзімділігі кейде бұзылған бөліктерді алып тастап, жүйе жұмыс істеп тұрғанда жаңа бөліктермен ауыстыруды қажет етеді (компьютерде бұл "ыстық ауыстыру" деп аталады). Бір резервтік көшірмемен іске асырылған мұндай жүйе "бір нүктеге төзімді" деп аталады және қатеге төзімді жүйелердің көп бөлігін құрайды. Мұндай жүйелерде ақаулар арасындағы орташа уақыт операторлардың бұзылған құрылғыларды жөндеуге (жөндеуге арналған орташа уақыт) жеткілікті уақыт болу үшін жеткілікті ұзақ болуы керек. Ақаулар арасындағы уақыттың мүмкіндігінше ұзақ болуы тиімді, бірақ бұл қатеге төзімді жүйеде міндетті талап емес. Қатеге төзімділік компьютерлік қолданбаларда өте табысты. Tandem Computers компаниясы өз бизнесін мұндай машиналарға негіздеді, олар "бір нүктеге төзімділік" принципін қолданып, жылдармен өлшенетін NonStop жүйелерін жасады. Қатеден сақтандыратын архитектуралар компьютерлік бағдарламалық жасақтаманы да қамтуы мүмкін, мысалы, процестерді көшіру арқылы. Деректер форматтары да қателерді жұмсақ қабылдайтындай етіп жасалуы мүмкін. Мысалы, HTML алға қарай үйлесімділікпен құрылған, бұл веб-браузерлерге жаңа және қолдаусыз HTML элементтерін елемеуге және құжатты қолдану мүмкін болмайтын жағдайға жеткізбеуге мүмкіндік береді. Сонымен қатар, кейбір сайттар, оның ішінде Twitter сияқты танымал платформалар (2020 жылдың желтоқсанына дейін) кең қолжетімділік пен таралуды қамтамасыз ету үшін, мысалы, веб-шолу мүмкіндіктері шектеулі ойын консольдарында пайдалану үшін, JavaScript-ке тәуелді емес және минималды макетке ие жеңіл фронт-энд ұсынады.
Терминология
Жоғары қатеге төзімді жүйе бір немесе бірнеше компоненттерінің істен шығуына қарамастан, сол деңгейде өнімділікті сақтап қалуы мүмкін. Мысалы, қосалқы электр генераторы бар ғимарат, желідегі қуат ажыратылған жағдайда да, розеткаларға бірдей кернеуді жеткізеді. Қауіпсіздікке, сенімділікке немесе жұмсақ істен шығуға бағытталған жүйе, өнімділігі төмендесе немесе толығымен тоқтаса да, адамдарды, мүлікті немесе деректерді зақымданудан, бұзудан, рұқсатсыз кіруден немесе ашыққа шығудан қорғайды. Компьютерлерде бағдарлама, қате пайда болғаннан кейін деректердің бұзылуын болдырмау үшін, басқарылмайтын құлаудың орнына, әдепті түрде тоқтау арқылы қауіпсіздікті қамтамасыз ете алады. "Жақсы істен шығу" мен "жаман істен шығу" арасында да осындай айырмашылық бар. Жұмсақ деградацияға ұшырауға немесе "қатеге қауіпсіз" (компьютерде қолданылатын, "қатеге төзімді" ұғымына ұқсас) болуға арналған жүйе, кейбір компоненттері істен шыққаннан кейін өнімділігі төмендеген күйде жұмыс істейді. Мысалы, желідегі қуат ажыратылса, ғимарат жарықтандыруды азайтылған деңгейде немесе лифттерді азайтылған жылдамдықпен жұмыс істеуі мүмкін. Компьютерде, онлайн бейнені ағынды түрде көрсету үшін жеткіліксіз желілік өткізу қабілеті болса, жоғары ажыратымдылық нұсқасының орнына, төменгі ажыратымдылық нұсқасы ағынды түрде көрсетілуі мүмкін. Прогрессивті жақсарту – тағы бір мысал, онда веб-беттер ескі, кішкентай экранды немесе мүмкіндіктері шектеулі веб-браузерлер үшін негізгі функционалдық форматта қол жетімді, бірақ қосымша технологияларды қолдайтын немесе үлкен дисплейі бар браузерлер үшін жақсартылған нұсқада ұсынылады. Қатеге төзімді компьютер жүйелерінде, берік деп саналатын бағдарламалар, қатеге, ерекшелікке немесе жарамсыз кіріске қарамастан, толығымен құлаудың орнына жұмысын жалғастыру үшін жасалған. Бағдарламалық жасақтаманың нашарлауы – беріктіктің керісі. Тұрақты желілер, кейбір байланыстар немесе түйіндер істен шыққан жағдайда да, деректерді беруді жалғастырады. Тұрақты ғимараттар мен инфрақұрылымдар жер сілкінісі, су тасқыны немесе соқтығысу сияқты жағдайларда толық құлаудан сақтануы күтіледі. Жоғары қателік ашықтығына ие жүйе, компонент істен шыққанын пайдаланушыларға ескертеді, тіпті ол толық өнімділікпен жұмыс істей берсе де, осылайша ақаулықты жөндеуге немесе толық құлауды болжауға мүмкіндік береді. Сол сияқты, жылдам істен шығатын компонент, төменгі деңгейдегі компоненттер істен шыққанда есеп берудің орнына, ақаудың алғашқы нүктесінде хабарлауға арналған. Бұл негізгі мәселені оңай диагностикалауға мүмкіндік береді және бұзылған жағдайда дұрыс жұмыс істемеудің алдын алады. Бірде-бір ақаулық жағдайы – қауіптен қорғаудың бір құралының істен шығуы. Егер бір ақаулық жағдай екінші ақаулық жағдайға әкелсе, екі ақаулық бір ақаулық жағдайы деп есептеледі. Бір дерек көзі келесі мысал келтіреді: Бірде-бір ақаулық жағдайы – жабдықтағы қауіптен қорғаудың бір ғана құралының істен шығуы немесе бір ғана сыртқы аномальді жағдайдың болуы, мысалы, белсенді және қолданылатын бөліктер арасындағы қысқа тұйықталу.
Критерийлер
Әрбір компонент үшін ақауға төзімді дизайнды ұсыну әдетте мүмкін емес. Қосымша сенімділіктің бірқатар кемшіліктері бар: салмақтың, көлемінің, қуат тұтынудың, құнының артуы, сондай-ақ жобалау, тексеру және сынауға кететін уақыттың ұзаруы. Сондықтан, қай компоненттердің ақауға төзімді болу керектігін анықтау үшін бірнеше нұсқаны қарастыру қажет: компонент қаншалықты маңызды? Автомобильде радио маңызды емес, сондықтан бұл компонентке ақауға төзімділік аз қажет. Компоненттің бұзылу ықтималдығы қандай? Кейбір компоненттер, мысалы, автомобильдің жетек білігі, бұзылуы мүмкін емес, сондықтан ақауға төзімділік қажет емес. Компонентті ақауға төзімді ету қаншалықты қымбат? Мысалы, қосымша автомобиль қозғалтқышын талап ету экономикалық тұрғыдан да, салмағы мен көлемі тұрғысынан да тым қымбат болуы мүмкін. Барлық сынақтан өткен компоненттің мысалы – автомобильдегі жолаушыларды қорғау жүйесі. Негізгі жолаушыларды қорғау жүйесі – гравитация. Егер көлік аударылса немесе үлкен күштерге ұшыраса, онда жолаушыларды қорғаудың бұл негізгі әдісі сәтсіз болуы мүмкін. Мұндай жағдайда жолаушыларды қорғау қауіпсіздік үшін өте маңызды, сондықтан бірінші сынақтан өтті. Қауіпсіздік белбеулері қолданылмас бұрын жолаушыларды сыртқа шығаруға себеп болатын жағдайлар жиі кездесетін, сондықтан екінші сынақтан өтті. Қауіпсіздік белбеулері сияқты қосымша қорғау әдісінің құны экономикалық тұрғыдан да, салмағы мен көлемі тұрғысынан да төмен, сондықтан үшінші сынақтан өтті. Сондықтан, барлық көліктерге қауіпсіздік белбеулерін орнату өте жақсы идея. Басқа "қосымша қорғау жүйелері", мысалы, қауіпсіздік қаптары қымбат, сондықтан бұл сынақтан аздап өтеді. Бұл принциптің тәжірибеде қолданылуының тағы бір тамаша және ұзақ мерзімді мысалы – тежегіш жүйесі: нақты тежегіш механизмдері маңызды болса да, олар кенеттен (біртіндеп емес) бұзылуға бейім емес және кез келген жағдайда тежегіш күшінің барлық дөңгелекке тең және тепе-теңдікпен қолданылуын қамтамасыз ету үшін міндетті түрде дубликатталады. Сонымен қатар, негізгі компоненттерді қайта жасау өте қымбатқа түседі және олар қосымша салмақ қосады. Алайда, жүргізушінің бақылауындағы тежегіштерді іске қосу үшін ұқсас маңызды жүйелер өзінен-өзі нашар, әдетте кабельді (тотығуы, созылуы, тығылуы, жыртылуы мүмкін) немесе гидравликалық сұйықтықты (жарылуы, қайнауы және көпіршіктер пайда болуы мүмкін, суды сіңіріп, тиімділігін жоғалтуы мүмкін) пайдаланады. Осылайша, қазіргі заманғы автомобильдерде аяқ тежегіштің гидравликалық тежегіш контуры диагональды түрде екі кішігірім сәтсіздік нүктесін беру үшін бөлінеді, тежегіш күшінің жоғалуы тек 50% құрайды және тік алдыңғы-артқы немесе сол-оң бөлу сияқты қауіпті тежегіш күшінің тепе-теңсіздігін тудырмайды, ал гидравликалық контур толық бұзылса (салыстырмалы түрде өте сирек кездесетін жағдай), кабельді іске қосылатын тұрақ тежегіші түрінде ақаусыздық бар, ол әдетте әлсіз артқы тежегіштерді іске қосады, бірақ көлікке талаптар қалыпты жол қозғалысына сәйкес болған жағдайда, беріліс/қозғалтқыш тежегішімен бірге көлікті қауіпсіз тоқтатуға көмектеседі. Аяқ тежегіштің толық бұзылуымен және апатты жағдайда қатты тежеу қажеттілігінің жиынтық ықтимал емес үйлесімі бәсекені тудырады, бірақ бұл бәсеке басқа жағдайда болатыннан төмен жылдамдықпен жүреді. Аяқ педалімен іске қосылатын жұмыс тежегішімен салыстырғанда, тұрақ тежегішінің өзі маңызды емес элемент болып табылады және егер ол аяқ тежегішін бір реттік резервтік бөлік ретінде пайдаланбаса, егер ол іске қосылған кезде жұмыс істемейтін болса, тікелей қауіп тудырмайды. Сондықтан, оған қосымша сенімділік салынбайды (әдетте ол арзан, жеңіл, бірақ аз тозуға төзімді кабельді іске қосу жүйесін қолданады), егер бұл дөңесте болса, көлік тоқтап қалу үшін тегіс жолды табу үшін қозғалтқышты тоқтату үшін аяқ тежегішін пайдалану жеткілікті болуы мүмкін. Сонымен қатар, аз тереңдікте беріліс парктік, кері немесе бірінші беріліске ауыстырылуы мүмкін, ал беріліс бұғаттауы/қозғалтқышты қысымдау оны тұрақты ұстауға арналған, өйткені оларға оны тоқтату үшін күрделілік қажет емес. Мотоциклдерде осындай қауіпсіздік деңгейі қарапайым әдістермен қамтамасыз етіледі; біріншіден, алдыңғы және артқы тежегіш жүйелері олардың іске қосу әдісіне қарамастан (бұл кабельді, тағандық немесе гидравликалық болуы мүмкін) бірін толығымен бұзуға мүмкіндік береді, екіншісіне әсер етпейді. Екіншіден, артқы тежегіш автомобильдегі әріптесімен салыстырғанда күшті, кейбір спорттық модельдерде қуатты дискіге ие, тіпті әдеттегі мақсат – алдыңғы жүйе тоқтату күшінің басым бөлігін қамтамасыз ету болса да; жалпы көлік салмағы ортасырақ орналасқандықтан, артқы дөңгелек әдетте үлкен және жақсырақ ұстанымға ие, сондықтан жүргізуші оған көбірек салмақ түсіру үшін арқаға еңкейе алады, демек, дөңгелек құлыпталар алдында көбірек тежегіш күш қолдануға мүмкіндік береді. Арзан, баяу қызметтік машиналарда, тіпті егер алдыңғы дөңгелек қосымша тежегіш күш пен оңай орналастыру үшін гидравликалық дискіні қолданса да, артқы дөңгелек әдетте қарапайым, сәл тиімсіз, бірақ өте берік тағандық іске қосылатын барабан болады, бұл осылай қосылудың қарапайымдығы және, ең бастысы, қалған машина, көптеген төмен бағалы велосипедтердің алғашқы бірнеше жылдық пайдаланудан кейін, ұзақ уақытқа дейін күтімсіздіктен нашарлағаннан кейін, күйреу қаупі жоқ.
How critical is the component? In a car, the radio is not critical, so this component has less need for fault tolerance. How likely is the component to fail? Some components, like the drive shaft in a car, are not likely to fail, so no fault tolerance is needed. How expensive is it to make the component fault tolerant? Requiring a redundant car engine, for example, would likely be too expensive both economically and in terms of weight and space, to be considered. An example of a component that passes all the tests is a car's occupant restraint system. While the primary occupant restraint system is not normally thought of, it is gravity. If the vehicle rolls over or undergoes severe g forces, then this primary method of occupant restraint may fail. Restraining the occupants during such an accident is absolutely critical to safety, so the first test is passed. Accidents causing occupant ejection were quite common before seat belts, so the second test is passed. The cost of a redundant restraint method like seat belts is quite low, both economically and in terms of weight and space, so the third test is passed. Therefore, adding seat belts to all vehicles is an excellent idea. Other "supplemental restraint systems", such as airbags, are more expensive and so pass that test by a smaller margin. Another excellent and long term example of this principle being put into practice is the braking system: whilst the actual brake mechanisms are critical, they are not particularly prone to sudden (rather than progressive) failure, and are in any case necessarily duplicated to allow even and balanced application of brake force to all wheels. It would also be prohibitively costly to further double up the main components and they would add considerable weight. However, the similarly critical systems for actuating the brakes under driver control are inherently less robust, generally using a cable (can rust, stretch, jam, snap) or hydraulic fluid (can leak, boil and develop bubbles, absorb water and thus lose effectiveness). Thus in most modern cars the footbrake hydraulic brake circuit is diagonally divided to give two smaller points of failure, the loss of either only reducing brake power by 50% and not causing as much dangerous brakeforce imbalance as a straight front back or left right split, and should the hydraulic circuit fail completely (a relatively very rare occurrence), there is a failsafe in the form of the cable actuated parking brake that operates the otherwise relatively weak rear brakes, but can still bring the vehicle to a safe halt in conjunction with transmission/engine braking so long as the demands on it are in line with normal traffic flow. The cumulatively unlikely combination of total foot brake failure with the need for harsh braking in an emergency will likely result in a collision, but still one at lower speed than would otherwise have been the case. In comparison with the foot pedal activated service brake, the parking brake itself is a less critical item, and unless it is being used as a one time backup for the footbrake, will not cause immediate danger if it is found to be nonfunctional at the moment of application. Therefore, no redundancy is built into it per se (and it typically uses a cheaper, lighter, but less hardwearing cable actuation system), and it can suffice, if this happens on a hill, to use the footbrake to momentarily hold the vehicle still, before driving off to find a flat piece of road on which to stop. Alternatively, on shallow gradients, the transmission can be shifted into Park, Reverse or First gear, and the transmission lock / engine compression used to hold it stationary, as there is no need for them to include the sophistication to first bring it to a halt. On motorcycles, a similar level of fail safety is provided by simpler methods; first, the front and rear brake systems are entirely separate, regardless of their method of activation (that can be cable, rod or hydraulic), allowing one to fail entirely while leaving the other unaffected. Second, the rear brake is relatively strong compared to its automotive cousin, being a powerful disc on some sports models, even though the usual intent is for the front system to provide the vast majority of braking force; as the overall vehicle weight is more central, the rear tire is generally larger and has better traction, so that the rider can lean back to put more weight on it, therefore allowing more brake force to be applied before the wheel locks. On cheaper, slower utility class machines, even if the front wheel should use a hydraulic disc for extra brake force and easier packaging, the rear will usually be a primitive, somewhat inefficient, but exceptionally robust rod actuated drum, thanks to the ease of connecting the footpedal to the wheel in this way and, more importantly, the near impossibility of catastrophic failure even if the rest of the machine, like a lot of low priced bikes after their first few years of use, is on the point of collapse from neglected maintenance.
Қатеге төзімділік техникасы
Критикалық жүйелерге қажетті толеранттылық түрлерін зерттеу көп салалық жұмысты қажет етеді. Жүйе неғұрлым күрделі болса, барлық мүмкін өзара әрекеттесулерді соғұрлым мұқият қарастырып, оларға дайындалу қажет. Көлік, коммуналдық қызметтер және әскери салалардағы жоғары құнды жүйелердің маңыздылығын ескере отырып, зерттеумен байланысты тақырыптар өте кең: олар бағдарламалық жасақтаманы модельдеу және сенімділік, немесе аппараттық дизайн сияқты түсінікті мәселелерді, сондай-ақ стохастикалық модельдер, графтар теориясы, формалды немесе мұқаты логикасы, параллель өңдеу, қашықтықтан деректерді беру және тағы да басқа құпия элементтерді қамтуы мүмкін.
Қателіксіз есептеу
Қателікке сезімтал емес есептеу – компьютерлік бағдарламалардың қателерге қарамастан жұмысын жалғастыруын қамтамасыз ететін техника. Бұл техниканы түрлі жағдайларда қолдануға болады. Ол жарамсыз жад оқуларын бағдарламаға жасалған мәнді қайтару арқылы шеше алады, нәтижесінде бағдарлама жасалған мәнді пайдаланып, алдында қол жеткізуге тырысқан жад мәнін назарға алмайды. Бұл, қате туралы хабар беретін немесе бағдарламаны тоқтататын стандартты жад тексерушілерден мүлдем өзгеше. Аталған тәсілдің өнімділік тұрғысынан шығындары бар: техника кодты динамикалық түрде жад мекенжайының дұрыстығын тексеру үшін өңдейді, сондықтан орындалу уақыты 80%-дан 500%-ға дейін ұзарады.
Қалпына келтіру пастыры
Қалпына келтіру пастухы – бағдарламалық жасақтамалардың нөлдік көрсеткіштен бас тарту және нөлге бөлу сияқты өлімге әкелетін қателерден қалпына келуіне мүмкіндік беретін жеңіл техника. Қаттылықсыз есептеу техникасымен салыстырғанда, қалпына келтіру пастухы құрастырылған бағдарламаның бинарлық кодын тікелей пайдаланады және бағдарламаны қайта құрастыру қажеттілігін жояды. Ол Pin деп аталатын дереу бинарлық құралдар жиынтығын қолданады. Қате пайда болған кезде ол қолданба процесіне қосылады, орындалуын түзетіп, орындалу жалғасқанда түзету әсерлерін қадағалайды, түзету әсерлерін қолданба процесінде сақтайды және барлық түзету әсерлері процестік жағдайынан шығарылғаннан кейін процестен ажыратылады. Бұл бағдарламаның қалыпты жұмысына кедергі келтірмейді, сондықтан мардымсыз шығындар туындайды. Бұл бір компонент істен шыққан жағдайда автоматты түрде "қосылатын" қосымша компоненттерден тұруы мүмкін. Мысалы, үлкен жүк көліктерінің дөңгелегі түсіп кетсе де, ешқандай үлкен зардап болмайды. Оларда көптеген дөңгелектер бар, және ешбір дөңгелек маңызды емес (алдыңғы дөңгелектерді қоспағанда, олар рульді басқару үшін қолданылады, бірақ әдетте қалған төрт-он алты дөңгелекке қарағанда аз жүктеме көтереді, сондықтан бұзылу ықтималдығы төмен). Жүйенің сенімділігін арттыру мақсатында артықшылықты енгізу идеясын Джон фон Нейман 1950 жылдары ұсынған. Артықшылықтың екі түрі бар: кеңістіктік және уақыттық артықшылық. Кеңістіктік артықшылық қатесіз жұмыс істеу үшін қажет емес қосымша компоненттерді, функцияларды немесе дерек элементтерін қамтамасыз етеді. Кеңістіктік артықшылық жүйеге қосылған артық ресурстардың түріне байланысты аппараттық, бағдарламалық және ақпараттық артықшылыққа бөлінеді. Уақыттық артықшылықта есептеу немесе деректерді беру қайталанады және нәтиже алдыңғы нәтижесінің сақталған көшірмесімен салыстырылады. Осы сынақ түрі үшін қолданылатын терминология "Қызметтегі ақаулықтарға төзімділікті сынау" немесе қысқаша ISFTT деп аталады.
tracks the repair effects as the execution continues, contains the repair effects within the application process, and detaches from the process after all repair effects are flushed from the process state. It does not interfere with the normal execution of the program and therefore incurs negligible overhead. This can consist of backup components that automatically "kick in" if one component fails. For example, large cargo trucks can lose a tire without any major consequences. They have many tires, and no one tire is critical (with the exception of the front tires, which are used to steer, but generally carry less load, each and in total, than the other four to 16, so are less likely to fail). The idea of incorporating redundancy in order to improve the reliability of a system was pioneered by John von Neumann in the 1950s. Two kinds of redundancy are possible: space redundancy and time redundancy. Space redundancy provides additional components, functions, or data items that are unnecessary for fault free operation. Space redundancy is further classified into hardware, software and information redundancy, depending on the type of redundant resources added to the system. In time redundancy the computation or data transmission is repeated and the result is compared to a stored copy of the previous result. The current terminology for this kind of testing is referred to as 'In Service Fault Tolerance Testing or ISFTT for short.
Қатынасты терминдер
Қатеге төзімділік пен мәселелер сирек туындайтын жүйелердің арасында айырмашылық бар. Мысалы, Western Electric тікелей қосылыс жүйелерінің істен шығу жиілігі қырық жылда екі сағатты құрады, демек, олар өте жоғары ақаулыққа төзімді болды. Бірақ, егер ақау туындаса, олар толығымен жұмысын тоқтатты, сондықтан қатеге төзімді емес еді.