US20170264491A1 - Intent based controller for provisioning a network - Google Patents

Intent based controller for provisioning a network Download PDF

Info

Publication number
US20170264491A1
US20170264491A1 US15/437,182 US201715437182A US2017264491A1 US 20170264491 A1 US20170264491 A1 US 20170264491A1 US 201715437182 A US201715437182 A US 201715437182A US 2017264491 A1 US2017264491 A1 US 2017264491A1
Authority
US
United States
Prior art keywords
network
communication
forwarding
placement
intent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US15/437,182
Inventor
Denis DeRuijter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Optum Inc
Original Assignee
Optum Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Optum Inc filed Critical Optum Inc
Priority to US15/437,182 priority Critical patent/US20170264491A1/en
Assigned to OPTUMI, INC. reassignment OPTUMI, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DERUIJTER, DENIS
Publication of US20170264491A1 publication Critical patent/US20170264491A1/en
Priority to US16/551,625 priority patent/US10862748B1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0883Semiautomatic configuration, e.g. proposals from system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/20Network management software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth

Definitions

  • the present disclosure relates to managing network infrastructure and to a controller for provisioning the infrastructure in a manner that makes very efficient use of the infrastructure capabilities.
  • FIG. 1 is a diagram showing a network arrangement having several different sites.
  • FIG. 2 is a diagram illustrating an abstract representation of a network showing forwarding and processing elements.
  • FIG. 3 is a diagram illustrating a network having intent driven controller elements and non-intent driven controller elements.
  • FIG. 4 is a diagram showing functional blocks comprising an intent driven element controller for forwarding and processing elements.
  • FIG. 5 is a diagram showing the organization of sector and region intent driven controllers in a hierarchical control plane.
  • FIG. 6 is a diagram showing processing elements linked to one another through communication spheres.
  • FIG. 7 is a diagram illustrating processing steps in a placement algorithm 700 used to determine optimal forwarding topologies.
  • FIG. 8 is a logical flow diagram of the processing steps for an ordering algorithm 800 .
  • FIG. 9 is a diagram illustrating the distribution of placement algorithm execution across a plurality of intent driven controllers.
  • FIG. 10 is a diagram illustrating asymmetrical forwarding behavior between a plurality of endpoints.
  • FIG. 11 is a diagram illustrating how mission critical software applications can leverage intent to interact with the network infrastructure.
  • IDC intent driven controller
  • intent-driven networks provide the means to create agile networks where the applications or operators can express what they need without having to detail how to make it so.
  • IDC controlled networks deliver a fluid resource fabric where applications express the logical compute, storage and networking capabilities they need so we can optimally select and provision the physical processors, disk drives and networking resources to provide them.
  • FIG. 1 this figure shows a number of different sites (datacenters, corporate offices, campus, residences, radio/satellite facilities) with local networks (LANs) that are interconnected by public or private wide area networks (WANs).
  • a site can use wired and wireless networks to connect a variety of devices (computation and storage systems, sensors, actuators, printers, smart phones, tablets, etc.).
  • Such devices provide one or more abstract compute, input, output, storage and communication functions.
  • a system is a clustering of such devices located within, partially within, or across one or more sites.
  • We refer to the communication functions in such devices as forwarding elements (whether they represent individual enclosures or integrated functionality) connected by communication channels as the abstraction for the transmission paths irrespective of ISO layer.
  • processing elements relay, mirror or filter communication traffic, and the processing elements produce, consume, retain or transform the data as carried by communication channels and forwarding elements.
  • processing and forwarding elements may be physically combined in one device (for instance a compute server that can relay traffic between Ethernet ports).
  • IDC Intent Driven Controller
  • Intent Driven Controller elements as Intent Driven Controller physical or virtual machines or Intent Driven Controller physical or virtual switches, and displays the forwarding and processing elements in four rings, labeled 300 , 310 , 320 , and 330 , with Intent Driven Controller elements and communication channels, the latter illustrated as solid lines, and conventional, non-Intent Driven Controller elements and communication channels, the latter being illustrated as dashed lines. It illustrates interconnections of forwarding and processing elements and shows how an Intent Driven Controller network might co-exist with or exchange traffic with a conventional, non-Intent Driven Controller network using inter-domain communication channels, the latter illustrated by dotted lines.
  • one or more Intent Driven Controllers provide for communication among processing elements by operating forwarding elements and communication channels.
  • the Intent Driven Controllers are comprised of software programs that execute on physical or virtual computers and communicate with one or more forwarding elements and communication channels under their control.
  • an Intent Driven Controller is referred to as an IDC.
  • Forwarding elements, processing elements, communication channels and controllers all have attributes—whether implemented in hardware, firmware or software—that we separate into three distinct categories as capabilities, configuration and state.
  • capabilities are immutable attributes that describe inherent functions, features or operating aspects which includes, but is not limited to, information across various ISO layers like number of ports, possible line speeds, alternative signal encodings, propagation delay characteristics, internal table capacities, functional abilities and various internal compositions such as the presence of crossbars to forward signal streams, switches to forward frames, routers to forward datagrams, etc.
  • Configuration refers to dynamic attributes that can only be changed through administrative action and includes, but is not limited to, information like enabling and disabling features, protocol options, operating limits.
  • Examples are permitted line speeds, turning auto-negotiation on and off, encryption settings, overclocking a device and manipulating forwarding behavior in crossbars, switches and routers.
  • State refers to dynamic information that is modified as a result of autonomous operation and includes, but is not limited to, statistics counters, learned forwarding behavior, auto-negotiated line rates. While it is noted that some functionality might appear to fit more than one description, this may be an indication that they are different attributes.
  • line speed could refer to the set of line speeds a device can support (capability), or the set of line speeds a device is permitted to support (configuration) or the actual line speed with which it is currently operating (state).
  • the IDC 400 is comprised of a controller function 410 , a configuration repository 420 , a capability repository 411 , a capability retrieve function 413 , a configuration retrieve function 414 , a configuration retrieve function 414 , a configuration modification function 415 , a state retrieve function 416 , and a state repository 412 .
  • the capability retrieve function 413 operates to enable the retrieval of the capabilities of the IDC 400 .
  • the capability repository 411 represents the capabilities of the IDC and all of the forwarding functions 405 and communication channels 406 that can be operated by the controller.
  • the configuration retrieve function 414 operates to enable the retrieval of current and possibly past configurations of the IDC and any forwarding functions and communication channels under its operation.
  • the configuration modification function 415 enables the modification of the current or any alternative configuration of the IDC and any forwarding functions and communication channels under its operation.
  • the configuration repository 420 represents the current and possibly past configuration of the IDC and any forwarding functions and communication channels under its operation.
  • the state retrieve function 416 enables the retrieval of the current and possibly past state of the IDC and any forwarding functions and communication channels under its operation.
  • the state repository represents the current and possibly past state of the IDC and any forwarding functions and communication channels under its operation
  • the controller function 410 represents the core IDC function that controls the behavior of the forwarding functions and the communication channels under its operation in order to forward communication traffic as indicated by the information in the configuration repository. In addition, it assists in determining the capabilities, state and configuration of the forwarding functions and communication channels.
  • the element controller is responsible for one or more forwarding elements and communication channels.
  • a sector IDC is responsible for the forwarding behavior of all the element IDCs in its sector
  • a region IDC is responsible for the forwarding behavior of all the forwarding elements in its subordinate region and sector IDCs.
  • the forwarding behavior required to render a communication service is orchestrated by the unique region or sector IDC that is lowest in the IDC hierarchy and responsible for all the forwarding elements that are attached to endpoints involved in the communication service. Error! Reference source not found. shows the organization of sector and region IDCs to form a hierarchical control plane 500 .
  • Each element, sector and region IDC provides an API to create, modify and retrieve the configuration of the given intent-driven network, to retrieve the state of the given intent-driven network, and to retrieve the capabilities of the given intent-driven network.
  • IDCs in the controller organization can communicate with each other using forwarding functions and communication channels (illustrated in Error! Reference source not found.), either dedicated to control plane communication (out-of-band control) or shared with the data plane (in-band control).
  • the Forwarding Precedence facets in Table 1 represents the forwarding priority and reservation strategy for the propagation of communication traffic.
  • the Minimum, Typical and Maximum bandwidth needed for communication traffic are three separate facets.
  • Oversubscription is a ratio to reduce the bandwidth requested by a communication service for sharing the more limited bandwidth available on the communication equipment.
  • Latency is the sensitivity of communication traffic to delay.
  • Loss tolerance is the sensitivity of communication traffic to loss of data.
  • Encryption is the security protection of communication traffic, and forwarding confluence is the provisioned redundancy of alternative forwarding paths for communication traffic.
  • a communication facet can be assigned a communication facet value (which can be a scalar or a set of scalars).
  • a communication sphere 600 is a set of endpoints (labeled 601 , 602 , 603 and 604 ) that communicate over a given connectivity pattern (communication links illustrated as lines with arrows) with specific communication services where an endpoint can represent processing elements or even external networks.
  • the connectivity pattern in FIG. 6 connects the endpoints in the communication sphere 600 and is constructed of one or more superimposed forks.
  • a fork is a unidirectional conduit that propagates communication traffic from one endpoint (the input segment) to N endpoints (output segments) where N is an integral number greater than zero.
  • a communication service is a set of service profiles attached to a fork where a service profile is defined as a set of communication facets with communication facet values, and where the service profile is optionally accompanied by a traffic qualifier to narrow the applicable communication traffic. Desired communication services for a given system can be specified by a network administrator, by an application or scripts to a region, sector or element controller which will retain or distribute that information as configuration as needed to control the given intent-driven network.
  • a placement algorithm 700 operates to build intent-driven networks and uses communication services to determine forwarding topologies. This methodology is referred to here as “placing a communication service”.
  • a topography model is defined as a database that represents the connectivity among forwarding elements, processing elements and communication channels in a given system. The topography model allows us to evaluate the different options to direct communication traffic over the communication channels and forwarding elements.
  • a resource model is defined as a database that represents the capabilities, configuration and state of the forwarding elements, processing elements, communication channels and controllers in a given intent-driven network. The resource model encompasses physical and logical properties including current and historical information. The resource model allows us to evaluate and track the rendering of communication services in the topography model.
  • FIG. 7 shows processing steps comprising the placement algorithm 700 that can be used to determine the optimal forwarding topologies for communication traffic in the communication spheres in a given intent-driven network.
  • the placement algorithm 700 that can be used to determine the optimal forwarding topologies for communication traffic in the communication spheres in a given intent-driven network.
  • one or more service tables, placement tables and provisioning tables are initialized.
  • communication channels between forwarding elements are detected in a given system leveraging common detection methods.
  • a topography model of the forwarding elements, processing elements and communication channels in the given system is composed, and at 704 a resource model of the forwarding elements, processing elements, communication channels and controllers in the given system is composed.
  • a service table is created containing all permitted communication services in all communication spheres in the given system sorted in order of descending importance as determined by a system administrator, software program or artificial intelligence service (possibly after considering the application, subsystem or other metadata associated with the communication sphere), and at 706 a prioritized placement table is created, that lists communication services in the order they will be placed into the topography from most important to least important, by placing all communication services from the service table using an ordering algorithm described later. Then at 707 , a provisioning table is created is created for each subsequent communication service in the placement table, starting with the first, as follows.
  • the set of possible forwarding topologies is computed that fulfill or partially fulfill the communication service given the topography and resource models and select one to yield the provisional forwarding topology, possibly considering other communication services from the placement table to make a prescient choice among alternative topologies, the provisional forwarding topology is appended to the provisioning table, and the resource model is updated to record the resources that are claimed by the provisional forwarding topology. Then in 708 , a forwarding topology is configured by reflecting all provisional topologies from the provisioning table into the forwarding elements and communication channels in order to configure their operation in accordance with these provisional topologies.
  • Reference source not found. shows the processing steps comprising an ordering algorithm 800 that operates to generate the placement table from the service table. It is primarily driving by communication facets, but other aspects can be considered during ordering, for instance the application, subsystem, endpoint or communication sphere that is involved in the communication traffic.
  • the comparison operator enables communication facet values to be ordered by value and thus by implied importance.
  • communication facet values may be represented by a set of one or more scalars and that the comparison operator may perform comparisons for each scalar in the set.
  • a placement clause as a simple or compound Boolean expression that resolves to true (or false) and that determines whether a service is to be placed (or not placed) in the placement table.
  • each column represents a communication facet or placement condition and where each row represents a set of communication facet clauses or placement clauses each corresponding to a communication facet or placement condition in a column of the placement matrix.
  • An administrator is allowed to modify the columns and the rows of the placement matrix or change the communication facet clauses or placement clauses they contain.
  • the ordering algorithm 800 can take entries from the service table and place them into the placement table in an order that is determined by the placement matrix as follows.
  • the impact of the placement matrix is to allow the administrator to determine the order in which communication services are placed in the topography which in turn can lead to different forwarding topologies. This approach forms the basis for the administrator to affect the behavior of the forwarding elements based on high-level intent directives.
  • New placement aspects can be added as columns to the placement matrix and rows can be inserted or removed to provide different comparison rules.
  • Service table entries can be expanded to specify these new placement aspects so they can be similarly processed by the placement and ordering algorithms.
  • the resulting placement table will have all the communication services listed in the same order as the service table (depending on the configuration of any remnant placement index).
  • the placement matrix contains a single row with a communication facet clause “smaller than 10 milliseconds” in the column for the latency communication facet, then all communication services that request a latency smaller than 10 milliseconds will be placed at the top of the placement table—in the same order as encountered in the service table—followed by the rest of the service table entries.
  • An example of a new placement aspect is a customer priority field that can be set to “high”, “normal” or “low”.
  • Each service table entry would contain the value of this field (or use a default) while the placement matrix could contain a first row with a clause to match service table entries marked as “high” causing such entries to appear first in the placement table and, as a result, they are afforded better placement and forwarding topologies.
  • the IDCs in the controller hierarchy can cooperate to execute the placement algorithm in a single IDC or using multiple IDCs.
  • the desired communication services in a communication sphere in a given intent-driven network involve endpoints that are attached to forwarding elements under the operational control of one or more IDCs.
  • This set of IDCs is ultimately subordinate to a single IDC (probably a region IDC, but possibly a sector or element IDC) which can delegate the execution of the placement algorithm to its immediate subordinate IDCs as illustrated in Error! Reference source not found.
  • each hexagon represents a sector (numbered 1 a through 6 c ) and is assumed to contain forwarding elements (not explicitly shown). Adjacent sectors having the same number form a region (numbered 1 through 6 ).
  • endpoints are also shown (presumably attached to a forwarding element in the sector with a bold edge). If a communication service for endpoints 3 and 4 needs to be placed, it can be resolved by the region controller for the blue sectors (numbered 4 a through 4 c ). If a communication service needs to be placed for endpoints 1 and 2 a choice needs to be made whether the associated communication traffic runs through the region 3 (sectors 3 a , 3 b , 3 c ) or region 4 (sectors 4 a , 4 b , 4 c ) and this decision is made by a superior region IDC (covering regions 2 , 3 , 4 and 5 ).
  • region 3 If it selects the region 3 (sectors 3 a , 3 b , 3 c ), it can delegate the placement for communication services inside these regions to region IDC 2 , 3 and 5 which in turn can delegate the placement for communication services inside the respective sectors to the associated sector IDCs.
  • Reference source not found. shows an example of a communication sphere with seven endpoints (labeled 1 - 7 ), a first fork that forwards data from endpoint 1 to the endpoints labeled 2 - 7 (with multiple output segments), and a set of six forks forwarding data in the opposite direction.
  • the communication service for the first fork could specify a forwarding precedence (communication facet) as “dedicated” (communication facet value) to indicate that a communication path is to be reserved for exclusive use. It could also request a very low setting for forwarding latency (another communication facet).
  • the forwarding elements in the communication sphere are capable of supporting physical layer switching (for instance by means of an optical or electro-optical crossbar), it could result in a very low-latency forwarding topology by replicating bit patterns instead of having to look up frame headers to perform forwarding.
  • the set of six forks indicate that their communication traffic needs to be merged towards endpoint 1 and this function cannot be performed at the physical layer, so some datalink layer switching or routing function is required in that communication path.
  • the configuration for the communication sphere in FIG. 10 can be applied to a single forwarding element and operate a properly equipped device to distribute traffic from endpoint 1 to the other endpoints with very low latency while the traffic in the opposite direction can use a conventional layer 2 switch that floods all traffic from endpoints 2 through 7 towards endpoint 1 .
  • Such a device exhibits asymmetrical forwarding behavior that benefits fast distribution of traffic streams (multicast traffic being one application).
  • FIG. 11 shows how mission critical applications (labeled 1 - 3 ) can leverage intent to interact with the network infrastructure (labeled 6 - 8 ).
  • the waistline (labeled 4 and 5 ) in the center is where the two worlds meet at an intent boundary taking expressions of intent (using an Intent Application Programming Interface labeled as 4 ) and rendering it into instructions to the network (using an Intent Engine labeled as 5 ).
  • the waistline illustrates how a narrow but universal set of intent definitions—such as communication spheres, facets and profiles can connect the otherwise broad and diverse worlds of software applications and networking equipment.
  • intent-driven networks can be operated to adapt to the performance needs of application workloads and thus lay the foundation for building agile networks.
  • demand for network bandwidth grows faster than the capacity gains in the underlying hardware technology can accommodate, we want to rely less on static, one-size-fits-all networking like the current Internet, and rely more on dynamic networks that can differentiate among the service needs of different traffic flows.
  • intent-driven networks allow applications to express their performance needs—in real time—using the previously described communication spheres, facets and profiles so networks can deliver a better quality of experience to the end user.
  • real-time media flows used in video-conferencing have very stringent network delivery requirements and even automated detection methods, like deep-packet inspection, are increasingly ineffective given the ever-widening adoption of traffic encryption.
  • intent-driven networks can be used to determine the possible ways these media flows could be routed through the available networks. It can then compute a set of choke points where flow-based policies are applied to mark these traffic flows and thereby allow conventional forwarding equipment to identify and expedite these workloads.
  • intent-driven networks Another benefit of intent-driven networks is in the optimization of computationally intensive applications such as data analytics.
  • current hierarchical networks there are limited alternative routes available between clustered compute servers, but advances in hardware integration are embedding networking functions into general purpose processors, allowing servers to be directly interconnected with multiple channels to multiple neighbors. The resulting path diversity allows parallel communication which is not easily be leveraged by today's networking software.
  • intent-driven networks can compute how to optimize aggregate performance based on intent definitions, and can even consider how to avoid exhaustion of the limited buffering space found in today's network switches that are forced to dedicate silicon resources to increased port density.
  • virtual networks can be layered over intent-driven networks and leverage computation to avoid hotspots in the physical network that are so common yet hard to remedy with today's networking solutions.

