Method and apparatus for statistical multiplexing of fronthaul bandwidth in open random access networks

By dividing the transmission time unit into multiple symbol units in the O-RAN system and dynamically allocating C/U plane packets, the problem of bandwidth optimization between O-DU and O-RU is solved, and more efficient bandwidth utilization and system performance stability are achieved.

CN119744553APending Publication Date: 2025-04-01RAKUTEN SYMPHONY INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280099398.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-08-30
Publication Date
2025-04-01

AI Technical Summary

Technical Problem

In O-RAN, there is a lack of methods to optimize the FH link bandwidth between O-DU and O-RU, resulting in possible packet loss, time constraint violations, and load imbalance.

Method used

Effective utilization of symbol units is ensured and peak throughput is avoided by dividing the transmission time unit (TTI) into multiple symbol units and dynamically allocating the C/U planes into symbol units according to the packet size and available bandwidth.

Benefits of technology

The bandwidth optimization of the FH link is realized, which reduces the risk of packet loss and load imbalance, and improves the scalability and performance stability of the O-RAN system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119744553A_ABST
    Figure CN119744553A_ABST
Patent Text Reader

Abstract

A method performed in an O-DU includes dividing a transmission time unit (TTI) into a plurality of symbol units, the TTI corresponding to an allowable time for data transmission from the O-DU to an O-RU via a fronthaul link. The method further includes assigning a first packet of the first type to the first symbol unit. The method further includes, in response to determining that (i) the size of the first packet of the first type is less than the size of the first symbol unit, and (ii) a first packet of a second type associated with the first packet of the first type is available for transmission, allocating the first packet of the second type to the first symbol unit. The method further includes transmitting a first symbol unit having a first packet of the first type and a first packet of the second type to the O-RU.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to communication systems, and more particularly, to methods and apparatus for statistical multiplexing of fronthaul bandwidth in an Open Random Access Network (O-RAN). Background Art

[0002] A Cloud-based Radio Access Network (CRAN) is a network where a large portion of the RAN layer processing is performed at a centralized unit (CU) in the cloud located on commercial off-the-shelf servers, while the Radio Frequency (RF) and real-time critical functions may be handled in the Remote Radio Unit (RU or RRU) and the Distributed Unit (DU). Sometimes, depending on the functional split, the DU is also considered as part of the CU / BBU. O-RAN is an example of a CRAN.

[0003] In order for the RU and DU to communicate, an interface called Fronthaul (FH) is provided. The 3rd Generation Partnership Project (3GPP) has defined 8 options for the split between BBU and RRU in different layers of the protocol stack. One of the splits recently standardized by the O-RAN Alliance is split option 7-2x (Intra-Physical Layer (PHY) Layer Split). This split has multiple advantages such as simplicity, transmission bandwidth scalability, beamforming support, interoperability, support for advanced receivers and inter-cell coordination, lower O-RU complexity, future proofing, interface and functional symmetry.

[0004] Although the fronthaul (FH) throughput of split option 7-2x is relatively lower compared to split option 7-1 or split option 8, reducing the FH throughput is beneficial because the throughput has a direct impact on the scalability of the O-RAN compatible DU (O-DU) and O-RAN compatible RU (O-RU), the transmission medium, and the Ethernet card.

[0005] There is no method defined as part of the available standard specification to indicate the optimization of bandwidth when sending control and user plane data packets on the FH link between O-DU and O-RU. Conventional methods may cause packet loss, violation of time constraints, and load imbalance on the FH during the transmission time unit.

[0006] Improvements are presented herein that may also be applicable to other multiple access technologies, and the telecommunication standards that use these technologies. Summary of the invention

[0007] A simplified summary of one or more embodiments of the present disclosure is presented below to provide a basic understanding of such embodiments. This summary is not an extensive overview of all contemplated embodiments, and is neither intended to identify key or important elements of all embodiments, nor to describe the scope of any or all embodiments. Its sole purpose is to present some concepts of one or more embodiments of the present disclosure in a simplified form as a prelude to a more detailed description presented later.

[0008] The present disclosure discloses methods, apparatus, and non-transitory computer-readable media for optimizing FH bandwidth.

[0009] According to an exemplary embodiment, a method performed in an O-DU includes: dividing a transmission time unit (TTI) into a plurality of symbol units, the TTI corresponding to an allowed time for data transmission from the O-DU to the O-RU via a fronthaul link. The method also includes: assigning a first packet of a first type to the first symbol unit. The method also includes: in response to determining that (i) the size of the first packet of the first type is less than the size of the first symbol unit, and (ii) the first packet of a second type associated with the first packet of the first type is available for transmission, assigning the first packet of the second type to the first symbol unit. The method also includes: sending a first symbol unit having a first packet of the first type and a first packet of the second type to the O-RU.

[0010] According to an exemplary embodiment, a network node is connected to an open random access network (O-RAN) radio unit (O-RU) via a fronthaul link, the network node comprising: at least one memory configured to store computer program code; and at least one processor configured to access the at least one memory and operate as instructed by the computer program code. The computer program code comprises: a partitioning code configured to cause at least one of the at least one processors to: partition a transmission time unit (TTI) into a plurality of symbol units, the TTI corresponding to an allowed time for data transmission from the O-DU to the O-RU via the fronthaul link. The computer program code comprises: a first allocation code configured to cause at least one of the at least one processors to: allocate a first packet of a first type to a first symbol unit from the plurality of symbol units. In response to determining that (i) the size of the first packet of the first type is less than the size of the first symbol unit, and (ii) the first packet of a second type associated with the first packet of the first type is available for transmission, the computer program code comprises: a second allocation code configured to cause at least one of the at least one processors to: allocate the first packet of the second type to the first symbol unit. The computer program code includes sending code configured to cause at least one of the at least one processor to send a first packet of a first type and a first symbol unit of a first packet of a second type to an O-RU via a fronthaul link.

