Verkotettu multimedia. Ohjelmistoarkkitehtuuri. Multimedian vaikutukset. Ohjelmointi. Selain-ohjelmistoarkkitehtuuri. Mediavirtojen puskurointi

Samankaltaiset tiedostot
Ohjelmistoarkkitehtuuri. Verkotettu multimedia. Mediavirtojen puskurointi. Multimedian vaikutukset. Selain-ohjelmistoarkkitehtuuri.

Ohjelmistoarkkitehtuuri. Verkotettu multimedia. Multimedian vaikutukset. Mediavirtojen puskurointi. Ohjelmointi. Selain-ohjelmistoarkkitehtuuri

Verkotettu multimedia. Ohjelmistoarkkitehtuuri. Mediavirtojen puskurointi. Multimedian vaikutukset. Selain-ohjelmistoarkkitehtuuri.

Ohjelmistoarkkitehtuuri

Verkotettu multimedia. Ohjelmistoarkkitehtuurin. Multimedian vaikutukset. Mediavirtojen puskurointi. Ohjelmointi. Selainohjelmistoarkkitehtuuri

Ohjelmistoarkkitehtuurin

Multimediajärjestelmät

Mediakonvergenssi. Multimediajärjestelmät. Päätelaitteet. Palvelujen jakelu. Päätelaitteet. Multimediatietokoneet

Multimediajärjestelmät

Integrointi. Ohjelmistotekniikka kevät 2003

Sovellusarkkitehtuurit

T Multimediatekniikka

Multicast. Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta

!?)&/&8-"1)#)7#-2-> ! 2-77""8"'+'0%/+-1#""8"'+'0%2/&-1#""8"'+'0%#)&##-8- !?)&/&8-"1)#)17+'%#-7&> ! 1$4##;*""##4($0%7&8+**)70%2-*8+*)0%#&"'+'%1$4##$6$

Multimediajärjestelmät. Mediakonvergenssi. Palvelujen jakelu. Päätelaitteet. Multimediatietokoneet. Päätelaitteet

in condition monitoring

Johdanto. Multicast. Unicast. Broadcast. Protokollat. Multicast

Multicast. Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta MBone

Multimediajärjestelmät. Johdanto Päätelaitteet Verkkoteknologiat Palvelut Yhteenveto

Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat

Videoneuvottelu. Johdanto. Järjestelmät. Telepresensce. Laitteisto. Ryhmäneuvottelut

Multicast. Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta

Hajautettujen järjestelmien rakentaminen - Jini. Ohjelmistotuotantovälineet-seminaarin esitelmä

Tietojärjestelmäarkkitehtuurit

Käyttöjärjestelmät: prosessit

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

T Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

HSMT J2EE & EJB & SOAP &...

HOJ J2EE & EJB & SOAP &...

7. Palvelun laatu (QoS) Internetissä

7. Palvelun laatu (QoS) Internetissä

Järjestelmäarkkitehtuuri (TK081702)

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

TURVALLISEN TEKNIIKAN SEMINAARI Laitteiden etähallinta tietoverkkojen välityksellä Jani Järvinen, tuotepäällikkö

Kaikki analogiset järjestelmät digitaalisiksi ja verkkokäyttöisiksi - jo tänään Kustannustekkuutta ja joustavuutta työskentelyyn

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

SAP. Lasse Metso

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

ZENworks Application Virtualization 11

HELIA 1 (19) Outi Virkki Käyttöliittymät ja ohjelman suunnittelu

Suunnitteluvaihe prosessissa

Ohjelmistoarkkitehtuurit

3. Kuljetuskerros 3.1. Kuljetuspalvelu

S Teletekniikan perusteet

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy

T Harjoitustyöluento

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

6. Arkkitehtuurityylit

T Harjoitustyöluento

Siirtoformaatit. Johdanto Sovellusalueet Vaatimukset Raita- ja oliomalli Reaaliaikainen tiedonsiirto Erilaiset siirtoformaatit Vertailu

