Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Distributed object
Concept in distributed computing

In distributed computing, distributed objects are object-oriented entities spread across multiple address spaces, processes, or networked computers, collaborating by sharing data and invoking methods through remote method invocation. They often use location transparency to appear local despite being remote. Variants include replicated objects, coordinating multiple replicas to maintain consistency, and live distributed objects, which encapsulate distributed state with potentially weaker consistency. Though popular in the late 1990s and early 2000s, distributed objects are less favored today. For related concepts, see the Internet protocol suite.

Related Image Collections Add Image
We don't have any YouTube videos related to Distributed object yet.
We don't have any PDF documents related to Distributed object yet.
We don't have any Books related to Distributed object yet.
We don't have any archived web articles related to Distributed object yet.

Local vs. distributed objects

Local and distributed objects differ in many respects.34 Here are some of them:

  1. Life cycle : Creation, migration and deletion of distributed objects is different from local objects
  2. Reference : Remote references to distributed objects are more complex than simple pointers to memory addresses
  3. Request Latency : A distributed object request is orders of magnitude slower than local method invocation
  4. Object Activation : Distributed objects may not always be available to serve an object request at any point in time
  5. Parallelism : Distributed objects may be executed in parallel.
  6. Communication : There are different communication primitives available for distributed objects requests
  7. Failure : Distributed objects have far more points of failure than typical local objects.
  8. Security : Distribution makes them vulnerable to attack.

Examples

The RPC facilities of the cross platform serialization protocol, Cap'n Proto amount to a distributed object protocol. Distributed object method calls can be executed (chained, in a single network request, if needs be) through interface references/capabilities.5

Distributed objects are implemented in Objective-C using the Cocoa API with the NSConnection class and supporting objects.

Distributed objects are used in Java RMI.

CORBA lets one build distributed mixed object systems.

DCOM is a framework for distributed objects on the Microsoft platform.

DDObjects is a framework for distributed objects using Borland Delphi.

Jt is a framework for distributed components using a messaging paradigm.

JavaSpaces is a Sun specification for a distributed, shared memory (space based)

Pyro is a framework for distributed objects using the Python programming language.

Distributed Ruby (DRb) is a framework for distributed objects using the Ruby programming language.

See also

References

  1. Microservices and the First Law of Distributed Objects, Martin Fowler, 13 August 2014 http://martinfowler.com/articles/distributed-objects-microservices.html

  2. Ostrowski, K., Birman, K., Dolev, D., and Ahnn, J. (2008). "Programming with Live Distributed Objects", Proceedings of the 22nd European Conference on Object-Oriented Programming, Paphos, Cyprus, July 07–11, 2008, J. Vitek, Ed., Lecture Notes in Computer Science, vol. 5142, Springer-Verlag, Berlin, Heidelberg, 463-489, http://portal.acm.org/citation.cfm?id=1428508.1428536. http://portal.acm.org/citation.cfm?id=1428508.1428536

  3. W. Emmerich (2000) Engineering distributed objects, John Wiley & Sons Ltd.

  4. Samuel C. Kendall, Jim Waldo, Ann Wollrath, and Geoff Wyant. 1994. A Note on Distributed Computing. Technical Report. Sun Microsystems, Inc., Mountain View, CA, USA. /wiki/Jim_Waldo

  5. "Cap'n Proto: RPC Protocol". https://kentonv.github.io/capnproto/rpc.html