Electronic device and method for allocating system resources and storage medium

By using CPU resource pools and an adaptive core allocation manager in the distributed unit (DU) to dynamically allocate CPU resources for PHY and MAC functions, the problems of resource allocation complexity and load imbalance in virtualized network devices are solved, achieving efficient resource utilization and load balancing.

CN121970474APending Publication Date: 2026-05-01SAMSUNG ELECTRONICS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SAMSUNG ELECTRONICS CO LTD
Filing Date
2024-06-12
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

In virtualized network devices, existing technologies struggle to effectively and dynamically allocate CPU resources, leading to increased operational complexity and reduced power efficiency, as well as difficulty in balancing loads across different applications.

Method used

By using a CPU resource pool in a distributed unit (DU), a portion of the CPU resource pool is dynamically allocated to perform PHY and MAC functions. The adaptive core allocation manager allocates resources based on application needs, achieving load balancing and efficient utilization.

Benefits of technology

It enables efficient dynamic allocation of CPU resources in virtualized network devices, reduces operational complexity, improves power efficiency, and optimizes load balancing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121970474A_ABST
    Figure CN121970474A_ABST
Patent Text Reader

Abstract

According to an embodiment, an electronic device for a distributed unit (DU) includes at least one processor and a memory storing instructions. The instructions, when executed by the at least one processor, cause the electronic device to obtain a first message from a first application for providing one or more physical (PHY) functions for the at least one cell of the DU, the first message including information about a first amount of central processing unit (CPU) resources, and obtaining a second message from a second application for providing one or more media access control (MAC) functions for the at least one cell, the second message including information on a second amount of CPU resources. The instructions, when executed by the at least one processor, cause the electronic device to allocate a first portion of a pool of CPU resources and a second portion of the pool of CPU resources, the first portion corresponding to a first amount of CPU resources and the second portion corresponding to a second amount of CPU resources.
Need to check novelty before this filing date? Find Prior Art

Description

Electronic devices, methods, and storage media for allocating system resources Technical Field

[0001] The following description relates to electronic devices, methods, and storage media for allocating system resources. Background Technology

[0002] Hardware-based network devices can be configured to be virtualized so that they can be installed, removed, and / or modified as software on a server. Operators can manage their networks more quickly and flexibly through virtualized network devices.

[0003] The above information may be provided as relevant technology for the purpose of aiding understanding of this disclosure. No claims or determination are made regarding whether any of the above information can be used as prior art in relation to this disclosure. Summary of the Invention

[0004] Technical solution

[0005] According to an embodiment, an electronic device for a distributed unit (DU) may include at least one processor and a memory storing instructions. When instructions are executed by the at least one processor, the electronic device may obtain a first message from a first application for providing one or more physical (PHY) functions, the first message including information about a first central processing unit (CPU) resource quantity for one or more PHY functions for at least one cell associated with the DU, and a second message from a second application for providing one or more media access control (MAC) functions, the second message including information about a second CPU resource quantity for one or more MAC functions for at least one cell. When instructions are executed by the at least one processor, the electronic device may allocate a first portion of a CPU resource pool corresponding to the first CPU resource quantity and a second portion of a CPU resource pool corresponding to the second CPU resource quantity based on the first and second messages. The first portion of the CPU resource pool may be used to perform one or more PHY functions for at least one cell. The second portion of the CPU resource pool may be used to perform one or more MAC functions for at least one cell.

[0006] According to an embodiment, a method for a distributed unit (DU) to perform operations may include obtaining a first message from a first application for providing one or more physical (PHY) functions, the first message including information about a first central processing unit (CPU) resource quantity for one or more PHY functions of at least one cell associated with the DU, and obtaining a second message from a second application for providing one or more media access control (MAC) functions, the second message including information about a second CPU resource quantity for one or more MAC functions of at least one cell. The method may include allocating a first portion of a CPU resource pool corresponding to the first CPU resource quantity and a second portion of a CPU resource pool corresponding to the second CPU resource quantity based on the first and second messages. The first portion of the CPU resource pool may be used to perform one or more PHY functions of at least one cell. The second portion of the CPU resource pool may be used to perform one or more MAC functions of at least one cell.

[0007] According to an embodiment, a non-transitory computer-readable storage medium may store one or more programs. The one or more programs may include instructions, when executed by at least one processor of an electronic device of a distributed unit (DU), causing the electronic device to obtain a first message from a first application for providing one or more physical (PHY) functions, the first message including information about a first central processing unit (CPU) resource amount for one or more PHY functions for at least one cell associated with the DU, and to obtain a second message from a second application for providing one or more media access control (MAC) functions, the second message including information about a second CPU resource amount for one or more MAC functions for at least one cell. The one or more programs may include instructions, when executed by at least one processor of the electronic device, causing the electronic device to allocate a first portion of a CPU resource pool corresponding to the first CPU resource amount and a second portion of a CPU resource pool corresponding to the second CPU resource amount based on the first and second messages. The first portion of the CPU resource pool may be used to perform one or more PHY functions for at least one cell. The second portion of the CPU resource pool may be used to perform one or more MAC functions for at least one cell. Attached Figure Description

[0008] Figure 1 illustrates a wireless communication system according to an embodiment.

[0009] Figure 2 illustrates an example of a structure for managing one or more cells according to an embodiment.

[0010] Figure 3a illustrates an example of the configuration and operation of a distributed unit (DU) for configuring a cell according to an embodiment.

[0011] Figure 3b illustrates an example of the configuration and operation of a DU for configuring a cell according to an embodiment.

[0012] Figure 4 shows an example of the configuration of a virtualized DU according to an embodiment.

[0013] Figure 5 illustrates an example of the operation performed in the modem processing unit of the DU according to an embodiment.

[0014] Figure 6 illustrates an example of operations performed in the modem processing unit for cell setup according to an embodiment.

[0015] Figure 7a illustrates an example of using a central processing unit (CPU) resource pool according to an embodiment.

[0016] Figure 7b illustrates an example of using a CPU resource pool according to an embodiment.

[0017] Figure 8a is a diagram showing the number of CPU cores allocated according to the number of cells according to an embodiment.

[0018] Figure 8b is a diagram illustrating the number of CPU cores allocated according to the number of cells according to an embodiment.

[0019] Figure 8c is a diagram illustrating the number of CPU cores allocated according to the number of cells in an embodiment.

[0020] Figure 9 shows a flowchart related to the operation of an electronic device for a DU according to an embodiment. Detailed Implementation

[0021] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to limit the scope of another embodiment. Singular expressions may include plural expressions unless the context clearly indicates otherwise. The terms used herein (including technical or scientific terms) may have the same meaning as commonly understood by one of ordinary skill in the art as described in this disclosure. Among the terms used in this disclosure, unless expressly defined herein, terms defined in a general dictionary may be interpreted as having the same or similar meaning as in the context of related art and are not to be interpreted as having an ideal or overly formal meaning. In some cases, even terms defined in this disclosure may not be construed as excluding embodiments of this disclosure.

[0022] In the various embodiments of this disclosure described below, hardware methods will be described as examples. However, since the various embodiments of this disclosure include techniques using both hardware and software, software-based methods are not excluded.

[0023] For ease of explanation, the following description exemplifies terms referring to signals (e.g., signal, information, symbol, message, signaling, reference signal (RS), data), terms referring to resources (e.g., symbol, time slot, subframe, radio frame, subcarrier, resource element (RE), resource block (RB), bandwidth portion (BWP), timing, system resource, central processing unit (CPU) resource), terms for operational states (e.g., step, operation, process), terms referring to data (e.g., packet, user stream, information, bit, symbol, codeword), terms referring to channels, terms referring to entities (e.g., node, point, server, component), and terms referring to components of a device. Therefore, this disclosure is not limited to the terms described below, and other terms with equivalent technical meanings may be used.

[0024] Furthermore, in this disclosure, the terms "greater than" or "less than" are used to determine whether a particular condition is met or satisfied, but this is merely a description of examples and does not exclude descriptions of "greater than or equal to" or "less than or equal to". A condition described as "greater than or equal to" can be replaced by "greater than", a condition described as "less than or equal to" can be replaced by "less than", and a condition described as "greater than or equal to and less than" can be replaced by "greater than and less than or equal to". Additionally, hereinafter, "A" to "B" refers to at least one of the elements from A (inclusive) to B (inclusive). hereinafter, 'C' and / or 'D' means including at least one of 'C' or 'D', i.e., {'C', 'D', and 'C' and 'D'}.

[0025] Although this disclosure uses terms used in some communication standards (e.g., 3GPP, xRAN, O-RAN) to describe various embodiments, these are merely examples for illustrative purposes. Various embodiments of this disclosure can be readily modified and applied to other communication systems.

[0026] Figure 1 illustrates a wireless communication system according to an embodiment.

[0027] Referring to Figure 1, Figure 1 illustrates a base station 110 and a terminal 120 as part of a node utilizing a wireless channel in a wireless communication system. Figure 1 shows only one base station, but the wireless communication system may also include another base station that is the same as or similar to base station 110.

[0028] Base station 110 is a network infrastructure that provides wireless access to terminal 120. Base station 110 has a coverage range defined based on the distance at which signals can be transmitted. In addition to "base station", base station 110 may also be referred to as "access point (AP)", "eNodeB (eNB)", "fifth generation node", "next generation nodeB (gNB)", "wireless point", "transmit / receive point (TRP)" or other terms with equivalent technical meanings.

[0029] Terminal 120, as a user device, communicates with base station 110 via a wireless channel. The link from base station 110 to terminal 120 is called a downlink (DL), and the link from terminal 120 to base station 110 is called an uplink (UL). Additionally, although not shown in Figure 1, terminal 120 and another terminal can communicate with each other via a wireless channel. In this case, the link between terminal 120 and the other terminal (device-to-device link (D2D)) is called a sidelink, and the sidelink can be used interchangeably with the PC5 interface. In some other embodiments, terminal 120 can be operated without user intervention. According to an embodiment, terminal 120, as a device performing machine-type communication (MTC), may not be carried by the user. Furthermore, according to an embodiment, terminal 120 may be a narrowband (NB)-Internet of Things (IoT) device.

[0030] In addition to “terminal”, terminal 120 may also be referred to as “user equipment (UE)”, “customer premises equipment (CPE)”, “mobile station”, “subscriber station”, “remote terminal”, “wireless terminal”, “electronic device”, “user equipment” or other terms with equivalent technical meaning.

[0031] According to an embodiment, the base station 110 of Figure 1 can be configured with at least one cell. Traditionally, in communication systems with relatively large base station cell radii, each base station is installed to include digital processing units (or distributed units (DUs)) and radio frequency (RF) processing units (or radio units (RUs)). However, with the use of high-frequency bands in fourth-generation (4G) and / or subsequent communication systems (e.g., 5G) and the shrinking cell coverage of base stations, the number of base stations covering a specific area has increased. The installation cost burden for operators installing base stations has also increased. To minimize the installation cost of base stations, a structure has been proposed where the DU and RU of a base station are separate, one or more RUs are connected to a DU via a wired network, and one or more RUs are deployed geographically to cover a specific area. Thus, base station 110 can be configured with one or more network elements (NEs). In addition to DUs and RUs, depending on the protocol stack, the base station can be implemented in a distributed manner using centralized units (CUs) configured to perform upper-layer functions (e.g., Packet Data Convergence Protocol (PDCP), Radio Resource Control (RRC)) and distributed units (DUs) configured to perform lower-layer functions. As an example, the NE configuration of a base station may include a Central Unit (CU), Distributed Units (DU), and / or Radio Units (RU). For instance, a CU may be connected to one or more DUs to handle functions at layers higher than the DUs. For example, a CU may handle functions at the Radio Resource Control (RRC) layer and the Packet Data Convergence Protocol (PDCP) layer, while DUs and RUs may handle functions at lower layers. A DU may perform some functions at the Radio Link Control (RLC), Media Access Control (MAC), and Physical (PHY) layers (high PHY), while an RU may handle the remaining functions at the PHY layer (low PHY).

[0032] Besides the nodes that configure the access network, functional entities used in the core network can also be referred to as NEs. For example, one or more NEs used in a fifth-generation core network (5GC) may include User Plane Functions (UPF), Session Management Functions (SMF), Access and Mobility Management Functions (AMF), User Data Management (UDM), Policy Control Functions (PCF), Authentication Server Functions (AUSF), and / or Authentication, Authorization, and Accounting (AAA). For example, one or more NEs used in an evolved packet core network (EPC) may include Mobility Management Entity (MME), Serving Gateway (S-GW), Packet Gateway (P-GW), Policy and Accounting Rules Functions (PCRF), and / or Home Subscriber Server (HSS).

[0033] Figure 2 illustrates an example of a structure for managing one or more cells according to an embodiment.

[0034] Referring to Figure 2, DU 210, RU 220, CU 230, and cell manager 240 can be configured to manage one or more cells. This is merely for ease of description, and the present disclosure is not limited thereto. In other words, embodiments of the present disclosure can also be applied to a fronthaul structure between one DU and multiple RUs. For example, embodiments of the present disclosure can be applied to a fronthaul structure between one DU and two RUs. Additionally, embodiments of the present disclosure can also be applied to a fronthaul structure between one DU and three RUs.

[0035] For example, DU 210 and RU 220 can be included in base station 110. Fronthaul between DU 210 and RU 220 can be operated via the Fx interface. For fronthaul operation, interfaces such as Enhanced Common Public Radio Interface (eCPRI) and Ethernet Radio (ROE) can be used, for example.

[0036] With the development of communication technology and the increase in mobile data services, the bandwidth requirements for fronthaul between digital units and radio units have increased significantly. In deployments such as centralized / cloud radio access networks (C-RAN), the DU 210 can be implemented to perform Packet Data Convergence Protocol (PDCP), Radio Link Control (RLC), Media Access Control (MAC), and Physical (PHY) functions, and the RU can be implemented to perform PHY layer functions in addition to radio frequency (RF) functions.

[0037] DU 210 can be responsible for the upper-layer functions of the wireless network. For example, DU 210 can perform a portion of the functions of the MAC layer and the PHY layer. In this document, "a portion of the PHY layer" refers to functions performed at a higher stage within the PHY layer, and as examples, may include channel coding (or channel decoding), scrambling (or descrambling), modulation (or demodulation), and layer mapping (or layer demapping). According to embodiments, where DU 210 conforms to the O-RAN specification, DU 210 may be referred to as an O-RAN DU (O-DU). Where necessary, in embodiments of this disclosure, DU 210 may be replaced and represented as the first network entity of a base station (e.g., gNB).

[0038] RU 220 can be responsible for the lower-layer functions of the wireless network. For example, RU 220 can perform a portion of the PHY layer and RF functions. Here, "a portion of the PHY layer" refers to functions performed at a relatively lower stage than DU 210 within the PHY layer, and as an example, may include iFFT transform (or FFT transform), CP insertion (CP removal), and digital beamforming. RU 220 may be referred to as "Access Unit (AU)," "Access Point (AP)," "Transmit / Receive Point (TRP)," "Remote Radio Headend (RRH)," "Radio Unit (RU)," or another term with equivalent technical meaning. According to embodiments, RU 220 may be referred to as O-RAN RU (O-RU) when it conforms to the O-RAN specification. As needed, in embodiments of this disclosure, RU 220 may be replaced and represented as a second network entity of a base station (e.g., gNB).

[0039] For example, DU 210 and RU 220 can be configured in a single site.

[0040] CU 230 can connect to one or more DUs (e.g., DU 210) and can handle functions at layers higher than the DUs. For example, CU 230 can handle the Radio Resource Control (RRC) and Packet Data Convergence Protocol (PDCP) layers, while DU 210 and RU 220 can handle lower-layer functions. DU 210 can perform some functions of the Radio Link Control (RLC), Media Access Control (MAC), and Physical (PHY) layers (high PHY), while RU 220 can handle the remaining functions of the PHY layer (low PHY).

[0041] Cell Manager 240 can register or manage DU 210 and RU 220. For example, based on the activation of an operation of Cell Manager 240, at least one available DU and / or at least one available RU can be registered. Based on the registration of at least one available DU and / or at least one available RU, Cell Manager 240 can identify at least one available cell. Cell Manager 240 can add cells based on at least one of frequency information (e.g., center frequency information), antenna information (e.g., number of antennas), cell quantity information, and information about the RU to be added. For example, Cell Manager 240 can send a message for cell setup to CU 230. CU 230 can send a message for cell setup to DU 210 based on a received message. The specific operations for performing cell setup in DU 210 will be described in Figure 6. In terms of managing a system that includes one or more cells provided from DU 210, Cell Manager 240 may be referred to as Unified System Manager (USM).

[0042] Figure 3a illustrates an example of the configuration and operation of a distributed unit (DU) for configuring a cell according to an embodiment.

[0043] Figure 3b illustrates an example of the configuration and operation of a DU for configuring a cell according to an embodiment.

[0044] Referring to Figure 3a, DU 210 may include chips based on a system-on-a-chip (SoC) configuration. For example, DU 210 may include a first chip 311, a second chip 312, and a third chip 313. Hereinafter, an example of DU 210 providing three cells is described in this disclosure, but embodiments of this disclosure are not limited thereto.

[0045] DU 210 can configure the first cell 321. DU 210 can configure the first cell 321 via the first chip 311. The first chip 311 can be configured to perform functions and processes related to the protocol stack for the first cell 321. Although not shown, DU 210 can control the RU used for configuring the first cell 321 via the first chip 311. DU 210 can configure the first cell 321 based on controlling the RU used for configuring the first cell 321 via the first chip 311.

