Link quality prediction in mesh networks

16
Link quality prediction in mesh networks Ka ´roly Farkas a, * , Theus Hossmann b , Franck Legendre b , Bernhard Plattner b , Sajal K. Das c a Institute of Informatics and Economics, University of West Hungary, Bajcsy-Zsilinszky u. 9., H-9400 Sopron, Hungary b Computer Engineering and Networks Laboratory (TIK), ETH Zurich, Gloriastr. 35, CH-8092 Zurich, Switzerland c Center for Research in Wireless Mobility and Networking (CReWMaN), The University of Texas at Arlington, TX 76019, USA Abstract Wireless self-organizing networks such as mesh networks strive hard to get rid of mobility and radio propagation effects. Links – the basic elements ensuring connectivity in wireless networks – are impacted first from them. But what happens if one could mitigate these effects by forecasting the links’ future states? In this paper, we propose XCoPred (using Cross-Correlation to Predict), a pattern matching based scheme to predict link quality variations. XCoPred does not require the use of any external hardware, it relies simply on Signal to Noise Ratio (SNR) measurements (that can be obtained from any wireless interface) as a quality measure. The nodes monitor and store the links’ SNR values to their neigh- bors in order to obtain a time series of SNR measurements. When a prediction on the future state of a link is required, the node looks for similar SNR patterns to the current situation in the past (time series) using a cross-correlation function. The matches found are then used as a base for the prediction. Clearly, XCoPred takes advantage of the occurrence and recurrence of patterns observed in SNR measures reflecting the joint effect of human motion and radio propagation. XCoPred focuses only on the scale of links and as such is comple- mentary to mobility prediction schemes, which target prediction at a broader scale. We first prove the occurrence of SNR patterns resulted by the joint effect of human motion and radio propagation. Then we evaluate XCoPred in an indoor mesh network showing, that XCoPred is able to recognize mobility patterns in up to 85% of the cases correctly and the average prediction error on mid-term predictions (i.e., assessing the future link quality more than 1 min ahead) is less than half the error we get using linear prediction. Eventually, we propose and evaluate an enhanced handoff management scheme for 802.11 mesh networks showing the usefulness of XCoPred as a cross-layer input. Ó 2008 Elsevier B.V. All rights reserved. Keywords: Link quality prediction; Mesh networks; XCoPred; Kalman filter; Pattern matching 1. Introduction Self-organizing networks such as mesh networks pose significant challenges on the design of new communication protocols and applications. One important aspect to deal with is the joint effect of node mobility and radio propaga- tion, and their consequences [1]. Even though recent works have contributed to demonstrate their benefits for different network aspects such as increasing capacity [2], security [3], and coverage [4], just to cite a few, still mobility and radio propagation have a great impact on every layer of the pro- tocol stack. What happens if we could mitigate or, in other words, we could forecast their effect? Many solutions have been proposed to predict macroscopic mobility, i.e., the sequence of base stations or access points encountered by a node, which are useful for handoff, resource reservation or route selection in fixed cellular and self-organized mesh networks. Yet, our goal is not to predict macroscopic mobility, but instead predict the rather short term (i.e. tens of seconds) variations of link quality. This is important as links are in fact the basic elements ensuring connectivity in self-organized networks and having a precise view on the future evolution of a link is fundamental for applications 0140-3664/$ - see front matter Ó 2008 Elsevier B.V. All rights reserved. doi:10.1016/j.comcom.2008.01.047 * Corresponding author. Tel.: +36 30 9843449. E-mail addresses: [email protected] (K. Farkas), hossmath@ tik.ee.ethz.ch (T. Hossmann), [email protected] (F. Legendre), [email protected] (B. Plattner), [email protected] (S.K. Das). www.elsevier.com/locate/comcom Available online at www.sciencedirect.com Computer Communications xxx (2008) xxx–xxx ARTICLE IN PRESS Please cite this article in press as: K. Farkas et al., Link quality prediction in mesh networks, Comput. Commun. (2008), doi:10.1016/ j.comcom.2008.01.047

Transcript of Link quality prediction in mesh networks

Available online at www.sciencedirect.com

ARTICLE IN PRESS

www.elsevier.com/locate/comcom

Computer Communications xxx (2008) xxx–xxx

Link quality prediction in mesh networks

Karoly Farkas a,*, Theus Hossmann b, Franck Legendre b, Bernhard Plattner b, Sajal K. Das c

a Institute of Informatics and Economics, University of West Hungary, Bajcsy-Zsilinszky u. 9., H-9400 Sopron, Hungaryb Computer Engineering and Networks Laboratory (TIK), ETH Zurich, Gloriastr. 35, CH-8092 Zurich, Switzerland

c Center for Research in Wireless Mobility and Networking (CReWMaN), The University of Texas at Arlington, TX 76019, USA

Abstract

Wireless self-organizing networks such as mesh networks strive hard to get rid of mobility and radio propagation effects. Links – thebasic elements ensuring connectivity in wireless networks – are impacted first from them. But what happens if one could mitigate theseeffects by forecasting the links’ future states?

In this paper, we propose XCoPred (using Cross-Correlation to Predict), a pattern matching based scheme to predict link qualityvariations. XCoPred does not require the use of any external hardware, it relies simply on Signal to Noise Ratio (SNR) measurements(that can be obtained from any wireless interface) as a quality measure. The nodes monitor and store the links’ SNR values to their neigh-bors in order to obtain a time series of SNR measurements. When a prediction on the future state of a link is required, the node looks forsimilar SNR patterns to the current situation in the past (time series) using a cross-correlation function. The matches found are then usedas a base for the prediction. Clearly, XCoPred takes advantage of the occurrence and recurrence of patterns observed in SNR measuresreflecting the joint effect of human motion and radio propagation. XCoPred focuses only on the scale of links and as such is comple-mentary to mobility prediction schemes, which target prediction at a broader scale. We first prove the occurrence of SNR patternsresulted by the joint effect of human motion and radio propagation. Then we evaluate XCoPred in an indoor mesh network showing,that XCoPred is able to recognize mobility patterns in up to 85% of the cases correctly and the average prediction error on mid-termpredictions (i.e., assessing the future link quality more than 1 min ahead) is less than half the error we get using linear prediction.

Eventually, we propose and evaluate an enhanced handoff management scheme for 802.11 mesh networks showing the usefulness ofXCoPred as a cross-layer input.� 2008 Elsevier B.V. All rights reserved.

Keywords: Link quality prediction; Mesh networks; XCoPred; Kalman filter; Pattern matching

1. Introduction

Self-organizing networks such as mesh networks posesignificant challenges on the design of new communicationprotocols and applications. One important aspect to dealwith is the joint effect of node mobility and radio propaga-tion, and their consequences [1]. Even though recent workshave contributed to demonstrate their benefits for differentnetwork aspects such as increasing capacity [2], security [3],

0140-3664/$ - see front matter � 2008 Elsevier B.V. All rights reserved.

doi:10.1016/j.comcom.2008.01.047

* Corresponding author. Tel.: +36 30 9843449.E-mail addresses: [email protected] (K. Farkas), hossmath@

tik.ee.ethz.ch (T. Hossmann), [email protected] (F. Legendre),[email protected] (B. Plattner), [email protected] (S.K. Das).

Please cite this article in press as: K. Farkas et al., Link quality predij.comcom.2008.01.047

and coverage [4], just to cite a few, still mobility and radiopropagation have a great impact on every layer of the pro-tocol stack. What happens if we could mitigate or, in otherwords, we could forecast their effect? Many solutions havebeen proposed to predict macroscopic mobility, i.e., thesequence of base stations or access points encountered bya node, which are useful for handoff, resource reservationor route selection in fixed cellular and self-organized meshnetworks. Yet, our goal is not to predict macroscopicmobility, but instead predict the rather short term (i.e. tensof seconds) variations of link quality. This is important aslinks are in fact the basic elements ensuring connectivity inself-organized networks and having a precise view on thefuture evolution of a link is fundamental for applications

ction in mesh networks, Comput. Commun. (2008), doi:10.1016/

Fig. 1. Signal quality past time series (solid lines) and its predicted future variations (dashed lines).

2 K. Farkas et al. / Computer Communications xxx (2008) xxx–xxx

ARTICLE IN PRESS

at all layers of the protocol stack to optimize, or increasethe reliability of these networks. However, current predic-tion schemes on links provide assessments only with acoarse precision in space and time, thus the applicabilityof these approaches is limited.

In this paper, we propose XCoPred (using Cross-Corre-lation to Predict), an approach based on pattern matching,to predict a link’s future state in terms of its quality varia-tions. XCoPred does not consider possible emerging linksin the future (i.e., link creation) but performs predictionson a node’s existing links to its neighbors. We present herean enhanced version of XCoPred that was first described in[5]. In contrast to most of the existing prediction techniquestargeting node mobility like [6–8], XCoPred does notrequire the use of any external hardware or referencepoints. Each node monitors and stores the signal qualityof its links to obtain a time series of link quality measures(cf. Fig. 1 which illustrates this with a hypothetical networkconsisting of five nodes). The Signal to Noise Ratio (SNR)is used as this measure. When a prediction is required, anode searches patterns similar to the current situation inthe history of its stored time series of link quality measures.For this purpose, the node computes the normalized cross-correlation between the current pattern and the history ofthe links’ quality. Several matches may be found and theone with the highest cross-correlation value is retained.Otherwise, XCoPred applies a fallback solution based onautoregression.

Clearly, XCoPred takes profit of the occurrence andrepeatability of patterns seen at the scale of links. In orderto validate our approach, we prove the existence of pat-terns in the joint effect of human motion and radio prop-

Please cite this article in press as: K. Farkas et al., Link quality predij.comcom.2008.01.047

agation (at the scale of links) with the example of indoorpedestrian motion, and its reflection in the signal space.We evaluate the performance of XCoPred by experimentsusing SNR measurements from a real indoor mesh testbedwith a static backbone of 20 nodes and mobile, handhelddevices carried by human-beings. Results show, that usingthe cross-correlation XCoPred is able to recognizemobility patterns in the SNR measurements in up to85% of the cases correctly and that the average SNR pre-diction error of 3 dB for predicting the 60 s ahead futureof the links is less than half the error we get using linearprediction.

Although XCoPred was designed to deal with link qual-ity changes occurred by node mobility but the backbonenodes in a mesh network are usually static, still we canexploit the power of our approach in such networks target-ing mobile end devices and their handoff. Thus, we proposeand evaluate the use of XCoPred’s predictions for improv-ing handovers of mobile devices between access points in802.11 mesh networks.

We can summarize the novelty and contributions pre-sented in this paper as follows:

� We consider the problem of predicting link quality vari-ations in mesh networks.� We propose XCoPred, a pattern matching based

approach for predicting future link quality.� XCoPred does not require the use of any external hard-

ware or localization scheme. Rather it relies for its pre-diction on link quality measures obtained from off-the-shelf 802.11 wireless cards (i.e., Signal to Noise Ratio(SNR)).

ction in mesh networks, Comput. Commun. (2008), doi:10.1016/

K. Farkas et al. / Computer Communications xxx (2008) xxx–xxx 3

ARTICLE IN PRESS

� We demonstrate through measurements the existence ofpatterns in the physical space, resulted by humanmotion in a given physical environment, that are alsoreflected in the signal space of link quality.� We evaluate XCoPred in a real indoor mesh testbed

environment.� We evaluate the improvement of handover management

using XCoPred to predict link quality changes.

The rest of the paper is structured as follows. Section 2surveys the most interesting approaches related to ourwork. In Section 3, we demonstrate the feasibility of linkstate prediction in mesh networks. We present XCoPred,our approach in Section 4 and evaluate its performancein Section 5. Section 6 evaluates the enhancement of thehandover management scheme taking profit of XCoPred’spredictions. Finally, we conclude the paper in Section 7.

2. Related work

Link state prediction is a subset of mobility prediction,which is and has been extensively studied for fixed cellularnetworks (e.g., PCS, GSM, 3G) as well as for self-organiz-ing networks to improve the efficiency of many functional-ities (e.g., handoff and routing). In this section, we reviewthe different approaches to mobility and link state predic-tion proposed in both network areas.

Predicting mobility aims at estimating the future state ofa node. This state is tightly related to the application needsand can be network-centric (e.g., links quality (SNR) ordiscrete location, such as base station or access point) ormobility-centric with relative or absolute coordinates(e.g., GPS).1 Depending on the desired state to predict, sev-eral prediction techniques can be used: (i) linear, (ii) auto-regression, (iii) pattern matching, (iv) informationtheoretic, and (v) Markov chains based. We relate thesetechniques and their capabilities in terms of state predictionin the following.

Linear statical and dynamical system models are oftenused to predict a system’s future state given the currentand past state(s). In [6], authors propose a linear staticalmodel of a node’s mobility to define its future positions(based on GPS information). This model basically assumesthat the node always keeps on moving in the same directionwith the same speed while in reality this is often not thecase. Authors also propose to map these predictions tothe assessment on link expiration time. For this, they com-pute the relative evolution of distance between two nodesand using a freespace radio propagation model determinewhen the distance will be too high to allow enough powerat the receiver for successful reception (i.e., below sensibil-ity threshold).

1 Another mean of classification is to relate these measures to their levelof granularity, i.e., microscopic or macroscopic similarly to mobilitymodels classification. We will use this classification in the sequel.

Please cite this article in press as: K. Farkas et al., Link quality predij.comcom.2008.01.047

In order to include the ‘‘dynamical” aspect of mobility,an enhancement is to use linear dynamical system models.This can be exploited in cellular networks estimating thefuture node position which helps predicting handover ofthe node from one cell to the next and can be used toreserve resources and speed up the handover process. Kal-man filters (KF) and Extended Kalman filter (EKF) [9] areparticularly suite for this task. Proposals in [10–12] use aKalman autoregressive model (AR) instead of the linearstatical model to predict future positions. In [10], a locationprediction algorithm, called hierarchical location predic-tion (HLP), is used for advance resource reservation inwireless ATM networks. HLP uses an AR(1) model to esti-mate the position, velocity and acceleration of the mobilenodes. In [11,12], the AR model is also used for SNR pre-diction or Time Of Arrival (TOA) predictions. Note thatdetermining the current absolute position, speed, velocity,and possibly acceleration can be performed with dedicatedhardware such as a GPS receiver. To obtain relative loca-tion values RF-localization schemes (e.g., RADAR [13],a tracking system for in building environments which usesthe a priori knowledge of the building’s radio map to asso-ciate coordinates to nodes based on their current measureof signal strength) may be used which than can be associ-ated to absolute values of sources given by GPS coordi-nates. The main motivation behind RF-localizationschemes is to remedy the GPS indoor deficiency.

For discrete location predictions (mobility tracking),different techniques have been proposed to predict theattachment sequence to base stations, access points, andeven any kind of fixed communicating infrastructure. In[14], the authors propose to train a back-propagation neu-ral network to predict the trajectory of a mobile node as asequence of base stations. The authors in [15,16] proposean information theoretic approach to this problem. Itmaintains the history of the base stations (or closest sen-sors) a node encounters and applies the LZ78 compressionalgorithm [17]2 to generate a dictionary of the recurrentobserved paths. In [18], a calibrated Markov chain is pro-posed with states representing access points to model themobility of users on the ETH campus in Zurich. In [19],the authors proposed a similar approach.

3. Link quality prediction

In this section, we discuss the applicability of combiningSignal to Noise Ratio measurements with a pattern match-ing technique to predict the future state of a link.

3.1. Link state prediction vs. mobility prediction

XCoPred targets applications that require a quantitativeprediction of the link quality. We selected the Signal to

2 The LZ78 algorithm for lossless compression is based on Shannon’sentropy. Variants of it are widely used today for instance in the Unix‘compress’ utility and in the GIF image format.

ction in mesh networks, Comput. Commun. (2008), doi:10.1016/

4 K. Farkas et al. / Computer Communications xxx (2008) xxx–xxx

ARTICLE IN PRESS

Noise Ratio (SNR) as a measure of the node’s link statebecause it is easy to monitor using off-the-shelf wirelessdevices and does not require any special hardware. Andthis measure reflects the best a node’s current connectivity.

