Abstract
Agnostic fault-tolerant systems cannot recover to a consistent state if a failure/crash occurs during a transaction. By their nature, inconsistent states are very difficult to be treated and recovered into the previous consistent state. One of the most common fault tolerance mechanisms consists in logging the system state whenever a modification takes place, and recovering the system to the system previous consistent state in the event of a failure. This principle was used to design a general recovering log-based model capable of providing data consistency on agnostic fault-tolerant systems. Our proposal describes how a logging mechanism can recover a system to a consistent state, even if a set of actions of a transaction were interrupted mid-way, due to a server crash. Two approaches of implementing the logging system are presented: on local files and on memory in a remote fault-tolerant cluster. The implementation of a proof of concept resorted to a previous proposed framework, which provides common relational features to NoSQL database management systems. Among the missing features, the previous proposed framework used in the proof of concept, was not fault-tolerant.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Randell, B., Lee, P., Treleaven, P.C.: Reliability issues in computing system design. ACM Comput. Surv. 10, 123–165 (1978). doi:10.1145/356725.356729
Sumathi, S., Esakkirajan, S.: Fundamentals of Relational Database Management Systems. Springer, Heidelberg (2007). doi:10.1007/978-3-540-48399-1
Gray, J.: The transaction concept: virtues and limitations. In: Proceedings of 7th International Conference on Very Large Data Bases, pp. 144–154 (1981). doi:10.1.1.59.5051
Pereira, Ó.M., Simões, D., Aguiar, R.L.: Endowing NoSQL DBMS with SQL features through standard call level interfaces. In: SEKE 2015 - International Conference on Software Engineering Knowledge Engineering, pp. 201–207 (2015)
ISO: ISO/IEC 9075-3:2003 (2003). http://www.iso.org/iso/catalogue_detail.htm?csnumber=34134
Parsian, M.: JDBC Recipes: A Problem-Solution Approach. Apress, New York (2005)
Microsoft RecordSet (ODBC): Microsoft. http://msdn.microsoft.com/en-us/library/5sbfs6f1.aspx. Accessed 16 Nov 2016
Pereira, Ó.M., Aguiar, R.L., Santos, M.Y.: CRUD-DOM: a model for bridging the gap between the object-oriented and the relational paradigms. In: ICSEA 2010 - International Conference on Software Engineering Applications, Nice, France, pp. 114–122 (2010)
Pereira, Ó.M., Aguiar, R.L., Santos, M.Y.: An adaptable business component based on pre-defined business interfaces. In: 6th ENASE Evaluation of Novel Approaches to Software Engineering, Beijing, China, pp. 92–103 (2011)
Pereira, O.M., Aguiar, R.L., Santos, M.Y.: ABC architecture: a new approach to build reusable and adaptable business tier components based on static business interfaces. In: Maciaszek, L.A., Zhang, K. (eds.) ENASE 2011. CCIS, vol. 275, pp. 114–129. Springer, Heidelberg (2013). doi:10.1007/978-3-642-32341-6_8
Pereira, Ó.M., Regateiro, D.D., Aguiar, R.L.: Secure, dynamic and distributed access control stack for database applications. In: SEKE 2015 - International Conference Software Engineering Knowledge Engineering, pp. 365–369 (2015)
Pereira, Ó.M., Regateiro, D.D., Aguiar, R.L.: Secure, dynamic and distributed access control stack for database applications. Int. J. Softw. Eng. Knowl. Eng. 25, 1703–1708 (2015). doi:10.1142/S0218194015710035
Pereira, Ó.M., Simões, D.A., Aguiar, R.L.: Fault tolerance logging-based model for deterministic systems. In: DATA 2016 - 5th International Conference on Data Science Technology Application, Lisbon, Portugal, pp. 119–126. SCITEPRESS (2016)
Balaji, P., Buntinas, D., Kimpe, D.: Fault Tolerance Techniques for Scalable Computing. In: McsAnlGov, pp. 1–33 (2012)
Borges, A.R.: Introductory concepts. Lecture on Distributed Systems (2015)
Elnozahy, E.N.(M)., Alvisi, L., Wang, Y.-M., Johnson, D.B.: A survey of rollback-recovery protocols in message-passing systems. ACM Comput. Surv. 34, 375–408 (2002). doi:10.1145/568522.568525
Bhargava, B., Lian, S.-R.: Independent checkpointing and concurrent rollback for recovery in distributed systems - an optimistic approach. In: Proceedings of Seventh Symposium Reliable Distributed Systems, pp. 3–12 (1988). doi:10.1109/RELDIS.1988.25775
Chandy, K.M., Lamport, L.: Distributed snapshots: determining global states of distributed systems. ACM Trans. Comput. Syst. 3, 63–75 (1985). doi:10.1145/214451.214456
Johnson, D.B.: Distributed system fault tolerance using message logging and checkpointing. Ph.D. Dissertation. Rice University, Houston, TX, USA. AAI9110983 (1990)
Brown, M.: Event logging system and method for logging events in a network system (1999)
Heemels, J.P., Carlson, G.M., Spinelli, J.C.: Data logging system for implantable cardiac device (1997)
Fraker, W.F., Storm, J.M.: Position and time-at-position logging system (1999)
Salmassy, O.E., Sullivan, R.E.: Statistical and environmental data logging system for data processing storage subsystem (1972)
Anderson, R.A.: Automatic process logging system (1959)
Mohan, C., Haderle, D., Lindsay, B., et al.: ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Trans. Database Syst. 17, 94–162 (1992). doi:10.1145/128765.128770
Huang, K.H., Abraham, J.A.: Algorithm-based fault tolerance for matrix operations. IEEE Trans. Comput. 33, 518–528 (1984). doi:10.1109/TC.1984.1676475
Rabin, M.O.: Efficient dispersal of information for security, load balancing, and fault tolerance. J. ACM 36, 335–348 (1989). doi:10.1145/62044.62050
Shvachko, K., Kuang, H., Radia, S., Chansler, R.: The Hadoop distributed file system. In: 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies MSST2010 (2010). doi:10.1109/MSST.2010.5496972
Ylönen, T.: Concurrent shadow paging: a new direction for database research (1992)
Oki, B.M., Liskov, B.H.: Viewstamped replication: a new primary copy method to support highly-available distributed systems. In: PODC 1988 Proceedings of Seventh Annual ACM Symposium on Principles of Distributed Computing, vol. 62, pp. 8–17 (1988). doi:10.1145/62546.62549
Shih, K.-Y., Srinivasan, U.: Method and system for data replication (2003)
Wolfson, O., Jajodia, S., Huang, Y.: An adaptive data replication algorithm. ACM Trans. Database Syst. 22, 255 (1997)
Castro, M., Liskov, B.: Practical Byzantine fault tolerance. In: Proceedings of Symposium on Operating Systems Design and Implementation, pp. 1–14 (1999). doi:10.1145/571637.571640
Bershad, B., ACM Digital Library, ACM Special Interest Group in Operating Systems, et al.: HQ replication: a hybrid quorum protocol for Byzantine fault tolerance. In: Proceedings of 7th Symposium on Operating System Design and Implementation, p. 407 (2006)
Castro, M.: Practical Byzantine fault tolerance and proactive recovery. ToCS 20, 398–461 (2002). doi:10.1145/571637.571640
Merideth, M.G., Iyengar, A., Mikalsen, T., et al.: Thema: Byzantine-fault-tolerant middleware for web-service applications. In: Proceedings of IEEE Symposium on Reliable Distributed Systems, pp. 131–140 (2005)
Chun, B., Maniatis, P., Shenker, S.: Diverse replication for single-machine Byzantine-fault tolerance. In: USENIX Annual Technical Conference, pp. 287–292 (2008)
Kotla, R., Dahlin, M.: High throughput Byzantine fault tolerance. In: Proceedings of 2004 International Conference on Dependable System Networks, p. 575 (2004). doi:10.1109/DSN.2004.1311928
Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system, p. 9 (2008). doi:10.1007/s10838-008-9062-0, www.bitcoin.org
Pritchett, D.: Base: an acid alternative. Queue 6, 48–55 (2008)
Gusella, R., Zatti, S.: An election algorithm for a distributed clock synchronization program (1985)
Acknowledgements
This work is funded by National Funds through FCT – Fundação para a Ciência e a Tecnologia under the project UID/EEA/50008/2013.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Pereira, Ó.M., Simões, D.A., Aguiar, R.L. (2017). Log-Based Model to Enforce Data Consistency on Agnostic Fault-Tolerant Systems. In: Francalanci, C., Helfert, M. (eds) Data Management Technologies and Applications. DATA 2016. Communications in Computer and Information Science, vol 737. Springer, Cham. https://doi.org/10.1007/978-3-319-62911-7_8
Download citation
DOI: https://doi.org/10.1007/978-3-319-62911-7_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-62910-0
Online ISBN: 978-3-319-62911-7
eBook Packages: Computer ScienceComputer Science (R0)