Abomasterobjekt
Jedes Objekt einer Objektgruppe kann Abomasterobjekt sein und
eine gewisse Anzahl Abonnenten besitzen. Ein Abomasterobjekt sendet
an seine Abonnenten regelmäßig Synchronisationsevents,
wenn es selbst das Masterobjekt der Objektgruppe ist, sonst werden
empfangene Synchronisationsereignisse einfach an die Abonnenten
weitergeleitet.
Abonnementmechanismus
Synchronisationsmechanismus zur Replikation von Objekten. Ein
Hauptobjekt (Abomasterobjekt) versorgt dabei seine Abonnenten
mit den notwendigen Daten.
Abonnentobjekt
Jedes Slaveobjekt einer Objektgruppe ist automatisch Abonnent
eines Abomasterobjektes.
Avatar
Stellvertreterobjekt für einen Nutzer in der virtuellen Umgebung,
wird für dessen Visualisierung benötigt. In virtuellen
Umgebungen ist der Nutzer integraler Bestandteil des Systems.
Deshalb muß der Nutzer eine Repräsentation (einen Avatar)
im System besitzen.
Broadcast
Broadcast ist eine Methode, bei der alle existierenden Stationen
in einem (Teil-) Netz eine einmalig abgeschickte Nachricht empfangen
können. Wesentlich ist, daß die Nachricht dabei lediglich
einmal gesendet wird und alle Stationen die Nachricht gleichzeitig
empfangen. TCP/IP realisiert Broadcastnachrichten über spezielle
Broadcastadressen.
Console_listener
Dieses Verwaltungsmodul stellt die Möglichkeit zur Verfügung,
über die Tastatur Ereignisse an das System zu übergeben.
Dead Reckoning
Mit Dead Reckoning wird eine Methode bezeichnet, die es ermöglicht,
Synchronisationen in verteilten Umgebungen einzusparen. Dabei
berechnen zwei autonome Objekte ihr zukünftiges Verhalten
aus ihrem aktuellen Zustand. Zur Synchronisation reicht dann in
der Regel die Übertragung der Zustandsdaten in einem größeren
Zeitraster aus. Muß ein Objekt beispielsweise zur flüssigen
Darstellung 25 mal pro Sekunde seinen aktuellen Zustand anzeigen,
so sind ohne Dead Reckoning die Zustandsdaten 25 mal pro Sekunde
zu übertragen. Wird Dead Reckoning eingesetzt, kann ein Objekt
seinen Zustand auch dann aktualisieren, wenn keine Synchronisation
der Zustandsdaten erfolgt. Das Objekt ändert dann seinen
Zustand selbständig aufgrund definierter Regeln.
DOF
DOF steht für degrees of freedom und bezeichnet die Freiheitsgrade
die ein Eingabegerät besitzt. Ein Eingabegerät besitzt
6 DOF wenn z.B. Bewegungen in jede Raumrichtung und Drehung um
die drei Achsen möglich sind. Eine Standardcomputermaus besitzt
lediglich 2 DOF.
Event
Events oder Ereignisse sind die Basis der Kommunikation im Voodie
System. Ein Ereignis wird als Nachricht von einem Absender an
einen Empfänger geschickt. Ereignis und Nachricht stehen
also in einem gewissen Zusammenhang. Ereignisse im Voodie System
beinhalten einen Ereignistyp und einen Nachrichtenteil, so daß
prinzipiell auch von Nachrichten gesprochen werden könnte.
Darauf wurde aber aus Gründen der Übersichtlichkeit
verzichtet. Absender und Empfänger müssen nicht auf
derselben Station residieren. Der Transport der Ereignisse erfolgt,
durch die Verwaltungsmodule des Voodie Systems, für Sender
und Empfänger transparent.
Interaktionsdämon (ID)
Der Interaktionsdämon ist ein Verwaltungsmodul im Voodie
System. Er erzeugt, verwaltet und zerstört Objekte, überwacht
und regelt Interobjektkommunikationen (z.B. Kollisionserkennung)
und leitet Ereignisse an die entsprechenden Objekte weiter. Jede
Station besitzt einen ID. Er ist immer an einen Teilnehmer oder
eine Station gekoppelt. Dabei werden vom ID lediglich die Objekte
verwaltet, die sich in einer gewissen räumlichen Umgebung
um sich selbst befinden. Der ID ist beweglich.
Masterobjekt
Das Masterobjekt einer Objektgruppe ist dasjenige Objekt, welches
die Objektkontrolle innehat.
Multicast
Multicast (auch IP-Multicast) ist eine Methode, die es ermöglicht,
Daten an mehrere Empfänger gleichzeitig abzusetzen, ohne
dabei jeden Empfänger einzeln anzusprechen. Dabei werden
aber nicht wie beim Broadcast alle existierenden Empfänger
angesprochen, sondern lediglich einige. Welche Empfänger
angesprochen werden, wird über Multicastgruppen festgelegt.
Mutex
Mutex ist ein Kunstwort aus Mutual und Exclusion (gegenseitiger
Ausschluß). Eine Mutex wird in Systemen benötigt, bei
denen eine Ressource (z.B. Variable, Gerät u.a.) von verschiedenen
Modulen abwechselnd benutzt werden soll. Der Teil der Instruktionen,
in dem Benutzung der Ressource erfolgt, wird als kritischer Abschnitt
(critical section) bezeichnet. Eine Mutex wird dabei von jedem
der Module am Anfang eines kritischen Abschnitts gesperrt, so
daß kein anderes Modul auf die Ressource zugreifen kann.
Am Ende des kritischen Abschnitts wird die Mutex wieder freigegeben.
Net_listener
Dieses Verwaltungsmodul des Voodie Systems regelt den Empfang
von Daten über das Netzwerk. Diese Daten werden im NET_LISTENER
Modul in Ereignisse umgewandelt und weitergegeben.
Net_sender
Dieses Verwaltungsmodul des Voodie Systems ist für das Senden
von Daten über das Netzwerk zuständig. Diese Daten sind
generell Ereignisse. Das NET_SENDER Modul setzt die Ereignisse
dabei entsprechend um.
Objekt
Allgemein sind Objekte in virtuellen Umgebungen autonom agierende
Einheiten, die die Umgebung mit Leben füllen. Sowohl Gegenstände,
als auch Avantare sind Objekte einer virtuellen Umgebung.
Aus Anwendersicht ist ein Objekt im Voodie System eine eigenständig
agierende Einheit, die durch Senden von RENDER
Events in der Lage ist, sich darzustellen. Solche Objekte sind
Voodie Objekte. Wenn nicht ausdrücklich von der Implementation
in C++ geredet wird, bezeichnet der Begriff Objekt ein Voodie
Objekt bzw. ein Objekt in der virtuellen Umgebung (z.B. Tisch,
Ball, Avatar o.ä.).
Da das Voodie System in einer objektorientierten Programmiersprache
implementiert ist, sind Voodie Objekte auch aus der Sicht des
Programmierers Objekte. Neben den Voodie Objekten sind aber auch
alle Verwaltungsmodule als Objekte implementiert.
Objektabonnement
siehe Abonnementmechanismus.
Objektguppe
Objekte im Voodie System besitzen u.U. Repräsentationen auf
anderen beteiligten Stationen. Mit Objektgruppe ist die Gesamtheit
dieser Repräsentationen eines Objektes gemeint. Eine Objektgruppe
besteht aus einem oder mehreren Objekten, die voneinander abhängig
sind, sich also synchronisieren müssen. Eine Objektgruppe
setzt sich aus einem Masterobjekt und keinem oder mehr Slaveobjekten
zusammen.
Objektidentifikator (ObjektID)
Jedes Objekt im Voodie System besitzt einen eindeutigen Identifikator.
Dieser Identifikator sieht allgemein so aus:
<hostname>:<Objektnummer>
<hostname> ist dabei die Adresse der Station, auf
der das Objekt residiert und <Objektnummer>
steht für die stationseindeutige Nummer des Objektes
Objektinformigramm (OI)
Ein Objektinformigramm stellt eine Art Abbild eines Objektes dar,
welches vorzugsweise dazu benutzt werden soll, die Informationen
eines Objektes über das Netzwerk anderen Teilnehmern zur
Verfügung zu stellen, ohne das Objekt selbst übertragen
zu müssen. Es enthält wichtige Informationen eines Objektes.
Derzeit sind diese Informationen der Identifikator des Objektes
(ObjektID) und die Klasse (den Typ) des Objektes
In späteren Implementationen sollten weitere Informationen
(z.B.: Erzeugungsparameter oder allgemeine Geometrieinformationen)
im OI enthalten sein. Mit Hilfe der OI kann ein Teilnehmer entscheiden,
welche Objekte für ihn relevant sind und diese Objekte dann
abonnieren.
OI-Objekt, OI-Verwalter
Im Voodie System existiert ein spezielles Objekt, welches die
Verwaltung der OI übernimmt. Jede Station besitzt ein solches
OI-Objekt.
RENDER Event
Objekt einer virtuellen Umgebung müssen die Möglichkeit
der Visualisierung besitzen. RENDER
Events sind Ereignisse, die ein Objekt im Voodie System an das
Visualisierungsmodul bzw. die Renderapplikation sendet. Dort wird
das Ereignis entsprechend verarbeitet.
Renderer
Dieses Verwaltungsmodul des Voodie Systems ist der Empfänger
für RENDER Events.
SEND_ALL_OI
Event
Ein spezielles Ereignis zur Anforderung aller verfügbaren
OI eines Teilnehmers.
Slaveobjekt
Ein Slaveobjekt ist ein Objekt einer Objektgruppe, welches nicht
die Objektkontrolle besitzt.
Station
Allgemein versteht man unter einer Station einen Rechner, der
Bestandteil einer verteilten Anwendung ist. In Bezug auf die vorliegende
Implementierung ist eine Station die Einheit aus Computer, Netzwerkanschluß
und Voodie Applikation. Dabei kann (in der jetzigen Implementierung)
auf einem Computer mit einem Netzwerkanschluß nur eine Voodie
Applikation laufen.
TCP
Transmission Control Protocol. Verbindungsorientiertes Protokoll,
welches auf UDP aufsetzt. TCP stellt Mechanismen für Fehlerkorrektur
und Sequenzkontrolle zur Verfügung. Der dadurch entstehende
Mehraufwand führt zu geringerem Datendurchsatz.
UDP
User Datagram Protocol. Ein paketorientiertes, verbindungsloses
Protokoll zur Datenübertragung. UDP beinhaltet keine Mechanismen
zur Fehlerkorrektur. Es ist auch möglich, daß UDP Datagramme
in einer anderen Reihenfolge beim Empfänger ankommen, als
der Sender sie abgeschickt hat. Mit UDP ist dadurch aber auch
ein höherer Datendurchsatz möglich als mit verbindungsorientierten
Protokollen (z.B. TCP).
virtuelle Umgebung, verteilte virtuelle Umgebung
In dieser Arbeit wird unter einer virtuellen Umgebung ein System
verstanden, welches die dreidimensionale Darstellung und Modellierung
der Umgebung, deren interaktive Manipulation in Echtzeit und den
Nutzer als integralen Bestandteil dieser Umgebung beinhaltet.
Eine verteilte virtuelle Umgebung ist eine virtuelle Umgebung,
die die gleichzeitige Benutzung durch mehrere geographisch getrennte
Teilnehmer erlaubt.
Voodie
Virtual objectoriented distributed
interactive environment
Name des Prototypen, der den vorgestellten Mechanismus implementiert
und des Projektes an der Fakultät Medien der Bauhaus-Universität
Weimar, das sich mit verteilten virtuellen Umgebungen befaßt.
|