Re: [icnrg] Fwd: New Version Notification for draft-gundogan-icnrg-ccnx-timetlv-01.txt

"Mosko, Marc <>" <> Thu, 12 March 2020 03:31 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 8FA4B3A09DB for <>; Wed, 11 Mar 2020 20:31:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.9
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, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id G21Yma9fm2XG for <>; Wed, 11 Mar 2020 20:31:22 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 3213F3A0B1C for <>; Wed, 11 Mar 2020 20:31:21 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901;; cv=none; b=FxveXTyR+AjpKWRNXgz9D9VWf74VhY1UZzYcewtOwlQwkPIVRBUP0citlspOgr4isNb2LIVsIua2P271wNB/jPnm9UCngVN+od7ouHpW0TxeiBCAKxkSOhKuVolB4AgzcNmY/sldcahehFCr8KGAE0ueLBXgUt7H2P4uUAl8xOW5RWDOniNyqxhSxsbCznXL9b0+TFQ5Tw+D8Mbv14IqIk2oaWVzhI/SK9lmaKMLIiOnll1VjBS5oTNELwSFF/AXYrl1GjMmXClukZMk7f6qGj76lacPo9tBr7beaYSW9XPI33RLCbfAO2zN3+9sp2rhnw0KbQsWX46ccvHFpIRoNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;bh=HLfdYG1j0oTUIsnx9DacwMnOxJD3NBZUyxPZmVHIa80=; b=RwddlgzavwP1MvfLB0TRx/pkG+gFhIYl++1Gh8YZ/1YFn/oZftejkZIVUROT0TDXINaBkh/1jnj58RNK2ooIz1h3c8bBSIAU9GY9uXEIZ5g9uyNhkeB72tqXKIa2sjhY1FysJozzzxQU27y51XZfzU4dIBAo+faVHuMdHN3/F1ejROQNyU/V7+JEYsHubwZgPwzxVgp8lc1t+I0bcOOaNo3ZLbk/US1pKCx38Qi7YznRxbfBxibkyo8G+5fbRYcnjEQ6w9ifypWawiJ0R6X9MGGCnDSKAiIqxB7ZOuadD0nbk6Hx+azsym26A5GBhaUhai3u2y4p8VnM65rNbZU54g==
ARC-Authentication-Results: i=1; 1; spf=pass; dmarc=pass action=none; dkim=pass; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector2-parc-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HLfdYG1j0oTUIsnx9DacwMnOxJD3NBZUyxPZmVHIa80=; b=HBD8Hs8UOro6rodNmpK3dizch9KQE5nSMYF1nboLVOm4GJxsV2UkF+GKxi2PQUXfmFGUtd7Cm1vO9m7JdwDk1X3h1KxAS9ECp1tPNIVm1uw/5INiOHUG/fww0nrxWhwMLi2x8jyRvZow9rSdy1Hw2T2dMb33lxPykYy1NuJGGG0=
Received: from (2603:10b6:a03:110::17) by (2603:10b6:a02:8c::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.17; Thu, 12 Mar 2020 03:31:16 +0000
Received: from ([fe80::507e:3768:eb66:1e91]) by ([fe80::507e:3768:eb66:1e91%5]) with mapi id 15.20.2793.018; Thu, 12 Mar 2020 03:31:16 +0000
From: "Mosko, Marc <>" <>
To: Cenk Gündoğan <>, "" <>
Thread-Topic: [icnrg] Fwd: New Version Notification for draft-gundogan-icnrg-ccnx-timetlv-01.txt
Thread-Index: AQHV9kVbnyGWOaKssEGAxqn1XCwu/6hA4xEAgAJeagCAAJn+AA==
Date: Thu, 12 Mar 2020 03:31:15 +0000
Message-ID: <>
References: <> <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
user-agent: Microsoft-MacOutlook/
authentication-results: spf=none (sender IP is );
x-originating-ip: [2620:0:2e80:a00b::d]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: d22d110e-ef3f-4e31-e7f1-08d7c635d260
x-ms-traffictypediagnostic: BYAPR15MB2262:
x-microsoft-antispam-prvs: <>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0340850FCD
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(376002)(39850400004)(346002)(366004)(136003)(396003)(199004)(478600001)(8676002)(316002)(15650500001)(66556008)(3450700001)(6512007)(8936002)(36756003)(53546011)(66946007)(81166006)(110136005)(966005)(76116006)(9686003)(2616005)(33656002)(81156014)(5660300002)(186003)(64756008)(66476007)(66574012)(71200400001)(66446008)(36542004)(6486002)(86362001)(2906002); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR15MB2262;; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1;
received-spf: None ( does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Fa+6Mtd7l2Z9KnskhWITHbuMZjby5ojKtO9gJlI0Q6fFj+TAG87gfpBOfP21nVbHX3o3GY1Q4HFZkMNR+opgIr0UJhxr5Lp333ztZ8Ylz10w5ZEYlBs4gNaXib7auY4UCvNG5dTx5NA35pER6GEagNsU//9DFWezlBJqETGRGiu2GRUWGq3G3zPezNDHpdjQdrBUZCCJ+2olQFK3FQoH4rJEoShJtbLyy60fLyyhC0S8jo9DE+OW406fTi13DjQja8JjAjrV8ANlK/1wITCyLw+eoZdxrcxXT2/kAqT9yE/MvapY3nDTfgY7wOjqZN9h2IzkMzK1gCQs5IteYoX1C9A5XNiiaWEXbT6Q0lwbY3wtTaiLkntIxeTK13dVG7q1iZdePIFSC8N+FgDEyYdrYWIWcHeZ3YrmVeRIXP7+08V/iT6/pQNIWIfLurhDXGXP9/v6xeC7pARfHWg0+4JVluhnmyGeHjIMVsiufWF5jbnYo86pyFi7SIABJVMNVvGUKahgtpzwEUVwY8O72d6T7Q==
x-ms-exchange-antispam-messagedata: U71rnQV7lQAFhtpwpwOImlMgD1pYDvTlLJzIfn2Lwxf4P4C+j86teRhGAH0IT5vVx/yvPH3guJx3UAQ589La1PQtm4XJKq/MVC6md2uHUoCh/d/Rw9klawSK+cK/v/R25fFbFyvTP2puKeqNVfy1Tvnw9CTMOBvI1/pQkVSCrwE=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: d22d110e-ef3f-4e31-e7f1-08d7c635d260
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Mar 2020 03:31:15.9438 (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: yCw80cHZTz7HABf9V1fX8G8FNczHriFzk+d2gnn7lriw5D0jClX8R75lgzfADK7l
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR15MB2262
Archived-At: <>
Subject: Re: [icnrg] Fwd: New Version Notification for draft-gundogan-icnrg-ccnx-timetlv-01.txt
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Information-Centric Networking research group discussion list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 12 Mar 2020 03:31:30 -0000

For the test vectors, I was thinking of something mind numbingly simple, such as

Value		Encoding
0		0x00
0.031250	0x04
0.062500	0x08
0.203125	0x15
1.000000	0x28
2.000000	0x30
67108864.0	0xF8
125829120.0	0xFF

It would also be useful to have written out the algorithm to encode a number.  Here's a basic swipe that it, but one needs to define the floor/ceiling/rounding used for m, which I did not include.  IEEE 754 defines a few different roundings.  I believe the default is round to nearest, with ties going to the one with an even last significant digit.  In any case, you need to pick one.  

On most cpus, floor(log2(v)) is a simple and quick bit counting instruction, and the exponents are bit shifting, so I bet one could implement the algorithm with nothing but rotates, adds, subtracts, and bit counting.  Maybe including an efficient x86 version of the algorithm using C intrinsics would be nice.

If v = 0 then 
	return (0,0)
e = max(0, floor(log2(v))-b)
If v < 0.0625 then 
	m = (v/2^(1+b)) * m_max
	m = (v/2^(e+b) - 1) * m_max
return (e,m)

As m_max is 8 (2^3), one could simplify those equations a little.


On 3/11/20, 4:20 AM, "icnrg on behalf of Cenk Gündoğan" < on behalf of> wrote:

    Hello Marc,
    On Tue, Mar 10 2020 at 07:09 +0100, Mosko, Marc wrote:
    > I think this draft is very clear and easy to follow.  The only addition I would make is to include an appendix with a few test vectors, say 0, a subnormal, and a normal or two.  Or put them in the main text as examples.
    There are a few numbers in section 4:
       o  Minimum subnormal number: 0 seconds
       o  Maximum subnormal number: ~0.054688 seconds
       o  Minimum normalized number: ~0.062500 seconds
       o  Maximum normalized numbers: [~3.46, ~3.72, ~3.99] years
    we can put a few more into the appendix to show how the resolution
    degrades with higher numbers. That would be a good addition to the
    > One question to consider is, would there be more possible time encodings beyond this?  Do we need a way to clearly distinguish between time encodings for fields, or is inferring the encoding based on the length acceptable?  I would probably rule out a nested encoding, as that is counter-productive when trying to introduce a 1 byte scheme.
    +1 to ruling out the nested TLV approach.
    Currently, there are only two TLVs that benefit from the compact
    timestamp encoding: InterestLifetime and RCT (in relative time form).
    For these, the currently defined, positive-only, 1-octet configuration
    (exponent=5,mantissa=3,bias=-5) is IMO sufficient. Using the TLV-Length
    as an indicator (L==1) has the advantage of being quite unobtrusive. It
    is not very flexible and extensible, though (as you pointed out).
    For future relative-time TLVs, we can also define another
    (sign,exponent,mantissa,bias) configuration (for L==1), if they require
    different properties, e.g., negative number support, microsecond
    resolution .. I currently cannot think of a reasonable use case that
    requires multiple configurations for a single relative-time TLV.
    We could also opt for a flat structure: New InterestLifetime / RCT /
    .... upper-level TLVs that reside next to the original TLVs (guarded with
    an exclusive or, since only one encoding for InterestLifetime / RCT /
    .... shall be used at the same time). This would require an update to the
    message structure BNF ..
    > Marc
    > On 3/9/20, 12:03 PM, "icnrg on behalf of Cenk Gündoğan" < on behalf of> wrote:
    >     Dear ICNRG,
    >     we updated our CCNx Time TLV draft to include the following changes:
    >     * we removed the previously included discussion on using a time base TLV
    >       for (absolute) RecommendedCacheTime (RCT) TLVs in content objects. The
    >       current approach interprets RCT as absolute (normal behavior) for UTC
    >       timestamps (8 octets), and as relative for a compact timestamp (1
    >       octet).
    >     * we added an explicit configuration for exponent, mantissa, and bias to
    >       Section 4. That configuration yields a milli second resolution for
    >       lower time values and can also (with low resolution) reaches values
    >       has high as ~4 years.
    >     * we added a few alternatives to section 5 (CCNx protocol integration)
    >       to provide more material for discussions. This topic needs to converge
    >       to a distinct solution, though.
    >     As always, any feedback is highly appreciated.
    >     Cheers,
    >     Cenk
    >     On Mon, Mar 09 2020 at 19:42 +0100, wrote:
    >     > A new version of I-D, draft-gundogan-icnrg-ccnx-timetlv-01.txt
    >     > has been successfully submitted by Cenk Gundogan and posted to the
    >     > IETF repository.
    >     >
    >     > Name:		draft-gundogan-icnrg-ccnx-timetlv
    >     > Revision:	01
    >     > Title:		An Alternative Delta Time encoding for CCNx using Interval Time from RFC5497
    >     > Document date:	2020-03-09
    >     > Group:		Individual Submission
    >     > Pages:		8
    >     > URL:  
    >     > Status:
    >     > Htmlized:
    >     > Htmlized:
    >     > Diff: 
    >     >
    >     > Abstract:
    >     >    CCNx utilizes Delta Time for a number of functions.  When using CCNx
    >     >    in environments with constrained nodes and/or bandwidth constrained
    >     >    networks, it is valuable to have a compressed representation of delta
    >     >    time.  In order to do so, either accuracy or dynamic range has to be
    >     >    sacrificed.  Since the current uses of delta time do not require both
    >     >    simultaneously, one can consider a logarithmic encoding such as that
    >     >    specified in RFC5497.  This document updates _CCNx messages in TLV
    >     >    Format_ (RFC8609) to specify this alternative encoding.
    >     >
    >     >
    >     >
    >     >
    >     > Please note that it may take a couple of minutes from the time of submission
    >     > until the htmlized version and diff are available at
    >     >
    >     > The IETF Secretariat
    >     --
    >     Cenk Gündoğan
    >     Hamburg University of Applied Sciences
    >     Dept. of Computer Science / Internet Technologies Group
    >     Berliner Tor 7, 20099 Hamburg, Germany
    >     Fon: +49 40 42875 - 8426
    >     Mail:
    >     Web:
    > _______________________________________________
    > icnrg mailing list