Re: [vwrap] Consensus? What exactly should be in the protocol
<kevin.tweedy@xrgrid.com> Wed, 22 September 2010 20:30 UTC
Return-Path: <kevin.tweedy@xrgrid.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 ED1DB28C0EF for <vwrap@core3.amsl.com>;
Wed, 22 Sep 2010 13:30:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.198
X-Spam-Level:
X-Spam-Status: No, score=-2.198 tagged_above=-999 required=5 tests=[AWL=-0.200,
BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_43=0.6]
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 HwryqrmulXsM for
<vwrap@core3.amsl.com>; Wed, 22 Sep 2010 13:29:54 -0700 (PDT)
Received: from elasmtp-banded.atl.sa.earthlink.net
(elasmtp-banded.atl.sa.earthlink.net [209.86.89.70]) by core3.amsl.com
(Postfix) with ESMTP id 265C03A67F1 for <vwrap@ietf.org>;
Wed, 22 Sep 2010 13:29:54 -0700 (PDT)
Received: from [72.94.50.178] (helo=TWEEDY64) by
elasmtp-banded.atl.sa.earthlink.net with esmtpa (Exim 4.67) (envelope-from
<kevin.tweedy@xrgrid.com>) id 1OyVxE-0001Vv-9D;
Wed, 22 Sep 2010 16:30:12 -0400
From: <kevin.tweedy@xrgrid.com>
To: <lopes@ics.uci.edu>, "'Morgaine'" <morgaine.dinova@googlemail.com>
References: <AANLkTinxpGRZ9PEWQx=KvaBNGBba4Z+P+SaP4N80VGV1@mail.gmail.com> <E2109887-F5B2-4742-B4F7-1C4655A2DD8B@ics.uci.edu> <62BFE5680C037E4DA0B0A08946C0933D012670D0C9@rrsmsx506.amr.corp.intel.com> <4C9A070B.3070202@hp.com> <AANLkTinVX6Uo2S+7ocdTiVfiTFa9wxM=x1Cncyi5ij86@mail.gmail.com> <4C9A17FC.9090308@ics.uci.edu> <OF98CA2B26.9D4927A8-ON852577A6.00572945-852577A6.0060FB5D@us.ibm.com> <4C9A45FC.6030709@ics.uci.edu><AANLkTi=D53zLQxg8hMXKd-uAaxfFbr8M405+i-oYdcMV@mail.gmail.com>
<4C9A5466.1070408@ics.uci.edu>
In-Reply-To: <4C9A5466.1070408@ics.uci.edu>
Date: Wed, 22 Sep 2010 16:30:00 -0400
Message-ID: <0958E24D243B46D4BCA4D25A06A1A4A0@TWEEDY64>
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_NextPart_000_0352_01CB5A73.69FE3F40"
X-Mailer: Microsoft Office Outlook 11
thread-index: ActaibTElghA+FvPS+u6VoRBdgZ7IwACjKBQ
X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7600.16543
X-ELNK-Trace: be22ee791caf5f441aa676d7e74259b793d4f437769de15086133f13fceded41812dabb2b2bc67cc350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c
X-Originating-IP: 72.94.50.178
Cc: vwrap@ietf.org
Subject: Re: [vwrap] Consensus? What exactly should be in the protocol
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: Wed, 22 Sep 2010 20:30:08 -0000
The protocol will only be obsolete if it is not designed to support new formats or varied formats, or have any discovery or caps ability. Maybe others are working on some avatar format, I don't know of one. But here is kind of thing I am working on; it isn't fancy but probably handles most things we see today. Just as an example Avatar Manifest 1. List of Objects 2. List of attachment points 3. References to actual physical objects 4. List of animations 5. Animation name mapping to public capabilities specification 6. List of gesture or others script based capabilities. It is really true that VWRAP will not have a specification on the avatar. How can one avatar go to another space without that? How will I know how to expose my avatar to another space without it? Regards, K. _____ From: vwrap-bounces@ietf.org [mailto:vwrap-bounces@ietf.org] On Behalf Of Cristina Videira Lopes Sent: Wednesday, September 22, 2010 3:09 PM To: Morgaine Cc: vwrap@ietf.org Subject: Re: [vwrap] Consensus? What exactly should be in the protocol Perhaps we should all step back until *someone* sends a draft that actually captures this? Which is not the current draft :) Morgaine wrote: Indeed, standardizing on data formats would result in a protocol that is obsolete before it's released. Which is why VWRAP doesn't do that. :P Instead (using my own form of words here to try to make this more understandable), VWRAP is concerned with "gluing together" services in a highly dynamic and flexible manner. Those services can be switched and extended at a moment's notice, under the control of the VWRAP protocol, not only to extend the feature set but also to alter the particular deployment pattern in use, if this is desired. VWs are expected to evolve and change drastically over the next several years, so adaptability in a world of continuous change is paramount, so we have stressed the need for extensibility a lot. The following should really go without saying, but I'll say it anyway in light of a recent comment --- VWRAP extensibility does not mean "go back to the IETF for another round of standardization". It means that outside of a small neutral core, the protocol is dynamically extensible on demand, specifically by hooking in improved services, or indeed totally new ones. Revision of the core protocol should only be required if the old one is found to be incapable of adequate orchestration of improved services. To the best of our ability, we will try to make this unnecessary. Think of VWRAP as the Unix shell --- you rarely need to change it! The shell is just the glue by which you assemble suites of processes to do the actual work in Unix. In VWRAP, the VWRAP protocol glues together VWRAP services in a similar fashion. There's a lot of work to be done before this becomes a reality of course. Morgaine. ============================= On Wed, Sep 22, 2010 at 7:07 PM, Cristina Videira Lopes <lopes@ics.uci.edu> wrote: All the limitations that you mention about the Web architecture not being enough to support virtual world applications have been muted by HTML5. Additionally, CORS now allows for true client-side mashups. But even without these two things, you can build non-web-browser clients that follow the general principles but that do special things for the real-time updates -- basically, the general concept of JavaScript+WebSockets done in whatever other way you like: different programming language, different protocol,... The really important architectural principle, though, and one that is unlikely to be let go, is that the use of WebSockets, the data formats that flow through them, and the use of CORS, are decisions that pertain to *each* virtual world application, it's not something that is imposed on all VWs by web standards -- it comes as JavaScript sent by the server! They are *implementation options* -- very valid options, I must add, but options nevertheless. What you are trying to do here is to dictate that all virtual world applications MUST use some protocol for renderer -- server interactions, down to the data formats, and MUST use capabilities for mashing things up, or else... they can't interoperate. You can dictate that. But then this will be completely irrelevant in a couple of years when WebGL is actually usable or when Google finishes their virtual machine for running safe native code on browsers. David W Levine wrote: So, of course we're building in the web space. I hope nobody is denying that. In fact if you look at everything described in VWRAP is starts with an assumption that most services are delivered as REST or REST like services. I think its safe to say that the people who have been discussing this for over two years are aware of Roy's work, and have thought about how REST applies to virtual worlds. REST represents a lot of thinking about how the web delivers content, and in particular why not to turn the web into a distributed object model, or a shared state model, but rather to leverage the observed successful patterns of the web in managing distributed programming problems. But.. (There is always a but) The very core thing that a virtual world does doesn't fit terribly well into the mainstream web model. The heart of a virtual world is delivering (and Morgaine's phrase serves very well here) a visual mashup of things to users 30-60 times a second, updating continually to reflect the input of the physical simulation, any user inputs, and any scripted inputs. Our core problem is taking in the inputs, deriving the new state and sharing it out to the users. This isn't really what the web has historically done. The fact that it isn't, that there are some really interesting distributed system challenges at the very heart of this, is part of its technical appeal to me. Life is made harder by the fact that the virtual space is being constantly asked to accept new things to deal with. Every time an avatar arrives it brings a set of stuff which has to be melded into the scenegraph. Again, we all know this. Rezing an avatar means adding a bunch of new content to the virtual space, and it means pushing it back out to all the observers. In the traditional web you go to a URL, you do a get, and you get handed a huge slab of stuff to render.(some of which may require fetches, plugins, etc.) In the more dynamic 2.0 style stuff, the stuff you get may include dynamic elements which fetch and update more stuff. In the virtual worlds space, we bring to to a fever pitch. we take inputs from all the present users, from a simulation, including the scripted changes within the simulation. We then turn around and want to show this to the user. How do we present this to the user. Well, we currently use Linden's UDP/http/longpoll tangle. Fine. But. how could we do it? We could create a video stream and stream it. (WHich isn't very web page like at all, but has some nice properties) We could do something like OnLive where we would create a very tailored stream and deliver it to a client with very specialized coupled inputs (And life with a lot of constraints and again isn't very web page like) We could send a stateless update every frame for the client to render (Well, with ulimited bandwidth and processor power) Or.. we could do what we currently do, just cleaner. which, roughly speaking is send down initial state and then send down a series of updates to that state. Woah, not exactly a traditional web page. Worse still.. where do we post the inputs from the client to the world? At the same time, we also get to ask "How do we get all the "stuff" into the region. In Linden's world, the answer is easy. They use a proprietary protocol and fetch it from their creaking central servers. In OpenSim, a similar answer obtains. And for added pain which we have all shared, the current set of clients push all the stuff related to the user via the region. VWRAP attempts to describe nothing more than a set of REST web services which represent the region and the services. It attempts to leverage what's been learned from REST, and Linden's system, and in fact OpenSim, to describe a simple, extensible set of services which can describe: Regions, Auth services, how to rez and unrez avatars, how to (when we get some writing down) fetch and manipulate assets, inventory lists and so on. What you end up with is built deeply on web principals, but not a web page, but mostly because a virtual world is not, at its heart a web page,but a set of services collaborating to share state in a pretty unusual way. - David ~Zha _______________________________________________ vwrap mailing list vwrap@ietf.org https://www.ietf.org/mailman/listinfo/vwrap _____ _______________________________________________ vwrap mailing list vwrap@ietf.org https://www.ietf.org/mailman/listinfo/vwrap
- [vwrap] Consensus? What exactly should be in the … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Dzonatas Sol
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Hurliman, John
- Re: [vwrap] Consensus? What exactly should be in … Mike Dickson
- Re: [vwrap] Consensus? What exactly should be in … Morgaine
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Morgaine
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Morgaine
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Morgaine
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Mike Dickson
- Re: [vwrap] Consensus? What exactly should be in … David W Levine
- Re: [vwrap] Consensus? What exactly should be in … kevin.tweedy
- Re: [vwrap] Consensus? What exactly should be in … Mike Dickson
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Morgaine
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Morgaine
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … David W Levine
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … kevin.tweedy
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Cristina Videira Lopes
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Morgaine
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … kevin.tweedy
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … kevin.tweedy
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Dan Olivares
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Morgaine
- Re: [vwrap] Consensus? What exactly should be in … kevin.tweedy
- Re: [vwrap] Consensus? What exactly should be in … Dan Olivares
- Re: [vwrap] Consensus? What exactly should be in … Meadhbh Hamrick
- Re: [vwrap] Consensus? What exactly should be in … Morgaine