Communication apparatus, communication method, and scheduling program
The communication device addresses the challenge of strict delay requirements in O-RAN front haul networks by using priority-based packet scheduling with slot and symbol IDs, ensuring timely packet delivery and adherence to O-RAN standards.
Patent Information
- Application Number
- JP2024128691
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-05
- Publication Date
- 2026-02-18
AI Technical Summary
Existing communication devices in O-RAN front haul networks lack an effective packet scheduling technique to meet the strict delay requirements of 100 μs, as highlighted by Japanese Patent Application Laid-Open No. 2024-046939.
A communication device with multiple ports, priority calculation units, queues, schedulers, and transmitters that determine packet transmission order based on allowable delay deadlines, using slot and symbol IDs within packets, and optionally subcarrier spacing, to ensure timely delivery.
The solution enables the communication device to prevent packets from exceeding delay requirements by prioritizing and sequencing packets effectively, even with varying subcarrier spacings, thus meeting O-RAN standards.
Smart Images

Figure 2026026532000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a communication device, a communication method, and a scheduling program. [Background technology]
[0002] In recent years, progress has been made in formulating standards for Open Radio Access Networks (hereinafter referred to as "O-RAN"). O-RAN is a network that allows the combination of products from various vendors, and it is expected that the widespread adoption of O-RAN will stimulate the market by attracting new vendors.
[0003] In O-RAN, the Front Haul (FH), which is the interface between the Radio Unit (RU) (which may also be called a "base station") and the Distributed Unit (DU), can be realized as a switching network including communication devices such as switches. These communication devices that make up the FH may receive packets from multiple RUs.
[0004] Regarding communication devices that constitute FH, for example, Japanese Patent Application Laid-Open No. 2024-046939 (Patent Document 1) discloses a configuration in which "when a radio access network node communicates with user equipment (UE: User Equipment) via multiple radio devices, a front haul multiplexer (FHM: Front Haul Multiplexer) is arranged between the radio access network node and the radio devices" (see paragraph
[0002] ). [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Application Publication No. 2024-046939 Summary of the Invention [Problem to be solved by the invention]
[0006] In O-RAN, a strict delay requirement (100 μs) is imposed on packets. Therefore, communication devices constituting the FH must perform packet scheduling to satisfy this delay requirement. However, Patent Document 1 does not disclose how to schedule a large number of packets in the FHM. Therefore, a packet scheduling technique is needed for communication devices constituting the FH.
[0007] The present disclosure has been made in view of the above-described background, and an object of one aspect is to provide a packet scheduling technique in a communication device that constitutes an FH. [Means for solving the problem]
[0008] A communication device according to the present disclosure constitutes a fronthaul of a wireless access network. The communication device includes a plurality of ports for receiving a plurality of packets, a priority calculation unit for calculating a priority of each of the plurality of packets, a plurality of queues for storing the plurality of packets, each corresponding to the plurality of ports, a scheduler for determining a transmission order of each of the plurality of packets based on the priority, and a transmitter for transmitting each of the plurality of packets based on the transmission order. The priority is based on an allowable delay deadline for each of the plurality of packets. [Effects of the Invention]
[0009] According to the present disclosure, a packet scheduling technique can be provided in a communication device that configures FH. [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of a network 10 to which the technology of the present disclosure can be applied. [Figure 2] FIG. 2 is a diagram showing an example of a frame configuration in the network 10. As shown in FIG. [Figure 3] FIG. 3 is a diagram showing an example of IDs of slots 220 and symbols 230 included in a subframe 210 at each subcarrier interval. [Figure 4] FIG. 4 is a diagram showing an example of the priority of packets 240 forwarded by a communication device 500 of the present disclosure. [Figure 5] FIG. 5 is a diagram illustrating an example of the configuration of a communication device 500. As shown in FIG. [Figure 6] FIG. 6 is a diagram illustrating a first example of packet scheduling in the communication device 500. As shown in FIG. [Figure 7] FIG. 7 is a diagram illustrating a second example of packet scheduling in the communication device 500. In FIG. [Figure 8] FIG. 8 is a diagram illustrating an example of packet scheduling between packets in different subframes in communication device 500. In FIG. DETAILED DESCRIPTION OF THE INVENTION
[0011] [Description of the embodiments of the present disclosure] First, embodiments of the present disclosure will be listed and described.
[0012] (1) A communication device according to an embodiment of the present disclosure configures a fronthaul of a wireless access network. The communication device includes: a plurality of ports for receiving a plurality of packets; a priority calculation unit for calculating a priority of each of the plurality of packets; a plurality of queues corresponding to the plurality of ports for storing each of the plurality of packets; a scheduler for determining a transmission order of each of the plurality of packets based on the priority; and a transmitter for transmitting each of the plurality of packets based on the transmission order. The priority is based on a deadline for an allowable delay of each of the plurality of packets.
[0013] According to the above configuration, the communication device can determine the transmission order of each of the plurality of packets stored in the plurality of queues based on the priority of each of the plurality of packets, which is determined based on the deadline for the allowable delay of each of the plurality of packets. This makes it possible for the communication device to prevent each packet from not satisfying the delay requirement.
[0014] (2) In the communication device described in (1), the priority calculation unit is configured to calculate the priority of each of the plurality of packets based on a slot ID and a symbol ID included in each of the plurality of packets.
[0015] The headers of packets transmitted in networks conforming to the O-RAN specifications do not include a timestamp field. With the above configuration, the communication device can calculate the priority of each packet based on the slot ID and symbol ID contained in each of the multiple packets without using a timestamp.
[0016] (3) In the communication device according to (2), each of the plurality of queues corresponds to each of a plurality of wireless units constituting a fronthaul. Each of the plurality of wireless units is configured to be able to set a different subcarrier spacing. The priority calculation unit is configured to calculate the priority of each of the plurality of packets based on a variable of the subcarrier spacing set for each of the plurality of wireless units in addition to the slot ID and the symbol ID.
[0017] According to the above configuration, the communication device can calculate the priority of each of the plurality of packets further based on a variable of the subcarrier spacing set for each of the plurality of wireless units. As a result, even if packets with different subcarrier spacings are stored in each queue, the communication device can determine the transmission order of each packet based on the priority calculated using the formula for each subcarrier spacing.
[0018] (4) A communication device described in any of (1) to (3) synchronizes the RAN clock of the communication device with the network based on the time information of the downstream packet, determines the range that the time information of the upstream packet can take based on the RAN clock of the communication device, and discards upstream packets that deviate from the range.
[0019] According to the above configuration, the communication device synchronizes the time information of the communication device with the network based on the time information of the downlink packet, determines the range of possible time information of the uplink packet based on the time information of the communication device, and discards uplink packets that deviate from the range. That is, the communication device 500 can discard abnormal packets. This allows the communication device to prevent the transmission of abnormal packets from increasing the delay of normal packets.
[0020] (5) A communication method according to an embodiment of the present disclosure is executed by a communication device constituting a fronthaul of a radio access network. The communication method includes receiving each of a plurality of packets at each of a plurality of ports, calculating a priority of each of the plurality of packets, storing each of the received packets in each of a plurality of queues corresponding to each of the plurality of ports, determining a transmission order of each of the plurality of packets based on the priority, and transmitting each of the plurality of packets based on the transmission order. The priority is based on an allowable delay deadline for each of the plurality of packets.
[0021] According to the above configuration, the communication device can prevent each packet from not satisfying the delay requirement.
[0022] (6) The scheduling program according to an embodiment of the present disclosure is executed by a communication device that constitutes a front haul of a radio access network. The scheduling program causes the communication device to obtain the priority of each of a plurality of packets stored in each of a plurality of queues corresponding to each of a plurality of ports, and determine the transmission order of each of the plurality of packets based on the priority. The priority is based on the deadline of the allowable delay of each of the plurality of packets.
[0023] According to the above configuration, the communication device can suppress each packet from failing to meet the delay requirement.
[0024] [Details of Embodiments of the Present Disclosure] Hereinafter, embodiments of the technical idea according to the present disclosure will be described while referring to the drawings. In the following description, the same parts are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed descriptions thereof will not be repeated. Also, each embodiment, each modification, each software configuration, each hardware configuration, each function, and each process, etc. may be selectively combined as appropriate.
[0025] <A. Configuration of Network and Frame> FIG. 1 is a diagram showing an example of the configuration of a network 10 to which the technology of the present disclosure is applicable. The network 10 is a network compliant with the O-RAN specification. The network 10 includes a plurality of RUs 110, a DU 120, a central unit (CU: Central Unit) 130, and a core network (CN: Core Network) 140. The network 10 is part of O-RAN, and the network 10 may include two or more DUs 120, CUs 130, and CNs 140. Also, the RUs 110, DUs 120, and CUs 130 may constitute a RAN and may be called RAN units or RAN components.
[0026] In the example of Figure 1, four RUs 110 are connected to the DU 120, but this is merely an example. A DU 120 can be connected to any number of RUs 110. Furthermore, hereinafter, when referring to individual RUs, an alphabet will be added to the end of RU 110, such as RU 110A, 110B, 110C, and 110D. When referring to RUs 110A, 110B, 110C, and 110D collectively, they will be referred to as RU 110. The same description will be used for the configurations in other figures (such as the terminal 100 in Figure 1 and the port 505 and queue 570 in Figure 5).
[0027] The RU 110 is equipped with an antenna and configured to be able to communicate with terminals 100, such as smartphones or tablets, using radio frequencies. In the example of FIG. 1, four terminals 100A, 100B, 100C, and 100D are shown communicating with each RU 110, but this is merely an example. Each RU 110 can communicate with two or more terminals 100. The RU 110 converts analog signals received from the terminals 100 via the wireless communication section 112 into digital signals and transmits the digital signals to the DU 120 via the FH 114. The RU 110 can also convert digital signals received from the DU 120 into analog signals and transmit the analog signals to the terminal 100. The FH 114 is a communication network or interface between the RU 110 and the DU 120 and is configured as a wired network equipped with a communication device 500 (see FIG. 5), such as a switch. The digital signals flowing through the FH 114 are also called eCPRI (Common Public Radio Interface) frames or eCPRI packets. Hereinafter, an eCPRI frame or an eCPRI packet may be simply referred to as a frame or a packet.
[0028] The DU 120 has functions such as signal modulation and demodulation, and communication control of the MAC (Medium Access Control) layer. The DU 120 is configured to be connectable to one or more RUs 110. The DU 120 transmits packets received from each of the one or more RUs 110 to the CU 130 via a midhaul (MH) 116. The DU 120 also transmits packets received from the CU 130 to the RU 110. The MH 116 is a communication network or interface between the DU 120 and the CU 130, and is configured as a wired network.
[0029] The CU 130 functions as an interface between the CN 140 and the RAN, and manages the operations of the RU 110 and the DU 120. The CU 130 can also perform resource management of the RAN. The CU 130 transmits packets received from the DU 120 to the CN 140 via a backhaul (BH) 118. The CU 130 also transmits packets received from the CN 140 to the DU 120. The BH 118 is a communication network or interface between the CU 130 and the CN 140, and is configured as a wired network.
[0030] The CN 140 is a core network owned by a telecommunications carrier, and can be connected to the communication networks of other telecommunications carriers, the Internet, etc. The CN 140 transmits packets received from the CU 130 to other communication networks. The CN 140 also transmits packets received from other communication networks to the CU 130. The terminal 100, the RU 110, the DU 120, and the CU 130 synchronize their own clocks with the time of the entire network 10.
[0031] The DU 120 is configured to be connectable to multiple RUs 110 via the FH 114. These multiple RUs 110 may be from different vendors. This provides high flexibility to the O-RAN. However, the communication device 500 configuring the FH 114 must receive packets from each of the multiple RUs 110 and sequentially forward these packets so as to satisfy the strict transmission delay requirements of the O-RAN. Therefore, the communication device 500 sequentially forwards the packets received from each of the multiple RUs 110 using packet scheduling based on the priority shown in FIG. 4. By performing packet scheduling based on the priority, the communication device 500 can prevent each packet from failing to satisfy the delay requirement.
[0032] 2 is a diagram showing an example of a frame configuration in the network 10. An image of a signal (frame 200) in the wireless communication section 112 and an image of a packet of a signal (packet 240) in the FH 114 will be described with reference to FIG.
[0033] Radio waves in the wireless communication zone 112 are divided into units called frames 200. In O-RAN, the length (or size) of the frame 200 is 10 ms (milliseconds). The frame 200 is further divided into a plurality of subframes 210. In O-RAN, the length (or size) of the subframe 210 is 1 ms, and one frame 200 includes 10 subframes 210. The subframe 210 is further divided into a plurality of slots 220. The length (or size) of the slot 220 is variable, and the number of slots 220 included in the 10 subframes 210 is also variable. The slot 220 is further divided into a plurality of symbols 230. In O-RAN, the slot 220 includes 14 symbols 230. The length (or size) of the symbol 230 is variable. The number and length of the slots 220 and the length of the symbol 230 are determined by the value of the subcarrier spacing used in Orthogonal Frequency Division Multiplexing (OFDM). Terminal 100 and RU 110 may transmit and receive data in units of symbols 230 .
[0034] The RU 110 transmits a packet 240 to the FH 114 every time it receives a symbol 230. The packet 240 is an eCPRI packet or an eCPRI frame. The RU 110 transmits data for each symbol at intervals defined by symbol lengths. The number of packets 240 transmitted can vary depending on the amount of data per symbol 230. In the example of FIG. 2, three packets 240 are transmitted per symbol 230.
[0035] Each packet 240 necessarily corresponds to a certain symbol 230 in a certain slot 220. Each packet 240 includes a slot ID (Identifier) and a symbol ID in its header. The slot 220 and symbol 230 corresponding to each packet 240 can be identified by the slot ID and symbol ID.
[0036] 3 is a diagram showing an example of IDs of slots 220 and symbols 230 included in a subframe 210 for each subcarrier spacing. As described above, the number of slots 220 included in a subframe varies depending on the value of the subcarrier spacing. For example, when the subcarrier spacing is 15 kHz, the subframe 210 includes one slot 220. When the subcarrier spacing is 30 kHz, the subframe 210 includes two slots 220. When the subcarrier spacing is 60 kHz, the subframe 210 includes four slots 220.
[0037] A slot ID is assigned to each slot 220. The slot IDs are assigned values in ascending order, such as 0, 1, 2, and 3, starting from the first slot 220. Each slot includes 14 symbols 230. A symbol ID is assigned to each symbol 230. The symbol IDs are assigned values in ascending order, such as 0, 1, 2, and 3, starting from the first symbol 230.
[0038] The priority of the packet 240 can be determined from these slot IDs and symbol IDs. When a subframe 210 includes multiple slots 220, the slots 220 are transmitted in order starting with the slot 220 with the smallest slot ID. In other words, the smaller the slot ID assigned to a slot 220, the closer the deadline for the allowable delay of that slot 220 (or the symbol 230 within that slot 220) is. Therefore, the smaller the slot ID assigned to a slot 220, the higher the priority of the packet 240 corresponding to that slot 220 (or the symbol 230 within that slot 220). Taking a subcarrier spacing of "60 kHz" as an example, the priority of the packet 240 corresponding to the slot 220 with slot ID "0" is higher than the priority of the packet 240 corresponding to the slot 220 with slot ID "1".
[0039] Similarly, multiple symbols 230 within the same slot 220 are transmitted in order from the smallest symbol ID. In other words, the smaller the symbol ID assigned to a symbol 230, the closer the deadline for the allowable delay of that symbol 230 is. Therefore, the smaller the symbol ID assigned to a symbol 230, the higher the priority of the packet 240 corresponding to that symbol 230. For example, the priority of the packet 240 corresponding to the symbol 230 with symbol ID "0" is higher than the priority of the packet 240 corresponding to the symbol 230 with symbol ID "1".
[0040] As described above, the priority of the packet 240 flowing through the FH 114 can be determined based on the slot ID and symbol ID included in the packet 240. More specifically, the smaller the slot ID and symbol ID, the higher the priority of the packet 240.
[0041] FIG. 4 is a diagram showing an example of the priority of packets 240 forwarded by a communication device 500 of the present disclosure. The value in each block is a priority value calculated by substituting a slot ID and a symbol ID into one of the equations shown in FIG. 4. The priority shown in FIG. 4 indicates a higher priority as the value decreases. The priority can also be said to indicate the order in which the deadline for the allowable delay of each packet 240 is approaching. Therefore, the priority may also be called a deadline ID. Furthermore, since the priority indicates the priority of each symbol 230 in each slot, it can also be said to be the priority (or deadline ID) of the symbol 230.
[0042] The subcarrier spacing is calculated using equation 410. "μ" is a variable used to calculate the subcarrier spacing. Furthermore, the priority or deadline ID for each subcarrier spacing is calculated using equation 420. Equation 430 is an equation for calculating the priority when the subcarrier spacing is 15 kHz. Equation 440 is an equation for calculating the priority when the subcarrier spacing is 30 kHz. Equation 450 is an equation for calculating the priority when the subcarrier spacing is 60 kHz. Equations 430 to 450 are obtained by substituting the variable value "μ = 0, 1, 2" into equation 420. In some aspects, the priority may be calculated such that a larger value indicates a higher priority. In this case, as an example, the priority may be calculated using the equation "maximum priority value (55) - equation 420".
[0043] As an example, a priority of "3" for a subcarrier spacing of "15 kHz" is calculated by substituting slot ID "0" and symbol ID "0" into equation 430. Similarly, a priority of "55" for a subcarrier spacing of "60 kHz" is calculated by substituting slot ID "3" and symbol ID "13" into equation 450.
[0044] Referring to the priority list 400A corresponding to the sub - carrier spacing of "15 kHz", it can be seen that the priority values change by 4 each time. Similarly, referring to the priority list 400B corresponding to the sub - carrier spacing of "30 kHz", it can be seen that the priority values change by 2 each time. Referring to the priority list 400C corresponding to the sub - carrier spacing of "60 kHz", it can be seen that the priority values change by 1 each time. From this, it can be understood that the finer the sub - carrier spacing (the higher the frequency), the higher the granularity of the priority.
[0045] The reason why the granularity of the priority is different for each sub - carrier spacing is that the time interval at which symbols (or packets) are transmitted changes for each sub - carrier spacing. The time interval at which the symbol 401 with a sub - carrier spacing of "15 kHz" is transmitted is equal to the time interval at which the four symbols 402, 403, 404, and 4 of the sub - carrier spacing of "60 kHz" are transmitted. That is, each symbol 230 with a sub - carrier spacing of "60 kHz" must be transmitted in 1 / 4 of the time compared to the symbol 230 with a sub - carrier spacing of "15 kHz". Therefore, the narrower the sub - carrier spacing (the higher the frequency), the more symbols 230 with a higher priority (smaller value) the sub - frame 210 contains. Taking Figure 4 as an example, the priority of the first symbol 401 with a sub - carrier spacing of "15 kHz" is "3". The priorities of the symbols 402, 403, and 404 from the beginning to the third one with a sub - carrier spacing of "60 kHz" are "0 - 2", which are smaller values (higher priorities) than the priority "3" of the symbol 401. Therefore, the communication device 500 transfers the packets 240 corresponding to the symbols 402, 403, and 404 with higher priority than the packet 240 corresponding to the symbol 401.
[0046] <B. Configuration and Operation of Communication Device> FIG. 5 is a diagram illustrating an example of the configuration of a communication device 500. The communication device 500 may operate as a switch or multiplexer constituting the FH 114. The communication device 500 may perform packet scheduling based on the priorities shown in FIG. 4 and transmit packets 240 received from each of the multiple RUs 110 sequentially to the DU 120. In a certain aspect, each component shown in FIG. 5 may be realized as a program, hardware, or a combination thereof. Furthermore, the communication device 500 may execute a program for implementing the technology of the present disclosure. The communication device 500 may include one or more processors, one or more random access memories (RAMs), and one or more storages for that purpose.
[0047] The communication device 500 includes multiple ports 505, multiple receivers 510, multiple transmitters 512, multiple priority calculation units 520, a relay unit 530, an output buffer 540, a transmitter 550, a receiver 552, and a scheduler 560. The output buffer 540 includes multiple queues 570. In the example of FIG. 5 , the communication device 500 includes ports 505A, 505B, 505C, and 505D, receivers 510A, 510B, 510C, and 510D, transmitters 512A, 512B, 512C, and 512D, and priority calculation units 520A, 520B, 520C, and 520D, but this is merely an example. The communication device 500 may include any number of combinations of ports 505, receivers 510, transmitters 512, and priority calculation units 520. 5, the output buffer 540 includes queues 570A, 570B, 570C, and 570D, but this is merely an example. The output buffer 540 may include any number of queues 570 depending on the number of ports 505. A plurality of receivers 510 and transmitters 550 perform forwarding processing of upstream packets. A plurality of transmitters 512 and receivers 552 perform forwarding processing of downstream packets. A combination of each receiver 510 and each transmitter 512 may be configured as a communication unit having a transmission and reception function. A transmission unit 550 and receiver 552 may be configured as a communication unit having a transmission and reception function.
[0048] Each of the multiple ports 505 transmits and receives packets to and from each of the multiple RUs 110. Hereinafter, ports 505A, 505B, 505C, and 505D will be described as corresponding to each of the RUs 110A, 110B, 110C, and 110D. Each of the multiple ports 505 outputs packets input from each of the multiple RUs 110 to each of the multiple receivers 510. Furthermore, each of the multiple ports 505 outputs packets input from each of the multiple transmitters 512 to each of the multiple RUs 110.
[0049] Each of the multiple receivers 510 calculates the priority of the acquired packet 240 and outputs the packet 240 and its priority to the relay unit 530. More specifically, each of the multiple priority calculation units 520 calculates the priority of the packet 240 based on the slot ID and symbol ID included in the header of the packet 240. In one aspect, the relay unit 530 may include the priority calculation unit 520 instead of the priority calculation unit 520. In this case, the relay unit 530 calculates the priority of the packet 240. Each of the multiple transmitters 512 transmits the packet acquired from the relay unit 530 to each of the multiple RUs 110 via the corresponding port 505.
[0050] The relay unit 530 stores the packet 240 and its priority acquired from each of the multiple receivers 510 in one of multiple queues 570 of the output buffer 540. Each of the multiple queues 570 corresponds to each of the multiple ports 505 (i.e., each of the multiple RUs 110). In the example of FIG. 5, each of the queues 570A, 570B, 570C, and 570D corresponds to each of the ports 505A, 505B, 505C, and 505D. As one example, the relay unit 530 stores the packet 240 received at port 505A and its priority in the queue 570A. As another example, the relay unit 530 stores the packet 240 received at port 505B and its priority in the queue 570B. Furthermore, the relay unit 530 acquires the packet 240 from the receiver 552 and outputs the packet 240 to one of the multiple transmitters 512 depending on the destination of the packet 240. In one aspect, communication device 500 may learn the destination of packet 240 and update the forwarding setting, similar to a typical LAN (Local Area Network) switch. In this case, communication device 500 may output packet 240 to one of multiple transmitters 512 based on the forwarding setting updated by learning. In another aspect, communication device 500 may output packet 240 to one of multiple transmitters 512 based on static forwarding setting. In yet another aspect, communication device 500 may flood packet 240 to all of multiple transmitters 512.
[0051] The output buffer 540 includes a plurality of queues 570 each corresponding to one of the plurality of ports 505 (i.e., one of the plurality of RUs 110). Each queue 570 stores packets 240 in a FIFO (First in First out) manner. The scheduler 560 compares the priority of the packet 240 at the head of each queue 570. The scheduler 560 also notifies the transmitter 550 of the identifier of the queue holding the packet 240 with the highest priority (i.e., the smallest priority value).
[0052] The transmitting unit 550 reads the packet 240 with the highest priority (i.e., the packet with the smallest priority value) from the output buffer 540. More specifically, the transmitting unit 550 reads the packet 240 at the head of the queue corresponding to the queue identifier notified by the scheduler 560. The transmitting unit 550 transmits the packet 240 read from the output buffer 540 to the CN 140. In one aspect, the scheduler 560 may be included in the transmitting unit 550 or may be separate from the transmitting unit 550. In another aspect, the transmitting unit 550 may notify the scheduler 560 of a schedule request. In this case, the scheduler 560 notifies the transmitting unit 550 of the identifier of the queue holding the packet 240 with the highest priority as a scheduling response in response to the schedule request. Furthermore, the transmitting unit 550 may notify the schedule request at a timing that is a predetermined time before the scheduled end time of the transmission of the packet 240 currently being transmitted. The transmitting unit 550 can transmit delayed packets stored in an empty queue with priority by delaying the timing of notifying the schedule request to the scheduler 560. The receiving unit 552 outputs the packet 240 transferred from the CN 140 to the relay unit 530.
[0053] As described above, all devices participating in the O-RAN are time-synchronized. Therefore, theoretically, when data is transmitted from each terminal 100 at the same time, packets corresponding to this data are stored in each queue 570 at the same time. Therefore, the priorities of the first packets stored in each queue 570 can be the same. However, in reality, there are differences in the transmission distances from each RU 110 to the communication device 500, so packets corresponding to data transmitted from each terminal 100 at the same time do not necessarily arrive at the communication device 500 at the same time. Therefore, the priorities of the packets stored in each queue 570 may differ. In such a case, the communication device 500 can select the packet 240 to be transmitted first from the first packets in each queue 570 based on the priority.
[0054] 1 to 5, the communication device 500 constitutes a fronthaul (FH 114) of a wireless access network. The communication device 500 includes a plurality of ports 505 for receiving each of the plurality of packets 240, a priority calculation unit 520 for calculating a priority of each of the plurality of packets 240, a plurality of queues 570 corresponding to each of the plurality of ports 505 for storing each of the plurality of packets 240, a scheduler 560 for determining a transmission order of each of the plurality of packets 240 based on the priority, and a transmission unit 550 for transmitting each of the plurality of packets 240 based on the transmission order. The priority is based on a deadline for an allowable delay for each of the plurality of packets 240.
[0055] With the above configuration, the communication device 500 can determine the transmission order of each of the multiple packets 240 stored in the multiple queues 570 based on the priority indicating the order in which the deadline for the allowable delay of each of the multiple packets 240 is approaching. As a result, the communication device 500 can prevent each packet from not satisfying the delay requirement.
[0056] Furthermore, the priority calculation unit 520 is configured to calculate the priority of each of the plurality of packets 240 based on a slot ID and a symbol ID included in each of the plurality of packets 240. Conventionally, in EDF (Earliest Deadline First), which is a scheduling technique that uses deadlines as an index, the priority of a packet is generally determined by a timestamp assigned by a transmitting terminal. In contrast, the communication device 500 calculates the priority of each packet 240 based on a slot ID and a symbol ID. Therefore, the communication device 500 can perform packet scheduling based on EDF while complying with the O-RAN specifications, without adding an area for storing a timestamp to the header of the packet 240.
[0057] Furthermore, the communication device 500 can implement the packet scheduling function of the present disclosure by executing a scheduling program. That is, the scheduling program causes the communication device 500 to acquire the priority of each of the plurality of packets 240 stored in each of the plurality of queues corresponding to each of the plurality of ports 505, and to determine the transmission order of each of the plurality of packets 240 based on the priority. The priority is based on the deadline for the allowable delay of each of the plurality of packets.
[0058] Fig. 6 is a diagram showing a first example of packet scheduling in communication device 500. In the example of Fig. 6, RUs 110A, 110B, 110C, and 110D are set to operate at the same subcarrier spacing (60 kHz).
[0059] At timing T600, queue 570A stores packets A1, A2, A3, A4, A5, and A6. Similarly, queue 570B stores packets B1, B2, B3, and B4. Queue 570C stores packets C1, C2, and C3. Queue 570D stores packets D1, D2, D3, D4, and D5. The priority values of packets A1 to A5, B1 to B4, C1 to C3, and D1 to D5 are the values included in priority list 400C corresponding to a subcarrier spacing of 60 kHz. In FIGS. 6 and 7, the priority values are the numerical values within the blocks representing each packet. For example, the priority value of packet A1 in FIG. 6 is "31."
[0060] The packets at the head 605 of each queue 570 are packets A1, B1, C1, and D1, respectively. The scheduler 560 compares the priorities of the packets A1, B1, C1, and D1 at the head 605. Packet A1 has a priority of "31," which is the smallest priority value (i.e., the highest priority) among the packets at the head 605.
[0061] Next, at timing T610, scheduler 560 selects packet A1 as the next packet to be transmitted and removes it from queue 570A, thereby shifting the remaining packets A2 to A6 to the right side (output side) of queue 570A.
[0062] Next, at timing T620, the packets at the head 605 of each queue 570 are packets A2, B1, C1, and D1, respectively. The scheduler 560 again compares the priorities of the packets A2, B1, C1, and D1 at the head 605. Packets A2 and D1 have a priority of "32," which is the smallest priority value (i.e., the highest priority) among the packets at the head 605. Therefore, the scheduler 560 selects either packet A2 or D1 as the next packet to be transmitted and removes it from queue 570A.
[0063] In one aspect, a priority may be set for each queue 570. When there are multiple packets with the smallest priority value (i.e., the highest priority), the scheduler 560 may transmit the packets based on the priority of the queue 570. As an example, assume that the queues 570A, 570B, 570C, and 570D have the highest priority in this order. In this case, at timing T620, the scheduler 560 removes A2 from queue 570A and then D1 from queue 570D based on the priority of the queue 570. In another aspect, when there are multiple packets with the smallest priority value (i.e., the highest priority), the scheduler 560 may preferentially remove packets from a queue 570 other than the queue 570 from which the previous packet was removed. In this case, the scheduler 560 preferentially removes packets from a queue 570 other than the queue 570A1 from which packet A1 was removed in the previous packet selection. Thus, scheduler 560 removes D1 from queue 570D, and then removes A2 from queue 570A. In yet another aspect, when there are multiple packets with the smallest lowest priority value (i.e., the highest priority), scheduler 560 may use any algorithm to select a packet to transmit from among multiple packets with the same priority.
[0064] In this way, the scheduler 560 can select the next packet to be transmitted based on the priority of the packet and further based on the priority of the queue 570. The scheduler 560 repeats the packet selection process in the same manner. When multiple packets of the same priority exist, the scheduler 560 may select the queue from which to extract the packet 240 in round-robin order. In the example of FIG. 6 , when the round-robin method is used, the transmitter 550 reads packets from the queues 570A, 570B, 570C, and 570D in the following order based on notification from the scheduler 560: packets A1, D1, A2, B1, D2, A3, B2, C1, D3, A4, B3, C2, D4, A5, B4, C3, D5, and A6. This order is merely an example, and the order in which the packets are extracted may vary depending on the algorithm used when multiple packets of the same priority exist.
[0065] With the above configuration, communication device 500 can calculate the priority of each of multiple packets 240 further based on the same subcarrier spacing variable. As a result, when packets 240 with the same subcarrier spacing are stored in each queue 570, communication device 500 can determine the transmission order of each packet 240 based on the priority calculated using the same formula.
[0066] FIG. 7 is a diagram showing a second example of packet scheduling in communication device 500. Packet scheduling by communication device 500 works even when individual subcarrier spacing is set for each RU 110. With reference to FIG. 7, packet scheduling when individual subcarrier spacing is set for each RU 110 will be described. In the example of FIG. 7, RU 110A is set to operate at a subcarrier spacing (15 kHz). RUs 110B and 110C are set to operate at a subcarrier spacing (30 kHz). RU 110D is set to operate at a subcarrier spacing (60 kHz).
[0067] At timing T700, packets A1, A2, A3, A4, A5, and A6 are stored in queue 570A. The priority values of packets A1 to A6 are values included in priority list 400A corresponding to a subcarrier spacing of "15 kHz." Similarly, packets B1, B2, B3, and B4 are stored in queue 570B. Packets C1, C2, and C3 are stored in queue 570C. The priority values of packets B1 to B4 and C1 to C3 are values included in priority list 400B corresponding to a subcarrier spacing of "30 kHz." Packets D1, D2, D3, D4, and D5 are stored in queue 570D. The priority values of packets D1 to D5 are values included in priority list 400C corresponding to a subcarrier spacing of "60 kHz."
[0068] The packets at the head 705 of each queue 570 are packets A1, B1, C1, and D1, respectively. The scheduler 560 compares the priorities of the packets A1, B1, C1, and D1 at the head 705. Packet A1 has a priority of "31," which is the smallest priority value (i.e., the highest priority) among the packets at the head 705.
[0069] Next, at timing T710, scheduler 560 selects packet A1 as the next packet to be transmitted and removes it from queue 570A, thereby shifting the remaining packets A2 to A6 to the right side (output side) of queue 570A.
[0070] Next, at timing T720, the packets at the head 705 of each queue 570 are packets A2, B1, C1, and D1, respectively. Scheduler 560 again compares the priorities of packets A2, B1, C1, and D1 at the head 705. Packet A2 has a priority of "31," which is the lowest priority value (i.e., the highest priority) among the packets at the head 705. Therefore, scheduler 560 selects packet A2 as the next packet to be transmitted and removes it from queue 570A.
[0071] In one aspect, a priority may be set for each queue 570. When there are multiple packets with the smallest priority value (i.e., the highest priority), scheduler 560 may transmit the packets based on the priority of queue 570. In another aspect, when there are multiple packets with the smallest priority value (i.e., the highest priority), scheduler 560 may preferentially retrieve packets from a queue 570 other than the queue 570 from which the previous packet was retrieved. In yet another aspect, when there are multiple packets with the smallest priority value (i.e., the highest priority), scheduler 560 may preferentially retrieve packets with narrow subcarrier spacing (large subcarrier spacing). In yet another aspect, when there are multiple packets with the smallest priority value (i.e., the highest priority), scheduler 560 may select a packet to transmit from multiple packets of the same priority using an arbitrary algorithm.
[0072] In this way, the scheduler 560 can select the next packet to transmit based on the priority of the packet and further based on the priority of the queue 570. The scheduler 560 repeats the packet selection process in the same manner. When multiple packets of the same priority exist, the scheduler 560 may select the queue from which to extract the packet 240 in round-robin order. In the example of FIG. 7 , when the round-robin method is used, the transmitter 550 reads packets from the queues 570A, 570B, 570C, and 570D in the following order based on notification from the scheduler 560: packets A1, A2, A3, A4, D1, B1, C1, D2, B2, D3, A5, B3, C2, D4, A6, B4, C3, and D5. This order is merely an example, and the order in which the packets are extracted may vary depending on the algorithm used when multiple packets of the same priority exist.
[0073] As described with reference to Fig. 7, each of the multiple queues 570 corresponds to each of the multiple radio units (RUs 110) that make up the fronthaul (FH 114). Each of the multiple radio units is configured to be able to set a different subcarrier spacing. The priority calculation unit 520 is configured to calculate the priority of each of the multiple packets 240 based on the slot ID, symbol ID, and also on the subcarrier spacing variable (μ) set for each of the multiple radio units.
[0074] Even if the subcarrier spacing value set for each RU 110 is different, the communication device 500 can use the priority calculated from the slot ID and the symbol ID to select and transmit the packet with the closest deadline for the allowable delay from multiple queues 570. As a result, the communication device 500 can prevent the packet transmission time from exceeding the allowable delay.
[0075] FIG. 8 illustrates an example of packet scheduling among packets in different subframes in the communication device 500. Depending on the timing, packets in consecutive subframes may be stored simultaneously in the queue 570. However, because the allowable delay in the FH 114 is 100 μs, packets whose reception times at the RU 110 differ by more than 100 μs are not stored simultaneously in the queue 570 under normal circumstances. For the fastest subcarrier spacing of 60 kHz, the symbol length is 17.86 μs, and packets that are more than six symbols apart are not queued simultaneously. Therefore, the priority range of packets in consecutive subframes that may be queued simultaneously is a value included in the range 800. The communication device 500 may limit the upstream packets 240 that are currently being relayed by referring to the downstream packets 240. More specifically, the communication device 500 synchronizes the RAN clock with the entire network 10 based on the time information (also referred to as the RAN clock) of the downstream packets 240. The RAN clock is defined by a frame ID, a subframe ID, a slot ID, and a symbol ID. The RAN clock of the communication device 500 is updated based on the time information (frame ID, subframe ID, slot ID, and symbol ID) of the downlink packet 240. The communication device 500 may also update the RAN clock based on its own clock during periods when the communication device 500 is not relaying the downlink packet 240. Furthermore, the communication device 500 may determine a range 800 within which the time information of the uplink packet 240 can fall, based on the RAN clock, and discard any uplink packet 240 that falls outside the range 800. Here, an "uplink packet" refers to a packet traveling from the RU 110 to the CN 140. A "downlink packet" refers to a packet traveling from the CN 140 to the RU 110. In some aspects, the time synchronization process for the time information (RAN clock) may be performed by the receiving unit 552, the relay unit 530, or each transmitting unit 512. In other aspects, the determination of the range 800 and the discarding of the packet 240 may be performed by the receiver 510, the relay unit 530, or the scheduler 560.
[0076] Assume that multiple queues 570 store packets 240 with wraparound priority values (values shown in range 800). In this case, scheduler 560 may adjust the priority values in order to schedule packets 240. More specifically, scheduler 560 may add an adjustment value to priorities whose values are equal to or less than a predetermined value. As an example, the adjustment value may be a value greater than the maximum wraparound priority that can be simultaneously included in multiple queues 570. In the example of FIG. 8 , the range of wraparound priorities that can be included in multiple queues 570 is represented by range 800. The maximum priority value included in range 800 is "55." Therefore, as an example, the adjustment value may be set to "56." Next, a scheduling process using the adjustment value will be described. Assume that multiple queues 570 include priority values "51" and "0." Because the priority value "0" is equal to or less than the predetermined value "5," an adjustment value "56" is added to the priority value "0." Therefore, the priority value "0" becomes "56." As a result, the packet 240 with a priority value of "51" is transmitted with priority over the packet 240 with a priority value of "0".
[0077] As explained with reference to FIG. 8, the communication device 500 synchronizes the RAN clock of the communication device with the network based on the time information of the downstream packet 240, determines the range that the time information of the upstream packet can take based on the RAN clock of the communication device, and discards the upstream packet 240 that deviates from the range.
[0078] With the above configuration, the communication device 500 can synchronize the RAN clock of the communication device with the network based on the time information of a downlink packet, determine the range of possible values for the time information of an uplink packet based on the RAN clock of the communication device, and discard uplink packets that deviate from the range. That is, the communication device 500 can discard abnormal packets. This can prevent the transmission of abnormal packets from increasing the delay of normal packets. Furthermore, even if a queue contains a packet 240 of a first subframe (the N-1th subframe) and a packet 240 of a second subframe (the Nth subframe) that follows the first subframe, the communication device 500 can prioritize the transmission of the packet 240 of the first subframe over the packet of the second subframe by moving up the transmission order of the packet 240 with a predetermined priority range.
[0079] <C.まとめ> As described above, the communication device 500 according to this embodiment can prevent each packet from failing to meet the delay requirement by performing packet scheduling using the priority calculated from the slot ID and symbol ID.
[0080] The embodiments disclosed herein are illustrative in all respects and should not be considered limiting. The scope of the present invention is defined by the claims rather than the above-described embodiments, and it is intended to include any modifications within the scope of the claims and meanings equivalent to the claims. [Explanation of symbols]
[0081] 10 Network 100, 100A, 100B, 100C, 100D terminals 110, 110A, 110B, 110C, 110D RU 112 Wireless Communication Section 114 FH 116MH 118 BH 120 DU 130 CU 140CN 200 frames 210 subframe 220 Slots 230,401,402,403,404,405 symbols 240,A1,A2,A3,A4,A5,A6,B1,B2,B3,B4,C1,C2,C3,D1,D2,D3,D4,D5 packets 400A, 400B, 400C Priority List 500 Communication Equipment 505, 505A, 505B, 505C, 505D Ports 510, 510A, 510B, 510C, 510D receiving unit 512, 512A, 512B, 512C, 512D transmitter 520,520A,520B,520C,520D Priority calculation unit 530 Relay Section 540 Output Buffer 550 Transmitter 552 Receiving unit 560 Scheduler 570, 570A, 570B, 570C, 570D queue 605,705 first 800 range T600, T610, T620, T700, T710, T720 Timing
Claims
1. A communication device constituting a fronthaul of a radio access network, a plurality of ports for receiving each of the plurality of packets; a priority calculation unit for calculating a priority of each of the plurality of packets; a plurality of queues corresponding to the plurality of ports, for storing the plurality of packets; a scheduler for determining a transmission order for each of the plurality of packets based on the priority; a transmitting unit for transmitting each of the plurality of packets based on the transmission order, The communication device, wherein the priority is based on an allowable delay deadline for each of the plurality of packets.
2. The communication device according to claim 1 , wherein the priority calculation unit is configured to calculate the priority of each of the plurality of packets based on a slot ID and a symbol ID included in each of the plurality of packets.
3. each of the plurality of queues corresponds to each of a plurality of radio units constituting the fronthaul; each of the plurality of wireless units is configured to be able to set a different subcarrier interval; 3. The communication device according to claim 2, wherein the priority calculation unit is configured to calculate the priority of each of the plurality of packets based on a variable of a subcarrier spacing set for each of the plurality of wireless units in addition to the slot ID and the symbol ID.
4. A communication device as described in any one of claims 1 to 3, which synchronizes the RAN clock of the communication device with the network based on the time information of the downstream packet, determines the range of possible time information of the upstream packet based on the RAN clock of the communication device, and discards upstream packets that deviate from the range.
5. A communication method executed by a communication device that configures a fronthaul of a radio access network, the communication method comprising: receiving each of a plurality of packets at each of a plurality of ports; calculating a priority of each of the plurality of packets; storing each of the received packets in each of a plurality of queues corresponding to each of the plurality of ports; determining a transmission order for each of the plurality of packets based on the priority; transmitting each of the plurality of packets based on the transmission order; The communication method, wherein the priority is based on an allowable delay deadline for each of the plurality of packets.
6. A scheduling program executed by a communication device that configures a fronthaul of a radio access network, the scheduling program comprising: obtaining a priority of each of a plurality of packets stored in each of a plurality of queues corresponding to each of a plurality of ports; determining a transmission order for each of the plurality of packets based on the priority; The scheduling program, wherein the priority is based on an allowable delay deadline for each of the plurality of packets.
Citation Information
Patent Citations
Wireless devices, intermediate devices, methods, and programs
JP2024046939A