You are on page 1of 13

ECE/CSC 775 - FALL 2011 ADVANCED TOPICS IN WIRELESS NETWORKING

WISPY MANAGER : A SOFTWARE DESIGN FOR AVOIDING INTERFERENCE IN A Wi-Fi (802.11) MESH NETWORK.

PROJECT REPORT 2 Version: 1.0

Prepared by: Team E1 RAGHU HANUMANTHA GOWDA SANDEEP ANANTHA RAO SAGAR SUBHASH CHINCHANI SRIKANTH RAMACHANDRAN

ECE/CSC 775 - FALL 2011 ADVANCED TOPICS IN WIRELESS NETWORKING

1 Table of Contents
1. PROJECT TIMELINE ................................................................................................................................ 3 1.1. 2. Activity status report .................................................................................................................... 5

SYSTEM DESIGN OVERVIEW .................................................................................................................. 6 2.1 Wispy Module ............................................................................................................................... 7 Overview ............................................................................................................................... 7 Design.................................................................................................................................... 7 Module Sub-components...................................................................................................... 8 Issues ..................................................................................................................................... 9

2.1.1 2.1.2 2.1.3 2.1.4 2.2

Peer synchronization protocol ...................................................................................................... 9 Overview ............................................................................................................................... 9 Design.................................................................................................................................... 9 Message Sequence Charts .................................................................................................. 10 Issues ................................................................................................................................... 11

2.2.1 2.2.2 2.2.3 2.2.4 2.3

Channel Determination Module ................................................................................................. 11 Overview ............................................................................................................................. 11 State Diagram...................................................................................................................... 11 Design.................................................................................................................................. 12 Issues ................................................................................................................................... 13

2.3.1 2.3.2 2.3.3 2.3.4 3.

THINGS TO BE DONE ........................................................................................................................... 13

ECE/CSC 775 - FALL 2011 ADVANCED TOPICS IN WIRELESS NETWORKING

1. PROJECT TIMELINE

TASK

PHASE

TASK

TIME REQUIRED

WEEK

PERSON RESPONSIBLE

STATUS

1.

Study of Spectrum sensing in Cognitive Interference Avoidance. Usage of Wi-Spy Channelyzer in Unix Environment

2 days

Sagar C & 2 days 1 Raghu G

2.

3.

Study of Traffic Control in Linux.

4 days

1 4.

Study of Max throughput of 802.11 network Study of Linux Network Configuration.

3 days

1 Sandeep R

5.

4 days

6.

Collection of spectral data from Wi-Spy.

1 day

2 Srikanth R

7.

Maintaining and analyzing data.

3 days

8. 2 9.

Configuring Traffic Control. Implementation of channel determination and switching.

3 days

Sandeep R, Srikanth R

5 days

Sagar C, Raghu G

ECE/CSC 775 - FALL 2011 ADVANCED TOPICS IN WIRELESS NETWORKING

10.

Implementation of Interference Avoidance Protocol.

15 days

4&5

Entire Team

11. 4 12.

Testing the results. 7-10 days Analysis of the results. 6&7

Sagar C, Srikanth R

Sandeep R, Raghu G

13.

Project report 2

3 days

Sagar C, Srikanth R

14. 5 15.

Demo Preparation 7 days Final Project report 8

Raghu G

Sandeep R

16.

Buffer Period

7 days

Completed

In-progress

Pending

ECE/CSC 775 - FALL 2011 ADVANCED TOPICS IN WIRELESS NETWORKING

1.1.

Activity status report

1. Study of Spectrum sensing in Cognitive Interference Avoidance:


We have completed the study on the basics of cognitive networks and how interference avoidance is generally accomplished. References used for study: 1. Cognitive Networks - Ryan W. Thomas, Luiz A. DaSilva, Allen B. MacKenzie 2. A Client-driven Approach for Channel Management in Wireless LANs - Arunesh Mishra, Vladimir Brik, Suman Banerjee, Aravind Srinivasan,William Arbaugh 3. Analysis and Simulation Model of Physical Carrier Sensing in IEEE 802.11 Mesh Networks - Hui Ma, Eiman Alotaibi, Sumit Roy

2. Usage of Wi-Spy Channelyzer in Unix Environment: We have studied how to setup and use the Wi-Spy DBX device in Linux environment. This was possible mainly due to the open source support from "Kismet wireless tools" and also from open-source forums. 3. Study of Max throughput of 802.11 network : We have studied the throughput ,data rate and their respective calculations from the Max throughput paper provided in the class website. 4. Collection of spectral data from Wi-Spy : We use the spectool open-source interface provided by kismet-wireless to access the device in order to read the spectrum data and calculate the channel utilizations.
References used for study:

1.http://www.kismetwireless.net/spectools/ 5. Maintaining and analyzing data:


