Network Coding for Mobile Devices and Networks: A BME/AAU/SZTE Success Story
Frank H.P. FitzekAalborg University
User Cooperation in Mobile Cloud
Reliable Multicast (1)
Reliable Multicast (2)
?
Collector‘s Problem
P = N * ( ln (N) + 0.577)
P
N
sharing
buying
Resource Sharing for Mobile Clouds
010101001010101011101111101011010011011101001
App
Resource Sharing Display (1)
Resource Sharing Display (2)
Taken from the book „Mobile Clouds“, Fitzek/Katz
Resource Sharing Microphone
Single microphone ... ... vs. microphone array
Huge interest by the „Evil“...
Microsoft IPRs 2008 Apple IPRs 2008
… but we cover you …
F.H.P. Fitzek and M. Katz. Cooperation in Wireless Networks: Principles and Applications - Real Egoistic Behavior is to Cooperate!. 2006. Springer.
F.H.P. Fitzek and M. Katz. Cognitive Wireless Networks: Concepts, Methodologies and Visions Inspiring the Age of Enlightenment of Wireless Communications. 2007. Springer.
SRC
DST
R1
R2
R3
R4
50%
50%
50%
50%
0%
0%
0%
0%
Inter flow network coding
XOR type of codingCOPE
CATWOMAN...
Intra flow network coding
RLNC type of codingMORE
...
What is network coding?
b
b
a
a
a b
a+b
a+b
a+b
a a bb
Network Coding: The Butterfly
• Two packets a and b should be conveyed to two destinations
• Capacity per link can handle one packet per time slot
• Bottleneck in the middle
• Either packet a or b will path the bottleneck
b
b
a
a
a b
a a b
a
a
b
b
Network Coding: The Butterfly
• Let‘s try b instead of a• Same old problem
b
b
a
a
a b
a bb
Network Coding: The Butterfly
• Ahlswede et. al. In 2000• Coding the packet• Other ideas were
around• Max-flow min-cut
theorem
b
b
a
a
a b
a+b
a+ba+b
a a bb
Ahlswede, Rudolf; N. Cai, Shuo-Yen Robert Li, and Raymond Wai-Ho Yeung (2000). "Network Information Flow". IEEE Transactions on Information Theory, IT-46 46 (4): 1204–1216.
Network Coding: The ButterflyXOR operation• Bitwise operation• Same bit value results
in „0“• Different bit value
results in „1“
0011
0011
0101
0101
0101 0011
0110
01100110
0101 0101 00110011
CODING
0101 XOR 0011
0110
DECODING
0101 XOR 0110
0011
DECODING
0011 XOR 0110
0101
Network Coding: The Butterfly
Source: transmitting two
information entities
Receiver: receiving two
coded information
entities
Network Coding: The Butterfly
Network Coding: The Butterfly
Network Coding: The Butterfly++
a
a
a
c
a
result = (Rank(A)==3) ? "decodable" : "better choice next time”;
bc
c
c
c
b
ca
a+b
b+c
a+c
a+b+c ?? ?
a
b
b
Network Coding: The Butterfly++
a
a
a
c
a bc
c
c
c
b
ca
a+b
b+c
a+c
a+b+c ?? ?
a
b
b
What did you send? What did you send?
What should we send?
What did you send?What did you send?
What did you recveive?What did you recveive?
Kirchhoff versus Network Coding
All engineers follow this principle!
Now we are alone ...!
store and
forward
computeand
forward
Application fieldsCommunication SystemsP2P (fixed)
Satellites
Reliable Multicast
Channel Bundling
Wireless Mesh
Mobile Mesh
Storage
Distributed Cloud Storage
Random Linear Network Coding
S
R R
D
Psucc = 0.5
a,b a,b
a a,b
No coding
S
R R
D
Psucc = 0.6667
a,b a,b
a a,b,a+b
Binary coding
S
R R
D
Psucc = 1
a,b a,b
αa+ βb α’a+ β‘b
RLNC coding
S60 Implementation RLNC (2007)pre-allocated the memory, generated the encoding vectors, so that we only had the raw encoding
16
32
64
128
1
10
100
1000
10000
2
8
16
OPF
2816OPF
16
32
64
128
1
10
100
1000
10000
2
8
16
OPF
2816OPF
Current coding speeds in 2012
Generation size
Field size
Speed[kByte/s]
... and in 2007 we had 20 kByte/s for generation size of 50!
16
32
64
128
1
10
100
1000
10000
2
8
16
OPF
2816OPF
Current coding speeds in 2012
Generation size
Field size
Speed[kByte/s]
... and in 2007 we had 20 kByte/s for generation size of 50!
First implementations
• P. Vingelmann, P. Zanaty, F.H.P. Fitzek, and H. Charaf, “Implementation of random linear network coding on opengl-enabled graphics cards,” in European Wireless 2009, Aalborg, Denmark, May 2009.
Energy consumption: KODO
Energy consumption: KODO
What about the dynamic changes?
Source
Measurement Setup
Testbed
Inter flow network coding
XOR type of codingCOPE
CATWOMAN...
Intra flow network coding
RLNC type of codingMORE
...
What is network coding?
Inter & Intra flow network coding
Combine the best ...CORE
...
CORE: How does it work?
Identify coding zones/regions
CORE: How does it work?
Identify coding zones/regions
S1
S2
R
D2
D1
Challenge: channel lossesOverhearing is critical for inter-session
Idea: bridge inter- and intra-session network codingAre we the first to think of combining the two?No, it is a natural ideaExample: I2NC by Seferoglu et alBut both coding mechanism are treated in different
layers and are agnostic to each other.• Intra-session: between TCP and IP • Inter-session: above MACWhat makes us different?Code structure provided by RLNC (intra-session) used to
strengthen inter-session
CORE
CORE
CORE
CORE
CORE
CORE
CORE
CORE
CORE
CORE
CORE
CORE
CORE
CORE
CORE
CORE
CORE
Distinctive Features• Feedback from R to S1 and S2
– Reduces transmissions– May reduce collisions
• Relay can XOR:– New packets from both flows– New packet from a flow with recoded packet from the other
flow (using packets stored @Relay)– Recoded packets from both flows
• Receivers (D1 and D2) can:– Use XOR if overhearing was successful to recover their
intended coded packet– Store XORed and overheard packets– Perform partial decoding for recovering intended coded
packets
Throughput vs Offered Load
Symmetric lossesLoss prob = 0
Throughput vs Offered Load
Symmetric lossesLoss prob = 0.3
Throughput vs Offered Load
Symmetric lossesLoss prob = 0.5
Symmetric lossesLoss prob = 0.8
Throughput vs Offered Load
Demonstrator
• On youtube: http://www.youtube.com/watch?v=mKiHKtZRFVU• (Search for “CORE Network Coding”)
Cooperation Focus
• Network coding sample application filed: FuturICT.hu (BME/AAU/SZTE)
• Related topics:– Mobile cross-platform design patterns– Mobile P2P middleware design patterns
and algorithms– Mobile cloud – Monitoring mobile and sensor networks– Model-driven application development
for multiple mobile platforms
Cooperation Outcome(without having 1 Euro received)
• Combined AAU/BME PhD program– 1 completed– 4 ongoing
• Three book projects and one project with Wiley ongoing• Best Paper award at CCNC 2011 on network coding with iOS• StartUps in Berlin and Aalborg• Combined PhD courses (with Professor Medard from MIT)• Publications
– 1 edited book– 1 book chapter (several on the own book projects)– 2 journal (one submitted)– 12 conference