Patent ID: 8751442

Claim:
A method performed by a local endpoint having a local instance of a Personal Information Management (PIM) application, the method comprising: receiving, from a first remote endpoint, a first new item instruction for a first item during a feed synchronization session using a feed synchronization protocol comprising rules for communicating data, wherein: the first new item instruction comprises first item information and a feed ID that is assigned to the first item information by the feed synchronization protocol, and the first new item instruction is received from the first remote endpoint by subscribing to a feed that uses the feed synchronization protocol; responsive to receiving the first new item instruction, creating a local instance of the first item on the local endpoint, wherein the local instance of the first item is created on the local endpoint and assigned a first application ID by the local instance of the PIM application, wherein the first application ID is different than the feed ID and the local instance of the first item includes the first item information; synchronizing with a second remote endpoint by receiving a second new item instruction from a second instance of the PIM application on the second remote endpoint, the second new item instruction identifying a second item and being received during a PIM application synchronization session using a PIM application synchronization protocol, wherein: the second item identified by the second new item instruction received from the second remote endpoint is also assigned the feed ID assigned by the feed synchronization protocol, the second item is received with a second application ID assigned by the second instance of the PIM application on the second remote endpoint, the second application ID being different than the first application ID and the feed ID, and the PIM application synchronization protocol is particular to the PIM application, comprises different rules than the feed synchronization protocol, and is not used for the feed to which the local endpoint is subscribed; determining that the local instance of the first item having the first application ID and the second item received with the second application ID are duplicates based on both the first item and the second item being assigned the feed ID; determining that the second application ID is greater than the first application ID; and responsive to determining that the second application ID is greater than the first application ID, storing the second item on the local endpoint and deleting the local instance of the first item from the local endpoint, wherein the local endpoint is a computing device other than the first remote endpoint and the second remote endpoint.