Data packet transmission method, apparatus, communication system, electronic device, and storage medium

By implementing a two-time-period scheduling method with constant and variable durations, the access point ensures timely data upload for all clients, addressing delays in Wi-Fi6 industrial applications by optimizing data transmission efficiency and flexibility.

WO2025199989A1PCT designated stage Publication Date: 2025-10-02SIEMENS AG +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/084944
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-29
Publication Date
2025-10-02

AI Technical Summary

Technical Problem

Existing Wi-Fi6 data transmission methods in industrial applications fail to guarantee timeliness due to sequential scheduling by access points, leading to delays when clients with high-priority data occupy transmission time, thereby affecting the timely upload of data from other clients.

Method used

The access point schedules data transmission in two time periods, allocating a constant duration in the first period and variable durations in the second period based on scheduling logic, ensuring each client has an opportunity to upload data promptly, with priority-based packing and buffer status information to optimize data transmission.

Benefits of technology

This approach ensures timely data upload for both high-priority and low-priority data, improving the efficiency and flexibility of data transmission by reducing communication overhead and preventing delays across scheduling cycles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024084944_02102025_PF_FP_ABST
    Figure CN2024084944_02102025_PF_FP_ABST
Patent Text Reader

Abstract

A data packet transmission method, a data packet transmission apparatus, a communication system, an electronic device, and a storage medium are provided. The data packet transmission method applied to an access point includes: transmitting first trigger frames to a plurality of clients coupled to the access point in a first time period, and receiving first data packets transmitted from the plurality of clients in response to the first trigger frames, wherein the first trigger frames comprise first duration information, the first duration information is used to indicate an upper limit of time consumption for transmitting the first data packets from the clients, and the first trigger frames transmitted to the plurality of clients comprise same first duration information; and transmitting second trigger frames to at least some clients among the plurality of clients in a second time period, and receiving second data packets transmitted from the at least some clients in response to the received second trigger frames. This solution can improve the timeliness for the clients to upload data to the access point.
Need to check novelty before this filing date? Find Prior Art

Description

DATA PACKET TRANSMISSION METHOD, APPARATUS, COMMUNICATION SYSTEM, ELECTRONIC DEVICE, AND STORAGE MEDIUMTECHNICAL FIELD

[0001] The present disclosure relates to the field of communication technologies, and particularly relates to a data packet transmission method, a data packet transmission apparatus, a communication system, an electronic device, and a storage medium.BACKGROUND

[0002] Industrial applications have strict requirements on transmission delays, such as transmission of PROFINET IO (PNIO) data over Wi-Fi. With the development of Wi-Fi technologies, the industrial applications transmit data over Wi-Fi6. Wi-Fi6 uses an Orthogonal Frequency Division Multiple Access (OFDMA) technology, and performs data transmission using a triggered transmission mode, that is, an access point (AP) controls the initiation of OFDMA transmission in uplink (UL) and downlink (DL) directions using trigger frames, in combination with a Multi-user extension for Enhanced Distributed Channel Access (MU-EDCA) technology.

[0003] At present, when scheduling clients to upload data, the access point schedules the clients to first upload high-priority data, and then upload low-priority data after the uploading of the high-priority data is completed.

[0004] However, since the access point sequentially schedules the clients to upload data, if one of the clients has a lot of high-priority data, the access point will delay the scheduling of next clients, resulting in the delay of the next clients in uploading data, thereby failing to guarantee the timeliness of data transmission.SUMMARY

[0005] In view of this, a data packet transmission method, a data packet transmission apparatus, a communication system, an electronic device, and a storage medium provided in the present disclosure can improve the timeliness of data transmission.

[0006] According to a first aspect of embodiments of the present disclosure, a data packet transmission method is provided. The method is applied to an access point, and includes: transmitting first trigger frames to a plurality of clients coupled to the access point in a first time period, and receiving first data packets transmitted from the plurality of clients in response to the first trigger frames, wherein the first trigger frames comprise first duration information, the first duration information is used to indicate an upper limit of time consumption for transmitting the first data packets from the clients, and the first trigger frames transmitted to the plurality of clients comprise same first duration information; and transmitting second trigger frames to at least some clients among the plurality of clients in a second time period, and receiving second data packets transmitted from the at least some clients in response to the received second trigger frames.

[0007] In a possible implementation, the first trigger frames comprise first priority information, wherein the first priority information is used to instruct the clients to transmit data frames to the access point in descending order of priority. Based on the first priority information, the clients can first pack data frames with higher priorities into the first data packets, so that the clients can first transmit at least some of the data frames with higher priorities to the access point, thereby ensuring that high-priority data frames can be transmitted to the access point in a timely manner.

[0008] In a possible implementation, the method further includes: determining a duration of the second time period based on a duration of the first time period and a scheduling cycle of scheduling the clients at the access point so that a value range of a sum of the duration of the first time period and the duration of the second time period is [Tcycle-Tthreshold, Tcycle+Tthreshold] , wherein Tcycle is used to represent the scheduling cycle, Tthreshold is used to represent a preset duration threshold, Tthreshold is a positive number, and the first time period is adjacent to the second time period in a time sequence. The value range of the sum of the duration of the first time period and the duration of the second time period is [Tcycle-Tthreshold, Tcycle+Tthreshold] , to ensure that the sum of the duration of the first time period and the duration of the second time period will not exceed the scheduling cycle by too much, and prevent a current scheduling cycle from occupying too much time of a next scheduling cycle and affecting data upload in the next scheduling cycle, thereby ensuring the timeliness for the clients to upload data to the access point.

[0009] In a possible implementation, the transmitting the second trigger frames to the at least some clients among the plurality of clients in the second time period includes: receiving buffer status information transmitted from the plurality of clients, wherein the buffer status information is at least used to indicate, after a corresponding client transmits a corresponding first data packet to the access point in response to the first trigger frames, a priority and a data size of cached data frames of the corresponding client; determining at least one target client from the plurality of clients based on scheduling of the plurality of clients in the first time period and the buffer status information transmitted from the plurality of clients; and transmitting the second trigger frames to the at least one target client in the second time period. The target client is determined based on the scheduling and the buffer status information of the clients in the first time period, and the target client is scheduled to upload data packets in the second time period. This allow a user to customize a scheduling logic in the second time period as required on the premise of ensuring the timeliness for the clients to upload data, to improve the flexibility of scheduling the clients via the access point, and thus adapt to different application scenarios.

[0010] In a possible implementation, the buffer status information and the first data packets are transmitted together from the clients, and the access point does not need to transmit buffer status report poll frames to the clients, thereby reducing the number of communications between the access point and the clients, and improving the efficiency of data transmission between the access point and the clients.

[0011] In a possible implementation, the second trigger frames comprise second duration information, wherein the second duration information is used to indicate an upper limit of time consumption for transmitting the second data packets from the target client. After receiving the second trigger frames, the clients organize the second data packets based on the second duration information carried in the second trigger frames, and transmit the second data packets to the access point, to ensure that a sum of time consumption for transmitting the second data packets from the target client will not exceed the duration of the second time period by too much, thereby preventing the current scheduling cycle from occupying too much time of the next scheduling cycle and affecting the data upload in the next scheduling cycle.

[0012] In a possible implementation, the method further includes: acquiring, after determining the  target client, a reference duration computed for the target client by a chip at the access point; computing a sum of the duration of the first time period and time consumed for scheduling the clients in the second time period, to obtain an elapsed duration; determining, in response to a sum of the elapsed duration and the reference duration being greater than Tcycle+Tthreshold, that the second duration information of the target client is a difference between the scheduling cycle and the elapsed duration; and determining, in response to the sum of the elapsed duration and the reference duration being less than or equal to Tcycle+Tthreshold, that the second duration information of the target client is the reference duration. If the sum of the elapsed duration and the reference duration is greater than Tcycle+Tthreshold, the difference between the scheduling cycle and the elapsed duration is determined as the second duration information, to ensure that the sum of time consumption for transmitting the second data packets from the target client will not exceed the second time period by too much, and if the sum of the elapsed duration and the reference duration is less than or equal to Tcycle+Tthreshold, the reference duration is determined as the second duration information, to ensure that the target client can transmit more data to the access point in the second time period, and improve the communication efficiency.

