Stanford University
Computer Science 444N: Spring 2000
Projects
Project links
| Process
| Advisory board
| Other ideas
| Home
These projects were done jointly with CS 444I. The links below let you
access the proposal, final report and code for each project.
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:
- Name, email, homepage for each team member, include one primary contact for the team
- Overview of the project from the "user experience" point of view: what is it and
what problem does it solve?
- What existing components or services can be leveraged, and what has to be built
- Main novel technical challenges in realizing the project
- 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.
- 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:
- meet at least once
- contact their assigned advisor(s) to introduce their project
- 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:
- your proposal
- your final report
- your code (bundled as a tar.gz or zip)
- an overview of the code, with instructions on how to run it (this can be part
of the final report, or a separate README)
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!
- B.R. (Badri) Badrinath
Associate Professor, Computer Science
Rutgers University
- William Cockayne
Chief Technology Officer & VP of Engineering
Scout Electromedia
- Nigel Davies
Computing Department, Lancaster University
Currently a Visiting Research Scientist at Sony Research Labs, USA
- Eva Gustafsson
Ericsson Research, USA
- Jeff Mogul
Compaq Western Research Lab
- Steve Nowlan (and Mark Gannon and Ron Akers)
Network Research and Software Lab, Motorola
- Charlie Perkins
Nokia Research Labs
- Kathy Richardson
Compaq Western Research Lab
- Doug Terry
Chief Scientist
Computer Science Laboratory, Xerox Palo Alto Research Center
- David Jerrerson
Compaq Systems Research Center
- Xinhua Zhao
Stanford University
Also see past
projects from CS 444I.
- Extend Mobile IP to allow a mobile host to connect directly to a foreign network
- 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
- 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)
- Compare adding mobility layer above application layer (MPA approach) vs. below
application layer
- Evaluate and compare different proposals for fast hand-off in Mobile IP
- Measure Mobile IP hand-off speed using WaveLAN, Bluetooth, etc.
- Extend NS2 for Mobile IP (complete existing work)
- Explore uses of Bluetooth in MPA-aware devices
- Develop a Bluetooth serial driver for Linux or Windows
- 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.
- Explore using actual traffic info (from traces) as basis for mobility simulations
- Do a trace of various communications (email, phone, etc.), possibly with the help
of Stanford networking services
- Determine overlap between the WAP stack and the Web; implement WAP-like
functionality using Web and TCP/IP
- Implement and evaluate a proximity network using WaveLAN and/or Bluetooth
- Design an authentication mechanism that works over different applications,
protocols, user interfaces and devices
- Compare power utilization for WAP and Web devices
- Use and evaluate the MPA prototype
- Explore issues, evaluate proposals for billing in and across mobile networks
- Explore the use of Leases as a consistency technique in wireless environments.
- Measure the latency, throughput, packet loss characteristics of the new data
services: 2nd-generation Metricom, OmiSky, Palm VII, Sprint PCS, GTE Wireless
- 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
- Develop an IP telephony system for the Gates WaveLAN network; attempt to quantify
usability and scalability
- Develop a way to use VMware/SimOS to test out various power-saving strategies for
various workloads
- Develop various MPA-related plugins for tracking, message retrieval, content
conversion, etc.
- Set up and evaluate an ad hoc testbed network of >= 8 nodes
- Develop and deploy IPsec-based SPINACH
- Analyze latency and scalability of instant messaging/chat/short messaging systems
on wireless networks; would aggregating packets improve scalability? Would FEC
improve latency?
- 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 $