Registerkarten

SimtippViewerServerKunstLL-BlogVideosVehikelAnleitungSansarARC

Freitag, 25. April 2014

Die System-Architektur von High Fidelity

Quelle: High Fidelity
Joh, schon wieder ein Bericht zu High Fidelity. Das hat mehrere Gründe: Zur Zeit gibt es wenig Bewegung in der technischen Entwicklung von Second Life. Das Gleiche gilt für die Viewer (LL und TPV). Beides sind Themen, über die ich sonst oft hier schreibe. Ich selbst komme zur Zeit wegen vielen RL-Verpflichtungen nicht besonders oft dazu, mich in SL einzuloggen. Deswegen habe ich nur wenig Eigenes zu berichten.

Und zu guter Letzt finde ich die Entwicklung von High Fidelity interessant. Als Second Life entstanden ist, habe ich mich noch nicht mit virtuellen Welten befasst und kenne die Entstehungsgeschichte nur aus den alten Berichten. Bei HiFi kann ich aber beobachten, wie eine Idee Stück für Stück Formen annimmt. Das finde ich spannend.

In den letzten Wochen haben die Meldungen rund um High Fidelity deutlich zugenommen. Vor allem Philip Rosedale ist sehr aktiv und hält Vorträge oder schreibt Blogposts. Vor knapp zwei Wochen wurde dazu wieder ein Video auf YouTube veröffentlicht, das auf der "Virtual Reality Los Angeles #1" aufgezeichnet wurde. Unter anderem sind wieder ein paar bewegte Bilder aus HiFi zu sehen. Und auch die Meldungen über HiFi in den Webmedien haben in letzter Zeit zugenommen. Erst gestern ist ein interessanter Artikel von Samantha Murphy auf New Scientist erschienen. Titel: "Second Life 2.0".

Ebenfalls am 24. April hat Philip Rosedale wieder einen längeren Artikel im HiFi-Blog geschrieben. Er erklärt darin den Aufbau der Hard- und Software-Struktur seiner neuen virtuellen Welt. Und die ist ziemlich anders als der heutige Aufbau von Second Life. Das nachfolgende Bild ist die schematische Darstellung der HiFi-Architektur als Diagramm. Wer sich etwas mit Netzwerken, Datenverteilung und Internet-Hardware auskennt, wird schon alleine mit diesem Diagramm eine gute Vorstellung vom Aufbau erhalten. Deshalb hier auch noch die Grafik als PDF-Download.

Quelle: High Fidelity
Zu Beginn schreibt Philip noch einmal allgemein, dass High Fidelity auf Servern von vielen verschiedenen Leuten und Institutionen laufen wird. Diese können sich dann verbinden und damit einen gemeinsamen virtuellen Raum schaffen, durch den Avatare und Objekte bewegt werden können.

Dann geht Philip auf das obige Diagramm ein und erklärt es Schritt für Schritt:

Der Domain Server ist der Hauptserver, auf dem die virtuelle Welt gestartet wird. Gleichzeitig stellt der Domain Server eine Reihe von kleineren Servern bereit, die benötigt werden, um Audiostream, Avatar-Daten und inworld Objekte an die verbundenen Clienten zu übermitteln. Diese Clienten können sowohl Menschen sein, die sich interaktiv mit der virtuellen Welt verbunden haben, als auch sogenannte "Agents", was zum Beispiel KI-gesteuerte Bots oder interaktive Objekte sein können. Die virtuelle Welt innerhalb eines Domain Servers kann jede beliebige Größe haben und aus einer beliebigen Anzahl von weiteren Servern, Avataren und Objekten bestehen. Und schließlich lassen sich alle Domain Server dann untereinander verbinden, so dass ein größeres "Metaverse" entstehen kann.

