Re: [ogpx] Event Streams, Realtime and transport

Meadhbh Siobhan <meadhbh.siobhan@gmail.com> Wed, 05 August 2009 12:00 UTC

Return-Path: <meadhbh.siobhan@gmail.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 45E523A69FB; Wed, 5 Aug 2009 05:00:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.311
X-Spam-Level:
X-Spam-Status: No, score=-2.311 tagged_above=-999 required=5 tests=[AWL=0.288, BAYES_00=-2.599]
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 LvJD2PvypVQQ; Wed, 5 Aug 2009 05:00:30 -0700 (PDT)
Received: from an-out-0708.google.com (an-out-0708.google.com [209.85.132.240]) by core3.amsl.com (Postfix) with ESMTP id 14BE43A6A97; Wed, 5 Aug 2009 05:00:30 -0700 (PDT)
Received: by an-out-0708.google.com with SMTP id c37so10447anc.4 for <multiple recipients>; Wed, 05 Aug 2009 05:00:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=aIFUwkFjzbcT0ZpZSiVlxWcM20aGNDJVLnctIFyTJak=; b=Cnaehc7Ssw74lKHGnlqlK4KZOfqRonBj0l0CbgNbVCTwFqFZC256hqLGRkV3BD67l/ joRFtkeyfOFqRUQO/5X98i1bP1ITUDe+alKe+CDtjl6nO2waW3X7ZF9P1KnIgvKxgZwj zIht2A7hG24bsvGvYNruDVqN0cx6EvCbit8XI=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=avmeyFdFUd+UW5nK/eBKu4Xlu5UnN7NL9Sd41cXT4MrMG9Arcbip2S8ArlRVbUTfOe Vm6DpiIeWavYM6W+qDDlADoUPU3U626d37B6/q3pTaIp99+q4rvftIvO9zDAxdIXN9JS brxDyClkaJjWddP3pB2xfeSuEO53f3WcOe8dk=
MIME-Version: 1.0
Received: by 10.100.43.14 with SMTP id q14mr10453224anq.47.1249473631051; Wed, 05 Aug 2009 05:00:31 -0700 (PDT)
In-Reply-To: <OFB4233516.8DB00FA4-ON85257609.000B8F47-85257609.00137350@us.ibm.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>
Date: Wed, 5 Aug 2009 05:00:31 -0700
Message-ID: <b8ef0a220908050500gbab6654p159f7e59aeed62c6@mail.gmail.com>
From: Meadhbh Siobhan <meadhbh.siobhan@gmail.com>
To: David W Levine <dwl@us.ibm.com>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
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 12:00:31 -0000

experience tells us that real time formats and protocol are a
surprisingly small portion of the solution space. also, the term "real
time" is sometimes used to mean a number of different things. we also
don't have a demonstrated need for real time data, only a perceived
need for it.

i would recommend we say that the definition of "real time" behavior
is "in scope" and give ourselves the option of defining real-time
behavior if needed. an example solution might be the use and
definition of RTP payload formats for delivering object updates. but
let's keep it an option at this point.

having performance characteristics for various transactions is a good
idea, but i don't know that we can mandate performance characteristics
of any transport without introducing QoS. our assumptions up to this
point was that the protocol defined messages that signaled state
transitions and that these messages used REST-like request/response
semantics. that is, the client sent the message and was responsible
for receiving the response. if the response did not come in a
"reasonable" amount of time, the client could repeat it. This is why
REST resource accesses are supposed to be idempotent. We did not
attempt to define the definition of "reasonable" but rather gave that
intelligence to the client.

i think we should be very clear that there's a difference between the
desire that information be transmitted in a low-latency manner and the
requirement that a protocol transaction be "real time." RT(C)P is
designed to carry information that if it arrives too late, is useless.
VoIP is the classic example; if a voice packet arrives too late it is
discarded, you can't integrate it back into the voice stream. many
virtual worlds and MMORPGs do not operate in this fashion today.
instead of discarding late packets, the user experience just seems to
freeze for a few moments followed by a rapid application of messages
received.

additionally, real time data can come over TCP or UDP (i would
recommend keeping SCTP as an experimental option for the time being.)
when it comes as UDP, it frequently has to compete with TCP traffic.
as the network approaches its network rate and packets start
disappearing, it's frequently the UDP messages that suffer the most.
ergo, you'll start seeing real time data disappear. if you send it
over TCP, then you get latency induced by recovering from congestion
control.

so.. in short... we should be EXTREMELY certain that this is what we
want to do. we should also be EXTREMELY certain as to which parts of
the protocol should be given a "real time" option. and we should keep
it an option. for example, defining object updates in terms of RTP
would effectively eliminate a web client using XMLHttpRequest() as
it's primary mode of interaction from accessing state change
information. ditto for XMPP clients.

-cheers
-meadhbh

On Tue, Aug 4, 2009 at 8:32 PM, David W Levine<dwl@us.ibm.com> wrote:
>
> Based on some discussion after the BOF, i want to offer up the following to
> provoke discussion:
>
> Language to be included in the charter, in the properties of the protocol
> section:
>
> * The protocol needs to support the efficient delivery of asynchronous
> update streams between services,
>     including, specifically between regions and clients.
>
> * The protocol needs to support the processing of real time user inputs and
> low level state changes As part
>    of its work, the working group will characterize the required
> performance, and validate the suitability of
>    transports for these needs.
>
> - David Levine
> ~ Zha Ewry In Second Life
>
> _______________________________________________
> ogpx mailing list
> ogpx@ietf.org
> https://www.ietf.org/mailman/listinfo/ogpx
>
>