Aravind Venkataraman. Interprocess Communication Shared Memory Request/Reply Communication Concept...

15
Aravind Venkataraman

Transcript of Aravind Venkataraman. Interprocess Communication Shared Memory Request/Reply Communication Concept...

Page 1: Aravind Venkataraman. Interprocess Communication Shared Memory Request/Reply Communication Concept Message PassingRemote Procedure Call.

Aravind Venkataraman

Page 2: Aravind Venkataraman. Interprocess Communication Shared Memory Request/Reply Communication Concept Message PassingRemote Procedure Call.

Interprocess Communication

Shared Memory Request/Reply Communication

Concept

Message Passing Remote Procedure Call

Page 3: Aravind Venkataraman. Interprocess Communication Shared Memory Request/Reply Communication Concept Message PassingRemote Procedure Call.

Topics of Discussion

• Request/Reply Communication• Remote Procedure Call (RPC)• RPC Architectural Model• RPC Process• RPC Communication Protocols• RPC Design issues• RPC Architectures/Implementations• RPC Industry Examples

Page 4: Aravind Venkataraman. Interprocess Communication Shared Memory Request/Reply Communication Concept Message PassingRemote Procedure Call.

Request/Reply Communication

• Synchronous vs. Asynchronous • Client-Server vs. P2P• LAN vs. Distributed Environment• Remote Procedure Call

Design Issues

Page 5: Aravind Venkataraman. Interprocess Communication Shared Memory Request/Reply Communication Concept Message PassingRemote Procedure Call.

Remote Procedure Call (RPC) [6]

OSI ModelApplication Layer: FTP, RPC, SSH

Transport Layer: TCP, UDP

Network Layer: IP, ICMP

Data Link Layer: Ethernet, 802.11

Physical Layer: Twisted pair, Optical fiber

Page 6: Aravind Venkataraman. Interprocess Communication Shared Memory Request/Reply Communication Concept Message PassingRemote Procedure Call.

RPC Architecture model [3]

Page 7: Aravind Venkataraman. Interprocess Communication Shared Memory Request/Reply Communication Concept Message PassingRemote Procedure Call.

Microsoft RPC [3] – RPCSS (RPC System Service) module

Page 8: Aravind Venkataraman. Interprocess Communication Shared Memory Request/Reply Communication Concept Message PassingRemote Procedure Call.

RPC Process [3]

Page 9: Aravind Venkataraman. Interprocess Communication Shared Memory Request/Reply Communication Concept Message PassingRemote Procedure Call.

RPC Communication Protocols [5]

• Request [R] Protocol• Request Reply [RR] Protocol• Request Reply Acknowledgement [RRA]

Page 10: Aravind Venkataraman. Interprocess Communication Shared Memory Request/Reply Communication Concept Message PassingRemote Procedure Call.

RPC Design Issues [1,7]

• Compiler – Interface Description Language (IDL), RPCGEN• Parameter passing • Security – Protected RPC

Page 11: Aravind Venkataraman. Interprocess Communication Shared Memory Request/Reply Communication Concept Message PassingRemote Procedure Call.

• CORBA (Common Object Request Broker Architecture)• DCOM (Distributed Component Object Model)• Java RMI (Remote Method Invocation)• Web Services (XML-RPC, SOAP, JSON-RPC)

RPC Architectures/Implementations [4]

Page 12: Aravind Venkataraman. Interprocess Communication Shared Memory Request/Reply Communication Concept Message PassingRemote Procedure Call.

Other RPC Industry Implementations [1]

•1984 - ONC RPC/NFS (Sun Microsystems Inc.) • Early 1990s - DCE RPC (Microsoft)• Late 1990’s – ORPC (Object Oriented Programming Community) • 1997 – DCOM (Microsoft)• 2002 - .NET Remoting (Microsoft)• Doors (Solaris)• ICE (Internet Communications Engine)• DCOP - Desktop Communication Protocol (KDE)

Page 13: Aravind Venkataraman. Interprocess Communication Shared Memory Request/Reply Communication Concept Message PassingRemote Procedure Call.

SOAP (Service Oriented Architecture Protocol) [8]

<methodResponse> <params> <param> <value><string>South Dakota</string></value> </param> </params> </methodResponse>

• Typical SOAP Request

• Typical SOAP Response

<?xml version="1.0"?> <methodCall> <methodName>examples.getStateName</methodName> <params> <param> <value><i4>40</i4></value> </param> </params> </methodCall> <?xml version="1.0"?>

Page 14: Aravind Venkataraman. Interprocess Communication Shared Memory Request/Reply Communication Concept Message PassingRemote Procedure Call.

Upcoming conferences in Atlanta

Event Venues Dates

Sixteenth ACM SIGSOFT International Symposium on Software Engineering:http://www.cc.gatech.edu/conferences/fse16/

Georgia Tech Nov 9-15

Sixth Annual IEEE Conference on Sensor Networks:http://www.ieee-sensors2007.org/

Hyatt Regency, Downtown

Oct 5

22nd IEEE/ACM Conference on Automated Software Engineering:http://www.cse.msu.edu/ase2007/

Crowne Plaza Hotel, Buckhead

Nov 5-9

Georgia Tech Information Security Center (GTISC) Security Summit:http://www.gtisc.gatech.edu/

Georgia Tech Oct 2

Page 15: Aravind Venkataraman. Interprocess Communication Shared Memory Request/Reply Communication Concept Message PassingRemote Procedure Call.

References1. http://en.wikipedia.org/wiki/Interprocess_communication2. Andrew D. Birrell, Bruce Nelson, “Implementing Remote Procedure Calls”, ACM

Transactions on Computer Systems, Volume 2, Issue 1, 19843. http://technet2.microsoft.com/windowsserver/en/library/e5677c57-3182-497a-

b53b-a536580b542b1033.mspx?mfr=true4. http://www.ibm.com/developerworks/webservices/library/ws-arc3/5. Nilimesh Halder, Tariqul Islam, Ju Bin Song, “Modeling and Formal Verification

of Communication Protocols for Remote Procedure Call”, IJCSNS - International Journal of Computer Science and Network Security, Vol. 7, July 2007

6. http://en.wikipedia.org/wiki/Remote_Procedure Call7. Heindel L E, Kasten V A, “Highly reliable synchronous and asynchronous remote

procedure calls”, Conference Proceedings of the 1996 IEEE Fifteenth annual International Phoenix Conference on Computers and Communication, 27-29 March 1996

8. Davis A, Du Zhang, “A Comparitive study of DCOM and SOAP”, Proceedings of the 2002 IEEE Fourth International Symposium on Multimedia and Software Engineering, 11-13 Dec 2002