Knowing the mobility state by performing mobility pre-diction via relative or absolute localization schemes is analternative to asses link quality variations. Yet, derivingconnectivity information from position information is notstraightforward since it requires to find a one-to-one map-ping between distance and signal quality. Due to noise,interference, fading, etc., monitoring the signal quality isa better choice than using physical positions and than dothe mapping.

Now looking at link state prediction in more detail, pat-tern matching based approaches are more accurate thanlinear approaches used for mobility prediction because:(i) there are clear patterns of motion in human mobilitywhatever means of transport is used; (ii) these patternsare reflected in the signal space; (iii) patterns convey moreinformation (i.e., the stored time series are likely to occuragain since one’s mobility is often made of recurrent dis-placements and besides patterns also include effects of theenvironment); and (iv) there is no need for a priori infor-mation about the geographic environment of the network.

3.2. Patterns

Human behavior shows clear patterns that are moreoverrecurrent in the mobility/physical and also in the signalspace. We demonstrate it intuitively and then verify itempirically with measurements from our mesh testbednetwork.

Human motion, whatever means of transport is used,can be considered at two levels, namely, the macroscopicand microscopic level. The macroscopic behavior definesthe intentions on a daily basis (e.g., going back and forthfrom the house to work, taking a break, going to an officemeeting or to work with a colleague) while the microscopicbehavior defines how humans deal with their surroundingenvironment (e.g., indoor, outdoor, road network).

We focus only on patterns observed at the radio range ofwireless interfaces since XCoPred relies only on monitoringthe quality of links (i.e., SNR) to neighbors. At this scale,patterns of motion are heavily influenced by microscopicmobility. For instance, in an office building, people carry-ing the nodes are usually walking along floors (e.g., goingto the printer to fetch a document, walking to the coffeecorner and returning back to their office). Another physicalrestriction is that in this environment humans are rarelymoving faster than 2 m/s (i.e., 7.2 km/h). Vehicular mobil-ity is even more restrictive since vehicles have to follow thecourse of roads with their speed limits and traffic density,intersections with stops or traffic lights also come into play.

The existence of patterns (macroscopic and microscopic)in motion is quite intuitive. Now, we may wonder if thesepatterns in the mobility/physical space are also reflectedin the signal space. When a node takes a certain path

Please cite this article in press as: K. Farkas et al., Link quality predij.comcom.2008.01.047

(e.g., along a floor in a building) this corresponds to a cer-tain pattern in the evolution of the distance between thetwo end points of the link, i.e., the static access point andthe mobile node. Assuming a one-to-one mapping of dis-tance to signal strength, this pattern would also be reflectedin the signal space. However, we know that finding such amapping is way too complex as it is highly depending onthe physical environment which effects the radio propaga-tion, and thus the measured SNR, through reflection, dif-fraction and scattering. These effects in combinationcause large-scale fading and small-scale fading of the signal[20]. Further, the SNR is subject to noise and interferenceby other sources of radio on the same frequencies. In orderto get rid of the random effects of small-scale fading (noiseand interference) we use a Kalman filter as described inSection 4.2. Assuming that this filter completely cancelsthese effects, what is left in the SNR is the large-scale fading(or shadowing), which is solely depending on the physicalenvironment and is the same every time a node movesalong the same physical path. That is, the same SNR pat-tern occurs every time the same path is taken.

Fig. 2 shows an example of such a pattern in signalspace. It shows the SNR measurements of a mobile nodeto a fixed node in our mesh testbed under different occur-rences of a typical pattern in mobility/physical space, thatis to fetch a document from a printer. Clearly, a pattern isrecognizable, though the different instances of the samemobility pattern are not completely equal in signal spacedue to the above mentioned random effects.

We see that patterns occur in both the mobility/physicaland signal space and a mapping between them exists. Therecurrent nature of the patterns as well as the a priori infor-mation contained in the variations of these patterns call forpattern matching based prediction relying on training data.For instance, considering an existing link, if we can matchits variation in time to similar patterns seen in the past (i.e.,training data), we can then predict its future quality justtaking the upcoming part of the best matching pattern.Therefore, the quest is to match the current pattern to onesin the past and select the best matching pattern. This is thegoal of our XCoPred mechanism described in the followingsection.

4. Predict via pattern matching

In this section, we present our prediction mechanismcalled XCoPred (using Cross-Correlation to Predict) whichimplements link quality prediction based on pattern match-ing as motivated in the sections above. The general build-ing blocks with the two major parts, State Observationand Prediction, of XCoPred are visualized in Fig. 3.

4.1. Overview

The task of State Observation is to keep track of linkstate. This is implemented in the Link Observer module.

ction in mesh networks, Comput. Commun. (2008), doi:10.1016/

0 10 20 30 40 50 60 70 800

20

40

60S

NR

[dB

]

Time [s]

Fig. 2. Example of pattern in signal space.

Fig. 3. Overview of XCoPred.

K. Farkas et al. / Computer Communications xxx (2008) xxx–xxx 5

ARTICLE IN PRESS

The output of the Link Observer is the input to the Predic-tion part.

The Prediction part can be split in two major func-tions, such as the State Predictor and the Parameter Esti-mator. The State Predictor makes the actual predictionand models the system. Its input comes from the LinkObserver and the system model parameters come fromthe Parameter Estimator. The Parameter Estimator getsthe training data as input from the Link Observer andcomputes the required parameters. As a simple example,consider a linear model of a node movement. In order tomake a linear prediction of geographic position, theState Predictor needs the actual coordinates of the nodeas input, and its speed and acceleration as parameters.So the Parameter Estimator gets a time series of mea-sured coordinates, computes the velocity and movingdirection, and hands them over to the State Predictoras the system model parameters. With these parametersand the input being the actual position, the State Predic-tor is able to predict the future position of the node. Ourapproach targets the same goal but in the more complexcase where linearity is not assumed.

Please cite this article in press as: K. Farkas et al., Link quality predij.comcom.2008.01.047

4.2. State observation

As the measure of link quality, we use the Signal toNoise Ratio (SNR) value of the link. The node periodi-cally monitors the SNR values of its links and these val-ues serve as input to the Link Observer. Fig. 4 shows anexample of a link’s SNR time series seen by one devicewhich was linked by radio to a mesh access point inour testbed representing an office environment. We canobserve that there are periodic patterns of SNRvariations.

4.2.1. Signal to noise ratio

We have chosen to use the SNR value as a measure oflink quality because the SNR not only takes into accountthe signal strength, but also the amount of noise in the sig-nal. Moreover, it can be easily measured. For instance, inwireless LAN network interfaces based on the 802.11 stan-dard [21], the firmware and the driver usually provide somemeasurements of signal strength and background noiseobserved on the channel.

The SNR is generally defined as

ction in mesh networks, Comput. Commun. (2008), doi:10.1016/

0 50 100 150 200 250 300 350 400 4500

20

40

60S

NR

[dB

]

Time [s]

Fig. 4. SNR measurement example.

3 The amount of storage can of course be reduced by compression, i.e.storing just the length of constant sequences (for instance the absence of alink) instead of the whole sequences.

6 K. Farkas et al. / Computer Communications xxx (2008) xxx–xxx

ARTICLE IN PRESS

SNR ½dB� ¼ 10log10

P signal

P noise

� �½dB�; ð1Þ

where P signal is the power level of the signal and P noise is thepower level of noise. The signal power is influenced by sev-eral parameters of the communication system. At the sen-der, it depends on the transmission power of the sendingdevice and the antenna gain. During propagation, the sig-nal experiences a propagation loss, which is usually mod-eled with various propagation models e.g., freespace,two-ray ground, path-loss. It is further influenced mainlyby three effects, such as reflection, scattering and diffrac-tion. Together, all these physical factors build the radiopropagation model. On the other hand, the noise poweris usually modeled as receiver noise (e.g., thermal noise inthe receiver modeled as Additive White Gaussian Noise –AWGN), environmental noise (from different sources inthe environment, usually also modeled as AWGN) andinterference caused by other transmissions on the samechannel or nearby, overlapping channels. For more detailswe invite the reader to refer to [20].

In order to obtain a time series of the SNR history, eachnode has to make measurements at fixed time intervals oflength T m.

Definition 4.1. The measurement interval T m is the timebetween two consecutive measurements performed on onelink of the node.

T m is a design parameter and was chosen to be 1 s in ourcase. It is a trade-off between having too frequent measure-ments, which increases the computational costs and havingtoo few measurements, which means loss of informationabout the node’s behavior.

