Spezifikation der Module / Programme SmartPump Spezifikation der Module / Programme
Topologie alien06 gisele 10.0.2.6 alien07 catherine 10.0.3.7 1 2 1 2 2 3 Internet 1 2 alien05 salma 10.0.2.5 alien03 drew 10.0.3.3 1 2 alien08 denise 10.0.3.8 1 2 alien02 jennifer 10.0.2.2 1 alien01 venus 10.0.1.1 2 1 2 1 3 alien04 wynona 10.0.4.4 1 2 Client Servant Master X = ethX 4 alien10 pamela 10.0.4.10 1 2 alien09 sarah 10.0.4.9 1 2 Der SmartPump Server
Schichtenmodell Player Server RTSP RTSP Anwen- dungs- schicht RTCP RTP UDP TCP UDP TCP Rechner- grenze Kernel- schicht IP v4 MPLS Der SmartPump Server
Module & Kommunikation Master Main Optimierung Servant Client-Simulatoren Schnittstellen Steuerung / Kommunikation: RTSP Video Streaming: RTP / TCP Monitoring der Streams: RTCP Der SmartPump Server
Module & Kommunikation (2) MPEG ... MPEG MPEG ... MPEG entfernt lokal lokal lokal lokal Berkeley DB Berkeley DB Master hat Informationen über alle Programme (lokal & global) RTSP RTSP Servants hat nur Informationen über lokale Programme RTP RTP TCP TCP Modul Optimierer RTCP RTCP RTSP RTP RTCP Datenströme Kontrollströme Monitoring RTSP RTP RTCP Client möchte Programm empfangen Der SmartPump Server
Modul – Master Servant fragt Programm an Servant schickt Information Master legt Route und Sender fest Sender konfigurieren Abruf des Programms speichern (für Optimierer) Servant schickt Information Optimierung & Umverteilung externes Modul von Optimierungs-Teilgruppe anschließend Programme verteilen Master ist gleichzeitig auch Servant Videos auf seiner Festplatte vorhanden Unterschied zu Servants: keine Clients angeschlossen Der SmartPump Server
Anfragen der Clients bedienen Modul – Servants Anfragen der Clients bedienen Anfrage kann lokal bedient werden Stream direkt zum Client schicken außerdem Master informieren (für Optimierung) Anfrage kann nicht lokal bedient werden Anfrage an Master weiterleiten Befehle des Masters ausführen Programme streamen (Senden) Route im MPLS-Header definieren Der SmartPump Server
Modul – Client-Simulator Client-Simulatoren mehrere Anfragen an Servants stellen Auswahlalgorithmus Streams empfangen (ohne Darstellung) Anfragen nach Vorgabe Algorithmus arbeitet mit Optimierungsteil zusammen wünschenswert: Implementierung durch Optimierungsgruppe Der SmartPump Server
Datenbank aktuell von uns geplant Berkeley DB Operationen (Einfügen, Löschen,...) bereits in SmartPump implementiert von uns geplant jeder Server hat eigene DB einfügen über die bekannten Operation Master veranlasst alle Umverteilungen Datenbank mit globalem Wissen im Master kann problemlos aktuell gehalten werden Der SmartPump Server
Bei Anfragen von Clients gibt es mehrere Möglichkeiten: Client-Anfragen Bei Anfragen von Clients gibt es mehrere Möglichkeiten: Video lokal vorhanden Video nicht lokal vorhanden Video nicht gefunden Veranschaulichung durch Sequenzdiagramme wer interessiert ist: Paper (Homepage) Der SmartPump Server
Schnittstelle zu Optimierern Input Liste mit den seit dem letzten Aufruf angeforderten Programmen Programm Ort (Servant-ID) Uhrzeit abgebrochen (ja / nein) Liste, wo sich welches Programm befindet Realisierung als Funktion innerhalb des Masters übergeben von zwei Zeigern auf Listen Der SmartPump Server
Schnittstelle zu Optimierern (2) Output Liste von Programmen inkl. Server, auf dem sie platziert werden sollen Rückgabe eines Zeigers auf diese Liste Der SmartPump Server