[0046] DU 210 can configure a second cell 322. DU 210 can configure the second cell 322 via a second chip 312. The second chip 312 can be configured to perform functions and processing related to the protocol stack used for the second cell 322. Although not shown, DU 210 can control the RU used for configuring the second cell 322 via the second chip 312. DU 210 can configure the second cell 322 based on controlling the RU used for configuring the second cell 322 via the second chip 312.

[0047] DU 210 can configure a third cell 323. DU 210 can configure the third cell 323 via a third chip 313. The third chip 313 can be configured to perform functions and processing related to the protocol stack used for the third cell 323. Although not shown, DU 210 can control the RU used for configuring the third cell 323 via the third chip 313. DU 210 can configure the third cell 323 based on controlling the RU used for configuring the third cell 323 via the third chip 313.

[0048] As described above, the DU 210 can configure a cell using a single physically configured chip. When configuring a cell using a single physically configured chip, load balancing between cells cannot be performed. For example, if the number of User Equipments (UEs) in the first cell 321 exceeds a specified number, the DU 210 may be unable to distribute the load.

[0049] Referring to Figure 3b, DU 210 can be virtualized. For example, DU 210 can be referred to as a virtualized DU (vDU). DU 210 can be implemented as software within an electronic device (e.g., a server), rather than through physical hardware. Because the functions associated with DU 210 are implemented as software within the electronic device, processing functions can be executed within the electronic device, rather than based on hardware units. To execute processing functions, multiple CPU resources may be required. In the following text, the CPU resources used for the processing functions of DU 210 can be referred to as CPU resource pool 350. CPU resource pool 350 can be configured for DU 210. DU 210 can be configured with one or more cells by using CPU resource pool 350. For example, DU 210 can be configured with first cell 361, second cell 362, and third cell 363 through CPU resource pool 350.

[0050] DU 210 can configure a first cell 361. DU 210 can configure the first cell 361 by using a first portion 351 of CPU resource pool 350. The first portion 351 of CPU resource pool 350 can be configured to perform functions and processing related to the protocol stack of the first cell 361. Although not shown, DU 210 can control the RUs used for configuring cell 361 through the first portion 351 of CPU resource pool 350. DU 210 can configure cell 361 based on controlling the RUs used for configuring the first cell 361 through the first portion 351 of CPU resource pool 350.

[0051] DU 210 can configure a second cell 362. DU 210 can configure the second cell 362 using a second portion 352 of CPU resource pool 350. The second portion 352 of CPU resource pool 350 can be configured to perform functions and processing related to the protocol stack of the second cell 362. Although not shown, DU 210 can control the RUs used for configuring the second cell 362 via the second portion 352 of CPU resource pool 350. DU 210 can configure the second cell 362 based on controlling the RUs used for configuring the second cell 362 via the second portion 352 of CPU resource pool 350.

[0052] DU 210 can configure a third cell 363. DU 210 can configure the third cell 363 by using the third part 353 of CPU resource pool 350. The third part 353 of CPU resource pool 350 can be configured to perform functions and processing related to the protocol stack used for the third cell 363. Although not shown, DU 210 can control the RU used for configuring the third cell 363 through the third part 353 of CPU resource pool 350. DU 210 can configure the third cell 363 based on controlling the RU used for configuring the third cell 363 through the third part 353 of CPU resource pool 350.

[0053] When CPU resource pool 350 is used for cell configuration, DU 210 can partition and utilize CPU resource pool 350 according to the cell load. In this disclosure, allocating a portion of CPU resource pool 350 to processing functions (e.g., one or more PHY functions or one or more MAC functions) can be referred to as CPU pooling. Since individual hardware is not configured to perform the processing functions of DU 210, but CPU resources are consumed, DU 210 can perform CPU pooling for adaptive CPU resource allocation. Hereinafter, in the specification, the technical features for allocating resources for cell configuration within the CPU resource pool, as shown in FIG7b, will be described.

[0054] According to the implementation, the aforementioned DU can be configured based on a virtualized network system (virtualized RAN (vRAN)). The vRAN can support predefined performance based on fixed CPU resources (e.g., cores) between Frequency Division Duplex (FDD) and Time Division Duplex (TDD). However, the system configuration (or style) supported by the vRAN can be configured differently based on the cell ratio between TDD and FDD and the bandwidth configuration of the cells associated with TDD and FDD. Therefore, various system configurations (or styles) configured based on the cell ratio between TDD and FDD and the bandwidth configuration of the cells associated with TDD and FDD can be implemented. In this case, operational complexity may increase. With increased operational complexity, there is a risk of operator error (i.e., human error). Furthermore, as the number of system configurations increases, development and verification processes are required, thus necessitating a method to simplify system configuration. For example, applications included in a virtualized modem system can operate based on a Data Plane Development Kit (DPDK). Therefore, since the allocated cores are used regardless of the actual cell operating state, power efficiency may decrease.

[0055] According to embodiments, a Kubernetes virtualization-based platform can be configured. Applications can perform high-performance processing using resources (e.g., CPU cores) allocated to container groups (pods). Resources can be allocated dynamically. In this case, resources can be allocated based on state information or service information between different devices; however, according to the above embodiments, resources may not be allocated between applications on the same device. For example, the method of allocating resources between applications may be difficult to implement by using a method of allocating resources based on specific information. In other words, the method of allocating resources between applications can be implemented only in specific metrics and / or only in specific services.

[0056] In the following description, technical features for dynamically allocating CPU resources will be described in order to effectively utilize resources allocated in a virtualized radio access network (e.g., a virtualized radio access network (vRAN)). For example, technical features for dynamically allocating resources among applications in a DU will be described.

[0057] For example, based on a virtualized DU, one or more PHY functions and one or more MAC functions can be executed through one or more applications used for the DU. One or more PHY functions can be executed through a first application. One or more MAC functions can be executed through a second application. As an example, one or more PHY functions may include functions executed in the PHY layer. One or more MAC functions may include functions executed in the MAC layer.

[0058] For example, CPU resources (e.g., cores) can be dynamically allocated to a first application providing one or more PHY functions and a second application providing one or more MAC functions. Based on the services provided by each application through a neutral resource manager (or adaptive core allocation manager), the size of the resources can be identified and allocated to each application. The resources allocated to each application can be distinguished from radio resources. The resources allocated to each application can be resources associated with the CPU cores used to obtain processing power.

[0059] Figure 4 illustrates an example configuration of a virtualized DU according to an embodiment. Hereinafter, the terms “…unit” and “…device” as used herein refer to a unit for processing at least one function or operation, and can be implemented as hardware, software, or a combination of hardware and software.

[0060] Referring to Figure 4, DU 400 may include at least one of modem processing unit 410, connection management unit 420, or system management unit 430.

[0061] The modem processing unit 410 can provide one or more physical (PHY) functions and / or one or more media access control (MAC) functions. The specific configuration and operation of the modem processing unit 410 will be described in Figure 5. The connection management unit 420 can be used to obtain or provide information from another component different from DU 400 (e.g., CU 230 or RU 220 of Figure 2). The connection management unit 420 can be used for call processing. The system management unit 430 can be used to perform at least one operation different from the operation of the modem processing unit 410 and the connection management unit 420.

[0062] According to an embodiment, the modem processing unit 410 can be configured based on DPDK. The connection management unit 420 and the system management unit 430 can be configured based on software different from DPDK (e.g., Linux).

[0063] According to an embodiment, the modem processing unit 410, the connectivity management unit 420, and / or the system management unit 430 can be configured based on container groups. For example, a container group can refer to the smallest deployable computing unit.

[0064] Figure 5 illustrates an example of the operation performed in the modem processing unit of the DU according to an embodiment.

[0065] Referring to Figure 5, DU 400 may include a modem processing unit 410. Modem processing unit 410 may include multiple applications 510 and a resource management unit 520. For example, the multiple applications 510 may process data based on separately allocated CPU resources. Resource management unit 520 may allocate CPU resources to each of the multiple applications 510. For example, resource management unit 520 may be configured based on a group of containers within DU 400. For example, resource management unit 520 may be referred to as an Adaptive Core Allocation Manager (ACM), a resource management manager, and a CPU resource management unit.

[0066] Multiple applications 510 may include a first application 511, a second application 512, and a third application 513. The first application 511 may be configured to provide one or more PHY functions. The second application 512 may be configured to provide one or more MAC functions. The third application 513 may be configured to provide functions distinct from the one or more PHY functions and the one or more MAC functions.

[0067] According to an embodiment, multiple applications 510 and resource management unit 520 can perform requests for CPU resources, allocation of CPU resources, and release of CPU resources based on a specified application programming interface (API).

[0068] Resource management unit 520 can be configured to allocate CPU resources to each of multiple applications. For example, resource management unit 520 may receive a first message from a first application 511, the first message including information about a first amount of CPU resources used for one or more PHY functions. Resource management unit 520 may receive the first message based on an inter-process communication (IPC) interface. For example, resource management unit 520 may receive a second message from a second application 512, the second message including information about a second amount of CPU resources used for one or more MAC functions. Resource management unit 520 may receive the second message based on an IPC interface. For example, the IPC interface may be configured based on a ring buffer. A ring buffer can provide a low-latency message queue for OPC.

