वितरित डेटा प्रवाह: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Set of events in a distributed application or protocol}} Image:Definition of a Distributed Data Flow.gif|right|thumbnail|300 पीएक्स | वि...")
 
No edit summary
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Short description|Set of events in a distributed application or protocol}}
{{Short description|Set of events in a distributed application or protocol}}
[[Image:Definition of a Distributed Data Flow.gif|right|thumbnail|300 पीएक्स | वितरित डेटा प्रवाह की परिभाषा में शामिल बुनियादी अवधारणाओं का एक उदाहरण।]]वितरित [[डेटा प्रवाह]] ("वितरित प्रवाह" के रूप में भी संक्षिप्त) एक वितरित कंप्यूटिंग या [[संचार प्रोटोकॉल]] में ईवेंट (कंप्यूटिंग) के एक सेट को संदर्भित करता है।
[[Image:Definition of a Distributed Data Flow.gif|right|thumbnail| वितरित डेटा प्रवाह की परिभाषा में सम्मिलित मूल अवधारणाओं का चित्रण।]]वितरित [[डेटा प्रवाह]] (वितरित प्रवाह के रूप में भी संक्षिप्त) एक वितरित अनुप्रयोग या [[संचार प्रोटोकॉल|प्रोटोकॉल]] में परिघटनाओं के एक समुच्चय को संदर्भित करता है।


