Systems and methods for caching data in media-on-demand systems

Information

  • Patent Grant
  • 8850499
  • Patent Number
    8,850,499
  • Date Filed
    Wednesday, August 1, 2012
    12 years ago
  • Date Issued
    Tuesday, September 30, 2014
    10 years ago
Abstract
Systems and methods may be provided for retrieving non-on-demand media data and on-demand media data that is provided by separate data sources. On-demand media data may be cached to reduce system latencies and the burden on the distribution network.
Description
BACKGROUND OF THE INVENTION

The present invention relates to systems and methods for interactive television applications. More particularly, the present invention relates to systems and methods for retrieving non-on-demand media data and on-demand media data from separate data sources in an interactive television application system.


Cable, satellite, and broadcast television systems provide users with a large number of television channels. Users have traditionally consulted printed television program schedules to determine the programs being broadcast at a particular time. More recently, interactive electronic television program guides have been developed that allow television program information to be displayed on a user's television.


Interactive television program guides are typically implemented on television set-top boxes. Such program guides allow users to view television program listings in different display formats. For example, a user may instruct the program guide to display a grid of program listings organized in a channel-ordered and time-ordered array. Users may also search and sort program listings by theme (e.g., movies, sports, etc.) or by title (e.g., alphabetically). A user may obtain additional information for a particular program listing, and may purchase a program for viewing.


Some interactive program guide systems may provide listings for on-demand videos. In some systems, the on-demand video listings are provided from a data source that is separate from the source that provided listings and other information for non-on-demand media, such as television programs. A video-on-demand server may, for example, provide the listings for on-demand videos to the program guide in-band with or out-of-band from the program guide data or normal television programming. When video-on-demand listings are provided in band, the program guide must establish a connection with the video-on-demand server (if one is not established), and tune the user away from the television program the user is watching in order to retrieve listings. This causes the user to miss part of the programming that he or she is watching. When video-on-demand listings are provided out-of-band, the program guide must also establish a connection with the video-on-demand server (if one is not established), and retrieve the listings. In such approaches, low bandwidth connections may cause unacceptable delays in the display of the video-on-demand listings. In addition, some video-on-demand information, such as new release listings, is frequently accessed by many users throughout the network. Each user's equipment must establish a session with the server every time information is needed. This may cause huge peak resource demands on the distribution network.


Accordingly, it would be desirable to provide systems and methods for retrieving non-on-demand media data and on-demand media data from separate data sources in a way that reduces the undesirable consequences associated with current approaches such as, for example, the disruption of the user's viewing experience or delays in displaying application screens.


SUMMARY OF THE INVENTION

The present invention relates to systems and methods for retrieving media data from separate non-on-demand and on-demand media data sources. Illustrative features of some embodiments of the present invention are described, for example, in U.S. Provisional Patent Application No. 60/239,377, filed Oct. 11, 2000; U.S. Provisional Patent Application No. 60/252,171, filed Nov. 20, 2000; and U.S. Provisional Patent Application No. 60/270,351, filed Feb. 21, 2001 which are hereby incorporated by reference herein in their entirety.


As used herein, non-on-demand media may be any suitable media that is provided to users without a user request. For example, non-on-demand media may be television programs, audio programs, or any other suitable programs. On-demand media may be any suitable media that is provided to users in response to user requests. For example, on-demand media may be on-demand videos or on-demand audio media, downloadable software, or any other media suitable for on-demand distribution.


Data for on-demand and non-on-demand media may be any data which describes the media or is associated with the media. For example, non-on-demand media data may be television program titles, additional television program information, television programming advertisements, or pay-per-view ordering information. On-demand media data may be, for example, titles or descriptions of on-demand videos or downloadable software.


Non-on-demand media data and on-demand media data are retrieved from separate data sources by, for example, an interactive television application such as an interactive television program guide, or other software running on in-home equipment. The on-demand media data may be provided, for example, in-band or out-of-band from the non-on-demand media or non-on-demand media data. In some embodiments, the on-demand media data may be provided as a continuous or periodic data stream using, for example, a carousel-based approach. In other embodiments, the on-demand media data may be provided using a client-server based approach.


The on-demand media data is automatically retrieved and cached to reduce, for example, system latency or the disruption of the user's viewing experience. Caching the on-demand media data may be staggered in time among users to lessen the peak loads on the network which distributes the on-demand media data. The on-demand media data may be cached, for example, periodically or when the user invokes a particular interface. In some approaches, caching may be predictive. For example, on-demand media data for features accessible to a user from a given display may be cached. In other approaches, the most popular media on demand data may be cached. In still other approaches, the data that is cached may be personalized. For example, user activity may be monitored and the on-demand media may be cached based on the user history. Any other suitable predictive caching may be used.


On-demand media data may be retrieved from cache for display. For example, the on-demand media data may be retrieved from cache and displayed in response to a user indicating a desire to access at least the non-on-demand data in, for example, a non-on-demand media listings display. In some embodiments, the non-on-demand media listings may be displayed along with on-demand media listings, or other content such as panel or banner advertisements.





BRIEF DESCRIPTION OF THE DRAWINGS

Further features, of the invention, its nature and various advantages will become more apparent from the following detailed description of the preferred embodiments, taken in conjunction with the following drawings, in which like reference characters refer to like parts throughout, and in which:



FIG. 1 is a schematic block diagram of an illustrative interactive television system, in accordance with various embodiments of the present invention;



FIGS. 2-6 show illustrative arrangements for the interactive television application equipment of FIG. 1, in accordance with various embodiments of the present invention;



FIG. 7 is an illustrative schematic block diagram of the user television equipment of FIGS. 2-6, in accordance with various embodiments of the present invention;



FIG. 8 is a illustrative schematic block diagram of portions of the illustrative user television equipment of FIG. 7, in accordance with various embodiments of the present invention;



FIG. 9 is a flow diagram illustrative of retrieving, caching, and displaying non-on-demand and on-demand data from different data sources in accordance with various embodiments of the present invention;



FIGS. 10-11 are more detailed flow diagrams of FIG. 9 illustrative, of retrieving, caching, and displaying non-on-demand and on-demand data from different data sources in accordance with various embodiments of the present invention;



FIG. 12 shows an illustrative interactive television application menu display in accordance with various embodiments of the present invention;



FIG. 13 shows an illustrative interactive television application video-on-demand display in accordance with various embodiments of the present invention;



FIG. 14 shows an illustrative interactive television application video-on-demand alphabetical movie listings display in accordance with various embodiments of the present invention;



FIG. 15 shows an illustrative interactive television application video-on-demand individual movie information display in accordance with various embodiments of the present invention;



FIG. 16 shows, an illustrative interactive television application display with video-on-demand listings and television program listing organized by time in accordance with various embodiments of the present invention;



FIG. 17 shows an illustrative interactive television application display with video-on-demand listings and television program listings organized by the sports genre in accordance with various embodiments of the present invention;



FIG. 18 shows an illustrative interactive television application display with video-on-demand listings and television program listings organized by the movie genre in accordance with various embodiments of the present invention;



FIG. 19 shows an illustrative interactive television application display with video-on-demand listings and television program listings organized by the children's genre in accordance with various embodiments of the present invention; and



FIG. 20 shows an illustrative interactive television application display promoting video-on-demand listings and television program listings organized by time in accordance with various embodiments of the present invention.





DETAILED DESCRIPTION OF VARIOUS EMBODIMENTS

Systems and methods for caching for non-on-demand and on-demand media data from multiple sources for use in an interactive television application may be based on any suitable hardware platform or topology. Suitable hardware may include, for example, satellite receiver's, personal computer televisions (PC/TVS), personal computers (e.g., with television tuner cards), cable set-top boxes, or any other suitable hardware.


In some embodiments, an interactive television application, such as an interactive television program guide, home shopping application or other suitable interactive television application, may run on such hardware. Illustrative interactive television program guide systems are described, for example, in Knee et al. U.S. Pat. No. 5,589,692 and Knudson et al. U.S. patent application Ser. No. 09/357,941, filed Jul. 16, 1999, which are hereby incorporated by reference herein in their entireties. Client-server program guide systems are described, for example, in Ellis et al. U.S. patent application Ser. No. 09/374,043, filed Aug. 13, 1999, which is hereby incorporated by reference herein in its entirety. On-line program guide systems are described, for example, in Boyer et al. U.S. patent application Ser. No. 08/938,028, filed Sep. 18, 1997, which is hereby incorporated by reference herein in its entirety.


An illustrative system 100 in accordance with one embodiment of the present invention is shown in FIG. 1. Main facility 102 may provide non-on-demand media data from non-on-demand media data source 124 to interactive application equipment 106 via communications path 108. Non-on-demand data source 124 of main facility 102 may be any suitable computer or computer-based system for generating, storing, or obtaining non-on-demand media data (e.g., manually from an operator, electronically via a computer network or other connection, or via storage media) and putting the data into electronic form for distribution by main facility 102. In some embodiments, non-on-demand media data source 124 may provide application data in addition to the non-on-demand media data. In other embodiments, main facility 102 may have multiple data sources for providing on-demand media data, non-on-demand media data, and other application data.


In some embodiments, application data sources may be located at facilities separate from main facility 102, such as at local information service 110, and have their media data provided to main facility 102 via communications path 114 for localization and distribution. Local information service 110 may contain local data source 112. Local data source 112 may be any suitable computer or computer-based system for generating, storing, or obtaining local information data (e.g., manually from an operator, electronically via a computer network or other connection, or via storage media) and putting the data into electronic form for distribution by main facility 102.


Local information service 110 may be any facility suitable for obtaining data particular to localized region and providing the data to main facility 102 over communications path 114. Local information data may include, for example, local advertisements, local sports information, local news information, or other suitable local information. Local information service 110 may be, for example, a local weather station that measures weather data, a local newspaper that distributes local news information, or any other suitable provider of information. Main facility 102 may aggregate the program guide data and local information data and distribute them to interactive television equipment 106.