In order to account for breaking links, the special valueof SNR ¼ 0 is defined as having no connection between thenodes. Each node keeps the history of the correspondinglink and, in case of link failure, fills it with zeros to havethe information when and for how long the connectionbroke. Having this information is important to predictfuture link failures.

As the resources of mobile devices are generally scarce,the number of measurements which are stored must be lim-ited. The history of each link is therefore stored in a circu-

Please cite this article in press as: K. Farkas et al., Link quality predij.comcom.2008.01.047

lar buffer of N elements. N is another design parameter,which has to be chosen as a trade-off between memoryusage and having enough training data for the prediction.Assuming that each measurement requires 1 Byte of stor-age – as typical WLAN interfaces only distinguish betweenless than 256 values in their channel measurements this isenough. The amount of storage required per link for48 hours of training data (with T m ¼ 1) then is about170 KBytes (24 h � 3600 s � 1 Byte).3 In our example ofthe office environment where people usually work for8 hours per day this would include training data of the last6 days, which seems reasonable to capture the majority ofpatterns. Thus, we set N as N = 48� 3600 = 172800.

Now consider that node A has a link to node B andnode A wants to predict the future state of this link. WhenA’s Link Observer is triggered, it hands over the trainingdata and the query to the prediction algorithm. They aredefined below.

Definition 4.2. The training data t is the measured timeseries of one link from the past in the time ranget ¼ ðtq � NT mÞ; . . . ; tq where tq is the query time.

Definition 4.3. The query q is the recent part of the timeseries of measurements, which is used for creating the linkpredicted state. The query order o is the length of the query,i.e., the number of measurements used in the query.

Fig. 5(a) shows an example of training data gatheredfrom one link, a query, and a query order. The query ordero is another important design parameter. We discuss thechoice of o in the evaluation part (see Section 5.3) of thispaper.

4.2.2. Smoothing with Kalman filter

One problem with this approach is, that the measure-ments of the training data are usually noisy. In order toreduce this noise as far as possible, we filter the measure-ments with a Kalman filter [9]. Fig. 6 shows a time series

ction in mesh networks, Comput. Commun. (2008), doi:10.1016/

Fig. 5. Sample training data and query.

0 50 100 150 200 250 300 350 400 4500

20

40

60

SN

R [d

B]

Time [s]

Fig. 6. SNR time series filtered with Kalman filter.

Fig. 7. Underlying system model of the Kalman filter.

K. Farkas et al. / Computer Communications xxx (2008) xxx–xxx 7

ARTICLE IN PRESS

of SNR measurements (dots in the figure) of a link togetherwith the filtered values (solid line in the figure).

The basic idea behind the Kalman filter is essentiallyto estimate the state xk of a system at point of time k,which can be observed only indirectly or inaccurately,as the linear combination of a prediction, based on thelast value, and the measured value. The underlyingdynamic system model of the Kalman filter is visualizedin Fig. 7, where circles are vectors, squares are matrices,and stars represent Gaussian noise with the associatedcovariance matrix at the lower right (for more informa-tion refer to [9]).

The Kalman filter’s system model is described with thefollowing equations:

xk ¼ Axk�1 þ Buk�1 þ wk; ð2Þ

Please cite this article in press as: K. Farkas et al., Link quality prediction in mesh networks, Comput. Commun. (2008), doi:10.1016/j.comcom.2008.01.047

Table 1Kalman filter equations for our SNR filter

Time update step Measurement update step

a ¼PO�1

i¼0xk�ixk�i�1�ðO�1Þ�x2PO�1

i¼0x2

k�i�1�ðO�1Þ�x2

Kk ¼ P�kP�k þS

c ¼ ð1� aÞ�x xk ¼ x�k þ Kkðzk � x�k Þ

x�k ¼ axk�1 þ c P k ¼ ð1� KkÞP�kQk ¼

PO

i¼1xi�ðaxi�1þcÞ

OP�k ¼ a2P k�1 þ Qk

4 Experiments have shown indeed that patterns are recurrent.

8 K. Farkas et al. / Computer Communications xxx (2008) xxx–xxx

ARTICLE IN PRESS

with measurements

zk ¼ Hxk þ vk: ð3Þ

Here A is the system matrix, which is determined by thenature of the system. Matrix B relates the optional controlinput uk to the state xk, since matrix H relates the actualstate of the system to the measurement zk. The terms wk

and vk are independent random variables with normal dis-tribution representing the process and the measurementnoise, respectively:

pðwÞ �Nð0; SÞ; ð4ÞpðvÞ �Nð0;QÞ: ð5Þ

Though the real state xk of the system at point of time k

is never exactly known, the Kalman filter works with threeestimates of the system state: (i) the a priori estimate x�k ,which is a prediction of the next value based on the previ-ous ones; (ii) the measurement zk, related to xk by expres-sion (3); and (iii) the a posteriori estimate xk whichcombines the a priori estimate and the measurement, andit is the actual output of the filter. In order to computexk, the Kalman filter works recursively with two steps: (i)the time update, in which the a priori estimate of the valueis predicted; and (ii) the measurement update, in which theprediction is corrected with having the measured value.

In the time update step, the next value of the systemstate is predicted based on the previous value using the fol-lowing equation:

x�k ¼ Axk�1 þ Buk�1: ð6Þ

For the SNR filter, where the system state is the scalarSNR value, this equation can be rewritten as

x�k ¼ Axk�1 þ B � 1 ¼ axk�1 þ c ð7Þ

with the model parameters a and c. This approach of thenext SNR value, being dependant solely on the previousone and a constant c, is an order-1 autoregressive modeldenoted by AR(1). The parameters a and c of the autore-gressive model are calculated at each filtering step usingthe least squares method [22]:

a ¼PO�1

i¼0 xk�ixk�i�1 � ðO� 1Þ�x2PO�1i¼0 x2

k�i�1 � ðO� 1Þ�x2; ð8Þ

c ¼ ð1� aÞ�x; ð9Þ

where �x denotes the mean of the O latest training samplevector. Note that O is the order of the training data. Wediscuss the choice of O later in the evaluation part (cf. Sec-tion 5.3). Furthermore, in the time update step, the a prioriestimate error covariance is calculated according to

P�k ¼ AP k�1AT þ Qk; ð10Þ

where P k�1 is the a posteriori estimate error covariance (seebelow). The measurement noise covariance Q, see (5), attime point k is denoted by Qk and can be dynamically esti-mated with the following equation (cf. [11]):

Please cite this article in press as: K. Farkas et al., Link quality predij.comcom.2008.01.047

Qk ¼PO

i¼1xi � ðaxi�1 þ cÞO

: ð11Þ

In the measurement update step, the linear combinationof the a priori estimated state and the measured state is cal-culated as

xk ¼ x�k þ Kkðzk � H x�k Þ: ð12Þ

The measurement innovation Kk is defined as

Kk ¼P�k H T

HP�k HT þ S: ð13Þ

The a posteriori estimate error covariance is calculatedaccording to

P k ¼ ðI � KkHÞP�k : ð14Þ

In wireless networks, the process noise wk is usually modeled bya normally distributed random variable with typical standarddeviation in the range of 4–8 dB (cf. [11]). A value of S = 49was chosen in our case for the process noise covariance, whichrelates to assuming a standard deviation of noise of 7 dB.

In case of filtering the SNR, the above equations are sim-plified because the system state xk and its estimates are sca-lar values, thus all matrices and vectors become scalar.Furthermore, the equations are simplified by settingH ¼ 1, as the SNR is directly measured. The resulting equa-tions for filtering the SNR values are summarized in Table 1.

4.3. Prediction

As we mentioned above, the link quality prediction per-formed with two complementary alternatives: (i) ParameterEstimation – State Prediction; or (ii) a Fallback optionusing autoregression.

4.3.1. Parameter estimation with cross-correlation

The parameters which the Parameter Estimator handsover to the State Predictor are references to points in thelink history, where similar situations to the actual onemay have been observed.4 The information what theParameter Estimator gets from the Link Observer is thetraining data and the query. Thus, its task is to find pat-terns in the training data which are similar to the query.

In order to do this, the Parameter Estimator computesthe normalized cross-correlation [23] of the query and the