वितरित डेटा प्रवाह जावा ([[प्रोग्रामिंग भाषा]]) जैसी प्रोग्रामिंग भाषाओं में [[ चर (प्रोग्रामिंग) ]] या [[ पैरामीटर (कंप्यूटर विज्ञान) ]] के अनुरूप एक उद्देश्य की पूर्ति करता है, जिसमें वे उस स्थिति का प्रतिनिधित्व कर सकते हैं जो सॉफ़्टवेयर की एक परत द्वारा संग्रहीत या संप्रेषित होती है। चर या पैरामीटर के विपरीत, जो राज्य की एक इकाई का प्रतिनिधित्व करते हैं जो एक ही स्थान पर रहता है, वितरित प्रवाह गतिशील और वितरित होते हैं: वे एक साथ एक ही समय में नेटवर्क के भीतर कई स्थानों पर दिखाई देते हैं। जैसे, वितरित प्रवाह वितरित प्रणालियों के कुछ वर्गों के शब्दार्थ और आंतरिक कार्यप्रणाली को मॉडलिंग करने का एक अधिक प्राकृतिक तरीका है। विशेष रूप से, वितरित प्रोटोकॉल के हिस्सों के बीच उच्च-स्तरीय तार्किक संबंधों को व्यक्त करने के लिए वितरित डेटा प्रवाह अमूर्तता का उपयोग एक सुविधाजनक तरीके के रूप में किया गया है।<ref name="ostrowski2009debs">Ostrowski, K., Birman, K., Dolev, D., and Sakoda, C. (2009). "Implementing Reliable Event Streams in Large Systems via Distributed Data Flows and Recursive Delegation", ''3rd ACM International Conference on Distributed Event-Based Systems (DEBS 2009)'', Nashville, TN, USA, July 6–9, 2009, http://www.cs.cornell.edu/~krzys/krzys_debs2009.pdf {{Webarchive|url=https://web.archive.org/web/20110606010908/http://www.cs.cornell.edu/~krzys/krzys_debs2009.pdf |date=2011-06-06 }}</ref><ref name="ostrowski2009plos">Ostrowski, K., Birman, K., and Dolev, D. (2009). "Distributed Data Flow Language for Multi-Party Protocols", ''5th ACM SIGOPS Workshop on Programming Languages and Operating Systems (PLOS 2009)'', Big Sky, MT, USA. October 11, 2009, http://www.cs.cornell.edu/~krzys/krzys_plos2009.pdf {{Webarchive|url=https://web.archive.org/web/20110606012748/http://www.cs.cornell.edu/~krzys/krzys_plos2009.pdf |date=2011-06-06 }}</ref><ref name="ostrowski2009oopsla">Ostrowski, K., Birman, K., Dolev, D. (2009). "Programming Live Distributed Objects with Distributed Data Flows", Submitted to the ''International Conference on Object Oriented Programming, Systems, Languages and Applications (OOPSLA 2009)'', http://www.cs.cornell.edu/~krzys/krzys_oopsla2009.pdf {{Webarchive|url=https://web.archive.org/web/20090816105417/http://www.cs.cornell.edu/~krzys/krzys_oopsla2009.pdf |date=2009-08-16 }}</ref>
वितरित डेटा प्रवाह जावा ([[प्रोग्रामिंग भाषा]]) जैसी प्रोग्रामिंग भाषाओं में [[ चर (प्रोग्रामिंग) |चर (प्रोग्रामिंग)]] या [[ पैरामीटर (कंप्यूटर विज्ञान) |मैथड (विधि) प्राचल (कंप्यूटर विज्ञान)]] के अनुरूप एक उद्देश्य की पूर्ति करता है, जिसमे वे उस स्थिति का प्रतिनिधित्व कर सकते हैं जो सॉफ़्टवेयर की एक परत द्वारा संग्रहीत या संप्रेषित है। चर या पैरामीटर के विपरीत, जो एकल स्थान के स्थिति की इकाई का प्रतिनिधित्व करते हैं, वितरित प्रवाह गतिशील होते हैं; वे एक साथ एक ही समय में नेटवर्क के भीतर अनेक स्थानों पर उपस्थित होते हैं। उसी प्रकार से, वितरित प्रवाह वितरित प्रणालियों के कुछ वर्गों के संकेतार्थविज्ञान और आंतरिक कार्य को प्रतिरूपण (मॉडलिंग) करने का अधिक प्राकृतिक तरीका है। विशेष रूप से, वितरित प्रोटोकॉल के भागों के मध्य उच्च-स्तरीय तार्किक संबंधों को व्यक्त करने के लिए वितरित डेटा प्रवाह संक्षेपण का उपयोग एक सुविधाजनक तरीके के रूप में किया गया है।<ref name="ostrowski2009debs">Ostrowski, K., Birman, K., Dolev, D., and Sakoda, C. (2009). "Implementing Reliable Event Streams in Large Systems via Distributed Data Flows and Recursive Delegation", ''3rd ACM International Conference on Distributed Event-Based Systems (DEBS 2009)'', Nashville, TN, USA, July 6–9, 2009, http://www.cs.cornell.edu/~krzys/krzys_debs2009.pdf {{Webarchive|url=https://web.archive.org/web/20110606010908/http://www.cs.cornell.edu/~krzys/krzys_debs2009.pdf |date=2011-06-06 }}</ref><ref name="ostrowski2009plos">Ostrowski, K., Birman, K., and Dolev, D. (2009). "Distributed Data Flow Language for Multi-Party Protocols", ''5th ACM SIGOPS Workshop on Programming Languages and Operating Systems (PLOS 2009)'', Big Sky, MT, USA. October 11, 2009, http://www.cs.cornell.edu/~krzys/krzys_plos2009.pdf {{Webarchive|url=https://web.archive.org/web/20110606012748/http://www.cs.cornell.edu/~krzys/krzys_plos2009.pdf |date=2011-06-06 }}</ref><ref name="ostrowski2009oopsla">Ostrowski, K., Birman, K., Dolev, D. (2009). "Programming Live Distributed Objects with Distributed Data Flows", Submitted to the ''International Conference on Object Oriented Programming, Systems, Languages and Applications (OOPSLA 2009)'', http://www.cs.cornell.edu/~krzys/krzys_oopsla2009.pdf {{Webarchive|url=https://web.archive.org/web/20090816105417/http://www.cs.cornell.edu/~krzys/krzys_oopsla2009.pdf |date=2009-08-16 }}</ref>




== अनौपचारिक गुण ==
== अनौपचारिक गुणधर्म ==
{{unreferenced section|date=January 2023}}
वितरित डेटा प्रवाह निम्नलिखित अनौपचारिक गुणधर्मों को संतुष्ट करता है।
एक वितरित डेटा प्रवाह निम्नलिखित अनौपचारिक गुणों को संतुष्ट करता है।
* अतुल्यकालिक, गैर-अवरुद्ध और एकदिशिक। प्रत्येक परिघटना [[गैर-अवरुद्ध तुल्यकालन|गैर-अवरुद्ध]], एकदिशिक, [[ अतुल्यकालिक विधि मंगलाचरण |अतुल्यकालिक विधि उत्क्रियण]] या दो परतों या सॉफ़्टवेयर घटकों के मध्य पारित होने वाले अन्य प्रकार के स्पष्ट या अस्पष्ट संदेश के एक उदाहरण का प्रतिनिधित्व करती है। उदाहरण के लिए, प्रत्येक घटना एक अंतर्निहित बहुस्त्र्पीय प्रोटोकॉल के लिए एक एप्लीकेशन परत द्वारा निर्गत किए गए पैकेट को प्रसारण करने के लिए एक अनुरोध का प्रतिनिधित्व कर सकती है। परिघटनाएं एकदिशिक और अतुल्यकालिक होना महत्वपूर्ण हैं। सामान्यतः परिणाम देने योग्य विधियों के उत्क्रियण को दो पृथक प्रवाहों के रूप में दर्शाया जाएगा: एक प्रवाह अनुरोधों तथा द्वितीय प्रवाह प्रतिक्रियाओं का प्रतिनिधित्व करता है।
* एसिंक्रोनस, नॉन-ब्लॉकिंग और वन-वे। प्रत्येक ईवेंट [[गैर-अवरुद्ध तुल्यकालन]]|नॉन-ब्लॉकिंग, वन-वे, [[ अतुल्यकालिक विधि मंगलाचरण ]] या दो परतों या सॉफ़्टवेयर घटकों के बीच स्पष्ट या निहित संदेश के अन्य रूप के एक उदाहरण का प्रतिनिधित्व करता है। उदाहरण के लिए, प्रत्येक घटना एक अंतर्निहित [[विश्वसनीय [[ बहुस्त्र्पीय ]]]] के लिए एक आवेदन परत द्वारा जारी किए गए [[पैकेट (सूचना प्रौद्योगिकी)]] को मल्टीकास्ट करने के लिए एक अनुरोध का प्रतिनिधित्व कर सकती है। आवश्यकता है कि ईवेंट एक तरफ़ा और अतुल्यकालिक हैं। परिणामों को लौटाने वाली विधियों के आह्वान को आम तौर पर दो अलग-अलग प्रवाहों के रूप में दर्शाया जाएगा: एक प्रवाह जो अनुरोधों का प्रतिनिधित्व करता है, और दूसरा प्रवाह जो प्रतिक्रियाओं का प्रतिनिधित्व करता है।
* सजातीय, एकदिशीय और समरूप। वितरित प्रवाह में सभी परिघटनाएं समान कार्यात्मक और तार्किक उद्देश्य की पूर्ति करती हैं और एक दूसरे से संबंधित हैं; सामान्यतः हमें आवश्यकता होती है कि वे समान कार्यात्मक [[अमूर्त परत|परत]] या समान घटकों के उदाहरणों के मध्य किन्तु संभवतः कंप्यूटर नेटवर्क के भीतर विभिन्न नोड्स पर, मैथड कॉल या संदेश विनिमय का प्रतिनिधित्व करें। इसके अतिरिक्त, सभी परिघटनाओं को समान दिशा में प्रवाहित होना चाहिए (अर्थात, एक प्रकार की परत या घटक सदैव उत्पादन करता है तथा द्वितीय सदैव परिघटनाओं का उपभोग करता है) और एक ही प्रकार का प्रदायभार (पेलोड) प्रेरित करता है। उदाहरण के लिए, परिघटनाओं का एक समुच्चय जिसमें समान बहुस्त्र्पीय प्रोटोकॉल के लिए समान एप्लिकेशन परत द्वारा निर्गत किए गए सभी बहुस्त्र्पीय अनुरोध सम्मिलित हैं जो कि एक वितरित प्रवाह है। दूसरी ओर, परिघटनाओं का एक समुच्चय जिसमें विभिन्न अनुप्रयोगों द्वारा विभिन्न बहुस्त्र्पीय प्रोटोकॉल के लिए किए गए बहुस्त्र्पीय अनुरोध सम्मिलित हैं, उन्हें वितरित प्रवाह नहीं माना जाएगा तथा न ही उन परिघटनाओं के समुच्चय होंगे जो बहुस्त्र्पीय अनुरोधों के साथ आभारोक्ति और त्रुटि सूचनाओं का प्रतिनिधित्व करते हैं।
* सजातीय, यूनिडायरेक्शनल और एकसमान। वितरित प्रवाह में सभी घटनाएँ समान कार्यात्मक और तार्किक उद्देश्य की पूर्ति करती हैं, और एक दूसरे से संबंधित हैं; आम तौर पर, हमें आवश्यकता होती है कि वे एक ही कार्यात्मक [[अमूर्त परत]] के ऑब्जेक्ट (कंप्यूटर विज्ञान) या समान घटक-आधारित सॉफ़्टवेयर इंजीनियरिंग के उदाहरणों के बीच विधि कॉल या संदेश के आदान-प्रदान का प्रतिनिधित्व करते हैं, लेकिन शायद [[ संगणक संजाल ]] के भीतर विभिन्न [[नोड (नेटवर्किंग)]] पर। इसके अलावा, सभी घटनाओं को एक ही दिशा में प्रवाहित होना चाहिए (यानी, एक प्रकार की परत या घटक हमेशा उत्पादन करता है, और दूसरा हमेशा घटनाओं का उपभोग करता है), और एक ही प्रकार का [[पेलोड (कंप्यूटिंग)]] ले जाता है। उदाहरण के लिए, घटनाओं का एक सेट जिसमें एक ही मल्टीकास्ट प्रोटोकॉल के लिए एक ही एप्लिकेशन परत द्वारा जारी किए गए सभी मल्टीकास्ट अनुरोध शामिल हैं, एक वितरित प्रवाह है। दूसरी ओर, घटनाओं का एक सेट जिसमें विभिन्न अनुप्रयोगों द्वारा विभिन्न मल्टीकास्ट प्रोटोकॉल के लिए किए गए मल्टीकास्ट अनुरोध शामिल हैं, को वितरित प्रवाह नहीं माना जाएगा, और न ही उन घटनाओं का एक सेट होगा जो मल्टीकास्ट अनुरोधों के साथ-साथ पावती और त्रुटि सूचनाओं का प्रतिनिधित्व करते हैं।
* समवर्ती, निरंतर और वितरित। सामान्यतः प्रवाह में वे सभी घटनाएं सम्मिलित होती हैं जो सॉफ़्टवेयर की दो परतों के मध्य अलग-अलग स्थानों पर और समय की एक सीमित या अनंत अवधि में प्रवाहित होती हैं। इस प्रकार एक वितरित प्रवाह में सामान्य घटनाओं को स्थान (वे अलग-अलग नोड्स पर होते हैं) और समय (वे अलग-अलग समय पर होते हैं) दोनों में वितरित किया जाता है। उदाहरण के लिए, बहुस्त्र्पीय अनुरोधों के प्रवाह में विभिन्न नोड्स पर दिए गए [[अनुप्रयोग परत|एप्लिकेशन परत]] के उदाहरणों द्वारा किए गए ऐसे सभी अनुरोध सम्मिलित होंगे; सामान्यतः इस प्रकार के प्रवाह में वे परिघटनाएँ सम्मिलित होंगी जो दिए गए बहुस्त्र्पीय प्रोटोकॉल में सहयोगी सभी नोड्स पर घटित होती हैं। वे प्रवाह जिनमें सभी परिघटनाएँ समान नोड पर घटित होती हैं उन्हें अपह्रासित माना जाएगा।
* समवर्ती, निरंतर और वितरित। प्रवाह में आमतौर पर वे सभी घटनाएँ शामिल होती हैं जो सॉफ्टवेयर की दो परतों के बीच प्रवाहित होती हैं, एक साथ विभिन्न स्थानों पर, और समय की एक परिमित या अनंत अवधि में। इस प्रकार, सामान्य तौर पर, एक वितरित प्रवाह में घटनाएं अंतरिक्ष में (वे अलग-अलग नोड्स पर होती हैं) और समय में (वे अलग-अलग समय पर होती हैं) दोनों में वितरित की जाती हैं। उदाहरण के लिए, मल्टीकास्ट अनुरोधों के प्रवाह में विभिन्न नोड्स पर दिए गए [[अनुप्रयोग परत]] उदाहरणों द्वारा किए गए ऐसे सभी अनुरोध शामिल होंगे; आम तौर पर, इस तरह के प्रवाह में वे घटनाएँ शामिल होंगी जो दिए गए मल्टीकास्ट प्रोटोकॉल में भाग लेने वाले सभी नोड्स पर होती हैं। एक प्रवाह, जिसमें सभी घटनाएँ एक ही नोड पर घटित होती हैं, को पतित माना जाएगा।


