System and method of merging contacts
First Claim
Patent Images
1. A method of merging contact information received from multiple sources comprising the acts of:
- identifying a first data record in a contact store including a first information content as representing a contact and having been received from a remote store;
identifying a second data record in the contact store, having a second information content differing from the first data record, and representing the contact;
merging the first data record and the second data record into a single contact record stored in the contact store, at least one multi-valued field in the single contact record containing values from both the first data record and the second data record, and wherein the merging comprises determining that the first data record includes an incorrect value for a single-values property of the contact and the second data record includes a correct value for the single-values property of the contact, including the correct value in the single contact record, omitting the incorrect value from the single contact record, and storing an indication that the first data record from the remote store contains an incorrect value of the single-values property;
removing the first data record and the second data record from the contact store;
subsequent to the merging, receiving the first data record from the remote store;
determining that the first data record, received subsequent to the merging, came from the remote store; and
based on the determining and the stored indication, ignoring the incorrect value and merging the first data record, received subsequent to the merging, into the single contact record without the incorrect value;
wherein the acts of identifying the first data record, identifying the second data record, merging the first data record, removing, receiving, determining, and merging the first data record received subsequent to the merging, are performed by at least one processor.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of merging contact information received from multiple sources. The method includes acts of identifying a first data record including a first information content as representing a contact, identifying a second data record that has a second information content differing from the first data record and represents the contact, and merging the first data record and the second data record into a single contact record.
95 Citations
31 Claims
-
1. A method of merging contact information received from multiple sources comprising the acts of:
-
identifying a first data record in a contact store including a first information content as representing a contact and having been received from a remote store; identifying a second data record in the contact store, having a second information content differing from the first data record, and representing the contact; merging the first data record and the second data record into a single contact record stored in the contact store, at least one multi-valued field in the single contact record containing values from both the first data record and the second data record, and wherein the merging comprises determining that the first data record includes an incorrect value for a single-values property of the contact and the second data record includes a correct value for the single-values property of the contact, including the correct value in the single contact record, omitting the incorrect value from the single contact record, and storing an indication that the first data record from the remote store contains an incorrect value of the single-values property; removing the first data record and the second data record from the contact store; subsequent to the merging, receiving the first data record from the remote store; determining that the first data record, received subsequent to the merging, came from the remote store; and based on the determining and the stored indication, ignoring the incorrect value and merging the first data record, received subsequent to the merging, into the single contact record without the incorrect value; wherein the acts of identifying the first data record, identifying the second data record, merging the first data record, removing, receiving, determining, and merging the first data record received subsequent to the merging, are performed by at least one processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. In a computer system having a graphical user interface including a display and a user interface selection device, a method of interacting with a user to merge contacts comprising:
-
displaying a plurality of contacts from a contact store; receiving an indication to merge at least two contacts of the plurality of contacts; merging the at least two contacts to result in a merged contact, wherein the merging comprises determining that at least one of the at least two contacts includes an incorrect value for a single-values property, determining that the at least one contact including the incorrect value for the single-values property came from a remote store, storing an indication that the at least one contact including the incorrect value for the single-values property came from the remote store, and omitting the incorrect value from the merged contact; saving the merged contact, at least one multi-valued field in the merged contact containing values from at least two contacts of the at least two contacts; removing at least one of the plurality of contacts from the contact store; receiving a contact from the remote store; determining that the contact received from the remote store contains the incorrect value for the single-values property, and in response to the determining and based on the stored indication, preventing the contact received from the remote store from being merged with the merged contact. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A method of merging contact data comprising:
-
merging a plurality of contact data records stored in a contact store into a composite merged contact, wherein at least one multi-valued field in the composite merged contact contains values from at least two of the plurality of contact data records; identifying conflicting single valued data in the plurality of contact data records; resolving conflicting single valued data fields from the plurality of contact data records into the composite merged contact, wherein the resolving includes creating a log, querying a user to select a retained single-valued data field from a plurality of conflicting single-valued data fields contained in the log, including the retained single-valued data field in the merged contact; storing an indication that the non-selected single-valued data fields from the plurality of conflicting single-valued data fields came from at least one specific source and were rejected by the user; storing the composite merged account in the contact store; archiving the plurality of contact data records; receiving a contact record from the at least one specific source; determining that the contact record received from the at least one specific source includes a single-valued data field identified in the stored indication; and in response to the determining, preventing the contact record received from the at least one specific source from being merged into the composite merged contact; wherein the merging, identifying, resolving, receiving, determining, and preventing are performed by at least one processor.
-
-
22. A data processing system configured to communicate with an external network comprising:
-
a first processor of a remote contact store; a first memory coupled to the first processor and comprising program instructions stored thereon, the processor being configured to execute the program instructions, the program instructions including instructions that when executed cause the first processor to perform; receiving a contact record; storing the contact record; and transmitting the contact record; a second processor of a contact store; a second memory coupled to the second processor and comprising program instructions stored thereon, the processor being configured to execute the program instructions stored on the second memory, the program instructions stored on the second memory including instructions that when executed by the second processor cause the second processor to perform; receiving the contact record transmitted from the first memory; storing the received contact record in the second memory; finding a conflicting contact record stored in the second memory; merging the conflicting contact record with the received contact record to form a composite merged contact, wherein the merging comprises determining that the received contact record includes an incorrect value for a single-values property of the contact and omitting the incorrect value from the composite merged contact; storing the merged contact in the second memory; storing an indication that the received contact record includes the incorrect value for the single-values property of the contact, the indication also identifying a source of the received contact record; removing the received contact record and the conflicting contact record from the second memory; receiving an other contact record transmitted from the first memory; determining that the other contact record originated from the source identified in the stored indication; and in response to the determining, preventing the other contact record from being merged with the composite merged contact. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
-
29. A computer readable storage medium comprising computer program instructions stored thereon that, when executed by at least one computer, cause the at least one computer to perform:
-
displaying a plurality of contacts from a contact store; receiving an indication to merge at least two contacts of the plurality of contacts; merging the at least two contacts to result in a merged contact, wherein the merging comprises determining that at least one of the at least two contacts includes an incorrect value for a single-values property, determining that the at least one contact including the incorrect value for the single-values property came from a remote store, storing an indication that the at least one contact including the incorrect value for the single-values property came from the remote store, and omitting the incorrect value from the merged contact; saving the merged contact, at least one multi-valued field in the merged contact containing values from at least two contacts of the at least two contacts; removing at least one of the plurality of contacts from the contact store; receiving a contact from the remote store; determining that the contact received from the remote store contains the incorrect value for the single-values property, and in response to the determining and based on the stored indication, preventing the contact received from the remote store from being merged with the merged contact. - View Dependent Claims (30, 31)
-
Specification