Searching and ranking contacts in contact database
First Claim
1. A method performed by a server device, the method comprising:
- receiving, by the server device from a mobile device corresponding to a reference contact in a database of contacts, a request for contacts in the database of contacts linked, via one or more other contacts in the database of contacts, to one or more contacts, associated with the reference contact, identified in contact information for a subset of the database of contacts;
searching, by a processor of the server device, contact information for the one or more other contacts in the database of contacts to identify a type and a number of contact links linking each of the requested contacts to the one or more contacts identified in the contact information for the subset of the database of contacts;
determining, by a processor of the server device, a database distance between the reference contact and each of the requested contacts, based on the type and the number of the contact links linking each of the requested contacts to the one or more contacts identified in the contact information for the subset of the database of contacts;
determining, by a processor of the server device, a proximity of respective mobile devices, identified in contact information associated with different ones of the requested contacts, relative to the first mobile device;
ranking, by a processor of the server device, the requested contacts based on;
the determined database distances andthe determined proximities; and
providing the ranked contacts and at least a phone number identified in the contact information associated with each of the respective mobile devices, to the first mobile device.
1 Assignment
0 Petitions
Accused Products
Abstract
In one aspect, a method may include receiving a request from a first mobile device for a search for contacts meeting a criterion; searching a database of contacts for the contacts meeting the criterion and including the contacts meeting the criterion in search results; determining whether a second mobile device associated with one of the contacts meeting the criterion is within a vicinity of the first mobile device; and ranking the search results based on the determination. In another aspect, the method may further include determining a database distance between a reference contact and each of one or more of the search results, where the request is associated with a reference contact in the database of contacts; and ranking the search results based on the determined database distance; where the database of contacts may include a plurality of subsets of contacts, where contacts in the subsets are linked to another contact in the database of contacts; where determining a database distance between the reference contact and each of the one or more of the search results may include determining the number of links between the reference contact and each of one or more of the search results.
-
Citations
14 Claims
-
1. A method performed by a server device, the method comprising:
-
receiving, by the server device from a mobile device corresponding to a reference contact in a database of contacts, a request for contacts in the database of contacts linked, via one or more other contacts in the database of contacts, to one or more contacts, associated with the reference contact, identified in contact information for a subset of the database of contacts; searching, by a processor of the server device, contact information for the one or more other contacts in the database of contacts to identify a type and a number of contact links linking each of the requested contacts to the one or more contacts identified in the contact information for the subset of the database of contacts; determining, by a processor of the server device, a database distance between the reference contact and each of the requested contacts, based on the type and the number of the contact links linking each of the requested contacts to the one or more contacts identified in the contact information for the subset of the database of contacts; determining, by a processor of the server device, a proximity of respective mobile devices, identified in contact information associated with different ones of the requested contacts, relative to the first mobile device; ranking, by a processor of the server device, the requested contacts based on; the determined database distances and the determined proximities; and providing the ranked contacts and at least a phone number identified in the contact information associated with each of the respective mobile devices, to the first mobile device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method performed by a server device, the method comprising:
-
receiving, by the server device from a first device, a request for contacts linked, via one or more contact links, to a reference contact, identified in contact information stored in a database of a plurality of contacts, wherein the reference contact corresponds to the first device; searching, by a processor of the server device, contact information for the requested contacts to identify the one or more contact links linking each of the requested contacts to the reference contact, wherein the contact information for the reference contact does not include a forward contact link to any of the requested contacts; determining, by a processor of the server device, whether respective mobile devices associated with different ones of the requested contacts are within a vicinity of the first device; ranking, by a processor of the server device, the requested contacts based on the determination of whether the respective devices are within the vicinity; and ranking, by a processor of the server device, the requested contacts based on a correlation between the reference contact and different ones of the requested contacts, wherein the correlation is based on at least one of a calendar event, a search time, an update time, or a country code, associated with the reference contact, and at least one of a calendar event, a search time, an update time, or a country code, respectively, associated with the different ones of the requested contacts.
-
-
9. A device comprising:
-
a receiver to receive a request from a first mobile device corresponding to a reference contact in a database of contacts, for contacts in the database of contacts linked, via one or more other contacts, one or more contacts, associated with the reference contact, identified in contact information for a subset of the database of contacts; and a processor to; search the database for contact information for the one or more other contacts in the database of contacts to identify a type and a number of contact links linking each of the requested contacts to the one or more contacts identified in the contact information for the subset of the database of contacts, determine a database distance between a reference contact and each of one or more the requested contacts, based on the type and the number of the contact links linking each of the requested contacts to the one or more contacts identified in the contact information for the subset of the database of contacts, determine a proximity of respective mobile devices, identified in contact information associated with different ones of the requested contacts, relative to the first mobile device, rank the search results based on; the determined database distances, and the determined proximities; and provide the ranked requested contacts and at least a phone number identified in the contact information associated with each of the respective mobile devices, to the first mobile device. - View Dependent Claims (10, 11, 12)
-
-
13. A device comprising:
-
means for receiving a request from a first mobile device corresponding to a reference contact in a contact database, for contacts in the contact database linked, via one or more other contacts in the contact database, to one or more contacts, associated with the reference contact, identified in contact information for a subset of contacts in the contact database; means for searching contact information for the one or more other contacts in the contact database to identify a type and a number of contact links linking each of the requested contacts to the one or more contacts identified in the contact information for the subset of contacts; means for determining a database distance between the reference contact and each of the requested contacts, based on the type and the number of the contact links linking each of the requested contacts to the one or more contacts identified in the contact information for the subset of contacts; means for determining whether a proximity of respective mobile devices, identified in contact information associated with different ones of the requested contacts, relative to the first mobile device; means for ranking the requested contacts based on the determined database distances; means for ranking the requested contacts based on a correlation between the reference contact and each of the requested contacts; means for ranking the requested contacts based on the determined proximities; and means for providing, based on the ranking, the ranked contacts and at least a phone number identified in the contact information associated with each of the respective mobile devices, to the first mobile device. - View Dependent Claims (14)
-
Specification