Stanford University
Computer Science 444N: Spring 2000

Projects

Project links | Process | Advisory board | Other ideas | Home


Project links

These projects were done jointly with CS 444I. The links below let you access the proposal, final report and code for each project.

Process

Most of this process is borrowed from the one created by Armando Fox for CS 444I.

1. Write pre-proposals and form teams

Preliminary proposal due 19 April; full proposal due 24 April.

By the end of this stage, each student should be part of a team (3-5 students), and each team should have created a project proposal and made it available on the web.

How you go about this depends on your situation. If you already have a clear idea of your project, you can start writing the proposal, post it, and recruit other students (from CS 444N and CS 444I) to join your team. If you have a less clear idea, you may want to meet with other students and brainstorm a project idea.

The proposal is a one-page description of the project, including the following:

  1. Name, email, homepage for each team member, include one primary contact for the team
  2. Overview of the project from the "user experience" point of view: what is it and what problem does it solve?
  3. What existing components or services can be leveraged, and what has to be built
  4. Main novel technical challenges in realizing the project
  5. Motivation for the project: Why is it needed? Do existing systems or services do something similar, and if so, how is yours different/better? Your "survey of the competition" should include both relevant research projects (industry or academic) and relevant commercial services.
  6. If appropriate, a qualitative, one or two paragraph explanation of who would pay to deploy it (end-user subscription? advertising revenue? pay-per-use?). Not a business plan please! Just a defensible idea for one.

The project proposal should be formatted as an HTML or text document and made available on the web. The proposal, along with subsequent deliverables, will form your project web site.

When your proposal is posted on the web, send email to the TA to have a link added to the list on this page.

2. Finalize proposals

Final proposal due 1 May.

By the deadline, each team should:

  1. meet at least once
  2. contact their assigned advisor(s) to introduce their project
  3. ensure that their proposal contains a list of team members, a clear description of what they hope to demo, and what equipment and other resources are needed to complete the project

3. Go to it!

You have exactly one month to get from proposal to demoable prototype, with a writeup. You're free to schedule this time as you please, but we highly recommend getting started soon!

Contact us if you need help, and keep in touch with your advisor.

4a. Demo/poster session

Scheduled for 1 June in Gates 104; set up at 11:00 AM, demo from 12:00-2:00. Lunch will be provided.

For demo day, you should prepare (1) a working prototype, (2) a 5-10 minute presentation and (3) a poster with 6-10 slides.

The poster should capture the gist of your presentation, so someone who doesn't hear the presentation can still get a good idea of your project.

The demo room has WaveLAN, Metricom/Ricochet and CDPD coverage. Let us know in advance if you will need anything else set up in the demo room, such as wired Internet connectivity.

4b. Final reports

Due at 10:00 AM on 5 June.

Your report should be a technical description of your system, and should follow the guidelines below. For good examples of mobile systems papers, see recent proceedings from MobiCom and USITS.

The report should be approximately 6 to 10 pages and cover these points:

Motivation
What problem are you trying to solve? Why and how would someone use your system? Give a specific scenario. State your assumptions, like "Our wireless virtual-reality bifocals will be widely useful because we expect that within five years, 80% of senior citizens will be avid Quake players."
Related work
Briefly describe other attempts to solve the problem, or similar problems. How does your system improve on these attempts?
Design and implementation
Discuss in detail your approach for solving the problem: external design (how your system interacts with other components), user interface, internal design (the various pieces that comprise your system). Expand on the scenario from the motivation section. Explain any interesting design tradeoffs. Are there any reusable parts that could be packaged as a library for other programmers?
Analysis
Given the time constraints, we don't expect a detailed analysis, but at least speculate on the scalability, security, usability and fault tolerance of your system.
Lessons learned
References

4c. Complete project web site

Due 7 June.

Your project web site should contain links to:

This site should remain available after the quarter is over, so that we can refer students to your site the next time the course is offered. If this is a problem due to lack of disk space or whatever, let us know so we can archive your site on our server.

4d. Return equipment

Do this by the end of the quarter. We know where you live!

Advisory board

Other ideas

Also see past projects from CS 444I.

  1. Extend Mobile IP to allow a mobile host to connect directly to a foreign network
  2. Mobile IP "dialtone": guarantee that a mobile host can plug in and communicate on a foreign network using a foreign agent, DHCP, or nothing at all
  3. Compare and evaluate web toolkits (PHP, JSP, Java applets, ASP, etc.); implement prototype apps; give interface specs; measure performance (effective throughput and latency, ease of implementation, requirements for mobile devices)
  4. Compare adding mobility layer above application layer (MPA approach) vs. below application layer
  5. Evaluate and compare different proposals for fast hand-off in Mobile IP
  6. Measure Mobile IP hand-off speed using WaveLAN, Bluetooth, etc.
  7. Extend NS2 for Mobile IP (complete existing work)
  8. Explore uses of Bluetooth in MPA-aware devices
  9. Develop a Bluetooth serial driver for Linux or Windows
  10. Emulating HAVi Home Networks: HAVi is a middleware platform developed by the consumer electronics industry to support high-quality networked multimedia applications. Explore the relationship between mobile devices and HAVi based home networks to create a demonstrator that illustrates how these distinct domains can be integrated.
  11. Explore using actual traffic info (from traces) as basis for mobility simulations
  12. Do a trace of various communications (email, phone, etc.), possibly with the help of Stanford networking services
  13. Determine overlap between the WAP stack and the Web; implement WAP-like functionality using Web and TCP/IP
  14. Implement and evaluate a proximity network using WaveLAN and/or Bluetooth
  15. Design an authentication mechanism that works over different applications, protocols, user interfaces and devices
  16. Compare power utilization for WAP and Web devices
  17. Use and evaluate the MPA prototype
  18. Explore issues, evaluate proposals for billing in and across mobile networks
  19. Explore the use of Leases as a consistency technique in wireless environments.
  20. Measure the latency, throughput, packet loss characteristics of the new data services: 2nd-generation Metricom, OmiSky, Palm VII, Sprint PCS, GTE Wireless
  21. Compare and evaluate different protocols for wireless web access (WAP, HDML, Palm VII, NTT DoCoMo's protocol, ProxiNet, etc.) using data size, ease of content creation, expressive power, ease of deployment
  22. Develop an IP telephony system for the Gates WaveLAN network; attempt to quantify usability and scalability
  23. Develop a way to use VMware/SimOS to test out various power-saving strategies for various workloads
  24. Develop various MPA-related plugins for tracking, message retrieval, content conversion, etc.
  25. Set up and evaluate an ad hoc testbed network of >= 8 nodes
  26. Develop and deploy IPsec-based SPINACH
  27. Analyze latency and scalability of instant messaging/chat/short messaging systems on wireless networks; would aggregating packets improve scalability? Would FEC improve latency?
  28. Implement various protocols for mobility, wireless transmission, and/or OS power management on an ns network with mobility and wireless links, using different models for mobility, transmission workloads and power consumption. Measure the effect of these implementations on overall metrics like latency, throughput, power consumption and link efficiency.


$Id: oldprojects.html,v 1.1 2001/04/09 22:13:25 mgbaker Exp $