Subject: [Dime] TR: DOIC: Self-Contained OLRs

From: "TROTTIN, JEAN-JACQUES (JEAN-JACQUES)" <[email-masked]>
Date: Thu, 5 Dec 2013 11:50:45 +0000

Sorry, in the following sentence it is "reporting node" and not "reacting node" as written in my previous mail:
 
"About extensions, I also think that they may need to be identified in the capability part, as the related OLRs should not be sent by a reporting node if the extension is not supported."

Best regards

JJacques 

-----Message d'origine-----
De : DiME [mailto:[email-masked]] De la part de TROTTIN, JEAN-JACQUES (JEAN-JACQUES)
Envoyé : jeudi 5 décembre 2013 12:14
À : [email-masked]
Objet : Re: [Dime] DOIC: Self-Contained OLRs

Hi 

A lot of mails on this topic...I would suggest to introduce an overload control on the Dime email threads:)  

On my side, I rely on what we have written in the  draft for the "baseline" mechanism and that we have to keep as it is simple and efficient, here I join Lionel, Nirav and MCruz' positions.

This thread then addresses extensions  cases, I agree that we will have to address such extensions:   Nirav mentioned the example with APN that if relevant would  a 3GGP application case, I would add the Session Group about which we had some discussion a while ago and  which is a more generic IETF case. There is also the agent overload case. Have you others? Always good to have some use cases in mind.

What is important for me is that adding extensions should not modify the baseline and making it more complex when used alone.  I also make a difference between principles and protocol tuning where we may have to choose between various protocol solution but addressing the same functionality or principle.  

About piggybacking, in the baseline,  the principle is that OLRs  which  are addressed  to sources of traffic are put in answer messages towards this traffic sources (origin Host) (even if these messages  may be processed by intermediate DAs), which is simple and the OLR can be kept unchanged in the same message  up to the origin Host if no specific process in intermediate DAs.  To have a piggybacking allowing to put any OLR in any message (as it was in draft roach)  is adding complexity that is not justified for the baseline and we have not retained it in the existing draft .

About extensions, the APN or session group  examples address  parts of the traffic between a server and a client (so a higher granularity in the throttling than the baseline one), related OLRs are conveyed in the messages towards the origin Host so with an implicit reference to the Application, the  Origin and Destination Host as for the baseline, so not requiring self contained OLRs. I also  do not see the interest to send these new extensions OLR only in answers directly related to this OLR (as Ulrich proposed), eg only in an answer dealing with an APN if the OLR is related to APN throttling.  The main point is that the OLR takes a direct "train" towards the right destination for a given application (as for baseline).

This does not exclude that we may have other cases not entering the above examples characteristics, but as Nirav mentioned, we  have to remain pragmatic and see this when such new use cases will be addressed. The extensibility possibilities of  current draft give us a lot of flexibility, e.g. if some extensions need more self contained AVPs, why not, but this is outside the current draft. 

About extensions, I also think that they may need to be identified in the capability part, as the related OLRs should not be sent by a reacting node if the extension is not supported.

Last important point, as  Lionel mentioned, we have to finalize the draft soon, to be able to start Rel12 3GGP work relying on this draft. My position is that the current draft is currently well suited for the baseline and that extensions will be addressed separately  

Best regards

JJacques 

-----Message d'origine-----
De : DiME [mailto:[email-masked]] De la part de Ben Campbell Envoyé : mercredi 4 décembre 2013 22:55 À : ext [email-masked] Cc : [email-masked] Objet : Re: [Dime] DOIC: Self-Contained OLRs

On Dec 3, 2013, at 5:17 PM, [email-masked] wrote:

> Hi Ben,
> 
> I may be wrong somewhere in my summary but I think that it was the result of the discussions and agreements reached regarding existing requirements, at least from 3GPP point of view, compared to possible optimizations for future optimizations not so obvious.

We are not the 3GPP. Our requirements are RFC 7068. I believe self-contained OLRs do a better job of meeting Req 31 than the contextually-defined OLRs.

I've made several technical arguments here--does anyone have _technical_ arguments in favor of contextually-defined OLRs?

