Design and Implementation of a Two-Phase Commit Protocol Simulator
Toufik Taibi1, Abdelouahab Abid2, Wei Jiann Lim2, Yeong Fei Chiam2, and Chong Ting Ng2
1College of Information Technology, United Arab Emirates University, UAE
2Faculty of Information Technology, Multimedia University, Malaysia
Abstract: The Two-Phase Commit Protocol (2PC) is a set of rules, which guarantee that every single transaction in a distributed system is executed to its completion or none of its operations is performed. To show the effectiveness of 2PC, a generic simulator is designed and implemented to demonstrate how transactions are committed in a safe manner, and how data consistency is maintained in a distributed system with concurrent execution of randomly generated transactions. Several possible failure cases are identified and created in the system to test its integrity, thus showing how well it responds to different failure scenarios, recovers from these failures, and maintains data consistency and integrity. The simulator was developed using Java Remote Method Invocation (RMI), which is particularly powerful in developing networking systems of such scale, as it provides easy remote method calls without the need to handle low-level socket connection.
Keywords: 2PC, transaction coordinator, transaction manager, data manager, locking manager, failure recovery, RMI.
Received July 9, 2004; accepted December 17, 2004