Optimized network resource location
AssigneeDigital Island, Inc.
InventorsDavid A. Farber, Richard E. Greer, Andrew D. Swart, James A. Balter
Life of this patent
Estimating the term…
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.
Claims27
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.
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.
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.
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.
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.
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.
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.
Dependencies are inferred from the claim text.