[0013] In a possible implementation, the second trigger frames comprise second priority information, wherein the second priority information is used to instruct the target client to transmit data frames to the access point in descending order of priority. After receiving the second trigger frames, the clients pack the data frames with higher priorities into the second data packets based on the second priority information, so that the clients can first transmit the data frames with higher priorities to the access point, to ensure that high-priority data frames can be transmitted to the access point in a timely manner, and ensure normal services.

[0014] According to a second aspect of the embodiments of the present disclosure, a data packet transmission method is provided. The method is applied to a client, and includes: receiving a first trigger frame transmitted from an access point in a first time period, wherein the first trigger frame comprise first duration information, the first duration information is used to indicate an upper limit of time consumption for transmitting data packets from the client to the access point in response to the first trigger frames, the access point transmits first trigger frames to a plurality of clients in the first time period, and the first trigger frames transmitted to the plurality of clients comprise same first duration information; transmitting a first data packets to the access point in response to the first  trigger frame, wherein time consumption for transmitting the first data packet is less than or equal to the upper limit of time consumption indicated by the first duration information; and transmitting, after receiving a second trigger frame transmitted from the access point in a second time period, a second data packet to the access point in response to the second trigger frame.

[0015] In a possible implementation, the method further includes: determining at least one data frame from cached data frames in descending order of corresponding priority based on first priority information and the first duration information comprised in the first trigger frame; and packing the determined at least one data frame to obtain the first data packet, so that the client can first transmit at least some of the data frames with higher priorities to the access point, thereby ensuring that high-priority data frames can be transmitted to the access point in a timely manner.

[0016] In a possible implementation, the method further includes: transmitting buffer status information to the access point so that the access point transmits the second trigger frame based on the buffer status information, wherein the buffer status information is at least used to indicate priorities and data sizes of cached data frames of the client except for the first data packets. The buffer status information is transmitted to the access point, so that the access point can determine the priorities and the data sizes of the cached data frames of the clients at the commencement of the second time period based on the buffer status information, and then can determine a target client based on scheduling of the clients in the first time period and the buffer status information transmitted from the clients, to schedule the target client to upload data packets in the second time period. On the premise of ensuring the timeliness for the clients to upload data, a user can customize a scheduling logic in the second time period as required, to improve the flexibility of scheduling the clients via the access point, and adapt to different application scenarios.

[0017] In a possible implementation, the client transmit the buffer status information and the first data packet together to the access point, and the access point does not need to transmit buffer status report poll frame to the client, thereby reducing the number of communications between the access point and the client, and improving the efficiency of data transmission between the access point and the client.

[0018] In a possible implementation, when transmitting the second data packet to the access point  in response to the second trigger frame, the client can determine at least one data frame from the cached data frames in descending order of corresponding priority based on second priority information and second duration information comprised in the second trigger frame, wherein the second duration information is used to indicate an upper limit of time consumption for transmitting the second data packet from the client, and the second duration information is determined based on a duration of the second time period and the buffer status information of the client. Then, the client pack the determined at least one data frame to obtain the second data packet, wherein the time consumption for transmitting the second data packet from the client is less than or equal to the upper limit of time consumption indicated by the second duration information, to ensure that a sum of time consumption for transmitting the second data packet from the target client will not exceed the duration of the second time period by too much, thereby preventing a current scheduling cycle from occupying too much time of a next scheduling cycle and affecting data upload in the next scheduling cycle.

[0019] According to a third aspect of the embodiments of the present disclosure, a data packet transmission apparatus is provided. The apparatus is applied to an access point, and comprises: a first communication unit configured to transmit first trigger frames to a plurality of clients coupled to the access point in a first time period, and receive first data packets transmitted from the plurality of clients in response to the first trigger frames, wherein the first trigger frames comprise first duration information, the first duration information is used to indicate an upper limit of time consumption for transmitting the first data packets from the clients, and the first trigger frames transmitted to the plurality of clients comprise same first duration information; and a second communication unit configured to transmit second trigger frames to at least some clients among the plurality of clients in a second time period, and receive second data packets transmitted from the at least some clients in response to the received second trigger frames.

[0020] According to a fourth aspect of the embodiments of the present disclosure, a data packet transmission apparatus is provided. The apparatus is applied to a client, and comprises: a receiving unit configured to receive first trigger frame transmitted from an access point in a first time period, wherein the first trigger frame comprise first duration information, the first duration information is used to indicate an upper limit of time consumption for transmitting data packet from the client to the access point in response to the first trigger frames, the access point transmits first trigger frames  to a plurality of clients in the first time period, and the first trigger frames transmitted to the plurality of clients comprise same first duration information; a transmission unit configured to transmit first data packets to the access point in response to the first trigger frame, wherein time consumption for transmitting the first data packet is less than or equal to the upper limit of time consumption indicated by the first duration information; and a third communication unit configured to transmit, after receiving a second trigger frame transmitted from the access point in a second time period, a second data packet to the access point in response to the second trigger frame.

[0021] According to a fifth aspect of the embodiments of the present disclosure, a communication system is provided, comprising: an access point and a plurality of clients coupled to the access point, wherein the access point communicates with the clients through a wireless network; the access point is configured to execute the data packet transmission method according to the above first aspect; and the clients are configured to execute the data packet transmission method according to the above second aspect.

[0022] According to a sixth aspect of the embodiments of the present disclosure, an electronic device is provided, including: a processor, a memory, a communication interface, and a bus, wherein the processor, the memory, and the communication interface complete communicate with each other through the bus; and the memory is configured to store at least one executable instruction, wherein the executable instruction is executed to cause the processor to execute operations corresponding to the data packet transmission method according to the above first aspect or second aspect.

[0023] According to a seventh aspect of the embodiments of the present disclosure, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions thereon, and the computer instructions, when executed by a processor, cause the processor to execute the data packet transmission method according to the above first aspect or second aspect.

[0024] According to an eighth aspect of the embodiments of the present disclosure, a computer program product is provided, wherein the computer program product is tangibly stored on a computer-readable medium, and includes computer-executable instructions, wherein the  computer-executable instructions, when executed, cause at least one processor to execute the data packet transmission method according to the above first aspect or second aspect.

[0025] As can be seen from the above technical solutions, the access point transmits the first trigger frames to the clients coupled to the access point in the first time period of a scheduling cycle. Since the first duration information comprised in the first trigger frames indicates a constant upper limit of time consumption, the upper limit of time consumption for transmitting the first data packets to the access point from each of the clients in response to the first trigger frames is equal, thus ensuring that each client has an opportunity to transmit a data packet to the access point in a scheduling cycle. The access point can further schedule one or more of the clients in the second time period to re-upload data packets based on the scheduling logic. Therefore, when a preceding client needs to upload a lot of high-priority data, data of a next client can also be uploaded to the access point in a timely manner, thereby ensuring the timeliness for the clients to upload data to the access point.BRIEF DESCRIPTION OF DRAWINGS

[0026] FIG. 1 is a flowchart of a data packet transmission method in an embodiment of the present disclosure;

[0027] FIG. 2 is a schematic distribution diagram of a first time period and a second time period in an embodiment of the present disclosure;

[0028] FIG. 3 is a flowchart of a data packet transmission method in another embodiment of the present disclosure;

[0029] FIG. 4 is a schematic diagram of a data packet transmission apparatus in an embodiment of the present disclosure;

[0030] FIG. 5 is a schematic diagram of a data packet transmission apparatus in another embodiment of the present disclosure;

[0031] FIG. 6 is a schematic diagram of a communication system in an embodiment of the present disclosure; and

[0032] FIG. 7 is a schematic diagram of an electronic device in an embodiment of the present disclosure.

[0033] List of reference numerals:

[0034] 100: Data packet transmission 300: Data packet transmission  400: Data packet transmission

[0035] method                        method                         apparatus

[0036] 500: Data packet transmission 600: Communication system      700: Electronic device apparatus

[0037] 401: First communication unit 402: Second communication unit 501: Receiving unit

