Difference between revisions of "Talk:Brainstorming"
m (Section completed, removing my "work in progress" notice) |
|||
(82 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
= Brainstorming (metadiscussion) = | |||
I find this entire wiki construct for this deeply radical change to Second Life to be very troublesome, because it doesn't allow for normal, forums-type discussion about a huge variety of issues that will profoundly alter SL as we know it. So I urge you to cease this driving of ordinary people to a wiki construct that really can't serve their needs, and open up the forums with "general" "politics/governance" and "land/economy" as it used to be available. I see that as the only fair way to accommodate the many concerns, problems, and fears generated by open-sourcing a platform that has absorbed with little recognition hundreds of thousands of people's dollars and hours. | I find this entire wiki construct for this deeply radical change to Second Life to be very troublesome, because it doesn't allow for normal, forums-type discussion about a huge variety of issues that will profoundly alter SL as we know it. So I urge you to cease this driving of ordinary people to a wiki construct that really can't serve their needs, and open up the forums with "general" "politics/governance" and "land/economy" as it used to be available. I see that as the only fair way to accommodate the many concerns, problems, and fears generated by open-sourcing a platform that has absorbed with little recognition hundreds of thousands of people's dollars and hours. | ||
Line 21: | Line 21: | ||
It's anything but a simple programming issue! A decision to close the LindEx has profound implications affecting small business and individual purchases. | It's anything but a simple programming issue! A decision to close the LindEx has profound implications affecting small business and individual purchases. | ||
:: Over history, changes in physical technology have always affected adversely those whose fortunes were tied to earlier technological constraints. That is in the nature of technological change. Virtual world technology will change even more rapidly as it is not subject to many physical constraints. Virtual world businesses need to adapt to this dynamic landscape. Agile businesses will probably survive and thrive, but others may not. --[[User:Morgaine Dinova|Morgaine Dinova]] 02:03, 24 September 2007 (PDT) | :: Over history, changes in physical technology have always affected adversely those whose fortunes were tied to earlier technological constraints. That is in the nature of technological change. Virtual world technology will change even more rapidly as it is not subject to many physical constraints. Virtual world businesses need to adapt to this dynamic landscape. Agile businesses will probably survive and thrive, but others may not. --[[User:Morgaine Dinova|Morgaine Dinova]] 02:03, 24 September 2007 (PDT) | ||
:::And the directions that technologies take are not random forces of nature: they are the product of a culture, and meets the requirements of a culture. Any technological project has a base set of requirements, and these must be set in advance - whether it's the requirement of an email client to support POP, IMAP and (maybe) Exchange or, in this case, the requirement for a virtual world to have a working micropayments system. To put it bluntly, if there's no micropayments system supported, the grid is a glorified geek chat room which will lose its appeal to many, many current and future residents. We are not talking about "adapt or die" here: we are talking about a core part of the grid project which, it seems, too many people are willing to dismiss on ideological grounds. --[[User:Ian Betteridge|Ian Betteridge]] 08:27, 2 November 2007 (PDT) | |||
Sorry Morgaine, but *you don't get to decide* what Social Darwinism *other people* are to undergo by your decisions made in a vacuum, without their input, when they are affected. Technological change doesn't *have* to force adaptation in harsh forms *unless PEOPLE decide that*. Technology is not some inhuman force with a life of its own uncontrollable by human agents; people can DECIDE these things and they sure *can* decide them democratically. There is nothing inherently technologically superior to having micropayment currencies like the LindEx versus Dollarizing or PayPalizing. These are legitimate models that don't *have* to be construed in terms of "this one is progressive and technologically superior and that one is backward*. This is very, very much a matter of merely your own political opinion. This isn't a question of "fortunes tied to a technological constraint" -- because frankly, even if host-your-own means more people can roll out more land, they still have the inherent cost of servers that they must pass on, and the Lindens still have the advantage of an economy of scale and early adaptation in the market. So your notions that there's some inherent "progressiveness" about a harsh change like removal of the auction and the LindEx are not supported by any rational and logical argumentation, but merely an ideological one. Virtual businesses don't *have* to follow the diktat of extremists on wikis. They are virtual; they are social media; they are accessible; they cry out for democracy. The idea that something that survives the destruction of value created through the auction and the LindEx is "agile" is preposterous. Maybe it is merely criminal. Maybe it is merely devoid of any moral compass. | |||
Prokofy Neva | Prokofy Neva | ||
:I've never considered the discussions and proposals on future grid design to be anything but a tentative in efficient competition against today's grid, so the calls of social darwinism fall flat on their head, to me. Besides, people can already make their own choices about such technology, and they do choose all the time. I do not know what you mean by "democratically" here ; mainly because this is a very loaded word, one which has a precise meaning for me (entailing three fundamental principles applicable to governance), quite different from the usual meaning of suffrage decision-making it may have for most western-world resident (which I do not consider to be democratic at all, but a form of 'extremist diktat' in itself). So discussion on this particular topic is impossible at the moment. And at the moment such discussion is unneeded: the grid belongs to LL, some of the code is open source so access to it is public, some of it isn't and access to it is LL's property, LindeX belongs to LL, too, virtual businesses belong to their respective owners, etc. In simpler words: the political apect, if there is any, will be divided between everyone legitimately, anyway. | |||
:The proposals made here are reviewed, and anything that is mere ideology is to be disregarded already, on the grounds that it is not relevant to any topic of AWG. I would rather not discuss "crime" and "morality" here, I've already done so to satiety in various other, much better suited, places. ''However I agree that ethical arguments have their place here.'' | |||
:As for the argument that LL is capable of better economy of scale regarding the deployment of servers: this is not true. LL is but a rather small player in a huge market of server hosting, they're actually a medium-sized customer turned retailer in this market, far from being a big supplier, so allowing residents to buy directly from the very same suppliers they already buy from can give them access to better economies of scale. Additionnally, some residents are 'much bigger' than LL itself and can manage a better economy of scale by themselves internally, too. All this is supported by evidence from the web hosting market: there is little concentration in this domain simply because the potential economies of scale involved are limited and quickly attained by most existing structures. These are utilitarian arguments rather than ethical, BTW. | |||
:"There is nothing inherently technologically superior to having micropayment currencies." Actually, I think there is: the infrastructures of payment through central bank-issued currencies are not technologically adapted to the Grid, as they are not readily interoperable with it, and not ever going to be in a supergrid anyway. Proof of this is in the fact that there is little micropayement capability in the Web, which uses protocols that don't integrate any micropayment concept (several proposals aiming at such integration - e.g. using processing power as microcurrency, or using character recognition tasks as microcurrency through captchas - have been made but have had little impact to this date). Also, I think your claim that a microcurrency within SL is more legitimate can be substantiated, for example using any of the many ethical arguments from Austrian economics against central banks. --[[User:Jesrad Seraph|Jesrad Seraph]] 00:08, 3 November 2007 (PDT) | |||
---- | ---- | ||
Line 29: | Line 38: | ||
* I've split off the above into a "'''Brainstorming (metadiscussion)'''" topic, although it's debateable whether it fits here under [[Brainstorming]] at all. In any event, brainstorming isn't compulsory, if you don't want to help us, then don't. :-) --[[User:Morgaine Dinova|Morgaine Dinova]] 09:07, 23 September 2007 (PDT) | * I've split off the above into a "'''Brainstorming (metadiscussion)'''" topic, although it's debateable whether it fits here under [[Brainstorming]] at all. In any event, brainstorming isn't compulsory, if you don't want to help us, then don't. :-) --[[User:Morgaine Dinova|Morgaine Dinova]] 09:07, 23 September 2007 (PDT) | ||
== Brainstorming (technical) == | All that's happening here is that Morgaine Dinova is using a classic wiki maneuver to take a relevant discussion he happens to dislike away from the eye and bury it under something that seems irrelevant -- or call it "off topic". | ||
The issue of WHO AUTHORED the wiki articles stands first and foremost as a very relevant issue here. Whose ideas are these? Whose AGENDA is this? Anonymous wikis are the bane of the Internet. Then having the core group of cadres who police them like Morgaine come and move them around and justify this anonymity is wrong. Stand up, take ownership of these ideas or don't have credibility, Linden Lab. | |||
* Prok, writing on a wiki isn't anonymous: the edit history is a matter of public record. --[[User:Ian Betteridge|Ian Betteridge]] 09:07, 2 November 2007 (PDT) | |||
And sorry, the answer to the problem of anonymity in a wiki, criticism of the articles, criticism of the very format of a wiki with anonymous articles (most likely by Lindens) and a core of interest parties who push the copy around and away from view is not to say "either help us here or get out". Who is "we"? What is "help"? | |||
These issues of currency, assets, economy, transactions, trust -- they are the heart of Second Life. removing them under the guise of "open architecture" is a conscious and deliberate destruction of the user-made economy and its labour and value. Sorry, but those of us involved in that user-made economy and working and valuating here are definitely going to have a say any move to destroy it or so modify it that it is not longer recognizable. Prokofy Neva | |||
: Here's where I agree with part of the point that Prokofy is making, although as usual I completely disagree with the way he phrases it. The decision of what features are requirements for an open grid is not simply a technical issue, and it's one which needs the widest-possible range of discussion among the many and varied Second Life communities - not all of whom are comfortable with Wiki's as a medium. For example, the core list of requirements for content creators will not be the same as the core list of requirements of land owner/managers, which will differ again from those with an interest in typing metaversal objects into web and other online assets. | |||
: I would suggest that what's needed is a community outreach programme, with the aims of explaining the current thinking about what's required from the technical architecture in as many forums as possible. Then, we can listen and learn what the community is actually saying about what they want/need. There will, undoubtedly, be some great ideas - as well as some things which are technically impossible. But the point is that this is a process which needs to be done if the possibilities of an open grid are to be realised fully. --[[User:Ian Betteridge|Ian Betteridge]] 09:07, 2 November 2007 (PDT) | |||
= Brainstorming (technical) = | |||
* Restructured comments under the same headings as main namespace. --[[User:Morgaine Dinova|Morgaine Dinova]] 22:22, 27 September 2007 (PDT) | |||
== Usage examples and requirements == | |||
=== General architecture === | |||
* The [[http://wiki.secondlife.com/w/index.php?title=Brainstorming&diff=33872&oldid=33845 comments]] added to this section today by [[User:Lusus_Saule]] concerning SL democracy are physically misplaced. The '''General architecture''' referred to in the title is a ''computing'' architecture, not a social one. I'm not sure exactly where those comments should be relocated, but they definitely don't fall under the remit of the AWG. --[[User:Morgaine Dinova|Morgaine Dinova]] 05:57, 1 October 2007 (PDT) | |||
* Agreed, I believe they fit in the category of social studies. Someone interested in such should consider setting up the premises for a constructive analysis within this particular field. - [[User:Ichi Jaehun|Ichi Jaehun]] 10:23, 2 November 2007 (PDT) | |||
** Yes and no. Consider a request for more democracy as a request for more tools to enable democratic governance within a "grid of grids", and it's more than mere sociology. I'm not sure, though, where this kind of discussion really belongs - in a sense, it's goal-setting for the project, but in another sense, it's meta-discussion of the project. --[[User:Ian Betteridge|Ian Betteridge]] 10:29, 2 November 2007 (PDT) | |||
[[Image:DataProcSim.png|thumb|Dataprocessing]] | |||
*** A simple graph to the right, that illustrates one way of viewing dataprocessing. Social studies and similar fall within the top half of the graph, while computer science is found in the lower half. - [[User:Ichi Jaehun|Ichi Jaehun]] 14:46, 2 November 2007 (PDT) | |||
No, Morgaine. Just because you have the knowledge and time to figure out the technical means of moving things around and forking them or burying them on a wiki doesn't mean you get to control the discussion here. | |||
This is social media. This is an interactive world with people in it, living, working, buying selling. Any change to the computing architecture *of course* has social and political ramifications and cannot be sequestered off, and claimed as "not technical" and "not under this perview" just because various tekkies with very decided agendas want to skew the architecture toward their own political view -- which is all that happens when you claim "no politics" -- that merely defaults to the politics of the coders, which have proven time and again in Second Life not to be in the public interest, and the interest of all stakeholders, frankly. | |||
If Open Architecture is open, the remit of the AWG can't be controlled merely by LL or its coterie of fanboys. There must be a place for the social and political discussion -- the change in the platform and features and capacities will have a dramatic impact on *people* -- indeed, the economy as we know it may even be utterly destroyed, and you don't get to destroy that, Morgaine, just by manipulating a wiki and claiming some topics as 'off-topic". Prokofy Neva | |||
== Usage examples and requirements == | |||
=== Viewer === | |||
'''Functional refactoring of viewer''' | |||
* Small section added on refactoring of client into front-end + graphics. I'd appreciate comments and counter-suggestions. --[[User:Morgaine Dinova|Morgaine Dinova]] 09:07, 23 September 2007 (PDT) | |||
* Tillie, that was an interesting Use Case you added to the viewer refactoring section, ie. "blog editor" type functionality: | |||
:* It's quite distinct from the earlier Use Cases, in that it isn't attached to a '''presence''' but to an object, namely the object being edited. It may be a stretch to call it a viewer because of that, since all other viewers are attached to a presence, even audio-only or script-only "viewers". However, I think you may be on to a good idea there, one related to XML-RPC and other attempts to establish communication between RL agents and SL objects directly. | |||
:* Perhaps the concept of '''presence''' needs to have a number of stages of progressive refinement: first overall presence in a world or grid, then overall presence in a specific zone or region, then in a parcel within the zone, and at the most detailed level, exact location within the zone. Your object editor would then need to establish a presence only at the grid level in order to edit an object there. Likewise, an audio viewer for live concerts would need to establish only a parcel presence, whereas a normal avatar login would require a fully defined presence. --[[User:Morgaine Dinova|Morgaine Dinova]] 08:28, 24 September 2007 (PDT) | |||
* Note that the event/protocol API exposed by the front-end half of the refactored client should be a language-agnostic API, so that we can create language bindings for it appropriate for different types of platform, including LCCs. In practical terms, this means that it should not be a hierarchical OO API, as this creates substantial problems when embedding languages. --[[User:Morgaine Dinova|Morgaine Dinova]] 01:11, 28 September 2007 (PDT) | |||
=== Commerce === | |||
* If Second Life is going to live up to its name it should incorporate as many real world activities as possible, and one important area is business. Rather than companies use of Second Life being pretty much restricted to meetings, perhaps this could be expanded to include as many aspects of real world commerce as possible. | |||
* Could Second Life eventually incorporate real world stores on the grid where residents could buy items to be delivered to their homes? Or perhaps service industries could be allowed to function on the grid, so for example real world banking transactions etc could take place. It is not a big leap from this to see how online businesses could be developed within Second Life following the models of for example, Amazon and Ebay. - [This has been done by a few already, and is up to developers to take advantage or create the functional connections. Some improvement to external SL communications could help promote this more though.] | |||
* | * Could it be possible to also develop areas such as real world education/training within Second Life with recognized qualifications? I believe a university (or a number of places of learning) within Second Life where recognized qualifications could be gained would attract and help a lot of people. - [I believe the functionality exists for this. Are there specific technical items that are inhibited and need to bee changed to attract a University to start an online learning program in SL? ] --[[User:Lusus_Saule|Lusus Saule]] (''attribution got lost in reshuffle, corrected by hand -- Morg'') | ||
* Note that the brainstorm is for the future, massively scaled and distributed virtual world of which LL's grid will be only one part, and not for the current SL. Some comments seemed to apply to the current SL only. | |||
* From a technical perspective, I think the onus is on designers to ensure that the entities used in commerce are supported, ie. currencies, timestamped transaction records (''this'' was exchanged for ''that''), unforgeable documents for contracts, etc etc. Perhaps that deserves mention in the brainstorm. Given a good framework, commerce will come of its own accord, and in the envisaged multinational, distributed architecture, it will probably develop in ways which we never imagined. --[[User:Morgaine Dinova|Morgaine Dinova]] 00:33, 24 September 2007 (PDT) | |||
=== Identity === | |||
* Added '''Virtual Identity Verification''' section. The preceding items seemed to be very "now" and LL-oriented, rather than looking ahead to a worldwide and more distributed architecture. --[[User:Morgaine Dinova|Morgaine Dinova]] 00:02, 24 September 2007 (PDT) | |||
=== Privacy and control === | |||
* New section added to tie in with an [[Talk:Use_Cases#Some possible futuristic scenarios|earlier discussion with Tillie about privacy]]. --[[User:Morgaine Dinova|Morgaine Dinova]] 08:03, 2 October 2007 (PDT) | |||
=== Regions === | |||
==== Virtualization of regions ==== | |||
* New section [[Brainstorming#Virtualization of regions|Virtualization of regions]] added, to tie in with the server-side requirements for implementing massive scalability for events. | |||
* The same scheme delivers numerous other benefits, highlighted in that section, such as the ability of a large grid to deliver decent performance to its residents when they visit a small external attached grid, through caching. Without such functionality, new worlds cannot easily grow at the periphery, and large grids will tend to be insular. | |||
== Implementation thoughts == | |||
=== Viewer (--> Decentralized assets) === | |||
* Section heading '''Viewer''' under "'''Implementation thoughts'''" renamed as '''Decentralized assets''', because running a local sim, grid, or asset server is entirely independent of the viewer, even if the viewer manipulates those assets. --[[User:Morgaine Dinova|Morgaine Dinova]] 10:32, 23 September 2007 (PDT) | * Section heading '''Viewer''' under "'''Implementation thoughts'''" renamed as '''Decentralized assets''', because running a local sim, grid, or asset server is entirely independent of the viewer, even if the viewer manipulates those assets. --[[User:Morgaine Dinova|Morgaine Dinova]] 10:32, 23 September 2007 (PDT) | ||
=== Regions (dynamic) === | |||
* | * The [[http://wiki.secondlife.com/w/index.php?title=Brainstorming&diff=32154&oldid=32115 additions]] made by [[User:Cenji Neutra|Cenji Neutra]] on 20th Sept are quite strongly related to (or at least overlap with) the changes that I suggest are needed in server-side region handling in order to support the various kinds of [[Use_Cases#SecondlifeTube|SecondlifeTube]]-type use cases. I would like to start brainstorming some implementation details for these use cases, but ideally I should be cooperating with Cenji on this since he/she must have additional perspective on the issue. Calling Cenji .... :-) --[[User:Morgaine Dinova|Morgaine Dinova]] 10:04, 29 September 2007 (PDT) | ||
* | |||
* I've now added a new section [[Brainstorming#Virtualization of regions|Virtualization of regions]] and started brainstorming this area. Still need to talk to Cenji ... --[[User:Morgaine Dinova|Morgaine Dinova]] 03:43, 30 September 2007 (PDT) | |||
=== Problems with region subdivision as a scaling method === | |||
* New section added to contain my analysis of the proposed '''region subdivision''' method. --[[User:Morgaine Dinova|Morgaine Dinova]] | |||
== Capabilities == | |||
=== Limited Capability Clients === | |||
* This sounds extremely promising as a concept to me. I've added a [[Use_Cases#Limited Capability Clients]] heading, and would love to see a few examples in there. I might add some myself too. | |||
* I agree totally on the point about LSL not being appropriate for that kind of scripting, because the object and asset environment of LSL doesn't exist on the client. I'm quite agnostic about languages, but the smaller and more efficient a language the better for LCCs, so Lua stands out by a mile for this. --[[User:Morgaine Dinova|Morgaine Dinova]] 21:45, 27 September 2007 (PDT) | |||
:I was intending that when scripting LCCs that the script be run on the region and not the client. The client would be partially oblivious to what the region was doing for it. Some aspects of it should require permission or user decisions but most not. The LCC configuration might be easiest to express as a web page (having it as a webpage would reduce the amount of custom software the LCC would have to run to interact with the region). -- [[User:Strife Onizuka|Strife Onizuka]] 23:03, 27 September 2007 (PDT) | |||
:* Aha, I understand. OK, we have two different scripting requirements then: | |||
::# Agent-based server-side scripting (this implies that the LSL runs in an attachment or HUD), which performs automatically certain actions which would be either impossible, hard or at least tiresome to perform manually on LCCs. | |||
::# Client-based scripting which performs local processing on LCCs, eg. triggering the agent-based server-side scripts as described above. As well as issuing those event triggers, client-side scripting would create all local UI objects and use that event API for UI-related communications. | |||
:* This looks good to me. An LCC might not even have physical buttons (eg. the OpenMoko phone), so the combination of client and server scripting would make up for the powerful capabilities of desktop clients lacking on an LCC. --[[User:Morgaine Dinova|Morgaine Dinova]] 00:48, 28 September 2007 (PDT) | |||
:* I have several LCC-type use cases listed under '''Functional refactoring of viewer''', justifying the need to refactor the client code so that all these very different UIs (some not even graphical) can be accommodated. Now that you've introduced the LCC category, I'll try to rethink that section and refocus it in terms of LCCs where appropriate. --[[User:Morgaine Dinova|Morgaine Dinova]] 00:57, 28 September 2007 (PDT) | |||
::LCC is just half of the equation. By mixing and matching features things could get really interesting, SLTube is just one example. My next goal is to organize the Capabilities, which has largely already been done for the domain model and more so by the [[Use Cases]]. Once that is organized we can look at it's dependencies in the network protocols. But the larger task will be to design the Capability Negotiation system for client & region and client & client negotiations. CN and all the Capabilities need to all fit into a Capabilities Framework, the CF will provide the structures needed for extending SL's capabilities for the future. If CN can be done dynamically then some of the more interesting Use Cases will sort themselves out (you unplug your laptop and it drops the capabilities so you don't use all the battery power, you get on the train and it switches to a passive mode where it syncs the world when it can get a connection otherwise it runs locally). Some of what we discussed at ArchWG meeting went over my head but I think this is the right direction to travel in. CN & CF is what we should be standardizing. -- [[User:Strife Onizuka|Strife Onizuka]] 03:23, 28 September 2007 (PDT) | |||
::* Good, this sounds like a powerful approach. As long as the CN is done in a sane engineering manner as transitions in a state machine (I ''really'' don't want to see add hoc negociations, they are difficult to test with full coverage and often go wrong or leave something out), then state switching for capability changes becomes a very deterministic operation which can be triggered nicely in any number of ways, including from client-side scripts into a tidy API. --[[User:Morgaine Dinova|Morgaine Dinova]] 12:00, 28 September 2007 (PDT) | |||
== Extended Capability Clients == | |||
* I added [[Use_Cases#Extended_Capability_Clients]] section for the other extreme from the Limited Capability Case. [[User:Saijanai Kuhn|Saijanai]] 20:12, 6 October 2007 (PDT) | |||
= ANALYSIS: Region Subdivision as a scaling method = | |||
* New section added. I'm building this section up as wiki responsiveness allows ... which means very slowly. --[[User:Morgaine Dinova|Morgaine Dinova]] 02:32, 8 October 2007 (PDT) | |||
* My first-cut analysis is now done. All queries, comments and extensions of the analysis welcome, and especially suggestions for how the problems might be overcome. --[[User:Morgaine Dinova|Morgaine Dinova]] 07:17, 8 October 2007 (PDT) | |||
= ANALYSIS: Region Virtualization as a scaling method = | |||
* New section added. It's early days (and I'm still doing analysis of the previous proposal), but feel free to note down any problems you see early on. You can find some initial info in [[Brainstorming#Virtualization of regions]]. --[[User:Morgaine Dinova|Morgaine Dinova]] 03:32, 8 October 2007 (PDT) | |||
* I have removed this stub section as I didn't populate it. [[Brainstorming#Virtualization of regions]] captures the basic idea, but it will probably not advance further because other approaches presented here also promise a useful degree of scalability. --[[User:Morgaine Dinova|Morgaine Dinova]] 02:23, 14 October 2007 (PDT) | |||
= ANALYSIS: Per-resident subdivision of the Grid as a scaling method = | |||
* Jesrad, I think this is quite an excellent proposal, and also a very thorough analysis with good coverage. | |||
:: I can't see any serious problems in it after a few reads, except for one small one which you said yourself was optional, namely the issue of 'physics'. If you strike physics off from the duties of the avatar-based computing service (leaving it to the event region to handle as now), then the rest looks very viable. The reason why physics can't really be included (for now) is that this would give rise to the need for distributed physics (not merely distributed computing, which is much easier), and that's not a simple problem at all --- it's fact it's still somewhat of a research area. | |||
:: With regards to scalability, I see only one hard ceiling in your model at the present time, and that's up high enough not to matter too much, as it's roughly conformant to our scary numbers for ''scalability for events'' given in [[Project_Motivation]]. | |||
:: I'll be looking more deeply tomorrow after I get some sleep, but it's looking very good indeed so far. Good work! --[[User:Morgaine Dinova|Morgaine Dinova]] 02:12, 11 October 2007 (PDT) | |||
:*Thanks for the cheers :) The reason I'm including physics (even though it makes collision handling problematic) is that keeping physics territorially-run would require either additional and continuous data transmission between simulators because of physics-changing scripts (vehicles !) and the necessity to keep track, for the owner simulator, of the coordinates. There is no way around this: either objects are run in a given simulator, including their physics and scripts and all, either they are run by the land's simulator. There is too much interdependency to do otherwise, so my preferred suggestion is to keep as many things as possible together, and only exchange the bare minimum of data between servers of the Grid. I'm not even suggesting a decentralized physical simulation (I have done research work on this subject in 2004 but my software implementation and model have remained incomplete), just that each of the parties that meet in the same coordinate space behave nicely and pretend they be colliding as best they can figure, that would be very sufficient IMO. Think about it: right now in SL the only collisions that are really well handled are static/physic ; when two physical objects collide there are bugs and lag and overall trouble. It gets worse when a static object warps into a physical object (crashing and burning). If such colliding objects were handled by different servers I don't think it'd matter much if they miss the collision, only pretend to be colliding or if there is some delay or post-collision correction. I can already warp through walls by flying fast enough anyway (which I find useful :D). | |||
:*There is an hard ceiling in my proposal, which is that of the maximum number of simultaneous connections one can maintain. I fear this would multiply any connection-state data, reducing the total useful bandwidth left in crowded situations. If we can get stateless connections for SL content and interaction, that problem will be lifted (and presence lists can be trimmed by simple timeout and beatpulse). In the case of scalability of events, the local simulator is still limited to the number of people it can serve the presence list AND the content to, so it means someone who wishes to invite a lot of people in one place will still have to ramp up that place's capacity to support the higher number of parallel connections. But, eh, that's the same RL, we have to rent halls if we want to gather a hundred or more persons, after all. We could have a few higher-end servers for hosting bigger events, for one. | |||
:*The main idea of this proposal is to keep data streams seperated until they reach the client, in order that my other idea (SL events as data streams) can be much more easily implemented. When one simulator is trying to broadcast a single data stream to thousands of clients, and does not have to care about all these clients sending massive loads of data back to be included into that stream or exchanging data about their own interaction and presence, it's much easier to devise load-balancing, caching, etc. solutions for higher scalability. --[[User:Jesrad Seraph|Jesrad Seraph]] 03:59, 11 October 2007 (PDT) | |||
* OK more brainstorming: feasability of gradual introduction of such "per-resident sims" to SL | |||
* There is no way per-resident sims could coexist with per-region sims to this date, and the passage from one sort to the other would require that all content in each region be transferred, in its current state, to its owner's simulation as if it crossed a region boundary, which is quite a considerable amount of work and data hauling (it could be interesting to know the complexity of such a process). However there is one possible intermediate step before such a 'big switch': introducing alternate spaces run by a different sort of sim. | |||
* By alternate spaces I mean non-region places (ocean) and high-altitude (above 768 m ? Above 4096 m ? Higher still ?) in SL. Basically, when you run or fly your avatar off-world or too high, you'd cross region into such a space and your avatar gets handled by this different sort of simulator: an instance kind of sim that is created when your avatar or objects cross into the alternate space, and handles it entirely for as long as it roams the oceans or skies of SL on its own (it's all empty, but for the water and ground in the ocean space only), and is stopped when you and your object leave the alternate space. It could first be no-script and only accept avatars. Then could receive region-crossing objects (which would be returned to your inventory when the instance stops). Then add script running capacity. Then add the presence mechanism so that people can start meeting in the alternate space instead of experiencing it as their own personal alternate dimension. Then maybe add the collision info exchange mechanism, so they can also bump into each other when they meet. At this point, we'd have a robust enough codebase to start thinking about switching everything to the new model or at least envisage creating alternate Grids with them. What do you think ? --[[User:Jesrad Seraph|Jesrad Seraph]] 13:44, 11 October 2007 (PDT) | |||
* I've moved your proposal up a level to be on an equal footing with the previous '''ANALYSIS''' sections, and gave it the prefix. Changed the title here in Talk namespace too. --[[User:Morgaine Dinova|Morgaine Dinova]] | |||
= ANALYSIS: Scalability through reverse proxies: the paravirtual grid = | |||
* Please, add any comments here about this analysis. As you notice, I avoided most of the physics concerns (being discussed at various times) because I felt most of those are more implementational details rather than architectural. They are good concerns; however, my impression is we need to focus on decentralization and its deployment before we actually need to discuss physics. The analysis here, so far, shows steps to deploy the Agent Domain (re: [[Proposed Architecture]]). -- [[User:Dzonatas Sol|Dzonatas Sol]] 09:09, 13 October 2007 (PDT) | |||
Latest revision as of 04:24, 12 November 2007
Brainstorming (metadiscussion)
I find this entire wiki construct for this deeply radical change to Second Life to be very troublesome, because it doesn't allow for normal, forums-type discussion about a huge variety of issues that will profoundly alter SL as we know it. So I urge you to cease this driving of ordinary people to a wiki construct that really can't serve their needs, and open up the forums with "general" "politics/governance" and "land/economy" as it used to be available. I see that as the only fair way to accommodate the many concerns, problems, and fears generated by open-sourcing a platform that has absorbed with little recognition hundreds of thousands of people's dollars and hours.
- Conversation may flow differently on a wiki, but it does allow for proper conversation if used correctly. --Nik Woodget 04:01, 22 September 2007 (PDT)
- It's precisely to avoid "normal, forums-type discussions" that we have wikis. The general idea is to collaborate on creating a jointly agreed entity (a design in this case), as opposed to witnessing a linear string of vocal messages that leave previous useful contributions hidden in the mists of debating history. On a wiki, your contribution remains on the front page if it was good, no matter how many more-vocal people drowned you out on the chat page. --Morgaine Dinova 10:07, 23 September 2007 (PDT)
I would like to know who has authored the articles up to this point. I'd like to know their qualifications for so casually writing things like "Should we close the Lindex or not, given it's a limited license for use on a solely-LL owned grid." Sure, this is the decision of a proprietary company in a way. But the LindEx is also a community-owned resource, that has value precisely because people's labour and content production and land development have value. It's a public utility that you can't so casually program hither and youn.
- Quite possible one of the open source devs has written this page. And the question about the lindex is simply something there that we have to consider. Though like you, I would like them to find a way to keep the linden as SL's currency. --Nik Woodget 04:01, 22 September 2007 (PDT)
Zero Linden said that Linden always "engineers to migrate the world along with them." But that very perspective lets us know that we are merely a flock that somebody is supposed to "migrate" like dumb beasts, and not *participants in the social as well as technical engineering.*
- we are participants for this open architecture project, you've juse become a minimal participant writting this. Why not add you own things to the Brainstorming you belive needs to be considered in the designing of the open architecture.--Nik Woodget 04:01, 22 September 2007 (PDT)
I predicted that open sourcing would lead to closure of the Lindex for other reasons (dollarization of the economy) but what boggles the mind here is that despite these really huge issues that will have an enormous impact on people, community, value, land, content, it's being treated as a purely technical exercise -- it's being treated as merely an "architecture" program and not an economic one, and one engineers and not economists and land owners get to decide.
- like I said, then get yourself and others involved that will look at the economic and social sides and get them to add they're thoughts and concern to the pages dedicated for this in the wiki. The more who discuss, the more ideas we'll have to play, the more chance residents will get an open architecture that they would like. --Nik Woodget 04:01, 22 September 2007 (PDT)
It's anything but a simple programming issue! A decision to close the LindEx has profound implications affecting small business and individual purchases.
- Over history, changes in physical technology have always affected adversely those whose fortunes were tied to earlier technological constraints. That is in the nature of technological change. Virtual world technology will change even more rapidly as it is not subject to many physical constraints. Virtual world businesses need to adapt to this dynamic landscape. Agile businesses will probably survive and thrive, but others may not. --Morgaine Dinova 02:03, 24 September 2007 (PDT)
- And the directions that technologies take are not random forces of nature: they are the product of a culture, and meets the requirements of a culture. Any technological project has a base set of requirements, and these must be set in advance - whether it's the requirement of an email client to support POP, IMAP and (maybe) Exchange or, in this case, the requirement for a virtual world to have a working micropayments system. To put it bluntly, if there's no micropayments system supported, the grid is a glorified geek chat room which will lose its appeal to many, many current and future residents. We are not talking about "adapt or die" here: we are talking about a core part of the grid project which, it seems, too many people are willing to dismiss on ideological grounds. --Ian Betteridge 08:27, 2 November 2007 (PDT)
- Over history, changes in physical technology have always affected adversely those whose fortunes were tied to earlier technological constraints. That is in the nature of technological change. Virtual world technology will change even more rapidly as it is not subject to many physical constraints. Virtual world businesses need to adapt to this dynamic landscape. Agile businesses will probably survive and thrive, but others may not. --Morgaine Dinova 02:03, 24 September 2007 (PDT)
Sorry Morgaine, but *you don't get to decide* what Social Darwinism *other people* are to undergo by your decisions made in a vacuum, without their input, when they are affected. Technological change doesn't *have* to force adaptation in harsh forms *unless PEOPLE decide that*. Technology is not some inhuman force with a life of its own uncontrollable by human agents; people can DECIDE these things and they sure *can* decide them democratically. There is nothing inherently technologically superior to having micropayment currencies like the LindEx versus Dollarizing or PayPalizing. These are legitimate models that don't *have* to be construed in terms of "this one is progressive and technologically superior and that one is backward*. This is very, very much a matter of merely your own political opinion. This isn't a question of "fortunes tied to a technological constraint" -- because frankly, even if host-your-own means more people can roll out more land, they still have the inherent cost of servers that they must pass on, and the Lindens still have the advantage of an economy of scale and early adaptation in the market. So your notions that there's some inherent "progressiveness" about a harsh change like removal of the auction and the LindEx are not supported by any rational and logical argumentation, but merely an ideological one. Virtual businesses don't *have* to follow the diktat of extremists on wikis. They are virtual; they are social media; they are accessible; they cry out for democracy. The idea that something that survives the destruction of value created through the auction and the LindEx is "agile" is preposterous. Maybe it is merely criminal. Maybe it is merely devoid of any moral compass.
Prokofy Neva
- I've never considered the discussions and proposals on future grid design to be anything but a tentative in efficient competition against today's grid, so the calls of social darwinism fall flat on their head, to me. Besides, people can already make their own choices about such technology, and they do choose all the time. I do not know what you mean by "democratically" here ; mainly because this is a very loaded word, one which has a precise meaning for me (entailing three fundamental principles applicable to governance), quite different from the usual meaning of suffrage decision-making it may have for most western-world resident (which I do not consider to be democratic at all, but a form of 'extremist diktat' in itself). So discussion on this particular topic is impossible at the moment. And at the moment such discussion is unneeded: the grid belongs to LL, some of the code is open source so access to it is public, some of it isn't and access to it is LL's property, LindeX belongs to LL, too, virtual businesses belong to their respective owners, etc. In simpler words: the political apect, if there is any, will be divided between everyone legitimately, anyway.
- The proposals made here are reviewed, and anything that is mere ideology is to be disregarded already, on the grounds that it is not relevant to any topic of AWG. I would rather not discuss "crime" and "morality" here, I've already done so to satiety in various other, much better suited, places. However I agree that ethical arguments have their place here.
- As for the argument that LL is capable of better economy of scale regarding the deployment of servers: this is not true. LL is but a rather small player in a huge market of server hosting, they're actually a medium-sized customer turned retailer in this market, far from being a big supplier, so allowing residents to buy directly from the very same suppliers they already buy from can give them access to better economies of scale. Additionnally, some residents are 'much bigger' than LL itself and can manage a better economy of scale by themselves internally, too. All this is supported by evidence from the web hosting market: there is little concentration in this domain simply because the potential economies of scale involved are limited and quickly attained by most existing structures. These are utilitarian arguments rather than ethical, BTW.
- "There is nothing inherently technologically superior to having micropayment currencies." Actually, I think there is: the infrastructures of payment through central bank-issued currencies are not technologically adapted to the Grid, as they are not readily interoperable with it, and not ever going to be in a supergrid anyway. Proof of this is in the fact that there is little micropayement capability in the Web, which uses protocols that don't integrate any micropayment concept (several proposals aiming at such integration - e.g. using processing power as microcurrency, or using character recognition tasks as microcurrency through captchas - have been made but have had little impact to this date). Also, I think your claim that a microcurrency within SL is more legitimate can be substantiated, for example using any of the many ethical arguments from Austrian economics against central banks. --Jesrad Seraph 00:08, 3 November 2007 (PDT)
- I've split off the above into a "Brainstorming (metadiscussion)" topic, although it's debateable whether it fits here under Brainstorming at all. In any event, brainstorming isn't compulsory, if you don't want to help us, then don't. :-) --Morgaine Dinova 09:07, 23 September 2007 (PDT)
All that's happening here is that Morgaine Dinova is using a classic wiki maneuver to take a relevant discussion he happens to dislike away from the eye and bury it under something that seems irrelevant -- or call it "off topic".
The issue of WHO AUTHORED the wiki articles stands first and foremost as a very relevant issue here. Whose ideas are these? Whose AGENDA is this? Anonymous wikis are the bane of the Internet. Then having the core group of cadres who police them like Morgaine come and move them around and justify this anonymity is wrong. Stand up, take ownership of these ideas or don't have credibility, Linden Lab.
- Prok, writing on a wiki isn't anonymous: the edit history is a matter of public record. --Ian Betteridge 09:07, 2 November 2007 (PDT)
And sorry, the answer to the problem of anonymity in a wiki, criticism of the articles, criticism of the very format of a wiki with anonymous articles (most likely by Lindens) and a core of interest parties who push the copy around and away from view is not to say "either help us here or get out". Who is "we"? What is "help"?
These issues of currency, assets, economy, transactions, trust -- they are the heart of Second Life. removing them under the guise of "open architecture" is a conscious and deliberate destruction of the user-made economy and its labour and value. Sorry, but those of us involved in that user-made economy and working and valuating here are definitely going to have a say any move to destroy it or so modify it that it is not longer recognizable. Prokofy Neva
- Here's where I agree with part of the point that Prokofy is making, although as usual I completely disagree with the way he phrases it. The decision of what features are requirements for an open grid is not simply a technical issue, and it's one which needs the widest-possible range of discussion among the many and varied Second Life communities - not all of whom are comfortable with Wiki's as a medium. For example, the core list of requirements for content creators will not be the same as the core list of requirements of land owner/managers, which will differ again from those with an interest in typing metaversal objects into web and other online assets.
- I would suggest that what's needed is a community outreach programme, with the aims of explaining the current thinking about what's required from the technical architecture in as many forums as possible. Then, we can listen and learn what the community is actually saying about what they want/need. There will, undoubtedly, be some great ideas - as well as some things which are technically impossible. But the point is that this is a process which needs to be done if the possibilities of an open grid are to be realised fully. --Ian Betteridge 09:07, 2 November 2007 (PDT)
Brainstorming (technical)
- Restructured comments under the same headings as main namespace. --Morgaine Dinova 22:22, 27 September 2007 (PDT)
Usage examples and requirements
General architecture
- The [comments] added to this section today by User:Lusus_Saule concerning SL democracy are physically misplaced. The General architecture referred to in the title is a computing architecture, not a social one. I'm not sure exactly where those comments should be relocated, but they definitely don't fall under the remit of the AWG. --Morgaine Dinova 05:57, 1 October 2007 (PDT)
- Agreed, I believe they fit in the category of social studies. Someone interested in such should consider setting up the premises for a constructive analysis within this particular field. - Ichi Jaehun 10:23, 2 November 2007 (PDT)
- Yes and no. Consider a request for more democracy as a request for more tools to enable democratic governance within a "grid of grids", and it's more than mere sociology. I'm not sure, though, where this kind of discussion really belongs - in a sense, it's goal-setting for the project, but in another sense, it's meta-discussion of the project. --Ian Betteridge 10:29, 2 November 2007 (PDT)
- A simple graph to the right, that illustrates one way of viewing dataprocessing. Social studies and similar fall within the top half of the graph, while computer science is found in the lower half. - Ichi Jaehun 14:46, 2 November 2007 (PDT)
No, Morgaine. Just because you have the knowledge and time to figure out the technical means of moving things around and forking them or burying them on a wiki doesn't mean you get to control the discussion here.
This is social media. This is an interactive world with people in it, living, working, buying selling. Any change to the computing architecture *of course* has social and political ramifications and cannot be sequestered off, and claimed as "not technical" and "not under this perview" just because various tekkies with very decided agendas want to skew the architecture toward their own political view -- which is all that happens when you claim "no politics" -- that merely defaults to the politics of the coders, which have proven time and again in Second Life not to be in the public interest, and the interest of all stakeholders, frankly.
If Open Architecture is open, the remit of the AWG can't be controlled merely by LL or its coterie of fanboys. There must be a place for the social and political discussion -- the change in the platform and features and capacities will have a dramatic impact on *people* -- indeed, the economy as we know it may even be utterly destroyed, and you don't get to destroy that, Morgaine, just by manipulating a wiki and claiming some topics as 'off-topic". Prokofy Neva
Usage examples and requirements
Viewer
Functional refactoring of viewer
- Small section added on refactoring of client into front-end + graphics. I'd appreciate comments and counter-suggestions. --Morgaine Dinova 09:07, 23 September 2007 (PDT)
- Tillie, that was an interesting Use Case you added to the viewer refactoring section, ie. "blog editor" type functionality:
- It's quite distinct from the earlier Use Cases, in that it isn't attached to a presence but to an object, namely the object being edited. It may be a stretch to call it a viewer because of that, since all other viewers are attached to a presence, even audio-only or script-only "viewers". However, I think you may be on to a good idea there, one related to XML-RPC and other attempts to establish communication between RL agents and SL objects directly.
- Perhaps the concept of presence needs to have a number of stages of progressive refinement: first overall presence in a world or grid, then overall presence in a specific zone or region, then in a parcel within the zone, and at the most detailed level, exact location within the zone. Your object editor would then need to establish a presence only at the grid level in order to edit an object there. Likewise, an audio viewer for live concerts would need to establish only a parcel presence, whereas a normal avatar login would require a fully defined presence. --Morgaine Dinova 08:28, 24 September 2007 (PDT)
- Note that the event/protocol API exposed by the front-end half of the refactored client should be a language-agnostic API, so that we can create language bindings for it appropriate for different types of platform, including LCCs. In practical terms, this means that it should not be a hierarchical OO API, as this creates substantial problems when embedding languages. --Morgaine Dinova 01:11, 28 September 2007 (PDT)
Commerce
- If Second Life is going to live up to its name it should incorporate as many real world activities as possible, and one important area is business. Rather than companies use of Second Life being pretty much restricted to meetings, perhaps this could be expanded to include as many aspects of real world commerce as possible.
- Could Second Life eventually incorporate real world stores on the grid where residents could buy items to be delivered to their homes? Or perhaps service industries could be allowed to function on the grid, so for example real world banking transactions etc could take place. It is not a big leap from this to see how online businesses could be developed within Second Life following the models of for example, Amazon and Ebay. - [This has been done by a few already, and is up to developers to take advantage or create the functional connections. Some improvement to external SL communications could help promote this more though.]
- Could it be possible to also develop areas such as real world education/training within Second Life with recognized qualifications? I believe a university (or a number of places of learning) within Second Life where recognized qualifications could be gained would attract and help a lot of people. - [I believe the functionality exists for this. Are there specific technical items that are inhibited and need to bee changed to attract a University to start an online learning program in SL? ] --Lusus Saule (attribution got lost in reshuffle, corrected by hand -- Morg)
- Note that the brainstorm is for the future, massively scaled and distributed virtual world of which LL's grid will be only one part, and not for the current SL. Some comments seemed to apply to the current SL only.
- From a technical perspective, I think the onus is on designers to ensure that the entities used in commerce are supported, ie. currencies, timestamped transaction records (this was exchanged for that), unforgeable documents for contracts, etc etc. Perhaps that deserves mention in the brainstorm. Given a good framework, commerce will come of its own accord, and in the envisaged multinational, distributed architecture, it will probably develop in ways which we never imagined. --Morgaine Dinova 00:33, 24 September 2007 (PDT)
Identity
- Added Virtual Identity Verification section. The preceding items seemed to be very "now" and LL-oriented, rather than looking ahead to a worldwide and more distributed architecture. --Morgaine Dinova 00:02, 24 September 2007 (PDT)
Privacy and control
- New section added to tie in with an earlier discussion with Tillie about privacy. --Morgaine Dinova 08:03, 2 October 2007 (PDT)
Regions
Virtualization of regions
- New section Virtualization of regions added, to tie in with the server-side requirements for implementing massive scalability for events.
- The same scheme delivers numerous other benefits, highlighted in that section, such as the ability of a large grid to deliver decent performance to its residents when they visit a small external attached grid, through caching. Without such functionality, new worlds cannot easily grow at the periphery, and large grids will tend to be insular.
Implementation thoughts
Viewer (--> Decentralized assets)
- Section heading Viewer under "Implementation thoughts" renamed as Decentralized assets, because running a local sim, grid, or asset server is entirely independent of the viewer, even if the viewer manipulates those assets. --Morgaine Dinova 10:32, 23 September 2007 (PDT)
Regions (dynamic)
- The [additions] made by Cenji Neutra on 20th Sept are quite strongly related to (or at least overlap with) the changes that I suggest are needed in server-side region handling in order to support the various kinds of SecondlifeTube-type use cases. I would like to start brainstorming some implementation details for these use cases, but ideally I should be cooperating with Cenji on this since he/she must have additional perspective on the issue. Calling Cenji .... :-) --Morgaine Dinova 10:04, 29 September 2007 (PDT)
- I've now added a new section Virtualization of regions and started brainstorming this area. Still need to talk to Cenji ... --Morgaine Dinova 03:43, 30 September 2007 (PDT)
Problems with region subdivision as a scaling method
- New section added to contain my analysis of the proposed region subdivision method. --Morgaine Dinova
Capabilities
Limited Capability Clients
- This sounds extremely promising as a concept to me. I've added a Use_Cases#Limited Capability Clients heading, and would love to see a few examples in there. I might add some myself too.
- I agree totally on the point about LSL not being appropriate for that kind of scripting, because the object and asset environment of LSL doesn't exist on the client. I'm quite agnostic about languages, but the smaller and more efficient a language the better for LCCs, so Lua stands out by a mile for this. --Morgaine Dinova 21:45, 27 September 2007 (PDT)
- I was intending that when scripting LCCs that the script be run on the region and not the client. The client would be partially oblivious to what the region was doing for it. Some aspects of it should require permission or user decisions but most not. The LCC configuration might be easiest to express as a web page (having it as a webpage would reduce the amount of custom software the LCC would have to run to interact with the region). -- Strife Onizuka 23:03, 27 September 2007 (PDT)
- Aha, I understand. OK, we have two different scripting requirements then:
- Agent-based server-side scripting (this implies that the LSL runs in an attachment or HUD), which performs automatically certain actions which would be either impossible, hard or at least tiresome to perform manually on LCCs.
- Client-based scripting which performs local processing on LCCs, eg. triggering the agent-based server-side scripts as described above. As well as issuing those event triggers, client-side scripting would create all local UI objects and use that event API for UI-related communications.
- This looks good to me. An LCC might not even have physical buttons (eg. the OpenMoko phone), so the combination of client and server scripting would make up for the powerful capabilities of desktop clients lacking on an LCC. --Morgaine Dinova 00:48, 28 September 2007 (PDT)
- I have several LCC-type use cases listed under Functional refactoring of viewer, justifying the need to refactor the client code so that all these very different UIs (some not even graphical) can be accommodated. Now that you've introduced the LCC category, I'll try to rethink that section and refocus it in terms of LCCs where appropriate. --Morgaine Dinova 00:57, 28 September 2007 (PDT)
- LCC is just half of the equation. By mixing and matching features things could get really interesting, SLTube is just one example. My next goal is to organize the Capabilities, which has largely already been done for the domain model and more so by the Use Cases. Once that is organized we can look at it's dependencies in the network protocols. But the larger task will be to design the Capability Negotiation system for client & region and client & client negotiations. CN and all the Capabilities need to all fit into a Capabilities Framework, the CF will provide the structures needed for extending SL's capabilities for the future. If CN can be done dynamically then some of the more interesting Use Cases will sort themselves out (you unplug your laptop and it drops the capabilities so you don't use all the battery power, you get on the train and it switches to a passive mode where it syncs the world when it can get a connection otherwise it runs locally). Some of what we discussed at ArchWG meeting went over my head but I think this is the right direction to travel in. CN & CF is what we should be standardizing. -- Strife Onizuka 03:23, 28 September 2007 (PDT)
- Good, this sounds like a powerful approach. As long as the CN is done in a sane engineering manner as transitions in a state machine (I really don't want to see add hoc negociations, they are difficult to test with full coverage and often go wrong or leave something out), then state switching for capability changes becomes a very deterministic operation which can be triggered nicely in any number of ways, including from client-side scripts into a tidy API. --Morgaine Dinova 12:00, 28 September 2007 (PDT)
- LCC is just half of the equation. By mixing and matching features things could get really interesting, SLTube is just one example. My next goal is to organize the Capabilities, which has largely already been done for the domain model and more so by the Use Cases. Once that is organized we can look at it's dependencies in the network protocols. But the larger task will be to design the Capability Negotiation system for client & region and client & client negotiations. CN and all the Capabilities need to all fit into a Capabilities Framework, the CF will provide the structures needed for extending SL's capabilities for the future. If CN can be done dynamically then some of the more interesting Use Cases will sort themselves out (you unplug your laptop and it drops the capabilities so you don't use all the battery power, you get on the train and it switches to a passive mode where it syncs the world when it can get a connection otherwise it runs locally). Some of what we discussed at ArchWG meeting went over my head but I think this is the right direction to travel in. CN & CF is what we should be standardizing. -- Strife Onizuka 03:23, 28 September 2007 (PDT)
Extended Capability Clients
- I added Use_Cases#Extended_Capability_Clients section for the other extreme from the Limited Capability Case. Saijanai 20:12, 6 October 2007 (PDT)
ANALYSIS: Region Subdivision as a scaling method
- New section added. I'm building this section up as wiki responsiveness allows ... which means very slowly. --Morgaine Dinova 02:32, 8 October 2007 (PDT)
- My first-cut analysis is now done. All queries, comments and extensions of the analysis welcome, and especially suggestions for how the problems might be overcome. --Morgaine Dinova 07:17, 8 October 2007 (PDT)
ANALYSIS: Region Virtualization as a scaling method
- New section added. It's early days (and I'm still doing analysis of the previous proposal), but feel free to note down any problems you see early on. You can find some initial info in Brainstorming#Virtualization of regions. --Morgaine Dinova 03:32, 8 October 2007 (PDT)
- I have removed this stub section as I didn't populate it. Brainstorming#Virtualization of regions captures the basic idea, but it will probably not advance further because other approaches presented here also promise a useful degree of scalability. --Morgaine Dinova 02:23, 14 October 2007 (PDT)
ANALYSIS: Per-resident subdivision of the Grid as a scaling method
- Jesrad, I think this is quite an excellent proposal, and also a very thorough analysis with good coverage.
- I can't see any serious problems in it after a few reads, except for one small one which you said yourself was optional, namely the issue of 'physics'. If you strike physics off from the duties of the avatar-based computing service (leaving it to the event region to handle as now), then the rest looks very viable. The reason why physics can't really be included (for now) is that this would give rise to the need for distributed physics (not merely distributed computing, which is much easier), and that's not a simple problem at all --- it's fact it's still somewhat of a research area.
- With regards to scalability, I see only one hard ceiling in your model at the present time, and that's up high enough not to matter too much, as it's roughly conformant to our scary numbers for scalability for events given in Project_Motivation.
- I'll be looking more deeply tomorrow after I get some sleep, but it's looking very good indeed so far. Good work! --Morgaine Dinova 02:12, 11 October 2007 (PDT)
- Thanks for the cheers :) The reason I'm including physics (even though it makes collision handling problematic) is that keeping physics territorially-run would require either additional and continuous data transmission between simulators because of physics-changing scripts (vehicles !) and the necessity to keep track, for the owner simulator, of the coordinates. There is no way around this: either objects are run in a given simulator, including their physics and scripts and all, either they are run by the land's simulator. There is too much interdependency to do otherwise, so my preferred suggestion is to keep as many things as possible together, and only exchange the bare minimum of data between servers of the Grid. I'm not even suggesting a decentralized physical simulation (I have done research work on this subject in 2004 but my software implementation and model have remained incomplete), just that each of the parties that meet in the same coordinate space behave nicely and pretend they be colliding as best they can figure, that would be very sufficient IMO. Think about it: right now in SL the only collisions that are really well handled are static/physic ; when two physical objects collide there are bugs and lag and overall trouble. It gets worse when a static object warps into a physical object (crashing and burning). If such colliding objects were handled by different servers I don't think it'd matter much if they miss the collision, only pretend to be colliding or if there is some delay or post-collision correction. I can already warp through walls by flying fast enough anyway (which I find useful :D).
- There is an hard ceiling in my proposal, which is that of the maximum number of simultaneous connections one can maintain. I fear this would multiply any connection-state data, reducing the total useful bandwidth left in crowded situations. If we can get stateless connections for SL content and interaction, that problem will be lifted (and presence lists can be trimmed by simple timeout and beatpulse). In the case of scalability of events, the local simulator is still limited to the number of people it can serve the presence list AND the content to, so it means someone who wishes to invite a lot of people in one place will still have to ramp up that place's capacity to support the higher number of parallel connections. But, eh, that's the same RL, we have to rent halls if we want to gather a hundred or more persons, after all. We could have a few higher-end servers for hosting bigger events, for one.
- The main idea of this proposal is to keep data streams seperated until they reach the client, in order that my other idea (SL events as data streams) can be much more easily implemented. When one simulator is trying to broadcast a single data stream to thousands of clients, and does not have to care about all these clients sending massive loads of data back to be included into that stream or exchanging data about their own interaction and presence, it's much easier to devise load-balancing, caching, etc. solutions for higher scalability. --Jesrad Seraph 03:59, 11 October 2007 (PDT)
- OK more brainstorming: feasability of gradual introduction of such "per-resident sims" to SL
- There is no way per-resident sims could coexist with per-region sims to this date, and the passage from one sort to the other would require that all content in each region be transferred, in its current state, to its owner's simulation as if it crossed a region boundary, which is quite a considerable amount of work and data hauling (it could be interesting to know the complexity of such a process). However there is one possible intermediate step before such a 'big switch': introducing alternate spaces run by a different sort of sim.
- By alternate spaces I mean non-region places (ocean) and high-altitude (above 768 m ? Above 4096 m ? Higher still ?) in SL. Basically, when you run or fly your avatar off-world or too high, you'd cross region into such a space and your avatar gets handled by this different sort of simulator: an instance kind of sim that is created when your avatar or objects cross into the alternate space, and handles it entirely for as long as it roams the oceans or skies of SL on its own (it's all empty, but for the water and ground in the ocean space only), and is stopped when you and your object leave the alternate space. It could first be no-script and only accept avatars. Then could receive region-crossing objects (which would be returned to your inventory when the instance stops). Then add script running capacity. Then add the presence mechanism so that people can start meeting in the alternate space instead of experiencing it as their own personal alternate dimension. Then maybe add the collision info exchange mechanism, so they can also bump into each other when they meet. At this point, we'd have a robust enough codebase to start thinking about switching everything to the new model or at least envisage creating alternate Grids with them. What do you think ? --Jesrad Seraph 13:44, 11 October 2007 (PDT)
- I've moved your proposal up a level to be on an equal footing with the previous ANALYSIS sections, and gave it the prefix. Changed the title here in Talk namespace too. --Morgaine Dinova
ANALYSIS: Scalability through reverse proxies: the paravirtual grid
- Please, add any comments here about this analysis. As you notice, I avoided most of the physics concerns (being discussed at various times) because I felt most of those are more implementational details rather than architectural. They are good concerns; however, my impression is we need to focus on decentralization and its deployment before we actually need to discuss physics. The analysis here, so far, shows steps to deploy the Agent Domain (re: Proposed Architecture). -- Dzonatas Sol 09:09, 13 October 2007 (PDT)