Method of transcoding documents in a network environment using a proxy server
First Claim
1. In a proxying server coupled to a client and to a remote server, the proxying server operating as a proxy on behalf of the client for accessing the remote server, a method of retrieving and transcoding a document requested by the client, the method comprising the steps of:
- receiving, at the proxying server, a request for the document from the client, wherein the document resides at the remote server;
retrieving the document, the document including data for causing the client to generate a display of the document;
transcoding, at the proxying server, at least a portion of the document in order to perform at least one function selected from the following functions;
matching decompression requirements at the client;
converting the document into a format compatible for the client;
reducing latency experienced by the client; and
altering the document to fit into smaller memory space; and
transmitting the document to the client.
4 Assignments
0 Petitions
Accused Products
Abstract
A method is described of providing a document to a client coupled to a server. The server functions as a proxy on behalf of the client for purposes of accessing a remote server. In the method, a document is retrieved from the remote server in response to a request from the client. The document includes data to be used by the client in generating a display. The proxying server alters (i.e., transcodes) the data in the document to form a transcoded document. The transcoded document is then transmitted to the client. The proxying server transcodes the data in the document in order to perform at least one of the following functions: (1) matching decompression requirements at the client; (2) converting the document into a format compatible for the client; (3) reducing latency experienced by the client; and (4) altering the document to fit into smaller memory space.
-
Citations
31 Claims
-
1. In a proxying server coupled to a client and to a remote server, the proxying server operating as a proxy on behalf of the client for accessing the remote server, a method of retrieving and transcoding a document requested by the client, the method comprising the steps of:
-
receiving, at the proxying server, a request for the document from the client, wherein the document resides at the remote server;
retrieving the document, the document including data for causing the client to generate a display of the document;
transcoding, at the proxying server, at least a portion of the document in order to perform at least one function selected from the following functions;
matching decompression requirements at the client;
converting the document into a format compatible for the client;
reducing latency experienced by the client; and
altering the document to fit into smaller memory space; and
transmitting the document to the client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
identifying an image referenced by the document;
determining whether the image has been previously retrieved by the proxying server; and
if the image has been previously retrieved by the proxying server, accessing information stored in the proxying server indicating the size of the image;
wherein the step of transcoding, at the proxying server, the data in the document is conducted in order to perform at least the function of reducing latency experienced by the client, and comprises the step of using the information indicating the size of the image to revise the data of the document to allow the document to be partially displayed by the client before the image is received by the client.
-
-
14. A method according to claim 13, wherein the step of transcoding, at the proxying server, the data in the document comprises the following step:
-
if the image has been previously retrieved by the proxying server, transcoding at the proxying server the data in the document without the image but providing a space for the image to be later inserted; and
wherein the step of transmitting the document to the client comprises the following steps;
transmitting the document to the client without the image but providing the space for the image to be later inserted; and
after transmitting the document to the client without the image, transmitting the image to the client.
-
-
15. In a proxying server coupled to a client and to a remote server, the proxying server operating as a proxy on behalf of the client for accessing the remote server, a method of retrieving and transcoding a document requested by the client, the method comprising the steps of:
-
providing a persistent database at the proxying server, the persistent database including information relating to the document;
receiving, at the proxying server, a request for the document from the client, wherein the document resides at the remote server;
retrieving the document, the document including data for causing the client to generate a display of the document;
transcoding, at the proxying server, at least a portion of the document using the information included in the persistent database in order to perform at least one function selected from the following functions;
matching decompression requirements at the client;
converting the document into a format compatible for the client;
reducing latency experienced by the client; and
altering the document to fit into smaller memory space; and
transmitting the document to the client. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24)
retrieving the document from the persistent database if the validity information corresponding to the document indicates that the document is valid; and
retrieving the document from the remote server if the validity information corresponding to the document indicates that the document is not valid.
-
-
18. A method according to claim 16, wherein the step of storing in the persistent database validity information corresponding to the document comprises the step of observing a rate of change of the document.
-
19. A method according to claim 18, wherein the step of observing a frequency of change of the document comprises the step of periodically retrieving the document, wherein successive retrievals of the document are separated in time by at least a time interval.
-
20. A method according to claim 19, wherein the step of periodically retrieving the document comprises the following steps:
-
retrieving the document at a first time;
storing the document retrieved at the first time in a memory;
retrieving the document at a second time, the second time being at least the time interval after the first time;
determining whether the document retrieve at the second time has changed compared to the document retrieved at the first time;
if the document retrieved at the second time is different than the document retrieved at the first time, replacing the document retrieved at the first time with the document retrieved at the second time in the memory; and
if the document retrieved at the second time is the same as the document retrieved at the first time, extending the time interval.
-
-
21. A method according to claim 15, further comprising the step of storing in the persistent database performance information relating to performance of the remote server when accessing the document.
-
22. A method according to claim 21, wherein the performance information comprises a latency value.
-
23. A method according to claim 15, further comprising the step of storing in the persistent database information for optimizing memory usage by the client.
-
24. A method according to claim 15, wherein the step of retrieving the document comprises the following steps:
-
determining whether a redirect address corresponding to the document is stored in the persistent database;
if the redirect address corresponding to the document is stored in the persistent database, accessing the remote server using the redirect address, the remote server corresponding to the redirect address; and
if the redirect address corresponding to the document is not stored in the persistent database, the method further comprises the following steps;
accessing a previous remote server at which the document previously resided;
obtaining the redirect address from the previous remote server;
storing the redirect address in the persistent database; and
accessing the remote server using the redirect address.
-
-
25. A computer program product for implementing, in a proxying server coupled to a client and to a remote server, a method of retrieving and transcoding a document requested by the client, the computer program product comprising a computer-readable medium carrying computer-executable instructions for causing the proxying server to perform acts included in the method, said acts comprising:
-
receiving, at the proxying server, a request for the document from the client, wherein the document resides at the remote server;
retrieving the document, the document including data for causing the client to generate a display of the document;
transcoding, at the proxying server, at least a portion of the document in order to perform at least one function selected from the following functions;
matching decompression requirements at the client;
converting the document into a format compatible for the client;
reducing latency experienced by the client; and
altering the document to fit into smaller memory space; and
transmitting the document to the client. - View Dependent Claims (26, 27, 28, 29, 30, 31)
program code means for transcoding at least a portion of the document so as to match decompression requirements at the client;
program code means for transcoding at least a portion of the document so as to convert the document into a format compatible with the client;
program code means for transcoding at least a portion of the document so as to reduce latency experienced by the client; and
program code means for transcoding at least a portion of the document so as to alter the document to fit into smaller memory space.
-
-
27. A computer program product according to claim 26, wherein the act of transcoding comprises selecting at least one of said plurality of program code means for transcoding for use in the act of transcoding.
-
28. A computer program product according to claim 25, wherein the act of transcoding is performed while the act of retrieving the document is performed.
-
29. A computer program product according to claim 25, wherein the act of transcoding comprises reading at least a portion of the document from a proxy cache located in the proxying server.
-
30. A computer program product according to claim 25, wherein the act of transmitting the document to the client is performed prior to performing the act of transcoding.
-
31. A computer program product according to claim 25, wherein the act of transmitting the document to the client comprises the act of transmitting the transcoded document to the client, wherein the act of transmitting the document to the client is performed after the act of transcoding.
Specification