The present invention relates to interactive digital data systems. More specifically, the present invention relates to a system and method for digital video featuring an interactive electronic program guide.
In today's large digital video data networks, such as digital cable television, the majority of end users' (consumers) program viewing options (non-special event-type programming) are constrained to conventional fixed schedule program content availability manifested in an end user manually searchable program guide. Despite the high demand by end users for increased functionality, most data networks lack the bandwidth and accompanying resources to provide access to the majority of their programming in a more flexible format.
The conventional approach is not desirable as it places end users with only two (2) drastically different options. An end user may either (1) manually locate the program in an electronic program guide (“EPG”), if available, and tune the desired program content, which is a limited subset of all available program content due to system bandwidth and required resources needed; or (2) not receive the desired content. Given the above two (2) options, there currently exists no intermediate option for end users in the conventional digital video date network.
What is needed is a system and method to provide end users with an intermediate option for requesting desired program content and providing feedback for such requests to the network, such that the network becomes adaptive to end user requests.
(An EPG contains electronic program data (“EPD”), where each EPD pertains to a program and features the program's broadcast date(s) and time(s) broadcasted, or “on-demand” status (if available), in the digital video data network. The EPD data may also include ancillary data such as actors in the program, production company, and genre of program.)
An object of the present invention is to provide a system and method for digital video featuring an interactive electronic program guide (“EPG”). It is a further object of the present invention to permit an end user to request a program, and using the EPG, and related data, notify the end user whether the program is scheduled for broadcast in the near future or is currently available. It is a further object of the present invention to selectively add a program requested into the EPG, or related data, for broadcast, or as an addition to the on-demand offerings, if the cumulative number of requests for the program exceeds a pre-defined quantity of requests over a pre-defined period of time. In addition, these requests can be monitored to launch business evaluations on content.
In order to achieve these objectives, as well as others which will become apparent in the disclosure below, the present invention provides a data network for the delivery of digital video featuring an interactive EPG. The data network comprises a head end and a plurality of end user devices communicating over a network.
In a first exemplary embodiment, each end user device receives an EPG on a predefined interval from the head end, and stores the EPG locally within the end user device. Upon user input of a requested program an end user device queries the EPG and returns whether the requested program is in the EPG or not. If in the EPG, the end user device provides the next broadcast date and time, so the end user may view or take any requisite steps to record the program at the next broadcast date and time. If the requested program does not appear in the EPG, the end user is notified of such, and the request is placed in a miss request queue locally in the end user device. The end user device will automatically check the EPG for miss requests in its queue upon receiving EPG updates from the head end
In a second exemplary embodiment, in addition to the process of the first exemplary embodiment, upon a miss request the end user device sends the request to the head end for further query and possible scheduling, based upon cumulative end user demand.
The head end queries an extended database contained therein, which preferably contains more program data than the EPG, for example, two (2) more weeks of scheduling information than the EPG, and reports back to the end user device whether such request will be available, and, if so, the broadcast time and date, and any special format, e.g., pay-per-view, on-demand, etc. The head end also examines both previously scheduled and non-schedule requests for “trip limits” to determine, based upon cumulative end user demand, whether to add a request to the extended database (in the case of a non-scheduled request), or to add more broadcast times, channels, or special formats to a request already scheduled at least once.
In this way, an end user does not have to continually manually search for programs desired, as this is performed automatically after the end user's initial request. Moreover, if many end users have the same miss request, or limited scheduled request, the miss request may be dynamically added to the EPG for an near future broadcast, and more scheduled offering may be provided for the limited scheduled request. Thus, the present system and method provide an adaptive interactive EPG.
For a complete understanding of the present invention and the advantages thereof, reference is now made to the following description taken in conjunction with the accompanying drawings in which like reference numbers indicate like features, components and method steps, and wherein:
Referring to
The head end 102 and STBs 106, 108 transmit and receive data over a common network 104. The network 104 may be any conventional network commonly known to one skilled in the art, including, but not limited to Ethernet and Gigabit Ethernet (“GigE”). Preferably, network 104 is GigE and operates under the Transmission Control Protocol/Internet Protocol (“TCP/IP”). STBs 106, 108 may be coupled to a variety of external peripherals used to display and send data. Such external peripherals may include televisions 110, monitors 112, personal computers 114, personal web servers 118, Internet appliances 120, and audio devices 122, respectively, as illustrative in
Referring to
EDB includes the EPG plus additional data. For example, preferably the EDB includes at least two (2) weeks more scheduling data than the EPG and also includes a list of all available programs (the library of programming) for system 100. The FRQ processor 210 processes, queries, and updates the FRQ. The FRQ is preferably stored in a relational database with exemplary records such as those illustrated in
Referring to
One or more storage devices 308, 310 are also coupled to processor 306. The storage devices 308, 310 are used to store the EPG, and a queue of requested programs not matched in the EPG (“miss request queue”), as will also be discussed in detail below. Storage devices 308, 310 may include, for example, hard drives, magneto-optical drives, random access memory, flash memory, EEPROM, or any other memory device known to one skilled in the art.
In operation, in accordance with a first exemplary embodiment, each STB 106, 108 preferably receives the EPG on a predefined interval from the head end 102, and stores the EPG locally within the STB's 106, 108 first storage device 308.
Referring to
In accordance with a second exemplary embodiment, referring to
If the request is in the EDB list, FRQ processor 210 then checks the EDB schedule of program broadcast dates and time (“EDB schedule”) to determine whether the request is in the EDB schedule, in step 520. If the request is not in the EDB schedule, the request is recorded in the FRQ, in step 522. The FRQ processor 210 then checks the FRQ for trip limits, in step 524. Trip limits are numerical pre-defined values, which may trigger the scheduling of a request. For example, if a request is not in the EDB schedule, if X amount of request are received the request may be scheduled once in the near future. If Y amount of requests are received, where Y is greater than X, the request may be scheduled for more than one channel or more than one broadcast date and time. If Z amount of requests are received, where Z is greater than Y, the request may be scheduled on pay-per-view or on-demand (depending on the bandwidth of system 100). If no trip limits are satisfied, the STB is notified that the request is not available, in step 528. The STB 106, 108, in turn, preferably notifies the end user via display. If a trip limit is satisfied, the request is scheduled and the EPG and/or EDB schedule are updated, in step 530, and the processes of
If the request is in the EDB schedule, the FRQ processor 210 notifies the STB 106, 108 of the availability of the request, in step 536. The STB 106, 108, in turn, notifies the user via display, as described above, and removes the request from the “miss request queue” in the STB 106, 108. The FRQ processor 210 simultaneously records the request in the FRQ, in step 534. Even though the request is available, this step is performed to allow the head end 102 to test trip limits in step 538, allowing the head end 102 to add additional channels and/or broadcast date and times if trip limits are satisfied. If no trip limits are satisfied, no additional broadcast dates, times or channels are added. As described above, if a trip limit is satisfied, the request is scheduled and the EPG and/or EDB schedule are updated, in step 542, and the processes of
Referring to
Referring to
Thus, using the present system and method an end user (1) does not have to continually manually search for programs desired, as this is performed automatically after the end user's initial request. Moreover, if many end users have the same miss request, or limited scheduled request, the miss request may be dynamically added to the EPG for an near future broadcast, and more scheduled offering may be provided for the limited scheduled request. Thus, the present system and method provides an adaptive interactive EPG.
The above system and method may be implemented by many computer languages commonly known in the art and may operate on many computer platforms which include both volatile and non-volatile memory storage devices. In a preferred embodiment, the system and method of the present invention is implemented, in whole or in part, on a cable network systems. Software code encapsulating the functionality of the present inventive technique may be implemented on such computer systems, preferably written in C++.
Although the invention has been described herein by reference to an exemplary embodiment thereof, it will be understood that such embodiment is susceptible of modification and variation without departing from the inventive concepts disclosed. All such modifications and variations, therefore, are intended to be encompassed within the spirit and scope of the appended claims.