Subject: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

From: "dime issue tracker" <[email-masked]>
Date: Fri, 07 Feb 2014 21:54:40 -0000

#45: Why is a validity duration of 0 disallowed?

 Section 4.5 disallows a validity duration of zero. Why do we want to
 disallow that? It would allow a quick way of ending any existing overload
 condition without worrying about the semantics of the abatement algorithm.
 (We currently use a reduction percentage of zero to end an overload
 condition--but that's specific to the loss algorithm and might not make
 sense for all future ones.)

 Note that setting an expiration time to zero is the standard way of
 removing state in several other protocols (e.g. SIP).

-- 
-------------------------+-------------------------------------------------
 Reporter:               |      Owner:  draft-docdt-dime-
  [email-masked]        |  [email-masked]
     Type:  defect       |     Status:  new
 Priority:  minor        |  Milestone:
Component:  draft-       |    Version:  1.0
  docdt-dime-ovli        |   Keywords:
 Severity:  Active WG    |
  Document               |
-------------------------+-------------------------------------------------

Ticket URL: <http://trac.tools.ietf.org/wg/dime/trac/ticket/45>
dime <http://tools.ietf.org/wg/dime/>

---

From: Jouni Korhonen <[email-masked]>
Date: Mon, 10 Feb 2014 13:12:08 +0200

> sense for all future ones.)

Right. Avoiding two ways of ending overload condition was the reason.
I am OK to have validity duration 0 as an additional method ending the
overload condition based on the reasoning above.

- Jouni

---

From: Steve Donovan <[email-masked]>
Date: Mon, 10 Feb 2014 09:25:05 -0600

+1

Do we have agreement to make this change?

Steve

---

From: Ben Campbell <[email-masked]>
Date: Mon, 10 Feb 2014 09:53:26 -0600

> overload condition based on the reasoning above.

I would go further and make duration 0 the _preferred_ way, for two reasons:

1) It's algorithm independent. (reduction-percentage of 0 is specific to algorithms that use reduction percentage.)

2) Explicit signaling of the end of an overload condition becomes semantically identical to the expiration of an overload condition. This allows a simpler implementation.

---

From: Jouni Korhonen <[email-masked]>
Date: Mon, 10 Feb 2014 18:06:56 +0200

Ben,

Propose some text and we can see how it fits in.

- Jouni

---

From: Ben Campbell <[email-masked]>
Date: Mon, 10 Feb 2014 10:25:13 -0600

Okay. Does that mean we should assign the issue to me in the tracker?

---

From: Jouni Korhonen <[email-masked]>
Date: Tue, 11 Feb 2014 00:12:42 +0200

Just post it here.

---

From: Ben Campbell <[email-masked]>
Date: Mon, 10 Feb 2014 17:55:39 -0600

So, here's some proposed text. (intentionally ignoring the related discussion about handling invalid values):

Section 4.5, first paragraph, last 2 sentences:

Old:

Validity duration values 0 (i.e., 0 seconds) and above 86400 (i.e., 24 hours) MUST NOT be used. Invalid validity duration values are treated as if the OC-Validity-Duration AVP were not present.

New:

Validity duration values above 86400 MUST NOT be used. Invalid validity duration values are treated as if the OC-Validity-Duration AVP were not present. A value of zero (0) indicates that an existing overload condition has ended and that the reporting node is in a stable condition.

Section 4.7, 2nd paragraph:

Old:

 The value of the Reduction-Percentage AVP is between one (1) and one hundred (100).  Values greater than 100 are interpreted as 100.  The value of 100 means that no traffic is expected, i.e. the reporting node is under a severe load and ceases to process any new messages. The Reduction-Percentage AVP MUST be present in an overload report that uses the default abatement algorithm.

Note that there is no zero (0) value defined for the Reduction-Percentage AVP. A zero value would logically indicate that no overload abatement is requested. Instead, reporting nodes use a OC-Validity-Duration AVP value of zero (0) to indicate the end of an overload condition. [Section 4.5]

On Feb 10, 2014, at 4:12 PM, Jouni Korhonen <[email-masked]> wrote:

> _______________________________________________
> DiME mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/dime

---

From: Maria Cruz Bartolome <[email-masked]>
Date: Tue, 11 Feb 2014 13:53:55 +0000

Ben,

This approach sounds reasonable to me.
But I would like to clarify what should be the behavior if a Reduction-Percentage=0 is received. This is an invalid value, then I presume it should be discarded by client.

Regards
/MCruz

From: DiME [mailto:[email-masked]] On Behalf Of Ben Campbell
Sent: martes, 11 de febrero de 2014 0:56
To: Jouni Korhonen
Cc: [email-masked] list; [email-masked]
Subject: Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Old:

New:

Old:

On Feb 10, 2014, at 4:12 PM, Jouni Korhonen <[email-masked]<mailto:[email-masked]>> wrote:

Just post it here.

On Feb 10, 2014, at 6:25 PM, Ben Campbell <[email-masked]<mailto:[email-masked]>> wrote:

On Feb 10, 2014, at 10:06 AM, Jouni Korhonen <[email-masked]<mailto:[email-masked]>> wrote:

Ben,

- Jouni

On Feb 10, 2014, at 5:53 PM, Ben Campbell <[email-masked]<mailto:[email-masked]>> wrote:

On Feb 10, 2014, at 5:12 AM, Jouni Korhonen <[email-masked]<mailto:[email-masked]>> wrote:

