Subject: Re: [Dime] Mirja Kühlewind's Discuss on draft-ietf-dime-drmp-05: (with DISCUSS and COMMENT)

From: Steve Donovan <[email-masked]>
Date: Wed, 1 Jun 2016 05:16:38 -0500

I'm okay with this suggestion.

Regards,

Steve

On 5/29/16 7:28 AM, Alexey Melnikov wrote:
> Hi,
> Finally getting back to this.
>
> I think authors did a good job in the latest version by adding sections
> 1.1 (Applicability) and 10 (Considerations When Defining Application
> Priorities).
>
> I would like to suggest the following clarification:
>
> In Section 8:
>
> Unchanged:
>     Diameter nodes MUST have a default priority to apply to transactions
>     that do not have an explicit priority set in the DRMP AVP.
>
> OLD:
>     Diameter nodes SHOULD use the PRIORITY_10 priority as this default
>     value.
>
> NEW:
>     In order to guaranty consistent handling of messages from nonupgraded
>     Diameter clients,
>     Diameter nodes SHOULD use the PRIORITY_10 priority as this default
>     priority value. PRIORITY_10 is a mid range priority that corresponds
>     to "normal" traffic and thus would be a suitable default for most
>     deployments,
>     while still allowing different Diameter applications to designate
>     other
>     priorities for lower and higher priority traffic.
>
> Best Regards,
> Alexey
>
> On Wed, May 11, 2016, at 06:39 PM, Mirja Kuehlewind (IETF) wrote:
>> Hi Alexey,
>>
>> yes, please provide some text and maybe a warning.
>>
>> I’ve cleared my discuss as no actual changes to the spec are needed based
>> on the common understand we have now, however, I would still like to see
>> further text in the doc about points that came up in this discussion.
>>
>> Thanks!
>> Mirja
>>
>>
>>> Am 11.05.2016 um 13:13 schrieb Alexe Melnikov <[email-masked]>:
>>>
>>> Hi Mirja,
>>>
>>>> On 11 May 2016, at 07:07, Mirja Kuehlewind (IETF) <[email-masked]> wrote:
>>>>
>>>> Okay let me go for an example here and see if that can be a use case that we are talking about.
>>> Yes, this is helpful.
>>>> You have a system where some clients run a communication service for emergency doctors as well as for firefighters and then there are also ‚normal‘ users that run some kind of communication service.
>>>>
>>>> Now you actually have an emergency: some part of the system is down and the number of request is high such that the system is overloaded.
>>>>
>>>> Both the emergency doctors have would have two different priority classes, one for important message about instruction (what and where people should do something) and one for communication between the doctors/firefighters which has still higher priority than any other communication of the other people (as you assume doctors and firefighters are more responsible to not misuse this communication channel).
>>>>
>>>> Now only the emergency doctors communication service was upgraded to use this extension, but the firefighter’s administrations is just too slow or they currently have not enough money because they have specialized expensive hardware and software that is not easy to change.
>>> "Doctor, it hurts when I do that..." - "Don't do that!"
>>>
>>> I don't think this would be a common deployment case.
>>>
>>> I agree that there is an issue in the scenario you specified. Default priority helps with a single application + normal (unupgraded) traffic. I do think it helps with the most common case. So instead of having lots of SHOULDs and MAYs, I suggest we add text describing possible issues and when multiple DIAMETER applications are deployed we either recommend that all clients are upgraded to support this extension at the same time or at least deployments specify compatible policies for different applications.
>>>
>>> I can suggest some text.
>>>
>>>> Is it okay in this situation that the private chat of two doctors about their last ski-holidays starves requests to access the network to send instructor message to the firefighters?
>>> We can't prevent all problems like this, as the above is really a social problem combined with misconfiguration. But we can warn about it.
>>>> (And how do i make sure that that all other other requests actually select a lower priority than 10…? But that’s a different question…)
>>>>
>>>> Mirja
>>>>
>>>>
>>>>> Am 11.05.2016 um 06:59 schrieb Alexey Melnikov <[email-masked]>:
>>>>>
>>>>> Hi Mirja,
>>>>>
>>>>> On 10 May 2016, at 17:59, Mirja Kuehlewind (IETF) <[email-masked]> wrote:
>>>>>
>>>>>>>> I don’t think it is a good idea to assign a default priority to non-priority-defined requests at all. If you have high priority traffic that does not support this extension (yet) this traffic could be starved by lower priority traffic when assigning a middle range priority. I don’t think that is what you want to achieve.
>>>>>>> SRD> Actually, this is what we want to achieve.  It is an requirement that messages explicitly marked as high priority get treated even if it results in starving lower priority messages.  The starving of lower priority messages is not an problem, it is a requirement.
>>>>>> I think we are still talking past each other.
>>>>> Most definitely :-).
>>>>>
>>>>>> If you explicitly assign a priority, starvation might be okay. However, if you don’t have a priority explicitly signaled, the transaction might have a very high priority
>>>>> So some agent in the system needs to decide that a transaction is important.
>>>>>> but you just don’t know and by assigning a random mid-range priority this important request could get starved.
>>>>> Here I disagree with you, because the way to know that a transaction is important is to upgrade client to explicitly assign high priority to it. So default priority is a backward compatibility mechanism, that would work for most common cases. You seem to be suggesting that when this extension is deployed all clients need to be updated at the same time. This is not realistic.

