My Masters Dissertation on Internet-Scale Virtual Environment Architectures October 25, 2010Posted by justincc in hypergrid, opensim, opensim-arch, secondlife, virtual-environments, virtual-worlds.
Hi folks. For the past couple of years, as well as working for IBM and then on various OpenSim-related jobs, I’ve been doing a part-time Masters in Software Engineering at the University of Oxford. As part of this degree, as well as completing assignments for various taught courses, the student has to conduct an independent project and write a dissertation about it.
Naturally, I chose virtual environments/worlds as my project area, with OpenSim as the chief exemplar :-). More specifically, I decided to do some thinking about the possible architectures for creating a truly decentralized Internet-Scale virtual environment, as opposed to the classic ‘grid’ OpenSim/Second Life model where simulators are distributed but services (assets, inventory, users) are centralized. Naturally, initiatives such as Crista Lopes’ Hypergrid play a large part in these considerations.
The initial part is devoted to describing the classic ‘grid’ model, both conceptually (e.g. through the lens of the dimensions of transparency for distributed systems defined by the ISO International Standard on Open Distributed Processing) and in formal Z notation. The second part of the dissertation takes this description and compares it against what I think are the requirements for a truly Internet-scale virtual environment network. The last part of the text explores alternative architectures to the classic grid model for getting to Internet-scale.
Some of the models are significantly simplified from their real-life implementations. For instance, the OpenSim model presented consists of only four services (asset, inventory, user and grid). The Hypergrid model is based on Hypergrid 1.0 rather than the more recent revisions. In the main, these simplifications were made for clarity of argument whilst hopefully leaving the critical architectural features intact.
The dissertation also doesn’t take into account approaches that are radically different from OpenSim’s client-server system, such as OpenCroquet’s peer to peer synchronization architecture. I’d loved to have written and thought more about this but I simply ran out of space and time.
Nonetheless, I hope this dissertation might prove useful to people thinking about the future of Internet-Scale virtual environments, if only as a springboard for their own explorations. Naturally, I’d be very interested in any comments or questions that people might have.
p.s. For anybody wondering, this final bit of work was enough to secure me a pass with distinction ;-).