Ensuring Multi Messages Broadcasting in Mobile Ad Hoc Network using Network Coding Approach

: Problem statement: In mobile adhoc network, broadcasting is a common operation for route establishment and for sending control and emergency messages. Most of the existing broadcasting algorithms consider broadcasting from single source node and consider only single message broadcasting. Initiating multiple messages broadcasting from multiple sources is a challenging task which requires minimum number of retransmission made by the forwarding nodes. Approach: Network coding-based broadcasting was proposed which focuses on reducing the number of transmissions each forwarding node performs in the multiple source/multiple message broadcast application, where each forwarding node combines some of the received messages for transmission. We exploit the usage of directional antennas to network coding-based broadcasting to further reduce energy consumption. A node equipped with directional antennas could divided the omni directional transmission range into several sectors and turns some of them on for transmission. In the proposed scheme using a directional antenna, forwarding nodes selected locally only need to transmit broadcast messages, original or coded, to restricted sectors. Results: Simulation results show that the proposed method maximizes packet delivery ratio and throughput with reduced packet drop. Conclusion: The proposed network coding based broadcasting method reduces the total number of retransmissions made by the forwarding nodes compared to broadcasting using the same forwarding nodes without coding. Directional antennas are used to select the forwarding node set to maximize the throughput with minimal packet drop.


INTRODUCTION
Broadcasting is the most frequently used operation in Mobile Ad hoc Networks (MANETs) for the dissemination of data and control messages in many applications. Usually, a network backbone is constructed for efficient broadcasting to avoid the broadcast storm problem caused by simple blind flooding, where only selected nodes, called forwarding nodes that form the virtual backbone, forward data to the entire network.
In MANETs, the forwarding node set for broadcast is usually selected in a localized manner, where each node determines its own status of forwarding or nonforwarding based on local information (Ghosh, 2008), or the status of a node is designated by its neighbors (Lou and Wu, 2002). A smaller-sized forwarding node set is considered to be more efficient due to the reduced number of transmissions in the network, which helps to alleviate the interference and also conserves energy.
The Connected Dominating Set (CDS) as a virtual backbone has been widely studied (Qayyum et al., 2002), where each node is either a forwarding node or a neighbor to a forwarding node in the set and the set is connected. Finding a minimum CDS is NP-complete. Li et al. (2007), exploited network coding in the broadcast application. They applied coding methods to deterministic forwarding node selection approaches to gain a reduction in the number of transmissions, focusing on reducing the number of transmissions each forwarding node performs. Network coding (Katti et al., 2006) is defined as allowing intermediate nodes to process the incoming information flows. When a forwarding node, decided by a certain approach, needs to forward several messages to all of its neighbors while some neighbors already have some of the messages, this node can combine some of the messages to reduce the number of forwarding and each neighbor can still get every message via decoding.
For instance, node c gets two messages from nodes a and b respectively. In order to let a and b have each other's message, c needs to forward both the messages as a traditional forwarding node. With network coding, c only needs to forward one coded message containing both original messages through the XOR operation and a and b can decode the message with the help of their own messages through the XOR operation. Note that the network coding works only when there are multiple messages broadcast at the same time in the network. Yang et al. (2007), focused on reducing the total number of forwarding directions/sectors of forwarding nodes. Using directional antennas, the omni directional transmission range of each node can be divided into several sectors and the transmission can be performed only in selected sectors. Therefore, by reducing the total number of transmission sectors of the forwarding nodes in the network, the interference can be alleviated as well as the energy consumption.

