[IEEE 2011 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops) - Seattle, WA, USA (2011.03.21-2011.03.25)] 2011 IEEE International Conference on Pervasive Computing and Communications Workshops (PERCOM Workshops) - Improving pervasive positioning through three-tier cyber foraging

Download [IEEE 2011 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops) - Seattle, WA, USA (2011.03.21-2011.03.25)] 2011 IEEE International Conference on Pervasive Computing and Communications Workshops (PERCOM Workshops) - Improving pervasive positioning through three-tier cyber foraging

Post on 04-Mar-2017




0 download


Improving Pervasive Positioning through Three-tier Cyber ForagingMads Dar Kristensen, Mikkel Baun Kjrgaard, Thomas ToftkjrInteractive SpacesDepartment of Computer ScienceAarhus University, DenmarkEmail: {madsk,mikkelbk,toughcar}@cs.au.dkSourav Bhattacharya, Petteri NurmiHelsinki Institute for Information Technology HIITDepartment of Computer ScienceUniversity of Helsinki, FinlandEmail: {sourav.bhattacharya,petteri.nurmi}@cs.helsinki.fiAbstractCyber foraging is a pervasive computing techniquewhere small, mobile devices offload resource intensive workto stronger, nearby surrogate computers in order to preserveenergy and achieve better performance. The problem withrelying only on local resources is, that the availability ofsuch resources may be scarce in many environments. In thispaper we therefore argue that a third tier should be addedwhen considering cyber foraging; namely cloud computing.By considering the local device, nearby surrogates, and thecloud when scheduling, the mobile device may be able tocontinue using remote resources even when such resources arenot available in its vicinity.An important challenge of pervasive computing is estimatingthe physical position of mobile devices. As the requirementsincrease for continuous and accurate positioning so does thecomputational requirements of positioningeven limiting thepossible accuracy in many cases. In this paper we describehow a three tier cyber foraging approach can help improvethe positioning capabilities of mobile devices. We demonstrateinitial results for how such an approach applies to particlefiltering-based GSM positioning.Keywords-Distributed systems, pervasive computing, mobilecomputing, pervasive positioningI. INTRODUCTIONCyber foraginga term defined by Satyanarayanan [1]and further refined by Balan et al. [2]is the opportunisticuse of nearby computing resources by small, mobile de-vices. Being opportunistic about the use of remote resourcesmeans, that the mobile device must not depend on remoteresources being available, since it will also have to workwhen entering environments where no such resources areavailable.For some use-cases local execution is a feasible but notdesirable option, because working alone means a substan-tial quality degradation. It is in these cases the third tieris neccesarythe cloud [3]. By considering not only thelocal device and surrogates in the immediate vicinity, themobile device may be able to continue performing cyberforaging even when moving into resource impoverishedenvironments. Ideally, when moving from a resource richenvironment, where surrogate computers are available, into aresource poor environment, the mobile device should be ableto either migrate its running tasks directly from a surrogateand into the cloud, or to perform the tasks locally for a shortwhile until cloud computing becomes available.An important challenge of pervasive computing is es-timating the physical position of mobile devices. As therequirements increase for continuous and accurate on-devicepositioning, so does the computational requirements of posi-tioning due to both developments in algorithms, e.g, particlefiltering, and an increase in different sensor inputs, e.g.,from several radio interfaces. This added load means, thatthe limited computational capabilities of current devices isin many cases limiting the possible accuracy of the posi-tioning algorithms. We therefore argue for that a three tiercyber foraging approach can help improve the positioningcapabilities of mobile devices. As a realistic use-case, inthis paper we apply three-tier cyber foraging to extenda positioning technique known as location fingerprinting.While locating a device, the considered positioning systemuses a probabilistic centroid algorithm combined with par-ticle filtering [4] on GSM signal information. One of themain limitations when running such a particle filtering-basedpositioning algorithm on a mobile device is the number ofparticles that can be used in the position estimation phase. Inthe original article [4], the authors are limited to a thousandparticles to achieve a near real-time performance on NokiaN900 devices. Cyber foraging provides a unique opportunityto significantly increase the number of particles withoutviolating the near real-time constraint, thus positively in-fluencing the overall positioning accuracy. For the presenteddataset the positioning accuracy improves significantly asthe number of particles increases.The structure of the paper is as follows: Section IIdescribes the GSM positioning system, analyses how thecomputational complexity depends on the number of par-1st IEEE PerCom Workshop on Pervasive Communities and Service Clouds978-1-61284-937-9/11/$26.00 2011 IEEE 135ticles, and presents results for how the accuracy improveswhen increasing the number of particles. In Section III wediscuss which factors a three tier cyber foraging systemneeds to consider, and in Section IV we describe how toemploy it in the presented use-case. We also present someinitial results showing the obtainable benefits of using cyberforaging in this setting. Finally, the paper is concluded andfuture work is discussed in Section V.II. PERVASIVE POSITIONINGIn this paper we consider a positioning technique knownas location fingerprinting. Fingerprinting is a popular lo-cation technique, having the major advantage of exploitingalready existing network infrastructures, like IEEE 802.11 orGSM, which avoids extra deployment costs and effort. Basedon a database of pre-recorded measurements of networkcharacteristics from different locations, denoted as finger-prints, a wireless clients location is estimated by inspectingcurrently measured network characteristics. Network charac-teristics are typically base station identifiers and the receivedsignal strength [5].Fingerprinting based positioning systems have been re-alised in three different setups either on-device, device-assisted or network-based [5]. When on-device the devicemakes both the measurements of the network characteristicsand estimates the position, when device-assisted the devicemakes the measurements and forwards these to a positioningserver, and in the network-based setup the network makesthe measurements and forwards these to a positioning server.Related work has also proposed other setups, e.g., zone-based reporting [6] which tries to divide the tasks betweenthe device and the server to minimise server reporting. Inthis work, by applying cyber foraging, we aim to realisea system that can automatically switch between on-deviceand device-assisted and furthermore not only take advantageof static positioning servers but also neighbouring peers.This has three main benefits: improved positioning as weare not restricted by the computational limits of a particulardevice, improved privacy as we do not delegate positioningto a static server that can be used to monitor the usersposition, and lower positioning latency by utilising neigh-bouring peers instead of having to reach a server over severaltransmission links, e.g., a slow cellular connection.As a use-case of the three-tier cyber foraging systemwe consider a positioning system proposed by Nurmi etal. [4] that follows a fingerprinting approach based onGSM measurements combined with particle filtering forposition estimation. The entire algorithm can be deployedon a mobile phone, in our case Nokia N900 devices. In thefollowing we provide an overview of the positioning system,for details see [4].A. World and Sensor ModelsThe positioning algorithm begins by creating a discreterepresentation of the world by employing a grid over thesurface of the earth with d times d patches. The discreterepresentation helps to facilitate calibration efforts and en-ables balancing between positioning accuracy and radio mapsize. In this paper we use d = 20 meters. For seamlessinterchange between geographical coordinates (e.g., latitude,longitude) and grid identifiers (e.g, row, column), a forwardand a reverse mapping have been defined.Once the discrete representation of the world is gener-ated, the positioning algorithm requires a sensor model thatcaptures variations of GSM signal intensities within a gridcell. To facilitate updating and maintaining the radio mapson mobile devices, the positioning algorithm uses Gaussiandistributions as sensor models.B. Position EstimationAccording to the sensor model, the probability of observ-ing the GSM cell j having signal intensity s in the grid celli is given byp (i|j, s) = 122i,jexp( (s i,j)222i,j), (1)where i,j and i,j denote the mean and standard devia-tion of the corresponding Gaussian distribution respectively.These parameters can either be generated from the cali-bration data or be learnt directly on the device. A simpleway to estimate the location of a device is to calculate theprobabilities of each grid cell using Equation 1 and then usethe non-zero probabilities to calculate a weighted average ofcorresponding grid cell locations.To enable tracking and to smooth the estimated trajec-tory, the positioning algorithm employs particle filtering, asequential Monte-Carlo technique that uses a discrete setof weighted samples, referred to as particles. The particlesmaintain a probability distribution for the location estimateover time [7], [8]. At the beginning of a tracking period a setof N particles, i.e., {xz, wz}Nz=1, are initialised. Where xpdenotes the location of the particle p and wp is the associatedweight. The initial positions of the particles are sampled as:xz C1p(i|j, s) + bN (0, )/dc, (2)where C =Mq=1 p(iq|j, s) is the normalisation constantthat ensures the probabilities of M grid cells, where GSMcell j was seen, sum to unity. The Gaussian term, N (0, )/d,is used to model measurement errors with =N/3.Once the initial positions of the particles are sampled,the probability p(xz|j, s) of each particle z is calculated asfollows:p(xz|j, s) =Mq=1p(iq|j, s)exp(||xz iq||2), (3)136where, ||xziq|| is the Manhattan distance between locationof the particle xz and the grid cell iq .During tracking, a Gaussian movement model is appliedand new positions of the particles are sampled as:xz xz + bN (0, )/dc. (4)The particle movement model allows the particles to moveuniformly in all directions and subsequently new weightsof the particles should be calculated using Equation 3. Tomake the particle distribution more consistent, resamplingof particles are done in proportion to their weights. At anygiven time t, the particles maintain a probability distributionover the possible locations of the mobile device and a pointestimate L(t) can be calculated as the weighted centroid ofthe particle distribution, i.e.,L(t) =Nz=1 wzxzNz=1 wz(5)The resulting estimate identifies a grid and that can beconverted into latitude, longitude coordinates.C. DiscussionThe running time and memory requirement of the particlefilter depends on the number of particles used in the trackingphase. Moreover, the number of grids that have non-zeroprobability has an influence on the time complexity, seeEquation 3. To analyse the influence of the number ofparticles on the overall positioning accuracy, we have con-ducted a number of simulation experiments where we varythe number of particles and calculate different percentilesof positioning errors. Figure 1 shows the results of thesimulation study. As can be seen from Figure 1 the optimalpositioning accuracy is achieved somewhere around 3000particles. Unfortunately using 3000 particles is unrealisticon a mobile device, as documented by the results presentedin Section IV. In the current implementation on Nokia N900devices using 1000 or less particles is necessary, meaningthat positioning accuracy is less than optimal. Runningwith 1000 particles leads to an average running time ofapproximately 6 seconds for each position update on aNokia N900. As motivated earlier, by applied cyber foragingwe will improve the situation by enabling the use of asignificantly higher number of particles in the tracking phasewithout violating the near real-time constraint.III. THREE TIER CYBER FORAGINGCyber foraging as a term was introduced by Satya-narayanan [1] in 2001 and since then a number of systemshave been proposed. Spectra [9], Chroma [10], [11], andScavenger [12] are all examples of cyber foraging systemswhere the main focus has been on the scheduling of tasks.In these systems multiple surrogates may be considered onrun-time, and an execution plan optimising time (and inChromas case also energy) may be chosen. 0 500 1000 1500 2000 0 1000 2000 3000 4000 5000 6000 7000 8000Estimation error (m)Particles50%90%95%99%Figure 1. Variation of 50, 90, 95 and 99 percentile positioning errors withthe number of particles.The scheduler is an important component in any cyberforaging system. Even in the simplest systems, where thescheduler need only choose between local execution or usinga single, specific surrogate, a number of factors need to beconsidered. These factors are estimated task running timeon the different peers, bandwidth and latency of the networklinks between the mobile device and its surrogates, the sizeof input and output data, and the locality of the input andoutput data. Let Si and So be the size in bytes of the inputand output data respectively, let L denote the latency of thenetwork link in seconds, let B denote the bandwidth of thenetwork link in bytes per second, and let Rl and Rs denotethe estimated running time of the task on the local host andsurrogate. Using these denotations the scheduler needs toconsider the question:Rl (L+SiB)+Rs +(L+SoB)(6)If Equation (6) is true local execution should be preferredand otherwise remote execution can commence. Consideringdata locality means considering whether e.g., the input dataalready resides at the surrogate. If it does the cost of inputtransfer may be ignoredwhich in many cases mean thatremote execution is almost always preferable. We will notin this paper go into more details about how scheduling overmultiple, heterogeneous peers can be done efficiently at run-time, but we refer the interested reader to our previous workon the Scavenger cyber foraging system [12], [13].Given a sufficiently advanced scheduler, such as the onesdeveloped within the Scavenger system, adding the thirdtieri.e., adding the use of cloud computingmay beas easy as adding the cloud as a static, always availablesurrogate. Consider the depiction in Figure 2. In this figureis shown the three tiers of execution: 1) the mobile device,2) an opportunistically discovered surrogate reachable overe.g., a Wi-Fi link, and 3) an Internet connected surrogatein the cloud. Given a scheduler that can consider the abovementioned factors adding the cloud as a possible point of137MobiledeviceLocalsurrogateCloudsurrogateWi-FiGSM / Edge / 3G123Figure 2. Three tiers of execution: 1) on-device, 2) nearby surrogate, and3) the cloud.execution is trivial. The tricky part is delivering preciselatency and bandwidth estimates, of the connection betweenthe mobile device and the cloud, to the scheduler. Whenon a mobile network the connection may switch betweenGSM, Edge, and 3G. When on a Wi-Fi network the cloudmay be reachable over the local Internet connection of thatnetwork, which may also have very variable connectionspeed and latency depending on the Internet connection inuse on that network. Given reasonably precise bandwidthand latency estimates using all any these networks, wouldenable Scavengers existing scheduler to reliably considerthe cloud as a third point of execution.IV. APPLYING CYBER FORAGING TO PERVASIVEPOSITIONINGIn this section we look at how and to what effect three tiercyber foraging can be employed in the pervasive positioninguse-case presented in Section II.As noted in Section II, the main hindrance to achievinghigh positioning accuracy on the mobile device is thenumber of particles used in the particle filter. Accordingto our simulations, ideally 3000 or more particles shouldbe used, but in order to provide near real-time updates themobile device must operate with less than 1000 particles. Inorder to identify the number of particles that is feasible touse on the different peers, we have run some benchmarksmeasuring the running time of the particle filter using avarying number of particles. The results of these benchmarksare shown in Figure 3. In these experiments the particle filterwas run on three different hosts: a Nokia N900 phone, a2008 MacBook laptop with a 2.4 GHz Intel Core 2 Duo CPUrepresenting a local surrogate, and a 2010 MacPro with a3.2 GHz Quad-Core Intel Xeon CPU representing the cloud.For each test the particle filter was updated 300 times andthe values reported are the mean and the 90th percentile ofthese runs. 0 1 2 3 4 5 6 7 8 0 1000 2000 3000 4000 5000Time (seconds)ParticlesMacBook (mean)MacBook (90%)MacPro (mean)MacPro (90%)N900 (mean)N900 (90%)Figure 3. Running time of one positioning update of the particle filterwhen using a varying number of particles.Looking at the results in Figure 3 it is clear that themobile device, the Nokia N900, is not capable of workingwith many particles. If e.g., we would like a position updateevery two seconds the mobile device will only be able to use300400 particles, whereas both the local surrogate and thecloud is able to calculate a response using the desired 3000particles within that time bounddisregarding the overheadof input and output transfer for now.When considering network overheads the size of the inputdata, the particle filter and fingerprinting data, is the importfactor in this use casethe output data is simply a (latitude,longitude)-pair. In the current implementation, the particlefilter is approximately 110 KiB in size when 3000 particlesis used. This amount of data is not a problem when utilisinglocal surrogates reachable over Wi-Fi. Even if using an oldIEEE 802.11b network this amount of data can be transferredin less than 0.2 seconds. When using the cloud, e.g., when nolocal surrogates or Wi-Fi coverage is available, transferring110 KiB may become a problem if it must be sent over a 3G,Edge, or even a GSM network. This problem is alleviatedgreatly by working with a scheduler that is aware of datalocality. By pushing the particle filter once, when starting touse the surrogate, it can be made persistent at the surrogate,meaning that only the current signal strength readings mustbe sent to the surrogate when invoking the task. Now onlythe cost of the network latency must be paid when invokingthe task. This cost may still be quite large though, ourinitial tests show that connection latency of approximately0.1 second is to be expected when using the Nokia N900s3G interface, which is why using a nearby surrogate is oftena better choice.As mentioned by Nurmi et al. [4], some optimisationscould be done to the particle filter code, which may meanthat the mobile device (or perhaps a more capable futuremobile device) would be able to run the particle filter withthousands of particles while staying within the near real-time bounds. Even when working on a problem that can be138solved in real-time on a mobile device, there are still twogood reasons for using cyber foraging instead of relyingsolely on using the mobile device: 1) doing the processinglocally means that the mobile devices CPU is fully utilised,leading to bad performance for all other applications on thedevice, and 2) as shown by Kristensen and Bouvin [14],using remote execution for CPU intensive work may leadto considerable energy savings on the mobile device. Thisis due to the fact that, in many mobile devices, the powerusage of a fully utilised CPU is much larger than that of theWi-Fi interface. In some cases it therefore makes sense toturn on the Wi-Fi interface in order to preserve power.V. CONCLUSION AND FUTURE WORKIn this paper we have argued for the use of three tiercyber foraging in pervasive positioning. The current state-of-the-art within pervasive positioning algorithms are in manycases far too heavy for mobile devices to perform, leading tothe use of server based solutions where the mobile devicebecomes dependent on the availability of a central server.The concrete use-case presented here may in the near futurebe solvable in real-time by mobile devices, but we haveargued that using cyber foraging even in such cases mayhelp preserve energy on the mobile devices and make thedevice more responsive. There are a host of other particlefilter approaches to pervasive positioning where it could bebeneficial to employ cyber foraging; e.g., in the paper byWoodman and Harle [15] they mention using on average4.5 million particles for their localization particle filter. Byapplying cyber foraging, nearby otherwise unused resourcesmay be utilised when computing position updates. Further-more, we have argued that a third tier is needed in cyberforaging, such that the mobile device can fall back to usingcloud computing when no local resources are available. Theadvantages of using locally available resource are multiple:peers reachable over Wi-Fi have orders of magnitude lowerlatency and higher bandwidth, otherwise unused resourcesare utilised leading to a lower overall energy usage, and themobile device does not need to use expensive mobile dataconnections.The opportunistic nature of cyber foraging applicationslends itself beautifully to use-cases such as pervasive po-sitioning. When no resources are available, e.g., when nolocal surrogates are reachable and the mobile device ison a GSM connection making cloud computing infeasible,local execution may be performed. When doing so a lowerprecision is accepted, and the number of particles in theparticle filter is lowered. When surrogates are available thestrength of these are assessed and the number of particlesset to suit that strength, so that the mobile devices receivesas high a precision as can be delivered by the surrogate.A future challenge is making such functionality availablein a form that developers can grasp, so that they may beable to easily create tasks that adapt to the current resourceavailability.As mentioned in Section IV, estimating the bandwidth andlatency of the network links connecting the client deviceto the cloud is of great importance, if a cyber foragingsystem is to be able to consider using the cloud whenscheduling a task. Developing estimation techniques that useonly a minimum of resources while delivering reasonableresults, and experimenting with these estimations in a realdeployment is left as future work.ACKNOWLEDGEMENTSThe authors acknowledge the financial support grantedby the Danish National Advanced Technology Foundationunder J.nr. 009-2007-2. The GSM positioning was supportedin part by the ICT program of the European Community,under the PASCAL2 Network of Excellence, ICT-216886-PASCAL2.REFERENCES[1] M. Satyanarayanan, Pervasive computing: vision and chal-lenges, Personal Communications, IEEE, vol. 8, no. 4, pp.1017, 2001.[2] R. Balan, J. Flinn, M. Satyanarayanan, S. Sinnamohideen,and H.-I. Yang, The case for cyber foraging, in EW10:Proceedings of the 10th workshop on ACM SIGOPS Europeanworkshop: beyond the PC. New York, NY, USA: ACM Press,2002, pp. 8792.[3] B. Hayes, Cloud computing, Communications of the ACM,vol. 51, no. 7, pp. 911, 2008.[4] P. Nurmi, S. Bhattacharya, and J. Kukkonen, A grid-basedalgorithm for on-device gsm positioning, in Proceedingsof the 12th ACM international conference on Ubiquitouscomputing, ser. Ubicomp 10. New York, NY, USA: ACM,2010, pp. 227236.[5] M. B. Kjrgaard, A Taxonomy for Radio Location Finger-printing, in Proceedings of the Third International Sympo-sium on Location- and Context-Awareness, 2007, pp. 139156.[6] M. B. Kjrgaard, G. Treu, and C. Linnhoff-Popien, Zone-Based RSS Reporting for Location Fingerprinting, in Pro-ceedings of the 5th International Conference on PervasiveComputing, 2007, pp. 316333.[7] J. Hightower and G. Borriello, Particle filters for locationestimation in ubiquitous computing: A case study, in Pro-ceedings of the 6th International Conference on UbiquitousComputing (Ubicomp). Springer, 2006, pp. 88106.[8] S. Thrun, D. Fox, W. Burgard, and F. Dellaert, Robust MonteCarlo localization for Mobile Robots, Artificial Intelligence,vol. 128, pp. 99141, 2001.[9] J. Flinn, S. Park, and M. Satyanarayanan, Balancing per-formance, energy, and quality in pervasive computing, inDistributed Computing Systems, 2002. Proceedings. 22ndInternational Conference on, 2002, pp. 217226.139[10] R. K. Balan, M. Satyanarayanan, S. Y. Park, and T. Okoshi,Tactics-based remote execution for mobile computing, inMobiSys 03: Proceedings of the 1st international conferenceon Mobile systems, applications and services. New York,NY, USA: ACM, 2003, pp. 273286.[11] R. K. Balan, D. Gergle, M. Satyanarayanan, and J. Herbsleb,Simplifying cyber foraging for mobile devices, in MobiSys07: Proceedings of the 5th international conference onMobile systems, applications and services. New York, NY,USA: ACM, 2007, pp. 272285.[12] M. D. Kristensen and N. O. Bouvin, Scheduling and de-velopment support in the scavenger cyber foraging system,Pervasive and Mobile Computing, vol. 6, no. 6, pp. 677692,2010, special Issue PerCom 2010.[13] M. D. Kristensen, Empowering Mobile Devices ThroughCyber Foraging: The Development of Scavenger, an Open,Mobile Cyber Foraging System, Ph.D. dissertation, AarhusUniversity, 2010.[14] M. D. Kristensen and N. O. Bouvin, Using wi-fi to save en-ergy via p2p remote execution, in Pervasive Computing andCommunications Workshops, 2010. PerCom Workshops 10.Eighth Annual IEEE International Conference on PervasiveComputing, 2010.[15] O. Woodman and R. Harle, Pedestrian localisation for in-door environments, in Proceedings of the 10th InternationalConference on Ubiquitous Computing, 2008, pp. 114123.140


View more >