EE194: Wireless Networks Group #2: Joseph Cerra and Stuart

Download Report

Transcript EE194: Wireless Networks Group #2: Joseph Cerra and Stuart

EE194: Wireless Networks
Group #2: Joseph Cerra and Stuart Peloquin
Dynamic Transmission Power
Control in Wireless Ad-Hoc
Networks
Issue from previous presentation
•
•
Received signal strength does not
necessarily indicate distance
What is power in reference to?
– dBm
•
Can each node run different applications
– Yes
•
Do they?
– Nope
•
How do nodes keep track of power levels?
– To be discussed
Design
•
Built in Classes used/modified:
– RouteAodv, Field, FieldInterface,
MacDumb, MacAddress, NetIp,
RadioNoise, RadioNoiseAdditive,
RadioInfo.
•
Designed Classes used:
– Heartbeat, AppHeartbeat, MyNode.
•
GUI Classes:
– MyCanvas, MyMenu, MyButton.
OSI Model
Application
NetIp.java
Network
MAC
RadioInfo.java,
RadioNoiseAdditive
Radio
Field
Field.java,
FieldInterface.java
AppHeartbeat.java
Route
RouteAodv.java
MacDumb.java
mobility
Mobility.java
Implementation
•
Main Function: Heartbeat.java
– Setup GUI
– Setup simulation
• createSim(nodes, length)
– Placement, mobility, spacing, fading, pathloss,
field, radioInfo, mapper, packetLoss
– CreateNode(node#, field, placement,
radioInfoShared, protMap, pl_in, pl_out)
• createNode
– Add: radio noise, mac, network (set protocols and
routing), routing, application
– Hookup entities: radio, mobility, field, mac, net
– Run application
Implementation
•
Application Layer: AppHeartbeat.java
– Neighbour entries, beats (TTL)
– Message passing
– Send / receive packets (ACK)
– Stagger initial sleep and wake of nodes
– Send random msg to random nodes
– Sleep and schedule next random
wakeup
Implementation
•
Mac Layer: MacDumb
– Neighbour entry table
• Mac address, RSSI, neededPower, power, beats
– Process RSSI information
• Store RSSI information for each neighbour
• Interpret signal strength change from:
– RSSI
– Message passing history
– Compute transmission time at current
bandwidth
– Maintain neighbour entry table
– Update transmit power
Message Passing
App Layer
Data
App Layer
DH
Data
Network Layer
Data
Network Layer
DH NH
Data
Mac Layer
Data
Mac Layer
DH NH TS
MH
Radio Layer
Data
DH
Data
DH NH
Radio Layer
DH NH TS
MH RH
Data
DH NH TS
MH
rssi
Implementation
•
MAC layer node hash table
– Neighbors(MACADDRESS)
» Where MACADDRESS is a particular node
• Power – power sent from node
• RSSI – power received from node
• neededPower – computed power needed for
reliable communications
• Beats – time to live
Implementation
•
Computing necessary power
Powerdivided = RSSI / THRESHOLD + 3
if (Powerdivided < 1)
Neededpower = powerSent + powerDivided*2
Elseif (Powerdivided > 1)
Neededpower = powerSent – powerDivided*2
Else // Powerdivided == 1
Neededpower = powerSent + Powerdivided
•
Maintaining Hash
If TTL == 0
Neededpower = Neededpower + 2
If Neededpower == 15
Remove entry
Simulation Examples
•
In the following slides:
– Simulation with node:
• Numerical and Graphical Power statistics
• Source IP address
• Destination IP address
– Destination IP of -1 is a broadcast
– Examples of:
•
•
•
•
Initialization of nodes
Broadcasts
Power conservation
Clustering
Sim. Example 1 – Initialization / Broadcast
Sim. Example 2 – Power conservation
Sim. Example 3 – Clustering
Simulation Sequence
•
•
In the following slides, two complete
simulations are run.
Simulation timeline:
Outcome #1
Outcome #2
Initialization
~ 10 beats later
~ 20 beats later
~ 30 beats later
Outcomes
•
The outcomes of the simulation differ
because of the lifetime of routes in the
RouteEntryTable.
• When the entries in the RouteEntryTable are not
refreshed often enough, the mobility rate of the nodes
may destroy the integrity of the simulation power
metrics.
• The following two simulation are examples of high
and low lifetime of entries in the RouteEntryTable.
Outcome #1 – High route entry lifetime
Outcome #2 – Low route entry lifetime
Conclusions – JiST SWANS
•
Pros
–
–
–
–
Java based, easy to program
Useful programming tool for simulating WSN
Easy to understand implementation
Easily to implement customized applications
and data structures
– Graphical user interface customizable
•
Cons
– Lacks WSN design capabilities.
– No manuals or tutorials
– Bytecode rewriter complicates debugging