[0011] According to an exemplary embodiment, a non-transitory computer-readable medium has instructions stored therein, which, when executed by a processor in a network node, causes a process to perform a method, the network node being connected to an open random access network (O-RAN) radio unit (O-RU) via a fronthaul link, the method comprising: dividing a transmission time unit (TTI) into a plurality of symbol units, the TTI corresponding to an allowed time for data transmission from the O-DU to the O-RU via the fronthaul link. The method also includes: assigning a first packet of a first type to a first symbol unit from the plurality of symbol units. The method also includes: in response to determining that (i) the size of the first packet of the first type is less than the size of the first symbol unit, and (ii) the first packet of a second type associated with the first packet of the first type is available for transmission, assigning the first packet of the second type to the first symbol unit. The method also includes: sending a first symbol unit having a first packet of the first type and a first packet of the second type to the O-RU via the fronthaul link.

[0012] Additional embodiments will be set forth in the description which follows, and in part will be apparent from the description, and / or may be learned by practice of the presented embodiments of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] The above and other aspects, features and aspects of embodiments of the present disclosure will become apparent from the following description in conjunction with the accompanying drawings, in which:

[0014] Figure 1 is a diagram of an example network device according to various embodiments of the present disclosure.

[0015] Figure 2 is a schematic diagram of an example O-RAN communication system according to various embodiments of the present disclosure.

[0016] Figure 3 An example graph of FH throughput according to various embodiments of the present disclosure is illustrated.

[0017] Figure 4A and Figure 4B Illustrated are example transmission time windows according to various embodiments of the present disclosure.

[0018] Figure 5 (A) illustrates an example transmission time interval according to various embodiments of the present disclosure.

[0019] Figure 5 (B) to Figure 6 (D) illustrates an example symbol unit according to various embodiments of the present disclosure.

[0020] Figure 7 is a flow chart of an example process for assigning packets to symbol units according to various embodiments of the present disclosure.

[0021] Figure 8 is a flow chart of an example C-plane allocation process according to various embodiments of the present disclosure. DETAILED DESCRIPTION

[0022] The following detailed description of example embodiments refers to the accompanying drawings.The same reference numbers in different drawings may identify the same or similar elements.

[0023] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit implementation to disclosed precise form. In view of the above disclosure, modifications and variations are possible, or modifications and variations can be obtained from the practice of implementation. In addition, one or more features or components of an embodiment can be incorporated into another embodiment (or one or more features of another embodiment) or combined with it. Additionally, in the flow chart and the operational description provided below, it is to be understood that one or more operations can be omitted, one or more operations can be added, one or more operations can be performed simultaneously (at least in part), and the order of one or more operations can be switched.

[0024] It will be apparent that the systems and / or methods described herein can be implemented in various forms of hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods does not limit the implementation. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to specific software code—it is to be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.

[0025] Even though particular combinations of features are recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and / or disclosed in the specification. Although each of the dependent claims listed below may directly depend on only one claim, the disclosure of possible implementations includes each dependent claim in combination with every other claim in the claim set.

[0026] Unless explicitly described in this way, the elements, actions or instructions used herein should not be interpreted as key or necessary. Moreover, as used herein, the articles "one" and "an" are intended to include one or more items and can be used interchangeably with "one or more". In the case of only one item, the term "one" or similar language is used. Moreover, as used herein, the terms "has", "have", "having", "include", "including", etc. are intended to be open terms. In addition, unless otherwise explicitly stated, the phrase "based on" is intended to mean "based at least in part". In addition, expressions such as "at least one of [A] and [B]" or "at least one of [A] or [B]" should be understood to include only A, only B, or both A and B.

[0027] References throughout this specification to "one embodiment," "an embodiment," or similar language mean that a particular feature, structure, or characteristic described in connection with the indicated embodiment is included in at least one embodiment of the present solution. Thus, the phrases "in one embodiment," "in an embodiment," and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.

[0028] In addition, the features, advantages and characteristics of the present disclosure described may be combined in any suitable manner in one or more embodiments. Those skilled in the relevant art will recognize that, in view of the description herein, the present disclosure may be practiced without one or more specific features or advantages of a particular embodiment. In other examples, it may be recognized in certain embodiments that additional features and advantages may not be present in all embodiments of the present disclosure.

[0029] Embodiments of the present disclosure relate to optimizing the transmission time and link occupancy of the FH link when sending control and user plane data packets between the O-DU and the O-RU. In some embodiments, for each time unit, the full FH bandwidth can be used. For example, for each transmission time unit, based on system parameters (e.g., FH link capacity, maximum transmission unit (MTU) size, in-band and orthogonal (IQ) sampling width, C / U plane priority, FH transmission window), the method interleaves C / U plane transmissions on the FH bandwidth. Embodiments of the present disclosure provide significant advantageous features for reducing FH throughput.

[0030] The O-RAN specification specifies at least four planes: user plane (U-plane), control plane (C-plane), synchronization plane (S-plane), and management plane (M-plane). C-plane messages may include data-associated control information (such as scheduling and beamforming commands) required to process user data. These messages may be sent separately for downlink (DL) related commands and uplink (UL) related commands.

[0031] To support coordination of C-plane and U-plane timing, the O-RAN interface can specify the time by which a C-plane or U-plane message must arrive at the O-RU until the C-plane or U-plane message falls into its corresponding window.

