2.1 Neue Knoten

Zwei Knoten sind es im wesentlichen, die für Living Worlds neu in VRML eingeführt worden sind. Sie dienen der Kapselung von verteilten Objekten. Der eine solche Knoten ist der SharedObject Knoten, zusammen mit seinem Partnerknoten PrivateSharedObject. Dieser Knoten kapselt ein einzelnes Objekt und fügt ihm Statusinformationen für die Verteilung bei. Der andere Knoten ist der Zone Knoten. Auch dieser hat einen Partnerknoten, PrivateZone, und er dient dazu, mehrere SharedObjects zu einem sinnvollen Kontext zu bündeln.

2.1.1 SharedObject

Der SharedObject Knoten ist ein sogenannter "wrapper"-Knoten für verteilte Objekte. Mit seiner Hilfe werden verteilte von rein lokalen Objekten unterschieden. Jedes verteilte Objekt ist genau einem SharedObject Knoten zugeordnet, ein rein lokales Objekt ist dies natürlich nicht. Zusammen mit einem PrivateSharedObject beinhaltet das SharedObject sämtliche für die Verteilung dieses Objekts notwendigen Statusinformationen, z.B. die momentane Position des Objekts in der Szene, ob das Objekt persistent ist (ob es also, wie der BirdBot im einführenden Szenario, nach dem Verlassen seines 'Erschaffers' weiter in der Szene bleibt) oder verschiedene Konsistenz- und Sicherheitsinformationen.
Der Grund für die Einführung von zwei Knoten für diese eine Funktion liegt in dem in Living Worlds genutzten Sicherheitsmechanismus von VRML. In VRML können Knoten nur dann verändert werden, wenn man in den Besitz eines direkten Zeigers darauf gelangen kann. Hier werden im SharedObject, dessen Zeiger frei verfügbar ist, nur wenige allgemeine Dinge gespeichert, während die eigentlich für die Verteilung genutzten Daten im PrivateSharedObject gehalten werden, auf das nur die MUtech Zugriff hat (siehe Code).
Das eigentliche Objekt wird in den PrivateSharedObject Knoten über ein Feld url eingebunden, in dem die URL einer VRML File, die genau ein Objekt enthält eingetragen ist. Dies ermöglicht sowohl das Einbinden von Objekten auf entfernten Rechnern, wie es auch zur modularen VRML Entwicklung motiviert.
Jedes SharedObject ist ein Kindknoten genau eines Zone Knotens, auf den im weiteren genauer eingegangen wird.

2.1.2 Zone

Der zweite wesentliche neue Knoten in der Living Worlds Struktur ist der Zone Knoten. Eine Zone ist ein räumlich sowie konzeptionell zusammenhängender Teil einer Szene. Zum Beispiel würde man das Monopolyspiel im Szenario wohl als eine Zone anlegen. Innerhalb dieses Bereichs kapselt die Zone alle verteilten Objekte. Eine Zone ist also eine Ansammlung von SharedObjects.
Der Sinn einer solchen Bündelung liegt darin, daß die MUtech einen konsistenten Zuständigkeitsbereich benötigt. Wie wir bei der Beschreibung dieser Komponente sehen werden, können in einer Szene durchaus mehrere, von verschiedenen Entwicklern geschriebene MUtechs zum Einsatz kommen. Jede muß dabei genau wissen, auf welchen Bereich sie sich beziehen soll. Flexibilität bleibt dabei dadurch gewährleistet, daß ein SharedObject durchaus in eine andere Zone überwechseln kann, und damit dann auch in den Zuständigkeitsbereich einer anderen MUtech.
Auch zur Zone existiert ein Partnerknoten, die PrivateZone. Hier verhält es sich analog zu oben so, daß im allgemein zugänglichen Teil, der Zone, nur allgemeine Informationen verzeichnet sind, während im nur für die MUtech zugänglichen PrivateZone Knoten konkrete Informationen zur Verteilung dieser Gruppe von Objekten enthalten sind. Wesentlich ist hier ein Feld children, das einen array von Kindknoten enthält, nämlich die SharedObjects dieser Zone.

Der nächste Abschnitt soll anhand eines Diagramms den Ablauf einer typischen Kommunikation zwischen verteilten Objekten auf verschiedenen Rechnern aufzeigen. Dabei werden noch die Begriffe Pilot und Drone sowie Avatar und Bot eingeführt.