The first steps to developing virtual-world interoperability are now being tested between Second Life and other independent virtual worlds, thanks to the launch of Linden Lab’s Open Grid Beta, a program designed for developers to test new functionality. The beta program will allow users to move between a Second Life test grid–a set of servers simulating a virtual world–and other non-Linden Lab grids running the OpenSim software. OpenSim is an independent open-source project to create a virtual-world server.
The discussion of linking together today’s virtual worlds is not new, but this is the first running code that demonstrates previously hypothetical approaches–another tangible sign that Linden Lab is serious about interoperability. “We are still early in the game. The point of the beta is to give the rest of the development community the chance to try the protocols themselves,” says Joe Miller, Linden Lab’s vice president of platform and development. More than 200 users have signed up for the beta program, and currently 15 worlds have been connected.
In order to test virtual-world interoperability, a person needs at least two virtual worlds. For Linden Lab, the OpenSim project was a natural choice. It began in January 2007 at the nexus of two open-source projects–one to reverse-engineer the Second Life server APIs, and the other Linden Lab’s open-source viewer initiative. The goal of the OpenSim project is to build a virtual-world server that supports the Linden Lab viewer or a derivative.
Today, there is a flourishing OpenSim community with 26 registered grids hosting approximately 2,300 regions. While this is certainly a small number compared with the 28,070 regions that make up the Second Life main grid, it still represents a significant number of independent virtual worlds. The open-source nature of the project, combined with the number of participants and the shared support of a common viewer, make OpenSim-based worlds ideal for interoperability tests.
Interoperability is the future of the Web, says Terry Ford, the owner and operator of an OpenSim-based world called 3rd Rock Grid. Ford is also participating in the program. “It may be [in] OpenSim’s future, or maybe another package will spring up, but just as links from a Web page take you to another site, people will come to expect the ability to navigate between virtual worlds,” he says.
Ford is Butch Arnold in Second Life, Butch Arnold in 3rd Rock Grid, and Butch Arnold in the OpenLife grid, and that’s kind of the point. No one wants to have as many avatars as they do website accounts, but there is a fundamental difference between accounts, which hold data like a shopping cart, and avatars, which contain data regarding a person’s virtual-world appearance. IBM’s David Levine, who has been closely collaborating with Linden Lab on the interoperability protocols, says, “You don’t care if your shopping-cart contents in your Amazon account [are] the same as other shopping carts. However, if you were moving region to region and had very different assets in each, that would be a problem.”
Yet many efforts to let users share their avatars on the Web have not been successful. Levine says that the Open Grid Protocol has a chance because it is less ambitious. “We are not trying to do it across the entire Web. The focus is on the Linden main grid and a set of broadly similar grids.”
To use the beta program, a participant starts an application called a viewer, the best example being the Second Life client. The viewer renders the virtual world and provides the controls for the avatar. Just like using a Web browser to log in to a website, the viewer is where a log-in request is initiated.
The log-in request is sent to the agent service, which stores things like the avatar’s profile, password, and current location. As part of the beta, Linden Lab has implemented a proprietary version of the agent service running on a test grid. The avatar service now contacts the region service for the right placement of the avatar in the virtual world.
The region service is basically the Web server of virtual worlds. It is responsible for simulating a piece of the virtual landscape and providing a shared perspective to all avatars occupying the same virtual space. A collection of regions is called a grid. Linden Lab has proprietary code running all the Second Life regions. The OpenSim project provides source code that, when built, allows anyone to run his or her own region service.
From that point on, there is a three-way communication between viewer, agent service, and region service to provide the user’s in-world experience. When the user wants to move to another region, he issues a teleport command in the viewer, and the same process happens. But in this case, the user is not required to log in again, even if the destination region is running on a non-Linden Lab server.
Last fall, Linden Lab formed the Architecture Working Group (AWG), which is the driving force behind the Open Grid Protocol–the architectural definition of interoperability. The team decided that the first step was to focus on the areas of log in and teleport. “We started with authentication information and being able to seamlessly pass the log-in credentials between two grids run by different companies,” says Levine. “Many people ask me, ‘Why did you start there?’ Well, you can’t do all the rest until you get logged in.”
Miller says that in the next 18 months, a user can expect to see a lot of activity in the area of content movement. “How do I move content that is mine, purchased or created, between worlds safely and securely? The AWG has a lot of great thoughts on how this could work,” he says.
Brian White writes a virtual world blog, Virtual White: An Exploration of Virtual Worlds.