Abstract:
A modified playlist can be generated by identifying gaps in a playlist, and modifying other content in the playlist to fill the gap. The gap can represent previously unfilled time, or time created by removing part or all of an item already in the playlist. One or more items of content in the playlist can be modified by lengthening or shortening one of the content items in various ways, including changing a rate of playback of some or all of the items of content in the playlist. In some instances the gap can be filled or partially filled by inserting content from another server at the time of broadcast.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of U.S. application Ser. No. 12/968,767, entitled, “METHOD AND SYSTEM FOR SELECTIVELY BROADCASTING MEDIA,” filed Dec. 15, 2010, currently pending, which is a continuation-in-part of U.S. application Ser. No. 11/535,347, entitled “METHOD AND SYSTEM FOR SELECTIVELY BROADCASTING MEDIA,” filed Sep. 26, 2006, now U.S. Pat. No. 7,899,390, issued Mar. 1, 2011, each of which is incorporated herein by reference in their entirety and made part of the present U.S. Utility Patent Application for all purposes. 
     
    
     FIELD 
       [0002]    The present disclosure relates to a system and method for selectively providing content. 
       BACKGROUND 
       [0003]    Many broadcast stations, such as radio broadcast stations, use computers running broadcast automation software, such as the NexGen Digital™ radio broadcast automation software provided by Prophet Systems Innovation, to automate some, if not all, of an entire broadcast. Broadcast content typically includes various media events such as songs, movies, advertisements, jingles, news spots, traffic, radio host commentary, interviews, station identification, segues, beds, promos, station identification, time and temperature, voice tracks and the like. 
         [0004]    Generally, broadcast content is stored electronically in individual files, and is compiled into a broadcast program log or playlist that may include a chronological arrangement of various types of broadcast content to create the desired listening “experience.” For example, a playlist for a radio music program may include a series of songs with station identification and advertisements interspersed at various intervals. 
         [0005]    Many broadcast stations are part of larger broadcast systems or networks that allow broadcast programs to be shared. For example, one broadcast station may host a live program, record that program, and transmit that program to another broadcast station for rebroadcast. 
         [0006]    When networked broadcast stations share programming, content broadcast transmitted from one broadcast station may not be appropriate for another broadcast station. For example, a broadcast program may include songs, movies and/or advertisements pertinent to a particular audience and not to another audience. Or, a program from one broadcast station may be transmitted to multiple broadcast stations having diverse audiences, such as paid subscribers to an Internet-based broadcast, or to HD radio listeners, and certain content may be undesirable for that audience. There is a need, therefore, for a method and apparatus of selectively providing content. 
       SUMMARY 
       [0007]    Methods and systems for selectively broadcasting media events are disclosed herein. 
         [0008]    In various embodiments disclosed herein, a sequence of media events, which includes insertion markers indicating locations for insertion of targeted spots, is received by a content distribution (CDN) server. The CDN server also receives information associated with a user, and transmits that information to a second server. The CDN server receives, from the second server, targeted spots based on the information associated with the user, and inserts the targeted spots as indicated or directed by the insertion markers. The CDN server can stretch or compress the sequence of media events. In addition to the insertion markers, the sequence of media events may include spot blocks indicating where non-targeted spots are to be skipped by the CDN server or substitution markers indicating where targeted spots are to be substituted for non-targeted spots. 
         [0009]    In other embodiments, a CDN server is configured to receive a sequence of media events from a first server, where the sequence can include insertion markers indicating where targeted spots are to be inserted. The CDN server can receive information associated with a user, and transmit that information to a second server. The CDN server can also obtain, from the second server, targeted media events based on the information associated with the user and, while broadcasting the sequence of media events, insert the targeted media events into the sequence as directed by the insertion markers. The CDN server can be configured to stretch or compress the sequence of media events. The CDN server can also be configured to either skip non-targeted spots as indicated by spot blocks included in the sequence of media events or substitute targeted spots for non-targeted spots as indicated by substitution markers included in the sequence of media events. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0010]    Aspects of this disclosure will become apparent upon reading the following detailed description and upon reference to the accompanying drawings, in which like references may indicate similar elements: 
           [0011]      FIG. 1  depicts one embodiment of a broadcast system having a first broadcast station X and a second broadcast station Y. 
           [0012]      FIG. 2  depicts one embodiment of a media event log. 
           [0013]      FIG. 3  depicts an embodiment of a user interface that may be provided by broadcast automation software for establishing the relationship between two broadcast stations. 
           [0014]      FIG. 4  depicts an embodiment of a user interface that may be provided by broadcast automation software for configuring playback of media events from a buffer. 
           [0015]      FIG. 5  depicts playing media events from a first audio server into the buffer of a second audio server, and broadcasting those media events from the second audio server. 
           [0016]      FIG. 6  depicts playing media events from a first audio server into the buffer of a second audio server at time t 1  prior to broadcasting. 
           [0017]      FIG. 7  depicts the media events of the embodiment of  FIG. 6  broadcast from both the primary audio server and secondary audio server starting at broadcast time t 7  and continuing through time t 10 , the media events also played from the primary audio server to the buffer of a second audio server, where broadcast from the second audio server involves skipping a media event and stretching subsequent media events while broadcasting to compensate for such skipping. 
           [0018]      FIG. 8  depicts the media events of the embodiment of  FIG. 6  broadcast from both the primary audio server and secondary audio server starting at broadcast time t 7  and continuing through time t 10 , the media events also played from the primary audio server to the buffer of a second audio server, where broadcast from the second audio server involves skipping a media event and broadcasting media events subsequent to the skipped media event without stretching the subsequent media events. 
           [0019]      FIG. 9  depicts the media events of the embodiment of  FIG. 6  both broadcast from the primary audio server and played into the secondary audio server starting at broadcast time t 7 , and broadcasting a secondary play list from the secondary audio server at broadcast time t 7  until the buffer is sufficiently full to begin broadcasting the media events stored. 
           [0020]      FIG. 10  depicts the media events of the embodiment of  FIG. 6  broadcast from both the primary audio server and secondary audio server starting at broadcast time t 7  and continuing through time t 10 , the media events also played from the primary audio server to the buffer of a second audio server, where broadcast from the second audio server involves skipping a media event, playing a subsequent media event and adding to the buffer a media event from an alternative play list. 
           [0021]      FIG. 11  depicts an embodiment of a user interface provided by broadcast automation software for establishing a fill category for a broadcast station. 
           [0022]      FIG. 12  depicts embodiments of a broadcast system having a first broadcast station and a second broadcast station in communication with a third audio server. 
           [0023]      FIG. 13  depicts embodiments of a broadcast system having a first broadcast station and a media device in communication with a third audio server. 
           [0024]      FIG. 14  depicts playing media events, some of which contain insertion markers, from a first audio server into the buffer of a second audio server, inserting media events from a third audio server at the direction of the insertion markers, and broadcasting the media events from the second audio server. 
           [0025]      FIG. 15  depicts a flow chart illustrating the process of inserting targeted media events into a sequence of media events that contains insertion markers. 
       
    
    
     DETAILED DESCRIPTION 
       [0026]    The following is a detailed description of embodiments of the disclosure depicted in the accompanying drawings. The embodiments are in such detail as to clearly communicate the disclosure. However, the amount of detail offered is not intended to limit the anticipated variations of embodiments; on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure as defined by the appended claims. 
         [0027]    A detailed description is provided primarily in the context of radio broadcasting, but those skilled in the art will appreciate that the invention is not limited to radio broadcast operations. As seen in the embodiment of  FIG. 1 , a broadcast station X may include a primary workstation  1  using broadcast automation software to automate broadcast operations. The primary workstation  1  may be connected to a primary file server  2  and a primary audio server  3 . Another broadcast station Y may include a secondary workstation  5  also using broadcast automation software to automate broadcast operations. The secondary workstation  5  may be connected to a secondary file server  7  and a secondary audio server  6 . In this embodiment, the primary audio server  3  and secondary audio server  6  are connected to antennas  4  &amp;  8 , respectively. In this embodiment, the primary audio server  3  is connected to the secondary audio server  6  through a network  9 , such as the Internet or wide area network. Such connection may, of course, be direct or indirect, electrical and/or physical, and may be wired or wireless. Those skilled in the art will recognize that the primary workstation  1  and secondary workstation  5 , along with their respective file servers  2  &amp;  7  and audio servers  3  &amp;  6 , may be co-located at a broadcast station or located apart, and may, for example, serve different radio audiences. 
         [0028]    In this embodiment, the primary and secondary workstations  1  &amp;  5  each use NexGen Digital™ v.2.4.19.1 broadcast automation software. The primary file server  2  and primary audio server  3  connected to the primary workstation  1  may, for example, be mounted in a common rack and connected to other hardware that may be used for broadcast station operation, such as to an audio switcher, a universal power supply, digital reel-to-reel hardware, real-time editor hardware, mixing boards and the like. A similar arrangement may be provided for the secondary workstation  5 , secondary file server  7  and secondary audio server  6 . Those skilled in the art will recognize that the environment illustrated in  FIG. 1  and described herein is not intended to limit the present invention. Indeed, those skilled in the art will recognize that other alternative hardware and environments may be used without departing from the scope of the present invention. A server computer may, for example, include a processor, a random access memory, data storage devices (e.g. hard, floppy, and/or CD-ROM disk, drives, etc.), data communications devices (e.g., modems, network interfaces, etc.), display devices, (e.g., CRT display, LCD display, etc.), and input devices (e.g., mouse pointing devices, keyboard, CD-ROM drive, etc.). A server may, for example, be attached to other devices, such as a read-only memory, a video card, a bus interface, a printer, etc. Those skilled in the art will appreciate that any combination of the above components, or any number of different combinations, peripherals, and other devices, may be used with the server. Likewise, those skilled in the art will recognize that various servers, workstations, hardware and software described herein, whether termed “file server,” “audio server,” “workstation,” “first server,” “second server,” “switcher,” “editor,” “storage device,” “broadcast automation software,” “buffer,” “adapter,” “broadcast station” and the like, and the capabilities and features ascribed thereto, may refer to different functions, programs and/or applications of one or more computing devices in a single location or spread over multiple locations, and may be implemented in hardware, software, virtualized hardware, cloud-based processing, or some combination thereof. 
         [0029]    In this embodiment, the primary and secondary file servers  2  &amp;  7  may be used to store various media events, and the primary and secondary audio servers  3  &amp;  6  may be used to mix and play media events, for example, over the air or over the Internet as a radio broadcast. Accordingly, the primary and secondary audio servers  3  &amp;  6  may each be provided with a multi stream PCI audio adapter (not shown) designed for broadcast use and having, for example, one “record” stream input and six “play” stream outputs. Such an adapter may be any suitable adapter, and may, for example, be the model ASI6122 audio adapter from Audioscience. 
         [0030]    A user at the primary workstation  1  may create a radio broadcast program by using the broadcast automation software to arrange audio content into a log of media events. As seen in the embodiment of  FIG. 2 , the exemplary broadcast automation software allows a broadcast station to automate the production of a radio program through creation of a media event log  11 , from which a playlist may be generated. As used herein, the terms “log” and “playlist” may be used interchangeably. As used in the claims, the term “automation playlist” includes both “log” and “playlist,” and a generally connotes a sequence of media events. In the event log interface  10 , a broadcaster may define, over a 24-hour period, when and how various media events will be played in order to create the radio broadcast “experience,” as is known to those skilled in the art. The media event log  11  may thus generally be a time-based collection of media events arranged in playback order, and may include metadata associated with the media events, such as song title, artist, radio station identification, macros (user-defined sequences of media events) and the like. Generally, a media event log may cover a day&#39;s worth of programming, but other time periods may be used, as well, and the event log  11  may be planned and created well in advance of actual broadcast. The event log  11  may, for example, indicate to the broadcaster whether airtime has been adequately filled, and describe the type of media events to fill various day parts. 
         [0031]    In the embodiment of  FIG. 2 , the media event log  11  provides a list of media events arranged according to the time during which each media event will play. In this embodiment, the event log  11  sets out an exemplary morning show radio program that includes advertisement spots and songs. For example, a one-minute long “Great High Mountain Tour” advertisement spot  12  is shown as scheduled to play at 9:18:09, followed by the “Miss Independent” song  13  by artist Kelly Clarkson, which is shown as scheduled to play at 9: 19 :09. Also, for example, an “animal encounter” advertisement spot  14  is scheduled to begin play at 9:22:38, and end at 9:22:54. 
         [0032]    As is known in the art, the relationship between the media events may be defined to enhance the radio broadcast “experience.” The various transitions between media events may include, for example, crossfades, overlap, clipping, ducking, and fade in and fade out. In the audio context, for example, “fading” generally refers to the process of changing the volume of a media event over time. “Fade in” and “fade out” thus generally refer to increasing and decreasing, respectively, the volume of a media event over time, and “cross fading” generally refers to simultaneously fading out the end of one media event, while fading in the beginning of the next media event. “Fading” is commonly done at the beginning and end of a media event, but may be accomplished during other portions of a media event, as well. “Clipping” generally refers to the process of excluding a portion of a media event during playback, such as the beginning or end of a song or video element. “Ducking” generally refers to reducing the volume level of background audio while another media event, such as a voice track, is playing. “Overlap” generally refers to simultaneous performance of media events. 
         [0033]    So defined and arranged, the media events of such a log, or playlist, may be played in real-time as, for example, an on-air broadcast to provide the radio broadcast “experience.” With reference to  FIG. 1 , the broadcast automation software running on the primary workstation  1  directs retrieval of the media events listed in the playlist from the primary file server  2 , and directs the primary audio server  3  to mix and play the media events as they appear in the media event log or playlist. The primary audio server  3  may play the media events for broadcast via antenna  4 . Those skilled in the art will recognize that broadcast could easily be over the Internet or some other network. Those skilled in the art will appreciate that the term “broadcast” includes transmission of media from one to many, e.g., from a broadcast station or network of broadcast stations to a consuming audience, by any transmission medium. 
         [0034]    In this embodiment, the secondary audio server  6  may be configured to function as a slave to the primary audio server. Multiple secondary audio servers can be configured to function as slaves to a single primary audio server. With reference to  FIGS. 1 and 3 , a user at the secondary workstation  5  may establish the relationship  21  between the secondary audio server (represented by the “Commercial-less Audio Server” in the list of stations) and primary audio server (represented by the “scottbr2” station) through a user interface  20  that may be provided by the broadcast automation software running on the secondary workstation  5 . Thus, in addition to broadcasting the media events via antenna  4 , the primary audio server  3  may also play the media events directly to the secondary audio server  6 . Such play may be in real-time. Specifically, the primary audio server  3  may play through an output of its audio adapter the media events into the input of the secondary audio server&#39;s audio adapter. The secondary audio server  6  store the media stream in a buffer until directed by the secondary workstation to start playing the buffered media as, for example, an over-the-air broadcast via antenna  8 . Those skilled in the art will appreciate that the buffer may be any suitable computer-readable medium. 
         [0035]    In this embodiment, when playing media events from the secondary audio server  6  buffer, various undesired media events may be skipped. For example, it may be desired to play a rotation in which all of the advertisements are skipped. As seen in the embodiment of  FIG. 4 , the broadcast automation software running on the secondary workstation may accordingly provide a user interface  30  to permit that rotation  31  to be specified. 
         [0036]    With reference to the embodiment of  FIG. 5 , the primary audio server  3  may play a sequence  50  of media events A, B, C, D, . . . in real time into the buffer  51  of the secondary audio server  6  (the file servers  2  and  7  of  FIG. 1  are not shown here). That is, the sequence  50  of media events may be streamed from the primary audio server  3  to the buffer  51 , and after a portion of that sequence  50  has been stored in the buffer  51 , the sequence  50  of media events may be broadcast from antenna  8  at broadcast time t 1  from the secondary audio server  6  on a first-in first-out basis. Generally, amount of buffer B 1 . . . B 6  may be specified to be a certain duration of real-time media event play. Use of the buffer  51  allows the playlist of media events to be altered prior to broadcasting, as discussed in further detail below. 
         [0037]    In one embodiment, the primary audio server  3  and the secondary audio server  6  may be scheduled to begin broadcasting the same play list of media events at the same time. The primary audio server  3  may, for example, broadcast the playlist of media events to one audience, and the secondary audio server  6  may broadcast an advertisement-free version of that playlist to another audience. The primary audio server  3  may begin streaming  60  the media events, in playlist sequence, into the buffer  51 , as seen with reference to  FIG. 6 . If, for example, a buffer of six minutes B  1  . . . B 6  is desired, the primary audio server  3  may begin playing the stream  60  of media events A, B, C, . . . into the buffer six minutes (at time t 1 ) before the scheduled broadcast time t 7 . Thus, at the broadcast time t 7 , the buffer  51  will contain six minutes-worth of audio. 
         [0038]    Turning to  FIG. 7 , broadcast of stream  61  of media events from the primary audio server  3  and broadcast of stream  62  from the secondary audio server  6  may be scheduled to begin at time t 7 . In  FIG. 7 , broadcast has begun and has continued through time t 10 . During that time, the primary audio server  3  may continue to play the stream  60  of media events into the buffer  51 . As noted above, the primary audio server  3  may be provided with an audio adapter that allows multiple output streams  60  &amp;  61 . 
         [0039]    In this embodiment, the user has configured the broadcast automation software of the secondary workstation  5  to instruct the audio server  6  to identify and not play advertisement spots. In the embodiment of  FIG. 2 , for example, spots to be skipped may be marked by the primary audio server with special markers that are displayed in the media event log  11  as “spot blocks,” as with the animal encounter spot  14 . According to that embodiment, the secondary audio server  6  may then detect those spot blocks and skip the spot or spots marked by the spot blocks. 
         [0040]    In the embodiment of  FIG. 7 , spot C may be an advertisement spot. Spot C may be desired in the media event stream  61  from the primary audio server  3 , but undesired in the media event stream  62  from the secondary audio server  6 . Accordingly, spot C may be identified and not played from the buffer, and the secondary workstation&#39;s  5  broadcast automation software may instruct the secondary audio server  6  to play media event D immediately after playing media event B. Removal of spot C from the rotation, however, shortens the scheduled play list by some amount of time, i.e., the buffer amount is “used up” by skipping media events. To fill that airtime gap, the broadcast automation software may instruct the audio server  6  to slow down (stretch out) playback of one or more, or all, subsequent spots. In this embodiment, the user may configure the broadcast automation software to instruct the secondary audio server  6  to immediately play media event D after media event B and stretch, i.e., slow down, the subsequent media events D, E, F, . . . . As seen in  FIG. 4 , for example, the user has specified a stretch percentage  32  of 4%, and in this embodiment may stretch playback by up to 20%. Stretching subsequent songs by 4%, for example, may fill an additional 2.4 minutes of airtime per hour. In this embodiment, such stretching may be accomplished, as is known in the art, without altering the pitch of subsequent spots to avoid, for example, “draggy turntable” voices. Those skilled in the art will appreciate that other stretching and/or squeezing ratios may be applied. Alternatively, the broadcast automation software may be configured to instruct the audio server  6  to stretch out playback of only certain spots, for example, only media events D and E, as may be needed to fill airtime gap left by removal of spot C. In this embodiment, such stretching may be utilized for as long as may be needed to re-fill the buffer  51  to a minimum amount of media event play time. That is, media events in the media stream  62  may be played out from the buffer  51  more slowly than the media events of the stream  60  are played from the primary audio server  3  into the buffer  51 , and the difference in play rate results in re-filling the buffer  51 . 
         [0041]    Referring generally to the embodiment of  FIG. 7 , for example, it may be that media events A and B are songs, media event C is an advertisement spot, and media events D, E and F are songs (the remaining media events may be, in this example, of various types). In this example, each media event may be one minute long. Playback of songs A . . . F will require 6 minutes of airtime. If broadcast is scheduled to begin from the primary audio server  3  and from the secondary audio server  6  at the top of the 9 a.m. hour (09:00:00), and a buffer of six minutes is required, the primary audio server  3  may begin playing the stream  1  of media events into the buffer  51  at 08:54:00, as described above in connection with the embodiment of  FIG. 6 . Thus, at broadcast time 09:00:00 (t 7 ), media events A . . . F will be stored in the buffer  51  and ready for broadcast. In this embodiment, therefore, both the primary audio server  3  and the secondary audio server  6  will begin their broadcast at 09:00:00 with song A and followed by song B. Immediately after song B finishes playing, the primary audio server  3  will begin playing advertisement spot C. The secondary audio server will, however, remove advertisement C from the playlist rotation (as shown by the dash-marked “times lot” C), and begin playing song D immediately after playing song B. Removal of advertisement C shortens that airtime play of media events A . . . F from the secondary audio server by one minute. To fill that airtime gap, and “catch up” to the broadcast  61  from the primary audio server  3 , the secondary audio server  6  may stretch songs D, E and F to fill that space, so that the broadcast  62  from the secondary audio server  6  is substantially synchronous with the broadcast  61  from the primary audio server  3  by the time song F begins to play at 09:06:00. As noted above, of course, such stretching may be spread out over fewer or additional subsequent spots or all subsequent spots. Those skilled in the art will recognize that such stretching may, for example, be delayed until later in the playlist, or may be limited to song D. Generally, immediately playing song D after song B with or without stretching out one or more subsequent spots may draw down the amount of media event playtime stored in the buffer. In various embodiments, songs A, B, C, and D need not be discreet recordings; rather they can be cue points at which time the system takes action to delete or replace appropriate content pieces or segments. 
         [0042]    Those skilled in the art will also recognize that stretching may not be used at all. In the embodiment of  FIG. 8 , spot C may be removed and songs D, E, F . . . may be played immediately after song B without stretching, and the buffer amount may be accordingly reduced to five minutes of airtime (B 1  . . . B 5 ). The bracketed media event designations [C], [D] and [E] in the units marked by dashed lines illustrate the sequence of media events that would exist without removal of spot C. 
         [0043]    Accordingly, an appropriate buffer may be established and maintained at a level sufficient to provide a reserve of media events to fill airtime gaps. For example, a minimum buffer size of five minutes may be sufficient to cover typical advertisement spots if stretching is used. F or longer station breaks, such as for news, a longer buffer may be required, and may range, for example, between 7.5 minutes and 14 minutes. In the embodiment of  FIG. 4 , for example, the minimum buffer size  33  is set at five minutes. 
         [0044]    Also, the broadcast  62  from the secondary audio server  6  may be supplemented from a secondary playlist. A user at the secondary workstation  6  may create a secondary log or playlist of media events suitable for the intended audience of the secondary broadcast station. The secondary log or play list may be created using the automation broadcast software to, for example, create a clock with empty song slots, define a music load format for the station (such as “R&amp;B”), based on the music load format generate a log of music similar to the media event log  11  of  FIG. 2 , and load the music from the secondary file server  7  to the secondary audio server  6 . Those skilled in the art will appreciate that the secondary play list may comprise a single type of media events or may comprise a variety of types of media events, such as songs, news and advertisements pertinent to the secondary station&#39;s broadcast audience, station identification, radio personality commentary and the like. 
         [0045]    In one embodiment, with reference to  FIG. 9 , the primary audio server  3  may begin broadcasting the primary playlist at 09:00:00 (time t 7 ) while simultaneously playing the primary playlist to the buffer  51  of the secondary audio server  6 . The secondary audio server  6  may broadcast from a secondary playlist  63  of spots α, β, γ, δ, ε, . . . at 09:00:00 while an adequate reserve B 1  . . . B 6  of the media events, from the primary audio server  3  is being stored in the buffer  51 , and then switch over to broadcast of the buffered primary playlist when the buffer requirements B  1  . . . B 6  are met. Thereafter, the secondary audio server  6  may remove undesired media events as described above. 
         [0046]    In the embodiment of  FIG. 10 , the secondary audio server  6  may refill the buffer with one or more media events from the secondary playlist  63 , thus drawing media events from the secondary file server  7 . For example, song a may be added to the buffer, and, if necessary, stretched (or squeezed) to fill the airtime that would have been filled by advertisement C. Alternatively, songs a and  13  (or other media events from play list  63 ) may both be added to the buffer (not shown), and squeezed to fill the airtime. Those skilled in the art will recognize that songs D, E, . . . may also be squeezed or stretched as may be appropriate to accommodate media events from the secondary play list  63 , and that additional buffered media events may be removed from or used to fill the airtime as the case may be if, for example, such squeezing (or compressing) and/or stretching of songs D, E, . . . is inappropriate. Additionally, those skilled in the art will recognize that media events from the secondary play list  63  may be added to the buffer to supplement any part of the broadcast  62 , including supplementation immediately after song B. 
         [0047]    Also, if during broadcast the amount of buffered media becomes inadequate to meet airtime fill requirements, the secondary playlist  63  may be played until the buffer requirements are once again met. F or example, if the buffer has less than 15 seconds of media event play time stored, the secondary playlist  63  may be played until some threshold buffer requirement is met. Alternatively, if the primary playlist  61  is exhausted, the secondary audio server  6  may switch back to broadcasting the secondary playlist  63 . 
         [0048]    If the secondary playlist  63  is also exhausted, the secondary audio server  6  may play filler material established as appropriate for that station. In the embodiment of  FIG. 11 , for example, the broadcast automation software may allow a user to create a category of songs that may be used to fill gaps in airtime. The user may do so by accessing the configuration menu  70  of the exemplary broadcast automation software installed on the secondary workstation  5 , and selecting the “station” option to bring up an interactive dialog box  71  that allows the user to change the fill category  72 . The category of fill media events selected may be valid for that station, e.g., “R&amp;B” filler material for an “R&amp;B” station format. Those skilled in the art will appreciate that a secondary play list is not required, and that random filler material may just as easily be used. 
         [0049]    Those skilled in the art will recognize that the transition between media events of the secondary playlist and media events of the primary playlist may be defined in a manner noted above. For example, the last media event played from the secondary playlist may cross fade into the first media event played from the primary playlist. In the embodiment of  FIG. 4 , for example, a user may establish the rotation  34  to play immediately before transitioning from the primary play list to the secondary playlist, and may establish the rotation  35  to play in transitioning from the secondary playlist to the primary playlist. In the embodiment of  FIG. 4 , the user has established “intros” to segue into a media event from the secondary play list and “outros” to segue out of that media event. 
         [0050]    In one embodiment, the broadcast automation software installed on the secondary workstation may provide an indication to the user of the status of the secondary audio server&#39;s buffer, such as how full the buffer is, which portion of the primary playlist is stored in the buffer, the types of media events stored in the buffer and the like. The broadcast automation software may also allow a user to ‘jump ahead” in the buffer to, for example, skip portions of the playlist. The broadcast automation software may allow a user to rearrange the portions of the play list stored in the buffer. Thus, the play list does not necessarily have to be played from the buffer on a first-in first-out basis. Additionally, the broadcast automation software may allow a user to “dump” buffered media events into a media events log of the secondary station, and update the playback times in that media events log based on the buffer information. Furthermore, those skilled in the art will recognize that the secondary audio server  6  may output more than one stream from buffer  51 , and may separately manipulate those streams as discussed herein. For example, one stream may be entirely advertisement free, and another stream may have advertisements inserted from a secondary play list. 
         [0051]    As seen in  FIG. 12 , a broadcast station  1200  may include a primary workstation  1202  using broadcast automation software to automate broadcast operations. The primary workstation  1202  may be connected to a primary file server  1204  and a primary audio server  1206 . Another broadcast station  1210  may include a secondary workstation  1212  also using broadcast automation software to automate broadcast operations. The secondary workstation  1212  may be connected to a secondary file server  1214  and a secondary audio server  1216 . In this embodiment, the primary audio server  1206  and secondary audio server  1216  are connected to antennas  1208  &amp;  1218 , respectively. 
         [0052]    The primary audio server  1206  is connected to the secondary audio server  1216  through a network  1226 , such as the Internet or wide area network. Such connection may be direct or indirect, electrical and/or physical, and may be wired or wireless. The primary workstation  1202  and secondary workstation  1212 , along with their respective file servers  1204  &amp;  1214  and audio servers  1206  &amp;  1216 , may be co-located at a broadcast station or located apart, and may, for example, serve different radio audiences. 
         [0053]    A tertiary station  1220  may be used to store and transmit various media events upon request from the first or second stations  1200  or  1210 . The third station can include a tertiary workstation  1224  and a third file server  1222 . The primary workstation  1202 , secondary workstation  1212 , and tertiary workstation  1224 , along with their respective file servers  1204 ,  1214 ,  1222  and audio servers  1206  &amp;  1216 , may be co-located at a broadcast station or located apart, and may, for example, serve different radio audiences. For example, the second broadcast station  1210  can be part of a content distribution network (CDN), such that the file server  1214  is a CDN file server and the audio server  1216  is a CDN audio server. 
         [0054]    The tertiary file server  1222  can be used to provide targeted media events upon request from primary or secondary file servers  1204  and  1214 . The second file server  1214  can be configured to request information associated with a user  1228 . The information associated with the user can include user demographics or user preferences. User demographics may include, but are not limited to, age, gender, geographic location, interests, education, income, and media format. The information, once received by the secondary file server  1214 , can be further transmitted to the tertiary file server  1222  via the network  1226 . The tertiary file server can use the information associated with the user  1228  to retrieve media events that are targeted to users sharing at least some of the user&#39;s  1228  demographic information. The targeted media events, once retrieved by the tertiary file server  1222 , can be transmitted to the secondary file server  1214  via the network  1226 , where they can be inserted into the sequence of media events that is broadcast from station  1210 . 
         [0055]    As seen in  FIG. 13 , the user  1228  can be the transmission target of the primary audio server  1206 , rather than another broadcast station. The user  1228  could be a media provider, such as an Internet radio station or a music on demand Web site, a CDN-hosted web site, or any other Web site that provides media. Alternatively, the user  1228  can be a consumer or at least one consumer device, including, but not limited to, such devices as computers, appliances, personal digital assistants (PDAs), wrist watches, stand-alone Internet radios, set top boxes, and television systems. The user, be it a media provider or consumer device, can be located within a receiver. In addition to receiving sequences of media events from the primary audio server  1206 , transmitting information associated with the user to the tertiary file server  1222 , and receiving targeted media events from the tertiary file server  1222 , the user  1228  can be configured to compile and broadcast a sequence of media events via a transmitter, which can include, but is not limited to, a wireless transmitter  1300 . 
         [0056]    Turning to  FIG. 14 , the broadcast of stream  1401  of media events from the primary audio server and broadcast of stream  1404  from the secondary audio server may be scheduled to begin at time t 7 . In  FIG. 14 , broadcast has begun and has continued through time t 10 . During that time, the primary audio server may continue to play the output stream  1400  of media events into the buffer  1402 . As noted above, the primary audio server  3  may be provided with an audio adapter that allows multiple output streams  1400  &amp;  1401 . 
         [0057]    In one embodiment, the user has configured the broadcast automation software of the secondary workstation  1212  to instruct the audio server to insert targeted media events. Types of targeted media events can include, but are not limited to, targeted content, targeted spots or targeted advertisement spots. Content can include, but is not limited to radio programs, songs, traffic and weather reports. For example, points in the output stream  1400  at which targeted media events are to be inserted may be marked by the primary audio server with special markers that are displayed in the media event log as “insertion markers”  1406 . The insertion markers  1406  can include indications of the preferred time length of inserted media events; the insertion markers  1406  can also indicate the maximum or minimum allowable time length for inserted media events. According to various embodiments, the secondary audio server can detect those insertion markers  1406  and insert a targeted spot or spots at the point in the output  1400  marked by the insertion markers  1406 . Points in the output stream  1400  may also be marked with special markers displayed in the media event log as “substitution markers.” These substitution markers would indicate that a marked media event is to be skipped, and a targeted media event, such as a targeted spot, is to be inserted in place of the marked media event. 
         [0058]    The broadcast of output stream  1404  from the secondary audio server may be supplemented from a secondary playlist  1410  of media events, which can include targeted media events. A user at the secondary workstation  1212  may use a secondary log or playlist  1410  of media events that can include targeted media events that have been retrieved using the tertiary server. The secondary log or playlist  1410  may be created by sending information associated with a user to a tertiary server and retrieving, through the use of a tertiary server, a log of targeted media events, similar to the media event log  11  of  FIG. 2 , which can be loaded from the tertiary server to the secondary audio server. 
         [0059]    In some embodiments, the secondary file server may load the targeted media events from the tertiary server and create a log of the targeted media events, which can then be loaded to the secondary audio server. The secondary audio server can be configured to insert a media event from the secondary playlist  1410  into the secondary output stream  1404  when an insertion marker  1406  is encountered in the output stream  1400 . The secondary play list may comprise a single type of targeted media event or may comprise a variety of types of targeted media events, such as songs, news and advertisements pertinent to the secondary station&#39;s broadcast audience, station identification, radio personality commentary and the like. 
         [0060]    In addition, the output stream  1400  can include spot blocks, as shown in  FIG. 7 , to enable the skipping of media events as directed by the spot blocks. The media events marked by spot blocks can include non-targeted spots, which can also be advertisement spots. Use of insertion markers can enable an output stream  1400  including non-targeted spots to be converted into an output stream  1404  including at least some targeted spots Likewise, even if some spots are included in output stream  1404 , including targeted spots, insertion markers can allow additional targeted spots can be added, targeted and non-targeted spots to be rearranged, and other similar modifications to be performed. 
         [0061]    As shown in  FIG. 15 , a process  1500  of inserting media events, which can include targeted media events, is illustrated and discussed. This process can be performed by a server station, a client server station that is part of a content distribution network (CDN), a client device such as a computer, appliance, personal digital assistant (PDA), wrist watch, stand-alone Internet radio, set top box, and television system, or some other suitable device. In various embodiments, the server station, CDN server, or client device used to implement process  1500  can be located within a receiver. 
         [0062]    As shown in block  1502 , a secondary audio server receives a first sequence of media events from, for example, a primary audio server. The first sequence of media events can include insertion markers indicating a position within the first sequence of media events targeted media events are to be inserted. The targeted media events can be one of multiple types of media events, including targeted spots or targeted advertisement spots. As shown in block  1504 , at least a part of the first sequence of media events can be stored in long term or temporary storage. For example, a CDN server, having received a first sequence of media events, can store at least part of the sequence in a buffer, cache, or other memory. 
         [0063]    As shown in block  1506 , a server station can receive information associated with a user. A user can include, but is not limited to, a content provider, such as a radio station, or a consumer. The information associated with the user can include, but is not limited to, user demographics such as age, location, and media type preferences. As shown in block  1508 , information associated with a user can be transmitted; for example, the information can be transmitted to a tertiary server. The transmission may include information associated with targeted media events, including but not limited to preferred time lengths, or maximum and minimum allowable time lengths. As shown in block  1510 , the server can receive targeted media events, which can include, but is not limited to, targeted spots or targeted advertisement spots. Such a receipt of targeted media events can be from the tertiary server. For example, the tertiary server may, in response to receiving information associated with a user, compare the information with a list of advertisement spots and assemble a list of advertisement spots that are targeted to users with similar or matching information; the tertiary server may then transmit the list of targeted advertisement spots to the server station. 
         [0064]    As shown in block  1512 , the server can be configured to insert targeted media events into the first sequence of media events as directed by insertion markers. The insertion markers may direct the insertion of targeted media events before, after or within a given media event in the first sequence of media events. The first sequence of media events, once modified, becomes a second sequence of media events. The media events inserted can be smart-aware media events. A smart-aware media event can receive information associated with media events preceding and following the smart-aware content media event in the sequence of media events. Upon receiving this information, the smart-aware content media event can provide input to the server with regard as to both which media events should be inserted into the sequence of media events and what parameters should be set for targeted media events. 
         [0065]    As shown in block  1513 , the server can be configured to stretch (or compress) a sequence of media events. This process of stretching (or compressing) the sequence, illustrated in  FIG. 7  and  FIG. 10 , can be in response to the insertion or removal of media events from the sequence of media events. In other embodiments, the marked sequence of media events received by the server may be shorter than the required time length of the broadcast period, and the server may be configured to stretch (or compress) the sequence of media events to match the required time length of the broadcast period. 
         [0066]    As shown in block  1514 , the server can be configured to broadcast a sequence of media events; the types of sequences that can be broadcast can include the first sequence of media events and the second sequence of media events. 
         [0067]    While the invention has been described with reference to the foregoing embodiments, other modifications will become apparent to those skilled in the art by study of the specification and drawings. For example, the foregoing description may apply in a television, video, and text broadcast context, where the automation playlist may comprise media events of audio and/or visual nature, and the broadcast equipment involve, for example, television broadcasting equipment. Also, the automation play list need not be generated by broadcast automation software, and may simply be an arrangement of media events generated by known music mixing software, such as Adobe Audition. It is thus intended that the following appended claims define the invention and include such modifications as fall within the spirit and scope of the invention. 
         [0068]    Various embodiments involving insertion of content and targeted spot insertion at a content distribution network have been discussed. Other variations and modifications of the embodiments disclosed may be made based on the description provided, without departing from the scope of the invention as set forth in the following claims.