Data flow id allocation
By determining and allocating unused data flow IDs using extended Antenna-Carrier IDs, the method addresses conflicts in O-RAN networks, improving communication efficiency and performance in RF sharing and RF split scenarios.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- NOKIA SOLUTIONS (SHANGHAI) CO LTD
- Filing Date
- 2024-11-26
- Publication Date
- 2026-06-04
AI Technical Summary
Existing communication networks face conflicts in assigning unique data flow IDs, particularly in O-RAN architectures with RF sharing or RF split scenarios, leading to inefficiencies and performance issues.
A method for data flow ID allocation involving network devices that request and receive carrier configuration information to determine and allocate unused data flow IDs, specifically using extended Antenna-Carrier (eAxC) IDs to ensure uniqueness, thereby reducing conflicts and improving communication performance.
The proposed solution effectively reduces data flow ID conflicts by ensuring unique eAxC IDs are assigned, enhancing communication efficiency and performance in O-RAN networks with RF sharing or RF split configurations.
Smart Images

Figure CN2024134536_04062026_PF_FP_ABST
Abstract
Description
DATA FLOW ID ALLOCATIONFIELD
[0001] Various example embodiments relate to the field of communication, and in particular, to methods, devices, apparatuses and a computer readable storage medium for data flow ID allocation.BACKGROUND
[0002] A communication network can be seen as a facility that enables communications between two or more communication devices, or provides communication devices access to a data network. A mobile or wireless communication network is one example of a communication network.
[0003] Such communication networks operate in accordance with standards, such as those promulgated by 3GPP (Third Generation Partnership Project) O-RAN alliance or ETSI (European Telecommunications Standards Institute) . Examples of such standards include the so-called 5G (5th Generation) standard or other standards promulgated by 3GPP.SUMMARY
[0004] In general, example embodiments of the present disclosure provide a solution for data flow ID allocation, especially for conflict resolution for data flow ID allocation in the O-RAN communication network, so that conflict resolution may achieve assigning unique data flow ID. With this solution, the data flow ID conflict may be reduced by utilizing this conflict resolution.
[0005] In a first aspect, there is provided a first network device. The first network device comprises at least one processor and at least one memory storing instructions. The instructions, when executed by the at least one processor, cause the first network device at least to transmit, to a second network device, a request for carrier configuration information associated with the second network device. The first network device is further caused to receive, from the second network device, a reply including the carrier configuration information. The first network device is further caused to, based on determining, based on the carrier configuration information, a data flow ID which is unused on the second network device, allocate the unused data flow ID to a data flow of a carrier created by the first network device on the second network device.
[0006] In a second aspect, there is provided a second network device. The second network device comprises at least one processor and at least one memory storing instructions. The instructions, when executed by the at least one processor, cause the second network device at least to receive, from a first network device, a request for carrier configuration information associated with the second network device. The second network device is further caused to transmit, to the first network device, a reply including the carrier configuration information for determining a data flow ID which is unused on the second network device.
[0007] In a third aspect, there is provided a method implemented at a first network device. The method comprises transmitting, to a second network device, a request for carrier configuration information associated with the second network device. The method further comprises receiving, from the second network device, a reply including the carrier configuration information. The method further comprises based on determining, based on the carrier configuration information, a data flow ID which is unused on the second network device, allocating the unused data flow ID to a data flow of a carrier created by the first network device on the second network device.
[0008] In a fourth aspect, there is provided a method implemented at a second network device. The method comprises receiving, from a first network device, a request for carrier configuration information associated with the second network device. The method further comprises transmitting, to the first network device, a reply including the carrier configuration information for determining a data flow ID which is unused on the second network device
[0009] In a fifth aspect, there is provided an apparatus. The apparatus comprises means for transmitting, to a second network device, a request for carrier configuration information associated with the second network device. The apparatus further comprises means for receiving, from the second network device, a reply including the carrier configuration information. The apparatus further comprises means for based on determining, based on the carrier configuration information, a data flow ID which is unused on the second network device, allocating the unused data flow ID to a data flow of a carrier created by the first network device on the second network device.
[0010] In a sixth aspect, there is provided an apparatus. The apparatus comprises means for receiving, from a first network device, a request for carrier configuration information associated with the second network device. The apparatus further comprises means for transmitting, to the first network device, a reply including the carrier configuration information for determining a data flow identity (ID) which is unused on the second network device.
[0011] In a seventh aspect, there is provided a non-transitory computer readable medium comprising program instructions for causing an apparatus to perform at least the method according to any one of the above third and fourth aspects.
[0012] In an eighth aspect, there is provided a computer program comprising instructions, which, when executed by an apparatus, cause the apparatus to perform at least the method according to any one of the above third and fourth aspects.
[0013] In a ninth aspect, there is provided a first network device. The first network device comprises transmitting circuitry configured to transmit, to a second network device, a request for carrier configuration information associated with the second network device. The first network device further comprises receiving circuitry configured to receive, from the second network device, a reply including the carrier configuration information. The first network device further comprises allocating circuitry configured to, based on determining, based on the carrier configuration information, a data flow ID which is unused on the second network device, allocate the unused data flow ID to a data flow of a carrier created by the first network device on the second network device.
[0014] In a tenth aspect, there is provided a second network device. The second network device comprises receiving circuitry configured to receive, from a first network device, a request for carrier configuration information associated with the second network device. The second network device further comprises transmitting circuitry configured to transmit, to the first network device, a reply including the carrier configuration information for determining a data flow ID which is unused on the second network device.
[0015] It is to be understood that the summary section is not intended to identify key or essential features of embodiments of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure. Other features of the present disclosure will become easily comprehensible through the following description.BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Some example embodiments will now be described with reference to the accompanying drawings, in which:
[0017] FIG. 1A illustrates an example communication network in which embodiments of the present disclosure may be implemented;
[0018] FIG. 1B illustrates an example communication network in which embodiments of the present disclosure may be implemented;
[0019] FIG. 1C illustrates an example of bit allocation of the data flow ID;
[0020] FIG. 2 illustrates a flowchart illustrating an example of process for the data flow ID allocation according to some embodiments of the present disclosure;
[0021] FIG. 3 illustrates an example communication network applicable to the communication network illustrated in FIG. 1A and FIG. 1B in which embodiments of the present disclosure may be implemented;
[0022] FIG. 4 illustrates a flowchart illustrating an example of process for the data flow ID allocation according to some embodiments of the present disclosure;
[0023] FIG. 5 illustrates an example of bit allocation of the data flow ID;
[0024] FIG. 6 illustrates a flowchart of a method implemented at a first network device according to some other embodiments of the present disclosure;
[0025] FIG. 7 illustrates a flowchart of a method implemented at a second network device according to some other embodiments of the present disclosure
[0026] FIG. 8 illustrates a simplified block diagram of an apparatus that is suitable for implementing embodiments of the present disclosure; and
[0027] FIG. 9 illustrates a block diagram of an example computer readable medium in accordance with some embodiments of the present disclosure.
[0028] Throughout the drawings, the same or similar reference numerals represent the same or similar element.DETAILED DESCRIPTION
[0029] Principles of the present disclosure will now be described with reference to some example embodiments. It is to be understood that these embodiments are described only for the purpose of illustration and help those skilled in the art to understand and implement the present disclosure, without suggesting any limitation as to the scope of the disclosure. The disclosure described herein can be implemented in various manners other than the ones described below.
[0030] In the following description and claims, unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skills in the art to which this disclosure belongs.
[0031] References in the present disclosure to “one embodiment, ” “an embodiment, ” “an example embodiment, ” and the like indicate that the embodiment described may include a particular feature, structure, or characteristic, but it is not necessary that every embodiment includes the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
[0032] It shall be understood that although the terms “first” and “second” etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of example embodiments. As used herein, the term “and / or” includes any and all combinations of one or more of the listed terms.
[0033] The terminology used herein is for describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” , “comprising” , “has” , “having” , “includes” and / or “including” , when used herein, specify the presence of stated features, elements, and / or components etc., but do not preclude the presence or addition of one or more other features, elements, components and / or combinations thereof. As used herein, “at least one of the following: <a list of two or more elements>” and “at least one of <a list of two or more elements>” and similar wording, where the list of two or more elements are joined by “and” or “or” , mean at least any one of the elements, or at least any two or more of the elements, or at least all the elements.
[0034] As used in this application, the term “circuitry” may refer to one or more or all of the following: (a) hardware-only circuit implementations (such as implementations in only analog and / or digital circuitry) and (b) combinations of hardware circuits and software, such as (as applicable) : (i) a combination of analog and / or digital hardware circuit (s) with software / firmware and (ii) any portions of hardware processor (s) with software (including digital signal processor (s) ) , software, and memory (ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions) and (c) hardware circuit (s) and or processor (s) , such as a microprocessor (s) or a portion of a microprocessor (s) , that requires software (e.g., firmware) for operation, but the software may not be present when it is not needed for operation.
[0035] This definition of circuitry applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term circuitry also covers an implementation of merely a hardware circuit or processor (or multiple processors) or portion of a hardware circuit or processor and its (or their) accompanying software and / or firmware. The term circuitry also covers, for example and if applicable to the particular claim element, a baseband integrated circuit or processor integrated circuit for a mobile device or a similar integrated circuit in server, a cellular network device, or other computing or network device.
[0036] As used herein, the term “first network device” refers to a network device in a communication network as the O-RAN Distributed Unit (O-DU) . The O-DU may be a logical node hosting PDCP / RLC / MAC / High-PHY layers based on a lower layer functional split.
[0037] The term “second network device” refers to a network device in a communication network as the O-RAN Radio Unit (O-RU) . O-RAN Radio Unit may be a logical node hosting Low-PHY layer and RF processing based on a lower layer functional split. This is similar to 3GPP’s “TRP” or "RRH" but more specific in including the Low-PHY layer (FFT / iFFT, PRACH extraction) .
[0038] According to some embodiments of the present disclosure, there is provided a solution that allows the first network device to determine the unused data flow ID and utilize this unused data flow ID. In some embodiments, the data flow ID may be the extended Antenna-Carrier (eAxC) ID. The eAxC may define a data flow for a single antenna (or spatial stream) for a single carrier in a single sector. With this solution, the data flow ID conflict may be reduced, thus the performance of the communication may be improved. Principles and embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0039] In some O-RAN architecture (for example O-RAN Lower Layer Functional Split-7-2x based architecture) , the data of fast control plane, or user plane is carried over the fronthaul interface linking the O-DU with the O-RU. Thus, high layer application may need to uniquely associate different data flows (for example, spatial streams) each with a unique Control / User Plane endpoint address. This may be achieved in an O-RU using the eAxC ID, and in the O-DU using the eAxC ID in combination with transport-based endpoint ID to differentiate O-RUs. Thus, in RF sharing or RF spilt, assigning unique eAxC ID per shared O-RU from one or two O-DUs to avoid the eAxC ID conflict is very important, where eAxC ID is assigned by different Isolated eAxC ID Addressing Space (IEAS) without any communication.
[0040] There may be two cases in O-RAN communication network. One case is RF sharing in which the O-RU may connect with multiple O-DUs. Another case is RF split in which the O-RU may connect with multiple baseband processing boards in one O-DU. Some more details of the RF sharing and the RF split will be discussed with FIG. 1A and FIG. 1B respectively.
[0041] In case of RF sharing or RF split, due to eAxC ID may be still blindly assigned by different IEAS, eAxC ID conflict may still happen in some cases. This issue may need each shared O-RU operator (O-DU) may configure carriers respectively and independently, but in current O-RAN specification, the shared O-RU host perform partition eAxC ID and other resources. Some more details of the eAxC ID will be discussed with the FIG. 1C and FIG. 5.
[0042] FIG. 1A illustrates an example communication network 100A in which embodiments of the present disclosure may be implemented. Communication network 100A may be referred as the RF sharing communication network.
[0043] As shown in FIG. 1A, the communication network 100A may include a first network device 120-1 and a first network device 120-2, a second network device 130. The first network device 120-1 and the first network device 120-2 may comprise a baseband processing board and a system board.
[0044] In RF sharing communication network 100A, there is one link which carries M-plane respectively, and only one link is primary one. The first network device 120-1 and the first network device 120-2 may configure second network device 130 as shared O-RU operator as the shared O-RU host respectively. Thus, the shared O-RU host may be removed. The first network device 120-1 and the first network device 120-2 may configure carriers respectively and independently by utilizing the unique eAxC ID. The eAxC ID may be unique for these first network device 120-1 and first network device 120-2.
[0045] It is to be understood that the number of first network devices and second network devices is only for the purpose of illustration without suggesting any limitations. The communication network 100A may include any suitable number of second network devices and first network devices with any suitable number of baseband processing boards and system boards adapted for implementing embodiments of the present disclosure.
[0046] FIG. 1B illustrates an example communication network 100B in which embodiments of the present disclosure may be implemented. Communication network 100B may be referred as the RF split communication network.
[0047] As shown in FIG. 1B, the communication network 100B may include a first network device 120-1 (or a first network device 120-2 which is not shown in the FIG. 1B) , second network device 130. The first network device 120-1 may comprise multiple baseband processing boards 110-1 and 110-2, and a system board which is not shown in the FIG. 1B.
[0048] In the RF split communication network 100B, there is one link which carries M-plane. Then the first network device 120-1 (or the first network device 120-2 which is not shown in the FIG. 1B) may be a shared O-RU host. Thus, the shared O-RU host may be removed. The first network device 120-1 or the first network device 120-2 may configure carriers respectively and independently by utilizing a unique data flow ID, such as, eAxC ID. The eAxC ID may be unique for the first network device 120-1 or the first network device 120-2.
[0049] Communications in the communication network 100A or 100B may be implemented according to any proper communication protocol (s) , comprising, but not limited to, cellular communication protocols of the first generation (1G) , the second generation (2G) , the third generation (3G) , the fourth generation (4G) , the fifth generation (5G) and the sixth generation (6G) , O-RAN and on the like, wireless local network communication protocols such as Institute for Electrical and Electronics Engineers (IEEE) 802.11 and the like, and / or any other protocols currently known or to be developed in the future. Moreover, the communication may utilize any proper wireless communication technology, comprising but not limited to: Code Division Multiple Access (CDMA) , Frequency Division Multiple Access (FDMA) , Time Division Multiple Access (TDMA) , Frequency Division Duplex (FDD) , Time Division Duplex (TDD) , Multiple-Input Multiple-Output (MIMO) , Orthogonal Frequency Division Multiple (OFDM) , Discrete Fourier Transform spread OFDM (DFT-s-OFDM) and / or any other technologies currently known or to be developed in the future.
[0050] FIG. 1C illustrates an example of bit allocation 100C of the data flow ID. FIG. 1C gives an example for bit allocation. As shown, in this example, the eAxC ID may comprise four subfields or parameters. These four subfields or parameters may comprise a distributed unit (DU) port ID, a band / sector ID, a component carrier (CC) ID and a radio unit (RU) port ID.
[0051] The DU_Port_ID may be used to differentiate processing units at O-DU (e.g., different baseband cards) . It may be expected the O-DU may assign these bits, and the O-RU may attach the same value to the UL U-Plane messages carrying the same sectionId data. The BandSector_ID may be an aggregated cell identifier (distinguishes bands and sectors supported by the O-RU) . The CC_ID may distinguish CC supported by the O-RU. The RU_Port_ID may designate logical flows such as data layers or spatial streams, and logical flows such as separate numerologies (e.g. PRACH) or signaling channels requiring special antenna assignments such as SRS.
[0052] The assignment of the DU_port_ID, the BandSector_ID, the CC_ID, and the RU_Port_ID as part of the eAxC_ID is done solely by the O-DU via the M-plane. Furthermore, the O-RU may not need an explicit definition of any bit-level allocation within any of the four fields of the eAxC_ID.
[0053] In some implementations, the eAxC_ID bitwidth is predefined. For 3rd party vendor integration, for example, the bitwidth is defined in IOT profile. O-DU may enforce uniqueness of eAxC_ID inside the IEAS of the O-DU across all streams in the same direction (downlink or uplink) . The scope of IEAS may depend on hardware and software configuration.
[0054] The bitwidth of each of the above subfields or parameters is variable and set via M-Plane messaging. This is to allow flexibility given it can be expected that not all subfields or parameters may simultaneously need their maximum range for any given O-RU. It may be expected the M-Plane message may configure the O-RU and O-DU with the appropriate bitwidth of each of the four subfields or parameters.
[0055] In FIG. 1C, the DU_Port_ID may comprise bits 0-3, the BandSector_ID may comprise bits 4-7, the CC_ID may comprise bits 8-11, and the RU_Port_ID may comprise bits 12-15.
[0056] In some embodiments of this disclosure, there is proposed a data flow ID allocation solution to avoid the data flow ID conflict. More specifically, the first network device 120-1 and the first network device 120-2 (for example, two O-DUs) may configure the unique data flow ID respectively and independently. The data flow ID may comprise the eAxC ID. In addition, eAxC ID may be required identified by a unique CC_ID, or a unique combination of (for example, DU_Port_ID + CC_ID + BandSector_ID) in some communication network (for example, the RF sharing communication network 100A and the RF spilt communication network 100B) .
[0057] More specifically, in communication network 100A or communication network 100B, there are the first network device 120-1 and first network device 120-2. The first network device 120-1 may has own eAxC ID Addressing Space (IEAS) 1 and the first network device 120-2 has own IEAS 2 respectively. In communication network 100A or communication 100B, the first network device 120-1 and the first network device 120-2 may create low-level-tx-endpoints and low-level-rx-endpoints related to static-low-level-tx-endpoints and static-low-level-rx-endpoints respectively. The first network device 120-1 and the first network device 120-2 may need to assign unique eAxC ID in their own IEAS. For example, in IAES 1, there are available eAxC ID group pool identified by the group ID.
[0058] To reduce the conflict of the data flow ID (such as, an eAxC ID) , a solution is proposed to achieve assigning a unique data flow ID (such as, an eAxC ID) . FIG. 2 illustrates a flowchart illustrating an example of process 200 for the data flow ID allocation according to some embodiments of the present disclosure. For the purpose of discussion, the process 200 will be described with reference to FIG. 1A or FIG. 1B. The process 200 may involve the first network device 120-1 (also applicable to the first network device 120-2) , second network device 130 as illustrated in FIG. 1A or FIG. 1B. In some embodiments, the first network device may be the O-DU and the second network device may be the O-RU. It may be understood that the process 200 may be implemented in the RF sharing communication network 100A shown in the FIG. 1A and / or the RF split communication network 100B shown in the FIG. 1B.
[0059] From the perspective of the first network device 120-1 (also applicable to the first network device 120-2) , the first network device 120-1 may transmit 210 a request for carrier configuration information associated with the second network device 130 to the second network device 130.
[0060] In some embodiments, the request may be transmitted via a network configuration protocol (NETCONF) “get-config” remote procedure call (RPC) with “sudo” read privileges. In some examples, the “get-config” and the “sudo” may be the command of the network device.
[0061] In some embodiments, the carrier configuration information may comprise at least one list entry of carrier configuration in the second network device 130. The at least on list entry may comprise the information on the data flow ID (for example, the data flow ID may be eAxC ID) .
[0062] In some embodiments, this request may be transmitted before creating a low level transmitting endpoint or a low level receiving endpoint in a carrier creation procedure for creating the carrier by the first network device 120-1.
[0063] The second network device 130 may transmit 220 a reply including the carrier configuration information to the first network device 120-1.
[0064] In some embodiments, the reply may be received via a “rpc-reply” message defined in the NETCONF.
[0065] The first network device 120-1 may determine 230 a data flow ID that is unused on the second network device 130 based on the carrier configuration information.
[0066] In general, the first network device 120-1 can determine 230 the data flow ID in various ways. In some embodiments, the first network device 120-1 may determine 230 the data flow ID based on at least one group ID that is unused on the second network device. More details of this embodiment will be further described hereinafter with reference to FIG. 4 and FIG. 5.
[0067] In some embodiments, with reference to the FIG. 1C, the data flow ID may be the eAxC ID. The eAxC ID comprises four subfields or parameters. These four subfields or parameters comprises the first parameter related to DU port ID, the second parameter related to band / sector ID, the third parameter related to CC ID and the fourth parameter related to RU port ID. In some embodiments, the group ID may identify at least one data flow ID. The group ID may comprise the first parameter related to DU port ID, the second parameter related to band / sector ID, the third parameter related to CC ID, or any combination of these parameters. For example, the group ID may comprise the third parameter related to CC ID. As another example, the group ID may comprise a combination of the first parameter related to DU port ID, the second parameter related to BandSector_ID and the third parameter related to CC ID.
[0068] The first network device 120-1 may allocate 240 the unused data flow ID to a data flow of a carrier created by the first network device 120-1 on the second network device 130 based on the determined unused data flow ID.
[0069] In some embodiments, if the first network device 120-1 fails to determine and allocate the unused data flow ID, the first network device 120-1 may raise with error message to alarm there is no enough resource.
[0070] After 240, in some embodiments, the first network device 120-1 may transmit a data packet comprising the allocated data flow ID of the data flow of the created carrier to the second network device 130.
[0071] In some embodiments, the first network device 120-1 may refrain from storing the carrier configuration information received from the second network device 130. For example, the first network device 120-1 cannot store the at least one list entries due to the following carrier configuration will be repeated.
[0072] FIG. 3 illustrates an example communication network 300 applicable to the communication network illustrated in FIG. 1A and FIG. 1B in which embodiments of the present disclosure may be implemented.
[0073] Communication network 300 may be a new high level shared O-RU architecture. This new high level shared O-RU architecture may be utilized for the RF sharing communication network 100A illustrated in FIG. 1A and the RF spilt communication network 100B illustrated in FIG. 1B.
[0074] As shown in FIG. 3, the communication network 300 may include the shared resource operator #1 320-1 and the shared resource operator #2 320-2, and the shared O-RU 330. These two shared resource operator #1 320-1 and the shared resource operator #2 320-2 may be the first network device 120-1 (for example, a first O-DU) and the first network device 120-2 (for example, a second O-DU) respectively, and the shared O-RU 330 may be the second network device (O-RU) 130. In this communication network 300, the shared resource operator #1 320-1 and the shared resource operator #2 320-2 may configure carriers for the shared O-RU 330 respectively.
[0075] FIG. 4 illustrates a flowchart illustrating an example of process 400 for the data flow ID allocation according to some embodiments of the present disclosure. The process 400 may involve the shared resource operator (the O-DU) 420, NETCONF server (the O-RU) 430. The NETCONF server (the O-RU) 430 may be an example of the second device 130 as illustrated in FIG. 1A or FIG. 1B. In addition, the shared resource operator (the O-DU) 420 may be an example of the first network device 120-1 or 120-2 as illustrated in FIG. 1A or FIG. 1B.
[0076] As shown in FIG. 4, the shared resource operator 420 and the NETCONF server 430 may establish the NETCONF session at 401. As indicated at 402, the following operations 403-405 may be performed before the shared resource operator 420 creates a low level transmitting endpoint or a low level receiving endpoint in a carrier creation.
[0077] At 403, the shared resource operator 420 may transmit a request for carrier configuration information associated with the NETCONF server 430. In some embodiments, the carrier configuration information may comprise at least one list entry of carrier configuration in the NETCONF server 430. In some embodiments, the request may be transmitted via a NETCONF “get-config” RPC with “sudo” read privileges. Also, the request may be received before the shared resource operator 420 creates a low level transmitting endpoint or a low level receiving endpoint in a carrier creation procedure.
[0078] At 404, the NETCONF server 430 may transmit a reply including the carrier configuration information to the shared resource operator 420. In some embodiments, the reply may be received via an “rpc-reply” message defined in the NETCONF. For example, the shared resource operator 420 may determine a data flow ID that is unused on the NETCONF server 430, based on the carrier configuration information. In this event, at 405, the shared resource operator 420 can allocate the unused data flow ID to a data flow of a carrier created by the shared resource operator 420 on the NETCONF server 430.
[0079] More specifically, the shared resource operator 420 may retrieve carrier configuration from the NETCONF server 430 and traverse the at least one list entry of the carrier configuration. Then shared resource operator 420 may obtain the used eAxC IDs for existing cells in the NETCONF server 430. The shared resource operator 420 may select one unused eAxC ID for the specific cell and continue carrier configuration.
[0080] In some embodiments, in order to determine 230 the data flow ID, the shared resource operator 420 can determine at least one data flow ID that is used on the NETCONF server 430 based on the carrier configuration information. Then, the shared resource operator 420 may determine at least one group ID which is used on the NETCONF server 430 based on the at least one used data flow ID. For example, a group ID identifies a data flow ID group. Next, the shared resource operator 420 can determine the unused data flow ID based on the at least one used group ID.
[0081] In some embodiments, for the procedure to determine the at least one used group ID, the shared resource operator 420 may determine a bitmask for a used data flow ID. As mentioned above, the data flow ID comprise multiple parameters and the group ID that are utilized to identify the data flow ID may comprise at least one parameter among the multiple parameters. Thus, the shared resource operator 420 may determine the bitmask based on multiple bitwidths of the multiple parameters and the at least one parameter included in the used group ID. For example, regarding the multiple bitwidths of the multiple parameters, the DU_Port_ID may be 4 bits, the BandSector_ID may be 4 bits, the CC_ID may be 4 bits and the RU_PORT_ID may be 4 bits. Alternatively, the DU_Port_ID may be 2 bits, the BandSector_ID may be 3 bits, the CC_ID may be 3 bits and the RU_PORT_ID may be 8 bits. For example, the group ID may comprise the CC ID. In another example, the group ID may comprise a combination of the DU port ID, the band / sector ID and the CC ID.
[0082] The shared resource operator 420 may apply the bitmask to the used data flow ID and obtain this used group ID. For example, the shared resource operator 420 may perform the bitwise AND operation to the used data flow ID, and thus obtain the used group ID. The mapping relationship between the group ID with at least one data flow ID will be discussed with the FIG. 5.
[0083] In some embodiments, for the procedure to determine the unused data flow ID based on the at least one used group ID, the shared resource operator 420 may select a group ID which is unused on the NETCONF server 430 from a first group ID pool based on the at least one used group ID. The first group ID pool is configured to include group IDs unused by the shared resource operator 420. Then the shared resource operator 420 may select a data flow ID as the unused data flow ID from a data flow ID group having the unused group ID.
[0084] The shared resource operator 420 may remove the selected group ID from the first group ID pool and add the selected group ID into a second group ID pool configured to include group IDs used by the shared resource operator 420.
[0085] To better illustrate the process 400, it will be illustrated with FIG. 5. FIG. 5 illustrates an example of data flow ID allocation 500.
[0086] FIG. 5 gives an example for eAxC ID allocation 500 which may be based on the bit allocation 100C shown in FIG. 1C, where bit usage is predefined for polarization, Physical Random Access Channel (PRACH) and so on. Data flow ID allocation 500 will be used as an example for further details, to explain how to avoid eAxC ID conflict in communication network 100A or 100B.
[0087] In FIG. 5, bit allocation (DU_Port_ID may be 4 bits, BandSector_ID may be 4 bits, CC_ID may be 4 bits and RU_PORT_ID may be 4 bits) may describe conflict resolution for eAxC addressing in communication network 100A or 100B for FDD LTE / NR 4 transmitters and 4 receivers (4T4R) non-beamforming. The bitwidth of each of the subfields may be set via M-Plane messaging, and the bitwidth is variable. For example, for TDD beamforming, the bit allocation may be that the DU_Port_ID is allocated with 2 bits, the BandSector_ID is allocated with 3 bits, the CC_ID is allocated with 3 bits and the RU_PORT_ID is allocated with 8 bits.
[0088] Uniqueness of eAxC ID may be mandatory within the NETCONF server in the same direction (Tx or Rx) even across interface elements having relationship to low-level-rx-endpoint elements or low-level-tx-endpoint elements. In FIG. 5, ten usable bits are shaded. Bits 0, 2 and 3 in FIG. 5 may be used and PDxCH and PUxCH may assign the same eAxC_ID in both directions. Thus, 0x0, 0x1, 0x8, 0x9 in RU_PORT_ID subfield are used to identify 4 PDxCH streams and 4 PUxCH streams. In addition, 0x4, 0x5, 0xC, 0xD in RU_PORT_ID subfield are used to identify 4 PRACH streams. RU_PORT_ID may be predefined in other way, for example, for TDD beamforming, and it is up to O-DU vendors.
[0089] If a group ID is unique for one carrier, it means eAxC ID is unique when mapping between RU_PORT_ID and low-level-rx-endpoint elements / low-level-tx-endpoint element in the same O-DU (for example, RF spilt communication network in which the O-RU may be connected to multiple baseband processing boards in the first network device in one O-DU) or different O-DUs (for example, RF sharing communication network in which the O-RU may be connected with different O-DUs) . In some embodiments, the group ID may comprise the DU_Port_ID, the CC_ID, the band / sector ID (BandSector_ID) , or any combination of these IDs. In some embodiments, the eAxC ID pool may be identified by the group ID.
[0090] For example, below uses unique CC_ID per O-RU as O-RU requirement, for example CC_ID = 0 / 1 / 2 / 3. In this example, the group ID may comprise DU_Port_ID, CC_ID, and band / sector ID. The bitwidths of the U_Port_ID, the CC_ID, and the band / sector ID are all 4 bits.
[0091] Thus, the mapping relationship between the group ID with the eAxC ID pool may be show as follow. The bitwidths of the U_Port_ID, CC_ID, and band / sector ID are all 4 bits. These 12 bits are used to identify the eAxC ID pool. The bitmask may be 0xfff0.
[0092] The eAxC IDs in the eAxC ID pool may be 0x0010, 0x0011, 0x0018, 0x0019, 0x0020, 0x0021, 0x0028, 0x0029 and so on. Then performing the bitwise AND operation to the eAxC ID by utilizing the bitmask. The mapping relationship between the group ID with the eAxC ID of eAxC ID pool may be: 0x0010&0xfff0 = 0x0010 0x0011&0xfff0 = 0x0010 0x0018&0xfff0 = 0x0010 0x0019&0xfff0 = 0x0010 0x0020&0xfff0 = 0x0020 0x0021&0xfff0 = 0x0020 0x0028&0xfff0 = 0x0020 0x0029&0xfff0 = 0x0020
[0093] In some examples, the shared O-RU operator A may configure its own carrier on the O-RU respectively. The O-RU may be the NETCONF server 430 as illustrated in FIG. 4. Thus, the IAES 1 pool (unused eAxC ID) corresponding to the shared O-RU operator A after initialized for CC_ID 0 / 1 / 2 / 3 accordingly:
[0094] Another shared O-RU operator (referred as the shared O-RU operator B) may configure its own carrier on O-RU respectively. The IAES 2 pool (unused eAxC ID) corresponding to the shared O-RU operator B after initialized for CC_ID 0 / 1 / 2 / 3 accordingly:
[0095] After that, there may be two case to create new carrier 2 (cell 2) . In case 1, the shared O-RU operator A may create a new carrier 2. In case 2, the shared O-RU operator B may create new carrier 2.
[0096] For case 1, with reference to the operation 405, the shared O-RU operator A may traverse the list entries comprised in the carrier configuration to get the used eAxC group IDs. In this case, the shared O-RU operator A may be the shared resource operator 420 shown in the FIG. 4. In some embodiments, the list entries may be the existing list entries of low-level-tx-endpoints and low-level-rx-endpoints in O-RU.
[0097] It may be supposed that there is carrier 1 (cell 1) which has been configured on the O-RU by the shared O-RU operator A (IEAS 1) for its low-level-tx-endpoints and low-level-rx-endpoints for cell 1 with group ID 0x0000 (CC_ID = 0) .
[0098] For example, the shared O-RU operator A may determine the eAxC ID 0x0001 for Tx and corresponding eAxC ID for Rx that they had been used on the O-RU. Then the shared O-RU operator A may determine the group ID that it had been used on the O-RU by utilizing the eAxC ID 0x0001. More specifically, 0x0001&0xfff0 = 0x0000. Thus, the group ID 0x0000 may be determined as the group ID which had been used on the O-RU. The shared O-RU operator A may mark it as used and move it to a used group ID pool. The group IDs 0x0000 and the eAxC IDs may be shown as follow:
[0099] As another example, the shared O-RU operator A may determine the eAxC ID 0x0001 and 0x0012 for Tx and corresponding eAxC ID for Rx that they had been used on the O-RU. Then the shared O-RU operator A may determine the group ID that it had been used on the O-RU by utilizing the eAxC ID 0x0001 and 0x0012. More specifically, 0x0001&0xfff0 = 0x0000 and 0x0012&0xfff0 = 0x0010. Thus, the group ID 0x0000 and 0x0010 may be determined as the group ID which had been used on the O-RU.
[0100] In some examples, if only the group ID 0x0000 may be determined as the group ID which had been used on the O-RU, the shared O-RU operator A may select a group ID from the first group ID pool comprising 0x0010, 0x0020 and 0x0030. The shared O-RU operator A may select group ID 0x0010 which may not conflict with 0x0000. The group ID 0x0010 may be allocated for carrier 2. It can be understood that the shared O-RU operator A may also select group ID 0x0020 or 0x0030 which may not conflict with 0x0000.
[0101] More specifically, the shared O-RU operator A may select a data flow ID from a data flow ID group having the unused group ID. For example, the shared O-RU operator A may select the data flow ID 0x0018 for Tx and the corresponding data flow ID for Rx having the group ID 0x0010.
[0102] The shared O-RU operator A then may remove the group ID 0x0010 from the unused group ID pool (0x0010, 0x0020, 0x0030) and add the group ID 0x0010 to the group ID pool configured to include group ID (0x0000) used by the shared O-RU operator A.
[0103] The shared O-RU operator A may continue carrier configuration. After carrier configuration, for shared O-RU operator A, the used group IDs and eAxC IDs may be shown as follow:
[0104] The unused group IDs and eAxC IDs may be shown as follow:
[0105] For the shared O-RU operator B, no used group ID is in used group ID pool yet, and the unused group IDs and eAxC IDs may be shown as follow:
[0106] For case 2, with reference to the operation 405, the shared O-RU operator B may traverse the list entries comprised in the carrier configuration to get the used eAxC group IDs. In this case, the shared O-RU operator B may be the shared resource operator 420 shown in the FIG. 4. In some embodiments, the list entries may be the existing list entries of low-level-tx-endpoints and low-level-rx-endpoints in O-RU defined in O-RAN specification.
[0107] As mentioned, it may be supposed that there is carrier 1 (cell 1) which has been configured on the O-RU by the shared O-RU operator A (IEAS 1) for its low-level-tx-endpoints and low-level-rx-endpoints for cell 1 with group ID 0x0000 (CC_ID = 0) . The group IDs 0x0000 and the eAxC IDs may be shown as follow:
[0108] For example, the shared O-RU operator B may determine the eAxC ID 0x0001 for Tx and corresponding eAxC ID for Rx that they had been used on the O-RU. Then the shared O-RU operator B may determine the group ID that it had been used on the O-RU by utilizing the eAxC ID 0x0001.
[0109] Thus the group ID 0x0000 is duplicated or conflicted. The shared O-RU operator B may select a group ID from the first group ID pool comprising 0x0010, 0x0020 and 0x0030. The shared O-RU operator B may select group ID 0x0010 which may not conflict with 0x0000. The group ID 0x0010 may be allocated for carrier 2. It may be understood that the shared O-RU operator B may also select group ID 0x0020 or 0x0030 which may not conflict with 0x0000.
[0110] In some examples, after selecting group ID 0x0010, the shared O-RU operator B may continue carrier configuration. After carrier configuration, for the shared O-RU operator B, the used group IDs and eAxC IDs may be shown as follow:
[0111] The unused group IDs and eAxC IDs may be shown as follow:
[0112] For the shared O-RU operator A, the used group IDs and eAxC IDs may be shown as follow:
[0113] For the shared O-RU operator A, the unused group IDs and eAxC IDs may be shown as follow:
[0114] In some examples, the group ID may comprise DU_Port_ID, CC_ID, and band / sector ID. The bitwidths of the RU_Port_ID, CC_ID, and band / sector ID may be different from the bit allocation 500 shown in the FIG. 5. This bit allocation may be that the RU_PORT_ID includes bits 0-7, the CC_ID includes bits 8-10, the BandSector_ID includes bits 11-13, and the DU_Port_ID includes bits 14-15. Thus the bitmask may be 0xff00. The mapping relationship between the group ID with the eAxC ID of eAxC ID pool may be: 0x0010&0xff00 = 0x0000 0x0011&0xff00 = 0x0000 0x0018&0xff00 = 0x0000 0x0019&0xff00 = 0x0000 0x0020&0xff00 = 0x0000 0x0021&0xff00 = 0x0000 0x0028&0xff00 = 0x0000 0x0029&0xff00 =0x0000
[0115] In some examples, the group ID may comprise CC_ID. In addition, the bitwidths of the RU_Port_ID, CC_ID, and band / sector ID may be same as the bit allocation 500 shown in the FIG. 5. This bit allocation may be that the RU_PORT_ID includes bits 0-3, the CC_ID includes bits 4-7, the BandSector_ID includes bits 8-11, and the DU_Port_ID includes bits 12-15. Thus the group ID may be represented by the CC_ID and the bitmask may be 0x00f0. The mapping relationship between the group ID with the eAxC ID of eAxC ID pool may be: 0x0010&0x00f0= 0x0010 0x0011&0x00f0 = 0x0010 0x0018&0x00f0 = 0x0010 0x0019&0x00f0 = 0x0010 0x0020&0x00f0 = 0x0020 0x0021&0x00f0 = 0x0020 0x0028&0x00f0 = 0x0020 0x0029&0x00f0 = 0x0020
[0116] In some examples, the group ID may comprise CC_ID. In addition, the bitwidths of the RU_Port_ID, CC_ID, and band / sector ID may be different from the bit allocation 500 shown in the FIG. 5. This bit allocation may be that the RU_PORT_ID includes bits 0-7, the CC_ID includes bits 8-10, the BandSector_ID includes bits 11-13, and the DU_Port_ID includes bits 14-15. Thus the group ID may be represented by the CC_ID and the bitmask may be 0X0700. The mapping relationship between the group ID with the eAxC ID of eAxC ID pool may be: 0x0010&0x0700 = 0x0000 0x0011&0x0700 = 0x0000 0x0018&0x0700 = 0x0000 0x0019&0x0700 = 0x0000 0x0020&0x0700 = 0x0000 0x0021&0x0700 = 0x0000 0x0028&0x0700 = 0x0000 0x0029&0x0700 = 0x0000
[0117] At 406, the shared resource operator 420 may transmit a data packet of the data flow of the created carrier with the allocated data flow ID to the NETCONF server 430. For example, the shared resource operator 420 may configure the low-level-tx-endpoints or low-level-rx-endpoints with the allocated eAxC IDs.
[0118] At 407, the shared resource operator 420 may refrain from storing the carrier configuration information received from the NETCONF server 430. For example, due to traversing is repeated in the following carrier configuration, the shared resource operator 420 may not know the group IDs which are configured by other O-DU (for example, the shared resource operator B) , and the shared resource operator 420 may not store the used group ID.
[0119] In some embodiments, if the shared resource operator 420 fails to determine a data flow ID (eAxC ID) which is unused on the NETCONF server 430, the shared resource operator 420 may generate an error message. For example, the shared resource operator 420 may raise a fault.
[0120] FIG. 6 shows a flowchart of an example method 600 implemented at a first network device (the first network device 120-1 or the first network device 120-2) in accordance with some embodiments of the present disclosure. For the purpose of discussion, the method 600 will be described from the perspective of the first network device (the first network device 120-1 or the first network device 120-2) with reference to FIG. 1A or FIG. 1B.
[0121] At block 610, the first network device may transmit, to a second network device, a request for carrier configuration information associated with the second network device. At block 620, the first network device may receive, from the second network device, a reply including the carrier configuration information. At block 630, based on determining, based on the carrier configuration information, a data flow ID which is unused on the second network device, the first network device may allocate the unused data flow ID to a data flow of a carrier created by the first network device on the second network device
[0122] In some embodiments, the first network device may determine the unused data flow ID by: determining, based on the carrier configuration information, at least one data flow ID which is used on the second network device; determining, based on the at least one used data flow ID, at least one group ID which is used on the second network device, wherein a group ID identifies a data flow ID group; and determining the unused data flow ID based on the at least one used group ID.
[0123] In some embodiments, the first network device may determine the unused data flow ID based on the at least one used group ID by: selecting, from a first group ID pool, based on the at least one used group ID, a group ID which is unused on the second network device, wherein the first group ID pool is configured to include group IDs unused by the first network device; and selecting, from a data flow ID group having the unused group ID, a data flow ID as the unused data flow ID.
[0124] In some embodiments, the first network device may further remove the selected group ID from the first group ID pool; and add the selected group ID into a second group ID pool configured to include group IDs used by the first network device.
[0125] In some embodiments, the first network device may determine the at least one group ID by: determining a bitmask for a used data flow ID; and determining a used group ID by applying the bitmask to the used data flow ID.
[0126] In some embodiments, the used data flow ID comprises multiple parameters and the used group ID comprises at least one parameter among the multiple parameters.
[0127] In some embodiments, the bitmask is determined based on (i) multiple bitwidths of the multiple parameters and (ii) the at least one parameter included in the used group ID.
[0128] In some embodiments, the used data flow ID comprises a first parameter related to a distributed unit (DU) port ID, a second parameter related to a band / sector ID, a third parameter related to a component carrier (CC) ID, and a fourth parameter related to a radio unit (RU) port ID; and the used group ID comprises (i) the first parameter, the second parameter, and the third parameter, (ii) the first parameter and the third parameter, or (iii) the third parameter.
[0129] In some embodiments, at least one of the following: the request is transmitted via a network configuration protocol (NETCONF) “get-config” remote procedure call (RPC) with “sudo” read privileges; or the reply is received via a “rpc-reply” message defined in the NETCONF.
[0130] In some embodiments, the carrier configuration information comprises at least one list entry of carrier configuration in the second network device.
[0131] In some embodiments, the first network device may further transmit, to the second network device, a data packet of the data flow of the created carrier, wherein the data packet includes the allocated data flow ID.
[0132] In some embodiments, the first network device may further refrain from storing the carrier configuration information received from the second network device.
[0133] In some embodiments, the first network device may further, based on failing to determine a data flow ID which is unused on the second network device, generate an error message
[0134] In some embodiments, the second network device is connected to the first network device and at least one other first network device; or the second network device is connected to multiple baseband processing boards in the first network device.
[0135] In some embodiments, at least one of the following: the first network device comprises an O-DU; the second network device comprises an O-RU; or the data flow ID comprises an eAxC ID.
[0136] FIG. 7 shows a flowchart of an example method 700 implemented at a second network device (the second network device 130) in accordance with some embodiments of the present disclosure. For the purpose of discussion, the method 700 will be described from the perspective of the second network device (the second network device 130) with reference to FIG. 1A or FIG. 1B.
[0137] At block 710, the second network device may receive, from a first network device, a request for carrier configuration information associated with the second network device. At block 720, the second network device may transmit, to the first network device, a reply including the carrier configuration information for determining a data flow ID which is unused on the second network device.
[0138] In some embodiments, the request is received before the first network device creates a low level transmitting endpoint or a low level receiving endpoint in a carrier creation procedure.
[0139] In some embodiments, at least one of the following: the request is received via a NETCONF “get-config” RPC with “sudo” read privileges; or the reply is transmitted via a “rpc-reply” message defined in the NETCONF.
[0140] In some embodiments, the carrier configuration information comprises at least one list entry of carrier configuration in the second network device.
[0141] In some embodiments, the second network device may further receive, from the first network device, a data packet of a data flow of a carrier, wherein the data packet includes the data flow ID determined based on the carrier configuration information.
[0142] In some embodiments, the second network device is connected to the first network device and at least one other first network device; or the second network device is connected to multiple baseband processing boards in the first network device.
[0143] In some embodiments, at least one of the following: the first network device comprises an O-DU; the second network device comprises an O-RU; or the data flow ID comprises an extended antenna-carrier (eAxC) ID.
[0144] In some embodiments, an apparatus capable of performing any of the method 600 (for example, the first network device 120-1 or 120-2) may comprise means for performing the respective steps of the method 600. The means may be implemented in any suitable form. For example, the means may be implemented in a circuitry or software module.
[0145] In some embodiments, the apparatus comprises means for transmitting, to a second network device, a request for carrier configuration information associated with the second network device. The apparatus comprises means for receiving, from the second network device, a reply including the carrier configuration information. The apparatus comprises means for based on determining, based on the carrier configuration information, a data flow ID which is unused on the second network device, allocating the unused data flow ID to a data flow of a carrier created by the first network device on the second network device.
[0146] In some embodiments, the means for determining the unused data flow ID comprise means for: determining, based on the carrier configuration information, at least one data flow ID which is used on the second network device; determining, based on the at least one used data flow ID, at least one group ID which is used on the second network device, wherein a group ID identifies a data flow ID group; and determining the unused data flow ID based on the at least one used group ID.
[0147] In some embodiments, the means for determining the unused data flow ID based on the at least one used group ID comprise means for: selecting, from a first group ID pool, based on the at least one used group ID, a group ID which is unused on the second network device, wherein the first group ID pool is configured to include group IDs unused by the first network device; and selecting, from a data flow ID group having the unused group ID, a data flow ID as the unused data flow ID.
[0148] In some embodiments, the apparatus may further comprise means for: removing the selected group ID from the first group ID pool; and adding the selected group ID into a second group ID pool configured to include group IDs used by the first network device.
[0149] In some embodiments, the means for determining the at least one group ID comprise means for: determining a bitmask for a used data flow ID; and determining a used group ID by applying the bitmask to the used data flow ID.
[0150] In some embodiments, the used data flow ID comprises multiple parameters and the used group ID comprises at least one parameter among the multiple parameters.
[0151] In some embodiments, the bitmask is determined based on (i) multiple bitwidths of the multiple parameters and (ii) the at least one parameter included in the used group ID.
[0152] In some embodiments, the used data flow ID comprises a first parameter related to a distributed unit (DU) port ID, a second parameter related to a band / sector ID, a third parameter related to a component carrier (CC) ID, and a fourth parameter related to a radio unit (RU) port ID; the used group ID comprises (i) the first parameter, the second parameter, and the third parameter, (ii) the first parameter and the third parameter, or (iii) the third parameter.
[0153] In some embodiments, the request is transmitted before creating a low level transmitting endpoint or a low level receiving endpoint in a carrier creation procedure for creating the carrier.
[0154] In some embodiments, at least one of the following: the request is transmitted via a network configuration protocol (NETCONF) “get-config” remote procedure call (RPC) with “sudo” read privileges; or the reply is received via a “rpc-reply” message defined in the NETCONF.
[0155] In some embodiments, the carrier configuration information comprises at least one list entry of carrier configuration in the second network device.
[0156] In some embodiments, the apparatus may further comprise means for transmitting, to the second network device, a data packet of the data flow of the created carrier, wherein the data packet includes the allocated data flow ID.
[0157] In some embodiments, the apparatus may further comprise means for refraining from storing the carrier configuration information received from the second network device.
[0158] In some embodiments, the apparatus may further comprise means for based on failing to determine a data flow ID which is unused on the second network device, generating an error message.
[0159] In some embodiments, the second network device is connected to the first network device and at least one other first network device; or the second network device is connected to multiple baseband processing boards in the first network device.
[0160] In some embodiments, the first network device comprises an O-DU; the second network device comprises an O-RU; or the data flow ID comprises an eAxC ID.
[0161] In some embodiments, the apparatus further comprises means for performing other steps in some embodiments of the method 600. In some embodiments, the means comprises at least one processor and at least one memory including computer program code, the at least one memory and computer program code configured to, with the at least one processor, cause the performance of the apparatus.
[0162] In some embodiments, an apparatus capable of performing any of the method 700 (for example, the second network device 130) may comprise means for performing the respective steps of the method 700. The means may be implemented in any suitable form. For example, the means may be implemented in a circuitry or software module.
[0163] In some embodiments, the apparatus comprises means for receiving, from a first network device, a request for carrier configuration information associated with the second network device. The apparatus comprises means for transmitting, to the first network device, a reply including the carrier configuration information for determining a data flow ID which is unused on the second network device.
[0164] In some embodiments, the request is received before the first network device creates a low level transmitting endpoint or a low level receiving endpoint in a carrier creation procedure.
[0165] In some embodiments, at least one of the following: the request is received via a NETCONF “get-config” RPC with “sudo” read privileges; or the reply is transmitted via a “rpc-reply” message defined in the NETCONF.
[0166] In some embodiments, the carrier configuration information comprises at least one list entry of carrier configuration in the second network device.
[0167] In some embodiments, the apparatus further comprises means for receiving, from the first network device, a data packet of a data flow of a carrier, wherein the data packet includes the data flow ID determined based on the carrier configuration information.
[0168] In some embodiments, the second network device is connected to the first network device and at least one other first network device; or the second network device is connected to multiple baseband processing boards in the first network device.
[0169] In some embodiments, at least one of the following: the first network device comprises an O-DU; the second network device comprises an O-RU; or the data flow ID comprises an eAxC ID.
[0170] In some embodiments, the apparatus further comprises means for performing other steps in some embodiments of the method 700. In some embodiments, the means comprises at least one processor and at least one memory including computer program code, the at least one memory and computer program code configured to, with the at least one processor, cause the performance of the apparatus.
[0171] FIG. 8 is a simplified block diagram of a device 800 that is suitable for implementing embodiments of the present disclosure. The device 800 may be provided to implement the communication device, for example the first network device 120-1 or the first network device 120-2, the second network device 130 as shown in FIG. 1A or FIG. 1B. As shown, the device 800 includes one or more processors 810, one or more memories 820 coupled to the processor 810, and one or more communication modules 840 coupled to the processor 810.
[0172] The communication module 840 is for bidirectional communications. The communication module 840 has at least one antenna to facilitate communication. The communication interface may represent any interface that is necessary for communication with other network elements.
[0173] The processor 810 may be of any type suitable to the local technical network and may include one or more of the following: general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on multicore processor architecture, as non-limiting examples. The device 800 may have multiple processors, such as an application specific integrated circuit chip that is slaved in time to a clock which synchronizes the main processor.
[0174] The memory 820 may include one or more non-volatile memories and one or more volatile memories. Examples of the non-volatile memories include, but are not limited to, a Read Only Memory (ROM) 824, an electrically programmable read only memory (EPROM) , a flash memory, a hard disk, a compact disc (CD) , a digital video disk (DVD) , and other magnetic storage and / or optical storage. Examples of the volatile memories include, but are not limited to, a random access memory (RAM) 822 and other volatile memories that will not last in the power-down duration.
[0175] A computer program 830 includes computer executable instructions that are executed by the associated processor 810. The program 830 may be stored in the ROM 824. The processor 810 may perform any suitable actions and processing by loading the program 830 into the RAM 822.
[0176] The embodiments of the present disclosure may be implemented by means of the program 830 so that the device 800 may perform any process of the disclosure as discussed with reference to FIGS. 2 and 4. The embodiments of the present disclosure may also be implemented by hardware or by a combination of software and hardware.
[0177] In some embodiments, the program 830 may be tangibly contained in a computer readable medium which may be included in the device 800 (such as in the memory 820) or other storage devices that are accessible by the device 800. The device 800 may load the program 830 from the computer readable medium to the RAM 822 for execution. The computer readable medium may include any types of tangible non-volatile storage, such as ROM, EPROM, a flash memory, a hard disk, CD, DVD, and the like.
[0178] FIG. 9 shows an example of the computer readable medium 900 in form of CD or DVD. The computer readable medium has the program 830 stored thereon.
[0179] Generally, various embodiments of the present disclosure may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device. While various aspects of embodiments of the present disclosure are illustrated and described as block diagrams, flowcharts, or using some other pictorial representations, it is to be understood that the block, apparatus, system, technique or method described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
[0180] The present disclosure also provides at least one computer program product tangibly stored on a non-transitory computer readable storage medium. The computer program product includes computer-executable instructions, such as those included in program modules, being executed in a device on a target real or virtual processor, to carry out the methods 500-600 as described above with reference to FIGS. 5-6. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, or the like that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or split between program modules as desired in various embodiments. Machine-executable instructions for program modules may be executed within a local or distributed device. In a distributed device, program modules may be located in both local and remote storage media.
[0181] Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may execute entirely on a machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
[0182] In the context of the present disclosure, the computer program codes or related data may be carried by any suitable carrier to enable the device, apparatus or processor to perform various processes and operations as described above. Examples of the carrier include a signal, computer readable medium, and the like.
[0183] The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the computer readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , an optical fiber, a portable compact disc read-only memory (CD-ROM) , an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. The term “non-transitory, ” as used herein, is a limitation of the medium itself (i.e., tangible, not a signal) as opposed to a limitation on data storage persistency (e.g., RAM vs. ROM) .
[0184] Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features that may be specific to particular embodiments. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable sub-combination.
[0185] Although the present disclosure has been described in languages specific to structural features and / or methodological acts, it is to be understood that the present disclosure defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims
1.A first network device comprising:at least one processor; andat least one memory storing instructions that, when executed by the at least one processor, cause the first network device at least to:transmit, to a second network device, a request for carrier configuration information associated with the second network device;receive, from the second network device, a reply including the carrier configuration information; andbased on determining, based on the carrier configuration information, a data flow identity (ID) which is unused on the second network device, allocate the unused data flow ID to a data flow of a carrier created by the first network device on the second network device.2.The first network device of claim 1, wherein the first network device is caused to determine the unused data flow ID by:determining, based on the carrier configuration information, at least one data flow ID which is used on the second network device;determining, based on the at least one used data flow ID, at least one group ID which is used on the second network device, wherein a group ID identifies a data flow ID group; anddetermining the unused data flow ID based on the at least one used group ID.3.The first network device of claim 2, wherein the first network device is caused to determine the unused data flow ID based on the at least one used group ID by:selecting, from a first group ID pool, based on the at least one used group ID, a group ID which is unused on the second network device, wherein the first group ID pool is configured to include group IDs unused by the first network device; andselecting, from a data flow ID group having the unused group ID, a data flow ID as the unused data flow ID.4.The first network device of claim 3, wherein the first network device is further caused to:remove the selected group ID from the first group ID pool; andadd the selected group ID into a second group ID pool configured to include group IDs used by the first network device.5.The first network device of any of claims 2-4, wherein the first network device is caused to determine the at least one group ID by:determining a bitmask for a used data flow ID; anddetermining a used group ID by applying the bitmask to the used data flow ID.6.The first network device of claim 5, wherein the used data flow ID comprises multiple parameters and the used group ID comprises at least one parameter among the multiple parameters.7.The first network device of claim 5 or 6, wherein the bitmask is determined based on (i) multiple bitwidths of the multiple parameters and (ii) the at least one parameter included in the used group ID.8.The first network device of any of claims 5-7, wherein:the used data flow ID comprises a first parameter related to a distributed unit (DU) port ID, a second parameter related to a band / sector ID, a third parameter related to a component carrier (CC) ID, and a fourth parameter related to a radio unit (RU) port ID; andthe used group ID comprises (i) the first parameter, the second parameter, and the third parameter, (ii) the first parameter and the third parameter, or (iii) the third parameter.9.The first network device of any of claims 1-8, wherein the request is transmitted before creating a low level transmitting endpoint or a low level receiving endpoint in a carrier creation procedure for creating the carrier.10.The first network device of any of claims 1-9, wherein at least one of the following:the request is transmitted via a network configuration protocol (NETCONF) “get-config” remote procedure call (RPC) with “sudo” read privileges; orthe reply is received via a “rpc-reply” message defined in the NETCONF.11.The first network device of any of claims 1-10, wherein the carrier configuration information comprises at least one list entry of carrier configuration in the second network device.12.The first network device of any of claims 1-11, wherein the first network device is further caused to:transmit, to the second network device, a data packet of the data flow of the created carrier, wherein the data packet includes the allocated data flow ID.13.The first network device of any of claims 1-12, wherein the first network device is further caused to:refrain from storing the carrier configuration information received from the second network device.14.The first network device of any of claims 1-13, wherein the first network device is further caused to:based on failing to determine a data flow ID which is unused on the second network device, generate an error message.15.The first network device of any of claims 1-14, wherein:the second network device is connected to the first network device and at least one other first network device; orthe second network device is connected to multiple baseband processing boards in the first network device.16.The first network device of any of claims 1-15, wherein at least one of the following:the first network device comprises an open radio access network (O-RAN) distributed unit (O-DU) ;the second network device comprises an O-RAN radio unit (O-RU) ; orthe data flow ID comprises an extended antenna-carrier (eAxC) ID.17.A second network device comprising:at least one processor; andat least one memory storing instructions that, when executed by the at least one processor, cause the second network device at least to:receive, from a first network device, a request for carrier configuration information associated with the second network device; andtransmit, to the first network device, a reply including the carrier configuration information for determining a data flow identity (ID) which is unused on the second network device.18.The second network device of claim 17, wherein the request is received before the first network device creates a low level transmitting endpoint or a low level receiving endpoint in a carrier creation procedure.19.The second network device of claim 17 or 18, wherein at least one of the following:the request is received via a network configuration protocol (NETCONF) “get-config” remote procedure call (RPC) with “sudo” read privileges; orthe reply is transmitted via a “rpc-reply” message defined in the NETCONF.20.The second network device of any of claims 17-19, wherein the carrier configuration information comprises at least one list entry of carrier configuration in the second network device.21.The second network device of any of claims 17-20, wherein the second network device is further caused to:receive, from the first network device, a data packet of a data flow of a carrier, wherein the data packet includes the data flow ID determined based on the carrier configuration information.22.The second network device of any of claims 17-21, wherein:the second network device is connected to the first network device and at least one other first network device; orthe second network device is connected to multiple baseband processing boards in the first network device.23.The second network device of any of claims 17-22, wherein at least one of the following:the first network device comprises an open radio access network (O-RAN) distributed unit (O-DU) ;the second network device comprises an O-RAN radio unit (O-RU) ; orthe data flow ID comprises an extended antenna-carrier (eAxC) ID.24.A method for communication, comprising:transmitting, to a second network device, a request for carrier configuration information associated with the second network device;receiving, from the second network device, a reply including the carrier configuration information; andbased on determining, based on the carrier configuration information, a data flow ID which is unused on the second network device, allocating the unused data flow ID to a data flow of a carrier created by the first network device on the second network device.25.A method for communication, comprising:receiving, from a first network device, a request for carrier configuration information associated with the second network device; andtransmitting, to the first network device, a reply including the carrier configuration information for determining a data flow ID which is unused on the second network device.26.An apparatus for communication, comprising:means for transmitting, to a second network device, a request for carrier configuration information associated with the second network device;means for receiving, from the second network device, a reply including the carrier configuration information; andmeans for based on determining, based on the carrier configuration information, a data flow ID which is unused on the second network device, allocating the unused data flow ID to a data flow of a carrier created by the first network device on the second network device.27.An apparatus for communication, comprising:means for receiving, from a first network device, a request for carrier configuration information associated with the second network device; andmeans for transmitting, to the first network device, a reply including the carrier configuration information for determining a data flow ID which is unused on the second network device.28.A computer readable medium comprising program instructions that, when executed by an apparatus, cause the apparatus to perform at least the method of claim 24 or 25.