The present invention is related to co-pending U.S. Application, entitled MULTIMEDIA INFORMATION COMPUTER SYSTEM AND METHOD OF OPERATION OF A PLAYLIST SCHEDULER, Ser. No. 09/420,802, filed on Oct. 19, 1999, and assigned to the assignee of the present invention.
The present invention relates to digital media distribution, and more particularly to ensuring reliable playout through use of inventory management in a remote site of a digital media distributor system.
Although broadcasters have sophisticated systems for inserting national commercials into a program stream, including integrated traffic and billing systems, there are numerous obstacles to implementing a system to insert local commercials at small markets into a national program feed distributed by satellite. Until now, such local spot insertion advertising was the responsibility of the local broadcaster or cable operator.
Inserting local advertising poses several nontrivial technical, logistical and business challenges. First, literally hundreds of widely distributed local operators (or affiliates) would need to receive the commercials; ad agencies would have to ship analog tapes to hundreds of organizations, with different traffic and billing systems. These tapes would need to be tested for quality assurance, tracked, and stored until needed. They would then have to be distributed to video tape recorders and readied for computer controlled playout (analog) at the proper time, 24 hours a day, seven days a week. Such infrastructure generally exists at well-funded affiliates in major markets but is nonexistent and prohibitively expensive for smaller operators or affiliates in small markets.
Managing such tapes with ads for local commercials and inserting them properly into the program feed is a complex undertaking not well-suited for the smaller operators, especially for channels with smaller audiences in smaller markets. A quality broadcast involves more than excellent program material; it must provide seamless insertion of national and local advertisements, promotions, and station identifications.
Equally important is the ability to maintain the integrity of the national television programming. Centralized control of the channel's programming (playout) is required to prevent local affiliates from tampering with the programming.
Accordingly, a need exists for an efficient system for reliable playout including inventory management in a remote site of a digital media distributor system. The present invention addresses such a need.
Aspects for ensuring digital media data delivery from remote sites in a digital media distributor system are presented. The aspects include receiving of playout data in the remote sites from a central site in the digital media distributor system. The received playout data is then utilized in the remote site by an inventory manager to direct control of proper playout of digital media data. The playout data includes spot files, playlists, and purge lists.
Through the aspects of the present invention, modules of a remote site provide the ability to efficiently manage digital media data for playout from the remote site. Particularly, through the implementation of an inventory manager in accordance with the present invention, streamlined management of playout data ensures accurate delivery of digital spots to the end-users. Included in the management is a look-ahead functionality that allows spots that are not yet present but are needed soon to be identified and transmitted in time for a scheduled delivery, thus ensuring integrity in spot playout. These and other advantages of the aspects of the present invention will be more fully understood in conjunction with the following detailed description and accompanying drawings.
The present invention relates to reliable playout of digital media data by a remote site in a digital media distributor system. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiment and the generic principles and features described herein will be readily apparent to those skilled in the art. Thus, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.
In accordance with the present invention, a digital media distributor (DMD) provides a complete end-to-end system that gives local cable or network affiliates the ability to provide local ads and announcement insertion together with the delivery of cable or network feed(s). In general, the DMD integrates the entire process of sales, traffic, digital encoding and storage of spots, transmission of data, local insertion of digital ads and announcements, account reconciliation, and billing. Spots (i.e., media such as commercials, station identification, public service announcements, etc.) are digitized by the cable or network operator, and then digitally transmitted to the local cable head-ends or network affiliates from a central site. These digital spots are then stored on the remote site servers located at each head-end or affiliate.
A block diagram of a DMD in accordance with the present invention is illustrated in
The remote site(s) 14 house the remote site server(s) 16. By way of example, a suitable remote site server 16 includes a Pentium processor-based device with a hard disk for local storage and a video switch card (to switch between program and commercial insertion) running software including Windows NT, DMD programming, Lotus Notes client, Program Loader, and Symantec pcANYWHERE. These unattended, computerized systems receive the local insertion and provide As-Run file generation. The remote site server 16 is a video server that receives and stores digitized spots utilized for local insertion at the cable head-end. The remote site server 16 receives digitally encoded ads via satellite or other distribution network. These spots are decoded to an analog signal and inserted into the cable or network operator feed at scheduled times, i.e., into scheduled local availability times. The remote site server 16 can be customized in various configurations based on the number of output channels required, the type of output format (e.g., NTSC, PAL), the amount of local storage required (i.e., the number of spots on disk), the type of network (satellite or terrestrial), the type of trigger for spot insertion (e.g., time of day, VITC, cue-tome, VBI trigger), the audio format and connections (stereo, mini-XLR or XLR), the redundancy requirements (RAID, mirrored disks), and the preview channel.
By way of example, the following provides a sample process that illustrates an example of one process which the DMD solution can support. A region, e.g., any grouping of one ore many cable head-ends for cities, states, provinces, or countries, defined by cable or network operators in an area, sells a commercial in the local availability time. All remote site servers 16 within the same region play the same material at the same time, including all network programs, national spots, local commercials, announcements, etc. The videotaped segment for the commercial is digitally encoded. The digital material is scheduled for delivery to each remote site server 16 prior to broadcast. The playlist, digitized spots, and the broadcast program stream are sent, via satellite, to all of the remote site servers 16 within the region. All of the remote site servers 16 within the region air the local spots for that region at the scheduled time. As-Run logs are retrieved by the central site 10 from the remote site servers 16. As-Run logs are sent to the local markets, reviewed, reconciled, and customers are billed. Commercials and As-Run logs are then archived.
The central site 10 efficiently distributes objects and thus manages the resources of the remote site 14. By managing these resources, the central site 10 can determine when to send information to the remote site(s) 14. A main component in producing the management of the resources is the central site server 18. By way of example, a suitable central site server 18 includes an IBM RS/6000 F50 dual CPU system, or a Pentium II compatible PC, running the IBM UNIX operating system, AIX, DB2 server software, Lotus Notes server software, ADSM, Windows NT (for PC-based central site server), and the DMD programming. Suitable components for the control workstations 19 include Pentium compatible PCs running Windows NT, Lotus Notes client, DB2 client, Microsoft Internet Explorer, and DMD programming.
The central site server 18 includes software on a suitable computer readable medium that is architected using a layered model, in which each layer isolates the upper layers from the details of the lower layers and individual components within a layer provide a unique set of services, as is well appreciated by those skilled in the art.
Underneath the top layer is a layer 24 of specialized components including a stage manager component 26, an uplink server component 28, and a transmission scheduler component 30. This layer 24 may also include specialized components for creating commands and interpreting responses from SIBs, managing access to all the database queues and other data stores, and providing automated agents that run based on time or events to manage the external interfaces, e.g., processing files received from traffic systems. The stage manager 26 manages any tape related activity, the uplink server 28 manages transmissions through the uplink network (12,
In accordance with the present invention, remote sites 14 ensure reliable playout of the spots as scheduled through the utilization of an inventory manager, as described with reference to
Referring again to
The system parameter “SCHED_LOOKAHEAD” refers to a scheduler parameter that indicates the number of days from the current date for which the transmission scheduler 130 (
In performing the management of inventory, the remote site utilizes an inventory manager module. As shown in
When the main module 122 receives the initialization message, it creates and initializes all of the other modules/threads of the system, including an inventory manager module 120, logging module 124, player module 126, file manager module 128, and command processor module 130. The logging module 124 is responsible for maintaining a record of internal events and logs informational, warning, and error messages to a remote site 14 log file or sends the messages asynchronously to the central site 10, as determined by the severity of the message and the reporting and logging levels set by the central site 10.
The player module 126 plays spots as specified in the playlist and generates As-Run files after playing. The player module 126 handles one playlist at a time and provides a device independent interface for use by a player server. The player module 126 is organized into interacting objects: a playlist object that manages the playlist by cueing up spot files (e.g., files with an “.mpg” extension) and setting starts and durations; a player server object that executes the playlist by playing spots (i.e., decoding and generating NTSC video out); and an As-Run object that tracks actual playtimes and generates the As-Run list for all playlists, notifying the file manager 128 to send the as-run lists back to the central site 10.
The file manager 128 is responsible for receiving the satellite feed and managing files. Thus, the file manager 128 identifies when new files arrive and moves them to the proper directories (e.g., makes a secure file copy and examines the file type(s)). The file manager 128 also notifies any affected modules about the new files, i.e., when a spot or playlist arrives, it notifies the inventory manager 120, and when a command file arrives, it notifies the command processor 130.
The command processor 130 is responsible for executing central site 10 commands to send status, execute commands, use new playlist(s), use new MPEG spots, etc. When a new command (e.g., a file with a “.cmd” extension) is received, the command processor 130 reads and parses command file(s) to then execute the command(s) or post messages, so that the affected modules can execute the new command(s). Thus, MPEG file commands are delegated to the inventory manager 120, all other file commands are delegated to the file manager 128, player commands, if implemented, are delegated to player 126, and “set parameter” commands are implemented by the command processor 130.
The inventory manager 120 is responsible for maintaining spot information and for implementing MPEG file commands, missing spot lists, and the spot purging algorithm, to ensure reliable spot playout in accordance with the present invention. The information that is maintained includes the names of all spots that reside on the MPEG disk drive(s), regardless of whether the spot is needed by any playlist. If the spot is needed by one or more playlists, the playlist name(s) and scheduled start time(s) are also maintained for the spot. Through this information, the inventory manager 120 knows which spots are missing and when they are needed. Likewise, it knows which spots are not needed, thereby also providing the remote site 14 spot purging algorithm. The inventory manager 120 also coordinates the deletion of all spots, since it maintains the delete protect flag for each spot. The delete protection is a condition for the spot that the central site can set 10, which prevents the spot from being deleted via central site 10 delete command or the purging algorithm unless the delete protection is first removed by a central site 10 command. While coordination of spot deletion is done by inventory manager 120, the actual physical deletion of spots is performed by the file manager 128. The inventory manager 120 performs parsing of new or updated playlists to detect playlist corruption and to detect if reload commands are present in updated playlists.
The following summarizes functions performed by the inventory manager 120:
The inventory manager 120 interfaces with/is dependent on other threads as follows:
The ability to efficiently manage digital media data for playout from a remote site is achieved through the implementation of an inventory manager in accordance with the present invention. The inventory manager provides streamlined management of playout data to ensure accurate delivery of digital spots to the end-users. Included in the management is a look-ahead functionality that allows spots that are not yet present but are needed soon to be identified and transmitted in time for a scheduled delivery, thus ensuring integrity in spot playout.
Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations to the embodiments and those variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
4724491 | Lambert | Feb 1988 | A |
4814883 | Perine et al. | Mar 1989 | A |
4862268 | Campbell et al. | Aug 1989 | A |
5029014 | Lindstrom | Jul 1991 | A |
5055924 | Skutta | Oct 1991 | A |
5058096 | Ando et al. | Oct 1991 | A |
5099319 | Esch et al. | Mar 1992 | A |
5197047 | Witheridge et al. | Mar 1993 | A |
5216515 | Steele et al. | Jun 1993 | A |
5237682 | Bendert et al. | Aug 1993 | A |
5319648 | Bux et al. | Jun 1994 | A |
5345594 | Tsuda | Sep 1994 | A |
5392066 | Fisher et al. | Feb 1995 | A |
5412416 | Nemirofsky | May 1995 | A |
5424770 | Schmelzer et al. | Jun 1995 | A |
5428732 | Hancock et al. | Jun 1995 | A |
5432542 | Thibadeau et al. | Jul 1995 | A |
5442771 | Filepp et al. | Aug 1995 | A |
5450122 | Keene | Sep 1995 | A |
5463771 | Sotoyanagi et al. | Oct 1995 | A |
5485219 | Woo | Jan 1996 | A |
5493677 | Balogh et al. | Feb 1996 | A |
5495608 | Antoshenkov | Feb 1996 | A |
5499046 | Schiller et al. | Mar 1996 | A |
5515098 | Carles | May 1996 | A |
5532939 | Psinakis et al. | Jul 1996 | A |
5550863 | Yurt et al. | Aug 1996 | A |
5583561 | Baker et al. | Dec 1996 | A |
5584050 | Lyons | Dec 1996 | A |
5594490 | Dawson et al. | Jan 1997 | A |
5600366 | Schulman | Feb 1997 | A |
5600573 | Hendricks et al. | Feb 1997 | A |
5652613 | Lazarus et al. | Jul 1997 | A |
5659351 | Huber | Aug 1997 | A |
5666645 | Thomas et al. | Sep 1997 | A |
5726909 | Krikorian | Mar 1998 | A |
5727002 | Miller et al. | Mar 1998 | A |
5729735 | Meyering | Mar 1998 | A |
5745756 | Henley | Apr 1998 | A |
5758150 | Bell et al. | May 1998 | A |
5758345 | Wang | May 1998 | A |
5761432 | Bergholm et al. | Jun 1998 | A |
5809235 | Sharma et al. | Sep 1998 | A |
5826165 | Echeita et al. | Oct 1998 | A |
5835911 | Nakagawa et al. | Nov 1998 | A |
5857181 | Augenbraun | Jan 1999 | A |
5887243 | Harvey et al. | Mar 1999 | A |
5892535 | Allen et al. | Apr 1999 | A |
5892915 | Duso et al. | Apr 1999 | A |
5907494 | Dangelo et al. | May 1999 | A |
5913039 | Nakamura et al. | Jun 1999 | A |
5920700 | Gordon et al. | Jul 1999 | A |
5956716 | Kenner et al. | Sep 1999 | A |
5960406 | Rasansky et al. | Sep 1999 | A |
5990884 | Douma et al. | Nov 1999 | A |
5990927 | Hendricks et al. | Nov 1999 | A |
5996025 | Day et al. | Nov 1999 | A |
6005534 | Hylin et al. | Dec 1999 | A |
6011758 | Dockes et al. | Jan 2000 | A |
6029045 | Picco et al. | Feb 2000 | A |
6034678 | Hoarty et al. | Mar 2000 | A |
6035323 | Narayen et al. | Mar 2000 | A |
6044381 | Boothby et al. | Mar 2000 | A |
6058422 | Ayanoglu | May 2000 | A |
6061683 | Alonso | May 2000 | A |
6084856 | Simmons et al. | Jul 2000 | A |
6088796 | Cianfrocca et al. | Jul 2000 | A |
6094680 | Hokanson | Jul 2000 | A |
6144999 | Khalidi et al. | Nov 2000 | A |
6151598 | Shaw et al. | Nov 2000 | A |
6170005 | Meandzija | Jan 2001 | B1 |
6185573 | Angelucci et al. | Feb 2001 | B1 |
6192363 | Yasumura | Feb 2001 | B1 |
6192410 | Miller et al. | Feb 2001 | B1 |
6212560 | Fairchild | Apr 2001 | B1 |
6222530 | Sequeira | Apr 2001 | B1 |
6253079 | Valentine et al. | Jun 2001 | B1 |
6256673 | Gayman | Jul 2001 | B1 |
6279157 | Takasu | Aug 2001 | B1 |
6298385 | Sparks et al. | Oct 2001 | B1 |
6330572 | Sitka | Dec 2001 | B1 |
6330613 | Vlajnic et al. | Dec 2001 | B1 |
6336115 | Tominaga et al. | Jan 2002 | B1 |
6353831 | Gustman | Mar 2002 | B1 |
6370550 | Douma et al. | Apr 2002 | B1 |
6378036 | Lerman et al. | Apr 2002 | B2 |
6378129 | Zetts | Apr 2002 | B1 |
6385596 | Wiser et al. | May 2002 | B1 |
6405317 | Flenley et al. | Jun 2002 | B1 |
6411685 | O'Neal | Jun 2002 | B1 |
6412009 | Erickson et al. | Jun 2002 | B1 |
6434621 | Pezzillo et al. | Aug 2002 | B1 |
6434680 | Belknap et al. | Aug 2002 | B2 |
6438125 | Brothers | Aug 2002 | B1 |
6441832 | Tao et al. | Aug 2002 | B1 |
6446108 | Rosenberg et al. | Sep 2002 | B1 |
6463585 | Hendricks et al. | Oct 2002 | B1 |
6466734 | Yuen et al. | Oct 2002 | B2 |
6473902 | Noritomi | Oct 2002 | B1 |
6487721 | Safadi | Nov 2002 | B1 |
6510558 | Iinuma et al. | Jan 2003 | B1 |
6513069 | Abato et al. | Jan 2003 | B1 |
6526575 | McCoy et al. | Feb 2003 | B1 |
6535878 | Guedalia et al. | Mar 2003 | B1 |
6571391 | Acharya et al. | May 2003 | B1 |
6581076 | Ching et al. | Jun 2003 | B1 |
6647417 | Hunter et al. | Nov 2003 | B1 |
6687737 | Landsman et al. | Feb 2004 | B2 |
6698020 | Zigmond et al. | Feb 2004 | B1 |
6718425 | Pajakowski et al. | Apr 2004 | B1 |
6763523 | Sacilotto et al. | Jul 2004 | B1 |
6792615 | Rowe et al. | Sep 2004 | B1 |
6799326 | Boylan et al. | Sep 2004 | B2 |
6810527 | Conrad et al. | Oct 2004 | B1 |
7024681 | Fransman et al. | Apr 2006 | B1 |
7039930 | Goodman et al. | May 2006 | B1 |
7260785 | Ching et al. | Aug 2007 | B2 |
20020004936 | Aras | Jan 2002 | A1 |
20020016831 | Peled et al. | Feb 2002 | A1 |
20020077984 | Ireton | Jun 2002 | A1 |
20020092019 | Marcus | Jul 2002 | A1 |
20030033424 | Gould | Feb 2003 | A1 |
20030189649 | Kuno | Oct 2003 | A1 |
20040210932 | Mori et al. | Oct 2004 | A1 |
20080059997 | Plotnick et al. | Mar 2008 | A1 |
Entry |
---|
Munson et al., Sync: a Java framework for mobile collaborative applications, Jun. 1997, IEEE, vol. 30, 59-66. |
Kshemkalyani., Synchronization for distributed real-time applications, Apr. 1-3, 1997, IEEE, 81-90. |
IBM Technical Disclosure Bulletin—“Task Scheduling”, vol. 21, issue 5, pp. 1809-1810, published Oct. 1, 1978 (IBM). |
Number | Date | Country | |
---|---|---|---|
Parent | 09420802 | Oct 1999 | US |
Child | 09523827 | US |