Re: [Dime] DOIC: Self-Contained OLRs

<lionel.morand@orange.com> Thu, 05 December 2013 00:08 UTC

Return-Path: <lionel.morand@orange.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8E05A1AE0F3 for <dime@ietfa.amsl.com>; Wed, 4 Dec 2013 16:08:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WQswXn7gIBPq for <dime@ietfa.amsl.com>; Wed, 4 Dec 2013 16:08:09 -0800 (PST)
Received: from relais-inet.francetelecom.com (relais-ias92.francetelecom.com [193.251.215.92]) by ietfa.amsl.com (Postfix) with ESMTP id 62E891ADFBD for <dime@ietf.org>; Wed, 4 Dec 2013 16:08:08 -0800 (PST)
Received: from omfedm08.si.francetelecom.fr (unknown [xx.xx.xx.4]) by omfedm10.si.francetelecom.fr (ESMTP service) with ESMTP id 8E829264427; Thu, 5 Dec 2013 01:08:04 +0100 (CET)
Received: from Exchangemail-eme1.itn.ftgroup (unknown [10.114.1.183]) by omfedm08.si.francetelecom.fr (ESMTP service) with ESMTP id 7246C238055; Thu, 5 Dec 2013 01:08:04 +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.03.0158.001; Thu, 5 Dec 2013 01:08:04 +0100
From: lionel.morand@orange.com
To: Ben Campbell <ben@nostrum.com>, "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
Thread-Topic: [Dime] DOIC: Self-Contained OLRs
Thread-Index: AQHO8Tn7o7y6FFeeaEmQ38aKczpYQJpEuIWA
Date: Thu, 05 Dec 2013 00:08:03 +0000
Message-ID: <14594_1386202084_529FC3E4_14594_12015_1_6B7134B31289DC4FAF731D844122B36E3296E9@PEXCVZYM13.corporate.adroot.infra.ftgroup>
References: <832D36A4-E2D5-4640-A8D5-F9B3EEDBC56A@nostrum.com> <B1154CAE-28B5-4B4C-B0DA-5D56DBE1B655@gmail.com> <5BCBA1FC2B7F0B4C9D935572D90006681519BC90@DEMUMBX014.nsn-intra.net> <6390_1385631044_52970D44_6390_18593_1_6B7134B31289DC4FAF731D844122B36E30748E@PEXCVZYM13.corporate.adroot.infra.ftgroup> <5BCBA1FC2B7F0B4C9D935572D90006681519BD19@DEMUMBX014.nsn-intra.net> <17872_1385720008_529868C8_17872_2613_1_6B7134B31289DC4FAF731D844122B36E3096B8@PEXCVZYM13.corporate.adroot.infra.ftgroup> <5BCBA1FC2B7F0B4C9D935572D90006681519BF1B@DEMUMBX014.nsn-intra.net> <A9CA33BB78081F478946E4F34BF9AAA014D1FC91@xmb-rcd-x10.cisco.com> <5BCBA1FC2B7F0B4C9D935572D90006681519BFAE@DEMUMBX014.nsn-intra.net> <529CA616.2040205@usdonovans.com> <C3342FFA-2F53-4D49-907A-AE6799641261@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D90006681519D59C@DEMUMBX014.nsn-intra.net> <8582D429-25EB-426E-A0F6-982836FC3D4F@nostrum.com>
In-Reply-To: <8582D429-25EB-426E-A0F6-982836FC3D4F@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.1]
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-PMX-Version: 6.0.3.2322014, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2013.12.4.163016
Cc: "dime@ietf.org list" <dime@ietf.org>
Subject: Re: [Dime] DOIC: Self-Contained OLRs
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
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: Thu, 05 Dec 2013 00:08:15 -0000

Ben, Ulrich,

Considering the base' solution with Report type "Host" or "Realm", I don't understand the following statement "The reporting endpoint should not send in OLRs not supported by the reacting node".
The Reduction algo will say "I'm/be prepared to receive OLR from Host or Realm", so why will the reacting node not support one of them?

Regards,

Lionel

-----Message d'origine-----
De : DiME [mailto:dime-bounces@ietf.org] De la part de Ben Campbell
Envoyé : mercredi 4 décembre 2013 22:44
À : Wiehe, Ulrich (NSN - DE/Munich)
Cc : dime@ietf.org list
Objet : Re: [Dime] DOIC: Self-Contained OLRs


On Dec 4, 2013, at 2:40 AM, Wiehe, Ulrich (NSN - DE/Munich) <ulrich.wiehe@nsn.com> wrote:

