# US 2014/0156650 A1 · Classifying a portion of user contact data into local contacts

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0156650 A1
- Document ID: US20140156650A1
- Status: Published application
- Kind: A1
- Application number: 13/693,955
- Filed: 2012-12-04
- Published: 2014-06-05
- Earliest claimed: 2012-12-04
- Assignees: Yahoo! Inc.
- Applicants: Yahoo! Inc.
- Inventors: Joshua Robert Russell Jacobson
- Web page: https://patentgrep.com/patent/US20140156650A1

## CPC

- G06Q 10/10: Office automation; Time management
- G06F 16/951: Indexing; Web crawling techniques
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/9538: Presentation of query results
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Contact data for contacts of a user is stored. Each of the contacts is ranked (e.g., based on stored profile information for each contact). In one embodiment, each of the contacts is classified as either a local contact or a directory contact based on the ranking to provide local contacts and directory contacts. The local contacts are provided for local storage on a user device of the user. A directory contact is provided to the user device from the directory contacts by the server (e.g., in response to a query from the user device).

## Claims

### Claim 1

A method, comprising:
storing contact data for each of a plurality of users including a first user, the contact data comprising a plurality of contacts for the first user;
ranking each of the plurality of contacts to provide a first ranking associated with a first user device of the first user;
classifying, by a server platform, each of the plurality of contacts as either a local contact or a directory contact based on the first ranking to provide a first set of local contacts and a first set of directory contacts;
providing the first set of local contacts for local storage on the first user device, wherein the first set of local contacts includes a first local contact; and
providing, by the server platform, to the first user device, a first directory contact from the first set of directory contacts.

### Claim 2 (depends on 1)

The method of claim 1, wherein the providing the first directory contact is responsive to a query from the first user device.

### Claim 3 (depends on 1)

The method of claim 1, further comprising ranking each of the plurality of contacts to provide a second ranking associated with a second user device of the first user, wherein the second ranking is based at least on a likelihood that future communication with each respective contact will be performed via the second user device.

### Claim 4 (depends on 3)

The method of claim 3, wherein the likelihood of future communication is determined based at least on a prior communication history with the respective contact.

### Claim 5 (depends on 1)

The method of claim 1, wherein the first local contact is stored on the first user device as a first option to be provided to the first user when completing an input field of a user interface of the first user device, and the first directory contact is provided as a second option to be provided to the first user when completing the input field.

### Claim 6 (depends on 1)

The method of claim 1, wherein the providing the first directory contact is responsive to a query from the first user device, and further comprising providing a second directory contact and a third directory contact, each from the set of directory contacts, to the first user device responsive to the query, wherein the first, second, and third directory contacts are provided in a ranked order based on the first ranking.

### Claim 7 (depends on 1)

The method of claim 1, wherein the ranking of each of the plurality of contacts comprises ranking each contact using unique profile information for the contact.

### Claim 8 (depends on 1)

The method of claim 1, wherein the first set of local contacts is provided to the first user device via an address book server of the server platform, and the first directory contact is provided to the first user device via a directory server of the server platform.

### Claim 9 (depends on 1)

The method of claim 1, wherein the first ranking is based at least on a user context of the first user device, the method further comprising:
ranking the plurality of contacts based on at least a user context of a second user device of the first user to provide a second ranking associated with the second user device; and
classifying, by the server platform, each of the plurality of contacts as either a local contact or a directory contact based on the second ranking to provide a second set of local contacts and a second set of directory contacts;
providing the second set of local contacts for local storage on the second user device; and
providing a second directory contact, from the second set of directory contacts, to the second user device.

### Claim 10 (depends on 9)

The method of claim 9, wherein the user context of the first user device is based at least on one of a physical characteristic of the first user device, and a time of day.

### Claim 11

