Ph.D Thesis

Ph.D StudentVitenberg Roman
SubjectInternet Wide Caching of Distributed Objects
DepartmentDepartment of Computer Science
Supervisor PROF. 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.