Method for reducing the delay between the time a data page is requested and the time the data page is displayed
First Claim
1. A method for transferring and displaying data pages on a data network, said network being of a type on which data can be retrieved as pages, said network having at least one server on which said data pages are stored, a gateway connected to said at least one server, and a user station connected to said gateway by a data connection having a finite speed, said user station requesting one of said pages from said at least one server, said method comprising the steps of:
- sending a request from said user station to said gateway for retrieval of said data page from one of said at least one server;
recalling a base version of said data page;
initiating, in response to a determination that said base version is not current, a retrieval of said data page from said one of said at least one server to said gateway for transfer to said user station;
determining, after receipt at said gateway of a response to said request, a difference between said requested data page and said base version of said page;
transmitting said difference to said user station;
calculating at said user station said data page as a function of said base version and said difference;
determining a measure of efficiency of said difference determining and difference transmitting step;
when said measure of efficiency indicates that sending said requested data page in its entirety from said gateway to said user station is efficient, sending said requested data page in its entirety from said gateway to said user station, and displaying said requested data page at said user station; and
when said measure of efficiency indicates that sending said requested data page in its entirety from said gateway to said user is inefficient,displaying said calculated page at said user station;
comparing size of said difference to a minimum threshold, wherein said minimum threshold is represented by the equations;
space="preserve" listing-type="equation">T.sub.small <
Dand
space="preserve" listing-type="equation">D.sub.tot <
F(S,C,T.sub.large)where D represents a total number of unsent bytes of said difference data, including said difference data that has been generated but not sent;
Dtot represents a total number of bytes of difference data that has been generated;
C represents a number of byte of said requested data page that has already been processed;
S represents the size of the base version of said data page;
Tsmall represents a minimum threshold;
Tlarge represent a maximum threshold; and
F is a function of S,C, and Tlarge ; and
if said size of said difference exceeds said minimum threshold;
aborting said recalling and transmitting steps and said step of displaying said calculated page,sending said requested data page in its entirety from said gateway to said user station, anddisplaying said requested data page at said user station.
5 Assignments
0 Petitions
Accused Products
Abstract
The apparent speed of a connection between a browser at a user station and a proxy or gateway on a network such as the Internet is increased by providing a local proxy at the user station which interacts with a remote proxy. While the remote proxy is retrieving a newly requested World Wide Web page, for example, from the appropriate content provider, it may also be sending to the local proxy a stale cached version of that page. When the new version of the page is finally retrieved, the remote proxy determines the differences between the new version and the stale version, and, assuming the differences do not exceed the new page in size, sends the differences to the local proxy which then reconstructs the new page from the differences and the stale version. The local proxy delivers the new page to the browser, which need not even be aware that a local proxy exists; it is aware only that it received the page it requested. Because computational speed and power are frequently higher and cheaper than transmission speed, the apparent speed of the connection between the user station and the network has been increased at modest cost.
-
Citations
31 Claims
-
1. A method for transferring and displaying data pages on a data network, said network being of a type on which data can be retrieved as pages, said network having at least one server on which said data pages are stored, a gateway connected to said at least one server, and a user station connected to said gateway by a data connection having a finite speed, said user station requesting one of said pages from said at least one server, said method comprising the steps of:
-
sending a request from said user station to said gateway for retrieval of said data page from one of said at least one server; recalling a base version of said data page; initiating, in response to a determination that said base version is not current, a retrieval of said data page from said one of said at least one server to said gateway for transfer to said user station; determining, after receipt at said gateway of a response to said request, a difference between said requested data page and said base version of said page; transmitting said difference to said user station; calculating at said user station said data page as a function of said base version and said difference; determining a measure of efficiency of said difference determining and difference transmitting step; when said measure of efficiency indicates that sending said requested data page in its entirety from said gateway to said user station is efficient, sending said requested data page in its entirety from said gateway to said user station, and displaying said requested data page at said user station; and when said measure of efficiency indicates that sending said requested data page in its entirety from said gateway to said user is inefficient, displaying said calculated page at said user station; comparing size of said difference to a minimum threshold, wherein said minimum threshold is represented by the equations;
space="preserve" listing-type="equation">T.sub.small <
Dand
space="preserve" listing-type="equation">D.sub.tot <
F(S,C,T.sub.large)where D represents a total number of unsent bytes of said difference data, including said difference data that has been generated but not sent;
Dtot represents a total number of bytes of difference data that has been generated;
C represents a number of byte of said requested data page that has already been processed;
S represents the size of the base version of said data page;
Tsmall represents a minimum threshold;
Tlarge represent a maximum threshold; and
F is a function of S,C, and Tlarge ; andif said size of said difference exceeds said minimum threshold; aborting said recalling and transmitting steps and said step of displaying said calculated page, sending said requested data page in its entirety from said gateway to said user station, and displaying said requested data page at said user station. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method for transferring and displaying data pages on a data network, said network being of a type on which data can be retrieved as pages, said network having at least one server on which said data pages are stored, a gateway connected to said at least one server, and a user station connected to said gateway by a data connection having a finite speed, said user station requesting one of said pages from said at least one server, said method comprising the steps of:
-
sending a request from said user station to said gateway for retrieval of said data page from one of said at least one server; recalling a base version of said data page; initiating, in response to a determination that said base version is not current, a retrieval of said data page from said one of said at least one server to said gateway for transfer to said user station; determining, after receipt at said gateway of a response to said request, a difference between said requested data page and said base version of said page, wherein said determining step further includes the steps of; awaiting completion of retrieval of a predetermined portion of said data page from said one of said at least one server; comparing said retrieved predetermined portion of said data page to said base version of said data page; generating a partial difference between said data page and said base version of said data page, wherein said generating step includes the steps of; comparing transmission size of said partial difference to a minimum threshold wherein said comparing step is represented by the equations;
space="preserve" listing-type="equation">T.sub.small <
Dand
space="preserve" listing-type="equation">D.sub.tot <
F(S,C,T.sub.large)where D represents a total number of unsent bytes of said difference data, including said difference data that has been generated by not sent;
Dtot represents a total number of bytes of difference data that has been generated;
C represents a number of byte of said requested data page that has already been processed;
S represents the size of the base version of said data page;
Tsmall represents a minimum threshold;
Tlarge represent a maximum threshold; and
F is a function of S,C, and Tlarge ;transmitting said partial difference to said user station when said transmission size of said partial difference exceeds said minimum threshold; and when said transmission size of said partial difference is less than said minimum threshold; comparing at least one additional retrieved predetermined portion of said data page to a base version of said data page to generate at least one additional partial difference between said data page and said base version of said data page; adding transmission size of said at least one additional partial difference to transmission size of said held partial difference until a sum of said transmission sizes exceeds said minimum threshold; and transmitting said held partial difference and said at least one additional partial difference to said user station; and repeating said awaiting and comparing step for additional predetermined portions of said data page; transmitting said difference to said user station; calculating at said user station said data page as a function of said base version and said difference; and displaying said calculated page at said user station. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31)
-
Specification