Related works:
Broadcasting in MANET: Probabilistic (Tseng et al., 2002) and deterministic (Wu and Li, 1999;Stojmenovic et al., 2002;Yang et al., 2007) approaches have been proposed for efficient broadcast. Probabilistic approaches use limited neighborhood information (local information) and require relatively high broadcast redundancy (Peng and Lu, 2000) to maintain an acceptable delivery ratio. Deterministic approaches select a few forwarding nodes to achieve full delivery and most are localized, where each node determines its status (forwarding or non-forwarding) based on its hhop neighborhood information (for small values of h, such as 2 or 3). The decision of forwarding nodes can be made under both static and dynamic local views. In the static approaches, only topology information is considered, whereas in dynamic ones, broadcast state information of the neighborhood is also piggybacked.
The CDS concept can be applied for broadcasting. Wu and Li (1999) proposed the first localized solution for CDS construction. (Yang et al., 2007) presented a scalable broadcast algorithm where the status of a forwarding node is computed on-the-fly. In (Stojmenovic et al., 2002), extended (Wu and Li, 1999) to a dynamic version. Sucec and Marsic (Tan et al., 2006) developed a dynamic approach without using a backoff delay. Lou and Wu (2002) devised a Total/partial Dominant Pruning (TDP/PDP) method based on 2-hop topology and broadcast state information. Yang et al. (2007) further proposed a generic CDS formation approach, which can be performed in both dynamic and static modes.
Network coding: Network coding (Katti et al., 2006) can be used to allow the intermediate nodes to combine packets before forwarding. Therefore, network coding can be used for efficient broadcasting by reducing the total number of transmissions. Fragouli et al. (2006), quantified the energy savings that network coding has the potential to offer in broadcasting. They also proposed an implementable method for performing the network coding, addressing some practical issues such as setting the forwarding factor and managing generations. Pleisch et al. (2006), a proactive compensation packet is periodically broadcast, constructed from unforwarded messages using network coding to improve the delivery ratio of the probabilistic broadcast approach. Yang et al. (2007). applied network coding to a deterministic broadcast approach called Partial Dominating Pruning (PDP) (Lou and Wu, 2002) in a multiple-source broadcast application. They proved that using only XOR operation, the coding algorithm is NPcomplete and developed a greedy XOR-based approach for simplicity. The Reed-Solomon code was exploited to design an optimal Reed-Solomon code-based algorithm.

Directional antennas:
The most popular directional antenna model is ideally sectorized, as in (Hu et al., 2003), where the effective transmission range of each node is equally divided into K non-overlapping sectors, where one or more such sectors can be switched on for transmission or reception. The channel capacity when using directional antennas can be improved and the interference can be reduced. Some probabilistic approaches for broadcasting using directional antennas are proposed in (Hu et al., 2003;Shen et al., 2004;Deying et al., 2008). Dai and Wu (2006) proposed a localized broadcast protocol using directional antennas, which is sourcebased. Yang et al. (2007) put forward the directional network backbone for efficient broadcasting using the directional antenna model in a static manner where the backbone is suitable for any source node in the network. They designed the concept of a Directional Connected Dominating set (DCDS) for the construction of a directional network backbone. DCDS extended the CDS approach for broadcast with the help of directional antennas.
The minimum DCDS problem is proved to be NPcomplete. Using DCDS, not only forwarding nodes but also forwarding edges of each forwarding node are designated. The total energy consumption is reduced, as well as the interference. They developed the node and edge coverage condition for the DCDS problem. All of the above schemes assume an omni directional reception mode.

