IP Library › Granted Patent US 8,832,735
Granted Patent B2
US 8,832,735 · App. 13/074,873 · Granted Sep 9, 2014

Processing workflow for recommending media programs

Inventors: Eugene Chuan-Huai Wei (Los Angeles, CA); Peter E. Sargent (Santa Monica, CA); Hua Zheng (Beijing, CN); Chaitanya Laxminarayan (Austin, TX); Wing Chit Mak (Los Angeles, CA)
Assignee: Hulu, LLC
H04N21/23424H04N21/8455H04N9/79H04N21/4826H04N21/47202H04N21/40H04N21/8549H04N21/44016G06Q30/0241H04N21/812
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 8,832,735
App. No.
13/074,873
Granted
Sep 9, 2014
Kind
B2
Abstract

A processing workflow method, system, and computer program product provide the ability; to recommend alternative programming during playback of a source media program. A media program player plays the source media program to a first viewer and provides information regarding the first viewer to a recommendation engine. The recommendation engine calculates and sends the media player a list of recommended media program candidates (including identifications of the candidates) based on the information. Prior to reaching an advertising break in the source media program, the media player transmits a request (including the identifications) for an advertisement to an advertising server and in response, receives an advertisement that is played to the first viewer during the advertising break.

Claims (104)

1. A processing workflow method for recommending alternative programming during playback of a source media program having a plurality of advertising breaks to a first viewer, comprising a media program player performing:

(a) playing the source media program to the first viewer;

(b) calling a recommendation engine associated with a media program provider;

(c) providing information regarding the first viewer to the recommendation engine;

(d) receiving a list of one or more recommended media program candidates from the recommendation engine, wherein:

(1) the one or more recommended media program candidates are determined from a plurality of media programs that are offered by the media program provider and the information regarding the first viewer; and

(2) the list comprises a recommended media program identification for each of the one or more recommended media program candidates;

(e) prior to reaching an advertising break in the source media program that is playing, transmitting a request for an advertisement to an advertising server, wherein the request includes the one or more recommended media program identifications, and wherein the advertising server determines one or more eligible advertisements in which the media program provider receives payment from an advertiser for the request and dynamically selects between the one of the one or more recommended media program identifications and the one or more eligible advertisements determined by the advertising server to determine the advertisement to provide based on a priority assigned to the one or more recommended media program identifications and the one or more eligible advertisements based on expected revenue, wherein expected revenue for the one or more eligible advertisements is based on payment received from the advertiser and expected revenue for the one or more recommended media program identifications is based on advertisements served if the first viewer watches one of the one or more recommended media program candidates;

(f) in response to the request, receiving, from the advertising server, the advertisement; and

(g) during the advertising break, playing the advertisement.

2. The processing workflow method of claim 1 , wherein the media program player is executing on a first computer across a network from the recommendation engine and the advertising server.

3. The processing workflow method of claim 1 , wherein the information comprises:

a user identification of the first viewer;

a media identification that identifies the source media program the first viewer is watching; and

a first viewer history of recommended media program exposure.

4. The processing workflow method of claim 1 , wherein the advertisement is selected from a group comprising:

a media program trailer advertisement corresponding to one of the recommended media program identifications; and

a non-trailer advertisement corresponding to one of the determined one or more eligible advertisements.

5. The processing workflow method of claim 4 , wherein the advertisement that is selected is based on a frequency maximum for the media program trailer advertisements.

6. The processing workflow method of claim 1 , wherein the advertisement that is selected recommends one of the one or more recommended media programs and further comprises a personalized message based on the information.

7. The processing workflow method of claim 1 , wherein the advertisement that is selected recommends one of the one or more recommended media programs, the method further comprising:

accepting input from the first viewer regarding the one of the one or more recommended media programs; and

recording the input.

8. The processing workflow method of claim 7 , wherein:

the recorded input provides for adding a bookmark for later viewing of the one of the one or more recommended media programs for the first viewer.

9. A system for recommending alternative programming during playback of a source media program having a plurality of advertising breaks to a first viewer, in a computer system comprising:

(a) a computer having a memory; and

(b) a media program player executing on the computer, wherein the media program player is configured to:

(1) play the source media program to the first viewer;

(2) call a recommendation engine associated with a media program provider;

(3) provide information regarding the first viewer to the recommendation engine;

(4) receive a list of one or more recommended media program candidates from the recommendation engine, wherein:

(i) the one or more recommended media program candidates are determined from a plurality of media programs that are offered by the media program provider and the information regarding the first viewer; and

(ii) the list comprises a recommended media program identification for each of the one or more recommended media program candidates;

(5) prior to reaching an advertising break in the source media program that is playing, transmitting a request for an advertisement to an advertising server, wherein the request includes the one or more recommended media program identifications, and wherein the advertising server determines one or more eligible advertisements in which the media program provider receives payment from an advertiser for the request and dynamically selects between the one of the one or more recommended media program identifications and the one or more eligible advertisements determined by the advertising server to determine the advertisement to provide based on a priority assigned to the one or more recommended media program identifications and the one or more eligible advertisements based on expected revenue, wherein expected revenue for the one or more eligible advertisements is based on payment received from the advertiser and expected revenue for the one or more recommended media program identifications is based on advertisements served if the first viewer watches one of the one or more recommended media program candidates;

(6) in response to the request, receive, from the advertising server, the advertisement; and

(7) during the advertising break, play the advertisement.

10. The system of claim 9 , wherein the media program player is executing the computer across a network from the recommendation engine and the advertising server.

11. The system of claim 9 , wherein the information comprises:

a user identification of the first viewer;

a media identification that identifies the source media program the first viewer is watching; and

a first viewer history of recommended media program exposure.

12. The system of claim 9 , wherein the advertisement is selected from a group comprising:

a media program trailer advertisement corresponding to one of the recommended media program identifications; and

a non-trailer advertisement corresponding to one of the determined one or more eligible advertisements.

13. The system of claim 12 , wherein the advertisement that is selected is based on a frequency maximum for the media program trailer advertisements.

14. The system of claim 9 , wherein the advertisement that is selected recommends one of the one or more recommended media programs and further comprises a personalized message based on the information.

15. The system of claim 9 , wherein the advertisement that is selected recommends one of the one or more recommended media programs, and wherein the media program player is further configured to:

accept input from the first viewer regarding the one of the one or more recommended media programs; and

record the input.

16. The system of claim 15 , wherein:

the recorded input provides for adding a bookmark for later viewing of the one of the one or more recommended media programs for the first viewer.

17. A processing workflow method for recommending alternative programming during playback of a source media program having a plurality of advertising breaks to a first viewer, comprising a recommendation engine performing:

(a) receiving a call from a media program player that is playing the source media program to the first viewer;

(b) receiving information, from the media program player, regarding the first viewer;

(c) calculating a list of one or more recommended media program candidates, wherein:

(1) the one or more recommended media program candidates are determined from a plurality of media programs that are offered by a media program provider and the information regarding the first viewer; and

(2) the list comprises a recommended media program identification for each of the one or more recommended media program candidates;

(d) transmitting the list of one or more recommended media program candidates to the media program player, wherein the media program player is configured to:

(1) prior to reaching an advertising break in the source media program that is playing, transmit a request for an advertisement to an advertising server, wherein the request includes one or more recommended media program identifications, and wherein the advertising server determines one or more eligible advertisements in which the media program provider receives payment from an advertiser for the request and dynamically selects between the one of the one or more recommended media program identifications and the one or more eligible advertisements determined by the advertising server to determine the advertisement to provide based on a priority assigned to the one or more recommended media program identifications and the one or more eligible advertisements based on expected revenue, wherein expected revenue for the one or more eligible advertisements is based on payment received from the advertiser and expected revenue for the one or more recommended media program identifications is based on advertisements served if the first viewer watches one of the one or more recommended media program candidates;

(2) in response to the request, receive, from the advertising server, the advertisement; and

(3) during the advertising break, play the advertisement.

18. The processing workflow method of claim 17 , wherein the recommendation engine is executing on a first computer across a network from the media program player.

19. The processing workflow method of claim 17 , wherein the information comprises:

a user identification of the first viewer;

a media identification that identifies the source media program the first viewer is watching; and

