Re: Request for clarification - Flute - flag (B)
<[email protected]> Thu, 21 Oct 2010 09:08:36 +0200
| Newsgroups | gmane.ietf.rmt |
|---|---|
| Message-ID | <[email protected]> |
Hi Cedric One more clarification. The b flag semantics have been in flux and originally they did not necessarily imply immediate termination of an object transmission (just that no new data packets / FEC would be generated). The use of should instead of must allows this still, but the new recommendation makes the preferred implementation more clear. It is perfectly allowable for the sender to never set this to 1, however any receiver needs to know what it being set to 1 means. On a robust channel, the b flag allows a receiver to exit a session as soon as it knows that any remaining files it is interested in aren't going to be completed in that session - and thus save power and/or attempt to get/finish reception by some other means. If the channel is lossy, even after fec, the b flag is not a reliable data source unless many file/object packets are transmitted after the flag is set. So a sender (and system designer) needs to consider the possibility of some receivers not seeing the flag set. Cheers, Rod. On 20 Oct 2010, at 12:32, "ext Cedric Thienot" <[email protected]<mailto:[email protected]>> wrote: Hi Vincent Thanks you for this clarification, it is very clear. It is great to have a confirmation that our solution Fast ESG is fully compliant to the standard BR Cedric Le 20/10/2010 10:46, Vincent Roca a écrit : Hello Cedric, Concerning the possibility for the sender to change its mind WRT the B flag: - RFC 5651 says that "Once the sender sets B to 1 in one packet for a particular object, the sender SHOULD set B to 1 in all subsequent packets for the object until termination of transmission of packets for the object." - RFC 2119 explains what "SHOULD" means in IETF documents: "3. SHOULD This word, or the adjective "RECOMMENDED", mean that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course." While changing B value back to 0 is not prohibited by RFC 5651, it is clearly recommended not doing so (several sentences insist on this point). An RFC compliant terminal can therefore legitimately consider this situation as erroneous. If a particular use case offers this possibility, then this should be clearly documented and the terminal behavior defined, but that's out of scope of IETF (at least for the moment). Cheers, Vincent On 19/10/10 17:39, Cedric Thienot wrote: Hi Vincent Thanks for this answer but let's me ask a last clarification. * When B is set to 1, is it possible during these few potential additional packets that a sender changes B back to 0. * In other words, can a sender change his mind during the few additional packet and changes B value to 0 in order to keep on the transmission. * Would such server be considered as compliant? And if the answer is positive, what should be the terminal behavior ? * Restart from scratch the download, * keep on the download, * or others Thanks again and best regards Cedric. Le 19/10/2010 15:37, Vincent Roca a écrit : Hello Cedric, From RFC 5651 (LCT revised, p. 15), it is said: --- Close Object flag (B): 1 bit Normally, B is set to 0. The sender MAY set B to 1 when termination of transmission of packets for an object is imminent. If the TOI field is in use and B is set to 1, then termination of transmission for the object identified by the TOI field is imminent. If the TOI field is not in use and B is set to 1, then termination of transmission for the one object in the session identified by out-of-band information is imminent. B MAY be set to 1 in just the last packet transmitted for the object, or B MAY be set to 1 in the last few seconds that packets are transmitted for the object. Once the sender sets B to 1 in one packet for a particular object, the sender SHOULD set B to 1 in all subsequent packets for the object until termination of transmission of packets for the object. A received packet with B set to 1 indicates to a receiver that the sender will immediately stop sending packets for the object. When a receiver receives a packet with B set to 1, then it SHOULD assume that no more packets will be sent for the object to the session. --- There is no ambiguity IMHO. Upon receiving a packet with the B flag set, the receiver SHOULD assume that transmission of packets for this object stops, even if in practice a few additional packets MAY arrive. Specific recovery mechanisms (e.g. point-to-point recovery) can be launched at this point if needed, but that's out to scope of ALC and RMT documents... This is also the way it is implemented in our FLUTE/ALC software. Cheers, Vincent Le 14/10/10 19:06, Cedric Thienot a écrit : Dear flute experts, we would like to have your advice on the interpretation of the usage of the Close Object flag (B) specified in the RFC 3450 (page 18). On our interpretation when this flag is set to 1 by the transmitter, the receiver should assume that no more packets for this object will be broadcasted in the future? Therefore, the receiver can stop the reception. Thanks, Best regards Cedric Thienot <http://www.expway.com>www.expway.com<http://www.expway.com> _______________________________________________ Rmt mailing list <mailto:[email protected]>[email protected]<mailto:[email protected]> <https://www.ietf.org/mailman/listinfo/rmt>https://www.ietf.org/mailman/listinfo/rmt <ATT00001..txt> _______________________________________________ Rmt mailing list [email protected] https://www.ietf.org/mailman/listinfo/rmt