Dreaming about a better life

9 11 2006

A better “Second Life” of course. As the result of reading Snow Crash and experiencing the attacks on the Second Life grid some weeks ago I was thinking in general how a better metaverse might look like, especially it’s architecture. It’s just some rough ideas and I haven’t researched yet already existing projects but I though I will simply describe what’s in my head.

My general idea is that such a system needs to be much more open. In Second Life it often feels sort of restricted in that for instance I cannot incorporate more data from the outside world or change parts of the system. HTML-on-a-prim would definitely help in the first area, but it’s not yet there (although according to Linden Lab on the way) and probably won’t be for the near future. So the best would be having an open source project where everybody can contribute. First versions of course would be very limited and maybe wouldn’t even contain editors for many tasks but instead one would need programming skills. Eventually then somebody might write an editor or even some companies step in and add such things in an effort to utilize this system for their own needs (as it’s happening with many open source projects these days).
Open Source, though, might come to Second Life in the one or another form, either by Linden Lab or maybe via libsecondlife by creating an alternative client (and further on maybe even a server).

Topology

Regarding the architecture I imagine a very open approach, too. It would be nice to be able to host your own sim similar to hosting your own web server. These could by dynamically attached to the grid. Of course this has issues such as where to connect it to the existing grid.
Each sim in Second Life is right now one physical server (well, not completely sure, I think it’s actually one CPU, so multiprocessor machines could eventually run more sims) and for being able to host your own sim it makes sense to set sim==server (or at least process on a server). Other thinkable architectures might be to have just a cluster of many servers and a big bunch of land which is distributed in a dynamic way among these. But that would involve some central service which I personally wouldn’t want as it’s closing in the system again.
In order to make it easy to have your own sim without renting some server and setting it up the client could come directly with a sim attached. This sim wouldn’t be capable of holding that many people though (because for instance uplinks of DSL connections are not having that much bandwidth available) but it would eventually be sufficient to meet with some friends or do your personal work in.
Other people might host their sims on dedicated servers and this would be where you could meet lots of people then.
Sims might also have different sizes and might be hosted on a cluster so they might be able to host more people or be bigger. As a result of different sized sims the topology wouldn’t really be grid-like anymore so one might think of entry-points to a sim. This might prevent the idea of continous land as it’s e.g. happening on the mainland in Second Life but OTOH big parts of land could eventually be created by using a cluster for that sim.
Being that dynamic in sim-adding and removing one big issue is of course the handling of the connection points etc.

Assets

Assets are objects, scripts, textures and so on an avatar can own and/or can be rezzed on land. These assets are stored centrally in Second Life eventually leading to some problems of it’s own (e.g. when an attack is going on). One is that the asset server in SL is a bottleneck and when it’s not performing well then the whole system gets slow for everybody wherever they are. These performance problems get obvious when grid attacks are happening resulting in slow searches, mapping and so on because the whole backend infrastructure gets too busy with e.g. self-replicating objects (as I understand it). One solution might be to have assets stored in a more distributed way. I could imagine having your inventory actually stored inside your own client and objects rezzed in a sim to be actually stored on the sim server. Textures could even be stored as simple URLs to web servers from which they are fetched when needed. This might still impose some traffic on a web server for a popular texture but it’s not serving all the textures in-world and these could of course also be cached easily.

Having a distributed and open approach calls for trouble of course in regard of copyrights and illegal copying but eventually it can be coped with that.

Friends

One advantage of having a central user database as in Second Life is to easily be able to see who’s online and where they are as only a central server needs to be queried (although it happenes in the past that it didn’t work that well for some reason). In my hypothetical virtual world I would imagine to have this data stored more distributed, too. Each client can tell other clients whether the avatar is online or not, busy or not or whatnot. This could be made in a P2P-fashion which seems to be quite modern these days🙂

Performance

