Resolving Synchronization Duplication
First Claim
Patent Images
1. A method, comprising:
- creating a first item that includes an application ID, includes first item information, and is associated with a shared ID, where the application ID is determined locally on a local endpoint and the shared ID is determined remotely on a remote endpoint;
receiving a new item instruction for a second item, where the second item includes a second application ID that is different from the application ID and where the second local item is associated with the shared ID;
determining that the first item and the second item are duplicates because both the first item and the second item are associated with the shared ID;
identifying an item to keep by selecting one of;
the first item and the second item;
identifying an item not to keep by selecting one of;
the first item and the second item, where the item not to keep is not the item to keep;
sending a delete command for the item not to keep.
3 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods, and data structures associated with the detection and resolution of duplicate data that might result when using multiple synchronization protocols are described. These techniques may use different types of identification data associated with data that is synchronized, as well as a defined set of operations that may be performed by one or more endpoints to identify and remove duplicated data.
129 Citations
20 Claims
-
1. A method, comprising:
-
creating a first item that includes an application ID, includes first item information, and is associated with a shared ID, where the application ID is determined locally on a local endpoint and the shared ID is determined remotely on a remote endpoint; receiving a new item instruction for a second item, where the second item includes a second application ID that is different from the application ID and where the second local item is associated with the shared ID; determining that the first item and the second item are duplicates because both the first item and the second item are associated with the shared ID; identifying an item to keep by selecting one of;
the first item and the second item;identifying an item not to keep by selecting one of;
the first item and the second item, where the item not to keep is not the item to keep;sending a delete command for the item not to keep. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system, comprising:
-
a parent endpoint configured to create a parent item that includes parent item information and a parent ID; a first endpoint configured to create a first item with first item information that matches the parent item information and a first ID that is the same as the parent ID, as a result of a first new item instruction communicated as part of a synchronization session with the parent endpoint that uses a first synchronization protocol; a second endpoint configured to create a second item with second item information that matches the parent item information and a second ID that is the same as the parent ID, as a result of a second new item instruction communicated as part of a second synchronization session with the parent endpoint that uses the first synchronization protocol; and the first endpoint further configured to; receive a third new item instruction from the second endpoint communicated as part of a third synchronization session that uses a second synchronization protocol that is different from the first synchronization protocol, where the third new item instruction identifies the second item as an item to create; determine that the first item and the second item are duplicates because both the first item and the second item are associated with the parent ID; identify an item to keep by selecting one of;
the first item and the second item;identify an item not to keep by selecting one of;
the first item and the second item, where the item not to keep is not the item to keep; andsend a delete command for the item not to keep. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. One or more computer-readable media containing computer-executable instructions that, when executed, implement the following operations:
-
as part of a synchronization session that uses a first synchronization protocol, receiving a new item instruction that includes item information and a shared ID; creating a first local item that includes a first application ID, includes at least some of the item information, and is associated with the shared ID, where the first application ID is determined locally and is not part of the new item instruction; as part of a second synchronization session that uses a second synchronization protocol that is different from the first synchronization protocol, receiving a second new item instruction for a second local item, where the second local item includes a second application ID that is different from the first application ID and where the second local item is associated with the shared ID; determining that the first local item and the second local item are duplicates because both the first local item and the second local item are associated with the shared ID; identifying a local item to keep by selecting one of;
the first local item and the second local item, by sorting the first application ID and the second application ID alphanumerically and selecting the item to keep as the item with a greater application ID;identifying a local item not to keep by selecting one of;
the first local item and the second local item, where the local item not to keep is not the local item to keep;identifying a change when at least one piece of item not to keep item information is different from item to keep item information; merging the change from the item not to keep into the item to keep; and sending a delete command for the item not to keep.
-
Specification