Scheduling method, scheduling apparatus, chip, communication apparatus and computer program product

By calculating the total data volume and frame latency requirements of user service frames in the 5G network and dynamically adjusting the scheduling priority, the problem of service frames with deterministic latency requirements failing to be scheduled within the frame latency in existing technologies is solved, thereby improving user experience and achieving efficient resource utilization.

WO2026081897A1PCT designated stage Publication Date: 2026-04-23HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2025-10-09
Publication Date
2026-04-23

AI Technical Summary

Technical Problem

Existing 5G network scheduling algorithms, such as the proportional fairness algorithm, fail to effectively guarantee that service frames with deterministic latency requirements are scheduled within a given frame latency, resulting in a poor user experience.

Method used

By obtaining the total data volume of the user's service frames and the total number of time slots included in the frame latency requirements, the scheduling priority is calculated. Based on the difference and channel transmission efficiency, it is determined whether and how to schedule the service frame data to ensure that the frame latency requirements are met in the current time slot.

Benefits of technology

It effectively ensures that users' service frames are scheduled within the frame latency requirements, improving the user experience, and improves resource utilization efficiency through dynamic scheduling priority adjustment based on difference and channel efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025126456_23042026_PF_FP_ABST
    Figure CN2025126456_23042026_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present application are a scheduling method, a scheduling apparatus, a chip, a communication apparatus and a computer program product. The method comprises: a communication apparatus acquiring the total data volume of a first service frame of a first user and the total number of time slots included in a frame delay requirement of the first user; acquiring the remaining data volume of the first service frame in a current time slot and the number of remaining available time slots, the number of remaining available time slots being less than or equal to the total number of time slots; determining a scheduling priority of the first user; and on the basis of the scheduling priority, determining whether to schedule data of the first service frame in the current time slot, wherein the scheduling priority is positively correlated with a difference obtained by subtracting a second data volume from a first data volume, the first data volume being a value obtained by dividing the remaining data volume by the number of remaining available time slots, and the second data volume being a value obtained by dividing the total data volume by the total number of time slots; and when it is determined to schedule the data of the first service frame in the current time slot, the volume of data in the first service frame that is scheduled in the current time slot is greater than or equal to the first data volume. The solution can meet the frame delay requirements of users.
Need to check novelty before this filing date? Find Prior Art

Description

Scheduling methods, scheduling devices, chips, communication devices, and computer program products

[0001] This application claims priority to Chinese Patent Application No. 202411456957.7, filed on October 17, 2024, entitled "Scheduling Method, Scheduling Device, Chip, Communication Device and Computer Program Product", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communication technology, and in particular to a scheduling method, scheduling device, chip, communication device, and computer program product. Background Technology

[0003] Existing cellular networks have evolved to the 5th generation (5G). The infrastructure of 5G networks is widely deployed and can be used to carry various wireless services. When the services carried are those with deterministic latency requirements, such as 5G high-definition video, 5G new voice calls, 5G short video, 5G cloud gaming, and 5G extended reality (XR), each frame of service data (i.e., the service frame) must be scheduled and transmitted within a given frame latency. For example, the frame latency requirement for 5G high-definition video services is 200ms, and for 5G short video services it is 70ms.

[0004] Currently, a commonly used scheduling algorithm in 5G networks is the Proportional Fair (PF) algorithm. This algorithm considers fairness among users, user channel quality, and the number of bits transmitted historically by each user. Based on these factors, it calculates the priority of different users and then selects higher-priority users to schedule corresponding service data. However, because this scheduling algorithm does not consider latency, it cannot guarantee that user service frames will be scheduled within a given frame delay for users with deterministic latency requirements, resulting in a poor user experience. Therefore, ensuring that user service frames are scheduled within the required frame delay is a pressing issue that needs to be addressed. Summary of the Invention

[0005] This application provides a scheduling method, scheduling device, chip, communication device, and computer program product, which can ensure that the user's service frames are scheduled within the frame latency requirements, thereby ensuring the user's service experience.

[0006] Firstly, this application provides a scheduling method applied to a communication device. The method includes: acquiring the total data volume of a first service frame from a first user and the total number of time slots included in the first user's frame delay requirement; acquiring the remaining data volume and the remaining available time slots of the first service frame in the current time slot, wherein the remaining available time slots are less than or equal to the total number of time slots; determining the scheduling priority of the first user; and then determining whether to schedule the data of the first service frame in the current time slot based on the scheduling priority. When it is determined that the data of the first service frame should be scheduled in the current time slot, the data volume of the first service frame scheduled by the communication device in the current time slot is greater than or equal to the first data volume. The scheduling priority is positively correlated with the difference between the first data volume and the second data volume, where the first data volume is the value obtained by dividing the remaining data volume by the remaining available time slots, and the second data volume is the value obtained by dividing the total data volume by the total number of time slots. The current time slot is one of a series of consecutive time slots, which begin from the first time slot in which the first service frame enters the communication device and awaits scheduling, and the number of these consecutive time slots is equal to the aforementioned total number of time slots.

[0007] In the above scheme, the first data volume represents the amount of data that needs to be transmitted in each of the remaining available time slots when the remaining data of the first service frame is evenly distributed among the remaining available time slots for transmission. The second data volume represents the amount of data that needs to be transmitted in each of the total number of time slots under the uniform strategy (evenly distributing all data of the first service frame among each of the total time slots for transmission). The uniform strategy is a relatively ideal situation, and transmission according to the uniform strategy can meet the frame latency requirements of the first user. That is to say, the uniform strategy expects to evenly distribute all data of the first service frame among the above-mentioned consecutive time slots for transmission. The amount of data to be transmitted in each time slot (i.e., the second data volume) = the total data volume of the first service frame / the total number of time slots. According to the uniform strategy, all data of the first service frame can be transmitted through these consecutive time slots, and the number of these multiple time slots is exactly equal to the total number of time slots included in the frame latency requirement. Therefore, it is guaranteed that the first service frame is scheduled within the total number of time slots included in the frame latency requirement, that is, the frame latency requirement is met.

[0008] Here, the second data volume is used as the transmission benchmark. If the difference between the first and second data volumes is greater than 0, it indicates that the current transmission progress of the first service frame is lagging behind the uniform strategy. The larger the difference, the greater the lag, and the more urgent the transmission of the first service frame. If the difference is equal to 0, it indicates that the current transmission progress of the first service frame meets the requirements of the uniform strategy. If the difference is less than 0, it indicates that the current transmission progress of the first service frame is ahead of the uniform strategy. The smaller the difference, the greater the lead, and the less urgent the transmission of the first service frame.

[0009] To meet the frame latency requirements of the first user, the relationship between the above difference and the scheduling priority of the first user is set to positive correlation.

[0010] The larger the difference, the more delayed the transmission of the first service frame, and the more urgent the transmission situation. This positive correlation can, to some extent, increase the scheduling priority of the first user, making it more likely that the first user's first service frame will be transmitted in the current time slot. When the scheduling priority determines to schedule the data of the first service frame in the current time slot, the amount of data in the first service frame scheduled by the communication device in the current time slot is greater than or equal to the first data amount. This allows the transmission progress of the first service frame to approach the transmission reference, thereby ensuring that the first user's first service frame can be transmitted within the frame delay requirement.

[0011] The smaller the difference, the more advanced the transmission progress of the first service frame, and the less urgent its transmission. This positive correlation can, to some extent, reduce the scheduling priority of the first user, making it less likely that the first user's first service frame will be transmitted in the current time slot. When it is determined that the first service frame will not be scheduled in the current time slot, the current time slot will schedule the service frames of other users with higher priority. The transmission progress of the first service frame will then converge towards the transmission baseline. This ensures that the first user's first service frame is transmitted within the frame delay requirement, while also allowing the service frames of other more urgent users (with higher scheduling priority than the first user) to be transmitted first in the current time slot. This satisfies the frame delay requirements of other users and helps increase the number of satisfied users.

