Abstract:
A system for inserting secondary content into programmed primary content includes a first database storing a number of primary content, a second database storing a number of secondary content and a server in communication with the first and second databases. The server is programmed to receive primary content distribution requests and associate the primary content distribution requests with one of a plurality of programmed play lists. The server is also programmed to execute secondary content insertion instructions including secondary content selection instructions and frequency of secondary content distribution instructions to generate an integrated play list comprising the primary content associated with the programmed play list and the secondary content.

Description:
BACKGROUND OF THE INVENTION 
     The invention relates generally to systems, methods and associated software for inserting secondary content, e.g., advertisement and/or promotional material, into programmed primary content, e.g., music and/or video. Primary content and secondary content as used within the context of this disclosure refer to electronic media including audio and/or video data stored in electronic format. 
     SUMMARY OF THE INVENTION 
     Briefly, and in general terms, the invention is directed to systems and methods for inserting secondary content into programmed primary content. One such system includes a first database storing a number of primary content, a second database storing a number of secondary content and a server in communication with the first and second databases. The server is programmed to receive primary content distribution requests and associate the primary content distribution requests with one of a number of programmed play lists. The server is also programmed to execute secondary content insertion instructions including secondary content selection instructions and frequency of secondary content distribution instructions to generate an integrated play list that includes the primary content associated with the programmed play list and the secondary content. 
     These and other aspects and advantages of the invention will become apparent from the following detailed description and the accompanying drawings which illustrate by way of example the features of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of a media distribution system in accordance with the invention including a client provider side having a server, a primary content library and a play list library and a client side having a plurality of client systems, each with a server, a primary content library, a secondary content library, a play list library and a plurality of user interface systems; 
         FIG. 2  is a flow chart of various modes of operation of one configuration of the system including CD Jukebox, Music Video Jukebox and Radio Interactive; 
         FIG. 3  is an exemplary main menu provided by the client server to the user interface through which a user may select a mode of operation; 
         FIG. 4  is an exemplary category menu provided by the client server to the user interface upon selection of the CD Jukebox mode provided by the menu of  FIG. 3 ; 
         FIG. 5  is an exemplary CD menu provided by the client server to the user interface upon selection of a category from the menu of  FIG. 4 ; 
         FIG. 6  is an exemplary category menu provided by the client server to the user interface upon selection of the Radio Interactive mode provided by the main menu of  FIG. 3 ; 
         FIG. 7  is an exemplary sub-category menu provided by the client server to the user interface upon selection of a category from the menu of  FIG. 6 ; 
         FIG. 8  is a general process diagram of the integration of secondary content with primary content into an integrated play list; 
         FIG. 9  is an example of an integrated play list resulting from a number based integration rule; 
         FIG. 10  an example of an integrated play list resulting from a time based integration rule; 
         FIG. 11  is an exemplary CD player made available to the user interface upon selection of a CD from the menu of  FIG. 5 ; 
         FIG. 12  is an exemplary player made available to the user interface upon selection of a sub-category from the menu of  FIG. 7 ; 
         FIG. 13  is an example of an integrated play list formed “on the fly” by a client server using a number based integration rule and a counter; 
         FIG. 14  is an example of an integrated play list formed “on the fly” by a client server using a times based integration rule and a timer; and 
         FIG. 15  is a block diagram of another media distribution system in accordance with the invention including a client provider side having a server, a primary content library and a play list library and a client side having a plurality of client systems, each with a server, a secondary content library and a plurality of user interface systems. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Referring now to the drawings and particularly to  FIG. 1 , there is shown an electronic media distribution system having a content provider side  10  and a client side  12  interfacing through a communication network  14 . The communications network  14  may be any type of network capable of transmitting electronic digital media. Examples of communications networks include the Internet, cable TV systems, satellite systems and RF coax systems, such as those used in the hospitality industry and described in U.S. Pat. Nos. 6,256,554 and 6,438,450, the disclosures of which are hereby incorporated by reference. 
     In one configuration of the system, the content provider  10  includes a content provider server  16 , such as a Linux server, a primary content library  18  and a play list library  20 . The primary content library  18  stores individual audio and/or image, e.g., still image and video, media-data files in a standard downloadable or streaming format, such as MP3 or MPEG-2. The primary content media-data files are also referred to as “entertainment content” and may include songs and music videos. Each of these primary content files has an associated identification code. The play list library  20  stores numerous files, each defining a play list. The play list files include a sequential list of identification codes for primary content files. For example, a play list file for a particular compact disc would include the identification codes for each of the songs on the compact disc, in the order as they appear on the compact disc. A play list file for a particular music channel, e.g., rock, country, classical, etc., would include the identification codes for numerous songs in the order the songs are to be played. 
     The client side  12  includes a plurality of client systems  22  located remote from the content provider server  16 . In one implementation of the system one or more client systems are located in hotels within a hospitality network. Each client system  22  includes a server  24 , a primary content library  26 , a play list library  28  and a secondary content library  30 . The primary content library  26  and the play list library  28  on the client side include the same files as the primary content library  18  and the play list library  20  on the content provider side and are updated over the network  14  through periodic files transfers from the content provider server  16 . 
     The secondary content library  30  stores individual audio and/or image, e.g., still image and video, media-data files in a standard downloadable or streaming format, such as MP3 or MPEG-2. The media-data files in the secondary content library are referred to as “advertisement content” and may include audio and video advertisement or promotional information. Like the primary content files, each of the secondary content files has an associated identification code. 
     The client server  24  includes a processor capable of launching one or more audio and/or video players and one or more Internet browsers. Each client system  22  also includes several audio/video outputs which interface with a plurality of user interfaces  32  through appropriate communications lines  34 . Such communications lines  34  may include category twisted-pair wires, coax cable and other such lines capable of transmitting digital electronic media. In a preferred configuration, the user interfaces  32  include a video monitor, remote control, speakers and an interface device, such as a TV remote control or a computer keyboard. 
     Operation of the client system  22  is controlled by system software within the client server  24 . The system software provides a graphical user interface (GUI) between system users and the system  22 . The system software also controls the selection and integration of content from the primary content library  26  and the secondary content library  30  and the distribution of content to the user interfaces  22 . “Distribution” as used herein includes the playing of the content, such as through content downloading or streaming. In one embodiment of the system, content is transmitted by downloading a copy of the content to the user interface  32 . In another embodiment of the system, content is transmitted by streaming the content to the user interface  22 . 
     With reference to  FIG. 2 , operation of the system is as follows. At step S 1 , the client server  24  presents a main activation menu screen ( FIG. 3 ) to the user interface  32 , through which a user may access the system. Once the user accesses the system, the system software presents a series of selection menus through which the user may select content for playing. In one embodiment of the system, there are three aspects of the system which may be accessed by the user. These aspects include CD Jukebox S 2 , Music Video On Demand S 3  and Radio Interactive S 4 . 
     With continued reference to  FIG. 2 , if the user selects the CD Jukebox option, the system software sends a category menu screen ( FIG. 4 ), to the user interface  22 . At step S 5 , the user may select one of the categories presented. The system then sends a CD menu screen ( FIG. 5 ) to the user interface  22 . At step S 6 , the user may then select a CD. With continued reference to  FIG. 2 , if a user enters the Radio Interactive aspect of the system, the system software sends a category menu screen ( FIG. 6 ) to the user interface  22 . At step S 9 , the user may select one of the categories presented. Upon selection of a category, the system software sends a sub-category menu screen ( FIG. 7 ) to the user interface. At step S 10 , the user may then select a style of music. A selection of a CD or a category of radio station by a user serves as a request from the user to the client server to distribute the primary content associated with the request. 
     Each CD or category of radio station has an associated play list which identifies a list of primary content. The pieces of primary content included in the play list are generally distributed in the order they appear on the play list. In accordance with the invention, however, secondary content in the form of advertisements or promotional materials, may be integrated into the programmed play list, for example, at the point of distribution of the programmed play list, e.g., at the client system  22 . Software located in the client server  24  controls the integration process. 
     Depending on the CD or radio station selected, the client server  24  obtains the play list associated with the selected CD or radio station from the play list library  28  and executes a content integration function with respect to the obtained play list. In general, a content integration function has associated rules which when followed or executed by the server  24 , results in the integration of secondary content from the secondary content library  30  into the obtained programmed primary content play list. 
     In one example of a content integration function, the client server  24  has preprogrammed secondary content integration rules or parameters stored in memory. These parameters define how often a piece of secondary content is to be inserted into a play list of primary content, or in other words, the frequency of secondary content insertion. As explained further below the frequency parameters may be number based or time based. 
     With reference to  FIG. 8 , upon selection of a CD, the system software causes the client server  24  to obtain the selected CD&#39;s play list  36  from the play list library  28 . This play list is referred to as a “primary play list” and includes the identification codes of a number of primary content (PCn). The system software also causes the client server  24  to search its memory for content integration rules  38 . If content integration rules  38  are located, the system software causes the server  24  to apply the rules to the primary play list  36  to generate a play list  40  having the identification codes of secondary content (SCn) inserted therein. This new play list is referred to as an “integrated play list.” 
     Once an integrated play list  40  is generated, the client server  24  executes the play list by accessing the appropriate pieces of primary content from the primary content library  26  and transmitting the content to the user interface  22 . At the appropriate point in the play list, the client server  24  accesses a piece of secondary content from the secondary content library  30  and transmits it to the user interface  22 . Once that transmission is complete, the client server  24  access the next piece of primary content on the play list and transmits it. The process of playing primary content and secondary content continues until the playing of the integrated play list  40  is complete or until play is discontinued by the user. 
     As previously mention, the integration rules may define the frequency of secondary content playing in terms of number or time. A number based frequency requires that a piece of secondary content be played after every x number of pieces of primary content are played. In this configuration, the playing of secondary content may not be equally spaced due to variations in the duration of the pieces of primary content. For example, with reference to  FIG. 9 , assuming a number frequency of four, i.e., a secondary content is played after every fourth piece of primary content, each of PC 1 -PC 4  has a duration of 4 minutes and each of PC 5 -PC 8  has a duration of 6 minutes, the first piece of secondary content will be played at the 16 minute point while the second piece of secondary content will be played 24 minutes after the first piece of secondary content. 
     In order to allow for a more even spacing of secondary content playing, the integration rules may be time based. In this configuration, the primary play list includes a duration code for each piece of primary content in the list. Using these duration codes, the system software inserts pieces of secondary content in the integrated play list after the piece of content nearest the required time interval. For example, with reference to  FIG. 10 , assuming a time interval of 20 minutes and PC 1 -PC 10  durations of 3, 5, 4, 5, 4, 5, 7, 3, 7, 4 minutes respectively, the first piece of secondary content would be inserted after PC 5  (21 minutes after the start of playing) and the second piece of primary content would be inserted after PC 9  (22 minutes after the playing of the first piece of secondary content). While simple whole minute durations have been used in this example, the duration codes for the primary content will of course include seconds and possibly tenths of second measurements and the system will account for these. 
     The integration rules may also be programmed to insert secondary content at the time closest to the required interval, even if the time is less than the required time interval. For example, if the duration of primary content is such that a piece of secondary content may be inserted after four pieces of primary content at the 19 minute mark or after five pieces of primary content at the 24 minute mark, the system would insert the secondary content at the position closer to the defined time, which in this example is the 19 minute mark. 
     Although the foregoing description refers to the generation of an integrated play list prior to playing, it is understood that the system may be configured to perform this function “on the fly.” In such a configuration, the system may begin to play the primary content of a primary play list and periodically pause primary content playing in order to play a piece of secondary content. For example, if the integration rules require the insertion of a piece of secondary content after every fifth piece of primary content, the client server  24  would perform this function on the fly through the use of a counter function, with the counter incrementing one value for each piece of primary content played. Once the prescribed counter value is met, primary content play would pause, the piece of secondary content would be played and the counter would reset to zero. Likewise, if the integration rules require the insertion of secondary content every 20 minutes, the client server  24  would perform this function on the fly through the use of a timer function. with primary content play pausing after completion of the piece of primary content that is being played when the timer reaches 20 minutes. 
     Returning to  FIG. 2 , at step S 7  or step S 11 , the user is presented with a CD player menu ( FIG. 11 ) or a Radio Interactive player menu ( FIG. 12 ). Using the player menu, the user may select a particular piece of primary content, i.e., a track associated with the CD or the programmed radio station, to play using the track up and track down or skip user interfaces. In this case, the programmed play list order is bypassed in favor of the user&#39;s selection. However, in order to prevent the user from bypassing secondary content, the pieces of secondary content may include a bypass-prevention code, which overrides the functionality of the player menu during secondary content play. 
     In view of the player menu and the user&#39;s ability to bypass the playing of pieces of primary content through the player menu, the pieces of secondary content may be played sooner than required by the integration rules. For example, if a time-based integrated play list prescribes the playing of five, four-minute pieces of primary content and then the playing of a piece of secondary content at the twenty minute mark, and the user, through the player menu, skips pieces two and three of the primary content, the first piece of secondary content would end up being played only after twelve minutes of primary content playing. This, in combination with the bypass-prevention code included in secondary content, may result in a user becoming frustrated when he essentially skips over primary content playing and forwards to a piece of secondary content which he cannot bypass. 
     The previously described, “on the fly” configuration of the system may be further configured to avoid this condition. More specifically, if the integration rules are frequency number based, the system&#39;s counter function may be programmed to only count a piece of primary content as being played, if it is actually played for a specified time duration, which may be expressed as a specific time (e.g., one minute) or a percentage of total time (50% of the total time duration of the piece). 
     For example, with reference to  FIG. 13 , if the integration rules require insertion of a piece of secondary content after every fifth piece of primary content and a piece of content counts as being played if it is actually played for at least one minute and the user, through the player menu, plays the first three pieces of content for their entire duration, each of the fourth and fifth pieces of content for only ten seconds and the sixth and seventh pieces of content for their entirety, then the first piece of secondary content would be integrated into the play list after the seventh piece of content, with the counter resetting at that point. 
     If the integration rules are frequency time based, then the system&#39;s timer function may be programmed to keep track of the accumulative amount of time that pieces of primary content are played, regardless of whether a piece is played entirely or only partially. Thus, with reference to  FIG. 14 , if a piece of secondary content is to be inserted every twenty minutes and a user plays the first three piece entirely for a total of seventeen minutes and then plays the next three pieces only partially, for one minute each, the secondary piece of content would be inserted after the sixth piece of primary content, with the timer resetting at that point. 
     The secondary library  30  may include a number of secondary content for integration into a play list. As previously mention, these pieces of secondary content are generally in the form of advertisements and promotions. In order to generated revenue from the playing of these pieces of content, the client server  24  may keep track of the number of times a piece of secondary content is played and charge the entity associated with the advertisement or promotion a fee on a per play basis. This may be done by inserting a code at the end of the secondary content file, which when played by the server  24  increments a counter in the server. 
     As an additional means of generating revenue, each piece of secondary content may have an associated priority code. Those pieces of content with a higher priority code would be inserted into a play list more often then those with a lower priority code. For example, assuming a secondary library has five pieces of secondary content and two of them have a priority code of two and three of them have a priority code of one, the pieces of content having a priority code of two would be inserted into a play list twice as often as the pieces of content having a priority code of one. If all pieces of content have the same priority code, each would be inserted an equal number of times. 
     It is worth noting that because the generation of integrated play lists is based on user interactions with the system, the just described secondary content selection process is performed on a user interface  32  basis. Thus, the selection of pieces of secondary content for insertion in a play list being generated for one user interface  32  does not affect the selection of secondary content for another user interface. This ensures an even distribution of secondary content for each of the user interfaces  32 . 
     With reference to  FIG. 15 , in another embodiment of the system, the play list and content associated with the play list are located remote from the client systems  50 . In response to user interaction on the client side  52 , the content provider  54  distributes (by download or streaming) the content to the client server over the network  56  in play list order and the client server  58  executes integration rules with respect to the content, on the fly, as it is received. In this configuration the client server  58  includes a memory buffer  60  which is used to temporarily store content received from the content provider  54  in response to integration rules. The client server  58  also includes a secondary content library  62  from which secondary content are obtained for insertion into the play list. 
     The client server  58  receives the first piece of primary content from the content provider server  64  and executes the integration rules with respect to the piece of content. Specifically, if the integration rules are number based with a minimum play time constraint, the client server  58  monitors the playing of the piece of primary content for minimum play time requirements and increments a counter in the client server if the requirements are satisfied. The client server  58  does this for each piece of primary content received from the content provider. 
     Once the number requirement of the integration rules is met (e.g., five pieces of primary content are played) the client server  58  “pauses” the playing of the primary content received from the remote content provider  54  in order to play a piece of secondary content from the local secondary content library  62 . The “pausing” of primary content playing is performed by the client server  58  in conjunction with the memory buffer  60  and does not impact the operation of the content provider  54 . More specifically, while the piece of secondary content is being played, the client server  58  continues to receive primary content from the content provider  54  and places this content in the memory buffer  60 . Once the piece of secondary content is finished being played, the client server  58  resumes playing of the primary content stored in the memory buffer  60  and continues to execute the integration rules with respect to the stored primary content. The client server  58  may be programmed to perform a similar operation for time based integration rules. 
     It will be apparent from the foregoing that, while particular forms of the invention have been illustrated and described, various modifications can be made without departing from the spirit and scope of the invention. Therefore, it is not intended that the invention be limited, except as by the appended claims.