Johdanto. Videoneuvottelu. Järjestelmät. Laitteisto. Monipisteneuvottelut. Ryhmäneuvottelut


Johdanto. Mitä on multimedia Multimediajärjestelmät Palvelun laatu Synkronointi / orkestrointi Standardit Sovellukset Konvergenssi Arvoketju

OSI ja Protokollapino

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

Järjestelmäarkkitehtuuri (TK081702) AJAX, Asynchronous JavaScript And XML. AJAX, Asynchronous JavaScript And XML

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

Uutuudet. Tosiaikapalvelut Liikkuvuus. Sanna Liimatainen T Tietokoneverkot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Koira testissä vai Racci tuotannossa O10G/IAS10 Linuxilla

IPTV:n asettamat vaatimukset verkolle ja palvelun toteutus. Lauri Suleva TI07 Opinnäytetyö 2011

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Juha Peltomäki JAMK/Teknologia

Office ohjelmiston asennusohje

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

Johdanto. Agenda. Tuotantoprosessi. Historiallinen kehitys. Konsepti. Tuotantoprosessin vaiheet

Mitä on multimedia? Johdanto. Vuorovaikutus. Monta mediaa. Hypermedia. Aika

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

Linux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

Tietoliikenne II (2 ov)

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

ETÄTERMINAALIYHTEYS SELAIMELLA

Paikkatiedon tulevaisuus

Viestinvälitysarkkitehtuurit

Tekninen suunnitelma - StatbeatMOBILE

(Acerin) Windows 8 tabletti henkilöstön työkäytössä Koonnut Hanna Frilander, Mobiilit ohjaajat hanke

KODAK EIM & RIM VIParchive Ratkaisut

Tekninen suunnitelma - StatbeatMOBILE

Tällä kerralla esitellään. Uutuudet. Reaaliaikainen tiedonsiirto. Äänen ja videon siirto. Session Initiation Protocol (SIP) IP-puhelin

Ohjelmistoarkkitehtuurit. Kevät

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin

Webinaarin osallistujan ohje

Ongelma(t): Jotta tietokonetta voitaisiin käyttää monipuolisesti ja mahdollisimman yksinkertaisesti kaikkiin sille soveltuviin käyttötarkoituksiin,

Langattoman kotiverkon mahdollisuudet

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet

Miska Sulander Jyväskylän yliopisto Atk keskus FUNET yhdistyksen vuosikokous

Tikon Ostolaskujenkäsittely versio SP1

Siirto helppo ja nopea mobiilimaksujärjestelmä

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka

Ohjelmiston toteutussuunnitelma

Ohjelmistoarkkitehtuurit kevät

Tekijä / Aihe 1

HTTP-välityspalvelimen käyttö tapahtumien keräämiseen

Transkriptio:

1 Ohjelmistoarkkitehtuuri Verkotettu multimedia Johdanto Selain-ohjelmistoarkkitehtuuri Hajautetut ohjelmistot Palvelimet Verkko Päätelaiteet Käyttöliittymä Middleware Tietoliikenne Verkotetulla multimedialla tarkoitetetaan multimedian sovelluksia ja palveluja, jotka on hajautettu verkkoon Esim. www-palvelut, digitaalinen televisio, WAP Petri Vuorimaa 1 Petri Vuorimaa 2 Multimedian vaikutukset Multimedia sisältää jatkuva-aikaisia mediaelementtejä, jotka on synkronoitu keskenään Media siirretään yleensä mediavirtoina (stream) Virrassa mediaelementin yksiköt (ääninäyte, videokuva ym). pysyvät järjestyksessä Mediavirrat voidaan synkronoida + Sisäinen synkronointi: isocronous + Mediavirtojen välinen synkronointi: syncronous Ohjelmointi Hajautettu multimediajärjestelmä voidaan toteuttaa kahdella eri tavalla: + asiakas / palvelin + hajautettu ohjelmisto Selain-ohjelmistoarkkitehtuuri on tyypillinen esimerkki asiakas/palvelin -arkkitehtuurista Hajautettu ohjelmisto tarkoittaa tyypillisesti olioohjelman hajauttamista verkkoon Petri Vuorimaa 3 Petri Vuorimaa 4 Mediavirtojen puskurointi Mediavirtoja ei voi koskaan täydellisesti synkronoida Tiedonsiirron viive vaihtee eli esiintyy huojuntaa Ihminen havaitsee vähäisenkin huojunnan Huojuntaa voidaan vähentää puskuroinnilla Puskurointia tarvitaan useassa eri vaiheessa Selain-ohjelmistoarkkitehtuuri Internet ohjelmistot perustuvat asiakas/palvelin - arkkitehtuuriin Tyypillinen asiakasohjelma on www-selain Tyypillinen palvelin on www-palvelin Lisäksi on myös muita palvelimia (tietokanta, video on demand, videoneuvottelu jne.) Lisäksi tarvitaan apupalvelimia (proxyt, hakemistot jne.) Petri Vuorimaa 5 Petri Vuorimaa 6

2 WWW-arkkitehtuuri Realmedia Selain HTTP CGI/ Perl/ Java Tietokanta Ohjauslogiikka SQL RTSP WWWpalvelin Video Realmedia on tyypillinen esimerkki asiakas / palvelin -arkkihtehtuurista Järjestelmän avulla voi streamata eri medioita (ääni, video, grafiikka jne.) Järjestelmä koostuu tuotantotyökaluista, palvelimista, välipalvelimista ja asiaskasohjelmista Asiakasohjelman perusversiot ovat ilmaisia, mutta muut maksullisia tuotteita Petri Vuorimaa 7 Petri Vuorimaa 8 Realmedia-arkkitehtuuri Hajautetut ohjelmistot Oliopohjainen ohjelma voidaan hajauttaa usealle eri koneelle Olioiden pitää jotenkin löytää toisensa + Hakemistopalvelu Olioden metodikutsut ja -vastaukset pitää välittää oikealle koneelle + Object Request Broker (ORB) Kaupallisia ratkaisuja ovat esim. OMG Corba, Microsoft DCOM sekä Java Jini ja RMI Petri Vuorimaa 9 Petri Vuorimaa 10 Corba-arkkitehtuuri Komponentit Dynamic invocation interface Client IDL stub ORB interface Dynamic skeleton interface ORB Core Object implementation IDL skeleton Object adapter Asiakas (client) ja hajautettu olio (object implementation) keskustelevat ORB:n välityksellä Rajapinnat on määritelty IDL-kielellä (Interface Desription Language) Normaalisti kutsutaan staattista tynkää (stub), joka välittää kutsun rungon (skelton) kautta oliolle Toteutus voi olla myös dynaaminen Oliot rekisteröityvät sovittimen (adapter) avulla Petri Vuorimaa 11 Petri Vuorimaa 12

