The present embodiments relate generally to wireless networks, and specifically to controlling transmission conditions of protocol data units (PDUs) between wireless devices.
Wireless access points (APs) may periodically transmit beacon frames to advertise the presence of wireless local area networks (WLANs). Wireless stations (STAs) may detect a beacon frame from an AP and transmit a response frame back to the AP to establish a wireless communication channel or link with the AP. However, the STA may not be able to control the length or size of data units transmitted from the AP to the STA, which may be problematic if the STA is not able to sustain data transmission and/or reception operations for periods of time expected by the AP.
This Summary is provided to introduce in a simplified form a selection of concepts that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter.
A wireless system is disclosed that enables a first wireless device such as a station (STA) to control the transmission conditions associated with the exchange of protocol data units (PDUs) between the first wireless device and a second wireless device such an access point (AP) or another STA. In accordance with the present embodiments, the first wireless device can determine or retrieve from memory one or more transmission conditions that are dependent, at least in part, upon one or more hardware constraints of the first wireless device. These hardware constraints may affect how long the first wireless device can spend transmitting and/or receiving data units such as protocol data units (PDUs). For example, wireless devices powered by small batteries (e.g., coin cell batteries) may overheat and/or may experience a reduced power supply when continuously transmitting or receiving data for more than a certain time period. As a result, the first wireless device may not be able to sustain PDU transmission or reception operations for as long as the second wireless device can (e.g., especially where the first wireless device is a mobile STA having a small battery and the second wireless device is an access point).
The first wireless device may embed its transmission conditions into a frame to be sent to the second wireless device. The transmission conditions may include, for example, (i) a maximum duration of time that the first wireless device can spend receiving an individual PDU from another wireless device, (ii) a maximum duration of time that the first wireless device can spend transmitting a PDU to another wireless device, and/or (iii) a minimum duration of time that the other wireless device should wait after the transmission of a PDU to the first wireless device before sending a subsequent PDU to the first wireless device. The frame may be any suitable frame including, for example, an association request frame, a probe REQ frame, a response frame, a management frame, a control frame, and/or a data frame, and the transmission conditions may be embedded into a capabilities element, a new information element, and/or another suitable field of the frame.
Upon receipt of the transmission conditions from the first wireless device, the second wireless device may store the transmission conditions in a suitable look-up table. For some embodiments, the look-up table may include a plurality of entries each for storing the transmission conditions for a corresponding other wireless device (e.g., a mobile station and/or an access point). Then, in response to the transmission conditions, the second wireless device may selectively modify its data transmission, reception, and/or processing behavior when exchanging data with the first wireless device so that the first wireless device may process data such as PDUs according to its own transmission conditions. In this manner, the wireless devices may exchange PDUs in a manner that does not undesirably reduce the power supply or overheat either of the wireless devices.
The present embodiments are illustrated by way of example and are not intended to be limited by the figures of the accompanying drawings, where:
Like reference numerals refer to corresponding parts throughout the drawing figures.
The present embodiments are described below in the context of data exchanges between Wi-Fi enabled devices for simplicity only. It is to be understood that the present embodiments are equally applicable to data exchanges using signals of other various wireless standards or protocols. As used herein, the terms WLAN and Wi-Fi can include communications governed by the IEEE 802.11 family of standards, Bluetooth, HiperLAN (a set of wireless standards, comparable to the IEEE 802.11 standards, used primarily in Europe), and other technologies having relatively short radio propagation range. In addition, although described herein in terms of exchanging protocol data units (PDUs) between wireless devices, the present embodiments may be applied to the exchange of any data, packet, and/or frame between wireless devices. Thus, as used herein, the term “PDU” may refer to any data frame, data packet, or data unit transmitted between wireless devices.
In the following description, numerous specific details are set forth such as examples of specific components, circuits, and processes to provide a thorough understanding of the present disclosure. The term “coupled” as used herein means connected directly to or connected through one or more intervening components or circuits. Also, in the following description and for purposes of explanation, specific nomenclature is set forth to provide a thorough understanding of the present embodiments. However, it will be apparent to one skilled in the art that these specific details may not be required to practice the present embodiments. In other instances, well-known circuits and devices are shown in block diagram form to avoid obscuring the present disclosure. The present embodiments are not to be construed as limited to specific examples described herein but rather to include within their scopes all embodiments defined by the appended claims.
As mentioned above, some wireless devices may have hardware resource constraints that affect how long they can spend transmitting and/or receiving data units such as data frames or data packets. For example, wireless devices powered by small batteries (e.g., coin cell batteries) may overheat and/or may experience a reduced power supply when continuously transmitting or receiving data for more than a certain time period. In addition, wireless communication protocols such as those embodied by the IEEE 802.11 family of standards may specify different periods of time that a wireless device may spend transmitting and/or receiving data such as a protocol data unit (PDU). For example, while the 802.11ac wireless communication standard allows the transmission of a physical layer convergence procedure PDU (PPDU) to last up to 6 ms, the 802.11 ah wireless communication standard may allow the transmission of a PPDU to last up to 21 ms. As a result, a wireless device associated with a particular WLAN (or participating in a Wi-Fi peer-to-peer or ad hoc network) may not be able to sustain the transmission and/or reception of a PDU for the maximum period of time allowed by the applicable wireless communication standard without overheating and/or experiencing a degradation of its power supply.
Accordingly, a wireless network system is disclosed herein that allows a wireless device such as a station (STA) to control the transmission conditions associated with the exchange of data such as protocol data units (PDUs) between the STA and another wireless device such as an access point (AP) or another STA. In accordance with the present embodiments, the STA may determine a number of transmission conditions that are dependent upon one or more hardware constraints of the STA (e.g., battery type and/or size, maximum sustained current, overheating parameters, and so on), and then communicate the transmission conditions to the other wireless device. In response thereto, the other wireless device may selectively modify its data transmission, reception, and/or processing behavior when exchanging data with the STA so that the other wireless device processes PDUs according to the STA's transmission conditions. In this manner, the STA may exchange PDUs with the other wireless device in a manner that does not undesirably reduce the STA's power supply or overheat the STA.
The stations STA1-STA3 may be any suitable Wi-Fi enabled wireless devices including, for example, network-enabled sensors, memory tags (RFID tags), smart meters, cell phones, personal digital assistants (PDAs), tablet devices, laptop computers, or the like. For at least some embodiments, stations STA1-STA3 may include a transmitter/receiver circuit, one or more processing resources, one or more memory resources, and a power source (e.g., battery). The memory resources may include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, etc.) that stores instructions for performing operations described below with respect to
The AP 110 may be any suitable device that allows one or more wireless devices to connect to a network (e.g., a LAN, WAN, MAN, and/or the Internet) via AP 110 using Wi-Fi, Bluetooth, or any other suitable wireless communication standards. For at least one embodiment, AP 110 may include a network interface, one or more processing resources, and one or more memory sources. The memory resources may include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, etc.) that stores instructions for performing operations described below with respect to
Memory 240 may include a transmission conditions table 242 that stores a number of transmission conditions determined by and/or associated with STA 200. The transmission conditions may include information indicating (i) a maximum duration of time that STA 200 can spend receiving an individual PDU from another wireless device (e.g., from AP 110 or from another STA), (ii) a maximum duration of time that STA 200 can spend transmitting a PDU to the other wireless device, and/or (iii) a minimum duration of time that the other wireless device should wait after the transmission of a PDU before sending a subsequent PDU to STA 200. The transmission conditions table 242 may also store additional information including, for example, transmission conditions for one or more other wireless devices and/or compliance information indicating whether the one or more other wireless devices are able to exchange PDUs with STA 200 according to STA 200's transmission conditions.
Memory 240 may also include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, and so on) that can store the following software modules:
Processor 230, which is coupled to transmitter/receiver circuit 220, GNSS module 210, memory 240, and scanner 250, can be any suitable processor capable of executing scripts or instructions of one or more software programs stored in STA 200 (e.g., within memory 240). For example, processor 230 can execute frame exchange software module 244 to facilitate the creation and/or exchange of association request frames, probe REQ frames, response frames, management frames, control frames, and/or data frames with the AP 110 and/or one or more other STAs. Processor 230 can also execute PDU modification software module 246 to selectively modify the size/length of PDUs transmitted from STA 200 and/or to selectively modify how long STA 200 waits between transmissions of successive PDUs to another wireless device. Processor 230 can also execute operating conditions software module 248 to determine and/or selectively update one or more transmission conditions in response to a number of operating conditions (e.g., temperature, battery life, packet loss rates, encoding techniques) of STA 200.
Memory 330 includes a transmission conditions table 332 that stores transmission conditions for a number of wireless devices such as stations STA1-STA3 of
The transmission conditions table 332 may also store additional information including, for example, transmission conditions for AP 300 and/or for a number of other access points. For some embodiments, each entry of the transmission conditions table 332 includes a device field to store the name of a corresponding wireless device, a BSSID field to store the MAC address of the corresponding wireless device, a number of condition fields to store various transmission conditions for the corresponding wireless device, and/or a compliance field to store information indicating whether AP 300 can exchange data unit with the corresponding wireless device according to its transmission conditions.
Memory 330 also includes a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, and so on) that can store the following software modules:
Processor 320, which is coupled to network interface 310 and memory 330, can be any suitable processor capable of executing scripts or instructions of one or more software programs stored in AP 300 (e.g., within memory 330). For example, processor 320 can execute frame exchange software module 334 to facilitate the creation and/or exchange of probe frames, response frames, management frames, data frames, and/or other suitable types of frames with one or more STAs or another AP. Processor 320 can also execute PDU modification software module 336 to selectively modify the size/length of PDUs transmitted from AP 300 and/or to selectively modify how long AP 300 waits between transmissions of successive PDUs to another wireless device.
Each entry 402 of transmission conditions table 400 includes a device field, a BSSID field, a first conditions field (MAX_RX_PDU), a second conditions field (MAX_TX_PDU), a third conditions field (MIN_INTER_PDU), and a compliance field. The device field is to store a name or ID of a corresponding wireless device. The BSSID field is to store the MAC address of a corresponding wireless device. The first conditions field is to store an indication of a maximum duration of time (MAX_RX_PDU) that the corresponding wireless device can spend receiving an individual PDU from another wireless device. The second conditions field is to store an indication of a maximum duration of time (MAX_TX_PDU) that the corresponding wireless device can spend transmitting a PDU to another wireless device. The third conditions field is to store an indication of a minimum duration of time (MIN_INTER_PDU) that AP 300 should wait after the transmission of a PDU to the corresponding wireless device before sending a subsequent PDU to the corresponding wireless device. For example, due to hardware constraints, the corresponding wireless device may require a minimum duration of time to recover from a previous reception of a PDU from AP 300. The compliance field is to store information (e.g., yes or no) indicating whether AP 300 is able to comply with the transmission conditions for the corresponding wireless device.
For example, as depicted in
The durations of time stored in transmission conditions table 400 may be expressed as an absolute unit of time (e.g., in μs or ms) or as a relative unit of time. Thus, for some embodiments, the durations of time may be stored in transmission conditions table 400 as a number of constant time periods (e.g., a symbol time, a slot time, or a time unit (TU) such as milliseconds), while for other embodiments, the durations of time may be stored in transmission conditions table 400 as a fraction or percentage of a relative term (e.g., as a percentage of a maximum PDU length or size). Alternatively, the durations of time stored in transmission conditions table 400 may be expressed as the index of a pre-defined list of possible values (e.g., the values either indicated by AP 300 or defined in the applicable wireless protocol).
For other embodiments, the STA's transmission conditions may include a MAX_RX_PDU_Bytes value that indicates the maximum number of bytes that PDUs sent from AP 300 to the STA may contain. The value of MAX_RX_PDU_Bytes may indicate the maximum number of bytes contained in the packet service data unit (PSDU), the maximum number of bytes contained in a MAC packet data unit (MPDU), and/or the maximum number of bytes contained in an A-MSDU. The number of bytes may be signaled as a number of bytes or as an index in a list of predefined values.
For other embodiments, the STA's transmission conditions may include a MAX_Awake_Time value that indicates a maximum time period during which the STA is to be in an awake state to receive a number of PDUs and/or to sense the wireless communication medium (e.g., associated with WLAN 120 of
In operation, wireless devices such as AP 300 may use information stored in transmission conditions table 400 to selectively modify data units (e.g., PDUs or PPDUs) to be transmitted to one or more STAs according to transmission conditions provided by each of the STAs, even if the STAs have different transmission conditions. For example, when transmitting data to STA1 and STA2 (e.g., as unicast data), AP 400 may access the MAX_RX_PDU values for STA1 and STA2, and in response thereto (1) modify a PDU to be transmitted to STA1 so that it does not take longer than 20 ms for STA1 to receive the PDU and (2) modify a PDU to be transmitted to STA2 so that it does not take longer than 12 ms for STA2 to receive the PDU. For another example, AP 300 may access the MIN_INTER_PDU values for STA1 and STA2, and in response thereto (1) wait 0.8 ms after a first PDU has been transmitted to STA1 before transmitting a second PDU to STA1 and (2) wait 1.5 ms after a first PDU has been transmitted to STA2 before transmitting a second PDU to STA2.
In addition, for at least some embodiments, a STA may provide multiple durations of time for each transmission condition to AP 300 (or to another STA), thereby allowing the STA to support different MAX_RX_PDU times, different MAX_TX_PDU times, and/or different MIN_INTER_PDU times based on specific types of transmissions. For example, the values of one or more of MAX_RX_PDU, MAX_TX_PDU, and/or MIN_INTER_PDU for the STA may vary depending on the data encoding type (e.g., binary convolutional coding (BCC) encoding, low-density parity-check (LDPC) encoding, and so on), bandwidth or QoS parameters (e.g., best effort, guaranteed bandwidth), priority values, and/or the number of spatial streams of the PDU. For these embodiments, the transmission conditions table 400 may store, for each STA, a plurality of values for one or more of MAX_RX_PDU, MAX_TX_PDU, and/or MIN_INTER_PDU.
As mentioned above, embodiments of transmission conditions table 400 may also be implemented as transmission conditions table 242 of STA 200 of
Referring again to
An exemplary operation in which transmission conditions for a STA are provided to another wireless device (DEV) is described below with respect to the illustrative flow chart 500 of
First, the STA may determine, identify, or retrieve one or more transmission conditions for the STA (502). As mentioned above, the transmission conditions are based, at least in part, upon the STA's hardware constraints and may include information indicating (i) a maximum duration of time (MAX_RX_PDU) that the STA can spend receiving an individual PDU from another wireless device, (ii) a maximum duration of time (MAX_TX_PDU) that the STA can spend transmitting a PDU to the other wireless device, and/or (iii) a minimum duration of time (MIN_INTER_PDU) that the other wireless device should wait after the transmission of a first PDU to the STA before sending a subsequent PDU to the STA.
For some embodiments, the STA's transmission conditions may be predetermined and programmed (e.g., by the manufacturer of the STA) into memory resources of the STA (e.g., memory 240 of
Next, the STA embeds the transmission conditions into a frame to be sent to the other wireless device DEV (504), and then transmits the frame (along with the embedded transmission conditions) to the other wireless device (506). As mentioned above, the frame sent from the STA to the DEV may be any suitable frame including, for example, association request frames, probe REQ frames, response frames, management frames, control frames, and/or data frames. For one example, if the DEV is an AP that has transmitted a beacon frame to the STA, the STA may embed the transmission conditions into a response frame sent back to the DEV. Alternatively, if the STA has not received a beacon frame, the STA may embed the transmission conditions into an association request frame or probe REQ frame to the DEV. For another example, if the DEV is another STA, then the STA may embed the transmission conditions into an association request frame and/or other suitable frames exchanged between the devices (e.g., in a peer-to-peer or ad hoc wireless network).
Note that the STA may embed values for one or more of its transmission conditions into the capabilities element of the frame sent to the DEV. Alternatively, the STA may embed values for one or more of its transmission conditions into a new information element of the frame sent to the DEV.
The DEV receives the frame from the STA, extracts the STA's transmission conditions from the frame, and then stores the STA's transmission conditions in its look-up table (e.g., transmission conditions table 332 of
Then, the DEV may selectively process and/or modify PDUs in response the STA's transmission conditions (510), and thereafter transmit to the STA one or more PDUs that comply with the STA's transmission conditions (512). More specifically, in response to the STA's transmission conditions, the DEV may selectively discard PDUs having a data size or length that would take the STA longer than MAX_RX_PDU to receive, or the DEV may selectively modify the length of the PDUs to comply with the MAX_RX_PDU value. For some embodiments, the DEV may identify PDUs that exceed the value of MAX_RX_PDU and then fragment the PDU's data (i.e., the MPDU) into two or more smaller PDUs that each complies with the value of MAX_RX_PDU. For broadcast or multicast traffic, the DEV may convert the PDUs into unicast PDUs and then fragment each unicast PDU into two or more smaller PDUs that comply with the STA's transmission conditions.
After the transmission of the PDU to the STA, the DEV may wait for a period of time indicated by the value of MIN_INTER_PDU before sending a subsequent PDU to the STA (514). For example, due to hardware constraints, the STA may require a minimum duration of time to recover from a previous reception of a PDU from the DEV. Thus, instructing the DEV to wait for the minimum duration of time may allow the STA's battery and/or operating voltage to recover (e.g., increase) to a suitable level that allows for the reception of a subsequent PDU from the DEV.
In addition, the DEV may also decide to (i) not send frames to the STA that require a response longer than MAX_TX_PDU, (ii) exclude the STA from data exchanges that are incompatible with the MAX_TX_PDU value for the STA, and/or (iii) specifically include the STA in data exchanges that optimize the performance of the STA.
The STA receives PDUs sent from the DEV (516). Thereafter, for some embodiments, the STA may dynamically update its transmission conditions in response to current operating conditions such as, for example, temperature, battery life, packet loss rates, encoding techniques, and so on (518). For example, if the operating temperature increases, the STA may reduce the stored values for MAX_RX_PDU and/or MAX_TX_PDU. For another example, if the STA's battery life unexpectedly decreases, the STA may reduce the stored values for MAX_RX_PDU and/or MAX_TX_PDU.
The STA may then transmit the updated transmission conditions to the DEV using request frames, management frames, control frames, response frames, and/or data frames in the manner described above (520).
Note that although the flowchart 500 depicts data exchanges between one STA and one other wireless device DEV, the present embodiments are equally applicable to data exchanges between multiple STAs and the DEV as well as between the STA and multiple other wireless devices.
As depicted in
As depicted in
By exchanging data in a manner that satisfies the transmission conditions, large sustained current peaks of a STA's battery may be reduced, which in turn may not only prevent degradation of the battery but also prevent the STA from overheating.
In the foregoing specification, the present embodiments have been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader scope of the disclosure as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.
This application claims the benefit under 35 USC 119(e) of the co-pending and commonly owned U.S. Provisional Application No. 61/712,191 entitled “METHOD FOR CONTROLLING TRANSMISSION OF PROTOCOL DATA UNITS” filed on Oct. 10, 2012, the entirety of which is incorporated by reference herein, and claims the benefit under 35 USC 119(e) of the co-pending and commonly owned U.S. Provisional Application No. 61/722,697 entitled “METHOD FOR CONTROLLING TRANSMISSION OF PROTOCOL DATA UNITS” filed on Oct. Nov. 5, 2012, the entirety of which is incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
61712191 | Oct 2012 | US | |
61722697 | Nov 2012 | US |