# Node Coloring and Color Conflict Detection in Wireless Sensor Networks

^{1}

^{2}

^{*}

## Abstract

**:**

## 1. Introduction

## 2. State of the Art

#### 2.1. Contention-based Protocols

#### 2.2. TDMA-based Protocols

- slots are assigned per link. In this case, only the transmitter and the receiver, the two extremities of the link are awake, all other nodes are sleeping. However, if the traffic on this link is light, the slot is not used at 100%. Broadcast transmissions are expensive: they require to copy the same information n times where n is the number of neighbors. Such solutions are also called link scheduling in [10,11]. A genetic solution is proposed in [12]. Two examples of deterministic slot assignment per link are given by TRAMA for general communications and FLAMA for tree-based communications like in data gathering applications. TRAMA [13], consists of 1) a neighborhood discovery protocol, 2) a schedule exchange protocol and 3) an adaptive election algorithm that selects the transmitter and the receiver(s) for each time slot. The node having the highest priority among its one-hop and two-hop neighbors wins the right to transmit in the considered slot. Each node declares in advance the list of its slots and for each slot its receiver(s). TRAMA is adaptive but also complex. To mitigate this complexity, a solution named FLAMA [14] is introduced for data gathering applications. FLAMA is simplified both in terms of message exchange and processing complexity.
- slots are assigned per node. In such a case, the transmitting node can use its slots as it wants: it can broadcast, send a unicast transmission to one of its neighbors then to another one. The advantage is that it can optimize the utilization of its slot. The drawback is that any neighbor of the transmitter must be awake during this slot, because it can be the destination of a message. Such solutions are also called broadcast scheduling as in [15] for instance. Krumke et al. have defined the problem called channel assignment in radio networks and have established complexity results for different types of network configurations [16]. They propose a 2-approximation algorithm for the minimum two-hop coloring on bounded degree planar graphs. With two-hop coloring, two nodes that are one-hop or two-hop neighbors must not have the same color.

#### 2.3. Hybrid Protocols

- We can notice that Z-MAC does not allow an immediate acknowledgement of unicast messages, while this acknowledgement is needed in wireless communications to confirm quickly the correct reception of the frame. Z-MAC uses the channel noise level to estimate contention: nodes refrain from sending when the channel noise level is too high. TDMA/CA uses both CCA (Clear Channel Assessment) and acknowledgements.
- Z-MAC allows nodes to transmit a frame during any time-slot, but prioritizes the owners of a slot by setting different backoff ranges for owners and for non-owners. On the other hand, TDMA/CA forbids nodes to send outside of their time-slot, which allows nodes to transmit without any backoff.
- In case of data gathering applications, where all traffic is done according to a tree rooted at the sink, the end-to-end delays can be high with Z-MAC, where slot allocation is totally arbitrary with regard to the parent-child relation. With the combination of TDMA/CA and SERENA, in an upstream cycle, a child always transmits before its parent, allowing it to aggregate data collected from all its children before transmitting them to its own parent. Thus, all collected data can reach the sink in a single cycle. In a downstream cycle, the propagation of information originated at the root to all network nodes is done in a single cycle. Moreover, the frequency of upstream/downstream cycles is determined according to the application constraints.
- From the energy point of view, Z-MAC reduces the activity period duration in the polling cycle enforced by the application. It does not allow nodes to sleep during this activity period because nodes are allowed to send during any time slot. SERENA, on the other hand (see Section 3) aims at maximizing network lifetime by scheduling node activity. SERENA increases the sleep period of nodes without reducing the amount of data transferred.

## 3. Framework

#### 3.1. Architecture

