Skip to main content

Intent Classification
draft-li-nmrg-intent-classification-01

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
Authors Chen Li , Ying Cheng , John Strassner , Olga Havel , Will (Shucheng) LIU , Pedro Martinez-Julia , Jéferson Campos Nobre , Diego Lopez
Last updated 2019-07-08 (Latest revision 2019-04-23)
Replaces draft-draft-li-intent-classification
Replaced by draft-irtf-nmrg-ibn-intent-classification, RFC 9316
RFC stream (None)
Formats
Additional resources
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-li-nmrg-intent-classification-01
Network Working Group                                            C. Li
Internet Draft                                           China Telecom
Intended status: Informational                                Y. Cheng
Expires: January 2020                                     China Unicom
                                                          J. Strassner
                                                              O. Havel
                                                                W. Liu
                                                   Huawei Technologies
                                                     P. Martinez-Julia
                                                                  NICT
                                                              J. Nobre
                                                                 UFRGS
                                                              D. Lopez
                                                        Telefonica I+D
                                                          July 9, 2019

                           Intent Classification
                   draft-li-nmrg-intent-classification-01

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are working documents of the Internet  Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at
   http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other documents
   at any time.  It is inappropriate to use Internet-Drafts as
   reference material or to cite them other than as "work in progress."

   This Internet-Draft will expire on January 8, 2009.

Liu, et al.            Expires January 8, 2020                [Page 1]
Internet-Draft          Intent Classification                July 2019

Copyright Notice

   Copyright (c) 2019 IETF Trust and the persons identified as the
   document authors. All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document. Please review these documents
   carefully, as they describe your rights and restrictions with
   respect to this document. Code Components extracted from this
   document must include Simplified BSD License text as described in
   Section 4.e of the Trust Legal Provisions and are provided without
   warranty as described in the Simplified BSD License.

Abstract

   RFC7575 defines Intent as an abstract high-level policy used to
   operate the network. Intent management system includes an interface
   for users to input requests and an engine to translate the intents
   into the network configuration and manage their lifecycle. Up to
   now, there is no commonly agreed definition, interface or model of
   intent.

   This document discusses what intent means to different stakeholders,
   describes different ways to classify intent, and an associated
   taxonomy of this classification. This is a foundation for discussion
   intent related topics.

Table of Contents

   1. Introduction  ................................................ 3
   2. Acronyms  .................................................... 3
   3. Abstract intent requirements ................................. 4
      3.1. What is Intent? ......................................... 4
      3.2. Intent Solutions & Intent Users ......................... 4
      3.3. Current Problems & Requirements ......................... 5
      3.4. Intent Types that need to be supported .................. 7
   4. Functional Characteristics and Behavior ...................... 8
      4.1. Persistence  ............................................ 8
      4.2. Granularity  ............................................ 9
      4.3. Hierarchy  .............................................. 9
      4.4. Abstracting Intent Operation ........................... 10
      4.5. Policy Subjects and Policy Targets ..................... 11
      4.6. Policy Scope  .......................................... 11
   5. The Policy Continuum ........................................ 12

Li, et al.             Expires January 8, 2020                [Page 2]
Internet-Draft          Intent Classification                July 2019

   6. Involvement of intent in the application of AI to Network Manage
   ment  .......................................................... 12
   7. Security Considerations ..................................... 13
   8. IANA Considerations ......................................... 13
   9. Contributors ................................................ 13
   10. Acknowledgments ............................................ 13
   11. References ................................................. 14
      11.1. Normative References  ................................. 14
      11.2. Informative References ................................ 14

1. Introduction

   Different SDOs (such as [ANIMA][ONF][ONOS]) have proposed intent as
   a declarative interface for defining a set of network operations to
   execute.

   Although there is no common definition or model of intent which are
   agreed by all SDOs, there are several shared principles:

      o intent should be declarative, using and depending on as few
   deployment details as possible and focusing on what and not how

      o intent should provide an easy-to-use interface, and use
   terminology and concepts familiar to its target audience

      o intent should be vendor-independent and portable across
   platforms

      o the intent framework should be able to detect and resolve
   conflicts between multiple intents.

   SDOs have different perspectives on what intent is, what set of
   actors it is intended to serve, and how it should be used.  This
   document provides several dimensions to classify intents.

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

2. Acronyms

      CLI: Command Line Interface

      SDO: Standards Development Organization

      SUPA: Simplified Use of Policy Abstractions

Li, et al.             Expires January 8, 2020                [Page 3]
Internet-Draft          Intent Classification                July 2019

      VPN: Virtual Private Network

      DC: Data Center

3. Abstract intent requirements

   In order to understand the different intent requirements that would
   drive intent classification, we first need to understand what intent
   means for different intent users.

3.1. What is Intent?

   The term Intent has become very widely used in the industry for
   different purposes, sometimes it is not even in agreement with SDO
   shared principles mentioned in the Introduction. Different
   stakeholders consider an intent to be an ECA policy, a GBP policy, a
   business policy, a network service, a customer service, a network
   configuration, application / application group policy, any
   operator/administrator task, network troubleshooting / diagnostics /
   test, a new app, a marketing term for existing
   management/orchestration capabilities, etc. Their intent is
   sometimes technical, non-technical, abstract or technology specific.
   For some stakeholders, intent is a subset of these and for other
   stakeholders intent is all of these. It has in some cases become a
   term to replace a very generic 'service' or 'policy' terminology.

   While it is easier for those familiar with different standards to
   understand what service, CFS, RFS, resource, policy continuum, ECA
   policy, declarative policy, abstract policy or intent policy is, it
   may be more difficult for the wider audience. Intent is very often
   just a synonym for policy. Those familiar with policies understand
   the difference between a business, intent, declarative,  imperative
   and ECA policy. But maybe the wider audience does not understand the
   difference and sometimes equates the policy to an ECA policy.

   Therefore, it is important to start a discussion in the industry
   about what intent is for different solutions and intent users. It is
   also imperative to try to propose some intent categories /
   classifications that could be understood by a wider audience. This
   would help us define intent interfaces, DSLs and models.

3.2. Intent Solutions & Intent Users

   Different Solutions and Actors have different requirements,
   expectations and priorities for intent driven networking. They
   require different intent types and have different use cases. Some
   users are more technical and require intents that expose more

Li, et al.             Expires January 8, 2020                [Page 4]
Internet-Draft          Intent Classification                July 2019

   technical information. Other users do not understand networks and
   require intents that shield them from different networking concepts
   and technologies. The following are the solutions and intent users
   that intent driven networking needs to support:

            +--------------------+------------------------------------+
            | Solutions          | Intent Users                       |
            +--------------------+------------------------------------+
            | Carrier Networks   | Network Operator                   |
            |                    | Service Designers                  |
            |                    | Service Operators                  |
            |                    | Customers/Subscribers              |
            +--------------------+------------------------------------+
            | DC Networks        | Cloud Administrator                |
            |                    | Underlay Network Administrator     |
            |                    | App Developers                     |
            |                    | End Users                          |
            +--------------------+------------------------------------+
            | Enterprise Networks| Enterprise Administrator           |
            |                    | App Developers                     |
            |                    | Enterprise Administrator           |
            +--------------------+------------------------------------+

3.3. Current Problems & Requirements

   Network APIs and CLIs are too complex due to the fact that they
   expose technologies & topologies. App developers and end-users do
   not want to set IP Addresses, VLANs, subnets, ports, etc. Operators
   and administrators would also benefit from the simpler interfaces,
   like:

   o Allow Customer Site A to be connected to Internet via Network B

   o Allow User A to access all internal resources, except the Server
      B

   o Allow User B to access Internet via Corporate Network A

   o Move all Users from Corporate Network A to the Corporate Network
      B

   o Request Gold VPN service between my sites A, B and C

   o Provide CE Redundancy for all Customer Sites