Abstract

An intent driven controller (IDC) operates to automatically build and provision networks using specified communication service requirements for one or more computer applications running in the network, optimizing among these requirements given the available networking resources, and then provisioning the forwarding gear according the network requirements.

Description

    1. FIELD OF THE INVENTION
  • The present disclosure relates to managing network infrastructure and to a controller for provisioning the infrastructure in a manner that makes very efficient use of the infrastructure capabilities.
  • 2. BACKGROUND
  • Existing network provisioning methodologies require stitching a network together by performing a series of distinct tasks such as configuring VLANs, IP subnets, routing protocols and possibly overlays. This approach requires that an administrator manually translate application requirements into network configuration based on knowledge of the deployed equipment and its operational software.
  • 3. BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention can be best understood by reading the specification with reference to the following figures, in which:
  • FIG. 1 is a diagram showing a network arrangement having several different sites.
  • FIG. 2 is a diagram illustrating an abstract representation of a network showing forwarding and processing elements.
  • FIG. 3 is a diagram illustrating a network having intent driven controller elements and non-intent driven controller elements.
  • FIG. 4 is a diagram showing functional blocks comprising an intent driven element controller for forwarding and processing elements.
  • FIG. 5 is a diagram showing the organization of sector and region intent driven controllers in a hierarchical control plane.
  • FIG. 6 is a diagram showing processing elements linked to one another through communication spheres.
  • FIG. 7 is a diagram illustrating processing steps in a placement algorithm 700 used to determine optimal forwarding topologies.
  • FIG. 8 is a logical flow diagram of the processing steps for an ordering algorithm 800.
  • FIG. 9 is a diagram illustrating the distribution of placement algorithm execution across a plurality of intent driven controllers.
  • FIG. 10 is a diagram illustrating asymmetrical forwarding behavior between a plurality of endpoints.
  • FIG. 11 is a diagram illustrating how mission critical software applications can leverage intent to interact with the network infrastructure.
  • 4. DETAILED DESCRIPTION
  • The current largely manual process for provisioning network resources is both time consuming and does not necessarily result in an optimal flow of network traffic from one point of time to another. I have designed a controller that operates to optimize the utilization of network resources using high-level intent information to express communication requirements for computer applications operating in the network. This intent driven controller (IDC) operates to automatically build and provision networks based on high-level descriptions (intent) of what needs to be achieved, optimizing among these requirements given the available networking resources and then provisioning the forwarding gear. And we do this without taking away operator oversight, but retain control over the outcome similar to the way a pilot uses computerized flight controls to operate an airliner. Generally, intent-driven networks provide the means to create agile networks where the applications or operators can express what they need without having to detail how to make it so.
  • The fluency with which the communication needs are met brings agility to the network and in turn allows compute and storage endpoints to take full advantage of this flexible network: We can select the best compute or storage endpoints knowing what communication needs must be met. And we can provide compute or storage systems with the network services for access to and synchronization among the constituent compute or storage elements. IDC controlled networks deliver a fluid resource fabric where applications express the logical compute, storage and networking capabilities they need so we can optimally select and provision the physical processors, disk drives and networking resources to provide them.
  • Infrastructure
  • Referring now to FIG. 1, this figure shows a number of different sites (datacenters, corporate offices, campus, residences, radio/satellite facilities) with local networks (LANs) that are interconnected by public or private wide area networks (WANs). A site can use wired and wireless networks to connect a variety of devices (computation and storage systems, sensors, actuators, printers, smart phones, tablets, etc.). Such devices provide one or more abstract compute, input, output, storage and communication functions. A system is a clustering of such devices located within, partially within, or across one or more sites. We refer to the communication functions in such devices as forwarding elements (whether they represent individual enclosures or integrated functionality) connected by communication channels as the abstraction for the transmission paths irrespective of ISO layer. Similarly, we refer to the input, output, storage and compute functions as processing elements. In FIG. 1, the forwarding elements relay, mirror or filter communication traffic, and the processing elements produce, consume, retain or transform the data as carried by communication channels and forwarding elements. Note that processing and forwarding elements may be physically combined in one device (for instance a compute server that can relay traffic between Ethernet ports).
  • Error! Reference source not found. illustrates an abstract network model 200 having processing and forwarding elements linked by communication channels, and having all of the forwarding elements being shown inside a dashed oval 210.
  • Error! Reference source not found. refers to Intent Driven Controller (IDC) elements as Intent Driven Controller physical or virtual machines or Intent Driven Controller physical or virtual switches, and displays the forwarding and processing elements in four rings, labeled 300, 310, 320, and 330, with Intent Driven Controller elements and communication channels, the latter illustrated as solid lines, and conventional, non-Intent Driven Controller elements and communication channels, the latter being illustrated as dashed lines. It illustrates interconnections of forwarding and processing elements and shows how an Intent Driven Controller network might co-exist with or exchange traffic with a conventional, non-Intent Driven Controller network using inter-domain communication channels, the latter illustrated by dotted lines. Within a given system, one or more Intent Driven Controllers provide for communication among processing elements by operating forwarding elements and communication channels. The Intent Driven Controllers are comprised of software programs that execute on physical or virtual computers and communicate with one or more forwarding elements and communication channels under their control. Hereinafter, an Intent Driven Controller is referred to as an IDC.
  • Communication Capabilities, Configuration and State
  • Forwarding elements, processing elements, communication channels and controllers all have attributes—whether implemented in hardware, firmware or software—that we separate into three distinct categories as capabilities, configuration and state. In this regard, capabilities are immutable attributes that describe inherent functions, features or operating aspects which includes, but is not limited to, information across various ISO layers like number of ports, possible line speeds, alternative signal encodings, propagation delay characteristics, internal table capacities, functional abilities and various internal compositions such as the presence of crossbars to forward signal streams, switches to forward frames, routers to forward datagrams, etc. Configuration refers to dynamic attributes that can only be changed through administrative action and includes, but is not limited to, information like enabling and disabling features, protocol options, operating limits. Examples are permitted line speeds, turning auto-negotiation on and off, encryption settings, overclocking a device and manipulating forwarding behavior in crossbars, switches and routers. State refers to dynamic information that is modified as a result of autonomous operation and includes, but is not limited to, statistics counters, learned forwarding behavior, auto-negotiated line rates. While it is noted that some functionality might appear to fit more than one description, this may be an indication that they are different attributes. For instance, line speed could refer to the set of line speeds a device can support (capability), or the set of line speeds a device is permitted to support (configuration) or the actual line speed with which it is currently operating (state).
  • Intent Driven Controller
  • Error! Reference source not found. shows functional elements comprising an IDC 400 in communication with one or more forwarding functions 405 and communication channels 406, wherein a forwarding function may represent a forwarding controller or a simpler device such as a serial bus that allows the controller to communicate over a communication channel. The IDC 400 is comprised of a controller function 410, a configuration repository 420, a capability repository 411, a capability retrieve function 413, a configuration retrieve function 414, a configuration retrieve function 414, a configuration modification function 415, a state retrieve function 416, and a state repository 412. The capability retrieve function 413 operates to enable the retrieval of the capabilities of the IDC 400. The capability repository 411 represents the capabilities of the IDC and all of the forwarding functions 405 and communication channels 406 that can be operated by the controller. The configuration retrieve function 414 operates to enable the retrieval of current and possibly past configurations of the IDC and any forwarding functions and communication channels under its operation. The configuration modification function 415 enables the modification of the current or any alternative configuration of the IDC and any forwarding functions and communication channels under its operation. The configuration repository 420 represents the current and possibly past configuration of the IDC and any forwarding functions and communication channels under its operation. The state retrieve function 416 enables the retrieval of the current and possibly past state of the IDC and any forwarding functions and communication channels under its operation. The state repository represents the current and possibly past state of the IDC and any forwarding functions and communication channels under its operation, and the controller function 410 represents the core IDC function that controls the behavior of the forwarding functions and the communication channels under its operation in order to forward communication traffic as indicated by the information in the configuration repository. In addition, it assists in determining the capabilities, state and configuration of the forwarding functions and communication channels.
  • Intent Driven Controller Organization
  • Multiple IDCs can cooperate in a hierarchical manner to enable intent-driven networks. The element controller is responsible for one or more forwarding elements and communication channels. As shown in FIG. 5, a sector IDC is responsible for the forwarding behavior of all the element IDCs in its sector, and a region IDC is responsible for the forwarding behavior of all the forwarding elements in its subordinate region and sector IDCs. The forwarding behavior required to render a communication service is orchestrated by the unique region or sector IDC that is lowest in the IDC hierarchy and responsible for all the forwarding elements that are attached to endpoints involved in the communication service. Error! Reference source not found. shows the organization of sector and region IDCs to form a hierarchical control plane 500. Each element, sector and region IDC provides an API to create, modify and retrieve the configuration of the given intent-driven network, to retrieve the state of the given intent-driven network, and to retrieve the capabilities of the given intent-driven network.
  • IDCs in the controller organization can communicate with each other using forwarding functions and communication channels (illustrated in Error! Reference source not found.), either dedicated to control plane communication (out-of-band control) or shared with the data plane (in-band control).
  • Communication Requirements
  • Error! Reference source not found. below shows a plurality of communication facets that can be used to express communication requirements. It should be understood that the facets in this table is not an exhaustive listing, but can include other facets as well.
  • TABLE 1
    Forwarding Precedence Minimum Bandwidth
    Typical Bandwidth Maximum Bandwidth
    Oversubscription Latency
    Loss tolerance Encryption
    Forwarding Confluence
  • The Forwarding Precedence facets in Table 1 represents the forwarding priority and reservation strategy for the propagation of communication traffic. The Minimum, Typical and Maximum bandwidth needed for communication traffic are three separate facets. Oversubscription is a ratio to reduce the bandwidth requested by a communication service for sharing the more limited bandwidth available on the communication equipment. Latency is the sensitivity of communication traffic to delay. Loss tolerance is the sensitivity of communication traffic to loss of data. Encryption is the security protection of communication traffic, and forwarding confluence is the provisioned redundancy of alternative forwarding paths for communication traffic. A communication facet can be assigned a communication facet value (which can be a scalar or a set of scalars).
  • Processing elements communicate using communication spheres. As shown in Error! Reference source not found. a communication sphere 600 is a set of endpoints (labeled 601, 602, 603 and 604) that communicate over a given connectivity pattern (communication links illustrated as lines with arrows) with specific communication services where an endpoint can represent processing elements or even external networks. The connectivity pattern in FIG. 6 connects the endpoints in the communication sphere 600 and is constructed of one or more superimposed forks. A fork is a unidirectional conduit that propagates communication traffic from one endpoint (the input segment) to N endpoints (output segments) where N is an integral number greater than zero. Error! Reference source not found. shows three forks labeled 605, 606, and 607. A communication service is a set of service profiles attached to a fork where a service profile is defined as a set of communication facets with communication facet values, and where the service profile is optionally accompanied by a traffic qualifier to narrow the applicable communication traffic. Desired communication services for a given system can be specified by a network administrator, by an application or scripts to a region, sector or element controller which will retain or distribute that information as configuration as needed to control the given intent-driven network.
  • Placement Algorithm
  • A placement algorithm 700 operates to build intent-driven networks and uses communication services to determine forwarding topologies. This methodology is referred to here as “placing a communication service”. A topography model is defined as a database that represents the connectivity among forwarding elements, processing elements and communication channels in a given system. The topography model allows us to evaluate the different options to direct communication traffic over the communication channels and forwarding elements. A resource model is defined as a database that represents the capabilities, configuration and state of the forwarding elements, processing elements, communication channels and controllers in a given intent-driven network. The resource model encompasses physical and logical properties including current and historical information. The resource model allows us to evaluate and track the rendering of communication services in the topography model.
  • Error! Reference source not found. shows processing steps comprising the placement algorithm 700 that can be used to determine the optimal forwarding topologies for communication traffic in the communication spheres in a given intent-driven network. At 701 one or more service tables, placement tables and provisioning tables are initialized. Then at 702 communication channels between forwarding elements are detected in a given system leveraging common detection methods. At 703 a topography model of the forwarding elements, processing elements and communication channels in the given system is composed, and at 704 a resource model of the forwarding elements, processing elements, communication channels and controllers in the given system is composed. At 705 a service table is created containing all permitted communication services in all communication spheres in the given system sorted in order of descending importance as determined by a system administrator, software program or artificial intelligence service (possibly after considering the application, subsystem or other metadata associated with the communication sphere), and at 706 a prioritized placement table is created, that lists communication services in the order they will be placed into the topography from most important to least important, by placing all communication services from the service table using an ordering algorithm described later. Then at 707, a provisioning table is created is created for each subsequent communication service in the placement table, starting with the first, as follows. The set of possible forwarding topologies is computed that fulfill or partially fulfill the communication service given the topography and resource models and select one to yield the provisional forwarding topology, possibly considering other communication services from the placement table to make a prescient choice among alternative topologies, the provisional forwarding topology is appended to the provisioning table, and the resource model is updated to record the resources that are claimed by the provisional forwarding topology. Then in 708, a forwarding topology is configured by reflecting all provisional topologies from the provisioning table into the forwarding elements and communication channels in order to configure their operation in accordance with these provisional topologies.
  • The above sequence or part thereof is re-evaluated every time the constituent steps of the algorithms incur a change that can affect the outcome (for example a communication channel becoming inoperative can lead to a new provisioned topology). Inversely, certain steps in the algorithm can be skipped if the outcome remains unchanged (for instance the topography model is not affected when the requested bandwidth for a communication sphere is changed).
  • Ordering Algorithm
  • Error! Reference source not found. shows the processing steps comprising an ordering algorithm 800 that operates to generate the placement table from the service table. It is primarily driving by communication facets, but other aspects can be considered during ordering, for instance the application, subsystem, endpoint or communication sphere that is involved in the communication traffic.
  • We define a communication facet clause as a comparison of a communication facet against a given communication facet value where the comparison operator is any one of smaller than (<), smaller than or equal to (≦) equal to (=), not equal to (≠), greater than (>), or greater than or equal to (≧). The comparison operator enables communication facet values to be ordered by value and thus by implied importance. Note that communication facet values may be represented by a set of one or more scalars and that the comparison operator may perform comparisons for each scalar in the set.
  • We define a placement clause as a simple or compound Boolean expression that resolves to true (or false) and that determines whether a service is to be placed (or not placed) in the placement table.
  • We define a placement matrix with R rows and C columns where each column represents a communication facet or placement condition and where each row represents a set of communication facet clauses or placement clauses each corresponding to a communication facet or placement condition in a column of the placement matrix. An administrator is allowed to modify the columns and the rows of the placement matrix or change the communication facet clauses or placement clauses they contain.
  • The ordering algorithm 800 can take entries from the service table and place them into the placement table in an order that is determined by the placement matrix as follows.
      • 801. Take each subsequent entry “s” from the service table starting with the first entry.
      • 802. Take each subsequent row “r” from the placement matrix starting with the first row.
      • 803. Evaluate any communication facet clauses listed in row “r” of the placement matrix using the corresponding communication facet values of entry “s” and if any comparison yields false then the facet evaluation result for row “r” is false.
      • 804. If the facet evaluation result for row “r” is false, then we perform the evaluation with the next row in the placement matrix.
      • 805. Evaluate any placement clauses listed in row “r” of the placement matrix possibly using metadata of entry “s” and if any Boolean expression resolves to false then the placement evaluation result for row r is false.
      • 806. If the facet evaluation result for row “r” is true but the placement evaluation result for row “r” is false, then the placement algorithm proceeds with next entry from the service table.
      • 807. If both the facet evaluation result and the placement evaluation result for row “r” are true, then entry “s” is assigned a placement index “p” equal to the index of row “r” of the placement matrix and entry “s” is inserted into the placement table immediately after any previously placed service entries with the same placement index. The placement algorithm then proceeds with the next entry from the service table.
      • 808. If the evaluation result is false for all rows in the placement table and a remnant placement index is configured for the given system, then entry “s” is placed into the placement table with an effective placement index equal to the remnant placement index immediately after any previously placed service entries with the remnant placement index. The placement algorithm then proceeds with the next entry in the service table.
  • The impact of the placement matrix is to allow the administrator to determine the order in which communication services are placed in the topography which in turn can lead to different forwarding topologies. This approach forms the basis for the administrator to affect the behavior of the forwarding elements based on high-level intent directives.
  • New placement aspects can be added as columns to the placement matrix and rows can be inserted or removed to provide different comparison rules. Service table entries can be expanded to specify these new placement aspects so they can be similarly processed by the placement and ordering algorithms.
  • Placement Matrix Examples
  • If the placement matrix is empty, the resulting placement table will have all the communication services listed in the same order as the service table (depending on the configuration of any remnant placement index).
  • If the placement matrix contains a single row with a communication facet clause “smaller than 10 milliseconds” in the column for the latency communication facet, then all communication services that request a latency smaller than 10 milliseconds will be placed at the top of the placement table—in the same order as encountered in the service table—followed by the rest of the service table entries.
  • If we prepend a placement matrix row with the same “smaller than 10 milliseconds” communication facet clause and a “very high” communication facet clause for the forwarding precedence, the net effect on the placement table is that all communication services that meet both these requirements will now be listed first.
  • An example of a new placement aspect is a customer priority field that can be set to “high”, “normal” or “low”. Each service table entry would contain the value of this field (or use a default) while the placement matrix could contain a first row with a clause to match service table entries marked as “high” causing such entries to appear first in the placement table and, as a result, they are afforded better placement and forwarding topologies.
  • Distributed Computation
  • The IDCs in the controller hierarchy can cooperate to execute the placement algorithm in a single IDC or using multiple IDCs. The desired communication services in a communication sphere in a given intent-driven network involve endpoints that are attached to forwarding elements under the operational control of one or more IDCs. This set of IDCs is ultimately subordinate to a single IDC (probably a region IDC, but possibly a sector or element IDC) which can delegate the execution of the placement algorithm to its immediate subordinate IDCs as illustrated in Error! Reference source not found. According to FIG. 9, each hexagon represents a sector (numbered 1 a through 6 c) and is assumed to contain forwarding elements (not explicitly shown). Adjacent sectors having the same number form a region (numbered 1 through 6). Four endpoints are also shown (presumably attached to a forwarding element in the sector with a bold edge). If a communication service for endpoints 3 and 4 needs to be placed, it can be resolved by the region controller for the blue sectors (numbered 4 a through 4 c). If a communication service needs to be placed for endpoints 1 and 2 a choice needs to be made whether the associated communication traffic runs through the region 3 (sectors 3 a, 3 b, 3 c) or region 4 (sectors 4 a, 4 b, 4 c) and this decision is made by a superior region IDC (covering regions 2, 3, 4 and 5). If it selects the region 3 (sectors 3 a, 3 b, 3 c), it can delegate the placement for communication services inside these regions to region IDC 2, 3 and 5 which in turn can delegate the placement for communication services inside the respective sectors to the associated sector IDCs.
  • Asymmetrical Forwarding Example
  • Error! Reference source not found. shows an example of a communication sphere with seven endpoints (labeled 1-7), a first fork that forwards data from endpoint 1 to the endpoints labeled 2-7 (with multiple output segments), and a set of six forks forwarding data in the opposite direction. The communication service for the first fork could specify a forwarding precedence (communication facet) as “dedicated” (communication facet value) to indicate that a communication path is to be reserved for exclusive use. It could also request a very low setting for forwarding latency (another communication facet). If the forwarding elements in the communication sphere are capable of supporting physical layer switching (for instance by means of an optical or electro-optical crossbar), it could result in a very low-latency forwarding topology by replicating bit patterns instead of having to look up frame headers to perform forwarding. The set of six forks indicate that their communication traffic needs to be merged towards endpoint 1 and this function cannot be performed at the physical layer, so some datalink layer switching or routing function is required in that communication path.
  • The configuration for the communication sphere in FIG. 10 can be applied to a single forwarding element and operate a properly equipped device to distribute traffic from endpoint 1 to the other endpoints with very low latency while the traffic in the opposite direction can use a conventional layer 2 switch that floods all traffic from endpoints 2 through 7 towards endpoint 1. Such a device exhibits asymmetrical forwarding behavior that benefits fast distribution of traffic streams (multicast traffic being one application).
  • Intent Driven Networking
  • FIG. 11 shows how mission critical applications (labeled 1-3) can leverage intent to interact with the network infrastructure (labeled 6-8). The waistline (labeled 4 and 5) in the center is where the two worlds meet at an intent boundary taking expressions of intent (using an Intent Application Programming Interface labeled as 4) and rendering it into instructions to the network (using an Intent Engine labeled as 5). The waistline illustrates how a narrow but universal set of intent definitions—such as communication spheres, facets and profiles can connect the otherwise broad and diverse worlds of software applications and networking equipment.
  • The forgoing describes how intent-driven networks can be operated to adapt to the performance needs of application workloads and thus lay the foundation for building agile networks. As the demand for network bandwidth grows faster than the capacity gains in the underlying hardware technology can accommodate, we want to rely less on static, one-size-fits-all networking like the current Internet, and rely more on dynamic networks that can differentiate among the service needs of different traffic flows. Instead of requiring human intervention to recalibrate networks when it is too late, intent-driven networks allow applications to express their performance needs—in real time—using the previously described communication spheres, facets and profiles so networks can deliver a better quality of experience to the end user. For example, real-time media flows used in video-conferencing have very stringent network delivery requirements and even automated detection methods, like deep-packet inspection, are increasingly ineffective given the ever-widening adoption of traffic encryption. In one introductory application, intent-driven networks can be used to determine the possible ways these media flows could be routed through the available networks. It can then compute a set of choke points where flow-based policies are applied to mark these traffic flows and thereby allow conventional forwarding equipment to identify and expedite these workloads.
  • Another benefit of intent-driven networks is in the optimization of computationally intensive applications such as data analytics. In current hierarchical networks, there are limited alternative routes available between clustered compute servers, but advances in hardware integration are embedding networking functions into general purpose processors, allowing servers to be directly interconnected with multiple channels to multiple neighbors. The resulting path diversity allows parallel communication which is not easily be leveraged by today's networking software. But intent-driven networks can compute how to optimize aggregate performance based on intent definitions, and can even consider how to avoid exhaustion of the limited buffering space found in today's network switches that are forced to dedicate silicon resources to increased port density.
  • In yet another application, virtual networks can be layered over intent-driven networks and leverage computation to avoid hotspots in the physical network that are so common yet hard to remedy with today's networking solutions.
  • The forgoing description, for purposes of explanation, uses specific nomenclature to provide a thorough understanding of the invention. However, it will be apparent to one skilled in the art that specific details are not required in order to practice the invention. Thus, the forgoing descriptions of specific embodiments of the invention are presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed; obviously, many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, they thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the following claims and their equivalents define the scope of the invention.

