Coalescing geo-fence events
First Claim
1. A method comprising:
- detecting when one or more geo-fence events occur for a computing device during a conservation period of an operating system during which certain programs are not scheduled to run;
maintaining a record of geo-fence events for each of multiple geo-fences;
collecting geo-fence events for each of the multiple geo-fences together for each of the certain programs;
waiting until a program associated with at least one of the multiple geo-fences is scheduled to run during an execution period of the operating system;
providing to the program, after the waiting, the collected geo-fence events for the program; and
deleting from the record of geo-fence events a particular geo-fence event based on a time period expiring.
2 Assignments
0 Petitions
Accused Products
Abstract
A device location is determined, and the location of an area of interest that is a geographic area referred to as a geo-fence is identified. Multiple geo-fences can be identified by the device, and different geo-fences can be associated with different programs on the device. An operating system of the device implements multiple different periods of operation for the device, including a conservation period during which certain programs are not typically scheduled to run, and an execution period during which such programs are typically scheduled to run. A system identifies geo-fence events, which occur when the device enters or exits the geo-fence. The system maintains a record of the geo-fence events for each of multiple geo-fences, and provides to a program selected ones of those geo-fence events at a time when the program is scheduled to run on the device during an execution period of the operating system.
-
Citations
20 Claims
-
1. A method comprising:
-
detecting when one or more geo-fence events occur for a computing device during a conservation period of an operating system during which certain programs are not scheduled to run; maintaining a record of geo-fence events for each of multiple geo-fences; collecting geo-fence events for each of the multiple geo-fences together for each of the certain programs; waiting until a program associated with at least one of the multiple geo-fences is scheduled to run during an execution period of the operating system; providing to the program, after the waiting, the collected geo-fence events for the program; and deleting from the record of geo-fence events a particular geo-fence event based on a time period expiring. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing device comprising:
-
one or more processors; a data store to store geo-fence data for multiple geo-fences, the geo-fence data for a geo-fence including an indication of a program associated with the geo-fence; and one or more computer-readable storage devices comprising computer-readable instructions which, when executed by the one or more processors, implement; a geo-fence event detection module to detect when one or more geo-fence events occur for the multiple geo-fences, including when one or more geo-fence events occur during a conservation period of an operating system during which certain programs are not scheduled to run; a geo-fence event storage module to maintain a record of the detected one or more geo-fence events; and a geo-fence event reporting module that waits to provide, to a program subsequently scheduled to run during an execution period of the operating system, an indication of one or more geo-fence events included in the record of the detected one or more geo-fence events until the operating system enters the execution period. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method comprising:
-
detecting when one or more geo-fence events occur for a computing device during a conservation period of an operating system during which certain programs are not scheduled to run; maintaining a record of geo-fence events for each of multiple geo-fences, including maintaining a record of multiple geo-fence exit events and multiple geo-fence enter events for each of the multiple geo-fences, the record of geo-fence events including for each geo-fence event an identification of the geo-fence event and a timestamp of when the geo-fence event was detected; and providing, to a program associated with two or more of the multiple geo-fences when the program is scheduled to run during an execution period of the operating system, an indication of a most recent geo-fence exit event and geo-fence enter event for each of the two or more of the multiple geo-fences from the record of geo-fence events responsive to the program running during the execution period of the operating system.
-
Specification