# US 2014/0157048 A1 · Transactions and failure

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0157048 A1
- Document ID: US20140157048A1
- Status: Published application
- Kind: A1
- Application number: 13/690,353
- Filed: 2012-11-30
- Published: 2014-06-05
- Earliest claimed: 2012-11-30
- Assignees: Hewlett-Packard Development Company, L.P.
- Applicants: Hewlett-Packard Development Company, L.P.
- Inventors: Goetz Graefe
- Web page: https://patentgrep.com/patent/US20140157048A1

## CPC

- G06F 11/0793: {Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40)}
- G06F 11/0745: {in an input/output transactions management context (input/output processing in general G06F13/00)}
- G06F 11/1471: involving logging of persistent data for recovery
- G06F 11/1474: in transactions (updating of structured data in databases G06F16/23)
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Disclosed herein are techniques for system recovery. It is determined whether a transaction depends on a change committed before a failure. It is further determined whether a transaction conflicts with a change interrupted by the failure.

## Claims

### Claim 1

A system comprising:
a re-do module which, if executed, instructs at least one processor to repeat a change committed before a failure but not persisted due to the failure, when a transaction dependent on the change executes; and
an un-do module which, if executed, instructs at least one processor to revert a change interrupted by the failure, when a transaction conflicting with the interrupted change executes.

### Claim 2 (depends on 1)

The system of claim 1, wherein the change committed before the failure comprises an update to a page of data in a buffer.

### Claim 3 (depends on 2)

The system of claim 2, wherein the re-do module, if executed, further instructs at least one processor to persist the change in the buffer to a data storage device.

### Claim 4 (depends on 1)

The system of claim 1, further comprising a log containing a record of each transaction executed in the system.

### Claim 5 (depends on 4)

The system of claim 4, wherein the re-do module, if executed, instructs at least one processor to determine whether the change committed before the failure but did not persist due to the failure based on information contained in the log.

### Claim 6 (depends on 4)

The system of claim 4, wherein the un-do module, if executed, instructs at least one processor to determine the change was interrupted by the failure based on information in the log.

### Claim 7 (depends on 4)

The system of claim 4, wherein the un-do module, if executed, instructs at least one processor to determine the transaction conflicting with the interrupted change based on information in the log.

### Claim 8

A non-transitory computer readable medium having instructions therein which, if executed, cause at least one processor to:
determine whether a transaction depends on a change committed before a failure but not persisted due to the failure;
if the transaction depends on the committed change, redo the change and continue execution of the transaction;
determine whether the transaction conflicts with a change interrupted by the failure; and
if the transaction conflicts with the interrupted change, revert the interrupted change and continue execution of the transaction.

### Claim 9 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the committed change comprises an update to a block of data in a buffer.

### Claim 10 (depends on 9)

The non-transitory computer readable medium of claim 9, wherein the instructions therein, if executed, further causes at least one processor to persist the committed change in the buffer to a storage device.

### Claim 11 (depends on 9)

The non-transitory computer readable medium of claim 9, wherein the instructions stored therein, if executed, further cause at least one processor to determine which transactions were scheduled for execution after the failure using a log containing a record of each transaction executed in a system.

### Claim 12 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein the instructions stored therein, if executed, further cause at least one processor to obtain information associated with the committed change from the log, when it is determined that the transaction is dependent on the committed change.

### Claim 13 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein the instructions stored therein, if executed, further cause at least one processor to obtain information associated with the interrupted change from the log, when it is determined that the transaction conflicts with the interrupted change.

### Claim 14

A method, comprising:
determining, using at least one processor, whether a transaction depends on a change committed before a failure but not persisted due to failure;
if the transaction depends on the change, repeating, using at least one processor, the committed change to allow the transaction dependent thereon to execute successfully;
determining, using at least one processor, whether the transaction conflicts with a change interrupted by the failure; and
if the transaction conflicts with the interrupted change, reverting, using at least one processor, the interrupted change to allow the transaction conflicting therewith to execute successfully.

### Claim 15 (depends on 14)

The method of claim 14, wherein the committed change comprises an update to a block of data in a buffer.

### Claim 16 (depends on 14)

The method of claim 14, further comprising obtaining, using at least one processor, information associated with the transaction from a log containing a record of each transaction executed in a system.

### Claim 17 (depends on 16)

The method of claim 16, further comprising obtaining, using at least one processor, information associated with the committed change from the log, when it is determined that the transaction depends thereon.

### Claim 18 (depends on 17)

The method of claim 17, further comprising obtaining, using at least one processor, information associated with the interrupted change from the log, when it is determined that the transaction conflicts therewith.