Claims (7)

I claim:
1. A method for provisioning a network communication domain, comprising:
defining the network communication domain to have a plurality of network forwarding elements;
detecting, by an intent driven controller, one or more capabilities associated with the plurality of the network forwarding elements;
specifying communication service requirements for each one of a plurality of computer applications running in the network, and assigning an importance to the data traffic associated with each application;
selecting the highest importance computer application and provisionally determining a path through the network forwarding elements for the data traffic from the selected application, the provisionally determined network path satisfying the communication service requirements; and
configuring one or more of the network forwarding elements to permit the application data traffic to be forwarded through the network according to the provisionally determined network path.
2. The method of claim 1, wherein the communication facets of the communication service requirements are any one or more of a forwarding precedence, a minimum bandwidth, typical bandwidth, maximum bandwidth, an oversubscription, a latency, a loss tolerance, an encryption, and forwarding confluence.
3. The method of claim 1, further comprising recursively selecting a next highest importance computer application until all computer application are provisionally determined.
4. The method of claim 1, wherein the network forwarding elements operate in ISO layers 1, 2, 3 and 4.
5. The method of claim 1, wherein the network is a physical network, a virtual network or a combination of a physical and a virtual network.
6. The method of claim 1, wherein the intent driven controller comprises a placement algorithm that is initialized by a network administrator or automatically based upon measurable or observable network characteristics.
5. The method of claim 1, where in the specification of communication services can be expressed by a network administrator, a software application or a script representing a class of software applications, and provided to a region, sector or element controller.
US15/437,182 2016-03-12 2017-02-20 Intent based controller for provisioning a network Abandoned US20170264491A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/437,182 US20170264491A1 (en) 2016-03-12 2017-02-20 Intent based controller for provisioning a network
US16/551,625 US10862748B1 (en) 2016-03-12 2019-08-26 Intent driven controller for provisioning software applications on networked equipment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662307472P 2016-03-12 2016-03-12
US15/437,182 US20170264491A1 (en) 2016-03-12 2017-02-20 Intent based controller for provisioning a network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/551,625 Continuation US10862748B1 (en) 2016-03-12 2019-08-26 Intent driven controller for provisioning software applications on networked equipment