== औपचारिक प्रतिनिधित्व ==
== औपचारिक प्रतिनिधित्व ==
{{unreferenced section|date=January 2023}}
औपचारिक रूप से, प्रत्येक परिघटना को वितरित प्रवाह में (x, t, k, v) रूप के चौगुने के रूप में दर्शाते हैं, जहाँ x स्थान (उदाहरण के लिए, भौतिक नोड का नेटवर्क पता) है जिस पर परिघटना होती है, t वह समय है जिस पर ऐसा घटित होता है, k एक संस्करण या विशेष घटना की पहचान करने वाली एक अनुक्रम संख्या और v एक मान है जो परिघटना पेलोड का प्रतिनिधित्व करता है (उदाहरण के लिए, मैथड कॉल में पारित सभी तर्क)। प्रत्येक वितरित प्रवाह ऐसे चतुष्कोणों का एक (संभवतः अनंत) समुच्चय है जो निम्नलिखित तीन औपचारिक गुणधर्मों को संतुष्ट करता है।
औपचारिक रूप से, हम प्रत्येक घटना को एक वितरित प्रवाह में (x, t, k, v) रूप के चौगुने के रूप में दर्शाते हैं, जहाँ x स्थान है (उदाहरण के लिए, भौतिक नोड का नेटवर्क पता) जिस पर घटना होती है, t है जिस समय ऐसा होता है, k एक संस्करण है, या विशेष घटना की पहचान करने वाली अनुक्रम संख्या है, और v एक मान है जो घटना पेलोड का प्रतिनिधित्व करता है (उदाहरण के लिए, एक विधि कॉल में पारित सभी तर्क)। प्रत्येक वितरित प्रवाह ऐसे चतुष्कोणों का एक (संभवतः अनंत) सेट है जो निम्नलिखित तीन औपचारिक गुणों को संतुष्ट करता है।


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


