फॉल्ट टॉलरेंस: Difference between revisions
(text edit) |
(text edit) |
||
| Line 89: | Line 89: | ||
== दोष सहिष्णुता तकनीक == | == दोष सहिष्णुता तकनीक == | ||
महत्वपूर्ण प्रणालियों के लिए आवश्यक सहिष्णुता के प्रकार में अनुसंधान में बड़ी मात्रा में बहुविषयक कार्य शामिल हैं। प्रणाली जितनी अधिक जटिल होगी,उतनी ही सावधानी से सभी संभावित अंतःक्रियाओं पर विचार करना होगा और इसके लिए तैयार रहना होगा। परिवहन, सार्वजनिक उपयोगिताओं और सेना में उच्च-मूल्य वाली प्रणालियों के महत्व को ध्यान में रखते हुए,अनुसंधान पर स्पर्श करने वाले विषयों का क्षेत्र बहुत व्यापक है: इसमें [[ सॉफ्टवेयर मॉडलिंग |सॉफ्टवेयर मॉडलिंग]] और विश्वसनीयता या [[ हार्डवेयर डिजाइन |हार्डवेयर डिजाइन]] जैसे स्पष्ट विषय शामिल हो सकते हैं,जैसे [[ स्टोकेस्टिक |स्टोकेस्टिक]] मॉडल, [[ ग्राफ सिद्धांत |ग्राफ सिद्धांत]] ,औपचारिक या बहिष्करण तर्क,[[ समानांतर कंप्यूटिंग |समानांतर प्रसंस्करण]] ,रिमोट[[ डेटा ट्रांसमिशन | डेटा ट्रांसमिशन]],और बहुत कुछ। <ref>{{cite book |title=Reliability evaluation of some fault-tolerant computer architectures |date=November 1980 |publisher=Springer-Verlag |isbn=978-3-540-10274-8}}</ref> | महत्वपूर्ण प्रणालियों के लिए आवश्यक सहिष्णुता के प्रकार में अनुसंधान में बड़ी मात्रा में बहुविषयक कार्य शामिल हैं। प्रणाली जितनी अधिक जटिल होगी,उतनी ही सावधानी से सभी संभावित अंतःक्रियाओं पर विचार करना होगा और इसके लिए तैयार रहना होगा। परिवहन, सार्वजनिक उपयोगिताओं और सेना में उच्च-मूल्य वाली प्रणालियों के महत्व को ध्यान में रखते हुए,अनुसंधान पर स्पर्श करने वाले विषयों का क्षेत्र बहुत व्यापक है: इसमें [[ सॉफ्टवेयर मॉडलिंग |सॉफ्टवेयर मॉडलिंग]] और विश्वसनीयता या [[ हार्डवेयर डिजाइन |हार्डवेयर डिजाइन]] जैसे स्पष्ट विषय शामिल हो सकते हैं,जैसे [[ स्टोकेस्टिक |स्टोकेस्टिक]] मॉडल, [[ ग्राफ सिद्धांत |ग्राफ सिद्धांत]] ,औपचारिक या बहिष्करण तर्क,[[ समानांतर कंप्यूटिंग |समानांतर प्रसंस्करण]] ,रिमोट[[ डेटा ट्रांसमिशन | डेटा ट्रांसमिशन]],और बहुत कुछ। <ref>{{cite book |title=Reliability evaluation of some fault-tolerant computer architectures |date=November 1980 |publisher=Springer-Verlag |isbn=978-3-540-10274-8}}</ref> | ||
=== | ===प्रतिकृत === | ||
स्पेयर कंपोनेंट्स फॉल्ट टॉलरेंस की पहली मूलभूत विशेषता को तीन तरीकों से संबोधित करते हैं: | ====स्पेयर कंपोनेंट्स (अतिरिक़्त घटक) फॉल्ट टॉलरेंस की पहली मूलभूत विशेषता को तीन तरीकों से संबोधित करते हैं: ==== | ||
* [[ प्रतिकृति (कंप्यूटर विज्ञान) | प्रतिकृति ]]: एक ही प्रणाली या उपप्रणाली के कई समान उदाहरण प्रदान करना, | * [[ प्रतिकृति (कंप्यूटर विज्ञान) | प्रतिकृति]] : एक ही प्रणाली या उपप्रणाली के कई समान उदाहरण प्रदान करना, [[ समानांतर कंप्यूटिंग |समानांतर]] में उन सभी के कार्यों या अनुरोधों को निर्देशित करना,और [[ कोरम के आधार पर सही परिणाम चुनना |कोरम के आधार पर सही परिणाम चुनना।]] | ||
* [[ अतिरेक (इंजीनियरिंग) | अतिरेक ]]: एक ही प्रणाली के कई समान उदाहरण प्रदान करना और विफलता के मामले में शेष उदाहरणों में से एक पर स्विच | * [[ अतिरेक (इंजीनियरिंग) | अतिरेक]] : एक ही प्रणाली के कई समान उदाहरण प्रदान करना और विफलता के मामले में शेष उदाहरणों में से एक पर स्विच करना। | ||
* विविधता: एक ही विनिर्देश के कई 'अलग' कार्यान्वयन प्रदान करना, और एक विशिष्ट कार्यान्वयन में त्रुटियों से निपटने के लिए प्रतिकृति प्रणालियों की तरह उनका उपयोग करना। | * विविधता: एक ही विनिर्देश के कई 'अलग' कार्यान्वयन प्रदान करना,और एक विशिष्ट कार्यान्वयन में त्रुटियों से निपटने के लिए प्रतिकृति प्रणालियों की तरह उनका उपयोग करना। | ||
[[ RAID | RAID]] | [[ RAID | RAID]] [[ RAID |के सभी कार्यान्वयन स्वतंत्र डिस्क]] के निरर्थक सरणी, RAID 0 को छोड़कर,एक दोष-सहिष्णु [[ डेटा स्टोरेज डिवाइस |स्टोरेज डिवाइस]] के उदाहरण हैं जो [[ डेटा रिडंडेंसी |डेटा रिडंडेंसी]] का उपयोग करता है। | ||
एक | एक [[ लॉकस्टेप (कंप्यूटिंग) |लॉकस्टेप]] दोष-सहिष्णु मशीन समानांतर में चल रहे प्रतिकृति तत्वों का उपयोग करती है। किसी भी समय, प्रत्येक तत्व की सभी प्रतिकृति एक ही अवस्था में होनी चाहिए। प्रत्येक[[ प्रतिकृति (कंप्यूटिंग) | प्रतिकृति]] को समान इनपुट प्रदान किए जाते हैं, और समान आउटपुट की अपेक्षा की जाती है। प्रतिकृति के आउटपुट की तुलना वोटिंग सर्किट का उपयोग करके की जाती है। प्रत्येक तत्व की दो प्रतिकृति वाली मशीन को [[ दोहरी मॉड्यूलर अतिरेक |दोहरी मॉड्यूलर निरर्थक]] (DMR) कहा जाता है। तब वोटिंग सर्किट केवल एक बेमेल का पता लगा सकता है और पुनः प्राप्ति अन्य तरीकों पर निर्भर करती है। प्रत्येक तत्व की तीन प्रतिकृति वाली मशीन को [[ ट्रिपल मॉड्यूलर रिडंडेंसी | ट्रिपल मॉड्यूलर रिडंडेंट]] (TMR) कहा जाता है। विद्युत क्षृंखला यह निर्धारित कर सकती है कि दो-से-एक क्षृंखला देखे जाने पर कौन सी प्रतिकृति त्रुटि में है। इस मामले में, विद्युत क्षृंखला सही परिणाम आउटपुट कर सकती है,और गलत संस्करण को हटा सकती है ।इसके बाद,गलत प्रतिकृति की आंतरिक स्थिति को अन्य दो से अलग माना जाता है,और विद्युत क्षृंखला डीएमआर(DMR) मोड में बदल सकती है। इस मॉडल को किसी भी बड़ी संख्या में प्रतिकृति पर लागू किया जा सकता है। | ||
[[ लॉकस्टेप (कंप्यूटिंग) | लॉकस्टेप]] दोष-सहिष्णु | [[ लॉकस्टेप (कंप्यूटिंग) | लॉकस्टेप]] दोष-सहिष्णु मशीनों को सबसे आसानी से पूरी तरह से [[ सिंक्रोनाइजेशन (कंप्यूटर साइंस) |सिंक्रोनस]] (समकालिक) बनाया जाता है, प्रत्येक प्रतिकृति के प्रत्येक गेट के साथ घड़ी के एक ही किनारे पर एक ही परिवर्तन होता है,और प्रतिकृति के लिए घड़ियां बिल्कुल चरण में होती हैं। हालांकि, इस आवश्यकता के बिना लॉकस्टेप सिस्टम बनाना संभव है। | ||
डीएमआर का एक प्रकार ''' जोड़ी और अतिरिक्त ''' है। दो प्रतिकृति तत्व लॉकस्टेप में एक जोड़ी के रूप में काम करते हैं, एक | प्रतिकृतियों को समकालिकता में लाने के लिए उनकी आंतरिक संग्रहीत अवस्थाओं को समान बनाने की आवश्यकता होती है। उन्हें एक निश्चित प्रारंभिक स्थिति से शुरू किया जा सकता है, जैसे कि रीसेट स्थिति। वैकल्पिक रूप से,एक प्रतिकृति की आंतरिक स्थिति को दूसरी प्रतिकृति में कॉपी किया जा सकता है। | ||
डीएमआर(DMR) का एक प्रकार '''जोड़ी और अतिरिक्त''' है। दो प्रतिकृति तत्व लॉकस्टेप में एक जोड़ी के रूप में काम करते हैं, एक विद्युत क्षृंखला के साथ जो उनके संचालन के बीच किसी भी बेमेल का पता लगाती है और एक संकेत आउटपुट करती है जो दर्शाता है कि कोई त्रुटि है। एक और जोड़ी ठीक उसी तरह काम करती है। एक अंतिम क्षृंखला जोड़ी के आउटपुट का चयन करती है जो यह घोषणा नहीं करती है कि यह त्रुटि में है। जोड़ी और अतिरिक्त टीएमआर(TMR) के तीन के बजाय चार प्रतिकृतियों की आवश्यकता होती है, लेकिन व्यावसायिक रूप से इसका उपयोग किया गया है। | |||
===विफलता-अनभिज्ञ कंप्यूटिंग === | ===विफलता-अनभिज्ञ कंप्यूटिंग === | ||
''विफलता-अनभिज्ञ कंप्यूटिंग'' एक ऐसी तकनीक है जो | ''विफलता-अनभिज्ञ कंप्यूटिंग'' एक ऐसी तकनीक है जो [[ कंप्यूटर प्रोग्राम |कंप्यूटर प्रोग्राम]] को [[ डेटा हानि |त्रुटियों]] के बावजूद निष्पादन जारी रखने में सक्षम बनाती है।<ref>{{Cite journal|last1=Herzberg|first1=Amir|last2=Shulman|first2=Haya|date=2012|title=Oblivious and Fair Server-Aided Two-Party Computation|url=http://dx.doi.org/10.1109/ares.2012.28|journal=2012 Seventh International Conference on Availability, Reliability and Security|pages=75–84|publisher=IEEE|doi=10.1109/ares.2012.28|isbn=978-1-4673-2244-7|s2cid=6579295}}</ref> तकनीक को विभिन्न संदर्भों में लागू किया जा सकता है। सबसे पहले,यह प्रोग्राम में निर्मित परिमाण लौटाकर अमान्य मेमोरी रीड को संभाल सकता है,<ref>{{Citation|last1=Rigger|first1=Manuel|title=Context-Aware Failure-Oblivious Computing as a Means of Preventing Buffer Overflows|date=2018|url=http://dx.doi.org/10.1007/978-3-030-02744-5_28|work=Network and System Security|pages=376–390|place=Cham|publisher=Springer International Publishing|isbn=978-3-030-02743-8|access-date=2020-10-07|last2=Pekarek|first2=Daniel|last3=Mössenböck|first3=Hanspeter|doi=10.1007/978-3-030-02744-5_28|arxiv=1806.09026}}</ref> जो बदले में, निर्मित परिमाण का उपयोग करता है और उस पूर्व स्मृति परिमाण को अनदेखा करता है जिसे उसने एक्सेस करने का प्रयास किया था, यह [[ रैम समता |विशिष्ट मेमोरी चेकर्स]] के विपरीत है, जो त्रुटि के कार्यक्रम को सूचित करता है या निरस्त करता है। दूसरा, इसे उन अपवादों पर लागू किया जा सकता है जहां अप्रत्याशित अपवादों को पकड़ने के लिए कुछ कैच ब्लॉक लिखे या संश्लेषित किए जाते हैं।<ref>{{Cite journal|last1=Zhang|first1=Long|last2=Monperrus|first2=Martin|date=2019|title=TripleAgent: Monitoring, Perturbation and Failure-Obliviousness for Automated Resilience Improvement in Java Applications|url=https://arxiv.org/pdf/1812.10706|journal=2019 IEEE 30th International Symposium on Software Reliability Engineering (ISSRE)|location=Berlin, Germany|publisher=IEEE|pages=116–127|doi=10.1109/ISSRE.2019.00021|arxiv=1812.10706|isbn=978-1-7281-4982-0|s2cid=57189195}}</ref> इसके अलावा,ऐसा होता है कि कैस्केडिंग विफलताओं को रोकने के लिए निष्पादन को लगातार कई बार संशोधित किया जाता है।<ref name="DurieuxHamadi2018">{{cite book|last1=Durieux|first1=Thomas|last2=Hamadi|first2=Youssef|last3=Yu|first3=Zhongxing|last4=Baudry|first4=Benoit|last5=Monperrus|first5=Martin|title=2018 IEEE 11th International Conference on Software Testing, Verification and Validation (ICST)|chapter=Exhaustive Exploration of the Failure-Oblivious Computing Search Space|year=2018|pages=139–149|doi=10.1109/ICST.2018.00023|arxiv=1710.09722|isbn=978-1-5386-5012-7|s2cid=4304123}}</ref> | ||
दृष्टिकोण में प्रदर्शन लागत है: क्योंकि तकनीक पते की वैधता के लिए गतिशील जांच डालने के लिए कोड को फिर से लिखती है, निष्पादन समय 80% से 500% तक बढ़ | दृष्टिकोण में प्रदर्शन लागत है: क्योंकि तकनीक पते की वैधता के लिए गतिशील जांच डालने के लिए कोड को फिर से लिखती है, निष्पादन समय 80% से 500% तक बढ़ जाएगा।<ref>{{Citation | ||
| first = Angelos D. | | first = Angelos D. | ||
| last = Keromytis | | last = Keromytis | ||
Revision as of 12:48, 8 July 2022
This article needs additional citations for verification. (January 2008) (Learn how and when to remove this template message) |
फॉल्ट टॉलरेंस वह गुण है जो किसी प्रणाली( सिस्टम) को इसके कुछ घटकों में एक या अधिक दोषों की विफलता की स्थिति में ठीक से संचालन जारी रखने में सक्षम बनाता है। यदि इसकी परिचालन गुणवत्ता बिल्कुल भी कम हो जाती है, तो कमी विफलता की गंभीरता के समानुपाती होती है,एक सरलता से डिज़ाइन की गई प्रणाली की तुलना में, जिसमें एक छोटी सी विफलता भी विघटन का कारण बन सकती है। उच्च उपलब्धता, महत्वपूर्ण लक्ष्य, या यहां तक कि जीवन महत्वपूर्ण प्रणाली में दोष सहिष्णुता (फॉल्ट टॉलरेंस) की विशेष रूप से मांग की जाती है। सिस्टम के कुछ हिस्सों के टूटने पर कार्यक्षमता को बनाए रखने की क्षमता को ग्रेसफुल डिग्रेडेशन कहा जाता है।[1]
एक दोष-सहनशील डिज़ाइन सिस्टम को अपने इच्छित संचालन को जारी रखने में सक्षम बनाता है, संभवतः कम स्तर पर, पूरी तरह से विफल होने के बजाय, सिस्टम का कुछ हिस्सा विफल हो जाता है। [2] इस शब्द का प्रयोग आमतौर पर कंप्यूटर सिस्टम का वर्णन करने के लिए किया जाता है, जिसे कम या ज्यादा पूरी तरह से चालू रखने के लिए डिज़ाइन किया गया है, शायद, कुछ आंशिक विफलता की स्थिति में प्रवाह क्षमतामें कमी या प्रतिक्रिया समय में वृद्धि होती है। अर्थात्, हार्डवेयर या सॉफ़्टवेयर में समस्याओं के कारण संपूर्ण रूप से सिस्टम बंद नहीं होता है। एक अन्य क्षेत्र में एक उदाहरण एक मोटर वाहन है जिसे डिज़ाइन किया गया है, इसलिए यदि टायरों में से एक पंचर हो गया है, या एक संरचना जो थकान, जंग, निर्माण दोष, या प्रभाव जैसे कारणों से होने वाली क्षति की उपस्थिति में अपनी अखंडता बनाए रखने में सक्षम हो, तो इसे चलाना जारी रहेगा।
एक व्यक्तिगत प्रणाली के दायरे में, असाधारण परिस्थितियों का अनुमान लगाकर और उनसे निपटने के लिए प्रणाली का निर्माण करके दोष सहिष्णुता प्राप्त की जा सकती है, और सामान्य तौर पर,आत्म-स्थिरीकरण का लक्ष्य है कि सिस्टम एक त्रुटि मुक्त स्थिति की ओर परिवर्तित हो जाए। हालांकि,यदि सिस्टम विफलता के परिणाम विनाशकारी हैं, या इसे पर्याप्त रूप से विश्वसनीय बनाने की लागत बहुत अधिक है, तो किसी प्रकार के दोहराव का उपयोग करना बेहतर समाधान हो सकता है। किसी भी मामले में, यदि सिस्टम की विफलता का परिणाम इतना भयावह है, तो सिस्टम को सुरक्षित मोड में वापस आने के लिए रिवर्सन का उपयोग करने में सक्षम होना चाहिए। यह रोल-बैक रिकवरी के समान है, लेकिन यदि मानव लूप में मौजूद हैं तो यह एक मानवीय क्रिया हो सकती है।
इतिहास
पहला ज्ञात दोष-सहिष्णु(फॉल्ट टॉलरेंस) कंप्यूटर SAPO था,जिसे 1951 में चेकोस्लोवाकिया में एंटोनिन स्वोबोडा द्वारा बनाया गया था।[3]: 155 इसका मूल डिजाइन चुंबकीय ड्रम था जो रिले के माध्यम से जुड़ा हुआ था, जिसमें स्मृति त्रुटि का पता लगाने की मतदान पद्धति (ट्रिपल मॉड्यूलर रिडंडेंसी) थी। इस लाइन के साथ कई अन्य मशीनें विकसित की गईं, जो ज्यादातर सैन्य उपयोग के लिए थीं। आखिरकार, वे तीन अलग-अलग श्रेणियों में विभाजित हो गए: मशीनें जो बिना किसी रखरखाव के लंबे समय तक चलेंगी, जैसे कि नासा अंतरिक्ष जांच और उपग्रह पर उपयोग की जाने वाली मशीनें; ऐसे कंप्यूटर जो बहुत भरोसेमंद थे लेकिन उन्हें निरंतर निगरानी की आवश्यकता थी, जैसे कि परमाणु ऊर्जा संयंत्र या सुपरकोलाइडर प्रयोगों की निगरानी और नियंत्रण के लिए उपयोग किए जाने वाले कंप्यूटर; और अंत में, उच्च मात्रा में रनटाइम वाले कंप्यूटर जो भारी उपयोग में होंगे, जैसे कि बीमा कंपनियों द्वारा उनकी सम्भाविकी निगरानी के लिए उपयोग किए जाने वाले कई सुपर कंप्यूटर।
तथाकथित LLNM (लॉन्ग लाइफ,नो मेंटेनेंस) कंप्यूटिंग में अधिकांश विकास 1960 के दशक में अपोलो योजना और अन्य शोध पहलुओं की तैयारी के दौरान किया गया था।[4] पहली मशीन अंतरिक्ष प्रेक्षणगृह में गई और उनका दूसरा प्रयास JSTAR कंप्यूटर,समुद्रयात्रा में इस्तेमाल किया गया। मेमोरी रिकवरी विधियों का उपयोग करने के लिए इस कंप्यूटर में मेमोरी सरणियों का बैकअप था और इस प्रकार इसे जेपीएल सेल्फ-टेस्टिंग-एंड-रिपेयरिंग कंप्यूटर कहा जाता था। यह अपनी स्वयं की त्रुटियों का पता लगा सकता है और उन्हें ठीक कर सकता है या आवश्यकतानुसार अनावश्यक मॉड्यूल ला सकता है। 2022 की शुरुआत तक कंप्यूटर अभी भी काम कर रहा है।[5]
हाइपर-डिपेंडेबल कंप्यूटरों का संचालन ज्यादातर विमान निर्माताओं,परमाणु ऊर्जा कंपनियों और रेल उद्योग द्वारा किया गया था।[3]: 210 इन्हें भारी मात्रा में अपटाइम वाले कंप्यूटरों की आवश्यकता थी जो इस तथ्य पर भरोसा करते हुए कि कंप्यूटर आउटपुट को लगातार मनुष्यों द्वारा दोषों का पता लगाने के लिए मॉनिटर किया जाएगा। फिर से,आईबीएम (IBM) ने सैटर्न वी रॉकेट के मार्गदर्शन के लिए इस तरह का पहला कंप्यूटर विकसित किया, लेकिन बाद में बीएनएसएफ( BNSF), यूनिसिस और जनरल इलेक्ट्रिक ने अपना खुद का कंप्यूटर बनाया।[3]: 223
1970 के दशक में इस क्षेत्र में बहुत काम हुआ है,[6][7][8] उदाहरण के लिए, एफ14 सीएडीसी मेंअंतर्निर्मित आत्म-परीक्षण किया गया था।[9]
सामान्य तौर पर, दोष-सहिष्णु डिजाइनों के शुरुआती प्रयास मुख्य रूप से आंतरिक निदान पर केंद्रित थे, जहां एक गलती से संकेत मिलता था कि कुछ विफल हो रहा था और एक कार्यकर्ता इसे बदल सकता है। उदाहरण के लिए, SAPO के पास एक तरीका था जिसके द्वारा दोषपूर्ण मेमोरी ड्रम विफलता से पहले एक शोर का उत्सर्जन करेगा।[10] बाद के प्रयासों से पता चला कि पूरी तरह से प्रभावी होने के लिए, सिस्टम को स्वयं-मरम्मत और निदान करना होगा - एक गलती को अलग करना और फिर मरम्मत की आवश्यकता को चेतावनी देते हुए एक अनावश्यक बैकअप को लागू करना। इसे एन-मॉडल अतिरेक के रूप में जाना जाता है, जहां दोष स्वत: सुरक्षित और ऑपरेटर को चेतावनी का कारण बनते हैं, और यह आज भी उपयोग में स्तर एक दोष-सहिष्णु डिजाइन का सबसे सामान्य रूप है।
वोटिंग एक और प्रारंभिक विधि थी, जैसा कि ऊपर चर्चा की गई है, जिसमें कई निरर्थक बैकअप लगातार काम कर रहे हैं और एक दूसरे के परिणामों की जांच कर रहे हैं, इस परिणाम के साथ कि यदि, उदाहरण के लिए, चार घटकों ने 5 के उत्तर की सूचना दी और एक घटक ने 6 के उत्तर की सूचना दी, तो अन्य चार "वोट" करेंगे कि पाँचवाँ घटक दोषपूर्ण था और इसे सेवा से बाहर कर दिया गया था। इसे N बहुमत वाले मतदान में से M कहा जाता है।
ऐतिहासिक रूप से, गति हमेशा एन-मॉडल(N-model) से आगे बढ़ने के लिए और एन(N) से एम(M) से अधिक तक आगे बढ़ने के लिए रही है क्योंकि सिस्टम की जटिलता और संक्रमणीय स्थिति को गलती-नकारात्मक से गलती-सकारात्मक तक सुनिश्चित करने की कठिनाई ने संचालन को बाधित नहीं किया।
टेंडेम और स्ट्रैटस ऑनलाइन लेनदेन प्रोसेसिंग के लिए दोष-सहनशील कंप्यूटर सिस्टम के डिजाइन में विशेषज्ञता वाली पहली कंपनियों में से थे।
उदाहरण
हार्डवेयर दोष सहनशीलता के लिए कभी-कभी यह आवश्यक होता है कि टूटे हुए हिस्सों को बाहर निकाला जाए और सिस्टम के अभी भी चालू होने पर नए भागों के साथ बदल दिया जाए (कंप्यूटिंग में जिसे हॉट स्वैपिंग के रूप में जाना जाता है)। एकल बैकअप के साथ लागू की गई ऐसी प्रणाली को एकल बिंदु सहिष्णु ( सिंगल पॉइंट टॉलरेंट) के रूप में जाना जाता है और यह अधिकांश दोष-सहिष्णु प्रणालियों का प्रतिनिधित्व करता है। ऐसी प्रणालियों में विफलता के बीच का औसत समय इतना लंबा होना चाहिए कि इससे पहले कि बैकअप भी विफल हो जाए ऑपरेटर टूटे हुए उपकरणों को ठीक कर सकेे। यदि विफलताओं के बीच का समय यथासंभव लंबा हो तो यह सहायक होता है, लेकिन दोष-सहिष्णु प्रणाली में इसकी विशेष रूप से आवश्यकता नहीं होती है।
कंप्यूटर अनुप्रयोगों में दोष सहिष्णुता उल्लेखनीय रूप से सफल है। टेंडेम कंप्यूटर्स ने अपना पूरा व्यवसाय ऐसी मशीनों पर बनाया, जिन्होंने नॉनस्टॉप सिस्टम बनाने के लिए सिंगल-पॉइंट टॉलरेंस का इस्तेमाल किया, जिसमें अपटाइम मापा गया।
विफल-सुरक्षित आर्किटेक्चर में कंप्यूटर सॉफ़्टवेयर भी शामिल हो सकता है, उदाहरण के लिए प्रक्रिया प्रतिकृति द्वारा।
डेटा स्वरूपों को भी नष्ट करने के लिए डिज़ाइन किया जा सकता है। उदाहरण के लिए एचटीएमएल (HTML), को ऐसे डिज़ाइन किया गया है,जिससे वेब ब्राउज़र दस्तावेज़ को अनुपयोगी किए बिना नए और असमर्थित एचटीएमएल (HTML) इकाइयों को अनदेखा करने की इजाजत देता है। इसके अतिरिक्त, कुछ साइटें, जिनमें ट्विटर (Twitter) (दिसंबर 2020 तक) जैसे लोकप्रिय प्लेटफॉर्म शामिल हैं, जो जावास्क्रिप्ट(JavaScript) पर निर्भर नहीं है और इसमें न्यूनतम लेआउट है, जिसमे व्यापक उपलब्धता और पहुँच है,जैसे सीमित वेब ब्राउज़िंग क्षमताओं के साथ कार्य ढाँचा।[11][12]
शब्दावली
एक या अधिक घटक विफल होने पर भी दोष-सहिष्णु प्रणाली प्रदर्शन के समान स्तर पर जारी रह सकती है। उदाहरण के लिए,एक बैकअप विद्युत जनरेटर भवन दीवार के आउटलेट को समान वोल्टेज प्रदान करेगा,भले ही ग्रिड पावर विफल हो जाए।
एक प्रणाली जो सुरक्षित,या असफल-सुरक्षित, या विफल होने के लिए डिज़ाइन की गई है, चाहे वह कम स्तर पर कार्य करे या पूरी तरह से विफल हो, ऐसा इस तरह से करता है जो लोगों, संपत्ति या डेटा ( data) को चोट, क्षति ,घुसपैठ या प्रकटीकरण से बचाता है।कंप्यूटर में, एक त्रुटि का अनुभव करने के बाद डेटा अवमिश्रण को रोकने के लिए ग्रेसफुल एग्जिट (एक अनियंत्रित क्रैश के विपरीत) को निष्पादित करके एक प्रोग्राम विफल-सुरक्षित हो सकता है। इस तरह का अंतर "अच्छी तरह से विफल" और "बुरी तरह से विफल" के बीच किया जाता है।
विफल-घातक विपरीत रणनीति है, जिसका उपयोग हथियार प्रणालियों में किया जा सकता है जो लक्ष्य को मारने या घायल करने के लिए डिज़ाइन किए गए हैं, भले ही सिस्टम का हिस्सा क्षतिग्रस्त या नष्ट हो गया हो।
एक प्रणाली जिसे ग्रेसफुल डिग्रेडेशन का अनुभव करने के लिए डिज़ाइन किया गया है, या सॉफ्ट विफल (कंप्यूटिंग में उपयोग किया जाता है, असफल सुरक्षित के समान[13]) कुछ घटक विफलताओं के बाद प्रदर्शन के कम स्तर पर काम करता है। उदाहरण के लिए, एक इमारत कम स्तर पर प्रकाश और कम गति पर लिफ्ट संचालित कर सकती है यदि ग्रिड पावर विफल हो जाती है, तो लोगों को पूरी तरह से अंधेरे में फंसाने के बजाय पूरी शक्ति से काम करना जारी रखता है। ग्रेसफुल डिग्रेडेशन के एक उदाहरण की गणना में यह है कि यदि ऑनलाइन वीडियो स्ट्रीम करने के लिए अपर्याप्त नेटवर्क बैंडविड्थ उपलब्ध है, तो उच्च-रिज़ॉल्यूशन संस्करण के स्थान पर कम-रिज़ॉल्यूशन संस्करण को स्ट्रीम किया जा सकता है। प्रोग्रेसिव एन्हांसमेंट कंप्यूटिंग में एक उदाहरण है, जहां वेब पेज पुराने, छोटे स्क्रीन या सीमित क्षमता वाले वेब ब्राउज़र के लिए एक बुनियादी कार्यात्मक प्रारूप में उपलब्ध हैं, लेकिन अतिरिक्त तकनीकों को संभालने में सक्षम ब्राउज़रों के लिए एक उन्नत संस्करण में उपलब्ध हैं या बड़े डिस्प्ले वाले ब्राउज़र में उपलब्ध हैं।
दोष-सहनशील कंप्यूटर सिस्टम में, महत्वपूर्ण माने जाने वाले प्रोग्राम पूरी तरह से क्रैश होने के बजाय त्रुटि,अपवाद या अमान्य इनपुट के बावजूद संचालन जारी रखने के लिए डिज़ाइन किए गए हैं। सॉफ्टवेयर भंगुरता मजबूती के विपरीत है। लचीला नेटवर्क कुछ लिंक या नोड्स की विफलता के बावजूद डेटा संचारित करना जारी रखता है; इसी तरह लचीला भवन और बुनियादी ढाँचा से भूकंप, बाढ़, या टकराव जैसी स्थितियों में पूर्ण विफलता को रोकने की उम्मीद की जाती है।
उच्च विफलता पारदर्शिता के साथ एक प्रणाली उपयोगकर्ताओं को सचेत करेगी कि एक घटक विफलता हुई है, भले ही वह पूर्ण प्रदर्शन के साथ काम करना जारी रखे, ताकि विफलता की मरम्मत की जा सके या आसन्न पूर्ण विफलता प्रत्याशित हो।[14] इसी तरह, एक फेल-फास्ट घटक को विफलता के पहले बिंदु पर रिपोर्ट करने के लिए डिज़ाइन किया गया है, बजाय इसके कि डाउनस्ट्रीम घटकों को विफल होने और रिपोर्ट उत्पन्न करने की अनुमति दी जाए। यह अंतर्निहित समस्या का आसान निदान करने की अनुमति देता है, और विघटित स्थिति में अनुचित संचालन को रोक सकता है।
सिंगल फॉल्ट कंडीशन
सिंगल फॉल्ट एक ऐसी स्थिति है जहां सुरक्षा के लिए खतरे के खिलाफ एक साधन दोषपूर्ण है। यदि सिंगल फॉल्ट की स्थिति अपरिहार्य रूप से एक और एकल गलती की स्थिति में होती है, तो दो विफलताओं को एक एकल दोष स्थिति के रूप में माना जाता है।[15] एक स्रोत निम्नलिखित उदाहरण प्रस्तुत करता है:
A single-fault condition is a condition when a single means for protection against hazard in equipment is defective or a single external abnormal condition is present, e.g. short circuit between the live parts and the applied part.[16]
मानदंड
प्रत्येक घटक के लिए दोष-सहनशील डिज़ाइन प्रदान करना सामान्य रूप से एक विकल्प नहीं है। एसोसिएटेड रिडंडेंसी कई दंड लाता है: वजन,आकार, बिजली की खपत, लागत में वृद्धि, साथ ही डिजाइन, सत्यापन और परीक्षण के लिए समय। इसलिए, यह निर्धारित करने के लिए कई विकल्पों की जांच की जानी चाहिए कि कौन से घटक दोष सहिष्णु होने चाहिए।[17]
- घटक कितना क्रिटिकल है? कार में रेडियो क्रिटिकल नहीं होता है, इसलिए इस कंपोनेंट में फॉल्ट टॉलरेंस की जरूरत कम होती है।
- घटक के विफल होने की कितनी संभावना है? कार में ड्राइव शाफ्ट जैसे कुछ घटकों के विफल होने की संभावना नहीं है, इसलिए किसी दोष स