[0032] The U-plane O-DU transmission window can be defined by the above relationship based on the O-RU receiving window and the maximum transmission transmission change. In some embodiments, the transmission window does not define the exact timing of the transmission from the O-DU, but can define the boundaries within which the U-plane O-DU transmission operates. The transmission window can represent the mathematical boundaries imposed on the O-DU due to the O-RU, the forward delay, and the transmission constraints. For any one of the O-DU, the transmission, and the O-RU, constraints can be defined based on the understanding of the other two. However, the O-RU constraints can be predefined based on equipment, transmission, and overall network goals.

[0033] The C-plane O-DU transmission window may follow the same concept as the U-plane O-DU transmission window. However, the size of the C-plane O-DU transmission window may be larger, and thus its start time may be much earlier compared to the U-plane O-DU transmission window. In certain scenarios, such as sending beamforming weights in real time for MIMO applications, the C-plane messages may be spread out over time to avoid peak throughput. Figure 3 An example graph (300) is illustrated showing the FH throughput when C-plane messages are sent once in the same symbol unit (302) and when the C-plane messages are spread over time (304). Figure 3As illustrated in , when C-plane messages are spread out over time ( 304 ), the FH throughput decreases compared to sending all C-plane messages at once in the same symbol unit ( 302 ).

[0034] Figure 1 1 is a diagram of an example device for implementing the method of the present disclosure. Device 100 may correspond to any type of known computer, server, or data processing device. For example, device 100 may include a processor, a personal computer (PC), a printed circuit board (PCB) including a computing device, a minicomputer, a mainframe computer, a microcomputer, a telephone computing device, a wired / wireless computing device (e.g., a smart phone, a personal digital assistant (PDA)), a laptop computer, a tablet computer, a smart device, or any other similarly functional device.

[0035] In some embodiments, Figure 1 As shown in , device 100 may include a set of components, such as a processor 120 , a memory 130 , a storage component 140 , an input component 150 , an output component 160 , and a communication interface 170 .

[0036] The bus 110 may include one or more components that allow communication between the components of the device 100. For example, the bus 110 may be a communication bus, a crossbar, a network, etc. Although the bus 110 may be Figure 1 Although depicted as a single line in FIG. 1 , bus 110 may be implemented using multiple (two or more) connections between the collection of components of device 100. The present disclosure is not limited in this regard.

[0037] Device 100 may include one or more processors, such as processor 120. Processor 120 may be implemented in hardware, firmware, and / or a combination of hardware and software. For example, processor 120 may include a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a general purpose single-chip or multi-chip processor or other programmable logic device, a discrete gate or transistor logic, a discrete hardware component, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor or any conventional processor, controller, microcontroller, or state machine. Processor 120 may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in combination with a DSP core, or any other such configuration. In some embodiments, specific processes and methods may be performed by a circuit system specific to a given function.

[0038] Processor 120 may control the overall operation of device 100 and / or a set of components of device 100 (eg, memory 130 , storage component 140 , input component 150 , output component 160 , communication interface 170 ).

[0039] Device 100 may also include memory 130. In some embodiments, memory 130 may include random access memory (RAM), read-only memory (ROM), electrically erasable programmable ROM (EEPROM), flash memory, magnetic memory, optical memory, and / or another type of dynamic or static storage device. Memory 130 may store information and / or instructions for use (e.g., execution) by processor 120.

[0040] The storage component 140 of the device 100 may store information and / or computer-readable instructions and / or code related to the operation and use of the device 100. For example, the storage component 140 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optical disk, and / or a solid-state disk), a compact disk (CD), a digital versatile disk (DVD), a universal serial bus (USB) flash drive, a Personal Computer Memory Card International Association (PCMCIA) card, a floppy disk, a magnetic cassette, a magnetic tape, and / or other types of non-transitory computer-readable media and corresponding drives.

[0041] Device 100 may also include input component 150. Input component 150 may include one or more components that allow device 100 to receive information, such as via user input (e.g., a touch screen, keyboard, keypad, mouse, stylus, buttons, switches, microphone, camera, etc.). Alternatively or additionally, input component 150 may include a sensor for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, an actuator, etc.).

[0042] Output components 160 of device 100 may include one or more components (e.g., a display, a liquid crystal display (LCD), a light emitting diode (LED), an organic light emitting diode (OLED), a tactile feedback device, a speaker, etc.) that can provide output information from device 100.

