VTechWorks staff will be away for the winter holidays starting Tuesday, December 24, 2024, through Wednesday, January 1, 2025, and will not be replying to requests during this time. Thank you for your patience, and happy holidays!
 

System Resource Sharing for Synchronous Collaboration

Files

TR Number

TR-99-11

Date

1999-09-01

Journal Title

Journal ISSN

Volume Title

Publisher

Department of Computer Science, Virginia Polytechnic Institute & State University

Abstract

We describe problems associated with accessing data resources external to the application, which we term externalities, in replicated synchronous collaborative applications (e.g., a multiuser text editor). Accessing externalities such as les, databases, network connections, environment variables and the system clock is not as straightforward in replicated collaborative software as in single-user applications and centralized collaborative systems. We describe ad hoc solutions that have been used previously. Our primary objection to the ad hoc solutions is that the developer must program dierent behavior into the dierent replicas of a multi-user application, which increases the cost and complexity of development. We introduce a novel general approach to accessing externalities uniformly in a replicated collaborative system. The approach uses a semi-replicated architecture where the actual externality resides at a single location and is accessed via replicated proxies. The proxies multiplex input to and output from the single instance of the externality. This approach facilitates the creation of replicated synchronous groupware in two ways: (1) developers use the same mechanisms as in traditional single-user applications (2) developers program all replicas to execute the same behavior. We describe a general design for proxied access to read{only, write{only and read{write externalities. We discuss the tradeos of this semi- replicated approach over full, literal replication and the class of applications to which this approach can be successfully applied. We also describe details of a prototype implementation of this approach within a replicated collaboration-transparency system, called Flexible JAMM (Java Applets Made Multi-user).

Description

Keywords

Parallel computation

Citation