Home
News
Research
People
Publications
Projects
Funding Private
|
|
E-textile Based Imaging Array:
Phase Three
Introduction
This web page describes the work done on the third phase of the project
and the results obtained. We have implemented a new routing algorithm
in view of the limitations of the flooding algorithm. We have also
decided to use two separate routing algorithms for the two steps in
the sensor array algorithm. The baseline model will also be modified
such that only designated nodes will form the sensor image.
Routing Algorithms Flooding Algorithm
The flooding algorithm was intended to be used for routing of the
neighbor-ID data during Step 2, as well as sensor data during Step
3 of the sensor array algorithm, to pass data from each node to every
other node. Each time a node receives a packet, it will retransmit
to its other neighbors, except the one that it received the packet
from. This is shown in Figure 1. Node 12 receives a packet from Node
7. Besides utilizing the information itself, it will retransmit the
packet to Nodes 11, 13 and 17, which will then retransmit to their
respective neighbors.
|
Figure 1
The Flooding algorithm |
Advantages of flooding algorithm
The advantage of the flooding method is that it provides a high
level of redundancy. Data from one node can reach another node
through multiple paths. It is also simple to implement. Furthermore,
it is suitable for this case since data from each node has to
be passed to each and every other node.
Disadvantages of flooding algorithm
It is obvious that there is a need for a packet “sink”
or sinks. Otherwise the number of data packets in the network
will be increasing with time. However, looking at the topology,
it is not an easy task, if not impossible, to identify a node
or nodes to be sinks. Considering the second step of the array
algorithm, in which neighbor-ID information is passed, one possible
solution is to use some kind of timing mechanism. For example,
a node will stop retransmitting neighbor-ID data packets time
T after it has formed its ID map. For Step 3 in which sensor data
is passed, it is possible to put a time tag on each packet. When
a node receives a sensor data packet, it will check the time tag
to see if it is later than what it already has. If so, it will
discard the packet and not retransmit it to its neighbors. Another
possible solution to this sinking problem is to tag the packets
with some “hop” information, which refers to the number
of times that the packet has been passed around from node to node.
If the node receives a packet with a hop number exceeding a threshold,
it will not retransmit the packet to its neighbors. One obvious
value for the threshold would be 8 for this configuration, which
is the maximum number of hops required between nodes, e.g. Nodes
1 to 25.
However, it is not easy to define an optimal value for the time
T as the time taken for the nodes to form the ID map varies widely.
With the “hop” information, it is noted that it still
takes a long time for the neighbor ID packets to “die out”
after all the nodes have formed their ID maps. Subsequently, the
network becomes more and more congested with time.
The “Ring” Algorithm
To overcome the limitations of the flooding algorithm, a “Ring”
algorithm was implemented. In this method, the data are transmitted
in some kind of rings within the network, hence the name “ring”
algorithm.
Referring to Figure 2, suppose Node 17 wishes to send a packet
to every other node in the network. It will send the packet to Node
12. Upon receiving the packet from 17, Node 12 will retransmit the
packet through the ring formed by Nodes 13, 8, 3, 2, 1, 6, 11 and
12. The packet will be passed in both clockwise and counter clockwise
directions through the ring and back to Node 12 (blue arrows and
red arrows). Upon receipt of a packet in the ring, each node will
just pass it on in the same direction. When the same packet gets
back to Node 12, it will not retransmit again, since it is the originator
of the packet in the ring. Thus we see that Node 12 is both the
source and sink of the packet in the ring. Node 12 will also pass
the packet to Node 17 to form a second outer ring. Note that this
ring is, however, only a partial ring, terminating at Nodes 4 and
16. Thus in this case, 4 and 16 are the sinks. Node 17 will further
pass the packet to Node 22, to form a third level ring. Again this
is a partial ring, with Nodes 5 and 21 acting as the sinks.
|
Figure 2
The “Ring” algorithm |
To increase redundancy, Node 7 can send the packet to nodes other
than 12, i.e. 2, 8, and 6. Maximum redundancy is achieved when 17
sends the packet to all its neighbors.
Note in this case that Node 7 cannot just send the packet to Node
2, since it will not get propagate beyond the first level ring.
Also, it is necessary send to both Nodes 12 and 8 in order to achieve
redundancy in the outer rings.
Advantages of “Ring” algorithm
1) Easy to designate sinks
It can be seen that it is easy to designate sinks in this algorithm.
For partial rings, the sinks come “naturally”. For complete
rings, it is logical to assign the first node in the ring to be
the sink (Node 12 in Figure 2)
2) Reduce traffic
This is another advantage over the flooding algorithm. Although
the flooding algorithm offers maximum redundancy, the amount of
packets injected into the network is large, typically larger that
what the network can handle. Thus redundancy is achieved at the
expense of performance. Table 1 shows the time required for each
node to form its complete ID map during one of the simulation runs.
The results show that the ring algorithm is about 2.5 to 3 times
faster than the flooding algorithm.
Table 1
Time
taken to form ID map
(in Mega clock ticks; 1 clock tick = 16.666 ns)
|
Node |
Ring Algorithm |
Flooding Algorithm |
1 |
36 |
1 node undetected |
2 |
21 |
62 |
3 |
19 |
56 |
4 |
22 |
45 |
5 |
48 |
2 node undetected |
6 |
17 |
46 |
7 |
25 |
52 |
8 |
31 |
54 |
9 |
13 |
42 |
10 |
16 |
1 node undetected |
11 |
18 |
66 |
12 |
15 |
55 |
13 |
15 |
38 |
14 |
13 |
38 |
15 |
17 |
47 |
16 |
18 |
54 |
17 |
16 |
1 node undetected |
18 |
16 |
1 node undetected |
19 |
13 |
1 node undetected |
20 |
20 |
2 nodes undetected |
21 |
47 |
54 |
22 |
29 |
53 |
23 |
23 |
57 |
24 |
23 |
68 |
25 |
28 |
2 nodes undetected |
Change to Baseline Model
The ring algorithm has shown to have better performance than the flooding
algorithm in the distribution of neighbor-ID information (Step 2 of
sensor array algorithm), in terms of the time required for each node
to form up the ID map. It also shows better performance in distribution
of sensor information (Step 3 of sensor array algorithm). Although
the image forming was still not complete, the nodes are able to form
a larger image than when the flooding algorithm is used. However,
it is noticed that the images formed are “patchy” due
to large difference in delays. This means that information in the
nodes is not updated at the same rate, or at least a close enough
rate. Information for some node in the image may be very “old”
compared to other nodes.
Although it is necessary for the neighbor-ID information to be passed
to every node in Step 2, it is not necessary to do likewise for
sensor data in Step 3. It is sufficient to designate a node (or
a few nodes for redundancy) to collect the information to form the
image. It was decided that it is not feasible to proceed with the
baseline model in which all the nodes will have the image. The ring
algorithm will be used for Step 2. For Step 3, a “fixed routing”
algorithm will be implemented. Such a scheme is possible in Step
3 since all the nodes will have the ID map formed in Step 2.
The Fixed Routing Algorithm
Figure 3 shows how the fixed routing algorithm works. Node 13 is
designated to the node to form the sensor image. The network will
be divided into 4 four quadrants. Nodes in the quadrants will send
packets to the two center axes which will relay the packets to Node
13.
|
Figure 3
Fixed routing algorithm |
Current Status
The ring algorithm has been implemented and tested.
Next Phase
The next phase will be to implement the fixed routing algorithm and
to start looking at the power issues.
Conclusion
Due to the limitation of the existing routing flooding algorithm,
a new Ring algorithm was conceived and implemented. The baseline model
will be modified slightly such that only a designated node will form
the sensor image. Also, two separate routing algorithms will be used
for the two steps. The ring algorithm will be used for Step 2 for
the passing of neighbor-ID data. A new fixed routing algorithm will
be implemented for the routing of sensor information in Step 3.
References
[1] “A Survey of Technologies for Smart Fabrics(Computational
Textiles), DRAFT, Summer 2001”, Phillip Stanley-Marbell
[2] “Project proposal, E-Textile-based Ultra-sound Imaging Array”,
Seng Teck, Sing & Chee Wan, Teng
[3] “Project Report Phase 1, E-Textile-based Ultra-sound Imaging
Array”, Seng Teck, Sing & Chee Wan, Teng
[4] “Project Report Phase 2, E-Textile-based Ultra-sound Imaging
Array”, Seng Teck, Sing & Chee Wan, Teng
[5] “Myrmigki Simulator Manual, Release 0.1.ece743”, Philip
Stanley-Marbell.
|
|
|