निर्भरता

प्रणाली अभियांत्रिकी में, निर्भरता एक सिस्टम की उपलब्धता, विश्वसनीयता, रखरखाव, और कुछ मामलों में, स्थायित्व और सुरक्षा जैसी अन्य विशेषताओं का एक उपाय है। रीयल-टाइम कंप्यूटिंग में, निर्भरता ऐसी सेवाएं प्रदान करने की क्षमता रखता है, जिस पर एक समय-अवधि के भीतर विश्वसनीय बनाये रखा जा सकता है।  सेवा की गारंटी तब भी बनी रहनी चाहिए जब  तंत्र हमलों या प्राकृतिक विफलताओं के अधीन हो।

अंतर्राष्ट्रीय इलेक्ट्रोटेक्निकल कमीशन (IEC), अपनी तकनीकी समिति TC 56 के माध्यम से अंतर्राष्ट्रीय मानकों का विकास और रखरखाव करता है जो उनके जीवन चक्र के दौरान उपकरणों, सेवाओं और प्रणालियों के निर्भरता मूल्यांकन और प्रबंधन के लिए व्यवस्थित तरीके से उपकरण प्रदान करते हैं। IFIP वर्किंग ग्रुप 10.4 "डिपेंडेबल कंप्यूटिंग एंड फॉल्ट टॉलरेंस" पर क्षेत्र में तकनीकी समुदाय की प्रगति को संश्लेषित करने में एक भूमिका निभाता है और परिणामों का प्रसार करने के लिए प्रत्येक वर्ष दो कार्यशालाओं का आयोजन करता है।

निर्भरता को तीन तत्वों में विभाजित किया जा सकता है:
 * विशेषताएँ - एक प्रणाली की निर्भरता का आकलन करने का एक तरीका है।
 * खतरों - उन चीजों की समझ जो एक प्रणाली की निर्भरता को प्रभावित कर सकती हैं
 * साधन - किसी प्रणाली की निर्भरता बढ़ाने के उपाय

इतिहास
कुछ सूत्रों का कहना है, कि डॉज ब्रदर्स ऑटोमोबाइल प्रिंट विज्ञापन में उन्नीसवी-शादाब्धि में यह शब्द गढ़ा गया था। लेकिन यह शब्द उस अवधि से पहले का है, जब ऑक्सफोर्ड इंग्लिश डिक्शनरी ने 1901 में इसका पहला प्रयोग किया था।

जैसे-जैसे 1960 और 1970 के दशक में त्रुटि सहनशीलता और प्रणाली की विश्वसनीयता में रुचि बढ़ी, निर्भरता [x] का माप बन गई क्योंकि विश्वसनीयता के उपायों में सुरक्षा और अखंडता जैसे अतिरिक्त उपाय सम्मलित हो गए। 1980 के दशक की शुरुआत में, जीन-क्लाउड लैप्री ने विश्वसनीयता में निहित अर्थ के विस्तार के बिना दोष सहिष्णुता और सिस्टम विश्वसनीयता के अध्ययन को सम्मलित करने के लिए शब्द के रूप में निर्भरता को चुना

निर्भरता का क्षेत्रशुरुआत से विकसित हुआ है जो कई प्रमुख अंतरराष्ट्रीय सम्मेलनों, विशेष रूप से भरोसेमंद प्रणालियों और नेटवर्क पर अंतर्राष्ट्रीय सम्मेलन, विश्वसनीय वितरित प्रणालियों पर अंतर्राष्ट्रीय संगोष्ठी और सॉफ्टवेयर विश्वसनीयता पर अंतर्राष्ट्रीय संगोष्ठी द्वारा बढ़ावा देने वाले अनुसंधान के एक अंतरराष्ट्रीय स्तर पर सक्रिय क्षेत्र के रूप में विकसित हुआ है।

परंपरागत रूप से, एक प्रणाली के लिए निर्भरता में उपलब्धता, विश्वसनीयता, रखरखाव सम्मलित है, लेकिन 1980 के दशक के बाद से सुरक्षा और सुरक्षा को निर्भरता के उपायों में जोड़ा गया है।

गुण
एक प्रणाली के गुण हैं। गुणात्मक या मात्रात्मक उपायों का उपयोग करके इसकी समग्र निर्भरता निर्धारित करने के लिए इनका मूल्यांकन किया जा सकता है। एविज़िनिस एट अल द्वारा निम्नलिखित निर्भरता विशेषताओं को परिभाषित करें:


 * उपलब्धता - सही सेवा के लिए तत्परता
 * विश्वसनीयता - सही सेवा की निरंतरता
 * सुरक्षा - उपयोगकर्ता (उपयोगकर्ताओं) और पर्यावरण पर विनाशकारी परिणामों की अनुपस्थिति
 * अखंडता - अनुचित प्रणाली परिवर्तन की अनुपस्थिति
 * रख-रखाव - आसान रखरखाव के लिए क्षमता

