390 likes | 622 Views
Mobility Models and Traces. Wei-jen Hsu Advised by Dr. Ahmed Helmy Presented in CIS6930 class, Spring 2008. Outline. Simulation of user mobility Within NS-2 As a stand-alone code Traces from existing wireless networks. Simulation of User Mobility. Why?
E N D
Mobility Models and Traces Wei-jen Hsu Advised by Dr. Ahmed Helmy Presented in CIS6930 class, Spring 2008
Outline • Simulation of user mobility • Within NS-2 • As a stand-alone code • Traces from existing wireless networks
Simulation 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.
Simulation of User Mobility • How? • Use existing network simulation tools (e.g., NS-2) with extensions to handle user mobility. • Build you tool from scratch.
Simulation 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
Simulation 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
NS-2 Mobility Interface Protocol performance Mobility metric Mobilitygenerator Protocol Simulation (NS) NS trace file format
Ns-2 Mobility file format • Mobility trace file • Format (the line you need to instruct how a node moves): • $ns_ at <time> “$node_(<id>) setdest <x> <y> <speed>” • Example:$ns_ at 0.000000 "$MN2 setdest 610.107730 230.884732 40.608997“ • Why is this format chosen??
Ns-2 Mobility file format • NS provides only linear movement • What if I want a movement trajectory of arbitrary curve? B(t1) A(t0)
Plugging scenario files into NS • It’s 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)
How 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!
How to use IMPORTANT tool? • Remember that it is a stand-alone program, with nothing to do with NS except that it’s output scenario files are NS-compatible. • So understand the program, compile it, provide parameters you want, and run it!
What 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 Yes No Freeway Mobility Model Metropolitan Traffic Yes Yes Yes Manhattan Mobility Model Metropolitan Traffic No Yes Yes
Random 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
Setdest utility • Format • $node(<id>) set X_ <x0> • $node(<id>) set Y_ <y0> • $node(<id>) set Z_ <z0> • $ns_ at <time> “$node_(<id>) setdest <x> <y> <speed>” • Command • ./setdest –n <num_of_nodes> -p <pause_time>-M <max_speed> -t <simu_time> -x <max_x> -y <max_y> > <trace_filename>
Reference Point Group Mobility • Reference Point Group Model • Each group has a logical center (group leader) that determines the group’s 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
Group 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
Freeway 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
Implementation • Parameters • Map and Max_velocity • Input: map format • <freeway id> <lane id> <x0,y0> <x1,y1> • 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
Manhattan 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
Manhattan Map • Input: map • Street: <street_id> <lane_id> <direction> <x0,y0> <x1,y1> • Corner: <ver_str_id> <hrn_str_id> <x,y>
Time-Variant Community Model • Available at http://nile.cise.ufl.edu/~weijenhs/TVC_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
Issues with Mobility Models • Open network v.s. closed network • Each node has an ID, there is a given number of nodes, and they don’t 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?
Issues 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!!
Traces • Why traces? • A realistic measurement of user’s 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)
Where 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/
The 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”
Access 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.)
Authentication 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
What 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
Other 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
Other 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
Traces 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
Usage 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?
Final 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 • What’s a real-world application that can’t be done with today’s the great Internet?
Potential 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
Tricks 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 (Udayan’s turn)