Algorithmen zur Unterstützung von Immersive Gaming Erzeugung von hochskalierbaren virtuellen Welten
Gliederung Ansatzes des NICTA Delaunay-Netze-basiertes Verfahren Fazit Chord-Protokoll Quadtree Vorstellung des Verfahrens Diskussion Delaunay-Netze-basiertes Verfahren Delaunay-Triangulierung Dynamische Cluster-Bildung Bewertung Fazit 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Ansatz des NICTA Chord Quadtree Vorstellung Diskussion Protokoll zur effizienten Suche nach Knoten und Inhalten in einem Peer-to-Peer-Netz Knoten in einem Ring angeordnet Position durch Hash-Funktion bestimmt Jeder Knoten kennt nur eine Teilmenge aller Knoten im Ring. NICTA = nationales Forschungsinstitut, dass sich unter anderem mit der Verwendung von Peer-to-Peer-Netzen bei Online-Spielen beschäftigt 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Interessenmanagement Ein Objekt muss nur den Zustand einer Teilmenge aller Objekte in der virtuellen Welt kennen. Gebietsbasiert Verbindung von Peers, deren Objekte sich in einem Gebiet befinden. Nachbarschaftsbasiert Verbindung von Peers, deren Objekte benachbart sind. 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Ansatz des NICTA Chord Quadtree Vorstellung Diskussion Fingertabelle des Knotens N8 N8 + 1 = N9 N14 N8 + 2 = N10 N8 + 4 = N12 N8 + 8 = N16 N21 N8 + 16 = N24 N32 N8 + 32 = N40 N42 Chord: - Protokoll zur effizienten Suche nach Knoten und Inhalten in einem Peer-to-Peer-Netz - Knoten in einem Ring angeordnet - Position durch Hash-Funktion bestimmt - Schlüssel der Länge m - Jeder Knoten kennt nur eine Teilmenge aller Knoten im Ring. - Nachfolgende Knoten mit bestimmten Abstand werden von jedem Peer in einer Tabelle (Fingertabelle) geführt. Fingertabellen: - beinhaltet m Einträge - i-te Eintrag eines Knotens n ist der Knoten s, der mindestens 2i-1 vom Knoten n Daten werden ebenfalls mit Hilfe der Hash-Funktion Schlüssel zugeordnet und auf dem nächstfolgenden Peer abgelegt. Die Abbildung zeigt einen Chord-Ring mit zehn Knoten N und fünf Datenschlüsseln K. Die Suche nach Daten im Ring erfolgt über die Fingertabelle. Für die Suchdaten wird mittels Hash-Funktion ein Schlüssel berechnet. Der suchende Peer sieht in seiner Fingertabelle nach, welcher seiner nachfolgenden, bekannten Peers diese Daten verwaltet und fragt diese dort nach. Sollte der Schlüssel außerhalb der „Sichtweite“ des Peers liegen, leitet er die Suchanfrage an den letzten Peer seiner Fingertabelle weiter, der diese dann bearbeitet. 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Ansatz des NICTA Chord Quadtree Vorstellung Diskussion spezielle Baumstruktur jeder Knoten hat höchstens vier Kinder zweidimensionale Daten (z.B. Fläche einer virtuellen Welt) organisieren jeder Knoten repräsentiert einen Quadranten 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Ansatz des NICTA Chord Quadtree Vorstellung Diskussion 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Ansatz des NICTA Chord Quadtree Vorstellung Diskussion trennt Regionsverwaltung und Interaktions-Management gebietsbasiertes Verfahren Die virtuelle Welt wird gemäß eines Quadtrees in Regionen unterteil. Wenn sich mehrere Objekte in einem Teil der virtuellen Welt aufhalten, findet erneut eine Teilung der Teilregion statt. Die Regionen werden den Peers im Netz zugeordnet. Diese verwalten die Objekte in dieser Region. NICTA = nationales Forschungsinstitut, dass sich unter anderem mit der Verwendung von Peer-to-Peer-Netzen bei Online-Spielen beschäftigt Regionsverwaltung: Auffinden von Objekten Interaktion: Aktionen zwischen Objekten 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Ansatz des NICTA Chord Quadtree Vorstellung Diskussion Objekte: statische und dynamische statische Objekte: Bilder, Häuser, Felsen dynamische Objekte: fliegende Raketen, fahrende Automobile Jedes Objekt in der Virtuellen Welt hat einen Ereignisbereich. 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Ansatz des NICTA Chord Quadtree Vorstellung Diskussion Ereignisbereich: Das Zentrum wird durch einen Knoten des Quadtrees indiziert. Ein Objekt kann sich innerhalb seines Bereiches bewegen. Objekte können interagieren, wenn sich ihre Ereignisbereiche überschneiden. - Entfernt sich das Objekt zu weit vom Zentrum, wird eine neue Position bestimmt. - Bereiche unterschiedlicher Objekte sind nicht immer gleich groß. kleine Ereignisbereichen => häufiger Aktualisierungen nötig, jedoch ist die Aktualität des Zustandes der virtuellen Welt größer. 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Ansatz des NICTA Chord Quadtree Vorstellung Diskussion 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Ansatz des NICTA Chord Quadtree Vorstellung Diskussion Peer-to-Peer-Verbindung Zwei Voraussetzungen für eine Peer-to-Peer-Verbindung müssen erfüllt sein: Die Ereignisbereiche der Objekte überschneiden sich. Objekte werden von unterschiedlichen Peers verwaltet. Von Bitraten- und Verzögerungsanforderungen zu sprechen, ist nur erforderlich, wenn zwei interagierende Objekte von verschiedenen Peers verwaltet werden. Bitrate: Gesamtsumme = eingehende + ausgehende Bitrate Delay: Minimum aller maximal erlaubten Verzögerung 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Ansatz des NICTA Chord Quadtree Vorstellung Diskussion Stärken: Verwendung von vorhandenen Konstrukten (Baum, Chord) Trennung von Raumverwaltung und Interaktion der Objekte Skalierbarkeit des Systems Flexibilität bei der Implementierung und beim Hinzufügen von neuen von neuen Diensten 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Ansatz des NICTA Chord Quadtree Vorstellung Diskussion Schwächen: Dynamik des Spiels statische Strukturen Ballung von Objekten Unterschiede der Nachbarschaftsbeziehungen Objekte bewegen sich durch den Raum Fluktuation der Peers 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Ansatz des NICTA Chord Quadtree Vorstellung Diskussion Schwächen der Baumstruktur: Objekte in der virtuellen Welt nicht gleichverteilt Baum ist nicht ausbalanciert Nachbarschaftsproblem Schlüsselverlust Applet Schlüsselverlust: - wenn sich ein Objekt in einen anderen Quadranten bewegt, bekommt es neuen Schlüssel - wird der ursprüngliche Quadrant geteilt und das Objekt kehrt dahin zurück, bekommt es nicht den alten - der alte Schlüssel wird nicht wieder verwendet (es sei denn, die Struktur wird nach bestimmter Zeit wieder neu aufgebaut) 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Ansatz des NICTA Chord Quadtree Vorstellung Diskussion Schwächen des Chord-Protokolls: viele Peers => Schlüssellänge m groß m groß => viele Einträge in den Fingertabellen viele Einträge in den Fingertabellen => hoher Aufwand bei ausfallenden und hinzukommenden Peers (Knoten) - Bei großer Schlüssellänge m und wenigen Nutzern entsteht viel unnötiger Aufwand bei der Tabellenverwaltung. - Bei variabler Schlüssellänge m müssen die Fingertabellen aller Peers oft neu berechnet werden. 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Delaunay-Netze-basiertes Verfahren Delaunay-Netze Dynamisches Clustern Bewertung Festlegung der Topologie durch Delaunay-Triangulierung Der Umkreis eines beliebigen Dreiecks im Netz umschließt keinen anderen Knoten des Netzes. Jeder Knoten im Netz hat höchstens sechs Nachbarn. Kanten repräsentieren Peer-to-Peer-Verbindungen 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Delaunay-Netze-basiertes Verfahren Delaunay-Netze Dynamisches Clustern Bewertung Delaunay-Triangulierung Kosten: Cm = Nn * Rb + k * Rf Cm - Verwaltungskosten des Delaunay-Netzes Nn - Anzahl der direkten Nachbarn Rb - Häufigkeit des Nachrichtenaustausches an direkten Nachbarn k - Anzahl der versendeten Pakete für Wiederherstellung Rf - Häufigkeit der Wiederherstellung Kosten für Netzverwaltung 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Delaunay-Netze-basiertes Verfahren Delaunay-Netze Dynamisches Clustern Bewertung Jeder Knoten kann Cluster-Bildung anregen. Verwaltung durch den Cluster-Head. Das Cluster-Zentrum ist ein virtueller Knoten. Die Delaunay-Triangulierung muss auch im Cluster beachtet werden. Cluster im Cluster ist möglich! - Schwellenwert für die Verwaltungskosten - Jeder Knoten kann Cluster-Bildung anregen => Anfrage an direkte Nachbarn - Cluster-Head bestimmt Region und verwaltet diese - Zentrum des Clusters ist im Netz ein virtueller Knoten - Cluster wird gestreckt, damit die Ballung aufgehoben wird - Knoten im Cluster, deren AOI den Bereich des Clusters schneiden - Leere Cluster werden vom Cluster-Head verworfen 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Delaunay-Netze-basiertes Verfahren Delaunay-Netze Dynamisches Clustern Bewertung Vorteile: Verwendung einer vorhandenen Struktur Veränderungen nur lokal nötig Ballung von Objekten durch Cluster-Bildung Nachteile: Cluster im Cluster Triangulierung nicht eindeutig 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten
Fazit Peer-to-Peer ist als Netzmodell gut geeignet Ansätze haben Vor- und Nachteile Größte Probleme sind: Dynamik Ballung 5.November 2008 - Sören Vinzelberg - Erzeugung von hochskalierbaren virtuellen Welten