Interaction method and apparatus for SDN controller and application, and storage medium
By creating an interactive context in the SDN controller and interacting with external AI/ML application services, the problem of insufficient control level of SDN network management is solved, and the resource utilization and network robustness is improved.
Patent Information
- Application Number
- PCT/CN2024/087249
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-25
- Filing Date
- 2024-04-11
- Publication Date
- 2025-03-06
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 application services, 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 the docking of SDN controllers and external AI/ML application services, improves the level of SDN network management and control, and improves resource utilization and network robustness.
Smart Images

Figure CN2024087249_06032025_PF_FP_ABST
Abstract
Description
Method, device and storage medium for interaction between SDN controller and application
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application is based on the Chinese patent application with application number 2023110875051 and application date of August 25, 2023, and claims the priority of the Chinese patent application. The entire content of the Chinese patent application is hereby introduced into this application as a reference. Technical Field
[0003] 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
[0004] With the advancement of artificial intelligence (AI) technology and machine learning (ML) algorithms, many fields are using AI / ML application services to improve processing performance and efficiency. Software-defined networks (SDNs) also require the introduction of AI / ML application services to enhance network management and control. However, related technologies have not yet proposed a solution for connecting SDN controllers with AI / ML application services.
[0005] Summary of the Invention
[0006] 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.
[0007] The embodiments of the present application provide a method, apparatus, and storage medium for interaction between an SDN controller and an application, which enable the SDN controller to interact with external applications.
[0008] In a first aspect, an embodiment of the present application provides a method for interacting with an SDN controller and an application, including:
[0009] The SDN controller creates an interaction context and interacts with an external application through the interaction context;
[0010] The interaction context includes support information, and the support information represents information required for the SDN control to interact with the external application.
[0011] In a second aspect, an embodiment of the present application provides a device for interacting an SDN controller with 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 interacting with the SDN controller and the application as described above.
[0012] 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.
[0013] The embodiments of the present application provide a method, device, and storage medium for interaction between an SDN controller and an application. The embodiments of the present application create an interaction context through the SDN controller, and use 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. The interaction context carries support information, which is used to support the SDN controller to interact with the external application. The interaction context is used to transmit the support information to the external application, and the data returned by the external application can also be received. Through the above-mentioned method, the SDN controller is connected with the external application service, so that the service capabilities corresponding to the external application, such as artificial intelligence technology / machine learning algorithms, can be utilized to improve the network management and control level of the SDN, and improve resource utilization and network robustness.
[0014] Other features and advantages of the present application will be described in the following description, and in part will become apparent from the description, or will be understood by practicing the present application. The purposes and other advantages of the present application can be realized and obtained through the structures particularly pointed out in the description, claims and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] The accompanying drawings are used to provide a 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.
[0016] FIG1 is a flow chart of a method for an SDN controller to create an interaction context and interact with an external application according to an embodiment of the present application;
[0017] FIG2 is a flowchart of creating one or more interaction contexts provided by one embodiment of the present application;
[0018] FIG3 is a flow chart showing the interaction between a client context and an external application through an interaction context according to an embodiment of the present application;
[0019] FIG4 is a flowchart of setting first shared data in a client context according to an embodiment of the present application;
[0020] FIG5 is a flowchart of converting processing results into configuration information in two ways according to an embodiment of the present application;
[0021] FIG6 is a flowchart of setting a first access permission for data in an interactive context according to an embodiment of the present application;
[0022] 7 is a flow chart showing the interaction between a service context and an external application through an interaction context provided by one embodiment of the present application;
[0023] FIG8 is a flowchart of setting the second shared data in the service context according to one embodiment of the present application;
[0024] FIG9 is a flowchart of converting processing results into configuration information in two ways according to an embodiment of the present application;
[0025] FIG10 is a flowchart of setting a second access permission for data in an interactive context according to one embodiment of the present application;
[0026] FIG11 is a flowchart of deleting an interaction context provided by one embodiment of the present application;
[0027] 12 is a schematic diagram of data interaction between various contexts within the SDN controller provided in Example 1 of the present application;
[0028] FIG13 is a schematic diagram of the interaction between Clientcontext and an AIcontext provided in Example 2 of the present application;
[0029] FIG14 is a schematic diagram of the interaction between Clientcontext and multiple AIcontexts provided in Example 2 of the present application;
[0030] FIG15 is a schematic diagram showing that the AIcontext provided in the third embodiment of the present application is entirely contained in the Clientcontext;
[0031] FIG16 is a schematic diagram showing that the AIcontext portion provided in the third embodiment of the present application is included in the Clientcontext;
[0032] FIG17 is a schematic diagram of the interaction between Servercontext and AIcontext provided in Example 4 of the present application;
[0033] FIG18 is a schematic diagram showing that the AIcontext provided in the fifth embodiment of the present application is entirely contained in the Servercontext;
[0034] FIG19 is a schematic diagram showing that the AIcontext portion provided in Example 5 of the present application is included in the Servercontext;
[0035] FIG20 is a schematic diagram of the structural connection of an apparatus for interaction between an SDN controller and an application provided in one embodiment of the present application. DETAILED DESCRIPTION
[0036] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application is further described in detail below with reference to 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 features, operations or characteristics 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 swapped or adjusted in order in a manner that is obvious to those skilled in the art. Therefore, the various orders in the specification and the drawings are only for the purpose of clearly describing a certain embodiment and are not meant to be a necessary order, unless otherwise specified that a certain order must be followed.
[0037] In the description of this application, "several" means one or more, "many" means more than two, "greater than," "less than," and "exceed" are understood to exclude the number itself, while "above," "below," and "within" are understood to include the number itself. The terms "first" and "second" are used solely to distinguish technical features and are not to be construed as indicating or implying relative importance, or as implicitly specifying the number or order of the technical features indicated.
[0038] The serial numbers assigned to components herein, such as "first," "second," etc., are used solely to distinguish the objects being described and do not convey any sequential or technical meaning. References to "connection" and "coupling" herein, unless otherwise specified, include both direct and indirect connections (couplings).
[0039] Embodiments of the present application provide a method, device, and storage medium for interaction between an SDN controller and 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 interaction between local resources and the external AI application, thereby enabling the service capabilities of the AI application to solve problems such as SDN network connection scheduling and network optimization.
[0040] 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 to 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 need to rely on 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.
[0041] 1 , an 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:
[0042] Step S100: The SDN controller creates an interaction context and interacts with an external application through the interaction context.
[0043] The interaction context includes support information, which represents the information required for the SDN controller to interact with external applications.
[0044] In the SDN control hierarchy, the upper and lower layers of the SDN controller form a client-layer and service-layer relationship. The SDN controller, acting as the client layer, and the SDN controller, acting as the service layer, interact through specific contexts (for example, through the service context (ServerContext) and the client context (ClientContext)). Each SDN controller can create multiple client contexts, at least one service context, and an administrative context (AdministrativeContext). The administrative context provides administrators with information to manage and control the controller and allows them to exercise administrator roles within the controller, including maintaining the lifecycles of client and service contexts.
[0045] 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 all 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 customer-layer SDN controller 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.
[0046] It can be seen from this that when the local SDN controller needs to connect to an external application to call the service of the external application, such as connecting 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 needs to access the external AI application. If so, 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:
[0047] Authentication and authorization protocols and parameters for interaction between the SDN controller and external applications;
[0048] Service capabilities provided by external applications;
[0049] Resource information passed to external applications.
[0050] If the external application is an AI application, the support information includes at least one of the following:
[0051] Authentication and authorization protocols and parameters for interaction between SDN controllers and AI applications;
[0052] AI service capabilities provided by AI applications;
[0053] Resource information passed to AI applications.
[0054] The authentication and authorization protocols and parameters can be pre-configured by the SDN controller or determined by negotiation between the SDN controller and the AI application during the creation of the interaction context. The authentication and authorization protocols and parameters can limit which data can be accessed by the AI application and which data can be sent to the AI application. Similarly, the AI service capabilities can be pre-configured by the SDN controller, requiring the AI application to provide certain services, or can be determined by negotiation between the SDN controller and the AI application during the creation of the interaction context, determining which services the AI application provides, such as training, inference, prediction, optimization, network backtracking, and proactive generation. All of the above supporting information is stored in the interaction context.
[0055] In short, by creating an interaction context, the SDN controller can send data to external applications through the interaction context, thereby obtaining the processing results of the external applications and utilizing 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, thereby improving resource utilization and network robustness.
[0056] 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; in this case, the application is the party that initiates the service request. Even if this application is an AI application, its role is not to have the AI service capabilities called by the SDN controller. 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.
[0057] It is understandable that the aforementioned AI service capabilities are not limited to artificial intelligence technology, but also include intelligent computing technologies such as machine learning algorithms.
[0058] 1 , the method for interaction between the SDN controller and the application in the embodiment of the present application further includes:
[0059] Step S200: The SDN controller receives a processing result returned by the external application through the interaction context.
[0060] Taking the external application as an AI application as an example, the SDN controller will pass the data that the AI application needs to calculate to the AI application through the interaction context. The AI application obtains the processing result after calculation and reasoning. For example, 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.
[0061] In some embodiments, the interaction context further includes a first control component, which is used to convert the processing result returned by the external application into configuration information, and configure the configuration information to one or more control components other than the first control component.
[0062] The SDN controller can also set a first management and control component in the interactive context, and convert the inference 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 inference optimization results returned by the AI application can be converted into configuration information, so that the corresponding network parameters can be adjusted according to the inference optimization results, etc., to optimize the SDN network configuration.
[0063] 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.
[0064] As can be seen, after receiving the inference optimization results returned by the AI application through the interaction context, there are two different ways to process the inference optimization results. One way is for the SDN controller to directly convert the inference optimization results into configuration information, and then configure one or more management and control components based on the converted configuration information. The other way is for the first management and control component in the interaction context to convert the inference optimization results into configuration information, and then configure the converted configuration information to one or more management and control components other than the first management and control group.
[0065] 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.
[0066] As can be seen from the foregoing description, the resources of the service context can be resources of the forwarding plane directly controlled by the local SDN controller, or resources provided by the next-level SDN controller. 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 transferring the data from the customer context / service context to the interaction context, the data of the subset of the local resource pool can be transferred to the external application. In addition, the control component can also provide the interaction context with configuration information and / or monitoring information of one or more control components, such as monitored performance, traffic, processing load, etc. If the control component providing the configuration information and / or monitoring information is a link resource management component, it can provide the interaction context with the monitored link resource usage ratio. 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 exemplified here. In addition, the configuration information and / or monitoring information of the control component can be the configuration information and / or monitoring information of the component itself, or it can be a control component acting as an agent to collect the configuration information and / or monitoring information of other control components, which is not limited here.
[0067] As shown in FIG. 2 , in some embodiments, the SDN controller in step S100 creates an interaction context, including:
[0068] Step S110: The SDN controller creates one or more interaction contexts and sets identifiers to distinguish different interaction contexts;
[0069] One interaction context is associated with one external application, and multiple interaction contexts can be associated with the same external application.
[0070] Taking an AI application as an example, the SDN controller creates one or more interaction contexts that are associated with the AI application to be accessed. One interaction context can only be associated with one AI application, but multiple interaction contexts can be associated with the same AI application. These different interaction contexts are distinguished by setting an identifier. The specific form and setting method of the identifier are not specifically limited in this embodiment of the application; it is sufficient that the SDN controller can identify different interaction contexts using the identifier.
[0071] As shown in FIG3 , in some embodiments, the method for interaction between the SDN controller and the application in the embodiment of the present application further includes:
[0072] 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 based on the service request, and creates a client context;
[0073] In step S420 , the SDN controller transfers the customer context data to one or more interaction contexts, so as to transfer the customer context data to an external application.
[0074] When an SDN controller receives a service request (e.g., a connection creation request or a virtual network creation request) from a client / client, it 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). It then creates an interaction context and a client context to enable access to the AI application. The number of interaction contexts is not limited; the SDN controller determines whether to create multiple interaction contexts based on the service request. The client context then stores the data corresponding to the service request initiated by the client / client and passes this data to one or more interaction contexts. The AI application then accesses the associated interaction context to obtain data, or the SDN controller sends the data in the interaction context to the associated AI application, allowing the AI application to obtain the data passed by the client context.
[0075] 4 , in some embodiments, the SDN controller in step S420 transfers the customer context data to one or more interaction contexts, including:
[0076] Step S421: The SDN controller determines data related to the external application in the customer context as first shared data;
[0077] Step S422: delivering the first shared data to one or more interaction contexts.
[0078] 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 is understandable 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.
[0079] 5 , in some embodiments, the method for interaction between the SDN controller and the application in the embodiment of the present application further includes:
[0080] Step S430: The SDN controller receives the processing result returned by the external application through the interaction context;
[0081] Step S440: The SDN controller transmits the processing result to the customer context, and the Network Call Controller (NCC) or SDN controller converts the processing result into configuration information and configures the configuration information to one or more management and control components.
[0082] or,
[0083] 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.
[0084] As previously known, when the AI application performs calculations based on the data passed through the interactive context and obtains a processing result (for example, an inference optimization result of the SDN network), the SDN controller receives the inference optimization result through the interactive context, and then converts the inference optimization result into configuration information in two cases. One processing method is that the NCC or SDN controller directly converts the inference optimization result into configuration information, and then configures it to one or more management and control components based on the converted configuration information. Another processing method is that the interactive context includes a first management and control component, then the inference optimization result can be converted into configuration information through the first management and control component in the interactive context, and then the converted configuration information can be configured to one or more management and control components other than the first management and control component.
[0085] 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.
[0086] 6 , in some embodiments, the method for interaction between the SDN controller and the application in the embodiment of the present application further includes:
[0087] Step S460: The SDN controller 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.
[0088] The SDN controller can open up multiple access permissions 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 can be sent to the client through the customer context. The client can then optimize based on the processing results of the AI application.
[0089] It's 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 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. Alternatively, when creating an interaction context, a portion (either only a portion or all) of the internal data of the interaction context is the internal data of the customer context. In this way, the interaction context can directly use the internal data shared with the customer context without the need for data transmission. It is understandable that the solution for whether the internal data is independent does not conflict with the aforementioned access rights and setting of shared data.
[0090] 7 , in some embodiments, the method for interaction between the SDN controller and the application in the embodiment of the present application further includes:
[0091] Step S510: When the SDN controller receives a service request from a lower-level SDN controller, the SDN controller determines, based on the service request, an external application to be called to create an interaction context, and creates a service context.
[0092] In step S520 , the SDN controller transfers the service context data to one or more interaction contexts, so as to transfer the service context data to an external application.
[0093] When an SDN controller receives a service request from a lower-level SDN controller, it determines based on the service request that it needs to call an external application, such as an AI application. It then creates an interaction context and a service context to enable access to the AI application. This can include simulating the lower-level SDN controller to provide virtual network resources to the current-level SDN controller, abstracting and reconstructing the network resources provided by the lower-level SDN controller to varying degrees, or collecting network operation data provided by the lower-level SDN controller for reasoning and analysis. The number of interaction contexts is not limited. The SDN controller determines whether to create multiple interaction contexts based on the service request. The service context then stores the data corresponding to the service request initiated by the lower-level SDN controller and passes this data to one or more interaction contexts. The AI application accesses the associated interaction context to obtain data, or the SDN controller sends data in the interaction context to the associated AI application, allowing the AI application to obtain the data passed by the service context.
[0094] 8 , in some embodiments, the SDN controller in step S520 transfers the service context data to one or more interaction contexts, including:
[0095] Step S521: The SDN controller determines data related to the external application in the service context as second shared data;
[0096] Step S522: delivering the second shared data to one or more interaction contexts.
[0097] 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. It is understandable 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.
[0098] As shown in FIG9 , in some embodiments, the method for interaction between the SDN controller and the application in the embodiment of the present application further includes:
[0099] Step S530: The SDN controller receives the processing result returned by the external application through the interaction context;
[0100] Step S540: The SDN controller transmits the processing result to the service context. 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.
[0101] or,
[0102] 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.
[0103] As previously known, when the AI application performs calculations based on the data passed from the interactive context and obtains a processing result (for example, an inference optimization result of the SDN network), the SDN controller receives the inference optimization result through the interactive context, and then converts the inference optimization result into configuration information in two cases. One processing method is to pass the inference optimization result to the service context, and the next-level SDN controller converts the inference optimization result into configuration information, or the local SDN controller directly converts the inference optimization result into configuration information, and then configures it to one or more control components based on 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 inference optimization result 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).
[0104] As shown in FIG10 , in some embodiments, the method for interaction between the SDN controller and the application in the embodiment of the present application further includes:
[0105] Step S560: The SDN controller 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.
[0106] The SDN controller can grant multiple access rights to some or all of the data in the interaction context. For example, it can share the time-series network resource change results returned by the AI application with the service context, which can then be sent to the next-level SDN controller via the service context. The next-level SDN controller can then use the AI application processing results to optimize tasks. For example, based on the inference optimization results, the next-level SDN controller can generate configuration information for specific components and assign it to specific management and control components. For example, it can assign time-series network resource changes as network topology at different time points to the routing controller (RC) component, simulating a network cutover process and thus refreshing the network topology.
[0107] 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. Alternatively, when creating an interaction context, a portion (either only a portion or all) of the internal data of the interaction context is used as the internal data of the service context. In this way, the interaction context can directly use the internal data shared with the service 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.
[0108] As shown in FIG11 , in some embodiments, the method of the embodiment of the present application further includes:
[0109] Step S600: When the SDN controller ends the interaction with the external application, the interaction context associated with the external application is deleted.
[0110] The local SDN controller determines that the access to the current external application has ended according to the interaction demand, and can delete the interaction context associated with the external application, thereby releasing data space.
[0111] 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 to help the SDN controller call the service capabilities corresponding to the external application. The interaction context carries support information to support the SDN controller to interact with the external application. The interaction context is used to pass the support information to the external application, and the data returned by the external application can also be received. The method of the embodiment of the present application supports the service requests of the client / client and the service requests of the next-level SDN controller. Based on the service request, the external application is called and the corresponding data is passed to the external application, thereby obtaining the processing result of the external application, converting the processing result into configuration information, and configuring the management and control components in the SDN, so that the service capabilities corresponding to the external application can be utilized, such as artificial intelligence technology / machine learning algorithms to improve the network management and control level of SDN, improve resource utilization and network robustness.
[0112] The following describes in detail the method for interaction between the SDN controller and the application of the present application through several embodiments.
[0113] 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 customer 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 controller, the SDN controller also defaults to the local SDN controller.
[0114] Example 1
[0115] As shown in Figure 12, the overall process of the SDN controller interacting with external AI applications through the AI context is as follows:
[0116] AIContext contains support information and / or a first management and control component for supporting AI applications, where 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.
[0117] The SDN controller creates one or more AIContexts and associates them with the AI application to be accessed. An AIContext can only be associated with one AI application, but multiple AIContexts can be associated with the same AI application. Different AIContexts are distinguished by identifiers.
[0118] When creating an AIContext, the SDN controller is configured with the authentication and authorization protocols and parameters between the SDN controller and the AI application, as well as the AI service capabilities provided by the AI application. Alternatively, the SDN controller and the AI application negotiate and determine the authentication and authorization protocols and parameters between the AI application and the SDN controller, as well as the AI service capabilities provided by the AI application. These AI application authentication and authorization protocols and parameters, as well as the AI service capabilities provided by the AI application, are stored in the AIContext.
[0119] The SDN controller saves the resource information provided to the AI application in the AIContext. This resource information may include: local resource pools, resources from one or more lower-level controllers, information provided by the management and control components, etc. This resource information can be accessed by AI applications, and the access rights are determined by the relevant authentication and authorization process; this resource information can also be sent to AI applications. The management and control component provides configuration information of this component or other management and control components, as well as 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).
[0120] The SDN controller receives the processing results (such as inference prediction optimization results) returned by the AI application and saves them in the AIContext.
[0121] 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 the 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 the RC component, time series connection creation / deletion requests configured for the CC component, virtual network resource topology configured for the RC component, link resource information configured for the LRM, etc. These configured control components implement connection scheduling, virtual network scheduling and other activities through interaction.
[0122] When the SDN controller no longer needs to access the AI services associated with the AIContext, the SDN controller can delete the corresponding AIContext.
[0123] Example 2
[0124] 13 and 14 , when the SDN controller receives a connection creation request initiated by a customer / client, the SDN controller determines that it needs to call an AI application and access the AI application service based on user needs.
[0125] The SDN controller creates one or more AIContexts (the specific process is as described in Example 1 and will not be repeated here).
[0126] To support the client, the controller creates a corresponding ClientContext, which stores information supporting the client, such as communication mode, authentication information, supported interface models, connection scheduling requests (including creation, deletion, and modification), virtual network scheduling requests (including creation, deletion, and modification), etc.
[0127] The SDN controller passes the data in the ClientContext to one or more AIContexts (as shown in Figures 13 and 14). 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.
[0128] The data passed by ClientContext to AIContext may include routing constraints, performance constraints, virtual network resources and topology, and customer service traffic change information. Based on this information, the AI application performs inference and prediction optimization activities, such as routing optimization calculations based on constraint routing, routing calculations based on performance constraints, and customer service traffic prediction. The AI application then returns the inference and prediction optimization results to the AIContext in the SDN controller.
[0129] Based on AIContext, the SDN controller converts the returned results into configuration information of the management and control components.
[0130] Specifically, the SDN controller passes the return results (such as reasoning, prediction, and optimization results) to the ClientContext (as shown in Figures 13 and 14), and the network call controller NCC or the SDN controller converts the return results into configuration information of the control components in the SDN controller, and configures the configuration information to the corresponding control components; the first control component in the AIContext can also convert the return results into 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 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 this 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 for the RC component, time series connection creation / deletion requests configured for the CC, virtual network resource topology configured for the RC component, link resource information configured for the LRM, etc.
[0131] These configured management and control components interact with each other based on the configuration information to complete the connection creation.
[0132] The above process also applies to customers initiating virtual network creation requests. The detailed process is similar and will not be repeated here.
[0133] In the above process, the SDN controller can also open up multiple access permissions to part or all of the data in the AIContext to the client corresponding to the ClientContext. For example, the routing optimization calculation results returned by the AI application can be sent to the client through the ClientContext. The client can refer to the routing optimization calculation results of the AI application for optimization.
[0134] Among them, the AI application in this embodiment can be a digital twin system with AI processing capabilities.
[0135] Example 3
[0136] 15 and 16 , 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.
[0137] The SDN controller creates a ClientContext to support interactions with clients, such as when a client initiates a connection creation request. The SDN controller determines the AI application services that require access based on user needs and then creates one or more AIContexts (as described in Example 1, which will not be repeated here).
[0138] The SDN controller passes the data in the ClientContext to one or more AIContexts. 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.
[0139] 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.
[0140] The data passed by ClientContext to AIContext may include routing constraints, performance constraints, virtual network resources and topology, and customer service traffic change information. Based on this information, the AI application performs inference and prediction optimization activities, such as routing optimization calculations based on constraint routing, routing calculations based on performance constraints, and customer service traffic prediction. The AI application then returns the inference and prediction optimization results to the AIContext in the SDN controller.
[0141] The SDN controller can grant access to all AIContext data (as shown in Figure 15) to the client corresponding to the ClientContext. Alternatively, the controller can grant multiple access rights to some data within the AIContext (as shown in Figure 16), while denying access to some data to the ClientContext. For example, if the routing optimization calculation results returned by an AI application are sent to the client, the client can use the AI application's processing results to perform optimizations.
[0142] Based on AIContext, the SDN controller converts the returned results into configuration information of the management and control components.
[0143] 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 control component in the SDN controller, and the configuration information is configured to the corresponding control component; the first control component in the AIContext can also convert the return results 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 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 this 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 for the RC component, time series connection creation / deletion requests configured for the CC, virtual network resource topology configured for the RC component, link resource information configured for the LRM, etc.
[0144] These configured management and control components interact with each other based on the configuration information to complete the connection creation.
[0145] The above process also applies to customers initiating virtual network creation requests. The detailed process is similar and will not be repeated here.
[0146] In the above process, the SDN controller can also open up multiple access permissions to part or all of the data in the AIContext to the client corresponding to the ClientContext. For example, the routing optimization calculation results returned by the AI application can be sent to the client through the ClientContext. The client can refer to the processing results of the AI application for optimization.
[0147] The AI application in this embodiment can be a digital twin system with AI processing capabilities.
[0148] Example 4
[0149] As shown in Figure 17, 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, or collecting network operation data provided by the next-level SDN controller for reasoning and analysis.
[0150] The SDN controller passes the data in the ServerContext to one or more AIContexts. 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.
[0151] 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.
[0152] Based on the acquired virtual network resources and network resource change sequences, AI applications can perform 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.
[0153] 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 the network topology at different time points to the routing controller RC component to achieve the purpose of simulating network cutover activities and refreshing the network topology.
[0154] The AI application in this embodiment can be a digital twin system with AI processing capabilities.
[0155] Example 5
[0156] 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.
[0157] One or more AIContexts that interact with a given ServerContext are available as part of that ServerContext.
[0158] The SDN controller passes the data in the ServerContext to one or more AIContexts. 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 ServerContext.
[0159] The data passed by ServerContext to AIContext may include virtual network resources, network resource change sequences, etc.
[0160] The SDN controller can share AI application-related data in ServerContext with one or more AIContexts, such as sharing the virtual network resources allocated in ServerContext and the network resource change sequence with AIContext, so that AI applications can perform reasoning simulation of network resources.
[0161] Based on the acquired virtual network resources and network resource change sequences, AI applications can perform 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.
[0162] The SDN controller can open up multiple access permissions to part or all of the data in the AIContext to the next-level SDN controller corresponding to the 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.
[0163] The SDN controller can grant full access to the AIContext (as shown in Figure 18) to the next-level SDN controller corresponding to the ServerContext. Alternatively, the SDN controller can grant multiple access permissions to some data in the AIContext (as shown in Figure 19), while denying access to some data to the ServerContext. For example, if the time-series network resource change results returned by the AI application are sent to the next-level SDN controller, the next-level SDN controller can use the AI application's processing results to optimize tasks.
[0164] 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 the network topology at different time points to the routing controller RC component to simulate the network cutover process and thus realize the refresh of the network topology.
[0165] The AI application in all embodiments of this application can be a digital twin system with AI processing capabilities.
[0166] An embodiment of the present application also provides a device for interacting an SDN controller with 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 to enable the at least one processor to execute the aforementioned method for interacting with the SDN controller with the application.
[0167] 20 , the control processor 1001 and the memory 1002 in the device 1000 for interaction between the SDN controller and the application can be connected via a bus as an example. 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 memory device. In some embodiments, the memory 1002 may optionally include a memory remotely located 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.
[0168] Those skilled in the art will understand that the device structure shown in FIG20 does not constitute a limitation on the device 1000 for interaction between an SDN controller and an application, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0169] An embodiment of the present application also provides a computer-readable storage medium, which stores computer-executable instructions. The computer-executable instructions are executed by one or more control processors, for example, by a control processor 1001 in Figure 20, so that the one or more control processors can execute the method of interaction between the SDN controller and the application in the above method embodiment.
[0170] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, i.e., they may be located in one place or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of this embodiment.
[0171] Those skilled in the art will appreciate that all or some of the steps and systems in the method disclosed above can be implemented as software, firmware, hardware, and appropriate combinations thereof. Some physical components or all physical components can be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium, and the computer-readable medium can include computer storage media (or non-transitory media) and communication media (or temporary media). As known to those skilled in the art, the term computer storage media is included in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data) and is volatile and non-volatile, removable, and non-removable. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory, or other memory technology, 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 can be used to store desired information and can be accessed by a computer. Furthermore, as is well known to those skilled in the art, 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.
[0172] The above is a specific description of several implementations of the present application, but the present application is not limited to the above-mentioned implementation methods. Technical personnel familiar with the art can also make various equivalent modifications or substitutions without violating the essence of the present application. These equivalent modifications 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, comprising: 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, further comprising: The SDN controller receives the processing result returned by the external application through the interaction context.
3. The method according to claim 2, wherein: 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, further comprising: 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, wherein: The supporting information includes at least one of the following: The authentication and authorization protocol 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, wherein: 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, wherein: 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, wherein: 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, further comprising: When the SDN controller receives a service request initiated by a 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, further comprising: 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 client context, and the network call controller or the SDN The 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, further comprising: The SDN controller 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, wherein: 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, wherein: 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, further comprising: 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, further comprising: 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, further comprising: The SDN controller 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, wherein: 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, wherein: 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 of claim 1, further comprising: When the SDN controller ends the interaction with the external application, the interaction context associated with the external application is deleted. arts.
20. The method according to any one of claims 1 to 19, wherein: 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, 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 an SDN controller and an application as described in any one of claims 1 to 20.
22. A computer-readable storage medium storing computer-executable instructions, wherein the computer-executable instructions are used to enable a computer to execute the method for interaction between an SDN controller and an application according to any one of claims 1 to 20.
Citation Information
Patent Citations
Network element and method of running applications in a cloud computing system
CN105556929A
Method and controller for chaining applications in a software defined network
CN105793823A
Sensor for measuring salinity in air using corona discharge and VLF signal
KR102158478B1
Contextual routing for directing requests to different versions of an application
US10630808B1
Vehicle network apparatus and operation method thereof
US20200014620A1