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

1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

Jan 01, 2016

Download

Documents

Asher Spencer
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

1

Network Coding and its Applications in Communication

Networks

Alex Sprintson

Computer Engineering GroupDepartment of Electrical and

Computer EngineeringTexas A&M University

Page 2: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

2

Information

Course webpage http://cegroup.ece.tamu.edu/spalex/netco

d Office Hours

TBA, WERC 333D Or by appointment [email protected]

Will use neo email

Page 3: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

3

Information vs. Commodity Flow

b1

b1 b1

Replication

b1b2

b1+ b2

Encoding

Replication

Encoding

Page 4: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

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.

Page 5: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

5

Communication Networks

Directed graph G=(V,E).

Source nodes S. Terminal nodes T. Requirement:

deliver data from S to T.

t1

t2t3

t4

s1

s2s3

s4

G=(V,E)

Page 6: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

6

The multicast setting

Multicast: One source transmits data to all terminals.

t1

t2t3

t4

s

Page 7: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

7

Standard approach

Each node forwards and possibly duplicates messages Paths for unicast Trees for

multicast

t1

t2t3

t4

s1

s2

Page 8: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

8

Standard approach

Steiner Tree Given a set T of

points (terminals), interconnect them by a tree of shortest length.

s

t1

t2

t3

t4

Steiner nodes

Page 9: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

9

Standard tree packing

Steiner Tree Packing Given a source node

s and a set T of terminals, interconnect them by a tree of shortest length.

s

t1

t2

t3

t4

Page 10: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

10

Network coding

Introduce nodes that do more than forwarding + duplication.

Each outgoing packets is a function of incoming packets.

m1

m2

m3

F1(m1,m2,m3)

F2(m1,m2,m3)

encoding

Page 11: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

11

Network coding

Linear Coding over finite fields Examples

m2

m1

m3

m1+m2+m3

m1

m2

m3

m1+2m2+3m3

Page 12: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

12

Traditional Approach

Steiner Tree Packing

Integer reservation -1 message per time unit

Fractional/time sharing solution1.5 messages per time unit

t1 t2

s

50% utilization

t1 t2

s

0% utilization

Page 13: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

13

Network coding helps!

One message per time unit

1.5 messages per time unit

t1 t2

s

50% utilization

t1 t2

s

0% utilization

s

t1 t2

100% utilization

m1 m2

m1m2m1Åm2

2 messages per time unit

Page 14: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

14

Delay Minimization

Jain and Chou (2004)

t1 t3

t2

a

a

a

b

b

b

s

Delay =3 Delay =2

t1 t3

t2

a

aÅb

b

b

a

s

aÅb

Page 15: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

15

Energy Minimization

Wu et al. (2003); Wu, Chou, Kung (2004)Lun, Médard, Ho, Koetter (2004)

s1 s2

a bs1 s2

b a

Without network coding - 4 messages

s1 s2

a bs1 s2

aÅbaÅb

With network coding - 3 messages

Page 16: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

16

Cost minimization

Cost without network coding 4with network coding 3 - 33%

reduction

t1 t2

s

0 0

00

1 1

0 0

1

Edge Costs

t1 t2

s

0 0

00

1 1

0 0

1

a

aa

b

bb

a,b

a,ba,b

a,b

aÅb

Page 17: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

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?

Page 18: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

18

Syllabus

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

Page 19: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

19

Syllabus

Introduction Introduction to network coding Introduction to network algorithms Benefits and coding advantage Diversity coding Linear Network coding

Page 20: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

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

Page 21: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

21

Course Outline

Network flows and disjoint path algorithms (3)

Theory of network flows Disjoint paths algorithms Increasing network connectivity Network reliability

Page 22: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

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

Page 23: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

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

Page 24: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

24

Course Outline

Network Error Correction (4) Robust networks Correcting adversarial errors Secure network coding

Page 25: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

25

Course Outline

Encoding Complexity Bounds on the number of encoding nodes Hardness results

Page 26: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

26

Course Outline

Coding for non-multicast networks   Insufficiency of linear network codes Non-linear network codes

Page 27: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

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 

Page 28: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

28

Course Outline

Web models and information retrieval algorithms Modeling the web Taxonomy of information retrieval models Retrieval evaluation

Page 29: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

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

Page 30: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

30

Course Outline

Tentative Grading Policy: Assignments 40%  Project 40% Student Presentations 20%

Page 31: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

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

s1

t1

s2

t2

Page 32: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

32

Network Capacity

Multicast connections: The maximum number

of packets that can be sent from s to T.

Each link has a limited capacity

s1

t1

t3

t2

Page 33: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

34

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.

G V1

V2

s

c

Page 34: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

35

Cut (cont.)

We say that a cut (V1,V2) separates s and t if sV1 and tV2.

t3

s

t1

t2t4

t5

Page 35: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

36

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

Page 36: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

37

Flow interpretation

t3

s

t1

t2t4

t5

t3

s

t1

t2t4

t5

Page 37: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

38

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

s1

t1

t3

t2

Page 38: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

39

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

Page 39: 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.

40

Challenge

Path clashing is resolved by using NC

s

t1 t2

s

t1 t2

s

t1 t2