Patent ID: 9721254
Date: 2017-08-01
CPC Classifications: G06Q,H04N

Claim:
1. A method of streaming a media program and an advertisement for presentation therewith, comprising: generating a plurality of media program versions of the media program for a plurality of bitrates, each of the plurality of media program versions generated for a different bitrate in the plurality of bitrates; segmenting each of the media program versions into a plurality of media program version segments to produce a plurality of media program version segments for each media program version of the media program; generating a plurality of advertisement versions of the advertisement for the plurality of bitrates, each of the plurality of advertisement versions associated with only one of the media program versions and generated for a respective bitrate of the associated media program version; segmenting each of the advertisement versions into a plurality of advertisement version segments to produce a plurality of advertisement version segments for each advertisement version; receiving a media program request for playing the media program; determining a user identifier associated with the media program request; dynamically selecting the advertisement to be included during playing of the media program based on the user identifier; generating a plurality of media program version addresses for the plurality of media program versions generated for the plurality of bitrates, wherein the plurality of media program version addresses include a plurality of advertisement version identifiers for the advertisement; generating a master playlist including the plurality of media program version addresses; transmitting the master playlist to a media program player; generating a segment playlist, the segment playlist associated with a requested one of the media program versions generated for a bit rate in the plurality of bitrates and comprising a temporally ordered list having: a media program version segment address associated with each one of the plurality of media program version segments associated with the requested one of the media program versions, and an advertisement version segment address associated with each one of the plurality of advertising segments for the advertisement version included in the respective media program version address for the requested one of the media program versions, each one of the plurality of advertising segments generated for the bitrate associated with the requested one of the media program versions; and sending the segment playlist to the media program player, wherein the advertisement version identifiers that are included in the media program version addresses allow an identity of the selected advertisement to persist between generation of the master playlist and the requested media program version without maintaining an advertisement state for the selected advertisement after the transmitting of the master playlist.