ArticlePDF Available

Abstract and Figures

Network coding (NC) is a technique used to improve wireless networks throughput, efficiency, and scalability. When employing this technique, wireless nodes collect several packets and combine them together in one single transmission. This technique is used to attain the maximum possible network flow with minimum number of transmissions. COPE, OpNC and FENC are widely known approaches in network coding that vary in complexity and optimality. COPE is the first proposed approach for network coding that is considered as a complex approach and may lead to a packet deadline termination; thus, transmitter should resend packets, and therefore, the overall throughput decreases. OpNC employs the COPE approach in order to find all possible codes for a set of packets, brute force searching, hence it is an exhaustive approach where the optimal solution is not always reachable. On the other hand, FENC utilizes division and conquers technique, in order to find an optimal network coding of a set of native packets, in which a repetitive algorithm is applied on the output queue more than once, in order to increase the possibility of finding an optimal coding solution. In this paper, we propose a novel technique which utilizes two basic concepts of network coding: matrix optimization and the notion of conflict between packets. This technique is called “Conflict based Matrix Optimization for Network Coding Enhancement” (CMO-NCE), in which the opportunity of recovering more packets within the transmitted encoded packets combination is increased. Our proposed technique chooses better packets combination when transmitting the encoded stream; consequently, more packets are recovered at destination nodes. Simulation results show that the proposed technique is better in terms of complexity and optimality than other existing techniques such as COPE and OpNC. Also, it shows that the proposed CMO-NCE mechanism results are close to FENC approach. However, CMO-NCE’s time complexity is less than FENC and it is linear, O(n), where n is number of wireless nodes, while FENC’s time complexity is not linear, O(P^2/log2P ), where P is number of packets.
Content may be subject to copyright.
Journal of Theoretical and Applied Information Technology
31st October 2017. Vol.95. No 20
© 2005 – ongoing JATIT & LLS
ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195
5580
A NOVEL NETWORK CODING APPROACH: PACKETS
CONFLICT BASED FOR MATRIX OPTIMIZATION
1MOHAMMAD M. SHURMAN, 2MAMOUN F. AL-MISTARIHI,
3SHARHABEEL H. ALNABELSI, 4RAMI R. BANI HANI
1Network Engineering and Security Dept., Faculty of Computer and Information Technology, Jordan
University of Science and Technology, Jordan
2Electrical Engineering Dept., Faculty of Engineering, Jordan University of Science and Technology,
Jordan
3Computer Engineering Dept., Faculty of Engineering Technology, Al-Balqa Applied University, Jordan
4Computer Engineering Dept., Faculty of Engineering, Jordan University of Science and Technology,
Jordan
E-mail: 1alshurman@just.edu.jo, 2mistarihi@just.edu.jo, 3alnabsh1@gmail.com,
4rrbanihani10@cit.just.edu.jo
ABSTRACT
Network coding (NC) is a technique used to improve wireless networks throughput, efficiency, and
scalability. When employing this technique, wireless nodes collect several packets and combine them
together in one single transmission. This technique is used to attain the maximum possible network flow
with minimum number of transmissions. COPE, OpNC and FENC are widely known approaches in
network coding that vary in complexity and optimality. COPE is the first proposed approach for network
coding that is considered as a complex approach and may lead to a packet deadline termination; thus,
transmitter should resend packets, and therefore, the overall throughput decreases. OpNC employs the
COPE approach in order to find all possible codes for a set of packets, brute force searching, hence it is an
exhaustive approach where the optimal solution is not always reachable. On the other hand, FENC utilizes
division and conquers technique, in order to find an optimal network coding of a set of native packets, in
which a repetitive algorithm is applied on the output queue more than once, in order to increase the
possibility of finding an optimal coding solution.
In this paper, we propose a novel technique which utilizes two basic concepts of network coding: matrix
optimization and the notion of conflict between packets. This technique is called “Conflict based Matrix
Optimization for Network Coding Enhancement” (CMO-NCE), in which the opportunity of recovering
more packets within the transmitted encoded packets combination is increased. Our proposed technique
chooses better packets combination when transmitting the encoded stream; consequently, more packets are
recovered at destination nodes. Simulation results show that the proposed technique is better in terms of
complexity and optimality than other existing techniques such as COPE and OpNC. Also, it shows that the
proposed CMO-NCE mechanism results are close to FENC approach. However, CMO-NCE’s time
complexity is less than FENC and it is linear, O(n), where n is number of wireless nodes, while FENC’s
time complexity is not linear, O(
p
P
2
2
log
), where p is number of packets.
Keywords: Network Coding, Packets Conflict, CMO-NCE, COPE, OpNC, FENC, Time Complexity
1. INTRODUCTION
Over the last years, wireless networks
were proposed for possible use in many
applications out of which real-time and streaming
video and audio delivery, remote monitoring, and
indoor positioning [1-5]. A major concern about
wireless network performance is throughput,
especially with large scale wireless nodes
deployment; therefore, network coding is a
powerful technique that allows improving network
capacity and packets delivery ratio. This technique
is based on the fact that wireless networks
Journal of Theoretical and Applied Information Technology
31st October 2017. Vol.95. No 20
© 2005 – ongoing JATIT & LLS
ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195
5581
transmission’s nature is broadcasting, such that
when one node transmits a packet, all neighbor
nodes within its transmission range can receive this
packet [6-11]. Interestingly, this nature facilities
network coding operation, because it allows
intermediate nodes to receive and re-transmit
multiple combined packets [12-18].
Network coding (NC) [19] can be defined
as empowering the intermediate nodes within a
network to combine the incoming packets flows, in
order to reduce the number of overall transmissions
between network nodes [20-24]. This process is
called coding (or encoding) of packets, followed by
transmitting these encoded packets to destination
nodes, such that destination nodes are able to
retrieve or decode packets targeted to themselves
from the incoming flow (encoded packets). In
wireless ad-hoc networks, this technique is a
promising enhancement for packets flows [25-27],
in which network throughput dramatically
increases.
However, choosing the best suitable
combination of received packets by intermediate
node is important, in order to reduce number of
transmissions and increase the probability to
recover transmitted packets combinations at their
destination. Hence, we are motivated in this study
to propose a novel methodology, in order to select
this kind of combination within a linear time
complexity.
Figure 1 describes the concept of network
coding in wireless networks; assume Alice and Bob
want to exchange data packets, called PAlice and
PBob, respectively, through a wireless relay node.
Figure 1.A shows packet transmission using the
traditional method where network coding technique
is not employed, the relay receives both packets and
re-transmits each packet individually. Therefore,
two transmissions are required to send each packet
to its destination, and hence, an overall of four
transmissions are required to exchange two packets.
Figure 1: (A) Network Coding Technique is not
Employed.
(B) Network Coding Technique is Employed.
However in Figure 1.B, a network coding
approach is employed such that when (PAlice and
PBob) packets are received by the relay node, it
combines them by applying logical XOR, then
transmits only one encoded packet as (PAlice PBob)
instead of two separate packets (PAlice and P
Bob) to
their corresponding receiver nodes, Bob and Alice.
Each receiver node should be able to decode the
received encoded packet, because it already has
buffered its recent transmitted packets. Bob can
extract PAlice packet by XORing the received
encoded packet with its recent buffered packet,
PBob, such that (PAlice PBob PBob) = PAl ice. Also
in same manner, Alice can extract PBob packet by
XORing the received encoded packet with its
buffered PAlice packet. Therefore, the number of
overall transmissions is reduced to three when NC
technique is employed.
2. CONTRIBUTIONS AND PAPER
ORGANIZATION
In this work, a new novel network coding
technique is proposed that employs two basic
concepts of network coding: matrix optimization
and the notion of conflict between packets. This
technique is called “Conflict based Matrix
Optimization for Network Coding Enhancement”
(CMO-NCE), where more packets are combined in
one single transmission using a prediction method
that is based on “Confliction of Packets” notion, in
which the probability of recovering more encoded
packets at their destinations is increased.
This notion is introduced to enhance
packets selection strategy which results in: (a) A
near optimal encoded packets’ combination, such
that it rapidly reduces the search space for next new
packets to be included within next transmitted
encoded packets’ stream. (b) - It also allows
Journal of Theoretical and Applied Information Technology
31st October 2017. Vol.95. No 20
© 2005 – ongoing JATIT & LLS
ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195
5582
recovering more packets within the same round
with lower time complexity, linear complexity,
compared to other existing NC techniques, e.g.;
FENC, as illustrated in results section.
Packets Conflict occurs when a packet
cannot be combined with another packet, because
there will be two or more missed packets in the
transmitted encoded stream; therefore, it becomes
impossible to extract any one of them at their
corresponding destination nodes. This technique is
explained in details with a case study in Section 4.
The rest of this paper is organized as
follows: Section 3 presents related work. Section 4
explains our proposed technique with a
comprehensive case study. Section 5 shows
simulation results. Complexity analysis of our
proposed CMO-NCE approach is discussed in
section 6. Finally, conclusions and future work are
presented in Section 7.
3. RELATED WORK
Researches introduced Network Coding
(NC) technique in 2000 [28], which demonstrates
that allowing routers to combine received packets
improves network capacity [29-31], especially in
multi-hop network where the broadcast nature of
wireless transmission is utilized [42]. Also, NC is
used in multimedia networks, in order to achieve
better real-time streaming [32-33]. Moreover, the
possible opportunities of employing NC in wireless
networks are studied in [37, 39-41]. Network
coding is used in wireless sensor networks to
enhance coverage, increase throughput, and reduce
number of transmissions [43-44], especially sensor
nodes have limited resources such as energy.
The first approach of NC for wireless
mesh networks is introduced in 2006 [31], called
COPE, in which networks throughput is drastically
enhanced. This approach attempts to increase
coding opportunities in wireless medium by
allowing nodes overhearing, such that each node
listens to its neighbors and buffers the overheard
packets, these packets are used for encoding
process of any transmitted packets [35]. In order to
perform this process efficiently, destination node
must buffer packets to extract the node’s target
packet using logical XOR function. In COPE
approach, a central node must find a set of packets
to be encoded together, however, this process is
somehow complex and may lead to packets
deadlock. As a result, nodes are required to transmit
all packets separately such that NC technique is not
employed, and consequently network throughput is
degraded.
Since the proposed system in this paper is
based on COPE, we will discuss COPE in more
details. Authors in [38] presented a theoretical
formulation to evaluate throughput when applying
COPE, they also modified COPE to be aware about
network coding opportunities. In COPE technique,
there are two main parts (two queues) in order to
allow storing packets [31]: The first part is used to
encode large packets of a size greater than 100
bytes. Second part is used to encode packets of a
size less than 100 bytes. Figure 2 in the Appendix
shows the pseudo-code for COPE technique [31].
In COPE method, the aim of dividing
packets into small and large packets is to avoid
losing throughput gain, especially when it happens
that small packets are encoded with large ones.
Thereby, COPE approach individually employs
network coding for each packet size packets, e.g.;
small packets are only encoded with the small ones.
Let’s discuss another COPE-wise
approach for network coding, called Optimal
Network Coding (OpNC) [34-35], which is another
COPE based approach and operates the same way
as COPE. Initially, OpNC approach finds all
possible packets combinations for the purpose of
network coding, and then it selects the best possible
packets combination. It is pretty much possible that
OpNC method selects the encoded packets’
combination which has the highest possibility of
successful decoding at their corresponding
destinations. However, the process of finding the
best coded combination is performed in an
exhaustive manner, especially for higher numbers
of nodes and packets.
Authors in [36] introduced a newer COPE-
wise approach and analyzed its complexity, called
“Fast and Efficient Opportunistic Network Coding”
(FENC) for wireless mesh networks, they claim its
ability to find the encoded packets with lower
complexity. The proposed approach is based on
“divide and conquer” method, in order to find the
optimal network coding packets. FENC approach
divides N packets to n sets, such that each set
includes m packets, where these sets are considered
as the primary sets. Then, FENC method employs
OpNC method, in order to find the best
combination of packets to be encoded for each set.
Then, every two primary sets are grouped as one
cluster. For every cluster, combine the resultant
packets for combination in pervious step with
selected packets from another set within the same
cluster as a new set. Repeat the previous step for
new sets that are formed from clustering, until the
last set is reached. That is, this last set is really the
final combination of packets that can be encoded
Journal of Theoretical and Applied Information Technology
31st October 2017. Vol.95. No 20
© 2005 – ongoing JATIT & LLS
ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195
5583
together. Authors discussed that the selected
packets combination is optimal when their
destination is close to the same packets set. It is
worth mentioning that FENC approach time’s
complexity is not linear, O(
p
P
2
2
log
), where p is
number of packets, which is lower than OpNC
method time complexity.
Briefly, we can notice that the
aforementioned studied approaches for network
coding still have complex coding procedures. It
becomes more complicated when one packet is
transmitted to multiple nodes, or when one node is
requesting to receive more than one packet. In
addition, these approaches do not use any type of
prediction when selecting the optimal encoded
packets’ stream.
4. THE PROPOSED APPROACH
A new network coding approach is
proposed based on a notion of “Conflict based
Matrix Optimization for Network Coding
Enhancement” (CMO-NCE). It is a novel approach
that is different from the COPE-wise approaches
for network coding, because it is able to choose
packets for encoding with lower complexity and
higher optimality.
Selecting some packets for encoded stream
and for omitting other packets are empowered by
the notion of “packets confliction”, therefore,
packets search space domain is reduced, which in
turn reduces the complexity of packets search time.
On the other hand, identifying packets conflicts
allows some type of prediction methods to select
some packets as part of the optimal solution at
earlier stages of operation, and combine more
packets in one single transmission.
In the proposed technique, a binary matrix
is used to indicate which packets have been
buffered at any node, and which packets are
required at destination nodes, this matrix can be
obtained by opportunistic listening or reception
reports. Once the binary matrix is obtained, these
rules are applied during CMO-NCE approach
operation:
Rule 1: When a packet is selected as part of
the encoded packets, all destination nodes of
this packet will be omitted during any future
search for the remaining packets, in other
words, omit all matrix rows that contain zero in
this column (since only one packet can be
encoded for each node).
Rule 2: At the same time, all missed packets at
the destination nodes of the packet selected in
step 1, are omitted from next searches, e.g.;
omit all matrix columns that contain zeros for
each zero in the selected column (since only
one packet can be encoded for each node).
Table 1: An Example of Proposed CMO-NCE
Technique.
(a) Original Matrix
(b) Reduced Matrix
In order to explain aforementioned
technique rules, consider a wireless network that
contains 6 nodes and 6 packets, such that Table
(1.a) shows their conflict binary matrix. Assume
packet P0 is selected as the head of encoded
packets’ stream, thus this packet will be transmitted
to nodes N1, N3 and N5. Therefore, based on rule
1, rows 1, 3 and 5 are omitted from the original
matrix (that means no more packets can be sent to
these nodes). In addition, all missed packets
(columns) indicated by ‘0’ in Table (1.a) for nodes
(N1, N3 and N5) are omitted, that is no more than
one packet can be decoded at these nodes at the
same time, based on rule 2. In other words, packets
P5, P4, and P3 at nodes N1, N3, and N5,
respectively, cannot be transmitted together with
packet P0 (rule 2). The highlighted rows and
columns are omitted, and results in a new matrix as
shown in Table (1.b).
Packet conflict occurs when packet cannot
be sent with another packet, because no more than
one missed packets in the encoded stream can be
recovered at a given node. This concept is used in
this work, in order to enhance the search process
for the optimal coded packet stream selection. In
the previous example, it is clear that packet P0 have
a conflict of 3, which means there are three packets
which cannot be encoded with packet P0 (only one
packet will be encoded per node). A conflict of 3
P0 P1 P2 P3 P4 P5
N0 1 0 1 0 1 1
N1 0 1 1 1 1 0
N2 1 0 0 1 0 1
N3 0 1 1 1 0 1
N4 1 1 1 1 1 0
N5 0 1 1 0 1 1
P1 P2
N0 0 1
N2 0 0
N4 1 1
Journal of Theoretical and Applied Information Technology
31st October 2017. Vol.95. No 20
© 2005 – ongoing JATIT & LLS
ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195
5584
for packet P0 means nodes N1, N3 and N5 which
miss packet P0, still have other missed packets as
follows: P5 at N1, P4 at N3, and P3 at N5.
This bi-directional search for the solution
rapidly decreases the size of the conflict binary
matrix, hence speeding up the search process for all
packets. It can be considered as having future
knowledge about the current search of available
packets and targeted nodes. Consequently, this
approach results in a smaller search space when
using the conflict binary matrix that allows
extracting results faster. In addition, when
transmitting encoded packets’ stream, the conflict
concept is used to decide which packets should be
chosen first and which packets should be postponed
for next transmission rounds, therefore, a near
optimal coded packets is selected at each round.
Simulation results show that the proposed
technique increases throughput as compared to
earlier network coding approaches, such as COPE.
4.1 Proposed Approach Description
This subsection presents steps of CMO-
NCE approach and a detailed case study, in order to
illustrate how this approach operates. The steps
performed by CMO-NCE approach for network
coding search process are as follows:
1. The intermediate node that is trying to transmit
packets to its neighbor nodes has a binary
matrix, that indicates packets existence at each
node based on information obtained using
opportunistic listening or reception reports
exchanged with neighbors.
2. The algorithm starts by selecting the first
packet in the encoding queue.
3. The destination nodes (binary matrix rows) are
omitted from the search criteria for the next
stages.
4. The missed packets (binary matrix columns) at
nodes selected in step 3 are also omitted; due to
the fact that only one packet can be encoded at
each node and retrieved by its destination.
5. As a result, steps 3 and 4 reduce the size of the
conflict binary matrix; because of that
encoding packets’ complexity is reduced.
The proposed notion of conflict for
packets selection is used to accomplish near
optimal encoding; where selected packet in step 2
should be the packet with the lowest conflict value.
The conflict value of packet is calculated based on
how many packets in node’s array cannot be
selected together with this packet. Choosing a
packet with the lowest number of conflicts in the
matrix allows receiving destination nodes to
recover most possible packets. Notice that if two
packets have the same conflict factor, CMO-NCE
chooses the first one for encoding.
4.2 Proposed approach: A comprehensive
Example scenario
To discuss the proposed approach, CMO-
NCE, a wireless network case study is presented in
this subsection, such that encoding rounds are
presented in details until the encoding stream is
formed. Table 2 shows a binary matrix that
represents packets availability for the network, it
consists 6 nodes (N0, N1, …, N5) and 6 packets
(P0, P1, …, P5). As previously explained, ‘0’
means the corresponding packet is missed, while
‘1’ means the packet is buffered at its
corresponding node. The conflict factor notion is
employed in this example, in order to show the
complexity and the optimality of the proposed
approach.
Table 2: Initial Matrix (conflicts value are computed).
Round 1 steps for encoding process
Computing conflict factor for a packet
depends on nodes that miss this packet and the
missed packets at these nodes themselves. For
example, P4 is missed at nodes N2 and N3. While
node N2 missed packets are (P1, P2, P4), and node
N3 missed packets are (P0, P4). As a result, packet
P4 has a total conflict of three packets: (P1, P2) at
N2 and (P0) at N3. Another example, packet P5 is
missed on nodes N1 and N4. Node N1 misses
packets (P0, P5), and node N4 misses only P5.
Therefore, for packet P5, there is only one conflict
on node N1 which between packets P0 and P5.
The CMO-NCE approach steps of round
1for the above conflict matrix, in order to choose
encoded packets stream are as follows:
Step 1:
Select packet P5 as the first packet for
encoding, because it has the lowest conflict value
(which is equal to 1), see Table 3.
P0 P1 P2 P3 P4 P5
N0 1 0 1 0 1 1
N1 0 1 1 1 1 0
N2 1 0 0 1 0 1
N3 0 1 1 1 0 1
N4 1 1 1 1 1 0
N5 0 1 1 0 1 1
Conflict 3 3 2 2 3 1
Journal of Theoretical and Applied Information Technology
31st October 2017. Vol.95. No 20
© 2005 – ongoing JATIT & LLS
ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195
5585
Table 3: Select P5 (which has the lower conflict value)
Rows of nodes N1 and N4 are omitted
from the matrix, because packet P5 will be
transmitted to these nodes, rule 1. In addition, for
these nodes all missed packets corresponding
columns are also omitted, rule 2, since no more
packets can be encoded on these nodes, e.g.; P0 is
missed at node N1, consequently, P0 column is
omitted. Table 4 shows the new matrix where the
conflict values are re-calculated, in order to find the
next best packet that should be selected in the next
step.
Table 4: Resulted Matrix (recomputed conflicts)
P1 P2 P3 P4
N0 0 1 0 1
N2 0 0 1 0
N3 1 1 1 0
N5 1 1 0 1
Conflict 3 2 1 2
Step 2:
Packet P3 has the lowest conflict value as
shown in Table 4, and therefore, it is appended to
coded packets stream which becomes packets (P5
and P3).
Nodes N0 and N5 rows will be omitted,
because P3 will be sent to these nodes. In addition,
all missed packets for these nodes can also be
omitted, because no more packets can be encoded
to these nodes, e.g.; packet P1 at node N0. Next, the
conflict values are re-calculated, as shown in Table
5, to find the best packet to be selected in the next
step.
Step 3:
In Table 5, note that packets P2 and P4
have the same conflict values, packet P2 is selected
because it is the first one in the queue, thereby the
encoded packets stream becomes (P5, P3, and P2).
Table 5: Selecting P2 (P2 is the prior packet in the queue
with respect to P4).
P2 P4
N2 0 0
N3 1 0
Conflict 1 1
In Table 5, node N2 row is omitted,
because P2 will be transmitted to this node. Also,
all missed packets for this node can also be omitted,
since no more packets can be encoded to this node,
such as packet P4 for node N2. Clearly, node N2
cannot recover P2 and P4 at the same time.
Therefore, at the first round, packets
encoded stream is (P5P3P2), and it is
transmitted to nodes (N0, N1, N2, N4, and N5),
where these nodes can recover the corresponding
packets successfully during this first round.
Round 2 steps for encoding process
After transmitting encoded packets
(P5P3P2) in round 1, the corresponding
packets at network nodes are recovered
successfully. The conflict based matrix and its
conflict factors are re-calculated as shown in Table
6, notice that packets P2, P3, and P5 are recovered
at all nodes, and therefore, they are excluded from
future packets encoded streams, so the new matrix
is shown in Table 7.
Table 6: New Matrix for Second Round (conflicts value
are recomputed).
P0 P1 P2 P3 P4 P5
N0 1 0 1 1 1 1
N1 0 1 1 1 1 1
N2 1 0 1 1 0 1
N3 0 1 1 1 0 1
N4 1 1 1 1 1 1
N5 0 1 1 1 1 1
Conflict 1 1 0 0 2 0
Step 1:
As shown in Table 7, either packet P0 or
P1 can be chosen for coding, because both have the
same lowest conflict value. Let’s assume packet P0
is selected as the first packet in the encoded stream,
and therefore, packet P0 corresponding column and
nodes N1 and N2 corresponding rows are omitted.
P0 P1 P2 P3 P4 P5
N0 1 0 1 0 1 1
N1 0 1 1 1 1 0
N2 1 0 0 1 0 1
N3 0 1 1 1 0 1
N4 1 1 1 1 1 0
N5 0 1 1 0 1 1
Conflict 3 3 2 2 3 1
Journal of Theoretical and Applied Information Technology
31st October 2017. Vol.95. No 20
© 2005 – ongoing JATIT & LLS
ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195
5586
Table 7: Select P0 (which has the lowest conflict value).
P0 P1 P4
N0 1 0 1
N1 0 1 1
N2 1 0 0
N3 0 1 0
N4 1 1 1
N5 0 1 1
Conflict 1 1 2
Step 2:
After packet P0 has been chosen, the new
conflict matrix is shown in Table 8. Now, actually
one last column remained of packet P1, so that it is
added to the encoded packets stream.
Table 8: Re-computed Matrix (after choosing packet P0
in step 1).
P1
N0 0
N2 0
N4 1
Conflict 0
Step 3:
Transmit encoded packet (P0P1) to
nodes N0, N1, N2, N3, and N5. Notice that neither
Packet P0 nor P1 is missed at node N4.
Round 3 steps for encoding process
Table 7 is updated after recovering packets
P0 and P1 when encoding stream is decoded at
nodes N0, N1, N2, N3, and N5, as shown in Table
9. Now, only packet P4 is still missing at nodes N2
and N3, as illustrated in Table 9. A neighbor node
that has this packet can transmit this single packet
to nodes N2 and N3, where NC technique is
actually not required at this round.
Table 9: New Matrix for Third Round (conflicts
value are re-computed).
P0 P1 P4
N0 1 1 1
N1 1 1 1
N2 1 1 0
N3 1 1 0
N4 1 1 1
N5 1 1 1
Conflict 0 0 0
5. SIMULATION RESULTS
In order to compare the proposed CMO-
NCE approach with other three well-known
approaches in literature (COPE, OpNC, and FENC)
that discussed in the related work section. We
assume there is a central access point surrounded by
a group of one-hop nodes. This central point has
information about buffered packets in each
neighbor node collected using channel’s
overhearing. The considered performance metrics:
number of recovered packets at each round, and
encoding process time complexity.
In simulation, different scenarios of
packets distribution are generated with different
number of nodes and packets, e.g.; Table 10
(illustrated in the Appendix) shows a binary matrix
distribution for a random scenario with 25 nodes
randomly distributed, number exchanged packets is
25, and a miss rate of 7%.
Results for this test scenario are shown in
Table 11, in which the four approaches are
compared with respect to average number of
recovered packets during the first round of CMO-
NCE approach, where packets miss rate is varied as
7%, 12.5%, 17.5% and 21.5%.
These results are evaluated for ten
randomly generated scenarios (in other words, ten
different binary matrices as matrix format shown in
Table 2). Clearly, the proposed method achieves the
highest average number of recovered packets for all
different miss rates, while COPE approach has the
worst performance.
Table 11: Average number of recovered packets for the
first round of encoding with respect to different miss
rates (7%, 12.5%, 17.5% and 21.5%) for four different
network coding approaches.
7% 12.5% 17.5% 21.5%
COPE 9.1 6.1 4.2 3.2
OpNC 10.4 8 5.7 4.5
FENC 9.4 6.4 4.7 3.4
CMO-
NCE 10.9 8.6 6.1 4.8
Journal of Theoretical and Applied Information Technology
31st October 2017. Vol.95. No 20
© 2005 – ongoing JATIT & LLS
ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195
5587
Table 12: Comparison of all tested protocols for different parameters with respect to number of recovered packets at
each round (“UR” stands for Unreachable Results within12 hours), where number of wireless nodes is fixed to 20.
Number
of
Packets
Miss
rate
(%)
Round
1
Round
2
Round
3
Round
4
Round
5
20 20
COPE 3 3 3 4 2
FENC 3 3 3 4 2
CMO-
NCE 5 3 3 2 2
OpNC 5 3 3 3 2
20 40
COPE 1 2 2 1 1
FENC 2 2 2 1 1
CMO-
NCE 2 2 2 1 1
OpNC 2 2 2 1 1
40 20
COPE 7 3 3 3 3
FENC 6 4 3 3 3
CMO-
NCE 7 3 4 3 3
OpNC UR UR UR UR UR
40 40
COPE 2 1 1 1 2
FENC 2 2 1 2 1
CMO-
NCE 2 2 2 2 2
OpNC UR UR UR UR UR
60 20
COPE 7 4 5 4 4
FENC 6 4 4 5 4
CMO-
NCE 9 6 4 4 3
OpNC UR UR UR UR UR
60 40
COPE 3 3 1 1 1
FENC 2 2 1 1 1
CMO-
NCE 3 2 3 2 2
OpNC UR UR UR UR UR
80 20
COPE 7 7 4 4 6
FENC 6 6 5 4 4
CMO-
NCE 9 8 4 5 3
OpNC UR UR UR UR UR
80 40
COPE 1 2 1 1 2
FENC 2 2 2 3 2
CMO-
NCE 3 3 3 2 2
OpNC UR UR UR UR UR
Journal of Theoretical and Applied Information Technology
31st October 2017. Vol.95. No 20
© 2005 – ongoing JATIT & LLS
ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195
5588
Table 13: A comparison between COPE and CMO-NCE Approaches with respect to number of recovered packets at
each round (with higher number of exchanged packets and nodes compared to Table 12 results).
Table 12 shows comparison results of the
proposed technique, CMO-NCE, with COPE,
FENC, and OpNC NC techniques for five
consecutive encoding rounds during the network
operation. In this simulation, number of nodes is
fixed to 20, while number of exchanged packets
and miss rate are varied. Interestingly, results show
that the proposed CMO-NCE approach outperforms
other existing approaches, because it recovers more
packets during encoding rounds. Notice that CMO-
NCE results are very close to OpNC approach (the
optimal approach), however, OpNC coding and
decoding processes require much longer time than
CMO-NCE (explained later in this section) which
makes CMO-NCE outperforms those three
approaches in terms of recovery efficiency and time
complexity.
Results show a huge amount of time is
required to run OpNC algorithm that is actually
used in FENC approach, as mentioned in Section 3.
Consequently, in our simulation scenarios we
reduce number of packets, and/or number of nodes,
and/or increase miss rate in order to reduce
processing time which is needed to reach a result.
Unreachable results within 12 hours of processing
are denoted by (UR) (actually this time is not
reasonable for any type of networks) using Intel
core i5 processor at 2.4 GHz, cache memory of 6
MB and RAM of 4 GB, compared to wireless nodes
which have limited resources such as processing
capabilities and memory size. Therefore, we
assume there is a central unit, in which these
calculations are conducted. OpNC approach
requires a long time in order to reach results,
because it enumerates all possible combination of
packets, which checked against each node for
validity testing. Therefore, number of possible
combinations is exponential and is equal to O(2P),
where P is number of packets.
Table 13 shows a comparison between
CMO-NCE and COPE approaches, this time higher
number of nodes and packets are simulated with
five consecutive rounds with miss rates of 5% and
15 %. The valuable insights of these results are:
(1) - During early encoding rounds, interestingly
CMO-NCE approach produces higher number of
recovered packets and in a descending order, which
indicates its coding efficiency. (2) - CMO-NCE
approach total number of recovered packets in five
rounds is greater than COPE, e.g.; when number of
nodes, packets, and miss rate are 25, 200, and 15%,
respectively, the average total number of recovered
packets for CMO-NCE is 51, while COPE
recovered only 38 packets. That is why our
proposed approach is really considered as a novel
method.
Novelty Discussion:
Based on simulation results, the proposed
technique is a novel method with respect to
compared techniques, due to many reasons as
follows:
1. The proposed CMO-NCE technique uses
two concepts to enhance network coding:
binary matrix optimization and conflict
factor notion.
2. Matrix optimization arranges the relation
between missed packets and nodes, which
Nodes Packets
Miss
rate
(%)
Round
1
Round
2
Round
3
Round
4
Round
5
Total number
of recovered
packets (in
five rounds)
25 100 5% COPE 16 17 8 9 8 58
CMO-NCE 22 17 11 8 6 64
25 200 15% COPE 9 9 5 9 6 38
CMO-NCE 15 12 9 8 7 51
50 100 5% COPE 18 15 11 9 9 62
CMO-NCE 23 14 11 8 7 63
50 200 15% COPE 6 5 5 5 5 26
CMO-NCE 9 7 6 6 5 33
Journal of Theoretical and Applied Information Technology
31st October 2017. Vol.95. No 20
© 2005 – ongoing JATIT & LLS
ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195
5589
allows decreasing matrix size rapidly,
during encoding process operation, when a
packet is selected to be in the encoding
stream, corresponding rows and columns
are omitted.
3. At each round in CMO-NCE approach,
conflict factor is used in optimization
process to select the best packets (with
lowest conflict value) to be included in
encoded stream.
4. Simulation results show that sometimes
CMO-NCE approach performance is close
to a well known approach as OpNC;
however, CMO-NCE time complexity is
linear while OpNC is exponential.
5. Also, CMO-NCE performance is close to
FENC approach, however, CMO-NCE
approach time complexity is less, because
it is linear, O(N), where N is number of
wireless nodes, as explained in section 6.
While, FENC approach time complexity is
not linear, O (
p
P
2
2
log
), where p is number
of packets.
6. COMPLEXITY ANALYSIS FOR THE
PROPOSED APPROACH
The complexity of any network coding
approach mainly depends on how many
combinations are required to reach the final optimal
solution for encoding. The complexity for OpNC
method is O (2P), where P is the number of packets.
In FENC, the complexity is calculated by
multiplying number of sets by complexity of OpNC
method upon each set to obtain a complexity of
O(P2/log2P). Notice that the complexity is not linear
for these two network coding techniques.
In order to evaluate the complexity of our
proposed CMO-NCE approach, assume M is the
miss rate, N is the number of wireless nodes, and P
is the number of packets (involved in encoding
process operation):
Number of selected nodes, say X, from the
binary matrix is given by equation (1).
X = MN (1)
Number of selected packets after selecting
nodes, Y, as in equation (2); where K is a
constant that indicates the ratio of packets to be
excluded from the coding round.
Y = k (MN) (MP) (2)
The remaining number of packets after
selecting the first packet, Pnew, is given by
equation (3).
Pnew = P – K (MN) (MP) = P (1 – K M2 N) (3)
The remaining percentage of packets is given
by equation (4).
Pnew/P = 1 – K M2 N (4)
The percentage of total number of packets that
is deleted at any round is given by equation (5).
N
i1
P (1 – K M2 i) ≤ P (5)
Finally, as in equation (5), the algorithm
ends when the summation of deleted packets
reached the total number of packets. Thereby, the
time complexity of CMO-NCE technique is linear,
which is a function of number of wireless nodes,
O(N), and it is the lowest time complexity for all
tested approaches, e.g.; COPE, in simulation
section.
7. CONCLUSIONS AND FUTURE WORK
Employing network coding technique in
wireless networks reduces the total number of
required transmissions, in order to disseminate
packets through the network. Therefore, throughput
is maximized, bandwidth utilization is enhanced,
and nodes resources such as power and memory are
efficiently utilized. In this paper, we propose a new
network coding approach that is based on a notion
of Conflict based Matrix Optimization for Network
Coding Enhancement (CMO-NCE). It is a novel
approach that is different from the COPE-wise
approaches for network coding, CMO-NCE
approach chooses packets for encoding with lower
complexity and higher optimality. This approach
simply employs the conflict notion between
packets, such that it rapidly reduces the search
space for next new packet to be included in
encoded packets stream, and also it recovers more
packets within same round compared to other
existing network coding techniques, as illustrated in
results section. The proposed technique is
applicable and scalable, where it can be
implemented with large number of nodes operating
packets exchange.
Simulation results illustrate that the
proposed CMO-NCE technique recovers the
Journal of Theoretical and Applied Information Technology
31st October 2017. Vol.95. No 20
© 2005 – ongoing JATIT & LLS
ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195
5590
highest number of packets in almost all tested
scenarios. Recovering packets results of CMO-
NCE and FENC approaches are close and their time
complexities are O(N) and O(P2/log2P),
respectively, where N is number nodes and p is
number of packets. Clearly our proposed approach
time’s complexity is less, because it follows a linear
function.
As a future work, we plan to apply the
proposed algorithm on different wireless network
types, and also to develop a mechanism of choosing
the best packet from packets when they have equal
conflict factors during the encoding process, such
that the encoding mechanism is improved.
REFERENCES:
[1] Ostovari, Pouya, Jie Wu, Abdallah Khreishah,
and Ness B. Shroff. "Scalable video streaming
with helper nodes using random linear network
coding." IEEE/ACM Transactions on
Networking, Vol. 24, No. 3, 2016, pp. 1574-
1587.
[2] Khalid A. Darabkh, Abeer M. Awad, and Ala’
F. Khalifeh, “Efficient PFD-Based Networking
and Buffering Models for Improving Video
Quality over Congested Links,” Wirele ss
Personal Communications, Vol. 79, No. 1,
2014, pp. 293-320.
[3] Mohammad Shurman, Noor Awad, Mamoun F.
Al-Mistarihi, and Khalid A. Darabkh, “LEACH
Enhancements for Wireless Sensor Networks
Based on Energy Model,” Proceedings of the
2014 IEEE International Multi-Conference on
Systems, Signals & Devices, Conference on
Communication & Signal Processing,
Castelldefels-Barcelona, Spain, 2014, pp. 1-4.
[4] Khalid A. Darabkh, Wala’a S. Al-Rawashdeh,
Raed T. Al-Zubi, and Sharhabeel H. Alnabelsi,
“C-DTB-CHR: Centralized Density- and
Threshold-based Cluster Head Replacement
Protocols for Wireless Sensor Networks,” The
Journal of Supercomputing,
DOI:10.1007/s11227-017-2089-4, June 2017.
[5] Khalid A. Darabkh, Wijdan Y. Albtoush, and
Iyad F. Jafar, “Improved Clustering Algorithms
for Target Tracking in Wireless Sensor
Networks,” Journal of Supercomputing, Vol.
73, No. 5, May 2017, pp. 1952-1977.
[6] Park, Joon-Sang, Mario Gerla, Desmond S.
Lun, Yunjung Yi, and Muriel Medard.
"Codecast: a network-coding-based ad hoc
multicast protocol." IEEE Wireless
Communications, Vol. 13, No. 5, 2006.
[7] Almasaeid, Hisham M., and Ahmed E. Kamal.
"Assisted-multicast scheduling in wireless
cognitive mesh networks." IEEE International
Conference on Communications (ICC), 2010,
pp. 1-5.
[8] Goseling, Jasper, Michael Gastpar, and Jos H.
Weber. "Random access with physical-layer
network coding." IEEE Transactions on
Information Theory, Vol. 61, No. 7, 2015, pp.
3670-3681.
[9] Laneman, J. Nicholas, and Gregory W. Wornell
"Distributed space-time-coded protocols for
exploiting cooperative diversity in wireless
networks." IEEE Transactions on Information
theory, Vol. 49, No. 10, 2003, pp. 2415-2425.
[10] Xu, Changqiao, Zhuofeng Li, Lujie Zhong,
Hongke Zhang, and Gabriel-Miro Muntean.
"CMT-NC: improving the concurrent multipath
transfer performance using network coding in
wireless networks." IEEE Transactions on
Vehicular Technology, Vol. 65, No. 3, 2016, pp.
1735-1751.
[11] Alnabelsi, Sharhabeel H., Ahmed E. Kamal,
and Tasneem H. Jawadwala. "Uplink channel
assignment in cognitive radio WMNs using
physical layer network coding," IEEE
International Conference on Communications
(ICC), 2011, pp. 1-5.
[12] Wu, Yunnan, Philip A. Chou, and Sun-Yuan
Kung. "Minimum-energy multicast in mobile
ad hoc networks using network coding." IEEE
Transactions on communications, Vol. 53, No.
11, 2005, pp. 1906-1918.
[13] K. A. Darabkh, B. Abu-Jaradeh, and I. Jafar,
“Incorporating Automatic Repeat Request and
Thresholds with Variable Complexity
Decoding Algorithms over Wireless Networks:
Queuing Analysis,” IET Communications, Vol.
5, No. 10, 2011, pp. 1377-1393.
[14] Katti, Sachin, Shyamnath Gollakota, and Dina
Katabi. "Embracing wireless interference:
Analog network coding." ACM SIGCOMM
Computer Communication Review, Vol. 37,
No. 4, 2007, pp. 397-408.
Journal of Theoretical and Applied Information Technology
31st October 2017. Vol.95. No 20
© 2005 – ongoing JATIT & LLS
ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195
5591
[15] Jiang, Dingde, Zhengzheng Xu, Wenpan Li,
and Zhenhua Chen. "Network coding-based
energy-efficient multicast routing algorithm for
multi-hop wireless networks." Journal of
Systems and Software, Vol. 104, 2015, pp. 152-
165.
[16] K. A. Darabkh, I. Jafar, G. Al Sukkar, G.
Abandah, and R. Al-Zubi, “An Improved
Queuing Model for Packet Retransmission
Policy and Variable Latency Decoders,” IET
Communications, Vol. 6, No. 18, 2012, pp.
3315-3328.
[17] Khalid A. Darabkh, “Fast and Upper Bounded
Fano Decoding Algorithm: Queuing Analysis,”
Transactions on Emerging Telecommunications
Technologies, Vol. 28, No. 1, 2017, pp. 1-12.
[18] Jamil, Farhan, Anam Javaid, Tariq Umer, and
Mubashir Husain Rehmani. "A comprehensive
survey of network coding in vehicular ad-hoc
networks." Wireless Networks, 2016, pp. 1-20.
[19] Fragouli. J. Widmer and J.Y. LeBoudec,
“Network coding: an instant primer,” in Proc.
of ACM SIGCOMM CCR, January 2006.
[20] S. Deb, M. Effros, T. Ho, D.R. Karger, R.
Koetter, D.S. Lun, M. Medard and N.
Ratnakar, “Network coding for wireless
applications: A brief tutorial,” In Proc. of
IWWAN, London, May 2005.
[21] P. A. Chou and Y. Wu, “Network coding for
the Internet and wireless networks” IEEE
Signal Magazine, September 2007.
[22] Z. Li and B. Li, “Network coding: The case
for multiple unicast sessions,” In Proc. of
Allerton Conference, Illinois, September 2004.
[23] The network coding webpage,
http://www.networkcoding.info.
[24] P. A. Chou, Y. Wu and K. Jain, “Practical
network coding,” In Proc. of 41st Annual
Allerton Conference on Communication,
Control, and Computing, Monticello, October
2003.
[25] A. M. Zareh, V. Azhari and N. Yazdani,A
high speed Logarithmic Scheduling Algorithm
for Input-Queued Switches,” Journal of
Computer Communication in Elsevier, Vol. 13,
No. 1, January 2008.
[26] Y. Wu, P.A. Chou and S. Y. Kung, “Information
exchange in wireless network coding and
physical layer broadcast,” In Proc. of IEEE
CISS, Baltimore, March 2005.
[27] T. Ho and R. Koetter, “Online incremental
network coding for multiple unicasts,” In
DIMACS WG on Network Coding, Piscataway,
January 2005.
[28] R. Ahlswede, N .Cai, S.R. Li and R.W. Yeung,
“Network information flow,IEEE Transaction
on Information Theory, Vol. 46, No. 4, July
2000.
[29] S.-Y. R. Li, R. W. Yeung and N. Cai,Linear
network coding,” IEEE Transaction on
Information Theory, Vol. 49, No. 2, February
2003.
[30] A. Ramamoorthy, J. Shi and R. Wesel, “On the
capacity of network coding for wireless
networks,” IEEE Transaction on Information
Theory, Vol. 51, No. 8, August 2005.
[31] S. Katti, H. Rahul, W. Hu, D. Katabi, M.
Medard and J. Crowcroft,XORs in the Air:
Practical Wireless Network Coding,”
IEEE/ACM Transaction on Networking, Vol.
16, No. 3, June 2008.
[32] M. Batati, M. Mowafi, F. Awad,
“Opportunistic network coding for real time
transmission over wireless networks,” Journal
of Network Protocols and Algorithms, Vol. 5,
No. 1, January 2013.
[33] H. Seferoglu and A. Markopoulou, “Video-
Aware Opportunistic Network Coding over
Wireless Networks,” IEEE Journal on Selected
Areas in Communications, Vol. 27, No. 5, June
2009.
[34] S. Katti, D. Katabi, W. Hu, H. Rahul and M.
Medard, “The Importance of Being
Opportunistic: Practical Network Coding For
Wireless Environments,” in Proc. of 43rd
Allerton Conference on Communication,
Control, and Computing, Monticello,
September 2005.
[35] H. Yomo and P. Popovski, “Opportunistic
Scheduling for Wireless Network Coding,”
IEEE Transactions on Wireless
Communications, Vol. 8, No. 6, June 2009.
[36] P. Pahlavani, V. Derhami and A. Bidoki,
“FENC: Fast and efficient opportunistic
network coding in wireless networks,” KSII
Transactions on Internet and Information
Journal of Theoretical and Applied Information Technology
31st October 2017. Vol.95. No 20
© 2005 – ongoing JATIT & LLS
ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195
5592
Systems, Vol. 5, No. 1, January 2011.
[37] B. Scheuermann, W. Hu and J. Crowcroft,
“Near-optimal co-ordinated coding in wireless
multihop networks,” In Proc. of the ACM
CoNEXT conference, New York, December
2007.
[38] Sudipta Sengupta, Shravan Rayanchu, and
Suman Banerjee, “Network Coding-Aware
Routing in Wireless Networks,” IEEE/ACM
Transaction on Networking, Vol. 18, No. 4,
August 2010.
[39] R. Dougherty, C. Freiling, and K. Zeger,
“Insufficiency of linear coding in network
information flow,” IEEE Trans. Inf. Theory,
Vol. 51, No. 8, August 2005.
[40] R. Koetter and M. Medard, “An algebraic
approach to network coding,” IEEE/ACM
Transaction on Networking, Vol. 11, No. 5,
October 2003.
[41] M. Medard, M. Effros, T. Ho, and D. Karger,
“On coding for non multicast networks,”
Proceeding 41st Annual Allerton Conference
on Communication, Control, and Computing,
Monticello, October 2003.
[42] Pahlevani, Peyman, Hana Khamfroush, Daniel
E. Lucani, Morten V. Pedersen, and Frank HP
Fitzek. "Network coding for hop-by-hop
communication enhancement in multi-hop
networks", Computer Networks, 2016, pp.138-
149.
[43] Tang, Zhenzhou, Hongyu Wang, Qian Hu, and
Long Hai. "How network coding benefits
converge-cast in wireless sensor networks",
In IEEE Vehicular Technology Conference
(VTC Fall), 2012, pp. 1-5.
[44] Tang, Zhenzhou, Hongyu Wang, Qian Hu, and
Xiukai Ruan. “Linear network coding in
convergecast of wireless sensor networks:
friend or foe?”, KSII Transactions on Internet
and Information Systems (TIIS), 2014, pp.
3056-3074.
Journal of Theoretical and Applied Information Technology
31st October 2017. Vol.95. No 20
© 2005 – ongoing JATIT & LLS
ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195
5593
APPENDIX
Figure 2: COPE Network Coding Procedure [31].
Pick packet p at the head of the output queue
Natives = {p}
Nexthops = {nexthop (p)}
If size (p)>100 bytes then
which_queue = 1
Else
which_queue = 0
End if
For neighbor i=1 to M do
Pick Packet pi, the head of virtual queue Q
(I, which_queue)
If
n є Nexthops {i}, Pr [n can
decode p
pi] G then
p=p
pi
Natives = Natives {pi}
Nexthops = Nexthops {i}
End if
End for
which_queue =! which_queue
For neighbor i=1 to M do
Pick Packet pi, the head of virtual
queue Q (I, which_queue)
If
n є Nexthops {i}, Pr [n can
decode p
pi] G then
p=p
pi
Natives = Natives {pi}
Nexthops = Nexthops {i}
End if
End for
return p
Journal of Theoretical and Applied Information Technology
31st October 2017. Vol.95. No 20
© 2005 – ongoing JATIT & LLS
ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195
5594
Table 10: A Random Scenario Consists 25 Nodes which Exchanging 25 Packets, where Miss Rate is 7%.
Node
ID
Test # 1 # of Nodes = 25 # of Packets = 25 Miss Rate = 7%
Packet ID
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0
2 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
3 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
5 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
6 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
7 1 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1
8 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
9 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
10 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
11 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
12 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
13 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
14 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
15 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
16 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
17 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1
18 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
19 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
20 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
21 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1
22 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
23 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1
24 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1
Article
Full-text available
Black holes attack in ad-hoc network systems can obstruct network functions, e.g.; successful packets delivery to destinations. Current conventional detection mechanisms are based on single layer information, lack of appropriate performance metrics, and/or the adequate accuracy. In this paper, a new cross layer Intrusion Detection System (IDS) is proposed, in order to mitigate the black hole attack in wireless ad-hoc networks. The proposed work modifies ad-hoc routing protocol for black hole attacks detection through extracting information from different OSI layers, and use these information as inputs into the fuzzy logic system, in which the algorithm precisely detects existing malicious nodes. Using NS2 simulation tool, a comprehensive simulation is conducted in order to compare our proposed approach performance with a recent cross layer-based approach for black hole intrusion detection [20]. Simulation results reveal that our proposed system has a tremendous accuracy in detecting black holes with an acceptable additional overhead.
Article
Full-text available
Advances introduced to electronics and electromagnetics leverage the production of low-cost and small wireless sensors. Wireless sensor networks (WSNs) consist of large amount of sensors equipped with radio frequency capabilities. In WSNs, data routing algorithms can be classified based on the network architecture into flat, direct, and hierarchal algorithms. In hierarchal (clustering) protocols, network is divided into sub-networks in which a node acts as a cluster head, while the rest behave as member nodes. It is worth mentioning that the sensor nodes have limited processing, storage, bandwidth, and energy capabilities. Hence, providing energy-efficient clustering protocol is a substantial research subject for many researchers. Among proposed cluster-based protocols, low-energy adaptive clustering hierarchy (LEACH) and threshold LEACH (T-LEACH), as well as modified threshold-based cluster head replacement (MT-CHR) protocols are of a great interest as of being energy optimized. In this article, we propose two protocols to cluster a WSN through taking advantage of the shortcomings of these protocols (i.e., LEACH, T-LEACH, and MT-CHR), namely centralized density- and threshold-based cluster head replacement (C-DTB-CHR) and C-DTB-CHR with adaptive data distribution (C-DTB-CHR-ADD) protocols that mainly aim at optimizing energy through minimizing the number of re-clustering operations, precluding cluster heads nodes premature death, deactivating some nodes located at dense areas from cluster’s participation, as well as reducing long-distance communications. In particular, in C-DTB-CHR protocol, some nodes belong to dense clusters are put in the sleeping mode based on a certain node active probability, thereby reducing the communications with the cluster heads and consequently prolonging the network lifetime. Moreover, the base station is concerned about setting up the required clusters and accordingly informing sensor nodes along with their corresponding active probability. C-DTB-CHR-ADD protocol provides more energy optimization through adaptive data distribution where direct and multi-hoping communications are possible. Interestingly, our simulation results show impressive improvements over what are closely related in the literature in relation to network lifetime, utilization, and network performance degradation period.
Article
Full-text available
In recent years, there has been a growing interest in wireless sensor networks because of their potential usage in a wide variety of applications such as remote environmental monitoring and target tracking. Target tracking is a typical and substantial application of wireless sensor networks. Generally, target tracking aims basically at estimating the location of the target while it is moving within an area of interest and consequently report it to the base station in a timely manner. However, achieving a high accuracy of tracking together with energy efficiency in target tracking algorithms is extremely challenging. In this article, we propose two algorithms to enhance the adaptive-head clustering algorithm, formerly lunched, namely, the improved adaptive-head and improved prediction-based adaptive head. Particularly, the first algorithm uses dynamic clustering to achieve impressive tracking quality and energy efficiency through optimally choosing the cluster head that participates in the tracking process. On the other hand, the second algorithm incorporates a prediction mechanism to the first proposed algorithm. Our proposed algorithms are simulated using Matlab considering various network conditions. Simulation results show that our proposed algorithms can accurately track a target, even when random moving speeds are considered and consume much less energy, when compared with the previous algorithm for target tracking, which in turn prolong the network lifetime much more.
Article
Full-text available
In our recent study, we introduced the PlayNCool protocol that increases the throughput of the wireless networks by enabling a helper node to strengthen the communication link between two neighboring nodes and using random linear network coding. This paper focuses on design and implementation advantages of the PlayNCool protocol in a real environment of wireless mesh networks. We provide a detailed protocol to implement PlayNCool that is independent from the other protocols in the current computer network stack. PlayNCool performance is evaluated using NS–3 simulations and real-life measurements using Aalborg University’s Raspberry Pi test-bed. Our results show that selecting the best policy to activate the helper node is a key to guarantee the performance of PlayNCool protocol. We also study the effect of neighbor nodes in the performance of PlayNCool. Using a helper in presence of active neighbors is useful even if the channel from helper to destination is not better than the channel between sender and destination. PlayNCool increases the gain of end-to-end communication by two-fold or more while maintaining compatibility to standard wireless ad-hoc routing protocols.
Article
Full-text available
Network coding is a data processing technique in which the flow of digital data is optimized in a network by transmitting a composite of two or more messages to make the network more robust. Network coding has been used in traditional and emerging wireless networks to overcome the communications issues of these networks. It also plays an important role in the area of vehicular ad-hoc networks (VANETs) to meet the challenges like high mobility, rapidly changing topology, and intermittent connectivity. VANETs consist of network of vehicles in which they communicate with each other to ensure road safety, free flow of traffic, and ease of journey for the passengers. It is now considered to be the most valuable concept for improving efficiency and safety of future transportation. However, this field has a lot of challenges to deal with. This paper presents a comprehensive survey of network coding schemes in VANETs. We have classified different applications like content distribution, multimedia streaming, cooperative downloading, data dissemination, and summarized other key areas of VANETs in which network coding schemes are implemented. This research work will provide a clear understanding to the readers about how network coding is implemented in these schemes in VANETs to improve performance, reduce delay, and make the network more efficient.
Article
Full-text available
Video streaming generates a substantial fraction of the traffic on the Internet. The demands of video streaming also increase the workload on the video server, which in turn leads to substantial slowdowns. In order to resolve the slowdown problem, and to provide a scalable and robust infrastructure to support on-demand streaming, helper-assisted video-on-demand (VoD) systems have been introduced. In this architecture, helper nodes, which are micro-servers with limited storage and bandwidth resources, download and store the user-requested videos from a central server to decrease the load on the central server. Multilayer videos, in which a video is divided into different layers, can also be used to improve the scalability of the system. In this paper, we study the problem of utilizing the helper nodes to minimize the pressure on the central servers. We formulate the problem as a linear programming using joint inter- and intralayer network coding. Our solution can also be implemented in a distributed manner. We show how our method can be extended to the case of wireless live streaming, in which a set of videos is broadcast. Moreover, we extend the proposed method to the case of unreliable connections. We carefully study the convergence and the gain of our distributed approach.
Conference Paper
Full-text available
The low-energy adaptive clustering hierarchy (LEACH) protocol is one of the most adaptive protocols used in the wireless sensor networks (WSNs). LEACH is a hierarchical model that provides a powerful strategy for energy balancing, using head rotations. However, the original LEACH protocol suffers from many drawbacks and many researchers proposed new methods to mitigate them. In this paper, we propose two approaches based on an energy model to enhance cluster heads (CHs) selection method through not only minimizing the power consumption of network nodes, but also minimizing the number of CHs. The first proposed approach effectively selects a cluster head that has the lowest power consumption when communicating with other nodes. In addition to what is proposed in the first approach, the idea of incorporating the shortest distance has been considered in the second proposed approach. This significantly decreases the energy consumption and increases the lifetime of associated nodes.
Article
The growing popularity of multihoming mobile terminals has encouraged the use of concurrent multipath transfer (CMT) to provide network diversity and accelerated content distribution in ubiquitous and heterogeneous wireless network environments. However, CMT severely degrades its performance, which is mostly due to both data reordering required as a result of great path dissimilarity and frequent packet loss due to wireless channel unreliability. Most delivery approaches follow the packet sequence numbers and thereby result in strict in-order and packet-specific reception. Passively adapting to the network variations, those approaches are not general enough to address CMT problems. This paper proposes to apply network coding (NC) principles to CMT, to break the strong binding between data packets and their sequence numbers, and then improve its performance. The proposed CMT-NC solution avoids data reordering to mitigate buffer blocking and compensates for the lost packets to reduce the number of retransmissions. Its specific encoding approach reduces the encoding complexity and fully ensures decoding feasibility. Furthermore, the group-based transmission management enhances the robustness and reliability of the data transfer. Simulation results show how CMT-NC is a highly efficient data transport solution outperforming existing state-of-the-art solutions.
Article
Multi-hop multicast routing can provide better communication performance in multi-hop wireless networks. However, existing multi-hop multicast routing hardly take into account energy efficiency of networks. This paper studies the energy-efficient multicast communication aiming at multi-hop wireless networks. Firstly, we analyze energy metric and energy efficiency metric of multi-hop networks. Then the corresponding models are given. Secondly, network coding is used to improve network throughput. Different from previous methods, we here consider that network nodes are satisfied with a certain random distribution. In such a case, it is a challenge to construct the network structure that network coding requires. For the above random network topology, we propose three basic structures of network coding to overcome this problem. Thirdly, we present a flexible energy-efficient multicast routing algorithm for multi-hop wireless networks to extensively exploit the network structure proposed above to maximize network throughput and decrease network energy consumption. Finally, we perform numerical experiments by network simulation. Simulation results indicate that our approach is significantly promising.
Article
In computer networking, having limited buffer size is one of the vital causes of splitting the messages into smaller frames to be then transmitted over the network. Increasing the buffer size will not improve the case much but rather it is likely to degrade the performance of the system if it is not investigated properly. On the other hand, frames' retransmissions, as a result of frames being corrupted or dropped, need to be avoided as much as possible because of possible network congestion. To investigate the problem of undesired retransmissions, this paper addresses the use of convolutional codes utilising variable complexity decoding algorithms, such as the Fano algorithm, which mainly aim to mitigate frames' retransmissions caused by frames' corruption. It is noteworthy to mention that the rapid growth of wireless technologies has attracted everybody's attention. As wireless technology evolves, new decoding algorithms are emerging to demonstrate designs with variable power consumptions. Hence, in this paper, we propose a novel queuing model that describes not only frame arriving and departing processes after getting decoded according to how worse the channel condition is or what is the remaining system power but also a decoder with a double speed compared with what is best scrutinised in the literature. Moreover, in our buffering model, we can reduce the number of frames being dropped because of insufficient buffer size, and unwanted retransmissions owing to long frame waiting time, by virtue of bestowing larger buffer size, through our derived closed-form expression that represents the expected number of awaiting frames in the buffers of Fano decoders parameterised by channel status, decoding threshold and frame arriving probability. As far as the system occupancy is concerned and over what have been previously proposed, our analytical results show impressive improvements. As such, through our proposed queuing model, the required decoder's buffer is substantially smaller of what that obtained by a prior model, considering the same networking parameters, which prompts decreasing the average frame waiting time. Copyright © 2015 John Wiley & Sons, Ltd.
Article
Video traffic over the Internet becomes increasingly popular and is expected to comprise the largest proportion of the traffic carried by wired and wireless networks. On the other hand, videos are usually compressed by exploiting spatial and temporal redundancy for the reason of increasing the number of video streams that can be simultaneously carried over links. Unfortunately, receiving high-quality video streaming over the Internet remains a challenge due to the packet loss encountered in the congested wired and wireless links. In addition, the problem is more apparent in wireless links due to not only employing limited system capacity, but also some of the major drawbacks of wireless networks, out of which the bandwidth limitations and link asymmetry which refers to the situation where the forward and reverse paths of a transmission have different channel capacities. Therefore, the wireless hops may be congested which result in dropping many video frames. Additionally, as a result of compressing videos, dependencies among frames and within a frame arise. Consequently, the overall video quality tends to be degraded dramatically. The main challenge is to support the growth of video traffic while keeping the perceived quality of the delivered videos high. In this paper, we extend our previous work concerning improving video traffic over wireless networks through professionally studying the dependencies between video frames and their implications on the overall network performance. In other words, we propose very efficient network and buffer models proportionately to novel algorithms that aim to minimize the cost of aforementioned possible losses by selectively discarding frames based on their contribution to picture quality, namely, partial and selective partial frame discarding policies considering the dependencies between video frames. The performance metrics that are employed to evaluate the performance of the proposed algorithms include the rate of non-decodable frames, peak signal-to-noise ratio, frameput, average buffer occupancy, average packet delay, as well as jitter. Our results are so promising and show significant improvements in the perceived video quality over what is relevant in the current literature. We do not end up to this extent, but rather the effect of producing different bit-stream rates by the FFMPEG codecs on aforementioned performance metrics has been extensively studied.