Broadcast with network coding and directional antennas:
In this study, we try to combine the efficiency of both network coding and directional antennas to achieve efficiency in broadcasting. We analyze the performance of these two methods and design an algorithm-Efficient Broadcast using Network Coding and Directional Antennas (EBCD), where each node decides its forwarding status using only local information and limited piggybacked broadcast state information. The proposed design is not simply the combination of the two existing methods.
We take the advantage of the interactional effects of them to achieve an even better performance. Additionally, we modify the existing directional antenna method to a dynamic mode. As shown in Fig. 1 (a), there are four messages, A, B, C and D generated from nodes a, b, c and d, respectively. We assume that node e is selected for forwarding using a forwarding node selection method. Therefore, e needs to forward all four messages, costing 4 transmissions totally. In network coding-based broadcasts, based on 2-hop neighborhood information, e can construct a neighbor reception table as in (b) to record the broadcast state information of the received messages.
For instance, when a sends out message A, not only e, but also b gets it. Therefore, b is a "covered" node of message A and there is a "1" in the grid at line b, column A. Based on the table, e then codes these four messages into two combined messages to forward, P1 (= A ^ C) and P2 (= B ^ D) (^ is the XOR operation) using some network coding algorithms. Obviously, every other node can decode these two combined messages together with the messages it already has in order to gain all four of the original messages. For instance, node b has message A, B and C. When b receives P2, it can use P2 ^ B to extract message D. a can use P1 ^ A and P2 ^ B to obtain C and D.
Although the forwarding node/edge selection and the further network coding procedures are independent, we show that different underlying forwarding node selection approaches affect the efficiency of network coding significantly. In EBCD, we design the dynamic version of the underlying forwarding node/edge selection approach. We then use a static version without piggybacked information for it to analyze the performance and tradeoffs. We find out that the energy conservation of the dynamic and static versions are comparable, although the dynamic one is slightly better. In the proposed algorithm, first extend the approach developed in (Yang et al., 2007) to construct the Directional Connected Dominating Set (DCDS) to a dynamic version, where the constructed DCDS is source-based. We then combine the network coding with the dynamic DCDS to develop the EBCD. The omni directional transmission range of each node is divided into K sectors and each forwarding node only needs to switch on several sectors for transmission while the entire network gets the broadcast message. The Directional Connected Dominating Set (DCDS) is proposed for the construction of a directional network backbone, where each node determines locally not only its status of forwarding or non-forwarding, but also its forwarding outgoing edges if it is a forwarding node. Note that the network is modeled as a directed graph. Then in a broadcast initiated from any source node, the source uses omni directional transmission (or directional transmission if it detects a forwarding node in that direction) to send the message to a neighboring forwarding node. Then forwarding nodes forward the message towards only their corresponding forwarding edges and the entire network gets the message. The DCDS is a directional network backbone assuming that K is infinite and each outgoing edge is a transmission sector. When K is finite, the sectors that contain selected forwarding edges are simply switched on for transmission to get a directional network backbone. Note that when K is 1, the DCDS problem turns into the CDS problem.
A minimum DCDS problem is to find a DCDS with the least forwarding edges which is proved to be NP-complete. If the energy consumption of transmission in any direction is fixed, reducing the number of forwarding edges guarantees the smallest energy consumption in the application of broadcasting using directional antennas. The node/edge coverage condition proposed in (Yang et al., 2007) constructs a DCDS for a given network locally at each node in a static manner. The constructed DCDS is for any source node in the network. After the exchange of "Hello" messages, each node makes a decision based on only local topology information in the initialization phase before the broadcast application starts. Here, we extend this method to a dynamic version, where each node makes a decision based not only on topology information but also broadcast state information piggybacked in received broadcast messages. It decides its forwarding status and corresponding forwarding edges for each received broadcast message.
In our proposed dynamic node/edge coverage condition, each broadcast message piggybacks with it the information of its q most-recently visited nodes (q is a small number such as 2 or 3). A visited node for a message is a node that has forwarded the message. Correspondingly, a visited edge for a message is an edge that has forwarded the message. Then, when a node applies the coverage condition to determine its status for a received message, it considers the information of visited nodes/edges of this message as well as local topology information. The dynamic version of the node and edge coverage conditions resemble the static ones (Yang et al., 2007) except that the node and edge priorities are updated based on the piggybacked broadcast state information.
Note that the updated new priority is only valid for the corresponding message. Therefore, a node may have a different status (visited or not, forwarding or not) and priorities for different messages. In the following, an unmarked status represents a nonforwarding status. A dominating neighbor means that there is an incoming edge from that neighbor. A absorbant neighbor means that there is an outgoing edge to that neighbor. Note that each node v has a priority p(v) and such a priority is totally ordered within its h-hop neighborhood, which could be the node ID, node degree, or energy level based on different applications.

