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, the problem of timing requirements being difficult to meet in wireless transmission is solved, thereby improving network speed and efficiency.
Patent Information
- Application Number
- CN202410983021.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2020-03-11
- Filing Date
- 2021-01-18
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2041-01-18
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 begin to construct a response frame. This makes it difficult to meet timing requirements, resulting in network traffic backlog and increased latency.
The device begins constructing the preliminary data portion of the response frame before receiving the request frame and completes the construction of the data portion while transmitting the header portion, thereby reducing network latency while meeting protocol timing requirements.
By pre-constructing the data and header portions of the response frame, the device can reduce network traffic backlog and latency while meeting the timing requirements of the wireless protocol, thereby improving network speed and efficiency.
Smart Images

Figure CN119109996A_ABST
Abstract
Description
[0001] Information about divisional applications
[0002] This application is a divisional application of the Chinese invention patent application with invention name “Wireless Data Transmission”, application number 202110061499.7 and application date January 18, 2021.
[0003] CROSS-REFERENCE TO RELATED APPLICATIONS
[0004] This application claims priority to U.S. Patent Application No. 16 / 815,599, filed on March 11, 2020, which is incorporated herein by reference in its entirety. Technical Field
[0005] The specific implementation discussed herein involves wireless data transmission. Background Art
[0006] Unless otherwise indicated herein, the materials described herein are not prior art to the claims in this application and are not admitted to be prior art by 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 of 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 multiple protocols. In some protocols, a WAP can transmit a trigger frame that indicates which devices can transmit uplink data to the WAP. The trigger frame can also indicate when a device can transmit uplink data and indicate the resource blocks of the WLAN to be used when transmitting uplink data.
[0008] The claimed subject matter herein is not limited to implementations that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is merely provided to illustrate one exemplary technology area in which some implementations described herein may be practiced. Summary of the invention
[0009] An exemplary method may include receiving a first frame at a device over a wireless network and constructing a preliminary data portion of a second frame. The second frame may be configured for transmission over the wireless network. The method may also include: in response to receiving the first frame at the device, starting transmission of a header portion of the second frame over the wireless network, and after starting transmission of the header portion of the second frame, constructing a final data portion of the second frame for transmission over the wireless network based on the preliminary data portion. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Exemplary implementations will be described and explained with additional specificity and detail through the use of the accompanying drawings, in which:
[0011] Figure 1 An exemplary environment in which wireless data may be transmitted is illustrated;
[0012] Figure 2 illustrates an exemplary timing diagram for constructing and transmitting a frame over a wireless network;
[0013] Figure 3A An exemplary preliminary response PPDU is illustrated;
[0014] Figure 3B An exemplary final response PPDU is illustrated;
[0015] Figure 4 A flow chart illustrating an exemplary method for preparing a frame for transmission over a wireless network;
[0016] Figure 5 A flowchart illustrating an exemplary method of wireless data transmission; and
[0017] Figure 6 A diagrammatic representation of a machine in the exemplary form of a computing device is illustrated. DETAILED DESCRIPTION
[0018] Implementations described herein may generally 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 indicate to the one or more other devices that the one or more other devices may transmit a response frame with 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 a timing requirement for a device (such as one or more other devices) to begin transmitting a response frame after receiving a request frame. The timing requirement may describe a specific timing interval after receiving a request frame for the device to begin transmitting a response frame. In these and other specific implementations, if the device waits to receive the entire request frame before preparing a response frame, the specific timing interval may be less than the amount of time the device can use to construct a response frame. Specific implementations described in the present disclosure may include various methods, systems and / or devices that can be used to construct and transmit a response frame 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 in addition, the method may include obtaining information from the request frame before completing a cyclic redundancy check of the first frame. The information may be used to begin constructing a header portion of the response before the request frame is fully received and verified. Alternatively or in addition, the information may be used to determine a response time to transmit the response frame before fully receiving and verifying the request frame.
[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 implementations, the data portion of the response frame may be completed before completing the transmission of the header portion of the response frame. After transmitting the header portion of the response frame, the completed data portion of the response frame may be transmitted.
[0022] Implementations described in the present disclosure may allow a device or system to comply with the timing requirements of a wireless protocol when the device or system may not be configured to originally prepare a response frame to meet the timing requirements. Allowing a device or system to comply with the timing requirements of a wireless protocol may allow the device or system to use the wireless protocol, which may reduce overall network traffic, reduce backlogs and transmission delays, improve network speeds observed by consumers using the wireless network, and / or improve network functionality.
[0023] Various aspects of exemplary implementations of the present disclosure will now be described with reference to the accompanying drawings. It should be understood that the drawings are diagrammatic and schematic representations of such exemplary implementations and are neither limiting of the present disclosure nor necessarily drawn to scale.
[0024] Figure 1 An exemplary environment 100 is illustrated within which wireless data may be transmitted according to one or more implementations of the present disclosure. The 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, a repeater, a 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 any of the 802.11 protocols or other suitable wireless standards or protocols. Figure 6 One exemplary implementation of AP 110 as a computing device is illustrated in FIG.
[0026] Each of devices 120, 130, and 140 may generally include any device configured to access a WLAN, such as a WLAN hosted by AP 110 or an IoT local area network. Each of devices 120, 130, and 140 may include a desktop computer, a laptop computer, a tablet computer, a mobile phone, a smart phone, a personal digital assistant (PDA), a smart device or appliance, an automobile or other type of personal transportation, or any other suitable wireless station. Figure 6 One exemplary implementation of devices 120 , 130 , and 140 as one of the computing devices is also illustrated in FIG.
[0027] In some implementations, AP 110 may be connected to a separate network, such as the Internet and / or a core network, via a bridge, a backhaul link, a base station, and / or other suitable devices or connections. AP 110 may be configured to allow devices 120, 130, and 140 to access the separate network via a WLAN.
[0028] The WLAN of the environment 100 may include an AP 110 and a specific protocol that the devices 120, 130, and 140 may comply with. For example, the specific protocol may allow the AP 110 to request uplink data from the devices 120, 130, and 140. In these and other specific implementations, the AP 110 may transmit a request frame, such as a trigger frame in the 802.11ax protocol, to the devices 120, 130, and 140. The request frame may indicate which of the devices 120, 130, and 140 the AP 110 may request uplink data from. For example, the AP 110 may transmit a request frame indicating that the first device 120 and the second device 130 may transmit uplink data to the AP 110. Each of the first device 120 and the second device 130 may respond to the request frame with a response frame including data for uploading to the AP 110. For example, the response frame may be a trigger-based (TB)-PPDU frame in the 802.11ax protocol. In these and other implementations, third device 140 may not transmit a response frame to AP 110 even though third device 140 may include data to upload to AP 110 , because the request frame does not request data from third device 140 .
[0029] In some implementations, a particular protocol may indicate a timing requirement for when devices 120, 130, and 140 may transmit a response frame. The timing requirement may indicate that transmission of the response frame may begin after a particular amount of time has passed since the end of reception of the request frame. For example, the timing requirement may indicate that devices 120, 130, and 140 may begin transmitting a response frame a particular number of microseconds after the last symbol of the request frame is received by devices 120, 130, and 140.
[0030] In some implementations, devices 120, 130, and 140 may perform one or more operations to allow devices 120, 130, and 140 to transmit the response frame in response to the request frame according to the timing requirements of the protocol. For example, device 120 may include hardware 122 that may be configured to perform operations.
[0031] In some implementations, the operation of allowing the devices 120, 130, and 140 to transmit a response frame in response to the request frame according to the timing requirements of the protocol may include the devices 120, 130, and 140 processing the request frame before receiving the entire request frame. For example, the hardware 122 of the first device 120 may parse the request frame to extract information to configure the response frame. Alternatively or in addition, the software of the first device 120 may parse the request frame. Alternatively or in addition, the information extracted from the response frame can 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 the timing requirements of the protocol may include devices 120, 130, and 140 constructing preliminary response frames before receiving the request frame and / or before the request frame is fully received and checked. For example, the first device 120 may include data to be uploaded to the AP 110. The first device 120 may construct subframes of the data that may be aggregated together by the hardware 122 as preliminary response frames. The hardware 122 may adjust the preliminary response frame based on information from the request frame to construct a final response frame for transmission to the AP 110 at the transmission start time. 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 specific implementations, the operation of 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 a header portion of the response frame before the transmission start time without having to complete the data portion of the response frame for transmission. In these and other specific 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 during 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 the header portion of the response frame is transmitted, the final data portion of the response frame may be transmitted.
[0034] As described in the present disclosure, devices 120, 130, and 140 may perform any of a plurality of operations to allow devices 120, 130, and 140 to transmit response frames in response to request frames according to the timing requirements of the protocol. In some implementations, devices 120, 130, and 140 may perform any combination of these operations. Alternatively or in addition, one of devices 120, 130, and 140 may perform some of these operations, and other of the devices may perform other of these operations.
[0035] In some implementations, devices 120, 130, and 140 may perform one or more of these operations not in response to receiving a request frame (e.g., independent of a trigger). Alternatively or in addition, devices 120, 130, and 140 may perform one or more of these operations not in response to meeting a timing requirement of a protocol (e.g., independent of a timing requirement). In these and other implementations, devices 120, 130, and 140 may perform these operations for any reason.
[0036] Modifications, additions, or omissions may be made to environment 100 without departing from the scope of the present disclosure. For example, environment 100 may include any number of other elements, or may be implemented in other systems or environments than those described. For example, any number of APs 110 and / or devices 120, 130, and / or 140 may be included.
[0037] Figure 2 An exemplary timing diagram 200 for constructing and transmitting frames over a wireless network is shown in accordance with one or more implementations of the present disclosure.
[0038] Timing diagram 200 may be an example of a timing diagram of an AP such as Figure 1 AP 110) and devices such as Figure 1 1 and 120). The timing diagram 200 may not illustrate all operations that may be performed by a device, nor is the timing diagram 200 limited to operations performed in the order shown in the timing diagram 200. In addition, the relationship between different times in the timing diagram 200 is illustrative and is not meant to imply specific timing quantities.
[0039] In general, the timing diagram 200 may illustrate a request frame 210 that may be received by a device after being transmitted by an AP. The request frame 210 may request the device to transmit uplink data in a response PPDU 220 from the device to the AP.
[0040] At time 230, a request frame 210 may begin to be received at the device. The request frame 210 may consist of a plurality of symbols that may be transmitted from the AP via a wireless medium. The symbols may be transmitted sequentially by the requester (e.g., the AP) from an initial symbol to a last symbol. At time 230, the initial symbol of the request frame 210 may be received by the device. At time 234, the last symbol of the request frame 210 may be received by the device. The number of symbols in the request frame 210 may vary based on the amount of data in the request frame 210 and the amount of data in each symbol, as well as other factors. In some implementations, the request frame 210 may be an example of a trigger frame from the 802.11ax protocol.
[0041] The request frame 210 may include a variety of different 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 information (CRC) 218, among 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 used for the response PPDU 220 and the length of the response PPDU 220, and other information, such as physical parameters used to transmit the response PPDU 220.
[0043] The first user information 214 may indicate a first device that is authorized to transmit uplink data to the AP in response to the request frame 210. The first user information 214 may additionally include specific transmission parameters for the first device to use when transmitting uplink data to the AP. For example, the 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 that is authorized to transmit uplink data to the AP in response to the 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 It is illustrated that the request frame 210 includes the first user information 214 and the second user information 216. However, the request frame 210 may include information for more than two devices.
[0045] CRC 218 may include information that allows a device to use a cyclic redundancy check to verify that request frame 210 was accurately received.
[0046] At time 232, the device may determine that the request frame 210 received at time 230 is a request frame. In some implementations, 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 the common information 212. The device may begin parsing the received symbols of the request frame 210 before the last symbol of the request frame 210 is received at time 234. In some implementations, parsing the received symbols of the request frame 210 as they are received may allow the device to obtain information in the request frame 210 before all symbols of the request frame 210 are received, before all processing of each symbol of the request frame 210 is completed, and / or a cyclic redundancy check using the CRC 218 has been performed for the request frame 210. In these and other implementations, the processing of the request frame 210 may include performing equalization, demodulation, and filtering, among other processing, on the wirelessly transmitted data.
[0047] By parsing the received symbols of the request frame 210 as it is received, the device may obtain information about the length of the request frame 210. Based on the length of the request frame 210 and the request frame 210 received at time 230, the device may calculate when the last symbol of the request frame 210 may be received before the last symbol of the request frame 210 is received. For example, the device may calculate that the last symbol of the request frame 210 may be received at time 234.
[0048] By calculating the time 234, the device can also calculate the start time of transmission of the response PPDU 220 before the last symbol of the request frame 210 is received. For example, the device may include timing requirement information, which may indicate that the transmission of the response frame may begin a set amount of time after the last symbol of the request frame is received. The set amount of time may be referred to as an inter-frame time period. For example, the inter-frame time period may be in a range between one microsecond and one hundred microseconds, however, the inter-frame time period may vary based on the wireless protocol implemented. In these and other specific implementations, the start time of transmission of the response frame may be calculated by adding the inter-frame time period to the time when the last symbol of the request frame is received. Figure 2 , the inter-frame time period is illustrated as 250. Thus, the transmission start time occurs at time 242, which is the inter-frame time period 250 after the time 234 at which the last symbol of the request frame 210 is received.
[0049] In some implementations, based on the calculated transmission start time, the device can set a timer that can expire at the transmission start time to indicate when transmission of the response PPDU 220 begins.
[0050] At time 236, the device may perform a cyclic redundancy check of the request frame 210 using the CRC 218. In response to the cyclic redundancy check indicating that the request frame 210 was not correctly received by the device, the device may not take further action with respect to the request frame 210. In response to the cyclic redundancy check indicating that the request frame 210 was correctly received by the device, the device may determine whether the request frame 210 requests the device to transmit uplink data. In response to the request frame 210 not indicating that the device transmits uplink data, the device may not take further action with respect to the request frame 210. In response to the request frame 210 indicating that the device transmits uplink data, the device may construct a response PPDU 220. The device may construct the response PPDU 220 using information from the request frame 210 and the uplink data obtained by the device. For example, the device may construct the header portion 222 using information from the public information 212 and / or one of the first user information 214 and the second user information 216 and other information from the request frame 210. The device may also construct the data portion 224 using the uplink data.
[0051] At time 238, processing of request frame 210 may be completed. Note that parsing of request frame 210 and construction of response PPDU 220 may occur prior to time 238. Construction of header portion 222 may be completed at time 240. Construction of data portion 224 may continue after time 240.
[0052] At time 242, a header portion 222 of the response PPDU 220 can begin to be transmitted by the device. In some implementations, the header portion 222 can be transmitted in response to the expiration of a timer that is set based on the calculated transmission start time. Construction of the data portion 224 can continue after the header portion 222 begins to be transmitted. At time 244, construction of the data portion 224 can be completed. After transmitting the header portion 222, the data portion 224 can be transmitted by the device.
[0053] In some implementations, construction of one or both of the header portion 222 and the data portion 224 may begin before the time 238. For example, construction of one or both of the header portion 222 and the data portion 224 may begin at any time between the time 232 and the time 238 and / or in response to any type of information parsed from the request frame 210. In these and other implementations, the header portion 222 may be constructed with information as information is parsed from the request frame 210. For example, the header portion 222 may be constructed in response to parsing information from the public information 212 and / or information from one of the first user information 214 or the second user information 216. As another example, the data portion 224 may be constructed in response to parsing information about the length of the response PPDU 220 in the request frame 210.
[0054] In some implementations, construction of one or both of the header portion 222 and the data portion 224 may begin before time 230. In these and other implementations, the device may construct a preliminary header portion and / or a preliminary data portion. In response to receiving the request frame 210, the device may adjust the preliminary header portion and the preliminary data portion to construct the header portion 222 and the data portion 224.
[0055] The construction of the header portion 222 based on the preliminary header portion may occur during a time period between time 232 and time 240 and / or in response to any type of information parsed from the request frame 210. The preliminary header portion may include one or more information fields, which may include information from the device. The preliminary header portion may be used to construct the header portion 222 by filling the header portion 222 with additional information from the request frame 210, such as physical parameters for transmission. In response to the information being parsed and before time 236, the preliminary header portion may be filled with information from the request frame 210. The construction of the header portion 222 may end before time 236, time 238, or time 240.
[0056] The construction of the data portion 224 based on the preliminary data portion may occur during some time period between time 232 and time 244 and / or in response to any type of information parsed from the request frame 210. For example, the data portion 224 may be constructed based on the preliminary data portion in response to the device parsing information from the request frame 210 regarding the length of the response PPDU 220. The length of the response PPDU 220 may be used to determine how much uplink data may be transmitted in the response PPDU 220.
[0057] The device can construct the preliminary data portion by formatting the uplink data for transmission at the device before time 230. For example, the device can format the uplink data into an uplink data frame in a memory, and the uplink data frame can be linked 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 so that the length of the response frame constructed from the preliminary data portion will be longer than the length indicated in the request frame 210. In these and other specific implementations, the device can adjust the preliminary data portion formed by a plurality of uplink data frames to form a data portion 224. Adjusting the preliminary data portion may include removing one or more uplink data frames from the preliminary data portion. In some specific implementations, the device may continue to construct the data portion 224 after time 242.
[0058] In some implementations, padding may be added between different uplink data frames in the uplink data frame chain. For example, padding may be added between each of the multiple MPDUs. In these and other embodiments, each of the MPDUs may include a CRC field. Alternatively or in addition, padding may be added to the end of the data portion 224, and the CRC field may be added after the padding. In some implementations, the CRC field may be added after the data portion 224, wherein the response PPDU 220 does not include any padding.
[0059] The timing diagram 200 may be modified, added to, or omitted without departing from the scope of the present disclosure. For example, the timing diagram 200 may include a plurality of other operations. Alternatively or in addition, one or more of these operations may occur at different times. For example, a cyclic redundancy check of the request frame 210 may occur after time 238. In addition, any combination of software and / or hardware of a device may be used to perform the operations discussed with respect to the timing diagram 200.
[0060] Figure 3A An exemplary preliminary response PPDU 300a according to one or more specific implementations of the present 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 of the data portions 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 the request frame.
[0061] Figure 3B An exemplary final response PPDU 300b according to one or more specific implementations 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 obtained 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 length of the preliminary response PPDU 300a being longer than the length indicated by the request frame, the third data portion 316 may be removed from the preliminary response frame 300a during construction of the final response PPDU 300b.
[0062] Modifications, additions, or omissions may be made to the response PPDU 300 without departing from the scope of the present disclosure. For example, the response PPDU 300 may include more than two or three data portions, a CRC field, and / or padding.
[0063] Figure 4A flow chart illustrating an exemplary method 400 for preparing a frame for transmission over a wireless network according to one or more implementations of the present disclosure is shown. The method 400 may be performed in whole or in part by Figure 1 The method may be implemented by one or more of devices 120, 130 or 140.
[0064] At block 402, the device may identify the received frame as a request frame from the AP. The request frame may be a request by the device to transmit uplink data to the AP in a response PPDU. In some implementations, hardware of the device, such as baseband or media access control (MAC) hardware, may enable a software interrupt to notify software running on the device that a request frame has been received.
[0065] At block 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. As symbols of the request frame continue to be received and processed by the device, the software may parse the fields of the request frame. By parsing the fields of the request frame, the device may obtain information for responding to the PPDU. For example, the information may include physical parameters used in the header portion of the request frame.
[0066] At block 406, the device may determine a transmission time for the response PPDU. In response to obtaining information about the request frame length by the device's software, the transmission time for the response PPDU may be determined. The transmission time for the response PPDU may be calculated before the device receives the last symbol of the response PPDU. The transmission time may be calculated using the reception time of the first symbol of the request frame, the length of the request frame, and an inter-frame time period associated with a wireless protocol for wirelessly transmitting the response PPDU. The inter-frame time period may indicate a time to begin transmitting the response PPDU after the last symbol of the request frame is received. The device may set a timer that expires at the transmission time by the device's software.
[0067] At box 408, the device may begin to build the response PPDU. The construction may be started before the final symbol of the request frame is received. Before the final symbol of the request frame is received, the device may use the information parsed from the request frame to build the header portion of the response PPDU. In some specific implementations, the construction of the response PPDU may be based on the preliminary response PPDU constructed before the request frame is received by the device. In these and other specific implementations, 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. For another example, one or more uplink data frames in a plurality of 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 software of the device.
[0068] At block 410, the device may receive a final symbol of the request frame. In response to receiving the final symbol of the request frame, the device may perform a CRC check using CRC information from the request frame.
[0069] At block 412, the device may determine whether the CRC check of the request frame passes. In these and other specific implementations, the hardware of the device may enable a software interrupt to indicate the result of the CRC to the software of the device. In response to the CRC check passing, the method 400 may proceed to block 416. In response to the CRC check not passing, the method 400 may proceed to block 414.
[0070] At block 414, the device may ignore the request frame. Ignoring the request frame may include the device taking no further action with respect to the request frame. For example, the device's software may stop preparing a response PPDU for transmission.
[0071] At block 416, the device may determine whether the device is designated for transmission of the response PPDU based on information from the request frame. For example, the request frame may specify a device or may specify a random access resource unit that may be used by the device. If the device is designated or the random access resource unit is designated, it may be determined that the device is designated. In response to the device being designated, the method 400 may proceed to block 420. In response to the device not being designated, the method 400 may proceed to block 418.
[0072] At block 418, the device may ignore the request frame. At block 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 block 422, the device may determine, based on the timer, whether it is currently time to transmit a header portion of the response PPDU. In response to the timer expiring, the method may proceed to block 424.
[0074] At block 424, the device may begin transmitting a header portion of the response PPDU. The transmission of the header portion may include the transmission of a plurality of symbols.
[0075] At block 426, the device may complete construction of a data portion of the response PPDU. Construction of the data portion may have begun prior to transmission of a header portion of the response PPDU and may be completed after transmission of the response PPDU begins. In some implementations, construction of the data portion of the response PPDU may be completed during an initial training field of a transmission header portion. In some implementations, construction of the data portion may be completed prior to transmission of an efficient training field of the header portion.
[0076] After sending the header of the response PPDU, the data portion of the response PPDU may be sent at block 428. Alternatively or in addition, a CRC field and / or optional padding may also be transmitted.
[0077] It will be appreciated by those skilled in the art that for this and other processes and methods disclosed herein, the functions performed in the processes and methods may be implemented in different orders, simultaneously, etc. In addition, the steps and operations outlined are provided only as examples, and some of the steps and operations may be optional, combined into fewer steps and operations, or expanded into additional steps and operations without departing from the essence of the specific implementation disclosed by the present invention. For example, block 408 may occur before block 406. Alternatively or in addition, block 408 may occur after block 416 in response to the device being designated for transmission. In addition, method 400 is described with respect to hardware and / or software that performs various functions. However, any combination of software or hardware may perform the various functions described with respect to method 400.
[0078] Figure 5 1 is a flowchart illustrating an exemplary method 510 for wireless data transmission according to one or more specific implementations of the present disclosure. The method 510 may be performed in whole or in part by Figure 1 The method may be implemented by one or more of devices 120, 130 or 140.
[0079] At block 512, a first frame may be received at a device over a wireless network.
[0080] At block 514, a preliminary data portion of a second frame may be constructed. The second frame may be configured for transmission over a wireless network. In some implementations, the first frame may include a start symbol received at the beginning of the first frame. In these and other implementations, construction of the preliminary data portion of the second frame may begin before the device receives the start symbol of the first frame.
[0081] In some implementations, construction of the final data portion of the second frame can occur before the start of transmission of the header portion of the second frame and continue after the start of transmission of the header portion of the second frame.
[0082] At block 516, in response to receiving the first frame at the device, transmission of a header portion of a second frame may be initiated over the wireless network. In some implementations, the first frame may be a trigger frame transmitted by a wireless access point, and the second frame may be a physical layer protocol data unit frame or a PPDU response.
[0083] At block 518, after beginning to transmit the header portion of the second frame, a final data portion of the second frame can be constructed based on the preliminary data portion for transmission over the wireless network. In some implementations, constructing the final data portion of the second frame can include removing data from the preliminary data portion.
[0084] Those skilled in the art will appreciate that, for this and other processes and methods disclosed herein, the functions performed in the processes and methods may be implemented in different orders, simultaneously, etc. In addition, the outlined steps and operations are provided only as examples, and some of the steps and operations may be optional, combined into fewer steps and operations, or expanded into additional steps and operations without departing from the essence of the specific implementations disclosed herein.
[0085] For example, method 510 may also include obtaining information from the first frame before a cyclic redundancy check of the first frame, and constructing a header portion of the second frame based on the information. In some specific implementations, the first frame may include a last symbol received at the end of the first frame. In these and other specific implementations, method 510 may also include determining a transmission start time for the second frame before the device receives the last symbol of the first frame, wherein the transmission of the header portion of the second frame begins at the transmission start time. Alternatively or in addition, 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 diagrammatic schematic diagram of a machine in an exemplary form of a computing device 600 is shown, in which an instruction set for causing the machine to perform any one or more of the methods discussed herein can be executed. The computing device 600 may include a mobile phone, a smart phone, a netbook computer, a rack server, a router computer, a server computer, a personal computer, a mainframe computer, a laptop computer, a tablet computer, a desktop computer, or any computing device with at least one processor, etc., in which an instruction set for causing the machine to perform any one or more of the methods discussed herein can be executed. In an alternative specific implementation, the machine may be connected (e.g., networked) to other machines in a LAN, an intranet, an extranet, or the Internet. The machine may operate with the capabilities of a server machine in a client-server network environment. The machine may include a personal computer (PC), a set-top box (STB), a server, a network router, a switch, or a bridge, or any machine capable of (sequentially or otherwise) executing an instruction set specifying the action to be taken by the machine. In addition, although only a single machine is shown, the term "machine" may also include any machine collection that executes an instruction set (or multiple instruction sets) individually or jointly to perform any one or more of the methods discussed herein.
[0087] The exemplary computing device 600 includes a processing device (e.g., a processor) 602, a main memory 604 (e.g., a read-only memory (ROM), a flash memory, a dynamic random access memory (DRAM) such as a synchronous DRAM (SDRAM)), a static memory 606 (e.g., a flash memory, a static random access memory (SRAM)), and a data storage device 616 that communicate with each other via a bus 608.
[0088] The processing device 602 represents one or more general-purpose processing devices, such as a microprocessor, a central processing unit, etc. More specifically, the processing device 602 may include a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor that implements other instruction sets or a processor that implements a combination of instruction sets. The processing device 602 may also include one or more special-purpose processing devices, such as an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), a network processor, etc. The 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 that may communicate with one or more networks 618. The computing device 600 may also include a display device 610, an alphanumeric input device 612 (e.g., a keyboard), a cursor control device 614 (e.g., a mouse), and a signal generating device 620 (e.g., a speaker). In at least one implementation, the display device 610, the alphanumeric input device 612, and / or the cursor control device 614 may be combined into a single component or device.
[0090] The data storage device 616 may include a computer-readable storage medium 624 on which is stored one or more sets of instructions 626 embodying any one or more of the methods or functions described herein. The instructions 626 may also reside, completely or at least partially, within the main memory 604 and / or within the processing device 602 during execution of the instructions by the computing device 600, which may also constitute computer-readable media. The instructions may also be transmitted or received over the network 618 via the network interface device 622.
[0091] Although the computer-readable storage medium 624 is shown as a single medium in the exemplary implementation, the term "computer-readable storage medium" may include a single medium or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) that store one or more sets of instructions. The term "computer-readable storage medium" may also include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by a machine and causing the machine to perform any one or more of the methods of the present disclosure. Therefore, the term "computer-readable storage medium" may be considered to include, but is not limited to, solid-state memories, optical media, and magnetic media.
[0092] Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations within a computer. These algorithmic descriptions and symbolic representations are a means for those skilled in the art of data processing to convey the essence of their innovations to others skilled in the art. An algorithm is a sequence of configured operations that produce a desired end state or result. In an exemplary implementation, the operations performed require a tangible number of physical manipulations to achieve a tangible result.
[0093] Unless otherwise specifically stated, it will be apparent from the discussion that it should be understood that throughout the description, discussions utilizing terms such as detecting, determining, analyzing, identifying, scanning, etc., may include actions and processes of a computer system or other information processing device that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system's memories or registers or other information storage, transmission, or display devices.
[0094] Example implementations may also involve an apparatus for performing the operations herein. This apparatus may be specially 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 acts, it should be understood that the subject matter configured in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as exemplary forms of implementing the claims.
[0096] An exemplary device may include a wireless access point (WAP) or site and incorporate a VLSI processor and program code for support. An exemplary transceiver is coupled to one of a cable, optical fiber or digital subscriber backbone connection that enters the Internet via an integrated modem to support wireless communications on a wireless local area network (WLAN), such as IEEE 802.11 compatible communications. The WIFI stage includes a baseband stage, and an analog front end (AFE) and a radio frequency (RF) stage. In the baseband portion, wireless communications transmitted to or received from each user / client / site are processed. The AFE and RF portions process the upward conversion of each transmission path in the transmission path of the wireless transmission initiated in the baseband. The RF portion also processes the downward conversion of the signal received on the receiving path, and passes them to the baseband for further processing.
[0097] An exemplary device may be a MIMO device that supports up to NxN discrete communication streams through N antennas. In an example, the MIMO device signal processing unit may be implemented as N×N. In various 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 an extended MIMO system can communicate with other wireless systems even if the systems do not have the same number of antennas, but some antennas of one of the stations may not be utilized, thereby reducing optimal performance.
[0098] Channel state information (CSI) from any device described herein can be extracted independently of changes associated with channel state parameters and used for spatial diagnostic services of the network, such as motion detection, proximity detection, and positioning, which can be used for example for WLAN diagnostics, home security, healthcare monitoring, smart home facility control, elderly care, car tracking and monitoring, home or mobile entertainment, car infotainment, etc.
[0099] Unless the specific arrangements described herein are mutually exclusive, the various implementations described herein may be combined in whole or in part to enhance system functionality and / or produce complementary functions. Likewise, various aspects of a specific implementation may be implemented by independent arrangements. Therefore, the above description has been given by way of example only and may be modified in detail within the scope of the present invention.
[0100] The subject technology of the present invention is shown, for example, according to various aspects described below. For convenience, various examples of various aspects of the subject technology are described as numbered embodiments (1, 2, 3, etc.). These are provided as examples and do not limit the subject technology. Unless otherwise specified in the context, various aspects of various specific implementations described herein may be omitted, replaced by various aspects of other specific implementations, or combined with various aspects of other specific implementations. For example, one or more aspects of the following embodiment 1 may be omitted, replaced by one or more aspects of another embodiment (e.g., embodiment 2) or multiple embodiments, or combined with various aspects of another embodiment. The following is a non-limiting overview of some exemplary specific implementations presented herein.
[0101] Embodiment 1 A method for wireless data transmission may include: receiving a first frame at a device through a wireless network; constructing a preliminary data portion of a second frame, the second frame being configured for transmission through the wireless network; in response to receiving the first frame at the device, starting transmission of a header portion of the second frame through the wireless network; and after starting transmission of the header portion of the second frame, constructing a final data portion of the second frame for transmission through the wireless network based on the preliminary data portion.
[0102] Embodiment 2 A device comprising hardware configured to perform operations comprising: receiving a first frame via a wireless network; constructing a preliminary data portion of a second frame, the second frame being 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 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] Embodiment 3 A non-transitory computer-readable medium comprising instructions which, when executed by a device, cause the device to perform operations comprising: receiving a first frame via a wireless network; constructing a preliminary data portion of a second frame, the second frame being configured for transmission via the wireless network; in response to receiving the first frame at the device, starting to transmit a header portion of the second frame via the wireless network; and after starting the 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] With respect to the use of substantially any plural or singular terminology herein, one skilled in the art may convert from the plural to the singular or from the singular to the plural as applicable to the context or application. For clarity, various singular / plural arrangements may be expressly set forth herein. Unless otherwise specified, reference to an element in the singular is not intended to mean "one and only one," but rather "one or more." Furthermore, nothing disclosed herein is intended to be dedicated to the public, regardless of whether such disclosure is explicitly recited in the above description.
[0105] Generally speaking, the terms used herein, especially in the appended claims (e.g., the bodies of the appended claims), are generally intended 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 "having at least", the term "includes" should be interpreted as "including but not limited to", etc.). In addition, in those cases where a convention similar to "at least one of A, B, and C, etc." is used, generally speaking, the meaning of such construction is the convention that should be understood by those skilled in the art (e.g., "a system having at least one of A, B, and C" will include but is not limited to a system 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.). In addition, phrases presenting two or more alternative terms, whether in the specification, claims, or drawings, should be understood to include one of the terms, any of the terms, or both of the terms. For example, the phrase "A or B" will be understood to include the possibility of "A" or "B" or "A and B".
[0106] In addition, the use of the terms "first," "second," "third," etc., are not necessarily used herein to imply a specific order or number of elements. In general, the terms "first," "second," "third," etc. are used to distinguish different elements as general identifiers. If it is not indicated that the terms "first," "second," "third," etc. imply a specific order, then these terms should not be understood to imply a specific order. In addition, if it is indicated that the terms "first," "second," "third," etc. imply a specific number of elements, then these terms should not be understood to imply a specific number of elements. For example, a first widget may be described as having a first side, and a second widget may be described as having a second side. The use of the term "second side" with respect to the second widget can be used to distinguish such side of the second widget from the "first side" of the first widget, and does not imply that the second widget has two sides.
[0107] The present disclosure may be embodied in other specific forms without departing from the essence or essential characteristics of the present disclosure. The specific implementation is considered in all respects to be exemplary and not restrictive. Therefore, the scope of the present disclosure is indicated by the appended claims rather than the foregoing description. All changes within the meaning and scope of the equivalents of the claims are included within the scope of the claims.
Claims
1. A method for wireless data transmission, the method comprising: receiving a first frame at a device via a wireless network; constructing a preliminary data portion of a second frame, the second frame configured for transmission over the wireless network; In response to receiving the first frame at the device, commencing transmission of a header portion of the second frame over the wireless network; as well as After the initial transmission of the header portion of the second frame, a final data portion of the second frame is constructed based on the preliminary data portion for transmission over the wireless network.
2. The method of claim 1, wherein the construction of the final data portion of the second frame begins before the start transmission of the header portion of the second frame and continues after the start transmission of the header portion of the second frame.
3. The method according to claim 1 or 2, further comprising: obtaining information from the first frame prior to a cyclic redundancy check of the first frame; as well as The header portion of the second frame is constructed based on the information.
4. The method of claim 1 or 2, wherein said constructing said final data portion of said second frame comprises removing data from said preliminary data portion.
5. The method of claim 1 or 2, wherein the first frame includes a start symbol received at the beginning of the first frame, and wherein the construction of the preliminary data portion of the second frame begins before the device receives the start symbol of the first frame.
6. The method of claim 1 or 2, wherein the first frame is a trigger frame transmitted by a wireless access point, and the second frame is a physical layer protocol data unit frame.
7. A method according to claim 1 or 2, wherein the first frame includes a last symbol received at the end of the first frame, and the method also includes determining a transmission start time of the second frame before the device receives the last symbol of the first frame, wherein the transmission of the header part of the second frame starts at the transmission start time.
8. The method of claim 7, 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.
9. At least one non-transitory computer-readable medium, the at least one non-transitory computer-readable medium being configured to store one or more instructions that, in response to being executed by at least one processor, cause or direct a system to perform a method according to any one of the preceding claims.
10. A system comprising: Hardware configured to perform the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Harq frame data structure and method of transmitting and receiving with harq in systems using blind detection
CN106031072A
Receiver behavior for uplink multi-user transmission in wireless LAN systems
US10182361B1
Method and system for providing enhanced data encryption protocols in a mobile satellite communications system
US20150052360A1
HARQ Frame Data Structure and Method of Transmitting and Receiving with HARQ in Systems Using Blind Detection
US20150236823A1
Methods and systems for receiver initiated protection of a wireless communication exchange
US20160242070A1
