[rohc] Re: Questions on Context Replication

Ghyslain Pelletier <Ghyslain.Pelletier@ericsson.com> Wed, 03 December 2003 14:58 UTC

Received: from optimus.ietf.org ([132.151.1.19]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id JAA17476 for <rohc-archive@odin.ietf.org>; Wed, 3 Dec 2003 09:58:19 -0500 (EST)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1ARYS4-00011X-27 for rohc-archive@odin.ietf.org; Wed, 03 Dec 2003 09:58:05 -0500
Received: (from exim@localhost) by www1.ietf.org (8.12.8/8.12.8/Submit) id hB3Ew4v0003929 for rohc-archive@odin.ietf.org; Wed, 3 Dec 2003 09:58:04 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1ARYS3-00011I-Tx for rohc-web-archive@optimus.ietf.org; Wed, 03 Dec 2003 09:58:03 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id JAA17461 for <rohc-web-archive@ietf.org>; Wed, 3 Dec 2003 09:57:47 -0500 (EST)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 1ARYS1-0002X2-00 for rohc-web-archive@ietf.org; Wed, 03 Dec 2003 09:58:01 -0500
Received: from [132.151.1.19] (helo=optimus.ietf.org) by ietf-mx with esmtp (Exim 4.12) id 1ARYS1-0002Wz-00 for rohc-web-archive@ietf.org; Wed, 03 Dec 2003 09:58:01 -0500
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1ARYS2-000106-Q1; Wed, 03 Dec 2003 09:58:02 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1ARYRh-0000zN-TX for rohc@optimus.ietf.org; Wed, 03 Dec 2003 09:57:42 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id JAA17454 for <rohc@ietf.org>; Wed, 3 Dec 2003 09:57:25 -0500 (EST)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 1ARYRf-0002Wq-00 for rohc@ietf.org; Wed, 03 Dec 2003 09:57:39 -0500
Received: from albatross-ext.wise.edt.ericsson.se ([193.180.251.49]) by ietf-mx with esmtp (Exim 4.12) id 1ARYRe-0002Wn-00 for rohc@ietf.org; Wed, 03 Dec 2003 09:57:39 -0500
Received: from esealnt611.al.sw.ericsson.se ([153.88.254.121]) by albatross-ext.wise.edt.ericsson.se (8.12.10/8.12.10/WIREfire-1.8) with ESMTP id hB3EvTI2003333; Wed, 3 Dec 2003 15:57:33 +0100 (MET)
Received: from lms001.lu.erisoft.se ([150.132.144.19]) by esealnt611.al.sw.ericsson.se with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2657.72) id XW80G0G8; Wed, 3 Dec 2003 15:57:55 +0100
Received: by lms001.lu.erisoft.se id PAA11623; Wed, 3 Dec 2003 15:57:30 +0100 (MET)
Message-ID: <3FCDFA79.B3155596@ericsson.com>
Date: Wed, 03 Dec 2003 16:00:09 +0100
X-Sybari-Space: 00000000 00000000 00000000 00000000
From: Ghyslain Pelletier <Ghyslain.Pelletier@ericsson.com>
Organization: Ericsson Erisoft AB, Ericsson Research Corporate Unit
X-Mailer: Mozilla 4.79 [en] (Windows NT 5.0; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Cho Chia Yuan <eng01098@nus.edu.sg>
CC: rohc@ietf.org, winston@i2r.a-star.edu.sg, sukanta@i2r.a-star.edu.sg
References: <97B6AED9BBAE4845B2559DA63E6ECDC2032280AB@MBXSRV23.stu.nus.edu.sg>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-MIME-Autoconverted: from 8bit to quoted-printable by albatross-ext.wise.edt.ericsson.se id hB3EvTI2003333
Content-Transfer-Encoding: quoted-printable
Subject: [rohc] Re: Questions on Context Replication
Sender: rohc-admin@ietf.org
Errors-To: rohc-admin@ietf.org
X-BeenThere: rohc@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/rohc>, <mailto:rohc-request@ietf.org?subject=unsubscribe>
List-Id: Robust Header Compression <rohc.ietf.org>
List-Post: <mailto:rohc@ietf.org>
List-Help: <mailto:rohc-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/rohc>, <mailto:rohc-request@ietf.org?subject=subscribe>
Content-Transfer-Encoding: quoted-printable
Content-Transfer-Encoding: quoted-printable

Hi,

Thanks again for your comments. Hopefully I can clarify this issue,
otherwise please correct me if I misunderstand your point.

I think that the concerns you have regarding the challenges a compressor
is facing when selecting a base context and the differences between IR
and IR-CR are already summarized in the draft, in section 3.3.3.1. (see
text from "Note however that" of the first paragraph up to the end of
the second paragraph of the same section). I believe this is what you
are referring to.

> Let's say for a particular new flow, the compressor chooses from a 
> pool of suitable base contexts for context replication, but all their 
> equivalents at the decompressor have been overwritten/discarded, 
> without the compressor's knowledge. Naturally, at the decompressor, 

Secondly, your concerns seem to make some assumptions regarding context
management at the compressor. I believe somes assumptions are
inaccurate. Recall that CIDs with ROHC are "managed" by the compressor,
i.e. the CID is always choosen by the compressor when initiating a new
context for a new flow. Overwriting of a CID is thus always known by the
compressor - as it is the compressor decision to do so by reusing a CID
when initializing a new context - otherwise the CID state is expected to
be kept in memory at both ends. This is also true with context
replication.

However, one could think that a decompressor implementation could be
optimized to cleanup the memory space allocated for a CID associated to
a connection-oriented flow (e.g. such as TCP) when it detects that the
connection has ended (e.g. FIN bit set plus some additional time wait).
In such case, there is a possibility that the compressor could select a
context as a base context for which the decompressor is not maintaining
state anymore - I believe this is your concern, and this is what is
explained in section 3.3.3.1.

My view is that doing such an optimization at the decompressor is not
what is expected of a ROHC  decompressor implementation. Therefore, my
opinion is that such an "optimization" is an implementation design
decision, and hopefully implementers will understand the "risks" being
taken so that such an implementation *will* send STATIC-NACK.

Hovewer again, removing CID state from memory without this state being
explicitly overwritten by the compressor selection of the context
identifier is not the expected behaviour, therefore I believe the
sending of STATIC-NACK being a SHOULD in the draft is the appropriate
wording.

> My point is that when verification from IR-CR fails, a STATIC-NACK 
> MUST (instead of SHOULD) be sent to notify the compressor that the 
> base context it used is invalid, otherwise the compressor will 
> continue using it unknowingly. A side point is that use of IR-CR 

As said, not sending feedback in such case would be a very poor
decompressor implementation considering that IR-CR can only be sent if
there exist a feedback channel between decompressor and compressor.
However, this does not make it a MUST. The occurence of such problem
would be due to a decompressor behavior that is not expected by the
compressor (otherwise decompression of an IR-CR has little other reasons
not to succeed). Such a failure would be the result of an implementation
"optimization" that is not performed consequently if no STATIC-NACK is
sent upon receiving an IR-CR using a base context that has been removed
from the state managed by the decompressor.

> A side point is that use of IR-CR 
> packets to refresh contexts in optimistic mode cannot be guaranteed 
> to be a success(unlike IR packets), because the equivalent of the 
> compressor's base context may no longer be kept by the decompressor. 

But it is guaranteed that failures will be detected, and if the context
is no longer kept this is an unexpected behavior for the decompressor. 

> However, IR-CR packets may still be used for context refreshing in 
> optimistic mode, as long as STATIC-NACKs are compulsory instead of 
> optional, which is what my first point is about.

Recall also that it is the decompressor that chooses the mode of
operation (unidirectional, bidirectional optimistic). The requirements
for the compressor to be allowed to use IR-CR implies also that the
decompressor as the possibility to send feedback.

Finally, I would like to remind the distinction between "SHOULD" and
"MUST" from RFC2119:

// 1. MUST This word, or the terms "REQUIRED" or "SHALL", mean that the 
// definition is an absolute requirement of the specification. 
//
// [snip]
//
// 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. 

I thus think "SHOULD" is appropriate. However, I could modify the text
to reflect better the possible "implications" of not doing so.

/Ghyslain

Cho Chia Yuan wrote:
> 
> Hi Ghyslain,
> 
> Thanks for your reply. I understand that the reverse feedback channel
> must be present for context replication, or else contexts at the
> compressor cannot be verified to become potential base contexts.
> 
> However, can you elaborate more on the other issue - why is it that 
> STATIC-NACK SHOULD be sent when the decompressor fails to validate 
> the context after IR-CR packet decompression? (My question is, why 
> SHOULD instead of MUST?)
> 
> As mentioned in my earlier mail, if sending back STATIC-NACKs are 
> optional instead of compulsory, then IR-CR packets uniquely face a 
> danger not encountered by IR packets. The following is my argument 
> for it, rephrased:
>
> Let's say for a particular new flow, the compressor chooses from a 
> pool of suitable base contexts for context replication, but all their 
> equivalents at the decompressor have been overwritten/discarded, 
> without the compressor's knowledge. Naturally, at the decompressor, 
> verification after IR-CR decompression fails. Since sending back 
> STATIC-NACK is optional, it is not sent. The compressor, kept in the 
> dark, continues in optimistic mode, and periodically transits 
> downwards to IR state, depending on it to refresh the context at the 
> decompressor. However, in IR state, since seemingly 'valid' base 
> contexts are present, the compressor proceeds to send IR-CR packets 
> instead... ... At the decompressor, the entire flow has been 
> gibberish, and no data gets sent.
> 
> My point is that when verification from IR-CR fails, a STATIC-NACK 
> MUST (instead of SHOULD) be sent to notify the compressor that the 
> base context it used is invalid, otherwise the compressor will 
> continue using it unknowingly. A side point is that use of IR-CR 
> packets to refresh contexts in optimistic mode cannot be guaranteed 
> to be a success(unlike IR packets), because the equivalent of the 
> compressor's base context may no longer be kept by the decompressor. 
> However, IR-CR packets may still be used for context refreshing in 
> optimistic mode, as long as STATIC-NACKs are compulsory instead of 
> optional, which is what my first point is about.
> 
> Hope my question is clearer now. Please correct me if I'm wrong :)
> 
> Chia Yuan Cho
> National University of Singapore
> /Institute for Infocomm Research
> 
> -----Original Message-----
> From: Ghyslain Pelletier [mailto:Ghyslain.Pelletier@ericsson.com]
> Sent: Mon 12/1/2003 7:24 PM
> To: Cho Chia Yuan
> Cc: rohc@ietf.org; winston@i2r.a-star.edu.sg; sukanta@i2r.a-star.edu.sg
> Subject: Re: Questions on Context Replication
> 
> Hi,
> 
> Thanks for your comments. Hopefully the following will properly address
> them.
> 
> > -The above suggests that the feedback channel is compulsory?
> 
> The presence of an established feedback channel is compulsory for a
> compressor to have the capability to initiate context replication for a
> new flow (CID), otherwise no base context (BCID) can be selected as the
> base for replication.
> 
> > -Since reverse (positive and negative) feedbacks are all optional,
> > does it mean that the feedback channel is optional?
> 
> The usage of feedback from decompressor to compressor for a particular
> replicated context (CID) is optional. In such case, the compressor is
> "forced" to operate in a unidirectional manner and the newly replicated
> context (CID) cannot be used as the base context (BCID) when performing
> the periodic "refreshes" for that flow (CID).
> 
> To answer your questions in more details:
> 
> > 1) Is the reverse feedback channel a compulsory pre-requisite for
> > context replication or is it optional?
> 
> The phrasing of the requirement for selecting a base context for
> replication could be improved. The text in section 3.3.3.1 will be
> updated to reflect that only a context for which all static information
> has been acknowledged can be selected as a base context for replication.
> 
> Thus the requirement does mean that the presence of a feedback channel
> between decompressor and compressor is compulsory - otherwise a
> compressor cannot initiate context replication as no context could meet
> the requirement for a base context.
> 
> > 2) When the decompressor validation of the context following
> > decompression of an IR-CR packet fails, is the STATIC-NACK sent back
> > to the compressor optional or compulsory?
> 
> Sending feedback (such as STATIC-NACK) is always optional (however it
> SHOULD be used) for context replication. If the decompressor chooses not
> to provide feedback for the newly replicated context (thus forcing a
> unidirectional type of operation), then the compressor will have to
> periodically transit back to a lower state (IR or IR-CR state) to
> "refresh" the context.
> 
> When refreshing the context, the compressor can only use an IR-CR packet
> if the requirement for the use and selection of a base context is met.
> In particular, if the original base context previously used does not
> meet anymore the above requirement, the compressor will have to select
> another context as a base context. Similarly, as the newly replicated
> context has not been acknowledged, it cannot either be used as a base
> for that IR-CR packet.
> 
> I hope this answers your concerns - otherwise don't hesitate to let me
> know, also if you have further questions or comments.
> 
> Best regards,
> 
> /Ghyslain
> 
> Cho Chia Yuan wrote:
>>
>> Hi Ghyslain,
>>
>> I have a few questions regarding
>> <draft-ietf-rohc-context-replication-01.txt>:
>>
>> 1) Is the reverse feedback channel a compulsory pre-requisite for
>> context replication or is it optional?
>>
>> 2) When the decompressor validation of the context following
>> decompression of an IR-CR packet fails, is the STATIC-NACK sent back
>> to the compressor optional or compulsory?
>>
>> The nature of my questions arises from the following:
>> (3.3.3.)
>>    Context replication is designed to operate over links where a
>>    feedback channel is available. This is necessary to ensure that
>>    the information used to create a new context is synchronized
>>    between the compressor and the decompressor. ...
>>
>> -The above suggests that the feedback channel is compulsory?
>>
>> (3.4.3.)
>>   Specifically, when the decompressor fails to validate the context
>>   following the decompression of one or more initial IR-CR packets,
>>   it MUST invalidate the context and remain in its initial state. In
>>   addition, the decompressor SHOULD send a STATIC-NACK.
>>
>> -Since reverse (positive and negative) feedbacks are all optional,
>> does it mean that the feedback channel is optional?
>>
>>
>> My opinion is that the reverse feedback channel must be present for
>> context replication, so that STATIC-NACKS are sent back to the
>> compressor when context validation fails upon decompression of an IR-
>> CR packet. IR-CR context validation failures must be communicated
>> back to the compressor. This is because 'valid' base contexts at the
>> compressor may be already invalidated at the decompressor.
>>
>> The case for this - suppose the reverse feedback channel is not
>> present (or STATIC-NACKs are not sent back upon context validation
>> failure at the decompressor), and furthermore the decompressor has
>> discarded/overwritten all the valid base contexts still kept by the
>> compressor. Then, the compressor has no way of knowing the truth.
>> After upwards transition from the CR state in optimistic mode, the
>> compressor periodically transits downwards to IR state, in which it
>> finds seemingly 'valid' base contexts, transits to CR state, and
>> after a period of time optimistically proceeds to the 'Higher Order
>> State', .. , and all the time nothing has been received successfully
>> at all.
>>
>>Thus, I think STATIC-NACKs for IR-CR packets should not be optional,
>> because an avenue for fallback to IR packets, in the event of
>> failure, must be provided.
>>
>> Furthermore, if the policy enforced is such that the most recent
>> valid base context is chosen for replication always, then maybe it
>> can be assumed that if context validation for an IR-CR packet fails
>> at the decompressor, there is no need for the compressor to attempt
>> context replication from another base context? Thus, can the
>> decompressor simply send back a STATIC-NACK to signal fallback to
>> conventional context initialization? This may mean that the sending
>> of STATIC-NACK would be MUST instead of SHOULD in the above section.
>>
>> Chia Yuan Cho
>> National University of Singapore
>> / Institute for Infocomm Research
>>         --
>  Ghyslain Pelletier, Dipl. Ing.
>  Wireless IP Optimizations
>  AWARE - Advanced Wireless Algorithm Research
>  Ericsson Research, Corporate Unit
>  Ericsson AB, Laboratoriegränd 11
>  Box 920, S-97128 Luleå, SWEDEN
>  Phone : +46 (0) 920 20 24 32
>  Mobile: +46 (0) 706 09 27 73
>  Ghyslain.Pelletier@ericsson.com
>  http://www.ericsson.com
>  I have a new mail address: Ghyslain.Pelletier@ericsson.com
>  My old e-mail address will function until 2004-06-01.
>  Please change my address in your personal address book.
> 

-- 
Ghyslain Pelletier, Dipl. Ing.
Wireless IP Optimizations
AWARE - Advanced Wireless Algorithm Research
Ericsson Research, Corporate Unit

Ericsson AB, Laboratoriegränd 11
Box 920, S-97128 Luleå, SWEDEN
Phone : +46 (0) 920 20 24 32 
Mobile: +46 (0) 706 09 27 73
Ghyslain.Pelletier@ericsson.com
http://www.ericsson.com

I have a new mail address: Ghyslain.Pelletier@ericsson.com
My old e-mail address will function until 2004-06-01.
Please change my address in your personal address book.

_______________________________________________
Rohc mailing list
Rohc@ietf.org
https://www1.ietf.org/mailman/listinfo/rohc