- SERENA (SchEdule RoutEr Node Activity) is a generic node coloring algorithm able to adapt to various application requirements and different environment/MAC layer constraints (e.g., unicast with/without immediate acknowledgement, broadcast). SERENA assigns colors to nodes in such a way that the number of colors used is small and two nodes having the same color can transmit simultaneously without interfering. More precisely, SERENA builds for any node N the set $\mathcal{N}\left(N\right)$ of nodes that cannot have the same color as N. Such a node would cause a collision making impossible for an intended destination to correctly receive its frame.
- The synchronization module receives a list of colors from SERENA. This synchronization module allocates time slots according to node colors, by means of beacons [24].
- TDMA/CA schedules the medium access according to the colors assigned by SERENA. It assigns one time slot per color. All nodes having the color corresponding to the current time slot are allowed to transmit. Any other node that has a one-hop neighbor of this color must be awake to receive its message. All the other nodes save energy by sleeping. In data gathering applications, we distinguish two types of cycles: those favoring upstream traffic, where colors are scheduled in decreasing order and those favoring downstream traffic, where colors are scheduled in the reverse order. The frequency of each cycle type is determined by the application constraints.

#### 3.2. Requirements and Assumptions

- general applications where any node can communicate with any other node in unicast mode. We also call them general communications. This type is the default one. It is used in the absence of knowledge of the application, because it introduces no restriction.
- data gathering applications where all sensor nodes send their data to a sink in unicast mode. Consequently, the only unicast communications that are used are either between a node and its parent, or between a node and its children. We also call them tree communications.

#### 3.2.1. Requirements

- Req1 for general communications: Any node can communicate in unicast mode with any other node.
- Req1’ for tree communications: Any node can communicate in unicast mode only with its parent or its children in the data gathering tree.
- Req2 for immediate acknowledgement of unicast transmissions: since radio transmission is unreliable, the receiver must transmit its acknowledgement immediately after receipt of the MAC frame. In other words, the receiver uses the slot of the sender to transmit its acknowledgement. Thus, the sender can use its slot to retransmit if needed.
- Req3 for broadcasts: Any node can broadcast information to its neighbors.

#### 3.2.2. Assumptions

- A0: Any node has a unique identifier in the network.
- A1: Any node X that is not in transmission range of any node N does not prevent the correct receipt on any link used by N.
- A2: links are stable and symmetric.

#### 3.3. Complexity Analysis

- assuming a bijective function f$\begin{array}{ccccc}f& :& V& \to & U\\ & & v& \mapsto & u=f\left(v\right)\end{array}$we define the set ${V}^{\prime}=V\cup U\cup \left\{{u}_{0}\right\}$, where ${u}_{0}$ is called the conjunction node and U denotes the set of mapping nodes. Hence, the cardinal of U is equal to n, the number of nodes in G.
- we define the set ${E}^{\prime}=\{(u,v)\phantom{\rule{4pt}{0ex}}such\phantom{\rule{4pt}{0ex}}that\phantom{\rule{4pt}{0ex}}u\phantom{\rule{4pt}{0ex}}and\phantom{\rule{4pt}{0ex}}v\in U\phantom{\rule{4pt}{0ex}}and\phantom{\rule{4pt}{0ex}}the\phantom{\rule{4pt}{0ex}}edge\phantom{\rule{4pt}{0ex}}({f}^{-1}\left(u\right),{f}^{-1}\left(v\right))\in E\}\cup \{(u,v)/u\in U\phantom{\rule{4pt}{0ex}}and\phantom{\rule{4pt}{0ex}}v\in V\phantom{\rule{4pt}{0ex}}and\phantom{\rule{4pt}{0ex}}u=f\left(v\right)\}\cup \{(u,{u}_{0})/u\in U\}$.

#### 3.4. Principles of SERENA Coloring Algorithm

