# US 9,438,961 B2 · Providing a program listing

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

- Number: US 9,438,961 B2
- Document ID: US9438961B2
- Status: Granted
- Kind: B2
- Application number: 14/721,901
- Filed: 2015-05-26
- Published: 2015-09-10
- Granted: 2016-09-06
- Earliest claimed: 2012-01-03
- Assignees: Google Inc.
- Applicants: Google Inc.
- Inventors: Ranjith Jayaram
- Web page: https://patentgrep.com/patent/US9438961B2

## CPC

- H04N 21/4826: {using recommendation lists, e.g. of programmes or channels sorted out according to their score}
- G06F 16/24578: {using ranking}
- H04L 51/04: Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L 51/52: for supporting social networking services
- H04L 67/306: User profiles
- H04N 21/2408: {Monitoring of the upstream path of the transmission network, e.g. client requests (monitoring data switching networks utilization H04L43/0876; scheduling or organising the servicing of application requests H04L67/60)}
- H04N 21/252: {Processing of multiple end-users' preferences to derive collaborative data}
- H04N 21/25866: {Management of end-user data (customer care in data networks H04L41/5077)}
- H04N 21/4312: {involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations}
- H04N 21/44226: {on social networks}
- H04N 21/4532: {involving end-user characteristics, e.g. viewer profile, preferences (monitoring of user activities for profile generation for accessing a video database G06F16/739; user profiles in network data switching protocols H04L67/306; processing of user preferences or user profiles in wireless networks H04W8/18)}
- H04N 21/4788: communicating with other users, e.g. chatting {(arrangements for providing for computer conferences, e.g. chat rooms, to substation in data switching networks H04L12/1813; distributed application using peer-to-peer [P2P] networks H04L67/104)}
- H04N 21/4821: {using a grid, e.g. sorted out by channel and broadcast time}
- H04N 21/84: Generation or processing of descriptive data, e.g. content descriptors {(systems specially adapted for using meta-information in broadcast systems H04H60/73)}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods for providing a program listing include storing user profile data and a user identifier for a user; storing an association of the user identifier with user identifiers for each of the plurality of social contacts of the user; receiving program identifier data representing programs currently being viewed by the social contacts; ranking the program identifier data for each of the plurality of social contacts based at least in part on the user profile data; and sending display data representing the program identifier data for display in an order based on the ranking.

## Claims

### Claim 1

A method comprising:
determining one or more programs currently being viewed by social contacts of a user;
ranking the one or more programs currently being viewed by the social contacts based only upon factors of the user and the social contacts, wherein the ranking is calculated at least in part based on an affinity of each of the social contacts corresponding to the each of the one or more programs with the entity such that a closer affinity applies a better weight to the ranking than a less close affinity; and
generating display data for a rank-ordered display of program identifier data corresponding to the one or more programs, wherein the display data includes at least first program identifier data of a first of the social contacts with a first affinity and second program identifier data of a second of the social contacts with a second affinity that is less close than the first affinity.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
for each of the social contacts, determining an affinity of the social contact based at least in part on social network data.

### Claim 3 (depends on 2)

The method of claim 2, wherein the social network data comprises a user profile of the user and a user profile of the social contact, and
the determining an affinity of the social contact comprises identifying one or more relationships between the user profile of the user and the user profile of the social contact.

### Claim 4 (depends on 2)

The method of claim 2, wherein the social network data comprises a degree between the user and the social contact, wherein the degree is based on the number of contacts shared between the user and the social contact.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
for each of the social contacts, determining an affinity of the social contact based at least in part on a number of times that the user has selected one or more programs associated with the social contact.

### Claim 6 (depends on 1)

The method of claim 1, wherein the display data further comprises at least one identifier for at least one of the social contacts.

### Claim 7 (depends on 6)

The method of claim 6, wherein the at least one identifier for the at least one of the social contacts is displayed alongside feedback of the one or more of the social contacts.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
in response to a user selecting a program, providing program information of the selected program to a social network of the user.

### Claim 9 (depends on 1)

The method of claim 1, wherein the factors of the user comprise a location of the user.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
receiving a user input, wherein the user input corresponds with a genre; and
for each of the one or more programs:
determining whether the program matches the genre; and
excluding the program from the rank-ordered display in response to determining that the program does not match the genre.

### Claim 11

A system comprising:
a memory; and
a hardware processor configured to:
determine one or more programs currently being viewed by social contacts of a user;
rank the one or more programs currently being viewed by the social contacts based only upon factors of the user and the social contacts, wherein the ranking is calculated at least in part based on an affinity of each of the social contacts corresponding to the each of the one or more programs with the entity such that a closer affinity applies a better weight to the ranking than a less close affinity; and
generate display data for a rank-ordered display of program identifier data corresponding to the one or more programs, wherein the display data includes at least first program identifier data of a first of the social contacts with a first affinity and second program identifier data of a second of the social contacts with a second affinity that is less close than the first affinity.

### Claim 12 (depends on 11)

The system of claim 11, wherein the hardware processor is further configured to:
for each of the social contacts, determine an affinity of the social contact based at least in part on social network data.

### Claim 13 (depends on 12)

The system of claim 12, wherein the social network data comprises a user profile of the user and a user profile of the social contact, and
the determining an affinity of the social contact comprises identifying one or more relationships between the user profile of the user and the user profile of the social contact.

### Claim 14 (depends on 12)

The system of claim 12, wherein the social network data comprises a degree between the user and the social contact, wherein the degree is based on the number of contacts shared between the user and the social contact.

### Claim 15 (depends on 11)

The system of claim 11, wherein the hardware processor is further configured to:
for each of the social contacts, determine an affinity of the social contact based at least in part on a number of times that the user has selected one or more programs associated with the social contact.

### Claim 16 (depends on 11)

The system of claim 11, wherein the display data further comprises at least one identifier for at least one of the social contacts.

### Claim 17 (depends on 16)

The system of claim 16, wherein the at least one identifier for the at least one of the social contacts is displayed alongside feedback of the one or more of the social contacts.

### Claim 18 (depends on 11)

The system of claim 11, wherein the hardware processor is further configured to:
in response to a user selecting a program, provide program information of the selected program to a social network of the user.

### Claim 19 (depends on 11)

The system of claim 11, wherein the factors of the user comprise a location of the user.

### Claim 20 (depends on 11)

The system of claim 11, wherein the hardware processor is further configured to:
receive a user input, wherein the user input corresponds with a genre; and
for each of the one or more programs:
determine whether the program matches the genre; and
exclude the program from the rank-ordered display in response to determining that the program does not match the genre.