[0012] Based on the first aspect, in a possible implementation, the communication device can obtain the transmission efficiency of the first user's channel in the current time slot, and then determine the scheduling priority based on the difference and the transmission efficiency, wherein the difference is positively correlated with the scheduling priority, and the transmission rate is also positively correlated with the scheduling priority.

[0013] In the above scheme, the calculation of scheduling priority considers not only the transmission progress (reflected by the aforementioned difference) but also the transmission efficiency of the channel between the first user and the communication device. A larger difference indicates a more delayed transmission progress. Based on the positive correlation between the difference and scheduling priority, the scheduling priority can be increased to some extent, making it more likely that the first user's first service frame will be transmitted in the current time slot. This brings the transmission progress of the first service frame closer to the transmission baseline, ensuring that the first user's first service frame can be transmitted within the frame delay requirement. Transmission efficiency reflects the quality of the first user's channel. Higher transmission efficiency indicates better channel quality and allows the channel to transmit more data in the current time slot. Based on the positive correlation between transmission efficiency and scheduling priority, the scheduling priority can be increased to some extent, making it more likely that the first user's first service frame will be transmitted in the current time slot. This fully utilizes the capabilities of the high-quality channel and also helps ensure the first user's frame delay requirements.

[0014] Based on the first aspect, in a possible implementation, the communication device receives channel state information from a first user, the channel state information including at least one of the distance between the first user and the communication device, the signal-to-noise ratio of the first user's channel, and the degree of obstruction, and then the communication device determines the transmission efficiency based on the channel state information.

[0015] In other words, the communication device can obtain channel state information from the first user in order to determine the transmission efficiency of the first user's channel.

[0016] Based on the first aspect, in a possible implementation, after the communication device determines whether to schedule the data of the first service frame in the current time slot according to the scheduling priority, if it is determined that the data of the first service frame should be scheduled in the current time slot, the communication device can also determine the scheduling resource allocation amount of the first user in the current time slot according to the scheduling priority, and then schedule the data of the first service frame in the current time slot according to the scheduling resource allocation amount.

[0017] In other words, the scheduling priority of the first user can be used not only to determine whether to schedule the first user's first service frame in the current time slot, but also to determine the amount of scheduling resources allocated to the first user in the current time slot. As introduced above, the higher the scheduling priority of the first user, the more lagging the current transmission progress of the first service frame. Therefore, more scheduling resources need to be allocated to it so that the transmission progress of the first service frame can approach the transmission reference as soon as possible, thereby ensuring that the first service frame is transmitted within the first user's frame delay requirements.

[0018] Based on the first aspect, in a possible implementation, after determining whether to schedule the data of the first service frame in the current time slot according to the scheduling priority, the communication device may send a scheduling notification to the first user, wherein the scheduling notification is used to instruct the first user whether to schedule the data of the first service frame in the current time slot.

[0019] The above scheme corresponds to the uplink scenario, specifically the scenario where the first user needs to transmit the first service frame to the communication device. The first service frame originates on the first user's side. Once the communication device determines the first user's scheduling priority using the method described above, and subsequently determines whether to schedule the first user's first service frame in the current time slot, the communication device can send a scheduling notification to the first user. This notification indicates whether the first user can schedule the first service frame data in the current time slot, essentially informing the first user whether they have been granted a data transmission opportunity in the current time slot. If yes, the first user can transmit the first service frame data to the communication device in the current time slot; otherwise, the first user cannot transmit the first service frame data to the communication device in the current time slot.

[0020] Based on the first aspect, in a possible implementation, the aforementioned remaining data volume and remaining available time slots are determined based on the information sent by the first user.

[0021] The above scheme corresponds to the uplink scenario, that is, the scenario where the first user needs to transmit the first service frame to the communication device. The first service frame is generated on the first user side. Therefore, the communication device cannot directly obtain the remaining data volume and the remaining available time slots of the first service frame from the local device. It needs to obtain relevant information from the first user to determine the remaining data volume and the remaining available time slots.

[0022] Based on the first aspect, in a possible implementation, the total number of time slots mentioned above is determined based on at least one of the service associated with the first service frame and the level of the first user.

[0023] The total number of time slots mentioned above represents the number of time slots included in the frame latency requirement of the first user. The frame latency requirement of the first user may be determined by the service associated with the first service frame. Different services may have different frame latency requirements. The frame latency requirement of the first user may also be determined by the user level of the first user. Different user levels have different frame latency requirements to reflect differentiated services for users of different levels.

[0024] Secondly, this application also provides a scheduling device, including an interface module, a determination module, and a scheduling module. The interface module is used to obtain the total data volume of a first service frame from a first user and the total number of time slots included in the frame latency requirement of the first user. The interface module is also used to obtain the remaining data volume of the first service frame in the current time slot and the remaining available time slots, wherein the remaining available time slots are less than or equal to the total number of time slots. The determination module is used to determine the scheduling priority of the first user, wherein the scheduling priority is positively correlated with the difference between the first data volume and the second data volume, where the first data volume is the value obtained by dividing the remaining data volume by the remaining available time slots, and the second data volume is the value obtained by dividing the total data volume by the total number of time slots. The scheduling module is used to determine whether to schedule the data of the first service frame in the current time slot based on the scheduling priority.

[0025] The aforementioned scheduling device may also include more or fewer units / modules, without specific limitations here. The scheduling device in the second aspect is specifically used to execute the method of any embodiment in the first aspect, as described above, and will not be repeated here.

[0026] Thirdly, this application also provides a chip including a processor and an interface for data transmission with an external device or module of the chip, the processor for performing a method as described in any of the embodiments of the first aspect.

[0027] Fourthly, this application also provides a communication device including a processor and a memory. The processor is configured to execute instructions stored in the memory to cause the communication device to perform a method as described in any embodiment of the first aspect.

[0028] Fifthly, this application also provides a computer-readable storage medium including computer program instructions, which, when executed by a communication device, perform the method as described in any embodiment of the first aspect.

[0029] Sixthly, this application also provides a computer program product containing instructions. When the aforementioned instructions are executed by a communication device, the computing device cluster causes it to perform the method as described in any embodiment of the first aspect. Attached Figure Description

[0030] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments are briefly introduced below.

[0031] Figure 1 is a schematic diagram of the structure of a communication system provided in an embodiment of this application;

[0032] Figure 2 is a flowchart illustrating a scheduling method provided in an embodiment of this application;

[0033] Figure 3 is a schematic diagram of an exponential function provided in an embodiment of this application;

[0034] Figure 4 is a schematic diagram of a downlink scenario scheduling process provided in an embodiment of this application;

[0035] Figure 5 is a schematic diagram of the scheduling process for an uplink scenario provided in an embodiment of this application;

[0036] Figure 6 is a schematic diagram of a scheduling device provided in an embodiment of this application;

[0037] Figure 7 is a schematic diagram of the structure of a communication device provided in an embodiment of this application. Detailed Implementation

[0038] To facilitate understanding of the technical solution of this application, a communication system involved in this application will be introduced first.

[0039] Please refer to Figure 1, which is a schematic diagram of a communication system provided in an embodiment of this application, including a server 100, a communication device 200, and a user equipment 300. The server 100 is connected to the communication device 200, and the communication device 200 is also connected to the user equipment 300.

[0040] The server 100 in Figure 1 can be a computing device located in the cloud, such as a physical server, virtual machine, or container. The cloud can be a public cloud, private cloud, hybrid cloud, etc. The server 100 can also be a device located in other locations, such as an edge computing device or other devices; this application does not limit its scope. The server 100 is used to provide one or more business services to users. One server 100 can provide one or more business services, or multiple servers 100 can jointly provide one or more business services; this application also does not limit its scope.

[0041] The aforementioned services can be those with deterministic latency requirements, such as 5G high-definition video, 5G new voice calls, 5G short video, 5G cloud gaming, and 5G XR. These services require that each frame of service data be scheduled and transmitted within a given latency. Alternatively, these services can be those without latency requirements, such as Enhanced Mobile Broadband (eMBB) services or other services.

[0042] For example, 5G high-definition video services require more than 90% (reliability requirements) of service frames to be transmitted successfully within 200ms (frame latency requirements); 5G new voice services require more than 90% of service frames to be transmitted successfully within 150ms; 5G short video services require more than 90% of service frames to be transmitted successfully within 70ms; 5G cloud gaming requires more than 90% of service frames to be transmitted successfully within 45ms; and 5G XR services require more than 95% of service frames to be transmitted successfully within 20ms.

[0043] It should be noted that the names, reliability requirements, and frame latency requirements of the various services listed above are merely examples and do not constitute specific limitations. In actual application scenarios, other services may exist, and the reliability requirements and frame latency requirements of these services can be set and adjusted. It should also be noted that the frames, service frames, and data frames described in this application all refer to the concept of a frame in the Data Link Layer. The Data Link Layer is the second layer in the Open System Interconnection (OSI) reference model, situated between the physical layer and the network layer. A frame is a data unit transmitted between peer data link layers.

[0044] The communication device 200 in Figure 1 can be a device for connecting user equipment 300 to a wireless network, such as a base station or base station chip. The base station here can include various forms of base stations, such as macro base stations, micro base stations (also called small stations), relay stations, access points, etc., which are not limited in this application. In some specific implementations, the base station can be an access point (AP) in a wireless local area network (WLAN), a base transceiver station (BTS) in a global system for mobile communications (GSM) or code division multiple access (CDMA), a base station (NodeB, NB) in wideband code division multiple access (WCDMA), an evolved Node B (eNB or eNodeB) in long term evolution (LTE), a relay station or access point, or a vehicle-mounted device, wearable device, or the next-generation Node B (gNB) in a 5G system, etc.

[0045] It should be understood that in the downlink scenario (server 100 as the sender, communication device 200 as the relayer, and user equipment 300 as the receiver), communication device 200 is responsible for transmitting service data from server 100 to user equipment 300. In the uplink scenario (user equipment 300 as the sender, communication device 200 as the relayer, and server 100 as the receiver), communication device 200 is responsible for transmitting service data from user equipment 300 to server 100. The data transmission directions in the downlink and uplink scenarios are opposite. Based on the relay by communication device 200, users can enjoy the service provided by server 100 on user equipment 300.

[0046] The user equipment 300 in Figure 1 can refer to terminal equipment (such as virtual reality glasses, laptops, smartphones, etc.), access terminals, user units, user stations, mobile stations, mobile stations, remote stations, remote terminals, mobile devices, user terminals, terminals, wireless communication equipment, user agents, or user devices, etc. User equipment 300 can also be a cellular phone, cordless phone, session initiation protocol (SIP) phone, wireless local loop (WLL) station, personal digital assistant (PDA), handheld device with wireless communication capabilities, computing device or other processing device connected to a wireless modem, in-vehicle equipment, wearable device, etc., and this application is not limited thereto.

[0047] It should be noted that the number, connection relationship, and location of the server 100, communication device 200, and user equipment 300 in Figure 1 are merely examples and do not constitute specific limitations. In actual application scenarios, there may be more servers 100, communication devices 200, and user equipment 300. The connection between server 100 and communication device 200 may also pass through other communication devices. The number of servers 100 with communication connections to communication device 200 can be one or more, and the number of user equipment 300 with communication connections to communication device 200 can be one or more. This application does not impose specific limitations in this regard.

[0048] Based on the preceding description of Figure 1, the following describes an embodiment of the scheduling method provided in this application.

[0049] Please refer to Figure 2, which is a flowchart of a scheduling method provided in an embodiment of this application. The method is applied to a communication device 200 and includes the following steps S201 to S204.

[0050] S201. Obtain the total data volume of the first service frame of the first user and the total number of time slots included in the frame latency requirement of the first user.

[0051] The aforementioned first user is one of the user equipment 300 accessing the communication device 200. There may be one or more user equipment 300 accessing the communication device 200, and this application does not limit this.

[0052] For example, suppose the communication device 200 is a 5G base station, which can provide access services to user equipment 300 within the signal coverage area (cell). The first user can be any or a specific user equipment 300 within the 5G base station cell.

[0053] The first service frame of the first user is associated with the first service, which is a service with deterministic latency requirements. This application does not specifically limit the type and latency requirements of the first service. It should be understood that in order to provide the first service to the first user, the communication device 200 is responsible for transmitting service data of the first service related to the first user between the first user and the server 100 providing the first service. The service data of the first service related to the first user may be carried by one or more service frames. The first service frame can be any or a specific service frame among these service frames, and this application does not limit this.

[0054] The frame latency requirement of the first user is related to the first service. In one possible implementation, different users under the first service are not differentiated by level / service level, and all users of the first service have the same frame latency requirement, which is equal to the frame latency requirement of the first service. Therefore, as one of the users of the first service, the frame latency requirement of the first user is equal to the frame latency requirement of the first service. In another possible implementation, different users under the first service are differentiated by level / service level, and users of different levels under the first service have different frame latency requirements, while users of the same level have the same frame latency requirement. Therefore, the frame latency requirement of the first user is determined by the first service and the level to which the first user belongs (denoted as level X), and the frame latency requirement of the first user is equal to the frame latency requirement of users of level X under the first service.

[0055] Therefore, the total number of time slots included in the frame latency requirement of the first user is determined based on at least one of the services associated with the first service frame (i.e., the first service) and the level of the first user.

[0056] For example, assuming the first service is a 5G XR service, the frame latency requirement for different users under this service is uniformly 20ms. This means that each frame of service data must be successfully transmitted within 20ms. Therefore, as one of the users in this first service, the frame latency requirement for the first user is 20ms. Assuming a time slot length of 1ms, the total number of time slots included in the first user's frame latency requirement is 20ms / 1ms = 20. This means that each frame of service data for the first user must be transmitted within 20 time slots.

[0057] For example, suppose the first service is 5G cloud gaming. This service distinguishes between two user levels: Level 1 and Level 2. Level 1 users require a frame latency of 30ms, while Level 2 users require 45ms. Assuming the first user is a Level 1 user with a time slot length of 1ms, their frame latency requirement is 30ms. The total number of time slots required for this frame latency requirement is 30ms / 1ms = 30, meaning that each frame of service data for the first user must be transmitted within 30 time slots.

[0058] It should be noted that the time slots described in this application are the basic time units for scheduling, also known as transmission time intervals (TTIs), and a scheduled transmission is performed every TTI. This application does not impose specific limitations on the length of the time slots; they can be set and adjusted according to the actual use case.

[0059] It should be understood that in both downlink and uplink scenarios, the communication device 200 can obtain the total data volume of the first service frame.

[0060] For example, in a downlink scenario, communication device 200 receives a first service frame from an upstream device and buffers it locally. Communication device 200 then needs to transmit the data of the first service frame to a first user. The first service frame is one of the service frames carrying service data related to the first service for the first user. Therefore, when communication device 200 receives the first service frame (before it begins transmitting it to the first user), it can determine the total data volume of the first service frame, i.e., the data volume when the first service frame first arrives at communication device 200.

[0061] In the uplink scenario, the first user needs to send a first service frame to the communication device 200. The first service frame is one of the service frames carrying service data related to the first service of the first user. At this time, the communication device 200 cannot obtain the total data volume of the first service frame directly from its local machine, but needs to obtain the total data volume of the first service frame from the first user. The first user can send the total data volume of the first service frame to the communication device 200 before transmitting the data of the first service frame to the communication device 200, so that the communication device 200 can calculate the scheduling priority of the first user.

[0062] S202. Obtain the remaining data volume and remaining available time slots of the first service frame in the current time slot. The remaining available time slots are less than or equal to the total number of time slots.

[0063] It should be understood that the current time slot is one of the total number of time slots.

[0064] The remaining data amount of the first service frame in the current time slot = the total data amount of the first service frame - the amount of data that the first service frame has transmitted before the current time slot.

[0065] Remaining available time slots = Total number of time slots - Number of time slots the first service frame is waiting for. Wherein, the number of time slots the first service frame is waiting for refers to the number of time slots the first service frame has already waited for from the moment it began waiting for transmission until the beginning of the current time slot (excluding the current time slot).

[0066] If the current timeslot is the first timeslot in the total number of timeslots, then the remaining data amount of the first service frame in the current timeslot is equal to the total data amount of the first service frame, and the remaining available timeslots are equal to the total number of timeslots. If the current timeslot is any other timeslot in the total number of timeslots besides the first timeslot, then the remaining data amount of the first service frame in the current timeslot is less than or equal to the total data amount of the first service frame, and the remaining available timeslots are less than the total number of timeslots.

[0067] It should be understood that in both downlink and uplink scenarios, the communication device 200 can obtain the remaining data volume and the remaining available time slots of the first service frame in the current time slot.

[0068] For example, in a downlink scenario, communication device 200 receives a first service frame from an upstream device and buffers it locally. Communication device 200 then needs to transmit the data of the first service frame to a first user. The first service frame is one of the service frames carrying service data related to the first user's first service. In time slots prior to the current time slot, communication device 200 may or may not schedule the data for the first service frame. Communication device 200 can determine the remaining data volume of the first service frame in the current time slot based on the total data volume of the first service frame and the amount of data already scheduled before the current time slot. Communication device 200 can also determine the number of time slots the first service frame is waiting for based on the time difference between the current time and the time the first service frame arrives at communication device 200. Then, by subtracting the number of time slots the first service frame is waiting for from the total number of time slots included in the first user's frame delay requirement, the remaining available time slots for the first service frame can be obtained.

[0069] In the uplink scenario, the first user needs to send a first service frame to the communication device 200. The first service frame is one of the service frames carrying service data related to the first user's first service. At this time, the communication device 200 cannot obtain the remaining data volume and remaining available time slots of the first service frame locally, but determines them through the information sent by the first user. For example, the first user can directly send the remaining data volume and remaining available time slots of the first service frame in the current time slot to the communication device 200; the first user can also send the total data volume and the amount of data already transmitted of the first service frame to the communication device 200, so that the communication device 200 can determine the remaining data volume of the first service frame; the first user can also send the number of time slots that the first service frame is waiting for to the communication device 200, and the communication device 200 can determine the remaining available time slots of the first service frame based on the number of waiting time slots and the total number of time slots included in the first user's frame delay requirement.

[0070] S203. Determine the scheduling priority of the first user. The scheduling priority is positively correlated with the difference between the first data volume and the second data volume. The first data volume is the value obtained by dividing the remaining data volume by the remaining available time slots, and the second data volume is the value obtained by dividing the total data volume by the total number of time slots.

[0071] Specifically, based on the remaining data amount of the first service frame in the current time slot and the number of remaining available time slots obtained in step S203, the communication device 200 divides the remaining data amount by the number of remaining available time slots, which is equivalent to evenly distributing the remaining data amount of the first service frame to each of the remaining available time slots, thereby obtaining the first data amount. In other words, based on the actual situation of the first service frame at the beginning of the current time slot, assuming that the remaining data amount of the first service frame is evenly distributed to each of the remaining available time slots, then on average, each time slot needs to schedule the first data amount of the first service frame.

[0072] Furthermore, based on the total data volume of the first service frame obtained in step S201 and the total number of time slots included in the frame delay requirement of the first user, the communication device 200 divides the total data volume by the total number of time slots, which is equivalent to evenly distributing the total data volume of the first service frame to each time slot in the total number of time slots, thereby obtaining the second data volume. In other words, assuming the first service frame is transmitted according to a uniform strategy, on average, each time slot needs to schedule the second data volume of the first service frame. At this time, different time slots schedule different data in the first service frame, but the amount of data scheduled in different time slots is the same, which is equal to the second data volume. The second data volume is the amount of data that the first service frame needs to transmit in each time slot according to the uniform strategy. It should be understood that, using the second data volume as a transmission benchmark, as long as the actual transmission rate (the amount of data transmitted per time slot) is not lower than this transmission benchmark, it can be ensured that the first service frame is transmitted within the total number of time slots, thereby meeting the frame delay requirement of the first user.

[0073] Then, the communication device 200 determines the scheduling priority of the first user based on the difference between the first data volume and the second data volume, and the difference is positively correlated with the scheduling priority of the first user.

[0074] As introduced above, the second data quantity is a transmission benchmark calculated based on the total data quantity and total number of time slots of the first service frame, representing the amount of data that the first service frame needs to transmit in each time slot according to a uniform strategy. The first data quantity, on the other hand, is a value calculated based on the remaining data quantity of the first service frame in the current time slot and the remaining available time slots, representing the average amount of data that the first service frame needs to transmit in each remaining available time slot.

[0075] If the first data volume is greater than the second data volume, it indicates that the current transmission progress of the first service frame is lagging behind the uniform strategy, and the subsequent transmission of the first service frame is more urgent. Furthermore, the larger the difference between the first data volume and the second data volume, the more urgent the subsequent transmission of the first service frame is, and the more it needs to be prioritized for scheduling the first service frame of the first user. In order to prioritize scheduling the first service frame, the scheduling priority of the first user associated with the first service frame needs to be appropriately increased.

[0076] If the first data volume equals the second data volume, it means that the current transmission progress of the first service frame meets the requirements of the uniform strategy, and it can be considered that the subsequent transmission of the first service frame is in a state of neither too fast nor too slow.

[0077] If the first data volume is less than the second data volume, it means that the current transmission progress of the first service frame is ahead of the uniform strategy. It is possible to consider not transmitting the data of the first user's first service frame in the current time slot, and instead transmit the data of other users' service frames that are more urgent in the current time slot. Therefore, the scheduling priority of the first user can be appropriately reduced.

[0078] It should be noted that the difference between the first data volume and the second data volume reflects the degree of advancement or lag in the transmission progress of the first service frame (or the urgency of its transmission). This difference is positively correlated with scheduling priority and can well adapt to the uncertainty of wireless scheduling. This uncertainty refers to the uncertainty of whether a user can be scheduled in each time slot, and the possibility that a scheduled user's channel may transmit more (more data than the transmission baseline), less, or even no data (e.g., transmission failure) in each time slot. This can lead to the transmission progress of the user's service frames being ahead or behind compared to a uniform strategy (i.e., inaccurate transmission progress). Because the scheduling method of this application takes into account the transmission progress of user service frames when calculating scheduling priorities, the more delayed the transmission progress, the higher the probability that the service frame will be scheduled in the current time slot, and the more advanced the transmission progress, the lower the probability that the service frame will be scheduled in the current time slot. Therefore, this method can achieve adaptive progress adjustment for service frames with delayed transmission progress, so that the actual transmission progress of the service frame moves closer to the transmission benchmark given by the uniform strategy, thereby satisfying the frame delay requirements of more users as much as possible and ensuring that the corresponding service frame is transmitted within the user's frame delay requirements.

