PUMA is a declarative constraint solving platform for policy-based
routing and channel selection in multi-radio wireless mesh
networks. We have developed a prototype of the PUMA system using the
RapidNet declarative
networking system deployed on
the ORBIT
testbed. PUMA consists of the following two building blocks:
The above figure shows an overview of PUMA from the perspective
of a single PUMA node. The role of the channel manager is
to assign available channels to wireless links to optimize a
performance goal (e.g. minimize network interference, minimize the
number of unique channels) while subjected to constraints
(e.g. regional policies on spectrum usage, yield to primary users who
own exclusive rights to certain spectrums in white space networks). In
PUMA, we use the PawLog language for declaratively expressing goals
and constraints as a constraint optimization problem (COP).
At the network layer, the RapidNet declarative networking
engine is deployed within the control plane to implement a variety
of neighbor discovery and routing protocols also expressed in
PawLog. The channel abstraction layer interacts with multiple
radios and presents upper layers with a multi-channel communication
interface. In order for packets to be routed to neighbors using
appropriate interface/channel. The output of the channel manager is
then used to initialize the channel assignment table at the channel
abstraction layer. Finally, the output of declarative routing is a
forwarding table (next-hop for each destination) used by
the forwarding agent.