Re: [alto] Resume Discussion about the Remaining Issue of draft-ietf-alto-unified-props

Jensen Zhang <jingxuan.n.zhang@gmail.com> Wed, 24 October 2018 11:12 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 8A703130DEF for <alto@ietfa.amsl.com>; Wed, 24 Oct 2018 04:12:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-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 JgKyWfyoqzAT for <alto@ietfa.amsl.com>; Wed, 24 Oct 2018 04:12:09 -0700 (PDT)
Received: from mail-yb1-xb2b.google.com (mail-yb1-xb2b.google.com [IPv6:2607:f8b0:4864:20::b2b]) (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 D4F29130DC2 for <alto@ietf.org>; Wed, 24 Oct 2018 04:12:08 -0700 (PDT)
Received: by mail-yb1-xb2b.google.com with SMTP id k132-v6so1941719ybc.2 for <alto@ietf.org>; Wed, 24 Oct 2018 04:12:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=SwmXLX6+zc8ZDysamT5LDu5+ziWdygaDPwThCFLPif4=; b=K+dQv26MAr4HVotcHvql0BVS9p+inZd4dYbXygDCGtahr09XAloSPwjYoFqPwCioSP NCbw723glDqP3ZcXpnZS9zlKIaw3GQEnQ4Y8GqBg6WA1wlBql5xlt1UqpUSII4dWB9Vx U1/PDo1wZ8Rvt5TUybPnHvzNhUgT8NXi7e7xz9uOZAPQoErIJff2XmoHq84AY09ibgsF ZcrDxjo5hV9gMIpjx0sW/YZswgZ5CT30VeAnOzryfbm02vNFvVy4Hchy1jt6gKwnB4oQ nb5ZJX1mKZQBx6EzhBQ/u1ItJzxSjiCUDNBo6UPOsYKoI6au5CT3xyMlbki81tY/r1sk D1GQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=SwmXLX6+zc8ZDysamT5LDu5+ziWdygaDPwThCFLPif4=; b=VCvvOR0XFmAg+F1esbFeCM4N/uVY40Ww2jo4Luzj35UDISS9lNpSKL6UZmRi5q2MnH 7NIsKwrMEup7ISE/6wkpHa36sI+d/fFpSY/jeJzaOjMWkFlSxfIUaLmV+lGQvqovN5Pb ZCpWtrVKGw0SLs3J0Fj2xNT12UH5y8En2DEznW7v5WFIHwi+kfnpmAl6VT9lWhLllYFr JJ+st5K3mB3iBil8lzDV/aPVsnwVNsg9L69JlrE0o9Ac8Ga+h31jkcZaOHmw5FNjjI5S MRrt4U9q7uWaBtIRo8Wu/DsHW6YdPXEArn9XFycixUCYAZmkkamlfntu7s+Kt5R+6qGx NOYg==
X-Gm-Message-State: AGRZ1gKeT6GXMDlOxJro53gEJWRLz/JbEdFpdiJNIRYWajIAEmZcSz6J kFeGR1ibGUm3AcXNboMco4HYDZ5QlRozszHrVeE=
X-Google-Smtp-Source: AJdET5dvDTHYrV1Y/LCGnisZr8exskD0N3NX7UR/qzfj0f31HIJcrC0jsIMHChI81GcJ53GD1Gg9/RRS5ZG2LI0ijxs=
X-Received: by 2002:a25:238c:: with SMTP id j134-v6mr1243797ybj.298.1540379527929; Wed, 24 Oct 2018 04:12:07 -0700 (PDT)
MIME-Version: 1.0
References: <CAAbpuyp2YRxVVJSReW9uZ0Dx3H3zxV=1Z-qAN9fGdnXyQ8hrTA@mail.gmail.com> <AM4PR07MB32360C8FF4E0E78F5DE97B0F95FF0@AM4PR07MB3236.eurprd07.prod.outlook.com>
In-Reply-To: <AM4PR07MB32360C8FF4E0E78F5DE97B0F95FF0@AM4PR07MB3236.eurprd07.prod.outlook.com>
From: Jensen Zhang <jingxuan.n.zhang@gmail.com>
Date: Wed, 24 Oct 2018 07:11:55 -0400
Message-ID: <CAAbpuyqevg0VgJqvyC4NNxMn+shnkRNyWc0zjk5xVGMkFMQ3AQ@mail.gmail.com>
To: "Randriamasy, Sabine (Nokia - FR/Paris-Saclay)" <sabine.randriamasy@nokia-bell-labs.com>
Cc: IETF ALTO <alto@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000094e56f0578f78eb2"
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/iBEfHzwBKc8EfOzcDE4baJQcCrU>
Subject: Re: [alto] Resume Discussion about the Remaining Issue of draft-ietf-alto-unified-props
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.29
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: Wed, 24 Oct 2018 11:12:13 -0000

Hi Sabine,

Thanks for your feedback. See my comments inline.

On Thu, Oct 18, 2018 at 1:21 AM Randriamasy, Sabine (Nokia -
FR/Paris-Saclay) <sabine.randriamasy@nokia-bell-labs.com> wrote:

> Hi Jensen,
>
>
>
> Regarding the second point on an unambiguous way to associate a property
> map and the information resource it uses, I may have missed something and
> have a question on your example:
>
>
>
> "uses": ["networkmap1", "pv-costmap1"],
>
> "capabilities": {
>
>   "entity-domains": ["ipv4", "ipv6", "ane"],
>
>   "properties": ["pid"]
>
> }
>
>
>
> Independently of the “uses” member, just looking at the capabilities, I
> understand this as:
>
> Client can in particular request the “pid” property of an entity in the
> “ane” domain.
>
> Which by the way assumes no entity is a link with endpoints in different
> PIDs.
>
> As a PIDs is defined in RFC7285 section 5.1 as a set of endpoint
> addresses, does this document extend this set to entity addresses?
>

Good point. Although we can consider to extend the semantics of PIDs, it is
not what this document wants. It is my fault. I took a bad example.


>
>
> The initial design of this extension was to solve ambiguities by having
> one “used” resource per property map, thus “splitting” property maps w.r.t.
> “used” maps, see v00 section 2.6 : “Instead of defining the dependency by
> qualifying the property name, this document attaches the dependency to the
> property map as a whole. Thus all properties in a given property map depend
> on the same resource."
>
>
>
> Would you have a concrete example where retrieving a property on  entities
> in a domain requires to both know a network map and a cost-map?
>

Now I understand your concern. I agree that we need a reasonable example. I
want to take an example to show that one property on entities in a domain
may depend on more than one ALTO resources. But based on our existing
standard drafts, we do not have a reasonable example so far.

But I do think it is necessary to revise the draft to support this. Even
there is no existing standard example requiring multiple dependencies, it
is still possible to happen in the future. If we don't want to make the
draft obsolete very soon, we need to take care. And actually, I find the
cdni footprint property map proposed in
draft-ietf-alto-cdni-request-routing-alto may be a reasonable example.

Before we discuss the property map example, let's clarify one basic
concept: property

Without the context of the entity domain, the concept "property" cannot be
understood. So in this document, we shouldn't use the term "property"
independently.

For example,

the pid property - Invalid
the pid property of the entity in ipv4 domain - Valid
the pid property of the ipv4 entity - Valid

So the statement "all properties in a given property map depend on the same
resource" is not invalid. We should revise it as "all properties of any
entities in a given property map ..."

Now we see the example of the fci footprint property map. From
draft-ietf-alto-cdni-request-routing-alto, an ALTO server can provide the
"cdni-fci-capabilities" property for the cdni footprint entities. In the
same property map, the "cdni-fci-capabilities" property values of the cdni
footprint entities should depend on the same cdni-fci-map.

But there is no entity domain called "cdni footprint". From RFC8006, the
cdni footprint can be ipv4cidr, ipv6cidr, asn and countrycode. As ALTO can
provides the PID entity to express a set of ipv4cidr and ipv6cidr, we can
leverage it. So we can consider the following cdni footprint property map
resource:

"cdnifci-prop-map": {
  "uri": "http://alto.example.com/propmap/full/cdnifci",
  "media-type": "application/alto-propmap+json",
  "capabilities": {
    "entity-domains": ["pid"],
    "properties": ["cdni-fci-capabilities"]
  },
  "uses": [...]
}

What the "uses" of this property map should be? The client should have a
network-map to understand what a PID entity is. Then the client should have
a cdni-fci-map to understand what the cdni-fci-capabilities of a PID entity
is. So to interpret this property map, the client requires two ALTO
resources.

I believe it is not a special case. In the future, we may have another
property map for the entity-domain "A" and the property "P". The entity in
domain A depends on the resource R1, and the property P of the entity in
domain A depends on the resource R2. So finally, the property P of the
entity in domain A depends on R1 and R2.

Do you think it is reasonable?

Best,
Jensen


>
>
> Thanks,
>
> Sabine
>
>
>
>
>
> *From:* alto <alto-bounces@ietf.org> *On Behalf Of *Jensen Zhang
> *Sent:* Wednesday, September 26, 2018 3:15 PM
> *To:* IETF ALTO <alto@ietf.org>
> *Subject:* [alto] Resume Discussion about the Remaining Issue of
> draft-ietf-alto-unified-props
>
>
>
> Hi ALTOer,
>
>
>
> During IETF 102, we agree that the unified properties draft is important
> and need to be processed first.. From the update which we presented at IETF
> 102, the latest draft has been almost stable. But there are still two
> unclear points in the previous revisions:
>
>
>
> 1. The response of filtered property map query for address blocks.
>
> 2. The resource dependencies declaration.
>
>
>
> For the first point, we presented the issue and the potential solution
> during IETF 102 (p12-p13 of
> https://datatracker.ietf.org/meeting/102/materials/slides-102-alto-alto-unified-properties-00.pdf).
> The proposed solution should be reasonable. The authors are updating the
> draft and including it.
>
>
>
> But for the second point, we have not figured out a reasonable solution.
> So I want to involve all of the related people to discuss this part.
>
>
>
> Briefly, the second point is unclear because the "uses" attribute of a
> unified property resource may have ambiguity from the current
> specification. We take a simple example to show the ambiguity:
>
>
>
> "uses": ["networkmap1", "pv-costmap1"],
>
> "capabilities": {
>
>   "entity-domains": ["ipv4", "ipv6", "ane"],
>
>   "properties": ["pid"]
>
> }
>
>
>
> Based on the current draft, the "uses" attribute is "An array with the
> resource ID(s) of resource(s) with which the entity domains in this map are
> associated", the client can have several different understandings in this
> example: (1) all the entities in this property map depend on networkmap1 or
> pv-costmap1; (2) entities in ipv4 and ipv6 domain depend on networkmap1,
> and entities in ane domain depend on pv-costmap1; (3) entities in ipv4
> domain depend on networkmap1, entities in ipv6 domain depend on
> pv-costmap1, entities in ane domain have no dependency. (4) ...
>
>
>
> But all those understandings are not correct. The understanding the server
> expects should be: the PID property values of all entities in this map
> depend on networkmap1; the entities in ane domain depend on pv-costmap1.
>
>
>
> To make the client can understand the resource dependencies of a property
> map correctly, we should modify the specification of its "uses" attribute.
> I have two proposals:
>
>
>
> 1. Each combination of "entity-domain" and "property" SHOULD specify its
> dependent resource type explicitly. For example, <ipv4, pid> or <ipv6, pid>
> depends on a network map; <ane, pid> depends on a network map and a cost
> map.
>
> 2. Each combination of "entity-domain" and "property" SHOULD specify how
> to use the dependent resources to interpret this combination. For example,
> for <pid4, pid>, the dependent network map is used to validate and
> interpret the pid property values; for <ane, pid>, the dependent cost map
> is used to validate and interpret the entities in ane domain, and the
> dependent network map is used to validate and interpret the pid property
> values.
>
>
>
> If we agree on these two proposals, they will be required for all the
> registered ALTO Entity Domains and ALTO Properties, and the future ones. It
> may be a critical change but may be necessary..
>
>
>
> Do we have any better solution to make the resource dependency declaration
> clear? I will appreciate people sharing thoughts..
>
>
>
> Best regards,
>
> Jensen
>