WO2019185552A1 - Communication method - Google Patents

Communication method Download PDF

Info

Publication number
WO2019185552A1
WO2019185552A1 PCT/EP2019/057456 EP2019057456W WO2019185552A1 WO 2019185552 A1 WO2019185552 A1 WO 2019185552A1 EP 2019057456 W EP2019057456 W EP 2019057456W WO 2019185552 A1 WO2019185552 A1 WO 2019185552A1
Authority
WO
WIPO (PCT)
Prior art keywords
gateway
gateways
subset
terminal
terminals
Prior art date
Application number
PCT/EP2019/057456
Other languages
French (fr)
Inventor
Henri Teboulle
Marc Le Gourrierec
Original Assignee
Sagemcom Energy & Telecom 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
Priority claimed from FR1852801A external-priority patent/FR3073109A1/en
Application filed by Sagemcom Energy & Telecom Sas filed Critical Sagemcom Energy & Telecom Sas
Priority to US17/043,380 priority Critical patent/US11089592B2/en
Priority to CN201980033970.2A priority patent/CN112154689B/en
Priority to EP19712213.8A priority patent/EP3777308B1/en
Publication of WO2019185552A1 publication Critical patent/WO2019185552A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control

Definitions

  • the invention relates to a communication method, executed in a long-range wireless network and allowing low power consumption, a device and a system implementing the method.
  • LoRa registered trademark
  • ISM Band Industry, Science and Medical
  • LoRa technology is based on a spread spectrum technology to obtain low bit rate communications with good robustness in a particularly noisy ISM band.
  • LoRa network uses a protocol called LoRaWAN.
  • LoRa network is composed of base stations or gateways ("gateways" in English terminology) generally placed on high points to cover a large geographical area. The gateways are able to detect messages transmitted in their area by devices or terminals ("endpoints" in English terminology) and to trace them to at least one server (“LoRa Network Server (LNS)” in English terminology ) who will treat them.
  • LNS Local Area Network Server
  • a terminal wishing to transmit a message (ie data) to the server transmits this message in a so-called rising frame, conforming to the LoRaWAN protocol.
  • the upstream frame is transmitted in multicast mode ("broadcast" in English terminology).
  • This rising frame is received by at least one gateway.
  • Each gateway having received the frame decodes it and retransmits the message to the server in an HTTP request (hypertext transfer protocol, "HyperText Transfer Protocol" in English terminology). If multiple gateways received the frame, the server receives several HTTP requests containing the message. The server must then designate among the gateways having received the uplink, the gateway to be used to relay a response to the message contained in the uplink.
  • the response is transmitted from the server to the designated gateway in an HTTP request and then point-to-point from the designated gateway to the terminal in a LoRaWAN compliant downlink.
  • the designated gateway is the one offering the best transmission quality with the terminal having sent the uplink.
  • a disadvantage of these implementations is that the relay of the responses to rising frames between the server and the terminals is often provided by the same gateways which can cause congestion of the downstream path of these gateways.
  • the gateways are equipments operating in an alternating or half-duplex mode ("half duplex" in English terminology). Therefore, a gateway can not send and receive data from terminals simultaneously.
  • the LoRa gateways have very high emission levels, of the order of +27 dBm, compared to their reception level which can be of the order of -140 dBm.
  • Such a difference between transmission and reception levels implies that a transmission of a message would greatly impede simultaneous reception of a message, although transmissions and receptions use two different frequency bands. This constraint of using bridges operating in half-duplex mode greatly hampers the performance of LoRa networks.
  • a gateway designated by a server to relay a response to a message it has received must transmit the response at a time set by the server. This time is calculated by the server by adding a predefined duration to a time of reception of the uplink containing the message by said gateway.
  • the present invention relates to a communication method, executed in a long-range wireless network and allowing a low power consumption in which terminals communicate with a server via gateways of the present invention.
  • a set of gateways according to a communication technology implying that when the server receives a message from a terminal via a first gateway, it fixes a time at which a gateway must relay a response to said message according to a moment of reception of said message by said first gateway, each gateway being associated with a set of terminals comprising at least one terminal using said gateway to communicate with the server.
  • the method implemented by the server comprises: receiving a request from a first gateway containing a message sent in a frame, said rising frame, by a terminal, said sending terminal; determining a second gateway different from the first gateway to be used to relay a response to said message intended for the sender terminal, the second gateway being determined in a subset of gateways of the set of gateways comprising the first gateway and at least one second gateway, each gateway of the subset being capable of relaying to a terminal a response to a message transmitted in an uplink by said terminal received by any other gateway of said subset, the gateways of the subset having at least one associated terminal in common and being associated with the transmitting terminal; ; transmitting a request containing said response to the second gateway, said response being transmitted by the second gateway to said transmitting terminal in a frame, said downstream frame, at a time indicated in the request, said instant being indicated in a time reference of the first gateway the second gateway taking into account a clock deviation between the first and second gateways to transmit the downlink to said instant.
  • the communication technology is the LoRa technology and each frame exchanged between a gateway and a terminal complies with the LoRaWAN protocol.
  • the set of gateways comprises a plurality of subsets of gateways, each subset being formed by an operator from bridging bridges to relay a response in a downlink to a message. received in an uplink by one of them or by an adaptive subset formation procedure periodically executed under the control of the server with a predefined period.
  • the server transmits to each gateway included in a subset of the characteristics of said subset comprising an identifier for each gateway included in said subset and an identifier for each terminal associated in common between the gateways of the sub-set. -together.
  • the adaptive subset formation procedure includes: classifying the gateway set gateways in descending order of a number of falling frames that each gateway has transmitted during the last predefined period or in descending order a number of upstream frames that each gateway has received during the last predefined period; browse the gateways thus classified in their order of classification and for each gateway, classifying each terminal associated with said gateway in descending order of a number of upstream frames received from said terminal by said gateway during the last predefined period; browse the gateways in their order of classification and for each gateway, define a subset of gateways from said gateway, said gateway, called base gateway, belonging to said subset, the subset definition comprising: as long as a number of terminals in a first set of terminals associated with the subset of gateways being defined is greater than a predefined percentage of a number of terminals of a second set of terminals; terminals associated with the basic gateway: identifying among the gateways thus classified that have not yet been inserted in the subset, a gateway having the most terminals in common with the base gateway
  • the gateways when the gateways are ranked in descending order of the number of falling frames that each gateway has transmitted during the last predefined period, only those gateways that have issued at least a predetermined number of falling frames during the last predefined period are classified, and when the gateways are ranked in descending order of the number of upstream frames that each gateway has received during the last predefined period, only those gateways that have received at least a predetermined number of upstream frames during the last predefined period are classified.
  • this gateway when a gateway has been inserted into a subset formed from a base gateway, this gateway can no longer be inserted into a subset formed from any other base gateways.
  • the adaptive subset formation procedure stops when all the classified gateways have been inserted into a subset or when all the terminals of the network are included in a set of terminals associated with a sub-set. together.
  • the clock difference existing between two gateways is determined by a synchronization procedure, the synchronization procedure being executed by one of the two gateways, called the initiating gateway, in collaboration with the other gateway, said collaborating gateway and comprising: transmitting an uplink to the collaborating gateway, the initiating gateway putting itself on hold for a predetermined period before listening to a response to said uplink frame, said response being transmitted in a frame down by the collaborating gangway after a period equal to the predetermined period following reception of said frame by the collaborating gateway, a first information representative of a moment of reception of said request by the collaborating gateway to which the duration of the predetermined period has been added being inserted in said response by the collaborating gateway; receiving said response and obtaining second information representative of a moment of reception of said response by the second gateway; and, calculating the clock difference between the initiator gateway and the collaborating gateway as a difference between the second and the first information.
  • the synchronization procedure is executed in each subset for each pair of possible gateways of said subset, each gateway of a pair of gateways being alternatively initiator or collaborator, at predefined regular intervals or adaptive intervals of durations dependent on an evolution of the clock deviations over time.
  • the second gateway is randomly determined in the subset of gateways comprising the first gateway or, randomly, among a predefined number of gateways of said subset offering a communication quality with the highest sending terminal among the gateways of said subset.
  • the second gateway is determined by taking into account a counter value representative of a number of falling frames transmitted by the gateways of said subset in response to messages transmitted in upstream frames by terminals.
  • the determined second gateway is associated with the lowest counter value among the counter values associated with the gateways of said subset.
  • the second gateway is determined by performing a selection procedure comprising: preselecting a predefined number of gateways associated with the lowest counter values among the counter values associated with the gateways of said subset; selecting a gateway associated with a value representative of a quality of communication with the sending terminal greater than or equal to a predefined quality threshold among the gateways of the predefined number of preselected gateways, the chosen gateway becoming the second gateway.
  • no gateway of the predefined number of gateways when no gateway of the predefined number of gateways is associated with a value representative of a quality of communication with the sending terminal greater than or equal to the predefined quality threshold, choose a gateway of the associated subset at the lowest counter value among the counter values associated with the gateways of said subset and associated with a value representative of a quality of communication with the transmitting terminal greater than or equal to the predefined quality threshold; and, if no gateway of said subset is associated with a value representative of a quality of communication with the sending terminal greater than or equal to the predefined quality threshold, choosing a gateway associated with the value representative of a quality of communication with the maximum transmitter terminal among the values representative of a quality of communication with the transmitter terminal associated with the gateways of said subset.
  • the method comprises: choosing from the first gateways having reassembled said message to the subscriber; server, a gateway whose reception quality of said frame is greater than or equal to a predefined quality threshold; and, transmitting a request containing said response to the selected gateway, said response being retransmitted by the selected gateway to said transmitting terminal in a downlink.
  • the invention relates to a server-type device included in a long-range wireless network and allowing a low power consumption in which terminals communicate with the server via gateways.
  • a set of gateways according to a communication technology implying that when the server receives a message from a terminal via a first gateway, it fixes a time at which a gateway must relay a response to said message according to a moment of reception of said message by said first gateway, each gateway being associated with a set of terminals comprising at least one terminal using said gateway to communicate with the server.
  • the device comprises: receiving means for receiving a request from a first gateway containing a message sent in a frame, said rising frame, by a terminal, said transmitting terminal; determining means for determining a second gateway different from the first gateway to be used to relay a response to said message intended for the sender terminal, the second gateway being determined in a subset of gateways of the set of gateways comprising the first gateway and at least one second gateway, each gateway of the subset being capable of relaying to a terminal a response to a message transmitted in an upstream frame by said terminal received by any other gateway of said subset, the gateways of the subset having at least one associated terminal in common and being associated with the transmitting terminal; transmission means for transmitting a request containing said response to the second gateway, said response being retransmitted by the second gateway to the transmitting terminal in a so-called downgoing frame at a time indicated in the request, said instant being indicated in a time reference of the first gateway, the second gateway taking into account a clock deviation between the first and second gateways to transmit
  • the invention relates to a system included in a long-range wireless network and allowing a low power consumption comprising a server-type device according to the second aspect, a plurality of terminals and a plurality gateways, each gateway of the subset being capable of relaying to a terminal a response to a message transmitted in a rising frame by said terminal received by any other gateway of said subset, the gateways of the subset having at least one associated terminal in common.
  • the invention relates to a computer program, comprising instructions for implementing, by a device, the method according to the first aspect, when said program is executed by a processor of said device.
  • the invention relates to storage means storing a computer program comprising instructions for implementing, by a device, the method according to the first aspect, when said program is executed by a processor. said device.
  • FIG. 1 schematically illustrates a LoRa network in which the invention is implemented
  • FIG. 2A schematically illustrates a processing module included in a server
  • FIG. 2B schematically illustrates a processing module included in a gateway
  • FIG. 3 schematically illustrates a communication method according to the invention
  • FIG. 4 schematically illustrates a synchronization procedure according to the invention
  • FIG. 5A schematically illustrates a first example of an adaptive procedure for forming subsets of gateways according to the invention
  • FIG. 5B schematically illustrates a second example of an adaptive procedure for forming subsets of gateways according to the invention
  • FIG. 6 schematically illustrates in detail the formation of subsets of gateways.
  • FIG. 7 schematically illustrates a procedure for choosing a gateway to relay a response to a message from a terminal.
  • the invention is described later in a LoRa network context. However, the invention applies in other contexts for all types of long-range and low-power wireless networks in which terminals communicate with a central server via half-duplex gateways.
  • Fig. 1 schematically illustrates an exemplary LoRa 1 network in which the invention is implemented.
  • the LoRa 1 network comprises a server 10, a set of gateways comprising at least two gateways (in Fig. 1 only two gateways 11A and 11B are shown) and at least one terminal (in Fig. 1 only a terminal). 12 is shown).
  • Each gateway communicates with the server 10 via a wired or wireless communication link.
  • the gateway 11 A (respectively the gateway 11B) communicates with the server 10 via a wired or wireless communication link 14A (respectively 14B).
  • each communication between a gateway and a terminal uses a wireless communication link.
  • the gateway 11A (respectively the gateway 11B) communicates with the terminal 12 via a wireless communication link 13A (respectively 13B).
  • the server 10 comprises a processing module 100.
  • Each gateway comprises a processing module.
  • the gateway 11A (respectively 11B) comprises a processing module 110A (respectively 110B).
  • certain gateways may communicate with each other.
  • each gateway wishing to communicate with another gateway uses a feature that is to allow a gateway to pass temporarily for a terminal.
  • the gateways 11A and 11B can communicate with each other via a wireless communication link 15.
  • Fig. 2A schematically illustrates an example of hardware architecture of the processing module 100 included in the centralized server 10.
  • the processing module 100 then comprises, connected by a communication bus 1000: a CPU or CPU ("Central Processing Unit” in English terminology) 1001; random access memory RAM (“Random Access Memory” in English terminology) 1002; a ROM memory ("Read Only Memory” in English terminology) 1003; a storage unit such as a hard disk or a storage medium reader, such as an SD card reader ("Secure Digital" in English terminology) 1004; at least one communication interface 1005 enabling the processing module 100 to communicate with other modules or devices.
  • the communication interface 1005 enables the processing module 100 to communicate with the gateways of the LoRa network 1 such as the gateways 11A and 11B or with remote servers belonging to the cloud (“cloud” in English terminology). .
  • the processor 1001 is capable of executing instructions loaded into the RAM 1002 from the ROM 1003, an external memory (not shown), a storage medium (such as an SD card), or a communication network.
  • the processor 1001 is able to read RAM 1002 instructions and execute them. In one embodiment, these instructions form a computer program causing the processor 1001 to completely or partially implement the methods described below in relation with FIGS. 3, 4, 5A, 5B and 6.
  • Fig. 2B schematically illustrates an example of hardware architecture of the processing module 110A included in the LoRa gateway 11 A.
  • the processing module 110B is identical.
  • the processing module 110A then comprises, connected by a communication bus 1100: a processor or CPU 1101; a random access memory RAM 1102; ROM ROM 1103; a storage unit such as a hard disk or a storage medium reader, such as an SD card reader 1104; at least one communication interface 1105 enabling the processing module 110A to communicate with other modules or devices.
  • the communication interface 1105 enables the processing module 110A to communicate with the server 10, with other gateways of the LoRa network 1 such as the gateway 11B or with terminals of the LoRa network 1 such as the terminal 12.
  • the processor 1101 is capable of executing instructions loaded into the RAM 1002 from the ROM 1003, an external memory (not shown), a storage medium (such as an SD card), or a communication network.
  • the processor 1101 is able to read instructions from RAM 1102 and execute them.
  • these instructions form a computer program causing the processor 1101 to completely or partially implement the methods described hereinafter with reference to FIGS. 3 and 4.
  • the methods described in connection with FIGS. 3, 4, 5A, 5B and 6 can be implemented in software form by executing a set of instructions by a programmable machine, for example a DSP ("Digital Signal Processor” in English terminology) or a microcontroller, or be implemented in form hardware by a machine or a dedicated component, for example an FPGA ("Field Programmable Gate Array” in English terminology) or an ASIC ("Application-Specific Integrated Circuit" in English terminology).
  • a programmable machine for example a DSP ("Digital Signal Processor” in English terminology) or a microcontroller
  • FPGA Field Programmable Gate Array
  • ASIC Application-Specific Integrated Circuit
  • Fig. 3 schematically illustrates a communication method according to the invention.
  • the terminal 12 transmits a LoRaWAN compliant frame to the server 10.
  • This frame called the uplink frame
  • This frame is transmitted in multicast mode so that each gateway in range of the terminal 12 receives this upstream frame.
  • the gateway 11 A called the LM gateway (Uplink, in English terminology), receives each uplink transmitted by the terminal 12.
  • the processing module 110A of the gateway 11A therefore receives the rising frame.
  • a gateway of a LoRa network When a gateway of a LoRa network receives an uplink containing a message destined for a server, it decodes it and inserts the message contained in this uplink into an HTTP request, called a rising HTTP request, and then transmits this rising HTTP request to LoRa network server in point-to-point.
  • the processing module 110A decodes and inserts the message contained in the upstream frame into a rising HTTP request, and then transmits this upstream HTTP request to the server 10 in point-to-point.
  • the request includes information representing a time of reception of the uplink by the gateway 11 A. This information representative of the reception time of the uplink frame is supplied to the processing module 110A by its counting module. . This information representative of the moment of reception of the rising frame has therefore been measured in a time frame of the gateway 11 A.
  • the processing module 100 of the server 10 receives the uplink HTTP request containing the message sent in the uplink by the terminal 12.
  • the processing module 100 determines a second gateway, called LD gateway ("downstream" in English terminology) different from the gateway 11A (ie LM gateway) to be used to relay a response to the content message. in the uplink for the terminal 12.
  • the set of gateways LoRa network 1 is composed of a plurality of subsets of gateways. Each subset of gateways includes gateways capable of relaying to a terminal a response to a contained message in a rising frame, transmitted by said terminal, received by any other gateway of said subset. Each gateway of a subset may alternatively be an LM gateway or an LD gateway. Each gateway of a subset that has received a rising frame is considered to be an LM gateway.
  • Each gateway of a subset relaying a response to a message contained in an uplink received by another gateway of the subset, that is, relaying a response to a message contained in an upstream frame for the account another gateway of the subset, is considered an LD gateway.
  • Each subset therefore comprises at least a first and a second gateway.
  • the first gateway can alternatively be an LM gateway or an LD gateway.
  • the second gateway may be an LD gateway when the first gateway is an LM gateway, or an LM gateway when the first gateway is an LD gateway.
  • Gateways of a subset have at least one associated terminal in common with each other.
  • a gateway is considered to be associated with a terminal when it has received upstream frames from said terminal for a recent period.
  • each gateway of a subset is associated at least with the terminal having sent the uplink received by a gateway LM of the subset.
  • the gateway LD is therefore determined in a subset comprising the gateway 11A and in which each gateway is at least associated with the terminal 12.
  • the determined LD gateway is the gateway 11B. Note that, although the upstream frame was transmitted in multicast mode, the gateway 11B did not necessarily receive this frame.
  • Figs. 5A and 5B two examples of procedures for creating subsets of gateways from the set of gateways LoRa network 1. It is noted that in the invention is the server 10 or a remote server cloud to the request of the server 10 which holds characteristics of each subset.
  • the server 10 (or remote server of the cloud under the control of the server 10) has either defined these subsets, or obtained these subsets during a LoRa 1 network configuration by an operator. These characteristics comprise an identifier for each gateway belonging to said subset and an identifier for each terminal associated in common between all the gateways of said subset.
  • the server 10 transmits the characteristics of each subset to each gateway belonging to said subset each time said subset is defined or updated.
  • the processing module 100 transmits an HTTP request containing said response to the gateway 11B. This request further comprises information representative of a desired transmission time of the downlink corresponding to said request by the gateway 11B.
  • This transmission time is calculated by the processing module 100 with respect to the information representative of the reception time of the uplink by the gateway 11 A.
  • the instant of transmission is thus calculated with respect to a time reference of the gateway 11A (ie of the gateway LM).
  • the processing module 110B of the gateway 11B receives the HTTP request containing said response.
  • the processing module 110B In a step 307, the processing module 110B generates a downlink containing the response and transmits it point-to-point to the terminal 12 at a time corresponding to the information representative of the desired transmission time.
  • the desired transmission time has been calculated with respect to the time reference of the gateway 11 A.
  • the gateway 11B does not operate with the same time reference.
  • the time reference of the gateway 11B is given by the counting module of the processing module 110B, which, although identical to the counting module of the processing module 110A, is generally offset with respect to the module counting module 110A treatment.
  • the processing module 110B takes into account a clock deviation D between the gateway 11A and the gateway 11B. This clock deviation D is obtained by the processing module 110B by regularly implementing a synchronization procedure described hereinafter with reference to FIG. 4.
  • the terminal 12 receives the downlink containing the response to the message contained in the upstream frame.
  • Fig. 4 schematically illustrates a synchronization procedure according to the invention.
  • the synchronization procedure is executed, in each subset, for each possible pair of gateways included in said subset.
  • the synchronization procedure between two gateways of a pair is unidirectional. Indeed, assuming that one of the two gateways of the pair, called initiating gateway, is the one that initiated the synchronization procedure, the synchronization procedure allows the initiating gateway to know the clock difference D between the two bridges of the pair.
  • the other gateway of the pair, said collaborating gateway, not having initiated the synchronization procedure does not know the clock deviation D at the end of the execution of the synchronization procedure. It is therefore necessary to execute the synchronization procedure twice so that the two gateways of a pair know the clock deviation D, each gateway of a pair becoming alternatively initiator and collaborator.
  • This procedure is executed for example at predefined regular intervals of duration T. In an embodiment 70s.
  • the synchronization procedure is executed between the gateways 11A and 11B, the gateway 11B being the one that initiates said procedure.
  • the gateway 11B is the one that initiates said procedure.
  • only the gateway 11B knows the clock deviation D at the end of the execution of the synchronization procedure.
  • the processing module 110B transmits an upstream frame in multicast mode.
  • the gateway 11B behaves like a terminal called TERM l 1B.
  • the upstream frame is considered as an empty frame since it does not contain any useful data but only LoRaWAN compliant header data including an TERM addr address l 1B of the TERM terminal 11B.
  • the processing module 110B listens for a response to its empty uplink in a step 402.
  • the processing module 110A of the gateway 11 A receives the empty rising frame of the gateway 11B.
  • the processing module 110A recognizes the terminal TERM 11B (and therefore the gateway 11 B) with the addr address TERM l 1B contained in the empty uplink.
  • the address addr TERM l 1B is an identifier of the gateway 11B contained in the characteristics of the subset including the gateway 11A transmitted by the server 10 to all the gateways included in this subset.
  • the processing module 110A saves a current value CPRT 110A of its counting module.
  • the current value CPRT 110A is information representative of a time of reception by the gateway 11A of the empty uplink from the TERM terminal 1B (ie of the gateway 11B).
  • a step 405 following reception of the empty uplink, the processing module 110B goes on standby for the duration D.
  • the processing module 110A transmits a response to the empty uplink in a step 406.
  • This response is transmitted in the form of a point-to-point downlink to the gateway 11 B.
  • This response comprises the information representative of the instant of reception by the gateway 11 A of the empty uplink to which the duration D has been added, that is to say CPRT 110A + D.
  • the processing module 110B receives the downlink containing the response.
  • the processing module 110B saves a current value CPRT 110B of its counting module.
  • the current value CPRT 110B is information representative of a time of reception by the gateway 11B of the downlink coming from the gateway 11 A.
  • the processing module 110B calculates a clock deviation D between the clocks of the gateways 11A and 11B:
  • a step 410 the processing module 110B stores the clock deviation D.
  • the clock deviation D is used in the step 307.
  • a step 411 the processing module 110B waits for the duration of the regular preset interval T and then returns to step 400 to update the clock deviation D.
  • the duration of the interval between two launches of the synchronization procedure is not predefined but adaptive.
  • this interval duration, denoted T adap depends on a change in deviations D over time. If the processing module of the initiating gateway (here gateway 110B) finds that an absolute value of the clock deviation
  • the gateway 11B obtains the clock deviation D between the gateway 11A and the gateway 11B.
  • the gateway 11A In order for the gateway 11A to obtain the clock deviation D between the gateway 11 A and the gateway 11B, it must initiate the synchronization procedure and therefore execute the steps 400, 401, 402, 407, 408, 409, 410 and 411, the gateway 11B executing steps 403, 404, 405 and 406.
  • each gateway of a subset implements, via its processing module, a software module (i.e. an application) specific for each other gateway of said subset with which it forms a pair.
  • this software module manages the reception of the empty uplink (step 403), each processing applied following this reception (step 404 and 405) and the transmission (step 406) of the downlink containing the representative information the time of reception of the empty uplink to which the duration D has been added.
  • Each subset of gateways comprises gateways capable of relaying to a terminal a response to a message contained in an upstream frame, transmitted by said terminal, received by any other gateway of said subset.
  • the subsets are obtained during a configuration of the LoRa 1 network by an operator.
  • the operator defines the subsets.
  • the operator forms subsets from bridges which he knows will be able to supplement each other. to relay in a downlink a response to a message received in an upstream frame by one of them.
  • the operator can rely on a geographical position of each gateway.
  • R 10 kilometers
  • This first embodiment besides the fact that it is tedious to implement if the LoRa network comprises a large number of gateways and terminals, is not adaptive. It does not take into account a possible malfunction of a gateway or a change of environment of a gateway (for example a construction of a building in the vicinity of a second gateway that would prevent communications between the first and the next. second gateways or between the second gateway and the terminal having transmitted the upstream frame).
  • each insertion of a new gateway into the LoRa 1 network requires operator intervention to modify the characteristics of at least some subsets.
  • This embodiment can, however, be used when the LoRa 1 network is started when the server 10 has no information on the gateways actually associated with each terminal.
  • Figs. 5A and 5B schematically illustrate a first example and a second example of an adaptive procedure for forming subsets of gateways according to the invention.
  • Each adaptive gateway subsystem training procedure is periodically executed with a period P by the server 10 or by a remote server of the cloud under the control of the server 10.
  • P is for example a period of two hours.
  • the first and second examples of adaptive procedure for subset subsystem formation are adapted to different contexts.
  • the context of the example of FIG. 5A is that of a LoRa network in which, the LoRa network gateways can transmit on the same channels, said gateways can transmit downlink frames to and receive upstream frames of each LoRa network terminal that is within their reach.
  • the context of the example of FIG. 5B is that of a LoRa network in which the LoRa network gateways can not receive upstream frames from each LoRa network terminal that is within their reach.
  • the gateways use a dynamic reception channel which traverses the entire frequency band allocated to LoRa so as to be able to receive terminals that they could not otherwise receive.
  • the server 10 uses information on the requests that it receives from the gateways of the LoRa 1 network or it sends to the LoRa 1 network gateways. This information includes for each request:
  • the LoRa 1 network includes N p gateways.
  • the processing module 100 classifies the LoRa network gateways 1 in decreasing order of a number of falling frames that each gateway has sent to the terminals of the LoRa 1 network during the last period P.
  • the processing module 100 traverses the GWi gateways in ascending order of the index i. For each gateway GW the processing module 100 classifies each terminal associated with the gateway GWi in descending order of a number of upstream frames received from said terminal by said gateway GW L during the last period P. This gives the gateway GW t a set of terminals classified GT L comprising M t terminals associated with the gateway GW t .
  • a step 503 the processing module 100 traverses the GWi gateways in increasing order of the index i, but this time to form the subsets.
  • Fig. 6 schematically illustrates in detail the formation of the subsets corresponding to step 503.
  • a step 600 the processing module 100 initializes a variable i to "1".
  • the variable i makes it possible to traverse the gateways GW L.
  • a gateway GW L is a gateway from which the processing module 100 forms a subset, the gateway GWi belonging to this subset.
  • the processing module also initializes a variable n p 'to the value of the number of gateways to consider N p .
  • a step 601 the processing module 100 initialises a set of terminals GT1 NTER to the set of terminals GT L associated with the gateway GW t .
  • the processing module 100 initializes a variable K to the number of gateways that can be considered to form the subset from the gateway GW t .
  • the variable K is therefore initialized to n p '- 1 because the gateway GW t is removed from the set of gateways that can be considered because by definition it is part of the subset being formed.
  • the processing module 100 identifies, among the remaining K gateways, a gateway GW j having the most terminals in common with the gateway G Wi.
  • the processing module 100 inserts, in a step 604, the gateway GW j into the subset formed from the gateway GW t .
  • the processing module adds an identifier of the gateway GW j to a set of identifiers representing the subset formed from the gateway GW L , this subset comprising an identifier of the gateway G Wi .
  • the processing module 100 resets the set of terminals GT1 NTER as the intersection between the current set of terminals GT1 NTER and the set of terminals GT j associated with the gateway GW j:
  • the processing module 100 continues with a step 607. Otherwise, the processing module continues with a step 609.
  • step 607 the processing module decrements the variable K by one unit to switch to another gateway GW j to be inserted in the subset of gateways formed from the gateway GW t .
  • step 608 If during a step 608 the variable K is equal to zero, the processing module executes step 609. Otherwise, the processing module returns to step 603.
  • step 609 the processing module 100 deletes the terminals belonging to the set of terminals GT1 NTER of all sets of terminals GTi. In this way, the same terminal can not be associated with several subsets.
  • the processing module 100 verifies that following the deletion of the terminals belonging to all the terminals GT [ NTER , there remain terminals in at least two sets GTi. If there are no longer any GT L sets including terminals, this means that all terminals have been associated with a subset. If there is only one set GTi including terminals, it means that we can never associate said terminals to a subset. In one embodiment, for those terminals that are not associated with a subset, the behavior of a conventional LoRa network applies. In these two cases, if there is no more GTi set including terminals or if only a set GT t remains the processing module 100 terminates the algorithm of FIG. 6 in step 613 and thus to the adaptive procedure for forming gate subsets of FIG. 5A.
  • the processing module 100 updates the variables i and n p '.
  • a gateway may appear in more than one subset.
  • the processing module 100 increments the variable i by one unit to switch to another gateway GWi and the variable n p 'remains unchanged.
  • Step 611 is followed by a step 612 in which the processing module 100 checks whether all the bridges from which a subset can be formed were considered. In the embodiment where a gateway can appear in several subsets, the processing module 100 checks whether the variable i is less than N v '. If this is the case, the processing module 100 returns to step 601. Otherwise, the processing module 100 terminates the algorithm of FIG. 6 during a step 613 and therefore to the adaptive procedure for forming gateway subassemblies of FIG. 5A.
  • each of the N v 'gateways is included in a subset, each gateway of a subset being associated with each terminal belonging to the intersection GT [ NTER of sets of terminals GTi associated with each gateway of said subset .
  • a gateway may appear in more than one subset.
  • a gateway GW j when a gateway GW j has been inserted into a subset formed from a gateway GWi during an execution of step 604, this gateway GW j can no longer be inserted into a subscriber. subset formed from all other gateways. In this embodiment, a gateway can therefore appear only in a single subset.
  • the variable i takes a value of an index of a gateway GW L that does not belong to a subset already formed.
  • the variable n p ' takes a value corresponding to a number of gateways included in the N p gateways not appearing in any subset already formed.
  • the processing module 100 checks whether there are at least two gateways that do not appear in any subset already formed.
  • the processing module 100 terminates the algorithm of FIG. 6 in step 613 and thus to the adaptive procedure for forming gate subsets of FIG. 5A.
  • the processing module 100 classifies the LoRa network gateways 1 in descending order of a number of rising frames that each gateway has received from the terminals of the LoRa 1 network during the last period P. Similar to the procedure of FIG. 5A, in one embodiment, the processing module 100 only classifies the gateways that have received at least a predetermined number of upstream frames during the last period P. The other gateways are not considered in the following procedure. It remains then only N p £ N p gateways to consider noted GW L thereafter where i is a variant index of
  • Step 511 is followed by steps 512 and 513 which are strictly identical to steps 502 and 503.
  • each uplink HTTP request transmitted by a gateway GW t containing a message sent in an uplink by a terminal TERM k ( k ranging from "0" to the number of terminals included in the LoRa network 1) further comprises a value q ik representative of a reception quality of said uplink by said gateway GW t .
  • the processing module 100 stores a variable Q ik .
  • the variable Q ik is initialized by the processing module 100 to a value of a predefined quality threshold SQ at the beginning of a predefined period D.
  • the period D is set to the period P. In another embodiment, the period D is independent of the period P and for example equal to "24" hours.
  • the processing module 100 retrieves the value q ik contained in the rising HTTP request and stores this value in the variable Q ik .
  • the processing module 100 therefore stores a value representative of the reception quality of the last uplink received by the gateway GW t of said terminal TERM k .
  • the processing module 100 therefore stores reception quality values Q ik representative of the last information of known quality for couples consisting of a gateway GW t and a terminal TERM k .
  • the processing module 100 when at least one gateway GW t relays in a rising HTTP request a message transmitted in an upstream frame by a TERM terminal k which is not associated with a subset, the processing module 100 chooses among gateways GW t having reassembled said message, a gateway GW L whose reception quality Q ik of said frame is greater than or equal to the predefined quality threshold SQ.
  • the processing module 100 can only choose among the gateways GW t having received the rising frame to relay a response to said message since the gateways GW t having sent a rising HTTP request containing a message from a TERM terminal k that is not associated with any subset is not expected to be synchronized.
  • the choice is made, for example, randomly among the gateways GW t whose reception quality of said frame is greater than or equal to the predefined quality threshold SQ. If no gateway GW L has a reception quality greater than or equal to the predefined quality threshold SQ, the processing module 100 selects the gateway having the highest reception quality.
  • the processing module 100 associates a counter CPT Ri with each gateway GW L of the network LoRa 1.
  • the counter CPT Ri makes it possible to count for each gateway GW a number of transmitted downlink frames. by said gateway GW L in response to messages transmitted in upstream frames by terminals TERM k (ie the number of times that a gateway GW L has been chosen to relay a response to a message transmitted in a rising frame by a terminal TERM k ).
  • each counter CPT Ri is reset at each beginning of period D.
  • a gateway GWi has been chosen to relay a response to a message transmitted in a rising frame by a terminal.
  • the counter CPTRi associated with said gateway GW t is incremented by one unit.
  • the counter embodiment makes it possible to better distribute the load of the transmission of the responses. Indeed, a gateway that has been little used to relay responses to messages transmitted in uplink frames TERM terminals by k , is preferred over another gateway more often used to relay responses.
  • step 304 if the subset of gateways GWi in which has been determined the gateway 11B (ie the LD gateway) comprises a plurality of gateways GWi likely to become an LD gateway on behalf of the gateway 11A (ie the LM gateway), the processing module 100 determines the gateway LD among gateways GWi of the plurality using the counter values CPT Ri associated with each gateway GWi of the plurality. The processing module 100 thus chooses the gateway GW t associated with the lowest counter value CPTR t .
  • the processing module 100 randomly chooses a gateway GW t among the gateways GW t associated with said counter value.
  • the counter CPT Ri of the gateway GW t chosen is then incremented by one unit.
  • Fig. 7 schematically illustrates a second variant of a gateway selection procedure to relay a response to a message from a terminal adapted to the counter embodiment.
  • the method of choice illustrated in FIG. 7 corresponds to a particular implementation of step 304.
  • the subset of gateways in which the LD gateway is to be determined comprises a plurality of gateways capable of becoming an LD gateway on behalf of the LM gateway.
  • the processing module 100 preselects a number L of gateways GfV j .
  • the processing module 100 checks whether at least one of the L gateways GWi preselected is associated with a reception quality value Q ik for an uplink transmitted by the terminal 12 (which then acts as terminal TERM k having transmitted the upstream frame) greater than or equal to the predefined quality threshold SQ.
  • the processing module 100 chooses this gateway to relay a response to the message contained in the rising frame sent by the terminal 12.
  • the processing module 100 randomly selects one of these gateways GM / j to relay a response to the message contained in the uplink sent by the terminal 12.
  • step 702 the processing module 100 increments by one unit the value of the counter CPT Ri of the selected gateway GWi.
  • each preselected GWi gateway is associated with a reception quality value Q ik less than the predefined quality threshold SQ, the processing module 100 proceeds to a step 703.
  • step 703 the processing module 100 determines whether at least one gateway of the subset is associated with a reception quality value Q ik greater than or equal to the predefined quality threshold SQ. If this is the case, the processing module 100 proceeds to a step 705.
  • step 705 the processing module 100 chooses, among the gateways G Wi of the subset, the gateway GW L associated with a reception quality value Q ik greater than or equal to the predefined quality threshold SQ having the value of counter CPT R t the weakest. If the lowest CPTRi counter value is shared by several GW gateways, the processing module 100 randomly chooses a GWi gateway among these gateways. During step 705, the processing module 100 increments the value of the counter CPTRi of the selected gateway GW t by one unit.
  • the processing module 100 executes a step 704.
  • the processing module 100 selects the GWi gateway associated with the highest Q ik value among the gateways of the subset. If the highest Q ik value is shared by several GW gateways, the processing module 100 randomly chooses a GW gateway t among these gateways.
  • the processing module 100 increments by one the value of the counter CPT Ri of the gateway GWi chosen.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Communication method executed in a LoRa network in which terminals communicate with a server by way of gateways from a set of gateways, each gateway being associated with a set of terminals comprising at least one terminal using said gateway to communicate with the server. The method allows a second gateway, in a downlink frame, to relay a response to a message received in an uplink frame by a first gateway, different from the second gateway, even if the second gateway has not received the uplink frame.

Description

PROCEDE DE COMMUNICATION  COMMUNICATION METHOD
L’invention concerne un procédé de communication, exécuté dans un réseau sans fil à grande portée et permettant une faible consommation d’énergie, un dispositif et un système mettant en œuvre le procédé. The invention relates to a communication method, executed in a long-range wireless network and allowing low power consumption, a device and a system implementing the method.
L’Internet se transforme progressivement en un réseau étendu, appelé « Internet des objets », reliant toutes sortes d’objets devenus connectables. De nouveaux besoins en termes de réseaux sont alors apparus, et notamment des besoins en réseaux sans fil ayant une plus grande couverture que des réseaux cellulaires classiques et permettant de limiter une consommation d’énergie des équipements connectés. Parmi ces réseaux sans fil à grande portée et permettant une faible consommation d’énergie (« Low Power Wide Area Network (LPWAN) » en terminologie anglo-saxonne), on peut citer des réseaux basés sur la technologie LoRa (marque déposée) («Long Range » en terminologie anglo-saxonne). La technologie LoRa opère sur des bandes de fréquences connues sous l’appellation « Bande ISM » (Industrie, Science et Médical) comprenant des bandes de fréquences pouvant être utilisées librement pour des applications industrielles, scientifiques et médicales. La technologie LoRa est basée sur une technologie d’étalement de spectre permettant d’obtenir des communications bas débit ayant une bonne robustesse dans une bande ISM particulièrement bruitée.  The Internet is gradually being transformed into an extensive network, called the "Internet of Things", connecting all kinds of objects that have become connectable. New network requirements then emerged, including wireless network requirements with greater coverage than conventional cellular networks and limiting power consumption of connected equipment. Among these wide range and low power Wide Area Network (LPWAN) wireless networks in English terminology are networks based on the LoRa (registered trademark) technology. Long Range "in Anglo-Saxon terminology). LoRa technology operates in frequency bands known as the ISM Band (Industry, Science and Medical) with frequency bands that can be used freely for industrial, scientific and medical applications. LoRa technology is based on a spread spectrum technology to obtain low bit rate communications with good robustness in a particularly noisy ISM band.
Un réseau basé sur la technologie LoRa (appelé « réseau LoRa » par la suite) utilise un protocole appelé LoRaWAN. Un réseau LoRa est composé de stations de base ou passerelles (« gateways » en terminologie anglo-saxonne) généralement placées sur des points hauts afin de couvrir une grande zone géographique. Les passerelles sont aptes à détecter des messages émis dans leur zone par des équipements ou terminaux (« endpoints » en terminologie anglo-saxonne) et de les remonter vers au moins un serveur (« LoRa Network Server (LNS) » en terminologie anglo-saxonne) qui les traitera.  A network based on LoRa technology (called "LoRa network" later) uses a protocol called LoRaWAN. A LoRa network is composed of base stations or gateways ("gateways" in English terminology) generally placed on high points to cover a large geographical area. The gateways are able to detect messages transmitted in their area by devices or terminals ("endpoints" in English terminology) and to trace them to at least one server ("LoRa Network Server (LNS)" in English terminology ) who will treat them.
Dans un fonctionnement classique d’un réseau LoRa, un terminal désirant transmettre un message (i.e. des données) au serveur, transmet ce message dans une trame, dite trame montante, conforme au protocole LoRaWAN. La trame montante est transmise en mode multidiffusion (« broadcast » en terminologie anglo-saxonne). Cette trame montante est reçue par au moins une passerelle. Chaque passerelle ayant reçu la trame la décode et retransmet le message au serveur dans une requête HTTP (protocole de transfert hypertext, « HyperText Transfer Protocol » en terminologie anglo-saxonne). Si plusieurs passerelles ont reçu la trame, le serveur reçoit plusieurs requêtes HTTP contenant le message. Le serveur doit alors désigner parmi les passerelles ayant reçu la trame montante, la passerelle à utiliser pour relayer une réponse au message contenu dans la trame montante. La réponse est transmise du serveur à la passerelle désignée dans une requête HTTP, puis en point à point, de la passerelle désignée au terminal dans une trame descendante conforme au protocole LoRaWAN. Dans une majorité d’implémentations des réseaux LoRa, la passerelle désignée est celle offrant la qualité de transmission la meilleure avec le terminal ayant émis la trame montante. Un inconvénient de ces implémentations est que le relai des réponses à des trames montantes entre le serveur et les terminaux est souvent assuré par les mêmes passerelles ce qui peut provoquer des engorgements de la voie descendante de ces passerelles. In a conventional operation of a LoRa network, a terminal wishing to transmit a message (ie data) to the server, transmits this message in a so-called rising frame, conforming to the LoRaWAN protocol. The upstream frame is transmitted in multicast mode ("broadcast" in English terminology). This rising frame is received by at least one gateway. Each gateway having received the frame decodes it and retransmits the message to the server in an HTTP request (hypertext transfer protocol, "HyperText Transfer Protocol" in English terminology). If multiple gateways received the frame, the server receives several HTTP requests containing the message. The server must then designate among the gateways having received the uplink, the gateway to be used to relay a response to the message contained in the uplink. The response is transmitted from the server to the designated gateway in an HTTP request and then point-to-point from the designated gateway to the terminal in a LoRaWAN compliant downlink. In a majority of implementations of LoRa networks, the designated gateway is the one offering the best transmission quality with the terminal having sent the uplink. A disadvantage of these implementations is that the relay of the responses to rising frames between the server and the terminals is often provided by the same gateways which can cause congestion of the downstream path of these gateways.
Une autre particularité des réseaux LoRa est que les passerelles sont des équipements fonctionnant selon un mode alternat ou semi-duplex (« half duplex » en terminologie anglo-saxonne). Par conséquent, une passerelle ne peut émettre et recevoir des données de terminaux simultanément. En effet, les passerelles LoRa ont des niveaux d’émission très élevés, de Tordre de +27 dBm, par rapport à leur niveau de réception qui peut être de Tordre de -140 dBm. Une telle différence entre les niveaux d’émission et de réception implique qu’une émission d’un message gênerait considérablement une réception simultanée d’un message, bien que les émissions et réceptions utilisent deux bandes de fréquences différentes. Cette contrainte d’utiliser des passerelles fonctionnant en mode semi-duplex nuit fortement aux performances des réseaux LoRa. Une solution possible consisterait à diviser les passerelles en une partie émission et une partie réception et à séparer géographiquement ces deux parties. Cette solution qui permettrait aux passerelles ainsi agencées d’émettre et recevoir simultanément (les passerelles deviendraient ainsi des équipements fonctionnant en mode duplex complet, « full duplex » en terminologie anglo-saxonne) pose un problème de synchronisation entre les deux parties. En effet, une passerelle désignée par un serveur pour relayer une réponse à un message qu’elle a reçu doit transmettre la réponse à un instant fixé par le serveur. Cet instant est calculé par le serveur en ajoutant une durée prédéfinie à un instant de réception de la trame montante contenant le message par ladite passerelle. Mais l’instant d’émission est calculé dans une base temporelle de la partie réception de la passerelle qui, sans synchronisation entre la partie émission et la partie réception de la passerelle, n’est pas connue de la partie émission. Il est courant de solutionner des problèmes de synchronisation entre des équipements distants en insérant dans chaque équipement un module de synchronisation sur une horloge commune tel qu’un module GPS (système de positionnement global, « Global Positioning System » en terminologie anglo- saxonne). Toutefois, insérer un module GPS dans chaque passerelle augmenterait à la fois le coût et la complexité des réseaux. Another particularity of the LoRa networks is that the gateways are equipments operating in an alternating or half-duplex mode ("half duplex" in English terminology). Therefore, a gateway can not send and receive data from terminals simultaneously. Indeed, the LoRa gateways have very high emission levels, of the order of +27 dBm, compared to their reception level which can be of the order of -140 dBm. Such a difference between transmission and reception levels implies that a transmission of a message would greatly impede simultaneous reception of a message, although transmissions and receptions use two different frequency bands. This constraint of using bridges operating in half-duplex mode greatly hampers the performance of LoRa networks. One possible solution would be to divide the gateways into a transmitting and a receiving part and to geographically separate these two parts. This solution which would allow the gateways thus arranged to transmit and receive simultaneously (the gateways would thus become full-duplex equipment operating in "full duplex" in English terminology) poses a problem of synchronization between the two parties. Indeed, a gateway designated by a server to relay a response to a message it has received must transmit the response at a time set by the server. This time is calculated by the server by adding a predefined duration to a time of reception of the uplink containing the message by said gateway. But the moment of emission is calculated in a base time of the reception part of the gateway which, without synchronization between the transmission part and the reception part of the gateway, is not known to the transmission part. It is common to solve synchronization problems between remote equipment by inserting in each equipment a synchronization module on a common clock such as a GPS module (global positioning system, "Global Positioning System" in English terminology). However, inserting a GPS module into each gateway would increase both the cost and the complexity of the networks.
Il est souhaitable de pallier ces inconvénients de l’état de la technique. Il est notamment souhaitable de proposer une méthode qui permette à un réseau LoRa ne comportant que des passerelles fonctionnant en mode semi-duplex d’offrir une fonctionnalité duplex complet, la fonctionnalité duplex complet étant obtenue sans insertion d’un module de synchronisation sur une horloge commune dans chaque passerelle. De plus, il serait souhaitable que cette méthode permette d’éviter que le relai des réponses aux messages des terminaux sollicite toujours les mêmes passerelles.  It is desirable to overcome these disadvantages of the state of the art. In particular, it is desirable to propose a method that allows a LoRa network comprising only half-duplex gateways to offer full duplex functionality, the full duplex functionality being achieved without inserting a synchronization module on a clock. common in each gateway. In addition, it would be desirable for this method to prevent the relay of responses to the messages of the terminals always seeking the same gateways.
Il est par ailleurs souhaitable de proposer une méthode qui soit simple à mettre en œuvre et à faible coût.  It is also desirable to provide a method that is simple to implement and low cost.
Selon un premier aspect de la présente invention, la présente invention concerne un procédé de communication, exécuté dans un réseau sans fil à grande portée et permettant une faible consommation d’énergie dans lequel des terminaux communiquent avec un serveur par l’intermédiaire de passerelles d’un ensemble de passerelles selon une technologie de communication impliquant que lorsque le serveur reçoit un message d’un terminal via une première passerelle, il fixe un instant auquel une passerelle doit relayer une réponse audit message en fonction d’un instant de réception dudit message par ladite première passerelle, chaque passerelle étant associée avec un ensemble de terminaux comprenant au moins un terminal utilisant ladite passerelle pour communiquer avec le serveur. Le procédé mis en œuvre par le serveur comprend : recevoir une requête en provenance d’une première passerelle contenant un message émis dans une trame, dite trame montante, par un terminal, dit terminal émetteur ; déterminer une seconde passerelle différente de la première passerelle à utiliser pour relayer une réponse audit message destinée au terminal émetteur, la seconde passerelle étant déterminée dans un sous-ensemble de passerelles de l’ensemble de passerelles comprenant la première passerelle et au moins une seconde passerelle, chaque passerelle du sous-ensemble étant capable de relayer vers un terminal une réponse à un message transmis dans une trame montante par ledit terminal reçue par n’importe quelle autre passerelle dudit sous-ensemble, les passerelles du sous-ensemble ayant au moins un terminal associé en commun et étant associées avec le terminal émetteur; ; transmettre une requête contenant ladite réponse à la seconde passerelle, ladite réponse étant retransmise par la seconde passerelle audit terminal émetteur dans une trame, dite trame descendante, à un instant indiqué dans la requête, ledit instant étant indiqué dans une référence temporelle de la première passerelle, la deuxième passerelle prenant en compte un écart d’horloge entre la première et la seconde passerelles pour transmettre la trame descendante audit instant. According to a first aspect of the present invention, the present invention relates to a communication method, executed in a long-range wireless network and allowing a low power consumption in which terminals communicate with a server via gateways of the present invention. a set of gateways according to a communication technology implying that when the server receives a message from a terminal via a first gateway, it fixes a time at which a gateway must relay a response to said message according to a moment of reception of said message by said first gateway, each gateway being associated with a set of terminals comprising at least one terminal using said gateway to communicate with the server. The method implemented by the server comprises: receiving a request from a first gateway containing a message sent in a frame, said rising frame, by a terminal, said sending terminal; determining a second gateway different from the first gateway to be used to relay a response to said message intended for the sender terminal, the second gateway being determined in a subset of gateways of the set of gateways comprising the first gateway and at least one second gateway, each gateway of the subset being capable of relaying to a terminal a response to a message transmitted in an uplink by said terminal received by any other gateway of said subset, the gateways of the subset having at least one associated terminal in common and being associated with the transmitting terminal; ; transmitting a request containing said response to the second gateway, said response being transmitted by the second gateway to said transmitting terminal in a frame, said downstream frame, at a time indicated in the request, said instant being indicated in a time reference of the first gateway the second gateway taking into account a clock deviation between the first and second gateways to transmit the downlink to said instant.
Selon un mode de réalisation, la technologie de communication est la technologie LoRa et chaque trame échangée entre une passerelle et un terminal est conforme au protocole LoRaWAN.  According to one embodiment, the communication technology is the LoRa technology and each frame exchanged between a gateway and a terminal complies with the LoRaWAN protocol.
Selon un mode de réalisation, l’ensemble de passerelles comprend une pluralité de sous-ensembles de passerelles, chaque sous-ensemble étant formé par un opérateur à partir de passerelles pouvant se suppléer entre elles pour relayer une réponse dans une trame descendante à un message reçu dans une trame montante par l’une d’entre elles ou par une procédure adaptative de formation des sous-ensembles exécutée périodiquement sous le contrôle du serveur avec une période prédéfinie.  According to one embodiment, the set of gateways comprises a plurality of subsets of gateways, each subset being formed by an operator from bridging bridges to relay a response in a downlink to a message. received in an uplink by one of them or by an adaptive subset formation procedure periodically executed under the control of the server with a predefined period.
Selon un mode de réalisation, le serveur transmet à chaque passerelle comprise dans un sous-ensemble des caractéristiques dudit sous-ensemble comprenant un identifiant pour chaque passerelle comprise dans ledit sous-ensemble et un identifiant pour chaque terminal associé en commun entre les passerelles du sous-ensemble.  According to one embodiment, the server transmits to each gateway included in a subset of the characteristics of said subset comprising an identifier for each gateway included in said subset and an identifier for each terminal associated in common between the gateways of the sub-set. -together.
Selon un mode de réalisation, la procédure adaptative de formation des sous- ensembles comprend : classer les passerelles de l’ensemble de passerelles par ordre décroissant d’un nombre de trames descendantes que chaque passerelle a émises pendant la dernière période prédéfinie ou par ordre décroissant d’un nombre de trames montantes que chaque passerelle a reçues pendant la dernière période prédéfinie ; parcourir les passerelles ainsi classées dans leur ordre de classement et pour chaque passerelle, classer chaque terminal associé avec ladite passerelle par ordre décroissant d’un nombre de trames montantes reçues dudit terminal par ladite passerelle pendant la dernière période prédéfinie ; parcourir les passerelles dans leur ordre de classement et pour chaque passerelle, définir un sous-ensemble de passerelles à partir de ladite passerelle, ladite passerelle, dite passerelle de base, appartenant audit sous-ensemble, la définition du sous-ensemble comprenant : tant qu’un nombre de terminaux dans un premier ensemble de terminaux associés au sous-ensemble de passerelles en cours de définition est supérieur à un pourcentage prédéfini d’un nombre de terminaux d’un deuxième ensemble de terminaux associés à la passerelle de base : identifier parmi les passerelles ainsi classées n’ayant pas encore été insérées dans le sous-ensemble, une passerelle ayant le plus de terminaux en commun avec la passerelle de base ; insérer la passerelle ainsi identifiée dans le sous-ensemble ; et, former le premier ensemble de terminaux comme une intersection entre le deuxième ensemble de terminaux et chaque ensemble de terminaux associé avec une passerelle insérée dans le sous- ensemble ; et, supprimer chaque terminal compris dans le premier ensemble de terminaux des ensembles de terminaux associés aux passerelles ainsi classées. According to one embodiment, the adaptive subset formation procedure includes: classifying the gateway set gateways in descending order of a number of falling frames that each gateway has transmitted during the last predefined period or in descending order a number of upstream frames that each gateway has received during the last predefined period; browse the gateways thus classified in their order of classification and for each gateway, classifying each terminal associated with said gateway in descending order of a number of upstream frames received from said terminal by said gateway during the last predefined period; browse the gateways in their order of classification and for each gateway, define a subset of gateways from said gateway, said gateway, called base gateway, belonging to said subset, the subset definition comprising: as long as a number of terminals in a first set of terminals associated with the subset of gateways being defined is greater than a predefined percentage of a number of terminals of a second set of terminals; terminals associated with the basic gateway: identifying among the gateways thus classified that have not yet been inserted in the subset, a gateway having the most terminals in common with the base gateway; insert the gateway thus identified into the subset; and, forming the first set of terminals as an intersection between the second set of terminals and each set of terminals associated with a gateway inserted in the subset; and, deleting each terminal included in the first set of terminals from the terminal sets associated with the gateways thus classified.
Selon un mode de réalisation, lorsque les passerelles sont classées par ordre décroissant du nombre de trames descendantes que chaque passerelle a émises pendant la dernière période prédéfinie, seules les passerelles qui ont émis au moins un nombre prédéterminé de trames descendantes pendant la dernière période prédéfinie sont classées, et lorsque les passerelles sont classées par ordre décroissant du nombre de trames montantes que chaque passerelle a reçues pendant la dernière période prédéfinie, seules les passerelles qui ont reçu au moins un nombre prédéterminé de trames montantes pendant la dernière période prédéfinie sont classées.  According to one embodiment, when the gateways are ranked in descending order of the number of falling frames that each gateway has transmitted during the last predefined period, only those gateways that have issued at least a predetermined number of falling frames during the last predefined period are classified, and when the gateways are ranked in descending order of the number of upstream frames that each gateway has received during the last predefined period, only those gateways that have received at least a predetermined number of upstream frames during the last predefined period are classified.
Selon un mode de réalisation, lorsqu’une passerelle a été insérée dans un sous- ensemble formé à partir d’une passerelle de base, cette passerelle ne peut plus être insérée dans un sous-ensemble formé à partir de toutes autres passerelles de base.  According to one embodiment, when a gateway has been inserted into a subset formed from a base gateway, this gateway can no longer be inserted into a subset formed from any other base gateways.
Selon un mode de réalisation, la procédure adaptative de formation des sous- ensembles s’arrête lorsque toutes les passerelles classées ont été insérées dans un sous-ensemble ou lorsque tous les terminaux du réseau sont compris dans un ensemble de terminaux associé à un sous-ensemble.  According to one embodiment, the adaptive subset formation procedure stops when all the classified gateways have been inserted into a subset or when all the terminals of the network are included in a set of terminals associated with a sub-set. together.
Selon un mode de réalisation, l’écart d’horloge existant entre deux passerelles est déterminé par une procédure de synchronisation, la procédure de synchronisation étant exécutée par l’une des deux passerelles, dite passerelle initiatrice, en collaboration avec l’autre passerelle, dite passerelle collaboratrice et comprenant : transmettre une trame montante à destination de la passerelle collaboratrice, la passerelle initiatrice se mettant en attente pendant une période prédéterminée avant de se mettre en écoute d’une réponse à ladite trame montante, ladite réponse étant transmise dans une trame descendante par la passerelle collaboratrice après une période égale à la période prédéterminée suivant une réception de ladite trame par la passerelle collaboratrice, une première information représentative d’un instant de réception de ladite requête par la passerelle collaboratrice à laquelle a été ajoutée la durée de la période prédéterminée étant insérée dans ladite réponse par la passerelle collaboratrice ; recevoir ladite réponse et obtenir une deuxième information représentative d’un instant de réception de ladite réponse par la seconde passerelle ; et, calculer l’écart d’horloge entre la passerelle initiatrice et la passerelle collaboratrice comme une différence entre la deuxième et la première informations. According to one embodiment, the clock difference existing between two gateways is determined by a synchronization procedure, the synchronization procedure being executed by one of the two gateways, called the initiating gateway, in collaboration with the other gateway, said collaborating gateway and comprising: transmitting an uplink to the collaborating gateway, the initiating gateway putting itself on hold for a predetermined period before listening to a response to said uplink frame, said response being transmitted in a frame down by the collaborating gangway after a period equal to the predetermined period following reception of said frame by the collaborating gateway, a first information representative of a moment of reception of said request by the collaborating gateway to which the duration of the predetermined period has been added being inserted in said response by the collaborating gateway; receiving said response and obtaining second information representative of a moment of reception of said response by the second gateway; and, calculating the clock difference between the initiator gateway and the collaborating gateway as a difference between the second and the first information.
Selon un mode de réalisation, la procédure de synchronisation est exécutée dans chaque sous-ensemble pour chaque paire de passerelles possibles dudit sous- ensemble, chaque passerelle d’une paire de passerelles étant alternativement initiatrice ou collaboratrice, à intervalles réguliers prédéfinis ou intervalles adaptatifs de durées dépendantes d’une évolution des écarts d’horloge au cours du temps.  According to one embodiment, the synchronization procedure is executed in each subset for each pair of possible gateways of said subset, each gateway of a pair of gateways being alternatively initiator or collaborator, at predefined regular intervals or adaptive intervals of durations dependent on an evolution of the clock deviations over time.
Selon un mode de réalisation, la seconde passerelle est déterminée aléatoirement dans le sous-ensemble de passerelles comprenant la première passerelle ou, aléatoirement parmi un nombre prédéfini de passerelles dudit sous-ensemble offrant une qualité de communication avec le terminal émetteur la plus élevée parmi les passerelles dudit sous-ensemble.  According to one embodiment, the second gateway is randomly determined in the subset of gateways comprising the first gateway or, randomly, among a predefined number of gateways of said subset offering a communication quality with the highest sending terminal among the gateways of said subset.
Selon un mode de réalisation, la seconde passerelle est déterminée en prenant en compte une valeur de compteur représentative d’un nombre de trames descendantes transmises par les passerelles dudit sous-ensemble en réponse à des messages transmis dans des trames montantes par des terminaux.  According to one embodiment, the second gateway is determined by taking into account a counter value representative of a number of falling frames transmitted by the gateways of said subset in response to messages transmitted in upstream frames by terminals.
Selon un mode de réalisation, la seconde passerelle déterminée est associée à la valeur de compteur la plus faible parmi les valeurs de compteur associées aux passerelles dudit sous-ensemble.  According to one embodiment, the determined second gateway is associated with the lowest counter value among the counter values associated with the gateways of said subset.
Selon un mode de réalisation, la seconde passerelle est déterminée en exécutant une procédure de choix comprenant : présélectionner un nombre prédéfini de passerelles associées aux valeurs de compteurs les plus faibles parmi les valeurs de compteurs associées aux passerelles dudit sous-ensemble ; choisir une passerelle associée à une valeur représentative d’une qualité de communication avec le terminal émetteur supérieure ou égale à un seuil de qualité prédéfini parmi les passerelles du nombre prédéfini de passerelles présélectionnées, la passerelle choisie devenant la seconde passerelle. Selon un mode de réalisation, lorsqu’aucune passerelle du nombre prédéfini de passerelles n’est associée à une valeur représentative d’une qualité de communication avec le terminal émetteur supérieure ou égale au seuil de qualité prédéfini, choisir une passerelle du sous-ensemble associée à la valeur de compteur la plus faible parmi les valeurs de compteurs associées aux passerelles dudit sous-ensemble et associée à une valeur représentative d’une qualité de communication avec le terminal émetteur supérieure ou égale au seuil de qualité prédéfini ; et, si aucune passerelle dudit sous- ensemble n’est associée à une valeur représentative d’une qualité de communication avec le terminal émetteur supérieure ou égale au seuil de qualité prédéfini, choisir une passerelle associée à la valeur représentative d’une qualité de communication avec le terminal émetteur maximum parmi les valeurs représentatives d’une qualité de communication avec le terminal émetteur associées aux passerelles dudit sous- ensemble. According to one embodiment, the second gateway is determined by performing a selection procedure comprising: preselecting a predefined number of gateways associated with the lowest counter values among the counter values associated with the gateways of said subset; selecting a gateway associated with a value representative of a quality of communication with the sending terminal greater than or equal to a predefined quality threshold among the gateways of the predefined number of preselected gateways, the chosen gateway becoming the second gateway. According to one embodiment, when no gateway of the predefined number of gateways is associated with a value representative of a quality of communication with the sending terminal greater than or equal to the predefined quality threshold, choose a gateway of the associated subset at the lowest counter value among the counter values associated with the gateways of said subset and associated with a value representative of a quality of communication with the transmitting terminal greater than or equal to the predefined quality threshold; and, if no gateway of said subset is associated with a value representative of a quality of communication with the sending terminal greater than or equal to the predefined quality threshold, choosing a gateway associated with the value representative of a quality of communication with the maximum transmitter terminal among the values representative of a quality of communication with the transmitter terminal associated with the gateways of said subset.
Selon un mode de réalisation, lorsque le serveur reçoit une pluralité de requêtes contenant chacune un même message émis dans une trame montante par un terminal émetteur associé à aucun sous-ensemble, le procédé comprend : choisir parmi les premières passerelles ayant remonté ledit message vers le serveur, une passerelle dont une qualité de réception de ladite trame est supérieure ou égale à un seuil de qualité prédéfini ; et, transmettre une requête contenant ladite réponse à la passerelle choisie, ladite réponse étant retransmise par la passerelle choisie audit terminal émetteur dans une trame descendante.  According to one embodiment, when the server receives a plurality of requests each containing the same message sent in an uplink by a transmitting terminal associated with no subset, the method comprises: choosing from the first gateways having reassembled said message to the subscriber; server, a gateway whose reception quality of said frame is greater than or equal to a predefined quality threshold; and, transmitting a request containing said response to the selected gateway, said response being retransmitted by the selected gateway to said transmitting terminal in a downlink.
Selon un deuxième aspect de l’invention, l’invention concerne un dispositif de type serveur compris dans un réseau sans fil à grande portée et permettant une faible consommation d’énergie dans lequel des terminaux communiquent avec le serveur par l’intermédiaire de passerelles d’un ensemble de passerelles selon une technologie de communication impliquant que lorsque le serveur reçoit un message d’un terminal via une première passerelle, il fixe un instant auquel une passerelle doit relayer une réponse audit message en fonction d’un instant de réception dudit message par ladite première passerelle, chaque passerelle étant associée avec un ensemble de terminaux comprenant au moins un terminal utilisant ladite passerelle pour communiquer avec le serveur. Le dispositif comprend : des moyens de réception pour recevoir une requête en provenance d’une première passerelle contenant un message émis dans une trame, dite trame montante, par un terminal, dit terminal émetteur ; des moyens de détermination pour déterminer une seconde passerelle différente de la première passerelle à utiliser pour relayer une réponse audit message destinée au terminal émetteur, la seconde passerelle étant déterminée dans un sous-ensemble de passerelles de l’ensemble de passerelles comprenant la première passerelle et au moins une seconde passerelle, chaque passerelle du sous-ensemble étant capable de relayer vers un terminal une réponse à un message transmis dans une trame montante par ledit terminal reçue par n’importe quelle autre passerelle dudit sous-ensemble, les passerelles du sous-ensemble ayant au moins un terminal associé en commun et étant associées avec le terminal émetteur ; des moyens de transmission pour transmettre une requête contenant ladite réponse à la seconde passerelle, ladite réponse étant retransmise par la seconde passerelle au terminal émetteur dans une trame dite trame descendante à un instant indiqué dans la requête, ledit instant étant indiqué dans une référence temporelle de la première passerelle, la deuxième passerelle prenant en compte un écart d’horloge entre la première et la seconde passerelles pour transmettre la trame descendante audit instant. According to a second aspect of the invention, the invention relates to a server-type device included in a long-range wireless network and allowing a low power consumption in which terminals communicate with the server via gateways. a set of gateways according to a communication technology implying that when the server receives a message from a terminal via a first gateway, it fixes a time at which a gateway must relay a response to said message according to a moment of reception of said message by said first gateway, each gateway being associated with a set of terminals comprising at least one terminal using said gateway to communicate with the server. The device comprises: receiving means for receiving a request from a first gateway containing a message sent in a frame, said rising frame, by a terminal, said transmitting terminal; determining means for determining a second gateway different from the first gateway to be used to relay a response to said message intended for the sender terminal, the second gateway being determined in a subset of gateways of the set of gateways comprising the first gateway and at least one second gateway, each gateway of the subset being capable of relaying to a terminal a response to a message transmitted in an upstream frame by said terminal received by any other gateway of said subset, the gateways of the subset having at least one associated terminal in common and being associated with the transmitting terminal; transmission means for transmitting a request containing said response to the second gateway, said response being retransmitted by the second gateway to the transmitting terminal in a so-called downgoing frame at a time indicated in the request, said instant being indicated in a time reference of the first gateway, the second gateway taking into account a clock deviation between the first and second gateways to transmit the downlink to said instant.
Selon un troisième aspect de l’invention, l’invention concerne un système compris dans un réseau sans fil à grande portée et permettant une faible consommation d’énergie comprenant un dispositif de type serveur selon le deuxième aspect, une pluralité de terminaux et une pluralité de passerelles, chaque passerelle du sous-ensemble étant capable de relayer vers un terminal une réponse à un message transmis dans une trame montante par ledit terminal reçue par n’importe quelle autre passerelle dudit sous-ensemble, les passerelles du sous-ensemble ayant au moins un terminal associé en commun.  According to a third aspect of the invention, the invention relates to a system included in a long-range wireless network and allowing a low power consumption comprising a server-type device according to the second aspect, a plurality of terminals and a plurality gateways, each gateway of the subset being capable of relaying to a terminal a response to a message transmitted in a rising frame by said terminal received by any other gateway of said subset, the gateways of the subset having at least one associated terminal in common.
Selon un quatrième aspect de l’invention, l’invention concerne un programme d’ordinateur, comprenant des instructions pour mettre en œuvre, par un dispositif, le procédé selon le premier aspect, lorsque ledit programme est exécuté par un processeur dudit dispositif.  According to a fourth aspect of the invention, the invention relates to a computer program, comprising instructions for implementing, by a device, the method according to the first aspect, when said program is executed by a processor of said device.
Selon un cinquième aspect de l’invention, l’invention concerne des moyens de stockage stockant un programme d’ordinateur comprenant des instructions pour mettre en œuvre, par un dispositif, le procédé selon le premier aspect, lorsque ledit programme est exécuté par un processeur dudit dispositif.  According to a fifth aspect of the invention, the invention relates to storage means storing a computer program comprising instructions for implementing, by a device, the method according to the first aspect, when said program is executed by a processor. said device.
Les caractéristiques de l’invention mentionnées ci-dessus, ainsi que d’autres, apparaîtront plus clairement à la lecture de la description suivante d’un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels : - la Fig. 1 illustre schématiquement un réseau LoRa dans lequel est mis en œuvre l’invention ; The characteristics of the invention mentioned above, as well as others, will appear more clearly on reading the following description of an exemplary embodiment, said description being given in relation to the attached drawings, among which: FIG. 1 schematically illustrates a LoRa network in which the invention is implemented;
- la Fig. 2 A illustre schématiquement un module de traitement compris dans un serveur ;  FIG. 2A schematically illustrates a processing module included in a server;
- la Fig. 2B illustre schématiquement un module de traitement compris dans une passerelle ;  FIG. 2B schematically illustrates a processing module included in a gateway;
- la Fig. 3 illustre schématiquement un procédé de communication selon l’invention ;  FIG. 3 schematically illustrates a communication method according to the invention;
- la Fig. 4 illustre schématiquement une procédure de synchronisation selon l’invention ;  FIG. 4 schematically illustrates a synchronization procedure according to the invention;
- la Fig. 5A illustre schématiquement un premier exemple de procédure adaptative de formation de sous-ensembles de passerelles selon l’invention ;  FIG. 5A schematically illustrates a first example of an adaptive procedure for forming subsets of gateways according to the invention;
- la Fig. 5B illustre schématiquement un deuxième exemple de procédure adaptative de formation de sous-ensembles de passerelles selon l’invention ;  FIG. 5B schematically illustrates a second example of an adaptive procedure for forming subsets of gateways according to the invention;
- la Fig. 6 illustre schématiquement en détails la formation des sous-ensembles de passerelles ; et,  FIG. 6 schematically illustrates in detail the formation of subsets of gateways; and,
- la Fig. 7 illustre schématiquement une procédure de choix d’une passerelle devant relayer une réponse à un message émanant d’un terminal.  FIG. 7 schematically illustrates a procedure for choosing a gateway to relay a response to a message from a terminal.
L’invention est décrite par la suite dans un contexte de réseau LoRa. L’invention s’applique toutefois dans d’autres contextes pour tous types de réseaux sans fil à grande portée et permettant une faible consommation d’énergie dans lesquels des terminaux communiquent avec un serveur central via des passerelles semi-duplex.  The invention is described later in a LoRa network context. However, the invention applies in other contexts for all types of long-range and low-power wireless networks in which terminals communicate with a central server via half-duplex gateways.
La Fig. 1 illustre schématiquement un exemple de réseau LoRa 1 dans lequel est mise en œuvre l’invention.  Fig. 1 schematically illustrates an exemplary LoRa 1 network in which the invention is implemented.
Dans l’exemple de la Fig. 1, le réseau LoRa 1 comprend un serveur 10, un ensemble de passerelles comprenant au moins deux passerelles (dans la Fig. 1 seules deux passerelles 11 A et 11B sont représentées) et au moins un terminal (dans la Fig. 1 seul un terminal 12 est représenté). Chaque passerelle communique avec le serveur 10 par l’intermédiaire d’un lien de communication filaire ou sans fil. Par exemple la passerelle 11 A (respectivement la passerelle 11B) communique avec le serveur 10 par l’intermédiaire d’un lien de communication filaire ou sans fil 14A (respectivement 14B). De plus, chaque communication entre une passerelle et un terminal utilise un lien de communication sans fils. Par exemple, la passerelle 11A (respectivement la passerelle 11B) communique avec le terminal 12 par l’intermédiaire d’un lien de communication sans fil 13 A (respectivement 13B). In the example of FIG. 1, the LoRa 1 network comprises a server 10, a set of gateways comprising at least two gateways (in Fig. 1 only two gateways 11A and 11B are shown) and at least one terminal (in Fig. 1 only a terminal). 12 is shown). Each gateway communicates with the server 10 via a wired or wireless communication link. For example the gateway 11 A (respectively the gateway 11B) communicates with the server 10 via a wired or wireless communication link 14A (respectively 14B). In addition, each communication between a gateway and a terminal uses a wireless communication link. For example, the gateway 11A (respectively the gateway 11B) communicates with the terminal 12 via a wireless communication link 13A (respectively 13B).
Le serveur 10 comprend un module de traitement 100. Chaque passerelle comprend un module de traitement. Par exemple, la passerelle 11A (respectivement 11B) comprend un module de traitement 110A (respectivement 110B).  The server 10 comprises a processing module 100. Each gateway comprises a processing module. For example, the gateway 11A (respectively 11B) comprises a processing module 110A (respectively 110B).
Dans un mode de réalisation, certaines passerelles peuvent communiquer entre elles. Pour ce faire, chaque passerelle souhaitant communiquer avec une autre passerelle utilise une fonctionnalité qui est de permettre à une passerelle de se faire passer temporairement pour un terminal. Par exemple, les passerelles 11A et 11B peuvent communiquer entre elles par l’intermédiaire d’un lien de communication sans fil 15.  In one embodiment, certain gateways may communicate with each other. To do this, each gateway wishing to communicate with another gateway uses a feature that is to allow a gateway to pass temporarily for a terminal. For example, the gateways 11A and 11B can communicate with each other via a wireless communication link 15.
On note que dans le réseau LoRa 1, les communications entre les terminaux et les passerelles et les communications entre passerelles utilisent des trames compatibles avec le protocole LoRaWAN. Le document LoRaWAN 1.1 (« draft LoRaWAN 1.1 » en terminologie anglo-saxonne) d’août 2015 définit les communications entre les terminaux et les passerelles d’un réseau LoRa.  It should be noted that in the LoRa 1 network, the communications between the terminals and the gateways and the communications between the gateways use frames compatible with the LoRaWAN protocol. The document LoRaWAN 1.1 ("draft LoRaWAN 1.1" in English terminology) of August 2015 defines the communications between the terminals and the gateways of a LoRa network.
La Fig. 2A illustre schématiquement un exemple d’architecture matérielle du module de traitement 100 compris dans le serveur centralisé 10.  Fig. 2A schematically illustrates an example of hardware architecture of the processing module 100 included in the centralized server 10.
Selon l’exemple d’architecture matérielle représenté à la Fig. 2A, le module de traitement 100 comprend alors, reliés par un bus de communication 1000 : un processeur ou CPU (« Central Processing Unit » en terminologie anglo-saxonne) 1001 ; une mémoire vive RAM (« Random Access Memory » en terminologie anglo- saxonne) 1002 ; une mémoire morte ROM (« Read Only Memory » en terminologie anglo-saxonne) 1003 ; une unité de stockage telle qu’un disque dur ou un lecteur de support de stockage, tel qu’un lecteur de cartes SD (« Secure Digital » en terminologie anglo-saxonne) 1004 ; au moins une interface de communication 1005 permettant au module de traitement 100 de communiquer avec d’autres modules ou dispositifs. Par exemple, l’interface de communication 1005 permet au module de traitement 100 de communiquer avec les passerelles du réseau LoRa 1 telles que les passerelles 11 A et 11B ou avec des serveurs distants appartenant au nuage (« cloud » en terminologie anglo-saxonne).  According to the example of hardware architecture shown in FIG. 2A, the processing module 100 then comprises, connected by a communication bus 1000: a CPU or CPU ("Central Processing Unit" in English terminology) 1001; random access memory RAM ("Random Access Memory" in English terminology) 1002; a ROM memory ("Read Only Memory" in English terminology) 1003; a storage unit such as a hard disk or a storage medium reader, such as an SD card reader ("Secure Digital" in English terminology) 1004; at least one communication interface 1005 enabling the processing module 100 to communicate with other modules or devices. For example, the communication interface 1005 enables the processing module 100 to communicate with the gateways of the LoRa network 1 such as the gateways 11A and 11B or with remote servers belonging to the cloud ("cloud" in English terminology). .
Le processeur 1001 est capable d’exécuter des instructions chargées dans la RAM 1002 à partir de la ROM 1003, d’une mémoire externe (non représentée), d’un support de stockage (tel qu’une carte SD), ou d’un réseau de communication. Lorsque le serveur 10 est mis sous tension, le processeur 1001 est capable de lire de la RAM 1002 des instructions et de les exécuter. Dans un mode de réalisation, ces instructions forment un programme d’ordinateur causant la mise en œuvre complète ou partielle, par le processeur 1001, des procédés décrits ci-après en relation avec les Figs. 3, 4, 5A, 5B et 6. The processor 1001 is capable of executing instructions loaded into the RAM 1002 from the ROM 1003, an external memory (not shown), a storage medium (such as an SD card), or a communication network. When the server 10 is powered up, the processor 1001 is able to read RAM 1002 instructions and execute them. In one embodiment, these instructions form a computer program causing the processor 1001 to completely or partially implement the methods described below in relation with FIGS. 3, 4, 5A, 5B and 6.
La Fig. 2B illustre schématiquement un exemple d’architecture matérielle du module de traitement 110A compris dans la passerelle LoRa 11 A. Le module de traitement 110B est identique.  Fig. 2B schematically illustrates an example of hardware architecture of the processing module 110A included in the LoRa gateway 11 A. The processing module 110B is identical.
Selon l’exemple d’architecture matérielle représenté à la Fig. 2B, le module de traitement 110A comprend alors, reliés par un bus de communication 1100 : un processeur ou CPU 1101 ; une mémoire vive RAM 1102 ; une mémoire morte ROM 1103 ; une unité de stockage telle qu’un disque dur ou un lecteur de support de stockage, tel qu’un lecteur de cartes SD 1104 ; au moins une interface de communication 1105 permettant au module de traitement 110A de communiquer avec d’autres modules ou dispositifs. Par exemple l’interface de communication 1105 permet au module de traitement 110A de communiquer avec le serveur 10, avec d’autres passerelles du réseau LoRa 1 telles que la passerelle 11B ou avec des terminaux du réseau LoRa 1 tels que le terminal 12. Dans un mode de réalisation, le module de traitement 110A comprend en outre un module de comptage apte à fournir une valeur de comptage CPRTi codée sur « 32 » bits et incrémentée d’une unité à chaque microseconde, i étant un identifiant du module de traitement (i.e. i= 110A pour le module de comptage du module de traitement 110A).  According to the example of hardware architecture shown in FIG. 2B, the processing module 110A then comprises, connected by a communication bus 1100: a processor or CPU 1101; a random access memory RAM 1102; ROM ROM 1103; a storage unit such as a hard disk or a storage medium reader, such as an SD card reader 1104; at least one communication interface 1105 enabling the processing module 110A to communicate with other modules or devices. For example, the communication interface 1105 enables the processing module 110A to communicate with the server 10, with other gateways of the LoRa network 1 such as the gateway 11B or with terminals of the LoRa network 1 such as the terminal 12. one embodiment, the processing module 110A further comprises a counting module capable of supplying a count value CPRTi encoded on "32" bits and incremented by one unit at each microsecond, where i is an identifier of the processing module ( ie i = 110A for the count module of the processing module 110A).
Le processeur 1101 est capable d’exécuter des instructions chargées dans la RAM 1002 à partir de la ROM 1003, d’une mémoire externe (non représentée), d’un support de stockage (tel qu’une carte SD), ou d’un réseau de communication. Lorsque la passerelle 11A est mise sous tension, le processeur 1101 est capable de lire de la RAM 1102 des instructions et de les exécuter. Dans un mode de réalisation, ces instructions forment un programme d’ordinateur causant la mise en œuvre complète ou partielle, par le processeur 1101, des procédés décrits ci-après en relation avec les Figs. 3 et 4.  The processor 1101 is capable of executing instructions loaded into the RAM 1002 from the ROM 1003, an external memory (not shown), a storage medium (such as an SD card), or a communication network. When the gateway 11A is turned on, the processor 1101 is able to read instructions from RAM 1102 and execute them. In one embodiment, these instructions form a computer program causing the processor 1101 to completely or partially implement the methods described hereinafter with reference to FIGS. 3 and 4.
Les procédés décrits en relation avec les Figs. 3, 4, 5 A, 5B et 6 peuvent être implémentés sous forme logicielle par exécution d’un ensemble d’instructions par une machine programmable, par exemple un DSP (« Digital Signal Processor » en terminologie anglo-saxonne) ou un microcontrôleur, ou être implémentés sous forme matérielle par une machine ou un composant dédié, par exemple un FPGA (« Field- Programmable Gâte Array » en terminologie anglo-saxonne) ou un ASIC (« Application-Specific Integrated Circuit » en terminologie anglo-saxonne). The methods described in connection with FIGS. 3, 4, 5A, 5B and 6 can be implemented in software form by executing a set of instructions by a programmable machine, for example a DSP ("Digital Signal Processor" in English terminology) or a microcontroller, or be implemented in form hardware by a machine or a dedicated component, for example an FPGA ("Field Programmable Gate Array" in English terminology) or an ASIC ("Application-Specific Integrated Circuit" in English terminology).
La Fig. 3 illustre schématiquement un procédé de communication selon l’invention.  Fig. 3 schematically illustrates a communication method according to the invention.
Dans une étape 300, le terminal 12 émet une trame conforme au protocole LoRaWAN à destination du serveur 10. Cette trame, dite trame montante, est transmise en mode multidiffusion de sorte que chaque passerelle à portée du terminal 12 reçoit cette trame montante. Dans l’exemple du réseau LoRa 1, on suppose que la passerelle 11 A, dite passerelle LM (Liaison Montante, « Uplink » en terminologie anglo-saxonne), reçoit chaque trame montante transmise par le terminal 12.  In a step 300, the terminal 12 transmits a LoRaWAN compliant frame to the server 10. This frame, called the uplink frame, is transmitted in multicast mode so that each gateway in range of the terminal 12 receives this upstream frame. In the example of the LoRa 1 network, it is assumed that the gateway 11 A, called the LM gateway (Uplink, in English terminology), receives each uplink transmitted by the terminal 12.
Dans une étape 301, le module de traitement 110A de la passerelle 11A reçoit donc la trame montante.  In a step 301, the processing module 110A of the gateway 11A therefore receives the rising frame.
Lorsqu’une passerelle d’un réseau LoRa reçoit une trame montante contenant un message destiné à un serveur, elle la décode et insère le message contenu dans cette trame montante dans une requête HTTP, dite requête HTTP montante, puis transmet cette requête HTTP montante au serveur du réseau LoRa en point à point. Lors d’une étape 302, la module de traitement 110A décode et insère le message contenu dans la trame montante dans une requête HTTP montante, puis transmet cette requête HTTP montante au serveur 10 en point à point. En outre, la requête comprend une information représentative d’un instant de réception de la trame montante par la passerelle 11 A. Cette information représentative de l’instant de réception de la trame montante est fournie au module de traitement 110A par son module de comptage. Cette information représentative de l’instant de réception de la trame montante a donc été mesurée dans un référentiel temporel de la passerelle 11 A.  When a gateway of a LoRa network receives an uplink containing a message destined for a server, it decodes it and inserts the message contained in this uplink into an HTTP request, called a rising HTTP request, and then transmits this rising HTTP request to LoRa network server in point-to-point. In a step 302, the processing module 110A decodes and inserts the message contained in the upstream frame into a rising HTTP request, and then transmits this upstream HTTP request to the server 10 in point-to-point. In addition, the request includes information representing a time of reception of the uplink by the gateway 11 A. This information representative of the reception time of the uplink frame is supplied to the processing module 110A by its counting module. . This information representative of the moment of reception of the rising frame has therefore been measured in a time frame of the gateway 11 A.
Dans une étape 303, le module de traitement 100 du serveur 10 reçoit la requête HTTP montante contenant le message émis dans la trame montante par le terminal 12.  In a step 303, the processing module 100 of the server 10 receives the uplink HTTP request containing the message sent in the uplink by the terminal 12.
Dans une étape 304, le module de traitement 100 détermine une seconde passerelle, dite passerelle LD (Liaison Descendante, « downstream » en terminologie anglo-saxonne) différente de la passerelle 11A (i.e. passerelle LM) à utiliser pour relayer une réponse au message contenu dans la trame montante destinée au terminal 12. L’ensemble des passerelles du réseau LoRa 1 est composé d’une pluralité de sous- ensembles de passerelles. Chaque sous-ensemble de passerelles comprend des passerelles capables de relayer vers un terminal une réponse à un message contenu dans une trame montante, transmise par ledit terminal, reçue par n’importe quelle autre passerelle dudit sous-ensemble. Chaque passerelle d’un sous-ensemble peut être alternativement une passerelle LM ou une passerelle LD. Chaque passerelle d’un sous-ensemble ayant reçu une trame montante est considérée comme une passerelle LM. Chaque passerelle d’un sous-ensemble relayant une réponse à un message contenu dans une trame montante reçue par une autre passerelle du sous-ensemble, c’est-à-dire relayant une réponse à un message contenu dans une trame montante pour le compte d’une autre passerelle du sous-ensemble, est considérée comme une passerelle LD. Chaque sous-ensemble comprend donc au moins une première et une seconde passerelles. La première passerelle peut être alternativement une passerelle LM ou une passerelle LD. La seconde passerelle peut être une passerelle LD quand la première passerelle est une passerelle LM, ou une passerelle LM lorsque la première passerelle est une passerelle LD. Les passerelles d’un sous-ensemble ont au moins un terminal associé en commun entre elles. Une passerelle est considérée comme associée à un terminal lorsqu’elle a reçu des trames montantes en provenance dudit terminal pendant une période récente. Par ailleurs, chaque passerelle d’un sous- ensemble est associée au moins au terminal ayant émis la trame montante reçue par une passerelle LM du sous-ensemble. Lors de l’étape 304, la passerelle LD est donc déterminée dans un sous-ensemble comprenant la passerelle 11A et dans lequel chaque passerelle est au moins associée au terminal 12. Dans l’exemple décrit en relation avec la Fig. 3, la passerelle LD déterminée est la passerelle 11B. On note que, bien que la trame montante ait été transmise en mode multidiffusion, la passerelle 11B n’a pas forcément reçu cette trame. Nous décrivons par la suite en relation avec les Figs. 5A et 5B deux exemples de procédures permettant de créer des sous-ensembles de passerelles à partir de l’ensemble de passerelles du réseau LoRa 1. On note que dans l’invention, c’est le serveur 10 ou un serveur distant du nuage à la demande du serveur 10 qui détient des caractéristiques de chaque sous-ensemble. Le serveur 10 (ou serveur distant du nuage sous le contrôle du serveur 10) a soit défini ces sous- ensembles, soit obtenu ces sous-ensembles lors d’une configuration du réseau LoRa 1 par un opérateur. Ces caractéristiques comprennent un identifiant pour chaque passerelle appartenant audit sous-ensemble et un identifiant pour chaque terminal associé en commun entre toutes les passerelles dudit-sous-ensemble. Le serveur 10 transmet les caractéristiques de chaque sous-ensemble à chaque passerelle appartenant audit sous-ensemble à chaque fois que ledit sous-ensemble est défini ou mis à jour. Dans une étape 305, le module de traitement 100 transmet une requête HTTP contenant ladite réponse à la passerelle 11B. Cette requête comprend en outre une information représentative d’un instant de transmission souhaité de la trame descendante correspondant à ladite requête par la passerelle 11B. Cet instant de transmission est calculé par le module de traitement 100 par rapport à l’information représentative de l’instant de réception de la trame montante par la passerelle 11 A. Ce calcul consiste à ajouter une durée prédéfinie D audit instant de réception. Par exemple, D=ls. L’instant de transmission est donc calculé par rapport à une référence temporelle de la passerelle 11A (i.e. de la passerelle LM). In a step 304, the processing module 100 determines a second gateway, called LD gateway ("downstream" in English terminology) different from the gateway 11A (ie LM gateway) to be used to relay a response to the content message. in the uplink for the terminal 12. The set of gateways LoRa network 1 is composed of a plurality of subsets of gateways. Each subset of gateways includes gateways capable of relaying to a terminal a response to a contained message in a rising frame, transmitted by said terminal, received by any other gateway of said subset. Each gateway of a subset may alternatively be an LM gateway or an LD gateway. Each gateway of a subset that has received a rising frame is considered to be an LM gateway. Each gateway of a subset relaying a response to a message contained in an uplink received by another gateway of the subset, that is, relaying a response to a message contained in an upstream frame for the account another gateway of the subset, is considered an LD gateway. Each subset therefore comprises at least a first and a second gateway. The first gateway can alternatively be an LM gateway or an LD gateway. The second gateway may be an LD gateway when the first gateway is an LM gateway, or an LM gateway when the first gateway is an LD gateway. Gateways of a subset have at least one associated terminal in common with each other. A gateway is considered to be associated with a terminal when it has received upstream frames from said terminal for a recent period. Furthermore, each gateway of a subset is associated at least with the terminal having sent the uplink received by a gateway LM of the subset. In step 304, the gateway LD is therefore determined in a subset comprising the gateway 11A and in which each gateway is at least associated with the terminal 12. In the example described with reference to FIG. 3, the determined LD gateway is the gateway 11B. Note that, although the upstream frame was transmitted in multicast mode, the gateway 11B did not necessarily receive this frame. We describe later in connection with Figs. 5A and 5B two examples of procedures for creating subsets of gateways from the set of gateways LoRa network 1. It is noted that in the invention is the server 10 or a remote server cloud to the request of the server 10 which holds characteristics of each subset. The server 10 (or remote server of the cloud under the control of the server 10) has either defined these subsets, or obtained these subsets during a LoRa 1 network configuration by an operator. These characteristics comprise an identifier for each gateway belonging to said subset and an identifier for each terminal associated in common between all the gateways of said subset. The server 10 transmits the characteristics of each subset to each gateway belonging to said subset each time said subset is defined or updated. In a step 305, the processing module 100 transmits an HTTP request containing said response to the gateway 11B. This request further comprises information representative of a desired transmission time of the downlink corresponding to said request by the gateway 11B. This transmission time is calculated by the processing module 100 with respect to the information representative of the reception time of the uplink by the gateway 11 A. This calculation consists in adding a predefined duration D to said reception time. For example, D = ls. The instant of transmission is thus calculated with respect to a time reference of the gateway 11A (ie of the gateway LM).
Dans une étape 306, le module de traitement 110B de la passerelle 11B reçoit la requête HTTP contenant ladite réponse.  In a step 306, the processing module 110B of the gateway 11B receives the HTTP request containing said response.
Dans une étape 307, le module de traitement 110B génère une trame descendante contenant la réponse et la transmet en point à point au terminal 12 à un instant correspondant à l’information représentative de l’instant de transmission souhaité. Comme décrit plus haut, l’instant de transmission souhaité a été calculé par rapport à la référence temporelle de la passerelle 11 A. Or la passerelle 11B ne fonctionne pas avec la même référence temporelle. En effet, la référence temporelle de la passerelle 11B est donnée par le module de comptage du module de traitement 110B, qui, bien qu’identique au module de comptage du module de traitement 110A, est généralement décalé par rapport au module de comptage du module de traitement 110A. Par ailleurs, même si les deux modules de comptage avaient été synchronisés à un moment, ils peuvent l’un et l’autre subir des dérives différentes dans le temps. Pour compenser ce décalage, le module de traitement 110B prend en compte un écart d’horloge D entre la passerelle 11A et la passerelle 11B. Cet écart d’horloge D est obtenu par le module de traitement 110B en mettant en œuvre régulièrement une procédure de synchronisation décrite par la suite en relation avec la Fig. 4.  In a step 307, the processing module 110B generates a downlink containing the response and transmits it point-to-point to the terminal 12 at a time corresponding to the information representative of the desired transmission time. As described above, the desired transmission time has been calculated with respect to the time reference of the gateway 11 A. Or the gateway 11B does not operate with the same time reference. Indeed, the time reference of the gateway 11B is given by the counting module of the processing module 110B, which, although identical to the counting module of the processing module 110A, is generally offset with respect to the module counting module 110A treatment. Moreover, even if the two counting modules had been synchronized at a time, they can both undergo different drifts over time. To compensate for this offset, the processing module 110B takes into account a clock deviation D between the gateway 11A and the gateway 11B. This clock deviation D is obtained by the processing module 110B by regularly implementing a synchronization procedure described hereinafter with reference to FIG. 4.
Dans une étape 308, le terminal 12 reçoit la trame descendante contenant la réponse au message contenu dans la trame montante.  In a step 308, the terminal 12 receives the downlink containing the response to the message contained in the upstream frame.
Dans un mode de réalisation, lors de l’étape 304, si le sous-ensemble de passerelles dans lequel a été déterminée la passerelle 11B (i.e. la passerelle LD) comprend une pluralité de passerelles susceptibles de devenir une passerelle LD pour le compte de la passerelle 11A (i.e. de la passerelle LM), le module de traitement 100 détermine la passerelle LD parmi les passerelles de la pluralité de manière aléatoire. Dans un mode de réalisation, lors de l’étape 304, si le sous-ensemble de passerelles dans lequel a été déterminé la passerelle 11B comprend une pluralité de passerelles susceptibles de devenir une passerelle LD pour le compte de la passerelle 11 A, le module de traitement 100 détermine la passerelle LD parmi un nombre n de passerelles de la pluralité offrant la meilleure qualité de communication avec le terminal 12 de manière aléatoire. Par exemple, si le sous-ensemble comprend un nombre m de passerelles, m étant égal à 100, n= 10. In one embodiment, during step 304, if the subset of gateways in which the gateway 11B (ie the LD gateway) has been determined comprises a plurality of gateways capable of becoming an LD gateway on behalf of the gateway 11A (ie the LM gateway), the processing module 100 determines the LD gateway among the gateways of the plurality in a random manner. In one embodiment, during step 304, if the subset of gateways in which the gateway 11B has been determined comprises a plurality of gateways capable of becoming an LD gateway on behalf of the gateway 11A, the module processing 100 determines the gateway LD among n number of gateways of the plurality offering the best quality of communication with the terminal 12 in a random manner. For example, if the subset includes a number m of gateways, m being equal to 100, n = 10.
La Fig. 4 illustre schématiquement une procédure de synchronisation selon l’invention.  Fig. 4 schematically illustrates a synchronization procedure according to the invention.
La procédure de synchronisation est exécutée, dans chaque sous-ensemble, pour chaque paire possible de passerelles comprises dans ledit sous-ensemble. La procédure de synchronisation entre deux passerelles d’une paire est unidirectionnelle. En effet, en supposant qu’une des deux passerelles de la paire, dite passerelle initiatrice, est celle qui a initié la procédure de synchronisation, la procédure de synchronisation permet à la passerelle initiatrice de connaître l’écart d’horloge D existant entre les deux passerelles de la paire. L’autre passerelle de la paire, dite passerelle collaboratrice, n’ayant pas initié la procédure de synchronisation, ne connaît pas l’écart d’horloge D à la fin de l’exécution de la procédure de synchronisation. Il faut donc exécuter deux fois la procédure de synchronisation pour que les deux passerelles d’une paire connaissent l’écart d’horloge D, chaque passerelle d’une paire devenant alternativement initiatrice et collaboratrice. Cette procédure est exécutée par exemple à intervalles réguliers prédéfinis de durée T. Dans un mode de réalisation 7 0s.  The synchronization procedure is executed, in each subset, for each possible pair of gateways included in said subset. The synchronization procedure between two gateways of a pair is unidirectional. Indeed, assuming that one of the two gateways of the pair, called initiating gateway, is the one that initiated the synchronization procedure, the synchronization procedure allows the initiating gateway to know the clock difference D between the two bridges of the pair. The other gateway of the pair, said collaborating gateway, not having initiated the synchronization procedure, does not know the clock deviation D at the end of the execution of the synchronization procedure. It is therefore necessary to execute the synchronization procedure twice so that the two gateways of a pair know the clock deviation D, each gateway of a pair becoming alternatively initiator and collaborator. This procedure is executed for example at predefined regular intervals of duration T. In an embodiment 70s.
Dans la Figure 4, la procédure de synchronisation est exécutée entre les passerelles 11A et 11 B, la passerelle 11B étant celle qui initie ladite procédure. Dans cet exemple donc, seule la passerelle 11B connaît l’écart d’horloge D à la fin de l’exécution de la procédure de synchronisation.  In FIG. 4, the synchronization procedure is executed between the gateways 11A and 11B, the gateway 11B being the one that initiates said procedure. In this example therefore, only the gateway 11B knows the clock deviation D at the end of the execution of the synchronization procedure.
Dans une étape 400, le module de traitement 110B transmet une trame montante en mode multidiffusion. Pour ce faire, la passerelle 11B se comporte comme un terminal appelé TERM l 1B. La trame montante est considérée comme une trame vide puisqu’elle ne contient pas de données utiles mais uniquement des données d’ entêtes conformes au protocole LoRaWAN dont une adresse addr TERM l 1B du terminal TERM 11B. Dans une étape 401, suite à cette transmission, le module de traitement 110B se met en attente pendant une durée D. Dans un mode de réalisation, D=ls. In a step 400, the processing module 110B transmits an upstream frame in multicast mode. To do this, the gateway 11B behaves like a terminal called TERM l 1B. The upstream frame is considered as an empty frame since it does not contain any useful data but only LoRaWAN compliant header data including an TERM addr address l 1B of the TERM terminal 11B. In a step 401, following this transmission, the processing module 110B goes on standby for a duration D. In one embodiment, D = 1 s.
A la fin de la durée D, le module de traitement 110B se met en écoute d’une réponse à sa trame montante vide dans une étape 402.  At the end of the duration D, the processing module 110B listens for a response to its empty uplink in a step 402.
Dans une étape 403, le module de traitement 110A de la passerelle 11 A reçoit la trame montante vide de la passerelle 11B. Le module de traitement 110A reconnaît le terminal TERM 11B (et donc la passerelle 11 B) grâce à l’adresse addr TERM l 1B contenue dans la trame montante vide. En effet, l’adresse addr TERM l 1B est un identifiant de la passerelle 11B contenu dans les caractéristiques du sous-ensemble comprenant la passerelle 11A transmises par le serveur 10 à toutes les passerelles comprises dans ce sous-ensemble.  In a step 403, the processing module 110A of the gateway 11 A receives the empty rising frame of the gateway 11B. The processing module 110A recognizes the terminal TERM 11B (and therefore the gateway 11 B) with the addr address TERM l 1B contained in the empty uplink. Indeed, the address addr TERM l 1B is an identifier of the gateway 11B contained in the characteristics of the subset including the gateway 11A transmitted by the server 10 to all the gateways included in this subset.
Dans une étape 404, le module de traitement 110A sauvegarde une valeur courante CPRT110A de son module de comptage. La valeur courante CPRT110A est une information représentative d’un instant de réception par la passerelle 11A de la trame montante vide provenant du terminal TERM l 1B (i.e. de la passerelle 11B). In a step 404, the processing module 110A saves a current value CPRT 110A of its counting module. The current value CPRT 110A is information representative of a time of reception by the gateway 11A of the empty uplink from the TERM terminal 1B (ie of the gateway 11B).
Dans une étape 405, suite à la réception de la trame montante vide, le module de traitement 110B se met en attente pendant la durée D.  In a step 405, following reception of the empty uplink, the processing module 110B goes on standby for the duration D.
A la fin de la durée D, le module de traitement 110A transmet une réponse à la trame montante vide dans une étape 406. Cette réponse est transmise sous forme de trame descendante en point à point à destination de la passerelle 11 B. Cette réponse comprend l’information représentative de l’instant de réception par la passerelle 11 A de la trame montante vide auquel a été ajoutée la durée D, c’est-à-dire CPRT110A + D. At the end of the duration D, the processing module 110A transmits a response to the empty uplink in a step 406. This response is transmitted in the form of a point-to-point downlink to the gateway 11 B. This response comprises the information representative of the instant of reception by the gateway 11 A of the empty uplink to which the duration D has been added, that is to say CPRT 110A + D.
Dans une étape 407, le module de traitement 110B reçoit la trame descendante contenant la réponse.  In a step 407, the processing module 110B receives the downlink containing the response.
Dans une étape 408, le module de traitement 110B sauvegarde une valeur courante CPRT110B de son module de comptage. La valeur courante CPRT110B est une information représentative d’un instant de réception par la passerelle 11B de la trame descendante provenant de la passerelle 11 A. In a step 408, the processing module 110B saves a current value CPRT 110B of its counting module. The current value CPRT 110B is information representative of a time of reception by the gateway 11B of the downlink coming from the gateway 11 A.
Dans une étape 409, le module de traitement 110B calcule un écart d’horloge D entre les horloges des passerelles 11 A et 11B :  In a step 409, the processing module 110B calculates a clock deviation D between the clocks of the gateways 11A and 11B:
D= CPRT11QB— ( CPRT11QA + D) D = CPRT 11QB - (CPRT 11QA + D)
Dans une étape 410, le module de traitement 110B mémorise l’écart d’horloge D. L’écart d’horloge D est utilisé lors de l’étape 307. Dans une étape 411, le module de traitement 110B se met en attente pendant la durée de l’intervalle régulier prédéfini T puis retourne à l’étape 400 pour remettre à jour l’écart d’horloge D. In a step 410, the processing module 110B stores the clock deviation D. The clock deviation D is used in the step 307. In a step 411, the processing module 110B waits for the duration of the regular preset interval T and then returns to step 400 to update the clock deviation D.
Dans un mode de réalisation, la durée de l’intervalle entre deux lancements de la procédure de synchronisation n’est pas prédéfinie mais adaptative. Par exemple, cette durée d’intervalle, notée Tadapt dépend d’une évolution des écarts D au cours du temps. Si le module de traitement de la passerelle initiatrice (ici la passerelle 110B) constate qu’une valeur absolue de l’écart d’horloge |D| augmente alors la durée de l’intervalle Tadapt est diminuée. Si la valeur absolue de l’écart d’horloge |D| diminue, alors la durée de l’intervalle Tadapt est augmentée. Par exemple si curr est le dernier écart calculé et Apre est l’écart précédent :
Figure imgf000019_0001
In one embodiment, the duration of the interval between two launches of the synchronization procedure is not predefined but adaptive. For example, this interval duration, denoted T adap depends on a change in deviations D over time. If the processing module of the initiating gateway (here gateway 110B) finds that an absolute value of the clock deviation | D | then increases the duration of the interval T is adapted diminished. If the absolute value of the clock deviation | D | decreases, then the duration of the adaptive interval T is increased. For example, if curr is the last calculated difference and A pre is the previous difference:
Figure imgf000019_0001
Dans l’exemple de la Fig. 4, nous montrons comment la passerelle 11B obtient l’écart d’horloge D entre la passerelle 11A et la passerelle 11B. Pour que la passerelle 11A obtienne l’écart d’horloge D entre la passerelle 11 A et la passerelle 11B il faut qu’elle initie la procédure de synchronisation et donc qu’elle exécute les étapes 400, 401, 402, 407, 408, 409, 410 et 411, la passerelle 11B exécutant les étapes 403, 404, 405 et 406.  In the example of FIG. 4, we show how the gateway 11B obtains the clock deviation D between the gateway 11A and the gateway 11B. In order for the gateway 11A to obtain the clock deviation D between the gateway 11 A and the gateway 11B, it must initiate the synchronization procedure and therefore execute the steps 400, 401, 402, 407, 408, 409, 410 and 411, the gateway 11B executing steps 403, 404, 405 and 406.
Dans un mode de réalisation, chaque passerelle d’un sous-ensemble implémente par l’intermédiaire de son module de traitement, un module logiciel (i.e. une application) spécifique pour chaque autre passerelle dudit sous-ensemble avec laquelle elle forme une paire. Pour chaque autre passerelle, ce module logiciel gère la réception de la trame montante vide (étape 403), chaque traitement appliqué suite à cette réception (étape 404 et 405) et la transmission (étape 406) de la trame descendante contenant l’information représentative de l’instant de réception de la trame montante vide auquel a été ajoutée la durée D.  In one embodiment, each gateway of a subset implements, via its processing module, a software module (i.e. an application) specific for each other gateway of said subset with which it forms a pair. For each other gateway, this software module manages the reception of the empty uplink (step 403), each processing applied following this reception (step 404 and 405) and the transmission (step 406) of the downlink containing the representative information the time of reception of the empty uplink to which the duration D has been added.
Comme nous l’avons vu plus haut, l’invention s’appuie sur une utilisation de sous-ensembles de passerelles. Chaque sous-ensemble de passerelles comprend des passerelles capables de relayer vers un terminal une réponse à un message contenu dans une trame montante, transmise par ledit terminal, reçue par n’importe quelle autre passerelle dudit sous-ensemble.  As we have seen above, the invention is based on the use of subsets of gateways. Each subset of gateways comprises gateways capable of relaying to a terminal a response to a message contained in an upstream frame, transmitted by said terminal, received by any other gateway of said subset.
Dans un mode de réalisation, les sous-ensembles sont obtenus lors d’une configuration du réseau LoRa 1 par un opérateur. Lors de cette configuration, l’opérateur définit les sous-ensembles. Par exemple, l’opérateur forme des sous- ensembles à partir de passerelles dont il sait qu’elles pourront se suppléer entre elles pour relayer dans une trame descendante une réponse à un message reçu dans une trame montante par l’une d’entre elles. Pour cela, l’opérateur peut se baser sur une position géographique de chaque passerelle. Ainsi, un sous-ensemble associé à une première passerelle peut être formé à partir de passerelles situées dans un rayon de R de la première passerelle (par exemple R = 10 kilomètres). Dans ce mode de réalisation on part du principe qu’un terminal qui est capable de transmettre une trame montante à la première passerelle est capable de recevoir une trame descendante d’une seconde passerelle située dans un rayon de R kilomètres autour de la première passerelle. In one embodiment, the subsets are obtained during a configuration of the LoRa 1 network by an operator. In this configuration, the operator defines the subsets. For example, the operator forms subsets from bridges which he knows will be able to supplement each other. to relay in a downlink a response to a message received in an upstream frame by one of them. For this, the operator can rely on a geographical position of each gateway. Thus, a subset associated with a first gateway may be formed from gateways within a radius of R of the first gateway (eg, R = 10 kilometers). In this embodiment, it is assumed that a terminal that is capable of transmitting an upstream frame to the first gateway is capable of receiving a downlink from a second gateway located within a radius of R kilometers around the first gateway.
Ce premier mode de réalisation, outre le fait qu’il soit fastidieux à mettre en œuvre si le réseau LoRa comprend un grand nombre de passerelles et de terminaux, n’est pas adaptatif. Il ne prend en effet pas en compte un éventuel dysfonctionnement d’une passerelle ou un changement d’environnement d’une passerelle (par exemple une construction d’un bâtiment au voisinage d’une deuxième passerelle qui empêcherait des communications entre la première et la deuxième passerelles ou entre la deuxième passerelle et le terminal ayant transmis la trame montante). De plus, chaque insertion d’une nouvelle passerelle dans le réseau LoRa 1 nécessite une intervention de l’opérateur pour modifier les caractéristiques d’au moins certains sous- ensembles. Ce mode de réalisation peut toutefois être utilisé au démarrage du réseau LoRa 1 lorsque le serveur 10 n’a aucune information sur les passerelles réellement associées à chaque terminal.  This first embodiment, besides the fact that it is tedious to implement if the LoRa network comprises a large number of gateways and terminals, is not adaptive. It does not take into account a possible malfunction of a gateway or a change of environment of a gateway (for example a construction of a building in the vicinity of a second gateway that would prevent communications between the first and the next. second gateways or between the second gateway and the terminal having transmitted the upstream frame). In addition, each insertion of a new gateway into the LoRa 1 network requires operator intervention to modify the characteristics of at least some subsets. This embodiment can, however, be used when the LoRa 1 network is started when the server 10 has no information on the gateways actually associated with each terminal.
Les Fig. 5A et 5B illustrent schématiquement un premier exemple et un deuxième exemple de procédure adaptative de formation de sous-ensembles de passerelles selon l’invention.  Figs. 5A and 5B schematically illustrate a first example and a second example of an adaptive procedure for forming subsets of gateways according to the invention.
Chaque procédure adaptative de formation de sous-ensembles de passerelles est exécutée périodiquement avec une période P par le serveur 10 ou par un serveur distant du nuage sous le contrôle du serveur 10. P est par exemple une période de deux heures.  Each adaptive gateway subsystem training procedure is periodically executed with a period P by the server 10 or by a remote server of the cloud under the control of the server 10. P is for example a period of two hours.
Le premier et le deuxième exemples de procédure adaptative de formation de sous-ensembles de passerelles sont adaptés à des contextes différents.  The first and second examples of adaptive procedure for subset subsystem formation are adapted to different contexts.
Le contexte de l’exemple de la Fig. 5A est celui d’un réseau LoRa dans lequel, les passerelles du réseau LoRa pouvant émettre sur les mêmes canaux, lesdites passerelles peuvent transmettre des trames descendantes vers et recevoir des trames montantes de chaque terminal du réseau LoRa qui est à leur portée. Le contexte de l’exemple de la Fig. 5B est celui d’un réseau LoRa dans lequel les passerelles du réseau LoRa ne peuvent pas recevoir des trames montantes de chaque terminal du réseau LoRa qui est à leur portée. Dans ce contexte, on considère que les passerelles utilisent un canal de réception dynamique qui parcourt toute la bande de fréquence allouée à LoRa de manière à pouvoir recevoir des terminaux qu’elles ne pourraient pas recevoir sinon. The context of the example of FIG. 5A is that of a LoRa network in which, the LoRa network gateways can transmit on the same channels, said gateways can transmit downlink frames to and receive upstream frames of each LoRa network terminal that is within their reach. The context of the example of FIG. 5B is that of a LoRa network in which the LoRa network gateways can not receive upstream frames from each LoRa network terminal that is within their reach. In this context, it is considered that the gateways use a dynamic reception channel which traverses the entire frequency band allocated to LoRa so as to be able to receive terminals that they could not otherwise receive.
Pour l’exécution de ces procédures de formation des sous-ensembles de passerelles, le serveur 10 (ou un serveur distant du nuage sous le contrôle du serveur 10) utilise des informations sur les requêtes qu’il reçoit des passerelles du réseau LoRa 1 ou qu’il envoie vers les passerelles du réseau LoRa 1. Ces informations comprennent pour chaque requête :  For the execution of these training procedures of the subsets of gateways, the server 10 (or a remote server of the cloud under the control of the server 10) uses information on the requests that it receives from the gateways of the LoRa 1 network or it sends to the LoRa 1 network gateways. This information includes for each request:
• heure d’émission ou de réception de la requête ;  • time of transmission or receipt of the request;
• type de la requête : montante ou descendante ;  • type of request: rising or falling;
• identifiant du terminal concerné par la requête ;  • identifier of the terminal concerned by the request;
· identifiant de la passerelle concernée par la requête.  · Identifier of the gateway concerned by the request.
Par la suite, nous décrivons les procédures adaptatives de formation de sous- ensembles de passerelles lorsqu’elles sont exécutées par le module de traitement 100 du serveur 10. Ces procédures pourraient tout aussi bien être exécutées par un module de traitement équivalent d’un serveur distant du nuage qui fournirait ensuite un résultat d’exécution des procédures au serveur 10.  Subsequently, we describe the adaptive procedures for forming subsets of gateways when they are executed by the processing module 100 of the server 10. These procedures could just as easily be executed by an equivalent processing module of a server remote from the cloud which would then provide a result of executing the procedures to the server 10.
On suppose par la suite que le réseau LoRa 1 comprend Np passerelles. Subsequently, it is assumed that the LoRa 1 network includes N p gateways.
En référence à la Fig. 5A, dans une étape 501, le module de traitement 100 classe les passerelles du réseau LoRa 1 par ordre décroissant d’un nombre de trames descendantes que chaque passerelle a émises vers les terminaux du réseau LoRa 1 pendant la dernière période P.  With reference to FIG. 5A, in a step 501, the processing module 100 classifies the LoRa network gateways 1 in decreasing order of a number of falling frames that each gateway has sent to the terminals of the LoRa 1 network during the last period P.
Dans un mode de réalisation, le module de traitement 100 ne classe que les passerelles qui ont émis au moins un nombre prédéterminé l de trames descendantes pendant la dernière période P. Dans un mode de réalisation l = 100. Les autres passerelles ne sont pas considérées dans la suite de la procédure. Il ne reste alors que Np £ Np passerelles à considérer, chacune notée GWL par la suite où i est un indice variant de « 1 » à Np. In one embodiment, the processing module 100 classifies only those gateways that have transmitted at least a predetermined number of descending frames during the last period P. In one embodiment, l = 100. The other gateways are not considered in the rest of the procedure. There remains only N p £ N p gateways to consider, each noted GW L thereafter where i is an index varying from '1' to N p .
Dans une étape 502, le module de traitement 100 parcourt les passerelles GWi par ordre croissant de l’indice i. Pour chaque passerelle GW le module de traitement 100 classe chaque terminal associé avec la passerelle GWi par ordre décroissant d’un nombre de trames montantes reçues dudit terminal par ladite passerelle GWL pendant la dernière période P. On obtient alors pour la passerelle GWt un ensemble de terminaux classés GTL comprenant Mt terminaux associés à la passerelle GWt. In a step 502, the processing module 100 traverses the GWi gateways in ascending order of the index i. For each gateway GW the processing module 100 classifies each terminal associated with the gateway GWi in descending order of a number of upstream frames received from said terminal by said gateway GW L during the last period P. This gives the gateway GW t a set of terminals classified GT L comprising M t terminals associated with the gateway GW t .
Dans une étape 503, le module de traitement 100 parcourt de nouveau les passerelles GWi par ordre croissant de l’indice i mais cette fois-ci pour former les sous-ensembles.  In a step 503, the processing module 100 traverses the GWi gateways in increasing order of the index i, but this time to form the subsets.
La Fig. 6 illustre schématiquement en détails la formation des sous-ensembles correspondant à l’étape 503.  Fig. 6 schematically illustrates in detail the formation of the subsets corresponding to step 503.
Dans une étape 600, le module de traitement 100 initialise une variable i à « 1 ». La variable i permet de parcourir les passerelles GWL. Une passerelle GWL est une passerelle à partir de laquelle le module de traitement 100 forme un sous-ensemble, la passerelle GWi appartenant à ce sous-ensemble. Au cours de l’étape 600, le module de traitement initialise en outre une variable np' à la valeur du nombre de passerelles à considérer Np. In a step 600, the processing module 100 initializes a variable i to "1". The variable i makes it possible to traverse the gateways GW L. A gateway GW L is a gateway from which the processing module 100 forms a subset, the gateway GWi belonging to this subset. In step 600, the processing module also initializes a variable n p 'to the value of the number of gateways to consider N p .
Dans une étape 601, le module de traitement 100 initialise un ensemble de terminaux GTlNTER à l’ensemble de terminaux GTL associé à la passerelle GWt. In a step 601, the processing module 100 initialises a set of terminals GT1 NTER to the set of terminals GT L associated with the gateway GW t .
Dans une étape 602, le module de traitement 100 initialise une variable K au nombre de passerelles pouvant être considérées pour former le sous-ensemble à partir de la passerelle GWt. La variable K est donc initialisée à np'— 1 car la passerelle GWt est retirée de l’ensemble des passerelles qui peuvent être considérées car par définition, elle fait partie du sous-ensemble en cours de formation. In a step 602, the processing module 100 initializes a variable K to the number of gateways that can be considered to form the subset from the gateway GW t . The variable K is therefore initialized to n p '- 1 because the gateway GW t is removed from the set of gateways that can be considered because by definition it is part of the subset being formed.
Dans une étape 603, le module de traitement 100 identifie parmi les K passerelles restantes, une passerelle GWj ayant le plus de terminaux en commun avec la passerelle G Wi. In a step 603, the processing module 100 identifies, among the remaining K gateways, a gateway GW j having the most terminals in common with the gateway G Wi.
Lorsque la passerelle GWj est trouvée, le module de traitement 100 insère, lors d’une étape 604, la passerelle GWj dans le sous-ensemble formé à partir de la passerelle GWt. En d’autres termes, le module de traitement ajoute un identifiant de la passerelle GWj à un ensemble d’ identifiants représentant le sous-ensemble formé à partir de la passerelle GWL, ce sous-ensemble comprenant un identifiant de la passerelle G Wi. When the gateway GW j is found, the processing module 100 inserts, in a step 604, the gateway GW j into the subset formed from the gateway GW t . In other words, the processing module adds an identifier of the gateway GW j to a set of identifiers representing the subset formed from the gateway GW L , this subset comprising an identifier of the gateway G Wi .
Dans une étape 605, le module de traitement 100 réinitialise l’ensemble de terminaux GTlNTER comme l’intersection entre l’ensemble de terminaux GTlNTER courant et l’ensemble de terminaux GTj associé à la passerelle GWj : In a step 605, the processing module 100 resets the set of terminals GT1 NTER as the intersection between the current set of terminals GT1 NTER and the set of terminals GT j associated with the gateway GW j:
GT j INTER _ = GT[NI ER n GTj Dans une étape 606 le module de traitement 100 vérifie si le nombre de terminaux NB_GTlNTER dans l’ensemble de terminaux GTlNTER est supérieur ou égal à un pourcentage prédéfini Q du nombre Mt de terminaux dans l’ensemble de terminaux GWt. Dans un mode de réalisation Q= 25%. GT j INTER _ = GT [ NI ER n GT j In a step 606, the processing module 100 checks whether the number of terminals NB_GTl NTER in the set of terminals GT1 NTER is greater than or equal to a predefined percentage Q of the number M t of terminals in the set of terminals GW t . In one embodiment, Q = 25%.
Si NB_GT- NTER ³ Q x M le module de traitement 100 continue avec une étape 607. Sinon le module de traitement continue avec une étape 609. If NB_GT- NTER ³ Q x M, the processing module 100 continues with a step 607. Otherwise, the processing module continues with a step 609.
Lors de l’étape 607, le module de traitement décrémente la variable K d’une unité pour passer à une autre passerelle GWj à insérer dans le sous-ensemble de passerelles formé à partir de la passerelle GWt. In step 607, the processing module decrements the variable K by one unit to switch to another gateway GW j to be inserted in the subset of gateways formed from the gateway GW t .
Si lors d’une étape 608 la variable K est égale à zéro, le module de traitement exécute l’étape 609. Sinon, le module de traitement retourne à l’étape 603.  If during a step 608 the variable K is equal to zero, the processing module executes step 609. Otherwise, the processing module returns to step 603.
Lors de l’étape 609, le module de traitement 100 supprime les terminaux appartenant à l’ensemble de terminaux GTlNTER de tous les ensembles de terminaux GTi. De cette manière, un même terminal ne peut pas être associé à plusieurs sous- ensembles. In step 609, the processing module 100 deletes the terminals belonging to the set of terminals GT1 NTER of all sets of terminals GTi. In this way, the same terminal can not be associated with several subsets.
Lors d’une étape 610, le module de traitement 100 vérifie que suite à la suppression des terminaux appartenant à l’ensemble des terminaux GT[NTER , il reste des terminaux dans au moins deux ensembles GTi. S’il ne reste plus d’ensembles GTL comprenant des terminaux, cela signifie que tous les terminaux ont été associés à un sous-ensemble. S’il ne reste qu’un ensemble GTi comprenant des terminaux, cela signifie qu’on ne pourra jamais associer lesdits terminaux à un sous-ensemble. Dans un mode de réalisation, pour ces terminaux qui ne sont pas associés à un sous- ensemble, le comportement d’un réseau LoRa classique s’applique. Dans ces deux cas, s’il ne reste plus d’ensemble GTi comprenant des terminaux ou s’il ne reste qu’un ensemble GTt le module de traitement 100 met fin à l’algorithme de la Fig. 6 lors de l’étape 613 et donc à la procédure adaptative de formation de sous-ensembles de passerelles de la Fig. 5A. During a step 610, the processing module 100 verifies that following the deletion of the terminals belonging to all the terminals GT [ NTER , there remain terminals in at least two sets GTi. If there are no longer any GT L sets including terminals, this means that all terminals have been associated with a subset. If there is only one set GTi including terminals, it means that we can never associate said terminals to a subset. In one embodiment, for those terminals that are not associated with a subset, the behavior of a conventional LoRa network applies. In these two cases, if there is no more GTi set including terminals or if only a set GT t remains the processing module 100 terminates the algorithm of FIG. 6 in step 613 and thus to the adaptive procedure for forming gate subsets of FIG. 5A.
Sinon, lors d’une étape 611, le module de traitement 100 met à jour les variables i et np' . Dans un mode de réalisation, une passerelle peut apparaître dans plusieurs sous-ensembles. Dans ce mode de réalisation, lors de l’étape 610, le module de traitement 100 incrémente la variable i d’une unité pour passer à une autre passerelle GWi et la variable np' reste inchangée. Otherwise, during a step 611, the processing module 100 updates the variables i and n p '. In one embodiment, a gateway may appear in more than one subset. In this embodiment, in step 610, the processing module 100 increments the variable i by one unit to switch to another gateway GWi and the variable n p 'remains unchanged.
L’étape 611 est suivie d’une étape 612 au cours de laquelle le module de traitement 100 vérifie si toutes les passerelles à partir desquelles un sous-ensemble peut être formé ont été considérées. Dans le mode de réalisation où une passerelle peut apparaître dans plusieurs sous-ensembles, le module de traitement 100 vérifie si la variable i est inférieure à Nv' . Si c’est le cas, le module de traitement 100 revient à l’étape 601. Sinon, le module de traitement 100 met fin à l’algorithme de la Fig. 6 lors d’une étape 613 et donc à la procédure adaptative de formation de sous-ensembles de passerelles de la Fig. 5A. Step 611 is followed by a step 612 in which the processing module 100 checks whether all the bridges from which a subset can be formed were considered. In the embodiment where a gateway can appear in several subsets, the processing module 100 checks whether the variable i is less than N v '. If this is the case, the processing module 100 returns to step 601. Otherwise, the processing module 100 terminates the algorithm of FIG. 6 during a step 613 and therefore to the adaptive procedure for forming gateway subassemblies of FIG. 5A.
On note qu’à la fin de l’algorithme de la Fig. 6, chacune des Nv' passerelles est comprise dans un sous-ensemble, chaque passerelle d’un sous-ensemble étant associée à chaque terminal appartenant à l’intersection GT[NTER des ensembles de terminaux GTi associés à chaque passerelle dudit sous-ensemble. Note that at the end of the algorithm of FIG. 6, each of the N v 'gateways is included in a subset, each gateway of a subset being associated with each terminal belonging to the intersection GT [ NTER of sets of terminals GTi associated with each gateway of said subset .
Selon l’algorithme de la Fig. 6, une passerelle peut apparaître dans plusieurs sous-ensembles.  According to the algorithm of FIG. 6, a gateway may appear in more than one subset.
Dans un mode de réalisation, lorsqu’une passerelle GWj a été insérée dans un sous-ensemble formé à partir d’une passerelle GWi lors d’une exécution de l’étape 604, cette passerelle GWj ne peut plus être insérée dans un sous-ensemble formé à partir de toutes autres passerelles. Dans ce mode de réalisation, une passerelle ne peut donc apparaître que dans un seul sous-ensemble. Dans ce mode de réalisation, lors de l’étape 611, la variable i prend une valeur d’un indice d’une passerelle GWL qui n’appartient pas à un sous-ensemble déjà formé. Par ailleurs la variable np' prend une valeur correspondant à un nombre de passerelles comprises dans les Np passerelles n’apparaissant dans aucun sous-ensemble déjà formé. Lors de l’étape 612, le module de traitement 100 vérifie s’il reste au moins deux passerelles n’apparaissant dans aucun sous-ensemble déjà formé. S’il ne reste aucune passerelle, cela signifie que toutes les passerelles ont été insérées dans un sous-ensemble. S’il n’existe qu’une passerelle, cela signifie qu’il n’est pas possible de former un sous-ensemble à partir de la passerelle restante puisqu’il faut au moins deux passerelles pour former un sous- ensemble. Dans ces deux cas, le module de traitement 100 met fin à l’algorithme de la Fig. 6 lors de l’étape 613 et donc à la procédure adaptative de formation de sous- ensembles de passerelles de la Fig. 5A. In one embodiment, when a gateway GW j has been inserted into a subset formed from a gateway GWi during an execution of step 604, this gateway GW j can no longer be inserted into a subscriber. subset formed from all other gateways. In this embodiment, a gateway can therefore appear only in a single subset. In this embodiment, in step 611, the variable i takes a value of an index of a gateway GW L that does not belong to a subset already formed. Moreover, the variable n p 'takes a value corresponding to a number of gateways included in the N p gateways not appearing in any subset already formed. In step 612, the processing module 100 checks whether there are at least two gateways that do not appear in any subset already formed. If no gateway remains, it means that all gateways have been inserted into a subset. If there is only one gateway, it means that it is not possible to form a subset from the remaining gateway since at least two gateways are needed to form a subset. In both cases, the processing module 100 terminates the algorithm of FIG. 6 in step 613 and thus to the adaptive procedure for forming gate subsets of FIG. 5A.
En référence maintenant à la Fig. 5B, dans une étape 511, le module de traitement 100 classe les passerelles du réseau LoRa 1 par ordre décroissant d’un nombre de trames montantes que chaque passerelle a reçues des terminaux du réseau LoRa 1 pendant la dernière période P. De manière similaire à la procédure de la Fig. 5A, dans un mode de réalisation, le module de traitement 100 ne classe que les passerelles qui ont reçu au moins un nombre prédéterminé l de trames montantes pendant la dernière période P. Les autres passerelles ne sont pas considérées dans la suite de la procédure. Il ne reste alors que N p £ N p passerelles à considérer notées GWL par la suite où i est un indice variant deReferring now to FIG. 5B, in a step 511, the processing module 100 classifies the LoRa network gateways 1 in descending order of a number of rising frames that each gateway has received from the terminals of the LoRa 1 network during the last period P. Similar to the procedure of FIG. 5A, in one embodiment, the processing module 100 only classifies the gateways that have received at least a predetermined number of upstream frames during the last period P. The other gateways are not considered in the following procedure. It remains then only N p £ N p gateways to consider noted GW L thereafter where i is a variant index of
« 1 » à Np . "1" to N p .
L’étape 511 est suivie d’étapes 512 et 513 strictement identiques aux étapes 502 et 503. Dans un mode de réalisation, chaque requête HTTP montante transmise par une passerelle GWt contenant un message émis dans une trame montante par un terminal TERMk (k allant de « 0 » au nombre de terminaux compris dans le réseau LoRa 1) comprend en outre une valeur qi k représentative d’une qualité de réception de ladite trame montante par ladite passerelle GWt. Pour chaque couple de passerelle G M/j et de terminal TERMk du réseau LoRa 1 possible, le module de traitement 100 stocke une variable Qi k. La variable Qi k est initialisée par le module de traitement 100 à une valeur d’un seuil de qualité prédéfini SQ à chaque début d’une période D prédéfinie. Par exemple, la période D est calée sur la période P. Dans un autre mode de réalisation, la période D est indépendante de la période P et par exemple égale à « 24 » heures. A chaque réception d’une trame montante de la part d’un terminal TERMk par une passerelle GW le module de traitement 100 récupère la valeur qi k contenue dans la requête HTTP montante et stocke cette valeur dans la variable Qi k . Dans la variable Qi k, le module de traitement 100 stocke donc une valeur représentative de la qualité de réception de la dernière trame montante reçue par la passerelle GWt dudit terminal TERMk. Le module de traitement 100 stocke donc des valeurs de qualité de réception Qi k représentatives de la dernière information de qualité connue pour des couples constitués d’une passerelle GWt et d’un terminal TERMk. Step 511 is followed by steps 512 and 513 which are strictly identical to steps 502 and 503. In one embodiment, each uplink HTTP request transmitted by a gateway GW t containing a message sent in an uplink by a terminal TERM k ( k ranging from "0" to the number of terminals included in the LoRa network 1) further comprises a value q ik representative of a reception quality of said uplink by said gateway GW t . For each pair of gateway GM / j and terminal TERM k LoRa network 1 possible, the processing module 100 stores a variable Q ik . The variable Q ik is initialized by the processing module 100 to a value of a predefined quality threshold SQ at the beginning of a predefined period D. For example, the period D is set to the period P. In another embodiment, the period D is independent of the period P and for example equal to "24" hours. At each reception of a rising frame from a terminal TERM k by a gateway GW, the processing module 100 retrieves the value q ik contained in the rising HTTP request and stores this value in the variable Q ik . In the Q ik variable, the processing module 100 therefore stores a value representative of the reception quality of the last uplink received by the gateway GW t of said terminal TERM k . The processing module 100 therefore stores reception quality values Q ik representative of the last information of known quality for couples consisting of a gateway GW t and a terminal TERM k .
Dans ce mode de réalisation, lorsqu’au moins une passerelle GWt relaie dans une requête HTTP montante un message transmis dans une trame montante par un terminal TERMk qui n’est pas associé à un sous-ensemble, le module de traitement 100 choisit parmi les passerelles GWt ayant remonté ledit message, une passerelle GWL dont la qualité de réception Qi k de ladite trame est supérieure ou égale au seuil de qualité prédéfini SQ. Le module de traitement 100 ne peut choisir que parmi les passerelles GWt ayant reçu la trame montante pour relayer une réponse audit message étant donné que les passerelles GWt ayant remonté une requête HTTP montante contenant un message en provenance d’un terminal TERMk qui n’est associé à aucun sous-ensemble ne sont pas censées être synchronisées. Le choix est par exemple fait aléatoirement parmi les passerelles GWt dont la qualité de réception de ladite trame est supérieure ou égale au seuil de qualité prédéfini SQ. Si aucune passerelle GWL n’a une qualité de réception supérieure ou égale au seuil de qualité prédéfini SQ, le module de traitement 100 choisit la passerelle ayant la qualité de réception la plus élevée. In this embodiment, when at least one gateway GW t relays in a rising HTTP request a message transmitted in an upstream frame by a TERM terminal k which is not associated with a subset, the processing module 100 chooses among gateways GW t having reassembled said message, a gateway GW L whose reception quality Q ik of said frame is greater than or equal to the predefined quality threshold SQ. The processing module 100 can only choose among the gateways GW t having received the rising frame to relay a response to said message since the gateways GW t having sent a rising HTTP request containing a message from a TERM terminal k that is not associated with any subset is not expected to be synchronized. The choice is made, for example, randomly among the gateways GW t whose reception quality of said frame is greater than or equal to the predefined quality threshold SQ. If no gateway GW L has a reception quality greater than or equal to the predefined quality threshold SQ, the processing module 100 selects the gateway having the highest reception quality.
Dans un mode de réalisation, dit mode de réalisation avec compteur, le module de traitement 100 associe un compteur CPT Ri à chaque passerelle GWL du réseau LoRa 1. Le compteur CPT Ri permet de comptabiliser pour chaque passerelle GW un nombre de trames descendantes transmises par ladite passerelle GWL en réponse à des messages transmis dans des trames montantes par des terminaux TERMk (i.e. le nombre de fois qu’une passerelle GWL a été choisie pour relayer une réponse à un message transmis dans une trame montante par un terminal TERMk ). Dans ce mode de réalisation, chaque compteur CPT Ri est remis à zéro à chaque début de période D. Dans ce mode de réalisation, qu’une passerelle GWi ait été choisie pour relayer une réponse à un message transmis dans une trame montante par un terminal TERMk qui n’est pas associé à un sous-ensemble ou qui est associé à un sous-ensemble, le compteur CPTRi associé à ladite passerelle GWt est incrémenté d’une unité. Le mode de réalisation avec compteur permet de mieux répartir la charge de la transmission des réponses. En effet, une passerelle qui a été peu utilisée pour relayer des réponses à des messages transmis dans des trames montantes par des terminaux TERMk, est privilégiée par rapport à une autre passerelle plus souvent utilisée pour relayer des réponses. In one embodiment, said embodiment with a counter, the processing module 100 associates a counter CPT Ri with each gateway GW L of the network LoRa 1. The counter CPT Ri makes it possible to count for each gateway GW a number of transmitted downlink frames. by said gateway GW L in response to messages transmitted in upstream frames by terminals TERM k (ie the number of times that a gateway GW L has been chosen to relay a response to a message transmitted in a rising frame by a terminal TERM k ). In this embodiment, each counter CPT Ri is reset at each beginning of period D. In this embodiment, a gateway GWi has been chosen to relay a response to a message transmitted in a rising frame by a terminal. TERM k which is not associated with a subset or which is associated with a subset, the counter CPTRi associated with said gateway GW t is incremented by one unit. The counter embodiment makes it possible to better distribute the load of the transmission of the responses. Indeed, a gateway that has been little used to relay responses to messages transmitted in uplink frames TERM terminals by k , is preferred over another gateway more often used to relay responses.
Dans une première variante d’une procédure de choix d’une passerelle devant relayer une réponse à un message émanant d’un terminal adaptée au mode de réalisation avec compteur, lors de l’étape 304, si le sous-ensemble de passerelles GWi dans lequel a été déterminée la passerelle 11B (i.e. la passerelle LD) comprend une pluralité de passerelles GWi susceptibles de devenir une passerelle LD pour le compte de la passerelle 11A (i.e. de la passerelle LM), le module de traitement 100 détermine la passerelle LD parmi les passerelles GWi de la pluralité en utilisant les valeurs de compteurs CPT Ri associées à chaque passerelle GWi de la pluralité. Le module de traitement 100 choisit ainsi la passerelle GWt associée à la valeur de compteur CPTRt la plus faible. Lorsque la valeur de compteur la plus faible est partagée par plusieurs passerelles GW le module de traitement 100 choisit aléatoirement une passerelle GWt parmi les passerelles GWt associées à ladite valeur de compteur. Le compteur CPT Ri de la passerelle GWt choisie est alors incrémenté d’une unité. In a first variant of a procedure for selecting a gateway to relay a response to a message from a terminal adapted to the counter embodiment, in step 304, if the subset of gateways GWi in which has been determined the gateway 11B (ie the LD gateway) comprises a plurality of gateways GWi likely to become an LD gateway on behalf of the gateway 11A (ie the LM gateway), the processing module 100 determines the gateway LD among gateways GWi of the plurality using the counter values CPT Ri associated with each gateway GWi of the plurality. The processing module 100 thus chooses the gateway GW t associated with the lowest counter value CPTR t . When the lowest counter value is shared by several GW gateways, the processing module 100 randomly chooses a gateway GW t among the gateways GW t associated with said counter value. The counter CPT Ri of the gateway GW t chosen is then incremented by one unit.
La Fig. 7 illustre schématiquement une deuxième variante d’une procédure de choix d’une passerelle devant relayer une réponse à un message émanant d’un terminal adaptée au mode de réalisation avec compteur. La méthode de choix illustrée en Fig. 7 correspond à une mise en œuvre particulière de l’étape 304.  Fig. 7 schematically illustrates a second variant of a gateway selection procedure to relay a response to a message from a terminal adapted to the counter embodiment. The method of choice illustrated in FIG. 7 corresponds to a particular implementation of step 304.
On suppose là encore que le sous-ensemble de passerelles dans lequel doit être déterminée la passerelle LD comprend une pluralité de passerelles susceptibles de devenir une passerelle LD pour le compte de la passerelle LM.  Here again it is assumed that the subset of gateways in which the LD gateway is to be determined comprises a plurality of gateways capable of becoming an LD gateway on behalf of the LM gateway.
Dans une étape 700, le module de traitement 100 présélectionne un nombre L de passerelles GfVj. Les L passerelles GWL présélectionnées sont L passerelles GWL dudit sous-ensemble associées aux valeurs de compteurs CPT Ri les plus faibles. Dans un mode de réalisation, L=5. In a step 700, the processing module 100 preselects a number L of gateways GfV j . The GW L L L preselected gateways are gateways GW L said subset associated with the lowest CPT Ri counter values. In one embodiment, L = 5.
Dans une étape 701, le module de traitement 100 vérifie si au moins une des L passerelles GWi présélectionnées est associée à une valeur de qualité de réception Qi k pour une trame montante émise par le terminal 12 (qui joue alors le rôle de terminal TERMk ayant émis la trame montante) supérieure ou égale au seuil de qualité prédéfini SQ. In a step 701, the processing module 100 checks whether at least one of the L gateways GWi preselected is associated with a reception quality value Q ik for an uplink transmitted by the terminal 12 (which then acts as terminal TERM k having transmitted the upstream frame) greater than or equal to the predefined quality threshold SQ.
Si une seule passerelle GWi présélectionnée est associée à une valeur de qualité de réception Qi k supérieure ou égale au seuil de qualité prédéfini SQ, lors d’une étape 702, le module de traitement 100 choisit cette passerelle pour relayer une réponse au message contenu dans la trame montante émise par le terminal 12. If only one preselected gateway GWi is associated with a reception quality value Q ik greater than or equal to the predefined quality threshold SQ, during a step 702, the processing module 100 chooses this gateway to relay a response to the message contained in the rising frame sent by the terminal 12.
Si plusieurs passerelles GWi présélectionnées sont associées à une valeur de qualité de réception Qi k supérieure ou égale au seuil de qualité prédéfini SQ, lors de l’étape 702, le module de traitement 100 choisit aléatoirement une de ces passerelles G M/j pour relayer une réponse au message contenu dans la trame montante émise par le terminal 12. If several preselected GWi gateways are associated with a reception quality value Q ik greater than or equal to the predefined quality threshold SQ, during step 702, the processing module 100 randomly selects one of these gateways GM / j to relay a response to the message contained in the uplink sent by the terminal 12.
Lors de l’étape 702, le module de traitement 100 incrémente d’une unité la valeur du compteur CPT Ri de la passerelle GWi choisie.  During step 702, the processing module 100 increments by one unit the value of the counter CPT Ri of the selected gateway GWi.
Si chaque passerelle GWi présélectionnée est associée à une valeur de qualité de réception Qi k inférieure au seuil de qualité prédéfini SQ, le module de traitement 100 passe à une étape 703. If each preselected GWi gateway is associated with a reception quality value Q ik less than the predefined quality threshold SQ, the processing module 100 proceeds to a step 703.
Lors de l’étape 703, le module de traitement 100 détermine si au moins une passerelle du sous-ensemble est associée à une valeur de qualité de réception Qi k supérieure ou égale au seuil de qualité prédéfini SQ. Si c’est le cas, le module de traitement 100 passe à une étape 705. In step 703, the processing module 100 determines whether at least one gateway of the subset is associated with a reception quality value Q ik greater than or equal to the predefined quality threshold SQ. If this is the case, the processing module 100 proceeds to a step 705.
Lors de l’étape 705, le module de traitement 100 choisit parmi les passerelles G Wi du sous-ensemble, la passerelle GWL associée à une valeur de qualité de réception Qi k supérieure ou égale au seuil de qualité prédéfini SQ ayant la valeur de compteur CPT Rt la plus faible. Si la valeur de compteur CPTRi la plus faible est partagée par plusieurs passerelles GW le module de traitement 100 choisit aléatoirement une passerelle GWi parmi ces passerelles. Lors de l’étape 705, le module de traitement 100 incrémente d’une unité la valeur du compteur CPTRi de la passerelle GWt choisie. In step 705, the processing module 100 chooses, among the gateways G Wi of the subset, the gateway GW L associated with a reception quality value Q ik greater than or equal to the predefined quality threshold SQ having the value of counter CPT R t the weakest. If the lowest CPTRi counter value is shared by several GW gateways, the processing module 100 randomly chooses a GWi gateway among these gateways. During step 705, the processing module 100 increments the value of the counter CPTRi of the selected gateway GW t by one unit.
Si chaque passerelle du sous-ensemble est associée à une valeur de qualité de réception Qi k inférieure au seuil de qualité prédéfini SQ, le module de traitement 100 exécute une étape 704. Lors de l’étape 704, le module de traitement 100 choisit la passerelle GWi associée à la valeur Qi k la plus élevée parmi les passerelles du sous- ensemble. Si la valeur Qi k la plus élevée est partagée par plusieurs passerelles GW le module de traitement 100 choisit aléatoirement une passerelle GWt parmi ces passerelles. Lors de l’étape 704, le module de traitement 100 incrémente d’une unité la valeur du compteur CPT Ri de la passerelle GWi choisie. If each gateway of the subset is associated with a reception quality value Q ik less than the predefined quality threshold SQ, the processing module 100 executes a step 704. In the step 704, the processing module 100 selects the GWi gateway associated with the highest Q ik value among the gateways of the subset. If the highest Q ik value is shared by several GW gateways, the processing module 100 randomly chooses a GW gateway t among these gateways. In step 704, the processing module 100 increments by one the value of the counter CPT Ri of the gateway GWi chosen.

Claims

REVENDICATIONS
1) Procédé de communication, exécuté dans un réseau sans fil à grande portée et permettant une faible consommation d’énergie dans lequel des terminaux communiquent avec un serveur (10) par l’intermédiaire de passerelles (11A, 11B) d’un ensemble de passerelles selon une technologie de communication impliquant que lorsque le serveur reçoit un message d’un terminal via une première passerelle, il fixe un instant auquel une passerelle doit relayer une réponse audit message en fonction d’un instant de réception dudit message par ladite première passerelle, chaque passerelle étant associée avec un ensemble de terminaux comprenant au moins un terminal utilisant ladite passerelle pour communiquer avec le serveur, caractérisé en ce que le procédé mis en œuvre par le serveur comprend : A communication method, executed in a long range wireless network and allowing low power consumption in which terminals communicate with a server (10) via gateways (11A, 11B) of a set of gateways according to a communication technology implying that when the server receives a message from a terminal via a first gateway, it fixes a time at which a gateway must relay a response to said message according to a time of reception of said message by said first gateway , each gateway being associated with a set of terminals comprising at least one terminal using said gateway for communicating with the server, characterized in that the method implemented by the server comprises:
recevoir (303) une requête en provenance d’une première passerelle (11 A) contenant un message émis dans une trame, dite trame montante, par un terminal (12), dit terminal émetteur ;  receiving (303) a request from a first gateway (11A) containing a message sent in a frame, said rising frame, by a terminal (12), said transmitting terminal;
déterminer (304) une seconde passerelle (11B) différente de la première passerelle à utiliser pour relayer une réponse audit message destinée au terminal émetteur, la seconde passerelle étant déterminée dans un sous-ensemble de passerelles de l’ensemble de passerelles comprenant la première passerelle et au moins une seconde passerelle, chaque passerelle du sous-ensemble étant capable de relayer vers un terminal une réponse à un message transmis dans une trame montante par ledit terminal reçue par n’importe quelle autre passerelle dudit sous-ensemble, les passerelles du sous-ensemble ayant au moins un terminal associé en commun et étant associées avec le terminal émetteur, la seconde passerelle étant déterminée en exécutant une procédure de choix comprenant :  determining (304) a second gateway (11B) different from the first gateway to be used for relaying a response to said message intended for the sender terminal, the second gateway being determined in a subset of gateways of the set of gateways comprising the first gateway and at least one second gateway, each gateway of the subset being capable of relaying to a terminal a response to a message transmitted in a rising frame by said terminal received by any other gateway of said subset, the gateways of the sub-set. -etembly having at least one associated terminal in common and being associated with the transmitting terminal, the second gateway being determined by executing a selection procedure comprising:
présélectionner (700) un nombre prédéfini de passerelles associées aux valeurs de compteurs les plus faibles parmi des valeurs de compteurs associées aux passerelles dudit sous-ensemble représentatives d’un nombre de trames descendantes transmises par les passerelles dudit sous-ensemble en réponse à des messages transmis dans des trames montantes par des terminaux ;  preselecting (700) a predefined number of gateways associated with the lowest counter values among counter values associated with the gateways of said subset representative of a number of falling frames transmitted by the gateways of said subset in response to messages transmitted in upstream frames by terminals;
choisir (701, 702) une passerelle associée à une valeur représentative d’une qualité de communication avec le terminal émetteur supérieure ou égale à un seuil de qualité prédéfini parmi les passerelles du nombre prédéfini de passerelles présélectionnées, la passerelle choisie devenant la seconde passerelle. transmettre (305) une requête contenant ladite réponse à la seconde passerelle, ladite réponse étant retransmise (307) par la seconde passerelle audit terminal émetteur dans une trame, dite trame descendante, à un instant indiqué dans la requête, ledit instant étant indiqué dans une référence temporelle de la première passerelle, la deuxième passerelle prenant en compte un écart d’horloge entre la première et la seconde passerelles pour transmettre la trame descendante audit instant. selecting (701, 702) a gateway associated with a value representative of a quality of communication with the sending terminal greater than or equal to a predefined quality threshold among the gateways of the predefined number of preselected gateways, the chosen gateway becoming the second gateway. transmitting (305) a request containing said response to the second gateway, said response being retransmitted (307) by the second gateway to said transmitting terminal in a frame, said downlink frame, at a time indicated in the request, said instant being indicated in a time reference of the first gateway, the second gateway taking into account a clock deviation between the first and second gateways to transmit the downlink to said instant.
2) Procédé selon la revendication 1, caractérisé en ce que la technologie de communication est la technologie LoRa et chaque trame échangée entre une passerelle et un terminal est conforme au protocole LoRaWAN. 2) Method according to claim 1, characterized in that the communication technology is LoRa technology and each frame exchanged between a gateway and a terminal is in accordance with the LoRaWAN protocol.
3) Procédé selon la revendication 1 ou 2, caractérisé en ce que l’ensemble de passerelles comprend une pluralité de sous-ensembles de passerelles, chaque sous- ensemble étant formé par un opérateur à partir de passerelles pouvant se suppléer entre elles pour relayer une réponse dans une trame descendante à un message reçu dans une trame montante par l’une d’entre elles ou par une procédure adaptative de formation des sous-ensembles exécutée périodiquement sous le contrôle du serveur avec une période prédéfinie. 4) Procédé selon la revendication 3, caractérisé en ce que le serveur transmet à chaque passerelle comprise dans un sous-ensemble des caractéristiques dudit sous- ensemble comprenant un identifiant pour chaque passerelle comprise dans ledit sous- ensemble et un identifiant pour chaque terminal associé en commun entre les passerelles du sous-ensemble. 3) Method according to claim 1 or 2, characterized in that the set of gateways comprises a plurality of subsets of gateways, each subset being formed by an operator from bridges that can be substituted between them to relay a responding in a downlink to a received message in an upstream frame by one of them or by an adaptive subset formation procedure periodically executed under the control of the server with a predefined period. 4) Method according to claim 3, characterized in that the server transmits to each gateway included in a subset of the characteristics of said subset comprising an identifier for each gateway included in said subset and an identifier for each associated terminal in between the bridges of the subset.
5) Procédé selon la revendication 3 ou 4, caractérisé en ce que la procédure adaptative de formation des sous-ensembles comprend : 5) Method according to claim 3 or 4, characterized in that the adaptive procedure for forming the subassemblies comprises:
classer (501) les passerelles de l’ensemble de passerelles par ordre décroissant d’un nombre de trames descendantes que chaque passerelle a émises pendant la dernière période prédéfinie ou par ordre décroissant d’un nombre de trames montantes que chaque passerelle a reçues pendant la dernière période prédéfinie ;  classifying (501) gateways of the gateway set in descending order of a number of falling frames that each gateway issued during the last predefined period or in descending order of a number of upstream frames that each gateway received during the last predefined period;
parcourir (502) les passerelles ainsi classées dans leur ordre de classement et pour chaque passerelle, classer chaque terminal associé avec ladite passerelle par ordre décroissant d’un nombre de trames montantes reçues dudit terminal par ladite passerelle pendant la dernière période prédéfinie ; browse (502) the gateways thus classified in their order of classification and for each gateway, classify each terminal associated with said gateway by descending order of a number of upstream frames received from said terminal by said gateway during the last predefined period;
parcourir (503) les passerelles dans leur ordre de classement et pour chaque passerelle, définir un sous-ensemble de passerelles à partir de ladite passerelle, ladite passerelle, dite passerelle de base, appartenant audit sous-ensemble, la définition du sous-ensemble comprenant :  browse (503) the gateways in their order of classification and for each gateway, define a subset of gateways from said gateway, said gateway, called base gateway, belonging to said subset, the subset definition comprising :
tant qu’un nombre de terminaux dans un premier ensemble de terminaux associés au sous-ensemble de passerelles en cours de définition est supérieur à un pourcentage prédéfini d’un nombre de terminaux d’un deuxième ensemble de terminaux associés à la passerelle de base (606) :  as long as a number of terminals in a first set of terminals associated with the subset of gateways being defined is greater than a predefined percentage of a number of terminals of a second set of terminals associated with the base gateway ( 606):
identifier (603) parmi les passerelles ainsi classées n’ayant pas encore été insérées dans le sous-ensemble, une passerelle ayant le plus de terminaux en commun avec la passerelle de base ;  identifying (603) among the gateways thus classified that have not yet been inserted into the subset, a gateway having the most terminals in common with the base gateway;
insérer (604) la passerelle ainsi identifiée dans le sous-ensemble ; et,  inserting (604) the gateway so identified in the subset; and,
former (605) le premier ensemble de terminaux comme une intersection entre le deuxième ensemble de terminaux et chaque ensemble de terminaux associé avec une passerelle insérée dans le sous-ensemble ;  forming (605) the first set of terminals as an intersection between the second set of terminals and each set of terminals associated with a gateway inserted in the subset;
et, supprimer chaque terminal compris dans le premier ensemble de terminaux des ensembles de terminaux associé aux passerelles ainsi classées.  and, deleting each terminal included in the first set of terminals from the terminal sets associated with the gateways thus classified.
6) Procédé selon la revendication 5, caractérisé en ce que, lorsque les passerelles sont classées par ordre décroissant du nombre de trames descendantes que chaque passerelle a émises pendant la dernière période prédéfinie, seules les passerelles qui ont émis au moins un nombre prédéterminé de trames descendantes pendant la dernière période prédéfinie sont classées, et lorsque les passerelles sont classées par ordre décroissant du nombre de trames montantes que chaque passerelle a reçues pendant la dernière période prédéfinie, seules les passerelles qui ont reçu au moins un nombre prédéterminé de trames montantes pendant la dernière période prédéfinie sont classées. 6) Method according to claim 5, characterized in that, when the gateways are classified in descending order of the number of falling frames that each gateway has transmitted during the last predefined period, only gateways that have issued at least a predetermined number of frames during the last predefined period are classified, and when the gateways are ranked in descending order of the number of upstream frames that each gateway received during the last predefined period, only those gateways that received at least a predetermined number of upstream frames during the last predefined period are ranked.
7) Procédé selon la revendication 5 ou 6, caractérisé en ce que lorsqu’une passerelle a été insérée dans un sous-ensemble formé à partir d’une passerelle de base, cette passerelle ne peut plus être insérée dans un sous-ensemble formé à partir de toutes autres passerelles de base. 8) Procédé selon la revendication 5, 6 ou 7, caractérisé en ce que la procédure adaptative de formation des sous-ensembles s’arrête lorsque toutes les passerelles classées ont été insérées dans un sous-ensemble ou lorsque tous les terminaux du réseau sont compris dans un ensemble de terminaux associé à un sous-ensemble. 7) Method according to claim 5 or 6, characterized in that when a gateway has been inserted into a subset formed from a base gateway, this gateway can no longer be inserted into a subset formed by from all other basic gateways. 8) Method according to claim 5, 6 or 7, characterized in that the adaptive subset formation procedure stops when all the classified gateways have been inserted in a subset or when all the terminals of the network are included in a set of terminals associated with a subset.
9) Procédé selon l’une quelconque des revendications précédentes, caractérisé en ce que l’écart d’horloge existant entre deux passerelles est déterminé par une procédure de synchronisation, la procédure de synchronisation étant exécutée par l’une des deux passerelles, dite passerelle initiatrice, en collaboration avec l’autre passerelle, dite passerelle collaboratrice et comprenant : 9) Method according to any one of the preceding claims, characterized in that the existing clock gap between two gateways is determined by a synchronization procedure, the synchronization procedure being executed by one of the two gateways, said gateway initiator, in collaboration with the other gateway, said collaborating gateway and comprising:
transmettre (400) une trame montante à destination de la passerelle collaboratrice, la passerelle initiatrice se mettant en attente (401) pendant une période prédéterminée avant de se mettre en écoute d’une réponse (402) à ladite trame montante, ladite réponse étant transmise (406) dans une trame descendante par la passerelle collaboratrice après une période égale à la période prédéterminée suivant une réception (403) de ladite trame par la passerelle collaboratrice, une première information représentative d’un instant de réception de ladite requête par la passerelle collaboratrice à laquelle a été ajoutée la durée de la période prédéterminée étant insérée dans ladite réponse par la passerelle collaboratrice ;  transmitting (400) an upstream frame to the collaborating gateway, the initiating gateway queuing (401) for a predetermined period of time before listening for a response (402) to said upstream frame, said response being transmitted (406) in a downlink frame by the collaborating gateway after a period equal to the predetermined period following reception (403) of said frame by the collaborating gateway, a first piece of information representative of a moment of reception of said request by the collaborating gateway to which has been added the duration of the predetermined period being inserted in said response by the collaborating gateway;
recevoir (407) ladite réponse et obtenir (408) une deuxième information représentative d’un instant de réception de ladite réponse par la seconde passerelle ; et, calculer (409) l’écart d’horloge entre la passerelle initiatrice et la passerelle collaboratrice comme une différence entre la deuxième et la première informations.  receiving (407) said response and obtaining (408) second information representative of a time of receipt of said response by the second gateway; and calculating (409) the clock difference between the initiator gateway and the collaborating gateway as a difference between the second and the first information.
10) Procédé selon la revendication 9, caractérisé en ce que la procédure de synchronisation est exécutée dans chaque sous-ensemble pour chaque paire de passerelles possibles dudit sous-ensemble, chaque passerelle d’une paire de passerelles étant alternativement initiatrice ou collaboratrice, à intervalles réguliers prédéfinis ou intervalles adaptatifs de durées dépendantes d’une évolution des écarts d’horloge au cours du temps. 11) Procédé selon l’une quelconque des revendications précédentes, caractérisé en ce que la seconde passerelle est déterminée aléatoirement dans le sous-ensemble de passerelles comprenant la première passerelle ou, 10) Method according to claim 9, characterized in that the synchronization procedure is executed in each subset for each pair of possible gateways of said subset, each gateway of a pair of gateways being alternatively initiator or collaborator, at intervals regular predefined or adaptive intervals of durations dependent on a change in clock deviations over time. 11) Method according to any one of the preceding claims, characterized in that the second gateway is determined randomly in the subset of gateways comprising the first gateway or,
aléatoirement parmi un nombre prédéfini de passerelles dudit sous-ensemble offrant une qualité de communication avec le terminal émetteur la plus élevée parmi les passerelles dudit sous-ensemble.  randomly among a predefined number of gateways of said subset offering a quality of communication with the highest transmitting terminal among the gateways of said subset.
12) Procédé selon la revendication 1, caractérisé en ce que, lorsqu’ aucune passerelle du nombre prédéfini de passerelles n’est associée à une valeur représentative d’une qualité de communication avec le terminal émetteur supérieure ou égale au seuil de qualité prédéfini, choisir une passerelle du sous-ensemble associée à la valeur de compteur la plus faible parmi les valeurs de compteur associées aux passerelles dudit sous-ensemble et associées à une valeur représentative d’une qualité de communication avec le terminal émetteur supérieure ou égale au seuil de qualité prédéfini ; et, 12) Method according to claim 1, characterized in that, when no gateway of the predefined number of gateways is associated with a value representative of a quality of communication with the sending terminal greater than or equal to the predefined quality threshold, choose a subset gateway associated with the lowest counter value among the counter values associated with the gateways of said subset and associated with a value representative of a quality of communication with the sending terminal greater than or equal to the quality threshold predefined; and,
si aucune passerelle dudit sous-ensemble n’est associée à une valeur représentative d’une qualité de communication avec le terminal émetteur supérieure ou égale au seuil de qualité prédéfini, choisir une passerelle associée à la valeur représentative d’une qualité de communication avec le terminal émetteur maximum parmi les valeurs représentatives d’une qualité de communication avec le terminal émetteur associées aux passerelles dudit sous-ensemble.  if no gateway of said subset is associated with a value representative of a quality of communication with the sending terminal greater than or equal to the predefined quality threshold, choosing a gateway associated with the value representative of a quality of communication with the maximum transmitter terminal among the values representative of a quality of communication with the transmitter terminal associated with the gateways of said subset.
13) Procédé selon la revendication 1 caractérisé en ce que, lorsque le serveur reçoit une pluralité de requêtes contenant chacune un même message émis dans une trame montante par un terminal émetteur associé à aucun sous-ensemble, le procédé comprend : 13) Method according to claim 1 characterized in that, when the server receives a plurality of requests each containing the same message sent in an uplink by a transmitter terminal associated with no subset, the method comprises:
choisir parmi les premières passerelles ayant remonté ledit message vers le serveur, une passerelle dont une qualité de réception de ladite trame est supérieure ou égale à un seuil de qualité prédéfini ; et,  choosing from the first gateways having sent back said message to the server, a gateway whose reception quality of said frame is greater than or equal to a predefined quality threshold; and,
transmettre une requête contenant ladite réponse à la passerelle choisie, ladite réponse étant retransmise par la passerelle choisie audit terminal émetteur dans une trame descendante. 14) Dispositif de type serveur (10) compris dans un réseau sans fil à grande portée et permettant une faible consommation d’énergie dans lequel des terminaux communiquent avec le serveur par l’intermédiaire de passerelles (11 A, 11B) d’un ensemble de passerelles selon une technologie de communication impliquant que lorsque le serveur reçoit un message d’un terminal via une première passerelle, il fixe un instant auquel une passerelle doit relayer une réponse audit message en fonction d’un instant de réception dudit message par ladite première passerelle, chaque passerelle étant associée avec un ensemble de terminaux comprenant au moins un terminal utilisant ladite passerelle pour communiquer avec le serveur, caractérisé en ce que le dispositif comprend : transmitting a request containing said response to the selected gateway, said response being retransmitted by the selected gateway to said transmitting terminal in a downlink. A server-type device (10) included in a long-range wireless network and enabling low power consumption in which terminals communicate with the server via gateways (11A, 11B) of a set. gateways according to a communication technology implying that when the server receives a message from a terminal via a first gateway, it fixes a time at which a gateway must relay a response to said message according to a time of receipt of said message by said first gateway, each gateway being associated with a set of terminals comprising at least one terminal using said gateway to communicate with the server, characterized in that the device comprises:
des moyens de réception pour recevoir (303) une requête en provenance d’une première passerelle (11A) contenant un message émis dans une trame, dite trame montante, par une terminal (12), dit terminal émetteur ;  receiving means for receiving (303) a request from a first gateway (11A) containing a message sent in a frame, said rising frame, by a terminal (12), said transmitting terminal;
des moyens de détermination pour déterminer (304) une seconde passerelle (HB) différente de la première passerelle à utiliser pour relayer une réponse audit message destinée au terminal émetteur, la seconde passerelle étant déterminée dans un sous-ensemble de passerelles de l’ensemble de passerelles comprenant la première passerelle et au moins une seconde passerelle, chaque passerelle du sous-ensemble étant capable de relayer vers un terminal une réponse à un message transmis dans une trame montante par ledit terminal reçue par n’importe quelle autre passerelle dudit sous-ensemble, les passerelles du sous-ensemble ayant au moins un terminal associé en commun et étant associées avec le terminal émetteur, les moyens de détermination exécutant une procédure de choix pour déterminer la seconde passerelle comprenant : présélectionner (700) un nombre prédéfini de passerelles associées aux valeurs de compteurs les plus faibles parmi des valeurs de compteurs associées aux passerelles dudit sous-ensemble représentative d’un nombre de trames descendantes transmises par les passerelles dudit sous-ensemble en réponse à des messages transmis dans des trames montantes par des terminaux ;  determining means for determining (304) a second gateway (HB) different from the first gateway to be used for relaying a response to said message intended for the transmitting terminal, the second gateway being determined in a subset of gateways of the set of gateways comprising the first gateway and at least one second gateway, each gateway of the subset being capable of relaying to a terminal a response to a message transmitted in an upstream frame by said terminal received by any other gateway of said subset the subsystem gateways having at least one associated terminal in common and being associated with the transmitting terminal, the determining means executing a selection procedure for determining the second gateway comprising: preselecting (700) a predefined number of gateways associated with the lowest counter values among counter values a associated with the gateways of said subset representative of a number of falling frames transmitted by the gateways of said subset in response to messages transmitted in uplink frames by terminals;
choisir (701, 702) une passerelle associée à une valeur représentative d’une qualité de communication avec le terminal émetteur supérieure ou égale à un seuil de qualité prédéfini parmi les passerelles du nombre prédéfini de passerelles présélectionnées, la passerelle choisie devenant la seconde passerelle. ;  selecting (701, 702) a gateway associated with a value representative of a quality of communication with the sending terminal greater than or equal to a predefined quality threshold among the gateways of the predefined number of preselected gateways, the chosen gateway becoming the second gateway. ;
des moyens de transmission pour transmettre (305) une requête contenant ladite réponse à la seconde passerelle, ladite réponse étant retransmise (307) par la seconde passerelle au terminal émetteur dans une trame dite trame descendante à un instant indiqué dans la requête, ledit instant étant indiqué dans une référence temporelle de la première passerelle, la deuxième passerelle prenant en compte un écart d’horloge entre la première et la seconde passerelles pour transmettre la trame descendante audit instant. transmission means for transmitting (305) a request containing said response to the second gateway, said response being retransmitted (307) by the second gateway to the transmitting terminal in a so-called downgoing frame at a time indicated in the request, said instant being indicated in a time reference of the first gateway, the second gateway taking into account a clock deviation between the first and the second gateways for transmit the downlink to the instant.
15) Système compris dans un réseau sans fil à grande portée et permettant une faible consommation d’énergie comprenant un dispositif de type serveur selon la revendication 14, une pluralité de terminaux et une pluralité de passerelles, la pluralité de passerelles comprenant des sous-ensembles de passerelles, chaque passerelle du sous-ensemble étant capable de relayer vers un terminal une réponse à un message transmis dans une trame montante par ledit terminal reçue par n’importe quelle autre passerelle dudit sous-ensemble, les passerelles du sous-ensemble ayant au moins un terminal associé en commun. A system included in a long-range, low-power wireless network comprising a server-type device according to claim 14, a plurality of terminals and a plurality of gateways, the plurality of gateways comprising subsets. gateways, each gateway of the subset being capable of relaying to a terminal a response to a message transmitted in a rising frame by said terminal received by any other gateway of said subset, the gateways of the subset having at least one associated terminal in common.
16) Programme d’ordinateur, caractérisé en ce qu’il comprend des instructions pour mettre en œuvre, par un dispositif (100), le procédé selon l’une quelconque des revendications 1 à 13, lorsque ledit programme est exécuté par un processeur dudit dispositif (100). 16) Computer program, characterized in that it comprises instructions for implementing, by a device (100), the method according to any one of claims 1 to 13, when said program is executed by a processor of said device (100).
17) Moyens de stockage, caractérisés en ce qu’ils stockent un programme d’ordinateur comprenant des instructions pour mettre en œuvre, par un dispositif (100), le procédé selon l’une quelconque des revendications 1 à 13, lorsque ledit programme est exécuté par un processeur dudit dispositif (100). 17) Storage means, characterized in that they store a computer program comprising instructions for implementing, by a device (100), the method according to any one of claims 1 to 13, when said program is executed by a processor of said device (100).
PCT/EP2019/057456 2018-03-30 2019-03-25 Communication method WO2019185552A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/043,380 US11089592B2 (en) 2018-03-30 2019-03-25 Communication method executed in a long-range wireless network and affording low energy consumption and load management
CN201980033970.2A CN112154689B (en) 2018-03-30 2019-03-25 Communication method
EP19712213.8A EP3777308B1 (en) 2018-03-30 2019-03-25 Communication method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR1852801 2018-03-30
FR1852801A FR3073109A1 (en) 2018-03-30 2018-03-30 COMMUNICATION METHOD
FR1854305A FR3079696B1 (en) 2018-03-30 2018-05-23 COMMUNICATION PROCESS
FR1854305 2018-05-23

