Patent ID: 7562104

Claim:
A method in a computer system for synchronizing contact information of contacts, the method being performed by an application associated with a contact store that stores contact information of contacts collected from different contact sources, the method comprising: collecting from the different contact sources contact information of contacts associated with a user; for contacts for whom contact information was collected, storing in the contact store the contact information along with an indication of the contact sources from which the contact information was collected, each contact source having an associated application for updating contact information of the contact source; for each of a plurality of contacts whose contact information was collected from different contact sources, receiving from a user a request to update contact information of the contact; identifying from the contact store the contact source from which the contact information of the contact was collected; and requesting the application associated with the identified contact source to provide a user interface through which the user can update contact information of the contact that is stored in the identified contact source; and for each contact source from which contact information was collected, when the contact source supports providing update event notifications, registering to receive update event notifications from the contact source for contact information of the contact source that has been updated; and when an update event notification is received for the contact source, updating contact information of the contact store to reflect the update to contact information at the contact source; when the contact source does not support providing update event notifications, periodically polling the contact source to determine whether any contact information of the contact source has been updated; and when the polling indicates that contact information has been updated, updating contact information of the contact store to reflect the update to contact information at the contact source so that after contact information of a contact is updated at the contact source of the contact through the user interface provided by the application associated with the contact source, the contact information of the contact is updated at the contact store based on event notification received from the contact source or polling of the contact source.