Re: [CDNi] Request for WG Adoption: Capacity Insights

Kevin Ma <kevin.j.ma.ietf@gmail.com> Sat, 09 July 2022 14:37 UTC

Return-Path: <kevin.j.ma.ietf@gmail.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 466C9C157B55 for <cdni@ietfa.amsl.com>; Sat, 9 Jul 2022 07:37:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.861
X-Spam-Level:
X-Spam-Status: No, score=-5.861 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, NORMAL_HTTP_TO_IP=0.001, NUMERIC_HTTP_ADDR=1.242, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UZ7uUmUV8FOA for <cdni@ietfa.amsl.com>; Sat, 9 Jul 2022 07:37:37 -0700 (PDT)
Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DCF51C157B50 for <cdni@ietf.org>; Sat, 9 Jul 2022 07:37:37 -0700 (PDT)
Received: by mail-pj1-x1034.google.com with SMTP id cp18-20020a17090afb9200b001ef79e8484aso3094162pjb.1 for <cdni@ietf.org>; Sat, 09 Jul 2022 07:37:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=M0OeuMt7aVzC/nNXLTs52uKCWDEzrMFUnR2bZ5ik5wA=; b=kzSIlxXiGK6xCPcg2IbbB6KZsjqyrhGZJtsH8hNKmtIgE0PAt/JSxwD0EJe5ypcZgS DSUn5yMXA13LdgqFkbogKMXs+0k+H3KZzE2cAeqYDccwt45Ao3g84D1vo4Dwtoz3/h5z g7aQu5nLz66nwjh0/NiewZLU9ZIUDGzBOrBJjMXmvu6aWngRLqod3WjQ1BdwcioBopUc sdRMhPoVBoZ9PDP820J1hUwy+W3HxYVPm0b1jjYNr/YW7CDoZGECcOIvHzMif3GWPNO2 x/04wgxxO5Sk++wIDryCZK8d9LoZdOu7/oKsiGXKzrca1r4Y+rJrNYa5WuGFJTiAg5Gq yyZg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=M0OeuMt7aVzC/nNXLTs52uKCWDEzrMFUnR2bZ5ik5wA=; b=o8ERaRnxiUjCsEZcULU5rm64PJc/o5RpdJ+UcMUwYPpVbTu8D8H11RD90J3Ni9A2x1 Vnc6K/lRpcTyDzBJrVWv7wFe1sBC1Rxv0IZOxvBuB7GW36REqpv6MP6qRizxRbuZyHpo ngj5Io5OCMtHHFNh+Qpd8Pdn5UWKu8dw95gl3e0hhmVI/zcXs84Fm3GqBInPRelU46Cf l+DbniE8mw6XmAJKB8J/QNAmaBR49UkUWuBz976n6q+gUVUjn/r9ZcLCWWZpkf2egn37 2tcBxSR6kDXzmE/yfTeaowfJ4RBt6a/HB20FL6kx28pAvs/4gvwyjUwGxlXWM6wvns3C f9KQ==
X-Gm-Message-State: AJIora9v8aAkIFGX/mB1XPusIw9D4/6ZTx8uPAF0dlitF7lkqxzx3Q3/ MpYUVqQC1Uc8qRb6zbW/X1vYcvjow7IPp1D+bWNOx537mzQ=
X-Google-Smtp-Source: AGRyM1uGXzQu7sv0kWWJ6s3NaVyqpXo6eAim6tfSytL4rK4iWLqNVW+NDu4t8saGNoFEKyRbVe1x8Zhul1OUDm7co2I=
X-Received: by 2002:a17:902:7406:b0:16b:dab1:12b0 with SMTP id g6-20020a170902740600b0016bdab112b0mr9125954pll.96.1657377457034; Sat, 09 Jul 2022 07:37:37 -0700 (PDT)
MIME-Version: 1.0
References: <926af66d-e51b-3565-2099-f9344378f034@andrewnryan.com> <CAMrHYE3XUQrhxgZPuQi=xsGt7MMqjHUCk4JUBByXPT6DbxP04w@mail.gmail.com> <59cc06ae-fb40-8b1a-8451-3d50cf013560@andrewnryan.com>
In-Reply-To: <59cc06ae-fb40-8b1a-8451-3d50cf013560@andrewnryan.com>
From: Kevin Ma <kevin.j.ma.ietf@gmail.com>
Date: Sat, 09 Jul 2022 10:37:26 -0400
Message-ID: <CAMrHYE1F7rK0erFkCGuZ_n=KqzEgSqJndyjOjKYX8fCCss7+GQ@mail.gmail.com>
To: Andrew Ryan <andrew@andrewnryan.com>
Cc: "cdni@ietf.org" <cdni@ietf.org>, ben@rosenblum.dev
Content-Type: multipart/alternative; boundary="00000000000095d89f05e3604285"
Archived-At: <https://mailarchive.ietf.org/arch/msg/cdni/W1zZ2mHso5odmB0eQvUDaQff23Q>
Subject: Re: [CDNi] Request for WG Adoption: Capacity Insights
X-BeenThere: cdni@ietf.org
X-Mailman-Version: 2.1.39
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: Sat, 09 Jul 2022 14:37:43 -0000

