IP Library Granted Patent US 9,749,378
Granted Patent B2
US 9,749,378 · App. 14/175,078 · Granted Aug 29, 2017

System and method for early media buffering using prediction of user behavior

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,749,378
App. No.
14/175,078
Granted
Aug 29, 2017
Kind
B2
Abstract

A system and method for early media buffering using prediction of user behavior. In accordance with an embodiment, a user interface displays a plurality of media options from which particular options can be selected. A click determination logic is configured so that a first event associated with a particular option, such as a click event, is passed singly to a media application without trapping for the possibility of a double-click. The media application interprets the first event as a likely selection by a user of the particular option, and uses information associated with the likely selection to begin buffering a corresponding media content. If a second event associated with the particular option is received within a subsequent time interval, then the second event is treated, like a double-click, as confirmation of the user's selection, and the corresponding media content is streamed from its media content buffer.

Claims (64)

1. A system for early media buffering using prediction of user behavior, comprising:

a computer, including a processor;

a user interface, which displays a plurality of media options from which particular media options can be selected;

a click determination logic which is configured so that a first click or other event associated with a particular media option at the user interface is passed singly to a media application, without trapping for a possible double-click event associated with the particular media option;

wherein the media application includes a data buffering logic and a media content buffer;

wherein the media application interprets the first click or other event associated with the particular media option as a likely selection by a user of the particular media option, and uses information associated with the likely selection of the particular media option to begin buffering a corresponding media content, including that

the data buffering logic, in response to the first click or other event associated with the particular media option, instructs the media application to populate the media content buffer with the corresponding media content retrieved from a media database, and

the media content buffer receives the corresponding media content from the media database, prior to streaming of the media content; and

wherein the media application determines that,

if a second click or other event associated with the particular media option is received at the user interface within a subsequent time interval, then the second click or other event is treated as confirmation of the user's selection, and the second click or other event is communicated to the data buffering logic, to cause the corresponding media content to be streamed from its media content buffer, and

if the second click or other event associated with the particular option is not received within the subsequent time interval, then the media content in the media content buffer is to be discarded without being streamed.

2. The system of claim 1 ,

wherein the user interface is provided by a client application at a user device, and enables selection of media content to be streamed to the user device,

wherein the click determination logic, and the media application that includes the data buffering logic and the media content buffer, is provided at a computer system, and

wherein the corresponding media content is retrieved from a media database at the computer system, to populate the media content buffer at the computer system, for streaming to the user device.

3. The system of claim 1 , wherein the information associated with the likely selection of the particular media option is a key setup information, which the media application uses to determine the corresponding media content, and a stream to which the corresponding media content is to be streamed.

4. The system of claim 3 , wherein the key setup information is used to instruct the media application to populate one or more of a plurality of streams with media content retrieved from the media database.

5. The system of claim 1 ,

wherein the system includes a first computer system, and a second computer system,

wherein the user interface, the click determination logic, and the media application that includes the data buffering logic and the media content buffer, are provided at the first computer system, and

wherein the corresponding media content is retrieved from a media database at the second computer system, to populate the media content buffer at the first computer system.

6. The system of claim 5 , wherein the second computer system includes a server or peer environment, and the corresponding media content in the media database at the second computer system is received from the server or peer environment.

7. The system of claim 1 , wherein the other event associated with the particular media option comprises a tap on a touch-screen interface or a deceleration of a user input.

8. The system of claim 1 , wherein the click determination logic, and the media application that includes the data buffering logic and the media content buffer, are provided at a first computer system, and the system further includes:

one or more user devices, each comprising a native client application and a user interface, and

a second computer system comprising a web client application and a user interface.

9. The system of claim 8 , wherein the native client application at each of the one or more user devices, and the web client application at the second computer system, are each configured to request and receive the corresponding media content from the first computer system.

10. The system of claim 8 , wherein the native client application at each of the one or more user devices, and the web client application at the second computer system, are each configured to request and receive the corresponding media content from one another.

11. A method for early media buffering using prediction of user behavior, comprising:

providing a user interface, which displays a plurality of media options from which particular media options can be selected;

providing a click determination logic which is configured so that a first click or other event associated with a particular media option at the user interface is passed singly to a media application, without trapping for a possible double-click event associated with the particular media option;