Communication paths 108 and 114 may be satellite communications paths, fiber-optic paths, wired communications paths, coaxial cable paths, radio frequency paths, electromagnetic communications paths, microwave communications paths, lightwave paths, Internet paths; a combination of such paths, or any suitable communication paths. Video signals may also be transmitted over paths 108 and 114 if desired.


Main facility 102 may transmit, non-on-demand media data and other application data to interactive application equipment 106 using any suitable approach. For example, main facility 102 may distribute non-on-demand media data periodically, continuously, or with any other suitable frequency. In some approaches, media data may be distributed as files, packets, or as a data stream. Systems in which data is transmitted from a main facility to television distribution facilities using such an approach are described, for example, in Gollahon et al. U.S. patent application Ser. No. 09/332,624, filed Jun. 11, 1999, which is hereby incorporated by reference herein in its entirety. There may be numerous pieces or installations of interactive application equipment 106, although only one is shown in FIG. 1 to avoid over-complicating the drawing.


On-demand media data source 128 may provide on-demand media data, such as video-on-demand information (e.g., titles of on-demand videos, genre information for on-demand videos, additional information for on-demand videos, and ordering information), audio-on-demand information (e.g., titles of on-demand audio media, additional information for on-demand audio media, and ordering information), interactive video game or other application information, stock market information, weather information, sports scores, sports statistics, or other suitable on-demand media information, to interactive application equipment 106 over communications link 130. On-demand media data source 128 may be any suitable computer or computer-based system for generating, storing, or obtaining such on-demand media data (e.g., manually from an operator, electronically via a computer network or other connection, or via storage medial and putting the data into electronic form for distribution. On-demand media data source may also provide on-demand media, such as on-demand videos, audio media, or application software.


Communication path 130 may be a satellite communications path, fiber-optic path, wired communications path, coaxial cable path, radio frequency path, electromagnetic communications path, microwave communications path, lightwave path, Internet path, a combination of such paths, or any suitable communication path. On-demand media may be provided over path 130.


In other embodiments, on-demand media data may be provided to main facility 102 for transmission to interactive application equipment 106. For example, on-demand media data may be generated at an on-demand media data source (not shown), transmitted to main facility 102, and transmitted to distribution facility 116 (illustrated in FIGS. 2-6) of interactive application equipment 106 via communications path 108.


An interactive television application may be implemented on interactive application equipment 106. Illustrative arrangements for interactive application equipment 106 are shown in FIGS. 2-6.


The interactive television application, such as an interactive television program guide, other guidance application, web browser, or other suitable interactive television application, may run on user television equipment 122 using the arrangements of FIG. 2 or FIG. 4, or may run partially on user television equipment 122 and partially on other components of interactive application equipment 106 using a suitable client-server or distributed processing arrangement such as those shown in FIG. 3 or FIG. 5. Distribution facility 116, illustrated in FIGS. 2-6, may be any suitable distribution facility (e.g., a cable system headend, a satellite distribution facility, a-broadcast distribution facility, or any other suitable type of distribution facility), and may have distribution equipment 118. Typically, numerous distribution facilities 116 may be included in FIGS. 2-6.


Distribution equipment 118 of FIGS. 2-6 may be equipment suitable for providing media data (i.e., on-demand media data and non-on-demand media data) and other application data to user television equipment 122 over communications path 120. In FIG. 6, distribution equipment 118 may provide media data, such as program guide data, to personal computer 140 via Internet service system 134 and suitable communications paths 136 and 138.


Distribution equipment 118 of FIGS. 2-6 may include, for example, suitable transmission hardware for distributing media data and other application data on a television channel sideband, in the vertical blanking interval of a television channel, using an in-band digital signal, using an out-of-band digital signal, or by any other suitable data transmission technique. Analog or digital signals for non-on-demand media and on-demand media (e.g., television programs, on-demand movies, on-demand music, etc.) may also be distributed by distribution equipment 118 to user television equipment 122 over communication path 120 on multiple television channels.


In some embodiments, media information may be provided as synchronous metadata. Synchronous metadata is data that is distributed to user television equipment 122 in FIGS. 2-5 or personal computer 146 of FIG. 6 logically at the same time as the media with which it is associated. For example, the synchronous metadata may be supplied contemporaneously with the non-on-demand or on-demand media, or prior to the media data but with information associating it with the data (e.g., identifiers, paths, or any other suitable information). The metadata may be provided in-band, out-of-band, using a carousel-based approach, using a client-server based approach, using localized caching, using a combination of these approaches, or using any other suitable approach.


The metadata may include other types of data. The metadata distributed to user television equipment 122 of FIGS. 2-5 or personal computer 140 of FIG. 6 may include, for example, commands that indicate to the user's in-home equipment (or client applications running on the equipment) that a particular action is to be performed (e.g., overlaying a visual indicator onto the on-demand media). The metadata may include a directory that indicates segments of on-demand media data. In soma approaches, the metadata may be used as markers within the non-on-demand or on-demand media data. For example, the data may include actor interviews, trailers, selected scenes in a movie, music videos, or any other suitable, media data segments. The data segments may be provided along with non-on-demand or on-demand data. Synchronous metadata that is distributed to interactive television applications is described, for example, in U.S. provisional patent application No. 60/239,521, filed Oct. 11, 2000, which is hereby incorporated by reference in its entirety.


Communication path 120 of FIGS. 2-5 and communication paths 136 and 138 of FIG. 6 may have sufficient bandwidth to allow distribution facility 116 or another distribution facility to distribute television programming to user television equipment 122 of FIGS. 2-5 or personal computer 140 of FIG. 6. There are typically multiple pieces of user television equipment 122 associated with communication paths 120 in FIGS. 2-5, although only one piece of user television equipment 118 and communication path 120 are shown in FIGS. 2-5 to avoid over-complicating the drawings. Similarly, there may be multiple personal computers 140 and multiple associated communication paths (FIG. 6), although only one personal computer 140 and communication path 138 are shown in FIG. 6 to avoid over-complicating the drawings. If desired, non-on-demand media data and on-demand media data may be provided over separate communication paths.



FIG. 3 illustrates an arrangement for interactive application equipment 106 in a client-server based or distributed interactive application system. The illustrated client-server based or distributed interactive application systems of FIG. 3 may process non-on-demand media data, on-demand media, data, any suitable combination, thereof, or any other suitable data. In some embodiments, non-on-demand media data source 124 (FIG. 1) may be a server that provides non-on-demand media data via communication paths 108 (FIG. 1) and 120 (FIG. 2) to an application client implemented on user television equipment 122 (FIG. 3-5). Distribution equipment 118, as shown in FIG. 3, may include server 132. Server 132 may use any suitable combination of hardware and software to provide a client-server based application. Server 132 may, for example, run a suitable database engine (e.g., SQL Server by Microsoft) and provide non-on-demand data, on-demand data, or a combination thereof to an application client implemented on user television equipment 122. For example, server 132 may request or otherwise receive on-demand media data from on-demand media data source 128 (FIG. 1). In other approaches, user television equipment may request or otherwise receive on-demand media data from on-demand media data source 128 (FIG. 1). If desired, server 132 may be located at main facility 102, or other location, such as a cable system headend, a broadcast distribution facility, a satellite television distribution facility, or any other suitable type of television distribution facility.


An application client may retrieve application data from server 132 using any suitable client-server based approach. The client may, for example, pass SQL (structured query language) requests as messages to server 132. In another suitable approach, the application client may invoke remote procedures that reside on server 132 using one or more remote procedure calls. Server 132 may execute SQL statements for such invoked remote procedures. In another suitable approach, client objects executed by the application may communicate with server objects executed by server 132 using, for example, an object request broker (ORB).



FIGS. 4-5 show illustrative Internet-based interactive television application systems. As shown in FIG. 4, distribution facility 116 may, for example, include Internet service system 134. Internet service system 134 may be any suitable combination of hardware and software capable of providing application data to the application using an Internet based approach (e.g., the HyperText Transfer Protocol (HTTP)). If desired, Internet service system 134 may be located at a facility that is separate from distribution facility 116, as shown in FIG. 5.


In embodiments where the interactive television application is implemented on user television equipment 122 of interactive application equipment 106 as illustrated in FIG. 4, Internet service system 134 (or other suitable equipment at distribution facility 116 that is connected to Internet service system 134) may provide non-on-demand media data, on-demand media data and other application data to user television equipment 122 via the Internet, or via distribution equipment 118 using any suitable Internet-based approach (e.g., using the HyperText Transfer Protocol (HTTP) over a Transmission Control Protocol/Internet Protocol (TCP/IP) type path). In embodiments where the interactive television application implemented on interactive application equipment 106 is a client-server based application as shown in FIG. 5, server 132 may obtain on-demand media data and other application data from Internet service system 134. The application may also, however, obtain application data from Internet service system 134 via an Internet connection. In other embodiments, non-on-demand media data source 124, on-demand media data source 128, or a combination thereof may provide media data or other application data to user television equipment via Internet service system 134.


In another suitable arrangement, distribution equipment 118 may include computer equipment or other suitable hardware on which a first portion or version of the interactive television application is implemented. A second portion or version of the application may be implemented on user television equipment 122. The two versions or portions of the interactive television application may communicate using any suitable peer-to-peer communications scheme (e.g., messaging, remote function calls, etc.) and perform interactive application functions distributively between distribution facility 116 and user television equipment 122.


Another suitable arrangement in which an on-line application, such as an on-line program guide, may be implemented is on interactive application equipment 106 as shown in FIG. 6. On-line program guide systems are described, for example, in Boyer et al. U.S. patent application Ser. No. 08/938,028, filed Sep. 18, 1997, which is hereby incorporated by reference herein in its entirety. The user may have personal computer 140 on which an application client or web browser is implemented. Personal computer 140 may be connected to Internet service system 134 via path 138, and distribution facility 116 may be connected to Internet service system 134 via path 136. Internet service system 134 may be a communications network or a computer network and may use any suitable combination of computer hardware and software capable of providing an on-line server application or web site. Internet service system 134 is shown as obtaining application data from distribution facility 116. In other suitable approaches, Internet service system 134 may obtain information from other systems such as, for example, main facility 102 (FIG. 1), local information service 110 (FIG. 1), non-on-demand media data source 124 (FIG. 1), on-demand media data source 128 (FIG. 1), or any other suitable source of application data.


An illustrative arrangement for user television equipment 122 is shown in FIG. 7. In some embodiments, user television equipment 122 may receive video or a digital video stream and data from distribution facility 116 (FIGS. 2-6), such as a program distribution facility or some other suitable distribution facility, at input 200. In some embodiments, user television equipment 122 may receive video or a digital video stream and data directly from main facility 102 (FIG. 1). In some embodiments, user television equipment 122 may receive non-on-demand media data from non-on-demand media data source 124 (FIG. 1), on-demand data from on-demand media data source 128 (FIG. 1), or any combination thereof. In still other embodiments, non-on-demand media data, on-demand media data, or a combination thereof may be transmitted from a plurality of media data sources to distribution facility 116 (FIGS. 2-6), which may transmit the non-on-demand data and the on-demand data to user equipment 122.


During normal television viewing, a user may tune set-top box 202 to a desired television channel. The signal for that television channel may then provided at video output 218. The signal supplied at output 218 is typically either a radio-frequency (RF) signal on a predefined channel (e.g., channel 3 or 4), or an analog demodulated video signal, but may also be a digital signal provided to television 212 on an appropriate digital bus (e.g., A bus using the Institute of Electrical and Electronics Engineers, (IEEE) 1394 standard (not shown)). The video signal at output 218 may be received by optional secondary storage device 210.


The interactive television application may run on set-top box 202, television 212 (if television 212 has suitable processing circuitry and memory), a suitable analog or digital receiver connected to television 212, or digital storage device 208 if digital storage device 208 has suitable processing circuitry and memory. The interactive television application may also run cooperatively on a suitable combination of these devices. Interactive television application systems in which a cooperative interactive television program guide application runs on multiple devices are described, for example, in Ellis U.S. patent application Ser. No. 09/186,598, filed Nov. 5, 1998, which is hereby incorporated by reference herein in its entirety.


Secondary storage device 210 may be any suitable type of analog or digital program storage device or player (e.g., a videocassette recorder (VCR), a personal video recorder (PVR), a digital versatile disc (DVD) player, etc.). Program recording and other features may be controlled by set-top box 202 using control path 216. If secondary storage device 210 is a videocassette recorder or a personal video recorder, for example, a typical control path 216 may involve the use of an infrared transmitter coupled to the infrared receiver in the recorder that normally accepts commands from a remote control such as remote control 214. Remote control 214 may be used to control set-top box 202, secondary storage device 210, and television 212.


At least a portion of on-demand data may be cached in memory 204. In some embodiments, non-on-demand media data and other application data may also be cached in memory 204.


If desired, a user may record programming (e.g., movies, television programs, sporting events, any combination thereof, etc.) in digital form on digital storage device 208. Digital storage device 208 may be a writeable optical storage device (such as a DVD player capable of handling recordable DVD discs), a magnetic storage device (such as a disk drive or digital tape), or any other digital storage device. Interactive television program guide systems that have digital storage devices are described, for example, in Hassell et al. U.S. patent application Ser. No. 09/157,256, filed Sep. 17, 1998, which is hereby incorporated by reference herein in its entirety. Digital storage device 208 may cache on-demand media data.


Digital storage device 208 may be contained in set-top box 202 or it can be an external device connected to set-top box 202 via an output port and appropriate interface. If necessary, processing circuitry in set-top box 202 formats the received video, audio and data signals into digital file format. The file format may be an open file format such as the Moving Picture Experts Group (MPEG) MPEG-2 standard or the Moving Joint Photographic Experts Group (MJPEG) standard. The resulting data may be streamed to digital storage device 208 via an appropriate bus (e.g., a bus using the Institute Electrical and Electronics Engineers (IEEE) 1394 standard), and stored on digital storage device 208. In another suitable approach, an MPEG-2 data stream or series of files may be received from distribution equipment 122 (FIGS. 2-6) and stored.


Television 212 may receive video signals from secondary storage device 210 via communications path 220. The video signals on communications path 220 may either be generated by secondary storage device 210 when playing back a prerecorded storage medium, (e.g., a videocassette or a recordable digital video disc), by digital storage device 208 when playing back a pre-recorded digital medium, may be passed through from set-top box 202, may be provided directly to television 212 from set-top box 202 if secondary storage device 210 is not included in user television equipment 122 (FIGS. 2-5), or may be received directly by television 212. During normal television viewing, the video signals provided to television 212 may correspond to the desired channel to which a user has tuned with set-top box 202. Video signals may also be provided to television 212 by set-top box 202 when set-top box 202 is used to play back information stored on digital storage device 208.


Set-top box 202 may have memory 204. Memory 204 may be any memory or other storage device, such as a random access memory (RAM), read only memory (ROM), flash memory, a hard disk drive, a combination of such devices, or any memory suitable for storing application instructions and application data for use by the interactive application. At least a portion of non-on-demand data, on-demand data, or a combination thereof may be automatically cached in memory 204. Caching on-demand media data may reduce or eliminate the latency in displaying on-demand media data on television 212, and may reduce the resource load of a distribution network, depending on the chosen system implementation.


Set-top box 202 may have communications device 206 for communicating directly with distribution equipment 118 (FIGS. 2-6), server 132 (FIGS. 3 and 5) Internet service system 134 (FIGS. 4-6) or, in some embodiments, non-on-demand media data source 124 (FIG. 1) or on-demand media data source 128 (FIG. 1), over a suitable communication paths. Communications device 206 may be a modem (e.g., cable modem, telephone modem, digital subscriber line (DSL) modem, integrated service digital network (ISDN) modem, or any suitable analog or digital modem), network interface card (e.g., an Ethernet card, etc.), or other suitable communications device. Communications device 206 may also be a personal computer with an Internet connection in, for example, the arrangement shown in FIG. 6. Television 212 may also have such a suitable communications device if desired. In an alternative approach, user television equipment 122 (FIGS. 4-5) may communicate with Internet service system 134 (FIGS. 4-5) via distribution equipment 118 using a suitable return path.



FIG. 8 is a illustrative schematic block diagram of portions of the user television equipment of FIG. 7, in accordance with various embodiments of the present invention. Application data 200 from distribution facility 116 (FIGS. 2-6) may be received by control circuitry 300 of user television equipment 122 (FIGS. 2-5) or personal computer 140 (FIG. 6). The functions of control circuitry 300 may be integrated into an advanced television receiver, personal computer television (PC/TV), or any other suitable arrangement. If desired, a combination of such arrangements may be used.


User television equipment 122 of FIG. 8 may also have digital storage device 312 and secondary storage device 314 for recording media. Secondary storage device 314 may be any suitable type of analog or digital program storage device (e.g., a videocassette recorder (VCR), a personal video recorder (PVR), a digital versatile disc (DVD), etc.). Program recording and other features may be controlled by control circuitry 300. Digital storage device 312 may be, for example, a writeable optical storage device (such as a DVD player capable of handling recordable DVD discs), a magnetic storage device (such as a disk drive or digital tape), or any other digital storage device. In some embodiments, digital storage device 312 may cache on-demand media data.


User television equipment 122 may also have memory 302. Memory 302 may be any memory or other storage device, such as a random access memory (RAM), read only memory (ROM), flash memory, a hard disk drive, a combination of such devices, etc., that is suitable for storing application instructions and application data for use by control circuitry 300. Memory 302 may also store cached on-demand media data for use by the interactive television application.


User television equipment 122 of FIG. 8 may also have communications device 310 for supporting communications between equipment 122 and distribution equipment 118 (FIGS. 2-6), server 132 (FIGS. 3 and 5), Internet service system 134 (FIGS. 4-6) or, in some embodiments on-demand media data source 124 (FIG. 1) or non-on-demand media source 128 (FIG. 1) via suitable communication paths. Communications-device 310 may be a modem (e.g., a cable modem, digital subscriber line (DSL) modem, telephone modem, integrated services digital network (ISDN) modem, or any suitable analog or digital modem), network interface card (e.g., an Ethernet card, Token ring card, etc.), or other suitable communications device.


A user may control the operation of user television equipment 122 with user input device 304. User input device 304 may be a pointing device, wireless remote control, keyboard, touch-pad, voice recognition system, or any other suitable user input device. To watch television, a user instructs control circuitry 300 to display a desired television channel on display device 308. Display device 308 may be any suitable television, monitor, or other suitable display device. To access the functions of the application, a user may instruct the application to generate a main menu or other desired display for display on display device 308. To access sound, a user may instruct control circuitry 300 to provide audio media on audio device 306. Audio device 306 may be part of display device 308, or may be separate.



FIG. 9 is a flow diagram illustrating process 400 for retrieving and caching data from multiple data sources in accordance with certain aspects of the present invention. As shown, non-on-demand data may be retrieved from a non-on-demand media data source at step 402. For example, in some embodiments an interactive television application may retrieve non-on-demand data from non-on-demand media data source 124 (FIG. 1) directly or via distribution facility 116 (FIGS. 2-6) and suitable communications paths. It may not be necessary for user equipment 122 (FIGS. 2-5) or personal computer 140 (FIG. 6) to request, non-on-demand data from a data source. Rather, a non-on-demand media data source may periodically send non-on-demand data to user television equipment 122 (FIGS. 2-5) or personal computer 140 (FIG. 6). In some embodiments, non-on-demand data may also be stored in cache memory.


On-demand media data may be automatically retrieved from an on-demand media data source at step 404. For example, user television equipment 122 may retrieve on-demand data from non-on-demand media data source 124 (FIG. 1) directly or via distribution facility 116 and suitable communications paths. It may not be necessary for user equipment 122 to request on-demand data from a data source. Rather, an on-demand media data source may periodically send on-demand data to user television equipment 122 or distribution facility 116.


The on-demand media data may be automatically cached on user television equipment after retrieval from the on-demand media data source at step 406. On-demand media information may be cached, for example, in memory 204 (FIG. 7) or memory 302 (FIG. 8) or digital storage device 208 or 312. Caching the on-demand media data may be staggered in time among users to lessen the peak loads an the network which distributes the on-demand media data. For example, distribution facility 116 (FIGS. 2-6) may distribute cache schedules from non-on-demand media data source 124 (FIG. 1) or on-demand media data source 128 (FIG. 1) to user television equipment 122 (FIGS. 2-5) or personal computer 140 (FIG. 6) that indicate to the interactive television application when on-demand media data is to be cached. In some embodiments, on-demand media data may be predictively cached in order to further reduce latencies. For example, on-demand media data which is commonly accessed, or which is likely to be accessed by the user, such as features accessible to a user from a given display, may be cached. In other approaches, the most popular media on demand data may be cached. In still other approaches, the data that is cached may be personalized. For example, user activity may be monitored and the on-demand media may be cached based on the user history. Any other suitable predictive caching may be used.


At step 408, the on-demand media data may be retrieved from cache and displayed in response to a user indication to access at least the on-demand media. For example, on-demand media data may be provided in a display with only on-demand media data, such as a video-on-demand listings display. In other approaches, on-demand media data may be displayed with non-on-demand media data. Other application data, or any suitable combination thereof.


Non-on-demand media data may be, displayed in response to a user indication to access at least the non-on-demand data at step 410. For example, non-on-demand media data may be provided in a display with only non-on-demand media data, such as a television program listings display. In other approaches, non-on-demand media data may be displayed with on demand media data, other application data, or any suitable combination thereof.



FIGS. 10-11 are flow diagrams illustrating process 500 for providing non-on-demand data and on-demand data in accordance with various embodiments of the present invention. Display television program step 502 may display television programming, for example, on user television equipment 122 (FIGS. 2-5) or personal computer 140 (FIG. 6). In some embodiments, equipment 122 (FIGS. 2-5) may continually check for user input (e.g., commands from remote control 214 illustrated in FIG. 7). View media information test 504 may determine whether a user has indicated to have the interactive television application display media information. Media information may be non-on-demand media offerings, on-demand media offerings, a combination thereof, or any suitable media information. If the user does not select to enter the interactive television application, the television program will continue to be displayed at step 502. If the user does select an option to view media information at test 504, an interactive television application menu may be displayed (e.g., display 600 illustrated in FIG. 12).


After a user has selected to view media information, test 506 may determine whether the corresponding media data is in located in the cache of the interactive television application system memory 204, digital storage device 208, secondary storage device 210, etc. illustrated in FIG. 7). In some embodiments, the media data stored in cache may be on-demand media data. If the requested data is not in the cache, step 512 may determine whether a connection exists between the interactive television application system (e.g., user television equipment 122 illustrated in FIGS. 2-5) and a data source (e.g., distribution facility 116, non-on-demand media data source 124, on-demand media data source 128, etc, illustrated in FIGS. 1-6) that may provide the requested media data. If it is determined at test 506 that the requested media data is in cache, the data may be retrieved at step 508. In some embodiments, media data that is commonly accessed, or likely to be accessed, may be cached to minimize latency in displaying the media data and reducing the load on transmission system resources. For example, on-demand media data for features accessible to a user from a given display may be cached. In other approaches, the most popular media on demand data may be cached. In still other approaches, the data that is cached may be personalized. For example, user activity may be monitored and the on-demand media may be cached based on the user history. Any other suitable predictive caching may be used.


Next, test 510 may determine whether it is necessary to retrieve additional media data from a data source (e.g., non-on-demand media data source 124 or on-demand media data source 128 (FIG. 1)) in order to display the media data requested by the user. In some embodiments, the media data to be retrieved may be on-demand media data. In some embodiments, media data that is commonly accessed, or likely to be accessed, may be retrieved to minimize latency in the display of media data. If it is determined that media data does not need to be retrieved, the requested media data (e.g., television program listings, video-on-demand listings, interactive video game listings, audio-on-demand listings, weather information, etc.) may be displayed or otherwise provided to the user at step 518.


If it is determined that media data needs to be retrieved from a data source, test 512 may determine whether a connection between the interactive television application system (e.g., user equipment 122 illustrated in FIGS. 2-5, personal computer 140 illustrated in FIG. 6, etc.) and a data source (e.g., on-demand media data source 128 of FIG. 1) has been established. A connection may be established at step 514 if there is no pre-existing connection. In some embodiments, communications device 206 (FIG. 7) may be used to establish a connection, between user television equipment 122 and distribution facility 116 via a suitable communications path. After a connection has been established at step 514, media information may be retrieved from a data source at step 516 (FIG. 11), and displayed at step 518 (FIG. 11). In some embodiments, the retrieved information may be on-demand media data.


