Repairing partially completed transactions in fast consensus protocol
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
exact text as granted — not AI-modifiedWhat is claimed is:
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, that the timestamp of the transaction has surpassed a predefined threshold; sending, by one or more processors, a read request for the transaction; determining, by one or more processors, a stage the transaction has reached before the first distributed storage unit disconnected; and responsive to 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, issuing, by one or more processors, finalize messages, marking the transaction successful, and cleanup messages, to remove previous revisions of data and failed proposals that competed with the first proposal; responsive to receiving, by one or more processors, a read request return that a write threshold of distributed storage units of the distributed storage network have not approved the first proposal and a threshold of the distributed storage units of the distributed storage network have approved the first proposal, placing, by one or more processors, the transaction in a final state, wherein placing the transaction in a 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 a subset of distributed storage units of the set of distributed storage units that need to approve the first proposal to reach the write threshold; and
responsive to receiving, by one or more processors, a read request return that a threshold of distributed storage units of the distributed storage network have not approved the first proposal, placing, by one or more processors, the transaction in a final state, wherein placing the transaction in a 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.Join the waitlist — get patent alerts
Track US2019235975A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.