Patent ID: 8346869
Filing Date: 2013-01-01
Classification: H04L

Abstract:
1. A method of granular data synchronization for editing multiple data objects on a client computer operating in a client-server computer network, comprising: storing in a first tier of a client cache, by the client computer, a server data object, the server data object comprising a first set of properties, the set of properties comprising a current state of at least one data value stored on a server computer in the computer network, wherein the client cache utilizes an identifier for identifying a property type associated with the first set of properties; storing in a second tier of the client cache, a client data object, the client data object comprising a second set of properties, the second set of properties comprising at least one of: one or more properties in the first set of properties and un-persisted edits made to the first set of properties which are saved on the client computer; storing in a third tier of the client cache, a view data object, the view data object comprising a third set of properties, the third set of properties comprising un-persisted and unsaved edits made to at least one of the first set of properties and the second set of properties while the at least one of the first set of properties and the second set of properties is being viewed in a user interface on the client computer, the client cache being automatically generated, through a declarative scheme, by an editing application program running on the client computer, the first tier, the second tier and the third tier comprising three individual and separate layers in the client cache which store independent copies of the server data object, the client data object and the view data object; and synchronizing the server data object and the client data object with the server computer to determine edits made to the at least one data value stored on the server computer, the synchronization comprising determining whether one or more properties in the second set of properties are identical to one or more properties in the first set of properties, the editing application program storing property tracking data, for each property in the first set of properties and the second set of properties, that tracks whether, for a given property, the client data object and the server data object differ, the property tracking data comprising a data structure comprising a bit field, each bit in the bit field corresponding to a particular property.