Abstract:
A content processing device is configured to store a parameter indicative of a content preference of a system user, to request and receive data relating to the stored parameter, to receive an incoming video signal, and to provide to a video display at least a portion of the video signal and a data interface including at least a subset of the data.

Description:
BACKGROUND INFORMATION 
       [0001]    Current video programming sometimes provides a “crawl” across the bottom of a video screen. A crawl may provide information in textual format such as news, weather, traffic information, sports scores, etc. The information thus displayed is chosen by a video programmer, and cannot be controlled by a user or viewer of video. In fact, video users generally have no way to prevent a crawl from being displayed, or of selecting times when a crawl will be displayed, despite the fact that a crawl may obscure or distract from video content that the viewer wishes to see. Further, even if the viewer does wish to see information unrelated to video programming displayed in a portion of a video screen, present systems and methods do not provide viewers with any way of selecting or customizing the information to be displayed. Thus, viewers presently are forced to view information in which they may have no interest, such as sports scores, weather, traffic, or news related to another city or geographic area. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0002]      FIG. 1A  illustrates an exemplary system for delivering video and for providing data using widgets. 
           [0003]      FIG. 1B  illustrates another exemplary system for delivering video and for providing data. 
           [0004]      FIG. 2  illustrates an exemplary process for providing and accessing widgets in a video display. 
           [0005]      FIGS. 3A-3C  illustrate exemplary interfaces and an exemplary video display including widgets. 
       
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
       [0006]      FIG. 1A  illustrates an exemplary system  100  for delivering a video signal  150  and for displaying information according to instructions included in a widget  105 . 
         [0007]    As illustrated in  FIG. 1A , a customer premise  101  includes a content processing device  110 , which may be controlled by a user through a control  111 , to view video on a video display  115 . Content processing device  110  may be a set top box (STB) or similar device known for receiving a video signal from a network and for providing video programming to video display  115 . 
         [0008]    Widget  105  includes computer-executable instructions that are generally stored in a memory of content processing device  110 , and that may be executed by a processor included within content processing device  110 . Instructions in widget  105  may include instructions for retrieving data from data server  135 , sometimes according to input provided by a user through control  111 . 
         [0009]    Control  111  is generally a remote control that selectively communicates with content processing device  110  through known wireless communications, such as infrared (IR) communications. Control  111  generally includes numeric keys for selecting channels of video programming, as well as other keys for making selections and request according to menus provided on video display  115 , in addition to arrow keys and the like for changing channels, changing volume, etc. Video display  115  may be a television receiver such as is known, including a conventional television or a high definition television (HDTV). 
         [0010]    Content processing device  110  selectively communicates, via a broadband home router (BHR)  117 , with a gateway router  120  to send information to, and receive information from, a packet switched network  125 . An interactive program guide (IPG) server  130  also selectively communicates with router  120 , sometimes via network  125 , although this is not the case for the exemplary system illustrated in  FIG. 1A . 
         [0011]    A widget data server  135  is also in selective communication with content processing device  110 , generally via network  125 . A widget database  140  may be included within widget data server  135 , or may be part of a separate computing system. In any event, widget data server  135  is generally configured to selectively retrieve information from widget data base  140  in response to requests for data to be included in the display of a widget  105  in display  115 . 
         [0012]    A video distribution network  145  is a network for providing a video signal  150  such as is known. For example, network  145  may include hardware and software for providing video signal  150  via coaxial cable and/or fiber optic cable. As is known, video signal  150  is generally provided to a video distribution network  145  from a head end  155 . 
         [0013]    Packet switched network  125  is generally an internet protocol (IP) network. As such, network  125  uses known protocols for transporting data, such as user datagram protocol (UDP), transport control protocol (TCP), hypertext transfer protocol (HTTP), etc. Further, network  125  may include a variety of networks such as a wide area network (WAN), e.g., the Internet, a local area network (LAN), etc. As is known, packet switched network  125 , may be used to transport a variety of data, including multimedia data such as audio and video. Accordingly, it is to be understood that embodiments are possible in which networks  125  and  145  are in fact combined into a single network, or in which video distribution network  145  is simply omitted, whereby packet switched network  125  is used to provide video signal  150  to content processing device  110 . 
         [0014]    BHR  117  is known for distributing audio, video, and data to devices within customer premises  101  such as content processing device  110 . For example, in one embodiment, BHR  117  is the broadband home router or wireless broadband home router from Actiontec Electronics, Inc. of Sunnyvale, Calif. 
         [0015]    Gateway router  120  is known for routing data packets in packet switched network  125 . Gateway router  120  allows content processing device  110  to access packet switched network  125 . By communicating with router  120 , content processing device  110  is able to obtain a network address such as an internet protocol (IP) address, thereby enabling content processing device  110  to make requests to, and to receive data from, servers  130  and  135 . 
         [0016]    IPG server  130  provides an interactive program guide to content processing device  110  for display on video display  115 . As is known, an interactive program guide allows viewers of display  115  to obtain information and to select content, generally by navigating and making selections using control device  111 . IPG server  130  generally includes a processor and a memory, as well as a computer readable medium such as a disk for storing data, e.g., interactive program guide data, to be provided to content processing device  110 . 
         [0017]    Widget data server  135  is a computing device including a processor and a memory, as well as a computer readable medium for storing data. As mentioned above, widget data server  135  selectively communicates with widget data base  140  to obtain data to be displayed in widget  105  upon the request received from content processing device  110 . Widget data base  140  may be included on a computer readable medium within widget data server  135 , or may be a separate database. 
         [0018]      FIG. 1B  illustrates another exemplary system for delivering video signal  150  and data, including widget  105 , to content processing device  110 . As can be seen,  FIG. 1B  illustrates all of the elements illustrated in  FIG. 1A , with the addition of optical line terminal (OLT)  117  and optical network terminal (ONT)  116 . Accordingly,  FIG. 1B  illustrates an exemplary system in which fiber optic cable is used to provide both data and video signal  150  to customer premises  101 , including to content processing device  110 . As is known, OLT  117  may serve as a terminus for an optical network or an optical line. OLT  117  may provide data, including video signal  150 , to one or more ONT&#39;s  116 . ONT  116  can be situated adjacent to customer premise  101 , for the purpose of providing data received over an optical line to customer premise  101 , including content processing device  110 . Accordingly,  FIG. 1B  illustrates a hybrid network system  100  in which video signal  150  transported over video distribution network  145  and data transported over packet switched network  125  are received by customer premises  101  through a fiber optic line. 
         [0019]    Computing devices such as content processing device  110 , IPG server  130 , widget data server  135 , etc. may employ any of a number of computer operating systems known to those skilled in the art, including, but by no means limited to, known versions and/or varieties of the Microsoft Windows® operating system, the Unix operating system (e.g., the Solaris® operating system distributed by Sun Microsystems of Menlo Park, Calif.), the AIX UNIX operating system distributed by International Business Machines of Armonk, N.Y., and the Linux operating system. Computing devices may include any one of a number of computing devices known to those skilled in the art, including, without limitation, a computer workstation, a desktop, notebook, laptop, or handheld computer, or some other computing device known to those skilled in the art. Content processing device  110  generally is a specialized device for receiving video signals  150  from head end  155  via network  145 , and may be provided with a proprietary or specialized operating system other than those enumerated above. For example, in one embodiment, content processing device  110  is an STB provided with a real time operating system (RTOS) such as is known. However, it is to be understood that content processing device  110  may be a computing device such as one of those enumerated above, so long as the computing device is capable of receiving video signals  150  from network  145 , and also is capable of storing an executing the instructions included in widget  105 . 
         [0020]    Computing devices such as content processing device  110 , etc. generally each include instructions executable by one or more computing devices such as those listed above. Computer-executable instructions may be compiled or interpreted from computer programs created using a variety of programming languages and/or technologies known to those skilled in the art, including, without limitation, and either alone or in combination, Java™, C, C++, Visual Basic, Java Script, Perl, etc. In general, a processor (e.g., a microprocessor) receives instructions, e.g., from a memory, a computer-readable medium, etc., and executes these instructions, thereby performing one or more processes, including one or more of the processes described herein. Such instructions and other data may be stored and transmitted using a variety of known computer-readable media. 
         [0021]    A computer-readable medium includes any medium that participates in providing data (e.g., instructions), which may be read by a computer. Such a medium may take many forms, including, but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks and other persistent memory. Volatile media include dynamic random access memory (DRAM), which typically constitutes a main memory. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise a system bus coupled to the processor. Transmission media may include or convey acoustic waves, light waves and electromagnetic emissions, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read. 
         [0022]      FIG. 2  illustrates an exemplary process  200  for providing widget  105  in video display  115 . 
         [0023]    In step  205 , a user selects a key or button on control device  111  to communicate to content processing device  110  a request for widget  105 . Content processing device  110  may be programmed to interpret input from a particular button or key or keys on control device  111  as a request for widget  105 , or widget  105  may be selected according to a menu or other option presented in an interactive program guide or other user interface displayed on video display  115 . 
         [0024]    Next, in step  210 , content processing device  110  makes a determination as to whether instructions for displaying widget  105  are stored in a computer readable medium within content processing device  110 . If not, process  200  precedes to step  215 . However, if instructions for widget  105  are stored within content processing device  110 , then step  220  is next executed. 
         [0025]    Next, in step  215 , content processing device  110  communicates with IPG server  130  through router  120  to download computer executable instructions for providing widget  105 . Because memory or storage within content processing device  110  may be limited, computer executable instructions for widget  105  preferably do not consume large amounts of memory. For example, in one embodiment, computer executable instructions for widget  105 , written in the JAVA™ programming language, consume roughly 150 kilobytes of memory. 
         [0026]    Next, in step  220 , widget  105  is instantiated by content processing device  110 . Accordingly, instructions are executed by a processor within content processing device  110  to provide content according to widget  105  on video display  115 . 
         [0027]    Next, in step  225 , content processing device  110  obtains an internet protocol (IP) address from IPG server  130 . This step allows content processing device  110  to be able to request and send information for widget  105  to and from widget data server  135 . 
         [0028]    Next, in step  230 , content processing device  110  obtains source data for widget  105  from widget data server  135 . In general, widget data server  135  obtains the requested data for widget  105  from widget data base  140 . In some embodiments, widget data base  140  is provided with data from data vendors such as Traffic.com of Wayne, Pa.; TeleAtlas (TANA) with North American Headquarters in Lebanon, N.H.; Weather.com owned by Landmark Communications, Inc., of Norfolk, Va.; Accuweather of Fort Washington, Pa.; etc. Such vendors provide, for example, real time or near real time news, weather, traffic information, sports scores, etc. 
         [0029]    One or more of the forgoing categories of information, or other categories of information, may be requested for widget  105  by a user accessing content processing device via control device  111 . Such data is generally requested according to a location associated with content processing device  110 . For example, in some embodiments, a postal code such as a zip code is stored on a computer-readable medium attached to content processing device  110  when content processing device  100  is installed at customer premises  101 . The postal code may then be used as a parameter of a query from content processing device  100  to widget data server  135  to obtain source data for widget  105  in step  230 , whereby the data obtained is relevant to the location specified for content processing device  110 . Alternatively, if widget  105  is downloaded to content processing device  110  after content processing device  110  had been installed in customer premises  101  as described with respect to step  215 , then a user may be prompted to provide a location, e.g., a zip code, by providing input through control  111 . Further, it should be understood that parameters other than a location could be used by content processing device  110  to request information, such as the name of a sports league, a stock symbol, etc. 
         [0030]    Next, in step  235 , widget  105  is presented in video display  115  along with images representing video signal  105 . It should be understood that widget  105  may be presented within display  115  in a variety of ways. For example,  FIG. 3A  illustrates an exemplary video presentation  300 , such as might be seen in video display  115  after widget  105  is instantiated. Video signal  150  is displayed as a moving image  305 . Widget  105  is displayed in a widget data interface  310 , which includes a widget icon  315 , a widget navigation arrow  320 , and widget text  325 . Widget icon  315  is used to provide an indication of the kind of information being displayed in widget data interface  310 . Navigation arrow  320  is used to navigate to different displays of information in widget data interface  310 , as is further described herein below. Widget text  325  is used to provide information to a user of video display  115 . 
         [0031]    Next, in step  240 , content processing device  110 , according to instructions for widget  105 , determines whether a request has been received to change widget data interface  310 . Such a request may be received according to input received through control device  111 , e.g., by selecting navigation arrow  320  with arrow keys or other keys and pressing an “ok” button or the like. Further, widget data interface  310  could include a menu for selecting options for display within widget data interface  310 . For example, widget data interface  310  could present in one portion a list of categories of information, e.g. news, sports, weather, traffic, which a user could scroll through using control device  111  to view and select from such categories. 
         [0032]    In step  245 , content processing device  110 , according to instructions provided by widget  105 , changes the information displayed in widget data interface  310  according to a request to change the display of such information received from a user in step  240 . For example, if a user has selected navigation arrow  320 , widget data interface  310  may display a new category of information according to a predetermined order for displaying categories of information in widget data interface  310 . For example, widget  105  could be programmed to first display information relating to weather, then to traffic, then to news, and then to sports. Alternatively, widget  105  could be programmed to first provide information relating to traffic, and then to weather, and then to display information relating to news and sports only if users selected these categories of information from a menu. In short, different ways of allowing users to select information for display in widget data interface  310  are possible and contemplated. 
         [0033]    In step  250 , content processing device  110  determines whether a request to display in widget data interface  310  information relating to new parameters, e.g., a new location, has been received from a user of control device  111 . Such request may be received by a user selecting a predetermined button or key on control device  111 , or by the user selecting a “change location” icon provided in widget data interface  310 , although such a change location icon is not shown as part of the illustration of widget data interface  310  herein. In one embodiment, once a user has indicated a desire to specify a new location, a user may specify such new location by entering a zip code using a numeric keypad on control device  111 . A zip code as a way of specifying location for display of data by widget  105  has the advantages of being easily entered using a numeric keypad and also providing a relatively high degree of geographic specificity. 
         [0034]    If a request for new parameters has been received in step  250 , step  255  is executed next. Otherwise, step  260  is executed next. 
         [0035]    In step  255 , content processing device  110 , according to instructions of widget  105 , provides information related to the new parameters, e.g., new location, specified in step  250  in widget data interface  310 . Generally, display of such new information requires content processing device  110  to request such new data from widget data server  135 . Such request may be made in a manner similar to that discussed above concerning step  230 . 
         [0036]    In step  260 , content processing device  110  determines whether a request has been received from a user of control device  111  to exit widget  105 . For example, such request may be received according to a predetermined key of control device  111 , or according to an “exit” icon included within widget data interface  310 , as described above. If such request has been received, then process  200  ends. Otherwise, process  200  returns to step  240 . 
       CONCLUSION 
       [0037]    Co-pending application Ser. No. ______, filed the same day as the present application, assigned to the assignee of the present application, and entitled “TRANSACTION WIDGETS” is hereby incorporated herein by reference in its entirety. 
         [0038]    With regard to the processes, systems, methods, heuristics, etc. described herein, it should be understood that, although the steps of such processes, etc. have been described as occurring according to a certain ordered sequence, such processes could be practiced with the described steps performed in an order other than the order described herein. It further should be understood that certain steps could be performed simultaneously, that other steps could be added, or that certain steps described herein could be omitted. In other words, the descriptions of processes herein are provided for the purpose of illustrating certain embodiments, and should in no way be construed so as to limit the claimed invention. 
         [0039]    Accordingly, it is to be understood that the above description is intended to be illustrative and not restrictive. Many embodiments and applications other than the examples provided would be apparent to those of skill in the art upon reading the above description. The scope of the invention should be determined, not with reference to the above description, but should instead be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. It is anticipated and intended that future developments will occur in the arts discussed herein, and that the disclosed systems and methods will be incorporated into such future embodiments. In sum, it should be understood that the invention is capable of modification and variation and is limited only by the following claims. 
         [0040]    All terms used in the claims are intended to be given their broadest reasonable constructions and their ordinary meanings as understood by those skilled in the art unless an explicit indication to the contrary in made herein. In particular, use of the singular articles such as “a,” “the,” “said,” etc. should be read to recite one or more of the indicated elements unless a claim recites an explicit limitation to the contrary.