Re: [Spud] Additional SPUD use-cases

Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch> Thu, 19 March 2015 15:38 UTC

Return-Path: <mirja.kuehlewind@tik.ee.ethz.ch>
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 C80FE1A0174 for <spud@ietfa.amsl.com>; Thu, 19 Mar 2015 08:38:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.078
X-Spam-Level:
X-Spam-Status: No, score=0.078 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FRT_STOCK2=3.988, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-2.3, 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 Ov31tPtH9gAT for <spud@ietfa.amsl.com>; Thu, 19 Mar 2015 08:38:16 -0700 (PDT)
Received: from smtp.ee.ethz.ch (smtp.ee.ethz.ch [129.132.2.219]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E23071ACDDC for <spud@ietf.org>; Thu, 19 Mar 2015 08:38:09 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by smtp.ee.ethz.ch (Postfix) with ESMTP id 71BE2D9307; Thu, 19 Mar 2015 16:38:08 +0100 (MET)
X-Virus-Scanned: by amavisd-new on smtp.ee.ethz.ch
Received: from smtp.ee.ethz.ch ([127.0.0.1]) by localhost (.ee.ethz.ch [127.0.0.1]) (amavisd-new, port 10024) with LMTP id Iqxs37obP0YV; Thu, 19 Mar 2015 16:38:08 +0100 (MET)
Received: from 172-27-222-211.dynapool.nyu.edu (NYUFWA-BORDERNAT-GUEST-02.NET.NYU.EDU [192.76.177.125]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: mirjak) by smtp.ee.ethz.ch (Postfix) with ESMTPSA id A158CD9309; Thu, 19 Mar 2015 16:38:07 +0100 (MET)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\))
From: Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>
In-Reply-To: <73D46BA8-DB33-481F-B0FB-DDD3B1F0F7FB@cisco.com>
Date: Thu, 19 Mar 2015 11:38:05 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <16D94942-1D53-4F7B-8098-29B52781EDA0@tik.ee.ethz.ch>
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>
To: "Pal Martinsen (palmarti)" <palmarti@cisco.com>
X-Mailer: Apple Mail (2.2070.6)
Archived-At: <http://mailarchive.ietf.org/arch/msg/spud/l1btjpzhBVHFCuCyCDN5vaoIQTg>
Cc: "Black, David" <david.black@emc.com>, "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: Thu, 19 Mar 2015 15:38:18 -0000

Hi all,

just a quick though on our comment regarding basically ‚why does DSCP not work inter-domain‘. One answer to this question is that is it mostly used intra-domain and that’s okay. That’s why we look at SPUD because we actually what something inter-domain (at least to signal information without negotiation). Therefore the questions for SPUD are for me:

- How can we ensure that information provided by the end-point does not get modified?

and more complicated

- How can we ensure that information a middlebox puts in is not (wrongly) modified by another middlebox (as there are cases, we we want one middlebox to override data of another middlebox…?)

Mirja


> Am 17.03.2015 um 05:47 schrieb Pal Martinsen (palmarti) <palmarti@cisco.com>:
> 
> 
>> On 16 Mar 2015, at 22:02, Black, David <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
>> 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> 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
>> https://www.ietf.org/mailman/listinfo/spud
>> 
>>  
> 
> _______________________________________________
> Spud mailing list
> Spud@ietf.org
> https://www.ietf.org/mailman/listinfo/spud