Automatic synchronization conflict resolution
AssigneeMicrosoft Corporation
InventorsCynthia M. Hagan, Brian D. Remick
Life of this patent
Estimating the term…
Abstract
A determination is made at a first computing device of whether there is a synchronization conflict between a change to a first synchronized item at the first computing device and a change to a second synchronized item at a second computing device. If a synchronization conflict exists, rule-based conflict resolution is performed to automatically resolve the synchronization conflict. The rule-based conflict resolution is based at least in part on a type of the change made to the first synchronized item, a type of the change made to the second synchronized item, and a set of multiple rules. A notification of the resolution is then sent to the second computing device.
Claims20
A method for resolving synchronization conflict, the method comprising:
- identifying at a first computing device, via network communications with a remote synchronization service, a second computing device;
- determining there is a synchronization conflict between a change to a first synchronized item at the first computing device and a change to a second synchronized item at the identified second computing device, the identified second computing device being a peer device of the first computing device;
- determining, in response to the synchronization conflict:
- whether the first computing device has written a token value in order to become a resolver for the conflict, and in response to the first computing device writing a token value, selecting the first computing device to be the resolver for the conflict;
- and
- in response to the first computing device not writing the token value, not selecting the first computing device sufficient to enable the second computing device to become the resolver for the conflict;
- and
- responsive to the first computing device being selected as the resolver, performing, by the first computing device as the resolver, rule-based conflict resolution to automatically resolve the determined synchronization conflict without requiring user input, the rule-based conflict resolution being based on a set of multiple rules and at least in part on a type of the change to the first synchronized item, a type of the change to the second synchronized item;
- and
- sending, by the first computing device as the resolver, a notification of the rule-based conflict resolution to the second computing device.
One or more computer storage media having stored thereon multiple instructions that, when executed by one or more processors of a first user computing device of multiple computing devices, cause the one or more processors to:
- identifying at the first user computing device, via network communications with a remote synchronization service, a second user computing device;
- determining there is a synchronization conflict between a change to a first synchronized item at the first user computing device and a change to a second synchronized item at the identified second user computing device, the identified second user computing device being a peer device of the first user computing device;
- determining, in response to the synchronization conflict:
- whether the first user computing device has written a token value in order to become a resolver for the conflict, and in response to the first user computing device writing a token value, selecting the first user computing device to be the resolver for the conflict;
- and
- in response to the first user computing device not writing the token value, not selecting the first user computing device sufficient to enable the second user computing device to become the resolver for the conflict;
- and
- responsive to the first computing device being selected as the resolver, performing, by the first computing device as the resolver, rule-based conflict resolution to automatically resolve the determined synchronization conflict without requiring user input, the rule-based conflict resolution being based on a set of multiple rules and at least in part on a type of the change to the first synchronized item;
- and
- sending, by the first computing device as the resolver, a notification of the rule-based conflict resolution to the second computing device.
A method for resolving synchronization conflict, the method comprising:
- identifying at a first computing device, via network communications with a remote synchronization service, a second user computing device;
- determining there is a synchronization conflict between a change to a first synchronized item at the first user computing device and a change to a second synchronized item at the second user computing device;
- determining, in response to the synchronization conflict:
- whether the first computing device has written a token value in order to become a resolver for the conflict, and in response to the first computing device writing a token value, selecting the first computing device to be the resolver for the conflict;
- and
- in response to the first computing device not writing the token value, not selecting the first computing device sufficient to enable the second computing device to become the resolver for the conflict;
- responsive to the first computing device being selected as the resolver, performing, by the first computing device as the resolver, rule-based conflict resolution, based on a rules arranged in hierarchy, to automatically resolve the synchronization conflict, including:
- if the synchronization conflict is an edit-delete conflict, then keeping the one of the first and second synchronized items that is an edit and discarding the one of the first and second synchronized items that is a delete,
- if the synchronization conflict is an add-delete conflict, then keeping the one of the first and second synchronized items that is an add and discarding the one of the first and second synchronized items that is a delete,
- if the synchronization conflict is a file edit-edit conflict, then merging the first and second synchronized items if the first and second synchronized items can be merged, otherwise keeping both the first and second synchronized items,
- if the synchronization conflict is a delete-delete conflict, then merging the first and second synchronized items,
- if the synchronization conflict is a rename-rename conflict, then keeping the one of the first and second synchronized items that is a most recent change, and
- otherwise keeping both the first and second synchronized items.
Dependencies are inferred from the claim text.