Technical Report PHD-2002-02

Title: Internet-Wide Caching of Distributed Objects
Authors: Roman Vitenberg (Roy Friedman)
Abstract: 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 {\em composability} approach to consistency in such services. We also consider properties of consistency conditions that are important for service scalability, e.g., {\em 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.
CopyrightThe above paper is copyright by the Technion, Author(s), or others. Please contact the author(s) for more information

Remark: Any link to this technical report should be to this page (, rather than to the URL of the PDF files directly. The latter URLs may change without notice.

To the list of the PHD technical reports of 2002
To the main CS technical reports page

Computer science department, Technion