Re: [vwrap] thinking about LLIDL and the future
Meadhbh Hamrick <ohmeadhbh@gmail.com> Sat, 17 July 2010 06:27 UTC
Return-Path: <ohmeadhbh@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 9F1693A688A for <vwrap@core3.amsl.com>;
Fri, 16 Jul 2010 23:27:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.082
X-Spam-Level:
X-Spam-Status: No, score=-2.082 tagged_above=-999 required=5 tests=[AWL=-0.083,
BAYES_00=-2.599, J_CHICKENPOX_24=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 FyTDLGRBGsPi for
<vwrap@core3.amsl.com>; Fri, 16 Jul 2010 23:27:21 -0700 (PDT)
Received: from mail-qw0-f44.google.com (mail-qw0-f44.google.com
[209.85.216.44]) by core3.amsl.com (Postfix) with ESMTP id 6D0343A687F for
<vwrap@ietf.org>; Fri, 16 Jul 2010 23:27:21 -0700 (PDT)
Received: by qwe5 with SMTP id 5so1023719qwe.31 for <vwrap@ietf.org>;
Fri, 16 Jul 2010 23:27:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
h=domainkey-signature:received:mime-version:received:in-reply-to
:references:from:date:message-id:subject:to:cc:content-type
:content-transfer-encoding; bh=uH+Td5wxOoJ7B/kEkzquL0kGmMK1xT7gcg6UiDEe98A=;
b=QkDHsVW/CQuylsMU6dcQrySxj2gl4kOvV2tbB/hf2bpFDtEr8Bcsgq4c9hm3hWFNui
qrnqVExNkdABGhsKNQ+oqyJpiXjvBntpiEWy+mS3sjr9aRv+VRGWMM5wxOPsdfFmql+a
dH1CTAn2PyLqLEuo86qx9aKJ0dSaHAkpGzems=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
h=mime-version:in-reply-to:references:from:date:message-id:subject:to
:cc:content-type:content-transfer-encoding;
b=WfVstYxZVAz0XhNmD8151Yp7RZ0VKP977HsFDU2jJSBWjHYptePtMJc5+w2Oidm797
tdV+vJVJf/9X6glHMhuwkQMA8Zy3cfRjKPObcXU8Bjn8dxTxrdshtudHDDM+0SoXmDke
xI+QFC+TS9GGMReHYBhuiUaKJNeEZYP4AE5m4=
Received: by 10.224.106.149 with SMTP id x21mr1735482qao.16.1279348053222;
Fri, 16 Jul 2010 23:27:33 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.13.225 with HTTP; Fri, 16 Jul 2010 23:27:12 -0700 (PDT)
In-Reply-To: <AANLkTilU8rIdaK7WZdsqv8wcSSkiELGR4eSB6SFyOSmG@mail.gmail.com>
References: <AANLkTimqzIaVbirYFQc7LAb-u2BJF7UEy9oODznstg7z@mail.gmail.com>
<AANLkTikmHb43MLmgEdXegTteLoz6oaqLJjNDSncZTBxT@mail.gmail.com>
<AANLkTilBdc3PYb3-v2PSjMISzDLpdKmz57GStiUssElE@mail.gmail.com>
<AANLkTimhqTIpVcgtFBQ5dfYRVdh_5ESo7hOlFEKN7KF2@mail.gmail.com>
<AANLkTilBlzGG2iVL77osQeMwEDVWlU36noAjU39HPfRb@mail.gmail.com>
<AANLkTimCa2-TZDlda-s-wlegYgnXtRJOB_89v1AjkUwO@mail.gmail.com>
<AANLkTino8r7lXeRy5msEY2dgQ4nzMy0x5ScgpghheH6I@mail.gmail.com>
<AANLkTilU8rIdaK7WZdsqv8wcSSkiELGR4eSB6SFyOSmG@mail.gmail.com>
From: Meadhbh Hamrick <ohmeadhbh@gmail.com>
Date: Fri, 16 Jul 2010 23:27:12 -0700
Message-ID: <AANLkTilmky5ev5MdgfYWbq0XpDZKOjOumcTS7fkCS98d@mail.gmail.com>
To: Morgaine <morgaine.dinova@googlemail.com>,
Dzonatas Sol <dzonatas@gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: vwrap@ietf.org
Subject: Re: [vwrap] thinking about LLIDL and the future
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: Sat, 17 Jul 2010 06:27:23 -0000
okay. i think i understand you and dzonatas well enough to go out and write another, completely unofficial, possibly experimental draft for the group. then maybe a little bit of PHP and JavaScript to demonstrate a few of the features. again, thanks for the comments (and this is by no means the end of the commentary on my extended type system.) i think it's just easier for me to have a conversation about it after having real documents and a sample implementation to look at. i'm going to probably drop out of the conversation for a week as i go off and work on this stuff. i'll keep a lookout for additional comments, and try to address them in my next draft. but i probably won't have bandwidth to discuss them for a week or so. -cheers -meadhbh -- meadhbh hamrick * it's pronounced "maeve" @OhMeadhbh * http://meadhbh.org/ * OhMeadhbh@gmail.com On Fri, Jul 16, 2010 at 10:41 PM, Morgaine <morgaine.dinova@googlemail.com> wrote: > That's correct, I was describing flows at the capability level, not at the > transport level. The transport is exactly as you deduced, namely with > separate transports for capability request-response and for asynchronous > event messaging. > > When you send an ENABLE to the capability that controls a particular > asynchronous event stream, you receive back the normal capability OK > response on the same channel as the request (as expected), but the event > messaging that this enables occurs on a distinct channel at the transport > level. > > This makes a lot of sense for practical implementations, because event > messaging requires high bandwidth and low latency and so it is best handled > on a separate transport and using the most efficient form of serialization. > > As an implementation example, the OK response from the request to the > capability could return the IP address and port of the event messaging > source host, the client would open a TCP stream to it, the source host would > send events asynchronously down the pipe, and the client's event listener > would dispatch the event frames to appropriate event handlers as the > messages arrive. > > Different event-generating capabilities could choose to return different > IP:port pairs to harness dynamic load-balanced server pools and to provide > parallel pathing, or they could choose to share a common event transport --- > these would be simple site configuration choices. > > Note that this is highly scalable, since it allows any number of servers to > participate in event generation and distribution. No longer do updates have > to come from a single, horribly overloaded and totally non-scalable > simulator host. > > Consistent with David's regular exhortations, nothing in the above precludes > this model from working in the legacy deployment architectures of SL and > Opensim: single simulator operation is still supported by the design, but > it offers additional capability for more scalable deployments. > > > Morgaine. > > > > > > ===================================== > > On Fri, Jul 16, 2010 at 7:45 PM, Meadhbh Hamrick <ohmeadhbh@gmail.com> > wrote: >> >> Interesting. I had been thinking that the message semantics would require >> a response on the same channel as the request. What you're talking about >> seems to be a little higher level than what I'm pitching. (Thx for pointing >> out I wasn't clear about this) >> >> So.. the way I'm modeling it is that you have message interactions that >> are tied to the same transport session. So if you ask for something with >> http(s), you get it back via http(s) on the same connection. >> >> But it's definitely true that an application layer entity can coordinate >> messages, only I think we should make a "virtual" connection that spans >> actual connections. >> >> But I still think it's advantageous to think of interaction patterns in >> terms of message flows over specific connections, otherwise we have to start >> adding application layer transaction id's to correlate responses to >> requests. Also, since trust seems to be associated with connections (by way >> of (D)TLS), it's probably a good idea to not cross trust boundaries in >> interactions across connections, otherwise we would have to model that in >> the application layer as well. >> >> At the end of the day, we have message patterns that look like: >> >> * send, no reply expected >> * request, response expected >> and >> * unsolicited message. >> >> The first two can be modeled with request/response, but the last one has >> unique characteristics that must be modeled. >> >> -cheers >> -meadhbh >> >> On Jul 16, 2010 11:05 AM, "Morgaine" <morgaine.dinova@googlemail.com> >> wrote: >> >> Considering asynchronous messages to be emitted in response to a CRUD >> operation on an appropriate resource fits in perfectly with the notion of >> Capabilities though. They ARE solicited, by a request to a resource. >> >> As in my earlier example of the text-only client, the CRUD operation >> UPDATE(scenegraph_updates_capability, ENABLE) was not invoked by the client >> (or it was invoked with the argument DISABLE), and hence that resource saves >> time and bandwidth by not sending the unwanted scenegraph updates. If >> instead the resource were set to ENABLE, those update messages would >> certainly be appearing in response to the ENABLE request, so it's a natural >> interpretation. And of course it's very helpful to have such events >> controlled by a capability. >> >> The alternative model in which events are considered normal CRUD >> operations on an event queue in the reverse direction is actually incorrect, >> because then those operations would require responses themselves, and that's >> not what we want. Events don't fit the synchronous request-response model, >> because they're not synchronous, and are ill-suited to a 2-way >> request-response paradigm for every event message. >> >> That's why I prefer the unidirectional model in which events occur as a >> sequence of zero or more messages in response to a normal CRUD operation. >> It's a clean model because the responses travel in the reverse direction >> perfectly naturally (since they're responses) and do not themselves require >> further ACKs. It's also justified because, after all, we will require a >> means of enabling / disabling updates and other asynchronous event >> notifications. This model kills two birds with one stone, and it's a >> natural fit for capabilities. >> >> >> Morgaine. >> >> >> >> >> ================================== >> >> On Fri, Jul 16, 2010 at 5:09 PM, Meadhbh Hamrick <ohmeadhbh@gmail.com> >> wrote: >> > >> > > EVENT is not a... >> >> _______________________________________________ >> 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] thinking about LLIDL and the future Meadhbh Hamrick
- Re: [vwrap] thinking about LLIDL and the future Morgaine
- Re: [vwrap] thinking about LLIDL and the future Meadhbh Hamrick
- Re: [vwrap] thinking about LLIDL and the future Morgaine
- Re: [vwrap] thinking about LLIDL and the future Dzonatas Sol
- Re: [vwrap] thinking about LLIDL and the future Meadhbh Hamrick
- Re: [vwrap] thinking about LLIDL and the future Morgaine
- Re: [vwrap] thinking about LLIDL and the future Meadhbh Hamrick
- Re: [vwrap] thinking about LLIDL and the future Morgaine
- Re: [vwrap] thinking about LLIDL and the future Dzonatas Sol