US2018049132A1PendingUtilityA1

Coalescing Geo-Fence Events

Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Jun 14, 2013Filed: Oct 6, 2017Published: Feb 15, 2018
Est. expiryJun 14, 2033(~6.9 yrs left)· nominal 20-yr term from priority
H04W 4/021H04W 52/0251H04W 4/022Y02D30/70
49
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
1 . (canceled) 
     
     
         2 . 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;   collecting geo-fence events for each of multiple geo-fences together for each of the certain programs; and   maintaining a record of the collected geo-fence events for each of the multiple geo-fences while 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.   
     
     
         3 . The method as recited in  claim 2 , wherein the conservation period is when the computing device is operating in a power saving mode. 
     
     
         4 . The method as recited in  claim 2 , wherein the conservation period and the execution period are scheduled for the program based on one or more of: when the program was last scheduled to run, another program that is scheduled to run, available power of the computing device, and whether a geo-fence has been detected for the program. 
     
     
         5 . The method as recited in  claim 2 , further comprising selecting one or more of the collected geo-fence events to provide to the program during the execution period. 
     
     
         6 . The method as recited in  claim 5 , wherein the one or more geo-fence events include a most recent entering event and a most recent exiting event for each geo-fence associated with the program. 
     
     
         7 . The method as recited in  claim 2 , wherein maintaining the record of the geo-fence events comprises replacing a previously recorded geo-fence event of a type with a newly detected geo-fence event of the type. 
     
     
         8 . The method as recited in  claim 2 , further comprising providing, to the program, the collected geo-fence events for the program when the program is scheduled to run during the execution period of the operating system. 
     
     
         9 . The method as recited in  claim 2 , further comprising providing, to the program, the collected geo-fence events for the program when the program is activated by a user. 
     
     
         10 . The method as recited in  claim 2 , wherein the detecting comprises determining whether criteria related to a state of the computing device has been satisfied. 
     
     
         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 during a conservation period of an operating system during which certain programs are not scheduled to run; and 
 a geo-fence event storage module to:
 collect geo-fence events for each of multiple geo-fences together for each of the certain programs, and 
 maintain a record of the geo-fence events for each of the multiple geo-fences while waiting until a program associated with at least one of the multiple geo-fences is scheduled to run during an execution period. 
 
   
     
     
         12 . The computing device as recited in  claim 11 , wherein the one or more computer-readable storage devices further implements a scheduling mechanism that schedules conservation periods and execution periods for the certain programs. 
     
     
         13 . The computing device as recited in  claim 11 , wherein the one or more computer-readable storage devices further implements a geo-fence event reporting module that provides, to the program, the record of the geo-fence events associated with the program during the execution period. 
     
     
         14 . The computing device as recited in  claim 11 , wherein the one or more computer-readable storage devices further implements a geo-fence event reporting module that selects one or more of the geo-fence events for each geo-fence associated with the program. 
     
     
         15 . The computing device as recited in  claim 14 , wherein the one or more selected geo-fences are a most recent enter event and a most recent exit event for each geo-fence. 
     
     
         16 . The computing device as recited in  claim 14 , wherein the one or more selected geo-fences are selected based on a criteria for the geo-fence being satisfied. 
     
     
         17 . 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 the 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; and   providing, to the program, the collected geo-fence events for the program when the program is scheduled to run during the execution period of the operating system.   
     
     
         18 . The method as recited in  claim 17 , wherein the conservation period and the execution period are scheduled for the program based on one or more of: when the program was last scheduled to run, another program that is scheduled to run, available power of the computing device, and whether a geo-fence has been detected for the program. 
     
     
         19 . The method as recited in  claim 17 , wherein the detecting comprises determining that criteria related to a state of the computing device has been satisfied. 
     
     
         20 . The method as recited in  claim 17 , wherein the collected geo-fences are selected based on a criteria for the collected geo-fences being satisfied. 
     
     
         21 . The method as recited in  claim 17 , wherein the providing the collected geo-fence events comprises providing only a most recent enter event and exit event.

Join the waitlist — get patent alerts

Track US2018049132A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.