210 likes | 312 Views
A Framework for Dynamically Configurable Multimedia Distribution. Fabio Kon and Roy H. Campbell Department of Computer Science University of Illinois at Urbana-Champaign http://choices.cs.uiuc.edu. Introduction. Multimedia interfaces are becoming increasingly important.
E N D
A Framework for Dynamically Configurable Multimedia Distribution Fabio Kon and Roy H. Campbell Department of Computer Science University of Illinois at Urbana-Champaign http://choices.cs.uiuc.edu ECOOP'99 PhDOOS
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 PhDOOS
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 PhDOOS
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 PhDOOS
A Reflector Network ECOOP'99 PhDOOS
The Multimedia Reflector • Applications: • Live Multimedia Streaming • Stored Content Streaming • Audio/Videoconference • Multiple Channels • Multiple Input and Output connections ECOOP'99 PhDOOS
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. Data Distribution Protocols ECOOP'99 PhDOOS
Experimentation(First Round) • Live video from NASA’s Pathfinder Mission • 3 months • > 30 reflectors in 5 continents • > 1 million video sessions • Java Applet decoding 24kbps of • H.263 video • GSM audio ECOOP'99 PhDOOS
Problems Encountered 1. Code update: • Bug fixes and new versions. i. Manually FTP new code to host machine ii. Telnet to host machine a. Shutdown existing version b. Start new version • Repeat this dozens of times ECOOP'99 PhDOOS
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 PhDOOS
Problems Encountered 3. Fault-Tolerance • Supported with redundant streams Extreme waste of bandwidth. • Solution: • Use Infrastructure offered by dynamicTAO, a dynamically configurable CORBA ORB. ECOOP'99 PhDOOS
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 PhDOOS
Reconfiguration Agents • SysAdmins use a GUI to build agents for • reconfiguration • inspection • GUI is used to 1. Build distribution graph 2. Select reconfiguration and inspection commands 3. Visualize results. ECOOP'99 PhDOOS
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 PhDOOS
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 PhDOOS
Representing Inter-Component Dependence • ComponentConfigurator framework • Implementations in C++, Java, and CORBA ECOOP'99 PhDOOS
Implementation Status • Completed • Non-CORBA version of the Reflector • dynamicTAO and infrastructure for reconfiguration agents • Working on • CORBA wrapper for the Reflector • Breaking Reflector code into dynamically loadable components • Fault-tolerance with the help of the ComponentConfigurator Framework ECOOP'99 PhDOOS
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 PhDOOS
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 PhDOOS
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 PhDOOS
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: f-kon@cs.uiuc.edu ECOOP'99 PhDOOS