Interactive program guide with selectable updating

Abstract
A method for providing an interactive program guide (IPG) includes receiving from a user a request for an IPG, and providing the user with an IPG that includes listings that were received by a digital home communication terminal (DHCT) via a subscriber television network, as well as other listings that were not received by the DHCT via the subscriber television network.
Description
FIELD OF THE INVENTION

This invention relates in general to television systems, and more particularly, to the field of electronic program guides.


BACKGROUND OF THE INVENTION

Cable television systems are now capable of providing many services in addition to analog broadcast video. In implementing enhanced programming, the home communication terminal (“HCT”), otherwise known as the settop box, has become an important computing device for accessing various video services. In addition to supporting traditional analog broadcast video functionality, digital HCTs (or “DHCTs”) now also support an increasing number of two-way digital services such as video-on-demand.


A DHCT is typically connected to a cable or satellite television network and includes hardware and software necessary to provide various services and functionality. Some of the software executed by a DHCT can be downloaded and/or updated via the cable television network. Each DHCT also typically includes a processor, communication components and memory, and is connected to a television or other display device. While many conventional DHCTs are stand-alone devices that are externally connected to a television, a DHCT and/or its functionality may be integrated into a television or other device, as will be appreciated by those of ordinary skill in the art.


Many DHCTs provide users with television program information via electronic program guides (EPGs). Some EPGs automatically scroll through television channel listings to present program information that corresponds to respective channels and time periods. Other EPGs, also known as interactive program guides (IPGs), allow a user to scroll through and/or search available program information by providing input commands via a remote control device. As many DHCT users spend substantial amounts of time watching television and browsing through IPG listings, they have become very adept and comfortable at using IPGs. However, IPGs are often underutilized in conventional systems. Therefore, there exists a need to expand IPG functionality to provide users with easy and convenient systems and methods for accessing desired information.





BRIEF DESCRIPTION OF THE DRAWINGS

The invention can be better understood with reference to the following drawings. The components in the drawings are not necessarily drawn to scale, emphasis instead being placed upon clearly illustrating the principles of the present invention. In the drawings, like reference numerals designate corresponding parts throughout the several views.



FIG. 1 is a block diagram depicting a non-limiting example of a subscriber television system.



FIG. 2 is a block diagram depicting a non-limiting example of selected components of the DHCT depicted in FIG. 1.



FIG. 3 depicts a non-limiting example of a remote control device that may be used to provide user input to the DHCT depicted in FIG. 2.



FIG. 4 depicts a non-limiting example of a user selection screen that may be presented to a user after the user turns on the DHCT and/or after the user requests an IPG.



FIG. 5 depicts a non-limiting example of a name entry screen that may be presented to a user after the user selects the “Add New User” option depicted in FIG. 4.



FIG. 6 depicts a non-limiting example of a Personal Identification Number (PIN) selection screen that may be presented to a user after the user selects a user name via the name entry screen depicted in FIG. 5.



FIG. 7 depicts a non-limiting example of a PIN entry screen that may be presented to a user after the user selects a user name via the name entry screen depicted in FIG. 5.



FIG. 8 depicts a non-limiting example of an IPG screen that illustrates an initial program guide arrangement in a time format.



FIG. 9 depicts a non-limiting example of a customization options screen that may be presented to a user after the user activates the “C” key on the remote control device depicted in FIG. 3.



FIG. 10 depicts a non-limiting example of a Home Network Options screen that may be presented to a user after the user selects the “Home Network” option via the customization options screen depicted in FIG. 9.



FIG. 11 depicts a non-limiting example of a Home Network Options screen that may be presented to a user after the user selects options available via the Home Network Options screen depicted in FIG. 10.



FIG. 12 depicts a non-limiting example of an IPG grid that may be presented to a user after the user confirms the selection made via the Home Network Options screen depicted in FIG. 11.



FIG. 13 depicts a non-limiting example of an IPG grid that may be presented to a user after the user scrolls up the IPG grid depicted in FIG. 12.



FIG. 14 depicts a non-limiting example of a thermostat settings screen that may be presented to a user in response to a user selecting the functionality instance listing while being presented with the IPG grid depicted in FIG. 13.



FIG. 15 depicts a non-limiting example of an IPG grid that may be presented to a user by the DHCT depicted in FIG. 2.



FIG. 16 is a flow chart depicting a non-limiting example of a method for providing an IPG in accordance with one embodiment of the present invention.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Preferred embodiments of the present invention will be herein described in the context of a digital home communication terminal (DHCT) that is coupled to a subscriber television system (STS). In accordance with one implementation, the DHCT provides a user with a locally updated interactive program guide (IPG) that contains television presentation listings that were received by the DHCT via the STS, as well as other listings that were not received via the STS. These other listings may be based on data provided by user input or by a local device. The local device may be, for example, a personal computer (PC), a consumer electronics device, or a home appliance, among others. If the local device is a PC, then the IPG may, for example, include listings that correspond to a functionality provided by a software program that is running on the PC.


Below is a detailed description of the accompanying figures (FIGS. 1-16), which illustrate a preferred embodiment of the present invention: FIGS. 1-3 illustrate examples of system components that may be used to help provide a locally-updated IPG; FIGS. 4-7, 9-11, and 14 illustrate examples of user interface (UI) screens related to locally-updated IPGs; FIGS. 8, 12, 13, and 15 illustrate examples of locally-updated IPGs; and FIG. 16 illustrates an exemplary method for implementing a locally-updated IPG. Note that all examples given herein are intended to be non-limiting, and are provided in order to help convey the scope of the invention. Therefore, the invention, which may be embodied in many different forms, should not be construed as limited to the examples set forth herein.



FIG. 1 is a block diagram depicting a non-limiting example of a subscriber television system (STS) 100. In this example, the STS 100 includes a headend 110 and a DHCT 200 that are coupled via a communications network 130. The DHCT 200 is typically situated at a customer premises 120 and may be a stand-alone unit or integrated into another device such as, for example, a television 140. The customer premises 120 may be a residence or place of business, among others. The DHCT 200 receives signals (video, audio and/or other data) from the headend 110 through the network 130 and provides reverse information to the headend 110 through the network 130. The network 130 may be any suitable means for communicating television services data including, for example, a cable television network or a satellite communication network, among others. The headend 110 may include one or more server devices (not shown) for providing video, audio, textual data, and/or software programming to local devices such as DHCT 200. The headend 110 and the DHCT 200 cooperate to provide a user with television services via the television 140. The television services may include, for example, broadcast television services, cable television services, premium television services, video-on-demand (VOD) services, and/or pay-per-view (PPV) services.


A local device 150 capable of communicating with the DHCT 200 is also located at the customer premises 120. The local device 150 provides one or more functionalities to a user and may be for example, a desktop computer, a notebook computer, a personal digital assistant (PDA), a thermostat, an alarm clock, a home security system, a kitchen appliance, a lamp, a light fixture, a television, an audio player, a video cassette recorder (VCR), a digital video disc (DVD) player, and a home appliance, among others. Information about a functionality provided by the local device 150 is transmitted from the local device 150 to the DHCT 200 where it is effectively stored in IPG database 240. The DHCT 200 subsequently provides this information to a user as part of an interactive program guide (IPG) that is presented via the television 140, as illustrated, for example, in FIGS. 12, 13, and 15.


Examples of how a DHCT 200 may discover a local device 150 include the following scenarios, among others:

    • 1) The DHCT 200 acts as a source of IP addresses using a Dynamic Host Configuration Protocol (DHCP). This approach may involve a local device 150 contacting the DHCT 200 to obtain an IP address.
    • 2) The DHCT 200 may synchronize with a local device 150 (e.g., a computer) that supports plug-and-play operation.
    • 3) One or more local devices 150 are specifically programmed to contact the DHCT 200 to register themselves with it.
    • 4) The DHCT 200 is informed of the existence of a local device 150 via information provided by user input. The DHCT 200 uses this information to contact the local device 150.


