A scheduling method, a scheduling device, an electronic device, and a computer program product

By dynamically allocating time slots between APs and STAs, the channel collision problem caused by the CSMA/CA random contention mechanism is solved, thereby improving the channel capacity and communication efficiency of the wireless network.

CN122120955APending Publication Date: 2026-05-29TP-LINK

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
TP-LINK
Filing Date
2026-03-25
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

In large-scale wireless networks, the random channel contention mechanism based on Carrier Sense Multiple Access/Collision Avoidance (CSMA/CA) leads to frequent packet collisions, resulting in increased packet loss rate and reduced channel capacity, thus creating a vicious cycle.

Method used

By acquiring traffic and performance data from the STA through the AP, and dynamically allocating fixed time slot resources, the AP and STA can ensure that they communicate within their respective fixed time slots, thereby reducing packet collisions.

Benefits of technology

It improves the effective capacity and utilization of the channel, reduces collisions between devices, and enhances communication efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122120955A_ABST
    Figure CN122120955A_ABST
Patent Text Reader

Abstract

The application discloses a scheduling method, a scheduling device, electronic equipment and a computer program product. The method is applied to an access point (AP), and comprises the following steps: obtaining statistical data reported by each associated station (STA), wherein the statistical data comprises traffic data and performance data; performing time slot allocation on fixed time slots in a target time slot according to the statistical data, wherein the length of the target time slot is a preset time length, the length of the fixed time slot is not more than the length of the target time slot, the fixed time slot comprises a plurality of first time slots, the AP and a specified number of STAs are respectively allocated at least one first time slot, and the specified number is not more than the total number of STAs associated with the AP; and performing communication scheduling based on the allocated fixed time slots. The application can reasonably schedule the communication between the AP and the STAs, and reduce message collision between different devices.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] In large-scale wireless networks, the disadvantages of random channel contention mechanisms based on Carrier Sense Multiple Access with Collision Avoidance (CSMA / CA) are becoming increasingly apparent. Under this mechanism, terminals rely on random backoff to access the channel, inevitably leading to packet collisions. This results in both an increased packet loss rate, wasting some air interface space, and a reduction in terminal speed, thus decreasing the effective channel capacity and communication efficiency. Furthermore, the reduced channel capacity further increases the probability of collisions between terminals, creating a vicious cycle. Summary of the Invention

[0003] This application provides a scheduling method, scheduling device, electronic device, and computer program product that can reasonably schedule the communication between AP and STA, reducing message collisions between different devices.

[0004] Firstly, this application provides a scheduling method applied to an access point (AP), including: Obtain statistical data reported by each associated station (STA), including traffic data and performance data; Based on statistical data, time slots are allocated to fixed time slots in the target time slot. The length of the target time slot is a preset duration, and the length of the fixed time slot does not exceed the length of the target time slot. The fixed time slot includes multiple first time slots. The AP and a specified number of STAs are each allocated at least one first time slot, and the specified number does not exceed the total number of STAs associated with the AP. Communication scheduling is based on allocated fixed time slots.

[0005] Secondly, this application provides a scheduling device for use in an AP, comprising: The acquisition module is used to acquire statistical data reported by each associated site (STA). The statistical data includes traffic data and performance data. The first allocation module is used to allocate time slots to fixed time slots in the target time slots according to statistical data. The length of the target time slot is a preset duration, and the length of the fixed time slot does not exceed the length of the target time slot. The fixed time slot includes multiple first time slots. The AP and a specified number of STAs are each allocated at least one first time slot, and the specified number does not exceed the total number of STAs associated with the AP. The first scheduling module is used for communication scheduling based on the allocated fixed time slots.

[0006] Thirdly, this application provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the steps of the method described in the first aspect.

[0007] Fourthly, this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the method described in the first aspect above.

[0008] Fifthly, this application provides a computer program product comprising a computer program that, when executed by one or more processors, implements the steps of the method described in the first aspect.

[0009] The advantages of this application compared to existing technologies are as follows: This application achieves communication scheduling between the AP and STA through time slot allocation, solving the channel collision problem caused by the CSMA / CA random contention mechanism. Specifically, on the one hand, the AP can dynamically allocate time slot resources based on the traffic and performance data reported by the STA, thereby achieving reasonable allocation of time slots and improving the effective capacity and utilization of the channel; on the other hand, by allocating the AP and each STA to their respective first time slots in fixed time slots, each device occupies the channel for transmission during a specified period, thereby reducing the occurrence of collisions.

[0010] It is understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here. Attached Figure Description

[0011] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0012] Figure 1 This is a schematic diagram illustrating the implementation process of the scheduling method provided in the embodiments of this application; Figure 2 This is a schematic diagram of the target time slot provided in an embodiment of this application; Figure 3 This is a schematic diagram of fixed time slot allocation under the private allocation mode provided in the embodiments of this application; Figure 4 This is a schematic diagram of fixed time slot allocation under the group allocation mode provided in the embodiments of this application; Figure 5 This is a schematic diagram of fixed time slot allocation under the hybrid allocation mode provided in the embodiments of this application; Figure 6 This is a schematic diagram of the time slot overlap region provided in the embodiments of this application; Figure 7 This is a structural block diagram of the scheduling device provided in the embodiments of this application; Figure 8 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation

[0013] The embodiments of the technical solution of this application will now be described in detail with reference to the accompanying drawings. These embodiments are only used to more clearly illustrate the technical solution of this application and are therefore merely examples, and should not be used to limit the scope of protection of this application.

[0014] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains; the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the application; the terms “comprising” and “having”, and any variations thereof, in the specification, claims, and foregoing description of the drawings are intended to cover non-exclusive inclusion.

[0015] In the description of the embodiments of this application, technical terms such as "first" and "second" are used only to distinguish different objects and should not be construed as indicating or implying relative importance or implicitly indicating the number, specific order, or primary and secondary relationship of the indicated technical features.

[0016] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.

[0017] In the description of the embodiments in this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Additionally, the character " / " in this document generally indicates that the preceding and following related objects have an "or" relationship.

[0018] In the description of the embodiments of this application, the term "multiple" refers to two or more (including two), unless otherwise expressly and specifically defined.

[0019] This application proposes a scheduling method. This scheduling method can be applied to an application processing unit (AP). Please refer to [link / reference]. Figure 1 , Figure 1 The implementation flow of the scheduling method applied to AP is given, and the details are as follows: Step 101: Obtain the statistical data reported by each associated STA.

[0020] After associating with the AP, the STA can periodically report its statistical data over a period of time to the AP, thus providing a basis for the AP to allocate time slots subsequently. This statistical data reporting can be achieved through application-layer protocols, such as Hypertext Transfer Protocol (HTTP), other proprietary protocols based on Transmission Control Protocol (TCP), or proprietary protocols based on User Datagram Protocol (UDP). Alternatively, the statistical data reporting can also be achieved through proprietary wireless communication protocols based on Action frames. This application embodiment does not limit the method of statistical data reporting.

[0021] Specifically, the statistics reported by STA may include traffic data and performance data.

[0022] Traffic data may include, but is not limited to, the following: The average throughput of STA within a preset statistical time period; STA's service traffic characteristics include, but are not limited to, traffic type, latency requirements, and the expected amount of data that the application layer needs to send per unit time. The STA's real-time remaining load. It is understood that the STA can periodically report its real-time remaining load; in addition, the STA can report its real-time remaining load in the Queue Size field of its QoS Control or the Buffer Status Report (BSR) field of its HT Control for each data frame sent to the AP. This embodiment does not limit the reporting method of the real-time remaining load.

[0023] The performance data may include, but is not limited to, the following: The average transmission rate of the STA within a preset statistical time period; STA records RTS message transmission, RTS packet error rate, and MPDU packet error rate within a preset statistical time period; The average packet aggregation degree of STA within a preset statistical time period, which may be specifically the A-MPDU aggregation degree.

[0024] Step 102: Based on statistical data, allocate time slots to the fixed time slots in the target time slot.

[0025] In this embodiment of the application, the basic elements for defining a time slot are as follows: the ownership of the time slot, which specifically refers to which device the time slot belongs to. It can be understood that the ownership of the time slot determines the behavior of each device within the time slot; the offset of the time slot, which specifically refers to the offset of the start time of the time slot relative to the start time of the corresponding target time slot, and its unit is usually microseconds; the length of the time slot, which specifically refers to the difference between the end time of the time slot and the start time of the time slot.

[0026] The target time slot has a preset length. The AP can divide this target time slot into fixed time slots and dynamic time slots. The length of the fixed time slot cannot exceed the length of the target time slot; therefore, in extreme application scenarios, the length of the dynamic time slot can be 0, meaning it practically does not exist. In other words, a target time slot must contain fixed time slots, but not necessarily dynamic time slots. That is, the target time slot is the sum of fixed time slots (all allocated to STAs) and dynamic time slots.

[0027] Fixed time slots can be used for downlink packet transmission by the AP and uplink packet transmission by the STA; dynamic time slots can be used for dynamic scheduling of STAs by the AP, that is, STAs can transmit uplink packets in dynamic time slots under dynamic scheduling.

[0028] After obtaining the latest statistics from each STA, the AP can allocate time slots to a fixed time slot, thus dividing the fixed time slot into multiple first time slots. That is, a fixed time slot includes multiple first time slots. The AP and a specified number of STAs can each be allocated at least one first time slot. The specified number does not exceed the total number of STAs associated with the AP, and this specified number is not a fixed value but a dynamically determined value based on the actual situation in each target time slot. In other words, a device (which can be an AP or a STA) may be allocated two or more non-adjacent first time slots. Furthermore, for a STA, within the current target time slot, all or some STAs may be allocated at least one first time slot. That is, some STAs may not be allocated a first time slot, and the AP can periodically allow these STAs to transmit data through subsequent dynamic central scheduling for dynamic time slots. For example, these STAs may have traffic volumes below a preset traffic threshold. In addition, the lengths of the first time slots are not necessarily equal.

[0029] Note that the AP may also share the first time slot with the STA; that is, the AP is not only assigned a separate first time slot. For example, the AP may share the first time slot with one or more other STAs (which may be a certain STA group or several STA groups), and this is not limited here.

[0030] In some examples, the offset of each time slot divided within the target time slot refers to: the offset of the start time of the divided time slot relative to the start time of the target time slot.

[0031] Please refer to Figure 2 , Figure 2 which gives a schematic of the target time slot. Figure 2 The shown target time slot includes fixed time slots and dynamic time slots; among them, the fixed time slots are divided into 8 first time slots, and their time slot numbers are 1 to 8 respectively. Among them, the first time slot 1 is assigned to the AP, the first time slot 2 is assigned to STA1, both the first time slot 3 and the first time slot 7 are assigned to STA2, the first time slot 4 is assigned to STA3, the first time slot 5 is assigned to STA4, the first time slot 6 is assigned to STA5, and the first time slot 8 is assigned to STA6.

[0032] Step 103, perform communication scheduling based on the assigned fixed time slots.

[0033] The AP can publish the assigned fixed time slots in the network so that each STA can know its own first time slot. In this way, whether it is the AP or each STA, in this fixed time slot, they only send messages within their respective first time slots, thus reducing the possibility of message collision between different devices.

[0034] In some examples, for any device (AP or STA), if the information of the assigned fixed time slots published by the current AP is as follows: the length of the target time slot is T, the current Timing Synchronization Function (TSF) is t, the offset of the first time slot corresponding to the device is off1, and the length of this first time slot is dur1, then: if the current satisfies off1 <= mod(t, T) < off1 + dur1, the device can determine that it is currently in its corresponding first time slot and can perform operations such as packet sending, where mod(t, T) represents t modulo T.

[0035] Note that as long as the time slot allocation scheme of the fixed time slots has not been updated (that is, the AP has not made a new time slot allocation for the fixed time slots), the STA can repeatedly execute the time slot allocation scheme of the latest received fixed time slots, that is, always send messages within the first time slot it is assigned in each target time slot, so that the sending of its messages shows periodicity.

[0036] In some embodiments, in order to achieve a reasonable and flexible allocation of fixed time slots, step 102 may include: Step 1021: Determine the target allocation mode in the preset time slot allocation mode.

[0037] The AP can first select the allocation mode to be followed for this allocation of fixed time slots. Specifically, the AP has three preset time slot allocation modes: private allocation mode, group allocation mode, and hybrid allocation mode. The difference between these three time slot allocation modes lies in the first time slot allocated to the STA. The difference is briefly described below: In the private allocation mode, a first time slot belongs to a single STA.

[0038] In the group allocation mode, a first time slot belongs to a STA group, where a STA group has more than one STA.

[0039] In the mixed allocation mode, some of the first time slots are assigned to a single STA, while the remaining first time slots are assigned to a group of STAs.

[0040] Step 1022: Calculate the expected timeslot length for each STA based on the traffic and performance data of each STA.

[0041] Step 1023: Calculate the expected time slot length of the AP.

[0042] The AP can calculate and adjust the expected time slot length for each STA based on its traffic and performance data, ensuring that each STA can send approximately the same number of packet bytes within its allocated first time slot. This guarantees a degree of flexibility and fairness in time slot allocation. Furthermore, the AP can calculate and adjust its own expected time slot length based on its own communication performance, and this expected time slot length can be adapted to the expected time slot length of the STAs. Additionally, the AP can pre-set upper and lower limits for time slot length to control the length of fixed time slots.

[0043] It is important to note that for STAs with excessive traffic, low speed, or high packet error rate, the AP can also limit their expected time slot length. This is done at the cost of sacrificing the communication experience of individual STAs to prevent them from occupying too much air interface space and worsening the latency of other STAs in the entire network.

[0044] In some examples, the expected time slot lengths for each STA and AP can be calculated as follows: Step A1: The AP can calculate the slot factor for each STA. The formula for calculating the slot factor is as follows: Slot factor = Traffic demand / (1 - Packet error rate) * Average transmit rate The traffic demand can be obtained from the traffic data of the corresponding STA; the packet error rate and average transmit rate can be obtained from the performance data of the corresponding STA. The time slot factor calculated by the above formula can reflect the relative size of the time slot length that each STA should be allocated under the condition of ensuring relative fairness among STAs as much as possible.

[0045] Step A2: Sum the time slot factors for each STA.

