Re: [Ibnemo] Defining a Common Model for intent

"Natale, Bob" <RNATALE@mitre.org> Fri, 05 June 2015 04:22 UTC

Return-Path: <RNATALE@mitre.org>
X-Original-To: ibnemo@ietfa.amsl.com
Delivered-To: ibnemo@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3185E1B2AEF for <ibnemo@ietfa.amsl.com>; Thu, 4 Jun 2015 21:22:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.609
X-Spam-Level:
X-Spam-Status: No, score=-2.609 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, T_RP_MATCHES_RCVD=-0.01] autolearn=unavailable
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 buJvEaTAwAGW for <ibnemo@ietfa.amsl.com>; Thu, 4 Jun 2015 21:22:55 -0700 (PDT)
Received: from smtpvbsrv1.mitre.org (smtpvbsrv1.mitre.org [198.49.146.234]) by ietfa.amsl.com (Postfix) with ESMTP id E1E001B2AF1 for <ibnemo@ietf.org>; Thu, 4 Jun 2015 21:22:53 -0700 (PDT)
Received: from smtpvbsrv1.mitre.org (localhost.localdomain [127.0.0.1]) by localhost (Postfix) with SMTP id 83C2952E0BA; Fri, 5 Jun 2015 00:22:53 -0400 (EDT)
Received: from IMCCAS02.MITRE.ORG (imccas02.mitre.org [129.83.29.79]) by smtpvbsrv1.mitre.org (Postfix) with ESMTP id 658FB52E0C0; Fri, 5 Jun 2015 00:22:53 -0400 (EDT)
Received: from imshyb01.MITRE.ORG (129.83.29.2) by IMCCAS02.MITRE.ORG (129.83.29.79) with Microsoft SMTP Server (TLS) id 14.3.224.2; Fri, 5 Jun 2015 00:22:52 -0400
Received: from imshyb01.MITRE.ORG (129.83.29.2) by imshyb01.MITRE.ORG (129.83.29.2) with Microsoft SMTP Server (TLS) id 15.0.1044.25; Fri, 5 Jun 2015 00:22:52 -0400
Received: from na01-bn1-obe.outbound.protection.outlook.com (10.140.19.249) by imshyb01.MITRE.ORG (129.83.29.2) with Microsoft SMTP Server (TLS) id 15.0.1044.25 via Frontend Transport; Fri, 5 Jun 2015 00:22:52 -0400
Received: from CY1PR09MB0922.namprd09.prod.outlook.com (10.163.89.140) by CY1PR09MB0921.namprd09.prod.outlook.com (10.163.89.14) with Microsoft SMTP Server (TLS) id 15.1.184.17; Fri, 5 Jun 2015 04:22:49 +0000
Received: from CY1PR09MB0922.namprd09.prod.outlook.com ([10.163.89.140]) by CY1PR09MB0922.namprd09.prod.outlook.com ([10.163.89.140]) with mapi id 15.01.0184.014; Fri, 5 Jun 2015 04:22:49 +0000
From: "Natale, Bob" <RNATALE@mitre.org>
To: Susan Hares <shares@ndzh.com>, 'Zhoutianran' <zhoutianran@huawei.com>, "nfvrg@irtf.org" <nfvrg@irtf.org>
Thread-Topic: [Ibnemo] Defining a Common Model for intent
Thread-Index: AQHQnd5wUQCliPZLp0OVDcWCs74y1Z2bnZqAgAAHdLCAAGoFgIAApWCAgACZxtA=
Date: Fri, 5 Jun 2015 04:22:48 +0000
Message-ID: <CY1PR09MB092209F6064A785AC5A4A222A8B20@CY1PR09MB0922.namprd09.prod.outlook.com>
References: <010001d09b13$7b0e19f0$712a4dd0$@ndzh.com> <D191EC7F.1D569%pedroa.aranda@telefonica.com> <A747A0713F56294D8FBE33E5C6B8F581295110E3@szxeml513-mbx.china.huawei.com> <CY1PR09MB092221FAFE89C7ECE3D40FF0A8B50@CY1PR09MB0922.namprd09.prod.outlook.com> <012601d09d83$0aa6bb00$1ff43100$@ndzh.com> <CY1PR09MB092236DEBA39BF1DD4E72B13A8B40@CY1PR09MB0922.namprd09.prod.outlook.com> <BBA82579FD347748BEADC4C445EA0F2166BBFBC4@nkgeml512-mbx.china.huawei.com> <007201d09e6c$acf13590$06d3a0b0$@ndzh.com> <BY1PR09MB0917DC7F05C84DD1C324AC27A8B30@BY1PR09MB0917.namprd09.prod.outlook.com> <BBA82579FD347748BEADC4C445EA0F2166BBFF7A@nkgeml512-mbx.china.huawei.com> <017701d09ef8$18ceabe0$4a6c03a0$@ndzh.com>
In-Reply-To: <017701d09ef8$18ceabe0$4a6c03a0$@ndzh.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
authentication-results: ndzh.com; dkim=none (message not signed) header.d=none;
x-originating-ip: [192.80.55.89]
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR09MB0921;
x-microsoft-antispam-prvs: <CY1PR09MB0921D59396B5FA598C2CC7A3A8B20@CY1PR09MB0921.namprd09.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:;
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(520003)(5005006)(3002001); SRVR:CY1PR09MB0921; BCL:0; PCL:0; RULEID:; SRVR:CY1PR09MB0921;
x-forefront-prvs: 05986C03E0
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(377454003)(99936001)(16236675004)(189998001)(54356999)(17760045003)(99286002)(62966003)(77156002)(46102003)(50986999)(76176999)(76576001)(77096005)(5001770100001)(2656002)(5001960100002)(106116001)(19580405001)(87936001)(93886004)(2501003)(19609705001)(15975445007)(5001920100001)(2900100001)(2950100001)(19625215002)(5002640100001)(122556002)(74316001)(19300405004)(40100003)(19580395003)(19627595001)(86362001)(102836002)(66066001)(33656002)(92566002)(18206015028); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR09MB0921; H:CY1PR09MB0922.namprd09.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en;
Content-Type: multipart/related; boundary="_004_CY1PR09MB092209F6064A785AC5A4A222A8B20CY1PR09MB0922namp_"; type="multipart/alternative"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2015 04:22:48.9659 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: c620dc48-1d50-4952-8b39-df4d54d74d82
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR09MB0921
X-OriginatorOrg: mitre.org
Archived-At: <http://mailarchive.ietf.org/arch/msg/ibnemo/se4wDx2kEPMACOPNmWmdR0icoPg>
Cc: "ibnemo@ietf.org" <ibnemo@ietf.org>
Subject: Re: [Ibnemo] Defining a Common Model for intent
X-BeenThere: ibnemo@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Discussion of Nemo, an intent-based North Bound \(NB\) interface consisting of an application protocol running over HTTP \(RESTful interfaces\) to exchange intent-based primitives between applications and meta-controllers controlling virtual network resources \(networks, storage, CPU\)." <ibnemo.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ibnemo>, <mailto:ibnemo-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ibnemo/>
List-Help: <mailto:ibnemo-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ibnemo>, <mailto:ibnemo-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 05 Jun 2015 04:22:59 -0000

