IP Library Granted Patent US 8,966,009
Granted Patent B2
US 8,966,009 · App. 14/062,974 · Granted Feb 24, 2015

Router assisted dispersed storage network method and apparatus

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,966,009
App. No.
14/062,974
Granted
Feb 24, 2015
Kind
B2
Abstract

A method begins by a router receiving a data packet and determining a destination of the data packet. The method continues with the router determining whether the router has an affiliation with the destination. The method continues with the router determining whether to temporarily locally store the data packet when the router has the affiliation with the destination. The method continues with the router locally storing the data packet and forwarding the data packet to the destination in accordance with a transfer protocol when the determination to temporarily locally store the data packet is favorable.

Claims (49)

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

receiving a data object of data;

determining whether the data object is to be forwarded to another router, stored locally, or dispersed storage error encoded;

when the data object is to be stored locally, storing the data object in a local memory of the router;

when the data object is to be dispersed storage error encoded:

dispersed storage error encoding a data segment of the data object to produce a set of encoded data slices;

determining routing paths for at least some of the encoded data slices of the set of encoded data slices; and

forwarding the at least some of the encoded data slices based on the corresponding routing paths; and

when the data object is to be forwarded to another router:

determining the other router; and

sending the data object to the other router.

2. The method of claim 1 further comprises:

receiving the data object from a source associated with a source identifier (ID) or from yet another router.

3. The method of claim 1 , wherein the determining whether the data object is to be forwarded to another router, stored locally, or dispersed storage error encoded comprises:

making the determination based on one or more of the data, metadata, a command, a predetermination, a lookup, and a message.

4. The method of claim 1 , wherein the determining the routing paths for at least some of the encoded data slices further comprises:

accessing a routing table; and

determining the routing paths based on entries of the routing table.

5. The method of claim 1 , wherein the determining the other router comprises:

accessing a routing table; and

determining the other router based on the routing table.

6. The method of claim 1 , wherein the data object comprises:

an encoded data slice of a set of encoded data slices of a data segment of data.

7. A router comprises:

an interface;

a memory; and

a processing module operably coupled to the interface and the memory, wherein the processing module is operable to:

receive, via the interface, a data object of data;

determine whether the data object is to be forwarded to another router, stored locally, or dispersed storage error encoded;

when the data object is to be stored locally, store the data object in the memory;

when the data object is to be dispersed storage error encoded:

dispersed storage error encode a data segment of the data object to produce a set of encoded data slices;

determine routing paths for at least some of the encoded data slices of the set of encoded data slices; and

forward, via the interface, the at least some of the encoded data slices based on the corresponding routing paths; and

when the data object is to be forwarded to another router:

determine the other router; and

send, via the interface, the data object to the other router.

8. The router of claim 7 , wherein the processing module is further operable to:

receive, via the interface, the data object from a source associated with a source identifier (ID) or from yet another router.

9. The router of claim 7 , wherein the processing module is further operable to determine whether the data object is to be forwarded to another router, stored locally, or dispersed storage error encoded by:

making the determination based on one or more of the data, metadata, a command, a predetermination, a lookup, and a message.

10. The router of claim 7 , wherein the processing module is further operable to determine the routing paths for at least some of the encoded data slices further by:

accessing a routing table; and

determining the routing paths based on entries of the routing table.

11. The router of claim 7 , wherein the processing module is further operable to determine the other router by:

accessing a routing table; and

determining the other router based on the routing table.

12. The router of claim 7 , wherein the data object comprises:

an encoded data slice of a set of encoded data slices of a data segment of data.

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 →