Communication method and device

Through the manager, selecting computing nodes based on virtual machine requirements and physical partition information of computing nodes, the problem that virtual machine creation method under the NFV architecture is difficult to meet the needs of different types of virtual machine monitors, and flexible virtual machine creation and isolation are realized, improving the efficiency and adaptability of the system.

CN120075295APending Publication Date: 2025-05-30HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311627958.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-30
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

Under the existing NFV architecture, virtual machines are created in a way that is difficult to meet the creation requirements of different types of virtual machine monitors, especially in hybrid critical systems with real-time, non-real-time and embedded virtual machine monitors.

Method used

Receive requests to create virtual machines through the manager, and accurately select computing nodes to create virtual machines that meet the needs based on the requirements of the virtual machine and the physical partition information of the computing node. The method includes the manager sending a request to the compute node to create a virtual machine and creating a physical partition on the compute node to achieve isolation of the virtual machine.

Benefits of technology

It realizes the flexibility to select computing nodes and create virtual machines in a hybrid critical system that supports multiple types of virtual machine monitors, to meet the isolation needs of different types of virtual machines, and improves the flexibility and efficiency of virtual machine creation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120075295A_ABST
    Figure CN120075295A_ABST
Patent Text Reader

Abstract

The invention provides a communication method and device, which are used for realizing accurate selection of computing nodes so as to meet the creation requirements of different types of virtual machine monitors. The method comprises the steps that a manager receives a first request, the first request is used for creating a virtual machine, and the first request comprises first demand information of the virtual machine; the manager determines a first computing node according to the first demand information and information of a physical partition of the computing node, wherein the physical partition is used for isolating the virtual machine; the manager sends a second request to the first computing node, the second request is used for requesting the first computing node to create the virtual machine, the second request comprises second demand information of the virtual machine, and the second demand information is determined according to the first demand information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of mobile communication technologies, and in particular, to a communication method and apparatus. Background Art

[0002] As the 5th generation (5G), 5.5th generation (5.5G), and 6th generation (6G) gradually penetrate into vertical industries, the ultra-reliable low-latency communications (URLLC) scenarios in various industries, including industrial Internet, have increasingly high requirements for real-time determinism. How cloud infrastructure, represented by telecom cloud, provides a mixed criticality system (MCS) that can co-deploy real-time deterministic and non-real-time deterministic applications has become an urgent problem to be solved in the industry.

[0003] The network functions virtualization (NFV) architecture is a standard architecture for defining NFV implementation standards. The concept of NFV is to apply standardized network functions to hardware of a unified format. In the NFV architecture, standardized software for implementing various network functions can usually be applied to the same hardware device, which requires NFV to have a unified standard. The NFV architecture includes network functions virtualization infrastructure (NFVI), virtual network functions (VNF), and management and orchestration (MANO). Among them, NFVI can be used to create virtual machines.

[0004] Currently, under the NFV architecture, the way to create virtual machines is difficult to meet the creation requirements of different types of hypervisors, so the current way to create virtual machines needs to be optimized. Summary of the Invention

[0005] This application provides a communication method and apparatus to accurately select computing nodes to meet the creation requirements of different types of hypervisors.

[0006] In a first aspect, a communication method is provided. The communication method can be implemented by a first communication device. The first communication device can be a manager or a module or chip in the manager. The manager can be a VIM or a CISM. Taking the execution entity as the manager as an example, the method can include: The manager receives a first request for creating a virtual machine, and the first request includes first requirement information of the virtual machine; The manager determines a first computing node according to the first requirement information and information of physical partitions of computing nodes, where the physical partitions are used for isolation of virtual machines; The manager sends a second request to the first computing node, and the second request is used to request the first computing node to create a virtual machine, and the second request includes second requirement information of the virtual machine, and the second requirement information is determined according to the first requirement information.

[0007] Based on the method shown in the first aspect, the manager can select a computing node according to the first requirement information of the virtual machine to be created according to the request and information of physical partitions of computing nodes. Among them, the information of physical partitions of computing nodes can indicate the partitioning ability of computing nodes. Therefore, computing nodes with different partitioning abilities can be flexibly selected according to the creation requirements of virtual machines to support the creation of virtual machines that meet the requirements on the selected computing nodes. For example, when the first request indicates to establish multiple different types of virtual machine monitors in real-time, non-real-time or embedded, the selected computing node can have multi-physical partitioning ability to meet the isolation requirements of different types of virtual machine monitors.

[0008] In a possible implementation manner, the information of physical partitions includes at least one of the following: information for indicating whether physical partitions are supported; type information of physical partitions; the number of supported physical partitions; information for indicating whether it supports implementing physical partitions and through an embedded virtual machine monitor; type information of supported embedded virtual machine monitors; the number of supported embedded virtual machine monitors.

[0009] Among them, the information of physical partitions can indicate the parameters of physical partitions supported by a computing node, or rather, can be used as the physical partitioning ability information of the computing node. The information of physical partitions can be provided by the computing node to the manager.

[0010] In a possible implementation manner, the first requirement information includes a partitioning requirement, and the partitioning requirement includes at least one of the following: an indication for indicating that the virtual machine monitor is embedded; an indication for indicating that the virtual machine monitor is an image.

[0011] Based on this implementation, an embedded virtual machine monitor or a non-embedded virtual machine monitor can be indicated by partition requirements. In addition, the partition requirements may also include indication information of a real-time virtual machine monitor and / or a non-real-time virtual machine monitor. For example, a field for indicating a real-time virtual machine monitor image can be used as an indication for indicating that the virtual machine monitor uses an image. The partition requirements can be used to determine the partition requirements of a virtual machine. For example, an embedded virtual machine monitor and a non-embedded virtual machine monitor belong to different types of virtual machine monitors and need to be isolated through different physical partitions. Another example is that a real-time virtual machine monitor and a non-real-time virtual machine monitor belong to different types of virtual machine monitors and need to be isolated through different physical partitions.

[0012] In one possible implementation, the manager may also send a partition creation request to the first computing node, and the partition creation request is used to request the first computing node to create a physical partition; the manager receives partition information of at least one physical partition from the first computing node, and the second request includes the association relationship between the virtual machine and the partition information of the physical partition.

[0013] Based on this implementation, the manager may also request the first computing node to create a physical partition through a partition management request and receive the partition information of the physical partition, so as to know the establishment situation of the physical partition of the first computing node. In this implementation, the partition creation request can be independent of the virtual machine creation request. In this application, the first computing node can also automatically create a physical partition based on the first request of the manager without separately sending a physical partition creation request.

[0014] In this application, the association relationship can also be a corresponding relationship, that is, "associated" can be understood as "corresponding".

[0015] In one possible implementation, the manager may also receive the association relationship between the virtual machine created by the first computing node and the partition information of the physical partition.

[0016] Based on this implementation, the first computing node can determine the association relationship between the created virtual machine and the physical partition, and the first computing node reports the association relationship so that the manager can manage the virtual machine and the physical partition.

[0017] In one possible implementation, the first request can be used to request the creation of a virtual machine group, and the first request further includes the quantity information of the virtual machines in the virtual machine group, where the virtual machine group includes at least two virtual machines.

[0018] Based on this implementation, the first computing node can create a virtual machine group based on the request to implement a flexible virtual machine creation solution.

[0019] In a possible implementation, the at least two virtual machines include real-time virtual machines and / or non-real-time virtual machines.

[0020] Based on this implementation, the first computing node can create a virtual machine group including real-time virtual machines and / or non-real-time virtual machines based on a request, so as to implement a flexible virtual machine creation solution. Among them, if the virtual machine group includes real-time virtual machines and non-real-time virtual machines, a hybrid critical system supporting real-time and non-real-time applications can be implemented. It can be understood that the hybrid critical system of real-time virtual machines and non-real-time virtual machines requires the first computing node to support at least two physical partitions.

[0021] In a possible implementation, the manager can also receive information about the physical partitions of the computing node, and the computing node includes the first computing node.

[0022] Based on this implementation, the manager can obtain information about the physical partitions of the computing node. For example, after the computing node creates a physical partition, it can report the information about the physical partition to the manager.

[0023] In a possible implementation, the manager determines the first computing node according to the first requirement information and the computing resource information of the computing node. Wherein, the computing resource information includes at least one of the following: NUMA affinity information; isolation information of the last-level cache; size of the last-level cache; bandwidth information of the memory; quality of service information of the memory; peripheral type; peripheral affinity information; peripheral parameters; peripheral size.

[0024] Based on this implementation, the manager can reasonably determine the first computing node according to the first requirement information and the computing resource information of the computing node.

[0025] In a possible implementation, the first requirement information further includes at least one of the following information: NUMA affinity requirement information; isolation information of the required last-level cache; size of the required last-level cache; bandwidth information of the required memory; quality of service information of the required memory; required peripheral type; required peripheral affinity information; required peripheral parameters; required peripheral size.

[0026] In a possible implementation, the partition requirement includes an indication for instructing the virtual machine monitor to adopt an image, and the manager can also receive the image of the virtual machine monitor and send the image to the first computing node.

[0027] In a possible implementation, the manager may also send a partition shutdown request or a release request to the first computing node. The partition shutdown request or the release request may be used to request the shutdown or release of one or more physical partitions of the first computing node, so as to implement the shutdown or release of the physical partitions of the first computing node.

[0028] In a second aspect, a communication method is provided. The communication method may be implemented by a second communication device. The second communication device may be a computing node or a module or chip in a computing node. The computing node may be an NFVI or a CIS. Taking the execution entity as the first computing node as an example, the method may include: The first computing node receives a second request from the manager, where the second request is used to request the creation of a virtual machine, and the second request includes second requirement information of the virtual machine; the computing node determines one or more physical partitions according to the second requirement information, and the physical partitions are used for the isolation of the virtual machine; where the first computing node is determined according to the first requirement information of the virtual machine and the information of the physical partitions of the computing node, and the second requirement information is determined according to the first requirement information.

[0029] In a possible implementation, the first computing node may also send the information of the physical partitions of the first computing node to the manager, and the information of the physical partitions is used for the manager to determine the first computing node.

[0030] In a possible implementation, the information of the physical partitions includes at least one of the following: information indicating whether physical partitions are supported; type information of the physical partitions; the number of supported physical partitions; information indicating whether it is supported to implement physical partitions and through an embedded virtual machine monitor; type information of the supported embedded virtual machine monitors; the number of supported embedded virtual machine monitors.

[0031] In a possible implementation, the first requirement information includes a partition requirement, and the partition requirement includes at least one of the following: an indication for indicating that the virtual machine monitor is embedded; an indication for indicating that the virtual machine monitor uses an image.

[0032] In a possible implementation, the first computing node may also receive a partition creation request; the first computing node may also create the physical partitions according to the partition creation request.

