Re: [Dime] Dime: Diameter Overload IETF requirements, review

"TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <jean-jacques.trottin@alcatel-lucent.com> Mon, 10 December 2012 20:00 UTC

Return-Path: <jean-jacques.trottin@alcatel-lucent.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 39A0F21F865D for <dime@ietfa.amsl.com>; Mon, 10 Dec 2012 12:00:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.248
X-Spam-Level:
X-Spam-Status: No, score=-10.248 tagged_above=-999 required=5 tests=[AWL=-0.000, BAYES_00=-2.599, HELO_EQ_FR=0.35, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PJ9VosTxhGJK for <dime@ietfa.amsl.com>; Mon, 10 Dec 2012 12:00:24 -0800 (PST)
Received: from smail3.alcatel.fr (smail3.alcatel.fr [64.208.49.56]) by ietfa.amsl.com (Postfix) with ESMTP id 7EE3621F867D for <dime@ietf.org>; Mon, 10 Dec 2012 12:00:20 -0800 (PST)
Received: from FRMRSSXCHHUB04.dc-m.alcatel-lucent.com (FRMRSSXCHHUB04.dc-m.alcatel-lucent.com [135.120.45.64]) by smail3.alcatel.fr (8.14.3/8.14.3/ICT) with ESMTP id qBAJxnX0025175 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NOT) for <dime@ietf.org>; Mon, 10 Dec 2012 21:00:15 +0100
Received: from FRMRSSXCHMBSA1.dc-m.alcatel-lucent.com ([135.120.45.34]) by FRMRSSXCHHUB04.dc-m.alcatel-lucent.com ([135.120.45.64]) with mapi; Mon, 10 Dec 2012 21:00:14 +0100
From: "TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <jean-jacques.trottin@alcatel-lucent.com>
To: "dime@ietf.org" <dime@ietf.org>
Date: Mon, 10 Dec 2012 21:00:11 +0100
Thread-Topic: [Dime] Dime: Diameter Overload IETF requirements, review
Thread-Index: Ac3WiiC1gu8pDCj/Q+Kaw26KHsPx/QAhncsQ
Message-ID: <C472E6A4C17FA14E90533C0369A4798B20EB4C16DB@FRMRSSXCHMBSA1.dc-m.alcatel-lucent.com>
References: <C472E6A4C17FA14E90533C0369A4798B20EB463C6F@FRMRSSXCHMBSA1.dc-m.alcatel-lucent.com> <7AE8BAB4-ACB6-40EA-BA50-E6DA909D01E7@nostrum.com> <28892_1354816236_50C0DAEC_28892_2267_1_6B7134B31289DC4FAF731D844122B36E0BF7AD@PEXCVZYM13.corporate.adroot.infra.ftgroup> <26F4B824-A91B-4D98-9E1F-41A5440C6C45@computer.org> <28892_1354818749_50C0E4BD_28892_4479_1_6B7134B31289DC4FAF731D844122B36E0BF868@PEXCVZYM13.corporate.adroot.infra.ftgroup> <81E2AD4F-9FED-498D-ACA2-538C6ED53B7E@computer.org> <13633_1354873372_50C1BA1C_13633_2361_1_6B7134B31289DC4FAF731D844122B36E0C0056@PEXCVZYM13.corporate.adroot.infra.ftgroup> <724F2D49-4B1F-416D-BF94-F46C3DDC02EF@nostrum.com> <16364_1354893872_50C20A30_16364_5192_1_6B7134B31289DC4FAF731D844122B36E0C0699@PEXCVZYM13.corporate.adroot.infra.ftgroup> <18AC9DCE-8C27-43AB-AE3E-CBB913A471A7@nostrum.com> <5614_1354897191_50C21727_5614_8583_1_6B7134B31289DC4FAF731D844122B36E0C0756@PEXCVZYM13.corporate.adroot.infra.ftgroup> <50C2B121.6010508@gmail.com> <170E8FC C2134BD42B539B47798ABF8F026C0C43F5B@FRMRSSXCHMBSA1.dc-m.alcatel-lucent.com> <14A53213-81F4-49B3-B7A2-62604921FD1F@computer.org>
In-Reply-To: <14A53213-81F4-49B3-B7A2-62604921FD1F@computer.org>
Accept-Language: fr-FR, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: fr-FR, en-US
Content-Type: multipart/alternative; boundary="_000_C472E6A4C17FA14E90533C0369A4798B20EB4C16DBFRMRSSXCHMBSA_"
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.69 on 155.132.188.83
Subject: Re: [Dime] Dime: Diameter Overload IETF requirements, review
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 10 Dec 2012 20:00:32 -0000

