IP Library Granted Patent US 10,270,855
Granted Patent B2
US 10,270,855 · App. 14/628,817 · Granted Apr 23, 2019

Integrated client for use with a dispersed data 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 10,270,855
App. No.
14/628,817
Granted
Apr 23, 2019
Kind
B2
Abstract

A method with a computer generating a first set of access requests regarding a first set of encoded data slices and storage units of a dispersed storage network. A first data segment is encoded into the first set of encoded data slices. The method continues with the computer generating a second set of access requests regarding a second set of encoded data slices and the storage units. A second data segment is encoded into the second set of encoded data slices. The method continues with the computer grouping the first set of access requests and the second set of access requests to produce a set of combined requests. The method continues with the computer sending the set of combined requests to the storage units.

Claims (58)

1. A method for execution by one or more processing modules of a computing device of a dispersed data storage network (DDSN), the DDSN having storage resources including a plurality of storage units, the method comprises:

receiving a data transaction request regarding a data file;

in response to the data transaction request, generating a first set of access requests regarding a first set of encoded data slices and the plurality of storage units, wherein a first data segment of the data file is encoded into the first set of encoded data slices, wherein the first set of encoded data slices includes “n” number of encoded data slices, and wherein a decode threshold number of encoded data slices of the first set of encoded data slices is needed to recover the first data segment;

generating a second set of access requests regarding a second set of encoded data slices and the plurality of storage units, wherein a second data segment of the data file is encoded into the second set of encoded data slices, wherein the second set of encoded data slices includes the “n” number of encoded data slices, and wherein the decode threshold number of encoded data slices of the second set of encoded data slices is needed to recover the second data segment;

grouping the first set of access requests and the second set of access requests to produce a set of combined access requests; and

sending the set of combined access requests, in a single message, for processing by other devices of the DDSN including the plurality of storage units.

2. The method of claim 1 further comprises:

generating the first set of access requests as a set of write requests for writing the first set of encoded data slices to the plurality of storage units; and

generating the second set of access requests as a set of write requests for writing the second set of encoded data slices to the plurality of storage units.

3. The method of claim 2 further comprises:

generating a first write request of the first set of access requests;

generating a second write request of the second set of access requests; and

combining the first write request and the a second write request into a first combined request of the set of combined access requests.

4. The method of claim 1 further comprises:

generating the first set of access requests as a set of read requests for reading the first set of encoded data slices from the plurality of storage units; and

generating the second set of access requests as a second set of read requests for reading the second set of encoded data slices from the plurality of storage units.

5. The method of claim 1 further comprises:

generating the first set of access requests such that each access request of the first set of access requests includes a first data source identifier that is based on a vault identifier; and

generating the second set of access requests such that each access request of the second set of access requests includes a second data source identifier that is also based on the vault identifier.

6. The method of claim 5 further comprises:

generating the first set of access requests such that the first data source identifier further includes a first random number; and

generating the second set of access requests such that the second data source identifier includes the first random number.

7. The method of claim 1 further comprises:

when the first set of access requests corresponds to a set of write requests, affiliating a write transaction with the first set of access requests such that, when at least a decode threshold number of access requests of the first set of access requests is not successfully executed, the write transaction is rolled back.

8. The method of claim 1 further comprises:

when the data transaction request corresponds to a set of write requests:

determining a segmenting strategy regarding the data file; and

segmenting the data file in accordance with the segmenting strategy to produce one or more data segments that includes the first data segment and the second data segment.

9. A computer comprises:

a network port for coupling to a dispersed data storage network (DDSN); a memory comprising instructions for a client program; and

a processor operably coupled to the network port and the memory, wherein the processor operates to execute the client program, the client program adapted to:

receive, via the network port, a data transaction request regarding a data file;

in response to the data transaction request, generate a first set of access requests regarding a first set of encoded data slices and a plurality of storage units of the DDSN, wherein a first data segment of the data file is encoded into the first set of encoded data slices, wherein the first set of encoded data slices includes “n” number of encoded data slices, and wherein a decode threshold number of encoded data slices of the first set of encoded data slices is needed to recover the first data segment;

generate a second set of access requests regarding a second set of encoded data slices and the plurality of storage units, wherein a second data segment of the data file is encoded into the second set of encoded data slices, wherein the second set of encoded data slices includes the “n” number of encoded data slices, and wherein the decode threshold number of encoded data slices of the second set of encoded data slices is needed to recover the second data segment;

group the first set of access requests and the second set of access requests to produce a set of combined access requests; and

send, via the network port, the set of combined access requests in a single message, for processing by other devices of the DDSN including the plurality of storage units.

10. The computer of claim 9 , wherein the client program is further adapted to:

generate the first set of access requests as a set of write requests for writing the first set of encoded data slices to the plurality of storage units; and

generate the second set of access requests as a set of write requests for writing the second set of encoded data slices to the plurality of storage units.

11. The computer of claim 10 , wherein the client program is further adapted to:

generate a first write request of the first set of access requests;

generate a second write request of the second set of access requests; and

combine the first write request and the a second write request into a first combined request of the set of combined access requests.

12. The computer of claim 9 , wherein the client program is further adapted to:

generate the first set of access requests as a set of read requests for reading the first set of encoded data slices from the plurality of storage units; and

generate the second set of access requests as a second set of read requests for reading the second set of encoded data slices from the plurality of storage units.

13. The computer of claim 9 , wherein the client program is further adapted to:

generate the first set of access requests such that each access request of the first set of access requests includes a first data source identifier that is based on a vault identifier; and

generate the second set of access requests such that each access request of the second set of access requests includes a second data source identifier that is also based on the vault identifier.

14. The computer of claim 13 , wherein the client program is further adapted to:

generate the first set of access requests such that the first data source identifier further includes a first random number; and

generate the second set of access requests such that the second data source identifier includes the first random number.

15. The computer of claim 9 , wherein the client program is further adapted to:

when the first set of access requests corresponds to a set of write requests, affiliate a write transaction with the first set of access requests such that, when at least a decode threshold number of access requests of the first set of access requests is not successfully executed, the write transaction is rolled back.

16. The computer of claim 9 , wherein the client program is further adapted to:

when the data transaction request corresponds to a set of write requests:

determine a segmenting strategy regarding the data file; and

segment the data file in accordance with the segmenting strategy to produce one or more data segments that includes the first data segment and the second data segment.

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 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2016
From: PALTHEPU, SRINIVAS; THORNTON, VANCE T.; YOUNG, JESSE LOUIS; QUIGLEY, JOHN; BAPTIST, ANDREW; DHUSE, GREG
To: CLEVERSAFE, INC.
Reel/Frame 038136/0365 →