WO2016099533A1 - Setting for a network traffic management device based on a template - Google Patents

Setting for a network traffic management device based on a template Download PDF

Info

Publication number
WO2016099533A1
WO2016099533A1 PCT/US2014/071374 US2014071374W WO2016099533A1 WO 2016099533 A1 WO2016099533 A1 WO 2016099533A1 US 2014071374 W US2014071374 W US 2014071374W WO 2016099533 A1 WO2016099533 A1 WO 2016099533A1
Authority
WO
WIPO (PCT)
Prior art keywords
client
network traffic
traffic management
settings
naming
Prior art date
Application number
PCT/US2014/071374
Other languages
French (fr)
Inventor
Silvano DA ROS
Original Assignee
Hewlett Packard Enterprise Development Lp
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 Hewlett Packard Enterprise Development Lp filed Critical Hewlett Packard Enterprise Development Lp
Priority to PCT/US2014/071374 priority Critical patent/WO2016099533A1/en
Publication of WO2016099533A1 publication Critical patent/WO2016099533A1/en

Links

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
    • 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/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0843Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates

Definitions

  • Datacenters generally include one or more pools of server computing devices (hereafter, server pools) capable of supporting (e.g., providing) various computer services, such as cloud services and web-based applications.
  • Server pools not only enable scalability in providing such computer services (e.g., by providing a pool of computer resources that can be utilized according to client demand), but also ensure reliability in providing such computer services (e.g., provide redundancy in the event that a member of the server pool is incapacitated).
  • network traffic management techniques such a load balancing, application acceleration, caching, network traffic shaping, and data compression, are commonly utilized in the delivery computer services supported by server pools.
  • ADNs application delivery networks
  • ADC application delivery controllers
  • FIG. 1 illustrates an example environment including an example client system in communication with an example server system, and an example network traffic management system in communication with the example server system.
  • FIG. 2 illustrates an example server computing device.
  • FIGs. 3-5 illustrate example methods for generating a specific setting for a network traffic management system.
  • FIG. 6 presents a screenshot of an example graphical user interface that can be used by various examples to create or modify a configuration template.
  • FIG. 7 presents a screenshot of an example graphical user interface that can be used by various examples to create or modify a naming template.
  • a network traffic management system such as an ADC device associated with an application delivery network (ADN)
  • a network traffic management system can provide various network traffic-related functions for a pool of server computing devices, including load balancing, application acceleration, caching (e.g., HTTP caching), network traffic shaping, data compression (e.g., HTTP-content compression), secure sockets layer (SSL) acceleration, content switching (e.g., layer 4-7 switching), and the like.
  • load balancing application acceleration, caching (e.g., HTTP caching), network traffic shaping, data compression (e.g., HTTP-content compression), secure sockets layer (SSL) acceleration, content switching (e.g., layer 4-7 switching), and the like.
  • the functions provided by a network traffic can assist in implementation of high availability (HA), scalability, or both with respect to computing services provided by a pool of servers, including managed computing services for clients.
  • HA high availability
  • scalability or both with respect to computing services provided by a pool of servers, including managed computing services for
  • Some examples disclosed herein generate a set of specific settings for a network traffic management system based on a configuration template and a set of client requirements associated with network traffic management (e.g., client requirements associated with the network traffic management system). Additionally, some examples disclosed herein generate the set of specific settings for the network traffic management system based on the configuration template, a naming template, and the set of client
  • the configuration template includes a set of general settings applicable to the network traffic management system for which the set of specific settings is being generated.
  • the naming template includes a set of naming structures (e.g., a set of names) for organizing settings in the set of specific settings for the network traffic management system.
  • a configuration template By utilizing a configuration template to generate a set of specific settings for a network traffic management system, various examples can improve the process by which a network traffic management system (e.g., ADC) is configured. For instance, using a configuration template can reduce the time in which a set of client requirements can be implemented at a network traffic management system.
  • the configuration template can permit an example to automatically use one or more general settings in the set of specific settings, as needed (e.g., according to the set of client requirements), to successfully impiement the set of specific settings at a network traffic
  • This automatic use can obviate the need for a client to provide additional user input that would otherwise be needed to successfully impiement the set of specific settings.
  • using a client can obviate the need for a client to provide additional user input that would otherwise be needed to successfully impiement the set of specific settings.
  • configuration template to generate a set of specific settings for the network traffic management system may reduce or otherwise prevent errors from being introduced into the set of specific settings.
  • the set of specific settings generated can be organized in manner favorable to managing (e.g., adding, removing, or modifying) specific settings in the set. Additionally, a naming template can permit the generated set of specific settings to be organized in manner that can assist an engineer (or other individual) in troubleshooting or debugging the set of specific settings (e.g., before or after the set of specific settings have been implemented at the network traffic management system).
  • a client with respect to a network traffic
  • management system will be understood to represent a user or a group of users (e.g., associated with an organization, such as a small or large company) that intends to receive, use, or otherwise benefit from a computing service provided by a server pool through a network traffic management system.
  • an engineer will be understood to represent a user managing or assisting in the configuration of a network traffic management system.
  • FIG. 1 illustrates an example environment 100 including an example client system in communication with an example server system, and an example network traffic management system in communication with the example server system
  • environment 100 includes a client system 102 in communication with a server system 104 over a communications network 108, and a network traffic management system 106 in communication with the server system 104 over the communications network 108
  • the server system 104 includes a configuration template module 120, a client requirement receiving module 122, a client requirement validation module 124, a naming template module 126, a setting generation module 128, and a server communications module 130.
  • the client system 102 may comprise a desktop, laptop, a hand-held computing device (e.g., personal digital assistants, smartphones, tablets, etc.), a workstation, and the like.
  • the server system 104 may comprise one or more servers, which may be operating on, or implemented, using one or more cloud-based resources, such as a System-as-a-Service (SaaS), Platform-as-a-Service (PaaS), or !nfrastructure-as-a-Service (laaS).
  • the components or the arrangement of components in the environment 100 may differ from what is depicted in FIG. 1.
  • the server system 104 can include more or less components than those depicted in FIG. 1 .
  • modules and other components of various examples may comprise, in whole or in part, machine-readable instructions or electronic circuitry.
  • a module may comprise computer-readable instructions executable by a processor to perform one or more functions in accordance with various examples described herein.
  • a module may comprise electronic circuitry to perform one or more functions in accordance with various examples described herein. The elements of a module may be combined in a single package, maintained in several packages, or maintained separately.
  • the communications network 108 permits data to be communicated between the client system 102, the server system 104, and the network traffic management system 106 in accordance with various examples described herein.
  • the communications network 108 may comprise one or more local or wide-area communications networks, such as the internet, WiFi networks, cellular networks, private networks, public networks, and the like.
  • the client system 102 may be utilized by a user (e.g., client user) to provide the server system 104 a set of client requirements for the network traffic management system 106. Additionally, the client system 102 may be utilized by a user (e.g., engineer user) to provide a configuration template, a naming template, or both.
  • the set of client requirements is provided by a client user, while the configuration template and the naming template is provided by an engineer user, in such examples, if will be understood that the client user may utilize a different client system to provide (e.g., enter) the set of client requirements than the client system utilized by the engineering user to provide (e.g., enter) the configuration template or the naming template.
  • a user e.g., client user
  • the electronic form may be one provided by the server system 104.
  • the user's inputs with respect to the electronic form can cause the production of a set of client requirements at the client system 102 or the server system 104.
  • a user at the client system 102 can use the electronic form to define or otherwise modify a client requirement for the network traffic management system 106, and then submit the client requirement to the server system 104.
  • the electronic form comprises a web page, a Microsoft® Word® document, a postscript document (e.g., filiable PDF), or some other electronic document accessible by a user at the client system 102.
  • the electronic form may be in the form of a questionnaire that a user will complete to facilitate proper configuration of the network traffic management system 106. Additionally, the electronic form may receive at least one client requirement as an attribute-value pair. Such an attribute-value pair may represent an answer to the questionnaire.
  • the user may submit to the server system 104 a set of client requirements for the network traffic management system 106 and, in turn, the server system 104 can provide the user with feedback on the set of client requirements (e.g., validation results) before the set of client requirements is implemented to the network traffic management system 106.
  • a user e.g., client user
  • the electronic form can comprise a set of input elements (e.g., graphical user interface elements) that relate to the collection of client requirements for the network traffic management system 106.
  • the electronic form can comprise various types of input elements, such as text fields (e.g., ASCII field), listings of static values from which the user can select (e.g., drop-down menu), buttons, and displays (e.g., for displaying default values or validation feedback), which are configured to collect a set of client requirements for the network traffic management system 106.
  • the electronic document may collect at least some of the set of client requirements as attribute-value pairs.
  • the electronic form may obtain from a user (e.g., client user) various client requirements for the network traffic management system 108.
  • Example client requirements include, without limitation, those relating to: a device pairing (e.g., a pairing between an ADC device and a particular client or business); configuration partitions on the network traffic management system 106 (e.g., configuration partition available on an ADC device); a domain name (e.g., fully qualified domain name [PGDN]); virtual network address allocation (e.g., virtual IP addresses available on an ADC device); port address (e.g., port associated with a FQDN); user universal resource locator (URL); redirection (e.g., redirection URL); SSL connections (e.g., no SSL, SSL pass-through, SSL termination with or without re-initiation, SSL certificate requirements); load balancing (e.g., none, load balancing method, cookie-based or source IP-based persistence); monitoring (e.g., transport control protocol [TCP]-based, hyper-text
  • the configuration template module 120 may facilitate receiving a configuration template, which may include a set of general settings applicable to the network traffic management system 106.
  • the configuration template module 120 may receive a configuration template when a user (e.g., engineer user) at the client system 102 provides the server system 104 with the configuration template.
  • Providing a given template to the server system 104 may involve the user at the client system 102 selecting an existing template, creating (e.g., generating) a new template, or modifying an existing template.
  • the user at the client system 102 may uses a graphical user interface to interact with the server system 104 and cause the server system 104 to select an existing template, create a new template, or modify an existing template on behalf of the user.
  • the graphical user interface may be one presented by an application, an electronic form, or a web page that is provide to the client system 102 (e.g., by the server system 104).
  • the configuration template may comprise a set of general settings applicable to the network traffic management system 106.
  • the set of general settings may include a set of default settings for the network traffic management system 106.
  • the set of default settings may be associated with a given client being serviced by the network traffic management system 106, associated with a given computing service (e.g., web-based application) being provided through the network traffic management system 106, or some combination of both.
  • the configuration template provides the server system 104 with a set of general settings, from which the server system 104 can determine a subset of general settings to be included in the set of specific settings generated by the server system 104.
  • a particular general setting provided b the configuration template may be included in the set of specific settings when the server system 104 determines that a particular client requirement, associated with the given general setting, is included by the set of client requirements received by the client requirement receiving module 122. Accordingly, where the server system 104 generates a specific setting relating to SSL based on the set of client requirements, the server system 104 may utilize a general setting relating to SSL from the configuration template to fully enable the set of specific settings for the network traffic management system 106.
  • Example general settings contained by the configuration template can include, without limitation, default monitor settings (e.g., tcp-ha!f-open), default SSL settings (e.g., SSL certificate name, SSL profile, etc.), default network address translation (NAT) settings (e.g., source NAT profile name, method, rule name, etc.), and default profile settings (e.g., cookie persistence profile, HTTP, TCP client-side profile, TCP server-side profile, etc.).
  • a general setting contained by the configuration template may be one that a client user is unable to provide by way of the set of client requirements (e.g., due to lack of knowledge) or one that the client user forgets to provide by way of the set of client requirements.
  • the client requirement receiving module 122 may facilitate receiving a set of client requirements, which may be collected from a user at the client system 102. As described herein, the set of client requirements may be collected from a user at the client system 102 using an electronic form provided by the server system 104. Depending on the example, the client requirement receiving module 122 may receive the set of client requirements from the client system 102 as a data set, which the client system 102 may have produced based on a client user's input to the electronic form. Alternatively, the client system 102 may submit the set of client requirements to the server system 104 by storing a user's inputs to the electronic form, and sending the resulting electronic form back to the server system 104 for further processing.
  • the server system 104 may extract the set of client requirements from the returned electronic form, and the client requirement receiving module 122 may receive the extracted set of client requirements.
  • the set of client requirements received by client requirement receiving module 122 may include a client requirement generally associated with network traffic management or one particularly associated with the network traffic management system 106.
  • at least one client requirement, in the set of client requirements received by client requirement receiving module 122 may be in the form of an attribute-value pair.
  • the client requirement validation module 124 may facilitate validating a set of client requirements based on a set of checks.
  • the set of checks permit the client requirement validation module 124 to reduce or otherwise prevent errors during collection of client requirements associated with the network traffic management system 106.
  • the set of checks may determine whether a particular virtual network address (e.g., virtual IP address) associated with a client requirement (e.g., specified by the client requirement) is available for use by the network traffic management system 106. Such checks may prevent or reduce the changes of duplication of use of the particular network address.
  • the set of checks may determine a particular virtual network address unavailable if, for example: the particular virtual network address is currently requested for use by another network device (e.g., another network traffic management system has an outstanding request to the server system 104 to use of the virtual network address through); the particular virtual network address is currently registered with a network address management system (e.g., a dynamic host control protocol [DHCP] system) for use by another network device; or another network device responds to a network query sent to the particular network address (e.g., whether another network device responds to a ping transmitted to the particular network address by the server system 104).
  • a network address management system e.g., a dynamic host control protocol [DHCP] system
  • the set of checks may determine whether a first client
  • the set of checks may determine whether a fully qualified domain name (FQDN) associated with (e.g., specified by) a first given client requirement resolves to a virtual network address (e.g., virtual IP address) associated (e.g., specified by) with a second given client requirement.
  • FQDN fully qualified domain name
  • a virtual network address e.g., virtual IP address
  • the set of checks may determine the status (e.g., network status) of a computing service provided, or supported, by a server pool through the network traffic management system 106 (e.g., network traffic for the computing service passes between the server pool and a client system through the network traffic management system 106).
  • the set of checks may determine the health status of a particular web-based application provided by a server pool through the network traffic management system 106.
  • the set of checks may determine, for instance, whether the particular web-based application is active (e.g., operating and responsive) or inactive (e.g., non- responsive).
  • the set of checks may determine whether a (server) member of a server pool is online (or offline) by performing a network interrogation of the server using a network address associated with the member.
  • the network address associated with the member may be specified by the client requirements provided through the electronic form provided by the server system 104.
  • a user e.g., client user
  • the client requirement validation module 124 can be informed (e.g., alerted or notified) regarding any issues or errors detected by the client requirement validation module 124.
  • the issue or error may be displayed as validation feedback on the electronic form used to collect the set of client requirements from the user at the client system 102.
  • the validation feedback permits the user to address (e.g., correct) the client requirement in the electronic form causing the issue or error.
  • the naming template module 128 may facilitate receiving a naming template, which in turn can assist in or facilitate organization of a set of specific settings eventually generated by the server system 104 (e.g., by the setting generation module 128).
  • Receiving the naming template may comprise the generation of the naming template based on user input, which may be provided by a user (e.g., engineer user) at the client system 102.
  • the naming template causes the set of specific settings generated by the setting generation module 128 to be organized according to a set of naming structures (e.g., a set of names).
  • the naming template can provide a naming structure (e.g., including a prefix or suffix) that can be applied to the set of specific settings to organize those specific settings.
  • a user e.g., engineer user
  • organizing the set of specific settings according to the set of naming structures can assist an engineer (or other individual) in troubleshooting or debugging the set of specific settings (e.g., before or after the set of specific settings have been implemented at the network traffic
  • the set of naming structures includes a naming structure for settings relating to pool servers, a naming structure for settings relating to load balancing, a naming structure for settings relating to server monitoring, or a naming structure for settings relating to secure network connections.
  • the naming template can cause the set of specific settings generated by the setting generation module 128 to be organized as structured stanzas.
  • a structured stanza can specify, for instance, a setting command (e.g., create, modify, etc.), a setting type (e.g., virtual IP, profile, server pool, SSL, monitoring, etc.), a setting subtype where applicable, a setting value, a setting name to associate with the setting value, or some combination thereof.
  • the commands in the script may be organized according to such structured stanzas. More regarding scripts containing structured stanzas is described later herein with respect to FIG. 7, and more regarding naming templates is discussed later herein with respect to FIG. 8.
  • the setting generation module 128 may facilitate generation of a set of specific settings for the network traffic management system 106 based on the configuration template received by the configuration template module 120 and the set of client requirements received by the client requirements receiving module 122.
  • the setting generation module 128 may determine, from the set of general settings included by the configuration template, a subset of general settings based on the set of client requirements received by the client requirements receiving module 122.
  • each general setting in the subset of general settings, determined by the setting generation module 128, is one relating to a client requirement included by the set of client requirements received by the configuration template module 120.
  • the setting generation module 128 may facilitate generation of a set of specific settings for the network traffic management system 106 based on the configuration template received by the configuration template module 120, the set of client requirements received by the client requirements receiving module 122, and the naming template received by the naming template module 128.
  • the setting generation module 128 may select a set of naming structures provided by the naming template and apply the selected set of naming structures to the set of specific settings.
  • the set of naming structures selected and applied by the setting generation module 128 may be according to the set of specific settings being generated by the setting generation module 128 (e.g., based on the configuration template and the set of client requirements).
  • a given naming structure from the naming template is applied to a given specific setting based on the given specific setting's type or the given specific setting's association with a particular client or application.
  • the set of client requirements is validated by the client requirement validation module 124 before the set of specific settings is generated based on the set of client requirements.
  • the set of specific settings may comprise engineering work orders that an engineer can implement (e.g., manually) at the network traffic management system 106.
  • the set of specific settings may comprise a script including commands (e.g., executable at a command line input [CLI]) for implementing the set of client requirements at the network traffic management system 108 (e.g., when the script is executed by the network traffic management system 106).
  • commands e.g., executable at a command line input [CLI]
  • Example commands utilized in a script can include, without limitation, those relating to creation of a SSL certificate, those relating to configuring monitoring a member of a server pool, those relating to configuring load balancing for a server pool, and those relating to configuring redirection.
  • the server communications module 130 may facilitate
  • the server system 104 communicates with the client system 102 over the communications network 108, and between the server system 104 and the network traffic management system 106.
  • the server system 104 communicates with the server system 104 and the client system 102 over the communications network 108, and between the server system 104 and the network traffic management system 106.
  • the server system 104 communicates with the server system 104 and the client system 102 over the communications network 108, and between the server system 104 and the network traffic management system 106.
  • the communications module 130 may facilitate the server system 104 sending an electronic form described herein to the client system 102, or may faciiitate the server system 104 receiving from the client system 102 a set of client requirements (e.g., as collected at the client system 102 by the electronic form).
  • the server communications module 130 may facilitate the server system 104 obtaining from the network traffic management system 106 a current setting of the network traffic management system 106, or may faciiitate the server system 104 sending the network traffic management system 106 a set of specific settings to implement a set of client requirements at the network traffic management system 106.
  • the server communications module 130 may facilitate the server system 104 sending an electronic form described herein to the client system 102, or may faciiitate the server system 104 receiving from the client system 102 a set of client requirements (e.g., as collected at the client system 102 by the electronic form).
  • the server communications module 130 may facilitate the server system 104 obtaining from the network traffic management system 106 a current setting of the network traffic management system 106, or may
  • communications module 130 may facilitate the server system 104 receiving a configuration template or receiving a naming template as described herein.
  • FIG. 2 illustrates an example server computing device 200.
  • the server computing device 200 includes a computer-readable medium 202, a processor 204, and a communications interface 206.
  • the components or the arrangement of components of the server computing device 200 may differ from what is depicted in FIG. 2.
  • the server computing device 200 can include more or less components than those depicted in FIG. 2.
  • the computer-readable medium 202 may be any electronic, magnetic, optical, or other physical storage device that stores executable instructions.
  • the computer-readable medium 202 may be a Random Access Memory (RAM), an Electrically-Erasable Programmable Readonly Memory (EEPROM), a storage drive, an optical disc, or the like.
  • RAM Random Access Memory
  • EEPROM Electrically-Erasable Programmable Readonly Memory
  • the computer-readable medium 202 can be encoded to store executable instructions that cause the processor 204 to perform operations in accordance with various examples described herein, in various examples, the computer-readable medium 202 is non-transitory.
  • the computer-readable medium 202 includes configuration template receiving instructions 208, client requirement receiving instructions 210, and setting generation instructions 212.
  • the processor 204 may be one or more central processing units (CPUs), microprocessors, or other hardware devices suitable for retrieval and execution of one or more instructions stored in the computer-readable medium 202.
  • the processor 204 ma fetch, decode, and execute the instructions 208, 210, and 212 to enable the server computing device 200 to perform operations in accordance with various examples described herein.
  • the processor 204 may include one or more electronic circuits comprising a number of electronic components for performing the functionality of one or more of the instructions 208, 210, and 212.
  • the configuration template receiving instructions 208 may cause the processor 204 to receive a configuration template that includes a set of general settings applicable to a network traffic management device.
  • the client requirement receiving instructions 210 may cause the processor 204 to receive a set of client requirements for (e.g., to be implemented at) a network traffic management device. As described herein, the set of client requirements may be collected by an electronic form provided by the processor 204.
  • the setting generation instructions 212 may cause the processor 204 to generate a set of specific settings for the network traffic management device based on the configuration template received by the processor 204 as a result of the configuration template receiving instructions 208, and based on the set of client requirements received by the processor 204 as a result of the client requirement receiving instructions 210.
  • FIG. 3 illustrates an example method 300 for generating a specific setting for a network traffic management system based on a configuration template and a set of client requirements.
  • execution of method 300 is described below with reference to the server system 104 of FIG. 1 , other suitable systems or devices for execution of method 300 can be possible, such as the server computing device 200 of FIG. 2.
  • the method 300 may be implemented in the form of executable instructions stored on a computer-readable medium or in the form of electronic circuitry.
  • the method 300 begins at block 302, with the server system 104 receiving a set of client requirements for the network traffic management system 108, where the set of client requirements is collected by way of an electronic form.
  • the set of client requirements may be collected by an electronic form provided by the server system 104 to the client system 102, thereby permitting the client user at the client system 102 to enter user input with respect the electronic form.
  • the set of client requirements can include at least one client requirement in the form of an attribute-value pair.
  • the server system 104 generates a set of specific settings for the network traffic management system 106 based on a configuration template as described herein and based on the client requirement received at block 302.
  • the configuration template can comprise a set of general settings, a subset of which may be included in the set of specific settings generated at block 304.
  • the set of specific settings includes from the configuration template at least one general setting that is related to at least one client requirement in the set of client requirements received at block 302.
  • the set of specific settings may be generated subsequent to a successful validation of the set of client requirements.
  • the set of specific settings may comprise engineering work orders that an engineer can implement (e.g., manually) at the network traffic management system 108.
  • the set of specific settings may comprise a script including commands (e.g., executable at a command line input [CL!]) for implementing the set of client requirements at the network traffic management system 106.
  • FIG. 4 illustrates an example method 400 for generating a specific setting for a network traffic management system based on a configuration template and a set of client requirements.
  • execution of method 400 is described below with reference to the server system 104 of FIG. 1 , other suitable systems or devices for execution of method 400 can be possible, such as the server computing device 200 of FIG. 2.
  • the method 400 may be implemented in the form of executable instructions stored on a computer-readable medium or in the form of electronic circuitry.
  • the method 400 begins at block 402, with the server system 104 receiving a configuration template, which may include a set of genera! settings.
  • receiving the configuration template may comprise generating the configuration template based on a user input (e.g., engineer user).
  • Blocks 404 and 406 of method 400 may be similar to blocks 302 and 304 of method 300 respectively, which are described above with respect to FIG. 3.
  • FIG. 5 illustrates an example method 500 for generating a specific setting for a network traffic management system based on a configuration template, a naming template, and a set of client requirements.
  • execution of method 500 is described below with reference to the server system 104 of FIG. 1 , other suitable systems or devices for execution of method 500 can be possible, such as the server computing device 200 of FIG. 2.
  • the method 500 may be implemented in the form of executable instructions stored on a computer- readable medium or in the form of electronic circuitry.
  • the method 500 begins at block 502, which may be similar to block 402 of method 400, which is described above with respect to FIG. 4.
  • Block 504 may be similar to block 302 of method 300, which is described above with respect to FIG. 3.
  • the server system 104 receives a naming template, which may assist in organizing a set of specific settings according to a set of naming structures.
  • the set of naming structures may be included in the naming template. Additionally, receiving the set of naming structures may comprise generating the naming template based on a user input (e.g., engineer user).
  • the server system 104 generates a set of specific settings for the network traffic management system 106 based on the configuration template received at block 502, based on the client requirement received at block 504, and based on the naming template received at block 506.
  • the configuration template can comprise a set of general settings, a subset of which may be included in the set of specific settings generated at block 508.
  • the set of specific settings generated at block 508 may be organized according to a naming structure provided by the naming template received at block 508.
  • FIG. 6 presents a screenshot of an example graphical user interface 600 that can be used by various examples to create or modify a configuration template.
  • a user e.g., engineer user
  • the graphical user interface 600 includes various types of input elements to define a set of general settings for a configuration template.
  • the input elements include a text box for defining a default TCP monitor (e.g., tcp-ha!f-open).
  • the input elements include a radio option for enabling default use of a SSL certificate chain, and include text boxes to specify a SSL certificate chain name and a server-side SSL profile.
  • the input elements include radio options for enabling default use of SNAT, SNAT HTTP profile, and SNAT method, and include text boxes for specifying a SNAT profile name, a SNAT rule name, and SNAT rule parameters.
  • the input elements include text boxes to specify a cookie persistence profile, a HTTP profile, a TCP client- side profile, and a TCP server-side profile. As also shown in FIG.
  • the graphical user interface 600 presents a preview of the set of specific settings that may be generated based on the configuration template as defined through the graphical user interface 600.
  • a user may select a naming template (e.g., by a drop-down menu) to be applied to the set of specific setting, which once selected may be reflected by the set of specific settings presented in the preview.
  • FIG. 7 presents a screenshot of an example graphical user interface 700 that can be used by various examples to create or modify a naming template.
  • a user e.g., engineer user
  • the graphical user interface 700 includes various types of input elements to define a set of naming structures for a naming template.
  • the input elements include text boxes and other elements for adding, removing, or modifying naming templates.
  • the input elements include drop down menus and text boxes for defining a naming structure for settings relating to monitoring (e.g., Monitor Naming_Fie!ds). a naming structure for settings relating to server pools (e.g., Pool Naming_Fie!ds). a naming structure for settings relating to virtual network addresses (e.g., Virtual Naming__Fields), a naming structure for settings relating to load balancing (e.g., Persist Profile Naming__Fieids), and a naming structure for settings relating to SSL (e.g., SSL Profile Naming__Fields).
  • a naming structure for settings relating to monitoring e.g., Monitor Naming_Fie!ds
  • server pools e.g., Pool Naming_Fie!ds
  • a naming structure for settings relating to virtual network addresses e.g., Virtual Naming__Fields
  • a naming structure for settings relating to load balancing e.
  • a particular naming structure (e.g., for server pool settings) ma have a static elements, a dynamic element, or both.
  • a dynamic element of a naming structure may be based on information provided by a set of client requirements received (e.g., by the server system 104 from the client system 102).

Abstract

Some examples provide a method where a configuration template, including a set of general settings applicable to a network traffic management device, is received. A set of client requirements associated with network traffic management, collected by an electronic form, is also received. Eventually, a set of specific settings for the network traffic management device is generated based on the configuration template and the set of client requirements.

Description

SETTS!S!G FOR A NETWORK TRAFF!C fVlANAGE! llE!NiT DEVSCE
BASED ON A TEMPLATE
BACKGROUND
[0001] Datacenters generally include one or more pools of server computing devices (hereafter, server pools) capable of supporting (e.g., providing) various computer services, such as cloud services and web-based applications. Server pools not only enable scalability in providing such computer services (e.g., by providing a pool of computer resources that can be utilized according to client demand), but also ensure reliability in providing such computer services (e.g., provide redundancy in the event that a member of the server pool is incapacitated). At present, network traffic management techniques, such a load balancing, application acceleration, caching, network traffic shaping, and data compression, are commonly utilized in the delivery computer services supported by server pools. The emergence of application delivery networks (ADNs) and their respective application delivery controllers (ADC) devices has improved implementation and performance of network traffic management functions for server pools.
BR!EF DESCRIPTOR OF THE DRAWS!S!GS
[0002] Certain examples are described in the following detailed description in reference to the following drawings.
[0003] FIG. 1 illustrates an example environment including an example client system in communication with an example server system, and an example network traffic management system in communication with the example server system.
[0004] FIG. 2 illustrates an example server computing device.
[0005] FIGs. 3-5 illustrate example methods for generating a specific setting for a network traffic management system.
[0006] FIG. 6 presents a screenshot of an example graphical user interface that can be used by various examples to create or modify a configuration template. [0007] FIG. 7 presents a screenshot of an example graphical user interface that can be used by various examples to create or modify a naming template.
DETA!LED DESCRIPTOR OF SPEOF!C EXAMPLES
[0008] This disclosure describes example techniques for using a template in generating of a specific setting for a network traffic management system, such as an application delivery controller (ADC) device associated with an application delivery network (ADN), A network traffic management system, such as an ADC device, can provide various network traffic-related functions for a pool of server computing devices, including load balancing, application acceleration, caching (e.g., HTTP caching), network traffic shaping, data compression (e.g., HTTP-content compression), secure sockets layer (SSL) acceleration, content switching (e.g., layer 4-7 switching), and the like. As described herein, the functions provided by a network traffic can assist in implementation of high availability (HA), scalability, or both with respect to computing services provided by a pool of servers, including managed computing services for clients.
[0009] Some examples disclosed herein generate a set of specific settings for a network traffic management system based on a configuration template and a set of client requirements associated with network traffic management (e.g., client requirements associated with the network traffic management system). Additionally, some examples disclosed herein generate the set of specific settings for the network traffic management system based on the configuration template, a naming template, and the set of client
requirements associated with network traffic management. For some examples, the configuration template includes a set of general settings applicable to the network traffic management system for which the set of specific settings is being generated. Further, for some examples, the naming template includes a set of naming structures (e.g., a set of names) for organizing settings in the set of specific settings for the network traffic management system.
[0010] By utilizing a configuration template to generate a set of specific settings for a network traffic management system, various examples can improve the process by which a network traffic management system (e.g., ADC) is configured. For instance, using a configuration template can reduce the time in which a set of client requirements can be implemented at a network traffic management system. For example, the configuration template can permit an example to automatically use one or more general settings in the set of specific settings, as needed (e.g., according to the set of client requirements), to successfully impiement the set of specific settings at a network traffic
management system. This automatic use can obviate the need for a client to provide additional user input that would otherwise be needed to successfully impiement the set of specific settings. In another example, using a
configuration template to generate a set of specific settings for the network traffic management system may reduce or otherwise prevent errors from being introduced into the set of specific settings.
[0011] By using a naming template to generate a set of specific settings for a network traffic management system, the set of specific settings generated can be organized in manner favorable to managing (e.g., adding, removing, or modifying) specific settings in the set. Additionally, a naming template can permit the generated set of specific settings to be organized in manner that can assist an engineer (or other individual) in troubleshooting or debugging the set of specific settings (e.g., before or after the set of specific settings have been implemented at the network traffic management system).
[0012] As used herein, a client with respect to a network traffic
management system will be understood to represent a user or a group of users (e.g., associated with an organization, such as a small or large company) that intends to receive, use, or otherwise benefit from a computing service provided by a server pool through a network traffic management system. As used herein, an engineer will be understood to represent a user managing or assisting in the configuration of a network traffic management system.
[0013] FIG. 1 illustrates an example environment 100 including an example client system in communication with an example server system, and an example network traffic management system in communication with the example server system, in particular, environment 100 includes a client system 102 in communication with a server system 104 over a communications network 108, and a network traffic management system 106 in communication with the server system 104 over the communications network 108, As shown, the server system 104 includes a configuration template module 120, a client requirement receiving module 122, a client requirement validation module 124, a naming template module 126, a setting generation module 128, and a server communications module 130.
[0014] Depending on the example, the client system 102 may comprise a desktop, laptop, a hand-held computing device (e.g., personal digital assistants, smartphones, tablets, etc.), a workstation, and the like. Additionally, depending on the example, the server system 104 may comprise one or more servers, which may be operating on, or implemented, using one or more cloud-based resources, such as a System-as-a-Service (SaaS), Platform-as-a-Service (PaaS), or !nfrastructure-as-a-Service (laaS). In various examples, the components or the arrangement of components in the environment 100 may differ from what is depicted in FIG. 1. For instance, the server system 104 can include more or less components than those depicted in FIG. 1 .
[0015] As used herein, modules and other components of various examples may comprise, in whole or in part, machine-readable instructions or electronic circuitry. For instance, a module may comprise computer-readable instructions executable by a processor to perform one or more functions in accordance with various examples described herein. Likewise, in another instance, a module may comprise electronic circuitry to perform one or more functions in accordance with various examples described herein. The elements of a module may be combined in a single package, maintained in several packages, or maintained separately.
[0016] The communications network 108 permits data to be communicated between the client system 102, the server system 104, and the network traffic management system 106 in accordance with various examples described herein. In some examples, the communications network 108 may comprise one or more local or wide-area communications networks, such as the internet, WiFi networks, cellular networks, private networks, public networks, and the like. [0017] The client system 102 may be utilized by a user (e.g., client user) to provide the server system 104 a set of client requirements for the network traffic management system 106. Additionally, the client system 102 may be utilized by a user (e.g., engineer user) to provide a configuration template, a naming template, or both. In various examples, the set of client requirements is provided by a client user, while the configuration template and the naming template is provided by an engineer user, in such examples, if will be understood that the client user may utilize a different client system to provide (e.g., enter) the set of client requirements than the client system utilized by the engineering user to provide (e.g., enter) the configuration template or the naming template.
[0018] Depending on the example, a user (e.g., client user) ma utilize an electronic form to provide a set of client requirements to the server system 104. The electronic form may be one provided by the server system 104. The user's inputs with respect to the electronic form can cause the production of a set of client requirements at the client system 102 or the server system 104. A user at the client system 102 can use the electronic form to define or otherwise modify a client requirement for the network traffic management system 106, and then submit the client requirement to the server system 104. For some examples, the electronic form comprises a web page, a Microsoft® Word® document, a postscript document (e.g., filiable PDF), or some other electronic document accessible by a user at the client system 102. The electronic form may be in the form of a questionnaire that a user will complete to facilitate proper configuration of the network traffic management system 106. Additionally, the electronic form may receive at least one client requirement as an attribute-value pair. Such an attribute-value pair may represent an answer to the questionnaire. Through the electronic form, the user may submit to the server system 104 a set of client requirements for the network traffic management system 106 and, in turn, the server system 104 can provide the user with feedback on the set of client requirements (e.g., validation results) before the set of client requirements is implemented to the network traffic management system 106.
[0019] For various examples, a user (e.g., client user) at the client system 102 enters user input with respect to the electronic document, and at least some of the user input relates to or results in the collection of a client requirement for the network traffic management system 106. Accordingly, the electronic form can comprise a set of input elements (e.g., graphical user interface elements) that relate to the collection of client requirements for the network traffic management system 106. For instance, the electronic form can comprise various types of input elements, such as text fields (e.g., ASCII field), listings of static values from which the user can select (e.g., drop-down menu), buttons, and displays (e.g., for displaying default values or validation feedback), which are configured to collect a set of client requirements for the network traffic management system 106. Depending on the example, the electronic document may collect at least some of the set of client requirements as attribute-value pairs.
[0020] The electronic form may obtain from a user (e.g., client user) various client requirements for the network traffic management system 108. Example client requirements include, without limitation, those relating to: a device pairing (e.g., a pairing between an ADC device and a particular client or business); configuration partitions on the network traffic management system 106 (e.g., configuration partition available on an ADC device); a domain name (e.g., fully qualified domain name [PGDN]); virtual network address allocation (e.g., virtual IP addresses available on an ADC device); port address (e.g., port associated with a FQDN); user universal resource locator (URL); redirection (e.g., redirection URL); SSL connections (e.g., no SSL, SSL pass-through, SSL termination with or without re-initiation, SSL certificate requirements); load balancing (e.g., none, load balancing method, cookie-based or source IP-based persistence); monitoring (e.g., transport control protocol [TCP]-based, hyper-text transport protocol [HTTP]~based, or secure HTTP [HTTPSj-based monitoring, monitoring interval, or monitoring timeout); and members of a server pool (e.g., add or remove servers to the server pool based on their network address and port number).
[0021] The configuration template module 120 ma facilitate receiving a configuration template, which may include a set of general settings applicable to the network traffic management system 106. The configuration template module 120 may receive a configuration template when a user (e.g., engineer user) at the client system 102 provides the server system 104 with the configuration template. Providing a given template to the server system 104 may involve the user at the client system 102 selecting an existing template, creating (e.g., generating) a new template, or modifying an existing template. For some examples, the user at the client system 102 may uses a graphical user interface to interact with the server system 104 and cause the server system 104 to select an existing template, create a new template, or modify an existing template on behalf of the user. Depending on the example, the graphical user interface may be one presented by an application, an electronic form, or a web page that is provide to the client system 102 (e.g., by the server system 104).
[0022] As described herein, the configuration template may comprise a set of general settings applicable to the network traffic management system 106. The set of general settings may include a set of default settings for the network traffic management system 106. The set of default settings may be associated with a given client being serviced by the network traffic management system 106, associated with a given computing service (e.g., web-based application) being provided through the network traffic management system 106, or some combination of both. In various examples, the configuration template provides the server system 104 with a set of general settings, from which the server system 104 can determine a subset of general settings to be included in the set of specific settings generated by the server system 104.
[0023] For instance, a particular general setting provided b the configuration template may be included in the set of specific settings when the server system 104 determines that a particular client requirement, associated with the given general setting, is included by the set of client requirements received by the client requirement receiving module 122. Accordingly, where the server system 104 generates a specific setting relating to SSL based on the set of client requirements, the server system 104 may utilize a general setting relating to SSL from the configuration template to fully enable the set of specific settings for the network traffic management system 106. Example general settings contained by the configuration template can include, without limitation, default monitor settings (e.g., tcp-ha!f-open), default SSL settings (e.g., SSL certificate name, SSL profile, etc.), default network address translation (NAT) settings (e.g., source NAT profile name, method, rule name, etc.), and default profile settings (e.g., cookie persistence profile, HTTP, TCP client-side profile, TCP server-side profile, etc.). A general setting contained by the configuration template may be one that a client user is unable to provide by way of the set of client requirements (e.g., due to lack of knowledge) or one that the client user forgets to provide by way of the set of client requirements.
[0024] The client requirement receiving module 122 may facilitate receiving a set of client requirements, which may be collected from a user at the client system 102. As described herein, the set of client requirements may be collected from a user at the client system 102 using an electronic form provided by the server system 104. Depending on the example, the client requirement receiving module 122 may receive the set of client requirements from the client system 102 as a data set, which the client system 102 may have produced based on a client user's input to the electronic form. Alternatively, the client system 102 may submit the set of client requirements to the server system 104 by storing a user's inputs to the electronic form, and sending the resulting electronic form back to the server system 104 for further processing.
Subsequently, the server system 104 may extract the set of client requirements from the returned electronic form, and the client requirement receiving module 122 may receive the extracted set of client requirements. Depending on the example, the set of client requirements received by client requirement receiving module 122 may include a client requirement generally associated with network traffic management or one particularly associated with the network traffic management system 106. As described herein, at least one client requirement, in the set of client requirements received by client requirement receiving module 122, may be in the form of an attribute-value pair.
[0025] The client requirement validation module 124 may facilitate validating a set of client requirements based on a set of checks. According to various examples, the set of checks permit the client requirement validation module 124 to reduce or otherwise prevent errors during collection of client requirements associated with the network traffic management system 106. For instance, the set of checks may determine whether a particular virtual network address (e.g., virtual IP address) associated with a client requirement (e.g., specified by the client requirement) is available for use by the network traffic management system 106. Such checks may prevent or reduce the changes of duplication of use of the particular network address. The set of checks may determine a particular virtual network address unavailable if, for example: the particular virtual network address is currently requested for use by another network device (e.g., another network traffic management system has an outstanding request to the server system 104 to use of the virtual network address through); the particular virtual network address is currently registered with a network address management system (e.g., a dynamic host control protocol [DHCP] system) for use by another network device; or another network device responds to a network query sent to the particular network address (e.g., whether another network device responds to a ping transmitted to the particular network address by the server system 104).
[0026] The set of checks may determine whether a first client
requirement violates a constraint based on a second client requirement that is related to (e.g., dependent on) the first. For example, the set of checks may determine whether a fully qualified domain name (FQDN) associated with (e.g., specified by) a first given client requirement resolves to a virtual network address (e.g., virtual IP address) associated (e.g., specified by) with a second given client requirement. By perform such constraint checks, conflicts between two or more client requirements can be avoided or addressed before they are implemented at the network traffic management system 108.
[0027] Further, the set of checks may determine the status (e.g., network status) of a computing service provided, or supported, by a server pool through the network traffic management system 106 (e.g., network traffic for the computing service passes between the server pool and a client system through the network traffic management system 106). For instance, the set of checks may determine the health status of a particular web-based application provided by a server pool through the network traffic management system 106. The set of checks may determine, for instance, whether the particular web-based application is active (e.g., operating and responsive) or inactive (e.g., non- responsive).
[0028] Depending on the example, the set of checks may determine whether a (server) member of a server pool is online (or offline) by performing a network interrogation of the server using a network address associated with the member. The network address associated with the member may be specified by the client requirements provided through the electronic form provided by the server system 104.
[0029] In some examples, a user (e.g., client user) at the client system 102 can be informed (e.g., alerted or notified) regarding any issues or errors detected by the client requirement validation module 124. For instance, the issue or error may be displayed as validation feedback on the electronic form used to collect the set of client requirements from the user at the client system 102. In this way, the validation feedback permits the user to address (e.g., correct) the client requirement in the electronic form causing the issue or error.
[0030] The naming template module 128 may facilitate receiving a naming template, which in turn can assist in or facilitate organization of a set of specific settings eventually generated by the server system 104 (e.g., by the setting generation module 128). Receiving the naming template may comprise the generation of the naming template based on user input, which may be provided by a user (e.g., engineer user) at the client system 102. For some examples, the naming template causes the set of specific settings generated by the setting generation module 128 to be organized according to a set of naming structures (e.g., a set of names). For instance, the naming template can provide a naming structure (e.g., including a prefix or suffix) that can be applied to the set of specific settings to organize those specific settings. A user (e.g., engineer user) may define the naming template such that the set of naming structures differentiates the specific settings in the set according to different clients serviced by the network traffic management system 106, according to different computing services (e.g., different types of web-applications) provided through the network traffic management system 106, or some combination of both. As described herein, organizing the set of specific settings according to the set of naming structures can assist an engineer (or other individual) in troubleshooting or debugging the set of specific settings (e.g., before or after the set of specific settings have been implemented at the network traffic
management system 106).
[0031] In some examples, the set of naming structures includes a naming structure for settings relating to pool servers, a naming structure for settings relating to load balancing, a naming structure for settings relating to server monitoring, or a naming structure for settings relating to secure network connections. Additionally, in some examples, the naming template can cause the set of specific settings generated by the setting generation module 128 to be organized as structured stanzas. A structured stanza can specify, for instance, a setting command (e.g., create, modify, etc.), a setting type (e.g., virtual IP, profile, server pool, SSL, monitoring, etc.), a setting subtype where applicable, a setting value, a setting name to associate with the setting value, or some combination thereof. Where the set of specific settings generated by the setting generation module 128 comprises a script, the commands in the script may be organized according to such structured stanzas. More regarding scripts containing structured stanzas is described later herein with respect to FIG. 7, and more regarding naming templates is discussed later herein with respect to FIG. 8.
[0032] The setting generation module 128 may facilitate generation of a set of specific settings for the network traffic management system 106 based on the configuration template received by the configuration template module 120 and the set of client requirements received by the client requirements receiving module 122. The setting generation module 128 may determine, from the set of general settings included by the configuration template, a subset of general settings based on the set of client requirements received by the client requirements receiving module 122. In particular examples, each general setting in the subset of general settings, determined by the setting generation module 128, is one relating to a client requirement included by the set of client requirements received by the configuration template module 120. [0033] For some examples, the setting generation module 128 may facilitate generation of a set of specific settings for the network traffic management system 106 based on the configuration template received by the configuration template module 120, the set of client requirements received by the client requirements receiving module 122, and the naming template received by the naming template module 128. The setting generation module 128 may select a set of naming structures provided by the naming template and apply the selected set of naming structures to the set of specific settings. The set of naming structures selected and applied by the setting generation module 128 may be according to the set of specific settings being generated by the setting generation module 128 (e.g., based on the configuration template and the set of client requirements). For some examples, a given naming structure from the naming template is applied to a given specific setting based on the given specific setting's type or the given specific setting's association with a particular client or application.
[0034] For certain examples, the set of client requirements is validated by the client requirement validation module 124 before the set of specific settings is generated based on the set of client requirements. Depending on the example, the set of specific settings may comprise engineering work orders that an engineer can implement (e.g., manually) at the network traffic management system 106. Additionally, or alternatively, the set of specific settings may comprise a script including commands (e.g., executable at a command line input [CLI]) for implementing the set of client requirements at the network traffic management system 108 (e.g., when the script is executed by the network traffic management system 106). Example commands utilized in a script can include, without limitation, those relating to creation of a SSL certificate, those relating to configuring monitoring a member of a server pool, those relating to configuring load balancing for a server pool, and those relating to configuring redirection.
[0035] The server communications module 130 may facilitate
communication between the server system 104 and the client system 102 over the communications network 108, and between the server system 104 and the network traffic management system 106. For instance, the server
communications module 130 may facilitate the server system 104 sending an electronic form described herein to the client system 102, or may faciiitate the server system 104 receiving from the client system 102 a set of client requirements (e.g., as collected at the client system 102 by the electronic form). In another instance, the server communications module 130 may facilitate the server system 104 obtaining from the network traffic management system 106 a current setting of the network traffic management system 106, or may faciiitate the server system 104 sending the network traffic management system 106 a set of specific settings to implement a set of client requirements at the network traffic management system 106. in a further instance, the server
communications module 130 may facilitate the server system 104 receiving a configuration template or receiving a naming template as described herein.
[0036] FIG. 2 illustrates an example server computing device 200. As shown, the server computing device 200 includes a computer-readable medium 202, a processor 204, and a communications interface 206. In various examples, the components or the arrangement of components of the server computing device 200 may differ from what is depicted in FIG. 2. For instance, the server computing device 200 can include more or less components than those depicted in FIG. 2.
[0037] The computer-readable medium 202 may be any electronic, magnetic, optical, or other physical storage device that stores executable instructions. For example, the computer-readable medium 202 may be a Random Access Memory (RAM), an Electrically-Erasable Programmable Readonly Memory (EEPROM), a storage drive, an optical disc, or the like. The computer-readable medium 202 can be encoded to store executable instructions that cause the processor 204 to perform operations in accordance with various examples described herein, in various examples, the computer-readable medium 202 is non-transitory. As shown in FIG. 2, the computer-readable medium 202 includes configuration template receiving instructions 208, client requirement receiving instructions 210, and setting generation instructions 212. [0038] The processor 204 may be one or more central processing units (CPUs), microprocessors, or other hardware devices suitable for retrieval and execution of one or more instructions stored in the computer-readable medium 202. The processor 204 ma fetch, decode, and execute the instructions 208, 210, and 212 to enable the server computing device 200 to perform operations in accordance with various examples described herein. For some examples, the processor 204 may include one or more electronic circuits comprising a number of electronic components for performing the functionality of one or more of the instructions 208, 210, and 212.
[0039] The configuration template receiving instructions 208 may cause the processor 204 to receive a configuration template that includes a set of general settings applicable to a network traffic management device. The client requirement receiving instructions 210 may cause the processor 204 to receive a set of client requirements for (e.g., to be implemented at) a network traffic management device. As described herein, the set of client requirements may be collected by an electronic form provided by the processor 204. The setting generation instructions 212 may cause the processor 204 to generate a set of specific settings for the network traffic management device based on the configuration template received by the processor 204 as a result of the configuration template receiving instructions 208, and based on the set of client requirements received by the processor 204 as a result of the client requirement receiving instructions 210.
[0040] FIG. 3 illustrates an example method 300 for generating a specific setting for a network traffic management system based on a configuration template and a set of client requirements. Although execution of method 300 is described below with reference to the server system 104 of FIG. 1 , other suitable systems or devices for execution of method 300 can be possible, such as the server computing device 200 of FIG. 2. The method 300 may be implemented in the form of executable instructions stored on a computer-readable medium or in the form of electronic circuitry.
[0041] In FIG. 3, the method 300 begins at block 302, with the server system 104 receiving a set of client requirements for the network traffic management system 108, where the set of client requirements is collected by way of an electronic form. As described herein, the set of client requirements may be collected by an electronic form provided by the server system 104 to the client system 102, thereby permitting the client user at the client system 102 to enter user input with respect the electronic form. As also described herein, the set of client requirements can include at least one client requirement in the form of an attribute-value pair.
[0042] At block 304, the server system 104 generates a set of specific settings for the network traffic management system 106 based on a configuration template as described herein and based on the client requirement received at block 302. As described herein, the configuration template can comprise a set of general settings, a subset of which may be included in the set of specific settings generated at block 304. For some examples, the set of specific settings includes from the configuration template at least one general setting that is related to at least one client requirement in the set of client requirements received at block 302. The set of specific settings may be generated subsequent to a successful validation of the set of client requirements. Depending on the example, the set of specific settings may comprise engineering work orders that an engineer can implement (e.g., manually) at the network traffic management system 108. Additionally, or alternatively, the set of specific settings may comprise a script including commands (e.g., executable at a command line input [CL!]) for implementing the set of client requirements at the network traffic management system 106.
[0043] FIG. 4 illustrates an example method 400 for generating a specific setting for a network traffic management system based on a configuration template and a set of client requirements. Although execution of method 400 is described below with reference to the server system 104 of FIG. 1 , other suitable systems or devices for execution of method 400 can be possible, such as the server computing device 200 of FIG. 2. The method 400 may be implemented in the form of executable instructions stored on a computer-readable medium or in the form of electronic circuitry. [0044] In FIG. 4, the method 400 begins at block 402, with the server system 104 receiving a configuration template, which may include a set of genera! settings. As described herein, receiving the configuration template may comprise generating the configuration template based on a user input (e.g., engineer user). Blocks 404 and 406 of method 400 may be similar to blocks 302 and 304 of method 300 respectively, which are described above with respect to FIG. 3.
[0045] FIG. 5 illustrates an example method 500 for generating a specific setting for a network traffic management system based on a configuration template, a naming template, and a set of client requirements. Although execution of method 500 is described below with reference to the server system 104 of FIG. 1 , other suitable systems or devices for execution of method 500 can be possible, such as the server computing device 200 of FIG. 2. The method 500 may be implemented in the form of executable instructions stored on a computer- readable medium or in the form of electronic circuitry.
[0046] In FIG. 5, the method 500 begins at block 502, which may be similar to block 402 of method 400, which is described above with respect to FIG. 4. Block 504 may be similar to block 302 of method 300, which is described above with respect to FIG. 3.
[0047] At block 506, the server system 104 receives a naming template, which may assist in organizing a set of specific settings according to a set of naming structures. As described herein, the set of naming structures may be included in the naming template. Additionally, receiving the set of naming structures may comprise generating the naming template based on a user input (e.g., engineer user).
[0048] At block 508, the server system 104 generates a set of specific settings for the network traffic management system 106 based on the configuration template received at block 502, based on the client requirement received at block 504, and based on the naming template received at block 506. As described herein, the configuration template can comprise a set of general settings, a subset of which may be included in the set of specific settings generated at block 508. Further, the set of specific settings generated at block 508 may be organized according to a naming structure provided by the naming template received at block 508.
[0049] FIG. 6 presents a screenshot of an example graphical user interface 600 that can be used by various examples to create or modify a configuration template. As described herein, a user (e.g., engineer user) interacting with the graphical user interface 600 can result in the generation of a new configuration template or in the modification of an existing configuration template. As shown in FIG. 6, the graphical user interface 600 includes various types of input elements to define a set of general settings for a configuration template. For instance, with respect to monitoring, the input elements include a text box for defining a default TCP monitor (e.g., tcp-ha!f-open). With respect to general settings relating to SSL, the input elements include a radio option for enabling default use of a SSL certificate chain, and include text boxes to specify a SSL certificate chain name and a server-side SSL profile. With respect to general settings relating to source NAT (SNAT), the input elements include radio options for enabling default use of SNAT, SNAT HTTP profile, and SNAT method, and include text boxes for specifying a SNAT profile name, a SNAT rule name, and SNAT rule parameters. With respect to general settings relating to profiles, the input elements include text boxes to specify a cookie persistence profile, a HTTP profile, a TCP client- side profile, and a TCP server-side profile. As also shown in FIG. 8, the graphical user interface 600 presents a preview of the set of specific settings that may be generated based on the configuration template as defined through the graphical user interface 600. As the graphical user interface 600 illustrates, a user may select a naming template (e.g., by a drop-down menu) to be applied to the set of specific setting, which once selected may be reflected by the set of specific settings presented in the preview.
[0050] FIG. 7 presents a screenshot of an example graphical user interface 700 that can be used by various examples to create or modify a naming template. As described herein, a user (e.g., engineer user) interacting with the graphical user interface 700 can result in the generation of a new naming template or in the modification of an existing naming template. As shown in FIG. 7, the graphical user interface 700 includes various types of input elements to define a set of naming structures for a naming template. Regarding managing naming templates, the input elements include text boxes and other elements for adding, removing, or modifying naming templates. With respect to a selected naming template, the input elements include drop down menus and text boxes for defining a naming structure for settings relating to monitoring (e.g., Monitor Naming_Fie!ds). a naming structure for settings relating to server pools (e.g., Pool Naming_Fie!ds). a naming structure for settings relating to virtual network addresses (e.g., Virtual Naming__Fields), a naming structure for settings relating to load balancing (e.g., Persist Profile Naming__Fieids), and a naming structure for settings relating to SSL (e.g., SSL Profile Naming__Fields). As illustrated, a particular naming structure (e.g., for server pool settings) ma have a static elements, a dynamic element, or both. In some examples, a dynamic element of a naming structure may be based on information provided by a set of client requirements received (e.g., by the server system 104 from the client system 102).
[0051] In the foregoing description, numerous details are set forth to provide an understanding of the subject disclosed herein. However,
implementations may be practiced without some or all of these details. Other implementations may include modifications and variations from the details discussed above. It is intended that the appended claims cover such
modifications and variations.

Claims

1 . A method, comprising:
receiving a configuration template including a set of general settings applicable to a network traffic management device;
receiving a set of client requirements associated with network traffic management, wherein the set of client requirements is collected by an electronic form; and
generating a set of specific settings for the network traffic management device based on the configuration template and the set of client requirements.
2. The method of claim 1 , wherein the set of specific settings includes a set of engineering work orders.
3. The method of claim 1 , wherein the network traffic management device is an application delivery controller (ADC).
4. The method of claim 1 , wherein generating the set of specific settings based on the configuration template and the set of client requirements comprises:
determining, from the set of general settings, a subset of general settings based on the set of client requirements; and
generating the set of specific settings based on the subset of general settings and the set of client requirements.
5. The method of claim 1 , wherein generating the set of specific settings based on the configuration template and the set of client requirements comprises generating, based on the configuration template and the set of client requirements, a script for implementing the set of specific settings at the network traffic management device.
8. The method of claim 1 , comprising receiving a naming template to organize the set of specific settings according to a set of naming structures, wherein the set of specific settings Is generated according to the naming template.
7. The method of claim 6, wherein receiving the naming template comprises generating the naming template based on user input,
8. The method of claim 6, wherein the set of naming structures includes a naming structure for settings relating to pool servers, a naming structure for settings relating to load balancing, a naming structure for settings relating to server monitoring, or a naming structure for settings relating to secure network connections.
9. The method of claim 1 , wherein receiving the configuration template comprises generating the configuration template based on first user input.
10. The method of claim 9, wherein the first user input is from an engineer, and the electronic form collects the set of client requirements based on second user input from a client.
1 1. The method of claim 1 , wherein the electronic form collects at least one client requirement, in the set of the client requirements, as an attribute-value pair.
12. The method of claim 1 , comprising validating the set of client
requirements prior to the set of specific settings being generated.
13. A computer system, comprising:
a processor; and
a memory including instructions being executable by the processor to: receive a set of client requirements associated with network traffic management, wherein the set of client requirements is collected by an electronic form; and
generate a set of specific settings for a network traffic management device based on a configuration template and the set of client requirements, wherein the configuration template includes a set of general settings applicable to a network traffic management devices.
14. The computer system of claim 13, wherein the instructions are executable by the processor to generate the configuration template based on user input,
15. A non-transitory computer readable medium having instructions stored thereon, the instructions being executable by a processor of a computing device to:
generate a configuration template including a set of general settings applicable to a network traffic management device;
receive a set of client requirements associated with network traffic management, wherein the set of client requirements is collected by an electronic form; and
generate a set of specific settings for the network traffic management device based on the configuration template and the set of client requirements.
PCT/US2014/071374 2014-12-19 2014-12-19 Setting for a network traffic management device based on a template WO2016099533A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2014/071374 WO2016099533A1 (en) 2014-12-19 2014-12-19 Setting for a network traffic management device based on a template

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/071374 WO2016099533A1 (en) 2014-12-19 2014-12-19 Setting for a network traffic management device based on a template

Publications (1)

Publication Number Publication Date
WO2016099533A1 true WO2016099533A1 (en) 2016-06-23

Family

ID=56127172

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2014/071374 WO2016099533A1 (en) 2014-12-19 2014-12-19 Setting for a network traffic management device based on a template

Country Status (1)

Country Link
WO (1) WO2016099533A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230353453A1 (en) * 2022-04-28 2023-11-02 Cisco Technology, Inc. Template based edge cloud core deployment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100121975A1 (en) * 2008-11-12 2010-05-13 Rajiv Sinha Systems and Methods For Application Fluency Policies
US20100131636A1 (en) * 2008-11-24 2010-05-27 Vmware, Inc. Application delivery control module for virtual network switch
US20100223364A1 (en) * 2009-02-27 2010-09-02 Yottaa Inc System and method for network traffic management and load balancing
US20100332617A1 (en) * 2009-05-01 2010-12-30 Thomas Goodwin Systems and methods for providing a virtual appliance in an application delivery fabric
US8533308B1 (en) * 2005-08-12 2013-09-10 F5 Networks, Inc. Network traffic management through protocol-configurable transaction processing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533308B1 (en) * 2005-08-12 2013-09-10 F5 Networks, Inc. Network traffic management through protocol-configurable transaction processing
US20100121975A1 (en) * 2008-11-12 2010-05-13 Rajiv Sinha Systems and Methods For Application Fluency Policies
US20100131636A1 (en) * 2008-11-24 2010-05-27 Vmware, Inc. Application delivery control module for virtual network switch
US20100223364A1 (en) * 2009-02-27 2010-09-02 Yottaa Inc System and method for network traffic management and load balancing
US20100332617A1 (en) * 2009-05-01 2010-12-30 Thomas Goodwin Systems and methods for providing a virtual appliance in an application delivery fabric

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230353453A1 (en) * 2022-04-28 2023-11-02 Cisco Technology, Inc. Template based edge cloud core deployment

Similar Documents

Publication Publication Date Title
US11218595B2 (en) Method and system for providing resiliency in interaction servicing
US10491700B2 (en) Application managed service instances
US10063490B2 (en) Method and system of operating an online application service in a deployment environment to facilitate run-time experimentation with user interface configurations
JP2018512084A (en) Highly scalable and fault-tolerant remote access architecture and how to connect to it
US20160092208A1 (en) Managing access to resource versions in shared computing environments
US11108871B2 (en) Dynamic generation of network routing configuration with service requirements
US10542071B1 (en) Event driven health checks for non-HTTP applications
WO2022155020A1 (en) Systems and methods to improve application performance
KR20160140708A (en) User-specific application activation for remote sessions
EP3685265A1 (en) Geographic location based computing asset provisioning in distributed computing systems
CN106878260B (en) Single sign-on realization method and device
CN108112268B (en) Managing load balancers associated with auto-extension groups
US9893936B2 (en) Dynamic management of restful endpoints
US9621632B2 (en) Scaling of stateful enterprise services
US10887249B2 (en) Resource trees by management controller
EP3772686A1 (en) Automatic restore for a failed virtual computing session
EP3387816B1 (en) Connecting and retrieving security tokens based on context
US11075850B2 (en) Load balancing stateful sessions using DNS-based affinity
US20190026135A1 (en) Blueprint application storage policy
EP2823622A1 (en) A method and a control node in an overlay network
US11381665B2 (en) Tracking client sessions in publish and subscribe systems using a shared repository
WO2016099533A1 (en) Setting for a network traffic management device based on a template
EP2942711B1 (en) Dynamic generation of proxy connections
US10637924B2 (en) Cloud metadata discovery API
US10659326B2 (en) Cloud computing network inspection techniques

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14908611

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14908611

Country of ref document: EP

Kind code of ref document: A1