Skip to main content

Another look at the middleware for dependable distributed computing

Abstract

Key concepts of reliable distributed computing developed during the 1980s and 1990s (e.g., transactions, replication) influenced the standards based middleware such as CORBA and Java EE. This middleware has evolved steadily over the years with message passing facilities to support construction of loosely coupled systems. However, the way networked computing is being used for business and social uses is undergoing rapid changes as new ways of constructing distributed execution environments from varieties of resources, ranging from computational, storage, network to application level services, provided by globally distributed service providers are emerging. In light of these developments, the paper examines what core concepts, components, and techniques that will be required in the next-generation middleware for dependable distributed computing. The paper puts forward the case for five topics for further research: better coordination facilities for loosely coupled systems, restructuring of the middleware stack for supporting multi-tenancy, replication in the large, negotiation, and enforcement of service agreements, and accountability.

References

  1. 1.

    Aguilera M, Walfish M (2009) No time for asynchrony. In: Proc USENIX hot topics in operating systems (HotOS09), Berkeley, USA

    Google Scholar 

  2. 2.

    Avizienis A, Laprie J-C, Randell B, Landwehr C (2004) Basic concepts and taxonomy of dependable and secure computing. IEEE Trans Dependable Secure Comput 1(1):11–33

    Article  Google Scholar 

  3. 3.

    Baker S, Dobson S (2005) Comparing service-oriented and distributed object architectures. In: Meersman R, Tari Z et al. (eds) Proceedings of the international symposium on distributed objects and applications. Lecture notes in computer science, vol 3761. Springer, Berlin

    Google Scholar 

  4. 4.

    Baker J et al. (2011) Megastore: providing scalable, highly available storage for interactive services. In: Conference on innovative data systems research (CIDR 11). Asilomar, California, USA

    Google Scholar 

  5. 5.

    Schiper A et al. (eds) (2002) International workshop on future directions in distributed computing, Bertinoro. Lecture notes in computer science, vol 2584. Springer, Berlin

    Google Scholar 

  6. 6.

    Calder B et al. (2011) Windows Azure Storage: A highly available cloud storage service with strong consistency. In: 23rd ACM symposium on operating systems principles (SOSP). Cascais, Portugal

    Google Scholar 

  7. 7.

    Chow R et al. (2009) Controlling data in the cloud: outsourcing computation without outsourcing control. In: ACM cloud computing security workshop, CCSW09, Chicago, Illinois, USA

    Google Scholar 

  8. 8.

    Cook N, Robinson P, Shrivastava S (2004) Component middleware to support non-repudiable service interactions. In: IEEE/IFIP international conference on dependable systems and networks (DSN 2004), Florence, pp 605–614

    Google Scholar 

  9. 9.

    DeCandia G et al. (2007) Dynamo: Amazon’s highly available key-value store. In: 21st ACM symposium on operating systems principles (SOSP), New York, NY, USA, pp 205–220

    Google Scholar 

  10. 10.

    Ezhilchelvan P, Shrivastava S (2010) Learning from the past for resolving dilemmas of asynchrony. In: 3rd ACM SIGOPS international workshop on large scale distributed systems and middleware, SIGOPS. Oper Syst Rev 44(2)

    Google Scholar 

  11. 11.

    Ezhilchelvan P, Clarke D, Di Ferdinando A (2011) Near certain multicast delivery guarantees amidst perturbations in computer clusters. Technical Report No CS-TR-1267. School of Computing Science, Newcastle University

  12. 12.

    Gilbert S, Lynch N (2002) Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant Web services. ACM SIGACT News 33(2)

  13. 13.

    golang.org

  14. 14.

    Haeberlen A (2010) A case for the accountable cloud. In: 3rd ACM SIGOPS international workshop on large scale distributed systems and middleware. SIGOPS Oper Syst Rev 44(2)

    Google Scholar 

  15. 15.

    http://www.jboss.org/infinispan

  16. 16.

    http://www.jgroups.org

  17. 17.

    http://memcached.org/

  18. 18.

    http://www.trustedcomputinggroup.org/

  19. 19.

    Issarny V et al. (2011) Service-oriented middleware for the Future Internet: state of the art and research directions. J Internet Serv Appl 2(1):23–45

    Article  Google Scholar 

  20. 20.

    Java Message Service Specification www.oracle.com/technetwork/java/index-jsp-142945.html

  21. 21.

    Java Specification Request JSR 342: Java Platform, Enterprise Edition 7 (Java EE 7) specification. http://jcp.org/en/jsr/detail?id=342

  22. 22.

    Jordan M et al. (2004) Scaling J2EE application servers with the multi-tasking virtual machine. Sun Microsystem Technical Report, SMLI TR-2004-135. Available at: https://labs.oracle.com/techrep/2004/smli_tr-2004-135.pdf

  23. 23.

    Kistijantoro A, Morgan G, Shrivastava S, Little M (2008) Enhancing an application server to support available components. IEEE Trans Softw Eng 34(4):531–545

    Article  Google Scholar 

  24. 24.

    Krakowiak S, Shrivastava S (eds) (2000) Advances in distributed systems. Lecture notes in computer science, vol 1752. Springer, Berlin

    Google Scholar 

  25. 25.

    Kshemkalyani AD, Singhal M (2011) Distributed computing: principles, algorithms, and systems. Cambridge University Press, Cambridge. ISBN: 9780521189842

    Google Scholar 

  26. 26.

    Lakshman A, Malik P (2010) Cassandra a decentralized structured storage system. In: 3rd ACM SIGOPS international workshop on large scale distributed systems and middleware. SIGOPS Oper Syst Rev 44(2)

    Google Scholar 

  27. 27.

    Lamport L (1998) The part-time parliament. ACM Trans Comput Syst 16(2):133–169

    Article  Google Scholar 

  28. 28.

    Levandoski J, Lomet D, Mokbel M, Zhao KK (2011) Deuteronomy: transaction support for cloud data. In: Conference on innovative data systems research (CIDR 11), Asilomar, California, USA

    Google Scholar 

  29. 29.

    Little M, Shrivastava S (2011) The evolution of the Arjuna transaction processing system, dependable and historic computing. In: Jones CB, Lloyd JL (eds) Lecture notes in computer science, vol 6875. Springer, Berlin, pp 323–343

    Google Scholar 

  30. 30.

    Mell P, Grance T (2011) The NIST definition of cloud computing. NIST Spec Publ 800-145

  31. 31.

    Melliar-Smith PM, Moser L, Agarwala V (1990) Broadcast protocols for distributed systems. IEEE Trans Parallel Distrib Syst 1(1):17–25

    Article  Google Scholar 

  32. 32.

    Molina-Jimenez C, Shrivastava S (2006) Maintaining consistency between loosely coupled services in the presence of timing constraints and validation errors. In: 4th IEEE European conference on web services (ECOWS), Zurich, pp 148–157

    Google Scholar 

  33. 33.

    Molina-Jimenez C, Shrivastava S, Cook N (2007) Implementing business conversations with consistency guarantees using message-oriented middleware. In: 11th IEEE international EDOC conference (EDOC 2007), Annapolis, Maryland, USA, pp 51–62

    Google Scholar 

  34. 34.

    Molina-Jimenez C, Shrivastava S, Strano M (2009) A model for checking contractual compliance of business interactions. IEEE Trans Serv Comput. doi:10.1109/TSC.2011.37

    Google Scholar 

  35. 35.

    Molina-Jimenez C, Shrivastava S, Wheater S (2011) An architecture for negotiation and enforcement of resource usage policies. In: The IEEE international conference on service oriented computing applications (SOCA 2011), Irvine, CA, USA

    Google Scholar 

  36. 36.

    Mowbray M (2009) The fog over the Grimpen Mire: Cloud computing and the law. SCRIPTed J Law Technol Soc 6(1)

  37. 37.

    Parrington G, Shrivastava S, Wheater S, Little M (1995) The design and implementation of Arjuna. Comput Syst 8(3):255–308

    Google Scholar 

  38. 38.

    Tai S, Rouvellou I (2009) Strategies for integrating messaging and distributed object transactions. In: Sventek J, Coulson G (eds) Middleware 2000. Lecture notes in computer science, vol 1795. Springer, Berlin, pp 308–330

    Google Scholar 

  39. 39.

    Tanenbaum AS, van Steen M (2007) Distributed systems: principles and paradigms. Pearson, Upper Saddle River. ISBN: 0132392275

    Google Scholar 

  40. 40.

    Wang C, Chen S, Zic J (2009) A contract-based accountability service model. In: Proc of IEEE international conference on Web services (ICWS 2009), Los Angeles, CA, USA

    Google Scholar 

  41. 41.

    www.ebxml.org/specs

  42. 42.

    www.oasis-open.org/committees/tc_home.php?wg_abbrev=ws-tx

  43. 43.

    www.opentravel.org

  44. 44.

    www.rosettanet.org

  45. 45.

    xeround.com

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Santosh Shrivastava.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Little, M., Shrivastava, S. & Wheater, S. Another look at the middleware for dependable distributed computing. J Internet Serv Appl 3, 95–105 (2012). https://doi.org/10.1007/s13174-011-0055-6

Download citation

Keywords

  • Middleware
  • Dependability
  • Cloud computing
  • Large-scale systems