Вы находитесь на странице: 1из 17

Code On Network Coding Technologies LLC

Random Linear Network Coding


A Tutorial
A codeon white paper
September 2013
RANDOM LI NEAR NETWORK CODI NG: A Tutorial 2
Contents
Summary 3
Coding Principle 5
RLNC Transport: Enabling Network Virtualization 6
Coding Versatility 6
Recoding 8
Multipath Channel Bonding 9
Code-Aware Protocols 11
RLNC Storage: Enabling Seamless Distribution 13
Optimization of Storage Resources 13
Storage Versatility 15
New Distribution Models 16
Novel Content Protection Paradigms 16
A codeon white paper
RANDOM LI NEAR NETWORK CODI NG: A Tutorial 3
Summary
RANDOM LI NEAR NETWORK CODI NG ( RLNC) TECHNOLOGY is a
exible, next-generation coding scheme based on linear algebra. The
simplicity of its coding principle allows the code to be transported or
stored along with data. The resulting versatility is unique in the eld of
coding and information technology, as it enables operations that were
not previously possible with traditional encoding schemes.
In contrast, traditional encoding schemes such as block codes or rateless
codes are rigid in that all stored or transported data units come from a
predesigned code and all information must be received before decoding
is possible. Existing coding technologies are all end-to-end systems,
with a single encoder and decoder, while any intermediate nodes are
unable to contribute to the coding operations. As such, conventional
coding schemes require new layers of coding and overhead in order
to provision additional redundancy to a previously coded data ow or
stored le. These systems are also standalone, unable to use uncoded
or differently encoded data to assist with decoding.
Code Capabilities RLNC
Rateless
Codes
Block
Codes
Characteristics / Benets
Erasure Correction Corrects for missing or corrupted data packets
Encode data in a sliding window
Coding matches protocol behavior fewer
retransmissions
Code is carried within each
packet
Eliminates tracking overhead
Composability without decoding
(adding incremental redundancy)
Only adds redundancy when and where needed
Completely distributed operation Enables stateless management
Able to generate valid codes from
coded or uncoded packets
Gradual implementation; no forklift
Decode using uncoded packets No forklift; implementation tunability
Table 1: Next-generation capabilities of
Random Linear Network Coding.
A codeon white paper
RANDOM LI NEAR NETWORK CODI NG: A Tutorial
Table 1 lists the major capabilities of RLNC compared to conventional
rateless and block codes. The remainder of this paper introduces those
new capabilities. Use cases are also included throughout the document
to illustrate the potential gains in specic deployment scenarios.
A codeon white paper 4
RANDOM LI NEAR NETWORK CODI NG: A Tutorial 5
Coding Principle
RANDOM LI NEAR NETWORK CODI NG (RLNC) combines a number of
data entities such as packets or le sectors by computing linear combi-
nations of their constituting symbols. Figure 1 depicts an example where
three packets are combined. First, a random coefcient is generated for
each uncoded, or native, packet. Symbol-wise coding is then performed
to generate the coded packet. A symbol may represent any unit of digital
data such as bit, byte, packet, frame, drive sector, etc. Each symbol of
the resulting coded packet is a linear combination of three corresponding
symbols in the native packets.
Figure 1: Random Linear Network
Coding Principle.
RLNC enables groundbreaking gains in both transport and storage of
information. Generating the coefcients randomly and embedding them
within the data eliminates the need for tracking state, thus simplifying
reliability operations and creating new information technology paradigms.
A codeon white paper
RANDOM LI NEAR NETWORK CODI NG: A Tutorial 6
RLNC Transport: Enabling Network Virtualization
AS A TRANSPORT TOOL, RLNC can act as a unifying connection in-
terface to manage the complexity of multiple network paths, protocols,
tunneling and transmission technologies. Such a simplifying feature is
similar to storage virtualization, where storage automation algorithms
create a unied drive or cloud interface to manage the underlying com-
plexity of multiple drives, clouds, speeds, and I/O technologies. As a
network virtualization enabler, RLNC leverages the available processor
speeds in order to optimize throughput, delay, or other target perfor-
mance and cost parameters. RLNCs network virtualization capability
stems from four of RLNCs unique features: coding versatility, recoding,
multipath channel bonding, and code-aware protocol support. Each of
those features is described below.
Coding Versatility
RLNCis a exible code that allows for multiple different transport schemes
while using simple linear algebra to decode. Figure 2 (left) shows three
different encoding schemes. In block coding, RLNC operates as a con-
ventional block code, where packets are assembled in blocks and then
coded together.
Although block coding is not unique to RLNC, the RLNCs unique code
embedding feature yields novel coding paradigms. For instance, RLNC
can recode encoded packets at different network nodes and layers
without need for any prior decoding. A recoding node combines received
coded packets using newly generated random coefcients. Recoding
enables the coding process to adjust to link-level losses along a path
without need for any intermediate decoding. This results in the optimal
allocation of overhead, as described in the recoding section below.
A codeon white paper
RANDOM LI NEAR NETWORK CODI NG: A Tutorial
Figure 2: Multiple Encoding Schemes.
Also owing to RLNCs code embedding property, RLNC has the exclu-
sive capability of adapting transport protocols. The best illustration is
a technique where the packets to be encoded are determined by the
position and width of a sliding window. Such a method enables un-
precedented levels of efciency for the Transmission Control Protocol
(TCP), since the ubiquitous transport-layer protocol also operates using
a sliding window. Sliding window encoding is further described in the
code-aware protocol section below.
Decoding reverses the linear operations of Figure 1 through Gaussian
elimination. Although coding and recoding can be combined and applied
at various network layers and locations, decoding need only occur once
at the destination node. Importantly, RLNC can use both coded and
uncoded packets to decode, leading to easier integration with existing
distributed systems. Besides, by dynamically selecting the right RLNC
parameters (e.g., block size), RLNC makes it possible to trade through-
put for latency in real time. Such a dynamic throughput-delay tradeoff
capability is expected to become a major QoE tool in transport
1
.
1
W. Zeng, C.T.K. Ng, M. M edard; Joint
Coding and Scheduling Optimization
in Wireless Systems with Varying
Delay Sensitivities. arXiv:1202.0784
(2012)
A codeon white paper 7
RANDOM LI NEAR NETWORK CODI NG: A Tutorial
Demonstrated RLNC Implementations
RLNC has been successfully demonstrated at a number
of communication layers, usually as a software patch
2
, but
sometimes integrated within the kernel
3
or even the chip
hardware
4
. Importantly, RLNC can be deployed entirely
at the application-layer, with no changes to the underlying
infrastructure
2,3
.
Recoding
2
M. Kim, J. Cloud, A. ParandehGheibi,
L. Urbina, K. Fouli, D. Leith, M. M edard;
Network Coded TCP (CTCP). arXiv:
1212.2291v3 (2013)
3
S. Teerapittayanon, K. Fouli, M.
M edard, M.-J. Montpetit, X. Shi, I.
Seskar, A. Gosain; Network Coding as
a WIMAX Link Reliability Mechanism.
arXiv: 1208.4766 (2013)
4
G. Angelopoulos, A. Paidimarri, A.P.
Chandrakasan, M. M edard; Experimen-
tal Study of the Interplay of Channel
and Network Coding in Low Power
Sensor Applications. ICC WCS 2013
Recoding enables RLNC to uniquely adjust its coding overhead to local
network conditions. In the toy example of Figure 3, RLNC recoding is
contrasted with conventional end-to-end coding. The common scenario
is the transmission of a 20-packet le from source (S) to destination (D)
across a tandemnetwork where each of the three hops has a 10%packet
loss. The example simulates the quality of each link by showing packet
losses in red above each link. End-to-end coding naturally requires the
provisioning of all the required redundancy at the source node. In this
example, this redundancy amounts to 37% of the native le size.
Figure 3: Recoding vs. conventional
end-to-end coding.
A codeon white paper 8
RANDOM LI NEAR NETWORK CODI NG: A Tutorial
Recoding, on the other hand, enables RLNC to renew the redundancy at
each intermediate node without need for decoding. RLNCs random co-
efcient generation and code embedding features allow any intermediate
node to participate in the coding process, in particular by recombining
received packets and by generating new redundancy packets. As a re-
sult, the required redundancy for RLNC does not exceed the worst-case
redundancy required at any hop, 11% in this example. Recoding hence
makes RLNC a uniquely composable code that is capable of adding
redundancy only when and where needed.
Multipath Channel Bonding
RLNC can seamlessly combine variable-rate ows without complex
coordination
5,6
. Figure 4 illustrates how RLNC can be used to enable
software-dened channel bonding in heterogeneous networks.
Figure 4: RLNC supports multipath
operation without complex scheduling.
In the depicted scenario, RLNC allows a wireless edge user to down-
load a large le by seamlessly combining channels with wide-ranging
5
J. Cloud, F. du Pin Calmon, W. Zeng,
and M. M edard. Multi-Path TCP with
Network Coding for Heterogeneous
Networks. Information Theory and
Applications Workshop (ITA) 2012
loss, latency and bandwidth characteristics, without need for complex
scheduling. Since the code is embedded in each packet, RLNC renders
packets interchangeable and arrival order irrelevant. The destination
6
A. Kulkarni, M. Heindlmaier, D. Traskov,
M. M edard, and M.-J. Montpetit; Net-
work Coding with Association Poli-
cies in Heterogeneous Networks.
Proc. of the IFIP TC 6th int. conf. on
Networking; 110-118 (2011)
user needs only to assemble a sufcient number of packets, coded or
A codeon white paper 9
RANDOM LI NEAR NETWORK CODI NG: A Tutorial
uncoded, in order to decode the ow. No path coordination is necessary
at the source. Such an advantage provides tremendous gains in cloud
networks when moving large portions of data through Internet overlays.
Figure 5: RLNC supports multipath
operation without complex scheduling.
RLNCs native multipath support and its recoding feature form a powerful
combination. Together, they enable the minimization of coding overhead
across multiple paths without need for complex coordination. The exam-
ple of Figure 5 shows a scenario where a 30-packet sector is transferred
USE CASE: Mesh Network
Recent experiments demonstrates the potential gains of RLNCs recoding and multipath features compared to
conventional end-to-end coding. In the used WiFi relay topology (shown above), the source transmits a 128-packet
block to the destination through two paths simultaneously. Only RLNC enables the relay to recode. The experiment
shows that RLNC reduces overhead by 50% and requires less transmissions from the source to complete the transfer.
A codeon white paper 10
RANDOM LI NEAR NETWORK CODI NG: A Tutorial
from the source to the destination node through three paths with distinct
loss characteristics.
RLNCs code embedding feature makes packets interchangeable and
replaceable. They can thus be injected through any path (and subjected
to its lossy links) without need to schedule or coordinate their arrivals at
the destination node. Owing to recoding, the overhead required along
each path is minimized and determined by the losses of the worst-case
hop rather than the cumulative losses along the path. Hence, RLNC
enables each path to effectively contribute its full capacity to the ow. In
other words, RLNC enables the source node to sum up the contributions
of the three paths seamlessly. In this example, if 10 Mbps were injected
through each path, the destination would see a virtual pipe of 26 Mbps.
Code-Aware Protocols
RLNC enables critical transport protocol improvements that are particu-
larly relevant in best-effort Internet overlays and wireless access links.
Figure 6 illustrates how an RLNC sliding window scheme can be used
to reduce transmission interruptions in TCP.
Figure 6: RLNC greatly improves the
efciency of TCP by adapting to its
sliding window.
In order to preserve arrival order, once a packet is lost in TCP, the
receiver ignores subsequent successful packet transmissions, and re-
sponds with duplicate acknowledgements (i.e., acknowledging the last
packet that was received in order), until the missing packet is received. If
three duplicate acknowledgements are received at the sender, the trans-
mission window is drastically reduced, as shown in the Figure 6 (left).
While this behavior works well in congested networks where large blocks
of successive packets are typically dropped, it has potentially devastating
effects in networks with random packet losses.
A codeon white paper 11
RANDOM LI NEAR NETWORK CODI NG: A Tutorial
RLNC enables network-coding enhanced TCP (TCP/NC) to overcome
random losses. TCP/NC is based on coding the packets of the sender
window prior to transmission
7,8,9
. Since coded packets are interchange-
7
J.K. Sundararajan, D. Shah, M.
M edard, S. Jakubczak, M. Mitzen-
macher, J. Barros; Network Coding
Meets TCP: Theory and Implementa-
tion. Proceedings of the IEEE 99 (3):
490-512 (2011)
8
M. Kim, M. M edard, and J. Bar-
ros; Modeling network coded TCP
throughput: A simple model and its
validation. Proc. Valuetools: 131-140
(2011)
9
L. Urbina; Applying Network Coding
to TCP. MIT M.Eng. Thesis (2012)
able, packets are inherently seen to arrive in order at the TCP/NC
receiver, as depicted in Figure 6 (right). Therefore, faced with an iden-
tical loss pattern, TCP/NC does not ignore any successfully received
packets. By acknowledging new packets at each successful reception,
TCP/NC further prevents the sender window from collapsing. Moreover,
RLNC enables TCP/NC to dynamically increase its redundancy level by
sending additional coded packets. Experimental results show that coded
TCP improves network efciency remarkably (see use case below).
RLNC relaxes TCPs strict in-order arrival requirement and provides it
with new and powerful redundancy tools. Thanks to its versatility, RLNC
is capable of adapting to TCPs sliding window paradigm. Coded TCP
is just one example of how RLNC adapts to digital protocols and sys-
tems. RLNC exhibits similar tractability when handling Automatic Repeat
reQuest (ARQ)
10
or multi-resolution video storage
11
, for example.
10
J.K. Sundararajan, D. Shah, M.
M edard; ARQ for network coding. ISIT
2008
11
U.J. Ferner, T. Wang, M. M edard, and
E. Soljanin. Resolution-aware network
coded storage. arXiv:1305.6864 (2013)
USE CASE: Coded TCP (CTCP)
Coded TCP
2
, an experimental implementation of TCP/NC, enables unprecedented levels of QoE in video streaming.
The plots below depict the playing time and buffer under-runs (i.e., interruptions) of a 60-second video streaming over
a 25Mbps wireless link1. While QoE rapidly deteriorates under TCP even at low packet losses (several interruptions
and a 50%+ increase in playout time at 1% loss), coded TCP enables the video to play without interruption even at
packet loss levels reaching 20%.
Note that the number of interruptions in gure (b) reaches a maximum when there is one interruption for each video
block. Nevertheless, gure (a) shows that completion time keeps growing, since the duration of each interruption
continues to increase. Moreover, the plot of gure (a) is logarithmic. Hence, the trend for standard TCP is in fact
exponential. For example, with only 5% loss, the 60-second playout time increases to 300 seconds without RLNC.
A codeon white paper 12
RANDOM LI NEAR NETWORK CODI NG: A Tutorial 13
RLNC Storage: Enabling Seamless Distribution
RLNC FUNDAMENTALLY I MPROVES STORAGE TECHNOLOGY in two
ways. First, RLNCs network virtualization capability gives connected
data centers and clouds superior transport capabilities, enabling servers
to optimally tunnel data over multiple paths having heterogeneous pro-
tocols, technologies, and performances. RLNCs seamless tunneling
over unreliable best-effort links will greatly improve overlays between
clouds, data centers, and server elds, thus improving the performance
of virtual storage and clouding systems. Second, as a storage virtu-
alization ingredient, network coding will signicantly enhance storage
automation algorithms through major qualitative and quantitative gains
in storage capacity, energy usage, data availability, and security. This
enables storage interfaces to seamlessly distribute content, as depicted
below.
Optimization of Storage Resources
RLNC can offer greater exibility in adding and replacing storage nodes
as compared to existing codes such as Reed Solomon codes. Fur-
thermore, RLNC increases the availability of stored data. The simple
example of Figure 7
11
shows the crucial advantage of coded storage
over conventional replication schemes.
In the example of Figure 7, a le is divided into two sectors (L1 and L2)
and is stored across four drives, or nodes. In conventional replication
schemes, a user needs access to both L1 and L2 storage nodes. If
both L1 (or L2) nodes are busy, the le request is delayed. In coded
storage, two of the nodes may host linear combinations of L1 and L2.
Hence, requests are less likely to be blocked, as access to any two
nodes is sufcient to decode the le. As a consequence, data availability
A codeon white paper
RANDOM LI NEAR NETWORK CODI NG: A Tutorial
Figure 7: Coded Storage Principle.
improves whereas the required storage resources decrease (see use
case below). This optimization feature nds important applications in
data caching, Storage Area Networks (SANs)
12
, and distributed clouds,
12
U.J. Ferner, M. M edard, and E. Sol-
janin. Toward Sustainable Networking:
Storage Area Networks with Network
Coding. arXiv:1205.3797 (2012)
as illustrated below.
USE CASE: Coding in SANs
RLNC can be used to reduce blocking due to saturation in storage area networks (SANs)
12
. The example above
illustrates the use of RLNC to either increase availability with existing storage assets or to reduce the number of
assets required. In this example, a coded le sector may replace a number of uncoded sectors, thus reducing storage
requirements without loss of performance. RLNC brings energy savings in data centers that are estimated to 20-50%.
The more redundant coded sectors are implemented, the higher the data availability.
A codeon white paper 14
RANDOM LI NEAR NETWORK CODI NG: A Tutorial
Storage Versatility
RLNC adapts to new storage procedures in a similar way as it adapts to
transport protocols. A prime example is multi-resolution video storage,
where RLNC presents important advantages. Figure 8 depicts the
storage of two-layer video content across a large number of servers or
drives
11
.
Figure 8: Coded Resolution-aware
Storage.
Three possible schemes are shown. In conventional schemes (Classic),
low- (L1) and high-resolution (L1, L2) copies are provided by separate
groups of nodes. In Uncoded Resolution-aware Storage (URS), the base
(L1) and renement (L2) layers are stored separately. This introduces
additional exibility in the provisioning of storage. Finally, in Coded
Resolution-aware Storage (CRS), the second group of nodes stores
linear combinations of the layers. Unlike both uncoded schemes, in the
coded scheme, type-2 requests need not obtain the base layer from the
heavily loaded L1 nodes, thus signicantly reducing server saturation.
USE CASE: Multi-resolution Video Storage
Recent research results illustrate the signicant reduc-
tion in saturation probability obtained through Coded
Resolution-aware Storage (CRS)
11
. As the proportion
of stored high-denition videos globally increases, RLNC
provides a viable solution for continued provisioning of a
high Quality of Experience (QoE).
A codeon white paper 15
RANDOM LI NEAR NETWORK CODI NG: A Tutorial
New Distribution Models
RLNC enables new content distribution models. For example, RLNC
offers the opportunity to ofoad Content Distribution Networks (CDNs)
through coded distributed storage
13
. As illustrated in Figure 9, the
13
W. Zeng, F.P. Calmon and M. M edard.
When P2P meets the CDN: a network
coding approach to integrating
the two. Information Theory and
Applications Workshop (ITA) 2013
caching of a small proportion of the coded sectors at edge nodes has a
number of benecial consequences. As in conventional uncoded caches,
it enables edge users to speed up their downloads. Unlike conventional
caching solutions, coded caching requires less storage resources and
simplies download transactions as any coded sector can replace any
missing le sector.
Figure 9: Coded distributed storage
ofoads servers and speeds downloads.
Most importantly, when the locally cached sectors are not sufcient to
replace missing sectors, users can use other coded caches rather than
return to the server. Therefore, RLNC uniquely allows applications to
combine the contents of different caches without prior coordination of
cache content. The availability of coded sectors at edge caches hence
ofoads servers more efciently. Moreover, coded caching is backward
compatible, as users are able to compute missing sectors from both
coded and un-encoded caches.
Novel Content Protection Paradigms
RLNC enables new forms of content protection where parts of a le act
as a cipher for the rest
14
. Figure 10 illustrates a simple example of an
14
P. Oliveira, L. Lima, T.T. Vinhoza,
J. Barros, and M. M edard. Trusted
Storage over Untrusted Networks.
IEEE Globecom 2010 - Communication
Theory Symposium.
RLNC scheme where le sectors are coded and spread over a number
of locations such that the original data cannot be reconstructed without
A codeon white paper 16
RANDOM LI NEAR NETWORK CODI NG: A Tutorial
access to a minimum number of locations. In the example of Figure 10,
an eavesdropper with access to less than three networks is unable to
decode any symbol from the original le. RLNC can hence be used to
provide additional security on top of existing encryption schemes for
critical data. Alternatively, RLNC can provide a exible means of trading
off complexity against level of security. Such increased robustness to
eavesdropping may thus become an effective tool for content protection
and digital rights management (DRM) enforcement.
Figure 10: RLNC enables new forms of
distributed content protection.
A codeon white paper 17

Вам также может понравиться