IP Library Granted Patent US 10,621,873
Granted Patent B1
US 10,621,873 · App. 16/536,440 · Granted Apr 14, 2020

Systems and methods for generating geofences

Inventors: Seth Brandon Spiel (San Francisco, CA); Numan Sheikh (Lahore, PK); Aamer Zaheer (Lahore, PK)
Assignee: Keep Truckin, Inc.
G08G1/207G06F16/955G06F16/9537
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 10,621,873
App. No.
16/536,440
Filed
Aug 9, 2019
Granted
Apr 14, 2020
Kind
B1
Art Unit
2689
USPC
340/992
Abstract

The present disclosure relates generating a geofence based on messages received periodically from a plurality of vehicles. A candidate geofence is approximated based on vehicle stoppage data obtained from a datalog of messages. For a given candidate geofence, additional stoppage data is obtained to identify additional vehicle stoppages. The locations of these additional vehicle stoppages are binned to a corresponding geospatial tile. A relatively large cluster of contiguous geospatial tiles form a geofence that may be transmitted to a client device.

Claims (54)

1. A system comprising:

a processor; and

a memory coupled to a processor, the memory comprising a plurality of instructions, when executed, cause the processor to:

access a datalog comprising location samples and speed samples for a plurality of vehicles;

identify vehicle stoppages derived from the datalog, each vehicle stoppage corresponding to a respective stoppage location;

determine a candidate geofence based on a cluster of vehicle stoppages being within a predefined diameter, and further based on the size of the cluster exceeding a predetermined threshold of stoppages;

associate each vehicle stoppage within the candidate geofence to a corresponding tile;

for each tile, determine a respective number of vehicle stoppages;

identify a contiguous cluster of tiles, wherein each tile within the cluster has a respective number of vehicle stoppages that exceed a predetermined threshold count; and

generate a geofence based on the boundary of the contiguous cluster of tiles, wherein the processor is configured to generate the geofence by determining that the contiguous cluster of tiles is the largest among a plurality of contiguous clusters of tiles within the candidate geofence.

2. The system of claim 1 , wherein the memory comprising the plurality of instructions, when executed, cause the processor to:

receive messages periodically from each of the plurality of vehicles, each message comprising a location sample and speed sample for a corresponding vehicle; and

aggregate the messages received from each of the plurality of vehicles to generate the datalog.

3. The system of claim 1 , wherein the processor is configured to identify the set of vehicle stoppages by determining whether the number of consecutive speed samples that indicate no speed for a vehicle exceeds a threshold stoppage time.

4. The system of claim 1 , wherein the processor is configured to determine the candidate geofence by:

identifying a tile within a first tile system, according to the size of the cluster exceeding the predetermined threshold of stoppages; and

applying the predetermined diameter that surrounds the tile.

5. The system of claim 4 , wherein the processor is configured to associate each vehicle stoppage to the corresponding tile using a second tile system, the second tile system comprising tiles that are smaller than the tiles of the first tile system.

6. A computer implemented method comprising:

determining a candidate geofence based on a cluster of vehicle stoppages derived from a datalog, the datalog comprising location samples and speed samples for a plurality of vehicles, wherein determining a candidate geofence based on a cluster of vehicle stoppages derived from a datalog further comprises determining whether a threshold stoppage time is exceeded by the number of consecutive speed samples that indicate no speed for a vehicle;

accessing the datalog to identify a set of vehicle stoppages within the candidate geofence;

associating each vehicle stoppage in the set to a corresponding tile;

determining a respective number of vehicle stoppages for each tile;

identifying a contiguous cluster of tiles, wherein each tile within the cluster has a respective number of vehicle stoppages that exceed a predetermined threshold count, wherein identifying the contiguous cluster of tiles, comprises:

identifying a plurality of contiguous cluster of tiles; and

selecting the contiguous cluster of tiles as the largest among the plurality of contiguous cluster of tiles; and

generating a geofence based on the boundary of the contiguous cluster of tiles.

7. The method of claim 6 , further comprising:

receiving messages periodically from each of the plurality of vehicles, each message comprising a location sample and speed sample for a corresponding vehicle; and

