IP Library Granted Patent US 7,054,935
Granted Patent B2
US 7,054,935 · App. 10/095,811 · Granted May 30, 2006

Internet content delivery network

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,054,935
App. No.
10/095,811
Granted
May 30, 2006
Kind
B2
Abstract

Resource requests made by clients of origin servers in a network are intercepted by reflector mechanisms and selectively reflected to other servers called repeaters. The reflectors select a best repeater from a set of possible repeaters and redirect the client to the selected best repeater. The client then makes the request of the selected best repeater. The resource is possibly rewritten to replace at least some of the resource identifiers contained therein with modified resource identifiers designating the repeater instead of the origin server.

Claims (42)

1. A system comprising:

a repeater server network comprising a plurality of repeater servers, the repeater server network supporting a plurality of subscribers being entities that publish resources to the repeater server network via one or more origin servers, and

wherein at least some of the repeater servers replicate information available on at least some of the one or more origin servers, and

wherein a request for a resource may be handled by the repeater server network in order for the resource to be served, and

wherein the request for the resource is rejected if the requested resource is not from a subscriber to the repeater server network.

2. A system as in claim 1 , wherein the resource is a Hypertext Transfer Protocol (HTTP) document.

3. A system as in claim 1 , wherein at least one repeater server in the repeater server network is addressed by more than one name, and wherein the repeater server network determines whether a request is for a resource from the subscriber based at least in part on a name by which at least one repeater server handling the request was addressed.

4. A system as in claim 1 , wherein the repeater server network determines whether the request is for the resource from the subscriber based at least in part on an origin server name in the Uniform Resource Locator (URL) used to make the request.

5. A system as in claim 3 , wherein the at least one repeater server uses information in an Hypertext Transfer Protocol (HTTP) header to determine the name by which it was addressed.

6. A system as in claim 1 , wherein the subscriber is an entity that publishes resources via at least one of the one or more origin servers.

7. In a computer network which includes (a) a plurality of origin servers, and (b) a plurality of repeater servers forming at least one repeater server network, and in which at least some of the repeater servers replicate information available on at least some of the plurality of origin servers, and in which a request for information may be handled by the repeater server network in order for the requested information to be served, a method comprising:

assigning a repeater server more than one name;

upon receiving the request, determining a name by which the repeater server was addressed; and

based at least in part on said determination, attempting to serve the information if the name by which the repeater server was addressed corresponds to a known subscriber, otherwise rejecting the request.

8. A method as in claim 7 , further comprising using information in an Hypertext Transfer Protocol (HTTP) header to determine the name by which the repeater server was addressed.

9. In a computer network which includes (a) a plurality of origin servers, and (b) a plurality of repeater servers making up at least one repeater server network, and in which at least one of the repeater servers replicates information available on at least some of the plurality of origin servers, and in which requests for content may be handled by the repeater server network in order for that content to be served, a method comprising:

assigning a repeater server more than one name;

upon receipt of a request from a client for content, using at least the name by which the repeater server was addressed in order to ascertain whether the request is for content from a subscriber to the repeater server network; and

causing the request to be rejected when the request is for content that is not from a subscriber to the repeater server network.

10. A system comprising:

(a) a plurality of origin servers, and

(b) a plurality of repeater servers forming a repeater server network, and in which at least one of the repeater servers replicate information available on at least one of the plurality of origin servers, and in which client requests for content may be handled by the repeater server network in order for that content to be served, wherein the at least one repeater server is adapted and programmed to:

(i) obtain a client request for information;

(ii) determine if the client request is for information from a subscriber to the repeater server network;

(iii) attempt to serve the information to the client when it is determined that the request is for information from the subscriber; and

(iv) causing the request to be rejected when it is determined that the request is for information not from any subscriber to the repeater server network.

11. A system as in claim 10 wherein the at least one repeater server is further adapted and programmed to:

determine whether the information is stored locally, and,

based at least in part on said determining, if the information is stored locally, retrieve the information; and

when the information is determined not to be stored locally, attempt to obtain the information either from an origin server of the plurality of origin servers or from another repeater server.

12. A system as in claim 11 wherein the at least one repeater server is assigned multiple names and wherein the at least one repeater server is further adapted and programmed to:

determine which origin server to use based at least in part upon a name by which the at least one repeater server was addressed.

13. A system as in claim 11 wherein the at least one repeater server is further adapted and programmed to:

determine which origin server to use based at least in part on an origin server name in the Uniform Resource Locator (URL) used to make the request.

14. A system as in claim 1 , wherein at least one repeater server in the repeater server network is addressed by more than one address, and wherein the repeater server network determines whether a request is for a resource from the subscriber based at least in part on an address by which at least one repeater server handling the request was addressed.

15. A system as in claim 14 wherein the addresses by which the at least one repeater server is addressed are IP (Internet Protocol) addresses.

16. A method as in claim 7 wherein a name is selected from the group consisting of: host names and IP (Internet Protocol) addresses.

17. A system as in claim 11 wherein the other repeater server is a peer cache.

18. In a computer network which includes (a) a plurality of origin servers, and (b) a plurality of repeater servers making up at least one repeater server network, and in which at least one of the repeater servers replicates information available on at least some of the plurality of origin servers, and in which a request for a resource may be handled by the repeater server network in order for the resource to be provided, a method comprising:

assigning a repeater server more than one name or address;

upon receipt of a request from a client for a resource, using at least the name or address by which the repeater server was addressed in order to ascertain whether the request is for a resource from a subscriber to the repeater server network; and

rejecting the client request when it is not for a resource from a subscriber to the repeater server network.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2024
From: LEVEL 3 COMMUNICATIONS, LLC
To: SANDPIPER CDN, LLC
Reel/Frame 067244/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2007
From: SAVVIS COMMUNICATIONS CORPORATION
To: MOUNT SHASTA ACQUISITION LLC
Reel/Frame 018847/0065 →
MERGER Recorded Feb 2, 2007
From: MOUNT SHASTA ACQUISITION LLC
To: LEVEL 3 COMMUNICATIONS, LLC
Reel/Frame 018847/0077 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2005
From: CABLE & WIRELESS INTERNET SERVICES, INC.
To: SAVVIS ASSET HOLDINGS, INC.
Reel/Frame 017073/0142 →
SECURITY INTEREST Recorded Jun 17, 2005
From: SAVVIS COMMUNICATIONS CORPORATION
To: WELLS FARGO FOOTHILL, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 016353/0633 →
MERGER Recorded May 12, 2005
From: SAVVIS, INC.
To: SAVVIS COMMUNCIATIONS CORPORATION
Reel/Frame 016004/0209 →
CHANGE OF NAME Recorded Dec 3, 2004
From: SAVVIS ASSET HOLDING, INC.
To: SAVVIS, INC.
Reel/Frame 016038/0526 →
CHANGE OF NAME Recorded Nov 29, 2002
From: DIGITAL ISLAND, INC.
To: CABLE & WIRELESS INTERNET SERVICES, INC.
Reel/Frame 014082/0642 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2002
From: FARBER, DAVID A.; GREER, RICHARD E.; SWART, ANDREW D.; BALTER, JAMES A.
To: SANDPIPER NETWORKS, INC.
Reel/Frame 012695/0974 →