IP Library Granted Patent US 10,015,255
Granted Patent B2
US 10,015,255 · App. 15/673,978 · Granted Jul 3, 2018

Storing data in a dispersed storage network

Inventor: Greg R. Dhuse (Chicago, IL)
Assignee: International Business Machines Corporation
H04L67/1097G06F11/1092G06F2211/1028
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,015,255
App. No.
15/673,978
Granted
Jul 3, 2018
Kind
B2
Abstract

A computing device includes a processing module operable to generate a set of write requests regarding a set of encoded data slices. The processing module is further operable to send the set of write requests to a set of storage units, where each of at least some of the storage units of the set of storage units generates a write response. The processing module is further operable to receiving the write responses where the write responses includes at least a decode threshold number of write responses. The processing module is further operable to determine a most current revision level regarding the set of encoded data slices based on the lists of revision levels from the at least some of the storage units, and generate a set of write commit messages.

Claims (30)

1. A computing device of a dispersed storage network (DSN), the computing device comprises:

an interface;

memory; and

a processing module operably coupled to the memory and the interface, wherein the processing module is operable to:

generate a set of write requests regarding a set of encoded data slices, wherein a write request of the set of write requests includes an encoded data slice of the set of encoded data slices, a corresponding slice name, and a transaction number corresponding to the set of write requests;

send the set of write requests to a set of storage units, wherein each of at least some of the storage units of the set of storage units generate a write response that includes the transaction number and a list of revision levels corresponding to the slice name;

receiving the write responses from the at least some of the storage units, wherein the write responses includes at least a decode threshold number of write responses;

determining a most current revision level regarding the set of encoded data slices based on the lists of revision levels from the at least some of the storage units; and

generating a set of write commit messages, wherein a write commit message of the set of write commit messages includes the transaction number and a new revision level for the set of encoded data slices.

2. The computing device of claim 1 , wherein the write response further comprises:

a particular slice name corresponding to a particular encoded data slice of the set of encoded data slices.

3. The computing device of claim 1 , wherein the processing module is operable to generate the write response by:

identifying stored encoded data slices having the slice name;

determining revision values for each of the stored encoded data slices; and

generating the list of revision levels based on the revision values.

4. The computing device of claim 1 , wherein the processing module is operable to determine the most current revision level by:

reviewing the lists of revision levels from the at least some of the storage units to determine a highest revision value, wherein the lists of revision levels includes a list of revision values for the corresponding slice name; and

utilizing the highest revision value as the most current revision level.

5. The computing device of claim 1 , wherein the processing module is operable to determine the most current revision level by:

reviewing the lists of revision levels from the at least some of the storage units to determine a highest revision value in a threshold number of lists of revision levels, wherein the lists of revision levels includes a list of revision values for the corresponding slice name; and

utilizing the highest revision value in the threshold number of lists of revision levels as the most current revision level.

6. The computing device of claim 1 , wherein the processing module is operable to generate the set of write commit messages by at least one of:

determining the new revision level by incrementing the most current revision level; and

determining the new revision level by performing a mathematical function on the most current revision level.

7. The computing device of claim 1 , wherein the processing module is further operable to send the set of write requests to the set of storage units, wherein each of the at least some of the storage units generate a write response by:

storing the encoded data slice corresponding to the slice name;

restricting access to the encoded data slice pending the write commit message; and

maintaining access to a previous revision level of the encoded data slice pending the write commit message.

8. The computing device of claim 1 , wherein the processing module is further operable to:

send the set of write commit messages to the set of storage units.

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 Aug 10, 2017
From: DHUSE, GREG
To: CLEVERSAFE, INC.
Reel/Frame 043262/0004 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2017
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 043520/0061 →
Continuity (11)
Continuation 14876154 · Oct 6, 2015
Continuation In Part 14792577 · Jul 6, 2015
Continuation 13863475 · Apr 16, 2013
Continuation 12797025 · Jun 9, 2010
Continuation In Part 12080042 · Mar 31, 2008
Continuation In Part 11973542 · Oct 9, 2007
Continuation In Part 11403391 · Apr 13, 2006
Continuation In Part 11241555 · Sep 30, 2005
Provisional Application 62086611 · Dec 2, 2014
Provisional Application 61230038 · Jul 30, 2009
Related Publication 20170366613A1 · Dec 21, 2017