Preferably, once the DHCT 200 is aware of the existence of a local device 150, then the two units may communicate using a suitable communications protocol. The DHCT 200, in one embodiment, may query the local device 150 about the latter's capabilities. Furthermore, the DHCT 200 may use information received from the local device 150 to compose a user-interface screen for providing instructions to the local device 150. In one embodiment, the DHCT 200 communicates with the local device 150 using one or more residential networking standard such as, for example, Bluetooth, CAL, CEBus, Convergence, emNET, HAVi, HomePNA, HomePlug, HomeRF, Jini, LonWorks, UPnP, 802.11A, 802.11B, 802.11G, 802.15.3 and VESA, among others.



FIG. 2 is a block diagram illustrating a non-limiting example of selected components of a DHCT 200. The DHCT 200 comprises a communications interface 222 for receiving video, audio and other data from the headend 110 (FIG. 1), and for providing reverse information to the headend 110. The DHCT 200 further includes at least one processor 210 for controlling operations of the DHCT 200, an output system 214 for driving a display device (e.g., a television 140), and a tuner system 224. The tuner system 224 tunes to a particular television service to be displayed via the television 140 and sends and receives various types of data to/from the headend 110. The tuner system includes in one implementation, an out-of-band tuner for bi-directional quadrature phase shift keying (QPSK) data communication and a quadrature amplitude modulation (QAM) tuner for receiving television signals. A receiver 212 receives user inputs that are provided via an input device such as, for example, a transmitter with buttons or keys located on the exterior of the terminal, a hand-held remote control device, or a keyboard.


A home network communications application (HNCA) 260 communicates with a local device 150 via a home network interface (HNI) 290. The HNI 290 acts as an interface for transmitting and/or receiving data to/from a local device 150. The HNI 290 may comprise, for example, a USB (Universal Serial Bus) connector, an Ethernet port, an IEEE-1394 connection, a serial port, a parallel port, a wireless radio frequency (RF) interface, a telephone line interface, a power line interface, a coaxial cable interface, and/or an infra-red (IR) interface, among others. In one possible implementation, the HNI 290 may be coupled to a local device via an Ethernet hub. A driver for the HNI 290 may be included in the operating system (O/S) 231 or may otherwise be stored in memory 230.


Memory 230, which may include volatile and/or non-volatile memory, stores one or more programmed software applications, herein referred to as applications, which contain instructions that may be executed by the processor 210 under the auspices of the operating system 231. Data required as input by an application is stored in memory 230 and read by processor 210 from memory 230 as need be during the course of the application's execution. Input data for an application may be data stored in memory 230 by a secondary application or other source, either internal or external to the DHCT 200, or may be data that was created with the application at the time it was generated as a software application program. Data transmitted by the headend 110 may be received via the communications interface 222, whereas user input may be received from an input device via receiver 212. Data generated by an application is stored in memory 230 by processor 210 during the course of the application's execution. Availability, location and amount of data generated by one application for consumption by another application is communicated by messages through the services of the operating system 231.


The IPG application 238 displays a program guide to the user and populates the guide with information about television functionalities. The IPG 238 includes an IPG user interface module 239 component that creates an IPG for presentation to the user. The IPG user interface module 239 accesses configuration settings stored in an IPG configuration module 241 to implement an appropriate configuration for the IPG. The IPG configuration module 241 includes a configuration database 243 for storing a plurality of IPG configurations. The IPG user interface module 239 populates the IPG with information contained in an IPG database 240. The IPG database 240 contains data files corresponding to current and future services and/or functionalities that are or will be available via the DHCT 200 and/or other local devices.


Based on the configuration information stored in the IPG configuration module 241, the IPG user interface module 239 utilizes the window manager 245 and other graphics utilities provided by the operating system 231 to render an IPG on the television 140. The window manager 245, which may also be part of the operating system 231, contains functionality for allocating screen areas and managing screen use among multiple applications. The operating system 231 provides primitives to the IPG user interface module 239 in order to help render images on the television 140 (FIG. 1).


As a window is generated on a display device, the IPG user interface 239 registers with the window manager 245 in order to receive particular user input commands that may be required for selecting options provided by the newly-created window. The IPG 238 also contains a daemon application 246 that forwards IPG data received from the headend 110 or the local device 150 to the IPG database 240. Such IPG data may include information about services and functionalities that are provided by the DHCT 200 and/or the local device 150.


A PVR application 270, in cooperation with an appropriate device driver, may effect the storage of a video stream that is received from a local device 150 in a storage device 280. The PVR application 270 may also effect the retrieval and presentation of a video stream including the provision of trick mode functionality such as fast forward, rewind, and pause.


The IPG application 238, the HNCA 260, the PVR application 270, and all other applications executed by the resources of the DHCT 200 comprise executable instructions for implementing logical functions. The applications can be embodied in any computer-readable medium for use by or in connection with an instruction execution system. The instruction execution system may be, for example, a computer-based system, a processor-containing system, or any other system capable of executing instructions. In the context of this document, a “computer-readable medium” can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium can be, for example, but is not limited to, an electronic, solid-state, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium, either internal to the DHCT 200 or externally connected to the DHCT 200 via one or more communication ports or network interfaces. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a hard drive storage device (magnetic), a random access memory (RAM) (solid-state device), a read-only memory (ROM) (solid-state device), an erasable programmable read-only memory (EPROM or Flash memory) (multiple devices), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). Note that the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.



FIG. 3 depicts a non-limiting example of a remote control device 300 that may be used to provide user input to the DHCT 200. The remote control device 300 described herein is merely illustrative and should not be construed as implying any limitations upon the scope of the present invention. Four arrow keys 310 are provided including an up arrow key 311, a down arrow key 312, a left arrow key 313, and a right arrow key 314. The arrow keys 310 can be used to scroll through on-screen options and/or to highlight an on-screen option, whereas the select key 320 may be used to select a currently highlighted option. The guide key 380 may be used to access a television program guide such as, for example, IPG screen 800 (FIG. 8). The function of the “A” key 371, the “B” key 372, and the “C” key 373 varies depending on the screen being presented to a user at the time of a key's activation. In one embodiment, the “A” key 371 can be used to access a browse-by list for requesting an IPG screen that contains a subset of service instances falling under a user selected browse-by category such as, for example, comedy, drama, action/adventure, sports, etc.; the “B” key 372 can be used to request an IPG screen containing service listings for a user selected date; and the “C” key 373 can be used to initiate a process for customizing an IPG.


In an alternative embodiment of the invention, different and/or additional systems and methods of providing user input may be used including, for example, a remote control device having different keys and/or key layouts, a keyboard device, a mouse, a voice activated input system, a touch-screen display, etc. The invention described herein is not limited by the type of device used to provide user input.



FIG. 4 depicts a non-limiting example of a user selection screen 400 that may be presented to a user by the IPG application 238 (FIG. 2) after the user turns on the DHCT 200 and/or after the user requests an IPG. A user may request an IPG by, for example, activating the Guide key 380 (FIG. 3). The user selection screen 400 has a user selection list 401 that includes one or more options for identifying the user. In the current example, the user selection list 401 includes the following options: “Add New User” 402, “Guest” 403, and “Jane” 404. The Add New User option 402 may be used to create a new profile for a user. The Guest option 403 may be used to avoid specifically identifying the user. The Jane option 404 corresponds to a previously created user profile. A user profile may be stored in, for example, the user preference database 261 (FIG. 2).



FIG. 5 depicts a non-limiting example of a name entry screen 500 that may be presented to a user by the IPG application 238 (FIG. 2) after the user selects the Add New User option 402 (FIG. 4). The name entry screen 500 includes name entry fields 501 that may be used to enter a user name. In one implementation, a user may enter a user name by using the left and right arrow keys 313 and 314 (FIG. 3) to highlight a desired entry field, and the up and down arrow keys 311 and 312 (FIG. 3) to scroll to a desired character in the highlighted entry field. In another implementation, another input device such as, for example, a keyboard may be used to input a user name. After the user has entered a desired user name, the user may activate the “A” key 371 (FIG. 3) to proceed to a subsequent screen.



