1 / 94

Open Distributed Processing and Multimedia

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

alsatia
Download Presentation

Open Distributed Processing and Multimedia

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Open Distributed Processing and Multimedia

  2. 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

  3. 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

  4. 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:

  5. 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

  6. 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

  7. The Challenge of Multimedia • Support for continuous media • Quality of service management • Real-time synchronisation • Multiparty communication

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. Extensions for Multimedia • Signal interfaces • Production and consumption of real-time events • Access events associated with operational or stream interactions • IDL extension

  16. 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)

  17. 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

  18. 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

  19. 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

  20. 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

  21. An example: A QoS managed binding (cont)

  22. An example: A QoS managed binding (cont)

  23. An example: A QoS managed binding (cont)

  24. An example: A QoS managed binding (cont)

  25. Engineering Support for Multimedia

  26. Stub Stub Binder Binder Protocol Object Protocol Object Interceptor Channel The RM-ODP Engineering Model • Communication Model

  27. 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

  28. Local bindings between adjacent interfaces Stub Stub Recursive Model of Bindings Stub Stub Decompressor Decompressor primitive binding

  29. 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

  30. A1 A2 AI1 AI2 BI1 BI2 ctrl BF.bind(AI1, AI2) Abstract Binding Protocol (cont) Binding factory C

  31. A1 A2 AI1 AI2 AI2.localBind(BI2) BI1 BI2 ctrl Abstract Binding Protocol (cont) Binding factory C

  32. A1 A2 AI1 AI2 BI1 BI2 ctrl return ctrl Abstract Binding Protocol (cont) Binding factory C

  33. 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.

  34. 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.

  35. 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

  36. 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

  37. 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

  38. 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

  39. 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

  40. Technological Viewpoint A Technology Approach based on Microkernels

  41. 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

  42. 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

  43. The nucleus programming abstractions Message ports thread actor Site communication medium

  44. 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

  45. 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

  46. Sumo-CORE: A specialized microkernel-based OS for multimedia

  47. 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

  48. 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

  49. 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

  50. Application Control Binding Consumer Producer Audio stream Binding Example

More Related