Hi Andrew,

  Thanks for the responses.  Some additional comments:

> > - What is the scope of uniqueness for the id?  If it needs to be
global, then it needs a registry.  If it needs to be dCDN unique, then it
is just on the dCDN to ensure?
> @Ben keep me honest here, but the intention is that the ID be unique
within the scope of the uCDN and dCDN, i.e. the namespace is specific to
this CDNi delegation relationship.In this case, it would be up to the dCDN
to ensure uniqueness in the payload that it is returning to the uCDN.

This could probably just be clarified and made more explicit in the text.

> > - Is there a valid range for time-granularity, data-percentile, and/or
latency, e.g., 0-31622400, 0-100, and/or 0-2678400, respectively?  And what
happens if values are out of range?
> In terms of valid ranges, I think the data-percentile would have a
natural range of 0-100.  The others, I believe would not necessarily have a
bound (outside of integer limits).  The usefulness of very large
time-granularity and latency values somewhat diminish the usefulness of
this data for near real time traffic steering decisions.

I guess if you are only specifying a transport encoding, and not providing
any guidance on how to interpret a given value, I guess I can see how you
would want to limit restrictions on those fields.  Percentages outside of
0-100 are obvious ones, but I also don't know what a negative latency or
negative time-granularity means, and a latency/time-granularity beyond a
certain point (1yr?) is pretty meaningless.  My concern is that, from an
interoperability standpoint, if the interpretation is different, then it
could cause problems.  If the interpretation is going to be defined in a
different spec or customized by individual CDNs, then we could make a
stronger statement about that, but it feels like we could still be a little
bit tighter on the bounds.

> > - What happens if there are duplicate names in a source object?
> I think the intention behind declaring that the name needs to be unique
circumvented any discussion on how to handle duplicate names

With respect to error handling, I think it might be worth going a step
beyond just specifying what a correctly formatted object looks like and
provide some guidance on how to handle foreseeable error conditions (e.g.,
non-unique or duplicated ids, out-of-range values, etc.).  I don't think
we've done this as much in the past, but the previous capabilities were
very binary (i.e., they contain a list of tokens and either you understand
the token or not); but the complexity of information in the telemetry
objects feels to me like there is more room for ambiguity and so could
benefit from more discussion of how to handle unexpected data.  It may be
as simple as: If the data doesn't make sense, ignore/discard it.  I could
be off here, but that's my gut feel.

> > - Should there be a registry for telemetry source types?  Will these be
globally unique and well specified (in an RFC?) for interoperability?
> @Ben I do think we will want a registry for telemetry source objects.
> > - Should there be a registry for capacity limit types?  Will these be
globally unique and well specified (in an RFC?) for interoperability?
> I do believe this would make sense

I agree that these should be registries.

> > - I think we also need a privacy section that discusses the potential
issues of divulging internal information about the CDN.
> part of the data requirements are such that the data for capacity is
scoped specifically to the uCDN,->dCDN delegation relationship..i.e. the
data is very narrowly scoped.  The data being presented is also data about
the dCDN by the dCDN.  Would there be any suggestions on how we might want
to frame a statement for this?

Though we rely on the underlying FCI protocol to handle auth and encryption
(and the rest is out of the hands of the FCI object designer), I think it
is worth discussing what happens if there is a breach, if there are
specific consequences of specific data loss; or a statement that the data
is so generic that it doesn't matter.  I think the question is: is there
anything a competitor/adversary could gain from this data?  Since it only
describes the source and doesn't contain the actual telemetry, the value of
units and limits is minimal without hacking the actual source stream?  If
so, a statement to that effect would probably suffice.

