Service Orchestration Method and Device, Service Provisioning Method and Device
By filling in and correlating the business attributes, policies and parameters in the business templates, the business strategy configuration problem in the WAN side business orchestration is solved, and the template design of business policies and the collaborative configuration of business distribution is realized.
Patent Information
- Application Number
- CN202010495830.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2016-08-24
- Publication Date
- 2025-06-17
- Estimated Expiration
- 2036-08-24
AI Technical Summary
It is difficult for existing SDN technology to implement orchestration of WAN-side services, especially when configuring business policies, it cannot be orchestrated and used directly as parameters.
By obtaining the business template, filling in the business attributes, business policies and default business parameters entered by the operator, forming a complete business template, and associate it with the business identity, deposit it into the business type library, and publishing the business template to users.
It realizes the design of business strategies into the business template, thereby realizing the orchestration of WAN-side services and collaborative configuration of subsequent service distribution.
Smart Images

Figure CN111865653B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of service orchestration, and particularly to a service orchestration method and apparatus, and a service provisioning method and apparatus. Background Art
[0002] Software Defined Network (SDN for short) is a new network technology emerging in recent years. Its main feature is that it can separate the control right on network devices and be managed by a centralized controller, without relying on the network devices themselves for control, shielding the differences from network devices, so that different network devices can be centrally managed.
[0003] When SDN performs service orchestration, it takes services as a kind of resource and orchestrates the attributes of the resources (i.e., the attributes of the services) into templates for distribution. However, the service orchestration solution of SDN is not applicable to service orchestration in all scenarios, such as Wide Area Network (WAN) side services.
[0004] For WAN side services, in addition to needing to orchestrate the service attributes of WAN side services (such as topology type, service type, etc.), other characteristics of WAN side services also need to be designed, such as configuring the service policies of the services (such as address pool policies, routing policies, etc.). Since service policies are not a parameter, service policies cannot be orchestrated as a parameter during service orchestration and directly used during subsequent service provisioning. Therefore, it is impossible to implement the orchestration of WAN side services using the existing SDN solution. Summary of the Invention
[0005] To solve the problems of the prior art, embodiments of the present invention provide a service orchestration method and apparatus, and a service provisioning method and apparatus. The technical solutions are as follows:
[0006] In a first aspect, a service orchestration method is provided. The method includes: obtaining a service template, where the service template includes the following options: service attributes for describing a service, service policies for configuring the service, and service parameters for a user to fill in; obtaining a service identifier, service attributes, service policies, and default service parameters input by an operator; filling the service attributes, service policies, and default service parameters input by the operator into the options of the service template; associating the filled service template with the service identifier; storing the service template associated with the service identifier in a service type library, and publishing the service template to the user.
[0007] In the embodiments of the present invention, a service template is composed of service attributes, service policies, and service parameters. Then, the service attributes, service policies input by the operator, and default service parameters are filled into the options of the service template to form a complete service template. Next, the service template is associated with a service identifier and then published to the user. During the subsequent service provisioning process, the coordinator or controller can convert the above service policies into service configurations, realizing the design of service policies into the service template, thereby realizing the orchestration of WAN-side services.
[0008] Among them, the service identifier includes but is not limited to service name, service number, service identifier, etc. Taking the VPN service as an example, the service name can be enterprise dedicated line, personal line, home line, etc.
[0009] Among them, the service type library is a database for storing service templates, and this database is the database in the coordinator.
[0010] Combined with the first aspect, in the first implementation manner of the first aspect, the obtaining of the service template includes: publishing a policy management interface through the northbound interface; obtaining the service template through the policy management interface.
[0011] Among them, the service template can be created by the operator. The policy management interface can include a service template creation interface. The above obtaining of the service template through the policy management interface can include: obtaining the service template created by the operator through the service template creation interface. Optionally, the policy management interface can also include a service template modification interface, and the operator can modify the service template through the service template modification interface.
[0012] In this implementation manner, obtaining the service template created by the operator through the northbound interface is simple and convenient.
[0013] Combined with the first aspect, in the second implementation manner of the first aspect, the publishing of the service template to the user includes: publishing a service creation interface through the northbound interface, so that the user can use the service template in the service type library through the service creation interface.
[0014] In this implementation manner, publishing the service template to the user through the northbound interface is simple and convenient.
[0015] Combined with the first aspect, in the third implementation manner of the first aspect, the service template includes a first sub-template applicable to a specified domain in the network and a second sub-template applicable to other domains in the network except the specified domain, and the first sub-template is associated with the identifier of the specified domain.
[0016] Among them, a domain is a network composed of multiple routers and a controller that manages the multiple routers. A specified domain refers to a domain selected by an operator based on the attributes of the domain, and the specified domain has attributes different from those of other domains. For example, taking the VPN service as an example, if the service type (the attribute of the domain) supported by a certain domain is L2 VPN and the service types supported by other domains are L3 VPN, then this domain is the specified domain.
[0017] In this implementation manner, the service template is divided into a first sub-template applicable to the specified domain in the network and a second sub-template applicable to other domains in the network except the specified domain, so that the service template can be applicable to all domains in the network.
[0018] Among them, the second sub-template can also be called a default template, and the default template is applicable to all domains except the specified domain.
[0019] Optionally, when the operator creates the service template, it can be determined whether the first sub-template needs to be designed. Specifically, the operator determines whether there is a specified domain according to the configurations of each domain in the existing network. If there is a specified domain, the first sub-template needs to be designed; if there is no specified domain, the first sub-template does not need to be designed.
[0020] Combined with any one of the first aspect or the first to third implementation manners of the first aspect, in the fourth implementation manner of the first aspect, the service is a virtual private network (VPN) service.
[0021] Of course, in the present invention, the service can also be other services, such as services in the field of data centers, which will not be elaborated here.
[0022] Combined with the fourth implementation manner of the first aspect, in the fifth implementation manner of the first aspect, the service attributes include topology type, service type, flow configuration, service level agreement (SLA) parameters, and layer parameters.
[0023] Combined with the fourth or fifth implementation manner of the first aspect, in the sixth implementation manner of the first aspect, the service policies include address pool policy, quality of service (QoS) policy, protection policy, and routing policy.
[0024] Among them, the address pool policy, QoS policy, protection policy, and routing policy all include policy level, application object, and policy content.
[0025] Combined with any one of the fourth to sixth implementation manners of the first aspect, in the seventh implementation manner of the first aspect, the service parameters include the identifier and bandwidth information of the access point on the provider edge (PE) side of the operator network.
[0026] Second aspect, a service provisioning method is provided, and the method includes: obtaining a service identifier input by a user; selecting a corresponding service template from a service type library according to the service identifier, where the service template includes service attributes for describing the service, service policies for configuring the service, and service parameters for the user to fill in; calculating an inter-domain route according to the service template; selecting a single-domain service template for configuring a single domain for each domain on the path formed by the calculated inter-domain route, where the single-domain service template includes service attributes for describing the service, service policies for configuring the service, and service parameters for the user to fill in; and sending the single-domain service template to a controller in the corresponding domain so that the controller configures network elements in the domain.
[0027] In an embodiment of the present invention, when the coordinator performs service provisioning, it first obtains the service identifier input by the user, then selects a corresponding service template for the user according to the service identifier input by the user, calculates an inter-domain route according to the selected service template and selects a single-domain service template for each corresponding domain, and then sends the single-domain service template to the controller in the corresponding domain, thereby converting the service policy in the service template into service configuration and realizing service provisioning.
[0028] Among them, the network elements in the domain include but are not limited to routers.
[0029] Among them, the single-domain service template refers to a service template applied to a single domain, and the service attributes, service policies, and service parameters in the single-domain service template are all for a single domain.
[0030] Combined with the second aspect, in the first implementation manner of the second aspect, the obtaining the service identifier input by the user includes: obtaining the service identifier input by the user through a service creation interface, and the service creation interface is published through a northbound interface.
[0031] Among them, the service identifier includes but is not limited to a service name, a service number, a service identifier, etc. Taking the VPN service as an example, the service name can be an enterprise dedicated line, a personal line, a home line, etc.
[0032] In this implementation manner, obtaining the service identifier input by the user through the northbound interface is simple and convenient.
[0033] Combined with the second aspect, in the second implementation manner of the second aspect, the calculating an inter-domain route according to the service template includes: obtaining a routing rule from the service policies of the service template, where the routing rule includes a routing condition and a path finding condition; calculating an inter-domain route according to the routing condition and the path finding condition; and allocating addresses to ports of edge devices on the path selected for the inter-domain route according to the address pool policy in the service policy.
[0034] Among them, inter-domain routing includes routing information between domains. The addresses assigned to ports include VLAN addresses, IP addresses, etc.
[0035] In this implementation manner, the inter-domain routing is calculated according to the routing rules of the service policy, so that the calculated inter-domain routing can meet the routing conditions and path-finding conditions in the routing rules.
[0036] Among them, calculating the inter-domain routing according to the routing conditions and the path-finding conditions may include: filtering the nodes in the logical network that do not meet the routing conditions according to the routing conditions, where the logical network is obtained by abstracting the domains in the network as nodes and the inter-domain connections as paths; calculating the inter-domain routing according to the path-finding conditions.
[0037] Combined with the second aspect, in the third implementation manner of the second aspect, selecting single-domain service templates for configuring individual domains on each domain on the path selected for the calculated inter-domain routing includes: determining whether the domain is a specified domain; when the domain is a specified domain, selecting the first sub-template as the single-domain service template of the domain, and when the domain is not a specified domain, selecting the second sub-template as the single-domain service template of the domain, where the service template includes a first sub-template applicable to the specified domain in the network and a second sub-template applicable to other domains in the network except the specified domain, and the first sub-template is associated with the identifier of the specified domain.
[0038] Among them, a domain is a network composed of multiple routers and a controller for managing multiple routers. A specified domain refers to a domain selected by the operator according to the attributes of the domain, and the specified domain has attributes different from other domains. For example, taking the VPN service as an example, if the service type (attribute of the domain) supported by a certain domain is L2 VPN and the service types supported by other domains are L3 VPN, then this domain is the specified domain.
[0039] In this implementation manner, the domains on the determined path are classified, the first sub-template is selected for the specified domain, and the second sub-template is selected for the non-specified domain, so that the selected sub-template can meet the requirements of each domain.
[0040] Optionally, determining whether the domain is a specified domain may include: obtaining the attributes of each domain in the network, where the attributes include whether the domain is a specified domain; judging whether the domain is a specified domain according to the attributes of the domain. Among them, the attributes of the domain can be stored in the storage device by the operator in advance.
[0041] Combined with the second aspect, in the fourth implementation manner of the second aspect, the step of sending the single-domain service template to the controller in the corresponding domain to enable the controller to configure the network elements in the domain includes: sending the single-domain service template to the controller in the corresponding domain to request intra-domain routing; receiving the intra-domain routing returned by the controller; combining the intra-domain routing and the inter-domain routing to form routing information; and sending the routing information to the controller so that the controller configures the network elements in the domain according to the routing information and the single-domain service template.
[0042] Among them, the intra-domain routing includes the routing information within a domain.
[0043] In this implementation manner, first send the single-domain service template to the controller to obtain the intra-domain routing returned by the controller, and then combine the intra-domain routing and the inter-domain routing to form routing information and send it to the controller, so that the controller can implement network element configuration according to the routing information, thereby realizing service provisioning and configuration.
[0044] When implementing, sending the single-domain service template to the controller in the corresponding domain may include: converting the single-domain service template into parameters that the controller can use; and sending the parameters to the controller.
[0045] Combined with the fourth implementation manner of the second aspect, in the fifth implementation manner of the second aspect, the method further includes: obtaining the service parameters input by the user; before sending the single-domain service template to the controller in the corresponding domain, replacing the service parameters in the single-domain service template with the service parameters input by the user; and sending the replaced single-domain service template to the controller in the corresponding domain.
[0046] In this implementation manner, when the user inputs service parameters, the method can also replace the service parameters in the service template to realize the user's configuration of the service.
[0047] Combined with the fourth implementation manner of the second aspect, in the sixth implementation manner of the second aspect, the method further includes: receiving the result code returned by the controller after calculating the intra-domain routing; judging whether the intra-domain routing is calculated successfully according to the result code; when the intra-domain routing is calculated successfully, receiving the intra-domain routing returned by the controller; and when the intra-domain routing calculation fails, generating an error prompt.
[0048] In this implementation manner, judge whether the intra-domain routing is calculated successfully through the result code of the controller, and perform different operations in case of success and failure to avoid problems in service provisioning caused by calculation failure.
[0049] Optionally, determining whether the intra-domain routing is calculated successfully based on the result code may include: when the result code is the first result code, determining that the intra-domain routing is calculated successfully; when the result code is the second result code, determining that the intra-domain routing calculation fails. The first result code and the second result code are different.
[0050] Among them, the form of the result code includes but is not limited to numbers, letters, etc. For example, the first result code is 200 and the second result code is 100.
[0051] Combined with the fourth implementation manner of the second aspect, in the seventh implementation manner of the second aspect, the method further includes: returning the routing information to the operator; obtaining the confirmation information returned by the operator, where the confirmation information is generated after the operator confirms whether the routing information meets the requirements; if the confirmation information indicates that the routing information does not meet the requirements, generating an error prompt; if the confirmation information indicates that the routing information meets the requirements, sending the routing information to the controller.
[0052] In this implementation manner, the routing information is returned to the operator for confirmation to ensure that the generated routing information can meet the service requirements and improve the accuracy of service delivery.
[0053] Among them, the confirmation information may be an instruction message, and this instruction message includes a part that can indicate whether the routing information meets the requirements. The form of this part includes but is not limited to numbers, letters, etc. For example, using Y indicates that the routing information meets the requirements, and using N indicates that the routing information does not meet the requirements.
[0054] Combined with the fourth implementation manner of the second aspect, in the eighth implementation manner of the second aspect, the method further includes: receiving the configuration result of the controller; if all domains are configured successfully, setting the service status to active; if some domains are configured failed, setting the service status to partially successful; if all domains are configured failed, setting the service status to deactivated.
[0055] In this implementation manner, the service status is set to prompt the operator whether the service delivery is successful. If it is not successful, the delivery or configuration can be performed again.
[0056] Among them, the configuration result includes three types: all domains are configured successfully, some domains are configured failed, and all domains are configured failed. The form of the configuration result includes but is not limited to numbers, letters, etc.
[0057] Combined with any one of the second aspect or the first implementation manner to the eighth implementation manner of the second aspect, in the ninth implementation manner of the second aspect, the service is a VPN.
[0058] In a third aspect, a service deployment method is provided. The method includes: receiving a single-domain service template sent by a coordinator, where the single-domain service template includes service attributes for describing a service, service policies for configuring the service, and service parameters for a user to fill in; calculating an intra-domain route according to the single-domain service template; sending the intra-domain route to the coordinator; receiving route information sent by the coordinator, where the route information is generated according to the intra-domain route and an inter-domain route; and configuring network elements in the domain according to the route information and the single-domain service template.
[0059] In an embodiment of the present invention, an intra-domain route is calculated through a single-domain service template, and then network elements are configured according to the route information obtained from the intra-domain route. Finally, the service template is converted into a configuration of network elements in the domain, realizing the orchestration and deployment of services.
[0060] In a fourth aspect, a service orchestration device is provided. The device includes several units, such as a first acquisition unit, a second acquisition unit, a writing unit, an association unit, and a publishing unit. The several units are used to implement the method provided in the first aspect or any possible implementation manner in the first aspect.
[0061] In a fifth aspect, a service deployment device is provided. The device includes several units, such as an acquisition unit, a selection unit, a calculation unit, a processing unit, and a sending unit. The several units are used to implement the method provided in the second aspect or any possible implementation manner in the second aspect.
[0062] In a sixth aspect, a service deployment device is provided. The device includes several units, such as a first receiving unit, a calculation unit, a sending unit, a second receiving unit, and a configuration unit. The several units are used to implement the method provided in the third aspect or any possible implementation manner in the third aspect.
[0063] In a seventh aspect, a service orchestration device is provided. The service orchestration device includes a processor, a memory, and a communication interface. The memory is used to store software programs and modules. The processor realizes: the method provided in the first aspect or any possible implementation manner in the first aspect by running or executing the software programs and / or modules stored in the memory.
[0064] In an eighth aspect, a service deployment device is provided. The service deployment device includes a processor, a memory, and a communication interface. The memory is used to store software programs and modules. The processor realizes: the method provided in the second aspect or any possible implementation manner in the second aspect by running or executing the software programs and / or modules stored in the memory.
[0065] In a ninth aspect, a service distribution device is provided. The service distribution device includes a processor, a memory, and a communication interface. The memory is used to store software programs and modules. The processor realizes the method provided by the third aspect or any possible implementation manner of the third aspect by running or executing the software programs and / or modules stored in the memory.
[0066] In a tenth aspect, a computer-readable storage medium is provided. The computer-readable storage medium is used to store the program code executed by the foregoing processor during service transmission. The program code includes instructions for implementing the method provided by the first aspect or any implementation manner of the first aspect.
[0067] In an eleventh aspect, a computer-readable storage medium is provided. The computer-readable storage medium is used to store the program code executed by the foregoing processor during service transmission. The program code includes instructions for implementing the method provided by the second aspect or any implementation manner of the second aspect.
[0068] In a twelfth aspect, a computer-readable storage medium is provided. The computer-readable storage medium is used to store the program code executed by the foregoing processor during service transmission. The program code includes instructions for implementing the method provided by the third aspect or any implementation manner of the third aspect.
[0069] In a thirteenth aspect, a service distribution system is provided. The system includes a coordinator and a controller.
[0070] The coordinator includes a service encoding device as described in the fourth aspect and a service distribution device as described in the fifth aspect.
[0071] The controller includes a service distribution device as described in the sixth aspect.
[0072] The technical effects obtained in the fourth to thirteenth aspects of the embodiments of the present invention are similar to the technical effects obtained by the corresponding technical means in the first to third aspects, and will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0073] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0074] Figure 1 It is a schematic diagram of an application scenario provided by an embodiment of the present invention.
[0075] Figure 2It is a schematic structural diagram of a coordinator provided by an embodiment of the present invention;
[0076] Figure 3 It is a schematic structural diagram of a coordinator provided by an embodiment of the present invention;
[0077] Figure 4 It is a schematic structural diagram of a controller provided by an embodiment of the present invention;
[0078] Figure 5 It is a flowchart of a service orchestration method provided by an embodiment of the present invention;
[0079] Figure 6 It is a flowchart of a service delivery method provided by an embodiment of the present invention;
[0080] Figure 7 It is a flowchart of another service delivery method provided by an embodiment of the present invention;
[0081] Figure 8 It is a flowchart of a service orchestration method provided by an embodiment of the present invention;
[0082] Figure 9 It is a flowchart of a service delivery method provided by an embodiment of the present invention;
[0083] Figure 10 It is a schematic structural diagram of a service orchestration device provided by an embodiment of the present invention;
[0084] Figure 11 It is a schematic structural diagram of a service delivery device provided by an embodiment of the present invention;
[0085] Figure 12 It is a schematic structural diagram of a service delivery device provided by an embodiment of the present invention;
[0086] Figure 13 It is a schematic structural diagram of a service delivery system provided by an embodiment of the present invention. Detailed implementation manners
[0087] To make the objectives, technical solutions and advantages of the present invention clearer, the embodiments of the present invention will be further described in detail below in conjunction with the accompanying drawings.
[0088] For the convenience of describing the embodiments, the application scenarios of the embodiments in the present invention will be briefly introduced below.
[0089] Figure 1Shows an application architecture provided by an embodiment of the present invention. This application architecture mainly includes multiple operator networks (hereinafter simply referred to as domains) 10 and multiple user networks 20. The user network 20 includes a Customer Edge (CE) device 21. The CE device 21 can be a router or a switch, or it can also be a host. The domain 10 includes a Provider Edge (PE) device 11 and a Provider (P) device 12 of the operator network. The PE device 11 can be an edge router of the operator network and is directly connected to the CE device 21 of the user network. The P device 12 can be a backbone router in the operator network and is not directly connected to the CE device 21.
[0090] As Figure 1 shown, the entire network can be divided into a coordinator 100, a controller 200, and a router 300 by levels. Among them, the router 300 includes the PE device 11 and the P device 12 in the above-mentioned domain 10. Each domain 10 is provided with a controller 200, and multiple controllers 200 are controlled by a coordinator 100. Correspondingly, the entire application architecture can also be divided into a service model layer, a network model layer, and a network element model layer. Among them, the service model layer is the management model of the coordinator 100 for other devices, the network model layer is the management model of the controller 200 for other devices, and the network element model layer is the model for the router 300 to describe its functions.
[0091] In the prior art, the above application architecture can be a Software-Defined Network (SDN), which uses a centralized control device (coordinator) to control the data flow at the data layer. The progress of cloud computing technology has promoted the development of cloud management tools. OpenStack is a representative of cloud management tools. It uses the network component Neutron (originally Quantum) to provide network virtualization services, allowing tenants to create and manage virtual networks, and provides a standardized plug-in architecture for easy connection to the coordinator. OpenStack mainly includes 9 modules. Among them, the Heat module creates templates for the resource objects that users need to manage and identifies which attributes among these objects need to be input by users and which can be filled in fixed according to the business scenario. The parameters filled in fixed are filled in the form of templates, and the parameters input by users are specified by Parameters and are input by users when creating resource objects according to the business scenario. However, Heat currently adopts the method of "template + parameter". The method of template + parameter is limited to the scope of resource objects managed by users and lacks support for dynamic parameters based on policies that are not in the attributes of the resource objects. The business orchestration of the WAN network often involves network-side dynamic parameters, which are dynamically generated and cannot be input by customers.
[0092] Taking a Virtual Private Network (VPN) as an example and combined with Figure 1 , illustrate the difficulties in WAN-side service orchestration:
[0093] Domains A and B are two carrier networks. The interface gateway is on the network of Domain B, and all enterprise VPN services need to pass through Domain B. The VPN service adopts Option A mode as the inter-domain docking mode. For planning considerations, this VPN has the following characteristics:
[0094] 1) The VPN service is a top-level end-to-end L3VPN service for users, that is, a combined VPN.
[0095] 2) For the Internet access service, according to the result calculated by the path, if it passes through Domain A, it needs to be carried by VLL, and if it passes through Domain B, it needs to be carried by L3VPN. The tunnel policy in Domain A is the Label Distribution Protocol (LDP), and the tunnel policy in Domain B is the Resource ReSerVation Protocol - Traffic Engineering (RSVP-TE).
[0096] 3) Interface speed limiting is performed on user traffic on the access side of Domain A, and traffic classification is performed in Domain B, and detailed speed limiting is performed for different Internet access services.
[0097] Since Domains A and B belong to the carrier's assets, the above tunnel policies, VPN types, etc. cannot be input by users, and these parameters do not belong to the attributes of the VPN, so they cannot be included in the L3VPN template. At the same time, its combination method depends on the result of dynamic service routing, so the method of template + parameters cannot solve the service orchestration of the above VPN service.
[0098] The present invention proposes a new service orchestration and distribution method, which takes service attributes, service policies, and service parameters as options in the service template. When performing service distribution, service configuration is performed according to the service attributes, service policies, and service parameters in the service template.
[0099] Figure 2 For Figure 1 a possible schematic diagram of the hardware structure of the coordinator 100 shown. As Figure 2 shown, the coordinator may include a processor 10 with one or more processing cores, a memory 20 including one or more computer-readable storage media, and a communication interface 30. Those skilled in the art can understand, Figure 2The structure shown does not constitute a limitation on the coordinator, and may include more or fewer components than shown, or combine certain components, or have a different component arrangement.
[0100] Where:
[0101] The processor 10 is the control center of the coordinator, connecting various parts of the entire coordinator using various interfaces and lines. By running or executing software programs and / or modules stored in the memory 20, and by invoking the data stored in the memory 20, it performs various functions of the coordinator and processes data, thereby exercising overall control over the coordinator. The processor 10 can be implemented by a CPU or by a network processor (NP for short) with control plane functions.
[0102] The memory 20 can be used to store various data, such as various configuration parameters, as well as software programs and / or application program modules, which can be executed by the processor 10. The memory 20 mainly includes a program storage area and a data storage area. Among them, the program storage area can store the operating system 21 and at least one application program module 22 described in the functions, such as the first acquisition module and the publishing module; the data storage area can store the data created according to the use of the coordinator 100, such as business templates, etc. In addition, the memory 20 can include high-speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state storage devices. Correspondingly, the memory 20 can also include a memory controller to provide the processor 10 with access to the memory 20.
[0103] The application program module 22 at least includes: a first acquisition module 221 for acquiring business templates, a second acquisition module 222 for acquiring the business identifier, business attributes, business policies, and default business parameters input by the operator, a writing module 223 for filling in the business templates, an association module 224 for making associations, and a publishing module 225 for publishing business templates.
[0104] The first acquisition module 221 is used to acquire business templates, and the business templates include the following options: business attributes for describing the business, business policies for configuring the business, and business parameters for users to fill in.
[0105] The second acquisition module 222 is used to acquire the business identifier, business attributes, business policies, and default business parameters input by the operator.
[0106] The writing module 223 is used to fill in the business attributes, business policies, and default business parameters input by the operator into the options of the business template.
[0107] An association module 224, configured to associate the filled business template with the business identifier;
[0108] A publishing module 225, configured to store the business template associated with the business identifier into a business type library and publish the business template to the user.
[0109] Optionally, the processor 10 is configured to execute each module in the application program module 22 to implement the following Figure 5 and Figure 8 steps that need to be executed by the coordinator.
[0110] It should be noted that Figure 2 the module division method in or the following embodiments is only an example, and other module division methods can be adopted in specific implementations.
[0111] Figure 3 is Figure 1 a schematic diagram of a possible hardware structure of the coordinator 100 shown. As Figure 3 shown, the coordinator may include a processor 10 with one or more processing cores, a memory 20 including one or more computer-readable storage media, and a communication interface 30. Those skilled in the art can understand that Figure 3 the structure shown in does not constitute a limitation on the controller, and it may include more or fewer components than shown, or combine certain components, or arrange different components.
[0112] Wherein:
[0113] The processor 10 is the control center of the controller, connecting various parts of the entire controller through various interfaces and lines, and by running or executing software programs and / or modules stored in the memory 20, as well as calling data stored in the memory 20, executing various functions of the controller and processing data, thereby performing overall control of the controller. The processor 10 can be implemented by a CPU or by a network processor (abbreviated as NP) with control plane functions.
[0114] The memory 20 can be used to store various data, such as various configuration parameters, as well as software programs and / or application program modules, which can be executed by the processor 10. The memory 20 mainly includes a program storage area and a data storage area. Among them, the program storage area can store the operating system 21 and at least one application program module 22 with the described functions, such as an acquisition module and a sending module; the data storage area can store data created according to the use of the coordinator 100, such as business templates, etc. In addition, the memory 20 can include high-speed random access memory and can also include non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage devices. Correspondingly, the memory 20 can also include a memory controller to provide the processor 10 with access to the memory 20.
[0115] The application program module 22 at least includes: an acquisition module 221 for acquiring user input, a selection module 222 for selecting a corresponding business template, a calculation module 223 for calculating inter-domain routing, a processing module 224 for selecting a single-domain business template, and a sending module 225 for sending the single-domain business template.
[0116] The acquisition module 221 is used to acquire the service identifier input by the user;
[0117] The selection module 222 is used to select a corresponding business template from the business type library according to the service identifier. The business template includes business attributes for describing the service, business policies for configuring the service, and business parameters for the user to fill in;
[0118] The calculation module 223 is used to calculate the inter-domain routing according to the business template;
[0119] The processing module 224 is used to select a single-domain business template for configuring a single domain for each domain on the path formed by the calculated inter-domain routing;
[0120] The sending module 225 is used to send the single-domain business template to the controller in the corresponding domain, so that the controller configures the network elements in the domain.
[0121] Optionally, the processor 10 is used to execute each module in the application program module 22 to implement the steps Figure 6 and Figure 9 required to be executed by the coordinator.
[0122] Figure 4 is Figure 1 a schematic diagram of a possible hardware structure of the controller 200 shown. As Figure 4As shown, the controller may include a processor 10 with one or more processing cores, a memory 20 including one or more computer-readable storage media, and a communication interface 30. Those skilled in the art can understand that Figure 4 the structure shown in
[0123] does not constitute a limitation on the controller, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0124] The processor 10 is the control center of the controller, connecting various parts of the entire controller through various interfaces and lines. By running or executing software programs and / or modules stored in the memory 20, and calling data stored in the memory 20, it executes various functions of the controller and processes data, thereby exercising overall control over the controller. The processor 10 can be implemented by a CPU or by a network processor (NP for short) with control plane functions.
[0125] The memory 20 can be used to store various data, such as various configuration parameters, as well as software programs and / or application program modules, which can be executed by the processor 10. The memory 20 mainly includes a program storage area and a data storage area. Among them, the program storage area can store an operating system 21 and at least one application program module 22 for the described functions, such as a first receiving module and a configuration module; the data storage area can store data created according to the use of the controller 200, such as a single-domain service template, etc. In addition, the memory 20 can include high-speed random access memory and can also include non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage devices. Correspondingly, the memory 20 can also include a memory controller to provide the processor 10 with access to the memory 20.
[0126] The application program module 22 at least includes: a first receiving module 221 for receiving a single-domain service template, a calculation module 222 for calculating intra-domain routes, a sending module 223 for sending intra-domain routes, a second receiving module 224 for receiving routing information, and a configuration module 225 for configuring network elements within the domain.
[0127] The first receiving module 221 is used to receive the single-domain service template sent by the coordinator. The single-domain service template includes service attributes for describing the service, service policies for configuring the service, and service parameters for users to fill in.
[0128] The calculation module 222 is used to calculate intra-domain routes according to the single-domain service template.
[0129] A sending module 223, configured to send the intra-domain route to the coordinator;
[0130] A second receiving module 224, configured to receive the routing information sent by the coordinator, where the routing information is generated according to the intra-domain route and the inter-domain route;
[0131] A configuration module 225, configured to configure the network elements in the domain according to the routing information and the single-domain service template.
[0132] Optionally, the processor 10 is configured to execute each module in the application program module 22 to implement the following Figure 7 and Figure 9 the steps that need to be executed by the controller in
[0133] Figure 5 is a flowchart of a service orchestration method provided by an embodiment of the present invention, which is applicable to the coordinator in the foregoing scenario. Refer to Figure 5 and the method includes:
[0134] Step 101: Obtain a service template, where the service template includes the following options: service attributes for describing the service, service policies for configuring the service, and service parameters for users to fill in.
[0135] Taking the VPN service as an example, the service attributes may include a topology type, a service type, a flow configuration, service level agreement (SLA) parameters, and layer parameters.
[0136] Taking the VPN service as an example, the service policies may include an address pool policy, a quality of service (QoS) policy, a protection policy, and a routing policy.
[0137] Taking the VPN service as an example, the service parameters may include an identifier of an access point on the provider edge (PE) side of the carrier network, bandwidth information, and service level agreement (SLA) parameters.
[0138] Step 102: Obtain the service identifier, service attributes, service policies, and default service parameters input by the carrier.
[0139] In this embodiment, the service identifier includes but is not limited to a service name, a service number, a service identifier, etc. Taking the VPN service as an example, the service name may be an enterprise dedicated line, a personal line, a home line, etc.
[0140] Step 103: Fill the service attributes, service policies, and default service parameters input by the carrier into the options of the service template.
[0141] Step 104: Associate the filled business template with the business identifier.
[0142] Step 105: Store the business template associated with the business identifier in the business type library and publish the business template to the user.
[0143] In the embodiment of the present invention, the business template consists of business attributes, business policies, and business parameters. Then, the business attributes, business policies input by the operator, and default business parameters are filled into the options of the business template to form a complete business template. Then, the business template is associated with the business identifier and then published to the user. During the subsequent service delivery process, the coordinator or controller can convert the above business policies into service configurations, realizing the design of business policies into the business template, thereby realizing the orchestration of WAN-side services.
[0144] Figure 6 It is a flowchart of a service delivery method provided by an embodiment of the present invention, applicable to the coordinator in the foregoing scenario. Refer to Figure 6 and the method includes:
[0145] Step 201: Obtain the business identifier input by the user.
[0146] In this embodiment, the business identifier includes but is not limited to business name, business number, business identifier, etc. Taking the VPN service as an example, the business name can be enterprise dedicated line, personal line, home line, etc.
[0147] Step 202: Select the corresponding business template from the business type library according to the business identifier. The business template includes business attributes for describing the service, business policies for configuring the service, and business parameters for the user to fill in.
[0148] Taking the VPN service as an example, the business attributes may include topology type, service type, flow configuration, service level agreement SLA parameters, and layer parameters.
[0149] Taking the VPN service as an example, the business policies may include address pool policy, Qos policy, protection policy, and routing policy.
[0150] Taking the VPN service as an example, the business parameters may include the identifier of the access point on the PE side at the edge of the operator network, bandwidth information, and SLA parameters.
[0151] Step 203: Calculate the inter-domain routing according to the business template.
[0152] Among them, the inter-domain routing refers to the data transmission path passing through multiple domains.
[0153] Step 204: Select a single-domain service template for configuring each domain on the path formed by the calculated inter-domain routes. The single-domain service template includes service attributes for describing the service, service policies for configuring the service, and service parameters for users to fill in.
[0154] Among them, the single-domain service template refers to a service template applied to a single domain and used to configure network elements (such as routers) in that domain.
[0155] Step 205: Send the single-domain service template to the controller in the corresponding domain so that the controller configures the network elements in the domain.
[0156] In the embodiment of the present invention, when the coordinator performs service deployment, it first obtains the service identifier input by the user, then selects the corresponding service template for the user according to the service identifier input by the user, calculates the inter-domain routes according to the selected service template and selects the single-domain service templates for the corresponding domains, and then sends the single-domain service templates to the controllers in the corresponding domains, thereby converting the service policies in the service template into service configurations and realizing service deployment.
[0157] Figure 7 is a flowchart of a service deployment method provided by an embodiment of the present invention, applicable to the controller in the foregoing scenario. See Figure 7 , and this method includes:
[0158] Step 301: Receive the single-domain service template sent by the coordinator. The single-domain service template includes service attributes for describing the service, service policies for configuring the service, and service parameters for users to fill in.
[0159] Among them, the single-domain service template refers to a service template applied to a single domain and used to configure network elements (such as routers) in that domain.
[0160] Taking the VPN service as an example, the service attributes may include topology type, service type, flow configuration, service level agreement (SLA) parameters, and layer parameters.
[0161] Taking the VPN service as an example, the service policies may include address pool policy, QoS policy, protection policy, and routing policy.
[0162] Taking the VPN service as an example, the service parameters may include the identifier of the access point on the provider edge (PE) side of the carrier network, bandwidth information, and SLA parameters.
[0163] Step 302: Calculate the intra-domain routes according to the single-domain service template.
[0164] Among them, the intra-domain route refers to the data transmission path passing through a domain.
[0165] Step 303: Send the intra-domain route to the coordinator.
[0166] Step 304: Receive the routing information sent down by the coordinator, where the routing information is generated based on the intra-domain route and the inter-domain route.
[0167] Step 305: Configure the network elements in the domain according to the routing information and the single-domain service template.
[0168] In the embodiment of the present invention, the intra-domain route is calculated through the single-domain service template, and then the network elements are configured according to the routing information obtained from the intra-domain route. Finally, the service template is converted into the configuration of the network elements in the domain, realizing the orchestration and issuance of services.
[0169] Figure 8 It is a flowchart of a service orchestration method provided by an embodiment of the present invention, which is applicable to the coordinator in the foregoing scenario. This service orchestration method takes the VPN service as an example to Figure 5 illustrate the provided method. Refer to Figure 8 , and this method includes:
[0170] Step 401: Obtain a service template, where the service template includes the following options: service attributes for describing the service, service policies for configuring the service, and service parameters for users to fill in.
[0171] Specifically, obtaining the service template may include:
[0172] The first step is to publish a policy management interface through the northbound interface;
[0173] The policy management interface provides functions such as creating, deleting, and modifying service type templates. The operator can use a Uniform Resource Locator (URL for short) as an entry to use this policy management interface. For example, if the policy management interface published through the restful interface in the northbound interface is used, the URL of the policy management interface can be restful / data / nvo-policy:BusinessTypesMgr / . This entry is only for the operator to use, facilitating the operator's business management.
[0174] The second step is to obtain the service template through the policy management interface.
[0175] Among them, the service template can be created by the operator.
[0176] In the embodiment of the present invention, the service template includes a first sub-template applicable to a specified domain in the network and a second sub-template applicable to other domains in the network except the specified domain, and the first sub-template is associated with the identifier of the specified domain.
[0177] Among them, the number of the first sub-template can be set according to actual needs. The first sub-template corresponds to the domain one by one and can be marked by the identifier of the domain.
[0178] In the embodiment of the present invention, when the operator creates the service template, it can be determined whether it is necessary to design the first sub-template.
[0179] Specifically, the operator determines whether there is a specified domain according to the configurations of each domain in the existing network. Taking the VPN service as an example, if the service type applicable to the second sub-template created by the operator is L3 VPN, and for a certain domain, it does not support L3 VPN but only supports L2 VPN (or according to the plan, for this service type, this domain only provides L2 VPN services), then this domain cannot use the second sub-template and it is necessary to create the first sub-template. In addition to the service type, other parameters of the first sub-template are allowed to be different from those of the second sub-template, such as tunnel policies, etc.
[0180] Step 402: Obtain the service identifier, service attributes, service policies, and default service parameters input by the operator.
[0181] In this embodiment, the service identifier includes but is not limited to the service name, service number, service identifier, etc. Taking the VPN service as an example, the service name can be enterprise dedicated line, personal line, home line, etc.
[0182] Taking the VPN service as an example, the service attributes may include topology type, service type, flow configuration, service level agreement SLA parameters, and layer parameters.
[0183]
[0184] Taking the VPN service as an example, the service policies may include address pool policy, Qos policy, protection policy, and routing policy.
[0185] In the embodiment of the present invention, all policies include policy level, application object, and policy content.
[0186] Among them, the policy level defines the hierarchical level where this policy takes effect, including: global policy (effective within the entire collaborative layer management scope), single-domain policy (effective for the domain), service-level policy (effective for the service type), or flow-level policy (effective for the service flow).
[0187] The application object defines the target object to which the policy is applied, including domain name, service type name, and flow template name. The above objects are uniquely located by name, and multiple object names can be configured at the same time. At this time, the scope of action is superimposed. For example, if the domain name is configured as A and the service type name is VPN, then the scope of action of this policy is the VPN service of domain A.
[0188] The policy content varies according to different policy types. For example, the content of the address pool policy is different from that of the routing policy.
[0189] Specifically, the address pool policy provides address range planning limited by business type. The policy content of the address pool policy is as follows:
[0190]
[0191] The Qos policy provides the conversion of service parameters to network configuration parameters. For example, when a user adjusts the Committed Information Rate (CIR), the PIR / PBS / CBS and the handling behavior of over-limit packets are automatically calculated according to the Qos policy. The policy content of the Qos policy is shown in the following table:
[0192]
[0193]
[0194] The protection policy provides the protection requirements of this service. The policy content of the protection policy is shown in the following table:
[0195]
[0196] The routing policy provides the service routing configuration policy. The policy content of the routing policy is shown in the following table:
[0197]
[0198] Taking the VPN service as an example, the service parameters may include the identification and bandwidth information of the access point on the PE side at the edge of the operator network.
[0199] Among them, the identification of the access point on the PE side refers to the access point where the user network accesses the operator network, such as the Central China access point, the South China access point, etc. The bandwidth information can be the bandwidth size, such as 50M, 100M, etc.
[0200] Step 403: Fill the service attributes, service policies, and default service parameters input by the operator into the options of the service template.
[0201] In the embodiments of the present invention, the service attributes, service policies, and default service parameters input by the operator may include parts for the first sub-template and the second sub-template, and they need to be filled in separately when filling.
[0202] Step 404: Associate the filled service template with the service identifier.
[0203] Specifically, a Universally Unique Identifier (UUID) is generated for the service template, and the UUID is associated with the service identifier.
[0204] Step 405: Store the service template associated with the service identifier in the service type library, and publish the service template to the user.
[0205] Among them, publishing the service template to the user may include:
[0206] Publish a service creation interface through the northbound interface, so that the user can use the service template in the service type library through the service creation interface
[0207] The user can use the service creation interface through a URL as an entry. For example, if the service creation interface is published using the restful interface in the northbound interface, the URL of the service creation interface can be / restful / data / nvo-vpn:nvoVPNMgr / composedVpns.
[0208] Figure 9 is a flowchart of a service distribution method provided by an embodiment of the present invention, which is applicable to the coordinator and the controller in the foregoing scenario. This service distribution method takes the VPN service as an example to Figure 6 and Figure 7 illustrate the method provided, see Figure 9 and this method includes:
[0209] Step 501: The coordinator obtains the service identifier input by the user.
[0210] Among them, obtaining the service identifier input by the user includes:
[0211] Obtain the service identifier input by the user through the service creation interface, and the service creation interface is published through the northbound interface.
[0212] Step 502: The coordinator selects a corresponding service template from the service type library according to the service identifier. The service template includes service attributes for describing the service, service policies for configuring the service, and service parameters for the user to fill in.
[0213] Step 503: The coordinator calculates the inter-domain routing according to the service template.
[0214] Among them, calculating the inter-domain routing according to the service template includes:
[0215] Step 1: Obtain the routing rules from the business policies of the business template. The routing rules include routing conditions and path-finding conditions. For example, the routing condition can be the upper limit of resource load, and the path-finding condition can be the shortest path.
[0216] Step 2: Calculate the inter-domain routing according to the routing conditions and the path-finding conditions.
[0217] Among them, Step 2 may include: filtering the nodes in the logical network that do not meet the routing conditions according to the routing conditions. The logical network is obtained by abstracting the domains in the network as nodes and the inter-domain connections as paths; calculating the inter-domain routing according to the path-finding conditions.
[0218] For example, if the upper limit of resource load is 50%, then it is necessary to remove the ports and links of the nodes in the logical network whose bandwidth consumption exceeds 50%.
[0219] Furthermore, when calculating the inter-domain routing, other parameters such as bandwidth and delay need to be considered as much as possible.
[0220] For example, when routing is selected in the above manner, if there are multiple alternative paths in the end, the path with the minimum delay can be selected. Then, after the routing is completed, the total delay of the path is used to allocate delays to each domain. The delay allocated to each domain is used as a new service parameter. In the subsequent process, this service parameter is used to modify the single-domain service template.
[0221] Step 3: Allocate addresses to the ports of the edge devices (PE / ASBR) on the path selected for the inter-domain routing according to the address pool policy in the business policy.
[0222] The addresses include VLAN addresses, IP addresses, etc. Among them, the IP address allocation needs to be carried out according to the path of the L3 VPN.
[0223] The coordinator can create a routing list to save the calculated routing information. Specifically, when the coordinator calculates the inter-domain routing, the ports of the edge devices selected by the inter-domain routing are filled into the routing list.
[0224] Step 504: The coordinator selects a single-domain service template for each domain on the path formed by the calculated inter-domain routing for configuring a single domain. The single-domain service template includes service attributes for describing the service, service policies for configuring the service, and service parameters for users to fill in.
[0225] Among them, the selection of a single-domain service template for each domain on the path selected for the calculated inter-domain routing includes:
[0226] Determine whether the domain is a specified domain;
[0227] When the domain is a specified domain, select the first sub-template as the single-domain service template for the domain; when the domain is not a specified domain, select the second sub-template as the single-domain service template for the domain. The service template includes a first sub-template applicable to the specified domain in the network and a second sub-template applicable to other domains in the network except the specified domain. The first sub-template is associated with the identifier of the specified domain.
[0228] Step 505: The coordinator distributes the single-domain service template to the controller in the corresponding domain.
[0229] Further, the method further includes:
[0230] First step, obtain the service parameters input by the user; taking the VPN service as an example, the service parameters include but are not limited to the PE-side access point and bandwidth information, and may also include parameters for modifying the service attributes in the service template, such as flow configuration, SLA parameters.
[0231] Second step, before distributing the single-domain service template to the controller in the corresponding domain, replace the service parameters in the single-domain service template with the service parameters input by the user.
[0232] Replace the same-type parameters in the single-domain service template with service parameters. Here, the service parameters can include not only the service parameters directly input by the user, but also those calculated based on the directly input service parameters, such as the delay of each domain described above.
[0233] Third step, distribute the replaced single-domain service template to the controller in the corresponding domain.
[0234] For example, if the default bandwidth defined in the flow configuration of the single-domain service template is 5M and the bandwidth in the service parameters is 10M, then directly use 10M to replace the original 5M. Another example, if the default delay defined in the SLA parameters of the single-domain service template is 100ms and the delay in the service parameters is 50ms, then directly use 50ms to replace the original 100ms.
[0235] The coordinator converts the address pool policy, routing policy, protection policy in the modified single-domain service template and the ports and addresses of the edge devices of each domain into a network-level model; the coordinator generates Qos configuration according to the flow configuration and Qos policy input by the user. For example, if the user inputs CIR, calculate parameters such as PIR / PBS / CBS through the Qos policy. Send the network-level model and Qos configuration to the controller through the restful interface to request intra-domain routing.
[0236] Further, the third step above may include: converting the single-domain service template into parameters that the controller can use; distributing the parameters to the controller.
[0237] Step 506: The controller receives the single-domain service template sent by the coordinator. The single-domain service template includes service attributes for describing the service, service policies for configuring the service, and service parameters for users to fill in.
[0238] Step 507: The controller calculates the intra-domain route according to the single-domain service template.
[0239] Step 1: The controller obtains the routing rules from the routing policy in the modified single-domain service template. The routing rules include routing conditions and path-finding conditions. For example, the routing condition can be the upper limit of resource load, and the path-finding condition can be the shortest path.
[0240] Step 2: The controller filters the nodes that do not meet the routing conditions according to the routing rules. For example, if the upper limit of resource load is 50%, the ports and links of the nodes in the logical network with bandwidth consumption exceeding 50% need to be removed.
[0241] When calculating the intra-domain route, it is also necessary to consider service parameters as much as possible, such as bandwidth and delay. This will not be elaborated here.
[0242] Step 3: The controller calculates the intra-domain route according to the path-finding conditions.
[0243] The controller assigns addresses to the ports of the backbone devices (P) on the path selected for the intra-domain route according to the address pool policy in the modified single-domain service template.
[0244] Step 508: The controller sends the intra-domain route to the coordinator.
[0245] Step 509: The coordinator receives the intra-domain route returned by the controller.
[0246] Further, the method further includes: receiving the result code returned by the controller after calculating the intra-domain route;
[0247] Judging whether the intra-domain route is calculated successfully according to the result code; specifically, receiving the result code returned by the controller for judgment. For example, a result code of 200 indicates successful calculation, and 100 indicates calculation failure.
[0248] When the intra-domain route is calculated successfully, receiving the intra-domain route returned by the controller;
[0249] When the intra-domain route is calculated failed, generating an error prompt. At this time, manually configure the route and end the process.
[0250] Step 510: The coordinator combines the intra-domain route and the inter-domain route into routing information.
[0251] Further, the method further includes:
[0252] Return the routing information to the operator;
[0253] Obtain the confirmation information returned by the operator, where the confirmation information is generated after the operator confirms whether the routing information meets the requirements;
[0254] If the confirmation information indicates that the routing information does not meet the requirements, generate an error prompt;
[0255] If the confirmation information indicates that the routing information meets the requirements, send the routing information to the controller.
[0256] Step 511: The coordinator sends the routing information to the controller.
[0257] Step 512: The controller receives the routing information sent by the coordinator, and the routing information is generated according to intra-domain routing and inter-domain routing.
[0258] Step 513: Configure the network elements in the domain according to the routing information and the single-domain service template.
[0259] The controller converts the routing information and the modified single-domain service template into network element-level models such as network element interface configurations and virtual routing forwarding table configurations, and writes the configurations in the converted network element-level models into the device. The specific writing process can be implemented through the command line.
[0260] Further, the method further includes:
[0261] The coordinator receives the configuration result of the controller;
[0262] If all domain configurations are successful, set the service status to active; if some domain configurations fail, set the service status to partially successful, and the user can choose whether to activate again; if all domain configurations fail, set the service status to deactivated, and the user can choose whether to activate again or delete.
[0263] Figure 10 It is a block diagram of a service orchestration device provided by an embodiment of the present invention. The service orchestration device can be implemented as all or part of the coordinator through software, hardware, or a combination of both. The service orchestration device can implement the foregoing Figure 5 or Figure 8 provided service orchestration method. The service orchestration device may include: a first acquisition unit 601, a second acquisition unit 602, a writing unit 603, an association unit 604, and a publishing unit 605. Among them, the first acquisition unit 601, the second acquisition unit 602, and the publishing unit 605 can be jointly implemented by the processor 10 and the communication interface 30 in the foregoing coordinator, and the writing unit 603 and the association unit 604 can be implemented by the processor 10 in the foregoing coordinator.
[0264] A first acquisition unit 601, configured to acquire a service template, where the service template includes the following options: service attributes for describing a service, service policies for configuring the service, and service parameters for a user to fill in.
[0265] A second acquisition unit 602, configured to acquire a service identifier, service attributes, service policies, and default service parameters input by an operator.
[0266] A writing unit 603, configured to fill the service attributes, service policies, and default service parameters input by the operator into options of the service template.
[0267] An association unit 604, configured to associate the filled service template with the service identifier.
[0268] A publishing unit 605, configured to store the service template associated with the service identifier in a service type library, and publish the service template to a user.
[0269] Optionally, the first acquisition unit 601 is configured to:
[0270] Publish a policy management interface through a northbound interface;
[0271] Acquire the service template through the policy management interface.
[0272] Optionally, the publishing unit 605 is configured to:
[0273] Publish a service creation interface through a northbound interface, so that the user can use the service template in the service type library through the service creation interface.
[0274] Optionally, the service template includes a first sub-template applicable to a specified domain in a network and a second sub-template applicable to other domains in the network except the specified domain, and the first sub-template is associated with an identifier of the specified domain.
[0275] Optionally, the service is a virtual private network (VPN) service.
[0276] Optionally, the service attributes include a topology type, a service type, a flow configuration, service level agreement (SLA) parameters, and layer parameters.
[0277] Optionally, the service policies include an address pool policy, a quality of service (QoS) policy, a protection policy, and a routing policy.
[0278] Optionally, the service parameters include an identifier and bandwidth information of an access point on a provider edge (PE) side of an operator network.
[0279] Figure 11It is a block diagram of a service distribution device provided by an embodiment of the present invention. The service distribution device can be implemented as all or part of a coordinator through software, hardware, or a combination of both. The service distribution device can implement the service distribution method provided above. Figure 6 or Figure 9 The service distribution device may include: an acquisition unit 701, a selection unit 702, a calculation unit 703, a processing unit 704, and a sending unit 705. Among them, the acquisition unit 701 and the sending unit 705 can be jointly implemented by the processor 10 and the communication interface 30 in the aforementioned coordinator, and the selection unit 702, the calculation unit 703, and the processing unit 704 can be implemented by the processor 10 in the aforementioned coordinator.
[0280] The acquisition unit 701 is configured to acquire a service identifier input by a user.
[0281] The selection unit 702 is configured to select a corresponding service template from a service type library according to the service identifier. The service template includes service attributes for describing the service, service policies for configuring the service, and service parameters for the user to fill in.
[0282] The calculation unit 703 is configured to calculate an inter-domain route according to the service template.
[0283] The processing unit 704 is configured to select a single-domain service template for configuring a single domain for each domain on the path formed by the calculated inter-domain route. The single-domain service template includes service attributes for describing the service, service policies for configuring the service, and service parameters for the user to fill in.
[0284] The sending unit 705 is configured to send the single-domain service template to a controller in the corresponding domain, so that the controller configures network elements in the domain.
[0285] Optionally, the acquisition unit 701 is configured to:
[0286] Acquire the service identifier input by the user through a service creation interface, and the service creation interface is published through a northbound interface.
[0287] Optionally, the calculation unit 703 is configured to:
[0288] Obtain a routing rule from the service policies of the service template. The routing rule includes a routing condition and a path finding condition.
[0289] Calculate an inter-domain route according to the routing condition and the path finding condition.
[0290] Allocate addresses to ports of edge devices on the path selected for the inter-domain route according to the address pool policy in the service policy.
[0291] Among them, the calculation unit 703 is configured to filter nodes in the logical network that do not meet the routing conditions according to the routing conditions, where the logical network is obtained by abstracting domains in the network as nodes and connections between domains as paths; calculate inter-domain routing according to the path-finding conditions.
[0292] Optionally, the processing unit 704 is configured to:
[0293] Determine whether the domain is a specified domain;
[0294] When the domain is a specified domain, select the first sub-template as the single-domain service template for the domain; when the domain is not a specified domain, select the second sub-template as the single-domain service template for the domain. The service template includes a first sub-template applicable to the specified domain in the network and a second sub-template applicable to other domains in the network except the specified domain. The first sub-template is associated with the identifier of the specified domain.
[0295] Optionally, the sending unit 705 is configured to:
[0296] Send the single-domain service template to the controller in the corresponding domain to request intra-domain routing;
[0297] Optionally, the device further includes:
[0298] A receiving unit 706, configured to receive the intra-domain routing returned by the controller;
[0299] The processing unit 704 is further configured to form routing information from the intra-domain routing and the inter-domain routing;
[0300] The sending unit 705 is further configured to send the routing information to the controller, so that the controller configures network elements in the domain according to the routing information and the single-domain service template.
[0301] Optionally, the obtaining unit 701 is further configured to obtain service parameters input by a user;
[0302] The processing unit 704 is further configured to replace the service parameters in the single-domain service template with the service parameters input by the user before sending the single-domain service template to the controller in the corresponding domain;
[0303] Send the replaced single-domain service template to the controller in the corresponding domain.
[0304] Optionally, the receiving unit 706 is further configured to receive a result code returned by the controller after calculating the intra-domain routing;
[0305] The processing unit 704 is further configured to determine whether the intra-domain routing is calculated successfully according to the result code; when the intra-domain routing calculation fails, generate an error prompt.
[0306] The receiving unit 706 is further configured to receive the intra-domain routing returned by the controller when the intra-domain routing calculation is successful.
[0307] Optionally, the sending unit 705 is further configured to return the routing information to the operator.
[0308] The obtaining unit 701 is further configured to obtain the confirmation information returned by the operator, where the confirmation information is generated after the operator confirms whether the routing information meets the requirements.
[0309] The processing unit 704 is further configured to generate an error prompt if the confirmation information indicates that the routing information does not meet the requirements.
[0310] The sending unit 705 is further configured to send the routing information to the controller if the confirmation information indicates that the routing information meets the requirements.
[0311] Optionally, the receiving unit 706 is further configured to receive the configuration result of the controller.
[0312] The processing unit 704 is further configured to set the service status to active if all domain configurations are successful; set the service status to partially successful if some domain configurations fail; and set the service status to deactivated if all domain configurations fail.
[0313] Optionally, the service is a VPN.
[0314] Figure 12 It is a block diagram of a service provisioning device provided by an embodiment of the present invention. The service provisioning device can be implemented as all or part of the controller through software, hardware, or a combination of both. The service provisioning device can implement the foregoing Figure 7 or Figure 9 The provided service provisioning method. The service provisioning device may include: a first receiving unit 801, a calculation unit 802, a sending unit 803, a second receiving unit 804, and a configuration unit 805. Among them, the first receiving unit 801, the sending unit 803, and the second receiving unit 804 may be jointly implemented by the processor 10 and the communication interface 30 in the foregoing coordinator, and the calculation unit 802 and the configuration unit 805 may be implemented by the processor 10 in the foregoing coordinator.
[0315] The first receiving unit 801 is configured to receive a single-domain service template sent by a coordinator. The single-domain service template includes service attributes for describing a service, service policies for configuring the service, and service parameters for a user to fill in.
[0316] The calculation unit 802 is configured to calculate an intra-domain route according to the single-domain service template.
[0317] The sending unit 803 is configured to send the intra-domain route to the coordinator.
[0318] The second receiving unit 804 is configured to receive routing information sent by the coordinator. The routing information is generated according to the intra-domain route and the inter-domain route.
[0319] The configuration unit 805 is configured to configure network elements in the domain according to the routing information and the single-domain service template.
[0320] Figure 13 It is a block diagram of a service provisioning system provided by an embodiment of the present invention. Refer to Figure 13 , the system includes: a coordinator 901 and a controller 902. The coordinator 901 includes Figure 10 the service orchestration device shown in Figure 11 and the service provisioning device shown in Figure 12 ; the controller 902 includes
[0321] It should be noted that: when the service orchestration device provided in the above embodiment performs service provisioning, only the division of the above functional units is used for illustration. In actual applications, the above functions can be allocated to different functional units according to needs, that is, the internal structure of the device is divided into different functional units to complete all or part of the functions described above. In addition, the service orchestration device provided in the above embodiment and the service orchestration method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
[0322] When the service provisioning device provided in the above embodiment performs service provisioning, only the division of the above functional units is used for illustration. In actual applications, the above functions can be allocated to different functional units according to needs, that is, the internal structure of the device is divided into different functional units to complete all or part of the functions described above. In addition, the service provisioning device provided in the above embodiment and the service provisioning method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
[0323] Those of ordinary skill in the art can understand that all or part of the steps to implement the above embodiments can be completed by hardware, or can be completed by instructing relevant hardware through a program. The program can be stored in a computer-readable storage medium. The above-mentioned storage medium can be a read-only memory, a disk, an optical disc, etc.
[0324] The above are only the preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.
Claims
1. A service orchestration method, characterized in that, The method includes: Obtaining a service template, where the service template includes the following options: service attributes for describing the service, service policies for configuring the service, and service parameters for users to fill in; Obtaining the service identifier, service attributes, service policies, and default service parameters input by the operator; Filling the service attributes, service policies, and default service parameters input by the operator into the options of the service template; Associating the filled service template with the service identifier; Storing the service template associated with the service identifier in a service type library and publishing the service template to the user, where the service policy of the service template is used to calculate inter-domain routing; Selecting a single-domain service template for configuring a single domain for each domain on the path formed by the inter-domain routing. The single-domain service template includes service attributes for describing the service, service policies for configuring the service, and service parameters for users to fill in; Sending the single-domain service template to the controller in the corresponding domain so that the controller configures the network elements in the domain.
2. The method according to claim 1, characterized in that, The obtaining of the service template includes: Publishing a policy management interface through a northbound interface; Obtaining the service template through the policy management interface.
3. The method according to claim 1, characterized in that, The publishing of the service template to the user includes: Publishing a service creation interface through a northbound interface so that the user can use the service template in the service type library through the service creation interface.
4. The method according to claim 1, characterized in that, The service template includes a first sub-template applicable to a specified domain in the network and a second sub-template applicable to other domains in the network except the specified domain, and the first sub-template is associated with the identifier of the specified domain.
5. The method according to any one of claims 1 to 4, characterized in that, The service is a virtual private network (VPN) service.
6. The method according to claim 5, characterized in that, The service attributes include topology type, service type, flow configuration, service level agreement (SLA) parameters, and layer parameters.
7. The method according to claim 1 or 6, characterized in that, The service policies include address pool policy, quality of service (QoS) policy, protection policy, and routing policy.
8. The method according to claim 1 or 6, characterized in that, The service parameters include the identifier and bandwidth information of the access point on the provider edge (PE) side of the operator network edge.
9. A service orchestration device, characterized in that, The device includes: A first obtaining unit for obtaining a service template, where the service template includes the following options: service attributes for describing the service, service policies for configuring the service, and service parameters for users to fill in; A second obtaining unit for obtaining the service identifier, service attributes, service policies, and default service parameters input by the operator; A writing unit for filling the service attributes, service policies, and default service parameters input by the operator into the options of the service template; An associating unit for associating the filled service template with the service identifier; A publishing unit for storing the service template associated with the service identifier in a service type library and publishing the service template to the user, where the service policy of the service template is used to calculate inter-domain routing; A processing unit for selecting a single-domain service template for configuring a single domain for each domain on the path formed by the inter-domain routing. The single-domain service template includes service attributes for describing the service, service policies for configuring the service, and service parameters for users to fill in; A sending unit, configured to send the single-domain service template to a controller in a corresponding domain, so that the controller configures network elements in the domain.
10. The device according to claim 9, characterized in that, The first obtaining unit is configured to publish a policy management interface through a northbound interface; obtain the service template through the policy management interface.
11. The device according to claim 9, characterized in that, The publishing unit is configured to publish a service creation interface through a northbound interface, so that a user can use the service template in the service type library through the service creation interface.
12. The device according to claim 9, characterized in that, The service template includes a first sub-template applicable to a specified domain in the network and a second sub-template applicable to other domains in the network except the specified domain, and the first sub-template is associated with an identifier of the specified domain.
13. The device according to any one of claims 9 to 12, characterized in that, The service is a virtual private network (VPN) service.
14. The device according to claim 13, characterized in that, The service attributes include a topology type, a service type, a flow configuration, service level agreement (SLA) parameters, and layer parameters.
15. The device according to claim 13, characterized in that, The service policies include an address pool policy, a quality of service (QoS) policy, a protection policy, and a routing policy.
16. The device according to claim 14, characterized in that, The service policies include an address pool policy, a quality of service (QoS) policy, a protection policy, and a routing policy.
17. The device according to claim 13, characterized in that, The service parameters include an identifier and bandwidth information of an access point on the provider edge (PE) side of the carrier network.
18. The device according to any one of claims 14 to 16, characterized in that, The service parameters include an identifier and bandwidth information of an access point on the provider edge (PE) side of the carrier network.
19. A service orchestration device, characterized in that, The service orchestration device includes a processor, a memory, and a communication interface; the memory is used for storing software programs and modules, and the processor realizes, by running or executing the software programs and / or modules stored in the memory: obtain a service template, where the service template includes the following options: service attributes for describing a service, service policies for configuring the service, and service parameters for a user to fill in; obtain a service identifier, service attributes, service policies, and default service parameters input by an operator; fill the service attributes, service policies, and default service parameters input by the operator into options of the service template; associate the filled service template with the service identifier; store the service template associated with the service identifier in a service type library, and publish the service template to a user, where the service policy of the service template is used for calculating inter-domain routing; select a single-domain service template for configuring a single domain for each domain on a path formed by the inter-domain routing, where the single-domain service template includes service attributes for describing a service, service policies for configuring the service, and service parameters for a user to fill in; send the single-domain service template to a controller in a corresponding domain, so that the controller configures network elements in the domain.
20. A service delivery system, characterized in that, The service delivery system includes: a coordinator and a controller; The coordinator includes the service orchestration device according to any one of claims 9 to 18; The controller is configured to receive the single-domain service template sent by the coordinator.
Citation Information
Patent Citations
Service management method, device and system
CN102118370A
Method for confirming mapping relation between cross-domain service domain interior domains
CN1866960A