उपरोक्त के अलावा, प्रवाह में कई अतिरिक्त गुण हो सकते हैं।
उपरोक्त के अतिरिक्त, प्रवाह में कई अतिरिक्त गुणधर्म हो सकते हैं।


* 'गाढ़ापन'। एक वितरित प्रवाह को सुसंगत कहा जाता है यदि समान संस्करण वाली घटनाओं का हमेशा समान मूल्य होता है, भले ही वे अलग-अलग स्थानों पर हों। सुसंगत प्रवाह आम तौर पर प्रोटोकॉल या एप्लिकेशन द्वारा किए गए विभिन्न प्रकार के वैश्विक निर्णयों का प्रतिनिधित्व करते हैं।
* 'संगतता'। एक वितरित प्रवाह को सुसंगत कहा जाता है यदि समान संस्करण वाली परिघटनाओं का सदैव मान समान होता है, यद्यपि वे विभिन्न स्थानों पर घटित हों। सुसंगत प्रवाह विशिष्ट रूप से प्रोटोकॉल या एप्लिकेशन द्वारा किए गए विभिन्न प्रकार के वैश्विक निर्णयों का प्रतिनिधित्व करते हैं।
* 'एकरसता'। एक वितरित प्रवाह को कमजोर रूप से मोनोटोनिक कहा जाता है यदि किसी भी जोड़ी के लिए e_1 और e_2 जो एक ही स्थान पर होते हैं, यदि e_1 का e_2 से छोटा संस्करण है, तो e_1 को e_2 से छोटा मान रखना चाहिए। एक वितरित प्रवाह को जोरदार मोनोटोनिक (या केवल मोनोटोनिक) कहा जाता है यदि यह अलग-अलग स्थानों पर होने वाली घटनाओं e_1 और e_2 के जोड़े के लिए भी सही है। अत्यधिक मोनोटोनिक प्रवाह हमेशा सुसंगत होते हैं। वे आम तौर पर विभिन्न प्रकार के अपरिवर्तनीय निर्णयों का प्रतिनिधित्व करते हैं। कमजोर रूप से मोनोटोनिक प्रवाह सुसंगत हो सकता है या नहीं भी हो सकता है।
* 'दिष्टता'। वितरित प्रवाह को दुर्बलतः एकदिष्ट कहा जाता है यदि एक ही स्थान पर घटित परिघटना e_1 और e_2 के किसी भी युग्म के लिए, यदि e_1 का e_2 से लघुतर संस्करण है, तो e_1 को e_2 से अधिक छोटा मान रखना चाहिए। वितरित प्रवाह को प्रबल एकदिष्ट (या केवल एकदिष्ट) कहा जाता है यदि यह विभिन्न स्थानों पर घटित परिघटनाओं e_1 और e_2 के युग्म के लिए भी सत्य है। प्रबल एकदिष्ट प्रवाह सदैव सुसंगत होते हैं। वे विशिष्ट रूप से विभिन्न प्रकार के अपरिवर्तनीय निर्णयों का प्रतिनिधित्व करते हैं। दुर्बलतः एकदिष्ट प्रवाह सुसंगत हो सकता है या नहीं भी हो सकता है।


