वितरित सिस्टम में रिमोट प्रोसीजर कॉल (RPC) प्रोटोकॉल
आरपीसी क्या है?
दूरस्थ प्रक्रिया कॉल (आरपीसी) एक अंतरप्रक्रिया संचार तकनीक है। RPC का पूर्ण रूप रिमोट प्रोसीजर कॉल है। इसका उपयोग क्लाइंट-सर्वर अनुप्रयोगों के लिए किया जाता है। RPC तंत्र का उपयोग तब किया जाता है जब कोई कंप्यूटर प्रोग्राम किसी प्रक्रिया या सबरूटीन को किसी भिन्न एड्रेस स्पेस में निष्पादित करने का कारण बनता है, जिसे प्रोग्रामर द्वारा दूरस्थ इंटरैक्शन के लिए विवरण को विशेष रूप से कोड किए बिना सामान्य प्रक्रिया कॉल के रूप में कोड किया जाता है।
यह प्रक्रिया कॉल निम्न-स्तरीय ट्रांसपोर्ट प्रोटोकॉल का भी प्रबंधन करती है, जैसे कि यूजर डेटाग्राम प्रोटोकॉल, Transmission कंट्रोल प्रोटोकॉल/इंटरनेट प्रोटोकॉल आदि। इसका उपयोग प्रोग्रामों के बीच संदेश डेटा ले जाने के लिए किया जाता है।
आर.पी.सी. के प्रकार
आर.पी.सी. के तीन प्रकार हैं:
- कॉलबैक RPC
- प्रसारण आरपीसी
- बैच-मोड RPC
कॉलबैक RPC
इस प्रकार का RPC भाग लेने वाली प्रक्रियाओं के बीच P2P प्रतिमान को सक्षम बनाता है। यह एक प्रक्रिया को क्लाइंट और सर्वर दोनों सेवाएँ प्रदान करने में मदद करता है।
कॉलबैक RPC के कार्य:
- दूरस्थ रूप से संसाधित इंटरैक्टिव अनुप्रयोग समस्याएँ
- क्लाइंट हैंडल के साथ सर्वर प्रदान करता है
- कॉलबैक क्लाइंट प्रक्रिया को प्रतीक्षा कराता है
- कॉलबैक डेडलॉक प्रबंधित करें
- यह सहभागी प्रक्रियाओं के बीच सहकर्मी-से-सहकर्मी प्रतिमान को सुगम बनाता है।
प्रसारण आरपीसी
ब्रॉडकास्ट RPC एक क्लाइंट का अनुरोध है, जो नेटवर्क पर प्रसारित होता है, तथा उन सभी सर्वरों द्वारा संसाधित किया जाता है जिनके पास उस अनुरोध को संसाधित करने की विधि होती है।
प्रसारण आरपीसी के कार्य:
- आपको यह निर्दिष्ट करने की अनुमति देता है कि क्लाइंट के अनुरोध संदेश को प्रसारित किया जाना है।
- आप प्रसारण पोर्ट घोषित कर सकते हैं.
- यह भौतिक नेटवर्क पर लोड को कम करने में मदद करता है
बैच-मोड RPC
बैच-मोड RPC, क्लाइंट-साइड पर ट्रांसमिशन बफर में RPC अनुरोधों को कतारबद्ध करने, अलग करने और फिर उन्हें एक बैच में नेटवर्क पर सर्वर पर भेजने में मदद करता है।
बैच-मोड RPC के कार्य:
- यह अनुरोध भेजने में लगने वाले ओवरहेड को न्यूनतम कर देता है, क्योंकि यह उन्हें नेटवर्क के माध्यम से एक बैच में सर्वर पर भेजता है।
- इस प्रकार का RPC प्रोटोकॉल केवल उस अनुप्रयोग के लिए कुशल है जिसे कम कॉल दरों की आवश्यकता होती है।
- इसके लिए एक विश्वसनीय ट्रांसमिशन प्रोटोकॉल की आवश्यकता है।
आरपीसी Archiटेक्चर
RPC आर्किटेक्चर में मुख्य रूप से कार्यक्रम के पांच घटक होते हैं:
- ग्राहक
- क्लाइंट स्टब
- आरपीसी रनटाइम
- सर्वर स्टब
- सर्वर
आरपीसी कैसे काम करता है?
RPC प्रक्रिया के दौरान निम्नलिखित चरण होते हैं:
चरण 1) क्लाइंट, क्लाइंट स्टब, और RPC रन टाइम का एक इंस्टेंस क्लाइंट मशीन पर निष्पादित होता है।
चरण 2) क्लाइंट सामान्य तरीके से पैरामीटर पास करके क्लाइंट स्टब प्रक्रिया शुरू करता है। क्लाइंट स्टब क्लाइंट के अपने एड्रेस स्पेस में स्टोर होता है। यह स्थानीय RPC रनटाइम को सर्वर स्टब को वापस भेजने के लिए भी कहता है।
चरण 3) इस चरण में, उपयोगकर्ता द्वारा नियमित स्थानीय प्रक्रियात्मक कैल द्वारा एक्सेस किया गया RPC रनटाइम क्लाइंट और सर्वर के बीच नेटवर्क के बीच संदेशों के प्रसारण का प्रबंधन करता है। यह पुनःसंचरण, पावती, रूटिंग और एन्क्रिप्शन का कार्य भी करता है।
चरण 4) सर्वर प्रक्रिया पूरी करने के बाद, यह सर्वर स्टब पर वापस लौटता है, जो रिटर्न वैल्यू को एक संदेश में पैक (मार्शल) करता है। सर्वर स्टब फिर ट्रांसपोर्ट लेयर पर एक संदेश वापस भेजता है।
चरण 5) इस चरण में, ट्रांसपोर्ट लेयर परिणाम संदेश को क्लाइंट ट्रांसपोर्ट लेयर को वापस भेजती है, जो क्लाइंट स्टब को संदेश लौटाता है।
चरण 6) इस चरण में, क्लाइंट स्टब परिणामी पैकेट में रिटर्न पैरामीटर्स को डीमार्शल (अनपैक) करता है, और निष्पादन प्रक्रिया कॉलर के पास वापस लौटती है।
आर.पी.सी. की विशेषताएं
आरपीसी की आवश्यक विशेषताएं इस प्रकार हैं:
- कॉल की गई प्रक्रिया किसी अन्य प्रक्रिया में है, जो संभवतः किसी अन्य मशीन में स्थित है।
- प्रक्रियाएं पता स्थान साझा नहीं करती हैं।
- पैरामीटर केवल मानों द्वारा पारित किये जाते हैं।
- RPC सर्वर प्रक्रिया के वातावरण के भीतर निष्पादित होती है।
- यह कॉलिंग प्रक्रिया के वातावरण तक पहुंच प्रदान नहीं करता है।
आरपीसी की विशेषताएं
आरपीसी की महत्वपूर्ण विशेषताएं इस प्रकार हैं:
- सरल कॉल सिंटैक्स
- ज्ञात शब्दार्थ प्रदान करता है
- एक अच्छी तरह से परिभाषित इंटरफ़ेस प्रदान करें
- यह एक ही या विभिन्न मशीनों पर प्रक्रियाओं के बीच संचार कर सकता है
आर.पी.सी. के लाभ
आरपीसी के लाभ/पक्ष इस प्रकार हैं:
- आरपीसी विधि उच्च स्तरीय भाषाओं में प्रक्रिया कॉल के पारंपरिक उपयोग द्वारा क्लाइंट को सर्वर के साथ संचार करने में मदद करती है।
- RPC विधि स्थानीय प्रक्रिया कॉल पर आधारित होती है, लेकिन कॉल की गई प्रक्रिया का निष्पादन संभवतः किसी भिन्न प्रक्रिया में और आमतौर पर किसी भिन्न कंप्यूटर में होता है।
- RPC प्रक्रिया और थ्रेड-उन्मुख मॉडल का समर्थन करता है।
- RPC आंतरिक संदेश भेजने की प्रणाली को उपयोगकर्ता से छिपा देता है।
- कोड को पुनः लिखने और पुनः विकसित करने के लिए न्यूनतम प्रयास की आवश्यकता होती है।
- दूरस्थ प्रक्रिया कॉल का उपयोग वितरित और स्थानीय वातावरण के प्रयोजन के लिए किया जा सकता है।
- यह प्रदर्शन में सुधार के लिए कई प्रोटोकॉल परतों को प्रतिबद्ध करता है।
- RPC अमूर्तता प्रदान करता है। उदाहरण के लिए, नेटवर्क संचार की संदेश-प्रेषण प्रकृति उपयोगकर्ता से छिपी रहती है।
- आरपीसी अनुप्रयोगों को केवल स्थानीय वातावरण में ही नहीं, बल्कि वितरित वातावरण में भी उपयोग करने की अनुमति देता है।
- RPC कोड के साथ, पुनःलेखन और पुनःविकास का प्रयास न्यूनतम हो जाता है।
- RPC द्वारा प्रक्रिया-उन्मुख और थ्रेड-उन्मुख मॉडल का समर्थन।
आर.पी.सी. के नुकसान
RPC का उपयोग करने के नुकसान/कमी इस प्रकार हैं:
- रिमोट प्रोसीजर कॉल पैरामीटर्स को केवल मानों और पॉइंटर मानों द्वारा पास करता है, जिसकी अनुमति नहीं है।
- दूरस्थ प्रक्रिया कॉलिंग (और वापसी) समय (अर्थात, ओवरहेड्स) स्थानीय प्रक्रिया की तुलना में काफी कम हो सकता है।
- यह तंत्र विफलता के प्रति अत्यधिक संवेदनशील है क्योंकि इसमें एक संचार प्रणाली, एक अन्य मशीन और एक अन्य प्रक्रिया शामिल होती है।
- आरपीसी अवधारणा को विभिन्न तरीकों से क्रियान्वित किया जा सकता है, जो मानक नहीं हो सकता।
- हार्डवेयर आर्किटेक्चर के लिए RPC में कोई लचीलापन नहीं है क्योंकि यह ज्यादातर इंटरैक्शन-आधारित है।
- दूरस्थ प्रक्रिया कॉल के कारण प्रक्रिया की लागत बढ़ जाती है।
सारांश
- दूरस्थ प्रक्रिया कॉल एक अंतःप्रक्रम संचार तकनीक।
- RPC के तीन प्रकार हैं 1) कॉलबैक RPC 2) ब्रॉडकास्ट RPC, और 3) बैच-मोड RPC
- RPC आर्किटेक्चर में प्रोग्राम के मुख्यतः पाँच घटक होते हैं: 1) क्लाइंट 2) क्लाइंट स्टब 3) RPC रनटाइम 4) सर्वर स्टब, और 5) सर्वर
- RPC विधि में प्रक्रियाएं पता स्थान साझा नहीं करती हैं
- RPC सरल कॉल सिंटैक्स और ज्ञात शब्दार्थ प्रदान करता है
- आरपीसी विधि उच्च स्तरीय भाषाओं में प्रक्रिया कॉल के पारंपरिक उपयोग द्वारा क्लाइंट को सर्वर के साथ संचार करने में मदद करती है।
- आरपीसी पद्धति का सबसे बड़ा दोष यह है कि इसमें विफलता की संभावना बहुत अधिक होती है, क्योंकि इसमें एक संचार प्रणाली, एक अन्य मशीन और एक अन्य प्रक्रिया शामिल होती है।