High-Latency, Low-Bandwidth Windowing in the Jupiter Collaboration System


Jupiter is a multi-user, multimedia virtual world intended to support long-term remote collaboration. In particular, it supports shared documents, shared tools, and, optionally, live audio/video communication. Users who program can, with only moderate effort, create new kinds of shared tools using a high-level windowing toolkit; the toolkit provides transparent support for fully-shared widgets by default. This paper describes the low-level communications facilities used by the implementation of the toolkit to enable that support. The state of the Jupiter virtual world, including application code written by users, is stored and (for code) executed in a central server shared by all of the users. This architecture, along with our desire to support multiple client platforms and high-latency networks, led us to a design in which the server and clients communicate in terms of high-level widgets and user events. As in other groupware toolkits, we need a concttrrency-control algorithm to maintain common values for all instances of the shared widgets. Our algorithm is derived from a fully distributed, optimistic algorithm developed by Ellis and Gibbs [12]. Jupiter’s centralized architecture allows us to substantially simplify their algorithm. This combination of a centralized architecture and optimistic concurrency control gives us both easy serializability of concurrent update streams and fast response to user actions. The algorithm relies on operation transformations to fix up conflicting messages. The best transformations are not always obvious, though, and several conflicting concerns are involved in choosing them. We present our experience with choosing transformations for our widget set, which Permission to make digikl/l)ard copies of all or part uf [his mateciai for personal or classroom usc is granted wi[hout fee provided thal Ihe copies are not made or distributed for pn)fit or commercial advautage, Ihe copyright notice, the title of {he publication and its date appear. and notice is given *a: =v~yrigl~t i. by pvrmimivn of (IIC ACM. Im. To copy o[herwise, to repubhsh, to post on servers or to redistribute to lists, requires specific permission and/or fee. UIST 95 Pittsburgh PA USA @1995 ACM 0-89791-709-x/95/l 1.. $3,50 includes a text editor, a graphical drawing widget, and a number of simpler widgets such as buttons and sliders.

DOI: 10.1145/215585.215706

Extracted Key Phrases

10 Figures and Tables

Citations per Year

169 Citations

Semantic Scholar estimates that this publication has 169 citations based on the available data.

See our FAQ for additional information.

Cite this paper

@inproceedings{Nichols1995HighLatencyLW, title={High-Latency, Low-Bandwidth Windowing in the Jupiter Collaboration System}, author={David A. Nichols and Pavel Curtis and Michael Dixon and John Lamping}, booktitle={ACM Symposium on User Interface Software and Technology}, year={1995} }