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

<lionel.morand@orange.com> Fri, 07 December 2012 16:19 UTC

Return-Path: <lionel.morand@orange.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 3A32621F8797 for <dime@ietfa.amsl.com>; Fri, 7 Dec 2012 08:19:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.424
X-Spam-Level:
X-Spam-Status: No, score=-2.424 tagged_above=-999 required=5 tests=[AWL=0.174, BAYES_00=-2.599, UNPARSEABLE_RELAY=0.001]
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 kw2eEVh9wIjm for <dime@ietfa.amsl.com>; Fri, 7 Dec 2012 08:19:52 -0800 (PST)
Received: from relais-inet.francetelecom.com (relais-ias92.francetelecom.com [193.251.215.92]) by ietfa.amsl.com (Postfix) with ESMTP id 3F9D921F8767 for <dime@ietf.org>; Fri, 7 Dec 2012 08:19:52 -0800 (PST)
Received: from omfedm08.si.francetelecom.fr (unknown [xx.xx.xx.4]) by omfedm14.si.francetelecom.fr (ESMTP service) with ESMTP id 613E222CD7F; Fri, 7 Dec 2012 17:19:51 +0100 (CET)
Received: from Exchangemail-eme1.itn.ftgroup (unknown [10.114.1.183]) by omfedm08.si.francetelecom.fr (ESMTP service) with ESMTP id 3D6C2238048; Fri, 7 Dec 2012 17:19:51 +0100 (CET)
Received: from PEXCVZYM13.corporate.adroot.infra.ftgroup ([fe80::cc7e:e40b:42ef:164e]) by PEXCVZYH02.corporate.adroot.infra.ftgroup ([::1]) with mapi id 14.02.0318.004; Fri, 7 Dec 2012 17:19:50 +0100
From: lionel.morand@orange.com
To: Ben Campbell <ben@nostrum.com>
Thread-Topic: [Dime] Dime: Diameter Overload IETF requirements, review
Thread-Index: AQHN1IwhnSJZEqN9SqqEx3YmfVE7E5gNcYjA///47QCAABUp0A==
Date: Fri, 07 Dec 2012 16:19:50 +0000
Message-ID: <5614_1354897191_50C21727_5614_8583_1_6B7134B31289DC4FAF731D844122B36E0C0756@PEXCVZYM13.corporate.adroot.infra.ftgroup>
References: <C472E6A4C17FA14E90533C0369A4798B20EB463C6F@FRMRSSXCHMBSA1.dc-m.alcatel-lucent.com> <23E0ABAF-E856-44A9-8F6D-C88B8CAB2A57@computer.org> <170E8FCC2134BD42B539B47798ABF8F026C0C43982@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>
In-Reply-To: <18AC9DCE-8C27-43AB-AE3E-CBB913A471A7@nostrum.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.197.38.2]
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-PMX-Version: 5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2012.12.7.151516
Cc: "dime@ietf.org" <dime@ietf.org>
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: Fri, 07 Dec 2012 16:19:53 -0000

-----Message d'origine-----
De : Ben Campbell [mailto:ben@nostrum.com] 
Envoyé : vendredi 7 décembre 2012 16:47
À : MORAND Lionel OLNC/OLN
Cc : Eric McMurry; THIEBAUT, LAURENT (LAURENT); dime@ietf.org
Objet : Re: [Dime] Dime: Diameter Overload IETF requirements, review


On Dec 7, 2012, at 9:24 AM, 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.
> 
> I'm not sure what you mean by the application changing in the piggyback case. Assuming the application specification uses the * [ AVP ] construct, an _implementation_ can add the OC AVPs without a change in the specification of specification. Yes, the implementation changes, but the spec doesn't have to. Given, there might be benefit to updating the spec, particularly if you want to describe application-specific behaviors rather than accepting the base behavior. But that's not a _requirement_, right?
> 
> What are we missing?
> 
> [LM] it is not the application specification that "uses the *[AVP]" but the CCF specification of a given command. And an application is not only defined by the command code format specifications. Set of AVP, error codes and so on are also part of the application. So adding new AVP to existing application IS a change of the application and related application specification, even if this addition is compliant with the CCF specification of the given command. You will have to describe at least that these new AVPs have to be carried in a specific set of commands when considering existing applications. I think that it the use of "specification" that causes problems here. And it is why I've proposed the change in REQ2.

I see your point, but the goal of that language was that you don't necessarily have to do that. For example, lets assume you have a spec for application "Foo" that defines a set commands, AVPs (including *[AVP] ), and their semantics. You also have a spec for piggybacked overload control, that defines additional AVPs that can be added to any message, their semantics, and at least one basic overload control algorithm. (I'm using piggybacked for the sake of argument here, since I think we agree that the issues are different if we have a separate OC application)

If all an implementer wants to use is the the basic OC algorithm, they merely implement both specs, adding the OC AVPs (as completely specified in the OC mechanism spec) to the Foo commands. You don't have to have a revised Foo spec to use the OC spec. It's analogous to a "mix in" pattern, if you will.

That being said, there may be real benefits to updating the Foo spec. For example, Foo might need an algorithm other than the base one. Or maybe it needs to define how to prioritize requests in overload conditions. Maybe Foo is a 3GPP spec, and they want to _require_ OC.

The idea is, you don't have to go back and do a mass update of every application to make OC useful. You can do it over time, as needed.

[LM] I agree in the principle! But again, I'm not speaking about documentation issue. About a dedicated new application for OC, there is no impact on application. However, to support OC specific AVPs over existing FOO commands, any application using these FOO commands will be enhanced, right? Of course, the requirement is that this enhancement should not cause backward compatible issues with existing implementation. After, how and when introduce this upgrade in the existing nodes is only an operational issue. If you can ensure that the changes required to support OC do not cause the creation of a new application (cf. section 1.3 of RFC 6733), you are in the safe side. And I'm not saying anything else by "Support of this mechanism over existing Diameter applications MUST NOT require major changes that would lead to the need to define a new Diameter application." If this requirement is fulfilled, you don't have to upgrade at the same time all the Diameter peers (client, server, proxy) supporting the existing application.

About documenting how to support OC over existing applications, you can do it in different ways: companion document, update of the existing specification, etc. But it is not something that matters here.

Cheers.

Lionel



_________________________________________________________________________________________________________________________

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,
France Telecom - 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, France Telecom - Orange is not liable for messages that have been modified, changed or falsified.
Thank you.