Feb. 14/95

6.853: Team Project

Getting Started

We are leaving the detailed definition of the team assignment up to you. We expect that there will be considerable variation in the scope of projects. However, all projects should have some common characteristics...

* Your team should build something, get it working, and measure its performance relative to a baseline (i.e., the system you started from) and relative to other results in the literature.

* The individual level of effort should be about 56 hours (14 weeks @ 4 hours/week). With 5-6 members on each team this should provide enough cycles for you to complete a fairly substantial project.

We have divided the project work into two stages.

Short_group_project DUE FEBRUARY 28!

Find fellow group members and schedule a meeting.

Choose an area of investigation

Identify experimental tools/infrastructure that would be helpful

(more than one tool may be required).

Write/Import, hack, instrument, evaluate your tools.

Generate (mechanically?) a 3-5 page report.

Long_group_project

Develop a focused project proposal.

Get started.

Present your proposal and initial assessment on March 14 or 21.

Do lots more work.

Present your completed work on Apr. 25 or May 2.

Tune your code & take final measurements.

Generate an 8-10 page SOSP-style report by May 16th.

Sample Projects

To get your imaginations going, we have assembled a list of projects that we would enjoy working on. Of course, this list reflects our own research interests and your team should feel free to develop its own proposal based on the expertise and interests of team members. More than one team can select the same project. Alternatively, teams might cooperate on compatible projects, e.g., develop inter-operable components that can be assembled into a larger system. The tools you assemble as part of the short project may depend on your team's choice of hardware/software platform.

Component Software/Object Systems

Project ideas.

Encrypted / authenticated /signature of CORBA / OLE objects.

A CORBA or OLE browser similar to MOSAIC.

An OLE/WWW gateway, that makes OLE objects accessible via the World Wide Web (and vice versa?).

THOR as an OLE or Lotus Notes repository.

Scripting Tools for PC and MacIntosh environments (e.g., Visual-tcl).

Indexing tools for CORBA/OLE repositories.

Tool ideas.

PGP or other encryption/authentication/signature software.

Portable THOR, CORBA, OLE implementations.

OLE software development kit. (using tcl and c++?)

tcl/safe-tcl/object tcl, etc.

Where to look.

PGP, CORBA, WWW - on the net.

OLE/Notes - Microsoft and Lotus propoganda.

THOR - Prof. Liskov et al.

tcl/safe-tcl/object tcl - on the net.

Multimedia

Project ideas.

Speech-driven WWW browser.

(Ability to surf the web and fill in forms through spoken commands).

Spoken Language / Natural Language System Toolkit.

(Dr. Zue's group and others have developed fairly sophisticated speech recognition systems. However, there does not appear to be any systematic way to incorporate their functionality into applications. A spoken lanugage toolkit could be used with live or pre-recorded audio. An NL toolkit could be used to process web-based text documents.)

Tool ideas.

Demonstrate ability to capture audio.

Access to and ablity to customize a spoken language system (either on your own platform or over the net).

Where to look.

Speech tools - see if you can extract something from Dr. Zue's group and/or work elsewhere (e.g., BBN, CMU, etc.)

Media programming tools - on the net, LCS/TNS group.

File and Transaction Systems

Project ideas.

Encrypted / authenticated / signed file systems.

Compressed file system for UNIX.

Replicated / logged file systems.

NOW-style shared file cache (with compression?)

NOW-style transaction system with network-based cache

Tool ideas.

PGP or other encryption/authentication/signature software.

Compression software.

LINUX & demonstrated ability to modify file system.

NT & demonstrated ability to use VxD's to add file system functionality.

User mode (NFS) server that is compatible with the VNODE interface.

Where to look.

Compression software, x-FS, NFS - on the net.

LINUX - on the net and in your dorms.

NT - Microsoft and Lotus propoganda.

IP

Project idea.

Encrypted / authenticated IP using end-to-end tunnels.

(A closed user group could operate their own SecureIP (our term) network as an overlay whose packets tunnel through the global Internet - i.e., each SecureIP packet is encapsulated in an IP datagram and sent over the insecure network. Since many users access the Internet at speeds of 64Kbps or less, it may be possible to software encrypt SecureIP packets.)

Bandwidth reservation on the Internet.

(There are multiple proposals for how to do this, including RSVP (MIT) and Tenet (Berkeley). It would be interesting to experimentally evaluate one or more of these)

Tool ideas.

PGP or other encryption/authentication software.

IP tunneling technology that can be used on your hardware/software platform.

IP client and IP router software that can be modified to implement SecureIP.

RSVP and/or Tenet software.

Where to look.

There are many Internet RFCs, etc. on the net. Tunneling has been used by many mobile IP and multi-cast IP researchers who may make their tools available.

IPv6

Project idea.

Implement an IPv6 router and client.

(IPv6 is the next generation of the Internet IP protocol. You could implement a "native" IPv6 router or use tunneling technology to implement an IPv6 overlay that operates over the existing Internet. If two teams select this project they should agree some mechanism to demonstrate inter-operability. Many additional features, such as mobility and authentication, can be explored in the IPv6 context.)

Tool ideas.

IP tunneling technology that can be used on your hardware/software platform.

To implement a "native" router, you would have to demonstrate the ability to add your own "protocol" family to your hardware/software platform..

Where to look.

IPv6 - the specification and the whole history of the IPv6 debate can be found on the net. Some of the researchers who participated may have developed public domain software tools for testing/demonstrating their proposals. Some of the ideas that didn't make it into IPv6 (e.g., NIMROD) may also make for interesting research projects.

Generic IP Tunneling Technology

Project idea.

Implement a generic approach to IP/IPv6 tunneling.

(Tunneling seems to be useful - how could we make it a standard feature? A group attacking this project should try to line up one or more client groups working on another project.)

Tool ideas.

See above.

Where to look.

See above.

ATM

Project ideas.

Software-based ATM switch. (for low speed ATM).

Wireless/Mobile ATM.

Implement one the IP/ATM or ATM LANE (LAN Emulation) proposals.

Tool ideas.

The media lab and the LCS/TNS group have ATM platforms.

ATM emulator that uses (wireless) Ethernet hardware to exchange ATM cells/frames.

Simulation.

Where to look.

ATM forum specs.

Internet IP/ATM working group.

Internet Multicast.

Project ideas.

Plug-in software modules for the MBONE.

(Today's MBONE toolkit includes audio, video and a whiteboard. What other tools could take advantage of the MBONE infrastructure? These could support additional conferencing/browsing features or other multicast applications, such as news groups, stock quote distribution, etc.)

Tool ideas.

MBONE software for mutlicast routers and MBONE conferencing tools.

Where to look.

The net.