Skip to main content

Remote Batch Invocation for Compositional Object Services

  • Conference paper
ECOOP 2009 – Object-Oriented Programming (ECOOP 2009)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5653))

Included in the following conference series:

Abstract

Because Remote Procedure Calls do not compose efficiently, designers of distributed object systems use Data Transfer and Remote Façade patterns to create large-granularity interfaces, hard-coded for particular client use cases. As an alternative to RPC-based distributed objects, this paper presents Remote Batch Invocation (RBI), language support for explicit client-defined batches. A Remote Batch statement combines remote and local execution: all the remote code is executed in a single round-trip to the server, where all data sent to the server and results from the batch are communicated in bulk. RBI supports remote blocks, iteration and conditionals, and local handling of remote exceptions. RBI is efficient even for fine-grained interfaces, eliminating the need for hand-optimized server interfaces. We demonstrate RBI with an extension to Java, using RMI internally as the transport layer. RBI supports large-granularity, stateless server interactions, characteristic of service-oriented computing.

This work was supported by the National Science Foundation under Grant CCF-0448128.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ahern, A., Yoshida, N.: Formalising Java RMI with explicit code mobility. In: Proc. of OOPSLA 2005, pp. 403–422. ACM Press, New York (2005)

    Google Scholar 

  2. Alt, M., Gorlatch, S.: Adapting Java RMI for grid computing. Future Generation Computer Systems 21(5), 699–707 (2005)

    Article  Google Scholar 

  3. Alur, D., Crupi, J., Malks, D.: Core J2EE Patterns: Best Practices and Design Strategies. Prentice Hall PTR, Englewood Cliffs (2003)

    Google Scholar 

  4. Baduel, L., Baude, F., Caromel, D., Contes, A., Huet, F., Morel, M., Quilici, R.: Programming, Deploying, Composing, for the Grid. In: Grid Computing: Software Environments and Tools. Springer, Heidelberg (2006)

    Google Scholar 

  5. Black, A.P., Hutchinson, N.C., Jul, E., Levy, H.M.: The development of the Emerald programming language. In: HOPL III, pp. 11–1–11–51 (2007)

    Google Scholar 

  6. Bogle, P., Liskov, B.: Reducing cross domain call overhead using batched futures. ACM SIGPLAN Notices 29(10), 341–354 (1994)

    Article  Google Scholar 

  7. Brevnov, E., Dolgov, Y., Kuznetsov, B., Yershov, D., Shakin, V., Chen, D.-Y., Menon, V., Srinivas, S.: Practical experiences with java software transactional memory. In: PPoPP 2008: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, pp. 287–288. ACM, New York (2008)

    Google Scholar 

  8. Brown, N., Kindel, C.: Distributed Component Object Model Protocol–DCOM/1.0, Redmond, WA, 1996 (1998)

    Google Scholar 

  9. Cheung Yeung, K., Kelly, P.: Optimising Java RMI Programs by Communication Restructuring. In: Endler, M., Schmidt, D.C. (eds.) Middleware 2003. LNCS, vol. 2672. Springer, Heidelberg (2003)

    Google Scholar 

  10. Chong, S., Liu, J., Myers, A.C., Qi, X., Vikram, K., Zheng, L., Zheng, X.: Secure web application via automatic partitioning. In: SOSP 2007: Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles, pp. 31–44. ACM, New York (2007)

    Chapter  Google Scholar 

  11. Cook, W., Barfield, J.: Web Services versus Distributed Objects: A Case Study of Performance and Interface Design. In: the IEEE International Conference on Web Services (ICWS 2006), pp. 419–426 (2006)

    Google Scholar 

  12. Damm, C., Eugster, P., Guerraoui, R.: Linguistic support for distributed programming abstractions. In: Proceedings of 24th International Conference on Distributed Computing Systems, pp. 244–251 (2004)

    Google Scholar 

  13. Demarey, C., Harbonnier, G., Rouvoy, R., Merle, P.: Benchmarking the Round-Trip Latency of Various Java-Based Middleware Platforms. Studia Informatica Universalis Regular Issue 4(1), 7–24 (2005)

    Google Scholar 

  14. Detmold, H., Hollfelder, M., Oudshoorn, M.: Ambassadors: structured object mobility in worldwide distributed systems. In: Proc. of ICDCS 1999, pp. 442–449 (1999)

    Google Scholar 

  15. Detmold, H., Oudshoorn, M.: Communication Constructs for High Performance Distributed Computing. In: Proceedings of the 19th Australasian Computer Science Conference, pp. 252–261 (1996)

    Google Scholar 

  16. Ekman, T., Hedin, G.: The JastAdd Extensible Java Compiler. SIGPLAN Not 42(10), 1–18 (2007)

    Article  MATH  Google Scholar 

  17. Erl, T.: Service-Oriented Architecture: Concepts, Technology, and Design. Prentice-Hall, Upper Saddle River (2005)

    Google Scholar 

  18. Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley Longman Publishing Co., Inc, Boston (2002)

    Google Scholar 

  19. Gabriel, R.: Is worse really better? Journal of Object-Oriented Programming (JOOP) 5(4), 501–538 (1992)

    Google Scholar 

  20. Krafzig, D., Banke, K., Slama, D.: Enterprise SOA: service-oriented architecture best practices. Prentice-Hall, Englewood Cliffs (2005)

    Google Scholar 

  21. Marques, E.: A study on the optimisation of Java RMI programs. Master’s thesis, Imperial College of Science Technology and Medicine, University of London (1998)

    Google Scholar 

  22. The Object Management Group (OMG). The Common Object Request Broker: Architecture and Specification (1997)

    Google Scholar 

  23. Patterson, D.A.: Latency lags bandwith. Commun. ACM 47(10), 71–75 (2004)

    Article  Google Scholar 

  24. Peltz, C.: Web services orchestration and choreography. Computer 36(10), 46–52 (2003)

    Article  Google Scholar 

  25. Philippsen, M., Zenger, M.: JavaParty– transparent remote objects in Java. Concurrency Practice and Experience 9(11), 1225–1242 (1997)

    Article  Google Scholar 

  26. Saif, U., Greaves, D.: Communication primitives for ubiquitous systems or RPC consideredharmful. In: 2001 International Conference on Distributed Computing Systems Workshop, pp. 240–245 (2001)

    Google Scholar 

  27. Shepler, S., Callaghan, B., Robinson, D., Thurlow, R., Beame, C., Eisler, M., Noveck, D.: Network File System (NFS) version 4 Protocol (2003)

    Google Scholar 

  28. Spiegel, A.: Automatic Distribution of Object Oriented Programs. PhD thesis, FU Berlin, FB Mathematik und Informatik (2002)

    Google Scholar 

  29. Sun Microsystems. Java Remote Method Invocation Specification (1997)

    Google Scholar 

  30. Tanenbaum, A.S., Renesse, R.v.: A critique of the remote procedure call paradigm. In: EUTECO 1988, pp. 775–783. North-Holland, Amsterdam (1988)

    Google Scholar 

  31. Tatsubori, M., Sasaki, T., Chiba, S., Itano, K.: A Bytecode Translator for Distributed Execution of “Legacy” Java Software. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, p. 236. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  32. Tay, B., Ananda, A.: A survey of remote procedure calls. Operating Systems Review 24(3), 68–79 (1990)

    Article  Google Scholar 

  33. Tilevich, E., Smaragdakis, Y.: J-Orchestra: Enhancing Java programs with distribution capabilities. ACM Transactions on Software Engineering and Methodology (in press)

    Google Scholar 

  34. Vinoski, S.: RPC Under Fire. IEEE Internet Computing, 93–95 (2005)

    Google Scholar 

  35. Vogels, W.: Web services are not distributed objects. IEEE Internet Computing 7(6), 59–66 (2003)

    Article  Google Scholar 

  36. Waldo, J., Wollrath, A., Wyant, G., Kendall, S.: A Note on Distributed Computing. Technical report, Sun Microsystems, Inc. Mountain View, CA, USA (1994)

    Google Scholar 

  37. Wiedermann, B., Ibrahim, A., Cook, W.R.: Interprocedural query extraction for transparent persistence. In: OOPSLA 2008: Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications, pp. 19–36. ACM Press, New York (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ibrahim, A., Jiao, Y., Tilevich, E., Cook, W.R. (2009). Remote Batch Invocation for Compositional Object Services. In: Drossopoulou, S. (eds) ECOOP 2009 – Object-Oriented Programming. ECOOP 2009. Lecture Notes in Computer Science, vol 5653. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-03013-0_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-03013-0_27

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-03012-3

  • Online ISBN: 978-3-642-03013-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics