Client side caching of synchronized data
First Claim
1. A method for synchronizing a database with data stored at clients, comprising:
- receiving a collaboration change to a collaboration document from a collaboration user from among a plurality of collaboration users in multiple collaboration groups at said clients;
caching said collaboration change in a client side cache to provide client side cached data at said client;
pushing said cached data to update said collaboration document displayed to said plurality of collaboration users, wherein said collaboration document is a synchronized collaboration document that is synchronized based on any updates provided by said plurality of collaboration users and said database;
saving said collaboration change from said cached data in said database;
receiving by said database a first, new database change from an external application that is external to said database and to said client while said plurality of collaboration users are collaborating on said collaboration document, wherein said database, said collaboration document, and said external application are separate, and wherein said external application provides a second new database change while said collaboration users are not collaborating on said collaboration document;
pushing said second, new database change to a set of client event queues for said plurality of collaboration users in said multiple collaboration groups at said clients, wherein said second, new database change is saved as a single instance within said set of client event queues, and wherein a reference of said single instance is provided to each of said client event queues in said set of client event queues;
pushing said second, new database change to said plurality of collaboration users in said multiple collaboration groups at said clients; and
in response to said pushing, deleting said single instance.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for synchronizing a database with data stored at a client includes providing a data feed to receive data by the client from the database and provide received data, caching the received data in a client side cache to provide client side cached data, detecting a database change to data within the database corresponding to the client side cached data according to a polling operation to provide a change event, pushing the change event to the client side cached data to update the client side cached data in accordance with the database change and the polling operation, requesting further data from the database, determining whether the further data includes data of the client side cached data to determine remaining data exclusive of the client side cached data and pushing the remaining data to the client side cached data.
79 Citations
15 Claims
-
1. A method for synchronizing a database with data stored at clients, comprising:
-
receiving a collaboration change to a collaboration document from a collaboration user from among a plurality of collaboration users in multiple collaboration groups at said clients; caching said collaboration change in a client side cache to provide client side cached data at said client; pushing said cached data to update said collaboration document displayed to said plurality of collaboration users, wherein said collaboration document is a synchronized collaboration document that is synchronized based on any updates provided by said plurality of collaboration users and said database; saving said collaboration change from said cached data in said database; receiving by said database a first, new database change from an external application that is external to said database and to said client while said plurality of collaboration users are collaborating on said collaboration document, wherein said database, said collaboration document, and said external application are separate, and wherein said external application provides a second new database change while said collaboration users are not collaborating on said collaboration document; pushing said second, new database change to a set of client event queues for said plurality of collaboration users in said multiple collaboration groups at said clients, wherein said second, new database change is saved as a single instance within said set of client event queues, and wherein a reference of said single instance is provided to each of said client event queues in said set of client event queues; pushing said second, new database change to said plurality of collaboration users in said multiple collaboration groups at said clients; and in response to said pushing, deleting said single instance. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
Specification