1.1 Background
Power distribution internet of things (PD-IoT) realizes comprehensive perception, data fusion, and intelligent applications of the distribution network through the interconnection and intercommunication between power distribution network devices (Lv J. et al., 2018; Liu J. et al., 2018; Liu Z., 2016). With the rapid development of IoT technology in the distribution network and the significantly increasing number of PD-IoT devices, the traditional request/response mechanism is no longer suitable (Kim G. et al., 2019; Stankovic J. A., 2020). Moreover, due to the limited battery capacity and computation resources of PD-IoT devices, it is difficult to meet the quality of service (QoS) requirements of the low packet-loss ratio and low energy consumption in PD-IoT (Zhou Z. et al., 2020; Mumtaz S. et al., 2017; Ding Z. et al., 2019; Liao H. et al., 2020; Sadio O. et al., 2019). Therefore, how to ensure the QoS requirements of PD-IoT devices with limited resources is a difficult problem.
Message queue telemetry transmission (MQTT) provides an effective solution as an IoT transmission protocol based on publish/subscribe mechanism, which has the characteristics of simple implementation, lightweight, and high bandwidth utilization (Sadio O. et al., 2019; Herrero, R. et al., 2019). Specifically, it provides three flexible QoS modes to achieve the reliable transmission of different task data, i.e., “at most once QoS0”, “at least once QoS1”, and “exactly once QoS2”, which are introduced as follows:
At most once QoS0: Named as “QoS0 mode”, sender sends a PUBLISH data packet containing the message to the receiver, and each PUBLISH data packet is sent only once, regardless of whether the receiver successfully receives the PUBLISH data packet. Therefore, although the energy consumption of QoS0 mode is low, the high packet-loss ratio is caused when the channel state is poor or the power control is lacking.
At least once QoS1: Named as “QoS1 mode”. Each PUBLISH data packet is guaranteed to be received successfully at least once. If the feedback confirmation data packet, i.e., the PUBACK data packet is not received by the sender within a period of time, the PUBLISH data packet will be retransmitted. The data deduplication energy consumption is introduced while the packet-loss ratio is zero.
Exactly once QoS2: Named as “QoS2 mode”. The QoS2 mode ensures that each PUBLISH data packet is only successfully received by the receiver once through two interaction processes. If a data packet with the same information header as the previously stored information header is received, the receiver will treat it as a duplicate message and discard it. Therefore, the energy consumption of deduplication is avoided at the cost of increasing the energy consumption of transmission considering the two interaction processes in the QoS2 mode.
In summary, different QoS modes have different performance in terms of packet-loss ratio and energy consumption. In addition, power control also affects the packet-loss ratio and energy consumption simultaneously by adjusting the allocated transmission power. Therefore, in order to achieve a dynamic tradeoff between packet-loss ratio and energy consumption, it is intuitive to jointly optimize the MQTT QoS mode selection and power control.