जैसा कि इन परिभाषाओं बताया गया है, कीकेवल उपलब्धता और विश्वसनीयता प्रत्यक्ष मापन द्वारा मात्रात्मक हैं जबकि अन्य अधिक व्यक्तिपरक हैं। उदाहरण के लिए, सुरक्षा को सीधे मेट्रिक्स के माध्यम से नहीं मापा जा सकता है, लेकिन यह एक व्यक्तिपरक मूल्यांकन है जिसमें विश्वास का स्तर देने के लिए निर्णय संबंधी जानकारी को लागू करने की आवश्यकता होती है, जबकि विश्वसनीयता को समय के साथ विफलताओं के रूप में मापा जा सकता है।

सुरक्षा को संबोधित करते समय गोपनीयता, यानी सूचना के अनधिकृत प्रकटीकरण की अनुपस्थिति का भी उपयोग किया जाता है। सुरक्षा गोपनीयता, अखंडता और उपलब्धता का एक संयोजन है। सुरक्षा को कभी-कभी एक विशेषता के रूप में वर्गीकृत किया जाता है लेकिन वर्तमान दृष्टिकोण इसे निर्भरता के साथ एक साथ जोड़ना है और निर्भरता को एक समग्र शब्द के रूप में माना जाता है जिसे निर्भरता और सुरक्षा कहा जाता है।

व्यावहारिक रूप से, सिस्टम के उपकरणों के लिए सुरक्षा उपायों को लागू करने से आम तौर पर बाह्य रूप से उत्पन्न त्रुटियों की संख्या को सीमित करके निर्भरता में सुधार होता है।

हानि
हानि ऐसी चीजें हैं जो एक प्रणाली को प्रभावित कर सकती हैं और निर्भरता में गिरावट का कारण बन सकती हैं। तीन मुख्य शब्द हैं जिन्हें स्पष्ट रूप से समझा जाना चाहिए:


 * दोष:एक दोष (जिसे सामान्यतः ऐतिहासिक कारणों से बग के रूप में संदर्भित किया जाता है) एक प्रणाली में एक दोष है। किसी सिस्टम में खराबी की उपस्थिति से विफलता हो भी सकती है और नहीं भी। उदाहरण के लिए, हालांकि किसी सिस्टम में कोई दोष हो सकता है, इसके इनपुट और राज्य की स्थिति के कारण कभी भी इस दोष को निष्पादित नहीं किया जा सकता है ताकि कोई त्रुटि उत्पन्न हो; और इस प्रकार वह विशेष दोष कभी भी असफलता के रूप में प्रदर्शित नहीं होता है।
 * त्रुटि: एक त्रुटि सिस्टम के इच्छित व्यवहार और सिस्टम सीमा के अंदर उसके वास्तविक व्यवहार के बीच एक विसंगति है। त्रुटि तब होती है जब सिस्टम का कुछ हिस्सा गलती की सक्रियता के कारण अप्रत्याशित स्थिति में प्रवेश करता है। चूंकि त्रुटियाँ अमान्य अवस्थाओं से उत्पन्न होती हैं, इसलिए उन्हें विशेष तंत्रों के बिना निरीक्षण करना कठिन होता है, जैसे डिबगर या लॉग में डिबग आउटपुट।
 * विफलता: एक विफलता उस समय का एक उदाहरण है जब एक सिस्टम व्यवहार प्रदर्शित करता है जो उसके विनिर्देशों के विपरीत होता है। एक त्रुटि आवश्यक रूप से विफलता का कारण नहीं हो सकती है, उदाहरण के लिए एक सिस्टम द्वारा एक अपवाद फेंका जा सकता है लेकिन इसे गलती सहिष्णुता तकनीकों का उपयोग करके पकड़ा और संभाला जा सकता है, इसलिए सिस्टम का समग्र संचालन विनिर्देश के अनुरूप होगा।

यह नोट करना महत्वपूर्ण है कि विफलताएं सिस्टम सीमा पर दर्ज की जाती हैं। वे मूल रूप से त्रुटियाँ हैं जो सिस्टम की सीमा तक फैल गई हैं और देखने योग्य हो गई हैं। दोष, त्रुटियाँ और असफलताएँ एक तंत्र के अनुसार कार्य करती हैं। इस तंत्र को कभी-कभी दोष-त्रुटि-विफलता श्रृंखला के रूप में जाना जाता है। एक सामान्य नियम के रूप में एक गलती, सक्रिय होने पर, एक त्रुटि (जो एक अमान्य स्थिति है) का कारण बन सकती है और एक त्रुटि से उत्पन्न अमान्य स्थिति दूसरी त्रुटि या विफलता का कारण बन सकती है (जो निर्दिष्ट व्यवहार से एक अवलोकनीय विचलन है) सिस्टम की सीमा)। एक बार गलती सक्रिय हो जाने पर एक त्रुटि पैदा हो जाती है। एक त्रुटि उसी तरह से कार्य कर सकती है जैसे कि एक दोष जिसमें यह आगे त्रुटि की स्थिति पैदा कर सकता है, इसलिए एक त्रुटि एक सिस्टम सीमा के भीतर एक अवलोकनीय विफलता के बिना कई बार फैल सकती है। यदि कोई त्रुटि सिस्टम सीमा के बाहर फैलती है तो विफलता होने के बारे में कहा जाता है। एक विफलता मूल रूप से वह बिंदु है जिस पर यह कहा जा सकता है कि एक सेवा अपने विनिर्देशन को पूरा करने में विफल हो रही है। चूंकि एक सेवा से आउटपुट डेटा दूसरे में फीड किया जा सकता है, एक सेवा में विफलता एक गलती के रूप में दूसरी सेवा में फैल सकती है, इसलिए एक श्रृंखला का गठन किया जा सकता है: त्रुटि के कारण त्रुटि, त्रुटि के कारण विफलता, आदि।

साधन
चूंकि त्रुटि-श्रृंखला की क्रियाविधि समझी जाती है, इसलिए इन श्रृंखलाओं को तोड़ने के साधनों का निर्माण करना संभव है और इस प्रकार एक प्रणाली की निर्भरता में वृद्धि होती है। अब तक चार साधनों की पहचान की गई है:
 * 1) निवारण
 * 2) निष्कासन
 * 3) पूर्वानुमान
 * 4) सहनशीलता

त्रुटि निवारण एक प्रणाली में पेश होने वाले दोषों को रोकने से संबंधित है। यह विकास के तरीकों और अच्छी कार्यान्वयन तकनीकों के उपयोग से पूरा किया जा सकता है।

दोष हटाने को दो त्रुटि उप-श्रेणियों में उप-विभाजित किया जा सकता है: विकास के दौरान हटाना और उपयोग के दौरान हटाना।

विकास के दौरान हटाने के लिए सत्यापन की आवश्यकता होती है ताकि सिस्टम को उत्पादन में डालने से पहले दोषों का पता लगाया जा सके और उन्हें हटाया जा सके। एक बार जब सिस्टम को उत्पादन में डाल दिया जाता है तो विफलताओं को रिकॉर्ड करने और रखरखाव चक्र के माध्यम से उन्हें हटाने के लिए सिस्टम की आवश्यकता होती है।

दोष पूर्वानुमान संभावित दोषों की भविष्यवाणी करता है ताकि उन्हें हटाया जा सके या उनके प्रभावों को दरकिनार किया जा सके।

दोष सहनशीलता ऐसे तंत्र को स्थापित करने से संबंधित है जो एक प्रणाली को अभी भी दोषों की उपस्थिति में आवश्यक सेवा प्रदान करने की अनुमति देगा, हालांकि वह सेवा निम्न स्तर पर हो सकती है।

निर्भरता का मतलब सिस्टम के अंतिम उपयोगकर्ताओं को दिखाई देने वाली विफलताओं की संख्या को कम करना है।

दृढ़ता
दोष कैसे दिखाई देते हैं या बने रहते हैं, इसके आधार पर उन्हें इस प्रकार वर्गीकृत किया जाता है:


 * क्षणिक: वे बिना किसी स्पष्ट कारण के प्रकट होते हैं और बिना किसी स्पष्ट कारण के फिर से गायब हो जाते हैं
 * आंतरायिक: वे कई बार दिखाई देते हैं, संभवतः बिना किसी स्पष्ट पैटर्न के, और अपने आप गायब हो जाते हैं
 * स्थायी: एक बार दिखाई देने के बाद, वे अपने आप हल नहीं होते हैं

सूचना प्रणाली की निर्भरता और उत्तरजीविता
निर्भरता पर कुछ कार्य संरचित सूचना प्रणाली का उपयोग करते हैं, उदा सेवा-उन्मुख वास्तुकला के साथ, उत्तरजीविता विशेषता का परिचय देने के लिए, इस प्रकार उन अवक्रमित सेवाओं को ध्यान में रखते हुए जो एक सूचना प्रणाली को  गैर-मास्केबल विफलता के बाद बनाए रखती है, या फिर से शुरू करती है।

वर्तमान ढांचे में उपयोग क्षमता तंत्र वास्तुकला को पुनर्विन्यासन तंत्र को सक्षम करने के लिए प्रोत्साहित करता है, जो विफलता-सबूत सिस्टम बनाने के लिए अधिक प्रावधान करने के बजाय सबसे महत्वपूर्ण सेवाओं का समर्थन करने के लिए उपलब्ध, सुरक्षित संसाधनों पर ध्यान केंद्रित करता है।

