Re: [CDNi] draft-ryan-cdni-capacity-insights-extensions

Andrew Ryan <andrew@andrewnryan.com> Mon, 08 November 2021 15:16 UTC

Return-Path: <anr1@anr1.com>
X-Original-To: cdni@ietfa.amsl.com
Delivered-To: cdni@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 73F583A0F13 for <cdni@ietfa.amsl.com>; Mon, 8 Nov 2021 07:16:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.533
X-Spam-Level:
X-Spam-Status: No, score=-3.533 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.25, HTML_MESSAGE=0.001, NICE_REPLY_A=-3.33, NORMAL_HTTP_TO_IP=0.001, NUMERIC_HTTP_ADDR=1.242, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=neutral reason="invalid (public key: not available)" header.d=andrewnryan.com
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 G2PEARynDlUf for <cdni@ietfa.amsl.com>; Mon, 8 Nov 2021 07:16:15 -0800 (PST)
Received: from mail-qt1-x835.google.com (mail-qt1-x835.google.com [IPv6:2607:f8b0:4864:20::835]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A3E903A0EFF for <cdni@ietf.org>; Mon, 8 Nov 2021 07:16:15 -0800 (PST)
Received: by mail-qt1-x835.google.com with SMTP id z9so2378237qtj.9 for <cdni@ietf.org>; Mon, 08 Nov 2021 07:16:15 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=andrewnryan.com; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :references:cc:from:in-reply-to; bh=xriQVQzIa8dQasfDYcGhis0Gbn4IDupLZhhoQ0Oqwcs=; b=hBPqtR2yP42fzlf+1d/G5fCursMEjAUqDy4dqNz7OPjHNhO0JHpPy119Ew+HhYeO/M oU+Gte0rfQ3NWN2ZV2RRU19ocxvuIT09HvCLswUgMrYSfoJVZWvzy4z84a5W/K/5ti3q 6Ppcyk0RKcokyY6WL72iy5vpDTt6ja7ZVWvgA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:references:cc:from:in-reply-to; bh=xriQVQzIa8dQasfDYcGhis0Gbn4IDupLZhhoQ0Oqwcs=; b=W4l2ZsjcPdTbPY/U9Pfb4uq8me3yUc14/zCu408jfR1zgVOOh9Ojfj6KMoASXh4AI2 gB/i0NeKowq2f7/qcfcpPGD+44CXdy9TebDkSO3F6nRmb8D2l9D4pQarmJv5CRHQpFqx CqnO4J3pjOd1yuCCVxAY3oS+qZGcw9vO81GhrMKIxOhiij/g6maQGGQK/1rpRSTFgEvP OmxBODtxAen44U0qRTR+zEein/NDhDb2l8yyCY0iShnqMuxrpVXNwbdKm2zZx8l5iO9d 3nFmvehnRkv1Zus3oE2cbtIv6U1oN+GqIIIXx53d/jqU0cTC5JfkRuo7/ZangqFOqSxi 5RrA==
X-Gm-Message-State: AOAM530Ra4Z/OhuSHrxL4gaMDdrFEt2+/acjSJGbsv44CyMON9OXhjpU TblbPfy8kQ3CJxXOgQDEAUA+oikHpVVSig==
X-Google-Smtp-Source: ABdhPJwh0XxR+9x6989rxcHfFVIHFnUst1H5UghL647DF0EdqPVNxbrKTFjgKtC4ldU3qHH0IZIBZg==
X-Received: by 2002:ac8:7d4a:: with SMTP id h10mr199787qtb.87.1636384573112; Mon, 08 Nov 2021 07:16:13 -0800 (PST)
Received: from [192.168.1.179] (cpe-72-231-224-210.buffalo.res.rr.com. [72.231.224.210]) by smtp.gmail.com with ESMTPSA id i1sm10117074qkn.67.2021.11.08.07.16.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 08 Nov 2021 07:16:12 -0800 (PST)
Content-Type: multipart/alternative; boundary="------------x9gToDcUB0MQSRR4Gb0XG86B"
Message-ID: <85c4c493-1796-1a09-107a-048026625a87@andrewnryan.com>
Date: Mon, 08 Nov 2021 10:16:11 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0
Content-Language: en-US
To: cdni@ietf.org
References: <CAMrHYE2Nbqmh2nVQ5Cohz2+qkUcm-9YxMioARf3mZPktN0UdNA@mail.gmail.com>
From: Andrew Ryan <andrew@andrewnryan.com>
In-Reply-To: <CAMrHYE2Nbqmh2nVQ5Cohz2+qkUcm-9YxMioARf3mZPktN0UdNA@mail.gmail.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cdni/m_93f_BiHIw72zSxnJXiZ-5Qu0k>
Subject: Re: [CDNi] draft-ryan-cdni-capacity-insights-extensions
X-BeenThere: cdni@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "This list is to discuss issues associated with the Interconnection of Content Delivery Networks \(CDNs\)" <cdni.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cdni>, <mailto:cdni-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cdni/>
List-Post: <mailto:cdni@ietf.org>
List-Help: <mailto:cdni-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cdni>, <mailto:cdni-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 08 Nov 2021 15:16:21 -0000

Kevin,

   Thank you very much for the feedback!  Please see responses inline:

On 11/7/2021 1:50 AM, Kevin Ma wrote:
> Hi Andrew,
>
>   Thanks for updating the draft.  There's a lot of good content in the 
> new version.  Some comments, questions, and nits below:
>
>   - section 2.1.2: should "FCI.Telemetry" be "FCI.TelemetrySource"?

The long term goal for this is that it would be meant to describe not 
only the source of Telemetry, but also the specifics of the telemetry 
data, which types of telemetry sources are supported etc.  I don't have 
a strong opinion on the naming, but my thought process here is that it's 
meant to describe several components of Telemetry capabilities, 
including source.

>      Is it correct that this just describes attributes of the metrics 
> emitted by the given source and that it is not actually streaming any 
> metrics?  i.e., if I attached to the "capacity_metrics_region1" 
> metrics source, I could then expect to see streams of different types 
> of metrics, e.g., a 5m median bandwidth usage that is 25 minutes old?

That is correct, this is meant to act as a mechanism for the dCDN to 
inform the uCDN about available Telemetry sources and the 
characteristics of those sources.  There will be no communication of 
telemetry data via the FCI interface.  Data collection from a referenced 
Telemetry source is an out of band process at this point. though 
eventually, we would like to work to put together an RFC proposing a 
formal Telemetry interface, which leads into the next point.

> And is it then completely up to the CDNs to negotiate out-of-band how 
> to connect to a given source (push vs pull, endpoint addr/url, etc) 
> and in what format to expect the data (open telemetry, etc)?  
> Should that be in the source object?
Extending on the last statement I made, we have a goal to put together a 
formal specification for a Telemetry interface, in which the actual 
format of data and transport of data is well defined. This would help 
standardize all things Telemetry, and we feel this would be valuable, 
but also will require a fair amount of effort which wasn't necessarily 
fully coupled with Capacity.  During our discussions it was recognized 
that there are already many instances where Content Providers and/or 
uCDNs have already established mechanisms for consuming telemetry data 
from a dCDN.  We wanted to be able to allow the Capacity components to 
leverage these existing data sources (via a Generic Telemetry Source) 
but leave room such that when a formal Telemetry interface is proposed, 
that the Capacity signaling could easily integrate with that. So to 
summarize, at the moment with the Generic Telemetry source, it is 
expected that the interaction with the telemetry source and format of 
data is completely out of band process and is really meant for already 
existing data integrations, in the future though we hope to make a more 
formal Telemetry interface where the transport and format is well defined.
>
>   - section 2.2: Do "total-limits" and "host-limits" need to be 
> separate arrays?  Is the only distinction that the former is not 
> allowed to have capacity limit objects with "host" names and the 
> latter is?  Could it be a single "limits" array, or is there some 
> parsing efficiency to keeping them separate?

The intention behind total-limits was to represent limits scoped to the 
entire uCDN<->dCDN delegation (i.e.  these are the total limits of 
traffic delegation).  The host-limits are to be scoped to a specific 
host (CDN Domain).  The idea is that the CDN Domain used in a 
host-limits would allow more granular limits to be specified, for 
example the total traffic delegation towards the dCDN would be X, but 
for traffic on low-latency-hls.example.com, there is a much higher RPS 
requirement to handle this traffic, so the dCDN will need to provide a 
specific limit for that traffic delegation.
In terms of the format of the JSON, We might be able to potentially 
remove the top level array, and then mark the "host" as an optional 
component, and assume that a lack of a host means the scope is total 
traffic.

>
>   - section 2.3: I would remove RequestedCapacityLimits from the other 
> draft and just specify it here, if the context makes more sense.

This makes sense, I can bring this up with Glenn

>
>   - section 3: Is the intent to also create new registries for the 
> telemetry source and capacity limit types?

For capacity limit types, yes.  I think there is no way around not 
having a list to iterate over such that the uCDN and dCDN can agree on 
limits they both can agree on. Example the uCDN might support sessions, 
where as the dCDN has no notion of what a session is and therefore can 
not specify limits based on that.

The Telemetry sources though is more of a TBD and at the moment we have 
only gone so far as to specify a Generic source for the reasons listed 
above.

>
>   - sections 4/5: The security section probably needs to discuss 
> issues related to misuse or falsification of metrics information.  A 
> privacy section should also be added and probably needs to discuss 
> concerns related to exposing the proposed types of metrics information.

This is a very interesting call out.  If I recall there is mention in 
some of the other documents about potential abuse in the CDNi workflow 
and that a reputation service would be a potential means for addressing 
that, but was somewhat listed as out of scope.  Would it be fair to 
follow the same approach here?

In terms of Privacy this is also a very good call out, we can certainly 
add a section stating that it is up to the parties involved to ensure 
that any data exposed is in compliance with current legislation.  My 
initial thought is that the aggregated Telemetry data would be 
obfuscated enough to remove any PII, but it is still a good thing to 
call out for sure.


>
>   thanx!
>
> --  Kevin J. Ma
>
> nits:
>   - section 1: payload types are actually defined in section 2.2 of 
> RFC 7736 (https://datatracker.ietf.org/doc/html/rfc7736#section-2.2)
>   - section 2.1: "it's dCDN" -> "its dCDN" (multiple)
>   - section 2.1: "a non ambiguous" -> "an unambiguous"
>   - section 2.1.1.1 <http://2.1.1.1>: "format,etc" -> "format, etc"
>   - section 2.1.1.2 <http://2.1.1.2>: "describe the metric" -> 
> "describes the metric"
>   - section 2.2.1: "deducing" -> "reducing"
>   - section 2.3: "per host" -> "per-host"
>   - section 3.1: "simialr" -> "similar"
>   - section 3.1: will need to tighten up the language here
>   - section 3.1.1; should link to section 2.1.2
>   - section 3.1.2; should link to section 2.2.2
>   - section 3.1.3; should link to section 2.3.2

Thank you for catching these.  I will work on these in the next version 
for sure.


>
>
>
>
> _______________________________________________
> CDNi mailing list
> CDNi@ietf.org
> https://www.ietf.org/mailman/listinfo/cdni