To achieve energy efficiency, the key idea is to enable underlying sensors in a dynamic way to minimize battery drain and still meeting the application’s localization accuracy requirements. The core of algorithm is designed to optimize accuracy and power consumption. For a given accuracy requirement from active applications we determine the highest accuracy needed, call it (δ0) and energy budget available from the battery resource is calculated (ET). At any point simultaneously there are several applications that request location information but their accuracy requirements will be less than or equal to (δ0), so if we compute location (LT) at time T which meets (δ0) accu
racy then we can safely delay the sampling of high energy consuming sensors until (LT) is not severely degraded and update user position using other low power sensors, serving all the higher layer application localization requirements as long as the accuracy is tolerable for applications. This approach also serves to mitigate the continuous availability issue that most applications face as we store latest location information in flash memory thus increasing the availability close to 100% and may be with slight degradation in the accuracy that can be tolerated.