~ [ source navigation ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
cvs/emstar/link/conntest/


Name Size Last modified (GMT) Description
Back Parent directory 2009-11-23 14:26:56
File README 7199 bytes 2003-05-06 23:27:00
C file conntest_i.h 8635 bytes 2004-02-04 10:05:42
C file conntest_lower.c 6499 bytes 2004-01-22 21:45:57
C file conntest_main.c 8739 bytes 2004-01-22 21:46:43
C file conntest_status.c 6031 bytes 2003-11-19 03:04:22
C file conntest_util.c 15975 bytes 2004-01-22 21:48:27
C file connview.c 32613 bytes 2003-10-09 06:38:06
C file connview_i.h 3194 bytes 2003-07-11 22:29:50
C file scale.c 9668 bytes 2004-01-22 21:43:33

  1 Introduction
  2 ------------
  3 
  4 This directory contains the connectivity test daemon (conntest).
  5 
  6 The purpose of the daemon is to gather connectivity information that
  7 can help you build a snapshot of the connectivity network map.  The
  8 data gathered by the daemon can help the users to gain an understanding
  9 of the the radio channel propagation characteristics in a particular
 10 environment.
 11 
 12 When the system is configured to run the daemon, one node becomes the
 13 transmitter and sends a certain number of probing or test packets.  The
 14 rest of the nodes become receivers-only (the daemon gurantees *only*
 15 one transimitter at a time in the entire network).  The daemon makes
 16 nodes transmitters in a round-robin fashion until all the nodes have
 17 been tranmitters.
 18 
 19 The data gathered by the daemon includes the total number of packets
 20 received from each neighbor, the connectivity percentage value between
 21 neighbors (each direction) and the location of each node.  The
 22 connectivity values are calculated by using sequence numbers in the
 23 probe packets.
 24 
 25 The configurable parameters include the total number of packets for the
 26 test, the probe packet size, the period between probes, among others. 
 27 
 28 The daemon also provides a status device that can be used query the
 29 state of a particular experiment while it is running (both binary and
 30 text format are supported).  A status notification delivery feature has
 31 also been implemented.
 32 
 33 Even though the daemon is intended to be used with the portable array
 34 and/or the ceiling array, it can also be used in a fully distributed
 35 setup (ipaqs/motenics) and in simulation mode.
 36 
 37 When used in simulation or emulation mode, the daemon uses a simple
 38 logring device as a control channel to control the coordination among
 39 all the nodes in the network.
 40 
 41 
 42 How to use it
 43 -------------
 44 
 45 The use is *very* simple.  There are basically two (2) steps:
 46 
 47 1) Start the logring device to be used as a control channel. Type:
 48 $> fusd/logring 10 /dev/logring/ipc &
 49 
 50 2) Start the conntest deamon using the standard emstar simconfig and tab
 51 configuration files.  E.g.:
 52 $> emrun/emcee ../link/examples/conntest/conntest-simconfig 3
 53 
 54 Voila!  
 55 
 56 Example tab and simconfig files can be found at:
 57 cens/link/examples/conntest
 58 
 59 The conntest source can be found at: cens/link/conntest
 60 
 61 If the -l flag is provided (see below), the daemon automatically
 62 finishes emsim/emcee, so there is no need to interactively stop the
 63 simulation/emulation (this can be very useful for batch processing).
 64 
 65 After the daemon finishes, all the experimental data is saved in the
 66 file you configured the daemon, ready to be processed.  If multple
 67 instances of an experiment use the same file, new data is appended at
 68 the end and a header with a title, date, time and configuration
 69 parameters is printed before all the connectivity data in order to help
 70 users differentiate experiments' instances when doing the
 71 post-processing of the information.
 72 
 73 NOTE: if you run multiple experiments in a batch format, please remember
 74 to clear the contents of the logring (or kill it and restart
 75 it) *before* running the next experiment.
 76 
 77 
 78 Configuration parameters
 79 ------------------------
 80 
 81 The daemon allows you to configure multiple parameters.  These are:
 82 
 83 $>./link/conntestd -h
 84 Sun May  4 19:56:33.548: link/conntestd: starting SIMULATED node id 1
 85 conntest release: None
 86 
 87 usage: conntestd [-h] [-i <link index>] [-s <packet size>] 
 88                  [-n <number of packets>] [-p <period time>] 
 89                  [-w <power setting>] [-l <last sender>] 
 90                  [-f <data file>] [-c <comment>]
 91 
 92 -h: help.  Prints this screen
 93 
 94 -i: integer link index for underlying network interface to use
 95     e.g., '0' uses /dev/link/0/data
 96     default index is first-available
 97 
 98 -s: packet size used for the connectivity test
 99     e.g., '100' sends 100 bytes data packets