> Ben,
> 
> we have this feature negotiation/adverisement mechanism that allows the reporting endpoint to understand what is supported by the reacting endpoint. The reporting endpoint should not send in OLRs not supported by the reacting node.
> 

Assuming we add ReportType to the list of things for which we advertise support, I agree.

> Ulrich
> 
> 
> -----Original Message-----
> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben Campbell
> Sent: Wednesday, December 04, 2013 12:00 AM
> To: Steve Donovan
> Cc: dime@ietf.org list
> Subject: Re: [Dime] DOIC: Self-Contained OLRs
> 
> 
> On Dec 2, 2013, at 9:24 AM, Steve Donovan <srdonovan@usdonovans.com> wrote:
> 
>> Ulrich,
>> 
>> Designing an overload solution that allows a reacting node to ignore an overload report seems strange to me.  The system is under stress.  Overload reports should be reacted to as quickly as possible, independent of how the overload report is received by the reacting node.
>> 
> 
> While I don't agree with the "out-of-context" concern, I can see saying that a reacting node ignore an OLR if it does not understand the ReportType. Otherwise, it doesn't understand the meaning of the report, and is likely to do the wrong thing.  An alternative might be to say the reacting node should treat anything it doesn't understand as "Realm".
> 
>> Steve
>> 
>> On 12/1/13 1:38 PM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
>>> Hi Nirav,
>>> 
>>> When the client sends a request that contains only destination realm but no destination host an gets back an answer containing a host-type OLR, this OLR is out-of-context.
>>> Similary, when the client sends a request containing destination host and gets back an answer containing a realm-type OLR, this OLR is out-of-context.
>>> There is nothing wrong with storing such out-of-context OLRs at the client, but it is simply not needed as the client will learn this OLR from responses received within the context.
>>> 
>>> Best regards
>>> Ulrich 
>>> 
>>> 
>>> -----Original Message-----
>>> From: ext Nirav Salot (nsalot) [
>>> mailto:nsalot@cisco.com
>>> ] 
>>> Sent: Friday, November 29, 2013 4:49 PM
>>> To: Wiehe, Ulrich (NSN - DE/Munich); ext 
>>> lionel.morand@orange.com
>>> ; ext Jouni Korhonen; Ben Campbell
>>> Cc: 
>>> dime@ietf.org
>>> list
>>> Subject: RE: [Dime] DOIC: Self-Contained OLRs
>>> 
>>> Hi Ulrich,
>>> 
>>> If an additional OLR is present with a different ReportType, why it should be ignored by the reacting node?
>>> 
>>> Regards,
>>> Nirav.
>>> 
>>> -----Original Message-----
>>> From: DiME [
>>> mailto:dime-bounces@ietf.org
>>> ] On Behalf Of Wiehe, Ulrich (NSN - DE/Munich)
>>> Sent: Friday, November 29, 2013 5:36 PM
>>> To: ext 
>>> lionel.morand@orange.com
>>> ; ext Jouni Korhonen; Ben Campbell
>>> Cc: 
>>> dime@ietf.org
>>> list
>>> Subject: Re: [Dime] DOIC: Self-Contained OLRs
>>> 
>>> Hi Lionel,
>>> 
>>> there is nothing missing exept the clarification that everything works fine when only one OLR (the OLR created by the reporting endpoint) is present in the answer and additional OLRs (not created by the reporting endpoint) may just be present as an optional optimization i.e. optionally inserted by the reporting endpoint and optionally ignored by the reacting endpoint.
>>> 
>>> Ulrich
>>> 
>>> 
>>> -----Original Message-----
>>> From: ext 
>>> lionel.morand@orange.com [mailto:lionel.morand@orange.com
>>> ]
>>> Sent: Friday, November 29, 2013 11:13 AM
>>> To: Wiehe, Ulrich (NSN - DE/Munich); ext Jouni Korhonen; Ben Campbell
>>> Cc: 
>>> dime@ietf.org
>>> list
>>> Subject: RE: [Dime] DOIC: Self-Contained OLRs
>>> 
>>> Hi Ulrich,
>>> 
>>> Using the Report Type "host report", you know that the OLR applies for subsequent request towards the origin-host of the answer containing the OLR. Using the report Type "Realm report", you know that the OLR has to be used as soon as a request needs to be sent without destination-realm. 
>>> 
>>> It is not so important to know what the type of request was and which node inserts this information. It can be any node having sufficient knowledge of the realm overload status. An agent in the path could be this one but, for instance, future development could allow a distributed server architecture to provide the same information.
>>> 
>>> I'm not sure of what is missing in this reasoning...
>>> 
>>> Lionel
>>> 
>>> -----Message d'origine-----
>>> De : Wiehe, Ulrich (NSN - DE/Munich) [
>>> mailto:ulrich.wiehe@nsn.com] Envoyé : jeudi 28 novembre 2013 11:30 À : MORAND Lionel IMT/OLN; ext Jouni Korhonen; Ben Campbell Cc : dime@ietf.org
>>> list Objet : RE: [Dime] DOIC: Self-Contained OLRs
>>> 
>>> Lionel,
>>> 
>>> my understanding was that _the_ reporting end point provides _the_ OLR.
>>> 
>>> If we go for two OLRs in the answer we should indicate which OLR is the actual OLR created by the reporting end point and which OLR is an additional OLR created by another node.
>>> 
>>> We have two cases:
>>> a) The request sent by the client (reacting end point) contains no Destination Host. The agent (reporting node) (after forwarding the request to the selected server and receiving the answer) returns a realm-type OLR as the actual reporting-node-created OLR and optionally in addition a host-type OLR as learned from the selected server.  The client may ignore the additional OLR.
>>> b) The request sent by the client (reacting endpoint) contains the Destination Host. The Server (reporting node) returns a host-type OLR as the actual reporting-node-created OLR in the answer. The agent may optionally insert a realm-type OLR as additional OLR to the answer. The client may ignore the additional OLR.
>>> 
>>> Ulrich
>>> 
>>> 
>>> 
>>> -----Original Message-----
>>> From: ext 
>>> lionel.morand@orange.com [mailto:lionel.morand@orange.com
>>> ]
>>> Sent: Thursday, November 28, 2013 10:31 AM
>>> To: Wiehe, Ulrich (NSN - DE/Munich); ext Jouni Korhonen; Ben Campbell
>>> Cc: 
>>> dime@ietf.org
>>> list
>>> Subject: RE: [Dime] DOIC: Self-Contained OLRs
>>> 
>>> Hi,
>>> 
>>> There is no assumption on which entity is providing the realm overload status. It could be provided an agent inserting this info in answers received from a server behind but also from a server that would know this info by some internal magic.
>>> But in any case, if we assume that the client will received a successful answer from the server for an initial request with only Dest-Realm AVP, it should be possible to have both report types in the answer: one for the server itself, one for the realm for new request sent to the realm with only Dest-Realm AVP.
>>> 
>>> Lionel
>>> 
>>> -----Message d'origine-----
>>> De : DiME [
>>> mailto:dime-bounces@ietf.org] De la part de Wiehe, Ulrich (NSN - DE/Munich) Envoyé : jeudi 28 novembre 2013 10:26 À : ext Jouni Korhonen; Ben Campbell Cc : dime@ietf.org
>>> list Objet : Re: [Dime] DOIC: Self-Contained OLRs
>>> 
>>> Hi,
>>> 
>>> I don't see how the possibility to send more than one OLR in an answer is aligned with the "endpoint principle". If the ReportType is "realm" this indicates to the reacting end point that the reporting end point is an agent (e.g. SFE) rather than a server. If the ReportType is "host" this indicates to the reacting end point that the reporting end point is a server. How can the reporting end point be both agent and server?
>>> 
>>> Ulrich
>>> 
>>> -----Original Message-----
>>> From: DiME [
>>> mailto:dime-bounces@ietf.org
>>> ] On Behalf Of ext Jouni Korhonen
>>> Sent: Wednesday, November 27, 2013 11:44 PM
>>> To: Ben Campbell
>>> Cc: 
>>> dime@ietf.org
>>> list
>>> Subject: Re: [Dime] DOIC: Self-Contained OLRs
>>> 
>>> 
>>> On Nov 28, 2013, at 12:27 AM, Ben Campbell 
>>> <ben@nostrum.com>
>>> wrote:
>>> 
>>> 
>>>> Hi,
>>>> 
>>>> I mentioned in another thread that I prefer putting an explicit 
>>>> ReportType AVP in an OLR, rather than
>>>> 
>>> The more I spent time thinking/writing the actual procedures on the endpoints, the more it makes sense to me to keep the ReportType in the OC-OLR. Even if the baseline does not have agent overload etc, the ReportType fits well to the "endpoint principle" we have in the draft. It indeed gives more tools to make a host vs. realm base decision on the reacting node and is plain more clear.
>>> 
>>> I skip the rest of the mail.. too much text ;-)
>>> 
>>> 
>>> - Jouni
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>>> making a responding node infer the type or meaning of the OLR from a Diameter request that corresponds to the answer containing the OLR. My reasons for that go beyond just ReportType, so I'm starting a separate thread.
>>>> 
>>>> As currently described, a consumer of an OLR must infer several things from other context. In most cases, that context is in the Diameter answer that carries the OLR. For example, the OLR implicitly refers to the application identified by the Application-Id field of the enclosing answer, the realm identified by Origin-Realm, and so on. This means that the "meaning" of an OLR cannot be determined from the OLR contents alone; OLRs only have meaning in the context of the enclosing answer. If you moved an OLR from one answer to another, it's meaning may change completely.
>>>> 
>>>> I think this approach is a mistake. I would greatly prefer that we explicitly include such values in the OLR itself, for multiple reasons:
>>>> 
>>>> 1) It's more complex to interpret implicit, contextual values than explicit values. The consumer cannot simply look at the OLR; it must look in various other AVPs to find all the information it needs. For example, I think a common software design for overload control processing to be separated from application processing. The consumer cannot simply hand the OLR to that module and expect things to work. The OC module must not only parse the OLR, but parse any other AVPs that are relevant. As OLR contents get extended (assumedly following the same strategy as the base spec), the number of "context" avps that must be interpreted can grow large. This approach is error prone, and will likely encourage brittle, hard-to-maintain code. Self-contained OLRs would keep all the information related to overload in one place. making for simpler implementations.
>>>> 
>>>> 2) It's more complex for the reporting node to send implicit values than explicit values. The sender cannot simply set the context to match the OLR--all those other AVPs have application or protocol layer meanings. Once a reporting node realizes that it is overloade, it has to wait for the right answer that contains the right context before it can send the OLR. This is particularly troublesome for agents, since they will typically have to insert OLRs into answers created by other nodes. 
>>>> 
>>>> If the reporting node screws this up, the meaning of the OLR may change significantly. So again, implicit meaning gives us error prone implementations. Self-contained OLRs are simpler to create and send.
>>>> 
>>>> 3) Implicit values don't work at all for certain problems. For 
>>>> example, if an agent needs to originate an OLR, it typically needs to 
>>>> insert that OLR into an existing Diameter answer created by a server. 
>>>> It can't create its own answer without affecting the application 
>>>> state. If the responding node assumes the OLR comes from or refers to 
>>>> the node identified by the Origin-Host AVP in the enclosing answer, 
>>>> things break. (For examples of when an agent needs to send OLRs that 
>>>> are distinct from those sent by a server, see Steve's agent overload 
>>>> draft, or my dh/dr example.)
>>>> 
>>>> OTOH, explicit values will work for all cases where we need to associate some arbitrary value with an OLR.
>>>> 
>>>> 4) Implicit values seriously constrain the future evolution of Diameter OC standards. For example, lets say we find a good reason to allow OLRs to be sent out of band, or be sent in a dedicated Diameter application. If overload reports were self-contained, one could just reuse the report format we specify here. But if the meaning of an OLR depends on the way it's transported, this won't work. We would have to create a new or significantly modified OLR format if we found a need to transport OLRs in different ways. Self-contained OLRs would allow much greater flexibility.
>>>> 
>>>> So, in summary, I think that self-contained OLRs would lead to simpler implementations, less brittle deployments, and more flexibility for future evolution of standards.
>>>> 
>>>> Thanks!
>>>> 
>>>> Ben.
>>>> _______________________________________________
>>>> DiME mailing list
>>>> 
>>>> DiME@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dime
>>> _______________________________________________
>>> DiME mailing list
>>> 
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>>> 
>>> _______________________________________________
>>> DiME mailing list
>>> 
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>>> 
>>> 
>>> _________________________________________________________________________________________________________________________
>>> 
>>> 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.
>>> 
>>> 
>>> _________________________________________________________________________________________________________________________
>>> 
>>> 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.
>>> 
>>> _______________________________________________
>>> DiME mailing list
>>> 
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>>> 
>>> _______________________________________________
>>> DiME mailing list
>>> 
>>> DiME@ietf.org
>>> https://www.ietf.org/mailman/listinfo/dime
>>> 
>>> 
>>> 
>> 
>> _______________________________________________
>> DiME mailing list
>> DiME@ietf.org
>> https://www.ietf.org/mailman/listinfo/dime
> 
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime

_______________________________________________
DiME mailing list
DiME@ietf.org
https://www.ietf.org/mailman/listinfo/dime

_________________________________________________________________________________________________________________________

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.