IP Library Granted Patent US 8,812,027
Granted Patent B2
US 8,812,027 · App. 13/586,127 · Granted Aug 19, 2014

Geo-fence entry and exit notification system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,812,027
App. No.
13/586,127
Granted
Aug 19, 2014
Kind
B2
Abstract

A method is provided for determining when a mobile communications device has crossed a geo-fence. The method comprises (a) providing a mobile communications device ( 209 ) equipped with an operating system and having a location detection application resident thereon, wherein the mobile communications device is in communication with a server ( 211 ) over a network ( 203 ), and wherein the server maintains a geo-fence database ( 213 ); (b) receiving, from the operating system, a notification that (i) the location of the mobile communications device has changed by an amount that exceeds a predetermined threshold, or (ii) that a period of time has passed; (c) querying the operating system for a data set comprising the general location of the mobile communications device and the corresponding location accuracy; (d) transmitting the data set to the server; and (e) receiving from the server, in response, a set of geo-fences ( 205 ) proximal to the general location.

Claims (50)

1. A method for determining the location of a mobile communications device with respect to a geo-fence, comprising:

providing a mobile communications device equipped with an operating system and having a location detection application resident thereon;

providing a server which is in communication with the local detection application over a network, and which maintains a geo-fence database;

querying the operating system for a first data set comprising the general location of the mobile communications device and the corresponding location accuracy;

transmitting the first data set to the server;

receiving from the server, in response to the transmission of the first data set, a first set of geo-fences in the proximity of the general location;

receiving, from the operating system, a notification that the location of the mobile communications device has changed by an amount that exceeds a predetermined threshold;

querying the operating system for a second data set comprising the general location of the mobile communications device and the corresponding location accuracy;

transmitting the second data set to the server;

receiving from the server, in response to the transmission of the second data set, a second set of geo-fences in the proximity of the general location;

if the location defined in the second data set is within a predefined distance of the nearest geo-fence, then

(a) using the GPS location detection to obtain a third data set comprising the GPS location of the mobile communications device,

(b) comparing the GPS location to the second set of geo-fences, and

(c)(i) if the GPS location is not within the predefined distance of the nearest geo-fence, then using the location defined in the second data set as the location of the mobile communications device,

(ii) if the GPS location is within a new geo-fence distinct from the geo-fence defined in the second data set, then

(1) marking the new geo-fence as having been entered, and

(2) sending a message to the server indicating entry of the new geo-fence,

(iii) if the GPS location is not within the geo-fence defined in the second data set, then sending a message to the server indicating that the geo-fence defined in the second data set has been exited.

2. A method for determining when a mobile communications device has crossed a geo-fence, comprising:

providing a mobile communications device equipped with an operating system and having a location detection application resident thereon, wherein the mobile communications device is in communication with a server over a network, and wherein the server maintains a geo-fence database;

receiving, from the operating system, a notification that (a) the location of the mobile communications device has changed by an amount that exceeds a predetermined threshold, or (b) that a period of time has passed;

querying the operating system for a data set comprising the general location of the mobile communications device and the corresponding location accuracy;

transmitting the data set to the server;

receiving from the server, in response to the transmission of the data set, a set of geo-fences proximal to the general location;

wherein, if the location defined in the data set is within a predefined distance of the nearest geo-fence in the set of geo-fences, then

(a) ascertaining the GPS location of the mobile communications device, and

(b) comparing the GPS location to the nearest geo-fence defined by the data set;

wherein, if the GPS location is within a geo-fence that was previously not entered, then

(a) marking the geo-fence as entered, and

(b) sending a message to the server indicating entry of the geo-fence;

wherein, if the GPS location is not within the predefined distance of the nearest geo-fence in the first set of geo-fences, then using the location defined in the data set as the location of the mobile communications device; and

wherein, if the GPS location is within a new geo-fence distinct from the geo-fence indicated by the data set, then

(1) marking the new geo-fence as having been entered, and

(2) sending a message to the server indicating entry of the new geo-fence, and

(iii) if the GPS location is not within the geo-fence indicated by the data set, then sending a message to the server indicating that the geo-fence defined in the data set has been exited.

3. The method of claim 2 , wherein the predefined distance is less than 1000 meters.

4. The method of claim 2 , wherein the predefined distance is less than 500 meters.

5. The method of claim 2 , wherein the predefined distance is less than 200 meters.

6. The method of claim 2 , wherein the location detection application queries the operating system for the data set when the location detection application is first installed.

7. The method of claim 2 , wherein the method is performed in an iterative process.

8. The method of claim 7 , wherein each iteration of the process is triggered by receiving, from the operating system, a notification that the location of the mobile communications device has changed by an amount that exceeds a predetermined threshold.

9. The method of claim 7 , wherein each iteration of the process is triggered by receiving, from the operating system, a notification that a period of time has passed.

10. The method of claim 7 , wherein each iteration of the process is triggered by the first event to occur between (a) receiving, from the operating system, a notification that the location of the mobile communications device has changed by an amount that exceeds a predetermined threshold, or (b) receiving, from the operating system, a notification that a period of time has passed.

11. The method of claim 2 , wherein the server determines the set of geo-fences proximal to the general location by comparing the distance from the center of each geo-fence in the database to the general location, and returning those geo-fences for which the distance is less than a threshold amount.

12. The method of claim 11 , wherein the threshold amount is less than 1000 meters.

13. The method of claim 11 , wherein the threshold amount is less than 500 meters.

14. The method of claim 11 , wherein the threshold amount is less than 200 meters.

15. The method of claim 2 , wherein the location detection application subscribes to location changes from the operating system.

16. The method of claim 15 , wherein the operating system calls the location detection application when the difference between the general location in the most recent data set and the general location provided by the operating system exceeds a threshold amount.

17. The method of claim 2 , wherein the step of querying the operating system for a data set comprising the general location of the mobile communications device and the corresponding location accuracy is repeated each time the location detection application receives a location update event from the operating system.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2025
From: PHUNWARE, INC.
To: GOTV NETWORKS, LLC
Reel/Frame 071318/0619 →
MERGER Recorded Jul 22, 2021
From: 30 SECOND SOFTWARE, INC.
To: PHUNWARE, INC.
Reel/Frame 056947/0133 →
RELEASE OF SECURITY INTEREST Recorded Mar 31, 2021
From: BRIDGE BANK, NATIONAL ASSOCIATION
To: PHUNWARE, INC.
Reel/Frame 055787/0418 →
RELEASE OF SECURITY INTEREST Recorded Mar 31, 2021
From: WESTERN ALLIANCE BANK
To: PHUNWARE, INC.
Reel/Frame 055787/0035 →
SECURITY INTEREST Recorded Apr 5, 2016
From: PHUNWARE, INC.
To: WESTERN ALLIANCE BANK
Reel/Frame 038194/0001 →
SECURITY INTEREST Recorded Jul 29, 2014
From: 30 SECOND SOFTWARE, INC.
To: BRIDGE BANK, NATIONAL ASSOCIATION
Reel/Frame 033444/0419 →
RELEASE OF SECURITY INTEREST Recorded Jun 2, 2014
From: COMERICA BANK
To: 30 SECOND SOFTWARE, INC.
Reel/Frame 033072/0967 →
SECURITY AGREEMENT Recorded Jul 23, 2013
From: 30 SECOND SOFTWARE, INC.
To: COMERICA BANK, A TEXAS BANKING ASSOCIATION
Reel/Frame 030873/0914 →