EP3238383A1 - Method of processing upgoing or downgoing application messages originating from or destined for an electronic unit for control of a home automation installation by a server - Google Patents

Method of processing upgoing or downgoing application messages originating from or destined for an electronic unit for control of a home automation installation by a server

Info

Publication number
EP3238383A1
EP3238383A1 EP15823712.3A EP15823712A EP3238383A1 EP 3238383 A1 EP3238383 A1 EP 3238383A1 EP 15823712 A EP15823712 A EP 15823712A EP 3238383 A1 EP3238383 A1 EP 3238383A1
Authority
EP
European Patent Office
Prior art keywords
message
electronic control
control unit
application
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP15823712.3A
Other languages
German (de)
French (fr)
Inventor
Sylvain POGNANT
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Overkiz SAS
Original Assignee
Overkiz SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Overkiz SAS filed Critical Overkiz SAS
Publication of EP3238383A1 publication Critical patent/EP3238383A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • H04L12/2827Reporting to a device within the home network; wherein the reception of the information reported automatically triggers the execution of a home appliance functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • H04L12/2832Interconnection of the control functionalities between home networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/285Generic home appliances, e.g. refrigerators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network

Definitions

  • the present invention relates to a method for processing application upstream messages and application downstream messages between a server and an electronic control unit of a home automation system.
  • connection mechanism between the electronic unit and the server, in order to route the data from the server to the electronic control unit and vice versa.
  • the present invention aims to solve all or part of the disadvantages mentioned above.
  • the present invention relates to a method for processing application uplink messages from an electronic control unit of a home automation installation by a server comprising the following steps:
  • a step of posting an incoming message in the case where the message amount application contains useful data, the incoming message being posted on an incoming queue for processing by an application module, the incoming message comprising useful data determined according to the useful data of the application amount message and an identifier of the electronic control unit;
  • the first processing time of each request varies little as the useful data are posted on a queue for a second asynchronous processing. Following the first processing, or in a maximum predictable or bounded delay, the connection corresponding to the request is released.
  • a large number of electronic control units can communicate with the processing instances of the server that supports the connections, also called connectors, because the connections are released quickly, without waiting for the end of the processing performed asynchronously, which allows to limit the number of concurrent connections and therefore the corresponding resources on the server.
  • This mode of communication is particularly suitable for home automation applications in which a large number of electronic control units are connected to a server with a small volume of data to be exchanged therewith.
  • the term amount relates to the messages transmitted by the electronic unit to the server and that the term descendant concerns the messages transmitted by the server to the electronic control unit.
  • the release of the connection can be made according to the case on the initiative of the server or the electronic control unit.
  • immediate release is meant a release after a complete transmission step.
  • the release also includes the management of the acknowledgment message requested by most connected protocols (acknowledgment or "acknowledge", ACK).
  • acknowledgement for example, in the case of receipt of useful data, after sending the ACK message; in the case of a broadcast, after the receipt of the ACK message.
  • a maximum delay Tmax may be provided before the connection is released, this delay making it possible, for example, to wait for a return of an application module to the incoming message, in the form of a descending message for which a message Application descendant could be transmitted by the server to the electronic control unit.
  • the calculation of the delay Tmax can in particular be performed from the step of establishing a connection, from the posting step, or from a step of receiving an application amount message.
  • an empty response may be sent at the end of the delay Tmax and prior to the release of the connection.
  • An empty response does not contain useful data, but may contain the acknowledgment type (ACK) message relating to the request formed by the amount message.
  • ACK acknowledgment type
  • the application response to the amount message may be communicated during a subsequent connection.
  • the uplink message further comprises an identifier of the processing instance or connector.
  • the method comprises a step of reserving resources by the server for managing the connection.
  • the application amount message corresponds to a request from the electronic control unit.
  • the incoming message includes a processing priority attribute, the posting step being performed in a position different from the queue based on the value of the priority attribute.
  • the method comprises a step of transmitting a descending message to the electronic control unit in response to the application amount message, the descending message comprising previously received useful data or no useful data.
  • the method comprises a step of determining an incoming queue on which the incoming message must be posted, prior to the posting step, the determining step taking into account the identifier of the electronic control unit.
  • the determination step implements for example the use of a hash function.
  • the method comprises a preliminary step of routing the application upstream messages and / or of the connection as a function of the electronic control unit to a processing instance, the correspondence between a processing instance and a electronic control unit being stored in a repository.
  • the routing is performed according to an identifier of the electronic control unit, such as an IP address.
  • the method comprises a subsequent step of collecting at least one message on an incoming queue by a listener in connection with the application module.
  • the method comprises:
  • a second step of receiving a second application amount message subsequently to the first step of receiving a first application amount message by the server from the electronic control unit, prior to the transmission step of an application descendant message, the second application amount message comprising useful data or no useful data;
  • the application downlink message comprising useful data corresponding to a response to a reception of the first application amount message from the electronic control unit.
  • the first step of receiving the first application amount message is performed between a first step establishing a connection between the server and the electronic control unit and a first step of releasing the connection;
  • the second step of receiving the first application amount message and the step of transmitting the application downlink message are performed between a second step of establishing a connection between the server and the electronic control unit, after the first step of releasing the connection and a second releasing step of the connection;
  • the present invention also relates to a method for processing downstream messages to an electronic control unit of a home automation installation by a server comprising the following steps:
  • the step of releasing the connection is performed at the initiative of the server.
  • immediate release means a release after a complete transmission step.
  • the release also includes the management of the acknowledgment message requested by most connected protocols (acknowledgment or "acknowledge", ACK).
  • acknowledgement for example, in the case of receipt of useful data, after sending the ACK message; in the case of a broadcast, after the receipt of the ACK message.
  • a maximum delay Tmax may be provided before the connection is released.
  • the calculation of the delay Tmax can in particular be carried out from the step of establishing a connection, or from a possible step of posting a message on an incoming queue, or even counting a step of receiving a message applicative amount possible.
  • the method comprises a step of transmission by the server to an electronic control unit, according to a first communication protocol, of a connection opening request message to the server ; then a step of accepting the establishment of a connection by the server at the initiative of the electronic control unit according to a second connection protocol;
  • the step of establishing the connection at the initiative of the electronic control unit occurs later in response to the request to open a connection according to a second communication protocol.
  • the establishment of the connection according to the second communication protocol is carried out at the initiative of the electronic control unit to the server, following the request for connection opening formulated by the server according to the first protocol.
  • connection will be authorized by the firewall because it is the initiative of the electronic control unit.
  • the server can then use the connection according to the second protocol to communicate the useful data corresponding to its request to open a connection in the message down.
  • the use of two communication protocols makes it possible to use a simpler first protocol involving a low use of resources on the server, and a second connected protocol involving a greater use of resources only when information must be communicated by the server.
  • the first protocol is a non-connected mode protocol.
  • the second protocol corresponds to a communication in connected mode.
  • the first communication protocol is the UDP protocol.
  • the second communication protocol is the TCP protocol.
  • the first and / or the second protocol may be of the Raw IP or other protocol type above IP.
  • the first protocol used may be of various other types so as not to be subject to the constraints imposed by the firewall.
  • the first communication protocol is a protocol comprising sending a message from the server to the electronic control unit, in particular an SMS message.
  • the first protocol corresponds to data provided in an audio and / or video stream, for example an MPEG stream.
  • the step of transmitting an application downward message to the electronic control unit is performed according to the second communication protocol.
  • the method further comprises a first step of periodically receiving a rising message according to the first communication protocol by the server from the electronic control unit; the first transmission step according to the first communication protocol of a connection opening request message comprising a step of transmitting at least one downward message subsequent to the first reception step.
  • the method further comprises, prior to the first step of transmitting a connection opening request, a step of transmission by the server to the electronic control unit of a server. downlink message corresponding to an accessibility response;
  • the method comprises a step of receiving an application amount message by the server from the electronic control unit, prior to the step of transmitting an application descendant message, the message application amount comprising useful data or no useful data;
  • the application downlink message is accepted by the "firewall" protecting the private network on which the electronic control unit is located because said downstream message is interpreted as a response to a rising message of the electronic control unit. .
  • HTTP HyperText Transfer Protocol
  • HTTPS HyperText Transfer Protocol
  • the server may in a response in the form of a descending message according to the second protocol to communicate the useful data corresponding to its request to open a connection.
  • the method comprises a step of storing useful data included in at least one outgoing message and the identifier of the electronic control unit;
  • the storage step is performed by storing the useful data of one or more outgoing messages corresponding to an identifier of an electronic control unit, the useful data then being transmitted during the step of transmission to the electronic control unit corresponding to the identifier.
  • the storage step is performed until a waiting period or receipt of an application amount message or an establishment of a connection with the electronic control unit.
  • a connection request may be sent by the server to communicate the useful data to the electronic control unit if no connection has been established on the initiative of the latter.
  • the method comprises
  • the downlink application comprising downward payload corresponding to a response to the first application amount message from the electronic control unit.
  • the useful data exchanged up and down during a request and response exchange are not necessarily related to the same application exchange or application transaction between the electronic unit control and an application module, but with different exchanges or transactions.
  • this system makes it possible to take advantage of the exchanges to communicate the present data to be transferred from one side to the other, and to simulate a data exchange in the form of a request and a response, which is a mode of communication accepted by the firewall.
  • the first step of receiving the first application amount message is performed between a first step of establishing a connection between the server and the electronic control unit and a first step of releasing the connection ;
  • the second step of receiving the first application amount message and the step of transmitting the application downlink message are performed between a second step of establishing a connection between the server and the electronic control unit, after the first step of release of the connection and a second step of releasing the connection.
  • the outgoing message comprises useful data generated by an application module following an external event.
  • this system makes it possible to take advantage of the exchanges to communicate the present data to be transferred from one side to the other, and to simulate a data exchange in the form of a request and a response, which is a mode of communication accepted by the firewall.
  • the present invention also relates to a method for processing application uplink messages by an electronic control unit of a home automation installation intended for a server, comprising the following steps:
  • the method comprises a step of receiving an application downlink message by the electronic control unit in from the server, the application downlink message including useful data or no useful data.
  • the application amount message corresponds to a request from the electronic control unit, or else information from a sensor, a log, a response to an order or a request from the server.
  • the present invention also relates to a method of processing application downstream messages by an electronic control unit of a home automation installation from the server comprising the following steps:
  • the method comprises a step of transmitting an application amount message by the electronic control unit to the server, the application amount message comprising useful data or no useful data.
  • the method comprises a first reception step according to a first communication protocol by the electronic control unit of a connection opening request message from the server; the step of establishing a connection to the server being performed at the initiative of the electronic control unit according to a second connection protocol.
  • the method comprises a first step of periodically transmitting a rising message according to the first communication protocol by the electronic control unit to the server, the first step of receiving a message of request to open a connection comprising a reception step according to the first protocol of at least one downlink message subsequent to the first periodic transmission step according to the first communication protocol;
  • the sending of a rising message enables the server to respond to this message with a message that can reach the message.
  • electronic unit as it will be considered as a response to the message amount.
  • the periodic sending of the amount message offers windows of time to the server to communicate connection opening requests.
  • a periodicity of the messages below the window of time allowed by the firewall to respond to a rising message it is possible to permanently maintain a possibility of communication from the server to the electronic control unit, ie ie an open communication channel.
  • a periodic sending makes it possible to know the state of the network link between the electronic control unit and the server.
  • the method comprises, prior to the first step of receiving a connection opening request, a reception step according to the first communication protocol by the electronic control unit of a message. descending from the server corresponding to an accessibility response;
  • the preliminary step and the second step can be simultaneous, successive and / or have a time recovery period.
  • the prior reception step corresponds to the reception of an accessibility response according to a first delay after the transmission step, in order to maintain the possibility of receiving a second frame according to a second delay.
  • the second step corresponds to receiving a connection request during said second delay.
  • the method comprises a step of monitoring at least a delay of reception of a downlink message from the server following the first transmission step, the triggering a new first transmission step being performed in case of exceeding the at least one reception period.
  • the method comprises a step of transmitting an encryption key by the electronic control unit to the server, so as to enable a signature of the upstream and / or downstream messages according to the first communication protocol and / or according to the second communication protocol.
  • the method comprises a step of receiving an invalid or expired key indication from the server, and in response a new step of transmitting an encryption key.
  • the present invention also relates to a computer program product comprising portions of program code for executing the steps of a method for processing upstream messages or downstream messages by a server as described above.
  • the present invention also relates to an electronic control unit of a home automation installation comprising a processing unit arranged to contain and execute the computer program product implementing the steps of the method, the electronic control unit further comprising at least a communication interface for controlling and / or controlling at least one actuator, in particular a movable element of a building, or other equipment that can be controlled or controlled electrically or electronically, such as for example a control system. alarm, or at least one sensor, and a communication interface for communication with a server.
  • the present invention also relates to a computer program product comprising portions of program code for executing the steps of a method for processing upstream messages or downstream messages by an electronic control unit as described above.
  • the present invention also relates to a server for controlling and / or remote control of at least one electronic control unit of a home automation installation comprising a processing unit arranged to contain and execute the computer program product implementing the steps of the method, the server further comprising at least one communication interface intended in particular for the communication according to the first communication protocol or the second communication protocol with at least one electronic control unit.
  • the server may also include a communication interface for communication with a user interface.
  • the user interface may for example be formed by a web server communicating with a user terminal, for example a computer, a mobile phone or a tablet.
  • the present invention also relates to a distributed system comprising at least one server and a plurality of electronic control units arranged to communicate with the server so as to implement the method as described above.
  • Figure 1 is a diagram illustrating the structure of a system for implementing a method of processing application upstream and downstream messages between a server and a set of electronic control units home automation systems.
  • Figure 2 is a diagram illustrating the components of the server processing unit and their interactions.
  • FIG. 3 is a diagram illustrating a mode of implementation of a method for processing the upstream messages.
  • FIG. 4 is a diagram illustrating a mode of implementation of a method of processing the application downstream messages.
  • FIG. 4bis is a diagram illustrating a mode of implementation of a method of processing a plurality of downstream messages and application amounts.
  • Figure 5 is a diagram illustrating a mode of implementation of a data transmission method.
  • Fig. 6 is a diagram illustrating an additional step of the method of Fig. 5.
  • Figure 7 is a diagram illustrating the structure of a second system for implementing a method of data transmission between a server and a set of electronic control units home automation systems.
  • a distributed system comprises at least one server S and a plurality of electronic control units U of home automation installations arranged to communicate with the server S so as to implement a transmission method of data.
  • Each electronic control unit of a home automation system is disposed on a private network PN, PN ', whose access is generally protected by a firewall FW.
  • the server S is also arranged on a private network NS.
  • the private networks PN, PN ', SN are connected to an extended network N, for example the Internet.
  • an electronic control unit U of a home automation installation comprises a processing unit 2 arranged to contain and execute a first computer program or a first set of computer programs.
  • the processing unit 2 comprises a processor, a storage flash memory and a random access memory, and an Ethernet chip PHY.
  • the electronic control unit U furthermore comprises at least one communication interface 3 intended for the control / control of movable element actuators of a building, sensors, or other equipment with electrical or electronic control such as an alarm system.
  • the communication interface 3 allows the control and the control of at least one actuator 5, 5 'of a movable element of a building, for example a roller shutter 6 or a sunshade 6'or still the reception of information of a sensor 7 providing information of a user's presence or values of surrounding parameters such as temperature, humidity, brightness.
  • the interface can allow the control / command of an alarm system 8.
  • the communication interface may comprise a lo-homecontrol and / or Zwave and / or WM-Bus radiofrequency chip communicating at a frequency of 868 MHz, and / or an RTS / RTD / RTD + radio frequency chip communicating at a frequency of 433 MHz. Mhz.
  • the electronic control unit U furthermore comprises a battery and / or a mains power supply, as well as physical connection ports such as, for example, USB host, RJ45 and micro-USB.
  • the electronic control unit U also includes interface elements such as reset buttons, configuration buttons, launch buttons representedrii, and operating indicators, such as LEDs.
  • the electronic control unit U furthermore comprises a communication interface 4 intended for communication according to the first communication protocol PI or the second communication protocol P2 with a server S, such as in particular a network card that can be the Ethernet chip PHY.
  • the server that allows the remote control and / or control of the plurality of electronic control units U of a home automation installation comprises a processing unit 102 arranged to contain and execute a second program or a set of second programs.
  • the server s further comprises at least one communication interface 104 intended for communication according to the first communication protocol PI or the second communication protocol P2 with the plurality of electronic control units U.
  • the server s may also comprise a communication interface 106 intended for communication with a user interface 107.
  • the user interface 107 may for example be formed by a web server communicating with a user terminal 108 via the network N, for example a computer , a cell phone or a tablet.
  • Figure 2 illustrates the components of the server processing unit 102 and their interactions.
  • server is a logical designation that may cover the use of multiple physical servers to distribute the computing load to be performed.
  • One or more MA application modules are running on the server.
  • the application modules MA are intended to process requests from the electronic control units U or to generate commands for the units electronic control U based on external events, such as an order communicated by a user through the terminal 108 connected to the web server 107.
  • the architecture for processing the upstream and downstream messages between the communication interface 104 and the application modules MA comprises a plurality of components, and in particular:
  • a first routing component Rt is a first routing component
  • a Q.M queue manager for managing a plurality of input queues Q.e and an output queue Q.s;
  • a Reg repository for storing associations defined between C-connector instances and U-control electronic units for routing communications.
  • the first routing component is intended to route the messages of the electronic control units U to a connector instance C, in particular according to an identifier of the electronic control unit, such as an IP address.
  • Each connector C makes it possible to manage the connection Cnx and the exchange of data with a plurality of electronic control units U synchronously and to communicate asynchronously by posting or by collecting messages on the incoming queues Qe, and respectively outgoing Qs queue manager Qs.
  • the message handlers H interface between the queues and the application modules MA input and output.
  • the different types of components can be distributed on different physical servers in order to distribute the processing load and to adapt to the number of connections to be processed.
  • an NC number of connector instances an NQ.e number of incoming queues on a queue manager QM, an NH number of message handlers each comprising NLT instances of listeners or LT listener threads on Qe incoming queues, and a NMA number of application modules or application module instances. Since the application concerned must ensure that the sequence of messages from an electronic control unit U is respected, the routing component ensures that communications from an electronic control unit are always routed. to the same C connector instance among the NC connector instances. Similarly, each connector instance C posts the messages in connection with an electronic control unit on the same queues Qe among the NQ.e queues. In this case, a listener or a listener thread must listen on a single queue, to then feed the application modules.
  • the set of connector instances C collect messages on said queue Qs by selecting the messages assigned to them, that is to say containing for example their identifier.
  • FIG. 3 represents the steps of a process for processing application messages Mm originating from an electronic control unit U of a home automation installation by a server S.
  • An application amount message Mm may correspond to a request from the electronic control unit, or information from a sensor, a log, a response to an order or a request from the server.
  • a storing step EMU0 identification data Rqid of useful data PIm is performed by the electronic control unit U in order to correlate the said PIm payload with payload Pld of a subsequent downstream message. If the amount message does not correspond to a request to be answered by the server S, this step can be omitted.
  • An establishment step EMU1 of a connection Cnx to the server S is then performed at the initiative of the electronic control unit U accepted by the server s in a step EMC1.
  • This connection is for example made according to the TCP communication protocol.
  • a resource reservation is performed by the server S for the management of the connection.
  • a routing step ERtM1 of the communication to a connector instance C as a function of the electronic control unit U is performed, the correspondence between a processing instance C and a electronic control unit U being stored in the repository Reg.
  • the routing is performed according to an identifier of the electronic control unit, such as an IP address.
  • an EMU2 transmission step of an application amount message Mm is performed by the electronic control unit U, the message being received by a connector instance C in a step EMC2.
  • the rising message Mm comprises useful data Plm and an identifier Uid of the electronic control unit U.
  • the connector instance C then performs a step EMC3 determination of an incoming queue Q.e, on which an incoming message Me must be posted.
  • This determination step takes into account the identifier of the electronic control unit Uid, for example by implementing the use of a hash function on the basis of the identifier Uid.
  • an EMC4 posting step of an incoming message Me is performed.
  • the useful data Plm of the incoming message Me are determined according to the useful data Plm, the application amount message Mm. In particular, it can be a copy of this useful data Plm.
  • the posting is performed on the incoming queue Q.e for processing by an application module MA.
  • the incoming message Me comprises, in addition to the useful data Plm, an identifier of the electronic control unit Uid and an identifier Cid of the connector instance C.
  • the incoming message may also include a processing priority attribute, the posting step being performed in a position different from the Q.e queue depending on the value of the priority attribute in order to change its processing order.
  • An EMC7 monitoring step of maximum delay Tmax is performed by the connector before the release of the Cnx connection, this delay allowing, for example, waiting for an application module to return to the incoming message, in the form of a message downlink for which an application downlink message could be transmitted by the server to the electronic control unit.
  • the calculation of the delay Tmax can notably be carried out starting from the step of establishing an EMC1 connection, starting from the posting step EMC3, or starting from a step of receiving an application amount message. EMC2.
  • the delay Tmax is counted from the posting step EMC4.
  • the connector performs a step EMC8 transmission of a Md downlink message to the electronic control unit U which receives it in a step EMU8, in response to the message Mm application amount.
  • the downlink message Md can include:
  • the downlink message will include either payload data Pld corresponding to another application exchange than that involving the amount message; or no useful data.
  • An EMC9 release step of the connection Cnx is then performed by the connector C and found in a step EMU9 by the electronic control unit U.
  • a listener instance H performs an EMH5 collection of at least one incoming message Me on an incoming queue Q.e.
  • the listener H can then communicate the content of the message to an application module MA in an EMMA6 step.
  • the application module then performs the processing of the incoming message Me.
  • the application modules MA are intended to process the requests coming from the electronic control units U or to generate commands intended for the electronic control units U on the external events database, such as an order communicated by a user via the terminal 108 connected to the web server 107.
  • the application modules MA communicate in a step EDMAl data useful to a transmission thread AND a message manager H, specifying the electronic control unit U recipient of this payload data Pld.
  • the message manager H sets on the outgoing queue Qs of the queue manager QM an outgoing message Ms comprising an identifier of an electronic control unit Uid, an identifier of a connector Cid and useful data Pld.
  • Determining the identifier of the connector Cid is performed by interrogating the repository Reg to determine if the electronic control unit is associated with a connector or a connector instance C.
  • the outgoing message Ms may also include a processing priority attribute Pr, the posting step being performed in a position different from the queue Qs according to the value of the priority attribute in order to modify its order of priority. treatment.
  • the method then comprises an EDC3 collection step of an outgoing message Ms on an outgoing queue Q.s coming from an application module MA.
  • the outgoing Ms messages may include useful data Pld corresponding to a response to a previous incoming message Me posted following receipt of a message amount Mm from the electronic control unit U or the payload data Pld generated by a application module MA following an external event.
  • the storage step EDC4 is performed by storing the user data Pld of one or more outgoing Ms messages corresponding to a Uid identifier of an electronic control unit U until a waiting time expires Twait or reception an application amount message Mm.
  • an EDU5 / EDC5 establishment step of a connection Cnx between the server S and the electronic unit of U control corresponding to the identifier of the electronic unit of Uid control included in the Ms outgoing message is performed.
  • This step corresponds either to the establishment of a connection at the initiative of the electronic control unit which has useful data to transmit or to the establishment of a connection at the initiative of the electronic unit. control after a request to establish a connection by the connector as will be detailed later,
  • a rising message Mm is transmitted in a step EDU6 by the electronic control unit U and received by the server s in a step EDC6, the rising message Mm comprising useful data Plm or none useful data.
  • An application downlink message Md is then transmitted in a step EDC8 to the electronic control unit U which receives it in a step EDU8, the application downlink message Md comprising useful data PLd determined from the payload data Pld of the outgoing message (s). Ms stored in step EDC4.
  • An EDC7 monitoring step of maximum delay Tmax can be optionally performed by the connector before the release of the Cnx connection.
  • the calculation of the delay Tmax can in particular be carried out from the step of establishing an EDC5 connection, from a possible postage step to an incoming queue, or from a reception step of an EDC6 application amount message.
  • the delay T max is counted from the step of receiving an application amount message EDC 6.
  • the release of the connection can be provided immediately.
  • an EDC9 release step of the connection Cnx is performed, for example at the initiative of the server.
  • the control unit U can then carry out a verification step EDU10 of the correspondence of the payload data P1 received with a prior request corresponding to a transmission of a rising message Md by using identification data Rqid of the stored payload data Plm.
  • EMU1 / EMC1 or EDU5 / EDC5 connection establishment steps EMU2 / EMC2, EDU6 / EDC6 upstream application message exchange and EMU8 / EMC8, EDU8 / EDC8, and EMU9 connection release transactions, EMC9 may be common to both processes.
  • EMC9 may be common to both processes.
  • several EDC3 and EDC4 storage steps can be performed while waiting for the establishment of a Cnx connection.
  • upstream and downstream useful data flowing during a request and response exchange do not necessarily correspond to the same application exchange between the electronic control unit.
  • U and an application module MA do not necessarily correspond to the same application exchange between the electronic control unit.
  • U and an application module MA do not necessarily correspond to the same application exchange between the electronic control unit.
  • U and an application module MA but with different exchanges.
  • this system makes it possible to take advantage of the exchanges to communicate the present data to be transferred from one side to the other, and to simulate a data exchange in the form of a request and a response, which is a mode of communication accepted by the FW firewall.
  • FIG. 4bis shows a method of processing application upstream and downstream messages in which several connection steps EDU5a / EDC5a, EDU5b / EDC5b and EDU5c / EDC5c and several disconnection steps EDU9a / EDC9a, EDU9b / EDC9b and EDU9c / EDC9c are carried out, an upstream message Mml, Mm2, Mm3 and an application downlink message Md1, Md2, Md3 being exchanged as part of each of these connections during transmission steps EDU6a, EDU6b, EDU6c and reception EDC6a, EDC6b, EDC6c messages application and reception amounts EDU8a, EDU8b, EDU8c and EDC8a, EDC8b, EDC8c transmission of respective downstream messages.
  • FIG. 4bis illustrates an example in which two X, Y application transactions involving a request and an application response are performed.
  • the X and Y transactions correspond to requests from the electronic control unit to which the server must respond.
  • the first application message amount Mml includes useful data PlmX corresponding to the request of the transaction X.
  • the first downlink message Md1 does not include any useful data or empty payload represented by PldO.
  • the second application message amount Mm2 includes useful data PlmY corresponding to the request of the transaction Y.
  • the second downlink message Md2 comprises useful data PldX corresponding to the response of the transaction X.
  • the third application message amount Mm3 does not include useful data, which is represented by Plmfl.
  • the downlink message Md2 comprises useful data PldX corresponding to the response of the transaction X.
  • the useful data exchanged upstream and downstream during an upstream and downstream message exchange are not necessarily relative to the same application exchange or transaction between the electronic control unit and an application module, but with different exchanges or transactions.
  • the correlation can be performed on the side of the electronic control unit with the identification data Rqid useful data Plm corresponding to an application transaction.
  • the two methods of processing the upstream and downstream application messages involve the establishment of a connection Cnx between one of the electronic control units U and the server S. Since the electronic control unit U is located on a network Private PN protected by a firewall, the exchange of data between the server and the plurality of electronic control units must take into account the presence of this firewall. In particular, the establishment of a connection at the initiative of a server outside the private network is usually prohibited by a firewall or can be made difficult by the use of address translation mechanism (NAT ).
  • NAT address translation mechanism
  • the present invention implements a method of data transmission allowing in particular the transmission of application messages from the server S to an electronic control unit U.
  • FIG. 5 represents a diagram of implementation of the data transmission methods executed on the server S, in particular by a connector C and on an electronic control unit U of a home automation system I.
  • the method comprises a first phase PhO for negotiating a secret key, a second phase Phi produced according to the first communication protocol intended to collect a connection request from the client. server S and a third phase Ph2 data transmission following the establishment of a connection according to the second communication protocol at the initiative of the electronic control unit.
  • the negotiation phase of a secret key PhO comprises a step EO transmission of an encryption key in a message Mkey by the electronic control unit U to the server S which receives it during a step EO ', so to enable a signature of the upstream and / or downstream messages according to the first communication protocol PI and / or according to the second communication protocol P2.
  • the encryption key may in particular be chosen randomly by the electronic control unit U.
  • the server acknowledges receipt of the key and validates that it has taken into account the new key by a MkeyAck downlink message transmitted in a step ⁇ which is received by the electronic control unit U during a reception step El.
  • the exchanges between the electronic control unit U during the negotiation phase can be performed according to a communication protocol that is different from or similar to the first communication protocol and the second communication protocol PI and P2.
  • a communication protocol that is different from or similar to the first communication protocol and the second communication protocol PI and P2.
  • HTTPS type protocol can be chosen which makes it possible to communicate the key in a secure manner.
  • this exchange is not carried out frequently, and therefore does not represent a significant consumption of resources. For example, a periodicity of several days can be provided for the validity of the keys.
  • the second phase of communication Phi according to the first protocol PI comprises a first step E2 periodic transmission of a message Mping up according to the first communication protocol PI by the electronic control unit U to the server S which receives it in a step E2 '.
  • a periodicity of the order of ten seconds can be provided for the periodicity of the transmission, and in particular of the order of 20s.
  • the server S transmits in a step E4 'a Mpong downlink message to the electronic control unit U which is received in a prior reception step E4 within a first delay Drl short after transmission of the Mping amount message.
  • the delay Drl can be of the order of a few seconds, and in particular of the order of 5 s.
  • This first message Mpong down keeps the communication channel open for a second delay Dr2 greater than the first delay Drl. It appears that the operation of a conventional firewall can prevent the passage of a downlink message to the extent that it is received beyond a first time after sending a rising message. Also in the usual way, since a first descendant message is received, a second, larger delay is allowed to receive one or more other descendant messages. In particular, it is possible to choose to trigger a new transmission of the message Mping before the expiry of the delay Dr2.
  • the server S transmits according to the first communication protocol PI during a step E5 'a request message D Mopen connection opening, which is received by the electronic control unit U during a step E5.
  • the second communication phase Phi according to the first protocol PI comprises a monitoring step E3 of a reception delay Dr of a downlink message from the server S following the first transmission step Mping, the triggering of a new first E2 transmission step being performed in case of exceeding the reception time.
  • the server can perform a transmission step ERO 'of an invalid or expired key indication Minvalidkey from the server S , and in response a new step of transmitting an encryption key E0.
  • this situation can occur during the transmission of a message amount MPing, the server having found that the message has a correct format but is not signed with a valid key. It should be noted that in case of restart of the electronic control unit, the first phase of communication PhO with communication of the key is carried out again.
  • the first communication protocol may in particular be the UDP protocol.
  • the third phase Ph2 of the method is performed following the reception of the connection opening request received by the electronic control unit in the second phase in step E5.
  • an establishment step E6 of a connection Cnx to the server S which accepts this connection in a corresponding step E6 'is performed, on the initiative of the electronic control unit U according to a second protocol of P2 connection.
  • the communication protocol may be the TCP protocol.
  • the establishment step E6 may comprise several exchanges between the server and the unit U, and in particular exchanges of connection management messages, such as the TCP SYN, SYN / ACK, ACK protocol messages.
  • a transmission step E7 of an amount message Mm is carried out according to the second communication protocol P2 intended for the server S which receives this message in a step E7 '.
  • the message Mm may be a message without useful data but constituting an amount message to which a response will be provided by the server.
  • the server transmits a downlink message Md in a transmission step E8 'to the electronic control unit U.
  • This downward message contains the payload data Pld that the server was to transmit to the electronic control unit U.
  • the second communication protocol used may be in particular the TCP protocol.
  • the exchanges of the steps E7 / E7 'and E8 / E8' can in particular be made in the form of a request and a response according to the HTTPS protocol that uses TCP.
  • the release of the connection can take place after several exchanges of uplink messages and / or messages receiving messages according to the second communication protocol or after a specified delay after the step of establishing the connection. E6 communication.
  • the steps of establishing the connection E6 and accepting this connection E6 'can respectively correspond to the steps of establishing an EDU5 and EDC5 connection described with reference to FIG. 4 for the method of transmitting application downstream messages.
  • the transmission steps of an application amount message E7 and reception E7 'can respectively correspond to the transmission and reception steps EDU6 and EDC6 described with reference to FIG. 4 for the method for transmitting application downstream messages.
  • the transmission steps of an Md E8 and E8 'downstream application message may respectively correspond to the transmission and reception steps EDC8 and EDU8 described with reference to FIG. 4 for the method for transmitting application downstream messages.
  • the first communication protocol is an SMS-type protocol comprising sending a message from the server to the electronic unit.
  • U control identified in this case by a telephone number.
  • This second protocol is used on a N2 type telephone network, for example a GSM network or wired telephony over the Internet, with a digital message management function.
  • the server s comprises for this purpose a communication interface 107 on the network N2, such as for example a GSM card, just like the electronic control unit, which also comprises a communication interface 7 on the network N2, such as a GSM card. or an internet telephony hardware and software module that can be integrated into the firewall or the electronic control unit U.
  • a communication interface 107 on the network N2 such as for example a GSM card, just like the electronic control unit, which also comprises a communication interface 7 on the network N2, such as a GSM card. or an internet telephony hardware and software module that can be integrated into the firewall or the electronic control unit U.
  • the exchange according to the first protocol and the step of receiving a connection opening request corresponds to a simple sending of SMS between the server S and the electronic control unit U.
  • FIG. 7 represents only an electronic control unit, but this second embodiment of course applies to communication with a multitude of electronic control units.
  • the first protocol used may be of various types making it possible not to be subject to the constraints imposed by the firewall.
  • the first protocol corresponds to data provided in an audio and / or video stream, for example an MPEG stream.
  • the electronic control unit U comprises or is associated with a decoding interface of the corresponding audio and / or video stream.
  • the first and / or the second protocol may be Raw IP type or other protocol above IP.
  • the application exchanges may follow the transaction model, comprising a request and a response. Queries are sent as upstream messages, and responses as descendant messages. So, in a request and response exchange in the form of a rising or falling message, only the response or only the request may contain useful data. A rising message and the downstream message sent back may contain useful data that does not necessarily correspond to the same transaction. For example, a request in progress requiring an application processing is transmitted in the form of a rising message, and may trigger the transmission of a downlink message without useful data, or containing useful data relating to a previous request. In the same way, the application response corresponding to the current request can be sent during a subsequent message sinking message / subsequent message exchange. This exchange may include a rising message without useful data.
  • the transmission of data in the sense of the electronic control unit to the server can be achieved for example according to the second communication protocol without difficulty since it is possible to establish a connection directly at the initiative of the electronic control unit.
  • a request and a response according to the HTTPS protocol can be performed, then the established connection released to limit the use of server resources.
  • IP network layer
  • This protocol must provide the application a reliable "transport” service in so-called “connected” mode between the server and each of the electronic control units.
  • the resources reserved to provide a transport service in connected mode are important, because for each connection it is necessary to reserve buffers for the incoming data, but also for the outgoing data, because it is necessary to keep messages already transmitted, but not yet paid, to avoid their loss and to allow their eventual retransmission.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)