Well, a complicated topic especially without having the actual system or haven’t thought about it more deeply. But looking at Snow Crash they had the possibility of just having ghosted avatars without collision detection. Thus you would not need to exactly know where people are standing in the sim. It might be an idea to dynamically scale the exactness of the simulation by looking at the traffic. Some avatars might then even be blurred to symbolize that their status is not exactly known. Not sure if that would work psychologically though.

I also mentioned clusters of sim servers above already. So ISP-hosted sims could eventually have more performance that way or even by eventually mirroring.

Commerce

Well, I haven’t really thought about how to deal with that but it seems obvious that the economy is a vital part of Second Life. OTOH I am sure a virtual world could also live without that. Even if you see real life businesses in Second Life their main goal right now is to create awareness or a marketing effort not really to earn money (as they are usually big companies anyway their SL revenue would be small compared to their real life revenues anyway and mostly you cannot really map your RL products to SL products).
But if you want commerce you’d need to think of a save way to transfer money from client A to B. But in general methods also used on the web for secure transactions might be used although there does not seem to be a good or established micropayment system yet. Anyway, this topic probably could fill whole blogs on it’s own so I will leave it that way for now.

Disconnected usage

When the client has it’s own sim attached and this sim stores it’s objects itself and the inventory is stored on the client then there’s no reason to prevent the user from using the client and the sim disconnected. Advanced users could also setup their own server in their local networks. Having disconnected clients would mean that you could build, program, sort your inventory and whatnot without being connected. When you reconnect your personal sim might simply become available again and you can give out copies of your inventory to people again. Here’s definitely an advantage in distributed storage of data.

Conclusion

Well, I am not sure whether all that makes sense or not and there are certain a million other ways to think about it. If you have comments or ideas of yourself feel free to add these in the comments section. I might do a wrapup post of these later on if there are enough.

Technorati Tags: , , , , , , ,


Actions

Information

9 responses

10 11 2006
Nobody Fugazi (aka Taran Rampersad)

Yup, HTML on a prim. Everyone wants that. I hadn’t heard of libsecondlife, so I need to check that out. Everything else you’re writing about sort of requires the Wizard to come prancing out from behind the curtain, but I’ll play.

Topology: As I understand it, there are up to 4 sims per processor. If you held a gun to my head, I would say I think it works on a LAMP server; 4 sims on a single server makes me think Apache. This also fits with pricing for islands, I guess – considering you are renting a server per month, the costs are on par – especially considering the support level.

If that assumption is true, then hosting your own sim on your own server is a matter of simply installing the code. The trick will be getting to how things interact – like, as you mention, Assets. But then I think of the role of DNS servers, and the way that Asset UUIDs could be tracked to their origin. The benefit of that is that there is only one version of an asset, and the problem with that is that every new version of an asset presents a new UUID. I believe it works in a similar fashion as well; the problem will be who controls the Asset Pointing servers. The ‘DNS’ will point to the origin of the asset, but it would have to be mirrored or all assets on a server would disappear if a server went down. Whoops. Imagine all the pants in the world disappearing at once for an exaggerated thought along those lines.

The Friends interface is kludgey. It’s nice to know when my friends are online or offline, but it would be lovely to have an ‘invisible mode’ too. And it would be really nice to be able to tune out group IM at times, some of these people just type more than they think.

The performance idea with ‘blurriness’ is intriguing, especially from a ‘presence’ aspect.

Commerce… would have to be controlled somewhere. I could see different currencies in different sims and conversions based on the Linden by Lindex or localized equivalents of Lindex. Let’s say you come to ‘TaranLand’ and the currency is ‘Mangoes’. When you visit my sim, if you want to purchase something you have to purchase in ‘mangoes’, and a mango value to a Linden would have to be computed… and that gets messy. BUT, it’s more secure than a cental server where everyone slams Lindex.

Disconnected usage is something I had been pondering as ‘offline usage’. Not sure about that.

Having some transparency into the architecture of SL would really help this discussion, but if the Wizard shows us the gadgets some people might not see Oz anymore. Hard to say.

