HOME

TheInfoList



OR:

{{multiple issues, {{technical, date=June 2014 {{context, date=February 2018 In computing, fragmented objects are truly distributed
objects Object may refer to: General meanings * Object (philosophy), a thing, being, or concept ** Object (abstract), an object which does not exist at any particular time or place ** Physical object, an identifiable collection of matter * Goal, an ...
. It is a novel design principle extending the traditional concept of stub based distribution. In contrast to
distributed object In distributed computing, distributed objects are objects (in the sense of object-oriented programming) that are distributed across different address spaces, either in different processes on the same computer, or even in multiple computers conn ...
s, they are physically distributed and encapsulate the distribution in the object itself. Parts of the object - named fragments - may exist on different nodes and provide the object's interface. Each client accessing a fragmented object by its unique object identity presumes a local fragment. Fragmented objects may act like a RPC-based infrastructure or a (caching) smart proxy as well. Therefore, clients cannot distinguish between the access of a local object, a local stub or a local fragment. Full transparency is gained by the following characteristics of fragmented objects.


Arbitrary internal communication

Arbitrary protocols may be chosen for the internal communication between the fragments. For instance, this allows to hide real-time protocols (e.g., RTP for media streaming) behind a standard
CORBA The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between sys ...
interface.


Arbitrary internal structure

The internal structure of a fragmented object is arranged by the object developer/deployer. It may be client–server, hierarchical,
peer-to-peer Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network. They are said to form a peer-to-peer n ...
and others. Thus, a downward compatibility to stub based distribution is ensured.


Arbitrary internal configuration

As both the distribution of state and functionality are hidden behind the object interface their respective distribution over the fragments is also arbitrary. In addition, an application using a fragmented object can also tolerate a change in distributions which is achieved by exchanging the fragment at one or multiple hosts. This procedure can either be triggered by a user who changes object properties or by the fragmented object itself (that is the collectivity of its fragments) e.g., when some fragment is considered to have failed. Of course an exchange request may trigger one or more other internal changes. The object developer can migrate the state and the functionality over the fragments by providing different fragment implementations. Those dynamically change the inside the fragmented objects. A flexible internal partitioning is achieved providing transparent fault-tolerant replications as well.


Projects

* Aspectix – The Aspectix group works on several projects that focus on
middleware Middleware is a type of computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue". Middleware makes it easier for software developers to implement co ...
architecture, adaptive and quality-of-service-aware applications,
fault tolerance Fault tolerance is the property that enables a system to continue operating properly in the event of the failure of one or more faults within some of its components. If its operating quality decreases at all, the decrease is proportional to the ...
, aspect-oriented programming, and automated source-code transformation. * FORMI – FORMI is an extension of
Java RMI In computing, the Java Remote Method Invocation (Java RMI) is a Java API that performs remote method invocation, the object-oriented equivalent of remote procedure calls (RPC), with support for direct transfer of serialized Java classes and dist ...
. * Globe – This project looks at a powerful unifying paradigm for the construction of large-scale wide area distributed systems: distributed shared objects. * SOS – The SOMIW object-oriented Operating System.


References


Structure and Encapsulation in Distributed Systems: the Proxy PrincipleGlobe: A Wide-Area Distributed SystemIntegrating fragmented objects into a CORBA environmentFORMI: An RMI Extension for Adaptive ApplicationsFORMI: Integrating Adaptive Fragmented Objects into Java RMI


External links


Aspectix

FORMI

Globe
-
SOS
Distributed computing architecture