Abstract

The present invention relates to a method of processing upgoing application messages originating from an electronic unit for control (U) of a home automation installation by a server (S) comprising the following steps: - a step of establishment (EMC1) of a connection (Cnx) between the server (S) and the electronic control unit (U); a step of reception (EMC2) of an upgoing application message (Mm) by the server (S) originating from the electronic control unit (U); - a step of posting (EMC4) of an incoming message (Me), in the case where the upgoing application message contains useful data (Plm), the incoming message (Me) being posted on an incoming queue (Qe) with a view to a processing by an application module (MA), the incoming message (Me) comprising useful data (Plm) determined as a function of the useful data (Pld) of the upgoing application message (Mm) and an identifier of the electronic control unit (Uid); - a step of freeing (EMC9) of the connection (Cnx) in an immediate manner or following a maximum lag (Tmax).

Description

Procédé de traitement de messages montants ou descendants applicatifs en provenance ou à destination d'une unité électronique de contrôle d'une installation domotique par un serveur  Method for processing application upstream or downstream messages from or to an electronic control unit of a home automation system by a server
La présente invention concerne un procédé de traitement de messages montants applicatifs et de messages descendants applicatifs entre un serveur et une unité électronique de contrôle d'une installation domotique. The present invention relates to a method for processing application upstream messages and application downstream messages between a server and an electronic control unit of a home automation system.
Il est connu de procéder à des échanges de données entre un serveur et un ensemble d'unité électronique de contrôle d'une installation domotique. Il peut être souhaitable de procéder à ces échanges de données notamment pour opérer un contrôle à distance des installations par le serveur, par exemple dans le cas où le serveur reçoit des instructions d'une interface utilisateur permettant à l'utilisateur de contrôler à distance son installation.  It is known to exchange data between a server and a set of electronic control unit of a home automation system. It may be desirable to carry out these data exchanges in particular to operate a remote control of the installations by the server, for example in the case where the server receives instructions from a user interface allowing the user to remotely control his installation.
En conséquence, il est possible d'utiliser un mécanisme de connexion entre l'unité électronique et le serveur, afin d'acheminer les données du serveur à l'unité électronique de contrôle et inversement. Il apparaît toutefois que dans le cas d'applications domotiques dans lequel un nombre très important d'unité électroniques de contrôle communiquent avec un serveur, cela conduit à une utilisation importante de ressources réseau ou ressources mémoire sur le serveur qui doit maintenir les données relatives à l'ensemble des connexions correspondant à chaque unité électronique.  Accordingly, it is possible to use a connection mechanism between the electronic unit and the server, in order to route the data from the server to the electronic control unit and vice versa. However, it appears that in the case of home automation applications in which a very large number of electronic control units communicate with a server, this leads to a significant use of network resources or memory resources on the server which must maintain the data relating to the set of connections corresponding to each electronic unit.
La présente invention a pour but de résoudre tout ou partie des inconvénients mentionnés ci-dessus.  The present invention aims to solve all or part of the disadvantages mentioned above.
A cet effet, la présente invention concerne un procédé de traitement de messages montants applicatifs en provenance d'une unité électronique de contrôle d'une installation domotique par un serveur comprenant les étapes suivantes :  For this purpose, the present invention relates to a method for processing application uplink messages from an electronic control unit of a home automation installation by a server comprising the following steps:
une étape d'établissement d'une connexion entre le serveur et l'unité électronique de contrôle ;  a step of establishing a connection between the server and the electronic control unit;
- une étape de réception d'un message montant applicatif par le serveur en provenance de l'unité électronique de contrôle;  a step of receiving an application amount message by the server from the electronic control unit;
une étape de postage d'un message entrant, dans le cas ou le message montant applicatif contient des données utiles, le message entrant étant posté sur une file d'attente entrante en vue d'un traitement par un module applicatif, le message entrant comprenant des données utiles déterminées en fonction des données utiles du message montant applicatif et un identifiant de l'unité électronique de contrôle ; a step of posting an incoming message, in the case where the message amount application contains useful data, the incoming message being posted on an incoming queue for processing by an application module, the incoming message comprising useful data determined according to the useful data of the application amount message and an identifier of the electronic control unit;
une étape de libération de la connexion de façon immédiate ou suite à un délai maximal ;  a step of releasing the connection immediately or following a maximum delay;
Grâce aux dispositions selon l'invention, le temps de premier traitement de chaque requête varie peu étant donné que les données utiles sont postées sur une file d'attente en vue d'un deuxième traitement asynchrone. Suite au premier traitement, ou dans un délai maximal prévisible ou borné, la connexion correspondant à la requête est libérée.  Thanks to the arrangements according to the invention, the first processing time of each request varies little as the useful data are posted on a queue for a second asynchronous processing. Following the first processing, or in a maximum predictable or bounded delay, the connection corresponding to the request is released.
Ainsi, un nombre important d'unité électroniques de commandes peuvent communiquer avec les instances de traitement du serveur prenant en charge les connexions encore appelé connecteurs, car les connexions sont libérées rapidement, sans attendre la fin du traitement réalisé de façon asynchrone, ce qui permet de limiter le nombre de connexions concurrentes et donc les ressources correspondantes sur le serveur.  Thus, a large number of electronic control units can communicate with the processing instances of the server that supports the connections, also called connectors, because the connections are released quickly, without waiting for the end of the processing performed asynchronously, which allows to limit the number of concurrent connections and therefore the corresponding resources on the server.
Ce mode de communication est notamment adapté aux applications domotiques dans lesquelles un grand nombre d'unités de contrôle électronique sont connectées à un serveur avec un faible volume de données à échanger avec celui-ci.  This mode of communication is particularly suitable for home automation applications in which a large number of electronic control units are connected to a server with a small volume of data to be exchanged therewith.
Il est à noter que le terme montant concerne les messages transmis par l'unité électronique vers le serveur et que le terme descendant concerne les messages transmis par le serveur vers l'unité électronique de contrôle.  It should be noted that the term amount relates to the messages transmitted by the electronic unit to the server and that the term descendant concerns the messages transmitted by the server to the electronic control unit.
La libération de la connexion peut être réalisée selon les cas à l'initiative du serveur ou de l'unité électronique de contrôle.  The release of the connection can be made according to the case on the initiative of the server or the electronic control unit.
On entend par libération immédiate, une libération après une étape complète de transmission. En particulier, la libération comprend aussi la gestion du message d'acquittement demandé par la plupart des protocoles connectés (accusé de réception ou « acknowledge », ACK). Ainsi, a titre d'exemple, dans le cas d'une réception de données utiles, après l'envoi du message ACK ; dans le cas d'une émission, après la réception du message ACK.  By immediate release is meant a release after a complete transmission step. In particular, the release also includes the management of the acknowledgment message requested by most connected protocols (acknowledgment or "acknowledge", ACK). Thus, for example, in the case of receipt of useful data, after sending the ACK message; in the case of a broadcast, after the receipt of the ACK message.
Selon une autre possibilité, un délai maximal Tmax peut être prévu avant la libération de la connexion, ce délai permettant par exemple d'attendre un retour d'un module applicatif au message entrant, sous la forme d'un message descendant pour lequel un message descendant applicatif pourrait être transmis par le serveur à destination de l'unité électronique de commande. Le calcul du délai Tmax peut être notamment réalisé à partir de l'étape d'établissement d'une connexion, à partir de l'étape de postage, ou encore à compter d'une étape de réception d'un message montant applicatif. According to another possibility, a maximum delay Tmax may be provided before the connection is released, this delay making it possible, for example, to wait for a return of an application module to the incoming message, in the form of a descending message for which a message Application descendant could be transmitted by the server to the electronic control unit. The calculation of the delay Tmax can in particular be performed from the step of establishing a connection, from the posting step, or from a step of receiving an application amount message.
Si le protocole applicatif prévoit l'envoi d'un message descendant en réponse au message entrant, une réponse vide peut être envoyée au terme du délai Tmax et préalablement à la libération de la connexion. Une réponse vide ne contient pas de données utiles, mais peut contenir le message de type accusé de réception (ACK) relatif à la requête formée par le message montant.  If the application protocol provides for the sending of a downlink message in response to the incoming message, an empty response may be sent at the end of the delay Tmax and prior to the release of the connection. An empty response does not contain useful data, but may contain the acknowledgment type (ACK) message relating to the request formed by the amount message.
Dans le cas d'un message montant correspondant à une requête, la réponse applicative au message montant pourra être communiquée lors d'une connexion ultérieure.  In the case of an amount message corresponding to a request, the application response to the amount message may be communicated during a subsequent connection.
Selon un aspect de l'invention, le message montant comprend en outre un identifiant de l'instance de traitement ou connecteur.  According to one aspect of the invention, the uplink message further comprises an identifier of the processing instance or connector.
Selon un aspect de l'invention, le procédé comprend une étape de réservation de ressources par le serveur pour la gestion de la connexion.  According to one aspect of the invention, the method comprises a step of reserving resources by the server for managing the connection.
Selon un aspect de l'invention, le message montant applicatif correspond à une requête en provenance de l'unité électronique de contrôle.  According to one aspect of the invention, the application amount message corresponds to a request from the electronic control unit.
Selon un aspect de l'invention, le message entrant comprend un attribut de priorité de traitement, l'étape de postage étant réalisée dans une position différente de la file d'attente en fonction de la valeur de l'attribut de priorité.  According to one aspect of the invention, the incoming message includes a processing priority attribute, the posting step being performed in a position different from the queue based on the value of the priority attribute.
Selon un aspect de l'invention, le procédé comprend une étape de transmission d'un message descendant à l'unité électronique de contrôle en réponse au message montant applicatif, le message descendant comprenant des données utiles reçues préalablement ou aucunes données utiles.  According to one aspect of the invention, the method comprises a step of transmitting a descending message to the electronic control unit in response to the application amount message, the descending message comprising previously received useful data or no useful data.
Ces dispositions permettent de tirer partie de la connexion établie pour communiquer des données utiles à l'unité électronique de contrôle.  These arrangements make it possible to take advantage of the connection established to communicate useful data to the electronic control unit.
Selon un aspect de l'invention, le procédé comprend une étape de détermination d'une file d'attente d'entrante sur laquelle le message entrant doit être posté, préalablement à l'étape de postage, l'étape de détermination prenant en compte l'identifiant de l'unité électronique de contrôle.  According to one aspect of the invention, the method comprises a step of determining an incoming queue on which the incoming message must be posted, prior to the posting step, the determining step taking into account the identifier of the electronic control unit.
Ces dispositions permettent de répartir les messages entrants sur plusieurs files d'attentes entrantes, tout en garantissant que les messages en provenance d'une même unité électronique de contrôle sont traités sur une même file d'attente, et que la séquence des messages en provenant de ladite unité électronique de contrôle est ainsi respectée. Selon un aspect de l'invention, l'étape de détermination met en œuvre par exemple l'utilisation d'une fonction de hachage. These provisions make it possible to distribute the incoming messages on several incoming queues, while ensuring that the messages coming from the same electronic control unit are processed on the same queue, and that the sequence of the messages coming from them of said electronic control unit is thus respected. According to one aspect of the invention, the determination step implements for example the use of a hash function.
Selon un aspect de l'invention, le procédé comprend une étape préalable de routage des messages montants applicatifs et/ou de la connexion en fonction de l'unité électronique de contrôle vers une instance de traitement, la correspondance entre une instance de traitement et une unité électronique de contrôle étant mémorisée dans un référentiel.  According to one aspect of the invention, the method comprises a preliminary step of routing the application upstream messages and / or of the connection as a function of the electronic control unit to a processing instance, the correspondence between a processing instance and a electronic control unit being stored in a repository.
Ces dispositions permettent de répartir les messages montants en provenance de la pluralité d'unité électroniques de commandes sur une pluralité d'instances de traitement ou plusieurs instances de connecteurs.  These arrangements make it possible to distribute the incoming messages from the plurality of electronic control units to a plurality of processing instances or several connector instances.
Selon un aspect de l'invention le routage est effectué en fonction d'un identifiant de l'unité électronique de contrôle, comme par exemple une adresse IP.  According to one aspect of the invention the routing is performed according to an identifier of the electronic control unit, such as an IP address.
Selon un aspect de l'invention, le procédé comprend une étape postérieure de collecte d'au moins un message sur une file d'attente entrante par un écouteur en lien avec module applicatif.  According to one aspect of the invention, the method comprises a subsequent step of collecting at least one message on an incoming queue by a listener in connection with the application module.
Ces dispositions permettent de réaliser un traitement asynchrone des messages montants, même dans le cas où il s'agit d'une requête en provenance d'une unité électronique de contrôle.  These arrangements make it possible to perform asynchronous processing of the upstream messages, even in the case of a request from an electronic control unit.
Selon un aspect de l'invention, le procédé comprend :  According to one aspect of the invention, the method comprises:
- une première étape de réception d'un premier message montant applicatif par le serveur en provenance de l'unité électronique de contrôle, préalablement à l'étape de transmission d'un message descendant applicatif, le premier message montant applicatif comprenant des données utiles; et  a first step of reception of a first application quantity message by the server from the electronic control unit, prior to the step of transmitting an application downlink message, the first application amount message comprising useful data; and
- une deuxième étape de réception d'un second message montant applicatif, ultérieurement à la première étape de réception d'un premier message montant applicatif par le serveur en provenance de l'unité électronique de contrôle, préalablement à l'étape de transmission d'un message descendant applicatif, le second message montant applicatif comprenant des données utiles ou aucune donnée utile;  a second step of receiving a second application amount message, subsequently to the first step of receiving a first application amount message by the server from the electronic control unit, prior to the transmission step of an application descendant message, the second application amount message comprising useful data or no useful data;
le message descendant applicatif comprenant des données utiles correspondant à une réponse à une réception du premier message montant applicatif en provenance de l'unité électronique de contrôle.  the application downlink message comprising useful data corresponding to a response to a reception of the first application amount message from the electronic control unit.
Selon un aspect de l'invention, la première étape de réception du premier message montant applicatif est réalisée entre une première étape d'établissement d'une connexion entre le serveur et l'unité électronique de contrôle et une première étape de libération de la connexion ; According to one aspect of the invention, the first step of receiving the first application amount message is performed between a first step establishing a connection between the server and the electronic control unit and a first step of releasing the connection;
la deuxième étape de réception du premier message montant applicatif et l'étape de transmission du message descendant applicatif sont réalisées entre une seconde étape d'établissement d'une connexion entre le serveur et l'unité électronique de contrôle, postérieure à la première étape de libération de la connexion et une seconde étape de libération de la connexion ;  the second step of receiving the first application amount message and the step of transmitting the application downlink message are performed between a second step of establishing a connection between the server and the electronic control unit, after the first step of releasing the connection and a second releasing step of the connection;
La présente invention a également pour objet un procédé de traitement de messages descendants à destination d'une unité électronique de contrôle d'une installation domotique par un serveur comprenant les étapes suivantes :  The present invention also relates to a method for processing downstream messages to an electronic control unit of a home automation installation by a server comprising the following steps:
Une étape de collecte d'un message sortant sur une file d'attente sortante en provenance d'un module applicatif, le message sortant comprenant un identifiant d'une unité électronique de contrôle et des données utiles ;  A step of collecting an outgoing message on an outgoing queue from an application module, the outgoing message comprising an identifier of an electronic control unit and useful data;
- une étape d'établissement d'une connexion entre le serveur et l'unité électronique de contrôle correspondant à l'identifiant de l'unité électronique de contrôle comprise dans le message sortant ;  a step of establishing a connection between the server and the electronic control unit corresponding to the identifier of the electronic control unit included in the outgoing message;
une étape de transmission d'un message descendant applicatif à l'unité électronique de contrôle, le message descendant applicatif (Md) comprenant des données utiles déterminées à partir des données utiles du message sortant ;  a step of transmitting an application downlink message to the electronic control unit, the application downlink message (Md) comprising useful data determined from the payload data of the outgoing message;
une étape de libération de la connexion de façon immédiate ou suite à un délai maximal ;  a step of releasing the connection immediately or following a maximum delay;
Selon un aspect de l'invention, l'étape de libération de la connexion est réalisée à l'initiative du serveur.  According to one aspect of the invention, the step of releasing the connection is performed at the initiative of the server.
Comme nous l'avons détaillé précédemment, on entend par libération immédiate, une libération après une étape complète de transmission. En particulier, la libération comprend aussi la gestion du message d'acquittement demandé par la plupart des protocoles connectés (accusé de réception ou « acknowledge », ACK). Ainsi, a titre d'exemple, dans le cas d'une réception de données utiles, après l'envoi du message ACK ; dans le cas d'une émission, après la réception du message ACK.  As we have detailed previously, immediate release means a release after a complete transmission step. In particular, the release also includes the management of the acknowledgment message requested by most connected protocols (acknowledgment or "acknowledge", ACK). Thus, for example, in the case of receipt of useful data, after sending the ACK message; in the case of a broadcast, after the receipt of the ACK message.
Selon une autre possibilité, un délai maximal Tmax peut être prévu avant la libération de la connexion. Le calcul du délai Tmax peut être notamment réalisé à partir de l'étape d'établissement d'une connexion, ou encore à partir d'une étape éventuelle de postage d'un message sur une file d'attente entrante, ou encore à compter d'une étape de réception d'un message montant applicatif éventuel. Selon un aspect de l'invention, le procédé comprend une étape de transmission par le serveur à destination d'une unité électronique de contrôle, selon un premier protocole de communication, d'un message de demande d'ouverture de connexion à destination du serveur ; puis une étape d'acceptation de l'établissement d'une connexion par le serveur à l'initiative de l'unité électronique de contrôle selon un deuxième protocole de connexion ; Alternatively, a maximum delay Tmax may be provided before the connection is released. The calculation of the delay Tmax can in particular be carried out from the step of establishing a connection, or from a possible step of posting a message on an incoming queue, or even counting a step of receiving a message applicative amount possible. According to one aspect of the invention, the method comprises a step of transmission by the server to an electronic control unit, according to a first communication protocol, of a connection opening request message to the server ; then a step of accepting the establishment of a connection by the server at the initiative of the electronic control unit according to a second connection protocol;
Ainsi, l'étape d'établissement de la connexion à l'initiative de l'unité électronique de contrôle intervient ultérieurement en réponse à la demande d'ouverture de connexion selon un second protocole de communication.  Thus, the step of establishing the connection at the initiative of the electronic control unit occurs later in response to the request to open a connection according to a second communication protocol.
Grâce à ces dispositions, l'établissement de la connexion selon le deuxième protocole de communication est réalisé à l'initiative de l'unité électronique de contrôle vers le serveur, suite à la demande d'ouverture de connexion formulée par le serveur selon le premier protocole.  Thanks to these arrangements, the establishment of the connection according to the second communication protocol is carried out at the initiative of the electronic control unit to the server, following the request for connection opening formulated by the server according to the first protocol.
Ainsi, l'établissement de la connexion sera autorisé par le pare-feu, car elle est à l'initiative de l'unité électronique de contrôle. Le serveur pourra ensuite utiliser la connexion selon le deuxième protocole pour communiquer les données utiles correspondant à sa demande d'ouverture de connexion dans le message descendant.  Thus, the establishment of the connection will be authorized by the firewall because it is the initiative of the electronic control unit. The server can then use the connection according to the second protocol to communicate the useful data corresponding to its request to open a connection in the message down.
Ces dispositions permettent de réaliser la communication d'informations entre le serveur et l'unité électronique de façon descendante en utilisant uniquement un établissement de connexion à l'initiative de l'unité électronique de contrôle.  These arrangements make it possible to communicate information between the server and the electronic unit in a descending manner using only a connection establishment initiated by the electronic control unit.
Par ailleurs, l'utilisation de deux protocoles de communication permet d'utiliser un premier protocole plus simple impliquant une utilisation de ressources faible sur le serveur, et un deuxième protocole connecté impliquant une utilisation plus importante de ressource uniquement lorsque des informations doivent être communiquées par le serveur.  Furthermore, the use of two communication protocols makes it possible to use a simpler first protocol involving a low use of resources on the server, and a second connected protocol involving a greater use of resources only when information must be communicated by the server.
En particulier, le premier protocole est un protocole en mode non connecté. Le deuxième protocole correspond à une communication en mode connecté.  In particular, the first protocol is a non-connected mode protocol. The second protocol corresponds to a communication in connected mode.
Selon un aspect de l'invention, le premier protocole de communication est le protocole UDP.  According to one aspect of the invention, the first communication protocol is the UDP protocol.
Selon un aspect de l'invention, le deuxième protocole de communication est le protocole TCP.  According to one aspect of the invention, the second communication protocol is the TCP protocol.
Selon un autre aspect de l'invention, le premier et/ou le deuxième protocole peuvent être de type Raw IP ou autre protocole au dessus d'IP. Le premier protocole utilisé peut être de divers autres types permettant de ne pas être soumis aux contraintes imposées par le pare-feu. According to another aspect of the invention, the first and / or the second protocol may be of the Raw IP or other protocol type above IP. The first protocol used may be of various other types so as not to be subject to the constraints imposed by the firewall.
Selon un mode de réalisation, le premier protocole de communication est un protocole comprenant l'envoi d'un message du serveur vers l'unité électronique de contrôle, notamment un message SMS.  According to one embodiment, the first communication protocol is a protocol comprising sending a message from the server to the electronic control unit, in particular an SMS message.
Selon un autre mode de réalisation, le premier protocole correspond à une donnée fournie dans un flux audio et/ou vidéo, par exemple un flux MPEG.  According to another embodiment, the first protocol corresponds to data provided in an audio and / or video stream, for example an MPEG stream.
Selon un aspect de l'invention, l'étape de transmission d'un message descendant applicatif à l'unité électronique de contrôle est réalisée selon le deuxième protocole de communication.  According to one aspect of the invention, the step of transmitting an application downward message to the electronic control unit is performed according to the second communication protocol.
Selon un aspect de l'invention, le procédé comprend en outre une première étape de réception périodique d'un message montant selon le premier protocole de communication par le serveur en provenance de l'unité électronique de contrôle ; la première étape de transmission selon le premier protocole de communication d'un message de demande d'ouverture de connexion comprenant une étape de transmission d'au moins un message descendant ultérieur à la première étape de réception.  According to one aspect of the invention, the method further comprises a first step of periodically receiving a rising message according to the first communication protocol by the server from the electronic control unit; the first transmission step according to the first communication protocol of a connection opening request message comprising a step of transmitting at least one downward message subsequent to the first reception step.
Selon un aspect de l'invention, le procédé comprend en outre, préalablement à la première étape de transmission d'une demande d'ouverture de connexion, une étape de transmission par le serveur à destination de l'unité électronique de contrôle d'un message descendant correspondant à une réponse d'accessibilité ;  According to one aspect of the invention, the method further comprises, prior to the first step of transmitting a connection opening request, a step of transmission by the server to the electronic control unit of a server. downlink message corresponding to an accessibility response;
Selon un aspect de l'invention, le procédé comprend une étape de réception d'un message montant applicatif par le serveur en provenance de l'unité électronique de contrôle, préalablement à l'étape de transmission d'un message descendant applicatif, le message montant applicatif comprenant des données utiles ou aucune donnée utile;  According to one aspect of the invention, the method comprises a step of receiving an application amount message by the server from the electronic control unit, prior to the step of transmitting an application descendant message, the message application amount comprising useful data or no useful data;
Ces dispositions permettent de tirer partie de la connexion établie pour communiquer des données utiles à l'unité électronique de contrôle.  These arrangements make it possible to take advantage of the connection established to communicate useful data to the electronic control unit.
Par ailleurs, le message descendant applicatif est accepté par le « pare- feu » protégeant le réseau privé sur lequel se trouve l'unité électronique de contrôle car ledit message descendant est interprété comme une réponse à un message montant de l'unité électronique de contrôle.  Furthermore, the application downlink message is accepted by the "firewall" protecting the private network on which the electronic control unit is located because said downstream message is interpreted as a response to a rising message of the electronic control unit. .
Ces dispositions permettent de réaliser la communication d'informations entre le serveur et l'unité électronique de façon descendante en utilisant un mode de requêtes et réponses sous formes de messages montants et descendants à l'initiative de l'unité électronique de contrôle. These arrangements make it possible to carry out the communication of information between the server and the electronic unit in a descending manner by using a mode of communication. queries and responses in the form of upstream and downstream messages at the initiative of the electronic control unit.
A titre d'exemple, une communication de type HTTP ou HTTPS peut être mise en œuvre.  For example, a communication type HTTP or HTTPS can be implemented.
II est à noter que les messages montants ne contiennent pas tous nécessairement des données utiles. Ainsi, dans un échange de requête et réponse sous forme d'un message montant et descendant, seule la réponse peut contenir des données utiles.  It should be noted that not all posts necessarily contain useful data. Thus, in a request and answer exchange in the form of an upstream and downstream message, only the response may contain useful data.
Ainsi, en réponse au message montant (éventuellement vide) de l'unité de contrôle électronique, le serveur pourra dans une réponse sous forme de message descendant selon le deuxième protocole communiquer les données utiles correspondant à sa demande d'ouverture de connexion.  Thus, in response to the up message (possibly empty) of the electronic control unit, the server may in a response in the form of a descending message according to the second protocol to communicate the useful data corresponding to its request to open a connection.
Selon un aspect de l'invention, le procédé comprend une étape de mémorisation de données utiles comprises dans au moins un message sortant et de l'identifiant de l'unité électronique de contrôle ;  According to one aspect of the invention, the method comprises a step of storing useful data included in at least one outgoing message and the identifier of the electronic control unit;
Selon un aspect de l'invention, l'étape de mémorisation est réalisée en mémorisant les données utiles d'un ou de plusieurs messages sortant correspondant à un identifiant d'une unité électronique de contrôle, les données utiles étant ensuite transmises lors de l'étape de transmission à l'unité électronique de contrôle correspondant à l'identifiant.  According to one aspect of the invention, the storage step is performed by storing the useful data of one or more outgoing messages corresponding to an identifier of an electronic control unit, the useful data then being transmitted during the step of transmission to the electronic control unit corresponding to the identifier.
Selon un aspect de l'invention, l'étape de mémorisation est réalisée jusqu'à expiration d'un délai d'attente ou réception d'un message montant applicatif ou à un établissement d'une connexion avec l'unité électronique de contrôle. A l'expiration du délai d'attente, une demande de connexion peut être envoyée par le serveur pour communiquer les données utiles à l'unité électronique de commande si aucune connexion n'a été établie à l'initiative de celle-ci.  According to one aspect of the invention, the storage step is performed until a waiting period or receipt of an application amount message or an establishment of a connection with the electronic control unit. At the expiration of the waiting period, a connection request may be sent by the server to communicate the useful data to the electronic control unit if no connection has been established on the initiative of the latter.
Selon un aspect de l'invention, le procédé comprend  According to one aspect of the invention, the method comprises
une première étape de réception (EDC6a) d'un premier message montant applicatif par le serveur en provenance de l'unité électronique de contrôle, préalablement à l'étape de transmission d'un message descendant applicatif, le premier message montant applicatif comprenant des premières données utiles montantes; et une deuxième étape de réception (EDC6b) d'un second message montant applicatif, ultérieurement à la première étape de réception d'un premier message montant applicatif par le serveur en provenance de l'unité électronique de contrôle, préalablement à l'étape de transmission d'un message descendant applicatif, le second message montant applicatif comprenant des secondes données utiles montantes ou aucune donnée utile; a first reception step (EDC6a) of a first application amount message by the server from the electronic control unit, prior to the step of transmitting an application downlink message, the first application amount message comprising first uptake useful data; and a second receiving step (EDC6b) of a second application amount message, subsequent to the first step of receiving a first application amount message by the server from the electronic control unit, prior to the step of transmitting an application downlink message, the second application amount message comprising second payload data or no useful data;
le message descendant applicatif comprenant des données utiles descendantes correspondant à une réponse au premier message montant applicatif en provenance de l'unité électronique de contrôle.  the downlink application comprising downward payload corresponding to a response to the first application amount message from the electronic control unit.
Grâce à ces dispositions, les données utiles échangées montantes et descendantes lors d'un échange de requête et de réponse, par exemple selon le protocole http(S), ne sont pas nécessairement relatives au même échange applicatif ou transaction applicative entre l'unité électronique de contrôle et un module applicatif, mais à des échanges ou transactions différentes.  Thanks to these provisions, the useful data exchanged up and down during a request and response exchange, for example according to the protocol http (S), are not necessarily related to the same application exchange or application transaction between the electronic unit control and an application module, but with different exchanges or transactions.
L'utilisation de ce système permet de tirer partie des échanges pour communiquer les données présentes à transférer de part et d'autre, et de simuler un échange de données sous forme de requête et de réponse, ce qui est un mode de communication accepté par le pare-feu.  The use of this system makes it possible to take advantage of the exchanges to communicate the present data to be transferred from one side to the other, and to simulate a data exchange in the form of a request and a response, which is a mode of communication accepted by the firewall.
Selon un aspect de l'invention, la première étape de réception du premier message montant applicatif est réalisée entre une première étape d'établissement d'une connexion entre le serveur et l'unité électronique de contrôle et une première étape de libération de la connexion ; la deuxième étape de réception du premier message montant applicatif et l'étape de transmission du message descendant applicatif sont réalisées entre une seconde étape d'établissement d'une connexion entre le serveur et l'unité électronique de contrôle, postérieure à la première étape de libération de la connexion et une seconde étape de libération de la connexion.  According to one aspect of the invention, the first step of receiving the first application amount message is performed between a first step of establishing a connection between the server and the electronic control unit and a first step of releasing the connection ; the second step of receiving the first application amount message and the step of transmitting the application downlink message are performed between a second step of establishing a connection between the server and the electronic control unit, after the first step of release of the connection and a second step of releasing the connection.
Selon un aspect de l'invention, le message sortant comprend des données utiles générées par un module applicatif suite à un événement extérieur.  According to one aspect of the invention, the outgoing message comprises useful data generated by an application module following an external event.
Il est à noter que selon les deux procédés de traitement des messages montants et descendants selon l'invention décrit ci-dessus, certaines étapes peuvent être partagées. En particulier, les étapes d'établissement de connexion, d'échange de messages applicatifs montants et descendants, et de libération de la connexion peuvent être communes aux deux procédés.  It should be noted that according to the two methods of processing the upstream and downstream messages according to the invention described above, certain steps can be shared. In particular, the steps of establishing connection, exchange of upstream and downstream application messages, and release of the connection may be common to both methods.
Ainsi, dans le premier procédé de traitement des messages descendants, plusieurs étapes de collecte et de mémorisation peuvent être réalisées en attendant l'établissement d'une connexion. Cette connexion peut-être réalisée à l'initiative de l'unité électronique de contrôle, dans le cadre de la transmission d'un message montant applicatif correspondant à un procédé de traitement d'un message montant applicatif. Thus, in the first method of processing the descendant messages, several collection and storage steps can be performed while waiting for the establishment of a connection. This connection can be made at the initiative of the electronic control unit, in the context of the transmission of an application amount message corresponding to a method of processing an application amount message.
Ainsi, il est à remarquer que les données utiles échangées montantes et descendantes lors d'un échange de requête et de réponse, et notamment selon le protocole http(S), ne sont pas nécessairement relatives au même échange applicatif entre l'unité électronique de contrôle et un module applicatif, mais à des échanges différents.  Thus, it should be noted that the useful data exchanged upstream and downstream during a request and response exchange, and in particular according to the http (S) protocol, are not necessarily related to the same application exchange between the electronic unit of control and an application module, but with different exchanges.
L'utilisation de ce système permet de tirer partie des échanges pour communiquer les données présentes à transférer de part et d'autre, et de simuler un échange de données sous forme de requête et de réponse, ce qui est un mode de communication accepté par le pare-feu.  The use of this system makes it possible to take advantage of the exchanges to communicate the present data to be transferred from one side to the other, and to simulate a data exchange in the form of a request and a response, which is a mode of communication accepted by the firewall.
La présente invention concerne également un procédé de traitement de messages montants applicatifs par une unité électronique de contrôle d'une installation domotique à destination d'un serveur comprenant les étapes suivantes :  The present invention also relates to a method for processing application uplink messages by an electronic control unit of a home automation installation intended for a server, comprising the following steps:
une étape de mémorisation de données d'identification de données utiles correspondant à un message montant applicatif afin de pouvoir corréler lesdites données utiles avec les données utiles d'un message descendant applicatif ultérieur.  a step of storing useful data identification data corresponding to an application amount message in order to be able to correlate said useful data with the useful data of a subsequent application downlink message.
- une étape d'établissement d'une connexion vers le serveur à l'initiative de l'unité électronique de contrôle ;  a step of establishing a connection to the server on the initiative of the electronic control unit;
une étape de transmission d'un message montant applicatif par l'unité électronique de contrôle à destination du serveur comprenant les données utiles et un identifiant de l'unité électronique de contrôle,  a step of transmission of an application amount message by the electronic control unit to the server comprising the useful data and an identifier of the electronic control unit,
une étape d'acceptation de la libération de la connexion de façon immédiate ou suite à un délai maximal ;  a step of accepting the release of the connection immediately or following a maximum delay;
Grâce aux dispositions selon l'invention, il est possible de procéder à la corrélation d'une requête à destination du serveur et de la réponse correspondante sans conserver la connexion, et en libérant donc les ressources correspondantes.  Thanks to the provisions of the invention, it is possible to proceed to the correlation of a request to the server and the corresponding response without maintaining the connection, and thus releasing the corresponding resources.
En particulier, il est possible de reconstituer la corrélation des réponses et des requêtes même si la séquence des réponses ne correspond pas à la séquence des requêtes applicatives  In particular, it is possible to reconstruct the correlation of responses and queries even if the sequence of responses does not match the sequence of application requests
Selon un aspect de l'invention, le procédé comprend une étape de réception d'un message descendant applicatif par l'unité électronique de contrôle en provenance du serveur, le message descendant applicatif comprenant des données utiles ou aucune donnée utile. According to one aspect of the invention, the method comprises a step of receiving an application downlink message by the electronic control unit in from the server, the application downlink message including useful data or no useful data.
Selon un aspect de l'invention, le message montant applicatif correspond à une requête de l'unité électronique de contrôle, ou encore une information provenant d'un capteur, un journal, une réponse à un ordre ou à une requête du serveur.  According to one aspect of the invention, the application amount message corresponds to a request from the electronic control unit, or else information from a sensor, a log, a response to an order or a request from the server.
Selon un aspect de l'invention, on mémorise si une réponse applicative est attendue dans le cas d'une requête;  According to one aspect of the invention, it is memorized whether an application response is expected in the case of a request;
La présente invention concerne également un procédé de traitement de messages descendants applicatifs par une unité électronique de contrôle d'une installation domotique en provenance du serveur comprenant les étapes suivantes :  The present invention also relates to a method of processing application downstream messages by an electronic control unit of a home automation installation from the server comprising the following steps:
une étape d'établissement d'une connexion entre le serveur et l'unité électronique de contrôle ;  a step of establishing a connection between the server and the electronic control unit;
une étape de réception d'un message descendant applicatif à l'unité électronique de contrôle, le message descendant applicatif comprenant des données utiles descendantes ;  a step of receiving an application downlink message to the electronic control unit, the application downlink message comprising downward payload data;
une étape d'acceptation de la libération de la connexion de façon immédiate ou suite à un délai maximal ;  a step of accepting the release of the connection immediately or following a maximum delay;
une étape de vérification de la correspondance des données utiles descendantes avec des données utiles montantes d'un message montant applicatif précédent en utilisant des données d'identification de données utiles mémorisées;  a step of verifying the correspondence of the downstream user data with upward payload of a previous application amount message using stored user data identification data;
Selon un aspect de l'invention, le procédé comprend une étape de transmission d'un message montant applicatif par l'unité électronique de contrôle vers le serveur, le message montant applicatif comprenant des données utiles ou aucune donnée utile.  According to one aspect of the invention, the method comprises a step of transmitting an application amount message by the electronic control unit to the server, the application amount message comprising useful data or no useful data.
Selon un aspect de l'invention, le procédé comprend une première étape de réception selon un premier protocole de communication par l'unité électronique de contrôle d'un message de demande d'ouverture de connexion en provenance du serveur ; l'étape d'établissement d'une connexion vers le serveur étant réalisée à l'initiative de l'unité électronique de contrôle selon un deuxième protocole de connexion.  According to one aspect of the invention, the method comprises a first reception step according to a first communication protocol by the electronic control unit of a connection opening request message from the server; the step of establishing a connection to the server being performed at the initiative of the electronic control unit according to a second connection protocol.
Selon un aspect de l'invention, le procédé comprend une première étape de transmission périodique d'un message montant selon le premier protocole de communication par l'unité électronique de contrôle à destination du serveur, la première étape de réception d'un message de demande d'ouverture de connexion comprenant une étape de réception selon le premier protocole d'au moins un message descendant ultérieur à la première étape de transmission périodique selon le premier protocole de communication ; According to one aspect of the invention, the method comprises a first step of periodically transmitting a rising message according to the first communication protocol by the electronic control unit to the server, the first step of receiving a message of request to open a connection comprising a reception step according to the first protocol of at least one downlink message subsequent to the first periodic transmission step according to the first communication protocol;
L'unité électronique étant disposée sur un réseau privé dont l'accès est de façon usuelle protégé par un pare-feu, l'émission d'un message montant permet au serveur de répondre à ce message par un message descendant qui pourra atteindre l'unité électronique car il sera considéré comme une réponse au message montant.  Since the electronic unit is disposed on a private network whose access is usually protected by a firewall, the sending of a rising message enables the server to respond to this message with a message that can reach the message. electronic unit as it will be considered as a response to the message amount.
Ainsi, l'envoi périodique de message montant offre des fenêtres de temps au serveur pour communiquer des demandes d'ouverture de connexion. En choisissant une périodicité des messages inférieurs à la fenêtre de temps autorisée par le pare-feu pour répondre à un message montant, il est possible de maintenir en permanence une possibilité de communication du serveur vers l'unité de contrôle électronique, c'est-à-dire un canal de communication ouvert.  Thus, the periodic sending of the amount message offers windows of time to the server to communicate connection opening requests. By choosing a periodicity of the messages below the window of time allowed by the firewall to respond to a rising message, it is possible to permanently maintain a possibility of communication from the server to the electronic control unit, ie ie an open communication channel.
Par ailleurs, un envoi périodique permet de connaître l'état du lien réseau entre l'unité électronique de contrôle et le serveur.  Moreover, a periodic sending makes it possible to know the state of the network link between the electronic control unit and the server.
Selon un aspect de l'invention, le procédé comprend, préalablement à la première étape de réception d'une demande d'ouverture de connexion, une étape de réception selon le premier protocole de communication par l'unité électronique de contrôle d'un message descendant en provenance du serveur correspondant à une réponse d'accessibilité ;  According to one aspect of the invention, the method comprises, prior to the first step of receiving a connection opening request, a reception step according to the first communication protocol by the electronic control unit of a message. descending from the server corresponding to an accessibility response;
L'étape préalable et la deuxième peuvent être simultanées, successives et/ou présenter une période de recouvrement temporel. En particulier, l'étape préalable de réception correspond à la réception d'une réponse d'accessibilité selon un premier délai après l'étape de transmission, afin de maintenir la possibilité de réception d'une deuxième trame selon un deuxième délai.  The preliminary step and the second step can be simultaneous, successive and / or have a time recovery period. In particular, the prior reception step corresponds to the reception of an accessibility response according to a first delay after the transmission step, in order to maintain the possibility of receiving a second frame according to a second delay.
La deuxième étape correspond à la réception d'une demande de connexion pendant ledit deuxième délai.  The second step corresponds to receiving a connection request during said second delay.
Il apparaît en effet que le fonctionnement d'un pare-feu usuel peut empêcher le passage d'un message descendant dans la mesure où celui-ci est reçu au- delà d'un premier délai après l'envoi d'un message montant. Egalement de façon usuelle, dans la mesure où un premier message descendant est reçu, un deuxième délai plus important est accordé pour recevoir un ou plusieurs autres messages descendants.  It appears that the operation of a conventional firewall can prevent the passage of a descending message to the extent that it is received beyond a first time after sending a rising message. Also in the usual way, since a first descendant message is received, a second, larger delay is allowed to receive one or more other descendant messages.
Selon un aspect de l'invention, le procédé comprend une étape de surveillance d'au moins un délai de réception d'un message descendant en provenance du serveur suite à la première étape de transmission, le déclenchement d'une nouvelle première étape de transmission étant réalisé en cas de dépassement de l'au moins un délai de réception. According to one aspect of the invention, the method comprises a step of monitoring at least a delay of reception of a downlink message from the server following the first transmission step, the triggering a new first transmission step being performed in case of exceeding the at least one reception period.
Ces dispositions permettent de maintenir des fenêtres de communication ouvertes afin que le serveur puisse communiquer.  These provisions make it possible to maintain open communication windows so that the server can communicate.
Selon un aspect de l'invention, le procédé comprend une étape de transmission d'une clé de chiffrement par l'unité de contrôle électronique au serveur, de façon à permettre une signature des messages montants et/ou descendants selon le premier protocole de communication et/ou selon le deuxième protocole de communication.  According to one aspect of the invention, the method comprises a step of transmitting an encryption key by the electronic control unit to the server, so as to enable a signature of the upstream and / or downstream messages according to the first communication protocol and / or according to the second communication protocol.
Ces dispositions permettent de réaliser une signature des échanges entre le serveur et l'unité de contrôle électronique afin d'authentifier les deux entités en présence, à savoir le serveur et l'unité de contrôle électronique.  These provisions make it possible to perform a signature of the exchanges between the server and the electronic control unit in order to authenticate the two entities in the presence, namely the server and the electronic control unit.
Selon un aspect de l'invention, le procédé comprend une étape de réception d'une indication de clef invalide ou expirée en provenance du serveur, et en réponse une nouvelle étape de transmission d'une clef de chiffrement.  According to one aspect of the invention, the method comprises a step of receiving an invalid or expired key indication from the server, and in response a new step of transmitting an encryption key.
Ces dispositions permettent de rétablir une communication par le premier mode de communication en cas d'expiration de la clé de chiffrement.  These provisions make it possible to restore a communication by the first communication mode in case of expiration of the encryption key.
La présente invention concerne également un produit programme d'ordinateur comprenant des portions de code de programme pour l'exécution des étapes d'un procédé de traitement de messages montant ou de messages descendant par un serveur tel que décrit précédemment.  The present invention also relates to a computer program product comprising portions of program code for executing the steps of a method for processing upstream messages or downstream messages by a server as described above.
La présente invention concerne également une unité électronique de contrôle d'une installation domotique comprenant une unité de traitement agencée pour contenir et exécuter le produit programme d'ordinateur mettant en œuvre les étape du procédé, l'unité électronique de contrôle comprenant en outre au moins une interface de communication destinée à la commande et/ou au contrôle d'au moins un actionneur, notamment d'un élément mobile d'un bâtiment, ou d'un autre équipement commandable ou contrôlable électriquement ou électroniquement, comme par exemple un système d'alarme, ou d'au moins un capteur, et une interface de communication destinée à la communication avec un serveur.  The present invention also relates to an electronic control unit of a home automation installation comprising a processing unit arranged to contain and execute the computer program product implementing the steps of the method, the electronic control unit further comprising at least a communication interface for controlling and / or controlling at least one actuator, in particular a movable element of a building, or other equipment that can be controlled or controlled electrically or electronically, such as for example a control system. alarm, or at least one sensor, and a communication interface for communication with a server.
La présente invention concerne également un produit programme d'ordinateur comprenant des portions de code de programme pour l'exécution des étapes d'un procédé de traitement de messages montant ou de messages descendant par une unité électronique de contrôle tel que décrit précédemment.  The present invention also relates to a computer program product comprising portions of program code for executing the steps of a method for processing upstream messages or downstream messages by an electronic control unit as described above.
La présente invention concerne également un serveur de commande et ou de contrôle à distance d'au moins une unité électronique de contrôle d'une installation domotique comprenant une unité de traitement agencée pour contenir et exécuter le produit programme d'ordinateur mettant en œuvre les étape du procédé, le serveur comprenant en outre au moins une interface de communication destinée notamment à la communication selon le premier protocole de communication ou le deuxième protocole de communication avec au moins une unité de commande électronique. The present invention also relates to a server for controlling and / or remote control of at least one electronic control unit of a home automation installation comprising a processing unit arranged to contain and execute the computer program product implementing the steps of the method, the server further comprising at least one communication interface intended in particular for the communication according to the first communication protocol or the second communication protocol with at least one electronic control unit.
Selon un aspect de l'invention, le serveur peut comprendre également une interface de communication destiné à la communication avec une interface utilisateur.  According to one aspect of the invention, the server may also include a communication interface for communication with a user interface.
Ces dispositions permettent un contrôle à distance de l'installation domotique par l'utilisateur, et l'envoi d'ordres par l'intermédiaire du serveur vers l'unité électronique de contrôle, ou l'obtention de données sur l'état de l'installation.  These provisions allow remote control of the home automation system by the user, and the sending of orders via the server to the electronic control unit, or obtaining data on the status of the user. 'installation.
L'interface utilisateur peut par exemple être formée par un serveur web communiquant avec un terminal utilisateur, par exemple un ordinateur, un téléphone portable ou une tablette.  The user interface may for example be formed by a web server communicating with a user terminal, for example a computer, a mobile phone or a tablet.
La présente invention concerne également un système distribué comprenant au moins un serveur et une pluralité d'unités électroniques de contrôle agencées pour communiquer avec le serveur de façon à mettre en œuvre le procédé tel que décrit précédemment.  The present invention also relates to a distributed system comprising at least one server and a plurality of electronic control units arranged to communicate with the server so as to implement the method as described above.
L'invention sera mieux comprise à l'aide de la description détaillée qui est exposée ci-dessous en regard du dessin annexé dans lequel :  The invention will be better understood with the aid of the detailed description which is set out below with reference to the appended drawing in which:
La figure 1 est un schéma illustrant la structure d'un système destiné à la mise en œuvre d'un procédé de traitement de messages montants et descendants applicatifs entre un serveur et un ensemble d'unités électroniques de contrôle d'installations domotiques.  Figure 1 is a diagram illustrating the structure of a system for implementing a method of processing application upstream and downstream messages between a server and a set of electronic control units home automation systems.
La figure 2 est un schéma illustrant les composants de l'unité de traitement du serveur et leurs interactions.  Figure 2 is a diagram illustrating the components of the server processing unit and their interactions.
La figure 3 est un schéma illustrant un mode de mise en œuvre d'un procédé de traitement des messages montants applicatifs.  FIG. 3 is a diagram illustrating a mode of implementation of a method for processing the upstream messages.
La figure 4 est un schéma illustrant un mode de mise en œuvre d'un procédé de traitement des messages descendants applicatifs.  FIG. 4 is a diagram illustrating a mode of implementation of a method of processing the application downstream messages.
La figure 4bis est un schéma illustrant un mode de mise en œuvre d'un procédé de traitement d'une pluralité de messages descendants et montants applicatifs.  FIG. 4bis is a diagram illustrating a mode of implementation of a method of processing a plurality of downstream messages and application amounts.
La figure 5 est un schéma illustrant un mode de mise en œuvre d'un procédé de transmission de données. La figure 6 est un schéma illustrant une étape additionnelle du procédé de figure 5. Figure 5 is a diagram illustrating a mode of implementation of a data transmission method. Fig. 6 is a diagram illustrating an additional step of the method of Fig. 5.
La figure 7 est un schéma illustrant la structure d'un deuxième système destiné à la mise en œuvre d'un procédé de transmission de données entre un serveur et un ensemble d'unités électroniques de contrôle d'installations domotiques.  Figure 7 is a diagram illustrating the structure of a second system for implementing a method of data transmission between a server and a set of electronic control units home automation systems.
Dans la description détaillée qui va suivre des figures définies ci-dessus, les mêmes éléments ou les éléments remplissant des fonctions identiques pourront conserver les mêmes références de manière à simplifier la compréhension de l'invention.  In the following detailed description of the figures defined above, the same elements or elements fulfilling identical functions may retain the same references so as to simplify the understanding of the invention.
Comme cela est représenté sur la figure 1, un système distribué comprend au moins un serveur S et une pluralité d'unités électroniques de contrôle U d'installations domotiques agencées pour communiquer avec le serveur S de façon à mettre en œuvre un procédé de transmission de données.  As shown in FIG. 1, a distributed system comprises at least one server S and a plurality of electronic control units U of home automation installations arranged to communicate with the server S so as to implement a transmission method of data.
Chaque unité de contrôle électronique d'une installation domotique est disposée sur un réseau privé PN, PN', dont l'accès est en général protégé par un pare- feu FW. Le serveur S est également disposé sur un réseau privé NS.  Each electronic control unit of a home automation system is disposed on a private network PN, PN ', whose access is generally protected by a firewall FW. The server S is also arranged on a private network NS.
Les réseaux privés PN, PN', SN sont reliés à un réseau étendu N, par exemple Internet.  The private networks PN, PN ', SN are connected to an extended network N, for example the Internet.
En particulier, une unité électronique de contrôle U d'une installation domotique comprend une unité de traitement 2 agencée pour contenir et exécuter un premier programme d'ordinateur ou un premier ensemble de programmes d'ordinateur.  In particular, an electronic control unit U of a home automation installation comprises a processing unit 2 arranged to contain and execute a first computer program or a first set of computer programs.
A titre d'exemple, l'unité de traitement 2 comprend un processeur, une mémoire flash de stockage ainsi d'un mémoire vive, et d'une puce Ethernet PHY.  For example, the processing unit 2 comprises a processor, a storage flash memory and a random access memory, and an Ethernet chip PHY.
L'unité électronique de contrôle U comprend en outre au moins une interface de communication 3 destinée au contrôle/commande d'actionneurs d'éléments mobiles d'un bâtiment, de capteurs, ou encore d'autres équipements à commande électrique ou électronique tels qu'un système d'alarme.  The electronic control unit U furthermore comprises at least one communication interface 3 intended for the control / control of movable element actuators of a building, sensors, or other equipment with electrical or electronic control such as an alarm system.
A titre d'exemple, comme cela est représenté sur la figure 1, l'interface de communication 3 permet le contrôle et la commande d'au moins un actionneur 5, 5' d'un élément mobile d'un bâtiment, comme par exemple un volet roulant 6 ou un brise-soleil orientable 6'ou encore la réception d'informations d'un capteur 7 fournissant des informations de présence d'un utilisateur ou des valeurs des paramètres environnants comme la température, l'humidité, la luminosité. De la même, façon l'interface peut permettre le contrôle/commande d'un système d'alarme 8. En particulier, l'interface de communication peut comprendre une puce radiofréquence lo-homecontrol et/ou Zwave et/ou WM-Bus communiquant à une fréquence de 868Mhz, et/ou une puce radiofréquence RTS/RTD/RTD+ communiquant à une fréquence de 433 Mhz. By way of example, as shown in FIG. 1, the communication interface 3 allows the control and the control of at least one actuator 5, 5 'of a movable element of a building, for example a roller shutter 6 or a sunshade 6'or still the reception of information of a sensor 7 providing information of a user's presence or values of surrounding parameters such as temperature, humidity, brightness. In the same way, the interface can allow the control / command of an alarm system 8. In particular, the communication interface may comprise a lo-homecontrol and / or Zwave and / or WM-Bus radiofrequency chip communicating at a frequency of 868 MHz, and / or an RTS / RTD / RTD + radio frequency chip communicating at a frequency of 433 MHz. Mhz.
L'unité électronique de contrôle U comprend par ailleurs une batterie et/ou une alimentation secteur, ainsi que des ports de connexion physique tels que par exemple USB host, RJ45 et micro-USB.  The electronic control unit U furthermore comprises a battery and / or a mains power supply, as well as physical connection ports such as, for example, USB host, RJ45 and micro-USB.
L'unité électronique de contrôle U comprend également des éléments d'interface comme des boutons de réinitialisation, de configuration, des boutons tactiles de lancement de scenarii, et des indicateurs lumineux de fonctionnement, comme par exemple des LED.  The electronic control unit U also includes interface elements such as reset buttons, configuration buttons, launch buttons scenarii, and operating indicators, such as LEDs.
L'unité électronique de contrôle U comprend par ailleurs une interface de communication 4 destinée à la communication selon le premier protocole de communication PI ou le deuxième protocole de communication P2 avec un serveur S, comme notamment une carte réseau pouvant être la puce Ethernet PHY.  The electronic control unit U furthermore comprises a communication interface 4 intended for communication according to the first communication protocol PI or the second communication protocol P2 with a server S, such as in particular a network card that can be the Ethernet chip PHY.
Le serveur s qui permet la commande et/ou le contrôle à distance de la pluralité d'unités électroniques de contrôle U d'une installation domotique comprend une unité de traitement 102 agencée pour contenir et exécuter un deuxième programme ou un ensemble de deuxièmes programmes.  The server that allows the remote control and / or control of the plurality of electronic control units U of a home automation installation comprises a processing unit 102 arranged to contain and execute a second program or a set of second programs.
Le serveur s comprend en outre au moins une interface de communication 104 destinée à la communication selon le premier protocole de communication PI ou le deuxième protocole de communication P2 avec la pluralité d'unités électroniques de contrôle U.  The server s further comprises at least one communication interface 104 intended for communication according to the first communication protocol PI or the second communication protocol P2 with the plurality of electronic control units U.
Le serveur s peut comprendre également une interface de communication 106 destiné à la communication avec une interface utilisateur 107. L'interface utilisateur 107 peut par exemple être formée par un serveur web communiquant avec un terminal utilisateur 108 par le réseau N, par exemple un ordinateur, un téléphone portable ou une tablette.  The server s may also comprise a communication interface 106 intended for communication with a user interface 107. The user interface 107 may for example be formed by a web server communicating with a user terminal 108 via the network N, for example a computer , a cell phone or a tablet.
La figure 2 illustre les composants de l'unité de traitement 102 du serveur et leurs interactions.  Figure 2 illustrates the components of the server processing unit 102 and their interactions.
Il est à noter que le terme serveur est une désignation logique qui peut recouvrir l'utilisation de plusieurs serveurs physiques pour répartir la charge de traitement informatique à réaliser.  It should be noted that the term server is a logical designation that may cover the use of multiple physical servers to distribute the computing load to be performed.
Un ou plusieurs modules applicatifs MA sont exécutés sur le serveur. Les modules applicatifs MA sont destinés à traiter les requêtes en provenance des unités électroniques de contrôle U ou à générer des commandes à destination des unités électroniques de contrôle U sur la base d'événements extérieurs, comme par exemple un ordre communiqué par un utilisateur par l'intermédiaire du terminal 108 relié au serveur web 107. One or more MA application modules are running on the server. The application modules MA are intended to process requests from the electronic control units U or to generate commands for the units electronic control U based on external events, such as an order communicated by a user through the terminal 108 connected to the web server 107.
L'architecture permettant le traitement des messages montants et descendant entre l'interface de communication 104 et les modules applicatifs MA comprend une pluralité de composants,, et notamment :  The architecture for processing the upstream and downstream messages between the communication interface 104 and the application modules MA comprises a plurality of components, and in particular:
Un premier composant de routage Rt ;  A first routing component Rt;
Une ou plusieurs instances de connecteur C ;  One or more C connector instances
Un gestionnaire de files d'attente Q.M permettant la gestion d'une pluralité de files d'attente d'entrée Q.e et d'une file d'attente de sortie Q.s;  A Q.M queue manager for managing a plurality of input queues Q.e and an output queue Q.s;
Une ou plusieurs instances de gestionnaires de messages H provenant des files d'attentes ; et  One or more instances of message handlers H from the queues; and
Un référentiel Reg destiné à mémoriser les associations définies entre les instances de connecteur C et les unités électroniques de contrôle U pour le routage des communications.  A Reg repository for storing associations defined between C-connector instances and U-control electronic units for routing communications.
Le premier composant de routage est destiné à router les messages des unités électroniques de contrôle U vers une instance de connecteur C, notamment en fonction d'un identifiant de l'unité électronique de contrôle, comme par exemple une adresse IP.  The first routing component is intended to route the messages of the electronic control units U to a connector instance C, in particular according to an identifier of the electronic control unit, such as an IP address.
Chaque connecteur C permet de gérer la connexion Cnx et l'échange de données avec une pluralité d'unités électroniques de contrôle U de façon synchrone et de communiquer de façon asynchrone en postant ou en collectant des messages sur les files d'attentes entrante Q.e, et respectivement sortante Q.s du gestionnaire de files d'attentes Qs.  Each connector C makes it possible to manage the connection Cnx and the exchange of data with a plurality of electronic control units U synchronously and to communicate asynchronously by posting or by collecting messages on the incoming queues Qe, and respectively outgoing Qs queue manager Qs.
Les gestionnaires de messages H réalisent une interface entre les files d'attentes et les modules applicatifs MA en entrée et en sortie.  The message handlers H interface between the queues and the application modules MA input and output.
Les différents types de composants peuvent être distribués sur différents serveurs physiques de façon à répartir la charge de traitement et à permettre une adaptation au nombre de connexion à traiter.  The different types of components can be distributed on different physical servers in order to distribute the processing load and to adapt to the number of connections to be processed.
A titre d'exemple, il est possible de prévoir un nombre NC d'instances de connecteurs, un nombre NQ.e de files d'attentes entrantes sur un gestionnaire de files d'attente Q.M, un nombre NH de gestionnaires de messages comprenant chacun NLT instances d'écouteurs ou threads d'écouteur LT sur les files d'attentes entrantes Q.e, et un nombre NMA de modules applicatifs ou d'instances de modules applicatifs. Dans la mesure où l'application concernée doit assurer que la séquence des messages en provenance d'une unité électronique de contrôle U est respectée, le composant de routage s'assure que les communications en provenance d'une unité électronique de commande sont toujours routées vers la même instance de connecteur C parmi les NC instances de connecteur. De la même façon, chaque instance de connecteur C poste les messages en lien avec une unité électronique de commande sur une même files d'attente Qe parmi les NQ.e files d'attentes. Un écouteur ou un thread d'écouteurs doit dans ce cas écouter sur une seule file d'attente, pour alimenter ensuite les modules applicatifs. For example, it is possible to provide an NC number of connector instances, an NQ.e number of incoming queues on a queue manager QM, an NH number of message handlers each comprising NLT instances of listeners or LT listener threads on Qe incoming queues, and a NMA number of application modules or application module instances. Since the application concerned must ensure that the sequence of messages from an electronic control unit U is respected, the routing component ensures that communications from an electronic control unit are always routed. to the same C connector instance among the NC connector instances. Similarly, each connector instance C posts the messages in connection with an electronic control unit on the same queues Qe among the NQ.e queues. In this case, a listener or a listener thread must listen on a single queue, to then feed the application modules.
Ainsi, on a dans ce cas une relation : NH*NLT=NQ.e.  Thus, we have in this case a relation: NH * NLT = NQ.e.
Pour les messages descendants en provenance des modules applicatifs, dans les applications courantes, un seul thread d'émission ET par gestionnaire de message H sur une seule file d'attente de sortie Q.s est en général nécessaire, étant donné que le trafic descendant est bien inférieur au trafic montant. Il serait toutefois possible de prévoir plusieurs files d'attentes descendantes avec un mécanisme similaire aux files d'attente montantes.  For downstream messages from the application modules, in the current applications, a single sending thread AND message handler H on a single output queue Qs is usually necessary, since the downstream traffic is less than the amount of traffic. However, it would be possible to provide several downward queues with a similar mechanism to the rising queues.
Dans le cas d'une seule file d'attente descendante, l'ensemble des instances de connecteurs C collectent des messages sur ladite file d'attente Q.s en sélectionnant les messages qui leurs sont affectés, c'est-à-dire contenant par exemple leur identifiant.  In the case of a single downward queue, the set of connector instances C collect messages on said queue Qs by selecting the messages assigned to them, that is to say containing for example their identifier.
La figure 3 représente les étapes d'un procédé de traitement de messages montants applicatifs Mm en provenance d'une unité électronique de contrôle U d'une installation domotique par un serveur S.  FIG. 3 represents the steps of a process for processing application messages Mm originating from an electronic control unit U of a home automation installation by a server S.
Un message montant applicatif Mm peut correspondre à une requête de l'unité électronique de contrôle, ou encore une information provenant d'un capteur, un journal, une réponse à un ordre ou à une requête du serveur.  An application amount message Mm may correspond to a request from the electronic control unit, or information from a sensor, a log, a response to an order or a request from the server.
Dans le cas où le message montant Mm correspond à une requête de l'unité électronique de contrôle, une étape de mémorisation EMU0 de données d'identification Rqid de données utiles PIm est réalisée par l'unité électronique de contrôle U afin de pouvoir corréler lesdites données utiles PIm avec les données utiles Pld d'un message descendant ultérieur. Si le message montant ne correspond pas à une requête devant donner lieu à une réponse du serveur S, cette étape peut être omise.  In the case where the message amount Mm corresponds to a request of the electronic control unit, a storing step EMU0 identification data Rqid of useful data PIm is performed by the electronic control unit U in order to correlate the said PIm payload with payload Pld of a subsequent downstream message. If the amount message does not correspond to a request to be answered by the server S, this step can be omitted.
Une étape d'établissement EMU1 d'une connexion Cnx vers le serveur S est ensuite réalisée à l'initiative de l'unité électronique de contrôle U acceptée par le serveur s dans une étape EMC1. Cette connexion est par exemple réalisée selon le protocole de communication TCP. Une réservation de ressources est réalisée par le serveur S pour la gestion de la connexion. An establishment step EMU1 of a connection Cnx to the server S is then performed at the initiative of the electronic control unit U accepted by the server s in a step EMC1. This connection is for example made according to the TCP communication protocol. A resource reservation is performed by the server S for the management of the connection.
Préalablement à l'étape d'établissement de la connexion Cnx, une étape de routage ERtMl de la communication vers une instance de connecteur C en fonction de l'unité électronique de contrôle U est réalisée, la correspondance entre une instance de traitement C et une unité électronique de contrôle U étant mémorisée dans le référentiel Reg. Le routage est effectué en fonction d'un identifiant de l'unité électronique de contrôle, comme par exemple une adresse IP.  Prior to the step of establishing the connection Cnx, a routing step ERtM1 of the communication to a connector instance C as a function of the electronic control unit U is performed, the correspondence between a processing instance C and a electronic control unit U being stored in the repository Reg. The routing is performed according to an identifier of the electronic control unit, such as an IP address.
Une fois la connexion Cnx établie, une étape de transmission EMU2 d'un message montant applicatif Mm est réalisée par l'unité électronique de contrôle U, le message étant réceptionné par une instance de connecteur C dans une étape EMC2. Le message montant Mm comprend des données utiles Plm et un identifiant Uid de l'unité électronique de contrôle U.  Once the connection Cnx has been established, an EMU2 transmission step of an application amount message Mm is performed by the electronic control unit U, the message being received by a connector instance C in a step EMC2. The rising message Mm comprises useful data Plm and an identifier Uid of the electronic control unit U.
L'instance de connecteur C réalise ensuite une étape de détermination EMC3 d'une file d'attente d'entrante Q.e, sur laquelle un message entrant Me doit être posté. Cette étape de détermination prend en compte l'identifiant de l'unité électronique de contrôle Uid, par exemple en mettant en œuvre l'utilisation d'une fonction de hachage sur la base de l'identifiant Uid.  The connector instance C then performs a step EMC3 determination of an incoming queue Q.e, on which an incoming message Me must be posted. This determination step takes into account the identifier of the electronic control unit Uid, for example by implementing the use of a hash function on the basis of the identifier Uid.
Une fois la file d'attente déterminée, une étape de postage EMC4 d'un message entrant Me est réalisée. Les données utiles Plm du message entrant Me sont déterminées en fonction des données utiles Plm, du message montant applicatif Mm. En particulier, il peut s'agir d'une copie de ces données utiles Plm. Le postage est réalisé sur la file d'attente entrante Q.e en vue d'un traitement par un module applicatif MA. Le message entrant Me comprend, en plus des données utiles Plm, un identifiant de l'unité électronique de contrôle Uid et un identifiant Cid de l'instance de connecteur C.  Once the queue is determined, an EMC4 posting step of an incoming message Me is performed. The useful data Plm of the incoming message Me are determined according to the useful data Plm, the application amount message Mm. In particular, it can be a copy of this useful data Plm. The posting is performed on the incoming queue Q.e for processing by an application module MA. The incoming message Me comprises, in addition to the useful data Plm, an identifier of the electronic control unit Uid and an identifier Cid of the connector instance C.
Le message entrant peut également comprendre un attribut de priorité de traitement, l'étape de postage étant réalisée dans une position différente de la file d'attente Q.e en fonction de la valeur de l'attribut de priorité afin de modifier son ordre de traitement.  The incoming message may also include a processing priority attribute, the posting step being performed in a position different from the Q.e queue depending on the value of the priority attribute in order to change its processing order.
Une étape de surveillance EMC7 d'un délai maximal Tmax est réalisée par le connecteur avant la libération de la connexion Cnx, ce délai permettant par exemple d'attendre un retour d'un module applicatif au message entrant, sous la forme d'un message descendant pour lequel un message descendant applicatif pourrait être transmis par le serveur à destination de l'unité électronique de commande. Le calcul du délai Tmax peut être notamment réalisé à partir de l'étape d'établissement d'une connexion EMC1, à partir de l'étape de postage EMC3, ou encore à compter d'une étape de réception d'un message montant applicatif EMC2. An EMC7 monitoring step of maximum delay Tmax is performed by the connector before the release of the Cnx connection, this delay allowing, for example, waiting for an application module to return to the incoming message, in the form of a message downlink for which an application downlink message could be transmitted by the server to the electronic control unit. The calculation of the delay Tmax can notably be carried out starting from the step of establishing an EMC1 connection, starting from the posting step EMC3, or starting from a step of receiving an application amount message. EMC2.
Dans l'exemple représenté sur la figure 3, le délai Tmax est compté à partir de l'étape de postage EMC4.  In the example shown in FIG. 3, the delay Tmax is counted from the posting step EMC4.
A l'expiration du délai Tmax ou préalablement, le connecteur réalise une étape de transmission EMC8 d'un message descendant Md à l'unité électronique de contrôle U qui le reçoit dans une étape EMU8, en réponse au message montant applicatif Mm.  At the expiration of the delay Tmax or beforehand, the connector performs a step EMC8 transmission of a Md downlink message to the electronic control unit U which receives it in a step EMU8, in response to the message Mm application amount.
Le message descendant Md peut comprendre :  The downlink message Md can include:
des données utiles Pld correspondant à une réponse applicative au message montant applicatif Mm si cette réponse est rendue disponible par le module applicatif, puis postée sur la file de sortie et collectée par le connecteur C avant l'expiration du délai Tmax ;  useful data Pld corresponding to an application response to the message Mm application amount if this response is made available by the application module, then posted on the output queue and collected by the C connector before the expiration of Tmax delay;
- Des données utiles Pld correspondant à un autre échange applicatif que celui impliquant le message montant ;  Useful data Pld corresponding to another application exchange than that involving the uplink message;
ou aucune donnée utile si le connecteur C n'a pas de données à transmettre à l'unité électronique de contrôle U.  or no useful data if the connector C has no data to transmit to the electronic control unit U.
Dans le cas représenté à la figure 3, aucune réponse applicative correspondant au message montant Mm n'a été reçue à l'expiration du délai Tmax. En conséquence, le message descendant comprendra soit des données utiles Pld correspondant à un autre échange applicatif que celui impliquant le message montant ; ou aucune donnée utile. Une étape de libération EMC9 de la connexion Cnx est ensuite réalisée par le connecteur C et constatée dans une étape EMU9 par l'unité électronique de contrôle U.  In the case shown in FIG. 3, no application response corresponding to the message amount Mm was received at the expiration of the delay Tmax. Accordingly, the downlink message will include either payload data Pld corresponding to another application exchange than that involving the amount message; or no useful data. An EMC9 release step of the connection Cnx is then performed by the connector C and found in a step EMU9 by the electronic control unit U.
Postérieurement à l'étape de postage EMC4, une instance d'écouteur H réalise une collecte EMH5 d'au moins un message entrant Me sur une file d'attente entrante Q.e. L'écouteur H peut ensuite communiquer le contenu du message à un module applicatif MA dans une étape EMMA6. Le module applicatif réalise ensuite le traitement du message entrant Me.  After the EMC4 posting step, a listener instance H performs an EMH5 collection of at least one incoming message Me on an incoming queue Q.e. The listener H can then communicate the content of the message to an application module MA in an EMMA6 step. The application module then performs the processing of the incoming message Me.
Un procédé de traitement de messages descendants à destination d'une unité électronique de contrôle U d'une installation domotique par un serveur S va être à présent décrit en référence à la figure 4.  A method of processing descendant messages to an electronic control unit U of a home automation installation by a server S will now be described with reference to FIG. 4.
Comme cela a été précédemment décrit, les modules applicatifs MA sont destinés à traiter les requêtes en provenance des unités électroniques de contrôle U ou à générer des commandes à destination des unités électroniques de contrôle U sur la base d'événements extérieurs, comme par exemple un ordre communiqué par un utilisateur par l'intermédiaire du terminal 108 relié au serveur web 107. As has been previously described, the application modules MA are intended to process the requests coming from the electronic control units U or to generate commands intended for the electronic control units U on the external events database, such as an order communicated by a user via the terminal 108 connected to the web server 107.
Suite à ces différents traitements, les modules applicatifs MA communiquent dans une étape EDMAl des données utiles à un thread d'émission ET d'un gestionnaire de message H, en spécifiant l'unité électronique de contrôle U destinataire de ces données utiles Pld.  Following these different processes, the application modules MA communicate in a step EDMAl data useful to a transmission thread AND a message manager H, specifying the electronic control unit U recipient of this payload data Pld.
Dans une étape ultérieure EDH2, le gestionnaire de message H poste sur la file d'attente sortante Q.s du gestionnaire de files d'attentes Q.M un message sortant Ms comprenant un identifiant d'une unité électronique de contrôle Uid, un identifiant d'un connecteur Cid et des données utiles Pld.  In a subsequent step EDH2, the message manager H sets on the outgoing queue Qs of the queue manager QM an outgoing message Ms comprising an identifier of an electronic control unit Uid, an identifier of a connector Cid and useful data Pld.
La détermination de l'identifiant du connecteur Cid est réalisée en interrogeant le référentiel Reg afin de déterminer si l'unité électronique de commande est associée à un connecteur ou à une instance de connecteur C.  Determining the identifier of the connector Cid is performed by interrogating the repository Reg to determine if the electronic control unit is associated with a connector or a connector instance C.
Le message sortant Ms peut également comprendre un attribut de priorité de traitement Pr, l'étape de postage étant réalisée dans une position différente de la file d'attente Q.s en fonction de la valeur de l'attribut de priorité afin de modifier son ordre de traitement.  The outgoing message Ms may also include a processing priority attribute Pr, the posting step being performed in a position different from the queue Qs according to the value of the priority attribute in order to modify its order of priority. treatment.
Le procédé comprend ensuite une étape de collecte EDC3 d'un message sortant Ms sur une file d'attente sortante Q.s en provenance d'un module applicatif MA.  The method then comprises an EDC3 collection step of an outgoing message Ms on an outgoing queue Q.s coming from an application module MA.
Les messages sortant Ms peuvent comprendre des données utiles Pld correspondant à une réponse à un précédent message entrant Me posté suite à une réception d'un message montant Mm en provenance de l'unité électronique de contrôle U ou encore des données utiles Pld générées par un module applicatif MA suite à un événement extérieur.  The outgoing Ms messages may include useful data Pld corresponding to a response to a previous incoming message Me posted following receipt of a message amount Mm from the electronic control unit U or the payload data Pld generated by a application module MA following an external event.
Par la suite, une étape de mémorisation EDC4 de données utiles Pld comprises dans au moins un message sortant Ms et de l'identifiant de l'unité électronique de contrôle Uid est réalisée.  Subsequently, a storage step EDC4 of useful data Pld included in at least one outgoing message Ms and the identifier of the electronic control unit Uid is performed.
L'étape de mémorisation EDC4 est réalisée en mémorisant les données utiles Pld d'un ou de plusieurs messages sortant Ms correspondant à un identifiant Uid d'une unité électronique de contrôle U jusqu'à expiration d'un délai d'attente Twait ou réception d'un message montant applicatif Mm.  The storage step EDC4 is performed by storing the user data Pld of one or more outgoing Ms messages corresponding to a Uid identifier of an electronic control unit U until a waiting time expires Twait or reception an application amount message Mm.
Par la suite, à l'issu du délai d'attente Twait ou préalablement à la réception d'un message montant applicatif Mm, une étape d'établissement EDU5/EDC5 d'une connexion Cnx entre le serveur S et l'unité électronique de contrôle U correspondant à l'identifiant de l'unité électronique de contrôle Uid comprise dans le message sortant Ms est réalisée. Cette étape correspond soit à l'établissement d'une connexion à l'initiative de l'unité électronique de commande qui dispose de données utiles à transmettre, soit à une l'établissement d'une connexion à l'initiative de l'unité électronique de contrôle suite à une demande d'établissement d'une connexion par le connecteur comme cela sera détaillé ultérieurement, Subsequently, at the end of the waiting time Twait or prior to receiving an application amount message Mm, an EDU5 / EDC5 establishment step of a connection Cnx between the server S and the electronic unit of U control corresponding to the identifier of the electronic unit of Uid control included in the Ms outgoing message is performed. This step corresponds either to the establishment of a connection at the initiative of the electronic control unit which has useful data to transmit or to the establishment of a connection at the initiative of the electronic unit. control after a request to establish a connection by the connector as will be detailed later,
Suite à l'établissement de la connexion Cnx, un message montant Mm est transmis dans une étape EDU6 par l'unité électronique de contrôle U et reçu par le serveur s dans une étape EDC6, le message montant Mm comprenant des données utiles Plm ou aucune donnée utile.  Following the establishment of the connection Cnx, a rising message Mm is transmitted in a step EDU6 by the electronic control unit U and received by the server s in a step EDC6, the rising message Mm comprising useful data Plm or none useful data.
Un message descendant applicatif Md est ensuite transmis dans une étape EDC8 à l'unité électronique de contrôle U qui le reçoit dans une étape EDU8, le message descendant applicatif Md comprenant des données utiles PLd déterminées à partir des données utiles Pld du ou des messages sortant Ms mémorisées lors de l'étape EDC4.  An application downlink message Md is then transmitted in a step EDC8 to the electronic control unit U which receives it in a step EDU8, the application downlink message Md comprising useful data PLd determined from the payload data Pld of the outgoing message (s). Ms stored in step EDC4.
Une étape de surveillance EDC7 d'un délai maximal Tmax peut être optionnellement réalisée par le connecteur avant la libération de la connexion Cnx. Le calcul du délai Tmax peut être notamment réalisé à partir de l'étape d'établissement d'une connexion EDC5, à partir d'une étape de postage éventuelle vers une file entrante, ou encore à compter d'une étape de réception d'un message montant applicatif EDC6. Dans l'exemple représenté sur la figure 3, le délai Tmax est compté à partir de l'étape de réception d'un message montant applicatif EDC6. Alternativement, la libération de la connexion peut être prévue de façon immédiate.  An EDC7 monitoring step of maximum delay Tmax can be optionally performed by the connector before the release of the Cnx connection. The calculation of the delay Tmax can in particular be carried out from the step of establishing an EDC5 connection, from a possible postage step to an incoming queue, or from a reception step of an EDC6 application amount message. In the example shown in FIG. 3, the delay T max is counted from the step of receiving an application amount message EDC 6. Alternatively, the release of the connection can be provided immediately.
Ainsi, suite à la transmission de l'étape EDC8, une étape de libération EDC9 de la connexion Cnx est réalisée, par exemple à l'initiative du serveur.  Thus, following the transmission of step EDC8, an EDC9 release step of the connection Cnx is performed, for example at the initiative of the server.
L'unité de commande U peut ensuite réaliser une étape de vérification EDUlO de la correspondance des données utiles Pld reçues avec une requête préalable correspondant à une transmission d'un message montant Md en utilisant des données d'identification Rqid de données utiles Plm mémorisées.  The control unit U can then carry out a verification step EDU10 of the correspondence of the payload data P1 received with a prior request corresponding to a transmission of a rising message Md by using identification data Rqid of the stored payload data Plm.
II est à noter que selon les deux modes de mise en œuvre d'un procédé de traitement des messages montants et descendants selon l'invention décrit ci- dessus, certaines étapes peuvent être partagées. En particulier, les étapes d'établissement de connexion EMUl / EMCl ou EDU5 / EDC5, d'échange de messages applicatifs montants EMU2 / EMC2, EDU6 / EDC6 et descendants EMU8 / EMC8, EDU8 / EDC8, et de libération de la connexion EMU9, EMC9 peuvent être communes aux deux procédés. Ainsi, dans le premier procédé décrit en référence à la figure 4, plusieurs étapes de collecte EDC3 et de mémorisation EDC4 peuvent être réalisées en attendant l'établissement d'une connexion Cnx. It should be noted that according to the two modes of implementation of a method of processing the upstream and downstream messages according to the invention described above, certain steps can be shared. In particular, the EMU1 / EMC1 or EDU5 / EDC5 connection establishment steps, EMU2 / EMC2, EDU6 / EDC6 upstream application message exchange and EMU8 / EMC8, EDU8 / EDC8, and EMU9 connection release transactions, EMC9 may be common to both processes. Thus, in the first method described with reference to FIG. 4, several EDC3 and EDC4 storage steps can be performed while waiting for the establishment of a Cnx connection.
Cette connexion peut-être réalisée à l'initiative de l'unité électronique de contrôle U, dans le cadre de la transmission d'un message montant applicatif Mm correspondant à un procédé de traitement d'un message montant applicatif.  This connection can be made at the initiative of the electronic control unit U, in the context of the transmission of an application amount message Mm corresponding to a method of processing an application amount message.
Ainsi, il est à remarquer que les données utiles montantes et descendantes circulant lors d'un échange de requête et de réponse, et notamment selon le protocole http(S), ne correspondent pas nécessairement au même échange applicatif entre l'unité électronique de contrôle U et un module applicatif MA, mais à des échanges différents.  Thus, it should be noted that the upstream and downstream useful data flowing during a request and response exchange, and in particular according to the http (S) protocol, do not necessarily correspond to the same application exchange between the electronic control unit. U and an application module MA, but with different exchanges.
L'utilisation de ce système permet de tirer partie des échanges pour communiquer les données présentes à transférer de part et d'autre, et de simuler un échange de données sous forme de requête et de réponse, ce qui est un mode de communication accepté par le pare-feu FW.  The use of this system makes it possible to take advantage of the exchanges to communicate the present data to be transferred from one side to the other, and to simulate a data exchange in the form of a request and a response, which is a mode of communication accepted by the FW firewall.
La figure 4bis présente un procédé de traitement de messages montants et descendants applicatif dans lequel plusieurs étapes de connexion EDU5a / EDC5a, EDU5b / EDC5b et EDU5c / EDC5c et plusieurs étapes de déconnexion EDU9a / EDC9a, EDU9b / EDC9b et EDU9c / EDC9c sont effectuées, un message montant Mml, Mm2, Mm3 et un message descendant applicatif Mdl, Md2, Md3 étant échangés dans le cadre de chacune de ces connexions au cours d'étapes de transmission EDU6a, EDU6b, EDU6c et de réception EDC6a, EDC6b, EDC6c de messages montants applicatifs et de réception EDU8a, EDU8b, EDU8c et de transmission EDC8a, EDC8b, EDC8c de messages descendant respectives.  FIG. 4bis shows a method of processing application upstream and downstream messages in which several connection steps EDU5a / EDC5a, EDU5b / EDC5b and EDU5c / EDC5c and several disconnection steps EDU9a / EDC9a, EDU9b / EDC9b and EDU9c / EDC9c are carried out, an upstream message Mml, Mm2, Mm3 and an application downlink message Md1, Md2, Md3 being exchanged as part of each of these connections during transmission steps EDU6a, EDU6b, EDU6c and reception EDC6a, EDC6b, EDC6c messages application and reception amounts EDU8a, EDU8b, EDU8c and EDC8a, EDC8b, EDC8c transmission of respective downstream messages.
Seules les étapes réalisées par l'unité électronique de commande U et le connecteur sont représentées sur la figure, les étapes internes au serveur S et à l'unité électronique de commande U étant conformes à celles décrites précédemment.  Only the steps performed by the electronic control unit U and the connector are shown in the figure, the steps internal to the server S and the electronic control unit U being in accordance with those described above.
La figure 4bis illustre un exemple, dans lequel deux transactions applicatives X, Y impliquant une requête et une réponse applicative sont réalisées.  FIG. 4bis illustrates an example in which two X, Y application transactions involving a request and an application response are performed.
En particulier, les transactions X et Y correspondent à des requêtes de l'unité électronique de commande auxquelles le serveur doit apporter une réponse.  In particular, the X and Y transactions correspond to requests from the electronic control unit to which the server must respond.
Dans le cadre de la première connexion Cnx, le premier message applicatif montant Mml comprend des données utiles PlmX correspondant à la requête de la transaction X. Le premier message descendant Mdl ne comprend aucunes données utiles ou des données utiles vides représentées par PldO. Dans le cadre de la seconde connexion Cnx, le deuxième message applicatif montant Mm2 comprend des données utiles PlmY correspondant à la requête de la transaction Y. Le second message descendant Md2 comprend des données utiles PldX correspondant à la réponse de la transaction X. In the context of the first connection Cnx, the first application message amount Mml includes useful data PlmX corresponding to the request of the transaction X. The first downlink message Md1 does not include any useful data or empty payload represented by PldO. In the context of the second connection Cnx, the second application message amount Mm2 includes useful data PlmY corresponding to the request of the transaction Y. The second downlink message Md2 comprises useful data PldX corresponding to the response of the transaction X.
Dans le cadre de la troisième connexion Cnx, le troisième message applicatif montant Mm3 ne comprend pas de données utile, ce qui est représenté par Plmfl . Le message descendant Md2 comprend des données utiles PldX correspondant à la réponse de la transaction X.  In the context of the third connection Cnx, the third application message amount Mm3 does not include useful data, which is represented by Plmfl. The downlink message Md2 comprises useful data PldX corresponding to the response of the transaction X.
Ainsi, les données utiles échangées montantes et descendantes lors d'un échange de messages montant et descendant, par exemple dans un échange requête/réponse selon le protocole http(S), ne sont pas nécessairement relatives au même échange applicatif ou transaction entre l'unité électronique de contrôle et un module applicatif, mais à des échanges ou transaction différentes.  Thus, the useful data exchanged upstream and downstream during an upstream and downstream message exchange, for example in a request / response exchange according to the http (S) protocol, are not necessarily relative to the same application exchange or transaction between the electronic control unit and an application module, but with different exchanges or transactions.
La corrélation peut être réalisée du côté de l'unité électronique de commande grâce aux données d'identification Rqid de données utiles Plm correspondant à une transaction applicative.  The correlation can be performed on the side of the electronic control unit with the identification data Rqid useful data Plm corresponding to an application transaction.
Les deux procédés de traitement des messages applicatifs montants et descendants impliquent l'établissement d'une connexion Cnx entre l'une des unités électroniques de contrôle U et le serveur S. Etant donné que l'unité électronique de contrôle U est située sur un réseau privé PN protégé par un pare-feu, l'échange de données entre le serveur et la pluralité d'unités électroniques de contrôle doit prendre en compte la présence de ce pare-feu. En particulier, l'établissement d'une connexion à l'initiative d'un serveur extérieur au réseau privé est de façon usuelle interdite par un pare-feu ou peut être rendue difficile par l'utilisation de mécanisme de traduction d'adresse (NAT).  The two methods of processing the upstream and downstream application messages involve the establishment of a connection Cnx between one of the electronic control units U and the server S. Since the electronic control unit U is located on a network Private PN protected by a firewall, the exchange of data between the server and the plurality of electronic control units must take into account the presence of this firewall. In particular, the establishment of a connection at the initiative of a server outside the private network is usually prohibited by a firewall or can be made difficult by the use of address translation mechanism (NAT ).
En conséquence, dans le cas où l'unité électronique de contrôle U ne procède pas à une connexion en vue de communiquer des données utiles dans le sens montant, il est souhaitable de disposer d'un mécanisme permettant au serveur de solliciter l'établissement d'une telle connexion.  Consequently, in the case where the electronic control unit U does not make a connection for the purpose of communicating useful data in the uplink direction, it is desirable to have a mechanism enabling the server to request the establishment of data. such a connection.
A cet effet, la présente invention met en œuvre un procédé de transmission de données permettant notamment la transmission de messages applicatifs du serveur S vers une unité électronique de contrôle U.  For this purpose, the present invention implements a method of data transmission allowing in particular the transmission of application messages from the server S to an electronic control unit U.
La figure 5 représente un schéma de mise en œuvre des procédés de transmission de données exécutés sur le serveur S, en particulier par un connecteur C et sur une unité électronique de contrôle U d'une installation domotique I. Selon le mode de mise en œuvre décrit sur la figure 5, le procédé comprend une première phase PhO de négociation d'une clef secrète, une deuxième phase Phi réalisée selon le premier protocole de communication destiné à recueillir une demande de connexion de la part du serveur S et une troisième phase Ph2 de transmission de données suite à l'établissement d'une connexion selon le deuxième protocole de communication à l'initiative de l'unité électronique de contrôle. FIG. 5 represents a diagram of implementation of the data transmission methods executed on the server S, in particular by a connector C and on an electronic control unit U of a home automation system I. According to the embodiment described in FIG. 5, the method comprises a first phase PhO for negotiating a secret key, a second phase Phi produced according to the first communication protocol intended to collect a connection request from the client. server S and a third phase Ph2 data transmission following the establishment of a connection according to the second communication protocol at the initiative of the electronic control unit.
La phase de négociation d'une clef secrète PhO comprend une étape de transmission EO d'une clé de chiffrement dans un message Mkey par l'unité de contrôle électronique U au serveur S qui le reçoit lors d'une étape EO', de façon à permettre une signature des messages montants et/ou descendants selon le premier protocole de communication PI et/ou selon le deuxième protocole de communication P2. La clef de chiffrement peut notamment être choisie de façon aléatoire par l'unité électronique de contrôle U.  The negotiation phase of a secret key PhO comprises a step EO transmission of an encryption key in a message Mkey by the electronic control unit U to the server S which receives it during a step EO ', so to enable a signature of the upstream and / or downstream messages according to the first communication protocol PI and / or according to the second communication protocol P2. The encryption key may in particular be chosen randomly by the electronic control unit U.
Le serveur accuse réception de la clé et valide qu'il a bien pris en compte la nouvelle clef par un message descendant MkeyAck transmis dans une étape Ε qui est reçu par l'unité électronique de contrôle U lors d'une étape de réception El.  The server acknowledges receipt of the key and validates that it has taken into account the new key by a MkeyAck downlink message transmitted in a step Ε which is received by the electronic control unit U during a reception step El.
Les échanges entre l'unité électronique de contrôle U lors de la phase de négociation peuvent être réalisées selon un protocole de communication distinct ou similaire au premier protocole de communication et au deuxième protocole de communication PI et P2. A titre d'exemple, un protocole de type HTTPS peut être choisi qui permet de communiquer la clef de façon sécurisée.  The exchanges between the electronic control unit U during the negotiation phase can be performed according to a communication protocol that is different from or similar to the first communication protocol and the second communication protocol PI and P2. As an example, an HTTPS type protocol can be chosen which makes it possible to communicate the key in a secure manner.
Il est à noter que cet échange n'est pas réalisé fréquemment, et en conséquence ne représente pas une consommation de ressources significative. A titre d'exemple, une périodicité de plusieurs jours peut être prévue pour la validité des clefs.  It should be noted that this exchange is not carried out frequently, and therefore does not represent a significant consumption of resources. For example, a periodicity of several days can be provided for the validity of the keys.
La deuxième phase de communication Phi selon le premier protocole PI comprend une première étape de transmission E2 périodique d'un message montant Mping selon le premier protocole de communication PI par l'unité électronique de contrôle U à destination du serveur S qui le reçoit dans une étape E2'. A titre d'exemple, une périodicité de l'ordre d'une dizaine de secondes peut être prévue pour la périodicité de la transmission, et notamment de l'ordre de 20s.  The second phase of communication Phi according to the first protocol PI comprises a first step E2 periodic transmission of a message Mping up according to the first communication protocol PI by the electronic control unit U to the server S which receives it in a step E2 '. For example, a periodicity of the order of ten seconds can be provided for the periodicity of the transmission, and in particular of the order of 20s.
En réponse à ce message montant, le serveur S transmet dans une étape E4' un message descendant Mpong à destination de l'unité électronique de contrôle U qui est reçu dans une étape préalable de réception E4 dans un premier délai Drl court après la transmission du message montant Mping. A titre d'exemple, le délai Drl peut être de l'ordre de quelques secondes, et notamment de l'ordre de 5 s. Ce premier message Mpong descendant permet de maintenir le canal de communication ouvert pendant un deuxième délai Dr2 supérieur au premier délai Drl. Il apparaît en effet que le fonctionnement d'un pare-feu usuel peut empêcher le passage d'un message descendant dans la mesure où celui-ci est reçu au-delà d'un premier délai après l'envoi d'un message montant. Egalement de façon usuelle, dans la mesure où un premier message descendant est reçu, un deuxième délai plus important est accordé pour recevoir un ou plusieurs autres messages descendants. Il est notamment possible de choisir de déclencher une nouvelle transmission du message Mping avant l'expiration du délai Dr2. In response to this upstream message, the server S transmits in a step E4 'a Mpong downlink message to the electronic control unit U which is received in a prior reception step E4 within a first delay Drl short after transmission of the Mping amount message. For example, the delay Drl can be of the order of a few seconds, and in particular of the order of 5 s. This first message Mpong down keeps the communication channel open for a second delay Dr2 greater than the first delay Drl. It appears that the operation of a conventional firewall can prevent the passage of a downlink message to the extent that it is received beyond a first time after sending a rising message. Also in the usual way, since a first descendant message is received, a second, larger delay is allowed to receive one or more other descendant messages. In particular, it is possible to choose to trigger a new transmission of the message Mping before the expiry of the delay Dr2.
Par la suite, dans le cas où le serveur S a des données utiles DU à transmettre à l'unité électronique de contrôle U, celui-ci transmet selon le premier protocole de communication PI lors d'une étape E5' un message de demande d'ouverture de connexion Mopen, qui est reçu par l'unité électronique de contrôle U lors d'une étape E5.  Subsequently, in the case where the server S has useful data DU to be transmitted to the electronic control unit U, it transmits according to the first communication protocol PI during a step E5 'a request message D Mopen connection opening, which is received by the electronic control unit U during a step E5.
La deuxième phase Phi de communication selon le premier protocole PI comprend une étape de surveillance E3 d'un délai de réception Dr d'un message descendant en provenance du serveur S suite à la première étape de transmission Mping, le déclenchement d'une nouvelle première étape de transmission E2 étant réalisé en cas de dépassement du délai de réception.  The second communication phase Phi according to the first protocol PI comprises a monitoring step E3 of a reception delay Dr of a downlink message from the server S following the first transmission step Mping, the triggering of a new first E2 transmission step being performed in case of exceeding the reception time.
Lors de cette phase, les échanges sont signés avec la clé secrète communiquée lors de la première phase de communication PhO.  During this phase, the exchanges are signed with the secret key communicated during the first PhO communication phase.
Comme cela est illustré sur la figure 6, lors de la deuxième phase Phi de communication selon le premier protocole de communication PI, le serveur peut réaliser une étape de transmission ERO' d'une indication de clef invalide ou expirée Minvalidkey en provenance du serveur S, et en réponse une nouvelle étape de transmission d'une clef de chiffrement E0. Typiquement, cette situation peut intervenir lors de la transmission d'un message montant MPing, le serveur ayant constaté que le message présente un format correct mais n'est pas signé avec une clé valide. Il est à noter qu'en cas de redémarrage de l'unité électronique de contrôle, la première phase de communication PhO avec communication de la clé est réalisée à nouveau.  As illustrated in FIG. 6, during the second communication phase Phi according to the first communication protocol PI, the server can perform a transmission step ERO 'of an invalid or expired key indication Minvalidkey from the server S , and in response a new step of transmitting an encryption key E0. Typically, this situation can occur during the transmission of a message amount MPing, the server having found that the message has a correct format but is not signed with a valid key. It should be noted that in case of restart of the electronic control unit, the first phase of communication PhO with communication of the key is carried out again.
Lors de la deuxième phase de communication Phi, Le premier protocole de communication peut notamment être le protocole UDP.  During the second phase of Phi communication, the first communication protocol may in particular be the UDP protocol.
La troisième phase Ph2 du procédé est réalisée suite à la réception de la demande d'ouverture de connexion reçue par l'unité électronique de contrôle dans la deuxième phase à l'étape E5. Dans un premier temps, une étape d'établissement E6 d'une connexion Cnx vers le serveur S qui accepte cette connexion dans une étape correspondante E6' est réalisée, à l'initiative de l'unité électronique de contrôle U selon un deuxième protocole de connexion P2. En particulier, le protocole de communication peut être le protocole TCP. Dans ce cas, l'étape d'établissement E6 peut comprendre plusieurs échanges entre le serveur et l'unité U, et en particulier des échanges de messages de gestion de connexion, comme les messages du protocole TCP SYN, SYN/ACK, ACK. The third phase Ph2 of the method is performed following the reception of the connection opening request received by the electronic control unit in the second phase in step E5. In a first step, an establishment step E6 of a connection Cnx to the server S which accepts this connection in a corresponding step E6 'is performed, on the initiative of the electronic control unit U according to a second protocol of P2 connection. In particular, the communication protocol may be the TCP protocol. In this case, the establishment step E6 may comprise several exchanges between the server and the unit U, and in particular exchanges of connection management messages, such as the TCP SYN, SYN / ACK, ACK protocol messages.
Une fois la connexion Cnx établie, une étape de transmission E7 d'un message montant Mm est réalisée selon le deuxième protocole de communication P2 à destination du serveur S qui reçoit ce message dans un étape E7'.  Once the connection Cnx has been established, a transmission step E7 of an amount message Mm is carried out according to the second communication protocol P2 intended for the server S which receives this message in a step E7 '.
En particulier, le message Mm peut être un message sans données utiles mais constituant un message montant auquel une réponse sera apportée par le serveur.  In particular, the message Mm may be a message without useful data but constituting an amount message to which a response will be provided by the server.
Ainsi, le serveur transmet un message descendant Md dans une étape de transmission E8' à destination de l'unité électronique de contrôle U. Ce message descendant contient les données utiles Pld que le serveur devait transmettre à l'unité électronique de contrôle U.  Thus, the server transmits a downlink message Md in a transmission step E8 'to the electronic control unit U. This downward message contains the payload data Pld that the server was to transmit to the electronic control unit U.
Suite à cet échange, une étape de libération ou d'acceptation de la libération E9, E9' de la connexion Cnx est réalisée.  Following this exchange, a step of release or acceptance of the release E9, E9 'of the connection Cnx is performed.
Le deuxième protocole de communication utilisé peut être en particulier le protocole TCP. Les échanges des étapes E7/E7' et E8/E8' peuvent notamment être réalisés sous forme d'une requête et d'une réponse selon le protocole HTTPS qui utilise TCP.  The second communication protocol used may be in particular the TCP protocol. The exchanges of the steps E7 / E7 'and E8 / E8' can in particular be made in the form of a request and a response according to the HTTPS protocol that uses TCP.
Selon des variantes de mise en œuvre, la libération de la connexion peut intervenir après plusieurs échanges de messages montants et/ou de réception de messages descendantes selon le deuxième protocole de communication ou encore après un délai déterminé après l'étape d'établissement de la communication E6.  According to implementation variants, the release of the connection can take place after several exchanges of uplink messages and / or messages receiving messages according to the second communication protocol or after a specified delay after the step of establishing the connection. E6 communication.
Les étapes d'établissement de la connexion E6 et d'acceptation de cette connexion E6' peuvent respectivement correspondre aux étapes d'établissement d'une connexion EDU5 et EDC5 décrites en référence à la figure 4 pour le procédé de transmission de messages descendants applicatifs.  The steps of establishing the connection E6 and accepting this connection E6 'can respectively correspond to the steps of establishing an EDU5 and EDC5 connection described with reference to FIG. 4 for the method of transmitting application downstream messages.
Les étapes de transmission d'un message montant applicatif E7 et de réception E7' peuvent respectivement correspondre aux étapes de transmission et de réception EDU6 et EDC6 décrites en référence à la figure 4 pour le procédé de transmission de messages descendants applicatifs. Les étapes de transmission d'un message descendant applicatif Md E8 et de réception E8' peuvent respectivement correspondre aux étapes de transmission et de réception EDC8 et EDU8 décrites en référence à la figure 4 pour le procédé de transmission de messages descendants applicatifs. The transmission steps of an application amount message E7 and reception E7 'can respectively correspond to the transmission and reception steps EDU6 and EDC6 described with reference to FIG. 4 for the method for transmitting application downstream messages. The transmission steps of an Md E8 and E8 'downstream application message may respectively correspond to the transmission and reception steps EDC8 and EDU8 described with reference to FIG. 4 for the method for transmitting application downstream messages.
Selon un deuxième mode de mise en œuvre d'un système mettant en œuvre l'invention représenté sur la figure 7, le premier protocole de communication est un protocole de type SMS comprenant l'envoi d'un message du serveur vers l'unité électronique de contrôle U identifiée dans ce cas par un numéro téléphonique. Ce deuxième protocole est utilisé sur un réseau de type téléphonique N2, par exemple un réseau GSM ou téléphonie filaire sur Internet, avec une fonction de gestion de messages numériques.  According to a second embodiment of a system embodying the invention shown in FIG. 7, the first communication protocol is an SMS-type protocol comprising sending a message from the server to the electronic unit. U control identified in this case by a telephone number. This second protocol is used on a N2 type telephone network, for example a GSM network or wired telephony over the Internet, with a digital message management function.
Le serveur s comprend à cet effet une interface de communication 107 sur le réseau N2, comme par exemple une carte GSM, tout comme l'unité électronique de contrôle, qui comprend également une interface de communication 7 sur le réseau N2, comme une carte GSM ou un module matériel et logiciel de téléphonie sur Internet, pouvant être intégré au pare-feu ou à l'unité électronique de contrôle U.  The server s comprises for this purpose a communication interface 107 on the network N2, such as for example a GSM card, just like the electronic control unit, which also comprises a communication interface 7 on the network N2, such as a GSM card. or an internet telephony hardware and software module that can be integrated into the firewall or the electronic control unit U.
Ainsi, l'échange selon le premier protocole et l'étape de réception d'une demande d'ouverture de connexion correspond à un simple envoi de SMS entre le serveur S et l'unité électronique de contrôle U.  Thus, the exchange according to the first protocol and the step of receiving a connection opening request corresponds to a simple sending of SMS between the server S and the electronic control unit U.
La figure 7 ne représente qu'une unité électronique de contrôle, mais ce deuxième mode de réalisation s'applique bien entendu à la communication avec une multitude d'unités électroniques de contrôles.  FIG. 7 represents only an electronic control unit, but this second embodiment of course applies to communication with a multitude of electronic control units.
Selon des variantes de mise en œuvre, le premier protocole utilisé peut être de divers types permettant de ne pas être soumis aux contraintes imposées par le pare-feu.  According to implementation variants, the first protocol used may be of various types making it possible not to be subject to the constraints imposed by the firewall.
Selon une deuxième variante, le premier protocole correspond à une donnée fournie dans un flux audio et/ou vidéo, par exemple un flux MPEG. Selon cette variante, l'unité électronique de contrôle U comprend ou est associée à une interface de décodage du flux audio et/ou vidéo correspondant.  According to a second variant, the first protocol corresponds to data provided in an audio and / or video stream, for example an MPEG stream. According to this variant, the electronic control unit U comprises or is associated with a decoding interface of the corresponding audio and / or video stream.
Selon une autre variante, le premier et/ou le deuxième protocole peuvent être de type Raw IP ou autre protocole au dessus d'IP.  According to another variant, the first and / or the second protocol may be Raw IP type or other protocol above IP.
Selon des variantes de la troisième phase de communication Ph2, il est possible que les échanges applicatifs suivent le modèle des transactions, comprenant une requête et une réponse. Les requêtes sont envoyées sous forme de messages montants, et les réponses sous forme de messages descendants. Ainsi, dans un échange de requête et réponse sous forme d'un message montant, respectivement descendant, seule la réponse ou seule la requête peut contenir des données utiles. Un message montant et le message descendant émis en retour peuvent contenir des données utiles qui ne correspondent pas nécessairement à la même transaction. Par exemple une requête en cours nécessitant un traitement applicatif est transmise sous forme de message montant, et peut déclencher la transmission d'un message descendant sans données utiles, ou contenant des données utiles relatives à une requête antérieure. De la même manière, la réponse applicative correspondant à la requête en cours peut être envoyée lors d'un échange message montant/message descendant ultérieur. Cet échange peut comprendre un message montant sans données utiles. According to variants of the third Ph2 communication phase, it is possible for the application exchanges to follow the transaction model, comprising a request and a response. Queries are sent as upstream messages, and responses as descendant messages. So, in a request and response exchange in the form of a rising or falling message, only the response or only the request may contain useful data. A rising message and the downstream message sent back may contain useful data that does not necessarily correspond to the same transaction. For example, a request in progress requiring an application processing is transmitted in the form of a rising message, and may trigger the transmission of a downlink message without useful data, or containing useful data relating to a previous request. In the same way, the application response corresponding to the current request can be sent during a subsequent message sinking message / subsequent message exchange. This exchange may include a rising message without useful data.
Selon une variante de la troisième phase de communication Ph2, il est possible que suite à l'établissement de la connexion E6, seul un message descendant soit transmis par le serveur S, sans transmission d'un message montant par l'unité de contrôle électronique. Dans ce cas, un protocole distinct de HTTPS peut être utilisé, tout en s'appuyant sur les services fiables fournis par un protocole transport fonctionnant en mode connecté, comme TCP  According to a variant of the third communication phase Ph2, it is possible that following the establishment of the connection E6, only a downlink message is transmitted by the server S, without transmission of a rising message by the electronic control unit. . In this case, a separate protocol of HTTPS can be used, while relying on the reliable services provided by a transport protocol operating in connected mode, such as TCP
Il est à noter que la description ci-dessus décrit des procédés permettant la transmission de données du serveur S vers l'unité électronique de contrôle U.  It should be noted that the above description describes methods for transmitting data from the server S to the electronic control unit U.
La transmission de données dans le sens de l'unité électronique de contrôle vers le serveur peut être réalisée par exemple selon le deuxième protocole de communication sans difficulté étant donné qu'il est possible d'établir directement une connexion à l'initiative de l'unité électronique de contrôle.  The transmission of data in the sense of the electronic control unit to the server can be achieved for example according to the second communication protocol without difficulty since it is possible to establish a connection directly at the initiative of the electronic control unit.
A titre d'exemple une requête et une réponse selon le protocole HTTPS peuvent être réalisée, puis la connexion établie libérée afin de limiter l'utilisation de ressources du serveur.  For example, a request and a response according to the HTTPS protocol can be performed, then the established connection released to limit the use of server resources.
Il est à noter que l'optimisation des ressources réseau permise par l'invention est important dans le cas de figure d'un système de connexion d'une pluralité d'unité électronique de contrôle vers un serveur.  It should be noted that the optimization of the network resources permitted by the invention is important in the case of a connection system of a plurality of electronic control unit to a server.
Les ressources réseau sont notamment nécessaires au maintien d'une connexion au niveau de la couche logicielle « transport », au dessus de la couche réseau (IP). Ce protocole doit fournir à l'application un service « transport » fiable, en mode dit « connecté » entre le serveur et chacune des unités électroniques de contrôle. Les ressources réservées pour assurer un service transport en mode connecté sont importantes, car pour chaque connexion il faut réserver des mémoires tampon pour les données entrantes, mais aussi pour les données sortantes, car il faut garder des messages déjà transmis, mais pas encore acquittés, afin d'éviter leur perte et de permettre leur éventuelle retransmission. Comme le mode connecté assure une communication point à point, il y a une connexion par unité électronique de contrôle. In particular, network resources are required to maintain a connection at the level of the "transport" software layer, above the network layer (IP). This protocol must provide the application a reliable "transport" service in so-called "connected" mode between the server and each of the electronic control units. The resources reserved to provide a transport service in connected mode are important, because for each connection it is necessary to reserve buffers for the incoming data, but also for the outgoing data, because it is necessary to keep messages already transmitted, but not yet paid, to avoid their loss and to allow their eventual retransmission. As the connected mode provides point-to-point communication, there is one connection per electronic control unit.

