• 940 likes • 1.13k Views
Open Distributed Processing and Multimedia. Open Distributed Processing. Enable interaction with services from anywhere in the distributed environment without concern for the underlying heterogeneous environment (hardware, platform, language, management policies) Openness
E N D
Open Distributed Processing Enable interaction with services from anywhere in the distributed environment without concern for the underlying heterogeneous environment (hardware, platform, language, management policies) • Openness • An open system guarantees conformance to standardized interface definitions • A closed system exhibits private of proprietary interfaces • It’s all about “Interoperability” and “Portability” • Support different levels of openness
Open Distributed Processing • Standards follow the Object Oriented Approach • ISO/ITU Reference Model for Open Distributed Processing (ODP) • http://www.iso.ch:8000/RM-ODP • Meta-standards with different view points • Enterprise Viewpoint • Information Viewpoint • Computational Viewpoint • Engineering Viewpoint • Technical Viewpoint
interface object binding environmental contract composite object • Requirements on distributed infrastructure. • Quality of Service annotations RM-ODP Computation model • Computational Viewpoint • addresses logical partition of distributed applications • Basic RM-ODP programming model:
The RM-ODP Engineering Model • considers the distributed infrastructure to support applications • consists of • Model of virtual machine • provides building blocks for the application developer • defines a resource model • Model of a communication infrastructure
The RM-ODP Technological Viewpoint • Identification, procurement and installations of appropriate software and hardware technologies • Hardware devices • Operating Systems • Threads • low-level communication protocols • Infrastructure middleware, protocol stacks • Distribution middleware • Common middleware services • Domain-specific services
The Challenge of Multimedia • Support for continuous media • Quality of service management • Real-time synchronisation • Multiparty communication
Quality of Service • RM-ODP Computational model = Asynchronous Object Model • all objects take an unpredictable amount of time to carry out actions • QoS annotations place constraints on this asynchronous behavior
Quality of Service Languages • QoS categories: timeliness, volume, reliability,… • Per category: QoS dimensions • Timeliness: latency (ms), jitter (ms) • Volume: throughput (number of elements/s) • Reliability: MTBF, MTTR, permitted percentage of media frames • Expressing QoS requirements • Deterministically, using probabilities, stochastic distribution • Class of Commitment: Best-effort or absolute guarantees • Relative priorities for the different dimensions
Strong relationships requirements on choosen technologies Technology Viewpoint Engineering Viewpoint Buffer, Scheduling, communication policies Computational viewpoint end-to-end QoS requirements Information viewpoint Quality of information Enterprise viewpoint Business Goals/Success Factors QoS and viewpoints • The RM-ODP Viewpoints provide different perspectives on the Quality of Service in a system • A specific QoS language for each audience • Strong relationships between different viewpoints • Border between viewpoints becomes fluid
QoS Management Functions • Static QoS Management Functions • Specification of QoS Contract • QoS negotiation • Reach agreement on QoS contract … • Between objects in the contract and the associated dependencies • Ensuring that the required level of commitment is obtained • Admission Control for different resources: network, processor, memory • Resource reservation
QoS Management Functions (cont) • Dynamic QoS Management Functions • Run-time monitoring • Call backs to higher level when QoS fluctuates • QoS policing/regulating • Constraining the behavior of objects to comply to the QoS contract • QoS maintenance • Take internal actions to recover from drop in QoS • E.g. ask more resources • QoS renegotiation of contract • In case of serious violation against QoS contract
Extensions to the RM-ODP Programming Model • Additional styles of interface • Stream and signal interfaces • QoS annotations on interfaces • A contractual approach • Explicit binding • Key to static and dynamic QoS management
Extensions for MultiMedia • Two additional styles of interfaces • Stream interfaces • Production and consumption of one or more flows of continuous media type • IDL extension producer consumer
Extensions for Multimedia • Signal interfaces • Production and consumption of real-time events • Access events associated with operational or stream interactions • IDL extension
QoS contracts • QoS dependencies between • the object offering a service (e.g. video on demand server) • one or more objects supporting this service (e.g. video storage server, stream connection to client) • This relation must be specified in a QoS contract • QoS contract specified as part of environmental contract of template • Prov(A) = QoS provided by A to the environment • Req(A) = QoS required by A from other objects and distributed infrastructure (dependencies) • Invariant = Req(A) -> Prov(A)
Explicit Binding • Explicit binding • Binding as RM-ODP object: • Binding is created by factory objects • Placeholder for static QoS management • Bindings can have control interfaces for Dynamic QoS management • Bindings encapsulate arbitrary behavior • Implement different levels of QoS management • Implement different engineering styles e.g point-to-point vs. multiparty, lip synchronization, compression techniques
Introducing Reactive Objects • What are reactive objects? • Real-time controllers which maintain a permanent interaction with their environment • Must also adhere to the synchrony hypothesis • Why reactive objects? • Real-time synchronisation • Dynamic QoS management functions • QoS managers cannot take an unpredictable amount of time to carry out actions
R An example: A QoS managed binding • QoS Manager (implemented as reactive object) • Monitor the video stream binding • An average latency of 50 ms • A maximum delay jitter of 10 ms • A throughput of at least 25 frames per second Reactive object video camera Video Window
R static QoS management Binding Factory Control interface for dynamic QoS management An example: A QoS managed binding (cont) Real-time QoS monitor Video Window video camera
Stub Stub Binder Binder Protocol Object Protocol Object Interceptor Channel The RM-ODP Engineering Model • Communication Model
Extensions to Communication Model • Use object model from computational view • Engineering objects are first-class entities with interfaces, types and factories for creating them • Bindings objects = arbitrary object configuration • Border with computational model becomes more fluid • A generalised binding model • Recursive model of binding objects • Supported by open/ extensible set of factories
Local bindings between adjacent interfaces Stub Stub Recursive Model of Bindings Stub Stub Decompressor Decompressor primitive binding
Abstract Binding Protocol • User requirements for explicit binding • Flexibility • Client-initiated, server-initiated and third-party binding • Enable implicit bindings • Technical requirement • localBind(Binding) operation • Sets up the local binding between a participating interface and the binding • Supported by the underlying nucleus and operating system • Binding Factories • Creates a particular class of binding objects
A1 A2 AI1 AI2 BI1 BI2 ctrl BF.bind(AI1, AI2) Abstract Binding Protocol (cont) Binding factory C
A1 A2 AI1 AI2 AI2.localBind(BI2) BI1 BI2 ctrl Abstract Binding Protocol (cont) Binding factory C
A1 A2 AI1 AI2 BI1 BI2 ctrl return ctrl Abstract Binding Protocol (cont) Binding factory C
Requirements Revisited • Flexibility • Clear separation between • Generic binding protocol • Arbitrary functionality encapsulated in various binding factories • Application-specific bindings can be constructed • Third-party binding is naturally supported • Client-initiated and server-initiated are special cases • Implicit Binding • Default binding factories invoked by the middleware infrastructure.
Support for QoS Management • Requirements • QoS management for bindings must be end-to-end • Integrated resource management: communication, cpu and memory • Support for static QoS management in interpreting QoS specifications • Support for dynamic QoS management on engineering objects • Also relevant in computational viewpoint • QoS management for all engineering objects • Not only for binding objects • But also for non-functional services such as replication, transaction service, storage service, etc.
Capsule cluster Nucleus Infrastructure for Resource Management • The RM-ODP Engineering Model of a Virtual Machine • provides building blocks for the application developer • Defines an abstract resource model • Extension for QoS management • QoS-driven allocation of resources node
QoS-driven allocation of resources Capsule Mapping to physical resources Nucleus Infrastructure for Resource Management • Resource Allocation (capsule management) • Each capsule has access to virtual resources via interface • Resource request with appropriate QoS parameters • Each capsule allocates virtual resources based on a local policy (split-level management) • Resource Multiplexing (node management) • Multiplexing virtual resources on to the physical resources
QoS management • Static QoS management • Encapsulated by special binding factories • Translation from QoS computational specs to resource allocation • End-to-end activity • all resource components in the engineering infrastructure must be involved • different combinations of negotiation, admission and resource reservation • Depends on type of resource • Depends on type of QoS requirement • Dynamic QoS management • Bindings are dynamically managed via control interfaces
Example: Multi-party video bindingComputational configuration video display device video display device video camera video display device Environmental contract • QoS contracts • Two high performance multiservice network and one low-performance mobile network
Stub Stub Stub Stub Filter QoS Monitor QoS Monitor QoS Monitor primitive video binding primitive video binding primitive video binding Example: Multiparty video bindingEngineering Configuration video display device video camera video display device video display device
Technological Viewpoint A Technology Approach based on Microkernels
A Technology Approach based on Microkernels • Observation (1998) • Lack of end system technologies (operating systems, ORBs) that support multimedia applications • Requirements for operating systems • Predictable real-time behaviour • Minimise domain crossings/ system calls/ copies • Coping with variety • Dealing gracefully with overload Solution based on microkernels
One subsystem implements: • particular OS personality, ORB, service • Particular scheduling policy R2 Q2 P1 Q1 P2 Lib. Lib. Lib. Lib. Lib. Subsystem I/F Subsystem I/F Coexistence of multiple scheduling policies Subsystem n Subsystem 1 Chorus MicroKernel Application programs System services and libraries …. Nucleus interface Genetic nucleus • Basic but complete OS support • policy-free Chorus nucleus
The nucleus programming abstractions Message ports thread actor Site communication medium
RM-ODP application UNIX application • Recursive binding model • Abstract binding protocol • A range of binding factories for signal, stream and operational QoS bindings • Binding factories should encapsulate QoS management • Control interfaces for dynamic QoS management Library Library ODP I/F ODP subsystem • QoS driven resource allocation • Integrated resource management • coexistence of scheduling strategies • Graceful overload of admission control • a set of primitive QoS-driven bindings UNIX personality Nucleus interface Extended Chorus nucleus Extensions for Multimedia
Two Implementations • Sumo-CORE • Provide specialized real-time support for multimedia applications in a micro-kernel environment • Focus = end-to-end resource and QoS management • Sumo-ORB • Provide an ODP environment for telecommunication services and applications • Extends CORBA • According to RM-ODP communication and engineering models • Operates over an FDDI network which offers deterministic guarantees on the underlying QoS
Sumo-CORE: A specialized microkernel-based OS for multimedia
QoS driven resource allocation • rt_port rt_portCreate(localHost) • Support explicit binding with specified QoS • Application programmers have direct access to port buffers • rt_thread rt_threadCreate(SchedParamStruct) • Real-time light weight threads • SchedParamStruct • Deadline based threads • Priority-based threads
send receive Passive binding Upcall to produce Upcall to consume Active binding Explicit QoS managed binding between rt_ports • ctrl rt_portBind (rtport* producer, consumer; BindingType service, QoSVector qoSParameter); • Bindings are active • Integrated QoS management • Effective programming model • Implementation features separation of control and data
Rt_handlers • Application-level C functions • Attached to rt_ports • Rt_portAttachRT_handler(rtport* p; rt_handler f; Time* cputime) • Rt_handlers implement an EventListener interface • Listening for upcalls from the active binding • Different event types • Production, consumption of data • QoS violation
Application Control Binding Consumer Producer Audio stream Binding Example