This invention relates generally to wireless networks and more particularly to methods and apparatus for estimating packet collisions within such networks.
As is known in the art, Wireless Local Area Networks (WLAN) are becoming more and more popular nowadays due to their easy deployment and wide spread of WiFi interface cards. A Wi-Fi Alliance report finds that 1.2 million 802.11 chipsets will be produced in 2006.
Parallel to technological development, a flurry of analytical studies appeared in communication literature.
Experimental results and theoretical studies show that wireless networks may enter a saturation regime characterized by a highly suboptimal medium utilization. More specifically, standard rate adaptation mechanisms reduce transmission rates when multiple packet loss occurs. Yet if the packet loss is due to collision rather than bad channel (which is the working assumption for the rate adaptation mechanism) then the controller induces a higher probability of collision which snowballs in turn into an even lower throughput. Such a mechanism is used by the Automatic Rate Fallback (ARF) algorithm used in WLAN-II products from Lucent which assumes all packet losses are due to bad channel.
This scenario of use motivates us to analyze and build a packet loss detection mechanism which predicts, based on available information, the cause for packet loss: either packet collision, or bad channel.
Recently, there have been proposed two mechanisms to address this issue. Our method is different from these two as described in the next section.
Whitehouse et al. [K. Whitehouse et al, Exploiting the Capture Effect for Collision Detection and Recovery, The 2nd IEEE Workshop on Embedded Networked Sensors (EmNetS-II), May 2005] assume the packet header may be deciphered correctly by a receiving station (device, or access point), and hence based on the packet termination, one can infer whether there was a packet collision, or too low signal-to-noise ratio (SNR). However this may not happen in a large range of noisy condition, as showed by Yun et al [J.-H. Yun, S.-W. Seo, Collision Detection based on Transmisión Time Information in IEEE 802.11 Wireless LAN, Proceedings of the 4th Annual Inter. Conf. on Perv. Comp. Comm. Workshop (PERCOMW'06), 2006]. Instead, Yun et al, propose a deterministic scheme through which participating stations include temporal information relative to packet transmission/reception that can be used to predict when a collision happens. This approach, albeit very precise, has the back draw of modifying the MAC implementations on participating wireless stations.
In accordance with the present invention, a method is provided for estimating packet collisions within a wireless network. The method includes: for each transmit packet an Access Point (AP) of the network records statistics about transmission of information; based on this statistical information the AP computes: Total number of slot times generated during this transmission, n; Total number of deferrals, m; and Total number of unsuccessful transmissions, Q; and using a sequence (m,n,Q) of statistics for each access category (AC), the AP computes the probability of collision for unsuccessful packets, p.
Thus, in this invention the Access Point estimates the probability of collision for unsuccessful packet transmissions based solely on statistics available to its chipset or firmware.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.
Like reference symbols in the various drawings indicate like elements.
Referring now to
From the IEEE P802.11e D13.0 Jan. 2005) for IEEE 802.11e standard for wireless communication, the timing of DCF channel access is illustrated in
As described in such IEEE standard, the time interval between frames is called the IFS. A station (STA) determines that the medium is idle through the use of the carrier sense function for the interval specified. Four or five different IFSs are defined to provide priority levels for access to the wireless media; they are listed in order, from the shortest to the longest except for AIFS. Thus, as shown in
SIFS is Short Interframe Space;
PIFS is Point Coordination Function (PCF) Space;
DIFS is Distributed Coordination Function Space;
AIFS is Arbitration Interframe Space (used by the QoS facility); and
EIFS is the Extended Interframe Space.
The different IFSs are independent of the STA bit rate. The IFS timings are defined as time gaps on the medium, and those except for AIFS are fixed for each PHY (physical layer) (even in multirate-capable PHYs). The IFS values are determined from attributes by the PHY.
For each successful reception of a frame, the receiving station immediately acknowledges by sending an acknowledgement (ACK) frame. The ACK frame is transmitted after a short IFS (SIFS), which is shorter than the DIFS. Other stations resume the backoff process after the DIFS idle time. Because of the SIFS interval between the data and ACK frames, the ACK frame transmission is protected from other stations' contention. If an ACK frame is not received after the data transmission, the frame is retransmitted after another random backoff.
Internally, for each transmit packet, the Access Point (AP) is assumed to record several pieces of information. As an example of embodiment for our method, assume the following statistics are reported:
Based on these statistics, or any other similar parameters, the AP can compute the following:
For instance, based on previous list of statistics, (m,n,Q) are computed as follows:
m=m
n=(T−Tbusy−mTAIFS)/Tσ
Q=R+b (1)
where TAIFS is the Arbitration Inter Frame Spacing (AIFS) time, and Tσ is the slot time.
Given a sequence (m,n,Q) of statistics for each access category (AC), the AP implements the estimator described next to compute the probability of collision for unsuccessful packets, p, in Formula (A.2).
Once such an estimate has been obtained, we can estimate further:
The probability p, or set of probabilities Prob[d collisions in Q unsuccessful transmissions], are then used by the adaptation mechanisms described in co-pending patent application entitled, “Method and Apparatus to Inspect Wireless Traffic and Mitigate Packet Elimination for Wireless Saturation Avoidance” filed on the same date as this application, and assigned to the same assignee as the present application, identified as attorney docket 2008P12142US01, the entire subject matter thereof being incorporated herein by reference. It is herein noted however that s(t) referred to said copending patent application is equal the p(t) referred to hereinafter below, and furthermore, {tilde over (s)} is equal to {tilde over (p)}, which is computed based on p as follows:
{tilde over (p)}(t+W)=(1−αs){tilde over (p)}(t)+αs·p(t+W)
Assume input data is the sequence (mk,nk,Qk)k, indexed k, k is 1 to f, where f is the number of intervals over which the statistics are taken, as described below.
Referring to
Now the process makes the following assumption. Assume that over-the-air packet transmissions occur as a Poisson arrival process with rate λ in this modified time t′:
During current packet transmissions, the medium is busy due to other transmissions for a number M=m+D of times, where 0≦D≦Q. Therefore M is a random variable taking one of the following Q+1 possible values: {m, m+1, . . . , m+Q}.
M represented the number of arrivals of our Poisson process during the Tidle−mTAIFS time, where Tidle=t−Tbusy(t).
Then, writing the likelihood of having this data (m,n,Q) given parameters s and λ, we have:
where the remaining probability represents the probability of having exactly d collisions, hence m+d arrivals. This probability is expressed as (given the Poisson process hypothesis):
Putting these two together, and denoting Λ=λTσ we obtain:
In this likelihood we can relate further the two parameters, s and Λ. We make the observation that s represents the probability of a packet transmission, other than own transmission, in the next slot time. This implies:
s=1−e−Λ
or: Λ=−log(1−s). Given a sequence of observations (mk,nk,Qk)k for various time intervals, we obtain:
The Maximum Likelihood estimator (MLE) of p, the probability of collision, becomes:
{circumflex over (p)}
MLE=arg maxpP[Observation|s] (A.2)
The process is shown in the flowchart in
(For Example:
Successful transmission flag: b (0 if last transmission was successful, 1 if it was unsuccessful)).
Next, in Step 200, based on this statistical information the AP computes the following:
Next, in Step 300, the AP determines whether sufficient statistics have been obtained; if not, the process returns to Step 100. If sufficient statistics have been obtained, given a sequence (m,n,Q) of statistics for each access category (AC), the AP computes in Step 400 the probability of collision for unsuccessful packets, s, in accordance with equation A.2 above. Thus, the probability of collision for unsuccessful packets, s, provides a measure of the degree of packet congestion.
Having determined the degree of congestion being characterized by the probability of collision for unsuccessful packets, s, a method is used to control or shape packet traffic (herein referred to as a mitigation policy).
If the degree of congestion is greater than the determined threshold in Step 400 (
As described in such co-pending patent application, a mitigation policy defines the action to be taken depending on the degree of congestion. Above, a simple method based on comparison with a threshold is described. More complex control mechanisms can be implemented once the degree of congestion is estimated. For example a state machine can be implemented (called WiSAT below) where multiple thresholds in conjunction with the previous state of computation are used in order to determine the mitigation policy, that is the action to be taken in each state of the WiSAT state machine, shown in
A more complex saturation detector can be modeled using a finite state machine. In contrast to using instantaneous feature values as before to decide on saturation, the decision and actions to be taken depend also on the previous state, or previous measurements. The state machine is called the WiSAT state machine:
Referring now to
Particular statistics/thresholds/intervals for the classifier and smoothed classifier outputs
More precisely, the following components are necessary to define the state machine and the logic of the state machine:
Present state STATE (STATE=0 representing NonSAT, or non saturation; 1 representing PreSAT or pre-saturation, and 2 representing SAT or saturation)
Conditions Cij (i,j=0, 1, 2) define transitions between states of the following format:
C
ij=(p(t)oijδij)rij({tilde over (p)}(t)õij{tilde over (δ)}ij)
Where:
p(t),{tilde over (p)}(t) are the WiSAT estimates of the probability of collision and its smoothed value
oij,õij are relational parameters ≦ and > for p,{tilde over (p)} respectively
Sδij,{tilde over (δ)}ij are threshold parameters for p,{tilde over (p)} respectively
rij is one of the logical relational operators AND, OR
Examples (Note that unspecified conditions are defined such that all outgoing transition probabilities from one state add up to 1 and are mutually exclusive. Conditions Cij (i,j=0, 1, 2) are implemented as follows: (with 5 parameters renamed for simplicity of notation {tilde over (δ)}0={tilde over (δ)}01, δ0=δ01, {tilde over (δ)}1={tilde over (δ)}12, {tilde over (δ)}2={tilde over (δ)}21 corresponding to above general names)
Mitigation policy represents action to be taken in each state of the WiSAT state machine.
Algorithm: Act on Drop Rate N
Parameters:
Max and Min Drop Rate N0, NSAT
Critical Threshold {tilde over (γ)}
Output: N
where N=−1 means no packet is dropped; otherwise, for N>=0, it means one packet is dropped out of every N consecutive packets; NSAT=2 for example.
Note: If saturation does occur, then the last action taken while in PreSAT state could be continuously taken onwards, until a change of state is dictated by the conditions C21/C20.
Other Algorithms. Act on MAC Queue Length L
Other algorithm schemes, in addition to scheme 1 above, can be used to achieve similar effects:
Scheme 2. Design virtual queue length, L. Any incoming packet when the virtual queue is full will be dropped
Scheme 3. For each client, drop its every (m+1) packet;
Scheme 4. For each client drop the incoming packet if R packets for same client already are in the queue;
For example, scheme 2 proposes to focus on controlling the MAC queue length:
Parameters:
Maximum/Minimum MAC Queue Length L0 Lmin
Critical Threshold γ
Output: L
3. Compendium of WiSAT Parameters
We recommend a parameterized implementation of WiSAT in order to be able to tune parameters of two types, for implementation of the state machine:
Implementation of States
State memory and management s
State smoothing rates α0, α1, α2
s(t), replaced here by p(t) the probability of collision at a given time t
{tilde over (s)}(t), replaced here by {tilde over (p)}(t)
N(t) and parameters for computing N: N0, NSAT, β2, γ
Implementation of transitions for each state transition (i,j)
oij,õij relational parameters ≦ and > for p(t),{tilde over (p)}(t) respectively
δij,{tilde over (δ)}ij threshold parameters for p(t),{tilde over (p)}(t) respectively
rij logical relational operator AND, OR
For example, we have performed simulation of the WiSAT and mitigation policies (however with only with simulated decision of mitigation, without really intervening in the control loop to drop any packets) on the example state machine before, with the following parameters:
The classifier formula is simply given here by the probability of collision and the smoothed probability of collision, estimated regularly over periods such as 10 readings of 1100 msec, i.e. over windows of 1 sec, compared to appropriate thresholds or employed in a saturation logic (as described by the WiSAT state machine)
WiSAT classifier is able to take a decision every 100 msec: therefore the window (time step) W for WiSTATS and decision making is 100 msec
WiSAT computation of {tilde over (p)} for various states: α=α0=α1=α2=0.1;
State transition conditions (logic) Cij (i,j=0, 1, 2) given in the example
Classifier distance (WiSAT function) parameters for the state transitions: {tilde over (δ)}0, δ0, {tilde over (δ)}{tilde over (δ1)}, {tilde over (δ)}2, ε given in the example have the following values:
{tilde over (δ)}0=0.2, δ0=0.2, {tilde over (δ)}1=0.3, {tilde over (δ)}2=0.15
N algorithm parameters N0=45, NSAT=2, β2=430, {tilde over (γ)}=0.2, ε=0.6
A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other embodiments are within the scope of the following claims.
This application claims priority from U.S. Provisional application No. 60/989,278 filed Nov. 20, 2007, the entire subject matter thereof being incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60989278 | Nov 2007 | US |