1k likes | 1.26k Views
Network Coding for Wireless Networks. Wireless Communication Project by Group 2. Shang Shang Ma Rong Yang Yang Wang Chen. 1. 2. 3. 4. INTRODUCTION. COPE DESCRIPTION. COPE IMPLEMENTATION. ANALOG NETWORK CODING. Network Coding for Wireless Networks. Network Coding.
E N D
Network Coding for Wireless Networks Wireless Communication Project by Group 2 Shang Shang Ma Rong Yang Yang Wang Chen
1 2 3 4 INTRODUCTION COPE DESCRIPTION COPE IMPLEMENTATION ANALOG NETWORK CODING Network Coding for Wireless Networks
Network Coding Definitions Introduction Why? What?
1 2 3 Max-flowMin-cut Theory Unicast, Multicast Through- put Definitions
Max-Flow Min-Cut Theorem • (From Wiki) The max-flow min-cut theorem is a statement in optimization theory about maximal flows in flow networks • The maximal amount of flow is equal to the capacity of a minimal cut. • The maximum flow in a network is dictated by its bottleneck. [1] S.-Y. R. Li, R. W. Yeung, and N. Cai, “Linear network Coding”, IEEE Trans.
A B 2 3 3 S 2 4 T 3 2 3 D C Graph V of vertices • Graph G(V,E): consists of a set and a set • V consists of sources, sinks, and other nodes • A member e(u,v) of E has a to send information from u to v E of edges. capacity c(u,v) A B S T D C
3 3 2 2 3 3 2 4 B 2 3 3 T 2 3 1 A 3 C 2 S 2 D A B 2 3 3 S 2 4 T 3 2 3 D C Min-Cuts and Max-Flows • Cuts: Partition of vertices into two sets • Size of a Cut = Total Capacity Crossing the Cut • Min-Cut: Minimum size of Cuts = 5 • Max-Flows from S to T • Min-Cut = Max-Flow
Unicast | Multicast | Broadcast Broadcast Broadcast communication is one-to-all. Multicast Multicast communication is one-to-many. Unicast Unicastcommunication is one-to-one.
Throughput • The amount of data transferred from one place to another or processed in a specified amount of time. • Data transfer rates for disk drives and networks are measured in terms of throughput. Typically, throughputs are measured in kbps, Mbps and Gbps.
Wire vs Wireless Wire vs Wireless WIRE WIRELESS • An edge between two nodes means that the two nodes are physically connected. • Multicast communication is studied while network coding • of multiple unicast flows remains a largely unknown territory. • The traffic rate (or distribution) is predetermined and • do not change. • The channel of one particular edge is actually shared by other neighboring edge. • Unicast communication is the dominate traffic pattern. • Traffic rates are varies over time rather than constant. Network Modeling Traffic Pattern Traffic Rate
Network Coding What? Introduction Definitions Why?
What is NETWORK CODING • Network Coding is a field of information theory and coding theory and is a method of attaining maximum information flow in a network. • Network Coding Theory points out that it is necessary to consider encoding/decoding data on nodes in network in order to achieve optimal throughput.
Multicast Problem A B D C E F G • Butterfly Networks: Each edge’s capacity is 1. • Max-Flow from A to D = 2 • Max-Flow from A to E = 2 • Multicast Max-Flow from A to D and E = 1.5 • Max-Flow for each individual connection is not achieved. 1 1 0.5 1 0.5 1 1 1 1 0.5 0.5 1 1
b1 b2 b1 b2 D E b1 b1+b2 b2 b1+b2 b1+b2 A • Ahlswede et al. (2000) • With network coding, every sink obtains the maximum flow. B C F G [2] Rudolf Ahlswede, Ning Cai, Shuo-Yen Robert Li, and Raymond W. Yeung. Network information flow.
COPE • COPE is an opportunistic approach to network coding to increase the throughput of wireless mesh networks. • COPE inserts a coding layer between the IP and MAC layers, which identifies coding opportunities and benefits from them by forwarding multiple packets in a single transmission. [3] S. Katti, D. Katabi, W. Hu, and R. Hariharan, “The importance of being opportunistic: Practical network coding for wireless environments
Alice Bob’s packet Bob’s packet Alice’s packet Alice’s packet An information exchange scenario Relay Bob • Multi-hop unicast requires 4 transmissions • Can we do better?
= XOR Alice Bob’s packet Bob’s packet Alice’s packet Alice’s packet Can Network Coding help - An idea Relay Bob • 3 transmissions instead of 4 • Saves bandwidth & power • 33% throughput increase
Analog Network Coding • Analog network coding mixes signals instead of bits. • Wireless routers forward signals instead of packets. It achieves significantly higherthroughput than both traditional wireless routing and prior work on wireless network coding(COPE).
Network Coding Why? Introduction Definitions What?
Improve network throughput 1 Superior performance in reducing the number of retransmissions in lossy networks 2 Is able to smoothly handle extreme situations where the server and nodes leave the system 3 Why is NETWORK CODING
COPE Wireless Communication Project by Group 2
1 2 3 4 General idea Opportunistic listening Opportunistic coding Opportunistic routing Contents
General idea of cope What is cope? Cope is an opportunistic approach to network coding to increase throughput of wireless mesh networks. The main characteristic of COPE is opportunism. What is opportunism?
General idea of cope Opportunistic listening Opportunistic coding Opportunistic routing
General idea of cope A C B E D
Opportunistic Listening 1.Nodes have opportunities to hear packets even when they are not the intended receiver. 2.Nodes store all the packets they hear within a limited time slot T. 3.Nodes send reception reports to their neighbors, helping to create more coding opportunities.
A C B E E1:B to E A1:D to A D
A E1 C B E E1 E1 E1:B to E A1:D to A D
E1 A C B E E1 E1:B to E A1:D to A E1 D
I have E1 A C B E E1:B to E A1:D to A D
A C B E E1:B to E A1:D to A D
A C B E A1 E1:B to E A1:D to A A1 D A1
A C B A1 E A1 A1 E1:B to E A1:D to A D
A C B E I have A1 E1:B to E A1:D to A D
Node A have packet E1 Node A want packet A1 So I can give Node A E1+A1 Node E have packet A1 Node E want packet E1 So I can give Node E E1+A1 Coding opportunity A C B E E1:B to E A1:D to A D
Coding opportunity A E1 E1+A1 A1 C B E E1:B to E A1:D to A D
Coding opportunity A E1+A1 C B E E1:B to E A1:D to A D
A E1+A1 E1+A1 C B E E1:B to E A1:D to A D
E1+(E1+A1)=A1 A1 received! E1+A1 A C B E1+A1 E A1+(E1+A1)=E1 E1 received! E1:B to E A1:D to A D
Opportunistic Coding How can the node decide which packets needed to XOR together? Each node should answer this question based on local information and without consulting with other nodes. Each node has several options to decide which packets to XOR together to gain the maximum throughput.
Opportunistic Coding C A B D
Opportunistic Coding Packets Next Hops P1 A P4 P3 P2 P1 P2 B B’s queue P3 C P4 D B Node
Opportunistic Coding Packet node P1----- A P2-----B P3----- C P4----- D P1 + = P2 P4 P1 P4 P3 P2 P1 C A B P4 P3 D = P1 + P2 P3 P1 Bad coding decision
Opportunistic Coding Packet node P1----- A P2-----B P3----- C P4----- D P1 + = P3 P4 P1 P4 P3 P2 P1 C A B P4 P3 D = P1 + P3 P3 + = P1 P3 P1 Better coding decision
Opportunistic Coding Packet node P1----- A P2-----B P3----- C P4----- D P4 + P1 + = P3 P4 P1 P4 P3 P2 P1 C A B P1 + P3 + = P4 P4 P3 D P4 + P3 + = P1 = P1 + P3 + P4 P3 P1 Best coding decision
Opportunistic Coding Theory: To transmit n packets, p1,…,pn, to n receivers, r1,…,rn, a node can XOR the n packets together only if each intended receiver ri has all n-1 packets pj for j not equals to i.
Opportunistic Coding Pi-1 Pi ri-1 ri P3 Pn-2 r3 rn-2 P2 Pn-1 P1…Pi-1,Pi+1…Pn P1…Pi-2,Pi…Pn r2 rn-1 P1 Pn r1 rn :XOR P1 to Pn
Opportunistic Coding Whenever a node has a chance to transmit a packet, it tries to find the largest n that satisfies the above rule. The node tries to maximize the number of packets delivered in a single transmission.
Opportunistic Routing Can we further reduce the number of transmissions? 1.The path is stored in the packet itself. 2.Check the path, find the opportunities to routing.
Opportunistic Routing Path: SABD Reception report Destination source A S D B