IP Library Granted Patent US 10,469,626
Granted Patent B2
US 10,469,626 · App. 16/012,940 · Granted Nov 5, 2019

Systems and methods of address book management

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,469,626
App. No.
16/012,940
Granted
Nov 5, 2019
Kind
B2
Abstract

A server comprising a processor circuit and a database may receive address book data comprising information associated with at least one contact from a communication device via a network. The processor circuit may identify information associated with the at least one contact in the database and/or from public data. The processor circuit may add the identified information to the address book data. The processor circuit may store the address book data with the added information in the database and send the added information with or without the address book data to the communication device via the network.

Claims (67)

1. A method comprising:

receiving, by a server from a communication device, address book data comprising a received contact associated with a contact identifier;

retrieving, from a database, stored address book data comprising information associated with the received contact;

when only one contact associated with the contact identifier is identifiable from the stored address book data, then adding a merged contact comprising the received contact and the only one contact to the stored address book data, and sending, by the server to the communication device, at least some information for the merged contact; and

when two or more contacts associated with the contact identifier are identifiable from the stored address book data, then sending, by the server to the communication device, at least some of the information associated with one of the two or more contacts having a highest confidence value,

wherein when a respective contact was created by a user or imported from an external source, the confidence value for the respective contact is generated based on whether the contact was created by the user, or imported from the external source.

2. The method of claim 1 , wherein when the two or more contacts associated with the contact identifier are identifiable from the stored address book data, the method further comprises:

applying a machine learning classifier to the received contact in the received address book data to determine a probability that the received contact in the received address book data and one of the two or more contacts in the stored address book data are the same contact; and

determining that the received contact in the received address book data and the one of the two or more contacts in the stored address book data are the same contact when the probability equals or exceeds a threshold value.

3. The method of claim 1 , wherein the merged contact is merged by a method comprising clustering the received contact in the received address book data and the only one contact in the stored address book by applying a clustering algorithm which uses a distance function to group the received contact in the received address book data and the only one contact in the stored address book based on a distance between the received contact in the received address book data and the only one contact in the stored address book.

4. The method of claim 1 , wherein the only one contact associated with the contact identifier is identifiable from the stored address book data is determined by:

selecting the only one contact from among a plurality of contacts in the received address book data;

generating a list of candidate contacts from among a plurality of contacts in the stored address book data; and

comparing the only one contact with the candidate contacts.

5. The method of claim 4 , wherein the comparing comprises:

matching a name in the only one contact to a name in at least one of the candidate contacts;

matching a source and an ID associated with the only one contact to a source and an ID associated with at least one of the candidate contacts; and/or

matching an origin and an ID associated with the only one contact to an origin and an ID associated with at least one of the candidate contacts.

6. The method of claim 1 , wherein:

the stored address book data further comprises at least one confidence value for each contact in the stored address book data; and

when the two or more contacts associated with the contact identifier are identifiable from the stored address book data, selecting one of the two or more having a highest confidence value as the same contact as the received contact in the received address book data.

7. The method of claim 1 , further comprising:

identifying information associated with the only one contact from a public data source by searching the public data source for information related to a contact in the received address book data;

adding the identified information to the retrieved address book data when the information related to the received contact in the received address book data is found; and

storing the address book data with the added information in the database.

8. The method of claim 7 , wherein the public data source is at least one of stored in the database, comprises directory data, or comprises crowdsourced data.

9. The method of claim 7 , wherein the adding comprises clustering the found information and the contact in the stored address book by applying a clustering algorithm which uses a distance function to group the found information and the contact in the stored address book based on a distance between the found information and the contact in the stored address book.

10. The method of claim 1 , wherein the one of the two or more contacts having a highest confidence value is selected by a method comprising:

clustering two or more separate groups of the two or more contacts by applying a clustering algorithm which uses a distance function to group the two or more contacts with one another based on a distance between the two or more contacts; and

selecting one of the two or more separate groups.

11. A system comprising:

a memory comprising instructions; and

one or more processors configured to execute the instructions to:

receive address book data comprising a received contact associated with a contact identifier;

retrieve, from a database, stored address book data comprising information associated with the received contact;

when only one contact associated with the contact identifier is identifiable from the stored address book data, then add a merged contact comprising the received contact and the only one contact to the stored address book data in the database, and send, to a communication device, at least some of the added information for the merged contact; and

when two or more contacts associated with the contact identifier are identifiable from the stored address book data, then send, to the communication device via a network, at least some of the information associated with one of the two or more contacts having a highest confidence value,

wherein when a respective contact was created by a user or imported from an external source, the confidence value for the respective contact is generated based on whether the contact was created by the user, or imported from the external source.

12. The system of claim 11 , wherein when the two or more contacts associated with the contact identifier are identifiable from the stored address book data, the processor is configured to:

apply a machine learning classifier to the received contact in the received address book data to determine a probability that the received contact in the received address book data and one of the two or more contacts in the stored address book data are the same contact; and