Test 520, as illustrated in FIG. 11, may continually check whether the user would like to return to the television program. In some embodiments, user television equipment 122 (FIGS. 2-5) may receive a user indication to return to television programming from remote control 214 as illustrated in FIG. 7. If the user does not wish to return to the television program, the media information may continue to be displayed at step 518. If the user does select to return to television programming, the television program may be displayed at step 522. In some embodiments, media information and television programming may be displayed at the same time.



FIG. 12 shows an illustrative a menu display 600 for an interactive guidance application in accordance with one embodiment of the present invention. As shown, display 600 may include panel advertisements 602, banner advertisement 604, viewer services options 606, program listings options 608, cable showcase options 610, and highlight region 612.


Panel advertisements 602 may be used to advertise, for example, programs, products or promotions to a user. In some embodiments, users may select panel advertisements 602 in order to obtain more information regarding the program, product or promotional offer. In some embodiments, advertisements 602 may also be targeted, for example, towards a user's viewing habits, selections, purchases, or by using any suitable targeting criteria. Panel advertisements may appear in displays illustrated in FIGS. 12-19.


Banner advertisement 604 may used to advertise, for example, a special event or promotion. In some embodiments, users may select banner advertisement 604 in order to obtain more information regarding the special event or promotion. In some embodiments, advertisement 604 may also be targeted, for example, towards a user's viewing habits, selections, purchases, or by using any suitable targeting criteria. Banner advertisements may appear in displays illustrated in FIGS. 12-19.


In response to a user selecting an advertisement 602 or 604 that promotes non-on-demand media or products the interactive application may, for example, retrieve information for the program or product from memory by establishing a client/server session between user equipment 122 and non-on-demand media data source 122 (FIG. 1). In response to a user selecting an advertisement 602 or 604 that promotes on-demand media, the interactive application may, for example, determine whether data for the advertised on-demand media has been cached and, if so, retrieve information for the on-demand media from cache and provide it in a suitable display. When data for the advertised on-demand media is not cached, the interactive television application may, for example, establish a client/server session between user equipment 122 and on-demand media data source 122 (illustrated in FIG. 1) and retrieve data for display. The data for the on-demand media may have been cached based on a schedule for displaying the advertisement, may have been cached at the time the advertisement was displayed and made available for user selection, or based on any other suitable criteria.


Display 600 may also contain viewer services options 606. Suitable viewer services options 606 may include an option to access features or information of a personal video recorder, an option to access messages (e.g., e-mail messages, messages provided from television system service provider, etc.), an option to adjust parental control settings (e.g., blocked channels or ratings, etc.), an option to set favorites (e.g., favorite channels, etc.), an option to set up the program guide or user equipment, an option to exit display 600, or any suitable option.


Display 600 may also contain program listings options 608. Options 608 may include an option to view program listings organized by time, organized by channel, organized by genre (e.g., sports, children, etc.), or by any other suitable organization. Options 608 may also include an option to search for programs of interest (e.g., using keywords, based on a title search, bathed on an actor search, etc.).


Cable showcase options 610 may include, for example, video-on-demand program listings option, pay-per-view program listings option, pay-per-view event listings option, premium channel listings option, music channel listings option, adult program listings option, or any other suitable options.


Highlighted region 612 may be used to indicate a user's selection of an option in screen 600. In some embodiments of the invention, set top box 202 (FIG. 7) may receive a user command from remote control 214 (FIG. 7) to move highlighted region 612 within display 600 or within any of the displays illustrated in FIGS. 12-20.


In response to a user selecting the VOD (video-on-demand) option shown in display 600 of FIG. 12, the interactive guidance application may present the user with a display such as display 620 of FIG. 13. As shown, VOD display 620 may include various options that allow the user to view VOD program listings organized by different genres. The genre options may include: alphabetical movies listings option 622, new releases option 624, specials option 626, cable picks option 628, coming soon option 630, movie saver option 632, adults only option 634, family option 636, action option 638, drama option 640, comedy option 642, kids option 644, thrillers option 646, classics option 648, or any other suitable option. In some embodiments, the different genre options may be on-demand media data retrieved and cached from an on-demand data source (e.g., on-demand media data source 128 illustrated in FIG. 1). For example, the labels for display options and other related information may be cached when the user accesses display 600 (FIG. 12) or selects VOD option 612 (FIG. 12) or periodically or at other suitable times.


In response to the user selecting alphabetical movie listings option 622 of display 620 for example, the interactive television application may present display 650 of FIG. 14 in which video-on-demand options are listed alphabetically. As shown, display 650 may include alphabetical range display area 652, alphabetical range, arrows 654, list arrows 656, movie listings 658, and highlighted region 660. During display generation, the interactive television application may examine its cache (e.g., memory 204 (FIG. 7) or memory 302 (FIG. 8)) to determine whether the necessary on-demand media data, in this example video-on-demand titles, has been cached. For example, if alphabetical movie title data is commonly accessed, or likely to be accessed, the interactive television application system may have retrieved and cached the data automatically when the user accessed display 620 (FIG. 13). In another example, the system may cache the first few titles (e.g., one page of listings) in each alphabetical range. When the data has been cached, the interactive television application may retrieve the information for display. Otherwise, the interactive television application may retrieve the on-demand media data from an on-demand media data source (e.g., on-demand media data source. 128 (FIG. 1)).