> And because the solution offers extensibility via the definition of new algo, new report type and addition of any new AVP in the existing Grouped OLR, the "limitations" of the proposed solution might be removed by someone if really required according to new requirements.
> 

It might be worth considering a compromise approach: Define _optional_ AVPs that allow an OLR to be self-contained. If they are not present, then the various values default to those from the enclosing Diameter message. Possibly add support for this to the list of things that reacting nodes can advertise.

This could be in the base, or in a follow on extension. (If left for an extension, it's worth considering whether ReportType needs to be in the base, or this or some other extension.) 

> Regards,
> 
> Lionel
> 
> -----Message d'origine-----
> De : Ben Campbell [mailto:[email-masked]] Envoyé : mardi 3 décembre
> 2013 23:56 À : MORAND Lionel IMT/OLN Cc : Steve Donovan; [email-masked] 
> Objet : Re: [Dime] DOIC: Self-Contained OLRs
> 
> 
> On Dec 2, 2013, at 10:18 AM, [email-masked] wrote:
> 
>> Hi Steve,
>> 
>> I think that is not only about few bytes in the answer. It is also about the solution principles agreed so far:
>> ·         the current need is for an OLR bound to the application in use
>> ·         the OLR is received from the node targeted in the request.
>> ·         the OLR is defined per application
> 
> I don't think those principles have been well tested. I don't recall any discussion of their benefits. What benefits do you see they have over self-contained OLRs?
> 
> All I see from these are restrictions in the flexibility of the solution, with very little in return.
> 
>> So all the implicit information (application, origin-host, origin-realm) are meaningful in this context.
>> And the actual solution is designed based on these assumptions. The extensibility of the solution will allow extra info if required in other use cases but it was agreed to go with a straightforward solution that will satisfy most of us.
>> 
>> Regards,
>> 
>> Lionel
>> 
>> De : DiME [mailto:[email-masked]] De la part de Steve Donovan 
>> Envoyé : lundi 2 décembre 2013 16:37 À : [email-masked] Objet : Re: 
>> [Dime] DOIC: Self-Contained OLRs
>> 
>> I don't believe that Ben's proposal was to change the piggybacking assumption in the baseline mechanism.  Ben's proposal is to design the solution in such a way that it is not dependent on the piggybacking transport mechanism.  
>> 
>> I share Ben's concern that we have over optimized the content of the overload report in a way that makes implementations brittle, interoperability more difficult to achieve and extensibility more complex.  And what do we gain from this optimization?  A few bites in answer messages.
>> 
>> Self contained overload reports, transported using the piggybacking mechanism, is a cleaner solution.
>> 
>> Steve
>> 
>> On 11/29/13 8:31 AM, [email-masked] wrote:
>> I totally agree with Nirav. No need to revert at this stage the working assumption on piggybacking of OLR in application answer messages, especially when the aim is to define a basic mechanism called "reduction".
>> 
>> Anyone would be able to further add extra info for optimization if needed but there is no need at all for the basic mechanism.
>> 
>> Regards,
>> 
>> Lionel
>> 
>> -----Message d'origine-----
>> De : DiME [mailto:[email-masked]] De la part de Nirav Salot 
>> (nsalot) Envoyé : vendredi 29 novembre 2013 12:24 À : Jouni Korhonen; 
>> Wiehe, Ulrich (NSN - DE/Munich); [email-masked] list Cc : Ben Campbell 
>> Objet : Re: [Dime] DOIC: Self-Contained OLRs
>> 
>> Jouni, Ben,
>> 
>> I am totally against the idea of self-contained OC-OLR specifically since we have adopted the principles of piggybacking the OC-OLR over existing application message.
>> Self-contained OC-OLR - which means adding all the information which defines the scope of the OC-OLR into the OC-OLR - does not make sense in the piggybacking approach. In fact, it is adding lot of information, which is anyway available within the message containing the OC-OLR, into the OC-OLR. So it is adding lot of redundant information in a message which increases the processing requirement for the sender as well as the receiver. (And this is un-optimization, in my view).
>> 
>> Besides, I am not convinced with the other reasons provided here:
>> - One software module within a node can provide OC-OLR to another software module in the same node without passing other related info
>>   Within a node, based on the design, lots of information may need to be passed between two software modules and we cannot optimize those aspects by replicating unnecessary information in a protocol message.
>>   In summary, it is node's internal software design issue and we need not optimize that at protocol level.
>> 
>> - Once the reporting node realizes that it is overloaded, it has to 
>> wait for right answer to send OC-OLR  What is the point of sending OC-OLR for a context for which there is no messaging? Why should the reacting node care if it never sends a message for a context for which the reporting node is overloaded?
>>  So this waiting is justified since it ensures that the overload is reported only when necessary and only to the applicable reacting node. Not to all the nodes in the network.
>> 
>> - The agent needs to wait for the answer generated by the server and the right context
>>   The same argument as applicable for the server applies here. The agent need not send out-of-context overload info to a node.
>>   Why should reacting node receive/process/store the overload info for the scope for which it is not sending any messages.
>> 
>> - For sending OC-OLR in dedicated Diameter application???
>>  Piggybacking was the first basic principle we agreed before putting other principles in place. So we may want to go back the drawing board if we decide to change this principle.
>> 
>> Regards,
>> Nirav.
>> 
>> -----Original Message-----
>> From: DiME [mailto:[email-masked]] On Behalf Of Jouni Korhonen
>> Sent: Friday, November 29, 2013 2:50 PM
>> To: Wiehe, Ulrich (NSN - DE/Munich); [email-masked] list
>> Cc: Ben Campbell
>> Subject: Re: [Dime] DOIC: Self-Contained OLRs
>> 
>> 
>> 
>> So, are we reaching any level of consensus here?
>> 
>> - JOuni
>> 
>> (as a note.. that we are converging back to where we started with 
>> OLRs ;)
>> 
>> 
>> 
>> On Nov 28, 2013, at 12:40 PM, "Wiehe, Ulrich (NSN - DE/Munich)" <[email-masked]> wrote:
>> 
>> Hi,
>> 
>> another question:
>> 
>> If we go for explicit self contained OLRs, why would we then need the ReportType?
>> 
>> The realm-type OLR would explicitly contain application-Id, Realm, but no Host whereas the host-type OLR would explicitly contain application-Id, Host, but probably (I'm not sure) no Realm.
>> 
>> Ulrich
>> 
>> 
>> 
>> -----Original Message-----
>> From: ext [email-masked] [mailto:[email-masked]]
>> Sent: Thursday, November 28, 2013 10:31 AM
>> To: Wiehe, Ulrich (NSN - DE/Munich); ext Jouni Korhonen; Ben Campbell
>> Cc: [email-masked] 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:[email-masked]] De la part de Wiehe, Ulrich 
>> (NSN - DE/Munich) Envoyé : jeudi 28 novembre 2013 10:26 À : ext Jouni 
>> Korhonen; Ben Campbell Cc : [email-masked] 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:[email-masked]] On Behalf Of ext Jouni 
>> Korhonen
>> Sent: Wednesday, November 27, 2013 11:44 PM
>> To: Ben Campbell
>> Cc: [email-masked] list
>> Subject: Re: [Dime] DOIC: Self-Contained OLRs
>> 
>> 
>> On Nov 28, 2013, at 12:27 AM, Ben Campbell <[email-masked]> 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
>> [email-masked]
>> https://www.ietf.org/mailman/listinfo/dime
>> 
>> _______________________________________________
>> DiME mailing list
>> [email-masked]
>> https://www.ietf.org/mailman/listinfo/dime
>> _______________________________________________
>> DiME mailing list
>> [email-masked]
>> 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.
>> 
>> 
>> _______________________________________________
>> DiME mailing list
>> [email-masked]
>> https://www.ietf.org/mailman/listinfo/dime
>> _______________________________________________
>> DiME mailing list
>> [email-masked]
>> 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.
>> 
>> _______________________________________________
>> DiME mailing list
>> [email-masked]
>> 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.
>> 
>> _______________________________________________
>> DiME mailing list
>> [email-masked]
>> 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.
> 
> _______________________________________________
> DiME mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/dime

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