Re: [rtcweb] realiable data service

Randell Jesup <randell1@jesup.org> Sat, 16 July 2011 18:38 UTC

Return-Path: <randell1@jesup.org>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4EFCF21F8766 for <rtcweb@ietfa.amsl.com>; Sat, 16 Jul 2011 11:38:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.449
X-Spam-Level:
X-Spam-Status: No, score=-2.449 tagged_above=-999 required=5 tests=[AWL=0.150, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ORG4yx4F-JLI for <rtcweb@ietfa.amsl.com>; Sat, 16 Jul 2011 11:38:16 -0700 (PDT)
Received: from arthur.webserversystems.com (arthur.webserversystems.com [174.132.191.98]) by ietfa.amsl.com (Postfix) with ESMTP id CC3AE21F868A for <rtcweb@ietf.org>; Sat, 16 Jul 2011 11:38:16 -0700 (PDT)
Received: from pool-98-111-140-38.phlapa.fios.verizon.net ([98.111.140.38] helo=[192.168.1.12]) by arthur.webserversystems.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from <randell1@jesup.org>) id 1Qi9km-0008CD-1k for rtcweb@ietf.org; Sat, 16 Jul 2011 13:38:16 -0500
Message-ID: <4E21DA68.7010508@jesup.org>
Date: Sat, 16 Jul 2011 14:37:28 -0400
From: Randell Jesup <randell1@jesup.org>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.18) Gecko/20110616 Thunderbird/3.1.11
MIME-Version: 1.0
To: rtcweb@ietf.org
References: <4E0832FE.7010401@ericsson.com> <4E1DC07B.7000807@ericsson.com> <D1BE71E1-4F3B-474E-8A28-AA53CE6B684E@cisco.com> <F43A8952-0CF3-4683-923F-DF1ED0B4344B@phonefromhere.com>
In-Reply-To: <F43A8952-0CF3-4683-923F-DF1ED0B4344B@phonefromhere.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - arthur.webserversystems.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - jesup.org
X-Source:
X-Source-Args:
X-Source-Dir:
Subject: Re: [rtcweb] realiable data service
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 16 Jul 2011 18:38:17 -0000

On 7/15/2011 1:29 PM, Tim Panton wrote:
> If we don't specify a  reliable transport then all the page authors will end adding a reliable layer in javascript, it will be as ugly as DTMF in RTP !
> Or worse it will be spray and pray.
>
> Most of the use-cases I can think of need  sequenced and reliable datagrams. If I'm playing a game I don't want it to
> drop or mis-order any one of the actions in the unholster, point, shoot  sequence :-)

I must agree that if we don't provide a reliable transport in 
conjunction with the
other streams, you'll get a hodgepodge of incompatible, semi-functional
reliable transports layered on top of unreliable streams.  Not that one 
can't do a good
reliable transport on top of an unreliable layer, but people have 
varying abilities
to get it right.    Also, an integrated solution might have options for 
better
performance than a user-layered solution would (for example, prioritizing
certain packets from a reliable stream like restransmits or acks).

As for the need - one of the first real-time apps on the internet was 
netrek.  This
predates the  web by years (I was in a netrek league in 1991), in the 
days when
a big international company would have a 64Kbps connection.  The 
original TCP-based
protocol broke down badly when exposed to congestion and the real net.  
The solution
was to break the data streams into two: one unreliable one for most 
positional updates,
and a reliable stream for game-state-critical data (like "you're dead").

Saying "if you want reliable data, use a proxy" is also silly IMHO.

Perhaps some here from or formerly from Adobe can speak to the utility 
of reliable streams
in RTFMP.

In VoIP there's a consistent issue with the need to do some things (like 
DTMF) reliably when
your primary streams are unreliable.  Witness DTMF and the mess over RFC 
2833 vs SIP INFO.

> I don't think it is very hard to implement, we could take RFC 5456's sequencing and retry mechanism for example.
> or indeed Plan9's IL .

-- 
Randell Jesup
randell-ietf@jesup.org