Effizientes Scheduling in kooperativen Multimedia-Streaming-Systemen

Größe: px
Ab Seite anzeigen:

Download "Effizientes Scheduling in kooperativen Multimedia-Streaming-Systemen"

Transkript

1 Fakultät für Informatik und Automatisierung Institut für Praktische Informatik Fachgebiet Telematik DIPLOMARBEIT ZUR ERLANGUNG DES AKADEMISCHEN GRADES DIPLOMINFORMATIKERIN Thema: Effizientes Scheduling in kooperativen Multimedia-Streaming-Systemen vorgelegt der Fakultät für Informatik und Automatisierung der Technischen Universität Ilmenau von Verfasserin: geboren am: 3. Juni 1980 Inv.-Nr.: /014/IN99/2253 verantwortlicher Hochschullehrer: betreuender wiss. Mitarbeiter: Prof. Dr.-Ing. Dietrich Reschke Dipl.-Inf. Thorsten Strufe Ort und Abgabe der Diplomarbeit: Ilmenau, den 21. Juni 2005

2

3 1. Kurzfassung Die Diplomarbeit Effizientes Scheduling in kooperativen Multimedia-Streaming-Systemen beinhaltet die Entwicklung einer eigenen Schedulingstrategie für Multimedia- Streaming. Nach der Untersuchung der aktuell vorliegenden Ansätze zum Scheduling der Streaming- Daten werden die Anforderungen festgelegt und der Entwurf für eine eigene Schedulingstrategie angefertigt. Die resultierende Schedulingstrategie Recursive Bandwidth Class Based Scheduling (RBCS) trägt zur Verbesserung des Streamings der Multimedia- Daten in einem kooperativen Peer-to-Peer-Netzwerk in Hinblick auf die Berücksichtigung der ausgehenden Bandbreiten der Peers bei. Es benötigt jedoch für eine gute Ausführung eine Schätzung der ausgehenden Bandbreiten der Peers. RBCS wird in das vorliegende Multimedia-Streaming-System ekstream als eine Komponente integriert und getestet.

4 4 1. Kurzfassung

5 Inhaltsverzeichnis 1. Kurzfassung 3 Inhaltsverzeichnis 8 2. Einleitung und Motivation Multimedia-Streaming-System ekstream Bedeutung und Ziel des Schedulings Aufbau der Diplomarbeit Grundlagen Streaming von Multimedia-Daten Kooperatives System Charakteristiken des Streamings Funktion der Pufferung Fehlerfälle bei der Übertragung Streaming-Parameter Arten des Streamings Multicast auf der Anwendungsebene Overlay-Netz Bewertungskriterien für ALM Peer-to-Peer-System P2P-Streaming-System Scheduling Scheduling im Bereich der Betriebssysteme Einordnung des Schedulings in den Streaming-Kontext Existierende Ansätze ostream

6 6 Inhaltsverzeichnis 4.2. Optimales Multiplexing PALS P2P-Medien-Streaming-System Optimale Zuweisung der Mediendaten Verteilte und unterscheidende Zugangskontrolle Weitere existierende Multimedia-Streaming-Systeme Fazit Anforderungsanalyse Charakteristiken des Schedulings Koordinator des Schedulings Schedulingszenarien Mögliche Erweiterungen der Schedulingfunktionalität Allgemeine funktionale Anforderungen Anforderungen an das Netzwerk Anforderungen an die Kommunikation Anforderungen an das Scheduling Nicht funktionale Anforderungen Funktionale Anforderungen Funktionale Anforderungen an die Bestimmung der Bandbreite Entwurf P2P-Streaming-Modell Ideen zur Schedulingstrategie Plain Scheduling MAXFLOW-Algorithmus Minimaler Spannbaum Optimal Media Data Assignment Eigene Ansätze Gewählter eigener Ansatz: RBCS Formale Beschreibung Exemplarische Veranschaulichung Bandbreiten-Bestimmung Grundlegende Definitionen zur Bandbreite

7 Inhaltsverzeichnis Existierende Ansätze Realisierung Implementierung Vorgaben an die Implementierungsumgebung Entwicklungsumgebung Integration in ekstream Implementierung des Schedulings RBCS Abstrakte Klasse zum Scheduling Beachtung der Zeitproblematik Scheduling einer Session Scheduling eines Streams Behandlung von defekten Links Implementierung der Bandbreiten-Bestimmung Test Testumgebung Vorbereitung für die Testsetups Implementierung eines Plain Scheduling Test der Bandbreiten-Bestimmung Testszenarien Aufbau des Overlay-Netzes Bandbreitenverbrauch Paketverlust Delay Schlussbemerkungen Bewertung und Ausblick Zusammenfassung A. Bewertung der existierenden Ansätze 129 B. Existierende Ansätze zur Bandbreiten-Bestimmung 137 B.1. cprobe B.2. IGI/PTR

8 8 Inhaltsverzeichnis B.3. pathchirp B.4. pathload B.5. TOPP C. Vorgehen zum Ausführen eines Tests 143 C.1. Herunterladen des Projekts C.2. Kompilieren der Testdateien C.3. Konfigurieren des Datenstroms C.4. Starten der Testdateien C.5. Starten des mplayers Literaturverzeichnis 147 Abbildungsverzeichnis 153 Tabellenverzeichnis 155 Abkürzungsverzeichnis 158 Thesen 159 Eidesstattliche Erklärung 161

9 2. Einleitung und Motivation Die Diplomarbeit Effizientes Scheduling in kooperativen Multimedia-Streaming-Systemen lässt sich in den Bereich Multimedia-Streaming einordnen. Der Einsatz des Multimedia-Streamings findet zunehmend mit breit gefächerten Streaming-Angeboten im Internet, z. B. als Live-Streaming für die Übertragung eines Fußballspiels oder eines Konzerts, Anwendung. Multimedia-Daten setzen sich aus einem Audio- und einem Video-Datenstrom zusammen, weisen eine bestimmte Bitrate auf und werden den Streaming-Teilnehmern in einer Netzwerk-Infrastruktur bereitgestellt. Der Streaming-Prozess stellt einen kontinuierlichen Vorgang dar. Er muss so erfolgen, dass der Empfänger die angeforderten Multimedia-Daten erhält und diese dann mit geringer Verzögerung wiedergeben kann. Um eine Entlastung der Quelle, welche die Multimedia-Daten zuerst anbietet, zu erreichen, sollte ein Streaming-Teilnehmer ein kooperatives Verhalten aufweisen. Ein kooperatives Verhalten bedeutet, dass die von einem Streaming-Teilnehmer bereits empfangenen Multimedia-Daten an andere anfordernde Teilnehmer weitergereicht und nicht nur von einer zentralen Quelle bezogen werden. Da ADSL (Asymmetric Digital Subscriber Line) als Anbindung an das Internet weit verbreitet ist, existiert meist ein großer Unterschied zwischen dem Downstream und dem Upstream eines Streaming-Teilnehmers. Aufgrund des größeren Downstreams im Vergleich zum Upstream erfolgt eine Verteilung der Multimedia-Daten effizienter, wenn die Ressourcen der Streaming-Teilnehmer, welche Daten anbieten, berücksichtigt werden. Darüber hinaus sollte die Möglichkeit, Multimedia-Daten von mehreren anbietenden Streaming-Teilnehmern zu beziehen (Multi-Source-Streaming), bestehen. Im Folgenden wird auf die Architektur des existierenden Multimedia-Streaming-Systems ekstream 1 eingegangen, die Notwendigkeit der Realisierung eines geeigneten Schedulings begründet und der Aufbau dieser Diplomarbeit vorgestellt. 1

10 10 2. Einleitung und Motivation 2.1. Multimedia-Streaming-System ekstream Das kooperative Streaming-System ekstream knüpft an die Erfahrungen des IlmStream- Projekts (nach [Strufe (2004)] und [Kärst (2004)]) an und soll durch seine offene und universelle Struktur die Möglichkeit zur Erprobung verschiedener Algorithmen bieten. Die Abbildung 2.1 veranschaulicht die Architektur von ekstream. Im Folgenden werden die Komponenten der Architektur, welche das Scheduling betreffen, kurz beschrieben. Abbildung 2.1.: ekstream-architektur Die Multimedia-Daten werden nach dem Consumer/Producer-Prinzip im System be-

11 2.2. Bedeutung und Ziel des Schedulings 11 handelt. Die Source Nodes geben ihre Multimedia-Daten an den Receiver weiter, welcher dann die empfangenen Daten im lokalen Puffer speichert. Der Forwarder erhält die Multimedia-Daten aus dem lokalen Puffer. Die Multimedia-Angebote werden in Sessions, welche aus mehreren Streams (z. B. Audio und Video) bestehen, unterteilt. Die Ergebnisse dieser Diplomarbeit werden in die Komponente Scheduler 2 integriert. Die Lokalisierung liefert dem Scheduler eine Menge an geeigneten Knoten, sodass er nach seiner Strategie eine Quellenauswahl treffen und dem Link Control eine Menge an aufzubauenden Links zurückgeben kann. Das Admission Control der Quellen trifft die Entscheidung, ob diese Links aufgebaut werden dürfen. Fehlerhafte Links werden vom Link Control erkannt und dem Scheduler gemeldet. Über das Network Measurement erfolgen u. a. die Messungen der Bandbreite Bedeutung und Ziel des Schedulings Es stellt sich die Frage, aus welchem Grund das Scheduling für das Streaming von Multimedia-Daten elementar ist und welche Bedeutung es einnimmt. Abstrakt betrachtet, finden sich mehrere Teilnehmer zum Streaming zusammen, weil sie gegenseitig Multimedia-Daten austauschen wollen. Mit Hilfe des Schedulings soll die Art und Weise dieses Datenaustauschs zwischen den anbietenden und anfordernden Teilnehmern festgelegt werden. Relevante Aspekte wie die Anzahl der anbietenden und der anfordernden Teilnehmer, die Verfügbarkeit und der Zeitpunkt der Anforderung der Multimedia-Daten, die Bitrate des Datenstroms sowie die eingehenden und ausgehenden Bandbreiten der Streaming-Teilnehmer stellen die Randbedingungen für das Scheduling dar. Die zu entwickelnde Schedulingstrategie soll die Ressourcen, insbesondere die ausgehenden Bandbreiten der anbietenden Streaming-Teilnehmer, betrachten und in Abhängigkeit dieser die Aufteilung des Datenstroms bezüglich der anbietenden Teilnehmer vornehmen. Daher repräsentiert die Realisierung der Bandbreiten-Bestimmung für das Scheduling eine notwendige Voraussetzung. Nach dem Entwurf einer eigenen Schedulingstrategie soll diese in ekstream zur Verbes- 2 In späteren Versionen von ekstream wird diese Komponente in die Komponenten Scheduling und Lastverteilung aufgeteilt, um einzelne Strategien noch genauer untersuchen zu können.

12 12 2. Einleitung und Motivation serung der Verteilung der Multimedia-Daten integriert werden Aufbau der Diplomarbeit Im Kapitel 3 werden die Grundlagen des Multimedia-Streamings und der zugehörigen Bereiche zusammenfassend dargestellt, um ein Grundverständnis zur Thematik aufzubauen. Anschließend erfolgen im Kapitel 4 die Vorstellung und die Bewertung existierender Streaming-Systeme in Bezug auf die Realisierung des Schedulings. Im Kapitel 5 werden die notwendigen Anforderungen für das Scheduling und für die Bandbreiten-Bestimmung spezifiziert und eine relevante Grundlage für den im Kapitel 6 folgenden Entwurf geschaffen. Darauf basierend wird im Kapitel 6 ein eigenes Peer-to-Peer-Streaming-Modell aufgebaut und nach der Gegenüberstellung möglicher Schedulingstrategien die eigene Schedulingstrategie RBCS entworfen. Den Abschluss des Kapitels 6 bildet nach der Betrachtung existierender Ansätze zur Bandbreiten- Bestimmung die Beschreibung ihrer Realisierung. Das Kapitel 7 enthält eine Beschreibung der Vorgaben an die Implementierung. Anschließend werden in diesem Kapitel die Inhalte zur Implementierung von RBCS und der Bandbreiten-Bestimmung geschildert. Die Beschreibung der Tests von RBCS und der zugehörigen Ergebnisse erfolgt im Kapitel 8. Im Kapitel 9 werden die erreichten Resultate der Diplomarbeit zusammengefasst und bewertet.

13 3. Grundlagen In diesem Kapitel werden die grundlegenden Begriffe dargelegt, um ein Basiswissen zum Themenbereich Streaming von Multimedia-Daten in kooperativen Systemen zu erlangen Streaming von Multimedia-Daten In der Abbildung 3.1 werden die einzelnen Schritte, die notwendig sind, einen Datenstrom zur Verfügung zu stellen, veranschaulicht. Zu Beginn wird eine Szene mit einer Kamera aufgenommen. Danach werden diese gewonnenen Multimedia-Daten mit einem Kodierungsverfahren komprimiert und auf einer Quelle zur Verfügung gestellt. Mit Hilfe spezieller Protokolle erfolgt der Transport der Multimedia-Datenströme unter der Benutzung von Transport- und Netzwerkprotokollen über das Netzwerk. Zum Schluss werden die Multimedia-Daten in einem kooperativen System als ein Teil eines Netzwerks bereitgestellt. Abbildung 3.1.: Einzelne Schritte von der Erzeugung bis zur Bereitstellung des Datenstroms

14 14 3. Grundlagen Kooperatives System Ein kooperatives System stellt eine Netzwerk-Infrastruktur dar, in welcher Netzwerk- Knoten Dienste anbieten und nutzen können. Der große Vorteil an solch einem Zusammenschluss ist die höhere Effizienz des kooperativen Systems, da das Anbieten der Dienste im System verteilt wird. Im Bereich des Multimedia-Streamings bedeutet dies, dass mehr als nur ein Netzwerk-Knoten die Multimedia-Daten anbietet, da die Netzwerk-Knoten einen Teil der Multimedia-Daten von der Quelle bereits übernommen haben und nun anbieten. Dadurch wird die Ausfallsicherheit des Systems erhöht, die Last bei der Quelle verringert und die Gesamtkapazität 1 im System vergrößert Charakteristiken des Streamings Nach [Künkel (2001), S. 11ff] werden zwischen diesen Netzwerk-Knoten Multimedia- Daten, Audio- und Videoinhalte, übertragen. Der Prozess dieser kontinuierlichen Übertragung wird als Streaming bezeichnet, ist durch die Zeitabhängigkeit und den größeren Speicherbedarf der Multimedia-Daten gekennzeichnet. Außerdem handelt es sich bei Multimedia-Daten um strukturierte Daten, da ihr Aufbau durch eine festgelegte Struktur bestimmt wird. Zusätzlich spielt die strikte zeitliche Abhängigkeit, vor allem bei Audio-Daten, eine Rolle Funktion der Pufferung Ein Netzwerk-Knoten fordert die Multimedia-Daten an. Diese Daten werden in einem Player wiedergegeben. Falls Wartezeiten auftreten, können diese mit Hilfe der Pufferung auf der Empfängerseite ausgeglichen werden. Die Pufferung kompensiert auch den Jitter, die Schwankungen bei der Übertragung, die im Netzwerk auftreten (siehe Abbildung 3.2). Die gesamte Verzögerung ergibt sich aus der Netzwerk-Verzögerung und der Wiedergabe-Verzögerung beim Netzwerk-Knoten. Das Streaming der Multimedia- Daten erfolgt über die Infrastruktur Internet. 1 Die Gesamtkapazität umfasst die Summe der verfügbaren Bandbreiten, welche den Netzwerk-Knoten die Nutzung der angebotenen Multimedia-Daten ermöglicht.

15 3.1. Streaming von Multimedia-Daten 15 Abbildung 3.2.: Darstellung der Pufferung auf der Empfängerseite, die den Jitter ausgleicht [Bianco (2002)] Fehlerfälle bei der Übertragung 1. Während der Übertragung der Multimedia-Daten kann ein Paketverlust auftreten, der nicht unbedingt mit einem erneuten Senden der verlorenen Pakete ausgeglichen werden kann, da es sich um eine kontinuierliche Übertragung handelt. Jedoch besteht die Möglichkeit die verloren gegangenen Pakete neu zu übertragen, wenn die Wiedergabe-Verzögerung ausreichend groß genug gewählt bzw. der Puffer beim Empfänger erhöht wurde. Unabhängig davon hängt das erneute Senden der Pakete vom Zeitpunkt der Detektion des Paketsverlusts beim Empfänger ab, da der Sender die Pakete eventuell nicht mehr vorrätig hat. Hierbei ist zudem zu bedenken, dass die Verlust-Detektion in verbindungslosen Netzen, wie sie in der Regel für Streaming verwendet werden, nicht trivial ist. 2. Des Weiteren kann es passieren, dass Pakete nicht rechtzeitig beim Empfänger ankommen. Dieses verspätete Senden der Pakete impliziert für die Wiedergabe der Multimedia-Daten die gleichen negativen Folgen wie ein Paketverlust, weil deren Wiedergabe-Zeitpunkt schon überschritten ist.

16 16 3. Grundlagen 3. Beim Übertragen kann eine Beschädigung der Pakete (Störungen auf der Netzwerkebene) auftreten, sodass der Empfänger diese nur fehlerhaft empfangen kann Streaming-Parameter Zwei wichtige Parameter während des Streaming-Prozesses stellen die Bandbreite des Übertragungsmediums und die Datenrate der zu übertragenden Multimedia-Daten dar. Für eine bessere Unterscheidung dieser beiden Parameter werden sie im Folgenden definiert: Bandbreite des Übertragungsmediums Bei der Bandbreite des Übertragungsmediums handelt es sich um die zur Verfügung gestellte Kapazität für die Datenübertragung pro Zeiteinheit. Über verschiedene Zugangspunkte zum existierenden Kommunikationsmedium werden diverse Bandbreiten angeboten (analoges Modem: 56 kbit/s, ISDN: 64 oder 128 kbit/s, DSL und Kabelmodems: einige MBit/s und LAN: momentan bis 10 GBit/s). Da der Empfang und die Wiedergabe der Multimedia-Daten nebeneinander erfolgt, muss die Bandbreite, die für die Übertragung zur Verfügung steht, mindestens so groß wie die verwendete Bitrate des Datenstroms sein. Datenrate des Datenstroms Aufgrund des hohen Datenvolumens der Multimedia-Daten ist eine Komprimierung (meist verlustbehaftet) notwendig. Videodaten erfordern im Gegensatz zu Audiodaten eine aufwändigere Komprimierung, da sie eine höhere Datenrate besitzen. Die Datenrate des Datenstroms beschreibt die Übertragungsgeschwindigkeit der Multimedia-Daten. Da die zu übertragenden Daten digital sind, wird die Bitrate als Art der Datenrate verwendet und in der Einheit Bit/s angegeben. Dabei ist die Bitrate nicht mit der Bandbreite gleichzusetzen. Es werden zwei Arten der Bitrate bei der Audiound Videokompression unterschieden: die konstante (CBR) und die variable (VBR) Bitrate.

17 3.2. Arten des Streamings Arten des Streamings Grundsätzlich kann das Streaming in zwei Arten klassifiziert werden: Live-Streaming und Streaming-on-Demand. Beim Live-Streaming werden die Daten von der Kamera an einen Netzwerk-Knoten, der Quelle, gesendet und dieser stellt sie allen anderen Netzwerk-Knoten zeitgleich zur Verfügung. Dagegen kann beim Streaming-on-Demand die Datenübertragung von der Quelle zu beliebigen Zeitpunkten und mit verschiedenen Offsets beginnen. Da der Datenstrom bei der Quelle bereits vollständig vorliegt, können die anderen Netzwerk-Knoten zukünftige Daten verwenden, was beim Live-Streaming nicht möglich ist. Das heißt, dass diese Netzwerk-Knoten die Möglichkeit haben, während des Streamings einen Zeitabschnitt im Datenstrom zu überspringen und an einem späteren Zeitpunkt das Streaming fortzusetzen oder ihren Puffer zu vergrößern, um damit mehr Daten erhalten zu können. [Künkel (2001)] 3.3. Multicast auf der Anwendungsebene Für die Punkt-zu-Mehrpunkt-Übertragung der Multimedia-Daten eignet sich Multicast, bei welchem Daten von einer Quelle an mehrere Mitglieder einer Multicast-Gruppe gleichzeitig versendet werden, wobei die Multicast-Adresse aus einem vorgegebenen Adressbereich wählbar ist. Jedoch findet die Verwendung des Multicasts auf der Netzwerkebene (auch IP-Multicast oder IPv4-Multicast genannt, Schicht 3 im ISO/OSI-Referenzmodell) durch die meisten ISPs nicht die notwendige Akzeptanz. Einer der Gründe hierfür sind die höheren Anforderungen an die Router im Gegensatz zur Unicast- Kommunikation. Der Einsatz von IP-Multicast erfordert von den Routern, dass sie alle Zustände der einzelnen Multicast-Gruppen verwalten können, damit erhöht sich der Overhead und die Komplexität der Router. Zusätzlich werden Mechanismen wie z. B. Zuverlässigkeit und Überlastungskontrolle (Congestion Control), welche auf IP- Multicast aufsetzen würden, aufgrund fehlender Erfahrung nicht verbreitet eingesetzt, sodass sich die ISPs mit der Realisierung von IP-Multicast zurückhalten. Ein weiterer Grund für die fehlende Motivation, IP-Multicast einzusetzen, ist das fehlende wohlde-