[0033] In a possible implementation, the first computing node may also send the partition information of the physical partitions to the manager, and the second request includes the association relationship between the virtual machine and the partition information of the physical partitions.

[0034] In a possible implementation, the first computing node creates the one or more physical partitions according to the second requirement information; the first computing node may also create the virtual machines according to the at least one physical partition.

[0035] In a possible implementation, the first computing node may also send the association relationship between the virtual machines and the partition information of the physical partitions to the manager.

[0036] In a possible implementation, the first computing node is further determined according to the first requirement information and the computing resource information of the computing node; wherein, the computing resource information includes at least one of the following: NUMA affinity information; isolation information of the last-level cache; size of the last-level cache; memory bandwidth information; memory quality of service information; peripheral type; peripheral affinity information; peripheral parameters; peripheral size.

[0037] In a possible implementation, the first requirement information further includes at least one of the following information: NUMA affinity requirement information; isolation information of the required last-level cache; size of the required last-level cache; required memory bandwidth information; required memory quality of service information; required peripheral type; required peripheral affinity information; required peripheral parameters; required peripheral size.

[0038] In a possible implementation, the partition requirement includes an indication for instructing the virtual machine monitor to adopt an image. The first computing node may also receive the image of the virtual machine monitor from the manager, load the image in the physical partition, and create the virtual machine on the virtual machine monitor with the image loaded.

[0039] In a possible implementation, the partition requirement includes an indication for instructing the virtual machine monitor to adopt an embedded type. The first computing node may also start the embedded virtual machine monitor; the first computing node creates the virtual machine on the embedded virtual machine monitor.

[0040] In a possible implementation, the first computing node may also receive a partition shutdown request or a release request from the manager. Among them, the partition shutdown request or the release request may be used to request to shut down or release one or more physical partitions of the first computing node.

[0041] In a third aspect, a communication method is provided. The communication method can be implemented by a third communication device. The third communication device can be a user equipment or a module or chip in the user equipment. The user equipment can be a network device, such as a terminal running or deploying low-latency service applications or other applications, or a network device in a mobile network. The third communication device can also be a VNFM or a module or chip in the VNFM. Taking the execution entity as the user equipment as an example, the method can include: the user equipment sends a first request to the manager. The first request is used to create a virtual machine, and the first request includes first requirement information of the virtual machine. The first requirement information and the information of the physical partition of the computing node can be used by the manager to determine the first computing node.

[0042] In a possible implementation manner, the first requirement information includes a partition requirement, and the partition requirement includes at least one of the following: an indication for instructing the virtual machine monitor to adopt an embedded mode; an indication for instructing the virtual machine monitor to adopt an image.

[0043] In a possible implementation manner, the user equipment may also send a creation request for the physical partition to the manager. The creation request for the physical partition may include a partition requirement, and optionally may also include computing resource information required by the virtual machine or virtual machine group to be created. The creation request for the physical partition can be used to trigger the manager to request the first computing node to create a virtual machine. That is to say, the creation request for the physical partition and the creation request for the virtual machine can be independent of each other. In addition, the manager can also trigger the creation of the physical partition of the first computing node based on the first request.

[0044] For the technical effects brought by the above third aspect and any of its possible implementation manners, reference can be made to the description of the beneficial effects of the corresponding solutions in the above first aspect, which will not be elaborated here.

[0045] In a fourth aspect, a communication device is provided. The device can implement the methods described in any of the possible implementation manners of any of the first aspect to the third aspect above. The device has the functions of the above first communication device, second communication device, or third communication device. The device is, for example, a manager, or a functional module or chip in the manager, or a first computing node or a functional module or chip in the first computing node, etc.

[0046] In an alternative implementation, the device may include modules corresponding one by one to the methods / operations / steps / actions described in any one of the first to third aspects and any possible implementation thereof. The module may be a hardware circuit, software, or a combination of a hardware circuit and software. In an alternative implementation, the device includes a processing unit (sometimes also referred to as a processing module) and a communication unit (sometimes also referred to as a transceiver module, communication module, etc.). The transceiver unit can implement the sending function and the receiving function. When the transceiver unit implements the sending function, it can be referred to as a sending unit (sometimes also referred to as a sending module), and when the transceiver unit implements the receiving function, it can be referred to as a receiving unit (sometimes also referred to as a receiving module). The sending unit and the receiving unit may be the same functional module, and this functional module is called the transceiver unit, which can implement the sending function and the receiving function; or, the sending unit and the receiving unit may be different functional modules, and the transceiver unit is a general term for these functional modules.

[0047] Exemplarily, when the device is used to execute the method described in any one of the first to third aspects, the device may include a communication unit and a processing unit.

[0048] In a fifth aspect, an embodiment of the present application further provides a communication device, including a processor for executing a computer program (or computer-executable instructions) stored in a memory. When the computer program (or computer-executable instructions) is executed, the device executes the method described in any one of the first to third aspects and any possible implementation thereof.

[0049] In a possible implementation, the processor and the memory are integrated together;

[0050] In another possible implementation, the memory is located outside the communication device.

[0051] The communication device further includes a communication interface for the communication device to communicate with other devices, such as sending or receiving data and / or signals. Exemplarily, the communication interface may be a transceiver, a circuit, a bus, a module, or other types of communication interfaces.

[0052] In a sixth aspect, a computer-readable storage medium is provided. The computer-readable storage medium is used to store a computer program or instructions. When it runs, the methods described in any one of the first to third aspects and any possible implementation thereof are implemented.

[0053] In a seventh aspect, a computer program product containing instructions is provided. When it runs on a computer, the methods described in any one of the first to third aspects and any possible implementation thereof are implemented.

[0054] In an eighth aspect, embodiments of the present application further provide a communication device for performing the method described in any possible implementation manner of any one of the first to third aspects above.

[0055] In a ninth aspect, a chip system is provided. The chip system includes logic circuits (or it can be understood that the chip system includes a processor, and the processor may include logic circuits, etc.), and may further include input / output interfaces. The input / output interfaces can be used for inputting messages and can also be used for outputting messages. The input / output interfaces can be the same interface, that is, the same interface can implement both the sending function and the receiving function; or, the input / output interfaces include an input interface and an output interface. The input interface is used to implement the receiving function, that is, for receiving messages; the output interface is used to implement the sending function, that is, for sending messages. The logic circuits can be used to perform operations other than the transceiver functions in the method described in any possible implementation manner of any one of the first to third aspects above; the logic circuits can also be used to transmit messages to the input / output interfaces or receive messages from other communication devices from the input / output interfaces. The chip system can be used to implement the method described in any possible implementation manner of any one of the first to third aspects above. The chip system can be composed of chips or can include chips and other discrete devices.

[0056] Optionally, the chip system may further include a memory. The memory can be used to store instructions, and the logic circuits can call the instructions stored in the memory to implement corresponding functions.

[0057] In a tenth aspect, a communication method is provided. The communication method may include the method implemented by the first communication device shown in the first aspect and any possible implementation manner thereof, the method implemented by the second communication device shown in the second aspect and any possible implementation manner thereof, or the method implemented by the third communication device shown in the third aspect and any possible implementation manner thereof.

[0058] In an eleventh aspect, a communication system is provided. The communication system may include a first communication device and a second communication device. Among them, the first communication device can be used to implement the method shown in the first aspect and any possible implementation manner thereof, and the second communication device can be used to implement the method shown in the second aspect and any possible implementation manner thereof. Optionally, the communication system may further include a third communication device, and the third communication device can be used to implement the method shown in the third aspect and any possible implementation manner thereof.

[0059] For the technical effects brought by the above fourth to eleventh aspects, reference can be made to the description of the beneficial effects of the corresponding solutions in the above first to second aspects, which will not be elaborated here. Description of the Drawings

[0060] Figure 1Schematic diagram of an NFV system architecture provided by an embodiment of this application;

[0061] Figure 2 Schematic diagram of the process of a communication method provided by an embodiment of this application;

[0062] Figure 3 Schematic diagram of memory bandwidth partitioning provided by an embodiment of this application;

[0063] Figure 4 Schematic diagram of the process of another communication method provided by an embodiment of this application;

[0064] Figure 5 Schematic diagram of the topology of hardware resource information provided by an embodiment of this application;

[0065] Figure 6 Schematic diagram of the process of another communication method provided by an embodiment of this application;

[0066] Figure 7 Schematic diagram of the process of another communication method provided by an embodiment of this application;

[0067] Figure 8 Schematic diagram of the process of another communication method provided by an embodiment of this application;

[0068] Figure 9 Schematic diagram of the structure of a communication device provided by an embodiment of this application;

[0069] Figure 10 Schematic diagram of the structure of another communication device provided by an embodiment of this application. Detailed implementation manners

[0070] Figure 1 It is a schematic diagram of the NFV architecture. The NFV architecture is a standard architecture used to define NFV implementation standards. The concept of NFV is to apply standardized network functions to hardware of a unified format. In the NFV architecture, the standardized software for implementing various network functions can usually be applied to the same hardware device, which requires NFV to have a unified standard. The NFV architecture includes NFVI, VNF, and MANO.

[0071] Among them:

[0072] NFVI is used for the virtualization of underlying hardware resources, enabling upper-layer software functions to run on virtualized hardware resources, such as running in a virtual machine (VM) or a container. NFVI includes a hardware layer and a virtualization layer. The hardware layer includes hardware devices that provide computing, network, and storage resource capabilities. The virtualization layer mainly completes the abstraction of hardware resources to form virtual resources, such as virtual computing resources, virtual storage resources, and virtual network resources.

[0073] VNF is used for software-defined network functions, implementing various network functions with software, such as virtual firewall functions, virtual switch functions, etc. In the NFV architecture, various VNFs are implemented based on NFVI. Since NFVI is a standardized architecture, different VNFs gain generality.

[0074] MANO is used to manage all infrastructure resources (i.e., underlying hardware resources) and flexibly allocate underlying hardware resources to VNFs based on the requirements of VNFs. MANO includes virtualized infrastructure managers (VIM), container infrastructure service management (CISM), VNF managers (VNFM), and NFV orchestrator (NFVO). VIM can also be called a management platform, a VIM platform, or a cloud platform, and can be used for resource discovery, management and allocation of virtual resources, fault handling, etc. VNFM is used to control the life cycle (instantiation, configuration, shutdown, etc.) of VNFs. NFVO is used for the orchestration and management of the NFV architecture, software resources, and network services. CISM can be used to manage container infrastructure service (CIS).

[0075] This NFV architecture can interact with the management functions of service providers. The management functions of service providers include, for example, operations support systems (OSS) and business support systems (BSS).

[0076] In the field of industrial embedded systems, with the evolution of the central processing unit (CPU) towards multi-core CPUs, it has become a trend to support hybrid critical systems by introducing real-time hypervisor (RT-hypervisor) technology. Type 1 hypervisors are commonly used, which have advantages such as a small codebase and easy security certification. However, real-time hypervisors generally target the embedded software and hardware ecosystem, lack open-source de facto standards, and are biased towards static deployment, making it difficult to meet the requirements of cloudified systems for commercial off-the-shelf (COTS) software and hardware ecosystems, dynamic orchestration and scheduling deployment, etc.

