This is an old revision of the document!
1. Mobile phone programming
Implement an interesting application with some wireless/mobile networking component. I mentioned a distributed Bingo example.
If you are interested in mobile phone games then check this link out: http://www.gamemobile.com/Multiplayer-class-14.aspx
Implement a wireless mesh networks on Linux nodes, with a server that decides various parameters, i.e., which channels each node should operate on, what should the topology look like. We will give you code to implement the optimal choices, and you have to implement the messaging between the mesh nodes and the central server, ensure robustness, etc.
3. Video multicast
How can you implement a WiFi multicast service in a single hop wireless LAN. I have a sketch of the multicast protocol and you will have to implement this, mostly at the application layer, but with some kernel and driver-level mechanisms. In Linux.
4. Client-assisted wireless management
Implement a toolkit for Windows laptops and Windows mobile devices, that will accept certain commands from a controller node and execute certain simple measurement tasks, e.g., conduct some pings, do some bandwidth tests, etc. The server will aggregate measurements from many such clients and then create a nice view of the entire network. Show this either for an indoor enterprise WLAN or an outdoor wireless mesh.
5. Energy Efficiency for mobile devices
5a) Network Assisted Power Management
802.11 wireless interfaces are major source of power drain in the mobile devices. For e.g., the battery life of mobile device goes down by a factor of 5 when the WiFi interface on the device is active. IEEE 802.11 PSM does have power saving mechanisms in place, wherein the device is put to “sleep” to save energy. However the current PSM proposal has many limitations. Our preliminary work shows that even though a client is in the 802.11 PSM (power save mode), presence of background traffic can result in keeping the interface awake for a much longer duration, resulting increasing the power consumption by a factor of 2. Also, existing PSM implementations cannot be used with applications like VoIP because of their low-latency requirements.
In this project, we would implement intelligent power saving mechanisms which would provide a solution to the above two problems. The work would involve implementation on Linux/MadWiFi open source driver. For further information please email me. Help would be provided by a senior graduate student with significant experience in the topic and in implementation of the ideas.
5b) Network stack offloading
This alternate approach is also quite interesting. The high level idea is to eliminate as much of redundant content sent out my the mobile device. It turns out that lot of the packet headers sent by mobile devices can be eliminated by maintaining state in the APs. For mobile devices running voice applications, this is quite critical, as a significant fraction of packets are actually headers.
In addition, we also have other ideas for redundancy elimination in mobile devices. Again this involves various low-level driver and kernel hacking.
Another graduate student will provide assistance in this project.
6. Video streaming from mobile phones
Implement a full live video streaming system from a Nokia N95 (Symbian) or Nokia N800 (Linux) mobile phone. Then investigate performance (throughput) and energy costs, and try to optimize them. The basic implementation of a streaming system itself will be quite interesting.
If you can put together a basic video conferencing application directly between two N800 mobile phones in range of different wireless APs, that would be great as a project.
7. TCP for multi-hop wireless
TCP does not work well for a multi-hop wireless link in many cases. Conduct a detailed measurement study of TCP over a multi-hop wireless path. Explain why TCP performs poorly. Investigate wireless router based mechanisms to improve performance of TCP, that does not require any change to the clients (TCP endpoints).
8. Software-Defined Radio projects
We have access to two different SDRs. GNURadio and WARP radio (Rice University). Do a search to find more about them. There are many possible projects on this platform.
- Try to implement a radio fingerprinting technique (we have already defined a technique … you have to implement it). Come and talk to me about it.
- Try to understand performance of various wireless sub-carriers in a OFDM system. How do neighboring sub-carriers correlate in performance with each other. What does this imply on protocol design for such OFDM systems with multiple users.
- Implement some simple spectrum sensing techniques using these radios. We can mount these radios on a vehicle. As the vehicle moves about, we can collect large volumes of data on spectrum usage in different wireless bands.
- Approximate communication and multi-rate packetization (ask me about them).
- Investigate some core aspects of a WiMAX system.
9. Implement full virtualization for a Nokia N800 phone (running Linux currently). Use Xen.
10. Think of your own projects.