Skip to main content

An Architecture for Dynamic Scalable Self-Managed Persistent Objects

  • Conference paper
On the Move to Meaningful Internet Systems 2004: CoopIS, DOA, and ODBASE (OTM 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3291))

Abstract

This paper presents a middleware architecture and a generic orchestrating protocol for implementing persistent object operations for large scale dynamic systems in a self-managing manner. In particular, the proposed solution is fully distributed, allows dynamic changes in the environment, and nodes are neither assumed to be aware of the size of the system nor of its entire composition.

The architecture includes two modules and three services. The modules are expected to be instantiated and executed among relatively small sets of nodes in the context of a single multi-object operation (operation that spans multiple persistent objects) and therefore, can be implemented using known classical distributed computing approaches. On the other hand, services are long lived abstractions that may involve all nodes and should be implemented using known peer-to-peer techniques. The main contribution of the paper is to provide, for the first time, an architecture that brings together several seemingly distinct research areas, namely distributed consensus, group membership, notification services (publish/subscribe), scalable conflict detection (or locking), and scalable persistent storage. All these components are orchestrated together in order to obtain (strong) consistency on an a priori unsafe system.

This paper also promotes the use of oracles as a design principle in implementing the respective components of the architecture. Specifically, each of the modules and services are further decomposed into a “benign” part and an “oracle” part, which are specified in a functional manner. This makes the principles of our proposed solution independent of specific implementations and environment assumptions (e.g., it does not depend on any specific distributed hash tables or specific network timing assumptions, etc). The contribution of this paper is therefore largely conceptual, as it focuses on defining the right architectural abstractions and on their orchestration, rather than on the actual mechanisms that implement each of its components.

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. Abraham, I., Malkhi, D.: Probabilistic quorums for dynamic systems. In: Fich, F.E. (ed.) DISC 2003. LNCS, vol. 2848, pp. 60–74. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  2. Anceaume, E., Datta, A., Gradinariu, M., Simon, G.: Publish/subscribe scheme for mobile networks. In: Proc. of the Annual ACM Workshop on Principles of Mobile Computing (POMC 2002), pp. 74–81 (2002)

    Google Scholar 

  3. Anceaume, E., Friedman, R., Gradinariu, M., Roy, M.: An architecture for dynamic scalable self-managed transactions. Technical Report 1610, IRISA, Inria, France (2004), http://www.irisa.fr/bibli/publi/pi/2004/1610/1610.html

  4. Attiya, H., Bar-Noy, A., Dolev, D.: Sharing memory robustly in message passing systems. In: Proc. of the 9th Annual ACM Symposium on Principles of Distributed Computing (PODC 1990), pp. 363–375 (1990)

    Google Scholar 

  5. Birman, K., Van Renesse, R.: Reliable Distributed Computing with the ISIS Toolkit. IEEE Computer Society Press, Los Alamitos (1994)

    Google Scholar 

  6. Castro, M., Druschel, P., Kermarrec, A.-M., Rowstron, A.: SCRIBE: A large-scale and decentralized application-level multicast infrastructure. Journal on Selected Areas in Communications 20(8), 100–111 (2002)

    Article  Google Scholar 

  7. Chandra, T., Hadzilacos, V., Toueg, S.: The weakest failure detector for solving consensus. Journal of the ACM 43(4), 685–722 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  8. Chandra, T., Toueg, S.: Time and message efficient reliable broadcasts. In: van Leeuwen, J., Santoro, N. (eds.) WDAG 1990. LNCS, vol. 486, pp. 289–300. Springer, Heidelberg (1990)

    Google Scholar 

  9. Chandra, T., Toueg, S.: Unreliable failure detectors for asynchronous systems. Journal of the ACM 43(2), 225–267 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  10. Chockler, G., Keidar, I., Vitenberg, R.: Group communication specifications: A comprehensive study. ACM Computing Surveys 33(427-469) (2001)

    Google Scholar 

  11. Datta, A., Gradinariu, M., Raynal, M., Simon, G.: Anonymous publish/subscribe in p2p networks. In: Proc. of the 18th International Parallel and Distributed Processing Symposium (IPDPS 2003), ACM-IEEE, New York (2003)

    Google Scholar 

  12. Delporte, C., Fauconnier, H., Guerraoui, R.: Shared memory versus message passing. Technical Report 200377, Distributed Programming Laboratory (LPD) Lausanne (2003)

    Google Scholar 

  13. Friedman, R., van Renesse, R.: Strong and weak virtual synchrony in horus. In: Proc. of the 15th Symposium on Reliable Distributed Systems (SRDS 1995), pp. 140–149 (1996)

    Google Scholar 

  14. Gryphon. Web site, http://www.research.ibm.com/gryphon/

  15. Herlihy, M., Wing, J.: Linearizability: A correctness condition for concurrent objects. ACM Trans. on Programming Languages and Systems 12(3), 463–492 (1990)

    Article  Google Scholar 

  16. Huang, Y., Garcia-Molina, H.: Publish/subscribe in a mobile environement. In: ACM Int. Workshop on Data Engineering for wireless and mobile access (MOBIDE 2001), pp. 27–34 (2001)

    Google Scholar 

  17. Lamport, L., Shostak, R., Pease, M.: The byzantine generals problem. ACM Trans. Program. Lang. Syst. 4(3), 382–401 (1982)

    Article  MATH  Google Scholar 

  18. Lynch, N., Merrit, M., Weihl, W., Fekete, A.: Atomic Transactions. Morgan Kaufmann, San Francisco (1994)

    Google Scholar 

  19. Naor, M., Weider, U.: Scalable and dynamic quorum systems. In: Proc. of the 22th Annual ACM Symposium on Principles of Distributed Computing (PODC 2003), pp. 114–122 (2003)

    Google Scholar 

  20. Pease, M., Shostak, R., Lamport, L.: Reaching agreement in presence of faults. Journal of ACM 27(2), 228–234 (1980)

    Article  MATH  MathSciNet  Google Scholar 

  21. Ratnasamy, S., Handley, M., Francis, P., Karp, R.: A scalable content-addressable network. In: Proc. of the ACM SIGCOMM, pp. 161–172 (2001)

    Google Scholar 

  22. Rowstron, A., Druschel, P.: Pastry: Scalable, distributed object location and routing for large scale peer-to-peer systems. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, pp. 329–350. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  23. Schneider, F.: Implementing fault-tolerant services using the state machine approach: A tutorial. ACM Computing Surveys 22(4), 299–319 (1990)

    Article  Google Scholar 

  24. SIENA. Web site, http://www.cs.colorado.edu/users/carzanig/siena

  25. Stoica, I., Morris, R., Karger, D., Kaashoek, M.F., Balakrishnan, H.: Chord: A scalable peer-to-peer lookup service for internet applications. In: Proc. of the ACM SIGCOMM, pp. 149–160 (2001)

    Google Scholar 

  26. Virgillito, A.: Publish/subscribe communication systems: from models to applications. PhD thesis, University of Roma, La Sapineza (2003)

    Google Scholar 

  27. Virgillito, A., Beraldi, R., Baldoni, R.: On event routing in content-based publish/ subscribe through dynamic networks. In: Proc. of The 9th IEEE Workshop on Future Trends of Distributed Computing Systems (FTDCS), May 2003, pp. 322–329 (2003)

    Google Scholar 

  28. Zhao, B., Kubiatowicz, J., Joseph, A.: Tapestry: An infrastructure for faulttolerant wide-area location and routing. Technical Report UCB/CSD-01-1141, Computer Science Division, U.C. Berkeley (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Anceaume, E., Friedman, R., Gradinariu, M., Roy, M. (2004). An Architecture for Dynamic Scalable Self-Managed Persistent Objects. In: Meersman, R., Tari, Z. (eds) On the Move to Meaningful Internet Systems 2004: CoopIS, DOA, and ODBASE. OTM 2004. Lecture Notes in Computer Science, vol 3291. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30469-2_39

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30469-2_39

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23662-7

  • Online ISBN: 978-3-540-30469-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics