Case Study - Distributed System
CORBA
- Common Object Request Broker Architecture
- It is a standard defined by object management group to facilitate the communication of systems deployed on diverse platforms.
- It helps in communication in heterogeneous distributed system.
Architecture of CORBA
The general architecture is shown in given figure:
1. Interface Repository:
- It provides representation of available object interfaces of all objects.
- It is used for dynamic invocation.
2. Implementation Repository:
- It stores implementation details for each object's interfaces. (Mapping from server object name to filename to implement service)
- The information stored may be OS specific.
- It is used by object adapter to solve incoming call and activate right object method.
3. Object Request Broker (ORB)
- It provides mechanisms by which objects can interact with each other transparently.
4. Static Invocation:
- It allows a client to invoke requests on an object whose compile time knowledge of server's interface specification is known.
- For client, object invocation is similar to local method of invocation, which automatically forwarded to object implementation through ORB, object adapter and skeleton.
- It has low overhead, and is efficient at run time.
5. Dynamic Invocation:
- It allows a client to invoke requests on object without having compile time knowledge of object's interface.
- The object and interface are detected at run time by inspecting the interface repository.
- The request is then constructed and invocation is performed as it static invocation.
- It has high overhead.
6. Object Adapter:
- It is the interface between server object implementation and ORB.
Services Provided by CORBA
1. Naming service
- It allows clients to find and locate objects based on name.
2. Trading service
- It allows clients to find and locate objects based on their properties.
3. Notification service
- It allows objects to notify other objects that some event has occured.
4. Transaction Service
- It allows atomic transactions and rollback on failures.
5. Security Service
- It protects components from unauthorized access or users.
6. Concurrency control service
- It provides a lock manager that can obtain and free locks for transactions to manage concurrent transactions.
7. Life cycle service
- It defines conventions for creating, deleting, copying and moving CORBA objects.
8. Time service
- It provides interfaces for synchronizing time.
Mach
- Mach is a microkernel that runs on both multiprocessor and uniprocessor computers connected by networks.
- It incorporates sophisticated IPC and virtual memory facilities.
- Port is used to identify individual resources.
- To access a resource, a message is sent to the corresponding port.
- It provides a single system call for message passing : mach_msg
- This system call provides interactions for both asynchronous message passing and request-reply.
- mach_ msg contains msg_header, option, snd_siz, rcv_siz, rcv_name, timeout and notify.
JINI
- It is a coordination based system from Sun Microsystems written in JAVA.
- It uses RMI and Java object serialization to enable Java objects to move around the network.
- Services may be added or removed without configuration.
- It is not based on central control.
Components of JINI
1. Service:
- An entity that another program, service or user can use.
2. Client:
- A component that is capable of using JINI services.
3. Lookup Service:
- A component that keeps track of the services offered in the federation.
TIB/Rendezvous
- Synchronization and data transmission are inseparable activities which must be synchronized to exchange information. This process is called rendezvous.
Implementation of TIB
- One of the two communicating tasks knows the name of the other and names it explicitly.
- The second task knows only that it expects some external interaction.
- It is based on subject based addressing.
- Receiving a message on subject X is possible only if receiver had subscribed to X.
- Publishing a message on subject X means sending message to all subscribers of X.
Ⓒ Copyright ESign Technology 2019. A Product of ESign Technology. All Rights Reserved.