Thursday, October 15, 2009

XORs in The Air: Practical Wireless Network Coding

Summary

The key idea of this paper is to take advantage of the broadcast nature of wireless and coding to reduce the number of packets that must be sent to transmit data.

The proposed design, COPE, uses three main techniques:
  1. Opportunistic learning. COPE overhears packets destined for other nodes and stores them for some time
  2. Opportunistic coding. COPE tries to send data encoded in such a way that multiple receivers can extract the packets they need using the data they already have.
  3. Learning neighbor state. COPE guesses what packets neighbors may have using the ETX metric.
COPE works by basically "adding" together packets such that multiple recipients can "subtract" the data they already have and obtain a new piece of data. In practice this is accomplished using XOR. This technique is particularly useful when multiple nodes are exchanging data.

The authors find a 3-4x performance improvement when using COPE for UDP flows.

Thoughts

This is a clever use of the broadcast nature of wireless to improve performance. I am actually quite surprised it works as well as it does.

No comments:

Post a Comment