- N builds its set $\mathcal{N}\left(N\right)$, denoting the set of nodes that cannot have the same color as N. This set is built from the requirements previously expressed. A collision table is built as we will see later, to identify all possible collisions between the frames transmitted in the network. Such collisions should be avoided.In a general application with broadcast and immediate acknowledgement support, SERENA will use a three-hop node coloring. Indeed, from $Req1$ and $Req3$, no one 1-hop or 2-hop neighbor can have the same color as N, otherwise a collision would occur between the data frames sent by N and the other node. From $Req1$ and $Req2$, no 3-hop neighbor should have the same color as N, otherwise a collision would occur between an acknowledgement and a data frame as illustrated in Figure 2. Nodes N and Q having the same color, transmit simultaneously to O and P respectively. The acknowledgement of P to Q causes a collision on node O that fails to receive the data frame sent by N. Hence, for a general application, 3-hop coloring is needed: two nodes N and M can share the same color if and only if they are neither 1-hop, nor 2-hop, nor 3-hop neighbors.
**Figure 3.**Collision between nodes N and M having the same color with two-hop coloring and immediate acknowledgement in a tree.In a data gathering application with broadcast and immediate acknowledgement support, two-hop coloring is required by $Req3$: no one-hop or two-hop neighbor of N can have the same color as N. Moreover, $Req2$ adds the following constraints: nodes M and N cannot have the same color, otherwise the conflicts illustrated in Figure 3 would occur. We adopt the following convention: the link between a node and its parent is represented by a vertical plain line, the parent node being represented over its child node. A dotted line represents a one-hop neighbor link that is not a parent link: it is either horizontal or diagonal. A single arrow represents the transmission of a data frame, whereas a double arrow represents the transmission of an acknowledgement. Cases 1 and 2 correspond to a conflict between a unicast transmission by N and the acknowledgement of another unicast transmission originated from M. Cases 3 and 4 correspond to a conflict caused by the acknowledgement of a unicast transmission and a broadcast transmission, originated from M in case 3 and from N in case 4. For data gathering applications, to color itself, N should know:- its one-hop and two-hop neighbors;
- the children of the one-hop neighbors of its parent: case 1 of Figure 3;
- the parents of the one-hop neighbors of its children: case 2 of Figure 3;
- the children of the one-hop neighbors of its children: case 3 of Figure 3;
- the parents of the one-hop neighbors of its parent: case 4 of Figure 3.

Each case allows node N to add conflicting nodes in its set $\mathcal{N}\left(N\right)$. - N computes its priority, denoted $prio\left(N\right)$. To minimize the number of colors needed to color all network nodes, the priority is chosen as the cardinal of:
- $\mathcal{N}\left(N\right)$ in case of general communications;
- $Descendants\left(N\right)$ in case of tree communications. This choice tends to alleviate the color constraints imposed to the descendants of the node and thus to reduce the number of colors used.

- N colors itself according to its priority order in $\mathcal{N}\left(N\right)$. This leads to the two following rules:
- Rule R1: any node N colors itself if and only if all nodes in $\mathcal{N}\left(N\right)$ having a higher priority than N are already colored.
- Rule R2: node N takes:
- –
- the smallest color unused in $\mathcal{N}\left(N\right)$ in case of general communications;
- –
- the smallest color unused in $\mathcal{N}\left(N\right)$ and higher than the color of its parent in case of tree-based communications.

These rules tend to minimize the number of colors needed to color all network nodes. Notice that in the case of tree communication, the rule obliging a node to take a color higher than the color of its parent has been introduced to minimize the delay needed to collect data by the sink. Scheduling medium access according to the decreasing order of colors enables each node to aggregate the information received from its children before transmitting it to its parent. Consequently, information from all nodes can reach the sink in a single cycle. Thus, delays are minimized, as we will see in Section 4.4.

#### 3.5. Overhead Reduction and Properties of SERENA

#### 3.5.1. Overhead Reduction

- For node N: its address, priority and color.
- The address and priority, denoted $Maxprio1\left(N\right)$, of the uncolored one-hop neighbor having the highest priority. Let $1hop\left(N\right)$ denote the set of one-hop neighbors of N. We have: $Maxprio1\left(N\right)=ma{x}_{M\in 1hop\left(N\right)}\left(Prio\left(M\right)\phantom{\rule{4pt}{0ex}}with\phantom{\rule{4pt}{0ex}}M\phantom{\rule{4pt}{0ex}}uncolored\right)$,
- The bitmap of colors already selected by its one-hop neighbors.
- The address and priority, denoted $Maxprio2$, of the uncolored node P providing the highest $Maxprio1\left(M\right)$ among all nodes $M\in 1hop\left(N\right)$.By definition, $Maxprio2\left(N\right)=ma{x}_{M\in 1hop\left(N\right)}\left(Maxprio1\left(M\right)\right)$,
- The bitmap of colors already selected by its two-hop neighbors.

