IP Library Granted Patent US 9,819,768
Granted Patent B2
US 9,819,768 · App. 14/570,761 · Granted Nov 14, 2017

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 9,819,768
App. No.
14/570,761
Granted
Nov 14, 2017
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 (114)

1. A method comprising:

receiving, by a server comprising a processor circuit from a communication device via a network, address book data comprising a plurality of contacts comprising a received contact associated with a contact identifier;

retrieving, from a database of the server, stored address book data comprising information associated with the received contact and at least one confidence value associated with the received contact;

when only one contact associated with the contact identifier is identifiable from the stored address book data, then:

merging the received contact in the received address book and the only one contact in the stored address book to form a merged contact;

adding the merged contact to the stored address book data in the database; and

sending, by the server to the communication device via the network, at least some of the added information for the merged contact;

when two or more contacts associated with the contact identifier are identifiable from the stored address book data, then:

selecting one of the two or more contacts having a highest confidence value; and

sending, by the server to the communication device via the network, at least some of the information associated with the selected one contact,

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

2. The method of claim 1 , wherein the received address book data comprises a received revision number.

3. The method of claim 2 , further comprising sending an instruction to the communication device to increase a revision number for the address book data of the communication device when sending the at least some of the added information for the merged contact to the communication device.

4. The method of claim 2 , further comprising:

retrieving, with the processor circuit, stored address book data comprising a stored revision number contact from the database;

comparing, with the processor circuit, the received revision number with the stored revision number;

when the received revision number is less than the stored revision number, sending, with the processor circuit, the stored address book data to the communication device via the network; and

when the received revision number is greater than the stored revision number, adding, with the processor circuit, the received address book data to the stored address book data in the database, wherein the adding comprises increasing the stored revision number to be equal to the received revision number.

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

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.

6. The method of claim 1 , wherein the merging comprises 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.

7. The method of claim 1 , wherein the determining comprises:

selecting one of the 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 selected contact with the candidate contacts.

8. The method of claim 7 , wherein the comparing comprises:

matching a name in the selected 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.

9. 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.

10. The method of claim 1 , further comprising:

identifying information associated with the at least 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;

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.

11. The method of claim 10 , wherein the public data source is stored in the database.

12. The method of claim 10 , wherein the public data source comprises directory data.

13. The method of claim 10 , wherein the public data source comprises crowdsourced data.

14. The method of claim 10 , wherein the searching of the public data source comprises ignoring search terms contained in a blacklist.

15. The method of claim 10 , 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 searching returns at least two results, the searching further comprises selecting one of the at least two results having a highest confidence value.

16. The method of claim 10 , 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.

17. The method of claim 1 , wherein the selecting comprises:

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.

18. The method of claim 1 , wherein the communication device is associated with a user, further comprising sending, with the processor circuit, the stored address book data to a second communication device associated with the user via the network.

19. The method of claim 1 , further comprising querying, with the processor circuit, the address book data to identify at least one relationship between at least two of the contacts.

20. The method of claim 19 , wherein the at least one relationship has a confidence value.

21. A system comprising:

a database; and

a processor circuit in communication with the database, the processor circuit configured to:

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

retrieve, from the database, stored address book data comprising information associated with the received contact and at least one confidence value associated with the received contact;

when only one contact associated with the contact identifier is identifiable from the stored address book data, then:

merge the received contact in the received address book and the only one contact in the stored address book to form a merged contact;

add the merged contact to the stored address book data in the database; and

send, to a communication device via a network, at least some of the added information for the merged contact;

when two or more contacts associated with the contact identifier are identifiable from the stored address book data, then:

select one of the two or more contacts having a highest confidence value; and

send, to the communication device via the network, at least some of the information associated with the selected one contact

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

22. The system of claim 21 , wherein the received address book data comprises a received revision number.

23. The system of claim 22 , wherein the processor circuit is further configured to send an instruction to the communication device to increase the revision number for the address book data of the communication device when sending the at least some of the added information for the merged contact to the communication device.

24. The system of claim 22 , wherein the processor circuit is further configured to:

retrieve stored address book data comprising a stored revision number contact from the database;

compare the received revision number with the stored revision number;

when the received revision number is less than the stored revision number, send the stored address book data to the communication device via the network; and

when the received revision number is greater than the stored revision number, add the received address book data to the stored address book data in the database, wherein the adding comprises increasing the stored revision number to be equal to the received revision number.

