Jon's student project proposals

Last updated recently


[I'm is mainly interested in communications, distributed systems and multimedia - projects that involve the technology of WWW are just fine, though ones that involve just fiddling about setting up scripts and a site are Not!]. i could supervise most of the following, but is also happy to entertain proposals from students....always....

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:-)

Java Packet Filter

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.

Java multicast Generator/testbed suite

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.

Virtual Weather Studio

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....

Interactive Network and Protocol Simulation

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

Web Browsing from a Mobile Phone

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 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...

Re-implement the SDR too according to full spec

This is basically a complete re-write of a tool that incorporates

  • SIP
  • SAP
  • MASC/multicast address allocation
  • A miniweb browser
  • A configurable tool launching/plugin type facility

    A good implementation would also involve adding in security, masc, seperate client and server, synchronsing, re-do sip etc 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:-)

    Remote Office for Unix Users.

    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?

    Watermarking and Multicasting Service.

    See 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!

    Porting A Multicast Routing Protocol to Windows 2000.

    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.

    3G network simulation/analysis

    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...

    Eternity Service

    Ross Anderson's original paper, defining the threat model for an Eternity service: (excellently readable) Adam Back and my first cut at a design is at -- 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: 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.

    A Unix WYSIWYG Tool for creating Jig Saw Puzzles

    input would be scanned imaged - output would be overlays for a jig-saw

    Speak Your Web page java applet

    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!):)

    JSwing GUIs for Multimedia Collaborative Tools

    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....

    A Virtual Department.

    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!)

    Virtual Control of Real Avatars

    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.....

    3D Multi-User Game (BSc/MSc)

    (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:

  • - X3D [1]. The next generation of VRML using XML. There exist a Java3D loader readily available, including source code.
  • - JADE [2][3]. A component framework along with a functional kernel and some Modules.
  • - DataStreams. A JADE module to handle different forms of networking protocols.
  • - Java. Since all the above rely heavily on Java and Java3D.

    So the challenges are:

  • - Make an interesting game.
  • - Design and implement a game engine to handle large scale worlds. The issues to consider range from components of the system to the schema of the data model.
  • - Come up with an efficient grouping mechanism to leverage the receiver's interest vs the computational/network resources.
  • - Try and create a community within the department by making the game available to all. - Try and deal with several levels of capability of device


  • 1- Since JADE itself is under development, support will be given on the project's own development.
  • 2- There exists a 2D game to demonstrate how JADE may be used.

    [2] (available 19/05/2000)
    [3] (available 19/05/2000)