Dynamic node coverage condition:
Node v is unmarked if, for any two dominating and absorbant neighbors, u and w, a directed replacement path exists connecting u to w such that (1) each intermediate node on the replacement path has a higher priority than v (including visited nodes) and (2) u has a higher priority than v if there is no intermediate node.
Edge priority assignment: For each edge (v → w), the priority of this edge is P (v → w) = (P (v), P(w)). The priority of an edge is a tuple based on the lexigraphic order. The first element is the priority of the start node of this edge and the second one is the priority of the end node. Therefore, there is a total order for all the edges. For example, P (x → y) > P (w → v), if and only if, (P (x) > P (w)) or (P (x) = P (w) and P(y) > P (v)). As shown in Fig. 2, v is the current node and black nodes are visited ones. Assume the priority is based on the alphabetic order, i.e., P (a) > P (b). (a) shows two types of directed replacement paths from u to w using the node coverage condition. When u is directly connected to w, P (u) > P (v) is necessary. Otherwise, when there are intermediate nodes t and x, then P (t) > P(v) and P(x) > P(v) since x is visited. (b) shows the directed replacement path for edge (v → w). In this case, both the intermediate edges ((v → u) and (u → x)) have higher priorities than the edge (v → w). Since edge (x → w) is visited, the edge (v → w) can be unmarked. The difference between dynamic and static node/edge coverage conditions is that a visited node/edge has a higher priority node/edge. Note that the dynamic node/edge coverage conditions need h-hop information which means h-hop local topology information and q-hop piggybacked visited node/edge information in each received message. Figure 3 represents the forward nodes, forwarding nodes and forwarding edges for a sample network.

Efficient Broadcasting using network Coding and Directional antennas (EBCD):
In this subsection, we combine the network coding and directional antenna approaches into the broadcast application, exploiting the advantages of both of them. Algorithm 1 describes EBCD executed on a node. Before the broadcast starts, each node exchanges "Hello" information with neighbors for h rounds to get the h-hop local topology information. Upon the arrival of the first message, a timer is setup and the piggybacked information in each received message is recorded to update the node priorities. When the timer expires, for each received message, the node/edge coverage conditions are applied based on the topology and broadcast state information (new priorities) and forwarding status and edges of the node are determined. We use the example in Fig. 4 to illustrate the procedure. It is the result of DDCDS after step 4 of Algorithm 1. Node e is the forwarding node for messages A, B, C and D from nodes a, b, c and d based on the dynamic node coverage condition. Edge (e → a) is a forwarding edge for messages C and D. Edge (e → b) is a forwarding edge for message D. Edge (e → c) is a forwarding edge for message A. Edge (e → d) is a forwarding edge for message A and B.
In step 5, when the timer expires, node e circumgyrates its directional antennas to let the edge of a sector align to each forwarding edge. There are at most f layouts when the number of selected forwarding edges is f. In each sector of each layout, network coding is applied to determine the final transmissions. The layout with the fewest total transmissions is then selected for use. The node then executes the forwarding. In the algorithm, we assume that steps 4, 5 and 6 can be completed before the arrival of the next message.
In EBCD, network coding is applied in each sector of a layout instead of the entire node as in (Li et al., 2007). We use the XOR-based algorithm from (Li et al., 2007). Assuming m 1 , m 2 and m l are messages received in order in this sector. P 1 , P 2 , . . . , P t are the final forwarded messages (original or coded). P 1 = m 1 ^ . . ^ m i1 , P 2 = m i1 + 1 ^ . . . ^ m i2 , . . ., P t = m it + 1 ^ . . . ^ m l , where each neighbor can decode from P 1 to P t to get any missing message from m 1 to m l . A greedy approach can be used. For the received messages in a queue, the algorithm tries to have the maximum number of messages starting from m 1 to create P 1 , then to create P 2 and so on. For example, in Fig. 4b, assuming that the broadcast messages arrive in the order of A, C, B and D at node e. P 1 is A at first, then e tries to make P 1 = A ^ C. Node a needs message C and nodes d and c need message A. With P1, all of them can decode. Therefore P 1 = A ^ C is a correct coding. Then e can try P1 = A ^ C ^ B. Since node d needs message B and it cannot decode P 1 to get B, this is not a correct coding. P 1 remains as A ^ C. Using the same procedure, we can get P 2 = B ^ D.

