Abstract:
An embodiment of a system for optimizing operation of a mobile station in a wireless communication network such as a WLAN by adapting the physical (PHY), medium access control (MAC), and application settings of a mobile station therein includes a network status estimation module to evaluate the channel conditions of a wireless channel to serve the mobile station in terms of transmission failure probability due to noise and interference, respectively, a transmission characterization module to determine expected network performance as a function of the settings of PHY, MAC and application parameters in the current channel conditions as evaluated by the network status estimation module, a quality evaluation module to determine the expected quality of communication for the mobile station as a function of different channel performance metrics, and a quality maximization module to interact with the characterization and quality evaluation modules to identify and select the settings of PHY, MAC and application parameters for the mobile station that provide an optimum quality for the mobile station.

Description:
CROSS-LAYER OPTIMIZATION IN MULTIMEDIA COMMUNICATIONS RELATED APPLICATION DATA 
       [0001]    This application is related to the U.S. patent application Ser. No.: ______ entitled LINK ADAPTATION IN WIRELESS NETWORKS (Attorney Docket No.: 2110-307-03) filed Dec. 31, 2008 and which is incorporated herein in its entirety. 
     
    
     TECHNICAL FIELD 
       [0002]    This disclosure relates to wireless communication systems. This disclosure was devised with attention paid to its possible use in multimedia communications. 
       BACKGROUND 
       [0003]    Standards such as IEEE 802.11 (ANSI/IEEE Std 802.11, 1999 edition) specify the Medium Access Control (MAC) and PHYsical (PHY) layer characteristics for wireless local area networks (WLANs). 
         [0004]    PHY specifications define a plurality of PHY modes for use in the transmission of each frame. Each PHY mode uses a particular modulation and channel coding scheme, and provides different performance levels in terms of transmission duration, overhead, as well as reliability with respect to noise and interference power. 
         [0005]    MAC specifications define a Stop&amp;Wait Automatic Retransmission reQuest (ARQ) scheme to enhance wireless link reliability: each MAC frame is transmitted and retransmitted until a positive acknowledgement is returned by the receiver or the maximum number of allowed retransmissions is exceeded. This last parameter is controlled by means of the MAC Retry Limit (RL) setting. High RL values enhance the reliability of end-to-end communication, while lower RL values yield lower end-to-end delay and jitter. 
         [0006]    Multimedia communications include several types of applications and services, such as interactive voice and video communications. Generally, such applications use a Real-time Transport Protocol (RTP) in conjunction with different application standards such as H.263 and MPEG-4 (for video), and G.711 and G.729 for voice. 
         [0007]    These standards permit use of a variety of configurations for multimedia communications, having different characteristics in terms of packet size and application bit rate. The performance level of each configuration is affected by network performance: e.g. packet delay, jitter, and loss rate may affect the quality of service perceived by the end user. This effect is strong in wireless communication systems such as Wireless Local Area Networks (WLANs); there, the propagation environment changes over time and space due to factors such as mobility and interference, and network performance varies accordingly. Therefore, it is reasonable to say that no PHY, MAC, or application setting exists which can be regarded as optimal under all possible conditions. 
       SUMMARY 
       [0008]    An embodiment of this disclosure is a cross-layer optimization scheme with the purpose of selecting PHY, MAC, and application settings that provide the best end-user perceived quality, depending on the conditions of the wireless channel. 
         [0009]    Another embodiment of this disclosure is an arrangement for adapting the PHY, MAC, and application settings of a mobile station in a wireless local area network (WLAN) according to the estimated channel and interference conditions, to enhance the quality of multimedia communications involving such a mobile station. 
         [0010]    One or more embodiments of the disclosure also relate to a corresponding system, a related network, as well as a related computer program product, loadable in the memory of at least one computer and including software code portions for performing the steps of a method when the product is run on a computer. As used herein, reference to such a computer program product is intended to be equivalent to reference to a computer-readable medium containing instructions for controlling a computer system to coordinate the performance of a method. Reference to “at least one computer” is intended to highlight the possibility for an embodiment of the present disclosure to be implemented in a distributed/modular fashion. 
         [0011]    An embodiment of the arrangement described herein is a method of adapting the PHY, MAC, and application settings of a mobile terminal in a wireless local area network (WLAN) according to the estimated channel and interference conditions, with the aim of enhancing the quality of multimedia communications that involve the mobile station. 
         [0012]    In an embodiment, the mobile station collects MAC-layer statistics regarding the number of successful and unsuccessful transmission/reception events, the number and time duration of channel busy periods, and idle slots. 
         [0013]    In an embodiment, these statistics are processed to estimate the collision probability and the signal to noise ratio (SNR) at the receiver side. 
         [0014]    In an embodiment, a mathematical model is used to get the expected end-to-end network performance in terms of throughput, delay and packet error rate, for different settings of PHY, MAC and application parameters. 
         [0015]    In an embodiment, those particular settings that provide the most satisfactory quality of service for the end user are then selected. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0016]    One or more embodiments of the disclosure will now be described, by way of example only, with reference to the drawings, wherein: 
           [0017]      FIG. 1  is exemplary of a possible scenario of use of an embodiment of the arrangement described herein; 
           [0018]      FIGS. 2 and 3  are block diagrams exemplary of certain processing functions as performed in an embodiment of the arrangement described herein; and 
           [0019]      FIG. 4  is exemplary of an embodiment of a stack arrangement. 
       
    
    
     DETAILED DESCRIPTION 
       [0020]    In the following description, numerous specific details are given to provide a thorough understanding of embodiments. The embodiments may be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the embodiments. 
         [0021]    Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. 
         [0022]    The headings provided herein are for convenience only and do not interpret the scope or meaning of the embodiments. 
         [0023]      FIG. 1  illustrates a WLAN system architecture related to an embodiment of an arrangement described herein. In particular, this scenario includes one of a plurality of mobile stations (STAs) that may wish to communicate with a remote terminal equipment (TE) in a MultiMedia (MM) session. Communication may be via a Wireless LAN (WLAN) including an access point (AP) and the Internet. 
         [0024]    The presence of other active STAs in the WLAN—associated with the same access point (AP)—may potentially compromise the quality of the MM session. 
         [0025]    For that reason, the mobile station STA here considered (the same arrangement can be extended to other STAs in the WLAN) includes an optimization function (OPT SW). 
         [0026]    In an embodiment, this function includes software running in the mobile station to choose the MAC parameters and the codec settings that optimize the final perceived quality. 
         [0027]    In the exemplary embodiment illustrated herein, the optimization function OPT SW includes four logical blocks  100 ,  102 ,  104 ,  106  ( FIGS. 2-3 ). These may be configured e.g., as hardware blocks or to run as software modules in the mobile terminal STA. 
         [0028]    The first module  100  is represented in  FIG. 2 , while the second, third and fourth modules  102 ,  104  and  106  are represented in  FIG. 3 . 
         [0029]    The first module  100  is a Network Status Estimation (NSE) module that evaluates the conditions of the wireless channel within the WLAN in terms of transmission failure probability due to noise and interference, respectively. The related values are denoted PER and Pcoll, respectively. 
         [0030]    In an embodiment, PER and Pcoll are estimated using MAC statistics as defined by the 802.11 standard (e.g., a list of MAC counters, here), together with information regarding the number of idle timeslots as seen by the device (i.e., the mobile station STA), rate, and packet size. 
         [0031]    In an embodiment, the MAC statistics may include a list MAC counters such as: 
         [0032]    Dot11TransmittedFragmentCount 
         [0033]    Dot11FailedCount 
         [0034]    Dot11RetryCount 
         [0035]    Dot11MultipleRetryCount 
         [0036]    Dot11AckFailureCount 
         [0037]    Dot11ReceivedFragmentCount 
         [0038]    Dot11FCSErrorCount 
         [0039]    Dot11TransmittedFrameCount. 
         [0040]    The values thus estimated are then subject to processing in order to return the estimated Pcoll and PER. The estimate of the current Signal-to-Noise Ratio (SNR) experienced by the receiver is, hence, obtained by reverting to a pre-computed PER vs. SNR curve for the PHY mode in use. 
         [0041]    Specifically, the estimator  100  is able to distinguish between cases where the link between the STA and the access point AP is noisy (low SNR) and cases where packet losses occur because of network congestion (many other users in the same WLAN or other sources of interference). 
         [0042]    A more detailed description of an embodiment of the estimator  100  (and an associated rate adaptation module  101  providing a NewRate value as a function of Pcoll and SNR) can be found in U.S. patent application Ser. No. ______ (Attorney Docket No.: 2110-307-03) filed on Dec. 31, 2008 and commonly assigned. The entire contents of this application are herein incorporated by reference. 
         [0043]    The second module  102  in the cross-layer optimization scheme herein is a Transmission Characterization (TC) module that aims at determining the expected network performance (i.e., performance at the link layer) of the considered multimedia communication as a function of the setting of PHY, MAC and application parameters, in the current channel conditions. 
         [0044]    Based from Pcoll and SNR as provided by the estimator module  100  (plus other parameters, included OptRate and OptRetxLim, as provided by the module  106 ), the module  102  computes the expected packet loss rate (Ploss), delay (Delay), and jitter (Jitter) for each possible setting of PHY mode, MAC Retry Limit, and application packet size and bitrate. 
         [0045]    The third module  104  in the cross-layer optimization scheme herein is a Quality Evaluation (QE) module, which determines the expected quality of the multimedia communication as a function of different link performance metrics. 
         [0046]    In particular, a scalar measurement of the quality (Quality) perceived by the end user is calculated using the packet loss rate, delay, and jitter provided by the second component  102 , while taking into account a parameter OptCodec as provided by the module  106 . 
         [0047]    The fourth module  106  in the cross-layer optimization scheme herein is a Quality Maximization (QM) module, which interacts with the second and third modules  102 ,  104  in order to identify and select the PHY, MAC, and application setting that provide the highest quality for the end user. 
         [0048]    As indicated, the network status estimation module  100  provides two output variables, SNR and Pcoll. The values of these variables are updated at periodic intervals. 
         [0049]    The transmission characterization module  102  receives Pcoll and SNR as input variables from the estimation module  100 , and OptRate and OptRetryLim as input variables from the optimization module  106 . 
         [0050]    Furthermore, the module  100  makes use of Lsize and lambda parameters, which correspond to the average source packet size and generation rate and are provided by the application layer or RTP protocol through a suitable cross-layer plane whose definition and realization is not part of this disclosure. 
         [0051]    For each combination of the values assumed by the input variables, the characterization module  102  calculates the output variables Ploss, Delay, and Jitter. 
         [0052]    Specifically: 
         [0000]        P loss= PF.̂(OptRetryLim);    
         [0000]      where: 
         [0000]        PF=P coll+(1 −P coll).*PER; 
         [0053]    PER=fun_PER80211g(OptRate,SNR,Lsize) is the error probability of a packet of size Lsize when transmitted with a PHY mode that provides PHY rate OptRate, for a signal to noise ratio at the receiver side of SNR. 
         [0054]    The value for fun_PER80211g(r,s,l) can be determined with any known method in the literature. 
         [0000]      Delay= mc+mst+d buff; 
         [0000]    where
 
