Re: [CDNi] RFC-8007bis - Generic Trigger Object Selector - Starting a Discussion

Kevin Ma <kevin.j.ma.ietf@gmail.com> Fri, 14 January 2022 04:43 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 443EF3A19FB for <cdni@ietfa.amsl.com>; Thu, 13 Jan 2022 20:43:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.097
X-Spam-Level:
X-Spam-Status: No, score=-7.097 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, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7Sd4HpAFRdCS for <cdni@ietfa.amsl.com>; Thu, 13 Jan 2022 20:43:30 -0800 (PST)
Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com [IPv6:2607:f8b0:4864:20::1033]) (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 8FD693A19FD for <cdni@ietf.org>; Thu, 13 Jan 2022 20:43:30 -0800 (PST)
Received: by mail-pj1-x1033.google.com with SMTP id a1-20020a17090a688100b001b3fd52338eso11959414pjd.1 for <cdni@ietf.org>; Thu, 13 Jan 2022 20:43:30 -0800 (PST)
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=srVwyKncF2SFs2p98g2+cefhSNO6jnDNscOOsREDLqY=; b=iltb9I63ZODs06fmuYVITPxfrXBmK4096kgyzkWA1pQVFTPhGkHxK9NRFHLzhznGga /2xrhOwh2IkbGY4PynoBXjO39gylE5I60ICbkrIFgEuSyOwUWTuKeX72or7BFQhsRDnb 0iJ5pIIAEgloeWMfNK9MWvNZ9j5psNI6dGMfuExH2SpA3wvxsAwKqoJKzhs+wOxYNhpE saHff4urNUMvJpu67TFNBA381tJsLtcycguBnStkC0wqipUT//1ejVazbC8QO4FFOptW HatIkSvDCPc4yMWEGQV22joe6xBM8VOKH3XVnMUWu5eMeN5FqWTwJFA4PZbIHLc1T6zd GuYQ==
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=srVwyKncF2SFs2p98g2+cefhSNO6jnDNscOOsREDLqY=; b=kHjGMLa5oGgOJAItxC0+tXLsPNziiVSdgsAcjbe0+t0+DFV14C+FGOXlFtDi9AYwxB LkbD+8x62fHGw8zjMH7U59tb4Rb9iWj2dsbv+3c1MktTfANf09l5TrNAM60QTT7C1uMA CB3jbz5ppXcCjNyCEVHAkc8Moqanxzq1uvyO9selPKY/i+x6ZS8Y1xfGmRc9VLcW5gHl NJT4qv4MkybPnTA5DqXrhElPkS5JYewDgCBlNwB4YO5e9ArdB1x98VvXfZI6h7vjl+rc XmNxxECkG5Tqv9Bkhc3YhiVeQiW9yjsNiciKGRxVnOBP0Vi1/NLVStFbXXo5erSHF4Lm WoGg==
X-Gm-Message-State: AOAM533mDk0leCXIs6qRv1jAi9hpOq2Q+YbPksYkilI7H3flNSvfNSEa O5fECofkJP8y6Jj/Gz0tDFm7peXvr/4Gsuh6zesyELz8kQM=
X-Google-Smtp-Source: ABdhPJw6TX3HcX0JgD9hVHTF9e2Clmgs0oR22yRCspI/F2n65i4BJbhzUzQ87+idWbTtcpqTPoMSK9/lv7q1pKzhQFo=
X-Received: by 2002:a17:903:2310:b0:14a:4743:41b6 with SMTP id d16-20020a170903231000b0014a474341b6mr7613534plh.143.1642135409252; Thu, 13 Jan 2022 20:43:29 -0800 (PST)
MIME-Version: 1.0
References: <CA+ec=9rFQBCR2uuBLa8kkk6VmJkffpUXFHvJxZJYy-3vsyNZsA@mail.gmail.com>
In-Reply-To: <CA+ec=9rFQBCR2uuBLa8kkk6VmJkffpUXFHvJxZJYy-3vsyNZsA@mail.gmail.com>
From: Kevin Ma <kevin.j.ma.ietf@gmail.com>
Date: Thu, 13 Jan 2022 23:43:18 -0500
Message-ID: <CAMrHYE3adGh84pYSS53o4m-HcCOOV3pR1Ec-FZVvJo0064s1gQ@mail.gmail.com>
To: Nir Sopher <nirs@qwilt.com>
Cc: "<cdni@ietf.org>" <cdni@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000bddd3a05d58371b8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/cdni/T4Wdf0sH9HXYgvLmGBMIdkJKAHg>
Subject: Re: [CDNi] RFC-8007bis - Generic Trigger Object Selector - Starting a Discussion
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: Fri, 14 Jan 2022 04:43:35 -0000

Hi Nir,

  (As an individual) Great set of questions.  Sorry for the delayed
response.

  1) I think the intent was an additive semantic, e.g., if I want to purge