The alphabetical range of movies covered by display 650 may be shown in region 652. In some embodiments, only a portion of the offerings for video-on-demand may be shown on display 650 as indicated by arrows 654. In some embodiments, set-top-box 202 (FIG. 7) may receive a user command from remote control 214 (FIG. 7) to navigate forwards or backwards in the alphabetical list. Similarly, set-top box 202 may receive a user command from remote control 214 to navigate though video-on-demand movie listings 658 of FIG. 14. In some embodiments, the system may retrieve and cache detailed information for each of the titles on the display, each time the display is updated to show a different set of on-demand titles. This may allow the system to display detailed information about the selection when the user selects it, without having to wait for data to be retrieved from on-demand media source.


The user may select an individual video-on-demand movie title from video-on-demand movie listings 658 using highlighted region 660. In some embodiments, a display for an individual video-on-demand movie, such as display 760 illustrated in FIG. 15, may be presented to the user. Display 670 of FIG. 15 may include title 672, which may be the title of the selected video-on-demand listing. Rating 674 may indicate to the user the rating for the selected video-on-demand movie (e.g., G, PG, PG-13, R, etc.). Run-time 676 may indicate the length of the video-on-demand selection in, for example, hours and minutes. Cost 678 may indicate the cost in viewing the video-on-demand selection. In some embodiments, a user may accept the costs and view, the selected video-on-demand title by selecting yes button 680. Alternatively, the user may decline ordering the video-on-demand title by selecting no button 682. In some embodiments, the user may select an option to preview the video-on-demand selection (e.g., view a clip, trailer, or other promotional video segment) before making a purchasing decision. Information area 684 may provide information related to the video-on-demand selection, including the title, release date, rental period, viewing period, movie summary, actor/actress names, producer names, production studio name, or any other suitable information. In some embodiments, the information presented in display 670 may be retrieved from cache, such that the information related to the selection may be presented when the user selects it. The title, rating, cost, run-time, release date, rental period, viewing period, movie summary, actor/actress names, producer names, production studio name, or any other suitable information may be previously stored in cache and retrieved for display upon indication by the user to view an individual video-on-demand selection. Thus, the user may not experience delays that may be associated with having to retrieve the data from a on-demand media data source.


In some embodiments, the interactive television application system may combine video-on-demand program listings with television program listings on the same display. In display 700 of FIG. 16, for example, program listings 702 may be organized by time. The interactive television application may present display 700 in response to, for example, the user selecting the by time option from program listings options 608 (FIG. 12). During display generation process, the interactive television application may examine its cache (e.g., memory 204 (FIG. 7) or memory 302 (FIG. 8)) to determine whether the necessary on-demand media data, in this example video-on-demand titles 704, has been cached. For example, if listings for particular time slots are commonly accessed, or likely to be accessed, and if particular VOD titles are to be promoted for those time slots, the interactive television application system may have retrieved and cached the data automatically when the user accessed display 600 (FIG. 12) or when the user selected by time option 608 (FIG. 12) or at some previous time. When the data has been cached, the interactive television application may retrieve the information for display. Otherwise, the interactive television application may retrieve the on-demand media data from an on-demand media data source (e.g., on-demand media data source 128 (FIG. 1)). The non-on-demand media data for television program listings 706 may be retrieved from a non-on-demand media data source (e.g., non-on-demand media data source 124 (FIG. 1)).


In this example, non-on-demand program listings 706 correspond to programs that may be airing during the time indicated in area 708 (e.g., 12:30 PM in the example of FIG. 16). Arrows 710 may indicate to the user that program listings for other times may be available. In some embodiments, set-top box 202 (FIG. 7) may receive user commands from remote control 214 (FIG. 7) to scroll through listings offered at different times. Video-on-demand media indicated by program listings 704 may be available for on-demand viewing during the time indicated in area 708, or at any time in a true on-demand approach. The video-on-demand program listings may be provided in display 700 to promote these offerings.


More television program listings and video-on-demand program listings may be available than may fit on display 700. Arrows 712 may indicate to the user that more listings are available by scrolling. In some embodiments, set-top box 202 (FIG. 7) may receive user commands from remote control 214 (FIG. 7) to scroll through the list of program listings 702. As the user scrolls through additional pages of listings for a time period or to listings for other time periods, additional non-on-demand listings and on-demand listings may be retrieved from the cache or retrieved from a remote server.


When screen 700, or any other screen shown in FIGS. 12-20, is displayed, the interactive television application may continue to play the audio track from the currently tuned television program or other non-on-demand or on-demand media. Alternatively, the interactive television application may reduce the size of the video track, and show it at the same time as any of the display screens. In another alternative, on-demand data or non-on-demand data may be overlaid on top of the video track. Opening a session with the on-demand media server or other server may require the interactive television application to use the tuner in the set-top, thus losing the audio or video. Therefore, it is highly desirable to retrieve data from the cache for the most common screens, and for any screens that simultaneously show video and listings. On screens that show both non-on-demand listings and on-demand listings, the user may not expect to lose the video connection, and also may be less willing to experience a delay to retrieve on-demand listings.



FIG. 17 shows an illustrated interactive television application display 720 in which video-on-demand program listings 724 and television program listings 726 may be organized by the sports genre in accordance with one embodiment of the present invention. The interactive television application may display 720 in response to the user selecting the sports option of program listings options 608 in display 600 of FIG. 12. During display generation process, the interactive television application may examine its cache (e.g., memory 204 (FIG. 7) or memory 302 (FIG. 8)) to determine whether the necessary on-demand media data, in this example video-on-demand titles 724, has been cached. For example, if listings for sports media are commonly accessed, or likely to be accessed, the interactive television application system may have retrieved and cached the data automatically when the user accessed display 600 (FIG. 12) or when the user selected sports option 608 (FIG. 12) or at other earlier time. When the data has been cached, the interactive television application may retrieve the information for display. Otherwise, the interactive television application may retrieve the on-demand media data from an on-demand media data source (e.g., on-demand media data source 128 (FIG. 1)). The non-on-demand media data for television program listings 726 may be retrieved from a non-on-demand media data source (e.g., non-on-demand media data source 124 (FIG. 1)) or the local cache.


Arrows 730 may indicate that a user may scroll through times to view program listings. In some embodiments, set-top box 202 (FIG. 7) may receive user commands from remote control 214 (FIG. 7) to scroll through program listings 722 for different times. In some embodiments, display 720 may not display all of the available television program listings 726 and video-on-demand listings 724. As indicated by arrows 732, a user may scroll through sports listings 722 for a given time displayed in time area 728. In some embodiments, set-top box 202 (FIG. 7) may receive user commands from remote control 214 (FIG. 7) to scroll through program listings 722.



FIG. 18 shows an illustrative interactive television application display 750 in which video-on-demand program listings 754 and television program listings 756 of combined listings 752 are organized by the movie genre in accordance with one embodiment of the present invention. The interactive television application may provide display 750 in response to, for example, the user selecting the movies option from program listings option 608 of display 600 of FIG. 12. During display generation process, the interactive television application may examine its cache (e.g., memory 204 (FIG. 7) or memory 302 (FIG. 8)) to determine whether the necessary on-demand media data, in this example video-on-demand titles 754, has been cached. For example, if listings for movies are commonly accessed, or likely to be accessed, the interactive television application system may have retrieved and cached the data automatically when the user accessed display 600 (FIG. 12) or when the user selected movie option 608 (FIG. 12) or at other earlier time. When the data has been cached, the interactive television application may retrieve the information for display. Otherwise, the interactive television application may retrieve the on-demand media data from an on-demand media data source (e.g., on-demand media data source 128 (FIG. 1)). The non-on-demand media data for television program listings 756 may be retrieved from a non-on-demand media data source (e.g., non-on-demand media data source 124 (FIG. 1)) or from the cache.


Combined listings 752 may be organized according to time. Area 758 may indicate the time that programs in combined listings 752 may be aired. Arrows 760 may indicate a user may scroll though times in order to view combined listings for different times. In some embodiments, set-top box 202 (FIG. 7) may receive user commands from remote control 214 (FIG. 7) to view combined listings 752 for different times indicated in area 758. In some embodiments, all available television program listings 756 and video-on-demand listings 754 may not be shown on display 750 for a given time shown in area 758. Arrows 762 may indicate that more listings are available. In some embodiments, set-top box 202 (FIG. 7) may receive user commands from remote control 214 (FIG. 7) to scroll through combined listings 752.



FIG. 19 shows an illustrated interactive television application display 800 in which video-on-demand program listings 804 and television program listings 806 of combined listings 802 are organized by the children's genre in accordance with one embodiment of the present invention. The interactive television application may provide display 800 in response to, for example, a user selecting the children's genre option from program listings option 608 of display 600 of FIG. 12. During display generation process, the interactive television application may examine its cache (e.g., memory 204 (FIG. 7) or memory 302 (FIG. 8)) to determine whether the necessary on-demand media data, in this example video-on-demand titles 804, has been cached. For example, if listings for children's programming are commonly accessed, or likely to be accessed, the interactive television application system may have retrieved and cached the data automatically when the user accessed display 600 (FIG. 12) or when the user selected children option 608 (FIG. 12) or at other earlier time. When the data has been cached, the interactive television application may retrieve the information for display. Otherwise, the interactive television application may retrieve the on-demand media data from an on-demand media data source (e.g., on-demand media data source 128 (FIG. 1)). The non-on-demand media data for television program listings 806 may be retrieved from a non-on-demand media data source (e.g., non-on-demand media data source 124 (FIG. 1)) or from the cache.


Combined listings 802 may be organized according to time. Area 808 may indicate the time that the combined listings 802 shown in display 800 may be aired. Arrows 810 may indicate a user may scroll though times to view different combined listings. In some embodiments, set-top box 202 (FIG. 7) may receive user commands from remote control 214 (FIG. 7) to scroll through times in area 808 to view different combined listings. In some embodiments, arrows 812 may indicate that additional television programs and video-on-demand listings may be viewed by a user. In some embodiments, set-top box 202 (FIG. 7) may receive user commands from remote control 214 (FIG. 7) to scroll through program listings 802.