- For node N: its address, priority and color.
- The address and priority, denoted $Maxprio1\left(N\right)$, of the uncolored one-hop neighbor having the highest priority. We have $Maxprio1\left(N\right)=ma{x}_{M\in 1hop\left(N\right)}\left(Prio\left(M\right)\phantom{\rule{4pt}{0ex}}with\phantom{\rule{4pt}{0ex}}M\phantom{\rule{4pt}{0ex}}uncolored\right)$,
- The bitmap of colors already selected by its one-hop neighbors.
- The bitmap of colors already selected by its parent and children.
- The address and priority, denoted $MaxprioSend2\left(N\right)$, of the uncolored parent or child of one-hop neighbors having the highest priority.By definition, $MaxprioSend2\left(N\right)=ma{x}_{M\in 1hop\left(N\right)}(Maxprio1\left(M\right)=Prio\left(P\right)$ where P is a parent or child of $M)$. This is because only a subset of the three-hop neighbors is needed by the receivers.
- The bitmap of colors already selected by the parents or children of one-hop neighbors.

- all its uncolored one-hop neighbors have a smaller priority. Hence, for any M uncolored one-hop neighbor of N, we have $Prio\left(M\right)<Prio\left(N\right)$. Hence, $Maxprio1\left(N\right)=ma{x}_{M\in 1hop\left(N\right)}\left(Prio\left(M\right)\phantom{\rule{4pt}{0ex}}for\phantom{\rule{4pt}{0ex}}M\phantom{\rule{4pt}{0ex}}uncolored\right)<Prio\left(N\right)$;
- all its uncolored two-hop neighbors have a smaller priority. $Maxprio2\left(N\right)$ is the maximum priority of uncolored nodes P that are one-hop neighbors of M, any one-hop neighbor of N. Consequently, we have the following cases:
- –
- node P is the node N itself and has priority $Prio\left(N\right)$;
- –
- P is a one-hop or two-hop neighbor of node N. In which case, we have by assumption: $Prio\left(P\right)<Prio\left(N\right)$.

Hence, $Maxprio2\left(N\right)=Prio\left(N\right)$. - and all its uncolored three-hop neighbors in $\mathcal{N}\left(N\right)$ have a smaller priority.
- –
- In the general coloring, $Maxprio3\left(N\right)$ is the maximum priority of uncolored nodes Q that are one-hop neighbors of P, itself one-hop neighbor of M, one-hop neighbor of N. Consequently, we have the following cases:
- *
- node Q is the node N itself and has priority $Prio\left(N\right)$;
- *
- Q is a one-hop, two-hop or three-hop neighbor of node N. In which case, we have by assumption: $Prio\left(Q\right)<Prio\left(N\right)$.

Hence, $Maxprio3\left(N\right)=Prio\left(N\right)$. - –
- In the tree coloring, $Maxprio3\left(N\right)$ is the maximum priority of uncolored nodes Q that are parent or child of P, itself one-hop neighbor of M a parent or child of N. We then have the following cases:
- *
- node Q is the node N itself and has priority $Prio\left(N\right)$;
- *
- Q is a one-hop or two-hop neighbor of node N. In which case, we have by assumption: $Prio\left(Q\right)<Prio\left(N\right)$.
- *
- Q is a three-hop neighbor $\in \mathcal{N}\left(N\right)$. In which case, we have by assumption: $Prio\left(Q\right)<Prio\left(N\right)$.

Hence, $Maxprio3\left(N\right)=Prio\left(N\right)$.