[0043] The device 100 may also include a communication interface 170. The communication interface 170 may include a receiver component, a transmitter component, and / or a transceiver component. The communication interface 170 may enable the device 100 to establish a connection and / or transmit communication with other devices (e.g., a server, another device). Communication may be achieved via a wired connection, a wireless connection, or a combination of a wired connection and a wireless connection. The communication interface 170 may allow the device 100 to receive information from another device and / or provide information to another device. In some embodiments, the communication interface 170 may provide communication with another device via a network, such as a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a private network, a self-organizing network, an intranet, the Internet, a fiber-based network, a cellular network (e.g., a fifth generation (5G) network, a long-term evolution (LTE) network, a third generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a telephone network (e.g., a public switched telephone network (PSTN)), etc. and / or a combination of these or other network types. Alternatively or additionally, the communication interface 170 may provide communication with another device via a device-to-device (D2D) communication link, such as FlashLinQ, WiMedia, Bluetooth, ZigBee, Wi-Fi, LTE, 5G, etc. In other embodiments, the communication interface 170 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, etc.

[0044] The device 100 may be included in the core network 240 and perform one or more processes described herein. The device 100 may perform operations based on a processor 120 that executes computer-readable instructions and / or codes that may be stored by a non-transient computer-readable medium, such as a memory 130 and / or a storage component 140. The computer-readable medium may refer to a non-transient memory device. The memory device may include memory space within a single physical storage device and / or memory space spread across multiple physical storage devices.

[0045] The computer-readable instructions and / or code may be read into the memory 130 and / or storage component 140 from another computer-readable medium, or from another device, via the communication interface 170. The computer-readable instructions and / or code stored in the memory 130 and / or storage component 140, if or when executed by the processor 120, may cause the device 100 to perform one or more processes described herein.

[0046] Alternatively or additionally, hardwired circuitry may be used in place of, or in combination with, software instructions to perform one or more of the processes described herein.Thus, the embodiments described herein are not limited to any specific combination of hardware circuitry and software.

[0047] Figure 1 The number and arrangement of components shown are provided as examples. Figure 1 There may be additional components, fewer components, different components, or components that are arranged differently than those shown. Figure 1 Two or more components shown in may be implemented in a single component, or Figure 1 The single component shown in can be implemented as multiple distributed components. Additionally or alternatively, Figure 1 The collection of (one or more) components shown may perform the operations described as being performed by Figure 1 One or more functions performed by another component collection shown in .

[0048] Figure 2 is a diagram of an example O-RAN communication system 200 according to various embodiments of the present disclosure. The O-RAN communication system 200 may include one or more user equipment (UE) 210, one or more O-RAN radio units (O-RU) 220 (including one or more base stations 220a), one or more O-RAN distribution units (O-DU) 230, and one or more O-RAN centralized units (O-CU) 240.

[0049] Examples of UE 210 may include a cellular phone, a smart phone, a Session Initiation Protocol (SIP) phone, a laptop computer, a personal digital assistant (PDA), a satellite radio, a global positioning system (GPS), a multimedia device, a video device, a digital audio player (e.g., an MP3 player), a camera, a game console, a tablet computer, a smart device, a wearable device, a vehicle, an electric meter, a gas pump, large and small kitchen appliances, a healthcare device, an implant, a sensor / actuator, a display, or any other similarly functional device. Some of the one or more UEs 210 may be referred to as Internet of Things (IoT) devices (e.g., parking meters, gas pumps, toasters, vehicles, heart monitors, etc.). One or more UE 210 may also be referred to as a station, a mobile station, a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless device, a wireless communication device, a remote device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a user agent, a mobile agent, a client, or some other suitable terminology.

[0050] One or more base stations 220A of the O-RU 220 may communicate wirelessly with one or more UEs 210. Each of the one or more base stations 220A may provide communication coverage to one or more UEs 210 located within a geographic coverage area of ​​the base station 220A. Figure 2As shown in , the base station 220A may transmit one or more beamforming signals in one or more transmit directions to one or more UEs 210. The one or more UEs 210 may receive the beamforming signals from the base station 220A in one or more receive directions. Alternatively or additionally, the one or more UEs 210 may transmit beamforming signals in one or more transmit directions to the base station 220. The base station 220A may receive the beamforming signals from the one or more UEs 210 in one or more receive directions.

[0051] One or more base stations 220A may include macro cells (e.g., high-power cellular base stations) and / or small cells (e.g., low-power cellular base stations). Small cells may include femto cells, pico cells, and micro cells. Whether macro cells or large cells, base stations 220A may include and / or be referred to as access points (APs), evolved (or evolved universal terrestrial radio access network (E-UTRAN)) Node Bs (eNBs), next generation Node Bs (gNBs), or any other type of base station known to those of ordinary skill in the art.

[0052] In some embodiments, the O-RU 220 may be connected to the O-DU 230 via a FH link 224. The FH link may be a 25 Gbps line where user plane (U-plane) and control plane (C-plane) packets are downloaded from the O-DU 230 to the O-RU 220. In some embodiments, the O-DU 230 may be connected to the O-CU 240 via a midhaul link 234. The O-CU 240 may include an O-CU control plane (O-CU-CP) packet generator 240A, and an O-CU user plane (O-CU-UP) packet generator 240B. The C-plane and U-plane packets may originate from the O-CU-CP packet generator 240A, and the O-CU-UP packet generator 240B, respectively.

[0053] Figure 4A and 4B An example transmission time window is shown. Figure 4A and 4B , the transmission time window includes a length T1aMax. The transmission time window may include a transmission time interval (TTI) 410. The transmission time window may also include an FH processing interval 420, which represents the time for data (e.g., a packet) to travel from the O-DU to the O-RU via the FH link. The transmission time window may also include an O-RU processing time T1aMin 430, which represents the time for processing data received at the O-RU. At the expiration of time 430, the O-RU may send the received data over the network. For example, at the expiration of time 430, the O-RU may send the received data to one or more UEs 210 ( Figure 2) to send data. Therefore, if the O-DU sends a U-plane or C-plane packet at a timing such that the O-RU cannot process the received packet within the interval 430, the O-RU may not send the packet at a timing according to the O-RAN standard.

[0054] In some embodiments, TTI 410 may be divided into one or more symbol units, such as Figure 5 (A). For example, Figure 5 As shown in (A), the TTI is divided into symbol units Sym_0 to Sym_5. The size of each symbol unit can be the same. Packets can be spread over the symbol units to avoid FH peak throughput. Symbol units can be assigned packets with higher priorities first. For example, U-plane packets can have a higher priority than C-plane packets, and therefore, when C-plane packets are spread over symbol units, U-plane packets can be assigned to symbol units first. In another example, C-plane packets can have a higher priority than U-plane packets, and therefore, when U-plane packets are spread over symbol units, C-plane packets can be assigned to symbol units first.

[0055] In some embodiments, spreading of packets to avoid peak throughput may be performed according to the following steps. The following steps may accept one or more parameters as input, including FH MTU size, FH line rate, and sample IQ width.

[0056] Step 1: For each symbol unit, calculate the total user plane time to be reserved.

[0057] Equation (1): packetsize uplane =IQ width *BW*N sc *2*N layer *N carrier

[0058] In equation (1), IQ width corresponds to the user plane data size, BW corresponds to the bandwidth, and N SC Corresponding to the number of subcarriers, N layer corresponds to the number of layers, and N carrier Corresponds to the number of carriers.

[0059] Step 2: For each symbol unit, calculate the total control plane time available.

[0060] Equation (2):

[0061] Equation (3):

[0062] In equations (2) and (3), LineRate FH Corresponding to the line rate of the FH link, Duration slot corresponds to the total duration of the TTI, and NSym slot Corresponds to the number of symbol units per TTI.

[0063] Step 3: For each symbol unit, calculate the available control plane packet size.

[0064] Equation (4):

[0065] Figure 5 (B) illustrates an example allocation of packets in which U-plane packets have a higher priority than C-plane packets. Figure 5 The symbol unit illustrated in (B) may correspond to the symbol unit Sym_0. The U-plane packet U_0 may be first allocated to Sym_0. Since the size of U_0 is smaller than the size of Sym_0, the C-plane packet may be allocated to Sym_0 to use up the remaining bandwidth of Sym_0. For example, Figure 5 (C) illustrates the C-plane group C_0 assigned to Sym_0. Figure 5 As shown in (C), the size of the C-plane packet C_0 fills up the remaining bandwidth of Sym_0 (eg, C_0 packet size = packetsize cplane ).

[0066] Figure 6 (A) illustrates an example of allocating a packet to another symbol unit (such as symbol unit Sym_1). Figure 6 As shown in (A), Sym_1 is assigned U-plane packet U_1. Since the size of the packet of U_1 is smaller than that of Sym_1, another C-plane packet may be assigned to Sym_1. Figure 6 As shown in (A), Sym_1 is allocated C-plane packets C_1 to fill up the remaining bandwidth of Sym_1 (eg, C_0 packet size = packetsize cplane ).

[0067] Figure 6 (B) illustrates another example of assigning more than one C-plane grouping to a symbol unit. Figure 6 The symbol unit illustrated in (B) may correspond to the symbol unit Sym_0. Figure 6 As shown in (B), after the U-plane packet U_0 is allocated to Sym_0, the control plane packets C_0 and C_1 are allocated to Sym_0 to fill the remaining bandwidth of Sym_0 (e.g., C_0 packet size + C_1 packet size = packetsizecplane ).

[0068] Figure 6 (C) and 6(D) illustrate another example of dividing the C-plane grouping into variable-sized blocks. Figure 6 The symbol units in (C) and 6(D) may correspond to symbol units Sym_0 and Sym_1, respectively. After allocating U-plane packet U_0 to Sym_0, C-plane packet C_0 may be too large to be allocated to the remaining bandwidth of Sym_0 (e.g., C_0 packet size > packetsize cplane ). Therefore, the C-plane packet C_0 can be divided into variable-size blocks C_00 and C_01. The packet sizes of C_00 and C_01 can be different from each other. Figure 6 As shown in (C), after allocating the U-plane packet U_0 to Sym_0, C_00 may be allocated to Sym_0 to use the remaining bandwidth of Sym_0. Figure 6 In (D), after allocating U-plane packet U_1 to Sym_0, C_01 can be allocated to Sym_0. If C_01 does not fill up the remaining bandwidth of Sym_1 (e.g., C_01 packet size <packetsize cplane ), another C-plane packet (such as packet C_1) may also be allocated to Sym_1 to fill up the remaining bandwidth of Sym_1 (e.g., C_01 packet size + C_1 packet size = packetsize cplane ).

[0069] although Figure 5 (B) to 6 (D) illustrate an example where the U-plane has a higher priority than the C-plane packet, but in some embodiments, the C-plane packet has a higher priority than the U-plane packet. When the C-plane packet has a higher priority, the C-plane packet can be first assigned to the symbol unit, where the U-plane packet is spread over the symbol unit.

[0070] Figure 7 A flow chart of an example process 700 for assigning packets to symbol units is illustrated. In some embodiments, Figure 7 The process illustrated in FIG. 1 is performed at the O-DU 230. The process may start at step S702, where it is determined whether the TTI has expired. If the TTI has not expired, the process flow proceeds to step S704 to allocate the U-plane packet to the symbol unit. If the TTI has expired, then Figure 7 The process shown in the figure is completed.

[0071] In step S704, for example, Figure 5As shown in (B), the U-plane packet is allocated to the symbol unit. The process proceeds to step S706, where it is determined whether the U-plane packet size is less than the symbol unit size. For example, if the U-plane packet size is not less than the symbol unit size, the symbol unit has no other bandwidth available for allocating other packets, and the process proceeds from step S706 to step S712 to send the symbol unit on the FH link. The process proceeds from step S712 to step S702.

[0072] If the U-plane packet size is less than the symbol unit size, the process proceeds from step S706 to step S708 to determine whether a C-plane packet is available for transmission. If no C-plane packet is available for transmission, the process proceeds to step S712. If one or more C-plane packets are available for transmission, the process proceeds to step S710 to perform Figure 8 The C-plane packet allocation process is shown in FIG.

[0073] Figure 8 FIG. 5 illustrates an embodiment of the C-plane allocation process performed in step S710. In some embodiments, Figure 8 The process illustrated in FIG. 1 is performed at the O-DU 230. The process may start at step S802, where the C-plane packet size is determined. sent ) is equal to the remaining bandwidth of the symbol unit (packetsize Cplane If it is determined that the C-plane packet size is equal to the remaining bandwidth of the symbol unit, the process proceeds to step S804, where the C-plane packet is allocated to the symbol unit. Figure 5 As illustrated in (C), after the U-plane packet U_0 is allocated to the symbol unit, the C-plane packet C_0 is allocated to the symbol unit to fill the remaining bandwidth of the symbol unit.

[0074] If it is determined that the C-plane packet size is not equal to the remaining bandwidth of the symbol unit, the process proceeds from step S802 to step S806 to determine whether the C-plane packet size is less than the remaining bandwidth of the symbol unit. If it is determined that the C-plane packet size is less than the remaining bandwidth of the symbol unit, the process proceeds to step S806, where the C-plane packet is allocated to the symbol unit. After step S806, the symbol unit still has remaining bandwidth. Therefore, the process proceeds from step S806 to S802 to allocate another C-plane packet to the symbol unit. For example, if Figure 6 As illustrated in (B), at least two C-plane groups are allocated to a symbol unit.

[0075] If it is determined that the C-plane packet size is not less than the remaining bandwidth of the symbol unit, the process proceeds from step S806 to step S808, where the C-plane packet is divided into variable-sized blocks. The process proceeds to step S810 to allocate variable-sized blocks to the symbol unit. Figure 6 As shown in FIG. 6(C) and FIG. 6(D), the C-plane packet C_0 is divided into variable-size blocks C_00 and C_01. In step S810, the variable-size block C_00 may be allocated to the first symbol unit, wherein the variable-size block C_01 may be allocated to the first symbol unit in the step S811. Figure 7 In the allocation process illustrated in FIG, , is allocated to the second symbol unit.

[0076] although Figure 7 FIG. 8 illustrates an embodiment in which U-plane packets have a higher priority than C-plane packets, but in other embodiments, C-plane packets have a higher priority than U-plane packets.

[0077] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise forms disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations.

[0078] It is to be understood that the specific order or hierarchy of the blocks in the process / flowchart disclosed herein is a diagram of an example method. Based on design preferences, it is to be understood that the specific order or hierarchy of the blocks in the process / flowchart can be rearranged. In addition, some blocks can be combined or omitted. The attached method claims present the elements of each block in a sample order and are not meant to be limited to the specific order or hierarchy presented.

[0079] Some embodiments may involve systems, methods and / or computer-readable media at any possible level of technical detail integration. In addition, one or more of the above components described above may be implemented as instructions stored on a computer-readable medium and executable by at least one processor (and / or may include at least one processor). A computer-readable medium may include a computer-readable non-transient storage medium (or medium) having computer-readable program instructions thereon for causing a processor to perform operations.

[0080] Computer readable storage medium can be a tangible device that can retain and store instructions for use by instruction execution devices. Computer readable storage medium can be, for example, but not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer readable storage medium includes the following items: portable computer disk, hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanical encoding device (such as a convex structure in a punch card or groove, with instructions recorded thereon), and any suitable combination of the foregoing. As used herein, computer readable storage medium should not be interpreted as a transient signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated by a waveguide or other transmission medium (such as a light pulse passing through a fiber optic cable), or an electrical signal sent by a wire.

[0081] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or downloaded to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). The network may include copper transmission cables, transmission optical fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network, and forwards the computer-readable program instructions to be stored in a computer-readable storage medium in the corresponding computing / processing device.