10 11 2006
Nobody Fugazi (aka Taran Rampersad)

Additional thought:

It would be cool if one could build things client side on your desktop where you could have unlimited prims. Then when you log in, transfer the object to SL. This, I think, gave me a mental orgasm. I want this. I don’t want to have to worry about prim limits while building; building large and slimming down is the way I do most larger builds. Let me keep the textures I have full rights over on my hard drive too. Special textures can’t be downloaded, so this simply can’t be done with no mod/no copy textures… STILL…

Come to think of it – if they make me pay 10L to upload a texture, that’s fine – let me upload a build for 10L. I’d pay it. And 10L for a script too, I might consider it – haven’t thought it all through.

Oh yeah… flowing now… I want flexis that can anchor at more than one point. I want the ability to make muted residents invisible at will. I want a more robust physics engine. I want a plotting capability in scripting for display on the HTML prim.

hmmmmmmm….

10 11 2006
Kitten Lulu » Blog Archive » Dreaming about a better life « Tao’s Thoughts on Second Life

[…] Tao has some additional ideas to improve SL as well, some of his toughts overlap with mine. Dreaming about a better life « Tao’s Thoughts on Second Life « The next logical steps (part 2)… the “sim” is the ultimate SL bottleneck […]

10 11 2006
Tao Takashi

Just to make it a bit clearer: I am not necessarily writing about how LL should enhance Second Life. It’s more about general ideas of a hypothetical new system. Actually I’d rather like it more if it would be an open source project from the ground up.

Regarding assets I think one wouldn’t need a central server. This was actually one of the ideas to get rid of that. Of course this has issues with copying etc. but even with having open source this would be an issue. So here some thinking needs to be done.
My idea is more that somebody creates an asset on her server. If she gives it away by copy then it will create a new instance of that (with a new UUID). This can then be moved to another server and so on.

I am really thinking more along the lines of a very “blurry” network with disconnected parts etc. Things and people can then just pass from one to another when there is a connection.

As for currencies I’d rather go with either a general currency as IMHO converting is annoying (I am quite glad we have the Euro these days around here) or with an existing micropayment system so that you can e.g. pay in your local currency.

Of course if the server code is free one might add some own currency handling so that this is converted to e.g. “Mangoes”.

BTW, in general I wonder if LL will at any time consider to open up the server code as open source. I doubt that because what will their business model be then?

10 11 2006
Torley

Intriguing.

One of my key thoughtlines at the moment:

Think of the game Spore. Think of us in the offline world, how we coexist with animals, as well as, bacteria — lower lifeforms.

In much the same way, with Second Life, the more we see older forms of Internet communication get hooked in and related, the better off we’ll be. We can already use email, and there’s more web integration rising. These become like our “pets”, our familiar companions into an unknown destination.

Also consider how the great physicist Michio Kaku lectures about humans as a Type 0 civilization, heading towards a Type 1 one as we evolve. In much the same way with avatars and the fundamental servers and backbone that Second Life is powered by, we’re evolving towards greater things.

We can already “fly” (and I don’t just mean literally)… so what’s next?🙂

10 11 2006
taotakashi

Next is participation in the development as software wants to be free🙂

10 11 2006
Nobody Fugazi (aka Taran Rampersad)

Sorry Tao. I pulled an all nighter and was rambling.🙂

12 11 2006
taotakashi

np, Nobody🙂

23 11 2006
damian poirier

I’m sure that the ‘adjacent sim’ question will be addressed by choosing which sim you wish to be adjacent to yours(as you wouldn’t want that forced apon you (billboards and all😉 you’d need a standard to alert travelers about not being able to return the same way in those cases where the adjacent sim owner wants someone else to occupy ‘your’ spot (or even link to you at all) or maybe the client would keep a cache of recently visited sims for rendering the ‘sim in the distance’ effect of mainlands.

fugazi- Pleeeeze tell me you wouldn’t pay to UL scripts. copy paste done?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: