CN114760199B - SDN-based network configuration information issuing method, system and storage medium - Google Patents

SDN-based network configuration information issuing method, system and storage medium Download PDF

Info

Publication number
CN114760199B
CN114760199B CN202210302813.0A CN202210302813A CN114760199B CN 114760199 B CN114760199 B CN 114760199B CN 202210302813 A CN202210302813 A CN 202210302813A CN 114760199 B CN114760199 B CN 114760199B
Authority
CN
China
Prior art keywords
network
configuration information
network configuration
sdn
feature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210302813.0A
Other languages
Chinese (zh)
Other versions
CN114760199A (en
Inventor
宋姝雨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202210302813.0A priority Critical patent/CN114760199B/en
Publication of CN114760199A publication Critical patent/CN114760199A/en
Application granted granted Critical
Publication of CN114760199B publication Critical patent/CN114760199B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting

Abstract

The invention discloses a network configuration information issuing method, system and storage medium based on SDN. Wherein the method comprises the following steps: acquiring multiple groups of network configuration information from a Software Defined Network (SDN), wherein the network configuration information is used for representing operations performed on the SDN; adding network feature data to each group of network configuration information to generate a plurality of groups of network configuration information, wherein the network feature data at least comprises: the network feature type is used for representing the type of SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration; acquiring network feature types and feature values under the network feature types in mutually independent multiple groups of network configuration information; and issuing corresponding network configuration information to the associated network equipment based on the acquired network characteristic type and the characteristic value under the network characteristic type. The invention solves the technical problem that the reliability of the network configuration information distribution can not be ensured.

Description

SDN-based network configuration information issuing method, system and storage medium
Technical Field
The invention relates to the field of computers, in particular to a network configuration information issuing method, system and storage medium based on SDN.
Background
At present, in a large-scale software defined network (Software Defined Networking, abbreviated as SDN) network scenario, a manner of issuing network configuration information to an OpenFlow device by an SDN controller is generally specified by a network communication protocol (for example, openFlow protocol), but the above method has a technical problem that reliability of issuing the network configuration information cannot be ensured.
In view of the above problems, no effective solution has been proposed at present.
Disclosure of Invention
The embodiment of the invention provides a network configuration information issuing method, system and storage medium based on SDN, which at least solve the technical problem that the reliability of issuing the network configuration information cannot be ensured.
According to an aspect of an embodiment of the present invention, a network configuration information issuing method based on SDN is provided. The method may include: acquiring multiple groups of network configuration information from a Software Defined Network (SDN), wherein the network configuration information is used for representing operations performed on the SDN; adding network feature data to each set of network configuration information to generate a plurality of sets of network configuration information, wherein the network configuration information is used for characterizing SDN network configuration enabling the operation to be effective in the SDN, and the network feature data at least comprises: the network feature type is used for representing the type of SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration; acquiring network feature types and feature values under the network feature types in mutually independent multiple groups of network configuration information; and issuing corresponding network configuration information to the associated network equipment based on the acquired network characteristic type and the characteristic value under the network characteristic type.
According to an aspect of the embodiment of the invention, another network configuration information issuing method based on SDN is also provided. The method may include: acquiring multiple groups of network transformation information from the software defined network SDN by calling a first interface, wherein the first interface comprises a first parameter, a parameter value of the first parameter is network transformation information, and the network transformation information is used for representing operations performed on the SDN; adding network feature data to each set of network configuration information to generate a plurality of sets of network configuration information, wherein the network configuration information is used for characterizing SDN network configuration enabling the operation to be effective in the SDN, and the network feature data at least comprises: the network feature type is used for representing the type of SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration; acquiring network feature types and feature values under the network feature types in mutually independent multiple groups of network configuration information; based on the obtained network characteristic type and the characteristic value under the network characteristic type, corresponding network configuration information is issued to the associated network equipment, and an issuing result is obtained; and outputting the issuing result by calling a second interface, wherein the second interface comprises a second parameter, and the parameter value of the second parameter is the issuing result.
According to an aspect of the embodiment of the present invention, there is further provided an SDN-based network configuration information issuing device. The apparatus may include: a first obtaining unit, configured to obtain multiple sets of network reconfiguration information from a software defined network SDN, where the network reconfiguration information is used to characterize an operation performed on the SDN; a first generating unit, configured to add network feature data to each set of network configuration information, and generate multiple sets of network configuration information, where the network configuration information is used to characterize an SDN network configuration that makes the above operation take effect in an SDN, and the network feature data at least includes: the network feature type is used for representing the type of SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration; the first determining unit is used for acquiring network characteristic types and characteristic values under the network characteristic types in the mutually independent multiple groups of network configuration information; the first issuing unit is used for issuing corresponding network configuration information to the associated network equipment based on the acquired network characteristic type and the characteristic value under the network characteristic type.
According to an aspect of the embodiment of the present invention, another network configuration information issuing device based on SDN is also provided. The apparatus may include: a second obtaining unit, configured to obtain multiple sets of network reconfiguration information from the software defined network SDN by calling a first interface, where the first interface includes a first parameter, a parameter value of the first parameter is network reconfiguration information, and the network reconfiguration information is used to characterize an operation performed on the SDN; a second generating unit, configured to add network feature data to each set of network configuration information, and generate multiple sets of network configuration information, where the network configuration information is used to characterize an SDN network configuration that makes the above operation take effect in an SDN, and the network feature data at least includes: the network feature type is used for representing the type of SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration; the second determining unit is used for acquiring the network characteristic types and the characteristic values under the network characteristic types in the plurality of groups of mutually independent network configuration information; the second issuing unit is used for issuing corresponding network configuration information to the associated network equipment based on the acquired network characteristic type and the characteristic value under the network characteristic type to obtain an issuing result; and the output unit is used for outputting the issuing result by calling a second interface, wherein the second interface comprises a second parameter, and the parameter value of the second parameter is the issuing result.
According to another aspect of the embodiment of the present invention, there is also provided a network configuration information issuing system based on SDN, including: a software defined network SDN controller configured to obtain a plurality of sets of network provisioning information from the software defined network SDN, where the network provisioning information is used to characterize operations performed on the SDN; adding network feature data to each set of network configuration information to generate a plurality of sets of network configuration information, wherein the network configuration information is used for characterizing SDN network configuration enabling the operation to be effective in the SDN, and the network feature data at least comprises: the network feature type is used for representing the type of SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration; acquiring network feature types and feature values under the network feature types in mutually independent multiple groups of network configuration information; issuing network configuration information based on the feature type and the feature value; and the network equipment receives the network configuration information.
According to another aspect of the embodiment of the present invention, there is further provided a computer readable storage medium, where the computer readable storage medium includes a stored program, and when the program runs, the device where the storage medium is controlled to execute any one of the above network configuration information issuing methods based on SDN.
According to another aspect of the embodiment of the present invention, there is further provided a processor, configured to run a program, where any one of the above-mentioned SDN-based network configuration information issuing methods is executed when the program runs.
In the embodiment of the invention, multiple sets of network configuration information are acquired from a Software Defined Network (SDN), wherein the network configuration information is used for representing operations performed on the SDN; adding network feature data to each set of network configuration information to generate a plurality of sets of network configuration information, wherein the network configuration information is used for characterizing SDN network configuration enabling the operation to be effective in the SDN, and the network feature data at least comprises: the network feature type is used for representing the type of SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration; acquiring network feature types and feature values under the network feature types in mutually independent multiple groups of network configuration information; and issuing corresponding network configuration information to the associated network equipment based on the acquired network characteristic type and the characteristic value under the network characteristic type. That is, by adding the feature type and the feature value to the network configuration information, the network configuration information of different feature values and feature types are mutually independent, and when the network configuration information of a certain feature value fails to be issued, the issuing of the network configuration information of other feature values is not influenced, so that the reliability of issuing the network configuration information is ensured, the technical problem that the reliability of issuing the network configuration information cannot be ensured is solved, and the technical effect that the reliability of issuing the network configuration information can be ensured is realized.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiments of the invention and together with the description serve to explain the invention and do not constitute a limitation on the invention. In the drawings:
fig. 1 is a hardware block diagram of a computer terminal (or mobile device) based on an SDN-based network configuration information delivery method according to an embodiment of the present invention;
FIG. 2 is a block diagram of a computing environment of an SDN-based network configuration information delivery method according to an embodiment of the present invention;
fig. 3 is a block diagram of a network configuration information issuing method based on SDN according to an embodiment of the present invention;
fig. 4 is a flowchart of a network configuration information issuing method based on SDN according to an embodiment of the present invention;
fig. 5 is a flowchart of another SDN based network configuration information delivery method in accordance with an embodiment of the invention;
fig. 6 is a schematic diagram of an SDN based network configuration information issuing device according to an embodiment of the present invention;
fig. 7 is a schematic diagram of another SDN based network configuration information delivery device in accordance with an embodiment of the present invention;
fig. 8 is a block diagram of a computer terminal according to an embodiment of the present invention.
Detailed Description
In order that those skilled in the art will better understand the present invention, a technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in which it is apparent that the described embodiments are only some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the present invention without making any inventive effort, shall fall within the scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and the claims of the present invention and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the invention described herein may be implemented in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
First, partial terms or terminology appearing in describing embodiments of the present application are applicable to the following explanation:
a software defined network (Software Defined Networking, abbreviated as SDN) is a novel network architecture that uses network protocols to separate the control plane of a router from the data plane, implemented in software, thereby enabling centralized management of the control plane that will be distributed across the various network devices;
a Gateway (GW) may also be called an intersystem connector, a protocol converter, and implement network interconnection above a network layer, which is a complex network connection device and is only used for network interconnection of two higher-layer protocols, in this application, an SDN Gateway is specified;
a software defined network controller (SDN controller), which is an application program in a software defined network and is responsible for controlling flow so as to ensure an intelligent network, arranging data plane resources, maintaining network topology and state information and the like;
the configuration issuing can be that the network configuration information can be issued along with the position change of the virtual machine;
version number (version), which is an identification number of a version, is provided for each operating system, and is used to make a user know whether the operating system used is the latest version and the functions and facilities provided by the same, wherein the version number can be divided into a major version number and a minor version number.
Example 1
According to an embodiment of the present invention, an embodiment of a network configuration information issuing method based on SDN is provided, it should be noted that the steps illustrated in the flowchart of the drawing may be performed in a computer system such as a set of computer executable instructions, and, although a logical order is illustrated in the flowchart, in some cases, the steps illustrated or described may be performed in an order different from that herein.
The method embodiment provided in the first embodiment of the present application may be executed in a mobile terminal, a computer terminal or a similar computing device. Fig. 1 is a hardware block diagram of a computer terminal (or mobile device) based on an SDN network configuration information delivery method according to an embodiment of the present invention. As shown in fig. 1, the computer terminal 10 (or mobile device 10) may include one or more (shown as 102a, 102b, … …,102 n) processors (which may include, but are not limited to, a microprocessor MCU or a processing device such as a programmable logic device FPGA), a memory 104 for storing data, and a transmission module 106 for communication functions. In addition, the method may further include: a display, an input/output interface (I/O interface), a Universal Serial BUS (USB) port (which may be included as one of the ports of the BUS), a network interface, a power supply, and/or a camera. It will be appreciated by those of ordinary skill in the art that the configuration shown in fig. 1 is merely illustrative and is not intended to limit the configuration of the electronic device described above. For example, the computer terminal 10 may also include more or fewer components than shown in FIG. 1, or have a different configuration than shown in FIG. 1.
It should be noted that the one or more processors and/or other signal processing circuits described above may be referred to herein generally as "SDN based network configuration information delivery circuitry". The SDN based network configuration information delivery circuitry may be embodied in whole or in part as software, hardware, firmware, or any other combination. Further, the SDN based network configuration information delivery circuit may be a single, independent processing module, or incorporated in whole or in part into any of the other elements in the computer terminal 10 (or mobile device). As referred to in the embodiments of the present application, the SDN based network configuration information is used as a processor control (e.g. selection of a variable resistor termination path for interfacing).
The memory 104 may be configured to store software programs and modules of application software, such as a program instruction/data storage device corresponding to an SDN-based network configuration information issuing method in an embodiment of the present invention, and the processor executes various functional applications and SDN-based network configuration information issuing by running the software programs and modules stored in the memory 104, thereby implementing the SDN-based network configuration information issuing method. Memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include memory located remotely from the processor, which may be connected to the computer terminal 10 via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission means 106 is arranged to receive or transmit data via a network. The specific examples of the network described above may include a wireless network provided by a communication provider of the computer terminal 10. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, NIC) that can connect to other network devices through a base station to communicate with the internet. In one example, the transmission device 106 may be a Radio Frequency (RF) module for communicating with the internet wirelessly.
The display may be, for example, a touch screen type Liquid Crystal Display (LCD) that may enable a user to interact with a user interface of the computer terminal 10 (or mobile device).
The hardware block diagram shown in fig. 1 may be used not only as an exemplary block diagram of the computer terminal 10 (or mobile device) described above, but also as an exemplary block diagram of the server described above, and in an alternative embodiment, fig. 2 shows, in block diagram form, one embodiment of using the computer terminal 10 (or mobile device) shown in fig. 1 described above as a computing node in a computing environment 201. Fig. 2 is a block diagram of a computing environment of an SDN based network configuration information delivery method according to an embodiment of the present invention, as shown in fig. 2, the computing environment 201 includes a plurality of computing nodes (e.g., servers) running on a distributed network (shown as 210-1, 210-2, …). Each computing node contains local processing and memory resources and end user 202 may run applications or store data remotely in computing environment 201. The application may be provided as a plurality of services 220-1, 220-2, 220-3, and 220-4 in computing environment 201, representing services "A", "D", "E", and "H", respectively.
End user 202 may provide and access services through a web browser or other software application on a client, in some embodiments, provisioning and/or requests of end user 202 may be provided to portal gateway 230. Ingress gateway 230 may include a corresponding agent to handle provisioning and/or request for service 220 (one or more services provided in computing environment 201).
Services 220 are provided or deployed in accordance with various virtualization techniques supported by computing environment 201. In some embodiments, service 220 may be provided in accordance with Virtual Machine (VM) based virtualization, container based virtualization, and/or the like. Virtual machine-based virtualization may be the emulation of a real computer by initializing a virtual machine, executing programs and applications without directly touching any real hardware resources. While a virtual machine virtualizes a machine, according to container-based virtualization, a container may be started to virtualize the entire Operating System (OS) so that multiple workloads may run on a single operating system instance.
In one embodiment based on container virtualization, several containers of service 220 may be assembled into one POD (e.g., kubernetes POD). For example, as shown in FIG. 2, the service 220-2 may be equipped with one or more PODs 240-1, 240-2, …,240-N (collectively PODs 240). Each POD240 may include an agent 245 and one or more containers 242-1, 242-2, …,242-M (collectively referred to as containers 242). One or more containers 242 in the POD240 handle requests related to one or more corresponding functions of the service, and the agent 245 generally controls network functions related to the service, such as routing, load balancing, etc. Other services 220 may also accompany PODs similar to POD 240.
In operation, executing a user request from end user 202 may require invoking one or more services 220 in computing environment 201, executing one or more function pits of one service 220, and invoking one or more functions of another service 220. As shown in FIG. 2, service "A"220-1 receives a user request of end user 202 from ingress gateway 230, service "A"220-1 may invoke service "D"220-2, and service "D"220-2 may request service "E"220-3 to perform one or more functions.
The computing environment may be a cloud computing environment, and the allocation of resources is managed by a cloud service provider, allowing the development of functions without considering the implementation, adjustment or expansion of the server. The computing environment allows developers to execute code that responds to events without building or maintaining a complex infrastructure. Instead of expanding a single hardware device to handle the potential load, the service may be partitioned to a set of functions that can be automatically scaled independently.
In another alternative embodiment, FIG. 3 illustrates in block diagram form one embodiment of using the computer terminal 10 (or mobile device) illustrated in FIG. 1 described above as a service grid. Fig. 3 is a block diagram of a network configuration information issuing method based on SDN, as shown in fig. 3, where the service grid 300 is mainly used to facilitate secure and reliable communication between a plurality of micro services, and the micro services are used to break up an application into a plurality of smaller services or instances and run on different clusters/machines.
As shown in fig. 3, the micro-services may include an application service instance a and an application service instance B, which form a functional application layer of the service grid 300. In one embodiment, application service instance A runs in the form of container/process 308 on machine/workload container set 314 (POD) and application service instance B runs in the form of container/process 310 on machine/workload container set 316 (POD).
In one embodiment, application service instance a may be a commodity query service and application service instance B may be a commodity ordering service.
As shown in fig. 3, application service instance a and grid agent (sidecar) 303 coexist in machine workload container set 614 and application service instance B and grid agent 305 coexist in machine workload container 314. Grid agent 303 and grid agent 305 form a data plane layer (dataplane) of service grid 300. Wherein grid agent 303 and grid agent 305 are each in the form of a container/process 304, container/process 304 may receive a request 312 for conducting a commodity query service, grid agent 306 is running, and grid agent 303 and application service instance a may communicate bi-directionally, and grid agent 305 and application service instance B may communicate bi-directionally. In addition, two-way communication is also possible between the grid agent 303 and the grid agent 305.
In one embodiment, all traffic for application service instance A is routed through grid agent 303 to the appropriate destination and all network traffic for application service instance B is routed through grid agent 305 to the appropriate destination. It should be noted that, the network traffic mentioned herein includes, but is not limited to, hypertext transfer protocol (Hyper Text Transfer Protocol, abbreviated as HTTP), representational state transfer (Representational State Transfer, abbreviated as REST), high performance, general purpose open source framework (gRPC), data structure storage system in open source memory (Redis), and the like.
In one embodiment, the functionality of the extended data plane layer may be implemented by writing custom filters (filters) for agents (envoys) in the service grid 300, which may be configured to enable the service grid to properly proxy service traffic for service interworking and service remediation. Grid agent 303 and grid agent 305 may be configured to perform at least one of the following functions: service discovery (servicediscovery), health checking (health checking), routing (Routing), load balancing (LoadBalancing), authentication and authorization (authenticationand authorization), and observability (observability).
As shown in fig. 3, the service grid 300 also includes a control plane layer. Wherein the control plane layer may be a set of services running in a dedicated namespace, hosted by the hosting control plane component 301 in the machine/workload container set (machine/Pod) 302. As shown in fig. 3, managed control plane component 301 is in bi-directional communication with grid agent 303 and grid agent 305. Managed control plane component 301 is configured to perform some control management functions. For example, managed control plane component 301 receives telemetry data transmitted by grid agent 303 and grid agent 305, which may be further aggregated. These services, managed control plane component 301 may also provide user-oriented Application Program Interfaces (APIs) to facilitate manipulation of network behavior, provide configuration data to grid agents 303 and 305, and the like.
In the above operating environment, the present application provides an SDN-based network configuration information issuing method as shown in fig. 4. Fig. 4 is a flowchart of a network configuration information issuing method based on SDN according to an embodiment of the present invention, as shown in fig. 4, the method may include the following steps:
Step S402, acquiring multiple sets of network configuration information from the software defined network SDN, where the network configuration information is used to characterize operations performed on the SDN.
In the technical solution provided in the above step S402 of the present invention, when the network is changed, the software defined network SDN generates the change configuration information, and obtains multiple sets of network change configuration information from the software defined network SDN, where the network change configuration information is used to characterize an operation performed on the SDN and may be used to represent an operation performed on the network by a user, for example, creating a virtual machine, adding a route, and so on.
Optionally, in a large-scale SDN network scenario (e.g., VPC network), a large amount of network reconfiguration information is generated every second, where the network reconfiguration information may be used to perform operations on its network by a user, such as creating a virtual machine, adding a route, etc., because the network reconfiguration information is functionally programmed by the SDN controller at the center, so that multiple sets of network reconfiguration information are obtained from the software defined network SDN.
Step S404, adding network feature data to each set of network configuration information to generate a plurality of sets of network configuration information, wherein the network configuration information is used for characterizing SDN network configuration enabling the operation to be effective in the SDN.
In the technical solution provided in the step S404 of the present invention, the network characteristic data at least includes: the network feature type is used for representing the type of the SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration.
In this embodiment, a network feature type may be specified for different types of network configuration information, and the network feature type may be a non-duplicate value, such as 1,2,3, etc.; a non-repeating string is also possible, such as a flexible internet protocol address (Elastic IP Address, abbreviated as eip), a tunnel protocol (tunnel), etc.; for the network configuration information, a specific characteristic value calculation method is used according to the specified network characteristic type.
For example, in creating network configuration information under the network configuration information such as VPC, the network configuration information to be generated may be the VPC configuration of the VPC may be the address (vxlan id) of the virtual extended lan, where the network feature type of the VPC configuration is "VPC", and the feature value is vxlan id, for example, in a multi-tenant network (for example, VPC network) scenario, different VPCs of different tenants are isolated by using the virtual extended lan (virtual extensible local area network, abbreviated as vxlan) technology, and each VPC has a unique address of the virtual extended lan.
For another example, in the network on the cloud, the PUBLIC network address is a globally unique address, and in the network reconfiguration scenario that the user binds the PUBLIC network address to his virtual machine, the network configuration information to be generated is the binding relationship between the virtual machine and the PUBLIC network IP, which may be called PUBLIC network address configuration, and the network feature type of the PUBLIC network address configuration may be specified as "public_address" (for example, "public_ip"), and the feature value of the PUBLIC network address configuration is a value after the address is converted into integer.
After acquiring the plurality of sets of network configuration information, network feature data may be added to each set of network configuration information to generate a plurality of sets of network configuration information, where the network configuration information may be used to characterize an SDN network configuration that validates the operation in the SDN, where the network configuration information may include: protocol number (protocol number), protocol content (fields), network feature type (key type) and feature value (key value), which may be virtual private cloud (Vitual Private Cloud, simply referred to as VPC) configuration information, public network address configuration information, may be used to enable network configuration information of a user network to be actually validated, and configuration items generated on a device.
Optionally, in a large-scale SDN network scenario, a large amount of network reconfiguration information is generated every second, and the network reconfiguration information is functionally programmed by an SDN controller in the center, so as to generate network configuration information and send the network configuration information to the forwarding device through a protocol.
For example, the network configuration information under creation of the VPC network configuration information may be the VPC configuration information of the VPC, and the generated network configuration information may be an address (vxlan id) of the virtual extended lan.
Step S406, obtaining the network characteristic types and the characteristic values under the network characteristic types in the mutually independent multiple groups of network configuration information.
In the technical solution provided in the above step S406 of the present invention, when the network is changed, the SDN controller generates network configuration information, adds network feature data to each set of network configuration information, generates multiple sets of network configuration information, obtains the network feature types and feature values under the network feature types in the multiple sets of network configuration information that are independent of each other,
step S408, corresponding network configuration information is issued to the associated network equipment based on the acquired network feature type and the feature value under the network feature type.
In the technical solution provided in the above step S408 of the present invention, the SDN issues configurations having the same feature value and feature type, and issues network configuration information in batches to the associated network device, where the associated network device may be a cloud gateway device.
Optionally, the SDN obtains network configuration information to be issued, issues configurations with the same feature value and network feature type, and issues the configurations to the cloud gateway device in batches, where the issuing content may include the network configuration information and a version number of the configuration.
Acquiring multiple sets of network configuration information from the software defined network SDN through steps S402 to S408 in the present application, where the network configuration information is used to characterize operations performed on the SDN; adding network feature data to each set of network configuration information to generate a plurality of sets of network configuration information, wherein the network configuration information is used for characterizing SDN network configuration enabling the operation to be effective in the SDN, and the network feature data at least comprises: the network feature type is used for representing the type of SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration; acquiring network feature types and feature values under the network feature types in mutually independent multiple groups of network configuration information; and issuing corresponding network configuration information to the associated network equipment based on the acquired network characteristic type and the characteristic value under the network characteristic type. That is, by adding the network feature type and the feature value to the network configuration information, the network configuration information of different feature values and network feature types are mutually independent, and when the network configuration information of a certain feature value fails to be issued, the issuing of the network configuration information of other feature values is not influenced, so that the reliability of issuing the network configuration information is ensured, the technical problem that the reliability of issuing the network configuration information cannot be ensured is solved, and the technical effect that the reliability of issuing the network configuration information can be ensured is realized.
The above-described method of this embodiment is further described below.
As an optional implementation manner, step S408, based on the obtained network feature type and the feature value under the network feature type, issues corresponding network configuration information to the associated network device, including: ordering multiple groups of network configuration information with the same network characteristic type and the same characteristic value; and at least sequentially issuing the ordered multiple groups of network configuration information to the associated network equipment.
In this embodiment, the SDN obtains network configuration information, orders the network configuration information with the same feature value and network feature type, and then issues the network configuration information in batches onto the associated network device.
Optionally, the SDN may record version numbers of the generated network configuration information according to a time sequence, where the version numbers start from 1, the first generated configuration version number is 1, then the generated configuration version numbers are sequentially 2,3,4, and so on, sort the network configuration information with the same feature value and network feature type according to the size of the version number (version), and sequentially issue the sorted multiple groups of network configuration information to the associated network device.
As an alternative embodiment, ordering multiple sets of network configuration information having the same network feature type and the same feature value includes: and ordering the multiple groups of network configuration information according to the version numbers of the multiple groups of network configuration information.
In this embodiment, the SDN obtains network configuration information, orders the network configuration information according to the order of version numbers from small to large for the network configuration information with the same feature value and network feature type, and then issues the network configuration information to the associated network device in batches, where the issue content includes the network configuration information and the version number of the network configuration information, and the version number is used to indicate what version the network configuration information is.
Optionally, the sequentially increasing version numbers are maintained for the configuration with the same network feature type and feature value, so as to achieve the purpose that different tenant configuration issues have no influence on each other.
For example, the SDN may record version numbers of the generated network configuration information according to a time sequence, where the version numbers start from 1, the first generated configuration version number is 1, then the generated configuration version numbers are sequentially 2,3,4, and so on, and the ordered multiple sets of network configuration information may be sequentially issued to the associated network devices according to the order of 1,2,3, and 4.
As an optional implementation manner, the version numbers of the multiple sets of network configuration information include multiple version numbers that are sequentially increased, the multiple version numbers are in one-to-one correspondence with the multiple sets of network configuration information, and the multiple sets of network configuration information are ordered according to the version numbers of the multiple sets of network configuration information, including: and sequencing the multiple groups of network configuration information according to the multiple version numbers which are sequentially increased.
In this embodiment, the version numbers of the plurality of sets of network configuration information include a plurality of version numbers sequentially increasing, the plurality of version numbers correspond to the plurality of sets of network configuration information one by one, and the plurality of sets of network configuration information are ordered according to the version numbers of the plurality of sets of network configuration information and the plurality of version numbers sequentially increasing.
Optionally, an independent sequentially increasing version number is maintained for configurations having the same network feature type and feature value, so that configuration version numbers of different feature values and network feature types are independent of each other and do not affect each other.
As an optional implementation manner, at least sequentially issuing the ordered multiple sets of network configuration information to the associated network device includes: and sequentially issuing the ordered multiple groups of network configuration information and version numbers of each group of network configuration information to associated network equipment.
In this embodiment, after receiving the network configuration information, determining a version number corresponding to the network configuration information, and sequentially issuing the sequenced multiple groups of network configuration information and version numbers of each group of network configuration information to the network device, where for each piece of network configuration information, whether a version number record exists locally or not may be searched by using a network feature type and a feature value as an index.
Optionally, after receiving the network configuration information, sequentially analyzing the network configuration information, searching version numbers corresponding to the network configuration information by using the network feature type and the feature value as indexes for each piece of network configuration information, and sequentially issuing the sequenced multiple groups of network configuration information and the determined version numbers of each group of network configuration information to the associated network equipment.
Optionally, multiple message formats may be adopted between the SDN and the network device proxy, for example, a gateway proxy (XGW Agent), for example, the SDN sequences network configuration information into a binary message format, then the network device proxy may deserialize according to a protocol format to obtain network configuration information that can be identified by a program after receiving the binary sequence, the network device proxy sequentially parses the configuration content after receiving the network configuration information, for each configuration, the local area of the network device proxy determines the currently effective maximum version number by using the network feature type and feature value as a unique index, and sequentially issues the sorted multiple sets of network configuration information and the version number of each determined set of network configuration information to the associated network device.
As an optional implementation manner, a success notification message from the associated network device is received, wherein the success notification message is used for indicating that each group of network configuration information is successfully issued to the associated network device; or receiving a failure notification message from the associated network device, wherein the failure notification message is used for indicating that each group of network configuration information issues a failure to the associated network device.
In this embodiment, if the version number corresponding to the current network configuration information is equal to the local version number plus 1, it may be indicated that the associated network device may successfully receive the message, and a success notification message received by the associated network device may be returned, which may be used to indicate that each group of network configuration information issues success to the associated network device, for example, a "correct" message may be returned, which indicates that the associated network device may successfully receive the message, so as to indicate that the associated network device receives the success notification message; if the version number corresponding to the current network configuration information is not equal to the local version number plus 1, it may be indicated that the associated network device cannot successfully receive the version number, and a failure notification message may be returned to the associated network device, for example, a "failure" message may be returned, which is used to indicate that each group of network configuration information fails to issue to the associated network device.
As an alternative embodiment, receiving a success notification message from an associated network device includes: if the version number of each set of issued network configuration information is equal to the sum of the version number of the current network configuration information locally stored by the associated network device and a preset value, receiving a success notification message, wherein the version number of the current network configuration information is updated into the version number of each set of issued network configuration information by the associated network device; and/or receiving a failure notification message from an associated network device, comprising: if the version number of each set of network configuration information is not equal to the sum of the version number of the current network configuration information and a predetermined value, a failure notification message is received.
In this embodiment, after receiving the network configuration information, the proxy end of the network device sequentially analyzes the configuration content, for each piece of network configuration information, uses the network feature type and the feature value as indexes to find whether a version number record exists locally, if not, stores the version number of the current configuration as an initial version number, if so, determines whether the version number of the current network configuration information is equal to the sum of the local version number and a predetermined value, if so, receives the configuration to increase the local version number by 1, and returns a success notification message, wherein the predetermined value may be a value set in advance, for example, may be 1, and it is to be noted that the present description is only given by way of example and not specific limitation.
Optionally, after receiving the network configuration information, the proxy end of the network device sequentially analyzes the configuration content, for each piece of network configuration information, uses the network feature type and the feature value as indexes to find whether a version number record exists locally, if not, the version number of the current configuration is stored as an initial version number, if so, whether the version number of the current network configuration information is equal to the sum of the local version number and 1 is judged, if so, the local version number is added with 1 by receiving the configuration, and a success notification message is returned, which can indicate that each group of network configuration information is successfully delivered to the associated network device, the success notification message can be a "correct" message, otherwise, the failure notification message is directly returned, which can indicate that each group of network configuration information is failed to be delivered to the associated network device, and the failure notification message can be an "error" message.
As an alternative embodiment, each set of network configuration information corresponding to the success notification message is marked.
In this embodiment, the SDN maintains a version number that is sequentially incremented for configurations having the same network feature type and feature value, and uses a version number mechanism to ensure that the configurations are successfully delivered to the associated network device, and marks each set of network configuration information corresponding to the success notification message, which may be marked as completed.
As an alternative embodiment, if the associated network device does not store the version number of the current network configuration information locally, the version number of each set of configuration information issued is stored by the network device.
In this embodiment, if the associated network device does not locally store the version number of the current network configuration information, the version number of each set of configuration information issued is stored by the associated network device, e.g., the version number of the current configuration is stored as an initial version number.
As an alternative embodiment, the network feature type and feature value are used to determine whether the associated network device stores the version number of the current network configuration information locally.
In this embodiment, determining whether the associated network device locally stores the version number of the current network configuration information based on the network feature type and feature value may store the maximum version number that is currently in effect as a unique index.
Optionally, when the configuration is issued, the configuration with a version number is issued sequentially from small to large, and when the configuration with a version number fails to be issued, the configuration with a version number larger than the version number cannot be successful, but the SDN maintains a version number which is sequentially increased for the configuration with the same network feature type and feature value, and the configuration version numbers of different feature values and network feature types are mutually independent and cannot influence each other.
In this embodiment, a plurality of sets of network provisioning information are obtained from a software defined network SDN, where the network provisioning information is used to characterize operations performed on the SDN; adding network feature data to each set of network configuration information to generate a plurality of sets of network configuration information, wherein the network configuration information is used for characterizing SDN network configuration enabling the operation to be effective in the SDN, and the network feature data at least comprises: the network feature type is used for representing the type of SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration; acquiring network feature types and feature values under the network feature types in mutually independent multiple groups of network configuration information; and issuing corresponding network configuration information to the associated network equipment based on the acquired network characteristic type and the characteristic value under the network characteristic type. That is, by adding the network feature type and the feature value to the network configuration information, the network configuration information of different feature values and network feature types are mutually independent, and when the network configuration information of a certain feature value fails to be issued, the issuing of the network configuration information of other feature values is not influenced, so that the reliability of issuing the network configuration information is ensured, the technical problem that the reliability of issuing the network configuration information cannot be ensured is solved, and the technical effect that the reliability of issuing the network configuration information can be ensured is realized.
The embodiment of the invention also provides a network configuration information issuing method based on SDN, which is further described below.
Fig. 5 is a flowchart of a network configuration information issuing method based on SDN according to an embodiment of the present invention, as shown in fig. 5, the method may include the following steps:
step S502, acquiring multiple sets of network configuration information from the software defined network SDN by calling a first interface, where the first interface includes a first parameter, a parameter value of the first parameter is network configuration information, and the network configuration information is used to characterize an operation performed on the SDN.
In the technical solution provided in the above step S502 of the present invention, the first interface may be an interface for performing data interaction between the server and the client. The client may obtain multiple sets of network configuration information from the software defined network SDN by calling the first interface, where the network configuration information may be used to characterize an operation performed on the SDN, as a first parameter of the first interface to achieve the purpose of determining the network configuration information.
Step S504, adding network feature data to each set of network configuration information, and generating multiple sets of network configuration information, where the network configuration information is used to characterize SDN network configuration that makes the above operations take effect in the SDN.
In this embodiment, the network characteristic data includes at least: the network feature type is used for representing the type of the SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration.
Step S506, obtaining the network characteristic types and the characteristic values under the network characteristic types in the mutually independent multiple groups of network configuration information.
Step S508, corresponding network configuration information is issued to the associated network equipment based on the obtained network feature type and the feature value under the network feature type, and an issuing result is obtained.
In the technical solution provided in the above step S506 of the present invention, the SDN issues configurations having the same feature value and network feature type, and issues network configuration information to the associated network device in batches, where the associated network device obtains an issue result, and the associated network device may be a cloud gateway device.
Optionally, the SDN obtains network configuration information to be issued, issues configurations with the same feature value and network feature type, issues the configurations to the cloud gateway device in batches, and the cloud gateway device obtains an issue result, where the issue result may include the network configuration information and a version number of the configuration.
Step S510, outputting the issuing result by calling a second interface, wherein the second interface comprises a second parameter, and the parameter value of the second parameter is the issuing result.
In the technical solution provided in the above step S510 of the present invention, the second interface may be an interface for performing data interaction between the server and the client, and the server may output the issuing result by calling the second interface as a parameter of the second interface, so as to achieve the purpose of outputting the issuing result. Optionally, the platform outputs the issuing result by calling a second interface, where the second interface is used to output data of the issuing result.
In the embodiment of the invention, a plurality of groups of network transformation information are acquired from a Software Defined Network (SDN) by calling a first interface, wherein the first interface comprises a first parameter, the parameter value of the first parameter is network transformation information, and the network transformation information is used for representing the operation performed on the SDN; adding network feature data to each set of network configuration information to generate a plurality of sets of network configuration information, wherein the network configuration information is used for characterizing SDN network configuration enabling the operation to be effective in the SDN, and the network feature data at least comprises: the network feature type is used for representing the type of SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration; acquiring network feature types and feature values under the network feature types in mutually independent multiple groups of network configuration information; based on the obtained network characteristic type and the characteristic value under the network characteristic type, corresponding network configuration information is issued to the associated network equipment, and an issuing result is obtained; and outputting the issuing result by calling a second interface, wherein the second interface comprises a second parameter, and the parameter value of the second parameter is the issuing result. That is, by adding the network feature type and the feature value to the network configuration information, the network configuration information of different feature values and network feature types are mutually independent, and when the network configuration information of a certain feature value fails to be issued, the issuing of the network configuration information of other feature values is not influenced, so that the reliability of issuing the network configuration information is ensured, the technical problem that the reliability of issuing the network configuration information cannot be ensured is solved, and the technical effect that the reliability of issuing the network configuration information can be ensured is realized.
Example 2
The following describes further a preferred implementation manner of the foregoing method of this embodiment, specifically, an implementation method based on an SDN network configuration issue based on a feature value is illustrated.
In the related art, in a large-scale SDN network scenario (e.g., VPC network), a large amount of network configuration information is generated every second, where the network configuration information may be an operation performed on a network by a user, for example, a virtual machine is created, a route is added, and the network configuration information is functionally programmed by a central SDN controller, so as to generate network configuration information and send the network configuration information to a forwarding device through a protocol, for example, an OpenFlow protocol specifies a manner and a message format for the SDN controller to send configuration to the OpenFlow device.
When an SDN network generates a large number of network changes in a short time, an SDN controller needs to quickly send these configurations to a forwarding device, but the above method cannot ensure the reliability of the configuration delivery.
In order to solve the problems, the application provides a method for realizing SDN network configuration issuing based on characteristic values, wherein the network characteristic types and the characteristic values are added to the network configuration, the configurations with different characteristic values respectively maintain an independent version number which is gradually increased, the configuration can be issued to forwarding equipment through a version number mechanism, and when the configuration issuing of a certain characteristic value fails, the issuing of other characteristic value configurations is not influenced, so that the reliability of the network configuration issuing is realized.
In this embodiment, when the network changes, the SDN controller generates a network configuration, and when the network configuration is generated, the SDN controller maintains a version number (version) that is sequentially incremented for configurations having the same network feature type and feature value, where a piece of network configuration information may include: protocol number, protocol content, network feature type and feature value, wherein one network feature type can be specified for different types of network configuration information, and the network feature type can be a non-repeated numerical value (such as 1,2,3, etc.), or a non-repeated character string (such as eip, tunnel, etc.); for the network configuration information, a specific characteristic value calculation method is used according to the specified network characteristic type.
Optionally, in this embodiment, sequentially increasing version numbers are maintained by the configuration with the same network feature type and feature value, so as to achieve the purpose that different tenant configuration issues do not affect each other, where the SDN controller records the version numbers of the generated network configuration information according to time sequence, the version number starts from 1, the first generated configuration version number is 1, then the generated configuration version number is sequentially 2,3,4, and so on, so as to maintain one sequentially increasing version number for the network configuration information.
For example, in creating network configuration information under the network configuration information such as VPC, the network configuration information to be generated may be configured for the VPC of the VPC and may be an address (vxlan id) of a virtual extended lan, where the network feature type of the VPC configuration is "VPC", and the feature value is vxlan id, for example, in a multi-tenant network (e.g., VPC network) scenario, different VPCs of different tenants are isolated by using a virtual extended lan technology, and each VPC has a unique address of the virtual extended lan.
For example, in a network-on-cloud network, only one PUBLIC network address is used, and in a network reconfiguration scenario that a user binds a PUBLIC network address to a virtual machine of the PUBLIC network address, the network configuration information to be generated is a binding relationship between the virtual machine and a PUBLIC network IP, which may be called PUBLIC network address configuration, and a network feature type of the PUBLIC network address configuration may be defined as a "public_address" (for example, "public_ip"), and a feature value of the PUBLIC network address configuration is a value after the address is converted into an integer.
In this embodiment, the SDN controller obtains the configuration that is not yet issued, orders the network configuration information according to the order of the version numbers from small to large for the network configuration information with the same feature value and network feature type, and then issues the network configuration information to the gateway device in batches, where the issue content may include the network configuration information and the version number of the configuration.
In this embodiment, after receiving the configuration, the cloud gateway proxy (XGWAgent) sequentially parses the configuration content, and for each configuration, the cloud gateway proxy uses the network feature type and the feature value as indexes to find out whether a version number record exists locally, if not, the version number of the current configuration is stored as an initial version number, if so, whether the version number of the current configuration is equal to the local version number plus 1 is judged, if so, the configuration is received so that the local version number is plus 1, and the correctness is returned, otherwise, the error is directly returned.
Optionally, various message formats can be adopted between the SDN controller and the cloud gateway proxy, for example, the SDN controller adopts a message format of serializing the configuration into binary, and when the cloud gateway proxy receives the binary sequence, the SDN controller can deserialize according to a protocol format to obtain configuration content which can be identified by a program, so that the cloud gateway proxy (XGWAgent) can sequentially analyze the configuration content after receiving the configuration.
Optionally, storing the currently effective maximum version number by taking the network feature type and the feature value as a unique index at the local of the cloud gateway proxy end so as to realize that the cloud gateway proxy end uses the network feature type and the feature value as indexes to search whether a version number record exists locally.
In this embodiment, the SDN controller analyzes the result returned by the cloud gateway proxy, obtains the configuration of successful delivery and failure, marks the configuration of successful delivery as completed, and does not process the configuration of failed delivery, waiting for the next retry to send.
Optionally, when the configuration is issued, the configuration is issued sequentially from small to large according to the version number, and when the configuration of a certain version number fails to be issued, the configuration with a version number larger than the version number cannot be successful.
Optionally, the SDN controller maintains a sequentially increasing version number for configurations having the same network feature type and feature value, where the configuration version numbers of different feature values and network feature types are independent of each other and therefore do not affect each other.
In this embodiment, the network feature type and the feature value are added to the network configuration, and the SDN controller maintains an independent sequentially increasing version number for the configuration with different network feature types and feature values, and ensures that the configuration can be issued to the forwarding device through a version number mechanism. When the configuration of a certain characteristic value fails to be issued, the configuration of other characteristic values is not affected, so that the reliability of the network configuration issuing is realized, the technical problem that the reliability of the network configuration information issuing cannot be ensured is solved, and the technical effect that the reliability of the network configuration information issuing can be ensured is realized.
Example 3
According to an embodiment of the present invention, there is further provided an SDN-based network configuration information issuing device for implementing the SDN-based network configuration information issuing method shown in fig. 4.
Fig. 6 is a schematic diagram of an SDN based network configuration information issuing device according to an embodiment of the present invention. As shown in fig. 6, the SDN based network configuration information issuing device 600 may include: a first acquisition unit 602, a first generation unit 604, a first determination unit 606, and a first issuing unit 608.
A first obtaining unit 602, configured to obtain multiple sets of network configuration information from a software defined network SDN, where the network configuration information is used to characterize an operation performed on the SDN.
A first generating unit 604, configured to add network feature data to each set of network configuration information, and generate multiple sets of network configuration information, where the network configuration information is used to characterize an SDN network configuration that makes the above operation take effect in an SDN, and the network feature data at least includes: the network feature type is used for representing the type of the SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration.
The first determining unit 606 is configured to obtain the network feature types and feature values under the network feature types in the multiple sets of mutually independent network configuration information.
The first issuing unit 608 is configured to issue corresponding network configuration information to the associated network device based on the acquired network feature type and the feature value under the network feature type.
Here, it should be noted that the first obtaining unit 602, the first generating unit 604, the first determining unit 606, and the first issuing unit 608 correspond to steps S402 to S408 in embodiment 1, and the four units are the same as the examples and application scenarios implemented by the corresponding steps, but are not limited to the disclosure of the first embodiment. It should be noted that the above-described unit may be operated as a part of the apparatus in the computer terminal 10 provided in the first embodiment.
According to an embodiment of the present invention, there is further provided an SDN-based network configuration information issuing device for implementing the SDN-based network configuration information issuing method shown in fig. 5.
Fig. 7 is a schematic diagram of an SDN based network configuration information issuing device according to an embodiment of the present invention. As shown in fig. 7, the SDN based network configuration information issuing device 700 may include: a second acquisition unit 702, a second generation unit 704, a second determination unit 706, a second issuing unit 708, and an output unit 710.
The second obtaining unit 702 is configured to obtain multiple sets of network configuration information from the software defined network SDN by calling a first interface, where the first interface includes a first parameter, a parameter value of the first parameter is network configuration information, and the network configuration information is used to characterize an operation performed on the SDN.
A second generating unit 704, configured to add network feature data to each set of network configuration information, and generate multiple sets of network configuration information, where the network configuration information is used to characterize an SDN network configuration that makes the above operation take effect in the SDN, and the network feature data at least includes: the network feature type is used for representing the type of the SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration.
The second determining unit 706 is configured to obtain the network feature types and feature values under the network feature types in the multiple sets of mutually independent network configuration information.
And a second issuing unit 708, configured to issue corresponding network configuration information to the associated network device based on the obtained network feature type and the feature value under the network feature type, so as to obtain an issuing result.
An output unit 710 for outputting the issue result by calling a second interface, wherein the second interface includes a second parameter, and the parameter value of the second parameter is the issue result
Here, it should be noted that the second acquiring unit 702, the second generating unit 704, the second acquiring determining unit 706, the second issuing unit 708, and the output unit 710 correspond to steps S502 to S510 in embodiment 1, and the five units are the same as the examples and application scenarios implemented by the corresponding steps, but are not limited to those disclosed in the first embodiment. It should be noted that the above-described unit may be operated as a part of the apparatus in the computer terminal 10 provided in the first embodiment.
In the network configuration information issuing device based on the SDN of the embodiment, a plurality of sets of network configuration information are acquired from the software defined network SDN through a first acquisition unit, wherein the network configuration information is used for representing operations performed on the SDN; adding network feature data to each set of network configuration information through a first generating unit, and generating multiple sets of network configuration information, wherein the network configuration information is used for representing SDN network configuration enabling the operation to be effective in the SDN, and the network feature data at least comprises: the network feature type is used for representing the type of SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration; acquiring network feature types and feature values under the network feature types in multiple groups of mutually independent network configuration information through a first determining unit; and issuing corresponding network configuration information to the associated network equipment based on the acquired network characteristic type and the characteristic value under the network characteristic type through a first issuing unit. That is, by adding the network feature type and the feature value to the network configuration information, the network configuration information of different feature values and network feature types are mutually independent, and when the network configuration information of a certain feature value fails to be issued, the issuing of the network configuration information of other feature values is not influenced, so that the reliability of issuing the network configuration information is ensured, the technical problem that the reliability of issuing the network configuration information cannot be ensured is solved, and the technical effect that the reliability of issuing the network configuration information can be ensured is realized.
Example 4
An embodiment of the present invention may provide an SDN based network configuration information delivery system, where the system may include: a software defined network SDN controller configured to obtain a plurality of sets of network provisioning information from a software defined network SDN, where the network provisioning information is used to characterize an operation performed on the SDN; adding network feature data to each set of network configuration information to generate multiple sets of network configuration information, wherein the network configuration information is used for characterizing an SDN network configuration enabling the operation to take effect in the SDN, and the network feature data at least comprises: a network feature type and a feature value under the network feature type, wherein the network feature type is used for representing the type of the SDN network configuration, and the feature value is used for representing an attribute value of the SDN network configuration; acquiring mutually independent network feature types and feature values under the network feature types in a plurality of groups of network configuration information; issuing corresponding network configuration information based on the acquired network feature type and the feature value under the network feature type; and the network equipment receives the network configuration information.
Optionally, the SDN-based network configuration information delivery system may include a computer terminal, where the computer terminal may be any one of a group of computer terminals. Alternatively, in the present embodiment, the above-described computer terminal may be replaced with a terminal device such as a mobile terminal.
Alternatively, in this embodiment, the above-mentioned computer terminal may be located in at least one network device among a plurality of network devices of the computer network.
In this embodiment, the above-mentioned computer terminal may execute program codes of the following steps in the SDN-based network configuration information delivery method of the application program: a software defined network SDN controller configured to obtain a plurality of sets of network provisioning information from the software defined network SDN, where the network provisioning information is used to characterize operations performed on the SDN; adding network feature data to each set of network configuration information to generate a plurality of sets of network configuration information, wherein the network configuration information is used for characterizing SDN network configuration enabling the operation to be effective in the SDN, and the network feature data at least comprises: the network feature type is used for representing the type of SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration; acquiring network feature types and feature values under the network feature types in mutually independent multiple groups of network configuration information; issuing network configuration information based on the network characteristic type and the characteristic value; and the network equipment receives the network configuration information.
Alternatively, fig. 8 is a block diagram of a computer terminal according to an embodiment of the present invention. As shown in fig. 8, the computer terminal a may include: one or more (only one is shown) processors 802, memory 804, and transmission means 806.
The memory may be used to store software programs and modules, such as program instructions/modules corresponding to the network data transmission method and apparatus based on SDN in the embodiments of the present invention, and the processor executes the software programs and modules stored in the memory, thereby executing various functional applications and signal processing, that is, implementing the foregoing network configuration information issue based on SDN. The memory may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory may further comprise memory remotely located from the processor, the remote memory being connectable to the computer terminal a through a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The processor can call the information and the application program stored in the memory through the network configuration information issuing device based on the SDN so as to execute the following steps: acquiring multiple groups of network configuration information from a Software Defined Network (SDN), wherein the network configuration information is used for representing operations performed on the SDN; adding network feature data to each set of network configuration information to generate a plurality of sets of network configuration information, wherein the network configuration information is used for characterizing SDN network configuration enabling the operation to be effective in the SDN, and the network feature data at least comprises: the network feature type is used for representing the type of SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration; acquiring network feature types and feature values under the network feature types in mutually independent multiple groups of network configuration information; and issuing corresponding network configuration information to the associated network equipment based on the acquired network characteristic type and the characteristic value under the network characteristic type.
Optionally, the above processor may further execute program code for: ordering multiple groups of network configuration information with the same network characteristic type and the same characteristic value; and at least sequentially issuing the ordered multiple groups of network configuration information to the associated network equipment.
Optionally, the above processor may further execute program code for: and ordering the multiple groups of network configuration information according to the version numbers of the multiple groups of network configuration information.
Optionally, the above processor may further execute program code for: and sequencing the multiple groups of network configuration information according to the multiple version numbers which are sequentially increased.
Optionally, the above processor may further execute program code for: and sequentially issuing the ordered multiple groups of network configuration information and version numbers of each group of network configuration information to associated network equipment.
Optionally, the above processor may further execute program code for: receiving a success notification message from the associated network device, wherein the success notification message is used for indicating that each group of network configuration information is successfully issued to the associated network device; or receiving a failure notification message from the associated network device, wherein the failure notification message is used for indicating that each group of network configuration information issues a failure to the associated network device.
Optionally, the above processor may further execute program code for: and if the version number of each set of issued network configuration information is equal to the sum of the version number of the current network configuration information locally stored by the associated network device and a preset value, receiving a success notification message, wherein the version number of the current network configuration information is updated to the version number of each set of issued network configuration information by the associated network device, and if the version number of each set of network configuration information is not equal to the sum of the version number of the current network configuration information and the preset value, receiving a failure notification message.
Optionally, the above processor may further execute program code for: and marking each group of network configuration information corresponding to the success notification message.
Optionally, the above processor may further execute program code for: if the associated network device does not locally store the version number of the current network configuration information, the version number of each set of configuration information issued is stored by the associated network device.
Optionally, the above processor may further execute program code for: the network feature type and feature value are used to determine whether the associated network device locally stores a version number of the current network configuration information.
As an alternative example, the processor may invoke the information stored in the memory and the application program through the SDN based network configuration information delivery device to perform the following steps: acquiring multiple groups of network transformation information from the software defined network SDN by calling a first interface, wherein the first interface comprises a first parameter, a parameter value of the first parameter is network transformation information, and the network transformation information is used for representing operations performed on the SDN; adding network feature data to each set of network configuration information to generate a plurality of sets of network configuration information, wherein the network configuration information is used for characterizing SDN network configuration enabling the operation to be effective in the SDN, and the network feature data at least comprises: the network feature type is used for representing the type of SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration; acquiring network feature types and feature values under the network feature types in mutually independent multiple groups of network configuration information; based on the obtained network characteristic type and the characteristic value under the network characteristic type, corresponding network configuration information is issued to the associated network equipment, and an issuing result is obtained; and outputting the issuing result by calling a second interface, wherein the second interface comprises a second parameter, and the parameter value of the second parameter is the issuing result.
The embodiment of the invention provides a network configuration information issuing method based on SDN, which is used for acquiring a plurality of groups of network configuration information from a software defined network SDN, wherein the network configuration information is used for representing operations performed on the SDN; adding network feature data to each set of network configuration information to generate a plurality of sets of network configuration information, wherein the network configuration information is used for characterizing SDN network configuration enabling the operation to be effective in the SDN, and the network feature data at least comprises: the network feature type is used for representing the type of SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration; acquiring network feature types and feature values under the network feature types in mutually independent multiple groups of network configuration information; and issuing corresponding network configuration information to the associated network equipment based on the acquired network characteristic type and the characteristic value under the network characteristic type. That is, by adding the network feature type and the feature value to the network configuration information, the network configuration information of different feature values and network feature types are mutually independent, and when the network configuration information of a certain feature value fails to be issued, the issuing of the network configuration information of other feature values is not influenced, so that the reliability of issuing the network configuration information is ensured, the technical problem that the reliability of issuing the network configuration information cannot be ensured is solved, and the technical effect that the reliability of issuing the network configuration information can be ensured is realized.
It will be appreciated by those skilled in the art that the structure shown in fig. 8 is only illustrative, and the computer terminal a may be a terminal device such as a smart phone (e.g. an Android phone, an iOS phone, etc.), a tablet computer, a palm-tone computer, and a mobile internet device (Mobile Internet Devices, MID), a PAD, etc. Fig. 8 does not limit the structure of the computer terminal a. For example, the computer terminal a may also include more or fewer components (e.g., network interfaces, display devices, etc.) than shown in fig. 8, or have a different configuration than shown in fig. 8.
Those of ordinary skill in the art will appreciate that all or part of the steps in the various methods of the above embodiments may be implemented by a program for instructing a terminal device to execute in association with hardware, the program may be stored in a computer readable storage medium, and the storage medium may include: flash disk, read-Only Memory (ROM), random-access Memory (Random Access Memory, RAM), magnetic or optical disk, and the like.
Example 5
Embodiments of the present invention also provide a computer-readable storage medium. Optionally, in this embodiment, the computer readable storage medium may be configured to store program code executed by a network configuration information issuing method based on SDN provided in the first embodiment.
Alternatively, in this embodiment, the above-mentioned computer-readable storage medium may be located in any one of the computer terminals in the computer terminal group in the computer network, or in any one of the mobile terminals in the mobile terminal group.
As an alternative example, the computer readable storage medium is arranged to store program code for performing the steps of: acquiring multiple groups of network configuration information from a Software Defined Network (SDN), wherein the network configuration information is used for representing operations performed on the SDN; adding network feature data to each set of network configuration information to generate a plurality of sets of network configuration information, wherein the network configuration information is used for characterizing SDN network configuration enabling the operation to be effective in the SDN, and the network feature data at least comprises: the network feature type is used for representing the type of SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration; acquiring network feature types and feature values under the network feature types in mutually independent multiple groups of network configuration information; and issuing corresponding network configuration information to the associated network equipment based on the acquired network characteristic type and the characteristic value under the network characteristic type.
Optionally, in the present embodiment, the above-mentioned computer-readable storage medium is configured to store program code for performing the steps of: ordering multiple groups of network configuration information with the same network characteristic type and the same characteristic value; and at least sequentially issuing the ordered multiple groups of network configuration information to the associated network equipment.
Optionally, in the present embodiment, the above-mentioned computer-readable storage medium is configured to store program code for performing the steps of: and ordering the multiple groups of network configuration information according to the version numbers of the multiple groups of network configuration information.
Optionally, in the present embodiment, the above-mentioned computer-readable storage medium is configured to store program code for performing the steps of: and sequencing the multiple groups of network configuration information according to the multiple version numbers which are sequentially increased.
Optionally, in the present embodiment, the above-mentioned computer-readable storage medium is configured to store program code for performing the steps of: and sequentially issuing the ordered multiple groups of network configuration information and version numbers of each group of network configuration information to associated network equipment.
Optionally, in the present embodiment, the above-mentioned computer-readable storage medium is configured to store program code for performing the steps of: receiving a success notification message from the associated network device, wherein the success notification message is used for indicating that each group of network configuration information is successfully issued to the associated network device; or receiving a failure notification message from the associated network device, wherein the failure notification message is used for indicating that each group of network configuration information issues a failure to the associated network device.
Optionally, in the present embodiment, the above-mentioned computer-readable storage medium is configured to store program code for performing the steps of: and if the version number of each set of issued network configuration information is equal to the sum of the version number of the current network configuration information locally stored by the associated network device and a preset value, receiving a success notification message, wherein the version number of the current network configuration information is updated to the version number of each set of issued network configuration information by the associated network device, and if the version number of each set of network configuration information is not equal to the sum of the version number of the current network configuration information and the preset value, receiving a failure notification message.
Optionally, in the present embodiment, the above-mentioned computer-readable storage medium is configured to store program code for performing the steps of: and marking each group of network configuration information corresponding to the success notification message.
Optionally, in the present embodiment, the above-mentioned computer-readable storage medium is configured to store program code for performing the steps of: if the associated network device does not locally store the version number of the current network configuration information, the version number of each set of configuration information issued is stored by the associated network device.
Optionally, in the present embodiment, the above-mentioned computer-readable storage medium is configured to store program code for performing the steps of: the network feature type and feature value are used to determine whether the associated network device locally stores a version number of the current network configuration information.
As an alternative example, the computer readable storage medium is arranged to store program code for performing the steps of: acquiring multiple groups of network transformation information from the software defined network SDN by calling a first interface, wherein the first interface comprises a first parameter, a parameter value of the first parameter is network transformation information, and the network transformation information is used for representing operations performed on the SDN; adding network feature data to each set of network configuration information to generate a plurality of sets of network configuration information, wherein the network configuration information is used for characterizing SDN network configuration enabling the operation to be effective in the SDN, and the network feature data at least comprises: the network feature type is used for representing the type of SDN network configuration, and the feature value is used for representing the attribute value of the SDN network configuration; acquiring network feature types and feature values under the network feature types in mutually independent multiple groups of network configuration information; based on the obtained network characteristic type and the characteristic value under the network characteristic type, corresponding network configuration information is issued to the associated network equipment, and an issuing result is obtained; and outputting the issuing result by calling a second interface, wherein the second interface comprises a second parameter, and the parameter value of the second parameter is the issuing result.
The foregoing embodiment numbers of the present invention are merely for the purpose of description, and do not represent the advantages or disadvantages of the embodiments.
In the foregoing embodiments of the present invention, the descriptions of the embodiments are emphasized, and for a portion of this disclosure that is not described in detail in this embodiment, reference is made to the related descriptions of other embodiments.
In the several embodiments provided in the present application, it should be understood that the disclosed technology content may be implemented in other manners. The above-described embodiments of the apparatus are merely exemplary, and the division of the units, such as the division of the units, is merely a logical function division, and may be implemented in another manner, for example, multiple units or components may be combined or may be integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be through some interfaces, units or modules, or may be in electrical or other forms.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present invention may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied essentially or in part or all of the technical solution or in part in the form of a software product stored in a storage medium, including instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a removable hard disk, a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The foregoing is merely a preferred embodiment of the present invention and it should be noted that modifications and adaptations to those skilled in the art may be made without departing from the principles of the present invention, which are intended to be comprehended within the scope of the present invention.

