Please disable adblock to view this page.

← Go home

S-MAC

s-mac

October 28, 2016
Published By : Pratik Kataria
Categorised in:

  • Tries to reduce wastage of energy from all sources of energy inefficiency
  • Collision – by using RTS and CTS
  • Overhearing – by switching the radio off when transmission is not meant for that node
  • Control Overhead – by message passing
  • Idle listening – by periodic listen and sleep

PERIODIC LISTEN AND SLEEP

Each node goes into periodic sleep mode during which it switches the radio off and sets a timer to awake later
When the timer expires, it wakes up
Selection of sleep and listen duration is based on the application scenarios
Neighboring nodes are synchronized together
Nodes become active when there is traffic in the network.

s-mac

Based on this scheme, each node sets a wake-up timer and goes to sleep for the specified period of time.

At the expiration of the timer, the node wakes up and listens to determine if it needs to communicate with other nodes.

The complete listen- and-sleep cycle is referred to as a frame.

Each frame is characterized by its duty cycle, defined as the listening interval-to-frame length ratio.

Although the length of the listening interval can be selected independently by sensor nodes, for simplicity the protocol assumes the value to be the same for all nodes.

Nodes are free to schedule their own sleep and listen intervals.

It is preferable, however, that the schedules of neighboring nodes be coordinated in order to reduce the control overhead necessary to achieve communications between these nodes.

Contrary to other protocols in which coordination is achieved through a master node such as a cluster head, S-MAC nodes form virtual clusters.

SCHEDULE SELECTION AND COORDINATION

The neighboring nodes coordinate their listen and sleep schedules such that they al listen at the same time and all sleep at the same time.

To coordinate their sleeping and listening, each node selects a schedule and exchanges it with it neighbors during the synchronization period.

Each node maintains a schedule table that contains the schedule of all its known neighbors.

To select a schedule, a node first listens to the channel for a fixed amount of time, at least equal to the synchronization period. At the expiration of this waiting period, if the node does not hear a schedule from another node, it immediately chooses its own schedule.

The node announces the schedule selected by broadcasting a SYNC packet to all its neighbors.

It is worth noting that the node must first perform physical carrier sensing before broadcasting the SYNC packet. This reduces the likelihood of SYNC packet collisions among competing nodes.

If during the synchronization period the node receives a schedule from a neighbor before choosing and announcing its own schedule, the node sets its schedule to be the same as the schedule received.

It is worth noting that a node may receive a different schedule after it chooses and announces its own schedule.

This may occur if the SYNC packet is corrupted by either collision or channel interference.

If the node has no neighbor with whom it shares a schedule, the node simply discards its own schedule and adopts the new one.

On the other hand, if the node is aware of other neighboring nodes that have already adopted its schedule, the node adopts both schedules. The node is then required to wake up at the listen intervals of the two schedules adopted.

The advantage of carrying multiple schedules is that border nodes are required to broadcast only one SYNC packet.

The disadvantage of this approach is that border nodes consume more energy, as they spend less time in the sleepmode.

 

Pratik Kataria is a budding programmer, web designer and developer.