FIG. 6 depicts a non-limiting example of a Personal Identification Number (PIN) selection screen 600 that may be presented to a user by the IPG application 238 (FIG. 2) after the user selects a user name via the name entry screen 500 (FIG. 5). The PIN selection screen 600 includes PIN entry fields 601 that may be used to enter a user PIN. In one implementation, a user may enter a user PIN by using the number pad 350 on the remote control device 300 (FIG. 3). The PIN that is selected by the user is stored in the user preference database 261 (FIG. 2) and is associated with the user name that was entered by the user via the name entry screen 500. The next time that a user wants to sign-in, the user identifies a desired user name via the user selection screen 400 (FIG. 4) and then enters a corresponding PIN via a PIN entry screen 700 (FIG. 7).



FIG. 7 depicts a non-limiting example of a PIN entry screen 700 that may be presented to a user by the IPG application 238 (FIG. 2) after the user selects a user name via the name entry screen 500 (FIG. 5). The PIN entry screen 700 includes PIN entry fields 701 that may be used to enter a user PIN. In one implementation, a user may enter a user PIN by using the number pad 350 on the remote control device 300 (FIG. 3). The PIN that is entered by the user is then compared with the PIN corresponding to the user name identified by the user. If the PINs are determined to be identical, then the user is signed-in under the user name. If the PINs are not identical, then the user is asked to re-renter the PIN. Once the user is signed-in, then customized DHCT 200 settings that were implemented during previous sessions when the user was signed-in are restored. Customized DHCT 200 settings that may be restored include, for example, settings for determining the content and/or layout of an IPG.



FIG. 8 depicts a non-limiting example of an IPG screen 800 that illustrates an initial program guide arrangement in a time format. IPG screen 800 may be presented by IPG application 238 in response to user input that may be provided via, for example, the activation of the guide key 380 (FIG. 3). IPG application 238 works in cooperation with window manager 245 to present a user with IPG screens that are formatted in accordance with IPG configuration data that is stored in configuration database 243. Furthermore, an IPG application 238 may retrieve information from IPG database 240 as needed for presentation via an IPG screen. The top left portion of IPG screen 800 is a detailed focus area 810 that includes detailed information for a currently highlighted functionality instance listing which, in the current example, is the Good Morning America listing 820. The detailed functionality instance listing information may include channel number, functionality name (e.g., ABC), functionality instance listing name (e.g., Good Morning America), functionality instance listing description, functionality instance listing duration, and/or any episode information or rating.


Video corresponding to the television channel to which the DHCT 200 is currently tuned (for which audio may also be playing, and which typically corresponds to a television presentation occupying the full screen before the user is presented with IPG screen 800) is displayed in a video area 830. Immediately below the video area 830 is an information banner 840 for displaying the television channel number corresponding to the television channel to which the DHCT 200 is currently tuned (e.g., 5), the current day and date (e.g., Thursday, January 17), and the current time (e.g., 5:00 a.m.).


An IPG grid 865 includes a main listing display area 860, a time area 870, and a functionality identification area 880. The main listing display area 860 contains listings of functionality instances that correspond to respective television functionalities identified in functionality identification area 880 and that, in some cases, are or will be available during the time periods listed in the time area 870. The functionality identification area 880 includes a vertical list of television functionalities organized sequentially from top to bottom by increasing television channel number (except for the highest numbered television functionality which is typically listed immediately above the lowest numbered television functionality). In one embodiment, the arrow buttons 310 (FIG. 3) can be used to scroll through the main listing display area 860 and to highlight a desired functionality instance listing. As a user scrolls in time across a calendar day boundary, the day and date indications displayed in various areas are updated.


Though other implementations are contemplated within the scope of the present invention, when the IPG application is first activated by the user, the lowest numbered television functionality is typically centered in the functionality identification area 880. In this non-limiting example, the lowest numbered television functionality in the functionality identification area 880 is ABC (channel number 2). Continuing with this non-limiting example, the left-most time column in the main listing display area 860 includes titles of functionality instance listings scheduled to be available about two hours into the future with the middle title in the column being highlighted and corresponding to the lowest numbered television functionality. Therefore, in this example, the Good Morning America listing 820, which is scheduled to be provided via ABC (channel number 2), is highlighted. It should be noted that the current functionality instance listing shown in video area 830 and referenced in information banner 840, corresponds to the currently tuned television channel (channel number 5), and not to the channel corresponding to the currently highlighted functionality instance listing 820. The bottom area 850 of IPG screen 800 indicates the selected day for which functionality instance listing data is being displayed as well as information about the current functions of the “A”, “B”, and “C” keys on the remote control 300. In an alternative embodiment, an IPG screen may have fewer, additional, and/or different components and may have a different layout. For example, an IPG screen might not include a detailed focus area 810, a video area 830, an information banner 840, and/or a bottom area 850.



FIG. 9 depicts a non-limiting example of a customization options screen 900 that may be presented by the IPG application 238 (FIG. 2). The customization options screen may be presented to a user in response to the activation of the “C” key 373 (FIG. 3) during the presentation of the IPG screen 800 (FIG. 8). The customization options screen 900 has a customization options list 901 that includes one or more options for modifying the content or layout of an IPG screen. In the current example, the customization options list 901 includes the following options: an “Edit Layout” option 902, a “Home Network” option 903, and a “Filter Listings” option 904. The “Edit Layout” option 902 may be selected in order to edit the layout of an IPG screen. The “Home Network” option 903 may be selected in order to add functionality instance listings corresponding to a device located at a customer premises 120 (FIG. 1). The “Filter Listings” option 904 may be selected to limit the listings provided via an IPG based on user determined settings.



FIG. 10 depicts a non-limiting example of a Home Network Options screen 1000 that may be presented by the IPG application 238 (FIG. 2) to a user after the user selects the “Home Network” option 903 via the customization options screen 900 (FIG. 9). The Home Network Options screen 1000 has a home network options list 1001 that includes one or more options for modifying the content or layout of an IPG screen. In the current example, the home network options list 1001 includes the following options: “Email on Jane's PC” option 1002, “Calendar on Jane's PC” option 1003, “GE Alarm Clock” option 1004, “Home Thermostat” option 1005, and “Movies on Jane's PC” option 1006. The “Email on Jane's PC” option 1002 corresponds to a functionality that allows access to e-mail messages via a local computer. The “Calendar on Jane's PC” option 1003 corresponds to a functionality that allows access to an electronic calendar via a local computer. The “GE Alarm Clock” option 1004 corresponds to a functionality provided by a local alarm clock. The “Home Thermostat” option 1005 corresponds to a functionality provided by the a local thermostat. The “Movies on Jane's PC” option 1006 corresponds to movies or portions thereof that are accessible via a local computer.


Each of the options 1002-1006 corresponds to a functionality that is offered by a local device that is capable of communicating with the DHCT 200 (FIG. 1). Information displayed via the Home Network Options screen 1000 may be retrieved from IPG database 240 where it may have been stored by the HNCA 260 upon being received by the DHCT 200 from a local device 150. Such information may be received from a local device 150 in response to a query by the HNCA 260 or may be periodically broadcast by the local device 150 over a home network to which the local device 150 and DHCT 200 are coupled. As used herein, the term “local,” when used in reference to a device or apparatus, means located at the same customer premises as the DHCT 200. A user may select an option from the options list 1001 in order to request that the functionality identified by the selected option be listed in an IPG. An option that is selected by a user is identified as having been selected via, for example, a distinctive icon and/or background color. In one embodiment a selected option is identified via a check mark icon that is displayed in the same field as the selected option, as illustrated in the example shown in FIG. 11.


In one embodiment of the invention, the functionalities that are listed via the Home Network Options screen 1000 are customized based on the specific user that is currently signed-in for the DHCT 200. Therefore, in the current example, the Home Network Options screen 1000 is presented to a person who is signed-in using the user name “Jane.”



