Method and system for dynamically inserting content into streaming media
First Claim
1. A method of dynamically inserting content into a streaming media program, comprising the steps of:
- (i) receiving, through a data communications network, at a program management system a request from a rendering device for delivery of a streaming media program;
(ii) providing from the program management system a manifest to the requesting rendering device through the data communications network, the manifest containing (iia) at least one identifier to enable downloading, through the data communications network, of identified data which can be rendered by the rendering device to produce a portion of the streaming media program and (iib) at least one meta URI which the rendering device can use to establish communication with a dynamic content decisioning server, the meta URI representing a time period in which dynamic content, not yet selected to be downloaded, is to be rendered by the rendering device, the manifest further indicating a time order in which to render the identified data and dynamic content;
(iii) the rendering device rendering the streaming media program, in the indicated order, by downloading the identified data and rendering it and, when the indicated order indicates a meta URI should next be rendered, the rendering device communicating with the dynamic content decisioning server to request the dynamic content to be rendered;
(iv) upon receiving the communication from the rendering device during the rendering of the streaming media program, the dynamic content decisioning server selecting at least one piece of dynamic content to correspond to the meta URI for transfer to the rendering device for inserting in the rendering of the streaming media program and transferring that selected dynamic content to the rendering device, the dynamic content decisioning server deciding which dynamic content is to be rendered (i) only during the rendering of the streaming media program by the rendering device, and (ii) at the time period of the streaming media program in which dynamic content is to be rendered; and
(v) the rendering device rendering the dynamic content.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention teaches a method and system for dynamically inserting content into a streaming media program. The system and method provide a program manifest to rendering devices requesting a streaming media program and that manifest can include URIs which point to main program content on a content delivery network and includes meta URIs (mURIs) which point to a dynamic content decisioning server. The dynamic content decisioning server receives requests for the content indicated by the mURIs and operates to dynamically select content, from a dynamic content delivery network, to fulfill the requests. The selection can be based upon a variety of criteria, including viewer and/or rendering device demographics, advertiser campaign strategies, etc. Thus two or more rendering devices playing streaming media defined by the same manifest may render different inserted content for their viewers. Similarly, a program rendered from a manifest at one point in time may have different inserted content than the same program rendered by the same rendering device at another time.
-
Citations
22 Claims
-
1. A method of dynamically inserting content into a streaming media program, comprising the steps of:
-
(i) receiving, through a data communications network, at a program management system a request from a rendering device for delivery of a streaming media program; (ii) providing from the program management system a manifest to the requesting rendering device through the data communications network, the manifest containing (iia) at least one identifier to enable downloading, through the data communications network, of identified data which can be rendered by the rendering device to produce a portion of the streaming media program and (iib) at least one meta URI which the rendering device can use to establish communication with a dynamic content decisioning server, the meta URI representing a time period in which dynamic content, not yet selected to be downloaded, is to be rendered by the rendering device, the manifest further indicating a time order in which to render the identified data and dynamic content; (iii) the rendering device rendering the streaming media program, in the indicated order, by downloading the identified data and rendering it and, when the indicated order indicates a meta URI should next be rendered, the rendering device communicating with the dynamic content decisioning server to request the dynamic content to be rendered; (iv) upon receiving the communication from the rendering device during the rendering of the streaming media program, the dynamic content decisioning server selecting at least one piece of dynamic content to correspond to the meta URI for transfer to the rendering device for inserting in the rendering of the streaming media program and transferring that selected dynamic content to the rendering device, the dynamic content decisioning server deciding which dynamic content is to be rendered (i) only during the rendering of the streaming media program by the rendering device, and (ii) at the time period of the streaming media program in which dynamic content is to be rendered; and (v) the rendering device rendering the dynamic content. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system for dynamically inserting content into a streaming media program, the system comprising:
-
a program management system storing metadata about streaming media programs available from the system, the program management system operable to receive requests for a streaming media program from a rendering device and to provide a manifest to the rendering device, the manifest containing at least (i) one piece of identified data available from a content delivery network which can be rendered by the rendering device to produce a portion of the streaming media program and (ii) at least one meta identifier which the rendering device can use to establish communication with a dynamic content decisioning server, the meta identifier representing a time period in which dynamic content, not yet selected to be downloaded, is to be rendered by the rendering device, and the manifest further indicating a time order in which to render the identified data and dynamic content; and a dynamic content decisioning server operable to receive communications from the rendering device during rendering of the streaming of the media program at the rendering device, the received communication corresponding to the at least one meta identifier, the dynamic content decisioning server then selecting data representing dynamic content to be rendered at the rendering device during the rendering of the streaming of the media program at the rendering device, the dynamic content decisioning server deciding which dynamic content is to be rendered (i) only during the rendering of the streaming media program by the rendering device, and (ii) at the time period of the streaming media program in which dynamic content is to be rendered. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A method of dynamically inserting content into a streaming media program, comprising the steps of:
-
(i) receiving, through a data communications network, at a program management system a request from a rendering device for delivery of a streaming media program; (ii) providing from the program management system a manifest to the requesting rendering device through the data communications network, the manifest containing at least one meta identifier which the rendering device can use to establish communication with a dynamic content decisioning server, the meta identifier representing a time period and order in which dynamic content is to be rendered by the rendering device, the meta identifier corresponding to dynamic content which is not determined at the time the manifest is provided to the requesting rendering device; (iii) the rendering device rendering the streaming media program by communicating with the dynamic content decisioning server to request the dynamic content to be rendered; (iv) upon receiving the communication from the rendering device, the dynamic content decisioning server selecting at least one piece of dynamic content for transfer to the rendering device for rendering by the rendering device and transferring that selected dynamic content to the rendering device, the dynamic content decisioning server deciding which dynamic content is to be rendered (i) only during the rendering of the streaming media program by the rendering device, and (ii) at the time period of the streaming media program in which dynamic content is to be rendered; and (v) the rendering device rendering the dynamic content. - View Dependent Claims (20)
-
-
21. A system for dynamically inserting content into a streaming media program, the system comprising:
-
a program management system storing metadata about streaming media programs available from the system, the program management system operable to receive requests for a streaming media program from a rendering device and to provide a manifest to the rendering device, the manifest containing at least one meta identifier which the rendering device can use to establish communication with a dynamic content decisioning server, the meta identifier representing a time period in which dynamic content is to be rendered by the rendering device and the manifest further indicating a time order and duration in which to render the dynamic content; and a dynamic content decisioning server operable to receive communications from the rendering device according to the at least one meta identifier and to select data representing dynamic content to be rendered at the rendering device in the represented time period, the dynamic content decisioning server deciding which dynamic content is to be rendered (i) only during the rendering of the streaming media program by the rendering device, and (ii) at the time period of the streaming media program in which dynamic content is to be rendered. - View Dependent Claims (22)
-
Specification