Patent Description:
To meet increased bandwidth requirements of a wireless communications system, a multiple-input multiple-output (Multiple-Input Multiple-Output, MIMO) technology is used in several emerging wireless communications standards such as the Institute of Electrical and Electronics Engineers (IEEE) <NUM> standard, so that a plurality of mobile stations (Station, STA) communicate with one or more access points (Access Point, AP) by sharing a channel resource, to achieve a high data throughput.

To improve reliability of MIMO communication, when a STA receives a data frame (Packet) sent by an AP, the STA needs to feed back an acknowledgment (ACK) frame to the AP to notify the AP that the STA has received the data frame.

During actual application, a same AP may perform concurrent data transmission with different STAs, and interference is likely to be caused due to the concurrent data transmission. <FIG> is a schematic diagram of a conflict between acknowledgment frames according to an example implementation of this application. As shown in <FIG>, when an AP simultaneously receives acknowledgment frames fed back by a plurality of STAs, a conflict (interference) is caused between the acknowledgment frames received by the AP. <FIG> is a schematic diagram of a conflict between an acknowledgment frame and a data frame according to an example implementation of this application. As shown in <FIG>, when an AP receives, in a process of sending a data frame to a STA <NUM>, an acknowledgment frame fed back by a STA <NUM>, a conflict (interference) is caused between the acknowledgment frame and the data frame.

Due to interference caused between data, an AP is likely to incorrectly determine that the AP receives no acknowledgment frame sent by a STA, in other words, determine that a data frame sent to the STA is lost. Consequently, the AP subsequently polls on the STA whether the STA receives the data frame, causing a waste of wireless communications resources.

<CIT> relates to data transmission method, acquisition method, transmission apparatus and acquisition apparatus.

This application discloses an acknowledgment frame delay duration setting method and apparatus, to resolve a problem in a related technology.

Because STAs in a same group usually have different acknowledgment frame delay duration, a same AP does not simultaneously receive acknowledgment frames sent by STAs in a same group. This prevents an AP from incorrectly determining, due to a conflict between an acknowledgment frame and a data frame and a conflict between acknowledgment frames, that the AP receives no acknowledgment frame sent by a STA, thereby eliminating polling overheads of the AP, and avoiding a waste of wireless communications resources.

Based on certain principles disclosed in the present disclosure, overheads of a frame preamble, a frame header, and the like are reduced due to use of an aggregated frame, so that network overheads can be effectively reduced.

Based on certain principles disclosed in the present disclosure, a MIMO controller may separately set a use count of the acknowledgment frame delay duration, to control a quantity of times the STA uses the acknowledgment frame delay duration after receiving a data frame.

A "module" mentioned in this specification is a program or an instruction that is stored in a memory and that can implement some functions. A "unit" mentioned in this specification is a functional structure obtained through logic-based division. The "unit" may be implemented by only hardware, or implemented by a combination of software and hardware.

<FIG> is a schematic diagram of a system architecture of an acknowledgment frame delay duration setting system to which an implementation of this application is applied. An acknowledgment frame delay duration setting method in this application is applied to the acknowledgment frame delay duration setting system. The acknowledgment frame delay duration setting system includes a plurality of network devices and a plurality of STAs. The network device includes at least one MIMO controller and at least one AP.

The AP is wirelessly connected to the STA, and the AP is connected to the MIMO controller by using a switch. The switch is connected to both the AP and the MIMO controller in a wired/wireless manner. A wired connection manner includes an optical fiber connection and an Ethernet connection.

It should be noted that, a quantity of switches between the AP and the MIMO controller is not limited in the system architecture of the acknowledgment frame delay duration setting system. <FIG> is a schematic diagram of a manner in which an AP is connected to a MIMO controller and to which an implementation of this application is applied. The AP is connected to the MIMO controller by using one switch (as shown in <FIG> (<NUM>), both an AP <NUM> and an AP <NUM> are connected to a MIMO controller by using one switch), or by using a plurality of switches (as shown in <FIG> (<NUM>), an AP <NUM> is connected to a MIMO controller by using two switches; and as shown in <FIG> (<NUM>), an AP <NUM> is connected to a MIMO controller by using three switches). When the AP is connected to the MIMO controller by using a plurality of switches, every two switches may be directly connected (as shown in <FIG> (<NUM>), a switch <NUM> is directly connected to a switch <NUM>; and as shown in <FIG> (<NUM>), a switch <NUM> is directly connected to both a switch <NUM> and a switch <NUM>), or may be connected by using a router (as shown in <FIG> (<NUM>), a switch <NUM> is connected to a switch <NUM> by using a router <NUM>). A connection between switches and a connection between a switch and a router are wired/wireless connections.

The MIMO controller may be an independent device or may be integrated into an access point controller (Access Point Controller, AC). When the MIMO controller is an independent device, the MIMO controller usually runs on a general-purpose computer, for example, runs on a central processing unit (Central Processing Unit, CPU) of the computer, and performs hardware (such as a CPU hard core, a graphics processing unit (Graphics Processing Unit, GPU), or a field programmable gate array (FieldProgrammable Gate Array, FPGA)) acceleration. When the MIMO controller is integrated into an AC, the MIMO controller is usually used as a functional module of the AC. The MIMO controller communicates with an AP by using a communications tunnel between the AP and the AC.

<FIG> is a schematic structural diagram of a network device to which an example implementation of this application is applied. The network device is not claimed as such in the present application. The methods described with reference to <FIG>, <FIG>, <FIG>, and <FIG> should be construed accordingly.

The network device includes a processor <NUM>, a network interface <NUM>, a cache <NUM>, a memory <NUM>, and a bus <NUM>.

The processor <NUM> includes one or more processing cores. The processor <NUM> runs a software program and a module, to implement various functional applications and data processing.

The network interface <NUM> is used by the network device to communicate with another network device.

The memory <NUM> and the cache <NUM> are both connected to the processor <NUM> through the bus <NUM>.

The memory <NUM> may be configured to store the software program and the module.

The memory <NUM> may store an application program module <NUM> required by at least one function. The application program module <NUM> includes at least an obtaining module program <NUM>, a sending module program <NUM>, a setting module program <NUM>, a receiving module program <NUM>, and a deletion module program <NUM>.

The obtaining module program <NUM> is configured to: obtain first acknowledgment frame delay duration corresponding to a first mobile station STA; and obtain second acknowledgment frame delay duration corresponding to a second STA, where the second STA and the first STA are STAs in a same group.

The sending module program <NUM> is configured to: send, to the first STA, a first indication frame carrying the first acknowledgment frame delay duration, so that the first STA feeds back an acknowledgment frame after a delay of the first acknowledgment frame delay duration when receiving a data frame; send, to the second STA, a second indication frame carrying the second acknowledgment frame delay duration, so that the second STA feeds back an acknowledgment frame after a delay of the second acknowledgment frame delay duration when receiving a data frame; send the first acknowledgment frame delay duration to a first access point AP, so that the first AP forwards the first acknowledgment frame delay duration to the first STA, where the first AP is an AP associated with the first STA; send a use count to the first AP, so that the first AP forwards the use count to the first STA; send, to the first STA in a form of an aggregated frame, the first indication frame carrying the first acknowledgment frame delay duration, where the aggregated frame further includes a data frame; after sending the data frame to the first STA, re-send the data frame to the first STA if no data frame fed back by the first STA is received within first acknowledgment timeout duration; and when a first acknowledgment timeout duration cancelation message for the first STA that is sent by a MIMO controller is received, send a first acknowledgment frame delay duration cancelation message to the first STA, so that the first STA deletes the stored first acknowledgment frame delay duration.

