TECHNIQUES FOR ADAPTING A RATE OF DATA TRANSMISSION
20170171780 ยท 2017-06-15
Inventors
Cpc classification
H04L47/25
ELECTRICITY
International classification
Abstract
Techniques for determining whether to adapt rates of data transmissions during point-to-point (P2P) communications are described. In an aspect, methods and apparatuses are described in which a transmitter device may identify a new rate of data transmission for a P2P connection with a receiver device, the new rate of data transmission being greater than a current rate of data transmission. Further, in an aspect, the transmitter device may determine a difference between a sensitivity of the receiver device associated with the current rate of data transmission and a sensitivity of the receiver device associated with the new rate of data transmission. Additionally, the transmitter device may compare the difference with one or more sensitivity thresholds. Finally, the transmitter device, based on the comparison, may determine whether to apply the new rate of data transmission to the P2P connection.
Claims
1. A method for wireless communications, comprising: identifying, at a transmitter device, a new rate of data transmission for a point-to-point (P2P) connection with a receiver device, the new rate of data transmission being greater than a current rate of data transmission; determining a difference between a sensitivity of the receiver device associated with the current rate of data transmission and a sensitivity of the receiver device associated with the new rate of data transmission; comparing the difference with one or more sensitivity thresholds; and determining, at the transmitter device and based on the comparison, whether to apply the new rate of data transmission to the P2P connection.
2. The method of claim 1, wherein determining whether to apply the new rate of data transmission comprises: determining whether application of the new rate of data transmission results in an increase in throughput for the P2P connection; and applying the new rate of data transmission to the P2P connection in response to a determination that application of the new rate of data transmission results in increased throughput for the P2P connection.
3. The method of claim 1, wherein: comparing the difference with the one or more sensitivity thresholds comprises determining that the difference is less than a first sensitivity threshold, and determining whether to apply the new rate of data transmission to the P2P connection comprises: determining whether a packet error rate (PER) of the current rate of data transmission is less than a PER threshold; and applying the new rate of data transmission to the P2P connection in response to a determination that the difference is less than a first sensitivity threshold and that the PER of the current rate of data transmission is less than the PER threshold.
4. The method of claim 1, wherein: comparing the difference with the one or more sensitivity thresholds comprises determining that the difference is greater than a first sensitivity threshold and less than a second sensitivity threshold, and determining whether to apply the new rate of data transmission to the P2P connection comprises applying the new rate of data transmission to Request-to-Send/Clear-to-Send (RTS-CTS) packet communications with the receiver device in response to a determination that the difference is greater than the first sensitivity threshold and less than the second sensitivity threshold.
5. The method of claim 4, wherein applying the new rate of data transmission to RTS-CTS packet communications with the receiver device comprises: transmitting to the receiver device an RTS packet indicating a transmit power of the transmitter device; and receiving from the receiver device a CTS packet indicating a transmit power of the receiver device of the transmitter for the new rate.
6. The method of claim 4, wherein applying the new rate of data transmission to RTS-CTS packet communications with the receiver device comprises: determining whether an RTS RETRY is exhausted based on a number of RTS packet retransmissions; determining whether the number of RTS packet retransmissions exceeds a retransmission threshold in response to a determination that the RTS RETRY is not exhausted; and applying the current rate of data transmission to the P2P connection in response to a determination that the number of RTS packet retransmissions exceeds the retransmission threshold.
7. The method of claim 4, wherein applying the new rate of data transmission to RTS-CTS packet communications with the receiver device comprises: determining whether one or more RTS packet transmissions are successfully received at the receiver device; applying the new rate of data transmission to the P2P connection in response to a determination that the one or more RTS transmissions are successfully received at the receiver device; and ceasing RTS-CTS packet communications with the receiver device.
8. The method of claim 1, wherein: comparing the difference with the one or more sensitivity thresholds comprises determining that the difference is greater than a first sensitivity threshold and a second sensitivity threshold, and determining whether to apply the new rate of data transmission to the P2P connection comprises applying the current rate of data transmission to RTS-CTS packet communications with the receiver device in response to a determination that the difference is greater than the first sensitivity threshold and the second sensitivity threshold.
9. The method of claim 1, wherein: comparing the difference with the one or more sensitivity thresholds comprises determining that the difference is greater than a first sensitivity threshold and a second sensitivity threshold, and determining whether to apply the new rate of data transmission to the P2P connection comprises applying a rate of data transmission corresponding to a previously successful rate of data transmission to RTS-CTS packet communications with the receiver device in response to a determination that the difference is greater than the first sensitivity threshold and the second sensitivity threshold.
10. The method of claim 9, further comprising receiving an indication from a CTS frame for a highest possible rate of data transmission and one or more reserve bits in a service field of the CTS frame for a transmit power.
11. The method of claim 1, determining whether to apply the new rate of data transmission to the P2P connection comprises communicating, with the receiver device, one or both of short data packets or null data packets at the current rate of data transmission or the new rate of data transmissions based on the comparison of the difference with the one or more sensitivity thresholds.
12. An apparatus for wireless communication, comprising: means for identifying, at a transmitter device, a new rate of data transmission for a point-to-point (P2P) connection with a receiver device, the new rate of data transmission being greater than a current rate of data transmission; means for determining a difference between a sensitivity of the receiver device associated with the current rate of data transmission and a sensitivity of the receiver device associated with the new rate of data transmission; means for comparing the difference with one or more sensitivity thresholds; and means for determining, at the transmitter device and based on the comparison, whether to apply the new rate of data transmission to the P2P connection.
13. An apparatus for wireless communication, comprising: a transceiver; a memory configured to store data; and one or more processors communicatively coupled with the transceiver and the memory, wherein the one or more processors and the memory are configured to: identify, at a transmitter device, a new rate of data transmission for a point-to-point (P2P) connection with a receiver device, the new rate of data transmission being greater than a current rate of data transmission; determine a difference between a sensitivity of the receiver device associated with the current rate of data transmission and a sensitivity of the receiver device associated with the new rate of data transmission; compare the difference with one or more sensitivity thresholds; and determine, at the transmitter device and based on the comparison, whether to apply the new rate of data transmission to the P2P connection.
14. The apparatus of claim 13, wherein the one or more processors and the memory are further configured to: determine whether application of the new rate of data transmission results in an increase in throughput for the P2P connection; and apply the new rate of data transmission to the P2P connection in response to a determination that application of the new rate of data transmission results in increased throughput for the P2P connection.
15. The apparatus of claim 13, wherein the one or more processors and the memory are further configured to: determine that the difference is less than a first sensitivity threshold, and determine whether a packet error rate (PER) of the current rate of data transmission is less than a PER threshold; and apply the new rate of data transmission to the P2P connection in response to a determination that the difference is less than a first sensitivity threshold and that the PER of the current rate of data transmission is less than the PER threshold.
16. The apparatus of claim 13, wherein the one or more processors and the memory are further configured to: determine that the difference is greater than a first sensitivity threshold and less than a second sensitivity threshold, and apply the new rate of data transmission to Request-to-Send/Clear-to-Send (RTS-CTS) packet communications with the receiver device in response to a determination that the difference is greater than the first sensitivity threshold and less than the second sensitivity threshold.
17. The apparatus of claim 16, wherein the one or more processors and the memory are further configured to: determine whether an RTS RETRY is exhausted based on a number of RTS packet retransmissions; determine whether the number of RTS packet retransmissions exceeds a retransmission threshold in response to a determination that the RTS RETRY is not exhausted; and apply the current rate of data transmission to the P2P connection in response to a determination that the number of RTS packet retransmissions exceeds the retransmission threshold.
18. The apparatus of claim 16, wherein the one or more processors and the memory are further configured to: determine whether one or more RTS packet transmissions are successfully received at the receiver device; apply the new rate of data transmission to the P2P connection in response to a determination that the one or more RTS transmissions are successfully received at the receiver device; and cease RTS-CTS packet communications with the receiver device.
19. The apparatus of claim 13, wherein the one or more processors and the memory are further configured to: determine that the difference is greater than a first sensitivity threshold and a second sensitivity threshold, and apply the current rate of data transmission to RTS-CTS packet communications with the receiver device in response to a determination that the difference is greater than the first sensitivity threshold and the second sensitivity threshold.
20. The apparatus of claim 13, wherein the one or more processors and the memory are further configured to: determine that the difference is greater than a first sensitivity threshold and a second sensitivity threshold, and apply a rate of data transmission corresponding to a previously successful rate of data transmission to RTS-CTS packet communications with the receiver device in response to a determination that the difference is greater than the first sensitivity threshold and the second sensitivity threshold.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The features, nature, and advantages of the present disclosure will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout, where dashed lines may indicate optional components or actions, and wherein:
[0012]
[0013]
[0014]
[0015]
[0016]
DETAILED DESCRIPTION
[0017] The detailed description set forth below in connection with the appended drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of various concepts. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. In some instances, well known components are shown in block diagram form in order to avoid obscuring such concepts. In an aspect, the term component as used herein may be one of the parts that make up a system, may be hardware or software, and may be divided into other components.
[0018] The present aspects generally relate to determining whether to adapt rates of data transmission during point-to-point (P2P) communications. In an aspect, for example, in some wireless communication networks, wireless stations may communicate with one another directly. This type of communication is often referred to as P2P communication and may occur using Wi-Fi techniques (e.g., Wi-Fi Direct or Wi-Fi P2P). The data rate of a wireless station in a P2P scenario may be adapted using a rate adaptation (RA) procedure in which the wireless station may attempt to ramp up the rate of data transmission when the current data rate is doing well. That is, the wireless station may attempt to transmit at a higher data rate to achieve higher throughput.
[0019] One issue that may arise is that the sensitivity of a receiver device (e.g., a receiving wireless station) may be different for different data rates. That is, hardware in the receiver device may have different sensitivities for the higher data rate that the RA procedure is trying to achieve and the current data rate that is being used. For example, when a data packet is transmitted at a data rate for which a link budget is not sufficient (e.g., the signal-to-noise (SNR) at the receiver device is not sufficient to properly handle the coding and modulation of that data rate); the data packet will likely need to be retransmitted. As a result, the throughput for that P2P connection will drop and so will the throughput of the overall network as a result of air bandwidth being misused (e.g., wasted). There are no mechanisms in place to know before actually transmitting at the higher data rate if such a data rate will be effective or not. Additionally, in user datagram protocol (UDP) and transmission control protocol (TCP) cases the packet length is (in general for peak throughput cases but not limited to) 1550 bytes. Therefore, such a long packet has to be retransmitted again, which results in delays and lower throughputs. Moreover, because an unsuccessful transmission could result from something other than receiver sensitivity (e.g., collision), most RA procedures may try to use the higher rate for a certain amount of time before deciding to reduce the data rate to a lower, more robust data rate. This in turn causes the throughput to be affected for some time before the transmitter device (e.g., the wireless station under test) realizes that the higher data rate it wants to achieve is not usable and falls back to the older data rate or to an even lower data rate depending on implementation. This situation tends to produce rate toggling during operations.
[0020] Accordingly, in some aspects, the present methods and apparatuses may provide an efficient solution, as compared to current solutions, by determining whether to adapt rates of data transmission during P2P communications. In other words, in the present aspects, a device may be capable of adapting a rate of data transmission. As such, the present aspects provide one or more mechanisms for identifying, at a transmitter device, a new rate of data transmission for a P2P connection with a receiver device, the new rate of data transmission being greater than a current rate of data transmission. The present aspects further provide for determining a difference between a sensitivity of the receiver device associated with the current rate of data transmission and a sensitivity of the receiver device associated with the new rate of data transmission. The present aspects further provide for comparing the difference with one or more sensitivity thresholds. The present aspects further provide for determining, at the transmitter device and based on the comparison, whether to apply the new rate of data transmission to the P2P connection.
[0021] Aspects of the disclosure are provided in the following description and related drawings directed to specific disclosed aspects. Alternate aspects may be devised without departing from the scope of the disclosure. Additionally, well-known aspects of the disclosure may not be described in detail or may be omitted so as not to obscure more relevant details. Further, many aspects are described in terms of sequences of actions to be performed by, for example, elements of a computing device. It will be recognized that various actions described herein can be performed by specific circuits (e.g., application specific integrated circuits (ASICs)), by program instructions being executed by one or more processors, or by a combination of both. Additionally, these sequence of actions described herein can be considered to be embodied entirely within any form of computer readable storage medium having stored therein a corresponding set of computer instructions that upon execution would cause an associated processor to perform the functionality described herein. Thus, the various aspects of the disclosure may be embodied in a number of different forms, all of which have been contemplated to be within the scope of the claimed subject matter. In addition, for each of the aspects described herein, the corresponding form of any such aspects may be described herein as, for example, logic configured to perform the described action.
[0022]
[0023] The APs (e.g., AP1 105-a and AP2 105-b) shown in
[0024] Each of STA1 115-a, STA2 115-b, and STA3 115-c may be implemented with a protocol stack. The protocol stack can include a physical layer for transmitting and receiving data in accordance with the physical and electrical specifications of the wireless channel, a data link layer for managing access to the wireless channel, a network layer for managing source to destination data transfer, a transport layer for managing transparent transfer of data between end users, and any other layers necessary or desirable for establishing or supporting a connection to a network.
[0025] Each of AP1 105-a and AP2 105-b can include software applications and/or circuitry to enable associated STAs to connect to a network via communications links 125. The APs can send frames to their respective STAs and receive frames from their respective STAs to communicate data and/or control information (e.g., signaling).
[0026] Each of AP1 105-a and AP2 105-b can establish a communications link 125 with an STA that is within the coverage area of the AP. Communications links 125 can comprise communications channels that can enable both uplink and downlink communications. When connecting to an AP, an STA can first authenticate itself with the AP and then associate itself with the AP. Once associated, a communications link 125 can be established between the AP and the STA such that the AP and the associated STA can exchange frames or messages through a direct communications channel.
[0027] While aspects of the present disclosure are described in connection with a WLAN deployment or the use of IEEE 802.11-compliant networks, those skilled in the art will readily appreciate, the various aspects described throughout this disclosure may be extended to other networks employing various standards or protocols including, by way of example, BLUETOOTH (Bluetooth), HiperLAN (a set of wireless standards, comparable to the IEEE 802.11 standards, used primarily in Europe), and other technologies used in wide area networks (WAN)s, WLANs, personal area networks (PAN)s, or other suitable networks now known or later developed. Thus, the various aspects presented throughout this disclosure for determining a device location may be applicable to any suitable wireless network regardless of the coverage range and the wireless access protocols utilized.
[0028] In one aspect, an STA or an AP as shown in
[0029] Referring to
[0030] In accordance with the present disclosure, STA1 115-a may include a memory 130, one or more processors 103 and a transceiver 106. The memory, one or more processors 103 and the transceiver 106 may communicate internally via a bus 11. In some examples, the memory 130 and the one or more processors 103 may be part of the same hardware component (e.g., may be part of a same board, module, or integrated circuit). Alternatively, the memory 130 and the one or more processors 103 may be separate components that may act in conjunction with one another. In some aspects, the bus 11 may be a communication system that transfers data between multiple components and subcomponents of the STA1 115-a. In some examples, the one or more processors 103 may include any one or combination of modem processor, baseband processor, digital signal processor, and/or transmit processor. Additionally or alternatively, the one or more processors 103 may include a rate adaptation component 30 for carrying out one or more methods or procedures described herein. The rate adaptation component 30 may comprise hardware, firmware, and/or software and may be configured to execute code or perform instructions stored in a memory (e.g., a computer-readable storage medium).
[0031] In some examples, the STA1 115-a may include the memory 130, such as for storing data used herein and/or local versions of applications or rate adaptation component 30 and/or one or more of its subcomponents being executed by the one or more processors 103. Memory 130 can include any type of computer-readable medium usable by a computer or processor 103, such as random access memory (RAM), read only memory (ROM), tapes, magnetic discs, optical discs, volatile memory, non-volatile memory, and any combination thereof. In an aspect, for example, memory 130 may be a computer-readable storage medium (e.g., a non-transitory medium) that stores computer-executable code. The computer-executable code may define one or more operations or functions of rate adaptation component 30 and/or one or more of its subcomponents, and/or data associated therewith. The computer-executable code may define these one or more operations or functions when STA1 115-a is operating processor 103 to execute rate adaptation component 30 and/or one or more of its subcomponents. In some examples, the STA1 115-a may further include a transceiver 106 for transmitting and/or receiving one or more data and control signals to/from the network 18 via AP2 105-b or STA3 115-c. The transceiver 106 may comprise hardware, firmware, and/or software and may be configured to execute code or perform instructions stored in a memory (e.g., a computer-readable storage medium). The transceiver 106 may include a radio 160 comprising a modem 165. In an aspect, the radio 160 supports a radio access technology that enables P2P connections such as a wireless local area network (WLAN) or a short distance communication protocol (e.g., Bluetooth radio). The radio 160 may utilize one or more antennas 102a for transmitting signals to and receiving signals from the STA3 115-c and/or AP2 105-b.
[0032] In an aspect, system 200 may include STA1 115-a, and which STA1 115-a may include a rate adaptation component 30 having a determining component 36 and a comparing component 42. For example, STA1 115-a may be configured for or may identify a new rate of data transmission (e.g., new rate 34) for a P2P connection (e.g., communication link 126) with a receiver device (e.g., STA3 115-c), the new rate 34 of data transmission being greater than a current rate 32 of data transmission. In an aspect, current rate 32 and new rate 34 may be provided in a list and/or table stored in memory 130 and/or provided via network 18. The current rate 32 and new rate 34 of data transmissions may be measured in megabits per second (Mbps). For example, STA1 115-a may configure current rate 32 of data transmission at 6 Mbps. Further, STA1 115-a may identify the new rate 34 of data transmission at either 9, 12, 24, or 36 Mbps. These possible new rates of data transmission may be identified from a list and/or table in which the new rates of data transmissions are associated with corresponding receiver sensitivities (e.g., sensitivity 38 and/or 40). Similarly, sensitivity 38 and sensitivity 40 may be provided in a list and/or table stored in memory 130 and/or provided via network 18. In an aspect, sensitivity 38 and sensitivity 40 may correspond to the minimum signal energy required to sustain a minimum quality at the output of a digital signal processor (DSP) block (e.g., 10% bit error rate). Further, sensitivity 38 and sensitivity 40 may be measured in decibel-milliwatts (dBm). In another aspect, current rate 32 and new rate 34 may be computed. In these aspects, rate adaptation component 30 may be configured to identify the proper rate (e.g., current rate 32 and new rate 34) and sensitivity (e.g., sensitivity 38 and sensitivity 40) based on the list and/or table. For example, rate adaptation component 30 may determine the current rate 32 and based on the list and/or table match a new rate 34 with the current rate 32. Similarly, rate adaptation component 30 may determine the sensitivity 38 and sensitivity 40 based on the list and/or table by comparing the sensitivities matched with the current rate 32 and the new rate 34, respectively.
[0033] In an aspect, STA1 115-a and/or rate adaptation component 30 may execute determining component 36 to determine a difference between a sensitivity 38 of the receiver device (e.g., STA3 115-c) associated with the current rate 32 of data transmission and a sensitivity 40 of the receiver device associated with the new rate 34 of data transmission. In this aspect, for example, sensitivity 38 may have a value of X dBm while sensitivity 40 may have a value of Y dBm, where X and Y are values greater than 1. In an aspect, the difference between sensitivity 38 of the receiver device (e.g., STA3 115-c) associated with the current rate 32 of data transmission and sensitivity 40 of the receiver device associated with the new rate 34 of data transmission may be measured in dB. For example, determining component 36 may determine whether application of the new rate 34 of data transmission results in an increase in throughput for the P2P connection between STA1 115-a and STA3 115-c. Rate adaptation component 30 may apply the new rate 34 of data transmission to the P2P connection in response to the determining component 36 determining that application of the new rate 34 of data transmission will result in an increase in throughput for the P2P connection. In a further aspect, determining component 36 may determine to apply the new rate 34 of data transmission based in part on the comparison of the difference between the sensitivity 38 of the receiver device (e.g., STA3 115-c) associated with the current rate 32 of data transmission and a sensitivity 40 of the receiver device associated with the new rate 34 of data transmission with one or more sensitivity thresholds 44.
[0034] In an aspect, STA1 115-a and/or rate adaptation component 30 may execute comparing component 42 to compare the difference between the sensitivity 38 of the receiver device (e.g., STA3 115-c) associated with the current rate 32 of data transmission and a sensitivity 40 of the receiver device associated with the new rate 34 of data transmission with one or more sensitivity thresholds 44. For example, the one or more sensitivity thresholds 44 may include a first threshold 46 and a second threshold 48. Both first threshold 46 and second threshold 48 may correspond to thresholds for sensitivity of the hardware of a receiving device. For example, first threshold 46 may have a value of THRES1 dBm, and second threshold 48 may have a value of THRES2 dBm, where THRES1 and THRES2 are values greater than 1. In an example, comparing component 42 may compare the difference with the one or more sensitivity thresholds 44 comprises determining that the difference is less than a first sensitivity threshold 46. For example, the current rate 32 of data transmissions is 6 Mbps, and sensitivity 38 is identified as X dBm, rate adaptation component 30 may determine whether to adjust the rate of data transmissions to new rate 34 of data transmissions (e.g., 9 Mbps) with a sensitivity 40 (e.g., Y dBm). Comparing component 42 may compare the difference between sensitivity 38 and sensitivity 40 (e.g., the difference=XY) and determine that the difference is less than THRES1. The determining component 36 may then determine whether a packet error rate (PER) of the current rate 32 of data transmission is less than a PER threshold. In an instance, the PER is the total number of data packets successfully transmitted for which an acknowledgement (ACK) signal was received divided by the total number of transmitted data packets. A data packet is declared as an error if the data packet is transmitted but an ACK signal is never received in response. In some instances, the PER threshold may be preconfigured or may be adjustable based on the current rate 32 of data transmission or a sensitivity 38 of the receiver device associate with the current rate 32 of data transmission. Rate adaptation component 30 may apply the new rate 34 of data transmission to the P2P connection in response to a determination, by determining component 36, that the difference is less than a first threshold 46.
[0035] In another aspect, comparing component 42 may be configured to determine that the difference between the sensitivity 38 of the receiver device (e.g., STA3 115-c) associated with the current rate 32 of data transmission and a sensitivity 40 of the receiver device associated with the new rate 34 of data transmission is greater than a first threshold 46 and less than a second threshold 48. For example, the current rate 32 of data transmissions is 6 Mbps, and sensitivity 38 is identified as X dBm, rate adaptation component 30 may determine whether to adjust the rate of data transmissions to new rate 34 of data transmissions (e.g., 18 Mbps) with a sensitivity 40 (e.g., Y dBm). Comparing component 42 may compare the difference between sensitivity 38 and sensitivity 40 (e.g., the difference=XY) and determine that the difference is greater than THRES1 but less than THRES2. As such, determining component 36 may be configured to determine whether to apply the new rate 34 of data transmission to the P2P connection by applying the new rate 34 of data transmission to Request-to-Send/Clear-to-Send (RTS-CTS) packet communications with the receiver device in response to a determination that the difference is greater than the first threshold 46 and less than the second threshold 48. In an instance, RTS-CTS packet communications is a mechanism used by wireless networking protocols to reduce frame collisions introduced by the hidden node problem. In an example, a first STA (e.g., STA1 115-a) initiates the process by sending a RTS packet 50. The second STA (e.g., STA3 115-c) receives the RTS packet 50 and responds with a CTS packet 52. The first STA must receive a CTS packet 52 before sending a data transmission. The CTS packet 52 also includes a time value that alerts other STAs and/or access points to hold off from accessing the communication medium while the first STA initiating the RTS packet 50 transmits its data. As stated, in this example, STA1 115-a and/or rate adaptation component 30 may be configured to transmit to the receiver device (e.g., STA3 115-c) an RTS packet 50 indicating a transmit power of the transmitter device (e.g., STA1 115-a). STA1 115-a and/or rate adaptation component 30 may be configured to receive from the receiver device a CTS packet 52 indicating a correct transmit power of the transmitter device of the transmitter for the new rate 34 of data transmission.
[0036] In certain instances, STA1 115-a and/or rate adaptation component 30 may need to retransmit the RTS packet 50 to the receiver device (e.g., STA3 115-c). For example, STA1 115-a and/or rate adaptation component 30 may not retransmit the RTS packet 50 if a CTS packet 52 has not been received within a certain period of time. In these instances, determining component 36 may be configured to determine whether a number of RTS packet retransmissions exceeds a retransmission threshold. Rate adaptation component 30 may then apply the current rate 32 of data transmission to the P2P connection in response to the determining component 36 determining that the number of RTS packet retransmissions exceeds the retransmission threshold. For example, the determining component 36 may configure the retransmission threshold at 50 percent (%). In other words, determining component 36 determines whether 50% of RTS packets are successfully transmitted. If determining component 36 determines that 50% of the RTS packets are not successfully transmitted then rate adaptation component 30 may proceed with adapting to the new rate 34 of data transmissions. However, if determining component 36 determines that 50% of the RTS packets are not successfully transmitted then rate adaptation component 30 may maintain the current rate 32 of data transmissions. Similarly, determining component 36 may determine whether the transmission of one or more RTS packets 50 are successfully transmitted to the receiver device. Rate adaptation component 30 may apply the new rate 34 of data transmission to the P2P connection in response to the determination that the one or more RTS packet 50 transmissions are successfully transmitted to the receiver device. Otherwise, rate adaptation component 30 may configure determining component 36 to continue monitoring whether one or more RTS packet 50 transmissions are successfully transmitted to the receiver device if one or more RTS packet 50 transmissions have yet to be successfully transmitted. Once rate adaptation component 30 has applied the current rate 32 or the new rate 34 of data transmission, rate adaptation component 30 may configure STA1 115-a to cease RTS-CTS packet communications with the receiver device.
[0037] In a further aspect, comparing component 42 may be configured to determine that the difference between the sensitivity 38 of the receiver device (e.g., STA3 115-c) associated with the current rate 32 of data transmission and a sensitivity 40 of the receiver device associated with the new rate 34 of data transmission is greater than a first threshold 46 and a second threshold 48. For example, the current rate 32 of data transmissions is 6 Mbps, and sensitivity 38 is identified as X dBm, rate adaptation component 30 may determine whether to adjust the rate of data transmissions to new rate 34 of data transmissions (e.g., 24 Mbps) with a sensitivity 40 (e.g., Y dBm). Comparing component 42 may compare the difference between sensitivity 38 and sensitivity 40 (e.g., the difference=XY) and determine that the difference is greater than THRES2. As such, rate adaptation component 30 may apply the current rate 32 of data transmission to RTS-CTS packet communications with the receiver device in response to a determination that the difference is greater than the first threshold 46 and the second threshold 48. In another aspect, rate adaptation component 30 may apply a rate of data transmission corresponding to a previously successful rate of data transmission to RTS-CTS packet communications with the receiver device in response to a determination that the difference is greater than the first threshold 46 and the second threshold 48. In this aspect, the previously successful rate of data transmission may correspond to the current rate 32 of data transmission or may correspond to a higher or lower rate of data transmission than the current rate 32 of data transmission (e.g., the new rate 34 of data transmission). In this aspect, STA1 115-a and/or rate adaptation component 30 may receive an indication from a CTS packet 52 for a highest possible rate of data transmission and one or more reserve bits in a service field of the CTS packet 52 for a transmit power.
[0038] In another aspect, determining component 36 may determine whether to apply the new rate 34 of data transmission to the P2P connection by determining whether to use one or both of short data packets or null data packets for communication. For example, determining component 36 may indicate to STA1 115-a and/or rate adaptation component 30 to communicate, with the receiver device (e.g., STA3 115-c), one or both of short data packets or null data packets at the current rate 32 of data transmission or the new rate 34 of data transmission based on the comparison of the difference between the sensitivity 38 of the receiver device (e.g., STA3 115-c) associated with the current rate 32 of data transmission and a sensitivity 40 of the receiver device associated with the new rate 34 of data transmission with one or more sensitivity thresholds 44.
[0039]
[0040] In an aspect,
[0041] In another aspect,
[0042] In another aspect,
[0043] Additionally,
[0044] Referring to
[0045] In an aspect, at block 402, method 400 includes identifying, at a transmitter device, a new rate of data transmission for a point-to-point (P2P) connection with a receiver device, the new rate of data transmission being greater than a current rate of data transmission. In an aspect, for example, STA1 115-a may execute rate adaptation component 30 to identify a new rate 34 of data transmission for a P2P connection with a receiver device (e.g., STA3 115-c), the new rate 34 of data transmission being greater than a current rate 32 of data transmission. In another aspect, block 402 may provide a means for identifying, at a transmitter device, a new rate of data transmission for a P2P connection with a receiver device, the new rate of data transmission being greater than a current rate of data transmission. For example, the means for identifying may correspond to one or more of a STA1 115-a, processor 103, or rate adaptation component 30.
[0046] In an aspect, at block 404, method 400 includes determining a difference between a sensitivity of the receiver device associated with the current rate of data transmission and a sensitivity of the receiver device associated with the new rate of data transmission. In an aspect, for example, STA1 115-a may execute rate adaptation component 30 and/or determining component 36 to determine a difference between a sensitivity 38 of the receiver device (e.g., STA3 115-c) associated with the current rate 32 of data transmission and a sensitivity 40 of the receiver device associated with the new rate 34 of data transmission. In another aspect, block 404 may provide a means for determining a difference between a sensitivity of the receiver device associated with the current rate of data transmission and a sensitivity of the receiver device associated with the new rate of data transmission. For example, the means for determining may correspond to one or more of a STA1 115-a, processor 103, rate adaptation component 30, or determining component 36.
[0047] In an aspect, at block 406, method 400 includes comparing the difference with one or more sensitivity thresholds. In an aspect, for example, STA1 115-a may execute rate adaptation component 30 and/or comparing component 42 to compare the difference with one or more sensitivity thresholds 44. In another aspect, block 406 may provide a means for comparing the difference with one or more sensitivity thresholds. For example, the means for comparing may correspond to one or more of a STA1 115-a, processor 103, rate adaptation component 30, or comparing component 42.
[0048] In an aspect, at block 408, method 400 includes determining, at the transmitter device and based on the comparison, whether to apply the new rate of data transmission to the P2P connection. In an aspect, for example, STA1 115-a, may execute rate adaptation component 30 and/or determining component 36 to determine based on the comparison, whether to apply the new rate 34 of data transmission to the P2P connection. In another aspect, block 408 may provide a means for determining, at the transmitter device and based on the comparison, whether to apply the new rate of data transmission to the P2P connection. For example, the means for determining may correspond to one or more of a STA1 115-a, processor 103, rate adaptation component 30, or determining component 36.
[0049] Referring to
[0050] Moreover, it should be understood that the following actions or components described with respect to the rate adaptation component 30 and/or its subcomponents may be performed by a specially-programmed processor, a processor executing specially-programmed software or computer-readable media, or by any other combination of a hardware component and/or a software component specially configured for performing the described actions or components.
[0051] In an aspect, at block 502, method 500 includes identifying, at a transmitter device, a new rate of data transmission for a point-to-point (P2P) connection with a receiver device, the new rate of data transmission being greater than a current rate of data transmission. In an aspect, for example, STA1 115-a may execute rate adaptation component 30 to identify a new rate 34 of data transmission for a P2P connection with a receiver device (e.g., STA3 115-c), the new rate 34 of data transmission being greater than a current rate 32 of data transmission.
[0052] In an aspect, at block 504, method 500 includes determining a difference between a sensitivity of the receiver device associated with the current rate of data transmission and a sensitivity of the receiver device associated with the new rate of data transmission. In an aspect, for example, STA1 115-a may execute rate adaptation component 30 and/or determining component 36 to determine a difference between a sensitivity 38 of the receiver device (e.g., STA3 115-c) associated with the current rate 32 of data transmission and a sensitivity 40 of the receiver device associated with the new rate 34 of data transmission.
[0053] In an aspect, at block 506, method 500 includes comparing the difference with one or more sensitivity thresholds. In an aspect, for example, STA1 115-a may execute rate adaptation component 30 and/or comparing component 42 to compare the difference with one or more sensitivity thresholds 44. For example, method 500 may proceed either to blocks 508, 510, or 512 depending on the comparison.
[0054] In an aspect, at block 508, method 500 includes determining that the difference is less than a first sensitivity threshold. In an aspect, for example, STA1 115-a may execute rate adaptation component 30 and/or comparing component 42 to determine that the difference is less than a first threshold 46.
[0055] In an aspect, at block 514, method 500 includes determining whether a PER of the current rate of data transmission is less than a PER threshold. In an aspect, for example, STA1 115-a may execute rate adaptation component 30 and/or determining component 36 to determine whether a PER of the current rate 32 of data transmission is less than a PER threshold. In an instance, if rate adaptation component 30 and/or determining component 36 determine that the PER of the current rate 32 of data transmission is less than a PER threshold, the method 500 may proceed to block 516. In another instance, if rate adaptation component 30 and/or determining component 36 determine that the PER of the current rate 32 of data transmission is not less than a PER threshold, the method 500 may proceed to block 518.
[0056] In an aspect, at block 516, method 500 includes applying the new rate of data transmission to the P2P connection. In an aspect, for example, STA1 115-a may execute rate adaptation component 30 to apply the new rate 34 of data transmission to the P2P connection.
[0057] In an aspect, at block 518, method 500 optionally includes applying the current rate of data transmission to the P2P connection. In an aspect, for example, STA1 115-a may execute rate adaptation component 30 to apply the current rate 32 of data transmission to the P2P connection.
[0058] In aspect, at block 510, method 500 includes determining that the difference is greater than a first sensitivity threshold and less than a second sensitivity threshold. In an aspect, for example, STA1 115-a may execute rate adaptation component 30 and/or comparing component 42 to determine that the difference is greater than a first threshold 46 and less than a second threshold 48.
[0059] In aspect, at block 520, method 500 includes applying the new rate of data transmission to RTS-CTS packet communications with the receiver device. In an aspect, for example, STA1 115-a may execute rate adaptation component 30 to apply the new rate 34 of data transmission to RTS-CTS packet (e.g., RTS packets 50 and CTS packets 52) communications with the receiver device (e.g., STA3 115-c).
[0060] In aspect, at block 522, method 500 includes determining whether one or more CTS packet transmissions are successfully received at the transmitter device. In an aspect, for example, STA1 115-a may execute rate adaptation component 30 and/or determining component 36 to determine whether one or more CTS packet 52 transmissions are successfully received at the transmitter device (e.g., STA1 115-a). In an instance, if rate adaptation component 30 and/or determining component 36 determine that one or more CTS packet 52 transmissions are successfully received at the transmitter device, the method 500 may proceed to block 526. In another instance, if rate adaptation component 30 and/or determining component 36 determine that one or more CTS packet 52 transmissions are not successfully received at the transmitter device, the method 500 may proceed to block 524.
[0061] In an aspect, at block 524, method 500 includes determining whether a RTS RETRY is exhausted. In an aspect, for example, STA1 115-a may execute rate adaptation component 30 and/or determining component 36 to determine whether a RTS RETRY, corresponding to the one or more RTS packets 50, is exhausted (e.g., no RTS packets (that have been retransmitted) were successfully communicated). In an instance, if rate adaptation component 30 and/or determining component 36 determine that the RTS RETRY is exhausted, the method 500 may proceed to block 526. In another instance, if rate adaptation component 30 and/or determining component 36 determine that the RTS RETRY is not exhausted, the method 500 may proceed to block 522.
[0062] In aspect, at block 526, method 500 includes determining whether a number of RTS packet retransmissions exceeds a retransmission threshold. In an aspect, for example, STA1 115-a may execute rate adaptation component 30 and/or determining component 36 to determine whether a number of RTS packet 50 retransmissions exceeds a retransmission threshold. In an instance, if rate adaptation component 30 and/or determining component 36 determine that a number of RTS packet 50 retransmissions exceeds a retransmission threshold, the method 500 may proceed to block 518. In another instance, if rate adaptation component 30 and/or determining component 36 determine that a number of RTS packet 50 retransmissions has not exceeded a retransmission threshold, the method 500 may return to block 522.
[0063] In aspect, at block 512, method 500 includes determining that the difference is greater than a second sensitivity threshold. In an aspect, for example, STA1 115-a may execute rate adaptation component 30 and/or comparing component 42 to determine that the difference is greater than a second threshold 48. As a result, method 500 may proceed to either optional block 526 or block 528 depending on the configuration of rate adaptation component 30 (
[0064] In an aspect, at block 528, method 500 optionally includes applying the current rate of data transmission to RTS-CTS packet communications with the receiver device. In an aspect, for example, STA1 115-a may execute rate adaptation component 30 to apply the current rate 32 of data transmission to RTS-CTS packet communications with the receiver device (e.g., STA3 115-c).
[0065] In an aspect, at block 530, method 500 optionally includes applying a rate of data transmission corresponding to a previously successful rate of data transmission to RTS-CTS packet communications with the receiver device. In an aspect, for example, STA1 115-a may execute rate adaptation component 30 to apply a rate of data transmission corresponding to a previously successful rate of data transmission to RTS-CTS packet communications with the receiver device (e.g., STA3 115-c).
[0066] In some aspects, an apparatus or any component of an apparatus may be configured to (or operable to or adapted to) provide functionality as taught herein. This may be achieved, for example: by manufacturing (e.g., fabricating) the apparatus or component so that it will provide the functionality; by programming the apparatus or component so that it will provide the functionality; or through the use of some other suitable implementation technique. As one example, an integrated circuit may be fabricated to provide the requisite functionality. As another example, an integrated circuit may be fabricated to support the requisite functionality and then configured (e.g., via programming) to provide the requisite functionality. As yet another example, a processor circuit may execute code to provide the requisite functionality.
[0067] It should be understood that any reference to an element herein using a designation such as first, second, and so forth does not generally limit the quantity or order of those elements. Rather, these designations may be used herein as a convenient method of distinguishing between two or more elements or instances of an element. Thus, a reference to first and second elements does not mean that only two elements may be employed there or that the first element must precede the second element in some manner. Also, unless stated otherwise a set of elements may comprise one or more elements. In addition, terminology of the form at least one of A, B, or C or one or more of A, B, or C or at least one of the group consisting of A, B, and C used in the description or the claims means A or B or C or any combination of these elements. For example, this terminology may include A, or B, or C, or A and B, or A and C, or A and B and C, or 2A, or 2B, or 2C, and so on.
[0068] Those of skill in the art will appreciate that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
[0069] Further, those of skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the aspects disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
[0070] The methods, sequences and/or algorithms described in connection with the aspects disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.
[0071] Accordingly, an aspect of the disclosure can include a computer readable medium embodying a method for dynamic bandwidth management for transmissions in unlicensed spectrum. Accordingly, the disclosure is not limited to the illustrated examples.
[0072] While the foregoing disclosure shows illustrative aspects, it should be noted that various changes and modifications could be made herein without departing from the scope of the disclosure as defined by the appended claims. The functions, steps and/or actions of the method claims in accordance with the aspects of the disclosure described herein need not be performed in any particular order. Furthermore, although certain aspects may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.