नेटवर्क सूचना प्रणाली के सामान्यीकरण के साथ, उपयोगकर्ताओं के अनुभव को अधिक महत्व देने के लिए अभिगम्यता की शुरुआत की गई थी।

प्रदर्शन के स्तर को ध्यान में रखने के लिए, प्रदर्शन क्षमता के मापन को परिभाषित किया गया है "समय की निर्दिष्ट अवधि में दोषों की उपस्थिति में ऑब्जेक्ट सिस्टम कितना अच्छा प्रदर्शन करता है"।

कागजात

 * विल्फ्रेडो टोरेस-पोमालेस: सॉफ्टवेयर फॉल्ट टॉलरेंस: एक ट्यूटोरियल, 2002
 * स्टेफानो पोरकारेली, मार्को कैस्टल्डी, फेलिसिटा डि जियानडोमेनिको, एंड्रिया बोंडावल्ली, पाओला इनवरार्डी में पुन: विन्यास को प्रबंधित करने के लिए एक दृष्टिकोण दोष-सहिष्णु वितरित सिस्टम

सम्मेलन
अधिक क्षेत्रीय केंद्रित सम्मेलन:
 * भरोसेमंद सिस्टम और नेटवर्क (डीएसएन) पर अंतर्राष्ट्रीय संगोष्ठी: समुदाय का प्रमुख सम्मेलन, 1970 से प्रतिवर्ष आयोजित किया जाता है।
 * रिलायबल डिस्ट्रीब्यूटेड सिस्टम्स (SRDS) पर अंतर्राष्ट्रीय संगोष्ठी: इसकी 40वीं पेशकश 2021 में है।
 * लैटिन-अमेरिकन सिम्पोजियम ऑन डिपेंडेबल कंप्यूटिंग (LADC): इसकी 10वीं पेशकश 2021 में है।
 * पेसिफिक रिम इंटरनेशनल सिम्पोजियम ऑन डिपेंडेबल कंप्यूटिंग (PRDC): इसकी 25वीं पेशकश 2021 में है।

पत्रिकाओं

 * IEEE Transactions on Dependable and Secure Computing (TDSC) is the flagship journal that comes under the purview of the IEEE Technical Committee on Fault Tolerant Computing (TCFTC).
 * Prognostics Journal is an open access journal that provides an international forum for the electronic publication of original research and industrial experience articles in all areas of systems dependability and prognostics.
 * International Journal of Critical Computer-Based Systems

किताबें

 * जे.सी. लैप्री, डिपेंडेबिलिटी: बेसिक कॉन्सेप्ट्स एंड टर्मिनोलॉजी, स्प्रिंगर-वर्लाग, 1992। ISBN 0-387-82296-8
 * डैनियल पी. सिविओरेक, रॉबर्ट एस. स्वार्ज़, रिलायबल कंप्यूटर सिस्टम्स: डिज़ाइन एंड इवैल्यूएशन, ए के पीटर्स/सीआरसी प्रेस, 1998. आईएसबीएन 978-1568810928

अनुसंधान परियोजनाएं

 * DESEREC, बढ़ी हुई REConfigurability द्वारा निर्भरता और सुरक्षा, छठा ढांचा कार्यक्रम एकीकृत परियोजना 2006-2008
 * नोड्स, डिपेंडेबल सिस्टम्स पर नेटवर्क
 * ESFORS, वेब सेवाओं, सॉफ्टवेयर और सिस्टम के लिए यूरोपीय सुरक्षा फोरम, FP6/IST समन्वय कार्रवाई
 * HIDENETS अत्यधिक निर्भर आईपी-आधारित नेटवर्क और सेवाएं, FP6/IST लक्षित परियोजना 2006-2008
 * RESIST FP6/IST उत्कृष्टता नेटवर्क 2006-2007
 * RODIN कॉम्प्लेक्स सिस्टम FP6/IST लक्षित परियोजना 2004-2007 के लिए कठोर खुला विकास पर्यावरण
 * सुरक्षा और निर्भरता के लिए शांति प्रणाली इंजीनियरिंग, FP6/IST एकीकृत परियोजना 2006-2008
 * Willow उत्तरजीविता आर्किटेक्चर, और /20071118013735/http://dependability.cs.virginia.edu/info/STILT STILT, आतंकवाद हस्तक्षेप प्रणाली और बड़े पैमाने पर टीमवर्क 2002-2004
 * ANIKETOS भरोसेमंद और सुरक्षित सेवा संरचना, FP7/IST एकीकृत परियोजना 2010-2014