IP Library Granted Patent US 9,300,477
Granted Patent B2
US 9,300,477 · App. 14/331,526 · Granted Mar 29, 2016

Identifying and correcting an undesired condition of a dispersed storage network access request

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 9,300,477
App. No.
14/331,526
Granted
Mar 29, 2016
Kind
B2
Abstract

A method begins by a processing module sending a transaction verification request to the set of dispersed storage (DS) units, wherein the transaction verification request includes a transaction number that corresponds to a particular dispersed storage network (DSN) access request. The method continues with the processing module receiving transaction verification responses from at least some of the set of DS units to produce received transaction verification responses. The method continues with the processing module identifying an undesired condition with processing the DSN access request and initiating a corrective remedy for the undesired condition when a DS unit of the set of DS units does not provide a desired transaction verification response.

Claims (57)

1. A method for execution by a computer, the method comprises:

generating, by the computer, a transaction number for a write operation;

sending, by the computer, a set of write requests and a set of transaction verification requests to a set of storage units for the write operation, wherein a transaction verification request of the set of transaction verification requests includes the transaction number of the write operation; and

when verification responses from at least a decode threshold number of storage units are consistent:

generating, by the computer, a second transaction number for a write commit operation that corresponds to the write operation;

sending, by the computer, a set of write commit requests and a second set of transaction verification requests to the set of storage units for the write operation, wherein a transaction verification request of the second set of transaction verification requests includes the second transaction number of the write commit operation; and

receiving, by the computer, commit verification responses from at least some of the storage units.

2. The method of claim 1 further comprises:

when verification responses from less than the decode threshold number of storage units includes are consistent, sending a set of rollback commands to the storage units to rollback from the write operation to a previously successful write operation.

3. The method of claim 1 further comprises:

verifying that the verification responses from at least a decode threshold number of storage units are consistent by determining that the verification responses from the at least the decode threshold number of storage units include the transaction number.

4. The method of claim 1 further comprises:

when commit verification responses from at least the decode threshold number of storage units are consistent:

generating a third transaction number for a write finalize operation that corresponds to the write operation; and

sending a set of write finalize requests and a third set of transaction verification requests to the set of storage units for the write operation, wherein a transaction verification request of the third set of transaction verification requests includes the third transaction number of the write commit operation.

5. The method of claim 1 further comprises:

when commit verification responses from less than the decode threshold number of storage units includes are consistent, sending a set of undo commands to the storage units to undo the write operation.

6. A computer readable storage device comprises:

a first memory section that includes operational instructions that, when executed by a computing device, causes the computing device to:

generate a transaction number for a write operation; and

send a set of write requests and a set of transaction verification requests to a set of storage units for the write operation, wherein a transaction verification request of the set of transaction verification requests includes the transaction number of the write operation; and

a second memory section that includes operational instructions that, when executed by the computing device, causes the computing device to:

when verification responses from at least a decode threshold number of storage units are consistent:

generate a second transaction number for a write commit operation that corresponds to the write operation;

send a set of write commit requests and a second set of transaction verification requests to the set of storage units for the write operation, wherein a transaction verification request of the second set of transaction verification requests includes the second transaction number of the write commit operation; and

receive commit verification responses from at least some of the storage units.

7. The computer readable storage device of claim 6 , wherein the second memory section further includes operational instructions that, when executed by the computing device, causes the computing device to:

when verification responses from less than the decode threshold number of storage units includes are consistent, send a set of rollback commands to the storage units to rollback from the write operation to a previously successful write operation.

8. The computer readable storage device of claim 6 , wherein the second memory section further includes operational instructions that, when executed by the computing device, causes the computing device to:

verify that the verification responses from at least a decode threshold number of storage units are consistent by determining that the verification responses from the at least the decode threshold number of storage units include the transaction number.

9. The computer readable storage device of claim 6 further comprises:

a third memory section that includes operational instructions that, when executed by the computing device, causes the computing device to:

when commit verification responses from at least the decode threshold number of storage units are consistent:

generate a third transaction number for a write finalize operation that corresponds to the write operation; and

send a set of write finalize requests and a third set of transaction verification requests to the set of storage units for the write operation, wherein a transaction verification request of the third set of transaction verification requests includes the third transaction number of the write commit operation.

10. The computer readable storage device of claim 6 , wherein the second memory section further includes operational instructions that, when executed by the computing device, causes the computing device to:

when commit verification responses from less than the decode threshold number of storage units includes are consistent, send a set of undo commands to the storage units to undo the write operation.

11. A computer comprises:

an interface;

a memory; and

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

generate a transaction number for a write operation;

send a set of write requests and a set of transaction verification requests to a set of storage units for the write operation, wherein a transaction verification request of the set of transaction verification requests includes the transaction number of the write operation;

when verification responses from at least a decode threshold number of storage units are consistent:

generate a second transaction number for a write commit operation that corresponds to the write operation;

send a set of write commit requests and a second set of transaction verification requests to the set of storage units for the write operation, wherein a transaction verification request of the second set of transaction verification requests includes the second transaction number of the write commit operation; and

receive commit verification responses from at least some of the storage units.

12. The computer of claim 11 , wherein the processing module is further operable to:

when verification responses from less than the decode threshold number of storage units includes are consistent, send a set of rollback commands to the storage units to rollback from the write operation to a previously successful write operation.

13. The computer of claim 11 , wherein the processing module is further operable to:

verify that the verification responses from at least a decode threshold number of storage units are consistent by determining that the verification responses from the at least the decode threshold number of storage units include the transaction number.

14. The computer of claim 11 , wherein the processing module is further operable to:

when commit verification responses from at least the decode threshold number of storage units are consistent:

generate a third transaction number for a write finalize operation that corresponds to the write operation; and

send a set of write finalize requests and a third set of transaction verification requests to the set of storage units for the write operation, wherein a transaction verification request of the third set of transaction verification requests includes the third transaction number of the write commit operation.

15. The computer of claim 11 , wherein the processing module is further operable to:

when commit verification responses from less than the decode threshold number of storage units includes are consistent, send a set of undo commands to the storage units to undo the write operation.

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 Mar 30, 2016
From: RESCH, JASON K.; DHUSE, GREG; BAPTIST, ANDREW
To: CLEVERSAFE, INC.
Reel/Frame 038141/0771 →