Network Working Group C. Li Internet Draft China Telecom Intended status: Informational O. Havel Expires: May 2020 W. Liu Huawei Technologies P. Martinez-Julia NICT J. Nobre UFRGS D. Lopez Telefonica I+D November 18, 2019 Intent Classification draft-li-nmrg-intent-classification-02 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 May 18, 2020. Copyright Notice Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved. Liu, et al. Expires May 18, 2020 [Page 1] Internet-Draft Intent Classification November 2019 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 .................................................... 4 3. Abstract intent requirements ................................. 4 3.1. What is Intent? ......................................... 4 3.2. Intent Solutions & Intent Users ......................... 5 3.3. Current Problems & Requirements ......................... 6 3.4. Intent Types that need to be supported .................. 7 4. Functional Characteristics and Behavior ...................... 9 4.1. Persistence ............................................ 9 4.2. Feedback ............................................... 9 4.3. Hierarchy ............................................. 10 4.4. Abstracting Intent Operation ........................... 11 4.5. Policy Subjects and Policy Targets ..................... 11 4.6. Policy Scope .......................................... 11 5. Intent Classification Table Example ......................... 13 5.1. Intent Classification Table Example (Carrier Solution).. 14 5.1.1. Intent Users and Intent Types ..................... 14 5.1.2. Intent Categories ................................. 16 5.2. Intent Classification Table Example (Data Center Solutions) ........................................................... 18 Li, et al. Expires May 18, 2020 [Page 2] Internet-Draft Intent Classification November 2019 5.2.1. Intent Users and Intent Types ..................... 18 5.2.2. Intent Categories ................................. 20 5.3. Intent Classification Table Example (Enterprise Solution)22 5.3.1. Intent Users and Intent Types ..................... 22 5.3.2. Intent Categories ................................. 23 6. The Policy Continuum ........................................ 25 7. Involvement of intent in the application of AI to Network Manage ment .......................................................... 25 8. Security Considerations ..................................... 27 9. IANA Considerations ........................................ 27 10. Contributors .............................................. 27 11. Acknowledgments ........................................... 27 12. References ................................................ 27 12.1. Normative References .................................. 27 12.2. Informative References ................................ 28 1. Introduction Different SDOs, including IETF [ANIMA], ONF [ONF], ONOS [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]. Li, et al. Expires May 18, 2020 [Page 3] Internet-Draft Intent Classification November 2019 2. Acronyms CLI: Command Line Interface SDO: Standards Development Organization SUPA: Simplified Use of Policy Abstractions 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 / Li, et al. Expires May 18, 2020 [Page 4] Internet-Draft Intent Classification November 2019 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 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 | | | End Users | +--------------------+------------------------------------+ o For carrier networks scenario, for example, if the end users wants to watch high-definition video, then the intent is to convert the video image to 1080p rate for the users. o For DC networks scenario, administrators have their own clear network intent such as load balancing. For all traffic flows that need NFV service chaining, restrict the maximum load of any VNF node/container below 50% and the maximum load of any network link below 70%. Li, et al. Expires May 18, 2020 [Page 5] Internet-Draft Intent Classification November 2019 o For Enterprise Networks scenario, enterprise administrators express their intent from an external client(application service provider).For example, when hosting a video conference, multiple remote access is required. The intent expressed to the network operator: For any user of this application, the arrival time of hologram objects of all the remote tele-presenters should be synchronised within 50ms to reach the destination viewer for each conversation session. 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 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? Li, et al. Expires May 18, 2020 [Page 6] Internet-Draft Intent Classification November 2019 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 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 Li, et al. Expires May 18, 2020 [Page 7] Internet-Draft Intent Classification November 2019 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 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 Li, et al. Expires May 18, 2020 [Page 8] Internet-Draft Intent Classification November 2019 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: 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. Feedback Intent can be classified by whether it is necessary to feedback the network information to the intended proponent after the intent is executed. Li, et al. Expires May 18, 2020 [Page 9] Internet-Draft Intent Classification November 2019 o For ordinary users, they don't care how the intent is executed,or the details of the network. As a result, they don't need to know the configuration information of the underlying network. They only focus on whether the intent execution result achieves the goal, and the execution effect such as the quality of completion and the length of execution. o For administrators, such as network administrators, they perform intents, such as allocating network resources, selecting transmission paths, handling network failures, etc. They require multiple feedback indicators for network resource conditions, congestion conditions, fault conditions, etc. after execution. 4.3. Hierarchy In different phases of the autonomous driving network[TMF-auto], 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. - No intent 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; - No intent o Level 2 - Automated network: Automation of most service provisioning, network deployment, and maintenance comprehensive perception of network status and local machine decision making; - simple intent on service provisioning o Level 3 - Self-optimization network: Deep awareness of network status and automatic network control, meeting users' network intentions. - Intent based on network status cognition o Level 4 - Partial autonomous network: In a limited environment, people do not need to participate in decision-making and adjust themselves. - Intent based on limited AI 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. - Intent based on AI Li, et al. Expires May 18, 2020 [Page 10] Internet-Draft Intent Classification November 2019 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. 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: Li, et al. Expires May 18, 2020 [Page 11] Internet-Draft Intent Classification November 2019 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. 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. Li, et al. Expires May 18, 2020 [Page 12] Internet-Draft Intent Classification November 2019 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. Intent Classification Table Example This chapter proposes the intent classification table approach that may help to classify mainstream intent related demos / tools. The table was created based on the following: o Comments from Chairs that it would be better to have one table that would collect all classification info from the text in our draft, so that it could be used for easy classification of different tools / demos going forward, starting with the ones presented at the meeting o Categories were initially created solely based on info from this draft and expanded based on some discussions during the NMRG 56th meeting and some additional categories mentioned during demo presentations (e.g. Applications, VNFs, Network Scope) This document contains simplified table split into multiple tables. The full table would be shared on the web site. We first classify intents into intent types and describe each type based on the solution it belongs to and what intent user it is for. We than present different categories that these intent type can belong to, based on intent scope, network scope, intent abstraction and lifecycle. Li, et al. Expires May 18, 2020 [Page 13] Internet-Draft Intent Classification November 2019 5.1. Intent Classification Table Example (Carrier Solution) 5.1.1. Intent Users and Intent Types The following table describes the Intent Users in Carrier Solutions and Intent Types with their descriptions for different intent users. +-------------+-------------+--------------------------------------------------+ | Intent User | Intent Type | Intent Type Description | +-------------+-------------+--------------------------------------------------+ | Customer/ | Customer | Customer Self-Service with SLA & Value Added | | Subscriber | Service | Service | | | Intent | | | +-------------+--------------------------------------------------+ | | Strategy | Customer's design-time intents (e.g. policies, | | | Intent | models) that define relationships between | | | | Customer Intents and Network Service Intents | +-------------+-------------+--------------------------------------------------+ | Network | Network | Service provided by the Network Service Operator | | Operator | Service | to the Customer (e.g. the Service Operator). | | | Intent | This is the 'promise' declared to the customer | | +-------------+--------------------------------------------------+ | | Network | Network Operator requests network-wide (service | | | Intent | underlay or other network-wide configuration) or | | | | network resource configurations (switches, | | | | routers, routing, policies). Includes | | | | Connectivity, Routing, QoS, Security, | | | | Application Policies, Traffic Steering Policies, | | | | Configuration policies, Monitoring policies, | | | | alarm generation for non-compliance, | | | | auto-recovery, etc. No overlap with other intents| | +-------------+--------------------------------------------------+ | | Operational | Network Operator requests execution of any | | | Task | automated task other than Network Service Intent | | | Intent | and Network Intent (e.g. Network Migration, | | | | Server Replacements, Device Replacements, | | | | Network Software Upgrades. | | +-------------+--------------------------------------------------+ | | Strategy | Operator's design-time intents (e.g. policies, | | | Intent | models, scripts, workflows) to be used by | | | | Network Service, Network and Operational Task | | | | Intents. Workflows can automate any tasks that | | | | Network Operator often performed in addition to | | | | Network Service Intents and Network Intents | +-------------+-------------+--------------------------------------------------+ Li, et al. Expires May 18, 2020 [Page 14] Internet-Draft Intent Classification November 2019 +-------------+-------------+--------------------------------------------------+ | Intent User | Intent Type | Intent Type Description | +-------------+-------------+--------------------------------------------------+ | Service | Customer | Service Operator's Customer Orders, Customer | | Operator | Service | Service / SLA | | | Intent | | | +-------------+--------------------------------------------------+ | | Network | Service Operator's Network Orders / Network SLA | | | Service | | | | Intent | | | +-------------+--------------------------------------------------+ | | Operational | Service Operator requests execution of the any | | | Task | automated task other than Customer Service Intent| | | Intent | and Network Service Intent | | +-------------+--------------------------------------------------+ | | Strategy | Operator's design-time intents (e.g. policies, | | | Intent | models, scripts, workflows) to be used by | | | | Network Service, Network and Operational Task | | | | Intents. Workflows can automate any tasks that | | | | Network Operator often performed in addition to | | | | Network Service Intents and Network Intents | +-------------+-------------+--------------------------------------------------+ | Application | Customer | Customer Service Intent API provided to the | | Developer | Service | Application Developers (internal DevOps or | | | Intent | external VAS developers / integrators) | | +-------------+--------------------------------------------------+ | | Network | Network Service Intent API provided to the | | | Service | Application Developers (internal DevOps or | | | Intent | external) | | +-------------+--------------------------------------------------+ | | Network | Network Intent API provided to the | | | Intent | Application Developers (internal DevOps or | | | | external) | | +-------------+--------------------------------------------------+ | | Operational | Operational Task Intent API provided to the | | | Task | Application Developers. This is for the trusted | | | Intent | internal Operator / Service Providers / Customer | | | | DevOps | | +-------------+--------------------------------------------------+ | | Strategy | Application Developer design policies, models, | | | Intent | scripts, building blocks and workflows to be used| | | | by Customer, Service, Network and Operational | | | | Task Intents. This is for the trusted internal | | | | Operator / Service Provider / Customer DevOps | +-------------+-------------+--------------------------------------------------+ Li, et al. Expires May 18, 2020 [Page 15] Internet-Draft Intent Classification November 2019 5.1.2. Intent Categories The following arethe proposed categories: Intent Scope: C1=Connectivity, C2=Security, C3=Application, C4=QoS Network Function (NF) Scope: C1=VNFs, C2=PNFs Network Scope: C1=Radio Access, C2=Transport Access, C3=Transport Aggregation, C4=Transport Core, C5=Cloud Edge, C6=Cloud Core) Abstraction(ABS): C1=Technical(with technical feedback), C2=Non-technical (without technical feedback) , see Section 4.2 Life-cycle (L-C): C1=Persistent (Full life-cycle), C2=Transient (Short Lived) The following is the Classification Table Example for Carrier. +-------------+-------------+-----------+-----+-----------------+-----+-----+ | Intent User | Intent Type | Intent | NF | Network | ABS |L-C | | | | Scope |Scope| Scope | | | | | +-----------+-----+-----------------+-----+-----+ | | |C1|C2|C3|C4|C1|C2|C1|C2|C3|C4|C5|C6|C1|C2|C1|C2| +-------------+-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | Customer/ | Customer | | | | | | | | | | | | | | | | | | Subscriber | Service | | | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Strategy | | | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | | +-------------+-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | Network | Network | | | | | | | | | | | | | | | | | | Operator | Service | | | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Network | | | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Operational | | | | | | | | | | | | | | | | | | | Task | | | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Strategy | | | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | | +-------------+-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ Li, et al. Expires May 18, 2020 [Page 16] Internet-Draft Intent Classification November 2019 +-------------+-------------+-----------+-----+-----------------+-----+-----+ | Intent User | Intent Type | Intent | NF | Network | ABS |L-C | | | | Scope |Scope| Scope | | | | | +-----------+-----+-----------------+-----+-----+ | | |C1|C2|C3|C4|C1|C2|C1|C2|C3|C4|C5|C6|C1|C2|C1|C2| +-------------+-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | Service | Customer | | | | | | | | | | | | | | | | | | Operator | Service | | | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Network | | | | | | | | | | | | | | | | | | | Service | | | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Operational | | | | | | | | | | | | | | | | | | | Task | | | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Strategy | | | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | | +-------------+-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | Application | Customer | | | | | | | | | | | | | | | | | | Developer | Service | | | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Network | | | | | | | | | | | | | | | | | | | Service | | | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Network | | | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Operational | | | | | | | | | | | | | | | | | | | Task | | | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Strategy | | | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | | +-------------+-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ Li, et al. Expires May 18, 2020 [Page 17] Internet-Draft Intent Classification November 2019 5.2. Intent Classification Table Example (Data Center Solutions) 5.2.1. Intent Users and Intent Types The following table describes the Intent Users in DCN Solutions and Intent Types with their descriptions for different intent users. +---------------+-------------+------------------------------------------------+ | Intent User | Intent Type | Intent Type Description | +---------------+-------------+------------------------------------------------+ | Customer / | Customer | Customer Self-Service via Tenant Portal, | | Tenants | Intent | Customers may have multiple type of end-users | | +-------------+------------------------------------------------+ | | Strategy | Customer's design-time intents (e.g. policies | | | Intent | models) designed by Customers/Tenants to define| | | | relationship between Customer and End-User | | | | Intents and exposed cloud and network service | | | | intents | +---------------+-------------+------------------------------------------------+ | Cloud | Cloud | Configuration of VMs, DB Servers, App Servers, | | Administrator | Management | Connectivity, Communication between VMs. | | | Intent | | | +-------------+------------------------------------------------+ | | Cloud | Policy-driven self-configuration & | | | Resource | & recovery / optimization | | | Management | | | | Intent | | | +-------------+------------------------------------------------+ | | Operational | Cloud Administrator requests execution of any .| | | Task Intent | automated task other than Cloud Management | | | | Intents and Cloud Resource Management Intents | | +-------------+------------------------------------------------+ | | Strategy | Cloud Administrator designs policies, models, | | | Intent | scripts and/or workflows to be used to realize | | | | other intents. Automate any tasks that admin | | | | often performs, in addition to lifecycle of | | | | Cloud Management Intents and Cloud Management | | | | Resource Intents. | +---------------+-------------+------------------------------------------------+ Li, et al. Expires May 18, 2020 [Page 18] Internet-Draft Intent Classification November 2019 +---------------+-------------+------------------------------------------------+ | Intent User | Intent Type | Intent Type Description | +---------------+-------------+------------------------------------------------+ | Underlay | Underlay | Service created and provided by the Underlay | | Network | Network | Network Administrator | | Administrator | Service | | | | Intent | | | +-------------+------------------------------------------------+ | | Underlay | Underlay Network Administrator requests some | | | Network | DCN-wide underlay network configuration or | | | Intent | network resource configurations. | | +-------------+------------------------------------------------+ | | Operational | Underlay Network Administrator requests | | | Task Intent | execution of the any automated task other than | | | | Underlay Network Service and Resource Intent. | | +-------------+------------------------------------------------+ | | Strategy | Underlay Network Administrator designs models, | | | Intent | policy intents, scripts and/or workflows to be | | | | used to realize other intents. Automate any | | | | tasks that Administrator often performs | +---------------+-------------+------------------------------------------------+ | Application | Cloud | Cloud Management Intent API provided to the | | Developer | Management | Application Developers | | | Intent | | | +-------------+------------------------------------------------+ | | Cloud | Cloud Resource Management Intent API provided | | | Resource | to the Application Developers | | | Management | | | | Intent | | | +-------------+------------------------------------------------+ | | Underlay | Underlay Network Service API provided to the | | | Network | Application Developers | | | Service | | | | Intent | | | +-------------+------------------------------------------------+ | | Underlay | Underlay Network Resource API provided to the | | | Network | Application Developers | | | Intent | | | +-------------+------------------------------------------------+ | | Operational | Operational Task Intent API provided to the | | | Task Intent | trusted Application Developer (internal DevOps)| | +-------------+------------------------------------------------+ | | Strategy | Application Developer designs models, policy | | | Intent | intents & building blocks to be used by other | | | | intents. This is for the trusted internal DCN | | | | DevOps. | +---------------+-------------+------------------------------------------------+ Li, et al. Expires May 18, 2020 [Page 19] Internet-Draft Intent Classification November 2019 5.2.2. Intent Categories The following are the proposed categories: Intent Scope: C1=Connectivity, C2=Security, C3=Application, C4=QoS C5=Storage C6=Compute DCN Resource (DCN Res) Scope: C1=Virtual, C2=Physical DCN Network (DCN Net) Scope: C1=Logical, C2=Physical Abstraction(ABS): C1=Technical(with technical feedback), C2=Non-technical (without technical feedback), see Section 4.2 Life-cycle (L-C): C1=Persistent (Full life-cycle), C2=Transient (Short Lived) The following is the Classification Table Example for DC Solutions. +---------------+-------------+-----------------+-----+-----+-----+-----+ | Intent User | Intent Type | Intent | DCN | DCN | ABS | L-C | | | | Scope | Res | Net | | | | | +-----------------+-----+-----+-----+-----+ | | |C1|C2|C3|C4|C5|C6|C1|C2|C1|C2|C1|C2|C1|C2| +---------------+-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | Customer / | Customer | | | | | | | | | | | | | | | | Tenants | Intent | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Strategy | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | +---------------+-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | Cloud | Cloud | | | | | | | | | | | | | | | | Administrator | Management | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Cloud | | | | | | | | | | | | | | | | | Resource | | | | | | | | | | | | | | | | | Management | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Operational | | | | | | | | | | | | | | | | | Task Intent | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Strategy | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | +---------------+-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ Li, et al. Expires May 18, 2020 [Page 20] Internet-Draft Intent Classification November 2019 +---------------+-------------+-----------------+-----+-----+-----+-----+ | Intent User | Intent Type | Intent | DCN | DCN | ABS | L-C | | | | Scope | Res | Net | | | | | +-----------------+-----+-----+-----+-----+ | | |C1|C2|C3|C4|C5|C6|C1|C2|C1|C2|C1|C2|C1|C2| +---------------+-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | Underlay | Underlay | | | | | | | | | | | | | | | | Network | Network | | | | | | | | | | | | | | | | Administrator | Service | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Underlay | | | | | | | | | | | | | | | | | Network | | | | | | | | | | | | | | | | | Resource | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Operational | | | | | | | | | | | | | | | | | Task Intent | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Strategy | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | +---------------+-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | Application | Cloud | | | | | | | | | | | | | | | | Developer | Management | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Cloud | | | | | | | | | | | | | | | | | Resource | | | | | | | | | | | | | | | | | Management | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Underlay | | | | | | | | | | | | | | | | | Network | | | | | | | | | | | | | | | | | Service | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Underlay | | | | | | | | | | | | | | | | | Network | | | | | | | | | | | | | | | | | Resource | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Operational | | | | | | | | | | | | | | | | | Task Intent | | | | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | Strategy | | | | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | | | +---------------+-------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ Li, et al. Expires May 18, 2020 [Page 21] Internet-Draft Intent Classification November 2019 5.3. Intent Classification Table Example (Enterprise Solution) 5.3.1. Intent Users and Intent Types The following table describes the Intent Users in Enterprise Solutions and their Intent Types. +--------------+-------------+--------------------------------------------------+ | Intent User | Intent Type | Intent Type Description | +------------ -+-------------+--------------------------------------------------+ | End-User | End-User | Enterprise End User Self-Service or Applications,| | | Intent | Enterprise may have multiple types of End-Users | | +-------------+--------------------------------------------------+ | | Strategy | End-users design time intents (e.g. policies, | | | Intent | models) that define relationships between | | | | End-User Intents and Network Service Intents | +--------------+-------------+--------------------------------------------------+ | | Network | Service provided by the Administrator to the | | Administrator| Service | End-Users and their Applications. | | (internal or | Intent | This is the 'promise' declared to the end-user | | MSP) +-------------+--------------------------------------------------+ | | Network | Administrator requires network wide configuration| | | Intent | (e.g. underlay, campus) or resource | | | | configuration (switches, routers, policies) | | +-------------+--------------------------------------------------+ | | Operational | Administrator requests execution of any | | | Task Intent | automated task other than Network Service | | | | Intents and Network Intents | | +-------------+--------------------------------------------------+ | | Strategy | Administrator designs policies, models, script | | | Intent | and/or workflows to be used by other intents. | | | | Automate any tasks that Administrator | | | | often performs. | +--------------+-------------+--------------------------------------------------+ Li, et al. Expires May 18, 2020 [Page 22] Internet-Draft Intent Classification November 2019 +--------------+-------------+--------------------------------------------------+ | Intent User | Intent Type | Intent Type Description | +------------ -+-------------+--------------------------------------------------+ | Application | End-User | End-User Service / Application Intent API | | Developer | Intent | provided to the Application Developers | | +-------------+--------------------------------------------------+ | | Network | Network Service API Provided to Application | | | Service | Developers | | | Intent | | | +-------------+--------------------------------------------------+ | | Network | Network API Provided to Application Developers | | | Intent | | | +-------------+--------------------------------------------------+ | | Operational | Operational Task Intent API provided to the | | | Task Intent | trusted Application Developer (internal DevOps) | | +-------------+--------------------------------------------------+ | | Strategy | Application Developer designs policies, models, | | | Intent | scripts & building blocks to be used by other | | | | intents. This is for the trusted internal DevOps | +--------------+-------------+--------------------------------------------------+ 5.3.2. Intent Categories The following are the proposed categories: Intent Scope: C1=Connectivity, C2=Security, C3=Application, C4=QoS Enterpise Network (Net) Scope: C1=Campus, C2=Branch, C3=SD-WAN Abstraction(ABS): C1=Technical(with technical feedback), C2=Non-technical (without technical feedback), see Section 4.2 Life-cycle (L-C): C1=Persistent (Full life-cycle), C2=Transient (Short Lived) Li, et al. Expires May 18, 2020 [Page 23] Internet-Draft Intent Classification November 2019 The following is the Intent Classification Table Example for Enterprise Solutions. +---------------+-------------+-----------+--------+-----+-----+ | Intent User | Intent Type | Intent | Net | ABS | L-C | | | | Scope | | | | | | +-----------+--------+-----+-----+ | | |C1|C2|C3|C4|C1|C2|C3|C1|C2|C1|C2| +---------------+-------------+--+--+--+--+--+--+--+--+--+--+--+ | End-User | End-User | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+ | | Strategy | | | | | | | | | | | | | | Intent | | | | | | | | | | | | +---------------+-------------+--+--+--+--+--+--+--+--+--+--+--+ | Enterprise | Network | | | | | | | | | | | | | Administrator | Intent | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+ | | Strategy | | | | | | | | | | | | | | Intent | | | | | | | | | | | | +---------------+-------------+--+--+--+--+--+--+--+--+--+--+--+ | Application | End-User | | | | | | | | | | | | | Developer | Intent | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+ | | Network | | | | | | | | | | | | | | Service | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+ | | Network | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+ | | Operational | | | | | | | | | | | | | | Task | | | | | | | | | | | | | | Intent | | | | | | | | | | | | | +-------------+--+--+--+--+--+--+--+--+--+--+--+ | | Strategy | | | | | | | | | | | | | | Intent | | | | | | | | | | | | +---------------+-------------+--+--+--+--+--+--+--+--+--+--+--+ Li, et al. Expires May 18, 2020 [Page 24] Internet-Draft Intent Classification November 2019 6. 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. 7. 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 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. AI technology has played an important role in the different stages of the intent network implementation. o Help identify and prevent security threats: Classification algorithms can attempt to identify malware or other undesirable web content or usage; o Intentional translation: use AI algorithm to assist the translation module, split translation into the requirements contained in the semantics of the intention; automatic delivery and execution strategy;Automate tasks and appropriate network changes based on the existing network infrastructure configuration according to the policy model; o Adaptive adjustment: perceive the quality of the user experience and perform predictive analysis to proactively optimize performance, such as excessive access time; Li, et al. Expires May 18, 2020 [Page 25] Internet-Draft Intent Classification November 2019 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. For instance, in the intent classification, the machine learning algorithm can be utilized to extract the intent feature values and classify the intent according to the intent feature distribution. For example, using artificial intelligence clustering algorithm, a large number of intents proposed by different users are used as training data to extract multiple feature dimensions, such as vocabulary information intended to be used, related feature parameters, context proposed by the intent, and the like.Cluster analysis is performed in the same form as the coordinate system, and multiple categories are classified according to the characteristics of the sample point distribution. For the input intent later, the category of the intent is judged based on the similarity with all categories. o For specific classification intents, such as safety or fault information, conditions can be preset in advance, and once a common error message occurs, it will automatically alarm. o For the network resource information, set the corresponding threshold information. When there is a certain number of link users or the network traffic is too large, the adjustment intention is started. o For users with higher priority, the resources can be configured preferentially. Li, et al. Expires May 18, 2020 [Page 26] Internet-Draft Intent Classification November 2019 8. Security Considerations This document does not have any Security Considerations. 9. IANA Considerations This document has no actions for IANA. 10. Contributors The following people all contributed to creating this document, listed in alphabetical order: Ying Chen, China Unicom Richard Meade, Huawei John Strassner, Huawei Xueyuan Sun, China Telecom Weiping Xu, Huawei 11. Acknowledgments This document has benefited from reviews, suggestions, comments and proposed text provided by the following members, listed in alphabetical order: Brian E Carpenter, Juergen Schoenwaelder, Laurent Ciavaglia, Xiaolin Song. 12. References 12.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. Li, et al. Expires May 18, 2020 [Page 27] Internet-Draft Intent Classification November 2019 [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. 12.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, . [ONF] ONF, "Intent Definition Principles", 2017, . [ONOS] ONOS, "ONOS Intent Framework", 2017, . [SUPA] Strassner, J., "Simplified Use of Policy Abstractions", 2017, . [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. [TMF-auto] Aaron Richard Earl Boasman-Patel,et, A whitepaper of Autonomous Networks: Empowering Digital Transformation For the Telecoms Industry, inform.tmforum.org, 15 May, 2019. Li, et al. Expires May 18, 2020 [Page 28] Internet-Draft Intent Classification November 2019 Authors' Addresses Chen Li China Telecom No.118 Xizhimennei street, Xicheng District Beijing 100035 P.R. China Email: lichen.bri@chinatelecom.cn Olga Havel Huawei Technologies Email: olga.havel@huawei.com Will(Shucheng) Liu Huawei Technologies 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 Don Ramon de la Cruz, 82 Madrid 28006 Spain Email: diego.r.lopez@telefonica.com Li, et al. Expires May 18, 2020 [Page 29]