Fragmented object

In computing, fragmented objects are truly distributed objects. It is a novel design principle extending the traditional concept of stub based distribution.

In contrast to distributed objects, 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.

Fragmented object

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 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 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 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 architecture, adaptive and quality-of-service-aware applications, fault tolerance, aspect-oriented programming, and automated source-code transformation.
  • FORMI – FORMI is an extension of Java RMI.
  • 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

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.