#### 3.5.2. Properties

**Table 1.**Possible collisions in case of general application, broadcast and immediate acknowledgement.

Unicast Data | Acknowledgement | Broadcast Data | |

Unicast Data | 1 or 2-hop nodes | 1 or 3-hop nodes | 1 or 2-hop nodes |

Acknowledgement | 1 or 3 hop nodes | 2-hop nodes | 1 or 3-hop nodes |

Broadcast Data | 1 or 2-hop nodes | 1 or 3-hop nodes | 1 or 2-hop nodes |

**Table 2.**Possible collisions in case of data gathering application, broadcast and immediate acknowledgement.

Unicast Data | Acknowledgement | Broadcast Data | |

Unicast Data | same parent | cases 1 to 4 | 1 or 2-hop nodes |

Acknowledgement | cases 1 to 4 | a child of a 1-hop node of the other | 2-hop node of parent or child |

Broadcast Data | same parent | 2-hop node of parent or child | 1 or 2-hop nodes |

#### 3.6. TDMA/CA MAC Protocol

- As SERENA reduces the possibility of color conflicts, the probability of frame collisions is limited. Thus, the nodes should transmit frames immediately, without having to wait for a backoff.
- As SERENA cannot guarantee that there is no color conflict (such conflicts can occur due to propagation condition changes or node mobility), there should be a collision detection mechanism.

- If there is no color conflict and no frame loss, frames are transmitted immediately (that is, without backoffs).
- If there is no color conflict but frame losses, frames are transmitted with a small backoff, as with CSMA/CA.
- If there is a color conflict, frames can still be received but at the cost of a throughput reduction as backoffs are added.

- The assignment and duration of time slots is achieved by a centralized entity (which is the coordinator of the PAN). If the traffic production rate is known by this entity, it can allocate longer time slots for colors having high traffic. However, it is not sufficient to increase the duration of the sender time slots, as the traffic is routed to other nodes with other colors. The central entity has to take into account the routes used by the routing protocol in order to optimize the color allocation.
- If the traffic production rate is not known by the central entity, it is possible to insert a CSMA/CA period between the colored period and the inactivity period. All the nodes are active during this period, and they are all able to send. This period can be used as a buffer for the traffic that exceeds the duration of the colored time slots, and it can also be used to accommodate non-colored nodes to join the network. This approach has been studied in [26,27].
- SERENA is based on node coloring. Node coloring has the advantage to allow a node to transmit any type of traffic (unicast or broadcast) in its slots. Hence, a node can optimize its transmissions in the slots associated with its color, unlike link coloring where the slots granted to a link cannot be used for another traffic sent by the same node. If the node has no more traffic to send, it can sleep, as well as its one-hop neighbors after having detected a silent period.

#### 3.7. Comparison with Z-MAC Protocol

Node | slot0 | slot1 | slot2 | slot3 | slot4 | slot5 | slot6 | slot7 | slot8 |

A | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |

B | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |

C | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |

D | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |

E | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |

F | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |

G | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |

H | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |

I | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |

Node | slot0 | slot1 | slot2 | slot3 | slot4 | slot5 |

A | 0 | 0 | 0 | 1 | 0 | 0 |

B | 1 | 0 | 0 | 0 | 0 | 0 |

C | 0 | 1 | 0 | 0 | 0 | 0 |

D | 0 | 0 | 1 | 0 | 0 | 0 |

E | 0 | 0 | 0 | 0 | 1 | 0 |

F | 0 | 0 | 0 | 1 | 0 | 0 |

G | 0 | 0 | 1 | 0 | 0 | 0 |

H | 0 | 1 | 0 | 0 | 0 | 0 |

I | 0 | 0 | 0 | 1 | 0 | 0 |

Node | slot0 | slot1 | slot2 | slot3 | slot4 | slot5 | slot6 |

A | 0 | 0 | 0 | 1 | 0 | 0 | 0 |

B | 1 | 0 | 0 | 0 | 0 | 0 | 0 |