On Feb 7, 2014, at 11:54 PM, dime issue tracker <[email-masked]<mailto:[email-masked]>> wrote:

_______________________________________________
DiME mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/dime

---

From: Jouni Korhonen <[email-masked]>
Date: Wed, 12 Feb 2014 00:32:25 +0200

Works for me.

- JOuni

---

From: Maria Cruz Bartolome <[email-masked]>
Date: Wed, 12 Feb 2014 08:43:49 +0000

Ben, all,

This comment affects as well clause 5.5.2:

   value == 0

      Indicates explicitly the end of overload condition and the
      reacting node SHOULD NOT apply the traffic abatement algorithm
      procedures anymore for the given reporting node (or realm).

This should be modified to explain this value is not valid and what is the expected behavior (i.e. it is discarded).

Best regards
/MCruz

From: DiME [mailto:[email-masked]] On Behalf Of Maria Cruz Bartolome
Sent: martes, 11 de febrero de 2014 14:54
To: [email-masked] list
Subject: Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Ben,

Regards
/MCruz

From: DiME [mailto:[email-masked]] On Behalf Of Ben Campbell
Sent: martes, 11 de febrero de 2014 0:56
To: Jouni Korhonen
Cc: [email-masked]<mailto:[email-masked]> list; [email-masked]<mailto:[email-masked]>
Subject: Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Old:

New:

Old:

Just post it here.

Ben,

- Jouni

---

From: "Wiehe, Ulrich (NSN - DE/Munich)" <[email-masked]>
Date: Wed, 12 Feb 2014 08:57:27 +0000

I'm confused,

I thought that people were in favour of allowing 0 to indicate end of overload.

Ulrich

From: DiME [mailto:[email-masked]] On Behalf Of ext Maria Cruz Bartolome
Sent: Wednesday, February 12, 2014 9:44 AM
To: [email-masked] list
Subject: Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Ben, all,

   value == 0

Best regards
/MCruz

From: DiME [mailto:[email-masked]] On Behalf Of Maria Cruz Bartolome
Sent: martes, 11 de febrero de 2014 14:54
To: [email-masked]<mailto:[email-masked]> list
Subject: Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Ben,

Regards
/MCruz

Old:

New:

Old:

Ben,

- Jouni

---

From: Maria Cruz Bartolome <[email-masked]>
Date: Wed, 12 Feb 2014 09:13:01 +0000

Dear Ulrich, all,

The proposal was to use OC-Validity-Duration AVP =0 to indicate end of overload, since this could be generally applied to any algorithm.
Then, Reduction-Percentage = 0 should be considered as invalid.
I found this reasonable.

Best regards
/MCruz

From: Wiehe, Ulrich (NSN - DE/Munich) [mailto:[email-masked]]
Sent: miércoles, 12 de febrero de 2014 9:57
To: Maria Cruz Bartolome; [email-masked] list
Subject: RE: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

I'm confused,

Ulrich

Ben, all,

   value == 0

Best regards
/MCruz

Ben,

Regards
/MCruz

Old:

New:

Old:

Ben,

- Jouni

---

From: "Wiehe, Ulrich (NSN - DE/Munich)" <[email-masked]>
Date: Wed, 12 Feb 2014 09:21:45 +0000

Thank you for the clarification.
I agree.

From: DiME [mailto:[email-masked]] On Behalf Of ext Maria Cruz Bartolome
Sent: Wednesday, February 12, 2014 10:13 AM
To: [email-masked] list
Subject: Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Dear Ulrich, all,

Best regards
/MCruz

From: Wiehe, Ulrich (NSN - DE/Munich) [mailto:[email-masked]]
Sent: miércoles, 12 de febrero de 2014 9:57
To: Maria Cruz Bartolome; [email-masked]<mailto:[email-masked]> list
Subject: RE: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

I'm confused,

Ulrich

Ben, all,

   value == 0

Best regards
/MCruz

Ben,

Regards
/MCruz

Old:

New:

Old:

Ben,

- Jouni

---

From: "TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <[email-masked]>
Date: Wed, 12 Feb 2014 20:47:34 +0000

Dear all

On this ticket,  I agree on Ben's  proposal  to use the Validity period of 0 to indicate the end of overload.
But about the value of 0% reduction why to forbid it ?

In the process to  return to normal traffic conditions, the  server still sending OLR eg with  5% reduction    will consider to no request anymore traffic reduction but without being yet sure if  it will be  stable (end of overload condition as Ben reminded means stable  situation without traffic reduction ) , so server  can send 0% reduction OLR  but with a validity duration different from 0.
Otherwise it has to  use 1% throttling to check stability and if traffic with the client is 1000 request per second this means 10 requests throttled per second which should not be throttled.
In addition, we do not need to handle the 0% reduction  as an error case (cf Mcruz mail)

Best regards

JJacques

De : DiME [mailto:[email-masked]] De la part de Wiehe, Ulrich (NSN - DE/Munich)
Envoyé : mercredi 12 février 2014 10:22
À : ext Maria Cruz Bartolome; [email-masked] list
Objet : Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Dear Ulrich, all,

Best regards
/MCruz

I'm confused,

Ulrich

Ben, all,

   value == 0

Best regards
/MCruz

Ben,

Regards
/MCruz

Old:

New:

Old:

Ben,

- Jouni

---

From: "Nirav Salot (nsalot)" <[email-masked]>
Date: Thu, 13 Feb 2014 03:11:28 +0000

