210 likes | 318 Vues
A framework for configurable multimedia distribution system handling video, audio, and animations efficiently. Discusses problems with existing streaming tech, previous work, reflector network, experiments, and solutions for reconfiguration and fault tolerance. It also explains reconfiguration agents, fault tolerance, and future work.
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