the content and the metadata associated with the content, I could do it
with a single trigger request specifying both metadata.X and content.Y.  (I
think this is implied in section 2.3 where it says "MUST NOT be reported as
"complete" until all actions have been completed successfully".)  If we
only allow a single selector, then we would have to issue multiple requests
to satisfy that case?  I think the list is an efficiency optimization.  I
don't know in practice how much someone might want to operate on multiple
selectors, but it seems like a reasonable thing to do.

  2) I agree that all trigger commands are mandatory, so there's no need
for an MtE flag.  If a selector is not supported by the dCDN it should just
put an error in the status saying so.

  3) StR was introduced to handle the blind relay of data in a tCDN.  I
think the real question is: should a tCDN propagate trigger commands that
it doesn't understand or not?  Given the trigger interface's ability to
propagate errors back up the CDN stack, I think it probably should just
forward requests.  As such, I don't think we need an StR flag; it would
just be true.

  4) I think I agree, but reserve the right to change my mind when I see
the updated text.  ;)

  5) GenericTriggerObjectsSelector is kind of long.  Maybe
GenericTriggerSpec?

  6) Perhaps: spec-type, selector-type, and selector-values?  Would
spec-type and/or selector-type have a registry for valid values?

thanx!

--  Kevin J. Ma

On Sun, Nov 14, 2021 at 2:45 PM Nir Sopher <nirs@qwilt.com> wrote:

> Hi All,
>
> Following the adoption of the RFC-8007bis draft, and the milestone set
> during the last IETF meeting, I would like to move forward and define the
> "Generic Trigger Object Selector" object.
>
> A quick recap:
> As defined in RFC8007, the trigger object holds a closed set of
> content/metadata selection properties:
>
>    - meta+data.urls
>    - metadata.patterns
>    - content.urls
>    - content.ccid
>    - content.patterns
>    - content.regexs
>    - content.playlists
>
> Being built of a closed set, whenever one would like to define a new way
> to select content, and therefore need to add a new such property, a new
> version of the trigger object has to be re-defined.
> In order to avoid such redefinition, we suggested defining the
> "GenericTriggerObjectSelector" object. The Trigger.v2 object would contain
> a list (?) of such objects and we will be able to continuously define new
> types of selectors without changing the Trigger.V2 object structure.
>
> Few questions comes to mind while trying to define the new Generic object:
>
> *1)* Would the Trigger.V2 object be holding a list of
> "GenericTriggerObjectsSelector"s or only a single one?
> Currently the Trigger object may hold a "metadata.urls" property as well a
> "content.urls" property etc..
> Citing RFC8007: At least one of "metadata.*" or "content.*" MUST be
> present and non-empty.
> However, what is the usecase requiring more than a single selection
> property to be used?
> And what is the semantics when using both "content.patterns" and
> "content.ccid" properties together? Is it an additive or a narrowing
> semantic?
>
> I would like to suggest that the Trigger.V2 object would hold a single
> "GenericTriggerObjectsSelector" object. It would be simple and clear.
> In the future, if one finds the need in creating an objects list, s/he can
> define a special GenericTriggerObjectsSelector type that is built of a list
> of other GenericTriggerObjectsSelector objects, and define its semantic as
> needed.
>
> *2)* Does the "GenericTriggerObjectsSelector" hold a
> "mandatory-to-enforce" (MtE) boolean property (similar to the
> GenericMetadata object)?
> As the newly defined object is used for target selection, and as I see it,
> without it the trigger is practically useless, I think the MtE property is
> not really needed. It's value should be "true" by convention.
> On the other hand, having this property anyway may be considered as a good
> practice.
>
> *3)* Does the "GenericTriggerObjectsSelector" hold a
> "safe-to-redistribute" (StR) boolean property (similar to the
> GenericMetadata object)?
> I believe it should.
>
> *4)* RFC8007bis already defines the GenericTriggerExtension object, which
> allows to define further instructions on the trigger execution (e.g. time
> of execution).
> Should the new GenericTirggerSelection object be merged with the
> GenericTriggerExtension?
> I believe that the 2 types of generic objects here have different nature
> of usage. One indicates "what to work on" and the other indicates "how to
> do the work".
> I would therefore suggest keeping them separated.
>
> *5)* What would be the real name of the new object?
> So far I called it "GenericTriggerObjectsSelector" but any suggestion
> would be highly appreciated.
>
> *6)* What would be the structure of the GenericTiggerObjectSelection
> object?
> Below is a suggestion of properties to start with.
> Note the separation to "selected-object-type" (content vs. metadata) and
> "selector-type" (url / patterns...)
>
>    - selected-object-type: metadata / content
>    - selector-type: url / pattern / regex / playlist / ccid
>    - selector-values: <a list of values in the proper type>
>    - safe-to-redistribute: True/False
>
>
> I would highly appreciate any input regarding the above discussion, so
> please share your thoughts,
>
> Nir
>
> _______________________________________________
> CDNi mailing list
> CDNi@ietf.org
> https://www.ietf.org/mailman/listinfo/cdni
>