middleware for multimedia...definition language (fidl) so the components can understand them. if...

25
Middleware for multimedia INF5040 - Group 1 Paul Beskow, Sverre Krohn Tennøe, Øyvind Berg 1

Upload: others

Post on 01-Jan-2021

5 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

“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

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

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

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

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

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

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

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

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

Conclusions

Very complex solutions.

Alternatives?

Network-Integrated Multimedia Middleware (NMM)

Scalable Video Coding (SVC) + packet filtering

...

25