[0077] In this application, a hypervisor is an intermediate software layer running between a physical server and an operating system (which can be a software program or a firmware program). The hypervisor allows multiple operating systems and applications to share a set of underlying physical hardware, so it can also be regarded as the "meta" operating system in a virtual environment. It can coordinate access to all physical devices and virtual machines on the server. A hypervisor can also be called a virtual machine monitor (VMM).

[0078] In addition, existing open-source telecom cloud platforms in the industry generally adopt a type 2 hypervisor based on Linux: the kernel-based virtual machine (KVM). Although it has good COTS ecosystem support, it does not support real-time hypervisors, does not provide the runtime and orchestration support for hybrid critical systems, and has a huge codebase (at the level of tens of millions of lines of code), making it difficult to meet the requirements of scenarios such as security certification.

[0079] It can be seen that neither the current type 1 hypervisor nor the type 2 hypervisor can support the hybrid critical systems of various types of virtual machine monitors such as real-time, non-real-time, and embedded in cloudified scenarios.

[0080] The present application provides a virtual machine creation method for implementing a flexible virtual machine creation method in a hybrid critical system that supports real-time, non-real-time, and embedded virtual machine monitors. Among them, this method can be implemented by a manager (or management device) and a computing node. The manager can determine an appropriate computing node according to the creation requirements of the virtual machine and the information of the physical partitions of the computing node, so as to create a virtual machine that meets the requirements on the appropriate computing node, thereby meeting the flexible virtual machine creation requirements. Among them, the physical partition can be used to implement the isolation of virtual machines. If the computing node can meet the isolation requirements of multiple types of virtual machines, the creation and operation of different types of real-time and non-real-time virtual machines can be realized in the same hardware device, thereby supporting the hybrid orchestration of real-time and non-real-time virtual machine monitors.

[0081] In the present application, the manager can be, for example, Figure 1 the VIM shown, or it can also be other management devices such as CSIM; the computing node can be, for example, Figure 1 the NFVI shown, or it can also be other devices or nodes with computing capabilities such as CIS. The present application is not limited thereto. For example, the manager can be VIM and the computing node is NFVI. Another example is that in a container scenario, the manager can be CISM and the computing node can be CIS.

[0082] Figure 2 It is a schematic flowchart of a communication method provided by an embodiment of the present application. Taking the manager as VIM and the computing node as NFVI as an example, the method includes the following steps:

[0083] S101: VIM receives a first request for creating a virtual machine.

[0084] The first request is, for example, a virtual machine creation request. This request can come from a user device. The user device can be a terminal device, such as a terminal running or deploying a low-latency service application or other applications, or a network device in a mobile network. The first request can be generated by an application. The user device can communicate with VIM through VNFM. Or it can also be considered that VNFM is the user device.

[0085] Among them, the first request may include first requirement information of the virtual machine. The first requirement information can indicate the requirements of the physical partition and / or the computing resource requirements of the virtual machine.

[0086] S102: VIM determines a first NFVI according to the first requirement information and the information of the physical partition of the NVFI.

[0087] Among them, the computing node can refer to one or more NVFIs managed (such as incorporated) by VIM. The first NFVI can be one or more NVFIs among the NVFIs managed by VIM.

[0088] In S102, the VIM can determine the NFVI whose physical partition information meets the requirements of the first requirement information as the first NFVI.

[0089] Optionally, before S102, the VIM can collect and store the information of the physical partitions of the NFVIs it manages. Among them, the information of the physical partitions can indicate the information of the physical partitions supported by the NFVI.

[0090] The NFVI can report the information of the physical partitions to the VIM during the management process of the cloud platform. For example, the process of reporting the information of the physical partitions of the NFVI will be introduced in combination with the management process shown below, and will not be elaborated here for the time being. Figure 3 The process of reporting the information of the physical partitions of the NFVI will be introduced in combination with the management process shown below, and will not be elaborated here for the time being.

[0091] S103: The VIM sends a second request to the first NVFI, and the second request is used to request the first computing node to create a virtual machine.

[0092] Correspondingly, the first computing node can create a virtual machine according to the second request.

[0093] Next, the first requirement information involved in S101 will be introduced.

[0094] In this application, the first requirement information may include a partitioning requirement, and the partitioning requirement can be used to indicate the requirements of the virtual machine to be created for the physical partition. Among them, the partitioning requirement includes an indication for indicating that the virtual machine monitor adopts an embedded type. For example, this indication is an embedded indication. Or, the partitioning requirement includes an indication for indicating the image adopted by the virtual machine monitor. For example, this indication can be an image name, an image corresponding to a real-time virtual machine, or an image corresponding to a non-real-time virtual machine. Exemplarily, the image of the real-time virtual machine monitor is, for example, a lightweight real-time virtual machine monitor (Nano real-time hypervisor, Nano-visor) image or an RT-hypervisor image.

[0095] As an example, for a virtual machine monitor, the indication for indicating that the virtual machine monitor adopts an embedded type and the indication for indicating the image adopted by the virtual machine monitor can reuse the same field.

[0096] Optionally, in this application, the VIM can receive the image of the virtual machine monitor, and the VIM can provide the image of the virtual machine monitor to computing nodes such as the NFVI by sending or downloading. Among them, the image of the virtual machine monitor can be provided by the user.

[0097] Optionally, the first requirement information may further include the computing resource information of the requirement. The computing resource information may indicate the resources required for one or more virtual machines to be created. Among them, the virtual machines to be created may include real-time virtual machines and / or non-real-time virtual machines. For example, the computing resource information may indicate the total amount of resources of multiple virtual machines to be created.

[0098] Exemplarily, the computing resource information includes at least one of the following:

[0099] (1) Non-uniform memory access (NUMA) affinity requirement information. For example, this information can be used to indicate whether NUMA affinity is required.

[0100] (2) Isolated information of the last-level cache (cache) required. Among them, the last-level cache refers to the L3 cache. For example, this information can be used to indicate whether the isolation of the L3 cache is required.

[0101] (3) The size of the last-level cache required. For example, the size value is, for example, 20 megabytes (M) or other automatically allocated values, and the default value can be auto.

[0102] (4) Bandwidth (BWP) information of the memory required. The bandwidth information is, for example, the memory bandwidth. The memory bandwidth can represent the rate at which the processor reads data from the memory or stores data in the memory. For example, it refers to the amount of information accessed by the memory per unit time. For example, the memory bandwidth value is, for example, 10 gigabytes per second (GB / s) or other automatically allocated values, and the default value can be auto.

[0103] (5) Quality of service (QoS) information of the memory required, such as latency requirements. For example, according to the latency requirements, the memory bandwidth can be divided into a constant region, a linear region, and a default region. Among them, as Figure 3 shown, the access latency of the memory bandwidth in the constant region is the lowest, and it can be considered that the latency has nothing to do with the bandwidth change; the access latency of the memory bandwidth in the linear region is the second, and it can be considered that the latency change is linearly related to the bandwidth increase; the access latency of the memory bandwidth in the default region is uncertain corresponding to Figure 4 the specific exponential interval.

[0104] In addition, it should be understood that Figure 3The specific values of the exponent range in [[]] are only examples and are not restrictive descriptions, that is, different scenarios or memories may have different values for the exponent range.

[0105] Exemplarily, the quality-of-service information of the required memory can be used to indicate the constant region, the linear region, or the default region. Among them, the default value is the default region. Among them, for applications with high real-time requirements, low-latency memory bandwidth QoS can be required, and the memory bandwidth QoS can be defined as the constant region in the container or virtual machine resource description. For applications without real-time requirements, the memory bandwidth QoS can be specified or defaulted to the default region.

[0106] (6) The required peripheral requirement information, such as the required peripheral identifier, type, topology (TOPO) information, peripheral affinity information, peripheral parameters, operating state, peripheral size, and expansion information, etc. Among them, the expansion information includes, for example, whether the peripheral supports virtual function (VF), the number of supported VFs, the maximum transmission unit (MTU), etc.

[0107] In this application, the peripherals can include storage hardware, network cards, data processing units (DPUs), graphics processing units (GPUs), neural processing units (NPUs), etc.

[0108] It can be understood that the above partition requirements and the required computing resource information can be carried in the same message or information.

[0109] It can also be understood that the description of the first request can also be replaced with: the first request includes at least one of an indication for instructing the virtual machine monitor to adopt an embedded mode, an indication for instructing the virtual machine monitor to adopt an image, NUMA affinity requirement information, isolation information of the required last-level cache, the size of the required last-level cache, the bandwidth information of the required memory, the quality-of-service information of the required memory, or the required peripheral requirement information.

[0110] Next, the information of the physical partition of NFVI will be introduced.

[0111] In this application, the information of the physical partition of NFVI may include one or more of the following information:

[0112] (1) Information for indicating whether physical partitioning is supported. This information can be used to indicate whether the NFVI supports multiple physical partitions to achieve isolation of different physical partitions. Among them, if multiple physical partitions are supported, it means that the NFVI can support a hybrid critical system of real-time and non-real-time virtual machine monitors; conversely, if multiple physical partitions are not supported, it means that the NFVI does not support a hybrid critical system of real-time and non-real-time virtual machine monitors.

[0113] (2) Type information of physical partitions, which can be used to indicate whether the NFVI supports multiple physical partitions and / or indicate the number of physical partitions supported by the NFVI. Among them, the type information is, for example, the manufacturer identifier or model of the physical partition.

[0114] (3) The number of supported physical partitions. Among them, if the NFVI supports multiple physical partitions, it means that it has the ability of multiple physical partitions.

[0115] (4) Information for indicating whether it supports the implementation of physical partitions and an embedded hypervisor, such as the capability identifier of the embedded hypervisor.

[0116] In this application, the virtual machine monitor can be an embedded real-time virtual machine, or a real-time virtual machine monitor integrated with the hardware. Compared with a real-time virtual machine monitor, only one real-time virtual machine will be deployed in the virtualization environment for the virtual machine monitor, and virtualization capabilities will be provided separately for this real-time virtual machine; compared with a lightweight real-time virtual machine monitor, in the virtualization environment, the virtual machine monitor has the advantage of better real-time virtualization performance and is suitable for real-time applications with low jitter and latency requirements. The disadvantage of the virtual machine monitor is that it depends on the hardware to provide this capability.

[0117] (5) Type information of the supported embedded hypervisor, such as the hypervisor type field. In this application, the type information of the hypervisor can be the manufacturer identifier or model of the hypervisor.

[0118] (6) The number of supported embedded hypervisors. Among them, if multiple embedded hypervisors are supported, multiple embedded hypervisors can be deployed in different physical partitions.