== संदर्भ ==
== संदर्भ ==
{{reflist}}
{{reflist}}


{{DEFAULTSORT:Distributed Data Flow}}[[Category: नेटवर्क प्रोटोकॉल]] [[Category: वितरित कंप्यूटिंग वास्तुकला]]
{{DEFAULTSORT:Distributed Data Flow}}


 
[[Category:Created On 15/05/2023|Distributed Data Flow]]
 
[[Category:Lua-based templates|Distributed Data Flow]]
[[Category: Machine Translated Page]]
[[Category:Machine Translated Page|Distributed Data Flow]]
[[Category:Created On 15/05/2023]]
[[Category:Pages with script errors|Distributed Data Flow]]
[[Category:Templates Vigyan Ready|Distributed Data Flow]]
[[Category:Templates that add a tracking category|Distributed Data Flow]]
[[Category:Templates that generate short descriptions|Distributed Data Flow]]
[[Category:Templates using TemplateData|Distributed Data Flow]]
[[Category:Webarchive template wayback links]]
[[Category:नेटवर्क प्रोटोकॉल|Distributed Data Flow]]
[[Category:वितरित कंप्यूटिंग वास्तुकला|Distributed Data Flow]]

Latest revision as of 11:24, 8 June 2023

वितरित डेटा प्रवाह की परिभाषा में सम्मिलित मूल अवधारणाओं का चित्रण।

वितरित डेटा प्रवाह (वितरित प्रवाह के रूप में भी संक्षिप्त) एक वितरित अनुप्रयोग या प्रोटोकॉल में परिघटनाओं के एक समुच्चय को संदर्भित करता है।

वितरित डेटा प्रवाह जावा (प्रोग्रामिंग भाषा) जैसी प्रोग्रामिंग भाषाओं में चर (प्रोग्रामिंग) या मैथड (विधि) प्राचल (कंप्यूटर विज्ञान) के अनुरूप एक उद्देश्य की पूर्ति करता है, जिसमे वे उस स्थिति का प्रतिनिधित्व कर सकते हैं जो सॉफ़्टवेयर की एक परत द्वारा संग्रहीत या संप्रेषित है। चर या पैरामीटर के विपरीत, जो एकल स्थान के स्थिति की इकाई का प्रतिनिधित्व करते हैं, वितरित प्रवाह गतिशील होते हैं; वे एक साथ एक ही समय में नेटवर्क के भीतर अनेक स्थानों पर उपस्थित होते हैं। उसी प्रकार से, वितरित प्रवाह वितरित प्रणालियों के कुछ वर्गों के संकेतार्थविज्ञान और आंतरिक कार्य को प्रतिरूपण (मॉडलिंग) करने का अधिक प्राकृतिक तरीका है। विशेष रूप से, वितरित प्रोटोकॉल के भागों के मध्य उच्च-स्तरीय तार्किक संबंधों को व्यक्त करने के लिए वितरित डेटा प्रवाह संक्षेपण का उपयोग एक सुविधाजनक तरीके के रूप में किया गया है।[1][2][3]


अनौपचारिक गुणधर्म

वितरित डेटा प्रवाह निम्नलिखित अनौपचारिक गुणधर्मों को संतुष्ट करता है।

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

औपचारिक प्रतिनिधित्व