Hi all

About this long discussion on REQ2, I hereafter give some additional comments


1)      Regarding Lionel's remark,  the fact to add related overload AVPs to existing commands of a given Diameter application means these AVPs are now part of the Diameter application which should deal with them, so impacting the application.


On another side, in REQ13, piggybacking is mentioned as an example of a solution for this REQ13 .  With  piggybacking, the message is only used as transporter of the related overload AVPs.   As messages from different Diameter applications may be transferred over the same connection,  from my understanding, we may have a solution where  the overload AVPs are transported in any message of any application and relate or are specific to the same Diameter application as the message one or to another application or be application independent. Here  can we say these transported AVPs are sometimes  part of the Diameter Application and sometimes no?



Although this is a solution level discussion, it directly relates to the REQ2 sentence: "It MUST NOT require specification changes for existing Diameter applications".

I am rather in favor of Lionel's remark and on the text he proposes. When an AVP is conveyed in a command of an application, it is part of this Diameter application. The same AVPs may be used by different Diameter applications. Then it is a matter of implementation: these overload  AVPS or some of them may be processed by a separate application-independent function in a node, so to minimize  impact on existing applications, but it is implementation.



2)      In Req1 it is stated that the overload mechanism objective is "to provide a communication method ...to exchange the overload information", so no more , no less from my understanding.  Then there are requirements on the Diameter node behaviors. I have  no issue with the many  REQs for managing and optimizing well this information exchange (eg REQ 9, 13, 14, 19...) by nodes . It is another topic on how the exchanged information is then used by nodes. I am also OK with the REQs starting with "the mechanism MUST allow nodes to ... (REQ7) , "...MUST provide a way to (REQ 22)' as we are still speaking of the exchanged information  which  allows nodes to... . I think we should also use this type of wording for a few requirements  eg for REQ 7  "the mechanism  must ensure  that the system remains stable" as it is not the exchanged information  which stabilize the system, but the nodes behavior on the basis of information exchanges.



3)      This document does not address any overload algorithm which will be key on how the exchanged information is then used by nodes.   From a 3GPP angle, the approach ALU foresees is to use the Dime method to exchange the overload information, eventually by extending the information exchanged (REQ 33, 34),   and to specify nodes behaviors about overload handling according to the Diameter application (corresponding to a 3GPP interface) and the overload algorithm.

Eric's mail mentions a basic operation of an overload control mechanism, which should correspond to an overload algorithm. Has Dime the intent to specify some general overload algorithms?



4)      I remind the question of priority  given to some users that 3GPP will have to handle. Generally, it is the client that should  manages such priorities and signals it to the server but the intermediate Diameter agents are not neutral there and should have the relevant information to behave correctly (eg to not drop a message for a priority user). On Req 26 ,we proposed  an additional wording "" For example, it may be more beneficial to process messages for existing sessions ahead of new sessions and to give priority to requests associated with emergency sessions or with high priority users". Do you think it is sufficient, or should we have a normative statement (not only an example)?


Best regards

JJacques


From: dime-bounces@ietf.org [mailto:dime-bounces@ietf.org] On Behalf Of Eric McMurry
Sent: lundi 10 décembre 2012 04:55
To: THIEBAUT, LAURENT (LAURENT)
Cc: dime@ietf.org
Subject: Re: [Dime] Dime: Diameter Overload IETF requirements, review

Thanks for clarifying your thoughts Laurent.

I think we're all on the same page that some changes are likely to happen to support overload control in the application specifications and that this is the right level to consider priorities and other application specific behaviors.  Where we seem to be getting wrapped up though is whether those changes will be required to use an overload control mechanism.  I agree changes at the application specifications are a good idea, but I do not think they are required for basic operation of an overload control mechanism.  I don't see why a mechanism (including the two proposals) could not be used without any changes to application specifications.

In your example with an end point implemented as a stack and and application layer, handling of an overload control protocol could be done in either place.  Decisions about what to do would make sense at the application level, but the implementation could do that in an interoperable fashion  without needing a new specification, for protocol or behavior, with, for example, a drop or throttle algorithm that made no consideration of priority.