FIG. 11 depicts a non-limiting example of a Home Network Options screen 1100 that may be presented to a user after the user selects options 1002-1006 via the Home Network Options screen 1000 depicted in FIG. 10. Each of the options 1002-1006 is identified as having been selected via a check mark icon 1102 that is displayed in the same field as the option. A user may un-select a selected option by highlighting the option using an arrow key 310 (FIG. 3) and by activating the select key 320 while the option is highlighted. After the user has completed his selections from the Home Network Options screen 1100, the user may confirm the selections via, for example, the “A” key 371 (FIG. 3). The selections made by the user are stored in a user preference database 261 (FIG. 2) and are used by the IPG application 238 (FIG. 2) in determining whether a functionality is to be listed in an IPG.



FIG. 12 depicts a non-limiting example of an IPG grid 1200 that may be presented to a user after the user confirms the selection made via the Home Network Options screen 1100 (FIG. 11). The IPG grid 1200 may be presented as part of an IPG that includes additional components as illustrated, for example, in FIG. 8. IPG grid 1200 identifies PC functionalities 1201 and 1211 that are available via a local computer. Functionality instance listings that correspond to the “PC Calendar” functionality 1201 (which has an assigned channel number 254) include, in this example, “Wake Up” 1202, “Check E-mail” 1203, and “Office Meeting” 1204. Functionality instance listings that correspond to the “PC Movies” functionality 1211 (channel 255) include, in this example, “Parent Trap” 1212, “Groundhog Day” 1213, and “You've Got Mail” 1214. The PC Calendar functionality instance listings 1202-1204 correspond to entries in an electronic calendar contained in a local PC. Similarly, the PC Movies functionality instance listings 1212-1214 correspond to movies that are available via a local PC.


The PC Calendar functionality instance listings 1202-1204 have respective time characteristics that are represented by the corresponding time entries in the time area 870. The PC Movies functionality instance listings 1212-1214, on the other hand, do not have such time characteristics, even though the listings 1212-1214 may be displayed below respective time entries. In one embodiment, time entries in the time area 870 are not displayed when one of the functionality instance listings 1212-1214 is highlighted.


A user may request a functionality instance (e.g., a movie), or additional information pertaining to a functionality instance (e.g., a calendar entry) by selecting a corresponding functionality instance listing. A user selection may be effected via a remote control device such as, for example, the remote control 300 (FIG. 3). In response to the selection of a functionality instance listing, the IPG application 238 and/or another application may provide the user with the additional information or content identified by the selected listing. Such additional information or content may have been previously received and stored by the DHCT 200 or may be requested from the local device 150 by the HNCA 260 in response to the user selection.


If a user selects a functionality instance corresponding to a movie that is stored on the local device 150, then the HNCA 260 may request such movie from the local device 150. When the DHCT 200 receives a video stream corresponding to the requested movie, then the PVR application 270, in cooperation with an appropriate device driver, may effect the storage of the video stream in the storage device 280. The PVR application 270 may also effect the retrieval and presentation of the requested movie including the provision of trick mode functionality such as fast forward, rewind, and pause.


Data identifying PC functionality instance listings may be imported by the HNCA 260 (FIG. 2) from a local device 150 using a suitable messaging protocol. The local device 150 may include software for selecting, assembling, formatting, and transmitting relevant data to the DHCT 200. As a non-limiting example, among others, if the local device 150 is a PC, then it may include Microsoft Exchange Server software for transmitting calendar and e-mail instance listings to the HNCA 260, which may include an Exchange client.



FIG. 13 depicts a non-limiting example of an IPG grid 1300 that may be presented to a user after the user scrolls up the IPG grid 1200 (FIG. 12). A user may scroll up an IPG grid by activating, for example, the up arrow key 311 (FIG. 3). In this example, the functionality listings “Thermostat” 1301, “Alarm Clock” 1311, and “PC E-mail” 1321 are included in the IPG grid 1300. In the current example, functionality instance listings that correspond to the Thermostat functionality 1301 include “65° F.” 1302 and “70° F.” 1303; functionality instance listings that correspond to the Alarm Clock functionality 1311 include “Play 98.5 FM” 1312 and “Off” 1313; and functionality instance listings that correspond to the PC E-mail functionality 1321 include “james@yahoo.com” 1322, “john@aol.com” 1323, and “mike@hotmail.com” 1324. The thermostat functionality instance listings 1302 and 1303 identify the temperature settings that a local thermostat is scheduled to have during half-hour time periods beginning at 7:00 a.m. and 7:30 a.m., respectively. Similarly, the alarm clock functionality instance listings 1312 and 1313 identify the alarm clock settings for the half-hour time periods beginning and 7:00 a.m. and 7:30 a.m., respectively. The PC E-mail functionality instance listings 1322-1324 identify e-mail addresses of respective senders of e-mail messages that are available via a local device 150. The PC E-mail functionality instance listings 1322-1324 do not have time characteristics that are represented by the time entries in the time area 870. Therefore, in one embodiment, time entries in the time area 870 are not displayed when one of the functionality instance listings 1322-1324 is highlighted.


In accordance with one embodiment of the invention, a user may view data corresponding to a functionality instance (e.g. an e-mail message) by selecting the corresponding functionality instance listing. In accordance with another embodiment of the invention, a user may request a screen for modifying a functionality instance setting by selecting the corresponding functionality instance listing.



FIG. 14 depicts a non-limiting example of a thermostat settings screen 1400 that may be presented to a user in response to a user selecting the functionality instance listing 1302 while being presented with the IPG grid 1300 (FIG. 13). The thermostat settings screen 1400 includes a temperature setting field 1401 and time settings fields 1402 and 1403. The temperature setting field 1401 may be used to specify a temperature setting for a local thermostat, whereas the time settings fields 1402 and 1403 may be used to specify a beginning and end, respectively, of a time window during which the temperature setting is to be in effect. After the desired thermostat settings are selected by a user, the user may then confirm the setting by activating, for example, the “A” key 371 (FIG. 3). After the thermostat settings are confirmed by a user, they are communicated by the DHCT 200 to the local thermostat using a suitable messaging protocol. The local thermostat, implements the settings upon receiving them from the DHCT 200. A user may also be able to modify settings pertaining to other functionalities such as, for example, the alarm clock functionality 1311, by selecting a corresponding functionality instance listing.



FIG. 15 depicts a non-limiting example of an IPG grid 1500 that lists a favorite channels functionality 1501 and a favorite internet sites functionality 1502. The favorite channels functionality 1501 and the favorite internet sites functionality 1502 are provided using favorites data stored in the user preference database 261 (FIG. 2). Alternatively, the favorites data may be downloaded from a local device 150 (FIG. 1). As a non-limiting example, favorites data that are downloaded from a PC may include a list of favorite web-sites that are stored in PC memory by an Internet browser. The favorites data may be based on preferences expressed by a user or based on an analysis of functionalities provided to a user over a period of time. A user may request a functionality instance by selecting a corresponding listing (e.g., the CNN listing 1503 or the yahoo.com listing 1504). Note that a functionality listing and a functionality instance listing may correspond to the same entity. As a non-limiting example, the NBC functionality listing 1505 and the NBC functionality instance listing 1506 both correspond to NBC.



FIG. 16 is a flow chart depicting a non-limiting example of a method for providing an IPG in accordance with one embodiment of the present invention. In step 1601, the DHCT 200 (FIG. 1) receives data from a local device 150 (FIG. 1) relating to a functionality that is provided by the local device 150. After receiving the data from the local device 150, the DHCT 200 stores the data in a designated file or database such as, for example, in IPG database 240, as indicated in step 1602. In step 1603, the DHCT 200 receives user input requesting an IPG. The user input may be provided via, for example, the guide key 380 (FIG. 3). In response to receiving the user input, the DHCT 200 provides in step 1604 an IPG that lists the functionality implicated in step 1601. The IPG that is provided by the DHCT 200 may also include listings of television presentations that are scheduled to be broadcast within a certain time period. Depending on the particular implementation, a user may be required to scroll through the IPG in order to view a functionality listing corresponding to a desired functionality. In one embodiment, whether a functionality is listed in an IPG is based on user preference settings stored in the user preference database 261 (FIG. 2).