Claims

REVENDICATIONS
1. Procédé de traitement de messages montants applicatifs en provenance d'une unité électronique de contrôle (U) d'une installation domotique par un serveur (S) comprenant les étapes suivantes :  A method for processing application uplink messages originating from an electronic control unit (U) of a home automation installation by a server (S) comprising the following steps:
- une étape d'établissement (EMC1) d'une connexion (Cnx) entre le serveur (S) et l'unité électronique de contrôle (U) ;  a step of setting (EMC1) a connection (Cnx) between the server (S) and the electronic control unit (U);
une étape de réception (EMC2) d'un message montant applicatif (Mm) par le serveur (S) en provenance de l'unité électronique de contrôle (U);  a step of receiving (EMC2) an application amount message (Mm) by the server (S) from the electronic control unit (U);
- une étape de postage (EMC4) d'un message entrant (Me), dans le cas ou le message montant applicatif contient des données utiles (Plm), le message entrant (Me) étant posté sur une file d'attente entrante (Qe) en vue d'un traitement par un module applicatif (MA), le message entrant (Me) comprenant des données utiles (Plm) déterminées en fonction des données utiles (Pld) du message montant applicatif (Mm) et un identifiant de l'unité électronique de contrôle (Uid) ;  a step of posting (EMC4) an incoming message (Me), in the case where the message amount application contains useful data (Plm), the incoming message (Me) being posted on an incoming queue (Qe ) for processing by an application module (AM), the incoming message (Me) comprising useful data (Plm) determined according to the useful data (Pld) of the application amount message (Mm) and an identifier of the electronic control unit (Uid);
une étape de libération (EMC9) de la connexion (Cnx) de façon immédiate ou suite à un délai maximal (Tmax) ;  a release step (EMC9) of the connection (Cnx) immediately or following a maximum delay (Tmax);
2. Procédé selon la revendication précédente, comprenant une étape de transmission (EMC8) d'un message descendant (Md) à l'unité électronique de contrôle (U) en réponse au message montant applicatif (Mm), le message descendant (Md) comprenant des données utiles (PLd) reçues préalablement ou aucunes données utiles. 2. Method according to the preceding claim, comprising a step of transmitting (EMC8) a message down (Md) to the electronic control unit (U) in response to the message amount application (Mm), the message downward (Md) including useful data (PLd) received previously or no useful data.
3. Procédé selon l'une des revendications précédentes, comprenant une étape de détermination (EMC3) d'une file d'attente d'entrante (Q.e) sur laquelle le message entrant (Me) doit être posté, préalablement à l'étape de postage (EMC4), l'étape de détermination prenant en compte l'identifiant de l'unité électronique de contrôle (Uid). 3. Method according to one of the preceding claims, comprising a step of determining (EMC3) an incoming queue (Qe) on which the incoming message (Me) must be posted, prior to the step of posting (EMC4), the determination step taking into account the identifier of the electronic control unit (Uid).
4. Procédé selon l'une des revendications précédentes, comprenant une étape préalable de routage (ERtMl) des messages montants applicatifs et/ou de la connexion (Cnx) en fonction de l'unité électronique de contrôle (U) vers une instance de traitement (C), la correspondance entre une instance de traitement (C) et une unité électronique de contrôle (U) étant mémorisée dans un référentiel (Reg). 4. Method according to one of the preceding claims, comprising a preliminary step of routing (ERtMl) the application upstream messages and / or the connection (Cnx) according to the electronic control unit (U) to an instance processing (C), the correspondence between a processing instance (C) and an electronic control unit (U) being stored in a repository (Reg).
5. Procédé selon l'une des revendications précédentes, comprenant une étape postérieure de collecte (EMH5, EMMA6) d'au moins un message sur une file d'attente entrante (Q.e) par un écouteur (H) en lien avec module applicatif (MA). 5. Method according to one of the preceding claims, comprising a subsequent step of collecting (EMH5, EMMA6) at least one message on an incoming queue (Qe) by a listener (H) in connection with the application module ( MY).
6. Procédé de traitement de messages descendants à destination d'une unité électronique de contrôle (U) d'une installation domotique par un serveur (S) comprenant les étapes suivantes : 6. Method of processing descendant messages to an electronic control unit (U) of a home automation installation by a server (S) comprising the following steps:
Une étape de collecte (EDC3) d'un message sortant (Ms) sur une file d'attente sortante (Q.s) en provenance d'un module applicatif (MA), le message sortant (Ms) comprenant un identifiant d'une unité électronique de contrôle (Uid) et des données utiles (Pld) ;  A step of collecting (EDC3) an outgoing message (Ms) on an outgoing queue (Qs) from an application module (MA), the outgoing message (Ms) comprising an identifier of an electronic unit control (Uid) and useful data (Pld);
une étape d'établissement (EDC5) d'une connexion (Cnx) entre le serveur (S) et l'unité électronique de contrôle (U) correspondant à l'identifiant de l'unité électronique de contrôle (Uid) comprise dans le message sortant (Ms) ;  an establishment step (EDC5) of a connection (Cnx) between the server (S) and the electronic control unit (U) corresponding to the identifier of the electronic control unit (Uid) included in the message outgoing (Ms);
une étape de transmission (EDC8) d'un message descendant applicatif (Md) à l'unité électronique de contrôle (U), le message descendant applicatif (Md) comprenant des données utiles (PLd) déterminées à partir des données utiles (Pld) du message sortant (Ms) ;  a transmission step (EDC8) of an application downlink message (Md) to the electronic control unit (U), the application downlink message (Md) comprising useful data (PLd) determined from the payload data (Pld) Outgoing message (Ms)
une étape de libération (EDC9) de la connexion (Cnx) de façon immédiate ou suite à un délai maximal (Tmax) ;  a release step (EDC9) of the connection (Cnx) immediately or following a maximum delay (Tmax);
7. Procédé selon la revendication précédente, comprenant une étape de réception (EDC6) d'un message montant applicatif (Mm) par le serveur (S) en provenance de l'unité électronique de contrôle (U), préalablement à l'étape de transmission (EDC8) d'un message descendant applicatif (Md), le message montant applicatif (Mm) comprenant des données utiles (PLm) ou aucune donnée utile; 7. Method according to the preceding claim, comprising a step of receiving (EDC6) an application amount message (Mm) by the server (S) from the electronic control unit (U), prior to the step of transmission (EDC8) of an application downlink message (Md), the application amount message (Mm) comprising useful data (PLm) or no useful data;
8. Procédé selon l'une quelconque des revendications 6 ou 7 comprenant une étape de mémorisation (EDC4) de données utiles (Pld) comprises dans au moins un message sortant (Ms) et de l'identifiant de l'unité électronique de contrôle (Uid) ; 8. Method according to any one of claims 6 or 7 comprising a step of storing (EDC4) useful data (Pld) included in at least one outgoing message (Ms) and the identifier of the electronic control unit ( Uid);
9. Procédé selon la revendication 8, dans lequel l'étape de mémorisation (EDC4) est réalisée en mémorisant les données utiles (Pld) d'un ou de plusieurs messages sortant (Ms) correspondant à un identifiant (Uid) d'une unité électronique de contrôle (U), les données utiles (Pld) étant ensuite transmises lors de l'étape de transmission (EDC8) à l'unité électronique de contrôle (U) correspondant à l'identifiant (Uid). 9. The method of claim 8, wherein the storage step (EDC4) is performed by storing the useful data (Pld) of one or more outgoing messages (Ms) corresponding to an identifier (Uid) of a unit. electronic control (U), the user data (Pld) is then transmitted during the transmission step (EDC8) to the electronic control unit (U) corresponding to the identifier (Uid).
10. Procédé selon l'une quelconque des revendications 6 à 9, comprenant : The method of any of claims 6 to 9, comprising:
une première étape de réception (EDC6a) d'un premier message montant applicatif (Mml) par le serveur (S) en provenance de l'unité électronique de contrôle (U), préalablement à l'étape de transmission (EDC8) d'un message descendant applicatif (Md2), le premier message montant applicatif (Mml) comprenant des premières données utiles montantes (PLmX); et  a first reception step (EDC6a) of a first application quantity message (Mml) by the server (S) coming from the electronic control unit (U), prior to the transmission step (EDC8) of a application downlink message (Md2), the first application amount message (Mml) comprising first uplink payload data (PLmX); and
une deuxième étape de réception (EDC6b) d'un second message montant applicatif (Mm2), ultérieurement à la première étape de réception d'un premier message montant applicatif par le serveur (S) en provenance de l'unité électronique de contrôle (U), préalablement à l'étape de transmission (EDC8b) d'un message descendant applicatif (Md2), le second message montant applicatif (Mm2) comprenant des secondes données utiles montantes (PLmY) ou aucune donnée utile;  a second receiving step (EDC6b) of a second application amount message (Mm2), subsequently to the first step of receiving a first application amount message by the server (S) coming from the electronic control unit (U ), prior to the transmission step (EDC8b) of an application downlink message (Md2), the second application amount message (Mm2) comprising second payload data (PLmY) or no useful data;
le message descendant applicatif (Md2) comprenant des données utiles descendantes (PldX) correspondant à une réponse au premier message montant applicatif (Mml) en provenance de l'unité électronique de contrôle (U).  the application downlink message (Md2) comprising downward payload data (PldX) corresponding to a response to the first application amount message (Mml) from the electronic control unit (U).
11. Procédé selon l'une quelconque des revendications 6 à 10, dans lequel le message sortant (Ms) comprend des données utiles (Pld) générées par un module applicatif (MA) suite à un événement extérieur. 11. Method according to any one of claims 6 to 10, wherein the outgoing message (Ms) comprises useful data (Pld) generated by an application module (MA) following an external event.
12. Procédé de traitement de messages montants applicatifs par une unité électronique de contrôle (U) d'une installation domotique à destination d'un serveur (S) comprenant les étapes suivantes : 12. Method of processing application uplink messages by an electronic control unit (U) of a home automation installation to a server (S) comprising the following steps:
- une étape de mémorisation (EMU0) de données d'identification (Rqid) de données utiles (PlmX, PlmY) correspondant à un message montant applicatif (Mml, Mm2) afin de pouvoir corréler lesdites données utiles (PlmX, PlmY) avec les données utiles (PldX) d'un message descendant applicatif ultérieur (Md2, Md3). a step of storage (EMU0) of identification data (Rqid) of useful data (PlmX, PlmY) corresponding an application amount message (Mml, Mm2) in order to be able to correlate said useful data (PlmX, PlmY) with the payload data (PldX) of a subsequent application descendant message (Md2, Md3).
une étape d'établissement (EMU1) d'une connexion (Cnx) vers le serveur (S) à l'initiative de l'unité électronique de contrôle (U) ;  a step of setting (EMU1) a connection (Cnx) to the server (S) at the initiative of the electronic control unit (U);
une étape de transmission (EMU2) d'un message montant applicatif (Mml, Mm2) par l'unité électronique de contrôle (U) à destination du serveur (S) comprenant les données utiles (PlmX, PlmY) et un identifiant (Uid) de l'unité électronique de contrôle (U), une étape d'acceptation de la libération (EMU9) de la connexion (Cnx) de façon immédiate ou suite à un délai maximal (Tmax) ;  a step of transmission (EMU2) of an application amount message (Mml, Mm2) by the electronic control unit (U) to the server (S) comprising the useful data (PlmX, PlmY) and an identifier (Uid) of the electronic control unit (U), a step of accepting the release (EMU9) of the connection (Cnx) immediately or following a maximum delay (Tmax);
13. Procédé selon la revendication précédente comprenant une étape de réception (EMU8) d'un message descendant applicatif (Mdl, Md2, Md3) par l'unité électronique de contrôle (U) en provenance du serveur (S), le message descendant applicatif (Md) comprenant des données utiles (PldX, PldY) ou aucune donnée utile. 13. Method according to the preceding claim comprising a step of receiving (EMU8) an application downlink message (Mdl, Md2, Md3) by the electronic control unit (U) from the server (S), the application downlink message (Md) including useful data (PldX, PldY) or no useful data.
14. Procédé de traitement de messages descendants applicatifs par une unité électronique de contrôle (U) d'une installation domotique en provenance du serveur (S) comprenant les étapes suivantes : 14. A method of processing application downstream messages by an electronic control unit (U) of a home automation installation from the server (S) comprising the following steps:
une étape d'établissement (EDU5) d'une connexion (Cnx) entre le serveur (S) et l'unité électronique de contrôle (U) ;  an establishment step (EDU5) of a connection (Cnx) between the server (S) and the electronic control unit (U);
une étape de réception (EDU8) d'un message descendant applicatif (Mdl, Md2, Md3) à l'unité électronique de contrôle (U), le message descendant applicatif comprenant des données utiles descendantes (PldX, PldY) ;  a step of receiving (EDU8) an application downlink message (Md1, Md2, Md3) to the electronic control unit (U), the application downlink message comprising downward payload data (PldX, PldY);
une étape d'acceptation de la libération (EDU9) de la connexion (Cnx) de façon immédiate ou suite à un délai maximal (Tmax) ;  a step of accepting the release (EDU9) of the connection (Cnx) immediately or following a maximum delay (Tmax);
une étape de vérification (EDU10) de la correspondance des données utiles descendantes (PldX, PldY) avec des données utiles montantes (PldX, PldY) d'un d'un message montant applicatif (Mml, Mm2, Mm3) précédent en utilisant des données d'identification (Rqid) de données utiles (PlmX, PlmY) mémorisées; a verification step (EDU10) of the correspondence of the downward user data (PldX, PldY) with upward payload data (PldX, PldY) of one of a preceding application amount message (Mml, Mm2, Mm3) using data identification (Rqid) of useful data (PlmX, PlmY) stored;
15. Procédé selon la revendication précédente comprenant une étape de transmission (EDU6) d'un message montant applicatif (Mm) par l'unité électronique de contrôle (U) vers le serveur (S), le message montant applicatif (Md) comprenant des données utiles (Plm) ou aucune donnée utile. 15. Method according to the preceding claim comprising a step of transmission (EDU6) of an application amount message (Mm) by the electronic control unit (U) to the server (S), the application amount message (Md) comprising useful data (Plm) or no useful data.
EP15823712.3A 2014-12-24 2015-12-23 Method of processing upgoing or downgoing application messages originating from or destined for an electronic unit for control of a home automation installation by a server Withdrawn EP3238383A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1463301A FR3031261B1 (en) 2014-12-24 2014-12-24 METHOD FOR PROCESSING APPLICANT AMOUNTING OR DESCENDING MESSAGES FROM OR TO AN ELECTRONIC CONTROL UNIT OF A DOMOTIC INSTALLATION BY A SERVER
PCT/FR2015/053739 WO2016102902A1 (en) 2014-12-24 2015-12-23 Method of processing upgoing or downgoing application messages originating from or destined for an electronic unit for control of a home automation installation by a server