interpreting, by the media application that includes a data buffering logic and a media content buffer, the first click or other event associated with the particular media option as a likely selection by a user of the particular media option, and using information associated with the likely selection of the particular media option to begin buffering a corresponding media content, including that

the data buffering logic, in response to the first click or other event associated with the particular media option, instructs the media application to populate the media content buffer with the corresponding media content retrieved from a media database, and

the media content buffer receives the corresponding media content from the media database, prior to streaming of the media content; and

determining, by the media application, that,

if a second click or other event associated with the particular media option is received at the user interface within a subsequent time interval, then treating the second click or other event as confirmation of the user's selection, and communicating the second click or other event to the data buffering logic to cause the corresponding media content to be streamed from its media content buffer, and

if the second click or other event associated with the particular option is not received within the subsequent time interval, then the media content in the media content buffer is to be discarded without being streamed.

12. The method of claim 11 ,

wherein the user interface is provided by a client application at a user device, and enables selection of media content to be streamed to the user device,

wherein the click determination logic, and the media application that includes the data buffering logic and the media content buffer, is provided at a computer system, and

wherein the corresponding media content is retrieved from a media database at the computer system, to populate the media content buffer at the computer system, for streaming to the user device.

13. The method of claim 11 , wherein the information associated with the likely selection of the particular media option is a key setup information, which the media application uses to determine the corresponding media content, and a stream to which the corresponding media content is to be streamed.

14. The method of claim 13 , wherein the key setup information is used to instruct the media application to populate one or more of a plurality of streams with media content retrieved from the media database.

15. The method of claim 11 ,

wherein the user interface, the click determination logic, and the media application that includes the data buffering logic and the media content buffer, are provided at a first computer system, and

wherein the corresponding media content is retrieved from a media database at a second computer system, to populate the media content buffer at the first computer system.

16. A non-transitory computer readable storage medium, including instructions stored thereon which when read and executed by one or more computers cause the one or more computers to perform the steps comprising:

providing a user interface, which displays a plurality of media options from which particular media options can be selected;

providing a click determination logic which is configured so that a first click or other event associated with a particular media option at the user interface is passed singly to a media application, without trapping for a possible double-click event associated with the particular media option;

interpreting, by the media application that includes a data buffering logic and a media content buffer, the first click or other event associated with the particular media option as a likely selection by a user of the particular media option, and using information associated with the likely selection of the particular media option to begin buffering a corresponding media content, including that

the data buffering logic, in response to the first click or other event associated with the particular media option, instructs the media application to populate the media content buffer with the corresponding media content retrieved from a media database, and

the media content buffer receives the corresponding media content from the media database, prior to streaming of the media content; and

determining, by the media application, that,

if a second click or other event associated with the particular media option is received at the user interface within a subsequent time interval, then treating the second click or other event as confirmation of the user's selection, and communicating the second click or other event to the data buffering logic to cause the corresponding media content to be streamed from its media content buffer, and

if the second click or other event associated with the particular option is not received within the subsequent time interval, then the media content in the media content buffer is to be discarded without being streamed.

17. The non-transitory computer readable storage medium of claim 16 ,

wherein the user interface is provided by a client application at a user device, and enables selection of media content to be streamed to the user device,

wherein the click determination logic, and the media application that includes the data buffering logic and the media content buffer, is provided at a computer system, and

wherein the corresponding media content is retrieved from a media database at the computer system, to populate the media content buffer at the computer system, for streaming to the user device.

18. The non-transitory computer readable storage medium of claim 16 , wherein the information associated with the likely selection of the particular media option is a key setup information, which the media application uses to determine the corresponding media content, and a stream to which the corresponding media content is to be streamed.

19. The non-transitory computer readable storage medium of claim 18 , wherein the key setup information is used to instruct the media application to populate one or more of a plurality of streams with media content retrieved from the media database.

20. The non-transitory computer readable storage medium of claim 16 ,

wherein the user interface, the click determination logic, and the media application that includes the data buffering logic and the media content buffer, are provided at a first computer system, and

wherein the corresponding media content is retrieved from a media database at a second computer system, to populate the media content buffer at the first computer system.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Jun 13, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SPOTIFY AB
Reel/Frame 038982/0327 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Dec 29, 2014
From: SPOTIFY AB
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 034709/0364 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2014
From: OLENFALK, MIKAEL
To: SPOTIFY AB
Reel/Frame 032170/0719 →