[0038] 502: Transmission unit        503: Third communication unit  601: Access point

[0039] 602: Client                   702: Processor                 704: Communication interface

[0040] 706: Memory                   708: Bus                       710: Program

[0041] 101: Transmitting first trigger frames to a plurality of clients coupled to an access point in a first time period

[0042] 102: Receiving first data packets transmitted from the plurality of clients in response to the first trigger frames

[0043] 103: Transmitting second trigger frames to at least some clients among the plurality of clients in a second time period

[0044] 104: Receiving second data packets transmitted from the at least some clients in response to the received second trigger frames

[0045] 301: Receiving a first trigger frame transmitted from an access point in a first time period

[0046] 302: Transmitting a first data packet to the access point in response to the first trigger frame

[0047] 303: Transmitting, after receiving a second trigger frame, a second data packet to the access  point in response to the second trigger frameDESCRIPTION OF EMBODIMENTS

[0048] To enable those skilled in the art to better understand technical solutions of embodiments of the present disclosure, the technical solutions of the embodiments of the present disclosure will be clearly and completely described below with reference to the drawings in the embodiments of the present disclosure. Apparently, the described embodiments are merely some, instead of all, of the embodiments of the present disclosure. All other embodiments obtained by those of ordinary skills in the art based on some embodiments among the embodiments of the present disclosure shall be encompassed within the scope of protection of the embodiments of the present disclosure.

[0049] With the development of Wi-Fi technologies, the Wi-Fi technologies are used in the industrial field to transmit data between an access point and clients. The clients may be various devices with wireless communication functions in industrial scenarios, such as a sensor, an alarm, or a controller. Since an access point can be coupled to a plurality of clients, the access point schedules the clients to upload data in a triggered manner by transmitting trigger frames to the clients. At present, when scheduling the clients to upload data, the access point first schedules the clients to upload high-priority data, and then uploads low-priority data after the uploading of the high-priority data is completed. Since the access point sequentially schedules the clients to upload data, if a preceding client among the clients has a lot of high-priority data, the preceding client will spend a long time in uploading the high-priority data, resulting in the delay of a next client in uploading data, thereby failing to guarantee the timeliness of data transmission by existing scheduling of the clients via the access point.

[0050] In an embodiment of the present disclosure, the access point schedules the clients to upload data packets in two time periods in a scheduling cycle, transmits trigger frames to the coupled clients in the first time period, allocates a constant duration to each of the clients to upload data packets, transmits trigger frames to some or all of the clients in the second time period based on a set scheduling logic, and allocates variable durations to the clients to upload data packets. In the first time period, the access point allocates constant durations to the clients to upload data packets, to ensure that each client can transmit data packets to the access point so that when the preceding  client needs to upload a lot of high-priority data, data of the next client can also be uploaded to the access point in a timely manner. In the second time period, the access point schedules the clients to upload data packets based on the scheduling of the clients in the first time period and to-be-uploaded data cached by the clients, thus ensuring that the clients can first transmit high-priority data, and also have opportunities to transmit low-priority data.

[0051] The data packet transmission method, the data packet transmission apparatus, the communication system, the electronic device, and the storage medium provided in the embodiments of the present disclosure are described in detail below with reference to the drawings.

[0052] Data packet transmission method applied to an access point

[0053] FIG. 1 is a flow chart of a data packet transmission method in an embodiment of the present disclosure. The data packet transmission method is applied to an access point. As shown in FIG. 1, the data packet transmission method 100 includes the following steps:

[0054] Step 101: transmitting first trigger frames to a plurality of clients coupled to an access point in a first time period.

[0055] The access point is coupled to the plurality of clients through a wireless network. For example, the access point is coupled to the plurality of clients through Wi-Fi6, and data is transmitted between the access point and the clients over a wireless network. A channel through which the access point transmits data to the clients over the wireless network is referred to as a downlink, and a channel through which the clients transmit data to the access point over the wireless network is referred to as an uplink. The embodiments of the present disclosure mainly focus on a process of transmitting data to the access point from the clients, that is, a process of data transmission in the uplink direction. The clients transmit data to the access point in the form of data packets, details as per the wireless standard 802.11ax, which will not be repeated here.

[0056] The access point schedules the clients to transmit the data packets to the access point by transmitting trigger frames to the clients. The clients receiving the trigger frames gain access to a channel access medium, and transmit the data packets to the access point through the channel access medium. The access point schedules the clients coupled to the access point to upload the data  packets based on a scheduling cycle. The scheduling cycle includes a first time period and a second time period. The access point sequentially transmits the first trigger frames to the plurality of clients coupled to the access point in the first time period, to sequentially schedule the plurality of clients coupled to the access point to transmit the data packets to the access point.

[0057] The access point may schedule the clients in a preset logical sequence. The sequence of scheduling the clients is not limited in the embodiments of the present disclosure.

[0058] After the access point transmits the first trigger frames to the clients, the clients can transmit first data packets to the access point in response to the first trigger frames. The first trigger frames comprise first duration information. The first duration information is a constant value customized by a user based on an industrial scenario. The first duration information is used to indicate an upper limit of time consumption for transmitting the first data packets from the clients, that is, when the clients transmit the first data packets to the access point in response to the first trigger frames, time consumption for transmitting the first data packets needs to be less than or equal to the upper limit of time consumption indicated by the first duration information. After receiving the first trigger frames, the clients organize data frames transmitted to the access point to obtain the first data packets based on the first duration information comprised in the first trigger frames, and ensure that the time consumption for transmitting the first data packets is less than or equal to the upper limit of time consumption indicated by the first duration information.

[0059] The time consumption for transmitting the first data packets from the clients comprises: time consumption for transmitting the first data packets from the clients to the access point and time consumption for the access point to acknowledge the received first data packets. After receiving the first data packets, the access point will acknowledge the first data packets and transmit acknowledge characters (ACKs) to the clients.

[0060] The first trigger frames transmitted from the access point to different clients comprise same first duration information, that is, upper limits of time consumption for transmitting the first data packets from different clients to the access point in response to the first trigger frames are equal. For example, the upper limit of time consumption indicated by the first duration information is 100 μs. After receiving the first trigger frames, each of the clients can transmit first data packets with time  consumption less than or equal to 100 μs to the access point.

[0061] It should be noted that the first trigger frames not only comprise the first duration information, but also may comprise communication data to be transmitted from the access point to the clients.

[0062] Step 102: receiving first data packets transmitted from the plurality of clients in response to the first trigger frames.

[0063] After receiving the first trigger frames transmitted from the access point, the clients will organize some or all of the data frames to be transmitted to the access point into the first data packets in response to the first trigger frames, and transmit the first data packets to the access point.

[0064] It should be noted that after the clients receive the first trigger frames, if the clients do not need to transmit data to the access point, or do not satisfy a condition for transmitting data packets to the access point, the clients will not transmit the first data packets to the access point. The clients may transmit an indication message indicating that no data is to be uploaded to the access point, or may not respond to the first trigger frames.

[0065] Step 103: transmitting second trigger frames to at least some clients among the plurality of clients in a second time period.

[0066] In the second time period after the first time period is ended, the access point transmits the second trigger frames to at least some clients among the plurality of clients coupled to the access point to schedule one or more of the clients to transmit data packets to the access point in response to the second trigger frames.

[0067] In the second time period, the access point can transmit the second trigger frames to the one or more clients based on a preset scheduling logic to schedule the clients to upload the data packets. The logic of scheduling the clients in the second time period is not limited in embodiments of the present disclosure.

[0068] It should be noted that the second trigger frames may comprise communication data to be transmitted from the access point to the clients.

[0069] Step 104: receiving second data packets transmitted from the at least some clients in response to the received second trigger frames.

[0070] After receiving the second trigger frames transmitted from the access point, the clients will organize some or all of the data frames to be transmitted to the access point into the second data packets in response to the second trigger frames, and transmit the second data packets to the access point. The clients that do not receive the second trigger frames will not transmit data packets to the access point.

[0071] It should be noted that after the clients receive the second trigger frames, if the clients do not need to transmit data to the access point, or do not satisfy a condition for transmitting data packets to the access point, the clients will not transmit the second data packets to the access point. The clients may transmit an indication message indicating that no data is to be uploaded to the access point, or may not respond to the second trigger frames.