Claims (14)

1. The network configuration information issuing method based on SDN is characterized by comprising the following steps:
acquiring multiple groups of network configuration information from a Software Defined Network (SDN), wherein the network configuration information is used for representing operations performed on the SDN;
adding network feature data to each set of network configuration information to generate multiple sets of network configuration information, wherein the network configuration information is used for characterizing an SDN network configuration enabling the operation to take effect in the SDN, and the network feature data at least comprises: a network feature type and a feature value under the network feature type, wherein the network feature type is used for representing the type of the SDN network configuration, and the feature value is used for representing an attribute value of the SDN network configuration;
acquiring mutually independent network feature types and feature values under the network feature types in a plurality of groups of network configuration information;
And issuing corresponding network configuration information to associated network equipment based on the acquired network feature type and the feature value under the network feature type.
2. The method of claim 1, wherein issuing the corresponding network configuration information to an associated network device based on the acquired network feature type and feature values under the network feature type comprises:
ordering a plurality of sets of the network configuration information having the same network feature type and the same feature value;
and at least sequentially issuing the ordered multiple groups of network configuration information to the associated network equipment.
3. The method of claim 2, wherein ordering the acquired sets of network configuration information having the same network feature type and the same feature value comprises:
and ordering a plurality of groups of network configuration information according to the version numbers of the plurality of groups of network configuration information.
4. The method of claim 3, wherein the plurality of sets of version numbers of the network configuration information include a plurality of version numbers that are sequentially incremented, the plurality of version numbers being in one-to-one correspondence with the plurality of sets of network configuration information, the ordering of the plurality of sets of network configuration information according to the version numbers of the plurality of sets of network configuration information comprising:
And sequencing a plurality of groups of network configuration information according to the version numbers which are sequentially increased.
5. The method of claim 2, wherein sequentially issuing at least the ordered plurality of sets of network configuration information to the associated network device comprises:
and sequentially issuing the ordered multiple groups of network configuration information and version numbers of each group of network configuration information to the associated network equipment.
6. The method of claim 5, wherein the method further comprises:
receiving a success notification message from the associated network device, wherein the success notification message is used for indicating that each group of network configuration information is successfully issued to the associated network device; or alternatively
And receiving a failure notification message from the associated network equipment, wherein the failure notification message is used for indicating that each group of network configuration information issues failure to the associated network equipment.
7. The method of claim 6, wherein the step of providing the first layer comprises,
receiving a success notification message from the associated network device, comprising: if the version number of each set of the issued network configuration information is equal to the sum of the version number of the current network configuration information locally stored by the associated network device and a preset value, receiving the success notification message, wherein the version number of the current network configuration information is updated into the version number of each set of the issued network configuration information by the associated network device; and/or
Receiving a failure notification message from the associated network device, comprising: and if the version number of each group of network configuration information is not equal to the sum of the version number of the current network configuration information and the preset value, receiving the failure notification message.
8. The method of claim 7, wherein the method further comprises:
and marking each group of network configuration information corresponding to the success notification message.
9. The method of claim 7, wherein the version number of each set of the configuration information issued is stored by the associated network device if the associated network device does not store the version number of the current network configuration information locally.
10. The method of claim 7, wherein the network feature type and the feature value are used to determine whether the associated network device stores a version number of the current network configuration information locally.
11. The network configuration information issuing method based on SDN is characterized by comprising the following steps:
acquiring multiple groups of network transformation information from a Software Defined Network (SDN) by calling a first interface, wherein the first interface comprises a first parameter, a parameter value of the first parameter is the network transformation information, and the network transformation information is used for representing an operation performed on the SDN;
Adding network feature data to each set of network configuration information to generate multiple sets of network configuration information, wherein the network configuration information is used for characterizing an SDN network configuration enabling the operation to take effect in the SDN, and the network feature data at least comprises: a network feature type and a feature value under the network feature type, wherein the network feature type is used for representing the type of the SDN network configuration, and the feature value is used for representing an attribute value of the SDN network configuration;
acquiring mutually independent network feature types and feature values under the network feature types in a plurality of groups of network configuration information;
issuing the network configuration information to associated network equipment based on the acquired network feature type and the feature value under the network feature type to obtain an issuing result;
and outputting the issuing result by calling a second interface, wherein the second interface comprises a second parameter, and the parameter value of the second parameter is the issuing result.
12. An SDN-based network configuration information delivery system, comprising:
a software defined network SDN controller configured to obtain a plurality of sets of network provisioning information from a software defined network SDN, where the network provisioning information is used to characterize an operation performed on the SDN; adding network feature data to each set of network configuration information to generate multiple sets of network configuration information, wherein the network configuration information is used for characterizing an SDN network configuration enabling the operation to take effect in the SDN, and the network feature data at least comprises: a network feature type and a feature value under the network feature type, wherein the network feature type is used for representing the type of the SDN network configuration, and the feature value is used for representing an attribute value of the SDN network configuration; acquiring mutually independent network feature types and feature values under the network feature types in a plurality of groups of network configuration information; issuing corresponding network configuration information based on the acquired network feature type and the feature value under the network feature type;
And the network equipment receives the network configuration information.
13. A computer readable storage medium, characterized in that the computer readable storage medium comprises a stored program, wherein the program, when run by a processor, controls a device in which the computer readable storage medium is located to perform the method of any one of claims 1 to 11.
14. A processor for running a program, wherein the program when run performs the method of any one of claims 1 to 11.
CN202210302813.0A 2022-03-25 2022-03-25 SDN-based network configuration information issuing method, system and storage medium Active CN114760199B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210302813.0A CN114760199B (en) 2022-03-25 2022-03-25 SDN-based network configuration information issuing method, system and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210302813.0A CN114760199B (en) 2022-03-25 2022-03-25 SDN-based network configuration information issuing method, system and storage medium

