VIS- und Uni-Logo
Blindenversion home uni uni suche suche sitemap sitemap kontakt kontakt
unilogo Universität Stuttgart
Institut für Visualisierung und Interaktive Systeme

Kooperatives Arbeiten

englische VersionDruckversionBlindenversion
 

Kooperatives Arbeiten

Beim kooperativen Arbeiten geht es darum, zwei oder mehreren räumlich getrennten Anwendern die Möglichkeit zu geben, eine einheitliche Sicht auf das Modell zu haben. Gleichzeitig kann dann zum Beispiel am Telefon über Bewertungen diskutiert werden, ohne dass eine der beteiligten Personen ihren Arbeitsplatz verlassen muss.
Hierbei kann zwischen folgenden Szenerien unterschieden werden:

  • Szenario 1:
    Beide beziehungsweise alle Teilnehmer einer solchen kooperativen Sitzung möchten mit dem dargestellten Modell abwechselnd interagieren können.

  • Szenario 2:
    Ein Anwender möchte anderen das Modell oder einen Teil daraus zeigen, um sich zum Beispiel eine zweite Meinung einzuholen; eine Interaktion auf der anderen Seite ist nicht notwendig.

Für beide Szenerien wurden im crashViewer CORBA-basierte Lösungsansätze implementiert. Während das erste Szenario erfordert, dass auf den Rechnern aller Teilnehmer sowohl die Applikation crashViewer als auch die zu visualisierenden Daten zur Verfügung stehen, werden für das zweite Szenario auf der Client-Seite (Zuschauer) lediglich eine JAVA-Applikation oder ein HTML-Browser benötigt.


Szenario 1: Der SessionServer verbindet die crashViewer untereinander und steuert die Kommunikation mit Hilfe eines Tokens, das die Interaktionskontrolle erlaubt. Events oder Kameraparameter werden zwischen den crashViewer-Instanzen direkt ausgetauscht.

Im Szenario 1 startet der initiierende Anwender zunächst eine steuernde Applikation, den SessionServer. Dieser stellt seine eigene CORBA-Referenz zur Verfügung und erlaubt nun einem crashViewer, eine neue Sitzung zu eröffnen oder sich bei einer bereits bestehenden Sitzung anzumelden. Die Aufgabe des SessionServer besteht darin, die teilnehmenden crashViewer miteinander zu verbinden und das Token zu verteilen, das die Interaktion mit dem dargestellten Modell erlaubt. Der crashViewer speichert sich außer der Referenz auf den SessionServer auch die Referenzen aller anderer an der Sitzung teilnehmenden crashViewer.
Zu jedem Zeitpunkt kann nur ein crashViewer die Steuerung übernehmen. Wird zum Beispiel der Augpunkt geändert, dann überträgt der steuernde crashViewer die Kameraparameter direkt an alle anderen Teilnehmer. Das Token, das die Steuerung erlaubt, wird von dem SessionServer verwaltet und zugeteilt. Es kann unter den teilnehmenden crashViewer Instanzen ausgetauscht werden; somit ist der Wechsel der Interaktionskontrolle möglich.
Das Setzen von Markierungspfeilen am Modell erleichtert die Kommunikation. Sofern die zu Modelldaten nicht jedem Teilnehmer zur Verfügung stehen, kann der Cosmo3D-Szenengraph über die CORBA-Schnittstelle von dem steuernden crashViewer angefordert und übertragen werden.


Szenario 2: Der crashViewer stellt jeweils die gezeichneten Bilddaten an einem Port zur Verfügung, welcher über eine Socket-Verbindung ausgelesen werden kann. Um eine höhere Übertragungsgeschwindigkeit gewährleisten zu können, werden Kompressionsverfahren zur Übertragung der Bilder verwendet.

Das Szenario 2 erlaubt einem aktiven crashViewer-Anwender, das dargestellte Modell in Form von kodierten Bildinformationen auf einem Socket zur Verfügung zu stellen. Die passiven Teilnehmer der Sitzung können dann mit Hilfe einer JAVA-Applikation die komprimierten Bilddaten von dem Socket lesen, dekodieren und in einem graphikfähigen Fenster darstellen. Zusammen mit einem JAVA-Applet wurde eine HTML-Seite erstellt, die zum Beispiel mit dem Netscape geladen werden kann und das im crashViewer gezeichnete Bild darstellt.
Auf Grund der großen Datenmengen, die von der Größe des Darstellungsbereiches und dem gewählten Kompressionsverfahren abhängen, und der Verbindungsbandbreite kommt es hier zu geringeren Bildraten auf der Empfängerseite. Dennoch erlaubt diese Technik einen gewissen Grad von Kooperation mit sehr geringen Anforderungen auf der Client-Seite.


Hier wird jeweils das aktuell im crashViewer dargestellte Bild komprimiert, über eine Socket-Verbindung zum JAVA-Applet, das in einem Webbrowser läuft, transferiert, dort dekomprimiert und schließlich dargestellt.


Kontakt: Ove Sommer Email: Ove.Sommer@informatik.uni-stuttgart.de