[0119] Optionally, the information of the physical partitions of the NFVI can also include a physical partition capability identifier, which can be used to determine the above-mentioned one or more pieces of information about physical partitions. For example, there is an association relationship between the physical partition capability identifier and the above-mentioned one or more pieces of information about physical partitions. The VIM can determine the information about the physical partitions corresponding to the physical partition capability identifier reported by the NFVI by querying the corresponding association relationship, and use the query result as the information about the physical partitions of the NFVI.

[0120] Optionally, the NFVI may also report the computing resource information of the NFVI to the VIM. The resource information of the NFVI can be used to select the NFVI. For example, when the first requirement information includes requirement information related to computing resources, the VIM can select the NFVI based on the requirement information related to computing resources and the computing resource information of the NFVI.

[0121] Exemplarily, the computing resource information of the NFVI may include one or more of the following information:

[0122] (1) NUMA affinity information. For example, this information can be used to indicate whether the computing resources of the NFVI have NUMA affinity.

[0123] (2) Isolation information of the last-level cache. For example, this information can be used to indicate whether the L3 cache has isolation.

[0124] (3) Size of the last-level cache.

[0125] (4) Bandwidth information of the memory.

[0126] (5) Quality of service information of the memory.

[0127] (6) Peripheral information, such as the peripheral identifier, type, TOPO information, peripheral affinity information, peripheral parameters, operating status, or peripheral size and expansion information, etc. that the NFVI has. TOPO information such as NUMA information, location information, bus number, etc. to which the peripheral belongs.

[0128] It can be understood that the above information on the physical partition and computing resource information of the NFVI can be carried in the same message or information.

[0129] The second request involved in S103 will be described below.

[0130] The second request may include second requirement information. The second requirement information may be determined based on the first requirement information, or rather, the second requirement information may be determined based on the partition requirement and / or the required computing resource information. For example, the second requirement information may be the same as the first requirement information, or it may be obtained by the VIM after processing based on the first requirement information. The present application does not specifically limit this. Referring to the description of the first requirement information, the second requirement information may include a partition requirement, and optionally may also include the required computing resource information. Among them, the partition requirement and the required computing resource information may refer to the description in the present application, and the repeated parts will not be elaborated.

[0131] For example, the second requirement information can be used to indicate the requirements of a virtual machine. For example, the second requirement information may include computing resource information of the requirements. Also, in the case where multiple virtual machines need to be created, the second requirement information may include partitioning requirements for indicating the isolation requirements of multiple types of virtual machines.

[0132] It can be understood that the first computing node can create a virtual machine according to the second requirement information. Among them, the first computing node can also create a physical partition according to the second requirement information and create a corresponding virtual machine in the physical partition. That is to say, the first computing node can create a physical partition and create a virtual machine based on the second request.

[0133] In addition, the first computing node can also create a corresponding virtual machine in the already created physical partition.

[0134] In a possible implementation manner, before S103, the VIM can also send a creation request for a physical partition to the first NFVI. Among them, the creation request for the physical partition can be used by the first NFVI to create a physical partition, and the created physical partition can be used to run a virtual machine. For example, the VIM can receive the information of the physical partition fed back by the first NFVI. Correspondingly, in S103, the VIM can also instruct the first NFVI to create a virtual machine in the physical partition. For example, the second request or the second requirement information can also include information such as the name and identifier of the physical partition, or include information such as the name or identifier of the virtual machine monitor associated with the physical partition. Or, the information of the physical partition and / or the information of the virtual machine monitor associated with the physical partition can also be sent independently of the second request, and the present application does not specifically limit this.

[0135] In this implementation manner, the VIM can instruct the physical partition for running the virtual machine to be created, so that the VIM can implement the management of physical partitions and virtual machine resources, and reduce the management burden of physical partitions and virtual machine resources of the NFVI.

[0136] In another implementation manner, the first NFVI can also create a physical partition based on the second request, and at this time, it is not necessary for the VIM to send a creation request for the physical partition. For example, in the case where the second requirement information indicates the creation of multiple types of virtual machines such as real-time, non-real-time, or embedded, the first NFVI can create multiple physical partitions and run different types of virtual machines in the multiple physical partitions respectively to achieve the isolation of different types of virtual machines.

[0137] In this implementation manner, the first NFVI can determine the association relationship between the physical partition and the virtual machine by itself. Optionally, in this implementation manner, the first NFVI can also feedback the association relationship between the physical partition and the virtual machine to the VIM, so that the VIM can implement the management of physical partitions and virtual machine resources.

[0138] The method provided by the present application will be described below in conjunction with embodiments respectively.

[0139] Embodiment 1, as Figure 4 shown is a NFVI registration process provided by the present application, including the following steps:

[0140] S201: VIM registers NFVI;

[0141] Among them, registration means that a NFVI computing node belongs to a VIM.

[0142] The NFVI in this process can be one or more NFVIs registered by VIM, that is, NFVI includes but is not limited to the first NFVI.

[0143] S202: Optionally, VIM deploys a cloud resource management platform node agent in this NFVI.

[0144] The cloud resource management platform node agent can be abbreviated as node agent hereinafter. The node agent is a management process of a NFVI. In the present application, the node agent can specifically manage NFVI. For example, it can be used for collecting and reporting NFVI information, that is, the node agent is a management process. Optionally, NFVI can collect and report physical partition information and computing resource information through the node agent. Therefore, the original node agent or other management processes can be used in NFVI to collect and report physical partition information and computing resource information, without the need to establish an additional management process, which can save NFVI resources.

[0145] S203: NFVI obtains the hardware resource information of NFVI, including physical partition information and computing resource information.

[0146] S203 can be executed by the node agent of NFVI.

[0147] Among them, NFVI can support the physical partition function. For example, it supports dividing the physical partition into multiple partitions.

[0148] Optionally, NFVI can be configured to support S203. For example, NFVI has installed an operating system, and / or NFVI has pre-installed physical partition related management software and drivers.

[0149] For ease of understanding, the resource topology of the hardware resource information of NFVI is as Figure 5As shown. It can be seen that the NFVI can collect the hardware resource information of the NFVI, including collecting the information of the physical partitions of the NFVI. Optionally, the hardware resource information may further include the computing resource information of the NFVI, such as at least one of NUMA affinity information, isolation information of the last-level cache, size of the last-level cache, memory bandwidth information, memory quality of service information, or peripheral information.

[0150] Exemplarily, S203 can be executed by the node agent.

[0151] S204: The NFVI assembles the hardware resource information and reports the hardware resource information to the VIM.

[0152] For example, S204 can be executed by the node agent.

[0153] S205: The VIM saves and maintains the hardware resource information of the NFVI.

[0154] Based on Embodiment 1, efficient reporting of the hardware resource information of the NFVI can be achieved, and the VIM maintains and manages the hardware resource information of the NFVI. Among them, the hardware resource information may include the information of the physical partitions of the NFVI and / or computing resource information, so it can be used in S102 for the VIM to determine the first NFVI.

[0155] Embodiment 2, as Figure 6 shown is a virtual machine creation process provided by the present application. This process can implement the selection of the NFVI based on the requirement information and the creation of virtual machines in the NFVI. In this embodiment, the created virtual machine can be a real-time virtual machine. That is to say, in this embodiment, only one real-time virtual machine can be created in one physical partition. This process may include the following steps:

[0156] S301: The user uploads the image corresponding to the real-time virtual machine monitor to the VIM. For example, the image corresponding to the real-time virtual machine monitor is the Nano-visor image.

[0157] It can be understood that since real-time virtual machine applications need to be supported, and the original type 2 hypervisor (such as KVM) has relatively weak support for real-time applications, a real-time virtual machine monitor needs to be introduced. Therefore, in S301, the image corresponding to the real-time virtual machine monitor can be uploaded as needed, such as the Nano-visor image, and the corresponding software and drivers related to the real-time virtual machine monitor can be installed based on this image.

[0158] The user is, for example, a network device running an application.

[0159] S302: The user sends the virtual machine resource configuration to the VNFM.

[0160] The virtual machine resource configuration can be an example of the first requirement information in S101. Or it can also be understood that the virtual machine resource configuration in S302 includes the first requirement information in S101.

[0161] Exemplarily, the virtual machine resource configuration may include the following partition requirements field:

[0162]

[0163]

[0164] In the above field examples, the "Partition Requirements" field can be an example of the partition requirements. The "Hypervisor" field can be an example of the physical partition information of the NFVI. When its value is "Nano-visor image" (or replaced with the image corresponding to other real-time virtual machines), it means that Nano-visor needs to be run. At this time, the "Hypervisor" field can be used as an indication for instructing the virtual machine monitor to adopt the image. When its value is "EmbeddedHypervisor", it means that the virtual machine needs to be run in an embedded manner. At this time, "Hypervisor" can be used as an indication for instructing the virtual machine monitor to adopt the embedded mode. "NUMA affinity" can be an example of the NUMA affinity information. In "LLCCache", "Isolated" can be an example of the isolation information of the last-level cache of the NFVI; "Size" can be an example of the size of the last-level cache of the NFVI. "Bandwidth" in "Memory" can be an example of the bandwidth information (such as memory bandwidth) of the NFVI's memory; "QoS" can be an example of the quality-of-service information of the NFVI's memory. "Device Info List" can be an example of the peripheral requirements information of the NFVI.

[0165] It can be understood that in the above field examples, any one of "Hypervisor", "NUMA affinity", "LLC Cache", "Memory", or "Device Info List" can also be carried in other fields other than "Partition Requirements", and this application does not specifically limit. For example, "Hypervisor" is carried in the "Partition Requirements" field, and "NUMA affinity", "LLC Cache", and "Memory" are carried in other fields other than "Partition Requirements".

[0166] Optionally, the virtual machine resource configuration may further include resource information of a real-time virtual machine. The resource information of the real-time virtual machine may correspond to the computing resource information in the first requirement information. The resource information of the real-time virtual machine may, for example, include an operating systems (OS) image field, such as including the operating system image of the virtual machine. The operating system image of the virtual machine includes a real-time operating system (RTOS) image or an image of a non-real-time operating system, and the image of the non-real-time operating system is, for example, a general purpose operating system (GPOS) image. In addition, the virtual machine resource configuration may further include information such as the number of CPUs required by the virtual machine, the memory size, and the disk size.

[0167] Optionally, the "Partition Requirements" field and / or the virtual machine resource configuration may be determined according to a template stored in a virtualized network function descriptor (VNFD). The VNFD is a deployment template for NFV.

[0168] S303: The VNFM sends the virtual machine resource configuration to the VIM.

[0169] As an example of S303, the VNFM may call the Create VM interface to send a virtual machine creation command to the VIM. The virtual machine creation command may include the virtual machine resource configuration. The Create VM interface may be an interface for creating a virtual machine. As another example, the virtual machine resource configuration may also be sent independently of the virtual machine creation command. The VNFM may also call other interfaces other than the Create VM interface to send the virtual machine resource configuration to the VIM.

