Patent ID: 8458727
Filing Date: 2013-06-04
Classification: G06F

Abstract:
1. A method comprising: initiating, by a client, a web application including client-side components executing on the client that communicate with server-side components of the web application executing on a server; receiving, by the client from the server over at least one network coupling the client and the server, a plurality of objects including data for a document, wherein each object of the plurality of objects received by the client corresponds to an object retained by the server; adding, by the client to each object of the plurality of objects, information causing a change log to add an entry when the data included in each object of the plurality of objects is changed; storing, by the client, each object of the plurality of objects in a cache; executing, by the client, one or more of the client-side components of the web application in response to one or more changes to the document, the executing of the one or more of the client-side components of the web application resulting in a plurality of processing events occurring on the client; capturing, by the client, processing events of the plurality of processing events which cause communication with the server for batching client-server communication during the executing of the one or more of the client-side components of the web application; recording, by the client, a plurality of entries in the change log, wherein each entry of the plurality of entries specifies: transmitting, by the client, the plurality of entries in the change log to the server in batch via the at least one network upon an occurrence of at least one predetermined event for asynchronous updating of the objects retained by the server; and throttling, by the client, frequency of the client-server communication based on at least one of a processing load on the server-side components of the web application executing on the server and a latency of the at least one network.