Interactive program manager and methods for presenting program content

An interactive program manager comprises a receiver, a controller and an analyzer. The receiver presents audio and visual content for display. The controller directs the receiver to select a first channel and to forward a second channel different from the first channel. The analyzer monitors a program guide and at least the second channel for content of interest in accordance with a user profile. The controller also directs the receiver in response to an operator input.

BACKGROUND

Television users are presently able to access hundreds of channels providing a multitude of programs, only a small fraction of which will be of interest to a given user. To assist the user in determining programs of interest, current commercially available reception devices such as televisions, analog cable receivers, and digital cable and satellite receivers typically provide a program guide function that allows the user to access a grid showing programs that will be available on various channels in upcoming time slots. Brief descriptions of programs may also be accessible. Such receivers may also allow the user to search for programs in basic categories such as news, sports, movies, etc.

Current commercially available television recording technology also provides similar tools. For example, digital video recording machines, which typically store video on a bulk storage device such as a hard disk drive, allow users to select programs for recording using an on screen program guide that provides keyword searching of program titles, a program time grid, and basic program categorization.

Although these devices provide tools that improve over devices of earlier generations, these devices do not adequately address at least two situations. First, these devices fail to keep a user in touch with breaking news, local weather alerts, and program content that might be of interest when other program content is being viewed. Thus, these devices can create a dangerous situation for a user that is left unaware of a local severe weather alert, an evacuation order, or the like.

In addition, these devices tend to capture or identify too large of a result set when attempting to identify content that should be of interest to a user. As a result, these conventional tools still require users to examine upcoming programs to identify programs of interest. Thus, developers of the next generation of devices are focused on providing intelligence in receiving and recording devices for identifying programs of interest on behalf of the user.

Despite the development of multiple approaches to provide improved program guides to a user there is still a need for improved approaches for keeping a user informed of available program content whether or not the user is presently viewing a program from a content provider.

SUMMARY

Embodiments of a multimedia system for use with a monitor comprise a receiver, a controller and an analyzer. The receiver receives both broadcast and non-broadcast sources of multimedia content and presents the content via the monitor. The controller directs the receiver to select a first channel and forwards a second channel different from the first channel to a device other than the monitor. An analyzer in communication with the receiver monitors a program guide and at least the second channel for content of interest in accordance with a user profile. The analyzer communicates information via the receiver and the monitor in response to an operator input.

An embodiment of a method for interactively selecting program content comprises analyzing a program guide in response to a user profile to identify alternative content, providing a mechanism that enables a user to explore the alternative content, wherein exploration of the alternative content comprises a multiple level interactive menu and providing a mechanism that enables a user to direct the alternative content to a select device.

Other systems, methods, features and advantages will be or will become apparent to one with skill in the art upon examination of the following figures and detailed description. All such additional systems, methods, features and advantages are defined and protected by the accompanying claims.

DETAILED DESCRIPTION

