Tuesday, October 5, 2010

Wireless Networks continued

   ZigZag Decoding: Combating Hidden Terminals in Wireless Networks
   In today's wireless network, interference is the biggest problem in utilizing the wireless medium to the fullest. 802.11 addresses this problem by adding RTS-CTS protocol but this does not solve the interferences coming from hidden terminals in the network. ZigZag Decoding is a nifty trick that breaks down a packet into smaller chunks that are collision-free or collision-present. It intends to solve the hidden terminal problem away by proposing a new decoding scheme for the interfered packets. 
   It used to be that if a packet is interfered by another packet, then the whole signal is thrown away. Then the receiver has to wait indefinitely to listen for a signal that is not interfered. In ZigZag decoding scheme, these interfered signals are still useful because the decoder only takes apart the chunk that is not interfered. The decoder then uses the retransmitted signals to decode the rest of the packet by using the bit information extracted from the first interfered chunk. The process repeats until the interfered signal is fully decoded. This is better than the traditional RTS-CTS approach to the hidden terminal problem where the protocol would rely on exponential backoff to transmit signals free of interference.
   Hidden Terminal problem is practically everywhere and its occurrence should increase in the 10 years because mobile wireless network is booming. With mobile wireless, mobility introduce a significantly greater chance that these wireless network will face hidden terminal problem. The simulation of ZigZag improves the throughput of the network almost twice the 802.11 protocol. With such positive result, ZigZag is also backward compatible and can modularly be implemented inside 802.11 protocol which make the solution even more attractive than other related works.
   My question to this solution is that I am confused on how ZigZag actually subtracts the collision-free chunks from interfered signals to obtain a signal that is interference-free. Also if the interference-free chunk were to be really small, then the decoding process would take longer than if the sources were to retransmit the packet. The paper also does not talk about the computation overhead the receivers need to do to implement detecting collisions in a signal and purifying the signal of the interference. Nevertheless, ZigZag deserves an applaud for attempting to resolve interference rather than ignoring it.

   Symbol-level Network Coding for Wireless Mesh Networks
   Sachin from MIT is back with network coding to increase the throughput and reduce the bit error rate in wireless mesh network. In a mesh network, congestion is a big problem because all nodes communicate to each other in mesh network. So increasing the throughput and decreasing the bit error rate no matter within this congestion-prone network is a big boost to the network's performance. MIXIT is equipped with network coding to efficiently send out packets, congestion-aware forwarding scheme, and error-correcting scheme.
   Two notable new features in this network coding is that the receiver does not need to get all parts of the packet to decode it at the receiver's comfort reliability level. Also, these packets are forwarded in calculated routes that would have least congestion. I assume that in 10 years the mesh network will be noted by more people because mobile phones will construct an ad-hoc network similar to it. Mesh network is also easy to deploy in fields so it could easily be constructed anywhere.
   This paper is innovative in that the scheme allows the receiver to reconstruct a packet given only partial packet bits. MIXIT achieves such feat by quantizing packets into so called symbols that represent a sequence of bits. Groups of symbols are sent out to the neighbors and the neighbors try to identify whether these symbols are corrupted or not. Arrival of corrupted symbols just mean that the receiver has to wait for more symbols to arrive before it can fully construct and decode the packet. In traditional packet forwarding, a corrupted packet is dropped and waste a lot of time.
   The only bad part about MIXIT is that it requires additional frameworks for it to be implemented. This lags the possibility of deployment of MIXIT in real life because more requirements pose less flexibility. It's a good approach to get rid of retransmission of corrupted packets by integrating error-correcting code into network packets. Moreover, it's worth noting how Sachin broke down packets into symbols to implement such feature. We gotta think outside the box!