RM-ODP og Multimedia middleware (M3W): INF 5040 høst 2003 foreleser: Frank Eliassen SRL & Ifi/UiO 1 Litteratur Gordon Blair, Jean-Bernard Stefani, Distributed Processing and Multimedia, Addison-Wesley 1997, Part I (fokus på kap 2.2 og 3.3) http://www.ifi.uio.no/~frank/inf5040h03/blairandstefani-part1.pdf Tom Fitzpatrick, Gordon S. Blair, Geoff Coulson, Nigel Davies and Philippe Robin, Supporting Adaptive Multimedia Applications through Open Bindings http://www.ifi.uio.no/~frank/inf5040h03/adapt.pdf Blair, Coulson, Robin, Papathomas: An architecture for next generation middleware http://www.ifi.uio.no/inods/gamle/h2001/mpg-98-27.pdf SRL & Ifi/UiO 2
Utfordring fra multimedia til mellomvare Støtte for multimedia Programmeringsmodell og systemstøtte for kont. media strømmer (enkle og sammensatte) QoS forvaltning (management) statisk og dynamisk Synkronisering i sann tid intra- og inter-synkronisering gruppekommunikasjon QoS forvaltningavgrupper gruppemedlemmer med ulike QoS krav ( filtering ) SRL & Ifi/UiO 3 RM-ODP Hva er RM-ODP? ISO/ ITU-T standard for en Reference Model for Open Distributed Processing Nøkkelbegreper inkluderer objekt-orientert tilnærming og definisjon av 5 viewpoint språk (inkl. computational language som er vår fokus) RM-ODP tilbyr en bedre løsning for multimediastøtte enn CORBA-baserte løsninger Basert på resultater fra SUMO-prosjektet, Lancaster Univ SRL & Ifi/UiO 4
ODPs programmeringsmodell I Tre typer interaksjon mellom objekter: operasjonelle grensesnitt klient objekter anroper operasjoner i grensesnittene til tjener objekt (jfr. RPC & RMI) strøm grensesnitt kontinuerlige strømmer av dataflyter mellom produsent og konsument grensesnitt (jfr. multimedia) signal grensesnitt grensesnitt for å produsere eller konsumere sanntidshendelser SRL & Ifi/UiO 5 ODPs programmeringsmodell II Objekter (= komponenter?) som innkapslingsenhet, tilbyr en eller flere grensesnitt (beskrevet vha IDL) inngående og utgående grensesnitt QoS annoteringer kan assosieres med grensenitt Objekter interagerer gjennom bindinger SRL & Ifi/UiO 6
Eksplisitte bindinger Eksplisitte bindinger kan opprettes mellom kompatible grensesnitt resulterer i opprettelsen av et bindingsobjekt tre typer bindinger (jfr tre typer grensesnitt) Statisk QoS forvaltning innkapsles i operasjonen som oppretter bindingsobjektet (dvs. forhandling, adgangskontroll og ressursreservering) Dynamisk QoS forvaltningsfunksjoner understøttes gjennom kontrollgrensesnittene til bindingsobjektet (dvs. monitorering, vedlikehold og kontroll, reforhandling) SRL & Ifi/UiO 7 RM-ODP bindingsobjekt create (IfRef1, IfRef2,QoSreq>) local binding Stream binding factory static QoS management Control interfaces dynamic QoS management O 1 O 2 Stream binding object IfRef1 IfRef2 SRL & Ifi/UiO 8
Prinsipp QoS overvåking Monitorering Komponent Eksempel: Applikasjon QoS kontrakt Monitor Signal (QoS violation) Signal (e.g. current delay value) Data Komponent Eksempel: binding SRL & Ifi/UiO 9 Reaktive objekt (Blair&Stefani) Objekter som realiserer sanntidskontrollere sanntidssynkronisering QoS forvaltning Interagerer. med sine omgivelser via signaler aksepterer signal fra omgivelsen reagerer sender ut signal til omgivelsen Synkronitetshypotesen for reaktive objekter reaksjoner må være instantane (ta null tid) dvs. atomiske mhp omgivelsen omgivelsen forblir invariant under utførelsen av reaksjonen innkommende signal utgående signal SRL & Ifi/UiO 10
Design for QoS forvaltning Reaktivt objekt video kamera QoS: rate:25 delay:40-60 ms QoS mngt signal binding videovindu Video strøm binding SRL & Ifi/UiO 11 Grensesnitt (hypotetisk IDL) Video-kamera objekt interface <operational> cameracontrol { start(); stop();. pan(in pandegrees integer); tilt (in tiltdegrees integer); zoom (in zoomfactor integer) interface <stream> videocameraout { flowout videoout (video); SRL & Ifi/UiO 12
Grensesnitt II Video-vindu objekt interface <signal> videowindowcontrol { signalout videoready(timestamp); signalin. videopresent(); signalout videopresented(); interface <stream> videowindowin { flowin videoin (video); SRL & Ifi/UiO 13 Grensesnitt III Video binding interface <signal> qoscontrol { signalout videosent(timestamp); signalout. videodelivered(timestamp); interface <stream> videobindingin { flowin videoin (video); interface <stream> videobindingout { flowout videoout (video); SRL & Ifi/UiO 14
Grensesnitt IV QoSmngt binding interface <signal> qosbindingin { signalin videosent(timestamp); signalin. videodelivered(timestamp); interface <signal> qosbindingout { signalout videosent (timestamp); signalout videodelivered (timestamp); SRL & Ifi/UiO 15 Grensesnitt V Reaktive objekt interface <signal> reactin { signalin videosent(timestamp); signalin. videodelivered(timestamp); interface <signal> reactout { signalout qosviolation (violationtype); SRL & Ifi/UiO 16
QoS: rate:25 delay:40-60 ms Videokamera Leppesynkronisering Video binding QoS: delay:10 ms Video-vindu Signal binding Signal binding Reaktivt objekt Klokke Tikk periode: 1 ms Audio binding Mikrofon Høytaler QoS: rate:5 (pakker) signalout srdy(timestamp); delay:40-60 ms signalin spresent(); signalout spresented(); SRL & Ifi/UiO 17 Oppsummering ISO RM-ODP standarden kan danne utgangspunkt for mellomvare. med bedre støtte for multimedia Ny objekt-orientert/komponentbasert tilnærming Tre typer grensensitt QoS annoteringer assosiert med grensesnitt Eksplisitte bindinger Men hva med behovet for adapsjon? SRL & Ifi/UiO 18