Approximation algorithm for data broadcasting in duty cycled multihop wireless networks
 Dianbo Zhao^{1}Email author and
 KwanWu Chin^{1}
https://doi.org/10.1186/168714992013248
© Zhao and Chin; licensee Springer. 2013
Received: 21 January 2013
Accepted: 11 October 2013
Published: 23 October 2013
Abstract
Broadcast is a fundamental operation in wireless networks. To this end, many past studies have studied the NPhard, broadcast problem for alwayson multihop networks. However, in wireless sensor networks, nodes are powered by batteries, meaning, they have finite energy. Consequently, nodes are required to have a low duty cycle, whereby they switch between active and sleep state periodically. This means that a transmission from a node may not reach all of its neighbors simultaneously. Consequently, any developed broadcast protocols must consider collisions and the wakeup times of neighboring nodes. Henceforth, this paper studies the minimum latency broadcast scheduling problem in duty cycled multihop wireless networks (MLBSDC), which remains NP hard. The MLBSDC problem aims to find a collisionfree schedule that minimizes the time in which the last node receives a broadcast message. We propose a novel algorithm called CFBS that allows nodes in different layers of the broadcast tree to transmit simultaneously. We prove that CFBS produces a latency of at most $(T+1)H+T\mathcal{O}\left({log}_{2}H\right)$. Here, T denotes the number of time slots in a scheduling period, and H is the optimal broadcast latency obtained from the shortest path tree algorithm assuming no collision. We also show that the total number of transmissions is at most 4(T+2) times larger than the optimal value. The results from extensive simulation show that CFBS has a better performance than OTAB, the best broadcast scheduling algorithm to date. In particular, the broadcast latency achieved by CFBS is up to $\frac{3}{20}$ that of OTAB.
Keywords
1 Introduction
Wireless sensor networks (WSNs) consist of numerous sensor nodes deployed in a field. These nodes are usually resource constrained in terms of battery lifetime and computation, and are equipped with a number of sensing elements. Moreover, they have one or more radios and communicate with each other via multihop communications because these radios have a bounded and short transmission range. In addition, there exist one or more sinks to collect sensed data and to issue commands that affect the operation of sensor nodes. To date, WSNs have found a myriad of applications. For example, precision agriculture [1], monitoring of pests [2], and volcanology [3] to name a few.
Networkwide broadcast is a fundamental operation in wireless networks, where a message needs to be propagated from a source node, e.g., a sink, to all other nodes. It is relied upon by several network protocols, such as routing [4], information dissemination [5], and resource/services discovery [6]. These protocols in turn help applications in disaster relief, military communication, rescue operation, and object detection [7]. For these applications, time is critical, and hence, a minimum latency broadcast scheduling (MLBS) algorithm/protocol will be of great importance to their operation. Like many other communication protocols, any developed MLBS solution must deal with collision. Unfortunately, the MLBS problem for multihop wireless networks has been proven to be NP hard [8], and researchers have proposed many approximation algorithms. These algorithms, however, assume that all nodes are always active. They typically make use of neighborhood information to determine whether a node needs to transmit a message. Specifically, collisions can be detected by identifying the common neighbors of two or more transmitting nodes via topological information and ensuring the interfering nodes transmit in different time slots.
In contrast, the MLBS problem is quite different in duty cycled WSNs. Briefly, in these networks, nodes are powered by batteries and are only awake for a fraction of the time [9]. Here, the duty cycle of a node is defined as the ratio between its active time and the scheduling period, i.e., T. We note that WSNs can employ a synchronous wakeup schedule, that is, nodes wake up at the same time. However, nodes will have to coordinate and synchronize their wakeup time globally and, hence, incur high signaling overheads. This paper, therefore, only considers WSNs with asynchronous schedule, where nodes determine their wakeup time independently and randomly.
 1.
A novel algorithm called centralized collisionfree broadcast scheduling (CFBS) that is suitable for both alwayson and duty cycled networks. CFBS produces a broadcast latency of at most $(T+1)H+T\mathcal{O}\left({log}_{2}H\right)$, where the constant before $T\mathcal{O}\left({log}_{2}H\right)$ does not exceed 108. In particular, for alwayson networks, i.e., T=1, the broadcast latency of CFBS is bounded by $2R+\mathcal{O}\left({log}_{2}R\right)$, where R is the maximum hop distance from the source to any node.
 2.
The total number of transmissions produced by CFBS is at most 4(T+2) times that of the minimum total number of transmissions. For alwayson networks, this approximation ratio is 12.
 3.
