Method for synchronizing transaction processing in a distributed heterogeneous system
First Claim
1. A method for synchronizing transaction processing in a distributed database system with a plurality of sites, the system having at least one application site with a processor for executing an application program and an application requestor procedure, and a plurality of resource sites, each resource site including a server with a database and a data management processor, the method including the processor-executed steps of:
- operating at least one first resource site of the plurality of resource sites under control of a single-phase transaction synchronization procedure;
operating at least one second resource site of the plurality of resource sites under control of a multi-phase transaction synchronization procedure;
executing a transaction at the at least one application site, the transaction including at least one request for a database access operation at a resource site;
issuing a transaction synchronization request from the application site and communicating the transaction synchronization request to the application requestor at the application site;
determining at the application requestor whether any first resource sites performed database access operations during the transaction; and
(a) if only one or more first resource sites performed database access operations during the transaction, communicating transaction commit requests from the application requestor to all such first resource sites, conducting single-phase transaction synchronization procedures at all such first resource sites in response to the transaction commit requests, and communicating results of such single-phase transaction synchronization procedures to the application site;
otherwise,(b) if one or more first resource sites and one or more second resource sites performed database access operations during the transaction;
first, communicating transaction commit requests to all such second resource sites and to the application requestor and commencing a multi-phase transaction synchronization procedure including all such second resource sites and the application requestor, communicating transaction synchronization requests from the application requestor to all such first resource sites, conducting single-phase transaction synchronization procedures at all such first resource sites in response to the transaction synchronization requests, and communicating results of such single-phase transaction synchronization procedures to the application site;
followed by, completing the multi-phase transaction synchronization procedure and communicating results of the multi-phase transaction synchronization procedure to the application site; and
either committing or backing out the transaction in response to results of transaction synchronization procedures communicated to the application site.
0 Assignments
0 Petitions
Accused Products
Abstract
The invention provides transaction synchronization in the form of COMMIT processing in a distributed, heterogeneous database system wherein some resources are synchronized to a transaction by a single-phase commit procedures while other resources synchronize by multi-phase commit procedures. The invention invests an application requestor at an application site with authority to represent all single-phase commit resources in multi-phase commit processing.
150 Citations
13 Claims
-
1. A method for synchronizing transaction processing in a distributed database system with a plurality of sites, the system having at least one application site with a processor for executing an application program and an application requestor procedure, and a plurality of resource sites, each resource site including a server with a database and a data management processor, the method including the processor-executed steps of:
-
operating at least one first resource site of the plurality of resource sites under control of a single-phase transaction synchronization procedure; operating at least one second resource site of the plurality of resource sites under control of a multi-phase transaction synchronization procedure; executing a transaction at the at least one application site, the transaction including at least one request for a database access operation at a resource site; issuing a transaction synchronization request from the application site and communicating the transaction synchronization request to the application requestor at the application site; determining at the application requestor whether any first resource sites performed database access operations during the transaction; and (a) if only one or more first resource sites performed database access operations during the transaction, communicating transaction commit requests from the application requestor to all such first resource sites, conducting single-phase transaction synchronization procedures at all such first resource sites in response to the transaction commit requests, and communicating results of such single-phase transaction synchronization procedures to the application site;
otherwise,(b) if one or more first resource sites and one or more second resource sites performed database access operations during the transaction; first, communicating transaction commit requests to all such second resource sites and to the application requestor and commencing a multi-phase transaction synchronization procedure including all such second resource sites and the application requestor, communicating transaction synchronization requests from the application requestor to all such first resource sites, conducting single-phase transaction synchronization procedures at all such first resource sites in response to the transaction synchronization requests, and communicating results of such single-phase transaction synchronization procedures to the application site; followed by, completing the multi-phase transaction synchronization procedure and communicating results of the multi-phase transaction synchronization procedure to the application site; and either committing or backing out the transaction in response to results of transaction synchronization procedures communicated to the application site. - View Dependent Claims (2, 3)
-
-
4. In a distributed, heterogeneous database system including at least one application processor at which a transaction-based application program executes, a plurality of resource processors at which database access operations are performed and a communication facility linking all processors together, a method for transaction COMMIT processing, the method including the steps of:
-
executing database access operations at at least one first resource processor under control of a single-phase transaction synchronization procedure; executing database access operations at at least one second resource processor under control of a multi-phase transaction synchronization procedure; executing a transaction at the application processor, the transaction including a plurality of database access operation requests; conducting database access operations in response to the database access operation requests at one or more resource processors; issuing a request from the application to COMMIT the transaction; first, commencing a multi-phase COMMIT procedure including all second resource processors which executed database access operations during the transaction and the application processor; next, conducting single-phase COMMIT procedures at all first resource sites which executed database access operations during the transaction and communicating results of such single-phase COMMIT procedures to the application processor; followed by, completing the multi-phase COMMIT procedure and communicating results of the multi-phase COMMIT procedure to the application processor; and either committing or backing out the transaction in response to results of the COMMIT procedures communicated to the application processor. - View Dependent Claims (5)
-
-
6. A method for synchronizing transaction processing in a system with a plurality of distributed sites at which transaction operations may be performed, the plurality of distributed sites having at least one application site with a processor for executing an application program and an application requestor procedure, and a plurality of resource sites, each resource site including a server with a database and a data management processor, the method including the processor-executed steps of:
-
operating at least one first resource site of the plurality of resource sites under control of a single-phase transaction synchronization procedure; operating at least one second resource site of the plurality of resource sites under control of a multi-phase transaction synchronization procedure; executing a transaction at at least one application processor, the transaction including at least one request for a transaction resource operation conducted at a resource processor; issuing a transaction synchronization request from the application processor at the at least one application processor and communicating the transaction synchronization request to the requestor means and to all second resource processors which conducted transaction resource operations; determining at the requestor means whether any first resource processors performed transaction resource operations during the transaction; and (a) if only one or more first resource processors performed transaction resource operations during the transaction, communicating transaction commit requests from the application processor to all such first resource processors, conducting single-phase transaction synchronization procedures at all such first resource processors in response to the transaction commit requests, and communicating results of such single-phase transaction synchronization procedures to the requestor means, otherwise, (b) if one or more first resource processors and one or more second resource processors performed transaction resource operations during the transaction; first, communicating transaction commit requests to all such resource processors and to the requestor means, conducting a multi-phase synchronization procedure including the requestor means and all such second resource processors, during a first phase of the multi-phase transaction synchronization procedure, communicating commit requests from the application processor to all such first resource processors, conducting single-phase transaction synchronization procedures at all such first resource processors in response to the transaction commit requests, and communicating results of such single-phase transaction synchronization procedures to the requestor means; followed by, conducting all remaining phases of the multi-phase transaction synchronization procedure and communicating results of the multi-phase transaction synchronization procedure to the application processor; and either committing or backing out the transaction in response to results of the multi-phase transaction synchronization procedure communicated to the application processor. - View Dependent Claims (7)
-
-
8. A resource manager for synchronizing transactions in a distributed, heterogeneous database with a plurality of resource sites, the resource manager including:
-
application interface means for receiving requests from a transaction to a plurality of resource sites for access to database resources at one or more of the plurality of resource sites, the requests including requests to unprotected resource sites controlled by single-phase synchronization point management and requests to protected resource sites controlled by multi-phase synchronization point management; monitor means coupled to the application interface means for granting updating privileges exclusively to a single resource site if the transaction does not request updating at multiple resource sites, and for granting update privileges to a plurality of protected resource sites if the transaction requests updating at more than one resource site; and commit means for committing the transaction by; (a) if the transaction accessed database resources only at unprotected resource sites, initiating single-phase transaction synchronization procedures at all such unprotected resource sites;
otherwise(b) if the transaction accessed database resources at unprotected resource sites and protected resource sites, first, communicating transaction commit requests to all such protected resource sites, conducting a multi-phase transaction synchronization procedure including all such protected resource sites and the resource manager, communicating transaction synchronization requests to all such unprotected resource sites, followed by, completing the multi-phase transaction synchronization procedure by either committing or backing out the transaction in response to results of the transaction synchronization procedures. - View Dependent Claims (9, 10)
-
-
11. A resource manager program product for synchronizing transactions in a distributed, heterogeneous database system including a plurality of resource sites, the resource manager program product including:
-
application interface means for receiving requests from a transaction to a plurality of resource sites for access to database resources at one or more of the plurality of resource sites, the requests including requests to unprotected resource sites controlled by single-phase synchronization point management and requests to protected resource sites controlled by multi-phase synchronization point management; monitor process means coupled to the application interface means for granting updating privileges exclusively to a single resource site if the transaction does not request updating at multiple resource sites, and for granting update privileges to a plurality of protected resource sites if the transaction requests updating at more than one resource site; and commit process means for committing the transaction by; (a) if the transaction accessed database resources only at unprotected resource sites, initiating single-phase transaction synchronization procedures at all such unprotected resource sites;
otherwise(b) if the transaction accessed database resources at unprotected resource sites and protected resource sites, first, communicating transaction commit requests to all such protected resource sites, conducting a multi-phase transaction synchronization procedure including all such protected resource sites and the resource manager, communicating transaction synchronization requests to all such unprotected resource sites, followed by, completing the multi-phase transaction synchronization procedure by either committing or backing out the transaction in response to results of the transaction synchronization procedures. - View Dependent Claims (12, 13)
-
Specification