The setting module program <NUM> is configured to: before the first acknowledgment frame delay duration corresponding to the first mobile station STA is obtained, allocate the first acknowledgment frame delay duration to the first STA; after allocating the first acknowledgment frame delay duration to the first STA, set the use count of the first acknowledgment frame delay duration; and set, based on the first acknowledgment timeout duration, the first acknowledgment frame delay duration corresponding to the first STA, where the first acknowledgment timeout duration is longer than the first acknowledgment frame delay duration.

The receiving module program <NUM> is configured to: before the first acknowledgment frame delay duration corresponding to the first mobile station STA is obtained, receive the first acknowledgment timeout duration corresponding to the first STA that is sent by the MIMO controller, and add the first STA and the first acknowledgment timeout duration to a prestored correspondence between a STA and acknowledgment timeout duration.

The deletion module program <NUM> is configured to delete the first STA and the first acknowledgment timeout duration from the correspondence.

The memory <NUM> may be implemented by any type of volatile or nonvolatile storage device or a combination thereof, such as a static random access memory (SRAM), an electrically erasable programmable read-only memory (EEPROM), an erasable programmable read-only memory (EPROM), a programmable read-only memory (PROM), a read-only memory (ROM), a magnetic memory, a flash memory, a magnetic disk, or an optical disc.

A person skilled in the art may understand that the structure of the network device shown in <FIG> constitutes no limitation on the network device, and the network device may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements.

<FIG> is a schematic structural diagram of a first STA to which an example implementation of this application is applied. The first STA includes a processor <NUM>, a network interface <NUM>, a cache <NUM>, a memory <NUM>, and a bus <NUM>.

The network interface <NUM> is used by the first STA to communicate with another network device.

The memory <NUM> may store an application program module <NUM> required by at least one function. The application program module <NUM> includes at least a receiving module program <NUM>, a feedback module program <NUM>, a deletion module program <NUM>, and a calculation module program <NUM>.

The receiving module program <NUM> is configured to: receive a first indication frame sent by a first AP, and obtain and store first acknowledgment frame delay duration corresponding to the first STA that is carried in the first indication frame, where the first AP is an AP associated with the first STA; and obtain and store the first acknowledgment frame delay duration corresponding to the first STA and a use count corresponding to the first acknowledgment frame delay duration that are carried in the first indication frame.

The feedback module program <NUM> is configured to: each time a data frame sent by the first AP is received, feed back an acknowledgment frame to the first AP after a delay of the first acknowledgment frame delay duration; subtract <NUM> from the stored use count corresponding to the first acknowledgment frame delay duration; and if a result obtained after <NUM> is subtracted from the use count corresponding to the first acknowledgment frame delay duration is less than <NUM>, delete the first acknowledgment frame delay duration and the use count corresponding to the first acknowledgment frame delay duration, and feed back the acknowledgment frame to the first AP after a delay of default delay duration; or if a result obtained after <NUM> is subtracted from the use count corresponding to the first acknowledgment frame delay duration is not less than <NUM>, feed back the acknowledgment frame to the first AP after a delay of the first acknowledgment frame delay duration.

The deletion module program <NUM> is configured to: when a first acknowledgment frame delay duration cancelation message sent by the first AP is received, delete, the stored first acknowledgment frame delay duration.

The calculation module program <NUM> is configured to: each time a data frame sent by the first AP is received, subtract, <NUM> from the stored use count corresponding to the first acknowledgment frame delay duration.

A person skilled in the art may understand that the structure of the first STA shown in <FIG> constitutes no limitation on the first STA, and the first STA may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements.

The network device described with reference to <FIG> is not claimed as such in the present application. The method described in this implementation should be construed accordingly.

<FIG> is a flowchart of an acknowledgment frame delay duration setting method according to an example implementation of this application. In this implementation, an example in which the method is used in the system architecture of the acknowledgment frame delay duration setting system shown in <FIG> is used for description. As shown in <FIG>, the method includes the following several steps.

Step <NUM>: A network device obtains first acknowledgment frame delay duration corresponding to a first STA.

The network device is a MIMO controller or a first AP, and the first AP is an AP associated with the first STA.

When the network device is the MIMO controller, before obtaining the first acknowledgment frame delay duration corresponding to the first STA, the network device allocates the first acknowledgment frame delay duration to the first STA.

Optionally, the MIMO controller allocates the corresponding first acknowledgment frame delay duration to the first STA based on a network delay of the first STA.

When the network device is the first AP, the network device receives the first acknowledgment frame delay duration corresponding to the first STA that is sent by the MIMO controller.

The first STA sends an association request to the first AP. After receiving the association request sent by the first STA, the first AP determines that the first STA is to be associated with the first AP. In this case, the first AP obtains the first acknowledgment frame delay duration corresponding to the first STA.

Step <NUM>: The network device sends, to the first STA, a first indication frame carrying the first acknowledgment frame delay duration.

When the network device is the MIMO controller, the network device sends the first acknowledgment frame delay duration to the first AP, so that the first AP forwards the first acknowledgment frame delay duration to the first STA.

When the network device is the first AP, the network device sends, to the first STA, the first indication frame carrying the first acknowledgment frame delay duration.

Management frame subtypes <NUM> (Action) and <NUM> (Action No ACK) are used for the first indication frame carrying the first acknowledgment frame delay duration. A difference between the two subtypes lies in that, when receiving an Action frame, the first STA needs to reply to the first AP with an acknowledgment frame; but when receiving an Action No ACK frame, the first STA does not need to reply to the first AP with an acknowledgment frame. The Action frame helps provide reliable transmission, and the Action No ACK frame helps reduce network overheads.

An example in which the first indication frame is of the Action type is used below for description. The Action No ACK type has a similar principle to the Action type, and therefore is not described in this implementation.

The Action frame includes two main fields: a category (Category) field, used to indicate a specific subtype of the Action frame, and a description (Action Details) field, used to describe the Action frame.

Table <NUM> shows possible values of code in the category field of the Action frame.

It should be noted that, any value that is of the code in Table <NUM> and that is not defined in an existing protocol or that has no agreed meaning may be used in the category field of the Action frame. For example, the code in the category field of the Action frame is <NUM>.

In a possible implementation, after obtaining the first acknowledgment frame delay duration corresponding to the first STA, when sending a data frame to the first STA, the first AP may form an aggregated frame by using the first indication frame and the data frame and then send the aggregated frame to the first STA. Overheads of a frame preamble, a frame header, and the like are reduced due to use of the aggregated frame, so that network overheads can be effectively reduced.