[0069] Based on the first and second messages, the resource management unit 520 can allocate a first portion of the CPU resource pool corresponding to the first CPU resource quantity and a second portion of the CPU resource pool corresponding to the second CPU resource quantity. The first portion of the CPU resource pool can be used for one or more PHY functions. The second portion of the CPU resource pool can be used for one or more MAC functions.

[0070] As described above, CPU resources can be dynamically allocated based on application requests. The resource management unit 520 can perform CPU resource allocation based on CPU resource requests. Therefore, the resources required by each application can be allocated through the resource management unit 520, rather than passively allocating resources based on administrators requesting resource information between devices or load monitoring.

[0071] Figure 6 illustrates an example of cell setup operations performed in the modem processing unit according to an embodiment.

[0072] Referring to Figure 6, DU 400 can receive (or obtain) messages for cell setup from CU (e.g., CU 230 in Figure 2). The connection management unit 420 of DU 400 can send messages for cell setup to the modem processing unit 410. The modem processing unit 410 can obtain (or receive) messages for cell setup from the connection management unit 420. For example, messages for cell setup may include messages for adding (or configuring, expanding) at least one cell.

[0073] The second application 512 of the modem processing unit 410 can send (or provide) a request message to the first application 511 for performing operations for cell setup based on a message for cell setup. The first application 511 can obtain (or receive) the request message for performing operations for cell setup from the second application 512. The first application 511 can identify a first amount of CPU resources for performing one or more PHY functions based on the request message. For example, the first application 511 can identify the number of CPU cores for performing one or more PHY functions as a first quantity based on the request message.

[0074] For example, the first application 511 may identify the number (or a first number) of CPU cores for performing one or more PHY functions based on at least one of information about the communication mode of at least one cell, radio resource information of at least one cell, and / or user information. The first application 511 may identify the number (or a first number) of CPU cores for performing one or more PHY functions based on Equation 1.

[0075] [Equation 1]

[0076]

[0077] Referring to Formula 1, “A” is the number (or a first number) of CPU cores used to perform one or more PHY functions. “f(x)” is a function in the first application 511 used to identify the number of CPU cores used to perform one or more PHY functions. “layer” is the number of layers (e.g., multiple-input multiple-output (MIMO) based layers) set up within at least one cell. “RB” is the number of resource blocks associated with at least one cell. “UE” is the number of UEs associated with at least one cell.

[0078] According to an embodiment, the first application 511 may send a cell configuration message to the second application 512. For example, the cell configuration message may include at least one of information regarding the communication mode of at least one cell, radio resource information, and / or user information. The cell configuration message may also include at least one of information regarding the number of layers set up within the at least one cell, information regarding the number of resource blocks associated with the at least one cell, and information regarding the number of UEs associated with the at least one cell.

[0079] The second application 512 may obtain (or receive) cell configuration messages from the first application 511. The second application 512 may identify a second amount of CPU resources used to perform one or more MAC functions based on the cell configuration messages. For example, the second application 512 may identify the number of CPU cores used to perform one or more MAC functions as a second quantity based on the cell configuration messages.

[0080] For example, the second application 512 can identify the number (or a second number) of CPU cores for performing one or more MAC functions based on at least one of information about the communication mode of at least one cell, radio resource information of at least one cell, and / or user information. The second application 512 can identify the number (or a second number) of CPU cores for performing one or more MAC functions based on Equation 2.

[0081] [Equation 2]

[0082]

[0083] Referring to Formula 2, "B" is the number (or a second number) of CPU cores used to perform one or more MAC functions. "f′(x)" is a function in the second application 512 used to identify the number of CPU cores used to perform one or more MAC functions. According to an embodiment, "f′(x)" can be distinguished from "f(x)" in Formula 1. "layer" is the number of layers set within at least one cell. "RB" is the number of resource blocks associated with at least one cell. "UE" is the number of UEs associated with at least one cell.

[0084] According to an embodiment, a first application 511 may send a first message to a resource management unit 520, the first message including information about a first amount of CPU resources used for one or more PHY functions (e.g., information about a first number of cores). A second application 512 may send a second message to the resource management unit 520, the second message including information about a second amount of CPU resources used for one or more MAC functions (e.g., information about a second number of cores).

[0085] Resource management unit 520 can obtain a first message and a second message. For example, resource management unit 520 can obtain the first message from first application 511. Resource management unit 520 can obtain the second message from second application 512.

[0086] Resource management unit 520 can allocate a first portion of the CPU resource pool corresponding to the first CPU resource quantity and a second portion of the CPU resource pool corresponding to the second CPU resource quantity based on the first message and the second message. For example, resource management unit 520 can allocate the first portion of the CPU resource pool corresponding to the first CPU resource quantity based on the first message. Resource management unit 520 can allocate the second portion of the CPU resource pool corresponding to the second CPU resource quantity based on the second message.

[0087] Application 511 can perform one or more PHY functions by using a first portion of the CPU resource pool. Application 512 can perform one or more MAC functions by using a second portion of the CPU resource pool.

[0088] The operation of the applications (e.g., first application 511 and second application 512) and resource management unit 520 will be described below according to various situations (or circumstances). For example, DU 400 can be configured to meet the application requirements of DU 400 and resource management unit 520 according to various situations (or circumstances).

[0089] According to the embodiments, the requirements for the application and resource management unit 520 can be set as shown in Tables 1 to 11.

[0090] [Table 1]

[0091]

[0092] Referring to Table 1, applications can perform initialization operations through the resource management unit 520. For example, an application can operate after being allocated resources (or CPU resources) from the resource management unit 520. For example, resources can be allocated to the application after the resource management unit 520 is in a ready state. For example, an App ID can be set for each application. An application can perform a registration process with the resource management unit 520 using its App ID. For example, the resource management unit 520 can distinguish applications based on their App IDs. The resource management unit 520 can allocate CPU resources only to registered applications.

[0093] [Table 2]

[0094]

[0095] Referring to Table 2, cores (or CPU cores) can be allocated to applications through the resource management unit 520. For example, an application can provide the resource management unit 520 with information about the required number of cores. Based on the information obtained from the application regarding the required number of cores, the resource management unit 520 can provide the application with information about the number of allocated cores and information about the core IDs. For example, the resource management unit 520 and the application can determine sibling pairs based on the core IDs. For example, in the case of an application with Hyper-Threading (HT) functionality, two virtual cores corresponding to one physical core can be operated. For a physical core, two core IDs can be logically assigned. The two core IDs can be configured as sibling pairs. The resource management unit 520 can allocate cores to the application based on sibling pairs. For example, an application can request the resource management unit 520 to allocate cores configured as sibling pairs (or sibling cores). In the case of requesting the allocation of sibling cores, the resource management unit 520 can allocate the sibling cores to the application. If a sibling core is not allocated, the resource allocation can be identified (or determined) as a failure. If the application is not allocated resources, the application can identify (or determine) the resource allocation as a failure. For example, inefficient CPU resource utilization may occur if cores configured as siblings are not allocated together. Therefore, the resource management unit 520 can allocate sibling cores to applications.

[0096] [Table 3]

[0097]

[0098] Referring to Table 3, applications can return cores through the resource management unit 520. For example, an application can provide the resource management unit 520 with information about the number of cores to be returned and information about the core ID. For example, an application can stop using the cores to be returned and return them to the resource management unit 520. For example, an application can return cores based on sibling pairs. Applications can return cores together as sibling pairs. For example, the resource management unit 520 can register the returned cores in the available pool (or CPU resource pool). The resource management unit 520 can identify the returned cores and, in the event of a mismatch regarding the returned cores, can identify (or determine) a return failure. For example, based on the return being identified as a failure by the resource management unit 520, the application can identify (or determine) an error has occurred using information obtained from the resource management unit 520.

[0099] [Table 4]

[0100]

[0101] Referring to Table 4, an application can identify whether the core mapping identified in the application is the same as the core mapping set in the resource management unit 520. For example, an application can identify the core mapping assigned to it through the resource management unit 520. For example, the resource management unit 520 can manage the core mapping for each application. For example, an application can identify that the core mapping identified in the application (hereinafter, the first core mapping) does not match the core mapping set in the resource management unit 520 (hereinafter, the second core mapping). The application can synchronize the core mappings based on the mismatch between the first and second core mappings. As an example, an application can synchronize the core mappings based on an initialization operation (or a re-initialization operation). As an example, an application can synchronize only the core mappings. For example, an application can identify the entire core mapping managed in the resource management unit 520.

[0102] [Table 5]

[0103]

[0104] Referring to Table 5, before the application is terminated, it can release all core resources allocated through the resource management unit 520. For example, the application can stop using all allocated cores and return the allocated cores to the resource management unit 520. For example, the resource management unit 520 can register the returned cores in the available pool (or CPU resource pool).

[0105] [Table 6]

[0106]