Der Nameserver wird von der Firma High Fidelity betrieben (wie alle Dienste im oberen "Global Services"-Feld des Diagramms). Er verwaltet zum einen die Namen der Domain Server und der virtuellen Orte, die auf ihnen gehostet werden. Das wird ähnlich ablaufen, wie mit den NICs für Webseitenadressen. Und zum anderen verwaltet der Nameserver auch Avavatrnamen und kann damit globale Authentifizierungen übernehmen. Dies ist jedoch zum Betrieb eines Domain Servers nicht notwendig. Ein privater Betreiber kann auch über SSL und OAuth die Logins auf dem eigenen Server kontrollieren.

Schema eines Sparse Voxel Octree
Quelle: Santy's blog
Der Voxel Server speichert und versendet die Daten aller Objekte innerhalb der virtuellen Welt. Für die Speicherung verwendet der Server die "Sparse Voxel Octree"-Technologie, die vereinfacht ausgedrückt alle Objekte in immer kleiner werdende Würfel unterteilt, dies aber nur macht, wenn es die Objektstruktur erfordert. Damt lassen sich 3D-Umgebungen effizienter speichern, weil leere Bereiche überhaupt keinen Speicherplatz benötigen. Der größte Vorteil dieser Technik für uns Nutzer ist jedoch das Verhalten beim Rendering der inworld Umgebung. Damit lassen sich sehr viele Objekte in sehr großer Distanz darstellen, da sich die Voxel beliebig gruppieren lassen. Ein Wald mit Tausenden von detaillierten Bäumen wird aus der Ferne betrachtet zu wenigen (oder nur einem) Pixel. Und nur diese müssen dann auch übertragen und im Speicher des Viewers geladen werden. Auf der anderen Seite ermöglicht die Eigenschaft von Voxel-Gruppierungen auch, dass man zum Beispiel für ein Haus in einer Stadt einen kompletten Voxel Server reserviert und das Haus dann mit nahezu unendlich vielen Objekten ausgestattet werden kann.

Der Audio Mixer ermöglicht einen räumlichen, dreidimensionalen Audiostream zu den Clienten. Dieser Stream besteht aus den Echtzeitgeräuschen von inworld Avataren und Objekten. Sollte ein Audio Mixer durch zu viele Clienten überlastet sein, kann der Domain Server weitere Audio Mixer starten, die dann in einem Multicast Tree miteinander verbunden werden und somit eine unbegrenzte Anzahl von Zuhörern ermöglichen. Diese neuen Mixer können optional auch von (der Firma) High Fidelity verwaltet werden, die mit ihren Assignment Servern die optimale Balance der Serverlast regelt.

Der Avatar Mixer sammelt und überträgt alle Informationen zu den Avataren, wie zum Beispiel den Gesichtsausdruck und die Körperbewegungen. Die Skalierung ist dabei genauso geregelt wie beim Audio Mixer.

Avatar von Philip Rosedale
Quelle: Virtual Reality Los Angeles #1 / YouTube

Der Assignment Server ist ein Dienst der Firma High Fidelity. Er ermöglicht den Nutzern, dass sie ihre Computer anderen Teilnehmern zur Verfügung stellen können. Diese Computer werden dann als Server oder als interaktive geskriptete Objekte eingesetzt. Jeder Computer, der sich im Assignment Server auflisten lässt, wird für die Domain Server zur Verfügung gestellt, wenn diese sie benötigen. Als Gegenleistung für die Bereitstellung des eigenen Computers werden Einheiten einer Kryptowährung unter den Teilnehmern im Assignment Serververbund ausgegeben. Die Analyse der Leistung eines bereitgestellten Nutzercomputers erfolgt ebenfalls über den Assignment Server. Dieser verteilt dann entsprechend die Einbindung in das HiFi-Netzwerk. Ein iPhone wird zum Beispiel eher für ein geskriptetes Tier verwendet, das irgendwo rumläuft, während ein gut ausgestatteter Heimrechner auch als Voxel Server fungieren kann.