[0082] The computer readable program code / instruction for performing the operation can be an assembly instruction, an instruction set architecture (ISA) instruction, a machine instruction, a machine-related instruction, a microcode, a firmware instruction, a state setting data, the configuration data of an integrated circuit system, or a source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​(such as Smalltalk, C++, etc.) and procedural programming languages ​​(such as "C" programming languages ​​or similar programming languages). The computer readable program instruction can be executed completely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or completely on a remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network (including a local area network (LAN) or a wide area network (WAN)), or can be connected to an external computer (for example, by using the Internet of an Internet service provider). In certain embodiments, the electronic circuit system including, for example, a programmable logic circuit system, a field programmable gate array (FPGA) or a programmable logic array (PLA) can be executed by utilizing the state information personalization electronic circuit system of the computer readable program instruction to perform computer readable program instructions, so as to perform various aspects or operations.

[0083] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device create components for implementing the functions / actions specified in the boxes or multiple boxes of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium (which can instruct a computer, a programmable data processing device, and / or other equipment to operate in a specific manner), so that the computer-readable storage medium in which the instructions are stored includes an article of manufacture, which includes instructions for implementing various aspects of the functions / actions specified in the boxes or multiple boxes of the flowchart and / or block diagram.

[0084] These computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, so that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / actions specified in one or more boxes of the flowchart and / or block diagram.

