Television broadcast systems use various methods and systems to distribute television content. Television signals can be distributed via cable, via satellite, or via over-the-air delivery. Interactive television systems permit two-way communication between the television service provider and the television viewer. Servers or similar systems at the head end distribute content to multiple set top boxes (or other devices) used by individuals. Interactive television systems allow individuals to communicate with the head end equipment. For example, individuals may request specific content, such as a movie or data listing. Additionally, individuals may respond to questions or provide other information to the equipment at the head end.
In some television systems, a data carousel is used to distribute data in a repetitive manner. An example data carousel uses data files organized in a file hierarchy of a storage mechanism to produce either MPEG-2 sections or MPEG-2 Transport Stream packets that can be transmitted (or played) in a cyclical manner. The quantity and arrangement of data files in the data carousel determines the frequency with which particular data files are transmitted and the delay between successive transmissions of the same data file. The data files may be transmitted, for example, using one or more digital television channels (also referred to as Virtual Channel television channels).
Typically, data files in a data carousel are multiplexed with other video, audio, or auxiliary data in a transport stream, such as an MPEG-2 (Moving Pictures Experts Group) video elementary streams. The data carousel protocol (or the related object carousel protocol) is defined in Part 6 of the MPEG-2 (Digital Storage Media Command and Control—DSM-CC) Standard, also referred as Standard ISO/IEC 13818-6.
In systems that use a data carousel, it is desirable to control the latency between a user request for a data file and the user receiving the requested data file from the data carousel. In a static system in which the data files in the carousel don't change (or change infrequently), managing this latency is relatively simple. However, in a dynamic environment in which new data files are being added to the carousel and existing data files are being removed from the carousel, managing the latency in the system is more difficult.
Accordingly, there is a need for an improved system and method to manage the operation of a dynamic data carousel.