100     default packet size is: 50 bytes
101 
102 -n: total number of packets sent in each trial
103     e.g., '200' sends 200 packets to all neighbors
104     default number of packets is: 100
105 
106 -p: probing period time in miliseconds
107     e.g., '5000' sends packets every 5000 msec or 5 sec
108     default period time is: 1000 msec
109 
110 -w: radio power settings [0 - 100]
111     e.g., '50' sets the power radio level to 50
112     default power level is: 70
113 
114 -l: last node in the test
115     e.g. '55' indicates node 55 is the last sender and the test will
116     stop (shutdown) after 55 finishes probing
117 
118 -f: data file name where we save the results
119     e.g., /home/user/data.txt saves all the result there
120     default data file is: datafile.txt
121 
122 -c: comment added in the data file header.  Commonly used to name an
123     instance of an experiment
124     e.g., outdoors-JR-sector4 prints this info in the header of the
125     data file
126     default comment is: connectivity-test
127 
128 
129 Status Device:
130 --------------
131 
132 The conntest daemon implements a status device that allow users and/or
133 other daemons to query conntest dynamically.
134 
135 For example, to query the conntest daemon running on group1, node 3, 
136 type:
137 
138 $> cat /dev/sim/group1/node3/link/0/conntest
139 Node ID  Total Packet Received  Connectivity IN (%)  Last Seqno  Last Heard
140 -------  ---------------------  -------------------  ----------  ----------
141       1                      6                60.00          10       22.33
142       2                      3                33.33           9       11.19
143 
144 The deamon also implements a delivery status notification service, that
145 allows other daemons to received notification updates whenever the
146 connectivity from any neighbor has changed.
147 
148 
149 Output Format
150 -------------
151 
152 The output format saved to the configuration file looks like:
153 
154 ************************************************************
155 EXPERIMENT:  -c flag value or default
156 DATE:  date and time 
157 PARAMETERS:
158   total number of packets: -t flag value or default
159   packet size: -s flag value or default
160   period time: -p flag value or default
161 ************************************************************
162 
163 NODE i (xi yi zi):
164 ------------------
165 [j] 'total pkts recv from j' 'conn from j' 'last seqno heard from j' 
166 [k] 'total pkts recv from k' 'conn from k' 'last seqno heard from k'
167  
168 NODE j (xj yj zj):
169 ------------------
170 [i] 'total pkts recv from i' 'conn from i' 'last seqno heard from i'
171 [k] 'total pkts recv from k' 'conn from k' 'last seqno heard from k'
172 ...
173 
174 Nomenclature:
175 i, j, k: node ids 
176 x, y, z: node x, y, and z position coordinates
177 
178 For example, the datafile for one simple experiment involving 3 nodes
179 is:
180 
181 $> more datafile.txt
182 
183 ************************************************************
184 EXPERIMENT:  test-simulation
185 DATE:  Sun May  4 19:15:24 2003
186 PARAMETERS:
187   total number of packets: 10
188   packet size: 100 bytes
189   period time: 1000 miliseconds
190 ************************************************************
191 
192 NODE 1 (18.294018 7.613554 -1.000000):
193 -------------------------------------
194 [2] 10 100.00 10
195 [3] 6 60.00 10
196 
197 NODE 2 (16.659876 15.297119 -1.000000):
198 -------------------------------------
199 [1] 10 100.00 10
200 [3] 4 40.00 8
201 
202 NODE 3 (9.180824 5.413089 -1.000000):
203 -------------------------------------
204 [1] 6 60.00 10
205 [2] 3 30.00 9
206 
207 This format is easy enough to do post-processing if you want to do some
208 form of statistical analysis on the data.

~ [ source navigation ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.