Li, et al.             Expires January 8, 2020                [Page 5]
Internet-Draft          Intent Classification                July 2019

   o Add Access Rules to my Service

   Networks are complex, with many different protocols and
   encapsulations. Some basic questions are not easy to answer:

   o Can User A talk to User B?

   o Can Host A talk to Host B?

   o Are there any loops in my network?

   o Are Network A and Network B connected?

   o Can User A listen to communications between Users B & C?

   Operators and Administrators manually troubleshoot and fix their
   networks and services. They instead want:

   o a reliable network that is self-configured and self-assured based
      on the intent

   o to be notified about the problem before the user is aware

   o automation of network/service recovery based on intent (self-
      healing, self-optimization)

   o to get suggestions about correction/optimization steps based on
      experience (historical data & behaviour)

   Therefore, Operators and Administrators want to:

   o simplify and automate network operations

   o simplify definitions of network services

   o provide simple customer APIs for Value Added Services (operators)

   o be informed if the network or service is not behaving as
      requested

   o enable automatic optimization and correction for selected
      scenarios

   o have systems that learn from historic information and behaviour

   End-Users cannot build their own services and policies without
   becoming technical experts and they must perform manual maintenance

Li, et al.             Expires January 8, 2020                [Page 6]
Internet-Draft          Intent Classification                July 2019

   actions. Application developers and end-users/subscribers want to be
   able to:

   o build their own network services with their own policies via
      simple interfaces, without becoming networking experts

   o have their network services up and running based on intent and
      automation only, without any manual actions or maintenance

3.4. Intent Types that need to be supported

   The following intent types need to be supported, in order to address
   the requirements from different solutions and intent users:

   o Customer network service intent

        o for customer self-service

        o for service operator orders

        o for intent driven network configuration, verification,
          correction and optimization

   o Network resource management

        o For network configuration

        o For automated lifecycle management of network configurations

        o For network resources (switches, routers, routing, policies,
          underlay)

   o Cloud and cloud resource management

        o For DC configuration, VMs, DB Servers, APP Servers

        o For communication between VMs

        o For cloud resource lifecycle management (policy driven self-
          configuration & auto-scaling & recovery/optimization)

   o Network Policy intent

        o For security, QoS, application policies, traffic steering, etc

        o For configuring & monitoring policies, alarms generation for
          non-compliance, auto-recovery

Li, et al.             Expires January 8, 2020                [Page 7]
Internet-Draft          Intent Classification                July 2019

   o Task based intents

        o For network migration

        o For server replacements

        o For device replacements

        o For network software upgrades

        o To automate any tasks that operators/administrator often
          perform

   o System policies intents

        o For intent management system policies

        o For design models and policies for network service design

        o For design models and policies for network design

        o For design workflows, models and policies for task based
          intents

   o Intents that affect other intents

        o It may be task based intent that modifies many other intents.

        o The task itself is short-lived, but the modification of other
          intents has an impact on their lifecycle, so those changes
          must continue to be continuously monitored and self-
          corrected/self-optimized.

4. Functional Characteristics and Behavior

   Intent can be used to operate immediately on a target (much like
   issuing a command), or whenever it is appropriate (e.g., in response
   to an event).  In either case, intent has a number of behaviors that
   serve to further organize its purpose, as described by the following
   subsections.

4.1. Persistence

   Intents can be classified into transient/persistent intents:

Li, et al.             Expires January 8, 2020                [Page 8]
Internet-Draft          Intent Classification                July 2019

   o If intent is transient, it has no lifecycle management.  As soon
      as the specified operation is successfully carried out, the
      intent is finished, and can no longer affect the target object.

   o If the intent is persistent, it has lifecycle management.  Once
      the intent is successfully activated and deployed, the system
      will keep all relevant intents active until they are deactivated
      or removed.