When the network device is the first AP, step <NUM> may be replaced with the following step: The first AP sends, to the first STA in a form of an aggregated frame, a first indication frame carrying the first acknowledgment frame delay duration, where the aggregated frame further includes a data frame.

Specifically, the first indication frame and the data frame are sent through aggregation by using an aggregate MAC protocol data unit (Aggregate MAC Protocol Data Unit, A-MPDU).

For example, it is assumed that after the first AP determines the first acknowledgment frame delay duration corresponding to the first STA, there are two data frames that need to be sent to the first STA. In this case, the first AP aggregates the two data frames to obtain downlink data, as shown in Table <NUM>.

Table <NUM> shows a possible location of the first indication frame in data frames in an aggregated frame obtained after the first indication frame and the data frames are aggregated. It should be noted that, the location of the first indication frame in the data frames is not limited in this implementation.

When sending the first data frame to the first STA, the first AP sends the data frame and the first indication frame to the first STA through aggregation. Overheads of a frame preamble, a frame header, and the like can be reduced due to use of the aggregated frame, so that network overheads can be effectively reduced.

In addition, if the first AP exchanges no information with the first STA when a network MIMO mode ends, the step of sending the first indication frame may be omitted, to reduce the network overheads.

Step <NUM>: The first STA receives the first indication frame sent by the first AP, and obtains and stores the first acknowledgment frame delay duration corresponding to the first STA that is carried in the first indication frame.

It should be noted that, when the first AP sends, to the first STA in the form of the aggregated frame, the first indication frame carrying the first acknowledgment frame delay duration, the first STA receives the aggregated frame sent by the first AP, to obtain the first indication frame and the data frame that are included in the aggregated frame, and feeds back an acknowledgment frame to the first AP after a delay of the first acknowledgment frame delay duration.

Step <NUM>: Each time receiving a data frame sent by the first AP, the first STA feeds back an acknowledgment frame to the first AP after a delay of the first acknowledgment frame delay duration.

STAs usually correspond to different acknowledgment frame delay duration. After receiving a data frame sent by the first AP, each STA feeds back an acknowledgment frame to the first AP after a delay of corresponding acknowledgment frame delay duration. Because an interval between a time at which each STA receives the data frame and a time at which the STA determines to send the acknowledgment frame to the first AP is very short and is even <NUM>, the first AP does not need to send a query request to each STA. Therefore, an occupation time of a large quantity of block acknowledgment requests (Block Acknowledgment Request, BAR), an SIFS between a BAR and a block acknowledgment (Block Acknowledgment, BA) message, a backoff time between acknowledgment frames, and a time for receiving, by the first AP after message retransmission is caused due to a data conflict, an acknowledgment frame with which the STA replies again can be effectively saved.

<FIG> is a schematic diagram of acknowledgment frames received by a first AP according to an example implementation of this application. The first AP sets acknowledgment frame delay duration corresponding to a STA <NUM> to <NUM>, and sets acknowledgment frame delay duration corresponding to a STA <NUM> to <NUM>. As shown in <FIG>, the first AP simultaneously sends data frames to the STA <NUM> and the STA <NUM>, and a data stream length is <NUM>. After receiving a data frame, the STA <NUM> feeds back an acknowledgment frame to the first AP after a delay of <NUM>. After receiving a data frame, the STA <NUM> feeds back an acknowledgment frame to the first AP after a delay of <NUM>.

According to the acknowledgment frame delay duration setting method provided in this implementation of this application, the network device sends, to the first STA, the first indication frame carrying the first acknowledgment frame delay duration, so that when receiving a data frame sent by the first AP associated with the first STA, the first STA feeds back an acknowledgment frame to the first AP after a delay of the first acknowledgment frame delay duration. Because STAs in a same group usually have different acknowledgment frame delay duration, a same AP does not simultaneously receive acknowledgment frames sent by STAs in a same group. This prevents an AP from incorrectly determining, due to a conflict between an acknowledgment frame and a data frame and a conflict between acknowledgment frames, that the AP receives no acknowledgment frame sent by a STA, thereby eliminating polling overheads of the AP, and avoiding a waste of wireless communications resources.

In the prior art, after receiving a data frame, a STA usually needs to feed back an acknowledgment frame to a first AP after an SIFS. Because an acknowledgment timeout time of the first AP is set for the short interframe space, after acknowledgment frame delay duration is allocated to each STA, acknowledgment timeout duration of the first AP for each STA further needs to be set based on the acknowledgment frame delay duration of each STA, to prevent the first AP from prematurely determining that data is lost and starting a re-sending procedure.

<FIG> and <FIG> are a flowchart of an acknowledgment frame delay duration setting method according to another example implementation of this application. In this implementation, an example in which the method is used in the system architecture of the acknowledgment frame delay duration setting system shown in <FIG> is used for description. The method includes the following several steps.

Step <NUM>: A first AP receives first acknowledgment timeout duration corresponding to a first STA that is sent by a MIMO controller, and adds the first STA and the first acknowledgment timeout duration to a prestored correspondence between a STA and acknowledgment timeout duration.

For example, the first AP receives first acknowledgment frame delay duration of <NUM> corresponding to the first STA that is sent by the MIMO controller, and sets the first acknowledgment timeout duration corresponding to the first STA to <NUM> based on the first acknowledgment frame delay duration.

It should be noted that, the MIMO controller may set different acknowledgment timeout duration for different STAs, or may set same acknowledgment timeout duration for different STAs. When same acknowledgment timeout duration is set for different STAs, the acknowledgment timeout duration is longer than acknowledgment frame delay duration corresponding to a STA having the longest acknowledgment frame delay duration.

Table <NUM> shows that the MIMO controller may set different acknowledgment timeout duration for different STAs connected to a same AP.

Table <NUM> shows that the MIMO controller may set same acknowledgment timeout duration for different STAs connected to a same AP.

Optionally, the MIMO controller sends, to the first AP in a TLV format, the first acknowledgment timeout duration corresponding to the first STA.

Optionally, to improve reliability of MIMO communication, after receiving the first acknowledgment timeout duration corresponding to the first STA that is sent by the MIMO controller, the first AP feeds back an acknowledgment setting message to the MIMO controller.

It should be noted that, to ensure the reliability of MIMO communication, the first AP may reply to the MIMO controller with a complex acknowledgment message carrying information related to the first STA. To reduce network overheads, the first AP may alternatively reply to the MIMO controller with a brief acknowledgment message carrying no original setting.

For example, the MIMO controller sends, to the first AP, the first acknowledgment timeout duration and the first acknowledgment frame delay duration that correspond to the first STA, where a MAC address of the first STA is 0x0A1122334455, the first acknowledgment frame delay duration is <NUM>, and the first acknowledgment timeout duration is <NUM>.

The MIMO controller sends, to the first AP, a setting message that carries the first acknowledgment timeout duration and indicates that the first AP does not need to feed back the acknowledgment setting message. Table <NUM> shows a possible message format of the setting message (a time unit is µs).

The MIMO controller sends, to the first AP, a setting message that carries the first acknowledgment timeout duration and indicates that the first AP needs to feed back the complex acknowledgment message. Table <NUM> shows a possible message format of the setting message (a time unit is µs).

The MIMO controller sends, to the first AP, a setting message that carries the first acknowledgment timeout duration and indicates that the first AP needs to feed back the brief acknowledgment message. Table <NUM> shows a possible message format of the setting message (a time unit is µs).

It should be noted that, a meaning of each value in Type, Len, and Value in Table <NUM> to Table <NUM> is merely a possible representation, and the meaning of each value in Type, Len, and Value is not limited in this implementation.

Correspondingly, when the first AP receives the setting message that is sent by the MIMO controller and that indicates that the first AP needs to feed back the complex acknowledgment message, a possible message format of the complex acknowledgment message fed back by the first AP is shown in Table <NUM> (a time unit is µs).

Correspondingly, when the first AP receives the setting message that is sent by the MIMO controller and that indicates that the first AP needs to feed back the brief acknowledgment message, a possible message format of the brief acknowledgment message fed back by the first AP is shown in Table <NUM> (a time unit is µs).

Optionally, the first AP feeds back the acknowledgment setting message to the MIMO controller in a TLV format.

In a possible implementation, the acknowledgment timeout duration of each STA may also be set by a first AP associated with each STA in addition to the MIMO controller. To be specific, the first AP receives the first acknowledgment frame delay duration corresponding to the first STA that is sent by the MIMO controller, sets, based on the first acknowledgment frame delay duration, the first acknowledgment timeout duration corresponding to the first STA, and adds the first STA and the first acknowledgment timeout duration to the prestored correspondence between a STA and acknowledgment timeout duration.

It should be noted that, the first acknowledgment timeout duration is longer than the first acknowledgment frame delay duration.

Step <NUM>: The first AP sets, based on the first acknowledgment timeout duration, the first acknowledgment frame delay duration corresponding to the first STA.

For example, the first AP receives the first acknowledgment timeout duration of <NUM> corresponding to the first STA that is sent by the MIMO controller, and sets the first acknowledgment frame delay duration corresponding to the first STA to <NUM> based on the first acknowledgment timeout duration.

In a possible implementation, the first acknowledgment frame delay duration corresponding to the first STA may also be set by the MIMO controller in addition to the first AP. To be specific, the first AP receives the first acknowledgment frame delay duration corresponding to the first STA that is sent by the MIMO controller, and sends the first acknowledgment frame delay duration to the first STA.

Step <NUM>: The first AP sends, to the first STA, a first indication frame carrying the first acknowledgment frame delay duration.

Step <NUM>: The first AP sends a data frame to the first STA.

Optionally, the first AP and the first STA each are provided with two interfaces: a first interface and a second interface. Power consumption on the first interface is greater than power consumption on the second interface.

The first AP sends the first indication frame and the data frame to the STA through a first interface, and listens to and receives, through a second interface, an acknowledgment frame fed back by each STA, to reduce power consumption of the first AP.

Likewise, the first STA feeds back an acknowledgment frame to the first AP through a first interface, and listens to and receives, through a second interface, an indication frame and a data frame that are sent by each first AP. Power consumption on the first interface is greater than power consumption on the second interface, to reduce power consumption of the first STA.

In a possible implementation scenario, when the first AP enters a sleep state, the first AP performs listening through the second interface. When obtaining, through listening, a PS-Poll frame sent by the first STA, the first AP feeds back an acknowledgment frame to the first STA through the second interface.

It should be noted that, when obtaining, through listening, the PS-Poll frame sent by the first STA, the first AP may immediately feed back the acknowledgment frame to the first STA, or may not feed back the acknowledgment frame to the first STA until an environment permits, or may feed back the acknowledgment frame to the first STA when the first AP is in an idle state. An occasion on which the first AP feeds back the acknowledgment frame to the first STA is not limited in this implementation.

In another possible implementation scenario, when the first STA enters a sleep state, the first STA performs listening through the second interface. When obtaining, through listening, a wake-up frame sent by the first AP, the first STA feeds back an acknowledgment frame to the first AP through the second interface after a delay of the first acknowledgment frame delay duration.

If a plurality of STAs associated with a same AP have a same operating band, and the plurality of STAs have same acknowledgment frame delay duration, the first AP may not simultaneously send data frames or indication frames to the plurality of STAs, to prevent the plurality of STAs from simultaneously feeding back acknowledgment frames to the first AP.

Optionally, after step <NUM>, the first AP adds the first STA and the first acknowledgment frame delay duration to a prestored correspondence between a STA and acknowledgment frame delay duration. In addition, before step <NUM>, the first AP needs to perform the following steps:.

When receiving, again, a first indication frame carrying acknowledgment frame delay duration, the first STA replaces locally stored acknowledgment frame delay duration with the acknowledgment frame delay duration in the first indication frame.

For example, the first STA stores acknowledgment frame delay duration of <NUM>; when receiving a first indication frame that carries acknowledgment frame delay duration of <NUM> and that is sent by the first AP, the first STA obtains the acknowledgment frame delay duration of <NUM> carried in the first indication frame and replaces <NUM> with <NUM> for storage.

It should be noted that, in step S4, the acknowledgment frame delay duration of the STAs may be reset by the MIMO controller, or the acknowledgment frame delay duration of the STAs may be reset by the AP.

It should be noted that, a specific value of a time interval for sequentially sending data frames is not limited in this implementation.

Step <NUM>: After sending the data frame to the first STA, the first AP re-sends the data frame to the first STA if receiving, within the first acknowledgment timeout duration, no data frame fed back by the first STA.

If receiving, within the first acknowledgment timeout duration corresponding to the first STA, no data frame fed back by the first STA, the first AP determines that the data frame sent to the STA is lost. In this case, the first AP re-sends the data frame to the first STA.

In the solution provided in this implementation of this application, a network device sends, to the first STA, the first indication frame carrying the first acknowledgment frame delay duration, so that when receiving a data frame sent by the first AP associated with the first STA, the first STA feeds back an acknowledgment frame to the first AP after a delay of the first acknowledgment frame delay duration. Because STAs in a same group usually have different acknowledgment frame delay duration, a same AP does not simultaneously receive acknowledgment frames sent by STAs in a same group. This prevents an AP from incorrectly determining, due to a conflict between an acknowledgment frame and a data frame and a conflict between acknowledgment frames, that the AP receives no acknowledgment frame sent by a STA, thereby eliminating polling overheads of the AP, and avoiding a waste of wireless communications resources.

In this implementation, after the acknowledgment frame delay duration is allocated to each STA, the acknowledgment timeout duration of the first AP for each STA further needs to be set based on the acknowledgment frame delay duration of each STA, to prevent the first AP from prematurely determining that data is lost and starting a re-sending procedure.

In a possible implementation, still referring to <FIG> and <FIG>, the MIMO controller may actively send a first acknowledgment timeout duration cancelation message to the first AP according to a requirement (for example, after a network MIMO phase ends), to control the first AP to cancel acknowledgment timeout duration for some or all of STAs connected to the first AP.

