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:
-
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.
-
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.
-
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.
-
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.
-
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:
-
provide operations of two following categories:
- reading actual values of attributes - state of the system component represented by the given item,
- changing values of attributes - these operations may involve also a call of suitable operations on the lower layers.
-
act as an event producer and sender to interested receivers - the push model of the events notification has been chosen. The message may be a result of internal or external event in the system.
-
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.