|- Up -||Next >>|
Sharing objects in a distributed environment should be supported in any distributed autonomous object environments. We propose a Global Store abstraction (GS) for building high-performance reliable collaborative applications sharing a large amount of objects. The global store or the fault-tolerant store (FTS) can also be used to implement a fault tolerant mobile agent platform. A store is composed of a set of objects. Each Application has a reference to the store. The application or a user access objects with a transactional semantics. Users connect and disconnect to the store dynamically. GS allows local modifications to be seen instantaneously without waiting for a slow network. Applications can also update objects without worring about concurrency control and store failure. The GS also provides fault tolerance. The model handles site crashes which are invisible to the user i.e. crashes are only visible as possible delays of objects updates. If there are n sites, n-1 crash sites is tolerated. The global coherence of the store is maintained in case of site crashes.
GS provides several types of transparencies:
Failure transparency: which hides failures from an object to enable fault tolerance.
Slow network transparency: which hides delays of network operations to enable instantaneous updates of objects.
Transaction transparency: which hides coordination of activities amongst a configuration of objects to achieve consistency.
Migration transparency: which hides from the object the system's ability to change the location of that object, e.g. for load balancing, or reducing latency.
The current implementation of the
GlobalStore Module have two constraints:
Store objects must have no references to ressources.
Store objects and transactions must have no references to external states and in the current release only the first level of fault tolerance is implemented.
The GS module is composed of two parts:
Connection part: offers procedures for initialising a new store and adding dynamically objects and users to the store.
Transactional part: offers a programming interface to the fault-tolerant transactional protocol for updating objects in the store.
Our future research includes:
Addressing the problem of network partitioning.
Implementation of real-world collaborative applications.
Implementation of mobile agent applications.
A documentation on GS is available from Chapter 5 Mozart book which is a part of the Distributed Programming chapter in the upcoming Mozart book. Details on the specification and the implementation of the GS can be found in the paper A practical fault-tolerant store abstraction for multiple application domains (Draft).
|- Up -||Next >>|