 Research
 Open access
 Published:
Approximation algorithm for data broadcasting in duty cycled multihop wireless networks
EURASIP Journal on Wireless Communications and Networking volumeÂ 2013, ArticleÂ number:Â 248 (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.
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.
As an example, consider Figure 1. Node S needs to broadcast a message to nodes A, B, C, and D. All of which have different wakeup times, i.e., time slot '1â€™, '3â€™, '5â€™, and '5â€™, respectively. Here, node S may transmit the message at least three times because its neighbors A, B, and C have different wakeup times. Moreover, assuming node A has received the message from s at time slot '1â€™ and B received the message from S at time slot '3â€™, nodes S, A, and B may try to forward the message to their neighbors at time slot '5â€™. However, this will cause a collision at nodes C and D. Considering the fact that B is adjacent to nodes C and D, both with the same wakeup time of '5â€™, one feasible way to conduct the broadcast is for S to send the message to A and B at time slot '1â€™ and '3â€™, respectively, after which B transmits it to C and D at time slot '5â€™. As we can see, both topology and wakeup schedule of nodes are key issues to consider when solving the MLBSDC problem. In fact, this consideration renders the MLBS problem more complex, meaning, existing algorithms for alwayson wireless networks are no longer applicable.
Henceforth, this paper presents the design and evaluation of a novel approximation algorithm that has significantly better performance than prior solutions. Specifically, it contains the following contributions:

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({\mathrm{\xce\u201d}}^{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.
The duty cycled WSN is modeled as a weighted unit disc graph (UDG) G=(V,E), where V is the set of nodes, and E represents the set of edges/links that exist between two nodes if their Euclidean distance is no more than a given transmission range. Furthermore, each edge in V has an associated numerical value, called a weight or cost. This corresponds to the time interval between two nodesâ€™ active time slots. Specifically, for each edge (u,v)âˆˆE, its cost, denoted as e d c(u,v), is defined as per Equation 1, where s is the source node.
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].
A proper D2coloring[21] of G is an assignment of colors, labeled by natural numbers to the nodes in V, such that any pair of nodes within twohop neighborhood receives different colors. Any node ordering v_{1},v_{2},â‹¯,v_{ n } of V induces a proper node coloring of G in the firstfit manner. Specifically, for i=1 to n, assign node v_{ i } the least assigned color that is not used by any neighbor v_{ j }, where j<i. For example, consider a line topology ABC. A proper coloring results in the color assignments 1, 2, and 1 to nodes A, B, and C, respectively. A particular node ordering of interest is the smallestdegreelast ordering[29]. For i=n to 1, it sets v_{ i } to the node with smallest degree in G[U], where UâŠ†V. Initially, set U to V, and then repeat the following iteration until U becomes empty: for i=n to 1, set v_{ i } to the node with the smallest degree in U, and remove it from U. Consider the line topology ABC. The smallestdegreelast ordering will be CBA. A summary of notations used in this paper can be found in Table 1.
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.
We model the MLBSDC problem as follows. Let (S_{ i },t_{ i }+k_{ i }T) denote the i th transmission, and i,{k}_{i}\xe2\u02c6\u02c6N. At the i th transmission, the nodes in the set S_{ i } transmit the message to nodes in R_{ i } at time t_{ i }+k_{ i }T, where R_{ i } denotes the set of nodes that received the message from nodes in S_{ i } collision free, and t_{ i } is the active time slot of nodes in R_{ i }. The MLBSDC problem is then to find a forwarding schedule
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\underset{i=1}{\overset{m}{\xe2\u2039\u0192}}{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.
We illustrate the operation of ILBS on the subgraph shown in Figure 2; note that the said subgraph is extracted from Figure 3, which we will revisit later. First, we collect nodes v_{2} and v_{3} into set X, and nodes v_{5}, v_{6}, v_{7}, v_{8}, and v_{9} into set Y. As shown in Figure 2, there is an edge between nodes v_{5} and v_{6}, and thus the MIS U of Y is set to {v_{6},v_{7},v_{8},v_{9}}. Node v_{3} covers the maximum number of nodes in U, and therefore, it is first selected to transmit the message to v_{7}, v_{8}, and v_{9}. Accordingly, node v_{6}âˆˆU will get the message from node v_{2} which is adjacent to node v_{6} and v_{7} of U. Node v_{5} will receive the message from a dominator in U such as v_{6}.
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
The resultant CDS satisfies the following properties:

1.
U\xe2\u02c6\xaaC\xe2\u2030\xa42\leftU\right1\xe2\u2030\xa42\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\xe2\u2030\xa42\mathcal{O}\left({R}^{2}\right)1. Recall that Râ‰¤Rad(G,s), and thus we have U\xe2\u02c6\xaaC\xe2\u2030\xa42\leftU\right1\xe2\u2030\xa42\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.
We now use Figure 3 to illustrate the ranking of T_{spt}(G[UâˆªC]). In our example, T_{spt}(G[UâˆªC]) consists of 20 nodes, and the scheduling period T is set to [ 0,1,2,3]. Table 2 lists the active time slot, layer number, and depth information of all nodes in T_{spt}(G[UâˆªC]).
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
For nodes in UâˆªC, their rank holds the following properties.

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\xe2\u2030\xa41+2\mathcal{O}\left({log}_{2}\right(\text{Rad}\left(G\right[\phantom{\rule{0.3em}{0ex}}U\xe2\u02c6\xaaC],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\xe2\u02c6\xaaC\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\xe2\u02c6\xaaC\left)\right). That is, the maximum rank r is bounded by \mathcal{O}\left({log}_{2}\right(U\xe2\u02c6\xaaC\left)\right). According to the first property of Lemma 1, we have U\xe2\u02c6\xaaC\xe2\u2030\xa42\mathcal{O}\left(\text{Rad}{\left(G\right[\phantom{\rule{0.3em}{0ex}}U\xe2\u02c6\xaaC]\phantom{\rule{0.3em}{0ex}},s)}^{2}\right)1, which leads us to the inequality r\xe2\u2030\xa4\mathcal{O}\left({log}_{2}\right(2\mathcal{O}\left(\text{Rad}{\left(G\right[\phantom{\rule{0.3em}{0ex}}U\xe2\u02c6\xaaC]\phantom{\rule{0.3em}{0ex}},s)}^{2}\right)1\left)\right)\xe2\u2030\xa41+2\mathcal{O}\left({log}_{2}\right(\text{Rad}\left(G\right[\phantom{\rule{0.3em}{0ex}}U\xe2\u02c6\xaaC]\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}.
CFBS follows a greedy strategy to compute the minimum t_{ ij } for each pipe P_{ ij }. The starting transmission time t_{ ij } must satisfy the following constraints:

(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}^{{\xe2\u20ac\xb2}^{}} 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}}}\xe2\u02c6\u2013{W}_{0}^{{\xe2\u20ac\xb2}^{}}. For each 1â‰¤kâ‰¤l, if W_{0} or {W}_{0}^{{\xe2\u20ac\xb2}^{}} 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}}\xe2\u2030\xa4\text{Depth}\left(G\right[\phantom{\rule{0.3em}{0ex}}U\xe2\u02c6\xaaC]\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\xe2\u02c6\xaaC]\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}}\xe2\u2030\xa4({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\xe2\u2030\xa41+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)\xe2\u2030\xa41+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
Figure 4 presents the average broadcast latencies of CFBS and OTAB when we vary the network size, which is denoted by the square length l. In this experiment, the number of nodes, transmission radius, and duty cycle are set to 400, 30 m, and 0.05, respectively. In Figure 4, we observe that the broadcast latency of both algorithms grows proportionally to the square of length l. The reason is as follows. The broadcast latency of CFBS and OTAB is mainly influenced by the number of layers in the SPT. For a fixed number of nodes and transmission radius, the network becomes sparse when we increase the network size. As a result, the network has fewer links and connectivity, and thus SPT has more layers. Furthermore, CFBS performs much better than OTAB, i.e., when the square length is set to 350 m, the broadcast latency of CFBS is only \frac{1}{8} that of OTAB. This is because instead of scheduling transmissions layer by layer as in OTAB, CFBS is able to schedule nodesâ€™ transmission in more than one layer, which helps reduce the broadcast latency.
Figure 5 plots the transmission ratio versus the network size. We find that the transmission ratio for CFBS and OTAB grows with increasing network size. This is because the average degree decreases when we increase the network size; thereby, a node will inform fewer nodes after each transmission. This means a node requires more transmissions to cover its neighbors. Moreover, CFBS performs better than OTAB in terms of the transmission ratio. This is because CFBS selects transmitting nodes from a small CDS.
5.2 Impact of node numbers
In Figure 6, we present the average broadcast latencies of CFBS and OTAB when we change the number of nodes. In this experiment, the square length, transmission radius, and duty cycle are fixed at 200 m, 30 m, and 0.05, respectively. As shown in Figure 6, we find that the broadcast latency of both algorithms grows as the number of nodes increases. This is because the network becomes denser when the number of nodes increases in a fixed network area. As a result, there are more links and richer connectivity, and thus, the SPT rooted at the source produces fewer layers. That is, less time will be required to inform all nodes. Furthermore, CFBS performs much better than OTAB, i.e., when the number of nodes is set to 1,000, the broadcast latency of CFBS is only \frac{3}{20} that of OTAB, for the same reason as listed in Section 5.1.
Figure 7 shows the transmission ratio versus the number of nodes. We see that the transmission ratio for both algorithms decreases with increasing number of nodes. This is because the average degree grows with increasing number of nodes; thereby, a node can inform more neighbors via one transmission. This means a node requires fewer transmissions to cover its neighbors. Moreover, CFBS still performs better than OTAB in terms of transmission ratio.
5.3 Impact of transmission radius
In Figure 8, we plot the broadcast latencies of CFBS and OTAB under different transmission radii. In this experiment, we set the square length, number of nodes. and the duty cycle to 200 m, 400, and 0.05, respectively. We see that the broadcast latency of both algorithms decreases with increasing transmission radius. This is because the nodes with a larger transmission radius will have higher connectivity with other nodes, which helps reduce the number of layers in the SPT. Notably, CFBS performs much better than OTAB in terms of the broadcast latency under different transmission radii, i.e., the latency of CFBS is within 17% of the latency achieved by OTAB.
Figure 9 shows that the transmission ratio of CFBS and OTAB decreases as the transmission radius grows. This is due to nodes with larger transmission radius being able to inform more nodes in one transmission, and thus, fewer transmissions will be needed to inform its neighbors. Furthermore, CFBS has a better performance in terms of the transmission ratio as compared to OTAB.
5.4 Impact of duty cycle
Figure 10 is a plot of the broadcast latency versus duty cycle. We fix the square length to 200 m, the number of nodes to 400, and the transmission radius to 20 m. From Figure 10, we find that the broadcast latency of CFBS and OTAB increases with declining duty cycle. The reason is due to the scheduling period T containing more time slots as the duty cycle decreases; a node will thus need to wait longer before forwarding a message to its neighbors. In addition, CFBS performs much better than OTAB in terms of the broadcast latency, i.e., CFBSâ€™s broadcast latency is around 15% that of OTAB when the duty cycle is set as 0.02.
Figure 11 shows that the transmission ratio for both algorithms increases with decreasing duty cycle. When the duty cycle decreases, the scheduling period T will contain more time slots, and a node needs to transmit more times to inform its neighbors because they have a higher probability of choosing different active time slots from a larger T. Moreover, CFBS outputs a smaller transmission ratio than OTAB.
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.
References
Baggio A: Wireless sensor networks in precision agriculture. In ACM REALWSN. Stokholm, Sweden; 20â€“21 Jun 2005.
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.
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.
Perkins C, Royer E: Adhoc ondemand distance vector routing. In IEEE WMCSA. New Orleans, LA, USA; 25â€“26 Feb 1999.
Nan W, Xueli S: Research on nodes location technology in wireless sensor network underground. In IEEE IITAW. Nanchang, China; 21â€“22 Nov 2009.
Brown S, Sreenan C: Updating software in wireless sensor networks: a survey (2006). [Technical report UCCCS200613N07, University College Cork, Ireland]
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.
Gandhi R, Mishra A, Parthasarathy S: Minimizing broadcast latency and redundancy in ad hoc networks. IEEE/ACM Trans. Netw 2008, 16(4):840851.
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.
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.
Lim H, Kim C: Flooding in wireless ad hoc networks. Comput. Commun 2001, 24(3):353363.
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.
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.
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.
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.
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.
Lai S, Ravindran B: On multihop broadcast over adaptively dutycycled wireless sensor networks. In IEEE DCOSS. Santa Barbara, CA, USA; 21â€“23 Jun 2010.
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.
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.
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.
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.
Duan Y, Ji S, Cai Z: Generalized broadcast scheduling in dutycycle multihop wireless networks. In IEEE IPCCC. Orlando, FL, USA; 17â€“19 Nov 2011.
Xu X, Cao J, Wan PJ: Fast group communication scheduling in dutycycled multihop wireless sensor networks. In WASA. Fusionopolis, Singapore; 26â€“27 Dec 2012.
Gu Y, He T: Bounding communication delay in energy harvesting sensor networks. In IEEE ICDCS. Genoa, Italy; 21â€“25 Jun 2010.
MarÃ³ti M, Kusy B, Simon G, LÃ©deczi A: The flooding time synchronization protocol. In SenSys. Baltimore, Maryland; 3â€“5 Nov 2004.
Hua C, Yum TSP: Asynchronous random sleeping for sensor networks. ACM Trans. Sensor Netw 2007. doi:10.1145/1267060.1267063
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.
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.
Matula DW, Beck LL: Smallestlast ordering and clustering and graph coloring algorithms. J. ACM 1983, 30(3):417427. 10.1145/2402.322385
Guha S, Khuller S: Approximation algorithms for connected dominating sets. Algorithmica 1998, 20(4):374387. 10.1007/PL00009201
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.
Acknowledgements
This project is supported by the CSCUoW joint scholarship program.
Author information
Authors and Affiliations
Corresponding author
Additional information
Competing interests
The authors declare that they have no competing interests.
Authorsâ€™ original submitted files for images
Below are the links to the authorsâ€™ original submitted files for images.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
About this article
Cite this article
Zhao, D., Chin, KW. Approximation algorithm for data broadcasting in duty cycled multihop wireless networks. J Wireless Com Network 2013, 248 (2013). https://doi.org/10.1186/168714992013248
Received:
Accepted:
Published:
DOI: https://doi.org/10.1186/168714992013248