0704.1842/analysis.tex
1: \section{Weighted Fair Access between Uplink and Downlink Flows}
2: 
3: In this section, we first describe the simple analytical model we
4: propose in order to find the $AIFS$, $CW_{min}$, and $TXOP$
5: settings of the ACs that provide weighted fairness between uplink
6: and downlink flows.
7: %Since the calculated $CW_{min}$ values are not
8: %integers, we propose a practical extension of the BEB algorithm
9: %that uses integer $CW$ values to match the theoretical performance
10: %with non-integer $CW$ values.
11: %As most of the analytical studies in the literature, our analysis
12: %is accurate only for ideal conditions. The ideal condition
13: %assumption leads to analytical simplicity.
14: Next, we propose a parameter adaptation algorithm which
15: dynamically updates the analytically calculated CW and TXOP values
16: of the AP regarding simple network measurements. As we will
17: describe in Section~\ref{sec:tcpinter}, our dynamic solution also
18: addresses the effects of the slow-start phase of TCP.
19: % at the AP which converges to the appropriate $CW_{min}$ value in a couple of beacon intervals in
20: %the case of analytical inaccuracies at non-ideal conditions.
21: %We will also address the unfairness issues that may occur as a result of the
22: % flows which the studies in
23: %the literature have also missed. We show that assigning AP
24: %dynamically adjusted non-zero EDCA TXOPs overcomes this problem
25: %efficiently.
26: 
27: Every beacon interval, the AP announces the values of the
28: AC-specific EDCA parameters to the stations. The stations
29: overwrite their EDCA parameter settings with the new values if any
30: change is detected. Due to the specific design of the EDCA
31: Parameter Set element in the beacon packet, the stations can only
32: employ $CW$ values that are integer powers of 2, i.e., the AP
33: encodes the corresponding 4-bit fields of $CW_{min}$ and
34: $CW_{max}$ in an exponent form. A key point which the studies in
35: the literature have missed is that the CW settings of the ACs at
36: the AP are not restricted to the powers of 2. The ACs at the AP
37: may use any value and this value does not have to be equal to what
38: is announced via beacons.
39: 
40: \subsection{Analytical Model}\label{sec:analyticalmodel}
41: 
42: %Assuming slot homogeneity (constant collision and transmission
43: %probability at an arbitrary backoff slot) \cite{Bianchi00},
44: %\cite{Robinson04}, \cite{Hui05}, \cite{Inan07_ICC}, we model the
45: %BEB of the EDCA function for each traffic class. In the sequel, we
46: %use the terms, AC and Traffic Class (TC), interchangeably. As we
47: %will show,
48: Fair access between uplink and downlink flows using the same AC
49: can be provided by assigning different EDCA parameters for the AP
50: and the stations. This results in two Traffic Classes (TCs) using
51: the same AC. While uplink flows constitute the first TC, downlink
52: flows constitute the second TC. In the analysis, we will treat the
53: case with one AC (thus 2 TCs), since we address the weighted
54: fairness problem between the uplink and downlink flows that are
55: mapped to the same AC. Moreover, we only formulate the situation
56: when there is only one TC per station, therefore no internal
57: collisions can occur. Note that, this does not cause any loss of
58: generality, since the analysis can be extended for larger number
59: of ACs or TCs as in \cite{Inan07_cycle_trep}, and larger number of
60: ACs per station as in \cite{Kong04},\cite{Inan07_ICC}.
61: 
62: Our analysis considers the fact that the difference in AIFS
63: creates the so-called contention zones as shown in
64: Fig.~\ref{fig:contzones}
65: \cite{Inan07_cycle_trep},\cite{Robinson04},\cite{Hui05},\cite{Inan07_ICC}.
66: First, we calculate the average collision probability of each TC
67: according to the long term occupancy of AIFS and backoff slots in
68: saturation. The average collision probability of a TC is a
69: function of transmission probabilities of all TCs. Next, we
70: formulate the average transmission probability for each TC, which
71: is a function of average collision probability of the same TC.
72: This results in a set of nonlinear equations which can be solved
73: numerically.
74: 
75: We define $p_{c_{i,x}}$ as the probability that TC$_{i}$
76: experiences a collision given that it has observed the medium idle
77: for $AIFS_{x}$ and transmits in the current slot (note
78: $AIFS_{x}\geq AIFS_{i}$ should hold). For notational simplicity,
79: let uplink flows belong to TC$_{0}$ and downlink flows belong to
80: TC$_{1}$. Let $d_{i} = AIFSN_{i} - AIFSN_{min}$ where
81: $AIFSN_{min}=\min(AIFSN_{0}, AIFSN_{1})$ and
82: $AIFS_{i}=SIFS+AIFSN_{i}\cdot T_{slot}$. Following the slot
83: homogeneity assumption of \cite{Bianchi00}, assume that each
84: TC$_{i}$ transmits with constant probability, $\tau_{i}$. Also,
85: let the total number of TC$_{i}$ in the BSS be $N_{i}$ (note that
86: $N_{1}=1$). Then,
87: \begin{equation}
88: \label{eq:pcix} \setlength{\nulldelimiterspace}{0pt} p_{c_{i,x}} =
89: 1-\frac{\prod \limits_{i':d_{i'}\leq d_{x}}
90: (1-\tau_{i'})^{N_{i'}}}{(1-\tau_{i})}.
91: \end{equation}
92: 
93: We use the Markov chain shown in Fig.~\ref{fig:AIFSMC} to find the
94: long term occupancy of contention zones. Each state represents the
95: $n^{th}$ backoff slot after completion of the AIFS$_{min}$ idle
96: interval following a transmission period. The Markov analysis uses
97: the fact that a backoff slot is reached if no transmission occurs
98: in the previous slot. Moreover, the number of states is limited by
99: the maximum idle time between two successive transmissions which
100: is $W_{min}=\min(CW_{i,max})$ for a saturated scenario. The
101: probability that at least one transmission occurs in a backoff
102: slot in contention zone $x$ is
103: \begin{equation}
104: \label{eq:ptr} \setlength{\nulldelimiterspace}{0pt} p^{tr}_{x} =
105: 1-\prod_{i':d_{i'}\leq d_{x}} (1-\tau_{i'})^{N_{i'}}.
106: \end{equation}
107: 
108: The long term occupancy of the backoff slots $b'_{n}$ in
109: Fig.~\ref{fig:AIFSMC} can be obtained from the steady-state
110: solution. Then, the average collision probability $p_{c_{i}}$ is
111: found by weighing zone specific collision probabilities
112: $p_{c_{i,x}}$ according to the long term occupancy of contention
113: zones (thus backoff slots)
114: \begin{equation}
115: \label{eq:pci}p_{c_{i}} = \frac{\sum_{n=d_{i}+1}^{W_{min}}
116: p_{c_{i,x}}b'_{n}}{\sum_{n=d_{i}+1}^{W_{min}} b'_{n}}
117: \end{equation}
118: \noindent where $x = \max \left( y~|~d_{y} = \underset{z}{\max}
119: (d_{z}~|~d_{z} \leq n)\right)$ which shows $x$ is assigned the
120: highest index value within a set of TCs that have AIFSN smaller
121: than equal to $n+AIFSN_{min}$.
122: 
123: %This ensures that at backoff slot $n$, TC$_{i}$ has observed the
124: %medium idle for AIFS$_{x}$. Therefore, the calculation
125: %in~(\ref{eq:pci}) fits into the definition of $p_{c_{i,x}}$.
126: 
127: Given $p_{c_{i}}$, we can calculate the expected number of backoff
128: slots $E_{i}[t_{bo}]$ that TC$_{i}$ waits before attempting a
129: transmission. Let $W_{i,k} = 2^{\min(k,m_{i})}(CW_{i,min}+1)-1$ be
130: the CW size of TC$_{i}$ at backoff stage $k$ where $CW_{i,max} =
131: 2^{m_{i}}(CW_{i,min}+1)-1$, $0\leq m_{i} < r_{i}$. Note that, when
132: the retry limit $r_{i}$ is reached, any packet is discarded.
133: %Therefore, another $E_{i}[t_{bo}]$ passes between two
134: %transmissions with probability $p_{c_{i}}^{r_{i}}$.
135: \begin{equation}\label{eq:aveBO}
136: E_{i}[t_{bo}]=\sum_{n=0}^{\infty}(p_{c_{i}}^{r_{i}})^{n}\sum_{k=1}^{r}p_{c_{i}}^{k-1}(1-p_{c_{i}})\frac{W_{i,k}}{2}=\frac{1}{1-p_{c_{i}}^{r_{i}}}\sum_{k=1}^{r}p_{c_{i}}^{k-1}(1-p_{c_{i}})\frac{W_{i,k}}{2}.
137: \end{equation}
138: 
139: Then as also shown in \cite{Hui05}, the transmission probability
140: of TC$_{i}$ can be calculated as
141: \begin{equation}\label{eq:tauapp}
142: \tau_{i} = \frac{1}{E_{i}[t_{bo}]+1}.
143: \end{equation}
144: 
145: The nonlinear system of equations
146: (\ref{eq:pcix})-(\ref{eq:tauapp}) can be solved numerically to
147: calculate average collision and transmission probabilities of each
148: TC$_{i}$ for an arbitrary setting of EDCA parameters. We provide
149: the validation of the proposed analytical model in
150: \cite{Inan07_cycle_trep}.
151: 
152: \subsection{Weighted Fairness between Uplink and Downlink Flows}\label{sec:weightedfairness}
153: 
154: Let $\gamma_{i}$ be the probability that the transmitted packet
155: belongs to an arbitrary user from TC$_{i}$ given that the
156: transmission is successful. Also, let $p_{s_{i,n}}$ be the
157: probability that a successfully transmitted packet at backoff slot
158: $n$ belongs to AC$_{i}$. Then,
159: \begin{equation} \label{eq:gamma_i}
160: \gamma_{i} = \sum_{n=d_{i}+1}^{W_{min}}
161: b'_{n}\frac{p_{s_{i,n}}}{\sum \limits_{\forall j} p_{s_{j,n}}},
162: \end{equation}
163: \begin{equation}\label{eq:p_s_i_cycle}
164: p_{s_{i,n}} =
165: \left\{ \\
166: \begin{IEEEeqnarraybox}[\relax][c]{lc}
167: \frac{N_{i}\tau_{i}}{(1-\tau_{i})}\prod_{i':d_{i'}\leq
168: n-1}(1-\tau_{i'})^{N_{i'}}, &~{\rm if}~n \geq d_{i}+1 \\ 0, &~{\rm
169: if }~n < d_{i}+1.
170: \end{IEEEeqnarraybox}
171: \right.
172: \end{equation}
173: 
174: Let $U$ denote the utilization ratio between the downlink and the
175: uplink transmissions of an AC. Let $N_{TXOP,i}$ denote the maximum
176: number of packets that can fit in one TXOP of TC$_{i}$. Then, for
177: our running example with one AC,
178: \begin{equation}
179: \label{eq:U} U = \frac{\gamma_{1} \cdot N_{TXOP,1}}{\gamma_{0}
180: \cdot N_{TXOP,0}}.
181: \end{equation}
182: 
183: %If we let each TC$_{i}$ have an access weight of $w_{i}$,
184: %$\gamma_{i}/w_{i}$ should be equal for both traffic classes. Any
185: %combination of AIFS and CW values that satisfies this equality may
186: %be used.
187: 
188:  %In order to decrease
189: %the number of solutions that satisfies the same utilization ratio,
190: 
191: \subsubsection{Implementation of the Numerical Solution}
192: 
193: Without loss of generality, the EDCA parameters of the stations,
194: $AIFS_{0}$, $CW_{min,0}$, and $N_{TXOP,0}$, are fixed at
195: predetermined values . Then, the EDCA parameters of the TC at the
196: AP, $AIFS_{1}$, $CW_{min,1}$, and $N_{TXOP,1}$, that achieve a
197: required utilization ratio $U_{r}$ can be calculated numerically
198: as follows.
199: 
200: \begin{enumerate}
201: \item We assume AIFS differentiation is only used for the
202: prioritization between the ACs not the TCs (thus
203: $AIFS_{0}=AIFS_{1}$). \item When $AIFS_{0}=AIFS_{1}$, after some
204: algebra on (\ref{eq:gamma_i})-(\ref{eq:U}),
205: \begin{equation}
206: \label{eq:Usimp} U = \frac{\tau_{1}\cdot(1-\tau_{0})\cdot
207: N_{TXOP,1}}{\tau_{0}\cdot(1-\tau_{1})\cdot N_{TXOP,0}}.
208: \end{equation}
209: \noindent Therefore, $\tau_{1}$ can be written in terms of
210: $\tau_{0}$, $N_{TXOP,0}$, $N_{TXOP,1}$, and $U_{r}$. A numerical
211: solution for $\tau_{0}$ and $\tau_{1}$ for given $U_{r}$ and a
212: fixed value of $N_{TXOP,1}$ (initially, $N_{TXOP,1}=1$) is
213: obtained using (\ref{eq:pcix})-(\ref{eq:tauapp}). \item
214: $CW_{min,1}$ can be calculated as follows (the formula below is
215: obtained using (8) and (9) in \cite[Section IV-A]{Wu02}),
216: %\begin{equation}
217: %\label{eq:CWmin1} \setlength{\nulldelimiterspace}{0pt} CW_{min,i}
218: %=
219: %\left\{ \\
220: %\begin{IEEEeqnarraybox}[\relax][c]{ll} \frac{(2-\tau_{i})(1-p_{c_{i}}^{r_{i}})(1-2p_{c_{i}})(1-p_{c_{i}})}{\tau_{i}(1-p_{c_{i}})^{2}(1-(2p_{c_{i}})^{r_{i}})}-1, & ~ {\rm if}~m_{i} \geq r_{i} \\
221: %\frac{(2-\tau_{i})(1-p_{c_{i}}^{r_{i}})(1-2p_{c_{i}})(1-p_{c_{i}})}{\tau_{i}(1-p_{c_{i}})^{2}(1-(2p_{c_{i}})^{m_{i}+1})+\tau_{i}2^{m_{i}}p_{c_{i}}^{m_{i}+1}(1-2p_{c_{i}})(1-p_{c_{i}})(1-p_{c_{i}}^{r_{i}-m_{i}-1})}-1,
222: %& ~ {\rm if} ~ m_{i}<r_{i}.
223: %\end{IEEEeqnarraybox}
224: %\right.
225: %\end{equation}
226: \begin{equation}
227: \label{eq:CWmin1}CW_{min,i} =
228: \frac{2-\tau_{i}}{\tau_{i}}\cdot\frac{(1-p_{c_{i}}^{r_{i}})(1-2p_{c_{i}})(1-p_{c_{i}})}{(1-p_{c_{i}})^{2}(1-(2p_{c_{i}})^{m_{i}+1})+2^{m_{i}}p_{c_{i}}^{m_{i}+1}(1-2p_{c_{i}})(1-p_{c_{i}})(1-p_{c_{i}}^{r_{i}-m_{i}-1})}-1.
229: \end{equation}
230: \item A simple controller block checks whether the prioritization
231: among ACs are maintained or not for the new configuration. This
232: block ensures that $CW_{min}$ of a low priority AC (at the AP or a
233: station) is not smaller than $CW_{min}$ of a higher priority AC.
234: Therefore, if analytically calculated $CW_{min,1}$ value does not
235: satisfy the controller block requirements, $N_{TXOP,1}$ is doubled
236: and the algorithm returns to step 3. The larger $N_{TXOP,1}$ is,
237: the larger $CW_{min,1}$ will be. \item If the calculated
238: $CW_{min,1}$ is not an integer, it is rounded to the closest
239: integer value.
240: \end{enumerate}
241: 
242: A few remarks on the implementation are as follows.
243: \begin{itemize}
244: \item A numerical solution also exists when $AIFS_{0}$ and
245: $AIFS_{1}$ are not equal, but the implementation differs since
246: (\ref{eq:Usimp}) does not hold. In such a case, $AIFS_{1}$ is also
247: assigned an initial value as $N_{TXOP,1}$ and the nonlinear system
248: of equations (\ref{eq:pcix})-(\ref{eq:U}) is solved numerically.
249: According to the controller block requirements on $CW_{min,1}$,
250: the procedure may be repeated for updated values of $AIFS_{1}$ and
251: $N_{TXOP,1}$. \item As previously mentioned, our formulation is
252: valid for the situation when there is only one TC per station
253: (including the AP). As an approximation, we assume that
254: (\ref{eq:pcix})-(\ref{eq:U}) still holds when there are multiple
255: TCs at the AP. Indeed as only a few collisions are avoided when
256: the internal collision procedure is run at the AP \cite{Banchs06},
257: the solution of (\ref{eq:pcix})-(\ref{eq:U}) will be very close to
258: an extension that exactly formulates the virtual collisions at the
259: AP. In this case, if the AIFS values of TCs within an AC remains
260: equal, it can be shown that (\ref{eq:Usimp}) still holds for the
261: TCs of the same AC. Therefore, we use the implementation procedure
262: previously stated for scenarios when larger number of ACs exist as
263: long as there is one AC (or TC) per station and multiple TCs at
264: the AP.
265: \end{itemize}
266: 
267: %The numerical analysis is carried out for fixed values of
268: %$N_{TXOP,1}$. The larger $N_{TXOP,1}$ is, the larger $CW_{min,1}$
269: %will be.
270: 
271: %Then, the TC at the AP
272: %may use any valid $CW_{min}$ and $TXOP$ combination for weighted
273: %uplink and downlink fairness. On the other hand, a controller
274: %block should decide on the best combination regarding the
275: %requirements of the existing traffic flows in the WLAN. The design
276: %of the controller block is left for future study.
277: %The details on the implementation of the numerical solution, a
278: %computationally efficient approximate method, and the quantitative
279: %analysis of the inaccuracy that the rounding operation brings can
280: %be found in \cite{Keceli07_fair_trep}. Note also that the proposed
281: %dynamic adaptation that will be described in the sequel removes
282: %the slight inaccuracy observed due to rounding.
283: 
284: %The definition of the EDCA function imposes the AIFS and CW values
285: %to be integer values. Actually, the algorithm we will describe in
286: %Section~\ref{sec:BEBalgorithm} releases this requirement on CW
287: %values. Therefore, for fixed values of $AIFS_{1}$, the nonlinear
288: %system of equations (\ref{eq:pcix})-(\ref{eq:p_s_i_cycle})
289: %can be solved numerically to determine $CW_{min,1}$ that satisfies
290: %the weighted fairness equality. The AP may use any valid
291: %$AIFS_{1}$ and $CW_{min,1}$ combination.
292: 
293: %The proposed model uses the instantaneous number of active
294: %stations in the calculation. The 802.11e standard requires each
295: %multimedia flow to run a QoS reservation procedure with the AP for
296: %QoS provision and admission control. Therefore, the information on
297: %the number of active multimedia flows is readily available at the
298: %AP. On the other hand, such a restriction does not apply to
299: %best-effort data flows. The approach in \cite{Bianchi03} can be
300: %used to estimate the number of active data stations. The study of
301: %such an algorithm is out of the scope of this paper.
302: 
303: \subsubsection{Proposed BEB Algorithm for non-integer CW
304: values}\label{sec:BEBalgorithm}
305: 
306: As specified in \cite{802.11e}, the initial value of $CW$ is set
307: to the AC-specific $CW_{min}$. At each unsuccessful transmission,
308: the value of $CW$ is doubled until the maximum AC-specific
309: $CW_{max}$ limit is reached. The value of $CW$ is reset to the
310: AC-specific $CW_{min}$ if the transmission is successful, or the
311: retry limit is reached thus the packet is dropped.
312: 
313: The proposed analytical calculation for weighted fairness may
314: decide a non-integer value of $CW_{min,1}$ thus $W_{1,k}$,
315: $k<r_{1}$. The simplest approach is rounding to the closest
316: integer and employing the rounded value in the BEB.
317: 
318: Instead, we also propose the AP to choose integer $W'_{1,k}$
319: values from a probability distribution that satisfies $E[W'_{1,k}]
320: = W_{1,k}$. For example, it is straightforward to show a simple
321: discrete probability distribution such as ${\rm Pr}(W'_{1,k} =
322: \lfloor W_{1,k} \rfloor) = \lceil W_{1,k} \rceil-W_{1,k}$ and
323: ${\rm Pr}(W'_{1,k} = \lceil W_{1,k} \rceil) = W_{1,k}-\lfloor
324: W_{1,k} \rfloor$ holds. According to the proposed algorithm, the
325: EDCA function at the AP decides on the interval $(0,W'_{1,k})$ to
326: select the backoff value regarding the given simple discrete
327: probability distribution.
328: 
329: Fig. \ref{fig:BEB} shows the downlink/uplink access ratio for
330: increasing number of uplink and downlink flows. We assume equal
331: $AIFSN=2$ for all the stations and the AP, and analytically
332: calculate $CW_{min,1}$ that achieves downlink/uplink access ratio
333: of $U_{r}=1$ when $CW_{min,0}=127$, $N_{TXOP,0}=1$, and
334: $N_{TXOP,1}$ is varied from 1 to 4. The performance of rounding
335: the analytically calculated CW values is compared with the
336: performance of the proposed BEB algorithm that uses the stated
337: discrete probability distribution function. As the results imply,
338: the proposed BEB algorithm maintains perfect weighted fairness
339: while rounding the analytically calculated value may result in
340: slight inaccuracies in terms of utilization ratio. As the number
341: of uplink stations increase, $CW_{min,1}$ that achieves $U_{r}=1$
342: decreases. As Fig. \ref{fig:BEB} shows the effect of rounding is
343: much more noticeable when $CW_{min,1}$ is small. The effect of
344: rounding becomes negligible as $N_{TXOP,1}$ (thus $CW_{min,1}$) is
345: increased.
346: 
347: 
348: \subsection{Dynamic Parameter Adaptation}\label{sec:dynalgorithm}
349: 
350: The IEEE 802.11 infrastructure BSS exhibits some non-ideal
351: conditions which most of the analytical models ignore to maintain
352: simplicity. For example,
353: \begin{itemize}
354: \item
355: %The proposed model uses the instantaneous number of active
356: %stations in the calculation. However,
357: Accurate information on the instantaneous number of active flows
358: may not always be available to the AP \cite{Bianchi03}.
359: %The
360: %802.11e standard requires each multimedia flow to run a QoS
361: %reservation procedure with the AP for QoS provision and admission
362: %control.
363: %Therefore, the
364: %information on the number of active multimedia flows can be
365: %readily available at the AP.
366: %On the other hand, such a restriction
367: %does not apply to best-effort data flows.
368: %The approach in
369: %\cite{Bianchi03} can be used to estimate the number of active data
370: %stations.
371: \item
372: %We have observed that even with the theoretically fair EDCA
373: %settings, the AP receives higher throughput than the stations in
374: %some simulation scenarios. Note that
375: If a station and the AP collide, the station's transmission
376: results in failure since the destination (the AP) is not in listen
377: mode. However, there is some probability that the transmission of
378: the AP results in success as a consequence of the capture effect
379: depending on the spatial distribution and the power levels of the
380: stations \cite{JKLee99}.
381: \end{itemize}
382: 
383: Such non-ideal conditions make finding the optimum EDCA setting
384: analytically hard for any scenario. This also limits the use of
385: proposed BEB algorithm for non-integer CW values. We propose a
386: simple model-assisted measurement-based dynamic algorithm to adapt
387: the analytically calculated $CW_{min}$ values for such scenarios.
388: 
389: The AP carries out the dynamic adaptation for each AC every
390: $\beta$ beacon intervals which is called an \textit{adaptation
391: interval} in the sequel. If it is detected as a new flow starting
392: transmission or as an old flow becoming inactive at the last
393: adaptation interval, the algorithm decides on new \textit{good}
394: EDCA parameters using the proposed analytical model which results
395: in weighted fair resource allocation for the estimated number of
396: uplink and downlink flows in ideal conditions. Otherwise, fine
397: tuning on the $CW$ and the $TXOP$ values of the AC at the AP is
398: carried out to make measured $U$ as close as to $U_{r}$.
399: 
400: We use a simple algorithm to estimate the number of active flows.
401: More advanced approaches \cite{Bianchi03} can also be used. The AP
402: counts the number of unique source and destination MAC addresses
403: observed from incoming frames to estimate the number of uplink and
404: downlink flows respectively. Let $n_{u}$ and $n_{d}$ denote the
405: number of uplink and downlink flows labeled as active. If the AP
406: receives a packet with the corresponding MAC address not on its
407: list, it adds the new MAC address to the list and increments
408: $n_{u}$ or $n_{d}$. If the AP does not receive any packet with the
409: corresponding MAC address during the last adaptation interval, it
410: deletes the MAC address from the list and decrements $n_{u}$ or
411: $n_{d}$. Then, we define the required utilization ratio as
412: \begin{equation}
413: \label{eq:Ur} U_{r}=\frac{n_{d}}{n_{u}}.
414: \end{equation}
415: 
416: If $U_{r}$ has been changed during the last adaptation interval,
417: EDCA parameters are analytically calculated for $U=U_{r}$ and the
418: fine tuning phase is skipped. Otherwise, solely fine tuning on
419: $CW_{min}$ is performed as follows. Every adaptation interval, the
420: AP measures the number of successful uplink and downlink
421: transmissions, $n_{t_{u}}$ and $n_{t_{d}}$ respectively where
422: $n_{t_{d}}/n_{t_{u}}$ is the measured $U$ of the last adaptation
423: interval. If $\frac{n_{t_{d}}}{n_{t_{u}}} < (1-\alpha) \cdot
424: U_{r}$, then $CW_{min,1}$ is decremented (where $0\leq \alpha \leq
425: 1$). Similarly, if $\frac{n_{t_{d}}}{n_{t_{u}}}
426: > (1+\alpha) \cdot U_{r}$, then $CW_{min,1}$ is incremented.
427: Otherwise, no action is taken. Note that using steps equal in
428: value to 1 in the $CW_{min}$ adaptation is sufficient since the
429: analytical calculation will provide a good initial guess.
430: %Such fine tuning removes additional analytical inaccuracies if they
431: %exist.
432: 
433: %A controller block should also check whether the prioritization
434: %among ACs are maintained or not. For example, $CW_{min}$ of a low
435: %priority AC (at the AP or a station) should not be smaller than
436: %$CW_{min}$ of a higher priority AC. Since the analytical
437: %calculation fixes the station parameters and calculates the AP
438: %settings accordingly, an appropriate initial selection for station
439: %parameters can result in AP settings that maintain prioritization
440: %between ACs.
441: 
442: \subsection{TCP-MAC Interactions}\label{sec:tcpinter}
443: 
444: TCP defines a reliable bi-directional communication where the
445: forward link data rate depends on the rate of the received ACK
446: packets in the backward link. This behavior of TCP constitutes the
447: main difference between TCP and UDP access in the WLAN. The key
448: observation is that, if we assume there are no packet losses in
449: TCP connections (infinitely large interface buffers at the AP and
450: the stations), the TCP access is fair irrespective of the EDCA
451: parameter selection (which is not the case for UDP). This is due
452: to the fact that the slow link limits the throughput for all TCP
453: flows. However, when the buffer size at the AP (bottleneck) is
454: limited, significant unfairness and low channel utilization is
455: experienced as previously shown in Fig.~\ref{fig:ind_thput}.
456: Therefore, for fair resource allocation and high channel
457: utilization, packet losses at the AP buffer should be minimized.
458: %The studies in the literature try to achieve
459: %this objective using different strategies.
460: We configure our adaptation algorithm considering the TCP dynamics
461: to achieve this objective.
462: 
463: None of the work in the literature on IEEE 802.11 MAC
464: upload/download fairness considered the asymmetry in the forward
465: and backward link packet rate during the slow-start phase of the
466: TCP connections. During the slow-start phase, the packet rate in
467: the forward link is twice the packet rate in the backward link.
468: When the congestion avoidance phase is entered, the forward and
469: the backward link packet rates become equal. When this asymmetry
470: during slow-start is neglected, the download traffic is penalized
471: with longer queueing delays.
472: %Neglecting the effects of slow-start results in long packet delays in the AP
473: %buffer.
474: Depending on the buffer availability, significant packet
475: loss may even occur during the slow-start. These may considerably
476: affect the short-term fairness and the channel utilization.
477: 
478: Our solution is simple yet effective. Considering each TCP data
479: and ACK streams of each connection as individual active flows, the
480: parameter adaptation algorithm of Section \ref{sec:dynalgorithm}
481: is used. Since TCP is fair irrespective of the EDCA parameter
482: selection as long as there are no packet losses, fine tuning on
483: $CW_{min}$ is always skipped. Therefore, the AP does not have to
484: measure $n_{t_{u}}$ and $n_{t_{d}}$. On the other hand, fine
485: tuning is carried out on TXOP assignments to overcome increased
486: rate of downlink TCP data flows during slow-start. Since the
487: forward to backward link packet rate ratio is 2 during the
488: slow-start, the analytically calculated TXOP duration is
489: multiplied by 2. Our approach is adapting the duration of the TXOP
490: depending on the number of packets buffered at the interface
491: queue. If the number of packets goes over a threshold value $th$,
492: doubled TXOPs are enabled until the number goes below the
493: threshold again.
494: %Since any unused portion of EDCA TXOP is
495: %returned, the AP may always stick with fixed duration EDCA TXOPs.
496: %On the other hand, such an approach may result in marginally
497: %higher downlink weight.
498: 
499: Assigning best-effort data flows a non-zero TXOP or a small
500: $CW_{min}$ may not be a favorable approach when multimedia flows
501: coexist in the WLAN. The controller block located at the AP should
502: check whether the QoS for admitted realtime flows is preserved or
503: not in the WLAN with the $CW_{min}$ and $TXOP$ values calculated
504: for uplink/downlink fairness.
505: 
506: %On the other hand, changing these values only for one station
507: %(only the AP according to the proposed approach) does not
508: %considerably affect the QoS of existing flows as we will show in
509: %Section \ref{sec:simulations}.
510: