## 3 Proposed Mechanism  
### LPMC Overview  
To describe LPMC, we introduce the following notation and terminology. We define the base station (_i.e._, sink) as an entity that collects data from the sensor nodes (sources). We consider that the sensor network is mainly used for data collection. The data collection scheme builds a tree that connects the sink and the nodes. Each node forwards the data along the tree.  
It is obvious that the use of multiple channels increases the network capacity. The base station needs to sink (receive) all of the data sent in different channels. We, therefore, assume that the sink is equipped with multiple transceivers, each of which works in a different channel. A single node can generate data for multiple concurrent applications. The data of a particular node uses a single path. We assume that there are \(K\) orthogonal channels available for the WSN. A detailed discussion on the number of effective channels that can be used in WSNs with the CC2420 radio chip can be found in [11].  
Our proposed mechanism, LPMC, aims at utilizing minimum number of channels and channels are dynamically added if particular channels become overloaded. If a single channel is sufficient, then it uses one channel. If the generated data requires more capacity, channels are added. In contrast, when the traffic does not need additional channels, channels are removed so that the nodes eventually use only one channel. Whenever a channel is added, it is assigned to a set of nodes in the overloaded tree branch and thereafter, data flows in an entire path uses a single channel. Therefore, nodes in a single path do not need to switch channel to receive data from the upstream nodes, or to forward data to the downstream node.  
An important design consideration for LPMC is to allocate channels based on the network load. Therefore, we need to effectively estimate the active load of the network and to allocate or deallocate channels accordingly. In generic WSNs, the sensor nodes only have a local view of the overall network behavior. They might effectively measure the traffic load in a neighborhood, but they are not well-positioned to perceive the overall network status [16, 17]. In contrast, a sink has a more comprehensive view of the overall network performance, since it receives the data generated by all of the sources. Given this perspective, a sink can operate the channel management functionalities more efficiently than would be possible with a decentralized approach. We therefore keep the _channel management functionality_ of LPMC at the sink, whereas sensor nodes are engaged only in changing the channels. The term _channel switching_ refers to the interchange between channels by a node to receive and forward packets, whereas _channel changing_ refers to the assignment of a new channel to a set of nodes.  
At the sink, LPMC has four distinct logical components:  
* The _network load detection_ (NLD) component observes the packet arrival rates and sending rates of the sources, and decides whether or not the network is overloaded.
* The _channel allocation and deallocation_ (CAD) component adds or removes channels based on NLD's report about the network load.
* The _path update_ (PU) component dynamically divides a group of nodes using one channel into two groups, and assigns a new channel to one of the groups if a single channel is unable to deliver the data of all of the nodes.
* The _channel changing_ (CC) component sends an explicit message to the nodes to change linebreak their channel.  
The design of LPMC does not depend on any features specific to a particular MAC layer, except for changing the operating channel. Link-level retransmission can improve the performance of LPMC, but it is not essential. We assume that the sensor nodes run a routing protocol that selects a path from each source to the sink. In the following sections, we describe the detailed design of LPMC.