Re: [rtcweb] realiable data service

Randell Jesup <randell1@jesup.org> Mon, 18 July 2011 22:12 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 1253C21F880C for <rtcweb@ietfa.amsl.com>; Mon, 18 Jul 2011 15:12:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.499
X-Spam-Level:
X-Spam-Status: No, score=-2.499 tagged_above=-999 required=5 tests=[AWL=0.100, 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 71uN2HNoZWWC for <rtcweb@ietfa.amsl.com>; Mon, 18 Jul 2011 15:12:02 -0700 (PDT)
Received: from arthur.webserversystems.com (arthur.webserversystems.com [174.132.191.98]) by ietfa.amsl.com (Postfix) with ESMTP id 5DF0A21F8797 for <rtcweb@ietf.org>; Mon, 18 Jul 2011 15:12:02 -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 1Qiw2j-0005bh-HS for rtcweb@ietf.org; Mon, 18 Jul 2011 17:12:01 -0500
Message-ID: <4E24AF7C.4080604@jesup.org>
Date: Mon, 18 Jul 2011 18:11:08 -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> <CA+9kkMCJiE+bfEqZzOBo46aXVH-H2sehHh6UJv3tVdJKGjaokQ@mail.gmail.com> <49CD37FC-7951-45A0-84C4-A443F8B151F3@cisco.com>
In-Reply-To: <49CD37FC-7951-45A0-84C4-A443F8B151F3@cisco.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: Mon, 18 Jul 2011 22:12:03 -0000

On 7/18/2011 1:12 PM, Cullen Jennings wrote:
> On Jul 17, 2011, at 15:54 , Ted Hardie wrote:
>
>> On Fri, Jul 15, 2011 at 8:51 AM, Cullen Jennings<fluffy@cisco.com>  wrote:
>>
>> I'd like to push back on the reliable service. I've yet to hear a use case for it that was real time. It's very hard to do a reliable real time protocol and we have seen zero proposal for this. For non real time data, just dump it in dropbox of whatever your equivalent is and don't do it peer to peer.
>>
>> Can I see your dropbox incantation for remote camera movement?  I am particularly interested in how you make it useful without a reliable, near real-time message that says "go check dropbox for $foo"....
> Ok, Ok, - I deserver to made fun of.  There are something you can't do with drop box or XMPP but lets take the PTU control problem. I have seen protocols that have semantics like "start panning right" or "pan right 10 degrees relative to current position". These protocol all have an lousy user experience compared to the ones that have semantics of "go to absolutely position Y at time X". IMHO, the best way to do a real time PTU control protocol is just periodical send the absolute position you want the camera to be at and send it more than once, or each time the users presses the button, if you don't want to do an ACK. It's hard to been something like that if latency is important. If latency is not important, XMPP is easier. (thought I would still send absolute not relative). I'll note more than one system is doing PTU control over RTP using an approach much like sending DTMF via RTP.

I agree it's easier/more accurate to say "move to X".  However, people 
are used to various
"continuous" motion controls, like zoom and trying to frame a subject, 
or follow motion.  From
a UI point of view, a good low-delay continuous reactive system is often 
more functional, depending
the problem space.  People will find a way to fit their preferred user 
experience onto the protocol,
even if it's not a good fit for the protocol, because they don't care 
about the protocol - they
care about their UI.

>> To put this another way, a reliable protocol associated with a real time stream has some pretty obvious uses (gaming has also already been mentioned).
> I'm pushing back on it is obvious that there are use cases for this. That there is simultaneous need for the semantics of "you must deliver this data no matter how long it takes" and "this data need to get there in less than X time or it is useless" is not obvious to me.

It's rare that "no matter how long it takes" is hugely delayed - if it 
is, you have other, bigger
problems.  Delayed - could well be; usually only a little, with some 
jitter.  And SCTP would
be even better as far as that's concerned.

Talk to some RT networked game designers.  I'll bet they all use a mix 
of reliable and unreliable
protocols (perhaps not like TCP, more like SCTP).  But even though 
reliable == not guaranteed,
I'll bet they all want it to get there as fast as possible in the normal 
case.

People are ignoring the huge positive of having this data connection 
bundled with the other
streams and connected with them.  Having to set up a parallel reliable 
stream adds all sorts
of complexity to the application when firewall traversal/IP address 
changes/etc are included, and
then you have the issue of it being a second distinct stream from a 
congestion point of view - it
makes it very hard to control the relative bandwidth of the reliable 
stream versus all the unreliable
streams - you're likely to get ~ 50% for the reliable stream if you're 
overcommitted, with the % varying
quite a bit.  And if the stream has to go through a relay or server 
while media goes P2P
you have an issue for people designing services to use this protocol - 
increased cost and bandwidth
for one.  Even a chat-with-file-transfer - if the file xfer has to go 
through the server, you have to maintain
bandwidth for that case, and transfer speed may be limited by RTT of 
going through a remote server
(think Taiwan user to Taiwan user with a relay in the US).

All that said - yes, there are complexity issues to consider, which was 
why I was suggesting leveraging
an existing tunneled protocol like SCTP or even TCP-over-UDP.

-- 
Randell Jesup
randell-ietf@jesup.org