mc is the average algorithmic and packeting delay associated with the voice codec in use and the processing delay introduced by the protocol stack up to the MAC layer, which are known for most of current voice codecs,
 
dbuff is the average playout buffer delay that is assumed to be negotiated by the units before the beginning of the data flow and, then, passed to the embodiment through the cross-layer control plane already mentioned.
 
mst is the average one-way network delay of successfully delivered packets, which is given by
 
         [0000]    
       
      
       mst=mse+ms  
      
     
         [0000]    where:
 
mse accounts for the time taken by the packet to reach the final destination, once transmitted over the wireless link, which can be estimated from the measurements provided by the application and/or RTP layer, through the above-mentioned cross-layer plane. An accurate estimate of this parameter is not critical for the correct functioning of this disclosure.
 
ms is the average time the packet spends at the MAC layer to be successfully delivered to the next-hop MAC entity.
 
         [0055]    The parameter ms is approximated by the expectation of the system delay s: 
         [0000]      ms=E[s] 
         [0000]    whereas the jitter parameter expected by the module  102  is given by 
         [0000]      jitter= E [( s−ms )̂2] 
         [0056]    The system delay s, in turn, is expressed as 
         [0000]        s=w+y 1 
         [0000]    where
 
y 1  is the service time of a successfully delivered packet, i.e., the time that a packet spends at the head of the MAC queue before being successfully delivered, under the condition that it is successfully delivered within OptRetryLimit transmission attempts.
 
         [0057]    The term w represents the queue delay, i.e., the time that the packet spends in the MAC queue before reaching the head of the queue. The statistics of queuing delay w may be obtained form classical queuing theory, by modelling the system as a D/G/1 queue under the simplifying assumption that the service time of successive packets are mutually independent random variables with common distribution. For instance, the moment generating function Gw(z), that is the z-transform of the probability distribution function of w discretized with a time granularity of 1/(N*lambda), is given by 
         [0000]        Gw ( z )= A (prod —   {r =1 }̂{N −1}( z−zr ) )( z− 1)/( ẑN−Gy ( z )) 
         [0000]    where
 
Gy(z) is the z-transform of the service delay quantized in multiples of 1/(N*lambda) and
 
         [0000]        zr, r =1,2 , . . . ,N −1 
         [0000]    are the unique roots of the complex polynomial ẑN−Gy(z)=0.
 
Gy(z) can be derived following the footprints of Andrea Zanella, Francesco De Pellegrini, ‘Statistical characterization of the service time in saturated IEEE 802.11 networks’, IEEE communications letters, pp 225-227, March 2005, which is incorporated by reference, i.e., computing the moment generating function of the random variable
 
         [0000]        y =sum —   {i =1 }̂r max  ys ( i )* xis ( i )+ yd*xid    
         [0000]    where
 
rmax is a MAX parameter (OptRetryLimit) that gives the maximum number of unsuccessful transmission attempts that a MAC Protocol Data Unit (PDU) can undergo before being dropped by the MAC layer
 
ys(i) is the service time in case the MPDU is successfully acknowledged at the i-th transmission attempt
 
xs(i) is an indicator variable that is equal to one if the i-th transmission attempt is successful and zero otherwise
 
yd is the service time in case the MPDU is dropped because not successfully acknowledged after rmax transmission attempts
 
xid is an indicator variable that is equal to one if the rmax transmission attempts fail.
 
         [0058]    The random variables ys(i) can be obtained as 
         [0000]        ys ( i )=sum —   {h =0 }̂i B ( h )+ i Tf+Ts    
         [0000]    where
 
Ts is the channel busy time in case of a successful packet transmission (comprehensive of the on-air packet transmission time, followed by the SIFS, the ACK transmission time and the DIFS)
 
Tf is the average channel-busy time in case of unsuccessful packet transmissions. Notice that, in case of collision, the channel remains busy for a time equal to the longest duration amongst the colliding packets, plus and EIFS interval; whereas in case of failures due to the radio channel, the busy period is basically equal to Ts. A possible approximation of Tf is
 
Tf=\max(TB,Ts)Pcoll/Ploss+Ts(1−Pcoll/Ploss), where TB is the average channel occupancy time for a packet transmitted by any other node in the network (comprehensive of SIFS, ACK and DIFS), as measured by the MAC layer.
 
         [0059]    B(h) is the time spent to perform the h-th backoff stage and can be expressed as follows 
         [0000]        B ( h )=sum —   {r =0 }̂{CW ( h )−1 }xib ( r ) sum —   {j =1 }̂r  tick( j ) 
         [0000]    where 
         [0000]        CW ( h )= CW 0 2̂min( h,m 0) 
         [0000]    is the size of the backoff window at the h-th transmission attempts of the same MPDU, CW0 is the minimum backoff window size and m0 determines the maximum backoff window size (Cw0 2̂m0). CW0 and m0 are MAC parameters whose values are defined by the standard.
 
