Network Coding for Wireless Networks Wireless Communication Project
- Slides: 95
Network Coding for Wireless Networks Wireless Communication Project by Group 2 Shang Ma Rong Yang Wang Chen 1
Network Coding for Wireless Networks 1 INTRODUCTION 2 COPE DESCRIPTION 3 COPE IMPLEMENTATION 4 ANALOG NETWORK CODING 2
Introduction Why? What? Network Coding Definitions 3
Definitions 1 2 Max-flow Min-cut Theory Unicast, Multicast 3 Throughput 4
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. 5
Graph • Graph G(V, E): consists of a set V of vertices and a set E of edges. – V consists of sources, sinks, and other nodes – A member e(u, v) of E has a capacity c(u, v) to send information from u to v 3 A 2 S 3 D B 3 2 4 2 T C 3 6
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 3 S 3 A 3 3 3 S 2 2 D 3 2 A 3 3 4 1 2 D B 2 2 C 3 2 2 3 B 2 4 T C T 3 7
Unicast | Multicast | Broadcast Multicast Unicast communicat ion is oneto-one. Multicast communicat ion is oneto-many. Broadcast communicat ion is oneto-all. 8
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. 9
Wire vs Wireless WIRE ü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. WIRELESS Network Modeling üThe channel of one particular edge is actually shared by other neighboring edge. Traffic Pattern ü Unicast communication is the dominate traffic pattern. Traffic Rate üTraffic rates are varies over time rather than constant. 10
Introduction Definitions Why? Network Coding What? 11
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. 12
Multicast Problem • 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. A 1 1 B C 0. 5 1 F 1 1 G 0. 5 1 D 1 10. 5 E 13
b 1 • Ahlswede et al. (2000) – With network coding, every sink obtains the maximum flow. B A b 1 b 2 C F b 1+b 2 D G b 2 b 1+b 2 E 14 [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 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 15 for wireless environments
An information exchange scenario Relay Alice’s packet Bob Bob’s packet Alice’s packet • Multi-hop unicast requires 4 transmissions • Can we do better? 16
Can Network Coding help - An idea XOR = Relay Alice’s packet Bob Bob’s packet Alice’s packet 3 transmissions instead of 4 Saves bandwidth & power 33% throughput increase 17
Analog Network Coding ü Analog network coding mixes signals instead of bits. ü Wireless routers forward signals instead of packets. It achieves significantly higher throughput than both traditional wireless routing and prior work on wireless network coding(COPE). 18
Introduction Definitions What? Network Coding Why? 19
Why is NETWORK CODING 1 Improve network throughput 2 Superior performance in reducing the number of retransmissions in lossy networks 3 Is able to smoothly handle extreme situations where the server and nodes leave the system 20
COPE Wireless Communication Project by Group 2
Contents 1 General idea 2 Opportunistic listening 3 Opportunistic coding 4 Opportunistic routing
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 B C D E
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.
pool A Que A B E D C B Output E 1 E 2 E E 3 pool D Output A 1 A 2 A 3 E 1: B to E A 1: D to A
pool A Que A B E E 1 B Output D C E 1 E 2 E 3 pool E 1 D Output E A 1 A 2 A 3 E 1: B to E A 1: D to A
pool E 1 A Que A B E D C B Output E E 1 E 2 E 3 pool E 1 Output A 1 A 2 A 3 D E 1: B to E A 1: D to A
pool E 1 I have E 1 A Que E 1 A B E D C B Output E 2 E E 3 pool D Output A 1 A 2 A 3 E 1: B to E A 1: D to A
pool E 1 A Que E 1 A E 1 B E D C B Output E 2 E E 3 pool D Output A 1 A 2 A 3 E 1: B to E A 1: D to A
pool E 1 A Que E 1 A E 1 B E D C B Output E 2 E E 3 pool A 1 D Output A 2 A 3 A 1 E 1: B to E A 1: D to A
pool E 1 A Que E 1 A E 1 B E D A 1 B Output E 2 C E A 1 E 3 pool D Output A 2 A 3 E 1: B to E A 1: D to A
pool E 1 A Que E 1 A 1 B E D C B Output E 2 E I have A 1 E 3 pool A 1 D Output A 2 A 3 E 1: B to E A 1: D to A
pool E 1 A Que A Node A have packet E 1 Node E have. Coding packet A 1 Node A want packet A 1 Node E want packet E 1 opportunity So I can give Node A So I can give Node E E 1 A 1 E 1+A 1 E 1 B E A 1 D C B Output E 2 E E 3 pool A 1 D Output A 2 A 3 E 1: B to E A 1: D to A
pool E 1 Coding opportunity A Que E 1 A 1 E 1+A 1 A E 1 B E A 1 D C B Output E 2 E E 3 pool A 1 D Output A 2 A 3 E 1: B to E A 1: D to A
pool E 1 Coding opportunity A Que A E 1+A 1 E 1 B E A 1 D C B Output E 2 E E 3 pool A 1 D Output A 2 A 3 E 1: B to E A 1: D to A
pool E 1 A Que A E 1 B E A 1 D E 1+A 1 C B Output E 2 E E 3 pool A 1 D Output A 2 A 3 E 1: B to E A 1: D to A
E 1+(E 1+A 1)=A 1 received! pool E 1+A 1 A Que A E 1 B E A 1 D C B Output E 2 E E 1+A 1 E 3 pool A 1+(E 1+A 1)=E 1 received! D Output A 2 A 3 E 1: B to E A 1: D to A
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 P 1 P 2 Next Hops A B P 4 P 3 P 2 B’s queue P 3 P 4 C D B Node P 1
Opportunistic Coding Packet node P 1 ----- A P 2 ----- B P 3 ----- C P 4 ----- D P 1 = P 2 P 4 P 3 P 2 A P 4 + P 1 C P 1 B P 3 D = P 1 + P 2 P 3 Bad coding decision P 1
Opportunistic Coding Packet node + P 1 ----- A P 2 ----- B P 3 ----- C P 4 ----- D P 3 P 4 P 3 P 2 A P 4 = P 1 C P 1 B P 3 D P 3 + = P 1 + P 3 Better coding decision P 1
Opportunistic Coding Packet node P 4 P 1 ----- A P 2 ----- B P 3 ----- C P 4 ----- D + P 1 + = P 4 P 3 P 2 A P 1 P 4 + P 3 + P 1 C B P 1 P 4 P 3 + = P 4 P 3 = P 1 D = P 1 + P 3 + P 4 P 3 Best coding decision P 1
Opportunistic Coding Theory: To transmit n packets, p 1, …, pn, to n receivers, r 1, …, 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 P 3 P 2 Pn-2 r 3 P 1…Pi-1, Pi+1…Pn P 1…Pi-2, Pi…Pn r 2 P 1 rn-2 Pn-1 rn-1 Pn r 1 rn : XOR P 1 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: S A B D Reception report source A S B Destination D
Conclusion • Main idea of cope: 1. Overhear on the medium. 2. Learn the status of its neighbors. 3. Detect coding opportunities. 4. Code as long as the receivers can decode.
COPE IMPLEMENTATION & PERFORMANCE 52
Agenda p. Data Structure for each node p. Pseudo broadcast mechanism p. COPE layer p. COPE header p. Gain 53
DATA STRUCTURE 54
A SCENARIO Packet Delivery A B P RR Reception report PC DP P IP packet Ack IP acknowledge G E PF 55
A SCENARIO(II) Packet acknowledge A B Ack RR Reception report C Ack D P IP packet Ack IP acknowledge G Ack E Ack F 56
A SCENARIO(III) Reception Report A RR RR B RR Reception report RR C RR D P IP packet Ack IP acknowledge RR G RR E RR F 57
DATA STRUCTURE A B RR Reception report C D P IP packet Ack IP acknowledge G E F 58
DATA STRUCTURE In Node C Upper Layer P 6 C Output Queue: P 5 P 4 P 3 P 2 P 1 Retransmission pool: Packet Transmitted 59
DATA STRUCTURE In Node C Upper Layer P 6 C Output Queue: P 5 P 4 P 3 P 2 Retransmission pool: P 1 can be deleted Ack Received P 1 ack If returns is nottoreceived Output Queue after a long to wait time another transmission opportunity 60
DATA STRUCTURE In Node C Upper Layer P 6 C Output Queue: P 5 P 4 P 3 P 2 P 1 Retransmission pool: Px is head for node D Not C. Opportunity Listening Queue: RR:a, b, c, d, x Pa Pb Pc Pd If node C receivenode a neighbor’s whose destination is not Periodical, Each inform itspacket neighbor about what they’ve got. C, Node C just put the packet into the above in its Opportunity Listenning Queue. That queue. is , Reception Report 61
DATA STRUCTURE In Node C Upper Layer P 6 C Output Queue: P 5 P 4 P 3 P 2 P 1 Retransmission pool: Opportunity Listening Queue: Pa Pb Pc Pd Px Neighbors’ virtual Queue: A queue B queue D queue …… …………… 62
DATA STRUCTURE In Node C Upper Layer P 6 C Output Queue: P 5 P 4 P 3 P 2 P 1 Retransmission pool: Used for decoding Opportunity Listening Queue: Pa Pb Pc Pd Px Neighbors’ virtual Queue: A queue RR from A B queue RR from B D queue RR from D …… …………… Used for Coding 63
DATA STRUCTURE LOGIC • Packet headed to the same destination can never be coded together • It is not necessary to code a packet in opportunity listening queue • It is not necessary to transmit a packet when it is received again from its destination • A node can decode a packet which is coded with one of the packet he once send 64
DATA STRUCTURE Upper Layer P 6 Output Queue: P 5 P 4 P 3 P 2 P 1 Retransmission pool: Opportunity Listening Queue: 65
DATA STRUCTURE 4 PARTS: n Output Queue n Retransmission Pool n Opportunity Listening Queue n Neighbor’s Virtual Queue 66
PSEUDO BROADCAST MECHANISM Laptop 2 Both laptop 2 and laptop 3 are the intended Receiver of packet from laptop 1 Laptop 3 Laptop 1 67 [4] Katti S, Rahul H, Hu WJ, Katabi D, Muriel M, Crowcroft J. XORs in the air: Practical wireless networking.
PSEUDO BROADCAST 802. 11 MAC: Current WLAN medium access mechanism 1. DCF CSMA/CA(mandatory) -Distributed Foundation Wireless MAC -Collision avoidance via randomized back-off -ACK packet for acknowledgement(not for broad cast) 2. DCF RTS/CTS(optional) -avoids hidden terminal and exposed terminal 3. Point Coordination Function(infrastructure mode) How to apply COPE? Opportunistic Listenning? Multiple intended receiver? All neighbors can receive? BROADCAST 68
PSEUDO BROADCAST 802. 11 MAC: 802. 11 Broadcast mode: 1. DCF CSMA/CA? Yes 2. Back off? No 3. DCF RTS/CTS? No 4. ACK? No POOR RELIABILITY 69
PSEUDO BROADCAST SOLUTION? 802. 11 MAC: 1. Develop a brand-new MAC access protocol which is suitable for COPE broadcast Hard to implement…. . Unrealistic…. 802. 11 WLAN MAC already pervasive 2. Add a new layer on top the current 802. 11 2. PSEUDO BROADCAST MAC layer to make link-to-link broadcast reliable. Feasible! 70
PSEUDO BROADCAST Reliability 1. ACK 2. Retransmission(ACK timeout) 3. Multiple Intended Receiver Multi receiver One receiver DIFS& backoff SIFS Synchronous Acknowledgement does not work! Packet Receiver can send ACK packet asynchronously ACK 1. We can treat Ack packet as a normal packet, ACK packets ACK also go through the DIFSACK from different Receivers and back off procedure to avoid. ACK collision ACK 2. Or we can piggy back on packet travelling in the reverse direction Collision! 71
PSEUDO BROADCAST What should be contained in COPE packet? 1. XORed(coded) packet with multiple receivers 2. uncoded packet with multiple receivers(all neighbors) 3. Reception Report with multiple receivers (all neighbors) 4. Packet Acknowledge with certain receiver Later on we will give a detailed description about the COPE packet format 72
COPE LAYER Where does cope layer lies in? u COPE layer is a very slim layer lies between Network layer and MAC layer. Network Layer COPE layer MAC layer COPE layer process the network layer packets before they are send to MAC layer COPE layer process the MAC layer frames before they Are send to Network layer u. It is the COPE layer where the four data structure: Output Queue, Retransmission pool, Opportunistic listening pool And neighbors’ virtual queue lies in. 73
COPE LAYER Sender side Get a packet from network layer Network Layer Add the packet into Output Queue COPE layer Encode if possible MAC layer 74
COPE LAYER Get a packet from network layer Sender side Add the packet into Output Queue Encode if possible Network Layer Encoded? No COPE layer Piggy back Reception Report Yes Add packet to Retransmission pool MAC layer Piggy back asynchronous acknowledge To MAC layer 75
COPE LAYER receiver side Yes Am I the next hop? No Add to opportunity listening pool Network Layer COPE layer Record RR in neighbors’ virtual Extract Reception Report queue If there is any MAC layer Extract acks for me Delete correponding packets in retransmission pool If there is any Get a packet from MAC 76
COPE LAYER receiver side Deliver to Network layer Send into Output Queue No Network Layer Yes Am I destination? COPE layer Decode and schedule Ack MAC layer No Yes This packet is encoded? Yes I am the next hop Decodable? 77
COPE HEADER MAC header Encoded Packet ID COPE header Reception Report(Packet ID) IP header Asynchronous ACK 1. Encoded packet number Enocded packet IDs Intended receiver s 2. Number of packets received Packets ID 3. Received packets’ ID ACK receiver Data Frame 78
Coding Gain [3] S. Katti, D. Katabi, W. Hu, and R. Hariharan, “The importance of being opportunistic: Practical network coding 79 for wireless environments
Coding Gain 80 [4] Katti S, Rahul H, Hu WJ, Katabi D, Muriel M, Crowcroft J. XORs in the air: Practical wireless networking.
Coding Gain 81 [4] Katti S, Rahul H, Hu WJ, Katabi D, Muriel M, Crowcroft J. XORs in the air: Practical wireless networking.
ANALOG NETWORK CODING 82
Alice-Bob topology [5] Katti S, Gollakota S, Katabi D: Embracing Wireless Interference: Analog Network Coding 83
Traditional Approach Alice transmits Bob transmits Router forwards Alice Router Bob Time slot 1 Time slot 2 Time slot 3 Time slot 4 84
Digital Network Coding Alice transmits Bob transmits Router forwards Time slot 1 Time slot 2 Time slot 3 Alice Router Bob 85
Analog Network Coding Alice & Bob transmits Router forwards Time slot 1 Time slot 2 Alice Router Bob 86
How can we do it? Alice Bob 87
How can we do it? (Cont. ) Alice REC Alice SND 88
How can we do it? (Cont. ) • What will Alice do? ü Demodulate and do some signal processing ü Note the starting bit for interferenced signal ü Do XOR for interferenced signal 89
How can we do it? (Cont. ) • Smart Alice! • She must learn the characters of the wireless channel • She must store the packets which already sent by herself • She may do the XOR job effectively 90
Easier? • Choose the right modulation method • MSK • Some experiments are already done by using Software Defined Radios (SDR). • Successful results showed that we got significant throughput gains compared to COPE and traditional ways. 91
Drawbacks • Vulnerable to noises • Difficult to use in more complex topology networks Future investigation is still needed ! ! ! 92
• Think differently • Electrical engineer & computer scientist • PHY layer & MAC layer & Network layer 93
Wireless Communication Project by Group 2 94
Wireless Communication Project by Group 2 95
- Selective coding
- Contoh open coding axial coding selective coding
- Game theory in wireless and communication networks
- Axial coding vs open coding
- Coding dna and non coding dna
- Packet switching datagram and virtual circuit approach
- Basestore iptv
- Wireless networks definition
- Local wireless networks
- Wireless wide area networks
- Single node architecture in wsn
- Habitat monitoring sensor
- Wired data transfer
- Wireless networks
- Understanding wired and wireless networks
- Habitat monitoring sensor
- Gast 802 11 wireless networks "torrent"
- Telecommunications the internet and wireless technology
- What is project 802
- Network coding
- Network coding
- Encoding in digital communication
- Lempel-ziv coding in digital communication
- Nrz i
- Palo alto networks certified network security engineer
- Principles of network applications in computer networks
- Network motifs: simple building blocks of complex networks
- Design issues of network layer
- Internet structure network of networks
- Internet structure network of networks
- Network layer design issues
- Network performance measurement in computer networks
- Network performance measurement
- Router node
- Wlan meaning
- Soho router definition
- Wireless security in cryptography
- Receiver sensitivity
- Wireless sensor network protocols
- Dilbert wireless network
- Planning a wireless network
- Outdoor wireless mesh network design
- A type of wireless local area network technology
- Telosb
- Wireless wide area network
- Skymanage
- Wireless network components
- What does a wireless lan (wlan) act as to a wired network?
- Wireless integrated network sensors
- Wireless integrated network sensors
- Cts/rts threshold
- Iec 61850 communication networks and systems in substations
- Introduction to communication networks
- Networks of communication and exchange
- A communication processor that connects dissimilar networks
- Industrial communication networks
- Communication networks
- Wireless communication introduction
- Page in wireless communication
- Cell dragging in mobile communication
- Advantages of wireless communication
- What is trunking and grade of service
- Global next generation wireless communication market
- Disadvantage of wireless communication
- Dr ian goldsmith
- Cellular digital packet data
- Fundamental principles of wireless communication
- Free space propagation model in wireless communication
- Wireless communication course syllabus
- Large scale fading in wireless communication
- Wireless communication research topics
- Free space propagation model in wireless communication
- Free space propagation model in wireless communication
- Flowcode programming
- Lmds architecture
- Evolution of wireless communication
- Mobile communication syllabus
- Wireless communication
- Fundamentals of wireless communications
- Fundamental of wireless communication
- Trunking efficiency in wireless communication
- Wireless communication consultant
- Wireless power transmission project report doc
- Wireless ecg machine project
- Iso 22301 utbildning
- Typiska novell drag
- Tack för att ni lyssnade bild
- Ekologiskt fotavtryck
- Varför kallas perioden 1918-1939 för mellankrigstiden?
- En lathund för arbete med kontinuitetshantering
- Personalliggare bygg undantag
- Vilotidsbok
- Sura för anatom
- Vad är densitet
- Datorkunskap för nybörjare
- Boverket ka