I also tend to agree with JJ below.
Unless there is a strong reason, no point in forbidding the use of 0% reduction - which can also indicate end of overload condition.

May be we can clarify that 0% reduction and/or 0 validity period indicates end of overload. In my view, both are valid for the use, individually and together. So,

-          0 reduction, non-zero validity period => Valid. The reacting node can ignore the validity period if reduction is 0.

-          Non-zero reduction, 0 validity period => Valid. The reacting node can ignore the reduction if validity period is 0.

-          0 reduction, 0 validity period => Valid as well. Generally, this is what the reporting node will use to indicate the end of overload condition.

Regards,
Nirav.

From: DiME [mailto:[email-masked]] On Behalf Of TROTTIN, JEAN-JACQUES (JEAN-JACQUES)
Sent: Thursday, February 13, 2014 2:18 AM
To: [email-masked] list
Subject: Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Dear all

Best regards

JJacques

De : DiME [mailto:[email-masked]] De la part de Wiehe, Ulrich (NSN - DE/Munich)
Envoyé : mercredi 12 février 2014 10:22
À : ext Maria Cruz Bartolome; [email-masked]<mailto:[email-masked]> list
Objet : Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Dear Ulrich, all,

Best regards
/MCruz

I'm confused,

Ulrich

Ben, all,

   value == 0

Best regards
/MCruz

Ben,

Regards
/MCruz

Old:

New:

Old:

Ben,

- Jouni

---

From: "Wiehe, Ulrich (NSN - DE/Munich)" <[email-masked]>
Date: Thu, 13 Feb 2014 08:55:43 +0000

I also agree with the principle.

One minor clarification:
0%-reduction with non-zero validity period is valid but validity period cannot be ignored: as long as not expired the sequence number needs to be stored for future checking; once expired, sequence number must not be used for future checking.

Ulrich

From: DiME [mailto:[email-masked]] On Behalf Of ext Nirav Salot (nsalot)
Sent: Thursday, February 13, 2014 4:11 AM
To: TROTTIN, JEAN-JACQUES (JEAN-JACQUES); [email-masked] list
Subject: Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Regards,
Nirav.

Dear all

Best regards

JJacques

Dear Ulrich, all,

Best regards
/MCruz

I'm confused,

Ulrich

Ben, all,

   value == 0

Best regards
/MCruz

Ben,

Regards
/MCruz

Old:

New:

Old:

Ben,

- Jouni

---

From: "TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <[email-masked]>
Date: Thu, 13 Feb 2014 09:23:30 +0000

I am OK with Ulrich

JJacques

De : Wiehe, Ulrich (NSN - DE/Munich) [mailto:[email-masked]]
Envoyé : jeudi 13 février 2014 09:56
À : ext Nirav Salot (nsalot); TROTTIN, JEAN-JACQUES (JEAN-JACQUES); [email-masked] list
Objet : RE: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

One minor clarification:

Ulrich

From: DiME [mailto:[email-masked]] On Behalf Of ext Nirav Salot (nsalot)
Sent: Thursday, February 13, 2014 4:11 AM
To: TROTTIN, JEAN-JACQUES (JEAN-JACQUES); [email-masked]<mailto:[email-masked]> list
Subject: Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Regards,
Nirav.

Dear all

Best regards

JJacques

Dear Ulrich, all,

Best regards
/MCruz

I'm confused,

Ulrich

Ben, all,

   value == 0

Best regards
/MCruz

Ben,

Regards
/MCruz

Old:

New:

Old:

Ben,

- Jouni

---

From: Maria Cruz Bartolome <[email-masked]>
Date: Thu, 13 Feb 2014 09:56:20 +0000

Hello all,

I think proposal to use just Validity-Duration=0 to end overload mainly has the intention to simplify and avoid the checks you just listed below.
If we allow both, it means that the case Ulrich mentioned is valid, and even with 0% reduction OLR info cannot be deleted until Validity time expires, even we could receive a new OLR in sequence. Even, the reporting needs still to keep Validity timer on for this OLR.
I think this does not provide any added value but simply makes things a bit more complex. What could be the reason to keep 0% reduction but a Validity of a few hours (e.g.)?

Best regards
/MCruz

From: DiME [mailto:[email-masked]] On Behalf Of TROTTIN, JEAN-JACQUES (JEAN-JACQUES)
Sent: jueves, 13 de febrero de 2014 10:24
To: [email-masked] list
Subject: Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

I am OK with Ulrich

JJacques

De : Wiehe, Ulrich (NSN - DE/Munich) [mailto:[email-masked]]
Envoyé : jeudi 13 février 2014 09:56
À : ext Nirav Salot (nsalot); TROTTIN, JEAN-JACQUES (JEAN-JACQUES); [email-masked]<mailto:[email-masked]> list
Objet : RE: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

One minor clarification:

Ulrich

Regards,
Nirav.

Dear all

Best regards

JJacques

Dear Ulrich, all,

Best regards
/MCruz

I'm confused,

Ulrich

Ben, all,

   value == 0

Best regards
/MCruz

Ben,

Regards
/MCruz

Old:

New:

Old:

Ben,

- Jouni

---

From: "TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <[email-masked]>
Date: Thu, 13 Feb 2014 10:43:08 +0000

Hi MCruz

AS  Ben proposed, and I agree,   value of zero (0) for the Validity period indicates that an existing overload condition has ended and that the reporting node is in a stable condition.
An important word is "stable".

