IP Library Granted Patent US 10,135,697
Granted Patent B2
US 10,135,697 · App. 14/580,038 · Granted Nov 20, 2018

Multi-level peering in a content delivery framework

Inventors: Lewis Robert Varney (Oak Park, CA); Laurence R. Lipstone (Calabasas, CA); William Crowder (Camarillo, CA); Andrew Swart (Pennington, NJ); Christopher Newton (Westlake Village, CA)
Assignee: Level 3 Communications, LLC
H04L41/50G06F9/5055H04L41/0816H04L41/0869H04L41/0893H04L41/12H04L41/509H04L41/5041H04L47/70H04L65/403H04L65/60H04L67/2842H04L67/2885G06F9/5083G06F12/0808H04L41/0813H04L43/08H04L43/10H04L61/1511H04L61/1535H04L61/6009
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 10,135,697
App. No.
14/580,038
Granted
Nov 20, 2018
Kind
B2
Abstract

A computer-implemented method is operable in a network comprising multiple delivery service endpoints running on a plurality of devices where each of the delivery service endpoints is constructed and adapted to deliver resources. A plurality of the delivery service endpoints comprise a group, wherein each node in the group has at least one kind of responsibility relating to delivery of resources. The method includes receiving a request at a node; and, based on what kind of responsibility the node has for the request, attempting to process the request outside the group.

Claims (43)

1. A computer-implemented method, in a content delivery (CD) network (CDN), the CDN serving content on behalf of a plurality of subscribers to the CDN, said CDN comprising multiple delivery service endpoints running on a plurality of devices, each of said delivery service endpoints constructed and adapted to deliver resources, a plurality of said multiple delivery service endpoints comprising a group, wherein each CD node in said group has at least one kind of responsibility relating to delivery of resources for said CDN, the method comprising:

(A) receiving a request at a first CD node in said group, wherein the group comprises one or more subclusters, and wherein the one or more subclusters comprise a first supercluster, and wherein said group comprises a super-cluster of said plurality of nodes of said multiple delivery service endpoints, and wherein the group comprises a peer group of said multiple delivery service endpoints; and then,

(B) based on what kind of responsibility said first CD node has for said request, as determined by said first CD node, attempting to process the request at a second CD node outside the peer group,

wherein the request relates to a particular resource, and wherein said attempting to process in (B) is also based on (i) a resource type of said particular resource, and (ii) at least one kind responsibility said first CD node has for requests relating to said particular resource,

wherein the kind of responsibility the first CD node has for the particular resource is defined in a policy associated with the particular resource, and

wherein the policy is defined for a group of resources.

2. The method of claim 1 wherein said attempting to process the request in (B) comprises one of said first CD node:

(B)(1) proxying the request to said second CD node outside the peer group; and

(B)(2) redirecting the request to said second CD node outside the peer group.

3. The method of claim 1 wherein the request relates to a particular resource and wherein said attempting to process the request in (B) comprises:

(B)(3) said first CD node attempting to obtain the particular resource from outside the peer group.

4. The method of claim 1 wherein the second CD node comprises a remote fill target.

5. The method of claim 1 wherein the said attempting to process the request outside the peer group in (B) targets a subcluster outside the peer group.

6. The method of claim 1 wherein the said attempting to process the request outside the peer group in (B) targets a second supercluster distinct from said first supercluster.

7. The method of claim 1 , wherein the group of resources comprises a property comprising content associated with a subscriber to the CDN.

8. The method of claim 1 wherein the policy is based on one or more of: thresholds for popularity, cacheability, and resource size.

9. The method of claim 1 wherein the group comprises a first cluster and wherein the attempting to process the request outside the group in (B) comprises attempting to process the request at a peer cluster distinct from the first cluster.

10. The method of claim 1 wherein the kind of responsibility that said node has is taken from a discrete set of responsibilities comprising of: non-responsible, cache-responsible, and fill-responsible.

11. The method of claim 1 wherein, when no node in said peer group has responsibility for said request, said attempting to process said request in (B) comprises:

(B)(2) said first CD node redirecting the request to a second CD node outside the peer group.

