IP Library Granted Patent US 7,860,964
Granted Patent B2
US 7,860,964 · App. 11/976,648 · Granted Dec 28, 2010

Policy-based content delivery network selection

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 7,860,964
App. No.
11/976,648
Granted
Dec 28, 2010
Kind
B2
Abstract

In a framework wherein resources of a content provider may be delivered to clients from different domains, a method distributes the requests based on content-provider policies. In some cases, the domains include at least two distinct content delivery network (CDN) domains. The domains may include a content provider domain. Responsive to a request, either the content provider domain or one of the two CDN domains is selected, the selection being based at least in part on one or more policies set by the content provider.

Claims (56)

1. A method operable in a framework wherein resources of a content provider are delivered to clients from a plurality of domains, said plurality of domains comprising at least two distinct content delivery network (CDN) domains, the method comprising:

hardware in combination with software obtaining at least one content provider policy set by the content provider; responsive to a request, selecting one of said plurality of domains, said selecting being based at least in part on the at least one content provider policy, and providing information associated with the selected domain;

wherein said plurality of domains further comprises a content provider domain distinct from said CDN domains, and wherein:

when the selected domain is the content provider domain, the information associated with the selected domain includes at least one IP address associated with the content provider domain, and

when the selected domain is one of the CDN domains, the information associated with the selected domain includes a domain name associated with the selected CDN domain.

2. A method as in claim 1 further comprising, when the selected domain is one of the CDN domains:

identifying a particular content server in said selected CDN domain; and

providing the client with an address of the particular content server.

3. A method as in claim 1 wherein, when the selected domain is one of the CDN domains, the information associated with the selected domain comprises a CNAME associated with the selected CDN domain.

4. A method as in claim 1 wherein the at least one content provider policy comprises a load share policy that specifies a relative load share for each of said plurality of domains, and wherein the step of selecting attempts to satisfy at least said load share policy.

5. A method as in claim 1 wherein the at least one content provider policy comprises:

a load share policy that specifies a relative load share for each of said CDN domains, and wherein the step of selecting attempts to satisfy at least said load share policy.

6. A method as in claim 1 wherein said at least one content provider policy is obtained from a location specified by said content provider.

7. A method as in claim 1 wherein said step of obtaining is repeated at regular intervals.

8. A method as in claim 1 wherein said at least one content provider policy includes a load share policy for said at least two CDN domains.

9. A computer-implemented method, operable in a framework wherein resources of a content provider are delivered to clients from a content provider domain and from one of a plurality of distinct content delivery network (CDN) domains distinct from said content provider domain, the method comprising:

hardware in combination with software obtaining one or more content provider policies relating to delivery of said resources, at least one of said policies relating to a relative load share for said content provider domain and for each of said plurality of CDN domains;

selecting, based at least in part on said one or more content provider policies, either (a) said content provider domain, or (b) one of said plurality of CDN domains; and

when said step of selecting selects said content provider domain, providing the client with at least one IP address associated with a server in the content provider domain; and

when said step of selecting selects one of said plurality of CDNs, providing the client with a domain name associated with the selected CDN.

10. The method of claim 9 wherein said step of obtaining is repeated at regular intervals.

11. A method operable in a framework wherein resources of a content provider are delivered to users from at least two distinct content delivery networks (CDNs), the method comprising:

hardware in combination with software obtaining one or more content provider policies relating to delivery of said resources, at least one of said policies relating to a relative load share for each of said at least two CDNs;

receiving a request from a client's resolver to resolve a first domain name, said request having resulted from a client request for one of said resources of said content provider;

selecting, based at least in part on said one or more content provider policies, one of said at least two CDNs; and

when said step of selecting selects one of said at least two CDNs, providing the client's resolver with a domain name associated with the selected CDN.

12. A method as in claim 11 wherein the information associated with the domain name associated with the selected CDN is a CNAME.

13. A method as in claim 11 wherein said step of obtaining is repeated at regular intervals.

14. A method as in claim 11 wherein the one or more policies include:

a load share policy that specifies a relative load share for each of said two CDNs, and

wherein the step of selecting attempts to satisfy at least said load share policy.

15. A method as in claim 11 wherein the resources are also delivered from one or more content sources associated with the content provider, and wherein the one or more policies include: a load share policy that specifies a relative load share for said content sources and for each of said two CDNs, and wherein the step of selecting attempts to satisfy at least said load share policy.

16. A method as in claim 11 wherein the resources are also delivered from one or more content sources associated with the content provider, and wherein there are exactly k CDNs, each having a policy-specified load share of L k associated therewith, and wherein the one or more content sources have a policy-specified load share of L O associated therewith, and wherein said content provider policies include one or more policies that specify that requests should be distributed among said content sources and said k CDNs in the ratio L O :L 1 :L 2 : . . . :L k , and wherein said step of selecting attempts to satisfy the distribution ratio L O :L 1 :L 2 : . . . :L k .

