Title: Mobility Models and Traces
1Mobility Models and Traces
- Wei-jen Hsu
- Advised by Dr. Ahmed Helmy
- Presented in CIS6930 class, Spring 2008
2Outline
- Simulation of user mobility
- Within NS-2
- As a stand-alone code
- Traces from existing wireless networks
3Simulation of User Mobility
- Why?
- Mobile ad hoc networks are still not widely
deployed, even though a lot of research has been
done. - But it is a fundamental factor that influences
network protocol performance. - Use simulation as a way to perform experiments in
a controlled environment.
4Simulation of User Mobility
- How?
- Use existing network simulation tools (e.g.,
NS-2) with extensions to handle user mobility. - Build you tool from scratch.
5Simulation of User Mobility
- How to choose a suitable approach?
- NS-2
- Powerful simulation tool, with many existing
protocols implemented for it. - Hence complex, with high overhead
- You have to fit your idea into its structure
- You own tool
- You can do anything you want, focusing on the
part that matters to you - Clean-slate implementation
- You have to re-build everything credibility
6Simulation of User Mobility
- What do you want from the simulation?
- Mobility metrics or statistics for the mobility
model - Performance of routing protocols under the
mobility model
7NS-2 Mobility Interface
Protocol performance
Mobility metric
Mobilitygenerator
Protocol Simulation (NS)
NS trace file format
8Ns-2 Mobility file format
- Mobility trace file
- Format (the line you need to instruct how a node
moves) - ns_ at lttimegt node_(ltidgt) setdest ltxgt ltygt
ltspeedgt - Examplens_ at 0.000000 "MN2 setdest
610.107730 230.884732 40.608997 - Why is this format chosen??
9Ns-2 Mobility file format
10Ns-2 Mobility file format
- NS provides only linear movement
- What if I want a movement trajectory of arbitrary
curve?
B(t1)
A(t0)
11Plugging scenario files into NS
- Its simple, just add these lines in your tcl
script - Create tcl variables for file location
- set val(cp) "../mobility/scene/cbr-3-test"
- set val(sc) "../mobility/scene/scen-3-test"
- Include these files in simulation
- source val(cp)
- source val(sc)
12How do I generate these files?
- Default mobility file generator is RWP model.
/indep-utils/cmu-scen-gen/setdest/setdest - Default traffic file generator is random UDP
flows/indep-utils/cmu-scen-gen/cbrgen.tcl - Use IMPORTANT tool to generate more complex
mobility scenario - Or Write your own stand alone code!
13How to use IMPORTANT tool?
- Remember that it is a stand-alone program, with
nothing to do with NS except that its output
scenario files are NS-compatible. - So understand the program, compile it, provide
parameters you want, and run it! ?
14What mobility models does IMPORTANT tool provide?
Temporal Dependence
Spatial Dependence
Geographic Restriction
Application
Random Waypoint Model
General
No
No
No
Group Mobility Model
Battlefield
No
No
Yes
Freeway Mobility Model
Metropolitan Traffic
Yes
Yes
Yes
Manhattan Mobility Model
Metropolitan Traffic
No
Yes
Yes
15Random waypoint
- Random Waypoint Model
- Each node chooses a random destination and moves
towards it with a random velocity chosen from 0,
Vmax - After reaching the destination, the node stops
for a duration defined by the pause time
parameter - After this duration, it again chooses a random
destination and repeats the whole process again
until the simulation ends - Parameters Max Velocity Vmax, Pause time T
16Setdest utility
- Format
- node(ltidgt) set X_ ltx0gt
- node(ltidgt) set Y_ lty0gt
- node(ltidgt) set Z_ ltz0gt
- ns_ at lttimegt node_(ltidgt) setdest ltxgt ltygt
ltspeedgt - Command
- ./setdest n ltnum_of_nodesgt -p ltpause_timegt -M
ltmax_speedgt -t ltsimu_timegt -x ltmax_xgt -y ltmax_ygt
gt lttrace_filenamegt
17Reference Point Group Mobility
- Reference Point Group Model
- Each group has a logical center (group leader)
that determines the groups motion behavior - Each nodes within group has a speed and direction
that is derived by randomly deviating from that
of the group leader - Parameter
- Angle Deviation Ratio(ADR) and Speed Deviation
Ratio(SDR) - Max_velocity
18Group Mobility Generator
- In simulation, we use two sets of trace files
- Single group all nodes move within one group
- Multiple group each group moves independent of
each other and in an overlapping fashion - Input
- Mobility trace file of group leaders
- Output
- Mobility trace file of all nodes
SG
MG
19Freeway Model
- Freeway Model
- Each mobile node is restricted to its lane on the
freeway - The velocity of mobile node is temporally
dependent on its previous velocity - If two mobile nodes on the same freeway lane are
within the Safety Distance (SD), the velocity of
the following node cannot exceed the velocity of
preceding node
20Implementation
- Parameters
- Map and Max_velocity
- Input map format
- ltfreeway idgt ltlane idgt ltx0,y0gt ltx1,y1gt
- Output
- Trace file for all nodes
- Key
- Link list to maintain the order of nodes on the
same lane - Randomly insert the nodes into various lane
21Manhattan Model
- Similar specification with freeway, but it allows
node to make turns at each corner of street - At each intersection
- Probability of moving on the same street is 0.5
- Probability of turning right is 0.25
- Probability of turning left is 0.25
- Parameter
- Map
- Max_velocity
22Manhattan Map
- Input map
- Street ltstreet_idgt ltlane_idgt ltdirectiongt ltx0,y0gt
ltx1,y1gt - Corner ltver_str_idgt lthrn_str_idgt ltx,ygt
23Time-Variant Community Model
- Available at http//nile.cise.ufl.edu/weijenhs/TV
C_model/ - User manual and mobility trace generator.
- It generates mobility trace in 2 formats NS-2
format and (x, y, t) format - You can configure the time period structure and
communities for each node with full freedom
24Issues with Mobility Models
- Open network v.s. closed network
- Each node has an ID, there is a given number of
nodes, and they dont leave the simulation area - This does not really capture the dynamics for a
highly given environment - Potential solution the black hole
- Take care of the dynamics, but it isstill the
same node - Reuse the same node for a different virtual ID?
25Issues with Mobility Models
- Boundary Effects
- The boundary can be also torus or reflective
- Torus is unrealistic butanalytically nice.
Reflective is more realistic. - You need to make decisions on all these small
things in the mobility model!!
26Traces
- Why traces?
- A realistic measurement of users behavior in
wireless networks - For example, re-play the trace as a mobility
input for users in the simulation - Note this is a very different approach from
mobility modeling (philosophy and granularity)
27Where to get the traces?
- Collect it yourself
- Sniffers, bluetooth encounters, etc.
- Monitor the existing infrastructure
- WLANs? Cellular phone networks? Internet traffic?
- Go to the trace archives
- http//nile.cise.ufl.edu/MobiLib/
- http//crawdad.cs.dartmouth.edu/
28The UF WLAN Trace
- Collected from the on-campus WLAN in UF, at two
different levels - Access points report syslogs
- Authentication servers report syslogs
- The trace is being uploaded to our server in the
lab at almost real time
29Access Points Syslogs
- Users are reported by MAC addresses
- When they associate with a AP
- When they disaccosiate from a AP
- When they roam away from a AP
- When some other event happens (error in packet
checksum, max retry for a packet reached, etc.)
30Authentication server syslogs
- The authentication server reports the following
events - DHCP lease IP xxx is given to MAC yyy
- User log in User Gatorlink-ID logs in from MAC
yyy - User log out User Gatorlink-ID logs out, and it
has been online for time ttt, sent/received bbb
bytes - Every 30 minutes, each online user is reported
for its traffic usage in the past 30 mins
31What is new?
- The differentiation of having the intention to
use wireless network v.s. just turning on the
computer - The capability to analyze the data at device
level (MAC address) and user level (Gatorlink
ID) - Getting the trace at almost real time
- Traffic summary with location information
32Other Popular WLAN traces
- USC trace
- Collected from summer 2005 to today
- Time/location information of the user
(association) at switch port level. The mapping
between switch port and building is available but
messy (changing a lot) - Dartmouth trace
- Collected from 2001 to 2004
- Time/location information of user, SNMP logs from
access points, tcpdump traffic headers
33Other Popular WLAN traces
- UCSD PDA experiment
- 275 PDA users
- Time/location information, each PDA logs all APs
in communication range - MIT/IBM
- Corporate users from 3 buildings
- Time/location information, SNMP logs
34Traces of Other Types
- Encounter traces
- The Intel/Cambridge Haggle/Pocket Switch Network
project - The U of Toronto PDA-based encounter experiments
- Cellphone traces
- MIT Reality Mining encounter, location of users
(by cellphone tower/bluetooth), call log
35Usage of the Traces
- To understand existing systems (WLANs)
- How, when, where do users use WLAN?
- Can users be classified based on their behaviors?
- Can we build models of users?
- To leverage it as a ground for not-yet-deployed
services/protocols - IF users behave like this, what if we do.
- IF users continue to develop a trend, where will
we be in year 201X?
36Final Notes
- Downside of trace-based work
- Unable to access the ground truth
- Using the current user data to speculate the
future - We have plenty data sets for the normal
scenarios, but should they be the focus? - Concerns
- Privacy
- Whats a real-world application that cant be
done with todays the great Internet?
37Potential Directions
- Combing the trace with small-scale experiments
- Build new testbeds and prototype new services
- Come up with a specific scenario to provide
solutions for - Challenge the established knowledge
38Tricks of Trace Processing
- Identify a common format that you can convert
multiple traces into - I use one file for each user, within each file,
each line represents time location duration - Abuse your hard drive
- Keep intermediate results if they take long time
to generate.... You will thank your former self
years after you generated those files - Learn handy tools
- Shell script, perl, database (Udayans turn)