Publications (1)

Publication Number Publication Date
EP3238383A1 true EP3238383A1 (en) 2017-11-01

Family

ID=52627479

Family Applications (1)

Application Number Title Priority Date Filing Date
EP15823712.3A Withdrawn EP3238383A1 (en) 2014-12-24 2015-12-23 Method of processing upgoing or downgoing application messages originating from or destined for an electronic unit for control of a home automation installation by a server

Country Status (4)

Country Link
US (1) US20170366645A1 (en)
EP (1) EP3238383A1 (en)
FR (1) FR3031261B1 (en)
WO (1) WO2016102902A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11909849B2 (en) 2018-09-11 2024-02-20 Stmicroelectronics S.R.L. Method of communicating information and corresponding device and system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812951A (en) * 1994-11-23 1998-09-22 Hughes Electronics Corporation Wireless personal communication system
US7006530B2 (en) * 2000-12-22 2006-02-28 Wi-Lan, Inc. Method and system for adaptively obtaining bandwidth allocation requests
TW200408242A (en) * 2002-09-06 2004-05-16 Matsushita Electric Ind Co Ltd Home terminal apparatus and communication system
CN101027875B (en) * 2004-03-26 2010-06-16 拉霍亚网络公司 System and method for scalable multifunctional network communication
US7421501B2 (en) * 2005-02-04 2008-09-02 Microsoft Corporation Queued sessions for communicating correlated messages over a network
US7706368B2 (en) * 2007-04-06 2010-04-27 Research In Motion Limited System and method for correlating messages within a wireless transaction
FR3000336A1 (en) * 2012-12-20 2014-06-27 France Telecom MECHANISM FOR MANAGING A COMMUNICATION SESSION
US9544235B2 (en) * 2013-10-17 2017-01-10 North Carolina State University Scaling WiFi performance for large-audience environments via access points

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2016102902A1 *

