My primary research interests are in the area of real-time systems and communications. I specialize in the analysis of deterministic resource access methods.
My past work on analysis of heuristics has included research in resource scheduling, parallel scheduling, and periodic static-priority preemptive scheduling.
My professional implementation experiences includes a widely used TCP and SMTP for the IBM PC, device drivers for an early form of ethernet, CAD algorithms for building architecture, an AI frame system w/graphics for building architecture, approximately 15 CAI lessons on the PLATO system, a popular game (sorcery) on the PLATO system, and mail systems software.
Ellen Ho is working on a real-time implementation of the time-tested TCP protocol, in order to answer the following questions, (1) Can the TCP protocol be adapted to support real-time communication? In other words, can the multiple tasks, contexts, and timers of a typical TCP be structured to support a timing analysis? (2) Can precisely synchronized periodic processes be used to increase the speed of TCP over a traditional implementation?
I am implementing a serial real-time communications multiplex protocol, also known as RCMP. We designed this protocol to multiplex a channel with priority scheduling. Some of the things to be learned from this implementation are, (1) What sorts of control mechanisms are needed to handle transient overload correctly? We would like to be able to string together several RCMP's into a pipeline. If the middle RCMP overloads, the end-to-end communication may need to be lossless, so transmitters upstream must be blocked quickly. Also, (2) Can the protocols replace PPP? One reason to build this protocol is so that PPP users can prioritize the communication over a serial link. This allows them to give priority to interactive communications and to make file transfer a background communications process.
George Yue is working on an interrupt-level kernel (ILK) for the PC under the windows operating system. The goal is to retrofit Windows with high-performance real-time capabilities. Then we will implement a message-passing interface between ILK and Windows, so that a powerful user interface tool (such as visual basic) could serve as the front-end for the real-time system. Our objective is to make this tool available to students in the EE 474 class in the Fall of 1995.
Raymond Cheng and Mark Greenstreet have recently completed a worst-case analysis of the SCAN disk scheduling algorithm when applied to a hard real-time file system. A theorem of Cheng states that the worst-case performance of a disk drive in this setting can be easily measured with benchmarking software. Moreover, our calculations indicate that we can read or write 6 MPEG streams with the bandwidth of a typical disk drive. Raymond is writing software to measure and calibrate the file system from emperical data. Raymond or a future student will implement the buffering and access methods to complete the file system implementation.
The premise of this project is that your entire stereo system should eventually move into your computer. Shane Waskiewich, Ron Klopfer, Keith MacLaren, and Paul Chan have built a network radio service. The hardware for radio service consists of a walkman and an interface to a 68HC11 which is serially connected to a powermac computer. The software consists of a powermac radio server, a powermac client, and a UNIX client. The software allows radio broadcasts to be tuned and played on a workstation anywhere in the internet. We are working on reducing the jitter, on improving the signal quality, and on improving the design of the radio interface.
Brian Eng and Dan Tan are working on a talk program that works between power macs on the internet. We want to get some experience with designing high-speed real-time communications software. We are also hoping to use this as a testbed for new end-to-end synchronization ideas, and as a study vehicle for implementing novel communications topologies in a local area network.