Step <NUM>: When receiving a first acknowledgment timeout duration cancelation message for the first STA that is sent by the MIMO controller, the first AP sends a first acknowledgment frame delay duration cancelation message to the first STA.

An acknowledgment timeout time for a STA is set by the MIMO controller based on acknowledgment frame delay duration of the STA. To prevent the first AP from prematurely determining that data is lost and starting a re-sending procedure after the MIMO controller cancels the acknowledgment timeout time for the STA, the first AP further needs to cancel the acknowledgment frame delay duration of the first STA after canceling an acknowledgment timeout time corresponding to the first STA, so that the first STA and the first AP both restore to a default mechanism.

There are at least two following possible message formats of the first acknowledgment timeout duration cancelation message:
A first possible message format is shown in Table <NUM>, and a new encoding manner is used for the message format of the first acknowledgment timeout duration cancelation message.

Optionally, after deleting the first STA and the first acknowledgment timeout duration from the correspondence, the first AP feeds back an acknowledgment cancelation message to the MIMO controller.

It should be noted that, to ensure reliability of MIMO communication, the first AP may reply to the MIMO controller with a complex acknowledgment message carrying information related to the first STA. To reduce network overheads, the first AP may alternatively reply to the MIMO controller with a brief acknowledgment message carrying no original setting.

Correspondingly, a possible message format of the complex acknowledgment message is shown in Table <NUM> (a time unit is µs).

Correspondingly, a possible message format of the brief acknowledgment message is shown in Table <NUM> (a time unit is µs).

A second possible message format is shown in Table <NUM>. A message format of a setting message is used for the message format of the first acknowledgment timeout duration cancelation message, but the first acknowledgment timeout duration is set to <NUM>.

When receiving the first acknowledgment timeout duration cancelation message for the first STA that is sent by the MIMO controller, the first AP obtains the first acknowledgment timeout duration (<NUM>) carried in the first acknowledgment timeout duration cancelation message, and deletes the first STA and the first acknowledgment timeout duration from the correspondence.

A possible message format of a complex acknowledgment message is shown in Table <NUM> (a time unit is µs).

A possible message format of a brief acknowledgment message is shown in Table <NUM> (a time unit is µs).

Optionally, the MIMO controller sends the first acknowledgment timeout duration cancelation message to the first AP in a TLV format, and the first AP feeds back the acknowledgment cancelation message to the MIMO controller in a TLV format.

Optionally, a message type of the first acknowledgment frame delay duration cancelation message is a first indication frame carrying acknowledgment frame delay duration of <NUM>.

Optionally, a message type of the first acknowledgment frame delay duration cancelation message is an Action frame. For example, an Action frame with a category field being <NUM> and a description field being <NUM> is defined as a first indication frame for canceling the acknowledgment frame delay duration. When receiving the first acknowledgment timeout duration cancelation message for the first STA that is sent by the MIMO controller, the first AP sends, to the first STA, the Action frame with the category field being <NUM> and the description field being <NUM>.

Step <NUM>: When receiving the first acknowledgment frame delay duration cancelation message sent by the first AP, the first STA deletes the stored first acknowledgment frame delay duration.

After the first STA deletes the stored first acknowledgment frame delay duration, the first STA restores to a default mechanism, to be specific, each time receiving a data frame sent by the first AP, the first STA feeds back an acknowledgment frame to the first AP after an SIFS.

Optionally, after deleting the stored first acknowledgment frame delay duration, the first STA feeds back an acknowledgment cancelation message to the first AP.

It should be noted that, the STA may feed back the acknowledgment cancelation message to the first AP at a media access control (Media Access Control, MAC) layer by using an ACK frame, or may feed back the acknowledgment cancelation message to the first AP at a protocol interaction layer by using an Action frame.

Step <NUM>: The first AP deletes the first STA and the first acknowledgment timeout duration from the correspondence.

It should be noted that, an execution location of step <NUM> to step <NUM> shown in <FIG> is merely a possible implementation. During actual application, step <NUM> to step <NUM> may be implemented at any location after step <NUM>. An execution location of step <NUM> to step <NUM> in step <NUM> to step <NUM> is not limited in this implementation.

In another possible implementation, still referring to <FIG> and <FIG>, the MIMO controller may actively send, by using the first AP, the first acknowledgment frame delay duration cancelation message to the first STA according to a requirement (for example, after the network MIMO phase ends), to control the STA to cancel the acknowledgment frame delay duration. When the MIMO controller may actively send, by using the first AP, the first acknowledgment frame delay duration cancelation message to the first STA according to a requirement, the method includes the following step:
Step <NUM>: When receiving a second acknowledgment frame delay duration cancelation message for the first STA that is sent by the MIMO controller, the first AP sends a first acknowledgment frame delay duration cancelation message to the first STA.

Correspondingly, when receiving the first acknowledgment frame delay duration cancelation message sent by the first AP, the first STA deletes the stored first acknowledgment frame delay duration.

Optionally, the first AP sends, to the first STA in a form of an aggregated frame, a first indication frame for canceling the acknowledgment frame delay duration, where the aggregated frame further includes a data frame.

Optionally, to prevent a network delay of the first STA from being increased due to the first acknowledgment timeout duration corresponding to the first STA, after the first AP sends the first acknowledgment frame delay duration cancelation message to the first STA, the first AP deletes the first STA and the first acknowledgment timeout duration from the correspondence.

It should be noted that, step <NUM> is implemented before step <NUM>.

A MIMO controller may separately set a use count of an acknowledgment frame delay duration, to control a quantity of times a STA uses the acknowledgment frame delay duration after receiving a data frame.

<FIG> and <FIG> are a flowchart of an acknowledgment frame delay duration setting method according to still another example implementation of this application. In this implementation, an example in which the method is used in the system architecture of the acknowledgment frame delay duration setting system shown in <FIG> is used for description. The method includes the following several steps.

Step <NUM>: A MIMO controller allocates first acknowledgment frame delay duration to a first STA, and sets a use count of the first acknowledgment frame delay duration.

Step <NUM>: The MIMO controller sends the use count to a first AP.

The first AP is an AP associated with the first STA.

Step <NUM>: The MIMO controller obtains the first acknowledgment frame delay duration corresponding to the first STA.

Step <NUM>: The MIMO controller sends the first acknowledgment frame delay duration to the first AP.

It should be noted that, the MIMO controller may separately send the first acknowledgment frame delay duration and the use count of the first acknowledgment frame delay duration to the first AP, or may combine the first acknowledgment frame delay duration and the use count of the first acknowledgment frame delay duration into one message and then send the message to the first AP.

Step <NUM>: The first AP sends, to the first STA, a first indication frame carrying the first acknowledgment frame delay duration corresponding to the first STA and the use count corresponding to the first acknowledgment frame delay duration.

Optionally, the first indication frame may be used to indicate a single delay or may be used to indicate a plurality of delays. When the first indication frame indicates a single delay, the first acknowledgment frame delay duration carried in the first indication frame can be used only once; or when the first indication frame indicates a plurality of delays, the first indication frame carries the use count corresponding to the first acknowledgment frame delay duration.