Agreed (on the need to understand both sides).

As I noted earlier, successful development of the standards needed for the right side diagram must be cognizant of two things:

- Who/what are the intended consumers of such expressions?
- What is the “distance” from the top level intent expressions to executable actions that affect network behavior?

In the left side diagram, the intended consumer of intent expressions from the right side is the “Intent Engine” and the “Controller”, “Intent Engine”, “Run-time System”, and the network elements are all components of the “distance” from top-level intent expressions to network behavior.

Now, if we were producing the right side outputs for a single “Intent Engine” or a collection of them that operate identically, life would be simpler and my two constraints would be much easier to satisfy. But producing for a single consumer is only viable where there is a predominant de jure or de facto solution out there … no such thing exists for “Intent Engine” at this time … indeed, you should remove the “Open Source” label from the diagram, IMHO … we don’t want to exclude COTS products or private tools (do we?)

So, like Diego’s “Network SQL” analogy, we need to design a solution that (1) meets the requirements we set for IBNEMO as a means of expressing intents in the networking domain and (2) is compelling (effective and efficient) enough for wide adoption among (at a minimum) developers of “Intent Engines”.

Avanti,
BobN

From: Susan Hares [mailto:shares@ndzh.com]
Sent: Thursday, June 04, 2015 2:56 PM
To: 'Zhoutianran'; Natale, Bob; nfvrg@irtf.org
Cc: ibnemo@ietf.org
Subject: RE: [Ibnemo] Defining a Common Model for intent

