[icnrg] Options for FLIC NameConstructor

Marc Mosko <mmosko@parc.com> Wed, 02 September 2020 22:33 UTC

Return-Path: <mmosko@parc.com>
X-Original-To: icnrg@ietfa.amsl.com
Delivered-To: icnrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D8EB43A115A for <icnrg@ietfa.amsl.com>; Wed, 2 Sep 2020 15:33:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=parc.onmicrosoft.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 giAPuHwkMrgc for <icnrg@ietfa.amsl.com>; Wed, 2 Sep 2020 15:33:23 -0700 (PDT)
Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2088.outbound.protection.outlook.com [40.107.93.88]) (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 D222A3A1146 for <icnrg@irtf.org>; Wed, 2 Sep 2020 15:33:22 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FVzO/a31CumLvpXiAc2LvbPA933U0PSvrtTwjOlTBCez+V5lwxTuMeE30tpEH0EDBpzXOIqR8XmqTQWP1J7hi0c9hqikUt5CZeSOdQTk1KdOzXl/WEgeVq8w8H7S8W8CcFlmjE1WOOBNY8fGzKOXNIqidCMEKTdqaAr5HdqhOCov6PEy9aX/QFImERG/dAf0lOHaBbJm4Umk/HtD3+Seksw2oMZv8Dpl8xvWLyFofzrRuP/i2EVm9JCVKmjwrc7lAOHOydPKAdMj1Oy4fee+gPhDmnk+m0jt1KAFdwUI5Ilkxu4HyEPfrEOe9amvcbbCrAg2mfoaNY31bPnwWiLq9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=z2W0XtvKz3zsL6ioVw54w4h8nN0LI3qWfHeqg7GurJE=; b=XX/A4nZzbiloICM//O+TACJJnq3iPi23g+u7eALsZ9+6+1h37lSrfHBSyp6mdnjhtZPtfFE5Ezqu5xEIM5PF6qTnPSJqQco/fpXMVHnUoRLao4a5W4TnA+Cdgg9BemdqBJGQimxo5fcJ7VcXVOEaTUrnmf1TDnSPjvj6ys0OgfKsxX4BAmiBHIpE/htVbfx+f0+3WJ/dy1Y0BBSg4r34ysLUn0p22UDf2eITppCNE9e5gNLqiOWHnbcedxmM/Vf0MzrHY4dRlxXg9FcY+gpg0RfkV5uaY3RbA4kmueegnh+uryWG4Pp+1qeZTSlpeEj50eLVp5zA5u53A8zgd5hZeg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=parc.com; dmarc=pass action=none header.from=parc.com; dkim=pass header.d=parc.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=parc.onmicrosoft.com; s=selector2-parc-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=z2W0XtvKz3zsL6ioVw54w4h8nN0LI3qWfHeqg7GurJE=; b=AXFy9GF/sbgyhHZbulWn+cp8KF9rlhF6PIebliFupjwb3dnOnDA3MacQrqYQ5ZOwSBDxlXcD7AP7+xfxS81CUlInqMKEzc/DE9y19BfnQO27EOU8EGuaSeUn/q987kqZcIOZ7wjjAU0cDukGsGj1d3YkhllBJ1zsKvjDj32yA0A=
Received: from BYAPR15MB3238.namprd15.prod.outlook.com (2603:10b6:a03:106::29) by BYAPR15MB2423.namprd15.prod.outlook.com (2603:10b6:a02:8d::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3348.15; Wed, 2 Sep 2020 22:33:20 +0000
Received: from BYAPR15MB3238.namprd15.prod.outlook.com ([fe80::fc91:e9e9:2957:6d3c]) by BYAPR15MB3238.namprd15.prod.outlook.com ([fe80::fc91:e9e9:2957:6d3c%5]) with mapi id 15.20.3348.015; Wed, 2 Sep 2020 22:33:20 +0000
From: Marc Mosko <mmosko@parc.com>
To: "icnrg@irtf.org" <icnrg@irtf.org>
Thread-Topic: Options for FLIC NameConstructor
Thread-Index: AQHWgXkPAywFAk6dxE+wedtEVoUMsg==
Date: Wed, 2 Sep 2020 22:33:20 +0000
Message-ID: <D600CAC9-5496-46DF-8EFE-7600F5A805F2@parc.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.39.20071300
authentication-results: irtf.org; dkim=none (message not signed) header.d=none;irtf.org; dmarc=none action=none header.from=parc.com;
x-originating-ip: [50.0.67.90]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: c5aefb75-82ec-4569-ae79-08d84f903217
x-ms-traffictypediagnostic: BYAPR15MB2423:
x-microsoft-antispam-prvs: <BYAPR15MB24235CBFE718AAB29BAD8C71AD2F0@BYAPR15MB2423.namprd15.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: tmxOwlDquoIkFIP4lV5NGy0nf6anXlzGF+Fti9Me0AxJQyFcRrAkV85JYX9K1qEWAGclRVAXA61IwuLTuu9ff3NGu9zPlEDc9LZqfImA7Fxp65/i39EgtFBPjh8+QvRm5rKQ0tWIG18jOt+YtANV/tzzKhQGQtgFHv9d6ElRZsj6s7DEx2EXPld6MIjRxHEChBWIHAYyuw9B6PWYwIqxBI0yitLB2c4N84I7nm0zITRRI+KmRyG8lr3TSZVos7qIUWSI74UuRPTWzfg1qdDDTitfTkbOPpvOnJ2XzH61gx93bU+oFbD0w8VVXrRP9cITdjUgauLiFOF9cWOL9wkkVQ==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR15MB3238.namprd15.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39840400004)(366004)(396003)(376002)(346002)(136003)(91956017)(2906002)(83380400001)(66446008)(3480700007)(66946007)(66476007)(64756008)(186003)(5660300002)(6486002)(6506007)(86362001)(26005)(66556008)(316002)(36756003)(8936002)(6512007)(6916009)(33656002)(71200400001)(478600001)(76116006)(2616005)(8676002); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: TMJGGdwNqAxtdYdQcluoWH+0T6BwciV5O7tZf7Agd/P11bUHJjP4yIP67t10eI4uL62CaWF1hykyX446EZFBjqQYRW0f/uZ7VzgDpRgO7sf+mM/YKNV6r6R3eiCz5Q1aoyYTdT00NjsQImeHpW37cK3KL4uzI5aN21orHEwUJTRLHupio7CSPAJk0SMpZnJKdicDRQmzm7hMNrp8XX3OlpFci9cSQu11P6tc3Cs3sAonqN5s59SBZ2LxJ7Le3+PBJUQSjUMFEMq/twkNyR5FBUprcUoYPubhQgYf/JOsG6Bd34y0ZmkfoSfBAf3+ANq6Wa8VL0JnbkG744iQh0/U+pKDJE+EORGKXqG0Vef3dpaNG1c+cam3ZIjqR8Uyqsy1oa63noVP1lV8qYc4HnN1PaogbF0qguy3qd681J3A30HFVgw5uoUJRojiN2IVfQsukKL8qR9onrxAFJoW7e+/MkjvGMvYoM+jT4efdW1noo2JQiZMDrcZ2xo0zNxrk8veUmKNW9SzDB7yoWxuU1Y9z/6SpqD5liDXeCYQk66ybz/4enBJihScl79QJIUT0tQzGOGcZncbvhWuDjGHI8q3kFZtQfFQjzUZx2uzIFG//u/r9mc2pf3H/lsIMkQIBPcAv+MlX298hda85jzuwGtH4A==
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_D600CAC9549646DF8EFE7600F5A805F2parccom_"
MIME-Version: 1.0
X-OriginatorOrg: parc.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR15MB3238.namprd15.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c5aefb75-82ec-4569-ae79-08d84f903217
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Sep 2020 22:33:20.5174 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 733d6903-c9f1-4a0f-b05b-d75eddb52d0d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: lyVo18n5IGzbZXKcWDBpzYC5wB35C2GWMN0dzaeP9CbRVniDTOmWzaqvPiWbXJlk
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR15MB2423
Archived-At: <https://mailarchive.ietf.org/arch/msg/icnrg/EJfjbtJIsrETdcwlm8saGkob7iw>
Subject: [icnrg] Options for FLIC NameConstructor
X-BeenThere: icnrg@irtf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Information-Centric Networking research group discussion list <icnrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/icnrg>, <mailto:icnrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/icnrg/>
List-Post: <mailto:icnrg@irtf.org>
List-Help: <mailto:icnrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/icnrg>, <mailto:icnrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Wed, 02 Sep 2020 22:33:25 -0000

All,

Here are some options on refactored name constructors for FLIC manifests.  We could allow only a single NameConstructor in a Manifest (in which case both data and manifest objects would be in the same namespace), or we could allow one NameConstructor per hash group (in which case manifest and data could be in separate namespaces).

I’ve represented TLV structures more like nested procedures, hopefully this is easily understandable.

NameConstructor(type = TYPE_0, length = …) {
                # Whatever name was used in the Interest for this Manifest,
# use that name for the next Interest plus the hash restriction

Optional RoutingHints(type = TYPE_9, length = …) {
                # list of routing hints, could use existing NDN type #
}

Optional ProtocolFlags(type = TYPE_8, length = …) {
                # e.g. NDN must be fresh, Interest lifetime hints, etc.
}
}

NameConstructor(type = TYPE_1, length = …) {
                # Use any of these names in the Interest plus the hash restriction
                UnorderedList(type = 0, length = …) {
                                # W could be the existing TLV type for a name
                                Name(type = W, length = …) { … }
                                …
                                Name(type = W, length = …) { … }
                }

Optional RoutingHints(type = TYPE_9, length = …) {
                # list of routing hints, could use existing NDN type #
}
Optional ProtocolFlags(type = TYPE_8, length = …) {
                # e.g. NDN must be fresh, Interest lifetime hints, etc.
}
}

NameConstructor (type = TYPE_2, length = …) {
                # Use the name of this Manifest plus a hash restriction
                # (does not apply to nameless objects)

Optional RoutingHints(type = TYPE_9, length = …) {
                # list of routing hints, could use existing NDN type #
}
Optional ProtocolFlags(type = TYPE_8, length = …) {
                # e.g. NDN must be fresh, Interest lifetime hints, etc.
}
}

NameConstructor (type = TYPE_3, length = …) {
                # Use any of these names, append the segment number and
                # use the hash restriction.  The segment number is computed sequentially
                # for each hash group number.  If you allow NameConstructors per HashGroup, then
                # the manifest tree has its own segment # counter and the Data tree has its
                # own segment # counter.  In this case, the UnorderedList is likely of length 1.
                UnorderedList(type = 0, length = …) {
                                Name(type = W, length = …) { … }
                                …
                                Name(type = W, length = …) { … }
                }

Optional RoutingHints(type = TYPE_9, length = …) {
                # list of routing hints, could use existing NDN type #
}
Optional ProtocolFlags(type = TYPE_8, length = …) {
                # e.g. NDN must be fresh, Interest lifetime hints, etc.
}
}

Marc