ction in mesh networks, Comput. Commun. (2008), doi:10.1016/

K. Farkas et al. / Computer Communications xxx (2008) xxx–xxx 9

ARTICLE IN PRESS

training data. The normalized cross-correlation cðmÞ at lagm is a measure of similarity of the query to the appropriatepart of the training data at this lag. It is defined as

cðmÞ ¼Po

i¼1½qðiÞ � �q�½tj;f ðmþ iÞ ��tj;f �ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiPoi¼1½qðiÞ � �q�2

Poi¼1½tj;f ðmþ iÞ ��tj;f �2

q ; ð15Þ

where qðiÞ denotes the ith value of the query, tj;f ðiÞ denotesthe ith value of the training data of the link between node jand node f, whereas �q and �tj;f respectively denote the meanof the query and the corresponding part of the training data.

An example of the normalized cross-correlation func-tion is depicted in Fig. 5(b) (the computed cross-correlationvalue relates always to the last point of the sliding query).Note that in this example only one time series of trainingdata was used. When the node has y neighbors, this resultsin computing y normalized cross-correlations. The plotshows that there are several good matches resulting in localmaxima at lags around m ¼ f140; 260; . . .g and the globalmaximum is at m ¼ 260 with cð260Þ ¼ 0:92.

The Parameter Estimator should hand over these lagsrepresenting good matches to the State Predictor. Thus, ithas to determine the local maxima of the correlation func-tion. For doing this, a threshold cmin is defined, such that m

is a good match, if cðmÞP cmin.

Definition 4.4. The match threshold cmin is a scalar value,above which the correlation of the query with the trainingdata is considered to be a match and is used for theprediction.

cmin has to be chosen as a trade-off between being nottoo strict and not too loose about what a good match is.The former case could lead to having none or only a smallnumber of matches, while the latter one would define situ-ations as matches which are not really similar to the query.In order to find the local maxima of cðmÞ, first determine allthe regions of m where the normalized cross-correlation isabove cmin. Then, for each of these regions the maximum issearched and inserted in the set of lags which are handedover to the State Predictor.

We discuss the choice of the match threshold cmin later inthe evaluation part (Section 5.3).

4.3.2. State prediction

Getting the set of matches from the Parameter Estimatorand the training data from the Link Observer, the task of theState Predictor is to create the local model of the link. Themodel is based on the training data regions following the lagsof the matches. This means, that if a lag of m is received fromthe Parameter Estimator, the part of the training data usedfor creating the model is the measurements of m; . . . ;ðmþ lÞ for an l-step-ahead prediction. So, the first step inmodelling is to create from the set of lags a set of predictors.5

5 Note that these predictors are not the same as the State Predictor, asthey are patterns in the link history since the State Predictor is a functionalpart of a prediction algorithm.

Please cite this article in press as: K. Farkas et al., Link quality predij.comcom.2008.01.047

Definition 4.5. If the set of matches contains i lagsfm1; . . . ;mig, then those i parts of the training dataftðm1; . . . ;m1 þ lÞ; . . . ; tðmi; . . . ;mi þ lÞg form the set of

predictors p. The ith predictor is denoted by pi.

Parameter l, the length of the predictors, is called theprediction order. It determines how far in the future theprediction will reach. It is a design parameter and can beset according to the needs of the application for whichthe prediction is used.

Having a set of predictors, the link model can be createdin the following way. In the set of predictors, each pi repre-sents a past situation where the link was in a similar state toits current status. It can be assumed that in these predic-tors, different patterns of SNR changes appear because ina given situation the nodes have typically several optionsof how to behave. In order to predict the most probableone of these patterns, the pattern which appeared the mostfrequently in the past should be chosen. This can be doneby looking at which predictor has the most similarities tothe other ones. Again, the normalized cross-correlationfunction is used for measuring the similarity between pre-dictors pi and pj, which is denoted by ci;j. After this, theaverage similarity of a predictor pi is defined as

ci ¼PL

j¼1ci;j

L; ð16Þ

where L is the total number of predictors.For the prediction, the predictor with the maximum

average similarity among all the predictors is chosen andthe link future behavior is modeled by the selected predic-tor. Choosing one of the predictors directly as the predic-tion means that the prediction has the same length as thepredictor. Thus, if the predictor contains l measurements,an l-step-ahead prediction is performed.

4.3.3. Fallback option using autoregression

It can happen that the Parameter Estimator does notfind any match in the training data due to the followingreasons:

� The training data are too short, as the order of the train-ing measurements has to be at least the length of thequery o (for being able to compute the cross-correlation)plus the prediction order l (as the l training samples aftera matching part of the training data are used as apredictor).� The cross-correlation does not contain a value above the

match threshold cmin, because the pattern in the querywas not observed before.

In such a case, we use a fallback solution exploiting theinherent predictive capability of the Kalman filter. As ourKalman filter, a first order autoregressive link modelAR(1) is created in the time update step of the State Obser-vation (see Section 4.2). Using this model for an iterative

ction in mesh networks, Comput. Commun. (2008), doi:10.1016/

Table 2Summary of the XCoPred mechanism’s design parameters

Design parameter Value

Kalman filter parametersa Computed according to Eq. (8)c Computed according to Eq. (9)Process noise covariance (S) 49Training data order (O) 10 (see Section 5.3)

Prediction parametersMeasurement interval (T m) 1 sNo. of stored measurements (N) 172800Query order (o) 60 (see Section 5.3)Match threshold (cmin) 0.95 (see Section 5.3)Prediction order (l) Depends on the application

10 K. Farkas et al. / Computer Communications xxx (2008) xxx–xxx

ARTICLE IN PRESS

l-step-ahead prediction6 has the benefit that the modelalready exists and can simply be applied. Thus, in any case,even if the current situation was not observed before, a pre-diction will be available.

Table 2 gives a summary of the design parameters.

5. Evaluation

In this section, we evaluate XCoPred with SNR mea-surements from our mesh testbed network. The testbeditself and the measurement setup we used for evaluationare described in Section 5.1. The important question ofwhen to trigger a prediction is addressed in Section 5.2.As described in the previous sections, XCoPred has a num-ber of parameters which have to be set appropriately. Thesetting of these parameters is discussed in Section 5.3,together with the quality of matches we get for our specificsetting of the parameters. Finally, in Section 5.4 we evalu-ate the predictions XCoPred makes in terms of averageprediction error and compare this to linear prediction.

5.1. TIK-NET Testbed

The testbed we used for the evaluation is a mesh networkconsisting of 20 static and one mobile node, situated on onefloor in an office building at ETH Zurich. The map of the sta-tic part of this testbed is shown in Fig. 8. All the nodes areequipped with 802.11 b/g WLAN interfaces, operated bythe Madwifi driver [24]. The driver reports the Received Signal

Strength Indicator (RSSI) for every packet it receives. TheseRSSI values are integer values in the range of 0–60 and can beconverted SNR values according to [25]. The mobile node is aNokia WLAN enabled mobile phone. The RSSI values of thebeacons, sent 10 times a second, are logged by every staticnode in its transmission range, resampled to one measurementper second and stored for later, offline analysis.7

6 Iterative prediction means that the predicted next-step-value is usedagain as input for the model. Doing this l times leads to an l-step-ahead

prediction.7 Note that in this testbed, the static nodes do the measurements.

However, the patterns observed on the static nodes should be more or lessthe same as if they were measured on the mobile node.

Please cite this article in press as: K. Farkas et al., Link quality predij.comcom.2008.01.047

For our evaluation we used two datasets from this test-bed. In a first experiment, we wanted to see how well cer-tain mobility patterns were represented in the SNR timeseries. Therefor, we consecutively repeated the followingfour typical actions, ten times each:

(1) Fetch a document from the printer and return to theoffice.

(2) Take a break in the coffee corner and return to theoffice.

(3) Go to the bathroom and return to the office.(4) Go outside and return to the office.

The measurement of SNR values from each of the testbednodes to the mobile node for roughly 6 hours, during whichthese actions were performed altogether, is our Dataset A.For this dataset we have the exact information about whena node moves from where to where and therefor can use itto validate the matches we get from the cross-correlation.

The second measurement, Dataset B, is a whole week(i.e. 5 workdays) of SNR values collected while workingregularly and always carrying the mobile phone. Of coursethis dataset also contains all the above mentioned mobilitypatterns several times, along with other more or less fre-quent patterns.

