IP Library Granted Patent US 8,612,821
Granted Patent B2
US 8,612,821 · App. 13/251,587 · Granted Dec 17, 2013

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,612,821
App. No.
13/251,587
Granted
Dec 17, 2013
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 (37)

1. A method comprises:

dividing data into a plurality of data segments;

dispersed storage error encoding the plurality of data segments to produce a plurality of sets of encoded data slices, wherein a set of encoded data slices of the plurality of sets of encoded data slices corresponds to a data segment of the plurality of data segments;

identifying a receiving entity for receiving the data via a transmission through a network;

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

dividing the plurality of sets of encoded data slices into a plurality of sub-sets of encoded data slices in accordance with the selected routing paths; and

transmitting the plurality of sub-sets of encoded data slices via the selected routing paths to the receiving entity.

2. The method of claim 1 further comprises:

determining error coding dispersal storage function parameters based on at least one of a data characterization, a routing approach, a reliability requirement, a performance requirement, a lookup, a data encoding policy, a predetermination, a message, and a previous data encoding approach; and

dispersed storage error encoding the plurality of data segments in accordance with the error coding dispersal storage function parameters to produce the plurality of sets of encoded data slices.

3. The method of claim 1 , wherein the selecting the set of routing paths comprises:

obtaining routing path quality of service information corresponding to the plurality of routing paths to the receiving entity; and

selecting the set of routing paths from the plurality of routing paths based on the routing path quality of service information.

4. The method of claim 1 , wherein the dividing the plurality of sets of encoded data slices into the plurality of sub-sets comprises:

determining a number of sub-sets in accordance with an error coding distributed routing protocol, wherein the error coding distributed routing protocol includes at least one of routing path quality of service information, a partitioning function, a capacity estimate of the plurality of routing paths, a sub-set size indicator, a priority indicator, a security indicator, a performance indicator, an estimated routing path performance indicator, a lookup, and a message.

5. The method of claim 1 , wherein the dividing the plurality of sets of encoded data slices into the plurality of sub-sets comprises:

creating a sub-set of the plurality of sub-sets of encoded data slices to include encoded data slices having one or more like pillar numbers.

6. A computer comprises:

an interface;

a memory; and

a processing module operable to:

divide data into a plurality of data segments;

dispersed storage error encode the plurality of data segments to produce a plurality of sets of encoded data slices, wherein a set of encoded data slices of the plurality of sets of encoded data slices corresponds to a data segment of the plurality of data segments;

identify a receiving entity for receiving the data via a transmission through a network;

select a set of routing paths from a plurality of routing paths to the receiving entity based on one or more of communication requirements for transmitting the data and routing path quality of service information to produce selected routing paths;

divide the plurality of sets of encoded data slices into a plurality of sub-sets of encoded data slices in accordance with the selected routing paths; and

transmit the plurality of sub-sets of encoded data slices via the selected routing paths to the receiving entity.

7. The computer of claim 6 , wherein the processing module further functions to:

determine error coding dispersal storage function parameters based on at least one of a data characterization, a routing approach, a reliability requirement, a performance requirement, a lookup, a data encoding policy, a predetermination, a message, and a previous data encoding approach; and

dispersed storage error encode the plurality of data segments in accordance with the error coding dispersal storage function parameters to produce the plurality of sets of encoded data slices.

8. The computer of claim 6 , wherein the processing module functions to select the set of routing paths by:

obtaining routing path quality of service information corresponding to the plurality of routing paths to the receiving entity; and

selecting the set of routing paths from the plurality of routing paths based on the routing path quality of service information.

9. The computer of claim 6 , wherein the processing module functions to divide the plurality of sets of encoded data slices into the plurality of sub-sets by:

determining a number of sub-sets in accordance with an error coding distributed routing protocol, wherein the error coding distributed routing protocol includes at least one of routing path quality of service information, a partitioning function, a capacity estimate of the plurality of routing paths, a sub-set size indicator, a priority indicator, a security indicator, a performance indicator, an estimated routing path performance indicator, a lookup, and a message.

10. The computer of claim 6 , wherein the processing module further functions to divide the plurality of sets of encoded data slices into the plurality of sub-sets by:

creating a sub-set of the plurality of sub-sets of encoded data slices to include encoded data slices having one or more like pillar numbers.

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 Aug 13, 2013
From: GRUBE, GARY W.; MARKISON, TIMOTHY W.; GLADWIN, S. CHRISTOPHER; DHUSE, GREG; BAPTIST, ANDREW; VOLVOVSKI, ILYA; RESCH, JASON K.
To: CLEVERSAFE, INC.
Reel/Frame 030997/0316 →