3 Esimerkki: huulisynkronointi Oliot Elokuvassa puhe ja huulienliikkeet pitää synkronoida Toteutetaan sovellus hajautettuna sovelluksena Eri komponentit voidaan kuvat piirosmerkeillä + G. Blair & J-B Stefani, Open Distributed Processing and Multimedia, Addison-Wesley, 1998 virtarajapinta signaalirajapinta mediavirta signaali R reaktiivinen olio Petri Vuorimaa 13 Petri Vuorimaa 14 Videon ja audion synkrointi Ohjelmistoarkkitehtuurin toteutus videovirta videokamera videoikkuna R Ohjelmistoarkkitehtuurin toteutusta voidaan tarkastella myös järjestelmän komponenttitasolla Multimedialla on vaikutusta sekä palvelimiin, verkkoon että päätelaitteisiin Tehokas toteutus vaatii lisäominaisuuksia ja jopa em. komponenttien täydellistä uudelleen suunnittelua mikrofoni audiovirta kaiutin Petri Vuorimaa 15 Petri Vuorimaa 16 Palvelimet Palvelimet voidaan jakaa transaktio- (www, tietokanta) ja stream-palvelimiin (video) Transaktio-palvelimen tärkein ominaisuus on skaalautuvuus Tarvittaessa tehtävä voidaan jakaa useammalle palvelimelle (replikointi) Videopalvelimissa korostuu reaaliaikaisuus Käytännössä tämä tarkoittaa tehtävien skedulointia Petri Vuorimaa 17 Levyskedulointi Video-on-demand -palvelimen kovalevyjen käyttö tulee miettiä tarkkaan Tavallinen tiedostopalvelin pyrkii optimoimaan hakuaikaa ja tilan käyttöä + tällöin haut suoritetaan reiluus-periaatteella Videopalvelimen on pidettävä puskurit sopivan täynnä + reaaliaikaiset skedulointi-algoritmit + tiedostojen järjestys Petri Vuorimaa 18

4 Oracle Video Server Verkko Verkon pitää tukea multimedian siirtoa: + Quality of Service (QoS) + reaaliaikaiset mediavirrat + skaalautuvuus Mediavirtoja varten on varattava tietyt resurssit +ATM QoS + IP Intergrated Services + IP Differentiated Services Petri Vuorimaa 19 Petri Vuorimaa 20 Verkko (jatk.) Verkkoprotokollien on tuettava reaaliaikaisia mediavirtoja + esim. IP Real-Time Protocol (RTP), Real-Time Control Protocol (RTCP) ja Real-Time Streaming Protocol (RTSP) Lisäksi verkon on tuettavia useita yhtäaikaisia käyttäjiä + esim. IP Multicast Päätelaite Päätelaitteen suurin ongelma on rajalliset resurssit: + prosessoriaika, muisti ja tietoliikenneyhteydet Nykyiset päätelaitteiden käyttöjärjestelmät tukevat vuorovaikutteisia käyttöliittymiä Multimedian tuki on heikompi Reaaliaikaiset käyttöjärjestelmät sopivat paremmin multimedialle Petri Vuorimaa 21 Petri Vuorimaa 22 Mediavirran käsittelyvaiheet Pakettien vastaanotto Verkkoajurit IP/UDP -protokollat Reaaliaikaiset siirtoprotokollat Kodekki Audio, video ym. ajurit Toisto Käyttäjän vuorovaikutus Päätelaite myös seuraa käyttäjän toimenpiteitä + näppäimistö + hiiri + jne. Laitteet aiheuttavat keskeytyksiä Keskeytykset voivat helposti ruuhkautua verkkokeskeytysten ym. kanssa Petri Vuorimaa 23 Petri Vuorimaa 24

5 Ohjelmistoarkkitehtuuri Käyttöjärjestelmä Päätelaitteen ohjelmistoarkkitehtuuri voidaan toteuttaa monella eri tavalla + Käyttöjärjestelmä + ajurit + ikkunointi + Selain + Plug-In soittimet +Java + XML-selain Soittimet Ikkunointi Näyttöajurit Sovellus Kodekit Käyttöjärjestelmän ydin Mediaprotokollat IP-protokollat Verkkoajurit Näyttö Laitteisto Verkkokortti Petri Vuorimaa 25 Petri Vuorimaa 26 Selain Java Selain Java-tulkki JavaScript Tyylisivut HTML ActiveX PlugIns RealMedia VRML Sovellus JMF AWT IO NET Sovellusohjelmointirajapinnat Javatulkki Käyttöjärjestelmä Petri Vuorimaa 27 Käyttöjärjestelmä Petri Vuorimaa 28 Java Media Framwork JMF mahdollistaa multimedian Java-sovelluksissa Reaaliaikaiset verkkoprotokollat Multipleksaus Kodekit Toistimet (renderer) Efektit Kaappaus Kontrolli Petri Vuorimaa 29 Käyttöjärjestelmät Nykyisissä ohjelmistoarkkitehtuureisssa käyttöjärjestelmällä on tärkeä rooli Suuri osa median käsittelystä tehdään käyttöjärjestelmäkutsuilla Sovellus toimii koordinaattorilla Datan kopionti sovelluksen ja käyttöjärjestelmän välillä on ongelma Käyttöjärjestelmä hallitsee resursseja huonosti Petri Vuorimaa 30

6 Reaaliaikaiset käyttöjärjestelmät Pieni koko: ylimääräiset ominaisuudet on karsittu Keskeytysten käsittely: ruuhkautuminen estetty Reaaliaikainen skedulointi: suorituksen ajoitus Tehokas muistinhallinta: jaettu muistialue Nopea viestinvälitys: eri tasojen välinen kommunikointi on optimoitu Resurssien varaus: tehtävää ei oteta suoritettavaksi, jos sitä ei pystytä tekemään Microkernel Käyttöjärjestelmästä saadaan kompaktimpi karsimalla siitä kaikki turhat ominaisuudet + ikkunointi, hajautetut tiedostojärjestelmät ym. Yksi ratkaisu on ns. Microkernel + käyttöjärjestelmän ydin (kernel) on tehty mahdollisimman pieneksi ja reaaliaikaiseksi + muut ominaisuudet toteutetaan käyttäjäprosesseina + haluttu kokoonpano voidaan kasata eri moduleista Petri Vuorimaa 31 Petri Vuorimaa 32 Keskeytysten käsittely Keskeytykset voidaan jakaa prioriteettiluokkiin Usein keskytyksenkäsittelijässä on useita keskeytyksiä jonossa Normaali keskeytyksenkäsittelijä purkaa jonoa reiluus-periaatteella Multimedian kannalta on tärkeää palvella korkean prioriteetin keskeytykset ajallaan Reaaliaikainen skedulointi Normaalisti prosesseja suoritetaan reilusti Multimediassa prosessit pitää suorittaa ajallaan + reaaliaikaiset skedulointi -algoritmit Esim. Earliest Deadline First -algoritmissa jokaisella tehtävällä on tietty takaraja Prosessit laitetaan suoritusjärjestykseen ja ensimmäisen takarajan omaava prosessi suoritetaan ensin Petri Vuorimaa 33 Petri Vuorimaa 34 Tehokas muistinhallinta Virtaavassa mediassa tietoa siirretään usean kerroksen läpi + kerrosten välillä tarvitaan puskurointia Perinteisessä toteutuksessa tietoa kopioidaan puskurista toiseen Tehokkaammassa toteutuksessa eri kerrokset jakavat puskurimuistin ja kerrosten välillä siirretään ainoastaan viittauksia tietoalkioihin + myös ytimen ja käyttäjäohjelmien välillä Petri Vuorimaa 35 Nopea viestinvälitys Perinteisesti eri prosessit ja käyttöjärjestelmä keskustelevat keskeytysten välityksellä Esim. käyttöjärjestelmäkutsu aiheuttaa ansan (trap), jolla siirrytään käyttäjä-tilasta käyttöjärjestelmä-tilaan Virtaava media aiheuttaa tällöin jatkuvasti keskeytyksiä Tästä aiheutuu helposti keskeytysten ruuhkautuminen Petri Vuorimaa 36

7 Nopea viestinvälitys (jatk.) Fiksumpi ratkaisu on viestitaulujen käyttö Prosessit laittavat ilmoituksen viestistä jaettuun viestitauluun Käyttöjärjestelmän ydin lukee viestitaulun aina kellokeskeytyksen yhteydessä Käyttäprosessi lukee viestitaulun aina prosessin uudelleenkäynnistyksen yhteydessä (esim. kellokeskeytyksen jälkeen) Viestitaulu 4 7 Bulletin Board VP Desc Queues VP Desc Queues VP Desc Queues Clock Petri Vuorimaa 37 Petri Vuorimaa 38 Resurssien varaus Kaikesta em. huolimatta järjestelmä voi ylikuomittua Ylikuormittuminen voidaan estää resurssien varauksella Uutta tehtävää käynnistettäessä tarkistetaan, että tarvittavat resurssit ovat olemassa Reaaliaikainen skedulointialgoritmi voi esim. tarkistaa, että prosessi pystytään suorittamaan yhtä aikaa jo suoritettavien prosessien kanssa Petri Vuorimaa 39 Resurssien varaus (jatk.) Vastaavat tarkistukset voidaan tehdä muistin (puskureiden), tietoliikenneyhteyksien ym. suhteen Vasta tämän jälkeen tehtävä hyväksytään suoritukseen Lisäksi resurssien kuormitusta monitoroidaan suorituksen aikana Petri Vuorimaa 40 GO-MM -projekti Tärkeimmät tulokset Käyttöliittymä Kommunikaatioprotokollat Palvelut Dynaaminen Quality of Service Reaaliaikainen käyttöjärjestelä Mobiilin multimedian ohjelmistoarkkitehtuuri Petri Vuorimaa 41 Käyttöjärjestelmä + OSKit RTOS + Kaffe Java Virtual Machine Tietoliikenneprotokollat + Eri multimediaprotokollien integrointi Käyttöliittymät + X-Smiles XML-selain Multimediapalvelut + Kolme demoa: elokuvateatteri, etäopetus ja multimedia esitys tenniksestä Petri Vuorimaa 42

8 KaffeOs KaffeOSin rakenne Java-käyttöjärjestelmä Verkkoliittymänä käytetään Wavelankortteja Suurin ongelma on grafiikka KaffeVM on vielä kehitystyön alla X-smiles Kaffe OSKit Java softa Wavelan ajurit Laitteisto OSKit tarjoaa peruspalvelut kuten tiedosto- ja verkkopalvelun Kaffe on linkitetty OSKitin kanssa joten siitä tulee osa ydintä Wavelan ajuri on osa OSKittiä Petri Vuorimaa 43 Petri Vuorimaa 44 X-Smiles XML-selain XML-selaimen kehitystyö aloitettiin ohjelmatyöprojektina 1998-99 + X-Smiles SMiL-browser Tuki XSL tyylisivuille ja yleinen XML-parseri lisättiin kesällä 1999 XSL Formatting Objects, Scalable Vector Graphics ja streamaus ovat viimeisimpiä lisäyksiä Saatavilla avoimena koodina (www.x-smiles.org) Petri Vuorimaa 45 User interface and interaction Browser core functionality XML Processing General GUI MLFC specific GUI MLFCs source tree XSL FO SMIL SVG MLFC MLFC MLFC MLFC MLFC Presentation Config Presentation ECMAScript interpreter + Rendering Presentation Rendering extensions Rendering MLFC mgmt. & retrieval ECMAScript Handling Event Broker General Functionality Browser Configuration DOM Interface DOM Builder SAX Interface XML Parser XSL Processor X-Smiles näyttökuva XML-palvelut Ideana oli toteuttaa demoja, joiden avulla voi testata erilaisia teknisiä ratkaisuja Kolme demoa: + Elokuvateatteri + Etäopetus + Multimediaesitys tenniksestä Toteutukset perustuvat XML:n, XSL:n ja ECMAScriptin käyttöön Petri Vuorimaa 47 Petri Vuorimaa 48

9 Elokuvateatteri Tietoliikenneprotokollat Wavelan Mobile IP UDP Reaaliaikaiset siirtoprotokollat Multicast Differentiated services Petri Vuorimaa 49 Petri Vuorimaa 50