फॉल्ट टॉलरेंस: Difference between revisions

From Vigyanwiki
(text edit)
No edit summary
 
(17 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Short description|Resilience of systems to component failures or errors}}
{{Short description|Resilience of systems to component failures or errors}}
{{Use American English|date = February 2019}}
{{Use American English}}


'''फॉल्ट टॉलरेंस''' के द्वारा किसी प्रणाली (सिस्टम) को इसके कुछ घटकों में एक या अधिक दोषों की विफलता की स्थिति में भी ठीक से संचालन जारी रखने में सक्षम बनाता है। यदि इसकी परिचालन गुणवत्ता बिल्कुल भी कम हो जाती है, तो कमी विफलता की गंभीरता के समानुपाती होती है,एक सरलता से डिज़ाइन की गई प्रणाली की तुलना में, जिसमें एक छोटी सी विफलता भी विघटन का कारण बन सकती है। [[ उच्च उपलब्धता |उच्च उपलब्धता, महत्वपूर्ण]] लक्ष्य, या यहां तक ​​कि जीवन महत्वपूर्ण प्रणाली में दोष सहिष्णुता ('''फॉल्ट टॉलरेंस)'''  प्रणाली  की विशेष रूप से मांग की जाती है। सिस्टम के कुछ हिस्सों के बिगड़ने पर कार्यक्षमता बनाए रखने की क्षमता को ही ग्रेसफुल डिग्रेडेशन कहा जाता है।'''<ref>[http://scholarworks.umass.edu/cgi/viewcontent.cgi?article=1186&context=cs_faculty_pubs अडैप्टिव फॉल्ट टॉलरेंस एंड ग्रेसफुल डिग्रेडेशन], ऑस्कर गोंजालेज एट अल।, 1997, मैसाचुसेट्स विश्वविद्यालय - एम्हेर्स</ref>'''
'''फॉल्ट टॉलरेंस''' के द्वारा किसी [[प्रणाली|प्रणाली (सिस्टम)]] को इसके कुछ घटकों में एक या अधिक दोषों की विफलता की स्थिति में भी ठीक से संचालन जारी रखने में सक्षम बनाता है। यदि इसकी परिचालन गुणवत्ता बिल्कुल भी कम हो जाती है, तो कमी विफलता की गंभीरता के समानुपाती होती है,एक सरलता से डिज़ाइन की गई प्रणाली की तुलना में, जिसमें एक छोटी सी विफलता भी विघटन का कारण बन सकती है। [[ उच्च उपलब्धता |उच्च उपलब्धता, महत्वपूर्ण]] लक्ष्य, या यहां तक ​​कि जीवन महत्वपूर्ण प्रणाली में दोष सहिष्णुता ('''फॉल्ट टॉलरेंस)'''  प्रणाली  की विशेष रूप से मांग की जाती है। सिस्टम के कुछ हिस्सों के बिगड़ने पर कार्यक्षमता बनाए रखने की क्षमता को ही ग्रेसफुल डिग्रेडेशन कहा जाता है।'''<ref>[http://scholarworks.umass.edu/cgi/viewcontent.cgi?article=1186&context=cs_faculty_pubs अडैप्टिव फॉल्ट टॉलरेंस एंड ग्रेसफुल डिग्रेडेशन], ऑस्कर गोंजालेज एट अल।, 1997, मैसाचुसेट्स विश्वविद्यालय - एम्हेर्स</ref>'''


एक '''दोष-सहनशील डिज़ाइन '''सिस्टम के संचालन को जारी रखने में सक्षम बनाता है, संभवतः इसके द्वारा, पूरी तरह से विफल होने के बजाय, सिस्टम का कुछ ही हिस्सा [[ विफलता |विफल हो जाता है।]] <ref>जॉनसन, बी. डब्ल्यू. (1984)। [https://www.computer.org/csdl/mags/mi/1984/06/04071150.pdf फॉल्ट-टॉलरेंट माइक्रोप्रोसेसर-आधारित सिस्टम्स], आईईईई माइक्रो, वॉल्यूम। 4, नहीं। 6, पीपी. 6-2</ref> इस शब्द का प्रयोग आमतौर पर [[ कंप्यूटर सिस्टम ]]का वर्णन करने के लिए किया जाता है, जिसे कम या ज्यादा पूरी तरह से चालू रखने के लिए डिज़ाइन किया गया है, शायद, कुछ आंशिक विफलता की स्थिति में  प्रवाह क्षमतामें कमी या [[ प्रतिक्रिया समय (प्रौद्योगिकी) में वृद्धि |प्रतिक्रिया समय में वृद्धि होती है]]। अर्थात्,[[ कंप्यूटर हार्डवेयर | हार्डवेयर]] या [[ सॉफ़्टवेयर |सॉफ़्टवेयर]] में समस्याओं के कारण संपूर्ण रूप से सिस्टम बंद नहीं होता है। एक अन्य क्षेत्र में एक उदाहरण एक मोटर वाहन है जिसे डिज़ाइन किया गया है, इसलिए यदि टायरों में से एक पंचर हो गया है, या एक संरचना जो थकान, जंग, निर्माण दोष, या प्रभाव जैसे कारणों से होने वाली क्षति की उपस्थिति में अपनी अखंडता बनाए रखने में सक्षम हो, तो इसे चलाना जारी रहेगा।
एक '''दोष-सहनशील डिज़ाइन '''सिस्टम के संचालन को जारी रखने में सक्षम बनाता है, संभवतः इसके द्वारा, पूरी तरह से विफल होने के बजाय, सिस्टम का कुछ ही हिस्सा [[ विफलता |विफल हो जाता है।]] <ref>जॉनसन, बी. डब्ल्यू. (1984)। [https://www.computer.org/csdl/mags/mi/1984/06/04071150.pdf फॉल्ट-टॉलरेंट माइक्रोप्रोसेसर-आधारित सिस्टम्स], आईईईई माइक्रो, वॉल्यूम। 4, नहीं। 6, पीपी. 6-2</ref> इस शब्द का प्रयोग आमतौर पर [[कंप्यूटर|कंप्यूटर सिस्टम]] का वर्णन करने के लिए किया जाता है, जिसे कम या ज्यादा पूरी तरह से चालू रखने के लिए डिज़ाइन किया गया है, शायद, कुछ आंशिक विफलता की स्थिति में  प्रवाह क्षमतामें कमी या [[ प्रतिक्रिया समय (प्रौद्योगिकी) में वृद्धि |प्रतिक्रिया समय में वृद्धि होती है]]। अर्थात्,[[ कंप्यूटर हार्डवेयर | हार्डवेयर]] या सॉफ़्टवेयर में समस्याओं के कारण संपूर्ण रूप से सिस्टम बंद नहीं होता है। एक अन्य क्षेत्र में एक उदाहरण एक मोटर वाहन है जिसे डिज़ाइन किया गया है, इसलिए यदि टायरों में से एक पंचर हो गया है, या एक संरचना जो थकान, जंग, निर्माण दोष, या प्रभाव जैसे कारणों से होने वाली क्षति की उपस्थिति में अपनी अखंडता बनाए रखने में सक्षम हो, तो इसे चलाना जारी रहेगा।


एक ''व्यक्तिगत'' प्रणाली के दायरे में, असाधारण परिस्थितियों का अनुमान लगाकर और उनसे निपटने के लिए प्रणाली का निर्माण करके दोष सहिष्णुता प्राप्त की जा सकती है, और सामान्य तौर पर,[[ आत्म-स्थिरीकरण |आत्म-स्थिरीकरण]] का लक्ष्य है कि सिस्टम एक त्रुटि मुक्त स्थिति की ओर परिवर्तित हो जाए। हालांकि,यदि सिस्टम विफलता के परिणाम विनाशकारी हैं, या इसे पर्याप्त रूप से विश्वसनीय बनाने की लागत बहुत अधिक है, तो किसी प्रकार के दोहराव का उपयोग करना बेहतर समाधान हो सकता है। किसी भी मामले में, यदि सिस्टम की विफलता का परिणाम इतना भयावह है, तो सिस्टम को सुरक्षित मोड में वापस आने के लिए रिवर्सन का उपयोग करने में सक्षम होना चाहिए। यह रोल-बैक रिकवरी के समान है, लेकिन यदि मानव लूप में मौजूद हैं तो यह एक मानवीय क्रिया हो सकती है।
एक ''व्यक्तिगत'' प्रणाली के दायरे में, असाधारण परिस्थितियों का अनुमान लगाकर और उनसे निपटने के लिए प्रणाली का निर्माण करके दोष सहिष्णुता प्राप्त की जा सकती है, और सामान्य तौर पर,[[ आत्म-स्थिरीकरण |आत्म-स्थिरीकरण]] का लक्ष्य है कि सिस्टम एक त्रुटि मुक्त स्थिति की ओर परिवर्तित हो जाए। हालांकि,यदि सिस्टम विफलता के परिणाम विनाशकारी हैं, या इसे पर्याप्त रूप से विश्वसनीय बनाने की लागत बहुत अधिक है, तो किसी प्रकार के दोहराव का उपयोग करना बेहतर समाधान हो सकता है। किसी भी मामले में, यदि सिस्टम की विफलता का परिणाम इतना भयावह है, तो सिस्टम को सुरक्षित मोड में वापस आने के लिए रिवर्सन का उपयोग करने में सक्षम होना चाहिए। यह रोल-बैक रिकवरी के समान है, लेकिन यदि मानव लूप में मौजूद हैं तो यह एक मानवीय क्रिया हो सकती है।
Line 13: Line 13:
तथाकथित LLNM (लॉन्ग लाइफ,नो मेंटेनेंस) कंप्यूटिंग में अधिकांश विकास 1960 के दशक में[[ प्रोजेक्ट अपोलो | अपोलो योजना]] और अन्य शोध पहलुओं की तैयारी के दौरान किया गया था।<ref>{{cite web|url=https://www.computer.org/csdl/proceedings/ftcsh/1995/7150/00/00532604.pdf|title=The STAR (Self-Testing And Repairing) Computer: An Investigation Of the Theory and Practice Of Fault-tolerant Computer Design|author1=Algirdas Avižienis|author2=George C. Gilley|author3=Francis P. Mathur|author4=David A. Rennels|author5=John A. Rohr|author6=David K. Rubin}}</ref> पहली मशीन [[ अंतरिक्ष वेधशाला |अंतरिक्ष प्रेक्षणगृह]] में गई और उनका दूसरा प्रयास JSTAR कंप्यूटर,समुद्रयात्रा में इस्तेमाल किया गया। मेमोरी रिकवरी विधियों का उपयोग करने के लिए इस कंप्यूटर में मेमोरी सरणियों का बैकअप था और इस प्रकार इसे जेपीएल सेल्फ-टेस्टिंग-एंड-रिपेयरिंग कंप्यूटर कहा जाता था। यह अपनी स्वयं की त्रुटियों का पता लगा सकता है और उन्हें ठीक कर सकता है या आवश्यकतानुसार अनावश्यक मॉड्यूल ला सकता है। 2022 की शुरुआत तक कंप्यूटर अभी भी काम कर रहा है।<ref>{{Cite web|title=Voyager Mission state (more often than not at least three months out of date) |url=https://voyager.jpl.nasa.gov/mission/weekly-reports/|access-date=2022-04-01|website=NASA|language=en}}</ref>
तथाकथित LLNM (लॉन्ग लाइफ,नो मेंटेनेंस) कंप्यूटिंग में अधिकांश विकास 1960 के दशक में[[ प्रोजेक्ट अपोलो | अपोलो योजना]] और अन्य शोध पहलुओं की तैयारी के दौरान किया गया था।<ref>{{cite web|url=https://www.computer.org/csdl/proceedings/ftcsh/1995/7150/00/00532604.pdf|title=The STAR (Self-Testing And Repairing) Computer: An Investigation Of the Theory and Practice Of Fault-tolerant Computer Design|author1=Algirdas Avižienis|author2=George C. Gilley|author3=Francis P. Mathur|author4=David A. Rennels|author5=John A. Rohr|author6=David K. Rubin}}</ref> पहली मशीन [[ अंतरिक्ष वेधशाला |अंतरिक्ष प्रेक्षणगृह]] में गई और उनका दूसरा प्रयास JSTAR कंप्यूटर,समुद्रयात्रा में इस्तेमाल किया गया। मेमोरी रिकवरी विधियों का उपयोग करने के लिए इस कंप्यूटर में मेमोरी सरणियों का बैकअप था और इस प्रकार इसे जेपीएल सेल्फ-टेस्टिंग-एंड-रिपेयरिंग कंप्यूटर कहा जाता था। यह अपनी स्वयं की त्रुटियों का पता लगा सकता है और उन्हें ठीक कर सकता है या आवश्यकतानुसार अनावश्यक मॉड्यूल ला सकता है। 2022 की शुरुआत तक कंप्यूटर अभी भी काम कर रहा है।<ref>{{Cite web|title=Voyager Mission state (more often than not at least three months out of date) |url=https://voyager.jpl.nasa.gov/mission/weekly-reports/|access-date=2022-04-01|website=NASA|language=en}}</ref>


हाइपर-डिपेंडेबल कंप्यूटरों का संचालन ज्यादातर [[ विमान |विमान]] निर्माताओं,परमाणु ऊर्जा कंपनियों और रेल उद्योग द्वारा किया गया था।<ref name="computer-structures"/>{{rp|210}} इन्हें भारी मात्रा में अपटाइम वाले कंप्यूटरों की आवश्यकता थी जो इस तथ्य पर भरोसा करते हुए कि कंप्यूटर आउटपुट को लगातार मनुष्यों द्वारा दोषों का पता लगाने के लिए मॉनिटर किया जाएगा। फिर से,आईबीएम (IBM) ने [[ सैटर्न वी |सैटर्न वी]] रॉकेट के मार्गदर्शन के लिए इस तरह का पहला कंप्यूटर विकसित किया, लेकिन बाद में  [[ बीएनएसएफ | बीएनएसएफ( BNSF)]], [[ यूनिसिस |यूनिसिस]] और [[ जनरल इलेक्ट्रिक |जनरल इलेक्ट्रिक]] ने अपना खुद का कंप्यूटर बनाया।<ref name="computer-structures"/>{{rp|223}}
हाइपर-डिपेंडेबल कंप्यूटरों का संचालन ज्यादातर [[ विमान |विमान]] निर्माताओं,[https://en.wikipedia.org/wiki/Nuclear_power|'''परमाणु ऊर्जा'''] कंपनियों और रेल उद्योग द्वारा किया गया था।<ref name="computer-structures"/>{{rp|210}} इन्हें भारी मात्रा में अपटाइम वाले कंप्यूटरों की आवश्यकता थी जो इस तथ्य पर भरोसा करते हुए कि कंप्यूटर आउटपुट को लगातार मनुष्यों द्वारा दोषों का पता लगाने के लिए मॉनिटर किया जाएगा। फिर से,आईबीएम (IBM) ने [[ सैटर्न वी |सैटर्न वी]] रॉकेट के मार्गदर्शन के लिए इस तरह का पहला कंप्यूटर विकसित किया, लेकिन बाद में  [[ बीएनएसएफ | बीएनएसएफ( BNSF)]], [[ यूनिसिस |यूनिसिस]] और [[ जनरल इलेक्ट्रिक |जनरल इलेक्ट्रिक]] ने अपना खुद का कंप्यूटर बनाया।<ref name="computer-structures"/>{{rp|223}}


1970 के दशक में इस क्षेत्र में बहुत काम हुआ है,<ref>{{cite journal |author-first1=Brian |author-last=Randell |author-link1=Brian Randell |author-first2=P.A. |author-last2=Lee |author-first3=P. C. |author-last3=Treleaven |title=Reliability Issues in Computing System Design | journal = [[ACM Computing Surveys]] | pages=123–165 | volume =10 | issue = 2 |date=June 1978 | url = http://portal.acm.org/citation.cfm?id=356729&coll=&dl=ACM&CFID=15151515&CFTOKEN=6184618 |doi=10.1145/356725.356729 |s2cid=16909447 | issn= 0360-0300 }}</ref><ref>{{उद्धरण जर्नल |  लेखक = पी. जे. डेनिंग |  लेखक-लिंक = पी. जे. डेनिंग |  शीर्षक = दोष सहिष्णु ऑपरेटिंग सिस्टम |  जर्नल = एसीएम कम्प्यूटिंग सुरveys |  पेज=359–389 |  वॉल्यूम =8 |  अंक = 4 |  तारीख=दिसंबर 1976 |  यूआरएल = http://portal.acm.org/citation.cfm?id=356680&dl=ACM&coll=&CFID=15151515&CFTOKEN=6184618 |  doi =10.1145/356678.356680 |  s2cid=207736773 |  issn= 0360-0300}</ref><ref>{{cite journal | author= Theodore A. Linden |title=Operating System Structures to Support Security and Reliable Software | journal = ACM Computing Surveys | pages=409–445 | volume =8 | issue = 4 |date=December 1976 | url = http://portal.acm.org/citation.cfm?id=356682&coll=&dl=ACM&CFID=15151515&CFTOKEN=6184618 |doi=10.1145/356678.356682 | issn= 0360-0300 | hdl=2027/mdp.39015086560037 |s2cid=16720589 | hdl-access=free }}</ref> उदाहरण के लिए, [[ एफ14 सीएडीसी |एफ14 सीएडीसी]] में[[ अंतर्निर्मित आत्म-परीक्षण ]] किया गया था।<ref>
1970 के दशक में इस क्षेत्र में बहुत काम हुआ है,<ref>{{cite journal |author-first1=Brian |author-last=Randell |author-link1=Brian Randell |author-first2=P.A. |author-last2=Lee |author-first3=P. C. |author-last3=Treleaven |title=Reliability Issues in Computing System Design | journal = [[ACM Computing Surveys]] | pages=123–165 | volume =10 | issue = 2 |date=June 1978 | url = http://portal.acm.org/citation.cfm?id=356729&coll=&dl=ACM&CFID=15151515&CFTOKEN=6184618 |doi=10.1145/356725.356729 |s2cid=16909447 | issn= 0360-0300 }}</ref><ref>{{उद्धरण जर्नल |  लेखक = पी. जे. डेनिंग |  लेखक-लिंक = पी. जे. डेनिंग |  शीर्षक = दोष सहिष्णु ऑपरेटिंग सिस्टम |  जर्नल = एसीएम कम्प्यूटिंग सुरveys |  पेज=359–389 |  वॉल्यूम =8 |  अंक = 4 |  तारीख=दिसंबर 1976 |  यूआरएल = http://portal.acm.org/citation.cfm?id=356680&dl=ACM&coll=&CFID=15151515&CFTOKEN=6184618 |  doi =10.1145/356678.356680 |  s2cid=207736773 |  issn= 0360-0300}</ref><ref>{{cite journal | author= Theodore A. Linden |title=Operating System Structures to Support Security and Reliable Software | journal = ACM Computing Surveys | pages=409–445 | volume =8 | issue = 4 |date=December 1976 | url = http://portal.acm.org/citation.cfm?id=356682&coll=&dl=ACM&CFID=15151515&CFTOKEN=6184618 |doi=10.1145/356678.356682 | issn= 0360-0300 | hdl=2027/mdp.39015086560037 |s2cid=16720589 | hdl-access=free }}</ref> उदाहरण के लिए, [[ एफ14 सीएडीसी |एफ14 सीएडीसी]] में[[ अंतर्निर्मित आत्म-परीक्षण ]] किया गया था।<ref>
Line 30: Line 30:


[[ टैंडेम कंप्यूटर्स |  टेंडेम]] और [[ स्ट्रैटस टेक्नोलॉजीज |स्ट्रैटस]] [[ ऑनलाइन ट्रांजेक्शन प्रोसेसिंग |ऑनलाइन लेनदेन प्रोसेसिंग]] के लिए दोष-सहनशील कंप्यूटर सिस्टम के डिजाइन में विशेषज्ञता वाली पहली कंपनियों में से थे।
[[ टैंडेम कंप्यूटर्स |  टेंडेम]] और [[ स्ट्रैटस टेक्नोलॉजीज |स्ट्रैटस]] [[ ऑनलाइन ट्रांजेक्शन प्रोसेसिंग |ऑनलाइन लेनदेन प्रोसेसिंग]] के लिए दोष-सहनशील कंप्यूटर सिस्टम के डिजाइन में विशेषज्ञता वाली पहली कंपनियों में से थे।
== उदाहरण ==
== उदाहरण ==
[[File:Twitter M2 mobile website.png|thumb|M2 मोबाइल वेब, ट्विटर का मूल मोबाइल वेब फ्रंट एंड, बाद में दिसंबर 2020 तक  [[ क्लाइंट (कंप्यूटिंग) |  क्लाइंट ]] के लिए बिना जावास्क्रिप्ट सपोर्ट और/या असंगत ब्राउज़र के फॉलबैक लीगेसी वर्जन के रूप में कार्य किया। ]]
[[File:Twitter M2 mobile website.png|thumb|M2 मोबाइल वेब, ट्विटर का मूल मोबाइल वेब फ्रंट एंड, बाद में दिसंबर 2020 तक  [[ क्लाइंट (कंप्यूटिंग) |  क्लाइंट ]] के लिए बिना जावास्क्रिप्ट सपोर्ट और/या असंगत ब्राउज़र के फॉलबैक लीगेसी वर्जन के रूप में कार्य किया। ]]
Line 39: Line 38:
[[ विफल-सुरक्षित | विफल-सुरक्षित]] आर्किटेक्चर में कंप्यूटर सॉफ़्टवेयर भी शामिल हो सकता है, उदाहरण के लिए प्रक्रिया [[ प्रतिकृति (कंप्यूटर विज्ञान) |प्रतिकृति]] द्वारा।
[[ विफल-सुरक्षित | विफल-सुरक्षित]] आर्किटेक्चर में कंप्यूटर सॉफ़्टवेयर भी शामिल हो सकता है, उदाहरण के लिए प्रक्रिया [[ प्रतिकृति (कंप्यूटर विज्ञान) |प्रतिकृति]] द्वारा।


डेटा स्वरूपों को भी नष्ट करने के लिए डिज़ाइन किया जा सकता है। उदाहरण के लिए [[ एचटीएमएल | एचटीएमएल (HTML)]], को ऐसे डिज़ाइन किया गया है,जिससे  [[ वेब ब्राउज़र ]]दस्तावेज़ को अनुपयोगी किए बिना नए और असमर्थित एचटीएमएल (HTML)  इकाइयों को अनदेखा करने की इजाजत देता है। इसके अतिरिक्त, कुछ साइटें, जिनमें ट्विटर (Twitter) (दिसंबर 2020 तक) जैसे लोकप्रिय प्लेटफॉर्म शामिल हैं, जो [[ जावास्क्रिप्ट |जावास्क्रिप्ट(JavaScript)]] पर निर्भर नहीं है और इसमें  [[ अतिसूक्ष्मवाद (कंप्यूटिंग) |न्यूनतम]] लेआउट है, जिसमे व्यापक उपलब्धता और पहुँच है,जैसे सीमित वेब ब्राउज़िंग क्षमताओं के साथ कार्य ढाँचा।<ref>{{Cite web|title=Why your website should work without JavaScript.|url=https://dev.to/shadowfaxrodeo/why-your-website-should-work-without-javascript-3kko|access-date=2021-05-16|website=DEV Community|language=en}}</ref><ref>{{Cite web|last=Fairfax|first=Zackerie|date=2020-11-28|title=Legacy Twitter Shutdown Means You Can't Tweet From The 3DS Anymore|url=https://screenrant.com/twitter-legacy-nintendo-3ds-shut-down-date-december-2020/|url-status=live|access-date=2021-07-01|website=[[ScreenRant]]|language=en-US}}</ref>
डेटा स्वरूपों को भी नष्ट करने के लिए डिज़ाइन किया जा सकता है। उदाहरण के लिए [https://en.wikipedia.org/wiki/HTML|'''एचटीएमएल (HTML)'''], को ऐसे डिज़ाइन किया गया है,जिससे  [[ वेब ब्राउज़र ]]दस्तावेज़ को अनुपयोगी किए बिना नए और असमर्थित एचटीएमएल (HTML)  इकाइयों को अनदेखा करने की इजाजत देता है। इसके अतिरिक्त, कुछ साइटें, जिनमें ट्विटर (Twitter) (दिसंबर 2020 तक) जैसे लोकप्रिय प्लेटफॉर्म शामिल हैं, जो [[ जावास्क्रिप्ट |जावास्क्रिप्ट(JavaScript)]] पर निर्भर नहीं है और इसमें  [[ अतिसूक्ष्मवाद (कंप्यूटिंग) |न्यूनतम]] लेआउट है, जिसमे व्यापक उपलब्धता और पहुँच है,जैसे सीमित वेब ब्राउज़िंग क्षमताओं के साथ कार्य ढाँचा।<ref>{{Cite web|title=Why your website should work without JavaScript.|url=https://dev.to/shadowfaxrodeo/why-your-website-should-work-without-javascript-3kko|access-date=2021-05-16|website=DEV Community|language=en}}</ref><ref>{{Cite web|last=Fairfax|first=Zackerie|date=2020-11-28|title=Legacy Twitter Shutdown Means You Can't Tweet From The 3DS Anymore|url=https://screenrant.com/twitter-legacy-nintendo-3ds-shut-down-date-december-2020/|url-status=live|access-date=2021-07-01|website=[[ScreenRant]]|language=en-US}}</ref>


== शब्दावली ==
== शब्दावली ==
Line 51: Line 50:
एक प्रणाली जिसे ग्रेसफुल डिग्रेडेशन का अनुभव करने के लिए डिज़ाइन किया गया है, या '''सॉफ्ट विफल '''(कंप्यूटिंग में उपयोग किया जाता है, असफल सुरक्षित के समान<ref>स्टालिंग्स, डब्ल्यू (2009): ऑपरेटिंग सिस्टम। आंतरिक और डिजाइन सिद्धांत '', छठा संस्करण</ref>) कुछ घटक विफलताओं के बाद प्रदर्शन के कम स्तर पर काम करता है। उदाहरण के लिए, एक इमारत कम स्तर पर प्रकाश और कम गति पर लिफ्ट संचालित कर सकती है यदि ग्रिड पावर विफल हो जाती है, तो लोगों को पूरी तरह से अंधेरे में फंसाने के बजाय पूरी शक्ति से काम करना जारी रखता है। ग्रेसफुल डिग्रेडेशन के एक उदाहरण की गणना में यह है कि यदि ऑनलाइन वीडियो स्ट्रीम करने के लिए अपर्याप्त नेटवर्क बैंडविड्थ उपलब्ध है, तो उच्च-रिज़ॉल्यूशन संस्करण के स्थान पर कम-रिज़ॉल्यूशन संस्करण को स्ट्रीम किया जा सकता है। [[ प्रोग्रेसिव एन्हांसमेंट |प्रोग्रेसिव एन्हांसमेंट]] कंप्यूटिंग में एक उदाहरण है, जहां वेब पेज पुराने, छोटे स्क्रीन या सीमित क्षमता वाले वेब ब्राउज़र के लिए एक बुनियादी कार्यात्मक प्रारूप में उपलब्ध हैं, लेकिन अतिरिक्त तकनीकों को संभालने में सक्षम ब्राउज़रों के लिए एक उन्नत संस्करण में उपलब्ध हैं या बड़े डिस्प्ले वाले ब्राउज़र में उपलब्ध हैं।
एक प्रणाली जिसे ग्रेसफुल डिग्रेडेशन का अनुभव करने के लिए डिज़ाइन किया गया है, या '''सॉफ्ट विफल '''(कंप्यूटिंग में उपयोग किया जाता है, असफल सुरक्षित के समान<ref>स्टालिंग्स, डब्ल्यू (2009): ऑपरेटिंग सिस्टम। आंतरिक और डिजाइन सिद्धांत '', छठा संस्करण</ref>) कुछ घटक विफलताओं के बाद प्रदर्शन के कम स्तर पर काम करता है। उदाहरण के लिए, एक इमारत कम स्तर पर प्रकाश और कम गति पर लिफ्ट संचालित कर सकती है यदि ग्रिड पावर विफल हो जाती है, तो लोगों को पूरी तरह से अंधेरे में फंसाने के बजाय पूरी शक्ति से काम करना जारी रखता है। ग्रेसफुल डिग्रेडेशन के एक उदाहरण की गणना में यह है कि यदि ऑनलाइन वीडियो स्ट्रीम करने के लिए अपर्याप्त नेटवर्क बैंडविड्थ उपलब्ध है, तो उच्च-रिज़ॉल्यूशन संस्करण के स्थान पर कम-रिज़ॉल्यूशन संस्करण को स्ट्रीम किया जा सकता है। [[ प्रोग्रेसिव एन्हांसमेंट |प्रोग्रेसिव एन्हांसमेंट]] कंप्यूटिंग में एक उदाहरण है, जहां वेब पेज पुराने, छोटे स्क्रीन या सीमित क्षमता वाले वेब ब्राउज़र के लिए एक बुनियादी कार्यात्मक प्रारूप में उपलब्ध हैं, लेकिन अतिरिक्त तकनीकों को संभालने में सक्षम ब्राउज़रों के लिए एक उन्नत संस्करण में उपलब्ध हैं या बड़े डिस्प्ले वाले ब्राउज़र में उपलब्ध हैं।


[[ दोष-सहनशील कंप्यूटर सिस्टम | दोष-सहनशील कंप्यूटर सिस्टम]] में, महत्वपूर्ण माने जाने वाले प्रोग्राम पूरी तरह से क्रैश होने के बजाय त्रुटि,अपवाद या अमान्य इनपुट के बावजूद संचालन जारी रखने के लिए डिज़ाइन किए गए हैं। [[ सॉफ्टवेयर भंगुरता |सॉफ्टवेयर भंगुरता]] मजबूती के विपरीत है। [[ लचीलापन (नेटवर्क) |लचीला नेटवर्क]] कुछ लिंक या नोड्स की विफलता के बावजूद डेटा संचारित करना जारी रखता है; इसी तरह[[ लचीलापन (इंजीनियरिंग और निर्माण) | लचीला भवन और बुनियादी ढाँचा]] से भूकंप, बाढ़, या टकराव जैसी स्थितियों में पूर्ण विफलता को रोकने की उम्मीद की जाती है।
[[ दोष-सहनशील कंप्यूटर सिस्टम | दोष-सहनशील कंप्यूटर सिस्टम]] में, महत्वपूर्ण माने जाने वाले प्रोग्राम पूरी तरह से क्रैश होने के बजाय त्रुटि,अपवाद या अमान्य इनपुट के बावजूद संचालन जारी रखने के लिए डिज़ाइन किए गए हैं। [[सॉफ्टवेयर]] भंगुरता मजबूती के विपरीत है। [[ लचीलापन (नेटवर्क) |लचीला नेटवर्क]] कुछ लिंक या नोड्स की विफलता के बावजूद डेटा संचारित करना जारी रखता है; इसी तरह[[ लचीलापन (इंजीनियरिंग और निर्माण) | लचीला भवन और बुनियादी ढाँचा]] से भूकंप, बाढ़, या टकराव जैसी स्थितियों में पूर्ण विफलता को रोकने की उम्मीद की जाती है।


उच्च [[ विफलता पारदर्शिता |विफलता पारदर्शिता]] के साथ एक प्रणाली उपयोगकर्ताओं को सचेत करेगी कि एक घटक विफलता हुई है, भले ही वह पूर्ण प्रदर्शन के साथ काम करना जारी रखे, ताकि विफलता की मरम्मत की जा सके या आसन्न पूर्ण विफलता प्रत्याशित हो।<ref>{{cite arXiv|last=Thampi|first=Sabu M.|date=2009-11-23|title=Introduction to Distributed Systems|class=cs.DC|eprint=0911.4395}}</ref> इसी तरह, एक [[ फेल-फास्ट |फेल-फास्ट]] घटक को विफलता के पहले बिंदु पर रिपोर्ट करने के लिए डिज़ाइन किया गया है, बजाय इसके कि डाउनस्ट्रीम घटकों को विफल होने और रिपोर्ट उत्पन्न करने की अनुमति दी जाए। यह अंतर्निहित समस्या का आसान निदान करने की अनुमति देता है, और विघटित स्थिति में अनुचित संचालन को रोक सकता है।
उच्च [[ विफलता पारदर्शिता |विफलता पारदर्शिता]] के साथ एक प्रणाली उपयोगकर्ताओं को सचेत करेगी कि एक घटक विफलता हुई है, भले ही वह पूर्ण प्रदर्शन के साथ काम करना जारी रखे, ताकि विफलता की मरम्मत की जा सके या आसन्न पूर्ण विफलता प्रत्याशित हो।<ref>{{cite arXiv|last=Thampi|first=Sabu M.|date=2009-11-23|title=Introduction to Distributed Systems|class=cs.DC|eprint=0911.4395}}</ref> इसी तरह, एक [[ फेल-फास्ट |फेल-फास्ट]] घटक को विफलता के पहले बिंदु पर रिपोर्ट करने के लिए डिज़ाइन किया गया है, बजाय इसके कि डाउनस्ट्रीम घटकों को विफल होने और रिपोर्ट उत्पन्न करने की अनुमति दी जाए। यह अंतर्निहित समस्या का आसान निदान करने की अनुमति देता है, और विघटित स्थिति में अनुचित संचालन को रोक सकता है।
Line 85: Line 84:


== दोष सहिष्णुता तकनीक ==
== दोष सहिष्णुता तकनीक ==
महत्वपूर्ण प्रणालियों के लिए अनुसंधान में बड़ी मात्रा में बहुविषयक अध्यययन शामिल हैं। प्रणाली जितनी अधिक जटिल होगी,उतनी ही सावधानी से सभी संभावित अंतःक्रियाओं पर विचार करना होगा और इसके लिए तैयार रहना होगा। परिवहन,सार्वजनिक उपयोगिताओं और सेना में उच्च-मूल्य वाली प्रणालियों के महत्व को ध्यान में रखते हुए,अनुसंधान में संबंधित विषयों का क्षेत्र बहुत विस्तृत है: इसमें [[ सॉफ्टवेयर मॉडलिंग |सॉफ्टवेयर मॉडलिंग]]( '''software modeling''')या [[ हार्डवेयर डिजाइन |हार्डवेयर डिजाइन]]('''hardware design''') जैसे स्पष्ट विषय शामिल हो सकते हैं,जैसे [[ स्टोकेस्टिक |स्टोकेस्टिक(stochastic )]] मॉडल, [[ ग्राफ सिद्धांत |ग्राफ सिद्धांत]] ,औपचारिक तर्क,[[ समानांतर कंप्यूटिंग |समानांतर प्रसंस्करण(parallel processing]]), रिमोट[[ डेटा ट्रांसमिशन | डेटा ट्रांसमिशन]],और बहुत कुछ। <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>
महत्वपूर्ण प्रणालियों के लिए अनुसंधान में बड़ी मात्रा में बहुविषयक अध्यययन शामिल हैं। प्रणाली जितनी अधिक जटिल होगी,उतनी ही सावधानी से सभी संभावित अंतःक्रियाओं पर विचार करना होगा और इसके लिए तैयार रहना होगा। परिवहन,सार्वजनिक उपयोगिताओं और सेना में उच्च-मूल्य वाली प्रणालियों के महत्व को ध्यान में रखते हुए,अनुसंधान में संबंधित विषयों का क्षेत्र बहुत विस्तृत है: इसमें [[ सॉफ्टवेयर मॉडलिंग |सॉफ्टवेयर मॉडलिंग]]( '''software modeling''')या [[ हार्डवेयर डिजाइन |हार्डवेयर डिजाइन]]('''hardware design''') जैसे स्पष्ट विषय शामिल हो सकते हैं,जैसे [[ स्टोकेस्टिक |स्टोकेस्टिक(stochastic )]] मॉडल, [[ ग्राफ सिद्धांत |ग्राफ सिद्धांत]] ,औपचारिक तर्क,[[ समानांतर कंप्यूटिंग |समानांतर प्रसंस्करण(parallel processing]]), रिमोट [[:en:Data_communication|'''डेटा ट्रांसमिशन''']],और बहुत कुछ। <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>
===प्रतिकृत ===
===प्रतिकृत ===
====स्पेयर कंपोनेंट्स (अतिरिक़्त घटक) फॉल्ट टॉलरेंस की पहली मूलभूत विशेषता को तीन तरीकों से संबोधित करते हैं: ====
====स्पेयर कंपोनेंट्स (अतिरिक़्त घटक) फॉल्ट टॉलरेंस की पहली मूलभूत विशेषता को तीन तरीकों से संबोधित करते हैं: ====
Line 93: Line 92:
RAID 0 को छोड़कर,RAID (रेडंडान्त ऐरे ऑफ़ इनएक्सपेंसिवे डिसकस ) एक दोष-सहिष्णुता [[ डेटा स्टोरेज डिवाइस |स्टोरेज डिवाइस]](storage device) के उदाहरण हैं जो डेटा अतिरेक का उपयोग करता है।
RAID 0 को छोड़कर,RAID (रेडंडान्त ऐरे ऑफ़ इनएक्सपेंसिवे डिसकस ) एक दोष-सहिष्णुता [[ डेटा स्टोरेज डिवाइस |स्टोरेज डिवाइस]](storage device) के उदाहरण हैं जो डेटा अतिरेक का उपयोग करता है।


एक [[ लॉकस्टेप (कंप्यूटिंग) |लॉकस्टेप]](lockstep) दोष-सहिष्णुता मशीन में समानांतर काम कर रहे प्रतिकृति तत्वों का उपयोग करती है। किसी भी समय, प्रत्येक तत्व की सभी प्रतिकृति एक ही अवस्था में होनी चाहिए। प्रत्येक[[ प्रतिकृति (कंप्यूटिंग) | प्रतिकृति]] को समान इनपुट(inputs) प्रदान किए जाते हैं,और समान आउटपुट(outputs) को प्रत्याशित किया जाता है। प्रतिकृति के आउटपुट(outputs) की तुलना वोटिंग सर्किट(voting circuit) का उपयोग करके की जाती है। प्रत्येक तत्व की दो प्रतिकृति वाली मशीन को [[ दोहरी मॉड्यूलर अतिरेक |दोहरी मॉड्यूलर निरर्थक]] (DMR) कहा जाता है। रिकवरी अन्य तरीकों पर निर्भर करती है जब वोटिंग सर्किट केवल गलत अवतरण का पता लगा सकता है। प्रत्येक तत्व की तीन प्रतिकृति वाली मशीन को [[ ट्रिपल मॉड्यूलर रिडंडेंसी | ट्रिपल मॉड्यूलर रिडंडेंट]] (TMR) कहा जाता है। विद्युत क्षृंखला यह निर्धारित कर सकती है कि दो-से-एक क्षृंखला देखे जाने पर कौन सी प्रतिकृति त्रुटि में है। इस मामले में, विद्युत क्षृंखला सही परिणाम आउटपुट कर सकती है,और त्रुटिपूर्ण संस्करण को हटा सकती है ।इसके बाद,त्रुटिपूर्ण प्रतिकृति की आंतरिक स्थिति को अन्य दो से अलग कर विद्युत क्षृंखला डीएमआर(DMR) मोड में बदल सकती है। इस मॉडल को किसी भी बड़ी संख्या में प्रतिकृति पर लागू किया जा सकता है।
एक [[ लॉकस्टेप (कंप्यूटिंग) |लॉकस्टेप]](lockstep) दोष-सहिष्णुता मशीन में समानांतर काम कर रहे प्रतिकृति तत्वों का उपयोग करती है। किसी भी समय, प्रत्येक तत्व की सभी प्रतिकृति एक ही अवस्था में होनी चाहिए। प्रत्येक[[ प्रतिकृति (कंप्यूटिंग) | प्रतिकृति]] को समान इनपुट(inputs) प्रदान किए जाते हैं,और समान आउटपुट(outputs) को प्रत्याशित किया जाता है। प्रतिकृति के आउटपुट(outputs) की तुलना वोटिंग सर्किट(voting circuit) का उपयोग करके की जाती है। प्रत्येक तत्व की दो प्रतिकृति वाली मशीन को [[ दोहरी मॉड्यूलर अतिरेक |दोहरी मॉड्यूलर निरर्थक]] (DMR) कहा जाता है। रिकवरी अन्य तरीकों पर निर्भर करती है जब वोटिंग सर्किट केवल गलत अवतरण का पता लगा सकता है। प्रत्येक तत्व की तीन प्रतिकृति वाली मशीन को [[ ट्रिपल मॉड्यूलर रिडंडेंसी | ट्रिपल मॉड्यूलर रिडंडेंट]] (TMR) कहा जाता है। विद्युत क्षृंखला यह निर्धारित कर सकती है कि दो-से-एक क्षृंखला देखे जाने पर कौन सी प्रतिकृति त्रुटि में है। इस मामले में, विद्युत क्षृंखला सही परिणाम आउटपुट कर सकती है,और त्रुटिपूर्ण संस्करण को हटा सकती है ।इसके बाद,त्रुटिपूर्ण प्रतिकृति आंतरिक स्थिति को अन्य दो से अलग कर विद्युत क्षृंखला को डीएमआर(DMR) मोड में बदल सकती है। इस मॉडल को किसी भी बड़ी संख्या में प्रतिकृतियों पर लागू किया जा सकता है।


लॉकस्टेप दोष-सहिष्णु मशीनों को सबसे आसानी से पूरी तरह से [[ सिंक्रोनाइजेशन (कंप्यूटर साइंस) |सिंक्रोनस]] (समकालिक) बनाया जाता है, प्रत्येक प्रतिकृति के प्रत्येक गेट के साथ घड़ी के एक ही किनारे पर एक ही परिवर्तन होता है,और प्रतिकृति के लिए घड़ियां बिल्कुल चरण में होती हैं। हालांकि, इस आवश्यकता के बिना लॉकस्टेप सिस्टम बनाना संभव है।
लॉकस्टेप दोष-सहिष्णुता मशीनों को आसानी से [[ सिंक्रोनाइजेशन (कंप्यूटर साइंस) |सिंक्रोनस]] (समकालिक) बनाता है, प्रतिकृति के प्रत्येक गेट के साथ घड़ी के एक ही किनारे पर परिवर्तन होता है,और प्रतिकृति के लिए घड़ियां बिल्कुल चरण में होती हैं। हालांकि,इसके बिना लॉकस्टेप सिस्टम बनाना संभव है।


प्रतिकृतियों को समकालिकता में लाने के लिए उनकी आंतरिक संग्रहीत अवस्थाओं को समान बनाने की आवश्यकता होती है। उन्हें एक निश्चित प्रारंभिक स्थिति से शुरू किया जा सकता है, जैसे कि रीसेट स्थिति। वैकल्पिक रूप से,एक प्रतिकृति की आंतरिक स्थिति को दूसरी प्रतिकृति में कॉपी किया जा सकता है।
प्रतिकृतियों को [[ सिंक्रोनाइजेशन (कंप्यूटर साइंस) |सिंक्रोनस]](समकालिकता) में लाने के लिए उनकी आंतरिक संग्रहीत अवस्थाओं को समान बनाने की आवश्यकता होती है। उन्हें रीसेट की स्थिति(reset state)से शुरू किया जा सकता है। वैकल्पिक रूप से,एक प्रतिकृति की आंतरिक स्थिति को दूसरी प्रतिकृति में कॉपी किया जा सकता है।


डीएमआर(DMR) का एक प्रकार '''जोड़ी और अतिरिक्त''' है। दो प्रतिकृति तत्व लॉकस्टेप में एक जोड़ी के रूप में काम करते हैं, एक विद्युत क्षृंखला के साथ जो उनके संचालन के बीच किसी भी बेमेल का पता लगाती है और एक संकेत आउटपुट करती है जो दर्शाता है कि कोई त्रुटि है। एक और जोड़ी ठीक उसी तरह काम करती है। एक अंतिम क्षृंखला जोड़ी के आउटपुट का चयन करती है जो यह घोषणा नहीं करती है कि यह त्रुटि में है। जोड़ी और अतिरिक्त टीएमआर(TMR) के तीन के बजाय चार प्रतिकृतियों की आवश्यकता होती है, लेकिन व्यावसायिक रूप से इसका उपयोग किया गया है।
डीएमआर(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>
''विफलता-अनभिज्ञ कंप्यूटिंग'' एक ऐसी तकनीक है जो [[ कंप्यूटर प्रोग्राम |कंप्यूटर प्रोग्राम]] को [[ डेटा हानि |त्रुटियों]] के बावजूद निष्पादन जारी रखने में सक्षम बनाती है।<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> उस मेमोरी वैल्यू को अनदेखा करता है जिसे उसने एक्सेस करने का प्रयास किया था,यह सामान्य मेमोरी चेकर्स के विपरीत प्रोग्राम को त्रुटि की सूचना देता है या प्रोग्राम को निरस्त कर देता है।दूसरा,इसे उन अपवादों पर लागू किया जा सकता है जहां अप्रत्याशित अपवादों को रोकने के लिए कुछ कैच ब्लॉक(catch blocks) लिखे या संश्लेषित किए जाते हैं।<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> इसके अलावा,कैस्केडिंग विफलताओं(cascading failures) को रोकने के लिए निष्पादन को कई बार संशोधित किया जाता है।<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% तक बढ़ जाएगा।<ref>{{Citation
यह तकनीक गतिशील जांच के लिए कोड को फिर से लिखती है जिससेे निष्पादन समय 80% से 500% तक बढ़ जाता हैं।<ref>{{Citation
   | first = Angelos D.
   | first = Angelos D.
   | last = Keromytis
   | last = Keromytis
Line 123: Line 122:


=== रिकवरी शेपर्ड ===
=== रिकवरी शेपर्ड ===
रिकवरी शेपर्ड एक हल्की तकनीक है जो सॉफ़्टवेयर प्रोग्राम को घातक त्रुटियों से पुनर्प्राप्त करने में सक्षम बनाती है जैसे कि नल पॉइंटर डीरेफरेंस(अशक्त सूचक) और शून्य से विभाजित करना।<ref name=rcv>{{cite book
रिकवरी शेपर्ड एक प्रभावहीन तकनीक है जो सॉफ़्टवेयर प्रोग्राम को घातक त्रुटियों से बचने में सक्षम बनाती है जैसे कि नल पॉइंटर डीरेफरेंस(null pointer dereference)और शून्य से विभाजित करना।<ref name=rcv>{{cite book
|last1=Long
|last1=Long
|first1=Fan
|first1=Fan
Line 140: Line 139:
|doi=10.1145/2594291.2594337
|doi=10.1145/2594291.2594337
|s2cid=6252501
|s2cid=6252501
}}</ref> विफलता शून्यचित्त कंप्यूटिंग तकनीक की तुलना में, रिकवरी शेपर्ड सीधे संकलित प्रोग्राम बाइनरी पर काम करता है और इसे प्रोग्राम में पुन: संकलित करने की आवश्यकता नहीं होती है।
}}</ref> विफल कंप्यूटिंग तकनीक की तुलना में, रिकवरी शेपर्ड को पुन: संकलित करने की आवश्यकता नहीं होती,यह प्रोग्राम सीधे बाइनरी पर काम करता है।


यह [[ जस्ट-इन-टाइम संकलन |जस्ट-इन-टाइम]] [[ इंस्ट्रूमेंटेशन (कंप्यूटर प्रोग्रामिंग) |बाइनरी इंस्ट्रूमेंटेशन]] फ्रेमवर्क[[ पिन (कंप्यूटर प्रोग्राम) | पिन]] का उपयोग करता है। यह त्रुटि होने पर आवेदन प्रक्रिया से जुड़ जाता है, निष्पादन की मरम्मत करता है,निष्पादन जारी रहने पर मरम्मत प्रभावों को ट्रैक करता है, आवेदन प्रक्रिया के भीतर मरम्मत प्रभाव शामिल करता है,और प्रक्रिया की स्थिति से सभी मरम्मत प्रभावों को फ़्लश करने के बाद प्रक्रिया से अलग हो जाता है। यह कार्यक्रम के सामान्य निष्पादन में हस्तक्षेप नहीं करता है और इसलिए ऊपरी कार्य करता है।<ref name=rcv/> 18 में से 17 के लिए व्यवस्थित रूप से एकत्रित वास्तविक दुनिया नल-डीरेफरेंस और डिवाइड-बाय-जीरो त्रुटियों के लिए, एक प्रोटोटाइप कार्यान्वयन एप्लिकेशन को त्रुटि-ट्रिगर इनपुट पर अपने उपयोगकर्ताओं को स्वीकार्य आउटपुट और सेवा प्रदान करने के लिए निष्पादित करना जारी रखता है।<ref name=rcv/>
यह सही समय पर [[ इंस्ट्रूमेंटेशन (कंप्यूटर प्रोग्रामिंग) |बाइनरी इंस्ट्रूमेंटेशन]] फ्रेमवर्क[[ पिन (कंप्यूटर प्रोग्राम) | पिन]] का उपयोग करता है। यह त्रुटि होने पर आवेदन प्रक्रिया से जुड़कर निष्पादन की मरम्मत कर प्रभावों को ट्रैक करता है और आवेदन प्रक्रिया से सभी मरम्मत प्रभावों को फ़्लश करने के बाद प्रक्रिया से अलग हो जाता है।यह कार्यक्रम के निष्पादन में हस्तक्षेप नहीं करता है।<ref name=rcv/>18 में से 17 के लिए नल-डीरेफरेंस और डिवाइड-बाय-जीरो,एक प्रोटोटाइप कार्यान्वयन एप्लिकेशन अपने उपयोगकर्ताओं को आउटपुट और सेवा प्रदान करने के लिए निष्पादन करना जारी रखता है।<ref name=rcv/>


=== सर्किट ब्रेकर ===
=== सर्किट ब्रेकर ===
{{Main|Circuit breaker design pattern}}[[ सर्किट ब्रेकर डिजाइन पैटर्न | सर्किट ब्रेकर डिजाइन पैटर्न]] वितरित प्रणालियों में भयावह विफलताओं से बचने के लिए एक तकनीक है।
{{Main|Circuit breaker design pattern}}[[ सर्किट ब्रेकर डिजाइन पैटर्न | सर्किट ब्रेकर डिजाइन पैटर्न(circuit breaker design pattern]]) सिस्टम को भयावह विफलताओं से की एक तकनीक है।


== अतिरेक ==
== अतिरेक ==
{{main article|Redundancy (engineering)}}
{{main article|Redundancy (engineering)}}
अतिरेक कार्यात्मक क्षमताओं का प्रावधान है जो एक दोष मुक्त वातावरण में अनावश्यक होगा।<ref>लैप