When the traffic peak on client side having created the overload decreases,   the reporting node progressively diminishes the % traffic reduction in OLRs it sends  towards clients taking care to minimize the possible oscillations. At a certain time ,  server will consider that it can indicate no traffic reduction to clients. Then is it stable?  there may be different implementation dependent  ways for the server to decide the situation is stable;  one is to send 0% in OLRs and wait a certain number of seconds (not 24 hours) to check if situation is stable  and then put the validity timer to 0 (or leaves the expiry timer  expire). I do not see why to forbid this  way to test the stable condition.

So the end of overload condition, as Ben proposed,  can remain ONLY based on Validity  duration value 0 (or timer expiry), not on the value 0 of the % reduction (so a bit different from Nirav statement, but in line with Ulrich comment) . The value 0% of the traffic reduction is not forbidden as a possible  way to check the stability condition .

Best regards

JJacques

De : DiME [mailto:[email-masked]] De la part de Maria Cruz Bartolome
Envoyé : jeudi 13 février 2014 10:56
À : [email-masked] list
Objet : Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Hello all,

Best regards
/MCruz

I am OK with Ulrich

JJacques

One minor clarification:

Ulrich

Regards,
Nirav.

Dear all

Best regards

JJacques

Dear Ulrich, all,

Best regards
/MCruz

I'm confused,

Ulrich

Ben, all,

   value == 0

Best regards
/MCruz

Ben,

Regards
/MCruz

Old:

New:

Old:

Ben,

- Jouni

---

From: Maria Cruz Bartolome <[email-masked]>
Date: Thu, 13 Feb 2014 11:04:51 +0000

Dear JJ,

But...  0% for a reacting node means that it does not need to mitigate traffic, and for a reporting node means it is not expecting any mitigation from this client.
Keeping a Validity duration timer on both reporting and reacting on itself does not provide any mechanism to improve stability, or?

Cheers
/MCruz

From: TROTTIN, JEAN-JACQUES (JEAN-JACQUES) [mailto:[email-masked]]
Sent: jueves, 13 de febrero de 2014 11:43
To: Maria Cruz Bartolome; [email-masked] list
Subject: RE: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Hi MCruz

Best regards

JJacques

De : DiME [mailto:[email-masked]] De la part de Maria Cruz Bartolome
Envoyé : jeudi 13 février 2014 10:56
À : [email-masked]<mailto:[email-masked]> list
Objet : Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Hello all,

Best regards
/MCruz

I am OK with Ulrich

JJacques

One minor clarification:

Ulrich

Regards,
Nirav.

Dear all

Best regards

JJacques

Dear Ulrich, all,

Best regards
/MCruz

I'm confused,

Ulrich

Ben, all,

   value == 0

Best regards
/MCruz

Ben,

Regards
/MCruz

Old:

New:

Old:

Ben,

- Jouni

---

From: Steve Donovan <[email-masked]>
Date: Thu, 13 Feb 2014 06:15:42 -0600

JJ,

Why does the reacting node need to send a reduction percentage of zero
to determine if it is stable?  Can't the reacting node just do its
normal checking for overload after sending the validity period of zero? 
If it finds the need for reduction of traffic, it can just send a new
overload report.

Steve