I think it is important for the design of an overload control mechanism to support operation without application specification changes.  It will allow some overload control to be implemented even before application specifications are updated.  It will also ensure that the mechanism can be used for application specifications that will not be, or do not need to be, updated.  Having a basic overload control mechanism in place will be an improvement over current conditions.  We can then further improve this, by updating application specifications, to cover cases like those you mention for S6a.

Thanks,


Eric


On Dec 9, 2012, at 15:02 , "THIEBAUT, LAURENT (LAURENT)" <laurent.thiebaut@ALCATEL-LUCENT.COM<mailto:laurent.thiebaut@ALCATEL-LUCENT.COM>> wrote:




Hello all
I'd like to highlight the comment from Tom that touches the topic we wanted to address via our (unfortunate as it raised (too) much discussion) comment on REQ 2

Let's Consider a Diameter end point SW is split up into 2 parts:
*         a base Diameter stack
*         an application SW
Even though the application *protocol* is NOT touched by Diameter overload (thanks to * [AVP]), it seems questionable that only the base Diameter stack would handle the changes due to the Diameter overload control we are defining (and that thus the application SW would be untouched). Said otherwise something will have to change in the Behaviour of the source application.

One of the reasons is that only the application knows the relative priority of the various procedures and of the various users: e.g. taking the 3GPP S6a as an example (= MME as a kind of authenticator accessing the subscriber database i.e. the HSS), only the MME SW (as opposed to the Diameter stack or diameter agent en route between the S6a client and server) knows that
o        an Update location is of higher priority than a Purge
o        User Lionel is a high priority user while user Laurent is low tier user
o        a request is associated with an emergency
o        etc...

So the application behaviour/SW is likely to be changed

May be a solution is to change second part of the REQ2 into "It MUST NOT require protocol specification changes for existing Diameter applications" (hinting that a behaviour change is possible)
Best regards
Laurent
ALCATEL-LUCENT

Disclaimer: this mail is not meant to promote any of the 2 solutions on the table. It is JUST about requirements.

-----Message d'origine-----
De : dime-bounces@ietf.org<mailto:dime-bounces@ietf.org> [mailto:dime-bounces@ietf.org<mailto:bounces@ietf.org>] De la part de Tom Taylor
Envoyé : samedi 8 décembre 2012 04:17
À : lionel.morand@orange.com<mailto:lionel.morand@orange.com>
Cc : dime@ietf.org<mailto:dime@ietf.org>
Objet : Re: [Dime] Dime: Diameter Overload IETF requirements, review

Ben, I think the problem is that a Diameter implementation can be
thought of as a base part and an application-specific part. A message
comes in, gets processed by the Diameter base part, then the application
is passed the type of message and the parts not consumed by base. So
some extra information is tacked on in that optional AVP part. Either
the base recognizes it and deals with it, or the application does. If
the application is to handle it, the application has to expect it --
that is, the specification of the application includes the additional data.

On 07/12/2012 11:19 AM, lionel.morand@orange.com<mailto:lionel.morand@orange.com> wrote:
>
>
> -----Message d'origine----- De : Ben Campbell
> [mailto:ben@nostrum.com<http://nostrum.com>] Envoyé : vendredi 7 décembre 2012 16:47 À :
> MORAND Lionel OLNC/OLN Cc : Eric McMurry; THIEBAUT, LAURENT
> (LAURENT); dime@ietf.org<mailto:dime@ietf.org> Objet : Re: [Dime] Dime: Diameter Overload
> IETF requirements, review
>
>
> On Dec 7, 2012, at 9:24 AM, lionel.morand@orange.com<mailto:lionel.morand@orange.com> wrote:
>
>>> [em] One solution uses existing messages as a carrier,
>>> piggybacking on them.  This can be done by an implementation
>>> without any change in the specification of the messages that are
>>> being used.
>>>
>>> [LM] It is exactly the issue for me! :) I think that you want to
>>> say that existing commands can be extended with changing the CCF
>>> specification and it is true. The application (and its related
>>> specification/documentation) using this command will change! And
>>> it is what I highlight in my comment and in the proposed change.
>>
...
_______________________________________________
DiME mailing list
DiME@ietf.org<mailto:DiME@ietf.org>
https://www.ietf.org/mailman/listinfo/dime
_______________________________________________
DiME mailing list
DiME@ietf.org<mailto:DiME@ietf.org>
https://www.ietf.org/mailman/listinfo/dime