Flexible Synchronisation of Shared Groupware Objects

Slides:



Advertisements
Similar presentations
Computer Systems & Architecture Lesson 2 4. Achieving Qualities.
Advertisements

Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Monitors Chapter 7. The semaphore is a low-level primitive because it is unstructured. If we were to build a large system using semaphores alone, the.
Technical Architectures
GridFlow: Workflow Management for Grid Computing Kavita Shinde.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
1 © Wolfgang Pelz UML2 UML Part Two. 2 © Wolfgang Pelz UML2 Chapters Four & Twelve Interaction Diagrams.
Application architectures
Collaboration Diagrams. Example Building Collaboration Diagrams.
1 SWE Introduction to Software Engineering Lecture 5.
Communication in Distributed Systems –Part 2
Interprocessor arbitration
Jun Peng Stanford University – Department of Civil and Environmental Engineering Nov 17, 2000 DISSERTATION PROPOSAL A Software Framework for Collaborative.
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
16.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 16: Examining Software Update.
Resource Management Reading: “A Resource Management Architecture for Metacomputing Systems”
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
MACIASZEK, L.A. (2001): Requirements Analysis and System Design. Developing Information Systems with UML, Addison Wesley Chapter 6 - Tutorial Guided Tutorial.
Computer Science 340 Software Design & Testing UML Sequence Diagrams.
Adaptable Consistency Control for Distributed File Systems Simon Cuce Monash University Dept. of Computer Science and Software.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 7: Deadlocks.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Ch 10 Shared memory via message passing Problems –Explicit user action needed –Address spaces are distinct –Small Granularity of Transfer Distributed Shared.
Architectural Design of Distributed Applications Chapter 13 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Computer Science Lecture 13, page 1 CS677: Distributed OS Last Class: Canonical Problems Distributed synchronization and mutual exclusion Distributed Transactions.
By Shruti poundarik.  Data Objects and Files are replicated to increase system performance and availability.  Increased system performance achieved.
Shuman Guo CSc 8320 Advanced Operating Systems
COAST An Open Source Smalltalk Framework to Build Synchronous Collaborative Applications Jan Schümmer, Till Schümmer, Christian Schuckmann GMD - IPSI,
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
13-1 Chapter 13 Concurrency Topics Introduction Introduction to Subprogram-Level Concurrency Semaphores Monitors Message Passing Java Threads C# Threads.
Introduction to Distributed Databases Yiwei Wu. Introduction A distributed database is a database in which portions of the database are stored on multiple.
E81 CSE 532S: Advanced Multi-Paradigm Software Development Venkita Subramonian, Christopher Gill, Ying Huang, Marc Sentany Department of Computer Science.
1 Distributed Systems Distributed Object-Based Systems Chapter 10.
Channels. Models for Communications Synchronous communications – E.g. Telephone call Asynchronous communications – E.g. .
Software, IEE Proceedings, Vol.152, Num.3, June 2005,Page(s): Prasanthi.S March, Java-based component framework for dynamic reconfiguration.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
Process Management Deadlocks.
Distributed Shared Memory
Architecting Web Services
Open Source distributed document DB for an enterprise
A synchronized protocol for distributed collaborative modeling
Architecting Web Services
Parallel and Distributed Simulation Techniques
Overview Parallel Processing Pipelining
Chapter 7: Deadlocks Source & Copyright: Operating System Concepts, Silberschatz, Galvin and Gagne.
#01 Client/Server Computing
UML dynamic Modeling (Behavior Diagram)
Advanced Operating Systems
Service-centric Software Engineering
What is an Architecture?
Monitors Chapter 7.
Multiprocessor Introduction and Characteristics of Multiprocessor
Outline Midterm results summary Distributed file systems – continued
Analysis models and design models
Ms Munawar Khatoon IV Year I Sem Computer Science Engineering
An Introduction to Software Architecture
Channels.
Monitors Chapter 7.
Monitors Chapter 7.
What is an Architecture?
Distributed Database Management Systems
Channels.
Channels.
#01 Client/Server Computing
Presentation transcript:

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

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

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

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.

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.

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

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.

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

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.

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.

Object Manager Class diagram in UML syntax:

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.

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

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

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.

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

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.

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

Concurrency Control Example lock allocation graph:

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.

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

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

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

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

Contact WWW: http://pi2.fernuni-hagen.de E-mail: Stephan.Lukosch@Fernuni-hagen.de