ECOOP'99 PhDOOS 1
A Framework for Dynamically Configurable Multimedia
Distribution
Fabio Kon and Roy H. Campbell
Department of Computer ScienceUniversity of Illinois at Urbana-Champaign
http://choices.cs.uiuc.edu
ECOOP'99 PhDOOS2
Introduction
Multimedia interfaces are becoming increasingly important.
Future systems will abandon dull interfaces based on text and still images.
Video, audio, and animations will prevail.TV and Radio broadcasting systems will
join the network.
ECOOP'99 PhDOOS3
Problems with Multimedia Streaming Technology
Existing MBone and unicast solutions do not provide good levels of
Control Flexibility Scalability Quality of Service Management
ECOOP'99 PhDOOS4
Previous Work
Object-Oriented Multimedia Distribution System in C++ [KCT+98].
Multimedia Reflectors work as relays.Network of Reflectors can be remotely:
reconfigured monitored
Decentralized administration.
ECOOP'99 PhDOOS5
A Reflector Network
ECOOP'99 PhDOOS6
The Multimedia Reflector
Applications: Live Multimedia Streaming Stored Content Streaming Audio/Videoconference
Multiple ChannelsMultiple Input and Output
connections
ECOOP'99 PhDOOS7
Data Distribution Protocols
C++ abstract class Connection: open(); close(); Bind(); Connect(); Send(); Receive();
Bandwidth Control
Subclasses: UDPConnection TCPConnection MulticastConnection
Most of Reflector’s code deals only with the abstract class.
ECOOP'99 PhDOOS8
Experimentation(First Round)
Live video from NASA’s Pathfinder Mission
3 months> 30 reflectors in 5 continents> 1 million video sessionsJava Applet decoding 24kbps of
H.263 video GSM audio
ECOOP'99 PhDOOS9
Problems Encountered
1. Code update:Bug fixes and new versions.
i. Manually FTP new code to host machineii. Telnet to host machine
a. Shutdown existing versionb. Start new version
Repeat this dozens of times
ECOOP'99 PhDOOS10
Problems Encountered
2. Dynamic Reconfiguration Channels, in/out connections, max # of
clients. Configuration information was kept in a
centralized location.A. Update the configuration database.B. Connect to each Reflector and instruct it
to download the new configuration. Tiresome and error prone.
ECOOP'99 PhDOOS11
Problems Encountered
3. Fault-ToleranceSupported with redundant streams
Extreme waste of bandwidth.
Solution: Use Infrastructure offered by
dynamicTAO, a dynamically configurable CORBA ORB.
ECOOP'99 PhDOOS12
Solution
Wrap the Reflector with a CORBA IDL interface.
dynamicTAO, CORBA ORB extended with a reconfiguration meta-interface to allow:1. Uploading executable code.2. Dynamically load components into the runtime.3. Change configuration parameters of applications.4. Modify internal structure of component-based apps.
ECOOP'99 PhDOOS13
Reconfiguration Agents
SysAdmins use a GUI to build agents for reconfiguration inspection
GUI is used to1. Build distribution
graph2. Select reconfiguration
and inspection commands
3. Visualize results.
ECOOP'99 PhDOOS14
Reconfiguration Agents
Code uploading example:
upload_impl Connection UDPCon
load_impl Connection UDPCon
hook_impl >Connection Reflector UDPConnection
Reconfiguration example:
configure_impl Reflector “MAX_NUM_CLIENTS=200”
ECOOP'99 PhDOOS15
Fault-Tolerance
Goal: maximize availability without relying on redundant data transmission.
Solution: The Reflector maintains a list of alternate
inputs for each of its channels. If a Reflector dies, first it tries to inform its
neighbors. Input silent for too long switch to another
one.
ECOOP'99 PhDOOS16
Representing Inter-Component Dependence
ComponentConfigurator frameworkImplementations in C++, Java, and CORBA
ECOOP'99 PhDOOS17
Implementation StatusCompleted
Non-CORBA version of the Reflector dynamicTAO and infrastructure for
reconfiguration agentsWorking on
CORBA wrapper for the Reflector Breaking Reflector code into
dynamically loadable components Fault-tolerance with the help of the ComponentConfigurator Framework
ECOOP'99 PhDOOS18
Future Work
Automatic Management of data flows to minimize user delays optimize network utilization support load balancing
Integrate with CORBA Naming and Trading Services
ECOOP'99 PhDOOS19
Related Work
White Pine’s Multipoint Control Unit for Meeting Point (proprietary protocols for reconfiguration, no code updates).
Our system can be seen as an extension to the idea of the MBone, or a set of tools for managing MBone
broadcasts.
ECOOP'99 PhDOOS20
Conclusions
Internet Multimedia Distribution Systems will replace existing Radio and TV networks.
But first, they must provide high levels of flexibility, configurability, and scalability.
Our design builds on OO Frameworks, CORBA, mobile agents, and dependence representation.
Not limited to Multimedia.These methods can be applied in any large,
distributed component-based system.
ECOOP'99 PhDOOS21
For More Information...
dynamicTAO web site:
http://choices.cs.uiuc.edu/2K/dynamicTAO
ComponentConfigurator source code and documentation:http://choices.cs.uiuc.edu/2K/ComponentConfigurator
E-Mail: [email protected]