[0107] Referring to Table 6, an application can be terminated. For example, if an application is terminated, it can release all allocated resources.

[0108] [Table 7]

[0109]

[0110] Referring to Table 7, applications can be terminated abnormally. For example, if an application is terminated abnormally, a reset process can be performed based on a reset sequence.

[0111] [Table 8]

[0112]

[0113] Referring to Table 8, applications can perform an initialization process (or a re-initialization process) based on a reset process. For example, an application can perform an initialization process based on an initialization sequence. For example, after the registration process, an application can check the consistency (or synchronization) of the core mappings and perform a synchronization process regarding the operations of the resource management unit 520 and the application.

[0114] [Table 9]

[0115]

[0116] Referring to Table 9, even when the resource management unit 520 is being used by another application, the application can still send a request message to the resource management unit 520 for an operation (e.g., resource allocation). For example, the resource management unit 520 can sequentially process requests based on the request messages received from the application. The application can receive response messages to the resource management unit 520. For example, in the event of a message (e.g., a response message) being missed, the application can request (or re-request) the message from the resource management unit 520.

[0117] [Table 10]

[0118]

[0119] Referring to Table 10, the resource management unit 520 can be terminated. For example, the resource management unit 520 can initialize all cores based on the termination of the resource management unit 520.

[0120] [Table 11]

[0121]

[0122] Referring to Table 11, the resource management unit 520 can be terminated abnormally. For example, in the event of an abnormal termination of the resource management unit 520, it can back up the data on the kernel mapping. The resource management unit 520 can restore the kernel mapping upon restart.

[0123] The requirements of the application and resource management unit 520 described in Tables 1 to 11 above can be configured to effectively manage CPU resources. For example, the above requirements can be configured to detect errors in CPU resource allocation and execute procedures to resolve the errors that occur.

[0124] Figure 7a illustrates an example of using a central processing unit (CPU) resource pool according to an embodiment.

[0125] Figure 7b illustrates an example of using a CPU resource pool according to an embodiment.

[0126] Referring to Figure 7a, in DU 400, all available CPU resource pools 700 can be used, regardless of the cell's capacity. For example, in the case of cell expansion, core resources can be identified and allocated based on the maximum capacity. Therefore, all available CPU resources can be used, regardless of the actual serviceable expanded cell capacity.

[0127] For example, a first portion 710 of CPU resource pool 700 can be allocated for a first application. A second portion 720 of CPU resource pool 700 can be allocated for a second application. A third portion 730 of CPU resource pool 700 can be allocated for a third application, distinct from the first and second applications. The first portion 710, second portion 720, and third portion 730 of CPU resource pool 700 can be configured as the entirety of CPU resource pool 700. The first portion 710, second portion 720, and third portion 730 of CPU resource pool 700 can be configured based on the maximum capacity required by each application. As an example, the first portion 710 can be set to be larger than the second portion 720. Even if the throughput of the second application is greater than that of the first application, the first portion 710, second portion 720, and third portion 730 of CPU resource pool 700 can be maintained. In this case, CPU resources may be used inefficiently.

[0128] As mentioned above, when using the entire CPU resource pool 700, stable operation and performance can be achieved due to the relatively simplified development process. However, using the entire CPU resource pool 700 may not allow for flexible use of CPU resources. Furthermore, inconvenience may arise due to variations in system operation depending on configuration (or style). Therefore, to effectively utilize CPU resources, they can be allocated as shown in Figure 7b.

[0129] Referring to Figure 7b, within DU 400, a portion of the CPU resource pool 700 can be allocated based on the resource requirements of each application. For example, each application can provide information to the resource management unit 520 regarding its required CPU resources. The resource management unit 520 can then allocate CPU resources within the CPU resource pool 700 based on the information obtained from each application regarding its required CPU resources. Unlike Figure 7a, not all CPU resource pools 700 are used, and the amount of CPU resources required by each application can be allocated.

[0130] For example, a first portion 760 of CPU resource pool 700 can be allocated for a first application. A second portion 770 of CPU resource pool 700 can be allocated for a second application. A third portion 780 of CPU resource pool 700 can be allocated for a third application, distinct from the first and second applications. A fourth portion 790 in CPU resource pool 700 may not be used. According to an embodiment, the third portion 780 of CPU resource pool 700 allocated to the third application can be fixed. CPU resources for a first application using one or more PHY functions and for a second application using one or more MAC functions can be allocated within the remaining portion of CPU resource pool 700, excluding the third portion 780.

[0131] As described above, with flexible use of CPU resource pool 700, a portion of the CPU resources can be left unused. For example, at least one core of the multiple cores of the DU 400 CPU can be left unused. At least one core can be set to an idle state. When at least one core is set to an idle state, the power used in the DU 400 can be reduced. For example, the power used in the DU 400 can be reduced by cutting off or limiting the power of that at least one core. Furthermore, with flexible use of CPU resource pool 700, the number of system configurations (or styles) can be reduced, and operational convenience can be increased.

[0132] Figure 8a is a diagram showing the number of CPU cores allocated according to the number of cells according to an embodiment.

[0133] Figure 8b is a diagram illustrating the number of CPU cores allocated according to the number of cells according to an embodiment.

[0134] Figure 8c is a diagram illustrating the number of CPU cores allocated according to the number of cells in an embodiment.

[0135] Referring to Figure 8a, graph 810 illustrates an example where the available CPU resource pool is fully utilized within DU 400 regardless of the number of cells. In graph 810, the CPU resource pool can be fully utilized even when the number of cells is 1. Therefore, the allocated CPU resources can remain the same as the number of cells increases. For example, the operation of DU 400 according to Figure 810 can be related to the operation of DU 400 described in Figure 7a.

[0136] Referring to Figures 8b and 8c, graphs 820 and 830 illustrate an example in which a portion of the CPU resource pool is allocated within the DU 400 based on the amount of resources required by each application.

[0137] For example, whenever a cell is expanded, the DU 400 can allocate the resources required to provide maximum performance. Figure 820 shows an example of how resources required to provide maximum performance are allocated whenever a cell is expanded.

[0138] For example, whenever a cell is expanded, the DU 400 can allocate resources based on the cell's average service model. Figure 830 shows an example of resource allocation based on the cell's average service model whenever a cell is expanded.

[0139] Referring to Figure 8b, the resource management unit 520 of DU 400 can allocate resources (e.g., CPU resources) to provide the same performance as in the case of fixed resource allocation as shown in Figure 8a. For example, whenever a cell is expanded, the resource management unit 520 can allocate all the resources required to provide maximum performance. Depending on the expansion of the cell, the resource management unit 520 can allocate resources for each cell until all resources included in the resource pool are allocated (or exhausted). In the case of allocating (or exhausting) all resources, the resources can be used for the operation of each cell through a pooling process with the cells to be expanded. For example, in the case of allocating all resources included in the resource pool, DU 400 can perform operations on one or more cells in the same or similar manner as the operations performed in Figure 8a. For example, in the case of allocating all resources included in the resource pool, resources can be allocated based on the maximum capacity required in each cell.

[0140] For example, when the number of cells associated with DU 400 is less than or equal to a specified number 821, the resource management unit 520 can increase the size of the resources allocated to the cells associated with DU 400 as the number of cells associated with DU 400 increases. The resource management unit 520 can allocate all resources included in the resource pool based on the specified number 821 of cells associated with DU 400. The resource management unit 520 can maintain the state where all resources included in the resource pool are allocated based on the number of cells associated with DU 400 being greater than the specified number 821. When the number of cells associated with DU 400 is less than or equal to the specified number 821, increasing the size of the resources allocated to the cells associated with DU 400 as the number of cells associated with DU 400 increases has the effect of reducing the power of the resources corresponding to region 822.

[0141] Referring to Figure 8c, the resource management unit 520 of the DU 400 can allocate resources (e.g., CPU resources) based on power savings. For example, when a cell is expanded, each carrier component can be configured with three sectors. The DU 400 can allocate resources based on the average service model of all scalable cells. Through the resource management unit 520, the DU 400 can allocate only enough resources to provide performance for the average service model. Therefore, resource efficiency can be improved, and power savings can be enhanced.

[0142] For example, as the number of cells associated with DU 400 increases, the resource management unit 520 can increase the size of the resources allocated to the cells associated with DU 400. DU 400 (or each application) can increase the resource size based on the average service model of all scalable cells. According to an embodiment, with three sectors configured for each carrier component, the resource management unit 520 can increase the allocated resource size to 1 / 3 (one-third) of the resource size shown in Figure 8b as the number of cells increases. According to an embodiment, as the number of cells associated with DU 400 increases to the maximum number of cells that can be processed in DU 400, the resource management unit 520 can increase the allocated resource size. For example, when the size of the resources allocated to the cells associated with DU 400 increases with the number of cells associated with DU 400, it has the effect of reducing the power of the resources corresponding to region 832.

