Re: [vwrap] [wvrap] Simulation consistency
Dzonatas Sol <dzonatas@gmail.com> Sun, 10 April 2011 01:24 UTC
Return-Path: <dzonatas@gmail.com>
X-Original-To: vwrap@core3.amsl.com
Delivered-To: vwrap@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E72073A6988 for <vwrap@core3.amsl.com>; Sat, 9 Apr 2011 18:24:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.78
X-Spam-Level:
X-Spam-Status: No, score=-2.78 tagged_above=-999 required=5 tests=[AWL=-0.381, BAYES_00=-2.599, J_CHICKENPOX_43=0.6, J_CHICKENPOX_51=0.6, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id J7ePU6L3i2yI for <vwrap@core3.amsl.com>; Sat, 9 Apr 2011 18:24:48 -0700 (PDT)
Received: from mail-pw0-f44.google.com (mail-pw0-f44.google.com [209.85.160.44]) by core3.amsl.com (Postfix) with ESMTP id 9155A3A6905 for <vwrap@ietf.org>; Sat, 9 Apr 2011 18:24:48 -0700 (PDT)
Received: by pwi5 with SMTP id 5so2078959pwi.31 for <vwrap@ietf.org>; Sat, 09 Apr 2011 18:26:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=XxVN3VhX8m8k87iivjIKLQZvL7Sgbvq3S8CW9AWxdf0=; b=cznbOMaDI0wtKGnMHnpam5KAucDf9ULwbmW/X8k37cjuFKz6mMuTgD2nnEkcQpaoSy 5zxD3IdPEgsvzU4hGUMyJJdrTuy5eqE3NyI2eb6x+277fLorY7TUy7ZsEwyyb4eeNSPu raCIlnSdAn7mMiKsRzPoCXtl22WN48Rbyk208=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=kCTyWMoQqLEkOGHBb4VJ/jw8UNVsisnK3fl9i384P9IGphPCsiQTjshElyL5qKOOa3 TMyhLVIufFcEHEFKoob7DOr73SO3Ol2jZ/yTyfPnCBe5w1PxcWtjdA3SFd9I15+EGrpW RPoG6HHyLmhwZrMe9/z/6WESxkeJMHNNJe/XI=
Received: by 10.142.222.1 with SMTP id u1mr3495709wfg.181.1302398794705; Sat, 09 Apr 2011 18:26:34 -0700 (PDT)
Received: from [192.168.0.50] (adsl-70-133-70-225.dsl.scrm01.sbcglobal.net [70.133.70.225]) by mx.google.com with ESMTPS id z10sm5953556wfj.0.2011.04.09.18.26.31 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 09 Apr 2011 18:26:33 -0700 (PDT)
Message-ID: <4DA10780.7020100@gmail.com>
Date: Sat, 09 Apr 2011 18:27:28 -0700
From: Dzonatas Sol <dzonatas@gmail.com>
User-Agent: Mozilla-Thunderbird 2.0.0.24 (X11/20100329)
MIME-Version: 1.0
To: "vwrap@ietf.org" <vwrap@ietf.org>
References: <BANLkTint6CiMRZWj59sEYM2j7VoKgz4-Bw@mail.gmail.com> <AANLkTimuVubm5Becx8cg_Uq2Gdj8EjHL7maMyqWOeYCJ@mail.gmail.com> <AANLkTi=0iBKxo0_yv2LWsExzrKUjJLqP5Ua2uHB=M_7d@mail.gmail.com> <AANLkTi=QH+c-19PvavnXU+pgWyaqpAA0F5G5SMd6h4JR@mail.gmail.com> <5365485D-FFAE-46CA-B04E-D413E85FB1D1@gmail.com> <4D97E7FE.7010104@gmail.com> <4D97EEC1.7020207@gmail.com> <BANLkTi=9CXCtb=ryFtMuyG2w9ifb-2urkA@mail.gmail.com> <4D98AC5F.70501@gmail.com> <BANLkTikci18U3S-fz6k4doVTdtUig7j=zw@mail.gmail.com> <BANLkTim8uUNmGU91mYmXQX6_Eqqp92--WQ@mail.gmail.com> <4D9F5B5F.2060401@gmail.com> <BANLkTi=Ts7yjgOoNYiJsYe=LEAuJOXPHLQ@mail.gmail.com> <4DA07A5D.9050402@gmail.com> <4DA08D99.6020402@gmail.com>
In-Reply-To: <4DA08D99.6020402@gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Subject: Re: [vwrap] [wvrap] Simulation consistency
X-BeenThere: vwrap@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Virtual World Region Agent Protocol - IETF working group <vwrap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/vwrap>, <mailto:vwrap-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/vwrap>
List-Post: <mailto:vwrap@ietf.org>
List-Help: <mailto:vwrap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/vwrap>, <mailto:vwrap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Apr 2011 01:24:52 -0000
Forwarded to vwrap-list: Dzonatas Sol wrote: > Just thought about this a little more... > > I think with your first VD1 that only thing that really needs to be > added is to add space between the local and external area to fit in > the resource name per arrow. That way the public resource name is > specified. Then instead of those request for cap transitions, these > would be implied by those resource names. Above each line of each > arrow, just add the appropriate public resource name there. We can > deal with private resources later, as those are already implied, too. > > This group never did create any dictionary of resource names. They > only exist in viewer source and in SNOW-375. > > I don't know if I can modify the PDF to make an example of above. > > Dzonatas Sol wrote: >> Perhaps, that would be best to reflect upon the past. >> >> There have been talks to split out the renderer from the viewer, yet >> the render depends on some of the network. To call that the local >> region is appropriate as you have. The renderer/network-loop does the >> bulk of the work now that others think the simulator does. That's >> where we get hung up on local sim or external sim, and components. >> >> Maybe easier not to worry about requests for caps for now and keep >> the way your going. We can come back later and describe how the >> connections/ReSTful patterns work later. Please just indicate it's >> the above ReSTful view of the flow (higher-level) and us >> implementators will comprehend. >> >> =) >> >> Vaughn Deluca wrote: >>> Dzonatas Sol >>> >Then again, split the viewer out for local agent services and maybe >>> it will appear trivial. >>> >>> Right, Maybe we should consider *only* the viewer as local, and >>> assume all other services are external, just to make the example clear. >>> Thanks for the other feedback, I will look at the snow-375 example. >>> --Vaughn >>> >>> On Fri, Apr 8, 2011 at 9:00 PM, Dzonatas Sol <dzonatas@gmail.com >>> <mailto:dzonatas@gmail.com>> wrote: >>> >>> I've read it, and off hand I would say the "flow" needs further >>> definition. Not that you did anything wrong, it just something >>> that happens more at the transfer layer from ReST and lower. All >>> the arrows you have that go from the Local to External let's >>> consider those "forward flow" and those that from from external to >>> local as "reverse flow." This becomes more obvious for reasons why >>> when firewalls and proxies are in the way and connections may need >>> to exist in opposite of the flow. Between unidirectional and >>> bidirectional flows is were this discussion digresses to vanilla >>> HTTP/caps and not fully ReSTful as desired. >>> >>> See also this doc on "forward/reverse" how Icesphere handles the >>> implementation of bidirectional resources: >>> >>> http://wiki.secondlife.com/wiki/User:Dzonatas_Sol/SNOW-375_Resources/Interface >>> >>> >>> I think you already see the higher-level request to begin >>> capability, end capability, and determine if it needs to request >>> capabilities. With bidirectional resources, there are less >>> requests for capabilities and mainly need for digests of >>> capabilities that begin and end. With unidirectional resources, >>> there are needs to request capabilities, that (currently on >>> servers) begin as private capabilities. Also with unidirectional >>> resources, there are keep-alives and long-poll requirements on the >>> resources, which isn't mandatory on bidirectional resources. >>> Bidirectional resources can use more ReSTful credentials, so there >>> would be no need to request capabilities (only need to know they >>> are capable by the digests). >>> >>> I imagine two big polygons around the Local and External areas on >>> the diagrams, yet to further image the arrows on actual flow might >>> not be so trivial as the desired flow noted. Then again, split the >>> viewer out for local agent services and maybe it will appear >>> trivial. >>> >>> Vaughn Deluca wrote: >>> >>> VWRAP services high level message flow (preliminary diagram >>> draft) see >>> >>> >>> http://trac.tools.ietf.org/wg/vwrap/trac/attachment/wiki/Diagrams/VWRAP_FlowExample_VD1.pdf >>> >>> >>> The main reason that i am submitting this in spite of my lack >>> of formal expertise is that the group in my view badly needs a >>> solid basis for discussion and preventing endless repeating >>> loops. This example is probably wrong in many ways, but its >>> better than what we have publicly available on interop now >>> (although Morgaine is working on something along the lines of >>> the recent discussions here) >>> I hope this diagram will give us a base for discussion. I >>> could have done my homework better by researching the old OGP >>> stuff in more depth, and i probably will do so in the future >>> , but for now I just tried to followed the general principles >>> as far as i understand them, to see what response that yields >>> from the group. In other words,I try to let the group educate >>> me :p >>> >>> Note that in my view all services are equal, in principle it >>> does not matter in what "domain" they run, since trust and >>> policy are fully localized. It is however very possible to >>> have internal shortcuts in the services to speed up processing. >>> In the example I opted for an external Agent service, but I >>> could as well have incorporated that in the set of local >>> services. As indicated above all services could also be run by >>> different organisations, true to what VWRAP stands for. Its >>> all up to the deployer, including a user at home who might >>> want to run a full world for family and friends. Those friends >>> might try to use that agent service to venture out in the >>> virtual universe. I envision that the final identity provider >>> is external, using OpenID and OAut or whatever other magic >>> that I do not yet fully understand exists out there. >>> >>> The example has 3 main purposes: >>> - Provide a reference for discussion - Illustrates the use >>> case of tourism, and *true* interop. >>> - Illustrate consistency problems along the lines discussed >>> here higher up in this tread, as well as the "slashdot" >>> problem that Morgaine outlined so clearly. >>> >>> The message flow assumes an avatar already present in some >>> region, (a small scale local home region in this case, but >>> that is by no means essential, it could be a build in region >>> in the viewer or a big commercial region). The user is >>> preparing for a trip to immersive world, and after some outfit >>> adjustments moves over. >>> Finally i apologize for for the simplistic notation used here. >>> I simply add the most relevant parameters passed in square >>> brackets to a keyword specifying the nature of the message. >>> Please improve on that where needed. >>> >>> So here we go, the avatar is prepare for a visit to >>> "immersive world" >>> 0) Viewer, here is an update of the state of the world your >>> agent is in, please render. >>> 1) Agent service, I will go in my Zodiac dress that i keep in >>> the "Amazing assets" service. >>> 2) Asset service A, please send a cap for Z, here are my >>> credentials >>> 3) Your fine, here is the cap >>> 4) Local region, can you please put this on my agent, i >>> included the cap. >>> 5) Hello asset service A, i need Z, here is the cap >>> 6) Cap is good, data coming up, have fun. >>> 7) Agent service, your agent is now wearing Z >>> 8) Viewer, your avatar is now wearing Z >>> User: Hmm, amazing inventory has not been *that* amazing >>> lately. 'll make a backup, just in case >>> 9) Hello asset service A, please send me a cap for Z, here >>> are my credentials >>> 10) Your fine, here is the cap >>> 11) Local asset storage, please store Z for me, here is the >>> cap to get it >>> 12) Hello asset service A, i want Z, here is the cap >>> 13) Cap is good, data coming up, have fun. >>> 14) Viewer, Z is now stored for you User: I am Ready!, >>> Lets try to get to immersive world! >>> 15) Hello immersive world, can i get in? Here are my >>> credentials, and a list of my stuff. >>> 16) Asset service A, please send me a cap for X, here are my >>> credentials (I want this cap for consistency) >>> 17) Your fine, here is the cap >>> 18) Asset service B, please send me a cap for Y, here are my >>> credentials (I want this cap for consistency) >>> 19) Very sorry, but your not one of us, you can't have Y >>> 20) Asset service B, please send me a cap for Z, here are my >>> credentials (I want a cap for consistency) >>> [Region service: Timeout... amazing inventory must be >>> overloaded.. oh well... ] >>> 21) Agent service, you wanted to send somebody over, here are >>> your permissions. >>> 22) Viewer, you asked for a transfer try, here are your results >>> User thinks: Crap! Big asset service does not allow me >>> to take my yellow stockings! And Amazing assets failed to >>> deliver my zodiac dress. At least i made a backup of that >>> dress! >>> 23) 'll take the yellow stockings off... >>> 24) ... done ('ll trash them here and now, forever, who needs >>> stuff you can't use!) >>> 25) The zodiac dress was not delivered by Big assets service, >>> but i have a local copy! >>> 26) Local Asset service, please send me Z, here are my >>> credentials >>> 27) I dont know you, but I 'll trust you, here is the cap, but >>> you better store the data, its single use, i need to protect >>> myself. >>> 28) Local region, can you please put this on my agent, i >>> include the cap. >>> 29) Local Asset service, i need Z, here is the cap >>> 30) Cap is good, data coming up, have fun. >>> 31) Cap was only good for one time, I made a copy, but my >>> policy is to only grant you fair use rights, at a later time i >>> might even tell you to replace the dress. >>> 32) Viewer, you can wear Z for now, but the asset service >>> granted only fair use, i might ask you to replace the dress at >>> a later time. >>> 33) Ready at last! Off to immersive world!, I hope its not to >>> crowded there or 'll loose my dress... >>> 34) Hello immersive world, here are my credentials, and a list >>> of stuff i want to bring >>> 35) Hello asset service A, please send me a cap for X, here >>> are my credentials [darn, I should have kept that cap from >>> last time..] >>> 36) Your fine, here is the cap. >>> [Region service finds fair-use warning on Z and decides to >>> make its own copy] >>> 37) Hello Local region, can i still have Z? Here is the cap >>> 38) Cap is still good, data coming up, have fun. >>> [Region service stores asset in private storage, providing a >>> cap to replace the fair use one] >>> 39) Agent service, you wanted to send somebody over, here are >>> your permissions & info. >>> 40) Hello immersive world, just get me there, and use what >>> you can >>> 41) Placement done, Z is currently buffered by us as wel, you >>> need to get details for X, have fun. >>> 42) You are now in immersive world, your dress is buffered >>> there as well, but you need to get X! >>> 43) Hello asset service A, i want X, here is the cap >>> 44) Cap is good, data coming up, have fun. >>> 45) Viewer, here is an update of the state of the world your >>> agent is in, please render. >>> >>> As far as I can see this conforms fully to our charter, and i >>> hope it is possible to use large portions of the existing code >>> bases. However, as said above, i did not really try to capture >>> the old thinking, and I also might have misconceptions about >>> the way to do these things in general. >>> Looking forward to constructive comments. >>> >>> -- Vaughn >>> >>> On Sun, Apr 3, 2011 at 8:38 PM, Vaughn Deluca >>> <vaughn.deluca@gmail.com <mailto:vaughn.deluca@gmail.com> >>> <mailto:vaughn.deluca@gmail.com >>> <mailto:vaughn.deluca@gmail.com>>> wrote: >>> >>> Thanks for the pointers. I have a busy week in RL in >>> front of >>> me, so i wont have to much time to respond the next few >>> days, >>> however, i intend to start doing the following things: >>> >>> - Produce a visual that reflects my thinking, i.e. an >>> illustration >>> of my response to Morgaine's itemlist above. >>> - Read up on the older notes, as well as more reading in >>> the list >>> archive >>> - Try to make a summary for the wiki >>> >>> Regarding the use of domain, I think services are >>> eventually what >>> counts, but its all terminology. The way I read the AWG >>> diagrams >>> is that the agent domain is actually a cluster of tightly >>> integrated services. When the functionality of each >>> sub-service is >>> described properly and with uniform interfaces the domain >>> will >>> slowly dissolve. But let not get ahead of out selfs. We >>> should put >>> up some clear descriptions on the wiki for our views on >>> this, and >>> *after* that we can decide what we need and what can go. >>> >>> Its been a very useful and illuminating weekend for me, and >>> i am a >>> lot more optimistic about the future of vwrap than two >>> weeks ago. >>> >>> -- Vaughn >>> >>> >>> >>> On Sun, Apr 3, 2011 at 7:20 PM, Dzonatas Sol >>> <dzonatas@gmail.com <mailto:dzonatas@gmail.com> >>> <mailto:dzonatas@gmail.com <mailto:dzonatas@gmail.com>>> >>> wrote: >>> >>> Probably easy as suggested in other terms here on this >>> list, >>> as how the client contacts the asset services now in the >>> regions. The newer issue is to unitize that asset >>> services. >>> Since their is proprietary (legacy) code then we can't >>> expect >>> that to change, and some form of proxy is of need. >>> Whatever >>> works best, I tried to narrow it down to suggestions >>> here. >>> >>> Eventually, the agent domain is ideal to handle the >>> direction >>> of the asset services. This concept, unfortunately, >>> ended >>> support awhile ago with changes in LL. >>> Also see; http://wiki.secondlife.com/wiki/Agent_Domain >>> And: >>> >>> http://wiki.secondlife.com/wiki/User:Dzonatas_Sol/AWG_Asset >>> (warn: unstructured collaborative notes, dumped on me >>> and I >>> tried to fix) >>> >>> I tried to find previous visuals. >>> >>> I'd imagine the agent domain could grow out of unitized >>> versions of asset services. Despite that, I think that >>> concept >>> helps view where we were at in discussion and what >>> didn't happen. >>> >>> Vaughn Deluca wrote: >>> >>> Hi�Dzonatas >>> >>> Can you expand on that, what would be needed for >>> legacy >>> support in VWAP terms�?, >>> If i want to read up on how the�asset server may >>> proxy the >>> simulator, what would you recommend me to read? >>> >>> -- Vaughn >>> >>> On Sun, Apr 3, 2011 at 5:51 AM, Dzonatas Sol >>> <dzonatas@gmail.com <mailto:dzonatas@gmail.com> >>> <mailto:dzonatas@gmail.com <mailto:dzonatas@gmail.com>> >>> <mailto:dzonatas@gmail.com >>> <mailto:dzonatas@gmail.com> <mailto:dzonatas@gmail.com >>> <mailto:dzonatas@gmail.com>>>> >>> >>> wrote: >>> >>> Some stated the proxy-to-asset-server is built >>> into the >>> sim; >>> however, keep in mind possible legacy support >>> where the >>> asset >>> server may proxy the simulator. >>> >>> >>> Dzonatas Sol wrote: >>> >>> Somehow I feel the basic asset server being >>> able to >>> login and >>> download assets is now priority, yet I also >>> wondered the best >>> way to patch this into the current mode of >>> viewers. >>> >>> Maybe offer (1) by proxy (sim-side) and (2) >>> by patch >>> (viewer-side) that either of these two are >>> optional and >>> neither are mandatory for now. Thoughts? >>> >>> Israel Alanis wrote: >>> >>> >>> > when designing for scalability, the >>> model to >>> bear in >>> mind is ... >>> >>> Well, there are a lot of different >>> models to >>> keep in mind, >>> and many different use cases. One >>> particular >>> use case to >>> keep in mind is: "User acquires new >>> outfit, and >>> wants to >>> 'show it off' in a highly populated >>> region". >>> >>> > Both worlds and asset services may >>> include >>> commercial, >>> community, and personal services >>> >>> Yes, yes and yes. I'm particularly >>> concerned >>> about how the >>> model affects the ability to host >>> personal >>> asset services. >>> >>> > a proxying region, which would get >>> slammed >>> for every >>> asset worn by every avatar present. >>> >>> Granted the collection of services >>> that are >>> provided by >>> the region need to be scaled to meet the >>> demands of that >>> region. That's all part of capacity >>> planning. >>> >>> > regions run many different >>> CPU-intensive tasks, >>> including physics simulation and >>> server-side >>> scripting, >>> and absolutely cannot afford to serve >>> assets too >>> Well... who said the same CPU's have >>> to do >>> proxying, >>> physics simulation and server-side >>> scripting? Asset >>> proxying is a different service than >>> physics >>> simulation >>> and can be on separate hardware, could >>> make use of >>> geographically distributed caching, and >>> in certain >>> deployment patterns, the same caching >>> services >>> could be >>> shared by different regions. (Server-side >>> scripting is a >>> discussion for another day). >>> >>> > This is why we have to go parallel... >>> >>> Totally agree, and a proxying model >>> could and >>> should also >>> take advantage of parallelism. >>> >>> > I think you're wrong that it has to >>> cost much >>> money. ?vs? >>> > It costs money to host a high >>> performance and >>> scalable >>> asset service and a high bandwidth >>> network to >>> handle the >>> traffic. �A *lot* of money. >>> I think what you're saying is: "It costs >>> a lot >>> of money to >>> build a scalable asset service, but if >>> assets >>> are spread >>> throughout the internet they don't have >>> to be >>> scalable." >>> But that's not quite right. You're >>> opening up >>> every asset >>> server to the VW equivalent of being >>> slashdotted, so are >>> you sure you're not forcing *every* asset >>> service to be >>> scalable and handle a lot of bandwith and >>> network traffic? >>> It's the exact opposite of your >>> intention, but >>> I think >>> that's the result, all the same. >>> >>> This particular design decision has a big >>> effect on the >>> economics of the VW infrastructure. I'd >>> rather the >>> economics to work out such that a region >>> provider who >>> wishes to build a region that supports a >>> small >>> population, >>> can do so economically. A region that >>> wants to >>> host a >>> *large* population has to bear that >>> cost of >>> providing that >>> scalable asset service. >>> I want the economics of hosting a small >>> asset >>> service to >>> be a non-issue (as to best promote >>> creation and >>> creativity). Creating a high bar to >>> provide >>> asset services >>> will mean that service will cost money >>> and people >>> shouldn't have to pay money just to >>> create or >>> own VW >>> objects (I'm using 'own' here to refer to >>> maintaining >>> their existence, I'm not trying to make a >>> 'leftist'/'communist' statement about >>> ownership ;) >>> >>> - Izzy >>> >>> >>> On Apr 2, 2011, at 3:58 PM, Morgaine >>> wrote: >>> >>> Izzy, when designing for >>> scalability, the >>> model to >>> bear in mind is that of seasoned >>> virtual world >>> travelers whose inventories contain >>> assets >>> from many >>> different worlds, those assets being >>> served >>> by many >>> different asset services. �Both >>> worlds and >>> asset >>> services may include commercial, >>> community, and >>> personal services, and as the >>> metaverse >>> grows, that >>> set is highly likely to become >>> progressively less >>> clustered and more diverse. >>> >>> When those seasoned travelers click >>> on an >>> advertised >>> VW link and perform an inter-world >>> teleport >>> to one >>> particular world's region to share an >>> experience, >>> their "worn" assets (the only ones of >>> interest to the >>> region) will contain references to >>> asset >>> services >>> spread widely across the Internet. >>> �The >>> fetches by the >>> travelers' clients occur over many >>> parallel >>> paths from >>> clients to asset services, so one can >>> reasonably >>> expect reduced network contention and >>> reduced asset >>> server loading because they are both >>> spread >>> out over >>> however many asset services are being >>> referenced by >>> the overall set of assets in the >>> region. >>> >>> This is very different to the case >>> of a >>> proxying >>> region, which would get slammed for >>> every >>> asset worn >>> by every avatar present. �In our >>> current >>> architecture, >>> regions run many different >>> CPU-intensive tasks, >>> including physics simulation and >>> server-side >>> scripting, and absolutely cannot >>> afford to >>> serve >>> assets too unless your scalability >>> requirements are >>> very low indeed, ie. just a few dozen >>> avatars of >>> today's kind. �We've hit the ceiling >>> already on region >>> scalability done that way. �There is >>> nowhere to go in >>> that direction at all beyond >>> improving the >>> code like >>> Intel demonstrated, and that work is >>> subject to a law >>> of diminishing returns. >>> >>> This is why we have to go parallel, >>> and I >>> think you're >>> wrong that it has to cost much >>> money. �As >>> we spread >>> the load across more and more asset >>> services, we are >>> simply better utilizing all the >>> hardware that's >>> already out there on the Internet, >>> at least >>> in respect >>> of community and private >>> resources. �But >>> add to the >>> community and private resources the >>> commercial asset >>> services that are likely to appear to >>> exploit this >>> opportunity, and not only will the >>> number >>> of asset >>> services leap, but the power of >>> each one >>> will rocket >>> too, because, after all, these >>> businesses >>> will be >>> heavily optimized for the job. >>> >>> As to why a world would want clients >>> to access >>> external asset services instead of >>> providing its own >>> implementation, that's an easy >>> question. >>> �It costs >>> money to host a high performance and >>> scalable asset >>> service and a high bandwidth >>> network to >>> handle the >>> traffic. �A *lot* of money. �In >>> contrast, >>> it costs a >>> world nothing to let others serve >>> the assets to >>> clients. �And that matters to the >>> bottom line. >>> >>> >>> Morgaine. >>> >>> >>> >>> >>> ====================== >>> >>> On Sat, Apr 2, 2011 at 7:05 PM, Izzy >>> Alanis >>> <izzyalanis@gmail.com >>> <mailto:izzyalanis@gmail.com> >>> <mailto:izzyalanis@gmail.com >>> <mailto:izzyalanis@gmail.com>> <mailto:izzyalanis@gmail.com >>> <mailto:izzyalanis@gmail.com> >>> <mailto:izzyalanis@gmail.com >>> <mailto:izzyalanis@gmail.com>>> >>> <mailto:izzyalanis@gmail.com >>> <mailto:izzyalanis@gmail.com> >>> <mailto:izzyalanis@gmail.com >>> <mailto:izzyalanis@gmail.com>> >>> >>> <mailto:izzyalanis@gmail.com >>> <mailto:izzyalanis@gmail.com> >>> <mailto:izzyalanis@gmail.com >>> <mailto:izzyalanis@gmail.com>>>>> wrote: >>> >>> � �> As always though, it's a >>> trade-off, >>> since the >>> proxied design >>> � �has very poor scalability >>> compared to the >>> distributed one. >>> >>> � �I don't agree with that... If a >>> user >>> enters a >>> highly populated >>> � �region, >>> � �every other client is going to >>> (could >>> and should be >>> trying to) >>> � �hit the >>> � �asset server(s) for the assets >>> that the >>> user is >>> wearing (assuming >>> � �they're not cached locally). >>> �Every >>> asset server >>> has to be scaled up >>> � �to the point that it can handle >>> that >>> load from all >>> over... >>> >>> � �If I'm hosting a region that >>> supports 10s of >>> thousands of >>> � �simultaneous >>> � �users (thinking of the future), I >>> already have to >>> scale to meet that >>> � �demand. If the region is >>> proxying the >>> assets, then, >>> yes the >>> � �region has >>> � �to be scaled to meet that asset >>> demand >>> too, but it >>> already has to be >>> � �scaled to meet other demands of >>> being a >>> region >>> server... and why is >>> � �scaling those asset proxy >>> services hard? >>> �It's >>> going to cost $, >>> � �but is >>> � �not technically challenging. >>> So, if I >>> want to host >>> a region like >>> � �that... sure it will cost me, >>> but the >>> simulation >>> will be consistent >>> � �and users will be able to >>> participate >>> equally, >>> regardless of the >>> � �capabilities of their individual >>> asset >>> services. >>> >>> >>> >>> >>> � �On Fri, Apr 1, 2011 at 11:55 PM, >>> Morgaine >>> � �<morgaine.dinova@googlemail.com >>> <mailto:morgaine.dinova@googlemail.com> >>> <mailto:morgaine.dinova@googlemail.com >>> <mailto:morgaine.dinova@googlemail.com>> >>> >>> <mailto:morgaine.dinova@googlemail.com >>> <mailto:morgaine.dinova@googlemail.com> >>> <mailto:morgaine.dinova@googlemail.com >>> <mailto:morgaine.dinova@googlemail.com>>> >>> � >>> �<mailto:morgaine.dinova@googlemail.com >>> <mailto:morgaine.dinova@googlemail.com> >>> >>> <mailto:morgaine.dinova@googlemail.com >>> <mailto:morgaine.dinova@googlemail.com>> >>> >>> >>> <mailto:morgaine.dinova@googlemail.com >>> <mailto:morgaine.dinova@googlemail.com> >>> <mailto:morgaine.dinova@googlemail.com >>> <mailto:morgaine.dinova@googlemail.com>>>>> wrote: >>> � �> Every design choice results in a >>> trade-off, >>> Vaughn, improving >>> � �one thing at >>> � �> the expense of something >>> else. �If >>> every time we >>> offered a >>> � �service we had to >>> � �> inform its users about the >>> downsides >>> of all the >>> trade-offs we >>> � �have made, >>> � �> they would have an awful lot to >>> read. ;-) >>> � �> >>> � �> The specific trade-off that >>> you are >>> discussing is no >>> � �different. �A region >>> � �> that proxies all content has the >>> "benefit" of >>> acquiring control >>> � �from the >>> � �> asset servers over the items >>> in the >>> region, so >>> that it can >>> � �ensure that >>> � �> everyone in the region not only >>> obtains the items >>> but obtains >>> � �the same items >>> � �> as everyone else. �That does >>> indeed >>> provide a >>> greater guarantee of >>> � �> consistency than a deployment >>> in which >>> the region >>> only passes >>> � �asset URIs to >>> � �> clients who then fetch the >>> items from >>> asset services >>> � �separately. �As always >>> � �> though, it's a trade-off, >>> since the >>> proxied >>> design has very >>> � �poor scalability >>> � �> compared to the distributed one. >>> � �> >>> � �> If we're going to warn users >>> of the >>> potential for >>> inconsistency >>> � �in the >>> � �> distributed deployment as you >>> suggest, >>> are we >>> also going to >>> � �warn them of >>> � �> non-scalability in the proxied >>> one? �I >>> really >>> don't see much >>> � �merit in the >>> � �> idea of warning about design >>> choices. >>> �Many such >>> choices are >>> � �technical, and >>> � �> the issues are quite likely to >>> be of >>> little >>> interest to >>> � �non-technical users >>> � �> anyway. �In any case, the better >>> services are >>> likely to provide >>> � �such >>> � �> information in their online >>> documentation, I >>> would guess. >>> � �> >>> � �> You mentioned users "voting >>> with their >>> feet" or >>> choosing to >>> � �accept the risk >>> � �> of inconsistency. �Well that >>> will >>> happen anyway, >>> when services >>> � �fail and >>> � �> users get annoyed. �If some >>> asset >>> services refuse >>> to send the >>> � �requested >>> � �> items to some users, those >>> services >>> will get a >>> bad reputation >>> � �and people >>> � �> will choose different asset >>> services >>> instead. >>> �Likewise, if a >>> � �world service >>> � �> proxies everything and so it >>> can't >>> handle a large >>> number of >>> � �assets or of >>> � �> people, users will get annoyed >>> at the >>> lag and will go >>> � �elsewhere. �This user >>> � �> evaluation and "voting with >>> their >>> feet" happens >>> already with >>> � �online services >>> � �> all over the Internet, and I am >>> sure >>> that this >>> human process >>> � �will continue >>> � �> to work when the services are >>> asset >>> and region >>> services. >>> � �> >>> � �> Back in September 2010, I wrote >>> this >>> post which >>> proposes that >>> � �we use in >>> � �> VWRAP a form of asset >>> addressing that >>> provides >>> massive >>> � �scalability at the >>> � �> same time as a very high >>> degree of >>> resilience -- >>> � �> >>> � >>> >>> �http://www.ietf.org/mail-archive/web/vwrap/current/msg00463.html >>> � �. �It is >>> � �> based on the concept of the URI >>> containing a host >>> part and a >>> � �hash part, >>> � �> where the hash is generated >>> (once, at >>> the time of >>> storage to >>> � �the asset >>> � �> service) using a specified >>> digest >>> algorithm over >>> the content of >>> � �the asset >>> � �> being referenced. �You may >>> wish to >>> note that if >>> this design >>> � �were used, the >>> � �> failure of an asset service to >>> deliver a >>> requested item would >>> � �result in a >>> � �> failover request for the item >>> to one >>> or more >>> backup services, >>> � �using the same >>> � �> hash part but with a >>> different host >>> address. >>> � �> >>> � �> This can go some way towards >>> overcoming the >>> problem that you >>> � �think might >>> � �> occur when assets are fetched by >>> clients from >>> asset services >>> � �directly. >>> � �> Although it won't help when the >>> missing item is >>> available from >>> � �only a single >>> � �> asset service, it will help >>> in many >>> other cases, >>> and it will >>> � �compensate for >>> � �> service failures and network >>> outages >>> automatically at the same >>> � �time. >>> � �> >>> � �> PS. This design for hash-based >>> asset >>> addressing >>> is already >>> � �being tested by >>> � �> Mojito Sorbet in her >>> experimental >>> world and >>> client. �It would give >>> � �> VWRAP-based worlds an improved >>> level >>> of service >>> availability, >>> � �so I think it >>> � �> should be a core feature of our >>> protocol. >>> � �> >>> � �> >>> � �> Morgaine. >>> � �> >>> � �> >>> � �> >>> � �> >>> � �> =========================== >>> � �> >>> � �> On Fri, Apr 1, 2011 at 11:17 PM, >>> Vaughn Deluca >>> � �<vaughn.deluca@gmail.com >>> <mailto:vaughn.deluca@gmail.com> >>> <mailto:vaughn.deluca@gmail.com >>> <mailto:vaughn.deluca@gmail.com>> >>> <mailto:vaughn.deluca@gmail.com >>> <mailto:vaughn.deluca@gmail.com> >>> <mailto:vaughn.deluca@gmail.com >>> <mailto:vaughn.deluca@gmail.com>>> >>> <mailto:vaughn.deluca@gmail.com >>> <mailto:vaughn.deluca@gmail.com> >>> <mailto:vaughn.deluca@gmail.com >>> <mailto:vaughn.deluca@gmail.com>> >>> <mailto:vaughn.deluca@gmail.com >>> <mailto:vaughn.deluca@gmail.com> >>> <mailto:vaughn.deluca@gmail.com >>> <mailto:vaughn.deluca@gmail.com>>>>> >>> � �> wrote: >>> � �>> >>> � �>> This is a question i discussed >>> with >>> Morgaine >>> off-list a while >>> � �ago (I >>> � �>> intended to send it to the >>> list but >>> pushed the >>> wrong button...) I >>> � �>> think we need to address this >>> problem, and >>> decide how to deal >>> � �with it. >>> � �>> >>> � �>> �In Davids deployment draft, >>> section >>> 7.3.1.1 an >>> overview is >>> � �given van >>> � �>> ways to deliver content to the >>> region. One way >>> is only passing a >>> � �>> capability that allows >>> access to >>> (part of) the >>> resource: >>> � �>> >>> � �>> � � � � � 7.3.1.1. �Content >>> delivery >>> models >>> � �>> � � � � � A range of possible >>> represenations can >>> be passed to >>> � �a region for >>> � �>> � � � � � simulation. [...] >>> The other >>> end of the >>> delivery spectrum >>> � �>> involves passing >>> � �>> � � � � � only a URI or >>> capability >>> used to >>> access the rendering >>> � �>> information and a >>> � �>> � � � � � collision mesh,and >>> related >>> data for >>> physical simulation. >>> � �>> � � � � � In such a model, the >>> client is >>> responsible for >>> � �fetching the >>> � �>> additional >>> � �>> � � � � � information needed to >>> render the >>> item's visual >>> � �presence from a >>> � �>> separate >>> � �>> � � � � � service. �This fetch >>> can be >>> done >>> *under the >>> � �credentials of the >>> � �>> end user* >>> � �>> � � � � � viewing the >>> material [my >>> emphasis--VD] >>> , and >>> � �divorces the >>> � �>> simulation from >>> � �>> � � � � � the trust chain >>> needed to >>> manage >>> content. �Any >>> � �automation >>> � �>> is done on a >>> � �>> � � � � � separate host which >>> the content >>> creator or owner trusts, >>> � �>> interacting with the >>> � �>> � � � � � object through >>> remoted >>> interfaces. >>> � �>> >>> � �>> �I can see the need for such a >>> setup, >>> however, i >>> feel we are >>> � �>> unpleasantly close to a >>> situation >>> were the >>> coherence of the >>> � �simulation >>> � �>> falls apart. >>> � �>> In this deployment pattern the >>> region >>> advertises >>> the presence >>> � �of the >>> � �>> asset, and *some* clients >>> will be >>> able to get it >>> as expected, >>> � �while >>> � �>> -based on the arbitrary whims >>> of the >>> asset >>> service- others >>> � �might not. >>> � �>> >>> � �>> My hope would be that after >>> the asset >>> server >>> provides the >>> � �region with >>> � �>> the capability to get the >>> asset, it >>> gives up >>> control. That >>> � �would mean >>> � �>> that if the client finds the >>> inventory server is >>> unwilling to >>> � �serve >>> � �>> the content - in spire of the >>> region >>> saying it >>> is present-, >>> � �the client >>> � �>> should be able to turn around >>> ask the >>> *region* >>> for the asset, >>> � �(and get >>> � �>> is after all). >>> � �>> >>> � �>> �If that is not the case, -and >>> there are >>> probably good reasons >>> � �for the >>> � �>> deployment pattern as >>> described- >>> �shouldn't we >>> *warn* clients >>> � �that the >>> � �>> region might be inconsistent, >>> so the >>> users >>> behind the client >>> � �can vote >>> � �>> with their feet, (or take the >>> risk)? >>> � �>> >>> � �>> --Vaughn >>> � �>> >>> _______________________________________________ >>> � �>> vwrap mailing list >>> � �>> vwrap@ietf.org >>> <mailto:vwrap@ietf.org> >>> <mailto:vwrap@ietf.org <mailto:vwrap@ietf.org>> >>> <mailto:vwrap@ietf.org <mailto:vwrap@ietf.org> >>> <mailto:vwrap@ietf.org <mailto:vwrap@ietf.org>>> >>> <mailto:vwrap@ietf.org >>> <mailto:vwrap@ietf.org> >>> <mailto:vwrap@ietf.org <mailto:vwrap@ietf.org>> >>> <mailto:vwrap@ietf.org <mailto:vwrap@ietf.org> >>> <mailto:vwrap@ietf.org <mailto:vwrap@ietf.org>>>> >>> >>> � �>> >>> https://www.ietf.org/mailman/listinfo/vwrap >>> � �> >>> � �> >>> � �> >>> _______________________________________________ >>> � �> vwrap mailing list >>> � �> vwrap@ietf.org >>> <mailto:vwrap@ietf.org> <mailto:vwrap@ietf.org >>> <mailto:vwrap@ietf.org>> >>> <mailto:vwrap@ietf.org <mailto:vwrap@ietf.org> >>> <mailto:vwrap@ietf.org <mailto:vwrap@ietf.org>>> >>> <mailto:vwrap@ietf.org >>> <mailto:vwrap@ietf.org> >>> <mailto:vwrap@ietf.org <mailto:vwrap@ietf.org>> >>> <mailto:vwrap@ietf.org <mailto:vwrap@ietf.org> >>> <mailto:vwrap@ietf.org <mailto:vwrap@ietf.org>>>> >>> >>> � �> >>> https://www.ietf.org/mailman/listinfo/vwrap >>> � �> >>> � �> >>> >>> >>> >>> >>> ------------------------------------------------------------------------ >>> >>> >>> >>> _______________________________________________ >>> vwrap mailing list >>> vwrap@ietf.org <mailto:vwrap@ietf.org> >>> <mailto:vwrap@ietf.org <mailto:vwrap@ietf.org>> >>> <mailto:vwrap@ietf.org <mailto:vwrap@ietf.org> >>> <mailto:vwrap@ietf.org <mailto:vwrap@ietf.org>>> >>> >>> https://www.ietf.org/mailman/listinfo/vwrap >>> � >>> >>> >>> >>> >>> >>> -- --- https://twitter.com/Dzonatas_Sol --- >>> Web Development, Software Engineering, Virtual >>> Reality, >>> Consultant >>> >>> _______________________________________________ >>> vwrap mailing list >>> vwrap@ietf.org <mailto:vwrap@ietf.org> >>> <mailto:vwrap@ietf.org <mailto:vwrap@ietf.org>> >>> <mailto:vwrap@ietf.org <mailto:vwrap@ietf.org> >>> <mailto:vwrap@ietf.org <mailto:vwrap@ietf.org>>> >>> https://www.ietf.org/mailman/listinfo/vwrap >>> >>> >>> >>> >>> -- --- https://twitter.com/Dzonatas_Sol --- >>> Web Development, Software Engineering, Virtual Reality, >>> Consultant >>> >>> >>> >>> >>> ------------------------------------------------------------------------ >>> >>> >>> _______________________________________________ >>> vwrap mailing list >>> vwrap@ietf.org <mailto:vwrap@ietf.org> >>> https://www.ietf.org/mailman/listinfo/vwrap >>> >>> >>> -- --- https://twitter.com/Dzonatas_Sol --- >>> Web Development, Software Engineering, Virtual Reality, Consultant >>> >>> >> >> > > -- --- https://twitter.com/Dzonatas_Sol --- Web Development, Software Engineering, Virtual Reality, Consultant
- [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency dyerbrookme@juno.com
- Re: [vwrap] [wvrap] Simulation consistency dyerbrookme@juno.com
- Re: [vwrap] [wvrap] Simulation consistency Patnad Babii
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Carlo Wood
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Meadhbh Hamrick
- Re: [vwrap] [wvrap] Simulation consistency Meadhbh Hamrick
- Re: [vwrap] [wvrap] Simulation consistency Carlo Wood
- Re: [vwrap] [wvrap] Simulation consistency dyerbrookme@juno.com
- Re: [vwrap] Simulation consistency Carlo Wood
- Re: [vwrap] [wvrap] Simulation consistency Patnad Babii
- Re: [vwrap] [wvrap] Simulation consistency Izzy Alanis
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency dyerbrookme@juno.com
- Re: [vwrap] [wvrap] Simulation consistency Dahlia Trimble
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Israel Alanis
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] Simulation consistency Meadhbh Hamrick
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] Simulation consistency Morgaine
- Re: [vwrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] Simulation consistency Morgaine
- Re: [vwrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Fleep Tuque
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Carlo Wood
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- [vwrap] Is 'Data Z' immutable (like a git snapsho… Carlo Wood
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] Is 'Data Z' immutable (like a git sna… Morgaine
- Re: [vwrap] Is 'Data Z' immutable (like a git sna… Carlo Wood
- Re: [vwrap] Is 'Data Z' immutable (like a git sna… Morgaine
- Re: [vwrap] Is 'Data Z' immutable (like a git sna… Patnad Babii
- Re: [vwrap] Is 'Data Z' immutable (like a git sna… Morgaine
- Re: [vwrap] Is 'Data Z' immutable (like a git sna… Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- Re: [vwrap] [wvrap] Simulation consistency Vaughn Deluca
- Re: [vwrap] [wvrap] Simulation consistency Morgaine
- Re: [vwrap] [wvrap] Simulation consistency Dzonatas Sol
- [vwrap] Inventory, Asset Metadata and Privacy (wa… Boroondas Gupte
- Re: [vwrap] Inventory, Asset Metadata and Privacy… Morgaine
- Re: [vwrap] Inventory, Asset Metadata and Privacy… Morgaine
- Re: [vwrap] Inventory, Asset Metadata and Privacy… Morgaine