Distributed object communication

Distributed object communication

Distributed object communication realizes communication between distributed objects in the distributed computing environment.

The main role is to interconnect objects residing in non-local memory space and allowing them to perform remote calls and exchange data. The widely used approach on how to implement the communication channel is realized by using stubs and skeletons. They are generated objects whose structure and behavior depends on chosen communication protocol, but in general provide additional functionality that ensures reliable communication over the network.

Distributed object communication.png

When a caller wants to perform remote call on the called object, it delegates requests to its stub which initiates communication with the remote skeleton. Consequently, the stub passes caller arguments over the network to the server skeleton. The skeleton then passes received data to the called object, waits for a response and returns the result to the client stub. Note, there is no direct communication between the caller and the called object.

In more details, the communication consists of several steps:

  1. caller calls a local procedure implemented by the stub
  2. stub marshalls call type and input arguments into a request message
  3. client stub sends the message over the network to the server and blocks the current execution thread
  4. server skeleton receives the request message from the network
  5. skeleton unpacks call type from the request message and looks up the procedure on the called object
  6. skeleton unmarshalls procedure arguments
  7. skeleton executes the procedure on the called object
  8. called object performs a computation and returns the result
  9. skeleton packs the output arguments into a response message
  10. skeleton sends the message over the network back to the client
  11. client stub receives the response message from the network
  12. stub unpacks output arguments from the message
  13. stub passes output arguments to the caller, releases execution thread and caller then continues in execution

The advantage of this architecture is that neither the caller nor the called object has to implement network related logic. This functionality, that ensures reliable communication channel over the network, has been moved to the stub and the skeleton layer.

Protocols using Stub/Skeleton Approach

  • RPC - Remote Procedure Call
  • CORBA - Common Object Request Broker Architecture
  • DCE - Distributed Computing Environment
  • RMI - Remote Method Invocation
  • DCOM - Distributed Component Object Model
  • DDObjects is a framework for distributed objects using Borland Delphi.
  • Distributed Ruby (DRb) is a framework for distributed objects using the Ruby programming language.

References


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Distributed object — Image describes communication between distributed objects residing in different machines. The term distributed objects usually refers to software modules that are designed to work together, but reside either in multiple computers connected via a… …   Wikipedia

  • Object Management Group — Formation 1989 Headquarters Needham, Massachusetts Website …   Wikipedia

  • Object (computer science) — In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure. (With the later introduction of object oriented programming the same word,… …   Wikipedia

  • Distributed firewall — A firewall is system or group of system (router, proxy, or gateway) that implements a set of security rules to enforce access control between two networks to protect inside network from outside network. It may be a hardware device or a software… …   Wikipedia

  • Distributed hash table — A distributed hash table (DHT) is a class of a decentralized distributed system that provides a lookup service similar to a hash table; (key, value) pairs are stored in a DHT, and any participating node can efficiently retrieve the value… …   Wikipedia

  • Object request broker — In distributed computing, an object request broker (ORB) is a piece of middleware software that allows programmers to make program calls from one computer to another via a network. ORBs promote interoperability of distributed object systems… …   Wikipedia

  • Distributed Component Object Model — (DCOM) is a proprietary Microsoft technology for communication among software components distributed across networked computers. DCOM, which originally was called Network OLE , extends Microsoft s COM, and provides the communication substrate… …   Wikipedia

  • Object Linking and Embedding — (OLE) is a technology developed by Microsoft that allows embedding and linking to documents and other objects. For developers, it brought OLE Control eXtension (OCX), a way to develop and use custom user interface elements. On a technical level,… …   Wikipedia

  • Distributed generation — Distributed generation, also called on site generation, dispersed generation, embedded generation, decentralized generation, decentralized energy or distributed energy, generates electricity from many small energy sources. Local wind generator,… …   Wikipedia

  • Distributed GIS — concerns itself with GI Systems that do not have all of the system components in the same physical location. This could be the processing, the database, the rendering or the user interface. Examples of distributed systems are web based GIS,… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”