The listings in the displays (e.g., displays illustrated in FIGS. 12-20) provided by the interactive television application system may be color-coded or otherwise visually distinguished to clarify what type of programming is being offered. For example, in display 800 of FIG. 19, video-on-demand options 804 may be colored in red to indicate the options are movies and television program options 806 may be displayed in orange to indicate that the options are regular children's television programs.



FIG. 20 shows illustrates a recommended viewing display 820 that may be provided to promote video-on-demand programs and television programs in accordance with one embodiment of the present invention. The interactive television application may provide a display such as display 820 of FIG. 20 in response to, for example, a user selecting cable picks option 628 of FIG. 13. During display generation process, the interactive television application may examine its cache (e.g., memory 204 (FIG. 7) or memory 302 (FIG. 8)) to determine whether the necessary on-demand media data, in this example video-on-demand titles, has been cached. For example, if listings for cable picks are commonly accessed, or likely to be accessed, the interactive television application system may have retrieved and cached the data automatically when the user accessed display 620 (FIG. 13) or when the user selected cable picks option 628 (FIG. 13) or at some other previous time. When the data has been cached, the interactive television application may retrieve the information for display. Otherwise, the interactive television application may retrieve the on-demand media data from an on-demand media data source (e.g., on-demand media data source 128 (FIG. 1)). The non-on-demand media data for television program listings may be retrieved from a non-on-demand media data source (e.g., non-on-demand media data source 124 (FIG. 1)) or from the cache.


Display 820 of FIG. 20 may contain cable picks options 822, which is are listings for programming that is being promoted by the operator of a distribution facility (e.g., distribution facility 116 illustrated in FIGS. 2-6) or other suitable entity. The operator may desire to promote popular video-on-demand offerings, programs on premium channels, pay-per-view programming, special events, regular television programs, or any suitable programming.


Combined listings 822 may be organized according to time. Area 826 may indicate the time for listings 822. Arrows 828 may indicate a user may scroll though times to view different combined listings. Arrows 830 may indicate that more listings are available than are shown on display 820. In some embodiments, set-top box 202 (FIG. 7) may receive user commands from remote control 214 (FIG. 7) to scroll through combined listings 822 with highlighted region 824.


Icons may be provided on the listings in any of the listings screens illustrated in FIGS. 12-20. As illustrated in FIG. 20, a check icon 832 may be used to indicate that a pay-per-view program has been ordered or that a reminder has been set for a non-pay-per-view program. As illustrated in FIG. 20, a check icon may be used to indicate that a video-on-demand program has been purchased. Lock icon 834 may be used to indicate when a program has been blocked using the program guide's parental control functions. When the user selects Search from the Program Listings options 608 on display 600 of FIG. 12, the interactive television application may allow the user to perform a search of program listings based on keywords, program title, actors, etc. The interactive television application may search both non-on-demand data and on-demand data for media that matches the specified search criteria. The results of both searches may be combined in a single screen, and titles for both types of media may be intermixed. If desired, the interactive television application may limit the search to only data that is currently cached, to allow a quicker search. Alternatively, the user may be given the option to either search only the cache or to search all data available from the cache, the on-demand server, and the non-on-demand server.


Thus, it is seen that systems and methods for retrieving non-on-demand and on-demand media data have been provided. Persons skilled in the art will appreciate that the present invention can be practiced by other than the described embodiments, which are presented for the purposes of illustration rather than of limitation, and the present invention is limited only by the claims which follow.

Claims
  • 1. A method for caching media data for use in an interactive media application implemented at least partially on user equipment, in which media data is provided by a media data source, comprising: automatically retrieving with the interactive media application, media data from the media data source;automatically caching the media data in a memory of the user equipment, wherein the media data is selectively cached based on one of popularity of the media data and features accessible to a user from a current display; anddisplaying the cached media data in response to a user indication to access the media data.
  • 2. The method of claim 1, wherein the media data is first media data, further comprising: receiving a user indication to access second media data;determining whether the second media data is cached in the memory of the user equipment;in response to determining the second media data is cached, displaying the cached second media data; andin response to determining the second media data is not cached, retrieving the second media data from the media data source and displaying the retrieved second media data.
  • 3. The method of claim 2, wherein the second media data corresponds to content promoted in an advertisement.
  • 4. The method of claim 1, wherein the media data is on-demand media data, and wherein the media data source is an on-demand media data source.
  • 5. The method of claim 1, wherein automatically retrieving comprises retrieving media data from multiple media data sources.
  • 6. The method of claim 1, wherein automatically retrieving comprises retrieving the media data periodically.
  • 7. The method of claim 1, wherein automatically retrieving comprises retrieving the media data when the user invokes an interface of the interactive media application.
  • 8. The method of claim 1, wherein the media data is one of program data, genre data, interactive media application software data, video-on-demand data, audio-on-demand data, interactive video game data, weather data, sports statistics data and stock market data.
  • 9. The method of claim 8, wherein the video-on-demand data comprises at least one of a title, rating, cost, run-time, release date, rental period, viewing period, movie summary, actor/actress names, producer names, and production studio name.
  • 10. A system for caching media data for use in an interactive media application implemented at least partially on user equipment, in which media data is provided by a media data source, comprising: control circuitry configured to: automatically retrieve media data from the media data source;automatically cache the media data in a memory of the user equipment, wherein the media data is selectively cached based on one of popularity of the media data and features accessible to a user from a current display; anddisplay the cached media data in response to a user indication to access the media data.
  • 11. The system of claim 10, wherein the media data is first media data, and wherein the control circuitry is further configured to: receive a user indication to access second media data;determine whether the second media data is cached in the memory of the user equipment;in response to determining the second media data is cached, display the cached second media data; andin response to determining the second media data is not cached, retrieve the second media data from the media data source and display the retrieved second media data.
  • 12. The system of claim 11, wherein the second media data corresponds to content promoted in an advertisement.
  • 13. The system of claim 10, wherein the media data is on-demand media data, and wherein the media data source is an on-demand media data source.
  • 14. The system of claim 10, wherein the control circuitry is configured to automatically retrieve media data by retrieving media data from multiple media data sources.
  • 15. The system of claim 10, wherein the control circuitry is configured to automatically retrieve media data by retrieving the media data periodically.
  • 16. The system of claim 10, wherein the control circuitry is configured to automatically retrieve media data by retrieving the media data when the user invokes an interface of the interactive media application.
  • 17. The system of claim 10, wherein the media data is one of program data, genre data, interactive media application software data, video-on-demand data, audio-on-demand data, interactive video game data, weather data, sports statistics data and stock market data.
  • 18. The system of claim 17, wherein the video-on-demand data comprises at least one of a title, rating, cost, run-time, release date, rental period, viewing period, movie summary, actor/actress names, producer names, and production studio name.
  • 19. A method for caching media data for use in an interactive media application implemented at least partially on user equipment, in which media data is provided by a media data source, comprising: automatically retrieving with the interactive media application, media data from the media data source;automatically caching the media data in a memory of the user equipment, wherein the media data is selectively cached based on a user history; anddisplaying the cached media data in response to a user indication to access the media data.
  • 20. The method of clam 19, further comprising: monitoring user activity on the user equipment; andgenerating the user history based on the monitored user activity.
CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No. 09/974,666, filed Oct. 9, 2001, now allowed, which claims the benefit of U.S. Provisional Application Nos. 60/239,377 and 60/270,351, filed on Oct. 11, 2000 and Feb. 21, 2001, now expired, respectively. Each of these prior Applications is hereby incorporated by reference in its entirety.

