wiki:HowTo/virtualMobilitySS

Mobility emulation using Spatial Switching

Emulating mobility via spatial switching relies on a large number of static radio interfaces, whose antennas are arranged in a grid topology. This system emulates mobility by switching a moving node to different radio and antenna positions as time progresses. Thus, the emulated path of a moving node comprises a number of discrete steps that approximate the actual path a moving node would take. To emulate larger distances between the nodes, an experimenter can utilize the ORBIT noise generation system to raise the noise floor in the environment, which emulates a greater distance between transmitter and receiver. For more details, please refer to the corresponding publication.

For Experimenters

The Setup

  • Download and untar the attached file in your home directory.
    $ tar -xvzf vmss.tar.gz
    

A list of files should look similar to below.

$ cd ~/vmss
$ ls -ltr
-rw------- 1 sanjit user 9105 May 18  2005 RandomWalk1.pl
-rw-r--r-- 1 sanjit user    0 May 18  2005 conflicts.txt
-rwxr-xr-x 1 sanjit user  818 May 18  2005 CreateMobilitySetup
-rw-r--r-- 1 sanjit user  908 Dec  3  2005 ProcessVMtxtFiles.pl
-rwxr-xr-x 1 sanjit user  295 Dec  3  2005 loadclick.sh
-rw-r--r-- 1 sanjit user   16 Jun  7  2006 listofvms.txt
-rw-r--r-- 1 sanjit user   20 Jun  7  2006 VM2.txt
-rwxr-xr-x 1 sanjit user  174 Jun  7  2006 start.sh
-rwxr-xr-x 1 sanjit user  506 Jun  7  2006 loadFiles.sh
-rw-r--r-- 1 sanjit user  141 Jun  7  2006 VM1.txt
-rwxr-xr-x 1 sanjit user   93 Jun  9  2006 setup.sh
drwxr-xr-x 2 sanjit user 4096 Feb  6 23:38 database
drwxr-xr-x 2 sanjit user 4096 Feb  6 23:56 EthernetAddresses
-rw-r--r-- 1 sanjit user    0 Feb  7 18:39 dump

Configuring an experiment

  • Specify the nodes that should be used as VMs in the file listofvms.txt. For the purpose of illustration let us assume that we want to emulate two mobile nodes on the grid. Each mobile node has to be associated with a VM, an association that will stay throughout the experiment. Select nodes [3,6] and [5,6] on the grid. The corresponding entries in the file listofvms.txt are shown below.
    $ cat listofvms.txt
    node3-6
    node5-6
    
    Any node on the grid may be selected as a VM node. In our system, for each emulated mobile node, there is always ONLY one corresponding VM node.
  • For each VM create a file VM<no>.txt where <no> can take a value from 1 to number of VMs. The first entry in listofvms.txt has no=1, the next has a value of 2 and so on. In our example we have two VMs, we create VM1.txt and VM2.txt. Each VM<no>.txt file contains two columns. The first column contains time and the second column the grid node that should be mapped to the mobile node at the time. The mapping stays unless the next entry in the VM<no>.txt changes the mapping. Sample VM1.txt and VM2.txt are shown.
    $ cat VM1.txt
    0 node4-1
    5 node4-3
    10 node4-5
    15 node4-1
    20 node4-3
    25 node4-5
    30 node4-1
    35 node4-3
    40 node4-5
    45 node4-1
    50 node4-3
    55 node4-5
    60 node4-1
    $ cat VM2.txt
    0 node4-7
    0 node4-7
    

In the example mobile node corresponding to VM1 is mapped to nodes [4,1], [4,3], [4,5] at intervals of 5 seconds. The mapping is repeated and the total experiment time is 60 sec after which the mobile node is fixed to node [4,1] on the grid. The mobile node corresponding to VM2 is mapped to node [4,7] on the grid. This mapping does not change. The repeated entry is a adhoc fix. Whenever a VM<no>.txt contains just one entry, the entry must be repeated twice. The experimenter needs to ensure that at no time more than one mobile node be mapped to a grid node. Only atheros grid nodes are supported.

  • Run the script CreateMobilitySetup once you have populated the files listofvms.txt and VM<no>.txt(s).
    $ CreateMobilitySetup
    

Click files/scripts are generated in the EthernetAddresses directory. A click file/script is generated for each VM. Also a click file is generated for each grid node which is mapped to a mobile node at a certain time during the experiment. Files corresponding to VMs are of the name mob_server_src_generated_VM<no>.click. Those corresponding to mapped nodes on the grid are of the name mob_node_src_generated_Node_<x>_<y>.click where [x,y] is the grid co-ordinate of the node mapped. The list of files generated for our experiment are listed below.

$ cd EthernetAddresses
$ ls *.click
mob_server_src_generated_VM1.click
mob_server_src_generated_VM2.click
mob_node_src_generated_Node_4_1.click  
mob_node_src_generated_Node_4_5.click  
mob_node_src_generated_Node_4_3.click  
mob_node_src_generated_Node_4_7.click  

Running an experiment

  • Image all grid nodes (VM nodes and the nodes mapped to mobile nodes) with the image click-2.4.26-20051204.ndz.
  • Upload the click files onto the grid nodes they correspond. The file loadFiles.sh contains sample commands for the example experiment.
  • For each node install the click script. On nodes specified in the VM<no>.txt(s) it is important that the ath0 interface is up.
    $ ssh root@nodex-y
    $ click-install mob*.click
    
  • The installation of the click script marks the beginning of experiment on each node.
Last modified 17 years ago Last modified on Feb 8, 2007, 2:56:10 PM

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.