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

Andy Bierman <andy@yumaworks.com> Tue, 23 August 2016 16:03 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 DA65112D541 for <core@ietfa.amsl.com>; Tue, 23 Aug 2016 09:03:30 -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 AColx5SemUXm for <core@ietfa.amsl.com>; Tue, 23 Aug 2016 09:03:28 -0700 (PDT)
Received: from mail-ua0-x22b.google.com (mail-ua0-x22b.google.com [IPv6:2607:f8b0:400c:c08::22b]) (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 68F0612D50D for <core@ietf.org>; Tue, 23 Aug 2016 09:03:24 -0700 (PDT)
Received: by mail-ua0-x22b.google.com with SMTP id 74so252630930uau.0 for <core@ietf.org>; Tue, 23 Aug 2016 09:03:24 -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=C0v+kAJMPX2RIC9a/dJlZMPEu4/dZI789TpZ7AKVjYo=; b=Yw+O2IMZdA4znFJND+VZGfuUktfG2clpNHVdH1liVgG9KMz1lwajeQoRZ9y/8+1z4Y AuqZQR+ipRAcuhnFj511QkC3RktkZzMjCgsPjXIn96bB+O6DW/D4+ktFf90AynXCQz/O PLLeTkjmrEqHelldFYWMcrZ5TdZ1cSveEde2lwOqux2XOPgEBfBe81MYGRvy3LSNdwyH mRIWEwi6zqAMCPtMT7E8eyxIudSWeLMyeRvvvw2EKDwE46NnDVjRDkLAs8+T59nAlu/o sXv0Z5nxawztEDx35VML5XTYVMs63rVHVHDNNWwC3yaK5gH81z1clnKlvzPqLzrdRmag UJ+Q==
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=C0v+kAJMPX2RIC9a/dJlZMPEu4/dZI789TpZ7AKVjYo=; b=HCu3cU91RfgmSOWdZGce813EiU4yNOuC7xMZfReCpxZvChCNtMHLs9GV+O1magCOl4 bzRFb76QcTzveSIBT6sHwtL48Chm9z6FJEeifsXLiRLEvO6MXDpCb0fix60Dv0MRPXus QIdqwsvkspAg4odKmKTbPIjJRDNvahxQ5r8KQmc5WW/LSB3cgqsJZftI8QiZIBiS40QI 9S2I+PZIQKJdVpgbQ95W0aw0waMPqrhakKJnPYSLXQQjJmfXFhl7WwYrB4rhbBayyJLy F4r6812KDFw8teII/FI1xz+Juqor/qLZ7x2OQjofneWh2gSUKYNNLp9TH2wYDCIlVo3f ZX5A==
X-Gm-Message-State: AEkoous2PNY+/DNp3DvBMiHzw7THYGUbbBQetbYL7F2O95FJGXu4mYm/qbSSAeedtZmSzXTrY03tCLrWG5ll1Q==
X-Received: by 10.176.80.47 with SMTP id b44mr14664344uaa.135.1471968203467; Tue, 23 Aug 2016 09:03:23 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.103.4.134 with HTTP; Tue, 23 Aug 2016 09:03:22 -0700 (PDT)
In-Reply-To: <BN6PR06MB2308181338DAF308CBE0CEDCFEEB0@BN6PR06MB2308.namprd06.prod.outlook.com>
References: <BN6PR06MB2308181338DAF308CBE0CEDCFEEB0@BN6PR06MB2308.namprd06.prod.outlook.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 23 Aug 2016 09:03:22 -0700
Message-ID: <CABCOCHQ76cB-bAd737FabkX7vHKNx6m-8Q9WneUG_w3yTerReQ@mail.gmail.com>
To: Michel Veillette <Michel.Veillette@trilliantinc.com>
Content-Type: multipart/alternative; boundary="94eb2c18f30ae3816f053abf4d32"
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/TterBOFzBjpmd6neLNYzE9r9TR8>
Cc: Core <core@ietf.org>
Subject: Re: [core] 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: Tue, 23 Aug 2016 16:03:31 -0000

On Tue, Aug 23, 2016 at 8:24 AM, Michel Veillette <
Michel.Veillette@trilliantinc.com> wrote:

> Hi Andy
>
>
>
> draft-bierman-core-yid-00 propose that only manually assigned YIDs
>
> are maintained in the registry (mapping list or mapping-url). YIDs
> associated to a
>
> hash are excluded from this registry.
>
>
>
> This solution doesn't seem to work if the following design objectives
> listed in
>
> section 1.2 need to be respected:
>
>
>
> 1- Persistent Identifiers: It is important that once an identifier is
>
> assigned, that is it never changed in any future revisions in the
>
> module.
>
>
>
> 1- Module updates need be simple, and only require the latest module
>
> and registry information.
>
>
>
> For example, YANG module X is created with:
>
> Data node A associated to YID = hash 1
>
> Data node B associated to YID = hash 2
>
> Data node C associated to YID = hash 3
>
>
>
> Than, a new revision is created with:
>
> Data node D associated to YID = hash 2
>
> Data node E associated to YID = hash 4
>
>
>
> Is this example, we have a hash clash between data node B and D.
>
> However, the YID assigned to data node B by version 1 is not allowed to
> change (objective #1).
>
> Only data node D can be rehashed.
>


So the manual entry will be for D, not B. not a problem.



>
>
> Using only the latest module (objection #2) and no entry in the registry,
> the proper rehash can't be performed.
>


Agreed. You do need the current registry entry to create
an update to that entry.




> A simple solution to this problem is to maintain all YIDs in the registry.
>
> A new entry is rehashed only if a clash is detected with an entry already
> present in the registry.
>


Agreed.
This also makes SID registry maintenance simple.
(Number only the nodes not already present in version N to produce N+1).

No matter how the YANG module can possibly be changed over time,
the path identifiers remain the same from version to version,
and therefore the hashes remain the same.




>
>
> In summary, the process is the same independently of the algorithm in used
> (sequential, murmur3 hash, manual).
>


yes



> Each time an YID is assigned, it must be added to the registry.
>
> And new entries are not allowed to collide with entries already present in
> the registry.
>
>
>
> The standard may describe these different algorithms (murmur3 hash,
> sequential, manual)
>
> but don’t need to mandate one.
>
>
>
> Regards,
>
> Michel
>
>
>

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
>
>
>