Spezifikation der Module/Programme (Optimierer

Werbung
SmartPump
Spezifikation der
Module / Programme
Topologie
2
2
alien06
gisele
10.0.2.6
1
2
0
1
Internet
0
1
1
3
0
2
alien05
salma
10.0.2.5
alien07
catherine
10.0.3.7
1
alien02
jennifer
10.0.2.2
2
0
0
1
1
alien01
venus
10.0.1.1
0
2
alien03
drew
10.0.3.3
1
2
0
alien08
denise
10.0.3.8
2
3
0
Servant
Master
2
0
2
Der SmartPump Server
alien10
pamela
10.0.4.10
1
alien04
wynona
10.0.4.4
4
Client
1
0
1
X
alien09
sarah
10.0.4.9
= ethX
2
2
Schichtenmodell
Player
Server
RTSP
RTSP
RTCP
RTP
UDP TCP
RTCP
Rechnergrenze
RTP
UDP TCP
IP v4
IP v4
MPLS
MPLS
Der SmartPump Server
Anwendungsschicht
Kernelschicht
3
Module & Kommunikation
 Module
1. Master
1. Main
2. Optimierung
2. Servant
3. Client-Simulatoren
 Schnittstellen
 Steuerung / Kommunikation: RTSP
 Video Streaming: RTP / TCP
 Monitoring der Streams: RTCP
Der SmartPump Server
4
Module & Kommunikation (2)
...
MPEG
lokal
MPEG
lokal
lokal
•hat Informationen über
alle Programme
(lokal & global)
Modul
Optimierer
RTSP
RTSP
RTP
RTP
TCP
TCP
RTCP
RTCP
Datenströme
Kontrollströme
Monitoring
Der SmartPump Server
MPEG
lokal
Berkeley DB
Berkeley DB
Master
...
MPEG
entfernt
Servants
•hat nur Informationen
über lokale Programme
RTSP
RTP
RTCP
RTSP
RTP
RTCP
Client
•möchte Programm
empfangen
5
Modul – Master
 Servant fragt Programm an
 Master legt Route und Sender fest
 Sender konfigurieren
 Abruf des Programms speichern (für Optimierer)
 Servant schickt Information
 Abruf des Programms speichern (für Optimierer)
 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
6
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
7
Modul – Client-Simulator
Client-Simulatoren
 mehrere Anfragen an Servants stellen
 Auswahlalgorithmus
 Streams empfangen (ohne Darstellung)
Auswahlalgorithmus
 Anfragen nach Vorgabe
 Algorithmus arbeitet mit Optimierungsteil
zusammen
 wünschenswert: Implementierung durch
Optimierungsgruppe
Der SmartPump Server
8
Datenbank
aktuell
 Berkeley DB
 Operationen (Einfügen, Löschen,...) bereits in
SmartPump implementiert
von uns geplant
 Berkeley DB
 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
9
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
10
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
11
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
12
Herunterladen