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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
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
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)
Birman, K., Van Renesse, R.: Reliable Distributed Computing with the ISIS Toolkit. IEEE Computer Society Press, Los Alamitos (1994)
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)
Chandra, T., Hadzilacos, V., Toueg, S.: The weakest failure detector for solving consensus. Journal of the ACM 43(4), 685–722 (1996)
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)
Chandra, T., Toueg, S.: Unreliable failure detectors for asynchronous systems. Journal of the ACM 43(2), 225–267 (1996)
Chockler, G., Keidar, I., Vitenberg, R.: Group communication specifications: A comprehensive study. ACM Computing Surveys 33(427-469) (2001)
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)
Delporte, C., Fauconnier, H., Guerraoui, R.: Shared memory versus message passing. Technical Report 200377, Distributed Programming Laboratory (LPD) Lausanne (2003)
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)
Gryphon. Web site, http://www.research.ibm.com/gryphon/
Herlihy, M., Wing, J.: Linearizability: A correctness condition for concurrent objects. ACM Trans. on Programming Languages and Systems 12(3), 463–492 (1990)
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)
Lamport, L., Shostak, R., Pease, M.: The byzantine generals problem. ACM Trans. Program. Lang. Syst. 4(3), 382–401 (1982)
Lynch, N., Merrit, M., Weihl, W., Fekete, A.: Atomic Transactions. Morgan Kaufmann, San Francisco (1994)
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)
Pease, M., Shostak, R., Lamport, L.: Reaching agreement in presence of faults. Journal of ACM 27(2), 228–234 (1980)
Ratnasamy, S., Handley, M., Francis, P., Karp, R.: A scalable content-addressable network. In: Proc. of the ACM SIGCOMM, pp. 161–172 (2001)
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)
Schneider, F.: Implementing fault-tolerant services using the state machine approach: A tutorial. ACM Computing Surveys 22(4), 299–319 (1990)
SIENA. Web site, http://www.cs.colorado.edu/users/carzanig/siena
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)
Virgillito, A.: Publish/subscribe communication systems: from models to applications. PhD thesis, University of Roma, La Sapineza (2003)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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