Related Works
2.1 Theoretical Researches on Network Coding
After the pioneering work by Ahlswede et al. [3], a lot of works focused on coding packets based on network topology to improve network capacity. Li et al. [6] proposed a linear coding scheme for multicast traffic that can achieve the max-flow from the source to each receiving node which is the maximum capacity bound [7]. In [8], Koetter and M´edard proposed polynomial time encoding and decoding algorithms that were then extended to random coding by Ho et al. [9].
In [10], Gkantsidis proposed a randomized and distributed large content distribution so-lution that adopts the concept of network coding and perfectly utilizes network broadcasting.
When a source node wants to share a large file to other nodes, the source node divides the file into several equal size segments and broadcasts enough number of linearly independent
combinations of these segments into the network. To increase the variations of linear combi-nations, instead of purely relaying received combicombi-nations, intermediate nodes may broadcast a randomized linear combination of received combinations. After one node receives enough linearly independent combinations, it can recover the original file. In [11], Keller brings a idea of thinking transmit M information packets as orthonormal basis of a M-dimensional vector space. In every transmission, each node maintains its subspace of this M-dimensional vector space. They call the subspace as knowledge space. When a node collects enough in-formation, i.e. the dimension of its knowledge space becomes M, this node can immediately obtain all M information packets. In [12], Kumar et al. proposed a broadcasting scheme over erasure channels with perfect replies. They extend the concept of Keller’s idea and define a new term, called virtual queue, as the subspace of sender’s knowledge space. Using the virtual queues the sender can record the information that receivers still need to receive for recovering the information packets. Further, they introduce a new notion —– Seeing a packet by a node and classify the packet buffer management mechanisms into two categories:
drop-when-decoded and drop-when-seen. The authors define that a node has seen a packet p if it receives a packet of linear combination of the form p+q, where q is also a linear combina-tion involving only packets that arrived after p at the sender. In drop-when-decoded scheme, for a specified receiver, a packet can be dropped if and only if the packet can be decoded by all receivers after the arrival of the packet. Let T be the time of an arbitrary arrival in a steady state spending in the physical queue before departure, excluding the slot in which the arrival occurs. The packet will not depart until each virtual queue has become empty
at least once since its arrival. Let Dj be the time until the next emptying of the jth virtual queue after the new arrival. Then, T = maxjDj and E [T ] ≥ E [Dj]. As for drop-when-seen scheme, the first unseen packet of each virtual queue is chosen to be encoded. As a packet is seen by a receiver, the packet is removed from the virtual queue of the receiver. A packet can be removed from the physical queue after it is seen by all receivers since that is enough for the sender to transmit only packets beyond p. However, to improve the broadcast per-formance, we need to make sure every receiver can obtain useful information from the coded packet. The problem is how to choose the coefficients for encoding. Kumar designs a coding algorithm to pick proper coefficients such that all receivers can see their oldest unseen packet accordingly in each transmission. Note that the definition of the virtual queue in this paper is different with our definition in following section. We will define our terms later.
In the sensor networks, Dimakis and Dan et al. exploit the network coding approach to achieve the efficiency data storage, collection and dissemination [13, 14]. Recent researches show that network coding in the specific unicast topologies can make the better throughput than traditional transmission [15][16].Most of the previous works described focus on the cod-ing algorithms, there are also some theoretical works on the analysis of the impact of network coding on network throughput. In [17], the authors developed the theoretical foundation for the analysis of the throughput capacity of wireless networks. The main result shows that in a randomly placed wireless networks with n nodes which are capable of transmitting W bits per seconds and have fixed transmission range, the throughput of each node can reach for a randomly chosen destination is Θ(√n log nW ) bit per seconds. If the node’s position,
trans-mission ranges, and the traffic patterns are all designed optimally , the throughput of each node can reach is Θ(√Wn) bit per seconds. These results give a good consideration to the network designers. Since then, the throughput capacity of random wireless networks has been studied extensively in the literatures[18, 19]. In the random wireless network, Lu et.
al. [20] show that network coding on the physical-layer can improve the throughput capac-ity substantially, achieve the minimum delay and provide confidentialcapac-ity. They also derived tighter bounds in two-dimensional random wireless network with unicast traffic, which is uniformly distributed among all nodes. Except for adapting network coding on network-layer, MAC-layer and physical-network-layer, David et. al. [21] proposed a modification of IEEE 802.11 back-off mechanism using feedback approach to improve network coding throughput over TCP data flow. It XORs forward TCP data packets and reverse TCP data packets to improve throughput. In [22], the authors design a distributed algorithm to approach optimal performance and further show that network coding can offer a constant factor of benefits under the fixed network, such as the circular network and the grid network. From the above works, it has shown that network coding can indeed improve the throughput of the multicast networks, wireless networks, TCP data flows, and so on. To implement network coding into practical, the network models should possess two properties, which are path diversity and multicast.
1 2 1
5 4 3