introduction to network coding

47
1 Presented by: Mohamed Y. Selim Visiting Scholar at Iowa State University Lecturer Assistant at Suez Canal University [email protected]

Upload: electronics-communication-staff-scu-suez-canal-university

Post on 08-Aug-2015

84 views

Category:

Engineering


3 download

TRANSCRIPT

1

Presented by:

Mohamed Y. SelimVisiting Scholar at Iowa State University

Lecturer Assistant at Suez Canal University

[email protected]

I. Introduction to Network Coding

Network Network CodingCodingWhyWhy??

DefinitionsDefinitions

22 of 47

CodingCodingWhyWhy??

What?What?

I. Introduction to Network Coding

� What is Network Coding

�Network Coding is a field of information theoryand coding theory and is a method of attainingmaximum information flow in a network.

33 of 47

maximum information flow in a network.

�Network Coding Theory points out that it isnecessary to consider encoding/decoding data onnodes in network in order to achieve optimalthroughput.

I. Introduction to Network Coding

� What is Network Coding

44 of 47

I. Introduction to Network Coding

� What is Network Coding

Information Information theorytheory

Wireless Wireless networksnetworks

ChannelChannelcodingcoding

Quantum Quantum information information

theorytheory

GraphGraphtheorytheory

55 of 47

Computer Computer networksnetworks

SwitchingSwitchingtheorytheory

ComputerComputersciencescience

CryptographyCryptography

OptimizationOptimizationtheorytheory

Game Game theorytheory

Matroid Matroid theorytheory Data Data

storagestorage

I. Introduction to Network Coding

� Example: Two-way Relay Comm.

66 of 47

I. Introduction to Network Coding

� Example: Two-way Relay Comm.

77 of 47

I. Introduction to Network Coding

� Example: Two-way Relay Comm.

88 of 47

I. Introduction to Network Coding

� Network Coding: The Butterfly

99 of 47

I. Introduction to Network Coding

� Network Coding: The Butterfly

1010 of 47

I. Introduction to Network Coding

� Network Coding: The Butterfly

1111 of 47

I. Introduction to Network Coding

� Kirchhoff Versus Network Coding

1212 of 47

I. Introduction to Network Coding

� Network Coding: The Butterfly

1313 of 47

I. Introduction to Network Coding

� Network Coding: The Butterfly

1414 of 47

I. Introduction to Network Coding

� Network Coding: The Butterfly

1515 of 47

I. Introduction to Network Coding

� Network Coding: The Butterfly

1616 of 47

I. Introduction to Network Coding

� Network Coding: The Butterfly

1717 of 47

I. Introduction to Network Coding

� Linear Network Coding

• Random Processes in a Linear Network

� Source Input:� Info. Along Edges:

