Re: [rtcweb] realiable data service

Justin Uberti <juberti@google.com> Tue, 19 July 2011 15:59 UTC

Return-Path: <juberti@google.com>
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 9A53821F84F6 for <rtcweb@ietfa.amsl.com>; Tue, 19 Jul 2011 08:59:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.976
X-Spam-Level:
X-Spam-Status: No, score=-105.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
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 eYb-q+P6toXj for <rtcweb@ietfa.amsl.com>; Tue, 19 Jul 2011 08:59:19 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.67]) by ietfa.amsl.com (Postfix) with ESMTP id 2483F21F84EA for <rtcweb@ietf.org>; Tue, 19 Jul 2011 08:59:18 -0700 (PDT)
Received: from kpbe17.cbf.corp.google.com (kpbe17.cbf.corp.google.com [172.25.105.81]) by smtp-out.google.com with ESMTP id p6JFxHdH032216 for <rtcweb@ietf.org>; Tue, 19 Jul 2011 08:59:17 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1311091157; bh=fCIBtwsygf2Ca93Wzl7Qu/8q17o=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=ywAzCBc2hyHx8p9tvHvfLK5yw7yOfxcCfaD5+fnmRPZplDpWNbdEqdYJMc6Y6n2Hq rM+yKXdP+LRH6MMuBZ2cg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:from:date: message-id:subject:to:cc:content-type:x-system-of-record; b=JY1tUIVb4GW+UI4/XF6uVYCZyg4E9g4cyd9cEpHm9E1ACWvhIcXyzxep9gsOz6v8v Y8IwXL63qCfvN/NC+mXzw==
Received: from iyi20 (iyi20.prod.google.com [10.241.51.20]) by kpbe17.cbf.corp.google.com with ESMTP id p6JFxFr0018908 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <rtcweb@ietf.org>; Tue, 19 Jul 2011 08:59:15 -0700
Received: by iyi20 with SMTP id 20so5908929iyi.35 for <rtcweb@ietf.org>; Tue, 19 Jul 2011 08:59:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=Rq/mMp0aRJGIj6I7+gERpUWX1MDZjyILRW6kvtw6RqM=; b=eWl0t8v/zkz8ouP3kd6wjQg9SRHI1YM7jG4rkoctrVgB6SXo7oA3oFOBtbBAmvVKBE S8jDpYrSL2nji9yTJFkQ==
Received: by 10.231.73.138 with SMTP id q10mr7163038ibj.13.1311091155185; Tue, 19 Jul 2011 08:59:15 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.35.4 with HTTP; Tue, 19 Jul 2011 08:58:55 -0700 (PDT)
In-Reply-To: <CA4AFBFA.1C4B5%henry.sinnreich@gmail.com>
References: <CAMKM2LzpVcS9jjXjfffuXy+YQmjZXbdaSJBp+O22nLd4N2KAvg@mail.gmail.com> <CA4AFBFA.1C4B5%henry.sinnreich@gmail.com>
From: Justin Uberti <juberti@google.com>
Date: Tue, 19 Jul 2011 08:58:55 -0700
Message-ID: <CAOJ7v-3R0PeUSdVZ0n7AE08J=UjYMJqJ+4-Vkbj7w0qs0u=Rgw@mail.gmail.com>
To: Henry Sinnreich <henry.sinnreich@gmail.com>
Content-Type: multipart/alternative; boundary="000e0cd56f2692b0a904a86e3270"
X-System-Of-Record: true
Cc: rtcweb@ietf.org
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: Tue, 19 Jul 2011 15:59:23 -0000

At Google, we created a TCP/ICE-UDP layering to solve this exact problem,
using a user-mode implementation of TCP. It has some rough edges, but has
worked well in practice, and the code is freely available.

We know people will want/need a reliable messaging mechanism for p2p data.
While we can debate the details of this mechanism at length, I suspect
anything we choose will result in a better end-state than if we require
application developers to implement their own.

On Tue, Jul 19, 2011 at 7:16 AM, Henry Sinnreich
<henry.sinnreich@gmail.com>wrote:

>  +1
> Maybe it would be useful for the proponents of this and many other
> “desirable” features to think from the perspective if they would have to pay
> themselves for such developments and also make the code freely available.
> Cullen at least will make his code available.
>
> Thanks, Henry
>
>
>
> On 7/18/11 2:16 AM, "Serge Lachapelle" <sergel@google.com> wrote:
>
> Hi Cullen,
>
> I agree with your push back.
>
> Focus is very important. Audio and video already present a huge challenge.
> (signalling, network, web developer friendly API, security, browser
> integration...)
>
> Also, I think that there is a real risk in introducing "duplicate"
> functionality in the browser as it may confuse web developers. There is a
> lot going on in HTML5...
>
> In my mind, this is "version 2.0" stuff.
>
> /Serge
>
>
> On Fri, Jul 15, 2011 at 17:51, 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. Unless someone has a real need, and wants to put forward a
> proposal, I don't see a need to focus energy on this right now. I'd rather
> work on the thing everyone agrees they do need which is the unreliable
> transfer.
>
> Cullen <in my individaul contribut role>
>
> On Jul 13, 2011, at 8:57 , Magnus Westerlund wrote:
>
> > Hi,
> >
> > I have reviewed the input both the last 2 weeks and the discussion back
> > in April.
> >
> > I see a strong support but with at least 2 people disagreeing to a basic
> > p2p datagram functionality. The use cases are various and some just
> > state that they see it as important functionality to provide to empower
> > the web application.
> >
> > Based on this I declare a rough consensus on that we should provide a
> > non-media data service that is unreliable datagram oriented directly
> > between the peers.
> >
> > One of objections against this was lack of clear requirements for what
> > the service. The straw men requirements I included has gotten some
> > discussion. Mostly support for them, but it is clear to me that we need
> > to further develop them. I would recommend the proponents for driving
> > proposals towards meeting this functionality to further discuss the
> > requirements taking the input so far into consideration.
> >
> > When it comes to reliable data transfer between peers there has been 4-5
> > that wanted the functionality, 2 additional that explicitly stated they
> > where okay with it. No additional that has stated against it.
> >
> > My interpretation is that we are close to having a rough consensus for
> > reliable data service, but we have so far seen no proponent willing to
> > suggest a solution for this. I would also note that a solution is likely
> > a functionality block that isn't dependent on more than the
> > signaling/negotiation and the NAT traversal and thus can be added a
> > later stage or be worked on with a completion date further into the
> > future than other pieces already.
> >
> > So for reliable data I would recommend that someone takes on the role of
> > proponent and provides a draft with their perceived requirements and a
> > straw man proposal for how to solve these requirements so we have
> > something more tangible to discuss.
> >
> > Cheers
> >
> > Magnus
> >
> > On 2011-06-27 09:36, Magnus Westerlund wrote:
> >> WG,
> >>
> >> At the interim it was planned to have a bit discussion on the datagram
> >> service for RTCWEB. The first question to try to resolve if there
> >> is consensus for including some form of non real-time media (i.e. not
> >> audio, video) service between peers. This is a bit tangled with the
> >> actual requirements and use cases. But there was views both for it and
> >> against it on the mailing list. So lets continue and try to come to a
> >> conclusion on this discussion.
> >>
> >> The use cases mentioned on the mailing list are:
> >>
> >> - Dynamic meta data for Conference and other real-time services
> >>
> >> - Gaming data with low latency requirements
> >>
> >> Does anyone like to add additional use cases?
> >>
> >> Based on my personal understanding this points to primarily have the
> >> RTCWEB provide a unreliable datagram service. This clearly needs
> >> additional requirements to be secure and safe to deploy, but more about
> >> this below. I still like to ask the WG here a question.
> >>
> >> Are you supporting the inclusion of a unreliable datagram service
> >> directly between peers? Please provide your view and any additional
> >> statements of motivation that you desire to provide.
> >>
> >> Secondly, there is a question if there needs to have something that
> >> provides reliable message (of arbitrary size) or byte stream oriented
> >> data transport between the peers. I personally foresee that people will
> >> build JS libraries for this on top of a unreliable datagram service. If
> >> you desire reliable data service as part of the standardized solution
> >> please provide motivation and use case and requirements.
> >>
> >> I also want to take a stab on what I personally see as the requirements
> >> that exist on unreliable datagram service in the context of RTCWEB.
> >>
> >> - Unreliable data transmission
> >> - Datagram oriented
> >>   * Size limited by MTU
> >>     - Path MTU discovery needed
> >>   * Fragmentation by the application
> >> - Low latency, i.e. Peer to Peer preferable
> >> - Congestion Controlled, to be
> >>   * Network friendly
> >>   * Not become a Denial of Service tool
> >> - Security
> >>  * Confidentiality
> >>  * Integrity Protected
> >>  * Source Authenticated (at least bound to the signalling peer)
> >>  * Ensure consent to receive data
> >>
> >> Please debate the above. This is an attempt to ensure that we can
> >> establish WG consensus on both data service and any requirements.
> >>
> >> cheers
> >>
> >> Magnus Westerlund
> >>
> >> ----------------------------------------------------------------------
> >> Multimedia Technologies, Ericsson Research EAB/TVM
> >> ----------------------------------------------------------------------
> >> Ericsson AB                | Phone
>
>
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
>
>