Communication system between home automation terminals connected to the internet
Abstract
La présente invention concerne un système de communication entre terminaux domotiques raccordés à Internet. Les terminaux 600 sont connectés à différents sous réseaux domestiques lesquels sont raccordés à un commutateur 300. Une interface Internet 100 sur ce commutateur permet à un utilisateur de configurer les terminaux par email ou par HTTP par un mécanisme de requête de sorte que ceux-ci puissent communiquer et interagir entre eux selon des scénarios spécifiques. Ledit commutateur diffuse des requêtes entre terminaux de manière synchrone ou asynchrone de sorte que des terminaux basse consommation cycliquement en veille reçoivent les requêtes commutées antérieurement pendant une période de veille. Lesdits terminaux peuvent partager et modifier des variables globales mémorisées par le commutateur.

Term
Projected expiry 12 December 2026.
- Priority
- Filed
- Published
- Today
- Projected expiry
13 claims: 7 independent, 6 dependent
- c-fr-0001communication system comprising a plurality of home devices (600) connected to the same switch (300) by at least one network (400) and an interface (350), said terminals comprising executing instructions associated with events, said terminals being configured to transmit, when an event is detected and the network for connecting said switch, including an application execution instruction associated with the detected event, characterized in that :- Said switch (300) is adapted to receive a request from one of said terminals and said request broadcast on at least a portion of said arrays (400), - Said execution instruction is stored on a first terminal, in an execution language of a second terminal.
- c-fr-0002System according to the preceding claim, wherein said first and second terminals belonging to heterogeneous networks interconnected by means of said switch and have different execution languages.
- c-fr-0003System according to one of the preceding claims, wherein the switch comprises a queue storing said requests received by the switch, said queue having a plurality of pointers associated with each of said terminals so as to define a queue, virtual waiting for each terminal.
- c-fr-0004System according to one of the preceding claims, characterized in that said switch comprises a first database (330) storing said requests passing through said switch (300) and said terminals (600) operate according to a monitoring system and are suitable when they wake up, to check said first database for retrieve the stored queries since its last standby.
- c-fr-0005System according to the preceding claim, characterized in that said switch comprises a second database (330 ') storing configuration requests to associate, in a terminal, an event to an execution command and said p irst database (330) stores said requests from a terminal at an event.
- c-fr-0009domestic terminal (600) including:- Of the execution instruction data for controlling a second terminal which is connected via a network (400), said data being associated with an event of the terminal, - Means adapted to transmit on said network (400), a request including said instruction to detection of said event wherein said instruction execution is stored as a string in an execution language of said second terminal.
- c-fr-0010A method of communicating between home terminals in a system according to any one of claims 1 to 5, comprising:- A step of configuring a first terminal (600) for storing an execution instruction associated with an event, said execution instruction is stored in an execution language of a second terminal (600 ') connected to said switch (300) - During the said event, a step of transmitting a request from said first terminal to said switch, said request comprising said execution instruction, - One of said request switching step by said switch (300) to a portion at least of the other terminals, - A step of receiving said request and execution of said instruction by said second terminal.
- c-fr-0011Method according to the preceding claim, characterized in that said configuring step comprises a step of sending, from an extensive communication network (800) connected to said switch (300) to said first terminal (600), a request including a configuration instruction, said request being switched by said switch.
- c-fr-0012Method according to one of claims 10 and 11, characterized in that it comprises, in said switching step, a step of recording said request and unique identification data associated with the request in a database (330) of said switch (300), and a subsequent interrogation step said database (330) by said second terminal, said query indicating the identification data of the queries already processed.
Independent claims9
88 paragraphs in 1 section, as filed
p0001The present invention relates to a communication system between automation terminals connected to the Internet.
p0002The deployment of broadband Internet and email in particular allows everyone to communicate in writing with virtually no transmission time and receive messages continuously without time mail delivery. Moreover miniaturization and electronics commoditization are used to control home appliances from wireless connections or powerline reasonable cost. A multitude of devices is already well provided according to the standard "home automation" on so-called powerline 'X10' (registered trademark of X-10 Incorporated, USA) widely deployed in the US and more recently introduced in Europe. The combination of the Internet and low-cost terminals distributed in the habitat opens the way for innovative applications and new services on existing applications (safety, telemetry, automation etc ...).
p0003The remote control of household appliances from emails has already been proposed by the Aladdin Project of Microsoft Corporation in the publication <nplcit id="ncit0001" npl-type="s"><text>"A Toolkit for Building Dependable and Extensible Home Networking Applications" by Yi-Min Wang, Wilf Russell, Anish Arora, Feb. 14, 2000</text></nplcit> and which has been the object of a PCT patent application <patcit id="pcit0001" dnum="WO0113185A2"><text>WO 01/13185 A2</text></patcit>. This patent basically describes an elegant and powerful network terminals registration mechanism, type "ready to run"<i>(Plug and play)</i> in one or more association tables (tables for consulting services) and control the presence of these objects by a state table (or <i>soft-state store)</i> updated as the initiative and periodic activity of these objects. Piloting X10 devices by email to the other already the subject of business achievements such as software "<i>Homeseer "</i> the company Homeseer Technologies (USA). These references will help readers to understand the context of use and the possible uses of aircraft ordered from the Internet.
p0004An architecture with a "base" centralizing connected to the Internet and which are connected to different terminals poses a problem of scalability. Indeed, the addition of a new device requests an update of the management software that basis taking into account the specificities of this unknown device, to the "drive". Driver then speak or<i>"Driver"</i> (Specific program) to "install" on the base. If this database is a computer, the update is easy and facilitated by a powerful operating system and the type of features "plug and play" that will dynamically "hook" the new terminal. However, it is more problematic when the base is an embedded microsystem with limited hardware and software resources. It is then reload a new "program code" in the database and restart the system. This operation is always delicate and sometimes prone to fatal errors.
p0005A problem that remains in the solutions of the prior art is the need to configure the "base" when new devices with additional features are added and connected to the database. The present invention aims to solve this basic problem of dependence on new equipment.
p0006For this purpose, the present invention virtually confined to a role based broadcast / switching information without the need for change and without this base has to manage a "fleet" of terminals. The interworking problem is somehow transferred to the terminals. Given the level of inter relatively simple operation required between devices in a home automation system, the present invention provides a control mechanism "opaque" as terminals can directly control other devices without the base is intrinsically involved in feature terminals that it interconnects. These characteristics should allow a user to simply develop custom scripts, or automatic sequences of actions, as they currently exist in a rudimentary manner and fixed (eg alarms, heating control, lighting) with no update the database management software to each terminal centralizing integration with new features. The terminals become "programmed" by email or HTTP interface without integrating themselves the world of Internet protocols. By the principle of diffusion, the terminals do not require registration phase by said base, this mechanism being subject to the vagaries of synchronization. In addition, the present invention is suited for high autonomy including wireless terminals and cyclically standby that can not be satisfied with a synchronous link between sender and receiver of information.
p0007Also known by the application <patcit id="pcit0002" dnum="WO0217560A"><text>PCT WO-02/17560</text></patcit>, A direct communication system peer-to-peer between several nodes forming a communication network.
p0008When an event such as switching on a lamp, is provided on a first terminal, a destination instruction of a second terminal is developed from primitive by adding parameters there. This instruction is transmitted through a petition informing the recipient address. This imposes a common syntax to communicate as well as prior knowledge of the other nodes to send their queries. This knowledge requires, among others, managing a table of nodes / node IDs (GUID and DUA).
p0009In one embodiment "multicast", a query can achieve multiple nodes simultaneously with the same message that de facto raises a problem setting the function to be performed on each of the destination nodes. This solution then provides the use of "alias" kind of "meta-function" répertoriable in a global table listing the shares "globally" preset. This alias causes the execution or not of a local action at each node according to a new table "ATTRIBUTE TABLE ALIAS" which gives him the parameters to be "locally".
p0010Therefore, important treatments are necessary, either to develop education, determine the destination address and the application form to be issued or to develop instruction and request "multicast" and allow the execution thereof by the recipients.
p0011Another object of the invention is therefore to reduce the processing performed at the terminal / transmitters and nodes at the terminal / destination nodes without the central base is intrinsically involved in the processing instructions.
p0012To this end, the present invention firstly relates to a communication system comprising a plurality of home devices connected to the same switch by at least one home subnet and an interface, in which system:<ul><li>said switch is adapted to switch requests transmitted by a first of said terminals to at least a portion of the other terminals of said sub-networks,</li><li>said first terminal is configured to transmit on the subnet the switch and connecting to said at an event, a request associated with this event, the request including an execution instruction for at least a second terminal of a sub -network connected to said switch.</li></ul>
p0013The presence of the base switch is paramount when two terminals are located on two separate subnets but also when the two terminals are on the same subnet. Indeed, when the terminal reaches of communication and / or switch are limited, the switch officiates as a relay between two terminals may be too far apart. Similarly, communication protocols can be asymmetric between the binder and a terminal to switch the two connecting terminals between them. The switch then officiates also as relay requests. The order (instruction) to be executed by the second terminal is relayed by the base without any treatment of the latter (interpretation, syntax modification) is performed. Only the recipient terminal has the capacity to interpret the sent instruction.
p0014Domestic subnet is to take the sense of local network for connecting one or more devices of the same type (eg same communication protocol) to the switch. A set of domestic subnets connected to the same switch is used to create a home network, that is to say substantially in the same geographic location (a house or apartment, for example).
p0015event is defined as a stimulus detected or experienced by the terminal or a terminal carried by the same command. The stimulus can be understood as a set of conditions observed by the terminal (eg, wake triggering, time range and sensor, button, motion detector, thermostat, glass breakage sensor, gas or water. ..), and a command as an action by the terminal (for example, taking a photograph for a camera after pressing the shutter button or receiving a motion for taking pictures) .
p0016Thus, the execution instruction (so remote) emitted by the first terminal to another terminal does not need to be interpreted by the base. The latter merely switch the request of the first terminal to the other subnets. The destination terminal, upon receipt of the query, execute the direction. Accordingly, the base does not have to be set when new instructions are emerging (new syntax, new function ...).
p0017In one embodiment, said execution instruction is an opaque string including identification data of said second terminal. This string is written in the syntax interpretable by the other terminal so that reception, it executes the statement contained in this string, even when the transmitting terminal could not interpret. Because this instruction is not interpreted by the terminal which stores, we speak of string "opaque".
p0018Furthermore, said switch includes a first database storing said requests passing by said switch and said terminal operates on a monitoring system and is able, in its wake, to consult said first database to retrieve the stored queries since its last standby. Optionally, said switch comprises a second database storing configuration requests and said first database stores ordinary queries.
p0019The term terminal operating according to a monitoring system, a terminal having two states: one called "sleep" when the activity of the terminal is reduced to a minimum, such a routine down one counter, and the other says "business" where the device behaves like a processing module and communication in accordance with the use for which it is intended. This monitoring system can significantly reduce the power consumption of such a terminal. This team including handheld devices with limited energy.
p0020This embodiment is of major interest when the terminals of the same subnet are asynchronous and do not wake up at the same time. The switch then stores the requests from one of the terminals and transmits them to the other when it wakes up.
p0021At this stage, we distinguish the applications to affect the long-term terminal, for example specify the terminal at the taking of a photograph he must send a request to a projector so that it lights up. This is called configuration request. A configuration is generally modified by another configuration request. Ordinary applications concern, on the other, specific actions to be performed by a terminal, such as "take a picture" or "turn on 30 seconds." The action must be carried out occasionally or for a defined period.
p0022It thus provides the basis separately stores the common queries configuration requests to a reset terminal will "replay" the configuration requests and not ordinary ones.
p0023Furthermore, said requests comprise identification data assigned to reception by said switch, and said terminal comprises means for storing the identification data of the last regular processed request and identification data of the last processed configuration request . In this way, the device wakes up (changes from standby to active state) knows where he is in all the requests stored by the switch even though a number of them were received during the previous day. To facilitate the management of requests, we can choose ordinate identification data, initialized to zero at the start of the switch.
p0024The terminal provides, in volatile memory, two counters, one dedicated to the identification numbers of common queries and the other to the numbers of configuration requests. So when a terminal wakes up, it transmits to the base both requests numbers (which are the latest requests received by the terminal) and receives (or will ask) in answer all queries with an identification number superior. Optionally, the terminal can transmit a plurality of successive requests by incrementing the identification number to the current identification number. This current number is entered in all the packets sent by the switch such that each terminal knows how many queries it lacks. Upon receipt of a request, the terminal executes before seeking the switch again to obtain the following query.
p0025Similarly, when the terminal is restarted (when changing batteries, for example), the number dedicated to configuration requests is set to zero, then this number with a number of the common requests is sent to the base so that queries between 1 and current identification data of the switch to be sent. The terminal receives in response to one or more successive requests, all configuration requests (it replays in order of ascending numbers).
p0026In parallel, restart the application terminal to switch the current issue of the common queries and receive a number, sent by the switch, the terminal stores it in the appropriate memory. Thus the terminal does not replay the old common queries.
p0027Moreover, said switch comprises a network interface connected to a wide area communication network. Such extensive communication network may be the Internet, a mobile phone network, the switched telephone network. Such a network can also support different transport protocols such as HTTP, FTP, UDP or TCP. It enables interoperability of several similar systems and therefore the linking of remote terminals.
p0028Furthermore, said switch further comprises a shell and means for storing global variables and said switch is adapted to update said global variables to receiving a request comprising a modification instruction of a global variable. When data or variables need to be shared, the terminals do not know, the switch is the only way to be able to centralize this information.
p0029Specifically, these global variables are stored as a linked list to the switch providing accessibility and easy management of global variables.
p0030According to a predefined request format and interpreted by the base terminals emit operation requests or assignment on global data. This request is interpreted and executed by the base, which base stores in the linked list the calculated value of the global value. When a device requires the value of this global data, it sends a predefined query that includes the name of the desired overall data (the terminal is configured to transmit such a request when it wants to access a global variable). Based emits in response a request with a predefined scope includes the expected value.
p0031In a particular embodiment, the interface is able to emulate unsupported functions by said subnet that is directly connected to said interface and / or said end of that subnet. For example, for an X10 type subnet limited in its functionality, an emulator disposed in the base to the subnet interface allows processing requests to the specific format of the subnet. In this case, the subnet should not evolve in terms of functionality during the lifetime to prevent reprogramming of the base.
p0032The invention also relates to domestic terminals to a communication network comprising at least two systems described above, the switches of said systems being connected through an extensive communication network and being capable of transmitting on said extended query communication network emitted by a first terminal connected to the switch of one of said systems to a remote second terminal connected to a second system switch.
p0033Furthermore, the request includes data indicative of said transmission WAN and said switches are capable of encapsulating said request issued by said first terminal in the transport format of said WAN.
p0034The invention also relates to a domestic first terminal adapted to be remotely controlled, said first terminal:<ul><li>being connected to a home subnet</li><li>comprising an instruction execution data of a second terminal connected indirectly to said sub-network, said data being associated with an event of said first terminal and being in the form of a chain of opaque characters corresponding to a control of the second terminal,</li><li>being capable of emitting, on said sub-network, a request including said instruction to detection of said event.</li></ul>
p0035terminal by means indirectly connected to a home subnet, a terminal that does not belong directly to this subnet but achievable or send requests to another remote network through gateways (base) switch types , intermediate network ...
p0036According to various embodiments, the first terminal further comprises:<ul><li>receiving means requests sent over the network and interpretation / processing of such requests,</li><li>data storage means for identification of processed requests and interrogation means of a switch connected to said sub-network, said switch storing requests from third terminal and said first terminal being adapted to interrogate said switch on unprocessed requests.</li></ul>
p0037The invention also relates to a communication method between domestic terminals in a system as presented above. The method comprises:<ul><li>a first terminal of a configuration step associating an event an opaque execution instruction interpretable by a second terminal connected to said switch,</li><li>in such event, a step of transmitting a request from said first terminal to said switch, said request comprising said execution instruction,</li><li>a said request switching step of said switch, to a part at least of the other terminals,</li><li>a step of receiving said request and execution of said instruction by said second terminal.</li></ul>
p0038According to various embodiments:<ul><li>said configuring step comprises a step of sending, from an extensive communication network connected to said switch to said first terminal, a request including a configuration instruction, said request being switched by said switch,</li><li>the method comprises, in said switching step, a step of recording said request and unique identification data associated with the request in a database of said switch, and a subsequent step of interrogating said database by said second terminal, said query indicating the identification data of the queries already processed,</li><li>said interrogating step occurs just after waking up said second terminal and the method comprises a step of standby of said second terminal after said interrogation steps and execution. Thus, the invention is particularly applicable to autonomous devices with limited energy use by episodic sleep / wake system allows to significantly increase the service life,</li><li>on receipt of a request including an assignment statement on a global variable, said interpreter said switch performs said assignment instruction, updates said linked list of global variables with the global variable modified and transmits a request including said variable overall on all of said sub-networks,</li><li>said switching step comprises, immediately after receipt of such request, the distribution of said request to the output sub-networks of said switch. Here called output sub-networks all connected subnets directly to said switch.</li></ul>
p0039The principles used are now presented and one embodiment of the invention is described below by way of example, with reference to the accompanying drawings in which:<ul><li>Figure 1 shows the general view of the switch 300 placed in context, </li><li>2 shows the format of the packets processed by the broadcasting device 370,</li><li>Figure 3 an example of an application implementing the invention,</li><li>4 illustrates an example of exchange of requests between the device 300 and its periphery.</li><li>5 illustrates an example of exchange of variables between terminals.</li><li>Figure 6 specifies the data structure of the request queue 330 and the list of global variables 340.</li></ul>
p0040Figure 1 shows the general view of the communication system according to the invention.
p0041According to a feature of the invention, the user can configure and remotely controlling devices called "terminals" at his home located on slot home networks. For this, it must send messages with a certain syntax and e-mail Type in one or more mailboxes email owned. These messages can either order a particular activity terminals or configuring said terminals to subsequently react specifically to clean any stimuli to their inputs / outputs.
p0042The remote user can send or receive mail through the computer 500.
p0043The e-mail messages to be transmitted are typically managed by remote servers 900<i><sub>n m ...</sub></i> according to the SMTP protocol <nplcit id="ncit0002" npl-type="s"><text>"Simple Mail Transfer Protocol" specified by the IETF (www.ietf.org</text></nplcit>). The email messages receivable are typically stored in remote servers also 900<i><sub>n m ...</sub></i> connected to the Internet network 800 (eg, following the recommendation of protocol POP3 <nplcit id="ncit0003" npl-type="s"><text>"Post Office Protocol Version 3" described by the IETF</text></nplcit>) The base station 100, located at the user, acts as a gateway between the link 801 high speed interconnect (ADSL / cable) to the Internet and the local network of the user 200 usually supported by the protocol Ethernet; this local network is not necessarily wired and may be of the 'wireless' WLAN<nplcit id="ncit0004" npl-type="s"><text>"Radio Local Area Network" as IEEE 802.11x</text></nplcit>. It should be noted that the device 300 may be physically integrated with the base station 100 that also may contain other gateway functions such as routing and IP packet filtering "<i>Internet Protocol</i> "(Firewall).
p0044The switch 300 connected to LAN 200 is further connected to the terminals 600<i><sub>i k ...</sub></i> via one or more sub 400x ... z networks. These sub domestic networks are heterogeneous and different wired or wireless type natures. For example, domestic wireline X10 (X-10 Incorporated, USA) is used to control remote appliances powerline on the sector (110 / 220V). Wireless home networks such as IEEE 802.15.4 (ZigBee), Bluetooth<sup>™</sup>, WiFi or other wireless without owner can control small autonomous devices.
p0045The 600i terminal ... k may have constraints of different natures including the need to minimize their energy consumption. This constraint arises for wireless terminals powered with batteries or batteries. In fact, we find that the continuous reception of radio signals consumes almost as much energy as their issue (with emissions of modest powers like those found on home networks), which poses a real problem for devices with forced to remain connected on a LAN. A conventional solution to overcome this problem is to alternate long periods of sleep and short radio reception activity. Following a scan mechanism ( "<i>polling</i> "), The terminal can then periodically call her" base "(device 300), every minute, for example, and then go back to sleep or wake up periodically at" appointment "or" window "to listen if the base it reports a message to his attention. This operating mode causes a "asynchrony" between the availability of a message on the "base" and its recognition by the terminal. Conversely, a terminal on AC will remain permanently radio reception and address a message arriving on the "base" instant and "synchronous" manner. According to one characteristic of the invention, the device manages both the nature "synchronous" or "asynchronous" terminals. Note that the reactivity of an asynchronous terminal can be improved and become "pseudo-synchronous" making him "listen" to a higher pace the network, but always minimizing the report "phase of activity / phase inactivity ". To make this observation, the terminal wakes up a short time eg 200 microseconds every second; the "base" vis-à-vis issues an information train "signaling" of 1.1 second, for example to "force the awakening" of / from the terminals, so that the period of activity of the terminal is ensured to be included in this period. If during its short period of operation, the terminal denotes a particular radio signal based for example on the "carrier sense" and / or a particular binary sequence contained in the stream of information, it can decide that it must operate a request to its base in accordance with the objects of the invention.
p0046Figure 3 shows an example of a facility with the present invention. User messages by remote program email a wireless camera 600<sub>11</sub> with a motion detector. Independently and depending on the scenario set in the address of the user, detection of a movement will cause the ignition of a lamp 600<sub>22</sub> then taking a photo by 600<sub>11</sub> returned to the user by email, finally an alarm 600<sub>21</sub> will be triggered.
DESCRIPTION SWITCH 300
p0047The switch 310 has an interface to the Internet. Following the example embodiment, it contains a standard battery of SMTP / POP3 / TCP / IP allowing it to receive or send e-mail messages. An embedded HTTP server<i>"HyperText Transfer Protocol</i> "(Hypertext Transport Protocol) supporting CGI requests <i>"Common Gateway Interface</i> "(Common Gateway Interface) described by IETF allow the user to record in a descriptor table 315, from a type of interface" WEB ", the parameters necessary for POP / SMTP protocols to access mail servers. These same HTTP / CGI protocols can also provide the means for transmitting requests directly to the switch 300.
p0048The interface 310 periodically polls (even more frequently than is desired reactive system) email boxes according to their respective parameters (server name, member name, password). The interface downloads the e-mail messages stored on servers in the format shown in Figure 2 (A) and then analyzed by removing certain protocol encapsulations and separates the different fields (sender, subject, content) in chains of simple type characters ASCII<i>"Ascii</i> "(American Standard Code for Information Interchange). The message download can cause a server or not erase the messages in the correct mode by the user. The module cache statement in the patent application<patcit id="pcit0003" dnum="FR0401312"><text>FR 04 01312</text></patcit> will be useful if the messages are not deleted. The interface 310 does indeed take into account a given message only once even if it remains on the server.
p0049According to a variant of the device 300, the interface 310 has the means to make or receive requests encapsulated in UDP packets <i>"User Datagram Protocol</i> "(User Diagram Protocol) to or from other devices 300 'remote distributed over Internet. The implicit IP address (or domain name of the remote device before resolution of the IP address by a DNS<i>"Domain Name Server"</i> - Domain name server - remote) and the associated UDP port to the remote device are shown in the table 315. Alternatively, these parameters are explicitly specified in the outbound request. The interface is then continuously listens to UDP packets on a given port also specified in the table 315. In another useful alternative for reliable transfers, TCP<i>"Transmission Control Protocol"</i> (Transmission control protocol) replaces UDP and TCP connection is established between the devices 300 and 300 'prior to any exchange of requests. The interface then has the means to define queries in the TCP stream so that queries are replenished. In yet another embodiment, the Internet may be substituted with a mobile telecommunications network. The devices 300 and 300 'then communicates via SMS e-mail<i>(Short Message Service)</i> or MMS <i>(Multimedia Message Service).</i>
p0050This connection between the devices 300 and 300 'enables the establishment of a global virtual network wherein all device 600 (locally connected to the switch 300) can remotely control any device 600' connected locally to a remote switch 300 '. A request to send to a device connected to a remote switch includes email information (destination address, subject, ...). The switch connected to the transmitter then sends an email with this information to the remote switch, which transmits the original request.
p0051The order of devices in the home should not be allowed to unknown and therefore it is necessary to limit this possibility. To this end, a password or equivalent security system limiting the "right of access" is included in the control message. The comparison with the real password previously recorded in the table 315 to screen out messages "normal" does not contain specifics related to the object of the invention or spam.
p0052The useful part of the email message that is submitted to the broadcasting device 370 is a character string called "query text" or execute statement and noted STR. The query text can be specified in the email message subject or contents (body). Sun requests will be of course in content. The query text can be broken down into a series of elementary instructions: {Instruction<sub>1</sub> ; Instruction<sub>2</sub> ; [...]; Instruction<sub>not</sub>} And has as computer languages syntax and grammar, the definition beyond the scope of the invention. The syntax for the "Instructions" query is specific to each device or group of devices to which the request is addressed, while a large number of devices can not interpret these instructions.
p0053The query 370 of the broadcasting device receives requests from the Internet via the interface 310 (311 functional link) and requests from the terminal 600 via the network interfaces under 350 (351 functional link). These are homogeneous and presented to the member 370 in the form of a package shown in Figure 2 (B). a header<i>"API header"</i> just pointing out that this is a query containing a string of STR characters as opposed to other types of packet whose interest will be seen below. For simplicity of language and where the context permits, a string forming here called query "a series of instructions" disregarding the package concept.
p0054under 350x..z network interfaces are supported to shape these transactions with a specific format on the sub network 400 into a format compatible with the broadcasting device 370 and vice versa. They are functionally of little use when the subnet protocol transports data packets and terminals directly support the specific features of the invention. Otherwise, they must provide interworking and a translation between the two formats. Also some as the X10 protocols are very basic and do not support substantial data rates. In the latter case, the subnet interface emulate the missing functions to the terminals and start "in their place" by ensuring a function of<i>"Proxy terminal"</i> vis-a-vis of the diffusion member 370.
p0055The switch 300 provides two levels of communication between terminals:<ul><li>a level "application" that allows terminals to exchange requests,</li><li>a "global variable" level allowing terminals to exchange variables.</li></ul>
Operations on the queries.
p0056The instructions of a query can be handled in different ways by a terminal. He can :<ol><li>(1) ignore because it is not affected and does not recognize words "key"</li><li>(2) interpret to configure, trigger action, integrating in time program sequence that will change his behavior,</li><li>(3) for storing, under certain conditions, subsequently submit them to the time switch that "request" for third or terminals for Internet access.</li></ol>
p0057If (2) requires an understanding of the syntax used terminal, but the instructions of the case (3) can be stored and then returned to the switch as a simple string of opaque and meaningless characters. The following example to understand this notion of "opacity"<ul><li>A user sends the following configuration request in an email that the switch receives: [THERMOSTAT SETUP: If Temp> 21 ° C send " <i>BOILER: OFF ";</i> If TEMP <19 ° C send " <i>BOILER: ON</i> "]</li><li>The switch then broadcasts to all subnets 400. The terminals they are synchronous or asynchronous will try to analyze it and only the THERMOSTAT terminal will recognize it as the key words it contains. If several THERMOSTAT exist beforehand we will inform ensured a registry cleaner to each (eg a manual selector-encoder) for distinguishing THERMOSTAT1 of THERMOSTAT2. The thermostat will then consider and interpret although S1 chains:<i>"BOILER: OFF"</i> and S2: <i>"BOILER: ON</i> 'Remain' opaque 'for him is to say meaningless and uninterpretable but S1 and S2 are stored in time strings related to conditions at the terminal. Depending on the temperature measured on the sensor, and after crossing a threshold specified in the application, that is to say when a stimulus (here T> 21 ° C or T <19 ° C), it may issue S1 or S2 request to the switch. Similarly, only the kind BOILER will recognize the S1 or S2 message and interpret it to change its internal state. The terminal THERMOSTAT BOILER here triggered the terminal without contain characteristics specific to the latter terminal.</li></ul>
p0058Switched requests appear to terminals in the order "first-in first-out". Note that this queue has an input and outputs that as many virtual terminals because the "exit" of a request for a given terminal does not make the application unavailable to other terminals.
p0059The start, following a change of batteries, for example, a terminal long after the availability of an application configuration intended for it requires that the request is still available, the switch has to keep this memory request preferentially to common queries. Indeed, the switch can indefinitely store the queries and therefore must have a policy so that said requests are eliminated when the terminals have more use. Such a policy can be based on time, volume (memory limit available in the database), the nature or origin of the queries. According to one embodiment, the configuration requests are stored in a single queue 330 'separate from the single queue 330 dedicated to common queries, requests which are discriminated by origin (different email boxes) or recognition the keyword 'SET' specified in the application.
p00606 shows the queue data structure of the queue 330. The requests are introduced and extracted by the switch. It presents to each terminal a virtual queue of its own. This queue is therefore functionally more output pointers, is "a pointer device." The reader's attention is drawn to the fact that the switch does not know the number of connected devices and does not support context by terminal, storing the output pointer is the responsibility of the terminal, which value is then transmitted to switch in a request sent by the terminal (Figure 2 C).
p0061According to the embodiment, the switch assigns a growing number discriminant <i>STAMP</i> for each request. The terminal, requesting to switch the outgoing request the head of its queue, submits the discriminant last<i>STAMP</i> the last received request, so that the switch refer the request immediately discriminating higher. Multiple queues "virtual" and can be managed without the switch is to control the number of terminals that request it. The STAMP discriminating assigned by the switch is calculated at its discretion and may be a pointer or seeming arbitrary value but intelligible by it.
p0062According to an improvement, the terminal specifies the switch and together with the discriminant <i>STAMP,</i> OFFSET an index indicating that he wishes the supply of STR field of the request in an offset manner that is to say omitting OFFSET 'first characters. This improvement is particularly useful when the maximum length of STR field of application is incompatible with the maximum packet size on network resulting in a truncation of the end of the STR information.
p0063Generally, the elements of a queue are handled in pointer form especially when the elements are of variable size, which is the case of character strings as STR. The object of the invention system can be part of a larger system, request a pointer can point to a complex data structure but as the STR string can be<i>ultimately</i> accessed. For simplicity, such levels of indirection associated with implementation are ignored here.
p00644 shows an exemplary timing diagram of requests exchanges.
p0065The internet interface 310 and the terminals can send requests in the switch. According to the embodiment and to get an application in the lead, a terminal makes a request to switch a packet called "POLL" containing the discriminant<i>STAMP</i> cited above and switch back him discriminant request <i>STAMP + 1.</i> Optionally, the switch returns all applications received since the discriminant STAMP, that is to say all queries whose discriminant is greater than STAMP. The terminal 600 then updates the STAMP value it stores in memory the value of the discriminant of the last request received (thus the highest STAMP).
p0066In an advanced embodiment attached to the presence of two queues 300 and 300 'mentioned above, the terminal 600 stores two values and STAMP STAMP' one (STAMP) associated to common queries and the other (STAMP ') associated with configuration requests. When starting the device 600 (eg after disconnecting or changing the batteries / battery), discriminant STAMP 'configuration requests is not taken into account (or reset) so that the device re-executes all configuration requests concerning him. Meanwhile, the switch provides a current pointer STAMP<sub>CURRENT</sub> (Value of the last query marked by the switch) to the terminal, which stores it in its volatile memory to reference it later for subsequent ordinary requests.
Operations on global variables.
p0067Interest of this level is to give the opportunity to the terminals to exchange data may take a wide variety of possible values and can synchronize to global conditions or variables available permanently.
p0068The naming and access by the switch to global variables can be done in different ways, for example by a number indexing table (1), with a label referring to a number of configuration following an email to the attention of the switch previously establishing an association between label and number (2) or a dynamically compared label in a list of labels referring to global variables already assigned (3). The latter method is chosen here as the embodiment.
p0069The actual variable can be of type "flag" is a bit, or wider width (8 bits, 16, 32 bits ... etc).
p00705 shows a timing diagram of transactions operations on global variables. 6 shows the data structure of the global variable list 340 as a linked list.
p0071To identify the posting queries on global variables, one marking bit in the ente ^ you can be added to the switch know which queries are interpreted locally without resending to output subnets switch. Optionally, the switch may try to interpret all requests in transit and consider as hers those that can interpret and execute.
Writing variable
p0072The switch can through internal interpreter execute instructions that appeal to the allocation of a global variable. The activity of the interpreter is represented by (Ia), (1b) in FIG 5.
p0073An assignment statement has a logical or arithmetic expression interpretable by the internal shell of the switch, eg " <i>var1 = 2 * + Variable3 variable5 +</i> 12 ", where <i>var1, Variable3</i> and <i>variable5</i> labels are the representatives of the variables.
p0074More generally, in the assignment statement <i>L</i> = <i>VAL,</i> the term <i>VAL</i> is calculated by said interpreter in a single numeric value, which is then stored in the global variable label <i>L</i> which is searched by the switch in its list of the labels of the variables already in memory. If the label<i>L</i> is present, the associated variable directly receives the new value <i>VAL</i> otherwise, a new variable identifier is created beforehand with an assigned label field <i>L</i>. the variable<i>L</i> is updated and a packet shown in Figure 2 (D) is released by the body 370 to the attention of synchronous terminals.
p0075According to an embodiment and to the economy of the interpreter, a packet shown in Figure 2 (D) issued by the terminals can also cause assigning a constant <i>VAL</i> to the variable <i>L</i>. In another variant, said the interpreter made an association between key words and constant assignments with predefined variables, which assignments are executed by the body 370. Thus, the query "SET ALARM ON" is translated by the interpreter by assigning the constant '1' to the ALARM variable for example; naming variables can of course use a simpler way as the methods (1) and (2) above.
Reading variable
p0076Asynchronous terminals operate a so-called polling operation " <i>poll VAR "</i> on a package shown in Figure 2 (E) and the member 370 returns their variable in a format shown in Figure 2 (D). If the variable label does not exist, an arbitrary value is returned (eg 0).
Description of the distribution member 370.
p0077The distribution of body motions 370 receives and transmits packets in the format shown in Figure 2 (B) and discriminates their exact type in a field HEADER API. HEADER API also contains specific fields as necessary for the functioning of the system but not useful for the understanding of the object of the invention system.
p0078When receiving an incoming request on a functional link 351 or 311, the body 370 broadcasts the request on these outputs 351 and 311. Note that on operational links 351 individuals carrying only one terminal, application no ' is not returned when it emanates. It is the same Internet link 311.
p0079The immediate release of an outbound request of the member 370 is used to enter synchronous terminals listening watch on their subnet. On the other hand, the body 370 stores the incoming request in the queue 330 according to the procedure already described. Asynchronous terminals operate a query operation by a package shown in Figure 2 (C) and their body 370 returns a query in a format shown in Figure 2 (B) following the procedure already described.
p0080According to one embodiment, the immediate release of an outbound request is substituted by broadcasting a notification packet indicating the synchronous terminals present a new request awaiting discriminant <i>STAMP.</i> The procedure following this notification is the same as for asynchronous terminals. This variant is particularly useful when queries are too long to be contained in one package.
p0081According to the embodiment, the terminals have the means to interpret and make requests and store configuration requests. But if these means are insufficient, the network interface in which they are connected can substitute for them to emulate their missing functions according to the mechanism of<i>"Proxy"</i> already mentioned and can almost act as a "virtual terminal". The disadvantage of such shortcomings is to request an addition to the features of the switch 300. However, in practice, hardiness sub network is the limiting case so that additions in the switch wear their profit on all connected devices said subnet if they have relatively similar functions as in the case of the X10 ™ protocol. For example, the query "POWER ON A12" for the A12 device is translated by the specific interface X10 ™ present in the switch, in a modulation of the sector in line X10 ™ device such as "A12" will be receiving the "Code function "" On "in the terminology of the X10 ™ protocol.
p0082The object of the invention system can be many improvements not detailed here. For example, queries may include individual key words for addressing as "virtual terminal", the switch, the Internet interface 310 and network interfaces as for their configuration by the user. Similarly, a drawback of the diffusion principle is the large number of requests that can unnecessarily transit on the subnetworks and unnecessary biasing terminals stemming therefrom. According to a first method of optimization, the limit switch dissemination requests by operating a said operation<i>"parsing</i> "(Syntactic and lexical analysis); instructions queries are analyzed unitary and selectively distributed to sub networks considered by these instructions. The data structure of the queue 370 then becomes more complex. In a first method of optimization, the request may contain information inquiring about the need for the network interface in the broadcast. For example, there is no need to send an email request to each switched to the interface 310, an explicit field may therefore indicate the necessity possibly the email address of the recipient if it is implicitly contained in 315.
p0083The object of the invention system can be achieved with microcontrollers available on the market equipped with RAM, ROM and other devices adapted to control the physical layers of the subnetworks 400 and the LAN 200 of the user.
4 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4
Every citation, both ways
| Document | Relation | Office | Category | Cited during | Relevant claims |
|---|---|---|---|---|---|
| US12130807B2 | Cited by | United States of America | – | Applicant | – |
| US11741093B1 | Cited by | United States of America | – | Applicant | – |
| US10652040B2 | Cited by | United States of America | – | Applicant | – |
| CN103425101A | Cited by | China | – | Search report | – |
| WO0113185A2 | Cites | World Intellectual Property Organization (WIPO) | AD | Search report | 1-13 |
| WO0217560A2 | Cites | World Intellectual Property Organization (WIPO) | X | Search report | 1-13 |
| EP1542403A2 | Cites | European Patent Office (EPO) | A | Search report | 1-13 |
| US2003182412A1 | Cites | United States of America | A | Search report | 1-13 |
2 members in 2 offices; this record represents the family
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 0512601 | France | – | |
| 0512601 | France | A |
Members2
| Document | Office | Kind | |
|---|---|---|---|
| FR2894747A1 | France | A1 | |
| EP1798902A1This record | European Patent Office (EPO) | A1 |
8 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Application deemed to be withdrawnWithdrawn18D | 18D | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWNSTAA | STAA | |
| Designation fees paidAKX | AKX | |
| First examination report despatched17Q | 17Q | |
| Request for examination filed17P | 17P | |
| Designated contracting statesAK | AK | |
| Request for extension of the european patentAX | AX | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI |
Numbers
- Publication
- 1798902
- Application
- 62919139
Titles3
- German
- System zur Kommunikation zwischen Heimendgeräten, die an das Internet angeschlossen sind
- English
- Communication system between home automation terminals connected to the internet
- French
- Système de communication entre terminaux domotiques raccordés à internet
Classification
- CPC, 6
- H04L12/2803
- H04L12/2827
- H04L12/2834
- H04L2012/2843
- H04L2012/285
- H04L67/125
- IPC, 1
- H04L12 28
Designated states36
- Contracting states, 31
- Austria
- Belgium
- Bulgaria
- Switzerland
- Cyprus
- Czechia
- Germany
- Denmark
- Estonia
- Spain
- Finland
- France
- United Kingdom
- Greece
- Hungary
- Ireland
- Iceland
- Italy
- Liechtenstein
- Lithuania
- Luxembourg
- Latvia
- Monaco
- Netherlands (Kingdom of the)
and 7 moreShow fewer
- Poland
- Portugal
- Romania
- Sweden
- Slovenia
- Slovakia
- Türkiye
- Extension states, 5
- Albania
- Bosnia and Herzegovina
- Croatia
- North Macedonia
- Yugoslavia, later Serbia and Montenegro (until 2006)