Failure detector
एक वितरित कंप्यूटिंग प्रणाली में, एक विफलता डिटेक्टर एक कंप्यूटर अनुप्रयोग या एक उप-प्रणाली है जो नोड विफलताओं या क्रैश का पता लगाने के लिए जिम्मेदार है। फेल्योर डिटेक्टरों को पहली बार 1996 में चंद्रा और टुएग द्वारा अपनी पुस्तक अनरिलिएबल फेल्योर डिटेक्टर फॉर रिलायबल डिस्ट्रीब्यूटेड सिस्टम्स में पेश किया गया था। इस पुस्तक में फेलियर डिटेक्टर को वितरित प्रणाली में सर्वसम्मति (विश्वसनीयता की उपलब्धि) और परमाणु प्रसारण (संदेशों का एक ही क्रम) में सुधार करने के लिए एक उपकरण के रूप में दर्शाया गया है। दूसरे शब्दों में, विफलता डिटेक्टर प्रक्रिया में त्रुटियों की तलाश करते हैं, और प्रणाली विश्वसनीयता के स्तर को बनाए रखेगी। व्यवहार में, फेलियर डिटेक्टर स्पॉट क्रैश के बाद, सिस्टम उन प्रक्रियाओं को प्रतिबंधित कर देगा जो आगे किसी भी गंभीर क्रैश या त्रुटियों को रोकने के लिए गलतियाँ कर रहे हैं। 21वीं सदी में, एप्लिकेशन त्रुटियों का पता लगाने के लिए वितरित कंप्यूटिंग प्रणालियों में विफलता डिटेक्टरों का व्यापक रूप से उपयोग किया जाता है, जैसे कि एक सॉफ्टवेयर अनुप्रयोग ठीक से काम करना बंद कर देता है। जैसे-जैसे वितरित कंप्यूटिंग परियोजनाएं (वितरित कंप्यूटिंग परियोजनाओं की सूची देखें) अधिक से अधिक लोकप्रिय होती जा रही हैं, विफलता का पता लगाने का उपयोग भी महत्वपूर्ण और महत्वपूर्ण हो जाता है। पुस्तक 'अनरिलिएबल फेल्योर डिटेक्टर्स फॉर रिलायबल डिस्ट्रीब्यूटेड सिस्टम्स' (1996) के सह-लेखक ओरिजिन अनरिलिएबल फेल्योर डिटेक्टर चंद्रा और टुएग ने अविश्वसनीय फेल्योर डिटेक्टर पेश करके फेल्योर नोड्स का पता लगाने की अवधारणा का अनुसरण किया। वे एक वितरित कंप्यूटिंग प्रणाली में एक अविश्वसनीय विफलता डिटेक्टर के व्यवहार का वर्णन इस प्रकार करते हैंः प्रणाली में प्रत्येक प्रक्रिया के एक स्थानीय विफलता डिटेक्टर घटक में प्रवेश करने के बाद, प्रत्येक स्थानीय घटक प्रणाली के भीतर सभी प्रक्रियाओं के एक हिस्से की जांच करेगा। इसके अलावा, प्रत्येक प्रक्रिया में ऐसे प्रोग्राम भी होने चाहिए जिन पर वर्तमान में विफलता डिटेक्टरों द्वारा संदेह किया जाता है। फेल्योर डिटेक्टर चंद्रा और टुएग ने दावा किया कि एक अविश्वसनीय फेल्योर डिटेक्टर अभी भी सिस्टम द्वारा की गई त्रुटियों का पता लगाने में विश्वसनीय हो सकता है। वे सभी प्रकार के विफलता डिटेक्टरों के लिए अविश्वसनीय विफलता डिटेक्टरों को सामान्यीकृत करते हैं क्योंकि अविश्वसनीय विफलता डिटेक्टर और विफलता डिटेक्टर समान गुणों को साझा करते हैं। इसके अलावा, चंद्रा और टुएग एक महत्वपूर्ण तथ्य की ओर इशारा करते हैं कि विफलता डिटेक्टर प्रणाली में किसी भी दुर्घटना को नहीं रोकता है, भले ही दुर्घटनाग्रस्त कार्यक्रम पर पहले संदेह किया गया हो। एक विफलता डिटेक्टर का निर्माण एक आवश्यक, लेकिन एक बहुत ही कठिन समस्या है जो एक वितरित कंप्यूटर प्रणाली में दोष-सहिष्णु घटक के विकास में हुई है। नतीजतन, वितरित कंप्यूटिंग प्रणालियों में बड़े पैमाने पर सूचना लेनदेन में त्रुटियों का पता लगाने की आवश्यकता के कारण विफलता डिटेक्टर का आविष्कार किया गया था। विफलता डिटेक्टरों के वर्गों को दो महत्वपूर्ण गुणों द्वारा अलग किया जाता हैः पूर्णता और सटीकता। पूर्णता का अर्थ है कि विफलता डिटेक्टर उन कार्यक्रमों को ढूंढ लेंगे जो अंततः एक प्रक्रिया में दुर्घटनाग्रस्त हो गए, जबकि सटीकता का अर्थ है कि सही निर्णय जो विफलता डिटेक्टर एक प्रक्रिया में लेते हैं। पूर्णता की डिग्री पूर्णता की डिग्री एक निश्चित अवधि में विफलता डिटेक्टर द्वारा दुर्घटनाग्रस्त प्रक्रिया की संख्या पर निर्भर करती है। मजबूत पूर्णताः "प्रत्येक दोषपूर्ण प्रक्रिया अंततः प्रत्येक गैर-दोषपूर्ण प्रक्रिया द्वारा स्थायी रूप से संदिग्ध होती है।" कमजोर पूर्णताः "प्रत्येक दोषपूर्ण प्रक्रिया को अंततः कुछ गैर-दोषपूर्ण प्रक्रिया द्वारा स्थायी रूप से संदेह किया जाता है।" सटीकता की डिग्री सटीकता की डिग्री एक निश्चित अवधि में एक विफलता डिटेक्टर द्वारा की गई गलतियों की संख्या पर निर्भर करती है। मजबूत सटीकताः "क्रैश होने से पहले किसी भी प्रक्रिया पर (किसी के द्वारा) संदेह नहीं किया जाता है।" कमजोर सटीकताः "कुछ गैर-दोषपूर्ण प्रक्रिया पर कभी संदेह नहीं किया जाता है।" घटनात्मक मजबूत सटीकताः "अराजकता की प्रारंभिक अवधि के अंत के बाद से कुछ समय के बाद कोई गैर-दोषपूर्ण प्रक्रिया का संदेह नहीं है क्योंकि जिस समय अंतिम दुर्घटना होती है।" घटनात्मक कमजोर सटीकताः "कुछ प्रारंभिक अवधि के भ्रम के बाद, कुछ गैर-दोषपूर्ण प्रक्रिया पर कभी संदेह नहीं किया जाता है।" वर्गीकरण विफलता डिटेक्टरों को निम्नलिखित आठ प्रकारों में वर्गीकृत किया जा सकता हैः पूर्ण विफलता डिटेक्टर (पी) अंततः पूर्ण विफलता डिटेक्टर (पी) मजबूत विफलता डिटेक्टर (एस) अंततः मजबूत विफलता डिटेक्टर (एस) कमजोर विफलता डिटेक्टर (डब्ल्यू) अंततः कमजोर विफलता डिटेक्टर (डब्ल्यू) अर्ध-पूर्ण विफलता डिटेक्टर (क्यू) अंततः अर्ध-पूर्ण विफलता डिटेक्टर (क्यू) इन विफलता डिटेक्टरों के गुणों का वर्णन नीचे किया गया हैः संक्षेप में, विफलता डिटेक्टरों के गुण इस बात पर निर्भर करते हैं कि विफलता डिटेक्टर कितनी तेजी से वास्तविक विफलताओं का पता लगाता है और कितनी अच्छी तरह से गलत पहचान से बचता है। एक पूर्ण विफलता डिटेक्टर बिना किसी गलती के सभी त्रुटियों का पता लगाएगा, जबकि एक कमजोर विफलता डिटेक्टर कोई त्रुटि नहीं पाएगा और कई गलतियाँ करेगा। अनुप्रयोग विफलता डिटेक्टरों के गुणों को बदलकर विभिन्न प्रकार के विफलता डिटेक्टर प्राप्त किए जा सकते हैं। पहले उदाहरण से पता चलता है कि विफलता डिटेक्टर की पूर्णता को कैसे बढ़ाया जाए, और दूसरे उदाहरण से पता चलता है कि एक प्रकार के विफलता डिटेक्टर को दूसरे में कैसे बदला जाए। पूर्णता को बढ़ावा देना येल विश्वविद्यालय के कंप्यूटर विज्ञान विभाग से लिया गया एक उदाहरण निम्नलिखित है। यह एक विफलता की पूर्णता को बढ़ावा देकर कार्य करता है detector.initially संदिग्ध = हमेशा के लिए करते हैंः प्रत्येक प्रक्रिया के लिए p: यदि मेरे कमजोर-डिटेक्टर को p पर संदेह है, तो किसी प्रक्रिया से p प्राप्त करने पर सभी प्रक्रियाओं को p भेजें q: संदिग्धः = संदिग्ध + p-q उपरोक्त उदाहरण से, यदि p दुर्घटनाग्रस्त हो जाता है, तो कमजोर-डिटेक्टर अंततः इस पर संदेह करेगा। विफलता डिटेक्टरों द्वारा बनाए गए अनंत लूप के कारण सिस्टम में सभी विफलता डिटेक्टर अंततः पी पर संदेह करेंगे। इस उदाहरण से यह भी पता चलता है कि एक कमजोर पूर्णता विफलता डिटेक्टर भी अंततः सभी दुर्घटनाओं पर संदेह कर सकता है। दुर्घटनाग्रस्त कार्यक्रमों का निरीक्षण पूर्णता पर निर्भर नहीं करता है। एक विफलता डिटेक्टर डब्ल्यू को विफलता डिटेक्टर एस में कम करना एक विफलता डिटेक्टर डब्ल्यू को विफलता डिटेक्टर एस में बदलने के एल्गोरिदम को संतुष्ट करने के लिए निम्नलिखित शुद्धता तर्क हैं। विफलता डिटेक्टर डब्ल्यू पूर्णता में कमजोर है, और विफलता डिटेक्टर एस पूर्णता में मजबूत है। वे दोनों सटीकता में कमजोर हैं। यह कमजोर पूर्णता को मजबूत पूर्णता में बदल देता है। यह शाश्वत सटीकता को बनाए रखता है। यह अंतिम सटीकता को बनाए रखता है। यदि उपरोक्त सभी तर्क संतुष्ट हैं, तो एक कमजोर विफलता डिटेक्टर डब्ल्यू को एक मजबूत विफलता डिटेक्टर एस में कम करना वितरित कंप्यूटिंग प्रणाली के भीतर एल्गोरिथ्म से सहमत होगा। वितरित कंप्यूटिंग परियोजनाओं की वितरित कंप्यूटिंग सूची भी देखें एस. डब्ल्यू. आई. एम. प्रोटोकॉल क्रैश (कंप्यूटिंग) दोष सहिष्णुता सर्वसम्मति परमाणु प्रसारण संदर्भ बाहरी लिंक http://www.cs.yale.edu/homes/aspnes/pinewiki/FailureDetectors.html http://www.cs.cornell.edu/home/sam/FDpapers.html वितरित कंप्यूटिंग दोष-सहिष्णु कंप्यूटर सिस्टम