Re: [vwrap] Consensus? What exactly should be in the protocol

Cristina Videira Lopes <lopes@ics.uci.edu> Wed, 22 September 2010 19:09 UTC

Return-Path: <lopes@ics.uci.edu>
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 C1AF43A6B4A for <vwrap@core3.amsl.com>; Wed, 22 Sep 2010 12:09:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.068
X-Spam-Level:
X-Spam-Status: No, score=-2.068 tagged_above=-999 required=5 tests=[AWL=-0.070, 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 HGpf6+OUVPku for <vwrap@core3.amsl.com>; Wed, 22 Sep 2010 12:09:22 -0700 (PDT)
Received: from david-tennant-v0.ics.uci.edu (david-tennant-v0.ics.uci.edu [128.195.1.174]) by core3.amsl.com (Postfix) with ESMTP id 4102E3A6B36 for <vwrap@ietf.org>; Wed, 22 Sep 2010 12:09:21 -0700 (PDT)
Received: from [169.234.251.90] (paul-mcgann.ics.uci.edu [128.195.1.146]) (authenticated bits=0) by david-tennant-v0.ics.uci.edu (8.13.8/8.13.8) with ESMTP id o8MJ9e0m024107 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 22 Sep 2010 12:09:41 -0700
Message-ID: <4C9A5466.1070408@ics.uci.edu>
Date: Wed, 22 Sep 2010 12:09:26 -0700
From: Cristina Videira Lopes <lopes@ics.uci.edu>
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
To: 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>
In-Reply-To: <AANLkTi=D53zLQxg8hMXKd-uAaxfFbr8M405+i-oYdcMV@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------010306020508070105060400"
X-ICS-MailScanner-Information: Please send mail to helpdesk@ics.uci.edu or more information
X-ICS-MailScanner-ID: o8MJ9e0m024107
X-ICS-MailScanner: Found to be clean
X-ICS-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-0.862, required 5, autolearn=disabled, ALL_TRUSTED -1.44, HTML_MESSAGE 0.00, SARE_HTML_MANY_BR05 0.50, TW_VW 0.08)
X-ICS-MailScanner-From: lopes@ics.uci.edu
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
Reply-To: lopes@ics.uci.edu
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 19:09:24 -0000

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 <mailto: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 <mailto:vwrap@ietf.org>
>     https://www.ietf.org/mailman/listinfo/vwrap
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> vwrap mailing list
> vwrap@ietf.org
> https://www.ietf.org/mailman/listinfo/vwrap
>