xib(r) is an indicator random variable that equals one if the random backoff value generated at the beginning of the h-th backoff stage (i.e., at the h-th transmission attempt) is equal to r, and zero otherwise. Assuming that the backoff value is uniformly picked in the backoff window {0,1, . . . ,CW(h)−1}, then for any r in {0,1, . . . ,CW(h)−1} we have
 
         [0000]        P[xib ( r )=1]=1 /CW ( h ) 
         [0000]    tick(j) is the time duration of the j-th tick period of a backoff stage, i.e. the time taken to decrement the backoff counter from j to j−1. Note that tick(0)=0 by assumption. In steady state conditions, the terms tick(j), with j&gt;0, can be considered as independent identically distributed random variables whose statistics might be directly estimated by the MAC layer (though this feature is usually not supported by commercial cards). Otherwise, the tick period can be approximated as 
         [0000]      tick= T slot+ TB*xiB    
         [0000]    where Tslot is the standard slot duration, TB is the average duration of the busy periods, as measured by the MAC layer, and xiB is the fraction of busy ticks over the total number of ticks observed by the MAC layer in a given observation period. In this disclosure, we assume that the expectation of xiB is equal to Pcoll. 
         [0060]    The service time y 1  of successfully delivered packets can expressed as 
         [0000]        Y 1=sum —   {i =1 }̂r max  ys ( i )* xis 1( i    
         [0000]    where xis1 is equal to one if the i-th transmission attempt is successful and zero otherwise, given that the packet is successfully acknowledged within rmax transmission attempts.
 
The embodiment of the method described above is just one of the possible ways to obtain ms and jitter. That is, any other embodiments for estimating ms and jitter may be used instead.
 
         [0061]    The evaluation module  104  receives as an input from the characterization module  102  the Ploss, Delay and Jitter variables, and from the module  106  the OptCodec variable, which indicates a type of voice codec. 
         [0062]    The output from the module  104  is a quality variable, which represents e.g., the E-model rating calculated as described in ITU-T Recommendation G.107: The E-Model, a computational model for use in transmission planning, December 1998, which is incorporated by reference. 
         [0063]    The quality maximization module  106  provides a first set of output variables, OptRate, OptRetryLim and OptCodec, which represent possible values for the PHY rate, the MAC Retransmission Limit and the voice codec, for use by the modules  102  and  104 . 
         [0064]    The quality maximization module  106  also generates a second set of output variables, NewRate, NewRetryLim and NewCodec, which represent the optimal settings for the PHY rate, the MAC Retransmission Limit, and the voice codec at the end of the optimization process carried out by the quality maximization module  106 . 
         [0065]    The optimization process is carried out by the quality maximization module  106  in the following way. 
         [0066]    The quality maximization module  106  applies—e.g., by operating off-line—a plurality of (for example, all) possible combinations of values for the output variables OptRate, OptRetryLim, and OptCodec. 
         [0067]    Generally, for each combination, a different value of the Quality variable is obtained by the evaluation module  104 . The quality maximization module  106  sets the NewRate, NewRetryLim and NewCodec variables to the values of OptRate, OptRetryLim and OptCodec which have been observed to provide the maximum quality. These values are put in a look up table, so that at run time the optimal values can be selected and applied based on the input parameters. 
         [0068]    In an embodiment, the optimization process can be performed offline for all admissible values of the variables Pcoll and SNR. In that way, for each value assumed by Pcoll and SNR, an optimal combination of values for NewRate, NewRetryLim and NewCodec can be determined. 
         [0069]    This information is then stored in a non-volatile memory, and the optimal set of values for NewRate, NewRetryLim and NewCodec is determined at runtime for each value of Pcoll and SNR which is provided by the NSE. 
         [0070]    Transmission quality may not depend exclusively on the conditions of the wireless LAN but also on the other links that form the path from source to destination of the multimedia transmission. 
         [0071]    Therefore, the evaluation module  104  may be configured in order to take other inputs into account, for example the RTCP end-to-end statistics messages that are part of the Real Time Protocol standard. 
         [0072]    An embodiment of the arrangement described herein is applicable, for example, to a Voice over IP over WLAN mobile terminal based on ST Nomadik™ System-on-Chip as the host. 
         [0073]      FIG. 4  depicts a diagram of an embodiment of a SW stack architecture for use in the arrangement described herein. 
         [0074]    The modules that concur in optimizing the MM transmission have been split in such a way that the network status estimator module ( 100  in  FIG. 1 ) is added to the WLAN device driver in the host operating system kernel space. The other modules (transmission characterization  102 , quality evaluation  104 , quality maximization  106 ) may be implemented in the OS user space and may be either part of the multimedia application or reside in a separate daemon, which communicates with the application through an Inter Process Communication mechanism. 
         [0075]    The optimization module OPT SW in the mobile station STA interacts with both the device driver and the MM application. It receives indications on the collision probability and the estimated SNR by the device driver. Communication between the optimization module OPT SW and the device driver may be OS specific. In Linux, for example, the statistics could be exported in the /proc filesystem, while commands to configure MAX parameters may be sent through ioctl( ) calls, once the driver is loaded. 
         [0076]    Traffic description and (optionally) end-to-end statistics may be sent to the optimization module from the application. With this information available, the optimization module may apply an embodiment of the procedure described herein to select the optimal MAC parameters (that are sent to the device driver) and the optimal application settings (that are sent to the application). A suitable protocol may be defined between the application and the optimization module to exchange this information. 
         [0077]    Changing the application will not affect the overall architecture, but only the values for the parameters that have to be passed from the application to the optimization module. The choice of the optimal codec to be used (and its performance characterization in the evaluation module  102 ) may depend on the application type and its constraints. Changes in the codec type and/or other parameters may also involve a successful negotiation between the terminal where the change is suggested and the other peer in the multimedia session (i.e., STA and TE in  FIG. 1 ). 
         [0078]    An embodiment of the arrangement described herein is applicable e.g., to Voice over IP over WLAN portable terminals, including mobile phones, and PDA&#39;s and Internet Tablets, where voice quality maximization is achieved. Other applications that may benefit from adopting the arrangement described herein include HDTV transmission and multimedia streaming in a home WLAN network, in the presence of congestion, interference, and/or noise. 
         [0079]    Without prejudice to the underlying principles of the disclosure, the details and the embodiments may vary, even appreciably, with respect to what has been described by way of example only, without departing from the scope of the disclosure.