IP Library Patent Application 15718025
Patent Application
App. No. 15/718,025

ROUTER-BASED ROUTING SELECTION

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 None
App. No.
15/718,025
Abstract

A method for use in a relay unit includes receiving a dispersed storage error encoded data slice, and obtaining a current routing path associated with it. A predicted performance of the current routing path is determined, and a check is performed to determine whether a predicted performance of the current routing path fails to satisfy a performance threshold. If the performance threshold is not satisfied, alternate performance information associated with one or more alternate routing paths is obtained. Based at least in part on the alternate performance information, one of the one or more alternate routing paths is selected as a new routing path. The dispersed storage error encoded data slice is transmitted via the new routing path, instead of using the current routing path previously obtained.

Claims (61)

1 . A method for use in a relay unit including a processor and associated memory, the method comprising:

receiving a dispersed storage error encoded data slice;

obtaining a current routing path associated with the dispersed storage error encoded data slice;

determining a predicted performance of the current routing path;

determining that a predicted performance of the current routing path fails to satisfy a performance threshold;

in response to the predicted performance of the current routing path failing to satisfy the performance threshold, obtaining alternate performance information associated with one or more alternate routing paths;

selecting a particular alternate routing path, from among the one or more alternate routing paths, as a new routing path, the selecting based, at least in part, on the alternate performance information; and

transmitting the dispersed storage error encoded data slice via the new routing path instead of using the current routing path.

2 . The method of claim 1 , further comprising:

obtaining the current routing path from information included in a message received prior to receiving the dispersed storage error encoded data slice.

3 . The method of claim 1 , wherein the performance threshold includes one or more of the following:

a latency threshold, a speed threshold, a bandwidth threshold, a security threshold, a reliability threshold.

4 . The method of claim 1 , further comprising:

determining that the predicted performance of the current routing path fails to satisfy the performance threshold based, at least in part, on historical performance of the current routing path.

5 . The method of claim 1 , further comprising:

selecting the particular alternate routing path based, at least in part, on a size of the dispersed storage error encoded data slice.

6 . The method of claim 1 , further comprising:

selecting the particular alternate routing path based, at least in part, on availability of the one or more alternate routing paths.

7 . The method of claim 1 , further comprising:

selecting the particular alternate routing path based, at least in part, on historical reliability of data transmissions between the relay unit and a processing unit in the particular alternate routing path.

8 . A non-transitory computer readable medium tangibly embodying a program of instructions configured to be stored in a memory and executed by a processor, the program of instructions comprising:

at least one instruction to receive a dispersed storage error encoded data slice;

at least one instruction to obtain a current routing path associated with the dispersed storage error encoded data slice;

at least one instruction to determine a predicted performance of the current routing path;

at least one instruction to determine that a predicted performance of the current routing path fails to satisfy a performance threshold;

at least one instruction to obtain alternate performance information associated with one or more alternate routing paths in response to the predicted performance of the current routing path failing to satisfy the performance threshold;

at least one instruction to select a particular alternate routing path, from among the one or more alternate routing paths, as a new routing path, the particular alternate routing path being selected based, at least in part, on the alternate performance information; and

at least one instruction to transmit the dispersed storage error encoded data slice via the new routing path instead of using the current routing path.

9 . The non-transitory computer readable medium of claim 8 , further comprising:

at least one instruction to obtain the current routing path from information included in a message received prior to receiving the dispersed storage error encoded data slice.

10 . The non-transitory computer readable medium of claim 8 , wherein the performance threshold includes one or more of the following:

a latency threshold, a speed threshold, a bandwidth threshold, a security threshold, a reliability threshold.

11 . The non-transitory computer readable medium of claim 8 , further comprising:

at least one instruction to determine that the predicted performance of the current routing path fails to satisfy the performance threshold based, at least in part, on historical performance of the current routing path.

12 . The non-transitory computer readable medium of claim 8 , further comprising:

at least one instruction to select the particular alternate routing path based, at least in part, on a size of the dispersed storage error encoded data slice.

13 . The non-transitory computer readable medium of claim 8 , further comprising:

at least one instruction to select the particular alternate routing path based, at least in part, on availability of the one or more alternate routing paths.

14 . The non-transitory computer readable medium of claim 8 , further comprising:

at least one instruction to select the particular alternate routing path based, at least in part, on historical reliability of data transmissions between a relay unit and a processing unit in the particular alternate routing path.

15 . A relay unit for use in a communications network, the relay unit comprising:

a processor;

memory coupled to the processor;

a program of instructions configured to be stored in the memory and executed by the processor, the program of instructions including:

at least one instruction to receive a dispersed storage error encoded data slice;

at least one instruction to obtain a current routing path associated with the dispersed storage error encoded data slice;

at least one instruction to determine a predicted performance of the current routing path;

at least one instruction to determine that a predicted performance of the current routing path fails to satisfy a performance threshold;

at least one instruction to obtain alternate performance information associated with one or more alternate routing paths in response to the predicted performance of the current routing path failing to satisfy the performance threshold;

at least one instruction to select a particular alternate routing path, from among the one or more alternate routing paths, as a new routing path, the particular alternate routing path being selected based, at least in part, on the alternate performance information; and

at least one instruction to transmit the dispersed storage error encoded data slice via the new routing path instead of using the current routing path.

16 . The relay unit of claim 15 , wherein the program of instructions further comprises:

at least one instruction to obtain the current routing path from information included in a message received prior to receiving the dispersed storage error encoded data slice.

17 . The relay unit of claim 15 , wherein the program of instructions further comprises:

at least one instruction to determine that the predicted performance of the current routing path fails to satisfy the performance threshold based, at least in part, on historical performance of the current routing path.

18 . The relay unit of claim 15 , wherein the program of instructions further comprises:

at least one instruction to select the particular alternate routing path based, at least in part, on a size of the dispersed storage error encoded data slice.

19 . The relay unit of claim 15 , wherein the program of instructions further comprises:

at least one instruction to select the particular alternate routing path based, at least in part, on availability of the one or more alternate routing paths.

20 . The relay unit of claim 15 , wherein the program of instructions further comprises:

at least one instruction to select the particular alternate routing path based, at least in part, on historical reliability of data transmissions between the relay unit and a processing unit in the particular alternate routing path.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE DELETE 15/174/279 AND 15/174/596 PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 49555 FRAME: 530. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 051495/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049555/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2017
From: BAPTIST, ANDREW D.; VOLVOVSKI, ILYA; GRUBE, GARY W.; MARKISON, TIMOTHY W.; GLADWIN, S. CHRISTOPHER; DHUSE, GREG R.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 043721/0801 →