Re: [vwrap] thinking about LLIDL and the future
Morgaine <morgaine.dinova@googlemail.com> Sat, 17 July 2010 07:34 UTC
Return-Path: <morgaine.dinova@googlemail.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 B0BCE3A67A4 for <vwrap@core3.amsl.com>;
Sat, 17 Jul 2010 00:34:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.526
X-Spam-Level:
X-Spam-Status: No, score=-1.526 tagged_above=-999 required=5 tests=[AWL=-0.150,
BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001,
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 65fRc4uOae0a for
<vwrap@core3.amsl.com>; Sat, 17 Jul 2010 00:34:43 -0700 (PDT)
Received: from mail-wy0-f172.google.com (mail-wy0-f172.google.com
[74.125.82.172]) by core3.amsl.com (Postfix) with ESMTP id F3AAB3A6359 for
<vwrap@ietf.org>; Sat, 17 Jul 2010 00:34:42 -0700 (PDT)
Received: by wyb40 with SMTP id 40so2826648wyb.31 for <vwrap@ietf.org>;
Sat, 17 Jul 2010 00:34:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma;
h=domainkey-signature:mime-version:received:received:in-reply-to
:references:date:message-id:subject:from:to:content-type;
bh=k/p/kPiRSVLPTVlfNapFjA24sWysSAMXLC8qiPORH5M=;
b=MtW69a6u76gy7EytaQQRTZBZ5eek2XBA4CaqgkitAfKghOy7zbZqSN7Wmz9VTnODvI
FXMOKYQkWfenSpXhzBeSugPsXNnVYoaAhfnbR50RDeM0iDFIRNM81nJJX2WMcQ3UP2UV
WK2GKEMgZ7rM1yRvIgUWYG8HBDT9yGm06nqpE=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma;
h=mime-version:in-reply-to:references:date:message-id:subject:from:to
:content-type;
b=jhGNcl58+HknoaZDRlCCoZYiUSfxn+p3Dn/+iAygrQkHDUhAGl2iPnq38qL85zOovz
UDupmVrttSh7QB6EWtaIkh2jL0dO9yk1OqFQdTIOx9bPWnWGdhmKOwFLcVeXmuOS8xzJ
FNS0+fbRg5PJd/DF6PqQAKzczj5B+8jWkEPwM=
MIME-Version: 1.0
Received: by 10.216.170.200 with SMTP id p50mr1522334wel.96.1279352091647;
Sat, 17 Jul 2010 00:34:51 -0700 (PDT)
Received: by 10.216.139.215 with HTTP; Sat, 17 Jul 2010 00:34:51 -0700 (PDT)
In-Reply-To: <AANLkTilmky5ev5MdgfYWbq0XpDZKOjOumcTS7fkCS98d@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>
<AANLkTilmky5ev5MdgfYWbq0XpDZKOjOumcTS7fkCS98d@mail.gmail.com>
Date: Sat, 17 Jul 2010 08:34:51 +0100
Message-ID: <AANLkTinqsegd6qvUQkIi_FmAZdHrJPXwt14OuYSmxJoA@mail.gmail.com>
From: Morgaine <morgaine.dinova@googlemail.com>
To: vwrap@ietf.org
Content-Type: multipart/alternative; boundary=0016367b60a6f7245b048b905ea2
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 07:34:45 -0000
Righto Meadhbh, I'm looking forward to that. It's worth noting that this design pattern works for many services and subsystems in our kind of VW architecture. Wherever a capability enables a service that operates over a separate transport, the capability grant can supply dynamic IP:port pairs for the transport and hence quite trivially harness load balancing for the service in question. We can certainly apply this not only to object updates but also to group IM, world notifications, and to search. Any region-specific assets such as terrain also fit the model well for load-balanced streaming, and even baked avatars served from load-balanced pools fit the model. It's a generic design that is much more flexible and controllable than access dispersal to dynamic pools through DNS or through load balancers, and it provides good security as well, and no single point of failure. Morgaine. ================================ On Sat, Jul 17, 2010 at 7:27 AM, Meadhbh Hamrick <ohmeadhbh@gmail.com>wrote;wrote: > 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