How to scale Second Life

Second Life had the potential to be the 3D AOL, to usher in a new age of immersive 3D environments.

It failed not because it was too complicated or difficult to use or tried to do too much at once.

After all, AOL also was a one-stop-shop: shopping, forums, email, instant messaging, personals, news, games — it wanted to be everything to all people. And AOL was NOT easy to use. You had to have a dial-up modem! You had to install software! And then you got a busy signal! You had to learn how to use a mouse! We forget how hard it was.

So I don’t think Second Life is too complex — just under capitalized. The Lindens could have gone out to strike deals to get it on everyone’s computer pre-installed. They could have run national ads everywhere. They could have made the subscriptions automatic and all-but-impossible to cancel. (I’m not saying they should have — I’m saying that AOL did these things.)

AOL spent $300 million on sending out those disks.  It covered the country with them. They were in every mailbox, at every checkout counter. You’d open up a new package of socks and — ta da — another AOL disk. AOL saturated the national consciousness and forced a critical proportion of the population to go online.

The question is — say Linden Lab pulled together $300 million, or a similarly large amount, and used it to launch a massive marketing campaign — would it be able to handle all the new users?

After all, the grid is already laggy, and regions have to be restarted all the time.

But that doesn’t mean that Second Life’s current size is cast in stone. It could change. It could evolve. It could become scalable.

Here are three possible options for how to do that.

Go to the cloud

(Image courtesy Tim Bates via Flickr.)

It could take a page out of Kitely’s playbook and move its asset server to the Amazon S3 cloud (super scalable, super fast, super cheap). And it could move its region servers to the Amazon EC2 computing cloud. Kitely says its regions can support 100 users and 100,000 prims — and they’re planning to raise both limits.

Kitely had to do a little fiddling with the OpenSim core code to make this work. But they’re just two guys working out of their homes. But given that their system works with the existing Second Life viewers — including all the official ones — it should be something that Linden Lab can do as well.

The end result won’t just be a more scalable system, but a potentially much less costly one, as well since regions don’t have to be running when they’re not being used.

 

Shard it

(Image courtesy V31S70 via Flickr.)

Linden Lab could “clone” its existing system. Massively multiplayer games already do this, setting up multiple parallel universes when the games get too large, and call it “sharding.”

Second Life could take that one step further and let folks hypergrid teleport between the different worlds. Linden Lab already tested hypergrid teleports between the Second Life grid and OpenSim, so there’s no reason why they can’t teleport between two different Second Life grids, as well.

Since the hypergrid system currently supports permissions, instant messaging, friends, and landmarks, Second Life could build a system of multiple worlds loosely linked to one another. Each separate grid handles its own logins, user inventories, and world map. If a user from a different grid teleports in, all inventory requests, messages, and other functions are simply forwarded to the grid of origin.

In the OpenSim universe hypergrid is usually thought of as an all-or-nothing kind of thing — either you allow anyone to teleport in and out, or you close down the grid and allow only residents to log in. But, in fact, hypergrid connectivity can be controlled — for example, two closed commercial grids could set up hypergrid links between one another, but not allow access to other, less secure grids.

Second Life could use the same mechanism to connect its grids together, allowing for infinite growth potential without a corresponding scalability problem on each individual asset server.

Use OpenSim

Yes, OpenSim isn’t yet fully compatible with Second Life. But its main areas of incompatibility — the social functionality provided by the Second Life website, and voice — Linden Lab can plug in. It also has a license for its physics engine, so it could extend that license to its OpenSim regions.

Linden Lab could offer standalone OpenSim grids — with an option of hypergrid connectivity back to the mainland — for estate owners, corporations, schools, communities, role playing groups, and other organizations.

Or it could simply use OpenSim to create low-rent residential worlds. Residential regions aren’t likely to need high-end physics — plus, it’s lower rent, so who’s going to complain? (Well, much, anyway.)

The latest versions of OpenSim are super stable (many users are reporting greater stability than Second Life when they run it on sufficient hardware), can hold over 1,000 avatars on a single region, hundreds of thousands of prims, and support mesh, media-on-a-prim, and all other recent bells and whistles. The latest version of OpenSim also supports bullet physics, which is supposed to be really good.

Second Life doesn’t cost $300 a region because of its servers or its software — it costs $300 a region because of access to its community. As a result, it could offer OpenSim regions at very little cost to Linden Lab itself, while charging customers a premium for access to the Second Life universe.