Xors in the air Sachin Katti, Hariharan Rahul, Wenjun Hu, Dina Katabi, Muriel Medard, Jon Crowcroft
Definition: Network coding Allowing the routers to mix (code) packets from different sources in order to increase the information content of each transmission increasing the network throughput
Motivation Wireless implementation suffer from a sever throughput limitation.
Current approach This process requires 4 transmissions
Network coding approach This process requires 3 transmissions instead of 4
Conclusions from the example Network coding Leads to large bandwidth savings. It exploits the shared nature of the wireless medium which, for free, broadcasts each packet in a small neighborhood around its path.
The butterfly example Without network coding All links have a capacity of one message per unit of time.
XOR is one of the simplest form of data coding With Network Coding With network coding XOR is one of the simplest form of data coding By sending the XOR of b1 and b2 on the middle link , we can deliver two messages per unit of time to both receivers.
Conclusion Allowing the routers to mix the bits in forwarded messages can increase network throughput.
COPE A new forwarding architecture for wireless mesh networks. It inserts a coding layer between the IP and MAC layers. The new layer detects coding opportunities and exploits them to forward multiple packets in a single transmission.
Cope incorporates 3 main techniques : Opportunistic listening Opportunistic Coding Learning neighbor state
Opportunistic Listening The nodes snoop on all communications over the wireless medium The nodes store the overheard packets for a limited period T (default=0.5s) Each node broadcast reception reports telling its neighbors which packets it has stored
Opportunistic Coding The key question : What packets to code together to maximize throughput?
Node may have multiple options Node may have multiple options. The aim: Maximizing the number of packets delivered in a single transmission Constraints: Ensuring that each intended next hop has enough information to decode the packet.
Example
Important Results The coding algorithm should ensure that all next hops of an encoded packet can decode their corresponding packets. If not, unneeded data will be forwarded to areas where there is no interested receiver, wasting much capacity.
Simple Rule To transmit n packets :p1,…pn to n next hops r1,…,rn a node can XOR the n packets together only if each next hop ri has all n -1 packets pj for j≠i.
Learning Neighbor State The key question : How does a node know what packets its neighbors have?
Each node announces to its neighbors the packets it stores in reception reports. Problem: what happens at times of severe congestion or at times of light traffic?
Severe Congestions Reception reports may get lost in collisions Light traffic The reception reports may arrive too late, after the node has already made a suboptimal coding decision.
Conclusion A node cannot rely solely on reception reports, and may need to guess whether a neighbor has a particular packet.
Node may make an incorrect guess Causing to the coded packet to be undecodable at some next hop. The relevant packet is retransmitted, encoded with a new set of packets. חיסרון של COPE.
Cope in ad Hoc Network The researchers run experiments on 20-node testbed to calculate the throughput increase provided by COPE in an ad hoc network.
TCP TCP flows arriving according to a Poisson process. Pick sender and receiver randomly for transferring files. TCP does not show any significant improvement with coding.
GUILTY
GUILTY TCP’s reaction to collision related losses. There are a number of nodes sending packets, but they are not within the carrier sense range. HIDDEN TERMINAL PROBLEM Creating many collision related losses that cannot be masked even with the maximum number of MAC retries.
Would TCP be able to do better with COPE if we eliminated collision related losses?
Hypothesis performing Compressing the topology of the testbed by bringing the nodes closer together, so that they are within carrier sense range. Results: Reduce the loss rate Enable TCP make better use of the medium
Cope in UDP
COPE greatly improves the throughput of these wireless networks. At low demands (below 2Mb/s), coding performs similarly to no coding. As demands increase, both network congestion and the number of coding opportunities increase.
how much of the coding is due to guessing, as opposed to reception reports?
Low demands increasing dependence on guessing. As demands increase the importance of guessing decreases. As demands surge even higher, the network becomes significantly congested, leading to high loss rates for reception reports. Hence, decisions is again made based on guessing.
THE END !