×

Horizontally scalable and reliable distributed transaction management in a clustered application server environment

  • US 7,730,489 B1
  • Filed: 12/10/2003
  • Issued: 06/01/2010
  • Est. Priority Date: 12/10/2003
  • Status: Active Grant
First Claim
Patent Images

1. A system, comprising:

  • a server cluster, comprising;

    a plurality of server nodes, wherein each server node comprises;

    an application server instance;

    one or more applications configured to execute within the application server instance and to initiate one or more global transactions each involving a set of data modifying operations to be committed to a plurality of storage resources atomically; and

    one or more separate transaction manager instances each configured to execute within the application server instance;

    wherein each separate transaction manager instance for each application server instance is configured to coordinate transactions initiated within that application server instance, and to log in a transaction log an intermediate status of each uncommitted transaction of the transactions initiated within the application server instance;

    wherein the server cluster is configured to;

    detect a failure of one of the plurality of application server instances of the cluster; and

    in response to said detecting, select one or more surrogate transaction manager instances from one or more of the application server instances of the server cluster that are still operational;

    wherein the one or more surrogate transaction manager instances are configured to read one or more transaction logs of the failed application server and to complete one or more uncommitted transactions indicated by the one or more transaction logs of the failed application server;

    wherein the one or more application server instances having the one or more surrogate transaction manager instances are configured to attempt to recover each in-flight transaction entry in a transaction log of the failed server, wherein for each log entry one or more of the application server instances having one of the one or more surrogate transaction manager instances are configured to open connections to all data sources involved in the transaction corresponding to the log entry, and if all connections are successful, recover the transaction.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×