Presentation is loading. Please wait.

Presentation is loading. Please wait.

Network Coding for Wireless Networks Wireless Communication Project by Group 2 1.

Similar presentations


Presentation on theme: "Network Coding for Wireless Networks Wireless Communication Project by Group 2 1."— Presentation transcript:

1 Network Coding for Wireless Networks Wireless Communication Project by Group 2 1

2 Network Coding for Wireless Networks INTRODUCTION 1 COPE DESCRIPTION 2 COPE IMPLEMENTATION 3 ANALOG NETWORK CODING 4 2

3 NetworkCoding What? Why? Why? Definitions Introduction 3

4 1 Max-flow Min-cut Theory 2 Unicast, Multicast 3 Through- put Definitions 4

5 Max-Flow Min-Cut Theorem (From Wiki) The max-flow min-cut theorem is a statement in optimization theory about maximal flows in flow networksoptimization theorymaximal flowsflow 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. 5 [1] S.-Y. R. Li, R. W. Yeung, and N. Cai, “Linear network Coding”, IEEE Trans.

6 Graph 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 A D S B C T V of vertices E of edges. S AB DC T capacity c(u,v) 6

7 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 S AB DC T S A D B C T

8 Unicast | Multicast | Broadcast Multicast Broadcast Unicast Unicast communicat ion is one- to-one. Multicast communicat ion is one- to-many. Broadcast communicat ion is one- to-all. 8

9 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

10 Wire vs 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. Wire vs Wireless 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 WIREWIRELESS 10

11 NetworkCoding Why? Definitions Definitions What? Introduction 11

12 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

13 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 BC F G DE

14 Ahlswede et al. (2000) –With network coding, every sink obtains the maximum flow. A BC F G DE b1b1 b2b2 b1b1 b1b1 b2b2 b2b2 b 1 +b 2 [2] Rudolf Ahlswede, Ning Cai, Shuo-Yen Robert Li, and Raymond W. Yeung. Network information flow. 14

15 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. 15 [3] S. Katti, D. Katabi, W. Hu, and R. Hariharan, “The importance of being opportunistic: Practical network coding for wireless environments

16 An information exchange scenario Bob Alice Relay Alice’s packet Bob’s packet Alice’s packet Multi-hop unicast requires 4 transmissions Can we do better? 16

17 Can Network Coding help - An idea Bob Alice Relay Alice’s packet Bob’s packet Alice’s packet 3 transmissions instead of 4  Saves bandwidth & power  33% throughput increase 3 transmissions instead of 4  Saves bandwidth & power  33% throughput increase XOR = 17

18 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

19 NetworkCoding What? Definitions Definitions Why? Introduction 19

20 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 Why is NETWORK CODING 20

21 COPE Wireless Communication Project by Group 2

22 Contents General idea 1 Opportunistic listening 2 Opportunistic coding 3 Opportunistic routing 4

23 General idea of 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 cope? What is opportunism?

24 General idea of cope Opportunistic listening Opportunistic coding Opportunistic routing

25 A B C E D General idea of cope

26 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.

27 A B C E D OutputE1E2E3 OutputA1A2A3 pool Que A B E D E1:B to E A1:D to A

28 A B C E D OutputE2E3 OutputA1A2A3 pool E1 Que A B E D E1:B to E A1:D to A

29 A B C E D OutputE2E3 OutputA1A2A3 Que A B E D pool E1 E1:B to E A1:D to A

30 A B C E D OutputE2E3 OutputA1A2A3 QueE1 A B E D poolE1 pool I have E1 E1:B to E A1:D to A

31 A B C E D OutputE2E3 OutputA1A2A3 QueE1 A B E D poolE1 pool E1:B to E A1:D to A

32 A B C E D OutputE2E3 OutputA2A3 QueE1 A B E D poolE1 pool A1 E1:B to E A1:D to A

33 A B C E D OutputE2E3 OutputA2A3 QueE1 A B E D poolE1 pool A1 E1:B to E A1:D to A

34 A B C E D OutputE2E3 OutputA2A3 QueE1A1 AE1 B E D poolE1 poolA1 I have A1 E1:B to E A1:D to A

35 A B C E D OutputE2E3 OutputA2A3 QueE1A1 AE1 B EA1 D poolE1 poolA1 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 E1:B to E A1:D to A

36 A B C E D OutputE2E3 OutputA2A3 QueE1A1 AE1 B EA1 D poolE1 poolA1 Coding opportunity E1 A1 E1+A1 E1:B to E A1:D to A

37 A B C E D OutputE2E3 OutputA2A3 Que AE1 B EA1 D poolE1 poolA1 Coding opportunity E1+A1 E1:B to E A1:D to A

