Patent Abstract:
An intelligent device is configured to receive a DTV signal that includes audio/visual information as well as data signals in a datacast format. The datacast format includes web pages, e.g., in the HTML (hypertext markup language) format of the world wide web. An intelligent filter modifies itself based on user behavior and user preferences in terms of the web pages that a viewer routinely visits. The intelligent filter is then used to identify certain web pages of the pages that are being broadcast and these identified web pages are stored in a cache memory for later use by the viewer. A second tuner can be used to poll multiple channels when updating the cached contents. Cached web pages avoid broadcast latencies (due to periodic updating) and thereby are displayed faster to the viewer.

Full Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to the field of digital television (DTV) systems and digital broadcasting. More specifically, the present invention relates to the fields of digital broadcasting and web browsing. 
         [0003]    2. Related Art 
         [0004]    Heretofore, television systems have mainly been used to receive and display broadcast television signals (e.g., audio/visual programs) for television viewers. In Europe, a data transmission format called “Teletext” has been used which enables compatible television sets to receive a special video signal having encoded therein pages of text based information that can be displayed to a viewer. The viewer can select to thereby view certain text-based pages from a keyboard console or remote device, which can include a cursor directing device. The text-based pages are broadcast from the television broadcaster and some high end television sets can store all the text-based pages in a memory device. Although helpful for obtaining mainstream information, e.g., stock prices and reports, sports information, general news, weather reports, etc., the Teletext system is very limited in the number of pages it can support, e.g., about 100 pages, is very limited in that only text is used and provides no intelligent information filtering mechanisms with respect to the text-based pages. It would be desirable to provide a system that can support enhanced information viewing and navigation within a television system. 
         [0005]    In the United States, the digital satellite system (DSS) television broadcast standard offers an on-screen programming guide that decodes text-based programming information from the television broadcast signal. The DSS on-screen programming information describes the schedule of television programs and acts like an electronic television guide. Also included are some text-based extended information that describe the subject matter of a particular television show, program or movie. Much like the Teletext system, the DSS on-screen programming information is only text-based, it uses a television set, is limited in the number of pages it can support and provides no intelligent information filtering mechanisms. It would be desirable to provide a system that can support enhanced information viewing and navigation within a television system. 
         [0006]    Recently, digital television broadcast standards and digital television sets have been introduced and used. The use of cable systems and digital audio/visual systems into the home has introduced the set-top-box device. The set-top-box device acts as an intelligent controller for accessing and decoding cable programs from digital cable, e.g., terrestrial cable or from a digital satellite system. In the recently proposed home audio/visual network systems, e.g., the HAVi and AV/C standards, the set-top-box also acts as an intelligent controller to control the activities and communications of other electronic devices that can be coupled to the network, like a digital television, a video cassette recorder (VCR), a compact disk (CD) unit, a tuner, a personal computer system, etc. These electronic platforms allow an enhanced ability to access and display information in digital form that was not before possible in the realm of television media. It would be desirable to provide a system that can take advantage of this enhanced ability to access and display digital information within a television system. 
         [0007]    The internet protocol of the world wide web allows multiple computer systems to communicate and display information in a way not before possible. The internet protocol allows hypertext documents, e.g., documents in a hypertext markup language (HTML) format, to be communicated from a server to a client computer system for viewing and interaction therewith. In typical usage, a user interacts with a web browser of a host computer system that connects to the internet via a modem or via some other form of direct high speed digital connection. Once connected to the internet, the user can access information in the form of hypertext documents (web pages) that are stored on server computer systems located on the world wide web, which exists literally all over the globe. It would be desirable to provide a system that can take advantage of the enhanced ability to access and display digital information within a television system for displaying and accessing HTML documents. 
       SUMMARY OF THE INVENTION 
       [0008]    Accordingly, the present invention takes advantage of the enhanced ability of a digital television system to access and display information to enhance a television viewer&#39;s entertainment and information gathering experience. The present invention provides a digital television (DTV) system capable of efficiently accessing and displaying viewer-selected web pages and other HTML documents to a viewer. The web pages and other HTML documents are sent over a digital broadcast to the DTV system of the present invention. These and other advantages of the present invention not specifically mentioned above will become clear within discussions of the present invention presented herein. 
         [0009]    A client-side intelligent device having background caching of web pages within a digital television (DTV) system and method of same are described herein. The present invention includes a digital television system having an intelligent device for interfacing with a user/viewer and controlling the display of information on a display screen. The intelligent device, in one embodiment, is a set-top-box, but could be any intelligent electronic device or computer system. The set-top-box is configured to receive a digital TV broadcast signal (e.g., land based cable or digital satellite system) that may include audio/visual information as well as data signals in a datacast format. The datacast format includes web pages, e.g., in the HTML (hypertext markup language) format. The present invention allows a viewer to have his/her DTV set-top-box or HDTV (high definition TV) monitor and locally cache hypertext documents (and multi-media components), that are transmitted by digital broadcasters, to thereby enhance the internet connectivity performance. A forward caching process is used. 
         [0010]    The DTV broadcasters support multiple channels of information on which digital content providers can supply a domain of web pages that are transmitted in round robin fashion on a periodic basis. The present invention is able to display viewer-selected hypertext documents on the DTV system from this domain. An intelligent filter is used to cache hypertext documents. The intelligent filter modifies itself based on user behavior, e.g., user history, and user preferences in terms of the web pages that a viewer routinely visits. The intelligent filter is used to identify certain web pages (or other HTML-based documents and multi-media components) of the data that are being broadcast and these identified web pages are stored in a cache memory for later use by the viewer. Hypertext documents are forward cached in that they are stored in the cache memory before they are displayed to the user. A second tuner can be used to poll multiple channels when updating the cached contents. Cached web pages avoid broadcast latencies (due to periodic updating) and thereby are displayed faster to the viewer. The use of cached web pages therefore enhances internet connectivity performance. 
         [0011]    More specifically, embodiments of the present invention include a method of displaying information in a digital television system, the method comprising the steps of: a) maintaining an intelligent filter that records hypertext documents based on the frequency that hypertext documents were previously accessed by a viewer of the digital television system; b) monitoring datacast information decoded from a received digital television broadcast signal to identify newly received hypertext documents, the step b) comprising the steps of: b1) sequentially scanning a first tuner of the digital television system over channels of the digital television broadcast signal for a predetermined time period for each scanned channel; and b2) at each scanned channel, identifying newly received hypertext documents. The method further comprising the steps of: c) storing into a cache memory any of the newly received hypertext documents that are recorded in the intelligent filter; d) receiving, from a viewer, an identifier of a selected hypertext document; and e) provided the selected hypertext document is located within the cache memory, accessing the selected hypertext document from the cache memory and displaying the selected hypertext document on a display screen of the digital television system. 
         [0012]    Embodiments include the above and further comprising the step of f) using a second tuner of the digital television system to display contents of a selected channel to the viewer on the display screen wherein the datacast information comprises a domain of hypertext documents that are periodically broadcast. Embodiments include the above and wherein the step a) comprises the steps of: a1) receiving and recording identifiers of hypertext documents accessed by the viewer; a2) recording a count associated with each identifier received by the step a1), the count indicating the number of times each recorded hypertext document was accessed by the viewer; and a3) ranking the identifiers of the intelligent filter based on their associated counts. Embodiments further include a digital television system implemented in accordance with the above. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0013]      FIG. 1A  illustrates a digital television system in accordance with one embodiment of the present invention. 
           [0014]      FIG. 1B  illustrates a digital television system in accordance with a second embodiment of the present invention that includes a digital modem connection to the world wide web. 
           [0015]      FIG. 2  is a logical block diagram of an intelligent client device in accordance with one embodiment of the present invention. 
           [0016]      FIG. 3  is a hardware and software data flow diagram of the logical components of the intelligent client device of the present invention. 
           [0017]      FIG. 4  illustrates the background and foreground processes implemented within the intelligent client device of the present invention. 
           [0018]      FIG. 5  is a flow diagram illustrating steps of the foreground process of the intelligent client device of the present invention for accessing and displaying selected web pages and other hypertext documents. 
           [0019]      FIG. 6  is a flow diagram illustrating steps of the foreground process of the intelligent client device of the present invention for updating the intelligent filter based on viewer preferences and behavior, e.g., viewer history. 
           [0020]      FIG. 7A  illustrates steps in the background process of one embodiment of the present invention for storing web pages and other hypertext documents in the cache memory of the intelligent client device. 
           [0021]      FIG. 7B  illustrates steps in the background process of a two-tuner embodiment of the present invention for storing web pages and other hypertext documents in the cache memory of the intelligent client device. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0022]    In the following detailed description of the present invention, an intelligent device within a digital television system for performing background caching of web pages, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be recognized by one skilled in the art that the present invention may be practiced without these specific details or with equivalents thereof. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention. 
       Notation and Nomenclature 
       [0023]    Some portions of the detailed descriptions which follow are presented in terms of procedures, logic blocks, processing, and other symbolic representations of operations on data bits within an intelligent electronic media device. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. A procedure, logic block, process, etc., is herein, and generally, conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these physical manipulations take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a consumer electronic media device. For reasons of convenience, and with reference to common usage, these signals are referred to as bits, values, elements, symbols, characters, terms, numbers, or the like with reference to the present invention. 
         [0024]    It should be borne in mind, however, that all of these terms are to be interpreted as referencing physical manipulations and quantities and are merely convenient labels and are to be interpreted further in view of terms commonly used in the art. Unless specifically stated otherwise as apparent from the following discussions, it is understood that throughout discussions of the present invention, discussions utilizing terms such as “processing” or “computing” or “generating” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a consumer electronic media device, or similar electronic computing device (e.g., dedicated or embedded computer system), that manipulates and transforms data. The data is represented as physical (electronic) quantities within the consumer electronic media device&#39;s registers and memories and is transformed into other data similarly represented as physical quantities within the consumer electronic media device memories or registers or other such information storage, transmission, or display screens. 
       Digital TV System 
       [0025]      FIG. 1A  illustrates one embodiment of the client-side digital television (“DTV”) system  170   a  of the present invention. DTV system  170   a  is coupled to receive a multi-channel digital television signal  150  from a digital TV broadcaster  190 . Digital system  200   a  includes the broadcaster  190  and the client-side DTV system  170   a.  Within system  200   a,  the digital TV broadcast signal  150  can be delivered to DTV system  170   a  using a terrestrial line (e.g., cable TV) or can be delivered via a wireless transmission mechanism (e.g., digital satellite system, etc.). In accordance with the present invention, a number of different and well known digital broadcast TV signal formats can be used to deliver the digital TV broadcast signal  150  to DTV system  170   a.  In one format, each channel of signal  150  has a bandwidth of approximately 19.2 Megabits per second (2.5 Megabytes per second) in which audio/visual and datacast information can reside, In one implementation, the American Television Standard Committee (ATSC) digital TV format is used. Several well known ATSC signal formats support datacast information transmission. In other embodiments, the Digital TV Applications Software Environment (DASE) signal format can be used. 
         [0026]    The client-side DTV system  170   a,  of one embodiment, includes an intelligent client device (“intelligent device”)  112  which is coupled to receive information from a user/viewer input device  106 . The intelligent device  112 , in one implementation, is a set-top-box and is also coupled (via bus  124 ) to a display device (e.g., a television)  105  for generating images and rendering sound. Optionally, separate speakers (not shown) can be used to generate the sound. The user/viewer input device  106  can be a number of different well known user input mechanisms including, for instance, a remote control, a physical keyboard, a mouse or other cursor directing device, a joystick, etc., and/or any combination of the above. The components of the intelligent device  112  are described in more detail with respect to  FIG. 2 . 
         [0027]    DTV system  170   a  of  FIG. 1A  allows a viewer to see (e.g., browse) hypertext documents that are broadcast within encoded datacast information of the digital TV broadcast signal  150 . The encoded datacast information can reside within a channel that also includes audio/visual programming or can reside within a channel dedicated to the transmission of digital datacast information. DTV system  170   a  of the present invention implements a mechanism for caching frequently visited hypertext documents (e.g., web pages) in a cache memory to enhance the internet connectivity experience of the viewer. Specifically, hypertext documents are cached in advance of being seen by the viewer. However, these documents are cached based on prior viewing behavior of the viewer. Digital TV broadcasting allows networks to broadcast datacast information (e.g., hypertext documents, HTML-based media and documents, web pages, etc.) over the digital TV signal. In accordance with the present invention, this digital information includes HTML-based documents related to (or not necessarily related to) the programming of the broadcaster. The present invention provides a viewer with a browser in the intelligent device  112  (e.g., set-top-box) or HDTV monitor. The system of the present invention is capable of storing (in cache memory) the latest versions of the hypertext documents visited by the viewer thereby allowing the viewer to access this information in a timely fashion. 
         [0028]    The datacast information within the digital TV broadcast signal  150  is broadcast periodically. Within the system  170   a  of  FIG. 1A , the digital TV broadcast signal  150  is therefore monitored by the intelligent device  112  for these hypertext documents. Based on the contents of an intelligent filter, those hypertext documents matching the filter are stored in a cache memory within the intelligent device  112 . If a viewer should select a stored hypertext document (e.g., a cache hit) to view, then that selected hypertext document is obtained from the cache memory and displayed on display device  105 . If the selected hypertext document is not stored in the cache memory (e.g., a cache miss occurs), then the intelligent device  112  access the selected hypertext document by monitoring the digital TV broadcast signal  150  until the hypertext document is next seen within the periodic broadcast. 
         [0029]      FIG. 1B  illustrates an alternative embodiment of the present invention that includes a digital modem  108  as a second source for receiving hypertext documents. The digital mode  108  is capable of receiving hypertext documents from the internet. Client-side DTV system  170   b  includes the intelligent device  112  coupled to the digital modem  108  and to the user/viewer input device  106 . The display device  105  is also coupled to the intelligent device  112 . The digital modem  108  is coupled to the world wide web  180  that contains the internet protocol. Like the system  170   a,  system  170   b  of  FIG. 1A  is coupled to receive a digital TV broadcast signal  150  from a digital TV broadcaster  190 . The broadcaster  190 , the world wide web  180  and the client-side DTV system  170   b  together constitute system  200   b.    
         [0030]    System  170   b  operates in an analogous fashion as system  170   a  with one exception. Upon a cache miss, system  170   b  can use the digital modem  108  to obtain the selected web page or hypertext document rather than waiting for its next occurrence over the periodic broadcast of datacast information of the digital TV broadcast signal  150 . 
       Broadcast of Datacast Information Within the Digital TV Broadcast Signal 
       [0031]    With respect to system  170   a  and system  170   b,  the network broadcasters  190  broadcast a domain of hypertext documents in a periodic fashion, as discussed above. The number of documents within this domain is limited only by available channel bandwidth and expected latency. The document broadcast order is arbitrary, and typically established by the content provider. For instance, a 19.2 Megabit/second channel totally dedicated to the transmission of datacast information could broadcast about 200 hypertext documents per second. If a particular content provider wanted to establish a maximum latency of 20 seconds for any hypertext document, then about 200×20 or 4,000 hypertext documents would be the maximum number of documents within the domain for that channel. The broadcast order of the hypertext documents would be arbitrary and could be such that frequently visited documents get broadcast more often (e.g., with more frequency) than other lesser requested documents. In this case, different hypertext documents would have different maximum latencies. 
         [0032]    However, many digital TV broadcast channels can share bandwidth between their audio/video information/programming and the datacast information. For instance, if a 19.2 Megabit/second channel contains audio, video and datacast information, it is likely that the datacast portion of the channel would contain far fewer than 200 documents/second because the bulk of the available channel width would be consumed by the audio/visual programming. This constraint would limit the document domain size for such a channel. 
       Hardware and Software Components of Intelligent Device (Computer System) 
       [0033]      FIG. 2  illustrates the components of the intelligent device  112  in more detail. Any consumer electronic device can be provided with the appropriate computer system hardware to act as the intelligent device and thereby provide a platform for the processes of the present invention. For instance, a set-top-box device can be used. Another example of an intelligent device  112  is a digital television or computer system having the required hardware resources as described below. It is appreciated that certain aspects of the present invention, described below, are discussed in terms of steps executed on the intelligent device  112  (e.g., processes  400 ,  450 ,  480 ,  500   a  and  500   b ). Although a variety of different computer systems can be used as the intelligent device  112 , an exemplary system is shown in  FIG. 2 . 
         [0034]    Intelligent device  112  of  FIG. 2  includes an internal address/data bus  100  for communicating digital information, one or more central processors  101  coupled with the bus  100  for processing information and instructions, a volatile memory  102  (e.g., random access memory RAM) coupled with the bus  100  for storing information and instructions for the central processor  101  and a non-volatile memory  103  (e.g., read only memory ROM) coupled with the bus  100  for storing static information and instructions for the processor  101 . A cache memory  102   a  resides within memory  102 . As discussed more fully below, hypertext documents matching an intelligent filter are stored into the cache memory  102   a  for later use by the viewer. Intelligent device  112  can also optionally include a data storage device (not shown) such as a magnetic or optical disk and disk drive coupled with the bus  100  for storing information and instructions. The intelligent filter discussed above is a memory resident data structure and therefore may reside within memory  102 . 
         [0035]    Intelligent device  112  also includes a video decoder  120  coupled to bus  100  and coupled to supply a digital video signal  124  (e.g., to digital display device  105 ). A number of well known video decoders can be used for video decoder  120 . Intelligent device  112  also includes an audio decoder  122  (e.g., a sound card) that is coupled to bus  100  and generates a digital audio signal over bus  126  (which can be coupled to external speakers). The video decoder  120  processes video information from bus  100  and the audio decoder  122  processes digital audio information from bus  100 . Any of a number of well known audio decoders can be used for audio decoder  122  of the present invention. In one embodiment of the present invention, a two dimensional rendering engine  118  is also coupled to the bus  100  and coupled to the video decoder. The two dimensional rendering engine  118  processes graphics information and supplies the output as an overlay to the video decoder. In this way, graphics information can efficiently be overlaid with the other video information (including hypertext documents). 
         [0036]    Digital TV broadcast information is received and processed by the intelligent device  112  from tuner  130  which is coupled to receive the digital TV broadcast signal  150 . Optionally, a second tuner  132  can also be used to receive digital TV broadcast information. In one embodiment of the present invention, the second tuner  132  is not used. The first tuner  130  is coupled to a modulator  140  via bus  160  and the modulator  140  is coupled to bus  100 . The modulator  140  performs analog to digital conversion of the signals of bus  160  and also acts as a bus interface for bus  100 . The modulator  140  and the tuner  130  are well known. In an alternative embodiment, the second tuner  132  is coupled to a modulator  142  via bus  162  and the modulator  142  is coupled to bus  100 . The modulator  142  performs analog to digital conversion of the signals of bus  162  and also acts as a bus interface for bus  100 . 
         [0037]    As discussed further below, the first tuner  130  is used for processing digital information used in foreground processing tasks. For instance, the first tuner  130  is controlled by the viewer and its contents are displayed in real-time on the television screen  105  for the viewer to enjoy. However, the second tuner  132  is used to perform background processing to maintain the contents of the cache  102   a.  In the embodiment that does not utilize the second tuner  132 , the first tuner  130  is used to perform both the foreground and background tasks. 
         [0038]    Under processor control from processor  101 , digital audio/video information received from tuner  130  are directed over bus  100  to video decoder  120  and to audio decoder  122  for rendering on the display  105  and speakers via bus  124  and bus  126 . It is appreciated that bus  124  and bus  126  can be merged into one single larger digital bus carrying both video and audio data signals. Under processor control from processor  101 , digital audio/video information received from optional tuner  132  are directed over bus  100  and are initially processed by an intelligent processor as shown in  FIG. 3 . Hypertext documents from tuner  132  can be stored in cache memory  102   a  and if selected, are then transmitted on bus  100  to video decoder  120  and to audio decoder  122 , as discussed above. 
         [0039]      FIG. 3  illustrates a data flow diagram of the intelligent controller  112  including hardware and software components. Tuner  130  and tuner  132  receive digital TV information from digital TV broadcast signal  150 . Modulator  140  receives analog information from tuner  130  and generates a digital signal which is received by a demultiplexer  250 . Modulator  142  receives analog information from tuner  132  and generates a digital signal which is received by a demultiplexer  250 . Demultiplexer  250  can be hardware or software implemented and sorts out the audio, video and datacast portions of the digital signals received from the modulators  140  and  142 . Digital video information is forwarded from demultiplexer  250  over data path  220   a  to a video processor  260 . Video processor  260  can be software implemented, or alternatively, can be implemented in hardware, or can be a combination of both. Video processor  260  includes a video decoder  120  capable of decoding encoded video signals in well known formats such as MPEG (Motion Picture Expert Group) and MPEG II. 
         [0040]    As discussed above, video processor  260  interfaces with a two dimensional rendering engine  290  which can be a hardware unit (as shown in  FIG. 2 ) or can be implemented as a software process as shown in  FIG. 3 . Rendering engine  290  interfaces with both the video processor  260  and with a data processor  270  to overlay graphics information. Rendering engine  290  also directly interfaces with the cache memory  102   a.  The digital video signals are output over bus  124 . Demultiplexer  250  also forwards digital audio signals over data path  220   c  to the audio processor  280  which generates audio signals over bus  126 . 
         [0041]    Demultiplexer  250  of  FIG. 3  also forwards digital datacast information over data path  220   b  to the data processor  270  which processes hypertext documents. Data processor  270  contains a browser. Any of a number of well known browsers, e.g., as commercially available from Netscape or Microsoft, can be used by data processor  270 . Hypertext documents are rendered by data processor  270  and shipped to the rendering engine  290  for display over bus  124 . An intelligent filter  300  is coupled to the data processor  270 . Data processor  270  also directly interfaces with the cache memory  102   a.  In accordance with the present invention, intelligent filter  300  is a software unit and receives an identifier of each hypertext document received by data processor  270 . In one embodiment, the identifier is the web address of a web page. The intelligent filter  300  has recorded therein a listing of identifiers corresponding to frequently visited web pages. This information is compiled based on past viewer behavior. 
         [0042]    The intelligent filter  300  stores into cache memory  102   a  each hypertext document that is received by data processor  270  and that also matches an identifier stored in the intelligent filter  300 . Hypertext documents not within the intelligent filter  300  are not stored in the cache memory  102   a.  The size of the cache memory  102   a  depends on the number of hypertext documents that are desired for storage and typically becomes an implementation choice depending on available memory resources. A 10 Megabyte cache memory  102   a  can store about 1,000 web pages. 
       Caching Processes of the Present Invention 
       [0043]      FIG. 4  illustrates the major processes of the present invention to implement a digital TV web caching system. Process  400  is the foreground process and responds to a user/viewer selecting a particular web page or other hypertext document for display. At step  450 , the intelligent device  112  accesses and displays a selected web page. At step  480 , the intelligent filter  300  is then updated based on the user/viewer selections. In this way, the intelligent filter  300  is updated based on the behavior and viewing patterns/history of the user. Process  400  then repeats. 
         [0044]    In the background, process  500  updates the cache memory  102   a  based on information received over the digital TV broadcast signal and based on the contents of the intelligent filter  300 . Process  500  is cyclic. It is appreciated that the intelligent device  112  caches web pages based on the intelligent filter  300  and that this caching activity occurs in the background. It is appreciated that the present invention performs “forward” caching in that web pages and other hypertext documents are cached before they are viewed using the browser. It is further appreciated that both process  400  and process  500  are implemented as instructions stored within computer readable memory units of intelligent device  112  and executed on processor  101 . 
         [0045]      FIG. 5  is a flow diagram illustrating the steps within foreground process  450 . At step  452 , the intelligent device  112  receives a user/viewer originated request for a particular desired hypertext document (e.g., a particular web page). This request typically is received in the form of a web page address typed in (or otherwise selected) by a viewer using the user input device  106 . At step  454 , the present invention checks the contents of the cache memory  102   a  to determine if this hypertext document is currently stored in the cache memory  102   a.  At step  456 , a check is made if a cache hit occurs (e.g., the selected hypertext document is stored in the cache memory  102   b ) or if a cache miss occurs (e.g., the selected hypertext document is not stored in the cache memory  102   b ). 
         [0046]    If a cache hit occurs at step  456 , then process  450  flows to step  464  where the intelligent device  112  obtains the selected hypertext document from cache memory  102   a.  At step  466 , the intelligent device  112  then displays the selected hypertext document on the digital display screen  105 . Upon a cache hit, no latency is perceived by the user from step  452  to step  466 . Process  450  then returns. 
         [0047]    If a cache miss occurs at step  456 , then process  450  flows to step  458 . At step  458 , if the DTV system of the present invention contains a digital modem, it can optionally be used to obtain the selected hypertext document from the internet. Within the preferred embodiment, the DTV system of the present invention, at step  458 , uses the digital TV broadcast signal  150  to obtain the selected hypertext document. At this step, the DTV system monitors the digital TV broadcast signal  150  until its periodic broadcast transmits the selected hypertext document. At step  458 , a latency can be detected by the viewer between the request and the display of the selected hypertext document. The duration of the latency depends on the maximum latency for hypertext documents as determined by the content provider of the currently tuned channel. The latency is also determined by the timing of step  458  within the periodic broadcast of hypertext documents. At step  460  and step  462 , the selected hypertext document is located and it is stored within a memory unit of the intelligent device  112 . At step  466 , the selected hypertext document is then displayed on the digital screen. Process  450  then returns. 
         [0048]    The provision of the cache memory  102   a  therefore increases the user&#39;s internet connectivity experience, in accordance with the present invention, by eliminating any perceived latencies for selected web pages that are associated with a cache hit. 
         [0049]      FIG. 6  is a flow diagram illustrating the steps within foreground process  480  for updating the intelligent filter  300  based on user/viewer behavior. At step  482 , if the currently selected hypertext document is not recorded in the intelligent filter  300 , then it is recorded with an associated initial count (e.g., 1). At step  482 , if the currently selected hypertext document is already recorded in the intelligent filter  300 , then its associated count is incremented by one. In either case, an identifier of the selected hypertext document is recorded in the intelligent filter  300 . At step  482 , if the intelligent filter  300  becomes filled, as new hypertext documents are recorded, those recorded hypertext documents with the lowest count are dropped off. Optionally, at step  482 , a timestamp is recorded with each recorded hypertext document indicating the time and date that the user last visited the web page. 
         [0050]    At step  484 , the present invention then ranks all of its recorded entries by count number with those hypertext documents with the largest count placed higher in the recorded list. At step  486 , the present invention then optionally drops off of the recorded list any hypertext document that has not been visited by the viewer for a predetermined time period. This optional function is facilitated by the timestamps discussed above. 
         [0051]      FIG. 7A  and  FIG. 7B  illustrate two different versions of background process  500  for filling the cache memory  102   a.  Process  500   a  and process  500   b  are “background” processes in that they operate constantly whether or not the user/viewer is interacting with the DTV system. Process  500   a  of  FIG. 7A  corresponds to DTV system  170   a  ( FIG. 1A ) that has one tuner. Process  500   b  of  FIG. 7B  is used with DTV system  170   b  ( FIG. 1B ) that contains two tuners. 
         [0052]    Process  500   a  of  FIG. 7A  commences at step  502  where the first tuner  130  receives a web page or other hypertext document from the currently tuned channel of the digital TV broadcast signal  150 . The viewer can alter the currently tuned channel at any time while process  500   a  is operating. During TV watching periods, the information received by tuner  130  is displayed in real-time on the display screen  105 . At step  504 , the intelligent device  112  compares the encoded identifier of the received hypertext document (e.g., the web page address) against the identifiers that are recorded in the intelligent filter  300 . At step  506 , if a match occurs then step  508  is entered, otherwise, step  502  is entered and this process continues for the next received hypertext document of the currently tuned channel. 
         [0053]    At step  508 , the intelligent device  112  receives and stores the current hypertext document into the cache memory  102   a.  If a previous older copy of the hypertext document is stored in the cache memory  102   a,  then at step  508 , the present invention replaces the old copy with the new copy. If a previous same copy of the hypertext document is stored in the cache memory  102   a,  then at step  508 , the present invention ignores the current hypertext document. It is appreciated that each hypertext document contains an identifier that can be used to determine if one hypertext document is the same or an older or a newer version of another hypertext document. After step  508  completes, step  502  is entered again to process the next received hypertext document. As described above, process  500   a  is limited in that only the currently tuned channel (e.g., that is also used by the viewer) is used to update cache memory  102   a.    
         [0054]      FIG. 7B  illustrates the steps of process  500   b.  Process  500   b  utilizes the second tuner  132  to update the cache memory  102   a  by continuously polling the available channels in a round robin fashion to update the cache memory  102   a . In this way, the particular program selected by the viewer does not limit the scope of information that can be used to update the cache memory  102   a.  In other words, process  500   b  allows the cache memory  102   a  to be updated based on information that is being broadcast over one channel (e.g., using tuner  132 ) while the viewer is currently watching a program, or viewing other media information, on another channel (e.g., using tuner  130 ). 
         [0055]    At step  510  of  FIG. 7B , the present invention receives datacast information over the channel that is currently tuned by the second tuner  132 . The user/viewer is not allowed to alter the channel being tuned by tuner  132 . Only the processor  101  of the intelligent device  112  can alter tuner  132  by program control. At step  510 , a hypertext document is received by the intelligent device  112  from the second tuner  132 . At step  512 , the intelligent device  112  compares the encoded identifier of the received hypertext document (e.g., the web page address) against the identifiers that are recorded in the intelligent filter  300 . At step  514 , if a match occurs then step  516  is entered, otherwise, step  518  is entered. 
         [0056]    At step  516 , the intelligent device  112  receives and stores the current hypertext document into the cache memory  102   a.  If a previous older copy of the hypertext document is stored in the cache memory  102   a,  then at step  516 , the present invention replaces the old copy with the new copy. If a previous same copy of the hypertext document is stored in the cache memory  102   a,  then at step  516 , the present invention ignores the current hypertext document. It is appreciated that each hypertext document contains an identifier that can be used to determine if one hypertext document is the same or an older or a newer version of another hypertext document. After step  516  completes, step  518  is entered. 
         [0057]    At step  518 , the intelligent device  112  checks if a predetermined time period has expired. Each available channel is scanned according to process  500   b  only for a predetermined time period. Once this time period expires, a new channel is used. At step  518 , the present invention determines if the time period for the currently tuned channel has expired. If not, then step  510  is entered and the next hypertext document is received from the same tuned channel. In one implementation, the time period is 20 seconds for each channel but could be any reasonable period or could be programmable or could vary from channel to channel. 
         [0058]    At step  518 , if the time period for the currently tuned channel expires, then at step  520  the second tuner  132  is tuned to the next channel and the time period is reset. Step  510  is then entered to obtain the next hypertext document from the newly tuned channel. Process  500   b  repeats in this fashion. It is appreciated that the user can tune tuner  130  to any channel at any time during process  500   b  and this action will not alter the results of process  500   b.  Therefore, process  500   b  is not limited to the particular channel being watched by the user (e.g., via tuner  130 ). 
         [0059]    The preferred embodiment of the present invention, an intelligent device within a digital television system for performing background caching of web pages, is thus described. While the present invention has been described in particular embodiments, it should be appreciated that the present invention should not be construed as limited by such embodiments, but rather construed according to the below claims.

Technology Classification (CPC): 7