Publications (1)

Publication Number Publication Date
US20170264491A1 true US20170264491A1 (en) 2017-09-14

Family

ID=59787354

Family Applications (2)

Application Number Title Priority Date Filing Date
US15/437,182 Abandoned US20170264491A1 (en) 2016-03-12 2017-02-20 Intent based controller for provisioning a network
US16/551,625 Active US10862748B1 (en) 2016-03-12 2019-08-26 Intent driven controller for provisioning software applications on networked equipment

Family Applications After (1)

Application Number Title Priority Date Filing Date
US16/551,625 Active US10862748B1 (en) 2016-03-12 2019-08-26 Intent driven controller for provisioning software applications on networked equipment

Country Status (1)

Country Link
US (2) US20170264491A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020237084A1 (en) * 2019-05-23 2020-11-26 Cisco Technology, Inc. Automated discovery of manual configuration changes
CN114172814A (en) * 2021-10-23 2022-03-11 西安电子科技大学 Method for constructing intention-driven satellite network resource management three-way model and application
WO2022267070A1 (en) * 2021-06-26 2022-12-29 Huawei Technologies Co., Ltd. Devices and methods for supporting intent driven networking

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11863580B2 (en) * 2019-05-31 2024-01-02 Varmour Networks, Inc. Modeling application dependencies to identify operational risk
US11711374B2 (en) 2019-05-31 2023-07-25 Varmour Networks, Inc. Systems and methods for understanding identity and organizational access to applications within an enterprise environment
US11575563B2 (en) 2019-05-31 2023-02-07 Varmour Networks, Inc. Cloud security management
US11818152B2 (en) 2020-12-23 2023-11-14 Varmour Networks, Inc. Modeling topic-based message-oriented middleware within a security system
US11876817B2 (en) 2020-12-23 2024-01-16 Varmour Networks, Inc. Modeling queue-based message-oriented middleware relationships in a security system
US11777978B2 (en) 2021-01-29 2023-10-03 Varmour Networks, Inc. Methods and systems for accurately assessing application access risk
US11734316B2 (en) 2021-07-08 2023-08-22 Varmour Networks, Inc. Relationship-based search in a computing environment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070263640A1 (en) * 2006-05-10 2007-11-15 Finn Norman W Technique for efficiently managing bandwidth for multipoint-to-multipoint services in a provider network
US7636801B1 (en) * 2005-06-20 2009-12-22 Symantec Operating Corporation Coordination of quality of service in a multi-layer virtualized storage environment
US20150195178A1 (en) * 2014-01-09 2015-07-09 Ciena Corporation Method for resource optimized network virtualization overlay transport in virtualized data center environments
US20150333953A1 (en) * 2014-05-13 2015-11-19 Cisco Technology, Inc. Soft rerouting in a network using predictive reliability metrics
US20160028608A1 (en) * 2014-07-23 2016-01-28 Cisco Technology, Inc. Selective and dynamic application-centric network measurement infrastructure
US20160028632A1 (en) * 2014-07-23 2016-01-28 Cisco Technology, Inc. Ensuring dynamic traffic shaping fairness
US20160234099A1 (en) * 2015-02-10 2016-08-11 Verizon Patent And Licensing Inc. Application-based path computation

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214536B2 (en) * 2003-09-16 2012-07-03 Research In Motion Limited Methods and apparatus for selecting a wireless network based on quality of service (QoS) criteria associated with an application
US7552437B2 (en) * 2004-01-14 2009-06-23 International Business Machines Corporation Maintaining application operations within a suboptimal grid environment
US7676539B2 (en) * 2005-06-09 2010-03-09 International Business Machines Corporation Methods, apparatus and computer programs for automated problem solving in a distributed, collaborative environment
US7631325B2 (en) * 2005-11-02 2009-12-08 At&T Intellectual Property I, L.P. System and method of authorizing a set top box device in an internet protocol television system
US9058032B2 (en) * 2006-09-29 2015-06-16 Rockwell Automation Technologies, Inc. Hosting requirements for services
WO2011152822A1 (en) * 2010-06-01 2011-12-08 Hewlett-Packard Development Company, L.P. Methods, apparatus, and articles of manufacture to deploy software applications
US8880558B2 (en) * 2010-07-01 2014-11-04 International Business Machines Corporation Cloud services creation based on graph mapping
US8656023B1 (en) * 2010-08-26 2014-02-18 Adobe Systems Incorporated Optimization scheduler for deploying applications on a cloud
US9467507B2 (en) * 2011-01-03 2016-10-11 Verizon Patent And Licensing Inc. Wireless network cloud computing resource management
EP2637381B1 (en) * 2012-03-09 2019-07-31 Alcatel Lucent Method of filtering applications
US9544842B2 (en) * 2012-12-06 2017-01-10 At&T Intellectual Property I, L.P. Network-based intelligent radio access control
CN105230081B (en) * 2013-03-15 2019-06-14 慧与发展有限责任合伙企业 Connectivity based on cloud
US20150019722A1 (en) * 2013-07-15 2015-01-15 Infosys Limited Determining, managing and deploying an application topology in a virtual environment
KR102114388B1 (en) * 2013-10-18 2020-06-05 삼성전자주식회사 Method and apparatus for compressing memory of electronic device
US9705758B2 (en) * 2013-11-19 2017-07-11 International Business Machines Corporation Management of cloud provider selection
WO2015198014A1 (en) * 2014-06-27 2015-12-30 British Telecommunications Public Limited Company Dynamic wireless network access point selection
US10404577B2 (en) * 2014-08-28 2019-09-03 Hewlett Packard Enterprise Development Lp Network compatibility determination based on flow requirements of an application and stored flow capabilities of a software-defined network
GB2531242A (en) * 2014-09-11 2016-04-20 Piksel Inc Decision logic
GB2536608A (en) * 2014-11-28 2016-09-28 Aria Networks Ltd Optimizing the topology of a network with variable traffic demands
GB2536606A (en) * 2014-11-28 2016-09-28 Aria Networks Ltd Network topology optimization
US10542547B2 (en) * 2015-09-01 2020-01-21 Qualcomm Incorporated Service-based cell selection and reselection
WO2017079906A1 (en) * 2015-11-10 2017-05-18 华为技术有限公司 Method of selecting service network, network equipment and management equipment
US11044175B2 (en) * 2016-10-25 2021-06-22 International Business Machines Corporation Hybrid cloud broker with static and dynamic capability matching
US11055725B2 (en) * 2017-03-20 2021-07-06 HomeAdvisor, Inc. System and method for temporal feasibility analyses
US10728288B2 (en) * 2017-11-21 2020-07-28 Juniper Networks, Inc. Policy-driven workload launching based on software defined networking encryption policies
US11405438B2 (en) * 2018-05-01 2022-08-02 Cisco Technology, Inc. Managing multicast service chains in a cloud environment

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7636801B1 (en) * 2005-06-20 2009-12-22 Symantec Operating Corporation Coordination of quality of service in a multi-layer virtualized storage environment
US20070263640A1 (en) * 2006-05-10 2007-11-15 Finn Norman W Technique for efficiently managing bandwidth for multipoint-to-multipoint services in a provider network
US20150195178A1 (en) * 2014-01-09 2015-07-09 Ciena Corporation Method for resource optimized network virtualization overlay transport in virtualized data center environments
US20150333953A1 (en) * 2014-05-13 2015-11-19 Cisco Technology, Inc. Soft rerouting in a network using predictive reliability metrics
US20160028608A1 (en) * 2014-07-23 2016-01-28 Cisco Technology, Inc. Selective and dynamic application-centric network measurement infrastructure
US20160028632A1 (en) * 2014-07-23 2016-01-28 Cisco Technology, Inc. Ensuring dynamic traffic shaping fairness
US20160234099A1 (en) * 2015-02-10 2016-08-11 Verizon Patent And Licensing Inc. Application-based path computation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020237084A1 (en) * 2019-05-23 2020-11-26 Cisco Technology, Inc. Automated discovery of manual configuration changes
US11025489B2 (en) 2019-05-23 2021-06-01 Cisco Technology, Inc. Automated discovery of manual configuration changes
WO2022267070A1 (en) * 2021-06-26 2022-12-29 Huawei Technologies Co., Ltd. Devices and methods for supporting intent driven networking
CN114172814A (en) * 2021-10-23 2022-03-11 西安电子科技大学 Method for constructing intention-driven satellite network resource management three-way model and application

