Cross-cluster direct server return with anycast rendezvous in a content delivery network (cdn)
Abstract
A computer-implemented method in a content delivery network (CDN), wherein the CDN delivers content on behalf of at least one content provider. The method includes: a first server: receiving a request from a client for particular content; determining at least one delivery server in the CDN; migrating the request to the at least one delivery server; and then providing the least one delivery server with first network traffic from the client. Then a second server, distinct from the first server, determines information about the least one delivery server; and then, based on the determining, provides the least one delivery server with second network traffic from the client.
Claims
exact text as granted — not AI-modifiedWe claim:
1 . A computer-implemented method in a content delivery network (CDN), wherein said CDN delivers content on behalf of at least one content provider, the method comprising:
(A)(1) a first contact server receiving a request from a client for particular content; (A)(2) determining at least one delivery server in said CDN; (A)(3) said first contact server providing said least one delivery server with first network traffic from said client, wherein said at least one delivery server is configured to spoof an address of said first contact server; and then (B)(1) a second contact server, distinct from the first server, determining information about said least one delivery server; and then, (B)(2) based on said determining in (B)(1), said second server providing said least one delivery server with second network traffic from said client, wherein said at least one delivery server serves at least some of the particular content to the client.
2 . The method of claim 1 , wherein the first contact server and second contact server are in the same autonomous system (AS).
3 . The method of claim 2 , wherein the first contact server and second contact server have the same Internet Protocol (IP) address.
4 . The method of claim 2 wherein said first network traffic further comprises registering information about said at least one delivery server in association with said client.
5 . The method of claim 4 , wherein said determining information in (B)(1) uses information about said at least one delivery in association with said client.
6 . The method of claim 1 wherein said at least one delivery server consists of one delivery server.
7 . The method of claim 1 wherein said request from said client in (A)(1) is at OSI layer 5, and wherein said first network traffic from said client in (A)(3) and said second network traffic from said client in (B)(2) is at OSI layers 3 or 4.
8 . The method of claim 1 wherein said determining of said at least one delivery server in (A)(2) uses a rendezvous system.
9 . The method of claim 8 wherein said rendezvous system comprises a domain name system (DNS).
10 . The method of claim 8 wherein said at least one delivery server is determined in (A)(2) without using said rendezvous system.
11 . The method of claim 1 wherein said at least one delivery server is determined in (A)(2) using one or more tables.
12 . The method of claim 11 wherein said one or more tables comprise information from a rendezvous system.
13 . The method of claim 11 wherein at least some of said one or more tables are on said first contact server.
14 . The method of claim 11 wherein at least some of the tables are at a third device distinct from said first contact server.
15 . The method of claim 1 wherein said first server establishes a TCP/IP connection with the client prior to receiving said request in (A)(1), and wherein said first network traffic further comprises at least some TCP/IP information.
16 . The method of claim 1 wherein the at least one delivery server serves at least some of the particular content to the client.
17 . The method of claim 16 wherein the request is an HTTP request and wherein the network traffic from the client comprises acknowledgments (ACKs), and wherein said providing in (A)(3) comprises providing said at least one delivery server with said ACKs from said client.
18 . The method of claim 1 wherein said first contact server was chosen by a rendezvous system to handle the request from the client.
19 . The method of claim 18 wherein the determining of the at least one delivery server in (A)(2) is based, at least in part, on certain information not known to the rendezvous system when said first contact server was chosen by said rendezvous system.
20 . The method of claim 19 wherein said certain information comprises information associated with said request.
21 . The method of claim 20 wherein said certain information comprises one or more of:
(i) a network address of the client;
(ii) customer information;
(iii) a size of the particular content;
(iv) a kind of the particular content;
(v) a serving policy associated with the particular content;
(vi) a media player need or used for the particular content;
(vii) a type of client's device;
(viii) a popularity of the particular content; and
(ix) an object identifier for the particular content.
22 . The method of claim 1 wherein, in providing said at least one server with network traffic from said client in (A)(3), said first contact server acts as a router for the request, and wherein, in providing said at least one server with network traffic from said client in (B)(2), said second contact server acts as a router for the request.
23 . The method of claim 22 wherein, in providing said at least one server with network traffic from said client in (A)(3), said first contact server acts as a pass-through router in only one direction for the request; and wherein, in providing said at least one server with network traffic from said client in (B)(2), said second contact server acts as a pass-through router in only one direction for the request.
24 . The method of claim 1 , further comprising, after (B)(2):
(C)(1) a third server determining information about said least one delivery server; and (C)(2) based on said determining in (C)(1), said third server providing said least one delivery server with second network traffic from said client.
25 . The method of claim 24 wherein said third server is the same as said first contact server.
26 . A non-transient computer-readable medium having program instructions stored thereon, the program instructions, operable on a computer system in a content delivery network (CDN), the program instructions, when executed on a processor in the CDN, performing:
(A)(1) a first contact server receiving a request from a client for particular content; (A)(2) determining at least one delivery server in said CDN; (A)(3) said first contact server providing said least one delivery server with first network traffic from said client, wherein said at least one delivery server is configured to spoof an address of said first contact server; and then (B)(1) a second contact server, distinct from the first server, determining information about said least one delivery server; and then, (B)(2) based on said determining in (B)(1), said second server providing said least one delivery server with second network traffic from said client, wherein said at least one delivery server serves at least some of the particular content to the client.Join the waitlist — get patent alerts
Track US2020374341A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.