|Ph.D Student||Vitenberg Roman|
|Subject||Internet Wide Caching of Distributed Objects|
|Department||Department of Computer Science||Supervisor||Professor Roy Friedman|
Caching systems and architectures have proven exceptionally effective in the large scale World Wide Web environment, and Web caching techniques, tools and infrastructures have been becoming increasingly mature during the recent decade. At the same time, the more general problem of caching generic distributed objects remains mainly unresolved. In particular, very few caching systems have been developed for object oriented platforms like .NET, CORBA or EJB. This is believed to be one of the major reasons for hindering development of truly large scale distributed applications based on such middlewares.
In this thesis we present CASCADE, a caching service for distributed CORBA
objects, aimed at increasing the availability, locality, predictability and
responsiveness of object accesses. CASCADE is unique in supporting dynamic
transfer and deployment of active objects (that include both data and code),
and by employing a dynamically built hierarchy, which makes it suitable for
scalable Internet services. Among the other main benefits of CASCADE are
transparency for applications and flexible consistency maintenance.
We deliberate on the design goals and the general architecture of CASCADE.
In particular, we develop a theoretical consistency model that lends itself
to distributed services operating in wide area networks. Specifically, we
propose a highly flexible composability approach to consistency in such
services. We also consider properties of consistency conditions that are
important for service scalability, e.g., locality.
We describe the implementation of various CASCADE's mechanisms and
protocols in detail. In particular, we present the communication infrastructure
maintenance, support of different consistency guarantees, cache management,
code caching, and flow control algorithms.
In order to show how applications can benefit from a caching service like
CASCADE, we consider several applications of different classes. We
analyze the requirements of these applications from a caching service as
well as the difficulties of porting already existing applications to
CASCADE. In some cases, we indicate the speedup in performance that is
achieved from such porting.
Finally, we present the performance of CASCADE as observed in the
experiments that we conducted in various settings. Specifically, we show
the results of running CASCADE in a real wide area environment including
both service response times and network level characteristics of the
communication such as throughput. Based on these results, we discuss flow
control techniques for reducing response times of distributed services that
use TCP for communicating over WANs.