Presentation is loading. Please wait.

Presentation is loading. Please wait.

Flexible Synchronisation of Shared Groupware Objects

Similar presentations


Presentation on theme: "Flexible Synchronisation of Shared Groupware Objects"— Presentation transcript:

1 Flexible Synchronisation of Shared Groupware Objects
Stephan Lukosch, Claus Unger Department for Computer Science University of Hagen

2 Contents Introduction, Object Manager, Concurrency Control, and
Future Work.

3 Contents Introduction, Object Manager, Concurrency Control, and
Future Work.

4 Introduction Goal: Simplify groupware development by providing services to handle application‘s shared data. Development of an object manager comparing to CORBA‘s object request broker in coherence with DreamTeam.

5 Introduction DreamTeam is based upon a completely decentralized architecture. Its environment consists of three parts: 1. Development environment, 2. Runtime environment, and 3. Simulation environment.

6 Contents Introduction, Object Manager, Concurrency Control, and
Future Work.

7 Object Manager The object manager
extends DreamTeam‘s development and runtime environment, provides a clear separation of the shared data and the user interface, and offers services to handle shared groupware objects.

8 Object Manager These services include: flexible object distribution,
flexible coupling of shared data and user interfaces, latecomer support, and configurable concurrency control.

9 Object Manager Basic idea: Handle shared objects using proxies.
A proxy provides the same interface as a shared object and thus can be used to replace a shared object.

10 Object Manager Hide data sharing mechanisms, e.g.
the method call distribution and the encoding of the corresponding arguments. Store additional information, e.g. the distribution mode and the concurrency control scheme.

11 Object Manager Class diagram in UML syntax:

12 Object Manager To access shared objects at runtime, they must be registered in the object manager. At registration a new instance of the shared object class is created, the corresponding proxy is returned, and all other sites are informed.

13 Contents Introduction, Object Manager, Concurrency Control, and
Future Work.

14 Concurrency Control To share data, the proxies distribute method calls and the corresponding arguments. Achieve shared objects‘ consistency by synchronizing method calls.

15 Concurrency Control Usually, not all shared object‘s methods modify all object‘s components. Execute concurrent methods under distributed mutual exclusion. Use multiple locks for simultaneous execution.

16 Concurrency Control Method set: Mutually excluded method set:
Object‘s exclusive method set: Lock sequence: Method‘s lock set: with

17 Concurrency Control Example: Text box in a diagram editor, with four methods modifying 1. box properties (e.g. shape), 2. text properties, 3. common colour, and 4. position in the diagram.

18 Concurrency Control Method set: Object’s exclusive method set:
Exclusive method sets: Method’s lock sets:

19 Concurrency Control Example lock allocation graph:

20 Concurrency Control Configuration possibilities:
choose out of two predefined schemes (full or null synchronisation) or define individual object’s exclusive methods sets. Achieve a maximum of concurrency.

21 Concurrency Control Replicated objects:
Extended version of Singhal’s heuristically-aided algorithm for mutual exclusion. Central objects: Local semaphores as known from operating systems.

22 Concurrency Control Further flexibility is achieved with the use of the programming technique open implementation. The developer may define its own locking schemes.

23 Contents Introduction, Object Manager, Concurrency Control, and
Future Work.

24 Future Work Future versions of the object manager will include
dynamic distribution, extended latecomer support, access control, asynchronous services, and optimistic locking schemes.

25 Contact WWW: http://pi2.fernuni-hagen.de


Download ppt "Flexible Synchronisation of Shared Groupware Objects"

Similar presentations


Ads by Google