17. A method as in claim 11 wherein there are exactly k CDNs, each having a policy-specified load share of L k associated therewith, and wherein said content provider policies include one or more policies that specify that requests should be distributed among said k CDNs in the ratio L 1 :L 2 : . . . :L k , and wherein said step of selecting attempts to satisfy the distribution ratio L 1 :L 2 : . . . :L k .

18. A method as in claim 11 further comprising:

when said step of selecting selects one of said CDNs:

identifying a particular content server in said selected CDN; and

providing the client with an IP address associated with the particular content server.

19. A method operable in a framework wherein resources of a content provider are delivered to clients from one of a plurality of distinct content delivery network (CDN) domains distinct from a content provider domain, the method comprising:

hardware in combination with software obtaining one or more content provider policies relating to delivery of said resources, at least one of said policies relating to a relative load share for each of said plurality of CDN domains;

selecting, based at least in part on said one or more content provider policies, one of said plurality of CDN domains; and

when said step of selecting selects one of said plurality of CDNs, providing the client with a domain name associated with the selected CDN.

20. A method as in claim 19 further comprising:

identifying a particular content server in said selected CDN; and

providing the client with an address of the particular content server.

21. A method as in claim 19 further comprising:

repeating the step of obtaining a regular intervals.

22. A method as in claim 19 wherein there are k CDN domains, and wherein said at least one of said policies relating to a relative load share for each of said plurality of CDN domains specifies that requests should be distributed among said k CDN domains in the ratio L 1 :L 2 : . . . :L k , where L j is the load ratio for the j-th CDN domain, for j=1 to k, and wherein said step of selecting attempts to satisfy the distribution ratio L 1 :L 2 : . . . :L k .

23. A method operable in a framework wherein resources of a content provider are delivered to users from one or more content sources associated with said content provider and from at least two distinct content delivery networks (CDNs), the method comprising:

hardware in combination with software obtaining one or more content provider policies relating to delivery of said resources, at least one of said policies relating to a relative load share for said one or more content sources and for each of said at least two CDNs;

receiving a request from a client's resolver to resolve a first domain name, said request having resulted from a client request for one of said resources of said content provider;

selecting, based at least in part on said one or more content provider policies, either (a) one of said one or more content sources, or (b) one of said at least two CDNs; and

when said step of selecting selects one of said content sources, providing the client with at least one IP address associated with the one of said content sources; and

when said step of selecting selects one of said at least two CDNs, providing the client with a domain name associated with the selected CDN.

24. A method as in claim 23 wherein there are exactly k CDNs, each having a policy-specified load share of L k associated therewith, and wherein the one or more content sources have a policy-specified load share of L O associated therewith, and wherein said content provider policies include one or more policies that specify that requests should be distributed among said content sources and said k CDNs in the ratio L O :L 1 :L 2 : . . . :L k , and wherein said step of selecting attempts to satisfy the distribution ratio L O :L 1 :L 2 : . . . :L k .

25. The method of claim 24 wherein said step of obtaining is repeated at regular intervals.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2024
From: LEVEL 3 COMMUNICATIONS, LLC
To: SANDPIPER CDN, LLC
Reel/Frame 067244/0690 →
CHANGE OF NAME Recorded Jan 17, 2012
From: DIGITAL ISLAND, INC.
To: CABLE & WIRELESS INTERNET SERVICES, INC.
Reel/Frame 027544/0835 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2012
From: SAVVIS COMMUNICATIONS CORPORATION
To: MOUNT SHASTA ACQUISITION LLC
Reel/Frame 027486/0349 →
MERGER Recorded Jan 5, 2012
From: MOUNT SHASTA ACQUISITION LLC
To: LEVEL 3 COMMUNICATIONS LLC
Reel/Frame 027486/0525 →
MERGER Recorded Jan 3, 2012
From: SAVVIS, INC.
To: SAVVIS COMMUNICATIONS CORPORATION
Reel/Frame 027472/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2012
From: CABLE & WIRELESS INTERNET SERVICES, INC.
To: SAVVIS ASSET HOLDINGS, INC.
Reel/Frame 027469/0951 →
SECURITY AGREEMENT Recorded Jan 3, 2012
From: SAVVIS COMMUNICATIONS CORPORATION
To: WELLS FARGO FOOTHILL, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 027472/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2009
From: MIDDLETON, TED
To: LEVEL 3 COMMUNICATIONS, LLC
Reel/Frame 022740/0672 →