This paper discusses systems and methods of dynamically prioritizing geofences on a server such that a device can only receive and setup relevant geofences in accordance with a maximum geofence limit of the device, application, or operating system. The system can then maintain those geofences as the device moves around. For example, a system (e.g., one or more processors executing on a server) receives several geofences. The system dynamically prioritizes the geofences based on one or more input signals, including, e.g., an advertisement bid amount made by a content provider or advertiser requesting a geofence around a location, popularity, mapping accuracy of certain locations, user data or user signals obtained from the device (e.g., browsing history, network activity, preferences, applications, historical location information), user data or signals obtained or determined by the server (e.g., user preference data, user profile information, user interest determined from user browsing history or other network interactions), information about a location corresponding to the geofence (e.g., information about a retail store at the location), etc. The system can also remove geofences that are rarely triggered based on historical observations from the same device or other devices. Thus, this technology allows a system to centralize observations from many devices. This technology also allows for large scale applications of geofencing despite the small number of geofences allowed on a device while conserving resources such as battery power.

Creative Commons License

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.