IP Library Granted Patent US 8,572,282
Granted Patent B2
US 8,572,282 · App. 12/850,611 · Granted Oct 29, 2013

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,572,282
App. No.
12/850,611
Granted
Oct 29, 2013
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 (79)

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

receiving a data packet;

determining a destination of the data packet;

accessing a routing table based on the destination;

determining whether the router has an affiliation with the destination based on the routing table, wherein the destination is a dispersed storage unit of a dispersed storage network and wherein the dispersed storage network has agreed to the affiliation;

when the router has the affiliation with the destination, determining whether to temporarily locally store the data packet;

when the determination to temporarily locally store the data packet is favorable:

locally storing the data packet; and

forwarding the data packet to the destination in accordance with a route of the routing table

determining that another router does not have an active affiliation with the destination; and

when the other router does not have the active affiliation, determining to establish the affiliation with the destination based on one or more of:

a destination performance indicator;

a maximum number of routes;

a minimum number of routes; and

an affiliation history record.

2. The method of claim 1 , wherein the data packet comprises:

an encoded data slice of a set of encoded data slices, wherein a data segment is encoded using an error coding dispersal storage function to produce the set of encoded data slices.

3. The method of claim 1 further comprises:

determining to store the data packet on behalf of the dispersed storage unit.

4. The method of claim 1 , wherein the determining whether the router has the affiliation comprises:

receiving metadata associated with the data packet, wherein the metadata indicates the affiliation; and

utilizing the metadata to access the routing table.

5. The method of claim 1 further comprises:

when the other router does have the active affiliation and the router does not have the affiliation, forwarding the data packet to the other router.

6. The method of claim 1 , wherein the determining whether to temporarily locally store the data packet comprises at least one of:

interpreting metadata associated with the data packet;

interpreting historical data traffic of the destination;

interpreting current data traffic of the destination; and

receiving a request from the destination.

7. The method of claim 1 , wherein the forwarding the data packet to the destination in accordance with the route of the routing table comprises at least one of:

forwarding the data packet at expiration of a time interval;

forwarding the data packet during a given time of the day;

forwarding the data packet in response to a request from the destination;

forwarding the data packet when a local memory utilization is above a threshold;

forwarding the data packet in response to a change in routing table information; and

forwarding the data packet in response to a change in the affiliation.

8. The method of claim 1 further comprises:

when the determination to temporarily locally store the data packet is favorable, responding to a write request associated with the data packet.

9. A router comprises:

an interface;

a memory; and

a processing module operable to:

receive, via the interface, a data packet;

determine a destination of the data packet;

access a routing table based on the destination;

determine whether the router has an affiliation with the destination based on the routing table, wherein the destination is a dispersed storage unit of a dispersed storage network and wherein the dispersed storage network has agreed to the affiliation;

determine whether to temporarily locally store the data packet when the router has the affiliation with the destination;

when the determination to temporarily locally store the data packet is favorable:

locally store the data packet in the memory; and

output, via the interface, the data packet to the destination in accordance with a

route of the routing table

determine that another router does not have an active affiliation with the destination; and

when the other router does not have the active affiliation, determine to establish the affiliation with the destination based on one or more of:

a destination performance indicator;

a maximum number of routes;

a minimum number of routes; and

an affiliation history record.

10. The router of claim 9 , wherein the data packet comprises:

an encoded data slice of a set of encoded data slices, wherein a data segment is encoded using an error coding dispersal storage function to produce the set of encoded data slices.

11. The router of claim 9 , wherein the processing module is further operable to:

determine to store the data packet on behalf of the dispersed storage unit.

12. The router of claim 9 , wherein the processing module functions to determine whether the router has the affiliation by:

receiving, via the interface, metadata associated with the data packet, wherein the metadata indicates the affiliation.

13. The router of claim 9 , wherein the processing module further functions to:

when the other router does have the active affiliation and the router does not have the affiliation, output, via the interface, the data packet to the other router.

14. The router of claim 9 , wherein the processing module further functions to determine whether to temporarily locally store the data packet by at least one of:

interpreting metadata associated with the data packet;

interpreting historical data traffic of the destination;

interpreting current data traffic of the destination; and

receiving, via the interface, a request from the destination.

15. The router of claim 9 , wherein the processing module further functions to forward the data packet to the destination in accordance with the route of the routing table by at least one of:

outputting, via the interface, the data packet at expiration of a time interval;

outputting, via the interface, the data packet during a given time of the day;

outputting, via the interface, the data packet in response to a request from the destination;

outputting, via the interface, the data packet when the memory utilization is above a threshold;

outputting, via the interface, the data packet in response to a change in routing table information;

and outputting, via the interface, the data packet in response to a change in the affiliation.

16. The router of claim 9 , wherein the processing module further functions to:

output, via the interface, a response to a write request associated with the data packet when the determination to temporarily locally store the data packet is favorable.

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 Feb 10, 2011
From: GRUBE, GARY W.; MARKISON, TIMOTHY W.
To: CLEVERSAFE, INC.
Reel/Frame 025793/0936 →