On 2/13/14 4:43 AM, TROTTIN, JEAN-JACQUES (JEAN-JACQUES) wrote:
>
> Hi MCruz
>
>  
>
> AS  Ben proposed, and I agree,   value of zero (0) for the Validity
> period indicates that an existing overload condition has ended and
> that the reporting node is in a stable condition.
>
> When the traffic peak on client side having created the overload
> decreases,   the reporting node progressively diminishes the % traffic
> reduction in OLRs it sends  towards clients taking care to minimize
> the possible oscillations. At a certain time ,  server will consider
> that it can indicate no traffic reduction to clients. Then is it
> stable?  there may be different implementation dependent  ways for the
> server to decide the situation is stable;  one is to send 0% in OLRs
> and wait a certain number of seconds (not 24 hours) to check if
> situation is stable  and then put the validity timer to 0 (or leaves
> the expiry timer  expire). I do not see why to forbid this  way to
> test the stable condition.
>
>  
>
> So the end of overload condition, as Ben proposed,  can remain ONLY
> based on Validity  duration value 0 (or timer expiry), not on the
> value 0 of the % reduction (so a bit different from Nirav statement,
> but in line with Ulrich comment) . The value 0% of the traffic
> reduction is not forbidden as a possible  way to check the stability
> condition .
>
>  
>
> Best regards
>
>  
>
> JJacques
>
>  
>
>  
>
> *De :*DiME [mailto:[email-masked]] *De la part de* Maria Cruz
> Bartolome
> *Envoyé :* jeudi 13 février 2014 10:56
> *À :* [email-masked] list
> *Objet :* Re: [Dime] [dime] #45: Why is a validity duration of 0
> disallowed?
>
>  
>
> Hello all,
>
>  
>
> I think proposal to use just Validity-Duration=0 to end overload
> mainly has the intention to simplify and avoid the checks you just
> listed below.
>
> If we allow both, it means that the case Ulrich mentioned is valid,
> and even with 0% reduction OLR info cannot be deleted until Validity
> time expires, even we could receive a new OLR in sequence. Even, the
> reporting needs still to keep Validity timer on for this OLR.
>
> I think this does not provide any added value but simply makes things
> a bit more complex. What could be the reason to keep 0% reduction but
> a Validity of a few hours (e.g.)?
>
>  
>
> Best regards
>
> /MCruz
>
>  
>
>  
>
> *From:*DiME [mailto:[email-masked]] *On Behalf Of *TROTTIN,
> JEAN-JACQUES (JEAN-JACQUES)
> *Sent:* jueves, 13 de febrero de 2014 10:24
> *To:* [email-masked] <mailto:[email-masked]> list
> *Subject:* Re: [Dime] [dime] #45: Why is a validity duration of 0
> disallowed?
>
>  
>
> I am OK with Ulrich
>
>  
>
> JJacques
>
>  
>
>  
>
> *De :*Wiehe, Ulrich (NSN - DE/Munich) [mailto:[email-masked]]
> *Envoyé :* jeudi 13 février 2014 09:56
> *À :* ext Nirav Salot (nsalot); TROTTIN, JEAN-JACQUES (JEAN-JACQUES);
> [email-masked] <mailto:[email-masked]> list
> *Objet :* RE: [Dime] [dime] #45: Why is a validity duration of 0
> disallowed?
>
>  
>
> 0%-reduction with non-zero validity period is valid but validity
> period cannot be ignored: as long as not expired the sequence number
> needs to be stored for future checking; once expired, sequence number
> must not be used for future checking.
>
>  
>
> Ulrich
>
>  
>
> *From:*DiME [mailto:[email-masked]] *On Behalf Of *ext Nirav
> Salot (nsalot)
> *Sent:* Thursday, February 13, 2014 4:11 AM
> *To:* TROTTIN, JEAN-JACQUES (JEAN-JACQUES); [email-masked]
> <mailto:[email-masked]> list
> *Subject:* Re: [Dime] [dime] #45: Why is a validity duration of 0
> disallowed?
>
>  
>
> Unless there is a strong reason, no point in forbidding the use of 0%
> reduction -- which can also indicate end of overload condition.
>
>  
>
> May be we can clarify that 0% reduction and/or 0 validity period
> indicates end of overload. In my view, both are valid for the use,
> individually and together. So,
>
> -          0 reduction, non-zero validity period => Valid. The
> reacting node can ignore the validity period if reduction is 0.
>
> -          Non-zero reduction, 0 validity period => Valid. The
> reacting node can ignore the reduction if validity period is 0.
>
> -          0 reduction, 0 validity period => Valid as well. Generally,
> this is what the reporting node will use to indicate the end of
> overload condition.
>
>  
>
> Regards,
>
> Nirav.
>
>  
>
> *From:*DiME [mailto:[email-masked]] *On Behalf Of *TROTTIN,
> JEAN-JACQUES (JEAN-JACQUES)
> *Sent:* Thursday, February 13, 2014 2:18 AM
> *To:* [email-masked] <mailto:[email-masked]> list
> *Subject:* Re: [Dime] [dime] #45: Why is a validity duration of 0
> disallowed?
>
>  
>
> Dear all
>
>  
>
> On this ticket,  I agree on Ben's  proposal  to use the Validity
> period of 0 to indicate the end of overload.
>
> In the process to  return to normal traffic conditions, the  server
> still sending OLR eg with  5% reduction    will consider to no request
> anymore traffic reduction but without being yet sure if  it will be
>  stable (end of overload condition as Ben reminded means stable
>  situation without traffic reduction ) , so server  can send 0%
> reduction OLR  but with a validity duration different from 0.
>
> Otherwise it has to  use 1% throttling to check stability and if
> traffic with the client is 1000 request per second this means 10
> requests throttled per second which should not be throttled.
>
> *De :*DiME [mailto:[email-masked]] *De la part de* Wiehe,
> Ulrich (NSN - DE/Munich)
> *Envoyé :* mercredi 12 février 2014 10:22
> *À :* ext Maria Cruz Bartolome; [email-masked] <mailto:[email-masked]> list
> *Objet :* Re: [Dime] [dime] #45: Why is a validity duration of 0
> disallowed?
>
>  
>
> *From:*DiME [mailto:[email-masked]] *On Behalf Of *ext Maria
> Cruz Bartolome
> *Sent:* Wednesday, February 12, 2014 10:13 AM
> *To:* [email-masked] <mailto:[email-masked]> list
> *Subject:* Re: [Dime] [dime] #45: Why is a validity duration of 0
> disallowed?
>
>  
>
> Dear Ulrich, all,
>
>  
>
> The proposal was to use OC-Validity-Duration AVP =0 to indicate end of
> overload, since this could be generally applied to any algorithm.
>
> *From:*Wiehe, Ulrich (NSN - DE/Munich) [mailto:[email-masked]]
> *Sent:* miércoles, 12 de febrero de 2014 9:57
> *To:* Maria Cruz Bartolome; [email-masked] <mailto:[email-masked]> list
> *Subject:* RE: [Dime] [dime] #45: Why is a validity duration of 0
> disallowed?
>
>  
>
> I'm confused,
>
>  
>
> *From:*DiME [mailto:[email-masked]] *On Behalf Of *ext Maria
> Cruz Bartolome
> *Sent:* Wednesday, February 12, 2014 9:44 AM
> *To:* [email-masked] <mailto:[email-masked]> list
> *Subject:* Re: [Dime] [dime] #45: Why is a validity duration of 0
> disallowed?
>
>  
>
> Ben, all,
>
>  
>
> This should be modified to explain this value is not valid and what is
> the expected behavior (i.e. it is discarded).
>
>  
>
> Best regards
>
> /MCruz
>
>  
>
> *From:*DiME [mailto:[email-masked]] *On Behalf Of *Maria Cruz
> Bartolome
> *Sent:* martes, 11 de febrero de 2014 14:54
> *To:* [email-masked] <mailto:[email-masked]> list
> *Subject:* Re: [Dime] [dime] #45: Why is a validity duration of 0
> disallowed?
>
>  
>
> Ben,
>
>  
>
> But I would like to clarify what should be the behavior if a
> Reduction-Percentage=0 is received. This is an invalid value, then I
> presume it should be discarded by client.
>
>  
>
> Regards
>
> /MCruz
>
>  
>
> *From:*DiME [mailto:[email-masked]] *On Behalf Of *Ben Campbell
> *Sent:* martes, 11 de febrero de 2014 0:56
> *To:* Jouni Korhonen
> *Cc:* [email-masked] <mailto:[email-masked]> list;
> [email-masked]
> <mailto:[email-masked]>
> *Subject:* Re: [Dime] [dime] #45: Why is a validity duration of 0
> disallowed?
>
>  
>
> So, here's some proposed text. (intentionally ignoring the related
> discussion about handling invalid values):
>
>  
>
> Validity duration values 0 (i.e., 0 seconds) and above 86400 (i.e., 24
> hours) MUST NOT be used. Invalid validity duration values are treated
> as if the OC-Validity-Duration AVP were not present.
>
>  
>
> New:
>
>  
>
> Validity duration values above 86400 MUST NOT be used. Invalid
> validity duration values are treated as if the OC-Validity-Duration
> AVP were not present. A value of zero (0) indicates that an existing
> overload condition has ended and that the reporting node is in a
> stable condition.
>
>  
>
>  The value of the Reduction-Percentage AVP is between one (1) and one
> hundred (100).  Values greater than 100 are interpreted as 100.  The
> value of 100 means that no traffic is expected, i.e. the reporting
> node is under a severe load and ceases to process any new messages.
> The Reduction-Percentage AVP MUST be present in an overload report
> that uses the default abatement algorithm.
>
>  
>
>     Note that there is no zero (0) value defined for the
>     Reduction-Percentage AVP. A zero value would logically indicate
>     that no overload abatement is requested. Instead, reporting nodes
>     use a OC-Validity-Duration AVP value of zero (0) to indicate the
>     end of an overload condition. [Section 4.5]
>
>  
>
>  
>
>  
>
>  
>
>  
>
>
> On Feb 7, 2014, at 11:54 PM, dime issue tracker
> <[email-masked] <mailto:[email-masked]>>
> wrote:
>
> 1) It's algorithm independent. (reduction-percentage of 0 is specific
> to algorithms that use reduction percentage.)
>
> 2) Explicit signaling of the end of an overload condition becomes
> semantically identical to the expiration of an overload condition.
> This allows a simpler implementation.
>
>  
>
>  
>
>
> [email-masked] <mailto:[email-masked]>

