Cooperative Information Sharing in the Internet

These projects are directed at various aspects of efficient information sharing across wide-area networks. They are associated with the Duke Cluster Lab and the Internet Systems Software Group.


CRISP: A Cooperative Internet Cache

The CRISP Web Cache is a scalable Internet proxy cache developed in a collaboration with Misha Rabinovich and others at AT&T Research. More detailed info on the CRISP web cache can be found on the CRISP Web Cache page.


Proxycizer

Proxycizer is a suite of simulation tools and HTTP proxy drivers used for trace-driven benchmarking and simulation. See the Proxycizer page for download instructions and for more details on the package.


J* Object Instrumentation Environment

JOIE is a toolkit and environment for on-the-fly transformation of Java bytecodes. Bytecode transformation is a powerful tool for adding new functionality or other adaptations to Java software. JOIE is in use at more than a dozen sites for projects relating to security, software development and extension, and resource management.


Replicated Dynamic Web Services Using Server-Side Java

A key challenge in the development of the Internet is to simplify construction of scalable wide-area services, particularly new-generation services with dynamically generated content. One approach to scaling Internet services is to deploy generic computing power and storage in the network, in order to absorb service load through active caching or dynamic service replication. This introduces distributed state that must be kept consistent in order for the service to function correctly.

We are experimenting with an approach to automatic state management for dynamic Internet services based on server-side Java technology. The goal of the research is to allow transparent caching or replication of dynamic services, a key step toward automatically converting unscalable service implementations into scalable ones. Our approach transforms the bytecodes of a Java-based service to capture and propagate object updates using a weak consistency model that preserves update atomicity. A prototype demonstrates on-demand caching of service code and data in Web application proxies.


Networked Shared Data Spaces for Web-based Collaboration

We are building extensible cache consistency facilities for ``fat client'' distributed applications in Java. Applications access shared data stored on a distributed service, and update a copy of the data in a local cache. In our first prototype, called Relay, updates are propagated to servers and other clients using a weakly ordered eventual consistency model similar to Bayou (at Xerox PARC) and others. Shared objects are passed among the Relay clients and servers using Java's object serialization facility. We have used Relay to implement a (you guessed it) distributed whiteboard application called Multiart.
Jeff Chase
Last modified: Sun Apr 30 13:06:49 EDT 2000