Title: Artificial immune system-based mobile node movement
1Artificial immune system-based mobile node
movement
- Adriana Ogasawara Joshua Mahaz
- EEL6788, Spring 2008
2Goal
- Use YAES to implement a mobility pattern based on
an artificial immune system (AIS) - Create a sensor network that contains a group of
mobile nodes - Nodes move towards areas of interesting phenomena
- Nodes must load balance themselves
3What is AIS?
- Algorithmic process based on the vertebrate
immune system - Based on how the immune system is self-protecting
and adaptable - Immune system can distinguish between self (other
white blood cells) and non-self (antigens) - Can learn to recognize and respond to new
microbes and retain a memory of these microbes to
facilitate future immune responses - This is how vaccinations work
4Development Environment
- IDE Eclipse SDK 3.31
- Java 1.6 JUnit 4 (as required by YAES)
- OS Windows Vista Business Edition
- Version Control Tortoise SVN
- Created a local repository on our home network
- All milestone accomplishments were committed to
the repository - Repository was backed up once a week
5AIS Sink
- Main purpose is to gather information
- Sink is stationary and located in the middle of
the area we are interested in monitoring - Sink receives messages when mobile sensor nodes
pass within transmission range
6AIS Intruders
- In this project, intruders are analogous to
pathogens that invade the body - AIS Intruders use the ActuatorNode
ActuatorAgent classes built into YAES - Intruders are dumb are not capable of
creating diversions - Intruders move randomly using the
random_waypoint actuator movement also
integrated into YAES - Randomly placed within the sensor network world
using arrangeRandomlyInARectangle() within
ArrangementHelper.java - Intruders have the freedom to wander throughout
the entire defined sensor network world
7AIS Mobile Sensor Nodes
- Created a mobile sensor node class that inherits
from SensorNode.java in YAES - The mobile sensor nodes are comparable to the
B-cells and T-cells in a biological immune system
that destroy invading pathogens in the body - The AISMobileSensorNodeAgent class is responsible
for - Message passing between sensor nodes the sink
- Random movement of mobile sensor nodes
- Identification of intruders
8Mobile Sensor Node Placement
- Randomly placed within the sensor network world
using arrangeRandomlyInARectangle() within
ArrangementHelper.java - Mobile sensor nodes can only move and perceive
objects within a defined portion of the sensor
network world
9Sensor Network World
- Intruders move freely throughout
- Mobile sensor nodes are restricted to the center
portion
10Mobile Sensor Node Movement
- Agent calls moveRandomly()
- The method generates a random int using the
random number generator - This number corresponds to one of the eight
cardinal or intercardinal directions (N, S, E, W,
NE, NW, SE, SW) - The mobile sensor node then moves in this
direction for 100 steps until a new direction is
chosen - If a mobile sensor node reaches the edges of the
boundary, it declares itself stuck and
moveRandomly() changes the direction of the node
to the opposite of which it was moving before it
became stuck - Gives the appearance that the node bounces off
the wall
11Mobile Sensor Node Movement
- If a mobile sensor node senses an intruder and
does not see another mobile sensor node following
it, moveRandomly() stops and the method
followTheLeader() is called once the perception
is processed - The location of the intruder is passed with the
perception - Once an intruder is perceived, the mobile sensor
node accelerates until it catches up to the
intruder - followTheLeader() measure the distance between
the node and the intruder for each call of the
agent and divides this by a speed factor which is
added to its normal step to apply a slight
increase in speed
12Mobile Sensor Node Movement
- Once the mobile sensor node reaches the intruder,
it places a lock on the intruder to help with
load balancing so no other mobile sensor nodes
begin following it - From here on out, the mobile sensor node will
continuously follow the intruder around the world
as long as it does not leave the defined area of
interest
13Mobile Sensor Node Load Balancing
- Ideally, once a mobile sensor node has locked
onto an intruder, it should try to help free
mobile nodes to find the other unlocked intruders
within the area - Even after a mobile sensor node locks onto an
intruder, it still continues to process
observations about other unlocked intruders
within their range - Information about the intruders location and a
time of sighting are passed to other mobile
sensor nodes within range - If an unlocked mobile sensor node receives the
message, it will examine how long ago the
intruder sighting occurred - If the sighting was recent, it then moves to the
location received in the message
14Mobile Sensor Node Load Balancing
- If a mobile sensor node which is already paired
to an intruder receives more recent intruder
location information, it will replace its own
with the newly received data - From then on it will broadcast the received data
until it receives newer information or spots a
lone intruder itself - Only the most recent sighting will propagate
through the network
15Timer Marks
- An intruder entering the inner square triggers
the start mark - The moment a lock is obtained on an intruder
another mark is saved - The timer ends when the lock on the intruder
terminates (when an intruder leaves the area)
16Timer Marks
- Tstart Time intruder enters the designated
area - Tend Time intruder leaves the designated
area - TLstart Time a mobile sensor node obtains a
lock on an intruder - TLend Time a mobile sensor node loses its lock
on an intruder
17Formulas
- (TLend TLstart) / (Tend Tstart)percentage_cov
ered - Sumpercentage_covered/intrusions
average_coverage - TLstart Tstart time_to_obtain_lock
- Sumtime_to_obtain_lock/successful_locks
average_obtain_time
18Testing
- Performed 10 runs with 5, 10, and 20
intruder/mobile node pairs respectively - Each run the Timer Marks were recorded and
processed with our defined formulas
19Metrics
Avg Amt of Time Intruder is Locked Onto () Avg. Time for Mobile Node to Lock Onto Intruder (ms)
5 intruder/MSN pairs 58.24 356.99
10 intruder/MSN pairs 67.52 292.25
20 intruder/MSN pairs 75.32 208.96
20Metrics 5 intruder/mobile node pairs
21Metrics 10 intruder/mobile node pairs
22Metrics 20 intruder/mobile node pairs
23Conclusion
- The project can be applied to the development and
testing of search and spy algorithms - Already includes necessary infrastructure
results calculations - The developer can concentrate on creating new and
better ways to maintain coverage of a designated
area
24Conclusion
- Algorithm works best with higher numbers of
intruder and mobile sensor nodes - Increases the likelihood that a mobile sensor
node will sense an intruder within the area of
interest - Also improves how well the message passing
portion of our algorithm works - More intruders present results in more recent
accurate sightings of intruders that are passed
onto to the other nodes
25Future Work
- Create a more sophisticated random movement
algorithm - Create intelligent intruders or intruders capable
of creating a diversion - Allow mobile sensor nodes to recognize the
likelihood of diversions and in turn command free
mobile sensor nodes to cover vulnerable areas.
26Demo