Next: Related Work
Up: Introduction
Previous: Weakly Ordered Eventual Consistency
Distributed collaborative applications are on the immediate horizon for new
uses of the World Wide Web. Interaction with data and collaboration over
the Web will characterize the next wave of Web applications. To
facilitate development of such applications, we propose that functionality
common to all such systems be united through shared data spaces. As a data
substrate for DCAs, shared data spaces fill the needs of DCAs to share data,
allow client-side updates, and ensure consistency of shared data.
For good performance and robustness, shared data spaces should employ
caches using an eventual consistency protocol that allows unsynchronized
access to data. For graphical DCAs with weaker consistency requirements,
weakly ordered eventual consistency is easy to implement efficiently.
The highlights of this thesis work are:
- a generic API for handling client updates to shared data
consisting of arbitrary fine-grained objects;
- Relay, a multithreaded, hierarchical shared data space that
implements weakly ordered eventual consistency under the generic API;
- Multiart, a Relay client application that lets users collaborate
graphically with basic shapes using a shared whiteboard model;
- experimentation with Java as a programming language for the Web.
This thesis focuses on weakly ordered eventual consistency as an
efficient, reliable, scalable, and acceptable way to propagate updates in
a shared data space for a Web-based DCA.
Together, Multiart and Relay illustrate one point in the design space
of Web-based DCAs and shared data space substrates. They are meant to
form a testbed for different implementations of shared data space
properties, from which fully functional shared data spaces could
evolve.
This thesis is organized as follows:
- Chapter 2 discusses
related work and outlines the evolution of shared data spaces. It starts
with a discussion of some distributed systems that exhibit the three
traits common to DCAs: shared state, client-side updates, and data
consistency. It also explains in more detail why eventual consistency with
unsynchronized access is a good choice for a consistency model for
shared data spaces for the Web.
- Chapter 3 is a design overview of Relay, a simple shared
data space for a Web-based DCAs, focusing on Relay's client/server
structure and cache management.
- Chapter 4 details the implementation of
the Relay system and Multiart client. This chapter includes a closer look
at the use of Java in developing this system. It also details
the interface for handling updates in DCAs based on the Relay shared data
space.
- Chapter 5 presents conclusions and ideas for
future work. We evaluate weakly ordered eventual consistency with
unsynchronized access in Web-based DCAs, the use of Java as a programming
language for the Web, and the role of shared data spaces as an efficient
data substrate for Web-based DCAs.
Next: Related Work
Up: Introduction
Previous: Weakly Ordered Eventual Consistency
Carmine F. Greco
Wed Mar 26 23:44:38 EST 1997