Multimedia Framework (MMF) Architecture

MMFramework is an open multimedia framework which may be used for dynamic creation of various multimedia applications and which could be extended by new multimedia devices. The proposed framework's architecture consists of six layers. Its definition results from decomposition of the system into components with well-defined interfaces and internal implementation dedicated to the given hardware usage or applied policy of the system control and management. Each layer consists of a collection of components which are characterized by similar functionality. The structure and goals of the layers are the following:
  1. The first layer called MMHardware and System Software Layer consists of multimedia hardware and software provided by vendors. This layer is represented by a wide spectrum of devices such as: video cameras, computers, audio/video encoders/compressors, media servers, etc. These devices are usually equipped with proprietary control software.
  2. The second layer - MMHardware CORBA Server Layer packs up the vendor-provided software by CORBA interfaces. This layer introduces a uniform abstraction defined by an interface specified in IDL and standard communication mechanisms provided by the IIOP protocol. The IDL interfaces defined in this layer support all operations provided by the native software. The main goal of introduction of this layer is to establish a common base for the system development.
  3. The third layer - A/V Streams Control Layer is dedicated to multimedia streams creation, control, and destruction. This layer implements the OMG specification and provides software objects which expose functionality of the lower layer CORBA servers in standard form most suitable for audio and video streams control. It provides an abstraction of a stream encapsulated in the form of a CORBA object which represents its parameters and control operations. This layer provides also mechanisms for streams parameters negotiation between source and destination multimedia devices and provides streams addressing and QoS control.
  4. The fourth layer - Presentation Layer resolves the problem of different data types used for the parameters of multimedia devices and streams representation. The main goal of this layer is to translate the parameters types from their actual values to CDF (Common Data Format). This format is used above the Presentation Layer to simplify presentation of the system's state and to provide a uniform view of the system components for control and visualisation purposes. This layer supports users with a powerful mechanism of forms that makes system configuration simple and less susceptible to errors. In the case of connection configuration the form presents only the set of parameters that are acceptable for the source and destination of the multimedia stream. The construction of such a form is a result of a negotiation process between the multimedia devices performed by A/V Streams Control Layer. Entities of the Presentation Layer are presentation serves associated with given multimedia devices or connections defined by the lower layer.
  5. The Management and Access Control Layer provides a uniform view of the MMF components' state and a set of functions for their manipulation and accessing (e.g involving security or providing statistics). Each component which is an object with its own interface and notification mechanism represents the state of a single connection or a device. The items from the repository provide the following general functionality:
  6. A top layer of the MMF architecture is called Application Layer. The entities of this layer are collection of user interfaces that provide access to control and visualisation of the system state in the most convenient(usually graphical) form. The objects defined on this level act as observers of the system components and combine them in the given application scenario. They may also perform the MMF clients' role actively changing the system's state by operations invocations on the devices and connections abstraction provided by the lower layer.
MMFramework has been constructed taking into account the distributed system scalability. The conventional request/reply synchronous client-server paradigm has been replaced, where appropriate, with efficient event-driven asynchronous communication. The publish/subscribe patterns are widely applied with unicast and reliable multicast communication protocols when a device state or property changes have to be reported to a group of clients. This style of information dissemination and event notification has been implemented with the support of CORBA Event Service and Notification Services. Resulting MMFramework has been structured as collection of observable distributed objects what is the characteristic feature of the proposed architecture.

The novel aspect of MMFramework is the definition of mobile multimedia devices. The background of this study originates from location-aware computational systems such as Active Badge next generation (ABng). This system is a CORBA-compliant implementation of the Active Badge System developed at Olivetti & Oracle Research Laboratory (ORL). ABng allows to locate people and equipment within a building determining the location of their Active Badges. These small devices worn by personnel and attached to equipment periodically transmit infra-red signals detected by sensors which are installed in the building. Hence, video or audio stream may be attached logically to a locatable user and follow him.

MMFramework has been also equipped with integrated graphical interfaces built in Java that represent in a compact, user-friendly form configuration, state and control of complex distributed systems. The system exploits Java Applets communicating via IIOP protocol with suitable CORBA servers of the framework. The graphical elements of these interfaces may by connected in run-time to call-back functions which generate suitable events or perform control activity. A lot of effort has been put into invention of a uniform graphical form of the system components' representation for the global system state visualization.

The system has been designed with existing CORBA Services and OMG specifications related to multimedia applications in mind. The multimedia streams control has been implemented based on an OMG document using own implementation of the specification. The system has been integrated using Name Service. The multimedia devices and streams are characterized by a large number of parameters what justified the Property Service usage.