MPEG doc#: N8687
Date: October 2006
Authors: Martin Russ (BT), Johan Muskens & Jean Gelissen (Philips)
MPEG, a working group in ISO/IEC, has produced many important international standards (for example: MPEG-1, MPEG-2, MPEG-4, MPEG-7, and MPEG-21). One of the next steps in this process is the standardization of an Application Programming Interface (API) for Multimedia Middleware (M3W) allowing application software to execute multimedia functions with a minimum knowledge of the inner workings of the multimedia middleware as well as to support a structured way of updating, upgrading and / or extending the multimedia middleware .
The standard that describes an MPEG Multimedia Middleware (M3W) system is formally referred to as ISO/IEC 23004 . It has the general title Information Technology — Multimedia Middleware, and consists of the following parts:
· Part 1: Architecture ISO/IEC 23004-1
· Part 2: Multimedia API: ISO/IEC 23004-2
· Part 3: Component Model ISO/IEC 23004-3
· Part 4: Resource and Quality Management ISO/IEC 23004-4
· Part 5: Component Download ISO/IEC 23004-5
· Part 6: Fault Management ISO/IEC 23004-6
· Part 7: System Integrity Management ISO/IEC 23004-7
· Part 8: Reference software ISO/IEC 23004-8
This white paper provides an overview of the M3W Architecture (Part 1 of the standard), there are 6 additional white papers describing the Parts 2 – 7 of the standard. Part 8 represents the reference software that allows implementers to experiment with the standardized functional and non-functional M3W interfaces and also provides sample applications illustrating the provided functionalities.
In an M3W system there are 3 distinct layers:
Applications: The type of applications will depend on the appliance.
Middleware layer: This layer consists of M3W and other middleware. M3W can be separated into two parts
- Functional part: This provides the applications and other middleware with a multimedia platform. (‘Functional’ is used here to indicate that multimedia ‘functionality’ is being provided.)
- Extra-functional part: This provides a means to manage the lifetime of, and interaction with, realization entities. Furthermore this enables management of extra-functional (‘support’) properties, e.g. resource management, fault management and integrity management;
Computing platform: The platform will depend on the appliance. The API of the computing platform is outside of the scope of M3W. Different realizations of M3W for different platforms will use different API's for these platforms.
The layers mentioned above are not strict in the sense that applications and other middleware cannot use the computing platform directly. However, the latter is not recommended. The software structure of an M3W system is shown infigure 1.
Figure 1. The software structure of an M3W system.
The scope of this standard is limited to the specification of the M3W API and the specification of the realization technology for M3W. In figure 1, this means the L-shaped yellow part and its interfaces depicted by the green line.
The functional part of the M3W API, mentioned above as the Multimedia Platform, is specified in M3W Part 2 (ISO/IEC 23004-2). The non-functional parts, mentioned above as the Support Platform, as well as the specification of the realization technology, are specified in M3W Parts 3, 4, 5, 6, and 7 (ISO/IEC 23004-3, ISO/IEC 23004-4, ISO/IEC 23004-5, ISO/IEC 23004-6 and ISO/IEC 23004-7).
The core of M3W is the component model and core framework that provides the run-time-environment being responsible for, amongst others, the life cycle management, interoperability support and communication including remote method invocation. The core framework can be extended with a number of optional frameworks (illustrated in figure 2):
Resource Management: enabling the optimisation of the (perceived) Quality of Service for the user of the appliance. In practice this will usually mean the optimisation of the Quality of Service delivered by the functional part;
- Download: enabling the transfer (download as well as upload) and management of new components to permanent storage of an M3W system;
- Integrity Management: enabling the maintenance of a consistent software configuration for M3W. M3W systems have the ability to download and remove components, and also to register and un-register executable components. The Integrity Management framework enables the verification of the consistency of the current configuration, and when necessary, it can adapt the configuration in order to make the configuration consistent;
- Fault Management: enabling the transparent insertion of fault tolerance mechanisms in order to increase the dependability of an M3W system. In this context, ‘transparent’ means transparent for developers of M3W services (ISO/IEC 23004-3) as well as for the clients of these services
Please note that these optional frameworks are described in more detail in the M3W white papers on the respective subjects.
Figure 2. M3W frameworks.
M3W API is intended to be a generic API. The M3W API can be suitable for use in multiple products with different capabilities. Examples could include an analogue television product family, a digital television product family, and a digital set-top box product family. These various families and products have significant overlap in the functionality they require from the platform, but there are also differences (e.g. some require an analogue video decoder, others do not). Supporting multiple products with different capabilities requires variation in the API; a single fixed API will not do. M3W provides flexibility in components, roles, inner objects, and realization. This diversity means that M3W can provide ease of use and broad compatibility.
 The Multimedia Middleware (M3W) requirements are in the annex to the Multimedia Middleware (M3W) Requirements Document Version 2.0 (ISO/IEC JTC1/SC29/WG11 N6981). A Call for Proposals derived from these requirements was issued at the 70th MPEG Meeting in Palma, Mallorca
 ISO/IEC 23004, Information Technology — Multimedia Middleware, The M3W standard.