[0143] In the case of resource allocation as shown in Figure 8b, although the same or similar performance can be provided as in the case of resource allocation as shown in Figure 8a, the resources in the resource pool can be allocated faster than in the operation of Figure 8c, so the power saving effect may be lower.

[0144] Figure 9 shows a flowchart related to the operation of an electronic device for a DU according to an embodiment.

[0145] In the following embodiments, each operation may be performed sequentially, but not necessarily sequentially. For example, the order of each operation may be changed, and at least two operations may be performed in parallel. The electronic device described below can be configured for the DU 400 (or the resource management unit 520 of the DU 400) described above. For example, the electronic device can be configured to perform the operations of the DU 400 (or the resource management unit 520 of the DU 400). Operations 910 and 920 of FIG. 9 can be performed in the electronic device used for the DU 400 (or the resource management unit 520 of the DU 400). In the following, for ease of description, operations 910 and 920 of FIG. 9 can be described as being performed by the resource management unit 520 of the DU 400.

[0146] Referring to Figure 9, in operation 910, the resource management unit 520 can obtain a first message from a first application and a second message from a second application. For example, the first and second messages can be obtained based on an inter-process communication (IPC) interface.

[0147] For example, the first application may provide one or more PHY functions for at least one cell associated with DU 400. The first application may send a first message to resource management unit 520, the first message including information about a first amount of CPU resources for one or more PHY functions for at least one cell. Resource management unit 520 may obtain the first message from the first application.

[0148] For example, the second application can provide one or more MAC functions for at least one cell associated with the DU 400. The second application can send a second message to the resource management unit 520, the second message including information about a second amount of CPU resources for the one or more MAC functions of the at least one cell. The resource management unit 520 can obtain the second message from the second application.

[0149] According to an embodiment, the second application can obtain messages for cell setup from the connection management unit 420 of DU 400. The second application can send (or provide) a request message to the first application to perform operations for cell setup based on the messages for cell setup.

[0150] For example, a first application may obtain (or receive) a request message from a second application to perform operations for cell setup. The first application may identify a first amount of CPU resources for performing one or more PHY functions based on the request message. For example, the first application may identify the number of CPU cores used to perform one or more PHY functions as a first quantity based on the request message.

[0151] The first application may identify the number of CPU cores used to perform one or more PHY functions as a first quantity based on at least one of information about the communication mode of at least one cell, radio resource information of at least one cell, and / or user information.

[0152] As an example, information about the communication mode of at least one cell may include information about the communication settings within the at least one cell. Information about the communication settings within the at least one cell may include at least one of the following: the number of layers (e.g., MIMO-based layers), the number of antennas, whether operating in FDD mode, whether operating in TDD mode, or channel state information. As an example, radio resource information for at least one cell may include at least one of the number of RBs, the number of symbols, and the number of time slots. As an example, user information may include at least one of the number of UEs associated with at least one cell, information about the performance (e.g., reception performance) of the UEs associated with at least one cell, and information about the services provided within the at least one cell.

[0153] The first application may send a cell configuration message to the second application. For example, the cell configuration message may include at least one of the following: information about the communication mode of at least one cell, radio resource information, and / or user information. The cell configuration message may also include at least one of the following: information about the number of layers set up within at least one cell, information about the number of resource blocks associated with at least one cell, and information about the number of UEs associated with at least one cell.

[0154] The second application can obtain (or receive) cell configuration messages from the first application. The second application can identify a second amount of CPU resources used to perform one or more MAC functions based on the cell configuration messages. For example, the second application can identify the number of CPU cores used to perform one or more MAC functions as a second quantity based on the cell configuration messages.

[0155] According to an embodiment, the resource management unit 520 can obtain a first message including information about a first CPU resource quantity from a first application. The resource management unit 520 can obtain a second message including information about a second CPU resource quantity from a second application. For example, the information about the first CPU resource quantity may include information about a first number of cores among the plurality of available cores of the DU 400 used to perform one or more PHY functions. The information about the second CPU resource quantity may include information about a second number of cores among the plurality of available cores of the DU 400 used to perform one or more MAC functions.

[0156] In operation 920, resource management unit 520 can allocate a first portion and a second portion of the CPU resource pool. For example, resource management unit 520 can allocate the first portion of the CPU resource pool corresponding to a first CPU resource quantity and the second portion of the CPU resource pool corresponding to a second CPU resource quantity based on a first message and a second message.

[0157] According to an embodiment, a CPU resource pool can be configured based on the number of available cores in the DU 400. The resource management unit 520 can allocate resources within the CPU resource pool for each application. The resource management unit 520 can allocate resources in the CPU resource pool based on allocating a portion of the multiple cores to each application.

[0158] For example, resource management unit 520 can allocate a first portion of the CPU resource pool corresponding to a first CPU resource quantity. Resource management unit 520 can allocate the first portion of the CPU resource pool for a first application. The first portion of the CPU resource pool can be allocated based on a first number of cores. As an example, resource management unit 520 can allocate a first number of cores for a first application. The first portion of the CPU resource pool can be used to execute one or more PHY functions of at least one cell.

[0159] For example, resource management unit 520 can allocate a second portion of the CPU resource pool corresponding to the second CPU resource quantity. Resource management unit 520 can allocate the second portion of the CPU resource pool for a second application. The second portion of the CPU resource pool can be allocated based on a second number of cores. As an example, resource management unit 520 can allocate a second number of cores for a second application. The second portion of the CPU resource pool can be used to perform one or more MAC functions of at least one cell.

[0160] According to embodiments, the size of a first portion and a second portion of a CPU resource pool can be identified based on the number of at least one cell. For example, resource management unit 520 (or DU 400) can identify the size of the first portion and the second portion of the CPU resource pool based on the number of at least one cell. For example, a first application can identify information about a first number of cores based on the number of at least one cell. Resource management unit 520 can identify the first portion of the CPU resource pool based on the information about the first number of cores. For example, a second application can identify information about a second number of cores based on the number of at least one cell. Resource management unit 520 can identify the second portion of the CPU resource pool based on the information about the second number of cores.

[0161] For example, the entire CPU resource pool can be allocated based on the number of at least one cell being greater than or equal to a specified number. Resource management unit 520 (or DU 400) can allocate the entire CPU resource pool based on the number of at least one cell being greater than or equal to a specified number. When the number of cells associated with DU 400 is less than or equal to a specified number, resource management unit 520 can increase the size of the resources allocated to the cells associated with DU 400 as the number of cells associated with DU 400 increases. Resource management unit 520 can allocate all resources included in the CPU resource pool based on the number of cells associated with DU 400 being a specified number. Resource management unit 520 can maintain a state where all resources included in the CPU resource pool are allocated based on the number of cells associated with DU 400 being greater than a specified number.

[0162] For example, unused (or unallocated) portions of the CPU resource pool can be set to an idle state. The resource management unit 520 (or DU 400) can set these unused (or unallocated) portions of the CPU resource pool to an idle state. Power consumption can be reduced by cutting off or limiting the power of these unused (or unallocated) portions of the CPU resource pool.

[0163] According to an embodiment, at least one cell can be removed from DU 400. Resource management unit 520 (or DU 400) can set a first portion and a second portion of the CPU resource pool to an idle state based on the removal of at least one cell. Resource management unit 520 can set a first portion and a second portion of the CPU resource pool allocated to a first application and a second application to an idle state based on the removal of at least one cell.

[0164] According to an embodiment, a network node (e.g., DU) may include at least one processor and a memory storing instructions. The at least one processor includes processing circuitry, and the memory includes one or more storage media. When the instructions are executed jointly by the at least one processor individually, the instructions may cause the network node to obtain a first message from a first application for providing one or more physical (PHY) functions, the first message including information about a first central processing unit (CPU) resource amount for one or more PHY functions for at least one cell associated with the network node, and a second message from a second application for providing one or more media access control (MAC) functions, the second message including information about a second CPU resource amount for one or more MAC functions for at least one cell. When executed individually or jointly by the at least one processor, the instructions may cause the network node to allocate a first portion of a CPU resource pool corresponding to the first CPU resource amount and a second portion of a CPU resource pool corresponding to the second CPU resource amount based on the first and second messages. The first portion of the CPU resource pool may be used to perform one or more PHY functions for at least one cell. The second portion of the CPU resource pool may be used to perform one or more MAC functions for at least one cell.

[0165] According to an embodiment, the CPU resource pool can be configured based on the number of cores available for network nodes.

[0166] According to an embodiment, information regarding the first CPU resource quantity may include information regarding a first number of cores among the plurality of cores used to perform one or more PHY functions. Information regarding the second CPU resource quantity may include information regarding a second number of cores among the plurality of cores used to perform one or more MAC functions.

[0167] According to an embodiment, a first number of cores for performing one or more PHY functions can be obtained based on at least one of information about the communication mode of at least one cell, radio resource information of at least one cell, or user information. A second number of cores for performing one or more MAC functions can be obtained based on at least one of information about the communication mode of at least one cell, radio resource information of at least one cell, or user information.

