HTTP performance enhancement based on delta transfer
First Claim
1. A method implemented by a computer system for client-server communication based on delta transfer, the method comprising:
- receiving, from a first client and by a server, a first HTTP request for transferring a current image page;
determining, by the server, that the first client does not have a client ID saved in a table on the server;
allocating, by the server, a new client ID to the first client and building server relationship entries in the table for the first client, in response to determining that the first client does not have a client ID saved in the table on the server, wherein the server relationship entries include the new client ID, a URL, an image page path, and a time stamp;
in response to determining that the new client ID is allocated, saving a new image page on a repository of the server, and sending the new image page as first delta contents in a HTTP response to the first client;
writing the new client ID into a cookie;
receiving, from a second client and by the server, a second HTTP request for transferring the current image page;
determining, by the server, that the second client has a client ID saved in the table on the server;
determining, by the server, that a saved image page for the client ID of the second client exists on the repository of the server, in response to determining that the second client has the client ID saved in the table;
retrieving, by the server, the saved image page from the repository, in response to determining that the saved image page for the client ID of the second client exists on the repository;
comparing, by the server, the current image page and the saved image page;
constructing, by the server, second delta contents between the current image page and the saved image page, wherein the second delta contents comprises at least one of an add operation and a modify operation, in addition to a location of an update defined by an ancestor and a sub path, and a content of an updated node;
updating, on the server, the saved image page with the current image page; and
sending, from the server to the second client, a HTTP response comprising the second delta contents.
5 Assignments
0 Petitions
Accused Products
Abstract
A method, computer program product, and computer system for client-server communication based on delta transfer. A server of the computer system receives from a client a HTTP request for transferring a current image page, compares the current image page and a saved image page which is stored on the server for the client. Based on the comparison, the server of the computer system constructs delta contents between the current image page and the saved image page. The server of the computer system updates the saved image page on the server with the current image page and sends a HTTP response comprising the delta contents to the client.
13 Citations
9 Claims
-
1. A method implemented by a computer system for client-server communication based on delta transfer, the method comprising:
-
receiving, from a first client and by a server, a first HTTP request for transferring a current image page; determining, by the server, that the first client does not have a client ID saved in a table on the server; allocating, by the server, a new client ID to the first client and building server relationship entries in the table for the first client, in response to determining that the first client does not have a client ID saved in the table on the server, wherein the server relationship entries include the new client ID, a URL, an image page path, and a time stamp; in response to determining that the new client ID is allocated, saving a new image page on a repository of the server, and sending the new image page as first delta contents in a HTTP response to the first client; writing the new client ID into a cookie; receiving, from a second client and by the server, a second HTTP request for transferring the current image page; determining, by the server, that the second client has a client ID saved in the table on the server; determining, by the server, that a saved image page for the client ID of the second client exists on the repository of the server, in response to determining that the second client has the client ID saved in the table; retrieving, by the server, the saved image page from the repository, in response to determining that the saved image page for the client ID of the second client exists on the repository; comparing, by the server, the current image page and the saved image page; constructing, by the server, second delta contents between the current image page and the saved image page, wherein the second delta contents comprises at least one of an add operation and a modify operation, in addition to a location of an update defined by an ancestor and a sub path, and a content of an updated node; updating, on the server, the saved image page with the current image page; and sending, from the server to the second client, a HTTP response comprising the second delta contents. - View Dependent Claims (2, 3)
-
-
4. A computer program product for client-server communication based on delta transfer, the computer program product comprising:
-
one or more computer-readable tangible storage devices and program instructions stored on at least one of the one or more tangible storage devices, the program instructions comprising; program instructions to receive, from a first client and by a server, a first HTTP request for transferring a current image page; program instructions to determine, by the server, that the first client does not have a client ID saved in a table on the server; program instructions to allocate, by the server, a new client ID to the first client and to build server relationship entries in the table for the first client, in response to determining that the first client does not have a client ID saved in the table on the server, wherein the server relationship entries include the new client ID, a URL, an image page path, and a time stamp; program instructions to, in response to determining that the new client ID is allocated, save a new image page on a repository of the server, and send the new image page as first delta contents in a HTTP response to the first client; program instructions to write the new client ID into a cookie; program instructions to receive, from a second client and by the server, a second HTTP request for transferring the current image page; program instructions to determine, by the server, that the second client has a client ID saved in the table on the server; program instructions to determine, by the server, that a saved image page for the client ID of the second client exists on the repository of the server, in response to determining that the second client has the client ID saved in the table; program instructions to retrieve, by the server, the saved image page from the repository, in response to determining that the saved image page for the client ID of the second client exists on the repository; program instructions to compare, by the server, the current image page and the saved image page; program instructions to construct, by the server, second delta contents between the current image page and the saved image page, wherein the second delta contents comprises at least one of an add operation and a modify operation, in addition to a location of an update defined by an ancestor and a sub path, and a content of an updated node; program instructions to update, on the server, the saved image page with the current image page; and program instructions to send, from the server to the second client, a HTTP response comprising the second delta contents. - View Dependent Claims (5, 6)
-
-
7. A computer system for client-server communication based on delta transfer, the computer system comprising:
-
one or more processors, one or more computer-readable tangible storage devices, and program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors, the program instructions comprising; program instructions to receive, from a first client and by a server, a first HTTP request for transferring a current image page; program instructions to determine, by the server, that the first client does not have a client ID saved in a table on the server; program instructions to allocate, by the server, a new client ID to the first client and to build server relationship entries in the table for the first client, in response to determining that the first client does not have a client ID saved in the table on the server, wherein the server relationship entries include the new client ID, a URL, an image page path, and a time stamp; program instructions to, in response to determining that the new client ID is allocated, save a new image page on a repository of the server, and send the new image page as first delta contents in a HTTP response to the first client; program instructions to write the new client ID into a cookie; program instructions to receive, from a second client and by the server, a second HTTP request for transferring the current image page; program instructions to determine, by the server, that the second client has a client ID saved in the table on the server; program instructions to determine, by the server, that a saved image page for the client ID of the second client exists on the repository of the server, in response to determining that the second client has the client ID saved in the table; program instructions to retrieve, by the server, the saved image page from the repository, in response to determining that the saved image page for the client ID of the second client exists on the repository; program instructions to compare, by the server, the current image page and the saved image page; program instructions to construct, by the server, second delta contents between the current image page and the saved image page, wherein the second delta contents comprises at least one of an add operation and a modify operation, in addition to a location of an update defined by an ancestor and a sub path, and a content of an updated node; program instructions to update, on the server, the saved image page with the current image page; and program instructions to send, from the server to the second client, a HTTP response comprising the second delta contents. - View Dependent Claims (8, 9)
-
Specification