C | 0 | 1 | 0 | 0 | 0 | 0 | 0 |

D | 0 | 0 | 1 | 0 | 0 | 0 | 0 |

E | 0 | 0 | 0 | 0 | 1 | 0 | 0 |

F | 0 | 0 | 0 | 0 | 0 | 1 | 0 |

G | 0 | 0 | 0 | 0 | 0 | 0 | 1 |

H | 0 | 1 | 0 | 0 | 0 | 1 | 0 |

I | 0 | 0 | 0 | 0 | 1 | 0 | 0 |

## 4. Performance of SERENA and TDMA/CA

- the number of colors: The difference between the node number and the color number gives the number of slots saved by our algorithm in each cycle compared with classical TDMA where the slot number is equal to the node number.
- the active period duration: During the active period, each node is able to transmit during a slot. This does not mean that all nodes are active during this period. On the contrary, nodes sleep during the slots that correspond neither to their color, nor to the colors of their one-hop neighbors. The active period duration can be computed from the number of colors and the slot duration. Notice that if the active period is shortened, the application manager has the choice between:
- –
- either increasing the inactive period during which all nodes sleep;
- –
- or reducing the cycle comprising the active period followed by the inactive period.

The active period duration is equal to the number of colors multiplied by the slot duration. - the average number of nodes sharing the same slot. This criterion evaluates the bandwidth spatial reuse. It is equal to the number of nodes divided by the number of colors.
- the error rate. It shows that SERENA ensures the absence of collision, assuming an ideal environment.
- the end-to-end delay. In the simulations reported in this paper, we consider two types of traffic. For general traffic, each node transmits data to a destination randomly chosen. For data gathering traffic, all nodes transmit data to the sink node, which is the PAN coordinator denoted by node 0.

#### 4.1. Simulation Setup

Simulation parameter | Value | |

Configuration | Number of nodes | 25–100 |

Density | 8–10–12 | |

PHY | Bandwidth | 250 kbps |

Transmission range | 11.5 m | |

Reception threshold | –92 dBm | |

Sensitivity threshold | –95 dBm | |

Capture threshold | 5 dBm |

#### 4.2. Necessity of Using Exclusively Links of Good Quality

#### 4.3. Simulations in an Ideal Environment for a General Application

#### 4.4. Simulations in an Ideal Environment for a Data Gathering Application

#### 4.5. General Communications versus Tree Communications

- the set $\mathcal{N}\left(N\right)$ contains less nodes in a data gathering application than in a general one. Hence, coloring is less constrained in a data gathering application, leading to a smaller number of colors.
- the choice of the color is more restricted with a data gathering application, where any node is obliged to take a color higher than the color of its parent. This tends to increase the number of colors in a data gathering application.

#### 4.6. Impact of Heterogeneous Traffic

**Figure 17.**End-to-end delays with heterogeneous traffic with buffers of: (a) 20 messages; (b) 60 messages.

## 5. Impact of Color Conflicts Caused by Late Arrivals, Node Mobility or Topology Changes

#### 5.1. Ideal Functioning

#### 5.2. Conflict Causes

#### 5.2.1. About the Stability of WSN Topologies

#### 5.2.2. Creation of New Links

#### 5.2.3. Existence of Asymmetric Links

#### 5.3. Dysfunction Detected at the MAC Layer

#### 5.3.1. Detection by Listening

#### 5.3.2. By Deduction

#### 5.4. Resolution of Notified Color Conflicts

- either N is a conflicting node. If N has the smallest priority or the conflicting node is not a 1, 2 or 3-hop neighbor, then N selects another color. Otherwise N sends a $Conflict$ message to the other conflicting node inviting it to change its color.
- or N is not a conflicting node. N sends a $Conflict$ message to the conflicting node that is either the only 1, 2 or 3-hop neighbor, or has the smallest priority.

#### 5.5. Should Color Conflicts Always be Solved?