Tianran/Terrence:

We should consider both.  By considering the models, we will begin to understand the limits of our working system and how it fits best into the IETF set of systems of configuration, policy, and security.    I wish my email responses could include a sound button for cheers.  You deserve one for this one.

Sue

From: Ibnemo [mailto:ibnemo-bounces@ietf.org] On Behalf Of Zhoutianran
Sent: Thursday, June 04, 2015 5:04 AM
To: Natale, Bob; Susan Hares; nfvrg@irtf.org<mailto:nfvrg@irtf.org>
Cc: ibnemo@ietf.org<mailto:ibnemo@ietf.org>
Subject: Re: [Ibnemo] Defining a Common Model for intent

Hi Bob and Sue,

I think our discussion falls into two categories: one is the intent modeling and intent expression, and the other is how to translate the intent into real implementations. And Bob shared opinion on the later, right?
The following figure I posted before shows my point on how to work with the two parts.
Do you think we should consider both of the two topics here?


Terence

[intent network arch.gif]

From: Natale, Bob [mailto:RNATALE@mitre.org]
Sent: Thursday, June 04, 2015 10:58 AM
To: Susan Hares; Zhoutianran; zhangyali (D); 'PEDRO ANDRES ARANDA GUTIERREZ'; nfvrg@irtf.org<mailto:nfvrg@irtf.org>
Cc: draft-xia-ibnemo-icim@tools.ietf.org<mailto:draft-xia-ibnemo-icim@tools.ietf.org>; ibnemo@ietf.org<mailto:ibnemo@ietf.org>
Subject: RE: [Ibnemo] Defining a Common Model for intent

Hi Sue,

You said: “I also need to start at the top since I think I know what intent is there.  I’m not sure what it looks like going downward….”

That is a perceptive comment. The closer you get to the instance level – i.e., where network behavior can actually be controlled – the more applicable are E-C-A type expressions relative to Intent type expressions.

Highly advanced components move that pattern closer and closer to the instance execution context (e.g., via custom firmware, intelligent agents)  and that capability might become way more common in the future – when, among other things, standards support for interoperable Intent expressions exists :-) --  but for now “rule” expressions, rather than “goal” expression, come into play fairly high up in the continuum … and bear in mind that, for now, Intent (“goal”) expressions at the topmost layer(s) are often _manually_ converted to E-C-A rulesets for consumption at some lower layer(s) … a source of much cost and operational inefficiency.

Avanti,
BobN

From: Susan Hares [mailto:shares@ndzh.com]
Sent: Wednesday, June 03, 2015 10:18 PM
To: 'Zhoutianran'; Natale, Bob; 'zhangyali (D)'; 'PEDRO ANDRES ARANDA GUTIERREZ'; nfvrg@irtf.org<mailto:nfvrg@irtf.org>
Cc: draft-xia-ibnemo-icim@tools.ietf.org<mailto:draft-xia-ibnemo-icim@tools.ietf.org>; ibnemo@ietf.org<mailto:ibnemo@ietf.org>
Subject: RE: [Ibnemo] Defining a Common Model for intent

Tianran:

Are you sure the two are distinct? I like your concept to focus on the top layer – because I think I know what happens there.  However, your intent at the top sitting on the top of several roles made me wonder if you and John are expressing an inherent general system property of the intent and policy systems.

Groups of roles will request different functions.  This roles form hierarchical trees rooted in the intent.  Is John’s general architecture really the classing of roles and functions at different level?  Is  he understand what constitutes the intent roles at the top.

I also need to start at the top since I think I know what intent is there.  I’m not sure what it looks like going downward (unless it is a reply of the ISO layer models).

Did this help refine your idea at all?  Or am I just musing on the comparison between your ideas and John’s policy continuum.

Sue

