1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering...

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

Transcript of 1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering...

1

Network Coding and its Applications in Communication

Networks

Alex Sprintson

Computer Engineering GroupDepartment of Electrical and

Computer EngineeringTexas A&M University

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

3

Information vs. Commodity Flow

b1

b1 b1

Replication

b1b2

b1+ b2

Encoding

Replication

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.

t1

t2t3

t4

s1

s2s3

s4

G=(V,E)

6

The multicast setting

Multicast: One source transmits data to all terminals.

t1

t2t3

t4

s

7

Standard approach

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

multicast

t1

t2t3

t4

s1

s2

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

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

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

11

Network coding

Linear Coding over finite fields Examples

m2

m1

m3

m1+m2+m3

m1

m2

m3

m1+2m2+3m3

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

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

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

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

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

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

s1

t1

s2

t2

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

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

35

Cut (cont.)

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

t3

s

t1

t2t4

t5

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

37

Flow interpretation

t3

s

t1

t2t4

t5

t3

s

t1

t2t4

t5

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

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

40

Challenge

Path clashing is resolved by using NC

s

t1 t2

s

t1 t2

s

t1 t2