Abstract
Java-based distributed applications generally use RMI (Remote Method Invocation) for accessing remote objects. When used in a wide-area environment, the performance of such applications can be poor because of the high latency of RMI. This latency can be reduced by caching objects at the client node. However, the use of caching introduces other issues, including the expense of caching the object as well as the expense of managing the consistency of the object. This paper presents a middleware for object caching in Java RMI-based distributed applications. The mechanisms used by the middleware are fully compatible with Java RMI and are transparent to the clients. Using this middleware, the system designer can select the caching strategy and consistency protocol most appropriate for the application. The paper illustrates the benefits of using these mechanisms to improve the performance of RMI applications
This work was supported by NSF ITR 0082215.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Aldrich, J., Chambers, C., Sirer, E. G., and Eggers, S. Static analyses for eliminating unnecessary synchronization from Java programs. In Proceedings of the Sixth International Static Analysis Symposium (Venezia, Italy, Sept. 1999), pp. 19–38.
Archibald, J., and Baer, J.-L. Cache coherence protocols: Evaluation using a multiprocessor simulation model. ACM Transactions on Computer Systems t4,4 (Nov. 1986), 278–298.
Aridor, Y., Factor, M., Teperman, A., Eliam, T., and Schuster, A. A high performance cluster JVM presenting a pure single system image. In Proc of 2000 Java grande conference (San Francisco, CA, June 2000), pp. 168–177.
Bakker, A., van Steen, M., and Tanenbaum, A. S. From remote objects to physically distributed objects. In Proceedings of the 7th IEEE Workshop on Future Trends of Distributed Computing Systems (Cape Town, South Africa, Dec. 1999), pp. 47–52.
Bogda, J., and Holzle, U. Removing unnecessary synchronization in Java. In Proceedings of the 14th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA) (Denver, Colorado, Nov. 1999), pp. 35–46.
Dahm, M. Byte code engineering with the JavaClass API. Tech. Rep. B-17-98, Freie Universitat Berlin, July 1999.
Garbinato, B., Guerraoui, R., and Masouni, K. R. Implementation of the GARF replicated objects platform. Distributed Systems Engineering Journal 1,1 (Mar. 1995).
Gray, J., and Shenoy, P. Rules of thumb in data engineering. In Proceedings of the 16th International Conference on Data Engineering (San Diego, CA, Feb. 2000), pp. 3–12.
Halter, S. L., and Munroe, S. J. Enterprise Java Performance. Prentice Hall PTR, 2000.
Hu, Y. C., Yu, W., Cox, A., Wallach, D., and Zwaenepoel, W. Runtime support for distributed sharing in typed languages. In Proceedings of LCR2000: The Fifth Workshop on Languages, Compilers, and Run-time Systems for Scalable Computers (Rochester, NY, May 2000).
Kleinoder, J., and Golm, M. MetaJava: An efficient run-time meta architecture for Java. In Proceedings of the Fifth Workshop on Object-Orientation in Operating Systems (IWOOOS’ 96) (Seattle, Washington, Oct. 1996), pp. 54–61.
Krintz, C., Calder, B., and Holzle, U. Reducing transfer delay using Java class file splitting and prefetching. In Proceedings of the 14th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA) (Denver, Colorado, Nov. 1999), pp. 276–291.
Krishnaswamy, V., Ganev, I. B., Dharap, J. M., and Ahamad, M. Distributed object implementations for interactive application. In Proceeeding of Middleware 2000 (New York, New York, Apr. 2000), pp. 45–70.
Krishnaswamy, V., Walther, D., Bhola, S., Bommaiah, E., Riley, G., Topol, B., and Ahamad, M. Efficient implementation of Java remote method invocation (RMI). In Proceedings of the 4th USENIX Conference on Object-Oriented Technologies and Systems (COOTS) (Sante Fe, New Mexico, Apr. 1998).
Levy, E., and Silberschatz, A. Distributed file systems: concepts and examples. ACM Computing Surveys 22,4 (Dec. 1990), 321–374.
Lipkind, I., Pechtchanski, I., and Karamcheti, V. Object views: Language support for intelligent object caching in parallel and distributed computations. In Proceedings of the 14th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA) (Denver, Colorado, November 1999), pp. 447–460.
Liskov, B., Castro, M., Shrira, L., and Adya, A. Providing persistent objects in distributed systems. In Proceedings of ECOOP’99 (Lisbon, Portugal, June 1999), pp. 230–257.
Nester, C., Philippsen, M., and Haumacher, B. A more efficient RMI for Java. In Proceedings of The ACM 1999 Java Grande Conference (San Francisco, June 1999), pp. 153–159.
Shapiro, M. Structure and encapuslation in distributed system — the proxy principle. In Proceedings of the Sixth International Conference on Distributed Computing Systems (May 1986).
SUN Microsystems. Java remote method invocation specification, 1997. http://www.javasoft.com/products/jdk/1.1/docs/guide/rmi/spec/rmiTOC.doc.html
Transaction Processing Performance Council. TPC benchmark C. http://www.tpc.org/cspec.html, 1999.
VAN Steen, M., Homburg, P., and Tanenbaum, A. S. Globe: A wide-area distributed system. IEEE Concurrency 7,1 (Mar. 1999), 70–78.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 IFIP International Federation for Information Processing
About this paper
Cite this paper
Eberhard, J., Tripathi, A. (2001). Efficient Object Caching for Distributed Java RMI Applications. In: Guerraoui, R. (eds) Middleware 2001. Middleware 2001. Lecture Notes in Computer Science, vol 2218. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45518-3_2
Download citation
DOI: https://doi.org/10.1007/3-540-45518-3_2
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42800-8
Online ISBN: 978-3-540-45518-9
eBook Packages: Springer Book Archive