Method and apparatus for creating resource pool, readable storage medium, and chip
By creating a device resource pool, resources in diverse peer-to-peer computing architectures are managed in a unified manner, solving the problem of low resource utilization in existing technologies and achieving more efficient resource utilization.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2026-01-08
- Publication Date
- 2026-07-30
AI Technical Summary
Current data centers lack a unified management solution for their diverse peer-to-peer computing architectures, resulting in low resource utilization.
By creating a device resource pool and utilizing the device resource pool information received by the first functional network element, unified resource management in peer-to-peer interconnected diverse computing architectures is achieved, including device resource pooling and resource allocation modes, thereby improving resource utilization.
It enables unified resource management in peer-to-peer interconnected diverse computing architectures, thereby improving resource utilization.
Smart Images

Figure CN2026071303_30072026_PF_FP_ABST
Abstract
Description
Methods, apparatus, readable storage media and chips for creating resource pools
[0001] This application claims priority to Chinese Patent Application No. 202510127492.9, filed on January 27, 2025, entitled “Method, Apparatus, Readable Storage Medium and Chip for Creating a Resource Pool”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communication technology, and in particular to a method, apparatus, readable storage medium, and chip for creating a resource pool. Background Technology
[0003] Current data centers typically use CPUs as the core, managing hardware resources in a layered and hierarchical manner. Existing standards and specifications primarily address this type of architecture. In peer-to-peer diverse computing architectures, a unified high-speed interconnect bus connects various computing resources. However, current standards and specifications lack a solution for unified resource management in peer-to-peer diverse computing architectures, hindering resource utilization and resulting in low resource efficiency. Summary of the Invention
[0004] To address the aforementioned technical problems, embodiments of this application provide a method, apparatus, readable storage medium, and chip for creating a resource pool, which enables unified management of resources in a peer-to-peer interconnected diverse computing architecture, thereby improving resource utilization.
[0005] Firstly, a method for creating a resource pool is provided. This method can be executed by a first functional network element, or by a component of the first functional network element, such as its processor, chip, or chip system, or by a logic module or software capable of implementing all or part of the functions of the first functional network element. The following description uses the execution of this method by a first functional network element as an example. The method for creating a resource pool includes: after receiving a message to create a device resource pool, the first functional network element creates a device resource pool based on at least one device in the device resource pool indicated in the message. The created device resource pool includes the resources of each device. In this way, the first functional network element can manage resources in a peer-to-peer diverse computing architecture in a device resource pool manner based on the method provided in this application embodiment, thereby enabling unified management of resources in the peer-to-peer diverse computing architecture and improving resource utilization.
[0006] As an example, the devices in the device resource pool are DPUs, the device resources are DPU resources, and the first functional entity is either a VIM or a PIM. In this way, VIMs and PIMs can pool and manage DPU resources, improving the utilization rate of DPU resources.
[0007] In one possible implementation, the first message can indicate the device resource pool to be created and the devices included in the device resource pool by the identifier of the device resource pool and the identifier of at least one device in the device resource pool.
[0008] In one possible implementation, the first message may also indicate the resource allocation mode of the device resource pool. The resource allocation mode of the device resource pool includes: a shared mode or a dedicated mode. The shared mode indicates that resources in the device resource pool can be shared by multiple functional entities, while the dedicated mode indicates that resources in the device resource pool can be exclusively used by one functional entity. Thus, when the first functional entity creates the DPU resource pool, it records the resource allocation mode of the DPU resource pool, and subsequently allocates the corresponding DPU resource pool to the container cluster or virtual network function (VNF) instance according to the resource allocation mode required by the container cluster or VNF instance.
[0009] In one possible implementation, when the device is a DPU device, the resources in the DPU device include at least two of the following: computing resources, storage resources, or network service resources.
[0010] In one possible implementation, after receiving a message to create a device resource pool group, the first functional network element creates a device resource pool group based on at least one device resource pool in the device resource pool group indicated in the message. The created device resource pool group includes the resources of each device resource pool. In this way, the first functional network element can manage the DPU resource pool group based on the method provided in the embodiments of this application, thereby enabling unified management of the DPU resources in the DPU resource pool group and improving the utilization rate of the DPU resources in the DPU resource pool group.
[0011] In one possible implementation, the second message indicates the device resource pool group to be created by using the identifier of the device resource pool group. Optionally, the second message may also indicate the device resource pool in the device resource pool group by using the identifiers of at least two device resource pools, or the second message may indicate the device resource pool in the device resource pool group by using the identifiers of devices in at least two device resource pools.
[0012] In one possible implementation, the second message is further used to indicate the resource allocation mode of the device resource pool group. The resource allocation mode of the device resource pool group includes: a shared mode or an exclusive mode. The shared mode indicates that resources in the device resource pool group can be shared by multiple functional entities, while the exclusive mode indicates that resources in the device resource pool group can be exclusively used by one functional entity. Thus, the first functional entity records the resource allocation mode of the DPU resource pool group when creating it, and subsequently allocates the corresponding DPU resource pool group to the container cluster or VNF instance based on the required resource allocation mode.
[0013] In one possible implementation, before creating a device resource pool or a group of device resource pools, the first functional entity may first obtain a third message indicating the resources of at least one device, thereby creating the device resource pool or group of device resource pools based on the resources of at least one device. Optionally, the third message may also indicate that the resources of at least one device support the establishment of a device resource pool, so that the first functional entity can establish a device resource pool based on the resources that support the establishment of the device resource pool.
[0014] In one possible implementation, after creating a device resource pool or a group of device resource pools, if the first functional entity receives a message to create a virtualized entity cluster, it establishes a binding relationship between the first virtualized entity cluster and the first device resource pool based on the first device resource pool allocated to the first virtualized entity cluster, determining that the resources in the first device resource pool are available resources for the first virtualized entity cluster. In this way, the first virtualized entity cluster can use the resources in the first device resource pool when it needs to use resources subsequently.
[0015] In one possible implementation, a portion of the resources in the first device resource pool (denoted as the first resource) can be allocated only to the first virtualized entity cluster, and the message creating the virtualized entity cluster can also indicate this first resource. In this way, the first functional entity can record the available resources of the first virtualized entity cluster as the first resource in the first device resource pool. This allows different resources to be allocated to different virtualized entity clusters, thereby achieving logical isolation between the various virtualized entity clusters.
[0016] In one possible implementation, when allocating device resource pools to a virtualized entity cluster, the allocation can be based on the resource allocation mode required by the virtualized entity cluster and the resource allocation mode of each device resource pool. For example, if the required resource allocation mode for the virtualized entity cluster is shared mode, a shared mode device resource pool is allocated to the virtualized entity cluster. If the required resource allocation mode for the virtualized entity cluster is exclusive mode, an exclusive mode device resource pool is allocated to the virtualized entity cluster.
[0017] In one possible implementation, if the first functional entity receives the fifth message indicating the creation of a VNF instance, it establishes a mapping between the VNF instance and the resources in the device resource pool based on the resources allocated to the VNF instance as indicated in the fifth message. This allows the VNF instance to subsequently use the resources allocated to it in the device resource pool.
[0018] In one possible implementation, the VNF instance can be deployed within the aforementioned first virtualization entity cluster. In this case, the resources allocated to the VNF instance are the same resources allocated to the first virtualization entity cluster.
[0019] In one possible implementation, where the VNF instance includes multiple services deployed in different virtualization entities, the fifth message can further indicate the third resource allocated to each virtualization entity. In this way, the first functional entity can determine that the third resource allocated to each of the aforementioned virtualization entities is a usable resource of the VNF instance, and the services within the VNF instance can use the third resources in their deployed virtualization entities during runtime.
[0020] In one possible implementation, if the first functional entity receives the sixth message indicating the creation of a virtualized entity, it establishes a binding relationship between the first virtualized entity and the third resource according to the third resource allocated to the first virtualized entity as indicated in the sixth message. This allows the first virtualized entity to subsequently use the resources allocated to it from the device resource pool.
[0021] In one possible implementation, the first virtualization entity can be an entity in the aforementioned first virtualization entity cluster. In this case, the resources allocated to the first virtualization entity are the resources allocated to the aforementioned first virtualization entity cluster.
[0022] In one possible implementation, the first virtualization entity can be a virtualization entity within a VNF instance. In this case, the resources allocated to the first virtualization entity are the same resources allocated to the VNF instance as described above.
[0023] Secondly, a method for creating a resource pool is provided. This method can be executed by a Network Functions Virtualization (NFV) Management Entity (NFV) or by a component of the NFV Management Entity, such as its processor, chip, or chip system. It can also be implemented by a logic module or software capable of implementing all or part of the NFV Management Entity's functions. The following explanation uses the execution of this method by the NFV Management Entity as an example. The method for creating a resource pool includes: the NFV Management Entity invoking a first functional entity to create a device resource pool. During the process of the NFV Management Entity invoking the first functional entity to create the device resource pool, the NFV Management Entity sends a device resource pool creation message to the first functional entity. This message can instruct at least one device in the device resource pool, causing the first functional entity to create a device resource pool including the resources of that at least one device.
[0024] In one possible implementation, the Network Functions Virtualization Management Entity (NFVM) can also invoke the first functional entity to create a device resource pool group. During the NFVM Mover's invocation of the first functional entity to create the device resource pool group, the NFVM Mover sends a device resource pool group creation message to the first functional entity. This message can instruct at least one device resource pool in the device resource pool group, causing the first functional entity to create a device resource pool group that includes the resources of that at least one device resource pool.
[0025] In one possible implementation, the network function virtualization management entity can also invoke the first functional entity to create a first virtualization entity cluster. The network function virtualization management entity can instruct the first functional entity to allocate a device resource pool or a group of device resource pools to the first virtualization entity cluster, so as to allocate the corresponding device resource pool to it when creating the first virtualization entity cluster.
[0026] Thirdly, a method for creating a resource pool is provided. This method can be executed by a Network Functions Virtualization Infrastructure (NFV) entity, or by a component of the NFV entity, such as a processor, chip, or chip system of the NFV entity, or by a logic module or software capable of implementing all or part of the functions of the NFV entity. The following description uses the execution of this method by a NFV entity as an example. The method for creating a resource pool includes: the NFV entity sending device resources of at least one device to a first functional entity. Thus, the first functional entity can create a device resource pool based on the device resources of the at least one device.
[0027] Fourthly, a method for creating a resource pool is provided. This method can be executed by a VNF management entity, a component of the VNF management entity (such as its processor, chip, or chip system), or a logic module or software capable of implementing all or part of the VNF management entity's functions. The following explanation uses the method executed by the VNF management entity as an example. The method for creating a resource pool includes: the VNF management entity determining which virtualization entities will deploy the VNF instances and allocating resources to these virtualization entities for executing services within the VNF instances. Thus, after subsequent VNF instance creation, services within the VNF instances can be executed based on the resources of the virtualization entities where the VNF instances are deployed.
[0028] The descriptions of the device resource pool, device resource pool group, first virtualization entity cluster, first virtualization entity, VNF instance, etc. can be referred to the first aspect above, and will not be repeated here.
[0029] Fifthly, an apparatus for creating a resource pool is provided to implement the various methods described above. The apparatus for creating a resource pool can be a first functional entity as described in the first aspect, or an apparatus containing the first functional entity, or an apparatus contained within the first functional entity, such as a chip. Alternatively, the apparatus for creating a resource pool can be a network function virtualization management entity as described in the second aspect, or an apparatus containing the network function virtualization management entity, or an apparatus contained within the network function virtualization management entity, such as a chip. Alternatively, the apparatus for creating a resource pool can be a network function virtualization infrastructure entity as described in the third aspect, or an apparatus containing the network function virtualization infrastructure entity, or an apparatus contained within the network function virtualization infrastructure entity, such as a chip. Alternatively, the apparatus for creating a resource pool can be a VNF management entity as described in the fourth aspect, or an apparatus containing the VNF management entity, or an apparatus contained within the VNF management entity, such as a chip. The apparatus for creating a resource pool includes modules, units, or means that implement the methods described above. These modules, units, or means can be implemented in hardware, software, or by hardware executing corresponding software implementations. The hardware or software includes one or more modules or units corresponding to the functions described above.
[0030] In some possible designs, the apparatus for creating the resource pool may include a processing module and a transceiver module. The transceiver module, also referred to as a transceiver unit, is used to implement the sending and / or receiving functions in any of the above aspects and any possible implementations thereof. The transceiver module may consist of transceiver circuits, transceivers, transceivers, or communication interfaces. The processing module can be used to implement the processing functions in any of the above aspects and any possible implementations thereof.
[0031] In some possible designs, the transceiver module includes a sending module and a receiving module, which are used to implement the sending and receiving functions in any of the above aspects and any possible implementation methods.
[0032] A sixth aspect provides an apparatus for creating a resource pool, comprising: at least one processor; the processor being configured to execute a computer program or instructions stored in a memory to cause the apparatus for creating the resource pool to perform the method of any of the above aspects. The memory may be coupled to the processor, or may be independent of the processor. The apparatus for creating the resource pool may be a first functional entity as described in the first aspect, or an apparatus comprising the first functional entity, or an apparatus contained within the first functional entity, such as a chip. Alternatively, the apparatus for creating the resource pool may be a network function virtualization management entity as described in the second aspect, or an apparatus comprising the network function virtualization management entity, or an apparatus contained within the network function virtualization management entity, such as a chip. Alternatively, the apparatus for creating the resource pool may be a network function virtualization infrastructure entity as described in the third aspect, or an apparatus comprising the network function virtualization infrastructure entity, or an apparatus contained within the network function virtualization infrastructure entity, such as a chip. Alternatively, the apparatus for creating the resource pool may be a VNF management entity as described in the fourth aspect, or an apparatus comprising the VNF management entity, or an apparatus contained within the VNF management entity, such as a chip.
[0033] In some possible designs, the device for creating the resource pool includes a memory for storing necessary program instructions and data.
[0034] In one possible implementation, the processor includes logic circuitry and input and / or output interfaces. The output interfaces are used to perform the sending action in the corresponding method, and the input interfaces are used to perform the receiving action in the corresponding method.
[0035] In one possible implementation, the apparatus for creating the resource pool further includes a communication interface and a communication bus, with the processor, memory, and communication interface connected via the communication bus. The communication interface is used to perform send and receive actions in the corresponding method. The communication interface can also be called a transceiver. Optionally, the communication interface includes a transmitter and a receiver; in this case, the transmitter performs the send action in the corresponding method, and the receiver performs the receive action in the corresponding method.
[0036] In some possible designs, the device for creating the resource pool can be a chip or a chip system. When the device for creating the resource pool is a chip system, it can be composed of chips or may include chips and other discrete devices. When the device for creating the resource pool is a chip, the aforementioned sending action / function can be understood as an output, and the aforementioned receiving action / function can be understood as an input.
[0037] In a seventh aspect, a chip is provided, the chip including a processor for implementing the functions involved in any of the foregoing aspects or any implementation thereof.
[0038] In some possible designs, the chip includes a memory for storing necessary program instructions and data.
[0039] Eighthly, a computer-readable storage medium is provided that stores a computer program or instructions that, when executed on an apparatus for creating a resource pool, enable the apparatus for creating a resource pool to perform the methods of any of the above aspects or any implementation thereof.
[0040] Ninthly, a computer program product containing instructions is provided that, when run on a device for creating a resource pool, enables the device for creating the resource pool to perform the method of any of the above aspects or any implementation thereof.
[0041] The technical effects of any of the implementation methods in aspects two through nine can be found in the technical effects of the corresponding implementation method in aspect one, and will not be repeated here.
[0042] It should be noted that any of the possible implementations of any of the above aspects can be combined, provided that the solutions do not contradict each other. Attached Figure Description
[0043] Figure 1 is a schematic diagram of an NFV architecture;
[0044] Figure 2 is a comparative diagram of a basic network card, a first-generation smart network card, and a DPU smart network card;
[0045] Figure 3 is a comparative diagram of a current server stacking architecture and a peer-to-peer diverse computing architecture;
[0046] Figure 4 is a schematic diagram of the system architecture of a communication system;
[0047] Figure 5 is a schematic diagram of a device for creating a resource pool;
[0048] Figure 6 is a flowchart illustrating a method for creating a resource pool;
[0049] Figure 7 is a flowchart illustrating another method for creating a resource pool;
[0050] Figure 8 is a flowchart illustrating another method for creating a resource pool;
[0051] Figure 9 is a schematic diagram of creating a DPU resource pool and a DPU resource pool group based on DPU hardware resources;
[0052] Figure 10 is a flowchart illustrating another method for creating a resource pool;
[0053] Figure 11 is a flowchart illustrating another method for creating a resource pool;
[0054] Figure 12 is a flowchart illustrating another method for creating a resource pool;
[0055] Figure 13 is a flowchart illustrating another method for creating a resource pool;
[0056] Figure 14 is a flowchart illustrating another method for creating a resource pool;
[0057] Figure 15 is a schematic diagram of another device for creating resource pools. Detailed Implementation
[0058] To facilitate understanding of the technical solutions of the embodiments of this application, a brief introduction to the relevant technologies of this application is given below.
[0059] 1. Network Function Virtualization (NFV)
[0060] NFV refers to a technology that enables network functions (such as routing, firewalls, and load balancing) that would otherwise require dedicated hardware (such as dedicated routers and firewalls) to be implemented in software. For example, currently, multiple software programs with different functions can be hosted on general-purpose hardware like x86 and virtualization technologies to achieve different functionalities. This reduces equipment costs by hosting multiple software functions on the same hardware device.
[0061] NFV technology features hardware / software decoupling, compute virtualization, storage virtualization, and / or network virtualization. Hardware / software decoupling, also known as layered decoupling, involves virtualizing compute resources, storage resources, and / or network resources to decouple upper-layer NFV software from lower-layer general-purpose hardware. Compute virtualization refers to the virtualization of access to and management of compute resources, providing standard input / output interfaces. Through compute virtualization, multiple virtual machines can be virtualized and run on a single physical machine, thereby improving the utilization of computer hardware resources. These compute resources include, but are not limited to, central processing unit (CPU) resources and memory resources. Storage virtualization refers to the virtualization of storage resources from different storage devices, masking the differences in capabilities and interface protocols between storage devices, transforming various storage resources into uniformly managed storage resources. Network virtualization refers to providing Layer 2 network functionality to virtual machines on a physical machine through virtual switches, enabling internal network communication and external network access for virtual machines.
[0062] Figure 1 shows a schematic diagram of an NFV architecture provided in an embodiment of this application. As shown in Figure 1, the NFV system architecture includes: NFV infrastructure layer (NFVI), virtualized infrastructure manager (VIM), physical infrastructure management (PIM), container infrastructure service management (CISM), container infrastructure service (CIS), VNF management module (VNFM), container cluster lifecycle management (CIS cluster management (CCM), network functions virtualization orchestrator (NFVO), and virtual machines (VMs), in which a guest operating system is deployed.
[0063] NFVI includes the hardware and software required for the NFV system, providing a runtime environment for VNFs. Referring to Figure 1, NFVI comprises a hardware layer and a virtualization layer. The hardware layer includes hardware devices that provide computing, network, and / or storage resources. The virtualization layer is used to virtualize hardware resources, such as virtualizing hardware computing resources as virtual computing resources, hardware storage resources as virtual storage resources, and hardware network resources as virtual network resources. Optionally, the virtualization process can be implemented by a hypervisor.
[0064] Virtual Information Modeling (VIM) enables functions such as resource discovery, management and allocation of virtual resources, and fault handling, and is typically deployed in infrastructure sites. VIM provides comprehensive management of virtualized infrastructure, offering stable and reliable virtual resources for VNFs.
[0065] PIM is used to manage the underlying physical computing, network, storage and other hardware resources, and to provide physical resource protection and management for the virtualization layer and VNF.
[0066] CISM enables functions such as resource discovery, management, and scheduling of container objects, and is typically set up in infrastructure sites. CISM provides infrastructure-level management support for containerized VNFs.
[0067] CIS is the part of the container cluster that actually carries out business operations. It works with CISM to realize a containerized VNF runtime environment, which can run corresponding services in a virtualized environment (also known as a virtual machine) or physical hardware (also known as a bare metal).
[0068] VNFM is used to manage the lifecycle of VNFs (instantiation, configuration, shutdown, etc.), such as VNF instantiation, configuration, shutdown, and other operations.
[0069] CCM is used to manage the lifecycle of container clusters; for example, it enables the provision of container cluster management planes and container cluster data planes.
[0070] NFVO is used to orchestrate and manage NFV architectures, such as to deploy, configure, manage, and coordinate VNFs.
[0071] Operations support system (OSS) and business support system (BSS) are used for the business operations and management of telecommunications operators, such as realizing various functions such as customer management, billing, order processing, and network management. They are the core management systems of telecommunications operators.
[0072] The element management system (EMS) is used to manage network devices or VNF instances, such as managing the performance, faults, and configuration of network devices or VNF instances.
[0073] 2. DPU
[0074] A DPU is a processor designed for data centers. A DPU can offload infrastructure functions such as networking, storage, and security from the CPU and perform dedicated acceleration processing, thereby freeing up CPU resources and improving the performance and efficiency of the entire data center.
[0075] Figure 2 shows a comparison diagram of the basic network card, the first-generation smart network card, and the DPU smart network card.
[0076] The basic network interface card (NIC) includes a peripheral component interconnect express (PCIe) bus, host interface, network interface, and Ethernet port, providing a basic 2x10G bandwidth capability, but with relatively weak hardware offloading capabilities. The basic NIC supports checksum, large receive offload (LRO) / large send offload (LSO), single root I / O virtualization (SRIOV), and limited multi-queue functionality.
[0077] The first-generation smart NIC includes a PCIe bus, host interface, network interface, and Ethernet port, and can also meet the requirements of lossless networking. The first-generation smart NIC has rich hardware offloading capabilities, including Match-Action flow table service offloading capability (OVS Fastpath offloading), Virtio hardware acceleration, remote direct memory access (RDMA) over Converged Ethernet (RoCE), RoCEv2, NVMe over transmission control protocol (NVMe over TCP), NVMe over RoCEv2, as well as lossless network capabilities (such as priority flow control (PFC), explicit congestion notification (ECN), enhanced transmission selection (ETS)) and security-related data plane offloading.
[0078] The DPU includes: PCIe bus, host interface, network interface, Ethernet port, and hardware offloading components, supporting Arm, Intel, and RISC-V. The DPU possesses richer hardware offloading capabilities, such as flow table-based service offloading (full offloading of Open vSwitch (OVS)), Virtio hardware acceleration, RoCE, RoCEv2, NVMe over TCP, NVMe over RoCEv2, Virtio-blk, NVMe of with Target, data compression and decompression, network-less capabilities (PFC, ECN, ETS, etc.), PCIe root complex / endpoint, and full offloading of security-related functions (data plane + control plane).
[0079] 3. Peer-to-peer interconnected diverse computing architectures
[0080] Current data centers typically use the CPU as the core, managing hardware resources in a layered and hierarchical manner. Existing standards and specifications primarily address this type of architecture. In peer-to-peer diverse computing architectures, a unified high-speed interconnect bus connects various computing resources. However, current standards and specifications lack a unified management solution for resources in peer-to-peer diverse computing architectures, hindering resource utilization and resulting in low resource efficiency. Figure 3 illustrates a comparison between current server stacking architectures and peer-to-peer diverse computing architectures.
[0081] The current server stack architecture includes compute nodes, network nodes, and storage nodes. The compute node includes a Graphics Processing Unit (GPU), a solid-state disk (SSD), a CPU, a network interface card (NIC), and memory, connected via a PCIe bus; for example, the SSD, GPU, NIC, and memory are all connected to the CPU via PCIe. The storage node includes a NIC, SSD, CPU, and memory, connected via a PCIe bus; for example, the SSD, NIC, and memory are all connected to the CPU via PCIe. The compute nodes and storage nodes are connected to the network node via an Ethernet network.
[0082] In a peer-to-peer (P2P) computing architecture, the overall architecture is a super point of delivery (Super POD) (also known as a hyperscale computing cluster). The hyperscale computing cluster includes a heterogeneous computing pool, a memory pool, a cache pool, and a unified high-speed interconnect bus network. The heterogeneous computing pool includes various processors such as CPUs, NPUs, GPUs, and xPUs. These processors are connected via a unified interconnect bus to form a heterogeneous computing pool, which can better support different types of computing tasks and improve computing efficiency and flexibility. The memory pool includes multiple memory modules (MEMs) connected via a unified interconnect bus to form a memory pool, achieving efficient utilization of memory resources. The cache pool includes SCMs (Storage Class Memory) connected via a unified interconnect bus to form a cache pool, providing high-speed caching for the system and improving data access speed. The storage pool includes various storage devices such as SSDs, HDDs (Hard Disk Drives), and optical storage, connected via a unified interconnect bus to form a storage pool, enabling different storage media to work collaboratively and meet different data storage needs. A unified high-speed interconnect bus network is used to connect heterogeneous computing pools, memory pools, cache pools, and storage pools, enabling high-speed and efficient interconnection between various components and improving the performance and scalability of the entire system.
[0083] However, current standards and specifications lack a unified solution for resource management in peer-to-peer (P2P) diverse computing architectures, resulting in low resource utilization and hindering full resource utilization. For example, relevant specifications or standards do not support physical isolation of multiple clusters in P2P diverse computing architectures, failing to enhance isolation reliability; they also do not support logical isolation of multiple clusters, making it difficult to improve resource utilization within P2P diverse computing architectures; and they do not support location-affinity deployment of VNFs in P2P diverse computing architectures, making it impossible to achieve optimal latency performance by enabling VNFs to use resources in P2P diverse computing architectures without crossing chassis boundaries.
[0084] The above provides a detailed description of the technologies involved in this application.
[0085] As mentioned earlier, current data centers typically use the CPU as the core, managing hardware resources in a layered and hierarchical manner. Existing standards and specifications primarily address this type of architecture. In peer-to-peer (P2P) diverse computing architectures, a unified high-speed interconnect bus connects various computing resources. However, current standards and specifications lack a solution for unified resource management in P2P diverse computing architectures, hindering resource utilization and resulting in low resource efficiency and compromised performance. Therefore, how to achieve unified resource management in P2P diverse computing architectures and improve resource utilization has become a pressing technical problem to be solved.
[0086] To address the aforementioned technical problems, this application provides a method for creating a resource pool. After receiving a message indicating the creation of a device resource pool, a first functional network element creates a device resource pool based on at least one device in the device resource pool indicated in the message. The created device resource pool includes the resources of each device. In this way, the first functional network element can manage resources in a peer-to-peer diverse computing architecture in a device resource pooling manner based on the method provided in this application, thereby enabling unified management of resources in the peer-to-peer diverse computing architecture and improving resource utilization.
[0087] The following is a detailed description of the solutions provided in the embodiments of this application. Before introducing the embodiments of this application, the following points should be noted.
[0088] In the description of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can mean A or B. "And / or" in this application is merely a description of the relationship between the related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. A and B can be singular or plural.
[0089] In the description of this application, A sending a message to B can be understood as A sending a message to B through one or more network elements.
[0090] In the description of this application, unless otherwise stated, "multiple" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b and / or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0091] Furthermore, to facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and the terms "first" and "second" are not necessarily different.
[0092] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.
[0093] It is understood that the term "embodiment" used throughout the specification means that a specific feature, structure, or characteristic related to an embodiment is included in at least one embodiment of this application. Therefore, various embodiments throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It is understood that in the various embodiments of this application, the sequence number of each process does not imply the order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0094] It is understood that in this application, "...when" and "if" both refer to the corresponding processing that will be carried out under certain objective circumstances, and are not limited to a specific time, nor do they require a judgment action to be performed during implementation, nor do they imply any other limitations.
[0095] It is understood that some optional features in the embodiments of this application can be implemented independently in certain scenarios without relying on other features, such as the current solution on which they are based, to solve the corresponding technical problems and achieve the corresponding effects. Alternatively, they can be combined with other features as needed in certain scenarios. Correspondingly, the apparatus given in the embodiments of this application can also implement these features or functions, which will not be elaborated here.
[0096] In this application, unless otherwise specified, the same or similar parts between the various embodiments can be referred to each other. In the various embodiments of this application, and in the various implementation methods / methods / implementations within each embodiment, unless otherwise specified or logically conflicting, the terminology and / or descriptions between different embodiments and between the various implementation methods / methods / implementations within each embodiment are consistent and can be mutually referenced. The technical features in different embodiments and the various implementation methods / methods / implementations within each embodiment can be combined according to their inherent logical relationships to form new embodiments, implementation methods, methods, or implementation approaches. The embodiments described below do not constitute a limitation on the scope of protection of this application.
[0097] The method for creating a resource pool provided in this application embodiment can be applied to the communication system shown in FIG4. As shown in FIG4, the communication system includes a first functional entity 401 and a network function virtualization orchestrator 402. The network function virtualization orchestrator 402 is used to call the interface of the first functional entity to create a device resource pool. The device resource pool includes a device resource pool identifier, and the device information in the device resource pool is not limited in this application. The first functional entity creates the device resource pool based on the call to the network function virtualization orchestrator 402. Optionally, the network function virtualization orchestrator 402 can also call the first functional entity to create a device pool group, which includes a primary device resource pool and a backup device resource pool. Optionally, the first functional entity can be VIM and / or PIM, which is not limited in this application.
[0098] In some embodiments, as shown in FIG4, the communication system further includes an NFV infrastructure layer 403. The NFV infrastructure layer 403 is used to report hardware information of device resources to the first functional entity, such as device label, device type, topology location information, quantity, and core capabilities (e.g., computing resources, CPU cores / memory, network bandwidth / VF quantity, storage IOPS / VF quantity). Among them, the device type includes a newly added pooling type to indicate that the resources of the device can be used for pooled resource management. After the resources of the device are pooled, they can be exclusively used by a cluster or shared by multiple clusters.
[0099] In some other embodiments, as shown in FIG4, the communication system further includes container cluster lifecycle management 404 and container infrastructure service management 405. Container cluster lifecycle management 404, container infrastructure service management 405, network function virtualization orchestrator 402, and the first functional entity are able to interact to perform container cluster management with device resource pooling, to create container clusters, and to allocate available resources to the container clusters from the device resource pool.
[0100] In some other embodiments, as shown in FIG4, the communication system further includes a VNF management module 406. The VNF management module 406 can interact with the container infrastructure service management 405 and the first functional entity to perform VNF instantiation management of device resource pooling, to create VNF instances and allocate available resources to the VNF instances from the device resource pool.
[0101] The technical solutions of this application embodiment can be used in various communication systems, including third-generation partnership project (3GPP) communication systems, such as fourth-generation (4G) systems like Long Term Evolution (LTE), fifth-generation (5G) systems like New Radio (NR), LTE and 5G hybrid networking systems, integrated communication and sensing systems, non-terrestrial networks (NTN), device-to-device (D2D) communication systems, vehicle-to-everything (V2X) communication systems, machine-type communication (MTC) systems, Internet of Things (IoT) systems, or other future communication systems. The communication system can also be a non-3GPP communication system; there is no limitation on this.
[0102] The communication systems described above are merely illustrative examples, and are not limited to those described herein. The communication systems provided in this application do not impose any limitations on the solutions described herein. This will be explained uniformly here and will not be repeated below.
[0103] In one possible implementation, Figure 5 is a schematic diagram of the composition of a resource pool creation apparatus 500 provided in an embodiment of this application. The network element entities or devices shown in Figure 4 can all adopt the composition structure shown in Figure 5, or include the components shown in Figure 5; or, the components (e.g., chips) in the network element entities or devices shown in Figure 4 can all adopt the composition structure shown in Figure 5, or include the components shown in Figure 5. It is understood that the resource pool creation apparatus 500 includes means of the necessary form, such as modules, units, elements, circuits, or interfaces, to be appropriately configured together to implement this solution.
[0104] As shown in Figure 5, the resource pool creation device 500 includes one or more processors 501. The processors 501 are used to implement the processing and determination processes executed by the various devices in the following embodiments. The processor 501 can be a general-purpose processor or a dedicated processor, such as a baseband processor or a central processing unit. The baseband processor can be used to process communication protocols and communication data, while the central processing unit can be used to control the resource pool creation device (e.g., RAN node, terminal, or chip), execute software programs, and process the data from the software programs.
[0105] Optionally, in one design, processor 501 may include program 503 (sometimes referred to as code or instructions) that can be run on processor 501 to cause the means 500 for creating the resource pool to perform the methods described in the following embodiments.
[0106] Optionally, the apparatus 500 for creating a resource pool may include one or more memories 502 storing a program 504 (sometimes referred to as code or instructions) that can be run on the processor 501, causing the apparatus 500 for creating a resource pool to perform the methods described in the following method embodiments.
[0107] Optionally, processor 501 and / or memory 502 may include AI module 507 and AI module 508, which are used to implement AI-related functions. These AI modules can be implemented through software, hardware, or a combination of both. For example, the AI module may include an intelligent controller (RIC) module. For instance, the AI module may be a near real-time RIC or a non-real-time RIC.
[0108] Optionally, the processor 501 and / or memory 502 may also store data. The processor and memory may be configured separately or integrated together.
[0109] Optionally, the resource pool creation device 500 may further include a transceiver 505, which implements the transmission and reception processes performed by the various devices in the following embodiments. The processor 501, sometimes referred to as a processing unit, controls the resource pool creation device (e.g., a RAN node or terminal). The transceiver 505 may also be referred to as a transceiver unit, transceiver, transceiver circuit, or transceiver, etc. The resource pool creation device 500 may also include an antenna 506.
[0110] It should be noted that the composition shown in Figure 5 does not constitute a limitation on the device for creating a resource pool. In addition to the components shown in Figure 5, the device for creating a resource pool may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0111] In this embodiment of the application, the chip system may be composed of chips or may include chips and other discrete devices.
[0112] Furthermore, the actions, terms, etc., involved in the various embodiments of this application can be referenced interchangeably without limitation. The message names or parameter names in the messages exchanged between the various devices in the embodiments of this application are merely examples, and other names may be used in specific implementations without limitation.
[0113] The method for creating a resource pool provided in the embodiments of this application will be described below with reference to Figures 1 to 5.
[0114] It should be noted that in the following embodiments of this application, the message names between network elements, the names of each parameter, or the names of each piece of information are just examples. Other names may also be used in other embodiments. The method for creating a resource pool provided in this application does not specifically limit this.
[0115] It is understood that in the embodiments of this application, each network element may execute some or all of the steps in the embodiments of this application. These steps or operations are merely examples, and the embodiments of this application may also execute other operations or variations thereof. Furthermore, the steps may be executed in different orders as presented in the embodiments of this application, and it is not necessary to execute all the operations in the embodiments of this application.
[0116] It is understood that this application uses various network elements as examples to illustrate the execution of the interaction, but this application does not limit the execution subject of the interaction. For example, the method executed by the network element in this application can also be executed by a module applied to the network element (e.g., a chip, chip system, or processor), or by a logical node, logical module, or software that can implement all or part of the network element's functions. This application does not specifically limit these aspects.
[0117] The functions and actions of each device in the communication system provided in this application embodiment are described below. As shown in Figure 6, the method for creating a resource pool includes the following steps:
[0118] Step 601: The network function virtualization orchestrator sends a first message to the first functional entity, and the first functional entity receives the first message accordingly.
[0119] The first message indicates at least one device in the device resource pool to be created; each of the at least one device includes resources for different types of services in the communication network. Optionally, the at least one device is a device in a peer-to-peer diverse computing architecture.
[0120] As an example, at least one device is a DPU, or at least one device can be a memory device, a neural network processing unit (NPU) device, a GPU device, or other device that includes resources for different types of services in a communication network; this application does not limit this. The following description mainly uses at least one device as an example of a DPU.
[0121] In some embodiments, the first message includes: an identifier of the device resource pool and an identifier of at least one device. Furthermore, the first message can also be used to indicate the resource allocation mode of the device resource pool. Optionally, the resource allocation mode of the device resource pool includes: a shared device resource pool mode or a dedicated device resource pool mode, wherein the shared device resource pool mode indicates that resources in the device resource pool can be shared by multiple functional entities, and the dedicated device resource pool mode indicates that resources in the device resource pool can be exclusively used by one functional entity.
[0122] In other words, the first message can indicate the device resource pool to be created and the devices included in the device resource pool through the identifier of the device resource pool and the identifier of at least one device in the device resource pool. Furthermore, the first message can also indicate the resource allocation mode of the device resource pool. Taking DPU as an example, when the first functional entity creates the DPU resource pool, it records the resource allocation method of the DPU resource pool, and then allocates the corresponding DPU resource pool according to the resource allocation method required by the container cluster or virtual network function (VNF) instance when allocating DPU resources to it subsequently.
[0123] Optionally, the resources used for different types of services in the communication network include at least two of the following: computing resources, storage resources, or network service resources. In other words, the resources of the device include at least two of the following: computing resources, storage resources, or network service resources.
[0124] Step 602: The first functional entity creates a device resource pool based on the first message.
[0125] The equipment resource pool includes the resources of each device.
[0126] In some embodiments, the process of the first functional entity creating a device resource pool includes: the first functional entity recording the devices and device resources in the device resource pool, and virtualizing the device resources to complete the creation of the device resource pool.
[0127] Taking at least one device as a DPU as an example, the process of creating a device resource pool in steps 601 and 602 above can be implemented as follows: The network function virtualization orchestrator queries the DPU device information from the first functional entity in advance, and determines the DPU resource pool to be created based on the DPU device information. For example, the network function virtualization orchestrator calls the interface in the first functional entity used to query the DPU device to query the DPU device information. Based on the DPU device information, the network function virtualization orchestrator calls the interface in the first functional entity used to create the DPU resource pool to create the DPU resource pool. For example, the network function virtualization orchestrator sends a first message to the first functional entity, indicating the relevant information of the created DPU resource pool.
[0128] If the first message includes the identifier of the device resource pool, the identifier of at least one device, and / or the resource allocation mode of the device resource pool, the Network Functions Virtualization Orchestrator indicates the identifier of the DPU resource pool, the list of DPUs included in the DPU resource pool, and / or the allocation mode of the DPU resource pool to the first functional entity. The first functional entity records the DPU devices, DPU resources, and / or the allocation mode of the DPU resource pool, and virtualizes the aforementioned DPU resources to complete the creation of the DPU resource pool.
[0129] In some embodiments, after the first functional entity creates a device resource pool, it records the information of the created device resource pool (such as the device resource pool identifier, the devices in the device resource pool, the resources of each device, and the allocation model of the device resource pool) in a database, and sends the information of the created device resource pool to the network function virtualization orchestrator. The network function virtualization orchestrator also records the device resource pool information in its own database.
[0130] In this embodiment, after receiving a message to create a device resource pool, the first functional network element creates a device resource pool based on at least one device in the device resource pool indicated in the message. The created device resource pool includes the resources of each device. In this way, the first functional network element can manage the device resource pooling based on the method provided in this embodiment, thereby enabling unified management of the resources of at least one device in the device resource pool and improving the utilization rate of device resources in the device resource pool.
[0131] When the devices in the device resource pool are DPU devices and the resources are DPU resources, the first functional network element can manage the DPU resource pooling based on the method provided in the embodiments of this application, so that the resources of at least one DPU in the DPU resource pool can be managed in a unified manner, thereby improving the utilization rate of DPU resources in the DPU resource pool.
[0132] In this embodiment, after receiving a message to create a device resource pool, the first functional network element creates a device resource pool based on at least one device in the device resource pool indicated in the message. The created device resource pool includes the resources of each device. In this way, the first functional network element can manage resources in a peer-to-peer diverse computing architecture in a device resource pooling manner based on the method provided in this embodiment, thereby enabling unified management of resources in the peer-to-peer diverse computing architecture and improving resource utilization.
[0133] As shown in Figure 7, this application provides a method for creating a device resource pool group. The method includes:
[0134] Step 701: The network function virtualization orchestrator sends a second message to the first functional entity, and the first functional entity receives the second message accordingly.
[0135] The second message is used to indicate that there are at least two device resource pools in the device resource pool group to be created.
[0136] In some embodiments, the second message includes an identifier of a device resource pool group. Optionally, the second message includes identifiers of at least two device resource pools, or identifiers of devices in at least two device resource pools. In other words, the network function virtualization orchestrator can indicate the device resource pools in the device resource pool group to the first functional entity using the identifiers of the device resource pools, so that the first functional entity can create a device resource pool group based on the device resource pools in the device resource pool group. Alternatively, the network function virtualization orchestrator can indicate the devices in the device resource pool group to the first functional entity using the identifiers of the devices in the device resource pools, so that the first functional entity can create a device resource pool group based on the devices in the device resource pool group.
[0137] In one possible implementation, the second message is further used to indicate the resource allocation mode of the device resource pool group. Optionally, the resource allocation mode of the device resource pool group includes: a shared mode or an exclusive mode, wherein the shared mode indicates that the resources in the device resource pool group can be shared by multiple functional entities, and the exclusive mode indicates that the resources in the device resource pool group can be exclusively used by one functional entity. Taking a DPU device as an example, the first functional entity records the resource allocation mode of the DPU resource pool group when creating it, and then allocates the corresponding DPU resource pool group according to the resource allocation mode required by the container cluster or VNF instance when allocating DPU resources to it later.
[0138] Step 702: The first functional entity creates a device resource pool group based on the second message.
[0139] The equipment resource pool group includes resources from at least two equipment resource pools.
[0140] Taking at least one device as a DPU as an example, the process of creating a device resource pool group in steps 701 and 702 above can be implemented as follows: The network function virtualization orchestrator can query the DPU device information from the first functional entity in advance, and determine the DPU resource pool group to be created based on the DPU device information. For example, the network function virtualization orchestrator calls the interface in the first functional entity used to query the DPU device to query the DPU device information. Based on the DPU device information, the network function virtualization orchestrator calls the interface in the first functional entity used to create the DPU resource pool group to create the DPU resource pool group. For example, the network function virtualization orchestrator sends a first message to the first functional entity, indicating the relevant information of the created DPU resource pool group.
[0141] If the first message includes the identifier of the device resource pool group, the identifier of at least one device resource pool (or the identifier of the device in the device resource pool), and / or the resource allocation mode of the device resource pool, the Network Function Virtualization Orchestrator indicates the identifier of the DPU resource pool group, the list of device resource pools included in the DPU resource pool group, and / or the allocation mode of the DPU resource pool to the first functional entity. The first functional entity records the device resource pools, DPU resources, and / or the allocation mode of the DPU resource pool in the DPU resource pool, and virtualizes the aforementioned DPU resources to complete the creation of the DPU resource pool group.
[0142] In this embodiment, after receiving a message to create a device resource pool group, the first functional network element creates a device resource pool group based on at least one device resource pool in the device resource pool group indicated in the message. The created device resource pool group includes the resources of each device resource pool. Thus, when at least one device is a DPU, the first functional network element can manage the DPU resource pool group based on the method provided in this embodiment, thereby enabling unified management of the DPU resources in the DPU resource pool group and improving the utilization rate of the DPU resources in the DPU resource pool group. After creating the device resource pool group, if subsequent VNF instances or container clusters are bound to the created device resource pool group, load balancing and high reliability can be achieved through the binding of the device resource pool group. For example, when a VNF instance is bound to a device resource pool group, resources can be evenly allocated to the VNF instance from multiple resource pools in the device resource pool group when allocating resources to the VNF instance, thereby achieving load balancing. When a VNF instance uses resources in the device resource pool group, if one device resource pool fails, the VNF instance can be switched to another device resource pool, thereby achieving high reliability. It should be noted that container clusters and device resource pools can also achieve similar effects, which will not be elaborated upon in this application.
[0143] In some embodiments, referring to FIG6 and as shown in FIG8, before the device resource pool is created based on the first message in step 602 above, the first functional entity can pre-acquire the resources of each device. This process can be specifically implemented through the following steps 801.
[0144] Step 801: The NFV infrastructure layer sends a third message to the first functional entity. Correspondingly, the first functional entity receives the third message from the NFV infrastructure layer.
[0145] The third message is used to indicate the resources of at least one device.
[0146] In one possible implementation, the third message is further used to indicate that at least one device has resources supporting the establishment of a device resource pool. In this way, the first functional entity can establish the device resource pool based on the device resources supporting its establishment, thereby ensuring that all resources in the device resource pool are available.
[0147] In some embodiments, the first functional entity can manage DPU devices through a cloud platform. For example, the first functional entity can deploy agent nodes in each DPU device through the cloud platform to manage each DPU device through the agent nodes. When the first functional entity needs to obtain resource information of each DPU device, it can send an instruction message to the agent node, instructing the agent node to report the resource information of the corresponding DPU device. Based on the instruction from the first functional entity, the agent node sends a third message to the first functional entity to indicate the resource information of the DPU device.
[0148] As an example, the resource information of a DPU device includes at least one of the following: device label, device type, topology location information, quantity, core capabilities (e.g., computing resources, CPU cores / memory, network bandwidth / number of virtual functions (VFs), storage input / output operations per second (IOPS) / number of VFs). The device type includes a newly added pooling type indicating that the device's resources can be used for pooled resource management; after pooling, the device's resources can be exclusively used by a cluster or shared across multiple clusters.
[0149] As an example, Figure 9 illustrates a schematic diagram of creating a DPU resource pool and a DPU resource pool group based on DPU hardware resources according to an embodiment of this application. As shown in Figure 9, DPUs #11, #12, #13, #14, #15, and #16 are deployed in rack #1. DPUs #21, #22, #23, #24, #25, and #26 are deployed in rack #2. The DPUs in rack #1 and rack #2 are physically isolated.
[0150] When creating DPU resource pools, DPU#11 and DPU#21 are combined into one resource pool, designated as DPU Resource Pool #1; DPU#12 and DPU#22 are combined into one resource pool, designated as DPU Resource Pool #2; DPU#13 and DPU#23 are combined into one resource pool, designated as DPU Resource Pool #3; DPU#14 and DPU#24 are combined into one resource pool, designated as DPU Resource Pool #4; DPU#15 is combined into one resource pool, designated as DPU Resource Pool #5; and DPU#16 is combined into one resource pool, designated as DPU Resource Pool #6.
[0151] When creating DPU resource pool groups, DPU resource pool #1 and DPU resource pool #2 are combined into one DPU resource pool group, denoted as DPU resource pool group #1; DPU resource pool #3 and DPU resource pool #4 are combined into one DPU resource pool group, denoted as DPU resource pool group #2; and DPU resource pool #5 and DPU resource pool #6 are combined into one DPU resource pool group, denoted as DPU resource pool group #3.
[0152] When deploying container clusters (such as Kubernetes clusters), container cluster #1 can be bound to DPU resource pool group #1, and container cluster #1 will use the DPU resources in DPU resource pool group #1. Container clusters #2 and #3 can also be bound to DPU resource pool group #2, and they will use the DPU resources in DPU resource pool group #2. Because container cluster #1 is bound to different DPU resource pool groups than container clusters #2 and #3, container cluster #1 is physically isolated from container clusters #2 and #3, enhancing the isolation reliability of container cluster #1. Although container clusters #2 and #3 are both bound to DPU resource pool group #2, different DPU resources can be allocated to them, thereby achieving logical isolation between container clusters #2 and #3 and improving the utilization of DPU resources.
[0153] When deploying VNF instances, VNF instance #1 is bound to DPU resource pool group #1, and VNF instance #2 is bound to DPU resource pool group #3. Since the DPU resource pool groups bound to VNF instance #1 and VNF instance #2 are different, VNF instance #1 and VNF instance #2 are physically isolated. Furthermore, since VNF #2 is bound to DPU resource pool group #3, and the DPUs in DPU resource pool group #3 are all in the same rack, VNF #2 can achieve physically affinity deployment. Binding VNF instances to pool groups also enables load balancing and high reliability for VNF instances. For example, binding VNF instance #1 to DPU resource pool group #1 allows for a balanced allocation of resources between DPU resource pool #1 and DPU resource pool #2, achieving load balancing. VNF instance #1 is bound to DPU resource pool group #1. In the event of a failure in one DPU resource pool, resources can be provided to the VNF instance through another DPU resource pool. For example, if DPU resource pool #1 fails, resources from DPU resource pool #2 can be used to provide resources to the VNF instance, thus achieving high reliability. It should be noted that container clusters and DPU resource pool groups can achieve a similar effect, which will not be elaborated upon in this application.
[0154] The architecture of the resource pool and resource pool group created in the embodiments of this application has been illustrated above with reference to Figure 9. As shown in Figure 9, after creating the resource pool and resource pool group, container clusters and / or VNF instances can be bound to the DPU resource pool or DPU resource pool group, thereby enabling the container clusters and / or VNF instances to use the resources in the bound DPU resource pool or DPU resource pool group.
[0155] It should be noted that the binding of container clusters and / or VNF instances to DPU resource pools or DPU resource pool groups in the embodiments of this application can also be understood as the allocation of DPU resource pools or DPU resource pool groups to container clusters and / or VNF instances, or the DPU resource pools or DPU resource pool groups corresponding to container clusters and / or VNF instances. This application does not limit this.
[0156] The following, referring to Figure 6 and Figure 10, describes the process of resource management of a virtualized entity cluster based on a device resource pool provided in this application embodiment. As shown in Figure 10, the process includes:
[0157] Step 1001: The network function virtualization orchestrator sends a fourth message to the first functional entity. Correspondingly, the first functional entity receives the fourth message from the network function virtualization orchestrator.
[0158] The fourth message is used to indicate the first device resource pool allocated to the first virtualized entity cluster; the first virtualized entity cluster is used to provide services in the communication network.
[0159] As an example, the virtualized entity cluster in this application embodiment can be a container cluster, such as a Kubernetes container cluster, or other clusters that use DPU resources; this application does not limit this. This application embodiment uses a container cluster as an example for illustration.
[0160] When the first virtualization entity cluster is a container cluster, the first functional entity determines the DPU resource pool (or DPU resource pool group) bound to the container cluster based on the fourth message, and determines whether the container cluster shares or exclusively uses the DPU resource pool. When the container cluster uses DPU resources subsequently, the first functional entity can allocate DPU resources from its bound DPU resource pool for the container cluster to use.
[0161] Optionally, the fourth message may also indicate the first resource allocated to the first virtualization entity cluster in the first device resource pool. In other words, the fourth message may also indicate which resources in the DPU resource pool are allocated to the container cluster, so that when the container cluster uses DPU resources subsequently, the container cluster can use the first resource allocated to it in the DPU resource pool it is bound to.
[0162] In some embodiments, when the resource allocation mode of the device resource pool is the device resource pool sharing mode, the fourth message is further used to instruct the first virtualization entity cluster to share the resources in the first device resource pool with other virtualization entity clusters. In other words, when the container cluster can share the DPU resource pool with other container clusters, the network function virtualization orchestrator binds the container cluster to a DPU resource pool that supports the sharing mode, and instructs the first functional entity to the DPU resource pool bound to the container cluster through the fourth indication information.
[0163] In one possible implementation, when the resource allocation mode of the device resource pool is the device resource pool exclusive mode, the fourth message is also used to instruct the first virtualization entity cluster to exclusively occupy the resources in the first device resource pool. In other words, when the container cluster needs to exclusively occupy the DPU resource pool, the network function virtualization orchestrator binds a DPU resource pool that supports exclusive mode to the container cluster, and instructs the first functional entity to bind the DPU resource pool to the container cluster through the fourth indication information.
[0164] Step 1002: The first functional entity determines the resources in the first device resource pool as available resources for the first virtualization entity cluster.
[0165] In one possible implementation, when the first functional entity provides resources to the first virtualized entity cluster, it provides resources from the first device resource pool for the first virtualized entity cluster to use.
[0166] In some embodiments, referring to Figure 11, taking the resource pooling of DPU devices and the first virtualization entity cluster as a container cluster as an example, the process of managing a container cluster based on a DPU resource pool is described, as shown in Figure 11. This process includes:
[0167] Step 1101: The Network Functions Virtualization Orchestrator sends a container cluster creation message to the Container Cluster Lifecycle Management. Correspondingly, the Container Cluster Lifecycle Management receives the container cluster creation message from the Network Functions Virtualization Orchestrator.
[0168] In one possible implementation, the Network Functions Virtualization (NFV) orchestrator determines the first DPU resource pool that the first container cluster needs to bind to, based on the resource requirements of the first container cluster and the available DPU resources in each DPU resource pool. Furthermore, the NFV orchestrator determines the allocation strategy for the first DPU resource pool bound to the first container cluster, i.e., whether the first container cluster exclusively occupies or shares the first DPU resource pool. The NFV orchestrator determines the share of DPU resources that the first container cluster needs to occupy in the first DPU resource pool, such as the share of network resources (e.g., bandwidth or VF), storage resources (e.g., IOPS), and computing resources (e.g., Agent resources, CPU, and memory). Following this, the NFV orchestrator sends a container cluster creation message to the container cluster lifecycle management system, instructing the system to create the first container cluster based on the aforementioned resource requirements and resource shares.
[0169] Step 1102: Container Cluster Lifecycle Management - Create the first container cluster.
[0170] The container cluster lifecycle management creates the first container cluster and installs container infrastructure service management. The container infrastructure service management records relevant information about the first container cluster binding to the first DPU resource pool, such as the allocation strategy of the first container cluster using the first DPU resource pool and the resource share allocated to the first container cluster in the first DPU resource pool.
[0171] It should be noted that the Network Functions Virtualization Orchestrator can also update the DPU resource pool bound to the first container cluster. For example, if the resource requirements of the first container cluster change, or if the DPU resource pool bound to the first container cluster can no longer provide DPU resources to the first container cluster, the Network Functions Virtualization Orchestrator will reallocate the DPU resource pool to the first container cluster and send the updated information of the reallocated DPU resource pool to the container cluster lifecycle management. The container cluster lifecycle management will then update the relevant information of the DPU resource pool bound to the first container cluster recorded in the container infrastructure service management based on this update information.
[0172] Step 1103: Container Cluster Lifecycle Management sends the DPU resource pool information bound to the first container cluster to Container Infrastructure Service Management. Correspondingly, Container Infrastructure Service Management receives the DPU resource pool information bound to the first container cluster from Container Cluster Lifecycle Management.
[0173] Among them, container infrastructure service management refers to the service management used to manage the aforementioned first container cluster.
[0174] In some embodiments, the container infrastructure service management records information such as the DPU resource pool information of the first container cluster and the resource allocation strategy of the DPU resource pool. Alternatively, the container infrastructure service management records information such as the DPU resource pool group information of the first container cluster and the resource allocation strategy of the DPU resource pool group.
[0175] Step 1104: The Network Functions Virtualization Orchestrator sends the DPU resource information of the first container to the first functional entity. Correspondingly, the first functional entity receives the DPU resource information of the first container cluster from the Network Functions Virtualization Orchestrator.
[0176] The DPU resource information of the first container cluster includes, but is not limited to, at least one of the following: information about the DPU resource pool or DPU resource pool group bound to the first container cluster, the share of DPU resources allocated to the first container cluster, and the container infrastructure service management to which the first container cluster belongs.
[0177] Step 1105: The first functional entity records the DPU resource information of the first container cluster.
[0178] After this, the first container cluster can use the DPU resources in its bound DPU resource pool. Optionally, the first functional entity also records the container infrastructure service management to which the first container cluster belongs.
[0179] Optionally, when the Network Functions Virtualization Orchestrator updates the DPU resource pool bound to the first container cluster, the Network Functions Virtualization Orchestrator can also directly send the updated information of the DPU resource pool bound to the first container cluster to the first functional entity. The first functional entity updates the information of the DPU resource pool bound to the first container cluster based on this message.
[0180] It should be noted that, in the embodiments of this application, multiple container clusters can be created based on steps 1101 to 1105 described above. This application does not limit this.
[0181] In scenarios where DPU resource pools used by multiple container clusters need to be physically isolated, the allocation mode of the DPU pools bound to each container cluster can be set to exclusive mode, with each container cluster having exclusive access to a DPU resource pool. If a new container binds to a DPU resource pool already exclusively used by a container cluster during subsequent container creation, an error message will be displayed indicating that the container cluster is binding an incorrect DPU resource pool. This avoids duplicate binding of DPU resource pools, thereby achieving physical isolation between container clusters, with each container cluster using an independent DPU resource pool.
[0182] In scenarios where multiple container clusters using a DPU resource pool require logical isolation, the allocation mode of the DPU pools bound to each container cluster can be set to shared mode. Multiple container clusters can share a single DPU resource pool, and through system management methods and allocation strategies, different resources on the DPU resource pool can be logically allocated to different containers (e.g., multiple container clusters use different resources from the DPU resource pool, or use resources from the DPU resource pool at different time periods). This allows for logical differentiation and isolation of the DPU resources used by different container clusters, achieving the effect of logical isolation and improving the utilization rate of the DPU pool resources.
[0183] The following, referring to Figure 6 and Figure 12, describes the process of resource management of VNF instances based on device resource pools provided in the embodiments of this application. As shown in Figure 12, the process includes:
[0184] Step 1201: Container Infrastructure Service Management sends a fifth message to the first functional entity. Correspondingly, the first functional entity receives the fifth message from Container Infrastructure Service Management.
[0185] The fifth message is used to indicate the second resource allocated to the VNF instance.
[0186] In some embodiments, if the first functional entity receives a fifth message indicating the creation of a VNF instance, it establishes a mapping between the VNF instance and the resources in the device resource pool based on the resources allocated to the VNF instance as indicated in the fifth message. This allows the VNF instance to subsequently use the resources allocated to it in the device resource pool.
[0187] In one possible implementation, the VNF instance is a VNF instance within a first virtualization entity cluster, and the second resource is a resource within the first resource. In other words, the VNF instance can be deployed within the aforementioned first virtualization entity cluster. In this case, the resources allocated to the VNF instance are the resources allocated to the first virtualization entity cluster.
[0188] In one possible implementation, the VNF instance includes multiple first virtualization entities, and the fifth message indicates the third resource allocated to each first virtualization entity. In this case, the first functional entity determines that the available resources of the VNF instance include the third resource allocated to each first virtualization entity. In other words, if the VNF instance includes multiple services deployed in different virtualization entities, the fifth message can also indicate the third resource allocated to each virtualization entity separately. Thus, the first functional entity can determine that the third resource allocated to each of the aforementioned virtualization entities is a available resource of the VNF instance, and the services in the VNF instance can use the third resources in their deployed virtualization entities during runtime.
[0189] In some embodiments, referring to FIG6 and FIG13, this application embodiment also provides a method for container management based on DPU pooling. The method includes:
[0190] Step 1301: Container Infrastructure Service Management sends a sixth message to the first functional entity. Correspondingly, the first functional entity receives the sixth message from Container Infrastructure Service Management.
[0191] The sixth message is used to indicate the third resource allocated to the first virtualization entity.
[0192] In some embodiments, if the first functional entity receives a sixth message indicating the creation of a virtualized entity, it establishes a binding relationship between the first virtualized entity and the third resource according to the third resource allocated to the first virtualized entity as indicated in the sixth message. This allows the first virtualized entity to subsequently use the resources allocated to it in the device resource pool.
[0193] Optionally, the first virtualization entity is an entity within a first virtualization entity cluster, and the third resource is a resource within the first resource. In other words, the first virtualization entity can be an entity within the aforementioned first virtualization entity cluster, and in this case, the resources allocated to the first virtualization entity are the resources allocated to the aforementioned first virtualization entity cluster.
[0194] Optionally, the first virtualization entity is a virtualization entity within the VNF instance, and the sixth message further indicates that the third resource is an available resource of the VNF instance. If the VNF instance includes multiple services, and these services are deployed in different virtualization entities, the fifth message can also indicate the third resource allocated to each virtualization entity. In this way, the first functional entity can determine that the third resource allocated to each of the aforementioned virtualization entities is an available resource of the VNF instance, and the services within the VNF instance can use the third resources in their deployed virtualization entities during runtime.
[0195] In some embodiments, if a first functional entity receives a sixth message indicating the creation of a virtualized entity, it establishes a binding relationship between the first virtualized entity and the third resource according to the third resource allocated to the first virtualized entity as indicated in the sixth message. This allows the first virtualized entity to subsequently use the resources allocated to it in the device resource pool. The first virtualized entity can be an entity within the aforementioned first virtualized entity cluster; in this case, the resources allocated to the first virtualized entity are the resources allocated to the aforementioned first virtualized entity cluster. The first virtualized entity can also be a virtualized entity within a VNF instance; in this case, the resources allocated to the first virtualized entity are the resources allocated to the aforementioned VNF instance.
[0196] In some embodiments, referring to FIG14, taking the resource pooling of DPU devices as an example, the process of VNF instantiation management based on DPU resource pools is described, as shown in FIG14. The process includes:
[0197] Step 1401: The VNF management module sends a container creation message to the container infrastructure service management. Correspondingly, the container infrastructure service management receives the container creation message from the VNF management module.
[0198] The container creation message is used to indicate the creation of container network and storage information. Optionally, the container creation message carries information about the DPU resource pool corresponding to the container to be created, such as which network resources or storage resources in the DPU resource pool the container needs to use. If the container creation message does not carry information about the DPU resource pool corresponding to the container being created, the container infrastructure service can also allocate DPU resources to the container based on the DPU resource pool bound to the container cluster to which the container belongs.
[0199] Step 1402: Container Infrastructure Service Management sends a DPU resource indication message for the container to the first functional entity. Correspondingly, the first functional entity receives the DPU resource indication message for the container from Container Infrastructure Service Management.
[0200] The container's DPU resource indication message is used to indicate the DPU resources allocated to the container.
[0201] Step 1403: The first functional entity records the DPU resources allocated to the container.
[0202] Optionally, the first functional entity records the correspondence between the container network, storage, and DPU resource pool, and the first functional entity can subsequently allocate DPU resources to the container based on this correspondence.
[0203] Step 1404: The VNF management module sends a VNF instance creation message to the container infrastructure service management. Correspondingly, the container infrastructure service management receives the VNF instance creation message from the VNF management module.
[0204] The VNF instance creation message is used to indicate the creation of a VNF instance. Optionally, the VNF instance creation message can also indicate the DPU resource pool information corresponding to the VNF instance.
[0205] Optionally, the VNF instance creation message may include DPU resource pool information for one or more services (or microservices) in the VNF instance.
[0206] Step 1405: Container Infrastructure Service Management creates Pods based on VNF instance creation messages.
[0207] Pods are used to deploy services within VNF instances.
[0208] In some embodiments, during the process of creating a Pod based on a VNF instance creation message in Container Infrastructure Service Management, if the VNF instance creation message indicates the DPU resource pool group information of the service corresponding to the Pod, then the indicated DPU resource pool group is allocated to the Pod. Optionally, Container Infrastructure Service Management can allocate the DPU resource pool group to the Pod based on a primary / standby pool multi-instance N-way deployment, which is not limited in this application.
[0209] In some embodiments, the container infrastructure service management determines the network assigned to the Pod, the network where the storage device is located, and the correspondence between the storage and the DPU resource pool (or DPU resource pool group).
[0210] If the container infrastructure service management determines that the network and storage devices allocated to the Pod correspond to the DPU resource pool, then the container network and container storage will be allocated to the Pod from the corresponding DPU resource pool.
[0211] If the container infrastructure service management determines that the network and storage devices allocated to the Pod correspond to the DPU resource pool group, then the container network and container storage are allocated to the Pod from the primary DPU resource pool and the backup DPU resource pool of the corresponding DPU resource pool group, and resources are provided to the Pod as a logical device.
[0212] Step 1406: The container infrastructure service management sends the Pod's DPU resource information to the first functional entity. Correspondingly, the first functional entity receives the Pod's DPU resource information from the container infrastructure service management.
[0213] Step 1407: The first functional entity allocates DPU resources to the Pod based on the Pod's DPU resource information.
[0214] It should be noted that in the embodiments of this application, the container cluster (or VNF example, container, Pod, etc.) bound to the DPU resource pool can also be implemented as bound to the DPU resource pool group, which will not be elaborated further in this application.
[0215] The above mainly describes the solutions provided by the embodiments of this application from the perspective of interaction between network elements. Correspondingly, the embodiments of this application also provide an apparatus for creating a resource pool, which is used to implement the various methods described above. The apparatus for creating a resource pool can be a first functional entity in the above method embodiments, or an apparatus containing the first functional entity, or a component usable by the first functional entity; the apparatus for creating a resource pool can be a network function virtualization management entity in the above method embodiments, or an apparatus containing the network function virtualization management entity, or a component usable by the network function virtualization management entity; the apparatus for creating a resource pool can be a network function virtualization management entity in the above method embodiments, or an apparatus containing the network function virtualization management entity, or a component usable by the network function virtualization management entity; the apparatus for creating a resource pool can be a network function virtualization infrastructure entity in the above method embodiments, or an apparatus containing the network function virtualization infrastructure entity, or a component usable by the network function virtualization infrastructure entity; the apparatus for creating a resource pool can be a VNF management entity in the above method embodiments, or an apparatus containing the VNF management entity, or a component usable by the VNF management entity. It is understood that the apparatus for creating the resource pool includes hardware structures and / or software modules corresponding to the execution of each function in order to achieve the above-mentioned functions. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0216] This application embodiment can divide the device for creating a resource pool into functional modules according to the above method embodiment. For example, each function can be divided into its own functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be understood that the module division in this application embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.
[0217] For example, Figure 15 is a schematic diagram of a resource pool creation device 1500 provided in an embodiment of this application. The resource pool creation device includes a transceiver module 1510. Optionally, it includes a processing module 1520. The transceiver module 1510, also known as a transceiver unit, is used to implement transceiver functions, and may be, for example, a transceiver circuit, transceiver, transceiver device, or communication interface.
[0218] Taking the device 1500 for creating the resource pool as the first functional entity in the above method embodiment, or a device containing the first functional entity, or a component that can be used for the first functional entity, as an example: the transceiver module 1510 is used to receive a first message, the first message being used to indicate at least one device in the device resource pool to be created; each of the at least one device includes resources for different types of services in the communication network; the processing module 1520 is used to create a device resource pool based on the first message, wherein the device resource pool includes the resources of each device.
[0219] In one possible implementation, the first message includes: an identifier of the device resource pool and an identifier of at least one device.
[0220] In one possible implementation, the first message is also used to indicate the resource allocation mode of the device resource pool.
[0221] In one possible implementation, the resource allocation mode of the device resource pool includes: a device resource pool sharing mode or a device resource pool exclusive mode, wherein the device resource pool sharing mode indicates that the resources in the device resource pool can be shared by multiple functional entities, and the device resource pool exclusive mode indicates that the resources in the device resource pool can be exclusively used by one functional entity.
[0222] In one possible implementation, the resources used for different types of services in the communication network include at least two of the following: computing resources, storage resources, or network service resources.
[0223] In one possible implementation, the transceiver module 1510 is further configured to receive a second message, wherein the second message is configured to indicate at least two device resource pools in the device resource pool group to be created; the processing module 1520 is further configured to create a device resource pool group based on the second message, wherein the device resource pool group includes resources from at least two device resource pools.
[0224] In one possible implementation, the second message includes the identifier of the device resource pool group.
[0225] In one possible implementation, the second message includes the identifiers of at least two device resource pools, or the identifiers of devices in at least two device resource pools.
[0226] In one possible implementation, the second message is also used to indicate the resource allocation mode of the device resource pool group.
[0227] In one possible implementation, the resource allocation mode of the device resource pool group includes: a shared mode or an exclusive mode, wherein the shared mode indicates that the resources in the device resource pool group can be shared by multiple functional entities, and the exclusive mode indicates that the resources in the device resource pool group can be exclusively used by one functional entity.
[0228] In one possible implementation, the transceiver module 1510 is further configured to receive a third message, which indicates the resources of at least one device.
[0229] In one possible implementation, the third message is also used to instruct at least one device to provide resource support for establishing a device resource pool.
[0230] In one possible implementation, the transceiver module 1510 is further configured to acquire a fourth message, the fourth message being used to indicate a first device resource pool allocated to the first virtualized entity cluster; the first virtualized entity cluster is used to provide services in the communication network; and the processing module 1520 is further configured to determine that the resources in the first device resource pool are available resources of the first virtualized entity cluster.
[0231] In one possible implementation, the fourth message is also used to indicate the first resource allocated in the first device resource pool for the first virtualized entity cluster.
[0232] In one possible implementation, when the resource allocation mode of the device resource pool is the device resource pool sharing mode, the fourth message is also used to instruct the first virtualization entity cluster to share the resources in the first device resource pool with other virtualization entity clusters.
[0233] In one possible implementation, when the resource allocation mode of the device resource pool is the device resource pool exclusive mode, the fourth message is also used to instruct the first virtualization entity cluster to exclusively occupy the resources in the first device resource pool.
[0234] In one possible implementation, the transceiver module 1510 is further configured to acquire a fifth message, wherein the fifth message is used to indicate a second resource allocated for the VNF instance.
[0235] In one possible implementation, the VNF instance is a VNF instance in the first virtualization entity cluster, and the second resource is a resource in the first resource.
[0236] In one possible implementation, the VNF instance includes multiple first virtualization entities, and the fifth message is used to indicate the third resource allocated to each first virtualization entity; the processing module 1520 is also used to determine that the available resources of the VNF instance include the third resource allocated to each first virtualization entity.
[0237] Taking the device 1500 for creating the resource pool as the network function virtualization management entity in the above method embodiment, or a device containing the network function virtualization management entity, or a component that can be used for the network function virtualization management entity, as an example, then: the transceiver module 1510 is used to send a first message, the first message being used to indicate at least one device in the device resource pool to be created; each of the at least one device includes resources for different types of services in the communication network.
[0238] In one possible implementation, the transceiver module 1510 is also used to send a second message, which indicates at least two device resource pools in the device resource pool group to be created.
[0239] In one possible implementation, the processing module 1520 is used to create a first virtualized entity cluster; the first virtualized entity cluster is used to provide services in the communication network; and a first device resource pool is allocated to the first virtualized entity cluster.
[0240] Taking the device 1500 for creating the resource pool as a network function virtualization infrastructure entity in the above method embodiment, or a device that includes the network function virtualization infrastructure entity, or a component that can be used in a network function virtualization infrastructure entity, the transceiver module 1510 is used to send a third message, which is used to indicate the resources of at least one device in the device resource pool to be created.
[0241] Taking the device 1500 for creating the resource pool as the VNF management entity in the above method embodiment, or as a device that includes the above VNF management, or as a component that can be used for VNF management, the processing module 1520 is used to determine the first virtualization entity for deploying VNF instances; the first virtualization entity is an entity in a first virtualization entity cluster, and the first virtualization entity cluster is used to provide services in the communication network; and allocates second resources to the first virtualization entity, the second resources being resources in the first resources, and the first resources being resources allocated to the VNF instances.
[0242] All relevant content of each step involved in the above method embodiments can be referred to in the functional description of the corresponding functional module, and will not be repeated here. Optionally, the apparatus 1500 for creating a resource pool may further include a storage module 1530, which can be used to store instructions and / or data, and the processing module 1520 can read the instructions and / or data in the storage module 1530.
[0243] In this embodiment, the resource pool creation apparatus 1500 is presented in an integrated manner, divided into various functional modules. Here, "module" can refer to an application-specific integrated circuit (ASIC), a circuit, a processor and memory executing one or more software or firmware programs, integrated logic circuits, and / or other devices that can provide the aforementioned functions. In a simplified embodiment, those skilled in the art will recognize that the resource pool creation apparatus can take the form of the resource pool creation apparatus 500 shown in FIG. 5.
[0244] Specifically, the functions / implementation processes of the transceiver module 1510 and processing module 1520 in Figure 15 can be implemented by the processor 501 in the resource pool creation device 500 shown in Figure 5 calling computer execution instructions stored in memory 502. Alternatively, the functions / implementation processes of the processing module 1520 in Figure 15 can be implemented by the processor 501 in the resource pool creation device 500 shown in Figure 5 calling computer execution instructions stored in memory 502, and the functions / implementation processes of the transceiver module 1510 in Figure 15 can be implemented by the transceiver 505 in the resource pool creation device 500 shown in Figure 5.
[0245] Since the apparatus for creating a resource pool provided in this application embodiment can execute the above-described method for creating a resource pool, the technical effects it can achieve can be referred to the above-described method embodiment, and will not be repeated here.
[0246] It should be understood that one or more of the above modules or units can be implemented by software, hardware, or a combination of both. When any of the above modules or units are implemented by software, the software exists as computer program instructions and is stored in memory. The processor can be used to execute the program instructions and implement the above method flow. The processor can be built into a SoC (System-on-a-Chip) or ASIC, or it can be a separate semiconductor chip. In addition to the core that executes software instructions for computation or processing, the processor may further include necessary hardware accelerators, such as field-programmable gate arrays (FPGAs), programmable logic devices (PLDs), or logic circuits that implement dedicated logic operations.
[0247] When the above modules or units are implemented in hardware, the hardware can be any one or any combination of a central processing unit (CPU), microprocessor, digital signal processing (DSP) chip, microcontroller unit (MCU), artificial intelligence processor, ASIC, SoC, FPGA, PLD, application-specific digital circuit, hardware accelerator, or non-integrated discrete device, which can run the necessary software or perform the above method flow independently of software.
[0248] Optionally, embodiments of this application also provide an apparatus for creating a resource pool (e.g., the apparatus for creating a resource pool may be a chip or a chip system), the apparatus for creating a resource pool including a processor for implementing the methods in any of the above method embodiments. In one possible design, the apparatus for creating a resource pool further includes a memory. The memory is used to store necessary program instructions and data, and the processor can call the program code stored in the memory to instruct the apparatus for creating a resource pool to execute the methods in any of the above method embodiments. Of course, the memory may not be in the apparatus for creating a resource pool. When the apparatus for creating a resource pool is a chip system, it may be composed of chips or may include chips and other discrete devices; embodiments of this application do not specifically limit this.
[0249] Optionally, embodiments of this application also provide a computer-readable storage medium storing a computer program or instructions that, when run on an apparatus for creating a resource pool, enable the apparatus for creating a resource pool to perform the methods described in any of the above method embodiments or any implementation thereof.
[0250] Optionally, embodiments of this application also provide a communication system, which includes the network device and the terminal described in the above method embodiments.
[0251] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software programs, implementation can be, in whole or in part, in the form of a computer program product. This computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device containing one or more servers, data centers, etc., that can be integrated with the medium. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state disks, SSDs).
[0252] Although this application has been described herein in conjunction with various embodiments, those skilled in the art, by reviewing the accompanying drawings, the disclosure, and the appended claims, will understand and implement other variations of the disclosed embodiments in carrying out the claimed application. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude multiple instances. A single processor or other unit can implement several functions listed in the claims. While different dependent claims may recite certain measures, this does not mean that these measures cannot be combined to produce good results.
[0253] Although this application has been described in conjunction with specific features and embodiments, it is obvious that various modifications and combinations can be made thereto without departing from the scope of this application. Accordingly, this specification and drawings are merely exemplary illustrations of the application as defined by the appended claims, and are intended to cover any and all modifications, variations, combinations, or equivalents within the scope of this application. Clearly, those skilled in the art can make various alterations and modifications to this application without departing from its scope. Thus, if such modifications and modifications fall within the scope of the claims and their equivalents, this application is also intended to include such modifications and modifications.
Claims
1. A method of creating a resource pool, characterized by, The method is applied to a first function entity, and comprises: receiving a first message from a network function virtualization orchestrator, the first message being used to indicate at least one device in a device resource pool to be created, each of the at least one device comprising resources for different kinds of services in a communication network; based on the first message, creating the device resource pool, wherein the device resource pool comprises the resources of the each device.
2. The method of claim 1, wherein: the first message comprises an identifier of the device resource pool and identifiers of the at least one device.
3. The method of claim 1 or 2, wherein: the first message is further used to indicate a resource allocation mode of the device resource pool, the resource allocation mode of the device resource pool comprising a device resource pool sharing mode or a device resource pool exclusive mode, wherein the device resource pool sharing mode indicates that resources in the device resource pool are allowed to be shared by multiple function entities, and the device resource pool exclusive mode indicates that resources in the device resource pool are allowed to be exclusively used by one function entity.
4. The method of any one of claims 1-3, wherein: the resources for different kinds of services in the communication network comprise at least two of the following: computing resources, storage resources, or network service resources.
5. The method according to any one of claims 1 to 4, characterized in that, The method further comprises: receiving a second message from the network function virtualization orchestrator, wherein the second message is used to indicate at least two device resource pools in a device resource pool group to be created, and the second message comprises an identifier of the device resource pool group; based on the second message, creating the device resource pool group, the device resource pool group comprising resources in the at least two device resource pools.
6. The method of claim 5, wherein: the second message comprises identifiers of the at least two device resource pools or identifiers of devices in the at least two device resource pools.
7. The method of claim 5 or 6, wherein: the second message is further used to indicate a resource allocation mode of the device resource pool group, the resource allocation mode of the device resource pool group comprising a device resource pool group sharing mode or a device resource pool group exclusive mode, wherein the device resource pool group sharing mode indicates that resources in the device resource pool group are allowed to be shared by multiple function entities, and the device resource pool group exclusive mode indicates that resources in the device resource pool group are allowed to be exclusively used by one function entity.
8. The method according to any one of claims 1 to 7, characterized in that, Before the device resource pool is created based on the first message, the method further comprises: receiving a third message from the network function virtualization infrastructure entity, the third message being used to indicate resources of the at least one device.
9. The method of claim 8, wherein: the third message is further used to indicate that the resources of the at least one device support establishment of the device resource pool.
10. The method according to any one of claims 3 to 9, characterized in that, The method further comprises: obtaining a fourth message, the fourth message being used to indicate a first device resource pool allocated for a first virtualization entity cluster, the first virtualization entity cluster being used to provide services in the communication network. determining that the resource in the first device resource pool is an available resource for the first virtualization entity cluster.
11. The method of claim 10, wherein, the fourth message is further used to indicate a first resource in the first device resource pool allocated for the first virtualization entity cluster.
12. The method of claim 10 or 11, wherein, in a case that the resource allocation mode of the device resource pool is a device resource pool sharing mode, the fourth message is further used to indicate that the first virtualization entity cluster shares the resource in the first device resource pool with other virtualization entity clusters.
13. The method of claim 10 or 11, wherein, in a case that the resource allocation mode of the device resource pool is a device resource pool exclusive mode, the fourth message is further used to indicate that the first virtualization entity cluster exclusively occupies the resource in the first device resource pool.
14. The method of claim 11, wherein, The method further comprises: obtaining a fifth message, wherein the fifth message is used to indicate a second resource allocated for a virtual network function (VNF) instance, the VNF instance being a VNF instance in the first virtualization entity cluster, and the second resource being a resource in the first resource.
15. The method of claim 14, wherein, The VNF instance comprises a plurality of first virtualization entities, and the fifth message is used to indicate a third resource allocated for each of the first virtualization entities; the method further comprises: determining that the available resource of the VNF instance comprises the third resource allocated for each of the first virtualization entities.
16. The method according to any one of claims 1 to 15, characterized in that, based on the first message, creating the device resource pool, comprising: the first function entity records the at least one device and the resource of each device in the at least one device for different kinds of services in the communication network; virtualizing the resource of each device in the at least one device for different kinds of services in the communication network to complete the creation of the device resource pool.
17. A method of creating a resource pool, characterized by, applied to a virtual network function (VNF) management entity, comprising: determining a first virtualization entity to deploy a VNF instance; the first virtualization entity being an entity in a first virtualization entity cluster, and the first virtualization entity cluster being used to provide a service in a communication network; allocating a second resource for the first virtualization entity, the second resource being a resource in a first resource, and the first resource being a resource allocated for the VNF instance.
18. A communication system, characterized by comprising: a first function entity and a network function virtualization orchestrator; the network function virtualization orchestrator is used to send a first message to the first function entity, the first message being used to indicate at least one device in a device resource pool to be created; each device in the at least one device comprising a resource for different kinds of services in a communication network; the first function entity is used to receive the first message and, based on the first message, create the device resource pool, wherein the device resource pool comprises the resource of each device.
19. The communication system of claim 18, wherein, The network function virtualization orchestrator is further configured to create a first virtualized entity cluster for providing a service in a communication network, and send a fourth message to the first function entity, the fourth message being used to indicate a first device resource pool allocated for the first virtualized entity cluster; The first function entity is further configured to receive the fourth message, and determine, according to the fourth message, that resources in the first device resource pool are available resources for the first virtualized entity cluster.
20. An apparatus for creating a resource pool, the apparatus comprising: The method comprises: A functional unit for performing the method according to any one of claims 1-17; wherein the actions performed by the functional unit are implemented by hardware or corresponding software executed by hardware.
21. An apparatus for creating a resource pool, the apparatus comprising: The method comprises: A processor; The processor is connected with a memory, the memory is used to store computer execution instructions, and the processor executes the computer execution instructions stored in the memory, so that the device for creating a resource pool implements the method according to any one of claims 1-17.
22. A computer-readable storage medium, characterized in that, The instructions, when executed on a computer, cause the computer to perform the method according to any one of claims 1-17.
23. A chip, characterized by The chip comprises a processor; the processor is connected with a memory, the memory is used to store computer execution instructions, and the processor executes the computer execution instructions stored in the memory, so that the device for creating a resource pool implements the method according to any one of claims 1-17.
24. A computer program product comprising instructions, characterized in that, When it is executed on the device for creating a resource pool, it causes the device for creating a resource pool to implement the method according to any one of claims 1-17.