0 оценок0% нашли этот документ полезным (0 голосов)
77 просмотров17 страниц
RLNC is a flexible, next-generation coding scheme based on linear algebra. It enables operations that were not previously possible with traditional encoding schemes. Existing coding technologies are all end-to-end systems, with a single encoder and decoder.
RLNC is a flexible, next-generation coding scheme based on linear algebra. It enables operations that were not previously possible with traditional encoding schemes. Existing coding technologies are all end-to-end systems, with a single encoder and decoder.
RLNC is a flexible, next-generation coding scheme based on linear algebra. It enables operations that were not previously possible with traditional encoding schemes. Existing coding technologies are all end-to-end systems, with a single encoder and decoder.
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