[0085] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality and operation of possible implementations of the system, method and computer-readable medium according to various embodiments. In this regard, each box in the flowchart or block diagram can represent a module, segment or instruction portion, which includes one or more executable instructions for implementing the specified (multiple) logical functions. The method, computer system and computer-readable medium may include additional boxes, fewer boxes, different boxes, or boxes arranged differently compared to the boxes depicted in the accompanying drawings. In some alternative implementations, the functions mentioned in the box may not occur in the order mentioned in the accompanying drawings. For example, in fact, the two boxes shown in succession can be executed concurrently or substantially concurrently, or these boxes can sometimes be executed in reverse order, depending on the functionality involved. It will also be mentioned that each box illustrated in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart can be implemented by a system based on special-purpose hardware, which performs a specified function or action, or performs a combination of special-purpose hardware and computer instructions.

[0086] It will be apparent that the systems and / or methods described herein can be implemented in various forms of hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods does not limit the implementation. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to specific software code - it should be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.

[0087] The above disclosure also covers the embodiments listed below:

[0088] (1) A method performed in an open random access network (O-RAN) distributed unit (O-DU), the O-DU being connected to an O-RAN radio unit (O-RU) via a fronthaul link, the method comprising: dividing a transmission time unit (TTI) into a plurality of symbol units, the TTI corresponding to an allowed time for data transmission from the O-DU to the O-RU via the fronthaul link; assigning a first packet of a first type to a first symbol unit from the plurality of symbol units; in response to determining that (i) a size of the first packet of the first type is smaller than a size of the first symbol unit, and (ii) a first packet of a second type associated with the first packet of the first type is available for transmission, assigning a first packet of the second type to the first symbol unit; and sending the first packet of the first type and the first symbol unit having the first packet of the second type to the O-RU via the fronthaul link.

[0089] (2) A method according to feature (1), wherein in response to determining that the size of the first packet of the second type is greater than the size of the first symbol unit minus the size of the first packet of the first type, the first packet of the second type is divided into at least a first variable size block and a second variable size block, and wherein the first variable size block is allocated to the first symbol unit.

[0090] (3) A method according to feature (1) or (2), wherein the second variable size block is allocated to a second symbol unit from the plurality of symbol units, and wherein the second symbol unit is allocated a second group of the first type.

[0091] (4) A method according to feature (3), wherein in response to determining that the size of the second packet of the first type plus the size of the second variable-sized block is less than the size of the second symbol unit, the second symbol unit is allocated the second packet of the second type.

[0092] (5) A method according to any one of features (1) to (4), wherein in response to determining that the size of the first group of the second type is smaller than the size of the first symbol unit minus the size of the first group of the first type, the first symbol unit is also assigned a second group of the second type.

[0093] (6) A method according to any one of features (1) to (5), wherein the first type of packets are user plane packets and the second type of packets are control plane packets.

[0094] (7) A method according to any one of features (1) to (6), wherein the first type of packets are control plane packets and the second type of packets are user plane packets.

[0095] (8) A network node connected to an open random access network (O-RAN) radio unit (O-RU) via a fronthaul link, the network node comprising: at least one memory configured to store computer program code; and at least one processor configured to access the at least one memory and operate as instructed by the computer program code, the computer program code comprising: a partitioning code configured to cause at least one of the at least one processors to: partition a transmission time unit (TTI) into a plurality of symbol units, the TTI corresponding to an allowed time for data transmission from the O-DU to the O-RU via the fronthaul link; a first allocation code configured to cause the at least one of the at least one processors: assigns a first packet of a first type to a first symbol unit from a plurality of symbol units; in response to determining that (i) a size of the first packet of the first type is smaller than a size of the first symbol unit, and (ii) a first packet of a second type associated with the first packet of the first type is available for transmission, a second assignment code is configured to cause at least one of the at least one processors: assigns a first packet of a second type to the first symbol unit; and a sending code is configured to cause at least one of the at least one processors: to send a first packet of the first type and a first symbol unit of the first packet of the second type to the O-RU via a fronthaul link.

[0096] (9) A network node according to feature (8), wherein in response to determining that the size of the first packet of the second type is greater than the size of the first symbol unit minus the size of the first packet of the first type, the first packet of the second type is divided into at least a first variable size block and a second variable size block, and wherein the first variable size block is allocated to the first symbol unit.

[0097] (10) A network node according to feature (9), wherein the second variable size block is allocated to a second symbol unit from the plurality of symbol units, and wherein the second symbol unit is allocated a second packet of the first type.

[0098] (11) A network node according to feature (10), wherein in response to determining that the size of the second packet of the first type plus the size of the second variable size block is less than the size of the second symbol unit, the second symbol unit is allocated the second packet of the second type.

[0099] (12) A network according to any one of features (8) to (11), wherein in response to determining that the size of the first packet of the second type is less than the size of the first symbol unit minus the size of the first packet of the first type, the first symbol unit is also assigned a second packet of the second type.

[0100] (13) A network node according to any one of features (8) to (12), wherein the first type of packets are user plane packets and the second type of packets are control plane packets.

[0101] (14) A network node according to any one of features (8) to (13), wherein the first type of packets are control plane packets and the second type of packets are user plane packets.

[0102] (15) A non-transitory computer-readable medium having instructions stored therein that, when executed by a processor in a network node, cause a process to perform a method, the network node being connected to an open random access network (O-RAN) radio unit (O-RU) via a fronthaul link, the method comprising: dividing a transmission time unit (TTI) into a plurality of symbol units, the TTI corresponding to an allowed time for data transmission from the O-DU to the O-RU via the fronthaul link; assigning a first packet of a first type to a first symbol unit from the plurality of symbol units; in response to determining that (i) a size of the first packet of the first type is less than a size of the first symbol unit, and (ii) a first packet of a second type associated with the first packet of the first type is available for transmission, assigning a first packet of the second type to the first symbol unit; and sending the first packet of the first type and the first symbol unit having the first packet of the second type to the O-RU via the fronthaul link.

[0103] (16) A non-transitory computer-readable medium according to feature (15), wherein in response to determining that the size of the first packet of the second type is greater than the size of the first symbol unit minus the size of the first packet of the first type, the first packet of the second type is divided into at least a first variable size block and a second variable size block, and wherein the first variable size block is allocated to the first symbol unit.

[0104] (17) A non-transitory computer readable medium according to feature (16), wherein the second variable size block is assigned to a second symbol unit from the plurality of symbol units, and wherein the second symbol unit is assigned a second group of the first type.

[0105] (18) A non-transitory computer-readable medium according to feature (17), wherein in response to determining that the size of the second packet of the first type plus the size of the second variable-sized block is less than the size of the second symbol unit, the second symbol unit is assigned the second packet of the second type.

[0106] (19) A non-transitory computer-readable medium according to any one of features (15) to (18), wherein in response to determining that the size of the first group of the second type is less than the size of the first symbol unit minus the size of the first group of the first type, the first symbol unit is also assigned a second group of the second type.

[0107] (20) A non-transitory computer-readable medium according to any one of features (15) to (19), wherein the first type of packets are user plane packets and the second type of packets are control plane packets.

Claims