18 18 3. Grundlagen finierte Kostenmodell für den Multicast-Traffic. [Banerjee und Bhattacharjee (2002)] Als Alternative wird Multicast auf der Anwendungsebene 2 vorgeschlagen, dessen Protokolle die Multicast-Funktionalität nicht in der Netzwerk-Struktur umsetzen, sondern sie in den Endsystemen implementieren. Durch die Benutzung von ALM bilden die Endsysteme zusätzlich zur physikalischen Struktur des Netzwerks ein Verteilungsnetz, ein so genanntes Overlay-Netz. In der Abbildung 3.3 wird die grundlegende Idee von ALM mit der Gegenüberstellung zum IP-Multicast dargestellt. Die rechteckigen Kno- Abbildung 3.3.: Gegenüberstellung von IP-Multicast und ALM (incl. Overlay-Netz) [Banerjee u. a. (2002)] ten symbolisieren die Router und die kreisförmigen Knoten stellen die Endsysteme dar. Die grün gestrichelten Linien im rechten Bild repräsentieren die Nachbarschaftsbeziehungen der Knoten im Overlay-Netz. Die Datenpakete werden bei ALM von den Endsystemen repliziert und nicht wie beim IP-Multicast von den Routern. Es existieren bei ALM die physikalische Netzwerk-Infrastruktur (in der die Datenpakete mittels Unicast versendet werden) und das Overlay-Netz. Die identischen Pakete werden bei ALM über die gleiche physikalische Verbindung gesendet (z. B. in Abbildung 3.3 die Verbindung zwischen dem Endsystem 1 als Quelle und dem Router A). Damit ist diese Form des Multicasts weniger effizient als die des IP-Multicast. [Banerjee u. a. (2002)] 2 Multicast auf der Anwendungsebene kann auch als Application Layer Multicast bezeichnet werden und wird im Folgenden als ALM verwendet.

19 3.3. Multicast auf der Anwendungsebene Overlay-Netz In diesem Abschnitt werden die Strukturen, die Qualitätsmetriken und der Aufbau des Overlay-Netzes, welches bei der Verwendung von ALM entsteht, beschrieben. Anhand des Overlay-Netzes kann das kooperierende Streaming der Multimedia-Daten über dem physikalischen Netzwerk veranschaulicht werden. Strukturen Es gibt drei mögliche Strukturen des Overlay-Netzes: Multicast-Baum, Overlay-Netz ohne Kreise und Overlay-Netz mit Kreisen. Der Multicast-Baum stellt die einfachste Topologie des Overlay-Netzes dar und wird in der Abbildung 3.4 dargestellt. Dabei stellt hier der anbietende Knoten drei anfordernden Knoten seine Multimedia-Daten zur Verfügung. Abbildung 3.4.: Multicast-Baum Die zweite Topologie, kreisfreies Overlay-Netz mit Maschen, wird mit einem gerichteten Graph in der Abbildung 3.5 veranschaulicht, wobei hier ein anfordernder Knoten durch zwei anbietende Knoten bedient wird (das heißt hier gilt: Anzahl der anbietenden Knoten, die einen Knoten bedienen, kann größer als 1 sein), da die Bandbreite des einen anbietenden Knotens nicht ausreicht. Die dritte Topologie des Overlay-Netzes (zu sehen in Abbildung 3.6), Overlay-Netz mit Kreisen, erlaubt die Existenz von Kreisen im gerichteten Graph. Verbindungen zwischen den Knoten, welche die Generationshierarchie durchbrechen, sind zugelassen (in der Abbildung 3.6 als rot gezeichnete Kanten verdeutlicht). Dies kann als eine Art des Zurückgehens im Graph betrachtet werden. Des Weiteren dürfen Querverbindungen

20 20 3. Grundlagen Abbildung 3.5.: Kreisfreies Overlay-Netz mit Maschen zwischen Knoten der gleichen Generation (dargestellt als rot gezeichnete Kanten im Overlay-Netz in der Abbildung 3.6) existieren. Abbildung 3.6.: Overlay-Netz mit Kreisen Grundsätzlich haben alle drei Strukturen eine ursprüngliche Quelle, die keinen Vorgänger aufweist und den Datenstrom ihren Nachfolgern, den anfordernden Knoten, zur Verfügung stellt. Die Nachfolger, die zuerst von der ursprünglichen Quelle bedient werden, gehören in die Gruppe der ersten Generation. Sie bieten dann die empfangenen Multimedia-Daten ihren Nachfolgern an, welche der zweiten Generation angehören. Metriken für die Qualität Um die Qualität eines Overlay-Netzes für ALM einschätzen zu können, gibt es nach [Banerjee u. a. (2002)] und [Banerjee und Bhattacharjee (2002)] zwei Metriken für den Daten-Pfad: Stress: Die Metrik Stress zählt die Anzahl der identischen Pakete, die mit einem Protokoll über eine physikalische Verbindung oder einen Knoten gesendet wurde und ist pro Verbindung oder Router einer Topologie definiert.

21 3.3. Multicast auf der Anwendungsebene 21 Stretch: Dagegen ist die zweite Metrik Stretch pro Mitglied in der Multicast-Gruppe definiert und stellt das Verhältnis der Weglänge Quelle-Mitglied über das Overlay- Netz zur Länge des direkten Unicast-Wegs dar. Aufbau des Overlay-Netzes Das Overlay-Netz wird mit dem Ziel der Netzwerkeffizienz 3 aufgebaut und verwaltet. Externe Einflüsse wie die Dynamik des Systems, die Art der unterliegenden Verbindungen und das (Multicast-)Routing mit Nebenbedingung wirken ebenso auf die Konstruktion des Overlay-Netzes ein. Durch Nebenbedingungen wie z. B. Minimierung der Kosten, Maximierung des Flusses oder Minimierung der Verzögerung wird das Routing NP-vollständig Bewertungskriterien für ALM Im Allgemeinen können nach [Banerjee u. a. (2002)] und [Banerjee und Bhattacharjee (2002)] Protokolle für ALM nach zwei Aspekten eingeschätzt werden: Nachrichtenkomplexität: Qualität des Weges für die Datenlieferung: Mit Hilfe der Metriken Stress, Stretch und dem Grad des Knotens kann die Qualität des Overlay-Netzes beurteilt werden. Kontroll-Overhead: Für die effiziente Benutzung der Netzwerkressourcen sollte der Kontroll-Overhead bei den Mitgliedern niedrig sein. Im Overlay- Netz tauschen die Mitglieder Nachrichten, welche den Kontroll-Overhead an verschiedenen Routern, Verbindungen und Mitgliedern der Multicast- Gruppe erzeugen, zur Aktualisierung aus. Um die Skalierbarkeit des Systems für große Mitgliedergruppen einzuschätzen, stellt der Kontroll-Overhead eine wichtige Kosten-Kenngröße dar. 3 Die Netzwerkeffizienz betrachtet die im Netzwerk übertragenen Daten unter den Gesichtspunkten Informationsgehalt und Weglänge. Die Menge redundant übertragener Daten sollte reduziert werden, damit der tatsächliche Informationsgehalt der im Netz übertragenen Daten hoch ist. Außerdem wird beabsichtigt, dass die durch die Daten verwendeten Wege im Netzwerk möglichst kurz sind.

22 22 3. Grundlagen Robustheit des Overlay-Netzes: Da Endsysteme weniger stabil als Router sind, ist es für ALM wichtig, die Auswirkungen von Empfänger-Ausfällen zu vermindern. Dabei wird die Robustheit dieser Protokolle mit der Bestimmung der Anzahl der Unterbrechungen der Datenlieferung beim Ausfall und der Zeit, die das Protokoll für die Wiederherstellung der Datenlieferung an andere Mitglieder benötigt, gemessen Peer-to-Peer-System Das bei der Verwendung von ALM aufgebaute Overlay-Netz stellt ein Peer-to-Peer- Netzwerk (P2P-Netzwerk), welches aus einer Menge Peers (auch Gleichrangige) besteht, dar. Ein P2P-System weist folgende Charakteristiken auf: Ein P2P-System hat einen dynamischen Systemumfang. Die Peers können spontan dem P2P-System beitreten, aber auch aus ihm austreten. Alle Peers eines P2P-Systems besitzen gleichermaßen Fähigkeiten eines Clients und eines Servers. Die Peers des P2P-Systems sind heterogen (z. B. in Bezug auf ihre ausgehenden Bandbreiten, die sie dem P2P-System zur Verfügung stellen, in der Zeitdauer, die sie dem P2P-System zur Verfügung stehen und in ihrer Leistungsfähigkeit). Prinzipiell gibt es zwei grundlegende Ansätze, auf denen P2P-Systeme basieren können: der zentrale und der dezentrale Ansatz. Hinzu kommt als eine dritte Art der hybride Ansatz, der sich aus der zentralen und der dezentralen Idee zusammensetzt. Diese Ansätze können in [Heidenreich (2004), S. 10ff] nachgelesen werden P2P-Streaming-System In [Xu u. a. (2002)] und [Hefeeda u. a. (2002)] werden zwei P2P-Streaming-Systeme für Streaming-on-Demand vorgestellt. Um ein P2P-Streaming-System zu beschreiben, werden grundlegende Eigenschaften dieser beiden Systeme aufgegriffen.

23 3.5. P2P-Streaming-System 23 Ein P2P-Streaming-System grenzt sich hauptsächlich durch die Art und Weise der Datennutzung vom P2P-System ab. In Verbindung mit dem P2P-System wird der Open- After-Downloading-Modus verwendet, während im Zusammenhang mit dem Play-While- Downloading-Modus der Einsatz des P2P-Streaming-Systems erfolgt. { } Das P2P-Streaming-System lässt sich durch eine Menge P = P i 1 i N, i N mit N N Knoten beschreiben. Jeder Knoten P i charakterisiert: P wird durch drei Parameter die maximal ausgehende Bandbreite, der maximal vorhandene Speicherplatz für die Speicherung der Fragmente der Multimedia-Dateien und die maximale Anzahl an gleichzeitig nebeneinander existierenden Verbindungen, die für die Bedienung der anfordernden Peers realisiert werden können. Die Peers im P2P-Streaming-System nehmen verschiedene Rollen an. Die Multimedia- Daten werden durch die anbietenden Peers P s (Supplying Peer) den anfordernden Peers P r (Requesting Peer) zur Verfügung gestellt. Der Peer, welcher als Erster Daten im Netzwerk anbietet, wird als Seeding Peer (P seed )bezeichnet. Die Multimedia- Daten werden als Multimedia-Dateien in einer bestimmten Größe angeboten, die in einer bestimmten Bitrate aufgenommen wurden und in N Fragmente unterteilt werden können. Die Multimedia-Datei besteht aus einer zeitabhängigen Aneinanderreihung von Paketen, die als ein Datenstrom übertragen wird. Dabei müssen diese Pakete nicht in ihrer ursprünglichen Reihenfolge und auch nicht nur von einem Peer P s heruntergeladen werden. Zum Schluss sollte nur gewährleistet werden, dass die Pakete in der richtigen Reihenfolge und rechtzeitig beim Peer P r wiedergegeben werden können. Dabei übernimmt der Scheduler die Aufgabe der Koordination dieser Pakete, die von einer Menge verfügbarer Peers heruntergeladen werden können, ohne den geplanten Zeitpunkt der Wiedergabe des Datenstroms zu überschreiten. Ansonsten kommt es beim Empfänger des Datenstroms zu Unterbrechungen. Die anfordernden Peers geben die Multimedia-Daten wieder und speichern sie innerhalb der Streaming-Session ab. Diese Peers können die empfangenen Multimedia-Daten

24 24 3. Grundlagen anbieten, indem sie neben der Rolle P r die Rolle P s annehmen und die Systemkapazität erhöhen. Dadurch werden die Kosten des Peers P seed gesenkt. In einem P2P-Streaming-System kann ein anfordernder Peer von mehreren anbietenden Peers bedient werden (Multi-Source-Streaming). Beispielsweise ist dies möglich, wenn der Peer P s eine geringere ausgehende Bandbreite, als für die Bitrate der Multimedia- Daten nötig ist, besitzt. [Xu u. a. (2002)] [Hefeeda u. a. (2002)] 3.6. Scheduling Im Folgenden wird der Begriff Scheduling in Bezug auf seine Bedeutung im Bereich der Betriebssysteme definiert. Danach erfolgen eine Einordnung und eine Definition des Schedulings bezüglich des Streaming-Kontexts. Mit Ausblick auf die Entwicklung einer eigenen Schedulingstrategie werden Kriterien, Metriken und der Aspekt der Effizienz genannt Scheduling im Bereich der Betriebssysteme Zunächst erfolgt ein Einblick in die Bedeutung des Schedulings (dt.: Ablaufkoordination) bezüglich der Betriebssysteme. Dabei übernimmt das Scheduling die Vergabe der Betriebsmittel an Prozesse des Rechners nach einer bestimmten Schedulingstrategie (z. B. Eingangsreihenfolge, Zeitscheibenverfahren (round-robin) und prioritätsbasierte Verfahren). Kriterien wie Auslastung der Betriebsmittel (vollständige Auslastung der CPU), Antwortzeiten (Minimierung der Wartezeiten), Durchsatz (Maximierung der Anzahl der Aufträge pro Zeiteinheit), Fairness (gerechte Verteilung der Prozessorzeit) bestimmen die Ziele einer solchen Schedulingstrategie. [Borrmann (1999)] Einordnung des Schedulings in den Streaming-Kontext Die Multimedia-Daten werden beim Peer P s gespeichert und für die Übertragung über die Netzwerk-Schnittstelle und das Multicast-Netzwerk zum Peer P r im Speicher zwischengespeichert. Der Peer P s könnte ebenso einen Seeding Peer symbolisieren, der

25 3.6. Scheduling 25 die Multimedia-Daten als Quelle anbietet. Die Bestimmung der Multimedia-Daten, die an einen Peer P r über das Overlay-Netz gesendet werden sollen, erfolgt zuvor durch eine Strategie des Schedulers. Diese einzelnen Komponenten eines kontinuierlichen Multimedia-Streaming-Systems werden in der Abbildung 3.7 im Überblick dargestellt. [Zhao und Tripathi (1999)] Abbildung 3.7.: Komponenten eines kontinuierlichen Multimedia-Streaming-Systems [Zhao und Tripathi (1999)] Grundsätzlich wird der Datenstrom mit einer bestimmten Bitrate durch P s angeboten und sollte dann auch vom Peer P r empfangen werden. Wenn z. B. zwei Peers P r1 und P r2 empfangen wollen, muss P s doppelt soviel an Bandbreite aufweisen, um beiden den Datenstrom zur Verfügung zu stellen. Dieser Datenstrom wird zur Übertragung in mehrere Fragmente zerlegt. Danach erfolgt eine Zerteilung des Fragments auf die Datenpakete, die im Netzwerk versendet werden. Dabei können diese Pakete in Abhängigkeit von der Bandbreite der Peers P s unterschiedlich groß sein. Definition des Schedulings in Bezug auf das Streaming Scheduling beschreibt im Allgemeinen die Zuordnung von Aufträgen zu Ressourcen. Der Peer P r fordert mit seinem Auftrag die Zustellung eines Fragments als einen Teil des Datenstroms. Die Ressourcen (jeweilige Bandbreite, vorhandener Speicherplatz für das Caching) werden von den Peers des Netzwerkes zur Verfügung gestellt. Mittels des Scheduling-Algorithmus wird die zeitliche Abfolge der Übertragung der Nutzdaten (Multimedia: Video, z. B. MPEG4-kodiert) bestimmt. Im Prinzip stellt sich bei der Problemlösung zum Scheduling in kooperativen Multimedia-Streaming-Systemen die Frage: Welcher Peer P r wird zuerst von welchem Peer

26 26 3. Grundlagen P s mit welcher Datenmenge bedient? Deshalb hat das Scheduling die Aufgabe, herauszufinden, ob der gestellte Auftrag mit Beachtung der Rechtzeitigkeit erfüllt werden kann. Das Scheduling könnte als eine weitere Aufgabe Einfluss auf den Aufbau und die Aufrechterhaltung des Overlay-Netzes haben. Kriterien und Metriken zur Entwicklung einer Schedulingstrategie Für die Entwicklung des Scheduling-Algorithmus sollten die bereits in genannten Kriterien hineinfließen: Fairness: Möglichst jeder sollte mit Teilmengen (= Fragmenten) des Datenstroms bedient werden. Antwortzeit: Dauer der Erfüllung des Auftrages Durchsatz: Einbeziehung der Maximierung der Flüsse (bei korrekter Weiterleitung der Fragmente) Daneben stehen auch die Metriken für das zu entwickelnde Scheduling-System im Mittelpunkt, welche dann in der Testphase zur Bewertung der Schedulingstrategie herangezogen werden können. Zu den Metriken zählen Delay bzw. Verzögerung, Jitter, Paketverlust und Netzwerkeffizienz. Im Hinblick auf die Zielstellung der Diplomarbeit sollte bei der Entwicklung einer Schedulingstrategie insbesondere die Effizienz betrachtet werden, wobei sich die Effizienz auf verschiedene Punkte konzentrieren kann, z. B. Rechtzeitigkeit, Kosten bezüglich der Zeit oder Bandbreitenausnutzung. Im folgenden Kapitel werden existierende Multimedia-Streaming-Systeme mit ihren Schedulingstrategien näher erläutert, sodass mit ihren Vorzügen ein eigener Ansatz für eine Schedulingstrategie entwickelt werden kann.

27 4. Existierende Ansätze In diesem Kapitel werden vorhandene Multimedia-Streaming-Systeme, insbesondere unter dem Gesichtspunkt der Realisierung des Schedulings, vorgestellt und zusammenfassend durch eine Bewertung gegenübergestellt ostream - Y. Cui u. a., University of Illinois at Urbana-Champaign, USA Bei ostream [Cui u. a. (2004)] handelt es sich um eine asynchrone Multicast-Lösung mit den Zielen der Skalierbarkeit und Effizienz auf der Anwendungsebene für Streaming-on- Demand. ostream beinhaltet die Funktionalitäten des Schedulings und des Routings. Da die Verwendung von IP-Multicast nicht verbreitet ist, setzt sich ostream als Ziel Multicast-Bäume in Overlay-Netzen aufzubauen und deren Topologie-Overhead zu minimieren. Weitere Probleme stellen die asynchronen Ankünfte und die beliebigen Dauern der Anfragen der Clients dar. Bei nicht-sequenziellen Zugriffsmustern der Clients werden verschiedene Fragmente der Multimedia-Datenströme angefordert, was jedoch mit dem synchronen Charakter des Multicasts im Widerspruch steht. Daher wird mit Hilfe einer kooperierenden Pufferung der Endsysteme ermöglicht, dass Anfragen zu verschiedenen Zeitpunkten vom gleichen Multimedia-Datenstrom bearbeitet werden können. Die Definition eines Temporary Dependency Model dient als Basis für die Beschreibung von Streaming-Algorithmen. Dabei wird eine Vorgänger-Nachfolger-Relation zwischen zwei asynchronen Anfragen R i und R j für das gleiche Medien-Objekt definiert. Anfrage R i ist der Vorgänger von Anfrage R j und Anfrage R j ist der Nachfolger von Anfrage R i, notiert als R i R j. Asynchroner Multicast benötigt wie IP-Multicast hauptsächlich nur eine Server-Multi-

