Re: [CDNi] Request for WG Adoption: Capacity Insights
Kevin Ma <kevin.j.ma.ietf@gmail.com> Fri, 11 November 2022 04:49 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 67B31C1524C2 for <cdni@ietfa.amsl.com>; Thu, 10 Nov 2022 20:49:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.862
X-Spam-Level:
X-Spam-Status: No, score=-0.862 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_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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 uJuA6BV4lKUe for <cdni@ietfa.amsl.com>; Thu, 10 Nov 2022 20:49:04 -0800 (PST)
Received: from mail-oo1-xc30.google.com (mail-oo1-xc30.google.com [IPv6:2607:f8b0:4864:20::c30]) (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 511AAC1524BE for <cdni@ietf.org>; Thu, 10 Nov 2022 20:49:04 -0800 (PST)
Received: by mail-oo1-xc30.google.com with SMTP id x196-20020a4a41cd000000b0049f064d2591so519071ooa.11 for <cdni@ietf.org>; Thu, 10 Nov 2022 20:49:04 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=MCPKNqHdjKvDHoD0UtkZe6tqi4xcwGg8sOUg8Gbadbs=; b=Y0uvG/zltC4qbeLkKPiOS+r8xByeTwt+n0QsnBC/NSQ2H2lYcbkGvnecXmXwvJFUJg NRoy2TLhEke3HLqJjGPwEx5oU6MZpQP+eGgL12fxvzF0LG0O60YTidWZVh+3urx5u31K URYZHxlinlQrrB9ESCH14ag7OniWjIVZVUhvvY5UPIKb9aONUDdRixNODySzakiXDnQ7 2vpKAy9bdj7E9tyru4RJrQgggoVoOpiQqcIU3ab8LWxA6edt96U5FUjnMI4spwUpZZdQ QY4nwVJa1MbW4aXyGeshMnVuy96PwdLFYTIdEpfEwiIU4NIT4ffxzhAcVEELcoMWqYMC aR9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=MCPKNqHdjKvDHoD0UtkZe6tqi4xcwGg8sOUg8Gbadbs=; b=kAj70kRoDZh+Jk4UHiB2ThMScsoHCzZolZZane0gSX/heguU8blpoxQSX2svrJ/YMt UQRVlHmV3IblV+SRJqrvah9vF/rPWDwW35m+OJKhuvfOYhvARkI9orrV+7gZzH7LgThL QJAEBfr83RHL9N2132VogKx6giaJrYS0UWokGApxaodO4HEunelVzMNmxDnJP0K0Oo89 fAy2gS+lxSclIBReOFZXjp0BhJM8+qBRiuiTBfRRanGzIMfp/wQcFyrwO6JpBnRTQO+e oZ018oCX3+Ttv3S9u/Xbbnf/sfZdljJFQQi+yKk9W1p8XuuTgaCUEyQ+YW2vem0cW9yK pfkQ==
X-Gm-Message-State: ANoB5pnZq4wOqmeomUSmbx/NQGracp9IGMY4OotRnIYypEDc8JhhWiFE 1UIBZRiyEx/5Eamf4Roue8k7vt8v1RlMvn4g8h0=
X-Google-Smtp-Source: AA0mqf7BFpDfDo9QdriqejwNbf218HOrw3JCSRVhfd79cByDj9XV44Av8DdlGMvM6VlyYgjjAym2Neft+1AOwWt7gR8=
X-Received: by 2002:a4a:df0d:0:b0:49f:de1:96c0 with SMTP id i13-20020a4adf0d000000b0049f0de196c0mr189167oou.7.1668142142968; Thu, 10 Nov 2022 20:49:02 -0800 (PST)
MIME-Version: 1.0
References: <926af66d-e51b-3565-2099-f9344378f034@andrewnryan.com> <CAMrHYE3XUQrhxgZPuQi=xsGt7MMqjHUCk4JUBByXPT6DbxP04w@mail.gmail.com> <59cc06ae-fb40-8b1a-8451-3d50cf013560@andrewnryan.com> <CAMrHYE1F7rK0erFkCGuZ_n=KqzEgSqJndyjOjKYX8fCCss7+GQ@mail.gmail.com> <a95628f9-114d-f618-d335-6ab254ed5050@andrewnryan.com> <CAMrHYE13U8k+=VaapO3sxCeu02xStcZJER4z=V6MXqgxS7vg2g@mail.gmail.com> <CAMrHYE26Q1Y9QJfYS0+h9t027ndA_xzSMX6vte2e1RG90MVRAQ@mail.gmail.com> <bef1c8f6-fdab-31b2-8c05-51a25db7e576@andrewnryan.com>
In-Reply-To: <bef1c8f6-fdab-31b2-8c05-51a25db7e576@andrewnryan.com>
From: Kevin Ma <kevin.j.ma.ietf@gmail.com>
Date: Thu, 10 Nov 2022 23:48:52 -0500
Message-ID: <CAMrHYE01DL7RqEH-k1pqxHWMWwgooCGqYqQrSpS0+1dzyDh9Lw@mail.gmail.com>
To: Andrew Ryan <andrew@andrewnryan.com>
Cc: "cdni@ietf.org" <cdni@ietf.org>, ben@rosenblum.dev, "Mishra, Sanjay" <sanjay.mishra@verizon.com>
Content-Type: multipart/alternative; boundary="000000000000ddd90b05ed2a9bd8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/cdni/rStCF0hxeokfHgjpa82_LZnsVr0>
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: Fri, 11 Nov 2022 04:49:10 -0000
Hi Andrew, Thanks for the clarification. If I look at this example: - traffic within 10.0.10/24 must stay under 20000000000 as per capacity_metrics_region2 - traffic for serviceA.cdn.example.com within 10.0.0.0/8 must stay under 30000000000 as per capacity_metrics_serviceA_region1 "serviceA.cdn.example.com" is the "host" in the CDNI Metadata sense (i.e., https://www.rfc-editor.org/rfc/rfc8006.html#section-4.1.2) and can be extended with a "path-pattern" in the CDNI Metadata sense (i.e., https://www.rfc-editor.org/rfc/rfc8006.html#section-4.1.4), e.g., " serviceA.cdn.example.com/hls". It just feels to me like we already have a construct for this, and perhaps just need a better surfacing of it. Would you agree that "host" or "host+path-pattern" (on top of existing footprints) meet your requirements? If so, we can figure out a good way to use them. If not, then I still may be misunderstanding the use case. thanx! -- Kevin J. Ma On Wed, Nov 9, 2022 at 5:05 PM Andrew Ryan <andrew@andrewnryan.com> wrote: > Kevin, > > Apologies for the delayed response. > > The use case for the sub-scoping is as follows: How could we define a > limit specific to the type of traffic being delegated. The type of traffic > being delegated is a more granular component of the Footprint in which it > would be associated with. > > My current understanding of the Footprints (there seems like there is some > active discussion on this topic which I have yet to catch up with) is that > these are associated with geoIP and/or network locations. At this level, > we would be dealing with a limit which is only defined by the user's > location. Some use cases were brought up surrounding the idea that "not > all traffic is created equal". Example; game download traffic might be high > bps low rps, where as Low Latency HLS could be high rps and high bps. > These different traffic profiles could have different impact on the > underlying CDN and therefore we wanted to allow for some additional > granularity which would leverage an association of traffic type with the > delivery host (or an identifier which maps to a configuration) > > The idea behind this is that the footprint provides the > geographical/network boundary, which is consistent with FCI, but within the > CapacityLimits FCI payload, we would leverage a scope object which would > further define the limit to apply to not only the footprint but also this > additional scope-type. > > The following was an example that was put together to highlight how this > might be used in practive > { > "capabilities":[ > { > "capability-type":"FCI.CapacityLimits", > "capability-value":{ > "limits":[ > { > "id":"capacity_limit_region1", > "limit-type":"egress", > "maximum-hard":50000000000, > "maximum-soft":40000000000, > "telemetry-source":{ > "id":"capacity_metrics_region1", > "metric":"egress_5m" > } > }, > { > "id":"capacity_limit_serviceA_region1", > "scope":{ > "type":"published-host", > "values":[ > "serviceA.cdn.example.com" > ] > }, > "limit-type":"egress", > "maximum-hard":30000000000, > "maximum-soft":20000000000, > "telemetry-source":{ > "id":"capacity_metrics_serviceA_region1", > "metric":"egress_5m" > } > } > ] > }, > "footprints":[ > { > "footprint-type": "ipv4cidr", > "footprint-value": ["10.0.0.0/8"] > } > ] > }, > { > "capability-type":"FCI.CapacityLimits", > "capability-value":{ > "limits":[ > { > "id":"capacity_limit_region2", > "limit-type":"egress", > "maximum-hard":20000000000, > "maximum-soft":10000000000, > "telemetry-source":{ > "id":"capacity_metrics_region2", > "metric":"egress_5m" > } > } > ] > }, > "footprints":[ > { > "footprint-type": "ipv4cidr", > "footprint-value": ["10.0.10.0/24"] > } > ] > } > ] > } > > > > The following is a summary of what the FCI.CapacityLimits payload > specifies represented in a hierarchical manner of the IPv4 CIDR ranges. > > - 10.0.0.0/8 > - ALL traffic <= 50000000000 > - serviceA.cdn.example.com <= 30000000000 > - 10.0.10/24 > - ALL traffic <= 20000000000 > > > In a scenario a uCDN is considering how to delegate traffic for > serviceA.cdn.example.com towards 10.0.10/24, the following conditions > need to be met: > > - traffic within 10.0.10/24 must stay under 20000000000 as per > capacity_metrics_region2 > - traffic for serviceA.cdn.example.com within 10.0.0.0/8 must stay > under 30000000000 as per capacity_metrics_serviceA_region1 > > > Ideally, the scoping would be fully contained within the Footprint object > but in lieu of that, we implemented sub-scope specific to the > CapacityLimits object > > This will likely be a good topic for discussion during IETF115. We > welcome any feedback on the topic. Thanks! > > Andrew > On 10/23/2022 11:27 PM, Kevin Ma wrote: > > Hi Andrew, > > I wanted to restart the Capacity Limit Scope Object discussion. If I > understand correctly, you want to associate capacity more virtually with a > specific host (in the Metadata interface HostMatch sense) and possibly with > a specific path (in the Metadata interface PathMatch sense), as opposed to > a Footprint which is more of a physical association? Could we tie it back > to the Metadata configuration? Having something generic/opaque makes me > uncomfortable. Would a reference back to a Metadata interface > HostMatch/PathMatch object work, or even to a specific Generic Metadata > object? > > thanx! > > -- Kevin J. Ma > > > On Fri, Jul 29, 2022 at 11:09 AM Kevin Ma <kevin.j.ma.ietf@gmail.com> > wrote: > >> Hi Andrew, >> >> Some quick responses: >> >> > Do you feel that clarifying the range to be positive integers and >> leaving the limits "unbounded" would be sufficient here? >> Yeah. That's probably good. >> >> > I would propose that we state that invalid payloads can be ignored and >> even state that any previously valid payloads can be honored until such a >> time as a new valid payload can be acquired. >> That works for me. >> >> > We may need some guidance on how to best define this. >> You can look at how the footprint registry was defined here (it should be >> pretty similar): >> https://datatracker.ietf.org/doc/html/draft-ietf-cdni-metadata-21#section-7.2 >> >> > ... Would the above two statements be useful if included into the >> document? >> Yes. Thanks. I think it is always better to show the IESG that we did >> think about it and here's a quick explanation of the risks if something bad >> were to happen. >> >> > I am wondering if it make sense to try and schedule a breakout session >> to discuss this further, especially with several of the folks who have been >> heavily involved with new draft for footprints. >> It is probably worth starting a separate thread, and if necessary, we can >> schedule an interim meeting if email is too cumbersome. >> >> thanx! >> >> -- Kevin J. Ma >> >> On Tue, Jul 19, 2022 at 10:48 AM Andrew Ryan <andrew@andrewnryan.com> >> wrote: >> >>> Hi Kevin, >>> >>> I wanted to take a moment before diving in to thank you for the >>> fantastic feedback and engagement! I am excited to have more and more >>> folks involved with this. As an FYI I will be unable to make the IETF CDNI >>> session coming up, so I am hoping to drive a lot of progress on this >>> through the email list. >>> >>> Please see answers inline >>> On 7/9/2022 10:37 AM, Kevin Ma wrote: >>> >>> 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. >>> >>> ack - I agree we can clarify this >>> >>> >>> >>> > > - 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. >>> >>> You raise a very valid point in that at a bare minimum, we should be >>> restricting to non negative values, as you point out, there is no situation >>> that I can think of where an advertisement of negative capacity makes any >>> sense. Do you feel that clarifying the range to be positive integers and >>> leaving the limits "unbounded" would be sufficient here? >>> >>> >>> >>> > > - 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. >>> >>> I agree that specifying what to do if the payload doesn't make sense is >>> a valuable addition. I would propose that we state that invalid payloads >>> can be ignored and even state that any previously valid payloads can be >>> honored until such a time as a new valid payload can be acquired. This >>> will prevent situations where uCDNs who fail to get a valid payload from a >>> dCDN don't stop all delegation due to a lack of updated limits, the uCDN >>> will continue to use previously negotiated limits. Using stale information >>> might be considered a risk if the dCDN is truly having an outage, but in >>> this case, this payload is more so about capacity guidance rather than any >>> guarantee of service reliability, so I feel that the "use stale" case is >>> probably more productive. >>> >>> >>> > > - 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. >>> >>> ack. We may need some guidance on how to best define this. >>> >>> > > - 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. >>> >>> In terms of the FCI.CapacityLimits payload, part of the design of the >>> limits provided are what the dCDN is willing to offer to a specific uCDN >>> for capacity. If we look at this another way, it's not a full and complete >>> mapping of all available capacity a dCDN may have. We decided on this >>> approach for several reasons, but at least one potential benefit of this is >>> that it would limit the exposure to a dCDN of competitors being able to map >>> out a full capacity footprint of the dCDN. >>> >>> >>> In terms of someone gaining access to Telemetry endpoints which are >>> referenced in FCI.Telemetry, this could be considered a issue for both the >>> uCDN and the dCDN as this exposes actual usage information which is >>> problematic for many reasons. This particular data set though is provided >>> outside the scope of the FCI payload, and relies on external >>> APIs/datrasources/etc.. >>> >>> Would the above two statements be useful if included into the document? >>> >>> >>> > > - 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. >>> >>> :-) this one may open up a large can of worms to be sure. Part of our >>> thought process with this draft was to keep it as isolated as we could to >>> help with the adoption process, but perhaps that was not the right approach >>> to take. >>> >>> As we mentioned, the purpose of providing the "scope" within the >>> FCI.CapacityLimits object was to allow finer granularity within a >>> Footprint, such that if an uCDN is delegating lots of different types of >>> traffic to a dCDN, that the dCDN had a way to differentiate capacity >>> advertisements for identifiers which might correlate to the type of >>> delivery. Another way of saying that would be that in a lot of cases, >>> uCDNs would have different published hosts for different forms of video >>> delivery (live.example.com, vod.example.com, etc..). The dCDN would be >>> aware of these published hosts due to the configuration metadata associated >>> with it, and would be able to be aware of "traffic type" and could decide >>> to offer different rps or other such limits based on that. >>> >>> Published host is not the only differentiating factor though, different >>> delivery types could be handled on the same domain, but with different >>> paths (www.example.com/live, www.example.com/vod). In this case, using >>> a published host in a scope within the FCI.CapacityLimits object would not >>> be sufficient, but we did attempt to incorporate the ability to reference >>> service-id or property-id which maps into groupings of configurations that >>> the dCDN and uCDN are aware of. >>> >>> The summary of the issue is that we have a potential gap in the >>> definition of footprint, the specificity that is provided by the >>> configuration spec, and the potential use case for allowing capacity >>> payloads to share the same specificity as the configuration spec. >>> >>> A counter point to providing this level of granularity is that in >>> practice, it may be very cumbersome for dCDNs to provide very granular >>> advertisements to a uCDN, and may simply opt to provide more of a blanket >>> capacity advertisement, which the uCDN is free to use as it will (I feel >>> like this will be the case for the most part). There may be instances >>> though where a dCDN does want to get very granular though, which is why we >>> attempted to bring this functionality into the payload. >>> >>> I am wondering if it make sense to try and schedule a breakout session >>> to discuss this further, esspecially with several of the folks who have >>> been heavily involved with new draft for footprints. >>> >>> >>> >>> >>> 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 >>>>> >>>>
- [CDNi] Request for WG Adoption: Capacity Insights Andrew Ryan
- Re: [CDNi] Request for WG Adoption: Capacity Insi… Chaudhari, Pankaj
- Re: [CDNi] Request for WG Adoption: Capacity Insi… Guillaume Bichot
- Re: [CDNi] Request for WG Adoption: Capacity Insi… ALFONSO SILONIZ SANDINO
- Re: [CDNi] Request for WG Adoption: Capacity Insi… Kevin Ma
- Re: [CDNi] Request for WG Adoption: Capacity Insi… Andrew Ryan
- Re: [CDNi] Request for WG Adoption: Capacity Insi… Kevin Ma
- Re: [CDNi] Request for WG Adoption: Capacity Insi… Andrew Ryan
- Re: [CDNi] Request for WG Adoption: Capacity Insi… Kevin Ma
- Re: [CDNi] Request for WG Adoption: Capacity Insi… Kevin Ma
- Re: [CDNi] Request for WG Adoption: Capacity Insi… Andrew Ryan
- Re: [CDNi] Request for WG Adoption: Capacity Insi… Kevin Ma
- Re: [CDNi] Request for WG Adoption: Capacity Insi… Andrew Ryan
- Re: [CDNi] Request for WG Adoption: Capacity Insi… Andrew Ryan
- Re: [CDNi] [E] Re: Request for WG Adoption: Capac… Mishra, Sanjay
- Re: [CDNi] [E] Re: Request for WG Adoption: Capac… Kevin Ma