Re: [alto] Open discussions of ALTO O&M data model

Jensen Zhang <jingxuan.n.zhang@gmail.com> Tue, 06 September 2022 13:13 UTC

Return-Path: <jingxuan.n.zhang@gmail.com>
X-Original-To: alto@ietfa.amsl.com
Delivered-To: alto@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CDD61C152579 for <alto@ietfa.amsl.com>; Tue, 6 Sep 2022 06:13:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.104
X-Spam-Level:
X-Spam-Status: No, score=-7.104 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, 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 8O16HEnrx8J8 for <alto@ietfa.amsl.com>; Tue, 6 Sep 2022 06:13:15 -0700 (PDT)
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) (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 30A6FC1522B8 for <alto@ietf.org>; Tue, 6 Sep 2022 06:13:15 -0700 (PDT)
Received: by mail-wr1-x434.google.com with SMTP id bp20so14916045wrb.9 for <alto@ietf.org>; Tue, 06 Sep 2022 06:13:15 -0700 (PDT)
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; bh=NUFZ2hzdQi93BEbiKcnZXBTURaIdtdfa2KIY6A5VVNw=; b=dIi3hb0xxuLJHd1sUxZx4zyL2Xt7MyDFD4JOQPhza31XK1dcldEoe+1gnMy81IrOIv 245RvQbw7byE5Yt14XxFaY9hEl5CE+E5Y5hWbPeqEllWW8/uwZJKJ9poq7IRUmkyA9T/ 1NZrKKvPznMQl98iL/zbWU/AxYZ1JXduUQafW6ENVdiyrlN5h5twEPtZuO068T1B9NxH AlfHz5IVac71fJN1/2hrTtDz8bMAe842QvITIZNoCVI2HA6STIXYpaKHircIa5zPLtNR ceIlUktk6jpQpgvo73trdIpcqgxCrLTXiKRQW3/lEGuRoNe7m/kcAQ8oDAVoS+s4k1Ru zx5Q==
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; bh=NUFZ2hzdQi93BEbiKcnZXBTURaIdtdfa2KIY6A5VVNw=; b=DXeJidhDdQ+v4adMqR/YlTh6FCOySATK9x27hRy6+JRBcuBLgFxqK+Xgvt7+Vnm0jW HT3PTSpZpEa/vIGXhoD9TxVKstkg+VhwhmRxo4vWqjhGz4FLhsb+iaaflCrgn18VyQFA U2m4jk/EP6nAocNBx/2ACOJVCQunoxSzEVwh9cbQ6yknj5bFIyNNIweIeV7OldpP06lr QhvS7T4Ba3YQk4JziTsVazZOpX3sxJ/sXqao/b1ZcVw2QRcOI6HiW+iD4195J+V80z16 +KKLJNRPO4nwDSrLRmaW2GzitRqI236KPaFBH1b2D9+Wcq5DwSl7p/SFTT7odrUYUwOw nXnQ==
X-Gm-Message-State: ACgBeo1un5KjuBxZST/k0F2LcfmBT0mZUMlzt7ekGDxNOVSye4nEkjWb 0z0JRMf40OizA+X+kOOavBvMT3+T17Apum/0ddMxcHcQ
X-Google-Smtp-Source: AA6agR5hZQ0TW9Z1BImh+8LLfwKNmoLWd2f8L+ivOtPrTdHIigfcAG64zfChDF0Nt0AhvTB0KGysfnG/+biBXn6vico=
X-Received: by 2002:a5d:4150:0:b0:228:dbc4:d26b with SMTP id c16-20020a5d4150000000b00228dbc4d26bmr1239215wrq.254.1662469993394; Tue, 06 Sep 2022 06:13:13 -0700 (PDT)
MIME-Version: 1.0
References: <86f4a82bf14249d4b15aecada3235cbd@huawei.com>
In-Reply-To: <86f4a82bf14249d4b15aecada3235cbd@huawei.com>
From: Jensen Zhang <jingxuan.n.zhang@gmail.com>
Date: Tue, 06 Sep 2022 21:13:01 +0800
Message-ID: <CAAbpuypSiTHQcUN9v=854robis7Fs_PZnekqYtfR=RvpKr0AOg@mail.gmail.com>
To: Qin Wu <bill.wu@huawei.com>
Cc: IETF ALTO <alto@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000067f4e605e801f54b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/HgXDFZgfB79ZXIRMm4qji6dxiCI>
Subject: Re: [alto] Open discussions of ALTO O&M data model
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Application-Layer Traffic Optimization \(alto\) WG mailing list" <alto.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/alto>, <mailto:alto-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/alto/>
List-Post: <mailto:alto@ietf.org>
List-Help: <mailto:alto-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/alto>, <mailto:alto-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Sep 2022 13:13:19 -0000

Hi Qin,

Sorry for my late reply. See my comments inline.


On Sun, Aug 21, 2022 at 8:44 AM Qin Wu <bill.wu@huawei.com> wrote:

> Hi, Jensen:
>
> Thank for summarizing the discussion in last IETF meeting, please see my
> comments inline.
>
>
>
> *发件人:* alto [mailto:alto-bounces@ietf.org] *代表 *Jensen Zhang
> *发送时间:* 2022年8月16日 21:04
> *收件人:* IETF ALTO <alto@ietf.org>
> *主题:* [alto] Open discussions of ALTO O&M data model
>
>
>
> Hi ALTOers,
>
> From the WG session in IETF 114, we had a lot of discussions about the
> open issues for ALTO O&M. Authors appreciate all the comments and are
> working on the next revision.
>
> We quickly summarize the major debates and are willing to have more
> discussions to move this work forward. To be more efficient, we may
> separate the discussions to different threads later.
>
> 1. How to handle data types defined by IANA registries
>
> There are actually two arguments:
>
> 1.a. Which statement is better used to define the IANA-related data types
> (e.g., cost modes, cost metrics)? Two options: enumeration typedef or
> identity
>
> The main limitation of the enumeration is the extensibility. As ALTO may
> have multiple ongoing extensions, it will be required to add new private
> values for existing data types for experimenting purpose. Identity is
> better choice to support this.
>
> 1.b. Whether put the data type definitions to an IANA-maintained YANG
> module
>
> From the guidelines provided by Med (
> https://datatracker.ietf.org/doc/html/draft-boucadair-netmod-iana-registries-03),
> IANA-maintained module is RECOMMENDED.
> *[Qin Wu] *If you chose to use identity data type, I think it is not
> necessary for you to use IANA maintained YANG module, IANA maintained YANG
> module allows you later on make update to the data type if needed.
>
> *If you don’t expect to have frequent changes to the data types, It looks
> identity is best option but not necessary to create IANA maintained module.*
>
> *Otherwise, it seems overdesign to me.*
>

>From my understanding, identity is to allow non-standard YANG modules to
add new values to the registry. IANA maintained module is to allow IANA to
keep the registry updated by standard YANG modules. So I don't think
creating IANA maintained module is overdesign.
I think the point to use the IANA maintained module is that updates to the
data types defined by IANA registry would be more frequent than updates to
the OAM YANG module.
But let's see how other ALTOers will react.


>
> 2. Whether and how to supply server-to-server communication for
> multi-domain settings
>
> There is no draft defining any standard for ALTO eastern-western bound API
> (server-to-server communication). Defining data model for this may be too
> early. But this problem is important in practice. We have several potential
> choices:
>
> 2.a. Each ALTO server connects data sources for its own domain, and build
> interdomain connections with each other (using eastern-western bound API)
>
> 2.b. A single ALTO server connects data sources from multiple domains. The
> data sources provide interdomain information for ALTO server to build
> global network view.
> *[Qin Wu] *You might refer to multi-domain case in RFC7165, it did
> describe a few requirements and use cases for ALTO eastern-western bound
> API, but I think it leave the door open for the solution.
>
> *I think if you use other protocol than ALTO to define ALTO
> eastern-western bound API, it is apparent not in the scope of ALTO WG, it
> you use ALTO protocol to define server to server communication, I think it
> is in the scope ALTO OAM YANG.*
>

I agree. From my experience, ALTO eastern-western bound API should be based
on other protocols than ALTO. Therefore, the OAM to it should not be in the
scope of ALTO OAM. But ALTO OAM may still need to configure some meta
information for it.


> *Also don’t forget ALTO discovery mechanism, one is intra-domain discovery
> mechanism ,the other is inter domain discovery mechanism.*
>

> 3. How to build connection between data sources and algorithm data model
>
> Consider each algorithm data model defines an interface of an ALTO service
> implementation. It declares types for a list of arguments. Those arguments
> can be references to data collected from data sources.
>
> In real practice, there are two cases using data to calculate ALTO
> information resources:
>
> 3.a. ALTO service (algorithm plugin) directly reads data from data sources
> to calculate ALTO information resources.
> https://datatracker.ietf.org/doc/html/draft-hzx-alto-network-topo-00 can
> be one of such examples
>
> 3.b. ALTO server preprocesses data collected from data sources and writes
> to a data broker. Algorithm plugin reads data from data broker to calculate
> ALTO information resources. FlowDirector (
> https://dl.acm.org/doi/10.1145/3359989.3365430) can be such an example.
>
> These two cases may coexist in the same ALTO server implementation.
> *[Qin Wu] *We did discus this in Philadelphia meeting, ALTO focus on
> query interface, we did’t specify where the data come from and how to
> collect it. I don’t think
>
> *We should put too much constraints on how the data is collected and
> exported, stored and fed into ALTO server. Therefore based on our
> discussion in ALTO weekly meeting on Tuesday in this week, one suggestion
> to address this, factor out common data retrieval mechanism, move
> implementation specific or protocol specific parameters to the Appendix as
> an example.*
>

Indeed. The current data model for the data source may be overdesign. I
think we can focus on defining the basic shape of the data source model:

+--rw data-source
   +--rw source-id
   +--rw source-type
   +--rw (update-policy)
   |  +--:(reactive)
   |  +--:(proactive)
   |  +--:(on-demand)
   +--rw (source-protocol-stack)?


Then, we move any specific source-type and source-protocol-stack choices to
the appendix.

Cheers,
Jensen


> Supporting 3.a in O&M data model is easy. Sec 7 of the draft provides such
> an example. However, Consider the O&M data model MUST NOT assume the
> schema/interface of the data broker is fixed, it will be hard to support 3.b
>
> One potential solution is to allow the data model to define references to
> data in the data broker, and dependencies between data in the data broker
> and the data sources.
>
>
>
> Looking forward to seeing feedback and further discussions.
>
>
>
> Best regards,
>
> Jensen
>