It should be noted that, the first indication frame further has a function of canceling the acknowledgment frame delay duration, and different functions are distinguished based on an ACK delay time field (type) in an Action Details field of the first indication frame.

Table <NUM> shows a possible meaning of the ACK delay time field in the description field of the first indication frame, and the meaning of the ACK delay time field is a meaning of the first indication frame. It should be noted that, a correspondence between an ACK delay time field and a meaning in Table <NUM> constitutes no limitation on the meaning corresponding to the ACK delay time field.

Table <NUM> shows a possible frame format of the first indication frame when the first indication frame is used to indicate a single delay.

Table <NUM> shows a possible frame format of the first indication frame when the first indication frame is used to indicate a plurality of delays.

It should be noted that, the use count is set by the MIMO controller when the MIMO controller allocates the corresponding first acknowledgment frame delay duration to the first STA.

Step <NUM>: The first STA receives the first indication frame sent by the first AP, and obtains and stores the first acknowledgment frame delay duration corresponding to the first STA and the use count corresponding to the first acknowledgment frame delay duration that are carried in the first indication frame.

Step <NUM>: Each time receiving a data frame sent by the first AP, the first STA subtracts <NUM> from the stored use count corresponding to the first acknowledgment frame delay duration.

Step <NUM>: If a result obtained after <NUM> is subtracted from the use count corresponding to the first acknowledgment frame delay duration is less than <NUM>, the first STA deletes the first acknowledgment frame delay duration and the use count corresponding to the first acknowledgment frame delay duration, and feeds back an acknowledgment frame to the first AP after a delay of default delay duration.

If the result obtained after <NUM> is subtracted from the use count corresponding to the first acknowledgment frame delay duration is less than <NUM>, it indicates that the use count has been exhausted before <NUM> is subtracted from the use count. In this case, the first STA deletes the first acknowledgment frame delay duration and the use count corresponding to the first acknowledgment frame delay duration, and executes a default mechanism, to be specific, feeds back the acknowledgment frame to the first AP after a delay of the default delay duration.

It should be noted that, in this implementation, when the first STA receives a first acknowledgment frame delay duration cancelation message sent by the first AP, even if the use count corresponding to the first acknowledgment frame delay duration is greater than <NUM>, the first STA still deletes the stored first acknowledgment frame delay duration, and executes the default mechanism.

Step <NUM>: If a result obtained after <NUM> is subtracted from the use count corresponding to the first acknowledgment frame delay duration is not less than <NUM>, the first STA feeds back an acknowledgment frame to the first AP after a delay of the first acknowledgment frame delay duration.

If the result obtained after <NUM> is subtracted from the use count corresponding to the first acknowledgment frame delay duration is not less than <NUM>, it indicates that the use count has not been exhausted before <NUM> is subtracted from the use count. In this case, the first STA feeds back the acknowledgment frame to the first AP after a delay of the first acknowledgment frame delay duration.

It should be noted that, in this implementation, a subtractive operation is performed on the use count before whether the use count is exhausted is determined. During actual application, whether the use count is exhausted may be determined before a subtractive operation is performed on the use count. In this case, step <NUM> to step <NUM> may be replaced with the following step Q1 to step Q3:.

In this implementation, the MIMO controller may separately set the use count of the acknowledgment frame delay duration, to control the quantity of times the STA uses the acknowledgment frame delay duration after receiving the data frame.

When a plurality of STAs are STAs in a same group, a conflict is likely to be caused between acknowledgment frames simultaneously fed back by the plurality of STAs to an AP. To prevent STAs in a same group from simultaneously feeding back acknowledgment frames to an AP, the plurality of STAs correspond to different acknowledgment frame delay duration. <FIG> is a flowchart of an acknowledgment frame delay duration setting method according to yet another example implementation of this application.

Step <NUM>: A network device obtains first acknowledgment frame delay duration corresponding to a first mobile station STA.

Step <NUM>: The network device sends the first acknowledgment frame delay duration to the first STA, so that the first STA feeds back an acknowledgment frame after a delay of the first acknowledgment frame delay duration when receiving a data frame.

Step <NUM>: The network device obtains second acknowledgment frame delay duration corresponding to a second STA.

Step <NUM>: The network device sends the second acknowledgment frame delay duration to the second STA, so that the second STA feeds back an acknowledgment frame after a delay of the second acknowledgment frame delay duration when receiving a data frame.

It should be noted that, the first STA and the second STA are STAs in a same group, and the two STAs meet at least one of the following cases:.

When the first STA and the second STA are STAs in a same group, the network device may set different acknowledgment frame delay duration for the first STA and the second STA (in other words, the first acknowledgment frame delay duration is different from the second acknowledgment frame delay duration), or set same acknowledgment frame delay duration for the first STA and the second STA (in other words, the first acknowledgment frame delay duration is the same as the second acknowledgment frame delay duration), but does not simultaneously send data frames to the first STA and the second STA.

In the solution provided in this implementation of this application, the first AP sends, to the first STA, a first indication frame carrying the first acknowledgment frame delay duration, so that when receiving a data frame sent by the first AP, the first STA feeds back an acknowledgment frame to the first AP after a delay of the first acknowledgment frame delay duration. Because STAs in a same group have different acknowledgment frame delay duration, a same AP does not simultaneously receive acknowledgment frames sent by STAs in a same group. This prevents the first AP from incorrectly determining, due to a conflict between an acknowledgment frame and a data frame and a conflict between acknowledgment frames, that the first AP receives no acknowledgment frame sent by a STA, thereby reducing polling overheads of the first AP, and avoiding a waste of network resources.

In this implementation, to prevent STAs in a same group from simultaneously feeding back acknowledgment frames to an AP, the plurality of STAs correspond to different acknowledgment frame delay duration.

<FIG> and <FIG> are a schematic diagram of comparison between an existing data transmission procedure and a data transmission procedure in this application according to an example implementation of this application. As shown in <FIG>, two APs, two STAs, and a data stream length of <NUM> are used as an example.

In the existing data transmission procedure, after an AP <NUM> and an AP <NUM> respectively send data to a STA <NUM> and a STA <NUM> at a network MIMO phase (<NUM>), the STA <NUM> and the STA <NUM> feed back acknowledgment frames (<NUM>). In this case, an ACK conflict is caused between the acknowledgment frames fed back by the STA <NUM> and the STA <NUM>. Because neither the AP <NUM> nor the AP <NUM> receives an acknowledgment frame sent by a corresponding STA, the AP <NUM> and the AP <NUM> start to contend for an air interface medium (<NUM>+<NUM>). It is assumed that the AP <NUM> sends a BAR (<NUM>) after obtaining a medium access right, the STA <NUM> sends a BA (<NUM>) after an SIFS after the BAR is sent, and after receiving the BA sent by the STA <NUM>, the AP <NUM> determines that the STA <NUM> receives data that is sent by the AP <NUM> at the network MIMO phase. The AP <NUM> sends a BAR to the STA <NUM> (<NUM>) after backoff (<NUM>+<NUM>), the STA <NUM> sends a BA (<NUM>) after an SIFS after the BAR is sent, and after receiving the BA sent by the STA <NUM>, the AP <NUM> determines that the STA <NUM> receives data that is sent by the AP <NUM> at the network MIMO phase.

