You are on page 1of 9

See

discussions, stats, and author profiles for this publication at: http://www.researchgate.net/publication/272829107

Analyzing Network Coding CS 522 -Computer


Networks | Fall 2014 Project Report
CONFERENCE PAPER DECEMBER 2014

6 AUTHORS, INCLUDING:
Avinash Dudi
University of Maryland Eastern Shore
2 PUBLICATIONS 0 CITATIONS
SEE PROFILE

Available from: Avinash Dudi


Retrieved on: 03 September 2015

Analyzing Network Coding


CS 522 - Computer Networks | Fall 2014 Project Report

Dheeraj Mutnuri Venkata Satya Raghunadha


Department of Computer and Information Science
SUNYPI
mutnurd@sunyit.edu

Ankan Kumar Giri


Department of Computer and Information Science
SUNYPI
ankan.giri@sunyit.edu

Ananth Raj Saidugari


Department of Computer and Information Science
SUNYPI
saiduga@sunyit.edu

Avinash Dudi
Department of Computer and Information Science
SUNYPI
dudia@sunyit.edu

Kashif Zaidi
Department of Computer and Information Science
SUNYPI
zaidik@sunyit.edu

Analyzing Network Coding

ABSTRACT
With network coding, the nodes from the distributed
network can generate and transmit encoded blocks of information.
Network coding is typically implemented in large unstructured
overlays of networks, where the nodes need to make block
forwarding decisions based on information provided from local
clients and resources available. We discuss the history of network
coding, benefit, implementation process, challenges occurred
during the process and compare network coding to other
structures that transmit segmented information like the non-coded
original files. We also study the performance of network coding in
heterogeneous networks, local body networks and analyze the
pattern flow as well as discuss the future scope of network coding.
In addition this, we propose new methods and algorithms with
demonstration of the scenarios in practical applications, for
example improvement in download time. I this paper, we describe
the formatting guidelines for ACM SIG Proceedings.

Categories and Subject Descriptors


Network Encoding, Decoding,
Random Linear Network Coding.

Gauss-Jordan

Elimination,

Keywords
MAX-FLOW MIN-CUT, NSGA-I, NSGA-II.

1. INTRODUCTION
From the era when computer networks were developed,
it has been a long struggle in finding ways to improve network
transmission. The network we use today has been evolving day by
day. When circuit switching came into existence the number of
network users were much less. With increasing devices wanting to
communicate each other over the internet, circuit switching faced
criticism and some revolution in networks was needed. From
circuit to packet switching was a revolution but not evolution.
Though it was one of the greatest success in the history of
networks, but certain limitations prevailed. Packets are reliable,
but machines builds their own fixed path to communicate with
distant nodes. This is very unreliable, as eavesdropping is very
susceptible once an intruder learns the network scheme usage.
Performance also lacks in these network scheme. The most useful
protocol TCP (Transmission Control Protocol) prevailing in the
transport layer of TCP/IP model communicates using packets that
are transmitted sequentially from their point of origin and only
accepted at the destination if they arrive in order. Any network
loss in this path used for transmission creates delay.
TCP interprets these as network congestions and
quality of service is hampered. Packet loss is another problem that
is dealt during transmission. So we want to basically use
multipath scheme. Multipath networks lead us to a good
throughput, reliability, delay, security, complexity. Store and
forward, the traditional packet forwarding technique is different
from computing and forwarding. Previously we disintegrated
circuits to packets and now we want to disintegrate packets into
representation of packets. So the next generation of networks
serving millions of connected devices, 5G will definitely be a
revolution.

Problems occurring in network dynamics that is to be adapted, is


not needed to be solved by going back but we can do it in the
nodes where it is required. As a result networks like wireless
meshed networks, cloud services can be reliable. Computing and
forwarding adds delay. Performance is cubic and complexity is
more. So our aim is to solve these issues to some extent. Before
analyzing the issues, we need to see how well this new technology
performs over the traditional technique of store and forward. The
introduction of network coding definitely does outperform but has
few overheads. Researches are still on process to mitigate these
tradeoffs. Network coding will definitely replace TCP in near
future. There is no doubt that we will witness some other truly
engineered network communication scheme in future.

2. BACKGROUND
In the influential paper by Ashlwede et al [4] have
referred to network coding as coding at every node in the network.
This is essentially a new paradigm for data transfer through the
network, irrespective of which type of network it is. In
comparison to the traditional method where data frames try to
avoid collision in network when theyre approaching a node,
however network utilizes such backdrop and combines the data to
produce a new data frame. Principle of networking coding is easy
to understand by the example set by Ashlwede et al [4] often
called as Butterfly example,

Source: Google.com
It is assumed two sources send a and b that
eventually reach a node. That node combines the two frames two
give ab, this information is further passed on to other node
that follows. If end sinks wants a from ab it just does the
XOR of ab and b.
Example: if a = 110110111 and b = 111011100, then ab =
001001011. To get b we simply do a (ab) = 110110111
001001011 = 111011100 = b, and vice versa is done to obtain
a. This follows basic functionality of how network coding
operates. However, much more complexity in algorithms in need
to handle enormous data that flows through the network, for such
situations Linear Network Coding (LNC) and Random Linear
Network Coding (RLNC) is applied to robustly perform the
algorithms for such operations. Such techniques are discussed in
the sections that follow.

The codes of packet that are used to transfer are not end
to end transfer, but can be recoded at any code in the network.
2

Analyzing Network Coding

3. SCOPE
In this report we provide a logical critique on the upcoming
technology in network and telecommunications. The apprehension
of lousy connection would be a myth in few days from now, we
will be discussing the technique and algorithms being used by a
new paradigm of networking. It would be encouraging for us to
provide even the technical details of this but we would limit our
report with only a logical analysis of network coding and how
best can it be further developed to change the topology of
networking.

This traditional routing set up for only 1.5frames as the multicast


rate.

4. LIMITATIONS
Our paper limits to the logical analysis of network coding and
predicts for better results, we have theoretical proofs which have
proved network coding to be every efficient, but tests have been
under noble conditions. The futuristic approach to network coding
has not yet been demonstrated on a large scale, Taiwan is the first
and only country testing the network coding efficiency on a large
scale, Network coding is still in its inception phase hence it would
require time for theoretical and practical comparisons can be
relied upon. It is 5G technology which Taiwan addresses it as,
which hence this report of ours lacks proofs but confident that this
will be the next game changer of networking and telecom
industry.

If network coding is considered multicast


rate for the same network is found to be 2 Frames. This
throughput efficiency is not only just confined to multicast
network. If the basic model is modified it can be seen that
wireless network and unicast efficiently follows network coding.

5. PURPOSE
We would like to highlight the issues in the current networking
and would like to enlighten about the newer and upcoming
technology. We compare between the past and future
implementation of networking and telecom in this report.

6. THEORATICAL BENEFITS
What Makes Network Coding special?
Previous section gives brief definition of network coding; we
now look at what this is good for. Network coding is said to
increase the throughput, security, complexity, and robustness [2].
We shall now discuss each one of them details.

Throughput
Throughput is an important factor that determines which
network be it wireless or wired is efficient for data transfer.
Network coding in this regard has improved throughput when
compared to traditional routing techniques. If a simple multicast
network is assumed for two sinks that awaits the data frames can
be compared with diagram that shown below.

Robustness
Serious problems need to be addressed when robustness
comes into picture. One of the problem is packet loss, packet loss
can occur for many reasons in the network; collision, buffer
overflow etc. [2]. Error correcting procedures are only performed
in first mile and the last mile. Idea is what if erasure technique is
formed at the node 2 in figure below. Will it solve the packet less
issues? It does; If probability of sending packet from 1 to 3 is (1p)*(1-q), that product from 1 to 2 and 2 to 3. If same situation is
taken with error correcting capabilities at the node to 2, then
probability is then improved by rate transfer of min (1-p, 1-q). A
key question to be answered here if this technique produces such
results then why isnt this applied to current day technology?
Answer is this technique induces delay.

Security
Security is another key aspect that network coding induces
for a reliable connection. Again let us consider the butterfly case,
since information arriving at the node is XORed then information
is much more difficult to acquire because data frames are
combined. This adds more complexity when data entering the
node is more, for example, 20 frames.

Complexity
In particular cases when complexity of network on
whole increases, the process that needs to be performed at
each node increases. More complex algorithms need to be
added at every node that increases complexity. Though
performance is improved but at the cost of complexity.

Analyzing Network Coding

Random Linear Network Coding


Random linear network coding (RLNC) is a versatile code
that produces cumulative results that can be used to improve range
of transmission. Internet protocols used these days uses strict
protocols for transmission in TCP/IP. In TCP/IP data is divided
into smaller chunks called packet that travel through the network
to reach the destination. Every packet thus reached needs to be
acknowledged so that next packet is then released by the sender.
Intuitively one would agree that this will produces delay, fact is it
does. However, In RLNC packet is transferred to next node where
it is encoded with other packets with coding information in the
header that can be decoded at the receiving end. Final packet need
not be acknowledged as the packets in some path or the other
reach the receiving end; this making it a reliable and efficient.
RLNC improves by adding linear combination aspect to the
information of reliable communication [3]. For example, if packet
n didnt arrive then packet n+1 can be used to retrieve n there
by avoiding the need to send whole n to n+k.

Encoding
The figure below shows the basic encoding and decoding
techniques employed in network coding. If we have single large
file, it needs be broken down into smaller packets called
generation and then sent to encoder. The reason behind breaking
data into smaller chunks is that if we operate or encode on a single
large file then it will lead to large computational time and
augment complexity [3]. Encoder performs linear combination on
the generations over a Galois field which ensures size of such
generations remain the same. Encoded packets are the sent via
wireless or wired network, inevitable erasures do occur in the
channel.

Decoding
Decoding performs the Gaussian elimination or Gauss
Jordan elimination on the received to decode the packets.

network the packet 1 is lost or is not acknowledged by the


receiver. In such cases sender keeps sending packet1 until its
acknowledged by the receiver. However, in RLNC, random
numbers are generated and multiplied with the packets to form a
coding packet as shown below [4].
Code packet 1 = random number 1 * packet 1 + random number 2
* packet 2
Code packet 2 = random number 3 * packet 1 + random number 4
* packet 2.
To decode this and achieve packet 1 and packet 2 all it needs is
random number 1 through 4. It is just like solving two equations
in algebra for any two unknown variables x and y. In our case
x and y are packet 1 and packet 2 [4]. Whats remarkable
about this technology is that there are so many different
combinations possible, that we need not choose the coefficients
carefully.
Instead, we choose these coefficients at random, effectively
rolling some dice to choose random numbers.

Topologies:
Experiments and testing conducted by codeon Technologies
and MIT research team [4] have found the following
improvements in current day topologies.

Point to Point
RLNC provides better computational logic and security in:
5G technologies, Wi-Fi, black haul, Passive Optical (PON), TCP,
and IP.

1.
2.
3.
4.
5.

Coded TCP has shown 10x better performance.


Throughput increased by 4-5 times using RLNC, and 5x
download delay was curtailed in WiMAX links
2-7x reduction in base station deployment.
Improved quality of experience (QoE) since;
Efficient data delivery = QoE of users.

Multicast
Target technologies; content distributed systems, IPTV,
stadium wireless, SDN, NFV and other.

To put this technique in perspective. Consider a TCP/IP protocol


where sender wants to send packet 1 and packet 2. If sender
transmits packet 1 and for some obvious like congestion in the
4

Analyzing Network Coding

1.
2.
1.
2.
3.
4.

In mobile devices for Wifi5 energy pet bit saving reach


improvement factor of 2-3x.
Energy per bit ratio is smaller by a magnitude of 2-3 in
Wi-Fi transmission.
Delay reduction.
Energy saving.

3.

Data availability reaches 80% gains in high traffic.


Lower energy by a factor of 20 50 % as a result of
reduced transaction times and storage requirements.
Download delay reduced by 2x using RLNC.

Wireless Mesh
Target technologies; LTE, loT, RFID, vehicle to vehicle, and
others.

Multipath

Target Technologies; NFV, SDN, Wi-Fi + cellular, MPLS +


Internet.

1.
2.
3.
4.
1.
2.
3.
4.
5.

Improvement in Round Trip Times (RTT) by a


factor of 5.
Coded Multipath TCP (CMTCP) showed low
download delay and 8-15x of good put gains.
Good throughput increased by a large factor of 20x
over non-coded TCP.
Smaller delays.
Robustness.

Throughput gain of 3dB and 6dB in one relay network


and mobile mesh network.
Reduction of delay by 3.6x.
3.9x less energy consumption.
Improved throughput.

Satellite
Target Technologies; Maritime technologies, Satellite
communication for transportation, cellular, and others.

1.

Gains in throughput by 20x in lossy network.

Distributed Storage

Target Technologies; Storage Area Networks (SAN, edge


caching, cloud services and security.

Analyzing Network Coding


2.
3.
4.

2 x throughput.
NACK based protocol has 2x/5x throughput efficacy.
Flexibility.

7. DISCUSSION
Overview of Method proposed by Huanlai Xing, Rong Qu [1]
With recent development in technology, multicast based
communication where information is simultaneously delivered to
many devices from a single source has become one of the main
technology to improve modern day multimedia based data transfer
and communication. Application could either be for
communication, entertainment etc. IPTV, video conferencing are
few applications which come under communication and video
streaming services come under entertainment. Multicast
applications could be found in various other streams of
technologies. Main difference between normal routing and
network code based routing is data received at any intermediate
level is combined with other data in the network to make a new
code. This coded data is decoded at the receiving node. Coding at
the node level is done by exclusive OR of two packets in the
network. When this coded packet is arrived destination along with
original packet the other packet is obtained by exclusive OR of
these two available packets. Network coding not only decreases
data loss but improves robustness and saves energy by decreased
retransmission. And maximal theoretical limit of through put in a
multicast network is achieved with network implementation
according to MAX-FLOW MIN-CUT theorem. And there are few
issues with implementing network coding in multicast, such as
operating costs and transmission delay. Huanlai Xing et al
proposed a method to improve network coding efficiency by
decreasing costs. Overview of the proposed method is described
below. Costs involved in network coding are one of few issues
which are impeding its progress and application. The two kinds of
costs authors considered to reduce are coding cost and link cost.
Coding costs are incurred while coding the data at intermediate
nodes in network, time taken for each data to be code and decode.
Link costs are counted for transmission costs of data from source
to destination. To reduce coding costs, i.e. to reduce number of
coding resources required for coding in network
many
researchers suggested to use population based genetic and
evolutionary algorithms. With help of these only one objective
solution is derived where solution dominates all other solutions.
To reduce both link and coding costs a bi-objective solution. N.
Cleju et al, proposed two algorithms to place the network coding
nodes. Other than costs authors objective is to reduce
transmission delays. Since there are two conflicting objectives,
problem is considered solved for non-dominant solutions known
as Pareto Optimal front.
Considering coding nodes as vertices (V) in a graph and edges (E)
as links, network is represented as graph G (V, E). S is source
node and T is a group of destination nodes in multicast have a set
of solutions. With many different possibilities and paths to follow,
analogous to mutation and survival, set is considered as a
population and solved by evolutionary algorithms. Since there are
more than one objective to be solved for a non-dominant sorting
genetic algorithm is used. One of the famous algorithms under
this category is NSGA-II. Advantages of NSGA-II are: 1) it is
faster than its predecessor whose running time is reduced from
O(Mn^3) time bound to O(Mn^2) time, M denotes number of
objectives and n denotes the size of population. 2) Elitism
approach of algorithm keeps the already obtained solutions and

speeds up search process. 3) Parameter-less population-diversity


keeps different sets in population to come up with more robust
solutions. With these advantages algorithm has found application
in different fields of science and engineering. Below figure
represents a typical network code graph. S represents source node
and y, z are destinations with other intermediate nodes. Paths are
represented by p(s, a). Algorithm aim is to find sub graphs which
have lowest delay D (end-to-end delay) and costs (cost of coding
node and cost of links).This is expression can be represented as
equation (1).

Fig :( 1 ):Network graph and sub graphs. W - Coding node.[1]

____ (1)
Aim is to find sub graphs which have lowest delay Dmax (end-toend delay) and Ctotal (cost of coding node and cost of links) as
equation (1).
Author say when original NSGA-II is applied on a population set
it is observed that number infeasible solutions make up the most
part of solution set when initial set is randomly generated which
reduces the effectiveness of NSGA-II algorithm. Another issue is
that it is highly possible that NSGA-II generates individuals with
same values at every generation. These similar valued elements in
population damage the diversity of the population and ultimately
damage the solution effectiveness. Even the diversity control
feature of algorithm cannot stop the proliferation of these similar
individuals. These issues prompt for change in the course of
algorithm and authors propose a modified NSGA-II algorithm.
The changes are instead of randomly generating initial population
it is now started with a feasible set of population so evolution of
search is effective. To maintain the diversity in population during
each generation individual elements with same values are
discarded. With this diversified population solution set is to
become more diversified than with similar individuals.

Algorithm
Initial population set for testing generated by selecting a
random individual X of length m from existing set. Generate
random integer i in the range of [1, m] then mutate the X by
flipping the bit in i position. Compare this new X with existing set
if this new X then add it to set, if there exists something similar to
new X then discard. Repeat this process for until a population size
required is generated. Each X represents a different a unique sub
graph for the given the Network graph. Once initial population is
6

Analyzing Network Coding


set proposed NSGA-II for obtaining solutions from this set is
applied. Samples are generated on the first random population and
it is unified with the first set of population. Individuals with
similar values are deleted from the population. Here for similarity
the value of equation (1) are compared for each. Individuals with
same Dmax (end-to-end delay) and Ctotal deleted. The resulting
population is sorted based on nondominant and crowd distance
parameters. Number of individuals in the resulting population
should be less than or equal to the first population number. If the
number is more than first set then individuals with greater value
are removed. Above steps are repeated till the set condition which
could either be number of generations or a predefined time.
Final set gives us the choice of solutions with almost similar value
but in different paths. Least is considered as solution and others
near this can be chosen when there is any error in the least one.
Performance & Results:
Proposed algorithm is tested on a set of two static networks and
eight randomly generated networks. For the evaluation of the
multi objective evolution algorithm authors used Inverted
Generational Distance, Maximum spread and Generational
Distance metrics are used. Distance metrics use Euclidean
distance between individuals and Spread metric considers the
maximum and minimum values of population. Spread is
directional proportional to difference between maximum and
minimum. Results show proposed NSGA-II algorithm performs
well above the other algorithms strength Pareto evolutionary
algorithm [2], multi objective population based incremental
learning [3] used for comparison under same metrics. The
proposed elitist Non dominant Sorting Genetic Algorithm
performs well above other similar algorithms when results from
performance measures like inverted generational distance,
maximum spread and generational distance are compared. But the
algorithm fails to produce an optimal solution for the given
population.

8. CONCLUSION
Proposed algorithm is tested on a set of two static
networks and eight randomly generated networks. For the
evaluation of the multi objective evolution algorithm authors used
Inverted Generational Distance, Maximum spread and
Generational Distance metrics are used. Distance metrics use
Euclidean distance between individuals and Spread metric
considers the maximum and minimum values of population.
Spread is directional proportional to difference between maximum
and minimum. Results show proposed NSGA-II algorithm
performs well above the other algorithms strength Pareto
evolutionary algorithm [2], multi objective population based
incremental learning [3] used for comparison under same metrics.
The proposed elitist Non dominant Sorting Genetic Algorithm
performs well above other similar algorithms when results from
performance measures like inverted generational distance,
maximum spread and generational distance are compared. But the
algorithm fails to produce an optimal solution for the given
population.

9. OPEN ISSUES

Despite the fact that the network coding increases through put
etc., there are still certain computational issues which are
interesting research topics these days.
a)

Decoding the incoming message becomes complex


since decoding uses Gauss-Jordan eliminations.

b)

We create random vectors which undergo to form


secured matrix to be sent to the destination, the random
vectors formed are a function of a limited space. When
huge number of vectors have to form for a limited space
it requires data planes which are extensive. This calls in
for some more issues in terms of data consumption.

c)

Linear dependency occurs between the coefficient


vectors of a plane Hence, it is obvious that for a system
of equations to have a larger set of input vectors.

d)

Consider a situation where an intruder tries to inject a


faulty packet into the network, the faulty packed will
travel all the way until the last node, thus spoiling the
entire network

e)

No matter which protocol we use, to pass an 8 bit


message we should set 64 bits of data. The message
overhead is too high.

f)

The transmission time until the packet is launched into


the air is still high, it depends on the source system too,
how can network coding influence this?

10. FUTURE WORK


Finding an optimal solution for minimizing the delay and costs in
network code based multicast still remains unresolved. This is one
of the many reasons impeding the network coding application in
real world. An open question remains whether what effect the
number of coding nodes has on the robustness of data. Whether
increase in number of coding nodes increase robustness or after a
certain number of code iterations it does not change need to be
known.

11. REFERENCES
[1] Ahlswede, N. Cai, S.-Y. R. Li, and R. W. Yeung, Network
information flow, IEEE Trans. Inform. Theory, vol. 46, no. 4, pp.
12041216, July 2000.
[2] Network Coding: An Introduction; Tracey Ho, Desmond S.
Lun.
[3] Kodo Documentation;
https://kodo.readthedocs.org/en/latest/nc_intro.html
[4] Code on Technologies;
http://www.codeontechnologies.com/technology/
http://iest2.ie.cuhk.edu.hk/~whyeung/tempo/Ho_Lun.pdf
[5] A nondominated sorting genetic algorithm for bi-objective
network coding based multicast routing problems Huanlai Xing ,
Rong Qu

Analyzing Network Coding


[6] E. Zitzler, L. Thiele, Multiobjective evolutionary algorithms: a
comparative case study and the strength Pareto approach, IEEE
Transactions on Evolutionary Computation 3 (1999) 257271.
[7] J.H. Kim, Y.H. Kim, S.H. Choi, I.W. Park, Evolutionary
multi-objective optimization in robot soccer system for education,
IEEE Computational Intelligence Magazine 4 (2009) 3141.
[8] Alexandros G. Dimakis, P. Brighten Godfrey, Martin J.
Wainwright and Kannan Ramchandran. The Benefits of Network
Coding for Peer-to-Peer Storage System, Department of

Electrical Engineering and Computer Science, University of


California, Berkley, CA 94704
[9] Majid Chaderi, Don Towsley, Kim Kurose. Reliability
Benefit of Network Coding Dept. of Computer Science,
University of Massachusetts, Amherst.
[10] Chistina Fragouli, Jork Widmer, Jean-Yves Le Boudee. On
the Benefits of Network Coding for Wireless Applications

You might also like