Skip to Main Content
Scalability is a stringent requirement to every evolving information system. One of the key solutions to the scalability is caching. Most distributed object caching systems to date offer only coarse-grained mechanism in which an entire servant object graph is cached at once. Doing this minimizes cache miss frequency but imposes the long latency of cache miss resolution especially when the servant object graph is large or when the network load is high. Hence, it is preferable to compromise between this pair of performance metrics. Using fine-grained caching approach in which only necessary parts of the servant object graph are cached can satisfy both metrics at the same time. In this paper, we propose a framework that supports the incremental and automatic finegrained caching of Java objects at run time in transparent manner to client. This goal is efficiently achieved by means of proxy and hook mechanisms. Experimental results demonstrate that our framework incurs the latency of cache miss resolution by only one third of a remote invocation latency of Java RMI. Furthermore, the proposed framework can deliver cache hit performance closely to that of Java local invocation's while outperforming Java RMI 1400 times.