Zusammenfassung der Perspektiven-Vorlesung
"Digitale Medien auf Schritt und Tritt -- Verteilte
Multimedia-Anwendungen mit NMM", gehalten von Prof. Philipp Slusallek
Zu Beginn stellte sich Prof. Slusallek vom Grafiklehrstuhl
vor. Er studierte in Frankfurt und Tübingen, aber überraschenderweise nicht
Informatik sondern Physik. Danach kam es jedoch dazu, dass Prof. Slusallek den
Grafiklehrstuhl in Erlangen aufbaute. Heute ist er Professor in Saarbrücken im
Bereich Computer Graphik
Danach stellte Prof. Slusallek den Grafiklehrstuhl vor. Mit
mehr als 100 Rechnern hat dieser Lehrstuhl das größte Rechnernetzwerk in der
Umgebung. Einige Vorschungsthemen am Grafiklehrstuhl sind neben Realtime
Ray-Traycing und Ray-Tracing Hardware in erster Linie NMM: Netzwerk-Integrierte-Multimedia-Middleware,
worum es hauptsächlich in der Vorlesung handelte.
Nach einer kurzen Übersicht wurde das gestrige Schema von
Multimedia gezeigt: Der Multimedia-PC verbunden mit dem Internet, der
Fernseher, das Telefon und viele weitere Geräte sind mehr abgekapselte Systeme,
die kaum oder wenn nur sehr schwer mit Anderen verbunden werden können. Obwohl
doch technisch eigentlich möglich, kann man trotzdem nicht Zuhause mit dem
Handy fernsehen und dabei die Hauseigene HIFI-Anlage für die Soundausgabe
benutzen. Heute sind durch viele verschiedene Schnittstellen (UMTS, FireWire,
USB, ...) die Geräte einigermaßen miteinander verbindbar, aber meistens werden
entweder extra Geräte dafür benötigt und dann ist eine Verbindung zwischen PC
und Gerät hinaus ist so gut wie gar nicht möglich (z.B. durch den PC vom Handy
an Fernsehempfang kommen).
Eine Lösung dieses Problems stellt viele Herausforderungen
dar. Pixel- und Audiosamples müssen nun als Daten weitergegeben und verarbeitet
werden, da sie nicht mehr direkt ausgegeben werden. Multimedia und Leistung
muss verteilt werden. Z.B. um auf ein Handy fernsehen zu können, müssen erst
mal die Daten dafür aufbereitet werden (Format und Größe muss auf das Handy
angepasst werden), da das Handy aufgrund seiner geringen
Rechenleistungsfähigkeit dies nicht selbst anständig zustande bringen könnte.
Des Weiteren müssen z.B. alle Geräte eines Home-Entertainments erkannt,
verteilt und verfügbar gemacht werden. Große Herausforderung, denn verteilte
Multimedia ist ein sehr komplexes Thema. Hardware, Software, Netze,
Performance, Echtzeit und Quality of Service stellen große Hindernisse. Dann
soll außerdem die Entwicklung entsprechender Multimedia-Anwendungen stark
vereinfacht werden. Dafür ist eine Abstraktion in Multimedia-Middleware-Services
nötig. Von kleinen Komponenten sollen komplexe Systeme gebaut werden. Die Rolle
der Universität ist dabei systematisch vorzugehen, und nicht die
schnellstmögliche und finanziell günstigste Variante zu wählen. Es muss ein
Kompromiss zwischen Grad der Abstraktion und der Flexibilität gefunden werden.
Zu bedenken ist dabei, dass sich bei mobilen
Multimediageräten wie Handys und PDAs die Umgebung ständig ändert, die Qualität
sollte sich aber nicht ändern. Um so ständig gute "Downloadraten" ermöglichen
zu können, gibt es den Peer-to-Peer-Ansatz.
Was ist nun NMM? NMM ist eine "Netzwerk-Integrierte
Multimedia-Middleware". Eine Zwischenanwendung, welches Dienstleistungen
für Multimedia-Anwendungen anbietet und somit die Komplexität des Inneren Systems
versteckt. Um Arbeiten wie Dekodierung von Audio- und Videodateien, das
Verteilen der Dateien usw. sollte sich nicht jede Multimedia-Anwendung selbst
kümmern müssen. Die Multimediaanwendungen sollen einfach sagen können
"Spiele diese Datei an jenes Gerät ab" und das wars. Dies ermöglicht
einfache und schnelle Entwicklung von Multimediaanwendungen. Besonders für
Linux gab es bisher meist nur Einzelanwendungen (Mplayer, XMMS, ...).
In der Vorlesung wurden dann (Multimedia-)FlowGraphen
vorgestellt. Darin ist die Funktionalität in einzelne kleine Module aufgeteilt,
die zusammen verbunden den Graphen bilden. Multimedia-Daten fließen zwischen
den Modulen, jedoch können die Kanten nur gebildet werden, wenn die
Datenformate übereinstimmen. Um zum Beispiel eine MP3 Datei einfach
abzuspielen, muss sie, bevor die Daten an das Abspielgerät (Lautsprecher)
geschickt werden können, durch den MP3-Decoder fließen und damit erst mal
dekodiert werden.
Der Stand der Technik sieht dabei wie folgt aus: das
Netzwerk ist wie eine sogenannte Black-Box. Das Client-Server Modell bietet
kaum Erweiterbarkeit und Kontrolle, komplexe Anwendungen sind nur schwer
möglich. Die einzelnen Systeme wissen kaum voneinander und das Betriebssystem,
dass in erster Linie für die Netzwerkverbindungen verantwortlich ist, dient
noch einmal zusätzlich als eine zu bewältigende Hürde.
Das Netzwerk ist der integrale Bestandteil von NMM. NMM
übernimmt die Verwaltung von Geräten und Ressourcen. Dafür muss NMM Sprachen
von den verschiedensten Schnittstellen verstehen um eine transparente Kontrolle
zu bewahren. Es muss die Leistungsfähigkeit vorhersagen können (Quality of
Service).
NMM ist auf die Micro-Kern-Architektur aufgebaut. Dabei
werden Geräte, Netzwerke und Protokolle als "Plugins" entwickelt und
bieten damit einen hohen Grad an Flexibilität. Außerdem bietet es einen
Interpreter für inkompatible Technologien. Das White-Box-Design bietet Zugriff
auf alle Schichten und damit eine einfache und unbeschränkte
Anwendungsentwicklung. Ein Beispiel: Ein simples mobiles Gerät, z.B. ein Handy
mit Farbdisplay, soll in der Lage sein irgendein TV-Empfänger im Haus zu
benutzen um fernzusehen. Für die Datenkonvertierung (für das richtige
Bildformat) hat dieses mobile Gerät Zugriff auf den PC-Prozessor (das
Handyeigene wäre dafür nämlich viel zu schwach). Und wenn in dem Zimmer gerade
noch eine gute HIFI-Anlage liegt, soll diese einfach als Audioausgabe genutzt
werden können. Außerdem sollte das Handy gleichzeitig auch einfach als
Fernbedienung für alle Geräte dienen können.
NMM bietet moderne Multimedia für Linux und hat sehr
interessante neue Multimedia Konzepte. NMM ist die einzige Software dieser Art
und es gab große Resonanz auf den letzten CeBITs. Das NMM Projekt ist aktiv
seit 2000 und es läuft auf verschiedenen Plattformen wie Windows, Linux und
MacOS. NMM ist OpenSource und proprietär über Motama.
Mittlerweile gibt es über 60 Plugins, die neben den
Middleware-Services und Multimedia-Anwendungen auf die Middleware-Core laufen,
welches durch Netzwerk und Serialisierungsstrategien mit dem darunterliegenden
Betriebssystem verbunden ist. Dies kann auch ein Betriebssystem eines mobilen
Gerätes sein, wie z.B. Windows Mobile.
In der Vorlesung wurde dann der Multimedia-Flussgraph etwas
näher vorgestellt. NMM ist Flussgraph-basiert und bietet Schnittstellen zur
objektorientierten Programmierung. Das Messaging-System erlaubt eine
einheitliche Kommunikation zwischen den Komponenten. Außerdem nutzt NMM durch
multi-threading Mehrprozessor-Systeme sinnvoll aus. Durch NMM's Speichermanagment
sollen Kopieren minimiert werden. Außerdem bietet NMM Synchronisation, damit
die Soundausgabe z.B. in der Küche zur gleichen Zeit wie im Wohnzimmer
stattfindet. Die Lösung dieses Problems funktioniert wie folgt: Zuerst wird ein
Schattengraph aufgebaut und in beiden Graphen parallel verarbeitet. Sobald
diese Synchron sind erfolgt eine Synchrone Umschaltung.
Durch QoS (Quality of Service) und Session Sharing entlastet
NMM die Ressourcen. Z.B. wenn zwei Anwender zur selben Zeit dasselbe Video
schauen, kann die Verarbeitung des Videos einmal gespart werden.
Dann wurde in der Vorlesung noch Clic vorgestellt, ein NMM
Skript, mit dem leicht NMM erweitert werden kann.
Zuletzt wurde noch die MultimediaBox und VCORE vorgestellt.
Die MMBox ist ein Linux-PC als Home-Entertainment Center und ersetzt viele
einzelne herkömmliche Geräte und ist leicht konfigurierbar und erweiterbar.
VCORE (Virtual Course Room Environment) ist eine durch NMM ermöglichte
Technologie für E-Teaching. Die Vorlesungen werden aufgezeichnet (Audio, Video,
Folien) und können plattformunabhängig wiedergegeben werden.
Am Ende der Vorlesungen wurden noch einige Fragen
beantwortet.