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
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.
References Cited (Backward Citations)
US4495570A
Cited
US4594704A
Cited
US4839798A
Cited
US4726017A
Cited
US5287537A
Cited
US4920432A
Cited
US4949248A
Cited
US5594910A
Cited
US4949187A
Cited
US5341477A
Cited
US5471622A
Cited
US5633999A
Cited
US5172413A
Cited
US5550863A
Cited
US5253341A
Cited
US5590288A
Cited
US5442749A
Cited
US5528281A
Cited
US5410343A
Cited
US5371532A
Cited
US5291554A
Cited
US5634006A
Cited
US5442389A
Cited
US5508732A
Cited
US5550577A
Cited
US5550982A
Cited
US5442390A
Cited
US5414455A
Cited
GB2281793A
Cited
US5627829A
Cited
US5475615A
Cited
US5644714A
Cited
US5539621A
Cited
US5544327A
Cited
US5544313A
Cited
US5557317A
Cited
US5515511A
Cited
US5630067A
Cited
US5519435A
Cited
US5619648A
Cited
US5603026A
Cited
US5623656A
Cited
US5592611A
Cited
US5699513A
Cited
US5742762A
Cited
US5956716A
Cited
US5774668A
Cited
US5761663A
Cited
US5799141A
Cited
US5682512A
Cited
US5666362A
Cited
US5649186A
Cited
US5721914A
Cited
WO1997011429A1
Cited
US5572643A
Cited
US5625781A
Cited
US5671279A
Cited
US5659729A
Cited
US5870546A
Cited
US5828847A
Cited
US5734831A
Cited
US5715453A
Cited
US5991809A
Cited
US5774660A
Cited
US5796952A
Cited
US6065062A
Cited
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 |