---

From: Steve Donovan <[email-masked]>
Date: Wed, 1 Jun 2016 05:17:24 -0500

Regards,

Steve

On 5/30/16 6:34 AM, Mirja Kuehlewind (IETF) wrote:
> Hi all,
>
> thanks for adding the Applicability and later Considerations sections! That makes things much more clear to me.
>
> May I propose one tiny edit for the Applicability section, just do make it super clear. If you don’t think this is useful, please withdraw.
>
> OLD:
> In order for the DRMP mechanism to work, the	
> priorities defined for all messages across all applications used in a	
> Diameter administrative domain must be defined in a consistent and	
> coordinated fashion.
>
> NEW:
> In order for the DRMP mechanism to work, the	
> priorities defined for all messages across all applications used in a	
> Diameter administrative domain must be defined in a consistent and	
> coordinated fashion, taking the default priority into account.
>
> Thanks,
> Mirja
>
>
>> Am 29.05.2016 um 14:28 schrieb Alexey Melnikov <[email-masked]>:
>>
>> Hi,

---

From: Stephen Farrell <[email-masked]>
Date: Wed, 1 Jun 2016 11:19:10 +0100

Great. And Alissa's discuss is cleared so if you want to
go ahead and shoot out a revision with these changes then
I can send the approval and get this shipped off to the
RFC editor. (If doing a revision is a problem, send me
the changes in OLD/NEW form and I can enter them as an
RFC editor note and they'll be done later on.)

Cheers,
S.

On 01/06/16 11:16, Steve Donovan wrote:
>>>>> You have a system where some clients run a communication service
>>>>> for emergency doctors as well as for firefighters and then there
>>>>> are also ‚normal‘ users that run some kind of communication service.
>>>>>
>>>>> Now you actually have an emergency: some part of the system is down
>>>>> and the number of request is high such that the system is overloaded.
>>>>>
>>>>> Both the emergency doctors have would have two different priority
>>>>> classes, one for important message about instruction (what and
>>>>> where people should do something) and one for communication between
>>>>> the doctors/firefighters which has still higher priority than any
>>>>> other communication of the other people (as you assume doctors and
>>>>> firefighters are more responsible to not misuse this communication
>>>>> channel).
>>>>>
>>>>> Now only the emergency doctors communication service was upgraded
>>>>> to use this extension, but the firefighter’s administrations is
>>>>> just too slow or they currently have not enough money because they
>>>>> have specialized expensive hardware and software that is not easy
>>>>> to change.
>>>> I agree that there is an issue in the scenario you specified.
>>>> Default priority helps with a single application + normal
>>>> (unupgraded) traffic. I do think it helps with the most common case.
>>>> So instead of having lots of SHOULDs and MAYs, I suggest we add text
>>>> describing possible issues and when multiple DIAMETER applications
>>>> are deployed we either recommend that all clients are upgraded to
>>>> support this extension at the same time or at least deployments
>>>> specify compatible policies for different applications.
>>>>
>>>> I can suggest some text.
>>>>
>>>>> Is it okay in this situation that the private chat of two doctors
>>>>> about their last ski-holidays starves requests to access the
>>>>> network to send instructor message to the firefighters?
>>>> We can't prevent all problems like this, as the above is really a
>>>> social problem combined with misconfiguration. But we can warn about
>>>> it.
>>>>> (And how do i make sure that that all other other requests actually
>>>>> select a lower priority than 10…? But that’s a different question…)
>>>>>
>>>>> Mirja
>>>>>
>>>>>
>>>>>>>>> I don’t think it is a good idea to assign a default priority to
>>>>>>>>> non-priority-defined requests at all. If you have high priority
>>>>>>>>> traffic that does not support this extension (yet) this traffic
>>>>>>>>> could be starved by lower priority traffic when assigning a
>>>>>>>>> middle range priority. I don’t think that is what you want to
>>>>>>>>> achieve.
>>>>>>>> SRD> Actually, this is what we want to achieve.  It is an
>>>>>>>> requirement that messages explicitly marked as high priority get
>>>>>>>> treated even if it results in starving lower priority messages. 
>>>>>>>> The starving of lower priority messages is not an problem, it is
>>>>>>>> a requirement.
>>>>>>> If you explicitly assign a priority, starvation might be okay.
>>>>>>> However, if you don’t have a priority explicitly signaled, the
>>>>>>> transaction might have a very high priority
>>>>>>> but you just don’t know and by assigning a random mid-range
>>>>>>> priority this important request could get starved.
>>>>>> Here I disagree with you, because the way to know that a
>>>>>> transaction is important is to upgrade client to explicitly assign
>>>>>> high priority to it. So default priority is a backward
>>>>>> compatibility mechanism, that would work for most common cases.
>>>>>> You seem to be suggesting that when this extension is deployed all
>>>>>> clients need to be updated at the same time. This is not realistic.
>

---

From: Steve Donovan <[email-masked]>
Date: Wed, 1 Jun 2016 05:41:08 -0500

I'll generate a revision later today.

Steve