A counting value configuration method and device
By dynamically setting the Backoff random fallback count value in the CSMA/CA mechanism, and adding a fixed delay count value to extend the counting time of low-priority services, the problem of low-priority services seizing high-priority services is solved, and lower channel access delay and higher transmission efficiency are achieved.
Patent Information
- Application Number
- CN202110191297.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-02-20
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2041-02-20
AI Technical Summary
In the Carrier Sense Multiple Access/Conflict Avoidance (CSMA/CA) mechanism, data packets of low-priority services may seize the air interface resources of high-priority services when competing for channels, resulting in an increase in transmission delay of high-priority services and cannot meet the low-delay requirements.
By dynamically setting the Backoff random fallback count value, specifically, for low-priority services, a fixed delay count value is added to the original random fallback count value, thereby extending the time from its countdown to 0, so that high-priority or medium-priority services are transmitted first.
It effectively avoids low-priority services from seizing air interface resources for high-priority services, reduces channel access delay, and improves the transmission efficiency of low-delay services.
Smart Images

Figure CN114980350B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communications, and in particular to a method and device for configuring a random number count value in a random access mechanism. Background Art
[0002] The Carrier Sense Multiple Access with Collision Avoidance (CSMA / CA) mechanism is a very important mechanism to avoid access conflicts in the wireless LAN 802.11 protocol. It is mainly divided into two parts: Carrier Sense (CSMA) and Collision Avoidance (CA). Among them, the so-called carrier sense means that the node first monitors the channel before sending a data packet. If the channel is idle, the node transmits the frame; if the channel is busy, it needs to wait until the current transmission ends before transmitting. And no matter whether the channel is idle or busy, it is necessary to wait for an inter-frame spacing (IFS) before entering the random backoff process.
[0003] As the number of terminal devices in the network increases, the interaction scenarios between devices will become more complex and diverse, especially for video, game, anti-control and other business transmission, which often require lower transmission delay. Figure 1 As shown, in the competition process of the Distributed Coordination Function (DCF) of the current 802.11 protocol version specification, data packets of different services will be allocated to different queues, such as the Best Effort (BE) data transmission queue and the Video (VI) queue.
[0004] Among them, the VI queue is used to transmit video media data, and the BE queue can be used to transmit service data with low latency requirements such as Hypertext Transfer Protocol (HTTP) or Instant Messaging (IM). However, no matter whether the data packet is assigned to the BE or VI queue, the channel competition will be carried out in the order in which the data arrives at the queue. For example, if Data 1 arrives at the BE queue first, Data 1 will compete for the channel randomly. Once it competes for the channel, Data 1 will be sent out after DIFS and random backoff process. Subsequently, there is no data packet in Queue 2, and it continues to monitor the channel backoff. When Data 2 arrives at the BE queue, Data 2 will also be sent out directly. Since Data 3 arrives at the VI queue after the BE queue, Data 3 in the VI queue will be transmitted last. During transmission, the random number competition channel is still selected according to the VI flow, and it will be transmitted once it competes for the channel.
[0005] In the above-mentioned channel competition process, the data in each queue must select a random backoff counter (Random Backoff counter), referred to as "Backoff_C", in the "random backoff" process, and then monitor. When the channel is detected to be idle, Backoff_C is reduced by 1 until it is reduced to 0 before sending data. If there are a large number of terminal devices in the wireless network that need to perform HTTP or IM service transmission on the BE queue, it is likely that the Backoff_C selected by the terminal will be smaller than the Backoff_C in the VI queue, which will cause the smaller Backoff_C to be reduced to 0 first, and the data in the BE queue will be transmitted first, while the data in the VI queue is forced to wait for the BE queue to be transmitted before being transmitted, which increases the transmission delay and cannot meet the low delay requirement of video transmission in the VI queue. Summary of the invention
[0006] The present application provides a counting value configuration method and device for dynamically setting a Backoff random backoff count value, thereby reducing the access channel delay of delay-sensitive services. Specifically, the present application discloses the following technical solutions:
[0007] In a first aspect, the present application provides a counting value configuration method, which can be applied to a terminal device, such as a smart phone, a PC, etc., wherein the terminal device includes a WiFi module. Specifically, the method includes:
[0008] Obtain multiple queues for transmitting different business data, the multiple queues including a first queue; when there are data packets to be transmitted in the multiple queues, obtain the priority of the first queue, the priority of the first queue being the priority of the first business data carried in the first queue; when the priority of the first business is a low priority, configure a first random backoff count value corresponding to the first business, the first random backoff count value being the sum of a preset random backoff count value and a fixed delay count value.
[0009] The first service is a low-priority transmission service, such as file service data transmitted in the background stream BK queue. The priority of the first service can be preset, and specifically, the priority of the service can be determined according to the transmission delay.
[0010] The method provided by the present aspect, for a hardware queue with data packets, if it is detected that the service transmitted in the current queue is a low-priority service, sets the random backoff count value of the service on the basis of the original Backoff_C configured according to the EDCA mode, and adds a fixed delay count value Backoff_delay, thereby increasing the random backoff count value allocated to the service, and the time for counting down to 0 becomes longer, and is longer than the random backoff count values of medium and high priorities, so that high-priority or medium-priority services can be transmitted first, avoiding the current low-priority service from preempting the air interface resources of the high-priority service.
[0011] In combination with the first aspect, in a possible implementation method of the first aspect, before configuring the first random backoff count value corresponding to the first service, it also includes: determining the fixed delay count value; wherein the fixed delay count value is related to m and t, and further, m is the total number of data packets that the first queue can carry, and t is the time interval for a data packet to be sent from the application layer to the WiFi chip or WiFi module.
[0012] In combination with the first aspect, in another possible implementation of the first aspect, the method further includes: when it is detected that the channel is idle and the first random backoff count value falls back to 0, sending the data packets in the first queue in an aggregate frame manner. In this implementation, by sending the data packets in the queue using an aggregate frame, the content of one transmission can be increased and additional air interface overhead can be reduced.
[0013] In combination with the first aspect, in another possible implementation of the first aspect, the method also includes: when there are no data packets to be transmitted in the multiple queues, predicting that there will be a target queue with data cache to be transmitted within the next detection cycle; and assigning a second random backoff count value to the target queue.
[0014] Further, predicting that there will be a target queue with data to be transmitted cached in the next detection cycle includes: determining the target queue according to the probability that each queue in the multiple queues may carry data packets in the next transmission, the target queue being the queue corresponding to the largest probability among all the probabilities;
[0015] The above-mentioned allocating a second random backoff count value to the target queue includes:
[0016] If the target queue is a video VI queue, the second random backoff count value is determined to be from [0, CW VI ], CW VI The maximum value of the random backoff count in the VI queue;
[0017] If the target queue is a best effort BE queue, the second random backoff count value is determined to be a value from [0, CW BE ], CW BE The maximum value of the random backoff count in the BE queue.
[0018] If the target queue is a background flow BK queue, the second random backoff count value is determined to be the sum of a preset random backoff count value and a fixed delay count value, and the preset random backoff count value is a range from [0, CW BK ], CW BK The maximum value of the random backoff count in the BK queue.
[0019] Optional, CW BE Greater than CW VI .
[0020] In combination with the first aspect, in another possible implementation of the first aspect, a second random backoff count value is assigned to the target queue, including: obtaining the data space percentage p of each queue in the quality of service QoS queue, and the random backoff count value Backoff_C selected by each queue, the data space percentage p being the percentage of data cached in a queue in the QoS queue of the historical data transmission process to the total capacity of the queue; performing a probability weighted operation based on the data space percentage p of each queue and the random backoff count value Backoff_C selected for each queue to obtain the second random backoff count value.
[0021] Furthermore, a possible implementation method is, Algorithm 1: Probability-based selection, specifically including:
[0022] First, a random number is thrown according to the probability of P1, P2, and P3. The random numbers that can be thrown are 1, 2, and 3. The random number (Backoff_C) is defined as R. Then, the value of R is determined, and Backoff_C is set according to the value of R. Specifically,
[0023] If R=1, Backoff_C1=Random(0,CW VI );
[0024] If R = 2, Backoff_C2 = Random (0, CW BE );
[0025] If R = 3, Backoff_C3 = Random (0, CW BK )+Backoff_delay.
[0026] Finally, the data packet / data message of the Post-backoff mechanism is transmitted according to the selected Backoff_C value.
[0027] In this implementation, based on probability statistics, the service data with the highest probability in historical data transmission is used as the queue that may cache data packets for the next transmission, and the queue that may cache and need to send data for the next transmission is predicted, thereby allocating a random backoff count value. If it is determined to be a high-priority service flow, a smaller Backoff_C value is directly selected, which can further increase the access probability of the terminal device and reduce delay. If it is determined to be a low-priority service flow, a larger Backoff_C value is directly selected. The random backoff count value Backoff_C is a random number value (Random(0, CW BK )) and the fixed delay count value Backoff_delay, so that the lower priority service data is sent with a delay, avoiding competition for resources with data flows in the high priority queue, increasing the probability of sending aggregated frames, and thus improving throughput efficiency.
[0028] In addition, based on the prediction mechanism, if it is determined to be a high-priority business data flow, a smaller backoff_C value is directly selected, thereby reducing the transmission delay and improving the access probability compared to the traditional post-backoff.
[0029] Optionally, another possible implementation manner is that the QoS queue includes a VI queue, a BE queue, and a BK queue, and a probability weighted operation is performed according to the data space percentage p of each queue and the random backoff count value Backoff_C selected for each queue to obtain the second random backoff count value, including: directly performing probability weighting and setting the Backoff_C value, for example, performing a probability weighted operation according to the following algorithm (Algorithm 2), and obtaining the second random backoff count value as follows:
[0030] p1*[Random(0,CW VI )]+p2*[Random(0,CW BE )]+p3*[Random(0,CW BK )+Backoff_delay]
[0031] Among them, p1 is the percentage of data space counted in the VI queue, p2 is the percentage of data space counted in the BE queue, p3 is the percentage of data space counted in the BK queue, and CW VI is the maximum value that Backoff_C can take in the VI queue, CW BE is the maximum value that Backoff_C of the BE queue can take, CW BK is the maximum value that Backoff_C of the BK queue can take, and Backoff_delay is the fixed transmission delay.
[0032] In the second aspect, the present application also provides a counting value configuration device, which includes: an acquisition unit and a processing unit, wherein the acquisition unit is used to acquire multiple queues for transmitting different service data, the multiple queues including a first queue; the processing unit is used to acquire the priority of the first queue when there are data packets to be transmitted in the multiple queues, and when the priority of the first service is a low priority, configure a first random backoff count value corresponding to the first service, the priority of the first queue is the priority of the first service data carried in the first queue, and the first random backoff count value is the sum of a preset random backoff count value and a fixed delay count value.
[0033] In combination with the second aspect, in a possible implementation of the second aspect, the processing unit is also used to determine the fixed delay count value before configuring the first random backoff count value corresponding to the first service; the fixed delay count value is related to m and t, where m is the total number of data packets that the first queue can carry, and t is the time interval for a data packet to be sent from the application layer to the WiFi chip or WiFi module.
[0034] In combination with the second aspect, in another possible implementation method of the second aspect, it also includes: a sending unit, which is used to send the data packets in the first queue in an aggregate frame manner when the processing unit detects that the channel is idle and the first random backoff count value falls back to 0.
[0035] In combination with the second aspect, in another possible implementation of the second aspect, the processing unit is also used to predict, when there are no data packets to be transmitted in the multiple queues, that there will be a target queue with data cached for transmission within the next detection cycle; and to assign a second random backoff count value to the target queue.
[0036] In combination with the second aspect, in another possible implementation manner of the second aspect, the processing unit is further used to determine the target queue according to the probability that each queue in the multiple queues may carry a data packet during the next transmission, and the target queue is the queue corresponding to the largest probability among all the probabilities; and
[0037] If the target queue is a video VI queue, the second random backoff count value is determined to be from [0, CW VI ], CW VI The maximum value of the random backoff count in the VI queue;
[0038] If the target queue is a best effort BE queue, the second random backoff count value is determined to be a value from [0, CW BE ], CW BE The maximum value of the random backoff count in the BE queue.
[0039] If the target queue is a background flow BK queue, the second random backoff count value is determined to be the sum of a preset random backoff count value and a fixed delay count value, and the preset random backoff count value is a range from [0, CW BK ], CW BK The maximum value of the random backoff count in the BK queue.
[0040] Optional, CW BE Greater than CW VI .
[0041] In combination with the second aspect, in another possible implementation method of the second aspect, the processing unit is also used to obtain the data space percentage p of each queue in the quality of service QoS queue, and the random backoff count value Backoff_C selected by each queue, and perform probability weighted operation on the data space percentage p of each queue and the random backoff count value Backoff_C selected for each queue to obtain the second random backoff count value; the data space percentage p is the percentage of data cached in a queue in the QoS queue of the historical data transmission process to the total capacity of the queue.
[0042] In combination with the second aspect, in another possible implementation of the second aspect, the QoS queue includes a VI queue, a BE queue, and a BK queue, and the processing unit is further used to perform a probability weighted operation according to the following algorithm to obtain the second random backoff count value:
[0043]
[0044] Among them, p1 is the percentage of data space counted in the VI queue, p2 is the percentage of data space counted in the BE queue, p3 is the percentage of data space counted in the BK queue, and CW VI is the maximum value that Backoff_C can take in the VI queue, CW BE is the maximum value that Backoff_C of the BE queue can take, CW BK is the maximum value that Backoff_C of the BK queue can take, and Backoff_delay is the fixed transmission delay.
[0045] In the third aspect, the present application also provides a communication device, which includes a communication module and a SoC chip, the communication module includes a transceiver circuit and a processing circuit, the transceiver circuit is used to provide instructions and / or data to the processing circuit; the processing circuit is used to execute the instructions to implement the method in the first aspect and various implementation methods of the first aspect.
[0046] The communication module is connected to the SoC chip via at least one interface. The processing circuit includes at least one processor.
[0047] Optionally, the communication module may be a WiFi module.
[0048] In addition, the device also includes a memory, and the memory is used to store the instructions and / or data.
[0049] Optionally, the communication device is a terminal device, which includes but is not limited to a mobile phone, a PC, and a tablet computer.
[0050] In a fourth aspect, the present application further provides a computer-readable storage medium having instructions stored therein, so that when the instructions are executed on a computer or a processor, the method can be used to execute the aforementioned first aspect and the methods in various implementations of the first aspect.
[0051] In addition, the present application also provides a computer program product, which includes computer instructions. When the instructions are executed by a computer or a processor, the method in the aforementioned first aspect and various implementation methods of the first aspect can be implemented.
[0052] In a fifth aspect, the present application also provides a terminal device, comprising the apparatus in the aforementioned second aspect and various implementations of the second aspect, for implementing the method in the aforementioned first aspect and various implementations of the first aspect.
[0053] It should be noted that the beneficial effects corresponding to the technical solutions of the various implementation methods of the second to fifth aspects are the same as the beneficial effects of the aforementioned first aspect and the various implementation methods of the first aspect. Please refer to the description of the beneficial effects in the aforementioned first aspect and the various implementation methods of the first aspect for details, and no further details will be given. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] Figure 1 A schematic diagram of data transmission under a DCF competition mechanism provided by this application;
[0055] Figure 2 A working timing diagram of a CSMA / CA mechanism provided for this application;
[0056] Figure 3a A schematic diagram of an application scenario provided for this application;
[0057] Figure 3b A schematic diagram including other application scenarios provided for this application;
[0058] Figure 4 A flowchart of a random backoff count value configuration method provided by this application;
[0059] Figure 5 A schematic diagram of WiFi channel access for a terminal device provided in this application;
[0060] Figure 6 A schematic diagram of another terminal device WiFi channel access provided by this application;
[0061] Figure 7 A schematic diagram of the structure of a QoS queue and a hardware queue provided for this application;
[0062] Figure 8A schematic diagram of the structure of a random backoff count value configuration device provided by the present application;
[0063] Fig. 9 A schematic diagram of the structure of a terminal device provided for this application. DETAILED DESCRIPTION
[0064] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present application, the technical solutions in the embodiments of the present application are described in detail below in conjunction with the accompanying drawings.
[0065] Before describing the technical solutions of the embodiments of the present application, the application scenarios and related technical terms of the embodiments of the present application are first described with reference to the accompanying drawings.
[0066] The technical solution of the present application can be applied to wireless communication scenarios, such as WiFi network architecture. Following the competitive channel mechanism in the IEEE802.11 protocol version, that is, in the initial Media Access Control (MAC) layer, there are two basic working modes: distributed scheduling function DCF and centralized scheduling function (Point Coordination Function, PCF).
[0067] Among them, DCF has good distributed characteristics and is more widely used. In an 802.11 protocol version, DCF is extended to Enhanced Multimedia Distributed Control Access (EDCA) mode, and PCF mode is extended to Hybrid Coordinated Controlled Channel Access (HCF Controlled Channel Access, HCCA) mode. This embodiment mainly discusses the DCF mode and its core CSMA / CA mechanism.
[0068] In a possible network topology, for example, including an access point (AP) and two stations (STA), namely STA 1 and STA2, due to the broadcast characteristics of a wireless environment, if STA 1 and STA2 send data to the AP at the same time, a conflict may occur at the AP, resulting in the inability to correctly transmit services between the AP and the two STAs. A CSMA / CA mechanism is proposed to avoid conflicts.
[0069] For ease of understanding, the technical terms related to the working mechanism of CSMA / CA are introduced below.
[0070] (1) Random Backoff
[0071] The random backoff process refers to the random backoff process that each station goes through when competing for a channel. At the beginning of this process, the station first selects a random backoff counter based on a random number in the contention window (Backoff_C). At the same time, in each time slot, the station "listens" whether the channel is idle. If the channel is idle, a countdown is performed, that is, the count value is reduced by 1. If the channel is busy, no corresponding countdown is performed. When the random backoff counter value falls back to 0, the station can send data.
[0072] In the 802.11 protocol, the default initial contention window is 31, that is, the range of the random backoff count value "Backoff_C" is [0,31].
[0073] (2) Slot time
[0074] A time slot refers to a time segment. In CSMA / CA, before a station competes for access to a channel, it needs to go through a corresponding random backoff process, where the backoff process is composed of many time slots. During the backoff process, every time a slot time passes, the station will "listen" to the channel once. If the channel is idle, the value of the corresponding random backoff counter is reduced by 1.
[0075] (3) Contention window
[0076] The contention window is used to allow sites to select a random backoff counter range.
[0077] For example, Figure 2 As shown in the figure, when STA 1 and STA2 have data and need to send it in the contention channel, they first need to "wait" for DIFS time. If the channel remains idle within the DIFS time, the backoff process can be performed. When STA 1 and STA2 enter the Random backoff process, they first need to select a random number from the contention window. Figure 2 In this example, STA 1 selects Backoff_C as 8, and STA2 selects Backoff_C as 2.
[0078] During the random backoff process, every time a slot time passes, the station will "listen" to the channel once. If the channel is idle, the value of the corresponding random backoff counter will be reduced by 1. Figure 2As shown in the figure, after 3 slot times, the random countdown counter of STA 1 decreases from 8 to 5, while that of STA 2 decreases from 2 to 0 accordingly.
[0079] When the random backoff count value of STA2 counts down to 0, it competes to obtain the channel so that it can send data. That is, after STA 2 obtains the channel, it sends a data packet to the AP. After the AP receives the data packet, it uses the CRC mechanism to verify the data in the data packet. If the verification passes, the AP will feedback an ACK confirmation frame after SIFS. When STA2 successfully sends the data, after "waiting" for SIFS, the AP will feedback an ACK confirmation frame to STA2. When STA2 successfully receives the ACK frame, this transmission is completed.
[0080] After the transmission is completed, the station needs to "wait" for DIFS again and restart the backoff process. If STA2 has just sent data, then when the Random backoff process starts, it needs to select a random backoff count value from the contention window for countdown. If the station has not sent data, it will continue to count down from the last countdown result. Figure 2 As shown, STA 1 does not compete for the channel, so in the second random backoff process, it directly counts down to 4 based on the last 5, thereby ensuring the fairness of network transmission.
[0081] The present application can be applied to the above-mentioned wireless communication systems, such as wireless local area networks (WLAN). The above-mentioned STA1 and STA2 are generally clients, which can be computers equipped with wireless network cards, or smart phones, tablet computers, laptops (Laptops), personal computers (PCs), TVs, foldable terminals, wearable devices with wireless communication functions (such as smart watches or bracelets), user equipment (UE), and augmented reality (AR) or virtual reality (VR) devices, etc. This embodiment does not limit the specific device form of the client device. For example Figure 3a As shown, UE1 is a mobile phone and UE2 is a Laptop.
[0082] In addition, the above-mentioned terminal device may also be a switch.
[0083] Among them, the above-mentioned devices are equipped with systems including but not limited to Apple (IOS), Android (Android) and Microsoft (Microsoft).
[0084] Optionally, the AP may also be other network devices, such as a router, a switch, etc.
[0085] In addition, the technical solution of the present application can also be applied to other P2P (peer-to-peer, person-to-person) scenarios, such as Figure 3b As shown, there are three possible application scenarios, including mobile phone 1 and TV, mobile phone 2 and PC, and mobile phone 3 and mobile phone 4. Among them, mobile phone 1 transmits video service data with TV; mobile phone 2 transmits http or IM service data with PC; and mobile phone 3 and mobile phone 4 transmit service data such as files and pictures.
[0086] In a protocol standard of the Institute of Electrical and Electronic Engineers (IEEE) 802.11, different service data are classified into four different data access types: background flow (BK), voice (VO), video (VI), and best effort (BE). Different types of data are assigned to different queues for transmission, for example Figure 1 As shown, the video media stream is configured to be transmitted in the VI queue, the audio stream is configured in the VO queue, the Internet http / IM service data is configured in the BE queue, and the file transfer data is configured in the BK queue.
[0087] In addition, when a site selects a random backoff count value Backoff_C under the Random Backoff mechanism, different queues have different selection ranges for Backoff_C values. For example, in the BE queue, the selectable Backoff_C value range is [0, CW BE ], CW BE Indicates the maximum value of Backoff_C in the BE queue. For the VI queue, the range of Backoff_C is [0, CW VI ], CW VI Indicates the maximum value that Backoff_C can select in the VI queue.
[0088] Optional, CW BE 31, or CW VI is 16.
[0089] The technical solution of the present application is described in detail below.
[0090] The present application provides a method for configuring a random backoff count value, which can adapt to the RandomBackoff mechanism, so that services with low latency requirements are transmitted first, preventing other services from occupying air interface resources and affecting the transmission efficiency of low latency services.
[0091] This method prioritizes data transmitted by different services in advance. One possible way of prioritizing is to set the priorities of different services according to the EDCA mechanism, such as classifying video and audio services as high-priority services, such as the first priority; classifying http / IM service data as medium-priority services, i.e., the second priority; and classifying file transfer data as low-priority, such as the third priority. Since different services are assigned to different queues, according to the first to third priorities, the priorities of the queues can be obtained from high to low, namely: VI or VO queue, BE queue, BK queue, as shown in Table 1.
[0092] Table 1
[0093] Business data queue Priority Order Video or voice data VI or VO queue High (first priority) http / IM service data BE Queue Medium (second priority) File transfer data BK Queue Low (third priority)
[0094] After setting the priorities of different services, execute the following method, such as Figure 4 As shown, including:
[0095] 101: Acquire a hardware queue, where the hardware queue includes at least one queue, and the at least one queue includes but is not limited to a VI or VO queue, a BE queue, a BK queue, and the like.
[0096] 102: Check whether the at least one queue contains a data packet.
[0097] Specifically, it is detected whether each data packet in the hardware queue has a cached data packet.
[0098] 103: If there is a data packet in one or more of the at least one queue, determine that there is a data packet in the hardware queue, and set a random backoff count value Backoff_C for each queue in the at least one queue. Specifically, step 103 includes: taking the first queue as an example, the first queue is any one of the hardware queues.
[0099] 103 - 1: Obtain a priority of a first queue, where the priority of the first queue is a priority of first service data carried in the first queue.
[0100] 103-2: Setting a random backoff count value for the first service according to the priority of the first queue. The priority of the first queue may be the highest level, the middle level, or the low level, so setting a random backoff count value may include the following three situations.
[0101] Case 1: If the priority of the first queue is the highest priority, a first random backoff count value is configured for the first service in accordance with the EDCA mode. The first random backoff count value is a smaller value. For example, the first queue carries video or voice service data, that is, when the first queue is a VI queue or a VO queue, the priority of the first queue is the highest. At this time, the first random backoff count value Backoff_C1 is allocated to the first service in accordance with the 802.11 protocol specification.
[0102] Case 2: If the priority of the first queue is medium priority, a second random backoff count value is configured for the first service according to the EDCA mode. For example, if the first service is an http / IM service, and the corresponding first queue is a BE queue, and the priority of the first queue is determined to be medium priority according to Table 1 above, a second random backoff count value Backoff_C2 is allocated to the first service in accordance with the 802.11 protocol specification.
[0103] Case 3: If the priority of the first queue is low priority, a third random backoff count value Backoff_C3 is configured for the first service. The third random backoff count value is, based on the random backoff count value Backoff_C0 configured in the EDCA mode, a fixed delay count value Backoff_delay is added, and finally quantized to Backoff_C3, expressed as: Backoff_C3 = Backoff_C0 + Backoff_delay.
[0104] In this embodiment, if the first queue is a BK queue, the first random backoff count value is Backoff_C3.
[0105] Optionally, Backoff_C0 is a random backoff count value selected according to the EDCA mode, and the selection range of the random backoff count value is [0, CW BE ].
[0106] Among them, the fixed delay count value Backoff_delay can be determined according to the business. Specifically, the value of Backoff_delay is related to m and t, such as Backoff_delay = m×t, where m is the total number of data packets that the first queue can carry, and t is the frame interval of a data packet / frame sent from the application layer to the WiFi chip. Further, t is the interval from the application layer SoC chip to the WiFi chip to send a packet; it can be understood as the time length of the first data packet or the first frame sent from the SoC chip to the WiFi chip. For example, m = 20, t = 1 to 2 milliseconds, then m×t = 10 to 20 milliseconds (ms), and since the time interval corresponding to each random backoff count value is approximately equal to 9 microseconds (μs), the delay time Backoff_delay can be converted into a random backoff count value, and finally added to Backoff_C0 to obtain the third random backoff count value Backoff_C3, which is the first random backoff count value in the aforementioned "Content of the Invention".
[0107] See also Figure 5 As shown, when the data stored in the queue is identified as the background flow buffer, that is, the BK queue, a random number (Backoff_C) is selected according to the low priority, and a fixed delay count value Backoff_delay is added. That is, Backoff_C = Random (0, CW BE )+Backoff_delay. For example, Random(0, CW BE ) is 10, Backoff_delay is 30, then Backoff_C3=10+30=40, that is, the third random backoff count value is 40.
[0108] The method provided in this embodiment, for a hardware queue with data packets, if it is detected that the service transmitted in the current queue is a low-priority service, sets the random backoff count value of the service to increase a fixed delay count value Backoff_delay on the basis of the original Backoff_C configured according to the EDCA mode, thereby increasing the random backoff count value allocated to the service, and lengthening the countdown time to 0, which is longer than the random backoff count values of medium and high priorities, so that high-priority or medium-priority services can be transmitted first, thereby avoiding the current low-priority service from preempting the air interface resources of the high-priority service.
[0109] In addition, the method further includes: counting according to the random backoff count value configured by the WiFi module, and transmitting the data message in the first queue when the countdown reaches 0. Specifically, for the above cases 1 to 3, different methods can be used to send data packets or frames.
[0110] In "Case 1", the station may send a data packet corresponding to the first service in a single frame manner.
[0111] In "Case 2", the site can send the data packets in the queue in a single frame manner or in an aggregate frame manner. Specifically, the selection of the sending method can be determined according to the number of data packets in the queue. For example, if there are a large number of data packets to be transmitted, they are sent in an aggregate frame manner; if there are a small number of data packets to be transmitted, they can be sent in a single frame manner.
[0112] In existing protocol versions, such as 802.11n and 802.11ac, in order to improve the physical layer transmission rate and throughput, you can use aggregated frames to transmit wireless frames. Aggregated frames combine multiple wireless frames into a single longer wireless frame and then transmit it once. While the contention overhead of the MAC layer remains unchanged (since one frame replaces multiple frames, there is only one contention overhead), the content of transmission is increased and the additional air interface overhead is reduced.
[0113] The aggregate frame transmission includes: MSDU and MPDU. SDU and PDU are two basic units, and M stands for MAC layer. In 802.11, MAC Service Data Unit (MSDU) is the 3rd to 7th layer payload (Payload) of 802.11 data frame, and MSDU is only the Payload part without the header. The 802.11 MAC Protocol Data Unit (MPDU) essentially contains the MAC layer header in addition to the Payload, that is, MDPU contains the MAC layer header and MSDU.
[0114] In "Case 3", the station can preferentially use the aggregate frame mode to transmit the data packets in the first queue. If there is no aggregate frame within the fixed delay, single frame transmission is used. Because the larger the Backoff_C3 is configured, the longer the delay waiting for transmission, the more data packets may be buffered in the BK queue, so more data packets can be transmitted at one time using aggregate frame transmission. In addition, if there is no aggregate frame to send within the delay when Backoff_C3 counts down to 0, single frame transmission is used.
[0115] For example, Figure 5In the process, the site obtains the third random backoff count value Backoff_C3 of 40 in the air interface resources (which can be understood as time domain resources), and starts to count down from 40. During the countdown process, the data of the file transfer service will be cached in the BK queue, and the aggregation operation will be performed at this time; when Backoff_C3 counts down to 0, all the data packets cached in the BK queue are transmitted in the form of aggregated frames. After this transmission is completed, the site needs to "wait" for the SIFS time interval again, and the AP will feedback the block ACK confirmation frame to the site, and confirm the transmitted data in the form of block ACK. For the subsequent process, please refer to the relevant provisions of the 802.11 protocol version, which will not be described in detail in this embodiment.
[0116] In addition, in the above method embodiment, after step 102, the method further includes:
[0117] 104: If the result of the check in step 102 is "No", that is, there are no data packets in all queues in the hardware queue, then according to the prediction mechanism, it is predicted that at the next moment, there will be queues with a high probability of data caching and transmission among all queues, and a random backoff count value Backoff_C is configured for these queues that may have data transmission.
[0118] The absence of data packets in the hardware queue means that there are no data packets to be transmitted in each queue of at least one of the hardware queues. For example, if the hardware queues include three priority queues: VO or VI queue, BK queue and BE queue, and each queue has no cached data packets, then the check result in step 102 is determined to be "No".
[0119] The prediction mechanism is used to predict the queues in which data packets may exist in the hardware queues during the next transmission. The prediction mechanism can actually be determined based on the distribution of data packets. The probability that the services of the above three priorities may carry data packets during the next transmission is set, and the probability is represented by the capital letter "P". For example, in the highest priority VI or VO queues, the probability of data transmission is P1; the probability of data transmission in the medium priority BE queue is P2; the probability of data transmission in the low priority BK queue is P3, and P1+P2+P3=1.
[0120] One possible implementation is to determine the queue with a high probability of having data packets in the next transmission based on probability statistics. Specifically, the target queue is determined according to the probabilities of P1, P2, and P3, and the target queue is one of the hardware queues, where the possible value range of the random number is 1, 2, and 3; the random number (Backoff_C) can be defined as "R". That is, the corresponding relationship is established in advance.<P,R> Among them, P1 corresponds to "1", P2 corresponds to "2", and P3 corresponds to "3".
[0121] Determine the maximum value among P1, P2, and P3 at the current moment. If the P1 value counted at the current moment is the largest, then R=1, and determine that the VO / VI queue (i.e., the target queue) where the first priority service data is located is the queue that is likely to carry data packets during the next transmission; if P2 is the largest among P1, P2, and P3, then R=2, that is, the probability that data may occur in the BE queue (i.e., the target queue) during the next transmission is the largest, i.e., the second largest; if P3 is the largest, then determine R=3, that is, the probability that data transmission may occur in the BK queue (i.e., the target queue) during the next transmission is the largest. Determine the random backoff count value Backoff_C corresponding to each value based on the value of R, specifically including:
[0122] If R=1, then Backoff_C1=Random(0,CW VI ), that is, from [0,CW VI ] Select any value;
[0123] If R = 2, then Backoff_C2 = Random(0, CW BE ), that is, from [0,CW BE ] Select any value;
[0124] If R=3, then Backoff_C3=Random(0,CW BK )+Backoff_delay. That is, from [0, CW BK ], and then add a fixed delay count value Backoff_delay; where Random(0,CW BK ) is Backoff_C0. “[]” indicates that the end value can be taken.
[0125] Finally, according to the determined Backoff_C countdown, when the determined Backoff_C countdown reaches 0, the data in the target queue is sent. For the specific process, please refer to the Post-backoff mechanism in the IEEE 802.11 protocol version. The so-called Post-backoff mechanism is a pre-backoff and random number allocation mechanism that is enabled only when there is no packet in the hardware queue.
[0126] The prediction mechanism provided in this embodiment uses the service data with the highest probability in historical data transmission as the queue that may cache data packets for the next transmission based on probability statistics, and predicts the queue that may cache and need to send data for the next transmission, thereby allocating a random backoff count value. If it is determined to be a high-priority service flow, a smaller Backoff_C value is directly selected, which can further increase the access probability of the terminal device and reduce delay. If it is determined to be a low-priority service flow, a larger Backoff_C value is directly selected. The random backoff count value Backoff_C is a random number value (Random(0, CW BK )) and the fixed delay count value Backoff_delay, so that lower priority service data is sent with a delay to avoid competing for resources with data flows in the high priority queue. Increase the probability of sending aggregate frames to improve throughput efficiency.
[0127] Optionally, when "R=3" above, when the Backoff_C count regresses to 0, the data in the BK queue can be sent using aggregate frames. Since aggregate frames indicate that multiple frames can be packaged and sent before data is sent, and multiple frames can share a header and a tail, more data can be transmitted, improving transmission efficiency and thereby increasing data transmission throughput.
[0128] It should be understood that in the above cases 1 to 3, it is predicted that when one or more queues in the hardware queue may have cached data within the next detection cycle, a random backoff count value Backoff_C is configured for each queue that may transmit data packets, and when Backoff_C counts down to 0, data transmission is performed according to the post-backoff mechanism.
[0129] One possible implementation is to determine the queue that may cache and transmit data at the next moment based on a weighted average operation of probability. Figure 7 As shown in the figure, the percentage of data cached in different queues in the Quality of Service (QoS) queue of the historical data transmission process to the total capacity of the queue, referred to as "data space percentage", determines the random backoff count value Backoff_C. Since all queues only need to allocate one Backoff_C in the post-backoff mechanism, there is no need to predict the queue that may transmit data packets at the next detection moment, and Backoff_C can be set according to different percentages.
[0130] Specifically, the first step is to obtain the data space percentage in each queue in the QoS queue, which can be represented by a lowercase letter "p".
[0131] Step 1: Get the data space percentage p of each queue in the QoS queue and the random backoff count value Backoff_C selected by each queue.
[0132] Step 2: Perform probability weighted calculation based on the data space percentage p of each queue and the Backoff_C selected for each queue to obtain a universal random backoff count value Backoff_C4. Specifically, the calculation process is:
[0133] Backoff_C4=p1*[Random(0,CW VI )]+p2*[Random(0,CW BE )]+p3*[Random(0,CW BK )+Backoff_delay]
[0134] Among them, p1 is the percentage of data space counted in the VI queue, p2 is the percentage of data space counted in the BE queue, p3 is the percentage of data space counted in the BK queue, and CW VI The maximum value of Backoff_C in the VI queue. BE The maximum value of Backoff_C of BE queue. BK The maximum value that can be selected for Backoff_C of the BK queue.
[0135] Furthermore, the CW VI , CW BK and CW BE The maximum value can be determined according to the existing protocol version, and this embodiment does not limit this. BK >CW VI , such as CW BK =31, CW VI =16.
[0136] For example, see Figure 6 In an example, p1 = 75%, p2 = 20%, p3 = 5%, Random(0, CW VI ) is 5, Random(0,CW BE ) is 10, Random(0,CW BK ) is 20, Backoff_delay is 20, then according to the above relationship,
[0137] Backoff_C4=75%*5+20%*10+5%*(20+20)=7.75, the calculated Backoff_C4 is 7.75, rounded to 8, which is the same as the random number Random(0,CW VI )=5 are close.
[0138] The third step is to perform data transmission under the Post-backoff mechanism based on the Backoff_C4 value obtained by calculation and rounding.
[0139] Specifically, the same random backoff count value Backoff_C4 is assigned to the VI, VO queues, BK queues and BE queues, and each queue counts down according to the Backoff_C4. When the countdown reaches 0, after a DIFS time interval, if there is data stored in the VI queue, the cached data in the VI queue is sent first.
[0140] The method provided in this embodiment is based on the IEEE 802.11 protocol specification, and prioritizes different service transmissions. For low-priority services, when configuring a random backoff count value, a fixed delay count value Backoff_delay is added to the originally selected random number, thereby avoiding competition for air interface resources with data transmission of high-priority services, and delaying to increase cache, thereby triggering aggregate frame transmission to replace single frame transmission, thereby improving throughput efficiency.
[0141] In addition, based on the prediction mechanism, if it is determined to be a high-priority business data flow, a smaller backoff_C value is directly selected, thereby reducing the transmission delay and improving the access probability compared to the traditional Post-backoff.
[0142] The following introduces device embodiments corresponding to the above method embodiments of the present application.
[0143] The present application embodiment provides a counting value configuration device, such as Figure 8 As shown, the device may be the aforementioned WiFi module, or may be a terminal device including the WiFi module, and may implement the counting value configuration method in the aforementioned embodiment.
[0144] Specifically, the device may include: an acquisition unit 801, a processing unit 802 and a sending unit 803. In addition, the device may also include a storage unit (the storage unit is in Figure 8 Other units or modules (not shown) are not limited in this embodiment.
[0145] Among them, the acquisition unit 801 is used to obtain multiple queues for transmitting different business data, and the multiple queues include a first queue; the processing unit 802 is used to obtain the priority of the first queue when there are data packets to be transmitted in the multiple queues, and when the priority of the first business is a low priority, configure a first random backoff count value corresponding to the first business, the priority of the first queue is the priority of the first business data carried in the first queue, and the first random backoff count value is the sum of a preset random backoff count value and a fixed delay count value.
[0146] Optionally, in a specific implementation, the processing unit 802 is also used to determine the fixed delay count value before configuring the first random backoff count value corresponding to the first service; the fixed delay count value is related to m and t, where m is the total number of data packets that the first queue can carry, and t is the time interval for a data packet to be sent from the application layer to the WiFi chip.
[0147] Optionally, in another specific implementation, the sending unit 803 is used to send the data packets in the first queue in an aggregate frame manner when the processing unit detects that the channel is idle and the first random backoff count value falls back to 0.
[0148] Optionally, in another specific embodiment, the processing unit 802 is further used to predict that there will be a target queue with data cached for transmission within the next detection cycle when there are no data packets to be transmitted in the multiple queues; and to assign a second random backoff count value to the target queue.
[0149] Optionally, in another specific implementation, the processing unit 802 is further configured to determine the target queue according to the probability that each queue in the multiple queues may carry a data packet during the next transmission, the target queue being the queue corresponding to the largest probability among all the probabilities; and
[0150] If the target queue is a video VI queue, the second random backoff count value is determined to be from [0, CW VI ], CW VI The maximum value of the random backoff count in the VI queue;
[0151] If the target queue is a best effort BE queue, the second random backoff count value is determined to be a value from [0, CW BE ], CW BE The maximum value of the random backoff count in the BE queue.
[0152] If the target queue is a background flow BK queue, the second random backoff count value is determined to be the sum of a preset random backoff count value and a fixed delay count value, and the preset random backoff count value is a range from [0, CW BK ], CW BK The maximum value of the random backoff count in the BK queue.
[0153] Optional, CW BE Greater than CW VI .
[0154] Optionally, in another specific implementation, the processing unit 802 is further configured to obtain the data space percentage p of each queue in the quality of service QoS queue, and the random backoff count value Backoff_C selected by each queue, and perform a probability weighted operation on the data space percentage p of each queue and the random backoff count value Backoff_C selected for each queue to obtain the second random backoff count value. The data space percentage p is the percentage of data cached in a queue in the QoS queue of the historical data transmission process to the total capacity of the queue.
[0155] Furthermore, the QoS queue includes a VI queue, a BE queue and a BK queue, and the processing unit 802 is further configured to perform a probability weighted operation according to the following algorithm to obtain the second random backoff count value:
[0156]
[0157] Among them, p1 is the percentage of data space counted in the VI queue, p2 is the percentage of data space counted in the BE queue, p3 is the percentage of data space counted in the BK queue, and CW VI is the maximum value that Backoff_C can take in the VI queue, CW BE is the maximum value that Backoff_C of the BE queue can take, CW BK is the maximum value that Backoff_C of the BK queue can take, and Backoff_delay is the fixed transmission delay.
[0158] The device provided in this embodiment, when determining that the data transmitted by a service is a low-priority service, adds a fixed delay count value Backoff_delay to the original random number to transmit the BK stream, thereby increasing the delay to increase the cache for the low-priority service, thereby avoiding competition for the channel with the high-priority service, and ensuring priority transmission of the high-priority service data.
[0159] In addition, after the random backoff count value is selected, when the channel is idle, the Backoff_C selected using the Post-Backoff mechanism is changed to a different Backoff_C selected according to the predicted service type, thereby reducing transmission delay and improving network throughput.
[0160] In addition, at the specific hardware implementation level, this embodiment provides a terminal device, such as Fig. 9 As shown, it includes: a communication module 110 and a SoC chip 120, and the communication module 110 and the SoC chip 120 can be connected using a communication port and / or a communication bus.
[0161] The communication module 110 is used to establish a communication channel so that the terminal device can be connected to the network through the communication channel, thereby realizing communication transmission between the terminal device and other devices. The communication module 110 can be a module that completes the transceiver function. For example, it can include communication modules such as a wireless local area network (WLAN) module, a Bluetooth WiFi module, a baseband module, and a radio frequency (RF) circuit corresponding to the communication device, which is used for wireless local area network communication, Bluetooth communication, infrared communication and / or cellular communication system communication, such as wideband code division multiple access (WCDMA) and / or high speed downlink packet access (HSDPA). In addition, the communication module 110 supports direct memory access.
[0162] Furthermore, the communication module 110 includes a transceiver circuit 1101 , a processing circuit 1102 and a memory 1103 .
[0163] The transceiver circuit 1101 includes but is not limited to a transceiver and an antenna. In addition, the communication module 110 may also include components such as a preamplifier, a downconverter, an A / D converter, and a baseband processor. In different embodiments of the present application, the various circuit modules in the communication module 110 generally appear in the form of an integrated circuit and can be selectively combined without having to include all transceiver modules and corresponding antenna groups. For example, the communication module 110 may also include a radio frequency chip and a corresponding antenna to provide a communication function in a cellular communication system to enable it to access a communication network.
[0164] In this embodiment, the communication module 110 may be used to receive data packets sent by the SoC chip 120 , as well as the time interval for each data packet to be sent from the application layer of the terminal device to the communication module 110 .
[0165] Optionally, the communication module 110 is integrated in a WiFi chip or a WiFi module.
[0166] The memory 1103 may include a volatile memory, such as a random access memory (RAM); it may also include a non-volatile memory, such as a flash memory, a hard disk (HDD) or a solid state drive (SSD); or it may also include a combination of the above types of memory. The memory may store a program or code, and the processing circuit 1102 may implement the functions of the terminal device by executing the program or code. In addition, the memory 1103 may exist independently, or it may be integrated with the processing circuit 1102.
[0167] It should be understood that the above-mentioned processing circuit 1102 can also be used as a processor. The processor can use various interfaces and lines to connect various parts of the entire terminal device, and execute various functions and / or process data of the terminal device by running or executing software programs and / or units stored in the memory 1103, and calling data stored in the memory 1103. Furthermore, the processor can be composed of an integrated circuit (IC), for example, it can be composed of a single packaged IC, or it can be composed of a plurality of packaged ICs with the same or different functions. For example, the processor can only include a combination of a central processing unit (CPU) and a control chip (such as a baseband chip) in a transceiver.
[0168] In addition, the terminal device may also include other more or fewer components, or a combination of certain components, or different components, which is not limited in the embodiments of the present application.
[0169] In this embodiment, the terminal device can implement the Figures 4 to 6 The method steps shown, and the aforementioned Fig. 9 In the illustrated embodiment, the functions of the acquisition unit 801 and the sending unit 803 may be implemented by the transceiver circuit 1101 , the functions to be implemented by the processing unit 802 may be implemented by the processing circuit 1102 ; the functions of the storage unit may be implemented by the memory 1103 .
[0170] This embodiment, based on the 802.11 protocol specification, prioritizes different service transmissions, and for low-priority services, when configuring a random backoff count value, adds a fixed delay count value on the basis of the originally selected random number, thereby avoiding competition for air interface resources with data transmission of high-priority services, and delays to increase cache, thereby triggering aggregate frame transmission instead of single frame transmission, thereby improving throughput efficiency.
[0171] In addition, the present application also provides a wireless access system, which can be Figure 2 The network topology shown in Figure 3a or Figure 3b The wireless access system shown in the figure includes at least one terminal device and a network device, and the terminal device includes the WiFi module in the above method embodiment, which is used to implement the above method. Figures 4 to 6 The method shown.
[0172] The network device may be a base station, a switch or a server, etc., wherein the structure of these network devices may be similar to Fig. 9 The structures of the terminal devices shown may be the same or different, and this embodiment does not limit this.
[0173] In addition, the embodiment of the present application further provides a computer storage medium, which may store a program, and when the program is executed, it may include some or all of the steps in each embodiment of the method provided in the present application. The storage medium may be a disk, an optical disk, a read-only storage memory ROM or a random access memory RAM, etc.
[0174] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.
[0175] The computer program product includes one or more computer instructions, such as signal receiving instructions, signal tracking instructions, sending instructions, etc. When the computer loads and executes the computer program instructions, all or part of the method flow or functions described in the above-mentioned embodiments of the present application are generated.
[0176] The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. The computer-readable storage medium may be any available medium that can be accessed by a computer or a storage device such as a server or a data center that includes one or more available media integrated. The available medium may be a magnetic medium, such as a floppy disk, a hard disk, a magnetic tape, an optical medium (such as a DVD), or a semiconductor medium, such as a solid-state drive SSD, etc.
[0177] The terms "first", "second", etc. in the specification and claims of this application and the above drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. In addition, the terms "include" and "comprises" and any variations thereof are intended to cover non-exclusive inclusions.
[0178] In this specification, the same or similar parts between the various embodiments can be referred to each other. In particular, for the terminal equipment and the device, since they are basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the description in the method embodiment.
[0179] The above-described embodiments of the present application do not constitute a limitation on the protection scope of the present application.
Claims
1. A counting value configuration method, characterized in that: The method comprises: Acquire multiple queues for transmitting different service data, wherein the multiple queues include a first queue; When there are data packets to be transmitted in the multiple queues, obtaining a priority of the first queue, where the priority of the first queue is a priority of first service data carried in the first queue; When the priority of the first service is a low priority, configuring a first random backoff count value corresponding to the first service, where the first random backoff count value is the sum of a preset random backoff count value and a fixed delay count value; When there are no data packets to be transmitted in the multiple queues, it is predicted that there will be a target queue with data cached for transmission in the next detection cycle; and a second random backoff count value is allocated to the target queue.
2. The method according to claim 1, characterized in that Before configuring the first random backoff count value corresponding to the first service, the method further includes: determining the fixed delay count value; The fixed delay count value is related to m and t, wherein m is the total number of data packets that the first queue can carry, and t is the time interval for a data packet to be sent from the application layer to the WiFi chip.
3. The method according to claim 1 or 2, characterized in that: The method further comprises: When it is detected that the channel is idle and the first random backoff count value falls back to 0, the data packets in the first queue are sent in an aggregate frame manner.
4. The method according to claim 1, characterized in that: The target queues that are predicted to have data cached for transmission in the next detection cycle include: Determine the target queue according to the probability that each queue in the multiple queues may carry a data packet in the next transmission, the target queue being the queue corresponding to the largest probability among all the probabilities; Allocating a second random backoff count value to the target queue includes: If the target queue is a video VI queue, the second random backoff count value is determined to be from [0, CW VI ], CW VI The maximum value of the random backoff count in the VI queue; If the target queue is a best effort BE queue, the second random backoff count value is determined to be a value from [0, CW BE ], CW BE The maximum value of the random backoff count in the BE queue. If the target queue is a background flow BK queue, the second random backoff count value is determined to be the sum of a preset random backoff count value and a fixed delay count value, and the preset random backoff count value is a range from [0, CW BK ], CW BK The maximum value of the random backoff count in the BK queue.
5. The method according to claim 4, characterized in that CW BE Greater than CW VI .
6. The method according to claim 1, characterized in that Allocating a second random backoff count value to the target queue includes: Obtain the data space percentage p of each queue in the quality of service QoS queue and the random backoff count value Backoff_C selected by each queue, wherein the data space percentage p is the percentage of data cached in a queue in the QoS queue of the historical data transmission process to the total capacity of the queue; A probability weighted operation is performed according to the data space percentage p of each queue and the random backoff count value Backoff_C selected for each queue to obtain the second random backoff count value.
7. The method according to claim 6, characterized in that The QoS queues include VI queue, BE queue and BK queue. The second random backoff count value is obtained by performing a probability weighted operation according to the data space percentage p of each queue and the random backoff count value Backoff_C selected for each queue, including: The probability weighted calculation is performed according to the following algorithm to obtain the second random backoff count value: p1*[Random(0,CW VI )]+p2*[Random(0,CW BE )]+p3*[Random(0,CW BK )+Backoff_delay] Among them, p1 is the percentage of data space counted in the VI queue, p2 is the percentage of data space counted in the BE queue, p3 is the percentage of data space counted in the BK queue, and CW VI is the maximum value that Backoff_C can take in the VI queue, CW BE is the maximum value that Backoff_C of the BE queue can take, CW BK is the maximum value that Backoff_C of the BK queue can take, and Backoff_delay is the fixed transmission delay.
8. A counting value configuration device, characterized in that: The device comprises: An acquisition unit, configured to acquire a plurality of queues for transmitting different service data, wherein the plurality of queues include a first queue; A processing unit, configured to obtain the priority of a first queue when there are data packets to be transmitted in the multiple queues, and to configure a first random backoff count value corresponding to the first service when the priority of the first service is a low priority, wherein the priority of the first queue is the priority of the first service data carried in the first queue, and the first random backoff count value is the sum of a preset random backoff count value and a fixed delay count value; The processing unit is further used to predict a target queue that will have data cached for transmission within a next detection cycle when there are no data packets to be transmitted in the multiple queues; and to allocate a second random backoff count value to the target queue.
9. The device according to claim 8, characterized in that The processing unit is further used to determine the fixed delay count value before configuring the first random backoff count value corresponding to the first service; the fixed delay count value is related to m and t, wherein m is the total number of data packets that the first queue can carry, and t is the time interval for a data packet to be sent from the application layer to the WiFi chip.
10. The device according to claim 8 or 9, characterized in that Also includes: A sending unit is used to send the data packets in the first queue in an aggregate frame manner when the processing unit detects that the channel is idle and the first random backoff count value falls back to 0.
11. The device according to claim 8, characterized in that The processing unit is further configured to determine the target queue according to the probability that each queue in the multiple queues may carry a data packet in the next transmission, the target queue being the queue corresponding to the largest probability among all the probabilities; and if the target queue is the video VI queue, determine the second random backoff count value to be from [0, CW VI ], CW VI The maximum value of the random backoff count in the VI queue; If the target queue is a best effort BE queue, the second random backoff count value is determined to be a value from [0, CW BE ], CW BE The maximum value of the random backoff count in the BE queue. If the target queue is a background flow BK queue, the second random backoff count value is determined to be the sum of a preset random backoff count value and a fixed delay count value, and the preset random backoff count value is a range from [0, CW BK ], CW BK The maximum value of the random backoff count in the BK queue.
12. The device according to claim 11, characterized in that CW BE Greater than CW VI .
13. The device according to claim 8, characterized in that The processing unit is further used to obtain the data space percentage p of each queue in the quality of service QoS queue, and the random backoff count value Backoff_C selected by each queue, and perform a probability weighted operation on the data space percentage p of each queue and the random backoff count value Backoff_C selected for each queue to obtain the second random backoff count value; The data space percentage p is the percentage of data cached in a queue of the QoS queue in the historical data transmission process to the total capacity of the queue.
14. The device according to claim 13, characterized in that The QoS queues include VI queue, BE queue and BK queue. The processing unit is further used to perform a probability weighted operation according to the following algorithm to obtain the second random backoff count value: p1*[Random(0,CW VI )]+p2*[Random(0,CW BE )]+p3*[Random(0,CW BK )+Backoff_delay]; Among them, p1 is the percentage of data space counted in the VI queue, p2 is the percentage of data space counted in the BE queue, p3 is the percentage of data space counted in the BK queue, and CW VI is the maximum value that Backoff_C can take in the VI queue, CW BE is the maximum value that Backoff_C of the BE queue can take, CW BK is the maximum value that Backoff_C of the BK queue can take, and Backoff_delay is the fixed transmission delay.
15. A communication device, characterized in that: include: A communication module and a SoC chip, wherein the communication module includes a transceiver circuit and a processing circuit, The transceiver circuit is used to provide instructions and / or data to the processing circuit; The processing circuit is configured to execute the instructions to implement the method according to any one of claims 1 to 7.
16. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed, the method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Method for avoiding network congestion in 802.11 competition type data transmission process
CN102413579A
Medium access control in wireless local area network
US20050025176A1