It can be learned that, once an ACK conflict is caused in the existing data transmission procedure, duration required for determining, by exchanging the BARs and the BAs, whether the STA <NUM> and the STA <NUM> receive the data is <NUM>.

In the data transmission procedure in this application, an AP <NUM> and an AP <NUM> respectively send data and corresponding first indication frames carrying acknowledgment frame delay duration to a STA <NUM> and a STA <NUM> (<NUM>). Acknowledgment frame delay duration corresponding to the STA <NUM> is <NUM>, and acknowledgment frame delay duration corresponding to the STA <NUM> is <NUM>. After receiving data and a first indication frame that are sent by the AP <NUM>, the STA <NUM> feeds back an acknowledgment frame to the AP (<NUM>) after a delay of <NUM>. After receiving data and a first indication frame that are sent by the AP2, the STA <NUM> feeds back an acknowledgment frame to the AP (<NUM>) after a delay of <NUM>. Both the AP <NUM> and the AP <NUM> receive the acknowledgment frames sent by the corresponding STAs.

It can be learned that, in the data transmission procedure in this application, an ACK conflict can be effectively avoided, and duration required for determining whether the STA <NUM> and the STA <NUM> receive the data is <NUM>.

Compared with the existing data transmission procedure, in the data transmission procedure in this application, <NUM> is added at a data sending phase, and <NUM> (<NUM>-<NUM>) µs is saved at a phase of determining whether the STA <NUM> and the STA <NUM> receive the data, and therefore a total of <NUM> is saved in the entire procedure.

The solutions provided in the implementations of this application are mainly described above from a perspective of interaction between the network device and the STA. It may be understood that, to implement the foregoing functions, the network device and the STA include corresponding hardware structures and/or software modules for performing the functions. The example units and algorithm steps described with reference to the implementations disclosed in this application can be implemented in a form of hardware or a combination of hardware and computer software in the implementations of this application. Whether a function is performed by hardware or hardware driven by computer software depends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation falls beyond the scope of the technical solutions in the implementations of this application.

<FIG> is a possible schematic structural diagram of a network device <NUM> according to an implementation of this application. The network device is not claimed as such in the present application.

The network device <NUM> includes a transmitter/receiver <NUM> and a processor <NUM>. The processor <NUM> may also be a controller, and is represented as a "controller/processor <NUM>" in <FIG>. The transmitter/receiver <NUM> is configured to: support the network device in sending information to and receiving information from the STA in the foregoing implementations, and support the STA in performing radio communication with another STA. The processor <NUM> performs various functions for communication with the STA. On an uplink, an uplink signal from the STA is received through an antenna, demodulated by the receiver <NUM> (for example, a high frequency signal is demodulated into a baseband signal), and is further processed by the processor <NUM> to recover service data and signaling information that are sent by the STA. On a downlink, service data and a signaling message are processed by the processor <NUM>, and modulated by the transmitter <NUM> (for example, a baseband signal is modulated into a high frequency signal) to generate a downlink signal, and the downlink signal is transmitted to the STA through the antenna. It should be noted that, the demodulation or modulation function may be alternatively completed by the processor <NUM>. For example, the processor <NUM> is further configured to perform the process in step <NUM> in <FIG> and/or another process in the technical solutions described in this application.

Further, the network device <NUM> may further include a memory <NUM>. The memory <NUM> is configured to store program code and data of the network device <NUM>. In addition, the network device may further include a transceiver <NUM>. The transceiver <NUM> is configured to support the network device in communicating with another network entity (for example, a network device in a core network). For example, in an LTE system, the transceiver <NUM> may be an S1-U interface, configured to support the network device in communicating with a serving gateway (Serving Gateway, SGW for short), or the transceiver <NUM> may be an S1-MME interface, configured to support the network device in communicating with a mobility management entity (Mobility Management Entity, MME for short).

It may be understood that, <FIG> merely shows a simplified design of the network device <NUM>. During actual application, the network device <NUM> may include any quantity of transmitters, receivers, processors, controllers, memories, transceivers, or the like, and all network devices that can implement the implementations of this application shall fall within the protection scope of the implementations of this application.

<FIG> is a simplified schematic diagram of a possible design structure of a first STA1100 according to an implementation of this application. The first STA <NUM> includes a transmitter <NUM>, a receiver <NUM>, and a processor <NUM>. The processor <NUM> may also be a controller, and is represented as a "controller/processor <NUM>" in <FIG>. Optionally, the first STA <NUM> may further include a modem processor <NUM>. The modem processor <NUM> may include an encoder <NUM>, a modulator <NUM>, a decoder <NUM>, and a demodulator <NUM>.

In an example, the transmitter <NUM> adjusts (for example, performs analog conversion, filtering, amplification, and up-conversion on) an output sample and generates an uplink signal. The uplink signal is transmitted to the network device in the foregoing implementations through an antenna. On a downlink, the antenna receives a downlink signal transmitted by the network device in the foregoing implementations. The receiver <NUM> adjusts (for example, performs filtering, amplification, down-conversion, and digitalization on) the signal received from the antenna and provides an input sample. In the modem processor <NUM>, the encoder <NUM> receives service data and a signaling message that are to be sent on an uplink, and processes (for example, formats, encodes, and interleaves) the service data and the signaling message. The modulator <NUM> further processes (for example, performs symbol mapping and modulation on) encoded service data and an encoded signaling message, and provides an output sample. The demodulator <NUM> processes (for example, demodulates) the input sample and provides a symbol estimate. The decoder <NUM> processes (for example, de-interleaves and decodes) the symbol estimate, and provides decoded data and a decoded signaling message that are to be sent to the first STA <NUM>. The encoder <NUM>, the modulator <NUM>, the demodulator <NUM>, and the decoder <NUM> may be implemented by the combined modem processor <NUM>. These units perform processing based on a radio access technology (for example, access technologies of LTE and other evolved systems) used in a radio access network. It should be noted that, when the first STA <NUM> does not include the modem processor <NUM>, the foregoing functions of the modem processor <NUM> may also be implemented by the processor <NUM>.

The processor <NUM> controls and manages an action of the first STA <NUM>, and is configured to perform a processing process performed by the first STA <NUM> in the foregoing implementations of this application. For example, the processor <NUM> is further configured to perform the process in step <NUM> in <FIG> and/or another process in the technical solutions described in this application.

Further, the first STA <NUM> may further include a memory <NUM>. The memory <NUM> is configured to store program code and data used for the first STA <NUM>.

A processor configured to perform a function of the foregoing network device or first STA in the implementations of this application may be a central processing unit (Central Processing Unit, CPU), a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application-Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or another programmable logic device, a transistor logic device, a hardware component, or any combination thereof. The processor may implement or execute various example logical blocks, modules, and circuits described with reference to content disclosed in the implementations of this application. Alternatively, the processor may be a combination implementing a computing function, for example, a combination including one or more microprocessors, or a combination of a DSP and a microprocessor.

