System and method for patch enabled data transmissions
First Claim
1. A method for updating information on a client using differences between old information residing on the client and new information retrieved by a server, said method comprising:
- requesting, by a client, information from a network;
determining whether the requested information is in storage on the client;
upon the determining that the requested information is in storage on the client, designating the requested information in storage on the client as a first version of the requested information;
retrieving the requested information by a server connected to the network;
designating the retrieved information as a second version of the requested information;
identifying differences between the first version of the requested information residing on the client and the second version of the requested information retrieved by the server;
generating a difference file on the server using the identified differences;
transmitting the difference file to the client;
updating the first version of the requested information using the difference file resulting in updated information on the client; and
retaining the second version of the requested information in storage at the server.
7 Assignments
0 Petitions
Accused Products
Abstract
A system and method relating to techniques to efficiently update data transmissions, and more particularly to a system and method for using patch enabling Web traffic or Web Internet transmissions, using existing infrastructure so that “difference” information can be sent to an application rather than a complete updated data set, therefore increasing the effective bandwidth along the transmission medium/channel. A proxy server tracks previous versions of content being sent to various clients. In the case where this is new data to the requesting client, then the proxy server sends back the most recent version of this data to the client. If the requested data is an updated version of something already stored in cache on the client side (i.e., data already known to be sent to the client), then the proxy server runs a differencing algorithm and generates a binary patch file identifying steps to perform to update the information. If there is no version of the requested information already on server side and client side, then the entire information packet is sent to the client. Both the server and client must be “patch-enabled”.
121 Citations
33 Claims
-
1. A method for updating information on a client using differences between old information residing on the client and new information retrieved by a server, said method comprising:
-
requesting, by a client, information from a network;
determining whether the requested information is in storage on the client;
upon the determining that the requested information is in storage on the client, designating the requested information in storage on the client as a first version of the requested information;
retrieving the requested information by a server connected to the network;
designating the retrieved information as a second version of the requested information;
identifying differences between the first version of the requested information residing on the client and the second version of the requested information retrieved by the server;
generating a difference file on the server using the identified differences;
transmitting the difference file to the client;
updating the first version of the requested information using the difference file resulting in updated information on the client; and
retaining the second version of the requested information in storage at the server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for effecting secure transmission of data to a client using differences between old information residing on the client and new information residing on a server, said method comprising:
-
requesting, by a client, information from a network, wherein a user on the client desires secure transmission of the information;
retrieving the requested information, by a server connected to the network, via a secure connection, the server also connected to the client;
saving transactional information, by the server, the transactional information corresponding to versions of the requested information sent by the server to clients, each of the versions of the requested information sent to the clients is correlated with each of the clients to which it was sent, and the versions of the requested information are differentiated from one another by a time at which each of the versions is placed in storage on the client and the server;
determining by the server whether a previous one of the versions of the requested information resides in storage on the client and the server, and if not, then sending the requested information as one of the versions of the requested information to the client via a secure means; and
otherwiseidentifying differences between the previous version of the requested information and one version of the requested information as retrieved in the retrieving;
generating a difference file on the server using the identified differences;
transmitting the difference file to the client; and
updating the previous version of the requested information using the difference file resulting in updated information on the client. - View Dependent Claims (16, 19)
-
-
17. A method of efficient transmission to and from a submersible vehicle, using differences between old information residing on a recipient and new information residing on a sender, said method comprising:
-
requesting, by a recipient, information from the sender, wherein one of the recipient and sender resides on a submersible vehicle with limited bandwidth or limited accessibility to transmission;
retrieving the requested information, by a server connected to the sender, the server also connected to the recipient via a wireless transmission means;
saving transactional information, by the server, the transactional information corresponding to versions of the requested information sent by the sender to the recipients, each of the version of the requested information sent to the recipients is correlated with each of the recipients to which it was sent;
determining by the server, whether a previous one of the versions of the requested information resides in storage on the recipient and the server, and if not, then sending the requested information as one of the versions of the requested information to the recipient as a whole, and otherwise identifying differences between the previous version of the requested information and the one version as retrieved in the retrieving;
generating a difference file on the server using the identified differences;
transmitting the difference file to the recipient; and
updating the previous version of the requested information using the difference file resulting in updated information on the recipient. - View Dependent Claims (18, 20)
-
-
21. A system for updating information on a client using patches or differences between old information residing on the client and new information residing on the server, comprising:
-
at least one patch enabled server connectable to a network;
at least one client connectable to a network through the patch enabled server, the patch enabled server connected to the client and enabled to send requests to the network, when connected thereto, for information based on requests for information received by the server from a patch enabled browser on the client, the patch enabled server comprising;
a data store and enabling routine for storing information, the information correlating requested information retrieved from the network with at least one client recipient of the requested information retrieved from the network; and
a patch generator for automatically identifying differences in versions of requested information and generating difference files if it is determined by analyzing the information that a previous version of the client requested information resides in storage on the server and the client, and transmitting the difference file to the client, the versions of the requested information are differentiated from one another by a time at which each of the versions is placed in storage on the server. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
-
29. A system for effecting secure transmissions of data to a client using differences between old information residing on the client and new information residing on the server, comprising:
-
at least one patch enabled server connectable to a network;
at least one client connectable to a network through the patch enabled server, the patch enabled server connected to the client and enabled to send requests to the network for information based on requests for information received by the server from a patch enabled browser on the client, wherein a patch enabled server comprises;
a data store and enabling routine for storing transactional information, the transactional information correlating requested information retrieved from the network with one or more client recipients of the requested information retrieved from the network; and
a patch generator for automatically identifying differences in versions of requested information and generating difference files if it is determined by analyzing the transactional information that a previous version of the client requested information resides in storage on the server and the client, and transmitting the difference file to the client, but if a previous version of the client requested information does not reside on both the server and client, then securing the non-patch information to be sent to the client, the versions of the requested information are differentiated from one another by a time at which each of the versions is placed in storage on the server. - View Dependent Claims (30)
-
-
31. A system for updating information on a client using differences between old information residing on the client and new information residing on the server, comprising:
-
a network of computers supporting client/server technology;
a content source connected to the network, the content source having a unique identifier allowing content to be accessed across the network;
a server connected to the network providing a conduit for users, the server processing requests by users for retrieving data from a content source;
a client connected to the network through the server for providing requested content to a user, wherein the server sends requests to the network for information based on requests for information received by the server from the client, and wherein the server comprises;
a data store and enabling routine for storing transactional information, the transactional information correlating requested content retrieved from the network with at least one client recipients of the requested content retrieved from the network; and
a patch generator for automatically identifying differences in versions of requested content and generating difference files if it is determined by analyzing the transactional information that a previous version of the client requested content resides in storage on the server and the client, and transmitting the difference file to the client, the versions of the requested information are differentiated from one another by a time at which each of the versions is placed in storage on the server. - View Dependent Claims (32, 33)
-
Specification