Re: [core] Fwd: New Version Notification for draft-bierman-core-yid-00.txt

Andy Bierman <andy@yumaworks.com> Mon, 22 August 2016 21:17 UTC

Return-Path: <andy@yumaworks.com>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1F65312D0A5 for <core@ietfa.amsl.com>; Mon, 22 Aug 2016 14:17:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, 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=yumaworks-com.20150623.gappssmtp.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 D3K3R7A-O8dT for <core@ietfa.amsl.com>; Mon, 22 Aug 2016 14:17:29 -0700 (PDT)
Received: from mail-ua0-x232.google.com (mail-ua0-x232.google.com [IPv6:2607:f8b0:400c:c08::232]) (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 42F5F127071 for <core@ietf.org>; Mon, 22 Aug 2016 14:17:29 -0700 (PDT)
Received: by mail-ua0-x232.google.com with SMTP id 74so212494355uau.0 for <core@ietf.org>; Mon, 22 Aug 2016 14:17:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=scmvRVfCLd81FajOdvAtugnXjFDgAP6RWoT2o81Ijbs=; b=tMJqPYQyV52ROpmwzjGpEZcqKCWumixUn5pTpqV1jNMQiz1iBAb7InEjXs5JiqyMWt gjq8IHZCr3D+h1LsbFjw9NA1E9marPYV7ZGddqMNkZ8b5wQLkfhrnTylQiSMSPwoDcKm dX3+ebeVfqwAsOtOB48TFys3l1lVSpNPCL6JEJEgpcFx4DkmGWuKfor1Pgmf9YSpjWBg awnUkTSjaaqmDhohtDcGtdT5KK2bhi599iHm7rhad05ELxeTtLokpU9QRqcEeGdolHP0 a/GoHJFwlVgC/hsiVAF+EEuKTh0PgpPyQxiD7bFem8yMJvLlAsOnG6b/ymRcAuuIMYMT LJWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=scmvRVfCLd81FajOdvAtugnXjFDgAP6RWoT2o81Ijbs=; b=MM8IGs5nUD6+38mnsmHG1NTdR8QiDqUweKFiXeSDqemLjvhIDWfOi9v+qmf+8XH7Lh C297Or2V1chTeJCn6Wa2wWgUjzNzSq6XWmBwfYkzQFKlVrQnikXBBckdeqvWgydqcbHg DBCsCTrZkSZziD/yQYwer6Lzg9xwmVk5fJF7Xptz1Zv50Wc4abBjJGReq+OljCyV3SBy cst2tYGN3Ia7Ghadh7r2oqtn9rdUNLb3sS/9H4EaCEs6tluJ2+leKpQHAHYDbmA/rPgV lQIUFTEMP9jLfM7zNeIMjlYgc1fTboJeq8oGNpvb+uDZ3u+vhOApzYqy6EfTEi+70ZB1 Og6A==
X-Gm-Message-State: AEkoouvnpIGR4jCrCsniQeRJPhwUFqLxJ/evL7eqXamPW9rD+3VE9LMeclVjad65imtf2Q/0CtvIPJk5Jiw6eQ==
X-Received: by 10.176.3.72 with SMTP id 66mr12301312uat.105.1471900648359; Mon, 22 Aug 2016 14:17:28 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.103.4.134 with HTTP; Mon, 22 Aug 2016 14:17:27 -0700 (PDT)
In-Reply-To: <BN6PR06MB23083DBDC47C13647C385AE4FEE80@BN6PR06MB2308.namprd06.prod.outlook.com>
References: <147137218567.23002.16239675741482547105.idtracker@ietfa.amsl.com> <CABCOCHR2vySLHF52NuXRE0L2u9=-CCgyxtarTMZ0e92Ga87fcA@mail.gmail.com> <BN6PR06MB23083DBDC47C13647C385AE4FEE80@BN6PR06MB2308.namprd06.prod.outlook.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Mon, 22 Aug 2016 14:17:27 -0700
Message-ID: <CABCOCHTXcx_qJiy1KOBhTfEZ8a5xCctXT962eSPKyjEXSdNy5Q@mail.gmail.com>
To: Michel Veillette <Michel.Veillette@trilliantinc.com>
Content-Type: multipart/alternative; boundary="001a113f26944a631d053aaf9389"
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/2LVAfB-4n5g1PuxYo3x3wDOUhg8>
Cc: Core <core@ietf.org>
Subject: Re: [core] Fwd: New Version Notification for draft-bierman-core-yid-00.txt
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 22 Aug 2016 21:17:32 -0000

On Mon, Aug 22, 2016 at 2:01 PM, Michel Veillette <
Michel.Veillette@trilliantinc.com> wrote:

> Hi Andy
>
>
>
> I see two fundamental differences between the SID and the YID drafts.
>
>
>
> 1) The name
>
> YID is harder to pronounce, but seem to be technically better.
>
> These IDs are not really structured, they are in fact arbitrary if we
> allocate them by range(s).
>
> But we shall use them only for YANG items if we want to keep them compact.
>
>
>



