• No results found

A S-type Rate Control Protocol: PEA-DLEX

achieves hard ENO guarantee, and therefore prevents any node in the network running out of energy.

Although SP-BCP is a simple extension of backpressue routing in SP-WSNs, it is a repre- sentative example to show how to ensure ENO for D-type protocols. However, to integrate a load threshold provided by LPM into Lynapunov optimisation framework, we can also use 1/min(DRx, DRy) as the penalty over a link (x, y), since 1/ min(DRx,DRy)→ ∞ as min(DRx,

DRy )→ 0; or stabilise virtual queues (e.g. [126]) to ensure ENO.

3.8

A S-type Rate Control Protocol: PEA-DLEX

Recall that LPM for S-type network protocols require solar prediction for a long future period, therefore the key practical issue for such protocols is the accumulated prediction errors of multiple future slots in a prediction interval. For an individual node, if the predicted solar power is larger than the real solar power, LPM would assign a larger load constraint, resulting in a risk of battery exhausting; otherwise, solar harvesting opportunities cannot be fully utilised, leading to energy waste and poor per node utility. For the whole network, the prediction errors may be heterogeneous across different individual nodes in a SP-WSN (e.g. future solar power is over-evaluated by some nodes but under-evaluated by others), which would further degrade the end-to-end network performance.

In this subsection, we will show that self-management principles are quite useful for devel- oping practical S-type protocols in SP-WSNs. We propose a dynamic rate control protocol PEA-DLEX, which adaptively adjusts the sensing rate at which each node measures the envi- ronmental data to achieve Maxmin fairness [140] and ENO, by modifying the static algorithm DLEX [53].

