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.
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.