[0072] In an embodiment of the present disclosure, the access point transmits the first trigger frames to the clients coupled to the access point in the first time period of a scheduling cycle. Since the first duration information comprised in the first trigger frames indicates a constant upper limit of time consumption, the upper limit of time consumption for transmitting a corresponding first data packet to the access point from each of the clients in response to the first trigger frames is equal, thus ensuring that each client has an opportunity to transmit a data packet to the access point in a scheduling cycle. The access point can further schedule one or more of the clients in the second time period to re-upload data packets based on the scheduling logic. Therefore, when a preceding client needs to upload a lot of high-priority data, data of a next client can also be uploaded to the access point in a timely manner, thereby ensuring the timeliness for the clients to upload data to the access point.

[0073] In a possible implementation, the first trigger frames comprise first priority information, wherein the first priority information may instruct the clients to transmit data frames to the access point in descending order of priority, and the first data packets comprise at least one data frame.

[0074] The first trigger frames transmitted from the access point to the clients carry the first priority information. For example, the first priority information may be a preferred access category  (Preferred AC) field in the first trigger frames, and the first priority information may instruct the clients to transmit data frames to the access point in descending order of corresponding priority.

[0075] The data frames to be transmitted to the access point from the clients have corresponding priorities. For example, priorities of the data frames include priority 0, priority 1, priority 2, and priority 3 successively in ascending order of priority. The first priority information is the priority 3. After receiving the first trigger frames, the clients analyzes the first trigger frames to obtain the first priority information, then organize data frames with higher priorities into the first data packets based on the first priority information, and transmit the first data packets to the access point. The clients select data frames in descending order of priority, and pack the selected data frames into the first data packets, wherein priorities of the data frames in the first data packets are higher than or equal to priorities of data frames that are not packed into the first data packets.

[0076] Under the premise of ensuring that the time consumption for transmitting the first data packets does not exceed the upper limit of time consumption indicated by the first duration information, the clients select data frames to be transmitted to the access point from cached data frames in descending order of corresponding priority, and pack the selected data frames to obtain the first data packets. For example, the clients first selects data frames with the priority 3. If there are no data frames with the priority 3 or there are a few data frames with the priority 3, the clients may select data frames with the priority 2, and so on, until the time consumption for transmitting the first data packets obtained by packing the selected data frames is close to or equal to the upper limit of time consumption indicated by the first duration information. If the clients cache a fewer data frames, and after all of the cached data frames are packed into the first data packets, the time consumption for transmitting the first data packets will not exceed the upper limit of time consumption indicated by the first duration information, all of the cached data frames can be packed into the first data packets.

[0077] In an embodiment of the present disclosure, the first trigger frames comprise the first priority information. After receiving the first trigger frames, the clients can first pack data frames with higher priorities into the first data packets based on the first priority information so that the clients can first transmit at least some of the data frames with higher priorities to the access point, thereby ensuring that high-priority data frames can be transmitted to the access point in a timely  manner.

[0078] In a possible implementation, after the first time period is ended, the access point can determine a duration of the second time period based on a duration of the first time period and a scheduling cycle of scheduling the clients via the access point, and then determine clients to be scheduled in the second time period. A value range of a sum of the duration of the first time period and the duration of the second time period is [Tcycle-Tthreshold, Tcycle+Tthreshold] , wherein Tcycle is used to represent the scheduling cycle, Tthreshold is used to represent a preset duration threshold, Tthreshold is a positive number, and the first time period is adjacent to the second time period in a time sequence.

[0079] The time consumption for transmitting the first data packets is affected by data sizes of the first data packets, and the time consumption for transmitting the first data packets is less than or equal to the upper limit of time consumption indicated by the first duration information, but the time consumption for transmitting the first data packets may be any value less than the upper limit of time consumption, and thus the duration of the first time period is not constant. In order to ensure the reliability of cyclically scheduling the clients to upload data via the access point, the sum of the duration of the first time period and the duration of the second time period should not exceed the scheduling cycle by too much. Therefore, the duration of the second time period can be determined based on the duration of the first time period and the scheduling cycle, and the sum of the duration of the determined second time period and the duration of the first time period is in a value range [Tcycle-Tthreshold, Tcycle+Tthreshold] .

[0080] FIG. 2 shows a schematic distribution diagram of a first time period and a second time period. As shown in FIG. 2, in the first time period T1, an access point transmits first trigger frames to clients STA, and receives first data packets transmitted from the clients STA (FIG. 2 shows clients STA1, STA2, STA3, and STA4, but those skilled in the art should understand that the number of clients transmitting the first data packets to the access point may be other numbers) . In the second time period T2, the access point transmits second trigger frames to the clients STA and receives second data packets transmitted from the clients STA (FIG. 2 shows clients STAm and STAn, but those skilled in the art should understand that the number of clients transmitting the  second data packets to the access point may be other numbers) .

[0081] A sum of a duration of the first time period T1 and a duration of the second time period T2 is equal to Tc, but Tc is not necessarily equal to a preset scheduling cycle Tcycle, and Tc and Tcycle satisfy: -Tthreshold≤Tc-Tcycle≤Tthreshold.

[0082] In an embodiment of the present disclosure, the duration of the first time period is not constant, and after the first time period is ended, the duration of the second time period is determined based on the duration of the first time period and the scheduling cycle, so that a value range of the sum of the duration of the first time period and the duration of the second time period is [Tcycle-Tthreshold, Tcycle+Tthreshold] , to ensure that the sum of the duration of the first time period and the duration of the second time period will not exceed the scheduling cycle by too much, and prevent a current scheduling cycle from occupying too much time of a next scheduling cycle and affecting data upload in the next scheduling cycle, thereby ensuring the timeliness for the clients to upload data to the access point.

[0083] In a possible implementation, after transmitting the first trigger frames to the clients, the access point can receive buffer status information transmitted from the clients, wherein the buffer status information at least may indicate, after a corresponding client among the clients transmits one of a corresponding first data packet to the access point in response to the first trigger frames, a priority and a data size of cached data frames of the corresponding client. After receiving the buffer status information transmitted from the clients, the access point can determine at least one target client from a plurality of clients coupled to the access point based on scheduling in the first time period and the buffer status information of the plurality of clients, and then transmit the second trigger frames to the determined at least one target client in the second time period.

[0084] The buffer status information may indicate, after the corresponding client transmits the first data packet, the priority and the data size of the cached data frames of the corresponding client. The access point can determine priorities and data sizes of the cached data frames of the clients at the commencement of the second time period based on the buffer status information, and then select the target client from the clients coupled to the access point based on a preset scheduling logic, to schedule the target client to upload data packets in the second time period.

[0085] In some examples, the access point determines one of the clients that still caches high-priority data frames as the target client based on the buffer status information transmitted from the clients, or determines one of the clients with a data size of a cached data frame larger than a data size threshold as the target client, or determines one of the clients that does not upload the first data packets in the first time period as the target client. A user can configure the scheduling logic for the access point to schedule the clients in the second time period based on actual requirements.

[0086] The scheduling of the clients via the access point in the first time period includes whether each of the clients is successfully scheduled in the first time period and whether each of the clients uploads high-priority data frames in the first time period. The target client is determined based on the scheduling and the buffer status information, so that the clients can be reasonably scheduled in the second time period.

[0087] In an embodiment of the present disclosure, the access point receives the buffer status information transmitted from the clients, can determine the priorities and the data sizes of the cached data frames of the clients at the commencement of the second time period based on the buffer status information, and then can determine the target client based on scheduling in the first time period and the buffer status information of the clients, to schedule the target client to upload data packets in the second time period. On the premise of ensuring the timeliness for the clients to upload data, a user can customize the scheduling logic in the second time period as required, to improve the flexibility of scheduling the clients via the access point, and adapt to different application scenarios.

[0088] In a possible implementation, the buffer status information and the first data packets are transmitted together from the clients.

