Programming tool for home networks
Abstract
A method and system for generating a program guide for a home network having at least one multimedia device connected to the home network are provided. According to the method of the present invention, a multimedia object related to the first household appliance is identified. An HTML page is generated based on the identified multimedia object associated with the first home appliance. The HTML page is stored in an accessible area on the first home appliance. The browser-based second home appliance is connected to the home network to receive the HTML page and provide the HTML page for display to the user.

Term
Term ended
Expired 23 December 2019, 6.8 years ago.
- Priority and filed
- Granted
- Expired
- Today
16 claims: 1 independent, 15 dependent
- 1프로그램 가이드가, 홈 네트웍에 연결된 제1가전기기와 관련된 멀티 미디어물을 식별할 때, 홈 네트웍에 대해 프로그램 가이드를 발생하는 방법에 있어서, 제1가전기기와 관련된 멀티 미디어물을 식별하는 단계;제1가전기기와 관련된 식별된 멀티 미디어물에 따라 HTML 페이지를 발생하는 단계;및 제1가전기기의 접근가능한 영역에 상기 HTML 페이지를 저장하는 단계를 포함함을 특징으로 하는 방법.
- 2제1항에 있어서, 브라우저 기반의 제2가전기기를 홈 네트웍에 연결시키는 단계;제1가전기기로부터 홈 네트웍을 통해 제2가전기기에서 상기 HTML 페이지를 수신하는 단계;및 제2가전기기가, 제공되는 HTML 페이지를 디스플레이하기 위한 표시 유니트를 구비할 때, 그 제2가전기기상에 HTML 페이지를 제공하는 단계를 더 구비함을 특징으로 하는 방법.
- 3제1항에 있어서, 브라우저 기반의 제2가전기기를 홈 네트웍에 연결하는 단계;제1가전기기로부터 홈 네트웍을 통해 제2가전기기에서 상기 HTML 페이지를 수신하는 단계;제1가전기기로부터 수신된 HTML 페이지에 의거하여 주문형(custom) HTML 페이지를 발생하는 단계;및 상기 주문형 HTML 페이지를 제2가전기기상에 디스플레이하는 단계를 더 구비함을 특징으로 하는 방법.
- 4제3항에 있어서, 상기 발생 단계는 상기 HTML 페이지로부터 사용자가 요청한 선호하는 것을 선택하는 단계를 구비함을 특징으로 하는 방법.
- 5제1항에 있어서, 상기 HTML 페이지를 발생하는 단계는, 전자 프로그래밍 가이드(Electronic Programming Guide;EPG) 정보를 이용하여 HTML 페이지를 발생하는 단계를 구비함을 특징으로 하는 방법.
- 6제1항에 있어서, 상기 HTML 페이지를 발생하는 단계는, 상기 제1가전기기와 연관된 매체상에 포함된 정보로부터 멀티 미디어물을 도출하는 단계를 포함함을 특징으로 하는 방법.
- 7제1항에 있어서, 상기 HTML 페이지를 발생하는 단계는, 컴팩트 디스크(CD)상에 들어있는 정보로부터 멀티 미디어물을 도출하는 단계 를 포함함을 특징으로 하는 방법.
- 8제1항에 있어서, 상기 HTML 페이지를 발생하는 단계는, PC와 연관된 저장기기에 포함된 정보로부터 멀티 미디어물을 도출하는 단계를 포함함을 특징으로 하는 방법.
- 9제1항에 있어서, 상기 HTML 페이지를 발생하는 단계는, DVD에 포함된 정보로부터 멀티 미디어물을 도출하는 단계를 포함함을 특징으로 하는 방법.
- 10제1항에 있어서, 상기 HTML 페이지를 발생하는 단계는, DVCR에 포함된 정보로부터 멀티 미디어물을 도출하는 단계를 포함함을 특징으로 하는 방법.
- 11제1항에 있어서, 상기 HTML 페이지를 발생하는 단계는, 가전기기와 연관된 비디오 무비에 의거하여 HTML 페이지를 발생하는 단계를 포함함을 특징으로 하는 방법.
- 12제1항에 있어서, 상기 HTML 페이지를 발생하는 단계는, 서로 다른 기기들에 대해 네트웍상에서 이용가능한 다수의 정보 소스들의 리 스트에 의거하여 HTML 페이지를 발생하는 단계를 포함함을 특징으로 하는 방법.
- 13제12항에 있어서, 다수의 정보 소스들의 리스트에 의거하여 상기 HTML 페이지를 발생하는 단계는, 각각의 정보 소스들로부터 이용가능한 정보에 대해 사용자에게 내용 설명을 제공하는 페이지를 발생하는 단계를 구비함을 특징으로 하는 방법.
- 14제13항에 있어서, 상기 내용 설명을 제공하는 페이지를 발생하는 단계는, 상기 내용을 제공하는 장치와 별도로 상기 내용을 설명하는 페이지를 발생하는 단계를 포함함을 특징으로 하는 방법.
- 15제5항에 있어서, 전자 프로그래밍 가이드(EPG) 정보를 사용하여 상기 HTML 페이지를 발생하는 단계는, 상기 EPG 정보를 표준 프로그램 포맷으로 변환하는 단계를 포함함을 특징으로 하는 방법.
- 16제1항에 있어서, 홈 네트웍에 연결된 다양한 가전기기들로부터 다양한 HTML 페이지를 검색하는 단계;상기 다양한 HTML 페이지들에 따라 주문형 HTML 페이지를 발생하는 단계;및 홈 네트웍에 연결된 브라우저 기반의 가전기기상에 상기 주문형 HTML 페이지를 디스플레이하는 단계를 더 구비함을 특징으로 하는 방법.
Independent claims16
180 paragraphs, as filed
Programming tool for home networks
The present invention relates to the field of networks, and more particularly, to a home network having connected multimedia devices.
A typical household is equipped with several home appliances. As used in this document, the term 'home device' includes all electronic devices commonly found in the home, except for general purpose computers (ie, personal computers (PCs), laptop computers, etc.). For example, consumer electronics include security systems, theater equipment (eg, TVs, VCRs, stereo equipment and direct broadcast satellite service (DBSS), also known as digital satellite service (DSS)), sprinkler systems, lighting systems, micro Electronic devices such as, but not limited to, wave, dishwasher, oven/stove and washer/dryers. Indeed, automobiles can also be household appliances. On the other hand, the term 'device' as used in this document includes logical devices or other units having the function and ability to exchange data, and includes not only all home appliances but also general-purpose computers.
BACKGROUND OF THE INVENTION In general, home appliances are used to perform tasks that improve the lifestyle and standard of living of homeowners. For example, a dishwasher cannot wash dirty dishes. and free the householder from the burden of washing dishes by hand. VCRs record TV programs so that homeowners can watch certain programs later. A security system can protect the homeowner's valuables and alleviate the landlord's concerns about unwanted intrusion.
Appliances (such as home theater equipment) are often controlled using one common control unit, namely a remote control unit. This single common control unit allows the homeowner to control and command several different appliances using a single interface. Accordingly, many manufacturers have developed control units that allow them to control and command their home appliances from a single interface.
One disadvantage associated with using a remote control unit to command and control appliances is that it provides fixed control and command logic for controlling and commanding each appliance. Thus, a particular remote control unit can only control and command household appliances that contain the necessary control and command logic. For example, when the remote control unit has logic for controlling a television (TV), video cassette recorder (VCR) and digital video equipment (DVD), but not for a compact disc (CD) unit, remote control The unit cannot be used to command and control the CD unit. Also, when new household appliances are developed, the remote control unit will not be able to control and command the new household appliances that require control and command logic that was not known when the remote control unit was developed.
Using a remote control unit to control home appliances on a home network Another disadvantage related to this is that, unlike the use of a remote controller for a multimedia device that receives data from an external network, generating a program guide for data received from a multimedia device connected to the home network has so far been difficult. that it's not possible.
Therefore, there is a need for a method for generating a program guide for a home network environment in which at least one multimedia device is connected to a home network and the data provided accordingly is provided to the user on that device or another device connected to the home network. will arise
Accordingly, it is an object of the present invention to overcome the problems of the prior art and to provide a method and an apparatus for controlling a plurality of devices connected to a home network.
Another further object of the present invention is to provide a method of generating a program guide for a home network to identify multimedia objects related to home appliances connected to the home network.
A more specific object of the present invention is to control a plurality of devices connected to a home network in which at least one of the devices is a multimedia device, and to provide a program guide for information provided by the multimedia device on a second home appliance connected to the home network. to provide a method for generating
The present invention thus provides a method for generating a program guide for a home network.
According to an aspect of the present invention, when the program guide identifies a multimedia object related to a first household appliance connected to the home network, the method for generating a program guide for the home network includes: identifying water; generating an HTML page by the identified multimedia product associated with the first home appliance; and storing the HTML page in an accessible area of the first home appliance.
A method according to the present invention includes the steps of connecting a browser-based second home appliance to a home network; Receiving the HTML page from the first home appliance through the home network in the second home appliance; and providing the HTML page on the second home appliance, wherein the home appliance includes a display unit for displaying the provided HTML page.
Optionally, an on-demand HTML page may be created according to the received HTML page for display on the second home appliance.
According to a feature of the present invention, the material used to make the HTML page may be derived from information contained on a medium related to the first home appliance. The information may be contained, for example, on a CD, memory associated with a PC, DVD or DVCR.
According to another feature, the method of the present invention includes: retrieving various HTML pages from various home appliances connected to a home network; creating an on-demand HTML page from the various HTML pages; and displaying the on-demand HTML page on a browser-based home appliance connected to the home network.
Objects and features of the invention which are considered novel are set forth in detail in the appended claims. BRIEF DESCRIPTION OF THE DRAWINGS The present invention, both as to its structure and manner of operation, together with further objects and advantages, may be best understood by reference to the following description taken in conjunction with the accompanying drawings.
1 is a block diagram of a home network made according to the present invention.
2 shows an example of a layered interface model that can be used for communication between home appliances according to the present invention.
3A and 3B are block diagrams illustrating control and commands of a browser-based digital TV (DTV) and, for example, a home appliance according to an embodiment of the present invention.
4A is a block diagram illustrating a home appliance discovery mechanism according to an embodiment of the present invention.
4B shows a flowchart illustrating the creation of a device list file according to some embodiments of the present invention.
5A is a block diagram of a device link page according to the present invention.
5B shows an example of a household appliance tree structure according to some embodiments of the present invention.
6 is a graphical representation of a device link page in accordance with the present invention.
7 is a graphical representation of another diagrammatic representation of a device link page according to the present invention;
8 is a graphical representation of a preliminary view of a session page according to the present invention;
9 is a block diagram illustrating a session manager that allows two home appliances to communicate over a home network in accordance with some embodiments of the present invention.
Fig. 10 graphically illustrates a second view of a session page according to the present invention.
11 graphically illustrates a third view of a session page according to the present invention;
12A is a block diagram of a session page according to the present invention.
12B is another block diagram of a session page according to the present invention.
13 is another block diagram of a session page according to the present invention.
14 is a block diagram of a home network connected to the Internet according to the present invention.
15 is a diagram illustrating generation of a macro according to an embodiment of the present invention.
16 is a diagram illustrating generation of a macro according to another embodiment of the present invention.
The following description is provided to enable any person skilled in the art to make and use the present invention, and describes the most preferred embodiments currently contemplated by the inventors for carrying out the invention for a method and apparatus for controlling household appliances via a home network. . in the description below In the following, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention.
In an exemplary embodiment of the present invention, a browser-based home network uses Internet technology to control and command home appliances connected to the home network. Each appliance contains interface data (eg, HTML, XML, JAVA, JAVASCRIPT, GIF, JPEG, graphic files or any other format useful for the intended purpose) that provides an interface for command and control of the appliance over the home network. ) is included. In some embodiments, each appliance includes one or more Hypertext Markup Language (HTML) pages that provide for command and control of the appliance. Using browser technology, home networks employ an Internet standard that presents HTML pages to provide users with graphical user interfaces ('GUIs') for commanding and controlling individual appliances. In one embodiment, the home network is formed as an intranet.
1 is a block diagram of a home network 100 configured according to an embodiment of the present invention. As shown in FIG. 1 , a 1394 serial bus 114 electronically connects various home appliances on a home network 100 . In this example, the 1394 serial bus 114 provides a physical layer (medium) for sending and receiving data between several connected home appliances. 1394 serial bus 114 supports time-multiplexed audio/video (A/V) streams and standard All IP (Internet Protocol) communication is supported. In some embodiments, the home network uses the IP network layer as the communication layer for the home network 100 . However, other communication protocols may be used to provide communication to the home network. For example, the present invention may be built using the Function Control Protocol (FCP) as defined by IEC61883 or any other suitable protocol. Accordingly, a network generally includes two or more devices connected to each other by a physical layer for exchanging and transmitting data according to a predefined communication protocol.
2 shows an example of a layered interface model that can be used to communicate between home appliances according to the present invention. In this example, one appliance (server) 150 communicates with one appliance client 166 using network communication layers 152 - 164 . By adopting the Internet Protocol standard for the network layer 160 , the appliance can be configured to perform different communication layers (ie, application 152 , presentation 154 , session 156 , transport 158 , data link 162 ). ) and the physical 164 layer) without needing to know the detailed details. Accordingly, by adopting the Internet Protocol standard for the network layer 160 , the home network can use a combination of different communication layers when communicating between different home appliances. It should be noted that one physical package includes several devices that are logically networked through a network layer, for example, as shown in FIG. 2 , without necessarily going through a physical network. Such devices may include, for example, a VCR and a TV in a single housing. Thus, in such an embodiment where the logical appliance accesses the GUI so that the user can control the appliance, the appliance and logical appliance would be contained within the same physical package. In such an embodiment, it may be considered that the physical device will pull the GUI from itself. However, in other embodiments the home network interconnects separate physical devices, for example, where the first device gets the GUI from the second device, such that user interaction with the GUI controls the second device.
By definition, a 'client' includes graphics display hardware for down communications and a mouse or other point-and-click device for up (or return) communications; It is considered a device that provides control interface services to human operators. A 'server' is considered a module that provides a service, and that service can be any service other than the control interface provided by the client. In other words, the server/client relationship is a control relationship, where the server provides a service but the client uses the data as the DTV displays the video data but does not manipulate or change the data. Thus, it is often consistent with this definition that the server is the source of information and the client (eg, a browser) is a consumer of information.
Some detailed operations built by the servers include: return of information (data); performance of an action (eg, mechanical action) and return of state; return of data stream and status; receive data stream and return status; or state storage for continuous operation. Examples of servers include MPEG source, sink and display servers.
Usually the server includes an on-demand, embedded control program to implement its own hardware control, while the client operates to interface with the server. However, it should be noted that 'server' as used herein does not imply that a web server and protocol stack should be used.
In this preferred embodiment, the 1394 serial bus is used as the physical layer 164 for data communication on the home network 100 . Because of its improved bandwidth capacity, the 1394 serial bus can provide a single medium for all data communications (ie, audio/video streams and command/control) on the home network 100 . However, the home network 100 is not limited to using the 1394 serial bus, and in another embodiment of the present invention, other bus types such as Ethernet, ATM, wireless, etc. are provided, provided that the specific throughput requirements of individual home networks are met. can be used as the physical layer.
As shown in FIG. 1 , a home network 100 includes several home appliances connected to a 1394 serial bus 114 . In this example, the appliances include a DBSS 104 that receives a transmission signal from a satellite 122 for continuous display. Related to DBSS is, among other things, a Network Interface Unit ('NIU') that provides an interface between the DBSS satellite transmission and the 1394 serial bus 114 .
A digital video device ('DVD') 108 is also connected to a typical home network 100 . DVD 108 can be used to display digitally encoded video on home televisions. A digital video cassette recorder ('DVCR') 110 , ie a digital VCR, and a digital TV 102 are also connected to a typical home network 100 .
In this example, DTV 102 provides a human interface to home network 100 by employing browser technology to allow users to control and command home appliances through home network 100 . In general, unlike most other devices connected to the home network, the DTV 102 can provide a human interface to the home network 100 because it has a screen that displays HTML pages. However, other home devices with a display function may be used to provide a human interface. Thus, in some embodiments of the present invention, a device such as a personal computer ('PC') is used to provide a human interface to the home network in question, since the PC typically includes a screen display unit.
1394 Although serial bus 114 is shown as using an HTTP/IP interface protocol, some consumer electronics use other protocol interface types (eg, TCP/IP, UDP/IP, FTP/IP, TELNET/IP, SNMP/IP). , DNS/IP, SMTP/IP). Therefore, the HTTP/IP protocol cannot satisfy all home appliance connection requirements. Thus, in some embodiments of the present invention, a bridge proxy 116 is used to interface two networks using different interface protocols on each medium comprising the home network 100 when connected. do. In some embodiments, the two network media are tangible. For example, as shown in FIG. 1 , a 1394 serial bus 114 using an HTTP/IP interface protocol is connected by a bridge proxy 116 to a 1394 serial bus 118 using an IEC61883 interface protocol. . For interface between HTTP/IP and IEC61883 protocols By using the ridge proxy 116 , the security system 120 using the IEC61883 interface protocol can be made accessible on the home network 100 .
In some other embodiments, the home network consists of two different types of network media, such as a 1394 serial bus and Ethernet. Thus, in some embodiments of the present invention, a bridge proxy is used to interface different media types to form a single home network.
A Dynamic Host Configuration Protocol (DHCP) server 106 is used for discovery of appliances that are powered on and connected to the home network 100 . The home appliance discovery process is described in more detail below.
<Outline of home network>
As shown in FIG. 1 , DTV 102 , DVCR 110 , DVD 108 , DSS-NIU 104 , and security system 120 represent home appliances currently connected to a home network 100 . A client-server relationship exists between the devices to which they are bound, typically with DTV 102 acting as a client and consumer electronics DVCR 100 , DVD 108 , DSS-NIU 104 and security system 120 . ) acts as servers.
As previously mentioned, each consumer device is associated with one or more hypertext markup language (HTML) files. HTML files define control and command functions related to a particular appliance. Each HTML file also contains embedded references to other HTML files. A browser-based DTV 102 (acting as a client) receives and decrypts HTML files associated with appliances (acting as a server), and Each control and command information is graphically displayed on the display.
By checking against Hypertext Markup Language (HTML) and Hypertext Transfer Protocol (HTTP) Internet standards, each appliance sends its own custom GUI to the browser-based DTV 102 . The browser-based DTV 102 receives HTML files from home appliances through the home network 100 using the HTTP protocol. Each HTML file includes specific control and command information for the corresponding home appliance. The HTML files allow the browser-based DTV 102 to graphically display control and command information for a particular appliance to the user. Therefore, since each appliance supplies its own GUI to the browser-based DTV 102 via its own HTML files, the browser-based DTV 102 can be used without knowing any specific details about the particular appliance. It can provide a command and control interface to the device. This feature allows the home network 100 to include appliances from many different manufacturers.
In addition, according to the present invention, since each home appliance defines its own command and control interface through its respective HTML files, the home appliances are clearly added or removed from the home network 100 without affecting the entire system. can be
<HTML Two-Way Mechanism>
3A shows an exemplary embodiment in which a browser-based DTV 202 (client) provides features of a home appliance 204 (server) over a home network. The home appliance 204 may include one or more HTML stored in an accessible area within the home appliance 204 . represented by files. One or more HTML files are ASCII text files that contain specific information pertaining to a particular appliance 204 , along with data that enables a browser to display the information graphically. In addition to serving HTML files on the browser-based DTV 202, by employing forms technology, the browser-based DTV 202 can send information back to the appliance 204, and therefore It can provide two way communication. Other common techniques for providing two-way communication may include the use of Java or Control Gate Interfaces (CGIs). Once the information contained in a device's HTML file is graphically displayed on the DTV 202, the user selects an icon with an associated hyperlink to launch control programs displayed on the DTV's screen and/or transfers the data to the DTV ( By inputting into 202 , the home appliance 204 can be controlled from the DTV 202 .
<Home appliance HTML file>
As described above, each home appliance connected to the home network has one or more associated HTML files. The HTML file for each appliance defines the control and command actions for that particular appliance. Each HTML file also contains embedded references to other related HTML files. A home network-connected device having a visual display (i.e., a screen) and employing browser technology receives and interprets HTML files associated with home-network-connected appliances, and uses a GUI to display the file on its screen. Graphically displays the information contained within the field.
This is shown in Figure 3a, where between the executables of a client and a server interactions are shown. However, a feature of the present invention is that it provides control by interaction between two servers or a client and executables of multiple servers. Thus, in accordance with the present invention, control is generally implemented by a human interface with a service control program (executables intended to be operated remotely), communications, commands and (if necessary) a server control program via a GUI.
As an example, FIG. 3B shows locally the location of files and program components that enable a control operation to be performed by executing the device's own programs and scripts. Thus, this aspect of the present invention does not require a standardized 1394 instruction set by allowing the implementation to be performed in a local manner pertaining to the machine rather than being performed remotely.
For example, a user may wish to change the display brightness. To perform such a change, the user can click the 'brightness' button on the User HTML GUI page. In response, another GUI may come up, with 'bright' and 'dim' buttons. As the user clicks on either of these two buttons, the http server will cause the brightness control program for the display to run, to control the desired hardware operation. For operations local to the DTV, the DTV may therefore include a server function that will interpret subsequent operations from the browser.
In this regard, it is desirable that all home network DTV devices have a server function so that subsequent operations can control their local hardware. For that operation, the browser does not invoke an http server, but picks up local html files and You can provide those files as a GUI. To invoke the local http server to respond, clicking the button preferably entails http access to the local device name or IP address. The http server in turn invokes a local device control program, such as 'brightness' in the example above.
In general, in order to create a GUI, control can be implemented by the transfer of a graphical control object (GCO), preferably in the server, from the serving server onto the client. As a desirable result of this approach, the fine-grained controls directed back to the server generating the GCO will be proprietary as the server machine 'understands' and knows about its own GUI controls. In addition, the viewing and feeling of the GUI is generated by a server to which it belongs (eg, a program server, a server device or a medium), not the client. The independence of the command makes it possible to operate the device regardless of any new features added to the device, which may be included in the GCO sent from the server, like any other future changes. That is, the home network configuration is essentially 'new-feature proof' and 'future proof'.
Also, since a specific device can be selected for control by selecting an icon, there is no need to reconfigure hardware to perform control of different (or updated) devices. Accordingly, by communicating with a client device providing a GUI, one command set can be used for remote control of controlling multiple (different) devices.
Server-to-server control without GUI and user intervention, through the client Automatic actions may be initiated or set up, but later actions are performed by control language interaction between servers without client intervention.
In order to implement the above, the server operation according to the present invention preferably includes one or more control programs for executing necessary services. The server storing its GCO serves that GCO to clients, and the GUI provided on the client interfaces with the server control program(s) executable(s). In addition, the server control program can store the state being controlled by the GUI, for example, setting up a timer recording operation. The server may also include a clock for performing various timer operations. Thus, the client does not need to have any knowledge of the server device being controlled and does not need to provide the client with the ability to store previously controlled state. Indeed, as in other cases described herein, the client may be inactive for a portion of the time the server is active. Therefore, it is preferable that the server simultaneously serves various clients without relying on other devices such as clients for its operation.
A client receiving a GCO transmission from one or more servers includes a GUI renderer for building a GUI from the received GCO. It is within the scope of the present invention that a limited number of GCOs, a limited number of servers exist in the client. However, for the inventive construction of a home network, the server(s) being controlled, as the many different server types that exist now and are contemplated for the future are proving the benefits that arise from the existence of a GCO on those servers. the need for some built-in knowledge about Clients can be freed from
In operation, during initial selection of the appliance, the GCO is fetched and presented by the client to form the GUI and allow actions and responses to be communicated between the GUI and the client's control program(s).
In server-server control, a command line interface and a library of commands may be provided in the server. For any individual server, there is no need to provide a global command. Instead, the server should be able to support only the commands it needs to send and receive to perform its functions. Providing such a configuration is a simpler task than having the client embed a command line interface and library to control all existing and future servers.
In addition to one or more HTML files stored within, each appliance connected to the home network contains a Properties file. In one embodiment, the unique file for each home appliance includes the device manufacturer name, device name, device type, device model, and a consistent resource locator ('URL') of the device manufacturer's HTML home page. The top-level page associated with each appliance is called the device/default.HTML file.
Each home appliance connected to the home network also includes a LOGO image file. The logo image file for each home appliance is a file including an image indicating the manufacturer of the appliance. In one embodiment, the logo image file for a particular home appliance includes an image with the name and logo of the manufacturer of that appliance.
In the following description, a user interacts with a network and multiple A software agent that helps control home appliances and thus acts as the primary interface between the user and the home network is called a session manager. For example, a software agent for a user (ie, a session manager) accesses the devices to obtain more information for the user, to help the user manage the devices or make a selection related to the devices. Such cooperation with device control may modify the GUI display for that device, such as by dimming some buttons, thus inhibiting selection of several options (or devices) based on previous selections and functionality of the devices. can do. Also, a session manager acting as the user's agent can link two or more devices selected by the user and set up a communication path between them, freeing the user from the tedium and detail of building such control functions.
In some embodiments, all appliances connected to the home network use a standard filename for the particular logo image file to be displayed, in order to allow the session manager to properly locate each appliance's logo image file. In one embodiment, each home appliance names its own logo image file to be displayed as LOGO.GIF.
In some embodiments, the logo image file for each appliance is a standard size, such as 120x40 pixels. The standard size ensures that device logos have a concise and consistent appearance when depicted in the GUI displayed to the user. In some embodiments, the image of the logo image file may be a moving picture.
In some embodiments, different versions of the logo image file exist on each appliance. In this case, the appliance is responsible for which version will ultimately be displayed to the user. The home appliance may update the version to be displayed to the user over time according to the selection criteria of the device manufacturer.
Each home appliance connected to the home network also includes an icon image file. The icon image file for each home appliance is a file including an image representing a specific type of home appliance, such as a DTV or DCVR. In some embodiments, the icon image file includes a device image or a symbol indicating the type of device. The manufacturer's model number may be included at the bottom of the image in the icon image file to help identify the home appliance on the home network.
In some embodiments, there are several variants of the icon image file on each appliance, where each icon variant represents a particular state of the appliance. For example, in DVCR, icon image files may include images of DCVR play, rewind, insert media, no media, and the like.
To represent various device status images, manufacturers can use different symbols, colors and moving images. The home appliance is responsible for determining which version of the icon image will be displayed to the user, depending on the representative state of the appliance at any particular time. This allows an icon image file for each appliance to provide feedback to the user regarding a particular state of that appliance.
In some embodiments, the icon image file for each appliance is a standard size, such as 120x90 pixels. The standard size means that the device It ensures a simple and consistent appearance when depicted in the splayed GUI. In one embodiment, all appliances connected to the home network use a standard icon image file name for each icon image file to be displayed in order to allow the session manager to properly place the icon image file of each appliance to be displayed. do. Each household appliance names its respective icon image file to be displayed as ICON.GIF.
As described above, each home appliance connected to the home network has one or more HTML files associated with it. One of these HTML files is the home or base page, which is a file for a particular appliance. In some embodiments, to aid in accessing the home page of a particular home appliance, each appliance uses a standard home page file name. In one embodiment, each appliance names its respective home page file USER.HTML.
<Home appliance discovery process>
Communication on the home network is provided through the use of the Transmission Control Protocol/Internet Protocol (TCP/IP) standard protocol. The TCP layer provides a reliable discovery mechanism while the IP layer provides an address mechanism that can be found for data packets on the home network 100 . In the home appliance discovery process, each appliance is associated with a unique IP address and logical name, which are used to identify a specific appliance connected to the home network. Dynamically allocating an IP address and logical name for each household appliance that becomes available on the home network, in order to associate each household appliance with a pair of unique IP addresses and logical names for each household appliance. A configuration manager is provided. Home appliances that can be used are those that are powered on and connected to the home network.
A pair of IP addresses and logical names of available appliances is stored in a device list file in the configuration manager. The device list file is dynamically updated as appliances are added to and removed from 100 on the home network (ie, as they become available and unusable on the home network).
By using a configuration manager to assign unique IP addresses to each appliance, appliance manufacturers are relieved of the burden of associating a given IP address with each appliance. However, in some embodiments of the present invention, when a specific home appliance is associated with a given IP address, the configuration manager uses the given IP address as a unique IP address of the home appliance on the home network 100 .
In one embodiment of the present invention, the dynamic host configuration protocol (DHCP) 106 of FIG. 1 performs the functions of a configuration manager for the home network 100 . DHCP is a current industry standard, and in a specific home network, various home appliances can perform the necessary DHCP server 106 functions. However, even though several home appliances can act as DHCP server 106 , in this preferred embodiment, it is most likely to be the least redundant on the home network 100 (ie, the home appliances present on the home network 100 ). A household appliance that is a device type (which is unlikely to have more than one of these types) is designated to act as the DHCP server 106 . In the typical home network 100 of FIG. 1 , the DSS 104 is unlikely to overlap on the network 100 , or It is named as DHCP server 106 for network 100 .
The DHCP server 106 on the home network 100 generates a unique IP address and retrieves from it a logical name pair for each home appliance available on the home network 100 . In some embodiments, if an individual appliance on the home network 100 already has a given IP address associated with it, the DHCP server 106 uses that given IP address as a unique IP address from the appliance. DHCP server 106 causes IP address and logical name pairs associated with available appliances to be stored in a device list file. The device list file is dynamically updated as home appliances are added and removed from the home network 100 .
In some configurations, multiple home appliances with DHCP server function may exist on one home network. Accordingly, in some embodiments an arbitration protocol is employed to select and designate a particular appliance to act as a DHCP server for its home network. In another embodiment, a communication protocol may be employed between multiple home appliances with DHCP server functionality residing on the home network, resulting in a single named DHCP server for the home network.
4A is a block diagram illustrating a home appliance discovery process according to an embodiment of the present invention. When the home appliance 302 connected to the home network is powered on, the home appliance 302 broadcasts its presence through the home network to extract its configuration from the DHCP 306 server. Upon receiving the broadcast, the DHCP server 306 generates a unique IP address and logical name pair to be associated with the appliance 302 . all. After generating the unique IP address and logical name pair, the DHCP server 306 returns the IP address and logical name pair to the appliance 302 . The unique IP address is then used to communicate with the home appliance 302 over the home network. In addition to sending the IP address and logical name pair to the home appliance 302, the DHCP server 306 stores the generated IP address and logical name pair in the device list file. This discovery process is repeated for each appliance that is powered on and connected to the home network. Thus, DHCP server 306 provides for dynamic allocation of IP address and logical name pairs for configuring newly connected and powered-on appliances.
4B shows a flow diagram illustrating the generation of a device list file 318 in accordance with some embodiments of the present invention. In this example, DHCP server 310 communicates with appliance 312 accessible on the home network to generate a unique IP address and logical name for appliance 312 . DHCP server 310 stores this information in DHCP database 314 . As household appliances become available/unusable on the home network, the information in the DHCP database 314 is continuously updated in the manner described below.
GENIP is a Windows 32 console-based application that interacts with external programs, databases (indirectly) and device/session managers. The key interaction is indirectly with the standard DHCP Server product, which is part of the standard Windows NT Server package, through a program known as DHCPCMD.exe, which is part of the NT Server Resource Kit found in the MSDN Developers DCROM set. In operation, DHCPCMD.exe interacts with external programs and databases via the command 'enumclients', which Create a list of all current databases of DHCP clients. Thus, GENIP runs the DHCPCMD utility and creates an internal 'current' database of live IP leases in the DHCP database from the output of the DHCPCMD utility.
The GENIP process 316 of FIG. 4B periodically reads the device information contained in the DHCP database 314 and compares it with the device information currently contained in the device list file 318 . By comparing the information, GENIP 316 can determine whether the appliance has been added to or removed from the home network. In more detail, the 'current' database is compared item by item with respect to the previously read database, and if any difference is found, the database update is performed, so that any newly connected devices on the home network can be detected.
In one embodiment, if the device information contained in the DHCP database 314 is different from the device information contained in the device list file 318, the GENIP process 316 updates the device link page and signals the process of redrawing the client display. send. The device link page will be described in more detail below.
ReadDHPDB() is the workhorse of GENIP, which controls the setup and execution of DHCPCMD as well as reads the resulting output from it, writes the same into the 'current' database, compares it with the 'old' database, and then tells the client the new Create an 'output' database.
By default, GENIP affects the DHCP database every 3 seconds, so It is desirable to have GENIP running on the same physical device as the DHCP server itself. Similarly, because the device and/or session manager will access the output database as frequently as possible, the output file should be placed in a directory shared by the server and accessed by clients. This feature of the protocol could be improved by providing a protocol that requires client consent as to where the output database should be stored, but is all non-polling for events and also does not require manual configuration. can
For example, instead of writing to a file, the UpdateDB() member of GENIP can prepare a network packet that can be broadcast to a subnet of interest, where that packet contains the most recent database information, how, where, and how. Includes instructions for clients on what to get. This is built simply by using the http protocol which is put on an unused port, for example 8080, so the broadcast message will contain http://server_ip_address:8080/network_db.txt. The 'network_db.txt' part of the message will not be used if the network database only uses port 8080. For enhanced future functionality and purpose expansion, other information may be sent over this same http port, and the actual full URL will be provided.
<auto-tree builder>
In one embodiment of the present invention, the auto-tree generator uses the contents of the home network's device list file to create a device link page. Device link page is browser It is displayed to the user on the screen of the underlying home appliance. The device link page includes a home appliance button for each home appliance identified in the device list file. Each appliance button on the device link page is associated with a hyperlink to the top-level page of that appliance. When the user selects a specific home appliance button included in the device link page, the home page of the corresponding device is continuously displayed to the user on the browser-based home appliance screen.
5B shows an example of a household appliance tree structure 400 in accordance with some embodiments of the present invention. In this example, the appliance tree structure 400 includes a device list file 410 , a device link page 412 , and three top-level device pages (DSS 414 , DTV 416 and DVD 418 ). includes Using the device information contained in the device list file 410 , the automatic tree generator creates a device links page 412 and links (eg, hypertext links) to each device (DSS 414, DTV 416). ) and DVD 418) into the top-level page. In this example, the device page DSS contains several data files 420 that can be accessed via a link between the device link page 412 and the DSS top-level device page 414 .
In some embodiments, when generating the device link page, the auto-tree generator uses the device list file to generate a device HTML file containing a home appliance button for each appliance currently connected to the home network. Using the IP addresses included in the device list file, the auto-tree generator accesses each home appliance to access the properties file information associated with each appliance and a top-level page (ie, the USER.HTML file 1) to obtain the URL. Using the respective URL information, the auto-tree generator converts each appliance button in the appliance HTML file into a hypertext link to the top-level page of that appliance. This device HTML file is then used as the device link page.
For example, FIG. 5A is a device link page 402 according to an embodiment of the present invention. As shown, the device link page 402 includes home appliance buttons 406 for each appliance connected to the home network 100 . Each appliance button 406 is associated with a hypertext link to the top-level home page of that appliance. If the user selects a specific home appliance button 406 included in the device link page 402, the home page of the device is subsequently displayed to the user.
In some embodiments of the present invention, the auto-tree generator also searches the ICON.GIF image file stored on each appliance. The auto-tree generator then uses the ICON.GIF images to display the respective appliance buttons.
In addition to the icon image, in some embodiments, the auto-tree generator also obtains a LOGO.GIF image file for each appliance. The auto-tree generator associates each LOGO.GIF image with a hypertext link to the device manufacturer's home page. The logo image is then included in the device HTML file. For example, Figure 6 is a device link page 502 according to one embodiment of the present invention. As shown, the device link page 502 includes appliance buttons 504 and manufacturer appliance buttons 506 . Home Appliances The device buttons 504 are represented by ICON.GIF images of each corresponding device. The manufacturer device buttons 506 are represented by LOGO.GIF images for each manufacturer of the corresponding home appliance.
In some embodiments, as shown in FIG. 7 , the user may define the arrangement of device images 602 and logos 604 on the device link page according to their own criteria. For example, the user may group and arrange the device images 602 and related logos 604 according to the location of the corresponding home appliances in the house, based on a room and a room, for example. In such an example, a camcorder manufactured by Sony, a DTV manufactured by Samsung, and a DBSS manufactured by Zenith may all be grouped into the living room group 608 . In this embodiment, the user may include an additional line of text 610 to describe the devices and/or groups depicted by device images 602 and associated logos 604 .
<Session Manager>
As described above, the session manager provides a basic interface between the user and the home network. The session manager, when properly operated, creates a session page that provides an interface, which allows the user to command and control appliances connected to the home network to perform various functions and/or services. Some common services available on a home network include, but are not limited to, starting movie playback, DBSS programming, and recording television programs.
The Session Manager displays available home network services (servers) and uses this within a graphical user interface (GUI) to facilitate sensible and easy selection. Using the home network can be simplified by matching the functions and selections made with other GUIs.
9 is a block diagram illustrating a session manager 750 that allows two home appliances (DTV 752, DVCR 754) to communicate over a home network in accordance with some embodiments of the present invention. As shown in this example, session manager 750 sends command and control information to appliances (DTV 752, DVCR 754) by sending them to appliances (DTV 752, DVCR 754). to communicate with each other (ie, audio/video streams), for example, to display a recorded TV show, the session manager 750 sends command/control information to cause the DVCR 754 to communicate over the home network. Make it broadcast information (such as that TV show) on a specific stream. The session manager 750 also sends command/control information to cause the DTV 752 to display the information being broadcast on a particular stream over the home network.
Similarly, although not shown in the figure, the session manager sends command/control information to cause a tuner (eg DBSS) to broadcast a TV show over the network over a stream and send additional command/control information to the DTV and cause one or both of the DVCRs to display and/or record the TV show.
In another alternative embodiment, if a single physical housing or package is to contain a DTV and a tuner (ie, two separate logical units), the command/control information sent to the housing causes the tuner therein to cause the same housing. Stream TV programs over your home network to either (or both) an on-board DTV and/or a separately housed DVCR. It will make it broadcast to the clinic.
More specifically, a client/server control operation will be performed to initialize an A/V program source stream and a sink server stream. Once the data has flowed, the session manager client will step away from this action and perform another action. In controlling the exemplary configuration, the session manager causes the DVCR 754 to store an initial state, such as 'record timer', and cause the DTV to store a second state, such as 'timer selects a program'. makes The clock later triggers the stored state to become operational. In this example, no further control action is required of the session manager. However, in more complex examples, the session manager may remain on, regain, control, or initiate additional control over other devices.
The basic model shown in FIG. 9 shows one client and two servers, wherein one server represents a control program for controlling a DTV providing a display service, and the other server represents a control program for controlling a DVCR to provide a recording service. , the model can be extended to a number of N servers where N>2.
8 illustrates a session page 702 in accordance with one embodiment of the present invention. In this example, session page 702 includes frames 704 , 706 and 708 . As shown, frame 704 includes a device link page 710 that includes device buttons 712 for each home appliance currently connected to the home network.
When the session manager is run, it causes the auto-tree generator process to create a new device link page. In some embodiments, the appliances The session manager is notified whenever it is added to or removed from the home network. For example, referring back to FIG. 4B , when the GENIP process 316 determines whether an appliance has been added to or removed from the home network, the GENIP process 316 notifies the session manager. The session manager then causes the auto-tree generator process to create a new device link page.
In another embodiment, the session manager periodically polls the device list file 318 to determine if it has been updated with new appliance information. If the session manager determines that the device list file 318 has been updated, the session manager causes the auto-tree generator process to create a new device link page.
In some embodiments of the present invention, auto-tree generator process functions are incorporated into the session manager. Thus, in one embodiment of the present invention, the session manager creates the device link page by performing the auto-tree generator operations described previously.
An important function of the session manager is to allow the user to initialize the services available on the home network. An available service is a specific function that can be performed by one or more appliances that are currently powered on and connected to the home network. For example, one service consists of selecting a DTV to watch a specific TV show and tuning the DBSS to the specific station transmitting that TV show.
In order to allow the user to initialize the available services, when the user selects a specific appliance button 712 from the device link page 710, the session manager displays the top-level home page of the selected appliance as the session page ( 702) included Make it displayed within the frame. For illustrative purposes, it will be assumed that the user selects a device button corresponding to 'Dad's TV'.
10, when the user selects the device button 712 for Dad's TV, the session manager displays the top-level home page for that appliance in one frame 706 of the session page 802 ( 804) is displayed. FIG. 10 is similar to FIG. 8, and thus similar components are numbered similarly. As shown in FIG. 10 , in some embodiments of the present invention, a logo image 806 associated with the selected appliance is displayed within frame 706 .
After the device image 712 is selected, the session manager continues to display the contents of the device link page 710 . However, in some embodiments, the selected device button 712 is inactive and thus not responsive to further selection by the user. For example, when the device button 712 corresponding to Dad's TV is selected, it is inactive and does not respond to further selection by the user.
When the user selects the household appliance button 712, the session manager acquires a specific function of the selected household appliance. A particular function of a home appliance includes a list of standard named actions that the appliance can perform, such as the functions of a DVCR generally include 'accept video' and 'display video'.
In some embodiments, the session manager obtains the specific functionality of the selected appliance by accessing a standard named file on each appliance.
After obtaining the specific functions of the selected appliance, the session manager For matching with a specific function, functions of other home appliances displayed on the device link page 710 (ie, listed in the device list file) are searched for. For each appliance found to have a function that matches the selected appliance, the session manager then activates that appliance button 712 (ie, allows it to respond to the user's selection). For each appliance found to have no matching function with the selected appliance, the session manager deactivates the appliance button 712 (i.e., it does not match the user's selection) to prevent the user from re-selecting that appliance during the current session. makes it unresponsive).
For example, when the user selects a client device such as a TV display, the session manager specifically searches for matching devices that can act like video servers or sources, in addition to other display devices. Under such circumstances, the session manager may disable buttons for other display devices. Optionally, in the 'control only' operation mode, when a server-client relationship is not established, the session manager does not find a secondary device that can act as a source for the selected device.
More particularly, according to the invention it is possible to work with a number of software agents representing devices capable of controlling, for example, lights. In such an environment, the user will select both a control appliance that is not an information source or server, and one or more lighting appliances to be controlled accordingly. When the user first selects a controlling device, the session manager can be controlled by or together with the selected device. It will continue to identify the various devices it can act on and activate the corresponding device buttons accordingly, while disabling the buttons for other devices. Indeed, the session manager should understand that it will select any number of devices to provide the user with a selection for action possible, for which the selection buttons must remain active.
When an informational device is selected, it will be possible for multiple servers to remain active for possible selections. For example, in various embodiments of the present invention, when a device button for DTV or DVCR is selected, the session manager may activate device buttons for multiple information sources, such as an audio server and a video server. . Indeed, device selection buttons may remain active for selection of several video servers, taking into account a situation where during selection of one video server it is desired to present several images on one display, a button for selection of other servers. It is also possible to keep them active. For example, it may be desirable to display entertainment video while simultaneously displaying video from a security camera or other server as a screen within the screen. Alternatively, video information from one or more sources may be communicated to multiple client displays.
Accordingly, it should be understood that when appropriate information about the capacity of device interaction is provided to the session manager, the session manager will indicate that various devices may or may not be selectable by the user based on the user's previous choices. By acting as an agent for users, the session manager can provide information regarding device capacity. acquire, and in response manipulate the device selection buttons for other devices to be activated while deactivating the selection buttons for specific devices. Session manager by determining whether devices have a matching capability and which devices have a matching capability, dimming (disabling) buttons for non-matching devices, and activating buttons for matching devices helps the user to make selections related to devices or to manage them.
With such assistance, the user then selects a second appliance to interact with the previously selected appliance to perform the desired service. When the session manager disables certain options and enables others, the user's choices are simplified. When matching, selecting, prohibiting, and allowing is not performed by the session manager, the user makes the selection based on various criteria. For example, a user may simply wish to select or activate a particular device. Alternatively, a user may wish to select all devices capable of performing a particular function.
In this regard, the session manager can create a page including all contents of the network and all operation functions regardless of a specific device. Therefore, the HTML page can identify services available to the user according to the content, such as providing a list of video or audio programs, etc., and these services are available on the home network regardless of the device on which the content is being provided. . Such a display becomes clear to the user in the sense that the user is allowed to select sources of information based on the content, rather than the facility, device or channel on which the information may be utilized. transparent).
Upon selecting the second appliance, the session manager displays the home page for that second appliance in frame 708 . Since the order of frames selected to display the home page of each selected device is not important, in some embodiments of the present invention, the home page of the first selected device is displayed in frame 708 and the home page of the second selected device is displayed in frame 708. is displayed in frame 706 .
11 illustrates a session page 902 after selection of the second home appliance according to an embodiment of the present invention. 11 , when the user selects a device button 712 that corresponds to Jim's DVD in this example, the session manager opens the top-level for that appliance in frame 708 of the session page 902. The home page 904 is displayed. FIG. 11 is similar to FIGS. 9 and 10 , and thus similar components are numbered similarly. 11 , in some embodiments of the present invention, a logo image 906 associated with the selected appliance is displayed in frame 708 .
Once the two appliance images have been selected, the session manager allows the appliances to set up and configure the desired service as selected by the user via options displayed on the corresponding home pages 804 and 904 of each selected appliance. To do so, to communicate with each other.
An example of an embodiment for a session manager session 1002 is depicted in FIGS. 12A , 12B and 13 . In this example, as shown in FIG. 12A , the user selects one of the four device images displayed on the device links page 1022 included within the frame 1004 of the session page 1012 . You can choose one. In this example, the user can select a DSS device button 1014 , a CD device button 1016 , a DTV device button 1018 , or a DVCR device button 1020 . For illustrative purposes, assume that the user has selected the DVCR device button 1020 .
12B, when the DVCR device button 10200 is selected, the session manager displays the home page for that DVCR in frame 1006 of the session page 1012. The session manager continues to the session page ( Displays four device images on the device link page 1022 of 1012. After the user selects the DVCR device button 1020, the session manager determines the specific function of the selected DVCR device and assigns them to other accessible devices on the home network. compared to the specific functions of DBSS, CD and DTV.
In this example, the session manager determines whether there is a functional match between the selected DVCR and the two DTVs and DBSSs. The session manager also determines that there is no match between the function of the selected DVCR and the function of the CD. Accordingly, the session manager disables the device button 1016 for CD in the device link page 1022 . Additionally, since the DVCR device button 1020 has been selected by the user, the session manager will soon disable the DVCR device button 1020 on the device link page 1022 .
Since the session manager has found matching functions between the selected DVCR and the DBSS and DTVs connected to the home network, it continues to the device buttons 1014 and 1018 for these corresponding appliances on the device link page 1022. keep it active Thus, in this particular example, the user may further select either the DTV appliance button 1018 or the DSS appliance button 1014, which indicates that the selected appliance has a specific service on the home network. This is to interoperate with the previously selected DVCR to perform However, the CD unit button 1016 is not activated because there is no shared function between the CD and the previously selected DVCR, so the user cannot select the CD unit button 1016 at this time.
In this example, the user further selects the DTV button 1018 included in the device link page 1022 .
Then, as shown in FIG. 13 , the session manager then displays the home page for that DTV in frame 1008 of the session page 1012 . The session manager continues to display the home page of the DVCR device in frame 1006 and four device buttons 1014 , 1016 , 1018 and 1020 on the device link page 1022 of the session page 1012 . The user can now select control options (e.g., play 1044 and volume 1042 from DVCR and DTV home pages, respectively) from each selected device's homepages to command and control those appliances to behave in a particular manner. have.
Any home appliance (eg DTV or PC) connected to the home network that can act as a client, ie, have the ability to display HTML files via its respective display unit, can be designated as the session server. A session server is a device that includes a session manager, a display unit (ie, a screen), its own HTML page files including the top-level, home HTML page file, and a browser.
In some embodiments, when a session server (eg, DTV, general purpose computer) powers up, an associated session manager is launched and the session page as already described in FIG. 12A . is displayed on the display unit of that particular session server. The user can then select which appliance to command to perform the desired action or service.
In another embodiment, when the session server powers up, its corresponding browser is launched and displays the top-level home page for that session server. In some embodiments, the home page of the session server is associated with a standard file name such as USER.HTML. Associated with the home page of the session server is the Device Pages button option, which, when selected, causes the session manager running the session server to display the session page as already discussed in FIG. 12A .
<Run service>
As indicated above, the session manager is the basic interface between the user and the home network. It is a tool that can access and control all home appliances on the network, and should generally be available on any browser-based home, i.e. client machine.
The session manager allows users to start services on their home network. As described above with reference to FIGS. 12A, 12B and 13 , the session manager allows the user to select up to two household appliances at once that the user wishes to control in order to perform a specific service.
Each home appliance has more than one function. For example, a DVCR can both accept and output a video signal, and a CD player can output an audio signal. and DTV can accept video signals. Functions are either source-like or sink-like. A CD player has a source-type function because it can output an audio signal. Conversely, DVCRs have both source-type and sink-type because they can accept and output video signals.
Each source-type function has a compatible complementary sink-type function. For example, the video output capability of one appliance is supplemented by accepting the video capability of another appliance. Each function is associated with a set of data specifications. For example, when a DCVR outputs a video signal, the video signal is broadcast in a specific stream through the home network. The stream number and other information for that signal form part of the DVCR's (outputting consumer electronics) data specification message. Accordingly, in one embodiment, in order to execute the session, the first household appliance (the outputting appliance) communicates the data specification message to the second appliance (the receiving appliance) through the session manager.
In order to provide appliance communication, each appliance has a control application associated with it. The control application in the home appliance coordinates communication between the home appliance and the session manager of the corresponding home network. Accordingly, the control application for the two corresponding home appliances provides a mechanism for the two home appliances to communicate with each other through the control manager. In some embodiments, the control application is a device-specific packet in Java code that communicates with the hardware of the appliance, and can control the appliance accordingly.
By having a control application associated with each home appliance on the home network, The control performance details of the home appliance are grouped and managed in a vendor-provided appliance application. The appliance's control application also allows those vendors to provide their own control scenarios for their appliances. However, all control applications of home appliances on the home network must include predefined specifications to enable each home appliance to communicate with the session manager.
In some embodiments, each appliance on the home network has a list of data specifications associated with it. For example, a DVCR that has been instructed to transmit 'output video' or a video signal broadcasts the video signal over a specific isochronous stream. Stream identification information and other details for that video signal form part of the data specification for the DVCR. A control application of an appliance, such as a DVCR, may store and advertise the appliance's data specifications when queried by the session manager.
As discussed above, the session manager can query various appliances for their specific functions. The session manager is also responsible for querying the various appliances for their data specifications to ensure that the requested user service has been properly set up and performed.
Once the user selects two appliances to perform a particular service, the user must select certain appliance options for each of the appliances selected to perform that particular service. By selecting various device options, the hardware of the device is initialized to perform the service. The session manager sets up their hardware configuration and coordinates communications between selected devices to perform the requested service. do.
As an example, referring again to Fig. 13, if the user wants to play a video on the DTV, the service will consist of a video playback phase of the DVCR and a display phase of the corresponding video on the DTV. After the user selects the PLAY command option on the DVCR, the DVCR selects, among other tasks, the isochronous stream in which the video signal is to be broadcast. This information, together with the signal to be broadcast and other suitable information relating to the specific DVCR hardware setup for the broadcast, ie the data specifications of the DVCR for the PLAY service, is subsequently sent to the session manager.
Upon receiving the data specification from the DVCR, the session manager sends the information to the DTV so that the DTV can properly initialize its hardware to display the video signal broadcast by the DVCR. After some time, the session manager deletes the session page 1012 from the DTV display screen, causing the DTV to display the video broadcast by the DVCR.
<External connection>
Since the home network is Internet Protocol compliant, connecting the home network to the Internet can provide the advantage of controlling home appliances from outside the home. Therefore, in some embodiments of the present invention, a connection is provided that allows the home network to interface with the Internet. 14 shows a home network 1100 connected to the Internet 1102 by the present invention. Because many of the components of FIG. 14 are similar to FIG. 1 , similar components are numbered similarly.
14 , in some embodiments an Internet proxy 1104 is used to provide an interface between the home network 1100 and the Internet 1102 . By providing an interface between the home network 1100 and the Internet 1102, a user can remotely control home appliances connected to the home network. For example, if a user has to work late and cannot watch a football game on Monday evening, the user can program a DVCR connected to the home network via the Internet to record certain events.
Connecting your home network to the Internet can create potential security access problems. Thus, in some embodiments, the home network is associated with a security mechanism, which is used to restrict access to the home network to specific authenticated users.
<Macros>
As described above, the user usually has to perform a series of steps to enable the home appliance to execute a specific service. Also, since users of the home network usually have unequal preferences for certain settings of certain appliances, a series of steps will be performed repeatedly to adjust the settings of each appliance. For example, a first user may have certain preferences for brightness, hue and/or contrast of a particular DTV, while a second user may have other preferences. In order to reduce the number of repeated steps typically performed by a user to set a particular appliance's settings, in some embodiments of the present invention a sequence of steps is stored as a macro.
A macro is a series of instructions stored in the memory of a home appliance, which can be accessed and executed by a user. The macro is executed as if the user actually selected a specific button or performed a specific function from the HTML page included in the corresponding home appliance.
The use of macros can greatly reduce the amount of work required by a user to perform a particular function, since one macro can be used to facilitate convenient setup and control of multiple devices in parallel. For example, a user may wish to record a specific TV program on channel 2 at 8 pm every Tuesday night for 1 hour. This usually requires the user to select DBSS or DTV as the source of the program and enter a specific series of steps to program the DVCR to receive and record the program. However, with macros, the user only needs to perform the steps to execute a particular macro. The macro then executes the necessary steps to select and command specific devices to record the program.
There are various ways to create macros depending on the software capabilities of each particular appliance and the construction of the HTML page. In some embodiments of the present invention, a macro of a preset type is used that stores the actual values of the parameters of the device. The preset type macro can be used in a home network where parameter values of specific home appliances can be inquired and determined. A preset macro is created by storing the current values of a specific set of appliance parameters. When the macro is executed sequentially, it provides the appropriate commands to set the selected parameters of each appliance to their assigned values. make it
For example, FIG. 15 illustrates the creation of a preset macro 1200 according to an embodiment of the present invention. As shown in Fig. 15, when the macro creation button 1202 on each HTML page of the home appliance is selected, the macro creation process 1204 starts to be executed. Execution of the macro creation process 1204 causes the set of user-selected device parameter values 1208 selected from the parameter list 1206 of the appliance to be stored in the macro file 1210 . The macro file 1210 is assigned a unique macro name 1212 and is stored on the home appliance. The macro name 1212 is stored as a macro name button on the macro list HTML page 1214 of the home appliance. Thereafter, the user selects the macro name button to execute the corresponding macro file 1210 .
In one embodiment of the present invention, the macro button is included in the HTML home page of each home appliance. Selecting the macro button causes the macro list HTML page 1214 to be displayed to the user. In one embodiment, the create macro button 1202 is included in the macro list HTML page 1214 for the appliance in question.
In another embodiment, the pianist macro is created by the appliance's software and/or hardware that interacts with its HTML page while storing specific steps taken by the user (eg, the user's button selection, data entry). and/or cursor movements are stored as if they were executed by the user). Again, the generated macros are associated with a specific name so that they can be easily retrieved and executed later. When the piano player macro is executed, it is as if the user Executes a specific set of commands, such as accessing an HTML page(s) and executing a series of steps directly.
For example, Fig. 16 shows the creation of a piano player macro 1300 in accordance with one embodiment of the present invention. As shown in Fig. 16, when the macro creation button 1302 is selected, the macro creation process 1304 starts to be executed. Execution of the macro creation process 1304 causes the user interaction 1306 to be interpreted by the command interpreter 1308 as a specific action. Each operation is copied to a macro file 1310 that is stored in the corresponding home appliance and assigned a unique macro name 1312 . The macro name 1312 is stored as a macro name button on the macro list HTML page 1314 of the home appliance. After that, the user selects the macro name button to execute the corresponding macro file 1310 .
In addition to user generated macros, in some embodiments of the present invention, a predefined set of macros is stored in the memory of the appliance for access by the user. Because macros are generally device dependent, in some embodiments of the present invention, manufacturers of a particular home appliance create and define a set of macros that can be executed on that appliance.
<Home Network Program Guide>
One or more home network program guides are associated with the home network to provide the user with a list of available multimedia products (eg, audio and video programs, TV programs and CDs). One or more home network programming guides are It can be categorized as available on a home appliance or combined in several ways to represent a specific group of accessible multimedia products.
TV programming guides usually provide a list and schedule of programs that can be viewed on a particular channel. Most digital satellite services provide program information through an Electronic Programming Guide (EPG). The EPG displays a list of available programs and the specific times the programs can be viewed through the service. The EPG is continuously updated to reflect the current window of available programs. The Home Network uses the EPG information to generate the Home Network HTML Program Guide. The HTML program guide can be deployed using the HTML standard and displayed on a browser-based appliance. In addition, users can customize the specific programming information displayed to the individual's wishes. For example, if a user wishes not to display a schedule for a particular channel, for example because of program content, the user can request that that channel be removed from the HTML program guide.
The information contained in the EPG depends on the particular DBSS used and, as such, currently no standard format exists for transmitting such information. Therefore, in one embodiment of the present invention the process extracts information from a specific EPG and converts it into a standard program format. The standard program format is then used to generate the HTML program guide. The HTML program guide can be displayed on any browser-based appliance (eg, DTV or PC). Like EPGs, HTML Pro The Gram Guide is updated periodically to reflect currently available programs. As discussed above, the user can tailor the displayed HTML program guide to the individual's wishes to show only a particular set of available information.
If an EPG format standard is developed, an HTML program guide can be generated without first converting EPG information into a standard program format. Therefore, in some embodiments of the present invention the HTML programming guide is generated using a standard EPG format such as that transmitted by a specific DBSS.
In addition to the EPG received in DBSS, the home network may be associated with other home appliances including multimedia content. For example, a DVD may contain certain movies, a PC may contain certain files (eg, games, picture images), a DVCR may contain certain movies, and a CD player may contain certain CDs. In some embodiments, each appliance maintains an HTML program guide file containing a list of materials currently available on that appliance. Using a browser-based appliance, a user can display the water available on a particular appliance by providing an HTML program guide file for that appliance.
In some other embodiments of the present invention, the multimedia identification process works to search accessible appliances to determine which water is currently available in each of them. In one embodiment, the multimedia identification process accesses each appliance to obtain a file or directory containing a list of available water on that particular appliance. The appliance content process is then made available to the current user. Creates one or more HTML program guide files representing the medium. The user can display the available water by providing a specific HTML program guide file.
In another embodiment, the multimedia identification process obtains an HTML program guide file managed in each home appliance. Using the HTML program guide files obtained from specific appliances on the home network, the multimedia identification process creates one or more HTML program guide files representing currently available water to the user. The user can display the available media by providing a specific HTML program guide file.
<Conclusion>
According to the present invention described above, control of multiple devices (eg VCR, CD player, DVD player or any other device) can be controlled by the user, remote control from the video display of the client device (such as TV or PC). It is built with the help of a single control loop set up by the device, a detector on the client device (such as an IR detector). Such a control loop can be used to control multiple devices, thereby reducing the need for front panel controls on such devices. In one form of the invention, a control loop can be established by connecting devices to a home network. Instead of using traditional front panel control, the present invention provides control of such devices over the home network, by interaction with the respective GUI as provided on the client devices. The present invention also includes control codes unique to each device on the network therein, or It also eliminates the need for a remote control device to access it. In the exemplary embodiments described herein, the remote control device may bring up a GUI to provide suitable control functions. In a variant, the remote control will include a display for displaying the imported GUI, thus eliminating the need for a separate display on the client device. The present invention thus allows the remote control to operate multiple devices using a single remote control and single display, with one display and method of operation, without requiring any modification of the corresponding operating mode to change the device to be controlled accordingly. access and control.
The foregoing description of preferred embodiments of the present invention has been presented for purposes of illustration and description. Since many modifications and variations are possible in light of the above teachings, it is not intended to be exhaustive or to limit the invention to the precise form disclosed. All such modifications and variations are intended to be within the scope of the present invention without departing from the broader spirit and scope of the present invention. Since the embodiments described herein have been chosen and set forth in order to best explain the principles of the invention and its practical application, others skilled in the art may utilize the invention in various embodiments and for the particular use contemplated. It can be used with several variants, such as those tailored to When the claims are to be construed broadly enough to be legitimately entitled, the scope of the invention is intended to be defined by the claims appended hereto. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Those skilled in the art will recognize various adaptations and variations of the preferred embodiments just described. It will be understood that other forms may be embodied without departing from the scope and spirit of the invention. Therefore, it is to be understood that, within the scope of the appended claims, the invention may be practiced other than as specifically described herein.
21 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21
179 members in 10 offices
Members179
| Document | Office | Kind | |
|---|---|---|---|
| CA2295081A1 | Canada | A1 | |
| CA2295756A1 | Canada | A1 | |
| CA2295757A1 | Canada | A1 | |
| CA2295759A1 | Canada | A1 | |
| CA2295785A1 | Canada | A1 | |
| CA2401671A1 | Canada | A1 | |
| CA2401676A1 | Canada | A1 | |
| CA2401680A1 | Canada | A1 | |
| CA2401715A1 | Canada | A1 | |
| CA2401726A1 | Canada | A1 | |
| CA2401736A1 | Canada | A1 | |
| CA2432666A1 | Canada | A1 | |
| CA2449643A1 | Canada | A1 | |
| CA2467370A1 | Canada | A1 | |
| WO9859282A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO9859283A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO9859284A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO9859478A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO9859479A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO9859284A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO9859282A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO9859283A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP1002406A1 | European Patent Office (EPO) | A1 | |
| EP1002407A1 | European Patent Office (EPO) | A1 | |
| EP1015952A2 | European Patent Office (EPO) | A2 | |
| EP1015953A2 | European Patent Office (EPO) | A2 | |
| EP1015962A2 | European Patent Office (EPO) | A2 | |
| ID24871A | Indonesia | A | |
| ID24894A | Indonesia | A | |
| CN1265753A | China | A | |
| JP2000512472A | Japan | A | |
| CN1267421A | China | A | |
| CN1267422A | China | A | |
| CN1269033A | China | A | |
| ID25539A | Indonesia | A | |
| JP2000513916A | Japan | A | |
| ID25834A | Indonesia | A | |
| US6182094B1 | United States of America | B1 | |
| KR20010014154A | Republic of Korea | A | |
| KR20010014155A | Republic of Korea | A | |
| KR20010014156A | Republic of Korea | A | |
| KR20010014157A | Republic of Korea | A | |
| KR20010014158A | Republic of Korea | A | |
| US6198479B1 | United States of America | B1 | |
| US6243707B1 | United States of America | B1 | |
| US2001011284A1 | United States of America | A1 | |
| US6288716B1 | United States of America | B1 | |
| US2001038392A1 | United States of America | A1 | |
| KR100316631B1 | Republic of Korea | B1 | |
| KR100316632B1This record | Republic of Korea | B1 | |
| JP2002509628A | Japan | A | |
| JP2002509669A | Japan | A | |
| JP2002510415A | Japan | A | |
| KR100340253B1 | Republic of Korea | B1 | |
| EP1015962B1 | European Patent Office (EPO) | B1 | |
| DE69808501D1 | Germany | D1 | |
| EP1257094A2 | European Patent Office (EPO) | A2 | |
| CA2295759C | Canada | C | |
| EP1015953B1 | European Patent Office (EPO) | B1 | |
| DE69810131D1 | Germany | D1 | |
| DE69808501T2 | Germany | T2 | |
| KR100371613B1 | Republic of Korea | B1 | |
| EP1283621A2 | European Patent Office (EPO) | A2 | |
| ES2184295T3 | Spain | T3 | |
| CN1104675C | China | C | |
| CA2295756C | Canada | C | |
| DE69810131T2 | Germany | T2 | |
| ES2189194T3 | Spain | T3 | |
| JP2003209893A | Japan | A | |
| US6603488B2 | United States of America | B2 | |
| CN1117461C | China | C | |
| CN1117462C | China | C | |
| CA2295757C | Canada | C | |
| CN1443324A | China | A | |
| EP1015952B1 | European Patent Office (EPO) | B1 | |
| EP1355451A2 | European Patent Office (EPO) | A2 | |
| DE69819184D1 | Germany | D1 | |
| JP2004030631A | Japan | A | |
| JP2004056765A | Japan | A | |
| CN1496060A | China | A | |
| US2004103184A1 | United States of America | A1 | |
| ES2209160T3 | Spain | T3 | |
| DE69819184T2 | Germany | T2 | |
| CN1512723A | China | A | |
| EP1439664A2 | European Patent Office (EPO) | A2 | |
| EP1439664A3 | European Patent Office (EPO) | A3 | |
| EP1471690A2 | European Patent Office (EPO) | A2 | |
| EP1257094A3 | European Patent Office (EPO) | A3 | |
| EP1283621A3 | European Patent Office (EPO) | A3 | |
| EP1471690A3 | European Patent Office (EPO) | A3 | |
| US2004249851A1 | United States of America | A1 | |
| EP1355451A3 | European Patent Office (EPO) | A3 | |
| US2005010866A1 | United States of America | A1 | |
| EP1002406B1 | European Patent Office (EPO) | B1 | |
| US2005022110A1 | United States of America | A1 | |
| DE69828696D1 | Germany | D1 | |
| US2005120301A1 | United States of America | A1 | |
| DE69828696T2 | Germany | T2 | |
| ES2235340T3 | Spain | T3 | |
| EP1562328A2 | European Patent Office (EPO) | A2 |
15 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Changes to party contact information recordedST27 STATUS EVENT CODE: A-5-5-R10-R18-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE)R18 | R18 | |
| Changes to party contact information recordedST27 STATUS EVENT CODE: A-5-5-R10-R18-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE)R18 | R18 | |
| Changes to party contact information recordedST27 STATUS EVENT CODE: A-5-5-R10-R18-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE)R18 | R18 | |
| Expiration of termEXPY | EXPY | |
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Annual fee paymentFPAY | FPAY | |
| Re-publication after modification of scope of protection [patent]G170 | G170 | |
| Written decision to grantGRNT | GRNT | |
| Decision to grant or registration of patent rightE701 | E701 | |
| Notification of change of applicantN231 | N231 | |
| Request for examinationA201 | A201 |
Numbers
- Publication
- 10-0316632
- Application
- 107012225
Titles4
- Korean
- 홈 네트웍을 위한 프로그래밍 툴
- English
- Programming tools for home networks
- Unlabeled
- 홈 네트웍을 위한 프로그래밍 툴{Programming tool for home networks}
- Unlabeled
- Programming tool for home networks
Classification
- CPC, 61
- H04L12/2803
- G08C2201/33
- H04L12/2805
- H04L12/2809
- H04L12/281
- H04L12/2812
- H04L12/2814
- H04L12/2818
- H04L12/282
- H04L12/2832
- H04L12/462
- H04L12/66
- H04L41/22
- H04L61/00
- H04L2012/2849
- H04L2012/285
- H04N5/765
- H04N5/775
- H04N7/106
- H04N7/163
- H04N21/4108
- H04N21/4131
- H04N21/42204
- H04N21/43615
- H04N21/4381
- H04N21/44231
- H04N21/4438
- H04N21/4532
- H04N21/454
- H04N21/4622
- H04N21/4755
- H04N21/4782
- H04N21/482
- H04N21/4821
- H04N21/485
- H04N21/64322
- H04L67/34
- H04L67/303
- H04L67/025
- H04L67/125
- H04L67/14
- H04L67/12
- H04L67/02
- H04L67/142
- H04L69/325
- H04L69/329
- H04L61/4541
- H04L61/5038
- H04L61/30
- H04L2101/365
- H04L61/5014
- H04L67/54
- H04L67/51
- H04L67/75
- H04L41/12
- Y10S715/97
- Y10S707/99943
- Y10S707/99945
- H04L9/40
- H04L67/01
- H04L65/1101
- IPC, 38
- G06F3 14
- G06F3 048
- G06F9 30
- G06F13 00
- G06F17 00
- H04L12 16
- H04L12 24
- H04L12 28
- H04L12 46
- H04L29 00
- H04L29 02
- H04L29 06
- H04L29 08
- H04L29 10
- H04L29 12
- H04N5 00
- H04N5 445
- H04N5 765
- H04N5 775
- H04N7 10
- H04N7 16
- H04N7 24
- H04N21 41
- H04N21 422
- H04N21 436
- H04N21 438
- H04N21 442
- H04N21 443
- H04N21 45
- H04N21 454
- H04N21 462
- H04N21 475
- H04N21 4782
- H04N21 482
- H04N21 485
- H04N21 643
- H04Q9 00
- H04Q9 02