- If there is no color conflict, TDMA/CA does not introduce any delay and acts in this sense like any other TDMA approach.
- Even if there is a color conflict, TDMA/CA does not notify SERENA as long as the desired frames can be captured.
- TDMA/CA approach allows collision avoidance: color conflicts can be tolerated as long as the number of collisions does not exceed a threshold.
- TDMA/CA is able to detect locally any color conflict generated by SERENA.

## 6. Conclusion

## Acknowledgements

## References

- IEEE Computer Society. Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications; ANSI/IEEE Standard 802.11; IEEE Computer Society: Washington, DC, USA, 1999. [Google Scholar]
- Singh, S.; Raghavendra, C. PAMAS—Power Aware Multi-access protocol with Signalling for Ad Hoc Networks. ACM SIGCOMM Comput. Commun. Rev.
**1998**, 28, 5–26. [Google Scholar] [CrossRef] - Ye, W.; Heidemann, J.; Estrin, D. An Energy-efficient MAC Protocol for Wireless Sensor Networks. In Proceedings of the IEEE Infocom; IEEE: New York, NY, USA, 2002; pp. 1567–1576. [Google Scholar]
- Van Dam, T.; Langendoen, K. An Adaptive Energy-efficient MAC Protocol for Wireless Sensor Networks. In Proceedings of ACM Sensys, Los Angeles, CA, USA, November 2003.
- Lu, G.; Krishnamachari, B.; Raghavendra, C. An adaptive energy-efficient and low-latency MAC for data gathering in sensor networks. In Proceedings of International Parallel and Distributed Processing Symposium, Santa Fe, NM, USA, April 2004.
- IEEE Computer Society. Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks (WPANs); ANSI/IEEE Standard 802.15.4; IEEE Computer Society: Washington, DC, USA, 2006. [Google Scholar]
- Rhee, I.; Warrier, A.; Aia, M.; Min, J. Z-MAC: A hybrid (MAC) for wireless sensor networks. In Proceedings of SenSys’05, San Diego, CA, USA, November 2005.
- Rhee, I.; Warrier, A.; Xu, L. Randomized dining philosophers to TDMA scheduling in wireless sensor networks; Technical Report TR-2005-21; North Carolina State University: Raleigh, NC, USA, April 2005. [Google Scholar]
- Jain, K.; Padhye, J.; Padmanabhan, V.; Qiu, L. Impact of interference on multi-hop wireless network performance. In Proceedings of ACM MobiCom, San Diego, CA, USA, September 2003.
- Gandham, S.; Dawande, M.; Prakash, R. Link scheduling in sensor networks: distributed edge coloring revisited. J. Paral. Distrib. Comput.
**2008**, 68, 8. [Google Scholar] [CrossRef] - Ma, J.; Lou, W.; Wu, Y.; Li, X.-Y. Energy efficient TDMA sleep scheduling in wireless sensor networks. In Proceedings of INFOCOM 2009, Rio de Janeiro, Brazil, April 2009.
- Chakraborty, G. Genetic algorithm to solve optimum TDMA transmission schedule in broadcast packet radio networks. IEEE Trans. Commun.
**2004**, 52, 5. [Google Scholar] [CrossRef] - Rajendran, V.; Obraczka, K.; Garcia-Luna-Aceves, J.-J. Energy-efficient, collision-free medium access control for wireless sensor networks. In Proceedings of Sensys’03, Los Angeles, CA, USA, November 2003.
- Rajendran, V.; Garcia-Luna-Aceves, J.J.; Obraczka, K. Energy-efficient, application-aware medium access for sensor networks. In Proceedings of IEEE MASS 2005, Washington, DC, USA, November 2005.
- Ramaswami, R.; Parhi, K. Distributed scheduling of broadcasts in a radio network. In Proceedings of INFOCOM 1989, Ottawa, Canada, April 1989.
- Krumke, S.; Marathe, M.; Ravi, S. Models and approximation algorithms for channel assignment in radio networks. Wirel. Netw.
**2000**, 7, 575–584. [Google Scholar] [CrossRef] - Gandham, S.; Dawande, M.; Prakash, R. Link scheduling in sensor networks: distributed edge coloring revisited. In Proceedings of INFOCOM 2005, Miami, FL, USA, March 2005.
- Garey, M.; Johnson, D. Computers and Intractability: A Guide to Theory of NP-Completeness; W.H. Freeman and Co.: San Francisco, CA, USA, 1979. [Google Scholar]
- Brelaz, D. New methods to color the vertices of a graph. Commun. ACM
**1979**, 22, 251–256. [Google Scholar] [CrossRef] - Hansen, J.; Kubale, M.; Kuszner, L.; Nadolski, A. Distributed largest-first algorithm for graph coloring. In Proceedings of EURO-PAR 2004, Pisa, Italy, August 2004.
- Minet, P.; Mahfoudh, S. SERENA: SchEduling RoutEr Nodes Activity in wireless ad hoc and sensor networks. In Proceedings of IWCMC 2008, IEEE International Wireless Communications and Mobile Computing Conference, Crete Island, Greece, August 2008.
- Mahfoudh, S.; Minet, P. Performance evaluation of the SERENA algorithm to SchEdule Router Nodes Activity. In Proceedings of AINA 2008, Ginowan, Japan, March 2008.
- Gobriel, S.; Mosse, D.; Cleric, R. TDMA-ASAP: sensor network TDMA scheduling with adaptive slot stealing and parallelism. In Proceedings of ICDCS 2009, Montreal, Canada, June 2009.
- Chalhoub, G.; Guitton, A.; Jacquet, F.; Freitas, A.; Misson, M. Medium Access Control for a Tree-Based Wireless Sensor Network: Synchronization Management. In Proceedings of IFIP Wireless Days, Dubai, United Arab Emirates, November 2008.
- Zigbee-Alliance. Zigbee Specification. January 2008. [Google Scholar]
- Dang, T.; Val, T.; Guitton, A.; Al Agha, K.; Minet, P.; Bertin, M.-H.; Viollet, J.-B. Which wireless technology for industrial wireless sensor network? The development of OCARI technology. IEEE Trans. Ind. Electron.
**2009**, 56, 4266–4278. [Google Scholar] - Al Agha, K.; Chalhoub, G.; Guitton, A.; Mahfoudh, S.; Minet, P.; Misson, M.; Rahme, J.; Val, T.; Van Den Bossche, A. Cross-layering in an industrial wireless sensor network: Case study of OCARI. J. Netw.
**2009**, 4, 411–420. [Google Scholar] [CrossRef] - Minet, P.; Mahfoudh, S. Energy, bandwidth and time efficiency in data gathering applications. In Proceedings of IFIP Wireless Days, Paris, France, December 2009.
- Minet, P.; Mahfoudh, S.; Chalhoub, G.; Guitton, A. Node coloring in a wireless sensor network with unidirectional links and topology changes. In Proceedings of IEEE WCNC 2010, Sidney, Australia, April 2010.

© 2010 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).

## Share and Cite

**MDPI and ACS Style**

Mahfoudh, S.; Chalhoub, G.; Minet, P.; Misson, M.; Amdouni, I.
Node Coloring and Color Conflict Detection in Wireless Sensor Networks. *Future Internet* **2010**, *2*, 469-504.
https://doi.org/10.3390/fi2040469

**AMA Style**

Mahfoudh S, Chalhoub G, Minet P, Misson M, Amdouni I.
Node Coloring and Color Conflict Detection in Wireless Sensor Networks. *Future Internet*. 2010; 2(4):469-504.
https://doi.org/10.3390/fi2040469

**Chicago/Turabian Style**

Mahfoudh, Saoucene, Gerard Chalhoub, Pascale Minet, Michel Misson, and Ichrak Amdouni.
2010. "Node Coloring and Color Conflict Detection in Wireless Sensor Networks" *Future Internet* 2, no. 4: 469-504.
https://doi.org/10.3390/fi2040469