There are now officially over 5 million residents in Second Life. So I wonder how long it takes until the next million hops on and which impact this is going to have on the platform.
Back in 2006 there’s been an interesting presentation about the underlying design principles of Second Life. It’s being hosted at the company website of MySQL.
The presentation goes about 45 pages. The most interesting page is for sure 25, because it gives a big overall picture about the underlying architecture of SL.
So, here without further fanfare, is this picture:
As you can see, there are quite many parts behind Second Life that we are normally not really aware of. The only part we can already build ourselfs is the viewer. This is now available as the real deal under the GPLv2 already.
But the rest – well… the most important part is the simulator. That’s the machine that’s computing the avatar movement and so on.
When it reboots it’s got to take it’s data from the central database. Once this is done, it should be more or less in an operational state. States and assets of the sim are being saved on an extra machine, the assets server. That’s just a big, clustered filesystem, so there’s not much intelligence on this machine at all. I guess it’s being used to save data in it which needs to become fast available, and of course there’s nothing faster then getting data of a filesystem instead of a database. A database adds for the same task many new layers the request must go through, so that’s quite a good way to speedup things for trivial tasks.
Well, the rest though is in databases, running under MySQL. The "Central" DB, the logging db and a database farm (for things like inventory and so on, I guess). But the simulator does not talk directly with those three databases normally; it talks to them through the dataserver. So, what’s the job of the dataserver? It is to cache requests and take load away from the databases and to deliver the content to the sim.
So, when we download textures, shapes and such, the sim first talks to the dataserver and if it is already cached, the server directly replies instead of asking the database.
The dataserver, though, is one of the bottlenecks of this architecture. Second Life uses at the moment a kind of homebrew protocol for the communication between the dataserver and the sim – this means also between the sim and the viewer. The result is, while it has done its job pretty well in earlier times, it does not scale really well, as it seems.
Scaling could be done, perhaps, but why take the effort in creating an own scaling solution, when you can change the protocol from homebrew-inhouse into a wellknown standard like HTTP, where good, proven and reliable scaling solutions exist already for a long time? So that’s the main reason why LL wants to get rid of this old, homemade protocol, and replace it with HTTP. The sim should be able to talk with the dataserver (in the presentation it’s replaced with a webserver) via HTTP, because it scales much better and more easily.
Ah, yes, and Wilkes gave us also one motto of LL in the presentation: databases are not special. So why optimize them, when you can scale more easily? Well, we’re going to see the impact of the new messaging system real soon since LL is putting a testgrid for it up right now. I hope it’s one step into the right direction to make SL a better experience for all of us.
Rosedale says that figures which are flowing around, saying that his company had less than 11 million US$ on sales last year, are reasonable. The first quarter ever his company made profit was 4Q 2006 accordings to Rosedale. That’s quite a long time, even for a startup like LL.
Rosedale thinks that one day SL could be bigger than Myspace.com, because of the bigger possibilites in his platform. He said that only about 10% of the accounts are in world on a regular base, that LL has about 130 employees at the moment – adding 20 each quarter at the moment – and he would like to see his company independent over the years. Rosedale is the meaning, that LL should not be sold, there is about 20 million US$ venture capital in the company at the moment, and even if Google or someone else would knock at their door and bid 1.65 billion US$ for a takeover it’s unlikely to happen.
Groan. There is now a new group on the block, calling themselfs the "Second Life Anarchists." Their goals are somewhat similar to the SLLA.
Their main message to us all is something like that:
While we laud LL for their foresight, and technical achievement in bringing SL to be, and find it hard to fault their stewardship of this world to date, we would argue that their management and interference in the goings on here are no longer appropriate nor required.
Neat, hu? But well, what do they really want? It boils down to this point, it seems:
LL has declared land to be in restricted supply. We at SLanarchy despise this and can’t help but think that whatever they were taking when they made this decision was indeed some bad, bad shit indeed. As discussed a few sentences earlier, we see no need for this artificial lack of ’supply‘. SLanarchy would like to propose that SLitizens are smart enough to create and manage their own worlds now, and call for LL to set free the tools required to embark on this unprecedented opportunity to enable every man, woman and child on the planet, to create their own parcel on this, the next digital frontier. Open the source code for the servers LL. Let us, the Slitizens, take on the burden of responsibility for our own future and the creation there of.
So I wonder when this group is demanding Microsoft to opensource Windows under the GPL with the same reasoning…
Or in other words: dream on! Lindenlabs is a company. They need to make money, even more they need to make profit. They’ve got venture capital pumped into them. So their investors want some kind of return of it. How does LL make big bucks at the moment? With land sales.
So while land prices are still up, expect them so trying selling much land, not giving their most valued treasure – the server part – away for free. At least not until they’ve got a new business model, that works equally good.
Opening up the client was a nice move, it made very gentle press on them; but: the client without an open server is not of much value. It’s basically just an empty shell, then. This is like you could get Firefox always for free, but a web server (like Apache) would be only available from one company and you would have to pay for it. That’s the situation with SL at the moment.
How it is going to develop we’re going to see – just remember, we are all here voluntarily, no one presses us into this world, so we all choose to be dependent on LL in this or other kind of ways. Not that I complain.
On my travels through my feedreader I’ve discovered an interesting blog: the MySQL Performance Blog. For sure interesting for all of us who are into databases and must work with them. Hey, even Second Life is in reality just a big, big database in MySQL, so it covers the most fundamental, underlying technic of Second Life at all.
For sure worth a read, if you’re into techie things.
There’s a nice beginner’s tutorial in Natalia’s Second Life Diary Blog about how to make clothes with The Gimp! It shows some of the underlying principles in a very convenient Howto manner and the Gimp is open source. So, if you ever wanted to give this a try, you should definitely check it out and give it a try!
Ok, more advanced topics like working with the alpha channel are not mentioned there, but that’s ok.