Re: [Spud] Additional SPUD use-cases

"Black, David" <david.black@emc.com> Tue, 17 March 2015 14:19 UTC

Return-Path: <david.black@emc.com>
X-Original-To: spud@ietfa.amsl.com
Delivered-To: spud@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E31371A1A67 for <spud@ietfa.amsl.com>; Tue, 17 Mar 2015 07:19:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.322
X-Spam-Level:
X-Spam-Status: No, score=-0.322 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FRT_STOCK2=3.988, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=no
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 neHfRY-Ci1de for <spud@ietfa.amsl.com>; Tue, 17 Mar 2015 07:19:23 -0700 (PDT)
Received: from mailuogwhop.emc.com (mailuogwhop.emc.com [168.159.213.141]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0B8D61A1A7C for <spud@ietf.org>; Tue, 17 Mar 2015 07:19:19 -0700 (PDT)
Received: from maildlpprd06.lss.emc.com (maildlpprd06.lss.emc.com [10.253.24.38]) by mailuogwprd01.lss.emc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.0) with ESMTP id t2HEJBM8006225 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 17 Mar 2015 10:19:14 -0400
X-DKIM: OpenDKIM Filter v2.4.3 mailuogwprd01.lss.emc.com t2HEJBM8006225
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=emc.com; s=jan2013; t=1426601954; bh=rrL/vBoPSFsizFwlMoUZM1N0FzU=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=WuQfffhiQxjq8lVYGXH7fPphqBUfsN/x8KPkX600BR/Uu8dRrxBB+ocWoQPR5Gqq7 KEwAWNQaoJYKvMp6K2cMhE+vttpTAVpxdIml6a3nsD1Ih+v+riWL71vjAWk+HPkaf9 pLrb+2ylBvvo1tnAgvpOJ2dsKw5AF+SgAXn+zqMY=
X-DKIM: OpenDKIM Filter v2.4.3 mailuogwprd01.lss.emc.com t2HEJBM8006225
Received: from mailusrhubprd02.lss.emc.com (mailusrhubprd02.lss.emc.com [10.253.24.20]) by maildlpprd06.lss.emc.com (RSA Interceptor); Tue, 17 Mar 2015 10:18:53 -0400
Received: from mxhub29.corp.emc.com (mxhub29.corp.emc.com [128.222.70.169]) by mailusrhubprd02.lss.emc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.0) with ESMTP id t2HEIrRI009375 (version=TLSv1 cipher=AES128-SHA bits=128 verify=FAIL); Tue, 17 Mar 2015 10:18:53 -0400
Received: from MXHUB210.corp.emc.com (10.253.68.36) by mxhub29.corp.emc.com (128.222.70.169) with Microsoft SMTP Server (TLS) id 8.3.327.1; Tue, 17 Mar 2015 10:18:52 -0400
Received: from MX104CL02.corp.emc.com ([169.254.8.93]) by MXHUB210.corp.emc.com ([10.253.68.36]) with mapi id 14.03.0224.002; Tue, 17 Mar 2015 10:18:52 -0400
From: "Black, David" <david.black@emc.com>
To: "Pal Martinsen (palmarti)" <palmarti@cisco.com>
Thread-Topic: [Spud] Additional SPUD use-cases
Thread-Index: AQHQX9ljbTPSFHtRgkqtPZO67VoMRZ0fl4EA///wybCAASnYAIAABnyw
Date: Tue, 17 Mar 2015 14:18:51 +0000
Message-ID: <CE03DB3D7B45C245BCA0D24327794936414CF2@MX104CL02.corp.emc.com>
References: <B57E4F68-A0C6-44D8-A729-47B1BED309C9@cisco.com> <CA+9kkMB4kfmMuR61aAhHLzrhEK37dEqy9cpdaqdtzpuyoCbBfg@mail.gmail.com> <CE03DB3D7B45C245BCA0D24327794936412E51@MX104CL02.corp.emc.com> <73D46BA8-DB33-481F-B0FB-DDD3B1F0F7FB@cisco.com>
In-Reply-To: <73D46BA8-DB33-481F-B0FB-DDD3B1F0F7FB@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.238.44.163]
Content-Type: multipart/alternative; boundary="_000_CE03DB3D7B45C245BCA0D24327794936414CF2MX104CL02corpemcc_"
MIME-Version: 1.0
X-Sentrion-Hostname: mailusrhubprd02.lss.emc.com
X-RSA-Classifications: DLM_1, public
Archived-At: <http://mailarchive.ietf.org/arch/msg/spud/g5u0Pj-hehLYUBgCgKgqKnA8RB4>
Cc: "spud@ietf.org" <spud@ietf.org>
Subject: Re: [Spud] Additional SPUD use-cases
X-BeenThere: spud@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Session Protocol Underneath Datagrams <spud.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spud>, <mailto:spud-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/spud/>
List-Post: <mailto:spud@ietf.org>
List-Help: <mailto:spud-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spud>, <mailto:spud-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 17 Mar 2015 14:19:28 -0000

