Changes between Version 6 and Version 7 of Old/Mobility/MobilityModels


Ignore:
Timestamp:
Apr 8, 2008, 3:00:28 PM (16 years ago)
Author:
mrodoper
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Old/Mobility/MobilityModels

    v6 v7  
    55== Goal ==
    66
    7 In order to emulate mobility at stationary nodes, like ORBIT nodes, there are three different main techniques used. First one is; by changing the injected noise power between two neighbor nodes, adjusting SNR value, so, increasing and decreasing packet loss ratios.  Second approach is, MAC filtering the incoming packets and dropping them by a determined ratio, so to adjust packet loss probability. The last approach is switching to different stationary nodes in a predetermined order. In other words, sending packets from the stationary nodes on the predetermined mobility path at predetermined time intervals. This approach is called Spatial Switching. In this tutorial, you will learn how to use  Spatial Switching for mobility emulation on ORBIT.
     7In order to emulate mobility at stationary nodes, like ORBIT nodes, there are three different main techniques used. First one is; by changing the injected noise power between two neighbor nodes, adjusting SNR value, so, increasing and decreasing packet loss ratios.  Second approach is, MAC filtering the incoming packets and dropping them by a determined ratio, so to adjust packet loss probability. The last approach is switching to different stationary nodes in a predetermined order. In other words, sending packets from the stationary nodes on the predetermined mobility path at predetermined time intervals. This approach is called Spatial Switching. In this tutorial, you will learn how to code and use different mobility models by the help of Spatial Switching approach in order to emulate mobility on ORBIT.
    88
    99== Architecture of Spatial Switching and Previous Works ==
     
    1111Before going into details of different mobility models and the framework for implementing new ones, it is crucial to read and understand [wiki:HowTo/virtualMobilitySS Mobility Emulation using Spatial Switching] tutorial and the corresponding [http://www.winlab.rutgers.edu/~kishore/papers/ewind-2005.pdf publication] for figuring out the basics of spatial switching.
    1212
    13 Additional to Mobility Emulation using Spatial Switching tutorial, below you can find some more information and which part of Spatial Switching this tutorial concentrates on. Since, this mobility emulation technique is implemented modularly, it is easy to understand, develop and update each step after learning layers. The module that we concentrate on here is the orange box in the below hierarchy;
     13Additional to ''Mobility Emulation using Spatial Switching'' tutorial, below you can find some more brief information about Spatial Switching and the parts of Spatial Switching that this tutorial concentrates on. Since, this mobility emulation technique is implemented modularly, it is easy to understand, develop and update each step after learning modules. The module that we concentrate on this tutorial is ''Mobility Model Script'', the orange box in the below hierarchy;
    1414
    1515                                      [[Image(SSArchitectureBasic.jpg, align=top)]]
    1616
    17 As seen at the above figure, the emulation process is triggered by a Mobility Model Script. Then its output files which are called Virtual Mobile (VM) Paths -sequence of nodes for on the path-, are fed to Create Mobility Setup script as input files. Create Mobility Setup Script fetches the used grid nodes' the MAC addresses from Database and combines them and makes them ready for the Click Router.
     17As seen at the above figure, the emulation process is triggered by a Mobility Model Script. Then its output files which are called Virtual Mobile (VM) Paths -sequence of ORBIT grid nodes on a mobile's path-, are fed to Create Mobility Setup script as input files. Create Mobility Setup Script fetches the used grid nodes' the MAC addresses from Database and combines them and makes them ready for the Click Router scripts.
    1818
    1919== Framework for a new Model Implementation ==
     
    2323        '''Structure of the output VM*.txt files'''
    2424
    25 The example mobility model scripts are implemented with perl scripting language. For your easiness you can implement your own model in every language you want. The important point not to be missed is, every implementation must prepare mobile nodes' movement sequence on ORBIT grid when it terminates. Each Virtual Mobile (VM) node's movement sequence must be written to a separate text file, named as VM1.txt, VM2.txt and so on. Numbering of the output text files must start from 1.
     25The example mobility model scripts are implemented with perl scripting language. For your easiness you can implement your own model in any language you want. The important point not to be missed is, every implementation must prepare mobile nodes' movement sequence as text files on ORBIT grid when it terminates. Each Virtual Mobile (VM) node's movement sequence must be written to a separate text file, named as VM1.txt, VM2.txt and so on. Numbering of the output text files must start from 1.
    2626
    27 The numbers at the beginning of the each line of the VM*.txt files indicate the time starting time of the nodes in seconds. One node stays active till to the next nodes starting time. The difference between each number is the node's activation duration. Therefore, one node becomes active at an instance. Next to the duration number at each line, the “node**-**” indicates the active node with its coordinates on the grid.
     27At the content of the VM*.txt files, there are several lines indicating the starting time of the nodes and their coordinates at the grid. The structure of each line is as follows; the numbers at the beginning of the each line indicate the operational starting time of the nodes in seconds. One node stays active till to the next nodes starting time. The difference between each number is the node's activation duration. Next to the starting time at each line, on the right, the “node**-**” indicates the active node with its coordinates on the grid. For more detail, please refer to [wiki:HowTo/virtualMobilitySS Mobility Emulation using Spatial Switching] tutorial.
    2828
    29 Since randomness is involved at the models and so at the scripts, every time you run the script you get different paths and VM*.txt files. If you want to resume with your previous path, save the VM*.txt files carefully.
     29Since randomness is involved to the models and so to the scripts, every time you run the script you get different paths and so, VM*.txt files. If you want to resume with your previous path, save the VM*.txt files carefully.
    3030
    3131        '''Important Points should be Considered while Coding'''
     
    3333Here are the significance parts of the implementation;[[BR]][[BR]]
    3434       
    35 * One ORBIT node at any given time can only be active for one mobile device emulation. In other words, one node can not emulate two or more mobile nodes movement at the same time. Therefore, Virtual Mobile (VM) nodes' collisions must be considered carefully during mobility implementations. (see !IsUnique() function at example scripts).
     35* One ORBIT node at any given time can only emulate one mobile device's movement. In other words, one node can not be active for two or more mobile nodes' movement at the same time. Therefore, Virtual Mobile (VM) nodes' collisions must be considered carefully during mobility implementations. (see !IsUnique() function at example scripts provided at this tutorial).
    3636
    37 * The nodes at the grid are numbered between 1 to 20. Avoid getting 0 or 21 as node coordinates. Otherwise your mobility model may stuck unexpectedly.
     37* The nodes at the grid are numbered between 1 to 20. Avoid getting 0 or 21 as node coordinates. Otherwise your mobility model may stuck on the run, unexpectedly.
    3838
    3939== Usage of Existing Mobility Model Scripts ==
     
    4545A mobile node moves a specified time from it current position to a new location by randomly choosing a direction and speed from particular speed and direction distributions. [1] In fact this model is not bounded, but by putting destination limits, some artificial bound added to the model.
    4646
    47 IMPORTANT point to be noted here is, this model can not be run for multiple nodes, since if two or more nodes collide at some time at some node, there is no way to recover from it. The reason is; the direction and duration of the mobility do not change during the movement, but determined at the beginning of the movement. Therefore, this mobility model implemented for 1 VM.
     47IMPORTANT point to be noted here is, this model can not be run for multiple nodes. The reason is; the direction and the duration of the mobility do not change during the movement, but determined at the beginning of the movement. Therefore, if two or more nodes collide at some time at some grid node, there is no way to change the route and recover from it. Hence, this mobility model implemented for 1 VM.
    4848
    4949Click [http://www.orbit-lab.org/attachment/wiki/Mobility/MobilityModels/RandomWalkwithReflection.pl here] to download Random Walk with Reflection Mobility Model;
     
    6565This mobility model is very similar to the Random Walk with Reflection. When the mobile nodes hit the boundaries they are wrapped to the other side of the simulation area from where they continue their trip. [1] In fact this model is not bounded, but by putting destination limits, some artificial bound added to the model.
    6666
    67 IMPORTANT point to be noted here is, this model can not be run for multiple nodes, since if two or more nodes collide at some time at some node, there is no way to recover from it. The reason is; the direction and duration of the mobility do not change during the movement, but determined at the beginning of the movement. Therefore, this mobility model implemented for 1 VM.
     67IMPORTANT point to be noted here is, this model can not be run for multiple nodes. The reason is; the direction and the duration of the mobility do not change during the movement, but determined at the beginning of the movement. Therefore, if two or more nodes collide at some time at some grid node, there is no way to change the route and recover from it. Hence, this mobility model implemented for 1 VM.
    6868
    6969Click [http://www.orbit-lab.org/attachment/wiki/Mobility/MobilityModels/RandomWalkwithWrap.pl here] to download Random Walk with Wrap Mobility Model;
     
    8686This model is slightly similar to the Random Walk with Wrap model. The mobile nodes move until they reach a randomly chosen distance from the simulation boundary. The difference is this model is bounded by its nature. [1] The model may terminate in two different ways; running time of the model may elapse or all destinations may be visited.
    8787
    88 IMPORTANT point to be noted here is, this model can not be run for multiple nodes, since if two or more nodes collide at some time at some node, there is no way to recover from it. The reason is; the direction and duration of the mobility do not change during the movement, but determined at the beginning of the movement. Therefore, this mobility model implemented for 1 VM.
     88IMPORTANT point to be noted here is, this model can not be run for multiple nodes. The reason is; the direction and the duration of the mobility do not change during the movement, but determined at the beginning of the movement. Therefore, if two or more nodes collide at some time at some grid node, there is no way to change the route and recover from it. Hence, this mobility model implemented for 1 VM.
    8989
    9090Click [http://www.orbit-lab.org/attachment/wiki/Mobility/MobilityModels/RandomDistance.pl here] to download Random Distance Mobility Model;
     
    107107        '''Reference Point'''
    108108
    109 This mobility model forms the basis of Random Waypoint and Weighted Waypoint models.
     109This mobility model forms the basis of Random Waypoint and Weighted Waypoint models and can be run for several VM's.
    110110
    111111Click [http://www.orbit-lab.org/attachment/wiki/Mobility/MobilityModels/ReferencePointMoveManyDestinationsMultiNodeIsUniqueAdded.pl here] to download Reference Point Mobility Model;