Abstract
Causality tracking mechanisms, such as vector clocks and version vectors, rely on mappings from globally unique identifiers to integer counters. In a system with a well known set of entities these ids can be preconfigured and given distinct positions in a vector or distinct names in a mapping. Id management is more problematic in dynamic systems, with large and highly variable number of entities, being worsened when network partitions occur. Present solutions for causality tracking are not appropriate to these increasingly common scenarios. In this paper we introduce Interval Tree Clocks, a novel causality tracking mechanism that can be used in scenarios with a dynamic number of entities, allowing a completely decentralized creation of processes/replicas without need for global identifiers or global coordination. The mechanism has a variable size representation that adapts automatically to the number of existing entities, growing or shrinking appropriately. The representation is so compact that the mechanism can even be considered for scenarios with a fixed number of entities, which makes it a general substitute for vector clocks and version vectors.
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
Almeida, J.B., Almeida, P.S., Baquero, C.: Bounded version vectors. In: Guerraoui, R. (ed.) DISC 2004. LNCS, vol. 3274, pp. 102–116. Springer, Heidelberg (2004)
Almeida, P.S., Baquero, C., Fonte, V.: Version stamps – decentralized version vectors. In: Proceedings of the 22nd International Conference on Distributed Computing Systems (ICDCS), pp. 544–551. IEEE Computer Society, Los Alamitos (2002)
Almeida, P.S., Baquero, C., Fonte, V.: Improving on version stamps. In: Meersman, R., Tari, Z., Herrero, P. (eds.) OTM-WS 2007, Part II. LNCS, vol. 4806, pp. 1025–1031. Springer, Heidelberg (2007)
Baldoni, R., Raynal, M.: Fundamentals of distributed computing: A practical tour of vector clock systems. IEEE Distributed Systems Online 3(2) (2002)
Charron-Bost, B.: Concerning the size of logical clocks in distributed systems. Information Processing Letters 39, 11–16 (1991)
DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., Vogels, W.: Dynamo: amazon’s highly available key-value store. In: Bressoud, T.C., Kaashoek, M.F. (eds.) Proceedings of the 21st ACM Symposium on Operating Systems Principles 2007, SOSP 2007, Stevenson, Washington, USA, October 14-17, 2007, pp. 205–220. ACM, New York (2007)
Fidge, C.: Timestamps in message-passing systems that preserve the partial ordering. In: 11th Australian Computer Science Conference, pp. 55–66 (1989)
Fidge, C.: Logical time in distributed computing systems. IEEE Computer 24(8), 28–33 (1991)
Golden III., R.G.: Efficient vector time with dynamic process creation and termination. Journal of Parallel and Distributed Computing (JPDC) 55(1), 109–120 (1998)
Greenwald, M.B., Khanna, S., Kunal, K., Pierce, B.C., Schmitt, A.: Agreeing to agree: Conflict resolution for optimistically replicated data. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 269–283. Springer, Heidelberg (2006)
Huang, S.-T.: Detecting termination of distributed computations by external agents. In: International Conference on Distributed Computing Systems, Newport Beach, California, pp. 79–84 (1989)
Lamport, L.: Time, clocks and the ordering of events in a distributed system. Communications of the ACM 21(7), 558–565 (1978)
Landes, T.: Tree clocks: An efficient and entirely dynamic logical time system. In: Burkhart, H. (ed.) Proceedings of the IASTED International Conference on Parallel and Distributed Computing and Networks, as part of the 25th IASTED International Multi-Conference on Applied Informatics, Innsbruck, Austria, February 13-15, 2007, pp. 349–354. IASTED/ACTA Press (2007)
Malkhi, D., Terry, D.B.: Concise version vectors in winfs. In: Fraigniaud, P. (ed.) DISC 2005. LNCS, vol. 3724, pp. 339–353. Springer, Heidelberg (2005)
Mattern, F.: Global quiescence detection based on credit distribution and recovery. IPL: Information Processing Letters 30 (1989)
Mattern, F.: Virtual time and global clocks in distributed systems. In: Workshop on Parallel and Distributed Algorithms, pp. 215–226 (1989)
Mostefaoui, A., Raynal, M., Travers, C., Patterson, S., Agrawal, D., El Abbadi, A.: From static distributed systems to dynamic systems. In: Proceedings 24th IEEE Symposium on Reliable Distributed Systems (24th SRDS 2005), Orlando, FL, USA, pp. 109–118. IEEE Computer Society, Los Alamitos (2005)
Parker, D.S., Popek, G., Rudisin, G., Stoughton, A., Walker, B., Walton, E., Chow, J., Edwards, D., Kiser, S., Kline, C.: Detection of mutual inconsistency in distributed systems. Transactions on Software Engineering 9(3), 240–246 (1983)
Peek, D., Terry, D.B., Ramasubramanian, V., Walraed-Sullivan, M., Rodeheffer, T.L., Wobber, T.: Fast encounter-based synchronization for mobile devices. In: 2nd International Conference on Digital Information Management, 2007. ICDIM 2007, vol. 2, pp. 750–755 (2007)
Petersen, K., Spreitzer, M., Terry, D., Theimer, M.: Bayou: Replicated database services for world-wide applications. In: 7th ACM SIGOPS European Workshop, Connemara, Ireland (1996)
Ratner, D., Reiher, P., Popek, G.: Dynamic version vector maintenance. Technical Report CSD-970022, Department of Computer Science, University of California, Los Angeles (1997)
Schwarz, R., Mattern, F.: Detecting causal relationships in distributed computations: In search of the holy grail. Distributed Computing 3(7), 149–174 (1994)
Torres-Rojas, F.J., Ahamad, M.: Plausible clocks: constant size logical clocks for distributed systems. Distributed Computing 12(4), 179–196 (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Almeida, P.S., Baquero, C., Fonte, V. (2008). Interval Tree Clocks. In: Baker, T.P., Bui, A., Tixeuil, S. (eds) Principles of Distributed Systems. OPODIS 2008. Lecture Notes in Computer Science, vol 5401. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-92221-6_18
Download citation
DOI: https://doi.org/10.1007/978-3-540-92221-6_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-92220-9
Online ISBN: 978-3-540-92221-6
eBook Packages: Computer ScienceComputer Science (R0)