> -- Rate Adaptation based on network feedback, and (to some extent) FCFS (weak) admission control:
>
> This work is TCP based, but with similar goals:
[... snip ...]
> For now my conclusion is; there is interest in solving similar problems for TCP, so adding it to the SPUD use-case discussion make sense.

+1 - that was the reason for sending those draft pointers.

> Do we have any information that network elements can handle different DSCP values within a 5-tuple?
> Word on the street a few years back was that it could be difficult for some platforms.

The problems aren’t so much network elements, as they are transport protocol side effects.  See the DART draft for more.

> In my head SPUD will improve the above drafts by:
>
> - Provide end to end signalling.
>  (Would be interesting to know the rationale on why the networks remarks the DSCP values so we can avoid that with SPUD).

Losing battle; values that can’t be rewritten will be ignored.  If DSCP values are used for QoS, they’re part of the network’s traffic engineering and hence have to be rewritable by the network operator (prior optimism that the values would somehow pass through all networks unchanged w/each network doing something reasonable has proven to be naïve); if they can’t be rewritten, they will (have to) be ignored, IMHO.  This draft provides some info about an approach with end-to-end possibilities that is likely to work if it gets adopted and widely deployed:

http://datatracker.ietf.org/doc/draft-ietf-tsvwg-diffserv-intercon/

Thanks,
--David

From: Spud [mailto:spud-bounces@ietf.org] On Behalf Of Pal Martinsen (palmarti)
Sent: Tuesday, March 17, 2015 5:48 AM
To: Black, David
Cc: spud@ietf.org
Subject: Re: [Spud] Additional SPUD use-cases


On 16 Mar 2015, at 22:02, Black, David <david.black@emc.com<mailto:david.black@emc.com>> wrote:

Here are four potentially related drafts:


Thanks for pointing them out. Interesting read.


-- Rate Adaptation based on network feedback, and (to some extent) FCFS (weak) admission control:

This work is TCP based, but with similar goals:

https://datatracker.ietf.org/doc/draft-sprecher-mobile-tg-exposure-req-arch/
https://datatracker.ietf.org/doc/draft-flinck-mobile-throughput-guidance/

The latter draft is (IMHO) better viewed as a proof-of-concept demonstration that this can work, as opposed to a specific protocol design for how to do it.  Design concerns have been raised about what was done there (e.g., aggressive use of TCP options).

For now my conclusion is; there is interest in solving similar problems for TCP, so adding it to the SPUD use-case discussion make sense.



-- Dynamic Per Type Packet Prioritization (DPTPP *sigh*)

Web RTC wants to do this from the application:

      https://datatracker.ietf.org/doc/draft-ietf-tsvwg-rtcweb-qos/

And it can be done, if one is careful:

      https://datatracker.ietf.org/doc/draft-ietf-dart-dscp-rtp/ (in RFC Editor Queue)

We have implemented a prototype setting different DSCP values on different video packets a few years back. The platform we did it on was a bit underpowered regarding main CPU vs video enc/dev processors. The extra setsockopt call to change the pr packet DSCP value caused problems. Was also unsure if any buffering in the OS cause the right markings to be set on the right packet. The sendMsg() function will probably ensure that, but at the time we did not rewrite our stack to support that.

Do we have any information that network elements can handle different DSCP values within a 5-tuple? Word on the street a few years back was that it could be difficult for some platforms.

In my head SPUD will improve the above drafts by:

- Provide end to end signalling.
  (Would be interesting to know the rationale on why the networks remarks the DSCP values so we can avoid that with SPUD).

