choose language:

distributed computing in ET/MET++

World-3d-Editor

Im Winter 1995/96 gab es an der Universität Zürich ein Seminar in Multimediatechnik, bei welchem die Teilnehmer eigene Themenvorschläge unterbreiten konnten. Zusammen mit drei Freunden entschieden wir, eine dreidimensionale, virtuelle Welt zu implementieren, in welcher verschiedene Benutzer in Echtzeit mit Objekten und der Welt interagieren konnten. Die Applikation basiert auf dem Framework MET++.

Wir implementierten die benötigte Middleware, Serialisierung der verschiedenen Objekte, Kollisionsabfrage-Algorithmen der dreidimensionalen Welt und einen Server, der die Kommunikation der verschiedenen Benutzern (talk server) und die der Objekte (graphics server) steuert. Die Hauptaufgaben wurden wiefolgt verteilt:
  • Martin Zimmermann - Kollisionsabfragen
  • Oliver C. Hoeffleur - Graphische Benutzeroberfläche
  • Andreas Kruthoff - Talk Server
  • Martin Dudle - Graphics Server und Kommunikationsprotokolle
Das World 3D Team:
Martin Zimmermann, Oliver Hoeffleur, Andreas Kruthoff and Martin Dudle (von links nach rechts).

dist++

Dies ist meine Semesterarbeit im Jahr 1997. Die Arbeit stellt Klassen und Methoden vor, welche es erlauben, auf einfache Art und Weise verteilte MET++ Applikationen zu implementieren. Enthalten ist auch eine Bibliothek namens dist++, welche atomares, total geordnetes Multicast-Messaging implementiert. Aufgrund der nur begrenzt zur Verfügung stehenden Zeit wurde der multicast Layer nur durch einzelne TCP Verbindungen simuliert. Diese Schicht kann jedoch ohne grossen Aufwand ausgetauscht werden.

Heutzutage ist diese Technik selbstverständlich vollkommen veraltet. Es ist aber dennoch interessant zu sehen, wie damals ohne Messagingsysteme (wie JMS zum Beispiel) vorgegangen wurde. Damals hatten wir sogar Anfragen von zwei Universitäten aus Deutschland und Österreich, welche an einer Weiterentwicklung sehr interessiert waren. Allerdings hätte dies den Rahmen der Semesterarbeit gesprengt.

ded

Basierend auf der dist++ Bibliothek hat Andreas Kruthoff eine Applikation geschrieben: einen dreidimensionalen Editor, welcher mehreren, unabhängigen Benutzer den gleichzeitigen Zugriff und das Bearbeiten des gleichen Raumes ermöglicht. Ereignisse und Zustandsänderungen erfolgen in Echtzeit, so dass jeder Benutzer die Aktionen der anderen mitverfolgen kann.

downloads

3dserver.tar.gz (3d server source tree)
50132 bytes md5: 7b8d9c71a5b2829c58297bca583a05be

3dclient.tar.gz (3d client source tree)
33151 bytes md5: 4564ff6a664afda97a179e89840f73f0

dist++.tar.gz (dist++ source tree)
20485 bytes md5: fd934cce665b874d56294e04ae1e5691

ded.tar.gz (ded source tree)
16254 bytes md5: 407fd873995b6d37c3898356af1ffff0

whole website under copyright © 1993-2009 - Martin Dudle