A comparative analysis of groupware application protocols (original) (raw)

Efficient distributed implementation of semi-replicated synchronous groupware

Proceedings of the 9th annual ACM symposium on User interface software and technology - UIST '96, 1996

The Model View Controller (MVC) architecture has proven to be an effective way of organizing synchronous groupware applications. Distributed implementations of MVC, however, can suffer from poor performance. This paper demonstrates how optimized semi-replication of MVC architectures can lead to good performance over both local and wide area networks. We present a series of optimizations to network communication based on specific communication properties of groupware. These optimizations have been implemented in the Clock groupware development toolkit, allowing programmers to develop applications directly in the high-level MVC style, with Clock automatically providing optimized performance. Timings of an application developed in Clock show that usable speed was obtained in a highly interactive groupware application running between Toronto and Calgary, with a typical latency of 190 ms per round trip message. The paper discusses the tradeoffs involved in the algorithms, and presents timings to demonstrate the effectiveness of the different approaches. The timings show that when running over a wide area network, the best optimization can achieve a factor 60 speedup over the naive implementation of distributed MVC.

A Comparison of Distributed Groupware Implementation Environments

2003

This paper compares popular client and server architectures used for groupware. It presents a client framework and evaluates native, installed clients, Java-based applications, and web-based architectures. It also presents a server framework and evaluates databases, thin servers, application servers, and a custom collaborative server. Lessons learned are provided for each architecture.

Architecture for synchronous groupware application development

Advances in Human Factors/Ergonomics, 1995

This paper describes the design choices and the prototype implementation of CoopScan, a generic framework for synchronous groupware development. We focus on architectural issues and on strategies for integration of existing single−user applications into a collaborative environment. In this work, we propose a generic approach to application re−use. This approach is validated through the development of a testbed synchronous collaborative editor.

Constructing distributed groupware systems

Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications - EW 8, 1998

The term "groupware" is used to describe a wide range of application types, from e-mail systems through shared text editors to videoconferencing systems, all of which aim to support the co-operation of multiple users . Building such systems is difficult. All but the most trivial groupware system are complex distributed multi-user systems. For example, a system might integrate a spreadsheet, a CAD package and a multi-media conferencing application, enforcing a variation of strict turn taking on the part of the participants . It is important therefore to find a way to support the construction of groupware, so simplifying the design and programming tasks. This support should be generic and comprehensive: it should support, in every important respect, the construction of a very broad spectrum of groupware systems, rather than some subset. We hypothesise that useful groupware support should be based on an integrated approach that focuses first on the commonality across the range of groupware systems, rather than targeting specific support issues for one or other class of system.

LICRA: A replicated-data management algorithm for distributed synchronous groupware applications

Parallel Computing, 1997

Replicated data consistency is a key issue in the design of distributed real time groupware applications. In this paper, we propose a new protocol to cope with this problem. The proposed algorithm guarantees an optimal response time while ensuring data consistency at system quiescence. The originality of our proposition relies on the fact that neither locks nor clocks nor global information are required to establish data consistency. Instead, direct dependency relations between generated operations as well as operation transformation mechanism are used. The coupling of the above two mentioned mechanisms is shown to realize a good trade-off between the different requirements of groupware applications. Advantages of our approach are illustrated by comparing the algorithm to two well known optimistic concurrency control protocols for groupware applications: dOPT and ORESTE.

An Architectural Design of a Toolkit for Synchronous Groupware Applications.

1994

Abstract: The central question studied in this thesis is how to design high-level reusable components for developing synchronous groupware applications. A modern user interface requires the separation of applications into two components namely application and graphical user interface. An effective architecture for synchronous, multiple-user groupware applications requires a separation of one more component from the application: the management of the session and shared data.

Real time groupware as a distributed system: concurrency control and its effect on the interface

Proceedings of the 1994 ACM conference …, 1994

This paper exposes the concurrency control problem in groupware when it is implemented as a distributed system. Traditional concurrency control methods cannot be applied directly to groupware because system interactions includes people as well as computers. Methods, such as locking, serialization, and their degree of optimism, are shown to have quite different impacts on the interface and how operations are displayed and perceived by group members. The paper considers both human and technical considerations that designers should ponder before choosing a particular concurrency control method. It also reviews our work-in-progress designing and implementing a library of concurrency schemes in GROUPKIT, a groupware toolkit.

Building Groupwares over Duplicated Object Systems

Lecture Notes in Computer Science, 2002

Groupware toolkits let developers build applications for synchronous and distributed computer-based conferencing. Duplicated object systems 1 (or DoS ), on the other hand, manage distributed objects over the Internet and, since they include high-level features such as communication facilities, load balancing, fault tolerance, and hierarchical messaging, may be leveraged as building blocks for rapidly developing groupware toolkits. This paper describes how we built such a groupware starting from a particular DoS. The system contains a run-time architecture that automatically manages the creation, interconnection, and communications of the distributed processes involved in the working sessions, a set of groupware facilities allowing users to collaborate, to take action on state changes, and to share relevant data, and a session management and user control mechanisms accommodating the group's working style.

Data management support for asynchronous groupware

Proceedings of the 2000 ACM conference on Computer supported cooperative work - CSCW '00, 2000

In asynchronous collaborative applications, users usually collaborate accessing and modifying shared information independently. We have designed and implemented a replicated object store to support such applications in distributed environments that include mobile computers. Unlike most data management systems, awareness support is integrated in the system. To improve the chance for new contributions, the system provides high data availability. The development of applications is supported by an object framework that decomposes objects in several components, each one managing a different aspect of object "execution". New data types may be created relying on pre-defined components to handle concurrent updates, awareness information, etc.

Designing the Communications Infrastructure of Groupware Systems

Lecture Notes in Computer Science, 2002

In the development of groupware systems a well designed communications infrastructure is required, due to the high complexity of the communication scenario. Also, the design and implementation of coordination and collaboration mechanisms depends on the communications infrastructure. Actually there are no well known guidelines to design this infrastructure. Therefore, this paper proposes an architectural pattern that helps carry out the design of this communications infrastructure. The proposed pattern supports all the groupware systems communication scenarios, taking in account their particularities. This pattern has been used in the design of several groupware applications and a groupware framework with very good results.