6.1 PROJECT SUMMARY
A "Pocket Chat" working prototype has been designed and
implemented in the project as a multi-hop Ad Hoc instant Messenger
using the DSR protocol. The "Pocket Chat" implemented
DSR protocol's first element Route Discovery (include Route Request
and Route Reply) and put Route Maintenance as future work. We have
used XML as the key technology to represent packets and topology
configurations to ease the testing and validation of the prototype.
The Pocket Chat project proved that DSR protocol is a feasible multihop
ad hoc routing protocol for 802.11 Pocket PC based ad hoc environments
in the ad hoc instant messenger project.
The "Pocket Chat" application used UDP over IP to implement
the broadcasting function, and used Microsoft .NET Compact Framework
and C# for the user interface and function development. Microsoft
Visual Studio proved to be an easy to learn and use application
platform for Pocket PC application developments. Current Microsoft
Compact Framework still contain limitations on the user interfaces,
e.g., controls at this time are not very powerful, like Image Control.
Thus at this time, we cannot use the tool to develop sophisticated
user interfaces as good as MSN or AOL messenger. With the improvement
in the future release of Microsoft Compact Framework, this area
maybe gets some improvement.
The original project is designed with multiple threads in mind,
with separate threads handling "Awareness" packets, "Route
Request packets, "Route reply" packets and 'Chat"
packets. During the development and testing, we found that the system
performances suffered a lot due to the multiple-thread design approach.
We then reduced the number of threads for packet handling to one,
thus greatly improving the performance.
The original design also featured multiple Forms approach. However,
when we felt the latency of changing screen is too slow to accept,
we switched to a single Form design with the capability to hide
or show some areas of the Form, thus greatly reducing the latency.
Also, Microsoft Compact Framework currently has some quality issues
with the Message Box API; we worked around this bug by creating
our own Message Box interface and functionality.
Because of lack of implementation of Route Maintenance, the application
sometime suffers the performance issues due to the unreliability
of the network link. With the implementation of Route Maintenance
and better exception handling, the performance should be greatly
improved.
Due to the testing network environment limitation, we design a
topology configuration file approach with XML technology to address
the issue. Project result illustrated that this approach indeed
worked pretty well during the testing stage. And it is also very
easy to change the network topology without the change of original
code. It is also easy to scale up for many nodes.
Due to the availability of Pocket PC hardware equipments of the
project, we only tested and implemented maximum numbers (four) of
hops in the network. We don't have the chance to test the application
when more nodes are added into the network. How to scale up the
application's performance when more nodes are running in the same
network would be is one of the future work areas.
Because Microsoft C# generated intermediate code running on top
of Microsoft's Common Language Runtime®, the codes are interpreted
during program execution. Some performance issues maybe related
to this reason. Find a way to compiled the code as Just-in-time
native code, or use other programming language (C++) to rewrite
the application to achieve native code can result in improved performance.
This can be considered as future work.
Another area that needs to be improved is the error handling. Instead
of displaying error messages on the screen to slow down the performance,
we can design error log files so that error message will be recorded
into the files for further investigation instead of displaying to
users.
Current application limited itself to text based chat only, how
to incorporate voice and image and video information into the packet
and use multihop ad hoc network are new challenges for the future.
Microsoft Portrait® is already able to deliver voice and video
over the wireless network, how to extend the work to multi-hop Ad
Hoc environments is future work.
Overall, our implemented "Pocket Chat" application has
successfully delivered the Route Discovery part of DSR protocol
with a basic chat interface and it provided a good foundation for
future work in this exciting research area.
|