Algorithm 1 EBCD algorithm at node v:
1. Before broadcast: Exchange "Hello" messages to update local topology. Upon reception of the first message (before the timer setup): 2. Setup the timer. 3. Update neighborhood node priorities based on each received message. 4. When timer expires, apply dynamic node/edge coverage conditions for each message. 5. If v is a forwarding node for some messages, (1) Align the edge of a sector to each forwarding edge.
(2) Determine coded messages in each sector using coding.
(3) Select the position with the fewest total transmissions. 6. Forward coded messages. Figure 4b is the result using only network coding, where e is the forwarding node and forwards the combined message P 1 = A ^ C and P 2 = B ^ D omni directionally. (c) is one layout of EBCD using K = 2. Then e needs to transmit C and D in the left sector and A and B in the right sector. (d) is another layout for K = 2, where e transmits P1 and P2 to the upper sector and P 3 = A ^ D to the lower sector. (e) and (f) show the case where K is 4 with different layouts. If we assume that the transmission of one message in a 90° sector costs one unit of energy, the energy consumption in the Figures from (b) to (f) are 8, 8, 6, 6 and 5. We can see that the combination of network coding and directional antennas can improve broadcasting performance significantly in terms of energy consumption. Note that the forwarding of node e without network coding or directional antennas costs 16.
The entire procedure can also be illustrated using Fig. 5a, where m 1 to m 6 are received messages and D 1 to D 6 are the corresponding forwarding nodes/edges decisions for them based on topology and priority information. U means to update the priority information based on the piggybacked information in the received message and D c is the final transmission decision for several received messages using network coding in a valid timer. Note that the duplicated reception of a processed message is simply discarded such as m 5 received after it has been processed and forwarded. As shown in the figure, the arrival of m 5 after timer 2 expires will not intrigue a new timer or a new updating during the timer 3 period.
The source nodes in the network can simply use omni directional transmission to send out the broadcast messages. In order to further reduce the total energy consumption, source nodes can only switch on sectors in which there are neighbors for transmission. In this case, the message can arrive at atleast one forwarding node as well as other non-forwarding neighbors, which helps with the potential network coding conducted later on. As shown in Fig. 4f, source nodes a, b, c and d select some sectors to switch on for transmission, shown in the light grey sectors.
Simulation: Algorithm used for comparison: As mentioned above, in (Li et al., 2007), applied network coding to a dynamic forwarding node selection approach, the PDPbased approach and stated that the coding can be directly applied to other localized deterministic approaches for broadcasting. The previously proposed EBCD also uses a dynamic forwarding status approach. Here, the proposed EBCD is compared with static forwarding node selection approach to analyze their overall performance. The entire procedure is given in Fig. 5. In the static version of EBCD, we apply the coding to the static forwarding node/edge selection, the node/edge coverage conditions as shown in Algorithm 2. We will compare the performance and tradeoffs of these two algorithms in the simulation section.
Algorithm 2 static EBCD algorithm at node v: Before broadcast: 1. Exchange "Hello" messages to update local topology. 2. Determine forwarding status. Exit if it is nonforwarding. Upon reception of the first message (before setup the timer): 3. Setup the timer. 4. When timer expires, (1) Align the edge of a sector to each forwarding edge.
(2) Determine coded messages in each sector using coding.
(3) Select the position with the fewest total transmissions. 5. Forward coded messages.  Simulation environment: The simulations are conducted on a custom simulator. In the simulation, n nodes are randomly placed in a restricted 100×100 area. The tunable parameters in the simulation are as follows.
(1) The number of nodes n. We vary the number of deployed nodes from 20-100 to check the scalability of the algorithms.
(2) The average node degree d which represents the density of the network. We use 6 and 18 as the values of d to generate sparse and dense networks.
(3) The number of sectors of the antenna pattern K. We use 4 and 6 as the values of K. (4) the number of broadcast sessions b, i.e., the number of generated broadcasting messages. b has a fixed value of 20 in the simulation. Therefore, when n is different, we can simulate various data loads in the network. The source nodes are randomly selected. (5) The number of segments k, k is 10 and 20 in the network. We do not consider node mobility and signal interference in the following simulations. The simulations are performed using ns2. The list of Simulation Parameters is given in Table 1. Static and Dynamic EBCD algorithms are compared based on 3 metrics.

