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.
The consistency model uses conits--groups
of application-defined related objects--as the granularity for caching,
consistency, and synchronization.
A prototype demonstrates on-demand caching of service code and data
in Web application proxies.
Ivory Online
Papers
- "Scaling Java-based Dynamic Web Services" by Sara Sprenkle and
Jeff Chase. Technical Report CS-2001-02.
Department of Computer Science, Duke University. May 2001.
[ps]
[pdf]
- "Toward Automatic State Management for Replicated Dynamic Web
Services" by Geoff Berry, Jeff Chase, Geoff Cohen, Landon Cox, and Amin
Vahdat. 1999 Netstore Symposium, Seattle WA, October 1999.
[ps]
[pdf]
Presentations
J* Object Instrumentation Environment
Ivory is based on JOIE, a toolkit for transforming Java classes.
For more information about JOIE, refer to the following articles:
Related Work at Duke
Sara E. Sprenkle
Last modified: Wed Feb 20 16:33:58 EST 2002