a first viewer history of recommended media program exposure.

20. The processing workflow method of claim 17 , wherein the media program player is configured to select the advertisement from a group comprising:

a media program trailer advertisement corresponding to one of the recommended media program identifications; and

a non-trailer advertisement corresponding to one of the determined one or more eligible advertisements.

21. The processing workflow method of claim 20 , wherein the advertisement that is selected is based on a frequency maximum for the media program trailer advertisements.

22. The processing workflow method of claim 17 , wherein the advertisement that is selected recommends one of the one or more recommended media programs and further comprises a personalized message based on the information.

23. The processing workflow method of claim 17 , wherein the advertisement that is selected recommends one of the one or more recommended media programs, and wherein the recommendation engine further performs:

accepting input from the first viewer, via the media program player, regarding the one of the one or more recommended media programs; and

storing the input for use in future recommendations to the first user.

24. The processing workflow method of claim 23 , wherein the recommendation engine further performs the steps of:

adding a bookmark, using the stored input, for later viewing of the one of the one or more recommended media programs for the first viewer.

25. A system for recommending alternative programming during playback of a source media program having a plurality of advertising breaks to a first viewer, in a computer system comprising:

(a) a computer having a memory; and

(b) a recommendation engine executing on the computer, wherein the recommendation engine is configured to:

(1) receive a call from a media program player that is playing the source media program to the first viewer;

(2) receive information, from the media program player, regarding the first viewer;

(3) calculate a list of one or more recommended media program candidates, wherein:

(i) the one or more recommended media program candidates are determined from a plurality of media programs that are offered by the media program provider and the information regarding the first viewer; and

(ii) the list comprises a recommended media program identification for each of the one or more recommended media program candidates;

(4) transmit the list of one or more recommended media program candidates to the media program player, wherein the media program player is configured to:

(i) prior to reaching an advertising break in the source media program that is playing, transmitting a request for an advertisement to an advertising server, wherein the request includes the one or more recommended media program identifications, and wherein the advertising server determines one or more eligible advertisements in which the media program provider receives payment from an advertiser for the request and dynamically selects between the one of the one or more recommended media program identifications and the one or more eligible advertisements determined by the advertising server to determine the advertisement to provide based on a priority assigned to the one or more recommended media program identifications and the one or more eligible advertisements based on expected revenue, wherein expected revenue for the one or more eligible advertisements is based on payment received from the advertiser and expected revenue for the one or more recommended media program identifications is based on advertisements served if the first viewer watches one of the one or more recommended media program candidates;

(ii) in response to the request, receive, from the advertising server, the advertisement; and

(iii) during the advertising break, play the advertisement.

26. The system method of claim 25 , wherein the recommendation engine is executing on the computer across a network from the media program player.

27. The system method of claim 25 , wherein the information comprises:

a user identification of the first viewer;

a media identification that identifies the source media program the first viewer is watching; and

a first viewer history of recommended media program exposure.

28. The system method of claim 25 , wherein the media program player is configured to select the advertisement from a group comprising:

a media program trailer advertisement corresponding to one of the recommended media program identifications; and

a non-trailer advertisement corresponding to one of the determined one or more eligible advertisements.

29. The system method of claim 28 , wherein the advertisement that is selected is based on a frequency maximum for the media program trailer advertisements.

30. The system method of claim 25 , wherein the advertisement that is selected recommends one of the one or more recommended media programs and further comprises a personalized message based on the information.

31. The system method of claim 25 , wherein the recommendation engine is further configured to:

accept input from the first viewer, via the media program player, regarding one of the one or more recommended media programs; and

store the input for use in future recommendations to the first user.

32. The system method of claim 31 , wherein the recommendation engine is further configured to:

add a bookmark, using the stored input, for later viewing of the one of the one or more recommended media programs for the first viewer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2011
From: WEI, EUGENE CHUAN-HUAI; SARGENT, PETER E.; ZHENG, HUA; LAXMINARAYAN, CHAITANYA; MAK, WING CHIT
To: HULU LLC
Reel/Frame 026044/0446 →
Continuity (2)
Provisional Application 61393846 · Oct 15, 2010
Related Publication 20120096488A1 · Apr 19, 2012