[0168] According to an embodiment, a first portion of the CPU resource pool may be allocated based on a first number of cores. A second portion of the CPU resource pool may be allocated based on a second number of cores.

[0169] According to an embodiment, when the instructions are executed individually or jointly by at least one processor, a network node can determine the size of a first portion of the CPU resource pool and the size of a second portion of the CPU resource pool based on the number of at least one cell.

[0170] According to an embodiment, when instructions are executed individually or jointly by at least one processor, the instructions can cause a network node to allocate the entire CPU resource pool based on a number of at least one cell that is greater than or equal to a specified number.

[0171] According to an embodiment, when the instruction is executed individually or jointly by at least one processor, it can cause a network node to set the unused portion of the CPU resource pool to an idle state.

[0172] According to an embodiment, when executed individually or jointly by at least one processor, the instructions can cause a network node to be removed based on at least one cell, setting a first and second portion of the CPU resource pool to an idle state.

[0173] According to an embodiment, the first message and the second message can be obtained based on an inter-process communication (IPC) interface.

[0174] According to an embodiment, a method performed by a network node (e.g., DU) may include obtaining a first message from a first application for providing one or more physical (PHY) functions, the first message including information about a first central processing unit (CPU) resource amount for one or more PHY functions for at least one cell associated with the network node, and obtaining a second message from a second application for providing one or more media access control (MAC) functions, the second message including information about a second CPU resource amount for one or more MAC functions for at least one cell. The method may include allocating a first portion of a CPU resource pool corresponding to the first CPU resource amount and a second portion of a CPU resource pool corresponding to the second CPU resource amount based on the first and second messages. The first portion of the CPU resource pool may be used to perform one or more PHY functions for at least one cell. The second portion of the CPU resource pool may be used to perform one or more MAC functions for at least one cell.

[0175] According to an embodiment, the CPU resource pool can be configured based on the number of cores available for network nodes.

[0176] According to an embodiment, information regarding the first CPU resource quantity may include information regarding a first number of cores among the plurality of cores used to perform one or more PHY functions. Information regarding the second CPU resource quantity may include information regarding a second number of cores among the plurality of cores used to perform one or more MAC functions.

[0177] According to an embodiment, a first number of cores for performing one or more PHY functions can be obtained based on at least one of information about the communication mode of at least one cell, radio resource information of at least one cell, or user information. A second number of cores for performing one or more MAC functions can be obtained based on at least one of information about the communication mode of at least one cell, radio resource information of at least one cell, or user information.

[0178] According to an embodiment, a non-transitory computer-readable storage medium may store one or more programs. The one or more programs may include instructions, when executed by at least one processor of a network node (e.g., a DU), causing the network node to obtain a first message from a first application for providing one or more physical (PHY) functions, the first message including information about a first central processing unit (CPU) resource amount for one or more PHY functions for at least one cell associated with the network node, and a second message from a second application for providing one or more media access control (MAC) functions, the second message including information about a second CPU resource amount for one or more MAC functions for at least one cell. The one or more programs may include instructions, when executed by at least one processor, causing the network node to allocate a first portion of a CPU resource pool corresponding to the first CPU resource amount and a second portion of a CPU resource pool corresponding to the second CPU resource amount based on the first and second messages. The first portion of the CPU resource pool may be used to perform one or more PHY functions for at least one cell. The second portion of the CPU resource pool may be used to perform one or more MAC functions for at least one cell.

[0179] According to an embodiment, an electronic device for a distributed unit (DU) may include at least one processor and a memory storing instructions. When instructions are executed by the at least one processor, the electronic device may obtain a first message from a first application for providing one or more physical (PHY) functions, the first message including information about a first central processing unit (CPU) resource quantity for one or more PHY functions for at least one cell associated with the DU, and a second message from a second application for providing one or more media access control (MAC) functions, the second message including information about a second CPU resource quantity for one or more MAC functions for at least one cell. When instructions are executed by the at least one processor, the electronic device may allocate a first portion of a CPU resource pool corresponding to the first CPU resource quantity and a second portion of a CPU resource pool corresponding to the second CPU resource quantity based on the first and second messages. The first portion of the CPU resource pool may be used to perform one or more PHY functions for at least one cell. The second portion of the CPU resource pool may be used to perform one or more MAC functions for at least one cell.

[0180] For example, CPU resource pools can be configured based on the number of cores available for a DU.

[0181] For example, information about the first amount of CPU resources may include information about a first number of cores among multiple cores used to perform one or more PHY functions. Information about the second amount of CPU resources may include information about a second number of cores among multiple cores used to perform one or more MAC functions.

[0182] For example, a first number of cores for performing one or more PHY functions may be obtained based on at least one of information about the communication mode of at least one cell, radio resource information of at least one cell, or user information. A second number of cores for performing one or more MAC functions may be obtained based on at least one of information about the communication mode of at least one cell, radio resource information of at least one cell, or user information.

[0183] For example, the first part of the CPU resource pool can be allocated based on a first number of cores. The second part of the CPU resource pool can be allocated based on a second number of cores.

[0184] For example, when executed by at least one processor, the instructions can enable an electronic device to determine the size of a first portion of the CPU resource pool and the size of a second portion of the CPU resource pool based on the number of at least one cell.

[0185] For example, when executed by at least one processor, the instruction can cause an electronic device to allocate the entire CPU resource pool based on the number of at least one cell being greater than or equal to a specified number.

[0186] For example, when an instruction is executed by at least one processor, it can cause an electronic device to set the unused portion of the CPU resource pool to an idle state.

[0187] For example, when executed by at least one processor, the instruction can cause the electronic device to set the first and second portions of the CPU resource pool to an idle state based on the removal of at least one cell.

[0188] For example, the first and second messages can be obtained based on the inter-process communication (IPC) interface.

[0189] According to an embodiment, a method for a distributed unit (DU) to perform operations may include obtaining a first message from a first application for providing one or more physical (PHY) functions, the first message including information about a first central processing unit (CPU) resource quantity for one or more PHY functions of at least one cell associated with the DU, and obtaining a second message from a second application for providing one or more media access control (MAC) functions, the second message including information about a second CPU resource quantity for one or more MAC functions of at least one cell. The method may include allocating a first portion of a CPU resource pool corresponding to the first CPU resource quantity and a second portion of a CPU resource pool corresponding to the second CPU resource quantity based on the first and second messages. The first portion of the CPU resource pool may be used to perform one or more PHY functions of at least one cell. The second portion of the CPU resource pool may be used to perform one or more MAC functions of at least one cell.

[0190] For example, CPU resource pools can be configured based on the number of cores available for a DU.

[0191] For example, information about the first amount of CPU resources may include information about a first number of cores among multiple cores used to perform one or more PHY functions. Information about the second amount of CPU resources may include information about a second number of cores among multiple cores used to perform one or more MAC functions.

[0192] For example, a first number of cores for performing one or more PHY functions may be obtained based on at least one of information about the communication mode of at least one cell, radio resource information of at least one cell, or user information. A second number of cores for performing one or more MAC functions may be obtained based on at least one of information about the communication mode of at least one cell, radio resource information of at least one cell, or user information.

[0193] For example, the first part of the CPU resource pool can be allocated based on a first number of cores. The second part of the resource pool can be allocated CPUs based on a second number of cores.

[0194] For example, the method may include determining the size of a first portion of the CPU resource pool and the size of a second portion of the CPU resource pool based on the number of at least one cell.

[0195] For example, the method may include allocating the entire CPU resource pool based on the number of at least one cell being greater than or equal to a specified number.

[0196] For example, the method may include setting the unused portion of the CPU resource pool to an idle state.

[0197] For example, the method may include setting a first and second portion of the CPU resource pool to an idle state based on the removal of at least one cell.

[0198] According to an embodiment, a non-transitory computer-readable storage medium may store one or more programs. The one or more programs may include instructions, when executed by at least one processor of an electronic device of a distributed unit (DU), causing the electronic device to obtain a first message from a first application for providing one or more physical (PHY) functions, the first message including information about a first central processing unit (CPU) resource amount for one or more PHY functions for at least one cell associated with the DU, and to obtain a second message from a second application for providing one or more media access control (MAC) functions, the second message including information about a second CPU resource amount for one or more MAC functions for at least one cell. The one or more programs may include instructions, when executed by at least one processor of the electronic device, causing the electronic device to allocate a first portion of a CPU resource pool corresponding to the first CPU resource amount and a second portion of a CPU resource pool corresponding to the second CPU resource amount based on the first and second messages. The first portion of the CPU resource pool may be used to perform one or more PHY functions for at least one cell. The second portion of the CPU resource pool may be used to perform one or more MAC functions for at least one cell.

[0199] According to the above embodiments, by reducing the number of system types or system configurations (or styles), there is an effect of increasing operational convenience and reducing development costs. According to the above embodiments, there is an effect of reducing power consumption by improving resource utilization efficiency. According to the above embodiments, the system configuration allocated based on different resources can be reduced by dynamically allocating CPU resources for systems that simultaneously support FDD and TDD. The operational convenience of the system can be improved, and the testing environment for product verification can be simplified. Therefore, resources (e.g., human or material resources) for system environment construction and verification can be reduced. Furthermore, due to the reduced power consumption, there is an effect of reducing operating costs.

