middleware for multimedia...definition language (fidl) so the components can understand them. if...
TRANSCRIPT
![Page 1: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/1.jpg)
Middleware for multimedia
INF5040 - Group 1 Paul Beskow, Sverre Krohn Tennøe, Øyvind Berg
1
![Page 2: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/2.jpg)
Agenda
Motivation and backgroundGoalsKey conceptsMULTE and ADAPTConclusion
2
![Page 3: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/3.jpg)
background
Middleware support for?Continuous streaming of multimediaVariations in:
ConnectivityClient resources
Quality of Service (QoS)Hidden implementation (“Black Boxes”)
3
![Page 4: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/4.jpg)
Goals for multimedia middleware
Middleware that can adapt to the dynamic properties of streaming media
Support heterogeneous clients
Provide Quality of Service
And be able to renegotiate if necessary
Provide best quality, not incremental quality
4
![Page 5: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/5.jpg)
The black box
No need to worry not dangerous.. We think
No control over implementation..
5
![Page 6: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/6.jpg)
HIDDEN or OPEN?
Middleware provides useful abstraction
We need to be able to see and influence the implementation
This is not easily accomplished with current middleware.. If possible at all
As such, a new model is necessary
6
![Page 7: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/7.jpg)
Key concepts
ReflectionIntrospectionAdaption
Open Bindings
Object Request Broker
Quality of Service
7
![Page 8: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/8.jpg)
Reflection
Perform computation about one-self
Structural
Behavioural
Suddenly not a black box - white box?
8
![Page 9: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/9.jpg)
Open bindings
9
![Page 10: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/10.jpg)
Open bindings
Is a composite distributed object
Consists of several components
Components
Protocols
Codecs
QoS monitors
…
Dynamic - components can be added, removed or changed at any time
10
![Page 11: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/11.jpg)
Object Request broker
Enables remote objects
Manages communication
Serializing / De-serializing
Locates remote object
Activates remote object (if necessary)
Implementation details commonly hidden
Basis of Common Object Request Broker Architecture-CORBA
11
![Page 12: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/12.jpg)
Quality of service
A mechanism to provide different priorities to different users or data flows
Also to guarantee a certain level of performance
Affected by various factors, which can be divided into "human" and "technical" factors.
Human factors include: stability of service, availability of service, delays, user information.
Technical factors include: reliability, scalability, effectiveness, maintainability, Grade of Service, etc
12
![Page 13: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/13.jpg)
ADAPT
Almost the same goals and approach as MULTE.
Not as flexible signalling facilities as MULTE
13
![Page 14: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/14.jpg)
Goals for multe:
General goal: Flexible protocol support for multimedia applications.
Selection of optimal protocol configuration.
Support for system evolution (Integration of new components should not require changes)
Enhanced interoperable stream multicast for heterogeneous environments
14
![Page 15: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/15.jpg)
Approach for MULTE-ORB
An ORB based on the CORBA 2.0 implementation COOL.
Da CaPo integrated in the ORB. (Dynamic Configuration of Protocols, to be described shortly...)
Two ways for the application to communicate with the middleware:
Management toolkit
Data protocol
15
![Page 16: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/16.jpg)
“Dynamic Configuration of Protocols” - Da CaPo
Used as transport protocol in the MULTE-ORB.
Runtime negotiation of minimal protocols for given QoS requirements
The implementation of a protocol function corresponds to a component in the binding framework.
16
![Page 17: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/17.jpg)
ADAPT/MULTE architecture
17
![Page 18: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/18.jpg)
Bindings - extra functionality:
QoS requirements are specified through a flow interface definition language (FIDL) so the components can understand them.
If two participants in a binding do not support common behavior, certain media gateways may be inserted into the binding to work around it.
Users are able to control the behavior of components via their own policies.
18
![Page 19: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/19.jpg)
Interaction model
Offers support for interfaces with different semantics:
Operational interfaces:
Basically a remote method invocation like RPC and RMI
Stream interfaces:
Continuous stream of data between a producer and a consumer
Signal interfaces
Real-time events
19
![Page 20: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/20.jpg)
signalling
Term for real-time control events in the system
Signals are for instance breach of the QoS contract, resource reservation, QoS negotiation, admission control, binding management, etc.
A flexible signalling facility needs separation between the signal processing itself and the policy describing what action to be taken.
20
![Page 21: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/21.jpg)
The management toolkit
Handles the signals
Manipulates the components in the bindings in order to accommodate the policy
Designed to integrate new signalling and management policies.
Not available in ADAPT, which uses simpler and less flexible signal management
21
![Page 22: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/22.jpg)
The QUA approach
Problem with MULTE:
Application developers need to know a lot about QoS and architectures.
Maybe total control is not what we want after all?
Mirror-based reflection
22
![Page 23: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/23.jpg)
SERVICE MIRROR
23
![Page 24: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/24.jpg)
24
![Page 25: Middleware for multimedia...definition language (FIDL) so the components can understand them. If two participants in a binding do not support common behavior, certain media gateways](https://reader033.vdocuments.us/reader033/viewer/2022052814/609f78f4a8eb160dc805335e/html5/thumbnails/25.jpg)
Conclusions
Very complex solutions.
Alternatives?
Network-Integrated Multimedia Middleware (NMM)
Scalable Video Coding (SVC) + packet filtering
...
25