A Software Architecture for Interactive Multiuser Visualisation
A THESIS SUBMITTED TO THE UNIVERSITY OF MANCHESTER FOR THE DEGREE OF DOCTOR OF PHILOSOPHY IN THE FACULTY OF SCIENCE AND ENGINEERING
By James Marsh, Department of Computer Science, 2002
List of Tables
List of Figures
1.1 Interactive Multiuser Visualisation
1.2 Thesis Structure
2 Collaboration and Visualisation
2.1 Distributed Systems
2.2 Middleware Standards
2.3 Rendering Support Libraries
2.4 Current Distributed Virtual Reality Systems
2.5 Historical VR systems
2.6 Scientific Data Visualisation Systems
3 Modelling Virtual Realities
3.1 Presence and Immersion
3.2 Modelling and Simulation
4 The Implementation of Deva 3
4.1 Architectural Requirements
4.2 Defining Behaviour
5 Applications Built with Deva 3
5.1 Kahun City Senet Game
5.3 The Access Model
5.4 Virtual Assembly and Maintenance Simulation
6 Reconstructing Deva
6.1 Analysing Deva 3
6.2 A New Architecture
6.3 Standard Kernel Services
7 Future Work and Conclusions
7.1 Remote Visualisation of Large Data Sets
7.2 Shared Multiuser Haptic Interaction
7.3 Summary and Conclusions
A Continuity of Experience in Networked VR
B Deva 3: Large Scale Distributed VR
C Collaborative Access Model for Shared VR
D User Centred Virtual Actor Technology
E Distributed Virtual Prototyping
2.1 The First Web Browser
2.2 Examples of Network Topologies
2.3 The Standard CORBA Architecture
3.1 A Virtual Audience
3.2 The Office of the Future
3.3 NASA Training in Weightlessness
3.4 Vietnam Veteran Therapy
3.5 ‘Q-SPACE’ Library Visualisation
3.6 Michotte’s Causality Experiment
3.7 The Modelling and Simulation Process
4.1 The Deva 2 Fish Cage Environment
4.2 The Structure of an Entity
4.3 A Sphere Object Definition
4.4 A Sphere Subject Definition
5.1 The Senet Game VE
5.2 Distributed Senet in Use
5.3 The PlaceWorld
5.4 Customising the PlaceWorld
5.5 PlaceWorld Environments
5.6 Inside the ‘Panoramic Navigator’
5.7 Divipro Test Cases
5.8 Pin Constraints
5.9 Planar Constraints
5.10 Flexible Objects
5.11 Divipro Network Topology: No Synchronisation
5.12 Divipro Network Topology: Turn Taking
5.13 Divipro Network Topology: Single Server
5.14 Divipro Network Topology: Roaming Server
6.1 The Configuration Service Base Class
6.2 Using the Configuration Service
6.3 Using Deva’s MAVERIK Service to Render the Lab Model
6.4 A View from Inside the Lab
6.5 A Standard MAVERIK Program for Rendering the Lab Model
Distributed applications have insurmountable limitations caused by the latency inherent in computer networks. These problems are particularly challenging in the area of multiuser three-dimensional visualisation applications and virtual environments (VEs).
This thesis argues that such difficulties cannot be overcome by improvements in hardware alone, and instead develops a novel distributed application model that guides the development of effective multiuser applications by explicitly taking into account the role played by the network, and the nature of the user’s interaction.
In addition to their network problems, contemporary virtual reality (VR) systems are also characterised by limited support for describing rich and consistent behaviour. This results in applications that are inflexible, unnecessarily complex, and difficult to reuse. A software architecture, Deva, is presented that uses a novel aggregation mechanism to support highly dynamic and reusable behaviour.
A number of substantial applications built using the system are used to demonstrate its effectiveness. The experience of building these large and complex systems is subsequently used to inform a revised architecture that further expands the range of applications that the system is able to support.
No portion of the work referred to in this thesis has been submitted in support of an application for another degree or qualification of this or any other university or other institution of learning.
Copyright in text of this thesis rests with the Author. Copies (by any process) either in full, or of extracts, may be made only in accordance with instructions given by the Author and lodged in the John Rylands University Library of Manchester. Details may be obtained from the Librarian. This page must form part of any such copies made. Further copies (by any process) of copies made in accordance with such instructions may not be made without the permission (in writing) of the Author.
The ownership of any intellectual property rights which may be described in this thesis is vested in the University of Manchester, subject to any prior agreement to the contrary, and may not be made available for use by third parties without the written permission of the University, which will prescribe the terms and conditions of any such agreement.
Further information on the conditions under which disclosures and exploitation may take place is available from the head of Department of Computer Science.
I should like to thank my supervisor Dr. Stephen Pettifer for his support and advice throughout this project. Thanks are also due to my colleagues in the Advanced Interfaces Group, in particular Dr. Mashhuda Glencross for her many suggestions and support during the writing of this dissertation, Mr. Jon Cook for his invaluable contributions to the development of Deva, and Dr. Simon Gibson for his graphical wizardry.
Finally, I would like to recognise the support and encouragement I have received from my parents, Marian and Brian, without whom this would not have been possible.
This work has been funded by the EPSRC.