IP Library Granted Patent US 10,176,045
Granted Patent B2
US 10,176,045 · App. 15/437,862 · Granted Jan 8, 2019

Internet based shared memory in a distributed computing system

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,176,045
App. No.
15/437,862
Granted
Jan 8, 2019
Kind
B2
Abstract

A method includes receiving, by a computing device of a dispersed storage and task (DST) network, raw data. The method further includes dispersed storage (DS) error encoding the raw data in accordance with initial DS error encoding parameters to produce a plurality of sets of encoded data slices (EDSs). The method further includes determining index generation task information and sending the plurality of sets of EDSs and the index generation task information to a set of DST execution units. The method further includes generating, by the set of DST execution units, partial data indexes from the plurality of sets of EDSs based on the index generation task information. The method further includes generating a data index based on the partial data indexes and an operational task, partitioning the operational task into a set of partial tasks, and sending the set of partial tasks to the set of DST execution units.

Claims (86)

1. A method comprises:

receiving, by a computing device of a distributed storage and task (DST) network, raw data;

dispersed storage error encoding, by the computing device, the raw data in accordance with initial dispersed storage error encoding parameters to produce a plurality of sets of encoded data slices, wherein the initial dispersed storage error encoding parameters include one or more of: initial data segmenting information, initial segment security information, initial error coding information, initial slicing information, and initial slice security information;

determining, by the computing device, index generation task information regarding the raw data;

sending, by the computing device, the plurality of sets of encoded data slices and the index generation task information to a set of DST execution units;

generating, by the set of DST execution units, partial data indexes from the plurality of sets of encoded data slices based on the index generation task information;

generating, by the computing device, a data index based on the partial data indexes;

determining, by the computing device, an operational task from a list of operational tasks that includes storing the plurality of sets of encoded data slices, storing the data index, long term storage of the raw data, execute a data processing function on the sets of encoded data slices and execute a data processing function on the data index;

partitioning, by the computing device, the operational task into a set of partial tasks; and

sending, by the computing device, the set of partial tasks to the set of DST execution units.

2. The method of claim 1 further comprises:

executing, by at least some of the set of DST execution units, the set of partial tasks on at least some of the plurality of sets of encoded data slices.

3. The method of claim 1 , wherein the determining the index generation task information comprises:

determining, by the computing device, the index generation task information based on a storage profile regarding the raw data.

4. The method of claim 3 , wherein the index generation task information includes one or more of:

a search parameter;

a keyword;

pattern recognition information; and

timing information.

5. The method of claim 3 , wherein the storage profile includes one or more of:

a security requirement;

a performance requirement;

an estimated retrieval frequency;

an estimated distributed processing level;

a data visibility profile;

a data owner;

a data index storage indicator; and

a data deletion policy.

6. The method of claim 1 , wherein the data index includes one or more of:

identified keywords;

identified dates;

identified internet protocol addresses;

partial content;

a word count;

raw data statistics;

a summary of the raw data; and

one or more DST network addresses.

7. The method of claim 1 further comprises:

when the operational task is long term storage of the raw data, selecting, by the computing device, new dispersed storage error encoding parameters;

dispersed storage error encoding, by the computing device, the raw data in accordance with the new dispersed storage error encoding parameters to produce a new plurality of sets of encoded data slices; and

sending, by the computing device, the new plurality of encoded data slices and the set of partial tasks to the set of DST execution units, such that the set of DST execution units stores the new plurality of encoded data slices.

8. A computer readable memory comprises:

a first memory element that stores operational instructions that, when executed by a computing device of a distributed storage and task (DST) network, causes the computing device to:

receive raw data;

dispersed storage error encode the raw data in accordance with initial dispersed storage error encoding parameters to produce a plurality of sets of encoded data slices, wherein the initial dispersed storage error encoding parameters include one or more of: initial data segmenting information, initial segment security information, initial error coding information, initial slicing information, and initial slice security information;

determine index generation task information regarding the raw data; and

send the plurality of sets of encoded data slices and the index generation task information to a set of DST execution units;

a second memory element that stores operational instructions that, when executed by the set of DST execution units, causes the set of DST execution units to:

generate partial data indexes from the plurality of sets of encoded data slices based on the index generation task information;

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

generate a data index based on the partial data indexes;

determine an operational task from a list of operational tasks that includes storing the plurality of sets of encoded data slices, storing the data index, long term storage of the raw data, execute a data processing function on the sets of encoded data slices and execute a data processing function on the data index;

partition the operational task into a set of partial tasks; and

send the set of partial tasks to the set of DST execution units.

9. The computer readable memory of claim 8 further comprises:

a fourth memory element that stores operational instructions that, when executed by the set of DST execution units, causes at least some of the set of DST execution units to:

execute the set of partial tasks on at least some of the plurality of sets of encoded data slices.

10. The computer readable memory of claim 8 , wherein the first memory element further stores operational instructions that, when executed by the computing device, causes the computing device to determine the index generation task information by:

determining the index generation task information based on a storage profile regarding the raw data.

11. The computer readable memory of claim 10 , wherein the index generation task information includes one or more of:

a search parameter;

a keyword;

pattern recognition information; and

timing information.

12. The computer readable memory of claim 10 , wherein the storage profile includes one or more of:

a security requirement;

a performance requirement;

an estimated retrieval frequency;

an estimated distributed processing level;

a data visibility profile;

a data owner;

a data index storage indicator; and

a data deletion policy.

13. The computer readable memory of claim 8 , wherein the data index includes one or more of:

identified keywords;

identified dates;

identified internet protocol addresses;

partial content;

a word count;

raw data statistics;

a summary of the raw data; and

one or more DST network addresses.

14. The computer readable memory of claim 8 , wherein the third memory element further stores operational instructions that, when executed by the computing device, causes the computing device to:

when the operational task is long term storage of the raw data select new dispersed storage error encoding parameters;

dispersed storage error encodes the raw data in accordance with the new dispersed storage error encoding parameters to produce a new plurality of sets of encoded data slices; and

send the new plurality of encoded data slices and the set of partial tasks to the set of DST execution units, such that the set of DST execution units stores the new plurality of encoded data slices.

Assignments (5)
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 Feb 21, 2017
From: BAPTIST, ANDREW D.; DHUSE, GREG R.; GLADWIN, S. CHRISTOPHER; GRUBE, GARY W.; LEGGETTE, WESLEY B.; MOTWANI, MANISH; RESCH, JASON K.; SHIRLEY, THOMAS F., JR.; VOLVOVSKI, ILYA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041327/0595 →