Packet delivery ratio:
It is the number of data packets received by the destination nodes divided by the number of data packets transmitted by the source nodes. Throughput: It is the average rate of successful message delivery over a communication channel.

Packet drop:
It is the number of data packets dropped by the intermediate nodes due to congestion or collision. Figure 6 is the comparison of D-EBCD and S-EBCD in terms of the throughput. We can see that although the number of forwarding nodes selected in the static method is larger than that in the dynamic one, the final throughput in D-EBCD and S-EBCD are very close, especially when the network is relatively dense. This is because more forwarding nodes to forward increases the probability of network coding, which makes up for the larger forwarding node set. The forwarding node set of S-EBCD is around 1.3 times larger than that of D-EBCD while the final number of transmissions is 1.03 times higher. The advantage of S-EBCD is that it only calculates the status of each node once for any broadcast message from any source. It is also unnecessary to piggyback the broadcast state information. Therefore, if the network is dense, both S-EBCD and D-EBCD produce better results and the performance is comparatively equal. Figure 7 is the comparison of S-EBCD D-EBCD in terms of packet drop. We can see that D-EBCD can further reduce the number of switched on sectors compared with S-EBCD in which all sectors of a forwarding node need to be switched on for transmission.
When the number of sectors being selected is larger, then packet drop is more significant in static EBCD algorithm. Dynamic EBCD algorithm reduces the number of switched on sectors significantly and reduces packet drop significantly. Figure 8 shows the performance evaluations of S-EBCD and D-EBCD on packet delivery ratio. We can see that when the network is sparse, which means the transmission range is small, then D-EBCD has better performance than S-EBCD. Smaller the number of forwarding nodes selected makes the advantage of D-EBCD over S-EBCD more significant. When the number of forwarding nodes selected is high in dense networks, D-EBCD is very close to S-EBCD. Hence, packet delivery ratio is larger with larger number of segments in the initial phase of D-EBCD. Figure 9 is the comparison of S-EBCD and D-EBCD in terms of energy consumption. When total numbers of sectors are large, EBCD can reduce the number of switched on sectors compared with S-EBCD in which all sectors of forwarding nodes need to be switched on for transmission. The larger the value of K, the larger is the reduction rate in terms of energy consumption.

CONCLUSION
Network coding has been exploited for efficient broadcasting to further reduce the number of transmissions in the multiple source broadcast application. In this study, we combine the network coding-based broadcast approach with broadcasting using directional antennas for a more efficient broadcast strategy, developing Efficient Broadcasting using network Coding and Directional antenna algorithm (EBCD). We extend existing broadcasting using the directional antenna approach to a dynamic mode. Although the coding-based approach is independent of the underlying forwarding node selection procedure, we show that different forwarding node selections affect the overall performance significantly.
We also discuss the single source/single message application and design two approaches as the extension of the proposed algorithm for it. Performance analysis is conducted through simulations. The proposed EBCD approach has better performance than traditional CDSbased broadcast and the existing network coding-based broadcast in terms of energy consumption. Also, the static version of EBCD has comparative performance in energy conservation with smaller overhead. In the future, we will improve the robustness for mobility and MAC layer interference of the proposed approaches and perform more comprehensive simulation considering a mobile environment.