15-446 Project Ideas
The main component of this class is a the completion of a research
project. Class projects are typically done in groups of two to four
students. The final result of the project is a working demo and
associated short writeup.
Google has kindly donated a collection of Google Nexus phones for use
in this class. As a result, we expect many of the projects/assignments
to leverage this hardware.
Example Project Ideas
- Synchronize multiple phones to play
surround sound sources. With the recent increase in quality of
speakers on mobile devices it has become common place for users to
watch high-quality movies on their mobile devices. Impromptu group
movie showings seem reasonable (especially with the advent of
"pocket"-style projectors), but the surround sound effects of this
season's triple-A blockbusters are lost on simple stereo
phones. Design and implement a system that takes a surround sound
source and synchronizes the audio across multiple phones for a richer
movie watching experience. This could be further extended to go beyond
the current surround systems (7.1) to an ever wider sound field
(20.1?).
- Soundtrack to your life. Often times people listen to music as
they work around their house. However often they leave the range of
their speaker system. Many users carry around mobile devices with them
as they move around. Design and implement a system that detects when a
user is no longer in range of their speaker system and seamlessly
transitions to playing the song (synchronized) on their mobile device,
while muting their speaker system. When the user returns to being in
range of their speaker system the audio should switch back. This
system could be extended to work across multiple speaker systems (TV,
laptop, stereo, etc) across different rooms.
- Building a faster/more efficient mobile Web. Google has a
made a big deal about their new SPDY protocol for making the Web
faster. One issue with mobile/cellular systems is that cross-layer
integration is often needed to get good performance. The goal of this
project would be to create a modified SPDY/TCP/Cellular stack that is
optimized for performance/energy savings.
- NFC Security. The cool thing about NFC tags is that,
unlike RFID tags, you can write to them. With NFC support on recent
phones, it is time to think of some cool applications for NFC. While
there are some handy personal applications (see tagstand.com), it is
hard to use these tags in public settings because of complete lack of
security. What minimal layer of security (perhaps with some
assumptions about occasional help from friendly phones) can you build
to help along NFC apps?
- Implementing variable pricing for ad-subsidized
connectivity. Ads can be used to subsidize connectivity costs,
i.e., ads pay for some amount of bandwidth. In this project, you would
explore various ways that applications can achieve this goal. First,
you would need to identify some way to implement protocols for price
advertisement, enforcement, user feedback, etc.
- A Content-Oriented Network. There are several proposals
for content-oriented network designs (e.g. XIA, Redundancy
Elimination). Can we use this on phones to do a better job at reducing
data transfers?
- Better Socket API Can we add delay tolerance into the
socket API. For example, how urgent is a particular data transfer?
This could be combined with connectivity prediction systems like
Breadcrumbs to create a more efficient schedule for transfers with a
reasonable user experience.
- Portable Web Browsing Use IBRs to make web pages that work
on portable devices. Figure out a way to make it easy to leverage both
transoding proxies and source coding to build low overhead
verification.
- Object Search Can you build a tool that helps you find an
RF transmitter (e.g. find the base station). The idea would be to use
some combination of movement base localization and RF gradiants to
direct a user.
- Distributed Search Can you quickly build and upload fingerprints of
multimedia data that is on a phone to enable rough search of the
contents on a device or at least the filtering of remote queries?
- Home Content Management
- Classroom Education Tools
- Energy Aware Adaptation There is some old work on adapting
applications
Private Object Management There was a nice paper at OSDI
this year on private objects and garbage collection. Read it. I think
you can build a far more efficient version that relies on encryption
more than network traffic.
Coming up with your own project
A couple of suggestions for coming up with your own project. Find a
problem or area in networking that you like---ideally, one that really excites
you, or that seems immediately relevant and important. Then, address the
following questions:
- Has a solution been posed to this problem in the past and, if so, what
do you think of it?
- If a solution has been proposed, has it been evaluated properly?
- If the system has been simulated, does anyone understand its
mathematical properties?
- If the system has been simulated, has it been implemented and its
performance studied under realistic conditions? (Do the simulations, math,
and reality match up?)
- Is the solution scalable? Secure? Robust to failures, both expected and
unexpected? Will it work in heterogeneous environments, and does it contain
embedded, unrealistic assumptions about the environments in which it will
run? Will it stand up to coming advances in technology?
- If several solutions have been proposed, has anyone performed a
comparative study of them? Why do some schemes work better than others? Can
we characterize the conditions under which some schemes work better than
others?
Last updated: Wed Mar 06 13:47:56 -0500 2013
[validate xhtml]