Speaker: Vijay Saraswat
Date: April 2, 1998
The World of Community
Throughout the Internet today are sprawled hundreds of social computational spaces --- MUDs, MOOs, MUSHes. These are virtual worlds where ("normal", "non-computer-scientist") people congregate to talk, build, work, play, learn, have fun, meet people, socialize. The illusion ("metaphor") offered to these people is of interacting with people, objects and agents co-present in virtual, persistent, extensible "places". This supports a unique and powerful notion of "being there together" and "doing things together".
Constructing an architecture for a global network of such spaces, supporting tens of millions of users, presents fascinating conceptual, theoretical and system challenges. In effect, one has to design persistent, distributed, networked, extensible object-spaces, with a clear notion of authenticated principals on whose behalf actions are performed, and resources expended.
I will present a high-level overview of Matrix, an architecture for such spaces built in the spirit of MOO. The key idea is to build Matrix around a programming language (Java) -- the implementation language for Matrix is Java, and the Matrix worlds built by users are extended by uploading (essentially arbitrary) Java code. I will show how certain features of Java work extremely well in this setting (e.g. strong typing as a basis for security, RMI as a basis for code migration), and others do not (lack of dynamic class mutation, lack of resource accounting). However, the limitations can be overcome by innovative use of the very powerful classloader mechanism supported by Java. Very interesting questions open up about possibly proving formally some of the informal security properties of such an architecture.