Publications (2)

Publication Number Publication Date
CN114760199A CN114760199A (en) 2022-07-15
CN114760199B true CN114760199B (en) 2024-03-01

Family

ID=82327841

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210302813.0A Active CN114760199B (en) 2022-03-25 2022-03-25 SDN-based network configuration information issuing method, system and storage medium

Country Status (1)

Country Link
CN (1) CN114760199B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111404755A (en) * 2020-03-24 2020-07-10 联想(北京)有限公司 Network configuration method, device and storage medium
CN114205226A (en) * 2020-09-18 2022-03-18 华为技术有限公司 Method and system for guaranteeing business application experience

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101679465B1 (en) * 2013-05-13 2016-11-24 엘에스산전 주식회사 Master device of Process Field Bus Decentralized Periphery
US20140344418A1 (en) * 2013-05-17 2014-11-20 Bank Of America Corporation Dynamic configuration analysis
US10070155B2 (en) * 2014-11-10 2018-09-04 Time Warner Cable Enterprises Llc Packetized content delivery apparatus and methods

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111404755A (en) * 2020-03-24 2020-07-10 联想(北京)有限公司 Network configuration method, device and storage medium
CN114205226A (en) * 2020-09-18 2022-03-18 华为技术有限公司 Method and system for guaranteeing business application experience

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《多虚拟机自动网络配置系统》;葛欣;《CNKI》;全文 *

