← Back to Patent Explorer
US6185598B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Optimized network resource location

Assignee: MOUNT SHASTA ACQUISITION LLC
•
Filing: 1998-02-10
•
Granted: 2001-02-06
•
Expires: 2018-02-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 David A. Farber
  • 👤 Richard E. Greer
  • 👤 Andrew D. Swart
  • 👤 James A. Balter

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 23:15
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5005; G06F9/5027; G06F9/505; G06F16/00; G06F16/90; G06F16/95; G06F16/957; H; H04; H04L; H04L43/00; H04L43/06; H04L43/065; H04L43/08; H04L43/0805; H04L43/0817; H04L43/16; H04L61/00; H04L61/30; H04L61/301; H04L61/45; H04L61/4505; H04L61/4511; H04L67/00; H04L67/01; H04L67/02; H04L67/10; H04L67/1001; H04L67/1004; H04L67/1006; H04L67/1008; H04L67/101; H04L67/1012; H04L67/1014; H04L67/1019; H04L67/1021; H04L67/1023; H04L67/1025; H04L67/1036; H04L67/1095; H04L67/12; H04L67/125; H04L67/2866; H04L67/2895; H04L67/50; H04L67/56; H04L67/561; H04L67/563; H04L67/564; H04L67/568; H04L67/5682; H04L67/60; H04L67/61; H04L9/00; H04L9/40; G06F2209/00; G06F2209/50; G06F2209/509; H04L67/10015

Claims Analysis

