Summary of the invention
Invention disclosed herein is used for a kind of apparatus control system dashes, and this system provides a kind of and controls the device of various type of device by unified interface, such as passing through hand held controller.According to the present invention, synchronous protocol guarantee between most such controller in peer-to-peer network synchronously, a kind of device that transmits custom configuration between such controller is provided, and provides a kind of such controller is transformed into device the server-based network environment from peer to peer environment.
Especially, one embodiment of the present of invention provide a kind of method that is used for synchronous first controller and second controller, and each in first and second controllers is suitable for the one or more electronic installations of remote control.This method comprises to be found to generate the first controller synchrodata that is used for synchronous first and second controllers by second controller, and transmission relates to the message of the first controller synchrodata to second controller.The execution of the order of configuration, state and/or the operation of one of one or more electronic installations of response change, response changes the execution of the control configure order of first controller, or response in one or more electronic installations at least one configuration, state and/or operation in detected change, generate the first controller synchrodata.
In another embodiment of the present invention, provide a kind of equipment that is used for the one or more electronic installations of remote control.This equipment comprises the network interface that is suitable at network communication, is suitable for receiving the user interface of user's input, and is coupled to network interface and user interface and is suitable for responding the user and import exectorial control logic.Control logic further is suitable for finding to be used to control second equipment of one or more electronic installations that can be coupled to network communicatedly, and be synchronously this equipment and second equipment generation synchrodata, and send to second equipment by the message that network interface will be referred to synchrodata.Response changes the command execution of configuration, state and/or operation in one or more electronic installations, the execution of the control configure order of response change equipment, or response in one or more electronic installations at least one configuration, state and/or operation in detected change, generate synchrodata.
In a further embodiment of the present invention, be provided for the system of device control.This system comprises electronic installation and is coupled to first and second controllers of electronic installation communicatedly that it is mutually by network coupled, such as passing through wireless network.In first and second controllers each is adapted to pass through the network remote control electronic installation.First controller further is suitable for finding second controller, thinks that synchronous first and second controllers generate the first controller synchrodata, and the message that will be referred to the first controller synchrodata on network sends to second controller.Can respond the execution of the order of the configuration, state and/or the operation that change electronic installation, response changes the execution of the control configure order of first controller, or the change of response detection in configuration, state and/or the operation of electronic installation, generate the first controller synchrodata.
In another embodiment of the present invention, provide the method for a kind of synchronous first controller and second controller, wherein each in first and second controllers is suitable for the one or more electronic installations of remote control.This method comprises finds second controller, first data that will be referred to one or more first controller incidents that first preamble taken place later on send to second controller, and receive second data that relate to one or more second controller incidents that first preamble taken place later on from second controller.This method also comprises based on the first and second data update event daily records, the data that further will be referred to the first controller incident compare with the data that relate to the second controller incident, if relate to the data and the data collision that relates to the second controller incident of the first controller incident, have only when with the timestamp of the first controller event correlation early than with the related timestamp of second control event time, the update event daily record.This method may further include the control configuration that the control that changes first controller based on second data is configured to mate second controller.
The equipment of the one or more electronic installations of a kind of remote control is provided in another embodiment.This device comprises the network interface that is adapted at network communication, is suitable for receiving the user interface of user's input, and be coupled to network interface and user interface be suitable for respond the user and import exectorial control logic.This control logic further is suitable for finding second equipment, be used to control the one or more electronic installations that are coupled to network communicatedly, first data that will be referred to one or more first controller incidents that first preamble taken place later on send to second equipment, and receive second data that relate to one or more second controller incidents that first preamble taken place later on from second equipment.Control logic can further be suitable for being stored in event log in the memory based on first and second Data Update, the data that can further will be referred to the first controller incident are compared with the data that relate to the second controller incident, if relate to the data and the data collision that relates to the second controller incident of the first controller incident, have only when with the timestamp of the first controller event correlation early than with the second controller incident time, the update event daily record.Control logic can further be suitable for changing the control configuration that the control of equipment is configured to mate second equipment based on second data.
In a further embodiment, provide a kind of system that is used for device control.This system comprises electronic installation and is coupled to electronic installation communicatedly and passes through network first and second controllers of coupling mutually that described network is such as wireless network.In first and second controllers each is adapted to pass through the network remote control electronic installation.First controller further is suitable for finding second controller, send to second controller with first data that will be referred to one or more first controller incidents that first preamble taken place later on, and receive second data that relate to one or more second controller incidents that first preamble taken place later on from second controller.First controller can further be suitable for based on the first and second data update event daily records, the data that can further will be referred to the first controller incident are compared with the data that relate to the second controller incident, if relate to the data and the data collision that relates to the second controller incident of the first controller incident, have only when with the timestamp of the first controller event correlation early than with the second controller incident time, the update event daily record.First controller can further be suitable for the control configuration that is configured to mate second equipment based on the control that second data change first controller.
In another embodiment, provide a kind of controller that will be suitable for the one or more electronic installations of remote control to be transformed into the method for client-server pattern from stand-alone mode (stand-alone).Initial, according to the control configuration of keeping at stand-alone mode by controller, the one or more electronic installations of controller remote control.This method comprises the discovery server, and the data that the control that will be referred to be kept by controller is disposed send to server, and subsequently according to the one or more electronic installations of keeping by server of control configuration control.
The equipment of the one or more electronic installations of a kind of remote control is provided in another embodiment.This equipment comprises the network interface that is suitable at network communication, is suitable for receiving the user interface of user's input, and is coupled to network interface and user interface and the control logic that is suitable for carrying out the order that responds user's input.Control logic further is suitable for finding to be coupled to communicatedly the server of network, the control configuration data that will be referred to be kept by equipment sends to server, according to the control configuration of keeping by server rather than according to the control configuration that equipment is kept, control one or more electronic installations subsequently.
In a further embodiment, provide a kind of apparatus control system.This system comprises electronic installation, by network service be coupled to the controller of electronic installation, such as by wireless network, controller is adapted to pass through the network remote control electronic installation, and by network service be coupled to the server of electronic installation and controller.Controller further is suitable for finding server, and the data that the control that will be referred to be kept by controller is disposed send to server, according to the control configuration of being kept by server rather than according to the control configuration of being kept by controller, controls electronic installation subsequently.
In another embodiment, provide a kind of method of controller from the client-server mode switch to stand-alone mode that will be suitable for the one or more electronic installations of remote control.Initial, according to the control configuration of keeping by server, the one or more electronic installations of controller remote control.This method comprises the data that relate to the control configuration of being kept by server from the server reception, and subsequently according to the one or more electronic installations of keeping by controller of control configuration control.
In another embodiment, provide a kind of equipment that is used for the one or more electronic installations of remote control.This equipment comprises the network interface that is suitable at network communication, is suitable for receiving the user interface of user's input, and is coupled to network interface and user interface and is suitable for responding the user and import exectorial control logic.Control logic further is suitable for receiving the data that relate to the control configuration of being kept by server from the server that is coupled to network communicatedly, subsequently according to the control configuration of being kept by equipment rather than according to the one or more electronic installations of being kept by server of control configuration control.
In a further embodiment, provide a kind of apparatus control system.This system comprises electronic installation, by network service be coupled to the controller of electronic installation, such as by wireless network, controller is adapted to pass through the network remote control electronic installation, and by network service be coupled to the server of electronic installation and controller.Controller further is suitable for receiving the data that relate to the control configuration of being kept by server from server, disposes the control electronic installation according to the control configuration of being kept by controller rather than by the control that server is kept subsequently.
Further feature and advantage of the present invention, and the structure of various embodiment of the present invention will be described in detail with reference to the attached drawings below with operation.Should notice that the present invention is not limited to specific embodiment described here.Embodiment in this appearance only is used for illustrative purposes.Based on the instruction that comprises at this, additional embodiments is obvious to the those of skill in the art of association area.
Embodiment
A is according to the apparatus control system of the embodiment of the invention
Fig. 1 has described exemplary device control system 100 according to an embodiment of the invention.Should be appreciated that the exemplary device control system 100 that illustrates is just to illustrative purposes rather than in order to limit the present invention.Based on the instruction that comprises at this, other of exemplary device control system 100 realize that the those of skill in the art to association area are obvious, and the present invention is intended to other realization like this.
As shown in Figure 1, exemplary device control system 100 comprises a plurality of controller 102a to 102n, and one or more electronic installation 104a is to 104n, and each is coupled to network 106 communicatedly.In one embodiment, network 106 comprises a home network, is used for being connected communicatedly the device in the one family.According to such embodiment, network 106 can comprise, for example combination of home phoneline network, family's network of wires, Ethernet, wireless network or any above-mentioned network.Yet the present invention is not limited to home network, and network 106 also can comprise any kind of dwelling house or non-home network, includes but not limited to local area network (LAN) or wide area network (WAN), for example internet.
Each electronic installation 104a can comprise one of remote-controlling electronic device very widely to 104n, can be used for dwelling house and/or office environment.For example, each electronic installation 104a can comprise that to 104n computer, computer peripheral equipment, TV (TV), video tape recorder (VCR), Digital video disc (DVD) player, personal video recorder (PVR), compact disk broadcast (CD) and put device, stereo ceiver, electromic thermostat, UPnP
TMIn Digital Media reconstructor and/or server, lamp, the video camera one.Yet these examples do not mean to do and are restriction, and other electronic installations are also in scope and spirit of the present invention.
Each controller 102a is suitable for the one or more electronic installation 104a of remote control to 104n to 102n.Especially will go through at this, each controller 102a provides a configurable general-purpose interface that is used to control various electronic installations of user to 102n, each electronic installation has different manufacturers and/or types of models, and each electronic installation can support to be used for the different communication protocol of remote-control device control.
According to embodiments of the invention, each controller 102a comprises the stand-alone interface that is used to control one or more electronic installation 104a-104n to 102n.In interchangeable embodiment, with selectable Control Server 108 operations, this server 108 is coupled to controller and electronic installation by network 106 to each controller 102a communicatedly, to carry out the electronic installation controlled function to 102n.Control Server, controller and remote command is provided in the environment of dwelling house and non-dwelling house and the detailed example of device control and the network used in application on June 27th, 2002, the unsettled U.S number of patent application of owning together 10/180,500, find during title is " Method; System; and Computer Program Product for Managing ControlledResidential or Non-residential Environments ", it all merges reference at this.
Fig. 2 has described the detailed realization of devices in accordance with embodiments of the present invention control system 200.In on March 14th, 2003 application, own unsettled U.S number of patent application 10/387 together, 590, title is " Legacy Device Bridge for Residential orNon-Residential Networks " to Krzyzanowski et al., in describe the various elements of apparatus control system 200 in detail, be equal at this and fully illustrate so that it is all merged references.
As shown in Figure 2, apparatus control system 200 comprises a plurality of electronic installations that are coupled to network 202 communicatedly, and it comprises WLAN in one embodiment.Electronic installation such as PDA(Personal Digital Assistant) 206, dull and stereotyped PC 208, based on computer system 210 and the web camera 222 of PC, be suitable for such as TCP/IP, communicating according to packet-based communication protocol.Traditional consumption electron-like device, comprise TV 212, VCR and/or DVD player 214, stereo ceiver 216, electromic thermostat 218 and lamp 220 and relevant illuminator control interface 226, very not suitable, must rely on infrared (IR) or serial communication protocol reaches communication objective.Conventional apparatus bridge 224a and the 224b translation function that carries on an agreement, make use based on the device of packet communication protocol and rely on IR exclusively or serial communication protocol ground device between communication become easier.
In Fig. 2, each PDA 206, dull and stereotyped PC 208 or can comprise a controller based on the computer system 210 of PC are used for one or more other electronic installations that are coupled to network 202 of remote control.Further, according to one embodiment of the present of invention, a plurality of PDA206, dull and stereotyped PC 208 or can be used on one or more other electronic installations that are coupled to network 202, providing independent control based on the computer system 210 of PC.Interchangeable, these controllers can move to carry out the remote-control device controlled function with selectable Control Server 204.
B realizes according to the controller of the embodiment of the invention
Fig. 3 shows one the example implementation in the 102n (equally usually relating to controller 102 at this) according to the controller 102a of the embodiment of the invention.Should be appreciated that the example implementation that is provided at Fig. 3 description is just to illustrative purpose rather than restriction the present invention.Based on the instruction that comprises at this, other of controller 102 realize that the those of skill in the art to association area are obvious, and the present invention is intended to other realization like this.
As shown in Figure 3, controller 102 comprises user interface 308, be used to receive user's input and provide information to the user, network interface 306, be used to be provided to the visit of network, and optional consumer electronics (CE) device interface 304, be used to send information to a CE device and receive information alternatively from a CE device.In one embodiment, user interface 308 comprises graphical user interface (GUI), receives user's input by touch-sensitive display, and network interface 306 comprises plug-in type or built-in transceiver, be applicable to the network service according to communication protocol, communication protocol is such as IEEE 802.11b, Bluetooth
TMOr Ethernet protocol, optionally CE device interface 304 comprises unidirectional IR transmitter or interchangeable two-way IR transceiver.
As shown in Figure 3, controller 102 further comprises control logic 302, and it is coupled to user interface 308, network interface 306 and optional CE device interface 304 communicatedly.Control logic 302 is suitable for finishing the characteristics of describing in detail herein of the present invention, include but not limited to when operating in ad-hoc mode to carry out the synchronous protocol with one or more other controllers, and carry out and relate to the function that is transformed into the client server operator scheme from ad-hoc mode.Based on the instruction at this, the those of skill in the art of association area can understand control logic 302 and can use one or more general processors, application-specific integrated circuit (ASIC) or aforesaid combination to realize.
Controller 102 also comprises the memory 310 that is coupled to control logic 302 communicatedly.In one embodiment, memory 310 can comprise static memory, such as read-only memory (ROM), and dynamic memory, such as random access storage device (RAM), hard disk drive, or aforesaid any combination.According to embodiments of the invention, memory 310 storages comprise a plurality of software libraries that include application and data, by control logic other execution in 302 fens and processing.
In one embodiment of the invention, controller 102 comprises in PDA, flat computer, Web memo pad or the personal computer, although the present invention is not restricted to this.
Fig. 4 is one and is stored in the various component softwares in the memory 310 or the representation of concept in storehouse according to one embodiment of the invention.As shown in Figure 4, such assembly comprises operating system firmware 402, user interface firmware 404, device controls database 410, device configuration database 408, configuration database 410, user priority is selected database 412, controller synchronizing software 414, and event log 416.In these assemblies each is discussed below.
Operating system firmware 402 when carrying out, provides a platform, and other controllers are applied on this platform and move, and carries out basic function, such as the function that relates to controller I/O (I/O) and file management.User interface firmware 404 when carrying out, provides the realization and the management of the various aspects able to programme of user interface 308.
Device predefined order and the code-group that is used for the various electronic installations of remote control of 406 storages of controlling database and relates to the metadata that these install unique control behavior.In one embodiment of the invention, controller 102 can be controlled database in 406 at device by network 106 download apparatus command codes and metadata store.This function be described in detail on September 26th, 2003 application, U.S. Provisional Patent Application number 60/505,851, title is " DeviceControl System; Method and Apparatus " to Krzyzanowski et al., in provide, be equal at this and fully illustrate so that it is all merged references.Such command code and metadata can so obtain, for example the storehouse on being stored in CD-ROM, download by network 106 as discussed above, or by (for example, analyzing previous user's control method) with end subscriber real-time interaction " study " or rule of thumb.
Software library 408,410 and 412 generally includes storage and relates to the aspect of controller 102 operations customization or the individual and the database of information of whole apparatus control system 100.Especially, device configuration database 408 comprises the data that relate in fact the device that the part as apparatus control system 100 is identified, and comprises unit state and other operation informations.
Configuration database 410 comprises the data that relate to the system management each side, finds such as subscriber authorisation, location management and device.The subscriber authorisation setting is normally selectable, allows or forbids one or more devices that system user control is related with ad-hoc location.The location management data are attached to the one or more spaces of multiple arrangement in apparatus control system 100 or the definition and the distribution of control area.Device finds that data relate to the data that controller 102 detected and safeguarded the ability of the state information that relates to the device on the network 106.For example, the controller 102 according to the embodiment of the invention can use UpnP
TMAgreement, or the state information about the device that occurs is found and obtained to proprietary protocol automatically on network 106.
User preference database 412 comprises the data of the preference that relates to various User Recognition, and this preference relates to the operation of the controlled device in controller 102 and the apparatus control system 100.User preference can comprise, for example favorite television-viewing channel, and the perhaps selection of special pattern user interface (GUI), or be used for " skin " of controller 102.
As will be in this detailed description, when controller during in the operation of independence or ad-hoc mode, controller synchronizing software 414 and event log 416 are used by controller 102 guarantees synchronous agreement between controller 102 and one or more other controllers in apparatus control system 100 with execution.In addition, as will be in this detailed description, these assemblies further are provided between controller 102 and other controllers means of transmitting self-defined configuration information, and controller 102 is transformed into means the server-based network environment from peer to peer environment.
C. synchronous according to embodiments of the invention at the controller of ad-hoc mode
As mentioning in the above, in apparatus control system 100, a plurality of controller 102a can be by a plurality of user's operations to control one or more identical electronic devices to 102n.When these controllers when stand-alone mode is operated, the needs of coordinating these controllers have occurred.Because autonomous ground of each controller and operation independently of each other lack any means of coordinating a plurality of controller functions, it is chaotic that control will take place.
For example, suppose device control system 100 realizes in the family.First user who is positioned at upstairs wishes to close the TV that is positioned at basement, and first user thinks that it is being opened.Use controller 102a, first user sends the TV of " electric power on/off " signal to basement by network 106.Yet, if first user is for his or his is wrong about the trust of basement TV state, may be because second user uses controller 102b it to be closed, " electric power on/off " signal that is sent by first user will cause opening TV, and this operation is opposite with the effect of wanting.
Therefore, in apparatus control system 100, each controller 102a is suitable for communicating by letter to guarantee coordination and the effective operation at one or more electronic installations of common control area, for example in family or office with other controller to 102n.As a result, each controller can work in the system that comprises the several Control device of being operated by other users.In a certain embodiments, each controller has straight-forward network to be connected with other controllers in operating in specific controling environment, and synchronous with these other controllers.
Synchronous in order to carry out this, each controller 102a is to the hold time daily record 416 (referring to Fig. 4) of stamp incident of 102n.Each incident comprises the note of increase, modification or the deletion of some system mode.In one embodiment, the whole system state is divided into different subclass.These subclass can comprise:
(1) user is provided with: relate to the state information of user-defined parameter, include but not limited to that user's increase or deletion, change password, favorite TV watch the sign of channel, the selection of specific controller GUI (or " skin "), or the like;
(2) apparatus module: the state information that relates to the Control Parameter that is used for specific device, include but not limited to increase, the deletion of device template, device driver or device code database or change (as used herein, term " device template " relates to the parameter of device action, and term " device driver " relates to the necessary software of communicating by letter with specific device; As discussed above, " device code database " comprises the control routine mapping that is used for device, such as IR or serial code); And
(3) configuration: relate to the state information of custom-built system or device configuration parameter, include but not limited to device allocation of space, definition space, device configuration and the increase that is connected, deletion or change.
Each incident is all wanted incoming event daily record 416, is associated the time that the indication incident takes place with timestamp.
State changes the incident of following the tracks of for synchronous purpose and propagating according to system of the present invention that is meant.For device, such state changes can comprise the script that changes state variable, control routine and be used for guiding device control.State variable can comprise input selection (for example, broadcast receiver can be set to accept input from DVD player), open/close state (for example TV is opening) or tuning selection (for example TV is set to channel 3).Control routine is the code that is used to control inking device, such as being used for the remote-operated IR control routine of consumer electronic device.Although these are normally static, these codes must propagate into controller when device was introduced into system first, and needed some times when requiring controller to relearn one group of specific control routine.The script that is used for guiding device control relates to script, such as the XML script, is used for the definition device function, the tracking mode variable, and to suitable control module transmitting control code (for example, sending the IR code to concrete conventional apparatus bridge).
State changes can comprise further that changing the script definition experiences.For example, in one embodiment of the invention, control in a kind of experience (such as seeing DVD or listening CD) is by script or macrodefinition, described grand during request and response protocol the response based on the user generate from basic templates, described agreement occurs in to be set up during the processing.For example, seeing the context of DVD, macrodata " ON " can be defined as " opening TV ", " opening DVD player ", " turning on broadcast receiver ", " broadcast receiver being set to the DVD input ", and " TV being set to video 2 inputs ".Response call macro data, each these order is sent to suitable device script.
State changes the action that comprises the action, trigger and the triggering that change timer, timing too.Timer or alarm clock relate to particular script carries out the related time (for example 11:00 closes TV in the afternoon).When alarm time equals the real time, carry out relevant script or action regularly.Triggering relates to state variable is changed and combining of carrying out of particular script (for example need only TV turn on just close lamp).When the state variable of monitoring changes, carry out relevant script or trigger action.In a foundation system of the present invention, timer, trigger and relevant script all are user-programmed function.The detailed description of these functions is applied at the same time, the U.S number of patent application of owning together
To be allocated[agent's recording mechanism 2100.0030004], title is " Method; System; and Computer Program Product forAutomatically Managing Components within a ControlledEnvironment; " to Krzyzanowski et al., in provide, be equal at this and fully illustrate so that it is all merged references.
State changes may further include and changes various configuration parameters, such as device, user in user definition, space, the space to the access rights of space and device, the collection of bitmap and the screen layout that defines user interface (being sometimes referred to as " skin ").
Fig. 5 illustrates according to one embodiment of the present of invention and is used for method flow diagram 500 at the apparatus control system isochronous controller.Yet the description that provided by flow chart 500 is provided in the present invention.On the contrary, from the instruction that provides at this concerning the those of skill in the art of association area other functional sequences in the scope of the invention and spirit, be obvious.With reference to above-mentioned example system 100 flow chart 500 is described with continuing with reference to figure 1.Yet the present invention is not limited to this embodiment.
In initial step 502, the user adds electric controller 102a.Response powers up, and controller 102a carries out initial discovery agreement 504, determines the controller that whether has other to work in apparatus control system 100 by this protocol controller 102a.At least a implementation of this discovery agreement provides the other places outside this.
If there are other controllers to use, one synchronous protocol 506 in controller 102a execution at this moment and the available controller.Synchronizing step 506 is processes, and by this process, controller 102a upgrades the state of its storage inside, comprises its event log, this be by with apparatus control system 100 in other controller receptions or exchange state information realize.The agreement of carrying out synchronizing step 506 provides the other places outside this.In fact say that if be available more than other controllers of one, it is inessential selecting in other controllers which to be used to carry out synchronizing step 506.Therefore other controllers can be selected arbitrarily.Interchangeable, other controllers can be selected on some basis.For example can select other controllers, for example be used for the Expected Time Of Response of communicating by letter with other controllers based on some parameter that relates to network connectivty.
After synchronous 506, controller 102a carries out periodically and finds that step 508 is current available in system to determine which controller (if having any), up to cutting off the power supply at step 524 generator controller 102a.According to one embodiment of the present of invention, each controller 102a is maintained in the table in the memory of all known peers (other controllers just) to 102n.For each peer, controller is stored lock in time last time and the current connectivity information of this peer.For example, current connectivity information can comprise the network address of this peer, such as the IP address, last time discovery time, and latest find attempts determining that this device is available indication.
As shown in fig. 5, attempt between 508 in the discovery in cycle, other four incidents can take place at least: controller 102a generates one or more states and changes 510, controller 102a receives one or more states from other controllers and changes 514, controller 102a receives the synchronization request 518 that is used for other controllers, and perhaps controller 102a can cut off the power supply 522.
Controller 102a can generate one or more states and change 510, thereby the user uses controller to change the initial configuration of controller or changes the configuration of the electronic installation 104a of remote control to 104n.Controller can be programmed equally changing the configuration of its configuration or remote-controlling electronic device automatically, such as the generation of response particular event or arrive a certain target date and time.Under any situation, update event daily record 416, and state change message sent to all available controllers in the apparatus control system 100 is as step 512 illustrate.In one embodiment, the transmission of state change message comprises that the clauses and subclauses from event log 416 send.Because this step, soon, the state of other available controllers and controller 102a are synchronous after state changes generation.
In apparatus control system 100, controller 102a can change information 514 from other movable controller accepting states.This state change message can relate to the configuration change of the electronic installation that is applied to another controller or common control.No matter under which kind of situation, controller 102a will be based on its event log 416 of the information updating that receives, as shown in the step 516.In one embodiment, the reception of state change message comprises the clauses and subclauses reception from the event log of another controller.
In apparatus control system 100, controller 102a can receive synchronization request 518, the controller of the activity that has for example powered up recently from another movable controller equally.If like this, controller 102a will carry out the synchronous protocol with described another controller, and it is realized with more detailed description at this, as step 520 illustrate.
Controller 102a can cut off the power supply 522 equally at any time.Can be by the user, by inner control logic, for example respond long-time inertia and the code that cuts off the power supply, or, for example can issue the complementary network device of wide system cut-off or reset command by other devices, initiate outage.No matter under which kind of situation, this will cause controller to enter off-position 524, thereby stop synchronous protocol 500.
Fig. 6 illustrates and is used to carry out with reference to the discovery step 504 of figure 5 above-mentioned discussion and 508 method flow diagram.This method only by example but the mode that is not limited thereto provide.This method is initiated in step 602.In step 604, controller 102a sends query messages by network 106 to one or more other controllers.In one embodiment, controller 102a spanning network broadcast query message.In step 606, controller 102a waits for that scheduled time amount is to reply from other controllers receptions activity and that be coupled to network 106 communicatedly.In step 608, based on reply (if the having any) that receives during step 606, controller 608 upgrades the storage inside data that relate to the controller availability.In one embodiment of the invention, controller 102a carries out this step by the usability data in the storage inside table that upgrades all known peers.In step 610, stop finding agreement.
Fig. 7 illustrate carry out relate to above with reference to the method flow diagram 700 of the synchronous protocol of the step 504 among the figure 5 and 520.Need handle following controller such as a synchronous protocol described here, when sending such state change message, these controllers are because power cut-off or disconnect and can not accepting state change information from network 106.Based on the instruction that provides at this, the those of skill in the art in corresponding field should be appreciated that the synchronizing capacity according to agreement 700 depends in part on each controller with synchronised clock.For clock skew is arranged between the controller, this can be compensated on connectedness.
Will be with reference to first controller 102a and second controller 102b describing method flow chart 700, its middle controller 102a has the synchronous of request.Aforesaid, in one embodiment, controller 102a asks immediately synchronously after powering up.
Initiate synchronously in step 702.The first controller 102a sends to the second controller 102b with information in step 704, and this information relates to from one or more incidents of last time and controller 102b back generation synchronously, or state changes.In one embodiment, this step need send the daily record from the last time of all incidents after synchronous with controller 102b by controller 102a record.In step 706, the first controller 102a receives the information related to since last time with controller 102a the one or more incidents that taken place after synchronous from the second controller 102b.In one embodiment, this step need receive the daily record since last time and all incidents of the synchronous back of controller 102a of having been write down by controller 102b.Can expect that in most examples, do not change report because the controller that has cut off the power supply does not have any state, the aforementioned dialogue between the controller will be unidirectional.
In one embodiment, the event log that between controller, exchanges by each controller by from the omission of daily record rewrite operation and optimization.For example, if daily record comprises first entry and the pent second entry of the identical TV of indication that a certain TV of indication has been opened, clauses and subclauses heretofore will no longer need, and therefore delete from daily record.
In step 708, controller 102a determine whether any incident all slave controller 102b receive.If there is not incident to receive, stop at step 722 synchronous protocol this moment.If yet one or more incident receive, this moment, controller 102a checked the incident that receives, as step 710 illustrate.This moment controller 102a determine the incident that receives whether with any events conflict that has before write down.Only controller 102a cut off the power supply and the current complete situation of controller 102b according to system mode under, the conflict can expected takes place, and all projects that receive all will be accepted.
Yet, all generated new state at two controllers and changed but clash under the situation that but can not be synchronous.For example, when controller 102b cut off the power supply, controller 102a can be used to allow the specific user to visit specific device.Controller 102a cuts off the power supply then, and controller 106b is powered up and uses to obtain visit and the control to same apparatus by identical or another user.This situation will make the conflict between asynchronous controller 102a and the 102b increase.Under the situation that such conflict takes place, the incident related with nearlyer timestamp won.Therefore, for example, if controller 102a comprises a certain TV state of reflection and is set to the new journal entries of " opening " at 9:42:30, and controller 102b comprises that the identical TV of reflection is set to the new journal entries of "off" state at 9:59:10, controller 102a will accept the phasic change of self-controller 102b this moment, but controller 102b will refuse the change of self-controller 102a, obtain consistent mutually state.
This function shows in step 712, its middle controller 102a determine the incident that receives whether with the previous events conflict of typing.If not, controller 102a is received in the incident that step 716 receives so, and state change message is imported its event log 416.If define conflict, controller 102a determines to compare with the incident that receives so, and whether the incident that has before write down with the back timestamp is relevant, as step 714 illustrate.If this moment, controller 102a accepted the incident that receives, as step 716 illustrate.If not, this moment, controller 102b did not accept the incident that receives, as step 718 illustrate.
According to one embodiment of the present of invention, as step 716 illustrate, receive status changes information and comprises also that state variable changes and use and increase, the deletion of various user's setting, apparatus module or controller/device configuration or revise.In one embodiment, before using, the user of controller 102a can be prompted to confirm any such increase, deletion or modification.
Be accepted or after step 718 was rejected, controller 102a determined whether that the incident of any more receptions needs to analyze in the incident that receives, as step 720 illustrate in step 716.If have, continue analysis that next receive incident in step 710 agreement this moment.Otherwise,, stop synchronous protocol as step 722 illustrate.
About aforementioned protocols, notice that controller 102a can comprise the unit of new introduction, the previous lock in time that it has not write down, or have previous lock in time early than the timestamp that is associated with each incident that slave controller 102b receives.In one embodiment, this situation is that slave controller 102b propagates whole configuration statuses to controller 102a and handles by the event log of ignoring reception fully.
By above-described synchronous protocol, in apparatus control system 100, each controller 102a to 102n can the updating device state information and notify its separately the user in public control area various electronic installation 104a to the current state of 104n.
And method for synchronous of the present invention can be used to allow controller updating device control data library information equally.For example, wish to increase new controller or during with the old controller of new replacement, new controller can be easy to be configured to control the electronic installation that is in controling environment as the user.Concrete, according to embodiments of the invention, the database of existing controller can be delivered to new controller by implementing simultaneous operation on network (such as wireless network).
According to one embodiment of the present of invention, synchronous protocol can be used for from a controller equally to another controller transmission device control storehouse, such as the device control storehouse that comprises executable code.Such function is particularly useful in the system based on java.
D is the conversion from ad-hoc mode to the client-server pattern according to embodiments of the invention
According to one embodiment of present invention, controller 102a can be transformed into the client-server environment from stand-alone mode, but serves as the client or the user interface of the central server 108 of basic operation firmware of storage and data at this environment middle controller and other such controllers.
When central server 108 was increased to network 106, the database of controller 102a can be synchronous with central server 108, allows to be increased at the more new data of controller 102a (being the client now) associated databases of Control Server 108.In the client-server operator scheme, each controller 102a works as the user interface of Control Server 108 to 102n.For example, each controller 102a transmits user's control request to Control Server 108 to 102n, is used for carrying out and obtain GUI information from Control Server 108.
The part of the discovery procedure of discussing as paragraph formerly, controller 102 can be found the existence of Control Server 108 on network 106.This is the foundation structure indication from reciprocity context conversion to the client-server environment.In this pattern, all users and device configuration information, device control module and state variable all are stored in the Control Server 108, and controller 102 works mainly as user interface terminal.
When controller 102 detects Control Server 108 for the first time, must determine whether to send its all or some configuration data to Control Server 108.This can use the agreement similar to the synchronous protocol of part description formerly to finish.If controller 102 and Control Server 108 were before synchronous, controller 102 only sends the incident that has write down after lock in time.If controller 102 and Control Server 108 are never synchronous, controller 102 sends its whole Control Servers 108 that are configured at this moment.This processing is unidirectional: Control Server 108 does not need to send any renewal to controller 102.After finishing synchronously, controller 102 empties its configuration and switches to the client-server pattern, and wherein it will or send any order for any informational linkage Control Server 108.
Among the embodiment of Tao Luning, when the existence that detects Control Server 108 on network 106, the conversion from stand-alone mode to the client-server environment begins automatically in the above.Yet in interchangeable embodiment, in contrast to automatic conversion, beginning of conversion is user prompt.Such embodiment provides a kind of situation, in this case, is detected on network even work as Control Server, and user priority keeps the ad-hoc mode operation.Therefore, even Control Server occurs on network, reciprocity environment still can exist.The user prompt control of conversion process can comprise to controller or be coupled to the one or more orders of other device inputs of network 106 communicatedly.In one embodiment, user alert system is ignored or is ignored Control Server simply and switches to system based on service up to user decision.
In an interchangeable embodiment, provide termination to by the time based on the ability of the spontaneous conversion of the environment of server, to keep peering to the user.
According to a further embodiment of the present invention, one or more controllers 102 can be from the client-server context conversion, and all environment as described above are to equity or stand-alone mode.In such embodiments, central server removed from network 106 or to controller unavailable before, for synchronous purpose, central server 108 is configured to download state and changes data at least one controller.The controller that accepting state changes data is configured to participate in subsequently reciprocity synchronous protocol, and the agreement such as describing outside herein changes data to every other controller with transmit mode.For realizing such system, suppose that each controller has enough capacity, comprise enough memories, to receive and data download.
E. conclusion
Below described various embodiment of the present invention, should be appreciated that they just occur in the mode of example, but be not limited thereto.The those of skill in the art of association area should be appreciated that and not deviate from the spirit and scope of the present invention basis of appended claims definition, can carry out various variations in form and details.Therefore width of the present invention and scope should not limited by any above-described exemplary embodiment, but only foundation claims and equivalent definition thereof subsequently.