We have completed the base implementation for collecting the data samples from the Wi-Spy tool and calculating the utilizations for all the channels. We are currently working on setting up the configurable parameters and the exponential averaging procedure. References used for study: 1. Minimizing the effect of Wi-Fi interference in 802.15.4 wireless sensor networks - Razvan Mus aloiu-E. * and Andreas Terzis

6. Implementation of Interference Avoidance Protocol We are currently implementing the protocol for informing the channel selection decisions made by the channel determination module.
References used for study: 1. Protocol used in the Meta-MAC power saving protocol.

ECE/CSC 775 - FALL 2011 ADVANCED TOPICS IN WIRELESS NETWORKING

2. SYSTEM DESIGN OVERVIEW

WiSpy Manager in Linux User Space WISPY CD PROTO

Linux Kernel Space

An overview of the system design is shown above. The WiSpy manager consists of the following modules. 1. Wispy : Module to collect spectrum data and determine the exponential average of the utilization of all channels (802.11 a/b/g/n bands). 2. Proto: Protocol module to exchange channel selection related information between peer nodes. 3. Channel Determination (CD) : Module to determine the best channel and dynamically limit the data throughput of the application based on the utilization of the current channel. The modules are explained in detail in further sections.

ECE/CSC 775 - FALL 2011 ADVANCED TOPICS IN WIRELESS NETWORKING

2.1 Wispy Module