We evaluate CFBS under different network parameters via simulation and show that that on average, our proposed algorithm has a much better performance in terms of broadcast latency than the state of the art algorithm OTAB [10]. The key reason is our algorithm is able to schedule transmissions in multiple layers as opposed to layer by layer, as is done by OTAB. Moreover, it allows noninterfering nodes in lower layers to transmit even though nodes in the current layer have not finished their transmission.
2 Related works
To date, there are many approaches to carry out broadcast in multihop wireless networks. The simplest by far is flooding [11], where each node simply retransmits a received message to its neighbors unscrupulously. However, this causes broadcast storms [12] and is thus very costly and causes long latencies. Consequently, a number of researchers, e.g., [13–15], have proposed methods that improve the efficiency of broadcast. In this paper, we address a variant of the MLBS problem, which aims to find an efficient, collisionfree schedule that yields the minimum broadcast latency.
Gandhi et al. [8] presented an approximation algorithm with a constant approximation ratio of more than 400 for onetoall broadcast. They then improve this ratio to 12 in [7]. Huang et al. [16] outlined three approximation algorithms for MLBS with latency of at most 24R, 16R, and $R+\mathcal{O}\left({log}_{2}R\right)$, respectively, and the omitted constant in $\mathcal{O}\left({log}_{2}R\right)$ exceeds 150 [7].
Thus far, the aforementioned works assume an alwayson network, whereby all nodes remain awake indefinitely, meaning, they do not employ any duty cycle regime. To this end, there are only a handful of works related to broadcast in duty cycled wireless networks. Lai and Ravindran [17] and Hong et al. [18] designed centralized and distributed broadcast algorithms for duty cycled networks that aim to reduce the number of transmissions. In particular, the two methods proposed in [19] have an approximation ratio of 3(lnΔ+1) and 20 in terms of the number of transmissions, respectively, where Δ is the maximum degree. These works, however, have not addressed the MLBSDC problem in duty cycled networks.
To date, there are only a handful of directly related works. Hong et al. [20] proved that the MLBSDC problem is NP hard and proposed two approximation algorithms: SLAC and ELAC. Their algorithms achieve an approximation ratio of $\mathcal{O}\left(\right({\Delta}^{2}+1\left)T\right)$ and 24T+1, respectively, where Δ is the maximum degree, and T denotes the number of time slots in a scheduling period. Both algorithms apply the D2coloring approach [21] to schedule transmissions on a shortest path tree. In [10], Jiao et al. show that ELAC can be improved further by using D2coloring twice at each layer of the shortest path tree. They propose an algorithm called OTAB and prove that OTAB has an approximation ratio of 17T. Also, they showed that the total number of transmissions scheduled by OTAB is at most 15 times larger than the minimum number of transmissions. Duan et al. [22] provide a generalized algorithm for the MLBSDC problem with an approximation ratio of Δ T. They transform the MLBSDC problem into the conventional maximum independent set problem and try to find a maximum set of noninterfering senders in each time slot. Recently, Xu et al. [23] extended the pipelined broadcast scheme in [16] to consider duty cycled WSNs. Their broadcast algorithm produces a latency of at most $\mathit{\text{TH}}+T\mathcal{O}\left({log}_{2}H\right)$, where the omitted constant in $T\mathcal{O}\left({log}_{2}H\right)$ also exceeds 150; in contrast, our solution has 108 as a constant in $T\mathcal{O}\left({log}_{2}H\right)$.
The key limitation of [20] and [10] is that transmissions are scheduled layer by layer based on a shortest path tree, which prevent noninterfering nodes in lower layers from transmitting until all nodes in the current layer finish their transmissions. The broadcast latency performance of [22] is mainly influenced by the maximum degree of nodes, i.e., Δ, which produces a large bound for dense networks. Unlike [20] and [10], our proposed algorithm is able to schedule nodes’ transmissions in more than one layer, leading to a lower latency. The broadcast latency of CFBS is mainly influenced by H, which does not rely on the number of nodes or maximum degree. All these features constitute key advantages over [22] and also result in an algorithm that is suitable for dense networks.
3 Preliminaries
3.1 Network model
We consider a duty cycled WSN which has a scheduling period that is divided into T slots of fixed and equal length, and is indexed by 0,1,2,⋯,T1. Each time slot is assumed to be of sufficient duration to receive a message. We assume that the network is locally synchronized at a slot level. As shown in [24], this can be achieved using local synchronization techniques, such as Flooding Time Synchronization Protocol (FTSP) [25]. The duty cycle of a node is defined as $\frac{1}{T}$, where the numerator corresponds to one active time slot. Similar to [10, 20, 26], each node v selects to wake up at a time slot in the range [ 0,1,⋯,T1] randomly and independently in order to receive a message. We will denote node v’s wakeup slot as τ(v). If node v wants to transmit a message, it will wake up at the corresponding receiver’s wakeup slot. Here, we assume there is no message or bit error, and links are bidirectional. This is reasonable because any retransmissions due to bit errors can be accounted for by dimensioning the slot size accordingly. However, a message is considered lost if there is a collision, i.e., two or more simultaneous transmissions to a common node. A node must not receive and send a message at the same time. We will use N(v) to denote the set of onehop neighbors of node v∈V, and n is the cardinality of V, i.e., n=V.
3.2 Graph definitions and theories
Given a weighted UDG G=(V,E), we designate node s to be the source of a broadcast message and set the cost of each edge as per Equation 1. We will denote the subgraph of G induced by U⊆V as G[U]. The shortest path tree T_{spt}(G) of G with respect to node s is the spanning tree obtained by applying Dijkstra’s algorithm from s. The depth of a node v∈V is the total cost of the path from s to v in T_{spt}(G), and the radius of G with respect to s, denoted by Rad(G,s), is the maximum depth/cost of the paths in T_{spt}(G). In our solution, T_{spt}(G) is divided into different layers according to the depth of nodes in increasing order. This means that each layer i of T_{spt}(G) consists of all nodes with the same depth/cost. Let Depth(G,i) be the depth of nodes at layer i. Note that node s is at layer 0. Let R be the maximum hop distance from the source node s to any other nodes. We thus have Rad(G,s)≥R. Note, in an alwayson network, which can be modeled by setting T=1, we have Rad(G,s)=R.
An independent set (IS) I of G(V,E) is defined as a subset of V, such that if u,v∈I, then (u,v)∉E. A maximal independent set (MIS) U is an independent set which is not a subset of any other independent sets. A subset U of V is a dominating set of G if each node not in U is adjacent to at least a member of U. Clearly, every MIS of G is also a dominating set of G. If set U is a dominating set of G and G[U] is connected, then U is called a connected dominating set (CDS) of G. The authors of [27] showed that the MIS size of a UDG graph is bounded by $\mathcal{O}\left({R}^{2}\right)$. It is also known that the size of MIS does not exceed 4o p t+1, where opt denotes the minimum size of a CDS of G[28].
Commonly used notations
Notation  Meaning 