{ }),...,(),,(),( 10 lvxlvxlvX =

The index is a { }),...(),()( 10 eyeyeY =Weighted Combination

of processes

Weighted Combination of processes from

1818 of 47

� Info. Along Edges:� Sink Output:

• Relationship among them

The index is a time index

{ }),...(),()( 10 eyeyeY ={ }),...,(),,(),( 10 lvzlvzlvZ =

∑∑==

+=)(´)(´:

´,

)(

1, ´)(),()(

etaileheadeee

v

lel eYlvXeY βα

µ

∑=

=veheade

je eYjvZ´)(´:

´, ´)(),( εe comes out of v

of processes generated at v

of processes from adjacent edges of e

Weighted Combination from all

incoming edges

I. Introduction to Network Coding

� Linear Network Coding (The Transfer Matrix)

v2e1

e2

e5

)1,( 1vX )1,(vZ

)3,()2,()1,()(111 ,3,2,11 vXvXvXeY eee ααα ++=

)3,()2,()1,()(222 ,3,2,12 vXvXvXeY eee ααα ++=

)3,()2,()1,()(333 ,3,2,13 vXvXvXeY eee ααα ++=

)()()( eYeYeY ββ +=

))3,(),2,(),1,(( 111 vXvXvXxLet =))3,(),2,(),1,(( 444 vZvZvZz=

Mxz ⋅=

1919 of 47

e4v1

v3

v4

e2

e3

e6

e7

)1,( 1vX

)2,( 1vX

)3,( 1vX

)1,( 4vZ)2,( 4vZ

)3,( 4vZ

)()()( 2,1,4 4241eYeYeY eeee ββ +=

)()()( 2,1,5 5251eYeYeY eeee ββ +=

)()()( 4,3,6 6463eYeYeY eeee ββ +=

)()()( 4,3,7 7473eYeYeY eeee ββ +=

)()()()1,( 71,61,51,4 765eYeYeYvZ eee εεε ++=

)()()()2,( 72,62,52,4 765eYeYeYvZ eee εεε ++=

)()()()3,( 73,63,53,4 765eYeYeYvZ eee εεε ++=

BAM

eeee

eeeeeeeeee

eeeeeeeeee

⋅=

7363

7442644252

7441644151

,,

,,,,,

,,,,,

0 ββββββββββββ

=

321

321

321

,3,3,3

,2,2,2

,1,1,1

eee

eee

eee

A

ααααααααα

=

3,2,1,

3,2,1,

3,2,1,

777

666

555

eee

eee

eee

B

εεεεεεεεε

I. Introduction to Network Coding

� Linear Network Coding (Solution)

• We want

• Choose to be an identity matrix.

BAM eeeeeeeeee

eeeeeeeeee

⋅=7442644252

7441644151

,,,,,

,,,,,

ββββββββββ

Mxz ⋅=xz =

A

2020 of 47

an identity matrix.

• Choose B to be the inverse of

=

3,2,1,

3,2,1,

3,2,1,

777

666

555

eee

eee

eee

B

εεεεεεεεε

,

321

321

321

,3,3,3

,2,2,2

,1,1,1

=

eee

eee

eee

A

ααααααααα

BAM

eeee

eeeeeeeeee ⋅

⋅=

7363

7442644252

,,

,,,,,

0 βββββββ

7363

7442644252

7441644151

,,

,,,,,

,,,,,

0 eeee

eeeeeeeeee

eeeeeeeeee

ββββββββββββ

NETWORK CODING SOLUTION EXISTS IF DETERMINANT OF M

IS NON-ZERO

I. Introduction to Network Coding

� Random Linear Network Coding

� Ho, Koetter, Medard, Karger, Effros (2003/06)

� Random coefficients for linear network coding

2121 of 47

� Can decode with probability ≈ 1

� Enables network coding in unknown network topologies

I. Introduction to Network Coding

� Random Linear Network Coding

• How to select the coefficients ξ ?

� Randomly Select

� Coefficients are chosen uniformly at random from a finite field F

2222 of 47

� Coefficients are chosen uniformly at random from a finite field Fq(Fq is the set of integers from 0 to q-1, where q=2g )

� If q is large, then the probability of that two coefficient vectors are dependent is small.

I. Introduction to Network Coding

� Signal-Level Network Coding (PNC)

�Allows wireless signals to add up physically

�Can further improve the efficiency of wireless network coding

2323 of 47

�Physical-Layer NC: Zhang, Liew, and Lam (2006)

�Analog NC: Katti, Gollakota, and Katabi (2007)

I. Introduction to Network Coding

� Signal-Level Network Coding (PNC)

2424 of 47

I. Introduction to Network Coding

� Signal-Level Network Coding (PNC)

2525 of 47

For more details:

http://arxiv.org/ftp/arxiv/papers/1105/1105.4261.pdf

I. Introduction to Network Coding

� Network Coding Applications (VANET Application)

� Computer Networks

� Wireless/Satellite Communications

2626 of 47

� Distributed information storage/ dissemination

(e.g., Bit-Torrent)

� Robust Network Management

� Network Error Correction

I. Introduction to Network Coding

� Network Coding Applications (VANET Application)

C1 Sends Block 1

B1

C3 Sends Block 2

B2

C2 Sends Block 2

B1 B2B2 B2

2727 of 47

C3C2C1

C6C5C4

B1 B2B2

C5 Sends Block 2

B2 B2

B1 is STILL missing!!Without Network

Coding

I. Introduction to Network Coding

� Network Coding Applications

C1 Sends Block 1

B1

C3 Sends Block 2

B2

C2 Sends a Coded Block: B1+B2

B1 B2B2 B1+B2

B1+B2B1

B1+B2

2828 of 47

C3C2C1

C6C5C4

B1 B2B1+B2

C5 Sends a Coded Block: B1+B2

B1+B2 B1+B2B2 B1

C4 and C6 successfully recovered both blocksWith Network Coding

I. Introduction to Network Coding

� Network Coding Applications (VANET Application)

�CarTorrent is a BitTorrent-like file protocol VANET.

�A car passing by an access point, pulls as many blocks as

2929 of 47

A car passing by an access point, pulls as many blocks as

possible. Once it’s out-of-range, it’ll start talking to others to

pull blocks.

�Each peer sends the availability of blocks to others.

I. Introduction to Network Coding

� Network Coding Applications (VANET Application)

Internet

RY

YY

RRR

Without Network Coding

3030 of 47

Downloading Blocks from AP

Exchange Blocks via multi-hop pulling

G

Y2

Gossiping Availability of Blocks

Y

I. Introduction to Network Coding

� Network Coding Applications (VANET Application)

InternetBuffer

BufferBuffer

With Network Coding

3131 of 47

Downloading Coded Blocks from AP

Outside Range of AP

Buffer

Re-Encoding: Random Linear Comb.of Encoded Blocks in the Buffer

Exchange Re-Encoded Blocks

Meeting Other Vehicles with Coded Blocks

“coded” block

B1

File

: kbl

ocks B2

B3

Bk

+

*a1

*a2*a3

*ak

Random Linear Combination

I. Introduction to Network Coding

� Network Coding Applications

3232 of 47

I. Introduction to Network Coding

� Network Coding Applications

3333 of 47

I. Introduction to Network Coding

� Network Coding Applications

3434 of 47

� Satellite/Wireless Application

I. Introduction to Network Coding

35

� Satellite/Wireless Application

I. Introduction to Network Coding

36

� Satellite/Wireless Application

I. Introduction to Network Coding

37

� Satellite/Wireless Application

I. Introduction to Network Coding

38

� Satellite/Wireless Application

I. Introduction to Network Coding

39

� Satellite/Wireless Application

I. Introduction to Network Coding

40

� Satellite/Wireless Application

I. Introduction to Network Coding

41

� Satellite/Wireless Application

I. Introduction to Network Coding

42

A+B

I. Introduction to Network Coding

� Satellite/Wireless Application

43

I. Introduction to Network Coding

� Network Coding Practical Problems

• Network Delay

• Centralized Knowledge of Graph Topology

• Packet Loss

4444 of 47

• Packet Loss

• Link Failures

• Change in Topology or Capacity

I. Introduction to Network Coding

� References

4545 of 47

I. Introduction to Network Coding

� References

4646 of 47

ا���د � رب ا������ن

Thank You

4747 of 47

ا���د � رب ا������ن