औपचारिक रूप से, प्रत्येक परिघटना को वितरित प्रवाह में (x, t, k, v) रूप के चौगुने के रूप में दर्शाते हैं, जहाँ x स्थान (उदाहरण के लिए, भौतिक नोड का नेटवर्क पता) है जिस पर परिघटना होती है, t वह समय है जिस पर ऐसा घटित होता है, k एक संस्करण या विशेष घटना की पहचान करने वाली एक अनुक्रम संख्या और v एक मान है जो परिघटना पेलोड का प्रतिनिधित्व करता है (उदाहरण के लिए, मैथड कॉल में पारित सभी तर्क)। प्रत्येक वितरित प्रवाह ऐसे चतुष्कोणों का एक (संभवतः अनंत) समुच्चय है जो निम्नलिखित तीन औपचारिक गुणधर्मों को संतुष्ट करता है।

  • समय t में किसी भी परिमित बिंदु के लिए प्रवाह में अनेक घटनाएँ हो सकती हैं जो समय t या उससे पूर्व घटित होती हैं। इसका तात्पर्य यह है कि उस प्रवाह में सदैव उस बिंदु को इंगित किया जा सकता है जिस पर प्रवाह उत्पन्न हुआ था। प्रवाह स्वयं अनंत हो सकता है; ऐसी स्थिति में किसी भी समय,अंततः एक नई परिघटना प्रवाह में दिखाई देगी।
  • एक ही स्थान पर घटित परिघटना e_1 और e_2 के किसी भी युग्म के लिए, यदि e_1 e_2 से पूर्व समय में होता है, तो e_1 में संस्करण संख्या भी e_2 से लघुतर होनी चाहिए।
  • एक ही स्थान पर घटित परिघटना e_1 और e_2 के किसी भी युग्म के लिए, यदि दो परिघटनाओं में समान संस्करण संख्याएँ हैं, तो उनके मान भी समान होने चाहिए।

उपरोक्त के अतिरिक्त, प्रवाह में कई अतिरिक्त गुणधर्म हो सकते हैं।

  • 'संगतता'। एक वितरित प्रवाह को सुसंगत कहा जाता है यदि समान संस्करण वाली परिघटनाओं का सदैव मान समान होता है, यद्यपि वे विभिन्न स्थानों पर घटित हों। सुसंगत प्रवाह विशिष्ट रूप से प्रोटोकॉल या एप्लिकेशन द्वारा किए गए विभिन्न प्रकार के वैश्विक निर्णयों का प्रतिनिधित्व करते हैं।
  • 'दिष्टता'। वितरित प्रवाह को दुर्बलतः एकदिष्ट कहा जाता है यदि एक ही स्थान पर घटित परिघटना e_1 और e_2 के किसी भी युग्म के लिए, यदि e_1 का e_2 से लघुतर संस्करण है, तो e_1 को e_2 से अधिक छोटा मान रखना चाहिए। वितरित प्रवाह को प्रबल एकदिष्ट (या केवल एकदिष्ट) कहा जाता है यदि यह विभिन्न स्थानों पर घटित परिघटनाओं e_1 और e_2 के युग्म के लिए भी सत्य है। प्रबल एकदिष्ट प्रवाह सदैव सुसंगत होते हैं। वे विशिष्ट रूप से विभिन्न प्रकार के अपरिवर्तनीय निर्णयों का प्रतिनिधित्व करते हैं। दुर्बलतः एकदिष्ट प्रवाह सुसंगत हो सकता है या नहीं भी हो सकता है।

संदर्भ

  1. Ostrowski, K., Birman, K., Dolev, D., and Sakoda, C. (2009). "Implementing Reliable Event Streams in Large Systems via Distributed Data Flows and Recursive Delegation", 3rd ACM International Conference on Distributed Event-Based Systems (DEBS 2009), Nashville, TN, USA, July 6–9, 2009, http://www.cs.cornell.edu/~krzys/krzys_debs2009.pdf Archived 2011-06-06 at the Wayback Machine
  2. Ostrowski, K., Birman, K., and Dolev, D. (2009). "Distributed Data Flow Language for Multi-Party Protocols", 5th ACM SIGOPS Workshop on Programming Languages and Operating Systems (PLOS 2009), Big Sky, MT, USA. October 11, 2009, http://www.cs.cornell.edu/~krzys/krzys_plos2009.pdf Archived 2011-06-06 at the Wayback Machine
  3. Ostrowski, K., Birman, K., Dolev, D. (2009). "Programming Live Distributed Objects with Distributed Data Flows", Submitted to the International Conference on Object Oriented Programming, Systems, Languages and Applications (OOPSLA 2009), http://www.cs.cornell.edu/~krzys/krzys_oopsla2009.pdf Archived 2009-08-16 at the Wayback Machine