[0170] S303 can be used as an exemplary implementation of S101. For example, S303 can also be replaced with: the VNFM sends a first request to the VIM, and the first request contains first requirement information. The first requirement information can be used as or included in the virtual machine resource configuration.

[0171] In S303, the VNFM can send a create RT-Hypervisor command for the VNFC to the VIM by invoking the VIM interface, and the virtual machine resource configuration can be carried in the interface.

[0172] S304: The VIM selects an NFVI according to the virtual machine resource configuration and the computing resource information of the NFVI.

[0173] Before S304, the VIM can parse the virtual machine resource configuration to obtain the partition requirements, and optionally, the required computing resource information can also be obtained. As described above, the partition requirement field can be used as the partition requirements.

[0174] Based on S304, the VIM can select an appropriate NFVI according to the virtual machine resource configuration and the computing resource information of the NFVI managed by the VIM to create a virtual machine on the NFVI. Specifically, the VIM can select one or more NFVIs that meet the partition requirements through filtering and other methods, and further select the NFVI in combination with other computing resource information, so as to schedule the application to the virtual machine created by the optimal NFVI.

[0175] Among them, the computing resource information of the NFVI can be collected by the VIM from the NFVI. The collection method of the computing resource information of the NFVI can refer to the description of Embodiment 1. The VIM can also implement the collection of the resource information of the NFVI in other ways, which is not specifically limited in this application.

[0176] It can be understood that S304 can be used as an example of S102, or rather, the selected NFVI can be used as Figure 2 An example of the first NFVI in the process.

[0177] S305: The VIM sends a virtual machine creation message to the selected first NFVI.

[0178] The virtual machine creation message can carry the virtual machine resource configuration. The virtual machine resource configuration can be provided by the VNFM, or can be updated by the VIM based on the virtual machine resource configuration provided by the VNFM.

[0179] S305 can be used as an example of S103, or rather, the virtual machine creation message can be used as an example of the second request.

[0180] S306: The NFVI downloads the virtual machine monitor image according to the virtual machine creation message.

[0181] For example, the NFVI may download the virtual machine monitor image from the VIM.

[0182] In one example of S306, the NFVI may download the image of the real-time virtual machine monitor according to the "Hypervisor" field, or determine to run the virtual machine in an embedded manner according to the "Hypervisor" field.

[0183] If the user instructs to run the virtual machine in an embedded manner, the image is embedded in the hardware, that is, the image is run in an embedded manner.

[0184] S307: After downloading the virtual machine image, the NFVI calls the operating system interface to create a corresponding physical partition to isolate and limit related resources.

[0185] S307 may be executed by the NFVI based on the virtual machine image.

[0186] The NFVI may also boot the Nano-visor image or enable the embedded hypervisor as needed within the corresponding physical partition, and finally create an RT-VM on the hypervisor corresponding to the Nano-visor image or the embedded hypervisor, start the virtual machine image, and run real-time applications.

[0187] Optionally, after creating the virtual machine, the NFVI may provide the association relationship between the created virtual machine and the physical partition to the VIM. For example, the NFVI indicates the identifier of the virtual machine and the identifier of the physical partition (or node agent) to the VIM, so that the VIM can manage the virtual machine and the physical partition.

[0188] Optionally, the actions shown in S306 - S307 may be executed by the node agent in the NFVI.

[0189] Based on Figure 6 the shown process, the selection of the NFVI can be implemented based on the user's virtual machine resource configuration, and a real-time virtual machine can be created in the selected NFVI. Among them, the virtual machine resource configuration can be used as an example of the first requirement information.

[0190] Embodiment 3, as Figure 7 shown is another virtual machine creation process provided by the present application. This process can implement the selection of the NFVI based on the requirement information and the creation of a virtual machine in the NFVI. In this embodiment, a group of virtual machines can be created, and the group of virtual machines can include real-time virtual machines and / or non-real-time virtual machines. This process may include the following steps:

[0191] S401: The user uploads the image corresponding to the virtual machine monitor to the VIM.

[0192] It can be understood that when a real-time virtual machine needs to be created, a real-time virtual machine monitor needs to be introduced. Therefore, in S401, the user can upload the image corresponding to the real-time virtual machine monitor as needed, such as the Nano-visor image, and install the corresponding software and drivers related to the real-time virtual machine monitor based on this image. In addition, if a non-real-time virtual machine needs to be created, in S401, the user can also upload the image corresponding to the non-real-time virtual machine monitor.

[0193] For example, the image corresponding to the real-time virtual machine monitor is the Nano-visor image, and the image corresponding to the non-real-time virtual machine monitor can be the GPOS image.

[0194] S402: The user sends the configuration information of the virtual machine group to the VNFM.

[0195] The configuration information of the virtual machine group may include the resource configuration of a group of virtual machines requested by the user to create. It can also be said that the configuration information of the virtual machine group can be a request to create a real-time virtual machine group.

[0196] Exemplarily, the configuration information of the virtual machine group may include a partition requirement field. The partition requirement field may correspond to the partition requirement in the first requirement information.

[0197] Among them, the partition requirement field can refer to the description in S302. Optionally, Figure 7 In the shown process, the value of the "Hypervisor" field in the partition requirement field can be "RT-Hypervisor image", indicating that a real-time virtual machine needs to be run.

[0198] In addition, the configuration information of the virtual machine group may also include the resource information of one or more real-time virtual machines and / or the resource information of one or more non-real-time virtual machines in a group of virtual machines, that is, corresponding to the computing resource information in the first requirement information. The configuration information of the virtual machine group can be an example of the first requirement information in S101. Or it can also be understood that the configuration information of the virtual machine group in S402 includes the first requirement information in S101.

[0199] Exemplarily, the resource information of the real-time virtual machine can indicate the computing resource information of the real-time virtual machine that the user hopes to create, and the resource information of the non-real-time virtual machine can indicate the computing resource information of the real-time virtual machine that the user hopes to create.

[0200] For example, the resource information of the real-time virtual machine may include the OS image field of the virtual machine, for example, including the RTOS image. In addition, the resource information of the real-time virtual machine may also include information such as the number of CPUs required for the real-time virtual machine, the memory size, the disk size, or the NUMA affinity.

[0201] In addition, the configuration information of the virtual machine group may further include the quantity information of the real-time virtual machines required to be created by the user.

[0202] As an example, the resource information of the real-time virtual machines may include the following RT virtualized network function component (VNFC) fields.

[0203]

[0204] In the above field examples, "OS image" may include the RTOS image; fields such as "CPU Num", "Mem Size", "DiskSize", "Other Resource Size", or "NUMA affinity" may indicate information such as the number of CPUs, memory size, disk size, or NUMA affinity required by the real-time virtual machines. The RT VM instance quantity may indicate the quantity information of the real-time virtual machines required to be created by the user.

[0205] It can be understood that in the above field examples, any one of "OS image", "resource request", "CPU Num", "Mem Size", "Disk Size", "Other Resource Size", or "NUMA affinity" may also be carried in other fields other than "RTVNFC", and the present application does not specifically limit this.

[0206] In addition, the resource information of the non-real-time virtual machines may include the OS image field of the virtual machines, for example, including the GPOS image. Moreover, the resource information of the non-real-time virtual machines may further include information such as the number of CPUs, memory size, disk size, or NUMA affinity information required by the real-time virtual machines.

[0207] In addition, the configuration information of the virtual machine group may further include the quantity information of the non-real-time virtual machines required to be created by the user. As an example, the resource information of the non-real-time virtual machines may include the following NRT VNFC fields.

[0208]

[0209] In the above field examples, "OS image" may include the GPOS image; fields such as "CPU Num", "Mem Size", "DiskSize", "Other Resource Size", or "NUMA affinity" may indicate information such as the number of CPUs, memory size, disk size, or NUMA affinity required by the non-real-time virtual machines. The NRT VM instance quantity may indicate the quantity information of the non-real-time virtual machines required to be created by the user.

[0210] It can be understood that in the above field examples, any one of "OS image", "resource request", "CPU Num", "Mem Size", "Disk Size", "Other Resource Size", or "NUMA affinity" can also be carried in other fields other than "NRT VNFC", and the present application does not specifically limit this.

[0211] Optionally, at least one of the "NRT VNFC" field, "RT VNFC" field, or "Partition Requirements" field can be determined according to the template stored in the VNFD.

[0212] S403: The VNFM sends the configuration information of the virtual machine group to the VIM.

[0213] As an example of S403, the VNFM can call the create VM group interface to send a virtual machine creation command to the VIM. The virtual machine creation command can include the configuration information of the virtual machine group. As another example, the configuration information of the virtual machine group can also be sent independently of the virtual machine creation command. The VNFM can also call other interfaces other than the create VM group interface to send the configuration information of the virtual machine group to the VIM.

[0214] Among them, the create VM group interface can be used to support requesting the creation of a virtual machine group from the VIM in a scenario where real-time virtual machines and non-real-time virtual machines are mixed.

[0215] S403 can be an exemplary implementation manner of S101. For example, S403 can also be replaced with: The VNFM sends a first request to the VIM, and the first request includes first requirement information. The first requirement information can be used as the configuration information of the virtual machine group or included in the configuration information of the virtual machine group.

[0216] S404: The VIM selects an NFVI according to the configuration information of the virtual machine group and the computing resource information of the NFVI.

[0217] Before S404, the VIM can parse the configuration information of the virtual machine group to obtain the partition requirements, and optionally, the required computing resource information can also be obtained. As described above, the partition requirements field can be used as the partition requirements.

[0218] Based on S404, the VIM can select an appropriate NFVI according to the configuration information of the virtual machine group and the computing resource information of the NFVI managed by the VIM, so as to create a virtual machine on the NFVI. Specifically, the VIM can select one or more NFVIs that meet the partition requirements through filtering and other methods, and further select an NFVI in combination with other computing resource information, so as to schedule the application to the virtual machine created by the best NFVI.

[0219] Among them, the computing resource information of the NFVI can be collected by the VIM from the NFVI. The collection method of the computing resource information of the NFVI can refer to the description of Embodiment 1. The VIM can also collect the resource information of the NFVI in other ways, which is not specifically limited in this application.

[0220] It can be understood that S404 can be used as an example of S102, or rather, the selected NFVI can be used as Figure 2 an example of the first NFVI in the process.

[0221] S405: The VIM sends a virtual machine creation message to the selected NFVI.

[0222] In Figure 7 it, the selected NFVI is denoted as the first NFVI.

[0223] The virtual machine creation message may carry the configuration information of the virtual machine group. The configuration information of the virtual machine group may be provided by the VNFM, or may be updated by the VIM on the basis of the configuration information of the virtual machine group provided by the VNFM.

