Re: [Ibnemo] Defining a Common Model for intent

"Susan Hares" <shares@ndzh.com> Fri, 05 June 2015 18:16 UTC

Return-Path: <shares@ndzh.com>
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 BB4A81A1B2D for <ibnemo@ietfa.amsl.com>; Fri, 5 Jun 2015 11:16:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.889
X-Spam-Level:
X-Spam-Status: No, score=-101.889 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, T_DOS_OUTLOOK_TO_MX_IMAGE=0.01, USER_IN_WHITELIST=-100] 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 mBsOmPlkNF8u for <ibnemo@ietfa.amsl.com>; Fri, 5 Jun 2015 11:16:19 -0700 (PDT)
Received: from hickoryhill-consulting.com (hhc-web3.hickoryhill-consulting.com [64.9.205.143]) by ietfa.amsl.com (Postfix) with ESMTP id 95F6F1A1B1B for <ibnemo@ietf.org>; Fri, 5 Jun 2015 11:16:16 -0700 (PDT)
X-Default-Received-SPF: pass (skip=loggedin (res=PASS)) x-ip-name=184.157.80.157;
From: "Susan Hares" <shares@ndzh.com>
To: "'Natale, Bob'" <RNATALE@mitre.org>, "'Zhoutianran'" <zhoutianran@huawei.com>, <nfvrg@irtf.org>
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> <CY1PR09MB092209F6064A785AC5A4A222A8B20@CY1PR09MB0922.namprd09.prod.outlook.com>
In-Reply-To: <CY1PR09MB092209F6064A785AC5A4A222A8B20@CY1PR09MB0922.namprd09.prod.outlook.com>
Date: Fri, 5 Jun 2015 14:16:15 -0400
Message-ID: <028901d09fbb$b6766ea0$23634be0$@ndzh.com>
MIME-Version: 1.0
Content-Type: multipart/related; boundary="----=_NextPart_000_028A_01D09F9A.2F696280"
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQFmUXpwBxWy/ToZog2PwFtky8zSWAILX45CAvh/oQYB7kpr2AFVclraASLy4SAA5l4TAQB2S/pVAun4VqsCLnSQHQFQ6i/CAxhFe7qd0IhsIA==
Content-Language: en-us
X-Authenticated-User: skh@ndzh.com
Archived-At: <http://mailarchive.ietf.org/arch/msg/ibnemo/v1TfpnCRRHW9JeHZ1VjG7BdqR3E>
Cc: 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 18:16:27 -0000

Bob: 

 

Glad we are both +1 on the need for both sides of Tianran/Terrence’s diagram.   On the right side debate,  I agree we should begin with the following consumers: 

 

1)      Who: Business entities, end-user customer entities, or non-profit organizations 

2)      What distance model from executable

In order to know where to place: 

3)      Yang/informational model 

 

I agree that the left side “intent-engine”, controller” and “run-time system” show distance.  However, one thing that the top-level language (e.g. Nemo) can provide to bridge the distance is the casting of the context at the top-level model into lower level definitions for components of intent (object, results, constraints).

 

An example may help.  Business intent says “connect all Rite-Start corporate offices together”.  The business SLAs and corproate translate this intent into a model of 5 Rite-Start corporate offices, p2p connections, with a data flow rate of 5 Gbps.  Or in intent terms: 

 

Intent (objects: 5 Rite-start offices, 5 p2p links, constraint), 

            results (5 Gps Data Flows, constraint), 

            constraint (SLA, cost).

Roles/classes of intent provide general constraints for objects, results, constraints which can be amended by specific constraints. 

 

We can borrow these concepts of roles/classes from the SQL environment that created a general way to model DBs which could then be tailored. 

 

What do you think? 

 

Sue 

 

From: Natale, Bob [mailto:RNATALE@mitre.org] 
Sent: Friday, June 05, 2015 12:23 AM
To: Susan Hares; 'Zhoutianran'; nfvrg@irtf.org
Cc: ibnemo@ietf.org
Subject: RE: [Ibnemo] Defining a Common Model for intent

 

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
Cc: 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
Cc: draft-xia-ibnemo-icim@tools.ietf.org; 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
Cc: draft-xia-ibnemo-icim@tools.ietf.org; 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
Cc: draft-xia-ibnemo-icim@tools.ietf.org; 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
Cc: draft-xia-ibnemo-icim@tools.ietf.org; 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