Friday, August 22, 2008

Concerning the future of the 'Grid' as a paradigm for VR

The Death of the Grid is Nigh!

Two of the most interesting OpenSim-related blog posts I have seen in recent weeks were penned by none other than Adam Frisby (his post is at http://www.adamfrisby.com/blog/2008/08/the-world-wide-3d-web/), and Justin Clarke-Casey (who's post is at http://justincc.wordpress.com/2008/08/15/could-there-be-a-future-without-big-grids/), pose the question, "does the grid continue to have relevance in the future of OpenSim, long-term?"

Whoa! Heresy! Blasephemy! Chaos! teh barbarians are at the gates!
Or are they?


The History and Nature of The Grid

First, lets reflect a bit by what we mean when we say ''Grid'' in the context of VR. VR has it's technical beginnings in the code of MMORPGs. If you don't know what an MMORPG is, you may wish to crawl back under your rock ;) SRSLY though, OpenSim inherits many of it's metaphors through a direct line of inheritance going all the way back to the text-only muds of yesteryear, and even more remotely to games like Infocom's ''Zork''.

For our purposes, a ''Grid'' is a means for grafting little slices of geographical metaphor together to present them as a contiguous aggregation of ''Land'', or ''RealEstate'', with all of the connotations and overtones that come along with that as baggage (or value, depending on one's perspective). That perspective largely stems from one's interests in implementing a virtual space.

This is a fairly traditional paradigm, and is largely taken for granted even in the literature which initially inspired the developement of current VR models; to such a degree that a potential debate begins to take form centered on the notion that grid vs. not-grid is an assertion in need of evaluation.

For myself and others, this is a question which is largely evocative of swift reaction, we having invested a great deal of time and energy in developing, supporting, and using grid applications of OpenSim and supporting software and practices. Upon reflection, however, I have arrived at the position that the question is largely moot. And I'll gladly tell you why in subsequent paragraphs, as we leave off the discussion of canonical grid architecture and examine that of OpenSim.


OpenSim Architecture

OpenSim is designed to address not just one but a potentially infinite set of use cases. Great care has been taken both in the forward-looking design and the backward-glancing refactorings to implement feature sets as modules. To say that OpenSim is very configurable is a gross understatement. OpenSim is literally three different complete software systems; the simplest of which is the 'Standalone' codebase - it is really the other two combined, but 'lite'. The remaining two software systems are the 'Grid Services', and the 'Region Server'.

As an aside, our first clue to trouble appears here, that is, even if there is no duplication in code, there is certainly duplication of purpose - the two variations (grid and standalone) are distinct in the interest of addressing concerns of scale. While scale is definitely a matter of concern if one wishes to embrace a large body of users, it's pretty well acepted that two distinct but similar applications is not the ideal way to address this concern.

The reason grid mode scales better than standalone is that the grid provides a centralized backstore for assets, user authentication, and user-ownership of assets. Or so the story goes. The truth is, these services do not, of a necesity, need to be delivered from a single source; in fact, there is every reason to believe that spreading them around a bit will - you guessed it - scale better.

To elaborate a little further on standalone (hopefully without putting too fine a point on it), the standalone codebase implements a specific use-case: the 'Walled Garden'. This walled garden, as the name suggests, is a slice of geographical metaphor that is unaffiliated in any other explicitly virtual way with any other seperate but similar slice of geographical metaphor.


A Potential Pheonix in the Making

Note that the primary reason for the existence of these two distinct but similar applications is more profoundly technical than social. Some might beg to differ, but the ability to limit incidental visits by anonymous or other uninvited users is more by consequence than by design. This is evidenced in the relative ease with which standalone has been patched in early OGP/InterOp testing.


What may rise from the ashes, or, where I'm actually headed with all this



Essentially, what needs to happen (and therefore, what will most likely happen) is that the current state of affairs will slowly be displaced by one in which a much more thoroughly distributed model will be preferred. Think standalone mode on steroids: configurable to use local or remote backstores; to participate (or not) in some third party authentication and/or asset providers; to appear (or not to appear) on agglomerative geographical representations, with concommitant metaphorical participation in-situ (see into/from 'adjacent' regions, participate in object/script crossings, physics/water table/terrain cooperations, etc.)

This architecture pushes relevant responsibilities for authentication, hosting, and permissions/ownership back onto the region operator, where they really should be. Does this really eliminate the 'grid'? potentially, perhaps, in any oraganizational sense. Grid operators will likely become the first operators of the afore-mentioned service level organizations. Indeed, they already are ;)


The Nature of the (new) Beast

- This 'idealized' OpenSim will be simpler to support. There will only be one of them, as we will no longer make a distinction between gridmode and standalone.
- It will be more homogenous, as all instances will be potentially reachable from all others, even where no metaphorical geographical relationship exists
- It will be more socially satisfying as all spatial agglomeration will be voluntary, deliberate, and by design.

Long Live the Grid, all hail the Grid

To bring this all to a comfortable close, I think the death of the grid is a bit overstated. Sure, it'll pass (especially in it's current incarnation), but it will represent the progress of many sure steps forward, and produce a far more usefull operational paradigm; one in which politics will become less important in the developement of the software, promoting easier support, smoother developement and testing, and a better, more satisfying VR experience for Operator and User alike.

So for my part, I say bring it on!

Cheers,
James G. Stallings II
aka daTwitch/Hiro Protagonist/Lazarus Longstaff




1 comment:

Christopher Su said...

Hello! Just wanted to let you know that I read your blog whenever it updates (via RSS feed reader). Keep up the good work!

Christopher Su