[0079] Optionally, in addition to the difference between the first and second data volumes, the scheduling priority of the first user can also be determined by considering the transmission efficiency of the first user's channel. The aforementioned difference is positively correlated with the scheduling priority of the first user, and the aforementioned transmission efficiency is also positively correlated with the scheduling priority of the first user. In other words, the larger the aforementioned difference, the more delayed the transmission of the first service frame, and the more priority should be given to transmitting the data of the first user's first service frame. The higher the aforementioned transmission efficiency, the better the current channel condition of the first user, and the more data can be transmitted through the first user's channel in the current time slot. In this case, priority can be given to transmitting the data of the first user's first service frame to fully utilize the advantages of the channel. The lower the aforementioned transmission rate, the worse the current channel condition of the first user, and the less data can be transmitted through the first user's channel in the current time slot. In this case, it can be considered to temporarily suspend the transmission of the first user's first service frame data, and instead, data from service frames of other users with better signal conditions can be transmitted in the current time slot.

[0080] The following example, using a downstream scenario, illustrates how to determine the scheduling priority of the first user based on the aforementioned difference and transmission efficiency.

[0081] When the first service frame arrives at the communication device 200, the second data volume can be calculated according to formula (1):

[0082] in, This is the second data volume, which is the average amount of data that needs to be transmitted per time slot when the first service frame is transmitted according to the uniform strategy. As a transmission benchmark, it can be used to measure the current transmission progress of the first service frame; Queue u,full It is the total data volume of the first service frame; D u It is the total number of time slots included in the frame latency requirement of the first user, which is also the total number of available time slots for the first user.

[0083] Optionally, the communication device 200 can maintain a queue for each user and cache received service frames sequentially into the corresponding user's queue. When user data needs to be scheduled, data is retrieved from the corresponding queue for transmission. Therefore, the communication device 200 can determine the remaining data amount of the first user's first service frame based on the cache usage of the queue corresponding to the first user.

[0084] At the beginning of the current time slot, the first data volume can be calculated according to formula (2):

[0085] in, The first data volume represents the average amount of data that the first service frame needs to transmit per remaining available time slot; Queue u,fullIt is the amount of remaining data in the current time slot for the first service frame; D u This refers to the total number of time slots included in the frame latency requirement of the first user, which is also the total number of available time slots for the first user; W u It is the number of time slots that the first service frame has been waiting for.

[0086] Referring again to formula (3), by... With transmission reference By comparing the data, the current transmission progress of the first service frame can be determined.

[0087] This indicates that the transmission progress of the first service frame is lagging (3).

[0088] This indicates that the transmission progress of the first service frame conforms to a uniform strategy.

[0089] This indicates that the transmission progress of the first service frame is ahead of schedule.

[0090] It can be seen that formula (3) is obtained through minus The difference is used to measure the current transmission progress of the first service frame. When the difference is greater than 0, the larger the difference, the more lagging the transmission progress of the first service frame. When the difference is less than 0, the smaller the difference, the more advanced the transmission progress of the first service frame.

[0091] For example, assuming the total data volume of the first service frame is 20 bits, and the frame delay requirement of the first user includes a total of 5 time slots, in order to meet the frame delay requirement, the data of the first service frame needs to be transmitted within 5 consecutive time slots. Substituting the total data volume and the total number of time slots into formula (2), we can calculate the average amount of data that needs to be transmitted per time slot according to the uniform strategy, i.e., 20 ÷ 5 = 4 bits. Assuming that in the first time slot after the first service frame arrives at the communication device 200 (i.e., the first time slot in which the first service frame is waiting), the communication device 200 does not schedule the transmission of the data of the first service frame. When the next time slot arrives (i.e., the second time slot in which the first service frame is waiting), the remaining available time slots of the first service frame are 4, and the remaining data volume of the first service frame is 20 bits (equal to the total number of time slots). Substituting them into formula (1), we can calculate the average amount of data that needs to be transmitted per time slot in the remaining available time slots, i.e., 20 ÷ 4 = 5 bits. Referring to formula (3), since 5bit-4bit=1bit>0, it can be determined that the current transmission progress of the first service frame is lagging behind.

[0092] In addition to the first and second data volumes, it is also necessary to determine the transmission efficiency (a measure of channel quality) of the first user's channel in the current time slot. The transmission efficiency can be expressed using the amount of data the first user's channel can transmit on a single carrier (i.e., spectral efficiency), which is greater than or equal to 0. The unit can be bits per carrier or other units, which are not limited in this application. Optionally, the communication device 200 can receive channel state information from the first user. This channel state information indicates the channel state of the first user and may include at least one of the following: the distance between the first user and the communication device 200, the signal-to-noise ratio of the first user's channel, the degree of obstruction, and channel fading. The communication device 200 can then determine the transmission efficiency of the first user's channel based on the channel state information.

[0093] Then, the scheduling priority of the first user can be determined according to formula (4):

[0094] Among them, Priority u It is the scheduling priority of the first user, SE u It is the transmission efficiency of the channel for the first user. It is the largest data volume. It is the second largest amount of data. It is the difference between the first data volume and the second data volume. It can be seen that the right side of formula (4) is SE. u and The product of the products, formula (4) satisfies SE u With Priority u Positive correlation and With Priority u Positive correlation requirement, Priority u The value depends on SE u and The results of these two parts.

[0095] Part of it is an exponential function with base e (e≈2.71828). x (See Figure 3 for reference), and the index Yes Normalization was performed. That is, when the first data volume equals the second data volume, e x =1; when At that time, e x >1, and The larger the difference, the more e x The faster the rise (the steeper the curve as x increases when x is greater than 0), the higher the scheduling priority becomes.u The faster it rises; when Right now At that time, e x <1, but the curve change is smoother compared to when x is greater than 0, making the scheduling priority more manageable. u The decline was relatively slow.

[0096] Based on the characteristics of the exponential function mentioned above, when The larger the difference, the more delayed the transmission of the first service frame. x The larger the priority, the greater the user priority for the first user. u The more significant the improvement effect (refer to the part where x is greater than 0 in Figure 3), the better the SE performance. u Priority u The impact is relatively less significant, thus allowing the first user's first service frame to be transmitted with higher priority. And when... The smaller the difference, the more advanced the transmission of the first service frame. x The smaller the priority, the better. u The reduction effect is not obvious (refer to the part where x is less than 0 in Figure 3), at this time Priority u More influenced by SE u The impact on the first user's channel transmission efficiency (SE) u The higher the priority, the better. u The larger the value, the higher the priority the first service frame of the first user can be transmitted.

[0097] It should be noted that the above formula (4) for calculating scheduling priority is only an example and does not constitute a specific limitation. In practical application scenarios, formula (4) can be appropriately modified. For example, formula (4) can be left unnormalized, the base e of the exponential function can be changed to another number greater than 0, and other formulas can be used to calculate scheduling priority, as long as the scheduling priority is positively correlated with the difference between the first data volume and the second data volume, and the scheduling priority is positively correlated with the transmission efficiency of the channel.

[0098] It should also be noted that the various data quantities described above can be expressed in bits, bytes, or other units of measurement, and this application does not make any specific restrictions on them.

[0099] S204. Determine whether to schedule the data of the first service frame in the current time slot according to the scheduling priority of the first user, wherein when it is determined to schedule the data of the first service frame in the current time slot, the amount of data in the first service frame scheduled by the communication device in the current time slot is greater than or equal to the first data amount.

[0100] It should be understood that in a multi-user (MU) transmission scenario, whether the communication device 200 schedules the transmission of the first user's first service frame data in the current time slot depends on the scheduling priority of the first user and the scheduling priorities of other users who need to transmit data. The scheduling priority of the first user can be calculated through the preceding steps S201 to S203. Referring to the above steps, the scheduling priorities of other users with frame delay requirements can also be calculated, which will not be elaborated here.

[0101] After obtaining the scheduling priorities of all users who need to transmit data, the communication device 200 can sort the scheduling priorities of all users from largest to smallest or smallest to largest, and then determine which users to schedule in the current time slot based on the sorting results. The rule here is to select the service frames of users with higher scheduling priorities for scheduling, that is, to grant transmission opportunities to the service frames of users with high scheduling priorities, while not scheduling the data of service frames of users with lower scheduling priorities in the current time slot.

[0102] According to the above rules, if the scheduling priority of the first user is high, the first user will be selected by the communication device 200 as the user scheduled in the current time slot. The communication device 200 will then schedule the data of the first user's first service frame, and the amount of data in the first service frame scheduled by the communication device 200 in the current time slot will be greater than or equal to the first data volume. This makes the transmission progress of the first service frame move towards a uniform strategy, ensuring that the first service frame can be scheduled and transmitted within the frame delay requirement. If the scheduling priority of the first user is low, the communication device 200 will not schedule the data of the first user's service frame in the current time slot.

[0103] It should be noted that "all users" here refers to users who need to transmit data through communication device 200. Some or all of these users have corresponding frame latency requirements. For users with frame latency requirements, the corresponding scheduling priority can be calculated using the method described above. This application does not specifically limit the number of all users. For example, in a downlink scenario, communication device 200 receives service frames from N users from an upstream device. Communication device 200 needs to schedule the transmission of corresponding service frames to these N users, who are all users currently needing to transmit data. Similarly, in an uplink scenario, assuming M users access communication device 200, these users all need to send corresponding service frame data to communication device 200. These M users are all users currently needing to transmit data. This application also does not specifically limit the number of users that communication device 200 can schedule in the current time slot; it can depend on the scheduling resources (bandwidth, number of carriers, etc.) and resource allocation strategy of communication device 200.

[0104] It should be understood that when multiple users' service frames need to be transmitted, these users will compete for limited scheduling resources (or wireless transmission resources / air interface resources / spectrum resources). To allocate scheduling resources rationally, decisions can be made by comparing the scheduling priorities of these users. As shown in the calculation method of scheduling priority in step S203, the higher the user's scheduling priority, the more delayed the transmission progress of the user's service frames and / or the higher the channel transmission efficiency. To ensure that the service frame is transmitted within the user's latency requirements, more scheduling resources need to be allocated to that user so that more data can be transmitted for that user in the current time slot.

[0105] Therefore, in some possible implementations, if it is determined that the data of the first service frame of the first user will be scheduled in the current time slot, the communication device 200 can also determine the amount of scheduling resources allocated to the first user in the current time slot based on the scheduling priority, and schedule the data of the first service frame in the current time slot based on the amount of scheduling resources allocated. That is to say, the scheduling priority of the first user is used not only to determine whether the first service frame of the first user will be scheduled in the current time slot, but also to determine how many resources the first user can be allocated in the current time slot.

[0106] In addition to allocating scheduling resources, the scheduling priority of the first user can also be used to determine the encoding and modulation methods (such as hexadecimal amplitude modulation, base-64 amplitude modulation, four-phase monitoring modulation, etc.) adopted by the communication device 200 when scheduling the data of the first service frame. This application does not impose specific limitations on this. For example, the communication device 200 can select a low bit error rate encoding method, such as Turbo code, Low Density Parity Check Code (LDPC) code, etc., for users with higher scheduling priority, and select a high-efficiency (higher compression ratio) encoding method, such as Convolutional code, Reed-Solomon (RS) code, etc., for users with lower scheduling priority.

[0107] The scheduling method in Figure 3 will be illustrated below with examples from Figures 4 and 5.

[0108] Please refer to Figure 4, which is a schematic diagram of a downlink scenario scheduling process provided by an embodiment of this application, including the following steps 1 to 7.

[0109] Step 1. Each user sends its own channel status information to the communication device 200.

[0110] The channel state information is used to indicate the channel state of the corresponding user, and the communication device 200 can determine the transmission efficiency of the corresponding user's channel based on the channel state information. This application does not limit the specific content of the channel state information; please refer to the preceding description.

[0111] It should be noted that Figure 4 uses the first, second, third, and fourth users as examples for illustration. In the downlink scenario, the communication device 200 needs to transmit the corresponding service frame to each user, but the number of users here is not limited. In actual application scenarios, the communication device 200 can have more or fewer users.

[0112] Step 2. The communication device 200 determines the transmission efficiency of the channel for each user and the total number of time slots, total data volume, remaining available time slots, and remaining data volume for each user's service frames.

[0113] The transmission rate for each user's channel can be calculated based on that user's channel state information. For details regarding the total number of time slots, total data volume, remaining available time slots, and remaining data volume, please refer to the previous section; they will not be repeated here.

[0114] Step 3. The communication device 200 calculates the scheduling priority for each user.

[0115] Based on the information determined in step 2, the communication device 200 can calculate the scheduling priority of each user in the current time slot. For details, please refer to the method for calculating the scheduling priority of the first user in step S203, which will not be elaborated here.

[0116] Step 4. The communication device 200 determines the users to be scheduled in the current time slot based on the scheduling priority of all users.

[0117] It should be understood that the communication device 200 can sort the scheduling priorities of all users from highest to lowest or lowest to highest, and then determine which users to schedule in the current time slot based on the sorting result. The rule here is to select users with higher scheduling priorities for service frames, while not scheduling service frames of users with lower scheduling priorities in the current time slot. For details, please refer to the previous introduction, which will not be repeated here.

[0118] Step 5. The communication device 200 transmits data to the user who is scheduled in the current time slot.

[0119] For example, as shown in Figure 4, it is assumed that the first user and the fourth user are scheduled in the current time slot, while the second user and the third user are not scheduled in the current time slot. Therefore, the communication device 200 will schedule and transmit the corresponding service frame data to the first user and the fourth user, respectively. Optionally, the communication device 200 can also determine the scheduling resource allocation for the first user and the fourth user in the current time slot according to the scheduling priority. Regarding scheduling resources, please refer to the previous introduction; it will not be repeated here.

[0120] Step 6. The user sends an acknowledgment (ACK) message or a negative acknowledgment (NACK) message to the communication device 200 to confirm successful reception.

[0121] ACK indicates that a user's service frame was successfully transmitted, while NACK indicates that a user's service frame was transmitted unsuccessfully.

[0122] It should be noted that a user's service frame data is typically transmitted across multiple time slots. Each time slot transmits only one segment of data from the service frame, with different time slots transmitting different data segments. The entire service frame's data transmission is completed only after multiple time slots, which may be consecutive or discontinuous. Furthermore, service frames have frame integrity requirements. Data segments of the same service frame transmitted across different time slots are related at the application layer. The service frame is considered successfully transmitted only when every data segment is successfully transmitted. Losing any data segment will cause service frame decoding failure, resulting in service frame transmission failure and impacting the user's service experience. In downlink scenarios, the user receives data from the service frame transmitted by the communication device 200 segment by segment. When the user detects that the latest received data segment is the last segment of the service frame, they can transmit ACK / NACK information to the communication device 200 to notify the communication device 200 whether the user's service frame transmission was successful.

[0123] Continuing from the previous example, since the first user and the fourth user are identified as the users scheduled for the current time slot, the communication device 200 transmits the data of the corresponding service frames to them respectively. Subsequently, the first user and the fourth user can send ACK / NACK information to the communication device 200 according to their own data reception status.

[0124] Step 7. The communication device 200 counts the number of service frames successfully transmitted by each user.

[0125] It should be understood that, assuming a user's reliability requirement is α (0 < α < 1), the number of service frames that the user needs to transmit within a given time period T is X, and the number of service frames successfully transmitted by the user within that time period T is Y, if Y ≥ α·X, then the user is called a satisfactory user. Based on the above user satisfaction judgment rule, the communication device 200, combined with the statistical count of the number of service frames successfully transmitted by each user, can determine the number of satisfactory users among all users served by the communication device 200.

[0126] As described above, the communication device 200 calculates the scheduling priority of each user in the current time slot, and then determines which users should be scheduled in the current time slot based on the ranking of the scheduling priorities of all users. Moreover, the calculation of scheduling priority takes into account the transmission progress of each user's service frames. Users with lagging transmission progress often have higher scheduling priority, which can balance the transmission progress of different users. This allows the data transmission of more users to meet the frame delay requirements, thereby helping to increase the number of satisfied users.

[0127] Please refer to Figure 5, which is a schematic diagram of the scheduling process for an uplink scenario provided in an embodiment of this application, including the following steps 1 to 6.

[0128] Step 1. Each user sends its own channel status information and service frame information to the communication device 200.

[0129] Among them, the channel state information is used to indicate the channel state of the corresponding user, which can be referred to in the previous introduction and will not be repeated here.

[0130] In the uplink scenario, each user has its own service frames that need to be transmitted to the communication device 200. The information of the service frames is used to determine the total number of time slots, the total amount of data, the remaining available time slots, and the remaining amount of data for the corresponding user's service frames. For details on the total number of time slots, the total amount of data, the remaining available time slots, and the remaining amount of data, please refer to the previous introduction, which will not be repeated here.

[0131] Step 2. The communication device 200 calculates the scheduling priority for each user.

[0132] Based on the various information sent by each user in step 1, the communication device 200 can calculate the scheduling priority of each user in the current time slot. For details, please refer to the method for calculating the scheduling priority of the first user in step S203, which will not be elaborated here.

[0133] Step 3. The communication device 200 determines the users to be scheduled in the current time slot based on the scheduling priority of all users.

[0134] It should be understood that the communication device 200 can sort the scheduling priorities of all users from highest to lowest or lowest to highest, and then determine which users to schedule in the current time slot based on the sorting result. The rule here is to select users with higher scheduling priorities for service frames, while not scheduling service frames of users with lower scheduling priorities in the current time slot. For details, please refer to the previous introduction, which will not be repeated here.

[0135] Step 4. The communication device 200 notifies the identified user to transmit data.

[0136] In other words, once the communication device determines the scheduling priority of each user in the manner described above, and then determines which user(s) to schedule in the current time slot, the communication device sends a scheduling notification to the determined user to instruct the corresponding user to allow scheduling in the current time slot. This is equivalent to notifying the corresponding user that they have been granted a data transmission opportunity in the current time slot. Subsequently, the user who has been granted a transmission opportunity can transmit their respective service frame data to the communication device.

[0137] For example, as shown in Figure 5, it is assumed that the first user and the third user are determined as the users scheduled for the current time slot. Therefore, the communication device 200 notifies the first user and the second user to transmit data, that is, grants the first user and the third user the opportunity to transmit data in the current time slot. Optionally, the communication device 200 can also determine the resource allocation amount for the first user and the third user in the current time slot according to the scheduling priority, and then the communication device 200 can allocate the scheduling resources to the corresponding users.

[0138] Step 5. The notified user transmits service frame data to the communication device 200.

[0139] Continuing from the previous example, the communication device 200 determines the scheduling slot for the first and third users based on the scheduling priority of all users, and then notifies the first and third users that they are authorized to transmit data in the current time slot. Upon receiving the notification, the first and third users then transmit their respective service frame data to the communication device 200.

[0140] Step 6. The communication device 200 sends ACK or NACK information to the user transmitting data.

[0141] ACK indicates that the user's service frame transmission was successful, while NACK indicates that the user's service frame transmission failed.

[0142] As can be seen, the commonality between the downlink scenario in Figure 4 and the uplink scenario in Figure 5 is that the communication device 200 needs to calculate the scheduling priority of each user to determine the users scheduled for the current time slot. The essential difference between the two scenarios lies in the direction of data transmission: in the downlink scenario, the communication device 200 transmits data to the user, while in the uplink scenario, the user transmits data to the communication device 200. Therefore, in the downlink scenario, the communication device 200 only needs to obtain channel state information from the user; the information of the service frame used to calculate the scheduling priority can be obtained locally by the communication device 200. However, in the uplink scenario, the communication device 200 needs to obtain both channel state information and service frame information from the user, and then grant transmission opportunities to some users based on the calculated scheduling priorities of all users.

[0143] In summary, in the scheduling method provided in this application, the communication device 200 obtains the total data volume, total number of time slots (i.e., the number of time slots included in the user's frame latency requirement), remaining data volume, and remaining available time slots of the service frames that the user needs to transmit. Then, it calculates the user's scheduling priority based on the obtained information, and determines whether to schedule the user's service frame data in the current time slot based on the scheduling priority. The information regarding the total data volume, total number of time slots, remaining data volume, and remaining available time slots of the service frames reflects the current transmission progress of the user's service frames. The degree of lag in transmission progress is positively correlated with the scheduling priority. The user to be scheduled is then determined based on the ranking of scheduling priorities. This is equivalent to considering the transmission progress of all users; users with more lag in transmission progress have a greater chance of being scheduled, thereby enabling more users' service frames to be transmitted within the frame latency requirement and increasing the number of satisfied users. Moreover, this scheduling method is applicable to both downlink and uplink scenarios, ensuring the frame latency requirements of each user.

[0144] In addition to transmission progress, the scheduling method of this application can also consider the transmission efficiency of the user channel when calculating the scheduling priority. The transmission efficiency is positively correlated with the scheduling priority, which makes users with higher channel transmission efficiency more likely to be scheduled, thereby giving full play to the capabilities of high-quality channels (higher transmission efficiency).

[0145] Please refer to Figure 6, which is a schematic diagram of the structure of a scheduling device 600 provided in an embodiment of this application, including an interface module 610, a determination module 620 and a scheduling module 630.

[0146] The interface module 610 is used to obtain the total data volume of the first service frame of the first user and the total number of time slots included in the frame latency requirement of the first user. The interface module 610 is also used to obtain the remaining data volume of the first service frame in the current time slot and the remaining available time slots, wherein the remaining available time slots are less than or equal to the total number of time slots.

[0147] The determination module 620 is used to determine the scheduling priority of the first user, wherein the scheduling priority is positively correlated with the difference between the first data volume and the second data volume, the first data volume is the value obtained by dividing the remaining data volume by the remaining available time slots, and the second data volume is the value obtained by dividing the total data volume by the total number of time slots.

[0148] The scheduling module 630 is used to determine whether to schedule the data of the first service frame in the current time slot according to the scheduling priority. When it is determined that the data of the first service frame should be scheduled in the current time slot, the data volume of the first service frame scheduled by the scheduling module 630 in the current time slot is greater than or equal to the first data volume.

[0149] Optionally, the interface module 610 is further configured to: obtain the transmission efficiency of the first user's channel in the current time slot. The determination module 620 is specifically configured to: determine the scheduling priority based on the above difference and the transmission efficiency, wherein the above difference is positively correlated with the scheduling priority, and the transmission rate is positively correlated with the scheduling priority.

[0150] Optionally, the interface module 610 is specifically used to: receive channel state information from the first user, and determine the transmission efficiency based on the channel state information. The channel state information includes at least one of the following: the distance between the first user and the communication device, the signal-to-noise ratio of the first user's channel, and the degree of obstruction.

[0151] Optionally, after the scheduling module 630 determines whether to schedule the data of the first service frame in the current time slot based on the scheduling priority, the scheduling module 630 is further configured to: if it is determined that the data of the first service frame should be scheduled in the current time slot, determine the scheduling resource allocation amount of the first user in the current time slot based on the scheduling priority, and schedule the data of the first service frame in the current time slot based on the scheduling resource allocation amount.

[0152] Optionally, after the scheduling module 630 determines whether to schedule the data of the first service frame in the current time slot based on the scheduling priority, the interface module 610 is further configured to: send a scheduling notification to the first user, wherein the scheduling notification is used to instruct the first user whether to schedule the data of the first service frame in the current time slot.

[0153] Optionally, the remaining data volume and the remaining available time slots mentioned above are determined based on the information sent by the first user.

[0154] Optionally, the total number of time slots mentioned above is determined based on at least one of the service associated with the first service frame and the level of the first user.

[0155] It should be noted that the scheduling device 600 in Figure 6 is specifically used to execute the scheduling method in Figure 2, as described above, and will not be repeated here. The scheduling device 600 in Figure 6 is simply divided into an interface module 610, a determination module 620, and a scheduling module 630 based on function. In actual application scenarios, the scheduling device 600 may contain more or fewer modules. For example, one of the above modules can be split into multiple functional modules, or two or more of the above modules can be merged into one functional module. Other functional modules can also be added to the scheduling device 600. This application does not limit this. The interface module 610, the determination module 620, and the scheduling module 630 can all be implemented by software and / or hardware, and this application does not limit this either.

[0156] Referring to Figure 7, this application also provides a communication device 700, including a bus 702, a processor 704, a memory 706, and a network interface 708. The processor 704, the memory 706, and the network interface 708 communicate with each other via the bus 702. The communication device 700 can be a switch, router, chip, etc., and this application does not specifically limit it, nor does it limit the number of processors, memories, etc. in the communication device 700.

[0157] Bus 702 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, only one line is used in Figure 7, but this does not imply that there is only one bus or one type of bus. Bus 702 can include pathways for transmitting information between various components of communication device 700 (e.g., memory 706, processor 704, network interface 708).

[0158] Processor 704 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0159] The memory 706 may include volatile memory, such as random access memory (RAM). The processor 704 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).

