Integration of Network Coding, Spatial Diversity and ... · integration of network coding, spatial diversity and opportunistic routing/forwarding in wireless mesh networks mohammad
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Integration of Network Coding, Spatial Diversity and Opportunistic Routing/Forwarding in Wireless Mesh
Networks
by
Mohammad Rizwan KHAN
THESIS PRESENTED TO ÉCOLE DE TECHNOLOGIE SUPÉRIEURE IN PARTIAL FULFILLMENT FOR THE DEGREE OF
DOCTOR OF PHILOSOPHY Ph.D.
MONTREAL, AUGUST 22, 2017
ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC
It is forbidden to reproduce, save or share the content of this document either in whole or in parts. The reader
who wishes to print or save this document on any media must first get the permission of the author.
III
THIS THESIS HAS BEEN EVALUATED
BY THE FOLLOWING BOARD OF EXAMINERS Mr. Zbigniew Dziong , Thesis Supervisor Department of Electrical Engineering, École de technologie supérieure Mr. Fabrice Labeau, Thesis Co-supervisor Department Electrical Engineering, McGill University Nadjia Kara, President of the Board of Examiners Department of Software and IT Engineering, École de technologie supérieure Mr. Michel Kadoch, Member of the jury Department of Electrical Engineering, École de technologie supérieure Mr. Roch Glitho, External Evaluator Concordia Institute for Information, Systems Engineering (CIISE), Concordia University
THIS THESIS WAS PRENSENTED AND DEFENDED
IN THE PRESENCE OF A BOARD OF EXAMINERS AND PUBLIC
19TH JUNE, 2017
AT ÉCOLE DE TECHNOLOGIE SUPÉRIEURE
IV
ACKNOWLEDGMENT
When I started doing my graduate studies, I had no clue what is that I am going to be doing
for studies. I was quite confused, whether I wanted to spend my days in a dorm room reading
documents late night, debugging my codes or did I wanted to be partying around with
friends. Well it was quite a journey!!! Whether I would do it again if I can go back in time?
Of course, I would not choose otherwise. I was lucky enough to be in Montreal, Quebec,
during my studies. I love every bit of it, except for the winter!!!!! I would like to extend my
thanks to my supervisor Prof. Dziong, for his enormous patience towards me. I think he put
more time and effort that I have put to finish this work. I can’t thank him enough, but thank
you for those long hours of chatting we had. He is an amazing person, great mentor. Who had
enormous patience, when nothing was working; I think for most of my work, part of credit
goes to him. I would also like to thank my Co-Supervisor Prof. Fabrice Labeau for his
support and encouragement. I would also like to thank Prof. Kadoch, Director, LAGRIT. I
once had a small chat with him, that chat resulted me to develop a mechanism for network
simulation monitoring where I can closely monitor the network and then I can read event, it’s
a painful process where I had to read lots of line of console output, but it works fine to detect
events and observe the series of events. I would also like to thank all my friends at the
LAGRIT and at the school.
I would like to thank my Mom, sister, brothers for their enormous support and patience
towards me. During my studies whenever I felt mugged, I called Mom to say I am not getting
any results and I think it’s time to take a different route in life. She would listen to every
word I had to say and then pause me and say this, “come on you can do it, have faith; take a
nap and then get back to work”. I think she has more patience than anyone I know of. Love
you Mom, and thank you for being such an amazing Mom.
INTEGRATION OF NETWORK CODING, SPATIAL DIVERSITY AND OPPORTUNISTIC ROUTING/FORWARDING IN WIRELESS MESH NETWORKS
Mohammad Rizwan KHAN
RÉSUMÉ
Le réseau maillé sans fil constitue une réponse au problème du « dernier kilomètre ». Celui-ci nous offre en effet, un accès Internet bon marché, un déploiement facile et une grande couverture réseau avec moins de fils. Néanmoins, son débit limité est une barrière à son intégration aux applications de prochaine génération. Motivé par les caractéristiques et avantages de cette technologie, nous présentons une solution à ce problème de débit limité en tirant profit de son caractère de diffusion sans fil. Le codage réseau, la diversité spatiale et le routage/transfert opportuniste capitalisent sur la nature de diffusion des connexions sans fil pour améliorer les performances du réseau. Ces techniques ciblent différentes conditions de réseau et sont en général considérées séparément. Dans cette thèse, une intégration basée sur l’inter-couche (c.à.d. cross-layer) des trois techniques mentionnées est présentée. Cette intégration permettra d’accumuler leurs gains potentiels en utilisant la même pile de protocole réseau dans un réseau maillé sans fil. L'approche d'intégration proposée est basée sur une nouvelle métrique CDARM (Coding opportunity and Data rate Aware Routing Metric) utilisée pour la sélection d'itinéraire et sur une méthode de création des liaisons relais au niveau de la couche MAC. Pour exploiter la nature de diffusion, nous avons développé un protocole coopératif (CP_RL) intégrant ces différentes techniques. Un routage opportuniste est tout d’abord introduit dans le protocole coopératif par la création de liaisons relais au niveau de la couche MAC. Sur la base de ce protocole coopératif (CP_RL) et de la métrique de routage, le mécanisme de codage réseau y est ensuite intégré. Pour finir, une coopération entre le réseau et les couches MAC est mis en place. Les simulations numériques menées lors de cette étude ont montré une amélioration significative des performances du protocole intégré et ce, aussi bien en termes de débit que de fiabilité du réseau. Au meilleur de notre connaissance, cette thèse est la première tentative d'intégration du codage réseau (NC), de la diversité spatiale (CP) et des mécanismes de routage opportuniste (OR) dans la même pile de protocoles. Les avantages du protocole intégré peuvent être clairement observés à partir des résultats. On constate que l'amélioration de la performance varie faiblement dans un scénario à saut unique pour progressivement augmenter dans un scénario multi-saut (c.a.d. multihop). Cette thèse présente un cas d’étude important où nous préconisons d’exploiter aussi bien la nature de diffusion de la chaîne sans fil que l'architecture inter-couche (c.a.d. cross-layer) où les couches interagissent fréquemment les unes avec les autres au lieu de travailler isolément. Certes le protocole intégré nécessite des modifications dans la pile de protocole réseau. Mais ces modifications pourront être facilement incorporées dans les dispositifs de génération future.
VIII
Mots clés : codage réseau, diversité spatiale, opportuniste de routage, la création de liens sur la couche MAC.
INTEGRATION OF NETWORK CODING, SPATIAL DIVERSITY AND OPPORTUNISTIC ROUTING/FORWARDING IN WIRELESS MESH NETWORKS
Mohammad Rizwan KHAN
ABSTRACT
Wireless Mesh Network is an answer to the last mile problem. It offers easy deployment and provides coverage over large area with fewer wires. Nevertheless, its limited throughput is inadequate for next generation applications. Motivated by its features and advantages, we propose a solution to mitigate this problem of limited throughput by leveraging the broadcast nature of the wireless medium. In particular, network coding, spatial diversity and opportunistic routing/forwarding capitalize on the broadcast nature of the wireless links to improve the network performance. These techniques target different network conditions and usually are considered in separation. In this thesis a cross-layer based integration of the mentioned three techniques is presented to accumulate their potential gains using the same network protocol stack in wireless mesh networks. The proposed integration approach is based on a new CDARM metric (Coding opportunity and Data rate Aware Routing Metric) used for the route selection and a method for creating relay links at the MAC layer. In particular to leverage on the broadcast nature we developed a cooperative protocol, based on link creation at the MAC layer that introduces opportunism into the cooperative protocol. Based on this cooperative protocol and the routing metric, we integrate the network coding mechanism. Then we introduce cooperation between the network and MAC layers. The numerical study, based on the system level simulation results, shows significant improvement of the integrated protocol performance in terms of network throughput and reliability over the individual mechanisms. To the best of our knowledge this dissertation is the first attempt to integrate network coding, spatial diversity and opportunistic routing/forwarding mechanisms in the same protocol stack. The integrated protocol requires modifications into the network protocol stack that can be easily incorporated in future generation devices. Keywords: Network coding; Spatial diversity, Opportunistic routing, Link creation at MAC layer.
CHAPTER 1 LITERATURE REVIEW ............................................................................7 1.1 Opportunistic Routing Protocol .....................................................................................7 1.2 Cooperative Protocol .....................................................................................................8 1.3 Network Coding Protocol ..............................................................................................9 1.4 Integration of different broadcast based protocol ..........................................................9
1.4.1 Integration of OR with NC ......................................................................... 9 1.4.2 Integration of NC with CP ........................................................................ 12 1.4.3 Integration of NC and Opportunistic forwarding ...................................... 13 1.4.4 Routing metrics for Integration ................................................................. 13 1.4.5 Multi-rate capability for Integration ......................................................... 14 1.4.6 Cross layer based Integration .................................................................... 14 1.4.7 Implementation Issues for Integration ...................................................... 15
2.2 Link Creation at MAC Layer .......................................................................................22 2.3 Integrated Protocol Functioning ..................................................................................25 2.4 Node Link Metric .........................................................................................................27
3.3 Opportunism in the Routing Protocol ..........................................................................41 3.4 Cooperation among the MAC and Network Layer ......................................................42 3.5 MAC Layer Modifications ...........................................................................................42
CHAPTER 4 PERFORMANCE EVALUATION OF THE INTEGRATED PROTOCOL ..............................................................................................57
Introduction ..................................................................................................................57 4.1 Considered Topologies ................................................................................................60 4.2 Network Throughput ....................................................................................................66 4.3 Delivery Ratio Analysis ...............................................................................................67 4.4 Number of Transmission per-packet Delivery .............................................................68 4.5 Dirstribution of CP, NC and OR Mechanism in INT and INT-C2 ..............................77 4.6 Gain from Cooperation between Layers ......................................................................77 4.7 Analysis of Gains from Integration of NC, CP and OR Mechanisms .........................78 Chapter Summary ........................................................................................................80
APPENDIX I INTEGRATION OF NETWORK CODING, SPATIAL DIVERSITY AND OPPORTUNISTIC ROUTING/FORWARDING IN WIRELESS MESH NETWORKS ...................................................................................83
Page Table 1.1 Comparison of the proposed integration with the state-of-the-art .............18
Table 4.1 Average network throughput difference (%) between INT, INT-C1, INT-C2 and TR, NC_BEND, CP, respectively, for diamond topology ...69
Table 4.2 Average delivery ratio difference (%) between INT, INT-C1, INT-C2 and TR, NC_BEND, CP, respectively, for diamond topology ..................70
Table 4.3 Average NTPD difference (%) between INT, INT-C1, INT-C2 and TR, NC_BEND, CP, respectively, for diamond topology .........................70
Table 4.4 Network throughput for different topologies .............................................71
Table 4.5 Delivery ratio for different topologies .......................................................72
Table 4.6 Number of transmissions per packet delivery (NTPD) for different topologies ...................................................................................................73
Table 4.7 Fraction of time usage of different mechanism .........................................74
Table 4.8 Performance Comparison of integrated protocol with protocols developed in isolation ..................................................................................................75
Table 4.9 Gain table for the combined gain formula .................................................79
LIST OF FIGURES
Page
Figure 2.1 Illustrations of Network coding .................................................................20
Figure 2.2 Timing diagram of Cooperative protocol (direct transmissions) .............. 21 Figure 2.3 Timing diagram of Cooperative protocol (relayed transmissions) ........... 21 Figure 2.4 Classifications of OR protocols based on Candidate coordination ........... 24 Figure 2.5 Illustrations of Cooperative protocol in Integration .................................. 24 Figure 2.6 Illustrations of Cooperative protocol in Integration (relay intervention) ........................................................................................... .. 25 Figure 2.7 Illustrations of Network coding in Integration .......................................... 27 Figure 2.8 Modified Queue Length Illustration .......................................................... 31 Figure 2.9 Graph representation of the Modified Queue Length ................................ 32 Figure 3.1 Flow chart for RREQ phase ...................................................................... 39 Figure 3.2 Flow chart for RREQ phase(second half) ................................................. 40 Figure 3.3 Modified MAC header for Integrated ........................................................ 43 Figure 3.4 NAV update procedure for Integrated Protocol (I) ................................... 46 Figure 3.5 NAV update procedure for Integrated Protocol (II) .................................. 47 Figure 3.6 Flow chart for decoding and ACK/NACK procedure ............................... 51 Figure 3.7 Flow chart for sending coded transmission ............................................... 53 Figure 3.8 The modified network architecture for integration ................................... 54 Figure 4.1 Diamond topology ..................................................................................... 60 Figure 4.2 3X3 mesh topology.................................................................................... 61 Figure 4.3 4X4 mesh topology.................................................................................... 61
XVI
Figure 4.4 16 node random topology ........................................................................... 62 Figure 4.5 Network throughput for Diamond Topology vs. node A-B distance ......... 63 Figure 4.6 Delivery Ratio for Diamond Topology vs. node A-B distance .................. 64 Figure 4.7 Number of transmissions per packet delivery (NTPD) vs. node A-B distance................................................................................................ 64 Figure 4.8 Fraction of the packets sent in native and coded mode for the NC_BEND case vs. node A-B distance ..................................................... 65 Figure 4.9 Fraction of the three different mechanisms usage for the INT case vs. node A-B distance ........................................................................ 65 Figure 4.10 Fraction of the three different mechanisms usage for the INT-C2 case vs. node A-B distance ......................................................................... 76 Figure 4.11 Average fraction of the three different mechanisms usage in the integrated protocols for Diamond Topology ............................................... 76 Figure 4.12 Network throughput for Diamond Topology vs. node A-B distance ......... 78 Figure 4.13 Delivery Ratio for Diamond Topology vs. node A-B distance .................. 78
LIST OF ABREVIATIONS
WMN Wireless mesh network
NC Network coding
SD Spatial diversity
OR Opportunistic routing
CP Cooperative protocol
CP_RL Link creation at the medium access control layer
CDARM Coding opportunity and data rate aware routing metric
MIQ Modified Interference Queue
CW Contention Window
SIFS Short Inter-Frame Space
DIFS Distributed Inter-Frame Space
MAC Medium Access Control Protocol
NAV Network Allocation Vector
SNR Signal to Noise Ratio
RREQ Route Request
RREP Route Reply
DCF Distributed Coordinated Function
AODV Ad hoc On-Demand Distance Vector
NTPD Number of Transmission per Packet Delivery
INT Integration of three broadcast based protocol
INT-C Network and MAC layer cooperation enabled integration
INTRODUCTION
0.1 Motivation
Wireless technologies occupy major segments in the telecommunication industry. Wifi
networks are promising for providing affordable internet access but their coverage limitations
is a significant drawback since in order to provide continuous coverage, the access points
need to be placed with high density, which is quite expensive. Wireless Mesh Networks
(WMN) constitutes an attractive alternative especially in less populated areas. This is due to
larger coverage of the access points where the mesh routers are placed at the boundaries of
the access points (AP), the users can connect to the mesh routers in the event it is outside of
the coverage of the AP connected to the wired network. However, there is a growing number
of applications requiring high throughput such as live video, sharing large files, transfer of
high definition multimedia to entertainment devices in homes, to mention a few. The current
wireless mesh networks struggle to provide the demanded high throughput due to the
multihop connections, broadcast nature of transmission medium, and channel dynamics.
While the traditional mechanisms coping with these issues mask the broadcast ability, more
recent research starts to leverage this broadcast ability instead of treating it as an adversary.
In particular, there are three promising mechanisms belonging to this category: Network
Coding (NC), Spatial Diversity (SD) and Opportunistic Routing (OR). These mechanisms
have been developed in isolation to leverage the broadcast capability of the wireless channel.
Motivated by the gains, in terms of network throughput and data delivery ratio, from the NC,
SD, and OR mechanisms developed in isolation, in this work we study the gains resulting
from the integration of these three mechanisms in the same protocol stack.
0.2 Problem overview and objectives
NC works in the Shim layer between Network and Medium Access Control (MAC) layers
(Katti et al., 2008), (Ho et al., 2004), (Katti, 2008), (Ahlswede et al., 2000). By mixing
multiple packets together through some algebraic operation, it requires fewer transmissions
2
which improves the performance. SD has been proposed to overcome the detrimental effects
of fading and interference (Foschini et al., 1998), (Telatar et al., 1999). To realize the gain
from SD, cooperative protocols (CP) have been proposed (Laneman et al., 2004),
(Sendonaris et al., 2003) as a feasible alternative to MIMO techniques that are not always
feasible due to space constraints of the device (Sadek et al., 2010). In CP, nodes in the
vicinity of the transmitter and receiver (referred as relays) help in the transmission by
forming a virtual antenna array. In the remainder of this thesis, the term CP is used in the
sense of SD. Opportunistic Routing (OR) selects a subset of neighboring nodes which are
closer to the destination than itself to capitalize on the broadcast nature of the links (Biswas
et al., 2005), (Yuan et al., 2005). More recent work, (Rozner et al., 2009 ), indicates that the
divergent paths and duplicate transmissions can be suppressed by selecting the next hop
forwarder that is not based only on proximity to the destination but also on the inter-node
distance among the next hop nodes. In (Luk et al., 2008), OR protocol for WMN has been
analyzed with numerical simulations. While the objective of the NC, CP and OR protocols
are the same (reducing the number of transmission by leveraging on the broadcast nature),
they are usually considered in separation and the related protocols are quite different.
Now a question may be posed, whether one can integrate these three mechanisms in a
common network protocol stack to accumulate the gains they offer. The main challenge is to
bring these mechanisms into a single platform, so that the gain from one mechanism does not
sabotage the gains from another mechanism, i.e., to create a cohesion in the functioning of
these three mechanisms. In order to realize this, several issues need to be addressed and
resolved, the main being: selection of relay nodes for cooperation, detection coding
opportunity along the route, expediting coded packets transmissions, and improving the
spectral efficiency. Also it is necessary to assess how far the accumulated gain from the sum
of the individual gains is, since each mechanism can work optimally under different network
characteristics. Solving the mentioned challenges and issues constitutes the objectives of our
work.
3
0.3 Novelty and contributions
A new cross layer approach is proposed to realise the integration of the three broadcast based
techniques. To the best of our knowledge, no prior attempts have been made to integrate
these three mechanisms on to the same network protocol stack. Our approach is based on a
new metric, Coding and Data Rate Aware Routing Metric (CDARM), used for the route
selection. The CDARM metric defines where the cooperation and network coding are
possible and beneficial. Also a relay link creation mechanism is introduced at the MAC layer.
This mechanism uses a relay node when a direct link is weak and employs opportunistic
forwarding. One of the distinct features of the integrated protocol stack is that the new metric
CDARM, combines the link capacity, topology, traffic load and interference information
together in a unified manner. Another important feature is cooperation among the network
and MAC layer. The main contributions of the thesis are summarized as follows:
• A new routing metric is proposed (CDARM) that detects coding and cooperation
opportunities;
• A MAC layer relay link creation method is devised that splits a link into two shorter links
at the MAC layer on the fly, in an on demand fashion. This link creation at the MAC
layer introduces opportunism for cooperative protocol into the network protocol stack. It
is based on the MAC layer handshake control packet exchange. It results in improvement
of the network throughput for cooperative protocol;
• A new form of cooperation between MAC and network layer is introduced. In this form
of cooperation the network layer and MAC layer communicates frequently. This
communication between MAC and network layer is used by the network layer to learn
about the neighboring channel condition; where it stores these information is a data
structure at the network layer. Cooperation among the network and MAC layer is
extremely important as they are dependent on each other. This cooperation, among the
two layers does not incur any extra overhead in terms of communicating meta data to the
neighbours, as it is done by snooping on the channel in promiscuous mode as well as the
4
exchange of the network layer control packet which is used for conveying the meta data
to estimate the metric. This cooperation facilitates the route and data rate selection for
sending data packets at the MAC layer;
• The fourth contribution of this dissertation is the integration of NC, CP and OR protocol
on to the network protocol stack for WMN. This integration is based on a new routing
metric (coding and data rate aware routing metrics, CDRAM) and CP_RL. This is the
first version of the integrated protocol, and the second version is where we have network
and MAC layer cooperation enabled integration. The simulation results show that a
significant gain can be achieved in terms of network throughput, delivery ratio and
number of transmission required per packet delivery;
• A new network allocation vector(NAV) update procedure is devised for multi-rate
wireless networks;
• Detailed modified network protocol stack for integration of the three broadcast based
techniques is developed.
0.4 Contents
In order to facilitate reading the thesis, below we summarize the content of chapters.
Chapter 1: LITERATURE REVIEW
In this chapter the previous works related to integration of the various broadcast based
techniques are presented. We underline the limitations that we tried to overcome in the
proposed integrated protocol.
Chapter 2: INTEGRATED PROTOCOL DESIGN
In this chapter the main mechanism of the proposed integrated protocol are presented. First,
in Section 2.1, the basic building blocks (NC, CP and OR protocols) of the proposed protocol
are described and the gain from each element is explained. Then, the important novel link
creation mechanism at the MAC layer is detailed in Section 2.2, where opportunism has been
5
introduced into the CP protocol. Introducing opportunism into the CP protocol improves its
performance. The integrated protocol functioning is presented with the help of a diamond
topology example in Section 2.3. In Section 2.4, the novel CDARM node-link metric, used in
the integrated protocol for choosing paths that maximize the coding opportunities, is
introduced. The importance of the CDARM metric is that it selects routes as well as relay
nodes based on coding opportunities and also it takes the data rate of the links into
consideration which is crucial for multi-rate network. Then an algorithm for the metric
estimation is detailed in Section 2.5. The assumptions made for the purpose of implementing
the integration are described in Section 2.6.
Chapter 3: DESIGN AND IMPLEMENTATION DETAILS
Integrated protocol design objectives and challenges are identified in Section 3.1. In
particular, in order to realize integration of the three mechanisms (NC, CP and OR), some
new functionality or modules have to be introduced in the network protocol stack. For ease of
explanation, the modifications in the network protocol stack are described using the layered
architecture structure. Section 3.2 describes the network layer modifications. First, in the
RREQ (Route Request) part, judicious processing of the network layer control packets is
detailed. Then, in the RREP (Route Reply) part, the influence of the proposed metric on the
route selection process is described. In Section 3.3, it is described when link creation at
MAC layer takes place and how network layer copes with this phenomenon. Section 3.4
describes how the MAC and network layer cooperate to leverage the broadcast nature of the
wireless channel. Then MAC layer modifications are detailed in Section 3.5. In particular,
the MAC header modifications are detailed in Subsection 3.5.1. The new NAV (network
allocation vector) update procedure is described in Subsection 3.5.2. The queuing mechanism
and coding policy are described in Subsection 3.5.3, where three separate queues usage is
advocated and the priority order is defined. In Subsection 3.5.4, the procedure for
successful/unsuccessful decoding of the coded packets and retransmissions is described. In
order to maximize the coding chances, network coded packets need to be prioritized over
non-coded packets. The packet prioritization which is done within the node and among the
nodes is described in Subsection 3.5.5. The physical layer modifications required for the CP
6
protocol are detailed in Section 3.6. The overall integrated protocol architecture with
modules interaction description in the protocol stack is given in Section 3.7.
Chapter 4: PERFORMANCE EVALUATION OF THE INTEGRATED PROTOCOL
In this chapter the results from the packet level simulator are presented. First, in Section 4.1,
the considered topologies are described and then the considered performance metrics are
defined. In Section 4.2, the network throughput of the integrated protocol is compared with
NC, CP, CP_RL, and the traditional hop based protocol. Then, in Section 4.3, the delivery
ratio of data packets is compared. Section 4.4 presents the comparison of the number of
transmission required per packet delivery is presented for the considered protocols. In
Section 4.5, the distribution of different mechanism usage in the integrated protocol is
analysed. In Section 4.6, we present comparison between the traditional packet forwarding
and MAC and network layer cooperation enabled packet forwarding in order to advocate
enabling the cooperation between MAC and network layer. In Section 4.7, a table 4.9 is
provided where the gains from integration and the other mechanisms considered in isolation
are compared.
At the end we draw conclusion based on the simulation results and indicate possible future
direction of the work presented in this dissertation.
CHAPTER 1
LITERATURE REVIEW
In this chapter, first the recent broadcast based protocols are presented separately. For each
individual mechanism the state of the art is described. Then the state of the art for integrated
protocols is presented for several issues related to the thesis content. At the end of this
chapter a table is presented that summarise the limitations of the works presented in the
literature.
1.1 Opportunistic Routing Protocols
In (Zhao, et.all 2017) authors presented the opportunistic routing protocol from reliability
and energy efficiency perspective, where the metric is based on the ETX metric which is
suitable for single data rate(base rate). Their results shows comparison with traditional
802.11 load balanced routing for low power and lossy networks. In (Darehshoorzadeh et. al,
2016), authors present a discrete time Markov chain as a general model for opportunistic
routing protocol’s performance evaluation. They presented their model and validated this
model with NS-2 based simulations. In (Darehshoorzadeh et. al., 2012), distance progress
based opportunistic routing (DPOR) is presented. They presented a new metric which is
based on the distance from a node to the destination as well as link delivery probabilities.
The authors show that with their algorithm the performance is almost the same as optimum
candidate selection, while DPOR requires less meta data to be communicated as well as
faster running time.
In (LV, et.al., 2016) authors propose a new mechanism for coordination among the
forwarding nodes. The authors present a mathematical model for expected coordination delay
(ECD) and show that their model reduces the coordination delay among the forwarding
nodes as compared to classical EXOR (Biswas. S, et.al., 2005).
8
1.2 Cooperative Protocols
In (Asaduzzaman et.al., 2011), instantaneous channel measurement based cooperation
selection procedure has been presented, which can improve systems spectral efficiency. They
authors showed that both the cooperation selection procedure and the relay selection
procedure can be carried out using the same control signals. In (Elhawary, et.al, 2011) an
energy efficient cooperative protocol has been proposed, which also improves the delivery
ratio of the data packets. The authors also suggest that in the grid topology their scheme
results in increased energy saving and delivery ratio as compared to the random topology. An
analytical model for energy consumption, end-to-end robustness of the data loss as well as
the capacity has been presented. In (Xu, et.al., 2011) authors present ARQ based wireless
cooperative protocol. This protocol is based on channel estimation.
In (Escrig, 2011) the authors presented a receiver initiated cooperative protocol, where the
destination/receiver node selects a single best relay based on the offline learning about the
neighbors and for each source it maintains the best relay node based on the channel
condition. This work is focused on the MAC layer and on a single wireless link between a
single source and a destination. In (Kim, et.al,. 2013) the authors presented spectrally
efficient protocol for half-duplex multi-relay systems, where the direct link between the
source and the destination is unavailable. In (Sheng et.al,. 2015) power allocation method for
optimizing the decode and forward cooperative transmission from source and relay nodes has
been presented that reduces the total power consumption while maintaining the required
quality of service (QoS). An energy efficient relay node selection mechanism is also
presented for multiple cooperative nodes within the network. For wireless multimedia
networks, the authors advocate the non-uniform power usage to various cooperative
transmitters.
In (Kakitani, et.al., 2012) the performance of the amplify and forward (AF) and decode and
forward (DF) are presented from energy efficiency perspective. They concluded that to
achieve the maximum energy efficiency different rates should be allocated to the users in
asymmetrical network topology and also the most efficient protocol depends on the relative
9
position of the users in the network topology. They also asserted that when the users are
close in terms of distance, DF protocol is more efficient that AF protocol.
1.3 Network Coding Protocol
In (Long, et.al., 2017), authors presented coding aware routing protocol. A back-pressure
based network coding aware routing has been presented, where the authors advocates
changing the path when the coding opportunity ceases. As it is well known that the coding
opportunities are dependent on flows, there may be better paths when the coding
opportunities at the considered paths ceases. In that context, authors proposed to employ
back-pressure based network coding aware routing protocol. In (Shijun, et.al., 2017), a
network coding design from energy saving perspective has been presented. Authors
suggested that the network coding scheme results in better energy performance, as compared
to non-network coding schemes, when the number of mobile users in the network is large.
They also emphasized that in order to minimize the energy consumption in NC based
protocols the relay nodes should be placed at the midpoint between the mobile users and the
base stations.
1.4 Integration of different broadcast based protocol
1.4.1 Integration of OR with NC
The MORE protocol (Chachulski et al., 2007), integrates the OR with intra-session NC
protocols. The results show that MORE improves performance of the network when
compared to the EXOR protocol (Biswas et al., 2005) by leveraging the spatial reuse and it
also removes the need for global coordination among the next hop forwarders. Nevertheless
it requires complex associated hardware (Kim et al., 2013). Also the experiments have been
conducted for only fixed data rate. In (Yan et al., 2010) the authors present the CORE
protocol that integrates the OR and inter-session NC. This protocol selects a group of
forwarders which are close to the destination and the forwarding priority of these forwarder
nodes are selected based on coding opportunities. It attempts to maximize the number of
10
packets sent in each transmission. It is presented for fixed bit rate network, whereas multi-
rate capability of the network is not considered. The authors compare its performance with
EXOR and COPE and show that significant improvement in terms of network throughput
and number of transmissions can be achieved.
In the INCOR protocol (Zhu et al., 2015), integration of the inter-session NC and OR
protocols has been implemented. In particular, the authors proposed a new metric for
integration of NC and OR protocol. The analysis presented in this paper employs
probabilistic estimation of coding chances into the metric. The INCOR protocol was
designed for basic data rate and when a multi-rate scheme is employed this analysis becomes
erroneous. This is due to the fact that a link which is a strong link at the base rate, can be a
weak/very weak link at the higher data rates. INCOR’s performance was compared with the
inter-session NC and classic OR protocols, their results indicate that the integrated protocol
out-performs either of them. Results have been presented in terms of the transmission count
number, and they show that when the link quality is low, the OR protocol has better
performance as compared to NC and when the link is strong, NC outperforms the OR
protocol. But the integrated protocol outperforms both of the individual protocol as it
capitalizes on both of their characteristics. This motivated us to integrate the third element on
the network protocol stack, i.e., CP to provide spatial diversity to leverage the broadcast
nature of the wireless channel further.
In (Koutsonikolas et al., 2008), the XCOR protocol was designed for single rate network. It
integrates the inter-session NC with OR protocols. It is based on the ETX metric (De Couto
et al., 2003). It is well known that the ETX metric does not takes into account the multi-rate
capability of the network. In (Kim et al., 2012), (Aajami et al., 2012) integration of OR and
NC was studied considering the multi-rate capability. The authors concluded that the
integration of OR and NC outperforms, the multi-rate NC or the multi-rate OR when
considered in isolation.
In (Abdallah, et al., 2015) the authors presented another integration of the intra-session NC
with OR protocol. The main drawback of their work is that it is primarily focused on the
network throughput alone because packets are transmitted in batches and acknowledgements
11
are done for batches of packets. This is what separates this approach from our work where
we encode packets locally and acknowledgements are done for each packet delivery.
In CCACK (cumulative coded acknowledgement) (Koutsonikolas et al., 2011) another
integration of the intra-session NC and OR protocols was presented. As opposed to MORE,
the authors overcome the challenge of acknowledging the upstream nodes about the reception
of coded packets by estimating offline the link delivery probabilities which is based on the
ETX metric. CCACK devises a novel mechanism to overcome the losses occurring due to
offline estimation as the wireless channels are dynamic in nature. It introduces cumulative
coded acknowledgement of the received packets at the forwarding nodes. The authors
compared its performance with MORE to show the performance improvements in terms of
the network throughput and the number of transmissions. It clearly shows the performance
improvement, but it requires complex associated hardware. In MT_NCOR (Lan et.al., 2014)
an integration of intra-session NC and OR protocols was implemented. Candidate forwarder
set selection and coding/decoding of packets are similar to MORE protocol but the rate
control mechanism employed at the source and the forwarding nodes differentiate the
MT_NCOR protocol from the MORE protocol. It is designed for fixed data rate, which
cannot harness the capacity of the wireless links to the full extent.
In (Qiang et al., 2013) an integration of the inter-session NC and OR protocols was presented
resulting in the CoAOR protocol. The authors have presented a new metric for prioritizing
the nodes where more coding opportunity arises. A node coding gain formula was presented,
which takes into account the number of flows which can be coded together, expected number
of those flows which can be decoded at the receiver nodes, and the total number of the
neighbors who can decode the coded packets. The authors compared their results with the
CORE protocol and showed that CoAOR protocol outperforms CORE protocol. But again
their analysis is based on the ETX metrics which is estimated using the control packet from
network layer sent at basic data rate and for multi-rate network this metric becomes
erroneous.
12
1.4.2 Integration of NC with CP
In (Manssour et al., 2009) performance of the network coding was evaluated in the presence
of an opportunistic relay selection. Based on the results, the authors conjectured that the
selection of the relay should take into consideration the coding opportunity which may arise
in the relay node. Nevertheless no practical means was proposed for coding opportunity
detection.
In (Wang et al., 2014) the NCAC-MAC protocol proposes another integration of the CP and
inter-session NC protocols. It does answer an important question of how to cooperate when
the direct transmission from the transmitter to the relay node fails. NCAC-MAC supports two
forms of cooperation. Namely network coded cooperative retransmission (when there are
coding opportunities at the relay node) and the pure cooperative retransmission (when there
is no coding opportunity). The performance of the NCAC-MAC protocol is compared with
the CSMA and Phoenix (Munari et al., 2009) protocols. NCAC-MAC was designed for
single hop network, which is not suitable for WMN. The authors presented comparison of
their protocol with CSMA and Phoenix in terms of network throughput, delay, delivery ratio
and transmission energy consumption. It clearly shows that the integration of CP and NC is
beneficial when the relay nodes are selected based on the coding opportunity.
In the NCCARQ_MAC protocol (Antonopoulos et al., 2013) the authors have performed
integration of CP with NC from energy efficiency perspective. Their results also indicate that
integrating NC with CP results in performance improvement in terms of throughput as well
as delay. This protocol was designed for single hop scenario, where the transmitter and
receiver are within the communication range of each other and in between them there are
some helper nodes. The authors presented results in terms of the network throughput and
energy efficiency. An analytical model for energy efficiency was presented and was
validated with simulation results. This protocol is not suitable for wireless mesh network
where we need to have multi-hop forwarding.
13
1.4.3 Integration of NC and Opportunistic forwarding
The BEND protocol (Zhang et al., 2010) integrated the network coding and opportunistic
forwarding. The opportunistic coding has been introduced into the network protocol
stack. There was no mechanism introduced to combat the fading which is inherent in the
wireless channels. BEND was designed for fixed data rate transmission; whereas data rate
selection mechanism is non-trivial for performance of the network (Kumar et al., 2010).
BEND makes minimal assumption about the routing protocols.
In (Kafaie et al., 2015), the authors propose the FlexONC that includes a mechanism for
forwarding coded packets even when the recipients are not the intended receiver. In this work
the authors have considered a two-ray model and only base data rate was employed for data
forwarding mechanism. A detailed analysis of how this protocol performs on multi-rate
network was missing. This work is mainly focused on the MAC layer, assuming a minimal
change in the routing protocol.
1.4.4 Routing metrics for Integration
The MORE protocol (Chachulski et al., 2007) employs the ETX (expected transmission
count) as the routing metric to compute the distance between a node and the final destination.
The CORE protocol (Yan et al., 2010), employs geo-distance as the primary metric for
forwarder selection. In order to estimate the local coding opportunities, it employs
opportunistic listening and broadcast of the reception reports. INCOR presents coding-based
expected transmission count (CETX) to determine priority of the forwarders in a group. It
computes the expected number of transmissions required to deliver one packet when the
inter-session NC is employed. XCOR employs ETX as the routing metric. CCACK
(Koutsonikolas et.al., 2011) presents their integration based on the ETX metrics.
CoAOR (Qiang et.al., 2013) integration employs the ETX metrics for forwarder node
selection. Also a node coding gain formula was presented that takes into account the number
of flows which can be coded together, expected number of those flows which can be decoded
at the receiver nodes and the total number of the neighbors who can decode the coded
14
packets. Based on these two separate metrics the integration was performed. It assumes that
the link delivery probability is 1 when the distance between the sender and receiver is less
than 100m and 0 when the distance is larger than 200m while between 100m and 200m the
link delivery probability is between (0, 1). These are quite simple assumptions that can make
the results erroneous when employed in real world scenario. MT_NCOR (Lan et.al., 2014)
also employs ETX as the routing metrics. NCCARQ-MAC (Antonopoulos et al., 2013) was
evaluated where sender and the receiver nodes were within the transmission range and there
were some relay nodes for aiding the transmission. Multi-rate transmission was employed
where the transmission was limited to 6, 24 and 54 Mbps from the source and relay
transmission was limited to only 54Mbps. BEND (Zhang et al., 2010) uses minimal
assumption about the routing protocol, without explicitly mentioning which routing protocol
to employ, and there was no new metric mentioned in that work. FlexONC (Kafaie et al.,
2015) is an improved version of the BEND protocol where the non-intended receivers of the
coded packets may also forward the packets towards the destination.
1.4.5 Multi-rate capability for Integration
BEND, MORE, FlexONC, CORE, INCOR and CCACK employ fixed data rate. In NCAC-
MAC, three data rates were employed, 11, 5.5 and 2Mbps, and the data rate was set
depending on the distance between the sender and receiver. NCCARQ_MAC employs only
three data rates which do not necessarily capture the multi-rate capability of the wireless
networks. It should be emphasized that in order to fully capitalize the network capacity,
employing multi-rate transmission is non-trivial. The rate selection mechanism plays a
crucial role and can use the link SNR based protocol that can be source or receiver initiated.
The main difference between the state of the art protocols and the work presented in this
dissertation is in the way the data transmission rate is being selected.
1.4.6 Cross layer based Integration
In (Garrido, et.al., 2015) the authors presented a cross layer based integration of the intra-
session NC and OR protocols. It employs Hidden Markov Process (HMP) based channel
model which creates bursty behavior of the wireless channel for indoor environment. The
15
authors employ the cross layer approach to use the channel information (link quality) to
prioritize the nodes who can forward the packets but this link quality estimation is based on
the bit error rates which were estimated using the fixed data rates. In (Zhang, et.al. 2016) the
TCPFender protocol is presented that introduces a cross layer mechanism for integration of
the intra-session NC and OR protocols to cope with the TCP transmissions. As in the OR
protocol, the data packets do not necessarily arrive in the same order as they are injected into
the network. This causes throughput degradation for TCP transmissions. TCPFender
introduces a shim above the network layer to increase the contention window sizes for TCP
and to cope with the issues caused by the OR protocols. As MORE, TCPFender considers
only the basic data rate for testing their protocol. In (Gómez, et.al., 2014) the authors
presented a similar approach to the one used in TCPFender, where they introduced Random
Linear Network Coding (RLNC) above the network and below TCP layer. Their mechanism
was evaluated for fixed data rate. The main difference between their work and MORE is that
TCPFende promotes creating linear combinations of packets starting at the source node in a
shim between the network and TCP layers.
1.4.7 Implementation Issues for Integration
The MORE protocol requires a complex hardware to implement the integration of intra-
session NC and OR protocols but it does not address the ordering of the TCP packets.
Moreover MORE has coding overhead, memory overhead and header overhead. The CORE
protocol assumes that the devices have no limitation of power and processing capabilities.
The CORE protocol has non-linear time complexity. The time complexity for the INCOR
protocol is same as for the Dijkstra’s algorithm. The opportunistic listening approaches
employed by the COPE and INCOR protocols are similar and both of them make periodic
broadcasts of the packets information, which were received or overheard, even if piggy
backed with the data packets, which is certainly an overhead.
The XCOR protocol prioritizes the flows which are heavily loaded to hasten the search for
the coding partner selection for network coding operations. It also uses reception report, as in
16
COPE protocol, to broadcast the information of the packets received or overheard by a node.
The MT_NCOR protocol employs the intra-session NC and in order code faster it maintains
a pre-calculated table for addition, multiplication and inverse operations that consumes
system memory. The CCACK protocol has 24% more overhead than the MORE protocol,
which limits the throughput to 35Mbps. The CoAOR protocol employs periodic broadcast of
the reception reports and opportunistic listening, as is done in the COPE protocol. It selects
the coding partner based on a heuristics that first selects K packets from the output queue and
then only searches its partners from packets for different flows that makes the process faster
than COPE.
In the NCAC-MAC protocol, the relay nodes are selected reactively, as all the relay nodes
who have received the packet correctly contend for the channel to send the packet. In order to
ensure that the duplicated transmission does not happen, it employs three contention periods:
inter-group contention, intra-group contention and re-contention. This three step contention
requires extra signaling, which penalizes the network throughput and makes their protocol
sub-optimal. Aside from that NCAC-MAC implements MIMO_NC with the network
coding/decoding at the physical layer, which is quite difficult to implement. For the coding
opportunity detection NCAC-MAC employs a connectivity table where a node can decide,
before network coding, whether the recipient nodes can successfully decode the desired
packets. The NCCARQ_MAC protocol was meant to study integration of the CP and NC
mechanisms from energy efficiency perspective. In order to evaluate its performance, a set of
rules were evaluated without any test bed or any packet-level simulator. In the event the
direct transmission is failed from the source to the destination, the destination sends a special
control packet RFC (request for cooperation), which can be send standalone or piggy backed
with data packet if the destination node has packet for the source node. When overhearing
this RFC, the relay nodes can network code packets from source and destination and
broadcast them in a single transmission.
The BEND and FlexONC protocols implement the coding search procedure that is quite
different from the COPE’s procedure for searching and matching the coding partners
(packets). It maintains at each node four different queues: queue for control packets, queue
17
for un-coded packet, queue for packet which can be coded together and queue for un-coded
overheard packets. Its time complexities are linear to the length of the queue and with the
speed of the mobile devices it can be easily implemented without any loss of performance.
Our implementation follows a similar approach as BEND and FlexONC, where each node
possesses only three queues, without the queues for overheard packets.
Table 1.1 summarizes the comparison of the integration proposed in this thesis with the state-
of-the-art.
18
Table 1.1: Comparison of the proposed integration with the state-of-the-art
Protocol Name Mechanisms Integrated Difference with our work
MORE[2007, ACM] NC + OR SD missing; Creates flooding in the network
CORE[2010, IEEE] NC + OR SD missing; it’s based on link state routing.
NC in the presence of opportunistic relay selection[2009, ICC]
NC + SD OR missing; How to select coding opportunity are relay was missing; It was a conjecture.
NC_BEND[2010, Computer Networks]
Opportunistic coding+ Opportunistic forwarding
SD missing; No metric for routing packets; Makes minimal assumption about the network layer. Single data rate.
NCAC_MAC[2014, IEEE Trans]
NC + SD OR missing; It is not suitable for multi-hop scenario; Applicable for single rate networks.
INCOR[2015, ICC] NC + OR Basic data rate; does not take advantage of multi-rate capability of the network.
NCCARQ_MAC[2013, Elseviewer]
NC + SD Single hop scenario; Does not talk about the data rate; Routing functions mission
XCOR[08, ACM Proc] NC+OR SD missing; routing is coding oblivious.
Integration of NC and OR [15, ICC]
NC+OR SD missing
CCACK[2011, IEEE] NC + OR SD missing, Based on ETX metric
MT_NCOR[2014, IEEE] NC + OR SD missing, CoAOR[2013, IEEE] NC + OR SD missing Cross Layer based Integration [2014, IFIP]
NC + OR SD missing
Cross Layer based Integration[2015, IEEE]
NC+ OR SD missing
TCPFender, Cross Layer based Integration [2016, PeerJ, Computer Science]
NC+ OR SD missing
19
CHAPTER 2
INTEGRATED PROTOCOL DESIGN
Introduction
This chapter discusses the design of the integrated protocol for WMN. First each of the three
mechanisms (NC, CP and OR) is illustrated with small example. Then the link creation at the
MAC layer protocol followed by coding and data rate aware routing (CDARM) metric are
detailed. Based on the CDARM metric and link creation at MAC layer mechanism, the
proposed method for integration of the three mechanisms is presented. The chapter concludes
with the assumption made for the implementation as well as evaluation of the network
performance. The proposed integrated protocol stack is based on the IEEE 802.11a based
MAC protocol where DCF mechanism is employed for the contention. First, we describe the
elements of the integration and then the integrated protocols functioning in the following
sections.
2.1 Basic Building Blocks
In the following, the considered implementation of each mechanism is presented first, and
then the integrated protocol stack is described. For illustrations, a simple four node network
topology is used, as shown in Figures 2.1 and 2.5, where nodes A and B exchange packets
and nodes R1, R2 are the relay nodes used to improve network performance.
2.1.1 NC Protocol
NC mechanism is illustrated in Figure 2.1. In this case, nodes A and B have packets for each
other; since they are unable to communicate directly, they use an intermediate node R1 for
packet forwarding. In case traditional packet forwarding is applied, in order to exchange of
two packets, one from A to B and one from B to A, requires 4 time slots (2 slots per packet).
20
Further, when network coding is applied the two packets are coded into one at R1 and then
the coded packet is broadcast to A and B at the same time allowing the destination nodes A
and B to decode packets (by storing the packets which was sent by A and B earlier they can
decode the desired packet). Therefore only 3 time slots (1.5 slots per packet) are used. The
saved one time slot is coding gain.
Figure2.1 Illustrations of Network coding
2.1.2 CP Protocol
In this case, Nodes A and B are in direct communication range. Node A has packet P1 for B
and it also selects node R1 as the relay node according to the relay node selection criteria
(Lin et al., 2009) (the spectral efficiency criteria). The packet is forwarded with the data rate
appropriate to the current channel state between A->B. If the direct transmission is
successful, node B sends ACK back to node A. The relay node does not intervene in this case
as illustrated in the timing diagram from figure 2.2. If the direct transmission is unsuccessful,
there is no ACK sent by B, so the relay node forwards the packet after the SIFS (short inter-
frame space) + Ack_Timeout period as illustrated in the timing diagram from figure 2.3.
Combining two copies of the received packet at node B yields diversity gain that increases
21
the likelihood of correct reception. There can be more relay nodes to aid in the
communication but selecting the best relay is sufficient to achieve diversity multiplexing
tradeoff as that of multi-relay cooperation (Zhuang et al., 2013). Therefore in this work, we
limited consideration to the best relay node.
Figure2.2 Timing diagram of Cooperative protocol (direct transmissions)
Figure2.3 Timing diagram of Cooperative protocol (relayed transmissions)
22
2.1.3 OR Protocol
In OR protocol, a node selects a group of next hop forwarders that are closer to the
destination than the node itself. The selection is based on a metric. Coordination among next
hop forwarders to eliminate duplicate transmissions is an issue that has been dealt via some
organized packet exchanges (Boukerche et al., 2014).
Figure 2.4 illustrates a classification of OR protocols based on the type of coordination as
described in (Boukerche et al., 2014). In RTS/CTS based coordination, before sending the
data packet, a node sends RTS to the group of neighboring nodes, where the node ID-s are
ordered based on the priority according to a metric. If the highest priority node receives the
sent RTS, it sends back CTS packet after SIFS period. After overhearing this RTS/CTS
exchange, the remaining nodes in the group turn on their NAV (network allocation vector)
and the forwarding link is established with the highest priority node. If the highest priority
node does not send CTS, the second node in the group sends CTS after a 2*SIFS period and
so on. We have employed a similar approach between the sender, receiver and relay node, by
creating relay links at the MAC layer as explained in the following paragraph.
2.2 Link Creation at MAC Layer (CP_RL)
Suppose node A has a packet to send to node B and network layer selects to cooperate with
node R1. Then node A sends RTS with the highest priority for node B and second priority for
node R1. If B receives RTS successfully it replies with CTS, after the successful exchange of
these handshake control packets, node A sends a packet to B. When the relay node receives
RTS, it checks whether it is an intended receiver/relay node, and when it learns it is a relay, it
turns on a timer. If the relay node does not hear CTS back from the receiver B, it sends CTS to
the sender node A, after SIFS + CTS_timeout period.
If the RTS packet is received successfully at node B, but the CTS packet is received in error
at node A, node R1 notices this because there is no transmission from A to B after certain
duration. Otherwise, if the CTS packet was received successfully at the relay node, it sends
CTS packet back to node A and the communication is established between node A and node
23
R, this creates the relay links A-R1 and R1-B at the MAC layer. After successfully receiving
the packet at R1, it opportunistically forwards the packet to the next hop node B along the
route. So, the next hop as fixed by the network layer is changed at the MAC layer and the
link creation at the MAC layer bypasses the broken link. This is independent of the Network
layer. This is the form of opportunism which was introduced onto the network protocol stack
for the purpose of integration (In the traditional protocol when a node sends RTS to a
receiver, if the handshake is not successful between the source and the receiver, then the
source node assumes that there is a collision as there is no mechanism to separate between
transmission failure due to erroneous reception or due to collision. The source node doubles
the contention window and waits for that doubled CW + DIFS amount of time before sending
RTS packet again to the receiver node. It does not take advantage of whether there was any
other node with which link can be established which is closer to the destination than itself. In
the integrated protocol this is capitalized when the source node fails to establish a direct link
in A->{R1}->B, it establishes links as A->R1 and R1->B in opportunistic fashion).
We have employed the AODV (Ad hoc On-Demand Distance Vector) routing protocol, that
is why the relay node can forward packets to L_D, there are other options which can be
implemented to change the route completely towards the destination from the relay node, if a
link-state routing protocol is employed, since in the link-state routing protocol every node is
aware of the other nodes and has route to any destination available. Another option which
can be implemented is that if we store the 2NH (next hop’s next hop) as suggested in (Zhang
et al., 2010), then the relay node may choose to select the 2NH node as next hop or any other
node which has a link-to the 2NH node along the route. To minimize the complexity, we
have chosen to employ opportunistic forwarding from the relay node to the next-hop.
24
Figure2.4 Classifications of OR protocols based on Candidate coordination
Figure2.5 Illustrations of Cooperative protocol in Integration
25
Figure2.6 Illustrations of Cooperative protocol in Integration (relay intervention) 2.3 Integrated Protocol Functioning
Let us explain the integrated protocol using the same network topology example that was
used for illustration of each mechanism. Suppose there is a direct link from A and B and a
relay node R1 to assist in the communication. Also suppose that there is a link from B to A
that also selects R1 to be the relay node. Node A has 5 packets (P1, P2, P3, P4, P5) addressed
to B and node B has 5 packets (P6, P7, P8, P9, P10) addressed to A. P1 is sent from A to B
and if direct transmission succeeds, the relay node does not intervene, see Figure 2.5 (i).
For P2, see Figure 2.5 (ii), the direct transmission is not successful, so the packet is relayed
by R1 in the second slot. After receiving the second copy of P2, the two copies of the
received packet are combined at node B and decoded successfully. Then node B sends ACK
to the relay node. Note that after the relay node transmission, node A knows that packet P2
was forwarded by the relay node, when the relay node forwards the copy of P2, the node A
checks P2’s unique sequence number with the packet which is in its repository, when it
learns that this is the same packet which was sent by A and the its being forwarded by the
relay node, it discards this packet because it has already reached one of the nodes along the
26
route (which is relay node here). We refer to this packet transfer as CP transfer.
For P3, see Figure 2.6(i), the direct transmission is not successful, so the packet is relayed
through the relay node in the next slot. After receiving the second copy of P3 by node B, the
two copies are combined (two copies arriving through two different paths experiences
different level of fading), but the decoding is unsuccessful so node B does not send ACK.
Note that after the relay node transmission, node A knows that packet P3 was forwarded by
the relay node, so it moves to the treatment of the next packet. Since the relay node did not
receive any ACK from the receiver node B, it forwards (sends) P3 to the network layer to
resolve route to the final destination and determines the next hop node, which could also be
node B. We refer to this transfer as OR transfer since it opportunistically changes the
previously established route.
In order to illustrate network coding integration, we assume that node R1 selected node B as
the next hop node for P3 and that in the next slot (6th) node B gains the channel and sends
RTS to node A, but the RTS packet is not received by A. Then after the timeout period R1
sends CTS packet back to B, and a link is established between B-R1 and node B transfers
packet P6 to R1, see Figure 3.6(ii). Note that this transfer also falls into the OR transfer
category. Then node R1 notices that it can code together packet P3 with P6, and sends the
coded packet to A and B in a single slot as shown in Figure 2.7(i) and 2.7(ii).
27
Figure2.7 Illustrations of Network coding in Integration
2.4 Node-Link Metric
Our integration approach is based on a node-link metric, coding opportunity and data rate
aware routing metric (CDARM). This metric is used to select a route towards the destination
and the potential relay nodes. Apart from the link data rate, it takes into account coding
opportunities as well as opportunities for cooperation. As mentioned earlier, the integration
28
of the three mechanisms is based on the coding opportunity and data rate aware routing
metric as well as the link creation at the MAC layer. The CDARM metric helps to select
relay node with coding possibility as well as opportunity to cooperate. The metric for link A-
B is given as follows:
( − ) = ( ) ( ) (2.1)
2.4.1 Modified Queue length
First the modified queue length is measured for within a node, for example say there are
three flows F1(f1), F2(f2) andF3(f3) passing through a node. If flow F1 and F2 can be
coded together, then their contribution in the queue is counted as max(f1,f2)+f3, where f1,f2 and f3 are the numbers of packets from flow F1,F2 andF3 respectively. Since F1 and F2
can be coded together, so their contribution in the queue is max(f1,f2).
( ) = max( 1, 2) + 3 (2.2)
2.4.2 Modified interference Queue length
The modified queue length is not sufficient to measure the traffic load in a network as a node
who may have few packets, but when it is surrounded by other nodes, it will still face
congestion because the nature of the channel is shared. In order to take into account the
traffic and interference, modified Interference Queue (MIQ) has been proposed in (Le et al.,
2008), it accounts the modified queue length of its own as well as all of the neighboring
nodes which are within the interference region.
( ) = ( ) +∑ ( ) (2.3)
29
Where MQ (i) refers to the interfering node i.
And link data rate has been estimated as
( − ) = ∗ 2(1 + ( − )) (2.4)
BW is link bandwidth.
Cost using R1 and R2 as relay node is defined as
1 = ( − 1) + ( 1 − ) (2.5)
2 = ( − 2) + ( 2 − ) (2.6)
The path which has least cost is chosen for relay selection as
( 1, 2)
Say for example L1 results in a minimum-cost. Then the algorithm checks if using this relay
node is beneficial or not according to the following criterion. If the following condition is
satisfied, using relay node is beneficial.
( − ) > 0.5( ( − 1) + ( 1 − )) (2.7)
The 0.5 factor in the equation accounts for two transmissions, first from by sender node to
relay node and then by relay node to the receiver node. The numerator of the metric in (2.1)
is associated with the node and the denominator is associated with the link. In this way, the
node metric as well as the link metric are combined. Relay node was selected according to
the spectral efficiency as well as coding opportunity based criteria. While selecting the relay
node, the questions posed for selecting the relay node (Zhuang et al., 2013) for cooperative
protocols have been taken into consideration: who to cooperate with? The best relay node
among a set of potential relay nodes has been selected. How to cooperate? Pro-active
30
cooperation have been employed for cooperation. And when to cooperate? Cooperation was
triggered only when it is necessary, i.e., in an incremental fashion, as unnecessary
cooperation sabotages the gain from cooperative protocol (Zhuang et al., 2013). By selecting
neighbor who is strong to support higher data rates which reduce the transmission time
thereby improving spectral efficiency. The path selection procedure and the criteria for
selection of the path are described in section 3.2.3, RREP phase (Route reply phase).
2.5 Algorithm for MIQ calculation
Suppose five different flows {F1, F2, F3, F4, F5} are going through a node. Figures 2.8 and
2.9 help us describe them. Queue length in first case: 1 = + + + + (2.8)
On the second case where flow A, B and C can be coded together, the queue length is
modified as following:
2 = ( , , ) + + (2.9)
31
Figure 2.8 Modified Queue Length illustrations
This is the representation how much we can gain if we use that node along the way if the
coding opportunity arises and we can tap on to that. In order to estimate the modified queue
length undirected graph has been used. Each flow is being represented by vertex associated
with the vertex is the number of packets from that flow and the edge between them is a
representation of coding possibility.
Bron-Kerbosch algorithm has been used to find all the cliques (completely connected sub-
graph) of the graph, and then it was modified to get the Modified Queue length at a node
(briefly described at section 2.4.1 and 2.4.2). For details of modified interference queue
length calculation please refer to (Le et al., 2008). Alternatively a node can also learn about
the coding opportunities by snooping on the communications of the neighbouring nodes.
32
Figure 2.9 Graph representation of the Modified Queue Length
2.6 Assumptions
• All the nodes in the network were assumed to be in promiscuous mode. They can
overhear the communications of all node which are its one-hop neighbors;
• Each node knows the link qualities between itself and its one-hop neighbors and the link
qualities between neighbor’s and its neighbors;
• Each overhearing node stores packet for a certain duration for the purpose of decoding
network coded packet. Each transmitter also stores the packets which it has transmitted
for a certain interval;
• Each node maintains three different queues, namely control packet queue, native (non
coded transmission) packet queue and Q_Mix which stores the packet in a linked list
where the packets which satisfy the coding conditions are grouped together;
• The encoding and decoding operations of the network coding are bit-wise XOR;
33
• The network layer control packets(hello) was allowed to convey the MAC address as
well as the link SNR and the modified interference queue(MIQ) length.
Chapter Summary
This chapter describes the methodology employed for integration of the network coding,
spatial diversity and opportunistic routing mechanisms for wireless mesh networks. First the
basic mechanisms are illustrated with examples, then it presents the CDARM (coding and
data rate aware routing metric) and the link creation mechanism at the MAC layer on which
the integration approach is based on. Then with help of an example the integration approach
has been illustrated. At the end it discusses the assumptions which have been made during
the implementation and testing of the integrated protocol stack.
CHAPTER 3
DESIGN AND IMPLEMENTATION DETAILS
Introduction
In the previous chapter, the integration approach has been discussed. In this chapter first the
design objectives and challenges are described followed by the modifications which have
been carried out at network, MAC and Physical layers of the OSI (open system interconnect)
reference architecture. A framework for restraining the route-request (RREQ) packets during
the route discovery phase, RREQ phase, route-reply (RREP) phase, opportunism in the
routing protocol, cooperation among the MAC and network layer, MAC header
modifications to facilitate the integration, enhanced network allocation vector (NAV) update
procedure, queuing and coding policy, decoding, acknowledgement, retransmission policy,
prioritization of the coded packet transmission, physical layer modifications. Flow charts
have been provided to facilitate the reader to grasp the underlying mechanisms and
algorithms for integrated protocol stack. At the end the modified network protocol stack is
presented.
3.1 Design Objectives and challenges
It is well-known fact that the NC is sensitive to erroneous channel and CP as well as OR
protocol results in improvement in performance under lossy channel condition. The main
challenge was to bring these gains in a single platform, so that gain from one protocol does
not sabotage the gain from other protocols, i.e., to create cohesion in the protocols
functioning. In order to design the integrated protocol, the following issues were carefully
addressed.
• Selection of relay node for cooperative diversity and improving spectral efficiency, these
objectives are detailed in the node-link metric section 2.4.2;
• Employing Opportunistic forwarding: Link creation at the MAC layer as well as
36
capitalizing on the progress already made by the packet towards the destination;
• Expediting the coded packets transmission: In order to maximize the coding chances
coded packets must be prioritized for transmission within a node and among the nodes;
• Duplicate packet suppression: When opportunistic forwarding and network coding are
employed, the protocol must ensure that duplicate packets are not transmitted by other
nodes along the routes;
• Enhanced NAV update procedure for coping with the cooperative protocol as well as
Link creation at MAC layer protocol.
In order to address the above issues to realize the objectives of integration (to improve
network throughput and improve reliability), the network architecture has been modified,
where additional functionalities (storing neighboring nodes information, coding opportunity
based relay selection and a cross layer communication interface at the network layer, then at
the MAC layer three interface queues, coding graph, priority based scheduler, network
coding and decoding module, overheard packet repository, cross layer communication
interface at the MAC, at physical layer a packet buffer, and an equal gain combiner) into the
network protocol stack are introduced. In the next section, details of the modified
architecture are presented starting with network layer, then MAC layer and the physical
layer.
3.2 Network Layer Modifications
For the purpose of integration, AODV routing protocol (Perkins et al., 2003) have been
chosen to discover route in an on-demand fashion, DSR (Johnson et al., 2007) was not
chosen, as it requires the each packet to carry whole path information. As another option,
link-state routing protocol may be used. Concerning the link metrics used in AODV, in the
literature they are broadly categorized as topology based and load based metrics. Example of
topology based metrics are hop-based, ETX, ETT, etc. and for load based metrics one can
mention traffic intensity and interference aware metrics (Karia et al., 2013), (Sheshadri et al.,
2014). In our implementation, the applied AODV protocol is based on the node-link metric
proposed in Section 2.4.2, which is a combination of the topology based and load based
37
metrics. The advantage of using node- link metrics is that it guides the packets on the path
where coding opportunity may arise and also it weighs whether using that path is beneficial
or not. A path may be coding possible but using an alternative path is beneficial because of
the characteristics of the links along the path.
3.2.1 Restraining the RREQ packets
In conventional AODV protocol, nodes that receives a route request packet, RREQ, for the
first time, updates its route back to the source node without judiciously considering whether
the link via which the packet came is strong or not. Also in the conventional ETX metric
based routing, a node processes the RREQ packet from the origin or the neighboring nodes
only if the ETX metric, of the link by which the RREQ packet came, is above or equal to the
given threshold. These threshold values are estimated using the number of control packets
which are sent at the basic data rate. In this case, when employing multi-rate transmission at
the MAC layer for forwarding the data packet, the transmission becomes prone to errors
because of the channel dynamics. In order to overcome this difficulty, in our implementation,
the link SNR moving average has been employed. Therefore the routing decisions are not
solely based on the number of control packets a node receives during a period of time but
also on the average link SNR. In this case, the routing criteria can be described as follows:
• Choose paths which met certain criteria only (average link SNR is above a given
threshold), to sort out uncompetitive path;
• Then among those paths, choose the path which results in minimum cost path in terms of
the CDARM metric.
This strategy allows the nodes to choose only those routes that are strong and stops the
flooding of the RREQ packets which can result in network congestion.
3.2.2 RREQ phase
When source node A wants to establish a route to destination node B, it broadcasts the RREQ
38
packet with a destination address and routing information. When a node receives RREQ, it
first checks if the link meets the minimum average SNR requirements. If the requirements
are met, it checks if it has already processed a request with the same RREQ_ID. If yes, the
packet is discarded, otherwise the node estimates the cost to the previous hop node(in terms
of the CDARM metrics), and checks the cooperation condition if it is beneficial in terms of
the CDARM metric as stated in Node-Link metrics section 2.4.2. If using the relay node is
beneficial then it stores the relay node's address when creating the route to the origin (which
is reverse route). Then the node checks if it has a route to the destination. If there is no route
to the destination, it includes the cost up to itself from the origin. This process has been put in
a pictorial format in figure 3.1.
Then it updates info into the RREQ header and broadcast it. The gratuitous reply is allowed
(i.e., any node which has a route to the final destination is allowed to reply on behalf of the
destination node). Let us define each link on the path . Then if the ( ) is the modified
interference queue length of the transmitter on , and data rate on the link Rl, then CDRAM
metric of the link as calculated as
= ( ) (3.1)
For the cost of the entire path can be calculated as
= ∑ (3.2)
39
Figure 3.1 Flow chart for RREQ phase
40
Figure 3.2 Flow Chart for RREQ phase (second half)
3.2.3 RREP phase
When a node notices that it has route to the destination or the RREQ arrives at the
destination, then it sends reply back to the node from which it has heard the RREQ. When an
41
intermediate node( an intermediate node is a node which is not final destination) sends the
reply back it checks whether this new flow can be coded( by checking the coding conditions
mentioned in section 3.5.3 Queuing and Coding Policy) with any other existing flow. If yes,
then it recalculates the MIQ value and the node-link metric, and inserts it to the RREP
header. Upon receiving RREP any intermediate node learns about the coding opportunities at
that node and estimates the cost from which node it has overheard the RREP, and it adds up
to the cost. This process continues till the RREP finally arrives at the source node. At the
source node, if this is the first RREP for that destination, the routing information for that
destination is stored along with its cost and the next-hop information. The source node also
checks if there is an opportunity to cooperate with nodes which can be beneficial, according
to the relay node selection criteria described in section 2.4.2 (equation 2.7), and then adds the
relay nodes address to the routing table for that destination. If the source node receives
another RREP for the same destination with smaller cost than the previous route, then it
removes the previous route and stores the new one.
3.3 Opportunism in the Routing Protocol
Opportunism is introduced into the routing protocol in the sense a cooperative link is broken
down at the MAC layer on real time, which is explained in more details in section 2.1.3, OR
protocol, in order to facilitate that the IP header is enhanced to include the next hops IP
address. When a link is created at the MAC layer, (as in section 2.2) a new link is established
between the sender and the relay node and in that case the packet transfer responsibility is
transferred to the relay node; the progress made from the sender to the relay node towards the
final destination was capitalized. In this case the relay node forwards the packet to the source
nodes next hop, (a transmitter sends a packet, when the direct link fails, relay nodes makes
the transmission on behalf of the source node. In the event the transmission from the relay
node also fails, the packet has already reached the relay node, which is closer to the
destination than the source node itself, so we capitalize on that progress) if this relay node
deems to cooperate with another node is beneficial, then it does so.
42
3.4 Cooperation among the MAC and Network Layer
Cooperation among the network and MAC layer is extremely important as they are
dependent on each other. In the proposed approach a node learns about its neighbors and the
link quality between those nodes and itself as well as the link quality among those nodes by
snooping on the channel in promiscuous mode. This information is stored in a data structure
at the network layer and the MAC layer successively keeps this data structure updated. In
particular this data structure is constructed by snooping on the channel on promiscuous mode
and when a packet is exchanged between two neighboring nodes, the listening node learns
about the data rate which is used and at the same time the SNR of the received packet at the
listening node. Please note that this cooperation does not incur any extra overhead in terms of
communicating metadata to the neighbors, as it is done by snooping on the channel in
promiscuous mode as well as the exchange of the “HELLO” packet which is used for
conveying the metadata to estimate the routing metric. This data structure is used by the
network layers to select the strong neighbors as well as for the routing decisions. Also, after
the establishment of the route, the MAC layer consults this data structure for selection of the
data rate. So there is a two-way communication between the MAC and network layer.
3.5 MAC Layer Modification
The MAC layer modifications are listed in the following.
3.5.1 Header Modifications
In the integrated protocol stack data packets are transmitted in three different modes, namely:
network coded mode, cooperative mode (coop-native) and non-cooperative mode (non-coop-
native), the data packets which are not coded are referred as native data packets. In order to
differentiate between coded, non-coop-native and coop-native packets, the MAC header is
enhanced. When a packet is sent in non-coop-native mode, its header is similar to the 802.11
specifications except for the fact that the frame control sub-field is marked as non-coop-
native. When a packet is sent in coop-native mode, its RTS, CTS, DATA and ACK header
43
are enhanced as presented in Figure 3.3. The third address RLY represents the relay node
with which the transmitting node wishes to cooperate.
Figure 3.3 Modified MAC headers for Integrated Protocol
When coded packets are sent, the frame control sub-type is marked as coded. There is an
array of addresses which are the recipient of the coded packets. Namely, the second address
is the sender's address, and we have an array of packet-IDs of the packets which are intended
for the nodes whose addresses are included in the array of recipients address, Code_Len
represents a number of packets being coded. The ACK packet contains the SA (data packets
recipient) instead of RA (data packet sender) and the unique packet ID for which the ACK is
for.
44
3.5.2 Enhanced NAV for Relay Link Creation
Consider cooperative mode for the link is A-{R1}-B. First node A sends RTS packet with the
addresses of receiver B and relay node R1. Suppose that the link is not established between
A-B but instead the link is established between A-R1. In the 802.11 based Network
Allocation Vector (NAV) mechanisms, the other nodes (the nodes which are in the vicinity
of the transmitter and the receiver node) lose the chances for transmission even after the
successful exchange of data packet. The reason is that when a node sends RTS packet, it
includes the duration for which the channel may be occupied with its last known channel
condition. In cooperative mode this time can be described as CTS_Timeout +
[31] C. Perkins , E. Belding-Royer , and S. Das :“ Ad hoc On-Demand Distance Vector
(AODV) Routing ,” RFC 3561 ( 2003 )
[32] M. Lacage, T. R. Henderson, "Yet Another Network Simulator", Proceeding from the
2006 Workshop on NS-2: the IP Network Simulator, pp. 12, 2006.
[33] NS3-Model-Library, Available at: https://www.nsnam.org/docs/models/ns-3-model-
library.pdf
Table A I-1 Average network throughput difference (%) between INT, INT-C1, INT-C2 and TR, NC_BEND, CP, respectively, for diamond topology Through put Difference
TH
NC_
BEND
CP
CP_
RL
INT 21 13 14 15
INT-C1 32 23 24 25
INT-C2 25 16 17 18
Table A I-2 Average delivery ratio difference (%) between INT, INT-C1, INT-C2 and TR, NC_BEND, CP, respectively, for diamond topology
Delivery
TH
NC_
CP
CP_
111
Ratio BEND RL
INT 6.5 1.5 6.4 12.9
INT-C1 2.8 -1.85 2.9 9.1
INT-C2 5.1 0.19 4.9 11.2
Table A I-3 Average NTPD difference (%) between INT, INT-C1, INT-C2 and TR, NC_BEND, CP, respectively, for diamond topology.
NTPD
TH
NC_
BEND
CP
CP_
RL
INT -14 -6.3 1.0 -14
INT-C1 -11 -2.0 6.8 -10.3
INT-C2 -18 -9.7 -3.2 -18
Table A I-4 Network throughput for all topologies Topology Protocol Network
Throughput
(Kbps)X1e+003
Diamond TH 5.14
CP 5.49
CP_RL 5.44
NC_BEND 5.53
INT 6.24
INT-C1 6.79
INT-C2 6.43
3X3
TH 1.14
CP 1.36
CP_RL 1.98
NC_BEND 3.68
INT-C2 5.54
4X4
TH 0.29
CP 0.49
CP_RL 0.89
NC_BEND 1.16
112
INT-C2 1.80
16-node
TH 0.39
CP 0.69
CP_RL 0.90
NC_BEND 0.75
INT-C2 1.34
Table A I-5 Delivery ratio for all topologies Topology Protocol Delivery
Ratio
Diamond TH 0.94
CP 0.95
CP_RL 0.90
NC_BEND 0.97
INT 0.99
INT-C1 0.96
INT-C2 0.98
3X3
TH 0.34
CP 0.50
CP_RL 0.63
NC_BEND 0.89
INT-C2 0.97
4X4
TH 0.11
CP 0.20
CP_RL 0.41
NC_BEND 0.33
INT-C2 0.51
16-node
TH 0.10
CP 0.23
CP_RL 0.31
NC_BEND 0.19
INT-C2 0.44
Table A I- 6 Number of transmissions per packet delivery (NTPD) for different topologies
Topology Protocol NTPD
Diamond TH 1.99
CP 1.7
CP_RL 2.0
NC_BEND 1.77
INT 1.68
INT-C1 1.78
INT-C2 1.62
3X3
TH 7.03
CP 3.94
CP_RL 4.06
NC_BEND 2.74
INT-C2 1.93
4X4
TH 22.44
CP 11.6
CP_RL 7.86
NC_BEND 8.40
INT-C2 6.0
113
16-node
TH 14.84
CP 8.8
CP_RL 7.98
NC_BEND 10.99
INT-C2 8.15
Table A I-7 CP, NC, and OR usage distributions in INT-C2 for all topologies
Topology CP NC OR
Diamond 75 8 17
3X3 54 22 24
4X4 58 8 34
16-node 64 8 28
Figure A I-1 Network coding illustration
Figure A I-2a Timing diagram for Cooperative protocol (direct transmissions)
116
Figure A I-2b Timing diagram for Cooperative protocol (relayed transmissions)
Figure A I-3 Classifications of OR protocols based on Candidate coordination
117
Figure A I-4a Illustrations of Cooperative protocol integration
Figure A I-4b Illustrations of Cooperative protocol integration (relay intervention)
118
Figure A I-5 Modified MAC header for Integrated Protocol
119
Figure A I-6 The integrated protocol architecture
Figure A I-7 Diamond topology
120
Figure A I-8 3X3 mesh topology
Figure A I-9 4X4 mesh topology
121
Figure A I-10 16-node random topology
Figure A I-11 Network throughput for Diamond Topology vs. A-B distance
122
Figure A I-12 Delivery Ratio for Diamond Topology vs. A-B distance
Figure A I-13 Number of transmissions per packet delivery (NTPD) vs. A-B distance
123
Figure A I-14 Fraction of the packets sent in native and coded mode in NC_BEND vs. A-B distance
Figure A I-15: Fraction of the CP, NC and OR usage in INT-C2 vs A-B distance
124
Figure A I-16: Fraction of CP, NC and OR usage in INT-C2 vs A-B distance
Figure A I-17 Average fraction of the CP, NC and OR usage in the integrated protocols for diamond topology
BIBLIOGRAPHY
AAJAMI, M, PARK H. R., and SUK, J. B., 2012 , "Combining opportunistic routing and network coding: A multi rate approach”. Wireless Communications and Networking Conference(WCNC), 2013, IEEE Shanghai 2012, p:2208-2213.
AHLSWEDE, R., CAI, N., LI, S.Y. R. AND YEUNG, R. W., 2000, “Network information
flow”. IEEE Transactions on Information Theory, 46(4):1204–1216. ANTONOPOULOS, A, VERIKOUKIS, C, SKIANIS, C, AKAN, O. B, 2013, “Energy
efficient network coding-based MAC for cooperative ARQ wireless networks”. Ad Hoc Networks, Volume 11, Issue 1, Pages 190-200, ISSN 1570-8705
ASADUZZAMAN and KONG. H. Y, "Multi-relay cooperative diversity protocol with
improved spectral efficiency," in Journal of Communications and Networks, vol. 13, no. 3, pp. 240-249, June 2011.
BISWAS, S. and MORRIS, R., 2005, "EXOR: Opportunistic Multi- Hop Routing for
Wireless Networks". Proc. ACM SIGCOMM, pp. 133-144. BOUKERCHE, A. and DAREHSHOORZADEH, A., 2014, “Opportunistic routing in
wireless networks: Models, algorithms, and classifications”. ACM Computing. Surveys.
CHACHULSKI, S., JENNINGS, M., KATTI, S., and KATABI, D., 2007, "Trading
structure for randomness in wireless opportunistic routing". Proc. ACM SIGCOMM, pp. 169-180.
COUTO, D. S. J. D, AGUAYO, D., BICKET, J., MORRIS, R., 2003, “A high-throughput
path metric for multi-hop wireless routing”. In 9th ACM International Conference on Mobile Computing and Networking (MobiCom03).
DAREHSHOORZADEH. A, and CERDA-ALABERN. L, "Distance Progress Based
Opportunistic Routing for wireless mesh networks," 2012 8th International Wireless Communications and Mobile Computing Conference (IWCMC), Limassol, 2012, pp. 179-184.
DAREHSHOORZADEH. A, DE GRANDE. R. E, and BOURKERCHE. A, "Toward a
Comprehensive Model for Performance Analysis of Opportunistic Routing in Wireless Mesh Networks," in IEEE Transactions on Vehicular Technology, vol. 65, no. 7, pp. 5424-5438, July 2016.
DRAVES, J. P. R., and ZILLL, B., 2004, “Comparison of routing metrics for multi-hop
wireless networks”. In SIGCOMM, Portland, OR, USA.
126
ELHAWARY. M and HASS. Z. J, "Energy-Efficient Protocol for Cooperative Networks," in IEEE/ACM Transactions on Networking, vol. 19, no. 2, pp. 561-574, April 2011.
ESCRIG. B, "DMT Optimal Cooperative Protocols with Destination-Based Selection of the
Best Relay," in IEEE Transactions on Wireless Communications, vol. 10, no. 7, pp. 2218-2227, July 2011.
FOSCHINI G.J., GANS M., 1998, "On the Limits of Wireless Communication in a Fading
Environment when Using Multiple Antennas". Wireless Personal Comm., vol-6, p 311-335.
GOMEZ. D, GARRIDO. P, RODRIGUEZ. E, AGUERO. R and MUNOZ. L, "Enhanced
opportunistic random linear source/network coding with cross-layer techniques over wireless mesh networks," 2014 IFIP Wireless Days (WD), Rio de Janeiro, 2014, pp. 1-4.
GARRIDO, P, GOMEZ, D, AGUERO, R and SERRAT, J, "Combination of random linear
coding and cross-layer opportunistic routing: Performance over bursty wireless channels," 2015 IEEE 26th Annual International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC), Hong Kong, 2015, pp. 1692-1696.
Coding Aware Routing in Time-Varying Multihop Networks," in IEEE Transactions on Vehicular Technology, vol. 66, no. 7, pp. 6299-6309, July 2017.
HOLLAND, G., VAIDYA, N, AND BAHL, P., 2001, “A rate-adaptive MAC protocol for
multi-Hop wireless networks”. In Proceedings of the 7th annual international conference on Mobile computing and networking (MobiCom '01). ACM, pp. 236-251.
HO, T., 2004, “Networking from a network coding perspective”. PhD thesis, MIT. JOHNSON, D. B., MALTZ, D. A., and BROCH, J., 2001, “DSR: The Dynamic Source
Routing Protocol for Multi-Hop Wireless Ad Hoc Networks”. Rfc: 4728. KAFAIE, S., CHEN, Y., AHMED, M. H. and DOBRE, O. A., 2015, "Network coding with
link layer cooperation in wireless mesh networks". 2015 IEEE International Conference on Communications (ICC), pp. 3672-3677.
KAKITANI. M. T, SOUZA. R. D and IMRAN. M. A, "Energy efficiency contours for
amplify-and-forward and decode-and-forward cooperative protocols," 2012 8th International Symposium on Communication Systems, Networks & Digital Signal Processing (CSNDSP), Poznan, 2012, pp. 1-5.
127
KARIA, D. C., JADIYA, A. AND KAPUSKAR, R., 2013, "Review of Routing Metrics for Wireless Mesh Networks". (ICMIRA), International Conference on Machine Intelligence and Research Advancement, pp. 47-52.
KATTI, S., RAHUL, H., HU, W., KATABI, D., MÉDARD M. and J. Crowcroft,, 2008,
"XORs in the Air: Practical Wireless Network Coding". IEEE/ACM Transactions on Networking, vol. 16, no. 3 vol. 16, no. 3, pp. 497-510.
KATTI, S., GOLLAKOTA, S. and KATABI, D., 2007, “Embracing wireless interference: Analog network coding”. In ACM SIGCOMM, Kyoto, Japan
KIM, D., and SUH, Y. J., 2012, "Multi-rate combination of opportunistic routing and
network coding: An optimization perspective". Wireless Communications and Networking Conference(WCNC), p:1947-1952.
KIM, S., JEONG, W. S., RO, W. W., AND GAUDIOT, J.L., 2013, “Design and evaluation
of random linear network coding Accelerators on FPGAs”. ACM Transaction on Embedded Computing. Systems. Vol 13, Issue 1, Article 13. DOI=http://dx.doi.org/10.1145/2512469
KIM. Y. B, CHOI. W, JUNG. B. C and NOSRATINIA. A, "A Dynamic Paradigm for
Spectrally Efficient Half-Duplex Multi-Antenna Relaying," in IEEE Transactions on Wireless Communications, vol. 12, no. 9, pp. 4680-4691, September 2013.
KO, Y. B., and VAIDYA, N. H., 1998, “Location-aided routing (LAR) in mobile ad hoc
networks”. In Mobile Computing and Networking (MOBICOM), pages 66–75, Dallas, TX, USA.
KOUTSONIKOLAS, D., HU, Y. C., WANG, C, 2008, “XCOR: synergistic interflow network
coding and opportunistic routing”. Proc. ACM MobiCom’08 SRC. KUMAR, R, TATI, S., MELLO, F. D, KRISHNAMURTHY, S. V. AND PORTA T. L.,
2010, "Network Coding aware Rate Selection in multi-rate IEEE 802.11". The 18th IEEE International Conference on Network Protocols, pp. 92-102. doi: 10.1109/ICNP.2010.5762758
LACAGE, M., HENDERSON, T. R., 2006, "Yet Another Network Simulator". Proceeding
from the 2006 Workshop on NS-2: the IP Network Simulator, pp. 12.
128
LAN, X. AND ZHANG, S., 2014, "MT-NCOR: A practical optimization method for network coded opportunistic routing in WMN". 2014 23rd International Conference on Computer Communication and Networks (ICCCN), pp. 1-8.
LANEMAN, J. N., TSE, D. N. C., and WORNELL, G. W., 2004, "Cooperative diversity in
wireless networks: Efficient protocols and outage behavior". IEEE Transactions on Information Theory, vol. 50, no. 12, pp. 3062-3080.
LE, J., LUI, C. S. and CHUI, D. M., 2008, “DCAR-Distributed Coding Aware Routing
Protocol in Wireless Networks”. Distributed Computing System, 2008, ICDCS’08, The 28th International Conference on Distributed Computing Systems, Beijing, p 462-469
LIN. S, FU. L and LI. Y, "Energy Saving With Network Coding Design Over Rayleigh
Fading Channel," in IEEE Transactions on Wireless Communications, vol. 16, no. 7, pp. 4503-4518, July 2017.
LIN, Y., SONG, J. H., and WONG, V., 2009, "Cooperative protocols design for wireless ad-
hoc networks with multi-hop routing", Mobile Networks and Applications, vol. 14, pp. 143-153,DOI: 10.1007/s11036-008-0132-7.
LUK, C. P., LAU, W. C., YUE, O. C., 2008, “An Analysis of Opportunistic Routing in
Wireless Mesh Network”. ICC.
LV. X, SHI. X, “An Opportunistic Routing with Minimizing the Expected Coordination Delay”, International Conference on Network and Information Systems for Computers, 2016.
MANSSOUR, J., OSSEIRAN, A. and SLIMANE, S. B., 2009, "Opportunistic relay selection
for wireless network coding". Communications (MICC), 2009 IEEE 9th Malaysia International Conference on, Kuala Lumpur, pp.102-106.
MUNARI, A., ROSSETTO, F. and ZORZI, M., 2009, “Pheonix: making cooperation more
efficient through network coding in wireless networks”. IEEE Transactions on Wireless Communications, vol. 8, no. 10, pp. 5248-5258.
NS3-MODEL-LIBRARY, Available at: https://www.nsnam.org/docs/models/ns-3-model-library.pdf PERKINS, C., ROYER, E. B., AND DAS, S., 2003, “Ad hoc On-Demand Distance Vector
(AODV) Routing”. RFC 3561
129
ROZNER, E., SESHADRI, J., MEHTA, Y. and QUI, L., 2009, "SOAR: Simple Opportunistic Adaptive Routing Protocol for Wireless Mesh Networks". IEEE Transactions on Mobile Computing, vol. 8, no. 12, pp. 1622-1635.
SADEK, A., HAN, Z. and LIU, K., 2010, “Distributed Relay-Assignment Protocols for
Coverage Expansion in Cooperative Wireless Networks". IEEE Transactions on Mobile Computing, vol. 9, no. 4, pp. 505-515.
SAGDUYU, Y. AND EPHREMIDES, A., 2005, “Cross-layer design for distributed MAC
and network coding in wireless ad hoc networks”. Proc. International Symposium on Information Theory ISIT, pages 1863–1867
SENDONARIS, A., ERKIP, E. and AAZHANG, B., 2003, "User cooperation diversity. Part
I. System description". IEEE Transactions on Communications, vol. 51, no. 11, pp. 1927-1938.
SHENG. Z, FAN. J, LIU. C. H, LEUNG. V. C. M, LIU. X and LEUNG. K. K., "Energy-
Efficient Relay Selection for Cooperative Relaying in Wireless Multimedia Networks," in IEEE Transactions on Vehicular Technology, vol. 64, no. 3, pp. 1156-1170, March 2015.
SHESHADRI, R. K. AND KOUTSONIKOLAS D., 2014, "An Experimental Study of
Routing Metrics in 802.11n Wireless Mesh Networks". IEEE Transactions on Mobile Computing, vol. 13, no. 12, pp. 2719-2733
TELATAR, E., 1999, “Capacity of Multi-Antenna Gaussian Channels”. European Trans
Telecomm, Vol.10, p 585-595, Nov 1999. TSE, D. and VISHWANATH, P., 2005, “Fundamentals of Wireless Communications”.
Cambridge University Press. WANG, X. and LI, J., 2014, “Network Coding Aware Cooperative MAC Protocol for
Wireless Ad Hoc Networks”. IEEE Transactions on Parallel and Distributed Systems, vol. 25, no.1, pp-167-179.
WU. Y, CHOU, P. A., KUNG, S. K., 2005, “Information exchange in wireless networks with
network coding and physical-layer broadcast”. In 39th Annual Conference on Information Sciences and Systems (CISS)
130
XU. Y, BAI. Z, YUAN. D and KWAK. K, "ARQ Based Joint Relay Selection and Cooperative Protocol Switch Cooperative Scheme," 2011 IEEE International Conference on Communications (ICC), Kyoto, 2011, pp. 1-5.
YAN. Y., ZHAN, B., ZHENG, J. and MA, J., 2010, "CORE: a coding-aware opportunistic
routing mechanism for wireless mesh networks [Accepted from Open Call]". IEEE Wireless Communications, vol. 17, no. 3, pp. 96-103.
YUAN. Y., WONG, S. H. Y., LU, S., ARBAUAGH, W., 2008 “ROMER: Resilient
Opportunistic Mesh Routing for Wireless Mesh Networks”. Proc of WiMesh. ZHANG. C, CHEN. Y, LI. C, "TCP adaptation with network coding and opportunistic data
forwarding in multi-hop wireless networks", PeerJ Computer Science, vol. 2, pp. e89, 2016, ISSN 2376-5992.
ZHANG, J, CHEN, Y. P., and MARSIC, I., 2010, “MAC-layer proactive mixing for network