[0046] Step A3: Determine the expected slot length of the median STA as a specified slot length (e.g., 4 milliseconds). Then, the expected slot length of the remaining STAs is equal to this specified slot length multiplied by the ratio of their slot factors. Here, the median STA refers to the STA corresponding to the slot factor of the median.

[0047] Step A4: Sum the expected time slot lengths of all STAs to obtain the total expected time slot length of the STAs; Step A5: Statistically analyze the proportion of AP's own Tx transmission idle time within a specified period of time (e.g., 2 seconds) to obtain the AP's average Tx idle time percentage.

[0048] Step A6: Multiply the average Tx space-time ratio of AP by the total expected time slot length of STA. The product is the expected time slot length of AP.

[0049] Step A7: Add the desired time slot length of the AP to the total desired time slot length of the STA. The sum is the length of the fixed time slot. If the length of the fixed time slot is greater than the preset upper limit of the time slot length, or lower than the preset lower limit of the time slot length, the specified time slot length in step A3 can be adjusted, and then step A3 and subsequent steps can be executed to adjust the desired time slot length of each STA and AP until the sum of the desired time slot length of the AP and the total desired time slot length of the STA meets the requirements.

[0050] It should be noted that for some STAs with particularly low traffic, the AP can set their expected time slot length to 0, that is, not allocate the first time slot to them, but instead use dynamic central scheduling for dynamic time slots to periodically allow the STA to transmit data.

[0051] Step 1024: Allocate time slots to fixed time slots based on the expected time slot lengths of each STA, the expected time slot lengths of the AP, and the target allocation mode.

[0052] The AP can allocate the first time slots corresponding to the AP and each STA based on the expected time slot length of each STA, the expected time slot length of the AP, and the determined target allocation mode. That is, the AP can divide a fixed time slot into multiple first time slots of unequal length and determine the ownership of the first time slots, thereby realizing the allocation of fixed time slots.

[0053] Specifically, for application scenarios where the target allocation mode is a private allocation mode, step 1024 can be further defined as follows: Based on the AP's expected time slot length and the expected time slot length of each STA, allocate the corresponding first time slot from the fixed time slots to both the AP and each STA with an expected time slot length greater than 0. That is, in this application scenario, any STA allocated a first time slot can exclusively enjoy that first time slot. This way, the packet transmission times of different STAs can be staggered, thereby avoiding packet collisions between STAs within the network.

[0054] like Figure 3 As shown, Figure 3 The allocation of fixed time slots under the private allocation mode is shown in the figure. Specifically, STA1 exclusively uses the first time slot 1, STA2 exclusively uses the first time slot 2, and so on. It will not be elaborated here.

[0055] Specifically, for application scenarios where the target allocation mode is group allocation, the statistical data obtained by the AP also includes: neighbor data. Each STA can collect its neighbor data through a preset neighbor learning mechanism and report this neighbor data to the AP; this neighbor data can be used to indicate the information of the STA's neighboring STAs, and the messages sent by those neighboring STAs can be received by the corresponding STA. That is, if a message sent by STA1 can be received by STA2, then STA1 can be considered a neighboring STA of STA2. Based on this, step 1024 can be specifically described as follows: Step B1: Based on the neighbor data of each STA, divide each STA into at least one STA group.

[0056] Since the probability of collisions between non-hidden STAs sending messages simultaneously is much lower than the probability of collisions between hidden STAs, this application proposes a group allocation mode to avoid wasting time slots. In this group allocation mode, the AP can first divide the STAs into groups based on the principle that no STA group should contain mutually hidden or unidirectionally hidden STAs. In other words, any two STAs within a group should be neighboring STAs. After dividing the groups based on this principle, at least one STA group can be obtained.

[0057] It should be noted that if an STA is not a neighbor node of any other STA, then the STA itself can form an STA group; therefore, the number of STAs in each STA group is: more than one.

[0058] Step B2: Calculate the expected time slot length of each STA group based on the expected time slot length of each STA.

[0059] For each STA group, the AP can add up the expected time slot lengths of all STAs in the STA group, and the result is the expected time slot length of the STA group.

[0060] Step B3: Based on the expected time slot length of the AP and the expected time slot length of each STA group, allocate the corresponding first time slot from the fixed time slots to the AP and each STA group respectively.

[0061] In this application scenario, each STA group shares the first time slot, and different STA groups are allocated different first time slots, thus avoiding hidden packet collisions between STAs. It's understandable that although packet collisions may still occur between different STAs within the same STA group, the probability of collisions is significantly reduced. Furthermore, STA grouping also facilitates time slot reuse because, in many cases, the traffic of each STA is not continuous but has certain bursty characteristics. Therefore, if each STA is allocated its own dedicated first time slot, it will waste time slots when it has no packets to send within that slot. However, by allocating a first time slot to an STA group, the probability of all STAs within the same group having no packets to send simultaneously is lower, thus reducing the chance of time slot waste.

[0062] like Figure 4 As shown, Figure 4 The following is a schematic diagram of the allocation of fixed time slots under the group allocation mode: STA1, STA2 and STA3 are assigned to STA group G1 to share the first time slot 1; STA4, STA5, STA6 and STA7 are assigned to STA group G2 to share the first time slot 2.

[0063] Specifically, for application scenarios where the target allocation mode is a hybrid allocation mode, the statistical data obtained by the AP may also include: neighbor data. The explanation of neighbor data and neighbor STAs has been described above and will not be repeated here. Based on this, step 1024 can be specifically as follows: Step C1: Based on preset filtering conditions, identify at least one target STA among all associated STAs.

[0064] The preset filtering criteria can be set based on service priority and / or communication performance. In some examples, the preset filtering criteria may include STAs carrying services with a higher priority than a preset priority. For example, if a STA carries a real-time voice intercom or wireless microphone service with high latency requirements, that STA can be identified as the target STA. In other examples, the preset filtering criteria may also include STAs with a packet loss rate higher than a preset packet loss rate, a traffic demand greater than a preset traffic demand, or a transmission rate lower than a preset transmission rate. That is, through this step, the AP can identify higher-priority STAs and STAs with abnormal performance as target STAs.

[0065] Step C2: Based on the neighbor data of the remaining STAs, divide the remaining STAs into at least one STA group.

[0066] Step C3: Calculate the expected time slot length of each STA group based on the expected time slot length of each remaining STA.

[0067] Step C2 is similar to step B1, and step C3 is similar to step B2. They all use the same method to divide STA groups and calculate the expected time slot length of STA groups. The only difference is that the objects to be divided are all STAs and the STAs remaining after filtering in step C2, respectively. This will not be elaborated here.

[0068] Step C4: Based on the expected time slot length of the AP, the expected time slot length of each target STA, and the expected time slot length of each STA group, allocate the corresponding first time slot from the fixed time slots to the AP, each target STA, and each STA group.

[0069] In this application scenario, each STA group shares the first time slot, and different STA groups are allocated different first time slots, thus avoiding packet collisions between hidden STAs. Furthermore, each target STA (including but not limited to high-priority STAs and STAs with abnormal performance) can be allocated a dedicated first time slot, thereby ensuring the latency of high-priority STAs and limiting the packet transmission time of STAs with abnormal performance to prevent worsening the latency of other STAs. It can be understood that the hybrid allocation mode combines the advantages of private allocation mode and group allocation mode to some extent.

