System and method of optimizing retrieval of network resources by identifying and substituting embedded symbolic host name references with network addresses in accordance with substitution policies
First Claim
1. A method of optimizing retrieval of electronic documents, comprising the computer-implemented steps of:
- receiving and routing network packets;
extracting a first electronic document from the network packets;
identifying one or more symbolic references to other electronic documents within the first electronic document;
determining a network address of each of the other electronic documents corresponding to each of the symbolic references;
creating and storing a modified copy of the first electronic document in which the network address is substituted for each corresponding symbolic reference in accordance with one or more substitution policies;
delivering the modified copy of the first electronic document in response to all subsequent client requests for the first electronic document, thereby greatly reducing the required number of network address lookup operations;
wherein the step of determining a network address of each of the other electronic documents corresponding to each of the symbolic references comprises load balancing by the steps of successively selecting a different one of a plurality of pre-determined network addresses of a plurality of servers for substitution for successive identical symbolic references.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus are provided for optimizing retrieval of network resources. In one embodiment, a method of optimizing access to a network resource is implemented in a computer program executed by a router, cache server, or proxy server. A network resource that contains one or more embedded symbolic host name references is received. A network address corresponding to each of the embedded symbolic host name references is determined. A modified copy of the network resource is created and stored; in the modified copy, a network address is substituted for each corresponding embedded symbolic host name reference. Thereafter, the modified copy of the network resource in responding to all subsequent client requests for the network resource, thereby greatly reducing the required number of network address lookup operations. In one specific embodiment, IP addresses are determined using DNS queries for the hostname portion of all URLs that are embedded in a Web page using image, applet, object, or embed tags. The IP addresses are stored in place of the hostname portions in a modified copy of the Web page, typically in a cache. As a result, when the modified page is subsequently served to clients, the clients need not carry out DNS resolution of all the embedded URLs, resulting in reduced network message traffic and more rapid page display.
-
Citations
28 Claims
-
1. A method of optimizing retrieval of electronic documents, comprising the computer-implemented steps of:
-
receiving and routing network packets; extracting a first electronic document from the network packets; identifying one or more symbolic references to other electronic documents within the first electronic document; determining a network address of each of the other electronic documents corresponding to each of the symbolic references; creating and storing a modified copy of the first electronic document in which the network address is substituted for each corresponding symbolic reference in accordance with one or more substitution policies; delivering the modified copy of the first electronic document in response to all subsequent client requests for the first electronic document, thereby greatly reducing the required number of network address lookup operations; wherein the step of determining a network address of each of the other electronic documents corresponding to each of the symbolic references comprises load balancing by the steps of successively selecting a different one of a plurality of pre-determined network addresses of a plurality of servers for substitution for successive identical symbolic references. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 26)
-
-
11. A method of optimizing access to a network resource, comprising the computer-implemented steps of:
-
receiving a network resource that contains one or more embedded symbolic host name references; determining a network address corresponding to each of the embedded symbolic host name references; creating and storing on a cache server a modified copy of the network resource in which a network address is substituted for each corresponding embedded symbolic host name reference in accordance with one or more substitution policies; using the modified copy of the network resource in responding to all subsequent client requests for the network resource, thereby greatly reducing the required number of network address lookup operations; wherein the step of determining a network address corresponding to each of the embedded symbolic host name references comprises load balancing by the steps of successively selecting a different one of a plurality of pre-determined network addresses of a plurality of servers for substitution for successive identical embedded symbolic host name references.
-
-
12. A router that includes a stored program comprising one or more sequences of instructions for optimizing retrieval of network resources, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
receiving and routing network packets; extracting data packets of a network resource that contains one or more embedded symbolic host name references; determining a network address corresponding to each of the embedded symbolic host name references; creating and storing on the router a modified copy of the network resource in which a network address is substituted for each corresponding embedded symbolic host name reference in accordance with one or more substitution policies; using the modified copy of the network resource in delivering the network resource to a client, thereby greatly reducing the required number of network address lookup operations; wherein the step of determining a network address corresponding to each of the embedded symbolic host name references comprises load balancing by the steps of successively selecting a different one of a plurality of pre-determined network addresses of a plurality of servers for substitution for successive identical embedded symbolic host name references.
-
-
13. A cache server that includes a computer-readable medium carrying one or more sequences of instructions for optimizing retrieval of network resources, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
receiving a network resource that contains one or more embedded symbolic host name references; determining a network address corresponding to each of the embedded symbolic host name references; creating and storing on the cache server a modified copy of the network resource in which a network address is substituted for each corresponding embedded symbolic host name reference in accordance with one or more substitution policies; using the modified copy of the network resource in responding to all subsequent client requests for the network resource, thereby greatly reducing the required number of network address lookup operations; wherein the step of determining a network address corresponding to each of the embedded symbolic host name references comprises load balancing by the steps of successively selecting a different one of a plurality of pre-determined network addresses of a plurality of servers for substitution for successive identical embedded symbolic host name references.
-
-
14. A proxy server that includes a computer-readable medium carrying one or more sequences of instructions for optimizing retrieval of network resources, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
receiving a network resource that contains one or more embedded symbolic host name references; determining a network address corresponding to each of the embedded symbolic host name references; creating and storing on the proxy server a modified copy of the network resource in which a network address is substituted for each corresponding embedded symbolic host name reference in accordance with one or more substitution policies; using the modified copy of the network resource in responding to all subsequent client requests for the network resource, thereby greatly reducing the required number of network address lookup operations; wherein the step of determining a network address corresponding to each of the embedded symbolic host name references comprises load balancing by the steps of successively selecting a different one of a plurality of pre-determined network addresses of a Plurality of servers for substitution for successive identical embedded symbolic host name references.
-
-
15. An apparatus for optimizing retrieval of electronic documents, comprising:
-
means for receiving and routing network packets; means for extracting a first electronic document from the network packets; means for identifying one or more symbolic references to other electronic documents within the first electronic document; means for determining a network address of each of the other electronic documents corresponding to each of the symbolic references; means for creating and storing on a cache server a modified copy of the first electronic document in which the network addresses are substituted for all corresponding symbolic references in accordance with one or more substitution policies; means for delivering the modified copy of the first electronic document in response to all subsequent client requests for the first electronic document, thereby greatly reducing the required number of network address lookup operations; wherein the step of determining a network address of each of the other electronic documents corresponding to each of the symbolic references comprises load balancing by the steps of successively selecting a different one of a plurality of pre-determined network addresses of a plurality of servers for substitution for successive identical symbolic references.
-
-
16. A computer-readable medium carrying one or more sequences of instructions for optimizing retrieval of network resources, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
receiving and routing network packets; extracting a first electronic document from the network packets; identifying one or more symbolic references to other electronic documents within the first electronic document; determining a network address of each of the other electronic documents corresponding to each of the symbolic references; creating and storing a modified copy of the first electronic document in which a network address is substituted for each corresponding symbolic reference in accordance with one or more substitution policies; using the modified copy of the first electronic document in responding to all subsequent client requests for the first electronic document, thereby greatly reducing the required number of network address lookup operations; wherein the step of determining a network address of each of the other electronic documents corresponding to each of the symbolic references comprises load balancing by the steps of successively selecting a different one of a plurality of pre-determined network addresses of a plurality of servers for substitution for successive identical symbolic references. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
27. A method of optimizing retrieval of electronic documents, comprising the computer-implemented steps of:
-
receiving and routing network packets; extracting a first electronic document from the network packets; identifying one or more symbolic host names contained only in one or more embedded Universal Resource Locators (URLs) within the first electronic document; determining a network address of each host corresponding to each of the symbolic host names; creating and storing on a cache server a modified copy of the first electronic document in which the network address is substituted for each of the symbolic host names in accordance with one or more substitution policies; delivering the modified copy of the electronic document in response to all subsequent client requests for the first electronic document, thereby greatly reducing the required number of network address lookup operations; wherein the step of determining a network address of each host corresponding to each of the symbolic host names comprises load balancing by the steps of successively selecting a different one of a plurality of pre-determined network addresses of a plurality of servers for substitution for successive identical symbolic host names. - View Dependent Claims (28)
-
Specification