Total Claims: 34
Claim 1
Independent Claim 145 words
A method of processing resource requests in a computer network, the method comprising, (i) by a client: (A) making a request for a particular resource from an origin server, the request including a resource identifier for the particular resource; (ii) by a reflector: (B) intercepting the request from the client to the origin server; (C) selecting a repeater to process the request, wherein the repeater is selected based on a predicted cost or speed of transmission between the repeater and the client; (D) providing to the client a modified resource identifier designating the repeater; (iii) by the client: (E) receiving the modified resource identifier from the reflector; and (F) making a request for the particular resource from the repeater designated in the modified resource identifier; (iv) by the repeater: (G) receiving the request from the client; and (H) returning the requested resource to the client.
Claim 2
Independent Claim 145 words
A method of processing resource requests in a computer network, the method comprising, (i) by a client: (A) making a request for a particular resource from an origin server, the request including a resource identifier for the particular resource; (ii) by a reflector: (B) intercepting the request from the client to the origin server; (C) selecting a repeater to process the request, wherein the repeater is selected based on a predicted cost or speed of transmission between the repeater and the client; (D) providing to the client a modified resource identifier designating the repeater; (iii) by the client: (E) receiving the modified resource identifier from the reflector; and (F) making a request for the particular resource from the repeater designated in the modified resource identifier; (iv) by the repeater: (G) receiving the request from the client; and (H) returning the requested resource to the client.
Claim 3
Dependent Claim 31 words
A method as in claim 1 further comprising, by the repeater: (I) making a request for the resource from the origin server; and (J) receiving the resource from the origin server.
Claim 4
Dependent Claim 71 words
A method as in claim 1 wherein the selecting of a repeater by the reflector comprises: (C1) partitioning the network into groups; (C2) determining which group the client is in; (C3) selecting, from a plurality of repeaters in the network, a set of repeaters having a lowest cost relative to the group which the client is in; and (C4) selecting as the repeater a member of the selected set of repeaters.
Claim 5
Dependent Claim 29 words
A method as in claim 3 , wherein the cost of a repeater is a value based on that repeater's current load and a maximum load for that repeater.
Claim 6
Dependent Claim 34 words
A method as in claim 3 , wherein the cost of a repeater is a value based on a predicted cost or speed of transmission between the repeater and a client in the group.
Claim 7
Dependent Claim 55 words
A method as in claim 1 wherein the particular resource itself contains at least one other resource identifier of at least one other resource, the method further comprising: rewriting the particular resource to replace at least some of the resource identifiers contained therein with modified resource identifiers designating a repeater instead of the origin server.
Claim 8
Dependent Claim 21 words
A method as in claim 6 wherein the rewriting is performed by one of the repeater, the reflector or another repeater.
Claim 9
Independent Claim 122 words
A method of processing resource requests in a computer network, the method comprising, (i) by a client: (A) making a request for a particular resource from an origin server, the request including a resource identifier for the particular resource; (ii) by a reflector: (B) intercepting the request from the client to the origin server; (C) determining whether to reflect the request to a repeater; (D) when the reflector determines not to reflect the request, forwarding the request to the origin server, otherwise (D1) selecting a repeater to process the request, wherein the repeater is selected based on a predicted cost or speed of transmission between the repeater and the client; (D2) providing to the client a modified resource identifier designating the repeater.
Claim 10
Independent Claim 122 words
A method of processing resource requests in a computer network, the method comprising, (i) by a client: (A) making a request for a particular resource from an origin server, the request including a resource identifier for the particular resource; (ii) by a reflector: (B) intercepting the request from the client to the origin server; (C) determining whether to reflect the request to a repeater; (D) when the reflector determines not to reflect the request, forwarding the request to the origin server, otherwise (D1) selecting a repeater to process the request, wherein the repeater is selected based on a predicted cost or speed of transmission between the repeater and the client; (D2) providing to the client a modified resource identifier designating the repeater.
Claim 11
Dependent Claim 68 words
A method as in claim 8 , further comprising, when the reflector determines to reflect the request, (iii) by the client: (E) receiving the modified resource identifier from the reflector; and (F) making a request for the particular resource from the repeater designated in the modified resource identifier; (iv) by the repeater: (G) receiving the request from the client; and (H) returning the requested resource to the client.
Claim 12
Dependent Claim 27 words
A method as in claim 8 wherein the reflector determines whether to reflect a request by comparing the resource identifier with regular expression patterns of repeatable resources.
Claim 13
Dependent Claim 70 words
A method as in claim 8 , wherein the reflector has a threshold aggregate information rate (TAIR) associated therewith, and wherein the determining of whether to reflect the request to a repeater comprises: determining whether the TAIR of the reflector is exceeded by a measured aggregate information rate (MAIR) for the reflector, wherein the reflector determines not to reflect the request when the MAIR exceeds the TAIR for the reflector.
Claim 14
Dependent Claim 75 words
A method as in claim 8 , wherein the reflector has a threshold aggregate information rate (TAIR) associated therewith, and wherein the determining of whether to reflect the request to a repeater comprises: probabilistically determining whether the TAIR of the reflector is exceeded by a measured aggregate information rate (MAIR) for the reflector, wherein the reflector determines not to reflect the request as an exponential function of the difference between the MAIR and the TAIR.
Claim 15
Independent Claim 38 words
A method as in any of claims 11 - 12 , wherein the MAIR is obtained from repeaters according to the rate at which they have transmitted data on behalf of the reflector during a given time interval.
Claim 16
Independent Claim 68 words
A method as in any one of claims 1 - 12 wherein the network is the Internet and wherein the resource identifier is a uniform resource locator (URL) for designating resources on the Internet, and wherein the modified resource identifier is a URL designating the repeater and indicating the reflector or origin server, and wherein the modified resource identifier is provided to the client using a REDIRECT message.
Claim 17
Dependent Claim 89 words
In a computer network wherein clients request resources from origin servers, a method comprising: providing at least one repeater; providing reflectors at some of the origin servers, each reflector intercepting client resource requests made to its respective origin server; and each reflector selectively redirecting client resource requests for certain resources to one of the repeaters, wherein a reflector determines whether or not to redirect a client resource to a repeater based on a predicted cost or speed of transmission between the repeater and the client making the resource request.
Claim 18
Dependent Claim 89 words
In a computer network wherein clients request resources from origin servers, a method comprising: providing at least one repeater; providing reflectors at some of the origin servers, each reflector intercepting client resource requests made to its respective origin server; and each reflector selectively redirecting client resource requests for certain resources to one of the repeaters, wherein a reflector determines whether or not to redirect a client resource to a repeater based on a predicted cost or speed of transmission between the repeater and the client making the resource request.
Claim 19
Dependent Claim 44 words
A method as in claim 15 further comprising, by repeaters in the network: servicing redirected client resource requests; and selectively maintaining copies of requested resources, whereby resources corresponding to redirected resource requests are selectively migrated from their origin servers to one or more repeaters.
Claim 20
Dependent Claim 80 words
A computer network comprising: a plurality of origin servers, at least some of the origin servers having reflectors associated therewith; a plurality of repeaters; and a plurality of clients, wherein each reflector is adapted to intercept resource requests made to its respective origin server and to selectively redirect the resource requests to a dynamically selected repeater, wherein a repeater is selected based on a predicted cost or speed of transmission between the repeater and the client making the resource request.
Claim 21
Dependent Claim 80 words
A computer network comprising: a plurality of origin servers, at least some of the origin servers having reflectors associated therewith; a plurality of repeaters; and a plurality of clients, wherein each reflector is adapted to intercept resource requests made to its respective origin server and to selectively redirect the resource requests to a dynamically selected repeater, wherein a repeater is selected based on a predicted cost or speed of transmission between the repeater and the client making the resource request.
Claim 22
Dependent Claim 114 words
In a computer network wherein clients request resources from origin servers, a reflector mechanism associated with an origin server, the reflector mechanism comprising: means for intercepting a resource request made by client of an origin server; means for analyzing the resource request to determine whether to service the request locally at the origin server; means for determining a best repeater in the network to service the request when the analyzing means determines that the request should not be serviced locally; and means for redirecting the client to the best repeater, wherein a repeater is selected based on a predicted cost or speed of transmission between the repeater and the client making the resource request.
Claim 23
Dependent Claim 114 words
In a computer network wherein clients request resources from origin servers, a reflector mechanism associated with an origin server, the reflector mechanism comprising: means for intercepting a resource request made by client of an origin server; means for analyzing the resource request to determine whether to service the request locally at the origin server; means for determining a best repeater in the network to service the request when the analyzing means determines that the request should not be serviced locally; and means for redirecting the client to the best repeater, wherein a repeater is selected based on a predicted cost or speed of transmission between the repeater and the client making the resource request.
Claim 24
Dependent Claim 74 words
A reflector mechanism as in claim 18 wherein the network is partitioned into groups and the means for determining the best repeater comprises: means for determining which group the client is in; means for selecting, from a plurality of repeaters in the network, a set of repeaters having a lowest cost relative to the group the client is in; and means for selecting as the best repeater a member of the set of repeaters.
Claim 25
Dependent Claim 35 words
A reflector mechanism as in claim 19 , wherein the cost of a repeater is a value based on a predicted cost or speed of transmission between the repeater and a client in the group.
Claim 26
Dependent Claim 29 words
A mechanism as in claim 19 , wherein the cost of a repeater is a value based on that repeaters current load and a maximum load for that repeater.
Claim 27
Dependent Claim 45 words
A reflector as in claim 18 wherein the resource itself contains resource identifiers, the repeater further comprising: means for rewriting the resource to replace at least some of the resource identifiers contained therein with modified resource identifiers designating the repeater instead of the origin server.
Claim 28
Dependent Claim 46 words
A reflector as in claim 18 wherein the resource itself contains resource identifiers, the reflector further comprising: means for rewriting the resource to replace at least some of the resource identifiers contained therein with modified resource identifiers designating the best repeater instead of the origin server.
Claim 29
Dependent Claim 84 words
In a computer network wherein clients request resources from origin servers, a repeater mechanism comprising: means for receiving a resource request from a client; means for determining whether the resource is available locally; means for, when it is determined that the resource is not available locally, obtaining the resource from an origin server, wherein the origin server is selected based on a predicted cost or speed of transmission between the origin server and the client; and means for providing the resource to the client.
Claim 30
Dependent Claim 84 words
In a computer network wherein clients request resources from origin servers, a repeater mechanism comprising: means for receiving a resource request from a client; means for determining whether the resource is available locally; means for, when it is determined that the resource is not available locally, obtaining the resource from an origin server, wherein the origin server is selected based on a predicted cost or speed of transmission between the origin server and the client; and means for providing the resource to the client.
Claim 31
Independent Claim 176 words
A method of processing resource requests in a computer network, the method comprising, by a client, making a request for a particular resource from an origin server, the request including a resource identifier for the particular resource, and wherein the particular resource itself contains at least one other resource identifier of at least one other resource; a reflector intercepting the request from the client to the origin server; selecting a repeater to process the request, wherein the repeater is selected based on a predicted cost or speed of transmission between the repeater and the client; rewriting the particular resource to replace at least some of the resource identifiers contained therein with modified resource identifiers designating a repeater instead of the origin server; providing to the client a modified resource identifier designating the repeater; the client receiving the modified resource identifier from the reflector; and making a request for the particular resource from the repeater designated in the modified resource identifier; the repeater receiving the request from the client; and returning the requested resource to the client.
Claim 32
Independent Claim 176 words
A method of processing resource requests in a computer network, the method comprising, by a client, making a request for a particular resource from an origin server, the request including a resource identifier for the particular resource, and wherein the particular resource itself contains at least one other resource identifier of at least one other resource; a reflector intercepting the request from the client to the origin server; selecting a repeater to process the request, wherein the repeater is selected based on a predicted cost or speed of transmission between the repeater and the client; rewriting the particular resource to replace at least some of the resource identifiers contained therein with modified resource identifiers designating a repeater instead of the origin server; providing to the client a modified resource identifier designating the repeater; the client receiving the modified resource identifier from the reflector; and making a request for the particular resource from the repeater designated in the modified resource identifier; the repeater receiving the request from the client; and returning the requested resource to the client.
Claim 33
Dependent Claim 21 words
A method as in claim 25 wherein the rewriting is performed by one of the repeater, the reflector or another repeater.
Claim 34
Independent Claim 68 words
A method as in any one of claims 25 - 26 wherein the network is the Internet and wherein the resource identifier is a uniform resource locator (URL) for designating resources on the Internet, and wherein the modified resource identifier is a URL designating the repeater and indicating the reflector or origin server, and wherein the modified resource identifier is provided to the client using a REDIRECT message.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-02-06 2004-08-07 2005-02-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-02-06 2008-08-07 2009-02-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-02-06 2012-08-07 2013-02-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag