Network Coding: Fundamentals and Applications
()
About this ebook
Network coding is a field of information and coding theory and is a method of attaining maximum information flow in a network. This book is an ideal introduction for the communications and network engineer, working in research and development, who needs an intuitive introduction to network coding and to the increased performance and reliability it offers in many applications.
This book is an ideal introduction for the research and development communications and network engineer who needs an intuitive introduction to the theory and wishes to understand the increased performance and reliability it offers over a number of applications.
- A clear and intuitive introduction to network coding, avoiding difficult mathematics, which does not require a background in information theory.
- Emphasis on how network coding techniques can be implemented, using a wide range of applications in communications and network engineering
- Detailed coverage on content distribution networks, peer-to-peer networks, overlay networks, streaming and multimedia applications, storage networks, network security and military networks, reliable communication, wireless networks, delay-tolerant and disruption-tolerant networks, cellular and ad hoc networks (including LTE and WiMAX), and connections with data compression and compressed sensing
- Edited and contributed by the world’s leading experts
Related to Network Coding
Related ebooks
Computing in Communication Networks: From Theory to Practice Rating: 0 out of 5 stars0 ratingsWireless Networking Complete Rating: 5 out of 5 stars5/5Cloud Networking: Understanding Cloud-based Data Center Networks Rating: 5 out of 5 stars5/5Computer Networks: A Systems Approach Rating: 4 out of 5 stars4/5Channel Coding: Theory, Algorithms, and Applications: Academic Press Library in Mobile and Wireless Communications Rating: 0 out of 5 stars0 ratingsSoftware-Defined Networks: A Systems Approach Rating: 5 out of 5 stars5/5MIMO: From Theory to Implementation Rating: 5 out of 5 stars5/5Peering Carrier Ethernet Networks Rating: 0 out of 5 stars0 ratingsBuilding Wireless Sensor Networks: Application to Routing and Data Diffusion Rating: 0 out of 5 stars0 ratingsAlgorithms of the Intelligent Web Rating: 0 out of 5 stars0 ratingsNetworks on Chips: Technology and Tools Rating: 5 out of 5 stars5/5P2P Networking and Applications Rating: 4 out of 5 stars4/5Hardware and Computer Organization Rating: 0 out of 5 stars0 ratingsUnderstanding and Designing Computer Networks Rating: 5 out of 5 stars5/5Computer Organization and Design: The Hardware / Software Interface Rating: 4 out of 5 stars4/5IPv6: Theory, Protocol, and Practice Rating: 5 out of 5 stars5/5The C++ Workshop: Learn to write clean, maintainable code in C++ and advance your career in software engineering Rating: 0 out of 5 stars0 ratingsC# 2.0: Practical Guide for Programmers Rating: 5 out of 5 stars5/5Sass and Compass in Action Rating: 5 out of 5 stars5/5Clojure Data Analysis Cookbook - Second Edition Rating: 0 out of 5 stars0 ratingsEmbedded Computing: A VLIW Approach to Architecture, Compilers and Tools Rating: 0 out of 5 stars0 ratingsProgramming for Everyone Rating: 3 out of 5 stars3/5Computer Programming and Computer Systems Rating: 0 out of 5 stars0 ratingsObject-Oriented Graphics Programming in C++ Rating: 0 out of 5 stars0 ratingsUNIX for OpenVMS Users Rating: 0 out of 5 stars0 ratingsLearning Linux Binary Analysis Rating: 4 out of 5 stars4/5Real-Time Embedded Systems Rating: 0 out of 5 stars0 ratingsThird-Party JavaScript Rating: 0 out of 5 stars0 ratings
Computers For You
The Invisible Rainbow: A History of Electricity and Life Rating: 4 out of 5 stars4/5Elon Musk Rating: 4 out of 5 stars4/5Standard Deviations: Flawed Assumptions, Tortured Data, and Other Ways to Lie with Statistics Rating: 4 out of 5 stars4/5Slenderman: Online Obsession, Mental Illness, and the Violent Crime of Two Midwestern Girls Rating: 4 out of 5 stars4/5101 Awesome Builds: Minecraft® Secrets from the World's Greatest Crafters Rating: 4 out of 5 stars4/5Everybody Lies: Big Data, New Data, and What the Internet Can Tell Us About Who We Really Are Rating: 4 out of 5 stars4/5The Hacker Crackdown: Law and Disorder on the Electronic Frontier Rating: 4 out of 5 stars4/5CompTIA IT Fundamentals (ITF+) Study Guide: Exam FC0-U61 Rating: 0 out of 5 stars0 ratingsHow to Create Cpn Numbers the Right way: A Step by Step Guide to Creating cpn Numbers Legally Rating: 4 out of 5 stars4/5The Mega Box: The Ultimate Guide to the Best Free Resources on the Internet Rating: 4 out of 5 stars4/5The ChatGPT Millionaire Handbook: Make Money Online With the Power of AI Technology Rating: 0 out of 5 stars0 ratingsMastering ChatGPT: 21 Prompts Templates for Effortless Writing Rating: 5 out of 5 stars5/5SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5Alan Turing: The Enigma: The Book That Inspired the Film The Imitation Game - Updated Edition Rating: 4 out of 5 stars4/5CompTIA Security+ Practice Questions Rating: 2 out of 5 stars2/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5Dark Aeon: Transhumanism and the War Against Humanity Rating: 5 out of 5 stars5/5Procreate for Beginners: Introduction to Procreate for Drawing and Illustrating on the iPad Rating: 0 out of 5 stars0 ratingsThe Professional Voiceover Handbook: Voiceover training, #1 Rating: 5 out of 5 stars5/5The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling Rating: 0 out of 5 stars0 ratingsPractical Lock Picking: A Physical Penetration Tester's Training Guide Rating: 5 out of 5 stars5/5Creating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates Rating: 4 out of 5 stars4/5
Reviews for Network Coding
0 ratings0 reviews
Book preview
Network Coding - Muriel Medard
Table of Contents
Cover image
Front Matter
Copyright
Preface
Acknowledgments
About the Editors
List of Contributors
List of Figures
List of Tables
Chapter 1. An Introduction to Network Coding
1. The Butterfly Networks
2. Graphs and Networks
3. The Single-Source Multicast Problem
4. Construction of Network Codes for Multicasting
5. Coding versus Routing
6. Noncoherent Network Coding
7. On Alphabets and Nonlinearity
8. Conclusions
Chapter 2. Harnessing Network Coding in Wireless Systems
1. Introduction
2. Network Coding Background: The Practitioner's Perspective
3. Applications of Network Coding in Wireless Networks
4. Conclusion
Chapter 3. Network Coding for Content Distribution and Multimedia Streaming in Peer-to-Peer Networks
1. P2P Content Distribution with Network Coding
2. P2P Multimedia Streaming with Network Coding
3. Conclusion
Chapter 4. Network Coding in the Real World
1. Introduction: It's not Rocket Science
2. Network Coding for Mobile Phones
3. System Components and Design Choices
4. Practical Problems
5. A Binary Deterministic Approach
6. Random Linear Network Coding (RLNC)
7. Speeding up RLNC through Optimizations
8. Speeding up RLNC through Design
9. A Mobile Phone Application with Network Coding
10. Pitfalls and Parameters
Chapter 5. Network Coding and User Cooperation for Streaming and Download Services in LTE Networks
1. Introduction
2. Raptor Codes in eMBMS
3. Packet Erasure Pattern
4. User Cooperation for Erasure Recovery
5. Network Coding Applied in User Cooperation
6. Simulation Results
7. Conclusion
Chapter 6. CONCERTO
1. Introduction
2. CONCERTO Overview
3. Network Coding
4. Subgraph Construction
5. Network Coding Transport Protocols
6. Network Coding Benefits
7. Field Experiment Infrastructure
8. Experimental Results and Analysis
9. Conclusion and Future Work
Chapter 7. Secure Network Coding
1. Introduction
2. Model
3. Eavesdropping Security
4. Jamming Security
5. Secret Transmission in the Presence of Eavesdropping and Jamming Adversaries
6. Some Other Variants
7. Discussion
Chapter 8. Network Coding and Data Compression
1. Introduction
2. Model and Notation
3. Rate Region Properties for General Joint Source-Network Coding
4. Capacity Results for Lossless Multicast
5. Practical Approaches
Chapter 9. Scaling Laws with Network Coding
1. Introduction and Basic Setup
2. Wireless Broadcast over Lossy Links
3. Coding in Large-Scale Mobile ad hoc Networks
4. Conclusion
Chapter 10. Network Coding in Disruption Tolerant Networks
1. Introduction
2. Background on Disruption Tolerant Networks and Random Linear Coding
3. Design Space
4. Coding Benefits for Broadcast Communication
5. Coding Benefits for Unicast Applications
6. Open Issues
7. Summary and Conclusions
Index
Front Matter
Network Coding
To access full color downloadable figures that feature in the book please visit www.elsevierdirect.com/companions/9780123809186
Network Coding
Fundamentals and Applications
Edited by
MURIEL MÉDARD
Massachusetts Institute of Technology, Cambridge, MA, USA
ALEX SPRINTSON
Texas A&M University, College Station, TX, USA
Academic Press is an imprint of Elsevier
Copyright
Academic Press is an imprint of Elsevier
The Boulevard, Langford Lane, Kidlington, Oxford, OX5 1GB
225 Wyman Street, Waltham, MA 02451, USA
First published 2012
Copyright © 2012 Elsevier Inc. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on how to seek permission, further information about the Publisher's permissions policies and our arrangement with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions.
This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein).
Notices
Knowledge and best practice in this field are constantly changing. As new research and experience broaden our understanding, changes in research methods, professional practices, or medical treatment may become necessary.
Practitioners and researchers must always rely on their own experience and knowledge in evaluating and using any information, methods, compounds, or experiments described herein. In using such information or methods they should be mindful of their own safety and the safety of others, including parties for whom they have a professional responsibility.
To the fullest extent of the law, neither the Publisher nor the authors, contributors, or editors, assume any liability for any injury and/or damage to persons or property as a matter of products liability, negligence or otherwise, or from any use or operation of any methods, products, instructions, or ideas contained in the material herein.
British Library Cataloguing in Publication Data
A catalogue record for this book is available from the British Library.
Library of Congress Number: 2011933932
ISBN: 978-0-12-380918-6
For information on all Academic Press publications visit our website at www.elsevierdirect.com
Printed and bound in the United States
12 13 14 15 10 9 8 7 6 5 4 3 2 1
Preface
Muriel Médard
Massachusetts Institute of Technology, Cambridge, MA, USA
Alex Sprintson
Texas A&M University, College Station, TX, USA
The network coding area was initiated at the turn of the millennium in a seminal paper by Ahlswede, Cai, and Yeung, and since then has captivated the researchers and practitioners around the world. Recent research efforts shed light on many exciting network coding problems, fundamental capacity limits, and performance gains. The researchers were able to design capacity-achieving network codes for several important practical settings, establish computational complexity of several fundamental network coding problems, and devise efficient network coding algorithms. In addition, the researchers discovered deep connections between network coding and other areas of networking, complexity theory, graph theory, matroid theory, coding theory, and information theory.
Despite significant progress on the theoretical front, practical applications of network coding are only beginning to emerge. While the network coding technique has been successfully applied in many areas, most notably content distribution systems, there is a significant untapped potential for leveraging network coding for improving performance in wireless networks, storage networks, disruption-tolerant networks, and other areas. In addition, the network coding technique has a significant potential to improve security, robustness, manageability, and support of Quality of Service in wired and wireless environments.
This book provides an accessible tutorial introduction and a comprehensive survey of practical applications of network coding in various areas of networking and distributed computing. Our goal is to expose the richness of network coding applications and present new exciting opportunities in network coding research. The book consists of ten chapters written by recognized experts in the field. Each chapter focuses on a specific application area and is written in a clear way, using minimum mathematical notation, so every reader familiar with the basic networking concepts will be able to understand the material. Each chapter provides a comprehensive literature survey with references to the most relevant work in the area for future reading.
Chapter 1 is a tutorial-style introduction to the basics of network coding and provides an overview of the network information flow, linear network coding, the polynomial-time algorithm for code construction, random network coding, coding advantage, subspace transmissions, and nonlinear network codes.
Chapter 2 focuses on the key principles that form the foundation of the network coding implementation in wireless networks. The chapter discusses the principles of opportunistic listening and coding, as well as the details of the forwarding architecture and network coding performance gains. The chapter also describes the principles of analog network coding.
Chapter 3 discusses the applications of network coding in peer-to-peer networks with the focus on content distribution and multimedia streaming. The chapter explores the possible design space of peer-to-peer systems with network coding, and shows the advantages of using the coding technique in this setting.
Chapter 4 discusses the implementation of network coding on commercial mobile platforms. The chapter describes basic system components and design choices as well as practical problems and performance issues associated with implementation of network coding algorithms in mobile phones.
Chapter 5 discusses the applications of network coding in LTE networks. The authors focus on user-cooperation schemes for erasure recovery, and show that leveraging network coding techniques yields significant performance gains.
Chapter 6 focuses on mobile ad hoc networks and describes a fully implemented communication system based on a network coding protocol stack. The chapter examines practical implementation issues associated with implementation of network coding on an embedded system and presents results from field experiments.
Chapter 7 focuses on applications of network coding for improving network security. The chapter covers passive adversaries who only have eavesdropping capabilities and active adversaries who can perform both eavesdropping and jamming. The chapter also discusses adversaries with limited computational power.
Chapter 8 discusses connections between network coding, source coding, and data compression.
Chapter 9 focuses on the performance of network coding in wireless networks under several scaling regimes, including the network size, the coding window size, the number of flows in the network, and the application delay constraints. The chapter derives and analyzes scaling laws that help quantify the performance of network coding schemes in large networks.
Chapter 10 focuses on the application of network coding in delay and disruption tolerant networks. The chapter discusses unique challenges that arise in the design of such networks and shows that the network coding technique is instrumental in addressing these challenges. The chapter covers transmission and buffer management, and recovery schemes, as well as coding benefits in energy efficiency and improving delay-transmission tradeoffs.
Target Audience
The book is intended for researchers and practitioners who are interested in the general area of network coding and its applications in various areas of communication networks. We assume that the readers of this book have only a general background in networking, with no prior exposure to the network coding techniques or applications of network coding. This book will be ideal for a networking professional who would like to gain basic knowledge in this area and learn about the application of this technique. The book will also be valuable for graduate students who would like to conduct research on network coding. The book can be used as a textbook or a reference book in courses that focus on network coding or advanced coding technologies.
Acknowledgments
We are grateful to all contributors for their dedication, enthusiasm, and commitment in writing and revising the chapters. Clearly, this book would not be possible without their very generous efforts. We are also thankful to Danilo Silva for his help in reviewing the chapters; Tim Pitts, Naomi Robertson, Charlotte Kent and Lisa Jones from Academic Press for their support, encouragement, flexibility, understanding, and help with all aspects of the editorial work. Last but not least we are thankful to our spouses and families for their encouragement, sacrifice in giving us free time to work on the project, and providing inspiration.
About the Editors
Muriel Médard
Muriel Médard received B.S. degrees in Electrical Engineering and Computer Science (EECS), in Mathematics and in Humanities, as well as M.S. and Sc.D. degrees EE, all from the Massachusetts Institute of Technology (MIT).
She is a Professor in the EECS Department at MIT. She was previously an Assistant Professor at the University of Illinois Urbana-Champaign and a Staff Member at MIT Lincoln Laboratory. Her research interests are in network coding, as well as optical and wireless networks.
Muriel has served as an Associate Editor (AE) for the Optical Communications and Networking Series of the IEEE Journal on Selected Areas in Communications (JSAC), for the IEEE Transactions on Information Theory (IT), and for the OSA Journal of Optical Networking. She has been Guest Editor for the IEEE/OSA Journal of Lightwave Technology (JLT), for IT (twice), for JSAC, and for the IEEE Transactions on Information Forensics and Security. She is an AE for JLT. She has served as Technical Program Co-chair of IEEE ISIT, of WiOpt, and of ACM CoNEXT.
She is a recipient of the 2009 IEEE William R. Bennett Prize in the Field of Communications Networking, the 2009 IEEE Joint Information Theory/Communications Society Paper Prize, the 2002 IEEE Leon K. Kirchmayer Prize Paper Award, and the Best Paper Award at the Fourth International Workshop on the Design of Reliable Communication Networks, 2003. She received an NSF CAREER Award in 2001 and the 2004 Harold E. Edgerton Faculty Achievement Award at MIT. She was named a 2007 Gilbreth Lecturer by the National Academy of Engineering. She has served on the Board of Governors of the IEEE Information Theory Society for several years, currently as First Vice-President.
Alex Sprintson
Alex Sprintson received the B.Sc. degree (summa cum laude), M.Sc., and Ph.D. degrees in electrical engineering from the Technion–Israel Institute of Technology, Haifa, in 1995, 2001, and 2003, respectively.
Alex is an Associate Professor with the Department of Electrical and Computer Engineering, Texas A&M University, College Station. From 2003 to 2005, he was a Postdoctoral Research Fellow with the California Institute of Technology, Pasadena. His research interests lie in the general area of communication networks with a focus on network coding, network survivability and robustness network algorithms, and QoS routing.
Dr. Sprintson received the Viterbi Postdoctoral Fellowship and the NSF CAREER award. He is an Associate Editor of the IEEE Communications Letters and Computer Networks Journal. He has been a member of the Technical Program Committee for IEEE Infocom 2006–2012.
List of Contributors
Frank R. Kschischang 1
Department of Electrical and Computer Engineering, University of Toronto, Toronto, Canada
Dina Katabi 39
Computer Science & Artificial Intelligence Lab, MIT, MA, USA
Sachin Katti 39
Department of Electrical Engineering, Stanford University, CA, USA
Hariharan Rahul 39
Computer Science & Artificial Intelligence Lab, MIT, MA, USA
Chen Feng 61
Department of Electrical and Computer Engineering, University of Toronto, Toronto, Canada
Baochun Li 61
Department of Electrical and Computer Engineering, University of Toronto, Toronto, Canada
Janus Heide 87, 115
Department of Electronic Systems, Aalborg University, Aalborg, Denmark
Morten V. Pedersen 87, 115
Department of Electronic Systems, Aalborg University, Aalborg, Denmark
Frank H.P. Fitzek 87, 115
Department of Electronic Systems, Aalborg University, Aalborg, Denmark
Torben Larsen 87
Department of Electronic Systems, Aalborg University, Aalborg, Denmark
Qi Zhang 115
Aarhus University, Aarhus, Denmark
Jorma Lilleberg 115
Renesas Mobile Corporation, Oulu, Finland
Kari Rikkinen 115
Renesas Mobile Corporation, Oulu, Finland
Victor Firoiu 141
Advanced Information Technologies, BAE Systems, Burlington, MA, USA
Greg Lauer 141
BBN Technologies, Cambridge, MA, USA
Brian DeCleene 141
Advanced Information Technologies, BAE Systems, Burlington, MA, USA
Soumendra Nanda 141
Advanced Information Technologies, BAE Systems, Burlington, MA, USA
Sidharth Jaggi 183
Department of Information Engineering, the Chinese University of Hong Kong, Hong Kong
Michael Langberg 183
Department of Mathematics and Computer Science, the Open University of Israel, Raanana, Israel
Mayank Bakshi 217
Department of Electrical Engineering, California Institute of Technology, Pasadena, CA, USA
Michelle Effros 217
Department of Electrical Engineering, California Institute of Technology, Pasadena, CA, USA
Tracey Ho 217
Department of Electrical Engineering, California Institute of Technology, Pasadena, CA, USA
Muriel Médard 217
Department of Electrical Engineering, Massachusetts Institute of Technology, Cambridge, MA, USA
Atilla Eryilmaz 235
Department of Electrical and Computer Engineering, Ohio State University, Columbus, OH, USA
Lei Ying 235
Department of Electrical and Computer Engineering, Iowa State University, Ames, IA, USA
Xiaolan Zhang 267
Department of Computer & Information Sciences, Fordham University, New York, USA
Giovanni Neglia 267
INRIA, Sophia Antipolis, France
Jim Kurose 267
Department of Computer Science, University of Massachusetts, Amherst, MA, USA
List of Figures
List of Tables
Chapter 1. An Introduction to Network Coding
Frank R. Kschischang
Department of Electrical and Computer Engineering, University of Toronto, Toronto, Canada
Contents
1. The Butterfly Networks 2
2. Graphs and Networks 6
2.1. Combinational Packet Networks 6
2.2. Network Information Flow Problems 8
3. The Single-Source Multicast Problem 9
3.1. Multicast Capacity 9
3.2. Linear Network Coding 10
3.3. Linear Network Coding Achieves Multicast Capacity 13
4. Construction of Network Codes for Multicasting 16
4.1. The Linear Information Flow Algorithm 16
4.2. Random Construction 20
5. Coding versus Routing 21
6. Noncoherent Network Coding 24
6.1. Transmission with Packet Headers 24
6.2. Subspace Transmission 25
7. On Alphabets and Nonlinearity 26
8. Conclusions 29
Acknowledgments 29
Appendix 29
A. Finite