SUMMARY OF INTER-PROCESS COMMUNICATION Chenguang Kong

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