SDN (Software Defined Network) controller and application interaction method and device and storage medium
By creating an interactive context in the SDN controller and interacting with external AI/ML applications, the problem of insufficient control level of SDN network management is solved, and the resource utilization and network robustness are improved.
Patent Information
- Application Number
- CN202311087505.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-25
- Publication Date
- 2025-02-25
AI Technical Summary
The lack of a solution for connecting SDN controllers with AI/ML application services in the prior art has led to insufficient SDN network management control level and failure to effectively improve resource utilization and network robustness.
Create an interactive context through the SDN controller, and use the interactive context to interact with external AI/ML applications, transmit support information and receive processing results, thereby calling the service capabilities of AI/ML applications and improving the level of SDN network management and control.
It realizes effective docking between SDN controller and external AI/ML applications, improves the management and control level of SDN network, and improves resource utilization and network robustness.
Smart Images

Figure CN119520318A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of network communication technology, and in particular to a method, device and storage medium for interaction between an SDN controller and an application. Background Art
[0002] With the development of artificial intelligence (AI) technology and machine learning (ML) algorithms, many fields have used AI / ML application services to improve processing performance and efficiency. In software-defined networks (SDN), AI / ML application services also need to be introduced to improve network management and control levels, but related technologies do not propose solutions based on the connection between SDN controllers and AI / ML application services. Summary of the invention
[0003] The following is a summary of the subject matter described in detail herein. This summary is not intended to limit the scope of the claims.
[0004] The embodiments of the present application provide a method, device, and storage medium for SDN controller to interact with an application, which can enable the SDN controller to interact with an external application.
[0005] In a first aspect, an embodiment of the present application provides a method for an SDN controller to interact with an application, including:
[0006] The SDN controller creates an interaction context and interacts with an external application through the interaction context;
[0007] The interaction context includes support information, and the support information represents information required for the SDN control to interact with the external application.
[0008] In a second aspect, an embodiment of the present application provides a device for interaction between an SDN controller and an application, comprising at least one processor and a memory for communicating with the at least one processor; the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method for interaction between the SDN controller and the application as described above.
[0009] In a third aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable a computer to execute the method for interaction between an SDN controller and an application as described above.
[0010] The method, device and storage medium for interaction between an SDN controller and an application provided in an embodiment of the present application, the embodiment of the present application creates an interaction context through an SDN controller, and uses the interaction context to complete interaction actions including sending and receiving information, so as to help the SDN controller call the service capabilities corresponding to the external application, wherein the interaction context carries support information, which is used to support the SDN controller to interact with the external application, and uses the interaction context to transmit the support information to the external external application, and can also receive data returned by the external application; through the above method, the SDN controller is connected with the external external application service, so that the service capabilities corresponding to the external application, such as artificial intelligence technology / machine learning algorithm, can be utilized to improve the network management and control level of the SDN, and improve resource utilization and network robustness.
[0011] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or understood by practicing the present application. The purpose and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the description, claims and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The accompanying drawings are used to provide further understanding of the technical solution of the present application and constitute a part of the specification. Together with the examples of the present application, they are used to explain the technical solution of the present application and do not constitute a limitation on the technical solution of the present application.
[0013] Figure 1 This is a flow chart of a method for an SDN controller to create an interaction context and interact with an external application, provided by an embodiment of the present application;
[0014] Figure 2 is a flowchart of creating one or more interaction contexts provided by an embodiment of the present application;
[0015] Figure 3 is a flow chart of the interaction between a client context and an external application through an interaction context provided by an embodiment of the present application;
[0016] Figure 4 is a flowchart of setting the first shared data in the client context provided by an embodiment of the present application;
[0017] Figure 5 is a flowchart of converting processing results into configuration information in two ways provided by an embodiment of the present application;
[0018] Figure 6 is a flowchart of setting a first access permission for data in an interactive context provided by an embodiment of the present application;
[0019] Figure 7is a flow chart of a service context provided by an embodiment of the present application interacting with an external application through an interactive context;
[0020] Figure 8 is a flowchart of setting second shared data in a service context provided by an embodiment of the present application;
[0021] Fig. 9 is a flowchart of converting processing results into configuration information in two ways provided by an embodiment of the present application;
[0022] Fig.10 is a flowchart of setting a second access permission for data in an interactive context provided by an embodiment of the present application;
[0023] Fig.11 is a flowchart of deleting an interaction context provided by an embodiment of the present application;
[0024] Fig.12 This is a schematic diagram of data interaction of various contexts in the SDN controller provided in the first embodiment of the present application;
[0025] Fig.13 It is a schematic diagram of the interaction between a Client context and an AI context provided in Example 2 of the present application;
[0026] Fig.14 It is a schematic diagram of the interaction between the Client context and multiple AI contexts provided in the second embodiment of the present application;
[0027] Fig.15 It is a schematic diagram that the AIcontext provided in the third embodiment of the present application is all included in the Clientcontext;
[0028] Fig.16 It is a schematic diagram of the AIcontext part provided in the third embodiment of the present application being included in the Clientcontext;
[0029] Fig.17 It is a schematic diagram of the interaction between Servercontext and AIcontext provided in Example 4 of the present application;
[0030] Fig.18 This is a schematic diagram showing that the AIcontext provided in Embodiment 5 of the present application is completely contained in the Servercontext;
[0031] Fig.19 This is a schematic diagram of the AIcontext part provided in the fifth embodiment of the present application being included in the Servercontext;
[0032] Fig. 20 This is a schematic diagram of the structural connection of a device for interaction between an SDN controller and an application provided by an embodiment of the present application. DETAILED DESCRIPTION
[0033] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application is further described in detail below in conjunction with the accompanying drawings and examples. It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application. In addition, the characteristics, operations or features described in the specification can be combined in any appropriate manner to form various implementation methods. At the same time, the steps or actions in the method description can also be replaced or adjusted in order in a manner that is obvious to those skilled in the art. Therefore, the various sequences in the specification and the accompanying drawings are only for the purpose of clearly describing a certain embodiment and are not meant to be a necessary sequence, unless otherwise specified that a certain sequence must be followed.
[0034] In the description of this application, "several" means one or more, "more" means more than two, "greater than", "less than", "exceed", etc. are understood to exclude the number itself, and "above", "below", "within", etc. are understood to include the number itself. If there is a description of "first" or "second", it is only used for the purpose of distinguishing technical features, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features or implicitly indicating the order of the indicated technical features.
[0035] The serial numbers of the components in this document, such as "first", "second", etc., are only used to distinguish the objects described and do not have any order or technical meaning. The "connection" and "coupling" mentioned in this application, unless otherwise specified, include direct and indirect connections (couplings).
[0036] The embodiments of the present application provide a method, device and storage medium for an SDN controller to interact with an application. When interaction with an external AI application is required, the SDN controller creates one or more interaction contexts corresponding to the AI application, thereby utilizing these interaction contexts to complete the interaction between local resources and the external AI application, thereby being able to call the service capabilities of the AI application to solve problems such as SDN network connection scheduling and network optimization.
[0037] Among them, the SDN controller is an example of a management and control system. The management and control system integrates essentially the same management functions and control functions based on the Management Control Continuum (MCC), realizes unified management and control of transmission resources, and provides comprehensive management and control services for upper-level users. The functional modules in the management and control system provide functional services through interfaces. Connection scheduling is a basic function of the management and control system. The requests initiated by the customers of the SDN controller are connection / virtual network control requests, including connection / virtual network creation, modification, deletion, etc. SDN controllers generally do not have artificial intelligence processing capabilities, and require the help of external AI applications to provide training, reasoning, prediction, optimization, network backtracking, active generation and other services for the controller. New SDN controllers need to meet more intelligent requirements in connection / virtual network control requests.
[0038] Reference Figure 1 As shown, the embodiment of the present application provides a method for interaction between an SDN controller and an application, including but not limited to the following steps:
[0039] Step S100, the SDN controller creates an interaction context and interacts with an external application through the interaction context;
[0040] The interaction context includes support information, and the support information represents the information required for the SDN controller to interact with external applications.
[0041] In the SDN control hierarchy, the SDN controller forms a client layer and a service layer relationship between the upper and lower layers. The SDN controller as the client layer and the SDN controller as the service layer interact through a specific type of context (for example, through the service context (ServerContext) and the client context (ClientContext)). Among them, each SDN controller can create multiple client contexts, at least one service context and an administrative context (AdministrativeContext). The administrative context provides the administrator with corresponding information to manage and control the controller, and exercises the administrator role in the controller, including maintaining the life cycle of the client context and service context.
[0042] For resource management and control within the SDN controller, the resources of the service context can be the resources of the forwarding plane directly controlled by the local controller, or the resources provided by the next-level SDN controller (the next-level SDN controller is the service layer of the local SDN controller). These resources are mapped to the local resource pool (Local Resource Pool). The management context then allocates subsets of the local resource pool to different customer contexts. For each customer context, resources are provided to the SDN controller at the customer layer through the virtual network. The resources of the above-mentioned SDN controller and each context refer to the subnetwork point SNP (Subnetwork Point) / subnetwork point pool SNPP (Subnetwork Point Pool) / subnetwork point pool link SNPP Link, and the resources of the forwarding plane are the resources of the forwarding device.
[0043] It can be seen that when the local SDN controller needs to connect to an external application to call the service of the external application, for example, to connect to an AI application to call the service of the AI application, it is necessary to implement resource scheduling through corresponding management and control means, pass relevant data to the AI application, and receive the processing results of the AI application from the AI application. When the SDN controller of the embodiment of the present application receives the corresponding service request, it determines whether it is necessary to access the external AI application. If necessary, it creates an interaction context and interacts with the AI application through the interaction context. It can be understood that in order to complete the interaction, support information is set in the interaction context when creating the interaction context, and the support information includes at least one of the following:
[0044] Authentication and authorization protocols and parameters for interaction between SDN controller and external applications;
[0045] Service capabilities provided by external applications;
[0046] Resource information passed to external applications.
[0047] If the external application is an AI application, the support information includes at least one of the following:
[0048] Authentication and authorization protocols and parameters for interaction between SDN controllers and AI applications;
[0049] AI service capabilities provided by AI applications;
[0050] Resource information passed to the AI application.
[0051] Among them, the authentication and authorization protocols and parameters can be pre-configured by the SDN controller, or they can be negotiated and determined with the AI application during the process of the SDN controller creating the interaction context. The authentication and authorization protocols and parameters can limit which data can be accessed by the AI application, and can also limit which data is sent to the AI application. Similarly, the AI service capabilities can be pre-configured by the SDN controller, requiring the AI application to provide what kind of services, or they can be negotiated and determined with the AI application during the process of the SDN controller creating the interaction context, and the negotiation determines what kind of services the AI application provides, such as training, reasoning, prediction, optimization, network backtracking, active generation and other services. All of the above support information is stored in the interaction context.
[0052] In short, by creating an interactive context, the SDN controller can send data to external applications through the interactive context, thereby obtaining the processing results of the external applications, and using the corresponding service capabilities of the external applications, such as artificial intelligence technology / machine learning algorithms, to improve the network management and control level of SDN, improve resource utilization and network robustness.
[0053] It is worth noting that in the related art, the SDN controller interacts with conventional applications through the customer context. In G.7702, the customer context is used for the SDN controller to interact with the customer / client, and the application in the client initiates the request, such as initiating a service request for connection scheduling; at this time, the application is the party that initiates the service request. Even if this application is an AI application, its role is not to be called by the SDN controller for AI service capabilities. Therefore, in order for the SDN controller to call the AI service capabilities of the AI application, it is necessary to rely on the above-mentioned interaction context, but there is no such context in the related art.
[0054] It is understandable that the AI service capabilities mentioned above are not limited to artificial intelligence technology, but also include intelligent computing technologies such as machine learning algorithms.
[0055] Reference Figure 1 As shown, the method for interaction between the SDN controller and the application in the embodiment of the present application also includes:
[0056] Step S200: The SDN controller receives a processing result returned by an external application through an interactive context.
[0057] Taking the external application as an AI application as an example, the SDN controller will pass the data that needs to be calculated by the AI application to the AI application through the interaction context. The AI application obtains the processing result after calculation and reasoning. For example, the local network resource information is sent to the AI application, and the network reasoning optimization result is obtained through the AI application. The reasoning optimization result is then received through the interaction context and can be saved in the interaction context.
[0058] In some embodiments, the interaction context also includes a first management and control component, which is used to convert the processing results returned by the external application into configuration information, and configure the configuration information to one or more management and control components other than the first management and control component.
[0059] The SDN controller can also set a first management and control component in the interactive context, and convert the reasoning optimization results into configuration information through the first management and control component. These configuration information can be configured to one or more management and control components to optimize the network; for example, the reasoning optimization results returned by the AI application are converted into configuration information, so that the corresponding network parameters can be adjusted according to the reasoning optimization results, etc., to optimize the SDN network configuration.
[0060] In some embodiments, in addition to converting the processing result to obtain configuration information through the above-mentioned first control component, the processing result can also be converted into configuration information through the SDN controller, and the configuration information can be configured to one or more control components.
[0061] It can be seen that after receiving the inference optimization result returned by the AI application through the interactive context, there are two different ways to process the inference optimization result. One processing method is that the SDN controller directly converts the inference optimization result into configuration information, and then configures it to one or more management and control components according to the converted configuration information. Another processing method is that the first management and control component in the interactive context converts the inference optimization result into configuration information, and then configures the converted configuration information to one or more management and control components other than the first management and control group. .
[0062] Among them, the above-mentioned resource information includes a subset of resources in the local resource pool and / or information provided by the management and control component. The resources of the local resource pool are obtained by mapping the resources of the forwarding plane controlled by the local SDN controller and / or the resources provided by the next-level SDN controller. The information provided by the management and control component includes configuration information and / or monitoring information of one or more management and control components.
[0063] As can be seen from the above description, the resources of the service context can be the resources of the forwarding plane directly controlled by the local SDN controller, or the resources provided by the next-level SDN controller, and these resources are mapped to the local resource pool of the current SDN controller. By allocating a subset of the local resource pool to the customer context / service context, and then passing the customer context / service context to the interactive context, the data of the subset of the local resource pool can be passed to the external application. In addition, the control component can also provide the interactive context with configuration information and / or monitoring information of one or more control components, such as monitored performance, traffic, processing load and other information. If the control component that provides configuration information and / or monitoring information is a link resource management component, the monitored link resource usage ratio can be provided to the interactive context. The control component can also be other specific control components, and different control components have different configuration information and / or monitoring information, which are not given one by one here. In addition, the configuration information and / or monitoring information of the control component can be the configuration information and / or monitoring information of this component, or it can be a control component as an agent to collect configuration information and / or monitoring information of other control components, which is not limited here.
[0064] Reference Figure 2 As shown, in some embodiments, the SDN controller in the above step S100 creates an interaction context, including:
[0065] Step S110, the SDN controller creates one or more interaction contexts and sets identifiers to distinguish different interaction contexts;
[0066] One interaction context is associated with one external application, and multiple interaction contexts can be associated with the same external application.
[0067] Taking the external application as an AI application as an example, one or more interaction contexts created by the SDN controller are associated with the AI application to be accessed. One interaction context can only be associated with one AI application, while multiple interaction contexts can be associated with the same AI application; multiple different interaction contexts are distinguished by setting an identifier. The specific form and setting method of the identifier are not specifically limited in the embodiment of the application. The SDN controller can identify different interaction contexts through the identifier.
[0068] Reference Figure 3 As shown, in some embodiments, the method for interaction between the SDN controller and the application in the embodiment of the present application further includes:
[0069] Step S410, when the SDN controller receives a service request initiated by the client, the SDN controller determines the external application that needs to be called to create an interaction context according to the service request, and creates a client context;
[0070] In step S420, the SDN controller transfers the data of the customer context to one or more interaction contexts, so as to transfer the data of the customer context to an external application.
[0071] When the SDN controller receives a service request (e.g., connection creation request, virtual network creation request) initiated by a customer / client, the SDN controller determines the need to call an external application, such as an AI application, based on the service request (e.g., the user's need to create a specific connection in the connection creation request), and implements access to the AI application by creating an interaction context and a customer context. The number of interaction contexts is not limited, and the SDN controller determines whether to create multiple interaction contexts based on the service request, and then stores the data corresponding to the service request initiated by the customer / client through the customer context, and passes the data to one or more interaction contexts. The AI application accesses the associated interaction context to obtain data, or the SDN control sends the data in the interaction context to the associated AI application, so that the AI application obtains the data passed by the customer context.
[0072] Reference Figure 4 As shown, in some embodiments, in the above step S420, the SDN controller transmits the customer context data to one or more interaction contexts, including:
[0073] Step S421, the SDN controller determines data related to the external application in the customer context as first shared data;
[0074] Step S422: delivering the first shared data to one or more interaction contexts.
[0075] Taking the external application as an AI application as an example, the SDN controller can share the data related to the AI application in the customer context with one or more interactive contexts, such as sharing the virtual network information allocated in the customer context, the routing constraints in the customer request and other information with the interactive context, so that the AI application can perform routing inference based on the virtual network. By limiting the shared data in the customer context, the leakage of customer data can be avoided. It can be understood that the first shared data can be part of the data in the customer context or all the data in the customer context. The SDN controller configures the data sharing permissions according to actual needs, or sets the data sharing method in the customer context according to pre-set sharing permissions.
[0076] Reference Figure 5 As shown, in some embodiments, the method for interaction between the SDN controller and the application in the embodiment of the present application further includes:
[0077] Step S430, the SDN controller receives the processing result returned by the external application through the interactive context;
[0078] Step S440, the SDN controller transmits the processing result to the customer context, and the Network Call Controller (NCC) or the SDN controller converts the processing result into configuration information, and configures the configuration information to one or more management and control components;
[0079] or,
[0080] Step S450: the first control component in the interaction context converts the processing result into configuration information, and configures the configuration information to one or more control components other than the first control component;
[0081] As mentioned above, when the AI application performs calculations based on the data transmitted from the interactive context to obtain processing results (for example, the reasoning optimization results of the SDN network), the SDN controller receives the reasoning optimization results through the interactive context, and then converts the reasoning optimization results into configuration information in two cases. One processing method is that the NCC or SDN controller directly converts the reasoning optimization results into configuration information, and then configures one or more management and control components according to the converted configuration information. Another processing method is that the interactive context includes a first management and control component, then the reasoning optimization results can be converted into configuration information through the first management and control component in the interactive context, and then the converted configuration information is configured to one or more management and control components other than the first management and control component.
[0082] In SDN, the configuration information of the management and control component may include at least one of the following: routing constraint information (such as explicit routing) configured for the routing controller (RC) component, time series connection creation / deletion requests configured for the connection controller (CC) component, virtual network resource topology configured for the RC component, link resource information configured for the link resource manager (LRM), etc.
[0083] Reference Figure 6 As shown, in some embodiments, the method for interaction between the SDN controller and the application in the embodiment of the present application further includes:
[0084] Step S460: The SDN control sets a first access permission for the data in the interaction context, where the first access permission is used to restrict the client context from accessing the data in the interaction context.
[0085] SDN control can open up multiple access rights to part or all of the data in the interaction context to the client corresponding to the customer context. For example, the routing optimization calculation results returned by the AI application are sent to the client through the customer context. The client can optimize according to the processing results of the AI application.
[0086] It is worth noting that when the SDN controller creates a customer context and an interaction context, it can set whether the internal data of the customer context and the interaction context are independent. For example, when creating an interaction context, the internal data of the customer context and the internal data of the interaction context are set independently. When data transmission is required between the customer context and the interaction context, the data is transmitted through a preset interface or data channel; or when creating an interaction context, a part of the internal data of the interaction context (it can be only a part or all) is the internal data of the customer context, so that the interaction context can directly use the part of the internal data shared with the customer context without the need for data transmission. It can be understood that the solution for whether the internal data is independent here does not conflict with the aforementioned access rights and setting of shared data.
[0087] Reference Figure 7 As shown, in some embodiments, the method for interaction between the SDN controller and the application in the embodiment of the present application further includes:
[0088] Step S510, when the SDN controller receives a service request from a next-level SDN controller, the SDN controller determines the external application that needs to be called to create an interaction context according to the service request, and creates a service context;
[0089] Step S520: The SDN controller transfers the service context data to one or more interaction contexts to transfer the service context data to an external application.
[0090] When the SDN controller receives a service request from the next-level SDN controller, the SDN controller determines that it needs to call an external application, such as an AI application, based on the service request, and implements access to the AI application by creating an interaction context and a service context, such as simulating the next-level SDN controller to provide virtual network resources to the SDN controller at this layer, or abstracting and reconstructing the network resources provided by the next-level SDN controller to varying degrees, or collecting network operation data provided by the next-level SDN controller for reasoning analysis. The number of interaction contexts is not limited. The SDN controller determines whether to create multiple interaction contexts based on the service request, and then stores the data corresponding to the service request initiated by the next-level SDN controller through the service context, and passes the data to one or more interaction contexts. The AI application accesses the associated interaction context to obtain data, or the SDN control sends the data in the interaction context to the associated AI application, so that the AI application obtains the data passed by the service context.
[0091] Reference Figure 8As shown, in some embodiments, in the above step S520, the SDN controller transmits the service context data to one or more interaction contexts, including:
[0092] Step S521, the SDN controller determines data related to the external application in the service context as second shared data;
[0093] Step S522: delivering the second shared data to one or more interaction contexts.
[0094] Taking the external application as an AI application as an example, the SDN controller can share the data related to the AI application in the service context with one or more interactive contexts, such as sharing the virtual network resources allocated in the customer context, the network resource change sequence and other information with the interactive context, so that the AI application can perform simulation reasoning of network resources. By limiting the shared data in the service context, the data controlled by the next level SDN can be prevented from leaking out. It can be understood that the second shared data can be part of the data in the service context or all the data in the service context. The local SDN controller configures the data sharing permissions according to actual needs, or sets the data sharing method in the service context according to pre-set sharing permissions.
[0095] Reference Fig. 9 As shown, in some embodiments, the method for interaction between the SDN controller and the application in the embodiment of the present application further includes:
[0096] Step S530, the SDN controller receives the processing result returned by the external application through the interactive context;
[0097] Step S540, the SDN controller transmits the processing result to the service context, and the SDN controller or the next-level SDN controller corresponding to the service context converts the processing result into configuration information, and configures the configuration information to one or more management and control components;
[0098] or,
[0099] Step S550: the first control component in the interaction context converts the processing result into configuration information, and configures the configuration information to one or more control components other than the first control component;
[0100] As mentioned above, when the AI application performs calculations based on the data passed from the interactive context to obtain processing results (for example, the reasoning optimization results of the SDN network), the SDN controller receives the reasoning optimization results through the interactive context, and then converts the reasoning optimization results into configuration information in two cases. One processing method is to pass the reasoning optimization results to the service context, and the next-level SDN controller converts the reasoning optimization results into configuration information, or directly converts the reasoning optimization results into configuration information by the local SDN control, and then configures one or more control components according to the converted configuration information (at this time, this or these control components are not limited to the control components of this layer). Another processing method is that the interactive context includes a first control component, then the reasoning optimization results can be converted into configuration information through the first control component in the interactive context, and then the converted configuration information is configured to one or more control components other than the first control component (at this time, this or these control components are not limited to the control components of this layer).
[0101] Reference Fig.10 As shown, in some embodiments, the method for interaction between the SDN controller and the application in the embodiment of the present application further includes:
[0102] Step S560: The SDN control sets a second access permission for the data in the interaction context, where the second access permission is used to restrict the service context from accessing the data in the interaction context.
[0103] SDN control can open multiple access rights to part or all of the data in the interaction context to the service context, such as sharing the time-series-based network resource change results returned by the AI application with the service context, and then sending them to the next-level SDN controller through the service context. The next-level SDN controller can refer to the AI application processing results to optimize tasks. For example, the next-level SDN controller generates configuration information for specific components based on the inference optimization results and configures them to specific management and control components, such as configuring the time-series network resource changes as network topologies at different time points to the routing controller RC component, to simulate the network cutover process, thereby refreshing the network topology.
[0104] It is worth noting that when the SDN controller creates a service context and an interaction context, it can set whether the internal data of the service context and the interaction context are independent. For example, when creating an interaction context, the internal data of the service context and the internal data of the interaction context are set independently. When data transmission is required between the service context and the interaction context, the data is transmitted through a preset interface or data channel; or when creating an interaction context, a part of the internal data of the interaction context (it can be only a part or all) is the internal data of the service context, so that the interaction context can directly use the part of the internal data shared with the service context without the need for data transmission. It can be understood that the scheme for whether the internal data is independent here does not conflict with the aforementioned access rights and setting of shared data.
[0105] Reference Fig.11 As shown, in some embodiments, the method of the embodiment of the present application further includes:
[0106] Step S600: When the SDN controller ends the interaction with the external application, the interaction context associated with the external application is deleted.
[0107] The local SDN controller determines that the access to the current external application has ended according to the interaction requirements, and then deletes the interaction context associated with the external application, thereby releasing data space.
[0108] In summary, an interaction context is created through the SDN controller, and the interaction context is used to complete interaction actions including sending and receiving information, so as to help the SDN controller call the service capabilities corresponding to the external application, wherein the interaction context carries support information, which is used to support the SDN controller to realize interaction with the external application, and the support information is passed to the external external application by using the interaction context, and the data returned by the external application can also be received; the method of the embodiment of the present application supports service requests from customers / clients, and also supports service requests controlled by the next level of SDN, calls external applications based on service requests and passes corresponding data to the external applications, thereby obtaining the processing results of the external applications, converts the processing results into configuration information, and configures the management and control components in the SDN, so as to be able to utilize the service capabilities corresponding to the external applications, such as artificial intelligence technology / machine learning algorithms to improve the network management and control level of SDN, improve resource utilization and network robustness.
[0109] The following describes in detail the method for interaction between the SDN controller and the application of the present application through several embodiments.
[0110] For the convenience of description, the following embodiments use AIContext to represent the aforementioned interaction context (or AI context, but the name is not limited) for interacting with the AI application, ClientContext to represent the aforementioned client context, and ServerContext to represent the aforementioned service context; for the SDN controller, unless otherwise specified, the local SDN controller is assumed to be the default; in addition, when describing the relative relationship with the upper-level or lower-level SDN control, the SDN controller also defaults to the local SDN controller.
[0111] Embodiment 1
[0112] Reference Fig.12 As shown in the figure, the overall process of the SDN controller interacting with external AI applications through AI context is as follows:
[0113] AIContext contains support information and / or a first management and control component for supporting AI applications, wherein the support information includes authentication and authorization protocols and parameters for the SDN controller and AI applications, AI service capabilities, and data passed to the AI applications, and / or the first management and control component is used to convert the inference prediction optimization results returned by the AI application into configuration information of other management and control components in the SDN controller.
[0114] The SDN controller creates one or more AIContexts and associates the created AIContexts with the AI application to be accessed. An AIContext can only be associated with one AI application, and multiple AIContexts can be associated with the same AI application. Different AIContexts are distinguished by identifiers.
[0115] When creating AIContext, the SDN controller is configured with the authentication and authorization protocol and parameters between the SDN controller and the AI application, as well as the AI service capabilities provided by the AI application; or the authentication and authorization protocol and parameters between the AI application and the SDN controller, as well as the AI service capabilities provided by the AI application, are determined through negotiation between the SDN controller and the AI application. These authentication and authorization protocols and parameters of the AI application, as well as the AI service capabilities provided by the AI application, are all stored in AIContext.
[0116] The SDN controller saves the resource information provided to the AI application in the AIContext. This resource information may include: local resource pool, resources from one or more lower-level controllers, information provided by the management and control components, etc. This resource information can be accessed by the AI application, and the access rights are determined by the relevant authentication and authorization process; this resource information can also be sent to the AI application. The management and control component provides the configuration information of this component or other management and control components, as well as the monitored performance, traffic, processing load and other information. For example, the link resource management component can provide the monitored link resource usage ratio, and the notification component can provide various notification messages sent to the notification component by other management and control components (such as CC, RC, LRM).
[0117] The SDN controller receives the processing results (such as inference prediction optimization results) returned by the AI application and saves them in the AIContext.
[0118] The SDN controller converts the processing results into the configuration information of the control components in the SDN controller, and configures them to the corresponding control components; or the first control component in AIContext converts the processing results into the configuration information of other control components in the SDN controller except the first control component, and configures them to the corresponding control components. Among them, the configuration information of these configured control components may include: routing constraint information (such as explicit routing) configured for RC components, time series connection creation / deletion requests configured for CC components, virtual network resource topology configured for RC components, link resource information configured for LRM, etc. These configured control components implement connection scheduling, virtual network scheduling and other activities through interaction.
[0119] When the SDN controller no longer needs to access the relevant AI services associated with the AIContext, the SDN controller can delete the corresponding AIContext.
[0120] Embodiment 2
[0121] Reference Fig.13 and Fig.14 As shown, when the SDN controller receives a connection creation request initiated by a customer / client, the SDN controller determines that an AI application needs to be called and the AI application service needs to be accessed according to user needs.
[0122] The SDN controller creates one or more AIContexts (the specific process is as in Example 1 and will not be repeated here).
[0123] To support the client, the controller creates a corresponding ClientContext, which stores information supporting the client, such as communication methods, authentication information, supported interface models, connection scheduling requests (including creation, deletion, and modification), virtual network scheduling requests (including creation, deletion, and modification), etc.
[0124] The SDN controller passes the data in the ClientContext to one or more AIContexts (such as Fig.13 and Fig.14 ), the AI application accesses the data of AIContext or the SDN controller sends the data in AIContext to the AI application, so that the AI application obtains the data of ClientContext.
[0125] The data passed by ClientContext to AIContext may include routing constraint information, performance constraint information, virtual network resources and topology, customer service traffic change information, etc. Based on the obtained routing constraint information, performance constraint information, virtual network resources and topology, and customer service traffic change information, the AI application performs inference prediction optimization activities such as routing optimization calculation based on constraint routing, routing calculation based on performance constraints, and customer service traffic prediction, and returns the inference prediction optimization results to AIContext in the SDN controller.
[0126] Based on AIContext, the SDN controller converts the returned results into configuration information of the management and control components.
[0127] Specifically, the SDN controller passes the returned results (such as reasoning, prediction, and optimization results) to ClientContext (such as Fig.13 and Fig.14 ), the network call controller NCC or the SDN controller converts the returned result into the configuration information of the control component in the SDN controller, and configures the configuration information to the corresponding control component; the first control component in AIContext can also convert the returned result into the configuration information of other control components in the SDN controller except the first control component, and configure the configuration information to these control components. For example, the routing optimization result is configured as explicit routing information to the routing controller RC component; for example, the connection scheduling configuration information of the time series is generated based on the traffic prediction result, and the configuration information is configured to the connection controller CC component. Among them, the configuration information of these configured control components may include: routing constraint information (such as explicit routing) configured to the RC component, time series connection creation / deletion requests configured to the CC, virtual network resource topology configured to the RC component, link resource information configured to the LRM, etc.
[0128] These configured management and control components interact with each other based on the configuration information to complete the connection creation.
[0129] The above process also applies to customers initiating virtual network creation requests. The detailed process is similar and will not be repeated here.
[0130] In the above process, the SDN controller can also open up multiple access permissions to some or all of the data in AIContext to the client corresponding to ClientContext, such as sending the routing optimization calculation results returned by the AI application to the client through ClientContext, and the client can refer to the routing optimization calculation results of the AI application for optimization.
[0131] Among them, the AI application in this embodiment can be a digital twin system with AI processing capabilities.
[0132] Embodiment 3
[0133] Reference Fig.15 and Fig.16 As shown, the creation of AIContext, ClientContext and the interaction with the AI application are similar to those in the second embodiment. This third embodiment focuses on the visibility between AIContext and ClientContext.
[0134] The SDN controller creates a ClientContext to support interaction with the client, such as when the client initiates a connection creation request. The SDN controller determines the AI application service to be accessed based on user needs, and then creates one or more AIContexts (such as in Example 1, which will not be described in detail here).
[0135] The SDN controller passes the data in the ClientContext to one or more AIContexts, and the AI application accesses the data in the AIContext or the SDN controller sends the data in the AIContext to the AI application, so that the AI application obtains the data in the ClientContext.
[0136] The SDN controller can share AI application-related data in the ClientContext with one or more AIContexts, such as sharing the virtual network information allocated in the ClientContext and the routing constraints in the customer request with the AIContext, so that the AI application can perform routing inference based on the virtual network.
[0137] The data passed by ClientContext to AIContext may include routing constraint information, performance constraint information, virtual network resources and topology, customer service traffic change information, etc. Based on the obtained routing constraint information, performance constraint information, virtual network resources and topology, and customer service traffic change information, the AI application performs inference prediction optimization activities such as routing optimization calculation based on constraint routing, routing calculation based on performance constraints, and customer service traffic prediction, and returns the inference prediction optimization results to AIContext in the SDN controller.
[0138] The SDN controller can convert all AIContext (such as Fig.15 As shown in the figure, the controller can also open access rights to the client corresponding to the ClientContext; the controller can also open access rights to some data in the AIContext (such as Fig.16 (As shown in the figure) to open multiple access rights to the client corresponding to ClientContext, and some data is not allowed to be accessed by ClientContext. For example, the routing optimization calculation results returned by the AI application are sent to the client, and the client can refer to the processing results of the AI application for optimization.
[0139] Based on AIContext, the SDN controller converts the returned results into configuration information of the management and control components.
[0140] Specifically, the SDN controller passes the return results (such as reasoning, prediction, and optimization results) to the ClientContext, which is converted by the network call controller NCC or the SDN controller into the configuration information of the management and control components in the SDN controller, and the configuration information is configured to the corresponding management and control components; the first management and control component in the AIContext can also convert the return results into the configuration information of other management and control components in the SDN controller except the first management and control component, and configure the configuration information to these management and control components. For example, the routing optimization results are configured as explicit routing information to the routing controller RC component; for example, the connection scheduling configuration information of the time series is generated based on the traffic prediction results, and the configuration information is configured to the connection controller CC component. Among them, the configuration information of these configured management and control components may include routing constraint information (such as explicit routing) configured to the RC component, time series connection creation / deletion requests configured to the CC, virtual network resource topology configured to the RC component, link resource information configured to the LRM, etc.
[0141] These configured management and control components interact with each other based on the configuration information to complete the connection creation.
[0142] The above process also applies to customers initiating virtual network creation requests. The detailed process is similar and will not be repeated here.
[0143] In the above process, the SDN controller can also open up multiple access permissions to part or all of the data in AIContext to the client corresponding to ClientContext, such as sending the routing optimization calculation results returned by the AI application to the client through ClientContext, and the client can refer to the processing results of the AI application for optimization.
[0144] The AI application in this embodiment can be a digital twin system with AI processing capabilities.
[0145] Embodiment 4
[0146] Reference Fig.17 As shown, the SDN controller creates a ServerContext to support interaction with the next-level SDN controller, such as simulating the next-level SDN controller to provide virtual network resources to the current-level SDN controller, or abstracting and reconstructing the network resources provided by the next-level SDN controller to different degrees, or collecting the network operation data provided by the next-level SDN controller for reasoning analysis.
[0147] The SDN controller passes the data in the ServerContext to one or more AIContexts, and the AI application accesses the data in the AIContext or the SDN controller sends the data in the AIContext to the AI application, so that the AI application obtains the data passed by the ServerContext.
[0148] The data that ServerContext passes to AIContext may include virtual network resources, network resource change sequences, network resource operation data, historical network traffic data, current network traffic data, etc.
[0149] Based on the acquired virtual network resources and network resource change sequences, AI applications can carry out reasoning simulation activities such as time series-based network resource changes, and return the reasoning simulation results to the SDN controller and then to the ServerContext via AIContext.
[0150] Based on the inference simulation results, the configuration information of specific components is generated and configured to specific management and control components. For example, the time series network resource changes are configured as network topologies at different time points to the routing controller RC component, so as to simulate network cutover activities and refresh the network topology.
[0151] The AI application in this embodiment can be a digital twin system with AI processing capabilities.
[0152] Embodiment 5
[0153] The SDN controller creates a ServerContext to support interaction with the next-level SDN controller, such as simulating the next-level SDN controller to provide virtual network resources to the current-level SDN controller, or abstracting and reconstructing the network resources provided by the next-level SDN controller to varying degrees.
[0154] One or more AIContexts that interact with a given ServerContext are available as part of the ServerContext.
[0155] The SDN controller passes the data in ServerContext to one or more AIContexts, and the AI application accesses the data in AIContext or the SDN controller sends the data in AIContext to the AI application, so that the AI application obtains the data in ServerContext.
[0156] The data that ServerContext passes to AIContext may include virtual network resources, network resource change sequences, etc.
[0157] The SDN controller can share AI application-related data in ServerContext with one or more AIContexts, such as sharing virtual network resources allocated in ServerContext, network resource change sequence, etc. with AIContext, so that AI applications can perform reasoning simulation of network resources.
[0158] Based on the acquired virtual network resources and network resource change sequences, AI applications can carry out reasoning simulation activities such as time series-based network resource changes, and return the reasoning simulation results to the SDN controller and then to the ServerContext via AIContext.
[0159] The SDN controller can open up multiple access permissions to part or all of the data in AIContext to the next-level SDN controller corresponding to ServerContext. For example, the time-series-based network resource change results returned by the AI application can be sent to the next-level SDN controller. The next-level SDN controller can refer to the AI application processing results to optimize tasks.
[0160] The SDN controller can convert all AIContext (such as Fig.18 As shown in the figure, the next-level SDN controller corresponding to ServerContext can be given permission. The SDN controller can also transfer some data in AIContext (such as Fig.19(As shown in the figure) opens multiple access permissions to the next-level SDN controller corresponding to ServerContext, and some data are not allowed to be accessed by ServerContext. For example, the network resource change results based on time series returned by the AI application are sent to the next-level SDN controller, and the next-level SDN controller can refer to the AI application processing results to optimize the task.
[0161] Based on the inference simulation results, the configuration information of specific components is generated and configured to specific management and control components. For example, the time series network resource changes are configured as network topology at different time points to the routing controller RC component to simulate the network cutover process, thereby realizing the refresh of the network topology.
[0162] The AI application in all embodiments of the present application may be a digital twin system with AI processing capabilities.
[0163] An embodiment of the present application also provides a device for interaction between an SDN controller and an application, comprising at least one processor and a memory for communicating with the at least one processor; the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the aforementioned method for interaction between the SDN controller and the application.
[0164] Reference Fig. 20 , taking the control processor 1001 and the memory 1002 in the device 1000 for interaction between the SDN controller and the application as an example, which can be connected through a bus. The memory 1002, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer executable programs. In addition, the memory 1002 may include a high-speed random access memory, and may also include a non-transitory memory, such as at least one disk memory, a flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory 1002 may optionally include a memory remotely arranged relative to the control processor 1001, and these remote memories may be connected to the device 1000 for interaction between the SDN controller and the application via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0165] Those skilled in the art will understand that Fig. 20 The device structure shown in the figure does not constitute a limitation on the device 1000 for interaction between the SDN controller and the application, and may include more or less components than those shown in the figure, or combine certain components, or arrange the components differently.
[0166] The embodiment of the present application also provides a computer-readable storage medium, which stores computer-executable instructions, and the computer-executable instructions are executed by one or more control processors, for example, Fig. 20The execution of one of the control processors 1001 may enable the one or more control processors to execute the method for interaction between the SDN controller and the application in the above method embodiment.
[0167] The device embodiments described above are merely illustrative, and the units described as separate components may or may not be physically separated, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0168] It will be appreciated by those skilled in the art that all or some of the steps and systems in the disclosed method above may be implemented as software, firmware, hardware and appropriate combinations thereof. Some physical components or all physical components may be implemented as software executed by a processor, such as a central processing unit, a digital signal processor or a microprocessor, or may be implemented as hardware, or may be implemented as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include a computer storage medium (or a non-transitory medium) and a communication medium (or a temporary medium). As known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, disk storage or other magnetic storage devices, or any other medium that may be used to store desired information and may be accessed by a computer. Furthermore, it is well known to those skilled in the art that communication media typically embodies computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.
[0169] The above is a specific description of the preferred implementation of the present application, but the present application is not limited to the above-mentioned implementation mode. Technical personnel familiar with the field can also make various equivalent deformations or substitutions without violating the spirit of the present application. These equivalent deformations or substitutions are all included in the scope defined by the claims of the present application.
Claims
1. A method for interaction between an SDN controller and an application, characterized in that: include: The SDN controller creates an interaction context and interacts with an external application through the interaction context; The interaction context includes support information, and the support information represents information required for the SDN controller to interact with the external application.
2. The method according to claim 1, characterized in that The method further comprises: The SDN controller receives the processing result returned by the external application through the interaction context.
3. The method according to claim 2, characterized in that The interaction context also includes a first management and control component, which is used to convert the processing result into configuration information and configure the configuration information to one or more management and control components other than the first management and control component.
4. The method according to claim 2, characterized in that: The method further comprises: The SDN controller converts the processing result into configuration information, and configures the configuration information to one or more management and control components.
5. The method according to claim 1, characterized in that The supporting information includes at least one of the following: Authentication and authorization protocols and parameters for interaction between the SDN controller and the external application; The service capabilities provided by the external application; Resource information passed to the external application.
6. The method according to claim 5, characterized in that The resource information includes a subset of resources in the local resource pool and / or information provided by the management and control component. The resources of the local resource pool are obtained by mapping the resources of the forwarding plane controlled by the local SDN controller and / or the resources provided by the next-level SDN controller. The information provided by the management and control component includes configuration information and / or monitoring information of one or more of the management and control components.
7. The method according to claim 5, characterized in that The authentication and authorization protocol and parameters and the service capability are determined by one of the following methods: Preconfigured by the SDN controller; It is determined by negotiation between the SDN controller and the external application.
8. The method according to claim 1, characterized in that The SDN controller creates an interaction context, including: The SDN controller creates one or more interaction contexts and sets an identifier to distinguish different interaction contexts; One interaction context is associated with one external application, and multiple interaction contexts may be associated with the same external application.
9. The method according to claim 1, characterized in that: The method further comprises: When the SDN controller receives a service request initiated by the client, the SDN controller determines an external application that needs to be called according to the service request to create an interaction context, and creates a client context; The SDN controller transfers the data of the customer context to one or more of the interaction contexts, so as to transfer the data of the customer context to the external application.
10. The method according to claim 9, characterized in that The method further comprises: The SDN controller receives the processing result returned by the external application through the interaction context; The SDN controller transmits the processing result to the customer context, and the network call controller or the SDN controller converts the processing result into configuration information, and configures the configuration information to one or more management and control components; or, The first management and control component in the interaction context converts the processing result into configuration information, and configures the configuration information to one or more management and control components except the first management and control component.
11. The method according to claim 10, characterized in that The method further comprises: The SDN control sets a first access permission for the data in the interaction context, where the first access permission is used to restrict the customer context from accessing the data in the interaction context.
12. The method according to claim 9, characterized in that The SDN controller transmits the data of the customer context to one or more of the interaction contexts, including: The SDN controller determines data related to the external application in the customer context as first shared data; The first shared data is transferred to one or more of the interaction contexts.
13. The method according to claim 9, characterized in that The internal data of the interaction context and the internal data of the customer context are independent of each other, or at least a part of the internal data of the interaction context is the internal data of the customer context.
14. The method according to claim 1, characterized in that The method further comprises: When the SDN controller receives a service request from a next-level SDN controller, the SDN controller determines an external application that needs to be called to create an interaction context according to the service request, and creates a service context; The SDN controller transfers the data of the service context to one or more of the interaction contexts, so as to transfer the data of the service context to the external application.
15. The method according to claim 14, characterized in that The method further comprises: The SDN controller receives the processing result returned by the external application through the interaction context; The SDN controller transmits the processing result to the service context, and the SDN controller or a next-level SDN controller corresponding to the service context converts the processing result into configuration information, and configures the configuration information to one or more management and control components; or, The first management and control component in the interaction context converts the processing result into configuration information, and configures the configuration information to one or more management and control components except the first management and control component.
16. The method according to claim 15, characterized in that The method further comprises: The SDN control sets a second access permission for the data in the interaction context, where the second access permission is used to restrict the service context from accessing the data in the interaction context.
17. The method according to claim 14, characterized in that The SDN controller transmits the data of the service context to one or more of the interaction contexts, including: The SDN controller determines data related to the external application in the service context as second shared data; The second shared data is passed to one or more of the interaction contexts.
18. The method according to claim 14, characterized in that The internal data of the interaction context and the internal data of the service context are independent of each other, or at least a part of the internal data of the interaction context is the internal data of the service context.
19. The method according to claim 1, characterized in that The method further comprises: When the SDN controller ends the interaction with the external application, the interaction context associated with the external application is deleted.
20. The method according to any one of claims 1 to 19, characterized in that: The external application is an AI application that provides artificial intelligence service capabilities.
21. A device for interaction between an SDN controller and an application, characterized in that: The method comprises at least one processor and a memory for communicating with the at least one processor; the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method for interaction between an SDN controller and an application as described in any one of claims 1 to 20.
22. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable a computer to execute the method for interaction between an SDN controller and an application as described in any one of claims 1 to 20.