28 28 4. Existierende Ansätze cast-verbindung, um eine Gruppe von Anfragen zu bedienen. Der Unterschied zum IP-Multicast ist, dass beim asynchronen Multicast die Mitglieder einer Gruppe die Daten asynchron, das heißt zu verschiedenen Zeitpunkten, erhalten können. Jede Anfrage hält die Daten nach der Wiedergabe für ein bestimmtes Zeitfenster in einem Ringpuffer und nach Ablauf dieser Zeit werden die alten Daten durch neue Daten ersetzt. Der Vorteil dieses Mechanismus ist, dass alle Anfragen, die in das Zeitfenster der Anfrage mit bereits gestreamten Daten fallen, diese nutzen können und nicht extra eine Server-Multicast-Verbindung aufbauen müssen. Damit wird versucht, Server-Bandbreite einzusparen. Als theoretische Grundlage zur Beschreibung der Datenverteilung werden graphentheoretische Definitionen verwendet. Es wird der Begriff Media Distribution Graph (MDG) eingeführt. Dieser MDG ist gerichtet und über eine Menge R von asynchronen Anfragen definiert. Die Knoten des Graphen sind Anfragen, wobei ein spezieller Knoten S den Server repräsentiert. S besitzt keine Vorgänger, ist aber der Vorgänger von allen Anfragen und weist zu allen Anfragen aus R Kanten auf. Die Kantenmenge E beinhaltet die pufferabhängigen Nachfolger-Relationen der Anfragen. Die einzelnen Gewichte an den Kanten kennzeichnen die Übertragungskosten (z. B. die Anzahl der Hops 1 ) zwischen den beiden Endsystemen, die die zwei Anfragen R i und R j gesendet haben. Auf das Ankommen neuer Anfragen und das Beenden abgearbeiteter Anfragen reagiert die Struktur des MDG dynamisch. Neue Anfragen werden als neue Knoten in den Graphen eingefügt und beendete Anfragen erfordern das Löschen des jeweiligen Knotens aus dem MDG. Solch ein MDG kann als Overlay-Netz basierend auf dem physikalischen Netzwerk angesehen werden, welches die Abhängigkeiten der asynchronen Anfragen graphisch veranschaulicht. In der Abbildung 4.1 wird ein Beispiel für einen MDG aufgezeigt. Auf der Grundlage des MDG wird der Aufbau und die Verwaltung des Media Distribution Tree (MDT) eingeführt. Zwischen R i und R j besteht genau dann eine Relation, wenn beide Anfragen in der Menge R sind und zwischen ihnen eine Kante im MDG existiert. Nur in diesem Fall ist R i der Elternknoten von R j und R j der Kindknoten von R i. Der MDT enthält nur eine Teilmenge der Kanten des MDG, besitzt aber alle Knoten des MDG und ist ein Spannbaum (Definition siehe Abschnitt 6.2.3). Die optimale 1 Ein Hop beschreibt die physikalische Verbindung zwischen zwei Endsystemen.

29 4.1. ostream 29 Abbildung 4.1.: Darstellung eines MDG [Cui u. a. (2004)] Lösung für einen MDT ist die Ermittlung eines minimalen Spannbaums (Minimal Spanning Tree, MST) aus dem vorliegenden MDG. Dabei bezieht sich die Optimierung auf die Minimierung der totalen Übertragungskosten für die Verteilung der Multimedia- Daten. Der MDT stellt den Multicast-Baum dar. Basierend auf der Abbildung 4.1 veranschaulicht die Abbildung 4.2 den zugehörigen MDT (an den Kanten befinden sich die Übertragungskosten). Abbildung 4.2.: Darstellung eines MDT [Cui u. a. (2004)] Um den asynchronen Multicast umzusetzen, sind die inkrementellen Algorithmen MDT- Insert und MDT-Delete im Overlay-Netz verteilt. Es ist kein vollständiges Wissen über den Multicast-Baum MDT nötig, es sind jeweils der Vorgänger und der Nachfolger bekannt. Zudem gibt es keinen zentralen Manager und keine globale Neuorganisation beim Verlassen einer Anfrage. MDT-Insert und MDT-Delete werden jeweils beim Auftreten einer neuen Anfrage oder beim Verlassen einer bearbeiteten Anfrage ausgeführt

30 30 4. Existierende Ansätze und geben die resultierenden MDG und MDT zurück. Die resultierenden MDTs sind minimale Spannbäume (MSTs). Von jeder Anfrage verlangen die MDT-Algorithmen ein vollständiges Wissen über ihre gesamten Vorgänger und Nachfolger. Für die Realisierung eines Content Discovery Service bezieht ostream bei der Aktualisierung der Vorgänger- und Nachfolgerinformationen die zeitlichen Abhängigkeiten verschiedener Anfragen mit ein. ostream führt neben dem MDT einen Degree Constrained MDT ein, der ein minimaler Spannbaum mit begrenztem Grad auf MDG ist. Dieses Problem ist jedoch NPvollständig, sodass eine Heuristik verwendet werden muss. Jede neue Anfrage findet unter den Vorgänger-Knoten einen Knoten mit den geringsten Übertragungskosten, dessen Ausgangsgrad noch nicht die Beschränkung erreicht hat. Das bedeutet, dass seine ausgehende Bandbreite noch nicht ausgeschöpft ist. Die Optimierung des zu konstruierenden Multicast-Baums wird durch die topologischen Ineffizienzen wie Stress und Stretch (siehe Abschnitt 3.3.1) eingeschränkt, da asynchroner Multicast ein Ansatz des ALM ist. Des Weiteren erschweren die zeitlichen Abhängigkeiten zwischen den Gruppenmitgliedern dieses Ziel. ostream schafft es, die erforderliche Server-Bandbreite zu reduzieren, sodass sie deutlich unter der theoretischen unteren Schranke der Server-Bandbreite des IP-Multicasts liegt. Da der Verbrauch der Bandbreite im Netzwerk vermindert wird, werden die Ineffizienzen der Topologie des Overlay-Netzes in den Hintergrund gerückt. [Cui u. a. (2004)] 4.2. Optimales Multiplexing - W. Zhao u. a., University of Maryland, USA Optimales Multiplexing [Zhao und Tripathi (1999)] setzt sich als Ziel, angebotene Bandbreiten möglichst effizient zu nutzen, um den verteilten und heterogenen Empfängern kostengünstig Streaming-on-Demand zur Verfügung zu stellen. Der hier beschriebene Ansatz nach Zhao realisiert die Funktionalitäten des Schedulings und der Zugangskontrolle. Es wird eine Gruppe von optimalen Multiplexing-Schedules, die eine höchst mögliche

31 4.2. Optimales Multiplexing 31 Bandbreiten-Effizienz erreicht, vorgestellt. Danach erfolgt eine Abbildung dieser Multiplexing-Schedules auf die Schedules pro Datenstrom, die vom Server ausgeführt werden. Da die Bandbreiten pro Datenstrom nicht mehr so effizient wie die Multiplexing- Bandbreite 2 sein kann und dann gewonnene Bandbreiten-Ersparnisse verloren gehen, wird in diesem Ansatz versucht, diese nachteiligen Effekte zu verhindern. Ein kontinuierlicher Datenstrom besteht aus N Medien-Elementen, wobei jedes Medien- Element o i eine Datengröße s(i) und eine Deadline t(i) 3 als geplanter Wiedergabe- Zeitpunkt besitzt. Der Streamingpuffer beim Empfänger weist eine Größe M auf. Zu jedem kontinuierlichen Datenstrom gehört ein zulässiger Bereich. Die Abbildung 4.3(a) veranschaulicht den Puffer des Empfängers, welcher die Daten des kontinuierlichen Datenstroms temporär aufbewahrt. Der zugehörige zulässige Bereich wird in der Abbildung 4.3(b) dargestellt. Dabei beschreibt die horizontale Achse den Zeitverlauf t und die vertikale Achse die kumulative Datenmenge y, die beim Empfänger vorliegt. Beginnend im Punkt y = 0 wird das Übertragungsschedule mit einer monoton steigenden Kurve beschrieben. Die Anstiege der Übertragungskurve zu beliebigen Zeitpunkten entsprechen jeweils der momentanen Übertragungsgeschwindigkeit. Damit es nicht zu Stagnationen bei der Wiedergabe der Medien-Elemente o i kommt, sollten ihre Deadlines t(i) beachtet werden. Daher wird die untere Begrenzungskurve L(t) in der Gleichung 4.1 eingeführt, die die minimale kumulative Datenmenge zum Zeitpunkt t, die bereits empfangen vorliegen sollte, umschreibt. L(t) = s(i) (4.1) t(i) t Als Gegenstück dazu wird eine obere Begrenzungskurve U(t) in der Gleichung 4.2 definiert, da der Puffer des Empfängers eine begrenzte Größe M besitzt. U(t) stellt die maximale Datenmenge zum Zeitpunkt t, die geliefert werden kann, dar. U(t) = L(t ) + M für t > 0 und U(0) = 0 (4.2) Das heißt, U(t) liegt M Einheiten über L(t) nach einem weiteren Schritt von L(t), 2 Die Multiplexing-Bandbreite entspricht der Bandbreite, die für die Übertragung einer Gruppe an Datenströmen notwendig ist. 3 In der Abbildung 4.3 wird zur Darstellung der Deadlines statt t(i) t i verwendet.

32 32 4. Existierende Ansätze wenn der Speicherplatz für das entsprechende Medien-Element frei gegeben worden ist. Es gilt t(0) = 0. Die Begrenzungskurven L(t) und U(t) stellen jeweils die untere bzw. die obere Schranke des zulässigen Bereichs für das Streaming dar. Liegt ein Teil des Übertragungsschedule unterhalb von L(t), kommt es zu Stockungen bei der Wiedergabe. Befindet es sich oberhalb von U(t), wird ein Pufferüberlauf erzeugt. Somit ist ein Übertragungsschedule genau dann gültig, wenn es sich innerhalb des zulässigen Bereichs befindet. (a) Kontinuierlicher Datenstrom im Puffer des Empfängers (b) Gültiges Schedule im zulässigen Bereich Abbildung 4.3.: Kontinuierlicher Datenstrom mit zulässigem Bereich [Zhao und Tripathi (1999)] Ziel dieses Ansatzes ist es, unter allen gültigen Übertragungsschedules, die zu finden, welche bezüglich ihrer Bandbreiten-Verwendung effizient sind. Diese Schedules benötigen die kleinste Bandbreiten-Menge. Es wird mit der Bandbreiten-Anforderung B (siehe Gleichung 4.3) die untere Schranke der Bandbreite eines kontinuierlichen Streaming- Prozesses festgelegt. B = max { max 0 i<j N { L ( t(j) ) U ( t(i) ) t(j) t(i) } }, 0 (4.3) Eine Stream-Aggregation ist eine einfache Situation des Stream-Multiplexing und stellt eine Zusammenfassung mehrerer kontinuierlicher Datenströme zu einem einzelnen Da-

33 4.2. Optimales Multiplexing 33 tenstrom dar: K i=1 s i, bestehend aus den Datenströmen s 1, s 2,..., s K, wobei K die Anzahl kontinuierlicher Datenströme ist. Somit werden alle Datenströme an einen Empfänger mit gemeinsamem Streamingpuffer gesendet. In der Abbildung 4.4(a) sind die einzelnen Datenströme und in der Abbildung 4.4(b) die Stream-Aggregation jeweils mit ihren Puffern dargestellt. ( K i=1 L i, K i=1 U i) stellt den zulässigen Bereich einer Stream- Aggregation dar und (L i, U i ) entspricht dem zulässigen Bereich eines Komponenten- Datenstroms s i. (a) Einzelne Datenströme mit ihren Streamingpuffern (b) Stream-Aggregation mit gemeinsamem Streamingpuffer Abbildung 4.4.: Gegenüberstellung einzelner Datenströme und Stream-Aggregation bezüglich ihrer Streamingpuffer [Zhao und Tripathi (1999)] Im Folgenden wird der Einfluss der Streamingpuffer auf das Stream-Multiplexing untersucht. Verglichen zum verteilten Scheduling, bei dem jeder Datenstrom nur Daten im eigenen Streamingpuffer halten darf, hat das Streaming mit einem gemeinsamen Puffer (Stream-Aggregation) mehr Scheduling-Flexibilität. Dies führt zu einer höheren Bandbreiten-Reduzierung durch Multiplexing. Die Stream-Aggregation stellt eine untere Schranke beim Stream-Multiplexing in Bezug auf die Bandbreiten-Anforderung dar, da Stream-Multiplexing mindestens genauso bandbreitenintensiv ist wie die Stream-Aggregation für die gleiche Menge an Datenströmen. Jedes beliebige gültige Stream-Multiplexing Schedule ist ein gültiges Stream- Aggregation Schedule, aber der Umkehrschluss gilt im Allgemeinen nicht.

34 34 4. Existierende Ansätze Es wird eine Gruppe an optimalen Multiplexing-Schedules, die die Garantien für QoS unterstützt, verwendet: Eligible-Earliest Deadline First-Multiplexing (E-EDF-Multiplexing). Das bekannte EDF-Scheduling wird zum Scheduling des Multiplexings und zur Übertragung mehrerer kontinuierlicher Datenströme erweitert. Das Scheduling-Schema EDF plant seine Objekte oder Tasks in der Reihenfolge ihrer Deadlines. Die Erweiterung bezieht sich auf die Eignung eines Medienelements (eligible 4 ), die erfüllt ist, wenn seine Übertragung nicht in einem Pufferüberlauf auf der Empfängerseite resultiert. E-EDF wählt dann unter den geeigneten Medien-Elementen das mit der frühesten Deadline für die Übertragung aus. Als eine Erweiterung der E-EDF-Multiplexing Schedules werden die so genannten greedy E-EDF-Multiplexing Schedules eingeführt. Greedy 5 bedeutet, dass bei einer bestimmten gegebenen Bandbreiten-Schranke B die greedy E-EDF-Schedules die gesamte verfügbare Bandbreite B verwenden, wenn geeignete Medien-Elemente zur Übertragung vorliegen. Die greedy E-EDF-Multiplexing Schedules sind optimal und erreichen die optimale Multiplexing-Bandbreite (OMB - Optimal Multiplexing Bandwidth). Optimales Multiplexing wird durch die Ausnutzung der zeitlichen und räumlichen Strukturen innerhalb einer Gruppe von Datenströmen ermöglicht und reduziert die gesamte Bandbreiten-Anforderung maximal. Jedoch kann es zu ungünstigen Effekten auf die individuellen Datenströme, z. B. zur Erhöhung der Bandbreiten-Anforderung der individuellen Datenströme, führen. Mittels einer Methode zur Neuanordnung des gesamten Multiplexing-Schedules können niedrigere Bandbreiten pro Datenstrom erreicht werden. Dies wurde am Beispiel der greedy E-EDF-Multiplexing-Schedules unter der Bandbreite OMB aufgezeigt. Dabei bleibt aber die Optimierung des Multiplexings erhalten. Der Algorithmus dieser Methode benötigt lineare Zeit und berechnet die Schedules pro Datenstrom durch die Anwendung dieser Methode auf das greedy E-EDF-Schedule unter der Bandbreite B. Dieser Scheduling-Algorithmus kann als Algorithmus zur Zugangskontrolle für das Hinzukommen neuer Datenströme verwendet werden, indem er entscheidet, ob genug Bandbreite vorhanden ist. Somit wird mit diesem Algorithmus zur Zugangskontrolle die Unterstützung der maximalen Anzahl der Datenströme garantiert und der größte zulässige Bereich abgedeckt. Mit dem Ansatz des Streamings unter der Zielsetzung der Bandbreiten-Effizienz wurden 4 engl. eligible - dt. geeignet 5 engl. greedy - dt. gierig

35 4.3. PALS 35 Eigenschaften und Beschränkungen zur Entwicklung der Schedulingstrategien und der Zugangskontrolle aufgezeigt. [Zhao und Tripathi (1999)] 4.3. PALS - R. Rejaie u. a., University of Oregon, USA P2P Adaptive Layered Streaming (PALS) [Rejaie und Ortega (2003)] stellt ein Multimedia-Streaming-System, in welchem das Scheduling von layer-encodierten Datenströmen zwischen mehreren Sender-Peers (SPAL) und dem Empfänger-Peer (RPAL) in einem P2P-Netzwerk ermöglicht wird, dar. Layer-encodierte Datenströme bestehen aus einem Basislayer und darauf aufbauenden Erweiterungslayern. Die beim Empfänger vorliegende Qualität des Datenstroms lässt sich als die Anzahl der empfangenen Layer beschreiben. Dabei ist der Ansatz von PALS empfängergesteuert und die Qualität des Datenstroms kann vom Empfänger adaptiv eingestellt werden. Adaptiv bedeutet, dass der Empfänger die Qualität des Datenstroms, in der Anzahl der kodierten Layer, festlegen kann. PALS beinhaltet hauptsächlich ein empfängergesteuertes Koordinations- und Adaptierungssystem für das Streaming von mehreren auf Überlastung geprüften Sender-Peers. Dieses System muss mit plötzlichen Veränderungen im Durchsatz von jeden Sender- Peer sowie mit Dynamiken der Peer-Teilnahme umgehen können. Aus einer Menge an Sender-Peers werden die Sender-Peers, die zusammen den maximalen Durchsatz erbringen können, bestimmt. Ein Empfänger-Peer empfängt von einigen Sender-Peers einen geforderten Datenstrom über das Internet. Alle Flüsse sind Unicast und bei jedem Sender-Peer ist ein Unicast-Mechanismus zur TCP-verträglichen Überlastungskontrolle 6 (CC - Congestion Control) implementiert. Damit entspricht der gesamte eingehende Durchsatz beim Empfänger der auf Über- 6 Internet-Streaming-Anwendungen sollten drei Hauptkomponenten besitzen: Überlastungskontrolle (CC), Fehlerkontrolle und Qualitätsadaptierung. CC ist ein netzwerkabhängiger Mechanismus, der auf der Grundlage des Netzwerk-Dienstemodells entworfen werden sollte. Der CC-Mechanismus bestimmt die verfügbare Bandbreite basierend auf dem Zustand des Netzwerks. Ein bedeutender Anteil des heutigen Traffics im Internet besteht aus Varietäten von TCP-basierten Flüssen. Daher ist die TCP-Verträglichkeit eine wichtige Anforderung. [Rejaie (2000)]

36 36 4. Existierende Ansätze lastung kontrollierten und summierten Bandbreite von allen Sendern. Der gewünschte Datenstrom liegt komplett bei jedem Sender-Peer vor und alle Layer weisen die gleiche konstante Bitrate C auf. Der Empfänger-Peer sendet an die Sender-Peers periodisch eine geordnete Liste der von den Sendern zu schickenden Paketen. Danach überträgt jeder Sender die angeforderten Pakete in der gegebenen Reihenfolge in der Rate, die durch seinen CC-Mechanismus bestimmt wurde. Nun liegt es am Empfänger den gesamten Durchsatz durch die Überwachung der Qualität des Datenstroms zu beobachten und periodisch die gewünschte Ziel-Gesamtqualität, die der totalen Anzahl der kodierten Layer entspricht, zu bestimmen. Das heißt, er schätzt die gesamte Anzahl K der eingehenden Pakete unter der Annahme, dass der Durchsatz für eine bestimmte Zeitdauer konstant bleibt. Der Quality-Adaptation (QA) -Mechanismus verteilt dann diese K Pakete unter den aktiven Layern auf der Grundlage des gesamten Durchsatzes und dem Pufferzustand des Empfängers (buf 0, buf 1,..., buf N ) mit dem Ziel der Maximierung der gesamten gelieferten Qualität. Da der Empfänger die Verteilung der eingehenden Pakete unter den Layern kontrollieren kann, bietet sich ihm die Möglichkeit, die Verteilung des gesamten Durchsatzes unter den aktiven Layern (bw 0, bw 1,..., bw N ) innerhalb einer Zeitdauer zuzuordnen. Der QA-Mechanismus besitzt als weitere Aufgabe, die Anzahl der Wiedergabe-Layer durch Hinzufügen/Entfernen des Top-Layers, bei langfristigen Veränderungen im Durchsatz, zu verändern und somit Einfluss auf die Qualität und Bitrate des Datenstroms nehmen. In der Abbildung 4.5 wird die Architektur von PALS, hier ein Szenario mit vier Layern, dargestellt. Der Packet-Assignment (PA) -Mechanismus beim Empfänger bildet danach bei einer gegebenen Verteilung der gesamten Pakete unter den Layern für eine gegebene Zeitdauer eine Untermenge dieser Pakete (eventuell aus verschiedenen Layern) auf jeden Sender-Peer ab und sendet eine Anfrage, die eine Liste der zugewiesenen Pakete für jeden Sender enthält. Dadurch wissen die Sender welche Fragmente von jedem Layer sie senden müssen. Mit dem PA-Mechanismus ist es dem Empfänger möglich, die Zuordnung des Durchsatzes eines jeden Senders unter den aktiven Layern lose zu kontrollieren. Die Anzahl der zugewiesenen Pakete an jeden Sender ist zur erwarteten Mitwirkung am Durchsatz vom Sender für den gesamten Durchsatz proportional.

37 4.3. PALS 37 Abbildung 4.5.: PALS-Architektur [Rejaie und Ortega (2003)] Der PA-Mechanismus versucht alle angeforderten Pakete eines Layers an einen einzelnen Sender zuzuweisen. Als ein weiteres Ziel sollten die Pakete so unter den Sendern verteilt werden, dass ein beliebiger negativer Einfluss auf die bereitgestellte Qualität wegen plötzlichen Änderungen im Durchsatz des Senders minimiert wird. Bei der Initiierung der Wiedergabe durch den Empfänger muss ein Mechanismus existieren, der eine lose Synchronisation zwischen den Sendern und dem Empfänger aufrecht erhält, damit der Wiedergabezeitpunkt der angeforderten Pakete mit Beachtung der aktuellen Wiedergabezeit der laufenden Session beim Empfänger bestimmt werden kann. Damit der Durchsatz eines Senders nicht unter die durch die Überlastung kontrollierte Grenze fällt, soll es dem Sender möglich sein, noch nicht erledigte Pakete zu senden. Zur Verfolgung dieser beiden Ziele liegt der Sliding-Window (SW) -Mechanismus 7 vor. Beim SW-Mechanismus betrachtet der Empfänger nur Pakete mit der Wiedergabezeit, die größer als t min ist, t min = t p +τ. In der Abbildung 4.6 wird dieser SW-Mechanismus dargestellt. Hier stellt das Zeitintervall zwischen zwei Anfragen dar. Der Empfänger verwaltet ein Zeitfenster, das periodisch alle Sekunden vorwärts verschoben wird, um τ Sekunden vor dem Zeitpunkt der Wiedergabe t p zu bleiben. Veranschlagt der Empfänger den Durchsatz des Senders zu hoch, wird das Zeitfenster nach Sekunden vorwärts geschoben und der Empfänger sendet eine andere Anfrage an den Sender. Dadurch wird vermieden, dass der Sender hinter eine laufende Session fällt. 7 engl. Sliding Window - dt. gleitendes Fenster

38 38 4. Existierende Ansätze Abbildung 4.6.: Darstellung des Sliding Window-Mechanismus [Rejaie und Ortega (2003)] Auf der anderen Seite versucht der Reverse-Control-Effect (RCE) -Mechanismus mit der Schwelle δ, die dem Pufferzustand des Senders entspricht, zu garantieren, dass der Puffer des Senders bei einer plötzlichen Erhöhung des Durchsatzes nicht leer läuft. Dies wäre jedoch bei der Verwendung eines zu niedrigen δ möglich, da dann auf die Erhöhung des Durchsatzes zu spät reagiert und der Sender inaktiv wird. Ist dagegen δ auf einen zu hohen Wert gesetzt, werden neue Anfragen an den Sender zu früh versendet und noch unerledigte Listen der Sender werden durch neue des Empfängers ersetzt. Zum Senden von neuen Anfragen an (langsame) Sender existieren synchronisiertes Anfragen und asynchrones Anfragen. Beim synchronisierten Anfragen wird eine neue Anfrage an alle Sender zum gleichen Zeitpunkt einmal pro Intervall gesendet und dieser Ansatz koppelt den SW-Mechanismus eng mit dem QA-Mechanismus. Währenddessen werden beim asynchronen Anfragen neue Anfragen vom Empfänger an verschiedene Sender versendet. Eine neue Anfrage wird an jeden schnellen Sender verschickt, sobald sein RCE-Mechanismus ausgelöst wurde. Neue Anfragen an andere Sender werden am Ende eines Intervalls nach dem Verschieben des Zeitfensters versendet. Hier ist der SW-Mechanismus vom QA-Mechanismus entkoppelt. Als einen weiteren Mechanismus ist bei dem Empfänger der Peer-Selection (PS) - Mechanismus, der verfügbare Sender-Peers untersucht, ob durch ihr Hinzufügen zur Menge der aktiven Sender ihr Durchsatz den gesamten Durchsatz der Session erhöhen

39 4.4. P2P-Medien-Streaming-System 39 würde, implementiert. Wenn die Zugriffsverbindung des Empfängers einen Engpass darstellt, verbessert sich jedoch der gesamte Durchsatz durch eine Veränderung der Anzahl der Sender-Peers nicht. Mit PALS wurde ein empfängergesteuertes Multimedia-Streaming-System mit seinen Mechanismen zur Bereitstellung eines qualitätsadaptierten Datenstroms durch mehrere Sender vorgestellt. Es beinhaltet mit dem PA-Mechanismus die Funktionalität des Schedulings. [Rejaie und Ortega (2003)] 4.4. P2P-Medien-Streaming-System - D. Xu u. a., Purdue University, USA Das P2P-Streaming-System für Video-on-Demand [Xu u. a. (2002)] weist die bereits im Abschnitt 3.5 beschriebenen Eigenschaften auf. Die Peers können die Rollen anbietender Peer (P s ) bzw. anfordernder Peer (P r ) annehmen. Jeder Peer P r nimmt nur an einer Streaming-Session teil. Nach der Beendigung der Streaming-Session wird aus dem Peer P r ein Peer P s. Des Weiteren gibt es einige anbietende Seeding Peers, die die Multimedia-Daten aus einer externen Quelle erhalten haben. Die Wiedergabe-Rate der Multimedia-Daten sei R 0 und es wird angenommen, dass jeder Peer P r eine eingehende Bandbreite von R in (P r ) = R 0 aufweist, um die Multimedia-Daten empfangen zu können. Die ausgehende Bandbreite R out (P s ) des Peers P s besitzt einen der folgenden Werte: R 0 2, R 0 4, R R 0 2 N 8. Alle Peers des P2P-Netzwerks werden in Klassen eingeteilt, ein Peer, der die ausgehende Bandbreite R 0 2 n (1 n N) anbietet, wird als ein Peer der Klasse n bezeichnet. Es existieren N mögliche Werte für die angebotene ausgehende Bandbreite und somit N Klassen. Die Kapazität des P2P-Medien-Streaming-Systems beschreibt die gesamte Anzahl der P2P-Streaming-Sessions, die gleichzeitig durch das System geleistet werden kann. Eine P2P-Streaming-Session beinhaltet mehrere Peers P s, dessen R out (P s ) sich zu R 0 aufaddiert. Daher kann die Systemkapazität C sys zum Zeitpunkt t mit der Gleichung 4.4 berechnet werden (P s (t) stellt die Menge der Peers P s im System zum 8 Durch die Eingrenzung der ausgehenden Bandbreiten auf diese bestimmte Menge wird verhindert, dass die Zuweisung dieser Werte ein ähnliches Problem wie das NP-harte Binpacking-Problem wird.

40 40 4. Existierende Ansätze Zeitpunkt t dar.). C sys (t) = P s P s(t) R 0 ( Rout (P s ) ) (4.4) Die Multimedia-Daten können in kleine sequenzielle Fragmente gleicher Größe partitioniert werden. Da der Datenstrom eine konstante Bitrate aufweist, ist die Wiedergabezeit (in Sekunden) δt von jedem Fragment die gleiche Optimale Zuweisung der Mediendaten Gegeben ist ein Peer P r, eine Menge an Peers P 1 s, P 2 s,..., P m s von R 0 in der Gleichung 4.5. und die Beschreibung R 0 = R in (P r ) = m R out (Ps) i (4.5) i=1 Nun wird mit dem Algorithmus Optimal Media Data Assignment (OT S p2p ) versucht, die Fragmente der Multimedia-Daten, die von P i s (1 i m) übertragen werden, und den Startzeitpunkt für die Wiedergabe bei P r zu bestimmen. Die Multimedia-Daten sollten bei P r kontinuierlich mit minimaler Pufferungsverzögerung 9 wiedergegeben werden. In der Abbildung 4.7 werden unterschiedliche Zuweisungen der Multimedia-Daten gegenübergestellt und dargelegt, dass dies zu unterschiedlichen Pufferungsverzögerungen führt. Es ist ein Peer P r gegeben und die Peers Ps 1, Ps 2, Ps 3, Ps 4 weisen jeweils die ausgehenden Bandbreiten R 0 2, R 0 4, R 0 8 und R 0 8 auf. Die Zuweisung in der Abbildung 4.7(a) beinhaltet die Zuordnungen der Fragmente der Multimedia-Daten an die Peers P s. Die Wiedergabe der Multimedia-Daten bei P r startet bei 5δt und somit entspricht dies der erreichten Pufferungsverzögerung von 5δt. Die in der Abbildung 4.7(b) verwendete Zuweisung basiert auf dem Algorithmus OT S p2p und erreicht eine niedrigere Pufferungsverzögerung von 4δt. Die Ausführung des Algorithmus geschieht beim Peer P r. Nach der Berechnung der Zuweisung wird der Peer P r die P2P-Streaming-Session durch die Benachrichtigung eines jeden teilnehmenden Peers P s über die korrespondierende 9 Die Pufferungsverzögerung entspricht dem Zeitintervall zwischen dem Beginn der Übertragung der Fragmente der Multimedia-Daten und dem Beginn der Wiedergabe bei P r.

41 4.4. P2P-Medien-Streaming-System 41 Zuweisung initiieren. Danach beginnt der Peer P s mit der Übertragung der ihm zugewiesenen Fragmente der Multimedia-Daten. (a) Zuweisung 1 (b) Zuweisung 2 (unter Benutzung von OTS) Abbildung 4.7.: Verschiedene Pufferungsverzögerungen durch unterschiedliche Zuweisungen der Multimedia-Daten [Xu u. a. (2002)] Die m Peers P s sind in absteigender Reihenfolge ihrer ausgehenden angebotenen Bandbreiten sortiert und die niedrigste Klasse unter ihnen ist die Klasse n. Für die ersten 2 n Fragmente wird die Zuweisung berechnet und die Zuweisung wiederholt sich dann alle 2 n Fragmente für den Rest der Multimedia-Datei. Der Algorithmus OT S p2p berechnet eine optimale Zuweisung der Multimedia-Daten, welche eine minimale Pufferungsverzögerung von T min buf = m δt erreicht Verteilte und unterscheidende Zugangskontrolle Für die Bestimmung der Menge der Peers P s einer P2P-Streaming-Session und dem Ziel der schnellen Erhöhung der Systemkapazität wird das verteilte und unterscheidende Protokoll für die Zugangskontrolle Distributed Differentiated Admission Control (DAC p2p ) verwendet. In den Abbildungen 4.8(a) und 4.8(b) werden zwei verschiedene Zulassungsssituationen aufgezeigt. Bei beiden Abbildungen gibt es zum Zeitpunkt t 0 vier Peers P s im System: P 1 s und P 2 s der Klasse 2 sowie P 3 s und P 4 s der Klasse ( 1. Nach der Definition der Systemkapazität ist die Kapazität zum Zeitpunkt t 0 R0 + ) R R R 0 2 = 1. Damit kann ein Peer P r zum Zeitpunkt t 0 zugelassen

42 42 4. Existierende Ansätze werden. Es existieren drei Peers P r : Pr 1 und Pr 2 der Klasse 2 und Pr 3 der Klasse 1. Die durchschnittliche Wartezeit 10 der Zulassungssequenz in der Abbildung 4.8(a) beträgt (0 + T + 2T )/3 = T, während sie in der Zulassungssequenz in der Abbildung 4.8(b) (T + T + 0)/3 = 2T (hier erfolgt die Anwendung des Protokolls DAC 3 p2p) beträgt. Die Abbildung 4.8 zeigt, dass eine Zulassungsstrategie, welche die Peers P r höherer Klassen (hier in dem Beispiel wird der Peer Pr 3 zum Zeitpunkt t 0 zugelassen) bevorzugt, zu einer schnelleren Erhöhung der Systemkapazität führt und dementsprechend für die Peers P r aller Klassen einen Nutzen darstellt. Dabei sollte es aber nicht zur Vernachlässigung der Peers P r niedrigerer Klassen kommen. (a) Zulassungsreihenfolge: P 1 r P 2 r P 3 r (b) Zulassungsreihenfolge nach DAC p2p : P 3 r (P 1 r + P 2 r ) Abbildung 4.8.: Unterschiedliches Wachstum der Systemkapazität durch verschiedene Zulassungsentscheidungen [Xu u. a. (2002)] Das Protokoll DAC p2p beinhaltet folgende Funktionalitäten: Der Peer P s sollte selbst entscheiden, ob er an einer Streaming-Session, initiiert durch einen Peer P r, teilnimmt. Seine Entscheidung basiert auf einem wahrscheinlichkeitstheoretischen Ansatz mit verschiedenen Wahrscheinlichkeitswerten, die auf die verschiedenen Klassen der Peers P r angewendet und dynamisch eingestellt werden. Ein Peer P r kann an einen beschäftigten Peer P s eine Erinnerung senden und den Peer P s erinnern, dass er seine Zulassungsbevorzugungen für die Peers P r niedrigerer Klassen als die von Peer P r nicht erhöht. 10 Die Wartezeit eines Peers P r entspricht dem Intervall zwischen seiner ersten Streaminganfrage und seinem frühesten Zeitpunkt der Zulassung.

43 4.4. P2P-Medien-Streaming-System 43 Das Protokoll DAC p2p setzt sich aus Operationen auf den Peers P s und den Peers P r zusammen. Im Folgenden werden die Operationen des DAC p2p für Peers P s zusammengefasst. Ein Zugangs-Wahrscheinlichkeitsvektor < P r[1], P r[2],..., P r[n] > wird von jedem Peer P s verwaltet. Die Wahrscheinlichkeit P r[i] (mit 1 i N) wird auf die Peers P r der Klasse i angewandt. Damit bewilligt der Peer P s eine Anfrage des Peers P r der Klasse i mit der Wahrscheinlichkeit P r[i], wenn er nicht mit der Teilnahme an einer anderen Streaming-Session beschäftigt ist. Die Werte im Wahrscheinlichkeitsvektor von P s der Klasse k werden nach dem Zustand des Peers P s festgelegt. 1. Fall: Zu Beginn erfolgt die Initialisierung des Wahrscheinlichkeitsvektors von P s für 1 i k P r[i] = 1.0 und für k < i N P r[i] = 1 2 i k. Der Peer P s der Klasse k bevorzugt damit die Peers P r der Klasse k und höher, indem er ihre Anfragen bewilligt. Die Zugangswahrscheinlichkeiten für Peers P r niedrigerer Klassen nehmen exponentiell ab. Die Klasse i wird vom Peer P s bevorzugt, wenn P r[i] = 1.0 von P s ist. 2. Fall: Befindet sich der Peer P s im inaktiven Zustand, wird sein Wahrscheinlichkeitsvektor nach der Timeout-Dauer T out aktualisiert. Das bedeutet, dass die Zugangsbevorzugungen von Peers P r niedrigerer Klassen erhöht werden (k < i N P r[i] = P r[i] 2), wenn er noch keinen Peer P r in der letzten Zeitdauer T out bedient hat. Die Aktualisierung wird fortgeführt, falls sich der Peer P s weiter im inaktiven Zustand befindet, sodass jede Wahrscheinlichkeit im Vektor 1.0 ist. 3. Fall: Beendet der Peer P s die Bedienung in einer P2P-Streaming-Session, aktualisiert er seinen Wahrscheinlichkeitsvektor auf zwei Arten: Entweder lockert er seine Zugangsbevorzugungen, weil er noch nicht durch einen Peer seiner derzeitigen bevorzugten Klassen angefordert worden ist oder er verschärft seine Zugangsbevorzugungen, da es von den Peers P r seiner bevorzugten Klassen Erinnerungen gibt, welche bedient worden wären, wenn er nicht beschäftigt gewesen wäre. Im Weiteren werden die Operationen des Protokolls DAC p2p für die Peers P r erklärt. Eine Liste von M zufälligen Kandidaten-Peers P s (inklusive der entsprechenden Klassen) wird jedem Peer P r übergeben. Der Peer P r nimmt dann zu den Kandidaten-Peers P s Kontakt auf, beginnend bei den höheren Klassen.

44 44 4. Existierende Ansätze 1. Fall: Er wird zugelassen, wenn er eine ausreichende Anzahl von Genehmigungen der Peers P s, in Abhängigkeit von zu erfüllenden Bedingungen der Peers P s (z. B. deren aggregierte ausgehende Bandbreite ist R sum = R 0 ), erhält. Danach führt der Peer P r den Algorithmus OT S p2p aus, erzeugt die teilnehmenden Peers P s und die P2P-Streaming-Session beginnt. 2. Fall: Wird der Peer P r aufgrund fehlender Genehmigungen abgelehnt, hinterlässt er eine Erinnerung bei einer Anzahl beschäftigter Kandidaten-Peers. 3. Fall: Der Peer P r wird zum Peer P s, wenn er bei der Beendigung der Streaming- Session zugelassen wird. Wird er abgelehnt, muss er eine bestimmte Zeitdauer, um neue Anfragen stellen zu können, warten. Ziel dieses P2P-Medien-Streaming-Systems ist, eine geeignete Lösung zu finden, wie die Multimedia-Daten an mehrere Peers P s in einer Streaming-Session zugewiesen werden können. Mit dem Algorithmus OT S p2p, welcher das Scheduling umsetzt, wird eine optimale Zuweisung der Multimedia-Daten an mehrere P s und eine minimale Pufferungsverzögerung erzielt. Das verteilte und unterscheidende Protokoll DAC p2p, welches das Routing und die Zugangskontrolle beinhaltet, erreicht durch die Unterscheidung zwischen den Peers P r nach ihren Klassen eine schnelle Erhöhung der Systemkapazität und bietet für die Peers einen Anreiz ihre wahre verfügbare ausgehende Bandbreite anzubieten. Daher ziehen alle Peers P r ihren Nutzen in Zugangsrate, Wartezeit und Pufferungsverzögerung. [Xu u. a. (2002)] 4.5. Weitere existierende Multimedia-Streaming-Systeme In Distributed Video Streaming over Internet 11 [Nguyen und Zakhor (2002)] wird eine Lösung für Multi-Source-Streaming mit den Zielen, einen hohen Durchsatz und eine hohe Toleranz gegenüber Paketverlust und Verzögerung wegen Überlastung zu erreichen, vorgestellt. Mit Hilfe eines verteilten und empfängergesteuerten Transportprotokolls werden nebeneinander laufende Video-Übertragungen von mehreren Sendern zu einem 11 Nguyen und Zakhor, University of California at Berkeley Video and Image Processing Lab

45 4.5. Weitere existierende Multimedia-Streaming-Systeme 45 Empfänger in einer TCP-freundlichen Weise koordiniert. Das Transportprotokoll verwendet zwei Algorithmen: Rate Allocation und Packet Partition. Der Algorithmus Rate Allocation läuft auf dem Empfänger und bestimmt die Senderate für jeden Sender, basierend auf der Verlustrate und der geschätzten Bandbreite des jeweiligen Senders, mit dem Ziel, den Paketverlust zu reduzieren. Mit dem verteilten Algorithmus Packet Partition, welcher gleichzeitig auf jedem Sender läuft, werden die Pakete der Sender so koordiniert, dass die Wahrscheinlichkeit für ein spätes Ankommen der Pakete, aufgrund des Jitters im Netzwerk, reduziert wird und nicht die gleichen Pakete versendet werden. Jeder Sender kann anhand des Algorithmus entscheiden, wann er das nächste Paket des Datenstroms zu senden hat. Zigzag [Tran u. a. (2004)] 12 stellt eine P2P-Streaming-Lösung für Live-Streaming dar. Es besitzt Eigenschaften von ostream (siehe Abschnitt 4.1), da sein Ansatz auf der Benutzung von ALM basiert, mit dem Unterschied, dass die anfordernden Peers in einer Hierarchie von Clustern organisiert sind. Auf diese Hierarchie wird dann der Multicast-Baum nach bestimmten Regeln aufgebaut. In Layered Peer-to-Peer Streaming 13 [Cui und Nahrstedt (2003)] wird eine Lösung für On-Demand-Streaming in P2P-Systemen vorgestellt. Als Grundlage für diesen Ansatz dient layer-encodiertes Streaming (siehe PALS im Abschnitt 4.3). Der Grundalgorithmus verwendet den Greedy-Ansatz (siehe optimales Multiplexing im Abschnitt 4.2), welcher als Ziel die maximale Ausnutzung der verfügbaren ausgehenden Bandbreiten aufweist. Weitere Beispiele für Multimedia-Streaming-Systeme sind Nice [Banerjee u. a. (2002)] (University of Maryland, USA), End System Multicast [Chu u. a. (2002)] (Carnegie Mellon University, USA), Scattercast [Chawathe (2003)] (AT&T Labs Research, USA), Service Adaptive Multicast [Banerjee u. a. (2003)] (Hewlett-Packard Laboratories, USA), PeerCast [Deshpande u. a. (2002)] (Stanford University, USA), SplitStream [Castro u. a. (2003)] (Microsoft Research, Großbritannien) und CoopNet [Padmanabhan u. a. (2003)] (Microsoft Research, USA). 12 D. A. Tran u. a., University of Central Florida, USA 13 Y. Cui u. a., University of Illinois at Urbana-Champaign, USA

46 46 4. Existierende Ansätze 4.6. Fazit Die Ansätze zum Streaming von Multimedia-Daten haben auf verschiedene Arten das Scheduling umgesetzt. Eine Bewertung der Ansätze aus den Abschnitten 4.1, 4.2, 4.3 und 4.4 befindet sich im Anhang A dieser Diplomarbeit. Die Verwendung eines dynamischen Overlay-Netzes wie bei ostream [Cui u. a. (2004)], um ALM zu ermöglichen, stellt trotz der topologischen Ineffizienzen einen guten Ansatz zur Verteilung der Multimedia-Daten dar. Optimales Multiplexing [Zhao und Tripathi (1999)] gelingt es, mit einer Gruppe von Multiplexing-Schedules die vorhandene Bandbreite effizient auszunutzen, was aber das Vorhandensein des Datenstroms vor der Berechnung der Schedules und der Bestimmung der Bandbreite B bedingt. Jedoch sollte in einem Streaming-System nicht nur Streaming-on-Demand, sondern auch Live-Streaming realisierbar sein. ostream [Cui u. a. (2004)] und optimales Multiplexing [Zhao und Tripathi (1999)] stellen nur eine Lösung für Single-Source-Streaming dar, während PALS [Rejaie und Ortega (2003)] und das P2P-Medien-Streaming-System [Xu u. a. (2002)] das Streaming von mehreren Sendern erlauben. PALS [Rejaie und Ortega (2003)] ermöglicht dem Empfänger die Qualität des Datenstroms unter der Voraussetzung, dass bei den Sendern der Datenstrom vollständig und layer-encodiert vorliegt, anzupassen. Das P2P-Medien-Streaming-System [Xu u. a. (2002)] beinhaltet nur die Funktionalität für Streaming-on-Demand. Es erweist sich aber mit seinen Algorithmen zum Scheduling sowie zum Routing und der Zugangskontrolle als eine viel versprechende Idee, da es die einzelnen Peers in Abhängigkeit von ihren Bandbreiten in Klassen einteilt und dementsprechend das Streaming ausführt. Durch die Art der Zuteilung der Peers in die Klassen werden aber Bandbreiten verschenkt und es bleibt offen, auf welche Art und Weise die Bandbreiten-Bestimmung erfolgt. Zusammenfassend kann aus den hier in Bezug auf die Schedulingstrategie vorgestellten und den kurz genannten Multimedia-Streaming-Systemen die Schlussfolgerung gezogen werden, dass alle Systeme die notwendigen Eigenschaften nur teilweise realisiert haben. Daher werden die Vorzüge dieser Systeme für die Entwicklung einer eigenen Schedulingstrategie genutzt.

47 5. Anforderungsanalyse In diesem Kapitel erfolgt im Hinblick auf die in dieser Diplomarbeit zu entwickelnden Komponenten Scheduling und Bandbreiten-Bestimmung eine Analyse der Anforderungen. Diese Komponenten werden in das Multimedia-Streaming-System ekstream eingegliedert. Zunächst erfolgt im Abschnitt 5.1 eine Beschreibung der Charakteristiken des Schedulings. Anschließend werden die allgemeinen funktionalen Anforderungen im Abschnitt 5.2 für das Multimedia-Streaming-System aufgezeigt. Der Abschnitt 5.3 beinhaltet die nicht funktionalen und funktionalen Anforderungen des Schedulings sowie die funktionalen Anforderungen der Bandbreiten-Bestimmung Charakteristiken des Schedulings Das Scheduling wählt aus einer gegebenen Menge anbietender Knoten, basierend auf ihren gemessenen ausgehenden Bandbreiten, die Knoten aus, welche an der Streaming- Session teilnehmen werden, und koordiniert die Anfragen nach Multimedia-Daten der sendenden Knoten an die empfangenden Knoten. Die Schedulingstrategie sollte die zeitliche Abfolge der Übertragung der Multimedia-Daten als Fragmente des Datenstroms berechnen können. Diese Fragmente werden dann auf die Datenpakete aufgeteilt, welche im Netzwerk zum empfangenden Knoten übertragen werden Koordinator des Schedulings Um über das Senden der Datenpakete einen Überblick zu behalten und die Qualität der verwendeten Verbindungen zwischen den sendenden und empfangenden Knoten zu überwachen, ob auch die zuvor gemessenen ausgehenden Bandbreiten verwendet werden, muss eine Art Verbindungskontrolle installiert werden. Diese Aufgabe wird dem

48 48 5. Anforderungsanalyse empfangenden Knoten als Koordinator zugeteilt, weil er aus seiner Sicht ein ständiges Mitglied des Netzwerks ist und den Verlust von Datenpaketen zuerst bemerkt Schedulingszenarien Der sendende Knoten kann bei gegebener ausgehender Bandbreite auch mehrere empfangende Knoten bedienen, sofern er ausreichend Bandbreite aufbringt. Da aber der Koordinator des Schedulings der empfangende Knoten sein soll, konzentriert sich das Beobachtungszentrum des Schedulingablaufs auf diesen Knoten, sodass der Fall sendender Knoten bedient mehrere empfangende Knoten nicht betrachtet wird. Somit ergeben sich zwei grundlegende Fälle für das Scheduling: Im einfachen Fall bedient ein sendender Knoten einen empfangenden Knoten mit den angeforderten Fragmenten des Datenstroms. Hierbei muss das Scheduling den geeigneten sendenden Knoten, basierend auf der berechneten ausgehenden Bandbreite, auswählen. Im erweiterten Fall bedienen mehrere sendende Knoten einen empfangenden Knoten, da die gemessene ausgehende Bandbreite eines sendenden Knoten nicht für die Übertragung der angeforderten Multimedia-Daten genügt. Dieser erweiterte Fall kann auf den einfachen Fall reduziert werden, falls sich bei einer erneuten Bandbreiten- Bestimmung die ausgehende Bandbreite des sendenden Knoten um den bisher fehlenden Bandbreiten-Betrag erhöht. Eine Kommunikation zwischen den sendenden Knoten zur Abstimmung sollte vermieden werden. Stattdessen sollten sie selbstständig entscheiden können, wann sie welche Datenpakete zu senden haben. Das Scheduling bestimmt bei dem empfangenden Knoten anhand einer Schedulingstrategie, in direkter Abhängigkeit von den ausgehenden Bandbreiten der sendenden Knoten, eine Schedulingsequenz für die Periode T. Diese Schedulingsequenz beschreibt, mit welchem Anteil und zu welchem Zeitpunkt jeder sendende Knoten seine Datenpakete zu schicken hat. Der empfangende Knoten teilt dann den jeweiligen sendenden Knoten ihren entsprechenden Anteil der Schedulingsequenz mit oder jeder sendende Knoten kann über einen bestimmten Mechanismus, basierend auf Eingangsparametern, seine Sende-Entscheidung treffen.

49 5.2. Allgemeine funktionale Anforderungen Mögliche Erweiterungen der Schedulingfunktionalität Eine mögliche Erweiterung der Schedulingfunktionalität wäre eine Introspektion in den Datenstrom. Datenpakete könnten bevorzugt behandelt werden, sodass der empfangende Knoten diese als erstes erhält. Der Datenstrom enthält MPEG4-kodierte Daten, die eine bestimmte Struktur aufweisen, und setzt sich aus den Video- und Audiodaten sowie anderen Medienformaten zusammen. Grundsätzlich bestehen die Video-Daten aus GOPs (Group Of Pictures), welche drei Frame-Typen, die I-, P- und B-Frames, enthalten. Die so genannten I-Frames könnten dabei bevorzugt versendet werden, da sie wichtige Informationen zum Inhalt des Datenstroms aufweisen. Jedoch verlangt das Streaming von den I-, P- und B-Frames, dass sie in der richtigen Abhängigkeitsreihenfolge übertragen werden Allgemeine funktionale Anforderungen In diesem Abschnitt werden die allgemeinen funktionalen Anforderungen an den Vorgang des Streamings festgelegt. Dabei wird die Verwendung eines dezentralen und kooperierenden P2P-Netzwerks begründet sowie die Form der Übertragung der Multimedia-Daten mittels ALM beschrieben Anforderungen an das Netzwerk Im gegebenen Netzwerk werden die aufgenommenen Multimedia-Daten über den kontinuierlichen Prozess des Streamings bereitgestellt. Anfänglich werden die Multimedia- Daten von einem Knoten, welcher als Quelle bezeichnet wird, zur Verfügung gestellt. Es sollen möglichst viele Knoten diesen angebotenen Datenstrom nutzen können, ohne die Quelle auszulasten. Durch die Speicherintensität und strikte Zeitabhängigkeit der Multimedia-Daten sowie des auftretenden Jitters im Netzwerk erweist sich eine kontinuierliche Wiedergabe beim Empfänger als nicht einfach. Die Pufferung auf der Empfängerseite gleicht den Jitter im Netzwerk aus.

50 50 5. Anforderungsanalyse Eigenschaften der Knoten Grundsätzlich sind die eingehenden und ausgehenden Bandbreiten eines Knotens nicht äquivalent, oft ist der Downstream größer als der Upstream. Hinzu kommt, dass die teilnehmenden Knoten im Netzwerk nicht homogen bezüglich ihrer Bandbreite sind. Die Asymmetrie in der Bandbreite und die Heterogenität der Knoten kennzeichnen die Anforderungen an das Netzwerk. Die Knoten gestalten ihre Teilnahme am Netzwerk dynamisch: sie kommen ungeplant zur Nutzung der angebotenen Dienste (Nutzung des Datenstroms) hinzu, aber entscheiden sich genauso spontan gegen eine weitere Teilnahme am Netzwerk. Damit weist das Netzwerk eine ständig wechselnde Knotenmenge auf. Unterstützte Streamingarten Das Streaming der Multimedia-Daten sollte live aber auch On-Demand möglich sein. Im Falle des Live-Streamings können im Gegensatz zum Streaming-on-Demand zukünftige Daten nicht angefordert werden (siehe Abschnitt 3.2). Dezentrales P2P-Netzwerk Um möglichst den obigen Anforderungen gerecht zu werden, wird ersichtlich, dass die Verwendung einer Client-/Server-Struktur im Gegensatz zu einem dezentralen P2P- Netzwerks nicht angebracht ist. Im Abschnitt 3.4 wurden die Eigenschaften des P2P- Systems, welche die Entscheidung begründen, beschrieben. Da Peers dem P2P-System spontan beitreten, aber auch aus ihm austreten können, weist das P2P-System einen dynamischen Systemumfang auf. Die Peers eines P2P-Systems werden nicht in Clients und Server eingeteilt, sondern besitzen Client- und Server-Eigenschaften. Des Weiteren sind die Peers sehr verschieden in ihren ausgehenden Bandbreiten, ihrer Leistungsfähigkeit und in der Zeitdauer ihrer Teilnahme am P2P-System. Die durch die Übertragung der Multimedia-Daten entstehende Last konzentriert sich nicht auf einen Knoten im Netzwerk, sondern verteilt sich im optimalen Fall auf eine Reihe an Peers, die die Rolle des Supplying Peers P s einnehmen. Diese Peers müssen zuvor eine bestimmte Menge an Multimedia-Daten erhalten haben, um sie anderen Peers, hier als Requesting Peers P r bezeichnet, anbieten zu können. Die Anzahl nebeneinander

51 5.3. Anforderungen an das Scheduling 51 existierender Verbindungen zwischen Peer P s und den Peers P r hängt von der verfügbaren Bandbreite des Peers P s ab. Zusätzlich kann ein Peer P r von mehreren Peers P s bedient werden, falls die ausgehende Bandbreite eines Peers P s für die Bitrate der zu übertragenden Multimedia-Daten nicht genügt. Die Besonderheit an diesem Netzwerk ist die Kooperation, es wird nicht nur die Aufgabe der Bereitstellung des Datenstroms verteilt, sondern durch das gegenseitige Nehmen und Geben der Multimedia-Daten eine Erhöhung der bedienbaren Knoten erreicht. Zusammenfassend wird der Aufbau eines dezentralen kooperierenden P2P-Netzwerks benötigt, welches als Kommunikationsplattform für den Austausch der Multimedia- Daten verwendet wird Anforderungen an die Kommunikation Als Nächstes sollte über die Art und Weise des Austauschs der Multimedia-Daten entschieden werden. Für die Bereitstellung der gewünschten Multimedia-Daten eignet sich die Punkt-zu-Punkt-Kommunikation, dem Unicast, von Quelle zum Peer P r nicht, da so nur ein Peer bedient werden kann. Daher ist die Verwendung einer Punktzu-Mehrpunkt-Kommunikation, dem Multicast, begründet, denn die Quelle kann die Multimedia-Daten an mehrere Peers P r senden. Im Abschnitt 3.3 wurden bereits die Argumente, IP-Multicast nicht zu verwenden, beschrieben. Als Alternative bietet sich ALM an, bei welchem die Peers als Endsysteme ein Overlay-Netz mit guter Netzwerkeffizienz bilden. Den Aufbau des Overlay-Netzes übernimmt hauptsächlich das Routing, welches lokalitätsorientiert 1 die Pfade für den Datentransport aussucht. Dadurch soll die Übertragung der Multimedia-Daten im Multimedia-Streaming-System über eine Form des ALM geschehen Anforderungen an das Scheduling In diesem Abschnitt der Anforderungsanalyse werden die nicht funktionalen und die funktionalen Anforderungen für den Entwurf und die Entwicklung des Schedulings vom 1 Bei der Beachtung der Lokalität werden Knoten, die möglichst nah beieinander im physikalischen Netzwerk liegen, bevorzugt.

52 52 5. Anforderungsanalyse Multimedia-Streaming-System spezifiziert. Im Anschluss erfolgt die Beschreibung der funktionalen Anforderungen für die Bandbreiten-Bestimmung Nicht funktionale Anforderungen Die nicht funktionalen Anforderungen gelten für das Scheduling, aber auch für das Multimedia-Streaming-System. Sie stellen eine Einschränkung der funktionalen Anforderungen dar. Dabei unterteilen sich die nicht funktionalen Anforderungen in die Leistungsanforderungen und die Qualitätsanforderungen. Leistungsanforderungen Die Leistungsanforderungen umschreiben in Bezug auf die Leistung (Zeit, Datenmenge, Ressourcenverbrauch, Genauigkeit) die Umstände, unter denen die gewünschten Funktionalitäten erbracht werden sollen. Qualität des Datenstroms: Die Bitrate des angebotenen Datenstroms hat direkten Einfluss auf die notwendige Bandbreite der Peers und beeinflusst somit das Stattfinden einer Übertragung. Rechtzeitigkeit der Multimedia-Daten: Die Reduzierung des Jitters und des Delays bei der Übertragung der Multimedia-Daten im Netzwerk sollten auch beim Scheduling beachtet werden, damit der Datenstrom beim Peer P r wiedergegeben werden kann. Effektive Konstruktion des Overlay-Netzes: Der Aufbau des Overlay-Netzes beeinflusst die Qualitätsmetriken Stress und Stretch. Diese Metriken sollten möglichst klein gehalten werden. Die Netzwerkeffizienz umschreibt die im Netzwerk übertragene Datenmenge mit den Zielen der Erhöhung des Informationsgehalts und der Reduzierung der Weglänge. Stabilität des Overlay-Netzes: Die Dynamik des Overlay-Netzes und das dynamische Verhalten der Peers sollten trotzdem nicht zu einer Instabilität des Netzes führen. Scheduling und Bandbreiten-Bestimmung sollten mit der Dynamik des Overlay-Netzes und der Peers zurechtkommen und in angemessener Zeit darauf reagieren können.

53 5.3. Anforderungen an das Scheduling 53 Behandlung der Heterogenität: Die Peers des P2P-Netzwerks unterscheiden sich in ihrer Leistungsfähigkeit (z. B. angebotene ausgehende Bandbreiten, Rechenleistung etc.). Das Multimedia-Streaming-System muss mit dieser Heterogenität umgehen können. Skalierbarkeit des P2P-Systems: Durch die Kooperation im P2P-Netzwerk wird die Bedienung einer möglichst großen Anzahl von Peers P r ermöglicht. Skalierbarkeit bedeutet, dass mit der Anzahl der bedienbaren Knoten der Ressourcenbedarf maximal linear steigt. Ziel ist es, diesen Bedarf an Ressourcen bei einer hohen Anzahl der Peers P r gering zu halten. Damit muss die Anzahl der Peers für die Funktionalitäten des Multimedia-Streaming-Systems und insbesondere auf die des Schedulings und der Bandbreiten-Bestimmung in einem realisierbaren Umfang bleiben. Qualitätsanforderungen Die Qualitätsanforderungen beinhalten in Bezug auf die Qualität die Umstände, unter denen die gewünschten Funktionalitäten erbracht werden sollen. Anpassbarkeit: Die Komponenten Scheduling und Bandbreiten-Bestimmung müssen in das Multimedia-Streaming-System ekstream integrierbar sein. Portabilität: Die Ausführung des Streamings der Multimedia-Daten sollte auf beliebigen Plattformen (Architekturen und Betriebssystemen) möglich sein. Effizienz der Schedulingstrategie: Die Rechtzeitigkeit der Wiedergabe der Multimedia-Daten beim Peer P r sowie die Kosten bezüglich der Zeit oder auch der Bandbreitenausnutzung können Aspekte der Effizienz darstellen. Diese Aspekte sollten bei der Entwicklung der Schedulingstrategie einbezogen werden, damit die Schedulingstrategie effizient ist. Zuverlässigkeit: Das Multimedia-Streaming-System sowie speziell Scheduling und Bandbreiten-Bestimmung als Komponenten sollten in Fehlerfällen (Ausfall von Peers und Verlust von Datenpaketen) Zuverlässigkeit aufweisen und sich fehlertolerant verhalten.

54 54 5. Anforderungsanalyse Funktionale Anforderungen Im Folgenden werden die funktionalen Anforderungen in Bezug auf das Scheduling beschrieben. Auswahl der Peers P s Das Scheduling entscheidet über die zu verwendende Anzahl der Peers P s aus einer gegebenen Menge an Peers P s, die den Peer P r bedienen. Diese Entscheidung basiert auf den ausgehenden Bandbreiten der Peers P s und der eingehenden Bandbreite des Peers P r. Die Summe der ausgehenden Bandbreiten der Peers P s soll mindestens so groß wie die Bitrate des Datenstroms sein. Ebenfalls gilt, dass die vom Peer P r eingehende Bandbreite mindestens der Bitrate des Datenstroms entsprechen muss. Unter diesen beiden Bedingungen kann der Datenstrom empfangen werden. Bestimmung der ausgehenden Bandbreite Die ausgehenden Bandbreiten der Peers P s werden über die Komponente Bandbreiten- Bestimmung (siehe Abschnitt 5.3.3) bestimmt. Es besteht eine direkte Abhängigkeit zwischen der ausgehenden Bandbreite und den durch das Scheduling zugeteilten Anteil des Datenstroms an den Peer P s. Je mehr ausgehende Bandbreite ein Peer P s anbieten kann, desto mehr Multimedia-Daten kann er an einen Peer P r senden. Aufgrund der Dynamik des P2P-Netzwerkes sollte die Bandbreiten-Bestimmung für die Peers P s in regelmäßigen Abständen oder bei gegebenen Anlässen erneut ausgeführt werden. Fehlerfälle Das Scheduling muss mit Ausfällen beider Peer-Rollen P r sowie P s umgehen können. Bei einem Ausfall des Peers P r wird das Scheduling abgebrochen. Wird jedoch nach dem Ende eines Timeouts der Ausfall eines Peers P s bemerkt, der einen bestimmten Anteil an Multimedia-Daten übertragen soll, muss ein neuer Peer gefunden werden und die verlorenen gegangenen Datenpakete erneut gesendet werden. Die im Abschnitt beschriebenen Fehlerfälle bei der Übertragung der Multimedia- Daten müssen ebenso in Betracht gezogen werden.

55 5.3. Anforderungen an das Scheduling Funktionale Anforderungen an die Bestimmung der Bandbreite Eine optimale Funktionalität des Schedulings bedingt eine korrekte Bestimmung der Bandbreite zwischen dem Peer P r und der Peers P s. Die Bandbreiten-Bestimmung erfolgt vom Peer P r aus. Situationsbeschreibung Gegeben ist ein Peer P r und eine Menge an Peers (P s1, P s2,..., P sn ). Zwischen diesen beiden Peer-Typen befindet sich eine direkte Verbindung im Overlay-Netz. Nun wird die geschätzte Bandbreite der Verbindung i zwischen P si und P r gesucht, um das Scheduling auf Basis dieser gemessenen ausgehenden Bandbreiten durchführen zu können. Wird eine zu geringe Bandbreite gemessen, kommt die Frage auf, an welcher Stelle der Verbindung zwischen Peer P s und Peer P r sich der Engpass befindet. Im ersten Fall könnte die Ursache beim Peer P s liegen, da seine ausgehende Bandbreite nicht ausreicht, sodass weitere Peers P s hinzugenommen werden müssen, damit der Peer P r bedient werden kann. Ebenso könnte der Grund für die niedrige Bandbreite beim Peer P r liegen, da seine eingehende Bandbreite für den Empfang der Multimedia-Daten nicht genügt. Eine weitere Ursache könnte im dritten Fall die Architektur des physikalischen Netzwerkes sein. Grundlegende Funktionalitäten Da nicht nur vor dem Beginn des Schedulings gemessen werden muss, sondern auch in bestimmten Abständen innerhalb des Streamings, darf die Messung der ausgehenden Bandbreite den wirklichen Traffic (Cross Traffic) nicht beeinträchtigen. Diese Eigenschaft der Bandbreiten-Bestimmung wird auch als non-intrusive bezeichnet und weist dann einen geringen Overhead in Bezug auf den durch die Messung erzeugten Traffic auf. Des Weiteren müssen die Ergebnisse der Bandbreiten-Bestimmung korrekt und in einer endlichen Zeit bestimmt werden können.

56 56 5. Anforderungsanalyse Die Entscheidung, wann erneut gemessen werden muss, liegt im Entwurf der Bandbreiten-Bestimmung. Jedoch muss initial gemessen und im Fehlerfall und nach bestimmten Zeitintervallen die Messung wiederholt werden. Die Bandbreiten, Upstream und Downstream des Pfades von Quelle bis Senke und von Senke bis Quelle können sich unterscheiden, sie müssen nicht symmetrisch sein. Dies erschwert die Bandbreiten-Bestimmung. Weitergehende Funktionalitäten Erst mit einer ausgiebigen Menge an Datenpaketen, die über die zu messende Verbindung übertragen werden, kann eine genaue Messung der verfügbaren Bandbreite erfolgen. Wenn regelmäßig Datenpakete verloren gehen, dann kann aus der Anzahl der verloren gegangenen Paketen bestimmt werden, wie viel Bandbreite gefehlt hat. Es ist allerdings auch möglich, dass ein Verlust von Datenpaketen auf Störungen im Übertragungskanal (z. B. im WLAN) zurückzuführen ist und nicht auf eine fehlende Bandbreite. Zusätzlich sollten die Schwankungen der Messungen beobachtet werden und daraus bestimmt werden, wie oft eine Messung erfolgen sollte. Zur Bewertung der Bandbreiten-Bestimmung kann die Fehlerrate (Verlust der Datenpakete) berechnet werden und anhand dieser abgeschätzt werden, wie gut diese Verbindung genutzt werden kann. Wobei zur Beurteilung der Qualität einer Verbindung die gemessene ausgehende Bandbreite sowie die Anzahl der verlorenen Datenpakete mit hineinfließt. Darüber hinaus muss festgestellt werden, wie intensiv das Programm den existierenden Cross Traffic aufhält, und eine Begrenzung der zu versendenden Datenpakete erfolgen, damit der Empfang von Video- und Audio-Daten nicht beeinträchtigt wird. Es sollte geprüft werden, wie gut sich die Bandbreite bei vorhandenen Cross Traffic bestimmen lässt und wie genau die noch vorhandene Bandbreite für einen weiteren Peer P r messbar ist. Mittels der übertragenen Multimedia-Daten kann ebenso eine Bandbreite gemessen werden. Die übertragene Datenmenge des Datenstroms entspricht mindestens der Bandbreite, die real im Netzwerk vorliegt.

57 6. Entwurf Auf der Basis des im Kapitel 3 beschriebenen Grundlagen-Wissens, der vorgestellten existierenden Ansätze im Kapitel 4 und der in Kapitel 5 gefundenen Anforderungen für die Realisierung der Aufgabenstellung wird in diesem Kapitel der Entwurf für ein P2P-Streaming-Modell entwickelt. Danach werden zunächst verschiedene Ansätze zur Realisierung des Schedulings vorgestellt und anschließend aus diesen ein eigener Ansatz zum Scheduling entworfen, welcher in das entwickelte Modell eingegliedert werden soll. Ein weiterer Bestandteil dieses Kapitel ist die Bandbreiten-Bestimmung. Aus einer ausgewählten Anzahl vorgestellter existierender Ansätze zur Bestimmung der verfügbaren Bandbreite wird eine eigene Herangehensweise abgeleitet P2P-Streaming-Modell Das im Abschnitt 3.5 beschriebene P2P-Streaming-System dient der Entwicklung eines eigenen P2P-Streaming-Modells. Das eigene Modell soll sich nicht auf eine bestimmte Art des Streamings festlegen. Das Modell besteht aus N N Peers, welche sich in der Menge P (P = {P i 1 i N, i N}) befinden. Jeder Peer P i P besitzt eine individuell ausgehende Bandbreite R out, eine individuell eingehende Bandbreite R in und eine bestimmte Puffergröße mit dem Ziel der Verringerung des Jitters. Das Streaming der Multimedia-Daten erfolgt mit der Bitrate R 0. Von einem oder mehreren Peers aus der Menge P werden die Multimedia-Daten im P2P-Netzwerk zuerst angeboten. Diese Peers werden als Seeding Peers der Menge P seed P (siehe Mengendefinition ) bezeichnet. 1 Durch das hochgestellte seed an den Elementen wird die Zugehörigkeit zu dieser Menge gekennzeichnet.

58 58 6. Entwurf P seed = { Pi seed P Pi seed bietet Multimedia-Daten als (6.1) } ursprüngliche Quelle an Die Peers können die Rolle anfordernder Peer sowie anbietender Peer annehmen. Bietet ein Peer P i P Multimedia-Daten an, gehört er als anbietender Peer in die Menge P s, welche in der Mengendefinition beschrieben wird. Diese Menge P s stellt eine Teilmenge von P dar (P s P). Die Menge P seed lässt sich als eine Teilmenge von P s beschreiben (P seed P s ). P s = { } Pi s P Pi s bietet Multimedia-Daten an (6.2) Fordert ein Peer P i P Multimedia-Daten, so befindet er sich als anfordernder Peer in der Menge P r, welche durch die Mengendefinition umschrieben wird. Sie stellt eine Teilmenge von P dar (P r P). P r = { Pi r P Pi r } fordert Multimedia-Daten an (6.3) Die Elemente der Mengen P s und P r tauschen untereinander kooperierend Multimedia- Daten aus. Die Anzahl nebeneinander existierender Verbindungen zwischen einem Peer P s i P s und den anfordernden Peers aus der Menge P r hängt von der verfügbaren Bandbreite des Peers aus der Menge P s ab. Zusätzlich kann ein Peer P r i P r von mehreren anbietenden Peers aus der Menge P s bedient werden, falls die ausgehende Bandbreite eines Peers Pi s nicht genügt. für die Bitrate R 0 der zu übertragenden Multimedia-Daten Die Anzahl N der teilnehmenden Peers am P2P-Modell ist dynamisch. Charakteristisch für die Kooperation im P2P-Multimedia-Streaming-Modell ist, dass immer mehr Peers aus der Menge P r durch eine wachsende Anzahl Peers aus der Menge P s bedient werden 2 Die Zugehörigkeit der Elemente zu dieser Menge wird anhand des hochgestellten s (s als Abkürzung für supplying) verdeutlicht. 3 Durch die Verwendung eines hochgestellten r (r als Abkürzung für requesting) wird die Zugehörigkeit der Elemente zu dieser Menge gezeigt.

59 6.2. Ideen zur Schedulingstrategie 59 können. In der Abbildung 6.1 wird dieses P2P-Streaming-Modell zu den Zeitpunkten t und t + 1 veranschaulicht. (a) Streaming zum Zeitpunkt t (b) Streaming zum Zeitpunkt t+1 Abbildung 6.1.: Veranschaulichung des P2P-Streaming-Modells 6.2. Ideen zur Schedulingstrategie Im Folgenden werden verschiedene Ansätze zum Scheduling vorgestellt und jeweils die Vorzüge und Nachteile in Bezug auf die Anwendbarkeit für kooperatives P2P-Streaming bewertet.

60 60 6. Entwurf Plain Scheduling Bei diesem Schedulingansatz wird die Heterogenität der Peers in ihrer angebotenen Bandbreite nicht betrachtet. Die Aufteilung des Datenstroms erfolgt in Abhängigkeit von der Anzahl der Peers der Menge P s. Mit Hilfe einer Modulo-Rechnung erhält jeder Peer P s i einen gleichen Anteil der zu sendenden Multimedia-Daten. Dieser Ansatz ist einfach zu realisieren und erfordert keine Bandbreiten-Bestimmung. Da aber die Heterogenität der Peers, die in einem P2P-Netzwerk vorhanden ist, nicht einbezogen wird, kann es leicht passieren, dass die angebotene Bandbreite nicht genutzt werden kann und einzelne Peers aus P s mit der Übertragung zu sehr ausgelastet werden MAXFLOW-Algorithmus In diesem Ansatz (siehe [Weber (2004)], S. 52ff) wird das grundsätzliche Ziel, die Bestimmung des Umfangs der Teilströme, die der Peer P r j empfängt, verfolgt. P r vom Peer P s i P s (i j) Zur Berechnung eines optimalen bzw. maximalen Flusses (siehe [Walz (2003)]) in einem Overlay-Netz (z. B. im Overlay-Netz mit Kreisen, siehe Abbildung 3.6 im Kapitel 3) kann der nachfragebasierte MAXFLOW-Algorithmus verwendet werden. Ist das Overlay-Netz in Cluster 4 aufgeteilt, wird für den zu betrachtenden Cluster ein Leader bestimmt, ein Peer Pi s P s, der die Bandbreiten der Knoten ermittelt und mit denen dann ein MAXFLOW im Cluster ausgerechnet wird. Es wird angenommen, dass die Verbindungen mit ihren Bandbreiten bestehen bleiben. Dieser Leader kann dann den Datenstrom, welcher in Fragmente aufgeteilt ist, anbieten. Es ist aber auch möglich, dass der Leader nur den MAXFLOW berechnet und den Datenstrom nicht zur Verfügung stellt. Zusätzlich zum Overlay-Netz existiert nun der MAXFLOW-Graph, der nicht mit einem Spannbaum gleichzusetzen ist (siehe Abschnitt 6.2.3). Die Kanten des MAXFLOW-Graphen besitzen bestimmte Gewichte, die der vorhandenen Bandbreite entsprechen. Des Weiteren sind diese Kanten gerichtet und stellen die Verbindung zwischen den Peers dar. Wichtig ist bei der Verteilung der Fragmente an 4 Die Aufteilung des Overlay-Netzes in Bereiche kann nach verschiedenen Kriterien geschehen: Cluster pro Breitbandknoten, aggregierende Cluster oder lokale Cluster.

61 6.2. Ideen zur Schedulingstrategie 61 jede Verbindung die Beachtung der Nachfrage der Peers aus der Menge P r, damit eine falsche Zuteilung einzelner Kanten des MAXFLOW-Graphen vermieden werden kann. Für die Realisierung des Schedulings erfolgt mittels Tiefensuche eine maximal mögliche iterative Zuordnung so vieler Fragmente auf die höchstkapazitive Verbindung. Jedoch ist zu beachten, welche Fragmente bei den Peers aus P r bereits vorhanden sind und dass die dafür benötigten Bandbreiten von den Gewichten an den Kanten abgezogen werden. Ein Beispiel für die Berechnung eines optimalen Flusses wird in der Abbildung 6.2 aufgezeigt. Der angebotene Datenstrom setzt sich aus fünf Fragmenten (A, B, C, D und E) zusammen und befindet sich im Puffer des Peers Pi s bzw. des Knoten 1. Die Bearbeitung der Anfragen von den Peers aus P r erfolgt entlang der Verbindungen mit den größten Bandbreiten. Die Fragmente des Datenstroms werden entsprechend der vorhandenen Bandbreite der Verbindung vom Peer Pj r empfangen und er bietet sie dann als Peer Pj s weiteren zu bedienenden Peers aus P r an. Dadurch wird der optimale Fluss berechnet. Abbildung 6.2.: Beispiel für einen MAXFLOW-Graphen Das Problem ist die Umsetzung des MAXFLOW-Algorithmus auf das dynamische Overlay-Netz. Die Knoten können dem Netz beitreten und sich ebenfalls dynamisch abmelden, sodass durch die hinzukommenden und wegfallenden Bandbreiten eine Neuberechnung des maximalen Flusses nötig ist. Diese Berechnungen benötigen exponentielle Zeit. Ebenfalls wirken sich die dynamischen Verbindungen im Internet nachteilig aus, da zur Berechnung des optimalen Flusses eine theoretische Bandbreite angenommen werden muss. Somit eignet sich der MAXFLOW-Algorithmus nicht für große Overlay- Netze.

62 62 6. Entwurf Minimaler Spannbaum Nach [Walz (2003)] ist ein Spannbaum 5 ein Teilgraph eines zusammenhängenden Graphen, der ein Baum ist und alle seine Knoten beinhaltet. Das Gewicht eines Spannbaums ergibt sich aus der Summe seiner Kantengewichte. Ein Spannbaum wird dann als minimal bezeichnet (minimaler Spannbaum 6 ), wenn es keinen anderen Spannbaum im gleichen Graphen mit geringerem Gewicht gibt. Die Berechnung solcher minimalen Spannbäume können mit dem Algorithmus von Prim (siehe [Walz (2003)]) oder mit dem Kruskal-Algorithmus (siehe [Walz (2003)]) erfolgen. Eine Anwendung des Spannbaum- Problems ist beim Spanning Tree Protocol zur Auffindung kürzester Kommunikationswege zu finden. Im Abschnitt 4.1 wurde ostream als eine asynchrone Multicast-Lösung, dessen Scheduling auf dem Aufbau eines MST basiert, vorgestellt. Durch die Struktur des MST können die Übertragungskosten für die Multimedia-Daten minimiert werden. Bei der Anwendung des Ansatzes SPANNINGTREE (siehe [Weber (2004)], S. 52ff) wird, basierend auf dem Overlay-Netz, ein Spannbaum ausgerechnet. Es werden, falls es im Overlay-Netz Cluster gibt, pro Cluster die Leader bestimmt und die Bandbreiten der Knoten bei ihnen gesammelt. Sind die Cluster eines Overlay-Netzes nicht explizit gegeben, müssen sie gesucht werden. Die Suche nach Clustern im Overlay-Netz gestaltet sich als schwierig, denn es ist mit dem NP-vollständigen Cliquenproblem (siehe [Walz (2003)]) zu vergleichen und benötigt exponentiellen Aufwand. Jeder Knoten, der die Rolle als Leader, ein Peer Pi s P s, einnimmt, berechnet dann pro Fragment des Datenstroms einen Spannbaum (MST) über seinem Cluster. Die Vorzüge des SPANNINGTREE-Algorithmus stellen die Berechnung des optimalen Flusses und das mit enthaltene Scheduling dar. Weniger effizient ist die Berechnungszeit für einen MST in großen Overlay-Netzen, da die Laufzeit bei einfacher Implementierung nach oben mit O(#Kanten log(#knoten)) begrenzt wird. Die fehlende Dynamik und die Notwendigkeit der MST-Berechnung pro Fragment stellen sich als Nachteile dieses Schedulingansatzes heraus. 5 engl.: spanning tree 6 engl.: minimal spanning tree

63 6.2. Ideen zur Schedulingstrategie Optimal Media Data Assignment Die genauen Eigenschaften des Algorithmus OTS wurden bereits im Abschnitt dargelegt. Dieser Schedulingansatz beschäftigt sich mit der optimalen Zuweisung der Multimedia-Daten an mehrere Peers aus P s mit dem Ziel der minimalen Pufferungsverzögerung. Dabei werden diese Peers in N Klassen eingeteilt. Die Voraussetzung dafür ist die Bandbreiten-Bestimmung. Ein Peer Pi s P s, dessen gemessene ausgehende Bandbreite sich in dem Bereich von mindestens der Hälfte der Bitrate der Multimedia-Daten bis zur gesamten Bitrate befindet, wird der Klasse 1 mit der ausgehenden Bandbreite R out (P s i ) = R 0 2 zugeordnet. Liegt dagegen die gemessene ausgehende Bandbreite eines anderen Peers P s in einem Bereich von einem Viertel bis zu einer Hälfte der Bitrate der Multimedia-Daten, gehört dieser Peer der Klasse 2 an und hat eine ausgehende Bandbreite von ( R 0 4 ). Diese Einteilung setzt sich dann in Abhängigkeit von der ausgehende Bandbreite eines Peers und der Bitrate fort. Durch diese gewählte Einteilung der Peers aus P s wird die Heterogenität bezüglich der Bandbreite beachtet, aber verfügbare Bandbreiten können verfallen und ungenutzt bleiben, was nicht dem Ziel der maximalen Nutzung der vorhandenen Bandbreiten entspricht Eigene Ansätze Im Folgenden werden zwei eigene Ansätze zur Realisierung des Schedulings vorgestellt. Common Denominator Determination Es liegen p Peers der Menge P s vor, die den Datenstrom bereitstellen sollen. Der Schedulingansatz Common Denominator Determination (CDD) wird vom Peer Pj r P r ausgeführt. Dazu müssen die jeweiligen Bandbreiten der Peers aus P s bestimmt werden und die Bitrate des Datenstroms bekannt sein. Gegeben ist beispielsweise ein Datenstrom mit einer Bitrate R 0 von 1000 kbps. Die ausgehende Bandbreite R out (P1 s ) von P1 s zum Peer P4 r ist 600 kbps, die ausgehende

64 64 6. Entwurf Bandbreite R out (P s 2 ) von P s 2 zum Peer P r 4 ist 300 kbps und die ausgehende Bandbreite R out (P s 3 ) von P s 3 zum Peer P r 4 ist 100 kbps. Dabei liegt der Datenstrom bei jedem Peer Pi s P s (i j) etwas früher vor, sodass diese Peers jeweils einen kleinen Puffer besitzen und selbst wissen, wann sie die Datenpakete zu senden haben. Zur Vereinfachung des Puffermanagement sollte die Anzahl der Sequenznummern n der Datenpakete eine 2er-Potenz sein (z. B. n = 1024, 0 bis 1023). Des Weiteren sollten die Datenpakete beim Peer P r j in der richtigen Reihenfolge ankommen. Über die Schedulingstrategie wird der Datenstrom, der bei den Peers aus P s identisch vorliegt, auf diese Peers mit verschiedenen Bandbreiten aufgeteilt. Dazu gibt es eine Zuordnung von Wahrscheinlichkeiten: jeder Peer Pi s besitzt eine Wahrscheinlichkeit pri s, den Datenstrom an den Peer Pj r auszugeben. Diese Wahrscheinlichkeiten werden anhand der durch eine Methode bestimmten Bandbreiten der Peers aus P s abgeleitet. Die Wahrscheinlichkeiten der Peers P s 1, P s 2 und P s 3 aus dem oberen Beispiel sind jeweils pr s 1 = 0, 6, pr s 2 = 0, 3 und pr s 3 = 0, 1. In der Abbildung 6.3 wird die gegebene Situation zur Realisierung des Schedulings (inklusive der Bandbreiten und Wahrscheinlichkeiten) veranschaulicht. Abbildung 6.3.: Gegebene Situation zur Realisierung des Schedulings Jeder Peer Pi s erfährt von dem Peer Pj r seine Sendewahrscheinlichkeit, arbeitet in einem Takt (eine Zahl pro Sekunde) die Reihe ab und überprüft über eine Methode zur Sende-Entscheidung selbstständig, ob er gerade für die aktuelle Zahl zuständig ist.

65 6.2. Ideen zur Schedulingstrategie 65 Dabei sollten die Peers aus P s über eine Sende-Entscheidung feststellen, zu welchem Zeitpunkt sie ein Datenpaket des Datenstroms versenden sollen. Ein einfacher Ansatz ist, wenn der Peer P s i folgende Datenpakete schickt: P s 1 : 1 bis pr s 1 n P s 2 : (pr s 1 n) + 1 bis (pr s 1 + pr s 2) n. P s i : ((pr s pr s i 1) n) + 1 bis (pr s pr s i ) n Wenn die Datenpakete mit 0 bis n 1 durchnummeriert sind, muss noch überall 1 abgezogen werden. Jedoch hat dieser Ansatz zwei Probleme: 1. Die Datenpakete kommen nicht in der richtigen Reihenfolge an, denn jeder Peer sendet seine Pakete aus seinem bestimmten Bereich. 2. pri s n bzw. die Summe pri s n sind keine ganzen Zahlen, daher muss eine Rundung erfolgen. Nun muss ein Scheduling-Algorithmus, der diese beiden oben genannten Probleme nicht aufweist, zur Aufteilung des Datenstroms auf den Peers verteilt laufen. Die berechneten Wahrscheinlichkeiten der Peers aus P s sind alle rationale Zahlen. Diese Zahlen werden auf einen Hauptnenner N gebracht: pr1 s = m 1, N prs 2 = m 2,... (damit muss N 0 sein). N Der Peer Pj r übergibt an die Peers aus P s neben den Wahrscheinlichkeiten pr1, s..., prp s auch den Hauptnenner N, sodass daraus m 1,..., m p bestimmbar sind. Jeder Peer Pi s durchläuft die ersten N Datenpakete im Bereich 0,..., n 1 (in Abhängigkeit vom aktuellen Inhalt seines Puffers). Der Peer Pi s er folgende Kongruenz überprüft: berechnet seine Sende-Entscheidung, indem sequencenumber current (m m i 1 ),..., (m m i ) 1 mod N Für das obige Beispiel bedeutet dies pr s 1 = 0, 6 = 6 10, prs 2 = 0, 3 = 3 10 und prs 3 = 0, 1 = 1 10 sowie N = 10. Somit sendet P s 1 die Zahlen 0, 1, 2, 3, 4, 5 mod 10, P s 2 die Zahlen 6, 7, 8 mod 10 und P s 3 die Zahlen 9 mod 10. Somit ergibt sich folgende Schedulingsequenz (die Zahlen 0,..., 9 stehen für die Nummer des zu sendenden Datenpakets):

66 66 6. Entwurf P s P s P s 3 9 Bei dieser Variante muss nicht mehr gerundet werden und der Datenstrom kommt in der richtigen Reihenfolge an, jedoch unter der Annahme, dass N im Vergleich zu n recht klein ist. Dann kommen die ersten N Datenpakete. Danach folgen die nächsten N Datenpakete und dies setzt sich dann analog fort. Eine Verbesserung der Kontinuität kann erreicht werden, indem die Peers aus P s mit hoher Wahrscheinlicht nach vorn sortiert werden und die anderen anders verteilt werden. Damit ergibt sich im Folgenden: P s P s P s 3 9 In diesem Beispiel ist m 3 = 1 und damit teilt es m 2 und m 1 sowie m 2 = 3 teilt m 1 = 6. Davon kann aber im Allgemeinen nicht ausgegangen werden. Der Algorithmus Common Denominator Determination läuft im P2P-Netzwerk verteilt, wird vom Peer Pj r initiiert und berechnet eine Schedulingsequenz für die ersten N Datenpakete. Auf jedem Peer Pi s läuft der Algorithmus zur Sende-Entscheidung. Die Peers aus P s werden nach ihren Wahrscheinlichkeiten in absteigender Reihenfolge sortiert und für die Übertragung bevorzugt. Ziel ist es, dass alle Datenpakete einmal gesendet werden und eine minimale Pufferungsverzögerung (analog zum Ansatz OTS im Abschnitt 4.4) erreicht wird. Dieser Schedulingansatz weist daher bezüglich der Zuweisung der Multimedia-Daten Eigenschaften des Algorithmus OTS (siehe Abschnitt 4.4) auf. Jedoch besteht ein Unterschied, da hier keine festen Bandbreiten-Klassen verwendet werden und die Peers aus P s nicht in einem vorgegebenen Bereich einsortiert werden müssen. Dadurch wird versucht, die Genauigkeit der Verwendung der vorhandenen Bandbreiten zu erhöhen. Recursive Bandwidth Class Based Scheduling Für den Entwurf der klassenbasierten Schedulingstrategie Recursive Bandwidth Class Based Scheduling(RBCS) dienen die Schedulingansätze aus dem Abschnitt 6.2. Wichtig

67 6.3. Gewählter eigener Ansatz: RBCS 67 ist die Berücksichtigung der Heterogenität der Peers, damit verfügbare Bandbreiten möglichst gut genutzt werden können. Dazu werden die Peers in Bandbreiten-Klassen eingeteilt. Anhand der gemessenen ausgehenden Bandbreiten der Peers aus der Menge P s erfolgt eine Einteilung in existierende Bandbreiten-Klassen, welche die Bandbreiten durch aufeinander folgende Zweierpotenzen darstellen. Dabei kann ein Peer Pi s P s gleichzeitig mehreren Bandbreiten-Klassen zugeordnet werden. Damit die Schedulingsequenz vom Peer Pj r P r (i j) berechnet werden kann, muss überprüft werden, ob die vorhandenen Bandbreiten der Peers aus P s für das Streaming der Multimedia-Daten ausreichen. Das Grundprinzip von RBCS für die rekursive Berechnung der Schedulingsequenz wird anhand eines Beispiels veranschaulicht. Gegeben sind beispielsweise zwei aufeinander folgende Bandbreiten-Klassen a und b, die Bandbreiten-Klasse a wird als eine höhere Klasse im Vergleich zur Bandbreiten-Klasse b bezeichnet, da ihre Bandbreite doppelt so hoch wie die von Bandbreiten-Klasse b ist. Wird ein Peer P s 1 P s in die Bandbreiten- Klasse a eingeordnet und ein weiterer Peer P2 s P s in die Bandbreiten-Klasse b, so kann der Peer P1 s die doppelte Menge an Paketen im Vergleich zum P2 s senden. Auf der Grundlage dessen wird die Schedulingsequenz unter Beachtung der Anzahl der Bandbreiten-Klassen und der Bandbreiten-Klassen, die einem Peer Pi s P s zugeteilt worden sind, rekursiv berechnet. Danach erhalten die anbietenden Peers die notwendigen Informationen über ihren Anteil der berechneten Schedulingsequenz Gewählter eigener Ansatz: Recursive Bandwidth Class Based Scheduling In diesem Abschnitt wird die gewählte eigene Schedulingstrategie RBCS formal beschrieben und an einem Beispiel veranschaulicht Formale Beschreibung Die von der Lokalisierung gegebene Menge P s der potenziellen Peers (siehe Gleichung 6.2) ist eine Voraussetzung für die Ausführung des Schedulings.

68 68 6. Entwurf Das Routing betrachtet die Lage der anbietenden Peers und die Lokalisierung wählt sie nach ihrer Lokalität für das Scheduling aus. Der zu übertragende Datenstrom besitzt eine bestimmte Bitrate R 0. Mit Hilfe der Bandbreiten-Bestimmung werden die Bandbreiten bw zwischen den einzelnen anbietenden Peers und dem anfordernden Peer in kbps gemessen. Das Ergebnis ist die Menge BW estimated (siehe Gleichung 6.4). { } BW estimated = bw(pi s ) Pi s P s (6.4) Um eine Unterscheidung zwischen den anbietenden Peers mit ihren angebotenen ausgehenden Bandbreiten zu machen, werden diese in Bandbreiten-Klassen eingeteilt. Jede Bandbreiten-Klasse ist eine Zweierpotenz und wird in die Menge bwclasses (siehe Gleichung 6.5) aufgenommen. bwclasses = { } 2 n n N, n 1 (6.5) Die Menge bwclasses beinhaltet folgende Zweierpotenzen {..., 2048, 1024,..., 4, 2}, wobei jedes einzelne Element der Menge einer Bandbreiten-Klasse entspricht, die mit der ausgehenden Bandbreite (Upstream) des anbietenden Peers gekennzeichnet wird. Die Menge bwclasses kann durch eine obere Schranke abgegrenzt werden. Die obere Schranke, welche der höchsten Bandbreiten-Klasse entspricht, lässt sich aus dem Maximum der Menge BW estimated und der Menge bwclasses ableiten. Der Wert der oberen Schranke f irst ergibt sich aus der Ungleichung 6.6, die erfüllt ist, wenn die geschätzte Bandbreite mindestens so groß wie eine Bandbreiten-Klasse ist und kleiner als die nächst größere Bandbreiten-Klasse ist. Sei first N, sodass (6.6) 2 first max(bw estimated ) < 2 first+1 Der Exponent last der niedrigsten Bandbreiten-Klasse weist den Wert 1 auf. Damit resultiert die Menge bwclasses selected (siehe Gleichung 6.7). { } bwclasses selected = 2 i last i first, i N (6.7) Danach wird mit der Ungleichung 6.8 überprüft, ob die Summe der gemessenen Bandbreiten der anbietenden Peers größer als die Bitrate des Datenstroms ist. Zusätzlich

69 6.3. Gewählter eigener Ansatz: RBCS 69 sollte eine bestimmte Menge an Bandbreite für existierende Messungenauigkeiten der Bandbreiten-Bestimmung und für den Kontroll-Overhead einkalkuliert werden. Daher wird zu Beginn von einer größeren Menge an notwendiger Bandbreite ausgegangen. bw BW estimated bw > R 0 (6.8) Um die einzelnen anbietenden Peers in die Bandbreiten-Klassen einzuordnen, gibt es zwei Möglichkeiten: 1. Ihre Bandbreiten werden auf eine passende Bandbreite einer Klasse abgerundet. 2. Ihre angebotenen Bandbreiten werden auf die einzelnen Klassen aufgeteilt, sodass virtuelle Klassen entstehen. Es wird die zweite Möglichkeit ausgewählt, da durch die Abrundung Bandbreiten nicht vollständig genutzt werden. Sei bin(x) = z n z n 1... z 2 z 1 z 0 die Binärdarstellung für ein beliebiges x N, sodass die Gleichung 6.9 gilt. Dann ist bin(x)[k] = z k die k-te Stelle der Binärdarstellung von x. Für einen Peer Pi s P s wird die Menge bwclasses used (Pi s ) seiner Bandbreiten-Klassen durch die Gleichung 6.10 bestimmt. x = z k 2 k, z k {0, 1} (6.9) k=0 { bwclasses used (Pi s ) = 2 r bin ( bw(pi s ) ) } [r] = 1, last r first, r N (6.10) Nach der Aufteilung der Bandbreiten wird mit der Ungleichung 6.11 überprüft, ob die vorhandenen Bandbreiten für die Übertragung der Multimedia-Daten ausreichend sind, da sonst die Berechnung der Schedulingsequenz unnötig ist. ( ) bwc > R 0 (6.11) Pi s Ps bwc bwclasses used (Pi s) Die Entwicklung der Schedulingsequenz wird vom Peer Pj r P r übernommen und die Peers der Menge P s erhalten dann die Informationen über ihren zu sendenden Anteil der Schedulingsequenz.

70 70 6. Entwurf Berechnungsgrundlage für die Schedulingsequenz: Ein anbietender Peer einer Klasse sendet eine bestimmte Anzahl an Paketen, wobei gilt, dass ein anbietender Peer der Bandbreiten-Klasse 2 t+1 die doppelte Menge an Paketen im Vergleich zu einem anderen anbietenden Peer der Bandbreiten-Klasse 2 t (t 1, t N) senden kann. Die Schedulingsequenz baut sich dann unter Beachtung der Anzahl der Bandbreiten- Klassen und der dem Peer Pi s zugeordneten Bandbreiten-Klassen auf. Da die höhere Bandbreiten-Klasse mit 2 t+1 kbps immer die doppelte Menge an Paketen im Vergleich zu ihrer nachfolgenden Bandbreiten-Klasse 2 t kbps sendet, lassen sich die Bandbreiten- Klassen in einem Binärbaum anordnen. Jeder Knoten in einem Binärbaum hat zwei Nachfolger. Der Wurzelknoten stellt die niedrigste Bandbreiten-Klasse dar und in den Blattknoten des Binärbaums befinden sich die höchsten Bandbreiten-Klassen. In jeder Ebene des Binärbaums liegen die Knoten der gleichen Bandbreiten-Klasse, wodurch die Knoten durchgezählt werden können und der jeweilige Anteil der Bandbreiten-Klassen berechnet werden kann. Über die Nebenreihenfolge (post-order 7 ) kann die Schedulingsequenz aus diesem Binärbaum berechnet werden. Dabei erfolgen zuerst für den linken Teilbaum, danach für den rechten Teilbaum und abschließend für den Wurzelknoten rekursive Betrachtungen. Anschließend müssen die jeweiligen anbietenden Peers, die den Bandbreiten-Klassen zugeordnet worden sind, in diese Schedulingsequenz integriert werden Exemplarische Veranschaulichung Anhand eines Beispiels soll die Schedulingstrategie RBCS verdeutlicht werden. Gegeben sind die Menge P s = {P1 s, P2 s, P3 s }, der Peer P4 r P r und die Bitrate R 0 = 1200 kbps (1000 kbps Video und 200 kbps Audio). Die jeweils gemessenen Bandbreiten betragen bw(p1 s ) = 672 kbps, bw(p2 s ) = 416 kbps und bw(p3 s ) = 320 kbps und daher ergibt sich die Menge BW estimated = {672, 416, 320}, welche in der Abbildung 6.4 dargestellt wird. Da max(bw estimated ) = 672 ist, ergibt sich für die obere Schranke first = 9. Daher resultiert mit first = 9 und last = 1 die Menge bwclasses selected = {512, 256, 128, 64, 32, 16, 8, 4, 2} (die Bandbreiten sind hier in kbps angegeben). 7 post-order bezeichnet eine Möglichkeit des Durchlaufens der Knoten eines Binärbaums.

71 6.3. Gewählter eigener Ansatz: RBCS 71 Abbildung 6.4.: Gegebene Menge P s mit ihren Bandbreiten Im Folgenden werden die Bandbreiten-Klassen von jedem Peer bestimmt: bwclasses used (P1 s ) = {512, 128, 32}, bwclasses used (P2 s ) = {256, 128, 32} und bwclasses used (P3 s ) = {256, 64}. Da die Bandbreiten-Klassen 16, 8, 4 und 2 ungenutzt bleiben, werden nur die ersten fünf Bandbreiten-Klassen verwendet, welche mit C 0 (512 kbps), C 1 (256 kbps), C 2 (128 kbps), C 3 (64 kbps) und C 4 (32 kbps) bezeichnet werden. Der Anteil der Klasse C 4 an der Schedulingsequenz beträgt ein Paket, der Anteil der Klasse C 3 zwei Pakete, der Anteil der Klasse C 2 vier Pakete, der Anteil der Klasse C 1 acht Pakete und der Anteil der Klasse C 0 16 Pakete. In der Abbildung 6.5 werden diese Anteile veranschaulicht. Abbildung 6.5.: Bandbreiten-Klassen mit ihren zu sendenden Anteilen Die Verteilung der zu sendenden Paketanzahl von den einzelnen Peers wird in der Abbildung 6.6 aufgezeigt. Die Prüfungen aus den Ungleichungen 6.8 und 6.11 werden in diesem Beispiel vernachlässigt, da die Entwicklung der Schedulingsequenz im Vordergrund steht.

72 72 6. Entwurf Abbildung 6.6.: Verteilung der Pakete auf die Peers Berechnung der Schedulingsequenz Die Berechnung der Schedulingsequenz ohne die Zuordnung der anbietenden Peers erfolgt über das Auslesen der Bandbreiten-Klassen in der Nebenreihenfolge aus dem Binärbaum. Der zugehörige Binärbaum der fünf Bandbreiten-Klassen wird in der Abbildung 6.7 dargestellt. Dabei wird zuerst rekursiv in den linken Teilbaum und dann rekursiv in den rechten Teilbaum hineingegangen sowie anschließend der Wurzelknoten (die Bandbreiten-Klasse C 4 ) betrachtet. Die Schedulingsequenz baut sich dann von rechts nach links auf, wobei immer die einzelnen Teilbäume behandelt werden. Es resultiert nach der Nebenreihenfolge für die fünf Bandbreiten-Klassen die Schedulingsequenz: C 0 C 0 C 1 C 0 C 0 C 1 C 2 C 0 C 0 C 1 C 0 C 0 C 1 C 2 C 3 C 0 C 0 C 1 C 0 C 0 C 1 C 2 C 0 C 0 C 1 C 0 C 0 C 1 C 2 C 3 C 4 Abbildung 6.7.: Darstellung der fünf Bandbreiten-Klassen in einem Binärbaum

73 6.3. Gewählter eigener Ansatz: RBCS 73 In der Abbildung 6.8 wird die resultierende Schedulingsequenz, abgeleitet aus der Nebenreihenfolge der Bandbreiten-Klassen und der Anzahl der Bandbreiten-Klassen der einzelnen Peers, veranschaulicht. Insgesamt ergeben sich 44 Datenpakete pro Schedulingsequenz. Abbildung 6.8.: Berechnete Schedulingsequenz Die jeweiligen Paketsequenzen für die Peers P1 s, P2 s und P3 s sind jeweils: P1 s : P2 s : P3 s : Variation der Berechnung der Schedulingsequenz Prinzipiell ist es aber auch möglich, die Pakete der Bandbreiten-Klasse C 0 so zu verteilen, dass der Peer, der dieser Bandbreiten-Klasse angehört, mit der Daten-Übertragung gleichmäßiger belastet wird, hier im Beispiel ist es besonders der Peer P1 s. Für den Binärbaum bedeutet dies, dass die Blattknoten in der Schedulingsequenz besser verteilt werden sollen. Diese Variation nimmt keinen Einfluss auf die Klasseneinteilung. Es erfolgt durch die Berechnung der Schedulingsequenz in der symmetrischen Reihenfolge nur eine Änderung für die Peers, die jeweils eine andere Paketsequenz erhalten. Die Schedulingsequenz, berechnet nach der symmetrischen Reihenfolge (In-order 8 ), ist: C 0 C 1 C 0 C 2 C 0 C 1 C 0 C 3 C 0 C 1 C 0 C 2 C 0 C 1 C 0 C 4 C 0 C 1 C 0 C 2 C 0 C 1 C 0 C 3 C 0 C 1 C 0 C 2 C 0 C 1 C 0 8 In-order beschreibt eine Möglichkeit des Durchlaufens eines Binärbaums.

74 74 6. Entwurf Dabei wird zuerst der linke Teilbaum rekursiv behandelt, danach der Wurzelknoten und zum Schluss erfolgt eine rekursive Betrachtung des rechten Teilbaums. Abbildung 6.9.: Variation der Berechnung der Schedulingsequenz Die dazu resultierende Schedulingsequenz mit einer gleichmäßigeren Verteilung der Pakete ist in der Abbildung 6.9 zu sehen und wurde mit der symmetrischen Reihenfolge berechnet. Die jeweiligen Paketsequenzen für die einzelnen anbietenden Peers sind: P s 1 : P s 2 : P s 3 : Bandbreiten-Bestimmung Zu Beginn werden im Abschnitt wichtige Definitionen für die Bandbreiten-Bestimmung aufgezeigt. Im Anschluss erfolgt die Vorstellung einiger Tools zur Bestimmung der verfügbaren Bandbreite (siehe Abschnitt 6.4.2). Anhand der vorgestellten Tools wird die Schwierigkeit der Entwicklung eines eigenen Ansatzes deutlich. Im Abschnitt wird eine Idee zur Messung der verfügbaren Bandbreite dargelegt und die daraus abgeleitete eigene Vorgehensweise vorgestellt.

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Grobentwurf

Softwareentwicklungspraktikum Sommersemester 2007. Grobentwurf Softwareentwicklungspraktikum Sommersemester 2007 Grobentwurf Auftraggeber Technische Universität Braunschweig

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

1 Einleitung. 1.1 Motivation und Zielsetzung der Untersuchung

1 Einleitung. 1.1 Motivation und Zielsetzung der Untersuchung 1 Einleitung 1.1 Motivation und Zielsetzung der Untersuchung Obgleich Tourenplanungsprobleme zu den am häufigsten untersuchten Problemstellungen des Operations Research zählen, konzentriert sich der Großteil

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Multimedia und Datenkommunikation

Multimedia und Datenkommunikation Multimedia und Datenkommunikation Einteilung in Unterpunkte Netzwerk Audioausgabe Internetzugang Basis des Projektes Büro 5 Mitarbeiter Datenaustausch via Diskette Kein Netzwerk Ein Nadeldrucker Netzwerke

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version 7.4.4. - Optional einen DHCP Server.

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version 7.4.4. - Optional einen DHCP Server. 1. Dynamic Host Configuration Protocol 1.1 Einleitung Im Folgenden wird die Konfiguration von DHCP beschrieben. Sie setzen den Bintec Router entweder als DHCP Server, DHCP Client oder als DHCP Relay Agent

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Multicast Security Group Key Management Architecture (MSEC GKMArch)

Multicast Security Group Key Management Architecture (MSEC GKMArch) Multicast Security Group Key Management Architecture (MSEC GKMArch) draft-ietf-msec-gkmarch-07.txt Internet Security Tobias Engelbrecht Einführung Bei diversen Internetanwendungen, wie zum Beispiel Telefonkonferenzen

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

s.beat DAP-10X White Paper USB Stromversorgung am Apple Macintosh und deren Auswirkung

s.beat DAP-10X White Paper USB Stromversorgung am Apple Macintosh und deren Auswirkung White Paper s.beat DAP-10X USB Stromversorgung am Apple Macintosh und deren Auswirkung Date: 19 May 2006 Version: 1.0 Sprache: Deutsch Disposition: öffentlich Dokument: sbeat_dap-10x_mac_information_2006-25-04_de.doc

Mehr

Es kann maximal ein Prozess die Umladestelle benutzen.

Es kann maximal ein Prozess die Umladestelle benutzen. SoSe 0 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung (Musterlösung) 0-06-0 bis 0-06-06 Aufgabe : Erzeuger/Verbraucher-Pattern Ein Getränkemarkt hat

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)

Mehr

Berechnung der Erhöhung der Durchschnittsprämien

Berechnung der Erhöhung der Durchschnittsprämien Wolfram Fischer Berechnung der Erhöhung der Durchschnittsprämien Oktober 2004 1 Zusammenfassung Zur Berechnung der Durchschnittsprämien wird das gesamte gemeldete Prämienvolumen Zusammenfassung durch die

Mehr

Mobile Intranet in Unternehmen

Mobile Intranet in Unternehmen Mobile Intranet in Unternehmen Ergebnisse einer Umfrage unter Intranet Verantwortlichen aexea GmbH - communication. content. consulting Augustenstraße 15 70178 Stuttgart Tel: 0711 87035490 Mobile Intranet

Mehr

Insiderwissen 2013. Hintergrund

Insiderwissen 2013. Hintergrund Insiderwissen 213 XING EVENTS mit der Eventmanagement-Software für Online Eventregistrierung &Ticketing amiando, hat es sich erneut zur Aufgabe gemacht zu analysieren, wie Eventveranstalter ihre Veranstaltungen

Mehr

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über Güte von s Grundlegendes zum Konzept der Güte Ableitung der Gütefunktion des Gauss im Einstichprobenproblem Grafische Darstellung der Gütefunktionen des Gauss im Einstichprobenproblem Ableitung der Gütefunktion

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

Aufgabenheft. Fakultät für Wirtschaftswissenschaft. Modul 32701 - Business/IT-Alignment. 26.09.2014, 09:00 11:00 Uhr. Univ.-Prof. Dr. U.

Aufgabenheft. Fakultät für Wirtschaftswissenschaft. Modul 32701 - Business/IT-Alignment. 26.09.2014, 09:00 11:00 Uhr. Univ.-Prof. Dr. U. Fakultät für Wirtschaftswissenschaft Aufgabenheft : Termin: Prüfer: Modul 32701 - Business/IT-Alignment 26.09.2014, 09:00 11:00 Uhr Univ.-Prof. Dr. U. Baumöl Aufbau und Bewertung der Aufgabe 1 2 3 4 Summe

Mehr

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger Software Engineering (Übungsblatt 2) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Prinzip, Technik, Methode und Werkzeug; Arten von Wartung; Modularität (Kohäsion/ Kopplung); Inkrementelle

Mehr

Datenübernahme in ein Produkt der Lexware premium, professional oder plus line

Datenübernahme in ein Produkt der Lexware premium, professional oder plus line Datenübernahme in ein Produkt der Lexware premium, professional oder plus line Sie möchten vorhandene Lexware-Daten in Ihr Lexware premium, professional oder plus Programm übernehmen? Was müssen Sie dabei

Mehr

Synchronisations- Assistent

Synchronisations- Assistent TimePunch Synchronisations- Assistent Benutzerhandbuch Gerhard Stephan Softwareentwicklung -und Vertrieb 25.08.2011 Dokumenten Information: Dokumenten-Name Benutzerhandbuch, Synchronisations-Assistent

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT Seite 1/7 GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT ZENTRAL LOKALE MANAGEMENT-PLATTFORM FÜR EINE W ELTWEIT SICHERE INDUSTRIELLE KOMMUNIKATION. Seite 2/7 Auf den folgenden Seiten

Mehr

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten. 1 Einleitung Lernziele automatische Antworten bei Abwesenheit senden Einstellungen für automatische Antworten Lerndauer 4 Minuten Seite 1 von 18 2 Antworten bei Abwesenheit senden» Outlook kann während

Mehr

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager Dateiname: ecdl2_03_05_documentation Speicherdatum: 22.11.2004 ECDL 2003 Modul 2 Computermanagement und Dateiverwaltung

Mehr

DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach 34 70 17 28339 Bremen. Friedrich-Mißler-Straße 42 28211 Bremen

DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach 34 70 17 28339 Bremen. Friedrich-Mißler-Straße 42 28211 Bremen Grontmij GmbH Postfach 34 70 17 28339 Bremen Friedrich-Mißler-Straße 42 28211 Bremen T +49 421 2032-6 F +49 421 2032-747 E info@grontmij.de W www.grontmij.de DELFI Benutzeranleitung Dateiversand für unsere

Mehr

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN Karlsruhe, April 2015 Verwendung dichte-basierter Teilrouten Stellen Sie sich vor, in einem belebten Gebäude,

Mehr

Stackelberg Scheduling Strategien

Stackelberg Scheduling Strategien Stackelberg Scheduling Strategien Von Tim Roughgarden Präsentiert von Matthias Ernst Inhaltsübersicht Einleitung Vorbetrachtungen Stackelberg Strategien Ergebnisse Seminar Algorithmische Spieltheorie:

Mehr

Kompetitive Analysen von Online-Algorithmen

Kompetitive Analysen von Online-Algorithmen Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen

Mehr

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

Mehr

10. Elektrische Logiksysteme mit

10. Elektrische Logiksysteme mit Fortgeschrittenenpraktikum I Universität Rostock - Physikalisches Institut 10. Elektrische Logiksysteme mit Rückführung Name: Daniel Schick Betreuer: Dipl. Ing. D. Bojarski Versuch ausgeführt: 22. Juni

Mehr

Allgemeine Vertragsbedingungen für die Übertragungen von Speicherkapazitäten ( Vertragsbedingungen Kapazitätsübertragung )

Allgemeine Vertragsbedingungen für die Übertragungen von Speicherkapazitäten ( Vertragsbedingungen Kapazitätsübertragung ) Allgemeine Vertragsbedingungen für die Übertragungen von Speicherkapazitäten ( Vertragsbedingungen Kapazitätsübertragung ) Stand: Januar 2016 Vertragsbedingungen Kapazitätsübertragung Seite - 2 1 Gegenstand

Mehr

Domain-interne Verteilung von QoS- Ressourcen durch einen Bandwidth-Broker in einem DiffServ-Szenario

Domain-interne Verteilung von QoS- Ressourcen durch einen Bandwidth-Broker in einem DiffServ-Szenario Einleitungsvortrag zur Diplomarbeit Domain-interne Verteilung von QoS- Ressourcen durch einen Bandwidth-Broker in einem DiffServ-Szenario von Jan Selzer selzer@cs.uni-bonn.de 25.10.2000 1 Gliederung Einleitung

Mehr

Information zum Prüfungswesen Geprüfte(r) Logistikmeister(in) Handlungsspezifische Qualifikationen

Information zum Prüfungswesen Geprüfte(r) Logistikmeister(in) Handlungsspezifische Qualifikationen Information zum Prüfungswesen Geprüfte(r) Logistikmeister(in) Handlungsspezifische Qualifikationen Grundlage für die Durchführung der Prüfung Verordnung über die Prüfung zum anerkannten Abschluss Geprüfter

Mehr

Selbsttest Prozessmanagement

Selbsttest Prozessmanagement Selbsttest Prozessmanagement Zur Feststellung des aktuellen Status des Prozessmanagements in Ihrem Unternehmen steht Ihnen dieser kurze Test mit zehn Fragen zur Verfügung. Der Test dient Ihrer persönlichen

Mehr

Nutzung von GiS BasePac 8 im Netzwerk

Nutzung von GiS BasePac 8 im Netzwerk Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante

Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante ISO 9001:2015 Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante Prozesse. Die ISO 9001 wurde grundlegend überarbeitet und modernisiert. Die neue Fassung ist seit dem

Mehr

Was sind Jahres- und Zielvereinbarungsgespräche?

Was sind Jahres- und Zielvereinbarungsgespräche? 6 Was sind Jahres- und Zielvereinbarungsgespräche? Mit dem Jahresgespräch und der Zielvereinbarung stehen Ihnen zwei sehr wirkungsvolle Instrumente zur Verfügung, um Ihre Mitarbeiter zu führen und zu motivieren

Mehr

Fragen und Antworten. Kabel Internet

Fragen und Antworten. Kabel Internet Fragen und Antworten Kabel Internet Inhaltsverzeichnis Inhaltsverzeichnis...II Internetanschluss...3 Kann ich mit Kabel Internet auch W-LAN nutzen?...3 Entstehen beim Surfen zusätzliche Telefonkosten?...3

Mehr

Benutzerhandbuch - Elterliche Kontrolle

Benutzerhandbuch - Elterliche Kontrolle Benutzerhandbuch - Elterliche Kontrolle Verzeichnis Was ist die mymaga-startseite? 1. erste Anmeldung - Administrator 2. schnittstelle 2.1 Administrator - Hautbildschirm 2.2 Administrator - rechtes Menü

Mehr

WLAN Konfiguration. Michael Bukreus 2014. Seite 1

WLAN Konfiguration. Michael Bukreus 2014. Seite 1 WLAN Konfiguration Michael Bukreus 2014 Seite 1 Inhalt Begriffe...3 Was braucht man für PureContest...4 Netzwerkkonfiguration...5 Sicherheit...6 Beispielkonfiguration...7 Screenshots Master Accesspoint...8

Mehr

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen Elektronik Praktikum / Digitaler Teil Name: Jens Wiechula, Philipp Fischer Leitung: Prof. Dr. U. Lynen Protokoll: Philipp Fischer Versuch: 3 Datum: 24.06.01 RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

Wir arbeiten mit Zufallszahlen

Wir arbeiten mit Zufallszahlen Abb. 1: Bei Kartenspielen müssen zu Beginn die Karten zufällig ausgeteilt werden. Wir arbeiten mit Zufallszahlen Jedesmal wenn ein neues Patience-Spiel gestartet wird, muss das Computerprogramm die Karten

Mehr

Projektmanagement in der Spieleentwicklung

Projektmanagement in der Spieleentwicklung Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren

Mehr

Bayeux. Dirk Ewerlin

Bayeux. Dirk Ewerlin Bayeux Dirk Ewerlin Inhalt Einleitung Routing & Loaklisierung Basisstruktur Erweiterung der Skalierbarkeit Fehlertolerante Paketzustellung Einleitung Multicast-Lösung auf Anwendungsebene über Unicast-

Mehr

Festigkeit von FDM-3D-Druckteilen

Festigkeit von FDM-3D-Druckteilen Festigkeit von FDM-3D-Druckteilen Häufig werden bei 3D-Druck-Filamenten die Kunststoff-Festigkeit und physikalischen Eigenschaften diskutiert ohne die Einflüsse der Geometrie und der Verschweißung der

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Gruppenrichtlinien und Softwareverteilung

Gruppenrichtlinien und Softwareverteilung Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden

Mehr

TECHNISCHE UNIVERSITÄT DRESDEN FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK. Institut für Feinwerktechnik und Elektronik-Design DIPLOMARBEIT

TECHNISCHE UNIVERSITÄT DRESDEN FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK. Institut für Feinwerktechnik und Elektronik-Design DIPLOMARBEIT TECHNISCHE UNIVERSITÄT DRESDEN FAKULTÄT ELEKTROTECHNIK UND INFORMATIONSTECHNIK Institut für Feinwerktechnik und Elektronik-Design DIPLOMARBEIT Thema: xxxx xxxx xxxx Vorgelegt von: xxxx xxxx geboren am:

Mehr

Quadratische Gleichungen

Quadratische Gleichungen Quadratische Gleichungen Aufgabe: Versuche eine Lösung zu den folgenden Zahlenrätseln zu finden:.) Verdoppelt man das Quadrat einer Zahl und addiert, so erhält man 00..) Addiert man zum Quadrat einer Zahl

Mehr

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können. Rechnernetzwerke Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können. Im Gegensatz zu klassischen Methoden des Datenaustauschs (Diskette,

Mehr

Stift-Karussell in M-Plot einrichten

Stift-Karussell in M-Plot einrichten Einsteiger Fortgeschrittene Profis markus.meinl@m-quest.ch Version 1.0 Voraussetzungen für diesen Workshop Die M-Quest Suite 2005 oder höher ist auf einem Rechner installiert Das Produkt M-Plot Suite ist

Mehr

Ein neues System für die Allokation von Spenderlungen. LAS Information für Patienten in Deutschland

Ein neues System für die Allokation von Spenderlungen. LAS Information für Patienten in Deutschland Ein neues System für die Allokation von Spenderlungen LAS Information für Patienten in Deutschland Ein neues System für die Allokation von Spenderlungen Aufgrund des immensen Mangels an Spenderorganen

Mehr

Vermögensbildung: Sparen und Wertsteigerung bei Immobilien liegen vorn

Vermögensbildung: Sparen und Wertsteigerung bei Immobilien liegen vorn An die Redaktionen von Presse, Funk und Fernsehen 32 02. 09. 2002 Vermögensbildung: Sparen und Wertsteigerung bei Immobilien liegen vorn Das aktive Sparen ist nach wie vor die wichtigste Einflussgröße

Mehr

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine PhotoLine S/W mit PhotoLine Erstellt mit Version 16.11 Ich liebe Schwarzweiß-Bilder und schaue mir neidisch die Meisterwerke an, die andere Fotografen zustande bringen. Schon lange versuche ich, auch so

Mehr

Wasserfall-Ansätze zur Bildsegmentierung

Wasserfall-Ansätze zur Bildsegmentierung Wasserfall-Ansätze zur Bildsegmentierung von Philipp Jester Seminar: Bildsegmentierung und Computer Vision 16.01.2006 Überblick 1. Problemstellung 2. Wiederholung: Wasserscheiden-Ansätze 3. Der Wasserfall-Ansatz

Mehr

Korrigenda Handbuch der Bewertung

Korrigenda Handbuch der Bewertung Korrigenda Handbuch der Bewertung Kapitel 3 Abschnitt 3.5 Seite(n) 104-109 Titel Der Terminvertrag: Ein Beispiel für den Einsatz von Future Values Änderungen In den Beispielen 21 und 22 ist der Halbjahressatz

Mehr

10 Erweiterung und Portierung

10 Erweiterung und Portierung 10.1 Überblick In vielen Fällen werden Compiler nicht vollständig neu geschrieben, sondern von einem Rechnersystem auf ein anderes portiert. Das spart viel Arbeit, ist aber immer noch eine sehr anspruchsvolle

Mehr

Erweiterungen Webportal

Erweiterungen Webportal Erweiterungen Webportal Adress-Suche Inaktive Merkmale und gelöschte Adresse Die Suche im Webportal wurde so erweitert, dass inaktive Adresse (gelöscht) und inaktive Merkmale bei der Suche standardmässig

Mehr

Vorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke

Vorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke Vorlesungsplan 17.10. Einleitung 24.10. Ein- und Ausgabe 31.10. Reformationstag, Einfache Regeln 7.11. Naïve Bayes, Entscheidungsbäume 14.11. Entscheidungsregeln, Assoziationsregeln 21.11. Lineare Modelle,

Mehr

SMS/ MMS Multimedia Center

SMS/ MMS Multimedia Center SMS/ MMS Multimedia Center der BEYOND THE NET GmbH BEYOND THE NET GmbH Seite 1 Unser Multimedia Center ist eine WEB basierende Anwendung, die es ermöglicht von einer Zentrale aus, viele Mitarbeiter zu

Mehr

PRÜFMODUL D UND CD. 1 Zweck. 2 Durchführung. 2.1 Allgemeines. 2.2 Antrag

PRÜFMODUL D UND CD. 1 Zweck. 2 Durchführung. 2.1 Allgemeines. 2.2 Antrag 1 Zweck PRÜFMODUL D UND CD Diese Anweisung dient als Basis für unsere Kunden zur Information des Ablaufes der folgenden EG-Prüfung nach folgenden Prüfmodulen: D CD Es beschreibt die Aufgabe der benannten

Mehr

Bedienungsanleitung für BackupMotion

Bedienungsanleitung für BackupMotion Bedienungsanleitung für BackupMotion In den folgenden Punkten wird die Bedienung von BackupMotion Schritt für Schritt erklärt. (gilt für Home und Pro Version des Produktes) 1 S e i t e Inhaltsverzeichnis

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen. Zusätze zum Gelben Rechenbuch LU-Zerlegung Peter Furlan Verlag Martina Furlan Inhaltsverzeichnis Definitionen 2 (Allgemeine) LU-Zerlegung 2 3 Vereinfachte LU-Zerlegung 3 4 Lösung eines linearen Gleichungssystems

Mehr

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele: 2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway

Mehr

Idee des Paket-Filters

Idee des Paket-Filters Idee des Paket-Filters Informationen (Pakete) nur zum Empfänger übertragen und nicht überallhin Filtern größere Effizienz Netzwerk größer ausbaubar Filtern ist die Voraussetzung für Effizienz und Ausbaubarkeit

Mehr

ADSL Leistungsbeschreibung

ADSL Leistungsbeschreibung ADSL Leistungsbeschreibung Stand 01.08.2010 INHALTSVERZEICHNIS 1 Einleitung...2 2 Beschreibung...2 3 Datentransfervolumen...2 4 Endgeräte...3 5 Voraussetzungen für den Betrieb...3 6 Mindestvertragsdauer...3

Mehr

Anleitung Postfachsystem Inhalt

Anleitung Postfachsystem Inhalt Anleitung Postfachsystem Inhalt 1 Allgemeines... 2 2 Einloggen... 2 3 Prüfen auf neue Nachrichten... 2 4 Lesen von neuen Nachrichten... 3 5 Antworten auf Nachrichten... 4 6 Löschen von Nachrichten... 4

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

Sichere E-Mail für Rechtsanwälte & Notare

Sichere E-Mail für Rechtsanwälte & Notare Die Technik verwendet die schon vorhandene Technik. Sie als Administrator müssen in der Regel keine neue Software und auch keine zusätzliche Hardware implementieren. Das bedeutet für Sie als Administrator

Mehr

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1 Zahlenwinkel: Forscherkarte 1 alleine Tipp 1 Lege die Ziffern von 1 bis 9 so in den Zahlenwinkel, dass jeder Arm des Zahlenwinkels zusammengezählt das gleiche Ergebnis ergibt! Finde möglichst viele verschiedene

Mehr

Plotten von Linien ( nach Jack Bresenham, 1962 )

Plotten von Linien ( nach Jack Bresenham, 1962 ) Plotten von Linien ( nach Jack Bresenham, 1962 ) Ac Eine auf dem Bildschirm darzustellende Linie sieht treppenförmig aus, weil der Computer Linien aus einzelnen (meist quadratischen) Bildpunkten, Pixels

Mehr

Die Zukunft der Zukunftsforschung im Deutschen Management: eine Delphi Studie

Die Zukunft der Zukunftsforschung im Deutschen Management: eine Delphi Studie Die Zukunft der Zukunftsforschung im Deutschen Management: eine Delphi Studie Executive Summary Zukunftsforschung und ihre Methoden erfahren in der jüngsten Vergangenheit ein zunehmendes Interesse. So

Mehr

Algorithmische Mathematik

Algorithmische Mathematik Algorithmische Mathematik Wintersemester 2013 Prof. Dr. Marc Alexander Schweitzer und Dr. Einar Smith Patrick Diehl und Daniel Wissel Übungsblatt 6. Abgabe am 02.12.2013. Aufgabe 1. (Netzwerke und Definitionen)

Mehr

Die reellen Lösungen der kubischen Gleichung

Die reellen Lösungen der kubischen Gleichung Die reellen Lösungen der kubischen Gleichung Klaus-R. Löffler Inhaltsverzeichnis 1 Einfach zu behandelnde Sonderfälle 1 2 Die ganzrationale Funktion dritten Grades 2 2.1 Reduktion...........................................

Mehr

Praktikum ios-entwicklung im Sommersemester 2015 Übungsblatt 4

Praktikum ios-entwicklung im Sommersemester 2015 Übungsblatt 4 Ludwig-Maximilians-Universität München Institut für Informatik Lehrstuhl für Mobile und Verteilte Systeme Prof. Dr. Claudia Linnhoff-Popien Praktikum ios-entwicklung im Sommersemester 2015 Übungsblatt

Mehr

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Informatik Kurs Simulation. Hilfe für den Consideo Modeler Hilfe für den Consideo Modeler Consideo stellt Schulen den Modeler kostenlos zur Verfügung. Wenden Sie sich an: http://consideo-modeler.de/ Der Modeler ist ein Werkzeug, das nicht für schulische Zwecke

Mehr

DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG

DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG von Urs Schaffer Copyright by Urs Schaffer Schaffer Consulting GmbH Basel www.schaffer-consulting.ch Info@schaffer-consulting.ch Haben Sie gewusst dass... >

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall

10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall 5.0 10.3.1.8 Übung - Konfigurieren einer Windows 7-Firewall Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung werden Sie erfahren, wie man die Windows 7-Firewall konfiguriert und einige

Mehr

DVInesSINAPI-SupportTool

DVInesSINAPI-SupportTool DVInesSINAPI-SupportTool Ein Werkzeug zur Umstellung einer Server-/ Netzarbeitsplatz-Installation im Kanzlei- und Mandantennetzwerk Einleitung Mit Auslieferung der DATEV-Programm-DVD 24.0 bzw. DATEV pro

Mehr

GDI-Business-Line 3.x Ticketverwaltung

GDI-Business-Line 3.x Ticketverwaltung Ticketverwaltung Seite 1/6 GDI-Business-Line 3.x Ticketverwaltung Kurzdokumentation Stand: 04. Januar 2012 3.2.0.200 Ticketverwaltung Seite 2/6 Einführung...3 Lizenz...3 Funktionsweise...3 Vergabe der

Mehr

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant? Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager email-rückläufer Script. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager email-rückläufer Script. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager 7 combit Relationship Manager email-rückläufer Script Inhalt Einleitung 3 Notwendige Anpassungen 3 crm Solution

Mehr

Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz

Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz Anwendungshandbuch Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz Version: 1.0 Herausgabedatum: 31.07.2015 Ausgabedatum: 01.11.2015 Autor: DB Energie http://www.dbenergie.de Seite: 1 1.

Mehr