Funneling-MAC: A Localized, Sink Oriented MAC for Boosting Fidelity in Sensor Networks *

The funneling-MAC, developed as part of the Armstrong Project, is a hybrid TDMA/CSMA protocol to mitigate the funneling effect, which is present in choke points in wireless sensor networks.   

Sensor networks exhibit a unique funneling effect which is a product of the distinctive many-to-one, hop-by-hop traffic pattern found in sensor networks, and results in a significant increase in transit traffic intensity, collision, congestion, packet loss, and energy drain as events move closer toward the sink. While network (e.g., congestion control) and application techniques (e.g., aggregation techniques) can help counter this problem they cannot fully alleviate it. We take a different but complementary approach to solving this problem than found in the literature and present the design, implementation, and evaluation of a localized, sink-oriented, funneling-MAC capable of mitigating the funneling effect and boosting application fidelity in sensor networks. The funneling-MAC is based on a CSMA/CA being implemented network-wide, with a localized TDMA algorithm overlaid in the funneling region (i.e., within a small number of hops from the sink). In this sense, the funneling-MAC represents a hybrid MAC approach but does not have the scalability problems associated with the network-wide deployment of TDMA. The funneling-MAC is 'sink-oriented' because the burden of managing the TDMA scheduling of sensor events in the funneling region falls on the sink node, and not on resource limited sensor nodes; and it is 'localized' because TDMA only operates locally in the funneling region close to the sink and not across the complete sensor field. We show through experimental results from a 45 MICA-2 testbed that the funneling-MAC mitigates the funneling effect, improves throughput, loss, and energy efficiency, and importantly, significantly out performs other representative protocols such as B-MAC, and more recent hybrid TDMA/CSMA MAC protocols such as Z-MAC.

* This work is supported by the Army Research Office (ARO) under Award W911NF-04-1-0311 on resilient sensor networks.


- Gahng-Seop Ahn
- Emiliano Miluzzo
- Andrew T. Campbell
- Se Gi Hong
- Francesca Cuomo


- Gahng-Seop Ahn, Emiliano Miluzzo, Andrew T. Campbell, Se Gi Hong, and Francesca Cuomo,
  "Funneling-MAC: A Localized, Sink-Oriented MAC For Boosting Fidelity in Sensor Networks",
   In Proc. of  Fourth ACM Conference on Embedded Networked Sensor Systems (SenSys 2006),  
   Boulder, Colorado, USA, Nov 1-3, 2006. [talk] [BibTek]

- Gahng-Seop Ahn, Emiliano Miluzzo, and Andrew T. Campbell,
  "A Funneling-MAC for High Performance Data Collection in Sensor Networks",
   (Demo abstract) In Proc. of  Fourth ACM Conference on Embedded Networked Sensor Systems (SenSys 2006),  
   Boulder, Colorado, USA, Nov 1-3, 2006. [BibTek]

-  Funneling-MAC Technical Report including more extensive results and an analitycal  fundation of
   the Funneling-MAC
algorithm which dynamically tunes the depth of the intensity region.

Funneling-MAC TinyOS code 0.1.0

NEW!!  The Funneling-MAC code is now also available inside the 'contrib' directory of the tinyos-1.x source tree so you can obtain it
                 directly from SourceForge CVS.

The Funneling-MAC tinyos package is available here.

The Funneling-MAC code currently runs only on Mica2 motes and tinyos-1.x. To use the package follow the instructions below:

1. download the tinyos-1.x-funnelingMAC.tgz package

2. untar the package using the following command: $ tar xzvf tinyos-1.x-funnelingMAC.tgz

3. you should see a directory named
'tinyos-1.x-funnelingMAC'. This directory can be placed anywhere you have access in the filesystem

4. Read and follow the instructions in the README inside
the 'tinyos-1.x-funnelingMAC' directory.

For our internal record please provide the information below after having downloaded the funneling-MAC package.
This information will not be disclosed and the confidentiality of the data you provide to us will be maintained.

First Name:
Last Name:


-- last updated: July 2007