US Referenced Citations (291)
Number Name Date Kind
4355415 George et al. Oct 1982 A
4488179 Krüger et al. Dec 1984 A
4602279 Freeman Jul 1986 A
4694490 Harvey et al. Sep 1987 A
4704725 Harvey et al. Nov 1987 A
4706121 Young Nov 1987 A
4718107 Hayes Jan 1988 A
4745549 Hashimoto May 1988 A
4751578 Reiter et al. Jun 1988 A
4787063 Muguet Nov 1988 A
4847698 Freeman Jul 1989 A
4857999 Welsh Aug 1989 A
4908707 Kinghorn Mar 1990 A
4930158 Vogel May 1990 A
4959720 Duffield et al. Sep 1990 A
4963994 Levine Oct 1990 A
4965825 Harvey et al. Oct 1990 A
4977455 Young Dec 1990 A
5027400 Baji et al. Jun 1991 A
5038211 Hallenbeck Aug 1991 A
5047867 Strubbe et al. Sep 1991 A
5109279 Ando Apr 1992 A
5109414 Harvey et al. Apr 1992 A
5134719 Mankovitz Jul 1992 A
5151789 Young Sep 1992 A
5155591 Wachob Oct 1992 A
5172413 Bradley et al. Dec 1992 A
5200822 Bronfin et al. Apr 1993 A
5223924 Strubbe Jun 1993 A
5231493 Apitz Jul 1993 A
5233654 Harvey et al. Aug 1993 A
5249043 Grandmougin Sep 1993 A
5253066 Vogel Oct 1993 A
5299006 Kim Mar 1994 A
5335277 Harvey et al. Aug 1994 A
5339434 Rusis Aug 1994 A
5341350 Frank et al. Aug 1994 A
5353121 Young et al. Oct 1994 A
5357276 Banker et al. Oct 1994 A
5404505 Levinson Apr 1995 A
5404567 DePietro et al. Apr 1995 A
5410344 Graves et al. Apr 1995 A
5412720 Hoarty May 1995 A
5414455 Hooper et al. May 1995 A
5426699 Wunderlich et al. Jun 1995 A
5442389 Blahut et al. Aug 1995 A
5461415 Wolf et al. Oct 1995 A
5465385 Ohga et al. Nov 1995 A
5483278 Strubbe et al. Jan 1996 A
5485197 Hoarty Jan 1996 A
5485221 Banker et al. Jan 1996 A
5502504 Marshall et al. Mar 1996 A
5517257 Dunn et al. May 1996 A
5523794 Mankovitz et al. Jun 1996 A
5523796 Marshall et al. Jun 1996 A
5524195 Clanton, III et al. Jun 1996 A
5524271 Hollmann et al. Jun 1996 A
5534911 Levitan Jul 1996 A
5537141 Harper et al. Jul 1996 A
5539449 Blahut et al. Jul 1996 A
5539880 Lakhani Jul 1996 A
5541638 Story Jul 1996 A
5541738 Mankovitz Jul 1996 A
5548338 Ellis et al. Aug 1996 A
5550576 Klosterman Aug 1996 A
5550825 McMullan, Jr. et al. Aug 1996 A
5557338 Maze et al. Sep 1996 A
5559548 Davis et al. Sep 1996 A
5559549 Hendricks et al. Sep 1996 A
5574778 Ely et al. Nov 1996 A
5576755 Davis et al. Nov 1996 A
5583561 Baker et al. Dec 1996 A
5583563 Wanderscheid et al. Dec 1996 A
5585838 Lawler et al. Dec 1996 A
5585858 Harper et al. Dec 1996 A
5589892 Knee et al. Dec 1996 A
5592551 Lett et al. Jan 1997 A
5594509 Florin et al. Jan 1997 A
5594779 Goodman Jan 1997 A
5600364 Hendricks et al. Feb 1997 A
5600573 Hendricks et al. Feb 1997 A
5602582 Wanderscheid et al. Feb 1997 A
5606642 Stautner et al. Feb 1997 A
5616876 Cluts Apr 1997 A
5619247 Russo Apr 1997 A
5619249 Billock et al. Apr 1997 A
5619274 Roop et al. Apr 1997 A
5623613 Rowe et al. Apr 1997 A
5625678 Blomfield-Brown Apr 1997 A
5629733 Youman et al. May 1997 A
5629867 Goldman May 1997 A
5630119 Aristides et al. May 1997 A
5632007 Freeman May 1997 A
5635978 Alten et al. Jun 1997 A
5635987 Park et al. Jun 1997 A
5648824 Dunn et al. Jul 1997 A
5652613 Lazarus et al. Jul 1997 A
5654748 Matthews, III Aug 1997 A
5654886 Zereski, Jr. et al. Aug 1997 A
5657072 Aristides et al. Aug 1997 A
5659350 Hendricks et al. Aug 1997 A
5666645 Thomas et al. Sep 1997 A
5675743 Mavity Oct 1997 A
5682195 Hendricks et al. Oct 1997 A
5694163 Harrison Dec 1997 A
5696765 Safadi Dec 1997 A
5699107 Lawler et al. Dec 1997 A
5708961 Hylton et al. Jan 1998 A
5710601 Marshall et al. Jan 1998 A
5717452 Janin et al. Feb 1998 A
5721829 Dunn et al. Feb 1998 A
5727060 Young Mar 1998 A
5731844 Rauch et al. Mar 1998 A
5732216 Logan et al. Mar 1998 A
5734119 France et al. Mar 1998 A
5734853 Hendricks et al. Mar 1998 A
5742443 Tsao et al. Apr 1998 A
5745710 Clanton, III et al. Apr 1998 A
5751282 Girard et al. May 1998 A
5752159 Faust et al. May 1998 A
5752160 Dunn May 1998 A
5754771 Epperson et al. May 1998 A
5758257 Herz et al. May 1998 A
5758258 Shoff et al. May 1998 A
5758259 Lawler May 1998 A
5760821 Ellis et al. Jun 1998 A
5768528 Stumm Jun 1998 A
5771064 Lett Jun 1998 A
5774170 Hite et al. Jun 1998 A
5778182 Cathey et al. Jul 1998 A
5778187 Monteiro et al. Jul 1998 A
5781226 Sheehan Jul 1998 A
5781227 Goode et al. Jul 1998 A
5781246 Alten et al. Jul 1998 A
5790198 Roop et al. Aug 1998 A
5790423 Lau et al. Aug 1998 A
5793412 Asamizuya Aug 1998 A
5793971 Fujita et al. Aug 1998 A
5794217 Allen Aug 1998 A
5796952 Davis et al. Aug 1998 A
5801787 Schein et al. Sep 1998 A
5802284 Karlton et al. Sep 1998 A
5805154 Brown Sep 1998 A
5805763 Lawler et al. Sep 1998 A
5805804 Laursen et al. Sep 1998 A
5805806 McArthur Sep 1998 A
5808608 Young et al. Sep 1998 A
5808694 Usui et al. Sep 1998 A
5809246 Goldman Sep 1998 A
5812123 Rowe et al. Sep 1998 A
5812205 Milnes et al. Sep 1998 A
5815145 Matthews Sep 1998 A
5815146 Youden et al. Sep 1998 A
5818438 Howe et al. Oct 1998 A
5819019 Nelson Oct 1998 A
5819160 Foladare et al. Oct 1998 A
5822530 Brown Oct 1998 A
RE35954 Levine Nov 1998 E
5830068 Brenner et al. Nov 1998 A
5838314 Neel et al. Nov 1998 A
5841979 Schulhof et al. Nov 1998 A
5844620 Coleman et al. Dec 1998 A
5850218 LaJoie et al. Dec 1998 A
5861906 Dunn et al. Jan 1999 A
5881245 Thompson Mar 1999 A
5883677 Hofmann Mar 1999 A
5884028 Kindell et al. Mar 1999 A
5886707 Berg Mar 1999 A
5886732 Humpleman Mar 1999 A
5887243 Harvey et al. Mar 1999 A
5892915 Duso et al. Apr 1999 A
5894589 Reber et al. Apr 1999 A
5896414 Meyer et al. Apr 1999 A
5898441 Flurry Apr 1999 A
5898456 Wahl Apr 1999 A
5899582 DuLac May 1999 A
5900904 Okada et al. May 1999 A
5903234 Kimura et al. May 1999 A
5903263 Emura May 1999 A
5903264 Moeller et al. May 1999 A
5905522 Lawler May 1999 A
5905847 Kobayashi et al. May 1999 A
5909638 Allen Jun 1999 A
5911046 Amano Jun 1999 A
5913039 Nakamura et al. Jun 1999 A
5914941 Janky Jun 1999 A
5915090 Joseph et al. Jun 1999 A
5915094 Kouloheris et al. Jun 1999 A
5916303 Scott Jun 1999 A
5917538 Asamizuya Jun 1999 A
5917835 Barrett et al. Jun 1999 A
5920702 Bleidt et al. Jul 1999 A
5920800 Schafer Jul 1999 A
5922045 Hanson Jul 1999 A
5922048 Emura Jul 1999 A
5923361 Sutton, Jr. Jul 1999 A
5926204 Mayer Jul 1999 A
5926205 Krause et al. Jul 1999 A
5926624 Katz et al. Jul 1999 A
5928327 Wang et al. Jul 1999 A
5929850 Broadwin et al. Jul 1999 A
5930473 Teng et al. Jul 1999 A
5930493 Ottesen et al. Jul 1999 A
5931901 Wolfe et al. Aug 1999 A
5933603 Vahalia et al. Aug 1999 A
5933835 Adams et al. Aug 1999 A
5935206 Dixon et al. Aug 1999 A
5936569 Stahle et al. Aug 1999 A
5937329 Helmy et al. Aug 1999 A
5940071 Treffers et al. Aug 1999 A
5940073 Klosterman et al. Aug 1999 A
5943046 Cave et al. Aug 1999 A
5943047 Suzuki Aug 1999 A
5945987 Dunn Aug 1999 A
5945988 Williams et al. Aug 1999 A
5947746 Tsai Sep 1999 A
5949411 Doerr et al. Sep 1999 A
5956482 Agraharam et al. Sep 1999 A
5959659 Dokic Sep 1999 A
5961603 Kunkel et al. Oct 1999 A
5963202 Polish Oct 1999 A
5964455 Catanzarite et al. Oct 1999 A
5969714 Butcher Oct 1999 A
5973680 Ueda Oct 1999 A
5973722 Wakai et al. Oct 1999 A
5974217 Haraguchi Oct 1999 A
5977963 Gaughan et al. Nov 1999 A
5978381 Perlman et al. Nov 1999 A
5978567 Rebane et al. Nov 1999 A
5978843 Wu et al. Nov 1999 A
5982445 Eyer et al. Nov 1999 A
5986650 Ellis et al. Nov 1999 A
5987234 Hirosawa et al. Nov 1999 A
5990881 Inoue et al. Nov 1999 A
5999970 Krisbergh et al. Dec 1999 A
6002394 Schein et al. Dec 1999 A
6002720 Yurt et al. Dec 1999 A
6005564 Ahmad et al. Dec 1999 A
6005600 Hill Dec 1999 A
6008803 Rowe et al. Dec 1999 A
6009465 Decker et al. Dec 1999 A
6012089 Hasegawa Jan 2000 A
6012091 Boyce Jan 2000 A
6014381 Troxel et al. Jan 2000 A
6014693 Ito et al. Jan 2000 A
6014694 Aharoni et al. Jan 2000 A
6014706 Cannon et al. Jan 2000 A
6018359 Kermode et al. Jan 2000 A
6018765 Durana et al. Jan 2000 A
6020912 De Lang Feb 2000 A
6022223 Taniguchi et al. Feb 2000 A
6023725 Ozawa et al. Feb 2000 A
6025837 Matthews et al. Feb 2000 A
6025868 Russo Feb 2000 A
6028600 Rosin et al. Feb 2000 A
6029045 Picco et al. Feb 2000 A
6029064 Farris et al. Feb 2000 A
6038591 Wolfe et al. Mar 2000 A
6052145 Macrae et al. Apr 2000 A
6141488 Knudson et al. Oct 2000 A
6147715 Yuen et al. Nov 2000 A
6157377 Shah-Nazaroff et al. Dec 2000 A
6160546 Thompson et al. Dec 2000 A
6163316 Killian Dec 2000 A
6177931 Alexander et al. Jan 2001 B1
6199206 Nishioka et al. Mar 2001 B1
6208335 Gordon et al. Mar 2001 B1
6209129 Carr et al. Mar 2001 B1
6226444 Goldschmidt et al. May 2001 B1
6240555 Shoff et al. May 2001 B1
6282713 Kitsukawa et al. Aug 2001 B1
6314573 Gordon et al. Nov 2001 B1
6314575 Billock et al. Nov 2001 B1
6356297 Cheng et al. Mar 2002 B1
6637029 Maissell et al. Oct 2003 B1
6772433 LaJoie et al. Aug 2004 B1
6799251 Jacobs et al. Sep 2004 B1
7028096 Lee Apr 2006 B1
7155734 Shimomura et al. Dec 2006 B1
7209964 Dugan et al. Apr 2007 B2
7590747 Coates et al. Sep 2009 B2
8209402 Smith et al. Jun 2012 B1
8712848 Jacobs et al. Apr 2014 B2
20020042921 Ellis Apr 2002 A1
20020090203 Mankovitz Jul 2002 A1
20020138840 Schein et al. Sep 2002 A1
20030040962 Lewis Feb 2003 A1
20030149980 Hassell et al. Aug 2003 A1
20030196201 Schein et al. Oct 2003 A1
20040031050 Klosterman Feb 2004 A1
20050160452 Lawler et al. Jul 2005 A1
Foreign Referenced Citations (124)
Number Date Country
2918846 Nov 1980 DE
0424469 May 1991 EP
0447968 Sep 1991 EP
0535749 Apr 1993 EP
0560593 Sep 1993 EP
0572090 Dec 1993 EP
0624039 Nov 1994 EP
0662771 Jul 1995 EP
0682452 Nov 1995 EP
0711076 May 1996 EP
0725539 Aug 1996 EP
0758833 Feb 1997 EP
0763938 Mar 1997 EP
0854645 Jul 1998 EP
0874524 Oct 1998 EP
0986046 Mar 1999 EP
0924927 Jun 1999 EP
0944253 Sep 1999 EP
2256115 Nov 1992 GB
60-61935 Sep 1985 JP
6-110926 Apr 1994 JP
10-243375 Sep 1998 JP
11-45259 Feb 1999 JP
11-219313 Aug 1999 JP
11-234228 Aug 1999 JP
2000-57078 Feb 2000 JP
C-247388 Oct 1994 RO
WO-8804507 Jun 1988 WO
WO-9853611 Nov 1988 WO
WO-8912370 Dec 1989 WO
WO-9000847 Jan 1990 WO
WO-9100670 Jan 1991 WO
WO-9107050 May 1991 WO
WO-9204801 Mar 1992 WO
WO-9308542 Apr 1993 WO
WO-9322877 Nov 1993 WO
WO-9414284 Jun 1994 WO
WO-9501058 Jan 1995 WO
WO-9515658 Jun 1995 WO
WO-9531069 Nov 1995 WO
WO-9532583 Nov 1995 WO
WO-9532584 Nov 1995 WO
WO-9532585 Nov 1995 WO
WO-9532587 Nov 1995 WO
WO-9609721 Mar 1996 WO
WO-9617467 Jun 1996 WO
WO-9625821 Aug 1996 WO
WO-9633572 Oct 1996 WO
WO-9634467 Oct 1996 WO
WO-9634491 Oct 1996 WO
WO-9641472 Dec 1996 WO
WO-9641478 Dec 1996 WO
WO-9713368 Apr 1997 WO
WO-9719555 May 1997 WO
WO-9721291 Jun 1997 WO
WO-9729458 Aug 1997 WO
WO-9732434 Sep 1997 WO
WO-9734413 Sep 1997 WO
WO-9734414 Sep 1997 WO
WO-9737500 Oct 1997 WO
WO-9742763 Nov 1997 WO
WO-9746016 Dec 1997 WO
WO-9746943 Dec 1997 WO
WO-9747124 Dec 1997 WO
WO-9748228 Dec 1997 WO
WO-9748230 Dec 1997 WO
WO-9749237 Dec 1997 WO
WO-9749242 Dec 1997 WO
WO-9800975 Jan 1998 WO
WO-9800976 Jan 1998 WO
WO-9801995 Jan 1998 WO
WO-9806219 Feb 1998 WO
WO-9807277 Feb 1998 WO
WO-9810589 Mar 1998 WO
WO-9812872 Mar 1998 WO
WO-9817033 Apr 1998 WO
WO-9817064 Apr 1998 WO
WO-9818260 Apr 1998 WO
WO-9819459 May 1998 WO
WO-9826528 Jun 1998 WO
WO-9826584 Jun 1998 WO
WO-9826596 Jun 1998 WO
WO-9827723 Jun 1998 WO
WO-9831115 Jul 1998 WO
WO-9831116 Jul 1998 WO
WO-9834405 Aug 1998 WO
WO-9838831 Sep 1998 WO
WO-9839893 Sep 1998 WO
WO-9847279 Oct 1998 WO
WO-9903267 Jan 1999 WO
WO-9904561 Jan 1999 WO
WO-9911060 Mar 1999 WO
WO-9912320 Mar 1999 WO
WO-9927681 Jun 1999 WO
WO-9928897 Jun 1999 WO
WO-9930491 Jun 1999 WO
WO-9939466 Aug 1999 WO
WO-9945700 Sep 1999 WO
WO-9945702 Sep 1999 WO
WO-9956466 Nov 1999 WO
WO-9956473 Nov 1999 WO
WO-9960783 Nov 1999 WO
WO-9960789 Nov 1999 WO
WO-9960790 Nov 1999 WO
WO-9965230 Dec 1999 WO
WO-9965244 Dec 1999 WO
WO-9966725 Dec 1999 WO
WO-0002380 Jan 2000 WO
WO-0004706 Jan 2000 WO
WO-0005885 Feb 2000 WO
WO-0005889 Feb 2000 WO
WO-0011869 Mar 2000 WO
WO-0016548 Mar 2000 WO
WO-0027122 May 2000 WO
WO-0033560 Jun 2000 WO
WO-0079798 Dec 2000 WO
WO-0101677 Jan 2001 WO
WO-0101689 Jan 2001 WO
WO-0119086 Mar 2001 WO
WO-0135662 May 2001 WO
WO-0146869 Jun 2001 WO
WO-0150743 Jul 2001 WO
WO-0158158 Aug 2001 WO
WO-0178382 Oct 2001 WO
Non-Patent Literature Citations (19)
Entry
Addressable Converters: A New Development at CableData, Via Cable, vol. 1, No. 12 (Dec. 1981).
Bismuth, A., “Bridge Between FPGAs and Standard-Cell ASICs,” English translation of “Brücke zwischen FPGAs and Standardzellen—ASICs,” Elektronik, 54(3):46-50 (2005).
CableData brochure, “A New Approach to Addressability” (undated).
David M. Rudnick, “Interactive Television Program Guide System Having Graphic Arrangements of Program Event Regions,” U.S. Appl. No. 09/283,681, filed Apr. 1, 1999.
Digital Video Broadcasting (DVB); DVB specification for data broadcasting, European Telecommunications Standards Institute, Draft EN 301 192 V1.2.1 (1999-01).
Electronic Programme Guide (EPG); Protocol for a TV Guide using electronic data transmission by European Telecommunication Standards Institute, May 1997, Valbonne, France, publication No. ETS 300 707.
Hatakeyama, “Concept and prototype system of HIS (Home Information Server),” 98(84):63-68 (1998) (English Abstract).
Hofmann, Neumann, Oberlies, and Schadwinkel, “Videotext Programmiert Videorecorder,” Rundfunktechnische Mitteilungen, Nov.-Dec. 1982, pp. 254-57 (translation abstract attached).
James Sorce et al., “Designing a Broadband Residential Entertainment Service: A Case Study,” 13th International Symposium Human Factors in Telecommunications, Torino, Italy, Sep. 10-14, 1990 pp. 141-148.
Patent abstract for Japanese patent JP 10 065978, Patent Abstracts of Japan, vol. 1998, No. 08, Jun. 3, 1998.
Patent abstract for Japanese patent JP 11 032272, Patent Abstracts of Japan, vol. 1999, No. 05, May 31, 1999.
Patent abstract for Japanese patent JP 11 205711, Patent Abstracts of Japan, vol. 1999, No. 12, Jul. 30, 1999.
Pim, D.N., “What's Happening to Teletext?,” Electronics & Power, pp. 119-123, Feb. 1986.
The New York Times, “2 Makers Plan Introductions of Digital VCR”, by John Markoff, Mar. 29, 1999.
Vito Brugliera, “Digital On-Screen Display—A New Technology for the Consumer Interface,” Symposium Record Cable Sessions, 18th International Television Symposium and Technical Exhibition, Montreux, Switzerland Jun. 10-15, 1993, pp. 571-586 (Jun. 11, 1993).
Windows 98 Feature Combines TV, Terminal and the Internet, New York Times, Aug. 18, 1998.
Yee-Hsiang Chang et al., “An Open-Systems Approach to Video on Demand,” IEEE Communications Magazine, vol. 32, pp. 68-80 (May 1994).
David M. Rudnick, “Interactive Television Program Guide System Having Graphic Arrangements of Program Event Regions,” , U.S. Appl. No. 09/283,681, filed Apr. 1, 1999.
Pim, D.N., “What's Happening to Teletext'?,” Electronics & Power, pp. 119-123, Feb. 1986.
Related Publications (1)
Number Date Country
20130036433 A1 Feb 2013 US
Provisional Applications (2)
Number Date Country
60239377 Oct 2000 US
60270351 Feb 2001 US
Continuations (1)
Number Date Country
Parent 09974666 Oct 2001 US
Child 13564226 US