CGI response differencing communication system
First Claim
1. A method of reducing the data transmitted over a communication link from a first application resident in a first computer and from a second application resident in a second computer wherein the data is transmitted over an external communication link between the first computer and the second computer, the method comprising:
- storing HTML data from the first application to be provided to the second application in response to specific data in a CGI request from the second application in a cache resident in the first computer to create a server base cache entry;
storing HTML data to be provided to the second application in response to the specific data in the CGI request from the second application in a cache resident in the second computer to create a client base cache entry;
evaluating CGI requests and specific data associated with the CGI requests from the second application to determine if a client base cache entry corresponding to the evaluated CGI request and specific data exists to provide a client base form;
interrogating CGI requests and specific data associated with the CGI requests from the second application to determine if a server base cache entry corresponding to the interrogated CGI request and specific data exists to provide a server base form;
intercepting the data stream corresponding to the response HTML data from the first application in response to the interrogated CGI request and the specific data from the second application prior to transmission of the response HTML data on the external communication link;
comparing the intercepted response HTML data to the server base form to provide difference data corresponding to the difference between the intercepted response and the server base form;
sending the difference data to the second computer over the external communication link;
acquiring the difference data transmitted over the external communication link sent by the first computer;
reconstructing the response HTML data corresponding to the communication from the first application from the client/server specific data stream received over the external communication link by combining the client base form with the difference data received over the external communication link to create a response data stream corresponding to the intercepted response; and
providing the reconstructed data stream corresponding to the intercepted response HTML data to the second application.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, apparatus and computer program product for reducing the data transmitted over a communication link from a first application resident in a first computer and to a second application resident in a second computer wherein the data is transmitted over an external communication link. HTML data in response to specific data in a CGI request is stored in a cache resident in the first computer to create a server base cache entry. HTML data in response to the specific data in the CGI request is also stored in a cache resident in the second computer to create a client base cache entry. CGI requests and specific CGI data is evaluated to determine if a corresponding client base cache entry exists to provide a client base form. CGI requests and specific CGI data are interrogated to determine if a server base cache entry exists to provide a server base form. The data stream corresponding to the response HTML data is intercepted and compared to the server base form to provide difference data. The difference data is then sent to the second computer over the external communication link. The response HTML data is reconstructed from the client/server specific data stream received over the external communication link by combining the client base form with the difference data and provided to the second application. Creation of an extended cache key corresponding to the CGI form and the user input data is also provided.
-
Citations
18 Claims
-
1. A method of reducing the data transmitted over a communication link from a first application resident in a first computer and from a second application resident in a second computer wherein the data is transmitted over an external communication link between the first computer and the second computer, the method comprising:
-
storing HTML data from the first application to be provided to the second application in response to specific data in a CGI request from the second application in a cache resident in the first computer to create a server base cache entry; storing HTML data to be provided to the second application in response to the specific data in the CGI request from the second application in a cache resident in the second computer to create a client base cache entry; evaluating CGI requests and specific data associated with the CGI requests from the second application to determine if a client base cache entry corresponding to the evaluated CGI request and specific data exists to provide a client base form; interrogating CGI requests and specific data associated with the CGI requests from the second application to determine if a server base cache entry corresponding to the interrogated CGI request and specific data exists to provide a server base form; intercepting the data stream corresponding to the response HTML data from the first application in response to the interrogated CGI request and the specific data from the second application prior to transmission of the response HTML data on the external communication link; comparing the intercepted response HTML data to the server base form to provide difference data corresponding to the difference between the intercepted response and the server base form; sending the difference data to the second computer over the external communication link; acquiring the difference data transmitted over the external communication link sent by the first computer; reconstructing the response HTML data corresponding to the communication from the first application from the client/server specific data stream received over the external communication link by combining the client base form with the difference data received over the external communication link to create a response data stream corresponding to the intercepted response; and providing the reconstructed data stream corresponding to the intercepted response HTML data to the second application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of generating a base form for a CGI response differencing communication system, the method comprising:
-
storing the input elements of a CGI input form; storing the parameters of a request using the CGI input form; receiving the response to the request using the CGI input form; generating an extended cache key from the URL of the CGI request, the input elements of the CGI input form and the parameters of the CGI request using the CGI input form; and storing as an entry in a cache the response to the request using the extended cache key as a key to the cache entry. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. An apparatus for reducing the data transmitted over a communication link from a first application resident in a first computer and to a second application resident in a second computer wherein the data is transmitted over an external communication link from the first computer to the second computer comprising:
-
means for storing HTML data from the first application to be provided to the second application in response to specific data in a CGI request from the second application in a cache resident in the first computer to create a server base cache entry; means for storing HTML data to be provided to the second application in response to the specific data in the CGI request from the second application in a cache resident in the second computer to create a client base cache entry; means for evaluating CGI requests and specific data associated with the CGI requests from the second application to determine if a client base cache entry corresponding to the evaluated CGI request and specific data exists to provide a client base form; means for interrogating CGI requests and specific data associated with the CGI requests from the second application to determine if a server base cache entry corresponding to the interrogated CGI request and specific data exists to provide a server base form; means for intercepting the data stream corresponding to the response HTML data from the first application in response to the interrogated CGI request and the specific data from the second application prior to transmission of the response HTML data on the external communication link; means for comparing the intercepted response HTML data to the server base form to provide difference data corresponding to the difference between the intercepted response and the server base form; means for sending the difference data to the second computer over the external communication link; means for acquiring the difference data transmitted over the external communication link sent by the first computer; means for reconstructing the response HTML data corresponding to the communication from the first application from the client/server specific data stream received over the external communication link by combining the client base form with the difference data received over the external communication link to create a response data stream corresponding to the intercepted response; and means for providing the reconstructed data stream corresponding to the intercepted response HTML data to the second application.
-
-
16. An apparatus for generating a base form for a CGI response differencing communication system comprising:
-
means for storing the input elements of a CGI input form; means for storing the parameters of a request using the CGI input form; means for receiving the response to the request using the CGI input form; means for generating an extended cache key from the URL of the CGI request, the input elements of the CGI input form and the parameters of the CGI request using the CGI input form; and means for storing as an entry in a cache the response to the request using the extended cache key as a key to the cache entry.
-
-
17. A computer program product for reducing the data transmitted over a communication link from a first application resident in a first computer and to a second application resident in a second computer wherein the data is transmitted over an external communication link from the first computer to the second computer, the computer program product comprising:
a computer-readable storage medium having computer-readable program code means embodied in said medium, said computer-readable program code means comprising; computer-readable program code means for storing HTML data from the first application to be provided to the second application in response to specific data in a CGI request from the second application in a cache resident in the first computer to create a server base cache entry; computer-readable program code means for storing HTML data to be provided to the second application in response to the specific data in the CGI request from the second application in a cache resident in the second computer to create a client base cache entry; computer-readable program code means for evaluating CGI requests and specific data associated with the CGI requests from the second application to determine if a client base cache entry corresponding to the evaluated CGI request and specific data exists to provide a client base form; computer-readable program code means for interrogating CGI requests and specific data associated with the CGI requests from the second application to determine if a server base cache entry corresponding to the interrogated CGI request and specific data exists to provide a server base form; computer-readable program code means for intercepting the data stream corresponding to the response HTML data from the first application in response to the interrogated CGI request and the specific data from the second application prior to transmission of the response HTML data on the external communication link; computer-readable program code means for comparing the intercepted response HTML data to the server base form to provide difference data corresponding to the difference between the intercepted response and the server base form; computer-readable program code means for sending the difference data to the second computer over the external communication link; computer-readable program code means for acquiring the difference data transmitted over the external communication link sent by the first computer; computer-readable program code means for reconstructing the response HTML data corresponding to the communication from the first application from the client/server specific data stream received over the external communication link by combining the client base form with the difference data received over the external communication link to create a response data stream corresponding to the intercepted response; and computer-readable program code means for providing the reconstructed data stream corresponding to the intercepted response HTML data to the second application.
-
18. A computer program product for generating a base form for a CGI response differencing communication system, the computer program product comprising:
a computer-readable storage medium having computer-readable program code means embodied in said medium, said computer-readable program code means comprising; computer-readable program code means for storing the input elements of a CGI input form; computer-readable program code means for storing the parameters of a request using the CGI input form; computer-readable program code means for receiving the response to the request using the CGI input form; computer-readable program code means for generating an extended cache key from the URL of the CGI request, the input elements of the CGI input form and the parameters of the CGI request using the CGI input form; and computer-readable program code means for storing as an entry in a cache the response to the request using the extended cache key as a key to the cache entry.
Specification