Also Published As

Publication number Publication date
CN114760199A (en) 2022-07-15

Similar Documents

Publication Publication Date Title
EP3031174B1 (en) Hybrid network management
CN106301829B (en) A kind of method and apparatus of network service dilatation
WO2016117697A1 (en) Method, device, and program for management and orchestration of network functions virtualization
US10284418B2 (en) Network switch management via embedded management controller using management information base (MIB) to JSON parser
US10622769B2 (en) Modular infrastructure management device
WO2016119631A1 (en) Method for accessing cloud service and access device
WO2017113201A1 (en) Network service lifecycle management method and device
CN104718723A (en) A framework for networking and security services in virtual networks
CN105095023B (en) A kind of cloud host creating device, method and computing device
CN104615455B (en) A kind of the IPMC program remote upgrading methods and device of ATCA frameworks
CN113810206B (en) Network automation arrangement management method, entity, controller and electronic equipment
WO2015147850A1 (en) Controlled node configuration
CN107959582A (en) A kind of management method and device of example of cutting into slices
CN106155264B (en) Manage the computer approach and computer system of the power consumption of storage subsystem
CN105827428A (en) Management method and device of asset information
CN111416723B (en) Equipment management method and related equipment
CN109120444B (en) Cloud resource management method, processor and storage medium
CN106797670A (en) Initialized using the physical switches for characterizing state transfer service
WO2022267175A1 (en) Information processing method and apparatus, and computer device and storage medium
CN114650223A (en) Network configuration method and device of Kubernetes cluster and electronic equipment
CN111124535B (en) Function expansion method, device, equipment and storage medium of cloud host QGA
CN114760199B (en) SDN-based network configuration information issuing method, system and storage medium
CN110955537B (en) Method and device for containing pipes by physical machine
CN114124714A (en) Multi-level network deployment method, device, equipment and storage medium
CN110891239B (en) PNF configuration and PNFD TOSCA implementation method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant