Patent ID: 7640535
Filing Date: 2009-12-29
Classification: G06Q

Abstract:
1. A method for implementing a two-phase commit protocol, comprising: associating, via a transaction manager, a plurality of resources in a transaction, wherein the plurality of resources are applied in the transaction using a prepare phase and a commit phase, wherein the prepare phase comprises a plurality of prepare operations, each of which is associated with one of the plurality of resources, and wherein the commit phase comprises a plurality of commit operations, each of which is also associated with one of the plurality of resources; dispatching, via a thread pool manager, a second prepare operation from a first server thread to a second server thread, wherein the second prepare operation is associated with a second resource and the prepare phase, and the second prepare operation is executed by sending a preparation instruction from the second server thread to the second resource; processing a first prepare operation by the first server thread in parallel to the second prepare operation being processed by the second server thread, wherein the first prepare operation is associated with a first resource and the prepare phase, and the first prepare operation is executed by sending another prepare instruction from the first server thread to the first resource; determining, via the thread pool manager, that the prepare phase is complete when both the first prepare operation and the second prepare operation are completed; after determining that the prepare phase is complete, dispatching, via the thread pool manager, a second commit operation from the first server thread to a third server thread, wherein the second commit operation is associated with the second resource and the commit phase, and the second commit operation is executed by sending a commit instruction from the third server thread to the second resource; processing a first commit operation by the first server thread in parallel to the second commit operation being processed by the third server thread, wherein the first commit operation is associated with the first resource and the commit phase, and the first commit operation is executed by sending another commit instruction from the first server thread to the first resource; and determining, via the thread pool manager, that the commit phase is complete when both the first commit operation and the second commit operation are completed.