वितरित सिस्टम में रिमोट प्रोसीजर कॉल (RPC) प्रोटोकॉल
⚡ स्मार्ट सारांश
रिमोट प्रोसीजर कॉल (आरपीसी) एक इंटरप्रोसेस संचार प्रोटोकॉल है जो किसी प्रोग्राम को किसी अन्य एड्रेस स्पेस या मशीन में एक प्रोसीजर को निष्पादित करने की अनुमति देता है, वितरित क्लाइंट-सर्वर सिस्टम में एक साधारण स्थानीय फ़ंक्शन कॉल के पीछे नेटवर्क विवरण को छुपाता है।

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

