Re: [Rmt] FLUTE revision

Jani Peltotalo <jani.peltotalo@tut.fi> Thu, 27 January 2011 07:00 UTC

Return-Path: <jani.peltotalo@tut.fi>
X-Original-To: rmt@core3.amsl.com
Delivered-To: rmt@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id EE6393A6B00 for <rmt@core3.amsl.com>; Wed, 26 Jan 2011 23:00:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.199
X-Spam-Level:
X-Spam-Status: No, score=-3.199 tagged_above=-999 required=5 tests=[AWL=-0.200, BAYES_00=-2.599, J_CHICKENPOX_43=0.6, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vTBP5jVVy1va for <rmt@core3.amsl.com>; Wed, 26 Jan 2011 23:00:48 -0800 (PST)
Received: from mail.cs.tut.fi (mail.cs.tut.fi [130.230.4.42]) by core3.amsl.com (Postfix) with ESMTP id 497553A6937 for <rmt@ietf.org>; Wed, 26 Jan 2011 23:00:47 -0800 (PST)
Received: from amavis2.cs.tut.fi (amavis2.cs.tut.fi [130.230.4.70]) by mail.cs.tut.fi (Postfix) with ESMTP id D360D5BC; Thu, 27 Jan 2011 09:03:48 +0200 (EET)
Received: from mail.cs.tut.fi ([130.230.4.42]) by amavis2.cs.tut.fi (amavis2.cs.tut.fi [130.230.4.70]) (amavisd-maia, port 10024) with ESMTP id 12481-15; Thu, 27 Jan 2011 09:03:47 +0200 (EET)
Received: from [130.230.52.207] (icepc023.atm.tut.fi [130.230.52.207]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.cs.tut.fi (Postfix) with ESMTP id C203C5BB; Thu, 27 Jan 2011 09:03:47 +0200 (EET)
Message-ID: <4D4118C2.3090805@tut.fi>
Date: Thu, 27 Jan 2011 09:03:30 +0200
From: Jani Peltotalo <jani.peltotalo@tut.fi>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.7) Gecko/20100111 Lightning/1.0b1 Thunderbird/3.0.1
MIME-Version: 1.0
To: "Luby, Michael" <luby@qualcomm.com>
References: <C9659411.8A1F%luby@qualcomm.com>
In-Reply-To: <C9659411.8A1F%luby@qualcomm.com>
X-Enigmail-Version: 1.0.1
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Virus-Scanned: Maia Mailguard 1.0.2
Cc: "Gillies, Don" <dgillies@qualcomm.com>, "rmt@ietf.org" <rmt@ietf.org>
Subject: Re: [Rmt] FLUTE revision
X-BeenThere: rmt@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Reliable Multicast Transport <rmt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/rmt>, <mailto:rmt-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rmt>
List-Post: <mailto:rmt@ietf.org>
List-Help: <mailto:rmt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rmt>, <mailto:rmt-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 27 Jan 2011 07:00:51 -0000

Hi Mike,

You are right if there are no late-joiners and/or the first FDT Instance
is not lost.

In the revised-11 draft there is indeed better wording:

"It is RECOMMENDED that an FDT Instance that contains the file
description entry for a file is sent prior to the sending of the
described file within a file delivery session. This recommendation is
intended to minimize the amount of file data which may be received by
receivers in advance of the FDT Instance containing the entry for a file
(such data must either be speculatively buffered or discarded).  Note
that this possibility cannot be completely eliminated since the first
transmission of FDT data may be lost."

However, receiver will buffer at most that data which will be sent
between two FDT Instances and FDT Instance interval is of course an
implementation level issue. On the other hand, if the version number is
in every packet, FLUTE version 1 receiver will not buffer FLUTE version
2 packets at all.

BR,
Jani
> Hi Jani,
> 
> I guess you are thinking that the FLUTE  version 1 receivers might buffer
> data for files and then when they get the FDT that is for the new FLUTE spec
> the receivers realize that they don't support FLUTE version 2 and have to
> discard all of this data because they don't know what to do with it?  If
> that is the concern, there is advice in the FLUTE specification that
> recommends that the FDT instances should be sent before the actual data for
> the file, and that FDTs should be sent with higher reliability than the file
> data. There is stronger and clearer wording on this in the current FLUTE
> draft than in RFC 3926, but there is wording on this in the RFC 3926 as
> well, e.g.,"It is RECOMMENDED that FDT Instance that contains the file
> description entry for a file is sent prior to the sending of the described
> file within a file delivery session."
> 
> Maybe I got this wrong?
> Best, Mike
> 
> 
> On 1/26/11 1:20 AM, "Jani. Fi" <jani.peltotalo@tut.fi> wrote:
> 
>> Hi Mike&all,
>>
>> Yes, this is one possibility to signal the FLUTE version for whole FLUTE
>> session. It still have negative influence on FLUTE version 1 receivers,
>> which might buffer quite a lot unnecessary data, if the FDT Instance is
>> not received early enough.
>>
>> BR,
>> Jani
>>> Actually, looking at the FLUTE doc, it seems that the only place where the
>>> FLUTE version number is carried is in the FDT Instance header EXT_FDT, which
>>> is an ALC PI specific LCT header extension, i.e., in EXT_FDT there is a
>>> FLUTE version number that MUST be set to 2.  If this is correct, then it
>>> seems fine that the version number carried in the LCT header is the ALC
>>> version number, which is 1.  Comments on this?
>>>
>>>
>>> On 1/26/11 12:33 AM, "Luby, Michael" <luby@qualcomm.com> wrote:
>>>
>>>> Thanks Jani for bringing this to our attention. We will take a look at this.
>>>> The easiest solution off the top of my head is to specify in the FLUTE draft
>>>> that the LCT version number in the LCT header MUST be interpreted as the
>>>> FLUTE version number field (just like what ALC does when it uses LCT).
>>>> However, we'll look at it more closely.
>>>> Best, Mike
>>>>
>>>>
>>>> On 1/25/11 11:02 PM, "Jani. Fi" <jani.peltotalo@tut.fi> wrote:
>>>>
>>>>> Hi Mike,
>>>>>
>>>>> Of course we can/must specify in the text as you mention below. However
>>>>> in the packet only place to signal the version number is LCT version
>>>>> number (V) field:
>>>>>
>>>>> LCT version number (V): 4 bits
>>>>>
>>>>> Indicates the LCT version number.  The LCT version number for this
>>>>> specification is 1.
>>>>>
>>>>> In RFC 5775 it is then mentioned:
>>>>>
>>>>> "The version number of ALC specified in this document is 1. The version
>>>>> number field of the LCT header MUST be interpreted as the ALC version
>>>>> number field. This version of ALC implicitly makes use of version 1 of
>>>>> the LCT building block defined in [RFC 5651]."
>>>>>
>>>>> This kind of text is missing from the experimental FLUTE RFC and from
>>>>> the revised FLUTE, but if we want to overload this field with FLUTE
>>>>> version number (as we have done in our implementation based in
>>>>> experimental RFC) to enable receivers to distinguish FLUTE versions 1
>>>>> and 2, the packet is not anymore align with the ALC and LCT RFCs.
>>>>>
>>>>> It is also possible to leave this field for ALC/LCT version numbers and
>>>>> use for example reserved bits or LCT header extension to signal FLUTE
>>>>> version. All in all, in my opinion it is necessary to signal FLUTE
>>>>> version 2 somewhere in the FLUTE packet to be backwards compatible with
>>>>> the receivers based on the experimental FLUTE RFC.
>>>>>
>>>>> BR,
>>>>> Jani
>>>>>
>>>>>> Hi Jani,
>>>>>> I'm missing where the version of FLUTE must be the same as the version of
>>>>>> ALC and LCT. It seems that if we define this specification to be FLUTE
>>>>>> version 2, and this FLUTE specification explicitly says that it must be
>>>>>> used
>>>>>> with ALC version 1 as specified in RFC 5775 and that it must be used with
>>>>>> LCT version 1 as specified in RFC 5651 then there is no ambiguity, but
>>>>>> maybe
>>>>>> I'm missing something?  I think what you are saying is that there is an
>>>>>> overloaded field that carries both the FLUTE version and the ALC version
>>>>>> and
>>>>>> the LCT version?  If so, can you point to that?
>>>>>> Mike
>>>>>>
>>>>>>
>>>>>> On 1/25/11 12:51 AM, "Jani. Fi" <jani.peltotalo@tut.fi> wrote:
>>>>>>
>>>>>>> Dear RMTers,
>>>>>>>
>>>>>>> One side effect of the version number change is problem with ALC and LCT
>>>>>>> versions. Version number is signalled in the LCT header field and in
>>>>>>> RFCs 5775 and 5651 (FLUTE revised will be working on top of these RFCs)
>>>>>>> version number is specified to be 1.
>>>>>>>
>>>>>>> So it is not possible to signal FLUTE version 2 and ALC/LCT version 1 in
>>>>>>> the same header field.
>>>>>>>
>>>>>>> BR,
>>>>>>> Jani
>>>>>>>
>>>>>>>> Dear RMTers, We are in the process of revising FLUTE ­11, to produce
>>>>>>>> FLUTE ­12, and it is clear at this point that the FLUTE version number
>>>>>>>> will transition from 1 to 2.  One question that has arisen: Can an FDT
>>>>>>>> instance have a TOI > 0 with an EXT_FDT LCT extension header containing
>>>>>>>> the FDT Instance ID?  I think it is and should be restricted to TOI = 0
>>>>>>>> for carrying FDT instances, but there is some ambiguities in the text
>>>>>>>> here and there that might be construed to suggest otherwise.
>>>>>>>> Mike  
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Rmt mailing list
>>>>>>>> Rmt@ietf.org
>>>>>>>> https://www.ietf.org/mailman/listinfo/rmt
>>>
>