Download presentation
Presentation is loading. Please wait.
1
Remote Procedure Call (invocation) RPC
2
فراخوانی روال راه دور بسیاری از سیستمها براساس تبادل پیام. سال 1984 توسط بیرل و نلسون: برنامهها بتوانند فراخوانی روالهای ماشینهای دیگر. مشکلات: فضاهای آدرس متفاوت در ماشینهای مختلف. تبادل پارامترها و مقادیر بازگشتی (خصوصا در تفاوت ماشینها). خرابی ماشینها.
3
فراخوانی روال راه دور ایده اصلی: فراخوانی کننده بیاطلاع از اجرای روال در ماشین دیگری (مشابه محلی). ایجاد مشتری مجازی (Cleint Stub) در مشتری . فراخوانی مشتری مجازی مشابه مشتری اصلی هست. ایجاد سرور مجازی (Server Stub) در سمت سرور. سیستمعامل سرور، پیام را به سرور مجازی میدهد.
4
client process server process
Request Reply service client stub server stub procedure client process server process program
5
گرفتن پارامترهای فراخوانی.
وظایف مشتری مجازی: گرفتن پارامترهای فراخوانی. بسته بندی پارامترها و شناسه روال به صورت پیام. ارسال به سرور. گرفتن پیام(نتیجه) از سرور، استخراج نتایج و تحویل به مشتری. وظایف سرور مجازی: دریافت پیام از مشتری. شناسایی روال و فراخوانی آن با پارامترها. دریافت نتیجه از سرور و بسته بندی نتیجه در پیام و ارسال به مشتری.
7
فراخوانی روال راه دور (سنکرون)
8
فراخوانی روال راه دور (آسنکرون)
9
مشخصات پارامترها توافق بر روی ساختمان داده ساده (صحیح، کاراکتر و اعشاری). توافق بر روی ترتیب بایتها. توافق بر روی فرمت پیام. توافق بر روی نحوه تبادل پیام (TCP , … ). پیاده سازی واسط (Interface): مجموعه ای از روالها که بوسیله مشتری فراخوانی و به وسیله سرور اجرا. واسط با زبان برنامه نویسی مشتری و سرور یا زبان دیگر. زبان تعریف واسط (Interface Description Language = IDL) تقریبا تمامی سیستمهای RPC یک IDL را نیز ارائه میکنند.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.