Any blocks or steps shown in FIG. 16 represent modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in a process. In an alternative implementation the functions or steps depicted in the flowchart may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art.


The functionality provided by the method illustrated in FIG. 16, can also be implemented through hardware (e.g., an application specific integrated circuit (ASIC) and supporting circuitry). Each implementation may have a perceived advantage, however. For example, hardware enjoys a speed and, arguably, a reliability advantage over software because hardware testing and verification methods are currently more advanced than software verification methods. On the other hand, software can be less expensive than customized hardware and offers greater flexibility in adding or modifying product features.


The functionality provided by the method illustrated in FIG. 16, can be embodied in any computer-readable medium for use by or in connection with a computer-related system (e.g., an embedded system such as a modem) or method. In this context of this document, a computer-readable medium is an electronic, magnetic, optical, semiconductor, or other physical device or means that can contain or store a computer program or data for use by or in connection with a computer-related system or method. Also, the computer program or data may be transferred to another computer-readable medium by any suitable process such as by scanning the computer-readable medium. Thus, the computer-readable medium could be paper or other suitable medium upon which the computer program can be printed, scanned with an optical scanner, and transferred into the computer's memory or storage.


It should be emphasized that the above-described embodiments of the present invention, particularly any “preferred embodiments”, are merely possible examples, among others, of the implementations, setting forth a clear understanding of the principles of the invention. Many variations and modifications may be made to the above-described embodiments of the invention without departing substantially from the principles of the invention. All such modifications and variations are intended to be included herein within the scope of the disclosure and present invention and protected by the following claims. In addition, the scope of the present invention includes embodying the functionality of the preferred embodiments of the present invention in logic embodied in hardware and/or software-configured mediums.

Claims
  • 1. A method for providing an interactive program guide (IPG) via a digital home communication terminal (DHCT) located at a customer premises, the method comprising steps of: receiving a plurality of listings of a first type via a subscriber television network;receiving data related to at least one local device capable of communicating with the DHCT;providing a user with an IPG, the IPG including a first IPG menu screen that includes the plurality of listings of the first type and at least one listing of a second type corresponding to the data related to the at least one local device, wherein the plurality of listings of the first type and the at least one listing of the second type are displayed as elements in an IPG grid;providing, within the IPG, a user selectable option on the first IPG menu screen for a user to access a second IPG menu screen, the second IPG menu screen including at least one designation associated with the at least one local device, wherein the second IPG menu screen enables the user to select the at least one designation to be provided to a user on the first IPG menu screen;receiving user input requesting that a functionality instance be provided by the at least one local device, wherein the functionality instance is displayed in the second IPG menu screen and wherein the functionality instance describes an action the local device is capable of performing; andresponsive to receiving the user input, transmitting to the at least one local device a message requesting that the functionality instance be provided.
  • 2. The method of claim 1, wherein responsive to receiving data related to a plurality of local devices capable of communicating with the DHCT, the second IPG menu screen includes a plurality of designations associated with the plurality of local devices, wherein the second IPG menu screen enables the user to select a plurality of designations to be accessible to the user through the first IPG menu screen.
  • 3. The method of claim 1, wherein the IPG grid is configured to display a plurality of time entries responsive to a user highlighting one of the listings of the plurality of listings of the first type.
  • 4. The method of claim 3, wherein the IPG grid is further configured to omit display of time entries responsive to the user highlighting the at least one listing of the second type.
  • 5. The method of claim 1, further comprising providing a user selection screen, the user selection screen configured to enable the user to select an IPG configuration based on user identity.
  • 6. The method of claim 5, further comprising providing a Personal Identification Number (PIN) screen, the PIN screen configured to receive user input related to a PIN.
  • 7. The method of claim 6, further comprising responsive to receiving a user's PIN, accessing a database to confirm the user's identity.
  • 8. The method of claim 1, wherein the subscriber television network includes at least one of the following: a cable television network or a satellite television network.
  • 9. The method of claim 1, wherein the plurality of listings of the first type identify television presentations.
  • 10. The method of claim 1, wherein the DHCT includes a television set-top terminal.
  • 11. The method of claim 1, wherein the at least one local device includes at least one of the following: a thermostat, an alarm clock, and a home security system.
  • 12. The method of claim 1, wherein the at least one local device includes a computer device.
  • 13. The method of claim 12, wherein the computer device is one of a personal digital assistant (PDA), a laptop computer, a desktop computer, or a multi-function mobile telephone.
  • 14. A Digital Home Communication Terminal (DHCT) located at a customer premises, the DHCT comprising: a communications interface that receives functionality information from at least one local device, wherein the functionality information is related to a functionality of the at least one local device;logic configured to provide an Interactive Program Guide (IPG) that includes a first IPG menu screen including: at least one television program listing; andat least one listing related to the at least one local device;logic configured to provide a user selectable option to access a second IPG menu screen, the second IPG menu screen including: at least one functionality listing related to the at least one local device; andat least one user selectable option for displaying at least one of the functionality listings from the second IPG menu screen in the first IPG menu screen;logic configured to receive user input requesting that a functionality instance be provided by the at least one local device, wherein the functionality instance is displayed in the second IPG menu screen and wherein the functionality instance describes an action the local device is capable of performing; andlogic configured to transmit to the at least one local device a message requesting that the functionality instance be provided responsive to receiving the user input.
  • 15. The DHCT of claim 14, wherein the at least one local device includes at least one of the following: a thermostat, an alarm clock, and a home security system.
  • 16. The DHCT of claim 14, wherein the functionality provided by the at least one local device is provided other than via a video monitor.
  • 17. The DHCT of claim 14, wherein the at least one local device includes a computer device.
  • 18. The DHCT of claim 14, wherein the program guide also lists a television functionality that is capable of being provided by the DHCT.
  • 19. A method of providing an interactive program guide (IPG) via a set top terminal (STT) located at a customer premises, the method comprising: receiving a plurality of television presentation listings via a subscriber television network;receiving data related to at least one local device;storing the data related to the at least one local device in a database;creating a functionality listing related to the data related to the at least one local device;providing the user with an IPG that includes a first IPG menu screen, the first IPG menu screen including at least a portion of the television presentation listings in addition to at least one local device listing, the at least one local device listing including data relating to the at least one local device, the first IPG menu screen further including at least one user selectable option to provide a second IPG menu screen;receiving first user input requesting display of the second IPG menu screen, the second IPG menu screen including at least one functionality listing related to the at least one local device, and at least one user selectable option of displaying, in the first IPG menu page, any number of functionality listings;providing the user with the second IPG menu screen, wherein the subscriber television network is one of a cable television network or a satellite television network, wherein the at least one local device is at least one of the following: a thermostat, an alarm clock, and a home security system;receiving second user input requesting that a functionality instance be provided by the at least one local device, wherein the functionality instance is displayed in the second IPG menu screen and wherein the functionality instance describes an action the local device is capable of performing; andresponsive to receiving the second user input, transmitting to the at least one local device a message requesting that the functionality instance be provided.
CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 10/212,017, entitled “LOCALLY-UPDATED INTERACTIVE PROGRAM GUIDE”, filed Aug. 2, 2002, which is incorporated herein by reference in its entirety.

