Wireless data transmission
By constructing the preliminary data portion of the response frame before receiving the request frame and completing the construction of the data portion during the transmission header portion, the problem of timing requirements being difficult to meet in wireless transmission is solved, network traffic backlog and latency are reduced, and network performance is improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- MAXLINEAR INC
- Filing Date
- 2021-01-18
- Publication Date
- 2026-06-05
AI Technical Summary
In existing wireless transmission protocols, after receiving a request frame, the device needs to wait for the entire frame to be received and verified before it can start constructing a response frame. This makes it difficult to meet timing requirements, resulting in network traffic backlog and increased latency.
Before receiving a request frame, the device begins constructing the initial data portion of the response frame, and immediately after receiving the last symbol of the request frame, it begins transmitting the header portion of the response frame, while simultaneously completing the construction of the data portion during the transmission of the header portion, in order to meet the timing requirements of the wireless protocol.
In this way, devices can reduce network traffic backlog and transmission latency while adhering to the timing requirements of wireless protocols, thereby improving network speed and functionality.
Smart Images

Figure CN119109996B_ABST
Abstract
Description
[0001] Information related to divisional application
[0002] This application is a divisional application of Chinese invention patent application entitled "Wireless Data Transmission", application number 202110061499.7, and application date January 18, 2021.
[0003] Cross-references to related applications
[0004] This application claims priority to U.S. Patent Application No. 16 / 815,599, filed March 11, 2020, the entire contents of which are incorporated herein by reference. Technical Field
[0005] The specific implementation discussed in this article involves wireless data transmission. Background Technology
[0006] Unless otherwise specified herein, the material described herein is not prior art to the claims of this application and is not acknowledged as prior art by virtue of its inclusion in this section.
[0007] A wireless local area network (WLAN) can be established using a device called a wireless access point (WAP). A WAP can wirelessly couple all devices on a local network (e.g., wireless stations such as digital devices) to each other and to other networks. Most WAPs implement the IEEE 802.11 standard. The IEEE 802.11 standard includes several protocols. In some protocols, the WAP can transmit a trigger frame that indicates which devices can transmit uplink data to the WAP. This trigger frame can also indicate when devices can transmit uplink data and the WLAN resource blocks to be used when transmitting uplink data.
[0008] The subject matter protected by the claims herein is not limited to addressing any shortcomings or specific implementations that operate only in environments such as those described above. Rather, this background art is provided merely to illustrate an exemplary technical field in which some of the specific implementations described herein can be practiced. Summary of the Invention
[0009] An exemplary method may include receiving a first frame at a device via a wireless network and constructing an initial data portion of a second frame. The second frame may be configured for transmission via the wireless network. The method may further include: in response to receiving the first frame at the device, initiating transmission of a header portion of the second frame via the wireless network, and after initiating transmission of the header portion of the second frame, constructing a final data portion of the second frame for transmission via the wireless network based on the initial data portion. Attached Figure Description
[0010] Exemplary specific implementations will be described and explained with additional features and details using the accompanying drawings, wherein:
[0011] Figure 1 An exemplary environment in which wireless data can be transmitted is illustrated;
[0012] Figure 2 An exemplary timing diagram for constructing and transmitting frames over a wireless network is illustrated;
[0013] Figure 3A An exemplary preliminary response PPDU is illustrated;
[0014] Figure 3B An example final response PPDU is shown;
[0015] Figure 4 A flowchart illustrating an exemplary method for preparing frames for transmission over a wireless network is provided.
[0016] Figure 5 A flowchart illustrating an exemplary method for wireless data transmission is provided; and
[0017] Figure 6 A graphical representation of a machine in an exemplary form of a computing device is shown. Detailed Implementation
[0018] The specific implementations described herein may typically include methods for wireless data transmission. In some wireless transmission protocols, a first device, such as a wireless access point, may transmit a request frame to one or more other devices. The request frame may instruct the one or more other devices that they may transmit a response frame containing uplink data to the first device. For example, in the IEEE 802.11ax protocol, the request frame may be a trigger frame, and the response frame may be a Physical Layer Protocol Data Unit (PPDU) frame.
[0019] Some wireless transmission protocols may specify timing requirements for a device (such as one or more other devices) to begin transmitting a response frame after receiving a request frame. These timing requirements may describe a specific time interval after receiving the request frame for the device to begin transmitting the response frame. In these and other specific embodiments, if the device waits to receive the entire request frame before preparing the response frame, this specific time interval may be less than the amount of time the device can use to construct the response frame. The specific embodiments described in this disclosure may include various methods, systems, and / or devices that can be used to construct and transmit response frames to comply with the timing requirements specified by the wireless transmission protocol.
[0020] For example, in some implementations, a method is described that includes constructing a preliminary data portion of a response frame before receiving a request frame. Alternatively or additionally, the method may include obtaining information from the request frame before completing a cyclic redundancy check on the first frame. This information can be used to begin constructing the header portion of the response before the request frame is fully received and verified. Alternatively or additionally, this information can be used to determine the response time for transmitting the response frame before the request frame is fully received and verified.
[0021] The method may also include starting to transmit the header portion of the response frame before completing the construction of the data portion of the response frame. In these and other specific embodiments, the data portion of the response frame may be completed before the transmission of the header portion. After transmitting the header portion of the response frame, the completed data portion of the response frame may be transmitted.
[0022] When a device or system may not be configured to respond to frames in accordance with timing requirements, the specific implementations described in this disclosure may allow the device or system to comply with the timing requirements of a wireless protocol. Allowing a device or system to comply with the timing requirements of a wireless protocol may enable the device or system to use the wireless protocol, which may reduce overall network traffic, reduce backlog and transmission latency, improve network speed as observed by consumers using the wireless network, and / or improve network functionality.
[0023] Various aspects of exemplary embodiments of the present disclosure will now be described with reference to the accompanying drawings. It should be understood that the drawings are illustrations and diagrams of such exemplary embodiments and are neither limiting of the present disclosure nor necessarily drawn to scale.
[0024] Figure 1 An exemplary environment 100, in which wireless data can be transmitted, is illustrated according to one or more specific embodiments of the present disclosure. Environment 100 illustrates an access point (AP) 110, a first device 120, a second device 130, and a third device 140.
[0025] In some implementations, the AP 100 may include a gateway, repeater, mesh node, and / or any other suitable device configured to host or control access to a wireless local area network (WLAN). The WLAN may be implemented using the 802.11 protocol or any other suitable wireless standard or protocol. Figure 6 An exemplary implementation of AP 110 as a computing device is illustrated below.
[0026] Each of devices 120, 130, and 140 may typically include any device configured to access a WLAN, such as a WLAN hosted by AP 110 or an IoT LAN. Each of devices 120, 130, and 140 may include a desktop computer, laptop computer, tablet computer, mobile phone, smartphone, personal digital assistant (PDA), smart device or appliance, automobile or other type of personal transportation, or any other suitable wireless site. Figure 6 The document also illustrates an exemplary embodiment of devices 120, 130, and 140 as a computing device.
[0027] In some implementations, AP 110 can be connected to a separate network, such as the Internet and / or a core network, via a bridge, backhaul link, base station, and / or other suitable device or connection. AP 110 can be configured to allow devices 120, 130, and 140 to access this separate network via WLAN.
[0028] The WLAN of environment 100 may include AP 110 and specific protocols that devices 120, 130, and 140 may comply with. For example, a specific protocol may allow AP 110 to request uplink data from devices 120, 130, and 140. In these and other specific implementations, AP 110 may transmit a request frame (such as a trigger frame in the 802.11ax protocol) to devices 120, 130, and 140. This request frame may indicate from which of devices 120, 130, and 140 AP 110 may request uplink data. For example, AP 110 may transmit a request frame indicating that first device 120 and second device 130 may transmit uplink data to AP 110. Each of first device 120 and second device 130 may respond to the request frame using a response frame that includes data for uploading to AP 110. For example, the response frame may be a trigger-based (TB)-PPDU frame in the 802.11ax protocol. In these and other specific implementations, the third device 140 may not transmit a response frame to the AP 110, even if the third device 140 may include data to be uploaded to the AP 110, because the request frame did not request data from the third device 140.
[0029] In some implementations, a specific protocol may indicate timing requirements for when devices 120, 130, and 140 may transmit a response frame. These timing requirements may indicate that transmission of the response frame should begin after a specific time interval elapsed since the end of reception of the request frame. For example, the timing requirements may indicate that devices 120, 130, and 140 begin transmitting the response frame a specific number of microseconds after receiving the last symbol of the request frame.
[0030] In some implementations, devices 120, 130, and 140 may perform one or more operations to allow devices 120, 130, and 140 to transmit a response frame in response to a request frame according to the timing requirements of the protocol. For example, device 120 may include hardware 122 that can be configured to perform operations.
[0031] In some implementations, allowing devices 120, 130, and 140 to transmit response frames according to protocol timing requirements in response to request frames may include devices 120, 130, and 140 processing the request frame before receiving the entire request frame. For example, hardware 122 of the first device 120 may parse the request frame to extract information to configure the response frame. Alternatively or otherwise, software of the first device 120 may parse the request frame. Alternatively or otherwise, the information extracted from the response frame may be used to determine the start time of transmission of the response frame.
[0032] In some implementations, allowing devices 120, 130, and 140 to transmit response frames in response to request frames according to protocol timing requirements may include devices 120, 130, and 140 constructing a preliminary response frame before receiving the request frame and / or before the request frame is fully received and inspected. For example, the first device 120 may include data to be uploaded to AP 110. The first device 120 may construct a subframe of the data, which may be aggregated by hardware 122, as a preliminary response frame. Hardware 122 may adjust the preliminary response frame based on information from the request frame to construct a final response frame for transmission to AP 110 at the start of transmission. In these and other implementations, adjusting the preliminary response frame may include removing one or more subframes of the data that form the preliminary response frame. The number of subframes removed from the preliminary response frame may be based on information obtained from the request frame.
[0033] In some implementations, the operation allowing devices 120, 130, and 140 to transmit a response frame in response to a request frame according to the timing requirements of the protocol may also include devices 120, 130, and 140 preparing the header portion of the response frame before the transmission start time, without allowing the data portion of the response frame to be completed for transmission. In these and other implementations, devices 120, 130, and 140 may begin transmitting the header portion of the response frame. While the header portion of the response frame is being transmitted, devices 120, 130, and 140 may complete the construction of the data portion of the response frame. Therefore, the transmission of the header portion of the response frame and the construction of the data portion of the response frame may occur within the same time interval (e.g., in parallel, simultaneously, etc.). The construction of the data portion of the response frame may be completed before all header portions of the response frame are transmitted. After transmitting the header portion of the response frame, the final data portion of the response frame may be transmitted.
[0034] As described in this disclosure, devices 120, 130, and 140 are capable of performing any of a plurality of operations to allow devices 120, 130, and 140 to transmit response frames in accordance with the timing requirements of the protocol in response to request frames. In some embodiments, devices 120, 130, and 140 are capable of performing any combination of these operations. Alternatively or otherwise, one of devices 120, 130, and 140 may perform some of these operations, and other devices in the apparatus may perform other of these operations.
[0035] In some implementations, devices 120, 130, and 140 may perform one or more of these operations without responding to the receipt of a request frame (e.g., independently of a trigger). Alternatively or otherwise, devices 120, 130, and 140 may perform one or more of these operations without responding to the satisfaction of protocol timing requirements (e.g., independently of timing requirements). In these and other implementations, devices 120, 130, and 140 may perform these operations for any reason.
[0036] Environment 100 may be modified, added to, or omitted without departing from the scope of this disclosure. For example, environment 100 may include any number of other components, or may be implemented in other systems or environments besides those described above. For example, it may include any number of APs 110 and / or devices 120, 130, and / or 140.
[0037] Figure 2 An exemplary timing diagram 200 for constructing and transmitting frames over a wireless network, according to one or more specific embodiments of this disclosure, is shown.
[0038] Timing diagram 200 can be an example of AP (such as Figure 1 AP 110) and devices (such as Figure 1 This timing diagram 200 is a sequence diagram of operations that may occur at the device during wireless communication between devices 120. This timing diagram 200 may not illustrate all operations that can be performed by the device, nor is it limited to operations performed in the order shown in timing diagram 200. Furthermore, the relationships between different times in timing diagram 200 are illustrative and do not imply specific time intervals.
[0039] Generally, timing diagram 200 can illustrate a request frame 210 that can be received by the device after being transmitted by the AP. This request frame 210 can request the device to transmit uplink data from the device to the AP in response PPDU 220.
[0040] At time 230, request frame 210 may begin to be received at the device. Request frame 210 may consist of multiple symbols that can be transmitted from the AP via a wireless medium. These symbols may be transmitted sequentially by the requester (e.g., the AP) from the initial symbol to the last symbol. At time 230, the initial symbol of request frame 210 may be received by the device. At time 234, the last symbol of request frame 210 may be received by the device. The number of symbols in request frame 210 may vary based on the amount of data in request frame 210 and the amount of data in each symbol, as well as other factors. In some specific implementations, request frame 210 may be an example of a trigger frame from the 802.11ax protocol.
[0041] The request frame 210 may include various types of information. For example, the request frame 210 may include public information 212, first user information 214, second user information 216, and cyclic redundancy check (CRC) information 218, as well as other information.
[0042] The public information 212 may include information indicating that the request frame 210 is a request from the AP for transmitting uplink data from the device. The public information 212 may also include other information, such as the transmission power and length of the response PPDU 220, as well as other information, such as the physical parameters for transmitting the response PPDU 220.
[0043] First user information 214 may indicate a first device authorized to transmit uplink data to the AP in response to request frame 210. First user information 214 may include specific transmission parameters for the first device to use when transmitting uplink data to the AP. For example, these specific transmission parameters may include transmission frequency, bandwidth, resource blocks, and other transmission parameters.
[0044] The second user information 216 may indicate a second device authorized to transmit uplink data to the AP in response to request frame 210. The second user information 216 may include information similar to the first user information 214 but specific to the second device. Figure 2 The example shows request frame 210 including first user information 214 and second user information 216. However, request frame 210 may include information for more than two devices.
[0045] CRC 218 may include information that allows the device to use cyclic redundancy check to verify that the request frame 210 was received accurately.
[0046] At time 232, the device may determine that the request frame 210 received at time 230 is a request frame. In some embodiments, in response to determining that the request frame 210 is a request frame, the device may begin parsing the received symbols of the request frame 210. For example, the device may begin parsing common information 212. The device may begin parsing the received symbols of the request frame 210 before receiving the last symbol of the request frame 210 at time 234. In some embodiments, parsing the received symbols of the request frame 210 upon receipt allows the device to obtain information in the request frame 210 before all symbols of the request frame 210 have been received, before all processing of each symbol of the request frame 210 has been completed, and / or before a cyclic redundancy check using CRC 218 has been performed on the request frame 210. In these and other embodiments, the processing of the request frame 210 may include performing equalization, demodulation, and filtering, as well as other processing, on the wirelessly transmitted data.
[0047] By parsing the received symbol of request frame 210 upon receipt, the device can obtain information about the length of request frame 210. Based on the length of request frame 210 and the request frame 210 received at time 230, the device can calculate when the last symbol of request frame 210 can be received before its final symbol is received. For example, the device can calculate that the last symbol of request frame 210 can be received at time 234.
[0048] By calculating time 234, the device can also calculate the transmission start time of the response PPDU 220 before receiving the last symbol of the request frame 210. For example, the device may include timing requirement information indicating that the transmission of the response frame may begin after a predetermined time interval following the receipt of the last symbol of the request frame. This predetermined time interval may be referred to as the inter-frame time period. For example, the inter-frame time period may be in the range of one microsecond to one hundred microseconds; however, the inter-frame time period may vary based on the implemented wireless protocol. In these and other specific implementations, the transmission start time of the response frame can be calculated by adding the inter-frame time period to the time of receiving the last symbol of the request frame. Figure 2 In this context, the inter-frame time period is exemplified as 250. Therefore, the transmission start time occurs at time 242, which is the inter-frame time period 250 after the last symbol of the request frame 210 is received at time 234.
[0049] In some implementations, based on the calculated transmission start time, the device may set a timer that expires at the transmission start time to indicate when the transmission in response to PPDU 220 begins.
[0050] At time 236, the device may use CRC 218 to perform a cyclic redundancy check on request frame 210. In response to the cyclic redundancy check indicating that request frame 210 was not correctly received by the device, the device may not take any further action regarding request frame 210. In response to the cyclic redundancy check indicating that request frame 210 was correctly received by the device, the device may determine whether request frame 210 requests the device to transmit uplink data. In response to request frame 210 not indicating that the device should transmit uplink data, the device may not take any further action regarding request frame 210. In response to request frame 210 instructing the device to send uplink data, the device may construct response PPDU 220. The device may use information from request frame 210 and the uplink data obtained by the device to construct response PPDU 220. For example, the device may use information from public information 212 and / or one of first user information 214 and second user information 216, as well as other information from request frame 210, to construct header portion 222. The device can also use the uplink data to construct data section 224.
[0051] At time 238, processing of request frame 210 can be completed. Note that parsing of request frame 210 and construction of response PPDU 220 can occur before time 238. At time 240, construction of header portion 222 can be completed. Construction of data portion 224 can continue after time 240.
[0052] At time 242, the header portion 222 of PPDU 220 can begin to be transmitted by the device. In some implementations, the header portion 222 can be transmitted in response to a timer expiration, which is set based on a calculated transmission start time. Construction of the data portion 224 can continue after the header portion 222 has begun transmission. At time 244, the construction of the data portion 224 can be completed. After the header portion 222 has been transmitted, the data portion 224 can be transmitted by the device.
[0053] In some implementations, the construction of one or both of the header portion 222 and the data portion 224 may begin before time 238. For example, the construction of one or both of the header portion 222 and the data portion 224 may begin at any time between time 232 and time 238, or in response to any type of information parsed from request frame 210. In these and other implementations, the header portion 222 may be constructed with information when information is parsed from request frame 210. For example, the header portion 222 may be constructed in response to parsing information from public information 212 and / or information from one of first user information 214 or second user information 216. As another example, the data portion 224 may be constructed in response to parsing information in request frame 210 regarding the length of response PPDU 220.
[0054] In some embodiments, the construction of one or both of header portion 222 and data portion 224 may begin before time 230. In these and other embodiments, the device may construct a preliminary header portion and / or a preliminary data portion. In response to receiving request frame 210, the device may adjust the preliminary header portion and the preliminary data portion to construct header portion 222 and data portion 224.
[0055] The construction of a preliminary header portion of header portion 222 may occur during a time period between time 232 and time 240 and / or in response to any type of information parsed from request frame 210. This preliminary header portion may include one or more information fields that may include information from the device. The preliminary header portion 222 may be constructed using additional information from request frame 210, such as physical parameters for transmission, to populate header portion 222. The preliminary header portion may be populated with information from request frame 210 in response to information being parsed and before time 236. The construction of header portion 222 may end before time 236, time 238, or time 240.
[0056] The construction of data portion 224 based on the preliminary data portion may occur during a time period between time 232 and time 244 and / or in response to any type of information parsed from request frame 210. For example, data portion 224 may be constructed based on the preliminary data portion in response to the device parsing information from request frame 210 regarding the length of response PPDU 220. The length of response PPDU 220 can be used to determine how much uplink data can be transmitted in response PPDU 220.
[0057] The device can construct a preliminary data portion by formatting uplink data for transmission at the device before time 230. For example, the device can format the uplink data into uplink data frames in memory, which can be chained together to form a multi-uplink data frame chain. For example, the multi-uplink data frame chain may include one or more MAC Protocol Data Units (MPDUs) in some 802.11 protocols. The device can construct a preliminary data portion of a specific length such that the length of the response frame constructed from the preliminary data portion will be longer than the length indicated in request frame 210. In these and other embodiments, the device can adjust the preliminary data portion formed by multiple uplink data frames to form data portion 224. Adjusting the preliminary data portion may include removing one or more uplink data frames from the preliminary data portion. In some embodiments, the device can continue constructing data portion 224 after time 242.
[0058] In some implementations, padding can be added between different uplink data frames in the uplink data frame chain. For example, padding can be added between each MPDU in a plurality of MPDUs. In these and other implementations, each MPDU in an MPDU may include a CRC field. Alternatively or otherwise, padding can be added to the end of data portion 224, and a CRC field can be added after padding. In some implementations, a CRC field can be added after data portion 224, wherein response PPDU 220 does not include any padding.
[0059] Timing diagram 200 may be modified, added to, or omitted without departing from the scope of this disclosure. For example, timing diagram 200 may include several other operations. Alternatively or otherwise, one or more of these operations may occur at different times. For example, a cyclic redundancy check of request frame 210 may occur after time 238. Additionally, any combination of the device's software and / or hardware may be used to perform the operations discussed with respect to timing diagram 200.
[0060] Figure 3A An exemplary preliminary response PPDU 300a according to one or more specific embodiments of this disclosure is illustrated. The preliminary response PPDU 300a may include a preliminary header portion 310a, a first data portion 312, a second data portion 314, and a third data portion 316. Each data portion may be an uplink data frame, and the data portions may be linked together. The preliminary response frame 300a may be constructed by the device before the device receives a request frame.
[0061] Figure 3B An exemplary final response PPDU 300b according to one or more specific embodiments of the present disclosure is illustrated. The final response PPDU 300b may include a header portion 310b, which may be similar to the preliminary header portion 310a, but may also include information 311 obtainable from the request frame. The final response PPDU 300b may also include a first data portion 312 and a second data portion 314. However, the final response PPDU 300b may not include a third data portion 316. Based on the fact that the length of the preliminary response PPDU 300a is longer than the length indicated by the request frame, the third data portion 316 may be removed from the preliminary response frame 300a during the construction of the final response PPDU 300b.
[0062] The response PPDU 300 may be modified, added to, or omitted without departing from the scope of this disclosure. For example, the response PPDU 300 may include more than two or three data sections, a CRC field, and / or padding.
[0063] Figure 4A flowchart illustrating an exemplary method 400 for preparing frames for transmission over a wireless network, according to one or more specific embodiments of the present disclosure, is provided. Method 400 may be wholly or partially derived from… Figure 1 It is implemented by one or more of the following devices: device 120, 130, or 140.
[0064] At box 402, the device can identify a received frame as a request frame from the AP. This request frame could be a request from the device in a PPDU response to transmit uplink data to the AP. In some implementations, the device's hardware, such as baseband or Media Access Control (MAC) hardware, can enable a software interrupt to notify the software running on the device that the request frame has been received.
[0065] At box 404, the device may begin parsing the fields of the request frame. In some implementations, the software may begin parsing the fields of the request frame in response to a software interrupt. The software may parse the fields of the request frame as the device continues to receive and process the symbols of the request frame. By parsing the fields of the request frame, the device can obtain information for responding to the PPDU. For example, this information may include physical parameters used in the header portion of the request frame.
[0066] At box 406, the device can determine the transmission time of the response PPDU. The transmission time of the response PPDU can be determined in response to information about the length of the request frame obtained through the device's software. The transmission time of the response PPDU can be calculated before the device receives the last symbol of the response PPDU. This transmission time can be calculated using the reception time of the first symbol of the request frame, the length of the request frame, and the inter-frame time period associated with the radio protocol used for the wireless transmission of the response PPDU. This inter-frame time period indicates the time after the last symbol of the request frame is received to begin transmitting the response PPDU. The device can set a timer that expires at the transmission time via its software.
[0067] At box 408, the device may begin constructing the response PPDU. This construction may begin before the final symbol of the request frame is received. Before receiving the final symbol of the request frame, the device may use information parsed from the request frame to construct the header portion of the response PPDU. In some embodiments, the construction of the response PPDU may be based on a preliminary response PPDU constructed before the request frame is received by the device. In these and other embodiments, the construction of the response PPDU may include adjusting the preliminary response PPDU. For example, the header portion of the preliminary response PPDU may be adjusted to include information from the request frame. Also, one or more uplink data frames that are linked together to form the preliminary data portion of the preliminary response PPDU may be removed during the construction of the data portion of the response PPDU. The response PPDU may be constructed by the device's software.
[0068] At box 410, the device may receive the final symbol of the request frame. In response to receiving the final symbol of the request frame, the device may use the CRC information from the request frame to perform a CRC check.
[0069] At box 412, the device may determine whether the CRC check of the request frame passes. In these and other specific implementations, the device hardware may enable a software interrupt to indicate the CRC result to the device software. In response to a successful CRC check, method 400 may proceed to box 416. In response to a failed CRC check, method 400 may proceed to box 414.
[0070] At box 414, the device may ignore the request frame. Ignoring the request frame may include the device not taking any further action relative to the request frame. For example, the device's software may stop preparing a response PPDU for transmission.
[0071] At box 416, the device may determine, based on information from the request frame, whether it is designated for responding to a PPDU transmission. For example, the request frame may designate a device or a random access resource element that can be used by the device. If the device is designated or a random access resource element is designated, it is determined that the device is designated. In response to the device being designated, method 400 may proceed to box 420. In response to the device not being designated, method 400 may proceed to box 418.
[0072] At box 418, the device may ignore the request frame. At box 420, the device may complete the header portion of the response PPDU. The data portion of the response PPDU may not be completed.
[0073] At box 422, the device can determine, based on a timer, whether it is time to transmit the header portion of the response PPDU. Upon timer expiration, the method can proceed to box 424.
[0074] At box 424, the device may begin sending the header portion of the response PPDU. The transmission of the header portion may include the transmission of multiple symbols.
[0075] At box 426, the device can complete the construction of the data portion of the response PPDU. This construction can begin before the transmission of the header portion of the response PPDU and can be completed after the transmission of the response PPDU has begun. In some implementations, the construction of the data portion of the response PPDU can be completed during the initial training fields of the transmission header portion. In some implementations, the construction of the data portion can be completed before the efficient training fields of the transmission header portion.
[0076] At box 428, after sending the header of the response PPDU, the data portion of the response PPDU can be sent. Alternatively or otherwise, a CRC field and / or optional padding may also be transmitted.
[0077] Those skilled in the art will understand that, with respect to the various processes and methods disclosed herein, the functions performed in these processes and methods may be implemented in different orders, simultaneously, etc. Furthermore, the steps and operations outlined are provided by way of example only, and some of these steps and operations may be optional, combined into fewer steps and operations, or extended into additional steps and operations without departing from the spirit of the specific implementation disclosed herein. For example, block 408 may occur before block 406. Alternatively or otherwise, block 408 may occur after block 416 in response to the device being designated for transmission. Additionally, method 400 is described in relation to hardware and / or software performing various functions. However, any combination of software or hardware may perform the various functions described with respect to method 400.
[0078] Figure 5 A flowchart illustrating an exemplary method 510 for wireless data transmission according to one or more specific embodiments of the present disclosure is provided. Method 510 may be wholly or partially comprised of… Figure 1 It is implemented by one or more of the following devices: device 120, 130, or 140.
[0079] At box 512, the first frame can be received at the device via a wireless network.
[0080] At box 514, a preliminary data portion of the second frame can be constructed. This second frame can be configured for transmission over a wireless network. In some embodiments, the first frame may include a start symbol received at the beginning of the first frame. In these and other embodiments, the construction of the preliminary data portion of the second frame can begin before the device receives the start symbol of the first frame.
[0081] In some specific implementations, the construction of the final data portion of the second frame can be performed before the start of transmission of the header portion of the second frame, and can continue after the start of transmission of the header portion of the second frame.
[0082] At box 516, in response to receiving the first frame at the device, transmission of the header portion of the second frame can begin via the wireless network. In some implementations, the first frame may be a trigger frame transmitted by the wireless access point, and the second frame may be a Physical Layer Protocol Data Unit frame or a PPDU response.
[0083] At box 518, after the header portion of the second frame begins transmission, the final data portion of the second frame can be constructed based on the preliminary data portion used for transmission over the wireless network. In some implementations, constructing the final data portion of the second frame may include removing data from the preliminary data portion.
[0084] Those skilled in the art will understand that, with respect to the various processes and methods disclosed herein, the functions performed in these processes and methods may be implemented in different orders, simultaneously, etc. Furthermore, the steps and operations outlined are provided by way of example only, and some of these steps and operations may be optional, combined into fewer steps and operations, or extended into additional steps and operations, without departing from the spirit of the specific implementations disclosed herein.
[0085] For example, method 510 may further include obtaining information from the first frame before the cyclic redundancy check of the first frame, and constructing the header portion of the second frame based on the information. In some embodiments, the first frame may include the last symbol received at the end of the first frame. In these and other embodiments, method 510 may further include determining a transmission start time for the second frame before the device receives the last symbol of the first frame, wherein transmission of the header portion of the second frame begins at that transmission start time. Alternatively or otherwise, the first frame may include a length parameter extracted from the first frame before the device receives the last symbol of the first frame, and the transmission start time may be determined based on the length parameter.
[0086] Figure 6 A schematic diagram of an exemplary form of a machine, 600, is shown, within which a set of instructions is executable to cause the machine to perform any or more of the methods discussed herein. The computing device 600 may include a mobile phone, smartphone, netbook computer, rack server, router computer, server computer, personal computer, mainframe computer, laptop computer, tablet computer, desktop computer, or any computing device having at least one processor, within which a set of instructions is executable to cause the machine to perform any or more of the methods discussed herein. In alternative embodiments, the machine may be connected (e.g., networked) to other machines in a LAN, intranet, extranet, or the Internet. The machine may operate as a server machine in a client-server network environment. The machine may include a personal computer (PC), set-top box (STB), server, network router, switch, or bridge, or any machine capable of executing (sequentially or otherwise) a set of instructions specifying the actions to be taken by the machine. Furthermore, although only a single machine is shown, the term "machine" may also include any collection of machines that individually or jointly execute a set of instructions (or multiple sets of instructions) to perform any or more of the methods discussed herein.
[0087] An exemplary computing device 600 includes a processing device (e.g., a processor) 602 that communicates with each other via a bus 608, a main memory 604 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM)), a static memory 606 (e.g., flash memory, static random access memory (SRAM)), and a data storage device 616.
[0088] Processing device 602 represents one or more general-purpose processing devices, such as microprocessors, central processing units, etc. More specifically, processing device 602 may include complex instruction set computing (CISC) microprocessors, reduced instruction set computing (RISC) microprocessors, very long instruction word (VLIW) microprocessors, or processors implementing other instruction sets or combinations thereof. Processing device 602 may also include one or more special-purpose processing devices, such as application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), network processors, etc. Processing device 602 is configured to execute instructions 626 for performing the operations and steps discussed herein.
[0089] The computing device 600 may also include one or more network interface devices 622 capable of communicating with one or more networks 618. The computing device 600 may also include a display device 610, a numeric input device 612 (e.g., a keyboard), a cursor control device 614 (e.g., a mouse), and a signal generation device 620 (e.g., a speaker). In at least one embodiment, the display device 610, the numeric input device 612, and / or the cursor control device 614 may be combined into a single component or device.
[0090] Data storage device 616 may include computer-readable storage medium 624 on which one or more instruction sets 626 embodying any or more of the methods or functions described herein are stored. The instructions 626 may also reside wholly or at least partially within main memory 604 and / or processing device 602, which also constitute computer-readable media, during execution by computing device 600. The instructions may also be transmitted or received via network 618 via network interface device 622.
[0091] Although computer-readable storage medium 624 is shown as a single medium in the exemplary embodiment, the term "computer-readable storage medium" can include a single medium or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) storing one or more instruction sets. The term "computer-readable storage medium" can also include any medium capable of storing, encoding, or carrying instruction sets for machine execution and causing the machine to perform any or more methods of this disclosure. Therefore, the term "computer-readable storage medium" can be considered to include, but is not limited to, solid-state memory, optical media, and magnetic media.
[0092] Some parts of the specific implementation are presented based on algorithms and symbolic representations of operations within a computer. These algorithmic descriptions and symbolic representations are means used by those skilled in the art of data processing to communicate their innovative essence to others skilled in the art. An algorithm is a series of configured operations that produce a desired ending state or result. In exemplary implementations, the operations performed require a tangible number of physical manipulations to achieve a tangible result.
[0093] Unless otherwise specified, it is obvious from the discussion that the use of terms such as detection, determination, analysis, identification, and scanning throughout the description may include the actions and processes of a computer system or other information processing device that manipulates and transforms data representing physical (electronic) quantities in the registers and memories of the computer system into other data representing physical quantities in the memory or registers or other information storage, transmission, or display devices of the computer system.
[0094] The example implementation may also involve means for performing the operations described herein. This means may be specifically constructed for the desired purpose, or it may include one or more general-purpose computers selectively activated or reconfigured by one or more computer programs. Such computer programs may be stored in a computer-readable medium, such as a computer-readable storage medium or a computer-readable signal medium. Computer-executable instructions may include, for example, instructions and data that cause a general-purpose computer, a special-purpose computer, or a special-purpose processing device (e.g., one or more processors) to perform or control the performance of certain functions or groups of functions.
[0095] Although the subject matter has been described in language specific to structural features and / or methodological actions, it should be understood that the subject matter configured in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are disclosed as exemplary forms for implementing the claims.
[0096] Exemplary devices may include a wireless access point (WAP) or site and incorporate a VLSI processor and program code for support. Exemplary transceivers are coupled via an integrated modem to one of the cable, fiber optic, or digital subscriber backbone connections to the Internet to support wireless communication over a wireless local area network (WLAN), such as IEEE 802.11 compliant communication. The Wi-Fi phase includes a baseband phase, and analog front-end (AFE) and radio frequency (RF) phases. In the baseband section, wireless communication transmitted to or received from each user / client / site is processed. The AFE and RF sections process upconversion for each transmission path in the transmission path initiated in the baseband. The RF section also processes downconversion for signals received on the receive path and passes them to the baseband for further processing.
[0097] An exemplary device may be a MIMO device that supports up to N x N discrete communication streams via N antennas. In the example, the signal processing unit of the MIMO device may be implemented as N × N. In various specific implementations, the value of N may be 4, 6, 8, 12, 16, etc. Extended MIMO operation enables the use of up to 2N antennas to communicate with another similarly equipped wireless system. It should be noted that even if the system does not have the same number of antennas, an extended MIMO system can communicate with other wireless systems, but may not utilize some antennas of one station, thus reducing optimal performance.
[0098] Channel state information (CSI) from any device described herein can be extracted independently of changes in channel state parameters and used for spatial diagnostic services of the network, such as motion detection, proximity detection, and location. These spatial diagnostic services can be used for applications such as WLAN diagnostics, home security, health monitoring, smart home facility control, elderly care, vehicle tracking and monitoring, home or mobile entertainment, and automotive infotainment.
[0099] Unless the specific arrangements described herein are mutually exclusive, the various embodiments described herein can be combined, in whole or in part, to enhance system functionality and / or create complementary functions. Similarly, aspects of the embodiments can be implemented through independent arrangements. Therefore, the above description has been given by way of example only and can be modified in detail within the scope of this invention.
[0100] The subject matter of the present invention is illustrated, for example, according to various aspects described below. For convenience, various examples of aspects of the subject matter are described as numbered embodiments (1, 2, 3, etc.). These are provided by way of example and do not limit the subject matter. Unless the context otherwise requires, aspects of various embodiments described herein may be omitted, substituted for aspects of other embodiments, or combined with aspects of other embodiments. For example, one or more aspects of Embodiment 1 below may be omitted, substituted for one or more aspects of another embodiment (e.g., Embodiment 2) or multiple embodiments, or combined with aspects of another embodiment. The following is a non-limiting overview of some exemplary embodiments presented herein.
[0101] Example 1: A method for wireless data transmission may include: receiving a first frame at a device via a wireless network; constructing a preliminary data portion of a second frame configured for transmission via the wireless network; in response to receiving the first frame at the device, initiating transmission of a header portion of the second frame via the wireless network; and after initiating transmission of the header portion of the second frame, constructing a final data portion of the second frame for transmission via the wireless network based on the preliminary data portion.
[0102] Example 2: A device including hardware configured to perform operations including: receiving a first frame via a wireless network; constructing a preliminary data portion of a second frame configured for transmission via the wireless network; in response to receiving the first frame, initiating transmission of a header portion of the second frame via the wireless network; and after initiating the transmission of the header portion of the second frame, adjusting the preliminary data portion to construct a final data portion of the second frame for transmission via the wireless network.
[0103] Example 3: A non-transitory computer-readable medium including instructions that, when executed by a device, cause the device to perform operations including: receiving a first frame via a wireless network; constructing a preliminary data portion of a second frame configured for transmission via the wireless network; in response to receiving the first frame at the device, initiating transmission of a header portion of the second frame via the wireless network; and after initiating transmission of the header portion of the second frame, constructing a final data portion of the second frame for transmission via the wireless network based on the preliminary data portion.
[0104] Regarding the use of virtually any plural or singular terminology herein, those skilled in the art can convert from plural to singular or vice versa, depending on the context or application to which it applies. For clarity, various singular / plural arrangements may be explicitly described herein. Unless otherwise stated, references to elements in singular form are not intended to mean "one and only one," but rather "one or more." Furthermore, nothing disclosed herein is intended for public use, whether or not such disclosure is explicitly stated in the foregoing description.
[0105] Generally, the terms used herein, and especially in the appended claims (e.g., the body of the appended claims), are generally expected to be “open” terms (e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “at least having,” the term “includes” should be interpreted as “including but not limited to,” etc.). Furthermore, in cases where conventions such as “at least one of A, B, and C” are used, such constructs generally imply the conventions that should be understood by one of those skilled in the art (e.g., “a system having at least one of A, B, and C” would include, but is not limited to, systems including A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B, and C together, etc.). Additionally, phrases presenting two or more alternative terms, whether in the specification, claims, or drawings, should be understood to include one term, any one of the terms, or both terms. For example, the phrase “A or B” would be understood to include the possibility of “A” or “B” or “A and B.”
[0106] Furthermore, the use of terms such as "first," "second," and "third" does not necessarily imply a specific order or quantity of elements herein. Generally, the terms "first," "second," and "third" are used to distinguish different elements as general identifiers. Unless otherwise stated, these terms should not be construed as implying a specific order. Similarly, if the terms "first," "second," and "third" imply a specific number of elements, they should not be construed as implying a specific number of elements. For example, a first component may be described as having a first side, and a second component may be described as having a second side. The use of the term "second side" regarding a second component serves to distinguish such a side of the second component from the "first side" of the first component and does not imply that the second component has two sides.
[0107] This disclosure may be embodied in other specific forms without departing from its substance or essential characteristics. The specific embodiments described are to be considered exemplary in all respects only and not restrictive. Therefore, the scope of this disclosure is indicated by the appended claims rather than the foregoing description. All variations in the meaning and scope of the equivalents of the claims are covered within the scope of the claims.
Claims
1. A wireless data transmission method, the method comprising: A first frame is transmitted to the device via a wireless network, and the first frame is configured to trigger response communication from the device. as well as A response frame is received from the device via the wireless network. The response frame includes a preliminary data portion and a final data portion. The preliminary data portion of the response frame is constructed by the device before the transmission of the header portion of the response frame begins, and the final data portion of the response frame is constructed after the transmission of the response frame begins.
2. The method of claim 1, wherein the first frame includes a start symbol transmitted at the beginning of the first frame, wherein the construction of the preliminary data portion of the response frame begins before the device receives the start symbol of the first frame.
3. The method of claim 1, wherein the construction of the final data portion of the response frame begins before the transmission of the header portion of the response frame begins, and the construction of the final data portion of the response frame continues after the transmission of the header portion of the response frame begins.
4. The method of claim 1, wherein the header portion of the response frame is constructed based on information obtained by the device prior to the cyclic redundancy check of the first frame.
5. The method of claim 1, wherein the first frame includes instructions to the device regarding the response frame.
6. The method of claim 1, wherein the first frame includes the last symbol of the end of the first frame, and wherein the transmission of the header portion of the response frame begins at a transmission start time determined by the device.
7. The method of claim 6, wherein the first frame includes a length parameter extracted from the first frame before the device receives the last symbol of the first frame, and the transmission start time is determined based on the length parameter.
8. The method of claim 1, wherein the first frame is a trigger frame transmitted by a wireless access point and the response frame is a physical layer protocol data unit frame.
9. The method of claim 1, wherein the first frame indicates the device for transmitting uplink data.
10. An apparatus comprising: Hardware configured to perform operations, including: A first frame is transmitted via a wireless network, the first frame being configured to trigger response communication from a client device; and A response frame is received from the client equipment via the wireless network. The response frame includes a preliminary data portion and a final data portion. The preliminary data portion of the response frame is constructed by the client equipment before the transmission of the header portion of the response frame begins, and the final data portion of the response frame is constructed after the transmission of the response frame begins.
11. The device of claim 10, wherein the first frame includes a start symbol received at the start of the first frame, wherein the construction of the preliminary data portion of the response frame begins before the start symbol of the first frame is received.
12. The apparatus of claim 10, wherein the construction of the final data portion of the response frame begins before the transmission of the header portion of the response frame begins, and the construction of the final data portion of the response frame continues after the transmission of the header portion of the response frame.
13. The device of claim 10, wherein the header portion of the response frame is constructed based on information obtained by the client device prior to the cyclic redundancy check of the first frame.
14. The device of claim 10, wherein the first frame includes instructions to the client device regarding the response frame.
15. The device of claim 10, wherein the first frame includes the last symbol of the end of the first frame, and wherein the transmission of the header portion of the response frame begins at a transmission start time determined by the client device.
16. The device of claim 10, wherein the first frame is a trigger frame transmitted by the device and the response frame is a physical layer protocol data unit frame.
17. The device of claim 10, wherein the first frame indicates the client equipment for transmitting uplink data.
18. A non-transitory computer-readable medium comprising instructions that, when executed by a device, cause the device to perform an operation, the operation comprising: The first frame is transmitted over a wireless network and is configured to trigger response communication from a client device. as well as A response frame is received from the client equipment via the wireless network. The response frame includes a preliminary data portion and a final data portion. The preliminary data portion of the response frame is constructed by the client equipment before the transmission of the header portion of the response frame begins, and the final data portion of the response frame is constructed after the transmission of the response frame begins.
19. The non-transitory computer-readable medium of claim 18, wherein the construction of the final data portion of the response frame begins before the transmission of the header portion of the response frame begins, and the construction of the final data portion of the response frame continues after the transmission of the header portion of the response frame begins.
20. The non-transitory computer-readable medium of claim 18, wherein the first frame is a trigger frame transmitted by the device and the response frame is a physical layer protocol data unit frame.