IP Library Granted Patent US 8,819,179
Granted Patent B2
US 8,819,179 · App. 12/954,232 · Granted Aug 26, 2014

Data revision synchronization in a dispersed storage network

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,819,179
App. No.
12/954,232
Granted
Aug 26, 2014
Kind
B2
Abstract

A method begins by a processing module determining dispersed storage (DS) units that are storing a set of encoded data slices associated with a data segment and sending a revision level check request message to each of the DS units. The method continues with the processing module receiving revision level check response messages from at least some of the DS units within a time period to produce received revision level check response messages and determining concurrency of a revision level of the set of encoded data slices stored by the DS units based on the received revision level check response messages. The method continues with the processing module initiating a revision concurrency process when less than a threshold number of encoded data slices have concurrency of the revision level.

Claims (46)

1. A method comprises:

determining dispersed storage (DS) units that are storing a set of encoded data slices associated with a data segment;

sending a revision level check request message to each of the DS units;

receiving revision level check response messages from at least some of the DS units within a time period to produce received revision level check response messages;

determining concurrency of a revision level of the set of encoded data slices stored by the DS units based on the received revision level check response messages;

when less than a threshold number of encoded data slices have concurrency of the revision level, initiating a revision concurrency process; and

when at least the threshold number, but less than a pillar width number, of encoded data slices have concurrency of the revision level, sending a write finalize message to each of the DS units, wherein the write finalize message includes a revision level and a slice name of a corresponding one of the set of encoded data slices.

2. The method of claim 1 , wherein the initiating a revision concurrency process comprises:

when less than the threshold number of encoded data slices have concurrency of a latest revision level, determining whether the threshold number of encoded data slices have concurrency of a previous revision level; and

when at least the threshold number of encoded data slices have concurrency of the previous revision level, sending an undo transaction request message to each of the DS units, wherein the undo transaction request message includes the latest revision level and a slice name of a corresponding one of the set of encoded data slices.

3. The method of claim 2 further comprises:

when at least the threshold number of encoded data slices does not have concurrency of the previous revision level, determining whether the revision level check response message has been received from each of the DS units;

when the revision level check response message was not received from one of the DS units, sending a retry revision level check request message to the one of the DS units; and

when the revision level check response message was received from each of the DS units, initiating a rebuilding process or a re-write process.

4. The method of claim 1 , wherein the determining the DS units comprises at least one of:

receiving a multiple revisions message from a revisions agent regarding the data segment, wherein the data segment is identified based on one or more of a revision count, a slice name, and a revision level number;

selecting the DS units from a list of DS units; and

selecting the DS units from a list of data segments for revisions testing.

5. The method of claim 1 , wherein a revision level check response message of the revision level check response messages comprises at least one of:

a revision count;

a revision level number; and

a slice length.

6. A computer comprises:

an interface; and

a processing device operable to:

determine dispersed storage (DS) units that are storing a set of encoded data slices associated with a data segment;

send, via the interface, a revision level check request message to each of the DS units;

receive, via the interface, revision level check response messages from at least some of the DS units within a time period to produce received revision level check response messages;

determine concurrency of a revision level of the set of encoded data slices stored by the DS units based on the received revision level check response messages;

initiate a revision concurrency process when less than a threshold number of encoded data slices have concurrency of the revision level; and

send, via the interface, a write finalize message to each of the DS units, wherein the write finalize message includes a revision level and a slice name of a corresponding one of the set of encoded data slices when at least the threshold number, but less than a pillar width number, of encoded data slices have concurrency of the revision level.

7. The computer of claim 6 , wherein the processing device further functions to initiate the revision concurrency process by:

determining whether the threshold number of encoded data slices have concurrency of a previous revision level when less than the threshold number of encoded data slices have concurrency of a latest revision level; and

sending, via the interface, an undo transaction request message to each of the DS units, wherein the undo transaction request message includes the latest revision level and a slice name of a corresponding one of the set of encoded data slices when at least the threshold number of encoded data slices have concurrency of the previous revision level.

8. The computer of claim 7 , wherein the processing device further functions to:

determine whether the revision level check response message has been received from each of the DS units when at least the threshold number of encoded data slices does not have concurrency of the previous revision level;

send, via the interface, a retry revision level check request message to the one of the DS units when the revision level check response message was not received from one of the DS units; and

initiate a rebuilding process or a re-write process when the revision level check response message was received from each of the DS units.

9. The computer of claim 6 , wherein the processing device further functions to determine the DS units by at least one of:

receiving, via the interface, a multiple revisions message from a revisions agent regarding the data segment, wherein the data segment is identified based on one or more of a revision count, a slice name, and a revision level number;

selecting the DS units from a list of DS units; and

selecting the DS units from a list of data segments for revisions testing.

10. The computer of claim 6 , wherein the revision level check response message of the revision level check response messages comprises at least one of:

a revision count;

a revision level number; and

a slice length.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038687/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 24, 2010
From: RESCH, JASON K.; MARK, ZACHARY J.; BAPTIST, ANDREW; VOLVOVSKI, ILYA
To: CLEVERSAFE, INC.
Reel/Frame 025421/0032 →