Publications (1)

Publication Number Publication Date
WO2019185552A1 true WO2019185552A1 (en) 2019-10-03

Family

ID=65818532

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/057456 WO2019185552A1 (en) 2018-03-30 2019-03-25 Communication method

Country Status (1)

Country Link
WO (1) WO2019185552A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110662259A (en) * 2019-12-02 2020-01-07 武汉慧联无限科技有限公司 Message processing method and device and computer storage medium
US11310085B2 (en) 2019-12-11 2022-04-19 Semtech Corporation LoRa advanced receiver
EP4012933A1 (en) * 2020-12-10 2022-06-15 Semtech Corporation Lora advanced receiver
CN116390156A (en) * 2023-06-02 2023-07-04 新华三技术有限公司 LoRa communication method, device, equipment and readable storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016174396A1 (en) * 2015-04-28 2016-11-03 Sonitor Technologies As Location system
WO2018011792A1 (en) * 2016-07-12 2018-01-18 Daniel Aljadeff Methods and systems for the location and monitoring of mobile units

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016174396A1 (en) * 2015-04-28 2016-11-03 Sonitor Technologies As Location system
WO2018011792A1 (en) * 2016-07-12 2018-01-18 Daniel Aljadeff Methods and systems for the location and monitoring of mobile units

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LORAWAN 1.1 (« DRAFT LORAWAN 1.1 » EN TERMINOLOGIE ANGLO-SAXONNE, August 2015 (2015-08-01)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110662259A (en) * 2019-12-02 2020-01-07 武汉慧联无限科技有限公司 Message processing method and device and computer storage medium
CN110662259B (en) * 2019-12-02 2020-04-17 武汉慧联无限科技有限公司 Message processing method and device and computer storage medium
US11310085B2 (en) 2019-12-11 2022-04-19 Semtech Corporation LoRa advanced receiver
EP4012933A1 (en) * 2020-12-10 2022-06-15 Semtech Corporation Lora advanced receiver
CN116390156A (en) * 2023-06-02 2023-07-04 新华三技术有限公司 LoRa communication method, device, equipment and readable storage medium
CN116390156B (en) * 2023-06-02 2023-08-25 新华三技术有限公司 LoRa communication method, device, equipment and readable storage medium

Similar Documents

Publication Publication Date Title
WO2019185552A1 (en) Communication method
EP3381222A1 (en) Gateway configuration method
WO2017129447A1 (en) Synchronisation method for a node in a cellular network
EP3053303B1 (en) Method for subscribing to streams coming from multicast clients
EP3787344B1 (en) Method for configuring a system for extending wireless communication coverage and a system for extending wireless communication coverage implementing said method
EP3238406B1 (en) Treatment method of application data delivery
FR2906950A1 (en) METHOD AND DEVICES FOR ADAPTING THE TRANSMISSION RATE OF A DATA STREAM IN THE PRESENCE OF INTERFERENCE.
EP2460322B1 (en) Method and system for the automatic selection of transmission media
EP2510656A1 (en) Method for the qualitative routing in a multi-hop communication network, and network node management facility
WO2018172707A1 (en) Method for recommending a communication stack
EP3777308B1 (en) Communication method
CN114020395B (en) Virtual desktop network acceleration method, device, terminal and storage medium
EP3430777B1 (en) Method and system for dynamically managing communication pathways between routers depending on application requirement
EP3967006B1 (en) Method for selecting gateways
EP3731557B1 (en) Method for supervising the connection between two nodes of a communication network
EP2456135A1 (en) Method and device for determining one or more communication paths between communication devices with multiple communication interfaces
EP2953270B1 (en) Method for selecting a parent node device in a tree-shaped communication network
EP4408036A1 (en) Method for communicating messages between a plurality of user equipments
EP2645647B1 (en) Method for optimising the downstream rate of an asymmetric subscriber line, corresponding device, computer program product and storage medium
FR3135587A1 (en) Method and device for dynamic communication of topology control messages in an ad-hoc mobile network
FR3134671A1 (en) Method and device for communicating topology control messages in a mobile ad-hoc network
WO2024079309A1 (en) Cooperative retransmission method in an omamrc system with joint resource allocation and selections of the sources to be helped
EP4407908A1 (en) Method for communicating messages between a plurality of user equipments
FR3096850A1 (en) PROCESS FOR TRANSMISSION OF DATA BETWEEN A TRANSMITTER AND A RECEIVER IN A RADIOCOMMUNICATIONS NETWORK WITH LOCAL LOOP CAPACITY
FR2979505A1 (en) Method for inserting intermediate equipment in communication channel connecting e.g. smartphones, of voice over Internet protocol communication system, involves transmitting modified response message to user terminal

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19712213

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2019712213

Country of ref document: EP