D E S C R I P T I O N
METHOD AND APPARATUS FOR ENABLING REMOTE CONTROL TO DEVICES OF A LOCAL NETWORK
1 . Technical Field Thepresent inventionrelatestomethodandapparatus forenabling remote control to electric appliances at a home network from another network.
2. Background Art
Δhomenetworksystem, whichhas attractedmuchattentionrecently in the information technology industry, enables to interconnect a home server to electric appliances and to communicate with each other so that a particular device can be monitored and controlled via the home network. That is, a plurality of electric appliances is managed from a single device in an integrated way thanks to the home network technology.
Power line communication (PLC) is preferred as communication line for establishing a home network because it does not require additional cabling of communication lines . Accordingly, in a PLC-based home network, various electric appliances such as refrigerator, air conditioner, washing machine, and microwave oven can be connected to a home network simply only if PLC modems are imbedded therein.
In a home network configured such that a refrigerator (usually a home server 'appliance) and other electric- appliances are interconnected to each other, a home network manager can manage all electric appliances at the home network in a central way. For example, a home networkmanager can send control commands to each of the electric
appliances and get the results in response to the control commands by using wireless devices that are connectable to the home network such as notebook computer and PDA.
Sometimes it happens that a user needs to urgently control- or check the states of electric appliances at his home network fromoutside the home network. In this case, a home server with gateway function should be able to receive and process inquiries or control commands from outside home network, transmitting the processed inquires or control commands to associated electric appliances. There are many possible communication means (referred to as client' hereinafter) andcommunicationprotocolsthatsupportremote control ofelectric appliances athomenetwork. Examples arewebbrowser, PDA, and telephone. Hence, a way of handling and processing messages from clients should vary from client to client. It also happens that when a user is away from his home network he needs to get notified if some important events occur at one electric appliance at the home network. The details of the automatic event notification should be different fromclienttoclient iftheyarebasedondifferentprotocols.
Therefore, an effective way of processing remote controls from outside home network within a home server is required to satisfy the need. Moreover, it is desirable to prepare an extensible way of processing remote controls from outside home network because new protocol based communication devices may be introduced in the near future. 3. Disclosure of the Invention
In view of the shortcomings of the prior art, it is an object ofthepresent inventiontoprovide amethodandapparatus for supporting remote control of devices connected to a local network from a plurality of remote clients that are based on mutually different communication protocols by providing a plurality of processors, each running independently on a home server and corresponding to one of the plurality
of clients one-to-one.
According to the present invention, an apparatus for remotely controlling a plurality of devices connected to a local network comprises a librarymodule for sending control commands to theplurality of devices and for receiving responses from the plurality of devices through the local network; and an intermediate processing module including a plurality of connection handlers that communicate with a plurality of clients for remote control of the plurality of devices . The plurality of clients is based on mutually different protocols, each of the plurality of connection handlers corresponding to one of the plurality of clients one-to-one. Each connection handler analyzes messages from an associated client, requests the library module to send a control command according to the analysis, makes a response from the library module to a message adequate to delivery to the associated client, and transmits the message to the associated client.
In one embodiment of the present invention, the intermediate processingmodule specifies a connectionhandler that is to communicate with a client by using a port number in the sender address of a message transmitted from the client. In one embodiment of the present invention, according to analysis of a message received from a remote client, each connection handier calls a function of the library module by using both information indicating request of operation associated with the analysis and an address of return,function as input parameters of the function of the library module. The object of the return function is to receive the result of the requested operation.
In one embodiment of the present invention, a particular connection handler of the intermediate processing module specifies an event handling function in the library module, and when an event occurs at at least one device, the library module calls the specified event handling function -by using the content of the event as an input parameter of the specified event handling function. The object of the
event handling function is to receive content of an event when an event occurs at at least one device.
4. Brief Description of the Drawings
In the drawings:
5 Fig. 1 illustrates remote clients and a home network embodying the present invention;
Fig. 2 illustrates the formats of messages exchanged during process of login/logout to a home network;
Fig. 3A illustrates the formats of inquiry or control command 0 and response message in response to the inquiry or control command; and
Fig. 3B illustrates" the format of message that is sent to an associated client when an event occurs at a device at a home network.
5. Best Mode for Carrying Out the Invention
15 In order that the invention may be fully understood, preferred embodiments thereof will now be described with reference to the accompanying drawings .
Fig.1 illustrates a home network, specifically, devices 410~430 connected to the home network; a home server 300 that routes messages
20 to the devices based on IP addresses, transmits control commands from remote clients to the associated devices, and sends responses from the devices to the remote client; a gateway 200 for enabling communicationbetween the home server 300 and outside networks; a group of remote clients 100, each sending control command to the devices
25 410-430 and displaying the response from the devices. The gateway 200 may be imbedded in the home server 300.
The group of clients 100 includes devices supporting different communication protocols such as web server 110, DDR/MIR 120, personal
digitalassistance (PDA) 130, UPnP (Universalplugandplay) -LnCPbridge 140, and phone 150.
The home server 300 comprises an intermediate processing module 310 that intermediates command/inquiry and response between devices 410~430 of the network and a client group 100; a library module 340 that converts command/inquiry from a client into message appropriate to the device receiving the command/inquiry, sends the formatted command/inquiry to the associated device, and sends the response from the associated device to the intermediate processing module 310; and a Gate API 330 for interfacing between the intermediate processing module 310 and the library module 340.
The intermediate processing module 310 comprises a plurality of connection handlers that enable connection from different communication protocol-based remote clients to a home network such as Internet web browser, PDA, and UPnP devices.
In other words, the intermediate processingmodule 310 includes, among other things, an Internet connection handler 311 for supporting connection from a web browser; a PDA connection handler 312 for supporting connection from PDA that maintains on-line connection to connected networks; a UPnP connection handler 313 for supporting connection from UPnP-based devices. When necessary, a new connection handler may be implemented in the intermediate processing module 310 to support connection from a new protocol-based communication device. For example, a phone connection handler can be included for connection from a telephone' using circuit-based communication.
Hereinafter, a procedure of remote control of devices at the network configured as shown in Fig. 1 according to an embodiment- of the present invention is described in detail.
Suppose that each client of the client group 100 connects a particular portal server (not shown in Fig. 1) to send user' s ' inquiry/control command to the home server 300.
The portal server (not shown) supports simple mail transfer protocol (SMTP), hypertext transferprotocol (HTTP), and shortmessage service (SMS) protocol. Informationneededto access to thehome network, for example, IP address of the home server and responses from the home 5 server 300 are processed according to a particular protocol and are then transmitted to the connected client.
The home server 300 assigns IP addresses to devices 410~430 connected to the home network and provides the assigned IP addresses to the portal server in real-time. If an IP address is changeable due 10 to dynamic IP address system, the changed IP address is sent to the portal server.
In this way, clients connect to the home network via the portal server so that an inquiry/control command about a particular device at the home network canbe reached to the homo server 300 via the gateway 15 200. The device to be asked for inquiry/control is selected by- referencing information provided by the portal server, for example, a web menu page.
Upon user's request, one client of the client group 100 selects one device at the home network via the portal server and then sends 20 an inquiry/control command about the selected device which is transmitted to the home server 300 via the gateway 200. If the client is a mobile phone, the inquiry or control command is sent to the portal serverbywayofwireless applicationprotocol (WAP) -basedbase station.
Login to the home network via the portal server is required to
25 send an inquiry/control command to the home server 300. The login procedure is performed by exchanging messages with the gateway 200.
Themessage format is illustratedinFig.2. Specifically, Fig.2 depicts the format of message for transmission of user ID 201 and password
202 and the format of response message for transmission of results
30 of login or logout.
Fig. 3A illustrates formats of the inquiry/control command and
responsemessage . The inquiry/control commandandresponse information are all inserted in argument field 301, 302. The information in argument field depends on protocol that the client supports. For example, if the client is UPnP-LnCP bridge 140, UPnP-based extensible markup language (XML) format documents are used in the argument field;
After receiving a message of inquiry/control command, the home server 300 identifies a sender of the inquiry/control command and calls a connection handler that is associated with the sender client. The sender is identifiedby referencing a port number included in the sender address (SA) of the inquiry/control command message.
If the identified client is a PDA, PDA connection handler 312 is called and if the identified client is a web browser, then internet connection handler 311 is called by the home server 300. The connection handler called analyzes the message, specifies a particular device of the home networkbyreferencing receiver address (RA) of themessage, and then sends request to perform the inquiry or control command- to the specified device.
The request is made after formatting the analyzed message in accordancewiththe interfaceofthe GateAPI 330. Forexample, according to the analyzed message, an execution routine to be run is chosen as definedinthe GateAPI 330. Then, after inputparameters ofthe execution routine are specified, the execution routine is called. The input parameters specified include an address of return routine in the connection handler that is to be called when a response message is sent.
The execution routine in the library module 340 that has been called in accordance with the interface of the Gate API 330 determines a target device among devices 410~430 of the home networkby referencing values.or information included in the input parameters and then sends the inquiry or control commandto the target devicevia the home network.
Once a response or state information from the target device' is
received in response to the inquiry or control command, the library module 340 calls the return function in the connection handler by using the address of the return function that has been included in the input parameter of the execution routine and at the same time inserts the response or state information into an input parameter of the return function. In this way, response or state information from a designated device in response to an inquiry or control command is transmitted to the connection handler that has requested the inquiry or control command. The return function of the connection handler processes the response or state information in accordancewithprotocol ofthe client, inserts theprocessed response in the argument field 302 of the response message, shown in Fig. 3A, and then sends the response message to the client via the gateway 200. If the response message is sent via the portal server, differentmessage formats fromthat of Fig.3A are needed to send the response. In this case, headers are added before and after information of the argument field 302 to transmit the response in accordance with communication protocol between the portal server and the client. In other way, the portal server interprets information in the argument field 302 of the response message and then sends the interpreted information to the client in a manner that the client can accept and interpret the information.
In case that the client receives the information in the argument field 302 without additional processing, the client should interpret the informationas responsetothe inquiryor control commandanddisplay the response by using its user interface so that a user of the client watches the state of the specified device of the home network remotely.
On the other hand, a remote client can send control commands not to a device of the home network but to a connection handler in the intermediate processing module. For example, automatic event notification service of a particular connection handler can be enabled from a remote client remotely.
All connection handlers in the intermediate processing module
310 do not support the automatic event notification. The automatic eventnotificationisofferedbyconnectionhandlersonlyforconnection
■ of clients that are capable of maintaining on-line connection to an
5 outside network. For example, the PDA connection handler 312 for PDA connection supports the automatic event notification because the PDA connection is always maintained on-line after the initial connection.
On the other hand, the Internet connection handler 311 does not support the automatic eventnotificationbecause HTTP does not supportpush-out 0 from network to browser and hence event occurrence of a device at the home network cannot be sent to a remote web browser any time.
The procedure for requesting automatic even notification will be described hereinafter.
First, PDA 130 sends a command for activating automatic event 5 notification of all or particular devices at the home network to the PDA connection handler 312 in accordance with the message format shown in Fig. 3A. Then, the PDA connection handler 312 calls an event notification function in the library module 340 whose function is to activate the automatic event notification of all or designated devices 0 of the home network. The address of return function is passed to the event notification function as input parameters.
Thereafter, when an event occurs from all or designated devices at the home network and the event occurrence is notified, the event notification function makes an event pack 310, shown in Fig. 3B, and 5 calls,the return function in the PDA connection handler 312 by using the even pack as an input parameter. The even pack 310 includes an event code 310A for event identification and two status values 310B and 310C.
The return function called composes a notificationmessage shown 0 in Fig. 3B that includes the event pack 310 as argument and then sends the notification message to the PDA 130 by setting destination to the PDA.
On the other hand, the return function in a connection handler may be determined at the initial execution of the intermediate ' processing module 310 without receiving the command for activating automatic event notification. In this case, even though a return function is called and thus an event occurrence is notified, the event notification is ignored if automatic event notification commend has not been sent by the client associated with event notification.
The present invention enables different protocol-based clients to remotely control devices at a home network. Furthermore, the present invention makes it possible to modify a connection handler only corresponding to a particular remote client without disturbance' of remote control from other clients and also to add connection handlers simply when it is necessary to support remote control of a new remote client. While the invention has been disclosed with respect to a limited number of embodiments, those skilled in the art, having the benefit of this disclosure, will appreciate numerous modifications and variations therefrom. It is intended that all such modifications and variations fall within the spirit and scope of the invention.