2) Allocation per range or per prefix
>
> Last winter, we moved from an allocation per prefix (20 bits, 10 bits) to
> an allocation per range(s).
>
>
>


I realize that if I ask for a range of 64K, then why should the registry
care
if I use it for manual numbering or hashing. I think module-ids
are easier to manage though.  YID proposes that a module-id be added
to the YANG Module Registry and IANA will assign the module-id.
This is how it works for the SNMP OID root for a MIB module,
which is essentially the same thing.

IMO modules should fit into 1 range, if ranges are used.




> We did this change for the following reasons:
>
> - Starvation of IDs.
>
> The size of the range can be adjusted based on the estimated number of
> items for each particular YANG module.
>
> And extra range(s) can be added if needed.
>


I think the YID registry can be scaled down as needed.
e.g., the server "knows" no module it supports has more than 256 objects so
the "local-bits" can be scaled down from 16 bits to 8 bits.




>
>
> - Efficiency
>
> An allocation based on a fixed number of bits become very inefficient,
> especially if want or minimize the ricks of starvation and to support
> multiple tiers of registration (IANA, SDO/registrars, Developers, YANG
> modules).
>
>
>
> These reasons are still valid and I hope you appreciate the advantages of
> using ranges.
>
>
>
> ==================
>
>
>
> I also want to clarify a couple of items discussed on the malling list.
>
>
>
> 1) [I-D.somaraju-core-sid] don't mandate any specific algorithm to perform
> the allocation of IDs to YANG items.
>
> Using a hash to perform this allocation is perfectly valid and the text
> should be modified to mention the possible use of a hash or any other
> algorithms.
>
>
>
> 2) manual / sequential numbering
>
> [I-D.bierman-core-yid] associate the term "manual" to sequential numbering.
>
> Since  [I-D.somaraju-core-sid] recommend the use an automated process to
> perform SIDs allocation, we should avoid the use of "manual" to qualify
> sequential numbering.
>


No -- I mean manual.
What if I want to leave some gaps in the numbering for future growth?
Since the number of CBOR bytes is 1 whether the delta is 1 or 23,
I can leave padding in the number space without any penalty in the protocol.
Sequential numbering gets very non-sequential (the more so with every new
module revision).





>
>
> ==================
>
>
>
> As a last comment, [I-D.bierman-core-yid] contain a lot of very good
> description text which should be preserved during the merging process.
>
>
>
> Regards,
>
> Michel Veillette
>
>
>


Andy



> *From:* core [mailto:core-bounces@ietf.org] *On Behalf Of *Andy Bierman
> *Sent:* Tuesday, August 16, 2016 2:39 PM
> *To:* Core <core@ietf.org>
> *Subject:* [core] Fwd: New Version Notification for
> draft-bierman-core-yid-00.txt
>
>
>
> FYI,
>
>
>
>
>
> Peter and I have written a new draft called "Numeric YANG Identifiers"
>
> which replaces the "YANG Hash" draft.
>
>
>
> This draft combines hash-based and manual numbering and defines
>
> a simple registry-based process for management of module and object
> identifiers.
>
>
>
> The need for a rehash procedure and rehash errors has been removed.
>
> YANG Hash is now scoped by the module identifier so there are no
> inter-module
>
> interactions.  Hash collisions within a module are not allowed.
>
> Manual assignments for colliding nodes are used to avoid the rare
> occurrence
>
> of a hash collision within the same module.
>
>
>
>
>
>
>
> Andy
>
>
>
>
>
> ---------- Forwarded message ----------
> From: <internet-drafts@ietf.org>
> Date: Tue, Aug 16, 2016 at 11:29 AM
> Subject: New Version Notification for draft-bierman-core-yid-00.txt
> To: Peter van der Stok <consultancy@vanderstok.org>, Andy Bierman <
> andy@yumaworks.com>
>
>
>
> A new version of I-D, draft-bierman-core-yid-00.txt
> has been successfully submitted by Andy Bierman and posted to the
> IETF repository.
>
> Name:           draft-bierman-core-yid
> Revision:       00
> Title:          Numeric YANG Identifiers
> Document date:  2016-08-16
> Group:          Individual Submission
> Pages:          33
> URL:            https://www.ietf.org/internet-
> drafts/draft-bierman-core-yid-00.txt
> Status:         https://datatracker.ietf.org/doc/draft-bierman-core-yid/
> Htmlized:       https://tools.ietf.org/html/draft-bierman-core-yid-00
>
>
> Abstract:
>    This document describes an encoding of YANG object identifiers using
>    numeric values instead of string values.  It combines several
>    techniques to provide optimized serialization in protocol messages.
>
> Note
>
>    Discussion and suggestions for improvement are requested, and should
>    be sent to core@ietf.org.
>
>
>
>
> Please note that it may take a couple of minutes from the time of
> submission
> until the htmlized version and diff are available at tools.ietf.org.
>
> The IETF Secretariat
>
>
>