A system, comprising:
a display for presenting a user interface to a user;
memory storing a first set of local contacts, wherein the first set of local contacts includes a first local contact, wherein the first set of local contacts has been provided from a server platform, and wherein each of the local contacts has a rank determined by the server platform;
at least one processor; and
memory storing instructions configured to instruct the at least one processor to:
provide the first local contact as a first option for a user when completing an input field of the user interface;
send a query to the server platform when the user is completing the input field;
receive, from the server platform, a first directory contact responsive to the query, wherein the first directory contact is one of a first set of directory contacts stored at the server platform, and wherein each of the directory contacts has a rank determined by the server platform; and
provide the first directory contact as a second option for the user when completing the input field.

### Claim 12 (depends on 11)

The system of claim 11, wherein the server platform:
stores contact data for each of a plurality of users including the user, and the contact data comprises a plurality of contacts for the user;
ranks each of the plurality of contacts to provide a ranking;
classifies each of the plurality of contacts as either a local contact or a directory contact based on the ranking to define the first set of local contacts and the first set of directory contacts;
provides the first set of local contacts for local storage on a user device of the user; and
provides the first directory contact from the first set of directory contacts.

### Claim 13 (depends on 11)

The system of claim 11, wherein the instructions are further configured to instruct the at least one processor to receive, from the server platform, when the user is completing the input field, a second directory contact and a third directory contact, wherein the first, second, and third directory contacts are each presented on the display in a ranked order based on a respective rank determined by the server platform.

### Claim 14

A non-transitory computer-readable storage medium storing computer-readable instructions, which when executed, cause a system to:
store contact data for each of a plurality of users including a first user, the contact data comprising a plurality of contacts for the first user;
rank each of the plurality of contacts to provide a ranking;
classify, by at least one processor, each of the plurality of contacts as either a local contact or a directory contact based on the ranking to provide a first set of local contacts and a first set of directory contacts;
provide the first set of local contacts for local storage on a user device of the user, wherein the first set of local contacts includes a first local contact; and
provide, by the at least one processor, to the user device, a first directory contact from the first set of directory contacts.

### Claim 15 (depends on 14)

The storage medium of claim 14, wherein the ranking is based at least on a likelihood that future communication with each respective contact of the plurality of contacts will be performed via the user device.

### Claim 16 (depends on 14)

The storage medium of claim 14, wherein the first local contact is stored on the user device as a first option to be provided to the first user when completing an input field of a user interface of the user device, and the first directory contact is provided as a second option to be provided to the first user when completing the input field.

### Claim 17 (depends on 14)

The storage medium of claim 14, wherein the providing the first directory contact is responsive to a query from the user device, and wherein the instructions further cause the system to provide a second directory contact and a third directory contact, each from the first set of directory contacts, to the user device responsive to the query, wherein the first, second, and third directory contacts are provided in a ranked order based on the ranking.

### Claim 18 (depends on 14)

The storage medium of claim 14, wherein the first set of local contacts is provided to the user device via an address book server, and the first directory contact is provided to the user device via a directory server.

### Claim 19 (depends on 14)

The storage medium of claim 14, wherein the user device is a first user device, the ranking is based at least on a user context of the first user device, and the instructions further cause the system to:
rank the plurality of contacts based at least on a user context of a second user device of the user to provide a second ranking associated with the second user device; and
classify each of the plurality of contacts as either a local contact or a directory contact based on the second ranking to define a second set of local contacts and a second set of directory contacts;
provide the second set of local contacts for local storage on the second user device; and
provide a second directory contact, from the second set of directory contacts, responsive to a query from the second user device.

### Claim 20 (depends on 19)

The storage medium of claim 19, wherein the user context of the first user device is based at least on a physical characteristic of the first user device.

### Claim 21

A method, comprising:
storing contact data for each of a plurality of users including a first user, the contact data comprising a plurality of contacts for the first user;
ranking each of the plurality of contacts to provide a ranking associated with a first user device of the first user;
classifying, by a server platform, a portion of the plurality of contacts as each being a local contact based on the ranking to provide a set of local contacts;
providing the set of local contacts for local storage on the first user device, wherein the set of local contacts includes a first local contact; and
providing, by the server platform, to the first user device, a first directory contact from the plurality of contacts.