[0089] After the first trigger frames are transmitted to the clients, the clients organize the first data packets in response to the first trigger frames. After organizing the first data packets, the clients can generate buffer status information based on the remaining data frames, and then transmit the generated buffer status information and the first data packets together to the access point.

[0090] The access point acquires the buffer status information in at least two ways: one way is that the access point transmits buffer status report poll (BSRP) frames to the clients, and after receiving  the BSRP frames, the clients transmits the buffer status information to the access point. The other way is that the clients attach the buffer status information to the first data packets, and transmit the first data packets and the buffer status information together to the access point.

[0091] It should be noted that, under the premise of configuring the clients to transmit the buffer status information and the first data packets together, the clients will, before transmitting the second data packets to the access point, generate new buffer status information based on remaining data frames after the second data packets are organized, and then transmit the new buffer status information and the second data packets together to the access point. The new buffer status information may indicate priorities and data sizes of cached data frames of the clients after the second data packets are organized.

[0092] In an embodiment of the present disclosure, the buffer status information and the first data packets are transmitted together to the access point from the clients, and the access point does not need to transmit the BSRP frames to the clients, thereby reducing the number of communications between the access point and the clients, and improving the efficiency of data transmission between the access point and the clients.

[0093] In a possible implementation, the second trigger frames may include second duration information, and the second duration information may indicate an upper limit of time consumption for transmitting the second data packets from the target client, that is, when the clients transmit the second data packets to the access point in response to the second trigger frames, the time consumption for transmitting the second data packets needs to be less than or equal to the upper limit of time consumption indicated by the second duration information. After receiving the second trigger frames, the clients organize data frames transmitted to the access point to obtain the second data packets based on the second duration information comprised in the second trigger frames, and ensure that the time consumption for transmitting the second data packets is less than or equal to the upper limit of time consumption indicated by the second duration information.

[0094] The time consumption for transmitting the second data packets from the clients comprises: time consumption for transmitting the second data packets from the clients to the access point and time consumption for the access point to acknowledge the received second data packets. After  receiving the second data packets, the access point will acknowledge the second data packets and transmit acknowledge characters (ACKs) to the clients.

[0095] The second trigger frames transmitted from the access point to different target clients may comprise different second duration information, that is, upper limits of time consumption for transmitting the second data packets from different target clients to the access point in response to the received second trigger frames are different. For example, an upper limit of time consumption indicated by the second duration information carried in the second trigger frames received by the client STAm is 80 μs, and an upper limit of time consumption indicated by the second duration information carried in the second trigger frames received by the client STAn is 100 μs. Then, the client STAm can transmit the second data packet with time consumption less than or equal to 80 μs to the access point, and the client STAn can transmit the second data packet with time consumption of less than or equal to 100 μs to the access point.

[0096] The time consumption for transmitting the second data packets is affected by data sizes of the second data packets, and the time consumption for transmitting the second data packets is less than or equal to the upper limit of time consumption indicated by the second duration information, but the time consumption for transmitting the second data packets may be any value less than the upper limit of time consumption, and thus the duration of the second time period is not constant.

[0097] In an embodiment of the present disclosure, after receiving the second trigger frames, the clients organize the second data packets based on the second duration information carried in the second trigger frames, and transmit the second data packets to the access point so that more clients can get opportunities to upload data in the second time period, thereby ensuring that the clients can transmit data to the access point in a timely manner.

[0098] In a possible implementation, the access point can sequentially determine a plurality of target clients; after determining one target client, the access point transmits a corresponding second trigger frame to the target client, and after receiving the second data packet transmitted from the target client, the access point determine a next target client, until no remaining duration is in the second time period or remaining duration in the second time period is not enough for one client thereamong to upload data on the prerequisite that the sum of the duration of the first time period  and the duration of the second time period is less than or equal to Tcycle+Tthreshold.

[0099] After determining one target client, the access point can acquire a reference duration computed for the target client by a chip comprised in the access point, and then compute a sum of the duration of the first time period and time consumed for scheduling the clients in the second time period, to obtain an elapsed duration. If a sum of the elapsed duration and the reference duration is greater than Tcycle+Tthreshold, the second duration information of the target client is determined as a difference between the scheduling cycle and the elapsed duration. If the sum of the elapsed duration and the reference duration is less than or equal to Tcycle+Tthreshold, the second duration information of the target client is determined as the reference duration.

[0100] For any one of the determined target clients, a chip at the access point can be invoked to compute a reference duration for the target client. A computing method for computing the reference duration by the chip is provided by the chip supplier, and is not limited in embodiments of the present disclosure.

[0101] The access point can count time consumed by the access point for scheduling the clients in the second time period. When a first target client is determined, time consumed by the access point for scheduling the clients in the second time period is 0. When an n-th target client is determined, time consumed by the access point for scheduling the clients in the second time period is time consumed for scheduling the preceding n-1 target clients, wherein n is an integer greater than or equal to 2.

[0102] After acquiring the reference durations corresponding to the target clients, the access point can compute a sum of the duration of the first time period and the time that has been consumed for scheduling the clients in the second time period, use the computation result as an elapsed duration of the current scheduling cycle, and then compare a sum of the elapsed duration and the reference durations with Tcycle+Tthreshold.

[0103] when the sum of the elapsed duration and the reference durations is greater than Tcycle+Tthreshold, if a reference duration corresponding to a target client is determined as second duration information of the target client, the sum of the duration of the first time period and the duration of the second time period will greatly exceed the scheduling cycle, and will affect operation of the  next scheduling cycle, thereby affecting the determinability of data transmission. Therefore, the second duration information of the target client is determined as the difference between the scheduling cycle and the elapsed duration. After the access point receives the corresponding second data packet uploaded by the target client, the current scheduling cycle is ended.

[0104] When the sum of the elapsed duration and the reference duration is less than or equal to Tcycle+Tthreshold, and the reference duration corresponding to the target client is determined as the second duration information of the target client, the sum of the duration of the first time period and the duration of the second time period will not exceed the scheduling cycle by too much, and will not affect the operation of the next scheduling cycle, thereby determining the second duration information of the target client as the reference duration.

[0105] In an example, a reference duration computed by the chip at the access point for a target client is 500 μs, the scheduling cycle Tcycle is 32 ms, a duration threshold Tthreshold is 200 μs, and the elapsed duration is t. If t+500 μs> (32 ms+200 us) , the second duration information of the target client is determined as 32 ms+200 us-t. If t+500 μs≤ (32 ms+200 us) , the second duration information of the target client is determined as 500 μs.

[0106] In an embodiment of the present disclosure, the chip at the access point will compute the reference duration for the target client. If the sum of the elapsed duration and the reference duration is greater than Tcycle+Tthreshold, the second duration information of the target client is determined as the difference between the scheduling cycle and the elapsed duration, so that the sum of the duration of the first time period and the duration of the second time period will not exceed the scheduling cycle by too much, and will not affect the operation of the next scheduling cycle, thereby ensuring the determinability of data transmission. If the sum of the elapsed duration and the reference duration is less than or equal to Tcycle+Tthreshold, the second duration information of the target client is determined as the reference duration, and the client is scheduled in the second time period based on the reference duration computed by the chip to ensure the rationality of duration allocation.

[0107] In a possible implementation, the second trigger frames may further comprise second priority information, wherein the second priority information may instruct the target client to  transmit data frames to the access point in descending order of corresponding priority.

[0108] The second trigger frames transmitted from the access point to the target client carry the second priority information. For example, the second priority information may be a preferred access category (Preferred AC) field in the second trigger frames, and the second priority information may instruct the clients to transmit data frames to the access point in descending order of corresponding priority.

[0109] Under the premise of ensuring that the time consumption for transmitting the second data packets does not exceed the upper limit of time consumption indicated by the second duration information, the target client can select data frames to be transmitted to the access point from cached data frames in descending order of corresponding priority, and pack the selected data frames to obtain the second data packets.

[0110] It should be noted that the process of organizing the second data packets by the clients based on the second duration information is similar to the process of organizing the first data packets by the clients based on the first duration information. The above description of organizing the second data packets by the clients based on the second duration information may be referred to for relevant content of organizing the first data packets by the clients based on the first duration information, which will not be repeated here.

[0111] In an embodiment of the present disclosure, the second trigger frames comprise the second priority information. After receiving the second trigger frames, the clients pack the data frames with higher priorities into the second data packets based on the second priority information, so that the clients can first transmit the data frames with higher priorities to the access point, to ensure that high-priority data frames can be transmitted to the access point in a timely manner, and ensure normal services.

[0112] Data packet transmission method applied to a client

[0113] FIG. 3 is a flow chart of a data packet transmission method in another embodiment of the present disclosure. The data packet transmission method is applied to a client. As shown in FIG. 3, the method 300 for transmitting a data packet includes the following steps:

[0114] Step 301: receiving a first trigger frame transmitted from an access point in a first time period

[0115] The first trigger frame comprise first duration information, and the first duration information may indicate an upper limit of time consumption for transmitting a data packet to the access point from the client in response to the first trigger frames. The access point can transmit first trigger frames to a plurality of clients in the first time period, and the first trigger frames transmitted to the plurality of clients comprise same first duration information.

[0116] Step 302: transmitting first data packet to the access point in response to the first trigger frame.

[0117] The client organize the first data packet based on the first duration information comprised in the first trigger frame so that time consumption for transmitting the first data packet is less than or equal to an upper limit of time consumption indicated by the first duration information, and then transmit the first data packet to the access point.

[0118] Step 303: transmitting, after receiving a second trigger frame transmitted from the access point in a second time period, a second data packet to the access point in response to the second trigger frame.

[0119] After the first data packet is transmitted to the access point, the access point may transmit the second trigger frame to the client. If the client receive the second trigger frame, the client transmit the second data packet to the access point in response to the second trigger frame, and if the client do not receive the second trigger frame transmitted from the access point, the client do not need to transmit the second packet to the access point.

[0120] It should be noted that the process of uploading data packets from the client to the access point is described on the client side in the embodiment of the present disclosure, while the process of uploading data packets from the client to the access point is described on the access point side in the aforementioned embodiments. Therefore, the description of the process of transmitting a data packet on the access point side in the aforementioned embodiments may be referred to for operations of the client in the process of transmitting a data packet. The process of transmitting a  data packet on the client side will not be described in detail here.

[0121] In an embodiment of the present disclosure, the access point transmits the first trigger frames to the clients coupled to the access point in the first time period of a scheduling cycle. Since the first duration information comprised in the first trigger frames indicates a constant upper limit of time consumption, the upper limit of time consumption for transmitting the corresponding first data packet to the access point from each of the clients in response to the first trigger frames is equal, thus ensuring that each client has an opportunity to transmit a data packet to the access point in a scheduling cycle. The access point can further schedule one or more of the clients in the second time period to re-upload data packets based on the scheduling logic. Therefore, when a preceding client needs to upload a lot of high-priority data, data of a next client can also be uploaded to the access point in a timely manner, thereby ensuring the timeliness for the clients to upload data to the access point.

[0122] In a possible implementation, after receiving the first trigger frames, the client can determine at least one data frame from cached data frames in descending order of corresponding priority based on first priority information and the first duration information comprised in the first trigger frame, and then pack the determined data frames to obtain the first data packet.

[0123] In an embodiment of the present disclosure, after receiving the first trigger frame, the client can first pack data frames with higher priorities into the first data packet based on the first priority information so that the client can first transmit at least some of the data frames with higher priorities to the access point, thereby ensuring that high-priority data frames can be transmitted to the access point in a timely manner.

[0124] In a possible implementation, the client can transmit buffer status information to the access point so that the access point transmits the second trigger frame based on the buffer status information, wherein the buffer status information is at least used to indicate priorities and data sizes of cached data frames of the clients except for the first data packets.

[0125] In an embodiment of the present disclosure, after packing the data frames to obtain the first data packet, the client transmit the buffer status information to the access point, so that the access point can determine the priorities and the data sizes of the cached data frames of the clients at the  commencement of the second time period based on the buffer status information, and then can determine a target client based on a duration of the second time period and the buffer status information, to schedule the target client to upload data packets in the second time period. On the premise of improving the timeliness for the client to upload data, a user can customize a scheduling logic in the second time period as required, to improve the flexibility of scheduling the client via the access point, and adapt to different application scenarios.

[0126] In a possible implementation, the client can transmit the buffer status information and the first data packet together to the access point.

[0127] In an embodiment of the present disclosure, the client transmit the buffer status information and the first data packet together to the access point, and the access point does not need to transmit BSRP frames to the client, thereby reducing the number of communications between the access point and the client, and improving the efficiency of data transmission between the access point and the client.

[0128] In a possible implementation, when transmitting the second data packet to the access point in response to the second trigger frame, the client can determine at least one data frame from the cached data frames in descending order of corresponding priority based on second priority information and second duration information comprised in the second trigger frame, wherein the second duration information is used to indicate an upper limit of time consumption for transmitting the second data packet from the client, and the second duration information is determined based on a duration of the second time period and the buffer status information of the client. Then, the client pack the determined at least one data frame to obtain the second data packet, wherein the time consumption for transmitting the second data packet from the client is less than or equal to the upper limit of time consumption indicated by the second duration information,

[0129] In an embodiment of the present disclosure, after receiving the second trigger frame, the client organize the second data packet based on the second duration information carried in the second trigger frame, and transmit the second data packet to the access point, to ensure that a sum of time consumption for transmitting the second data packet from the target client will not exceed the duration of the second time period by too much, thereby preventing a current scheduling cycle  from occupying too much time of a next scheduling cycle and affecting the data upload in the next scheduling cycle.

[0130] It should be noted that the data packet transmission method applied to a client in the embodiment of the present disclosure is based on the same concept as the data packet transmission method applied to an access point in the aforementioned embodiments, and the description of the data packet transmission method applied to an access point in aforementioned embodiments may be referred to for specific contents, which will not be repeated here.

[0131] Data packet transmission apparatus applied to an access point

[0132] FIG. 4 is a schematic diagram of a data packet transmission apparatus in an embodiment of the present disclosure. The data packet transmission apparatus is applied to an access point. As shown in FIG. 4, the apparatus 400 for transmitting a data packet comprises:

[0133] a first communication unit 401 configured to transmit first trigger frames to a plurality of clients coupled to the access point in a first time period, and receive first data packets transmitted from the plurality of clients in response to the first trigger frames, wherein the first trigger frames comprise first duration information, the first duration information is used to indicate an upper limit of time consumption for transmitting the first data packets from the clients, and the first trigger frames transmitted to the plurality of clients comprise same first duration information; and

[0134] a second communication unit 402 configured to transmit second trigger frames to at least some clients among the plurality of clients in a second time period, and receive second data packets transmitted from the at least some clients in response to the received second trigger frames.

[0135] In an embodiment of the present disclosure, the first communication unit 401 transmits the first trigger frames to the clients coupled to the access point in the first time period of a scheduling cycle. Since the first duration information comprised in the first trigger frames indicates a constant upper limit of time consumption, the upper limit of time consumption for transmitting the corresponding first data packet to the access point from each of the clients in response to the first trigger frames is equal, thus ensuring that each client has an opportunity to transmit a data packet to the access point in a scheduling cycle. The second communication unit 402 can further schedule one  or more of the clients in the second time period to re-upload data packets based on the scheduling logic. Therefore, when a preceding client needs to upload a lot of high-priority data, data of a next client can also be uploaded to the access point in a timely manner, thereby ensuring the timeliness for the clients to upload data to the access point.

[0136] It should be noted that the above-mentioned interaction between various parts of the data packet transmission apparatus applied to an access point is based on the same concept as the data packet transmission method applied to an access point in the aforementioned embodiments. The description of the data packet transmission method applied to an access point in the aforementioned embodiments may be referred to for specific content and beneficial effects, which will not be repeated here.

[0137] Data packet transmission apparatus applied to a client

[0138] FIG. 5 is a schematic diagram of a data packet transmission apparatus in another embodiment of the present disclosure. The data packet transmission apparatus is applied to a client. As shown in FIG. 5, the apparatus 500 for transmitting a data packet comprises:

[0139] a receiving unit 501 configured to receive a first trigger frame transmitted from an access point in a first time period, wherein the first trigger frame comprise first duration information, the first duration information is used to indicate an upper limit of time consumption for transmitting data packets from the client to the access point in response to the first trigger frame, the access point transmits first trigger frames to a plurality of clients in the first time period, and the first trigger frames transmitted to the plurality of clients comprise same first duration information;

[0140] a transmission unit 502 configured to transmit a first data packet to the access point in response to the first trigger frame, wherein time consumption for transmitting the first data packet is less than or equal to the upper limit of time consumption indicated by the first duration information; and

[0141] a third communication unit 503 configured to transmit, after receiving a second trigger frame transmitted from the access point in a second time period, a second data packet to the access point in response to the second trigger frame.

[0142] In an embodiment of the present disclosure, the access point transmits the first trigger frames to the clients coupled to the access point in the first time period of a scheduling cycle. Since the first duration information comprised in the first trigger frames indicates a constant upper limit of time consumption, the upper limit of time consumption for transmitting the corresponding first data packet to the access point from each of the clients in response to the first trigger frames is equal, thus ensuring that each client has an opportunity to transmit a data packet to the access point in a scheduling cycle. The access point can further schedule one or more of the clients in the second time period to re-upload data packets based on the scheduling logic. Therefore, when a preceding client needs to upload a lot of high-priority data, data of a next client can also be uploaded to the access point in a timely manner, thereby ensuring the timeliness for the clients to upload data to the access point.

[0143] It should be noted that the above-mentioned interaction between various parts of the data packet transmission apparatus applied to a client is based on the same concept as the data packet transmission method applied to a client in the aforementioned embodiments. The description of the data packet transmission method applied to a client in the aforementioned embodiments may be referred to for specific content and beneficial effects, which will not be repeated here.

[0144] Communication system

[0145] FIG. 6 is a schematic diagram of a communication system in an embodiment of the present disclosure. As shown in FIG. 6, the communication system 600 comprises an access point 601 and a plurality of clients 602 coupled to the access point 601, wherein the access point 601 communicates with the clients 602 through a wireless network. The access point 601 is configured to execute the data packet transmission method applied to an access point in any one of the aforementioned embodiments, and the client 602 is configured to execute the data packet transmission method applied to a client in any one of the aforementioned embodiments.

[0146] It should be noted that the above-mentioned interaction between the access point and the client in the embodiment of the present disclosure is based on the same concept as the data packet transmission method in the aforementioned embodiments. The description of the data packet transmission method in the aforementioned embodiments may be referred to for specific content  and beneficial effects, which will not be repeated here.

[0147] Electronic device

[0148] FIG. 7 is a schematic diagram of an electronic device provided in an embodiment of the present disclosure. Specific implementations of the electronic device are not limited in specific embodiments of the present disclosure. Referring to FIG. 7, the electronic device 700 provided in the embodiment of the present disclosure comprises: a processor 702, a communication interface 704, a memory 706, and a bus 708, wherein:

[0149] the processor 702, the communication interface 704, and the memory 706 implement communication with each other through the bus 708.

[0150] The communication interface 704 is configured to communicate with other electronic devices or servers.

[0151] The processor 702 is configured to execute a program 710, and specifically may execute relevant steps of the data packet transmission method in the aforementioned embodiments.

[0152] Specifically, the program 710 may include a program code. The program code comprises computer operation instructions.

[0153] The processor 702 may be a central processing unit (CPU) , or an Application Specific Integrated Circuit (ASIC) , or one or more integrated circuits configured to implement embodiments of the present disclosure. One or more processors comprised in a smart device may be processors of a same type, e.g., one or more CPUs; or may be processors of different types, e.g., one or more CPUs and one or more ASICs.

[0154] The memory 706 is configured to store the program 710. The memory 706 may include a high-speed RAM memory, and may further include a non-volatile memory, e.g., at least one disk memory.

[0155] The program 710 may specifically be used for causing the processor 702 to execute the data packet transmission method in any one of the aforementioned embodiments.

[0156] Corresponding description of the corresponding steps and units of the data packet transmission method in the aforementioned embodiments may be referred to for specific implementations of the steps in the program 710, which will not be repeated here. Those skilled in the art can clearly understand that, for convenience and simplicity of description, the description of corresponding processes in the aforementioned method embodiments may be referred to for specific working processes of the above-described devices and modules, which will not be repeated here.

[0157] With an electronic device in the present embodiment, the access point transmits the first trigger frames to the clients coupled to the access point in the first time period of a scheduling cycle. Since the first duration information comprised in the first trigger frames indicates a constant upper limit of time consumption, the upper limit of time consumption for transmitting the corresponding first data packet to the access point from each of the clients in response to the first trigger frames is equal, thus ensuring that each client has an opportunity to transmit a data packet to the access point in a scheduling cycle. The access point can further schedule one or more of the clients in the second time period to re-upload data packets based on the scheduling logic. Therefore, when a preceding client needs to upload a lot of high-priority data, data of a next client can also be uploaded to the access point in a timely manner, thereby ensuring the timeliness for the clients to upload data to the access point.

[0158] Computer-readable storage medium

[0159] The present disclosure further provides a computer-readable storage medium storing instructions for causing a machine to execute the data packet transmission method as described herein. Specifically, a system or apparatus equipped with a storage medium may be provided, wherein the storage medium stores a software program code for implementing the functions of any one embodiment among the aforementioned embodiments, and makes a computer (or CPU or MPU) of the system or the apparatus read and execute the program code stored in the storage medium.

[0160] In this case, the program code read from the storage medium itself can implement the functions of any one embodiment among the aforementioned embodiments, and thus the program code and the storage medium storing the program code constitute a part of the present disclosure.

[0161] Examples of storage mediums for providing the program code include a floppy disk, a hard  disk, a magneto-optical disk, an optical disk (e.g., CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, or DVD+RW) , a magnetic tape, a non-volatile memory card, and a ROM. Optionally, the program code may be downloaded from a server computer through a communication network.

[0162] In addition, it should be clear that a part or all of the actual operations may be completed not only by executing the program code read by the computer, but also by, e.g., an operating system operating on the computer based on instructions of the program code, thereby realizing the functions of any one embodiment among the aforementioned embodiments.

[0163] In addition, it is understandable that the program code read from the storage medium is written into a memory provided in an expansion board inserted into the computer or written into a memory provided in an expansion module connected to the computer, and then a part and all of the actual operations are executed by, e.g., a CPU installed on the expansion board or the expansion module based on the instructions of the program code, thereby realizing the functions of any one embodiment among the aforementioned embodiments.

[0164] Computer program product

[0165] Embodiments of the present disclosure further provide a computer program product. The computer program product is tangibly stored on a computer-readable medium, and comprises computer-executable instructions, wherein the computer-executable instructions, when executed, cause at least one processor to execute the data packet transmission method provided in the aforementioned embodiments. It should be understood that each solution in the present embodiment has corresponding technical effects in the aforementioned method embodiments, which will not be repeated here.

[0166] It should be noted that not all the steps and modules in the above processes and structural diagrams of the apparatus are necessary. Some steps or modules may be omitted based on actual requirements. The execution sequence of the steps is not constant, and may be adjusted as required. The system structure described in the aforementioned embodiments may be a physical structure or a logical structure, i.e., some modules may be implemented by a given physical entity, or may be implemented by a plurality of physical entities, or may be implemented together by some  components in a plurality of standalone devices.

[0167] The nouns and pronouns about individuals in the present patent application are not limited to specific genders.

[0168] In the above embodiments, hardware modules may be implemented mechanically or electrically. For example, a hardware module may include a permanent dedicated circuit or logic (e.g., a dedicated processor, FPGA, or ASIC) to complete corresponding operations. The hardware module may further include a programmable logic or circuit (e.g., a general-purpose processor or other programmable processors) , which may be temporarily provided by software to complete corresponding operations. Specific implementations (mechanical or dedicated permanent circuit, or temporarily provided circuit) may be determined based on costs and time.

