Wireless MAC Processor is the novel Architecture for Wireless Network cards extends FLEXIBILITY, and PROGRAMMABILITY on Medium Access Control mechanisms!

The wireless MAC processor has been conceived as a CPU specialized for handling hardware/PHY events and actions by executing Extended Finite State Machines (XFSMs). We chose to abstract the definition of the medium access control logic in terms of state machine because they are very effective in modeling the behavior of sequential control operations, and most MAC protocols are formally described in terms of state machines.

The core of the architecture is the execution engine. It performs the tasks of fetching the MAC program, translating it into logical operations and basic actions scheduling actions on the hardware, and storing results. The engine is in charge to execute the MAC program, written by the developer as an XFSM, and (dynamically) loaded in the WMP micro-instruction memory from the host PC.

The first version of WMP is implemented  over an ultra-cheap commodity WLAN network interface card. We worked on the AirForce54G chipset from Broadcom. We replace the original card firmware with an assembly code implementing the WMP state machine execution engine, and map the WMP programming interface into actual signals, operations and registers of the card.[1]


 WMP DCF State Machine

Define your MAC in terms of Finite State Machine


Change your mac on the fly, for example you can move from DCF to TDMA MAC program!


Use the WMP for Wireless lectures and labs. Stimulate student's ideas and provide them the right tool.



Example of applications


Direct Link: Build your direct link setup between media devices. No more low quality videos because of wireless network!



Virtualizzation: In this example of application we assume that the same Access Point (belonging to a public network) is shared between two different WiFi operators. Suppose that the two operators want to implement a different service model: the first operator (operator A) advertises “FIXED” SSID, offering access to the Internet with a fixed (guaranteed) bandwidth, while the second one (operator advertises ”BEST” SSID, offering a traditional best effort access. If all the stations employ a MAClet Control architecture, each operator can send a MAClet to the associated stations for enabling the medium access at regular time intervals (for example, in a fraction of the beacon interval served to the specific operator) and preventing it in the rest of the time. An example of resource repartitions between operators A and B in two consecutive beacon intervals. The channel activity trace show two virtual networks.


[1]  I. Tinnirello, G. Bianchi, P. Gallo, D. Garlisi, F. Giuliano, F. Gringoli, “Wireless MAC Processors: Programming MAC Protocols on Commodity Hardware” IEEE INFOCOM, March 2012.




Additional information