> > - This is subdividing a footprint?  Would it make more sense (or at
least be simpler) to just define more granular footprints.  It seems
confusing to make essentially another way specify footprints.
> This was a very lengthy part of our discussion in this draft.  There are
use cases where "all traffic is not created equal" i.e Low Latency HLS will
have much different request characteristics than Bulk game downloads or
even Video On Demand.  The CDNi Footprint object doesn't allow for
granularity on a published host basis.  We were working under the
fundamental premise that we were trying to cause as little disruption to
the fundamental components of CDNi and trying to encapsulate as much as we
could related to capacity management without major overhauls to the
original spec.  We would greatly welcome discussion on this topic.

I think this is the big one, and I too would welcome some discussion on the
topic.  My initial reaction is: maybe we should try to define a new
footprint type, rather than create a sub-footprint for just this one
object; it sets a bad precedent.  But, it needs more thought.

thanx!

--  Kevin J. Ma

On Fri, Jul 8, 2022 at 12:30 PM Andrew Ryan <andrew@andrewnryan.com> wrote:

>
> On 7/4/2022 12:35 PM, Kevin Ma wrote:
>
> Hi Andrew,
>
>   (As a chair) Given the reduced scope, i.e., just two FCI objects (though
> see my comments below), I think adoption would be within scope of the
> current charter if other folks feel this is good work for the WG to take
> on.  I don't have a problem with issuing a formal call for adoption.  I've
> included some comments on the current draft below.
>
> thanx.
>
> --  Kevin J. Ma
>
> section 1.3:
>   - In the new paragraph about the uCDN calling a dCDN API interface, what
> interface is that?  Is that an interface outside of CDNI.  It's not clear
> if that relates to anything in this particular draft?  It would be good to
> clarify this.
>
>
> The intention here was that the uCDN would interact with an interface
> which provides FCI payloads.  To remove ambiguity I can remove the the
> reference all together:
>
> Original:
>
> In normal operation a uCDN will communicate with a dCDN, via an interface,
> to collect and understand any limits that a dCDN has set forth for traffic
> delegation from a uCDN
>
> Proposed:
>
> In normal operation a uCDN will communicate with a dCDN to collect and
> understand any limits that a dCDN has set forth for traffic delegation from
> a uCDN
>
>
>
> section 2.1.1:
>   - What is the scope of uniqueness for the id?  If it needs to be global,
> then it needs a registry.  If it needs to be dCDN unique, then it is just
> on the dCDN to ensure?
>
> @Ben keep me honest here, but the intention is that the ID be unique
> within the scope of the uCDN and dCDN, i.e. the namespace is specific to
> this CDNi delegation relationship.In this case, it would be up to the dCDN
> to ensure uniqueness in the payload that it is returning to the uCDN.
>
>   - the configuration descriptions references a yet to be defined
> Telemetry Interface?  Is that in the scope of this document?  If not, it
> would be good to clarify (or remove) this.
>
> The Telemetry interface is NOT in scope of this document, we can add
> clarifying language to explicitly state this.  In Section 2.1.1.1 an
> additonal sentence can be added:
> Proposed:  The definition of a CDNI Telemetry interface is outside the
> scope of this document.
>
>
>
> section 2.1.1.1:
>   - Should there be a registry for telemetry source types?  Will these be
> globally unique and well specified (in an RFC?) for interoperability?
>
> @Ben I do think we will want a registry for telemetry source objects.  The
> declaration of a "generic" type was meant as a place holder until a formal
> Telemetry Interface was defined.  The Generic source type also allows CDNs
> which already have an existing relationship and have already established
> data channels for providing and consuming Telemetry to be used "as is"
> without requiring additional integration steps.
>
>
>
> section 2.1.1.2:
>   - What happens if there are duplicate names in a source object?
>
> I think the intention behind declaring that the name needs to be unique
> circumvented any discussion on how to handle duplicate names
>
>
>   - Is there a valid range for time-granularity, data-percentile, and/or
> latency, e.g., 0-31622400, 0-100, and/or 0-2678400, respectively?  And what
> happens if values are out of range?
>
> The intention is that these are meant to provide guidance to the uCDN in
> terms of how accurate and how far behind real time the data set is, to help
> inform how to react from a traffic steering perspective.
>
> In terms of valid ranges, I think the data-percentile would have a natural
> range of 0-100.  The others, I believe would not necessarily have a bound
> (outside of integer limits).  The usefulness of very large time-granularity
> and latency values somewhat diminish the usefulness of this data for near
> real time traffic steering decisions.
>
>
>
>
> section 2.2.1:
>   - "CAN" is not an RFC2119 term.  "CAN" -> "MAY"?
>
> Understood, we will work to change this
>
>
>   - What is the scope of uniqueness for the id?  If it needs to be global,
> then it needs a registry.  If it needs to be dCDN unique, then it is just
> on the dCDN to ensure?
>
> This should be unique between the uCDN and dCDN
>
>
>   - Are there limits related to maximum-hard, maximum-soft, and current?
> Should those be specified along with the capacity limit types?  And what
> happens if values are out of range?
>
> I am not sure we want to introduce an artificial cap outside of the
> definition of the Integer itself as this will allow for the most
> flexibility and hopefully prevent having to revisit the draft to increment
> values in the future.
>
>
>   - section 2.2.1 already defines a "Telemetry Source Object"; can we come
> up with a different name to make it less confusing?
>
> @ben ^^
>
>
>
> section 2.2.1.1:
>   - Should there be a registry for capacity limit types?  Will these be
> globally unique and well specified (in an RFC?) for interoperability?
>
> I do believe this would make sense and part of the intention of defining
> it in this draft was an attempt to address that.  If there is a more
> appropriate way to accomplish this, I would welcome guidance.
>
>
> section 2.2.1.2:
>   - so, these are pointers back into a "Telemetry Source Object"?  What
> happens if the reference is not found?
>
> @Ben we will need to discuss this case.  It might be enough to require
> that dCDNs ensure consistency in this manner, and if not, the payload could
> be rejected by the uCDN.
>
>
>
> section 2.2.1.3:
>   - This is subdividing a footprint?  Would it make more sense (or at
> least be simpler) to just define more granular footprints.  It seems
> confusing to make essentially another way specify footprints.
>
> This was a very lengthy part of our discussion in this draft.  There are
> use cases where "all traffic is not created equal" i.e Low Latency HLS will
> have much different request characteristics than Bulk game downloads or
> even Video On Demand.  The CDNi Footprint object doesn't allow for
> granularity on a published host basis.  We were working under the
> fundamental premise that we were trying to cause as little disruption to
> the fundamental components of CDNi and trying to encapsulate as much as we
> could related to capacity management without major overhauls to the
> original spec.  We would greatly welcome discussion on this topic.
>
>
>
> section 4:
>   - I think there should probably be discussions of the potential attacks
> if the data is intercepted/spoofed.
>
> Would there be any additional considerations outside of what is already
> established for FCI in general?
>
>
>   - I think we also need a privacy section that discusses the potential
> issues of divulging internal information about the CDN.
>
> part of the data requirements are such that the data for capacity is
> scoped specifically to the uCDN,->dCDN delegation relationship..i.e. the
> data is very narrowly scoped.  The data being presented is also data about
> the dCDN by the dCDN.  Would there be any suggestions on how we might want
> to frame a statement for this?
>
>
> nits:
>
> section 1.3:
>   "it's current usage" -> "its current usage"
>   "uCDN of limits of" -> "uCDN limit on"
>   ", so that the uCDN can use to" -> " so that the uCDN can use it to"
>   " i.e. " -> ", i.e., "
>   "In the event that a" -> "In the event a"
>
> ACK
>
>
>
> section 2.1:
>   "CDNi" -> "CDNI"
>   "reference, allows" -> "reference allows"
>   "non ambiguous metric use use" -> "non ambiguous metric use be used"
>   "current usage and how" -> "current usage.  How"
>   "to it's dCDN" -> "to its dCDN"
>
> ack
>
>
> section 2.1.1.2:
>   " .  I.e. is" -> ", e.g., is"
>   "5 minutes" -> "300 seconds (i.e., 5 minutes)"
>   "one hour" -> "3600 seconds (i.e., one hour)"
>
>
>
> ack
>
>
>
> On Tue, Apr 5, 2022 at 9:08 AM Andrew Ryan <andrew@andrewnryan.com> wrote:
>
>> Greetings,
>>
>>    Similar to the recent solicitation for adoption of the CDNI Metadata
>> Model Extensions, I would like to submit a draft for consideration of
>> adoption:
>>
>>
>> https://datatracker.ietf.org/doc/draft-ryan-cdni-capacity-insights-extensions/
>>
>> The draft outlines extensions to the FCI payload registry, which will
>> enable communication of Capacity/Delegation limits between a uCDN and
>> dCDN.  This draft has been presented at IETF 111, IETF 112 and most
>> recently at IETF 113  from which we have incorporated some great feed
>> back into several revisions of the draft.
>>
>> I look forward to any feedback and/or support for the adoption of this
>> draft.  Thank you very much for your time.
>>
>> Andrew Ryan
>>
>> _______________________________________________
>> CDNi mailing list
>> CDNi@ietf.org
>> https://www.ietf.org/mailman/listinfo/cdni
>>
>