1 / 11

Remote Procedure Calls (RPC )

Remote Procedure Calls (RPC ). ระบบสารสนเทศแบบกระจาย Distributed Information System. การเรียกใช้โพรซีเยอร์ระยะไกล. Remote Procedure Call (RPC). เป็นโปรโตคอลที่โปรแกรมหนึ่ง สามารถขอ บริการจากโปรแกรมที่ตั้งอยู่ ในคอมพิวเตอร์ อีก เครื่องใน เครือข่าย

vinaya
Télécharger la présentation

Remote Procedure Calls (RPC )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Remote Procedure Calls (RPC) ระบบสารสนเทศแบบกระจาย Distributed Information System การเรียกใช้โพรซีเยอร์ระยะไกล

  2. Remote Procedure Call (RPC) • เป็นโปรโตคอลที่โปรแกรมหนึ่งสามารถขอบริการจากโปรแกรมที่ตั้งอยู่ในคอมพิวเตอร์ อีกเครื่องในเครือข่าย • RPC ใช้แบบจำลองลูกข่าย/แม่ข่าย โปรแกรมที่ขอเป็นลูกข่ายและโปรแกรมที่ให้บริการ เป็นแม่ข่าย RPC เป็นปฏิบัติการแบบพร้อมกันที่ต้องการให้โปรแกรมที่ขอได้รับการตอบจนกระทั่งผลลัพธ์จาก remote procedure ได้รับกลับมา

  3. แนวคิดของ RPC • แนวความคิดของ RPCคือ ทำให้การเรียกใช้โพรซีเยอร์ของผู้ให้บริการ มีความ คล้ายคลึงกับการเรียกใช้ฟังก์ชั่นทั่วไปให้มากที่สุด ในรูปแบบที่ง่ายที่สุด • การที่จะเรียกใช้โพรซีเยอร์ของโฮสที่อยู่ไกลออกไปได้นั้น โปรแกรมของผู้ใช้บริการ จะต้องถูกนำมาเชื่อมต่อเข้ากับโพรซีเยอร์ที่เป็นไลบราลี่ (Library Procedure) เรียกว่า“Client Stub” • ทางฝั่งผู้ให้บริการ ก็จะมีโพรซีเยอร์ที่เป็นไลบราลี่ เรียกว่า“Server Stub”

  4. แนวคิดของ RPC • โพรซีเยอร์เหล่านี้ จะซ่อนข้อเท็จจริงเอาไว้ว่าการเรียกใช้โพรซีเยอร์ของผู้ใช้บริการนั้น ไม่เกี่ยวข้องกับระบบเครือข่ายเลย

  5. ขั้นตอนการทำงานของการทำ RPC • ขั้นตอนที่ 1คือ การที่ผู้ใช้บริการเรียกใช้Client Stub การเรียกใช้นี้เป็นการทำงานที่ เกิดขึ้นในเครื่องผู้ใช้บริการเอง ซึ่งอาจมีการส่งพารามิเตอร์ได้ตามปกติ • ขั้นตอนที่ 2Client Stub จัดการจัดรูปแบบของพารามิเตอร์ให้อยู่ในรูปของ Message และเรียกใช้ระบบปฎิบัติการเพื่อจัดการส่ง Message นั้นการจัดรูปแบบของพารามิเตอร์นี้เรียกว่า “Marshaling”

  6. ขั้นตอนการทำงานของการทำ RPC • ขั้นตอนที่ 3 Kernel จัดการส่ง Message จากผู้ใช้บริการไปยังผู้ให้บริการ • ขั้นตอนที่ 4 Kernel จัดการส่ง Package ที่ได้รับเข้ามา ไปยัง Server stub • ขั้นตอนที่ 5 Server Stub จะเรียกใช้โพรซีเยอร์ของผู้ให้บริการพร้อมทั้งส่ง พารามิเตอร์ไปให้ด้วย การตอบรับก็จะทำในทิศทางที่ย้อนกลับกัน

  7. ขั้นตอนการทำงานของการทำ RPC • รายละเอียดเพิ่มเติม โพรซีเยอร์ของผู้ใช้บริการซึ่งเขียนขึ้นมาโดยผู้ใช้นั้น จะใช้วิธีการเรียกใช้โพรซีเยอร์ไปยัง Client Stub ซึ่งมีชื่อเดียวกันกับโพรซีเยอร์ในเครื่องผู้ให้บริการ เนื่องจากโพรซีเยอร์ของผู้ใช้ และ Client Stub อยู่ในเครื่องผู้ใช้ด้วยกันทั้งคู่ การวิ่งผ่านพารามิเตอร์จึงเกิดขึ้นตามวิธีการปกติ ในส่วนของโพรซีเยอร์ในเครื่องผู้ให้บริการ ก็มีการเรียกใช้และส่งผ่านพารามิเตอร์ตามปกติเช่นเดียวกัน

  8. ข้อจำกัดของ RPC • การส่งผ่านพารามิเตอร์ ที่เป็นพอยเตอร์นั้นเป็นไปไม่ได้ เพราะโพรซีเยอร์ ทั้งสองนั้นไม่ได้อยู่ในเครื่องเดียวกัน

  9. RPC Process อ้างอิง :: http://technet.microsoft.com/en-us/library/cc738291(v=ws.10).aspx

  10. ระบบที่ใช้งาน RPC • RPC มีหลายแบบจำลองและการที่นิยมมากคือ Distributed Computing Environment (DCE) ของ Open Software Foundation มีการกำหนด RPC เป็นมาตรฐานโดย Institute of Electrical and Electronics Engineers ใน ISO Remote Procedure Call Specification, ISO/IEC CD 11578 N6561, ISO/IEC, November 1991 • RPC มีขอบเขตครอบคลุม Transport Layer และ Application Layer ในแบบจำลอง Open Systems Interconnection (OSI) ของการสื่อสารเครือข่าย และ RPC ทำให้การพัฒนาโปรแกรมประยุกต์ที่รวมหลายโปรแกรมที่กระจายใน เครือข่ายง่ายขึ้น

  11. แบบฝึกหัดท้ายบทที่ 7 1. จงอธิบายถึงความหมายของ “การเรียกใช้โพรซีเยอร์ระยะไกล (Remote Procedure Calls (RPC))” 2. “Marshaling” คืออะไร 3. จงอธิบายกระบวนการสื่อสารระหว่าง Client Stub และ Server Stub

More Related