determine that the received contact in the received address book data and one of the two or more contacts in the stored address book data are the same contact when the probability equals or exceeds a threshold value.

13. The system of claim 11 , wherein the merged contact is merged by a method comprising clustering the received contact in the received address book and the only one contact in the stored address book by applying a clustering algorithm which uses a distance function to group the received contact in the received address book and the only one contact in the stored address book based on a distance between the received contact in the received address book and the only one contact in the stored address book.

14. The system of claim 11 , wherein the only one contact associated with the contact identifier is identifiable from the stored address book data is determined by the processor being configured to:

select the only one contact from among a plurality of contacts in the received address book data;

generate a list of candidate contacts from among a plurality of contacts in the stored address book data; and

compare the only one contact with the candidate contacts.

15. The system of claim 14 , wherein the processor is configured to compare the selected contact with the candidate contacts by:

matching a name in the only one contact to a name in at least one of the candidate contacts;

matching a source and an ID associated with the selected contact to a source and an ID associated with at least one of the candidate contacts; and/or

matching an origin and an ID associated with the selected contact to an origin and an ID associated with at least one of the candidate contacts.

16. The system of claim 11 , wherein:

the stored address book data further comprises at least one confidence value for each contact in the stored address book data; and

when the two or more contacts associated with the contact identifier are identifiable from the stored address book data, the processor is further configured to select one of the two or more contacts having a highest confidence value as the same contact as the received contact in the received address book data.

17. The system of claim 11 , wherein the processor is further configured to:

identify information associated with the only one contact in from a public data source by searching the public data source for information related to a contact in the received address book data; and

add the identified information to the retrieved address book data when the information related to the received contact in the received address book data is found; and

store the address book data with the added information in the database.

18. The system of claim 11 , wherein the one or more processors is configured to add the identified information by clustering the found information and the contact in the stored address book by applying a clustering algorithm which uses a distance function to group the found information and the contact in the stored address book based on a distance between the found information and the contact in the stored address book.

19. The system of claim 11 , wherein the one or more processors is configured to select the one of the two or more contacts having a highest confidence value by:

clustering two or more separate groups of the two or more contacts by applying a clustering algorithm which uses a distance function to group the two or more contacts with one another based on a distance between the two or more contacts; and

selecting one of the two or more separate groups.

20. A non-transitory machine-readable storage medium comprising machine-readable instructions for causing a processor to execute a method comprising:

receiving, by a server from a communication device, address book data comprising a received contact associated with a contact identifier;

retrieving, from a database, stored address book data comprising information associated with the received contact;

when only one contact associated with the contact identifier is identifiable from the stored address book data, then adding a merged contact comprising the received contact and the only one contact to the stored address book data, and sending, by the server to the communication device, at least some information for the merged contact; and

when two or more contacts associated with the contact identifier are identifiable from the stored address book data, then sending, by the server to the communication device, at least some of the information associated with one of the two or more contacts having a highest confidence value,

wherein when a respective contact was created by a user or imported from an external source, the confidence value for the respective contact is generated based on whether the contact was created by the user, or imported from the external source.

Assignments (10)
SECURITY INTEREST Recorded Aug 5, 2024
From: 8X8, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 068327/0819 →
RELEASE OF SECURITY INTEREST Recorded Aug 5, 2024
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: 8X8, INC.; FUZE, INC.
Reel/Frame 068328/0569 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS SECTION TO REMOVE APPLICATION NUMBERS 11265423, 11252205, 11240370, 11252276, AND 11297182 PREVIOUSLY RECORDED ON REEL 061085 FRAME 0861. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY SECURITY AGREEMENT. Recorded Jan 26, 2024
From: 8X8, INC.; FUZE, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 066383/0936 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: 8X8, INC.; FUZE, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 061085/0861 →
RELEASE OF SECURITY INTEREST Recorded Jan 19, 2022
From: AB PRIVATE CREDIT INVESTORS LLC
To: FUZE, INC.
Reel/Frame 058768/0103 →
SECURITY INTEREST Recorded Sep 23, 2019
From: FUZE, INC.
To: AB PRIVATE CREDIT INVESTORS LLC
Reel/Frame 050463/0723 →
CHANGE OF NAME Recorded Jun 20, 2018
From: THINKING PHONE NETWORKS, INC.
To: FUZE, INC.
Reel/Frame 046396/0603 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2018
From: CONTACTIVE INC.
To: THINKING PHONE NETWORKS, INC.
Reel/Frame 046144/0737 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2018
From: PIXABLE, INC.
To: CONTACTIVE INC.
Reel/Frame 046144/0662 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2018
From: TOLEDO, ALBERTO LOPEZ; SOTILLO, JULIO ANDRES VIERA; BERENGUER, INAKI; VILASECA, JOAQUIM CASTELLÀ
To: PIXABLE, INC.
Reel/Frame 046144/0652 →