Re: [Dime] DOIC: Self-Contained OLRs

"DOLLY, MARTIN C" <md3135@att.com> Wed, 27 November 2013 22:29 UTC

Return-Path: <md3135@att.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 C6ED11AE184 for <dime@ietfa.amsl.com>; Wed, 27 Nov 2013 14:29:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-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 qdS4nmR6Bg8v for <dime@ietfa.amsl.com>; Wed, 27 Nov 2013 14:29:31 -0800 (PST)
Received: from nbfkord-smmo07.seg.att.com (nbfkord-smmo07.seg.att.com [209.65.160.93]) by ietfa.amsl.com (Postfix) with ESMTP id AA1871AD937 for <dime@ietf.org>; Wed, 27 Nov 2013 14:29:30 -0800 (PST)
Received: from unknown [144.160.229.24] (EHLO alpi155.enaf.aldc.att.com) by nbfkord-smmo07.seg.att.com(mxl_mta-6.15.0-1) over TLS secured channel with ESMTP id 94276925.0.1724738.00-434.4878507.nbfkord-smmo07.seg.att.com (envelope-from <md3135@att.com>); Wed, 27 Nov 2013 22:29:30 +0000 (UTC)
X-MXL-Hash: 5296724a00627b9b-b38c22acdd88458e059e7c796a807e4fb10d2069
Received: from enaf.aldc.att.com (localhost [127.0.0.1]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id rARMTTRE029254; Wed, 27 Nov 2013 17:29:29 -0500
Received: from mlpi408.sfdc.sbc.com (mlpi408.sfdc.sbc.com [130.9.128.240]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id rARMTOoV029160 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 27 Nov 2013 17:29:25 -0500
Received: from MISOUT7MSGHUB9B.ITServices.sbc.com (MISOUT7MSGHUB9B.itservices.sbc.com [144.151.223.72]) by mlpi408.sfdc.sbc.com (RSA Interceptor); Wed, 27 Nov 2013 22:29:08 GMT
Received: from MISOUT7MSGUSR9I.ITServices.sbc.com ([144.151.223.56]) by MISOUT7MSGHUB9B.ITServices.sbc.com ([144.151.223.72]) with mapi id 14.03.0158.001; Wed, 27 Nov 2013 17:29:07 -0500
From: "DOLLY, MARTIN C" <md3135@att.com>
To: Ben Campbell <ben@nostrum.com>
Thread-Topic: [Dime] DOIC: Self-Contained OLRs
Thread-Index: AQHO67/w+c6cawusAkqLSkOnosuFRJo5qKt4
Date: Wed, 27 Nov 2013 22:29:07 +0000
Message-ID: <6039246E-0D8D-4179-80FA-DE453B2282D9@att.com>
References: <832D36A4-E2D5-4640-A8D5-F9B3EEDBC56A@nostrum.com>
In-Reply-To: <832D36A4-E2D5-4640-A8D5-F9B3EEDBC56A@nostrum.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-RSA-Inspected: yes
X-RSA-Classifications: public
X-Spam: [F=0.2000000000; CM=0.500; S=0.200(2010122901)]
X-MAIL-FROM: <md3135@att.com>
X-SOURCE-IP: [144.160.229.24]
X-AnalysisOut: [v=2.0 cv=GbWga3rL c=1 sm=0 a=dhB6nF3YHL5t/Ixux6cINA==:17 a]
X-AnalysisOut: [=f5RJmZ7PCOAA:10 a=ofMgfj31e3cA:10 a=BLceEmwcHowA:10 a=kj9]
X-AnalysisOut: [zAlcOel0A:10 a=zQP7CpKOAAAA:8 a=p9WXzpdgcesA:10 a=Z80JlwQ0]
X-AnalysisOut: [AAAA:8 a=48vgC7mUAAAA:8 a=bUj2vLoLGvs_GsnyjWAA:9 a=CjuIK1q]
X-AnalysisOut: [_8ugA:10 a=qM39cor4HRgA:10 a=Hz7IrDYlS0cA:10 a=0MAqpqVwYqE]
X-AnalysisOut: [A:10 a=lZB815dzVvQA:10 a=RydQfHAJvzDAHuT1:21 a=mZnvH9BlOM2]
X-AnalysisOut: [XcfAK:21]
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: Wed, 27 Nov 2013 22:29:34 -0000

Agree

Martin Dolly
Lead Member of Technical Staff
Core Network & Gov't/Regulatory Standards  
AT&T Standards and Industry Alliances
+1-609-903-3360
md3135@att.com

> On Nov 27, 2013, at 5:28 PM, "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 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