G(V,E)  Network graph 
N(v)  v’s onehop neighbors 
T  Scheduling period 
H  Broadcast latency bound 
τ(v)  v’s active slot 
T_{spt}(G)  Shortest path tree (SPT) 
P _{ ij }  Transmissions from S_{ ij } to V_{ ij } 
Rad(G,s)  Maximum depth of paths in T_{spt}(G) 
S _{ ij }  Nodes with rank j that are parents of V_{ ij } 
G[U]  Subgraph of graph G 
U _{ i }  Dominators in layer i 
C  Set of connectors 
L  Maximum layer number 
edc(u,v)  Cost of edge (u,v) 
rank(v)  Rank of node v 
t _{ ij }  Starting transmission time of P_{ ij } 
Depth(G,i)  Depth of nodes in layer i of T_{spt}(G) 
V _{ ij }  Nodes in layer i whose parents have rank of j 
3.3 Problem formulation
Our problem, called MLBSDC, concerns the broadcast of a message from a source node s∈V to all other nodes. The goal is to minimize the time in which the last node receives the message. Without loss of generality, we define the start time of node s’s broadcast to be slot zero, and the broadcast latency is the maximum time taken by a message to reach all nodes.
that satisfies the following constraints: (1) t_{1}+k_{1}T<t_{2}+k_{2}T<…<t_{ m }+k_{ m }T, (2) any node in S_{ i } cannot be scheduled to transmit the message until it receives the message, (3) all transmissions from S_{ i } to R_{ i } must be collision free, (4) $\left\bigcup _{i=1}^{m}{R}_{i}\right=\leftV\right$, and t_{ m }+k_{ m }T is minimum. In other words, find a collisionfree broadcast schedule that guarantees that all the nodes in V receive the message collision free in minimum time.
4 Proposed algorithm
In this section, we present CFBS, a collisionfree broadcast algorithm with a latency of at most $(T+1)H+T\mathcal{O}\left({log}_{2}H\right)$, where the omitted constant in $T\mathcal{O}\left({log}_{2}H\right)$ is 108. Different from OTAB, where transmissions are processed layer by layer. CFBS is able to schedule transmissions in more than one layer, that is, it allows a node in a lower layer to transmit or receive earlier than a node in an upper layer.
4.1 Innerlayer broadcast scheduling
Before outlining CFBS, we first describe the innerlayer broadcast scheduling (ILBS) algorithm, which is responsible for scheduling the broadcast of two disjoint sets of nodes with a latency of at most 17. As we will see in the following section, ILBS is used to schedule the broadcast between nodes in the same layer. We like to note that ILBS is similar to the algorithm outlined in [10]. However, their algorithm, which schedules transmissions layer by layer, leads to longer broadcast latency.
Let X and Y be two disjoint subsets of G. The set X is a cover of Y, where each node in Y is adjacent to some nodes in X. ILBS takes as input G[ X∪Y] and outputs a broadcast schedule from X to Y. ILBS starts by constructing a MIS U from G[Y]. This ensures that the minimal number of nodes is used to broadcast a message. It then assigns a parent to nodes in U from the set X. Then, a subset of nodes in U are chosen as the parents of nodes in Y∖U. Specifically, the selection order is such that a node becomes a parent if it covers the most nodes in U (respectively, Y∖U) that have yet to be assigned a parent. These nodes will then receive the message from their designated parent.
The next step is to determine a collisionfree transmission schedule for parent nodes. This is carried out as follows. First, ILBS collects the parents of nodes in U and Y∖U into two corresponding subsets W_{1} and W_{2} according to the said selection order. Then to schedule interfering parent nodes, it uses two D2coloring methods: (1) fronttoback ordering, whereby the coloring proceeds from the first to the last node and (2) smallestdegreelast ordering, with the rule being that two parent nodes must not share the same color if a subset of a parent’s children is adjacent to another, i.e., a parent node’s transmission interferes with the reception of another parent’s children.
ILBS first colors parent nodes in W_{1} using fronttoback ordering and divides them into a sequence 〈W_{1}(i):1≤i≤f〉 based on nodes’ color, that is, the set W_{1}(i) contains nodes with color i and, hence, are able to transmit simultaneously. Then, it assigns the color of nodes in W_{2} using smallestdegreelast ordering and collects nodes with color i into W_{2}(i) for 1≤i≤c. This thus yields the broadcast schedule 〈W_{1}(i):1≤i≤f〉 and 〈W_{2}(i):1≤i≤c〉.
As proven in [10], f≤5 and c≤12, and hence, the latency by ILBS is at most 17. By letting W=W_{1}∪W_{2}, the broadcast schedule can be presented as 〈W(1),W(2),⋯,W(l)〉, where l=f+c≤17.
ILBS then applies fronttoback ordering to color parent nodes in W_{1}, i.e., W_{1}={v_{3},v_{2}}. As one of node v_{3}’s children, node v_{7} is also adjacent to node v_{2}, two colors will be needed to color them, i.e., v_{3} is colored 1, and v_{2} is colored 2. That is, W_{1}(1)={v_{3}} and W_{1}(2)={v_{2}}. Node v_{5} only gets the message from v_{6}∈W_{2}, sand v_{6} is colored 1 as per smallestdegreelast ordering, i.e., W_{2}(1)={v_{6}}. The broadcast schedule can be presented as W(1)={v_{3}}, W(2)={v_{2}}, and W(3)={v_{6}}.
4.2 CFBS algorithm
Recall that the main idea of CFBS is to schedule transmissions in more than one layer to speed up the broadcast. This is achieved using three key steps: (1) computing a CDS of G, (2) associating a rank to nodes in the CDS, and (3) scheduling transmissions based on the constructed CDS and nodes’ ranks.
4.2.1 CDS construction
The NPhard problem of computing a minimum CDS of G is well studied, see [28, 30, 31], and references therein, and there are many approximation algorithms. However, for our problem, we not only require a smallsize CDS but also one that has a small radius. To this end, we propose a new heuristic solution that achieves both objectives.
CFBS starts by constructing the shortest path tree T_{spt}(G) via Dijkstra’s algorithm. Then, it constructs the MIS U of G to form a backbone by considering one layer at a time starting from layer 0. In particular, source node s will be the first node to be added into U, and no nodes in layer 1 of T_{spt}(G) will be selected because they must be adjacent to node s. The process then continues for layer 2 and so forth, whereby nodes at each layer which are not adjacent to those in U are selected greedily. From hereon, we will refer to nodes in U as dominators.
To ensure connectivity, the next step is to select connector nodes; recall that G[U] is not connected as per the definition of MIS. Let U_{ i } be set of dominators in layer i, and C be the set of selected connectors. The set C is populated layer by layer in a topdown manner. Specifically, a connector is chosen from nodes in an upper layer j, where j<i, that covers the most dominators in U_{ i } that have yet to be covered by other connectors. Upon completion, we thus have G[U∪C], whereby U∪C is a CDS of G.
Lemma 1
 1.
$U\cup C\le 2\leftU\right1\le 2\mathcal{O}\left(\text{Rad}{(G,s)}^{2}\right)1$
 2.
Rad(G[U∪C],s)≤(T+1)Rad(G,s)2T.
Proof
The first property is true because the connectors in C are required to cover at least one dominator located in a lower layer. Hence, the number of connectors C is bounded by U1, which excludes the source node s. The size of the CDS is thus bounded by 2U1, which comprises U dominators and at most U1 connectors. As proven in [27], the size of CDS for graph G is bounded by $\mathcal{O}\left({R}^{2}\right)$. This yields the inequality $2\leftU\right1\le 2\mathcal{O}\left({R}^{2}\right)1$. Recall that R≤Rad(G,s), and thus we have $U\cup C\le 2\leftU\right1\le 2\mathcal{O}\left(\text{Rad}{(G,s)}^{2}\right)1$.
For the second property, we first count the number of edges for a path from the source node s to the maximum layer number, denoted as L, of T_{spt}(G). Observe that the dominators at layer L of T_{spt}(G) will remain at the lowest layer of T_{spt}(G[U∪C]). The path from source node s to a dominator at the lowest layer of T_{spt}(G[U∪C]) consists of two kinds of edges: (1) the edge between two nodes in the same layer of T_{spt}(G) and (2) the edge between two nodes from different layers of T_{spt}(G). Therefore, in the worst case, there are L2 edges of the first kind, i.e., from layer 2 to L1 of T_{spt}(G), and L edges of the second kind.
Now, for the path cost, the edge cost between two nodes in the same layer is T because both nodes have the same active time slot, and thus, the total cost of the L2 edges of the first kind mentioned earlier is thus (L2)T. For the other L edges of the second kind, their total cost will not exceed the radius of G, i.e., Rad(G,s).
The total depth or cost to a dominator at the lowest layer of T_{spt}(G[U∪C]) is thus Rad(G,s)+T(L2). We know that the maximum layer number L is no more than Rad(G,s), and thus, the total cost to the said dominator cannot exceed Rad(G,s)+T(Rad(G,s)2)=(T+1)Rad(G,s)2T. As the said dominator lies at the lowest layer of T_{spt}(G[U∪C]) and the depth of nodes in the lowest layer of the shortest path tree is equal to the radius of G[U∪C], we thus have the required property. □
4.2.2 Ranking process
The next step is to rank the nodes in the CDS. After which, in Section 4.2.3, CFBS will use the resulting ranks to construct a broadcast schedule, whereby nodes with the greatest rank will be scheduled to transmit first. A key property of ranking is that nodes with a higher rank is able to cover more nodes or relay a message further quicker, and thus reducing broadcast latency.
The ranking process starts by constructing the shortest path tree T_{spt}(G[U∪C]). Then, CFBS assigns each node in G[U∪C] with a rank layer by layer in a bottomup manner. Initially, for any node v∈U∪C, its rank is set to 0, i.e., rank(v)=0. For each layer i of T_{spt}(G[U∪C]), collect all nodes in layer i into set M and repeat the following iteration until M is empty. First, compute the maximum rank r of nodes in M. Then, find a node u from an upper layer that covers the most nodes with rank r in M. If the rank of node u, i.e., rank(u), is more than r, rank(u) is unchanged; otherwise, it will be updated in the following way. If u is adjacent to only one node in M with rank r, then rank(u)=r; otherwise, rank(u)=r+1. Mark node u as the parent of the chosen nodes with rank r in M and remove it from M.
Active time, layers, and depths of all nodes in Figure 3
ID  s  v_{ 1 },v_{ 2 },  v_{ 4 },v_{ 5 },v_{ 6 },  v_{ 10 },v_{ 11 },  v_{ 13 },v_{ 14 },  v_{ 17 },v_{ 18 }, 

