ypod at mit.edu
Wed Jan 30 17:17:35 EST 2008
Like Michail and Ricardo said, going from a paper publication to an
actual implementation and also _testing_ of that implementation is a
very long way. The following factors need to be taken into account when
comparing various approaches to routing and presence in MANETs:
1) scalability: I would consider broadcasting a special case of
multicasting and as such I assume this is a O(n^2) approach (this means
that, on average, there are n packets in the network for each of n nodes)
2) mobility: Requiring our protocol to be able to handle mobile nodes
eliminates a good portion of the literature for routing in ad-hoc
networks. AODV is the most widely adopted algorithm for routing in MANETs.
3) simplicity: This is more important than it sounds. This is the factor
that allows theory to turn into implementation. Multicasting in the mesh
network does not scale, but it is relatively simple.
My approach to provides presence information for a 100 nodes with a
total overhead of 120Kbps at the worst case (everybody in range with
each other, like in the school scenario). For 200 nodes, it would have
an overhead of up to 240Kbps in the worse case and so on. Time
resolution is at 10 seconds/hop, so for 5 hops it will take 50 seconds
for a change to propagate from one side to the other. By doubling the
time resolution to 20 secs/hop, the overhead gets halved to 60Kbps for
100 nodes, etc.
The whole implementation is about 700 lines of python code, so this
should provide a hint about its simplicity. I have implemented both the
protocol and a simulator that runs multiple instances of the actual
implementation, just to showcase its actual scalability. The problem is
that running more than 50 nodes on my Centrino 1.8MHz uses up all
available processing power and packets start getting dropped.
More information about the Devel