1. Introduction
Wireless sensor networks typically consist of distributed battery-equipped sensors which aim to monitor a given area by sensing relevant physical information. One practical example of these kinds of networks is the monitoring in coal mines, because condition monitoring and failure diagnosis are essential to environmental security and equipment operation safety in coal mines and wireless sensor networks can better adapt to complex environments without wiring [
1,
2,
3]. In practice, the memory, power supply and processing capacity of sensor nodes are limited, and the environment in coal mines is very harsh, making it difficult to replace and recharge batteries manually and the nodes’ energy can be exhausted easily. Although there are increasingly innovative energy harvesting methods, such as wireless energy harvesting [
4,
5], and wind energy harvesting [
6,
7], which can potentially prolong the lifetime of wireless sensor networks, how to allocate power and use energy effectively is still a problem.
Aiming at resolving this problem, a number of studies have been launched. Xu formulated a new energy-efficient packet scheduling problem by adopting a recently developed channel capacity formula for finite blocklength codes [
8]. Gong implemented a generic algorithm to search for an energy-cost-effective schedule under volatile energy price conditions with the constraint of due dates [
9]. Suto et al. proposed an energy-efficient and delay-aware wireless computing system (E2DA-WCS) that can control the sleep schedules of nodes and the number of links to minimize the power consumption, while providing an acceptable delay constraint [
10]. In [
11], the optimal schedules were generated to maximize the delay-tolerant throughput of an energy harvesting powered wireless link with negligible circuit power in time-invariant channels. An auction model with multiple auctioneers, multiple bidders and hybrid divisible/indivisible commodities was proposed to solve channel bands and cooperative transmit power competitions among secondary users [
12].
Some authors have also considered interference and imperfect channel state information (CSI) in resource allocation of wireless networks. In [
13], the authors derived a fundamental relation providing the largest feasible cellular Signal-to-Interference-PlusNoise Ratio (SINR) to quantify ear-far effects with universal frequency reuse. Then the authors proposed a distributed utility-based SINR adaptation at femtocells in order to alleviate cross-tier interference at the macrocell from co-channel femtocells. In [
14], the authors applied the dual decomposition method and proposed a resource allocation scheme for co-channel femtocells, which aimed to maximize the capacity for both delay-sensitive users and delay-tolerant users subject to a delay-sensitive users’ QoS constraint and an interference constraint imposed by the macrocell. In [
15], the authors considered imperfect hybrid spectrum sensing, cross-tier interference mitigation, minimum data rate requirement and energy efficiency. An iterative power control algorithm and a near optimal sensing time scheme are developed in an asymptotically optimal manner. In [
16], minimum outage probability requirement and fairness are also considered, a unified analytical framework is proposed for the optimization problem, where the near optimal cooperative bargaining resource allocation strategy is derived based on Lagrangian dual decomposition by introducing time-sharing variables and recalling the Lambert-W function. In [
17], the authors proposed an asymptotically optimal algorithm based on the dual decomposition method and a heuristic algorithm based on alternating optimization respectively, in order to solve the mixed integer programming and non-convex problem in the subcarrier assignment, subcarrier pairing and power allocations.
However, in those existing works, the special situation in coal mines that the network traffic may be unbalanced because the amount of data arriving at different nodes may be different is ignored. This are many reasons for this in coal mines. Data acquisition rates may differ in different application environments such as the detection of gears and bearings in the structural health monitoring systems [
18,
19,
20]. Heterogeneous nodes may sample different sorts of physical information such as gas, vibration and image, producing different data flows in wireless sensor networks. In some cases, if mechanical equipment fails or will fail, soaring amounts of data will emerge in the corresponding sensors, waiting to be transmitted, which leads to an unbalanced distribution of network traffic. Hence the transmission mechanism should make comprehensive assessment of the number of arriving data, queue lengths and channel states to allocate power properly and prevent a certain queue from reaching the maximum size earlier. If not handled properly, important data may be dropped [
21].
In this paper, power is allocated effectively based on channel states and the data classification. A kind of data classification based on the number of arriving data packets is applied in this paper. The arriving data with a larger number of packets has a higher priority. Then Lyapunov drift optimization is applied to schedule network resources considering the channel states, classified data and QoS requirements, because Lyapunov drift optimization can stabilize the system and optimize communication queue scheduling performance without arrival rate and channel state statistics [
22,
23,
24]. Finally, a suboptimal strategy is proposed in which power is allocated dynamically in reaction to the current channel state, the queue backlog, the data class and the weight factor. The algorithm is simulated under scenarios with the perfect CSI and imperfect CSI, respectively. Although our study is similar to [
25] at first glance, in fact we aim to control and constrain queue lengths in advance by transmitting classified data with a higher priority first. As a result, the Lyapunov drift optimization is utilized to minimize the weight sum of the average power and the average data class.
The paper is organized as follows: in the next section, a wireless sensor network model is described and the optimization problem is formulated. The proposed framework is presented in
Section 3. Performance evaluation results under the scenarios with perfect CSI and imperfect CSI are discussed in
Section 4. Finally, in
Section 5, we draw the main conclusions of our work.
2. Problem Definition
A network model of multiple transmitters and one receiver is included in the current wireless sensor networks [
26,
27,
28]. Provided that data can be sent to the fusion center directly with
N nodes and
L links, each source node will put packets into the transmission queue in accordance with FIFO principle, as shown in
Figure 1.
The incoming data is assumed to leave the network once it is sent over a transmission link
. Let
represent the channel state over the link
, which is time-varying and finite. Let
represent the transmission rate over link
during slot
, and
is a continuous function of the power
for each channel state
, abbreviated as
, for the whole network
. Let
represent the power allocated over links during every slot
and
is limited by a peak value
according to the discrete ON/OFF power constraint
. If
for some link, then
, namely
. The arriving data and channel states are assumed to be ergodic with the arrival rate
and the channel probability
.
is given as the number of packets arriving for transmission over links; The data is classified based on the following principle:
is the class level,
is the boundary, and
is the class vector. When the channel state over link
is
, the probability of chosen
is
, equaling to the probability of
, and the probability of the data with a class admitted into a queue is
. Then an ideal power allocation strategy should solve the following problems:
Our target in (2) is to minimize power consumption and the class of data received by the fusion center (the larger the number of packets is, the smaller the class function
is).
W is a weight factor representing on “importance weight” on how much we emphasize the average level of the data admitted; Constraint 3 guarantees the stability of the network, namely rate vector
strictly in the internal network capacity
[
29]. Although the objective function and constraints can be formulated, it is hard to solve the problem without any prior probability knowledge. Even though these parameters are obtained, the large amount of calculation will not make it very suitable [
30].
3. Power Allocation Based on Data Classification
In this paper, a Lyapunov optimization algorithm is applied to solve the aforementioned problems. Define the queue backlog
, representing queue length waiting to be sent. The
queueing dynamic are:
Define the Lyapunov function:
Now, define
as the Lyapunov drift for slot t:
Drift plus penalty is obtained as:
V is the penalty factor and
W is the weight factor.
V and
W can be considered as weight factors of the power and data class, respectively. When
V and
W are changed, the importance of
and
will be adjusted. According to the Lyapunov drift theorem, by minimizing (6), we can achieve a stable network system and the minimization of the object function. Admittedly, any control decision meeting constraints (3) satisfies the following inequality at any slot
t:
where
B being is a fixed constant that satisfies the following inequality:
To minimize the Lyapunov bound is to minimize the right hand side of the inequality (8). Hence, a suboptimal strategy is acquired: observe
,
and
every slot
, and allocate power vector
according to the following rules:
Although (10) gives a solution to the power allocation problem of (2) and (3), an algorithm to provide the execution structure and the executing entity for the equations still needs to be designed. Therefore, we propose Algorithm 1 as an implementation of our resource scheduling solution.
Algorithm 1: Power Allocation Based on Data Classification |
1. | Every node measures the channel state and data class |
2. | Calculate |
3. | repeat |
4. | if |
5. | |
6. | else |
7. | for i = 1 to L−1 |
8. | max(, ), |
9. | If max(, )== |
10. | |
11. | else |
12. | |
13. | end for |
14. | i = i + 1 |
15. | end for |
16. | end for |
17. | Update , |