4.2. Granularity

   Intents can have different granularities: high granularity, low
   granularity and anything in between.

   High granularity intents are more complex to design but are the most
   valuable. Intent translation, intent conflict resolution and intent
   verification are very complex and require advanced algorithms.
   Examples: e2e network service, like customer network service over
   physical & virtual network, over access, metro, dc and wan with all
   related QoS, security and application policies.

   Low granularity intents, like some path checks (can A talk to B) or
   individual network service/network/application/user policies, are
   the least complex. Their intent translation, intent conflict
   resolution and intent verification are much simpler than for high
   granularity intents.

   Granularity requirements of intents for different users - from the
   high granularity e2e network service (e.g. customer network service
   over physical/virtual network infrastructure, AN and WAN with all
   the QoS/Security/App Policies) to some low granularity path checks.

4.3. Hierarchy

   In different phases of the autonomous driving network, the intents
   are different. A typical example of autonomous driving network Level
   0 to 5 are listed as below.

   o Level 0 - Traditional manual network: O&M personnel manually
      control the network and obtain network alarms and logs.

   o Level 1- Partially automated network: Automated scripts are used
      to automate service provisioning, network deployment, and
      maintenance. Shallow perception of network status and decision
      making suggestions of machine;

Li, et al.             Expires January 8, 2020                [Page 9]
Internet-Draft          Intent Classification                July 2019

   o Level 2- Automated network: Automation of most service
      provisioning, network deployment, and maintenance Comprehensive
      perception of network status and local machine decision making;

   o Level 3- Self-optimization network: Deep awareness of network
      status and automatic network control, meeting users' network
      intentions

   o Level 4- Partial autonomous network: In a limited environment,
      people do not need to participate in decision-making and adjust
      themselves.

   o Level 5- Autonomous network: In different network environments
      and network conditions, the network can automatically adapt to
      and adjust to meet people's intentions.

4.4. Abstracting Intent Operation

   The modeling of Policies can be abstracting using the following
   three-tuple:

      {Context, Capabilities, Constraints}

   Context grounds the policy, and determines if it is relevant or not
   for the current situation.  Capabilities describe the functionality
   that the policy can perform.  Capabilities take different forms,
   depending on the expressivity of the policy as well as the
   programming paradigm(s) used.  Constraints define any restictions on
   the capabilities to be used for that particular context.  Metadata
   can be optionally attached to each of the elements of the three-
   tuple, and may be used to describe how the policy should be used and
   how it operates, as well as prescribe any operational dependencies
   that must be taken into account.  Put another way:

   o Context selects policies based on applicability

   o Capabilities describe the functionality provided by the policy

   o Constraints restrict the capabilities offered and/or the behavior
      of the policy

   Hence, the difference between imperative, declarative, and other
   types of policies lies in how the elements of this three-tuple are
   used according to that particular programming paradigm.  This is how
   [SUPA] was designed: a Policy is a container that aggregates a set
   of tatements.

Li, et al.             Expires January 8, 2020               [Page 10]
Internet-Draft          Intent Classification                July 2019

4.5. Policy Subjects and Policy Targets

   Policy subject is the actor that performs the action specified in
   the policy.  It can be the intent management system which executes
   the policy.  Policy target is a set of managed objects which may be
   affected in the policy enforcement.

4.6. Policy Scope

   Policies used to manage the behavior of objects that they are
   applied to (e.g., the target of the policy).  It is useful to
   differentiate between the following categories of targets:

   o Policies defined for the Customer or End-User

   o Policies defined for the management system to act on objects in
      the domain that the management system controls

   o Policies defined for the management system to act on objects in
      one or more domains that the management system does not directly
      control

   The different origins and views of these three categories of actors
   lead to the following important differences:

   o Network Knowledge. This area is explored using three exemplary
      actors that have different knowledge of the network:

        o Customers and end-users do not necessarily know the functional
          and operational details of the network that they are using.
          Furthermore, most of the actors in this category lack skills
          to understand such details; in fact, such knowledge is
          typically not relevant to their job. In addition, the network
          may not expose these details to its users. This class of
          actor focuses on the applications that they run, and uses
          services offered by the network.  Hence, they want to specify
          policies that provide consistent behavior according to their
          business needs. They do not have to worry about how the
          policies are deployed onto the underlying network, and
          especially, whether the policies need to be translated to
          different forms to enable network elements to understand
          them.