5.2. Triggers

The question of when a mobile node should do a predic-tion for its links was not addressed so far. In a scenariosuch as our office environment, the nodes are most of thetime static, i.e. the user is sitting at his/her desk, in a meet-ing, having lunch, etc. During these static periods, thehandover management does not need a prediction of theSNR variations8, as the node then is statically associatedwith an access point. But as soon as the node starts tomove, we would like to know what is going on in orderto make good handover decisions.

In order to detect when a node starts to move, we use asimple but effective triggering system. We define two statesin which the node can be: either it is steady or moving.9 Forthe transitions between these two states, we use simple con-ditions on the evolution of the filtered SNR time series. Ifthe node is in steady state and the SNR changes a certainamount during a specified number of measurements, it trig-gers a prediction and switches to moving state. In movingstate, if the SNR variation is below a certain thresholdfor a certain time, it switches back to steady state. Theseconditions are given in the following two equations:

8 Of course for other applications it might also be interesting to predicthow long such a static state is going to last. However, this is not whatXCoPred was designed for.

9 Note that this state captures also the situation when the signalpropagation conditions are changing regardless the node is moving or not.

ction in mesh networks, Comput. Commun. (2008), doi:10.1016/

Fig. 8. The TIK-NET mesh testbed.

K. Farkas et al. / Computer Communications xxx (2008) xxx–xxx 11

ARTICLE IN PRESS

jSNRðtÞ � SNRðt � kÞj > T moving; ð17ÞjSNRðtÞ � SNRðt � kÞj > T steady: ð18Þ

Experimenting with the parameters of these conditionshas shown that for the testbed, k = 10 s, Tmoving = 10 dB,Tsteady = 3 dB are working well. We applied the trigger sys-tem with these parameters to Dataset A on the link to thestatic node located in the office which is the starting- andend-point of all of the four mobility patterns mentionedabove. On this link the trigger fires 83 times, 80 of whichare desired, i.e. 10 times for moving from office to printer,10 times printer to office, 10 times office to bathroom, andso on. All the movements trigger a prediction. Further weget 2 false positives, when a trigger is fired while the node isactually not moving and 1 additional trigger for a move-ment which is reported twice.

5.3. Parameters

There remain three important parameters of the XCo-Pred algorithm to be set: (i) the training data order forthe autoregressiv model in the Kalman filter, (ii) the query

order and (iii) the match threshold. These parameters are allinfluencing the quality of the predictions we get and are alldepending on the type of patterns we observe in the net-work, i.e. how fast are the nodes moving, how often dothey move, and so on. In the following, we discuss for eachof these parameters how their values influence the predic-tions and how we empirically set them for the specific sce-nario under which we evaluated XCoPred.

(1) Training data order: As discussed previously, the Kal-man filter parameters a and c can be computedaccording to Eqs. (8) and (9). In order to set themat each filtering step, that is at each time a new mea-

Please cite this article in press as: K. Farkas et al., Link quality predij.comcom.2008.01.047

surement is made, the past measurements of the linkhave to be used as training data. But we have not dis-cussed yet the training data order O, i.e., how manyvalues in the past should be used as training data.Using a small number of training measurements forcreating the model gives better results than choosinga large training data order, since this creates a moreaccurate model of the actual link state. As the Kal-man filter operates only with 1-step-ahead predic-tions, this is different from predicting the linkquality changes which requires long term predictions.Using our Dataset A, we calibrated the training dataorder to O = 10 for good performance of the filter.

(2) Query order: The query order o (see Definition 4.3) isrelated to how long a pattern in the movement of thenodes is assumed to be. The two main effects of thequery order on the prediction accuracy are:

ction i

� A short query leads to a large number of predictors.This is a benefit, as the prediction can be based onmany similar situations from the past. However, ifthe query order is too small, the predictors are badrepresentations of the current node behavior. Thismay lead to a degraded accuracy of the prediction.� A large query order leads to a small number of higher

quality predictors with the risk that a similar situa-tion is not recognized and no predictor is found at all.This should be avoided, as in this case the fallbacksolution (see Section 4.3) has to be applied.

In our testbed we have set the query order to a value ofo = 60 (i.e. taking the last 60 s) as this is roughly the dura-tion of movement we can expect in an office environment.The measurements in our Dataset A, where we know whenthe node moves from where to where, confirm this value.Typical lengths of patterns in this dataset are between 30and 90 s.

n mesh networks, Comput. Commun. (2008), doi:10.1016/

12 K. Farkas et al. / Computer Communications xxx (2008) xxx–xxx

ARTICLE IN PRESS

(3) Match Threshold: The match threshold cmin (see Def-inition 4.4) is the value above which the correlation ofthe query and the training data at a certain lag m isconsidered to be a match. The match threshold, justas the query order, influences the number of matchesfound and hence the number of predictors and theaccuracy of the prediction. Its influence is quite sim-ilar to that of the query order:

TableMatch

Movem

OfficePrinterOfficeCoffeeOfficeOutsidOfficeBathro

Pleaj.com

� A small match threshold leads to a large number ofpredictors, as the match need not be perfect. Ho-wever, a too small threshold can be harmful sincepatterns are considered as matches which are notreally similar to the query.� On the other hand, choosing a high match thresh-

old leads to a small number of predictors with therisk of not recognizing the same mobility patterneven though it would be in the training data.

From observations made with our Dataset A, we set thematch threshold to a value of cmin ¼ 0:95. This gives rea-sonable matches in our testbed as we show now.

For the parameters set as discussed above, we have eval-uated the matches we get from the cross-correlation usingDataset A. In order to do so, we used the same link as inSection 5.2 using the 80 desired triggers received from thetrigger system (we let the 3 undesired triggers aside). Foreach of the triggers we checked whether the best resultingmatch is indeed from the same mobility pattern or not.Table 3 summarizes for each of the 80 movements in thisdataset the number of true positives (reported matchesfrom the same mobility pattern), false positives (reported

3es for the 80 movements in Dataset A

ent Total # True posit

? Printer 10 8 (80%)? Office 10 9 (90%)? Coffee 10 7 (70%)? Office 10 10 (100%)? Outside 10 10 (100%)e ? Office 10 10 (100%)? Bathroom 10 6 (60%)om ? Office 10 8 (80%)

0 10 20 30

2

4

6

8

Predictio

Mea

n A

bsol

ute

Err

or [d

B]

XCoPredLinear Prediction

Fig. 9. Mean prediction error for different predicti

se cite this article in press as: K. Farkas et al., Link quality predicom.2008.01.047

matches which were caused by another mobility pattern)and the number of cases where no match was found. Intotal, 85% of the patterns were correctly recognized,11.25% of the matches came from a false pattern, and for3.75% no match was found at all.

5.4. Prediction accuracy

In order to evaluate the accuracy of the predictions, weran XCoPred on Dataset B using the whole 5 days of mea-surements as training data. For each link (i.e. the 20 linksfrom the mobile node to each of the static nodes) we pre-dicted the SNR variations 60 s ahead in time whenever atrigger fired (see Section 5.2) and afterwards checked howaccurate the prediction was. In total 2483 predictions wereevaluated and averaged.

Fig. 9 depicts in detail the dependence of the averageabsolute prediction error depending on how far in thefuture the prediction goes. In case of XCoPred, the errorincreases to around 2.5 dB for a 20-step-ahead prediction(i.e. 20 s ahead). This error comes from either false posi-tives, that is patterns where the wrong mobility patternwas found as a match, or from fluctuations in the SNR val-ues caused by slight modifications of a correctly detectedmobility pattern and random effects not captured by the fil-ter. The error then only slightly increases to a value ofabout 3 dB for a 60-step-ahead prediction. For linear pre-diction, the error increases more steadily. For a 20-step-ahead prediction we see an error of around 3.2 dB and itthen goes up to 6.4 dB predicting 60 s ahead. Thus, wecan state that the pattern matching based approach workssignificantly better for middle term predictions ranging

ives (%) False positives No match

1 10 13 00 00 00 03 12 0

0 40 50 60n Step [s]

on length with XCoPred and linear prediction.

ction in mesh networks, Comput. Commun. (2008), doi:10.1016/

