![Page 1: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/1.jpg)
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
![Page 2: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/2.jpg)
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.
![Page 3: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/3.jpg)
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
![Page 4: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/4.jpg)
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.
![Page 5: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/5.jpg)
ECOOP'99 PhDOOS5
A Reflector Network
![Page 6: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/6.jpg)
ECOOP'99 PhDOOS6
The Multimedia Reflector
Applications: Live Multimedia Streaming Stored Content Streaming Audio/Videoconference
Multiple ChannelsMultiple Input and Output
connections
![Page 7: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/7.jpg)
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.
![Page 8: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/8.jpg)
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
![Page 9: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/9.jpg)
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
![Page 10: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/10.jpg)
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.
![Page 11: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/11.jpg)
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.
![Page 12: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/12.jpg)
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.
![Page 13: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/13.jpg)
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.
![Page 14: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/14.jpg)
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”
![Page 15: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/15.jpg)
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.
![Page 16: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/16.jpg)
ECOOP'99 PhDOOS16
Representing Inter-Component Dependence
ComponentConfigurator frameworkImplementations in C++, Java, and CORBA
![Page 17: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/17.jpg)
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
![Page 18: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/18.jpg)
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
![Page 19: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/19.jpg)
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.
![Page 20: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/20.jpg)
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.
![Page 21: A Framework for Dynamically Configurable Multimedia Distribution](https://reader036.vdocuments.site/reader036/viewer/2022062520/5681599f550346895dc6ec54/html5/thumbnails/21.jpg)
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]