---

From: "TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <[email-masked]>
Date: Fri, 14 Feb 2014 08:46:19 +0000

Hi MCruz, Steve

I here  answer Steve and MCruz mails

About Steve, I have not said the reporting "needs" to send a 0% reduction valid
( it is an implementation choice of the reporting node to choose the % values it puts in OLR), I simply says  to not forbid it.

In an overload condition, a behavior example is that the reporting , by its own logic (not standardised) , determines the % reduction  value it send in OLRs, and then will observe the effect of this OLR in the evolution of the received  traffic that  the reacting has throttled. Reporting will then decides to keep, increase or decrease the OLR %value .When we come to the end of overload, the reporting still receiving throttled traffic, will consider that it does  not more need to request a % reduction.

-          One way is to send an OLR with validity period to 0 to indicate the end of the overload condition, but it does this without having yet received unthrottled  traffic that in some case may nevertheless  request to immediately send again an OLR requesting reduction, meaning that reporting, having terminated  an overload condition, will  immediately restart another one. This a way to proceed as Steve described , I do not say it does not work

-          The way I describe is that  reporting  sends a 0% value to see the effect of this new value on the traffic it will receive (that will be unthrottled), before concluding  to the end of the overload , and if nevertheless the received unthrottled  traffic still require to send  OLRs,  reporting will not conclude to the end of overload condition  and again generate OLRs with a non zero % value.

On the reacting, if it receives a 0% value, it simply does nothing,

I remind  I agree with the proposal  that the end of the Overlaod condition is determined by the Value 0 of the Validity period , or the end of the  expiry timer, but is not linked to the 0%  traffic reduction

Developers, have various possibilities in the  way   to manage the  overload condition  and the OLRS they send, I think that DOIC should leave flexibility.

Best regards

JJacques

De : DiME [mailto:[email-masked]] De la part de Steve Donovan
Envoyé : jeudi 13 février 2014 13:16
À : [email-masked]
Objet : Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

JJ,

Why does the reacting node need to send a reduction percentage of zero to determine if it is stable?  Can't the reacting node just do its normal checking for overload after sending the validity period of zero?  If it finds the need for reduction of traffic, it can just send a new overload report.

Steve

Best regards

JJacques

Hello all,

Best regards
/MCruz

I am OK with Ulrich

JJacques

One minor clarification:

Ulrich

Regards,
Nirav.

Dear all

Best regards

JJacques

Dear Ulrich, all,

Best regards
/MCruz

I'm confused,

Ulrich

Ben, all,

   value == 0

Best regards
/MCruz

Ben,

Regards
/MCruz

Old:

New:

Old:

Ben,

- Jouni

DiME mailing list

