Methods and systems for caching and synchronizing project data
First Claim
Patent Images
1. A computer-implemented method for managing project data synchronization between a project management application of a client device and a project server, the computer-implemented method comprising:
- on the client device, obtaining a copy of a complete project schedule stored on a project server, wherein the copy of the project schedule includes a plurality of project tasks, wherein the copy of the project schedule is stored in a cache memory of the client device, wherein the cache memory includes a table of project tasks, separate from the copy of the project schedule, wherein each of the project tasks include a version stamp that indicates a version for the project task;
on the client device, receiving a change to at least one project task of the plurality of project tasks of the copy of the project schedule;
wherein the change is maintained in the cache memory of the client device;
determining, by a cache manager of the client device, whether the change includes data updates of a size that meets a preset change threshold stored with the cache manager, wherein the change threshold is a percentage threshold of a permitted amount of data updates maintained in the cache memory in relation to the total data of the copy of the project schedule stored in the cache memory;
upon determining that the change threshold has been met, causing the cache manager of the client to;
identify properties of each change of the data updates that are maintained in the cache memory,send the properties of each change to the project server without sending properties of unchanged portions of the project schedule in order to cause an update to the project schedule stored on the project server with the properties of the change,receive an updated version stamp for each change from the project server, andupdate the table located in the cache manager with the version stamp.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems are provided for intelligently managing project data in a project management application. According to various aspects of the invention, project management data may be loaded and saved to a local cache of a client computer, such as a hard disk cache. The invention also provides a mechanism for reducing the size of data downloaded from and sent to a project server during load and save times.
31 Citations
24 Claims
-
1. A computer-implemented method for managing project data synchronization between a project management application of a client device and a project server, the computer-implemented method comprising:
-
on the client device, obtaining a copy of a complete project schedule stored on a project server, wherein the copy of the project schedule includes a plurality of project tasks, wherein the copy of the project schedule is stored in a cache memory of the client device, wherein the cache memory includes a table of project tasks, separate from the copy of the project schedule, wherein each of the project tasks include a version stamp that indicates a version for the project task; on the client device, receiving a change to at least one project task of the plurality of project tasks of the copy of the project schedule;
wherein the change is maintained in the cache memory of the client device;determining, by a cache manager of the client device, whether the change includes data updates of a size that meets a preset change threshold stored with the cache manager, wherein the change threshold is a percentage threshold of a permitted amount of data updates maintained in the cache memory in relation to the total data of the copy of the project schedule stored in the cache memory; upon determining that the change threshold has been met, causing the cache manager of the client to; identify properties of each change of the data updates that are maintained in the cache memory, send the properties of each change to the project server without sending properties of unchanged portions of the project schedule in order to cause an update to the project schedule stored on the project server with the properties of the change, receive an updated version stamp for each change from the project server, and update the table located in the cache manager with the version stamp. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable storage medium having computer executable instructions for managing project data synchronization between a project management application of a client device and a project server, the instructions comprising:
-
obtaining a copy of a project schedule stored on a project server, wherein the copy of the project schedule includes a plurality of project tasks, wherein the copy of the project schedule is stored in a memory of a client device, wherein the memory includes a table of project tasks, separate from the copy of the project schedule, that include an indication of the plurality of project tasks in association with a version stamp; receiving a change to at least one project task of the plurality of project tasks of the copy of the project schedule;
wherein the change is stored within the memory of the client device along with other data updates including changes to other project tasks that have not been sent to the project server;determining, by a memory manager, whether the change and the other changes previously made meet a preset change threshold of the memory manager;
wherein the preset change threshold is a number of tasks that have been modified in relation to a total number of the project tasks;upon determining that the change threshold has been met, causing the cache manager of the client to; identify properties of the change, send the properties of the change to the project server without sending properties of unchanged portions of the project schedule in order to cause an update to the project schedule stored on the project server with the properties of the change, receive an updated version stamp for the change from the project server, and update the table located in the cache manager with the version stamp. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A system for managing project data synchronization between a project management application of a client device and a project server, the system comprising:
-
a processor; and a memory having computer executable instructions stored thereon, wherein the instructions execute for; obtaining a copy of a project schedule stored on a project server, wherein the copy of the project schedule includes project tasks, wherein the copy of the project schedule is stored in a memory of a client device, wherein the memory includes a table of project tasks, separate from the copy of the project schedule, that include an indication of the plurality of project tasks in association with a version stamp; receiving a change to at least one project task of the plurality of project tasks of the copy of the project schedule;
wherein the change is maintained in the memory of the client device along with data updates;determining, by a memory manager, whether the data updates that include the change meets a preset change threshold of the memory manager; upon determining that the change threshold has been met, causing the cache manager of the client to; identify properties of the change, send the properties of the change to the project server without sending properties of unchanged portions of the project schedule in order to cause an update to the project schedule stored on the project server with the properties of the change, receive an updated version stamp for the change from the project server, and update the table located in the cache manager with the version stamp. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
Specification