This page describes the design, implementation and validation of a
focus aware, resource management system for distributed multimedia applications.
The software is currently available for the Windows 2000 platform
* Introduction
* Enviroment and General Description
* Demos - Photos/Videos
* Acknowledgement
* Publications
* Download (software and instructions)
Multimedia applications have evolved a lot over the last few years and
are now considered an integral part of any computing environment. Over the
past decade, great advances in technology - faster processors, cheap
memory, large bandwidth networks, digital cameras, etc. have all contributed
in producing new real time and distributed applications such as
Video Conferencing, Video-On-Demand, Audio/Video Surveillance, Streaming
of High Definition TV (HDTV) etc. The computing environment itself
has undergone a paradigm shift. No longer are computers all separate entities communicating
to each other through passive networks. Today we have Active Spaces
and Smart Rooms - ubiquitous computing,
a number of different devices connected by networks and working together
with the user. As Mark Weiser said, "The most profound technologies are
those that disappear. They weave themselves into the fabric of everyday
life until they are indistinguishable
from it." Multimedia applications must cater to
this environment. The hardware for this is already readily available,
we must design the software systems.
These multimedia application have certain requirements and certain common
properties. We need to design systems to allow these requirements to be
fulfilled and the conditions to be met. Some of these are resource guarantees,
such as CPU reservation and scheduling, Network reservation, resource
monitoring, etc. Multimedia applications need these guarantees to provide a QoS (Quality
of Service) that would be acceptable to the user. They cannot compete with
other Time-Sharing (TS) applications for resources. When we extend this
to a distributed scenario where there are many applications running on
many machines, together as a part of a system, the problem
is compounded.
We discuss a distributed architecture for multimedia
applications and present it through a Video-On-Demand (VoD) application
that is user focus aware and switches qualities based on this user
focus. This application is for use in an environment similar to
that of smart rooms and integrates soft-real time scheduling, distributed
monitoring, MPEG video streaming and distributed synchronization.
We describe this environment and the problem in a little more detail
in the next few sections.
As mentioned earlier, the environment is one of Active Spaces.
Operating Systems such as Gaia
bring together the functionality of an operating system to physical spaces.
In such an infrastructure, applications need to built that can be
used with heterogenous hardware. We consider smart room environments where there are multiple displays
connected to different machines. The machines are all connected by high
speed Local Area Networks (LANs). The room can recognize a person and determine what
display is being looked at, i.e. it can determine user focus. We consider
as a test application, for evaluating the user focus concept, a VoD
application. This application streams an MPEG video file from a server
to multiple client displays, each at a different quality.
The quality, measured in terms of frame rate, of each video depends on
which display the user is focused on. The display in focus gets high quality
video and the other displays receive lower frame rate video. As the user
switches his 1.1
focus in the room, so do the qualities of the video at the
displays change. Such a quality change involves a system reconfiguration
and resynchronization. Currently, we simulate focus change by providing the
user with a wireless remote to allow him to send focus change messages.
The Figure below illustrates the application scenario in a smart room
Some of the uses of such an application are
- Complete peripheral vision: A user views
the video at high quality on the display directly in front of him and at the
same time the video runs at lower qualities on his sides. When he switches
focus, the application adjusts qualities. We believe that such a system
would provide an interesting viewing experience.
- Simulation Environment: Another application is one in which
different videos (that have been previously shot at the same time - so are
synchronized in time) could be used. These different videos could be the
different views of an object, or different views from an object
such as a car or an aircraft. For example, the main video could be the view
from the windshield of a car and the lower quality videos could be the
views from the side windows. When the user wants to watch the side view, he
switches focus and gets to watch the side view in full quality and then later
he switches back to the main view.
New applications can be created by combining such a system with sound
or extending it to allow many videos to be displayed on the same machine.
We thus have a distributed system consisting of various components
that need to work in synchronization. The problem lies in providing
an architecture to build such distributed applications. We need to determine
what kind of requirements these type of applications have - identify and
satisfy these. A number of technologies need to work together and distributed
mechanisms are needed to monitor resources,
to adapt and re-configure the system in response to external messages
(such as focus change). In addition, the design must be able to allow the resulting
application to be used over a number of heterogenous machines.
Details on the design and implementation of the system can be found
in the publications.
Demos - Photos/Videos
Demo Video (60 MB). It requires a plugin to be played - we will change
the format and put up another one soon.
The Video demonstrates the application being run in the
Smart Room. We use
4 plasma displays - and switch focus between them. The focus display
runs at 30 frames per second and the others at 5. We also demonstrate
the user GUI used to change focus.
Photos Coming Soon !!
Acknowledgement
This research is funded by the DARPA grant F30602-97-2-0121,
and the NSF infrastructure grant EIA 99-72884 EQ.Any opinions,
findings, and conclusions or recommendations expressed in
this material are those of the author(s) and do not necessarily reflect the
views of the funding agencies. If you have questions or comments, send email to Diwakar Gupta or Klara Nahrstedt
Publications
M.S Thesis
Diwakar Gupta, [ps],[zipped ps]
Department of Computer Science, University of Illinois at
Urbana-Champaign, May 2002.
Contact Address:
Copyright @ 2002, Multimedia, Operating Systems and Networking Group,
University of Illinois at Urbana-Champagin.