Distributed system and method for prefetching objects
First Claim
1. In an internet access system that includes a communications link, the communications link having a client side and having a server side which is remote from the client side, a method of processing a client request for a document that includes an inline object, the client request generated by a client and directed to a document server, the document comprising a base component which includes a reference to the inline object, the method comprising:
- on the client side of the communications link;
(a) receiving the client request and forwarding the request over the communications link to the server side;
on the server side of the communications link;
(b) receiving the client request, and forwarding the request to the document server over an internet;
(c) receiving the base component from the document server, parsing the base component to identify the reference to the object, and forwarding the base component over the communications link to the client side for delivery to the client; and
(d) prefetching the inline object from the document server using the reference identified in step (c), and, without waiting for the client to request the object, forwarding the object over the communications link to the client side for delivery to client;
wherein said prefetching is initiated on the server side of the communications link, transparently to the client.
2 Assignments
0 Petitions
Accused Products
Abstract
In an internet access system which includes a satellite link, a distributed proxy server (68) is provided which reduces a delay associated with the retrieval of inline objects of web pages. The distributed proxy server (68) includes an access point component (70) and a satellite gateway component (72). The access point component (70) runs on the client (browser) side of the satellite link and communicates with web browsers (20A-20N). The satellite gateway component (72) runs on the internet side of the satellite link and communicates with web servers (26). As a web page is retrieved over the satellite link, the satellite gateway component (72) parses the base file component of the web page to identify any references to inline objects of the web page, and prefetches each such inline object. The distributed proxy server thereby eliminates the delays normally associated with (a) waiting for the web browser (20) to receive the base component and request the object(s), and (b) waiting for the browser'"'"'s object request(s) to be transmitted over the satellite link. The prefetched objects are transmitted over the satellite link to the access point component (70), which in-turn stores the prefetched objects in an object cache (71). When a web browser (20) requests an inline object, the access point component (70) checks the cache (71), and if the object resides therein, returns the object to the browser (20) without forwarding the object request over the satellite link. Traffic over the forward satellite link is thus reduced. The method implemented by the distributed proxy server (68) can also be used to reduce delays and traffic over other types of links, including non-wireless links.
144 Citations
50 Claims
-
1. In an internet access system that includes a communications link, the communications link having a client side and having a server side which is remote from the client side, a method of processing a client request for a document that includes an inline object, the client request generated by a client and directed to a document server, the document comprising a base component which includes a reference to the inline object, the method comprising:
-
on the client side of the communications link;
(a) receiving the client request and forwarding the request over the communications link to the server side;
on the server side of the communications link;
(b) receiving the client request, and forwarding the request to the document server over an internet;
(c) receiving the base component from the document server, parsing the base component to identify the reference to the object, and forwarding the base component over the communications link to the client side for delivery to the client; and
(d) prefetching the inline object from the document server using the reference identified in step (c), and, without waiting for the client to request the object, forwarding the object over the communications link to the client side for delivery to client;
wherein said prefetching is initiated on the server side of the communications link, transparently to the client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 27)
receiving and caching the object forwarded in step (d); and
in response to a client request for the object, forwarding the object to the client.
-
-
3. The method of claim 2, further comprising the step of intercepting said client request for the object on the client side of the communications link to prevent the client request for the object from being transmitted over the communications link.
-
4. The method of claim 1, wherein the communications link is a satellite link, and the method avoids a delay normally associated with sending a client request for the object over the satellite link.
-
5. The method of claim 4, further comprising sending a prefetch notification message from the server side to the client side to notify an entity on the client side that the object is being prefetched.
-
6. The method of claim 1, further comprising repeating step (d) for each of a plurality of additional inline objects of the document.
-
7. The method of claim 1, wherein step (a) comprises communicating with a web browser program using a standard internet protocol.
-
8. The method of claim 1, wherein the document includes a hypertextual link to a second document, and the method further comprises prefetching the second document on the server side and forwarding the second document to the client side.
-
27. The method of claim 1, wherein said prefetching is further initiated transparently to the document server.
-
9. In a client-server type document retrieval system in which inline objects of documents are requested and retrieved separately from base components of the documents, a distributed system for reducing a performance degradation caused by a communications link, the distributed system comprising:
-
a first component which runs on a client side of the communications link and communicates with clients, the first component adapted to receive document requests from the clients and to forward the requests over the communications link for processing; and
a second component which runs remotely from the first component on a server side of the communications link and communicates with document servers, the second component adapted to receive the document requests from the first component over the communications link and to forward the requests to the document servers, the requests causing the document servers to return base components of requested documents;
wherein the second component processes base components returned by the document servers by at least (i) parsing the base components to identify references to inline objects, (ii) prefetching the inline objects, and (iii) forwarding the prefetched inline objects to the first component without waiting for client requests for the inline objects;
and wherein the first component stores prefetched inline objects received from the second component in a cache memory, and responds to object requests from the clients by forwarding the inline objects to the clients from the cache memory;
wherein the inline objects are prefetched transparently to the clients. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 28)
-
-
17. In an internet access system which includes a satellite link, the satellite link having a browser side and having an internet side which is remote from the browser side, a method of processing a document request for a web document that includes an inline object, the document request generated by a web browser and directed to a web server, the document comprising a base file component which includes a reference to the inline object, the method comprising:
-
on the browser side of the satellite link;
(a) receiving the document request and forwarding the request over the satellite link to the internet side;
(b) receiving the inline object over the satellite link from the web server, and storing the inline object in a memory;
(c) receiving a request for the object from the browser, and in response thereto, forwarding the object to the browser from the memory;
on the internet side of the satellite link;
(d) receiving the document request, and forwarding the document request to the web server over an internet;
(e) receiving the base component from the web server, parsing the base component to identify the reference to the object, and forwarding the base component over the satellite link to the browser side for delivery to the browser; and
(f) prefetching the inline object from the web server using the reference identified in step (e), and, without waiting for a request for the inline object from the browser, forwarding the object over the satellite link to the browser side for delivery to browser. - View Dependent Claims (18, 19, 20, 29)
-
-
21. A method of data transfer over a communication path comprising a link which passes digital data, comprising the steps of:
-
receiving an initial request for a data file from a requesting unit at an access point;
forwarding said initial request over said link from said access point to a gateway which is remote from said access point;
forwarding said initial request over a data network from said gateway;
receiving said data file over said data network at said gateway;
forwarding said data file from said gateway to said access point;
forwarding said data file from said access point to said requesting unit;
at said gateway, parsing said data file to determine inclusion of a reference to an external data file, and in response to detection of the reference, generating and transmitting over said data network a surrogate request for said external data file;
receiving said external data file over said data network at said gateway in fulfillment of said surrogate request;
forwarding said external data file from said gateway to said access point;
receiving a request for said external data file from said requesting unit at said access point; and
in response to said request from the requesting unit for said external data file, forwarding said external data file from said access point to said requesting unit. - View Dependent Claims (22, 23, 24, 25, 26, 30, 31, 32)
-
-
33. A system for providing Internet access via satellite, comprising:
-
an access point coupled to a plurality of web browsers; and
a satellite gateway coupled to the access point by a wireless satellite link, wherein the satellite gateway is remote from the web browsers and the access point, and is connected to the Internet such that the access point, the wireless satellite link, and the satellite gateway collectively provide a communications path between the web browsers and the Internet;
wherein the satellite gateway parses parent files of web pages requested by the web browsers to identify references to inline objects of such web pages, and in response to detection of a reference to an inline object, prefetches the inline object and forwards the inline object over the satellite link to the access point for delivery to a web browser. - View Dependent Claims (34, 35, 36, 37, 38, 39)
-
-
40. In an Internet access system comprising a wireless satellite link having a client side and a server side which is remote from the client side, a method of reducing a delay associated with the retrieval of a web page which contains an object, the method comprising, on the server side of the satellite link:
-
retrieving a parent file of the web page from a remote web server in response to a request from a browser on the client side of the satellite link;
parsing the parent file of the web page to identify a reference to the object; and
in response to detection of the reference, prefetching the object from a web server, and forwarding the object over the satellite link to the client side for delivery to the browser;
whereby a need for the browser to retrieve the object over the satellite link following receipt of the parent file is avoided. - View Dependent Claims (41, 42, 43, 44, 45)
-
-
46. In an Internet access system comprising a satellite link having a client side and a server side, a method of retrieving a web page which contains an object, the method comprising, on the client side of the satellite link:
-
transmitting a browser request for a parent file of the web page over the satellite link to the server side;
receiving the parent file over the satellite link, and forwarding the parent file to a browser;
receiving over the satellite link the object as prefetched on the server side of the satellite link; and
responding to a request for the object from the browser by (a) returning the object to the browser from the memory, and (b) preventing the request for the object from being transmitted over the satellite link. - View Dependent Claims (47, 48, 49, 50)
-
Specification