IP Library Granted Patent US 11,138,079
Granted Patent B2
US 11,138,079 · App. 16/519,493 · Granted Oct 5, 2021

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 11,138,079
App. No.
16/519,493
Granted
Oct 5, 2021
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 (46)

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 by sending a read request for the transaction;

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

placing, by one or more processors, the transaction in a final state based on the determined stage the transaction has reached, wherein placing the transaction in the final state comprises:

reconstructing, by one or more processors, data of the transaction using data pieces from the distributed storage units that received the first proposal, and

proposing, by one or more processors, a second proposal that has the dataset with a second revision number to compete 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 by sending a read request for the transaction;

program instructions to receive a read request return that a threshold of distributed storage units of the distributed storage network has not approved the first proposal; and

program instructions to place the transaction in a final state based on the determined stage the transaction has reached, wherein the program instructions to place the transaction in the final state comprise:

program instructions to reconstruct data of the transaction using data pieces from the distributed storage units that received the first proposal, and

program instructions to propose a second proposal that has the dataset with a second revision number to compete 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 by sending a read request for the transaction;

program instructions to receive a read request return that a threshold of distributed storage units of the distributed storage network has not approved the first proposal; and

program instructions to place the transaction in a final state based on the determined stage the transaction has reached, wherein the program instructions to place the transaction in the final state comprise:

program instructions to reconstruct data of the transaction using data pieces from the distributed storage units that received the first proposal, and

program instructions to propose a second proposal that has the dataset with a second revision number to compete 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.

9. The computer system of claim 7 , 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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2019
From: KHADIWALA, RAVI; DHUSE, GREGORY R.; RESCH, JASON
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 049833/0536 →
Continuity (2)
Continuation 15692232 · Aug 31, 2017
Related Publication 20190347169A1 · Nov 14, 2019