12. The method of claim 1 wherein the request relates to a particular resource and wherein, when no node in said peer group has responsibility for said request, said attempting to process said request in (B) comprises:

(B)(1) said first CD node proxying the request to a second CD node outside the peer group.

13. The method of claim 1 wherein the request relates to a particular resource and wherein, when said node is fill-responsible for said request, and said particular resource is not in a cache of said node, said attempting to process said request in (B) comprises:

(B)(3) said first CD node attempting to obtain the resource from a second CD node outside the peer group.

14. A device, in a content delivery (CD) network (CDN), the CDN serving content on behalf of a plurality of subscribers to the CDN, said CDN comprising multiple delivery service endpoints running on a plurality of devices, each of said delivery service endpoints constructed and adapted to deliver resources, a plurality of said multiple delivery service endpoints comprising a group, wherein each node in said group has at least one kind of responsibility relating to delivery of resources,

the device comprising:

(a) hardware including memory and at least one processor, and

(b) a service running on said hardware, wherein said service is configured to:

(A) receive a request at a first CD node in said group, wherein the group comprises one or more subclusters, and wherein the one or more subclusters comprise a first supercluster, and wherein said group comprises a super-cluster of said plurality of nodes of said multiple delivery service endpoints, and wherein the group comprises a peer group of said multiple delivery service endpoints; and then,

(B) based on what kind of responsibility said first CD node has for said request, as determined by said first CD node, attempt to process the request at a second CD node outside the peer group,

wherein the request relates to a particular resource, and wherein said attempting to process in (B) is also based on (i) a resource type of said particular resource, and (ii) at least one kind responsibility said first CD node has for requests relating to said particular resource,

wherein the kind of responsibility the first CD node has for the particular resource is defined in a policy associated with the particular resource, and

wherein the policy is defined for a group of resources.

15. A system comprising at least two devices according to claim 14 .

16. A computer program product having computer readable instructions stored on non-transitory computer readable media, the computer readable instructions including instructions for implementing a computer-implemented method, said method operable on a device comprising hardware including memory and at least one processor and running a service on said hardware, said method in a content delivery (CD) network (CDN), the CDN serving content on behalf of a plurality of subscribers to the CDN, said CDN comprising multiple delivery service endpoints running on a plurality of devices, each of said delivery service endpoints constructed and adapted to deliver resources, a plurality of said multiple delivery service endpoints comprising a group, wherein each node in said group has at least one kind of responsibility relating to delivery of resources,

said method comprising:

(A) receiving a request at a first CD node in said group, wherein the group comprises one or more subclusters, and wherein the one or more subclusters comprise a first supercluster, and wherein said group comprises a super-cluster of said plurality of nodes of said multiple delivery service endpoints, and wherein the group comprises a peer group of said multiple delivery service endpoints; and then,

(B) based on what kind of responsibility said first CD node has for said request, as determined by said first CD node, attempting to process the request at a second CD node outside the peer group,

wherein the request relates to a particular resource, and wherein said attempting to process in (B) is also based on (i) a resource type of said particular resource, and (ii) at least one kind responsibility said first CD node has for requests relating to said particular resource,

wherein the kind of responsibility the first CD node has for the particular resource is defined in a policy associated with the particular resource, and

wherein the policy is defined for a group of resources.

17. The device of claim 14 , wherein the group of resources comprises a property comprising content associated with a subscriber to the CDN.

18. The computer program product of claim 16 , wherein the group of resources comprises a property comprising content associated with a subscriber to the CDN.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2024
From: LEVEL 3 COMMUNICATIONS, LLC
To: SANDPIPER CDN, LLC
Reel/Frame 068256/0091 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2014
From: VARNEY, L. ROBERT; LIPSTONE, LAURENCE R.; CROWDER, WILLIAM; SWART, ANDREW; NEWTON, CHRISTOPHER
To: LEVEL 3 COMMUNICATIONS, LLC
Reel/Frame 034577/0429 →
Continuity (3)
Continuation 13802366 · Mar 13, 2013
Provisional Application 61737072 · Dec 13, 2012
Related Publication 20150180725A1 · Jun 25, 2015