[0070] like Figure 5 As shown, Figure 5The following is a schematic diagram of the allocation of fixed time slots under the mixed allocation mode: STA1 and STA2 are assigned to STA group G1 to share the first time slot 1; STA3 is assigned to STA group G2. Since STA group G2 only has STA3, STA3 actually enjoys the first time slot 2 exclusively; STA4, STA5 and STA6 are assigned to STA group G3 to share the first time slot 3; STA7 is the target STA and enjoys the first time slot 4 exclusively.

[0071] It is important to note that Figure 3 , Figure 4 and Figure 5 The diagrams only show the time slot allocation for the STA within a fixed time slot. In real-world applications, the AP itself is also allocated a first time slot, and the AP typically has exclusive access to its first time slot; this will not be elaborated upon here.

[0072] It is important to note that each STA allocated a first time slot still competes for channel access via the CSMA / CA mechanism within that first time slot, thus ensuring compatibility with Wi-Fi and avoiding severe interference with other Wi-Fi networks. Specifically, within its own first time slot (i.e., when the first time slot is allocated to the device or the STA group to which the device belongs), any device (AP or STA) can use the following packet sending methods: increasing the EDCA (enhanced distributed channel access) contention priority, increasing the ED / CS CCA (Energy Detection / Carrier Sense Clear Channel Assessment) detection threshold, and / or allowing packet delivery to the hardware buffer, etc., without limitation here. Similarly, within a first time slot not allocated to the device or the STA group to which the device belongs, any device (AP or STA) can use the following methods to delay or block packet sending: decreasing the EDCA contention priority, decreasing the ED / CS CCA detection threshold, and / or prohibiting packet delivery to the hardware buffer, etc., without limitation here.

[0073] In some embodiments, to prevent other external networks (Overlapping BSS, OBSS) from excessively preempting air interface slots, which could lead to allocated time slots being occupied by OBSS terminals and affecting communication between devices within the current network, this application also proposes a time slot protection mechanism. This mechanism is implemented as follows: each holder of an allocated time slot can reserve the air interface up to the end of the corresponding time slot using the Duration field in the RTS when competing for a channel. This method protects the allocated time slots through channel reservation. Even if a currently allocated time slot becomes idle, OBSS terminals will still be waiting because the Network Allocation Vector (NAV) counter has not returned to zero, thereby maximizing air interface contention capabilities within the network.

[0074] In some embodiments, adjacent first time slots may or may not overlap in the time domain. This application defines the region overlapping the tail of the preceding time slot and the head of the following time slot as the time slot overlap region, and defines the overlap degree between these two time slots as: Overlap = Length of the overlap region between two time slots / Length of the shorter time slot of the two time slots like Figure 6 As shown, Figure 6 A schematic diagram of the time slot overlap region is given. Combined with... Figure 6 It can be seen that, Figure 6 The overlap between time slot SLOT1 and time slot SLOT2 is the ratio of the length of the overlap area between time slot SLOT1 and time slot SLOT2 to the length of time slot SLOT1 (because time slot SLOT1 is shorter than time slot SLOT2).

[0075] Based on the above definition of overlap, when allocating time slots for fixed time slots in the embodiments of this application, the overlap can also be adjusted. The scheduling method proposed in the embodiments of this application may further include: Step D1: For each time slot group, set the overlap of the time slot group according to the preset overlap setting rules.

[0076] In this application embodiment, the time slot group refers to two adjacent first time slots within a fixed time slot, and these two adjacent first time slots overlap. Therefore, the overlap degree of a time slot group refers to the overlap degree of two adjacent first time slots within the time slot group. In this application embodiment, the overlap degree of different time slot groups can be different, and can be set according to a preset overlap degree setting rule.

[0077] In some examples, the overlap setting rule is related to the priority of the STA. For instance, if any time slot within a time slot group is assigned to a high-priority STA or STA group, the overlap of that time slot group can be set to a first overlap, which is less than a preset overlap threshold and can be set to a minimum of 0 (i.e., no overlap), thereby ensuring the transmission delay and stability of the STA or STA group to which that time slot group belongs. If both first time slots within a time slot group are assigned to low-priority STAs or STA groups, the overlap of that time slot group can be set to a second overlap, which is greater than the overlap threshold, thereby appropriately increasing the length of the overlap area between the two first time slots within that time slot group and improving the utilization efficiency of the air interface. High and low priorities can be distinguished by preset priority thresholds, which will not be elaborated here.

[0078] Step D2: Adjust the overlap of each time slot group based on the current channel utilization and / or statistical data.

[0079] After setting the overlap of each time slot group according to the preset overlap setting rules, the AP can further adjust the overlap of each time slot group. The basis for the adjustment is the current channel utilization rate and / or statistical data.

[0080] For example, when the channel utilization is lower than the preset utilization threshold, the AP can appropriately increase the overlap of each time slot group to reduce the transmission delay of the STA; conversely, when the channel utilization is higher than the utilization threshold, the AP can appropriately reduce the overlap of each time slot group, or even reduce the overlap to 0 (i.e., no overlap) to improve the transmission success rate of the STA.

[0081] For example, if the packet error rate of all STAs to which the two first time slots in a time slot group belong is lower than the preset packet error rate threshold, the AP can appropriately increase the overlap of the time slot group; if the packet error rate of any STA to which any first time slot in a time slot group belongs is higher than the packet error rate threshold, the AP can appropriately reduce the overlap of the time slot group, or even reduce the overlap to 0 (i.e., no overlap), in order to improve the transmission success rate of the STA.

[0082] In some embodiments, since the number of STAs that can send packets varies in different first time slots, some radio parameters can also be centrally configured by the AP on a time slot basis. Based on this, the scheduling method proposed in the embodiments of this application may further include: Based on the time slot allocation results and statistical data of fixed time slots, the radio parameters for each first time slot are configured. These radio parameters may include, but are not limited to, EDCA (enhanced distributed channel access) contention window, whether RTS / CTS is enabled, and the data frame size threshold when RTS is enabled. The type of radio parameters centrally configured by the AP is not limited here. For example, if a first time slot is exclusively used by a single STA, the EDCA contention window can be set to a first threshold; if a time slot is exclusively used by multiple STAs, and the number of these multiple STAs is less than a preset threshold, the EDCA contention window can be set to a second threshold; if a time slot is exclusively used by multiple STAs, and the number of these multiple STAs is greater than or equal to the preset threshold, the EDCA contention window can be set to a third threshold, where the first threshold is less than the second threshold, and the third threshold is less than the third threshold. This reduces intra-group conflicts that occur when STA groups share first time slots.

[0083] Accordingly, step 103 can be specifically defined as: performing communication scheduling based on the allocated fixed time slots and the radio parameters of each first time slot. That is, when the AP publishes the allocated fixed time slots in the network, it can also publish the configured radio parameters of each first time slot, so that each STA can send uplink packets in its corresponding first time slot according to the corresponding radio parameters.

