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 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.
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.