38 A B C E D OutputE2E3 OutputA2A3 Que AE1 B EA1 D poolE1 poolA1 E1+A1 E1:B to E A1:D to A

39 A B C E D OutputE2E3 OutputA2A3 Que AE1 B EA1 D poolE1 poolA1 E1+A1 E1+(E1+A1)=A1 A1 received! A1+(E1+A1)=E1 E1 received! E1:B to E A1:D to A

40 Opportunistic Coding 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. How can the node decide which packets needed to XOR together?

41 Opportunistic Coding AB C D

42 P1 P2 P4 P3 Packets Next Hops P1P2P3P4 Node B’s queue B A B C D

43 Opportunistic Coding P1P2P3P4 P3P4 P1P4 P1P3 = P1P2 + = P1P2 + AB C D Bad coding decision Packet node P  A P  B P  C P  D

44 Opportunistic Coding P1P2P3P4 P3P4 P1P4 P1P3 = P1P3 + = P1P3 + = P1 + AB C D Better coding decision Packet node P  A P  B P  C P  D

45 Opportunistic Coding P1P2P3P4 P3P4 P1P4 P1P3 = P1P3 + = P1P3 + = P1 + P = P3P4 + P1 + AB C D Best coding decision Packet node P  A P  B P  C P  D

46 Opportunistic Coding Theory: To transmit n packets, p 1,…,p n, to n receivers, r 1,…,r n, a node can XOR the n packets together only if each intended receiver r i has all n-1 packets p j for j not equals to i.

47 Opportunistic Coding r n-2 r1rnrn r n-1 r2 r3 riri r i-1 P 1 …P i-1,P i+1 …P n P 1 …P i-2,P i …P n :XOR P 1 to P n PiPi P i-1 P3P3 P2P2 P1P1 P n-2 P n-1 PnPn

48 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.

49 Opportunistic Routing 1.The path is stored in the packet itself. 2.Check the path, find the opportunities to routing. Can we further reduce the number of transmissions?

50 Opportunistic Routing AS B D Path: S  A  B  D source Destination Reception report

51 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.

52 COPE IMPLEMENTATION & PERFORMANCE 52

53 Agenda  Data Structure for each node  Pseudo broadcast mechanism  COPE layer  COPE header  Gain 53

54 DATA STRUCTURE 54

55 A SCENARIO ABCDEFG RR Reception report P IP packet Ack IP acknowledge P P P PPP P P P Packet Delivery 55

56 A SCENARIO(II) ABCDEFG RR Reception report P IP packet Ack IP acknowledge Ack Packet acknowledge 56

57 A SCENARIO(III) ABCDEFG RR Reception report P IP packet Ack IP acknowledge RR Reception Report 57

58 DATA STRUCTURE A B C D E F G RR Reception report P IP packet Ack IP acknowledge 58

59 DATA STRUCTURE RR Reception report P1 IP packet Ack IP acknowledge C In Node C Output Queue : P2P3P4 Retransmission pool : Upper Layer P5P6P1 Packet Transmitted 59

60 DATA STRUCTURE RR Reception report IP packet Ack IP acknowledge C In Node C Output Queue : P2P3P4 Retransmission pool : Upper Layer P5P6 P1 Ack ReceivedP1 can be deleted If ack is not received after a long time P1 P1 returns to Output Queue to wait another transmission opportunity 60

61 DATA STRUCTURE RR : a,b,c,d,x Reception report P1 IP packet Ack IP acknowledge C In Node C Output Queue : P2P3P4 Retransmission pool : Upper Layer P5P6 Opportunity Listening Queue : If node C receive a neighbor’s packet whose destination is not C, Node C just put the packet into the above queue. Px Px is head for node D Not C. PaPbPcPd Periodical,Each node inform its neighbor about what they’ve got in its Opportunity Listenning Queue. That is, Reception Report 61

62 DATA STRUCTURE Reception report P1 IP packet Ack IP acknowledge C In Node C Output Queue : P2P3P4 Retransmission pool : Upper Layer P5P6 Neighbors’ virtual Queue : A queue B queue D queue …… ………………………… Opportunity Listening Queue : RR from A PaPbPcPdPx 62

63 DATA STRUCTURE Reception report P1 IP packet Ack IP acknowledge C In Node C Output Queue : P2P3P4 Retransmission pool : Upper Layer P5P6 Neighbors’ virtual Queue : A queue B queue D queue …… ………………………… Opportunity Listening Queue : RR from A PaPbPcPdPx RR from B RR from D Used for decoding Used for Coding 63

64 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 DATA STRUCTURE LOGIC 64

65 DATA STRUCTURE Output Queue : Retransmission pool : Upper Layer Opportunity Listening Queue : P1P2P3P4P5P6P1 65

66 DATA STRUCTURE 4 PARTS: Output Queue Retransmission Pool Opportunity Listening Queue Neighbor’s Virtual Queue 66

67 PSEUDO BROADCAST MECHANISM Laptop1 Laptop2 Laptop3 Both laptop2 and laptop3 are the intended Receiver of packet from laptop1 [4] Katti S, Rahul H, Hu WJ, Katabi D, Muriel M, Crowcroft J. XORs in the air: Practical wireless networking. 67

68 PSEUDO BROADCAST 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

69 PSEUDO BROADCAST MAC: Broadcast mode: 1.DCF CSMA/CA? Yes 2.Back off? No 3.DCF RTS/CTS? No 4.ACK? No POOR RELIABILITY 69

70 PSEUDO BROADCAST MAC: SOLUTION ? 1. Develop a brand-new MAC access protocol which is suitable for COPE broadcast 2.Add a new layer on top the current MAC layer to make link-to-link broadcast reliable. Hard to implement…..Unrealistic… WLAN MAC already pervasive Feasible! 2. PSEUDO BROADCAST 70

71 PSEUDO BROADCAST Reliability 1. ACK 2. Retransmission(ACK timeout) 3. Multiple Intended Receiver Packet SIFS Packet ACK DIFS& backoff SIFS ACK One receiver Multi receiver ACK Collision ! Synchronous Acknowledgement does not work! Receiver can send ACK packet asynchronously 1.We can treat Ack packet as a normal packet, ACK packets from different Receivers also go through the DIFS and back off procedure to avoid collision 2. Or we can piggy back on packet travelling in the reverse direction 71

72 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

73 COPE LAYER Where does cope layer lies in? Network Layer COPE layer MAC layer  It is the COPE layer where the four data structure: Output Queue, Retransmission pool, Opportunistic listening pool And neighbors’ virtual queue lies in.  COPE layer is a very slim layer lies between Network layer and 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 73

74 COPE LAYER Network Layer COPE layer MAC layer Sender side Get a packet from network layer Add the packet into Output Queue Encode if possible 74

75 COPE LAYER Network Layer COPE layer MAC layer Sender side Get a packet from network layer Add the packet into Output Queue Encode if possible Encoded? Add packet to Retransmission pool Piggy back Reception Report Piggy back asynchronous acknowledge Yes No To MAC layer 75

76 COPE LAYER Network Layer COPE layer MAC layer receiver side Get a packet from MAC Extract acks for me Delete correponding packets in retransmission pool If there is any Extract Reception Report Record RR in neighbors’ virtual queue If there is any Am I the next hop? Add to opportunity listening pool No Yes 76

77 COPE LAYER Network Layer COPE layer MAC layer receiver side I am the next hop This packet is encoded? Decodable? Decode and schedule Ack Am I destination? Deliver to Network layer Send into Output Queue Yes No Yes No Yes 77

78 COPE HEADER COPE header IP header MAC header Data Frame Encoded Packet ID Reception Report(Packet ID) 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 78

79 Coding Gain 79 [3] S. Katti, D. Katabi, W. Hu, and R. Hariharan, “The importance of being opportunistic: Practical network coding for wireless environments

80 Coding Gain 80 [4] Katti S, Rahul H, Hu WJ, Katabi D, Muriel M, Crowcroft J. XORs in the air: Practical wireless networking.

81 Coding Gain 81 [4] Katti S, Rahul H, Hu WJ, Katabi D, Muriel M, Crowcroft J. XORs in the air: Practical wireless networking.

82 ANALOG NETWORK CODING 82

83 Alice-Bob topology 83 [5] Katti S, Gollakota S, Katabi D: Embracing Wireless Interference: Analog Network Coding

84 Traditional Approach Alice Router Bob Alice transmits Router forwards Bob transmits Router forwards Time slot 1Time slot 2Time slot 3Time slot 4 84

85 Digital Network Coding Alice Router Bob Alice transmits Bob transmits Router forwards Time slot 1Time slot 2Time slot 3 85

86 Analog Network Coding Alice Router Bob Alice & Bob transmits Alice & Bob transmits Router forwards Time slot 1Time slot 2 86

87 How can we do it? Alice Bob 87

88 How can we do it?(Cont.) Alice REC Alice SND 88

89 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

90 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

91 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

92 Drawbacks Vulnerable to noises Difficult to use in more complex topology networks 92

93 93

94 Wireless Communication Project by Group 2 94

95 Wireless Communication Project by Group 2 95


Download ppt "Network Coding for Wireless Networks Wireless Communication Project by Group 2 1."

Similar presentations


Ads by Google