IP Library › Granted Patent US 9,621,660
Granted Patent B2
US 9,621,660 · App. 15/139,239 · Granted Apr 11, 2017

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/18H04L67/02H04L67/06H04L67/10H04L67/1097H04L67/20H04L67/2809H04L67/42H04L67/26
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,621,660
App. No.
15/139,239
Granted
Apr 11, 2017
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 (46)

1. A computer-implemented method comprising:

associating, by a content provider, content into a set of content segments;

associating a distribution network into a set of subnetworks, wherein each subnetwork includes one or more content sources; and

distributing the content so that the set of content segments is hosted by the one or more content sources in each subnetwork in the distribution network.

2. The computer-implemented method of claim 1 , wherein the distribution network includes computing devices from a plurality of third party content providers.

3. The computer-implemented method of claim 1 further comprising:

obtaining, by the content provider, a registration request from a third party computing device; and

associating the third party computing device as a registered content provider of the distribution network, wherein the third party computing device is associated with a subnetwork of the distribution network.

4. The computer-implemented method of claim 1 , wherein distributing the content so that the set of content segments is hosted by the one or more content sources in each subnetwork in the distribution network comprises determining that a subnetwork in the set of subnetworks includes the content and distributing the content to other subnetworks in the set of subnetworks not having the content.

5. The computer-implemented method of claim 1 , wherein the set of content segments is hosted by a single content source in each subnetwork.

6. The computer-implemented method of claim 1 , wherein the set of content segments is hosted by at least two content sources in each subnetwork.

7. The computer-implemented method of claim 6 , wherein a first content segment of the set of content segments is hosted by a first content source in each subnetwork and wherein a second content segment of the set of content segments is hosted by a second content source in each subnetwork.

8. The computer-implemented method as recited in claim 1 further comprising:

obtaining a request for the content from a client computing device;

identifying a subnetwork in the distribution network for providing the requested content based on a network locality of the client computing device relative to subnetworks in the distribution network;

for each content segment in the set of content segments, identifying at least one or more content sources in the identified subnetwork corresponding to a registered content provider for providing the content segment; and

providing identification information responsive to the request for the content from the client computing device, wherein the identification information includes, for each content segment, network addresses of the identified registered content provider.

9. The computer-implemented method as recited in claim 1 , wherein the distribution network includes two or more levels defined by nodes in the network and wherein associating a distribution network into a set of subnetworks includes:

identifying a node in the distribution network as a parent node;

identifying children registered content providers to the parent node; and

defining the subnetwork to include the identified children registered content providers.

10. The computer-implemented method as recited in claim 9 , wherein at least one level in the distribution network corresponds to a datacenter.

11. The computer-implemented method as recited in claim 9 , wherein the nodes correspond to a network router and wherein identifying a subnetwork in the distribution network for providing the requested content includes identifying a subnetwork such that content responsive to content requests between the client computing device and a content source does not pass through the network router more than one time.

12. A system comprising:

at least one computing device configured to:

associate, by a content provider, content into a set of content segments;

associate a distribution network into a set of subnetworks, wherein each subnetwork includes one or more content sources; and

distribute the content so that the set of content segments is hosted by the one or more content sources in each subnetwork in the distribution network.

13. The system of claim 12 , wherein the distribution network includes computing devices from a plurality of third party content providers.

14. The system of claim 12 , wherein the at least one computing device is further configured to:

obtain, by the content provider, a registration request from a third party computing device; and

associate the third party computing device as a registered content provider of the distribution network, wherein the third party computing device is associated with a subnetwork of the distribution network.

15. The system of claim 12 , wherein distributing the content so that the set of content segments is hosted by the one or more content sources in each subnetwork in the distribution network comprises determining that a subnetwork in the set of subnetworks includes the content and distributing the content to other subnetworks in the set of subnetworks not having the content.

16. The system of claim 12 , wherein the set of content segments is hosted by a single content source in each subnetwork.

17. The system of claim 12 , wherein the set of content segments is hosted by at least two content sources in each subnetwork.

18. The system of claim 17 , wherein a first content segment of the set of content segments is hosted by a first content source in each subnetwork and wherein a second content segment of the set of content segments is hosted by a second content source in each subnetwork.

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

obtain a request for the content from a client computing device;

identify a subnetwork in the distribution network for providing the requested content based on a network locality of the client computing device relative to subnetworks in the distribution network;

for each content segment in the set of content segments, identify at least one or more content sources in the identified subnetwork corresponding to a registered content provider for providing the content segment; and

provide identification information responsive to the request for the content from the client computing device, wherein the identification information includes, for each content segment, network addresses of the identified registered content provider.

20. The system as recited in claim 12 , wherein the distribution network includes two or more levels defined by nodes in the network and wherein associating a distribution network into a set of subnetworks includes:

identifying a node in the distribution network as a parent node;

identifying children registered content providers to the parent node; and

defining the subnetwork to include the identified children registered content providers.

21. The system as recited in claim 20 , wherein the nodes correspond to a network router and wherein identifying a subnetwork in the distribution network for providing the requested content includes identifying a subnetwork such that content responsive to content requests between the client computing device and a content source does not pass through the network router more than one time.

Continuity (7)
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 20160241651A1 · Aug 18, 2016