{'fraction_non_alphanumeric': 0.018166804293971925, 'fraction_numerical': 0.00495458298926507, 'mean_word_length': 5.65934065934066, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Building the Case for Dynamic Location Query Processing

The increasing popularity of mobile devices in recent years has spurred interest in querying and tracking their locations for a wide variety of applications. Many naive approaches to localizing mobile devices, however, suffer from excessive energy use, poor accuracy in indoor environments, or excessive complexity presented to the application developer. We ask: does processing and evaluating location queries using a server help reduce complexity and inaccuracy for these queries without overusing the limited energy available on mobile devices? Also, what techniques can be combined with this approach to further reduce energy use? In this work, we try to answer these questions by developing a dynamic query optimization framework. We implement a simple prototype using Android smartphones and evaluate its performance against common naive approaches and Google's geofences location query system. Our results show energy-use reductions of up to 75% and dramatically improved precision of 45-60% compared to less sophisticated approaches, which compare favorably to Google's geofences while allowing more fine-grained selection of regions of interest.