Hello!
I have about 20 weeks to do the master thesis. This time includes: getting familiar with the protocol, gathering other information needed for the task, analysis, report writing, coding, presentation preparation and probably some more stuff that I can't remember right now.
Based on this list i would say that the tasks which could fit me are IPv6 support (the other tasks in this group seem to be more development towards the OS) and "Improve Batman with regards to protocol overhead and convergence speed" (with a risk that it would only result in a report). Maybe IPv6 would be more interesting to you guys since you would get something in return for helping me out.
Another idea that came to my mind is building a B.A.T.M.A.N. module for ns2, and I have seen it being discussed here the last couple of days.
The easiest task for me would be IPv6 support. It would also give me the opportunity to get some in-depth knowledge about IPv6 and some hands-on experience with it. But I would need to check if my professor would accept this topic. Otherwise, I'm not a fastidious (I just learned a new word in English :) ) person, so it wouldn't be a problem for me to do any of the tasks mentioned above.
The next step is choosing one task and then making a thesis proposal, including a rough time-plan.
Any comments or suggestions?
Vojislav Marinkovic
________________________________________
one afternoon of work (at maximum): * Modify Batman-0.3.X code so we have an option to compile it without policy routing support * Modify the way that Batman-Advanced (Layer 2) deals with broadcast/multicast payload packages (on multihop wireless routes there is always packet loss, protocols like DHCP use broadcast or multicast messages which are not send redundantly and not acknowledged, so these protocols which are not designed to deal with a high level of packetloss have difficulties to work on a Layer 2 mesh as the number of hops and packet loss on the media increases)
several weeks of coding effort (including tests): * Modify Batman-0.3.X in order to support IPv6 * Get support for other operating systems working (so far it only works with Linux) -> depends on your knowledge of "other" systems * merge batman adv userspace & kernelland code to reduce the maintenance overhead * automatic interface bonding for better throughput (layer 2)
requires in depth knowlegde about batman: * Improve Batman with regards to protocol overhead and convergence speed
mt. everest: * Implement a minimalistic and power saving Batman client version for embedded mobile devices (requires extensive knowledge of 802.11 power saving mechanisms and how to bring them into the mesh) * multipath routing (as it always appears over and over again: http://en.wikipedia.org/wiki/Multipath_routing) _______________________________________________