Partial item change tracking and synchronization
First Claim
1. A method of synchronizing electronic mail messages between a first device and a second device, the method comprising:
- storing an electronic mail message at the first device, the electronic mail message including a plurality of property groups, each of the property groups including one or more properties, at least one of the property groups including multiple properties;
monitoring a plurality of data items for sync purposes, the plurality of data items including the electronic mail message;
using an item change identifier to determine that the electronic mail message has changed after the last sync; and
after determining that the electronic mail message has changed after the last sync, determining which property group in the electronic mail message has changed, including using change IDs for the property groups to identify the changed group in the electronic mail message; and
performing a synchronization process that synchronizes the electronic mail message on the first device and a second device, the synchronization process including streaming the particular property group to the second device, the electronic mail message being synchronized on the first device and the second device without streaming the entire electronic mail message from the first device to the second device, the particular property group being among the property groups of the electronic mail message, one or more properties in the particular property group having changed since a last sync.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments herein change the way item syncing is handled and tracked between two devices. Changes to items are tracked in accordance with well defined property groups and each group is tracked independently of the other. For example, one group could contain large data items, e.g., attachments, while another group could include highly volatile properties like a follow-up flag. The present invention increases the sync rates between a client and a server by syncing only select portions of an item that have changed, without monitoring the change of each individual property within the item. Accordingly, if a change is made to a small data property (e.g., follow-up flag) on a relatively large email message, such change will not trigger a large download to a client running under a cached mode, nor will there be a requirement for high storage and processing for tracking each individual property.
36 Citations
24 Claims
-
1. A method of synchronizing electronic mail messages between a first device and a second device, the method comprising:
-
storing an electronic mail message at the first device, the electronic mail message including a plurality of property groups, each of the property groups including one or more properties, at least one of the property groups including multiple properties; monitoring a plurality of data items for sync purposes, the plurality of data items including the electronic mail message; using an item change identifier to determine that the electronic mail message has changed after the last sync; and after determining that the electronic mail message has changed after the last sync, determining which property group in the electronic mail message has changed, including using change IDs for the property groups to identify the changed group in the electronic mail message; and performing a synchronization process that synchronizes the electronic mail message on the first device and a second device, the synchronization process including streaming the particular property group to the second device, the electronic mail message being synchronized on the first device and the second device without streaming the entire electronic mail message from the first device to the second device, the particular property group being among the property groups of the electronic mail message, one or more properties in the particular property group having changed since a last sync. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing device that comprises:
-
one or more computer storage media that store instructions and an electronic mail data item, the electronic mail data item comprising a plurality of properties, the plurality of properties divided into a plurality of property groups, each of the property groups containing one or more of the properties, at least one of the property groups containing multiple properties; and a processing unit that reads and executes the instructions, execution of the instructions by the processing unit causing the computing device to; determine that a property in a particular property group has changed; update a property group change identifier for the particular property group after determining that the property in the particular property group has changed; use the property group change identifier to identify when changes have occurred to the particular property group; and sync a changed group in the electronic mail data item without streaming the entire electronic mail data item from another computing device, the changed group being among the property groups of the electronic mail data item, one or more properties in the changed group having changed since a last sync between the computing device and the other computing device. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method of increasing sync rates for a client device, the method comprising:
-
transmitting a request from the client device to synchronize one or more electronic mail data items that have changed after a last synchronization, each of the one or more electronic mail data items comprising a plurality of modifiable properties, the plurality of modifiable properties in each of the one or more electronic mail data items divided into a plurality of property groups that includes at least a read property group and a follow-up flag property group, the read property group including a property that indicates whether the electronic mail data item has been read, the follow-up flag property group including a property that indicates whether a follow-up flag has been set on the electronic mail data item; in response to the request to synchronize the one or more electronic mail data items that have changed after the last synchronization, receiving a modified property group at the client device without receiving one or more unmodified property groups in the plurality of property groups of a first electronic mail data item from among the one or more electronic mail data items, wherein none of the properties in the unmodified property groups have values changed after the last synchronization, and wherein the modified property group is identified in the plurality of property groups using a property group change identifier. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A method of increasing sync rates for a client device, the method comprising:
-
transmitting a request from a client device to synchronize one or more electronic mail data items that have changed after a last synchronization, each of the one or more electronic mail data items comprising a plurality of modifiable properties, the plurality of modifiable properties in each of the one or more electronic mail data items divided into a plurality of property groups that includes at least a read property group and a follow-up flag property group, the read property group including a property that indicates whether the electronic mail data item has been read, the follow-up flag property group including a property that indicates whether a follow-up flag has been set on the electronic mail data item; determining that a first electronic mail data item of the one or more data items has changed after the last synchronization; determining whether the plurality of property groups of the first electronic mail data item includes a modified property group, wherein a value of a property in the modified property group has changed after the last synchronization, and wherein the modified property group is identified in the plurality of property groups using a property group change identifier; and synchronizing the modified property group without streaming one or more unmodified property groups in the plurality of property groups of the first electronic mail data item, wherein none of the properties in the unmodified property groups have values changed after the last synchronization. - View Dependent Claims (23, 24)
-
Specification