Server-based programming of appliances via an information network
Claim Score by NHIP
Abstract
The invention includes a system and method of programming a recording device to record at least one broadcast program. The method receives at a server, through a communications network, a request to program the recording device. The server customizes a page of programming information, including an identification of the one broadcast program. The customizing includes attaching a hyper link to the identified broadcast program and embedding an instruction to the recording device in the hyper link. The server transmits the customized page of programming information for user selection of the identified broadcast program through the hyper link. The request to program the recording device is transmitted through the communications network from a device, such as a cellular telephone, a personal computer or a personal digital assistant.

Term
Term ended
Projected expiry passed 21 March 2022, 4.5 years ago.
- Priority and filed
- Published
- Projected expiry
- Today
24 claims: 4 independent, 20 dependent
- 1A method of programming, via a communications network, a recording device to record at least one broadcast program, the method comprising the steps of:(a) receiving at a server, through the communications network, a request to program the recording device;(b) customizing at the server a page of programming information including an identification of the one broadcast program, the customizing including (i) attaching a hyper link to the identified broadcast program, and (ii) embedding an instruction to the recording device in the hyper link;and (c) transmitting from the server the customized page of programming information for selection of the identified broadcast program.
- 10Broadest claimClaim Score 81, broad(NHIP)A method of programming a video recorder controlled by an appliance comprising the steps of:(a) receiving at a server, remote from the appliance, through a communications network, a first instruction to record at least one broadcast program in the video recorder;and (b) transmitting, from the server to the appliance, a second instruction, through the communications network, in response to the first instruction to control the video recorder.
- 15A method of programming, via a communications network, a recording device to record at least one broadcast program, the method comprising the steps of:(a) requesting, via the communications network, information on broadcast programs;(b) receiving a customized page of programming information including identification of the one broadcast program;(c) navigating the customized page of programming information and selecting the one broadcast program;and (d) programming the recording device via the communications network to record the one broadcast program in response to the selecting in step (c).
- 20A system for programming a video recorder comprising:a server connected to a network;a database accessible by the server including electronic program guide (EPG) information;a video recorder coupled via an appliance to the network;and a communications device accessible to the network;wherein the communications device is configured to access the network and to request the server to program the video recorder to record at least one scheduled broadcast program, the server, in response to the request, is configured to access the database to determine a time corresponding to the scheduled broadcast of the program, and the server is configured to access the network to download to the appliance programming data for the video recorder.
Independent claims4
78 paragraphs in 5 sections, as filed
FIELD OF THE INVENTION
[0001] The present invention relates, in general, to programming and monitoring of appliances. More specifically, the present invention relates to a method and system for programming and monitoring of a recording device through a computer network, such as the Internet.
BACKGROUND OF THE INVENTION
[0002] Scott (U.S. Pat. No., 4,625,080, issued Nov. 25, 1986) discloses a method for remotely programming a video cassette recorder (VCR). A user at a remote location holds a hand held device and enters programming instructions though a keypad. The instructions are encoded and transmitted via telephone lines to a receiver which interfaces with the VCR. The instructions include the channel to be taped and the time and date the taping is to take place.
[0003] The method disclosed by Scott requires user interaction. The user must enter programming instructions into his hand-held device and establish telephone contact with the receiver located adjacent to the VCR. Once the user has established telephone contact, he must place a mouthpiece of the telephone in close proximity to his hand held device and actuate transmission. Programming instructions stored inside the hand held device are then transmitted through a speaker, along the telephone lines, to a second telephone and finally to the receiver where the instructions are stored. The receiver interfaces with the VCR and causes it to respond to the programming instructions. The user does not know whether the receiver is successful in controlling the VCR.
[0004] Hashimoto (U.S. Pat. No. 5,420,913, issued May 30, 1995) discloses a remotely controlled device for making recording reservations on a VCR using a remote push button telephone to enter recording reservation codes, such as PlusCodes. The user may also listen to the audio portion of the television program as it is being recorded. The method disclosed by Hashimoto requires user interaction. The user first establishes telephone contact with the device and, using the push button telephone, programs the VCR to record a specific program.
[0005] An appliance generally requires a processor and a memory for accepting user programming instructions and executing the instructions. The processor and memory tend to increase the cost of the appliance. In addition, software programs for operation of the appliance are typically embedded in the appliance at the time of manufacture and are difficult, if not impossible, to upgrade.
[0006] There is a need for an improved method for remotely programming and monitoring a recording device without requiring user interaction. There is also a need for providing a user an easy and simple approach to remotely programming the recording device. This invention addresses those needs.
SUMMARY OF THE INVENTION
[0007] To meet this and other needs, and in view of its purposes, the present invention includes a method of programming a recording device to record at least one broadcast program. The method receives at a server, through a communications network, a request to program the recording device. The server customizes a page of programming information, including an identification of the one broadcast program. The customizing includes attaching a hyper link to the identified broadcast program and embedding an instruction to the recording device in the hyper link. The server transmits the customized page of programming information for user selection of the identified broadcast program through the hyper link. The request to program the recording device is transmitted through the communications network from a device, such as a cellular telephone, a personal computer or a personal digital assistant.
[0008] The method may include first transmitting from the server to the recording device the customized page and then transmitting from the server to the recording device the embedded instruction, after the user selects the hyper link. The method may also include embedding recording preferences of the user and embedding an identification of the recording device, such as an address and a manufacturer model number.
[0009] In another embodiment, the method may include transmitting instructions to an appliance for recording broadcasting programs on a video recorder, where the video recorder is included in the appliance and the instructions include recording at least one program scheduled for broadcasting. The server may access an EPG to determine a time corresponding to the scheduled broadcast of the program, and then may reformat the received instructions to include the time corresponding to the scheduled broadcast. The server may then transmit to the appliance the reformatted instructions, at a predetermined time prior to the time corresponding to the scheduled broadcast.
[0010] The invention also includes a system for programming a video recorder. The system includes a server connected to a network; a database accessible by the server including electronic program guide (EPG) information; a video recorder coupled via an appliance to the network; and a device accessible to the network, where the device accesses the network and requests the server to program the video recorder to record a scheduled broadcast. The server, in response to the request, accesses the database to determine a time corresponding to the scheduled broadcast. The server then accesses the network and downloads to the appliance programming data for the video recorder.
[0011] The device may include a cellular telephone, a personal computer, or a personal digital assistant. The video recorder may be coupled to the appliance via an IR receiver or a consumer bus. The database may include a look-up table listing the time corresponding to the scheduled broadcasting of the program, and the server may update the look-up table using electronic program guide (EPG) information. The EPG information may be stored at information sites accessible by the server via the communications network.
[0012] It is understood that the foregoing general description and the following detailed description are exemplary, but are not restrictive, of the invention.
BRIEF DESCRIPTION OF THE DRAWING
[0013] The invention is best understood from the following detailed description when read in connection with the accompanying drawing. Included in the drawing are the following figures:
[0014]FIG. 1 is an overview of a system for server-based programming of an appliance according to an embodiment of the present invention;
[0015]FIG. 2 is an exemplary embodiment of an Internet-ready appliance connected to a television and a VCR;
[0016]FIG. 3 is another exemplary embodiment of an Internet-ready appliance connected to a recording device;
[0017]FIG. 4 is a basic workflow diagram illustrating steps involved in a typical operation executed via interfacing software between a server and a remote user according to an embodiment of the invention;
[0018]FIG. 5 is a basic workflow diagram illustrating steps involved in a typical operation executed via interfacing software between a server and an Internet-ready appliance according to an embodiment of the invention;
[0019]FIG. 6 is yet another exemplary embodiment of an Internet-ready appliance connected to a device for controlling lighting conditions at a remote location;
[0020]FIG. 7 is still another exemplary embodiment of an Internet-ready appliance connected to a device for controlling air-conditioners at a remote location;
[0021]FIG. 8 is yet a further embodiment of an Internet-ready appliance connected to a newly installed device;
[0022]FIG. 9 is a schematic illustration of an exemplary one-click programming system according to an embodiment of the invention; and
[0023]FIG. 10 is a basic workflow diagram illustrating steps of one-click programming in the system of FIG. 9.
DETAILED DESCRIPTION OF THE INVENTION
[0024]FIG. 1 is an overview of a system for server-based programming of an appliance, generally designated by numeral <b>10</b>. In the embodiment shown, system <b>10</b> includes server <b>20</b> communicatively coupled by way of global communications network <b>24</b> (e.g., the Internet) to appliances <b>14</b> and <b>16</b> located in house <b>12</b>. Appliance <b>14</b> or <b>16</b> may be any appliance, such as a set-top box, that is accessible via the Internet. By using a device, such as personal digital assistant (PDA) <b>30</b>, personal computer (PC) <b>32</b> or cellular telephone <b>34</b> to access Internet <b>24</b>, a user may remotely program appliances <b>14</b> and <b>16</b> through server <b>20</b>.
[0025] The server may store appliance configurations and user programming instructions in database (repository) <b>22</b>. The server may also collect data from information sites <b>26</b> and <b>28</b>. With programming instructions from the user, the server may access the appliance at a later time and program the appliance without requiring real time user access.
[0026] An exemplary embodiment of an information appliance is shown in FIG. 2 and is generally designated by the numeral <b>50</b>. Exemplary appliance <b>50</b> includes modem <b>52</b> connected or attached to telephone lines <b>54</b> for accessing the Internet via an Internet service provider (ISP). Different types of data, including initialization and programming data, may be exchanged between appliance <b>50</b> and server <b>20</b> (FIG. 1).
[0027] The data exchanged may include user and appliance identification and user preferences for downloading programming data from the server. The data may be formatted according to an application layer protocol having frame formats for telephone functions. These may include communications protocol hierarchy with Application Program Interface (API). Point-to-Point Protocol (PPP), and High-level Data Link Control (HDLC) layers for telephony applications.
[0028] It will be appreciated that although appliance <b>50</b> is shown connected to telephone lines <b>54</b>, it may be connected to a digital subscriber line (DSL), a twisted-pair cable, an integrated service digital network (ISDN) link, or any other link, wired or wireless, that supports data communications with a remote server. For example, the data communications may be through packet switched communications, including Internet Protocol (IP)/Transmission Control Protocol (TCP) communications using an Ethernet.
[0029] Appliance <b>50</b> may include output devices, such as television <b>60</b> for displaying video information and VCR <b>62</b> for recording video signals. VCR <b>62</b> may include IR receiver <b>64</b> for receiving control commands from a user remote control (not shown). Appliance <b>50</b> also includes tuner <b>56</b> for selecting a specific channel to tune in an RF signal received from a remote ground broadcasting station, a satellite or coaxial cable. Processing of the selected signal is performed by audio and video processor <b>58</b> to produce digital television signals or analog television signals, which are then output to TV <b>60</b> and VCR <b>62</b>. Processor <b>58</b> may encode the audio and video signals in a unique format for presentation and listening (e.g., an NTSC or ACTV format for television).
[0030] The operation of appliance <b>50</b> is controlled by processor/CPU <b>66</b>, which may be a general purpose data processor or a special purpose data processor, such as an application specific integrated circuit (ASIC). Processor <b>66</b> may control tuner <b>56</b> for selection of a broadcast signal and modem <b>52</b> for Internet access via telephone lines <b>54</b>. Processor <b>66</b> may also control TV <b>60</b> and VCR <b>62</b> by way of digital communications bus <b>70</b>, which may be an IEEE 1394 bus. Furthermore, processor <b>66</b> may be configured, for example, via a cable modem (not shown), to connect to the Internet via the RF signal applied to tuner <b>56</b>.
[0031] Alternatively, processor <b>66</b> may control VCR <b>62</b> by way of IR generator <b>68</b>. The exemplary IR generator provides a high powered IR signal to remotely control VCR <b>62</b> without special connections. It has been found that a high-powered IR generator may be used to blanket or saturate a room with the desired control signal and be picked up by IR receiver <b>64</b> to control the VCR operation. Such an IR generator is generally known as an IR blaster.
[0032] In the exemplary embodiment of FIG. 1, user input may be supplied through IR remote control <b>72</b> which sends an infrared signal to internal IR receiver <b>70</b>. The internal IR receiver decodes received commands and sends them to processor <b>66</b>.
[0033] In one embodiment of the invention, processor <b>66</b> may assemble data received from telephone lines <b>54</b> to control recording of audio and video signals received from television broadcasting stations. Data received from telephone lines <b>54</b> may be downloaded from server <b>20</b> (FIG. 1) and stored in a memory (not shown) accessible by processor <b>66</b>. The data may include names and titles of viewing events, corresponding channel numbers and news, brief descriptions of the programs, and program initiation and termination information. Processor <b>66</b>, in response to the received data, may control signal selection through tuner <b>56</b> and VCR program recording through digital communications bus <b>70</b> or IR generator <b>68</b>.
[0034] It will be appreciated that appliance <b>50</b> may be operated by a user, through IR remote control <b>72</b>, to program recording of VCR <b>62</b>. In the exemplary embodiment of the invention, however, server <b>20</b> may download programming instructions through telephone lines <b>54</b> to program recording events in VCR <b>62</b>. Accordingly, processor <b>66</b> may process VCR programming instructions from IR receiver <b>70</b> or from modem <b>52</b>.
[0035] It will also be appreciated that downloading of programming instructions may be performed by server <b>20</b> in a single interval of time. In this downloading mode, the entire data is transmitted through the telephone lines and accepted for storage in a look-up table by processor <b>66</b>. Processor <b>66</b> then sequences through the look-up table and controls recording events of VCR <b>62</b>.
[0036] Alternatively, server <b>20</b> may download programming instructions via modem <b>52</b> at different intervals of time. For example, assume that the user in his automobile, utilizing cellular phone <b>34</b>, instructs sever <b>20</b> to record every broadcast of OPRAH for the next week. Server <b>20</b>, having the latest electronic programming guide (EPG) information, may determine that OPRAH is scheduled for broadcast on Tuesday at 9:30 a.m. and 5:00 p.m. A few minutes before 9:30 a.m. on Tuesday (for example, 9:28 a.m.), server <b>20</b> may attempt an on-line connection with processor <b>66</b> by way of telephone lines <b>54</b>. After on-line connection, server <b>20</b> may command processor <b>66</b> to select the appropriate channel on tuner <b>56</b> and activate the record function of VCR <b>62</b> at 9:30 a.m. for the next hour. Similarly, a few minutes before 5:00 p.m. on Tuesday, server <b>20</b> may again initiate an on-line connection and command processor <b>66</b> to tune in OPRAH and activate the record function of VCR <b>62</b>. In this downloading mode, processor <b>66</b> follows programming instructions provided by server <b>20</b> and does not require access to a stored look-up table. Appliance <b>50</b> may thus require less storage capacity, because programming instructions may be stored only in database <b>22</b> of server <b>20</b>.
[0037] In addition, if programming schedules change, the user selection criteria may be applied to an updated schedule, as determined by server <b>20</b>. The VCR may be activated by server <b>20</b> based upon new scheduled times. In other words, VCR activation may be based on a selected program, or a series of programs, regardless of when this program is broadcast. In the above example, if OPRAH is scheduled to be transmitted in a new time slot, the new time slot need not be known by processor <b>66</b>. Server <b>20</b> may activate recording of OPRAH in the new time slot, based on updated EPG information stored in database <b>22</b>.
[0038] In another embodiment, as shown in FIG. 3, VCR <b>90</b> is connected to Internet appliance <b>80</b>. VCR <b>90</b> includes tuner/demodulator <b>92</b> which receives a selected broadcast signal (RF input) for conventional recording in recorder <b>98</b>. VCR <b>90</b> also includes processor <b>94</b>, which may be a special purpose data processor, such as an ASIC, for controlling tuner/demodulator <b>92</b> and recorder <b>98</b>. Processor <b>94</b> may be controlled by way of IR receiver <b>96</b> or through a digital communications data bus, such as IEEE bus <b>95</b>.
[0039] The embodiment shown in FIG. 3 also includes an option to control VCR <b>90</b> by way of an IR generator (not shown), similar to IR generator <b>68</b> (shown in FIG. 2). Using IR generator <b>68</b> Internet appliance <b>80</b> may program VCR <b>90</b> without need for a special connection to a digital data bus. With this configuration, any VCR with an IR receiver port may be programmed by way of Internet appliance <b>80</b>.
[0040] Server <b>20</b> is adapted to interact with Internet appliance <b>80</b>. Accordingly, server <b>20</b> includes software created for specific Internet appliances, such as appliance <b>80</b>. Interfacing software (not shown) in server <b>20</b> interacts with appliance <b>80</b> to set up a connection in certain periodic, pre-programmed or flexible intervals. After completing the connection, server <b>20</b> may send VCR programming instructions, as previously discussed, to appliance <b>80</b>.
[0041] Server <b>20</b> includes data repository <b>22</b>, connected by data link <b>21</b>. Repository <b>22</b> may be of the form of optical storage, hard drive storage, or any other storage techniques known for storage and warehousing data. Data stored in repository <b>22</b> may include data about participating users, such as addresses, phone numbers, account numbers, log-in and user identifications, and so on. Other data may include information on various Internet appliances, lists of software drivers or applications generic to various appliances, network protocol information, and so on. Virtually any required data may be stored in the form of a database in repository <b>22</b>, including a start-up screen for interfacing with devices, such as PDA <b>30</b>, PC <b>32</b> or cellular phone <b>34</b> (FIG. 1).
[0042] Server <b>20</b> maintains a constant Internet connection adapted to navigate to and communicate with other known servers, such as vendor servers (referred to as information sites <b>26</b> and <b>28</b> in FIG. 1). In this manner, server <b>20</b> may obtain additional data, as needed, that may not be on-hand. For example, updates of programming schedules from various broadcasting stations may be obtained from these vendors.
[0043] Referring next to FIG. 4, there is shown a basic flow diagram illustrating various steps involved in a typical operation executed via interfacing software according to an embodiment of the present invention. The method, generally designated by the reference numeral <b>100</b>, is described below.
[0044] A user, who may be a subscriber to a service provided by server <b>20</b> (FIG. 1), connects to server <b>20</b> through the Internet (step <b>102</b>). The user may be located anywhere and may use any of several devices, such as PDA <b>30</b>, PC <b>32</b> or cellular phone <b>34</b> to initiate communications with the server. After proper log-in, the user communicates with the server and provides programming instructions to the server (step <b>104</b>). In the exemplary embodiment shown in FIGS. 2 and 3, the programming instructions may include instructions to activate VCR <b>62</b> (FIG. 2) or VCR <b>90</b> (FIG. 3) for recording various programs scheduled to be broadcast during an interval of time.
[0045] It will be appreciated that user selection of programs to record may be based on information downloaded from the server and presented as display pages on the user's device. The information may be presented in various formats showing scheduled programming events based on date/time/channel/genre, and so on. The server may download any conventional EPG format.
[0046] Alternatively, the user may communicate by voice with server <b>20</b> using cellular phone <b>34</b>. The user may select programs for recording based on perusal of a television guide printed in a newspaper or magazine, or in response to oral prompts from server <b>20</b>.
[0047] Continuing the description of FIG. 4, the method determines whether the user has finished instructing the server on selections of programs to record (step <b>106</b>). If instructions have not been completed, communications between the server and user continue. If instructions have been completed (as determined, for example, by the user clicking a dialog box on a browser page), the method branches to step <b>108</b>. The server may then summarize the received instructions by forming a table that lists the selections made by the user (step <b>108</b>). The server may also download the table to the user for verification (step <b>110</b>).
[0048] The method then determines whether the user has verified the table (step <b>112</b>). If verification by the user indicates that the table is not correct (as determined, for example, by the user clicking a dialog box on a browser page), the method branches to step <b>104</b> and continues communications between the user and server. If verification by the user indicates that the table is correct, however, the method branches to step <b>114</b>. The table is then stored in server database <b>22</b> (step <b>114</b>), and dialog between the server and user is terminated, thereby ending the on-line connection (step <b>116</b>).
[0049] As part of the service provided to the user, server <b>20</b> may obtain EPG information from other sites, and periodically update the program listings stored in the table. The method performs this service in step <b>118</b>.
[0050] The method of the invention also includes server <b>20</b> monitoring program listings and program types selected by the user over a period of time. In this manner, viewing habits of the user may be learned by the server. The server may then update the table without user intervention by listing new programs that the user may be interested in viewing. For example, after learning that the user views every show hosted by OPRAH, server <b>20</b> may list for recording a new program hosted by OPRAH, scheduled for broadcasting on Tuesday at 9:00 p.m.
[0051] In an embodiment of the invention, server <b>20</b> may store the programming information selected by the user in a database. Server <b>20</b> may also store user preferences and identification of the recording device if Internet-ready, or identification of the Internet-ready appliance connected to the recording device. Server <b>20</b> may then, as necessary, download programming instructions to program the recording device. In this manner, server <b>20</b> may be keeper of the programming information and a programming proxy for the user. Server <b>20</b> may periodically update the programming instructions to the recording device, for example, if a program planned to be broadcast at one scheduled time is changed to be broadcast at a different scheduled time. As another example, the server may periodically refresh the programming instructions to the recording device to preclude loss of programming instructions in the recording device in the event of a power failure. As yet another example, server <b>20</b> may download a small portion of the programming instructions stored in the server database, at periodic intervals, in situations where the recording device, for example, cannot store more than one or two programming instructions. As a programming proxy for the user, server <b>20</b> may thus tailor downloading of programming instructions based on the capability of the recording device.
[0052] In another embodiment, server <b>20</b> may maintain a transaction history of recording results and provide a status report to the user of the recording results. The recording results may be provided in response to a request from the user. In this manner, the server may help the user keep track of program recordings. It will be appreciated that a broadcast program may be logged as recorded by the server, after the server has completed instructing the recording device to record the program and the scheduled broadcast of the program has expired. Alternatively, the server may monitor the status of the recording device to confirm that a recording instruction has, in fact, been executed by the recording device.
[0053] Referring next to FIG. 5, there is shown method <b>120</b> illustrating various steps involved in a typical operation executed via interfacing software between server <b>20</b> and an Internet-ready appliance, such as appliance <b>50</b> (FIG. 2) or appliance <b>80</b> (FIG. 3). Prompted by a timer that keeps track of scheduled programming events, server <b>20</b> may continually monitor the table stored in database <b>22</b>. At a predetermined time prior to broadcasting of a specific program listed in the table, server <b>20</b> may extract a corresponding instruction to record the program (step <b>122</b>).
[0054] Based on daily traffic variations on the Internet and control delays from appliance <b>50</b> to VCR <b>62</b> (FIG. 2) or control delays from appliance <b>80</b> to VCR <b>90</b> (FIG. 3), the server may determine that the extracted instruction of step <b>122</b>, needs to be downloaded two minutes (for example) prior to broadcast time of the corresponding program. Accordingly, decision box <b>124</b> determines whether the correct time has arrived for downloading the instruction. When the correct time arrives, decision box <b>124</b> branches to step <b>126</b> connecting to the appliance, and downloads the instruction (step <b>128</b>).
[0055] Decision box <b>130</b> is entered next. If additional instructions are to be downloaded, the method loops back to step <b>122</b>. Otherwise, the method branches to step <b>132</b> and disconnects the on-line communications between the server and appliance. In one embodiment of the invention, the server downloads a single instruction to the appliance (record program corresponding to a specific “VCR Plus” code) and then disconnects from the appliance. In another embodiment, the server downloads several instructions to the appliance (start time for recording of program and end time for recording of program) and then disconnects from the appliance. In this embodiment, the appliance monitors the correct time and issues commands to the VCR at appropriate times. In yet another embodiment, the server downloads the entire set of instructions listed in the table. The approach selected may depend on the storage capacity of the appliance and VCR.
[0056] In another embodiment, server <b>20</b> may download programming instructions to device <b>150</b> by way of Internet <b>24</b> and Internet appliance <b>80</b>, as shown in FIG. 6. As shown, device <b>150</b> includes controller <b>152</b>, processor/CPU <b>154</b> and memory <b>156</b>. Processor <b>154</b> includes an operating program for fetching programming instructions from a local user input and a remote server input through the Internet.
[0057] As previously described, a user may instruct server <b>20</b>, through cellular phone <b>34</b> (FIG. 1), for example, to download programming instructions for activating or deactivating multiple lights at the user's home. In the exemplary embodiment, device <b>150</b> controls activation and deactivation of multiple lights <b>1</b>-N, located in respective rooms of the user's home. By turning lights on and off at various times, the home appears to be occupied.
[0058] It will be appreciated that depending on weather and daylight conditions, it may be desirable to modify a sequence of activating/deactivating lights <b>1</b>-N as a function of time. Server <b>20</b> may thus advantageously modify a sequence stored in memory <b>156</b>. The sequence may be stored as a table, listing lights <b>1</b>-N and a respective time for activating or deactivating a light.
[0059] Server <b>20</b> may connect to Internet appliance <b>80</b> and download the sequence for storage in memory <b>156</b>. Alternatively, server <b>20</b> may store the sequence as a table in repository <b>22</b>. Monitoring the table, server <b>20</b>, at the appropriate time, may connect to Internet appliance <b>80</b> and download a set of instructions to control lights <b>1</b>-N. At the next appropriate time, server <b>20</b> may again connect to Internet appliance <b>80</b> and download the next set of instructions. This may be repeated until all the instructions stored in the table have been downloaded.
[0060] Server <b>20</b> may also monitor the status of device <b>150</b>. For example, device <b>150</b> may sense activation status of the lights (by way of temperature or current sensors; not shown). Lighting status sensed by device <b>150</b> may be stored in memory <b>156</b>. Server <b>20</b> may periodically connect to device <b>150</b> and request processor <b>154</b> to transmit the lighting status stored in memory <b>156</b>.
[0061] Server <b>20</b> may also update or upgrade the operating system stored in a read-only-memory (ROM) portion of memory <b>156</b>. Having previous knowledge of the model and serial number of device <b>150</b>, server <b>20</b> may upgrade the operating system residing in ROM. The manufacturer of device <b>150</b> may download the upgraded software to server <b>20</b>, through the Internet, as shown for example in FIG. 1 (information site <b>26</b>, <b>28</b> communicating with server <b>20</b>). The upgraded software may also be downloaded to device <b>150</b> from server <b>20</b> through the Internet.
[0062] In yet another embodiment, server <b>20</b> may download programming instructions to device <b>170</b> by way of Internet <b>24</b> and Internet appliance <b>80</b>, as shown in FIG. 7. As shown, device <b>170</b> includes controller <b>172</b>, processor/CPU <b>174</b> and memory <b>176</b>. Controller <b>172</b> is coupled to multiple air conditioners <b>1</b>-N located in various rooms of a user's home. By way of controller <b>172</b>, processor <b>174</b> individually activates and deactivates the air conditioners. Device <b>170</b> also includes sensor I/O <b>178</b> for interfacing with multiple temperature sensors <b>1</b>-N, respectively associated with air conditioners <b>1</b>-N. By monitoring temperature conditions of a room, processor <b>174</b> may activate and deactivate an air conditioner in the room. Activation and deactivation settings of each air conditioner may be programmed locally by a user, and stored in a table of memory <b>176</b>.
[0063] Alternatively, the user may instruct server <b>20</b> to remotely control air conditioners <b>1</b>-N. Received instructions from the user may be formatted by the server into a table listing activation and deactivation settings of each air conditioner. The table may be stored in repository <b>22</b>. After formatting the instructions, server <b>20</b> may connect to Internet appliance <b>80</b> and download the table for storage in memory <b>176</b>. Alternatively, server <b>20</b> may periodically request Internet appliance <b>80</b> to transmit temperature status of sensors <b>1</b>-N stored in memory <b>176</b>. In response to the temperature status, server <b>20</b> may activate or deactivate specific air conditioners.
[0064] Server <b>20</b> may monitor the operational status of device <b>170</b>. When informed of upgraded software by the manufacturer, server <b>20</b> may download an upgraded operating system to device <b>170</b>.
[0065] In yet a further embodiment, server <b>20</b> may download programming instructions to Internet appliance <b>180</b> for controlling device <b>188</b>, as shown in FIG. 8. Device <b>188</b> may be a unit newly purchased by a user. For example, the unit may be a new VCR, such as a VCR <b>90</b> (FIG. 3), or a new device for controlling and monitoring conditions of the user's home, such as a device <b>150</b> (FIG. 6) and device <b>170</b> (FIG. 7).
[0066] Newly purchased device <b>188</b> may be installed in the user's home by connecting cable <b>183</b> between the device and appliance <b>180</b>. Cable <b>183</b> may include a communications bus, such as an IEEE 1394 bus coupled to I/O <b>182</b>. Alternatively, device <b>188</b> may be installed in the same room as appliance <b>180</b>, so that IR generator <b>186</b> may be effective in controlling device <b>188</b>.
[0067] The invention shown in FIG. 8 contemplates that a user may inform server <b>20</b> by way of PDA <b>30</b>, PC <b>32</b> or cellular phone <b>34</b> (FIG. 1), of the newly installed device <b>188</b>. Accordingly, the user may identify device <b>188</b> by a manufacturer's model and serial number. The user may also instruct server <b>20</b> to provide an application program to appliance <b>180</b> for controlling and monitoring device <b>188</b>.
[0068] Server <b>20</b> may request and obtain, through the Internet, the application program from the manufacturer of device <b>188</b>, or from information site <b>26</b>, <b>28</b> (FIG. 1). Subsequent to obtaining the application program, server <b>20</b> may connect to appliance <b>180</b> and download the program to microprocessor <b>184</b>. The application program may be stored in memory <b>185</b>.
[0069] It will be appreciated that, in other embodiments, the Internet-ready appliance and the device may be integrated into a single unit. For example, the TV and VCR, shown in FIG. 2, may be integrated with appliance <b>50</b> in a single unit. As another example, device <b>90</b> and appliance <b>80</b>, shown in FIG. 3, may be integrated in a single unit. Similarly, device <b>188</b> and appliance <b>180</b>, shown in FIG. 8, may be integrated in a single unit.
[0070] Another embodiment of the invention is shown in FIG. 9. As will be described, one-click programming system <b>190</b> may program a recording device with a single command, such as a single click from a user's mouse. System <b>190</b> may include a recording device, such as VCR <b>62</b> of FIG. 2, recording device <b>90</b> of FIG. 3, or device <b>188</b> of FIG. 8. System <b>190</b> may also include a recording device that is Internet-ready and may be directly connected to Internet <b>24</b> of FIG. 1.
[0071] One-click programming system <b>190</b> may include a customized programming page generated by server <b>20</b> (FIG. 3), such as customized VCR programming page <b>195</b>, shown in FIG. 9. The customized page may be generated by server <b>20</b> based on programming information <b>191</b>, recording device information <b>192</b>, and user preferences <b>193</b> received from a remote user by way of PDA <b>30</b>, PC <b>32</b> or cellular phone <b>34</b> (FIG. 1).
[0072] Program information <b>191</b> may include EPG information available to server <b>20</b>, by way of database <b>22</b> or information sites <b>26</b>, <b>28</b>. Device information <b>192</b> may include identification of the recording device, such as type of device (VCR for example), manufacturer model and serial number, and an address so that server <b>20</b> may remotely program the recording device. User preferences <b>193</b> may include, for example, an SL recording mode and a desire to record programs without commercials.
[0073] The user may navigate the program information and may select “Basketball A vs. B” by moving a cursor on a display to highlight the desired selection. The user may then click a mouse to command server <b>20</b> to program the recording device. Programming information, such as channel number, start and end times, dates and recording frequency may be embedded in a hyperlink that includes, for example, hyperlink information <b>194</b>, shown in FIG. 9.
[0074] Since all programming information is embedded in the hyperlink, the user may advantageously click once on the link (Basketball A vs. B) to program the recording device. The user may send the programming information directly to the recording device, or the server may store the information and send it to the recording device at a later time.
[0075] A method of one-click programming, generally designated as <b>200</b>, is illustrated in FIG. 10. As shown, a user may connect to a server through a browser in step <b>201</b> and request EPG program information in step <b>204</b>. The user may also provide information on the recording device (step <b>202</b>) and recording preferences (step <b>203</b>). It will be appreciated that steps <b>202</b> and <b>203</b> may be performed only once, to permit the server to store the identification of the device and user preferences in a database for generating the customized programming page at a later time.
[0076] After receiving a request for EPG program information, the server may generate the customized programming page including hyperlinks and send the page to the user. Upon receiving the customized page in step <b>205</b>, the user may navigate the page and select a link on the page in step <b>206</b>. The server may program the recording device in step <b>207</b> in response to the link selected by the user.
[0077] Although illustrated and described herein with reference to certain specific embodiments, the present invention is nevertheless not intended to be limited to the details shown. Rather, various modifications may be made in the details within the scope and range of equivalents of the claims and without departing from the invention. It will be understood, for example, that the same concept may be extended beyond programming of a device connected to an Internet-ready appliance. For example, any device, including the appliance, connected to a global communications network may be remotely programmed by a server.
[0078] Also included within the scope of the invention is the simplification of an Internet-ready appliance by moving data processing and storage, conventionally performed by the appliance, to the server. The server may thus store user configurations, perform computing activities and collect information from the Internet. The server may diagnose, control, and program the appliance. The server may also upgrade software in the appliance, without user interaction.
Contents5
11 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2009025049A1 | Cited by | United States of America | Pre-grant |
| US10812866B2 | Cited by | United States of America | Applicant |
| US2006192790A1 | Cited by | United States of America | Pre-grant |
| US2005084240A1 | Cited by | United States of America | Pre-grant |
| US9325944B2 | Cited by | United States of America | Search report |
| US10977631B2 | Cited by | United States of America | Applicant |
| US2013073617A1 | Cited by | United States of America | Pre-grant |
| US8327403B1 | Cited by | United States of America | Search report |
| US9253537B2 | Cited by | United States of America | Search report |
| US7426331B2 | Cited by | United States of America | Search report |
| US2016323633A1 | Cited by | United States of America | Pre-grant |
| US8677152B2 | Cited by | United States of America | Applicant |
| US10034059B2 | Cited by | United States of America | Applicant |
| US7617009B2 | Cited by | United States of America | Search report |
| US2007162947A1 | Cited by | United States of America | Pre-grant |
| US9955213B2 | Cited by | United States of America | Search report |
| US2011247040A1 | Cited by | United States of America | Pre-grant |
| US4449249A | Cites | United States of America | Pre-grant |
| US4625080A | Cites | United States of America | Pre-grant |
| US5031045A | Cites | United States of America | Pre-grant |
| US5335079A | Cites | United States of America | Pre-grant |
| US5420913A | Cites | United States of America | Pre-grant |
| US5561708A | Cites | United States of America | Pre-grant |
| US5917481A | Cites | United States of America | Pre-grant |
| US5963264A | Cites | United States of America | Pre-grant |
| US5974222A | Cites | United States of America | Pre-grant |
| US5988852A | Cites | United States of America | Pre-grant |
| US5991832A | Cites | United States of America | Pre-grant |
| US6028600A | Cites | United States of America | Pre-grant |
| US6157377A | Cites | United States of America | Pre-grant |
| US6161133A | Cites | United States of America | Pre-grant |
| US6177931B1 | Cites | United States of America | Pre-grant |
| US6182094B1 | Cites | United States of America | Pre-grant |
| US6215526B1 | Cites | United States of America | Pre-grant |
| US6233389B1 | Cites | United States of America | Pre-grant |
| US6256378B1 | Cites | United States of America | Pre-grant |
| US6968364B1 | Cites | United States of America | Pre-grant |
1 member in 1 office
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 10292502 | United States of America | A | |
| US20020102925 | – | – | – |
Members1
| Document | Office | Kind | |
|---|---|---|---|
| US2003190149A1 | United States of America | A1 |
30 transactions on the USPTO file
Abandoned after 1 non-final rejection and 1 final rejection.
- Non-final rejections
- 1
- Final rejections
- 1
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | |
|---|---|
| Mail Abandonment for Failure to Respond to Office ActionAbandoned | |
| Aband. for Failure to Respond to O. A. | |
| Mail Advisory Action (PTOL - 303) | |
| Advisory Action (PTOL-303) | |
| Date Forwarded to Examiner | |
| Response after Final Action | |
| Mail Final Rejection (PTOL - 326)Final rejection | |
| Final RejectionFinal rejection | |
| Case Docketed to Examiner in GAU | |
| Date Forwarded to Examiner | |
| Response after Non-Final Action | |
| Mail Non-Final RejectionNon-final rejection | |
| Non-Final RejectionNon-final rejection | |
| Case Docketed to Examiner in GAU | |
| Case Docketed to Examiner in GAU | |
| Case Docketed to Examiner in GAU | |
| Case Docketed to Examiner in GAU | |
| Miscellaneous Incoming Letter | |
| Case Docketed to Examiner in GAU | |
| IFW TSS Processing by Tech Center Complete | |
| Reference capture on IDS | |
| Case Docketed to Examiner in GAU | |
| Incoming Letter Pertaining to the Drawings | |
| Application Dispatched from OIPE | |
| Application Is Now Complete | |
| IFW Scan & PACR Auto Security Review | |
| Information Disclosure Statement considered | |
| Information Disclosure Statement (IDS) Filed | |
| Information Disclosure Statement (IDS) Filed | |
| Initial Exam Team nn |
2 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Information on status: application discontinuationABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTIONSTCB | STCB | |
| AssignmentAS | AS |
Numbers
- Publication, DOCDB
- 2003190149
- Publication, EPODOC
- US2003190149
- Application
- 10102925
- Application, DOCDB
- 10292502
- Application, EPODOC
- US20020102925
Titles
- English
- Server-based programming of appliances via an information network
Classification
- CPC, 7
- H04N21/4227
- H04N5/782
- H04N7/17318
- H04N21/4622
- H04N21/47214
- H04N21/4782
- H04N21/482
- IPC, 3
- H04N5 761
- H04N5 782
- H04N7 173
- USPC, 4
- 386298000
- 348E07071
- 386E05043
- 725058000