Fig. 10. APs’ link quality evolution to a mobile node while roaming (standard handoff behavior).

K. Farkas et al. / Computer Communications xxx (2008) xxx–xxx 13

ARTICLE IN PRESS

more than a few seconds ahead in time than linearprediction.

6. Application – an enhanced handoff management scheme

To illustrate the usefulness of our approach, we proposean enhanced 802.11 handoff management scheme, XCo-Pred-Handoff, benefiting from the link quality predictionsof XCoPred. The basic idea is to predict handovers whileroaming between access points (APs) in order to obtainthe best SNR value. We evaluate our solution by roamingbetween the APs of our 802.11 mesh testbed network.

10 Note that in this figure the optimal handoff points in time are actuallylater than in Fig. 10 because this plot depicts a different experiment butusing the same roaming paths.

6.1. Handoffs in 802.11 mesh networks

While roaming, a mobile node changes its point ofattachment. This requires layer 2 handoff from one APto another in order to keep connectivity. According tothe IEEE 802.11 standard [26], this function is dividedinto three steps: (i) discovery; (ii) authentication; and(iii) association. In the first step, also called scanning,the wireless card sends Probe Request frames on allIEEE 802.11 channels and waits for Probe Responseframes. These frames indicate the availability of an in-range AP. In the second step, the mobile node choosesthe AP showing the highest link quality (i.e., either RSSIor SNR based) and starts to authenticate (i.e., Authenti-cation Request/Response). If the authentication is suc-cessful, the mobile node sends an Association Request

Please cite this article in press as: K. Farkas et al., Link quality predij.comcom.2008.01.047

and in return the AP sends an Association Response toconclude the handoff.

The question is now how the handoff process is trig-gered. The most common behavior of drivers regardingthe handoff trigger is to wait until the signal quality fromthe current AP drops below a certain threshold. Whenthis threshold is reached, the mobile node starts the threehandoff steps. Fig. 10 shows a measurement example ofthree APs’ link quality evolution to a mobile node, car-ried out in our mesh testbed network, with two handoffswhile roaming. We can observe that the handoffs occurwhen the signal quality (SNR) drops below 6 dBm.Yet, monitoring (i.e., continuous scanning) the link qual-ity of these three APs on the same roaming paths showsthat we could avoid going down to this threshold and wecan optimize the handoff trigger. Fig. 11 shows anothermeasurement example, carried out again in our meshtestbed network, of the same three APs’ link quality evo-lution while scanning. We can observe that the handoffcan be optimized by switching to the next AP whenthe SNR of the link to this AP is already higher thanthe actual one.10

Several approaches propose to improve the handoffmanagement scheme of 802.11 wireless cards. In [27], Noelet al. propose to predict the next point of attachment byselecting the closest AP to a mobile node using the Haver-

ction in mesh networks, Comput. Commun. (2008), doi:10.1016/

Fig. 11. APs’ link quality evolution to a mobile node while roaming (continuous scanning).

14 K. Farkas et al. / Computer Communications xxx (2008) xxx–xxx

ARTICLE IN PRESS

sine distance formula. This however requires nodes toknow their position by GPS. If this is suitable for outdoorenvironments, in an indoor environment GPS localizationis deficient. Besides, the assumption that the best link qual-ity can be obtained by taking the closest AP is not alwaysverified because of the large-scale fading effect mentionedearlier as well as the waveguide effect occurring in corridorsand staircases. Rivera et al. [28] revert the handoff manage-ment to the mesh infrastructure. APs continuously monitorthe link quality of any mobile node in their range and sharethis information with other APs in the vicinity to definewhich one of them should serve the mobile node. This addssome state and complexity to the infrastructure not com-plying with the ‘‘end-to-end” principle, which states thatthe complexity should be delegated as much as possibleto end nodes.

6.2. XCoPred-Handoff: An enhanced handoff management

scheme for 802.11 mesh networks

We propose to enhance the handoff management func-tionality of 802.11 wireless cards. Our basic idea is tooptimize the handoff time trigger in order to get the bestoverall link quality. This will increase the overallthroughput by minimizing retransmissions and allowthe wireless card to function at its highest bit rate (i.e.,11 or 54 Mb/s). More precisely, XCoPred-Handoff mon-

Please cite this article in press as: K. Farkas et al., Link quality predij.comcom.2008.01.047

itors the link quality to the current and possible APs andrequests predictions on the future link quality evolutionof these links using our XCoPred method. Based onthe returned matching, XCoPred-Handhoff computesthe intersection of the predicted evolution of the currentlink quality with all predicted link quality evolution ofpossible APs. It then chooses the intersection with themaximum SNR value and draws the time when this willoccur (according to the prediction). This time is used asthe handoff trigger time.

6.3. Experimental setup and results

We roam one-way at walking speed from one office toanother where static node 2 and 20 of our mesh testbed aresituated, respectively, as shown in Fig. 8. We take the lowercorridor for this path. The mobile node is an IBM X20 laptopequipped with a Prism II 802.11b WLAN interface operatedby the HostAP driver [29] under Linux 2.6. The driverreports the Signal and Noise strength for every packet itreceives, from which we can compute the SNR values.

We train XCoPred by walking several times back andforth on this path. XCoPred gathers the SNR values of linkquality evolution from scan results for each distinct AP (oneinstance of this training is shown in Fig. 11). Now whileroaming, XCoPred uses this training data to match the pastand current link quality evolution of available links to APs

ction in mesh networks, Comput. Commun. (2008), doi:10.1016/

Fig. 12. APs’ link quality evolution to a mobile node while roaming (applying XCoPred-Handoff).

K. Farkas et al. / Computer Communications xxx (2008) xxx–xxx 15

ARTICLE IN PRESS

and predict their future evolution.11 Given the matches, ourXCoPred-Handoff scheme determines the current timing atwhich it is optimal to trigger the handoff function in orderto swap to the AP with the best SNR value.

Fig. 12 shows the link quality evolution using ourenhanced handoff scheme while roaming. Compared toFig. 10, we can observe that the handovers happen to thesame three APs but at the optimal time to always get themaximal SNR.12

Our enhancement requires only a little modification ofthe HostAP driver. It can even rely on the manual roamingfunctionality offered by Linux wireless tools [31]. Besides,our scheme reduces the handoff latency since no scanningis necessary. According to [30], 90% of the handoff latencyis accounted to the discovery/scanning phase. Here, weonly need to authenticate and associate.

11 The current link quality to which the card is associated can be obtainedat no cost by looking at the values updated at every received packet in/proc/net/wireless. However, knowing the link quality to other APsrequires to perform a discovery scan which hangs the card for severalmilliseconds (i.e., between 50 and 300 ms) [30]. But we can relieve suchscans by associating the current pattern of the link quality evolution of thecurrent AP to the other APs’ link quality evolution gathered during thetraining phase. In our case, this is straightforward since the training data isonly composed of APs seen on the walking one-way trip of the experiment.12 Note again that the absolute point in time of the handovers are not

relevant in the comparison because the plots depict two differentmeasurements.

Please cite this article in press as: K. Farkas et al., Link quality predij.comcom.2008.01.047

To conclude, we have shown the benefits of XCoPredpredictions on link quality to enhance the 802.11 handoffmanagement scheme.

7. Conclusions and future work

In this paper we presented XCoPred, a pattern match-ing based approach to predict links’ state evolution. Thenovelty of our approach is using pattern matching tech-niques on the link quality variations represented by SNRmeasurement values. As such it is complementary toschemes tackling mobility prediction at a coarser view.These approaches enable to predict a node’s future loca-tion with relative or absolute coordinates or access point/base station association using either linear, pattern match-ing or information theoretic techniques. What can bederived from these approaches is a node’s next move (loca-tion or association) but with a limited precision in spaceand time. XCoPred on the other hand can give accuratepredictions in the time dimension (space is not considered).It is centered on link connectivity. XCoPred takes profit ofthe underlying patterns governing human motion at thescale of wireless devices’ radio range (microscopic scale).Note that patterns also occur at a macroscopic scale andare at the basis of macroscopic mobility predictionschemes mentioned previously. Besides, our method isbased on SNR, a measure that gives clear indications onthe quality of a node’s connectivity with its neighbors.

ction in mesh networks, Comput. Commun. (2008), doi:10.1016/