Li, et al.             Expires January 8, 2020               [Page 11]
Internet-Draft          Intent Classification                July 2019

        o Application developers work in a set of abstractions defined
          by their application and programming environment(s). For
          example, many   application developers think in terms of
          objects (e.g., a VPN).  While this makes sense to the
          application developer, most network devices do not have a VPN
          object per se; rather, the VPN is formed through a set of
          configuration statements for that device in  concert with
          configuration statements for the other devices that
          together make up the VPN. Hence, the view of application
          developers   matches the services provided by the network,
          but may not directly   correspond to other views of other
          actors.

        o Management personnel, such as network Administrators, may have
          the knowledge of the underlying network. However, they may
          not understand the details of the applications and services
          of Customers and End-Users.

   o Automation. Theoricaly, intents from both end-user and management
      system can be automated. In practice, most intents from end-user
      are created manually according to business request. End-users do
      not create or alter intents unless there is change in business.
      Intents from management systems can be created or altered to
      reflect with network policy change. For example, end-users create
      intents to set up paths between hosts, while the management
      system creates an intent to set a global link utilization limit.

5. The Policy Continuum

   The Policy Continuum defines the set of actors that will create,
   read, use, and manage policy.  Each set of actors has their own
   terminology and concepts that they are familiar with.  This captures
   the fact that business people do not want to use CLI, and network
   operations center personnel do not want to use non-technical
   languages.

6. Involvement of intent in the application of AI to Network Manage
   ment

   In the application of AI to NM, an intent is expected to be, on the
   one hand, a formal definitions of a goal or policy instructed to the
   decision system and, on the other hand, a formal definition of the
   specific actions that some network controller must perform. Goal
   intents and policy intents have different meanings. The former will
   establish an objective for the automated management system to
   accomplish, such as "avoiding latency to be higher than 10 ms".
   Meanwhile, policy intents set the overall regulations and possible

Li, et al.             Expires January 8, 2020               [Page 12]
Internet-Draft          Intent Classification                July 2019

   actions that the AI system can use to achieve those goals. Both goal
   and policy intents are expected to be provided by humans, although
   they must be in some very formal language that can be easily
   understood by computers. All those relations make the degree of
   formality an important dimension to classify intents so that users,
   which here are AI-based agents, can be able to choose the proper
   solution to consume them.

   To enforce the resulting actions determined by AI-based control
   modules, action intents will have a format that avoids
   misconceptions as much as possible. This means that they will be
   closer to machine language structures than natural (human) language
   structures. This can sacrificing some degree of human
   understandability, so it forms another dimension in the
   classification of intents. This dimension allows automated systems
   to discern which format of intent to use in relation to the
   possibility and degree of humans to be involved in their exchanges.

   Finally, as intents can use different words and languages to refer
   to the same concepts, all intents related to AI will be required to
   follow a specific ontology. This way, input intents will be easily
   semantically translated to formal structures. Output intents will
   also be composed by following the ontology, so receivers of those
   intents will be able to easily understand them.

7. Security Considerations

   This document does not have any Security Considerations.

8. IANA Considerations

   This document has no actions for IANA.

9. Contributors

   The following people all contributed to creating this document,
   listed in alphabetical order:

   Richard Meade, Huawei
   Weiping Xu, Huawei

10. Acknowledgments

   This document has benefited from reviews, suggestions, comments and
   proposed text provided by the following members, listed in

Li, et al.             Expires January 8, 2020               [Page 13]
Internet-Draft          Intent Classification                July 2019

   alphabetical order: Brian E Carpenter, Juergen Schoenwaelder,
   Laurent Ciavaglia, Xiaolin Song.

11. References

11.1. Normative References

   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC7575] Behringer, M., Pritikin, M., Bjarnason, S., Clemm, A.,
             Carpenter, B., Jiang, S., and L. Ciavaglia, "Autonomic
             Networking: Definitions and Design Goals", RFC 7575, June
             2015.

   [RFC8328] Liu, W., Xie, C., Strassner, J., Karagiannis, G., Klyus,
             M., Bi, J., Cheng, Y., and D. Zhang, "Policy-Based
             Management Framework for the Simplified Use of Policy
             Abstractions (SUPA)", March 2018.

   [RFC3198] Westerinen, A., Schnizlein, J., Strassner, J.,
             Scherling, M., Quinn, B., Herzog, S., Huynh, A., Carlson,
             M., Perry, J., Waldbusser, S., "Terminology for Intent-
             driven Management", RFC 3198, November 2001.

11.2. Informative References

   [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the
             Network Configuration Protocol (NETCONF)", RFC 6020,
             October 2010.

   [RFC7285] R. Alimi, R. Penno, Y. Yang, S. Kiesel, S. Previdi, W.
             Roome, S. Shalunov, R. Woundy "Application-Layer Traffic
             Optimization (ALTO) Protocol", September 2014.

   [ANIMA] Du, Z., "ANIMA Intent Policy and Format", 2017,
             <https://datatracker.ietf.org/doc/draft-du-anima-an-
             intent/>.

   [ONF] ONF, "Intent Definition Principles", 2017,
             <https://www.opennetworking.org/images/stories/downloads/
             sdn-resources/technical-reports/TR-
             523_Intent_Definition_Principles.pdf>.

   [ONOS] ONOS, "ONOS Intent Framework", 2017,
             <https://wiki.onosproject.org/display/ONOS/Intent+Framewor
             k/>.

Li, et al.             Expires January 8, 2020               [Page 14]
Internet-Draft          Intent Classification                July 2019

   [SUPA] Strassner, J., "Simplified Use of Policy Abstractions",
             2017, <https://datatracker.ietf.org/doc/draft-ietf-supa-
             generic-policy-info-model/?include_text=1>.

   [ANIMA-Prefix] Jiang, S., Du, Z., Carpenter, B., and Q. Sun,
             "Autonomic IPv6 Edge Prefix Management in Large-scale
             Networks", draft-ietf-anima-prefix-management-07 (work in
             progress), December 2017.

Li, et al.             Expires January 8, 2020               [Page 15]
Internet-Draft          Intent Classification                July 2019

Authors' Addresses

   Chen Li
   China Telecom
   No.118 Xizhimennei street, Xicheng District
   Beijing  100035
   P.R. China
   Email: lichen.bri@chinatelecom.cn

   Ying Cheng
   China Unicom
   No.21 Financial Street, XiCheng District
   Beijing  100033
   P.R. China
   Email: chengying10@chinaunicom.cn

   John Strassner
   Huawei Technologies
   2330 Central Expressway
   Santa Clara, CA  95138
   United States of America
   Email: john.sc.strassner@huawei.com

   Olga Havel
   Huawei Technologies
   Email: olga.havel@huawei.com

   Will(Shucheng) Liu
   Huawei Technologies
   Bantian, Longgang District
   Shenzhen  518129
   P.R. China
   Email: liushucheng@huawei.com

   Pedro Martinez-Julia
   NICT
   Japan
   Email: pedro@nict.go.jp

   Jeferson Campos Nobre
   University of Vale do Rio dos Sinos
   Porto Alegre
   Brazil
   Email: jcnobre@inf.ufrgs.br

   Diego R. Lopez
   Telefonica I+D

Li, et al.             Expires January 8, 2020               [Page 16]
Internet-Draft          Intent Classification                July 2019

   Don Ramon de la Cruz, 82
   Madrid  28006
   Spain
   Email: diego.r.lopez@telefonica.com

Li, et al.             Expires January 8, 2020               [Page 17]