Re: [ogpx] Event Streams, Realtime and transport
David W Levine <dwl@us.ibm.com> Wed, 05 August 2009 18:41 UTC
Return-Path: <dwl@us.ibm.com>
X-Original-To: ogpx@core3.amsl.com
Delivered-To: ogpx@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix)
with ESMTP id C303A3A68F2; Wed, 5 Aug 2009 11:41:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.581
X-Spam-Level:
X-Spam-Status: No, score=-5.581 tagged_above=-999 required=5 tests=[AWL=1.017,
BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
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 Vcvgrn5G-aVs;
Wed, 5 Aug 2009 11:41:30 -0700 (PDT)
Received: from e1.ny.us.ibm.com (e1.ny.us.ibm.com [32.97.182.141]) by
core3.amsl.com (Postfix) with ESMTP id E5FB53A695C;
Wed, 5 Aug 2009 11:41:29 -0700 (PDT)
Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236])
by e1.ny.us.ibm.com (8.14.3/8.13.1) with ESMTP id n75Ia4O8028375;
Wed, 5 Aug 2009 14:36:04 -0400
Received: from d01av01.pok.ibm.com (d01av01.pok.ibm.com [9.56.224.215]) by
d01relay04.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id n75IfV1D180916;
Wed, 5 Aug 2009 14:41:31 -0400
Received: from d01av01.pok.ibm.com (loopback [127.0.0.1]) by
d01av01.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id n75IfUfC011330;
Wed, 5 Aug 2009 14:41:31 -0400
Received: from d01ml605.pok.ibm.com (d01ml605.pok.ibm.com [9.56.227.91]) by
d01av01.pok.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id n75IfUVi011281;
Wed, 5 Aug 2009 14:41:30 -0400
In-Reply-To: <b8ef0a220908050500gbab6654p159f7e59aeed62c6@mail.gmail.com>
References: <F0487BF6-FBBB-481A-A25E-DE777AC274E2@lindenlab.com>
<4A74F1E4.8080209@dcrocker.net> <4A78D2F7.5080401@lindenlab.com>
<OFB4233516.8DB00FA4-ON85257609.000B8F47-85257609.00137350@us.ibm.com>
<b8ef0a220908050500gbab6654p159f7e59aeed62c6@mail.gmail.com>
To: Meadhbh Siobhan <meadhbh.siobhan@gmail.com>
MIME-Version: 1.0
X-KeepSent: 1F6FC7D5:4F6A8CE6-85257609:005DF72A; type=4; name=$KeepSent
X-Mailer: Lotus Notes Release 8.0.2 HF623 January 16, 2009
Message-ID: <OF1F6FC7D5.4F6A8CE6-ON85257609.005DF72A-85257609.0066AAC7@us.ibm.com>
From: David W Levine <dwl@us.ibm.com>
Date: Wed, 5 Aug 2009 14:41:24 -0400
X-MIMETrack: Serialize by Router on D01ML605/01/M/IBM(Build V851_07072009|July
07, 2009) at 08/05/2009 14:41:29, Serialize complete at 08/05/2009 14:41:29
Content-Type: multipart/alternative;
boundary="=_alternative 0066AAC085257609_="
Cc: ogpx-bounces@ietf.org, ogpx@ietf.org
Subject: Re: [ogpx] Event Streams, Realtime and transport
X-BeenThere: ogpx@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Virtual Worlds and the Open Grid Protocol <ogpx.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/ogpx>,
<mailto:ogpx-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ogpx>
List-Post: <mailto:ogpx@ietf.org>
List-Help: <mailto:ogpx-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ogpx>,
<mailto:ogpx-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 05 Aug 2009 18:41:34 -0000
So... Infinity made some very fair points. Lets try this. For streaming: I want to take a moment to walk the why... So, speaking a bit abstractly... When we inject an Avatar into a Region, we model this as a pretty straight forward request/response call. The region gets called, accepts the agent's avatar information and adds it to the local state. The region is maintaining and continually updating the state of the virtual space it manages. The region needs to push down to the client, the current state, and then, incrementally updates to that state. So, a side effect of entering the region is that the region sends its current state, and then begins to stream updates. This is, of course, the core business of the region. The Legacy Second Life Protocol streams down a series of "object updates" which consist of the shapes of things, along with pointers to the textures and (in the case of scuplties, the sculpt map) The client then can consult its cache, and either fetch these bulky items from the cache, or from the Region. The current charter doesn't say a lot about the nature of the Client / Region relationship. So.. lets try this... First, the attributes we want to address: * Regions hold and manage the "state" of the virtual space they represent. They accept agent actions, simulate the region, and send updates to the clients who can see their portion of virtual space. Then.. in protocol characteristics: * The specifications will include an asynchronous, region driven set of updates which are delivered to clients. The specifications will include a balanced blend of notifying clients of updates, over available transports, and pulling data from the region as needed. For realtime: In the attributes of worlds we want to address section: add: * Bounded by Latency constraints, are expected to be responsive to simple user inputs without queuing delays. This does not mean complex actions will be performed in real time, but that the overall specification set accepts the requirement that some low level operations happen without protocol imposed delays. (One wants forward step, turn and such, to be fast, we are NOT mandating "Rez 12,000 prim object in 400 mseconds" ) In the protocol characteristics: * Managing the desired response time goals for low level user inputs may require routing some traffic on protocols optimized for low latency use. The working group will characterize these goals. The Working group will evaluate the suitability of proposed transports in light of these characterizations. NOTE: these are coupled. The goal is to deliver a near simultaneous experience, in which the collective actions of all the present avatars, along with scripted objects, physics simulations and other computational artifacts are updated in a smooth, continuous fashion. One could easily model the set of updates as a resource, which the client "gets" once every so often. At the several minute perspective, this would likely deliver all the needed data. At the user level, it would not permit the client to create a smooth, shared immersive experience. - David
- [ogpx] Next Steps for OGPX WG Charter Joshua Bell
- Re: [ogpx] Next Steps for OGPX WG Charter Avshalom Houri
- Re: [ogpx] Next Steps for OGPX WG Charter Carlo Wood
- Re: [ogpx] Next Steps for OGPX WG Charter Carlo Wood
- Re: [ogpx] Next Steps for OGPX WG Charter Dave CROCKER
- Re: [ogpx] Next Steps for OGPX WG Charter Morgaine
- Re: [ogpx] Next Steps for OGPX WG Charter Dave CROCKER
- Re: [ogpx] Next Steps for OGPX WG Charter Alexey Melnikov
- Re: [ogpx] Next Steps for OGPX WG Charter Infinity Linden
- Re: [ogpx] Next Steps for OGPX WG Charter David W Levine
- [ogpx] Transport independence (Re: Next Steps for… Rob Lanphier
- Re: [ogpx] Transport independence (Re: Next Steps… Mojito Sorbet
- [ogpx] Event Streams, Realtime and transport David W Levine
- Re: [ogpx] Event Streams, Realtime and transport Meadhbh Siobhan
- Re: [ogpx] Transport independence (Re: Next Steps… Meadhbh Siobhan
- Re: [ogpx] Event Streams, Realtime and transport David W Levine
- Re: [ogpx] Transport independence (Re: Next Steps… Mojito Sorbet
- Re: [ogpx] Next Steps for OGPX WG Charter Morgaine
- Re: [ogpx] Next Steps for OGPX WG Charter Alexey Melnikov
- Re: [ogpx] Next Steps for OGPX WG Charter Meadhbh Siobhan