Re: [tsvwg] I-D Action: draft-ietf-tsvwg-rlc-fec-scheme-10.txt

Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com> Fri, 18 January 2019 15:11 UTC

Return-Path: <spencerdawkins.ietf@gmail.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BD81B124D68; Fri, 18 Jan 2019 07:11:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 vsZAabEFnfJ1; Fri, 18 Jan 2019 07:11:37 -0800 (PST)
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com [IPv6:2a00:1450:4864:20::22c]) (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 3AB98127133; Fri, 18 Jan 2019 07:11:37 -0800 (PST)
Received: by mail-lj1-x22c.google.com with SMTP id c19-v6so11927838lja.5; Fri, 18 Jan 2019 07:11:37 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ug+/wcLdPhNTYxfZ6I77P6EMPLSAuWKjLTSYH0cyYQY=; b=XIBnG106D6ZFuYn9SbCLdPynfrcOFbOvqoKG6Rvo3oRE97wIkwt5JBVf2EhQzLcmdj jM5hPJ5su0vxu+41WL8r94V2Fub44WOcH3+1T+nXhTphwg2aQF6dduMZDoZXFsZTi6Hf XazFcGNtc90LQVcVjh4AlKR0/CNdLodhRp7jYAXOXjuJjT5Eo6RpUKVb2NjIK0WNbP82 vKKkC8PhrJbBMBwqE7IZEgISGMYCXqne5Q6f4yGYwG+70LBwnIMcrY08liU0ZIi/ONdv cip4ZYLAnVuXLdOr2sYV9AxGZ25lMuYrD27jdmWbSmj5moBuOOJDUrDPJQ3lAXX7S4br 0n0g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ug+/wcLdPhNTYxfZ6I77P6EMPLSAuWKjLTSYH0cyYQY=; b=rwh0n8yqWKL8MQsGM9TBc6vD4r6fT8HCEY89PveBHdayPRYlpQlMH87kKJRKi/evls vGB96UstoEKe3NlONGaHRG9htn/LQgsyB//k+m9U/dCzS3XkZc37VAQK30OUHU/qFdyF Eo4RmnmvSPXco4UOMZegmfMYx3eN1lbXX0//Ko1LXqXczWFWe9OYjGqGL9Dig1NWi3VP 31h0/Ym18exhbAbyZQ+JRgAjajiFvWmGfL160xBUi0qKlAAzxi6zmshZuMQB7x1sTrpb pWLq3QGkwaXFoslrVPZ0PbnqvwMSBZHBXPdXS37lNXyxDOXqL++g6Wl8PtPKwlURDO+z 6kGg==
X-Gm-Message-State: AJcUukeM3KkzC5UEnLCuaq+ooz70y6PLEYfC5rh0KwQ+N1Cx3E9+o/8/ prh8N/PuqWxm+JGRk9QGCkfCq9yO3953ZZqx+JQ=
X-Google-Smtp-Source: ALg8bN6lJRxVJkjO6a8cwmc+lrw9UBtGoW/mvUBXp6xgDOE6SoJtdUu6fcyh2uY3hxWoOS8rcaVWtiqAXp6KVmekJi0=
X-Received: by 2002:a2e:851a:: with SMTP id j26-v6mr12430156lji.163.1547824295196; Fri, 18 Jan 2019 07:11:35 -0800 (PST)
MIME-Version: 1.0
References: <154775953855.10322.13019924919889018658@ietfa.amsl.com> <4A1F8C46-9E3A-4F0C-B1CF-E2582100349F@inria.fr> <3BAA052F-FCB2-43CB-8F09-996EB76C1170@kuehlewind.net>
In-Reply-To: <3BAA052F-FCB2-43CB-8F09-996EB76C1170@kuehlewind.net>
From: Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>
Date: Fri, 18 Jan 2019 09:11:22 -0600
Message-ID: <CAKKJt-fhS==dCT1SwTie4XQZOcz5BhsNWWJovxeg1EDNybcAJw@mail.gmail.com>
To: "Mirja Kuehlewind (IETF)" <ietf@kuehlewind.net>
Cc: Vincent Roca <vincent.roca@inria.fr>, Emmanuel Baccelli <emmanuel.baccelli@inria.fr>, tsvwg@ietf.org, Belkacem TEIBI <belkacem.teibi@gmail.com>, The IESG <iesg@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000004a3b67057fbcedf2"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/YpNUmHDSxsOuOnQ0TXT-bBjjh_o>
Subject: Re: [tsvwg] I-D Action: draft-ietf-tsvwg-rlc-fec-scheme-10.txt
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 18 Jan 2019 15:11:41 -0000

Following up as (for a bit longer) responsible AD ... and beginning by
thanking you for your work on this document.

On Fri, Jan 18, 2019 at 4:25 AM Mirja Kuehlewind (IETF) <ietf@kuehlewind.net>
wrote:

> Hi Vincent,
>
> just adding another copyright does not make the existing copyright
> invalid. Further there is no need to at this copyright in the code as the
> copyright notice is already at the beginning of the document which covers
> the whole document including the code. However, that’s exactly the problem.
> There are currently two contradicting copyright statements.
>
> Mirja
>
>
>
> > Am 18.01.2019 um 08:25 schrieb Vincent Roca <vincent.roca@inria.fr>:
> >
> > Dear IESG members, all,
> >
> > First of all, thanks a lot for your highly valuable feedback. It took us
> time to consider
> > them all, we sometimes significantly changed some parts of the I-D, but
> here is the
> > result.
> >
> > Because there are many comments, we first answer globally (main  topics,
> TinyMT32
> > and parameter derivations) in this email, and in a second email we go
> through each
> > comment, as it appears in:
> > https://datatracker.ietf.org/doc/draft-ietf-tsvwg-rlc-fec-scheme/ballot/
> >
> > Once again, thanks you.
> > Cheers,
> >
> >   Vincent, Belkacem, Emmanuel.
> >
> >
> >
> > PART I:  GLOBAL ANSWERS
> >
> >
> > 1- About TinyMT32 source code
> > -----------------------------
> >
> > ** A PRNG specified through C code is now unavoidable
> >
> > Time passed and trivial PRNGs like the Linear Congruential one are no
> longer sufficient.
> > TinyMT32 is defined by the authors through its C reference codec.
> Extracting a pseudo-code
> > description is not feasible.
>

I am not surprised about this, at all.

What I was hoping would be possible, was that you might be able to describe
the characteristics of "deterministic behavior", say "you must use a PRNG
that has these behaviors", and helpfully point out that TinyMT32 is one
such PRNG, with those behaviors, but there may be others (so, the
specification could be implemented without TinyMT32 specifically, making it
an informational reference that you could use without including the code
here).

If that's not possible, I understand, but I wanted to ask that question
clearly before we put you to a lot of work trying to figure out how to keep
TinyMT32 code in this document.

Do you have any thoughts about this?

Spencer


> >  ** Clearing the copyright issue (hopefully)
> >
> > Being a derived work, we added the following copyrigh after the original
> licence:
> > NEW:
> >    /**
> >     * The derived work of this document is:
> >     * Copyright (c) 2018 IETF Trust and the persons identified as the
> >     * document authors. All rights reserved.
> >     */
> >
> > The licence itself is not an issue as the original authors' and IETF
> Trust licences are the same.
> >
> >
> > ** Addressing IESG concerns on TinyMT32 deterministic behavior
> >
> > PRNG determinism, for a given seed, is a MUST. With Emmanuel Baccelli
> (new co-author), we:
> >
> > - tested on several platforms:
> >   In particular we used embedded 32-bits platforms featuring ARM Cortex
> M* and running RIOT,
> >   plus 8-bit and 16-bit platforms (details in Appendix A. "TinyMT32
> Validation Criteria (Normative)").
> >   Note that TinyMT32 is already the default PRNG in RIOT:
> >   https://github.com/RIOT-OS/RIOT/tree/master/sys/random/tinymt32
> >
> > - added 3 normative random number sequences:
> >   These random number sequences MUST be matched for any implementation of
> >   the PRNG to be validated. The Japanese authors already provide one in:
> >
> https://github.com/MersenneTwister-Lab/TinyMT/blob/master/tinymt/check32.out.txt
> >   for the core TinyMT32 functions. We added two new ones for the two
> functions that
> >   scale down to 4 and 8 bits, whose determinism is as important as that
> of the core
> >   functions.
> >
> > - moved the normative source code to section 3.5. "Pseudo-Random Number
> Generator (PRNG)"
> >   in order to avoid any confusion on what is normative and informative.
> >
> > - removed the dangerous double-float multiplication/divisions.
> >   Instead we use define two new functions that scale down the uint32
> pseudo-random number
> >   generated by the tinymt32_generate_uint32 () core function to the
> target 4-bit or
> >   8-bit interval (used by generate_coding_coefficients()).
> >   Using masking to scale down a 32-bit PRNG value is **usually a bad
> practice**, but
> >   here it works. This is discussed in:
> >   Appendix B.  Assessing the PRNG Adequacy (Informational)
> >
> > ** About C language style in the original TinyMT32
> >
> > We cleaned up a few things as suggested.
> >
> >
> > 2- About section 3.1. "Possible Parameter Derivations"
> > ------------------------------------------------------
> >
> > ** We moved all suggestions as "Informational" in Appendix C
> >
> >   All the 3.1.* sub-sections provide recommendations (hence the use of
> >   "Possible" in the title).
> >   It is non normative because doing differently does not break
> >   interoperability: an encoder and a decoder written by different
> programmers
> >   will still interoperate (a decoder has enough information to correctly
> decode).
> >
> >   To reflect this, we moved all the 3.1.* sub-sections in an Annex tagged
> >   as "(informational)". The remaining Section 3.1 merely introduces the
> main
> >   parameters and refers to the annex for **possible** parameter
> derivations.
> >
> >   NB: already existing FEC Scheme RFCs do not go so far and omit to
> >          suggest parameter derivation.
> >
> >
> > ** An additional parameter in the FEC Scheme-Specific Information (FSSI)
> >
> >   Adding this parameter avoids the ambiguity in the choice of the
> arbitrary
> >   0.75 parameter in certain formulas for parameter derivation.
> >
> >   We add the WSR (window size ratio) parameter, an integer in {0 .. 255}.
> >   WSR is communicated at session startup along with the FSSI that anyway
> >   needs to be shared between encoder and decoder(s).
> >         value 0: ignore         => it's not used because
> >                 there's another technique to derive parameters.
> >         0 < value < 1:          => use it as follows:
> >                 ew_max_size = dw_max_size * WSR / 255
> >                 e.g. WSR=191 leads to: 191/255=0.749
> >                 191 is suggested as a "reasonable value"
> >                 but no longer recommended since it is anyway
> >                 communicated to the receiver(s).
> >                 Even if there's a rounding "error", it's not a big deal
> and
> >                 it does not compromize interoperability.
> >
> >
> >> Le 17 janv. 2019 à 22:12, internet-drafts@ietf.org a écrit :
> >>
> >>
> >> A New Internet-Draft is available from the on-line Internet-Drafts
> directories.
> >> This draft is a work item of the Transport Area Working Group WG of the
> IETF.
> >>
> >>        Title           : Sliding Window Random Linear Code (RLC)
> Forward Erasure Correction (FEC) Schemes for FECFRAME
> >>        Authors         : Vincent Roca
> >>                          Belkacem Teibi
> >>                          Emmanuel Baccelli
> >>      Filename        : draft-ietf-tsvwg-rlc-fec-scheme-10.txt
> >>      Pages           : 43
> >>      Date            : 2019-01-17
> >>
> >> Abstract:
> >>   This document describes two fully-specified Forward Erasure
> >>   Correction (FEC) Schemes for Sliding Window Random Linear Codes
> >>   (RLC), one for RLC over the Galois Field (A.K.A.  Finite Field)
> >>   GF(2), a second one for RLC over the Galois Field GF(2^^8), each time
> >>   with the possibility of controlling the code density.  They can
> >>   protect arbitrary media streams along the lines defined by FECFRAME
> >>   extended to sliding window FEC codes, as defined in [fecframe-ext].
> >>   These sliding window FEC codes rely on an encoding window that slides
> >>   over the source symbols, generating new repair symbols whenever
> >>   needed.  Compared to block FEC codes, these sliding window FEC codes
> >>   offer key advantages with real-time flows in terms of reduced FEC-
> >>   related latency while often providing improved packet erasure
> >>   recovery capabilities.
> >>
> >>
> >> The IETF datatracker status page for this draft is:
> >> https://datatracker.ietf.org/doc/draft-ietf-tsvwg-rlc-fec-scheme/
> >>
> >> There are also htmlized versions available at:
> >> https://tools.ietf.org/html/draft-ietf-tsvwg-rlc-fec-scheme-10
> >>
> https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-rlc-fec-scheme-10
> >>
> >> A diff from the previous version is available at:
> >> https://www.ietf.org/rfcdiff?url2=draft-ietf-tsvwg-rlc-fec-scheme-10
> >>
> >>
> >> 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.
> >>
> >> Internet-Drafts are also available by anonymous FTP at:
> >> ftp://ftp.ietf.org/internet-drafts/
> >>
> >
>
>