---

From: Maria Cruz Bartolome <[email-masked]>
Date: Fri, 14 Feb 2014 10:20:15 +0000

Hello Jean-Jacques,

I understand your concerns.
However, I think same precautions in the process to return back to a situation where throttling is not requested, can be achieved without allowing "0%".
On one hand, DOIC-enabled reporting node should supervise constantly how received  traffic is affecting its overload, in order to be able to request a reduction when required. It should not only be done during the new ValidityDuration when 0% was requested.
A part from that, gradual increase of allowed traffic is always possible (without 0%), since even reporting node could use 10%... 5%, 3%, 1%.

However, I do not think this subject is critical. 0% could be acceptable by me if you (all) still think this is preferable.

Best regards
/MCruz

From: DiME [mailto:[email-masked]] On Behalf Of TROTTIN, JEAN-JACQUES (JEAN-JACQUES)
Sent: viernes, 14 de febrero de 2014 9:46
To: [email-masked] list
Subject: Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Hi MCruz, Steve

Best regards

JJacques

De : DiME [mailto:[email-masked]] De la part de Steve Donovan
Envoyé : jeudi 13 février 2014 13:16
À : [email-masked]<mailto:[email-masked]>
Objet : Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

JJ,

Steve

Best regards

JJacques

Hello all,

Best regards
/MCruz

I am OK with Ulrich

JJacques

One minor clarification:

Ulrich

Regards,
Nirav.

Dear all

Best regards

JJacques

Dear Ulrich, all,

Best regards
/MCruz

I'm confused,

Ulrich

Ben, all,

   value == 0

Best regards
/MCruz

Ben,

Regards
/MCruz

Old:

New:

Old:

Ben,

- Jouni

DiME mailing list

---

From: <[email-masked]>
Date: Fri, 14 Feb 2014 15:53:21 +0000

Hi,

I'm ok for the following cases:

-	0 reduction, non-zero validity period => Valid (taking into account Ulrich's comment). 

However, I have a comment on this one:

If we are OK with the first one (R=0, V>=0), I think that the case above should be considered as invalid because there is NO reason to send a reduction that will not be stored by the reacting node. The received OLR should be discarded and the running OLR state should not be updated. We can't even say here that the validity time prevails on the reduction as there is no way to appraise the consistency of the information.

In other words, I think that we should have the following cases:

-	non-zero reduction, non-zero validity period => Valid
-	0 reduction, non-zero validity period => Valid (not blocking)
-	0 reduction, 0 validity period => Valid
-	non-zero reduction, 0 validity period => Invalid

Does it make sense?

Lionel

De : DiME [mailto:[email-masked]] De la part de Maria Cruz Bartolome
Envoyé : vendredi 14 février 2014 11:20
À : [email-masked] list
Objet : Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Hello Jean-Jacques,

Best regards
/MCruz

Hi MCruz, Steve

Best regards

JJacques  

JJ,

Steve

 
 
Best regards 
 
JJacques

Hello all,

Best regards
/MCruz

I am OK with Ulrich
 
JJacques

 
One minor clarification:
 
Ulrich

 
 
Regards,
Nirav.

Dear all 

 
Best regards
 
JJacques 

 
 
Dear Ulrich, all,

Best regards
/MCruz

I'm confused,

Ulrich

Ben, all,

   value == 0

 
Best regards
/MCruz

Ben,

Regards
/MCruz

 
 
Old:

New:

 
Old:

 

Ben,

- Jouni

_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.

---

From: Ben Campbell <[email-masked]>
Date: Fri, 14 Feb 2014 15:34:41 -0600

That's fine with me. I don't think we have to specify what to do for every possible way a peer can mess up, but it doesn't hurt to do so here.

So on reflection, there's a couple of approaches here:

a) Go ahead and allow 0, but still use the Validity-Duration as the "official" way to turn off an overload condition. A "0" would create an overload state of "overloaded, zero reduction", which seems nonsensical but harmless, other than possibly causing strange things to show up in logs or alarms.

b) Ignore the OLR due to the invalid value.

I lean towards b, to be consistent with my comments about values > 100. This will create a side effect, however, that if a peer sends 0 in the expectation of turning off the reduction, it will have no effect and the previous Reduction-Percentage will stand.

---

From: Ben Campbell <[email-masked]>
Date: Fri, 14 Feb 2014 15:45:04 -0600

Oops, this is what I get for responding before I finish reading the whole thread. I think that particular horse has been sufficiently beaten.

---

From: Ben Campbell <[email-masked]>
Date: Fri, 14 Feb 2014 15:51:42 -0600

> -	non-zero reduction, 0 validity period => Invalid

I don't think so.

The idea is that setting Validity-Period to zero ends an overload condition, without regard to the algorithm. Reduction-Percentage is specific to the default algorithm. I don't think we need to create an algorithm-specific rule here, at least not normatively. So I would say that a Validity-Period of zero ends overload, without regard to the algorithm, or any algorithm specific values.

I recognize that interacts with my previous comment about ignoring OLRs that have invalid Reduction-Percentage values, in that you could have silly things like [reduction-percentage=14732, validity-period=0]. In that case, I think the validity period would take precedent over the invalid reduction-percentage.

---

From: Steve Donovan <[email-masked]>
Date: Mon, 17 Feb 2014 10:18:34 -0600

+1

---

From: "TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <[email-masked]>
Date: Mon, 17 Feb 2014 17:43:37 +0000

Hi

I am OK with the 3 first Lionel's statements.