Der Digital Marketplace ermöglicht den Nutzern digitale Waren zu kaufen, zu verkaufen und auch einfach nur zu transferieren. Der Marketplace kann dabei alle angeschlossenen Domain Server beliefern.

Der Currency Server stellt die Dienste für alle Geldwechselaktionen zur Verfügung. Er bietet außerdem APIs an, mit denen Nutzer zum einen ihren Computer in das Assignment Server Netzwerk einbinden können und zum anderen digitale Waren mittels Kryptowährung kaufen und verkaufen können.

Javascript ist die Sprache, die in High Fidelity genutzt wird, um interaktiven inworld Content, Avatar-Attachments und UI-Erweiterungen zu erstellen. Javascript Code kann außerdem über Assignment Server oder Domain Server auf zusätzliche Geräte aufgespielt werden, so dass man interaktive Umgebungen bis hin zu komplexen Simulationen damit erzeugen kann. Erste Beispielskripte für HiFi gibt es auf dieser Seite.

Der Domain Server, Audio Mixer, Avatar Mixer, Voxel Server, Interactive Client und alle weiteren Softwarekomponenten zum Erstellen und Betreiben von virtuellen Welten, sind unter der Apache 2.0 Open Source Lizenz veröffentlicht worden und sind im High Fidelity Github Repository zugänglich.

Quelle: High Fidelity System Architecture
..............................................................................................................................................................

Anm.:
Das war jetzt natürlich ziemlich viel Technikkram, was sicher nicht jeden Leser interessiert. Für gewöhnlich habe ich auch nur selten Lust, mich durch so eine Erklärung zu arbeiten und alles zu verstehen. In diesem Fall ist das aber anders, weil ich (wie eingangs schon erwähnt) die Entwicklung einer solchen Plattform sehr interessant finde. Die Struktur des HiFi-Systems ist auch gar nicht so kompliziert, wie das auf dem Diagramm zuerst den Anschein macht.

Ich bin vor allem mal gespannt, wie dieses Bezahlsystem mit bereitgestellten Computern funktionieren soll. Wenn die zu erwartenden Einnahmen höher sind, als die Stromrechnung für den Betrieb des Computers, dann könnte ich ein paar ungenutzte PCs von mir zu ihrem zweiten Frühling verhelfen.^^ Allerdings halte ich Kryptowährung als Bezahlsystem für riskant, wenn man mal auf die Ereignisse rund um den Bitcoin blickt.

Wenn Philip Rosedale das alles so hinbekommt wie oben beschrieben. Und wenn die Zugangssoftware (der Viewer, die Schnittstelle, Oculus Rift, oder was auch immer) den Anforderungen einer Mehrheit entspricht, dann kann HiFi in Zukunft wirklich die Wachablösung für Second Life werden.

Kommentare:

  1. Bleib am Ball, Maddy. Wir sind gespannt, was da auf uns zu kommt.

    Die
    Niki

    AntwortenLöschen
  2. Sollte das Konzept wirklich aufgehen; praktisch keine Ladezeiten, theoretisch unendliche Welten, dann denke ich, dass dem Erfolg von High Fidelity nichts im Wege steht.
    Das Einzige, was mir im Moment Sorgen macht ist das mit der Cryptocurrency.
    Am Anfang ist fast kein Geld da ---- Hoher Wert ---> Niedrige Preise.
    Doch über die Zeit wird das ja immer mehr --- Wert sinkt -----> Preise werden höher. Es kommt zu einer Inflation.
    Es gibt dann zwei Möglichkeiten: 1.) High Fidelity macht keine Umwechslung (IngameGeld --- Reales Geld) ---> Markt ist in 10 Jahren überschwemmt von Geld.
    2.) High Fidelity macht Umwechslung ---> Da sie ja durch das Minen von dem Geld ja keinen Gewinn machen, aber durch das Auszahlen einen Verlust, wäre das ja ein starker Nachteil für sie.

    Ich bin gespannt wie dieses Problem gelöst wird.
    Konstantin

    AntwortenLöschen