IP Library › Granted Patent US 9,894,168
Granted Patent B2
US 9,894,168 · App. 15/483,659 · Granted Feb 13, 2018

Locality based content distribution

Inventors: Swaminathan Sivasubramanian (Seattle, WA); David R. Richardson (Seattle, WA); Bradley Eugene Marshall (Bainbridge Island, WA)
Assignee: Amazon Technologies, Inc.
H04L67/18H04L41/12H04L67/06H04L67/1082H04L67/1097H04L67/20H04L67/26H04L67/42
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 9,894,168
App. No.
15/483,659
Granted
Feb 13, 2018
Kind
B2
Abstract

A system and method for content distribution are provided. A content provider generates a network topology having one or more subnetworks made up of content sources. The content provider segments content, such as applications, into segments for distribution. The content provider then distributes the content such that for each identified subnetwork, each content segment is distributed to a content source. Subsequent, client computing device requests for content can be serviced by selecting a content source in a particular subnetwork selected for delivering the requested content to the client computing device to minimize traffic flow of the requested content through the nodes of the distribution network.

Claims (37)

1. A system comprising:

at least one edge computing device for receiving a request for content from a client computing device, wherein the at least one edge computing device is associated with a multi-level distribution network, wherein the multi-level distribution network includes a plurality of subnetworks, the at least one edge computing device configured, based at least in part on the request for content from the client computing device, to:

identify a subnetwork in the multi-level distribution network; and

provide the requested content to the client computing device, the requested content retrieved from the identified subnetwork and provided based at least in part on a location of the client computing device relative to points in the multi-level distribution network.

2. The system of claim 1 , wherein providing the requested content comprises providing identification information for a source of the requested content in the identified subnetwork and wherein the identification information includes metadata for processing by the client computing device.

3. The system as recited in claim 1 , wherein the at least one edge computing device is further configured to distribute the requested content so that the requested content is distributed among one or more content sources in each subnetwork in the multi-level distribution network.

4. The system as recited in claim 3 , wherein distributing the requested content comprises distributing the requested content to one or more content sources in each subnetwork.

5. The system as recited in claim 3 , wherein distributing the requested content comprises distributing the requested content to each subnetwork that does not already have one or more content sources including the requested content.

6. The system as recited in claim 2 , wherein the identification information includes reconciliation information to be provided to the source of the requested content in the identified subnetwork.

7. A system comprising:

at least one edge computing device associated with a multi-level distribution network for receiving a request for content from a client computing device, wherein the multi-level distribution network includes a plurality of subnetworks, the at least one edge computing device configured to:

determine a content source from a subnetwork for providing at least a portion of the requested content to the client computing device such that the determined content source will minimize distribution node traffic between one or more parent nodes to the client computing device and the content source; and

based at least in part on the request for content from the client computing device, provide identification information identifying the determined content source for providing at least a portion of the requested content.

8. The system of claim 7 , wherein the identification information includes metadata for processing by the client computing device.

9. The system as recited in claim 7 , wherein the identification information includes network address information corresponding to the determined content source.

10. The system as recited in claim 7 , wherein determining a content source for providing at least a portion of the content includes identifying at least one peer computing device for providing at least a portion of the requested content.

11. The system as recited in claim 10 , wherein the at least one edge computing device is further configured to:

obtain reconciliation requests from the peer computing device, wherein the reconciliation requests include reconciliation tokens received from client computing devices; and

reconcile the reconciliation requests from the peer computing devices.

12. A computer-implemented method comprising:

obtaining, at an edge computing device corresponding to a multi-level distribution network, a request for content from a client computing device, wherein the multi-level distribution network includes a plurality of subnetworks; and

based at least in part on the request for content from the client computing device:

identifying a subnetwork in the multi-level distribution network; and

providing the requested content to the client computing device, the requested content retrieved from the identified subnetwork and provided based at least in part on a location of the client computing device relative to points in the multi-level distribution network.

13. The method as recited in claim 12 further comprising distributing the requested content so that the requested content is distributed among one or more content sources in each subnetwork in the multi-level distribution network.

14. The method as recited in claim 13 , wherein distributing the requested content comprises distributing the requested content to one or more content sources in each subnetwork.

15. The method as recited in claim 13 , wherein distributing the requested content comprises distributing the requested content to each subnetwork that does not already have one or more content sources including the requested content.

16. The method as recited in claim 12 , wherein providing the requested content comprises providing identification information for a source of the requested content in the identified subnetwork and wherein the identification information includes metadata for processing by the client computing device.

17. A computer-implemented method comprising:

obtaining, at an edge computing device corresponding to a multi-level distribution network, a request for content from a client computing device, wherein the multi-level distribution network includes a plurality of subnetworks, wherein individual subnetworks correspond to two or more logically grouped nodes within the multi-level distribution network, and wherein individual subnetworks include a source of the requested content within the subnetwork;

determining a content source from a subnetwork for providing at least a portion of the requested content to the client computing device such that the determined content source will minimize distribution node traffic between one or more parent nodes to the client computing device and the content source; and

based at least in part on the request for content from the client computing device, providing identification information identifying the determined content source for providing at least a portion of the requested content.

18. The method as recited in claim 17 , wherein the identification information includes metadata for processing by the client computing device.

19. The method as recited in claim 17 , wherein determining a content source for providing at least a portion of the content includes identifying a peer computing device for providing at least a portion of the requested content.

20. The method as recited in claim 19 further comprising:

obtaining a reconciliation request from the peer computing device, wherein the reconciliation request includes a reconciliation token received from the client computing device; and

reconciling the reconciliation request from the peer computing device.

Continuity (8)
Continuation 15139239 · Apr 26, 2016
Continuation 14639933 · Mar 5, 2015
Continuation 13888283 · May 6, 2013
Continuation 13614714 · Sep 13, 2012
Continuation 13296189 · Nov 14, 2011
Continuation 13170102 · Jun 27, 2011
Continuation 12060124 · Mar 31, 2008
Related Publication 20170214755A1 · Jul 27, 2017