Last updated recently
Many of these projects can be tackled at several levels, making them suitable for all three categories of student (jazz, rhythm AND blues). The projects are color coded jazz=networx, rhythm=grafix, and blues=generix. (mixtures do occur, and in the obvious manner:-)
The berkeley packet filter and other related services are typically programmed using the packet filter pattern match language - this project would build a tool (and maybe a GUI too as a driver/demo) for programming in a more conventional style via a java class library. perhaps a lego mindstorm type model of graphical glue to describe a networked set of fitlers could be added by a keen student.
THis project is to take the NRL MGM system and rebuild it in java -
this lets you take 1 (or more) machiens and source and sink ip
multicast packets from a number of serial or parallel (and piossibly
synchronised) sources through a real or virtual multicast topology -
useful for testing mcast routing and higher level protocols - the
original is too low level and we need a more portable opensource
version prob.
Take an ipaq or vaio with a camera and mike and wireless network card
(gprs, 802.11 etc) and turn it into a "weather girl studio in a box"
for un-teathered transmission of remote classes
should automate mike gain levels and video registration of lectureer
and xor the lecturer face on slides etc....
ns is a network simulator in tcl/tk (actually in object tcl and c++)_
nam is an animator for its output - it is alkso in otcl, but could be
a java applet and could then show network simulator output on web
pages (c.f.
nlanr, and
original ns site
A group here have re-written a large chunk of the core of this in java
- a nice project would be to develop some online examples of protocols
in action for a teaching course using this!
MSc students have recently added TCP, RIP and OSPF - it
would be nice to add multicast e.g. PIM and or PGM
There's a lot of talk about WAP, but what most people want is to get
at a standard set of wb pages - however there;'s several problems,
including lack of large screen, lack of keyboard and lack of
bandwidth - these could be mitigated by a couple of simple tricks - a
browser could be written that displayed on a small screen (see for
example, opera, lynx and links) - if it sent info back to the server
that indicated the type of browser (e.g. screen resolution, aspect
ration and mono/color capability), the server could transcode
data on the fly (or a proxy/gateway could) down to more accepatable
levels - use of good human factors design ruels could reduce the
amount of key clickery to simialr to the Nokia and Ericsson 1-button
for almost all choices....by sorting the set of hotspots and other
activities in the browser by popularity - a nice project could do this
in emulation (e.g. on a PC/Unix system) or for real (iof somneone had
a mobile phone, modem and palm/psion/whatever with development), to
see how well it might be done...
This is basically a complete re-write of a tool that incorporates
A good implementation would also involve
adding in security, masc, seperate client and server, synchronsing,
re-do sip etc etc...do igmpv3/single source multicast
extensions too...and web/multicast session advertisement integration.
Finally, the obvious language to do this in is Java (instead of
tcl/tk), although there are some other alternatives (C:-)
If you receive email on a Unix or Mac system,
with word or xcl or ppt attachments, you will kjnow what I am
on about - wouldn't it be nice if you could just poit the doc at an Nt
server somewhere and have it come back as a URL pointer to a PDF or
HTML file?
See ftp://cs.ucl.ac.uk/darpa/watercast.ps.gz
for a description of a scheme for multicasting and marking content so
that receivers all get slightly different versions of a file - useful
for audit trailing who has what, without the overheads of sending a
full different copy to each recipient (could be used by film and music
and games companies for safe network distribution of content).
Adding watermarking of video/audio and implementing watercasting with
PGM or else application level/content distribution server based using
EEPs would be neat!
Mrouted is a small elegant way of implementing multicast routing and
forwarding but only runs on Unix. Windows 2000 can now allow a PC
running microsoft s/w to also function as a
router, just as Unix has been able to since 1981:-)
There is a routing arbiter in Win2k, since you
may want multiple multicast routing protocols (e.g. on a border).
For this reason, the arbiter's API is public (in MSDN) whereas
the kernel interface is not (we may even need to change it in
the future). In the MSDN covering Win2k, there's a (online)
book called "Routing and Remote Access Service" under the
Platform SDK section. The "Multicast Group Manager" chapter
is the multicast tree construction API. The "Routing Table
Manager Version 2" is the API for managing multicast (and unicast)
routes. So the task of porting mrouted is probably quite well
specified.
It would be a good thing to try simulating a 3G (UMTS mobile) access network
for QoS - e.g. a mix of web download, streaming, audio and
browsing...
Ross Anderson's original paper, defining the threat model for an Eternity
service: (excellently readable)
http://www.cl.cam.ac.uk/users/rja14/eternity/eternity.html
Adam Back and my first cut at a design is at
http://www.cypherspace.org/eternity-design.html -- I don't know how much
you want your student group to do design, but there is certainly scope for
improvement in ours if necessary, while not required.
There are links to several other resources on our company site:
http://www.cypherspace.org/links.html
Also not up there but definitely relevant is stuff on end-to-end multicast
reliability, particularly SRM, and expanding ring searches, which I can
recommend.
Perhaps the best first step would be to have the group read Anderson's
paper then have a chat with me. If you feel it would be useful, an
interesting and useful prototype to a full service would be a Web-based
design I have been thinking up and could elaborate for you.
input would be scanned imaged - output would be overlays for a
jig-saw
basically, a plugin for people who have poor site
that uses the java audio/io plus a bunch of smarts to find the pieces
of a web page that can be rendered as speech, and does so...
(find a phoneme library and an online dictionary and away you go -
there are good tools on PCs that already "speak" a Window...this would
be like those...)
A related piece of technology might be a variant that provides
an answerpone that uses the internet to send email rather than phones
to playback and record voice
or
an answerphone that "interacts " during the recording process
(e.g. says un hunh in silence!) so that the person leaving a message
feels tey are "talking" to something more real and speak more
naturally as a result (maybe!):)
The
Mbone conferencing tools
provide live interactive video and audio for multiple simulataneous
users on the Internet. Some of the tools have a neat trick which
uses the "conference bus" as a remote control between the media tool
(audio and video capture/transmission/reception/output) and the user
interface (display of levels, speaker activity, participant details
etc) - currently, most of these are written in Tcl/Tk and/or C++. It
would be nice since they can be seperate processes/programs, to re-do
some of these in Java (and do some re-design/requirements and so on in
the process of doing the project)....examples of things that could
then be done: merging of participant lists for video and audio;
Display of video via XOR onto shared whiteboard or text edit
whitespace; dynamic re-design of tools; 3D user interface detail (e.g.
show participants superimposed onto a 3D area like round a table or
the walls of a VRML rendered room).
One of the tools, Vic, is not conference bus based, so an entire
project would be just to fix that!!!
Another aspect would be to implement
Internet Telephony signaling (SIP and MBus) and call handling scripting and
consistency - Java and XML....
By placing a number of mikes and cameras around the departmentwe could
provide a facility for a teleworker to be able to "visit" rooms, and
talk to people - the navigation, and the model of protocols used to
invite (glance into) and control access to views of rooms should
accomodate a variety of models of human interaction - the facilities
should be based around the mbone protocols (c.f.
the
book on internet multimedia) but these will have to be enhanced
greatly. A full system shoud be configurable to operate also as a
surveilleane system at nighttime, for the security of staff working
late as well as protection of equipment (through determent to thieves).
navigation by "agent" as well as by map or by user location should be
possibler - auto-tracking of people walking threough the department
should be feasilbe (.e. so someone could walk fro mroom to room
talking to a remote person....without having to carry anything!)
In distributed VR systems such as MASSIVE, there are lots of systems
for representing users (avatars - see Snow Crash by Neal Stephenson
for a good description in ficiton). However, we often use the net to
communicate with people via video and audio, but they see us on a flat
screen - what if they could see us on a mobile avatar in the room they
were in, that tracked them - e.g. a flatscreen on a helium ballon or
whatever.....
(with Manuel Oliveria)
Implement a 3D game for multiple participants, aiming at large scale
in terms of user base and game environment.
The game genre is to be decided by the implementor(s). For example, it
may be a role-based (i.e: first person D&D) or space action (i.e:
Elite). The are pros/cons associated to the choice will ultimately
impact on the possible complexity acheivable.
The technologies to use for the implementation are:
So the challenges are:
Notes:
References:
Virtual Weather Studio
Interactive Network and Protocol Simulation
Web Browsing from a Mobile Phone
Re-implement the SDR too according to full spec
Remote Office for Unix Users.
Watermarking and Multicasting Service.
Porting A Multicast Routing Protocol to Windows 2000.
3G network simulation/analysis
Eternity Service
A Unix WYSIWYG Tool for creating Jig Saw Puzzles
Speak Your Web page java applet
JSwing GUIs for Multimedia Collaborative Tools
A Virtual Department.
Virtual Control of Real Avatars
3D Multi-User Game (BSc/MSc)
[1] www.web3d.org
[2] www.cs.ucl.ac.uk/staff/moliveir/docs/cve2000.pdf (available
19/05/2000)
[3] www.cs.ucl.ac.uk/staff/moliveir/docs/presence.pdf (available
19/05/2000)