The present invention is related to operation optimization of communicating devices (such as connected sensors) for minimizing the power consumption of such devices.
In a radio communication system, one of the main tasks of the Medium Access Control (MAC) layer is to provide channel access control mechanisms in order to share the available radio resource between the different devices (also called “stations” hereafter) that need to communicate.
In a packet-mode contention based channel access, the multiple access mechanism is able to detect and reduce data packet collisions.
On the contrary, in a circuit-switched channel access method, the multiple access mechanisms reserve some resource to establish a logical channel.
Usually, the multiple access mechanism is associated with error control mechanism used to control packet repetition in order to achieve a minimum Quality of Service (QoS) for each established channel. Optimising the global available bandwidth is also one of the main target of the multiple access mechanism. Examples of multiple access protocols that are used in packet radio wireless networks are CSMA/CA (used in 802.11 networks), Slotted ALOHA, Dynamic TDMA, Mobile Slotted Aloha, CDMA.
TDMA allows several users to share the same frequency channel by dividing the signal into different timeslots. Slots are allocated to a particular device avoiding any radio collision in the cell. A major advantage of TDMA is that the radio part of the mobile only needs to listen and broadcast for its own timeslot. Time is usually divided in fixed-duration time frames, each frame being divided into a fix number of slots. A central controller named access point, or base station in some standards, is in charge of sharing the bandwidth among the different devices that need to communicate. Some timeslots are then granted to each device, each timeslot being dedicated to the communication of the device. Usually timeslots are periodically allocated, and organised in consecutive time super-frame.
In dynamic TDMA, a scheduling algorithm dynamically reserves a variable number of timeslots in each super-frame to some variable bit-rate data streams, based on the traffic demand of each data stream. Then, the central controller order the different allocated timeslot into the super-frame in order to optimize bandwidth (reducing inter-slot times and signalling data) and the devices power consumption. To that end, signalling information is inserted at the beginning of each super-frame in order to indicate to each device the amount of allocated timeslots and their position (i.e. time offset).
In CSMA/CA, no central scheduling is required since each station decides whether it can transmit data over the channel. A Carrier Sense mechanism is used prior to transmitting to detect channel occupancy. When another station is heard, a Collision Avoidance determines the waiting period before listening again for a free communication channel. One drawback of this method is the necessity for the receiver station to listen permanently the channel, which has the high power consumption cost. For this reason, power saving algorithms have been developed to reduce power consumption. Most of them are based on the introduction of time frame of fixed duration signalled by a specific broadcast beacon frame emitted by a central controller. Only communication between the central controller and stations are allowed (i.e. infrastructure mode in 802.11). Then, stations are awoken only during some specific time frame. Central controller schedules the downlink traffic only during time frame where the destination station is awoken. However, this kind of mechanism requires the station to be awoken and to listen to the channel during one complete time frame instead of one slot in TDMA.
New hardware radio modules implement now very efficient sleeping modes that allow reducing the power consumption to several micro amperes. But putting microprocessor in active or sleeping modes still requires more power (several mA for low power devices). Considering the radio module, data reception and above all data transmission always require also more power (˜5-20 mA) for on-the-shelf integrated radio system-on-chip.
Transitions between power saving and actives modes require generally some delay because of hardware and software constraints. Then, those behaviours induce some overhead in term of power consumption and they shall be considered when designing a multiple access protocol which is not the case of existing methods.
Because of their very low power consumption, such communication modules can be coupled with energy harvesting power supply. Energy harvesting is the process that consists in collecting ambient energy (such as thermal energy, solar energy, wind energy and so on). The energy is drawn from the environment, converted and stored in a small battery or a capacitor, in order to provide energy to the microcontroller unit.
Harvesting RF energy is particularly advantageous in a communication system since it can be used to feed every wireless communication devices in a cell. Using dedicated source of RF energy allows to control the power supply of each devices. The Medium Access Control layer shall then take in charge the scheduling of burst of energy to power the wireless devices. It will depend on the multiple access protocol and the allocated radio resources.
One problem to be addressed by the invention can be defined as follows.
In a communication system dedicated to ultralow powered devices, the centralized multiple access control mechanism running in the central controller must be able to take into account not only the traffic requirement but also the energy constraints of each device in the cell in order to share the radio bandwidth. Indeed, the different wireless devices may have some heterogeneous needs because of their application requirement, their localization, and their hardware constraints.
Existing scheduling schemes used for resource sharing only consider whether a device is wake-up or sleeping. However, it can be considered a network system where the power supply of the wireless devices may use a Radio Frequency (RF) harvesting process with a dedicated RF source collocated in and controlled by the central controller to feed in power the connected devices. Then, there is a need for a centralized multiple access control mechanism that optimizes the slot allocation process and is able to schedule some bursts of energy to feed the wireless devices. This ensures the wireless network system is able to respect the traffic requirements, meaning the associated QoS of applications that run over the wireless devices.
The proposed multiple access control method based on centralized TDMA is in charge of the following tasks:
The goal of the invention is to get a trade-off between the global bandwidth, the radio interferences, and the QoS requirements of the different wireless devices taking into account the energy constraints linked to the RF energy harvesting process that is used to power some of the wireless devices.
The invention aims to improve the situation, compared to the state of the art scheduling methods that only take traffic requirements as input.
To that end, it proposes a method implemented by computer means for scheduling at least data communication in a system comprising:
More particularly, each of said devices is further configured for waking up and being active to receive the beacon, and then:
It should be understood thus that the cell controller is configured for scheduling timeslots to be allocated to devices and possibly for scheduling further durations of energy bursts to provide to devices so as to load their power batteries, like presented in a particular embodiment described below.
Concerning the timeslots, the cell controller can determine the duration of the timeslots but further the time offset between the beginning of the beacon and the moment when a device can use its dedicated timeslot (i.e. the position of that timeslot in the super-frame presented above).
According to the invention, the cell controller, before sending a current beacon, is further configured for performing the following:
Therefore, thanks to that new calculation of time offset and taking into account the maximum the device can support, an optimized timeslot allocation (and in particular time offset) is performed and makes it possible to save more energy for the communicating devices.
In a particular embodiment (described below as step S7 of
In an embodiment, the maximum supported time offset for a device is given by:
Max(toff,n)=(E0,n−Esf,n(0))/PA, where:
In this embodiment, the estimated level of consumed energy by the device can be given by:
E
sf,n(0)PRx*(TBeacon+TRx,n)+PTx*TTx,n+PA*(TGS)
Furthermore, a time TDec taken by the device to decode the beacon can be further taken into account and the estimated level of consumed energy by the device can be given by:
E
sf,n(0)PRx*(TBeacon+TRx,n)+PTx*TTx,n+PA*(TDec+TGS)
The cell controller can be configured further to take into account, at least when allocating a new time offset toff,n, an extra energy cost due to insertion of a sleeping period between the beacon broadcast and the moment when the device receives its dedicated timeslot, said extra energy cost being estimated by:
P
A*(TGS+TWU+TPreTS−toff,n) with toff,n<TGS+TWU+TPreTS, and where:
The cell controller can be configured further to calculate an estimated energy consumed by the device according to its time offset toff,n:
E
sf,n(toff,n)=PRx*(TBeacon+TRx,n)+PTx*TTx,n+PA*(TDec+TGS)+PA*min(toff,n,TGS+TWU+TPreTS)=Esf,n(0)+PA*min(toff,nTGS+TWu+TPreTS)
with Esf,n(0)=PRx*(TBeacon+TRx,n)+PTx*TTx,n+PA*(TDec+TGS)
In a particular embodiment of the invention taking further into account energy burst durations to provide to devices, the cell controller is configured further to schedule energy burst transmissions to devices needing an energy battery load, and the cell controller:
* performs for said considered device of operation d):
In this embodiment, the cell controller can further update the scheduled duration of energy burst to fit the power need of:
The present invention aims at a cell controller (CC) comprising a processing circuit for performing the method presented above and an example of which is shown in
The present invention aims also at a computer program product, comprising instructions for performing the method as defined above, when run by a processor. A general algorithm of such a computer program can be illustrated by way of an example by the flowchart corresponding to
More generally, the present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings, in which like reference numerals refer to similar elements.
The invention proposes a multiple access protocol implementation that is adapted to a radio communication system with ultralow powered devices.
A Central Controller (labelled “CC” in
As shown in
Each wireless device may have different traffic requirements and it is supposed they are able to communicate their need by using signalling data. As introduced above, before each super-frame, the cell controller CC runs scheduling algorithms to determine the amount of granted resource in the super-frame for each wake-up device.
Wireless devices also periodically report their battery/capacitor status as well as the received signal strength by using a piggybacking mechanism (signalling part). Thanks to that information, the cell controller CC is able to evaluate the evolution of the level of energy in each device.
The cell controller CC must execute the data scheduling, super-frame building and energy scheduling processes at the beginning of the preceding super-frame, so that it shall have time to potentially send some burst of energy to some requesting wireless devices.
The following relates to power consumption prediction.
To be able to efficiently predict the energy consumed by any device, the CC must know some static parameters that are dependent on the type of hardware device such as:
Power supply of the wireless devices may use a RF harvesting process with a dedicated RF source collocated in and controlled by the central controller. Consequently, for each device, the centralized multiple access control mechanism must also have knowledge of some static parameters related to energy such as:
Some energy indicators are also defined to model and predict the power consumption of a device. The following parameters are permanently changing and shall be measured and reported by the device:
The cell controller (named “CC” hereafter) controls the duration and the transmission power of energy bursts. Knowing the path loss (derived from the RSSI), and the power conversion efficiency ratio, the CC is able to calculate the amount of energy gathered by each device during the emission of an energy burst. In the reverse way, it can evaluate precisely the amount of energy the device will consume during the sleep, active, Reception (Rx) and Transmission (Tx) periods by simply multiplying the respective reference power values with the duration of these periods. After the reception of a data packet, the evaluated battery value is reset with the measured value indicated in said packet. The difference is used to calculate the error margin that is used to calculate a timeslot duration.
More particularly here, the evaluated value of the stored energy is synchronised with the measured value upon reception of a valid packet in the CC. Error in the evaluation can be due to a bad estimation of the average RSSI or the power conversion efficiency ratio.
The following is related to slot ordering and super-frame building.
At the beginning of the super-frame, the beacon frame is broadcast over an “announcement channel” to every attached device. Each awaken device shall be ready to receive it, meaning that it shall be wakeup a minimum amount of time tprerx before the beginning of the beacon. So, the device can be considered to be active during twakeup+tprerx before the reception of the beacon.
As mentioned before, the beacon contains some signalling data that can be decoded so that each active device can identify its allocated timeslot (time offset and duration) within the super frame. During this decoding phase, the device is active. Then, depending on the timeslot position, the device may either go to sleep or stay active, waiting for its dedicated timeslot. The minimum time for sleeping is equal to the sum of Twakeup+Tgotosleep.
If the waiting time is lower than this value, then the device must stay active because it will not have enough time to go to sleep and wake up. On the contrary, knowing that the power consumption is more or less identical for the wakeup, “go to sleep” and active phases, it is preferable that a device starts a go-to-sleep procedure in order to benefit from the ultra-low power consumption of the deep sleep modes that are now available on many chipsets.
Consequently, the cell controller CC can estimate the energy overhead implied by entering/exiting the deep sleep mode.
It must be noticed that the energy cost of the usage of a given timeslot can also be evaluated by the cell controller CC when building the structure of the next super-frame.
In order to fulfil the scheduling requirements, the goal of the super-frame building algorithm is to order the timeslots so that every device has a positive energy level after the timeslot emission.
Consequently, for each device, it is possible to calculate the maximum time offset it is able to support, this time offset being related to the sum of the go-to-sleep and wake-up phase durations. The cell controller CC can then order the scheduled devices (i.e. which have scheduled resource) in the current super-frame according to this value.
As input of the algorithm which will be described hereafter with reference to
For a device scheduled shortly after the beacon (a device having the index #0 below), the energy cost expended during one super-frame is:
E
sf,0
=P
Rx*(TBeacon+TRx,0)+PTx*TTx,0+PA*(TDecTGS+toff,0) with TTx,0+TRx,0<TTimeSlot0
As indicated above, duration TDec is optional and can be taken into account in a sophisticated embodiment.
Furthermore, duration TRx,0 is to be considered as optional as well, especially if no data is to be expected in reception for device #0. For a similar reason, if no data is to be expected in transmission for device #0, duration TTx,0 can be considered as optional as well. However, it is to be noticed that if there is no data to receive/transmit for device #0, then, device #0 should be in a sleep mode.
It should be noticed further that duration TGS is duly taken into account here.
For a device scheduled after a long time (a device having an index “1” in the equation given below and as illustrated in
E
sf,1
=P
Rx*(TBeacon+TRx,1)+PTx*TTx,1+PA*(TDec+TPreTS+2*TGS+TWU) with TRx,1+TTx,1<TTimeSlot1
with durations TPreTS and TDec optional and which can be taken into account in sophisticated embodiments.
It shall be noticed further that the sleeping power consumption is negligible compared to any other power consumption, so it is not considered in this energy calculation.
Extra energy cost due to insertion of a sleeping period is then equal to:
P
A*(TGS+TWU+TPreTS−toff,n) with toff,n<TGS+TWU+TPreTS.
Consequently, the energy consumed by the device n according to the time offset can be estimated to:
E
sf,n(toff,n)=PRx*(TBeacon+TRx,n)+PTx*TTx,n+PA*(TDec+TGS)+PA*min(toff,n,TGS+TWU+TPreTS)=Esf,n(0)+PA*min(toff,n,TGS+TWU+TPreTS)
with Esf,n(0)=PRx*(TBeacon+TRx,n)+PTx*TTx,n+PA*(TDec TGS)
Then it comes the maximum supported time offset for device #n is:
Max(toff,n)=(E0,n−Esf,n(0))/PA
with E0,n the estimated level of available energy for device n before the start of the super-frame.
Taking this result, the method, the steps of which are proposed in the description of
In other words, the cell controller CC shall then order the scheduled devices (i.e. which have scheduled resource) in the current super-frame according to their maximum supported time offset.
Namely, the method can be applied for devices with same or similar level of priority in order to decide the ordering of allocated timeslots within the next super-frame.
S being the set of devices to be scheduled during the super-frame, for each device of S is given the duration of the scheduled timeslot (TRx,n+TTx,n) and the maximum supported time offset Max(toff,n). A classification table is defined, and empty at the beginning of the ordering process at step S0 of
In step S1, the maximum supported time offset Max(toff,n) is determined for each device #n aimed in a next beacon and in step S2, the devices are ranked in a list L1 according to their maximum supported time offset Max(toff,n) and this list L1 is stored.
In step S3, the first device of the list L1 is picked and put at the end of the list as the last device of the list. Said in other words, the device with the lowest maximum supported time offset Max(toff,n), called previously the “considered device”, is drawn from the head of the list and inserted in the classification list L1 at its end.
In step S4, the time offset toff,n of that considered device is calculated and if it is greater than its maximum supported time offset Max(toff,n), then it is tried to exchange this device with a previous device in the classification list L1 (moved up in the list), and the time offset for this considered device is recalculated in step S5 (and for the exchanged device as well as shown in the examples below).
As for an example hereafter, devices #4 and #3 were already inserted in the classification list.
Device #5 is the next to be inserted.
As, for device #5, toff,n is greater than max(toff,n), then new entry #5 is to be moved up, as shown below:
and toff,n are re-calculated for both devices #5 and #3.
Referring again to
Then, in step S12, the beacon can be broadcast, according to the data contented in list L2 with finally:
In a particular optional embodiment described hereafter and drawn in dashed lines in
Consequently, in that optional embodiment, it is proposed to modify the super-frame building algorithm in order to determine the minimum level of additional energy that shall be scheduled in order to fulfil the requirements of every wireless device.
The maximum energy that can be scheduled inside the super-frame n is equal to Ps,Tx*Ts where Ps is the transmitted power of the energy burst, and Ts the burst duration.
The received power in device n is equal to Ps,Rx=Ps,Tx*Gs,n*Cs,n with G the gain and C the power conversion efficiency ratio. Consequently, the received energy of device n is equal to:
E
s,n(ts)=ts*Ps,Tx*Gs,n*Cs,n with ts<Ts
The algorithm exposed in
Therefore, referring again to
E
miss,n=[toff,n−max(toff,n)·]*PA
It can be calculated then the minimum burst length to insert timeslot of device #n at the given position in the super-frame:
t
s[toff,n−max(toff,n)]*PA/(Ps,Tx*Gs,n*Cs,n)
If that value is lower than Ts (i.e. the maximum duration of energy burst), then the timeslot is inserted in the allocation table.
Then, in order to minimize the energy burst duration, the lowest ts value is selected among the different insertion possibilities, as presented in the examples below.
Here, starting from the same example table below, a timeslot for device #5 is to be added at the end of the table.
Unfortunately, its time offset is greater than the maximum supported value. The duration of the requested energy burst to provide the missing energy is equal to 10 ms for example.
Trying to move up the entry, the acceptance condition is still not fulfilled because putting timeslot for device #3 at the end implies a time offset greater than the maximum supported value.
However, the duration of the requested energy burst to provide the missing energy is equal to 8 ms, as shown below, which is lower than the previous situation.
Consequently, this solution is applied as allocation table.
Referring then to
The proposed invention can be deployed in IoT communication system for home or office or facilities or factory automation environment. It is compatible with ultra low-powered devices powered by small batteries or energy harvesting system. It can also be advantageously to deploy completely wireless sensors or devices in some specific environment that does not support wires, or to reduce designing/manufacturing/maintenance costs.
In the example shown in
| Number | Date | Country | Kind |
|---|---|---|---|
| 18305255.4 | Mar 2018 | EP | regional |
| Filing Document | Filing Date | Country | Kind |
|---|---|---|---|
| PCT/JP2018/048628 | 12/26/2018 | WO | 00 |