IP Library Granted Patent US 9,705,947
Granted Patent B2
US 9,705,947 · App. 14/336,480 · Granted Jul 11, 2017

Method and apparatus for customized provisioning of on-line application channels

Inventors: Anthony Wood (Palo Alto, CA); David Stern (Los Gatos, CA); David Westerhoff (Fremont, CA); Bill Ataras (Portland, OR); Mark Goodwin (Mountain View, CA); Aaron Graham (Santa Clara, CA); Matt Emerson (New Orleans, LA); Kevin Phillips (Los Gatos, CA)
Assignee: Roku, Inc.
H04L65/4069H04L65/1063H04L65/4076
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,705,947
App. No.
14/336,480
Granted
Jul 11, 2017
Kind
B2
Abstract

A method for a computer system includes receiving an identifier associated with a client streaming player, determining one or more attributes associated with the identifier from a data structure in response to the identifier, determining available channels from a plurality of channels that are to be made available to the client streaming player in response to the identifier, wherein available channels comprises a first channel, but not the second channel, determining a first graphical identifier associated with the first channel, providing the first graphical identifier to the client streaming player, receiving a user selection of the first graphical identifier indicating a user request to associate the first channel with the computer system, and providing an indicator of a server network address associated with the first channel to the client streaming player.

Claims (43)

1. A method, comprising:

receiving a hardware identifier associated with a streaming player at a server, wherein the streaming player is configured to receive on-demand services for display on a communicatively coupled video display;

determining streaming player attributes based at least in part on the hardware identifier, wherein the streaming player attributes comprise a hardware or software configuration of the streaming player;

determining demographic data based at least in part on the hardware identifier, wherein the demographic data is associated with a user of the streaming player;

receiving criteria from a provider of available content, wherein the criteria specifies streaming player attributes and demographic data associated with providing the available content to the streaming player;

selecting content for the user of the streaming player from the available content based at least in part on the determined streaming player attributes and the determined demographic data at least partially satisfying the criteria; and

providing information associated with the selected content to the streaming player.

2. The method of claim 1 , wherein the hardware identifier comprises at least one of a hardware revision identifier and a firmware revision identifier.

3. The method of claim 1 , wherein the streaming player attributes comprise at least one of processor type, processor speed, memory capacity, port configuration, wireless capability, removable memory interface, and memory interface.

4. The method of claim 1 , wherein the available content includes at least one of a software application, a video channel, an audio channel and a game channel.

5. The method of claim 1 , wherein the demographic data comprises at least one of income, marital status, geographic location, internet service provider, political region, and purchasing habits.

6. The method of claim 1 , wherein the information includes an image for each instance of the selected content.

7. The method of claim 1 , further comprising supplying on-demand content in response to receiving a selection of content in the selected content.

8. The method of claim 1 , wherein the determining the streaming player attributes further comprises:

Retrieving the hardware or software configuration of the streaming player from a database using the identifier.

9. A system, comprising:

a memory; and

at least one processor coupled to the memory and configured to:

receive a hardware identifier associated with a streaming player at the system, wherein the streaming player is configured to receive on-demand services for display on video a communicatively coupled display;

determine streaming player attributes based at least in part on the hardware identifier, wherein the streaming player attributes comprise a hardware or software configuration of the streaming player;

determine demographic data based at least in part on the hardware identifier, wherein the demographic data is associated with a user of the streaming player;

receive criteria from a provider of available content, wherein the criteria specifies streaming player attributes and demographic data associated with providing the available content to the streaming player;

select content for the user of the streaming player from the available content based at least in part on the determined streaming player attributes and the determined demographic data at least partially satisfying the criteria; and

provide information associated with the selected content to the streaming player.

10. The system of claim 9 , wherein the hardware identifier comprises at least one of a hardware revision identifier and a firmware revision identifier.

11. The system of claim 9 , wherein the streaming player attributes comprise at least one of processor type, processor speed, memory capacity, port configuration, wireless capability, removable memory interface, and memory interface.

12. The system of claim 9 , wherein the available content includes at least one of a software application, a video channel, an audio channel, and a game channel.

13. The system of claim 9 , wherein the demographic data comprises at least one of income, marital status, geographic location, internet service provider, political region, and purchasing habits.

14. The system of claim 9 , wherein the information includes an image for each instance of the selected content.

15. The system of claim 9 , wherein the at least one processor is further configured to:

supply on-demand content in response to receiving a selection of content in the selected content.

16. A non-transitory, tangible computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:

receiving a hardware identifier associated with a streaming player at the computing device, wherein the streaming player is configured to receive on-demand services for display on a communicatively coupled video display;

determining streaming player attributes based at least in part on the hardware identifier, wherein the streaming player attributes comprise a hardware or software configuration of the streaming player;

determining demographic data based at least in part on the hardware identifier, wherein the demographic data is associated with a user of the streaming player;

receiving criteria from a provider of available content, wherein the criteria specifies streaming player attributes and demographic data associated with providing the available content to the streaming player;

selecting content for the user of the streaming player from the available content based at least in part on the determined streaming player attributes and the determined demographic data at least partially satisfying the criteria; and

providing information associated with the selected content to the streaming player.

17. The computer-readable device of claim 16 , wherein the identifier comprises at least one of a hardware revision identifier and a firmware revision identifier.

18. The computer-readable device of claim 16 , wherein the streaming player attributes comprise at least one of processor type, processor speed, memory capacity, port configuration, wireless capability, removable memory interface, and memory interface.

19. The method of claim 1 , wherein the receiving the hardware identifier further comprises;

receiving at least one of an electronic serial number hardware identifier or a firmware version number; and

wherein the determining the streaming player attributes further comprises determining the streaming player attributes based at least in part on the electronic serial number hardware identifier or the firmware version number.

Assignments (8)
SECURITY INTEREST Recorded Sep 18, 2024
From: ROKU, INC.
To: CITIBANK, N.A.
Reel/Frame 068982/0377 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT (REEL/FRAME 048385/0375) Recorded Feb 22, 2023
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROKU, INC.
Reel/Frame 062826/0001 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2019
From: SILICON VALLEY BANK, AS BANK
To: ROKU, INC.
Reel/Frame 048420/0903 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2019
From: SILICON VALLEY BANK, AS BANK
To: ROKU, INC.
Reel/Frame 048420/0841 →
PATENT SECURITY AGREEMENT Recorded Feb 20, 2019
From: ROKU, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 048385/0375 →
AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 12, 2017
From: ROKU, INC.
To: SILICON VALLEY BANK
Reel/Frame 042768/0268 →
SECURITY INTEREST Recorded Jun 1, 2015
From: ROKU, INC.
To: SILICON VALLEY BANK
Reel/Frame 035753/0739 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2015
From: WOOD, ANTHONY; STERN, DAVID; WESTERHOFF, DAVID; ATARAS, BILL; GOODWIN, MARK; GRAHAM, AARON; EMERSON, MATT; PHILLIPS, KEVIN
To: ROKU, INCORPORATED
Reel/Frame 035336/0217 →
Continuity (2)
Continuation 13180375 · Jul 11, 2011
Related Publication 20140330940A1 · Nov 6, 2014