Return-Path: <xiaoqzhu@cisco.com>
X-Original-To: rmcat@ietfa.amsl.com
Delivered-To: rmcat@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1])
 by ietfa.amsl.com (Postfix) with ESMTP id 8CB601A011B
 for <rmcat@ietfa.amsl.com>; Fri,  6 Nov 2015 20:33:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Level: 
X-Spam-Status: No, score=-14.511 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
 DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001,
 T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44])
 by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id hwUCLJ5w2KDq for <rmcat@ietfa.amsl.com>;
 Fri,  6 Nov 2015 20:33:46 -0800 (PST)
Received: from alln-iport-7.cisco.com (alln-iport-7.cisco.com [173.37.142.94])
 (using TLSv1 with cipher RC4-SHA (128/128 bits))
 (No client certificate requested)
 by ietfa.amsl.com (Postfix) with ESMTPS id 3495D1A0119
 for <rmcat@ietf.org>; Fri,  6 Nov 2015 20:33:46 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
 d=cisco.com; i=@cisco.com; l=6494; q=dns/txt; s=iport;
 t=1446870826; x=1448080426;
 h=from:to:cc:subject:date:message-id:references:
 in-reply-to:content-id:content-transfer-encoding: mime-version;
 bh=svkitIjYcx96+O+1fpDdKAX3JqTtkQ+E2AJsWRGyzPg=;
 b=IJvRjqhpPkvvKl2JrWtpYEgObFixIVXpXRAnSZ5nqJN1K0ML1TxQucKn
 qjrXCRoeQ6TR0/FdrFz417xjd/pG9MCgHJ65l7PP+bS3DKTKis+WOK6Zr
 KwHGn3+jFxASyTMX5A4L23IYJe1O7YuRoG3E0TWne/MyZWAhgPWRfehQN k=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0ASAgAgfj1W/51dJa1dgztTbwa+IgENgWEjhW0CgTM4FAEBAQEBAQGBCoQ2AQECAnkQAgEIGC4yJQIEDgUJiCUNwSMBAQEBAQEBAQEBAQEBAQEBAQEbhlSEfoQqEQEdEYJzgVwFlkgBhgWHH4FbhECNVoRhg3EBHwEBQoQEcgGDUjqBBwEBAQ
X-IronPort-AV: E=Sophos;i="5.20,256,1444694400"; d="scan'208";a="205985602"
Received: from rcdn-core-6.cisco.com ([173.37.93.157])
 by alln-iport-7.cisco.com with ESMTP; 07 Nov 2015 04:33:45 +0000
Received: from XCH-RCD-017.cisco.com (xch-rcd-017.cisco.com [173.37.102.27])
 by rcdn-core-6.cisco.com (8.14.5/8.14.5) with ESMTP id tA74XjGR012965
 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL);
 Sat, 7 Nov 2015 04:33:45 GMT
Received: from xch-rcd-016.cisco.com (173.37.102.26) by XCH-RCD-017.cisco.com
 (173.37.102.27) with Microsoft SMTP Server (TLS) id 15.0.1104.5;
 Fri, 6 Nov 2015 22:33:44 -0600
Received: from xch-rcd-016.cisco.com ([173.37.102.26]) by
 XCH-RCD-016.cisco.com ([173.37.102.26]) with mapi id 15.00.1104.000; Fri, 6
 Nov 2015 22:33:44 -0600
From: "Xiaoqing Zhu (xiaoqzhu)" <xiaoqzhu@cisco.com>
To: Randell Jesup <randell-ietf@jesup.org>
Thread-Topic: [rmcat] How we should handle feedback, and where the congestion
 should run
Thread-Index: AQHRGGgZ8Hg3ExfP+kmWpw3jKvSP2p6PjtIAgABJzAA=
Date: Sat, 7 Nov 2015 04:33:44 +0000
Message-ID: <D262BB29.29148%xiaoqzhu@cisco.com>
References: <563BF7C3.40500@jesup.org>
 <2CEE6E71-BCDC-4778-88D1-8EDE87BAAE4D@ifi.uio.no>
 <563CD0BE.1010807@jesup.org>
In-Reply-To: <563CD0BE.1010807@jesup.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/14.5.7.151005
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.24.96.145]
Content-Type: text/plain; charset="Windows-1252"
Content-ID: <BA06E731F94BD743A183D30F43E5DC62@emea.cisco.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/rmcat/ejFFaTHIghwblcrNkq6ja1qQsZk>
Cc: rmcat WG <rmcat@ietf.org>
Subject: Re: [rmcat] How we should handle feedback,
 and where the congestion should run
X-BeenThere: rmcat@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "RTP Media Congestion Avoidance Techniques \(RMCAT\) Working Group
 discussion list." <rmcat.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rmcat>,
 <mailto:rmcat-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rmcat/>
List-Post: <mailto:rmcat@ietf.org>
List-Help: <mailto:rmcat-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rmcat>,
 <mailto:rmcat-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 07 Nov 2015 04:33:48 -0000

Hi Randell,=20

I noticed your mention of =B3=8A I don't think they've even really gotten m=
uch
into two-way tests; all the graphs I see are for one-way. Two-way will
complicate things - and it's a critical part of the use-cases.=B2  Fully
agree on the importance of two-way calls as use cases.

In the eval-test-case draft, there is currently one test case dedicated
for exploring impact of two-way traffic (Sec. 5.3.  Congested Feedback
Link with Bi-directional RMCAT flows). Some corresponding graphs can be
found below (they may not reflect the most up-to-date algorithm
performance).=20

* NADA:http://www.ietf.org/proceedings/92/slides/slides-92-rmcat-4.pdf
(page #9 and #10)
* SCReAM:=20
http://www.ietf.org/proceedings/interim/2014/11/09/rmcat/slides/slides-inte
rim-2014-rmcat-1-1.pdf (page #9)
(Sorry, I was not able to find one with GCC yet.).
 =20
Would like to know whether you think that current design of the test case
has captured gist of the issue encountered by two-way calls, or any
suggestions on additional test scenarios in that regard?

Thanks,
Xiaoqing



On 11/6/15, 8:09 AM, "rmcat on behalf of Randell Jesup"
<rmcat-bounces@ietf.org on behalf of randell-ietf@jesup.org> wrote:

>On 11/6/2015 2:52 AM, Michael Welzl wrote:
>> The big problem I see with receiver-side schemes is that you don't only
>>need to standardize 1) the feedback message, you also need to
>>standardize the sender behavior in the absence of feedback.
>> 2) If feedback is missing for a while, maybe that's a good thing, as a
>>result of feedback suppression?  So we just gradually and blindly
>>increase the rate?  See early versions of the GCC scheme.
>> 3) If feedback is missing for a long time, at some point you HAVE to
>>have a timeout and react accordingly.
>>
>> Can we agree on all these things? At least 1) AND 3) are necessary.
>
>I agree that we'd need to standardize that when using a receiver-side
>algorithm with a generic message (i.e. not a matched sender with a
>custom/private message), the sender side must be prepared to deal with
>1) and 3) and likely 2), and we would need to specify fairly completely
>the sender-side behavior in response to the feedback (though that
>behavior can be simple).  I.e. the send will attempt to send at the rate
>requested in a feedback message; will inform codecs of the new rate as
>fast as possible; will optionally pace data entering the network to not
>exceed either the congestion rate, or a separate pacing rate supplied.
>Time periods for calculating both rates shall also be provided, though
>the sender may not be able to use an arbitrary time for calculating rate
>(i.e. encoders may not be flexible on that - easier to do for pacing).
>
>In terms of 1/2/3 above: if we do this, the receive-side algorithm could
>configure the sender via these messages and/or negotiation. The feedback
>messages can (optionally) have control information that tells the sender
>what to do on missing feedback, and when.  For example, it could have a
>feedback-timeout field, or timeout and what-to-do-at-timeout fields.  We
>could also define a "are you still there" RTCP that can be sent when we
>see feedback timeouts or are getting close to them, asking the receiver
>to resend (and exactly how to respond to those can be part of the
>receive-side CC algorithm).  It could include updated RS/RR stats for
>any RTP flows, letting the receiver-side update their idea of the
>return-path congestion.
>
>This brings up a more general point for coupling congestion control (I
>forget if this has been discussed) - not only can it make sense to
>couple multiple CC's running in the same direction, but also to inform
>CC's of return-path congestion (and expected network delay!) that
>feedback (RTCP) will contend with.  This applies no matter which end the
>algorithms run at.
>
>I'm sure more specification of a standard receive-side feedback message
>would needed if we decide to go that way; the above would be a start.  I
>do think it's *very* worthwhile defining a standard for feedback
>(whichever end we end up with) such that new single-ended algorithms can
>be trialed or deployed (and coincidentally provides a way for the CC
>algorithm to probe to see if the other side supports something
>compatible, without mandating it be part of a higher-level negotiation).
>
>> To me, this seems like creating difficulties for a problem that MAY
>>also be a non-problem. Note that TCP sends tons of feedback, maybe
>>including SACK blocks, across the same thin uplinks that we're
>>considering. I don't think there is conclusive evidence of that being a
>>problem.
>
>True - but the constraints on TCP are very different, forward delay is
>encouraged to maximize throughput, traffic is often primarily
>unidirectional (so the feedback path is uncontended and often close to
>loss-free especially where the bottleneck link is the local last-mile or
>Wifi), while for us we typically have saturated links in both directions
>while trying to keep delays low, and each packet of feedback takes away
>from payload.
>
>> =3D> I tend to think that moving everything to the sender side is an eas=
y
>>way out.
>
>This still may be so, since in many ways (see above) it's easier to
>feedback raw data and keep *all* decisions at the sender side. (Though a
>sender-side standard feedback packet may still need rules on how to
>operate in reverse-path contention/loss that will need to be added.)
>However, as several of the candidates mentioned, there are issues with
>reverse-path bandwidth use - and I don't think they've even really
>gotten much into two-way tests; all the graphs I see are for one-way.
>Two-way will complicate things - and it's a critical part of the
>use-cases.
>
>A send-side setup with feedback from the receiver for each packet
>(generic or not!) will almost certainly require careful compression
>decisions (and feedback-rate decisions, perhaps semi-controlled by the
>sender - see above similar to the receive-side discussion).  For this
>reason alone, I'm not sure if RTCP-XR will work, even with modifications
>or additions - but I haven't looked much at RTCP-XR other than to note
>it has a LOT of stuff and isn't very thin.  But take that with a grain
>of salt.
>
>--=20
>Randell Jesup -- rjesup a t mozilla d o t com
>Please please please don't email randell-ietf@jesup.org!  Way too much
>spam
>

