# Distributed Routing and Channel Selection for Multi-Channel Wireless Sensor Networks +
## 2 Related Works  
Tree based routing in sensor networks is well-researched. Two very popular tree-based schemes are Xmesh [15] that is available in Tinyos 1.x [16], and the Collection Tree Protocol (CTP) [17] that is available in Tinyos 2.x [18]. These tree based collection protocols are designed with the objective to provide best effort anycast datagram communication to one of the collection root nodes in the network. At the start, some of the nodes advertise themselves as the root nodes or sink nodes. The rest of the nodes use the root advertisements to connect to the collection tree. When a node collects any physical parameter, it is sent up the tree. As there can be multiple root nodes in the network, the data is delivered to one with the minimum cost. These are _address-free protocols_, so a node does not send the packet to a particular node but chooses its next hop based on a routing cost. Multi-channel routing in wireless networks received a lot of attention in recent times [19; 20; 21; 22; 23; 24]. However, most of the work published in this area either assume a multi-radio transceiver at each node or generate high control overhead for channel negotiation. These schemes are not suitable for WSNs where each sensor is typically equipped with a single radio transceiver. In addition, overhead must be minimized since energy resources are at a premium. Existing literature on multi-channel MAC protocols may be described in three categories: _scheduled_ multi-channel schemes, _contention-based_ multi-channel schemes, and _hybrid_ schemes. These are discussed in the following:  
In scheduled multi-channel schemes, each node is assigned a time slot for data transmission that is unique in its 2-hop neighborhood. An example is _TFMAC_, presented in [25], where the authors consider that time is partitioned in a contention-access period and a contention-free period. In the contention-access period, nodes exchange control messages in a default channel and then in contention-free period, the actual data transmission takes place. In [26], the authors propose a multi-channel extension of _LMAC_[27] where each transmitting node owns an exclusive time slot, and all nodes wake up at every time slot to avoid missing incoming packets. Initially all nodes are assigned time-slots using single channel LMAC. If there is any slot-less node (i.e., when all the slots are exhausted in its neighborhood), then new channels are introduced. In [28], authors propose a _Multi-channel MAC (MMAC)_, where each sensor node notifies its cluster-head if it wants to transmit. Next, the cluster-head distributes the channel assignment information to the sources and destinations. Other cluster based multi-channel schemes are proposed in [29; 30]. An example of contention-based multi-channel schemes is _Multi-frequency media access control for wireless sensor networks (MMSN)_[31], where the authors consider that time is divided in time slots. Each slot consists of a broadcast contention period and a transmission period. Each node has an assigned receiving frequency. During the broadcast contention period, nodes compete for the same broadcast frequency and during the transmission period, nodes compete for shared unicast frequencies. Another example in this category is [32], where a _TDMA based multi-channel MAC (TMMAC)_ is proposed. The authors assume that time is divided into some beacon intervals that consist of an _Ad Hoc Traffic Indication Messages (ATIM)_ window and a communication window. In the ATIM window, all nodes listen to the same default channel and the sender and receiver decide on which channel and which slot to use for data transmission. Then in each slot of the communication window, nodes adopt negotiated frequencies to transmit and receive packets. Authors in [33] propose a _Multi-channel Distributed Coordinated Function (MC-DCF)_, where the backoff algorithm of the IEEE 802.11 distributed coordination function (DCF) is modified to invoke channel switching, in order to improve the network throughput.