[0224] S405 can be used as an example of S103, or rather, the virtual machine creation message can be used as an example of the second request.

[0225] S406: The NFVI downloads the virtual machine monitor image according to the virtual machine creation message.

[0226] For example, the NFVI can download the virtual machine monitor image from the VIM.

[0227] In an example of S406, the partition requirement field in the configuration information of the virtual machine group may include the "Hypervisor" field. The NFVI can download the image corresponding to the real-time virtual machine according to the "Hypervisor" field, or determine to run the virtual machine in an embedded manner according to the "Hypervisor" field.

[0228] If the user instructs to run the virtual machine in an embedded manner, the image is embedded in the hardware, that is, the image is run in an embedded manner.

[0229] S407: After downloading the virtual machine image, the NFVI calls the operating system interface to create a corresponding physical partition to isolate and limit relevant resources.

[0230] The NFVI can also boot the RT-hypervisor image as needed within the corresponding physical partition.

[0231] S408: VIM sends a message for creating a real-time virtual machine interface and / or a message for creating a non-real-time virtual machine interface to the NFVI.

[0232] Among them, the interface for creating a real-time virtual machine can be an interface for creating a real-time virtual machine. The resource information and physical partition information of the real-time virtual machine can be carried in the message for creating a real-time virtual machine interface. The physical partition information can indicate the physical partition corresponding to the real-time virtual machine. The physical partition information is, for example, the name or identifier of the physical partition.

[0233] The message for creating a non-real-time virtual machine interface can be an interface for creating a non-real-time virtual machine. The resource information and physical partition information of the non-real-time virtual machine can be carried in the message for creating a real-time virtual machine interface. The physical partition information can indicate the physical partition corresponding to the non-real-time virtual machine. The physical partition information is, for example, the name or identifier of the physical partition.

[0234] Among them, the resource information of the real-time virtual machine carried in the message for creating a real-time virtual machine interface can be a subset of the resource information of the real-time virtual machine in the configuration information of the virtual machine group. For example, it is the resource information of a part of the real-time virtual machines in the virtual machine group. Similarly, the resource information of the non-real-time virtual machine carried in the message for creating a non-real-time virtual machine interface can be part or all of the resource information of the non-real-time virtual machine in the configuration information of the virtual machine group. For example, it is the resource information of a part of the non-real-time virtual machines in the virtual machine group.

[0235] That is to say, the configuration information of the virtual machine group can carry the resource requirements of the entire virtual machine group as a whole. In S408, the message for the real-time virtual machine interface can carry the resource requirements of one or more real-time virtual machines to be created, and the message for the non-real-time virtual machine interface can carry the resource requirements of one or more non-real-time virtual machines to be created.

[0236] S409: The NFVI downloads the OS image of the virtual machine as needed according to the message for creating a real-time virtual machine interface and / or the message for creating a non-real-time virtual machine interface.

[0237] For example, for a real-time virtual machine, the NFVI can download an RTOS image; for a non-real-time virtual machine, the NFVI can download a GPOS image.

[0238] S410: The NFVI creates a real-time virtual machine and / or a non-real-time virtual machine according to the physical partition information.

[0239] In addition, the NFVI can start the virtual machine image and run real-time applications and / or non-real-time applications.

[0240] For example, the NFVI may create real-time virtual machines and / or non-real-time virtual machines according to the "Hypervisor" field in the physical partition information in the corresponding virtual machine monitor, and then start the virtual machine image to run real-time applications on the real-time virtual machines and / or run non-real-time applications on the non-real-time virtual machines.

[0241] Optionally, after creating a virtual machine, the NFVI may provide the VIM with the association relationship between the created virtual machine and the physical partition. For example, the NFVI may indicate the identifier of the virtual machine and the identifier of the physical partition (or node agent) to the VIM so that the VIM can manage the virtual machine and the physical partition.

[0242] The operations of S406 - S407 and S409 - S410 may be executed by the node agent in the NFVI.

[0243] Based on Figure 7 the shown process, the selection of the NFVI may be implemented based on the user's virtual machine resource configuration, and a group of virtual machines may be created in the selected NFVI. Among them, the configuration information of the virtual machine group may be used as an example of the first requirement information.

[0244] Embodiment 4, as Figure 8 shown is another virtual machine creation process provided by this application. This process can implement the selection of the NFVI based on the requirement information and the creation of virtual machines in the NFVI. In this embodiment, the created virtual machines may be multiple real-time virtual machines, and the multiple real-time virtual machines may be based on the same or different virtual machine instances. In this embodiment, a physical partition may create multiple real-time virtual machines. Among them, the name of the virtual machine monitor is referenced to associate the physical partition with the virtual machine or the virtual machine monitor, so there is no need to repeatedly describe the partition information of the physical partition during the creation process of each real-time virtual machine.

[0245] This process may include the following steps:

[0246] S501: The user uploads the image corresponding to the virtual machine monitor to the VIM.

[0247] It can be understood that when a real-time virtual machine needs to be established, a real-time virtual machine monitor needs to be introduced. Therefore, in S401, the user may upload the image corresponding to the real-time virtual machine monitor as needed, such as the Nano-visor image, and install the corresponding software and drivers related to the real-time virtual machine monitor based on this image.

[0248] For example, the image corresponding to the real-time virtual machine monitor is the Nano-visor image.

[0249] S502: The user sends the configuration information of the real-time virtual machine monitor to the VNFM.

[0250] The configuration information of the real-time virtual machine monitor can be taken as an example of the first requirement information in S101. Or it can also be understood that the virtual machine resource configuration in S502 includes the first requirement information.

[0251] Among them, the configuration information of the real-time virtual machine monitor may include the name or identifier of the virtual machine monitor, which is used to represent the association between the physical partition to be established and the virtual machine monitor.

[0252] Exemplarily, the configuration information of the real-time virtual machine monitor may include partition requirements. For example, the partition requirements are the "Partition Requirements" field, that is, the "Partition Requirements" field can be taken as an example of the partition requirements. The "Partition Requirements" field can refer to the description in S302.

[0253] Different from S302, in S502, "Partition Requirements" may include the name or identifier of the virtual machine monitor, which is used to identify a virtual machine monitor.

[0254] For example, the content of the "Partition Requirements" field is as follows:

[0255]

[0256]

[0257] Among them, the "Name" field is used to indicate the name or identifier of the current physical partition. The meanings of each field in the above "Partition Requirements" field can refer to S302.

[0258] Optionally, the configuration information of the real-time virtual machine monitor may further include the resource information of the real-time virtual machine, which is used to indicate the resource requirements of the real-time virtual machine to be created. The resource information of the real-time virtual machine may correspond to the computing resource information in the first requirement information. The resource information of the real-time virtual machine may include information such as the number of CPUs required by the virtual machine, the memory size, and the disk size. Among them, the resource information of the real-time virtual machine in the configuration information of the real-time virtual machine monitor may be carried in the same configuration information as the partition requirement field.

[0259] For example, the resource information of the real-time virtual machine is the "Resource Request" field in "RT-Hypervisor", and the partition requirement is the "Partition Requirements" field in "RT-Hypervisor", as shown below:

[0260]

[0261] Among them, "RT-Hypervisor" can be used as the configuration information of the real-time virtual machine monitor. "CPU Num" can indicate the number of CPUs required by the virtual machine, "Mem Size" can indicate the memory size required by the virtual machine, "Disk Size" can indicate the disk size required by the virtual machine, and "Other Resource Size" can indicate the size of other resources required by the virtual machine.

[0262] Optionally, the configuration information of the real-time virtual machine monitor can be determined according to the template stored in the virtualized VNFD.

[0263] S503: The VNFM sends the configuration information of the real-time virtual machine monitor to the VIM.

[0264] As an example of S503, the VNFM can call the Create VM interface to send a command to create a real-time virtual machine monitor to the VIM. The command to create a real-time virtual machine monitor can include the configuration information of the real-time virtual machine monitor. As another example, the configuration information of the real-time virtual machine monitor can also be sent independently of the command to create a real-time virtual machine monitor. The VNFM can also call other interfaces other than the Create VM interface to send the virtual machine resource configuration and / or the configuration information of the real-time virtual machine monitor to the VIM.

[0265] S503 can be used as an exemplary implementation of S101. For example, S503 can also be replaced by: The VNFM sends a first request to the VIM, and the first request includes first requirement information. The first requirement information can be or included in the configuration information of the real-time virtual machine monitor.

[0266] In S503, the VNFM can send a command to create RT-Hypervisor of the VNFC to the VIM by calling the VIM interface, and the configuration information of the real-time virtual machine monitor can be carried in the interface.

[0267] S504: The VIM selects an NFVI according to the configuration information of the real-time virtual machine monitor and the computing resource information of the NFVI.

[0268] For the description of S504, reference can be made to the description of S304. For example, the VIM selects a suitable NFVI according to the resource information and partition requirements of the real-time virtual machine.

[0269] S505: The VIM sends a creation request for a physical partition to the selected NFVI to request the creation of a physical partition.

[0270] In Figure 8 the selected NFVI is represented as the first NFVI.

[0271] Among them, the creation request for the physical partition includes partition requirements. Among them, the partition requirements may include the "Partition Requirements" field in the virtual machine resource configuration.

[0272] S506: The NFVI downloads the live virtual machine monitor image according to the creation request of the physical partition.

[0273] For example, the NFVI can download the live virtual machine monitor image from the VIM.

[0274] Among them, the "Hypervisor" field in the partition requirements can indicate the live virtual machine monitor to be downloaded.

[0275] S507: The NFVI calls the operating system interface according to the resource information of the live virtual machine and the partition requirements to create the corresponding physical partition to isolate and limit relevant resources.

[0276] In addition, the NFVI can also boot the live virtual machine image in the corresponding physical partition and start the corresponding installation program to deploy the node agent.

[0277] Optionally, S507 can be executed by the NFVI based on the virtual machine image.

[0278] S508: The NFVI sends a management request to the VIM.

[0279] Optionally, S508 can be executed by the NFVI through the node agent.

[0280] S509: The VIM manages the virtual nodes of the NFVI.

[0281] Among them, the virtual node can correspond to a physical partition. Among them, a physical partition of the NFVI can correspond to a node agent. Therefore, a physical partition combined with a node agent can be used as a virtual node. Optionally, each physical partition of the NFVI can correspond to a node agent, that is, different node agents can correspond to different physical partitions. It is not excluded that one node agent can correspond to multiple physical partitions.

[0282] For example, VIM manages at least one virtual node in the NFVI and obtains information about the physical partitions created by the NFVI. The information about the physical partitions created by the NFVI can be provided by the node agent after the NFVI creates the physical partitions. The information about the physical partitions created by the NFVI can include information such as the name or identifier of the created physical partition, type information, the number of physical partitions, information indicating whether embedded is supported, type information of the supported embedded virtual machine monitor, or the number of supported embedded virtual machine monitors. The information about the physical partitions created by the NFVI can be used as an example of the information about the physical partitions in S102.

