Current Page: | Greybox » Authoring » Course ID: medieninformatik » Modules » Module ID: mmserver » Learning Units » Unit ID: 020mmserver |
---|---|
Last Modified: | Tuesday, 2015-05-05 - 08:09:06 |
Tools: | Validate — Preview XML Preview HTML Preview PDF |
Alternative: | Printable HTML |
Title: | MM Server-Architektur und Komponenten | ||
---|---|---|---|
Abstract: | Auf Grund der Forderung nach einem Quality of Service (QoS) unterscheiden sich Multimedia Server bezüglich Soft- und Hardwarekomponenten wesentlich von herkömmlichen netzwerkbasierten Servern. Der einfache Multimedia Server ist ein einzelnes Gerät bestehend aus einem Prozessor-, einem Speicher- und einem Netzwerksystem. Seine Werte für Datendurchsatz, Bandbreite und Speicherkapazität sind stark limitiert. Ein verteilter Server ist ein Verbund von beliebig vielen Servern und Speichergeräten. Er agiert wie ein einfacher Server mit skalierbarer Performance. | ||
Status: | content final - to do: siehe Notizen | Version: | 2005-10-10 |
History: |
2005-10-10 (Thomas Migl): Abstract hinzugefügt 2005-09-09 (Thomas Migl): LOD1 fertiggestellt, Content komplett 2005-09-08 (Thomas Migl): LOD2 komplett importiert, mit LOD1 begonnen, Quelle [sita2000] war bereits importiert 2005-07-18 (Thomas Migl): LU angelegt |
Author 1: | Thomas Migl | E-Mail: | migl@ims.tuwien.ac.at |
---|---|---|---|
Author 2: | (empty) | E-Mail: | (empty) |
Author 3: | (empty) | E-Mail: | (empty) |
Author 4: | (empty) | E-Mail: | (empty) |
Author 5: | (empty) | E-Mail: | (empty) |
Organization: | Technische Universität Wien; Institut für Softwaretechnik und Interaktive Systeme; Arbeitsgruppe für Interaktive Multimediale Systeme; http://www.ims.tuwien.ac.at/ |
Einleitung1Anforderungen an einen Multimedia Server
2Anforderungen an einen Multimedia ServerWie bereits in der Lerneinheit Multimedia-Server-Einführung und Grundlagen beschrieben, unterscheiden sich die Anforderungen an Multimedia Server wesentlich von jenen, die an herkömmliche netzwerkbasierte Server gestellt werden. Der Grund dafür ist die besondere Beschaffenheit von zeitabhängigen Multimedia Daten: Sowohl Video- als auch Audiodaten müssen kontinuierlich, das heißt sukzessiv und ohne zeitliche Aussetzer, präsentiert werden können. Um Echtzeitanwendungen zu ermöglichen, muss bei der Übertragung Server - Client ein Quality of Service (QoS) gewährleistet sein. Serverseitig wird dieses QoS durch eine Admission Control Komponente garantiert, die vor der eigentlichen Datenübertragung die für eine kontinuierliche Datenübertragung notwendigen Ressourcereservierungen vornimmt. Weiters ist bei Multimedia Servern zu beachten, dass die Daten im Allgemeinen auf magnetischen Disks gespeichert sind. Neben der Netzbandbreite ist die Performance dieser Laufwerke der zweite große Flaschenhals für eine den gegebenen QoS Parametern entsprechende Datenübertragung. Nur wohl überlegte Strategien, die festlegen, wie und wo die Daten auf den Magnetplatten physisch platziert werden, können diesen Flaschenhals aufweiten. Überblick LerneinheitIn dieser Lerneinheit werden Serverarchitektur und deren Komponenten beschrieben, die die speziellen Anforderungen an einen Multimedia Server erfüllen. Ausgehend von einem einfachen Multimedia Server wird die Notwendigkeit eines verteilten Multimedia Servers diskutiert. Anschließend werden die Hard- und Software Komponenten eines Multimedia Servers im Detail erklärt. Überlegungen, wie man zu einer für Multimedia Anwendungen geeigneter Datenplatzierung kommt, bilden den Abschluss dieser Lerneinheit. 3Anforderungen an einen Multimedia Server
Einfacher Multimedia Server - Architektur1Architektur eines einfachen Multimedia Servers
Architektur eines einfachen Multimedia Servers
2Architektur eines einfachen Multimedia ServersIn unten stehender Abbildung sieht man die Architektur eines einfachen Multimedia Servers. Er besteht aus 3 Subsystemen: Storage Subsystem, Prozessor Subsystem, Netzwerk Subsystem. Diese werden im Folgenden näher betrachtet.
Architektur eines einfachen Multimedia Servers Storage SubsystemHier sind alle vorhandenen Speichergeräte des Multimedia Servers zusammengefasst. Diese können von unterschiedlichsten Charakter sein: Magnet Disks, CDs, DVDs, Memories, Magnetbänder etc. Prozessor SubsytemDas Prozessor Subsystem ist verantwortlich für das Management und für die Operationen des Multimedia Servers. Wie man aus der Abbildung leicht erkennen kann, umfasst es drei unterschiedliche Server: Application-, Control- und Data Server Application ServerMultimedia Applikationen können sehr verschieden sein: Videokonferenzen, Video-on-Demand, Abrufen von sehr vielen, kleinen Multimedia Objekten etc. Im Allgemeinen erfordert jede Applikation einen eigenen Server. Der Application Server konvertiert nun applikationsspezifische Befehle, die er vom Client erhält, in Multimedia Server Befehle und gibt diese an den Control Server weiter. Control ServerDer Control Server hat drei Hauptaufgaben:
Data ServerDieser beliefert den Client mit den angeforderten Daten. Seine Hauptaufgabe ist, während der Übertragung die für Multimedia Daten erforderliche QoS einzuhalten. Verteilter Multimedia Server - Architektur1Motivation für verteilten Multimedia Server
Verteilter Multimedia Server
Beispiel für die Architektur eines verteilten Multimedia Server
Beispiel für die Architektur eines verteilten Multimedia Server
Vorteile durch Skalierung
Beispiel: Zusammenfassung unterschiedlicher Requests
2Motivation für verteilten Multimedia ServerDer oben beschriebene einfache Multimedia Server hat Grenzen bezüglich seiner Kapazität. Zum Beispiel ist die Speicherkapazität begrenzt durch die Maximalzahl der Laufwerke, die in einem einzigen System miteinander verbunden werden können. Für größere Systeme sind diese Grenzen aber nicht akzeptabel. In diesem Fall wird ein so genannter verteilter Multimedia Server eingesetzt. Verteilter Multimedia ServerEin verteilter Server hat dieselben Hard- und Software Komponenten wie ein einfacher Multimedia Server (Storage Subsystem, Prozessor Subsystem). Die Subkomponenten können nun auf verschiedene Weisen zusammengefasst werden, je nachdem, welche Vorteile man daraus ziehen bzw. welche Nachteile man umgehen will. Beispiel für die Architektur eines verteilten Multimedia ServerDie Abbildung zeigt eine mögliche Architektur eines verteilten Multimedia Server. Es werden dabei mehrere voneinander unabhängige einfache Multimedia Server zu einem verteilten Server zusammengefasst und mit dem Netzwerk verbunden. Wichtig bei der Zusammensetzung ist, dass der Verbund der verschiedenen Server wie ein einziger Server agieren kann.
Beispiel für die Architektur eines verteilten Multimedia Server Belastungsausgleich StrategieDer durch den Verbund entstandene verteilter Multimedia Server hat nun zwar eine größere Kapazität als die einzelnen Multimedia Server, allerdings kann die Unausgewogenheit der Serverbelastungen zum Problem werden, die die gewonnene Kapazität wieder reduziert. Eine Lösung des Problems bringt eine Belastungsausgleich Strategie (load-balancing policy). Allerdings ist dazu zusätzliche Hardware erforderlich, mittels derer Dateien von einem Server auf andere kopiert werden können. Weiters benötigt man einen zusätzlichen, alle einfachen Multimedia Server umspannenden Control Server. Diese Maßnahmen verursachen naturgemäß erhöhte Hardwarekosten und eine Komplexitätszunahme der Software. Bei der Entwicklung eines verteilten Multimedia Server muss daher immer ein geeigneter Kompromiss zwischen gewünschter Performance und wirtschaftlich vertretbaren Kosten gefunden werden. Vorteile durch SkalierungDa ein verteilter Multimedia Server aus vielen kleineren Komponenten besteht, können auch Vorteile aus der Skalierbarkeit des Servers gezogen werden. Beispiel: Zusammenfassung unterschiedlicher RequestsBeziehen sich unterschiedliche Requests auf ein und dasselbe Multimedia Dokument, so können diese zusammengefasst werden. Betreffende Clients können dann mit einem einzigen Datenstrom beliefert werden. In den meisten Fällen allerdings fordern die Clients die Daten zeitversetzt an. Hier bedient man sich z.B. der Interval Caching Strategie: Während der erste Client mit dem Datenstrom beliefert wird, werden die Daten gleichzeitig in einen Pufferspeicher gecacht. Die nachfolgenden Clients werden dann mit entsprechenden Daten aus dem Puffer bedient. Multimedia Server - Hardware1Hardware Komponenten eines Multimedia Servers
Hardware eines einfachen Multimedia Servers SpeichergeräteCharakterisierung
SpeichergerättypenMagnetische Disklaufwerke
Disklaufwerk bei offenen Gehäuse [ibm]: Ein Disklaufwerk besteht aus mehreren magnetischen Platten, die über eine gemeinsame Welle angetrieben werden. Jede Platte hat einen eigenen Schreib/Lesekopf. Die Daten werden in konzentrischen Kreisen (Tracks ) gespeichert Magnetbänder
Magnetbänder [ibm] CDs und DVDs
Direkter Vergleich unterschiedlicher Speichergeräten
Tabelle: Vergleich unterschiedliche Speichergeräte Device Interface/Controller
2Hardware Komponenten eines Multimedia ServersUntenstehende Abbildung zeigt die typischen Hardware Komponenten eines einfachen Multimedia Servers. Die Speichergeräte sind über geeignete Device Interfaces (Controllers) mit dem Prozessor verbunden. Die Speichergeräte können dabei von unterschiedlicher Art sein: Disk-, CD- oder DVD-Laufwerke, Magnetbänder.
Hardware eines einfachen Multimedia Servers SpeichergeräteCharakterisierungZur individuellen Charakterisierung der unterschiedlichen Speichergeräte bedient man sich der Beschreibung der Eigenschaften Speicherkapazität, Zugriffszeit und Bandbreite. SpeicherkapazitätGibt an, über wie viel Speicherplatz das Speichergerät verfügt. Dieser Wert spielt vor allem für Multimedia Daten eine große Rolle, da diese im Allgemeinen sehr viel Speicherplatz benötigen. ZugriffszeitAls Zugriffszeit wird bei Speichergeräten jene Zeit verstanden, die zwischen Ankunft des Requests und Bereitstellung der gewünschten Daten vergeht. Eine geringe Zugriffszeit ist unabdingbar für interaktive Anwendungen. Weiters steht die Zugriffszeit in direktem Zusammenhang mit der Transferrate: Während der Dauer eines Zugriffs können keine Daten bearbeitet werden, die durchschnittliche Transferrate wird daher bei langen Zugriffszeiten reduziert. BandbreiteDie Bandbreite eines Speichergerätes gibt die maximale Datenrate des Speichergerätes an. Die Einheit der Bandbreite ist MB/s. SpeichergerättypenMagnetische DisklaufwerkeMagnetische Disklaufwerke bieten die höchste Transferrate aller Speichergeräte. Sie sind daher bestens für Daten geeignet, die oft und/oder von vielen Clients gleichzeitig aufgerufen werden. Welche Möglichkeiten es gibt, einzelne Laufwerke zu einem Verbund zusammen zu schließen, wird in der Lerneinheit RAID Speichersysteme ausführlich beschrieben.
Disklaufwerk bei offenen Gehäuse [ibm]: Ein Disklaufwerk besteht aus mehreren magnetischen Platten, die über eine gemeinsame Welle angetrieben werden. Jede Platte hat einen eigenen Schreib/Lesekopf. Die Daten werden in konzentrischen Kreisen (Tracks ) gespeichert MagnetbänderMagnetbänder bieten eine hohe Speicherkapazität, aber sind auf Grund der hohen Zugriffszeit (57-100Sekunden) für häufige Zugriffe und/oder Interaktivität nicht geeignet. Magnetbänder dienen primär als Datenarchiv. Sollen die archivierten Daten für häufige Zugriffe zur Verfügung stehen, müssen diese zuerst auf ein geeignetes Speichermedium überspielt werden.
Magnetbänder [ibm] CDs und DVDsCDs und DVDs sind so ausgelegt, dass aufgrund der hohen Zugriffszeiten immer nur ein einziger Datenstrom ausgelesen werden kann. DVDs bieten gegenüber CDs eine höhere Speicherkapazität (4,7-18 GB) und eine höhere Bandbreite. Neben Audio- und Videodaten werden DVDs und CDs in Multimedia Umgebungen auch als Speicher für Multimedia Objekte eingesetzt. Direkter Vergleich unterschiedlicher SpeichergerätenIn folgender Tabelle werden die unterschiedlichen Speichergeräte bezüglich Kapazität, Zugriffszeit und Bandbreite miteinander verglichen.
Tabelle: Vergleich unterschiedliche Speichergeräte Device Interface/ControllerDie Device Interfaces bzw. Controllers haben zwei Hauptaufgaben zu erfüllen. DatenpufferDie Speichergeräte beinhalten meist mechanische Komponenten und sind daher langsamer als der Prozessor. Aufgabe des Interfaces ist es nun, die Daten zu puffern und deren Ausgabegeschwindigkeit an den Prozessor anzupassen. Entlastung des ProzessorsMeist ist es so, dass eine ganze Kette von Befehlen nötigt ist, um einen gewünschten Datenblock von einem Speichergerät eindeutig aufrufen zu können. Diese Befehlskette wird zwar vom Prozessor an das Interface geschickt, abgearbeitet wird diese aber dann im Controller, der Prozessor selbst ist so von dieser Arbeit befreit. LOD 3Magnetische Disklaufwerke
Multimedia Server - Software1QoS KomponentenWas und Wozu ist QoS?
Beispiel: QoS
QoS Architektur eines Multimedia Servers Application Server
Komponenten eines Application Servers Control Server
Komponenten eines Control Servers Data Server
Komponenten eines Datenservers 2QoS KomponentenWas und Wozu ist QoS?Lokale WiedergabeMultimedia Dokumente wie Video und Audiodaten müssen auf Clientseite ohne Aussetzen wiedergegeben werden können. Eine Möglichkeit für eine kontinuierliche Wiedergabe wäre, das Multimedia Dokument zuerst vollständig zu laden und dann lokal abzuspielen. Multimedia Dokumente sind aber im Allgemeinen sehr groß, die Performance wäre dementsprechend schwerfällig. Auch Echtzeitanwendungen sind mit dieser Methode nicht möglich. Wiedergabe in EchtzeitDie Wiedergabe eines Videos/Audios startet auf Clientseite bereits, nachdem die ersten Frames eingetroffen sind. Um eine kontinuierliche Wiedergabe garantieren zu können, muss nun dafür gesorgt werden, dass die nachfolgenden Frames dem Client jeweils zeitgerecht nachgeliefert werden. Für kritische Echtzeitanwendungen wie Videokonferenzen müssen zusätzlich die durch die Übertragung eingeführte Zeitverzögerungen möglichst gering gehalten werden. In welcher Qualität den Anforderungen jeweils nachgekommen werden muss, beschreiben die Parameter des Quality of Service (QoS). Serverseitig ist der Control Server hauptverantwortlich für die Einhaltung des QoS. Weiters hängt das erzielbare QoS von der speziellen Anwendung, von den zur Verfügung stehenden Ressourcen und von der Qualität der Strategien, die in den verschiedenen Teilen des Systems dafür implementiert sind, ab. Beispiel: QoSDie Abbildung zeigt einen Multimedia Server, der Videokonferenz- und Video-on-Demand Anwendungen unterstützen soll. Für beide Anwendungen gibt es einen eigenen Manager: Der Video Conference Manager arbeitet Requests bezüglich Videokonferenzen ab, der Multimedia Playback Manager bedient Clients, die das Video-on-Demand Service in Anspruch nehmen wollen. Beide sind mit dem Control Server verbunden. Die Manager liefern diesem requestspezifische Daten, die notwendig sind, um passende Ressourcen Reservierungen zwecks Einhaltung der QoS vornehmen zu können. Solchen Daten können zum Beispiel für eine Videokonferenz die Werte der gewünschten Bitrate und der maximal tolerierbaren Zeitverzögerungen sein. Sind alle Vorbereitungen abgeschlossen, wird der Datenaustausch Client/Datenserver gestartet.
QoS Architektur eines Multimedia Servers Application ServerDie Abbildung zeigt die Komponenten eines Application Servers.
Komponenten eines Application Servers Das User Interface ist die Schnittstelle zwischen Client und dem Multimedia Server. Sie empfängt die Requests und schickt anfragerelevante Antworten zurück (Beispiel Videokonferenz: Client wünscht eine Videokonferenzverbindung, Userinterface übermittelt dem Client die Erlaubnis). Die Content Datenbank beinhaltet verfügbare Informationen von den auf dem Dataserver liegenden Multimedia Daten (Beispiel Video-on-Demand: Filmname, Regisseur, Schauspieler, Genre etc , zu bezahlender Preis) in der User Database sind Client Daten gespeichert. Diese können zum Beispiel für ein login Service (Password) dienen, aber auch zur Erstellung eines kundenspezifischen Bestellprofils verwendet werden. Die Billing Database enthält Informationen, die zur Gebührenabwicklung eines bestimmten Services notwendig sind. Mittels Service Gateways kann der Multimedia Server mit anderen Services interagieren. Control Server
Komponenten eines Control Servers Via Administrator Interface hat der Administrator Zugriff auf den Multimedia Server. Er kann über diese Schnittstelle den Server konfigurieren, initialisieren und niederfahren. In der Configuration Database werden die für alle Subkomponenten wichtigen Konfigurationsdaten gespeichert. Die Server Initialisierung erfordert sowohl die Initialisierung der Hardware wie auch der Software. Diese Informationen werden in der Konfigurationsdatenbank gespeichert. Nach der Initialisierung wird die Konfigurationsdatenbank von der Subkomponente Server Initialisierung upgedated (Beispiel: Es werden alle Geräte, die während der Initialisierung fehlerhaft waren, off-line gesetzt). Weiters sind in der Konfigurationsdatenbank die vom Administrator gesetzten Parameter gespeichert (Beispiel: Der Administrator kann speziellen Anwendungen einen bestimmten Grad an Priorität zuordnen). Die Server Shutdown Subkomponente erfüllt während des Niederfahrens die gleichen Aufgaben wie die Subkomponente Server Initialisierung während des Hochfahrens. Admission Control: In der Konfigurationsdatenbank sind Daten gespeichert, die der Ressource Manager benötigt, um für individuelle Datenströme die geeigneten Ressourcen reservieren und so die geforderte QoS garantieren zu können. Diese Daten werden nun während des Hochfahrens des Servers von der Konfigurationsdatenbank kopiert. Um auch auf nicht vorhersehbare Ereignisse (Beispiel: Ein Speichergerät fällt aus) reagieren zu können, muss es dem Administrator gestattet sein, auch während des Betriebes Änderungen in der Admission Control Komponente vorzunehmen. Solche Änderungen müssen natürlich an die Konfigurationsdatenbank weiter gegeben werden. Die Server Optimization Subkomponente hat die Aufgabe, unterschiedlichste Systemoptimierungen durchzuführen, um eine maximale Gesamtperformance des Multimedia Servers zu erzielen. Diese Komponente interagiert ebenfalls sowohl mit der Konfigurationsdatenbank wie auch mit dem Administrator Interface. Data Server
Komponenten eines Datenservers Im File System sind die Multimedia Daten gespeichert. Der Data Importer ermöglicht, dass auch Multimedia Daten von externen Geräten in das System importiert werden können. (Beispiel für externe Geräte: Videokamera, Magnetband). Die Verwaltung des Pufferspeichers übernimmt der Puffer Manager. Um Multimedia Daten kontinuierlich auslesen zu können, müssen Unregelmäßigkeiten, die zum Bespiel durch variierende Zugriffszeiten bei einer Festplatte entstehen, ausgeglichen werden. Dazu werden die Daten gepuffert. Handelt es sich um ein System, dass häufig angeforderte Daten cacht, ist der Puffer Manager auch für die Cache Memoryverwaltung verantwortlich. Der Data Exporter schließlich liefert die Daten an den Client. Datenplatzierung [gros1997,293] [gros1997,307-313]1auto
2Warum DatenplatzierungMagnetische Disks sind bis heute die unangefochten wichtigsten Massenspeicher für Computersysteme. Das gilt auch für zukünftige Multimedia-on-Demand Netzwerke. Magnetische Disks haben allerdings den Nachteil, dass die maximale Transaktionsrate, und damit die Maximalzahl der gleichzeitig bearbeitbaren Requests beschränkt ist. Diese Eigenschaft wirkt sich besonders bei Echtzeit Multimedia-on-Demand Services negativ aus, da Multimedia Daten möglichst ohne zeitliche Verzögerungen direkt von der Disk an die verschiedenen Clients unter Einhaltung des QoS geliefert werden sollen. Die Transaktionsrate hängt nun stark davon ab, wo welche Multimedia Daten auf der Disk (oder den Disks) angeordnet sind. Datenplatzierungsstrategien versuchen nun Multimedia Daten so zu platzieren, dass einerseits die durch diverse Suchvorgänge eingeführte Verzögerungszeit möglichst gering gehalten und die Transaktionsrate somit erhöht wird, andererseits dass die Dateien so auf die verschiedenen Speichergeräte aufgeteilt werden, dass man mit den gerätespezifischen Werte für die Bandbreite und Speicherkapazität den während des Betriebes gestellten Anforderungen möglichst nachkommen kann. Man unterscheidet dabei grundsätzlich zwischen Block- und Dateienplatzierungsstrategien. BlockplatzierungsstrategienDiese Strategien trachten danach, dass die Blöcke der unterschiedlichen Multimedia Dateien auf einer Disk physisch so angeordnet werden, dass unterschiedliche Sequenzen derselben Multimedia Datei beziehungsweise verschiedener Dateien mit minimalem Seek Overhead ein- bzw. ausgelesen werden können. Es gibt nun Strategien, die die Blöcke auf einer einzigen Disk platzieren: dazu gehören unter anderem die Everest-, Orgelpfeifen- und die REBECA Strategie sieheLerneinheit Datenplatzierung. Weiters gibt es Strategien, die die Blöcke einer Datei auf unterschiedliche Laufwerke aufteilen. Dazu gehört die Technik des Stripings (siehe Lerneinheit RAID Speichersysteme). Dateienplatzierung StrategienEin Multimedia Server besitzt im Allgemeinen eine größere Anzahl von unterschiedlichen Speichergeräten. Dateienplatzierungsstrategien haben die Entscheidung zu treffen, auf welchen Speichergeräten welche Dateien und wie viele Kopien davon gespeichert werden müssen, um auch hohe Belastungen unter Einhaltung der vorgegebenen Bandbreiten- und Kapazitätswerte bewältigen und den Kunden somit eine optimale Performance bieten zu können. Bei der Entwicklung von Dateienplatzierungsstrategien ist zu berücksichtigen, dass die Speichergeräte in Bezug auf Bandbreite und Speicherkapazität begrenzt sind, dass verschiedene Dateien unterschiedlich groß und unterschiedlich beliebt sind (und diese Popularität sich mit der Zeit ändern kann), dass das Verschieben von Multimedia Dateien auf Grund ihrer Größe sehr zeitintensiv ist, und vieles mehr. Näheres siehe Lerneinheit Datenplatzierung. 3auto
|
To do:
Akronyme CD – Compact Disc CPU - Central Processing Unit DVD - Digital Versatile Disc (ursprünglich: Di gital Video Disc) GB - Gigabyte MB/s – Megabytes pro Sekunde MOD – Multimedia-on-Demand QoS – Quality of Service VOD – Video-on-Demand Glossar Durchsatz - Die (Daten)menge, die in einer bestimmten Zeit verarbeitet wird Gleichzeitigkeit - Maximalzahl der Clients, die Server gleichzeitig bedienen kann Transaktionsrate – I/O Rate Transferrate – Durchsatzrate, Datenübertragungsgeschwindigkeit |