From: Ibnemo [mailto:ibnemo-bounces@ietf.org] On Behalf Of Zhoutianran
Sent: Wednesday, June 03, 2015 5:19 AM
To: Natale, Bob; Susan Hares; zhangyali (D); 'PEDRO ANDRES ARANDA GUTIERREZ'; nfvrg@irtf.org<mailto:nfvrg@irtf.org>
Cc: draft-xia-ibnemo-icim@tools.ietf.org<mailto:draft-xia-ibnemo-icim@tools.ietf.org>; ibnemo@ietf.org<mailto:ibnemo@ietf.org>
Subject: Re: [Ibnemo] Defining a Common Model for intent


Hi Bob,

I agree with you that the intent expression is the first important step. And that’s what we are going to do.
I think in this discussion group we will focus on the top layer intent. As I posted in the email on the “role based intent”, there will be only one intent layer and I do not think the “policy continuum” works or necessarily applied here. In contrast I would like a flat intent expression with many ways for both pure intent and the constrained intent.

Regards,
Terence

From: Ibnemo [mailto:ibnemo-bounces@ietf.org] On Behalf Of Natale, Bob
Sent: Wednesday, June 03, 2015 1:15 PM
To: Susan Hares; zhangyali (D); 'PEDRO ANDRES ARANDA GUTIERREZ'; nfvrg@irtf.org<mailto:nfvrg@irtf.org>
Cc: draft-xia-ibnemo-icim@tools.ietf.org<mailto:draft-xia-ibnemo-icim@tools.ietf.org>; ibnemo@ietf.org<mailto:ibnemo@ietf.org>
Subject: Re: [Ibnemo] RE: Defining a Common Model for intent

Hi Sue,

Yes, the Formal Model paper is a very good source, but should be augmented with a few others for a more complete understanding.

And it is very important to note that the policy continuum is not _my_ model … it is (to the best of my knowledge) John Strassner’s creation and I generally recommend Chap. 9, Examples of Using the Policy Continuum, in his book on Policy-Based Network Management: Solutions for the Next Generation (2004) as an essential source.

[Apologies for possibly rambling a bit in what follows … I am not an active contributor and I hate to take up the time of those who are just because I have a few minutes to post, but since Sue asked….]

I would note that the specific layer labels used in the policy continuum literature should not be considered absolute … i.e., other formulations (with more or (ideally) fewer layers) are possible, with different labels, denoting (e.g.) some domain-, marketplace-, or business model-specificity.

The key issue is the number and nature of the translations necessary from a statement of intent at the “top” layer to a set of actions at the “bottom” layer that serve to realize the intent. In John’s policy continuum the top layer is the “Business” layer and we might see policy expressions like “Optimize traffic flows for fairness to all active users” or “Optimize traffic flows for priority based on user account type” (e.g., the proverbial Platinum, Gold, Silver, Bronze casting). Those are deliberately stark examples … in reality, the Business layer promulgates enormous numbers of policies often overlapping and “frictional” … but take either stark example and consider how many translations it would take to result in a conforming set of actions in large-scale network of diverse devices, services, protocols, (and a very large)  etc. In current technology (and for the foreseeable future, at my age at least!) at some point such statements of intent from the Business layer have to get translated to E-C-A type rules.

I recognize an intent-based policy expression by its distance from a set of expression (usually “rules”) that execute actions that realize the outcome stated in the intent-based expression. In that view, it’s not an absolute (i.e., the diverse views of the Policy Continuum hold) and it’s also possible to envision cases where expressions of intent can be “directly” implemented by a resource or set of resources. SDN is a step in the direction of (1) reducing the number of translations necessary for a large class of intent-based policy expressions and (2) virtualizing the implementation actions from the perspective of the “upper” layers of the policy continuum (or continua).

So, SDN and the ecosystem of changes around it represent  a big opportunity to make progress on rationalizing policy management across the layers of the policy continuum. A necessary first step is having useful standards for policy-expressions from the “top” layer – and they typically talk in intent-based policy expressions there.

Btw, I presume that IBNemo* contributors are also following John’s work in the SUPA area as well … very important that these efforts are totally complementary and synergistic, IMHO.

[* - Is it “IBNemo”, “ibnemo”, “IB-nemo” or something else? … I see it written all of those ways, and possibly more....]

Avanti,
BobN