[0283] It can be understood that VIM can manage one or more virtual nodes of one or more NFVIs based on S509.

[0284] S510: The user sends virtual machine resource configuration information to VIM through the VNFM.

[0285] The virtual machine resource configuration can include resource information of real-time virtual machines. The resource information of real-time virtual machines can, for example, include an operating system image field, such as including the operating system image of the virtual machine. The operating system image of the virtual machine is, for example, an RTOS image. In addition, the virtual machine resource configuration can also include information such as the number of CPUs required by the virtual machine, the memory size, the disk size, and NUMA affinity information.

[0286] Among them, the resource information of the real-time virtual machines included in the virtual machine resource configuration can be a subset of the resource information of the real-time virtual machines in the configuration information of the real-time virtual machine monitor. For example, the resource information of the real-time virtual machines in the configuration information of the real-time virtual machine monitor can be the total set of resources required by all the real-time virtual machines to be created, and the resource information of the real-time virtual machines included in the virtual machine resource configuration can be the resource information of one or more virtual machines among all the real-time virtual machines to be created. For instance, the number of CPUs included in the resource information of the real-time virtual machines included in the virtual machine resource configuration is less than or equal to the number of CPUs required by the resource information of the real-time virtual machines in the configuration information of the real-time virtual machine monitor.

[0287] It can also be said that after creating the physical partitions corresponding to multiple real-time virtual machines, the VNFM or VIM does not need to request the NFVI to create all the real-time virtual machines at once, and only needs to create an appropriate number of real-time virtual machines as needed, which can reduce resource occupancy.

[0288] Optionally, the virtual machine resource configuration can also include the number information of real-time virtual machine instances, which is used to indicate the number of supported real-time virtual machine instances.

[0289] In addition, the virtual machine resource configuration may also include the name or identifier of a physical partition, or the name or identifier of a virtual machine monitor associated with the physical partition, for indicating the physical partition associated with the live virtual machine. Optionally, before S510, the NFVI may feedback to the VIM the name or identifier of the physical partition created by the NFVI. The VIM may also feedback to the NFVM the name or identifier of the physical partition created by the NFVI. Therefore, the NFVM may specify the physical partition associated with the live virtual machine when creating a live virtual machine.

[0290] As an example, the resource information of the live virtual machine in the virtual machine resource configuration may include the following RTVNFC fields:

[0291]

[0292] Among them, the "OS image" field may carry or indicate the RTOS image. The "resource request" field may be used to indicate information such as the number of CPUs, memory size, disk size, NUMA affinity information, etc. required by the virtual machine. The "RT VM instance number" field may contain the number information of the live virtual machine instances. The "Partition Requirements" field may specify the physical partition associated with the live virtual machine, for example, carrying the name or identifier of the physical partition or the name or identifier of the virtual machine monitor associated with the physical partition.

[0293] As an example of S510, the VNFM may call the create VM interface to send a virtual machine creation command to the VIM. The virtual machine creation command may include the virtual machine resource configuration. As another example, the virtual machine resource configuration may also be sent independently of the virtual machine creation command. The VNFM may also call other interfaces other than the create VM interface to send the virtual machine resource configuration to the VIM.

[0294] S511: The VIM selects an appropriate virtual node according to the virtual machine resource configuration information, and the appropriate NFVI creates a physical partition that meets the requirements of the virtual machine resource configuration information.

[0295] For example, the VIM may select a physical partition that meets the requirements of the virtual machine resource configuration information according to the information of the physical partitions of the NFVIs it manages, and determine the corresponding NFVI as the appropriate NFVI.

[0296] Among them, the virtual nodes managed by the VIM may be included in one or more virtual nodes managed by the VIM based on the configuration information of the live virtual machine monitor in S503.

[0297] Optionally, the VIM may select a virtual node in the NFVI according to the information of the physical partitions of the virtual nodes in the NFVI.

[0298] S512: The VIM sends a virtual machine creation message to the NFVI.

[0299] Optionally, the virtual machine creation message can be sent to the node agent corresponding to the virtual node in the NFVI. The virtual node can be a virtual node selected according to the information of the physical partition.

[0300] Among them, the virtual machine creation message can include virtual machine resource configuration information.

[0301] The virtual machine creation message can be an example of a second request.

[0302] S513: The NFVI downloads the image of the real-time virtual machine and creates a real-time virtual machine in the real-time virtual machine monitor corresponding to the physical partition according to the physical partition information.

[0303] Among them, the node agent corresponding to the virtual node can download the image of the virtual machine.

[0304] The virtual node can also run the real-time virtual machine and execute real-time applications.

[0305] S513 can be executed by the node agent.

[0306] Based on Figure 8 The shown process, the selection of the NFVI can be implemented based on the user's virtual machine resource configuration, and a physical partition can be created in the selected NFVI. In addition, the VIM can also select an appropriate physical partition or NFVI based on the user's requirements and request the NFVI to create a real-time virtual machine in the physical partition it has created. It can be seen that in this embodiment, the creation request of the physical partition and the creation request of the virtual machine can be independent. In addition, it is not excluded that the content in the creation request of the physical partition in S505 and the virtual machine resource configuration information in S510 are merged into one request.

[0307] Based on the method shown in this application, the VIM can obtain a first request containing first requirement information, and the VIM can also reasonably determine a first computing node according to the first requirement information and the information of the physical partition of the computing node. The first computing node can meet the creation requirements of the virtual machine. For example, the first requirement information includes partition requirements, which can be used to determine the partition requirements of the virtual machine. For example, the embedded virtual machine monitor and the non-embedded virtual machine monitor belong to different types of virtual machine monitors and need to be isolated through different physical partitions. Another example is that the real-time virtual machine monitor and the non-real-time virtual machine monitor belong to different types of virtual machine monitors and need to be isolated through different physical partitions. Therefore, when different types of virtual machine monitors need to be implemented on the same computing node, the computing node needs to support the ability of multiple physical partitions. At this time, the first computing node selected by the VIM can support multiple physical partitions.

[0308] It can be understood that, in order to implement the functions in the above embodiments, the embodiments of the present application further provide a communication device. The communication device may include a hardware structure and / or a software module corresponding to each function of the above terminal device and / or access network device. Those skilled in the art should easily realize that, combining the units and method steps of each example described in the embodiments disclosed in the present application, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed in the form of hardware or computer software driving hardware depends on the specific application scenario and design constraints of the technical solution.

[0309] Figure 9 FIG. shows a schematic structural diagram of a communication device provided by an embodiment of the present application. The communication device 900 may be Figure 1 the VIM or the circuit system in the VIM shown in the figure, and is used to implement the method corresponding to the VIM in the above method embodiment. Alternatively, the communication device 900 may be Figure 1 the NFVI or the circuit system in the NFVI shown in the figure, and is used to implement the method corresponding to the NFVI in the above method embodiment. Among them, for example, a circuit system is a chip system.

[0310] The communication device 900 includes at least one processor 901. The processor 901 may be used for internal processing of the device to implement certain control processing functions. Optionally, the processor 901 includes instructions. Optionally, the processor 901 may store data. Optionally, different processors may be independent devices, may be located in different physical locations, and may be located on different integrated circuits. Optionally, different processors may be integrated in one or more processors, for example, integrated on one or more integrated circuits.

[0311] Optionally, the communication device 900 includes one or more memories 903 for storing instructions. Optionally, data may also be stored in the memory 903. The processor and the memory may be provided separately or integrated together.

[0312] Optionally, the communication device 900 includes a communication line 902 and at least one communication interface 904. Among them, since the memory 903, the communication line 902, and the communication interface 904 are all optional, they are Figure 9 all represented by dotted lines in the figure.

[0313] Optionally, the communication device 900 may further include a transceiver and / or an antenna. Among them, the transceiver can be used to send information to other devices or receive information from other devices, and may include wired and / or wireless transceiver functions. The transceiver may be referred to as a transceiver, a transceiver circuit, an input / output interface, etc., and is used to implement the transceiver function of the communication device 900 through the antenna. Optionally, the transceiver includes a transmitter and a receiver. Exemplarily, the transmitter can be used to generate a radio frequency signal from a baseband signal, and the receiver can be used to convert the radio frequency signal into a baseband signal.

[0314] The processor 901 may include a general-purpose central processing unit (CPU), a microprocessor, an application specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the solution of the present application.

[0315] The communication line 902 may include a path for transmitting information between the above components.

[0316] The communication interface 904 uses any device of the transceiver type for communicating with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area networks (WLAN), wired access networks, etc.

[0317] The memory 903 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or can also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM), or other optical disc storage, optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media, or other magnetic storage devices, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 903 can exist independently and be connected to the processor 901 through the communication line 902. Alternatively, the memory 903 can also be integrated with the processor 901.

[0318] Among them, the memory 903 is used to store computer execution instructions for implementing the solution of this application, and is controlled by the processor 901 for execution. The processor 901 is used to execute the computer execution instructions stored in the memory 903, so as to implement Figure 2 the steps performed by devices such as the user equipment, VIM, or NFVI described in the embodiments shown.

[0319] Optionally, the computer execution instructions in the embodiments of this application can also be referred to as application code, and this application does not make specific limitations in this regard.

[0320] In a specific implementation, as an embodiment, the processor 901 can include one or more CPUs, such as Figure 9 CPU0 and CPU1 in

[0321] In a specific implementation, as an embodiment, the communication device 900 can include multiple processors, such as Figure 9 the processor 901 and the processor 905 in

[0322] When Figure 9When the device shown is a chip, such as a chip of a user equipment, a VIM or an NFVI, etc., the chip includes a processor 901 (which may also include a processor 905), a communication line 902, and a communication interface 904. Optionally, it may include a memory 903. Specifically, the communication interface 904 may be an input interface, a pin, a circuit, etc. The memory 903 may be a register, a cache, etc. The processor 901 and the processor 905 may be a general-purpose CPU, a microprocessor, an ASIC, or an integrated circuit for controlling the execution of a program for any of the above-described communication methods.

[0323] The embodiments of the present application may divide the device into functional modules according to the above method examples. For example, each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module. The above integrated module may be implemented in the form of hardware or in the form of a software functional module. It should be noted that the division of modules in the embodiments of the present application is illustrative, only a logical function division, and there may be other division methods in actual implementation. For example, in the case of dividing each functional module corresponding to each function, Figure 10 A schematic diagram of a device is shown. The device 1000 may include the user equipment, the VIM, or the NFVI involved in each of the above method embodiments, or include a chip in the user equipment, a VIM, or a chip in the NFVI. The device 1000 includes a sending unit 1001, a processing unit 1002, and a receiving unit 1003.