[0160] The memory 706 stores executable program code. The processor 704 executes the executable program code to implement the functions of the interface module 610, the determination module 620, and the scheduling module 630 in FIG. 6, respectively, thereby implementing the scheduling method of FIG. 2 of this application.

[0161] The network interface 708 uses transceiver modules such as, but not limited to, network interface cards and transceivers to enable communication between the communication device 700 and other devices or communication networks.

[0162] This application also provides a chip including a processor and an interface. The interface is used for data transmission with an external device or module of the chip, and the processor is used to execute the steps in the scheduling method of Figure 2, as described above, and will not be repeated here.

[0163] This application also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions, capable of running on a communication device or stored on any available medium. When the computer program product runs on the communication device, it causes the communication device to execute the execution steps in the scheduling method of FIG2.

[0164] This application embodiment also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium capable of being stored by the communication device. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive), etc. The computer-readable storage medium includes instructions for directing the communication device to execute the execution steps in the scheduling method of FIG2.

[0165] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of this application.

Claims

1. A scheduling method, characterized by, The method is applied to a communication device, and the method includes: Obtain the total data volume of the first service frame of the first user and the total number of time slots included in the frame latency requirement of the first user; Obtain the remaining data volume and remaining available time slots of the first service frame in the current time slot, wherein the remaining available time slots are less than or equal to the total number of time slots; The scheduling priority of the first user is determined, wherein the scheduling priority is positively correlated with the difference between the first data volume and the second data volume, the first data volume is the value obtained by dividing the remaining data volume by the remaining available time slots, and the second data volume is the value obtained by dividing the total data volume by the total number of time slots; The scheduling priority determines whether to schedule the data of the first service frame in the current time slot, wherein when it is determined that the data of the first service frame should be scheduled in the current time slot, the amount of data in the first service frame scheduled by the communication device in the current time slot is greater than or equal to the first data amount.

2. The method of claim 1, wherein, The method further includes: The transmission efficiency of the first user's channel in the current time slot is obtained, and the scheduling priority is positively correlated with the transmission rate.

3. The method of claim 2, wherein, The step of obtaining the transmission efficiency of the first user's channel in the current time slot includes: Receive channel state information from the first user, wherein the channel state information includes at least one of the following: the distance between the first user and the communication device, the signal-to-noise ratio of the first user's channel, and the degree of obstruction; The transmission efficiency is determined based on the channel state information.

4. The method according to any one of claims 1 to 3, characterized in that, After determining whether to schedule the data of the first service frame in the current time slot based on the scheduling priority, the method further includes: If it is determined that the data of the first service frame will be scheduled in the current time slot, then the scheduling resource allocation amount for the first user in the current time slot will be determined according to the scheduling priority, and the data of the first service frame will be scheduled in the current time slot according to the scheduling resource allocation amount.

5. The method according to any one of claims 1 to 4, characterized in that, After determining whether to schedule the data of the first service frame in the current time slot based on the scheduling priority, the method further includes: A scheduling notification is sent to the first user, wherein the scheduling notification is used to instruct the first user whether to schedule the data of the first service frame in the current time slot.

6. The method according to any one of claims 1 to 5, characterized in that, The remaining data volume and the remaining available time slots are determined based on the information sent by the first user.

7. The method according to any one of claims 1 to 6, characterized in that, The total number of time slots is determined based on at least one of the services associated with the first service frame and the level of the first user.

8. A scheduling apparatus characterized by comprising: include: The interface module is used to obtain the total data volume of the first service frame of the first user and the total number of time slots included in the frame latency requirement of the first user; The interface module is further configured to obtain the remaining data volume and the remaining available time slots of the first service frame in the current time slot, wherein the remaining available time slots are less than or equal to the total number of time slots; The determination module is used to determine the scheduling priority of the first user, wherein the scheduling priority is positively correlated with the difference between the first data volume and the second data volume, the first data volume is the value obtained by dividing the remaining data volume by the remaining available time slots, and the second data volume is the value obtained by dividing the total data volume by the total number of time slots; The scheduling module is used to determine whether to schedule the data of the first service frame in the current time slot according to the scheduling priority, wherein when it is determined that the data of the first service frame is scheduled in the current time slot, the amount of data in the first service frame scheduled by the scheduling module in the current time slot is greater than or equal to the first data amount.

9. The apparatus of claim 8, wherein, The interface module is also used to: obtain the transmission efficiency of the first user's channel in the current time slot, wherein the scheduling priority is positively correlated with the transmission rate.

10. The apparatus of claim 9, wherein, The interface module is specifically used for: Receive channel state information from the first user, wherein the channel state information includes at least one of the following: the distance between the first user and the communication device, the signal-to-noise ratio of the first user's channel, and the degree of obstruction; The transmission efficiency is determined based on the channel state information.

11. The apparatus of any one of claims 8-10, wherein, After the scheduling module determines whether to schedule the data of the first service frame in the current time slot based on the scheduling priority, the scheduling module is further configured to: If it is determined that the data of the first service frame will be scheduled in the current time slot, then the scheduling resource allocation amount for the first user in the current time slot will be determined according to the scheduling priority, and the data of the first service frame will be scheduled in the current time slot according to the scheduling resource allocation amount.

12. The apparatus of any one of claims 8-11, wherein, After the scheduling module determines whether to schedule the data of the first service frame in the current time slot based on the scheduling priority, the interface module is further configured to: A scheduling notification is sent to the first user, wherein the scheduling notification is used to instruct the first user whether to schedule the data of the first service frame in the current time slot.

13. The apparatus of any one of claims 8-12, wherein, The remaining data volume and the remaining available time slots are determined based on the information sent by the first user.

14. The apparatus of any one of claims 8-13, wherein, The total number of time slots is determined based on at least one of the services associated with the first service frame and the level of the first user.

15. A chip, characterized by It includes a processor and an interface, the interface being used for data transmission with an external device or module of the chip, and the processor being used to perform the method as described in any one of claims 1-7.

16. A communications device, characterized by It includes a processor and a memory, the processor being configured to execute instructions stored in the memory to cause the communication device to perform the method as described in any one of claims 1-7.

17. A computer program product comprising instructions, characterized in that, When the instruction is executed on the communication device, the communication device performs the method as described in any one of claims 1-7.

Citation Information

Patent Citations

  • Power line communication resource allocation method based on business time delay fairness

    CN104702394A

  • Resource allocation method and device

    CN115226233A

  • Data transmission method and device

    CN117793932A

  • Apparatus and method for scheduling of packet data in awireless communication system

    KR1020060091158A