[0084] In some embodiments, since the allocation of time slots is decided by the AP based on the statistical data reported by each STA, it inherently has a certain lag, and therefore the allocation results are not always reasonable. In addition, the release of time slots also has a certain delay, so it is inevitable that a certain STA will be allocated a longer time slot, resulting in wasted time slots. Based on this, embodiments of this application propose a time slot release mechanism, which can be implemented in the following ways: After a time slot is used up, the STA releases the time slot using a CTS-to-Self or a private Public Action frame, setting the NAV field to 0. Upon receiving this privately formatted time slot release frame, the AP can immediately send a private CTS-to-Self time slot release frame to notify all associated STAs to clear their NAV counters, preventing STAs that are hidden nodes from being unable to hear each other's time slot release frames. This completes the time slot release process.

[0085] In some embodiments, the AP can also perform dynamic center scheduling for the communication of each STA. Dynamic center scheduling refers to the behavior of a STA (or STA group) temporarily sending data in a time slot that is not assigned to it, due to scheduling by a specific trigger frame sent by the AP. It can be understood that dynamic center scheduling can generally be used for the temporary allocation of dynamic time slots; in addition, dynamic center scheduling can also occur in fixed time slots to make full use of the idle time slice in the first time slot within a fixed time slot.

[0086] To achieve dynamic central scheduling, the AP can first sort the STAs based on the information carried in their uplink packets within a fixed time slot and a preset sorting strategy. Specifically, the information carried in the uplink packets within the fixed time slot refers to the information carried in the QoS Ctrl / HT Ctrl field of the uplink packet's data frame header, including but not limited to the buffer packet size of different radio queues and / or the latency level of the header packets of different radio queues, etc., which are not limited here. After receiving the uplink packets from each STA, the AP can record the buffer load size and latency level of each STA, thereby sorting the STAs. In some examples, the sorting rule used by the AP can be: First, the AP sorts each STA in order of latency level from severe to mild; Then, for two or more STAs with the same latency level, the AP sorts them in descending order according to the highest AccessCategory (AC) with a non-zero cache value. Finally, for two or more STAs with the same latency level and a non-zero cache level and the same highest AC, sort them according to their remaining cache load from highest to lowest. This completes the sorting of all STAs.

[0087] In this application embodiment, as described above, two possible methods of dynamic central scheduling are proposed: dynamic central scheduling for dynamic time slots, and dynamic central scheduling for fixed time slots (specifically, idle time slices in the first time slot). These two methods are described below: For dynamic central scheduling of dynamic time slots, the AP can allocate dynamic time slots in the target time slot according to the sorting results and specified packet sending limit parameters, and perform communication scheduling based on the allocated dynamic time slots. Each dynamic time slot includes at least one second time slot, and at least one STA is allocated one second time slot. The packet sending limit parameters include, but are not limited to, maximum transmission time and RU allocation, etc., which are not specified here. Specifically, the AP can publish the allocated dynamic time slots to each STA through a specific type of trigger frame within its own first time slot or dynamic time slot, thereby achieving sequential scheduling of the sorted STAs and triggering each STA to send uplink packets in its corresponding second time slot according to the packet sending limit parameters.

[0088] It is understandable that the time slot allocation results for fixed time slots (corresponding to steps 101-103) can be published periodically, meaning the AP notifies the STAs of its fixed time slot allocation scheme at regular intervals. The dynamic central scheduling for dynamic time slots, as proposed above, can be triggered immediately after the end of each fixed time slot. For example, if the process of each STA transmitting data within the first time slot indicated by the time slot table is considered one round, then N rounds can use the same time slot allocation scheme, meaning the first time slot allocated to each STA and / or each STA group remains unchanged within N rounds. However, for dynamic central scheduling for dynamic time slots, after each round of STA data transmission based on fixed time slots, the AP can dynamically allocate the second time slot to each STA. That is, the publication frequency of the time slot allocation results for fixed time slots (i.e., the first time slot) and the time slot allocation results for dynamic time slots (i.e., the second time slot) differs; the publication frequency of the time slot allocation results for fixed time slots is usually higher than that for dynamic time slots.

[0089] In some examples, the trigger frame can be a Trigger frame, a CF-Poll frame, or an Action frame carrying a private identifier, etc., which is not limited here. When the trigger frame is an Action frame carrying a private identifier, the AP can use a single trigger frame to temporarily allocate time slots for multiple STAs in dynamic time slots within its own first time slot; that is, the AP does not need to send the trigger frame multiple times within its own first time slot, but only needs to send a single trigger frame to schedule multiple STAs to perform uplink packet transmission in their respective second time slots. When the trigger frame is a Trigger frame or a CF-Poll frame, the AP can send the trigger frame within the dynamic time slot. That is, each time the AP sends the trigger frame within the dynamic time slot, it constitutes a dynamic scheduling. A dynamic scheduling can be to schedule only a single STA for uplink packet transmission, or to schedule multiple STAs simultaneously for uplink packet transmission via uplink multi-user OFDMA. It should be noted that when an STA is scheduled in this case (i.e., scheduled by the Trigger frame or CF-Poll frame sent by the AP within the dynamic time slot), even if its NAV counter has not counted down to 0, it should immediately follow the AP's instructions to transmit uplink packets in response to the AP's scheduling.

[0090] For dynamic central scheduling with fixed time slots, since the traffic of each STA may fluctuate, each STA may not always fully utilize its allocated first time slot, resulting in wasted time slots. Therefore, the AP can utilize idle time slices within the first time slot for dynamic central scheduling. Specifically, there are two scheduling modes for dynamic central scheduling with fixed time slots; after selecting a target scheduling mode, the AP and STAs can execute the relevant operations under that target scheduling mode, thereby enabling the AP to acquire the right to use idle time slices within the first time slot. The following is a detailed explanation of these two scheduling modes: The first scheduling mode is the active release-rescheduling mode: For any STA, if the STA has enabled the time slot release mechanism mentioned above, the AP can know that the STA has released its first time slot through the time slot release frame in the private format issued by the STA, which will not be elaborated here.

[0091] When the first time slot is exclusively used by the STA, the AP can first determine the STA to be scheduled based on the sorting results (generally the STA ranked first in the sorting results), and then actively schedule the STA to use the remaining time slice (i.e., idle time slice) in the released first time slot through a specific type of trigger frame. The sorting results and the specific type of trigger frame have been described above and will not be repeated here.

[0092] When the first time slot is shared by a certain STA group, based on the previous description of the time slot release mechanism, the remaining time slice (i.e., idle time slice) of the first time slot can continue to be contested by other STAs or APs within the STA group. Other STAs within the STA group have a higher contestation priority than the AP. Specifically, the AP can lower its EDCA contestation priority; or, the AP can wait for a period of time after the first time slot has been released without any STA access before engaging in channel contestation to try to acquire the remaining time slice (i.e., idle time slice) of the first time slot. Only after the AP successfully contests the channel, i.e., after successfully acquiring the remaining time slice (i.e., idle time slice) of the first time slot, can dynamic central scheduling be performed. Specifically, this involves actively scheduling the STAs to be scheduled to use the remaining time slice (i.e., idle time slice) of the released first time slot through a specific type of trigger frame. The sorting results, the specific type of trigger frame, and the STAs to be scheduled have been described previously and will not be repeated here.

[0093] The second scheduling mode is the contention-rescheduling mode: Since releasing a time slot requires the STA to actively send a specific message, this operation itself incurs some overhead. Furthermore, when there are too many STAs in a group, the release of a time slot may fail due to packet loss of individual specific messages. Therefore, the AP can directly lower the EDCA contention priority within a first time slot that does not belong to it, thus giving priority to other STAs for that first time slot. If other STAs' first time slots are not free, the AP has a low probability of acquiring the first time slot through contention; conversely, if the first time slot has some free space, the AP has a higher probability of acquiring the right to use the free time slice of that first time slot through contention, and then actively schedules the STAs to be scheduled to use that free time slice through a specific type of trigger frame. The specific type of trigger frame and the STAs to be scheduled have been described previously and will not be repeated here.

[0094] In some embodiments, the AP can publish allocated fixed time slots through a time slot allocation table, enabling the AP and each STA to schedule communication based on the allocated fixed time slots. In some examples, the contents of the time slot allocation table may include, but are not limited to: The slot allocation table number is used to indicate a uniquely identified slot allocation table. The expected effective TSF indicates when the AP will enable the fixed time slot allocation scheme carried by the time slot allocation table; Strict time slot control is used to indicate whether packet transmission outside of time slots by lowering EDCA priority is allowed; The out-of-slot EDCA parameter is used to indicate the EDCA contention parameter that the terminal should set when the STA is allowed to send packets outside of a time slot; The RTS threshold is used to indicate how many bytes a data frame needs to be larger than when RTS protection needs to be enabled. The fixed time slot allocation scheme includes: an AID Bitmap indicating which AIDs are valid time slots and which AIDs are invalid time slots in the fixed time slot allocation table; and the offset and length of the first time slot allocated to each STA (arranged in ascending order according to AID order).

[0095] As can be seen, in addition to the allocation scheme of fixed time slots, the time slot allocation table also includes the wireless parameters configured by the AP for different first time slots in the fixed time slots, which have been described above and will not be repeated here.

[0096] Considering that the traffic demands of STAs and the air interface environment may frequently change, the allocation scheme for fixed time slots is not static. Therefore, the AP needs to broadcast the latest time slot allocation table when the allocation scheme changes. It is important to note that, unlike existing technologies, in this embodiment, the AP does not continuously broadcast the time slot allocation table; instead, it only broadcasts the latest time slot allocation table when the allocation scheme changes (i.e., the allocation scheme is updated).

[0097] In some examples, the publication process for the time slot allocation table can be as follows: In step E1, the AP can periodically broadcast the currently used time slot allocation table number (only one) and the time slot allocation table number that will take effect in the future (which can be 0 or more) through Beacon or Action frames.

[0098] In step E2, when the AP updates the fixed time slot allocation scheme, it generates a corresponding time slot allocation table based on it. This time slot allocation table carries a unique time slot allocation table sequence number. The AP can broadcast one or more time slot allocation tables that will take effect in the future multiple times (e.g., 3 times) through Action frames.

[0099] Step E3: When the STA receives a Beacon or Action frame, it parses the frame and selects an appropriate processing scheme based on the parsing result, as follows: Case 1: If the parsing result indicates that it only contains the slot allocation table number, and the slot allocation table number has a corresponding record in the STA, then the STA will still select the fixed slot allocation scheme contained in the corresponding slot allocation table to execute the packet sending control process according to the current TSF time and the TSF time when different slot allocation tables take effect.

[0100] Scenario 2: If the parsing result only contains time slot allocation table sequence numbers, and one or more of these sequence numbers do not have corresponding records found locally on the STA, it indicates that the STA missed one or more times the AP's time slot allocation table publication. In this case, the STA can proactively request the AP to rebroadcast the latest time slot allocation table via an Action frame containing a private identifier.

[0101] Scenario 3: If the parsing result indicates that it contains one or more complete time slot allocation tables, the STA can further parse these time slot allocation tables and store the information carried by each time slot allocation table in sequence, including the time slot allocation table number, the expected effective TSF, and the information of the first time slot belonging to it. Then, according to the current TSF time and the TSF time when different time slot allocation tables start to take effect, the STA selects the allocation scheme of the fixed time slot contained in the corresponding time slot allocation table and executes the packet sending control process.

[0102] It is understandable that, through the time slot allocation table publishing process shown above, the AP does not need to periodically broadcast the complete time slot allocation table, but only needs to periodically broadcast the serial number of the published time slot allocation table. The STA can then check whether it has successfully received all published time slot allocation tables, thereby reducing the air interface overhead of time slot publishing.

[0103] As can be seen from the above, the embodiments of this application achieve communication scheduling between AP and STA through time slot allocation, thus solving the channel collision problem caused by the CSMA / CA random contention mechanism. Specifically, on the one hand, the AP can dynamically allocate time slot resources based on the traffic data and performance data reported by the STA, thereby achieving reasonable allocation of time slots and improving the effective capacity and utilization of the channel; on the other hand, by allocating the AP and each STA to their respective first time slots in fixed time slots, each device occupies the channel for transmission during a specified period, thereby reducing the occurrence of collisions.

[0104] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0105] Corresponding to the scheduling method provided above, this application also provides a scheduling device. This scheduling device can be applied to an application processor (AP). Please refer to... Figure 7 The scheduling device 7 in this embodiment includes: The acquisition module 701 is used to acquire statistical data reported by each associated site STA. The statistical data includes traffic data and performance data. The first allocation module 702 is used to allocate time slots to fixed time slots in the target time slots according to statistical data. The length of the target time slot is a preset duration, the length of the fixed time slot does not exceed the length of the target time slot, and the fixed time slot includes multiple first time slots. The AP and a specified number of STAs are each allocated at least one first time slot, and the specified number does not exceed the total number of STAs associated with the AP. The first scheduling module 703 is used for communication scheduling based on the allocated fixed time slots.

[0106] In some embodiments, the first allocation module 702 includes: The determining unit is used to determine the target allocation mode among the preset time slot allocation modes. The preset time slot allocation modes include: private allocation mode, group allocation mode and mixed allocation mode. The first calculation unit is used to calculate the expected time slot length of each STA based on the traffic data and performance data of each STA. The second calculation unit is used to calculate the expected time slot length of the AP; The allocation unit is used to allocate fixed time slots according to the expected time slot length of each STA, the expected time slot length of the AP, and the target allocation mode.

[0107] In some embodiments, the statistical data further includes: neighbor data, which indicates information about the neighboring STAs of the corresponding STA; when the target allocation mode is a group allocation mode, the allocation unit includes: The first partitioning subunit is used to divide each STA into at least one STA group based on the neighbor data of each STA. For each STA group, the STA group includes more than one STA, and any two STAs in the STA group are neighbor STAs. The first calculation subunit is used to calculate the expected time slot length of each STA group based on the expected time slot length of each STA. The first allocation subunit is used to allocate the first time slot in the fixed time slot to the AP and each STA group according to the AP's expected time slot length and the expected time slot length of each STA group.

[0108] In some embodiments, the statistical data further includes: neighbor data, which indicates information about the neighboring STAs of the corresponding STA; when the target allocation mode is a mixed allocation mode, the allocation unit includes: The sub-unit is determined to identify at least one target STA among all associated STAs based on preset filtering conditions. The second partitioning subunit is used to divide the remaining STAs into at least one STA group based on the neighbor data of the remaining STAs. For each STA group, the STA group includes more than one STA, and any two STAs in the STA group are neighboring STAs. The second calculation subunit is used to calculate the expected time slot length of each STA group based on the expected time slot length of each remaining STA. The second allocation subunit is used to allocate the first time slot corresponding to the fixed time slot to the AP, each target STA and each STA group according to the AP's expected time slot length, each target STA's expected time slot length and each STA group's expected time slot length.

[0109] In some embodiments, when the target allocation mode is a private allocation mode, the allocation unit includes: The third allocation subunit is used to allocate the first time slot in the fixed time slot to the AP and each STA with a expected time slot length greater than 0, based on the AP's expected time slot length and the expected time slot length of each STA.

[0110] In some embodiments, the scheduling device 7 further includes: The setting module is used to set the overlap of the time slot group according to the preset overlap setting rules for each time slot group. The time slot group includes two adjacent first time slots in a fixed time slot, and the two adjacent first time slots overlap. The adjustment module is used to adjust the overlap of each time slot group based on the current channel utilization and / or statistical data.

[0111] In some embodiments, the scheduling device 7 further includes: The configuration module is used to configure the wireless parameters of each first time slot based on the time slot allocation results and statistical data of the fixed time slot; Accordingly, the first scheduling module 703 is specifically used for communication scheduling based on the allocated fixed time slots and the wireless parameters of each first time slot.

[0112] In some embodiments, when the length of the fixed time slot is less than the length of the target time slot, the target time slot further includes a dynamic time slot, and the dynamic time slot follows the fixed time slot; the scheduling device 7 further includes: The sorting module is used to sort each STA according to the information carried by each STA in the uplink message in the fixed time slot and the preset sorting strategy after the first scheduling module 703 performs communication scheduling based on the allocated fixed time slot. The second allocation module is used to allocate time slots to dynamic time slots in the target time slots according to the sorting results and the specified packet sending limit parameters. The dynamic time slots include at least one second time slot, and at least one STA is allocated a second time slot. The second scheduling module is used for communication scheduling based on the allocated dynamic time slots.

[0113] As can be seen from the above, the embodiments of this application achieve communication scheduling between AP and STA through time slot allocation, thus solving the channel collision problem caused by the CSMA / CA random contention mechanism. Specifically, on the one hand, the AP can dynamically allocate time slot resources based on the traffic data and performance data reported by the STA, thereby achieving reasonable allocation of time slots and improving the effective capacity and utilization of the channel; on the other hand, by allocating the AP and each STA to their respective first time slots in fixed time slots, each device occupies the channel for transmission during a specified period, thereby reducing the occurrence of collisions.

[0114] Corresponding to the scheduling method provided above, this application also provides an electronic device. Please refer to... Figure 8 The electronic device 8 in this embodiment includes: a memory 801, and one or more processors 802. Figure 8 (Only one is shown in the image) and a computer program stored in memory 801 and executable on the processor. Specifically, the processor 802 performs the following steps by running the aforementioned computer program stored in memory 801: Obtain statistical data reported by each associated site (STA), including traffic data and performance data; Based on statistical data, time slots are allocated to fixed time slots in the target time slot. The length of the target time slot is a preset duration, and the length of the fixed time slot does not exceed the length of the target time slot. The fixed time slot includes multiple first time slots. The AP and a specified number of STAs are each allocated at least one first time slot, and the specified number does not exceed the total number of STAs associated with the AP. Communication scheduling is based on allocated fixed time slots.

[0115] Assuming the above is the first possible implementation, then in the second possible implementation provided based on the first possible implementation, time slot allocation is performed on fixed time slots in the target time slot according to statistical data, including: In the preset time slot allocation modes, the target allocation mode is determined. The preset time slot allocation modes include: private allocation mode, group allocation mode and hybrid allocation mode. Based on the traffic and performance data of each STA, calculate the expected time slot length for each STA. Calculate the expected time slot length of the AP; Based on the expected time slot length of each STA, the expected time slot length of the AP, and the target allocation mode, time slots are allocated to fixed time slots.

[0116] In a third possible implementation based on the second possible implementation described above, the statistical data further includes: neighbor data, which indicates information about the neighboring STAs of the corresponding STA; when the target allocation mode is a group allocation mode, time slot allocation is performed on fixed time slots according to the expected time slot length of each STA, the expected time slot length of the AP, and the target allocation mode, including: Based on the neighbor data of each STA, each STA is divided into at least one STA group. For each STA group, the STA group includes more than one STA, and any two STAs in the STA group are neighboring STAs. Calculate the expected time slot length for each STA group based on the expected time slot length for each STA. Based on the expected time slot length of the AP and the expected time slot length of each STA group, the first time slot corresponding to the fixed time slot is allocated to the AP and each STA group respectively.

[0117] In a fourth possible implementation based on the second possible implementation described above, the statistical data further includes: neighbor data, which indicates information about the neighboring STAs of the corresponding STA; and, when the target allocation mode is a mixed allocation mode, allocating fixed time slots according to the expected time slot length of each STA, the expected time slot length of the AP, and the target allocation mode, including: Based on preset filtering criteria, identify at least one target STA among all associated STAs; Based on the neighbor data of the remaining STAs, the remaining STAs are divided into at least one STA group. For each STA group, the STA group includes more than one STA, and any two STAs in the STA group are neighboring STAs. Calculate the expected time slot length for each STA group based on the expected time slot length of each remaining STA; Based on the expected time slot length of the AP, the expected time slot length of each target STA, and the expected time slot length of each STA group, the first time slot corresponding to the fixed time slot is allocated to the AP, each target STA, and each STA group.

[0118] In the fifth possible implementation provided based on the second possible implementation described above, when the target allocation mode is a private allocation mode, time slot allocation is performed on fixed time slots according to the expected time slot length of each STA, the expected time slot length of the AP, and the target allocation mode, including: Based on the expected time slot length of the AP and the expected time slot length of each STA, the first time slot corresponding to the fixed time slot is allocated to the AP and each STA with an expected time slot length greater than 0.

[0119] In a sixth possible implementation provided based on the first, second, third, fourth, or fifth possible implementations described above, the processor 802 further performs the following steps when running the computer program stored in the memory 801: For each time slot group, the overlap of the time slot group is set according to the preset overlap setting rules. The time slot group includes two adjacent first time slots in a fixed time slot, and the two adjacent first time slots overlap. Adjust the overlap of each time slot group based on the current channel utilization and / or statistical data.

[0120] In a seventh possible implementation provided based on the first, second, third, fourth, or fifth possible implementations described above, the processor 802 further performs the following steps when running the computer program stored in the memory 801: Based on the time slot allocation results and statistical data of the fixed time slots, configure the wireless parameters of each first time slot; Accordingly, communication scheduling is performed based on the allocated fixed time slots, including: Communication scheduling is performed based on the allocated fixed time slots and the wireless parameters of each first time slot.

[0121] In an eighth possible implementation provided based on the first, second, third, fourth, or fifth possible implementations described above, when the length of the fixed time slot is less than the length of the target time slot, the target time slot further includes a dynamic time slot, and the dynamic time slot follows the fixed time slot. After communication scheduling is performed based on the allocated fixed time slot, the processor 802 further performs the following steps when running the computer program stored in the memory 801: Based on the information carried by each STA in the uplink packets within a fixed time slot and the preset sorting strategy, each STA is sorted. Based on the sorting results and the specified packet sending limit parameters, the dynamic time slots in the target time slots are allocated, wherein the dynamic time slots include at least one second time slot, and at least one STA is allocated a second time slot respectively; Communication scheduling is based on allocated dynamic time slots.

[0122] It should be understood that, in the embodiments of this application, the processor 802 may be a central processing unit (CPU), but it may also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.

[0123] Memory 801 may include read-only memory and random access memory, and provides instructions and data to processor 802. Some or all of memory 801 may also include non-volatile random access memory. For example, memory 801 may also store device type information.

[0124] As can be seen from the above, the embodiments of this application achieve communication scheduling between AP and STA through time slot allocation, thus solving the channel collision problem caused by the CSMA / CA random contention mechanism. Specifically, on the one hand, the AP can dynamically allocate time slot resources based on the traffic data and performance data reported by the STA, thereby achieving reasonable allocation of time slots and improving the effective capacity and utilization of the channel; on the other hand, by allocating the AP and each STA to their respective first time slots in fixed time slots, each device occupies the channel for transmission during a specified period, thereby reducing the occurrence of collisions.

[0125] This application also provides a computer program product that, when run on an electronic device, enables the electronic device to perform the steps described in the various method embodiments above.

[0126] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the above device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0127] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0128] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of external device software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0129] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative. For instance, the division of modules or units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between devices or units through some interfaces, and may be electrical, mechanical, or other forms.

[0130] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0131] If the integrated units described above are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing associated hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable storage medium can include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer-readable storage device, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium, etc. It should be noted that the contents of the aforementioned computer-readable storage media may be appropriately added to or subtracted from the contents according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable storage media may not include electrical carrier signals and telecommunication signals.

[0132] 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 spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A scheduling method, characterized in that, The scheduling method is applied to access points (APs) and includes: Obtain statistical data reported by each associated site (STA), including traffic data and performance data; Based on the statistical data, time slots are allocated to fixed time slots in the target time slot. The length of the target time slot is a preset duration, and the length of the fixed time slot does not exceed the length of the target time slot. The fixed time slot includes multiple first time slots. The AP and a specified number of STAs are each allocated at least one first time slot. The specified number does not exceed the total number of STAs associated with the AP. Communication scheduling is performed based on the allocated fixed time slots.

2. The scheduling method as described in claim 1, characterized in that, The step of allocating fixed time slots in the target time slots according to the statistical data includes: In the preset time slot allocation modes, a target allocation mode is determined. The preset time slot allocation modes include: private allocation mode, group allocation mode, and hybrid allocation mode. Based on the traffic and performance data of each STA, calculate the expected time slot length for each STA. Calculate the desired time slot length of the AP; The fixed time slots are allocated according to the expected time slot length of each STA, the expected time slot length of the AP, and the target allocation mode.

3. The scheduling method as described in claim 2, characterized in that, The statistical data further includes: neighbor data, which indicates information about the neighboring STAs of the corresponding STA; when the target allocation mode is a group allocation mode, the allocation of fixed time slots according to the expected time slot length of each STA, the expected time slot length of the AP, and the target allocation mode includes: Based on the neighbor data of each STA, each STA is divided into at least one STA group, wherein for each STA group, the STA group includes more than one STA, and any two STAs in the STA group are neighboring STAs; Calculate the expected time slot length of each STA group based on the expected time slot length of each STA; Based on the expected time slot length of the AP and the expected time slot length of each STA group, the first time slot corresponding to the fixed time slot is allocated to the AP and each STA group respectively, wherein the first time slot allocated to the STA group is shared by all STAs in the STA group.

4. The scheduling method as described in claim 2, characterized in that, The statistical data further includes: neighbor data, which indicates information about the neighboring STAs of the corresponding STA; when the target allocation mode is a mixed allocation mode, the allocation of fixed time slots according to the expected time slot length of each STA, the expected time slot length of the AP, and the target allocation mode includes: Based on preset filtering criteria, at least one target STA is identified among all the associated STAs; Based on the neighbor data of the remaining STAs, the remaining STAs are divided into at least one STA group, wherein for each STA group, the STA group includes more than one STA, and any two STAs in the STA group are neighboring STAs. Calculate the expected time slot length of each STA group based on the expected time slot length of each of the remaining STAs; Based on the expected time slot length of the AP, the expected time slot length of each target STA, and the expected time slot length of each STA group, a first time slot corresponding to the fixed time slot is allocated to the AP, each target STA, and each STA group respectively. The first time slot allocated to each target STA is exclusively used by that target STA, and the first time slot allocated to each STA group is shared by all STAs within that STA group.

5. The scheduling method as described in claim 2, characterized in that, When the target allocation mode is a private allocation mode, the process of allocating time slots to the fixed time slots based on the expected time slot lengths of each STA, the expected time slot lengths of the AP, and the target allocation mode includes: Based on the expected time slot length of the AP and the expected time slot length of each STA, the first time slot corresponding to the fixed time slot is allocated to the AP and each STA with an expected time slot length greater than 0, wherein the first time slot allocated to each STA is exclusively used by that STA.

6. The scheduling method according to any one of claims 1 to 5, characterized in that, The scheduling method further includes: For each time slot group, the overlap of the time slot group is set according to a preset overlap setting rule, wherein the time slot group includes two adjacent first time slots in the fixed time slot; The overlap of each time slot group is adjusted based on the current channel utilization and / or the statistical data.

7. The scheduling method according to any one of claims 1 to 5, characterized in that, The scheduling method further includes: Based on the time slot allocation results of the fixed time slots and the statistical data, configure the wireless parameters of each of the first time slots; Accordingly, the communication scheduling based on the allocated fixed time slots includes: Communication scheduling is performed based on the allocated fixed time slots and the wireless parameters of each of the first time slots.

8. The scheduling method according to any one of claims 1 to 5, characterized in that, When the length of the fixed time slot is less than the length of the target time slot, the target time slot further includes a dynamic time slot, and the dynamic time slot is after the fixed time slot; after communication scheduling is performed based on the allocated fixed time slot, the scheduling method further includes: Based on the information carried by the uplink packets of each STA in the fixed time slot and the preset sorting strategy, each STA is sorted. Based on the sorting results and the specified packet sending restriction parameters, the dynamic time slots in the target time slots are allocated, wherein the dynamic time slots include at least one second time slot, and at least one STA is allocated a second time slot respectively; Communication scheduling is performed based on the allocated dynamic time slots.

9. A scheduling device, characterized in that, The scheduling device is applied to the AP and includes: The acquisition module is used to acquire statistical data reported by each associated site (STA), including traffic data and performance data. The first allocation module is used to allocate time slots to fixed time slots in the target time slots according to the statistical data, wherein the length of the target time slot is a preset duration, the length of the fixed time slot does not exceed the length of the target time slot, the fixed time slot includes multiple first time slots, and the AP and a specified number of STAs are each allocated at least one first time slot, wherein the specified number does not exceed the total number of STAs associated with the AP; The first scheduling module is used for communication scheduling based on the allocated fixed time slots.

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method as described in any one of claims 1 to 8.

11. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by one or more processors, implements the method as described in any one of claims 1 to 8.