Академический Документы
Профессиональный Документы
Культура Документы
WISPY MANAGER : A SOFTWARE DESIGN FOR AVOIDING INTERFERENCE IN A Wi-Fi (802.11) MESH NETWORK.
Prepared by: Team E1 RAGHU HANUMANTHA GOWDA SANDEEP ANANTHA RAO SAGAR SUBHASH CHINCHANI SRIKANTH RAMACHANDRAN
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
Peer synchronization protocol ...................................................................................................... 9 Overview ............................................................................................................................... 9 Design.................................................................................................................................... 9 Message Sequence Charts .................................................................................................. 10 Issues ................................................................................................................................... 11
Channel Determination Module ................................................................................................. 11 Overview ............................................................................................................................. 11 State Diagram...................................................................................................................... 11 Design.................................................................................................................................. 12 Issues ................................................................................................................................... 13
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
2.
3.
4 days
1 4.
3 days
1 Sandeep R
5.
4 days
6.
1 day
2 Srikanth R
7.
3 days
8. 2 9.
3 days
Sandeep R, Srikanth R
5 days
Sagar C, Raghu G
10.
15 days
4&5
Entire Team
11. 4 12.
Sagar C, Srikanth R
Sandeep R, Raghu G
13.
Project report 2
3 days
Sagar C, Srikanth R
14. 5 15.
Raghu G
Sandeep R
16.
Buffer Period
7 days
Completed
In-progress
Pending
1.1.
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:
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.
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.
2.1.2
Design
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 = (
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.
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.
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.
2.2.3
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.
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
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.
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.