Re: [alto] fci alto transport design discussion

Kevin Ma J <kevin.j.ma@ericsson.com> Mon, 03 July 2017 16:59 UTC

Return-Path: <kevin.j.ma@ericsson.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 6496412EC00; Mon, 3 Jul 2017 09:59:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.189
X-Spam-Level:
X-Spam-Status: No, score=-4.189 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 08hDyYaFexDN; Mon, 3 Jul 2017 09:59:49 -0700 (PDT)
Received: from usplmg21.ericsson.net (usplmg21.ericsson.net [198.24.6.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D46D11286B2; Mon, 3 Jul 2017 09:59:47 -0700 (PDT)
X-AuditID: c6180641-bd7ff70000001788-76-595a31a09a38
Received: from EUSAAHC003.ericsson.se (Unknown_Domain [147.117.188.81]) by usplmg21.ericsson.net (Symantec Mail Security) with SMTP id 12.8F.06024.0A13A595; Mon, 3 Jul 2017 13:59:29 +0200 (CEST)
Received: from EUSAAMB103.ericsson.se ([147.117.188.120]) by EUSAAHC003.ericsson.se ([147.117.188.81]) with mapi id 14.03.0352.000; Mon, 3 Jul 2017 12:59:44 -0400
From: Kevin Ma J <kevin.j.ma@ericsson.com>
To: Jan Seedorf <jan.seedorf@hft-stuttgart.de>, "Y. Richard Yang" <yry@cs.yale.edu>, Jon Peterson <jon.peterson@neustar.biz>, "cdni@ietf.org" <cdni@ietf.org>, IETF ALTO <alto@ietf.org>
Thread-Topic: fci alto transport design discussion
Thread-Index: AQHS8/PEdGi5HHO/oUy3r13FnkopSKJCUsQA///73vA=
Date: Mon, 03 Jul 2017 16:59:43 +0000
Message-ID: <A419F67F880AB2468214E154CB8A5562222E0D34@eusaamb103.ericsson.se>
References: <CANUuoLr3cXLe-27j11Be5amOcH7JjGrFTKa5PWBFaYJKV3sqbw@mail.gmail.com> <2636700d-72af-270b-5809-bd999e0e1ca3@hft-stuttgart.de>
In-Reply-To: <2636700d-72af-270b-5809-bd999e0e1ca3@hft-stuttgart.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [147.117.188.9]
Content-Type: multipart/alternative; boundary="_000_A419F67F880AB2468214E154CB8A5562222E0D34eusaamb103erics_"
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprGIsWRmVeSWpSXmKPExsUyuXRPoO5Cw6hIg1t7WCwebt/LavF09h9W i4Odb9kszjRYWuw71MHiwOrRvLmbyWPFjdOsHkuW/GTy2NHwnDmAJYrLJiU1J7MstUjfLoEr Y+PWnWwFV04wVjy99ZSxgXHNYcYuRk4OCQETiasLp7N1MXJxCAkcZZQ4PHs2C4SzjFFi2pdG VpAqNgEticdf/zKBJEQE9jBKnH73kBkkISxgKHG8dzc7iC0iYCTRcq0RKM4BZFtJnPwgDRJm EVCRaNo2gwnE5hXwlZh6bhozxIIuRolzt6+B9XIKuEhse9THBmIzCohJfD+1BqyBWUBc4taT +UwQpwpILNlznhnCFpV4+fgfK4StKLGvfzo7RH2+xMK571kglglKnJz5hGUCo/AsJKNmISmb haRsFtDZzAKaEut36UOUKEpM6X7IDmFrSLTOmcuOLL6AkX0VI0dpcUFObrqR4SZGYGwdk2Bz 3MG4t9fzEKMAB6MSD6+ZfFSkEGtiWXFl7iFGCQ5mJRHeb6VAId6UxMqq1KL8+KLSnNTiQ4zS HCxK4rzvyi9ECAmkJ5akZqemFqQWwWSZODilGhjzraJ9NxV/nrrZOXyz6sS9EgcnXdgpcCn5 fIj6vQtrxDhrdaYV6Zjflk+q+rx9Snb+jy/r8r3/Ldd379GcsX+fukOZ45Z9874I7nPaz6tY uyJunvdrD4YFXnLfnlgIxtTvKfp0n/XZE0n/N/98ZMWPz/KQ/1hfovNzS27FitOtj5v1i8tj b+grsRRnJBpqMRcVJwIAB9Vph6kCAAA=
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/CeROR0hDDDSrQL5kjGD-uEPCLx4>
Subject: Re: [alto] fci alto transport design discussion
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.22
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: Mon, 03 Jul 2017 16:59:52 -0000

Hi All,

  (as an individual/author) I agree that the functionality described would be useful, i.e., being able to specify different footprints for different capability-values associated with a given capability-type.  This was more explicitly laid out in draft-ma-cdni-capabilities, but did not all come over into RFC8008.  The delivery protocol example in [1] shows http and https being supported across different footprints, just as Richard showed.  The first part of the last paragraph of [2] describes the intended restriction on duplicate capability-values (ignoring the typo where it says "footprint-value" and should just say "values"); though this is describing a "response", it maintains the same rational wrt restrictions on creating the json objects:

   Multiple FCIMapData objects with the same capability type are allowed
   within a given CDNI FCI Map response as long as the capability option
   [values] do not overlap, i.e., a given capability option value
   MUST NOT show up in multiple FCIMapData objects within a single CDNI
   FCI Map response.

[1] https://tools.ietf.org/html/draft-ma-cdni-capabilities-09#section-3.1.7.1
[2] https://tools.ietf.org/html/draft-ma-cdni-capabilities-09#section-3.1.6

thanx.

--  Kevin J. Ma

From: Jan Seedorf [mailto:jan.seedorf@hft-stuttgart.de]
Sent: Monday, July 03, 2017 8:57 AM
To: Y. Richard Yang <yry@cs.yale.edu>; Jon Peterson <jon.peterson@neustar.biz>; Kevin Ma J <kevin.j.ma@ericsson.com>; cdni@ietf.org; IETF ALTO <alto@ietf.org>
Subject: Re: fci alto transport design discussion


Hi Richard and all,

looking at RFC8008, its states that "FCI objects are composed of a dictionary of (key,value) pairs where the keys are the property names and the values are the associated property values.", meaning that the "capability-value" is a key. However, I did not find anything on multiple "capability-type" entries, and what to do when they are conflicting. From a CDNI perspective, it should certainly be possible to have something like in your example below: support http1.1 for footprint a and support http1.0 for footprint b.

I am for option 2) below, that is allow multiple entries with the same capability type.
The FCI use case may argue that we extend the incremental update w/ JSON Patch, to better handle arrays, right away.
Indeed. Do you want to choose one of the two (JSON Patch vs. JSON Merge Patch) or do you think of making JSON Merge Patch mandatory and JSON Patch optional and then we say in the ALTO FCI service specification that this one demands JSON Patch (as pecified in the ALTO incr. updates)?

 - Jan

On 03.07.17 13:59, Y. Richard Yang wrote:
Hi Jan, Jon, Kevin, all,

As we are working on the design, a key issue that we are trying to understand is the conflict resolution of the capabilities in the "capabilities" list [RFC8008]. Consider
   {
     "capabilities": [
       {
         "capability-type": "FCI.DeliveryProtocol",
         "capability-value": {
           "delivery-protocols": [
             "http/1.1",
           ]
         },
         "footprints": [
           <Footprint objects 1>
         ]
       },
       {
         "capability-type": "FCI.DeliveryProtocol",
         "capability-value": {
           "delivery-protocols": [
             "http/1.0",
           ]
         },
         "footprints": [
           <Footprint objects 2>
         ]
       }

     ]
   }

What if the footprints in the two entries have overlap? I see two options:
(1) Enforce that each capability-type has a single entry; that is, make capability-type a key;
(2) Allow multiple entries with the same capability-type, and the search is ordered by the array; that is, the result is the first matching footprints.

I assume that (2) is more flexible. An issue, however, is that it makes incremental updates harder. In other words, this issue will determine whether we should integrate JSON Patch. The current alto incremental updates, based on SSE and JSON Merge Patch, is pretty useful. The FCI use case may argue that we extend the incremental update w/ JSON Patch, to better handle arrays, right away.

Any clarification, comments and suggestions will be great.

Richard




--

****************************

Prof. Dr. Jan Seedorf

jan.seedorf@hft-stuttgart.de<mailto:jan.seedorf@hft-stuttgart.de>

****************************

Hochschule für Technik Stuttgart

Fakultät Vermessung, Informatik und Mathematik

Schellingstr. 24

D-70174 Stuttgart

www.hft-stuttgart.de<http://www.hft-stuttgart.de>

****************************