230 likes | 405 Views
Summary of inter-process communication. Chenguang Kong. Outline. Introduction Message Passing Communication Request/Reply Communication Transaction Communication Name and Directory Services Investigation on Future Work. Introduction.
E N D
Summary of inter-process communication Chenguang Kong
Outline • Introduction • Message Passing Communication • Request/Reply Communication • Transaction Communication • Name and Directory Services • Investigation on Future Work
Introduction • A set of methods for the exchange of data among multiple processes or computers • Divided into different methods based on the bandwidth and latency of communication between the processes, and the type of data being communicated • Message Passing Communication • Request/Reply Communication • Transaction Communication
Message Passing • A specification allowing computers communicate with each other • Lowest level of inter-process communicate • Two message passing primitives • Send(destination,message) • Receive(source,message) • Two types: pipe and socket`
Message Passing • Pipe • Unidirectional communication • Implemented with finite size, FIFO byte stream buffer maintained by the kernel • One process writes data into tail end of pipe while another process reads from head end of the pipe.
Message Passing • Socket • A communication end point of a communication link managed by the transport services • The most popular message passing API • The goal of secure socket layer: • Privacyby using symmetric cryptographic data encryption • Integrity by using message integrity check • Authenticity by using asymmetric public key cryptography
Request/Reply Communication • Technique for one application to request the services of another • The layer upper message passing • Remote Procedure Calls • Most widely used model • Communication transparency • A central component in most distributed system
Request/Reply Communication • Operations involving remote procedure call • Parameter Passing and Data Conversion • What types of data can be passed • How is it represented • Binding • How does a client locate server and a server register • Compilation • Where do the stub procedures come from • How are they linked
Request/Reply Communication • Operations involving remote procedure call • Exception and Failure Handling • How are errors reported and dealt • Security
Transaction Communication • The basic unit of client-server process interaction in a database system • Every transaction is ACID compliant in accordance with concurrency control and transparency in the DS
Transaction Communication • ACID • Atomicity • ALL or NO operations in a transaction are performed • Consistency • Consistent state is maintained before a transaction starts and after it concludes • Isolation • Concurrent transactions DO NOT interfere with each other • Durability • transactions results are locked/ permanent after being committed
Transaction Communication • Two Phase Commit Protocol • A type of atomic commitment protocol (ACP) • A distributed algorithm that coordinates all the processes that participate in a distributed atomic transaction on whether to commit or abort the transaction • Assures that ACID properties are achieved
Transaction Communication • Two Phase Commit Protocol
Transaction Communication • X/OPENXA • Standard specification for distributed transaction processing (DTP) by The Open Group • describes the interface between the global transaction manager and the local resource manager • Two Phase Commit is used
Name and Directory Service • Inter-process communication in distributed systems relies on the support of a name service • A generic way of describing how a named object can be addressed and subsequently located by using its address • Enable user to reference network resources with short names instead of real addresses
Name and Directory Service • Naming structure
Name and Directory Service • Directory Service • The namespace for the network • Used to hold one or more objects as named entries • The directory design process normally has a set of rules that determine how network resources are named and identified
Name and Directory Service • Implementations of directory service • X.500 • a series of computer networking standards covering electronic directory services • developed by ITU-T and ISO • DAP (Directory Access Protocol) • DSP (Directory System Protocol) • DISP (Directory Information Shadowing Protocol) • DOP (Directory Operational Bindings Management Protocol)
Name and Directory Service • Implementations of directory service • Domain Name System: (DNS) • Windows NT Directory Services (NTDS) • Sun Java System Directory Server • Apache Directory Server • OpenDS • …
Potential future work • Virtualization in Cloud Computing • Every custom is arranged a virtual machine to serve them • Inter-process communication among the virtual machines is a non-trivial problem • E.g. name service, network routing, directory service
Potential future work • Mixed network • Cellular network • Sensor network • Cyber physical network • Next generation network structure • Current TCP/IP structure has many open challenges • Some researchers propose to construct next generation network structure • Many topics involving inter-process communication
Reference • Randy Chow, Theodore Johnson, “Distributed Operating Systems & Algorithms”, 1997 • Ammann, E.M. , "DIPC-a monitor for distributed inter-process communication" Parallel and Distributed Processing, 1995. Proceedings. Euromicro Workshop on , vol., no., pp.272-279, 25-27 Jan 1995 • Muelder, C.; Gygi, F.; Kwan-Liu Ma; , "Visual Analysis of Inter-Process Communication for Large-Scale Parallel Computing,", IEEE Transactions onVisualization and Computer Graphics, vol.15, no.6, pp.1129-1136, Nov.-Dec. 2009 • Wikipedia: http://en.wikipedia.org/wiki/ • Stevens, Richard. UNIX Network Programming, Volume 2, Second Edition: Interprocess Communications. Prentice Hall, 1999 • Mirtaheri, S.L.; Khaneghah, E.M.; Sharifi, M.; Azgomi, M.A.; , "The Influence of Efficient Message Passing Mechanisms on High Performance Distributed Scientific Computing," Parallel and Distributed Processing with Applications, 2008. ISPA '08. International Symposium on , vol., no., pp.663-668, 10-12 Dec. 2008