IP Library Granted Patent US 8,364,634
Granted Patent B2
US 8,364,634 · App. 12/234,811 · Granted Jan 29, 2013

System and method for processing fault tolerant transaction

Inventor: Hiroshi Horii (Yamato, JP)
Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,364,634
App. No.
12/234,811
Granted
Jan 29, 2013
Kind
B2
Abstract

A replication system which improves fault tolerance with low latency. The replication system includes a plurality of database server units that behave as replicas in which each replica sends a first processing result to a client which receives the first processing result as an optimistic result after each replica receives and processes a transaction process request from the client device. At the same time, each replica requests generation of replication by other replicas, and sends a committable common transaction log as a second processing result to the client, which receives the second processing result as a pessimistic result. If a conflict in a transaction process does not occur, transaction processes based on requests from a plurality of clients are executed at low latency, thereby providing a replication system and method for improving fault tolerance without increasing the load of each server unit.

Claims (32)

1. A replication method for replicating data by a plurality of database servers connected to one another via a computer network, wherein each database server serves as a replica of others, comprising the steps of:

receiving a same transaction process request;

executing a transaction process and storing a process end identification condition for identifying end of a transaction process, a subset of committed transactions and a processing result as a first processing result;

determining a single committed transaction log by communicating transaction logs with other replicas after storing the first processing result;

notifying completion of commitment to all other replicas after committing the determined transaction log;

storing a processing result of the committed transaction as a second processing result;

storing a single same transaction process request in each replica;

transmitting the transaction process request to each replica;

receiving the first processing result from each replica, and identifying the first processing result as an optimistic result of a transaction under a condition that every process end identification condition is fulfilled; and

receiving the second processing result from each replica and identifying the second processing result as a pessimistic result of a transaction, wherein said pessimistic result is received after the optimistic result.

2. The replication method according to claim 1 , wherein the process end identification condition is a set of commitment conditions and set of rollback conditions generated by each replica in the transaction process, and the replication method further comprises the steps of:

generating the set of commitment conditions based on every process request included in a set of the transaction process requests; and

generating the set of rollback conditions based on every transaction process request in which any of the replicas fails to determine a single transaction log that all committed replicas.

3. The replication method according to claim 1 , further comprising the steps of, in response to each replica determining a single committed transaction log by communicating transaction logs with other replicas after storing the first processing result:

storing a processing result corresponding to the committable transaction log as the second processing result; and

notifying completion of commitment to all other replicas after committing the determined transaction log.

4. The replication method according to claim 1 , wherein the client further comprises a step of, at a stage of receiving the first processing result, identifying a rollback of a requested transaction process under a condition that there is a result different from any of the received results.

5. An article of manufacture tangibly embodying a computer readable program code having a non-transitory computer readable medium which when executed by a computer causes a processor to replicate data by a plurality of database servers connected to one another via a computer network, wherein each database server serves as a replica of others, the computer readable program code comprising the steps of:

receiving a same transaction process request; causing each replica to execute a transaction process and storing a process end identification condition for identifying end of a transaction process, a subset of committed transactions and a processing result as a first processing result;

determining a single committed transaction log by communicating transaction logs with other replicas after storing the first processing result;

notifying completion of commitment to all other replicas after committing the determined transaction log;

storing a processing result of the committed transaction as a second processing result;

transmitting the transaction process request to each replica;

receiving the first processing result from each replica, and identifying the first processing result as an optimistic result of a transaction under a condition that every process end identification condition is fulfilled; and

receiving the second processing result from each replica and identifying the second processing result as a pessimistic result of a transaction, wherein at least one of the steps is executed on a computer device.

6. The article according to claim 5 , wherein the process end identification condition is a set of commitment conditions and set of rollback conditions generated by each replica in the transaction process, and the article further comprises the steps of:

generating the set of commitment conditions based on every process request included in a set of the transaction process requests; and

generating the set of rollback conditions based on every transaction process request in which any of the replicas fails to determine a single transaction log that all committed replicas.

7. The article according to claim 5 , further comprising the steps of, in response to each replica determining a single committed transaction log by communicating transaction logs with other replicas after storing the first processing result:

storing a processing result corresponding to the committed transaction log as the second processing result; and

notifying completion of commitment to all other replicas after committing the determined transaction log.

8. The article according to claim 5 , wherein the client further comprises a step of, at a stage of receiving the first processing result, identifying a rollback of a requested transaction process under a condition that there is a result different from any of the received results.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2008
From: HORII, HIROSHI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021563/0350 →
Priority Claims (1)
JP 2007-303105 · Nov 22, 2007 · national
Continuity (1)
Related Publication 20090138531A1 · May 28, 2009