US Referenced Citations (450)
Number Name Date Kind
4215366 Davidson Jul 1980 A
4290081 Foerster Sep 1981 A
4439784 Furukawa et al. Mar 1984 A
4535355 Arn et al. Aug 1985 A
4540958 Neyens et al. Sep 1985 A
4578533 Pierce Mar 1986 A
4644526 Wu Feb 1987 A
4686564 Masuko et al. Aug 1987 A
4706121 Young Nov 1987 A
4751578 Reiter et al. Jun 1988 A
4885803 Hermann et al. Dec 1989 A
4908713 Levine Mar 1990 A
4916532 Streck et al. Apr 1990 A
4963994 Levine Oct 1990 A
4963995 Lang Oct 1990 A
5010299 Nishizawa et al. Apr 1991 A
5010399 Goodman et al. Apr 1991 A
5038211 Hallenbeck Aug 1991 A
5048054 Eyuboglu et al. Sep 1991 A
5155591 Wachob Oct 1992 A
5168372 Sweetser Dec 1992 A
5251074 Hamma et al. Oct 1993 A
5253066 Vogel Oct 1993 A
5293357 Hallenbeck Mar 1994 A
5381449 Jasper et al. Jan 1995 A
5406626 Ryan Apr 1995 A
5412416 Nemirofsky May 1995 A
5479268 Young et al. Dec 1995 A
5481542 Longston et al. Jan 1996 A
5508815 Levine Apr 1996 A
5515377 Home et al. May 1996 A
5524051 Ryan Jun 1996 A
5553211 Uotani Sep 1996 A
5568272 Levine Oct 1996 A
5574964 Hamlin Nov 1996 A
5579308 Humpleman Nov 1996 A
5590195 Ryan Dec 1996 A
5600364 Hendricks et al. Feb 1997 A
5600573 Hendricks et al. Feb 1997 A
5600707 Miller, II Feb 1997 A
5621793 Bednarek et al. Apr 1997 A
5636247 Kamerman et al. Jun 1997 A
5638423 Grube et al. Jun 1997 A
5642384 Ramesh Jun 1997 A
5652772 Isaksson et al. Jul 1997 A
5657072 Aristides et al. Aug 1997 A
5666151 Kondo et al. Sep 1997 A
5671607 Clemens et al. Sep 1997 A
5682206 Wehmeyer et al. Oct 1997 A
5699105 Chen et al. Dec 1997 A
5701383 Russo et al. Dec 1997 A
5708961 Hylton et al. Jan 1998 A
5714945 Sakuma et al. Feb 1998 A
5715020 Kuroiwa et al. Feb 1998 A
5715277 Goodson et al. Feb 1998 A
5732359 Baranowsky et al. Mar 1998 A
5734437 Back Mar 1998 A
5751806 Ryan May 1998 A
5758257 Herz et al. May 1998 A
5760822 Coutinho Jun 1998 A
5774527 Handelman et al. Jun 1998 A
5778181 Hidary et al. Jul 1998 A
5787472 Dan et al. Jul 1998 A
5793413 Hylton et al. Aug 1998 A
5793414 Shaffer Aug 1998 A
5796442 Gove et al. Aug 1998 A
5801787 Schein et al. Sep 1998 A
5805763 Lawler et al. Sep 1998 A
5808659 Coutinho et al. Sep 1998 A
5809204 Young et al. Sep 1998 A
5815794 Williams Sep 1998 A
5828403 DeRodeff et al. Oct 1998 A
5835128 MacDonald et al. Nov 1998 A
5835602 Lang Nov 1998 A
5838873 Blatter et al. Nov 1998 A
5850218 LaJoie et al. Dec 1998 A
5850340 York Dec 1998 A
5851149 Xidos et al. Dec 1998 A
5867485 Chambers et al. Feb 1999 A
5872644 Yamazaki et al. Feb 1999 A
5883677 Hofmann Mar 1999 A
5886732 Humpleman Mar 1999 A
5886753 Shinyagaito et al. Mar 1999 A
5915068 Levine Jun 1999 A
5920801 Thomas et al. Jul 1999 A
5930247 Miller, II et al. Jul 1999 A
5936660 Gurantz Aug 1999 A
5940073 Klosterman et al. Aug 1999 A
5940387 Humpleman Aug 1999 A
5970053 Schick et al. Oct 1999 A
5970386 Williams Oct 1999 A
5983068 Tomich et al. Nov 1999 A
5990927 Hendricks et al. Nov 1999 A
5995258 Weber et al. Nov 1999 A
5999622 Yasukawa et al. Dec 1999 A
6005861 Humpleman Dec 1999 A
6005876 Cimini, Jr. et al. Dec 1999 A
6006257 Slezak Dec 1999 A
6014546 Georges et al. Jan 2000 A
6018768 Ullman et al. Jan 2000 A
6023603 Matsubara Feb 2000 A
6026150 Frank Feb 2000 A
6037998 Usui et al. Mar 2000 A
6052556 Sampsell Apr 2000 A
6055355 Lee Apr 2000 A
6061449 Candelore et al. May 2000 A
6069621 Schupak May 2000 A
6073122 Wool Jun 2000 A
6091320 Odinak Jul 2000 A
6091767 Westerman Jul 2000 A
6100883 Hoarty Aug 2000 A
6100936 Jordan et al. Aug 2000 A
6115456 Nolde Sep 2000 A
6118873 Lotspiech et al. Sep 2000 A
6119154 Weaver et al. Sep 2000 A
6122482 Green, Sr. et al. Sep 2000 A
6125103 Bauml et al. Sep 2000 A
6133912 Montero Oct 2000 A
6151493 Sasakura et al. Nov 2000 A
6166744 Jaszlics et al. Dec 2000 A
6169543 Wehmeyer Jan 2001 B1
6172712 Beard Jan 2001 B1
6175343 Mitchell et al. Jan 2001 B1
6175551 Awater et al. Jan 2001 B1
6177931 Alexander et al. Jan 2001 B1
6177963 Foye et al. Jan 2001 B1
6181784 Duran et al. Jan 2001 B1
6182287 Schneidewend et al. Jan 2001 B1
6188700 Kato et al. Feb 2001 B1
6202211 Williams, Jr. Mar 2001 B1
6208669 Cimini, Jr. et al. Mar 2001 B1
6215526 Barton et al. Apr 2001 B1
6219839 Sampsell Apr 2001 B1
6229895 Son et al. May 2001 B1
6230162 Kumar et al. May 2001 B1
6233389 Barton et al. May 2001 B1
6236653 Dalton et al. May 2001 B1
6240555 Shoff et al. May 2001 B1
6243142 Mugura et al. Jun 2001 B1
6263503 Margulis Jul 2001 B1
6285746 Duran et al. Sep 2001 B1
6286140 Ivanyi Sep 2001 B1
6286142 Ehreth Sep 2001 B1
6305017 Satterfield Oct 2001 B1
6310886 Barton Oct 2001 B1
6314146 Tellado et al. Nov 2001 B1
6317884 Eames et al. Nov 2001 B1
6324338 Wood et al. Nov 2001 B1
6327418 Barton Dec 2001 B1
6330334 Ryan Dec 2001 B1
6333937 Ryan Dec 2001 B1
6353929 Houston Mar 2002 B1
6356309 Masaki et al. Mar 2002 B1
6377782 Bishop et al. Apr 2002 B1
6378130 Adams Apr 2002 B1
6411820 Margarit et al. Jun 2002 B1
6415031 Colligan et al. Jul 2002 B1
6418558 Roberts et al. Jul 2002 B1
6421706 McNeill et al. Jul 2002 B1
6424947 Tsuria et al. Jul 2002 B1
6438165 Normile Aug 2002 B2
6441832 Tao et al. Aug 2002 B1
6442755 Lemmons et al. Aug 2002 B1
6452923 Gerszberg et al. Sep 2002 B1
6459427 Mao et al. Oct 2002 B1
6473559 Knudson et al. Oct 2002 B1
6481013 Dinwiddie et al. Nov 2002 B1
6483548 Allport Nov 2002 B1
6493875 Eames et al. Dec 2002 B1
6496980 Tiillman et al. Dec 2002 B1
6505348 Knowles et al. Jan 2003 B1
6516029 Wang Feb 2003 B1
6526581 Edson Feb 2003 B1
6530085 Perlman Mar 2003 B1
6535717 Matsushima et al. Mar 2003 B1
6536041 Knudson et al. Mar 2003 B1
6542610 Traw et al. Apr 2003 B2
6556557 Cimini, Jr. et al. Apr 2003 B1
6567981 Jeffrey May 2003 B1
6578070 Weaver et al. Jun 2003 B1
6588017 Calderone Jul 2003 B1
6594798 Chou et al. Jul 2003 B1
6614936 Wu et al. Sep 2003 B1
6622304 Carhart Sep 2003 B1
6622307 Ho Sep 2003 B1
6631522 Erdelyi Oct 2003 B1
6637031 Chou Oct 2003 B1
6675385 Wang Jan 2004 B1
6681326 Son et al. Jan 2004 B2
6697426 Van Der Schaar et al. Feb 2004 B1
6697489 Candelore Feb 2004 B1
6704028 Wugofski Mar 2004 B2
6711132 Lazarus Mar 2004 B2
6735221 Cherubini May 2004 B1
6735312 Abdalla et al. May 2004 B1
6754905 Gordon et al. Jun 2004 B2
6757906 Look et al. Jun 2004 B1
6766526 Ellis Jul 2004 B1
6769127 Bonomi et al. Jul 2004 B1
6771908 Eijk et al. Aug 2004 B2
6785258 Garcia, Jr. et al. Aug 2004 B1
6785901 Horiwitz et al. Aug 2004 B1
6788740 Van der Schaar et al. Sep 2004 B1
6789106 Eyer et al. Sep 2004 B2
6791995 Azenkot et al. Sep 2004 B1
6795205 Gacek Sep 2004 B1
6798838 Ngo Sep 2004 B1
6804357 Ikonen et al. Oct 2004 B1
6816194 Zhang et al. Nov 2004 B2
6816904 Ludwig et al. Nov 2004 B1
6845486 Yamada et al. Jan 2005 B2
6864778 Musschebroeck et al. Mar 2005 B2
6868292 Ficco et al. Mar 2005 B2
6870570 Bowser Mar 2005 B1
6889385 Rakib et al. May 2005 B1
6904522 Benardeau et al. Jun 2005 B1
6915529 Suematsu et al. Jul 2005 B1
6922843 Herrington et al. Jul 2005 B1
6930788 Iwamoto et al. Aug 2005 B1
6941515 Wilkins Sep 2005 B1
6950517 Candelore Sep 2005 B2
6954897 Noguchi et al. Oct 2005 B1
6957344 Goldshlag et al. Oct 2005 B1
6978474 Sheppard et al. Dec 2005 B1
6996623 Kawano et al. Feb 2006 B1
6996837 Miura et al. Feb 2006 B1
7020890 Suematsu et al. Mar 2006 B1
7020892 Levesque et al. Mar 2006 B2
7039169 Jones May 2006 B2
7039245 Hamery May 2006 B1
7042526 Borseth May 2006 B1
7047305 Brooks et al. May 2006 B1
7054289 Foster et al. May 2006 B1
7065781 Entwistle Jun 2006 B1
7093295 Saito Aug 2006 B1
7114174 Brooks et al. Sep 2006 B1
7116894 Chatterton Oct 2006 B1
7127734 Amit Oct 2006 B1
7130576 Gurantz et al. Oct 2006 B1
7139398 Candelore et al. Nov 2006 B2
7140033 Durden et al. Nov 2006 B1
7146628 Gordon et al. Dec 2006 B1
7155012 Candelore et al. Dec 2006 B2
7184550 Graunke Feb 2007 B2
7185355 Ellis et al. Feb 2007 B1
7190901 Farmer et al. Mar 2007 B2
7209667 Lindblad Apr 2007 B2
7218738 Pedlow, Jr. et al. May 2007 B2
7222358 Levionson et al. May 2007 B2
7231516 Sparrell et al. Jun 2007 B1
7233669 Candelore Jun 2007 B2
7234155 Kay et al. Jun 2007 B1
7260829 Hendricks et al. Aug 2007 B1
7278154 Harrison et al. Oct 2007 B2
7305700 Boynton et al. Dec 2007 B2
7310355 Krein et al. Dec 2007 B1
7313811 Sheppard et al. Dec 2007 B1
7336787 Unger et al. Feb 2008 B2
7346120 McCorkle Mar 2008 B2
7346134 Smith Mar 2008 B2
7350225 Ovadia Mar 2008 B2
7360233 Russ et al. Apr 2008 B2
7360235 Davies et al. Apr 2008 B2
7366914 Graunke Apr 2008 B2
7392389 Kori Jun 2008 B2
7434246 Florence Oct 2008 B2
7487532 Robertson et al. Feb 2009 B2
7516470 Russ et al. Apr 2009 B2
7545935 Claussen Jun 2009 B2
7574723 Putterman et al. Aug 2009 B2
7603684 Ellis Oct 2009 B1
20010005906 Humpleman Jun 2001 A1
20010011373 Inoue Aug 2001 A1
20010017920 Son et al. Aug 2001 A1
20010030664 Shulman et al. Oct 2001 A1
20010039660 Vasilevsky et al. Nov 2001 A1
20020002707 Ekel et al. Jan 2002 A1
20020007485 Rodriguez et al. Jan 2002 A1
20020007493 Butler et al. Jan 2002 A1
20020010936 Adam Jan 2002 A1
20020019984 Rakib Feb 2002 A1
20020035726 Corl Mar 2002 A1
20020035729 Diep Mar 2002 A1
20020040475 Yap et al. Apr 2002 A1
20020044762 Wood et al. Apr 2002 A1
20020051200 Chang et al. May 2002 A1
20020051581 Takeuchi et al. May 2002 A1
20020056112 Dureau et al. May 2002 A1
20020059615 Okawara et al. May 2002 A1
20020059617 Terakado et al. May 2002 A1
20020059623 Rodriguez et al. May 2002 A1
20020059637 Rakib May 2002 A1
20020059642 Russ et al. May 2002 A1
20020066101 Gordon et al. May 2002 A1
20020067437 Tsubouchi et al. Jun 2002 A1
20020069417 Kliger et al. Jun 2002 A1
20020083438 So et al. Jun 2002 A1
20020087996 Bi et al. Jul 2002 A1
20020090198 Rosenberg et al. Jul 2002 A1
20020095673 Leung et al. Jul 2002 A1
20020095689 Novak Jul 2002 A1
20020100041 Rosenbert et al. Jul 2002 A1
20020104001 Lotspiech et al. Aug 2002 A1
20020108109 Harris et al. Aug 2002 A1
20020108121 Alao et al. Aug 2002 A1
20020116626 Wood Aug 2002 A1
20020122045 Woodson et al. Sep 2002 A1
20020133558 Fenno et al. Sep 2002 A1
20020137517 Williams et al. Sep 2002 A1
20020138830 Nagaoka et al. Sep 2002 A1
20020141582 Kocher et al. Oct 2002 A1
20020144262 Plotnick et al. Oct 2002 A1
20020146237 Safadi Oct 2002 A1
20020154892 Hoshen et al. Oct 2002 A1
20020157112 Kuhn Oct 2002 A1
20020166124 Gurantz et al. Nov 2002 A1
20020174430 Ellis et al. Nov 2002 A1
20020174433 Baumgartner et al. Nov 2002 A1
20020174444 Gatto et al. Nov 2002 A1
20020178445 Eldering Nov 2002 A1
20020187779 Freeny Dec 2002 A1
20020194596 Srivastava Dec 2002 A1
20020196941 Isaacson et al. Dec 2002 A1
20020198762 Donato Dec 2002 A1
20030005300 Noble et al. Jan 2003 A1
20030005452 Rodriguez Jan 2003 A1
20030009763 Crinon et al. Jan 2003 A1
20030014750 Kamen Jan 2003 A1
20030026423 Unger et al. Feb 2003 A1
20030028886 Wang et al. Feb 2003 A1
20030028890 Swart et al. Feb 2003 A1
20030044165 Wood et al. Mar 2003 A1
20030063003 Bero et al. Apr 2003 A1
20030063814 Herley Apr 2003 A1
20030069964 Shteyn et al. Apr 2003 A1
20030074565 Wasilewski et al. Apr 2003 A1
20030093812 Chang et al. May 2003 A1
20030097563 Moroney et al. May 2003 A1
20030097655 Novak May 2003 A1
20030097662 Russ et al. May 2003 A1
20030108199 Pinder et al. Jun 2003 A1
20030108336 Schramel Jun 2003 A1
20030135859 Putterman et al. Jul 2003 A1
20030142664 Gerszberg et al. Jul 2003 A1
20030145336 Matsuzaki et al. Jul 2003 A1
20030149986 Mayfield et al. Aug 2003 A1
20030149991 Reidhead et al. Aug 2003 A1
20030154477 Hassell et al. Aug 2003 A1
20030159140 Candelore Aug 2003 A1
20030159157 Chan Aug 2003 A1
20030177495 Needham et al. Sep 2003 A1
20030181160 Hirsch Sep 2003 A1
20030192047 Gaul et al. Oct 2003 A1
20030192061 Hwangbo et al. Oct 2003 A1
20030202772 Dow et al. Oct 2003 A1
20030204856 Buxton Oct 2003 A1
20030207672 Dang et al. Nov 2003 A1
20030233667 Umipig et al. Dec 2003 A1
20030237093 Marsh Dec 2003 A1
20040003393 Gutta et al. Jan 2004 A1
20040003398 Donian et al. Jan 2004 A1
20040012717 Sprague et al. Jan 2004 A1
20040017913 Hawkes et al. Jan 2004 A1
20040025179 Russ et al. Feb 2004 A1
20040028216 Freyman Feb 2004 A1
20040032902 Koifman et al. Feb 2004 A1
20040032950 Graunke Feb 2004 A1
20040034874 Hord et al. Feb 2004 A1
20040040035 Carlucci et al. Feb 2004 A1
20040049793 Chou Mar 2004 A1
20040051638 Green Mar 2004 A1
20040054771 Roe et al. Mar 2004 A1
20040060072 Klein Mar 2004 A1
20040064714 Carr Apr 2004 A1
20040068739 Russ Apr 2004 A1
20040068744 Claussen et al. Apr 2004 A1
20040068747 Robertson Apr 2004 A1
20040068752 Parker Apr 2004 A1
20040068753 Robertson et al. Apr 2004 A1
20040068754 Russ Apr 2004 A1
20040078825 Murphy Apr 2004 A1
20040090971 Anderson, IV May 2004 A1
20040100897 Shattil May 2004 A1
20040104926 Murray et al. Jun 2004 A1
20040107445 Amit Jun 2004 A1
20040109497 Koval Jun 2004 A1
20040117483 Singer et al. Jun 2004 A1
20040117831 Ellis et al. Jun 2004 A1
20040128681 Hancock Jul 2004 A1
20040128682 Liga Jul 2004 A1
20040133911 Russ et al. Jul 2004 A1
20040163130 Gray et al. Aug 2004 A1
20040172658 Rakib et al. Sep 2004 A1
20040177369 Akins, III Sep 2004 A1
20040177381 Kliger et al. Sep 2004 A1
20040220791 Lamkin et al. Nov 2004 A1
20040221304 Sparrel Nov 2004 A1
20040221308 Cuttner et al. Nov 2004 A1
20040250272 Durden et al. Dec 2004 A1
20040250273 Swix et al. Dec 2004 A1
20040255326 Hicks et al. Dec 2004 A1
20040257976 Alsobrook et al. Dec 2004 A1
20040261100 Huber et al. Dec 2004 A1
20040261126 Addington et al. Dec 2004 A1
20050004873 Pou et al. Jan 2005 A1
20050005287 Claussen Jan 2005 A1
20050022248 Robertson et al. Jan 2005 A1
20050028190 Rodriguez et al. Feb 2005 A1
20050028208 Ellis et al. Feb 2005 A1
20050030910 Robertson et al. Feb 2005 A1
20050042999 Rappaport Feb 2005 A1
20050050557 Gabry Mar 2005 A1
20050063422 Lazar et al. Mar 2005 A1
20050065780 Wiser et al. Mar 2005 A1
20050044762 Wood et al. Apr 2005 A1
20050073945 Garcia, Jr. et al. Apr 2005 A1
20050076357 Fenne Apr 2005 A1
20050155052 Ostrowska Jul 2005 A1
20050234992 Haberman Oct 2005 A1
20050235323 Ellis et al. Oct 2005 A1
20050251824 Thomas et al. Nov 2005 A1
20050251827 Ellis et al. Nov 2005 A1
20050262542 DeWeese et al. Nov 2005 A1
20060010481 Wall et al. Jan 2006 A1
20060069645 Chen et al. Mar 2006 A1
20060080360 Young et al. Apr 2006 A1
20060095939 Jutzi May 2006 A1
20060117354 Schutte et al. Jun 2006 A1
20060150225 Hegg et al. Jul 2006 A1
20060184967 Maynard et al. Aug 2006 A1
20060218581 Ostrowska et al. Sep 2006 A1
20060218591 Billmaier et al. Sep 2006 A1
20060259584 Watson et al. Nov 2006 A1
20070022307 Ferrari Jan 2007 A1
20070077038 Wall Apr 2007 A1
20070079341 Russ et al. Apr 2007 A1
20070094698 Bountour et al. Apr 2007 A1
20070143776 Russ Jun 2007 A1
20070300258 O'Connor et al. Dec 2007 A1
20080066085 Davies et al. Mar 2008 A1
20080072272 Robertson et al. Mar 2008 A1
20080148325 Robertson et al. Jun 2008 A1
20080201758 Davies et al. Aug 2008 A1
20080271094 Kliger et al. Oct 2008 A1
20080301738 Davies et al. Dec 2008 A1
20090077586 Wall et al. Mar 2009 A1
20090083819 Robertson et al. Mar 2009 A1
20090150922 Russ et al. Jun 2009 A1
20090193452 Russ et al. Jul 2009 A1
20100175093 Arnold et al. Jul 2010 A1
Foreign Referenced Citations (46)
Number Date Country
0912054 Apr 1999 EP
0989557 Mar 2000 EP
1028551 Aug 2000 EP
107600 Jun 2001 EP
1117214 Jul 2001 EP
1175087 Jul 2001 EP
1145244 Oct 2001 EP
1213919 Jun 2002 EP
1443766 Aug 2004 EP
1463324 Sep 2004 EP
WO 9525402 Sep 1995 WO
WO 199619079 Jun 1996 WO
WO 9826584 Jun 1998 WO
WO 9837648 Aug 1998 WO
WO 9901984 Jan 1999 WO
WO 9935844 Jul 1999 WO
WO 199935842 Jul 1999 WO
WO 9965244 Dec 1999 WO
WO 200004707 Jan 2000 WO
WO 0007372 Feb 2000 WO
WO 0035201 Jun 2000 WO
WO 200045590 Aug 2000 WO
WO 200101677 Jan 2001 WO
WO 0147234 Jun 2001 WO
WO 0156286 Aug 2001 WO
WO 200156297 Aug 2001 WO
WO 0174003 Oct 2001 WO
WO 200178382 Oct 2001 WO
WO 0186948 Nov 2001 WO
WO 200207378 Jan 2002 WO
WO 0211418 Feb 2002 WO
WO 0211446 Feb 2002 WO
WO 0217642 Feb 2002 WO
WO 200219623 Mar 2002 WO
WO 200247388 Jun 2002 WO
WO 02097997 Dec 2002 WO
WO 03032620 Apr 2003 WO
WO 03039154 May 2003 WO
WO 2004023717 Mar 2004 WO
WO 2004032514 Apr 2004 WO
WO 2004036808 Apr 2004 WO
WO 2004036892 Apr 2004 WO
WO 2004064296 Jul 2004 WO
WO 2004098190 Nov 2004 WO
WO 2005034515 Apr 2005 WO
WO 2006093741 Sep 2006 WO
Related Publications (1)
Number Date Country
20090150922 A1 Jun 2009 US
Continuations (1)
Number Date Country
Parent 10212017 Aug 2002 US
Child 12352140 US