[0200] The methods described in the claims or specification of this disclosure can be implemented in hardware, software, or a combination of hardware and software.

[0201] When implemented as software, a computer-readable storage medium may be provided for storing one or more programs (software modules). The one or more programs stored in the computer-readable storage medium are configured to be executed by one or more processors in an electronic device. The one or more programs include instructions to cause the electronic device to perform a method according to the embodiments described in the claims or specification of this disclosure. One or more programs may be included and provided in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., an optical disc read-only memory (CD-ROM)) or via an app store (e.g., the Play Store). TM Online distribution (e.g., downloading or uploading) or direct distribution between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product may be temporarily generated or at least temporarily stored in a machine-readable storage medium, such as the memory of a manufacturer's server, an app store's server, or a relay server.

[0202] Such programs (software modules, software) can be stored in random access memory, including non-volatile memory such as flash memory, read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), disk storage devices, optical storage devices (e.g., optical disc-ROM, digital versatile disc (DVD), or other formats), or magnetic tape cartridges. Alternatively, it can be stored in a memory configured with some or all of these. Additionally, multiple configuration memories may be included.

[0203] Additionally, the program can be stored in an attachable storage device that can be accessed via a communication network such as the Internet, intranet, local area network (LAN), wide area network (WAN), or storage area network (SAN), or a combination thereof. Such a storage device can be connected to a device executing embodiments of this disclosure via an external port. Furthermore, a separate storage device on the communication network can also be connected to a device executing embodiments of this disclosure.

[0204] In the specific embodiments described above, the components included in this disclosure are represented in a singular or plural form according to the presented embodiments. However, the singular or plural representation may be appropriately chosen for ease of explanation, and this disclosure is not limited to singular or plural components; even components expressed in a plural form may be configured in a singular form, or vice versa.

[0205] According to various embodiments, one or more of the components or operations described above may be omitted, or one or more other components or operations may be added. Alternatively or additionally, multiple components (e.g., modules or programs) may be integrated into a single component. In this case, the integrated component may still perform one or more functions of each of the multiple components in the same or similar manner as the corresponding components in the multiple components before integration. According to various embodiments, operations performed by a module, program, or other component may be performed sequentially, in parallel, repeatedly, or heuristically, or one or more operations may be performed in a different order or omitted, or one or more other operations may be added.

[0206] Furthermore, specific embodiments have been described in detail in this disclosure, and of course, various modifications can be made without departing from the scope of this disclosure.

[0207] It should be understood that the embodiments of this disclosure and the terminology used therein are not intended to limit the technical features set forth herein to the specific embodiments, but rather to include various modifications, equivalents, or substitutions for the respective embodiments. Regarding the description of the drawings, similar reference numerals may be used to refer to similar or related elements. It should be understood that, unless the relevant context clearly indicates otherwise, the singular form of the noun corresponding to an item may include one or more things. As used herein, each of the phrases such as “A or B,” “at least one of A and B,” “at least one of A or B,” “A, B, or C,” “at least one of A, B, and C,” and “at least one of A, B, or C” may include any or all possible combinations of the items listed together in the corresponding phrase. As used herein, terms such as “first” and “second” or “first” and “second” may be used simply to distinguish the respective component from another component and do not limit the components in other respects (e.g., importance or order). It will be understood that, whether the terms “operably” or “communically” are used or not, if an element (e.g., a first element) is referred to as being “combined” or “connected” to another element (e.g., a second element), it means that the element can be directly (e.g., wiredly) connected to the other element, wirelessly connected to the other element, or connected to the other element via a third element.

[0208] As used in conjunction with embodiments of this disclosure, the term "module" may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with other terms such as "logic," "logic block," "component," or "circuit." A module may be a single integrated component adapted to perform one or more functions, or its smallest unit or portion. For example, according to an embodiment, a module may be implemented as an application-specific integrated circuit (ASIC).

Claims

1. A network node, comprising: At least one processor, including processing circuitry; and a memory storing instructions, including one or more storage media, wherein the instructions, when executed individually or jointly by the at least one processor, cause the network node to: receive a first message from a first application for providing one or more physical PHY functions, the first message including information about a first central processing unit (CPU) resource quantity for one or more PHY functions for at least one cell associated with the network node; and receive a second message from a second application for providing one or more media access control (MAC) functions, the second message including information about a second CPU resource quantity for one or more MAC functions for at least one cell; and, based on the first message and the second message, allocate a first portion of a CPU resource pool corresponding to the first CPU resource quantity and a second portion of a CPU resource pool corresponding to the second CPU resource quantity, wherein the first portion of the CPU resource pool is used to perform one or more PHY functions for at least one cell, and wherein the second portion of the CPU resource pool is used to perform one or more MAC functions for at least one cell.

2. The network node according to claim 1, wherein, The CPU resource pool is configured based on the number of cores available for the network node.

3. The network node according to claim 2, wherein, Information regarding the first CPU resource quantity includes information about a first number of cores among the multiple cores used to perform one or more PHY functions, and information regarding the second CPU resource quantity includes information about a second number of cores among the multiple cores used to perform one or more MAC functions.

4. The network node according to claim 3, wherein, A first number of cores for performing one or more PHY functions are obtained based on at least one of information about the communication mode of at least one cell, radio resource information of at least one cell, or user information, and wherein a second number of cores for performing one or more MAC functions are obtained based on at least one of information about the communication mode of at least one cell, radio resource information of at least one cell, or user information.

5. The network node according to claim 4, wherein, The first part of the CPU resource pool is allocated based on a first number of cores, and the second part of the CPU resource pool is allocated based on a second number of cores.

6. The network node according to claim 1, wherein, When the instructions are executed individually or jointly by the at least one processor, the network node determines the size of a first portion of the CPU resource pool and the size of a second portion of the CPU resource pool based on the number of at least one cell.

7. The network node according to claim 6, wherein, When the instruction is executed individually or jointly by the at least one processor, it causes the network node to allocate the entire CPU resource pool based on the number of at least one cell being greater than or equal to a specified number.

8. The network node according to claim 1, wherein, When the instruction is executed individually or jointly by the at least one processor, it causes the network node to set the unused portion of the CPU resource pool to an idle state.

9. The network node according to claim 8, wherein, When the instruction is executed individually or jointly by the at least one processor, it causes the network node to be removed based on at least one cell, and sets the first and second portions of the CPU resource pool to an idle state.

10. The network node according to claim 1, wherein, The first and second messages are obtained based on the inter-process communication (IPC) interface.

11. A method executed by a network node, comprising: A first message is obtained from a first application for providing one or more physical PHY functions, the first message including information about the amount of CPU resources of a first central processing unit for one or more PHY functions for at least one cell associated with a network node; and a second message is obtained from a second application for providing one or more media access control (MAC) functions, the second message including information about the amount of CPU resources of a second CPU for one or more MAC functions for at least one cell; and based on the first message and the second message, a first portion of a CPU resource pool corresponding to the first CPU resource amount and a second portion of a CPU resource pool corresponding to the second CPU resource amount are allocated, wherein the first portion of the CPU resource pool is used to perform one or more PHY functions for at least one cell, and wherein the second portion of the CPU resource pool is used to perform one or more MAC functions for at least one cell.

12. The method according to claim 11, wherein, The CPU resource pool is configured based on the number of cores available for the network node.

13. The method according to claim 12, wherein, Information regarding the first CPU resource quantity includes information about a first number of cores among the multiple cores used to perform one or more PHY functions, and information regarding the second CPU resource quantity includes information about a second number of cores among the multiple cores used to perform one or more MAC functions.

14. The method according to claim 13, wherein, A first number of cores for performing one or more PHY functions are obtained based on at least one of information about the communication mode of at least one cell, radio resource information of at least one cell, or user information, and wherein a second number of cores for performing one or more MAC functions are obtained based on at least one of information about the communication mode of at least one cell, radio resource information of at least one cell, or user information.

15. A non-transitory computer-readable storage medium storing one or more programs, said one or more programs comprising instructions that, when executed by at least one processor of a network node, cause the network node to: obtain a first message from a first application for providing one or more physical PHY functions, the first message including information about a first central processing unit (CPU) resource quantity for one or more PHY functions for at least one cell associated with the network node; obtain a second message from a second application for providing one or more media access control (MAC) functions, the second message including information about a second CPU resource quantity for one or more MAC functions for at least one cell; and, based on the first message and the second message, allocate a first portion of a CPU resource pool corresponding to the first CPU resource quantity and a second portion of a CPU resource pool corresponding to the second CPU resource quantity, wherein... The first part of the CPU resource pool is used to perform one or more PHY functions of at least one cell, and the second part of the CPU resource pool is used to perform one or more MAC functions of at least one cell.