Patent Publication Number: US-9420340-B2

Title: Systems and methods for providing a network link between broadcast content and content located on a computer network

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This is a Continuation of application Ser. No. 12/913,672 filed Oct. 27, 2010, which is a Continuation-in-Part of U.S. patent application Ser. No. 12/603,897 filed Oct. 22, 2009, which is a Continuation-in-Part of U.S. Patent Application of U.S. patent application Ser. No. 12/288,672, filed Oct. 22, 2008. The contents of all of which are incorporated herein by reference in their entirety. 
    
    
     FIELD OF THE INVENTION 
     The systems and methods described herein generally pertain to television content distribution networks and more particularly to an interactive broadcasts data stream server which enables the linking and tracking of content residing in different classes of distribution networks, including the Internet and a television content distribution network. 
     BACKGROUND 
     Today, there are many different types of data networks, having different topologies and different data functions. Broadcast networks, such as television and radio networks have now switched largely to a digital data network. These networks use an infrastructure suited for storing a relatively small number of extremely large data files that are distributed to a large number of users. Additionally, these networks provide little or no support of a backchannel from the user to the broadcasting server. In contrast, data networks that support data communications between computer and workstations have storage suited for storing an extremely large number of relatively small files and a topology and architecture for routing data quickly between devices on the network, typically providing each computer with an equal share of resources for transmitting data. Of these types of data networks, probably the most well known is the Internet. 
     The growth of the Internet has been so significant that it has challenged the vitality and significance of the television and radio networks as medium for content delivery. The television network is better suited for broadcast deliveries of television content. However, the Internet provides content that attracts viewers, and at the same time provides a data processing platform that allows the viewer to instantly select content and agree to purchases. A concrete result of the difference between the television and radio network technology and computer data network technology is that, a consumer watching content over the Internet can be presented with an advertisement carrying an interactive link that the user can select like any other web link. Based on that selection, the consumer can buy a product or at least request additional information about the product from the retailer. Many advertisers see this as a better platform. With the Internet data network, an advertiser can simultaneously present both an ad and a mechanism to purchase the product, reaching the consumer while the advertisement is on their mind. 
     Consequently, the economic future of the television and radio networks as an advertising medium will depend upon joining these platforms to the Internet. Additionally, the value of the television and radio networks as a communication tool would also be increased by a viable network technology that brought the interactivity of a computer data network to the broadcast capabilities of the television network. For example, emergency alerts that are broadcast over the television network may have increased effectiveness if they are combined with an easy way for viewers to request and get more specific information, such as downloadable maps of evacuation routes, information on missing persons and other life saving safety information. To this end, many companies and groups are working on this issue and are developing network technologies that allow for two way communications, including two-way communications over the cable-TV network. 
     These technologies merely increase the bi-directional communication capabilities of the cable TV platform. However, it is unclear that simply adding improved communication technology will allow the television platform to compete successfully against Internet advertising systems. These systems allow Internet-like advertising, such as linkable content, to be carried over the cable-TV platform. In essence, the proposed systems only extend low quality Internet banner ads and pop-up notices to the TV viewing experience. Thus these proposed solutions fail to address the existing technologies and platforms for developing and distributing advertising content over the television network. Further, these technologies exist only in the cable television environment while programmers, advertisers and safety officials desire a solution that operates in all television distribution environments. 
     For television and radio systems to compete against the Internet, technology needs to be developed that extends the interactivity and accountability of the Internet to the TV and radio mediums, in a manner that fits with the existing structure of television and radio advertising. 
     As such there remains a need for systems and methods that provide an improved platform for allowing data content on a computer network to be linked with content on a broadcast network. 
     SUMMARY OF THE INVENTION 
     The systems and methods described herein pertain, among other things, to a data network system that includes a data stream server that inserts a token into a broadcast media stream at a point in the network where that stream is ready to be delivered to a network node. The token provides a data pointer that links, typically by creating a logical link, the broadcast media stream, or a portion of the broadcast media stream, to content stored on a data network. The network system tracks the broadcast content that is queued, scheduled or otherwise organized to be delivered over the television network. At a selected time, the network system triggers the data stream server to insert into the broadcast stream the token, or optionally, a series of tokens. These tokens in one embodiment are inserted into a transport stream of data packets being broadcast to a series of network nodes. Preferably, the data stream server is located at a point in the network that is subsequent to any processing of the broadcast media stream that may result in the inserted packets being stripped from the broadcast media stream. The inserted tokens may be processed by a television content receiver to create a visual representation of the logical link. The link may be activated to create a request for the associated content that is stored on the data network, and the content may be delivered to a destination associated with the source of the request. 
     Accordingly, the systems and methods described herein in one aspect, provide a network including systems that link data served on a broadcast network, including broadcast networks employing transport stream data transmission with data maintained on an internet protocol packet switched network. 
     In another aspect, the systems and methods described herein pertain to a data stream server that modifies a broadcast media stream to add into that stream tokens that specifically identify the location of portions of content in the stream and that further link those portions of content with data stored on a computer network. 
     To this end, and in certain embodiments, the system includes a data packet generator that generates data packets carrying token information. The data packet generator operates responsive to a trigger control signal that directs the data packet generator to select a particular token or tokens for the data packets. To select the correct tokens, the packet generator processes the trigger control signal to identify database access data. The packet generator accesses a database having stored therein data that provides the packet generator with instructions for creating the appropriate packets to have inserted into the broadcast media stream. These instructions include the computer network content, or data that represents or otherwise points to the computer network content, to associate with the respective broadcast media stream content and may include a start and stop instruction indicating for example a time for starting the insertion of data packets into the broadcast media stream and similarly for stopping the insertion of data packets into the broadcast media stream. Additional instructions may include instructions for periodically changing to token data being inserted into the broadcast media stream, as well as information indicating how often data packets are to be inserted into the broadcast media stream while packet insertion is active between the start time and the stop time. 
     One aspect described herein includes methods that generate content for the video and/or audio components of the broadcast media stream and similarly generate content for the metadata component of the broadcast media stream. The system separates the generated content and combines the generated content later during the content distribution process. In one practice, the method stores meta data content in a database, such as the database described above, that stores data accessed by the packet generator. 
     In another aspect, a system for linking content stored on a computer network with content broadcast over a television network is provided. The system includes one or more broadcast data stream servers (BDSSs). Each BDSS includes a database storing tokens representative of links between the content broadcast over the television network and the content stored on a computer network, and accesses delivery information representative of at least a duration for delivering the token. The tokens are authorized for use by a token registry. The token registry allows for creating a respective token, registering the respective token, assembling one or more tokens into a token playlist, and storing the respective token and playlist in the database. The token registry also allows a content producer to at least one of create the respective token and track the respective token. 
     The system further includes a trigger mechanism for indicating an instruction to deliver a playlist of tokens over the television network, the trigger mechanism generating a signal indicating the respective playlist of tokens and indicating a time for starting the delivery of the playlist of tokens, wherein the playlist of tokens includes at least one of the respective token and a time for starting the delivery of the respective token. In some embodiments, the trigger mechanism interacts with the automation system to create and distribute a playout list representative of a schedule of time slots with associated programming content for the time slots. In some embodiments, the trigger mechanism includes a scheduled playout system having a data file representative of a time schedule for delivering respective ones of the tokens. In some embodiments, the trigger mechanism includes a switch of the type operated by a user and coupled to the broadcast data stream server. In some embodiments, the trigger mechanism includes means for identifying within a program stream a pointer representative of a token playlist and responding to the identification of the pointer by having the packet generator insert the respective tokens into the stream of television content. In some embodiments, the trigger mechanism includes an instruction from a second broadcast data stream server in at least one of the computer network and the television network. 
     The system also includes a communications interface having a channel in communication with a television set top box device for transferring the respective token to the television set top box device. 
     The system also includes a packet generator for generating the packets within a stream of television content to be broadcast over the television network, and a multiplexer coupled to the packet generator and the server for multiplexing a set of tokens stored in the database with the stream of television content. In some embodiments, the packet generator generates data packets carrying the token data. In some embodiments, the packet generator generates packets conforming to the MPEG-2 transport stream standard. In some embodiments, the packet generator generates packets having token data and inserts said packets into a private data section or packetized elementary stream associated with a program of a transport stream and being representative of the content being broadcast over the television network. 
     In some embodiments, the system further includes an identifier control coupled to the packet generator for controlled insertion of packets carrying token data into a selected port identified to the set top box devices associated with a respective broadcaster. The identifier control includes means for inserting packets carrying token data to two or more different ports of a set top box device. 
     In some embodiments, the system further includes an automation system for managing delivery of content to the multiplexer whereby content from the broadcast data stream server and content delivery triggered by the automation system is transformed into a stream of intermixed packages. 
     In some embodiments, the set of tokens includes an identifier carrying data representative of at least one of a network location of the packet generator, a date for inserting the respective token into the stream, a time for inserting the respective token into the stream, and an application or script that the set top box can execute, and for inserting such data packets into the stream of television content being broadcast to the set top box devices. 
     In some embodiments, the system further includes a feedback monitor for monitoring the intermixed stream of television content being broadcast to the set top box devices for verifying that the inserted token data is associated with the respective television content. 
     In some embodiments, the system further includes a time stamp for stamping data packets carrying token data to the user site to mark portions of the television content with timing information. 
     In another aspect, a method for linking a content stored on a computer network with content broadcast over a television network is provided. The method includes analyzing a television network and identifying a network location being adjacent to a channel directly coupling to a user site. 
     The method further includes locating a communications interface at the identified location and coupling the communications interface to the channel in communication with the user site. 
     The method further includes providing a broadcast data stream server including a database storing a plurality of tokens representative of links between the content broadcast over a television network and the content stored on a computer network, and accessing delivery information representative of at least a duration for delivering a respective token. 
     The method further includes providing a token registry for creating the respective token, registering the respective token, assembling one or more tokens into a token playlist, and storing the respective token and the token playlist in the database. 
     The method further includes allowing a content producer to at least one of create the respective token and track the respective token. 
     The method further includes triggering delivery of the token playlist over the television network, wherein triggering causes a packet generator at the communications interface to interface with a multiplexer and the server to multiplex a set of tokens stored in the database with packets within a stream of television content to be broadcast over the television network, wherein the packet generator generates the packets within the stream of television content, and wherein the token playlist includes at least one of the respective token and a time for starting the delivery of the respective token. In some embodiments, the set of tokens includes an identifier carrying data representative of at least one of a network location of the packet generator, a date for inserting the respective token into the stream, a time for inserting the respective token into the stream, and an application or script that the set top box can execute. 
     In some embodiments, the method further comprises monitoring the television content being delivered to the user site and coordinating the delivery of the television content with triggering delivery of the respective token. In some embodiments, monitoring includes monitoring a playlist of scheduled television content, monitoring a command manually generated by an operator, monitoring a command generated by the database, monitoring the television content for previously inserted token trigger data, and monitoring a second broadcast data stream server for insertion instructions. 
     In some embodiments, the method further includes multiplexing token data with television data to generate an intermixed stream of data for the user site. In some embodiments, the method further includes time stamping data packets carrying token data to the user site for marking portions of the television content with timing information. 
     In some embodiments, the method further comprises a feedback monitor for reporting the successful insertion of token data. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The foregoing and other objects and advantages of the invention will be appreciated more fully from the following further description thereof, with reference to the accompanying drawings: 
         FIG. 1A : Depicts a first embodiment of one system according to an illustrative embodiment of the invention; 
         FIG. 1B : Depicts the second embodiment of the system of  FIG. 1A  showing the a structure within the storage, automation and traffic module, according to an illustrative embodiment of the invention; 
         FIG. 2 : Depicts a database with XML representations of token data stream; 
         FIG. 3 : Depicts one embodiment of a packet generator; 
         FIG. 4 : Presents a flow chart of one process according to an illustrative embodiment of the invention; 
         FIG. 5A : Depicts a second embodiment of the system according to an illustrative embodiment of the invention; and 
         FIG. 5B : Depicts a second embodiment of the system of  FIG. 5A  showing a structure within the two storage, automation and traffic modules according to an illustrative embodiment of the invention. 
     
    
    
     DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS 
     To provide an overall understanding of the systems and methods described herein, certain illustrative embodiments will now be described, including a system that links content within a broadcast media stream with content on a computer network. The network linking systems and methods described herein provide systems that may link advertising content on a computer data network with television content, or portions of television content, being broadcast over a television network. As such, the content linking system allows a content producer that has produced content for broadcast delivery, such as a television show or a commercial, to link with that broadcast content additional and separate content that is stored on a computer network. However, the systems and methods described herein are not so limited and may be used for other applications, including for example, emergency broadcast notification systems that link emergency broadcasts with content stored on a data network. These and other applications, as well as certain modifications, supplements and additions will be apparent to those of skill in the art from the description set forth below. 
     To this end and in one exemplary embodiment, the systems and methods described herein integrate a data stream server into a television network by, in one practice, placing the data stream server at a location on a broadcast network that is at the point of content delivery to nodes on the television network The data stream server, in one embodiment, is capable of processing the broadcast data stream to insert into the broadcast data stream information representative of links to the content stored on the computer network. The inserted content is placed within the broadcast data stream at a location or a time that corresponds to the location or the time of the broadcast media to which the system wishes to link the content stored on the computer network. Thus, the inserted content, also referred to as tokens herein, provide a logical link to data stored on, or that can be generated on, a data network. 
     In one particular embodiment, as will be described in more detail hereinafter, the data stream server generates data packets that may be incorporated into an MPEG-2 transport stream. The MPEG-2 transport stream is the broadcast media content that is being delivered to the televisions on a cable network or to other receivers of broadcast media. So, for example, as the MPEG-2 transport stream that carries a television show is transmitted from the television station, that data server that has the links to the content stored on the computer network integrates into the broadcast stream data packets that comply with the metadata packet format for the MPEG-2 transport stream. The data packets in the metadata stream carry information that can be used by the receivers, typically set top boxes, to present to a viewer both the content that makes up the television show being broadcast and an icon that indicates to the viewer that there is content stored on a computer network that is being associated with or somehow related to the content being viewed in the broadcast. In operation, the viewer will be able to activate a control that inputs information to the set top box, and this information is delivered through the back channel on the cable network up into the cable head end. The information delivered back to the cable head end may include the link information to the computer content associated with the broadcast content and optionally and preferably the identifier of the viewer&#39;s set top box. The set top box identifier may be any suitable identifier that will identify the set top box that returned the link information to the cable head end. As such, the set top box identifier provides either directly or indirectly information that may be used by the system to derive a destination network address on the linked packet switched network. Thus, the systems described herein provide to the linking system, sufficient information for the linking system to act as a network gateway to mediate data communications, at least unidirectional data communication between two networks employing different data communication protocols. In one particular exemplary embodiment, the link information is used to collect information stored on the computer network and the set top box identifier is employed to deliver that stored computer network information to a portal that the viewer associated with that set top box may later access. 
     For the purpose of describing the systems and methods,  FIG. 1A  depicts the content linking system  10  as including elements such as the consumer station  30 , which in this depiction includes a receiver  32  and computer  34 . Similarly,  FIG. 1A  depicts a content producer station  16  and token registry  18 . Although these elements may optionally be part of a system for linking broadcast media content, such elements are optional. Further, the configuration and arrangement of these elements may vary from that depicted in  FIG. 1A . For example, the depicted token registry  18  is illustrated as an element separate from the content producer station  16  and separate from the TV station  20 . However, in other optional embodiments, the token registry  18  maybe integrated into either the content producer station  16  or the TV station  18 . Still other arrangements may be realized, as well as modifications that eliminate or substitute certain of the depicted elements, such as the computer  34  at the consumer station, or the preview tool  12  at the content producer station  16 , and the configuration and arrangement selected will depend upon the application being addressed.  FIG. 1A  further depicts that at the consumer station  30  there are nodes on the television network (the receiver  32 ) and for the computer data network (the computer  34 ). In typical operation, these networks operate independently from each other. Further, there typically is no gateway that switches data from the broadcast network to a computer data network. The systems and methods described herein provide such a gateway. With the systems described herein, content broadcast over the television network may be linked to content stored on a computer data network, thereby allowing content distributed over the television network to drive delivery of content over the computer data network. A request packet transmitted over the broadcast television network may be passed on to the computer data network. 
     Turning back to  FIG. 1A , it is shown that content producers at station  16  may develop content for distribution over the television network that they wish to link with content either stored on or generated at a computer data network. To this end, the depicted content production station  16  includes the token preview tool  12  and the token creation tool  14 . The content production station  16  may be used by a content producer to review content that will be broadcast from the television station  20  to different consumer stations  30  along the television network. Typically, the content producer is a television producer, or an advertiser that is developing the kind of content that is usually distributed over cable television systems such as entertainment programs, or advertisements. However, any person may be a content producer and the actual person choosing to develop content for delivery over the television network will vary depending on the application and the task at hand. For example, developers of emergency alert data for broadcast over the television network may also develop content using the content producer station  16  for the purpose of linking sections of the emergency broadcast content with data on a computer network. The content developed at station  16  is typically content of the type suited for delivery over a television network and usually will be a very large data file consisting of many hundreds of megabytes of data or many gigabytes of data. Additionally, the intended distribution will be to a large number of sites on the television network, all of which will receive the data at about the same time. 
     In the embodiment depicted in  FIG. 1A , the content producer station  16  includes a token creation tool  14 . As shown in  FIG. 1A , the token creation tool  14  connects to the token registry  18 . The token preview tool  12  also connects to the token registry  18 . Using common video play-back and non-linear video editing tools, the content producer can watch the television show that they have produced or that has been given to them and they can watch the show as it progresses through its sequence. At one point, the content producer decides to associate with a portion of that television show some additional content that is stored on a computer network. Thus, for example, during a commercial for an automobile, the content producer may decide to associate a portion of the video being presented to the consumers with content stored on a computer network that represents a coupon for getting a certain amount of money off the purchase of an automobile similar or identical to the automobile being shown in the advertisement. In another example, the content producer may decide to provide a series of tokens that are spaced in time across the content. The tokens may be associated with content stored on the computer network that represents the broadcast content. In one application, these temporarily spaced tokens may be employed to create data packets for transmission over the backchannel of the television network that the systems described herein may process to generate data requests that comply with the communication protocol employed by the computer data network. The systems may switch these generated requests on to the computer data network, and thereby link the two different networks. To this end, the content producer at the content production station  16  enters data into the token creation tool  14  about the content, the start time and duration of an icon that represents to the viewer that content on a computer network has been associated with the video sequence, and specifies what the associated computer network content is. Typically, the presentation of this association directs the consumer to enter some input, typically by activating the user&#39;s remote control or through some other device, providing a signal to the consumer&#39;s set top box that can be processed by the consumer&#39;s set top box to deliver through the back channel on the cable network or on any network, information that is representative of the location of the computer content that has been associated by the content producer with the particular visual sequence the content producer identified in the token creation tool  14 . The token creation tool  14  generates a request to the token registry  18  which then generates a token and registers the token with the token registry  18  along with the properties of the token that the content producer  16  has specified. 
     Once the token has been created and stored in the token registry  18 , the content producer may use the token preview tool  12  to simulate the presentation to the consumer of the broadcast content combined with the token data, and simulate the presentation to the consumer of the associated computer network content if a consumer were to click on the token. In one embodiment the token creation tool  14  and the token previewer tool  12  are integrated with a non-linear video editor so that the content producer can view the content, enter the token data, and preview the consumer experience within one user interface. In one embodiment the token preview tool  12  can alter the original video/audio content file by adding metadata representative of the token which the data stream server can detect when the content file is playing out during a broadcast. 
     The token registry  18  includes a database that stores a unique token ID to the content producer as the content producer is using the token creation tool  14  and that token ID is uniquely representative of the video information or other information or content that the content producer wishes to associate with content on a computer network. The token registry  18  depicted in  FIG. 1A  may be a token registry such as that described in U.S. patent application Ser. No. 12/001,633, entitled “Systems and Methods for Registering Token Data on a Computer Network” and owned by the Assignee hereof. 
       FIG. 1A  further depicts a television station  20 . The television station includes a multi-part system comprising storage, traffic, and automation system  22 , the data stream server  24 , and the multiplexer  28 . As shown in  FIG. 1A , the content producer  16  may communicate with the storage, traffic, and automation system  22 . In particular, the content producer  16  may load onto the storage, traffic, and automation system  22  the video content, and optionally the desired schedule for broadcasting it that the content producer wishes to have broadcast by the television station  20  over the television network, which in this example may be a cable network connected to the consumer station  30 . In the embodiment depicted in  FIG. 1A , there is a single content producer  16  that is delivering content and schedule information to the storage, traffic, and automation system  22 . However, in most applications, there will be a number of content producers each of them producing different kinds of content whether its entertainment content, advertiser content or otherwise, and all this content may be stored separately in different locations within the storage, traffic, and automation system  22 . 
       FIG. 1B  depicts a content linking system  10   b , which is an embodiment of the system  10   a  of  FIG. 1A  with an illustrative configuration of the multi-part storage, traffic and automation system  22  and an interactive event decision maker (DM) server  36 . In particular,  FIG. 1B  shows three servers within storage, traffic and automation system  22 : automation system  22   a , storage server  22   b , and traffic &amp; billing system  22   c . In some embodiments, the automation system  22   a  and the storage server  22   b  may be a single unit. Additionally, in cable operator systems, there may be only an ad server unit (a combination of  22   a  and  22   b ) interacting with traffic &amp; billing system  22   c . The ad server ( 22   a  and  22   b ) in the cable operator system would receive schedule data from the traffic &amp; billing system  22   c  and respond to cue tones in the cable feed. 
     Each of  22   a ,  22   b , and  22   c  is in communication with the data stream server  24 , also referred to as a broadcast data stream server (BDSS). As described below, each of system  22   a , server  22   b , and system  22   c  may pass information to the BDSS  24  and/or to the DM server  36 . This information may include, for example, the House ID corresponding to particular television content that is to be played on a consumer device such as set top box  32 . Any other suitable information may be transmitted between the BDSS  24  and the system  22   a , server  22   b , and system  22   c . The interactive event DM server  36  may interact with each of  22   a ,  22   b , and  22   c , and also interact with the BDSS  24 . Interactive event DM server  36  may perform at least one of two functions. The first is to determine what advertisement the storage, traffic, and automation system  22  will play out on the playout engine (described with respect to  FIG. 2 ). The second function is to determine what type of interactivity (e.g., the type of click interaction) that is to be associated with the advertisement and/or content that is to be played out by storage, traffic, and automation system  22 . This functionality will be described further below. 
     Specifically, with continued reference to  FIGS. 1A and 1B , the servers  22   a ,  22   b , and  22   c  of the storage, traffic, and automation system  22  typically includes a play list or other control system that identifies when content stored in the system  22  is to be transmitted from the television station  20  to the consumer station  30 . In the embodiment depicted in  FIG. 1A , the storage, traffic, and automation system  22  will play out its content to the multiplexer  28 . In one embodiment, the storage, traffic, and automation system  22  sends commands to the BDSS server  24 . In another embodiment, the BDSS  24  proactively initiates a connection with the storage, traffic, and automation system  22 . In a third embodiment, the BDSS  24  listens to the log files produced by storage, traffic, and automation system  22 . In a fourth embodiment, the BDSS  24  listens to the communication path between the automation system and another device. The data stream server  24  receives information from the token registry  18  indicating the tokens that are to be associated with certain portions of the television content being played out of the storage, traffic, and automation system  22 . The data stream server  24  will generate, in one practice, data packets that can be integrated into the broadcast media stream that makes up the content being delivered from the storage, traffic, and automation system  22  to the consumer station  30 . To this end, the television station  20  shown in  FIG. 1A  includes the multiplexer  28 . The multiplexer  28  will multiplex packets generated by the data stream server  24 , including a packet generator, with data packets received from the storage, traffic, and automation system  22  so that all packets are delivered as a coherent stream of data to the consumer station  30  so that the consumer can view the broadcast content that will include with it tokens that are representative of the location of content that is being associated with portions of the broadcast media stream. As such, the system multiplexes token data with television data to generate an intermixed stream of data for the user site  30 . 
     The consumer station  30  shown in  FIG. 1A  couples via path  7  to the multiplexer  28  and via path  9  to the token registry  18 . The consumer station  30  is meant to depict a consumer&#39;s home that has connections to the cable television network and a separate connection to a computer data network that couples to the computer  34 . The television network and the computer network may use the same medium, such as a cable that connects from a cable head end to the consumer&#39;s home. However, the two networks are distinct in that the broadcast data over the television network is transmitted in a bandwidth and using a protocol that is different from the bandwidth and protocol used by the computer data network that couples to the computer  34 . As such, although the computer  34  and the set top box  32  may use the same physical media for their network connections, these networks are separate and distinct and the system  10  depicted in  FIG. 1A  links these separate and distinct networks by having the data stream server  24  insert a token into the content generated by the token creation tool  14 , wherein the token logically links portions of the television broadcast content to content stored on the network coupled to and accessible by the computer  34 . 
     The depicted set top box  32  can be any suitable set top box device that can receive and process data transmitted over the television broadcast network. Similarly, the depicted computer  34  can be any suitable computer for coupling to a computer data network. Typically, the computer  34  at the consumer station  30  is a conventional home computer with a connection through an internet service provider to the internet data network. 
     In operation, the content producer using the content production station  16  determines which segments or portions of the television broadcast to link to content stored on or generated by the computer data network that is accessible by computer  34 . The content producer can also determine the actual content or site that they want logically linked to the selected segment of the television data. The content producer then may use the token creation tool  14  to register those decisions in the token registry  18 . To this end, the token registry  18  receives token instructions as determined by the content producer  16 . These token instructions indicate what content the token is to link to on the computer network, what broadcast content the token is associated with, how long the token is to last, what the visual icon will look like that informs the viewer of the linked computer content, where that icon will appear on the screen, and other information relevant to the type of logical link being created between the television content and the associated content on the computer data network. 
     The content producer also sends the content to the television station  20  in any file format the content producer wishes. The content is loaded into the storage, traffic, and automation system  22  and the playout of that content is eventually scheduled and played by the television station&#39;s automation system  22 . As depicted in  FIG. 1A , the token registry  18  couples via path  4  to the data stream server  24 . Prior to playout, the data stream server receives over path  4  the token instructions from the token registry. In some embodiments personnel or processes at the television station  20  initiate the transfer of token information from the token registry  18  to the data stream server  24  and may optionally associate the television station&#39;s internal identifiers with specific tokens in the registry. In one operation, the automation system  22  provides an instruction to the data stream server  24 . That instruction directs that data stream server to insert a specific token or token playlist at a specific time into the MPEG-2 transport stream that is being transmitted from multiplexer  28  to the set top box  32  of the consumer  30 . Upon receiving the trigger to insert the token data, the data stream server  24  collects the proper token and inserts that token into the meta data section of the MPEG-2 transport stream. To enable this process, the set of tokens to be inserted in the stream includes an identifier carrying data representative of at least one of a network location of the packet generator, a date for inserting the respective token into the stream, a time for inserting the respective token into the stream, and an application or script that the set top box can execute. 
       FIG. 2  depicts one embodiment of a token suitable for insertion into the meta data stream. In particular, the token of  FIG. 2  will create a token MPEG-2 data stream that will include a token that uniquely identifies itself as CVB_100000001021. Further information in the token indicates that the token icon is of type “I” (info) and the icon is to be positioned on the screen at 83% of the screen on vertical and 83% of the screen on horizontal and should remain active for 84 seconds. This icon will display three seconds after the receipt of the token stream by the set top box  32  and be displayed for 76 seconds. Once inserted into the stream, the transport stream is delivered down to the set top box  32  and the set top box  32  may recognize the token data and display the visual cue (icon) that the token data instructs the set top box to present. Typically, the visual cue indicates that there is content that can be requested from the computer data network that is associated with the content being received over the set top box  32 . In one operation, the consumer accesses this information by clicking on the remote control that they would like to activate the link to the content on the computer network. As described in U.S. application Ser. No. 12/001,663, the contents of which are incorporated herein in their entirety, the information associated with that token can be delivered to the consumer&#39;s computer station  34 . 
     The storage traffic and automation system  22  depicted in  FIG. 1A  is shown in this embodiment as a television station automation system. Such an automated system manages a playout list that includes that schedule of broadcast content that is being delivered across the television network to the set top box device  32 . As such, it maintains the information about which video assets are to be played from moment to moment throughout the day and the automation system  22  calls each video asset from its input or storage source. The automation system  22  may schedule primary events such as a commercial or a show and secondary events such as a graphic overlay or a crawler. Alternatively, the automation system may control highly detailed events within a single television program, such as switching between a studio camera and a live field camera during a news broadcast. The data stream server  24  may be integrated with the automation system  22 . In one embodiment, the data stream server  24  is coupled to the automation system  22  as shown in  FIG. 1A . In this embodiment, the automation system  22  may alert the data stream server  24  when each video asset is about to be played and the data stream server  24  checks its database to see if any tokens are scheduled for that video asset. If there are scheduled tokens, the data stream server  24  synchronizes the playout of the tokens along with the automation system&#39;s playout of the video. In an alternative practice, users may enter token insertions as secondary events in the automation system playout list so a playout message for the secondary event will be sent from the automation system  22  to the data stream server  24  to trigger the token insertion. 
     Optionally, in an alternative embodiment, during the insertion process, the data stream server  24  may insert additional data that is representative of the identification of the data stream server  24 , the date and time of the insertion, applications (e.g. EBIF) or scripts, or other data that may be used by downstream components of the system. In this way, the set top box receives token information representative of both the content on the data network associated with the broadcast content and other information such as that representative of the data stream server that delivered that content and token. In this example, geographic information is provided to the set top box  30  indicating the source of the token associated with the computer content. In a further optional embodiment, the action of the user to activate the link results in a return to the computer network of a request and this request may carry the token identification as well as the data stream server identification. This information may be returned to any suitable location, such as, for example, the token registry  18  depicted in  FIG. 1A . The token registry  18  receives the token data and the data stream server identification and is able to close a feedback loop that allows the token registry  18  to recognize the data stream servers that have been sourcing the television content which has been linked by the users to associated computer data content. Additionally, the feedback loop can make sure that the content and token were properly synchronized and actually delivered to the consumer station  30 . To this end, an optional feedback monitor may be used for reporting back to the content provider the successful insertion of token data and successful delivery of the token. Additionally and optionally, the system may time stamp the data packets carrying token data to the user site for marking portions of the television content with timing information. This allows for a closer review of the synchronized delivery of the token with the television content. 
     Turning to  FIG. 3 , there is a depiction of one embodiment of a packet generator. In particular  FIG. 3  depicts in more detail the data stream server  24  of  FIG. 1A  and illustrates the packet generator  50  that is a component of the data stream server  24 . The packet generator  50  as shown in  FIG. 3  is an element of the data stream server and couples through an automation interface  40  with the storage, traffic, and automation system  22 , and couples through an operation, administration and monitoring and provisioning interface (OAM&amp;P)  42 . Additionally, the packet generator communicates data and control messaging with an ingest interface  44  that exchanges data and control signals with the token registry  18 . 
     The packet generator  50  receives triggering controls and scheduling data from the storage, traffic, and automation system  22  through the automation interface  40 . The automation interface  40  is typically a software process that can execute the communication protocol employed by the storage, traffic, and automation system  22  and can broker data exchanges between the storage, traffic, and automation system  22  and the packet generator  50 . 
     The message can be received by the packet generator  50  in a variety of ways. In one embodiment, the automation interface  40  listens for incoming messages initiated by the storage, traffic, and automation system  22 . The storage, traffic, and automation system  22  sends a message to the automation interface  40  when an event occurs. Examples of messaging initiated by the storage, traffic, and automation system  22  include:
         storage, traffic, and automation system  22  commands the video storage device to “CUE” a video to play and sends a message to automation interface  40     storage, traffic, and automation system  22  commands the video storage device to “PLAY” a video to play and sends a message to automation interface  40     storage, traffic, and automation system  22  commands the video storage device to “STOP” a video playout and sends a message to automation interface  40     storage, traffic, and automation system  22  sends a time-triggered “NEW SCHEDULE” message to automation interface  40  containing a plurality of scheduled events for a time span (such as today&#39;s schedule)   storage, traffic, and automation system  22  sends an event triggered“SCHEDULE UPDATE” message to automation interface  40  when a change occurs in the schedule which has already been sent to the automation interface  40         

     In one embodiment, the automation interface  40  listens to communications channels between other devices, for example, listening to the scheduling module send commands to the video storage device. Examples of listening to communication paths:
         placing a y-splitter in a serial connection between the automation system  22  and a video storage device so that the commands sent by the automation system  22  to the video storage are “overheard” by the interactive data playout module   placing a packet sniffing module on a network that carries communication traffic between a video scheduling device and a video storage device so that the commands sent by the video scheduler to the video storage are “overheard” by the interactive data playout module       

     In one embodiment, the automation interface  40  is capable of monitoring logs generated by the automation system  22 . Many devices create log entries when they execute an action including when a particular video is played. Examples of monitoring logs:
         Access over a network the log files of a video storage device  22   b  and monitor when a new entry is placed in the log file by the video storage device such as “CUED Clip xyz” or “PLAYED Clip xyz”.   Access over a network the log files of an automation system  22   a  and monitor when a new entry is placed in the log file by the automation system  22   a  such as “CUED Clip xyz” or “PLAYED Clip xyz”.       

     In one embodiment, the message can be initiated by the automation interface  40  by requesting information from the automation system  22 . These polling messages can be sent by the automation interface  40  at specified time intervals such as daily, hourly, every 30 seconds, etc. The automation system  22  can provide the required data elements, such as a video schedule module or a video storage device. An outbound polling message may include some elements of data that enable the receiving device to send an appropriate response. Examples of polling other devices:
         Request and receive a “SCHEDULE” that includes a list of scheduled playouts for a specified duration. This message may include a schedule start and duration such as requesting the schedule starting at 05:00 for a 24-hour time span   Request and receive a “SCHEDULE UPDATE” that includes any changes to a schedule   Request and receive a “STATUS” of what is playing now   Request and receive an “INTERACTIVE APP ID”. This message may include a House ID or other information that the receiving server will require to return an appropriate response, for example requesting which app should be inserted for this particular content       

     The message format and delivery protocol between the automation system  22  and the automation interface  40  can be any one of a number of standards or some combination thereof. Some examples of message formats and delivery protocols are:
         XML messages received in an Internet protocol format over Ethernet cables   VDCP messages received in a VDCP format over serial cables
 
Other formats and protocols are possible.
 
The data necessary for the interactive data insertion device may include one or more of the following:
       

     
       
         
           
               
               
               
             
               
                   
               
               
                 Element 
                 notes 
                 example 
               
               
                   
               
             
            
               
                 ServerName 
                 name the server sending message 
                 server_1 
               
               
                 Channel number 
                 channel number 
                 1 
               
               
                 Channel name 
                 channel name 
                 ESPN 
               
               
                 House ID 
                 ID/filename of material playing 
                 ClipXYZ 
               
               
                 Event ID 
                 ID of the playout instance 
                 45689 
               
               
                 Start time 
                 local time the clip will start 
                 2010-02-18 
               
               
                   
                 to play 
                 10:32:50 
               
               
                 GMT start time 
                 GMT time the clip will start 
                 2010-02-18 
               
               
                   
                 to play 
                 05:32:50 
               
               
                 Duration 
                 Length of clip 
                 00:01:30 
               
               
                 Target locale 
                 Cable network zone or node 
                 Finger Lakes 
               
               
                   
                   
                 Region 
               
               
                 Interactive App ID 
                 ID/name of the interactive app 
                 BCMClickable 
               
               
                   
                   
                 TV 
               
               
                 Interactivity start 
                 Time offset at which 
                 00:00:05 
               
               
                 time 
                 interactivity will begin 
               
               
                 Interactivity 
                 Length of interactivity 
                 00:00:50 
               
               
                 duration 
               
               
                   
               
            
           
         
       
     
     Note that there may be other data elements necessary in some embodiments, and in some embodiments a subset of the above data is adequate. 
     Note that Appendix A describes an illustrative application of above-described system and the above-described interface. 
     In some embodiments, a single message could come from multiple sources. For example, one device may send a message as to what video is playing while other devices send other portions of the message, such as what interactive application should be inserted, or what target locale should be reached. With reference to  FIG. 1B , DM server  36  may perform one or more of these tasks. Similarly, different messaging methods can be combined to achieve a single playout, and different delivery protocols may be employed. 
     Here is an example of combining methods to achieve a single playout:
         1. Automation interface  40  is “listening” to a communication path between an automation system  22   a  and a video storage device  22   b . The communication path is VDCP over serial.   2. Automation interface  40  receives a “PLAY” message in VDCP format.   3. Automation interface  40  polls an interactive DM server  36  using XML messaging over Internet protocol and requests an interactive app ID.   4. Interactive DM server  36  returns an interactive app ID which completes the playout message.   5. Playout engine  48  plays the appropriate interactive data elements.       

     Any number of combinations of 1-5, without limitation, may be employed. The above are only examples provided for illustrative purposes. 
     The triggering and scheduling data passes to the scheduler  54  of the packet generator  50 . The scheduler  54  interfaces with the data stream constructor and with the component librarian  58 . The scheduler  54  is typically a software process that receives from the automation system  22  a trigger command for triggering the insertion of a specific token into the MPEG-2 transport stream. Additionally, the scheduler  54  may receive from the automation system  22  data indicating the token to insert into the data stream and commands indicating whether the token is to be inserted periodically or to be inserted as a series of tokens having incrementing values. In either case, the scheduler  54  responds to the information received from the automation system  22  by requesting the component librarian  58  to select from the component library  62  the proper token to insert into the MPEG-2 transport stream. The library  62  may be a database system that stores tokens and may be periodically replenished by the ingest interface  44  that pulls data from the token registry  18 , which in turn may be populated by sources such as the token creation tool  14  depicted in  FIG. 1A , which is external to the system described herein, but that generate tokens for use by this system. 
     In some embodiments, an Interactive event DM server  36  interfaces with the automation interface  40  of the packet generator  50 . The Interactive event DM server  36  is typically responsible for instructing the packet generator  50  what token and application is to be inserted. The Scheduler  54  is then responsible for telling the component librarian  58  to select the correct token and application from the component library  62 . The Interactive event DM server  36  gives the system the ability to insert different tokens and applications based on external inputs or circumstances such as:
         Tokens and/or applications chosen by time of day; and   Tokens and/or applications chosen by demographic information.       

     The data stream constructor  60  then generates an MPEG-2 transport stream compatible data stream that is delivered to the playout engine  48 . The playout engine  48  interfaces with the encoder/multiplexer  28  and delivers the stream thereto for mixing with the television data stream. 
     Alternative triggering systems are depicted in  FIG. 3  including a BDSS Manager user interface  63  to manually trigger tokens to be inserted and a VANC decoder  64  which may detect a pointer representative of a token. In either case, the Backchannel Media (BCM) data stream constructor  60  responds to the information received from the BDSS Manager (BDSSM) user interface  63  or the VANC decoder  64  by requesting the component librarian  58  to select from the component library  62  the proper token to insert into the MPEG-2 transport stream. Other optional triggering systems may be employed including storing pre-determined dates and times for token insertion in the BCM component librarian  58  and triggering the insertion to commence upon reaching the date and time specified, or from another data stream server located at a different point in the network such as a “hub” control television station, a national broadcast television station or a national content Syndicator, for example. 
     In some embodiments, the components of the BDSS of  FIG. 3  may be located in different parts of either the computer network or the television network. For instance, the encoder-multiplexer  28  may be located at a first television station in either the computer network or the television network, while the automation system  22  may be located at a second television station in either the computer network or the television network. In some embodiments, the automation system  22  may interact with more than one BDSS. Thus, in some embodiments, not every component shown in  FIG. 3  will be in the same physical location in either the computer network or the television network. 
       FIG. 4  presents a flowchart diagram of one process for linking data transmitted over a broadcast media to data on a computer data network. In particular,  FIG. 4  presents a process  70  that includes a first step  72  wherein token data is stored in a database and a pointer representative of the token is stored in the program and the play list information is stored in a database as well. Typically the database is part of the storage traffic and automation system  22  depicted in  FIG. 1A , but it may be a separate system and systems described herein do not rely on any particular process. Further, the database may be any suitable database system, including the commercially available Microsoft Access database, and can be a local or distributed database system. The design and development of suitable database systems are described in McGovern et al., A Guide To Sybase and SQL Server, Addison-Wesley (1993). The database may be supported by any suitable persistent data memory, such as a hard disk drive, RAID system, tape drive system, floppy diskette, or any other suitable system. The database may organize the token data and the play list data into tables that include fields and in any case the database stores the token that is to be inserted into the broadcast content, and information representative of when that broadcast content is expected to be played out and delivered as SDI to the encoder/multiplexer  28 , as shown in  FIG. 3 . To this end, the process  70 , in step  74  reviews the raw SDI process stream or streams that are passing into the encoder/multiplexer  28  using a mechanism such as a VANC decoder  63  depicted in  FIG. 3 . 
     The encoder/multiplexer  28  processes the SDI stream and packages the SDI stream into and MPEG-2 transport stream protocol. Optionally, a mechanism such as a VANC decoder  64  will monitor the SDI stream to detect pointers representative of tokens within the SDI stream to determine if a token is to be inserted into the MPEG-2 stream being generated. If such a pointer is detected a token is prepared for insertion into the MPEG-stream being generated. The data stream constructor  60  may request from the token registry  46  the token to be inserted to the MPEG-2 transport stream. Alternatively and optionally, the data stream constructor  60  may respond to commands from the scheduler  54  rather than from pointers detected in the SDI stream by the VANC decoder  64 . In this practice the process  70  is driven by the play list stored in the database during step  72 . At times noted in the table of the play out list, the scheduler  54  may direct the data stream constructor  60  to collect a specific token from the token registry  46 . In either practice, the data stream constructor  60  receives a token and constructs a data stream that is delivered by the play out engine  48  to the data stream constructor  60  and mixed into the SDI data and encoded into the MPEG-2 transport stream in step  76 . 
     In one particular practice, the data stream constructor builds a data stream that the encoder/multiplexer will encode into the program map table of the MPEG-2 transport stream. Once delivered to the MPEG-2 transport stream, the process  70  monitors the back channel of the broadcast data network, as shown by step  80 . The process listens for a token that is being returned by a user on the broadcast data network. If a token is detected, the process  70  checks the token against the expected token. In one practice, the process  70  in step  80  checks if the received token matches the content that was being presented to the user at the time the token was detected. If the token check at step  82  indicates that the correct token was returned, then the process  70  proceeds to step  84  and records that the proper token was viewed by the user and returned. If the token is incorrect, the process  70  at step  86  records an error. 
     In some embodiments, a plurality of broadcast data stream servers  102 ,  104  may be employed in different parts of the content distribution network, as shown in  FIG. 5A . The servers may be located at a broadcast television station, such as national broadcast station  120 , or local broadcast station  140 . Alternatively, or additionally, the servers  102 ,  104  may be located at the user site  130 , e.g., within set top box  132  or computer  134 , at a cable television station (not shown in  FIG. 5A ), a cable system headend (not shown in  FIG. 5A ), a local hub TV station (not shown in  FIG. 5A ), a national content Syndicator (not shown in  FIG. 5A ) or other locations where television content streams are assembled. Each of the data stream servers  102 ,  104  may be in communication with one another, e.g., via link  111  or via links with the token registry  110 , and therefore, may together form a network of data stream servers. In one embodiment, one or more data stream servers, e.g., data stream server  102 , may be located at a national broadcast television station  120 , while one or more data stream servers, e.g., data stream server  104 , may be located at a local broadcast television station  140 . The server  104  at the local broadcast television station  140  may be in communication with the server  102  at the national broadcast television station  120 . This communication may also take place via a cable communication channel, a network communications interface  109 ,  110 , or  111 , or a backchannel communications path  108 . Each of the servers  102 ,  104  may be in communication (via link  110 ) with the token registry  118  and one or more databases that are associated with it, and carry information relating to the tokens. In addition, each of the servers  102 ,  104  may interact with automation systems, and multiplexers (as shown in  FIG. 5A ) that interact with the servers  102 ,  104  to generate packets to be broadcast via the television network. In addition, the servers  102 ,  104  may include BCM data stream constructors (not shown in  FIG. 5A ). 
       FIG. 5B  depicts a content linking system  100   b , which is an embodiment of the system  100   a  of  FIG. 5A  with an illustrative configuration of the multi-part storage, traffic and automation systems  122  and  144  and an interactive event DM  136   a  and  136   b , respectively. In particular,  FIG. 5B  shows three systems or servers within each of storage, traffic and automation systems  122  and  144 : automation system  122   a  (or  144   a ), storage server  122   b  (or  144   b ), and traffic &amp; billing system  122   c  (or  144   c ). As described above, in some embodiments, two or more of these systems or servers may act as a single unit. Each of these servers or systems is in communication with the BDSS  102  or  104  via interfaces  150  and  170 , respectively. As described above with respect to  FIGS. 1A and 1B , each  122   a ,  122   b , and  122   c , and  144   a ,  144   b , and  144   c  may pass information to BDSS  102  and  104 , respectively. This information may include, for example, the above-described House ID corresponding to particular television content that is to be played on a consumer device such as set top box  132 . Any other suitable information may be transmitted between the BDSS  102  (or  104 ) and the systems or servers  122   a ,  122   b ,  122   c ,  144   a ,  144   b , and  144   c . The interactive event DM servers  136   a  or  136   b  may interact with each of  122   a ,  122   b ,  122   c ,  144   a ,  144   b , and  144   c  and/or with BDSS  102  or BDSS  104 . Interactive event DM servers  136   a  or  136   b  may perform at least one of two functions. The first is to determine what advertisement the storage, traffic, and automation system  122  and/or  144  will play out. The second function is to determine what type of interactivity (e.g., the type of click interaction) that is to be associated with the advertisement and/or content that is to be played out by storage, traffic, and automation system  122  and/or  144 . 
     With continued reference to  FIGS. 5A and 5B , the network of servers  102 ,  104  could be used by both the national and local broadcasters to insert packets of broadcast data and/or token data into an MPEG-2 transport stream  142 ,  162 . The BDSS server  102  at the national TV station  120  may insert tokens into the national broadcast stream  142  when triggered by a variety of events such as by a live operator, upon detecting triggers in the SDI stream, upon reaching a pre-specified date and time, or in response to commands from the Storage/Traffic/Automation system  122 . Once the national broadcast stream  142  has been constructed and encoded into an MPEG-2 transport stream, it may be received by the storage, traffic and automation system  144  within local broadcast station  140 . The local broadcast station data stream server  104 , in conjunction with encoder/multiplexer  148 , may process the incoming broadcast stream to generate an outgoing MPEG-2 transport stream  162  which may be received by the Consumer STB  132 . 
     Alternatively and optionally, the data stream constructor within the data stream server  104  may respond to commands from a scheduler as described in relation to  FIGS. 3 and 4 , or at least in part on information received from the national broadcast station data stream server  102 . The sequence and schedule of a plurality of token insertions performed by the national data stream server  102  in response to a plurality of triggers at the national TV station can be recorded and stored into the database as a new token playlist which can be executed in response to a single trigger. In this manner the national data stream server  102  may respond to a number of triggers available within the national TV station  120 , insert the required tokens into the broadcast stream  142 , and store the new consolidated token playlist in the database. The local TV station data stream server  104  can retrieve the new consolidated playlist and re-insert the tokens inserted by the data stream server  102  at the national TV station  120  in response to a single trigger when the plurality of national TV station triggers is not available at the local TV station. This practice may be used in the event that the tokens inserted at a national TV station are removed from the broadcast stream  142  prior to reaching the Consumer STB  132  within the local broadcast stream  162 , such as when a local TV station transforms the national TV broadcast stream  142  from MPEG-2 into a different format before creating the final broadcast stream  162  destined for the Consumer STB  132 . 
     As discussed above, the broadcast data stream server or BDSS may be realized as a hardware component. Additionally, or alternatively, the BDSS may be realized as a software component operating on a conventional data processing system such as a Unix workstation. In that embodiment, the data stream server may be implemented as a C language computer program, or a computer program written in any high level language including C++, Fortran, Java or basic. 
     Additionally, in an embodiment where microcontrollers or DSPs are employed, the data stream server may be realized as a computer program written in microcode or written in a high level language and compiled down to microcode that can be executed on the platform employed. The development of such systems is known to those of skill in the art, and such techniques are set forth in Digital Signal Processing Applications with the TMS320 Family, Volumes I, II, and III, Texas Instruments (1990). Additionally, general techniques for high level programming are known, and set forth in, for example, Stephen G. Kochan, Programming in C, Hayden Publishing (1983). Developing code for the DSP and microcontroller systems follows from principles well known in the art. 
     Those skilled in the art will know or be able to ascertain using no more than routine experimentation, many equivalents to the embodiments and practices described herein. Accordingly, it will be understood that the invention is not to be limited to the embodiments disclosed herein, but is to be understood from the following claims, which are to be interpreted as broadly as allowed under the law. 
     APPENDIX A 
     This Appendix provides an exemplary implementation of the methods and system that enable late-binding. The method includes a video schedule module and video storage device which are located in a single server called a “Hypercaster”. The interactive data playout module is contained in another device called a “BDSS”. Not shown in this document is the multiplexer, however, in this case a BigBand BMR was used to combine the video signal from the Hypercaster with the interactive data from the BDSS. In this case the Hypercaster was configured to proactively send the BDSS a message when the Hypercaster executed a PLAY message. 
     In order for BDSS to generate triggers synchronized with the infomercials broadcast by the Hypercaster, an interface between BDSS and Hypercaster servers is defined as follows: a BDSS will establish a TCP/IP connection to the Hypercaster server and receive notifications for the play events from the server in XML format. 
     Each Hypercaster channel will have a dedicated socket connection using the TCP/IP port number (5040). The “play” messages will be sent over these separate socket connections for each channel. 
     The process for establishing the interface with the BDSS is as follows:
         Connect to the Hypercaster server: connect(ip_address, portno);   Send “connect” message to the server.   If the confirm response is received, spawn a new thread which will listen for the incoming “play” messages   do the above for each channel
 
Initiating the Connection:
 
BDSS will create a TCP/IP socket connection to the Hypercaster server and send a message to initiate the notifications. This initial message could be as follows:
       

                                            &lt;?xml version=“1.0” encoding=“UTF-8” standalone=“yes”?&gt;           &lt;bdss_connect bdssid=“BDSS1” channelno=“1”/&gt;                        
The hypercaster will respond with a confirmation message:
 
                                            &lt;?xml version=“1.0” encoding=“UTF-8” standalone=“yes”?&gt;           &lt;bdss_confirm bdssid=“BDSS1” request_type=“bdss_connect”           completed=“yes”/&gt;                        
Receiving Notifications:
 
Once a connection is made, the BDSS will start listening for incoming messages from the open socket.
 
The messages will carry the following info (as appropriate for the Hypercaster server):
 
                                     Element   notes   example                  ServerName   name of the hypercaster server   Hypercaster_1       Channel number   channel number   1       Channel name   channel name   ESPN       House ID   ID/filename of material playing   ClipXYZ       Event ID   ID of the playout instance   45689       Start time   time the clip will start to play   2010-02-18               10:32:50       Duration   length of clip   00:01:30                    
An example XML message would look like this:
 
                                            &lt;?xml version=“1.0” encoding=“UTF-8” standalone=“yes”?&gt;           &lt;bdss_play servername=“hypercaster_1” channelno=“1”           channelname=“ESPN” houseid=“clipXYZ” eventid=“45689”           starttime=“2010-02-18 10:32:50” duration=“00:01:30”/&gt;                        
Disconnecting:
 
BDSS will send the following message to Hypercaster to stop notifications:
 
                                            &lt;?xml version=“1.0” encoding=“UTF-8” standalone=“yes”?&gt;           &lt;bdss_disconnect bdssid=“BDSS1” channelno=“1”/&gt;                        
The hypercaster will respond with a confirmation message.
 
     
       
         
           
               
               
             
               
                   
                   
               
             
            
               
                   
                 &lt;?xml version=“1.0” encoding=“UTF-8” standalone=“yes”?&gt; 
               
               
                   
                 &lt;bdss_confirm bdssid=“BDSS1” request_type=“bdss_disconnect” 
               
               
                   
                 completed=“yes”/&gt; 
               
               
                   
                   
               
            
           
         
       
     
     
       
         
           
               
               
               
               
             
               
                   
               
               
                 Message Name 
                 Sender 
                 Receiver 
                 Purpose 
               
               
                   
               
             
            
               
                 bdss_connect 
                 BDSS 
                 Hypercaster server 
                 Requests a 
               
               
                   
                   
                   
                 connection 
               
               
                 bdss_confirm 
                 Hypercaster 
                 Backchannelmedia&#39;s 
                 Replies to the 
               
               
                   
                 Server 
                 BDSS 
                 previous 
               
               
                   
                   
                   
                 BDSS request. 
               
               
                 bdss_disconnect 
                 BDSS 
                 Hypercaster server 
                 Requests a 
               
               
                   
                   
                   
                 disconnection 
               
               
                 bdss_play 
                 Hypercaster 
                 Backchannelmedia&#39;s 
                 Notifies the 
               
               
                   
                 Server 
                 BDSS 
                 BDSS of the 
               
               
                   
                   
                   
                 play event