- Easier for applications. Just memcpy() a spud buffer in front of your RTP packet (Make sure to start writing your RTP packet a bit into the buffer…), and fire off the packet as usual. This is an important aspect as it eases the integration work of SPUD. If the application already supports ICE it probably does do similar tricks because of TURN.

- It is possible to build a SPUD->DSCP gateway. This is nice as customers can place that gateway at the edge and still have the old carefully DSCP crafted network provide value.


.-.
Pål-Erik




Thanks,
--David

From: Spud [mailto:spud-bounces@ietf.org] On Behalf Of Ted Hardie
Sent: Monday, March 16, 2015 12:56 PM
To: Pal Martinsen (palmarti)
Cc: spud@ietf.org<mailto:spud@ietf.org>
Subject: Re: [Spud] Additional SPUD use-cases

Hi Pål-Erik,
Thanks for your message; some comments in-line.

On Mon, Mar 16, 2015 at 4:07 AM, Pal Martinsen (palmarti) <palmarti@cisco.com<mailto:palmarti@cisco.com>> wrote:
Hi,

I have a few additional SPUD use-cases I want to bring to the list before the BoF. Some of them have already been solved by using STUN as a signalling protocol (http://tools.ietf.org/id/draft-martinsen-tram-discuss-02.txt). I think SPUD is a more efficient carrier of the bits needed to solve some of the use-cases. But for now they are just use-cases, and discussions on how to solve them should probably be deferred to a later stage.

* Rate Adaption With Confidence
Todays delay sensing rate adaption mechanisms seems to be working very well and can potentially react within half a RTT (Is TT, Trip Time, more accurate or in use as a term?). Having explicit network feedback signalled back to endpoint enabled endpoints to pick a more reasonable starting value when sending media. Explicit signalling during the call enables the network as to signal information back to the endpoint before the problems occur (ECN). Up/down speeding could potentially be done in larger chunks with confidence.

* First Come, First Serve
In WiFi we have some lab tests that show when you hit a limit you hit it hard and everybody on that link suffers. If 9 people enjoy their video conversations going through the same WiFi AP, it is annoying if a 10th call is added causing everybody to get bad video. A possible solution is to let the network signal back to the 10th participants trying to send video that bandwidth is not available; “I will put you in worse than best effort queue if you try to send at that rate”. If bandwidth become available the network will notify the user. Note that this is not RSVP and resource allocation, just hints from the network that if you try, you will suffer.
​

​When you say "the network" here, this seems to me the first hop-AP.  For cases where the radio resources are at issue, it seems likely that you might want to coordinate this with the other 802.11 facilities, so I'm not sure that this the right layer to do this.  In particular, multi-AP deployments might request the station re-associate to a less-busy AP or make other adjustments to the channel handling of frame marked with the higher priority WMM bits (given the potential issues with cross-talk, shifting APs is certainly not a panacea, but my be better than what amounts to admission control).
​

* Dynamic Per Type Packet Prioritisation (DPTPP *sigh*)
The SPUD use case draft opens up for tube prioritisation. It is possible to prioritise among for example audio, video and data tubes when multiplexing (Bundle) is in use. It is important that the prioritisation is made dynamic. When running a video conference you might want to prioritise video packets, but suddenly there is a need to upload a large presentation to all the participants. In that case it might not make sense for participants having pristine 1080p60 video watching each other waiting for the slow uploading of the presentation to finish.

And the packet type prioritisation does not necessarily stop at audio or video level. Video packets can have for example spatial layers where packets belonging to a temporal layer can be discarded by the network without to much impact on the video quality. Discarding an I-Frame would have much more impact on the quality.


​I think ordinal priority among the tubes coming from the same user is a baseline use case.  There seem to be two possibilities to making that dynamic:  mint a new tube or set of tubes on the same 6-tuple ​when the ordinal priority changes or update the ordinal priority on the existing tubes.  I am not sure of the complexity trade-off between those two yet, and I'd be interested in folks thoughts on that.

​regards,
Ted​




Comments, flames and what not are of course welcome.

.-.
Pål-Erik

_______________________________________________
Spud mailing list
Spud@ietf.org<mailto:Spud@ietf.org>
https://www.ietf.org/mailman/listinfo/spud