Live distributed object: Difference between revisions

Content deleted Content added
This an a few preceding updates simply expand the article, by adding more content and a picture.
m minor edits
Line 3:
[[Image:Definition_of_a_Live_Distributed_Object.gif|right|thumbnail|300 px|An illustration of the basic concepts involved in the definition of a live distributed object.]]
 
The term ''live distributed object'' (also abbreviated as ''live object'') refers to a running instance of a [[distributed computing|distributed]] multi-party (or [[peer-to-peer]]) [[protocol (computing)|protocol]], viewed from the [[object-oriented programming|object-oriented]] perspective, as an entity that has a distinct [[identity (object-oriented programming)|identity]], may [[Encapsulation (computer science)|encapsulate]] internal [[State (computer science)|state]] and internal[[Thread (computer science)|threads of execution]], and that exhibits a well-defined externally visible behavior. The key object-oriented[[Programming language|programming language]] concepts, as applied to live distributed objects, are defined as follows.
 
* '''Identity'''. The ''identity'' of a live distributed object is determined by the same factors that differentiate between instances of the same distributed protocol. The object consists of a group of software components physically executing on some set of physical machines and engaged in mutual communication, each executing the distributed protocol code with the same set of essential parameters, such as the name of a multicast group, the identifier of a publish-subscribe topic, the identity of a membership service, etc. Thus, for example, [[publish-subscribe]] channels and [[multicast group|multicast groups]] are examples of live distributed objects: for each channel or group, there exists a single instance of a distributed protocol running among all computers sending, forwarding, or receiving the data published in the channel or multicast within the group. In this case, the object's identity is determined by the identifier of the channel or group, qualified with the identity of the distributed system that provides, controls, and manages the given channel or group. In the case of multicast, the identity of the system might be determined, for example, by the address of the ''membership service'' (the entity that manages the membership of the multicast group).