US20170264491A1 - Intent based controller for provisioning a network - Google Patents
Intent based controller for provisioning a network Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
- H04L41/0883—Semiautomatic configuration, e.g. proposals from system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/04815—Interaction 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/20—Network management software packages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest 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
- 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.
- 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.
- 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 anordering 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. - 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. InFIG. 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 adashed 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 andcommunication 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 acontroller function 410, a configuration repository 420, acapability repository 411, acapability retrieve function 413, aconfiguration retrieve function 414, aconfiguration retrieve function 414, aconfiguration modification function 415, astate retrieve function 416, and astate repository 412. Thecapability retrieve function 413 operates to enable the retrieval of the capabilities of the IDC 400. Thecapability repository 411 represents the capabilities of the IDC and all of theforwarding functions 405 andcommunication channels 406 that can be operated by the controller. The configuration retrievefunction 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. Theconfiguration 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 retrievefunction 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 thecontroller 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 ahierarchical 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 inFIG. 6 connects the endpoints in thecommunication 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. - 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 forendpoints 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 (coveringregions region IDC - 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 towardsendpoint 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 fromendpoint 1 to the other endpoints with very low latency while the traffic in the opposite direction can use aconventional layer 2 switch that floods all traffic fromendpoints 2 through 7 towardsendpoint 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)
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.
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)
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)
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)
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)
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 |
-
2017
- 2017-02-20 US US15/437,182 patent/US20170264491A1/en not_active Abandoned
-
2019
- 2019-08-26 US US16/551,625 patent/US10862748B1/en active Active
Patent Citations (7)
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)
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 |