draft_adHoc
A Distributed Algorithm for Link Based Channel Assignment in a
Mobile Ad Hoc NetworkJohn Daigle |
Abstract:
We study the problem of structuring an Ad Hoc network as a
collection of persistent node to node links, utilizing a collection
of resources such as channels or time slots to determine which node
pairs can communicate. A new algorithm, Starving Artist, is
presented to solve the link based channel assigment and maintenance problems in a distributed fashion.
1 Introduction
1.1 Problem Definition
An ad hoc network can be viewed, without loss of generality as a Unit
Disk Graph.[6] The potential for traffic collisions exist
whenever two nodes in proximity to each other attempt to transmit
using the same channel.1 The potential for collisons can
be modeled as an edge coloring problem in which each channel is
assigned a color and the the colors distributed on the graph.
A formal discussion of the link based channel assignment problem can
be found in [2]. Briefly, the formulation is a vertex
coloring on some subgraph of the square of the Line Conflict Graph of
the Unit Disk Graph. A transformation of this coloring and link
selection back to an edge conflict coloring will give us the Network
Graph.
This global view of the problem is formally interesting. However, for
the purposes of a distributed algorithm, it is more helpful to analyze
the ad hoc network in terms of characteristics and rules that can be
identified from the individual nodes.
If there are n nodes in the ad hoc network, it can be viewed as a
set of n neighborhoods, where a node v has a neigborhood of nodes
(v1, v2, … vn) within it’s broadcasting range. Each node has
available to it some set of channels K, and attempts to
form persistent links to other nodes in its neighborhood using these
channels pursuant to the following rules:
A node should not use a channel for more than one link.
- A node should not use any channel that is being used by one of
its neighbors unless it is linked to that neighbor on that channel.
- No node should have a disconnected neighbor.
A distributed algorithm that follows these rules will also solve the
distance 2 coloring problem for the network graph, allocating channels
in such a way that conflict free communication can take place over
persistent two-way links.
2 Related Work
Ten recent papers in Channel Allocation that should be reviewed
briefly, ranging from 2005 to
2008.[10, 5, 8, 4, 2, 3, 11, 9, 7, 1]
3 Algorithm
3.1 Assumptions
The Starving Artist algorithm has several global and structural
assumptions that are important to understanding its behavior.
3.1.1 Global Assumptions
One global assumption is that the algorithm is running on independent
devices that share a wireless communication medium. For example,
mobile phones using bluetooth connections, or laptops with wireless
cards. Each device is therefore a node n in the network N. Each
node ni has a neighborhood Ni of nodes that it are in its
broadcast range. This neighborhood is assumed to be symetrical, that
is, ∀ n0, n1 ∈ N, n1 ∈ N0 ⇐⇒ n0 ∈ N1.
It is assumed that there is a Channel structure for the network, that
is, there is some resource such as radio frequencies or time slots
that can be assigned to nodes, noted as K. Any node is
assumed to have potential access to any Channel for the purposes of
listening or broadcasting. We also assume that there are enough
channels available to connect the network.
3.1.2 Structural assumptions
One channel is reserved for control communication. Control
communication is broadcast from a node to its entire neighborhood. All
nodes are assumed to be listening to the control channel at any time
that they are not broadcasting.
Starving Artist assumes that each node can form at least two data links, that is, it
can commit to transmitting packets to and from at least two other
nodes using two separate channels. Again, a node is assumed to be
listening to each of its channels at any time that it is not
broadcasting.
Starving Artist also assumes that each node has some unique identifier.
These structural assumptions can be made without loss of generality
because there do exist schemes that meet these criteria.[7]
Starving Artist is a general purpose approach that will need
modification to fit into a specific channelization scheme.
3.2 Starving Artist
We model the algorithm using modified finite state machines, similar
to DEVS models as defined by Ziegler et al.[12] There are two
basic machines, the Node machine and the Transceiver
machine. Node machines act as containers for a group of Transceiver
machines, routing messages between them and keeping a global table of
the neighbor machines and relevant channel usage. Transceiver machines
handle communication between Nodes, broadcasting and receiving
messages using the wireless medium. To meet the assumptions in the
previous section, each Node machine acts as a container for at least
three Transceivers.
There are two kinds of Transceiver machines, Control and Data. Control
Transceivers communicate on a single channel in broadcast
fashion. Data Transceivers communicate with one other Data Transceiver
on a different node using a single channel.
The general idea is that each node maintains a list of open channels that it can communicate on. If the node has open channels and open data transceivers, it will attempt to form partnerships with it’s neighbors by sending an invitation on the control channel to share a data channel. The neighbors that can share that channel will respond to the invitation on the control channel (using some random delay) and prepare to receive a confirmation message from the original inviting node. The inviting node sends its confirmation with the ID of the first node that it receives a response from. All other nodes on that channel will react to the confirmation by marking that channel of their lists of open channels.
3.2.2 Machine Definition
The transceiver machines are modeled as a tuple
M=(Σ,Γ, S,s0,δ,τ,SF, ρ) where Σ is an
input/output alphabet, Γ is a set of channels, S is a set of states of which one (S0) is initial and 0 or more (SF) are final, δ is a transition function between those states, rho is a set of ports and τ is a timer. A state change occurs when the transceiver receives a packet, either from the node or from another transceiver on some port. At that point the transceiver will send a packet on a channel by an output port, then change its state S and channel, then reset its timer. This transition function is shown in Equation 1.
Σ1ρ, Γ1,τ × S1τΣ2ρ, Γ2,τ→ S2Γ2,τ
(1) |
Table 1 contains the complete alphabet for the transceiver machines. This is actually two alphabets, an alphabet for the Data machines and the Control alphabet. Each symbol is bound to one of the two ports that a transceiver has, eliminating the need from ρ in the transition equation. Table 2 contains a list of all of the states for transceivers. Table 3 shows all the possible transitions for each State.
| Data Alphabet |
| Σ | meaning | ρ | Σ | meaning | ρ | Σ | meaning | ρ |
| e | invitation received | 1 | r | invitation issued | 1 | s | RSVP | 1 |
| a | RSVP acceptence | 1 | x | conflicting transmission | 1 | f | change channel | 1 |
| t | timeout | 2 | p | ping | 1 | m | standard message | 1 |
| k | kill state | 1 | g | gnip | 1 | y | check state | 2 |
| d | channel change | 1 | w | m from node | 2 | | | |
| Control Alphabet |
| o | 1 transceiver open | 2 | i | invitation | 1 | b | all transceivers used | 2 |
| q | no colors available | 2 | u | update color lists | 1 | h | 2+ open transceivers | 2 |
| l | some colors available | 2 | e | invitation received | 2 | t | timeout | 1 |
| n | send updated list | 2 | z | check my state | 2 | | | |
| Table 1: Transceiver Alphabets |
| Data States |
| Symbol | meaning | Description |
| I | Idle | Not communicating |
| R | Invitor | Listening for a response to an invitation |
| E | Invitee | Listening for response to an RSVP |
| C | Committed | Linked to another node’s transciever on a channel |
| U | Uncertain | Waiting for confirmation that it’s partner is still live |
| F | Conflicted | Waiting for Partner for acknowledge channel change |
| Control States |
| Symbol | meaning | Description |
| H | Hungry | 2+ open data transcievers |
| D | Sated | 1 open data transciever |
| B | Bloated | 0 open data transcievers |
| A | Painted | Hungry with no open colors |
| Q | Laquered | Sated with no open colors |
| V | Varnished | Bloated with no open colors |
| Table 2: Transceiver States |
| Idle | e× I sΓ→ EΓ | Invitor | k × R y→ I | Invitee | k × Eτy→ I |
| | r × I∞y→ R | | s × R a→ C | | a × E y→ C |
| | | | | | m × E w→ C |
| | | | t × R y→ I | | t × Eτy→ I |
| | | | x× R y→ I | | x × Eτy→ I |
| Committed | m× C w→ C | Conflicted | m× F w→ C | Uncertain | m× U w→ C |
| | p × C g→ C | | p × F g→ C | | p × U g→ C |
| | x × C f→ FΓ | | x × F f→ FΓ | | x × U f→ FΓ |
| | t × C p→ U | | t × F y→ I | | t × U y→ I |
| | k × C y→ I | | k × F y→ I | | k × U y→ I |
| | f × C pΓ→ CΓ | | f × F pΓ→ F | | f × U p→ C |
| | w × C m→ C | | w × F m→ F | | w × U m→ U |
| | d × C → C | | d × F y→ F | | d × U y→ U |
| | g × C p→ U | | g × F f→ FΓ | | g × U y→ C |
| Hungry | u× H n→ H | Sated | u× D n→ D ′ | Bloated | u× B n→ B |
| | n × H u→ H | | n × D u→ D | | n × B u→ B |
| | i × H e→ H | | i × D e→ D | | i × B → B |
| | h × H → H | | h × D → H | | h × B → H |
| | o × H → D | | o × D → D | | o × B → D |
| | q × H → A | | q × D → Q | | q × B → V |
| | l × H → H | | l × D → D | | |
| | b × H → B | | b × D → B | | |
| | t × H i→ H | | | | |
| Painted | u × A n→ A ′ | Laquered | u× Q n→ Q ′ | Varnished | u× V n→ V |
| | n × A u→ A | | n × Q u→ Q | | n × V u→ V |
| | i × A z→ A | | i × Q z→ Q | | i × V → V |
| | o × A z→ Q | | o × Q z→ Q | | o × V z→ Q |
| | h × A z→ A | | h × Q z→ A | | h × V h→ A |
| | l × A z→ H | | l × Q z→ D | | l × V z→ B |
| | b × A z→ V | | b × Q z→ V | | |
| | q × A z→ A | | q × Q → Q | | |
| For simplicity, a Γ superscript in either a transition message or resulting state indicates a needed channel change. All timers are assumed to be reset to zero, and any state which does not accept a t message runs its timer to ∞. |
| Table 3: Transition Functions |
References
-
[1]
A. Akella, G. Judd, S. Seshan, and P. Steenkiste, “Self-management in chaotic
wireless deployments,” in MobiCom ’05: Proceedings of the 11th annual
international conference on Mobile computing and networking.1em plus
0.5em minus 0.4emNew York, NY, USA: ACM, 2005, pp. 185–199.- [2]
-
J. Avonts, N. Van den Wijngaert, and C. Blondia, “Distributed channel
allocation in multi-radio wireless mesh networks,” Computer
Communications and Networks, 2007. ICCCN 2007. Proceedings of 16th
International Conference on, pp. 939–944, Aug. 2007.
- [3]
A. Chia-Chun Hsu, D. Weit, and C.-C. Kuo, “A cognitive mac protocol using
statistical channel allocation for wireless ad-hoc networks,” Wireless
Communications and Networking Conference, 2007.WCNC 2007. IEEE, pp.
105–110, March 2007.- [4]
-
T. Dasilva, K. Eustice, and P. Reiher, “Johnny appleseed: wardriving to reduce
interference in chaotic wireless deployments,” in MSWiM ’08:
Proceedings of the 11th international symposium on Modeling, analysis and
simulation of wireless and mobile systems.1em plus 0.5em minus
0.4emNew York, NY, USA: ACM, 2008, pp. 122–131.
- [5]
L. Gao, X. Wang, Y. Xu, and W. Chen, “Distributed multi-radio channel
allocation in multi-hop ad hoc networks,” Communications, 2008. ICC
’08. IEEE International Conference on
, pp. 3156–3160, May 2008.- [6]
F. Kuhn, T. Moscibroda, and R. Wattenhofer, “Initializing newly deployed ad
hoc and sensor networks,” in MobiCom ’04: Proceedings of the 10th
annual international conference on Mobile computing and networking.1em plus 0.5em minus 0.4emNew York, NY, USA: ACM Press, 2004, pp.
260–274.- [7]
-
X. Meng and J. Garcia-Luna-Aceves, “Channel access using opportunistic
reservations in ad hoc networks,” Mobile Adhoc and Sensor Systems
(MASS), 2006 IEEE International Conference on, pp. 71–80, Oct. 2006.
- [8]
S. Merlin, N. Vaidya, and M. Zorzi, “Resource allocation in multi-radio
multi-channel multi-hop wireless networks,” INFOCOM 2008. The 27th
Conference on Computer Communications. IEEE, pp. 610–618, April 2008.- [9]
-
M. Shin, S. Lee, and Y. ah Kim, “Distributed channel assignment for
multi-radio wireless networks,” Mobile Adhoc and Sensor Systems
(MASS), 2006 IEEE International Conference on, pp. 417–426, Oct. 2006.
- [10]
C. Toham, F. Jan, and A. Duda, “Olsr enhancement for multi-interface
multi-channel ad hoc networks,” Mobile Ad Hoc and Sensor Systems,
2008. MASS 2008. 5th IEEE International Conference on, pp. 672–677, 29
2008-Oct. 2 2008.- [11]
-
H. Wu, F. Yang, K. Tan, J. Chen, Q. Zhang, and Z. Zhang, “Distributed channel
assignment and routing in multiradio multichannel multihop wireless
networks,” Selected Areas in Communications, IEEE Journal on,
vol. 24, no. 11, pp. 1972–1983, Nov. 2006.
- [12]
B. P. Zeigler and S. Vahie, “DEVS formalism and methodology: unity of
conception/diversity of application,” in WSC ’93: Proceedings of the
25th conference on Winter simulation.1em plus 0.5em minus 0.4emNew York, NY, USA: ACM Press, 1993, pp. 573–579.
This document was translated from LATEX by
HEVEA.