400 likes | 670 Views
Network Coding and its Applications in Communication Networks. Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering Texas A&M University. Information . Course webpage http://cegroup.ece.tamu.edu/spalex/netcod Office Hours TBA, WERC 333D
E N D
Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering Texas A&M University
Information • Course webpage • http://cegroup.ece.tamu.edu/spalex/netcod • Office Hours • TBA, WERC 333D • Or by appointment spalex@ece.tamu.edu • Will use neo email
Information vs. Commodity Flow b1 b1 b1 Replication Replication b2 b1 b1+ b2 Encoding Encoding
Network coding • New research area (Ahlswede et. al. 2000) • Benefits many areas • Networking, Communication, Distributed computing • Uses tools from Information Theory, Algebra, Combinatorics • Has a potential for improving: • throughput, robustness, reliability and security of networking and distributed systems.
Communication Networks • Directed graph G=(V,E). • Source nodes S. • Terminal nodes T. • Requirement: deliver data from S to T.
The multicast setting • Multicast: One source transmits data to all terminals.
Standard approach • Each node forwards and possibly duplicates messages • Paths for unicast • Trees for multicast
Standard approach • Steiner Tree • Given a set T of points (terminals), interconnect them by a tree of shortest length.
Standard tree packing • Steiner Tree Packing • Given a source node s and a set Tof terminals, interconnect them by a tree of shortest length.
Network coding Introduce nodes that do more than forwarding + duplication. • Each outgoing packets is a function of incoming packets. m1 F1(m1,m2,m3) m2 F2(m1,m2,m3) m3 encoding
Network coding • Linear Coding over finite fields • Examples
Traditional Approach Steiner Tree Packing Integer reservation - 1 message per time unit Fractional/time sharing solution 1.5 messages per time unit
Network coding helps! 1.5 messages per time unit 2 messages per time unit One message per time unit
Delay Minimization Delay =3 Delay =2 Jain and Chou (2004)
Energy Minimization Without network coding - 4 messages With network coding - 3 messages Wu et al. (2003); Wu, Chou, Kung (2004) Lun, Médard, Ho, Koetter (2004)
Cost minimization Cost without network coding 4 with network coding 3 - 33% reduction
Research Issues • How useful is network coding? • Multicast • Practical Implementation • Beyond Multicast • Networks with cycles • What operations should be performed at each node? • Linear vs. non-linear operations • The minimum size of a packet • Under what conditions is a given network coding problem solvable • How to find suitable edge functions? • How many encoding nodes are needed?
Syllabus • In this class: • Overview of the main results • Overview of the current research • Applications in communication networks • Directions for future research
Syllabus • Introduction • Introduction to network coding • Introduction to network algorithms • Benefits and coding advantage • Diversity coding • Linear Network coding
Course Outline • Network optimization and Linear Programming (LP) • Basics of LP • LP duality • Primal-dual algorithms • Approximation of NP-hard problem • The probabilistic method
Course Outline • Network flows and disjoint path algorithms (3) • Theory of network flows • Disjoint paths algorithms • Increasing network connectivity • Network reliability
Course Outline • Network coding (12) • Algebraic framework • Polynomial – time algorithms for network code desing • Randomized algorithms • Distributed network coding • Information-flow decomposition • Network coding for cyclic networks • Encoding complexity • Practical network coding
Course Outline • Design of robust communication networks • Bandwidth allocation • Network coding-based methods • Connection to convolution codes • Knots and special cases • Information-Theoretic approach for network management
Course Outline • Network Error Correction (4) • Robust networks • Correcting adversarial errors • Secure network coding
Course Outline • Encoding Complexity • Bounds on the number of encoding nodes • Hardness results
Course Outline • Coding for non-multicast networks • Insufficiency of linear network codes • Non-linear network codes
Course Outline • Network coding applications • Applications in distributed computing • Applications in sensor networks • Network planning in wireless and ad-hoc networks • Applications for network storage
Course Outline • Web models and information retrieval algorithms • Modeling the web • Taxonomy of information retrieval models • Retrieval evaluation
Course Outline • Textbook: • No textbook will be used. • Notes and research papers will be available on the course website. • A good reference site: www.networkcoding.info
Course Outline • Tentative Grading Policy: • Assignments 40% • Project 40% • Student Presentations 20%
Network Capacity • In general: the maximum number of packets that can be sent throughout the network. • For a given list of source-destination pairs • Each link has a limited capacity
Network Capacity • Multicast connections: • The maximum number of packets that can be sent from s to T. • Each link has a limited capacity
Cut • Definition: A cut(V1,V2) is a partition of the nodes of the graph into two subsets V1 and V2=V\V1 • Size of the cut: The total capacity of links between nodes in V1 and V2.
Cut (cont.) • We say that a cut (V1,V2) separates s and t if sV1 and tV2.
Flow interpretation • Menger’s theorem: • The minimum size of a cut between s and t is h There are h disjoint paths between s and each t • A special case of min-cut – max-flow theorem
Upper bound • Let h be the size of the min-cut between s and a terminal tT • We cannot send more than h packets to this terminal
Challenge • Let h be the size of the min-cut between s and a terminal tT • Can send h packets to each terminal tT separatly • e.g., by using h disjoint paths • Problem: • How to send them to all terminals simultaneously ? • Solution: • Network coding
Challenge • Path clashing is resolved by using NC