v _{ 3 }  v_{ 7 },v_{ 8 },v_{ 9 }  v _{ 12 }  v_{ 15 },v_{ 16 }  v _{ 19 }  
τ  1  0  2  3  0  1 
Layer  0  1  2  3  4  5 
Depth  0  1  3  4  5  6 
Initially, all nodes in Figure 3 are assigned a rank of 0. Then, starting from the bottom layer, CFBS collects all nodes in layer 5 into set M, i.e., M={v_{17},v_{18},v_{19}}. Next, node v_{16} from layer 4 will be considered first because it covers the most number of nodes with rank 0 in layer 5, i.e., v_{18} and v_{19}. Thus, node v_{16}’s rank will be updated to 1, i.e., rank(v_{16})=1 because it is adjacent to two nodes with rank 0, and its original rank is also 0. After that, nodes v_{18} and v_{19} are marked as the children of node v_{16} and are removed from the set M to yield M={v_{17}}. Node v_{17} is only covered by node v_{11}, and thus, node v_{11} is set as the parent of v_{17}, and its rank remains at 0. The other layers are considered in a similar manner, and the maximum rank of T_{spt}(G[U∪C]) is 2, i.e., rank(s)=2.
Lemma 2
 1.
For any node v and its parent node u in G[U∪C], rank(u)≥rank(v);
 2.
Assume that nodes v _{1} and u _{1} belong to the same layer of T _{spt}(G[U∪C]), with v _{2} and u _{2} as their parents, respectively, and all of them have the same rank, then neither v _{2} and u _{1} nor u _{2} and v _{1} are adjacent in G[U∪C];
 3.
