Geofencing system and method
First Claim
1. A computer-implemented method performed by a computing device having a processor operatively coupled to a memory, the method comprising:
- obtaining a plurality of geofences along with addresses of servers associated with each of the geofences;
receiving current location data from a mobile device, the current location data representing a current location of the mobile device;
comparing the current location data with each of the plurality of geofences to determine whether data is to be obtained from one or more of the servers associated with each of the geofences;
if the data is to be obtained, obtaining the data from the one or more servers;
transmitting the data to the mobile device, wherein the data comprises a plurality of device-executable actions to be executed by the mobile device; and
resolving conflicts between the actions.
4 Assignments
0 Petitions
Accused Products
Abstract
A computer-implemented method performed by a computing device having a processor operatively coupled to a memory, the method comprising storing a plurality of geofences in the memory along with addresses of servers associated with each of the geofences, receiving current location data from a mobile device, the current location data representing a current location of the mobile device, comparing the current location data with each of the plurality of geofences to determine whether data is to be obtained from one or more of the servers associated with each of the geofences, if the data is to be obtained, obtaining the data from the one or more servers, and transmitting the data to the mobile device.
-
Citations
23 Claims
-
1. A computer-implemented method performed by a computing device having a processor operatively coupled to a memory, the method comprising:
-
obtaining a plurality of geofences along with addresses of servers associated with each of the geofences; receiving current location data from a mobile device, the current location data representing a current location of the mobile device; comparing the current location data with each of the plurality of geofences to determine whether data is to be obtained from one or more of the servers associated with each of the geofences; if the data is to be obtained, obtaining the data from the one or more servers; transmitting the data to the mobile device, wherein the data comprises a plurality of device-executable actions to be executed by the mobile device; and resolving conflicts between the actions. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable medium comprising instructions in code which when loaded into a memory and executed by a processor of a computing device cause the computing device to:
-
obtain a plurality of geofences along with addresses of servers associated with each of the geofences; receive current location data from a mobile device, the current location data representing a current location of the mobile device; compare the current location data with each of the plurality of geofences to determine whether data is to be obtained from one or more of the servers associated with each of the geofences; and if the data is to be obtained, obtain the data from the one or more servers; and transmit the data to the mobile device, wherein the data comprises a plurality of device-executable actions to be executed by the mobile device; and resolve conflicts between the actions. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A geofencing server comprising:
-
a communication port for obtaining a plurality of geofences along with addresses of content servers associated with each of the geofences and for receiving current location data from a mobile device, the current location data representing a current location of the mobile device; and a processor, which is operatively coupled to the memory and to the communication port, for comparing the current location data with each of the plurality of geofences to determine whether data is to be obtained from one or more of the content servers associated with each of the geofences and if the data is to be obtained, to cause the geofencing server to obtain the data from the one or more content servers and, upon receipt of the data, to cause the geofencing server to transmit the data to the mobile device, wherein the data comprises a plurality of device-executable actions to be executed by the mobile device, wherein the processor also resolves conflicts between device-executable actions. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A mobile device comprising:
-
a memory coupled to a processor for executing a geofence daemon that is configured to trigger a geofencing action in response to receiving a geofence condition notification from a geofence server that stores a plurality of geofences along with the addresses of content servers associated with each of the geofences; a location manager executed by the processor for providing location data to the geofence daemon for communicating to the geofence server; and an invocation manager executed by the processor for invoking an application on the mobile device or activating or deactivating a hardware component in response to an action signal from the geofence daemon, wherein the processor is configured to resolve conflicts between the multiple contradictory action signals received by the mobile device. - View Dependent Claims (21)
-
-
22. A method, performed by a mobile device, of using geofences to obtain data, the method comprising:
-
receiving a plurality of geofences; generating current location data representing a current location of the mobile device; comparing the current location data with each of the plurality of geofences to determine whether data is to be obtained from one or more servers associated with each of the geofences; if the data is to be obtained, obtaining the data from the one or more servers by transmitting a request to a geofencing server that obtains the data from the one or more servers and then transmits the data back to the mobile device, wherein the data comprises a plurality of device-executable actions to be executed by the mobile device; and resolving conflicts between the actions. - View Dependent Claims (23)
-
Specification