फॉल्ट टॉलरेंस
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) से अधिक तक आगे बढ़ने के लिए रही है क्योंकि सिस्टम की जटिलता और संक्रमणीय स्थिति को गलती-नकारात्मक से गलती-सकारात्मक तक सुनिश्चित करने की कठिनाई ने संचालन को बाधित नहीं किया।
टेंडेम और स्ट्रैटस ऑनलाइन लेनदेन प्रोसेसिंग के लिए दोष-सहनशील कंप्यूटर सिस्टम के डिजाइन में विशेषज्ञता वाली पहली कंपनियों में से थे।
उदाहरण
हार्डवेयर दोष सहनशीलता के लिए कभी-कभी यह आवश्यक होता है कि टूटे हुए हिस्सों को बाहर निकाला जाए और सिस्टम के अभी भी चालू होने पर नए भागों के साथ बदल दिया जाए (कंप्यूटिंग में जिसे हॉट स्वैपिंग के रूप में जाना जाता है)। एकल बैकअप के साथ लागू की गई ऐसी प्रणाली को एकल बिंदु सहिष्णु ( सिंगल पॉइंट टॉलरेंट) के रूप में जाना जाता है और यह अधिकांश दोष-सहिष्णु प्रणालियों का प्रतिनिधित्व करता है। ऐसी प्रणालियों में विफलता के बीच का औसत समय इतना लंबा होना चाहिए कि इससे पहले कि बैकअप भी विफल हो जाए ऑपरेटर टूटे हुए उपकरणों को ठीक कर सकेे। यदि विफलताओं के बीच का समय यथासंभव लंबा हो तो यह सहायक होता है, लेकिन दोष-सहिष्णु प्रणाली में इसकी विशेष रूप से आवश्यकता नहीं होती है।
कंप्यूटर अनुप्रयोगों में दोष सहिष्णुता उल्लेखनीय रूप से सफल है। टेंडेम कंप्यूटर्स ने अपना पूरा व्यवसाय ऐसी मशीनों पर बनाया, जिन्होंने नॉनस्टॉप सिस्टम बनाने के लिए सिंगल-पॉइंट टॉलरेंस का इस्तेमाल किया, जिसमें अपटाइम मापा गया।
विफल-सुरक्षित आर्किटेक्चर में कंप्यूटर सॉफ़्टवेयर भी शामिल हो सकता है, उदाहरण के लिए प्रक्रिया प्रतिकृति द्वारा।
डेटा स्वरूपों को भी इनायत से नीचा दिखाने के लिए डिज़ाइन किया जा सकता है। उदाहरण के लिए एचटीएमएल , फॉरवर्ड संगत के लिए डिज़ाइन किया गया है, वेब ब्राउज़र एस को दस्तावेज़ के अनुपयोगी होने के बिना नए और असमर्थित एचटीएमएल इकाइयों को अनदेखा करने की इजाजत देता है। इसके अतिरिक्त, कुछ साइटें, जिनमें ट्विटर (दिसंबर 2020 तक) जैसे लोकप्रिय प्लेटफॉर्म शामिल हैं, एक वैकल्पिक हल्का फ्रंट एंड प्रदान करते हैं जो जावास्क्रिप्ट पर निर्भर नहीं है और इसमें न्यूनतम लेआउट है, जिससे व्यापक एक्सेसिबिलिटी और आउटरीच , जैसे गेम कंसोल एस पर सीमित वेब ब्राउज़िंग क्षमताओं के साथ[11][12]
शब्दावली
एक या अधिक घटक विफल होने पर भी एक अत्यधिक दोष-सहिष्णु प्रणाली प्रदर्शन के समान स्तर पर जारी रह सकती है। उदाहरण के लिए, एक बैकअप विद्युत जनरेटर वाला भवन दीवार के आउटलेट को समान वोल्टेज प्रदान करेगा, भले ही ग्रिड पावर विफल हो जाए।
एक सिस्टम जिसे के लिए डिज़ाइन किया गया है, विफल सुरक्षित , या असफल-सुरक्षित, या इनायत से विफल , चाहे वह कम स्तर पर कार्य करता हो या पूरी तरह से विफल हो, ऐसा इस तरह से करता है जो लोगों, संपत्ति या डेटा को चोट, क्षति से बचाता है। , घुसपैठ, या प्रकटीकरण। कंप्यूटर में, एक त्रुटि का अनुभव करने के बाद डेटा भ्रष्टाचार को रोकने के लिए ग्रेसफुल एग्जिट (एक अनियंत्रित क्रैश के विपरीत) को निष्पादित करके एक प्रोग्राम विफल-सुरक्षित हो सकता है। इसी तरह का अंतर कुएं के खराब होने और के खराब होने के बीच में किया गया है।
विफल-घातक विपरीत रणनीति है, जिसका उपयोग हथियार प्रणालियों में किया जा सकता है जो लक्ष्य को मारने या घायल करने के लिए डिज़ाइन किए गए हैं, भले ही सिस्टम का हिस्सा क्षतिग्रस्त या नष्ट हो गया हो।
एक प्रणाली जिसे सुंदर गिरावट का अनुभव करने के लिए डिज़ाइन किया गया है, या सॉफ्ट विफल (कंप्यूटिंग में उपयोग किया जाता है, असफल सुरक्षित के समान[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]
- कंपोनेंट कितना क्रिटिकल है? कार में रेडियो क्रिटिकल नहीं होता है, इसलिए इस कंपोनेंट में फॉल्ट टॉलरेंस की जरूरत कम होती है।
- घटक के विफल होने की कितनी संभावना है? कार में ड्राइव शाफ्ट जैसे कुछ घटकों के विफल होने की संभावना नहीं है, इसलिए किसी दोष सहिष्णुता की आवश्यकता नहीं है।
- कंपोनेंट फॉल्ट टॉलरेंट बनाना कितना महंगा है? एक निरर्थक कार इंजन की आवश्यकता, उदाहरण के लिए, आर्थिक रूप से और वजन और स्थान दोनों के मामले में बहुत महंगा होगा, जिस पर विचार किया जा सकता है।
एक घटक का एक उदाहरण जो सभी परीक्षण पास करता है वह एक कार की अधिभोगी संयम प्रणाली है। जबकि हम आम तौर पर 'प्राथमिक' अधिभोग संयम प्रणाली के बारे में नहीं सोचते हैं, यह गुरुत्वाकर्षण है। यदि वाहन लुढ़कता है या गंभीर जी-बलों से गुजरता है, तो अधिभोगी संयम की यह प्राथमिक विधि विफल हो सकती है। इस तरह की दुर्घटना के दौरान रहने वालों को रोकना सुरक्षा के लिए अत्यंत महत्वपूर्ण है, इसलिए हम पहली परीक्षा पास करते हैं। सीट बेल्ट सेकेंड से पहले ऑक्यूपेंट इजेक्शन के कारण दुर्घटनाएं काफी आम थीं, इसलिए हम दूसरा टेस्ट पास करते हैं। सीट बेल्ट जैसी अनावश्यक संयम पद्धति की लागत आर्थिक रूप से और वजन और स्थान दोनों के मामले में काफी कम है, इसलिए हम तीसरी परीक्षा पास करते हैं। इसलिए, सभी वाहनों में सीट बेल्ट जोड़ना एक उत्कृष्ट विचार है। अन्य पूरक संयम प्रणालियां, जैसे एयरबैग एस, अधिक महंगी हैं और इसलिए उस परीक्षा को एक छोटे अंतर से पास करें।
इस सिद्धांत का एक और उत्कृष्ट और दीर्घकालिक उदाहरण व्यवहार में लाया जा रहा है ब्रेकिंग सिस्टम: जबकि वास्तविक ब्रेक तंत्र महत्वपूर्ण हैं, वे विशेष रूप से अचानक (बल्कि प्रगतिशील) विफलता के लिए प्रवण नहीं हैं, और किसी भी मामले में अनुमति देने के लिए आवश्यक रूप से दोहराया गया है सभी पहियों पर ब्रेक बल का सम और संतुलित अनुप्रयोग। मुख्य घटकों को और दोगुना करना भी निषेधात्मक रूप से महंगा होगा और वे काफी वजन जोड़ देंगे। हालांकि, ड्राइवर नियंत्रण के तहत ब्रेक को सक्रिय करने के लिए समान रूप से महत्वपूर्ण प्रणालियां स्वाभाविक रूप से कम मजबूत होती हैं, आम तौर पर एक केबल (जंग, खिंचाव, जाम, स्नैप) या हाइड्रोलिक तरल पदार्थ (रिसाव कर सकते हैं, उबाल सकते हैं और बुलबुले विकसित कर सकते हैं, पानी को अवशोषित कर सकते हैं और इस प्रकार प्रभावशीलता खो सकते हैं) ) इस प्रकार अधिकांश आधुनिक कारों में फुटब्रेक हाइड्रोलिक ब्रेक सर्किट को तिरछे रूप से विभाजित किया जाता है ताकि विफलता के दो छोटे बिंदु दिए जा सकें, या तो केवल ब्रेक पावर को 50% तक कम करने का नुकसान और सीधे फ्रंट-बैक या लेफ्ट-राइट जितना खतरनाक ब्रेकफोर्स असंतुलन पैदा नहीं करता है। विभाजित, और हाइड्रोलिक सर्किट पूरी तरह से विफल हो जाना चाहिए (एक अपेक्षाकृत बहुत ही दुर्लभ घटना), केबल-एक्ट्यूएटेड पार्किंग ब्रेक के रूप में एक फेलसेफ है जो अन्यथा अपेक्षाकृत कमजोर रियर ब्रेक को संचालित करता है, लेकिन फिर भी वाहन को सुरक्षित पड़ाव पर ला सकता है ट्रांसमिशन/इंजन ब्रेकिंग के संयोजन के साथ, जब