16 K. Farkas et al. / Computer Communications xxx (2008) xxx–xxx

ARTICLE IN PRESS

So, after proving the existence of such patterns and theirreflection in the SNR, we proposed XCoPred. When a pre-diction is required for a link, XCoPred looks for similarpatterns in the past. This results in a set of predictors,i.e., possible matching patterns. The one with the highestnormalized correlation with the current one is chosen(cross-correlation). For cases where no match can befound, we applied a fallback solution (based on the autore-gressive feature of the Kalman filter). Then we evaluatedXCoPred in our real indoor mesh testbed. Eventually, weproposed and evaluated an enhanced 802.11 handovermanagement scheme using XCoPred’s predictions. Resultsshow that we can achieve a far better SNR while roamingcompared to the nominal behavior of wireless cards. Thisapplication clearly shows that XCoPred is highly valuableas a cross-layer feedback and gives much better predictionaccuracy for mid-term predictions than other techniques(such as linear prediction).

Still, an open issue is to define XCoPred’s optimal param-eter settings for various mobility context (e.g., vehicularmotion, indoor displacements). This is tightly related tothe mobility context inference. Unfortunately, the kind ofexperimentation this requires is difficult to set up and currenttraces available at CRAWDAD [32] do not contain quanti-tative values on link SNR measurements (only on/off con-nectivity). We are currently working on a macroscopicmobility prediction scheme to perform topology estimationand prediction using Multidimensional Scaling (MDS)approaches [33]. Our future goal is being able to predict alsothe occurrence of future links which is still a lacking featureof XCoPred.

References

[1] F. Bai, N. Sadagopan, A. Helmy, The important framework foranalyzing the impact of mobility on performance of routing for adhoc networks, Ad Hoc Networks Journal – Elsevier Science 1–4(2003) 383–403.

[2] M. Grossglauser, D. Tse, Mobility increases the capacity of ad hocwireless networks, IEEE/ACM Transactions on Networking 10 (4)(2002) 477–486.

[3] S. Capkun, J.-P. Hubaux, L. Buttyan, Mobility helps security in adhoc networks, in: ACM Mobihoc, Annapolis, MD, June 2003.

[4] B. Liu, P. Brass, O. Dousse, P. Nain, D. Towsley, Mobility improvescoverage of sensor networks, in: Proc. ACM Mobihoc, Urbana-Champaign, IL, USA, May 2005.

[5] K. Farkas, T. Hossmann, L. Ruf, B. Plattner, Pattern matching basedlink quality prediction in wireless mobile ad hoc networks, in:Proceedings of the 9th ACM/IEEE International Symposium onModeling, Analysis and Simulation of Wireless and Mobile Systems(MSWiM 2006), Torremolinos, Malaga, Spain, October 2006.

[6] W. Su, S. Lee, M. Gerla, Mobility prediction and routing in ad hocwireless networks, International Journal of Network Management(2000).

[7] H.S. Hassanein, H. Du, C-H Yeh, Robust route establishment in highmobility MANETS, in: Proceedings of the International ComputerEngineering Conference (ICENCO), Cairo, Egypt, December 2004.

[8] G. Wang, L. Zhang, J. Cao, A virtual circle-based clustering algorithmwith mobility prediction in large-scale MANETs, in: Proceedings of theThird International Conference on Networking and Mobile Comput-ing (ICCNMC 2005), Zhangjiajie, China, August 2005.

Please cite this article in press as: K. Farkas et al., Link quality predij.comcom.2008.01.047

[9] G. Welch, G. Bishop, An Introduction to the Kalman Filter,Technical report, 1995.

[10] T. Liu, P. Bahl, I. Chlamtac, Mobility modeling, location tracking,and trajectory prediction in wireless ATM networks, IEEE Journalon Selected Areas in Communications 16 (6) (1998) 922–936.

[11] Z.R. Zaidi, B.L. Mark, Real-time mobility tracking algorithms forcellular networks based on Kalman filtering, IEEE Transactions onMobile Computing 4 (2) (2005) 195–208.

[12] Z.R. Zaidi, B.L. Mark, Mobility estimation for wireless networksbased on an autoregressive model, in: Proceedings of IEEE GLO-BECOM 2004, Dallas, Texas, USA, November–Dececember 2004.

[13] P. Bahl, V.N. Padmanabhan, RADAR: An in-building RF-baseduser location and tracking system, in: Proceedings of the 19th AnnualConference on Computer Communications and Networking (IEEEINFOCOM 2000), vol. 2, Tel-Aviv, Israel, March 2000, pp. 775–784.

[14] J. Capka, R. Boutaba, Mobility prediction in wireless networks usingneural networks, in: Proceedings of the 7th IFIP/IEEE InternationalConference on Management of Multimedia Networks and Services(MMNS 2004), San Diego, CA, USA, October 2004.

[15] A. Bhattacharya, S.K. Das, LeZi-update: An information-theoreticapproach to track mobile users in PCS networks, in: Proceedings ofthe 5th ACM/IEEE Annual Conference on Mobile Computing andNetworking (MOBICOM’99), Seattle, USA, August 1999.

[16] A. Bhattacharya, S.K. Das, LeZi-update: An information-theoreticframework for personal mobility tracking in PCS networks, ACM/Kluwer Journal on Wireless Networks 8 (2–3) (2002) 121–135.

[17] J. Ziv, A. Lempel, A universal algorithm for sequential data compres-sion, IEEE Transactions on Information Theory 23 (3) (1977) 337–343.

[18] C. Tuduce, T. Gross, A mobility model based on WLAN traces andits validation, in: Proc. IEEE INFOCOM, Miami, FL, March 2005.

[19] M. Boc, A. Fladenmuller, M. Dias de Amorim, Otiy: Locators trackingnodes, in: Proc. ACM CoNext, New York, NY, December 2007.

[20] T.S. Rappaport, Wireless Communications: Principles and Practice,Prentice Hall, 2001.

[21] IEEE-SA Standards Boards. Part 11: Wireless LAN Medium AccessControl (MAC) and Physical Layer (PHY) Specifications, June 2003.<http://standards.ieee.org/getieee802/802.11.html>.

[22] R. Jain, The Art of Computer Systems Performance Analysis, JohnWiley and Sons, 1991.

[23] J. Lewis, Fast normalized cross-correlation, in: Vision Interface, 1995.[24] S. Leffler, Multiband atheros driver for wifi (madwifi), 2005. <http://

sourceforge.net/projects/madwifi>.[25] J. Bardwell, Converting Signal Strength Percentage to dbm Values,

November 2002.[26] IEEE Computer Society LANMAN Standards Committee, Wireless

LAN Medium Access Control (MAC) and Physical Layer (PHY)Specifications. IEEE Standard 802.11-1997, New York, NY, 1997.

[27] J. Montavont, T. Noel, IEEE 802.11 handovers assisted by gpsinformation, in: IEEE International Conference on Wireless andMobile Computing, Networking and Communications(WiMob’2006), 2006, pp. 166–172.

[28] Yair Amir, Claudiu Danilov, Michael Hilsdale, Raluca Musvaloiu-Elefteri, Nilo Rivera. Fast handoff for seamless wireless meshnetworks. in: MobiSys’06: Proceedings of the 4th InternationalConference on Mobile Systems, Applications and Services, NewYork, NY, USA, 2006, pp. 83–95. ACM.

[29] Jouni Malinen. Host AP driver for Intersil Prism2/2.5/3.[30] Arunesh Mishra, Minho Shin, William Arbaugh, An empirical

analysis of the IEEE 802.11 mac layer handoff process, SIGCOMMComputer Communication Review 33 (2) (2003) 93–102.

[31] Jean Tourrilhes. Linux Wireless Extensions.[32] D. Kotz, T. Henderson, I. Abyzov, CRAWDAD data set dartmouth/

campus (v. 2004-12-18). Downloaded from <http://crawdad.cs.dart-mouth.edu/dartmouth/campus>, 2004.

[33] Y. Shang, W. Ruml, Improved MDS-based Localization, in: Pro-ceedings of the 23rd Annual Joint Conference of the IEEE Computerand Communications Societies (IEEE INFOCOM 2004), HongKong, China, March 2004.

ction in mesh networks, Comput. Commun. (2008), doi:10.1016/