1 / 21

infop.lancs.ac.uk/msc/ads/index.htm

MSc Course in Advanced Distributed Systems Session 3.1a: QoS-aware Middleware: the Challenge of Multimedia. http://info.comp.lancs.ac.uk/msc/ads/index.htm. The Challenge of Multimedia. Overview of lecture

lani
Download Presentation

infop.lancs.ac.uk/msc/ads/index.htm

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. MSc Course in Advanced Distributed SystemsSession 3.1a: QoS-aware Middleware: the Challenge of Multimedia http://info.comp.lancs.ac.uk/msc/ads/index.htm

  2. The Challenge of Multimedia • Overview of lecture • Requirements of multimedia in middleware; approaches to the support of multimedia in middleware; case study: Sumo and RM-ODP • Requirements of real-time; real-time middleware; case study: RT CORBA • Additional reading • Blair and Stefani, esp. chapters 1, 3 and 4 (http://info.comp.lancs.ac.uk/msc/ads/BlairandStefani-Part1.pdf) • http://www.comp.lancs.ac.uk/computing/research/sumo/ • www.enterprise-architecture.info/Images/Documents/RM-ODP.pdf • http://www.omg.org/cgi-bin/apps/doc?formal/05-01-04.pdf • http://www.cs.wustl.edu/~schmidt/PDF/orc.pdf • Acknowledgement • Doug Schmidt, UC Irvine, for basis of RT CORBA overview

  3. What is meant by multimedia? • “A multimedia system is one which allows end users to store, transmit, interchange, present, represent and perceive a variety of forms of information (media types) in an integrated manner” Blair and Stefani, 1998

  4. Requirements for multimedia middleware • Support continuous media, both in terms of the programming model, and also in the underlying system infrastructure • Provide both static and dynamic quality of service (QoS) management functions as an integral part of the middleware platform • Support both inter- and intra-media synchronisation in a distributed environment • Support multimedia specific interaction models such as streams and multiparty multimedia communications

  5. Impact on middleware • In general, existing middleware platforms and standards …. • do NOT support continuous media • do NOT support QoS management • do NOT support real-time synchronisation • do NOT offer a full range of interaction types

  6. An overview of some relevant research areas • Extended middleware platforms • DIMMA, ReTINA (Jonathan), Sumo • Adaptation and QoS management • QuO, Agilos, Quasar, DJINN, Lancaster’s Adapt • Multimedia service architectures • IMA MSS (and PREMO), CORBA A/V Streams • Multimedia component frameworks • Simon Gibbs’ framework, VuSystem, CMT, Mash, DirectShow, Java Media Framework, Lancaster’s TOAST

  7. CORBA’s A/V Streams • Architecture for ‘open’ multimedia streaming applications • standardised flow spec and stream setup • supports multipoint topologies • supports multiple data-transfer protocols and endpoints • streams are out of band!

  8. Provocative statements • “All media types are equal” • continuous media should not be a service! • “Communication is a first class entity” • cf. Birman’s ‘communication as an abstract data type’ [Middleware 2000]

  9. Case study: the Sumo project • Aims • Develop an approach to supporting multimedia in the context of RM-ODP • Develop an object-oriented programming model (cf. the RM-ODP Computational Language) to meet the requirements of distributed multimedia programming • Examine system support techniques, focusing on the (soft) real-time requirements of multimedia

  10. Sumo’s object model(cf. RM-ODP) • Objects as unit of encapsulation, offering one or more interfaces (described in IDL) • Interfaces have associated environmental contracts that specify constraints on the use of the object • Objects interact through explicit bindings

  11. Operational interfaces Stream interfaces Signal interfaces Extensions for multimedia #1: additional styles of interface N.B. this approach required extensions to IDL

  12. Extensions for multimedia #2: QoS annotations on interfaces • A contractual approach: • provided clause • what an interface can offer in terms of QoS • required clause • what an object expects from the environment in terms of QoS • Specifying offers/ expectations (in the environmental contract) • based on the emission or reception of signals • development of a simple real-time logic (QL)

  13. Extensions for multimedia #3: explicit bindings • What is explicit binding? • the act of creating a communication channel between compatible interfaces, resulting in the creation of a explicitbinding object • Explicit binding and QoS management • static QoS management functions (e.g. resource reservation) are encapsulated by the creation process • dynamic QoS management functions (e.g. adaptation) are then supported by an interface on the binding object

  14. Extensions for multimedia #4: reactive objects • What are reactive objects? • real-time controllers that maintain a permanent interaction with their environment (accept signals, react, emit signals, etc) • adherence to synchrony hypothesis (instantaneous execution) • Their role in Sumo • real-time synchronisation • (dynamic) QoS management

  15. Â An example: lip synchronisation lip-sync (reactive object) Â QoS monitor (reactive object) video camera video window video stream binding microphone audio stream binding speaker

  16. Example (continued): the extended IDL • speaker interfaces • video window (control interface only) typedef timestamp integer; interface <stream> speakerIn { flowIn audioIn(audio); } interface <signal> speakerControl { signalOut audioReady(timestamp); signalOut audioPresented(); } interface <signal> videoWindowControl { signalOut videoReady(timestamp); signalIn videoDoPresent(); signalOut videoPresented(); }

  17. Example (continued): use of QL • video binding object Provided clause n, (videoBindingOut.videoOut.SE, n+24) (videoBindingOut.videoOut.SE, n) + 1000 AND n, (videoBindingOut.videoOut.SE, n) (videoBindingIn.videoIn.SR, n) + 60 Required clause n, (videoBindingIn.videoIn.SR, n+24) (videoBindingIn.videoIn.SR, n) + 1000

  18. Example (continued): use of Esterel • QoS monitor (cf. equivalent QL statement) module QoSMonitor: input videoSent (integer); videoDelivered (integer), msec; output QoSViolation; [ every videoDelivered do await 24 videoDelivered watching 1000 msec timeout emit QoSViolation end || every videoSent do await videoDelivered watching 60 msec timeout emit QoSViolation end ].

  19. Other aspects of Sumo • Development of a Sumo ORB (later versions: ReTINA, Jonathan) • extended CORBA platform featuring all the extensions given above • novel architecture based on a micro-ORB structure • Development of Sumo CORE • focus on operating system support for continuous media (based on Chorus) • investigation of split level resource management

  20. Sumo and RM-ODP • Support for multimedia • the RM-ODP computational language now includes extensions #1, #2 and #3 above

  21. Expected Learning Outcomes • You should have a clear understanding of the requirements of distributed multimedia and real-time applications and the problems of supporting them in middleware • You should be able to discuss alternative approaches to supporting multimedia in ORBs (service vs. first class) • You should be able to place the above in the general context of the expanding requirements imposed on middleware

More Related