25. The system of claim 21 , wherein when the two or more contacts associated with the contact identifier are identifiable from the stored address book data the processor circuit 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.

26. The system of claim 21 , wherein the merging comprises 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.

27. The system of claim 21 , wherein the processor circuit is configured to determine that a contact in the received address book data and a contact in the stored address book data are the same contact by:

selecting one of the 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 selected contact with the candidate contacts.

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

matching a name in the selected 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.

29. The system of claim 21 , 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 circuit 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.

30. The system of claim 21 , wherein the processor circuit is further configured to:

identify information associated with the at least 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.

31. The system of claim 30 , wherein the public data source is stored in the database.

32. The system of claim 30 , wherein the public data source comprises directory data.

33. The system of claim 30 , wherein the public data source comprises crowd sourced data.

34. The system of claim 30 , wherein the processor circuit is configured to search the public data source for information related to a contact in the received address book data by ignoring search terms contained in a blacklist.

35. The system of claim 30 , 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 searching returns at least two results, the processor circuit is further configured to select one of the at least two results having a highest confidence value.

36. The system of claim 30 , wherein the processor circuit 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.

37. The system of claim 21 , wherein the processor circuit 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.

38. The system of claim 21 , wherein the communication device is associated with a user, wherein the processor circuit is further configured to send the stored address book data to a second communication device associated with the user via the network.

39. The system of claim 21 , wherein the processor circuit is further configured to query the address book data to identify at least one relationship between at least two of the contacts.

40. The system of claim 39 , wherein the at least one relationship has a confidence value.

41. A communication device configured to communicate with the system of claim 21 , comprising:

a user interface; and

a processor circuit in communication with the user interface, the processor circuit configured to:

send the address book data via the network;

receive either the at least some of the added information for the merged contact or the at least some of the information associated with the selected one contact via the network.

42. The communication device of claim 41 , wherein:

the address book data comprises a revision number; and

the processor circuit is further configured to:

receive a change to the address book data via the user interface; and

when the change to the address book data is received via the user interface, increment the revision number.

Assignments (17)
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 →
RELEASE OF SECURITY INTEREST Recorded Jan 4, 2022
From: TRIPLEPOINT VENTURE GROWTH BDC CORP.
To: FUZE, INC. (FKA THINKING PHONE NETWORKS, INC.)
Reel/Frame 058570/0812 →
SECURITY INTEREST Recorded Sep 23, 2019
From: FUZE, INC.
To: AB PRIVATE CREDIT INVESTORS LLC
Reel/Frame 050463/0723 →
RELEASE OF SECURITY INTEREST Recorded Sep 23, 2019
From: HERCULES CAPITAL, INC.
To: FUZE, INC.
Reel/Frame 050463/0395 →
RELEASE OF SECURITY INTEREST Recorded Sep 20, 2019
From: SILICON VALLEY BANK
To: FUZE, INC.
Reel/Frame 050449/0592 →
SECOND AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 28, 2017
From: FUZE, INC.
To: SILICON VALLEY BANK
Reel/Frame 043688/0446 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 30, 2017
From: FUZE, INC.
To: HERCULES CAPITAL, INC., FORMERLY KNOWN AS HERCULES TECHNOLOGY GROWTH CAPITAL, INC., AS AGENT
Reel/Frame 043072/0472 →
AMENDMENT TO SECURITY AGREEMENT Recorded Dec 29, 2016
From: FUZE, INC.
To: SILICON VALLEY BANK
Reel/Frame 041211/0827 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: CONTACTIVE INC.
To: THINKING PHONE NETWORKS, INC.
Reel/Frame 038801/0613 →
CHANGE OF NAME Recorded Jun 3, 2016
From: THINKING PHONE NETWORKS, INC.
To: FUZE, INC.
Reel/Frame 038881/0306 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: TOLEDO, ALBERTO LOPEZ; SOTILLO, JULIO ANDRES VIERA; BERENGUER, INAKI; VILASECA, JOAQUIM CASTELLA
To: PIXABLE, INC.
Reel/Frame 038801/0602 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: PIXABLE, INC.
To: CONTACTIVE INC.
Reel/Frame 038801/0592 →
SECURITY INTEREST Recorded Nov 2, 2015
From: THINKING PHONE NETWORKS, INC.
To: TRIPLEPOINT VENTURE GROWTH BDC CORP.
Reel/Frame 036937/0693 →