1. A method performed in an open random access network (O-RAN) distributed unit (O-DU), the O-DU being connected to an O-RAN radio unit (O-RU) via a fronthaul link, the method comprising: dividing a transmission time unit (TTI) into a plurality of symbol units, the TTI corresponding to an allowed time for data transmission from the O-DU to the O-RU via the fronthaul link; assigning a first packet of a first type to a first symbol unit from the plurality of symbol units; in response to determining that (i) a size of the first packet of the first type is less than a size of the first symbol unit, and (ii) a first packet of a second type associated with the first packet of the first type is available for transmission, assigning the first packet of the second type to the first symbol unit; as well as The first packet of the first type and the first symbol unit of the first packet of the second type are sent to the O-RU via the fronthaul link.

2. The method of claim 1 , wherein in response to determining that the size of the first packet of the second type is greater than the size of the first symbol unit minus the size of the first packet of the first type, the first packet of the second type is divided into at least a first variable size block and a second variable size block, and wherein the first variable size block is allocated to the first symbol unit.

3. The method of claim 2, wherein the second variable-size block is assigned to a second symbol unit from the plurality of symbol units, and wherein the second symbol unit is assigned a second packet of the first type.

4. The method of claim 3, wherein in response to determining that the size of the second packet of the first type plus the size of the second variable-sized block is less than the size of the second symbol unit, the second symbol unit is allocated the second packet of the second type.

5. The method of claim 1, wherein in response to determining that the size of the first packet of the second type is less than the size of the first symbol unit minus the size of the first packet of the first type, the first symbol unit is also allocated a second packet of the second type.

6. The method of claim 1, wherein the first type of packets are user plane packets and the second type of packets are control plane packets.

7. The method of claim 1, wherein the packets of the first type are control plane packets and the packets of the second type are user plane packets.

8. A network node connected to an Open Random Access Network (O-RAN) Radio Unit (O-RU) via a fronthaul link, the network node comprising: at least one memory configured to store computer program code; as well as At least one processor is configured to access the at least one memory and operate as instructed by the computer program code, wherein the computer program code comprises: a partitioning code configured to cause at least one of the at least one processor to: partition a transmission time unit (TTI) into a plurality of symbol units, the TTI corresponding to an allowed time for data transmission from the O-DU to the O-RU via the fronthaul link, a first allocation code configured to cause at least one of the at least one processor to: allocate a first packet of a first type to a first symbol unit from the plurality of symbol units; In response to determining that (i) a size of the first packet of the first type is less than a size of the first symbol unit, and (ii) a first packet of a second type associated with the first packet of the first type is available for transmission, the second allocation code is configured to cause at least one of the at least one processor to: allocate the first packet of the second type to the first symbol unit; as well as The sending code is configured to cause at least one of the at least one processor to send the first packet of the first type and the first symbol unit of the first packet of the second type to the O-RU via the fronthaul link.

9. The network node of claim 8, wherein in response to determining that the size of the first packet of the second type is greater than the size of the first symbol unit minus the size of the first packet of the first type, the first packet of the second type is divided into at least a first variable size block and a second variable size block, and wherein the first variable size block is allocated to the first symbol unit.

10. The network node of claim 9, wherein the second variable size block is allocated to a second symbol unit from the plurality of symbol units, and wherein the second symbol unit is allocated a second packet of the first type.

11. The network node of claim 10, wherein the second symbol unit is allocated the second packet of the second type in response to determining that the size of the second packet of the first type plus the size of the second variable-sized block is less than the size of the second symbol unit.

12. The network of claim 8, wherein the first symbol unit is also assigned a second packet of the second type in response to determining that the size of the first packet of the second type is less than the size of the first symbol unit minus the size of the first packet of the first type.

13. The network node of claim 8, wherein the first type of packets are user plane packets and the second type of packets are control plane packets.

14. The network node of claim 8, wherein the packets of the first type are control plane packets and the packets of the second type are user plane packets.

15. A non-transitory computer readable medium having instructions stored therein, which when executed by a processor in a network node, causes the process to perform a method, the network node being connected to an open random access network (O-RAN) radio unit (O-RU) via a fronthaul link, the method comprising: dividing a transmission time unit (TTI) into a plurality of symbol units, the TTI corresponding to an allowed time for data transmission from the O-DU to the O-RU via the fronthaul link; assigning a first packet of a first type to a first symbol unit from the plurality of symbol units; in response to determining that (i) a size of the first packet of the first type is less than a size of the first symbol unit, and (ii) a first packet of a second type associated with the first packet of the first type is available for transmission, assigning the first packet of the second type to the first symbol unit; as well as The first packet of the first type and the first symbol unit of the first packet of the second type are sent to the O-RU via the fronthaul link.

16. The non-transitory computer-readable medium of claim 15, wherein in response to determining that the size of the first packet of the second type is greater than the size of the first symbol unit minus the size of the first packet of the first type, the first packet of the second type is divided into at least a first variable size block and a second variable size block, and wherein the first variable size block is allocated to the first symbol unit.

17. The non-transitory computer-readable medium of claim 16, wherein the second variable-sized block is assigned to a second symbol unit from the plurality of symbol units, and wherein the second symbol unit is assigned a second packet of the first type.

18. The non-transitory computer-readable medium of claim 17, wherein the second symbol unit is allocated the second packet of the second type in response to determining that the size of the second packet of the first type plus the size of the second variable-sized block is less than the size of the second symbol unit.

19. The non-transitory computer-readable medium of claim 15, wherein the first symbol unit is also assigned a second packet of the second type in response to determining that the size of the first packet of the second type is less than the size of the first symbol unit minus the size of the first packet of the first type.

20. The non-transitory computer-readable medium of claim 15, wherein the first type of packets are user plane packets and the second type of packets are control plane packets.