IP Library Granted Patent US 8,839,068
Granted Patent B2
US 8,839,068 · App. 14/107,204 · Granted Sep 16, 2014

Data transmission utilizing route selection and dispersed storage error encoding

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,839,068
App. No.
14/107,204
Granted
Sep 16, 2014
Kind
B2
Abstract

A method begins by a processing module obtaining a set of encoded data slices for transmission to a receiving entity via a network, wherein the set of encoded data slices represents data that has been dispersed storage error encoded. The method continues with the processing module dividing the set into a plurality of sub-sets of encoded data slices in accordance with an error coding distributed routing protocol. The method continues with the processing module determining a plurality of routing paths within the network in accordance with the error coding distributed routing protocol. The method continues with the processing module transmitting the plurality of sub-sets of encoded data slices via the plurality of routing paths to the receiving entity in accordance with the error coding distributed routing protocol.

Claims (56)

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

dividing data into different priority level portions in accordance with a data partitioning scheme;

selecting first error coding dispersal storage function parameters for first priority level portions of the data;

selecting second error coding dispersal storage function parameters for second priority level portions of the data, wherein the first priority level portions having a higher priority than the second priority level portions and the first error coding dispersal storage function parameters provides a higher level of dispersed storage error encoding than the second error coding dispersal storage function parameters;

dispersed storage error encoding the first priority level portions of the data in accordance with the first error coding dispersal storage function parameters to produce a first plurality of encoded data slices;

dispersed storage error encoding the second priority level portions of the data in accordance with the second error coding dispersal storage function parameters to produce a second plurality of encoded data slices; and

outputting the first and second plurality of encoded data slices.

2. The method of claim 1 , wherein the dividing data into different priority level portions comprises:

dividing the data into a plurality of data segments in accordance with a data type; and

dividing the plurality of data segments into a first priority level set of data segments and a second priority level set of data segments in accordance with data segment content priority that includes at a fundamental data component and an enhancement data component.

3. The method of claim 1 , wherein the dividing data into different priority level portions comprises:

dividing the data into a plurality of data segments in accordance with a data type, wherein a data segment of the plurality of data segments includes first priority data and second priority data;

combining the first priority data of two or more data segments of the plurality of data segments to produce one of the first priority level portions; and

combining the second priority data of the two or more data segments of the plurality of data segments to produce one of the second priority level portions.

4. The method of claim 1 further comprises:

determining the data partitioning scheme based on one or more of a data type indicator, a data analysis, a data size indicator, a priority indicator, a security indicator, buffer bits, authentication indicator, performance indicator, a lookup, a message, and a predetermination.

5. The method of claim 1 , wherein the selecting the first and second error coding dispersal storage function parameters comprises:

determining each of the first and second error coding dispersal storage function parameters based on one or more of a routing path quality of service information, candidate routing paths, selected routing paths, a communications requirement, a data type indicator, a capacity estimate of the selected routing paths, a priority indicator, a security indicator, a performance indicator, an estimated routing path performance indicator, a lookup, and a message.

6. The method of claim 1 , wherein the dividing data into different priority level portions comprises:

dividing, as the data, video data into standard definition video portions and high definition video portions, wherein the standard definition video portions are the first priority level portions of the data and the high definition video portions are the second priority level portions of the data.

7. The method of claim 1 , wherein the dividing data into different priority level portions comprises:

dividing, as the data, video data into base frames of video and change frames of video, wherein the base frames of video are the first priority level portions of the data and the change frames of video are the second priority level portions of the data.

8. The method of claim 1 , wherein the dividing data into different priority level portions comprises:

dividing, as the data, audio data into fundamental audio data components and enhancement audio data components, wherein the fundamental audio data components are the first priority level portions of the data and the enhancement audio data components are the second priority level portions of the data.

9. The method of claim 1 , wherein the outputting the first and second plurality of encoded data slices comprises:

selecting routing paths from a plurality of routing paths based on one or more of communication requirements for transmitting the data and routing path quality of service information; and

transmitting the first and second plurality of encoded data slices via the selected routing paths.

10. A dispersed storage module comprises:

a first module, when operable within a computer, causes the computer to divide data into different priority level portions in accordance with a data partitioning scheme;

a second module, when operable within the computer, causes the computer to:

select first error coding dispersal storage function parameters for first priority level portions of the data;

select second error coding dispersal storage function parameters for second priority level portions of the data, wherein the first priority level portions having a higher priority than the second priority level portions and the first error coding dispersal storage function parameters provides a higher level of dispersed storage error encoding than the second error coding dispersal storage function parameters;

a third module, when operable within the computer, causes the computer to:

dispersed storage error encode the first priority level portions of the data in accordance with the first error coding dispersal storage function parameters to produce a first plurality of encoded data slices; and

dispersed storage error encode the second priority level portions of the data in accordance with the second error coding dispersal storage function parameters to produce a second plurality of encoded data slices; and

a fourth module, when operable within the computer, causes the computer to output the first and second plurality of encoded data slices.

11. The dispersed storage module of claim 10 , wherein the first module further causes the computer to divide the data into different priority level portions by:

dividing the data into a plurality of data segments in accordance with a data type; and

dividing the plurality of data segments into a first priority level set of data segments and a second priority level set of data segments in accordance with data segment content priority that includes at a fundamental data component and an enhancement data component.

12. The dispersed storage module of claim 10 , wherein the first module further causes the computer to divide the data into different priority level portions by:

dividing the data into a plurality of data segments in accordance with a data type, wherein a data segment of the plurality of data segments includes first priority data and second priority data;

combining the first priority data of two or more data segments of the plurality of data segments to produce one of the first priority level portions; and

combining the second priority data of the two or more data segments of the plurality of data segments to produce one of the second priority level portions.

13. The dispersed storage module of claim 10 , wherein the first module further causes the computer to:

determine the data partitioning scheme based on one or more of a data type indicator, a data analysis, a data size indicator, a priority indicator, a security indicator, buffer bits, authentication indicator, performance indicator, a lookup, a message, and a predetermination.

14. The dispersed storage module of claim 10 , wherein the second module further causes the computer to select the first and second error coding dispersal storage function parameters by:

determining each of the first and second error coding dispersal storage function parameters based on one or more of a routing path quality of service information, candidate routing paths, selected routing paths, a communications requirement, a data type indicator, a capacity estimate of the selected routing paths, a priority indicator, a security indicator, a performance indicator, an estimated routing path performance indicator, a lookup, and a message.

15. The dispersed storage module of claim 10 , wherein the first module further causes the computer to divide the data into different priority level portions by:

dividing, as the data, video data into standard definition video portions and high definition video portions, wherein the standard definition video portions are the first priority level portions of the data and the high definition video portions are the second priority level portions of the data.

16. The dispersed storage module of claim 10 , wherein the first module further causes the computer to divide the data into different priority level portions by:

dividing, as the data, video data into base frames of video and change frames of video, wherein the base frames of video are the first priority level portions of the data and the change frames of video are the second priority level portions of the data.

17. The dispersed storage module of claim 10 , wherein the first module further causes the computer to divide the data into different priority level portions by:

dividing, as the data, audio data into fundamental audio data components and enhancement audio data components, wherein the fundamental audio data components are the first priority level portions of the data and the enhancement audio data components are the second priority level portions of the data.

18. The dispersed storage module of claim 10 , wherein the third module further causes the computer to output the first and second plurality of encoded data slices by:

selecting routing paths from a plurality of routing paths based on one or more of communication requirements for transmitting the data and routing path quality of service information; and

transmitting the first and second plurality of encoded data slices via the selected routing paths.

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 May 13, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038687/0596 →