2.1.1 Overview The wispy module has the purpose of collecting the spectrum data from the WISPY-DBX device using the "spectool" open source implementation (http://www.kismetwireless.net/) as the interface in order to implement a cognitive network that avoids interference intelligently. Given: In Linux there is no software support from the device manufacturer. Because of the this we need to use the open-source implementation. The open-source implementation provides only RSSI samples for a range of frequencies. The following is the device specification: Range 0: "2.4GHz ISM" 2400MHz-2483MHz @ 199.00KHz, 419 samples Range 1: "2.4GHz ISM FAST" 2400MHz-2484MHz @ 560.00KHz, 150 samples Range 2: "5GHz" 5100MHz-5866MHz @ 748.00KHz, 1024 samples Range 3: "5GHz UN-II" 5100MHz-5483MHz @ 374.00KHz, 1024 samples

2.1.2

Design

Wispy Module (Channel utilization algorithm)

Posix Message queues

Channel Determination module

'Spectool' used as interface to WISPY hardware.

ECE/CSC 775 - FALL 2011 ADVANCED TOPICS IN WIRELESS NETWORKING

2.1.3

Module Sub-components

Configuration Manager This module handles the configurable parameters in the project. Currently the configurable parameters planned are: a. Frequency bands b. Channels allowed c. Packet size d. Utilization thresholds e. Channel reselection factor f. '' for utilization averaging g. Number of samples for calculating channel utilizations. Wispy Wispy module prepares a list of channels and their corresponding utilizations. Once it has calculated these values it provides them to the channel determination module. Additionally it also monitors the channels continuously to check if a channel with better utilization parameters are available for use by the cognitive network. The following provides the basic design issues and considerations. Algorithm for utilization calculation: With the given constraints we have decided to use the RSSI samples to identify and quantify the interference from co-existing wireless networks. We have use a modified version of the "Mean RSSI value " aggregation methods provided in the paper by "Razvan Mus aloiu-E. * and Andreas Terzis" .We found that the noise floor for a wireless network is around -101 dBm. We considered any RSSI sample greater than -95 dBm (to avoid catching noise spikes) as an active transmission . Anything below it as no transmission. Let the number of active transmission samples for a particular frequency i be Niactive. Let the number of inactive transmission samples for a particular frequency i be Niinactive. Total samples taken = Niactive + Niinactive Hence the utilization for a particular frequency i is : Ui = Niactive/(Niinactive + Niinactive) A channel is made up of a set of frequencies. We calculate the mean utilization for the channel as the mean of the utilizations calculated for all the frequencies present in the channel using the above formula. If the channel comprises of 'k' frequency samples.

Mean Utilization = (

( k that belongs to the set of frequencies present in that channel.)

We use 5 seconds worth of samples to calculate the utilization for each frequency. For each sample for a frequency we put it through an exponential running average. The output of this module is provided to the channel determination module.

ECE/CSC 775 - FALL 2011 ADVANCED TOPICS IN WIRELESS NETWORKING

2.1.4 Issues 1. While using the 'spectool' we can scan only one frequency band at a time i.e. 2.4 GHz or 5 GHz. 2. The 'spectool' source does not provide ways to end the scanning in any band gracefully. They expect a 'Ctrl+C' signal to end the scanning. We are planning to go around these issues by scanning the bands sequentially and using signals to switch between scanning bands without errors.

2.2 Peer synchronization protocol


2.2.1 Overview This is a UDP based protocol used by the interference avoidance application to send messages to other nodes in the network. It is used by the channel determination module to query the other nodes about candidate channels and to reply to these queries. Additionally it helps in synchronizing all the nodes in moving to a different channel based on the interference measurements. 2.2.2 Design

General A Proto Server thread is created upon starting the wispy manager. The server listens on the port 1234 for WISPY manager related messages. Upon receiving the messages, forwards the same to the channel determination (CD) module to take necessary actions. The proto module also sends messages upon a request by the CD module. Protocol Messages The following protocol messages have been decided: 1. Channel Switch Request Message (proto_channel_request): This message is used to request other peers in the network to consider switching to the channel present as payload. This message also contains the other channels and their respective utilizations as viewed by the initiator of the message. 2.Channel Switch Request Response Message ( proto_channel_reponse): This message is used to reply to a channel switch request. It may contain suggestions of alternate channels if the request was not accepted. 3.Switch channel message (proto_channel_switch) : This message is sent by the channel switch request initiator once all the peers in the network reply to the request with positive responses. Once this message is received all the nodes switch to the new channel after a constant delay.

ECE/CSC 775 - FALL 2011 ADVANCED TOPICS IN WIRELESS NETWORKING

2.2.3

Message Sequence Charts

ECE/CSC 775 - FALL 2011 ADVANCED TOPICS IN WIRELESS NETWORKING

2.2.4 Issues There is a chance that the proto_channel_switch message might be missed by a particular node. If the other nodes receive the message successfully and transfer to another channel the node that does not receive will be stranded in the current channel. Considering an ACK for this message will only lead "twoarmy" problem.

2.3 Channel Determination Module


2.3.1 Overview Performs channel selection, reselection based on the spectral information provided by the Wispy module. Dynamically limits data rate of the application based on the utilization of the current channel. CD exchanges protocol messages such as PROTO_CHANNEL_REQ, PROTO_CHANNEL_RESPONSE, PROTO_CHANNEL_SWITCH between peer nodes. 2.3.2 State Diagram

CD_NULL

CD_IDLE

RX CHANNEL_SWITCH -

RX CHANNEL_REQ TX CHANNEL_RSP

RX SPECTRAL_INFO TX CHANNEL_REQ

RX CHANNEL_RSP TX CHANNEL_SWITCH

CD_CHANNEL_RSP_SENT

CD_CHANNEL_REQ_SENT

RX CHANNEL_REQ TX CHANNEL_RSP

RX SPECTRAL_INFO -

RX SPECTRAL_INFO -

RX CHANNEL_REQ TX CHANNEL_RSP

EVENT RECEIVED

LEGEND :

STATE
ACTION TAKEN

ECE/CSC 775 - FALL 2011 ADVANCED TOPICS IN WIRELESS NETWORKING

2.3.3

Design

General Channel Determination (CD) thread is created upon starting the wispy manager application. A queue is associated with the CD thread for wispy and proto modules to enqueue the following messages Wispy: Spectral Data Info Proto: Channel Request, Channel Response and Channel Switch messages The CD module processes the messages in the queue one at a time and based on the message , takes appropriate actions in each state. Channel Selection Channel selection is done using the iwconfig command. An example is given below. iwconfig wlan0 freq 2.422G iwconfig eth0 channel 3

Reference: http://manpages.ubuntu.com/manpages/hardy/man8/iwconfig.8.html Traffic Control The data rate calculations are done based on the paper " Theoretical Maximum Throughput of IEEE 802.11 and its Applications". The formulae used to calculate the data throughput for a packet size bytes are as given below.

ECE/CSC 775 - FALL 2011 ADVANCED TOPICS IN WIRELESS NETWORKING

TMT802.11 is calculated according to the formula,

where 'x' is the size of the MAC SDU and 'a','b' are constants specific to the modulation technology.

Once the maximum throughput at the application layer is determined for a given packet size ; for a utilization factor 'U' (in %), the actual data rate can be calculated using,

TMTactual = TMTAPP * U
The above data rate can be enforced by making use of the Linux traffic control utility to create traffic flow classes. An example of the same is given below. Some of the important commands used are: tc -s -d qdisc show dev wlan0 tc -s -d class show dev wlan0
tc class add dev wlan0 parent 1:0 classid 1:1 htb rate <data_rate>

2.3.4 Issues Dynamic Node Join/Failure: The implementation as of this moment does not support dynamic node join and failure. We have discussed the pros and cons of the same and would like to get the Professor's input for the same.

3. THINGS TO BE DONE
1. Code completion for Wispy , channel determination and protocol modules. 2. Testing and simulations runs to verify the accuracy and utility of the implementation.

You might also like