ACM Transactions on Database Systems (TODS)
Persistent shared object support in the Guide system: evaluation & related work
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
HAC: hybrid adaptive caching for distributed storage systems
Proceedings of the sixteenth ACM symposium on Operating systems principles
The Coign automatic distributed partitioning system
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
Implementing a caching service a distributed COBRA objects
IFIP/ACM International Conference on Distributed systems platforms
Robust State Sharing for Wide Area Distributed Applications
ICDCS '98 Proceedings of the The 18th International Conference on Distributed Computing Systems
Efficient implementations of java remote method invocation (RMI)
COOTS'98 Proceedings of the 4th conference on USENIX Conference on Object-Oriented Technologies and Systems - Volume 4
An architecture for next generation middleware
Middleware '98 Proceedings of the IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing
Non-functional Replication Management in the Corba Component Model
OOIS '02 Proceedings of the 8th International Conference on Object-Oriented. Information Systems
An Infrastructure for CORBA Component Replication
CD '02 Proceedings of the IFIP/ACM Working Conference on Component Deployment
The ABC adaptive fusion architecture
Proceedings of the 4th international workshop on Middleware for Pervasive and Ad-Hoc Computing (MPAC 2006)
DOLCLAN: middleware support for peer-to-peer distributed shared objects
DAIS'07 Proceedings of the 7th IFIP WG 6.1 international conference on Distributed applications and interoperable systems
Hi-index | 0.00 |
Many distributed programming environments have been designed to support distributed shared objects over the Internet. Most of these environments (Java RMI and CORBA, for example), support client-server applications where distributed objects reside on servers, which execute all methods (remote or local) invoked on the objects. Traditional client-server models do not support client-side object caching and the local access it provides. We believe that object caching is critical to distributed applications, especially over the Internet, where latency and bandwidth are highly variable. We have developed a configurable and efficient remote method invocation mechanism that provides the same interface as Java RMI, while extending its functionality so that shared objects can be cached on the accessing nodes. The mechanism, called Javanaise, is based on the caching of clusters, which are groups of interdependent Java objects. We have implemented a prototype consisting of a preprocessor that generates the required proxy classes from the application interfaces and a run-time environment that uses system classes to manage the consistency of cluster replicas cached on client nodes. We describe the motivation for the work, the design choices made for the Javanaise clustering mechanism, the implementation principles for managing Javanaise clusters, and the results from three experiments that compare the performance of Javanaise with Java RMI