aggregating the messages received from each of the plurality of vehicles to generate the datalog.

8. The method of claim 6 , wherein

determining the candidate geofence comprises:

identifying a tile based on a size of the cluster exceeding a predetermined threshold of stoppages and

applying a predetermined diameter that surrounds the tile to define the boundary of the candidate geofence.

9. The method of claim 6 , wherein associating each vehicle stoppage in the set to the corresponding tile comprises determining which hexagonal tile defined in a tile map contains the location associated with the vehicle stoppage.

10. The method of claim 6 , further comprising transmitting the geofence to a client device.

11. One or more non-transitory computer-readable, non-volatile storage memory comprising stored instructions that are executable and, responsive to execution by a computing device, the computing device performing operations comprising:

storing a datalog comprising location samples and speed samples for a plurality of vehicles;

identifying a tile of a first tile size that contains a threshold number of vehicle stoppages, the number of vehicle stoppages being derived from the datalog;

identifying a set of vehicle stoppages within a candidate geofence defined around the tile;

associating each vehicle stoppage in the set to a corresponding tile of a second tile size;

determining a respective number of vehicle stoppages for each file of the second tile size;

identifying a contiguous cluster of tiles of the second tile size, wherein each tile within the contiguous cluster has a respective number of vehicle stoppages that exceed a predetermined threshold count; and

generating a geofence based on the boundary of the contiguous cluster of tiles.

12. The one or more non-transitory computer-readable; non-volatile storage memory of claim 11 , wherein the second tile size is smaller than the first tile size and wherein the candidate geofence comprises a diameter greater than the first tile size.

13. The one or more non-transitory computer-readable, non-volatile storage memory of claim 11 , wherein the computing device further performs operations comprising:

receiving messages periodically from each of the plurality of vehicles, each message comprising a location sample and speed sample for a corresponding vehicle; and

aggregating the messages received from each of the plurality of vehicles to generate the datalog.

14. The one or more non-transitory computer-readable, non-volatile storage memory of claim 11 , the number of vehicle stoppages is derived from the datalog by determining whether the number of consecutive speed samples that indicate no speed exceeds a threshold stoppage time.

15. The one or more non-transitory computer-readable, non-volatile storage memory of claim 11 , wherein identifying the contiguous cluster of tiles of the second tile size comprises:

identifying a plurality of separate contiguous clusters of tiles; and

selecting the contiguous cluster of tiles as the largest among the plurality of separate contiguous cluster of tiles.

16. The one or more non-transitory computer-readable, non-volatile storage memory of claim 11 , wherein associating each vehicle stoppage in the set to the corresponding tile of the second tile size comprises determining which hexagonal tile defined in a tile map contains the location associated with the vehicle stoppage.

17. The one or more non-transitory compute readable, non-volatile storage memory of claim 11 , wherein the computing device further performs operations comprising transmitting the geofence to a client device.

Assignments (3)
CHANGE OF NAME Recorded Apr 12, 2022
From: KEEP TRUCKIN, INC.
To: MOTIVE TECHNOLOGIES, INC.
Reel/Frame 059965/0872 →
SECURITY INTEREST Recorded Apr 9, 2021
From: KEEP TRUCKIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 055876/0280 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2019
From: SHEIKH, NUMAN; SPIEL, SETH; ZAHEER, AAMER
To: KEEP TRUCKIN, INC.
Reel/Frame 050207/0866 →
Cited By (35)
US 12,197,610 US 12,213,090 US 12,228,944 US 12,253,617 US 12,254,403 US 12,256,021 US 12,260,616 US 12,269,498 US 12,289,181 US 12,306,010 US 12,327,445 US 12,328,639 US 12,344,168 US 12,346,712 US 12,367,718 US 12,426,007 US 12,445,285 US 12,450,329 US 12,479,446 US 12,501,178 US 12,510,674 US 12,511,947 US 12,534,097 US 12,561,624 US 12,565,143 US 12,626,200 US 12,630,050 US 12,646,402 US 12,651,529 US 12,662,152 US 12,665,989 US 12,671,464 US 12,675,419 US 12,701,004 US 12,730,425