DLEX is a distributed algorithm to compute the max-min fairness rate allocation with a fixed routing tree rooted at the sink. The operations of DLEX are as follows: each sensor node x computes its initial sensing rate rx based on its local resource information (i.e. energy budget

received the control packet, y updates rx based on its local resource information (i.e. energy

budget of y) and all received sensing rates. Then, node y sends a control packet containing the updated rx to its parent. This process is repeated at each node from all leaves to the root

(i.e. the sink). The sink will send a feedback packet to all sensor node to notify their finally computed sensing rates.

We consider a routing tree consisting of N sensor nodes and a sink S in a prediction interval l. Assume all wireless links have the same capacity C (kbps). Let STx be the set of all nodes in

the subtree rooted at x, excluding x. A rate assignment can be represented as a N -dimensional vector R = (r1, r2, ..., rN) where the xth entry represents the sensing rate of node x.

Definition 3.1 (Feasible Rate Assignment). A rate assignment is feasible if under which every

node can achieve ENO. Mathematically, for every node x in the routing tree, the following inequality must be guaranteed

rx+ 2



y∈STx

ry ≤ Dxmax(l)C (3.15)

Inequality (3.15) represents the sum of node x’s actual forwarding data rate5, AF

x = rx+

2y∈ST

xry should not be larger than the maximum allowed data rate λx= D max

x (l)C. Under

a feasible rate assignment, every node x must be in one of the two states: saturated, if AFx= λx; unsaturated, if AFx< λx.

Definition 3.2 (Max-min Fair Rate Assignment [140]). A feasible rate assignment vector R =

(r1, r2,· · · , rN)is max-min fair if and only if for all feasible rate assignment vector R = (r1,

r2,· · · , rN ) such that there exist 1≤ i ≤ N and 1 ≤ j ≤ N such that ri> ri and rj < rj ≤ ri.

In other words, increasing a rate ri must be at the expense of decreasing some already smaller

or equal rate rj.

For instance, consider slot 1 in Figure 3.9, the max-min fair rate assignment is (r4 = 1, r3 =

5Because the common commercial wireless radios such as CC2420 are half-duplex, each node cannot transmit and receive at the same time. Node x has to receive and transmit the data traffic generated by all nodes in STx

(i.e. 2y∈STxry), as well as transmits its own data (i.e. rx). Therefore, we have AFx= rx+ 2



3.8. A S-type Rate Control Protocol: PEA-DLEX 47

1, r2 = 1.5, r1 = 1.5) is fairer (in terms of max-min fairness) than any other feasible rate assignment such as (r4 = 1, r3= 1, r2 = 1, r2= 2.5).

Recall that Dmax

x (l) provided by the LPM component of node x is for the whole prediction

interval l. The DLEX algorithm [53] uses a static max-min fair assignment (calculated in slot 1) for all slots 1≤ i ≤ L. However, due to prediction error, nodes need to adaptively increase or decrease Dmax

x (l), when predicted solar power is smaller or larger than real solar power

respectively to achieve ENO and better rate assignment (in terms of max-min fairness). To this end, i.e. x tracks its state (i.e. saturated or unsaturated) and ΔBx(i) = Bxreal(i)−Bexpectx (i)

in every slot i, where Breal

x (i) and B expect

x (i) represent the real measured battery level and the

expected virtual battery level computed by LPM algorithm respectively. If|ΔBi

x| is larger than

a predefined threshold DBT, x updates Dmaxx (l) and λx by using the LPM algorithm. Let the

Δλx be the differential between the updated and previous λx, which updates when Dxmax(l) is

updated.

PEA-DLEX adjusts the rate assignment if one of the two events, Rate Decrease (RD) and Rate Increase (RI), is triggered by any node x’s state change or Δλx update as follows

• A RD event is triggered if Δλx <0 or x’s state changes from unsaturated to saturated.

In this case, x has to decrease its actual forwarding load AFx to ensure ENO. To this

end, x updates rx and ry, y∈ STx6, then multicasts the updated sensing rates carried by

a RD packet to the nodes in STx.

• A RI event is triggered if x is saturated and Δλx>0. In this case, x sends a RI packet

that contains the updated rates of nodes in{x} ∪ STxtowards the sink. When the packet

is received by a downstream node z, if current rz is larger than rx in the RI packet or z

is unsaturated, node z forwards an updated RI packet containing rz and all rates carried

in the received RI packet to its parent; otherwise z drops the RI packet. This process is repeated until the RI packet is received by the sink. The sink updates the RI packet and sends it back to x. When a node between the sink and x forwards this RI packet, it updates its rate as assigned by the sink. Upon receiving the RI, x updates its rate and

r2=r1=1.5 r4=r3=1 4 3 2 1 S r4=r3=r2=0.8 4 3 S r1=1.5 r4=r3=r2=0.8 4 3 2 S r1=6 RD RI r4=r3=1 4 3 2 1 S r1=6 RI RI r2=2 slot i3 slot i1 slot 1 slot i2 1 1 2 λ1=8.5 λ3=3 λ2=4 λ4=9 λ2=6 λ1=8.5 λ2=4 λ1=14 λ2=6 λ1=14 RD RI RI λ3=3 λ4=9 λ4=9λ3=3 λ4=9 λ3=3 RI ... ... ...

Figure 3.9: An example of PEA-DLEX in a line topology SP-WSN in 4 slots 1 < i1 < i2 < i3 ≤ L during a prediction interval l. Saturated and unsaturated nodes are marked as black and white circles respectively.

multicasts the RI packet towards its upstream node(s). The RI packet sent by x will be forwarded by unsaturated nodes, but will be dropped by saturated nodes.

Take Figure 3.9 for instance, after the initialisation in slot 1, node 2 triggers a RD event in slot i1. Since Δλ2 =−2 < 0, node 2 assigns the new rates r2 = r3 = r4 = 0.8 and transmits the updated rates to nodes 3 and 4. In slot i2, node 1 triggers a RI event (Δλ1 = 5.5). It sends a RI packet to the sink which assigns the new rates (1, 1, 2, 6), based on the previous information of nodes 2–4 in slot 1 and current information of nodes 1 in slot i2. However, node 2 drops the RI packet sent by the sink since it is saturated. In slot i3, node 2 triggers a RI event (Δλ1 = 2). The sink computes the new rate (1, 1, 2, 6) based on the information from nodes 3 and 4 in slot 1 and nodes 1 and 2 in slot i3. The updated rates can be sent to every node.

It can be seen that the reactions for RD and RI events are to make a tradeoff between com- munication overhead and optimal max-min fairness (rate assignments in slots i2 and i3 are not optimal): Adjusting nodes’ rates locally needs no communication but may lead to poor max- min fairness and battery exhaustion (e.g. If a RI event is triggered by a node, greedily increase its sensing rate may lead to battery exhaustion for its downstream nodes); while globally up- dating rate assignments in every slot (i.e. simply set DLEX as a D-type protocol) can guarantee strict max-min fairness and ENO theoretically, but will lead to heavy overheads in practice. In contrast to above two extreme cases, PEA-DLEX smartly adjusts nodes’ sensing rates, and manages to achieve ENO, max-min fairness, and relatively low communication overhead, due to its adaptiveness to the solar prediction errors.