Also Published As

Publication number Publication date
FR3031261B1 (en) 2017-01-13
WO2016102902A1 (en) 2016-06-30
US20170366645A1 (en) 2017-12-21
FR3031261A1 (en) 2016-07-01

Similar Documents

Publication Publication Date Title
EP3238384A1 (en) Method of transmitting data between a server and an electronic unit for control of a home automation installation
EP2885899B1 (en) Device and method for unidirectional data transfer
EP3563556B1 (en) Methods for remotely configuring access to, controlling and monitoring at least one home automation device forming part of a home automation installation
WO2012131275A2 (en) Incoming redirection mechanism on a reverse proxy
BE1023440B1 (en) Multi-channel video door entry system with access to advanced digital services
WO2018122509A1 (en) Method for configuring access to, remote controlling, and monitoring at least one home automation device forming part of a home automation installation
EP3734901A1 (en) Method for secure data transmission
CN113747192B (en) Live broadcast control method and device, electronic equipment and storage medium
WO2016102902A1 (en) Method of processing upgoing or downgoing application messages originating from or destined for an electronic unit for control of a home automation installation by a server
FR2946164A1 (en) METHOD FOR DOWNLOADING LARGE DATA DATA TO A LARGE NUMBER OF NETWORKED NETWORK MACHINES FROM A SINGLE SERVER
EP3622688B1 (en) Singularization of frames to be emitted by a connected object and blocking of retransmitted frames on a low consumption wireless communication network
EP2979435B1 (en) Method for processing data of a social network user
EP4256830A1 (en) Method for managing requests to access a local communication network, method for processing such requests, method for requesting access to a local communication network, and corresponding devices, management platform, gateway, user terminal, system and computer programs
EP3709185A1 (en) Method for optimising data exchange in a connected object infrastructure
EP2614630B1 (en) Processing of data for the notification of a device
EP2808819B1 (en) Method for updating certificates in a portable device
EP2911365B1 (en) Method and system for protecting transactions offered by a plurality of services between a mobile device of a user and an acceptance point
EP2525525B1 (en) Method, computer programme and cooptation device enabling a service subscriber to share said service with another user
EP3360293A1 (en) Means for managing access to data
EP3224994A1 (en) Message notification method
EP2667574B1 (en) Method and device for securing the exchange of messages transmitted in an interconnection network
FR3097666A1 (en) Document authentication data storage method
EP1858224A1 (en) Method of setting up virtual private networks and remote access control
WO2007057621A1 (en) Controllable information diffusion method
FR3061385A1 (en) SECURE ACCESS DEVICE

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20170621

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
RIC1 Information provided on ipc code assigned before grant

Ipc: H04L 12/911 20130101ALI20190307BHEP

Ipc: H04L 29/06 20060101ALI20190307BHEP

Ipc: H04L 12/28 20060101AFI20190307BHEP

Ipc: H04L 29/08 20060101ALI20190307BHEP

17Q First examination report despatched

Effective date: 20190514

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20190925