Methods or algorithm steps described with reference to the content disclosed in the implementations of this application may be implemented by hardware, or may be implemented by a processor by executing a software instruction. The software instruction may include a corresponding software module. The software module may be stored in a random access memory (Random Access Memory, RAM), a flash memory, a read-only memory (Read Only Memory, ROM), an erasable programmable read-only memory (Erasable Programmable ROM, EPROM), an electrically erasable programmable read-only memory (Electrically EPROM, EEPROM), a register, a hard disk, a removable hard disk, a compact disc read-only memory (CD-ROM), or any other form of storage medium well-known in the art. An example storage medium is coupled to a processor, so that the processor can read information from the storage medium and can write information into the storage medium. Certainly, the storage medium may be a component of the processor. The processor and the storage medium may be located in an ASIC. In addition, the ASIC may be located in the network device or the first STA. Certainly, the processor and the storage medium may exist in the network device or the first STA as discrete components.

The network device described with reference to <FIG> is not claimed as such in the present application.

<FIG> is a block diagram of an acknowledgment frame delay duration setting apparatus according to an implementation of this application. The acknowledgment frame delay duration setting apparatus may be implemented as all or a part of a network device by using software, hardware, or a combination thereof. The acknowledgment frame delay duration setting apparatus may include an obtaining module <NUM> and a sending module <NUM>.

The obtaining module <NUM> is configured to implement the function of step <NUM>.

The sending module <NUM> is configured to implement the function of step <NUM>.

For related details, refer to the foregoing method implementation.

In another optional implementation, the obtaining module is configured to implement the function of at least one of step <NUM>, step <NUM>, and step <NUM>.

The sending module <NUM> is configured to implement the function of at least one of step <NUM>, step <NUM>, step <NUM>, step <NUM>, step <NUM>, step <NUM>, step <NUM>, step <NUM>, and step <NUM>.

<FIG> is a block diagram of an acknowledgment frame delay duration setting apparatus according to an implementation of this application. The acknowledgment frame delay duration setting apparatus may include an obtaining module <NUM>, a sending module <NUM>, a receiving module <NUM>, a setting module <NUM>, and a deletion module <NUM>.

The receiving module <NUM> is configured to implement the function of step <NUM>.

The setting module <NUM> is configured to implement the function of at least one of step <NUM> and step <NUM>.

The deletion module <NUM> is configured to implement the function of step <NUM>.

It should be noted that, the obtaining module <NUM> may be implemented by the processor <NUM> in <FIG> by executing the obtaining module program <NUM> in the memory <NUM>; the sending module <NUM> may be implemented by the processor <NUM> in <FIG> by executing the sending module program <NUM> in the memory <NUM>; the receiving module <NUM> may be implemented by the processor <NUM> in <FIG> by executing the receiving module program <NUM> in the memory <NUM>; the setting module <NUM> may be implemented by the processor <NUM> in <FIG> by executing the setting module program <NUM> in the memory <NUM>; and the deletion module <NUM> may be implemented by the processor <NUM> in <FIG> by executing the deletion module program <NUM> in the memory <NUM>.

<FIG> is a block diagram of an acknowledgment frame delay duration setting apparatus according to another implementation of this application. The acknowledgment frame delay duration setting apparatus may be implemented as all or a part of a first STA by using software, hardware, or a combination thereof. The acknowledgment frame delay duration setting apparatus may include a receiving module <NUM> and a feedback module <NUM>.

The feedback module <NUM> is configured to implement the function of step <NUM>.

In another optional implementation, the receiving module <NUM> is configured to implement the function of at least one of step <NUM> and step <NUM>.

The feedback module <NUM> is configured to implement the function of at least one of step <NUM>, step <NUM>, and step <NUM>.

<FIG> is a block diagram of an acknowledgment frame delay duration setting apparatus according to another implementation of this application. The acknowledgment frame delay duration setting apparatus may include a receiving module <NUM>, a feedback module <NUM>, a deletion module <NUM>, and a calculation module <NUM>.

The calculation module <NUM> is configured to implement the function of step <NUM>.

It should be noted that, the receiving module <NUM> may be implemented by the processor <NUM> in <FIG> by executing the receiving module program <NUM> in the memory <NUM>; the feedback module <NUM> may be implemented by the processor <NUM> in <FIG> by executing the feedback module program <NUM> in the memory <NUM>; the deletion module <NUM> may be implemented by the processor <NUM> in <FIG> by executing the deletion module program <NUM> in the memory <NUM>; and the calculation module <NUM> may be implemented by the processor <NUM> in <FIG> by executing the calculation module program <NUM> in the memory <NUM>.

It should be noted that, when the acknowledgment frame delay duration setting apparatuses provided in the foregoing implementations set acknowledgment frame delay duration, only division of the foregoing functional modules is used as an example for description. During actual application, the foregoing functions can be allocated to different functional modules for implementation according to a requirement, to be specific, an inner structure of the network device is divided into different functional modules and an inner structure of the STA is divided into different functional modules, to implement all or some of the functions described above. In addition, the acknowledgment frame delay duration setting apparatuses provided in the foregoing implementations belong to a same concept as the acknowledgment frame delay duration setting method implementations. For specific implementation processes of the apparatuses, refer to the method implementations.

The sequence numbers of the foregoing implementations of this application are merely for illustrative purposes, and are not intended to indicate priorities of the implementations.

A person of ordinary skill in the art may understand that all or some of the steps in the foregoing implementations may be implemented by hardware or a program instructing related hardware. The program may be stored in a computer-readable storage medium. The storage medium may be a read-only memory, a magnetic disk, an optical disc, or the like.

Claim 1:
An acknowledgment frame delay duration setting method, wherein the method is applied to a first station, STA, and the method comprises
receiving (<NUM>) a first indication frame sent by a first access point, AP, and obtaining and storing first acknowledgment frame delay duration corresponding to the first STA that is carried in the first indication frame, wherein the first AP is an AP associated with the first STA; and
each time receiving a data frame sent by the first AP, feeding back (<NUM>) an acknowledgment frame to the first AP after a delay of the first acknowledgment frame delay duration;
wherein the first indication frame further carries a use count corresponding to the first acknowledgment frame delay duration, and the obtaining and storing first acknowledgment frame delay duration corresponding to the first STA that is carried in the first indication frame comprises:
obtaining and storing the first acknowledgment frame delay duration corresponding to the first STA and the use count corresponding to the first acknowledgment frame delay duration that are carried in the first indication frame; and
the feeding back an acknowledgment frame to the first AP after a delay of the first acknowledgment frame delay duration comprises:
subtracting <NUM> from the stored use count corresponding to the first acknowledgment frame delay duration; and
if a result obtained after <NUM> is subtracted from the use count corresponding to the first acknowledgment frame delay duration is less than <NUM>, deleting the first acknowledgment frame delay duration and the use count corresponding to the first acknowledgment frame delay duration, and feeding back the acknowledgment frame to the first AP after a delay of default delay duration; or
if a result obtained after <NUM> is subtracted from the use count corresponding to the first acknowledgment frame delay duration is not less than <NUM>, feeding back the acknowledgment frame to the first AP after a delay of the first acknowledgment frame delay duration.