Also Published As

Publication number Publication date
US10862748B1 (en) 2020-12-08

Similar Documents

Publication Publication Date Title
US20170264491A1 (en) Intent based controller for provisioning a network
US9876572B2 (en) Configuring a computer network to satisfy multicast dispersion and latency requirements using affinity and network topologies
US10389642B2 (en) Cloud-based network tool optimizers for server cloud networks
US10033623B2 (en) Multithreaded system and method for establishing network connections
US8339994B2 (en) Defining an optimal topology for a group of logical switches
US9942623B2 (en) Data center network architecture
US20180063020A1 (en) Centrally managed time sensitive fog networks
EP2774048B1 (en) Affinity modeling in a data center network
EP2787698B1 (en) A method and network for incremental deployment of software-defined networking into an enterprise network
US9337931B2 (en) Control and provisioning in a data center network with at least one central controller
JP2010146420A (en) Surplus resource management system, management method thereof, and server device
US10764207B2 (en) Software defined visibility fabric
EP3298737B1 (en) Method and system for site interconnection over a transport network
EP2951952A1 (en) Controlling a topology of a network
US20170048157A1 (en) Intelligent Software-Defined Networking Based Service Paths
WO2015078498A1 (en) Method and system for balancing load in a sdn network
US10924427B2 (en) Harmonized control planes, systems and methods
WO2016123040A1 (en) Adjusted spanning tree protocol path cost values in a software defined network
US8675523B2 (en) Optimized spanning tree construction based on parameter selection
Heller et al. Ripcord: a modular platform for data center networking
US11196641B1 (en) Using cost and performance constraint information to identify networked equipment on which to place a computer software application
US10929326B2 (en) Firm channel paths
Xu et al. A mathematical model and dynamic programming based scheme for service function chain placement in NFV
Algarni et al. Software-DefinedNetworking Overview and Implementation
Iesar et al. Revolutionizing Data Center Networks: Dynamic Load Balancing via Floodlight in SDN Environment

Legal Events

Date Code Title Description
AS Assignment

Owner name: OPTUMI, INC., MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DERUIJTER, DENIS;REEL/FRAME:041423/0106

Effective date: 20170301

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION