IP Library Granted Patent US 10,613,948
Granted Patent B2
US 10,613,948 · App. 15/692,232 · Granted Apr 7, 2020

Repairing partially completed transactions in fast consensus protocol

Inventors: Ravi Khadiwala (Bartlett, IL); Gregory R. Dhuse (Chicago, IL); Jason Resch (Chicago, IL)
Assignee: International Business Machines Corporation
G06F11/1474G06F11/1662G06F16/9024G06F11/1469G06F2201/81G06F2201/82G06F2201/835
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 10,613,948
App. No.
15/692,232
Granted
Apr 7, 2020
Kind
B2
Abstract

In an approach, a processor detects a transmission control protocol disconnection of a first distributed storage unit from a distributed storage network, wherein the distributed storage network comprises a set of distributed storage units. A processor identifies a transaction, wherein: the transaction is not in a final state, the transaction is a first proposal, from the first distributed storage unit, for the set of distributed storage units to store a dataset with a first revision number within the distributed storage network, and the dataset is broken into one or more data pieces to be written on the set of distributed storage units of the distributed storage network that approve the proposal. A processor identifies a timestamp of the transaction. A processor determines a stage the transaction has reached. A processor places the transaction in a final state based on the determined stage the transaction has reached.

Claims (42)

1. A method comprising:

detecting, by one or more processors, a transmission control protocol disconnection of a first distributed storage unit from a distributed storage network, wherein the distributed storage network comprises a set of distributed storage units;

identifying, by one or more processors, a transaction, wherein:

the transaction is not in a final state,

the transaction is a first proposal, from the first distributed storage unit, for the set of distributed storage units to store a dataset with a first revision number within the distributed storage network, and

the dataset is broken into one or more data pieces to be written on the set of distributed storage units of the distributed storage network that approve the proposal;

identifying, by one or more processors, a timestamp of the transaction;

determining, by one or more processors, a stage the transaction has reached;

sending, by one or more processors, a read request for the transaction;

receiving, by one or more processors, a read request return that a write threshold of the set of distributed storage units of the distributed storage network have approved the first proposal and the transaction has not been finalized; and

placing, by one or more processors, the transaction in a final state based on the determined stage the transaction has reached by issuing finalize messages and cleanup messages and marking the transaction successful to remove previous revisions of data and failed proposals that competed with the first proposal.

2. The method of claim 1 , wherein placing the transaction in a final state comprises, responsive to the timestamp of the transaction surpassing a predefined threshold, placing, by one or more processors, the transaction in a final state.

3. The method of claim 1 , wherein determining a stage the transaction has reached further comprises determining, by one or more processors the stage the transaction has reached before the first distributed storage unit disconnected.

4. A computer program product comprising:

one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising:

program instructions to detect a transmission control protocol disconnection of a first distributed storage unit from a distributed storage network, wherein the distributed storage network comprises a set of distributed storage units;

program instructions to identify a transaction, wherein:

the transaction is not in a final state,

the transaction is a first proposal, from the first distributed storage unit, for the set of distributed storage units to store a dataset with a first revision number within the distributed storage network, and

the dataset is broken into one or more data pieces to be written on the set of distributed storage units of the distributed storage network that approve the proposal;

program instructions to identify a timestamp of the transaction;

program instructions to determine a stage the transaction has reached;

program instructions to send a read request for the transaction;

program instructions to receive a read request return that a write threshold of the set of distributed storage units of the distributed storage network have approved the first proposal and the transaction has not been finalized; and

program instructions to place the transaction in a final state based on the determined stage the transaction has reached by issuing finalize messages and cleanup messages and marking the transaction successful to remove previous revisions of data and failed proposals that competed with the first proposal.

5. The computer program product of claim 4 , wherein the program instructions to place the transaction in a final state comprise, responsive to the timestamp of the transaction surpassing a predefined threshold, program instructions to place the transaction in a final state.

6. The computer program product of claim 4 , wherein the program instructions to determine a stage the transaction has reached further comprise program instructions to determine the stage the transaction has reached before the first distributed storage unit disconnected.

7. A computer system comprising:

one or more computer processors;

one or more computer readable storage media;

program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising:

program instructions to detect a transmission control protocol disconnection of a first distributed storage unit from a distributed storage network, wherein the distributed storage network comprises a set of distributed storage units;

program instructions to identify a transaction, wherein:

the transaction is not in a final state,

the transaction is a first proposal, from the first distributed storage unit, for the set of distributed storage units to store a dataset with a first revision number within the distributed storage network, and

the dataset is broken into one or more data pieces to be written on the set of distributed storage units of the distributed storage network that approve the proposal;

program instructions to identify a timestamp of the transaction;

program instructions to determine a stage the transaction has reached;

program instructions to send a read request for the transaction;

program instructions to receive a read request return that a write threshold of the set of distributed storage units of the distributed storage network have approved the first proposal and the transaction has not been finalized; and

program instructions to place the transaction in a final state based on the determined stage the transaction has reached by issuing finalize messages and cleanup messages and marking the transaction successful to remove previous revisions of data and failed proposals that competed with the first proposal.

8. The computer system of claim 7 , wherein the program instructions to place the transaction in a final state comprise, responsive to the timestamp of the transaction surpassing a predefined threshold, program instructions to place the transaction in a final state.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2017
From: KHADIWALA, RAVI; DHUSE, GREGORY R; RESCH, JASON
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 043462/0446 →
Continuity (1)
Related Publication 20190065328A1 · Feb 28, 2019