1 / 39

Network Coding and its Applications in Communication Networks

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

channing
Download Presentation

Network Coding and its Applications in Communication Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering Texas A&M University

  2. 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

  3. Information vs. Commodity Flow b1 b1 b1 Replication Replication b2 b1 b1+ b2 Encoding Encoding

  4. 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.

  5. Communication Networks • Directed graph G=(V,E). • Source nodes S. • Terminal nodes T. • Requirement: deliver data from S to T.

  6. The multicast setting • Multicast: One source transmits data to all terminals.

  7. Standard approach • Each node forwards and possibly duplicates messages • Paths for unicast • Trees for multicast

  8. Standard approach • Steiner Tree • Given a set T of points (terminals), interconnect them by a tree of shortest length.

  9. Standard tree packing • Steiner Tree Packing • Given a source node s and a set Tof terminals, interconnect them by a tree of shortest length.

  10. 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

  11. Network coding • Linear Coding over finite fields • Examples

  12. Traditional Approach Steiner Tree Packing Integer reservation - 1 message per time unit Fractional/time sharing solution 1.5 messages per time unit

  13. Network coding helps! 1.5 messages per time unit 2 messages per time unit One message per time unit

  14. Delay Minimization Delay =3 Delay =2 Jain and Chou (2004)

  15. 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)

  16. Cost minimization Cost without network coding 4 with network coding 3 - 33% reduction

  17. 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?

  18. Syllabus • In this class: • Overview of the main results • Overview of the current research • Applications in communication networks • Directions for future research

  19. Syllabus • Introduction • Introduction to network coding • Introduction to network algorithms • Benefits and coding advantage • Diversity coding • Linear Network coding

  20. Course Outline • Network optimization and Linear Programming (LP) • Basics of LP • LP duality • Primal-dual algorithms • Approximation of NP-hard problem • The probabilistic method

  21. Course Outline • Network flows and disjoint path algorithms (3) • Theory of network flows • Disjoint paths algorithms • Increasing network connectivity • Network reliability

  22. 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

  23. 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

  24. Course Outline • Network Error Correction (4) • Robust networks • Correcting adversarial errors • Secure network coding

  25. Course Outline • Encoding Complexity • Bounds on the number of encoding nodes • Hardness results

  26. Course Outline • Coding for non-multicast networks •   Insufficiency of linear network codes • Non-linear network codes

  27. 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 

  28. Course Outline • Web models and information retrieval algorithms • Modeling the web • Taxonomy of information retrieval models • Retrieval evaluation

  29. 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

  30. Course Outline • Tentative Grading Policy: • Assignments 40%  • Project 40% • Student Presentations 20%

  31. 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

  32. Network Capacity • Multicast connections: • The maximum number of packets that can be sent from s to T. • Each link has a limited capacity

  33. 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.

  34. Cut (cont.) • We say that a cut (V1,V2) separates s and t if sV1 and tV2.

  35. 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

  36. Flow interpretation

  37. Upper bound • Let h be the size of the min-cut between s and a terminal tT • We cannot send more than h packets to this terminal

  38. Challenge • Let h be the size of the min-cut between s and a terminal tT • Can send h packets to each terminal tT separatly • e.g., by using h disjoint paths • Problem: • How to send them to all terminals simultaneously ? • Solution: • Network coding

  39. Challenge • Path clashing is resolved by using NC

More Related