An interactive program manager provides available broadcast and non-broadcast sources to one or more select devices in a multimedia system. As those skilled in the art will appreciate an identifying code or interactive callback address for directly invoking alternative multimedia content is used to communicate the availability of the alternative content and to controllably direct the multimedia system to the original content. Details of a system and method for providing such an interactive code and call back address are described, for example, in U.S. Pat. No. 5,818,438 (the '438 patent), the contents of which are incorporated by reference. A session can be established with an interactive program manager using the interactive callback address and other information such as that described in the '438 patent, and upon completion of the session, a user can re-tune or select the original content.

According to an exemplary embodiment, an interactive program manager associates the identifying code or interactive callback address with a location at which the presently viewed programming or application will be stored. The identifying code or interactive callback address may be a program-specific code that can be used to invoke one or more programs to configure a multimedia system.

The multimedia system may include one or more auxiliary devices, such as a recorder/player and a monitor that are integrated with an interactive program manager that controllably presents a first channel to the monitor and additional information to a select device, which in some configurations includes the monitor. The interactive program manager, when enabled by a user, notifies the user when one or more opportunities exist for reconfiguring the multimedia system to present alternative program content from broadcast and non-broadcast sources. Broadcast sources may include live and previously recorded audio and video information or program content. Non-broadcast sources may include audio and video information forwarded by an auxiliary device such as a recorder/player and one or more data feeds. The one or more data feeds may include ancillary information regarding available or soon to be available program content (e.g., a program guide), information associated with program content stored on a medium that is forwarded by a recorder/player and/or information available from alternative sources external to a content provider such as information available via a publicly accessible data network.

According to an exemplary embodiment, the interactive program manager includes logic for analyzing information from a program guide and one or more data feeds in light of information stored in a user profile to identify potential program content or data that might be of interest to a user associated with the information in the user profile. According to one embodiment of the interactive program manager, a content classification hierarchy is used for classifying the content of programming events and for defining a user's particular interests defined in a user profile. The classification hierarchy is comprised of trees of subject categories of increasing specificity. This allows programming events to be classified with specificity and allows user preferences to be expressed with equal specificity, both to emphasize particular categories of interest and to exclude categories not of interest to the user. For example, rather than simply being enabled to specify an interest in “sports,” a user may specify that he is interested in football and tennis but not basketball or baseball and may further express interest in particular football teams and tennis players. Thus, the interactive program manager evaluates program content according to the classification hierarchy, using user profiles defined according to the classification system. As a result, evaluations generated by the interactive program manager reflect actual user preferences much more accurately than if conventional general categories were used. Further, among multiple programs that are evaluated as being of interest to a user, the degree of specificity of the matches provides a manner of ranking those programs based on user preferences.

The use of hierarchical classification as described above enables intelligent identification of program content that will be of particular interest to a given user who is not presently tuned or otherwise configured to use, e.g., listen to or view, the content. This intelligence may be implemented to automatically record programming events of interest, to alert a user of upcoming programming events of interest, to automatically display programming events of interest as they become available, or to selectively provide programs to the user and/or a recorder. When this intelligence is coupled with metadata describing individual program segments as described above, it becomes possible to provide the user with a personalized viewing experience.

Moreover, this intelligence may be implemented to enable a user to reconfigure a multimedia system in real time to switch from a first channel to an alternative channel, record an alternative channel while continuing to view a first channel, to record a first channel while viewing an alternative channel, all while selectively monitoring one or more data feeds for additional information. This additional information may be presented in real time via one or more areas of a display. Alternatively, the additional information can be continuously monitored for select events or items, the occurrence of or inclusion of which, that trigger the interactive program manager to present corresponding information on the display.

Users are provided with a suitably configured monitor and/or one or more additional devices the combination of which comprises an interactive program manager that is configured to receive broadband signals from a content provider. According to exemplary embodiments, the interactive program manager is configured to insert an identifying code or interactive callback address either in a program signal (an in-band signal) or in an out-of-band signal. The interactive program manager is also configured to store the identity of the source or channel on which the presently viewed programming is being received in one or more storage devices. The interactive program manager is also configured to detect and store information accompanying the transmission of the identifying code or interactive callback address regarding an image to be displayed on the display device (such as a “key,” “icon,” or “indicator”) or an audio message to be reproduced to indicate the availability of alternative content that might be of interest to a user. The interactive program manager is also coupled to a processor configured to generate a video image based on the received or pre-stored “key,” “icon,” or “indicator” information, or alternatively, is programmed to generate the video signal and is coupled to the display device in such a manner as to provide such a signal to that device.

Furthermore, the interactive program manager is adapted to communicate with a user via a menu presented on the display of the monitor upon receipt of a command input from the user in response to observing the indicator (i.e., seeing the “icon” or hearing the message). The menu includes one or more inputs for controllably configuring the multimedia system and/or updating the user profile. The interactive program manager may first store the identity of the channel on which the program then being viewed is being transmitted. When the program responsible for generating the menu is terminated, the interactive program manager distributes one or more channels or sources of information in accordance with various configuration parameters identified during the communication session with the user.

Having generally described the interactive program manager and methods for presenting program content, various additional embodiments will be described with respect toFIGS. 1-6. By way of example,FIG. 1is a block diagram illustrating an embodiment of a multimedia environment100. Multimedia environment100includes monitor160and an interactive program manager110that processes program content provided by content provider140on its way to monitor160. Monitor160includes interface162for receiving command inputs from one or more local controls (not shown) integrated with monitor160or from wireless controller170via link173. Monitor160further includes processor164for receiving audio and video signal information and converting the same for presentation via display165, right-side speaker166, and left-side speaker168. Processor164converts right-side audio information into a right-channel analog signal, which is converted into right-side audio167by right-side speaker166. Processor164also converts left-side audio information into a left-channel analog signal, which is converted into left-side audio169by left-side speaker168.

As illustrated inFIG. 1, interactive program manager110is coupled to content provider140via bus145. Interactive program manager110is coupled to monitor160via bus117and audio/video link161. Interactive program manager110is also coupled to profile store150via bus155and recorder/player130via audio/video link133and audio/video link135. Wireless controller170communicates with one or both of monitor160via link173and interactive program manager110via link175to convey various commands and data entries from a user. As indicated inFIG. 1, wireless controller170communicates commands and/or data to monitor160via link173and interface162. Similarly, wireless controller communicates commands and/or data to interactive program manager110via link175and interface112.

Bus145forwards signals associated with a plurality of channels142, program guide144, as well as one or more optional data feeds146. Each of the channels142includes audio and video information that together make up a program. Both channel information and the one or more data feeds146can be transmitted in analog and/or digital formats. As those skilled in the art will appreciate, closed-captioning information may be imbedded or otherwise coded into portions of an analog channel. A suitably configured decoder (not shown) integrated or otherwise coupled to monitor160converts the received closed-captioning information for presentation as text on display165. Data feeds146may contain information generated by content provider140or sources external to content provider140. Data feeds146are similarly processed by appropriately configured decoders or processors (not shown) integrated or otherwise coupled to one or more of interactive program manager110or monitor160. Program guide144includes information describing presently available program content across the plurality of channels142and program content that will be presented in the near future.

Bus117forwards control signals generated within interactive program manager110that when decoded or otherwise interpreted by processor164direct monitor160to function in one of various operational modes. In addition, bus117forwards configuration information or other data entered by a user via one or both of wireless controller170and monitor160. The configuration information and/or other data is received and processed by interactive program manager110. Processing includes one or both of updating logic and/or data associated with analyzer118or user profile152. Audio/video link161forwards analog and/or digital signals containing information from a select channel provided by content provider140or audio and video information from recorder/player130in accordance with the configuration information or data communicated to interactive program manager110, information in user profile152and information in program guide144.

As described above, one or more indicators, such as indicator163may be integrated within the various signals communicated via interactive program manager110to indicate to a user that alternative content is available. In the illustrated embodiment, indicator163is a visual signal that is presented on display165. In an alternative mode of operation, an audio indicator may be communicated in the form of an audible tone or a message communicated via speaker166and speaker168, or both the audio indicator and the visual indicator may be enabled.

Interactive program manager110comprises controller114, receiver116, and analyzer118. Controller114is coupled to interface112via input bus113. Controller114is further coupled to receiver116and analyzer118via command bus115. Receiver116is coupled to content provider via bus145, which contains the above-described channels142, program guide144, and data feeds146. Receiver116is further coupled to recorder/player130via audio/video link135, which provides audio/video information from the output or player portion of recorder/player130and audio/video link133, which provides audio/video information from a select channel selected from the set of channels142provided by content provider140for recording by the recorder portion of recorder/player130. Receiver116forwards a separate and distinct channel (i.e., different from the channel sent to recorder/player130) selected from the set of channels142to monitor160via audio/video link161. Analyzer118receives commands and configuration information from controller114and program guide144and one or more data feeds146via bus145, receiver116and command bus115. In addition, analyzer118receives user profile152from profile store150via bus155. Analyzer118is configured with one or more programs for identifying program content of interest to a user that is presently available and/or may become available in the near future. Analyzer118compares information from program guide144and data feed146in light of information from user profile152to determine when alternative program content might be of interest to a user. When so directed, analyzer118also monitors the status of broadcast and non-broadcast program content and in response to a timer or a triggering condition reports various information related to the program to the user. In addition to monitoring program content, analyzer118may be directed to report when information provided via data feed146or alternative data sources (not shown) indicate that an alert condition exists.

In the illustrated embodiment, interactive program manager110and profile store150are separate devices. It should be understood that the functions provided interactive program manager110and profile store150could be integrated or otherwise combined with monitor160or some other device such as a computing device, a set top box, or some other device communicatively coupled to monitor160and content provider140(not shown). For that matter, although the example embodiment depicts the interactive program manager110as a separate and distinct device among others shown in the multimedia system, it should be appreciated that one or more functional blocks of the interactive program manager110may be integrated with monitor160, recorder/player130or perhaps other devices communicatively coupled to these or other devices at a user premise. For example, analyzer118and user profile152could be integrated and supplied as an enhanced interactive service by content provider140.

FIG. 2is a schematic diagram illustrating an embodiment of the interactive program manager110ofFIG. 1. Interface112includes wireless receiver210, decoder212and output buffer214. Wireless receiver210is coupled to decoder212via connection211. Decoder212is further coupled to output buffer214via connection213. Interface112receives commands issued by a user via wireless controller170. Wireless receiver210receives and forwards the various encoded commands to decoder212, which transforms the information into a command that can be interpreted by controller114. Output buffer214receives the decoded or transformed command information and forwards the same via connection113to controller114for further processing.

Receiver116includes I/O buffer230, processor232, memory234, switch236, switch238, tuner240and tuner242. I/O buffer230, processor232and memory234are communicatively coupled via local bus231. Processor232is coupled to switch236and switch238via connections241and235, respectively. Processor232is further coupled to tuner240and tuner242via connection239and connection237, respectively. Switch236has a first input configured to receive audio and video information via audio/video link135. Switch236has a second input configured to receive multiple channels from a content provider via link253. Switch236is configured with three outputs. A first output coupled to link243bypasses the tuners. A second output coupled to link245directs the multiple channels to tuner240. A third output coupled to link244directs the multiple channels to tuner242. Tuner240in accordance with one or more control commands provided by processor232selectively forwards the audio and video information associated with one of the received channels via link248to switch238. Tuner242in accordance with one or more control commands provided by processor232selectively forwards the audio and video information associated with a different channel via link249to switch238. Switch238is configured with three inputs and two outputs. A first input coupled to link243receives audio and video information from switch236via link243. A second input coupled to link248receives the audio and video information associated with a selected channel from tuner240. A third input coupled to link249receives the audio and video information associated with the alternative or different channel from tuner242. A first output of switch238is coupled to audio/video link133, which may be applied to an input of an auxiliary device such as the recorder/player130introduced inFIG. 1. A second output of switch238is coupled to audio/video link161, which is coupled to monitor160(FIG. 1).

In the embodiment illustrated inFIG. 2, receiver116also receives one or more data feeds from content provider140(FIG. 1) along bus119. Information provided by content provider140in the data feeds may be buffered by I/O buffer230and forwarded to analyzer118to assist in determining when alert conditions exist or otherwise monitoring the progress of program content.

Analyzer118includes I/O buffer260, processor262and memory263. I/O buffer260, processor262and memory263are communicatively coupled via local bus261. I/O buffer260receives command information from command buffer115, user profile information from bus155, content provider data including a program guide and possibly one or more data feeds via bus119. In addition, I/O buffer260may receive one or more alternative data feeds via bus255. These alternative data feeds can include information available from one or more information servers coupled to a publicly accessible or a privately accessible data network (not shown). I/O buffer260receives the command information, user profile information, program guide information and one or more data feeds and in accordance with logic269stored in memory263as executed by processor262forwards notices of triggering conditions and alerts to controller114, which is configured to communicate information to the user in response to the triggering conditions and/or alerts. Memory263may include one or more user profiles such as user profile265and one or more program guides267as may be desired.

In the example embodiment illustrated inFIG. 2, controller114, receiver116and analyzer118each contain respective I/O buffers, local busses, memories and processors. It should be understood that in alternative embodiments, controller114, receiver116and analyzer118may be integrated in a single computing device. When configured as illustrated, local bus223, local bus231and local bus261may be wired or wireless connections, as known in the art. In addition each local bus may have additional elements, which are omitted for simplicity, such as caches, drivers, repeaters, and receivers, to enable communications. Further, each local bus may include address, control, and/or data connections to enable appropriate communications among the respective I/O buffers, processors and memories. Processor224, processor232and processor262are hardware devices for executing software, particularly that stored in memory226, memory234and memory263, respectively. Each of the processors can be any custom made or commercially available processor, a central processing unit (CPU), a semiconductor based microprocessor (in the form of a microchip or chip set), or generally any device for executing software instructions. Each of the memories can include any one or combination of volatile memory elements (e.g., random-access memory (RAM, such as dynamic random-access memory (DRAM), static random-access memory (SRAM), synchronous dynamic random-access memory (SDRAM), etc.) and nonvolatile memory elements (e.g., read-only memory (ROM), among other elements or devices. Moreover, each of the memories may incorporate electronic, magnetic, optical, and/or other types of storage media. Note that the memories can have a distributed architecture, where various components are situated remote from one another, but can be accessed by each of the respective processors.

The logic stored in each of memory226, memory234and memory263may include one or more separate programs, each of which comprises an ordered listing of executable instructions for implementing logical functions in addition to identified locations for data storage. The programs can be source programs, executable programs (object code), scripts, or any other entities comprising a set of instructions to be performed. When implemented as source programs, the programs are translated via a compiler, assembler, interpreter, or the like, which may or may not be included within the respective memories, so as to operate properly in connection with the processor and/or an associated operating system. Furthermore, the logic stored in each of memory226, memory234and memory263can be written in one or more object-oriented programming languages, which have classes of data and methods, or procedure programming languages, which have routines, subroutines, and/or functions.

Moreover, logic stored in each of memory226, memory234and memory263can be stored on any computer-readable medium for use by or in connection with any computer related system or method. In alternative embodiments, one or more of the programs can implemented with any or a combination of the following technologies, which are each well known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application-specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field-programmable gate array (FPGA), etc.

FIG. 3is a schematic diagram illustrating a menu300containing multiple user controllable inputs that together define embodiments of various operating modes of the monitor160ofFIG. 1. The example set of user controllable inputs includes controls for selectively enabling or disabling visual and audio indicators, picture-in-picture, alert(s), closed-captioning, as well as other data representations. In addition, the example set of user controllable inputs includes controls for selecting the source for display165, a picture-in-picture window, an alert window, a closed-captioning information window, as well as a data representation window. The example menu300is generated by interface logic228and presented by monitor160on display165. Edit indicator305defines a select input to modify. Edit indicator305is controllably directed up or down through the list of inputs via one or both of control inputs associated with wireless controller170and a control interface associated with monitor160(FIG. 1). In addition each of the input items in menu300includes a highlight bar indicative of the present selection for that particular input item. The highlight bar is controllably directed left or right through the list of possible selections (e.g., channels, data feeds, uniform resource locator or enable/disable) associated with the input item via one or both of control inputs associated with wireless controller170and a control interface associated with monitor160(FIG. 1).

The highlight bar associated with the main display source310input indicates that “channel1” is the selected source. As further indicated inFIG. 3main display source310includes selection items “Channel Y” and “Auxiliary Source” as possible alternative sources for video and/or audio information for presentation on display165of monitor160. The highlight bar associated with picture-in-picture enable/disable320indicates that picture-in-picture is enabled or on. The highlight bar associated with the picture-in-picture source325input indicates that “channel Y” is the selected source. As further indicated inFIG. 3picture-in-picture source325includes selection items “Channel1” and “Auxiliary Source” as possible alternative sources for video information for presentation within a picture-in-picture window on display165of monitor160. The highlight bar associated with visual indicator enable/disable330indicates that the visual indicator is enabled or on. The highlight bar associated with audio indicator enable/disable335indicates that the audio indicator is disabled or off. The highlight bar associated with alert enable/disable34indicates that the alert input is enabled or on. The highlight bar associated with the alert source345input indicates that “Data Feed” is the selected source. As further indicated inFIG. 3alert source345includes selection item “Channel X” as a possible alternative source for video information for presentation within an alert window on display165of monitor160. The highlight bar associated with closed captioning enable/disable350input indicates that the closed captioning input is disabled or off. As a result of the closed captioning being selectively disabled, closed captioning source355does not contain a highlight bar. When closed captioning is enabled, closed captioning source355includes selection items “Channel1” and “Channel Y.” The highlight bar associated with the data representation enable/disable360input indicates that the data representation input is disabled or off. As a result of the data representation being selectively disabled, data source365does not contain a highlight bar. When data representation is enabled, data source365includes “URL1” and “URL2.”

Interactive program manager110can be configured to generate one or more alternative menus for presentation to a user with more or less user selectable configuration items than those presented in the illustrated embodiment. For example, an audio alert input that overrides the audio portion of the main display source when an alert condition is identified, a picture-in-picture audio select input that overrides the audio portion of the main display source with audio information from the picture-in-picture source and one or more additional data items may be added to further select and/or identify both the source associated with the data representation input and the alert input. Menu300may also be configured to provide an interface for defining information that will be used to trigger the alert and/or update the data representation.

FIG. 4is a schematic diagram illustrating an embodiment of an operating mode of the monitor165ofFIG. 1. The operating mode illustrated inFIG. 4presents the video content from channel1in the background410of display165and a host of other items in select areas of the foreground. For example, the video information from channel2is presented in picture-in-picture window420. By way of further example, alert information provided by a local broadcast channel as distributed by content provider140or some other source or an alternative data feed is presented in alert window430. In addition, indicator163(in its visual form) is presented in indicator window163. Alternatively, closed captioning information or alternative text messages may be presented in closed caption/alternative information window440and a data representation of information provided via a data stream is selectively presented in data representation window450. The example operating mode illustrated inFIG. 4is just one of many possible arrangements that can be generated via the interactive program manager110and monitor160. For example, alternative embodiments may include changing the location of one or more of the windows. In addition, one or more items may be integrated or otherwise arranged to share a select area of display165.

FIG. 5is a flow diagram illustrating an embodiment of a method500for interactively presenting alternative content. In this regard, each block represents a specified step or function. When embodied in software and/or hardware/firmware, each block represents a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified function(s). Method500begins with block510where interactive program manager110analyzes a program guide in response to information provided in a user profile to identify alternative content. In block520, interactive program manager110presents for display an indicator that indicates that alternative content is available to the user. In block530, the interactive program manager110provides a mechanism that enables the user to explore the identified alternative content. Thereafter, as indicated in block540, the interactive program manager110provides a mechanism that enables the user to controllably direct the alternative content to a select device.

These mechanisms may comprise both software and/or hardware/firmware configured to present a layered or hierarchical menu to a user through one or more interfaces associated with wireless controller170, monitor160or interactive program manager110. In operation, the mechanism prompts or otherwise communicates with the user to determine whether the user would like to continue viewing the present program only, continue viewing the present program while recording the alternative content, continue viewing the present program while monitoring the alternative content, switch to the view the alternative content, switch to view the alternative content while recording the original program, and/or change the operating mode of monitor160in some manner. As described above, operating modes include selection of a main display source, picture-in-picture enable/disable, picture-in-picture source (when picture-in-picture is enabled), visual indicator enable/disable, audio indicator enable/disable, alert enable/disable, alert source (when alert is enabled), closed captioning service enable/disable, closed captioning source (when closed captioning is enabled), data representation enable/disable, and data source (when data representation is enabled).

FIG. 6is a flow diagram illustrating an alternative embodiment of a method502for interactively presenting alternative content to a user. In this regard, each block represents a specified step or function. When embodied in software and/or hardware/firmware, each block represents a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified function(s). Method502begins with decision block505where a determination is made regarding the status of an indicator. When a user is interested in knowing what alternative content might be presently available or available at a select time in the future and has enabled the indicator, processing continues with block510as indicated by the flow control arrow labeled, “Yes,” exiting decision block505. Otherwise, when a user is not interested in alternative content and has not enabled the indicator, as shown by the flow control arrow labeled, “No,” exiting decision block505, processing may resume at the start. It should be understood that in most embodiments execution of method502may be paused for a period of time before repeating the determination in decision block505.

Method502continues with block510where interactive program manager110analyzes a program guide in response to information provided in a user profile to identify alternative content. In decision block515a determination is made whether alternative content identified by the programming guide or an alternative data source matches a possible user interest. When alternative content matches a user interest, processing continues with block520as indicated by the flow control arrow labeled, “Yes,” exiting decision block515. Otherwise, when alternative content does not match a user interest, as shown by the flow control arrow labeled, “No,” exiting decision block515, processing resumes after decision block505.

Method502continues with block520where interactive program manager110presents for display an indicator that indicates that alternative content is available to the user. In block530, the interactive program manager110establishes an interactive session with a user. As indicated in block540, during the interactive session, the interactive program manager110provides a mechanism that enables the user to explore the alternative content. As indicated inFIGS. 6A and 6Bconnector “A” links block540with block550, where the interactive program manager110provides a mechanism that enables the user to direct the alternative content to a select device.

Thereafter, in decision block555a query is made to determine whether a tracking flag is enabled. The tracking flag is enabled when a user is interested in knowing what is occurring on an available but not selected channel or data source. When the tracking flag is enabled as indicated by the flow control arrow labeled, “Yes” exiting decision block555processing continues with block560. As indicated in block560, interactive program manager110analyzes content available on a select channel. In this case, the select channel is one of a data feed or an audio/video program that is not presently being forwarded to monitor160for presentation to a user. Otherwise, when tracking is not enabled, as indicated by the flow control arrow labeled, “No” exiting decision block555processing continues with decision block565. In decision block565a query is presented to the user whether to modify an operational mode of monitor160. When the response to the query associated with decision block565is affirmative, as indicated by the flow control arrow labeled “Yes” exiting decision block565, processing continues with block570where the operational mode of monitor160is changed. Otherwise, when the response to the query associated with decision block565is negative, processing returns to block510via connector “B.” That is, connector “B” bridges the second portion of method502as illustrated inFIG. 6Bwith the first portion of method502illustrated inFIG. 6A. As further illustrated by the flow diagram ofFIG. 6B, after the operational mode of monitor160is modified in block570, processing may also return to block510. Otherwise, one or more criteria may be applied in a making a determination to terminate method502.

In operation, the interactive program manager110, as indicated in blocks540and550, prompts or otherwise communicates with the user to determine whether the user would like to continue viewing the present program, continue viewing the present program while recording the alternative content, continue viewing the present program while monitoring the alternative content, switch to the view the alternative content, switch to view the alternative content while recording the original program, and/or change the operating mode of monitor160in some manner. As described above, operating modes include selection of a main display source, picture-in-picture enable/disable, picture-in-picture source (when picture-in-picture is enabled), visual indicator enable/disable, audio indicator enable/disable, alert enable/disable, alert source (when alert is enabled), closed captioning service enable/disable, closed captioning source (when closed captioning is enabled), data representation enable/disable, and data source (when data representation is enabled). Operating modes may also include listening to audio programming only, the audio portion of a select channel of multimedia content, recorded audio material and the like.

Operational software programs that may be used by interactive program manager110, as well as operational software that may be used in conjunction with controllers, monitors, computers, among other devices that interface with system100, which comprise an ordered listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.

While various embodiments of the systems and methods for enabling an interactive program manager have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible that are within the scope of the accompanying claims. Accordingly, the systems and methods for enabling an interactive program manager are not to be restricted beyond the attached claims and their equivalents.