Communications method, a communications management method, and associated devices and nodes
09826550 · 2017-11-21
Assignee
Inventors
- Quentin Lampin (Grenoble, FR)
- Dominique Barthel (Bernin, FR)
- Isabelle Auge-Blum (Lyons, FR)
- Fabrice Valois (Lyons, FR)
Cpc classification
International classification
Abstract
A data communication method implemented by a sensor node of a telecommunications network including a plurality of sensor nodes and a concentrator node, which share a communication channel. The method includes: selecting a time interval in a contention window including a plurality of time intervals and preceding a transmission period including a plurality of transmission intervals; emitting a request signal during the selected time interval to the concentrator node; receiving a response signal carrying encoded information representing an ordered combination of the intervals marked during which the signals were received by the concentrator node; determining a transmission rank according to a number of intervals marked by the concentrator node; and deciding to emit data to the concentrator node in the transmission period when the transmission rank is lower than or equal to the number of intervals of the transmission period.
Claims
1. A data communications method executed by a sensor node in a telecommunications network having a plurality of sensor nodes and a concentrator node, said sensor node being suitable for transmitting data to the concentrator node over a broadcast communications medium that it shares with the plurality of sensor nodes, the method comprising the following acts performed when the sensor node has data for transmitting to the concentrator node: selecting a time slot in a contention window having a plurality of time slots and preceding a transmission period having a plurality of transmission channels; broadcasting a request signal in the selected time slot; receiving an answer signal comprising coded information representative of an ordered combination of slots of the contention window marked as slots during which at least one signal was received by the concentrator node; determining a transmission rank on the basis of the received coded information, which rank is at least a function of the number of slots marked by the concentrator node among the time slots preceding the time slot; and deciding to transmit data in the transmission period when the determined transmission rank is less than or equal to the number of channels of said period.
2. The communications method according to claim 1, wherein the determining act comprises both resolving the received coded information into K components of an M-ary orthogonal basis vector with integer M greater than or equal to 2, of dimension K, with K being a non-zero integer equal to the number of time slots of the contention window, and also interpreting the K components that are obtained, in which the k.sup.th slot is interpreted as being marked when the k.sup.thcomponent has a value greater than zero.
3. The communications method according to claim 2, wherein, if M has a value equal to 2, the slot is interpreted as being marked, when the k.sup.thcomponent has a value equal to 1.
4. The communications method according to claim 2, wherein, if M has a value strictly greater than 2, the request signal broadcast by the sensor node is carried by an m.sup.th predetermined waveform from among M predetermined waveforms, and in that the transmission rank is also determined as a function of the number of waveforms received in a given time slot.
5. The communications method according to claim 1, wherein the method includes a prior act of receiving a contention window announcement signal coming from the concentrator node.
6. A method of managing communications in a network comprising a concentrator node and a plurality of sensor nodes, the plurality of sensor nodes being suitable for transmitting data to the concentrator node over a broadcast communications medium that they share, said method being executed by the concentrator node, and comprising the following acts: listening to the communications medium in order to detect at least one transmission request signal received from at least one of the sensor nodes in a contention window having a plurality of time slots, the at least one transmission request signal being received prior to the concentrator node receiving the data from the at least one sensor node; marking the time slots of the contention window in which at least one received transmission request signal is detected; at the end of the contention window, coding information representative of an ordered combination of the marked slots, the information being coded so as to enable each of the at least one sensor node having transmitted a transmission request signal to determine a transmission rank on the basis of the coded information, wherein the rank is at least a function of the number of time slots marked by the concentrator node among the time slots preceding the time slot in which that sensor node transmitted the transmission request signal; and broadcasting an answer signal comprising said coded information.
7. The management method according to claim 6, wherein the coded information is obtained by resolving on an M-ary orthogonal basis of dimension K equal to the number of time slots of the contention window, the k.sup.th component being set to a value greater than or equal to 1 when the k.sup.th slot is marked, or else being set to zero.
8. The management method according to claim 7, wherein when M has a value equal to 2, the k.sup.th component is set to the value 1 when the k.sup.thslot is marked, or else it is set to zero.
9. The management method according to claim 7, wherein when M has a value strictly greater than 2, the listening act comprises detecting at least one signal carried by an m.sup.th waveform selected from a plurality of M predetermined waveforms, and wherein, in the information coding act, the value of k.sup.th component is obtained by an ordered combination of M subcomponents of an orthogonal basis, the m.sup.th subcomponent being equal to 1 when the m.sup.th waveform has been detected.
10. A device for communicating data via a sensor node of a telecommunications network comprising a plurality of sensor nodes and a concentrator node, said sensor node being suitable for transmitting data to the concentrator node over a broadcast communications medium that it shares with the plurality of sensor nodes, the device being means for implementing the following units when the sensor node has data for transmitting to the concentrator node: means for selecting a time slot j in a contention window having a plurality of time slots and preceding a transmission period having a plurality of transmission channels; means for broadcasting a request signal in the selected time slot j; means for receiving an answer signal comprising coded information representative of an ordered combination of slots of the contention window marked as being slots during which at least one signal was received by the concentrator node; means for determining a transmission rank on the basis of the received coded information, which rank is determined, at least as a function of a number of slots marked by the concentrator node from among the time slots preceding the time slot j; and means for deciding to transmit data in the transmission period when the determined transmission rank is less than or equal to the number of channels in the transmission period.
11. A device for managing communications in a network comprising a concentrator node and a plurality of sensor nodes, the plurality of sensor nodes being suitable for transmitting data to the concentrator node over a broadcasting communications medium that they share, said device comprising: means for listening to the communications medium in order to detect at least one transmission request signal received from at least one of the sensor nodes in a contention window having a plurality of time slots, the at least one transmission request signal being received prior to the concentrator node receiving the data from the at least one sensor node; means for marking the time slots of the contention window in which at least one received transmission request signal is detected; at the end of the contention window, means for coding information representative of an ordered combination of marked slots, the information being coded so as to enable each of the at least one sensor node having transmitted a transmission request signal to determine a transmission rank on the basis of the coded information, wherein the rank is at least a function of the number of time slots marked by the concentrator node among the time slots preceding the time slot in which that sensor node transmitted the transmission request signal; and means for broadcasting an answer signal comprising said coded information.
12. The device of claim 10, wherein the device is comprised within one of the plurality of sensor nodes.
13. The device of claim 11, wherein the device is comprised within the concentrator node.
14. A non transitory computer-readable storage medium comprising a computer program stored thereon, which comprises instructions for performing 1 a data communications method, when executed by a processor, wherein the method is executed by a sensor node in a telecommunications network having a plurality of sensor nodes and a concentrator node, said sensor node being suitable for transmitting data to the concentrator node over a broadcast communications medium that it shares with the plurality of sensor nodes, the method comprising the following acts performed when the sensor node has data for transmitting to the concentrator node: selecting a time slot in a contention window having a plurality of time slots and preceding a transmission period having a plurality of transmission channels; broadcasting a request signal in the selected time slot j; receiving an answer signal comprising coded information representative of an ordered combination of slots of the contention window marked as slots during which at least one signal was received by the concentrator node; determining a transmission rank on the basis of the received coded information, which rank is at least a function of the number of slots marked by the concentrator node among the time slots preceding the time slot; and deciding to transmit data in the transmission period when the determined transmission rank is less than or equal to the number of channels of said period.
15. A non transitory computer-readable storage medium comprising a computer program stored thereon, which comprises instructions for performing , a method of managing communications in a network when executed by a processor, the network comprising a concentrator node and a plurality of sensor nodes, the plurality of sensor nodes being suitable for transmitting data to the concentrator node over a broadcast communications medium that they share, said method being executed by the concentrator node, and comprising the following acts: listening to the communications medium in order to detect at least one transmission request signal received from at least one of the sensor nodes in a contention window having a plurality of time slots, the at least one transmission request signal being received prior to the concentrator node receiving the data from the at least one sensor node; marking the time slots of the contention window in which at least one received transmission request signal is detected; at the end of the contention window, coding information representative of an ordered combination of the marked slots, the information being coded so as to enable each of the at least one sensor node having transmitted a transmission request signal to determine a transmission rank on the basis of the coded information, wherein the rank is at least a function of the number of time slots marked by the concentrator node among the time slots preceding the time slot in which that sensor node transmitted the transmission request signal; and broadcasting an answer signal comprising said coded information.
Description
6. LIST OF FIGURES
(1) Other advantages and characteristics of the invention appear more clearly on reading the following description of a particular implementation of the invention given merely by way of non-limiting illustrative example, and from the accompanying drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
7. DESCRIPTION OF A PARTICULAR IMPLEMENTATION OF THE INVENTION
(10)
(11) Each node Ni presents the hardware architecture of a computer. One of the nodes N.sub.1 is shown in greater detail in
(12) The ROM 4 constitutes a data medium that is readable by the microprocessor 3. In an embodiment of the invention, it contains computer program instructions having the main steps shown in the form of a flow chart in
(13) Advantageously, the node Ni includes a communications device 100 constituting a second embodiment of the invention, as described below with reference to
(14) Periodically, or as a function of the value of the measurement signal acquired via its inlet port 7, each node Ni decides to transmit data over the network 2. In order to avoid collisions and losses of packets, each node Ni performs a collision avoidance mechanism as described in greater detail below.
(15)
(16) The stages 10 and 11 seek to determine which nodes Ni are to be authorized to transmit. Finally, the stage 13 is a transmission period during which the nodes Ni that are authorized to transmit actually transmit their data.
(17) The transmission period of stage 13 presents a plurality of transmission channels. In the example shown in
(18) The stages 10 and 11 serve to implement a two-part collision avoidance mechanism having the purpose of selecting the three nodes Ni that are to be authorized to transmit in the respective transmission channels 15, 16, and 17. Naturally, if the transmission period has a greater or smaller number of transmission channels, then the number of nodes Ni selected during the stages 10 and 11 should is adapted accordingly. The invention relates more particularly to the conductor of stage 10.
(19)
(20) In step 30 of
(21)
(22) In step 40, the node Ni obtains an instant t0 for the beginning of the next contention window 18. For example, it receives an announcement signal SA from the concentrator node CO. In step 41, it selects at random one of the time slots j in the contention window 18. The probability function used for selecting the time slot j may be of various types, for example a geometrically increasing distribution of the type described in the document by K. Jamieson, H. Balakrishnan, and Y. C. Tay entitled “Sift: A MAC protocol for event-driven wireless sensor networks”, published in EWSN (K. Römer, H. Karl, and F. Mattern, eds.), Vol. 3868 of Lecture Notes in Computer Science, pp. 260-275, Springer, 2006, or it could merely be a uniform distribution.
(23) Thereafter, the node Ni goes back to sleep in step 42 until the beginning of the time slot j of the contention window 18. It wakes at the beginning of the slot j and in step 43 it sends a transmission request signal to the concentrator node CO for marking the slot j. It goes back to sleep in step 44.
(24) At the end of the contention window, the node Ni wakes and listens in a step 45 for any messages received via its communications interface 6, as symbolized by RADIO RX.
(25) In step 46, the node Ni determines whether any of the received messages is an answer signal coming from the concentrator node CO, which is symbolized by “ANSW?”.
(26) If it has received an answer message from the concentrator node CO, it extracts from the message coded information representing an ordered combination of slots in the contention window marked as being slots during which the concentrator node received signals from the plurality of sensor nodes.
(27) The sensor node Ni is then capable of determining the number of slots that have been marked prior to the interval j that it selected, and of deducing therefrom the transmission rank Rg that is available to it.
(28) When the transmission rank Rg that is obtained has a value less than a predetermined threshold T, then the node Ni decides that it can transmit in slot number IM+1 of the transmission window. The threshold T corresponds to the number of transmission channels in the transmission period. Thus, T=3 in the example of
(29) In step 49, the node goes back to sleep and programs waking for the instant at the beginning of transmission in the stage 13 that corresponds to its own rank, i.e. one of the channels 15, 16, or 17.
(30) On the contrary, when the number of marked slots IM that is obtained has a value that is greater than or equal to the threshold T, then the node Ni decides during a step 48 that it cannot transmit during the transmission period 19, and that it will try again during the next competition, e.g. for allocating slots of transmission period 20 or 21. It goes back to sleep in step 49.
(31) Naturally, it can be understood that the coded information in this first implementation is limited to the concentrator node indicating the numbers and the ranks of the marked slots, and that it is silent about the number of nodes that have attempted to mark the same slot in the contention window.
(32) As a result, it is possible that a plurality of nodes Ni have decided simultaneously to transmit in the same time slot j that was selected independently by each of them.
(33) In order to prevent this situation arising, the nodes selected during the first stage of the collision avoidance mechanism may participate in the second stage. These are thus the nodes Ni that have data for transmission and that were able to obtain a transmission rank lower than the threshold T during the stage 10. Thus, each node Ni that participates in the second part has a rank of value lying in the range 1 to T.
(34) As shown in
(35) Thus, in the invention, a selection mechanism is performed in each contention window 19, 20, and 21 serving to select only a single node 1 that is authorized to transmit in the transmission channel 15, 16, or 17 corresponding to the respective contention window 19, 20, or 21. This second part of the collision avoidance mechanism is very useful, since during the first part, a plurality of nodes Ni might have selected the same time slot in step 55, thereby being allocated the same rank.
(36) Thereafter, each of the three nodes Ni authorized to transmit transmits its data over the transmission channel 15, 16, or 17 corresponding to its own contention window 19, 20, or 21. Thus, in the example shown, the node Ni that selected time slot No. 2 during stage 10 and that participated in the mechanism for selecting the contention window 19 during stage 11 transmits its data over the transmission channel 15.
(37) The collision avoidance mechanism also makes it possible to switch each node between its sleep state and its wake state, as a function of needs. Only the nodes Ni having data for transmitting and the concentrator node are in the wake state during transmission. The other nodes therefore consume little energy.
(38) In a second implementation, described in greater detail with reference to
(39) In this implementation of the invention, the coded information that it receives is representative of the concentrator node receiving at least one type of waveform from the plurality of predetermined waveforms. If a plurality of types of waveform are detected by the concentrator node, the node inserts this information in the coded information IC and the sensor node Ni can take account of it when determining its transmission rank. For example, if it selected the second waveform for conveying its request message and if it determines that the first waveform was detected by the concentrator node in the same time slot j as its own time slot, then it needs to shift its transmission rank by one. An advantage of this implementation is that it makes it possible to further limit any risk of collision in a given transmission interval.
(40)
(41) At the beginning of the contention window, in a step 50, the concentrator node initializes a variable i to 1. This variable corresponds to the current time slot of the contention window 18. It also initializes to zero a one-dimensional marking table TM(i) of length Tf that is equal to the number of time slots in the contention window 18. The variable i is thus an integer in the range 1 to Tf.
(42) Advantageously, during a step 51, it transmits over its radio interface a start announcement message t0 relating to a forthcoming contention window 18 for the plurality of sensor nodes Ni.
(43) During a step 52, which lasts for the duration of the current time slot i, the concentrator node listens to the signals received over its radio interface, as symbolized by RADIO RX i in
(44) Thereafter, under all circumstances, in a step 55 it verifies whether the variable i is strictly less than the threshold Tf. If it is, the concentrator node CO increments the value of the current slot i by 1 during a step 56, and then returns to the step 52.
(45) The succession of steps 52 to 56 is thus repeated for each current slot value i so long as i is strictly less than the number of slots Tf.
(46) In a first implementation of the invention, the marking table is filled in as follows: when k is equal to K−1, the concentrator node CO performs a step 57 of coding the information of the marking table in a binary sequence of length Tf as follows: the k.sup.th bit is set to 1 when the slot k has been marked by the concentrator node; else the k.sup.th bit is set to zero.
(47) This amounts to projecting the values of the marking table onto an orthogonal binary base of dimension Tf.
(48) In this first implementation of the invention, an example of which is shown in
(49) The coded information IC is thus obtained by summing the contributions of the K components as follows:
(50)
with C.sub.k=f, the indicating function, e.g. being equal to 1 when the slot k is marked, or else C.sub.k=0.
(51) In the example of
(52) The coded information IC received by the sensor nodes thus has the following value in application of the above formula:
IC=1×2.sup.0+1×2.sup.3+1×2.sup.5=1+8+32 =41
(53) From the coded information, the node Ni can determine the number of slots that have been marked by the concentrator node CO and can deduce its own transmission rank. This is made possible by the fact that an orthogonal basis has been used by the concentrator node. The coded information IC is thus resolved without loss of information.
(54) In a second implementation of the invention, the concentrator node CO is capable of distinguishing different waveforms FO as received over its radio interface from a plurality of M predetermined waveforms.
(55) With reference to
(56) In this example, consideration is given to first and second distinct waveforms FO1 and FO2.
(57) At the beginning of the contention window, in a step 50, the concentrator node initializes a variable k to 0. This variable corresponds to the current time slot of the contention window 18. It also initializes to zero a two-dimensional marking table TM(k,m) with k lying in the range 0 to K−1, K being equal to the number of slots in the contention window 18, and m lying in the range 0 to M−1, M being equal to the number of waveforms that the concentrator node is capable of distinguishing.
(58) Advantageously, during a step 51, it transmits over its radio interface a start announcement message t0 concerning a forthcoming contention window 18 to the plurality of sensor nodes Ni.
(59) During a step 52 that lasts for the duration of the current slot k, the concentrator node listens to the signals received over its radio interface, with this being symbolized by “RADIO RX i” in
(60) If during this same slot k it also detects reception of another signal, this time conveyed by the second waveform FO2, it marks the variable TM(k,2) with the value f.
(61) In contrast, if no signal conveyed by the first or the second waveform is detected, it does not mark any position. It is considered that the value zero in the position TM(k,0) indicates that no signal was detected.
(62) Thereafter, and under all circumstances, in a step 55 it verifies that the variable k is strictly less than the threshold K−1. If so, the concentrator node TO increments the value of the current slot k by 1 during a step 56, and then returns to the step 52.
(63) The succession of steps 52 to 56 is thus repeated for each value of the current slot k, so long as k is strictly less than the number of slots K−1.
(64) In this second implementation of the invention, the coded information IC is then made up in the following manner, as shown in
(65)
as the indicator function, e.g. equal to 1.
(66) Each node provides a contribution to a component of the coded information. This coded information combines all of the reception events detected by the concentrator node. Because the bases used are orthogonal, each node can resolve the coded information in unique manner on the two interleaved bases, so as to obtain its contribution to the coded information.
(67) The transmission order of the nodes is deduced from the contribution obtained from the coded information as a function of order relationships established respectively between the K components (M.sup.k) corresponding to the slots of the contention window, and the M subcomponents (2.sup.m) corresponding to the waveforms.
(68) In this implementation, these order relationships are increasing. In a variant, they could be selected to be decreasing, the important point being that the nodes know them beforehand.
(69) In the example of
(70) The concentrator node CO has detected: the first waveform FO1 in slot 0; neither waveform in slot 1; the first and second waveforms FO1 and FO2 in slot 2; the first waveform FO1 in slot 3; the first and second waveforms FO1 and FO2 in slot 4; neither waveform in slot 5; and the first waveform FO1 in slot 6.
(71) The resulting components l.sub.k are as follows:
l.sub.0=f×2.sup.0; l.sub.1=0, l.sub.2 =f×2.sup.1+f×2.sup.2; L.sub.3=f×2.sup.1; L.sub.4=f×2.sup.1+f×2.sup.2; L.sub.5=0; L.sub.6=f×2.sup.1
thereafter the coded information IC is calculated as follows:
(72)
(73) The sensor node Ni thus determines from the received coded information IC not only the number of slots marked before the slot j that it selected, but also the number of waveforms marked in those slots before its own. It is therefore capable of calculating more accurately its own transmission rank.
(74) In a variant of the above-described second implementation, the concentrator node detects only one waveform from the M predetermined waveforms. Thus, it marks only one waveform per slot k of the contention window. Only those sensor nodes that selected this waveform thus have any chance of winning when participating in the competition mechanism. This makes it possible to limit the number of collisions over a given slot of the transmission period.
(75) Advantageously, in this variant, the sensor node Ni that seeks to transmit data to the concentrator node during the next transmission period selects in random manner the waveform that it is going to use from among the predetermined M waveforms, e.g. in application of a geometrically increasing distribution relationship.
(76) With reference to
(77) By way of example, the device 100 comprises a processor unit 110, e.g. having a processor P1, that is controlled by a computer program Pg.sub.1 120 stored in a memory 130 and performing the communications method of the invention.
(78) On initialization, the code instructions of the computer program Pg.sub.1 120 are loaded for example into a RAM prior to being executed by the processor of the processor unit 110. The processor of the processor unit 110 performs the steps of the above-described communications method in application of the instructions of the computer program 120.
(79) The device 100 has a selector unit SEL for selecting a time slot in a contention window having a plurality of time slots and preceding a transmission period having a plurality of transmission channels, a unit REQ for transmitting a request signal in the selected time slot j to the concentrator node, a unit REC for receiving an answer signal conveying coded information representative of an ordered combination of the slots of the contention window that have been marked as slots during which signals were received by the concentrator node from the plurality of sensor nodes, a unit DET for determining a number of slots marked by the concentrator node in the time slots preceding the time slot j with the help of the received response signal, a unit DEC for deciding to transmit data in the time slot j when the number of slots counted is less than a predetermined threshold.
(80) According to the invention, the communications device 100 is thus arranged to co-operate with a radio transceiver module 6 of the node Ni. In particular, the unit REQ is suitable for causing the request signal REQ to be transmitted in the selected time slot j, and the unit REC is suitable for requesting from this module the signals received during a given time slot, such as for example an answer signal ANSW coming from the concentrator node CO. These units are controlled by the processor P1 of the processor unit 110.
(81) Advantageously, the communications device 100 is incorporated in a node Ni. In a variant, it could be incorporated in an independent module that is connected to the node Ni.
(82) In another variant mentioned with reference to
(83) For example, the device 200 may comprise a processor unit 210, e.g. having a processor P2 controlled by a computer program Pg.sub.2 220, stored in a memory 230 and performing the management method of the invention.
(84) On initialization, the code instructions of the computer program Pg.sub.2 220 are loaded for example into a RAM prior to being executed by the processor of the processor unit 210. The processor P2 of the processor unit 210 performs the steps of the above-described management method in application of the instructions of the computer program 220.
(85) In the invention, the management device 200 has a unit DET for detecting a quantity of energy received in a contention window containing a plurality of slots, a unit MARK for marking time slots of the contention window in which a quantity of energy greater than a predetermined energy threshold is detected at the end of the contention window, a unit COD for coding information representative of an ordered combination of marked slots, and a unit SEND for sending an answer signal to a plurality of sensors, said signal conveying said coded information.
(86) These units are controlled by the processor P2 of the processor unit 210.
(87) The unit DET is arranged to co-operate with a radio transceiver module RADIO RX.sub.CO suitable for detecting a quantity of energy received during a given time slot. The unit SEND is also arranged to co-operate with the module RADIO TX.sub.CO suitable for sending the answer signal to the plurality of sensors, under the control of the unit SEND.
(88) In advantageous manner, the marked slots are stored in the form of a marking table in memory, e.g. in the memory 130 of the management device of the invention.
(89) In an embodiment of the invention, the device 200 is incorporated in a concentrator node CO.
(90) In another embodiment of the invention, the management device 200 is incorporated in an independent module that is connected to the concentrator node.
(91) It can be seen that the above-described methods enable a concentrator node to authorize a plurality of sensor nodes Ni to transmit during a transmission period having a plurality of transmission channels.
(92) Thus, even if the transmission duration needed by a node is shorter than the duration of the transmission period, the available passband can be used by other nodes. Furthermore, the two-part collision avoidance mechanism enables the concentrator node to select those nodes that are authorized to transmit in effective manner.
(93) Because it answers all of the Ni nodes participating in the competition by broadcasting a single answer message that is very short, bandwidth occupation in the transmission channel is minimized.
(94) In a network that presents an architecture that is centralized and that includes a concentrator node suitable for communicating with a plurality of sensor nodes, there exists a need for a communications method that enables a sensor node to obtain access to the communications medium when it seeks to transmit data to the concentrator node.
(95) Another need is to propose a communications method that makes it possible to limit the risk of collisions between a plurality of simultaneous transmissions.
(96) Yet another need is to guarantee that a node can access the medium within a period of time that is compatible with the intended application.
(97) Although the present disclosure has been described with reference to one or more examples, workers skilled in the art will recognize that changes may be made in form and detail without departing from the scope of the disclosure and/or the appended claims.