* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download SUMMARY OF INTER-PROCESS COMMUNICATION Chenguang Kong
		                    
		                    
								Survey							
                            
		                
		                
                            
                            
								Document related concepts							
                        
                        
                    
						
						
							Transcript						
					
					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:  Privacy by 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  How and Failure Handling 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 committed results are locked/ permanent after being 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/OPEN XA  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 Service/Object Attributes Name structures Attribute partitioning <arrtibutes> Flat structure Physical <user.host.network> <name, attributes, address> Hierarchical structure namebased resolution (white pages) <name, type, attributes, Structure-free attributeaddress> based resolution (yellow pages) Organizational <user.org.dept> Functional <professor.cs> 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 on Visualization 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
 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                            