4Definitions Max-flow Min-cut Theory Unicast, Multicast Through- put 1 2Unicast, Multicast3Through-putThe main advantage for network coding, as an originalpurpose of this topic, is its high transmission capacity with themax-flow, which means by employing network coding, the theoreticalupper bound of transmission rate can be achieved bythe sender. Due to the fact that all sessions do not need to havethe same distribution trees according to some coding algorithmin transmission, the multisession IP can provide effectivenetwork resource utilization. Besides, network coding hasan effect on load balance and bandwidth saving , which alsoprovide an alternative method as traffic engineering. Usinglinear programming formulations, the maximum throughputthat a multicast application can achieve with network codingin unreliable ad hoc networks is 65% higher than conventionalmulticast.Another advantage for network coding is its superior performancein reducing the number of retransmissions in lossy networkscompared to end-to-end automatic repeat request(ARQ)in both low-loss and high-loss regimes. We hypothesize thatnetwork coding achieves a logarithmic reliability gain withrespect to multicast group size compared to a simple ARQscheme.
5Max-Flow Min-Cut Theorem (From Wiki) The max-flow min-cut theorem is a statement in optimization theory about maximal flows in flow networksThe maximal amount of flow is equal to the capacity of a minimal cut.The maximum flow in a network is dictated by its bottleneck. S.-Y. R. Li, R. W. Yeung, and N. Cai, “Linear network Coding”, IEEE Trans.
6Graph Graph G(V,E): consists of a set and a set V of vertices V consists of sources, sinks, and other nodesA member e(u,v) of E has a to send information from u to vV of verticesE of edges.capacity c(u,v)SABDCTAB324STDC
7Min-Cuts and Max-Flows Cuts: Partition of vertices into two setsSize of a Cut = Total Capacity Crossing the CutMin-Cut: Minimum size of Cuts = 5Max-Flows from S to TMin-Cut = Max-FlowSAD32BCT4SABDCT3243232321
8Unicast | Multicast | Broadcast Multicast communication is one-to-many.Unicast communication is one-to-one.Broadcast communication is one-to-all.BroadcastMulticastUnicast
9ThroughputThe 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.
10Wire vs Wireless Wire vs Wireless WIRE WIRELESS Traffic Pattern An edge between two nodes means that the two nodes are physically connected.Multicast communication is studied while network codingof multiple unicast flows remains a largely unknown territory.The traffic rate (or distribution) is predetermined anddo 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 ModelingWire:1) Network ModelingCurrently, when we want to translate a real networkenvironment into a math model, we just translate thenetwork into a graph where an edge between two nodesmeans that the two nodes are physically connected(orthe radio range allows the two nodes to communicate).2) Traffic PatternMulticast communication is studied with network codingof multiple unicast flows remains a largely unknownterritory. Moreover, the sender and receiver are fixed andgiven.3) Traffic RateThe traffic rate (or distribution) is predetermined anddo not change.Wireless:1) Broadcast is a nature characteristic for wireless communications,which means when the nodes are transmitting,all the nodes that have direct edge linking with it areaffected. The channel of one particular edge is actuallyshared by other neigbhoring edge. So the math modelof wireless network have more restriction than its wiredcounterpart.2) Unicast communication is the dominate traffic pattern. Ina random wireless environment, there are actually multipleunicast session with different senders and receivers.They do not signal their desire to communicate, but juststart sending packets.3) Traffic rate are bursty and varies over time rather thanconstant.4) Connectivity in a wireless network is highly variabledue to changing channel and medium conditions. Thisunpredictable nature makes the wireless network evenharder for modeling.Traffic PatternTraffic Rate
12What is NETWORK CODINGNetwork 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.
13Multicast Problem Butterfly Networks: Each edge’s capacity is 1. Max-Flow from A to D = 2Max-Flow from A to E = 2Multicast Max-Flow from A to D and E = 1.5Max-Flow for each individual connection is not achieved.ABCFGDE110.510.511110.50.511
14With network coding, every sink obtains the maximum flow. Ahlswede et al. (2000)With network coding, every sink obtains the maximum flow.b1b2BCb1b2Fb1+b2b1+b2GDE Rudolf Ahlswede, Ning Cai, Shuo-Yen Robert Li, and Raymond W. Yeung. Network information flow.
15COPECOPE 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. S. Katti, D. Katabi, W. Hu, and R. Hariharan, “The importance of being opportunistic: Practical network coding for wireless environments
16An information exchange scenario RelayAliceBobBob’s packetAlice’s packetAlice’s packetBob’s packetMulti-hop unicast requires 4 transmissionsCan we do better?
17Can Network Coding help - An idea XOR=RelayAliceBobBob’s packetAlice’s packetAlice’s packetBob’s packet3 transmissions instead of 4Saves bandwidth & power33% throughput increase
18Analog Network CodingAnalog 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).Traditionally, interference is considered harmful. Wireless networksstrive to avoid scheduling multiple transmissions at the same timein order to prevent interference. This paper adopts the opposite approach;it encourages strategically picked senders to interfere. Insteadof forwarding packets, routers forward the interfering signals.The destination leverages network-level information to cancel the interferenceand recover the signal destined to it. The result is analognetwork coding because it mixes signals not bits.So, what if wireless routers forward signals instead of packets?Theoretically, such an approach doubles the capacity of the canonical2-way relay network. Surprisingly, it is also practical. We implementour design using software radios and show that it achievessignificantly higher throughput than both traditional wireless routingand prior work on wireless network coding.
20Why is NETWORK CODING 1 2 3 Improve network throughput Superior performance in reducing the number of retransmissions in lossy networksThe main advantage for network coding, as an originalpurpose of this topic, is its high transmission capacity with themax-flow, which means by employing network coding, the theoreticalupper bound of transmission rate can be achieved bythe sender. Due to the fact that all sessions do not need to havethe same distribution trees according to some coding algorithmin transmission, the multisession IP can provide effectivenetwork resource utilization. Besides, network coding hasan effect on load balance and bandwidth saving , which alsoprovide an alternative method as traffic engineering. Usinglinear programming formulations, the maximum throughputthat a multicast application can achieve with network codingin unreliable ad hoc networks is 65% higher than conventionalmulticast.Another advantage for network coding is its superior performancein reducing the number of retransmissions in lossy networkscompared to end-to-end automatic repeat request(ARQ)in both low-loss and high-loss regimes. We hypothesize thatnetwork coding achieves a logarithmic reliability gain withrespect to multicast group size compared to a simple ARQscheme.network codingimproves the robustness of the system and is able to smoothlyhandle extreme situations where the server and nodes leavethe system3Is able to smoothly handle extreme situations where the server and nodes leave the system
21Wireless Communication Project by Group 2 COPEWireless Communication Projectby Group 2
23General 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?
24Opportunistic routing General idea of copeOpportunistic listeningOpportunistic codingOpportunistic routing
26Opportunistic 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.
27E1:B to E A1:D to A pool A Que A B E D C B E Output E1 E2 E3 pool D
28E1:B to E A1:D to A pool A Que A B E D E1 C B E E1 Output E2 E3 pool
29E1:B to E A1:D to A pool E1 A Que A B E D C B E E1 Output E2 E3 pool
30E1:B to E A1:D to A pool E1 I have E1 A Que E1 A B E D C B E Output E2
31E1:B to E A1:D to A pool E1 A Que E1 A B E D C B E Output E2 E3 pool D
32E1:B to E A1:D to A pool E1 A Que E1 A B E D C B E Output E2 E3 pool
33E1:B to E A1:D to A pool E1 A Que E1 A B E D C B A1 E A1 A1 Output E2
34E1:B to E A1:D to A pool E1 A Que E1 A1 A B E D C B E I have A1 Output
35E1:B to E A1:D to A Node A have packet E1 Node A want packet A1 So I can give Node AE1+A1CodingopportunityNode E have packet A1Node E want packet E1So I can give Node EE1+A1poolE1AQueE1A1ABEDCBEOutputE2E3poolA1E1:B to EA1:D to ADOutputA2A3
36E1:B to E A1:D to A Coding opportunity pool E1 A Que E1 A1 A B E D E1 OutputE2E3poolA1E1:B to EA1:D to ADOutputA2A3
37E1:B to E A1:D to A Coding opportunity pool E1 A Que A E1 B E A1 D OutputE2E3poolA1E1:B to EA1:D to ADOutputA2A3
38E1:B to E A1:D to A pool E1 A Que A E1 B E A1 D E1+A1 E1+A1 C B E OutputE2E3poolA1E1:B to EA1:D to ADOutputA2A3
39E1:B to E A1:D to A pool E1 E1+(E1+A1)=A1 A1 received! E1+A1 A Que A OutputE2E3poolA1A1+(E1+A1)=E1 E1 received!E1:B to EA1:D to ADOutputA2A3
40Opportunistic CodingHow 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.
46Opportunistic CodingTheory: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.
47ri Opportunistic Coding P1…Pi-1,Pi+1…Pn ri-1 :XOR P1 to Pn Pi-1 Pi P3 rn-2P2Pn-1P1…Pi-1,Pi+1…PnP1…Pi-2,Pi…Pnr2rn-1P1Pnr1rn:XOR P1 to Pn
48Opportunistic CodingWhenever 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.
49Opportunistic Routing Can we further reduce thenumber of transmissions?1.The path is stored in the packet itself.2.Check the path, find the opportunities to routing.
55A SCENARIO Packet Delivery RR Reception report P IP packet Ack BPRRReception reportCPPPPDPPPIP packetAckGIP acknowledgeEFPP
56A SCENARIO(II) Packet acknowledge RR Reception report P IP packet Ack BAckRRReception reportCAckDPIP packetAckGIP acknowledgeEAckAckF
57A SCENARIO(III) Reception Report RR Reception report P IP packet Ack BRRRRRRReception reportCRRRRRRRRDPRRRRIP packetAckGIP acknowledgeRRRRERRRRRRFRRRR
58DATA STRUCTURE RR Reception report P IP packet Ack IP acknowledge A B FGRRReception reportPIP packetAckIP acknowledge
59DATA STRUCTURE In Node C Output Queue： Retransmission pool： Upper LayerOutput Queue：P6P5P4P3P2P1P1Retransmission pool：RRPacket TransmittedReception reportIP packetAckIP acknowledge
60DATA STRUCTURE In Node C Output Queue： Retransmission pool： Upper LayerOutput Queue：AckP6P5P4P3P2Retransmission pool：P1 can be deletedAck ReceivedRRP1P1Reception reportIf ack is not received after a long timeP1 returns to Output Queue to waitanother transmission opportunityIP packetIP acknowledge
61DATA STRUCTURE In Node C Output Queue： Retransmission pool： Upper LayerOutput Queue：PxP6P5P4P3P2P1Retransmission pool：Px is head for node DNot C.Reception reportOpportunity Listening Queue：RR：a,b,c,d,xIP packetPaPbPcPdAckIf node C receive a neighbor’s packet whose destination is not C,Node C just put the packet into the above queue.Periodical,Each node inform its neighbor about what they’ve got in its Opportunity Listenning Queue. That is , Reception ReportIP acknowledge
62DATA STRUCTURE In Node C …… ………………………… Output Queue： RR from AUpper LayerOutput Queue：P6P5P4P3P2P1Retransmission pool：Reception reportOpportunity Listening Queue：IP packetPaPbPcPdPxNeighbors’ virtual Queue：A queueB queueD queue………………………………AckIP acknowledge
63DATA STRUCTURE In Node C …… ………………………… Output Queue： Upper LayerOutput Queue：P6P5P4P3P2P1Retransmission pool：Used for decodingReception reportOpportunity Listening Queue：IP packetPaPbPcPdPxNeighbors’ virtual Queue：A queueB queueD queue………………………………AckUsed for CodingIP acknowledgeRR from ARR from BRR from D
64DATA STRUCTURELOGICPacket headed to the same destination can never be coded togetherIt is not necessary to code a packet in opportunity listening queueIt is not necessary to transmit a packet when it is received again from its destinationA node can decode a packet which is coded with one of the packet he once send
67PSEUDO BROADCAST MECHANISM Laptop2Both laptop2 and laptop3 are the intendedReceiver of packet from laptop1Laptop3Laptop1 Katti S, Rahul H, Hu WJ, Katabi D, Muriel M, Crowcroft J. XORs in the air: Practical wireless networking.
68PSEUDO BROADCAST Current WLAN medium access mechanism 802.11 MAC: DCF CSMA/CA(mandatory)-Distributed Foundation Wireless MAC-Collision avoidance via randomized back-off-ACK packet for acknowledgement(not for broad cast)DCF RTS/CTS(optional)-avoids hidden terminal and exposed terminalPoint Coordination Function(infrastructure mode)How to apply COPE? Opportunistic Listenning?Multiple intended receiver?All neighbors can receive?BROADCAST
70PSEUDO BROADCAST PSEUDO BROADCAST SOLUTION? MAC:Develop a brand-new MAC access protocolwhich is suitable for COPE broadcastHard to implement…..Unrealistic….WLAN MAC already pervasivePSEUDO BROADCASTAdd a new layer on top the currentMAC layer to make link-to-link broadcastreliable.Feasible!
71PSEUDO BROADCAST Reliability 1. ACK 2. Retransmission(ACK timeout) 3. Multiple Intended ReceiverDIFS& backoffMulti receiverOne receiverSIFSSIFSSynchronous Acknowledgement does not work!Receiver can send ACK packet asynchronouslyPacketPacketACKACKWe can treat Ack packet as a normal packet, ACK packetsfrom different Receivers also go through the DIFS and back offprocedure to avoid collision2. Or we can piggy back on packet travelling in the reverse directionACKACKACKACKCollision!
72PSEUDO BROADCAST What should be contained in COPE packet? 1. XORed(coded) packet with multiple receivers2. uncoded packet with multiple receivers(all neighbors)3. Reception Report with multiple receivers (all neighbors)4. Packet Acknowledge with certain receiverLater on we will give a detailed description about the COPE packet format
73COPE LAYER Where does cope layer lies in? Network layer and MAC layer. COPE layer is a very slim layer lies betweenNetwork layer and MAC layer.Network LayerCOPE layerMAC layerCOPE layer process the network layer packets beforethey are send to MAC layerCOPE layer process the MAC layer frames before theyAre send to Network layerIt is the COPE layer where thefour data structure:Output Queue,Retransmission pool,Opportunistic listening poolAnd neighbors’ virtual queue lies in.
74COPE LAYER Sender side Get a packet from network layer Network Layer MAC layerGet a packet from network layerAdd the packet into Output QueueEncode if possible
75COPE LAYER Sender side Get a packet from network layer Add the packet into Output QueueEncode if possibleNetwork LayerCOPE layerMAC layerYesEncoded?Add packet to Retransmission poolNoPiggy back Reception ReportIf the packet is not encoded, then the destination MAC address will be the receiver MAC address, and the ACK-retransmission mechanism will be cared about by MAC layer.If the packet is encoded, which means it has many intended receivers, the destination MAC address will be FFFF.FFFF.FFFF, which is a broadcast frame in MAC layer, as mentioned before, MAC layer broadcast have no retransmission mechanism, we will need COPE layer to concern about the asynchronous retransmission so as to guarantee the reliable transmission.Piggy back asynchronous acknowledgeTo MAC layer
76COPE LAYER receiver side Yes Add to opportunity listening pool Am I the next hop?Network LayerCOPE layerMAC layerNoRecord RR in neighbors’ virtual queueExtract Reception ReportIf there is anyDelete correponding packets in retransmission poolExtract acks for meIf there is anyGet a packet from MAC
77COPE LAYER receiver side Send into Output Queue Deliver to Network layerNetwork LayerCOPE layerMAC layerNoYesAm I destination?Decode and schedule AckNoYesThis packet is encoded?Decodable?YesI am the next hop
78COPE HEADER MAC header Encoded Packet ID Encoded packet number ReceptionReport(Packet ID)Asynchronous ACKEncoded packet numberEnocded packet IDsIntended receiver sCOPE headerNumber of packets receivedPackets IDIP headerReceived packets’ IDACK receiverData Frame
79Coding Gain S. Katti, D. Katabi, W. Hu, and R. Hariharan, “The importance of being opportunistic: Practical network coding for wireless environments
80Coding Gain Katti S, Rahul H, Hu WJ, Katabi D, Muriel M, Crowcroft J. XORs in the air: Practical wireless networking.
81Coding Gain Katti S, Rahul H, Hu WJ, Katabi D, Muriel M, Crowcroft J. XORs in the air: Practical wireless networking.
89How can we do it?(Cont.) What will Alice do? Demodulate and do some signal processingNote the starting bit for interferenced signalDo XOR for interferenced signal
90How can we do it?(Cont.) Smart Alice! She must learn the characters of the wireless channelShe must store the packets which already sent by herselfShe may do the XOR job effectively
91MSK Easier? Choose the right modulation method 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.
92Future investigation is still needed ! ! ! DrawbacksVulnerable to noisesDifficult to use in more complex topology networksFuture investigation is still needed ! ! !
93What we may learn from ANC? Think differentlyElectrical engineer & computer scientistPHY layer & MAC layer & Network layer
94Wireless Communication Project by Group 2 Thanks for enjoying!Wireless Communication Projectby Group 2
95Wireless Communication Project by Group 2 Q&AWireless Communication Projectby Group 2