Abstract:
A system and method for displaying an electronic program guide and for remotely controlling the recording functionality of an appliance. A user registers with a Web site to enable the downloading of an electronic program guide (“EPG”) to a portable device. The downloaded and displayable EPG includes a listing of programs from which the user may select a program of interest. In response to receiving input from the user requesting that the program be recorded, data indicative of the recording request is stored in the portable device. Then, when it is determined that the portable device is able to establish communication with the appliance (either directly or via an intermediate PC), the data indicative to the recording request is provided to the appliance to effect the recording of the program.

Description:
RELATED APPLICATION INFORMATION 
   This application claims the benefit of U.S. Provisional Patent Application No. 60/372,874, filed on Apr. 15, 2002, which is incorporated herein by reference in its entirety. 
   This application claims the benefit of U.S. Provisional Application Ser. No. 60/344,020, filed on Dec. 20, 2001, which is incorporated herein by reference in its entirety. 

   BACKGROUND OF THE INVENTION 
   This invention generally relates to electronic portable electronic devices having a display and communication capabilities. Exemplary devices include personal digital assistants (“PDAs”), Web Tablets, touch screen remote controls, lap-top computers, and the like. 
   In the art it is known to provide a program guide feature whereby data relating to current and/or future programming (television, radio, Internet, or the like) is downloaded into a portable device and stored for later browsing by the user. It is also known to equip such portable devices with the ability to transmit remote control signals (IR or RF) to change channels on a tuning device in response to selection by a consumer of a displayed guide entry. Where program guide data is presented not on the portable device but rather on the TV set of a user, the program information being supplied by a tuning device such as a cable or satellite set-top box, it is also know to provide a feature whereby user selection of a program item which is scheduled to be shown sometime in the future results in the automatic recording of that program. This type of automated recording is accomplished using capabilities that are built-in to the appliance, for example, the capabilities offered by TiVO, Replay TV, Ultimate TV, Keen Media, and others or, for example, by control of the consumer&#39;s VCR via an “IR blaster.” 
   SUMMARY OF THE INVENTION 
   In accordance with the description that follows, a system and method is provided for controlling the recording functionality of an appliance using an electronic program guide displayed on an electronic portable device. As will be appreciated, providing this functionality to a portable device overcomes the disadvantages seen in the prior art resulting from the fact that a consumer user is not necessarily in front of their recording appliance when browsing the program guide information. Rather, the consumer may be in another room, another building (e.g. at work), or even in another city. 
   To overcome this problem, the system and method described hereinafter will accept the consumer&#39;s recording requests, store them, and automatically convey them to a target recording apparatus at a later time when the portable device is able to communicate with the recording appliance. The communication may take the form of docking the portable device with a computer that shares a home network with a network-enabled appliance. e.g., a PVR such as Sonicblue&#39;s ReplayTV 4000 brand system; via wireless communication over a Personal Area Network implemented in the consumer&#39;s home using, for example, Bluetooth or IEEE 802.11 networking, or via direct interaction with a suitably-equipped target appliance once the portable device and the appliance are in communication range. This communication may also occur in any of the manners described above but using the Internet or PSTN as an intermediary. In this manner, the system and method described hereinafter provides a consumer with the ability to browse and select program material for future recording at any location and have these requests automatically entered into his recording apparatus at some later time when his portable device finds itself able to establish communications with a target recording apparatus. 
   A better understanding of the objects, advantages, features, properties and relationships of the invention will be obtained from the following detailed description and accompanying drawings which set forth an illustrative embodiment and which are indicative of the various ways in which the principles of the invention may be employed. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     For a better understanding of the various aspects of the invention, reference may be had to preferred embodiments shown in the attached drawings in which: 
       FIG. 1  illustrates an exemplary portable device having a remote control application for use in controlling the operation of home appliances; 
       FIG. 2  illustrates exemplary screen shots of a graphical user interface of the portable device of  FIG. 1 ; 
       FIG. 3  illustrates an exemplary network by which program guide information is downloadable to the portable device of  FIG. 1 ; 
       FIG. 4  illustrates a more detailed view of the network illustrated in  FIG. 3 ; 
       FIG. 5  illustrates exemplary screen shots of a graphical user interface of the portable device of  FIG. 1  specifically illustrating interaction with the downloaded program guide information to effect automatic program recording; 
       FIGS. 6-11  illustrate exemplary networks by which the portable device of  FIG. 1  can be used to automatically enable the recording function of a home appliance; 
       FIGS. 12-14  illustrate exemplary registration screens by which the consumer can specify preferences for a downloaded program guide; and 
       FIGS. 15 and 16  illustrate an exemplary program guide in which a portion of the guide viewing area is locked. 
   

   DETAILED DESCRIPTION 
   A portable device  10  having a universal remote control and program guide application is provided. By way of example, representative platforms for the device  10  include, but are not limited to, devices such as remote controls, lap-top computers, Web Tablets and/or PDAs manufactured by HP/Compaq (such as the iPAQ brand PDA), Palm, Visor, Sony, etc. Thus, a preferred underlying platform includes a processor coupled to a memory system comprising a combination of ROM memory, non-volatile read/write memory, and RAM memory (a memory system); a key matrix in the form of physical buttons; an internal clock and timer; a transmission circuit; a power supply; a touch screen display to provide visible feedback to and accept input from a consumer; and I/O circuitry for allowing the device to exchange communications with an external computer such as server and/or client. Additional input circuitry, such as a barcode reader, may also be utilized. 
   To control the operation of the device  10 , the memory system includes executable instructions that are intended to be executed by the processor. In this manner, the processor may be programmed to control the various electronic components within the device  10 , e.g., to monitor power, to cause the transmission of signals, etc. Within the memory system, the ROM portion of memory is preferably used to store fixed programming and data that remains unchanged for the life of the product. The nonvolatile read/write memory, which may be FLASH, EEPROM, battery-backed up RAM, “Smart Card,” memory stick, or the like, is preferably provided to store consumer entered setup data and parameters, downloaded data, etc., as necessary. RAM memory may be used by the processor for working storage as well as to hold data items which, by virtue of being backed up or duplicated on an external computer (for example, a client device) are not required to survive loss of battery power. While the described memory system comprises all three classes of memory, it will be appreciated that, in general, the memory system can be comprised of any type of computer-readable media, such as ROM, RAM, SRAM, FLASH, EEPROM, or the like in combination. Preferably, however, at least part of the memory system should be non-volatile or battery backed such that basic setup parameters and operating features will survive loss of battery power. In addition, such memories may take the form of a chip, a hard disk, a magnetic disk, and/or an optical disk without limitation. 
   For commanding the operation of appliances of different makes, models, and types, the memory system may also include a command code library. The command code library is comprised of a plurality of command codes that may be transmitted from the device  10  under the direction of the remote control application for the purpose of controlling the operation of an appliance. The memory system may also includes instructions which the processor uses in connection with the transmission circuit to cause the command codes to be transmitted in a format recognized by an identified appliance. While the transmission circuit preferably utilizes infrared transmissions, it will be appreciated that other forms of wired or wireless transmissions, such as radio frequency, may also be used. 
   To identify appliances by type and make (and sometimes model) such that the remote control application of the device  10  is adapted to cause the transmission of command codes in the format appropriate for such identified appliances, information may be entered into the device  10 . Since methods for setting up a remote control application to cause the transmissions of commands to control the operation of specific appliances are well-known, they will not be described in greater detail herein. Nevertheless, for additional details pertaining to remote control application setup, the reader may turn to U.S. Application No. 60/344,020 and U.S. Pat. Nos. 6,225,938, 4,623,887, 5,872,562, 5,614,906, 4,959,810, 4,774,511, and 4,703,359 which are incorporated herein by reference in their entirety. It should also be appreciated that these set-up methods may be used to configure a personal computer to communicate with a home appliance, for example, if the personal computer is anticipated to use wireless communications to command the operation of appliances in a home entertainment network such as described below. 
   To cause the device  10  to perform an action, the device  10  is adapted to be responsive to events, such as a sensed consumer interaction with one or more keys on the key matrix, a sensed consumer interaction with the touch screen display, or a sensed signal from an external source such as a remote computer. In response to an event, appropriate instructions within the memory system are executed. For example, when a hard or soft command key associated with the remote control application is activated on the device  10 , the device  10  may read the command code corresponding to the activated command key from the memory system and transmit the command code to an appliance in a format recognizable by the appliance. It will be appreciated that the instructions within the memory system can be used not only to cause the transmission of command codes to appliances but also to perform local operations. While not limiting, local operations that may be performed by the device that are related to the remote control application include favorite channel setup, macro button setup, command function key relocation, etc. Examples of such local operations can be found in U.S. Pat. Nos. 5,481,256, 5,959,751, 6,014,092, which are incorporated herein by reference in their entirety. 
   As discussed, the platform of the device  10  preferably comprises a general purpose, processor system which is controllable by software. The software may include routines, programs, objects, components, and/or data structures that perform particular tasks that can be viewed as an operating system together with one or more applications. The operating system, such as the “Windows CE” brand operating system or the like, provides an underlying set of management and control functions which are utilized by applications to offer the consumer functions such as calendar, address book, spreadsheet, notepad, Internet browsing, etc., as well as control of appliances. Thus, it is to be understood that applications in addition to or complimentary with the remote control application can also be supported by the device  10  and, as such, in terms of the internal software architecture, the “remote control” application may be but one of several possible applications which may co-exist within the device  10 . 
   In terms of providing operating system functionality, it should also be understood that the demarcation between the portable device  10  and a host/client computer, described in greater detail hereinafter, may vary considerably from product to product. For example, at one extreme the portable device  10  may be nothing more than a slave display and input device in wireless communication with a computer that performs all computational functions. At the other extreme, the portable device  10  may be a fully-functional computer system in its own right complete with local mass storage. It is also to be appreciated that a hardware platform similar to that described above may be used in conjunction with a scaled-down operating system to provide remote control functionality only, i.e., as a standalone application. In all cases, however, the principles expressed herein remain the same. 
   To provide a means by which an consumer can interact with the device  10 , the device  10  is preferably provided with software that implements a graphical user interface. The graphical user interface software may also provide access to additional software, such as a browser application, that is used to display information that may be received from an external computer. Such a graphical user interface system is described in pending U.S. Application Nos. 60/264,767, 60/334,774, and 60/344,020 all of which are incorporated herein by reference in their entirety. 
   For controlling the operation of one or more consumer appliances  12 , as illustrated in  FIG. 1 , the universal remote control application includes a remote control application. Features offered by the remote control application may include a “home page”  20  from which the user may select various functionalities such as, for example, a device control panel  22 , a “Favorites” page  24  (which allows direct tuning to favorite program channels by logo/name), a program guide display  26 , etc. as illustrated in  FIG. 2 . While not intended to be limiting, the program guide may be arranged in a grid having a plurality of cells in which programming information is contained where the cells are arranged in rows corresponding to content providers and columns corresponding to times of day. The program guide display  26  row indicators may be formatted using channel names and/or numbers  38 , as illustrated in  FIG. 2 , or channel logos  39 , as illustrated in  FIG. 3 , to identify soft keys or hard keys (collectively referred to as “buttons”) which the consumer may activate in order to have the device  10  transmit the appropriate remote control command(s) to cause an appliance to tune to a channel corresponding to the labeled button. If used, the channel logo graphics may be included as part of downloaded program guide data, as will be described hereinafter, or the graphics may be linked to and derived from the favorite channel display page(s)  24 . It will also be appreciated that the program guide display  26  may be arranged in numerical or alphabetical sequence by channel, by favorite channel (in the same sequence as they appear in a favorite channels page  24 ), by program type or genre, etc. 
   Data for the program guide display  26  may be obtained over the Internet  30  from a program guide database server  32  using a personal computer  34  and docking station  36  as illustrated in  FIG. 3 . In such a system, the device  10  is periodically docked with the docking station  36  for file synchronization purposes. Since software for providing such synchronization functionality, e.g., Microsoft&#39;s ActiveSync brand synchronization software, is well known and widely used in PDA applications, this functionality will not be discussed in further detail herein. 
   To acquire guide data for use in connection with the remote control application, an exemplary guide data acquisition process is illustrated in  FIG. 4 . As illustrated, raw program guide data  40  is generally available by subscription from entities such as, for example, Tribune Media Services (“TMS”). A program guide data server  32  is normally configured to access the TMS data on a periodic basis, typically once every 24 hours, after TMS&#39;s nightly update is complete. The raw guide data obtained from TMS may then be formatted and stored into a local database  42  associated with the Web server  32 . Additional data, such as graphics  401 , which may be associated with program descriptions, special service information, and/or advertising  402  (e.g., pay-per view), etc. may also be obtained from third-party sources and combined into the database  42  for later delivery to system users. It should also be appreciated that, while the illustrated examples are in the context of a TV program database sourced from TMS, in practice the programming information stored in the server database  42  may be obtained from several different sources and may span more than one type of programming, for example, radio broadcast information, Webcasts, etc. in addition to or as a substitute for TV schedule information. 
   To obtain program guide information, a consumer may log onto the Web server  32  using a personal computer  34  and any standard Web browser such as, for example, Microsoft&#39;s Internet Explorer brand Web browser. The Web server  32  identifies the consumer and their preferences via a combination of log-in data stored in a registration database  46  and/or a “cookie” stored on the consumer&#39;s local hard drive. Referring to  FIGS. 12-14 , the first time the consumer accesses the Web server  32  they may be asked to submit information which includes a zip code  120 , type of service  122  (e.g., cable, satellite, etc.), service provider  130  (e.g., DirectTV, Cox Cable, etc.) and level of service  140  (e.g., basic, extended basic, premium, etc.). Based on this data, the consumer could be presented with a complete channel line-up  144  for their particular service tier and allowed to select which channels they desire to be included in their guide display. Examples of selected and unselected channels are shown at  146  and  148 , respectively, in  FIG. 14 . 
   In addition, the consumer may be requested to indicate how many days of programming information  142  the consumer wishes to download in each session. As these latter parameters are changed, an indication of the estimated size of the file to be downloaded may be displayed for the convenience of the consumer. This is particularly advantageous for consumers that have slower, dial-up communication lines with the Web server  32  in that they may determine the extent of the program guide content to download against download time. 
   The parameters established during this initial interaction with the Web server  32  may then be stored in the registration database/cookie and redisplayed whenever the consumer subsequently accesses the site. Thus, during subsequent visits to the Web server  32 , the consumer may accept all the parameter values “as is” or make changes as desired. Certain of these parameters may also be accumulated by the Web server  32  for statistical purposes (e.g., “How may cable subscribers in Irvine Calif. include MTV in their program guide data?”). While described in terms of a consumer manually accessing the Web server  32  using a Web browser to retrieve the guide data, once the initial preference parameters are obtained the process of downloading program guide data may be automated. For example, the consumer&#39;s computer  34  can be configured to automatically dial out via a PSTN or Internet at a fixed time every night, at some predetermined time interval, etc. to contact the Web server  32  and retrieve the guide data. 
   Based on the identity and preferences of a consumer, a Web server interface  44  and related data extraction programs, illustrated in  FIG. 4 , extract an appropriate subset of the program guide data stored in the database  42  and format this extracted data into a personal guide data file  48  for transfer to the consumer&#39;s computer  34  via the Internet  30 . The transferred guide data file may include program listing information originating from the program guide data provider  40 ; supplemental graphics and/or advertising either associated with particular programs or free standing (originating from program graphics provider(s)  401 ); special channel service information  402  (originating from the service provider of other entities); etc. all of which may be individually tailored to the consumer based on their specified preferences, service type, and/or geographic location. Once located on the consumer&#39;s computer  34 , the file  48  can be automatically transferred to the device  10  via the synchronization process the next time the device  10  is docked with the computer  34 . 
   The channel guide data downloaded to the portable device  10  may include panels (individual entries), rows (horizontally across the time axis), and/or columns (vertically along the channel axis) and may include advertising or other information interspersed within or overlaying the panels. As noted, advertising or other information data may be inserted by the data extraction program of the Web server  32  based on the preferences of a consumer, the specified service type, the geographic location of the user, and/or data that the service provider desires the consumer to be exposed to. In addition, the guide display application on the portable device  10  may include the ability to lock one or more portions of the guide display to a specific set or group of data. While the locked portions may be unmovable by the consumer from a specified location within the display or may dynamically change location based on the manner that the consumer is interacting with the guide, it is preferred that the locked portion remain visible to the consumer at all times that the guide is being viewed. 
   By way of example, referring to  FIG. 15 , a subscriber to AT&amp;T&#39;s digital cable service in zip code area “90630” may receive a guide data file which includes a data block permanently assigning the bottom row  150  of the guide display to a pay-per-view channel. In this example, as the consumer scrolls through the other channel information  152  the display in area  150  remains in a fixed, visible location so that the consumer is constantly able to directly access the “In Demand” pay-per-view preview channel by touching the AT&amp;T logo button  154  (i.e., in response to a selection of the soft key labeled “In Demand” the device  10  will be caused to transmit the commands to access the service). 
   It is to be understood that the fixed portion of the guide  150  need not be used to display only channels and/or program information by may also be used to display other information, such as advertising (e.g., an MSO may place an advertisement for its service into the guide data of consumers that not note subscribe to cable). Furthermore, the content in the fixed portion  150  need not be static and may vary with time or channel. For example, within the fixed portion  150  may appear information advertising a series of specific shows or events, either upcoming or in progress, information advertising goods for sale associated with or related to a particular show or channel, etc. as illustrated in  FIG. 16  (e.g., an advertisement  160  for goods associated with a particular television program that is due to air shortly is shown). Still further, this locked portion  150  may be embedded within the guide data to persist over a given time period, for example, thirty minutes before through thirty minutes after a show, or at such other time(s) as the advertiser desires. The fixed portion  150  may be associated with a button  162  to switch to a channel on which more information regarding the merchandise is available, a button to switch an appliance to some other channel, or the button  162  may be omitted all together. 
   Turning now to  FIG. 5 , the program guide display  26  is preferably configured such that, if the consumer touches a particular guide listing, e.g., “Friends,” a pop-up window  50  displays additional information regarding the program. The pop-up window  50  may include extended information  57  regarding the program and, in some embodiments, may include supplemental graphics  58  which originated from sources ( 401 ,  402 ) other than the provider of the raw guide data  40 . The pop-up window  50  may also include check boxes, or other graphical user interface elements, such as menus or the like, to accept user input. In the illustrated example, a check box  52  and a check box  54 , which can be selected using conventional GUI techniques, allow the consumer to either tag the program event for future recording or to create a reminder entry in a calendar application resident of the device  10  and/or computer  34 . 
   By way of example, touching the “Record” check box  52  causes the data regarding this program event (time, channel, duration, etc.) to be entered into a recording schedule data file  62  (shown in  FIG. 3 ) located within the device  10 . To confirm the acceptance of the recording request in the data file  63 , the appearance of the check box  52  may be caused to change  56 . The device  10  may also perform conflict resolution (e.g., to determine if there are any overlapping requests) interactively at this level, or may simply store all requests for later resolution by the recoding device. It will also be appreciated that the data regarding the program event may be stored as described above (date, time, channel) using one or more compressed forms, as pointers into guide database entries in the event the target recording appliance and the portable device  10  use a common data source for guide information, etc. It is also desired to allow the consumer to remove recording request data from the file for example, by returning to a program listing and un-checking the box  52 . 
   In certain embodiments, multiple recording appliances may be supported via multiple recording schedule data files. In this event, the device  10  may be configured to default to a particular device (and its corresponding file) unless specified otherwise by the consumer. To this end, additional check boxes, a pull-down menu, or the like may be provided by which the consumer can specify an intended target device. Thus, while the discussions herein have assumed a single set of recording schedule data, those of skill in the art will appreciated how to easily modify the teachings herein so that multiple devices are supported via additional instances of the data set. 
   Returning now to  FIG. 3 , the consumer&#39;s computer  34  may also connected to a home network  64  which may be wired or wireless. In such a case, also attached to the home network would be a network-enabled appliance, for example, a ReplayTV 4000 brand personal video recorder (“PVR”) from Sonicblue Inc. When the portable device  10  is docked with the computer  34  for file synchronization, not only is any updated guide data  48  transferred from the computer to the device  10 , but the contents of the recording schedule request file  62  could be transferred from the device  10  to the computer  34 . The recording request data  62  can then be transferred from the computer  34  to the PVR  60  via the home network  64 . In this manner, a consumer may browse a device-based program guide and enter recording requests wherever the consumer happens to be located and these requests will be logged and automatically transferred to the recording appliance at a later time. 
     FIGS. 7 through 11  show alternative embodiments of networks employing this principle. In  FIG. 7 , the device  10  is in wireless communication with the computer  34 , for example, as part of a Bluetooth personal area network where the device  10  becomes active when brought into the house. Such a configuration is also possible using IEEE 802.11 technology.  FIG. 8  shows how the device  10  may be docked at a remote computer  80  (e.g. in the consumer&#39;s office) which acquires the recording schedule request data and transfers it via the Internet  30  to the consumer&#39;s home computer  34  where it is processed as described previously.  FIG. 9  shows a similar arrangement except that in this case the office system includes a wireless Internet gateway device  90  which is used by the device  10  to directly transfer the recording schedule request data to the Internet  30  and thereby to the computer  34 .  FIG. 10  shows an arrangement similar to  FIG. 9  except in this case both ends are equipped with wireless Internet gateways and the device  10  transfers the recording schedule request data directly to the recording appliance  60 . Still further,  FIG. 11  shows a system in which a recording appliance  110  is not network capable. In this case, the device  10  transfers the recording schedule request data directly to the recording appliance  110  when it is brought into proximity to the recording appliance  110 , using either infrared or RF wireless communication. Transfer in this case may be manually initiated by the consumer, triggered automatically (for example, by the device  10  sensing it has been brought into range of a Bluetooth personal area network of which the recording appliance  110  is also a member), may be automatically initiated at a user-selected fixed time each day, etc. While specific embodiments of the invention have been described in detail, it will be appreciated by those skilled in the art that various modifications and alternatives to those details could be developed in light of the overall teachings of the disclosure. For example, it will be appreciated that while a PVR was utilized in the illustrative example set forth above, in fact any appliance capable of recording program material, including the computer itself, may be scheduled in this manner. In addition, it will be appreciated that the device can be setup such that an indication to a record a program can be accomplished by allowing a consumer to directly select a program from the guide without the need for providing a pop-up window or additional graphical user interface selection elements. Accordingly, the particular arrangement disclosed is meant to be illustrative only and not limiting as to the scope of the invention which is to be given the full breadth of the appended claims and any equivalents thereof. All of the references cited herein are hereby incorporated by reference in their entirety.