The source node s has the maximum rank r, and $r\le 1+2\mathcal{O}\left({log}_{2}\right(\text{Rad}\left(G\right[\phantom{\rule{0.3em}{0ex}}U\cup C],s)\left)\right)$.
Proof
The first property is true due to how nodes obtain their rank. To prove the second property, assume that node v_{2} is ranked before u_{2}. When v_{2} is ranked, nodes v_{1} and u_{1} are in set M and have the same rank r. Hence, node v_{1} must be the only neighbor of node v_{2} with rank r in the set M. Otherwise, if v_{2} has two neighbors with rank r in M, say node v_{1} and u_{1}, the rank of node v_{2} must be more than r. Therefore, the second property also holds true.
The first part of the third property is true because each node has a rank no more than its parent by the first property, and ranking is carried out in a bottomup manner, and therefore, it follows that the source node s has the maximum rank r. Next, we show that rank r is bounded by $\mathcal{O}\left({log}_{2}\right(U\cup C\left)\right)$. Denote by N_{ i } the number of nodes in layer i of T_{spt}(G[U∪C]) and by r_{ i } the maximum rank of nodes in layer i. Let L be the maximum layer number of T_{spt}[ G[U∪C] ]. First, observe that for any layer i, r_{ i } is no more than r_{ L }+(Li). As ranking is carried out from layer L, each additional layer thereafter increases a node’s rank by at most one, and thus for nodes in layer i, their rank increases by at most 1×(Li), for a total of r_{ L }+(Li). Furthermore, for any layer i1, the number of nodes with rank r_{ L }+(Li)+1 does not exceed N_{ i }/2 because in the worst case, every parent node in layer i1 with rank r_{ L }+(Li)+1 has two children in layer i that has the maximum rank r_{ L }+(Li), which means each parent node picks at most two children in layer i at a time, and the number of these said parent nodes is N_{ i }/2. By induction, we have for any layer i the number of nodes with rank r_{ L }+(Li) does not exceed N_{ L }/2^{Li}, whereby N_{ L }/2^{Li}≥1.
Hence, we get Li≤ log2(N_{ L }), and r_{ L }+(Lj)≤r_{ L }+ log2(N_{ L }). Recall that r_{ L }=0 and N_{ L }≤U∪C. The rank r_{ L }+(Li) for any layer i is bounded by $\mathcal{O}\left(\underset{2}{log}\right(U\cup C\left)\right)$. That is, the maximum rank r is bounded by $\mathcal{O}\left({log}_{2}\right(U\cup C\left)\right)$. According to the first property of Lemma 1, we have $U\cup C\le 2\mathcal{O}\left(\text{Rad}{\left(G\right[\phantom{\rule{0.3em}{0ex}}U\cup C]\phantom{\rule{0.3em}{0ex}},s)}^{2}\right)1$, which leads us to the inequality $r\le \mathcal{O}\left({log}_{2}\right(2\mathcal{O}\left(\text{Rad}{\left(G\right[\phantom{\rule{0.3em}{0ex}}U\cup C]\phantom{\rule{0.3em}{0ex}},s)}^{2}\right)1\left)\right)\le 1+2\mathcal{O}\left({log}_{2}\right(\text{Rad}\left(G\right[\phantom{\rule{0.3em}{0ex}}U\cup C]\phantom{\rule{0.3em}{0ex}},s))$. □
4.2.3 Broadcast scheduling
After computing the ranks of all nodes in G[U∪C], transmissions are scheduled in two phases. In phase 1, CFBS schedules the transmission of nodes in G[U∪C], i.e., the CDS. In phase 2, it schedules transmissions from dominators in U∪C to all other nodes in G. The rationale for having two phases is that it is not necessary to send a message to nonCDS nodes early as they are not responsible for relaying the message further. On the other hand, by reducing the number of receiving nodes in phase 1, a transmitter will avoid a number of potential conflicts when sending a message to CDS nodes, thus reducing the broadcast latency.
In phase 1, transmissions are scheduled from the top to the bottom layer of T_{spt}(G[U∪C]). Let S_{ ij } be the set of nodes with rank j that are parent of nodes in layer i, and V_{ ij } be the corresponding set of children in layer i. A pipe with rank j, denoted as P_{ ij }, is defined as the transmissions from nodes in S_{ ij } to V_{ ij }. Let t_{ ij } be the starting transmission time of P_{ ij }.
Initially, only node s in layer 0 transmits a message at time slot 0. Then, for each layer i of T_{spt}(G[U∪C]), scheduling is carried out according to nodes’ rank, whereby the pipe with the highest rank is scheduled first. For instance, for layer 2 of Figure 3, CFBS first schedules pipe P_{21}.
 (1)
t _{ ij } is larger than the reception time of nodes in S _{ ij }, meaning a parent node in S _{ ij } must have received the message collisionfree before it is allowed to transmit;
 (2)
to avoid collisions within the same layer, t _{ ij } must be larger than the reception time of nodes in V _{i(j+1)} of pipe P _{i(j+1)} if it exists, that is, each pipe P _{ ij } starts after pipe P _{i(j+1)} ends;
 (3)
to avoid collisions between different layers, we must have t _{ ij }(Depth(G[U∪C],i)1) mod 3T=0, where the time slot of (Depth(G[U∪C],i)1) is the minimum or optimal receiving time of nodes in layer i of T _{spt}(G[U∪C]); this constraint thus ensures that the interval between transmissions is 3T, which guarantees that there are no interlayer, interfering, and transmitting nodes.
It is worth pointing out that this greedy strategy helps nodes in lower layers to transmit or receive earlier than than the nodes in the upper layers. This is because each pipe’s starting transmission time is only determined by the reception time of parent nodes and other nodes that lie in the same layer, meaning, a parent node does not need to wait for all nodes in the upper layers to finish their transmission.
Next, CFBS schedules transmissions within pipe P_{ ij }. Denote by ${W}_{0}^{{\prime}^{}}$ the set of nodes in V_{ ij } with rank j, and W_{0} is the set containing their respective parent, i.e., W_{0}⊆S_{ ij }. For each parent node v in W_{0}, its transmission time is set to t_{ ij }. Then, CFBS applies ILBS to generate a broadcast schedule (〈W(1),W(2),⋯,W(l)〉) for nodes in S_{ ij } and ${V}_{\mathit{\text{ij}}}\setminus {W}_{0}^{{\prime}^{}}$. For each 1≤k≤l, if W_{0} or ${W}_{0}^{{\prime}^{}}$ is nonempty, all nodes in W(k) transmit at time slot t_{ ij }+3k T; otherwise, they transmit at time slot t_{ ij }+3(k1)T. Moreover, given that we have l≤17, it follows that each pipe will take at most 51T time slots to finish transmission.
In phase 2, only a subset of dominators in U send the message to nodes in V∖(U∪C). First, CFBS collects into a new subset D_{ i } all the dominators that have a neighbor with active time slot T_{ i } in set V∖(U∪C), where 0≤T_{ i }≤T1. Then, it computes a partition of D_{ i } into subsets D_{ i }(k) for 1≤k≤c via D2coloring with smallestdegreelast ordering based on the rule that if two dominators share the same neighbor(s) with active time slot T_{ i } in V∖(U∪C), they must not share the same color or be in the same subset. According to [10], we have c≤12. Let T_{p 1} be the maximum transmission time of Phase 1, and thus in Phase 2, the transmission time of nodes in D(i)(k) is set to ⌊T_{p 1}/T⌋T+k T+T_{ i }, where 1≤k≤12 and 0≤T_{ i }≤T1. Denote by T_{p 2} the maximum transmission time of phase 2. Hence, we get T_{p 2}≤T_{p 1}+12T.
Referring to Figure 3, after determining the ranks in T_{spt}(G[U∪C]), the next step is to determine the transmission time of nodes in G[U∪C]. We start from pipe P_{12}, which consists of S_{12}={s} and V_{12}={v_{1},v_{2},v_{3}}. Hence, the nodes in V_{12} will receive the message from node s at time slot 0. Then, it considers nodes in layer 2. Among the parents in layer 2, i.e., v_{1}, v_{2}, and v_{3}, nodes v_{2} and v_{3} have the maximum rank 1. Hence, CFBS first schedules pipe P_{21}, which comprises S_{21}={v_{2},v_{3}} and V_{21}={v_{5},v_{6},v_{7},v_{8},v_{9}}.
Both nodes in S_{21} receive the message at time slot 0, and pipe P_{21} is the first one to be considered for layer 2, and thus the starting transmission time t_{21} must be larger than 0. Moreover, it must satisfy t_{21}(Depth(G[U∪C],2)1) mod 3T=0. Recall that T=4 and Depth(G[U∪C],2)=3; see Table 2. The minimum t_{21} is set to 2, i.e., t_{21}=min{tt>0 and t2 mod 12=0}=2. Set V_{21} does not contain nodes with rank 1, i.e., W_{0}=∅, and thus the next step is to apply ILBS to schedule P_{21}. As illustrated in Section 4.1, since W(1)={v_{3}}, W(2)={v_{2}}, and W(3)={v_{6}} in pipe P_{21}, the transmission time of v_{3}, v_{2}, and v_{6} is set to 2, 14, and 26, respectively.
Then, pipe P_{20} is scheduled, whereby S_{20}={v_{1}} and V_{20}={v_{4}}. Its starting transmission time t_{20} must be larger than node v_{4}’s reception time, i.e., 0, and larger than V_{21}’s maximum reception time, i.e., 26. Hence, we have t_{20}=min{tt>0, t>26 and t2 mod 12=0}=38. The other layers are scheduled using a similar method, and the latency for T_{spt}(G[U∪C]) is 39. Moreover, from Figure 3, node v_{16} from layer 4 received the broadcast message from node v_{12} at time slot 4, which is smaller than the reception time of node v_{1} from layer 1, i.e., 38. This demonstrates the advantage afforded by CFBS in allowing a node in a lower layer to receive earlier than a node in an upper layer.
4.3 Analysis
The next set of theorems assert the correctness of CFBS and establish its upper bound in terms of the broadcast latency and number of transmissions.
Theorem 1
CFBS provides a correct and collisionfree broadcast schedule.
Proof
Recall that CFBS performs transmissions in two phases. Thus, we only need to prove that all nodes in each phase are able to receive the broadcast message collision free. In phase 1, the broadcast is conducted pipe by pipe, and thus we need to prove that the transmissions in each pipe are collision free, and different pipes do not interfere with one another.
The theorem is true in phase 1 because CFBS schedules transmissions within each pipe using ILBS, which produces a collisionfree schedule. Next, we show that the transmissions between different pipes are also collision free. We prove this by considering two cases. In the first case, we consider pipes belonging to the same layer, say i. Recall that for each layer i, pipe P_{ ij } starts after pipe P_{i(j+1)} finishes. Therefore, the pipes from the same layer will not interfere with each other.
In the second case, pipes from different layers are considered. Assume that pipes ${P}_{{i}_{1}{j}_{1}}$ and ${P}_{{i}_{2}{j}_{2}}$ are from different layers, i.e., i_{1}≠i_{2}. According to Equation 1, the cost of two adjacent nodes does not exceed T, and hence, the cost between a node and its twohop neighbors is no more than 2T. For any node in G[U∪C], its reception can be affected by other transmitting nodes among its two hops range. Therefore, for nodes in layer i of T_{spt}(G[U∪C]), these interfering nodes can be located in layer i^{′} with a depth of Depth(G[U∪C],i)Depth(G[U∪C],i^{′})≤2T. If Depth(G[U∪C],i_{1})Depth(G[U∪C],i_{2})>2T, nodes in i_{1} and i_{2} are not within each other’s twohop range and hence do not interfere. Next, if Depth(G[U∪C],i_{1})Depth(G[U∪C],i_{2})≤2T, it is also collision free because the reception time of nodes in the same layer is separated by an interval of 3T and starts according to their depth in T_{spt}(G[U∪C]), that is, the reception time of nodes in layer i_{1} and i_{2} will not overlap with each other. Hence, in the second case, the pipes’ transmissions are also collision free. Hence, CFBS yields a correct and collisionfree schedule in phase 1.
In phase 2, CFBS uses smallestdegreelast ordering D2coloring method to divide dominators into different subsets; hence, as mentioned in [10], it is also collision free. Thus, the theorem is proven. □
Lemma 3
For any pipe P_{ ij } of T_{spt}(G[U∪C]), its starting transmission time t_{ ij } does not exceed Depth(G[U∪C],i)+54(rj)T.
Proof
We prove this lemma by induction. For layer 0 of T_{spt}(G[U∪C]), it holds true because the transmission time of source node s is zero. Assume this lemma is correct for all layers before layer i. We now prove that it also holds true for layer i. Recall that the starting transmission time of t_{ ij } is determined by two constraints: (1) maximum reception time of S_{ ij } and (2) maximum reception time of nodes in V_{i(j+1)}. Next, we analyze the correctness of this lemma based on these two constraints.
First, we compute the maximum reception time of nodes in S_{ ij }. According to the definition of pipes, the nodes in S_{ ij } are the parent of nodes in layer i, and hence they lie higher than layer i. Assume that node v∈S_{ ij } lies in layer i_{1}, where i_{1}<i. Note that the rank of node v’s parent, denoted by j_{1}, is no less than v’s rank j by the first property of Lemma 2, i.e., j_{1}≥j. Lemma 3 is correct for layer i_{1}, and therefore, the starting transmission time ${t}_{{i}_{1}{j}_{1}}$ of pipe ${P}_{{i}_{1}{j}_{1}}$ is no more than Depth(G[U∪C],i_{1})+54T(rj_{1}), i.e., ${t}_{{i}_{1}{j}_{1}}\le \text{Depth}\left(G\right[\phantom{\rule{0.3em}{0ex}}U\cup C]\phantom{\rule{0.3em}{0ex}},{i}_{1})+54T(r{j}_{1})$; recall that r is the maximum rank, i.e., r a n k(s)=r. Each pipe takes at most 51T to finish its transmission, and hence, when j<j_{1}, node v will receive the message after pipe ${P}_{{i}_{1}{j}_{1}}$ finishes at time Depth(G[U∪C],i_{1})+54T(rj_{1})+51T≤Depth(G[U∪C],i_{1})+54T(rj). On the other hand, when j=j_{1}, node v will receive the message from its parent at the starting transmission time ${t}_{{i}_{1}{j}_{1}}=\text{Depth}\left(G\right[\phantom{\rule{0.3em}{0ex}}U\cup C]\phantom{\rule{0.3em}{0ex}},{i}_{1})+54T(rj)$. Hence, for node v, its maximum reception time is no more than Depth(G[U∪C],i_{1})+54T(rj). Furthermore, since Depth(G[U∪C],i)>Depth(G[U∪C],i_{1}), node v’s maximum reception time is less than Depth(G[U∪C],i)+54T(rj).
Second, we analyze the maximum reception time of nodes in V_{i(j+1)}. Assume that the maximum rank of nodes in layer i is r_{ i }, i.e., r_{ i }≥j. For layer i, the transmission starts from the pipe with greatest rank, and hence, for pipe ${P}_{i{r}_{i}}$, its starting transmission time ${t}_{i{r}_{i}}$ is only determined by the maximum reception time of nodes in ${S}_{i{r}_{i}}$ because nodes with rank of r_{ i }+1 for layer i do not exist. Recall that the maximum reception time of nodes in ${S}_{i{r}_{i}}$ is less than Depth(G[U∪C],i)+54T(rr_{ i }), and thus in the worst case, for pipe ${P}_{i{r}_{i}}$, ${t}_{i{r}_{i}}$ is set to Depth(G[U∪C],i)+54T(rr_{ i }). Since each pipe takes up at most 51T time slots, and the reception time of nodes in layer i is separated by 3T, we have ${t}_{i(j+1)}{t}_{i{r}_{i}}\le ({r}_{i}(j+1\left)\right)54T$. Therefore, for nodes in V_{i(j+1)}, their maximum reception time is no more than Depth(G[U∪C],i)+54T(r(j+1))+51T, i.e., Depth(G[U∪C],i)+54T(rr_{ i })+54T(r_{ i }(j+1))+51T.
By considering both reception time of nodes in S_{ ij } and V_{i(j+1)}, this means in the worst case, t_{ ij } is equal to Depth(G[U∪C],i)+54T(rj), which proves the required bound of t_{ ij }≤Depth(G[U∪C],i)+54T(rj). Thus, this lemma is also true for layer i. Note that, 54T corresponds to 51T which is the number of time slots for each pipe to finish its transmission and 3T which is the interval used to separate the stating transmission time between adjacent pipes. □
Corollary 1
Algorithm CFBS produces a broadcast schedule with latency $(T+1)H+T\mathcal{O}\left({log}_{2}H\right)$, where H is Rad(G[U∪C],s).
Proof
By Lemma 3, it is clear that the latency in phase 1 is at most Depth(G[U∪C],L)+54r T, where L is the maximum layer number of T_{spt}(G[U∪C]). As H is also equal to Depth(G[U∪C],L) and is no more than (T+1)H2T by Lemma 1, the latency in phase 1 is no more than (T+1)H2T+54r T. According to Lemma 2, given that $r\le 1+2\mathcal{O}\left({log}_{2}H\right)$, the latency in phase 1 is therefore bounded by $(T+1)H+108T\mathcal{O}\left({log}_{2}H\right)+52T$. That is, in phase 1, the broadcast latency is bounded by $(T+1)H+T\mathcal{O}\left({log}_{2}H\right)$, whereby the omitted constant before $T\mathcal{O}\left({log}_{2}H\right)$ is 108.
The second phase of CFBS takes at most 12T time slots, and hence, the broadcast latency of CFBS is bounded by $(T+1)H+T\mathcal{O}\left({log}_{2}H\right)+12T=(T+1)H+T\mathcal{O}\left(\underset{2}{log}H\right)$. □
Theorem 2
CFBS is a 4(T+2)approximate solution in terms of number of transmissions.
Proof
Recall that only the nodes in CDS transmit and receive the message in phase 1. By Lemma 1, the size of CDS is bounded by 2U1, and thus, the total number of transmissions in phase 1 is bounded by 2U1. For phase 2, only dominators transmit the message, and hence, the number of transmitters does not exceed U. Furthermore, a dominator only needs to transmit once to its neighbors with the same active time slot in phase 2, and the neighbors of a dominator have at most T different active time slots. Hence, the total number of transmissions in phase 2 does not exceed TU. Therefore, the total number of transmissions performed by CFBS does not exceed (T+2)U1, i.e., 2U1+TU. Recall that the size of U does not exceed 4o p t+1 [28], where opt denotes the minimum number of transmissions. CFBS is thus a (T+2)(4o p t+1)1 solution. □
4.4 Remarks on alwayson wireless networks
CFBS is also applicable for alwayson wireless networks, where T is set to one. Specifically, it starts by constructing a breadthfirst search tree (BFS) rooted at the source node s. Here, the BFS tree is a special case of T_{spt}, where the cost of each edge in a given network is fixed to one. Then, CFBS builds the dominator set U and connector set C based on the BFS tree in the same way as illustrated in Section 4.2.1, where dominators in U together with connectors in C form a CDS. The next step is to build a new BFS tree rooted at the source based on graph G[U∪C], then followed by a ranking of the nodes in this new BFS tree layer by layer in a bottomup manner via the same method in Section 4.2.2. Note, for a given alwayson wireless network G, its radius with respect to the source node s, i.e., Rad(G,s), is equal to R. sThis is because the cost of each edge in G is one when T=1. Also note that Lemmas 1 and 2 still hold true for alwayson wireless networks. In particular, as stated in Lemma 1, Rad(G[U∪C],s)≤2R2. As shown by Lemma 2, each node v in G[U∪C] has a rank no more than its parent and $\text{rank}\left(v\right)\le 1+2\mathcal{O}\left({log}_{2}\right(2R2)$.
In the third step, the broadcast scheduling process for alwayson wireless networks also consists of two phases: (1) broadcast data to all nodes in the CDS and (2) broadcast data from dominators to remaining nodes. In the first phase, for each pipe P_{ ij }, its staring transmission time t_{ ij } will be first calculated according to the same greedy method described in Section 4.2.3. Then, the parent whose corresponding child has a rank of j in pipe P_{ ij } is scheduled to transmit at t_{ ij }. For the other nodes in P_{ ij }, CFBS applies the ILBS algorithm in Section 4.1 to generate a broadcast schedule. Note that during calculation, sthe scheduling period T is always set to one. In the second phase, CFBS partitions the dominators into different subsets using D2coloring with smallestdegreelast ordering, where the dominators in the same subset have the same color. Then, these dominators transmit based on their color.
Similar to Corollary 1, CFBS produces a $2R+\mathcal{O}\left({log}_{2}R\right)$approximate solution in terms of the broadcast latency. Note that for alwayson wireless networks, the optimal broadcast latency is equal to R, that is, H=R. According to Theorem 2, we can see that CFBS is a 12approximation solution with respect to the number of transmissions. Compared with the best multiplicative approximation algorithm to date for alwayson networks, i.e., [7] that gives a broadcast latency bound of 12R, our addictive approximation algorithm has a lower latency bound of $2R+\mathcal{O}\left({log}_{2}R\right)$.
Furthermore, in CFBS, the omitted constant in $\mathcal{O}\left({log}_{2}R\right)$ is less than 108. Compared with the addictive approximation algorithm in [16], which has a latency bound of $R+\mathcal{O}\left({log}_{2}R\right)$, but with an omitted constant in $\mathcal{O}\left({log}_{2}R\right)$ that exceeds 150, our broadcast bound will be smaller when R becomes larger.
5 Evaluation
In this section, we outline the research methodology used to evaluate the performance of CFBS. We compare CFBS against OTAB [10], which is known to have the lowest constant approximation ratio to date. In our experiments, we measure each algorithm against two metrics:

Broadcast latency: this is defined as the total time required by all nodes to receive a broadcast message;

Transmission ratio: this is the ratio between the number of transmissions and the number of nodes.
That is, the transmission ratio represents the average number of messages retransmitted by each node in the network. It is worth pointing out that the main goal of our simulation is to compare the theoretical and experimental broadcast latency and transmission ratio performance of our algorithm. In particular, the latency is mainly determined by the nodes’ interwakeup times, which are a few orders of magnitude higher than the length of a slot. Moreover, in Section 3.1, it is assumed that a message can be successfully delivered from a sender to a receiver within a time slot. In reality, as shown in [24], the maximum size of a typical TinyOS packet is 47 bytes, a time slot is usually set to 20 ms, and thus, a MicaZ node can attempt at least 13 transmissions in one time slot. In other words, although lowpower wireless links are generally unreliable, we can still ensure that a message can be successfully transmitted within a time slot through multiple transmissions [24]. Therefore, in our simulations, we only consider the packet loss caused by collisions, and assume that unreliable links can be solved within a time slot through multiple transmissions. It is for this reason we do not employ a packet level simulator and any specific MAC protocols.
We place wireless nodes in a square area of l×l m^{2} uniformly and randomly while changing the square length l, number of nodes, transmission radius, and duty cycle. We study the performance of CFBS under different network configurations including the square length, number of nodes, transmission radius, and duty cycle, where the duty cycle is defined as the ratio of the duration of the active time slots to the scheduling period. The square length varies from 150 to 400 m. The number of nodes ranges from 200 to 1,000 with an interval of 200. The transmission radius ranges from 20 to 60 m. The duty cycle varies from 0.1 to 0.02. For each experiment, we change one network configuration while the other three remain unchanged. Each experiment is conducted on 20 randomly generated topologies. Moreover, for each topology, we carry out the experiment for 10 runs, and in each run, an arbitrary node is selected as the source node. Hence, each result is the average of 200 simulation runs.
5.1 Impact of network size
5.2 Impact of node numbers
5.3 Impact of transmission radius
5.4 Impact of duty cycle
6 Conclusion
This paper has formally outlined the MLBSDC problem and presented a novel algorithm called CFBS with a broadcast latency of at most $(T+1)H+T\mathcal{O}\left({log}_{2}H\right)$. In addition, we proved that CFBS provides a correct and collisionfree broadcast scheduling and achieves a low latency and overhead in terms of the number of transmissions. Our simulation results indicate that CFBS has a better performance, in terms of the broadcast latency and transmission ratio, than OTAB under different network configurations.
As a future work, we are currently looking into implementing CFBS in distributed manner. The use of our method under the physical interference model is another possible future work. Under this model, we need to consider both collisions and total interference from nearby transmitters.
Declarations
Acknowledgements
This project is supported by the CSCUoW joint scholarship program.
Authors’ Affiliations
References
 Baggio A: Wireless sensor networks in precision agriculture. In ACM REALWSN. Stokholm, Sweden; 20–21 Jun 2005.Google Scholar
 Hu W, Tran VN, Bulusu N, Chou C, Jha S, Taylor A: The design and evaluation of a hybrid sensor network for cane toad monitoring. In ACM/IEEE IPSN. Los Angeles, CA, USA; 15 Apr 2005.Google Scholar
 Korincz K, Welsh M, Marcillo O, Johnson J, Ruiz M, WernerAllen J: Deploying a wireless sensor network on an active volcano. IEEE Internet Comput 2006, 10(2):1825.View ArticleGoogle Scholar
 Perkins C, Royer E: Adhoc ondemand distance vector routing. In IEEE WMCSA. New Orleans, LA, USA; 25–26 Feb 1999.Google Scholar
 Nan W, Xueli S: Research on nodes location technology in wireless sensor network underground. In IEEE IITAW. Nanchang, China; 21–22 Nov 2009.Google Scholar
 Brown S, Sreenan C: Updating software in wireless sensor networks: a survey (2006). [Technical report UCCCS200613N07, University College Cork, Ireland]Google Scholar
 Gandhi R, Kim YA, Lee S, Ryu J, Wan PJ: Approximation algorithms for data broadcast in wireless networks. In IEEE INFOCOM. Rio de Janeiro, Brazil; 20–25 Apr 2009.Google Scholar
 Gandhi R, Mishra A, Parthasarathy S: Minimizing broadcast latency and redundancy in ad hoc networks. IEEE/ACM Trans. Netw 2008, 16(4):840851.View ArticleGoogle Scholar
 Ye W, Heidemann J, Estrin D: An energyefficient MAC protocol for wireless sensor networks. In IEEE INFOCOM. New York, NY, USA; 23–27 Jun 2002.Google Scholar
 Jiao X, Lou W, Ma J, Cao J, Wang X, Zhou X: Minimum latency broadcast scheduling in dutycycled multihop wireless networks. IEEE Trans. Parallel Distributed Syst 2012, 23: 110117.View ArticleGoogle Scholar
 Lim H, Kim C: Flooding in wireless ad hoc networks. Comput. Commun 2001, 24(3):353363.View ArticleGoogle Scholar
 Ni S, Tseng YC, Sheu J: The broadcast storm problem in a mobile ad hoc network. In ACM MOBICOM. Seattle, WA, USA; 15–20 Aug 1999.Google Scholar
 Ferrari F, Zimmerling M, Thiele L, Saukh O: Efficient network flooding and time synchronization with Glossy. In IPSN. Chicago, IL, USA; 12–14 Apr 2011.Google Scholar
 Sasson Y, Cavin D, Schiper A: Probabilistic broadcast for flooding in wireless mobile ad hoc networks. In IEEE WCNC. New Orleans, LA, USA; 16–20 Mar 2003.Google Scholar
 Stann F, Heidemann J, Shroff R, Murtaza MZ: RBP: robust broadcast propagation in wireless networks. In ACM SenSys. Boulder, CO, USA; 31 Oct–3 Nov 2006.Google Scholar
 Huang SH, Wan PJ, Jia X, Du H, Shang W: Minimumlatency broadcast scheduling in wireless ad hoc networks. In IEEE INFOCOM. Anchorage, AK, USA; 6–12 May 2007.Google Scholar
 Lai S, Ravindran B: On multihop broadcast over adaptively dutycycled wireless sensor networks. In IEEE DCOSS. Santa Barbara, CA, USA; 21–23 Jun 2010.Google Scholar
 Hong J, Li W, Lu S, Cao J, Chen D: Sleeping schedule aware minimum transmission broadcast in wireless ad hoc networks. In IEEE ICPADS. Melbourne, Victoria, Australia; 8–10 Dec 2008.Google Scholar
 Hong J, Cao J, Li W, Lu S, Chen D: Minimumtransmission broadcast in uncoordinated dutycycled wireless ad hoc networks. IEEE Trans. Vehicular Technol 2010, 59: 307318.View ArticleGoogle Scholar
 Hong J, Cao J, Li W, Lu S, Chen D: Sleeping scheduleaware minimum latency broadcast in wireless ad hoc networks. In IEEE ICC. Dresden, Germany; 14–18 Jun 2009.Google Scholar
 Bozdag D, Catalyurek U, Gebremedhin AH, Manne F, Boman EG: A parallel distance2 graph coloring algorithm for distributed memory computers. In IEEE HPCC. Sorrento, Italy; 21–23 Sept 2005.Google Scholar
 Duan Y, Ji S, Cai Z: Generalized broadcast scheduling in dutycycle multihop wireless networks. In IEEE IPCCC. Orlando, FL, USA; 17–19 Nov 2011.Google Scholar
 Xu X, Cao J, Wan PJ: Fast group communication scheduling in dutycycled multihop wireless sensor networks. In WASA. Fusionopolis, Singapore; 26–27 Dec 2012.Google Scholar
 Gu Y, He T: Bounding communication delay in energy harvesting sensor networks. In IEEE ICDCS. Genoa, Italy; 21–25 Jun 2010.Google Scholar
 Maróti M, Kusy B, Simon G, Lédeczi A: The flooding time synchronization protocol. In SenSys. Baltimore, Maryland; 3–5 Nov 2004.Google Scholar
 Hua C, Yum TSP: Asynchronous random sleeping for sensor networks. ACM Trans. Sensor Netw 2007. doi:10.1145/1267060.1267063Google Scholar
 Wan PJ, Huang SCH, Wang L, Wan Z, Jia X: Minimumlatency aggregation scheduling in multihop wireless networks. In ACM MobiHoc. New Orleans, LA, USA; 18–21 May 2009.Google Scholar
 Wan PJ, Alzoubi K, Frieder O: Distributed construction of connected dominating set in wireless ad hoc networks. In IEEE INFOCOM. New York, NY, USA; 23–27 Jun 2002.Google Scholar
 Matula DW, Beck LL: Smallestlast ordering and clustering and graph coloring algorithms. J. ACM 1983, 30(3):417427. 10.1145/2402.322385MathSciNetView ArticleGoogle Scholar
 Guha S, Khuller S: Approximation algorithms for connected dominating sets. Algorithmica 1998, 20(4):374387. 10.1007/PL00009201MathSciNetView ArticleGoogle Scholar
 Wu J, Gao M, Stojmenovic I: On calculating poweraware connected dominating sets for efficient routing in ad hoc wireless networks. In ICPP. Valencia, Spain; 3–7 Sept 2001.Google Scholar
Copyright
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.