[0169] The present disclosure is shown and described in detail above with reference to the drawings and preferred embodiments. However, the present disclosure is not limited to these disclosed embodiments. Based on the aforementioned plurality of embodiments, those skilled in the art can know that the code review means in the aforementioned plurality of embodiments may be combined to obtain more embodiments of the present disclosure. These embodiments are also encompassed within the scope of protection of the present disclosure.

Claims

1.A data packet transmission method (100) , being applied to an access point, the method comprising:transmitting first trigger frames to a plurality of clients coupled to the access point in a first time period, and receiving first data packets transmitted from the plurality of clients in response to the first trigger frames, wherein the first trigger frames comprise first duration information, the first duration information is used to indicate an upper limit of time consumption for transmitting the first data packets from the clients, and the first trigger frames transmitted to the plurality of clients comprise same first duration information; andtransmitting second trigger frames to at least some clients among the plurality of clients in a second time period, and receiving second data packets transmitted from the at least some clients in response to the received second trigger frames.2.The method according to claim 1, wherein the first trigger frames comprise first priority information, wherein the first priority information is used to instruct the clients to transmit data frames to the access point in descending order of priority.3.The method according to claim 1, wherein the method further comprises:determining a duration of the second time period based on a duration of the first time period and a scheduling cycle of scheduling the clients at the access point so that a value range of a sum of the duration of the first time period and the duration of the second time period is [Tcycle-Tthreshold, Tcycle+Tthreshold] , wherein Tcycle is used to represent the scheduling cycle, Tthreshold is used to represent a preset duration threshold, Tthreshold is a positive number, and the first time period is adjacent to the second time period in a time sequence.4.The method according to claim 3, wherein the transmitting the second trigger frames to the at least some clients among the plurality of clients in the second time period comprises:receiving buffer status information transmitted from the plurality of clients, wherein the buffer status information is at least used to indicate, after a corresponding client among the plurality of clients transmits the corresponding first data packet to the access point in response to the first trigger frames, a priority and a data size of cached data frames of the corresponding client;determining at least one target client from the plurality of clients based on scheduling of the plurality of clients in the first time period and the buffer status information transmitted from the plurality of clients; andtransmitting the second trigger frames to the at least one target client in the second time period.5.The method according to claim 4, wherein the buffer status information and the first data packets are transmitted together from the clients.6.The method according to claim 4, wherein the second trigger frames comprise second duration information, wherein the second duration information is used to indicate an upper limit of time consumption for transmitting the second data packets from the target client.7.The method according to claim 6, wherein the method further comprises:acquiring, after determining the target client, a reference duration computed for the target client by a chip at the access point;computing a sum of the duration of the first time period and time consumed for scheduling the clients in the second time period, to obtain an elapsed duration;determining, in response to a sum of the elapsed duration and the reference duration being greater than Tcycle+Tthreshold, that the second duration information of the target client is a difference between the scheduling cycle and the elapsed duration; anddetermining, in response to the sum of the elapsed duration and the reference duration being less than or equal to Tcycle+Tthreshold, that the second duration information of the target client is the reference duration.8.The method according to any one of claims 1-7, wherein the second trigger frames comprise  second priority information, wherein the second priority information is used to instruct the target client to transmit data frames to the access point in descending order of priority.9.A data packet transmission method (300) , being applied to a client, the method comprising:receiving a first trigger frame transmitted from an access point in a first time period, wherein the first trigger frame comprise first duration information, the first duration information is used to indicate an upper limit of time consumption for transmitting data packets from the client to the access point in response to the first trigger frame, the access point transmits first trigger frames to a plurality of clients in the first time period, and the first trigger frames transmitted to the plurality of clients comprise same first duration information;transmitting a first data packet to the access point in response to the first trigger frame, wherein time consumption for transmitting the first data packet is less than or equal to the upper limit of time consumption indicated by the first duration information; andtransmitting, after receiving a second trigger frame transmitted from the access point in a second time period, a second data packet to the access point in response to the second trigger frame.10.The method according to claim 9, wherein the method further comprises:determining at least one data frame from cached data frames in descending order of corresponding priority based on first priority information and the first duration information comprised in the first trigger frame; andpacking the determined at least one data frame to obtain the first data packets.11.The method according to claim 9, wherein the method further comprises: transmitting buffer status information to the access point so that the access point transmits the second trigger frame based on the buffer status information, wherein the buffer status information is at least used to indicate priorities and data sizes of cached data frames of the client except for the first data packets.12.The method according to claim 11, wherein the transmitting the buffer status information to  the access point comprises:transmitting the buffer status information and the first data packet together to the access point.13.The method according to any one of claims 9-12, wherein the transmitting the second data packet to the access point in response to the second trigger frame comprises:determining at least one data frame from the cached data frames in descending order of corresponding priority based on second priority information and second duration information comprised in the second trigger frame, wherein the second duration information is used to indicate an upper limit of time consumption for transmitting the second data packet from the client, and the second duration information is determined based on a duration of the second time period and the buffer status information of the client; andpacking the determined at least one data frame to obtain the second data packet, wherein the time consumption for transmitting the second data packet from the client is less than or equal to the upper limit of time consumption indicated by the second duration information.14.A data packet transmission apparatus (400) , being applied to an access point, the apparatus comprising:a first communication unit (401) configured to transmit first trigger frames to a plurality of clients coupled to the access point in a first time period, and receive first data packets transmitted from the plurality of clients in response to the first trigger frames, wherein the first trigger frames comprise first duration information, the first duration information is used to indicate an upper limit of time consumption for transmitting the first data packets from the clients, and the first trigger frames transmitted to the plurality of clients comprise same first duration information; anda second communication unit (402) configured to transmit second trigger frames to at least some clients among the plurality of clients in a second time period, and receive second data packets transmitted from the at least some clients in response to the received second trigger frames.15.A data packet transmission apparatus (500) , being applied to a client, the apparatus comprising:a receiving unit (501) configured to receive a first trigger frame transmitted from an access point in a first time period, wherein the first trigger frame comprise first duration information, the first duration information is used to indicate an upper limit of time consumption for transmitting data packets from the client to the access point in response to the first trigger frame, the access point transmits first trigger frames to a plurality of clients in the first time period, and the first trigger frames transmitted to the plurality of clients comprise same first duration information;a transmission unit (502) configured to transmit a first data packet to the access point in response to the first trigger frame, wherein time consumption for transmitting the first data packet is less than or equal to the upper limit of time consumption indicated by the first duration information; anda third communication unit (503) configured to transmit, after receiving a second trigger frame transmitted from the access point in a second time period, a second data packet to the access point in response to the second trigger frame.16.A communication system (600) , comprising: an access point (601) and a plurality of clients (602) coupled to the access point (601) , wherein the access point (601) communicates with the clients (602) through a wireless network;the access point (601) is configured to execute the data packet transmission method according to any one of claims 1-8; andthe clients (602) are configured to execute the data packet transmission method according to any one of claims 9-13.17.An electronic device (700) , comprising: a processor (702) , a communication interface (704) , a memory (706) , and a bus (708) , wherein the processor (702) , the communication interface (704) , and the memory (706) are configured to communicate with each other through the bus (708) ; andthe memory (706) is configured to store at least one executable instruction, wherein the executable instruction causes the processor (702) to execute corresponding operations of the data packet transmission method according to any one of claims 1-8 or the data packet transmission method according to any one of claims 9-13.18.A computer-readable storage medium, storing computer instructions thereon, wherein the computer instructions, when executed by a processor, cause the processor to execute the method according to any one of claims 1-8, or cause the processor to execute the method according to any one of claims 9-13.19.A computer program product, being tangibly stored on a computer-readable medium and comprising computer-executable instructions, wherein the computer-executable instructions, when executed, cause at least one processor to execute the method according to any one of claims 1-8 or the method according to any one of claims 9-13.

Citation Information

Patent Citations

  • Multi-basic service set uplink time alignment

    CN111316722A

  • Devices, systems and methods for low latency data transmission in wireless network

    CN113940131A

  • Data transmission method and communication device

    CN117377092A

  • Low latency wireless protocol

    US20200107263A1

  • Enhancing triggered single user transmissions in WLAN networks

    US20220256592A1