Regarding the 4th one (non-zero reduction, 0 validity period => Invalid), I think that, as Ben proposed,  the zero validity  period prevails whatever the value of traffic reduction %.

Best regards

JJacques

De : DiME [mailto:[email-masked]] De la part de Steve Donovan
Envoyé : lundi 17 février 2014 17:19
À : [email-masked]
Objet : Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

+1

On Feb 14, 2014, at 9:53 AM, [email-masked]<mailto:[email-masked]> wrote:

Does it make sense?

I don't think so.

DiME mailing list

---

From: <[email-masked]>
Date: Mon, 17 Feb 2014 18:08:05 +0000

I would like to highlight that my proposal is not related to the default Reduction-percentage algo.

Whatever the ago used, I think that an OLR can only be sent for two purposes:
- Send an indication of overload situation
- Send an indication of end of the overload situation

For me, providing both indications in the same message would be a non-sense. And I don't understand why the validity period would prevail in that case.

Now, if what is argued by Ben and supported by JJ and Steve is clear for the rest of the group, I will not fight.

Regards,

lionel

De : DiME [mailto:[email-masked]] De la part de TROTTIN, JEAN-JACQUES (JEAN-JACQUES)
Envoyé : lundi 17 février 2014 18:44
À : [email-masked]
Objet : Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Hi

 
Best regards
 
JJacques 

 
+1

 
 
Does it make sense?

I don't think so.

---

From: Ben Campbell <[email-masked]>
Date: Mon, 17 Feb 2014 12:44:51 -0600

> For me, providing both indications in the same message would be a non-sense. And I don't understand why the validity period would prevail in that case.

So here's the question: Let's assume a reporting node sends you an OLR using the "loss" algorithm, a reduction-percentage of 50%, and a Validity-Duration of 10 minutes. 5 minutes later, it sends you a new OLR with an invalid reduction percentage and a Validity-Duration of 0.

What's the current overload state?

What if the second OLR used the "rate" algorithm, with a valid value, but still had a validity duration of 0. Does that change anything?

I am arguing that, in both cases, the second OLR ends the overload period.

I'm actually okay if we have a normative statement to the effect that the reporting node MUST NOT send an invalid reduction percentage, and that a reacting node MUST ignore an OLR with an invalid value _except_ for the case of a validity-duration set to zero.

This all comes down to how much guessing we are willing to do about the intent of the sender when one receives an invalid OLR. I think it's reasonable to guess that a zero validity duration means to end an overload condition, without regard to the rest of the message. I _don't_ think it's reasonable to try to guess what the sender meant with an invalid reduction percentage, when the validity period is non-zero.

Another, perhaps simpler, approach would be to assert that the reception of _any_ invalid OLR automatically ends any existing overload condition. (I'm not necessarily arguing for that--it's just something to think about.)

> Now, if what is argued by Ben and supported by JJ and Steve is clear for the rest of the group, I will not fight.

... but the fighting is the fun part :-)

---

From: Steve Donovan <[email-masked]>
Date: Mon, 24 Feb 2014 15:33:12 -0600

I think the proposal here is the following:

A reporting node communicates that an overload report is no longer valid
by sending an OLR with a Validity-Period AVP with a value of zero.  This
is the only way for a reporting node to indicate that an overload report
is no longer valid.  For instance, setting the reduction-percentage to
zero does not make the overload report invalid. 

Do we have agreement on this?

Steve

---

From: Ben Campbell <[email-masked]>
Date: Mon, 24 Feb 2014 16:43:03 -0600

On Feb 24, 2014, at 3:33 PM, Steve Donovan <[email-masked]> wrote:

> A reporting node communicates that an overload report is no longer valid by sending an OLR with a Validity-Period AVP with a value of zero.  This is the only way for a reporting node to indicate that an overload report is no longer valid.  For instance, setting the reduction-percentage to zero does not make the overload report invalid.  
> 

Agreed.

---

From: Maria Cruz Bartolome <[email-masked]>
Date: Tue, 25 Feb 2014 09:30:53 +0000

Fine

From: DiME [mailto:[email-masked]] On Behalf Of Steve Donovan
Sent: lunes, 24 de febrero de 2014 22:33
To: [email-masked]
Subject: Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Steve

On Feb 17, 2014, at 12:08 PM, [email-masked]<mailto:[email-masked]> wrote:

DiME mailing list

---

From: "Wiehe, Ulrich (NSN - DE/Munich)" <[email-masked]>
Date: Wed, 26 Feb 2014 10:00:12 +0000

My understanding was that e.g. if the reporting node has requested 30% reduction but now detects that it needs a 50% reduction, it just sends a new OLR with 50% and that will implicitly indicate that the previous OLR with 30% is no longer valid. This is a valid way to make the 30% OLR invalid; no need to first send an zero validity time OLR to make the 30% OLR invalid. Any (correctly coded) fresh OLR makes a previous OLR invalid.

The second sentence (at least in my understanding) is ambiguous: is it the OLR that contains a zero percentage that should not be regarded invalid or is it the previously received OLR?

I have no strong view whether or not to allow zero validity and/or zero percentage, but the proposed text is not understandable/acceptable.

Ulrich

From: DiME [mailto:[email-masked]] On Behalf Of ext Steve Donovan
Sent: Monday, February 24, 2014 10:33 PM
To: [email-masked]
Subject: Re: [Dime] [dime] #45: Why is a validity duration of 0 disallowed?

Steve

DiME mailing list