[0324] It should be understood that the device 1000 may be used to implement the steps executed by the user equipment, the VIM, or the NFVI, etc. in the communication method of the embodiments of the present application. The relevant features may refer to the above Figure 2 illustrated embodiments and will not be elaborated here.

[0325] Optionally, Figure 10 the functions / implementation processes of the sending unit 1001, the receiving unit 1003, and the processing unit 1002 in Figure 9 may be implemented by the processor 901 in Figure 10 calling the computer-executable instructions stored in the memory 903. Or, Figure 9 the function / implementation process of the processing unit 1002 in Figure 10 may be implemented by the processor 901 in Figure 9 calling the computer-executable instructions stored in the memory 903, and

[0326] Optionally, when the device 1000 is a chip or a circuit, the functions / implementation processes of the sending unit 1001 and the receiving unit 1003 can also be implemented through pins or circuits, etc.

[0327] The present application also provides a computer-readable storage medium, which stores computer programs or instructions. When the computer programs or instructions are run, the methods executed by devices such as user equipment, VIM, or NFVI in the foregoing method embodiments are implemented. In this way, the functions described in the above embodiments can be implemented in the form of software function units and sold or used as independent products. Based on such an understanding, the technical solution of the present application, in essence, or the part that makes a contribution, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present application. The storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, ROM, RAM, magnetic disks, or optical discs.

[0328] The present application also provides a computer program product, which includes: computer program code. When the computer program code runs on a computer, it causes the computer to execute the methods executed by devices such as user equipment, VIM, or NFVI in any of the foregoing method embodiments.

[0329] The embodiments of the present application also provide a processing device, including a processor and an interface; the processor is used to execute the methods executed by devices such as user equipment, VIM, or NFVI involved in any of the foregoing method embodiments.

[0330] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or a data center that includes one or more integrated available media. The available medium can be a magnetic medium (such as a floppy disk, hard disk, magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)), etc.

[0331] In the embodiments of the present application, the various illustrative logical units and circuits described can be implemented or operate the described functions through the design of a general-purpose processor, a digital signal processor (DSP), an ASIC, a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or any combination of the above. The general-purpose processor can include a microprocessor. Optionally, the general-purpose processor can also include any conventional processor, controller, microcontroller, or state machine. The processor can also be implemented through a combination of computing devices, such as a digital signal processor and a microprocessor, multiple microprocessors, one or more microprocessors combined with a digital signal processor core, or any other similar configuration.

[0332] The steps of the methods or algorithms described in the embodiments of the present application may be directly embedded in hardware, software units executed by a processor, or a combination of both. The software units may be stored in a RAM, flash memory, ROM, erasable programmable read-only memory (EPROM), EEPROM, register, hard disk, removable disk, CD-ROM, or any other form of storage medium in the art. Exemplarily, the storage medium may be connected to the processor so that the processor can read information from the storage medium and write information to the storage medium. Optionally, the storage medium may also be integrated into the processor. The processor and the storage medium may be provided in an ASIC, and the ASIC may be provided in a terminal device. Optionally, the processor and the storage medium may also be provided in different components of the terminal device.

[0333] These computer program instructions may also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 the steps of the functions specified in one block or multiple blocks.

[0334] The content in the various embodiments of the present application may be referred to each other. If there is no special description and logical conflict, the terms and / or descriptions between different embodiments are consistent and can be cited from each other. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.

[0335] It can be understood that in the embodiments of the present application, devices such as user equipment, VIM or NFVI may execute some or all of the steps in the embodiments of the present application. These steps or operations are only examples. In the embodiments of the present application, other operations or various deformations of the operations may also be executed. In addition, the various steps may be executed in different orders presented in the embodiments of the present application, and it is possible that not all of the operations in the embodiments of the present application need to be executed.

Claims

1. A method for creating a virtual machine, characterized in that, comprising: Receiving a first request for creating a virtual machine, the first request including first requirement information of the virtual machine; The manager determines a first computing node according to the first requirement information and information of physical partitions of computing nodes, where the physical partitions are used for isolation of virtual machines; Sending a second request to the first computing node, the second request for requesting the first computing node to create a virtual machine, and the second request includes second requirement information of the virtual machine, and the second requirement information is determined according to the first requirement information.

2. The method according to claim 1, characterized in that, The information of the physical partitions includes at least one of the following: Information indicating whether physical partitions are supported; Type information of physical partitions; The number of supported physical partitions; Information indicating whether it supports implementing physical partitions and through an embedded virtual machine monitor; Type information of supported embedded virtual machine monitors; The number of supported embedded virtual machine monitors.

3. The method according to claim 1 or 2, characterized in that, The first requirement information includes a partitioning requirement, and the partitioning requirement includes at least one of the following: An indication for indicating that the virtual machine monitor adopts an embedded type; An indication for indicating that the virtual machine monitor adopts an image.

4. The method according to any one of claims 1-3, characterized in that, The method further includes: Sending a partition creation request to the first computing node, the partition creation request for requesting the first computing node to create a physical partition; Receiving partition information of at least one physical partition from the first computing node, and the second request includes an association relationship between the virtual machine and the partition information of the physical partition.

5. The method according to any one of claims 1-3, characterized in that, The method further includes: Receiving an association relationship between the virtual machine created by the first computing node and the partition information of the physical partition.

6. The method according to any one of claims 1-5, characterized in that, The first request is for requesting to create a virtual machine group, and the first request further includes the number information of the virtual machines in the virtual machine group, where the virtual machine group includes at least two virtual machines.

7. The method according to claim 6, characterized in that, The at least two virtual machines include real-time virtual machines and / or non-real-time virtual machines.

8. The method according to any one of claims 1-7, characterized in that, The method further includes: Receiving information of physical partitions from the computing node, and the computing node includes the first computing node.

9. The method according to any one of claims 1-8, characterized in that, The method further includes: Determining the first computing node according to the first requirement information and the computing resource information of the computing node; Wherein, the computing resource information includes at least one of the following: Non-uniform memory access (NUMA) affinity information; Isolation information of the last-level cache; The size of the last-level cache; Bandwidth information of the memory; Quality of service information of the memory; Peripheral type; Peripheral affinity information; Peripheral parameters; Peripheral size.

10. The method according to claim 9, wherein, the first requirement information further includes at least one of the following information: NUMA affinity requirement information; Isolation information of the last-level cache required; Size of the last-level cache required; Bandwidth information of the memory required; Quality of service information of the memory required; Peripheral type required; Peripheral affinity information required; Peripheral parameters required; Peripheral size required.

11. The method according to claim 3, wherein, the partitioning requirement includes an indication for instructing the virtual machine monitor to adopt an image, and the method further includes: Receiving the image of the virtual machine monitor; Sending the mirrored image to the first computing node.

12. The method according to any one of claims 1-11, wherein, the method further includes: Sending a partitioning shutdown request to the first computing node, the partitioning shutdown request being used to request shutting down one or more physical partitions of the first computing node.

13. A virtual machine creation method, wherein, applied to a first computing node, includes: Receiving a second request from a manager, the second request being used to request creating a virtual machine, and the second request includes second requirement information of the virtual machine; Determining one or more physical partitions according to the second requirement information, the physical partitions being used for isolation of the virtual machine; wherein, the first computing node is determined according to the first requirement information of the virtual machine and the information of the physical partitions of the computing node, and the second requirement information is determined according to the first requirement information.

14. The method according to claim 13, wherein, the method further includes: Sending the information of the physical partitions of the first computing node to the manager, the information of the physical partitions being used for the manager to determine the first computing node.

15. The method according to claim 14, wherein, the information of the physical partitions includes at least one of the following: Information for indicating whether physical partitioning is supported; Type information of the physical partitions; Number of supported physical partitions; Information for indicating whether physical partitioning and the use of an embedded virtual machine monitor are supported; Type information of the supported embedded virtual machine monitors; Number of supported embedded virtual machine monitors.

16. The method according to any one of claims 13-15, wherein, the first requirement information includes a partitioning requirement, and the partitioning requirement includes at least one of the following: An indication for instructing the virtual machine monitor to adopt an embedded form; An indication for instructing the virtual machine monitor to adopt an image.

17. The method according to any one of claims 13-16, wherein, the method further includes: Receiving a partitioning creation request; Creating the physical partitions according to the partitioning creation request.

18. The method according to claim 17, wherein, the method further includes: Sending the partitioning information of the physical partitions to the manager, and the second request includes the association relationship between the virtual machine and the partitioning information of the physical partitions.

19. The method according to any one of claims 13 - 16, characterized in that, the method further comprises: creating the one or more physical partitions according to the second requirement information; creating the virtual machine according to the at least one physical partition.

20. The method according to claim 19, characterized in that, the method further comprises: sending an association relationship between the virtual machine and partition information of the physical partition to the manager.

21. The method according to any one of claims 13 - 19, characterized in that, the first computing node is further determined according to the first requirement information and computing resource information of the computing node; wherein, the computing resource information includes at least one of the following: Non-Uniform Memory Access (NUMA) affinity information; isolation information of the last-level cache; size of the last-level cache; bandwidth information of the memory; quality of service information of the memory; peripheral type; peripheral affinity information; peripheral parameters; peripheral size.

22. The method according to any one of claims 13 - 21, characterized in that, the first requirement information further includes at least one of the following information: NUMA affinity requirement information; isolation information of the required last-level cache; size of the required last-level cache; bandwidth information of the required memory; quality of service information of the required memory; required peripheral type; required peripheral affinity information; required peripheral parameters; required peripheral size.

23. The method according to claim 16, characterized in that, the partition requirement includes an indication for instructing the virtual machine monitor to adopt an image, and the method further comprises: receiving an image of the virtual machine monitor from the manager; loading the image in the physical partition; creating the virtual machine on the virtual machine monitor with the image loaded.

24. The method according to claim 16, characterized in that, the partition requirement includes an indication for instructing the virtual machine monitor to be embedded, and the method further comprises: starting the embedded virtual machine monitor; creating the virtual machine on the embedded virtual machine monitor.

25. The method according to any one of claims 13 - 24, characterized in that, the method further comprises: receiving a partition shutdown request from the manager, where the partition shutdown request is used to request shutting down the physical partition.

26. A communication device, characterized in that, it includes a unit or module for executing the method according to any one of claims 1 - 12, or includes a unit or module for executing the method according to any one of claims 13 - 25.

27. A communication device, characterized in that, it includes a processor, and the processor is used to execute a computer program or instruction to implement the method according to any one of claims 1 - 12, or to implement the method according to any one of claims 13 - 25.

28. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions. When the computer program or instructions are executed by a communication device, the method according to any one of claims 1-12 is implemented, or the method according to any one of claims 13-25 is implemented.

29. A computer program product, characterized in that when the computer program product is executed by a computer, the computer executes the method according to any one of claims 1-12, or executes the method according to any one of claims 13-25.