Djinn is a framework consisting of a programming environment and system architecture for distributed multimedia applications. We focus on groupware applications in particular, for which multimedia data, especially audio and video communication, are normally considered essential. These applications provide significant challenges in the areas of program design and distributed system support. This is due to their complex construction and because their demands on system resources vary at run-time. Users join and leave applications while they run, and the system load imposed by the applications also varies in response to user actions. For example, students may join and leave an electronic forum for studying by distance-learning, which involves changes in the audio and video communication structure. The requirement to accommodate the dynamic reconfigurability of the media streams in these applications demands an investigation into the modularity, reconfigurability and re-usability of their construction, and into the system for admission control and application instantiation and management that underlies them.
The target system model for which we are developing the
framework is shown in the figure on the left. This is a real-time
distributed system in which users take part in both scheduled and
unscheduled groupware sessions. The figure shows two groupware sessions
involving audio and video; one participant consults with a colleague
during a lecture and so is a member of both sessions. Users join and
leave the sessions as they run. Our admission control architecture
assumes that computers run operating systems that provide real-time
guarantees with respect to processor, memory and network utilisation.
The main requirements that we are addressing are:
Currently, we have a prototype implementation of a generic component class library and simple runtime environment, entirely written in Java. The runtime system supports static configuration of distributed applications, admission control and basic dynamic configuration. We have used the framework to build a number of simple point-to-point and multicast conferencing applications, running on a heterogeneous hardware platform of UNIX workstations and Windows PC's. Research is continuing on a model-based architecture for configuration and quality-of-service (QoS) management.