IP Library › Granted Patent US 12,429,358
Granted Patent B2
US 12,429,358 · App. 18/049,109 · Granted Sep 30, 2025

Systems and methods for efficient grid-estimation of spherical geo-probability function

Inventors: Rebecca Ann Lynch (Denver, CO); Michael Thaddeus Moran (Brooklyn, NY); Richard Edward Harang (Alexandria, VA)
Assignee: CISCO TECHNOLOGY, INC.
G01C21/387G01C21/3859G01C21/3893
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 12,429,358
App. No.
18/049,109
Granted
Sep 30, 2025
Kind
B2
Abstract

A system of one embodiment provides for efficient grid-estimation of spherical geo-probability function. The system includes a memory and a processor. The system accesses data, wherein the data includes training points and each training point includes a latitude value and a longitude value. The system also generates one or more grid points around each training point in the data. The system calculates a probability value for each grid point in the plurality of grid points using a probability density function. The system also combines each grid point into a geo-grid. The systems stores the geo-grid. In some embodiments, the system combines each grid point into a geo-grid by adding a probability value of a first grid point to a probability value of second grid point.

Claims (69)

1. A system, comprising:

one or more processors; and

one or more computer-readable non-transitory storage media comprising instructions that, when executed by the one or more processors, cause one or more components of the system to perform operations comprising:

accessing data stored in a first memory location, wherein the data comprises training points and each training point comprises a latitude value and a longitude value;

in response to accessing the data, generating, with a processor, a plurality of grid points for each training point and an independent grid for each training point, wherein:

the independent grids are stored in a second memory location distinct from the first memory location; and

each independent grid comprises one or more of the plurality of grid points;

calculating a probability value for each grid point in the plurality of grid points using a probability density function;

combining each independent grid into a geo-grid based at least on the calculated probability values for each grid point in the plurality of grid points;

determining a normalized value for each grid point, wherein the normalized value is based at least on the calculated probability values;

updating the geo-grid based at least on the normalized values;

storing the updated geo-grid; and

generating a graphical representation based at least on the updated geo-grid.

2. The system of claim 1 , wherein:

combining each independent grid into the geo-grid comprises adding the probability value of a first grid point to the probability value of a second grid point.

3. The system of claim 2 , wherein:

the latitude value of the first grid point is equal to the latitude value of the second grid point and the longitude value of the first grid point is equal to the longitude value of the second grid point.

4. The system of claim 1 , the operations further comprising:

filtering the plurality of grid points in the geo-grid that have a probability value of zero.

5. The system of claim 1 , wherein:

the probability density function is based on a von Mises-Fisher distribution.

6. The system of claim 1 , wherein:

the normalized value for each grid point is a value between 0 and 1.

7. The system of claim 1 , wherein:

the probability density function is based on a Gaussian distribution.

8. A method, comprising:

accessing data stored in a first memory location, wherein the data comprises training points and each training point comprises a latitude value and a longitude value;

in response to accessing the data, generating, with a processor, a plurality of grid points for each training point and an independent grid for each training point, wherein:

the independent grids are stored in a second memory location distinct from the first memory location; and

each independent grid comprises one or more of the plurality of grid points;

calculating a probability value for each grid point in the plurality of grid points using a probability density function;

combining each independent grid into a geo-grid based at least on the calculated probability values for each grid point in the plurality of grid points;

determining a normalized value for each grid point, wherein the normalized value is based at least on the calculated probability values;

updating the geo-grid based at least on the normalized values;

storing the updated geo-grid; and

generating a graphical representation based at least on the updated geo-grid.

9. The method of claim 8 , wherein:

combining each independent grid into the geo-grid comprises adding the probability value of a first grid point to the probability value of a second grid point.

10. The method of claim 9 , wherein:

the latitude value of the first grid point is equal to the latitude value of the second grid point and the longitude value of the first grid point is equal to the longitude value of the second grid point.

11. The method of claim 8 , further comprising:

filtering the plurality of grid points in the geo-grid that have a probability value of zero.

12. The method of claim 8 , wherein:

the probability density function is based on a von Mises-Fisher distribution.

13. The method of claim 8 , wherein:

the normalized value for each grid point in the geo-grid is a value between 0 and 1.

14. The method of claim 8 , wherein:

the probability density function is based on a Gaussian distribution.

15. One or more computer-readable non-transitory storage media embodying instructions that, when executed by a processor, cause the processor to perform operations comprising:

accessing data stored in a first memory location, wherein the data comprises training points and each training point comprises a latitude value and a longitude value;

in response to accessing the data, generating, with a process, a plurality of grid points for each training point and an independent grid for each training point, wherein:

the independent grids are stored in a second memory location distinct from the first memory location; and

each independent grid comprises one or more of the plurality of grid points;

calculating a probability value for each grid point in the plurality of grid points using a probability density function;

combining each independent grid into a geo-grid based at least on the calculated probability values for each grid point in the plurality of grid points;

determining a normalized value for each grid point, wherein the normalized value is based at least on the calculated probability values;

updating the geo-grid based at least on the normalized values;

storing the updated geo-grid; and

generating a graphical representation based at least on the updated geo-grid.

16. The one or more computer-readable non-transitory storage media of claim 15 , wherein:

combining each independent grid into the geo-grid comprises adding the probability value of a first grid point to the probability value of a second grid point.

17. The one or more computer-readable non-transitory storage media of claim 16 , wherein:

the latitude value of the first grid point is equal to the latitude value of the second grid point and the longitude value of the first grid point is equal to the longitude value of the second grid point.

18. The one or more computer-readable non-transitory storage media of claim 15 , the operations further comprising:

filtering the plurality of grid points in the geo-grid that have a probability value of zero.

19. The one or more computer-readable non-transitory storage media of claim 15 , wherein:

the probability density function is based on a von Mises-Fisher distribution.

20. The one or more computer-readable non-transitory storage media of claim 15 , wherein:

the normalized value for each grid point in the geo-grid is a value between 0 and 1.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2022
From: LYNCH, REBECCA ANN; MORAN, MICHAEL THADDEUS; HARANG, RICHARD EDWARD
To: CISCO TECHNOLOGY, INC.
Reel/Frame 061517/0109 →
Continuity (2)
Provisional Application 63357990 · Jul 1, 2022
Related Publication 20240003709A1 · Jan 4, 2024
References Cited (37)
US 9183438B1 · Dhein · 2015 [cited by examiner]
US 9500444B2 · Sammut · 2016 [cited by examiner]
US 10254082B2 · Sammut · 2019 [cited by examiner]
US 10444269B2 · Sotak · 2019 [cited by examiner]
US 10458753B2 · Sammut · 2019 [cited by examiner]
US 10895434B2 · Sammut · 2021 [cited by examiner]
US 11255640B2 · Sammut · 2022 [cited by examiner]
US 11656060B2 · Sammut · 2023 [cited by examiner]
US 20040133927A1 · Sternberg · 2004 [cited by examiner]
US 20080186234A1 · Alles · 2008 [cited by examiner]
US 20080188239A1 · Carlson · 2008 [cited by examiner]
US 20090132568A1 · Syeda-Mahmood et al. · 2009 [cited by applicant]
US 20120066104A1 · Thalken · 2012 [cited by examiner]
US 20120257818A1 · Bertozzi et al. · 2012 [cited by applicant]
US 20150160035A1 · Longo · 2015 [cited by examiner]
US 20150269225A1 · Agrawal · 2015 [cited by examiner]
US 20150309962A1 · Lichman et al. · 2015 [cited by applicant]
US 20150362288A1 · Sammut · 2015 [cited by examiner]
US 20160026860A1 · Dhein · 2016 [cited by examiner]
US 20170205197A1 · Sammut · 2017 [cited by examiner]
US 20180120061A1 · Sammut · 2018 [cited by examiner]
US 20180340965A1 · Sotak · 2018 [cited by examiner]
US 20190037344A1 · Vangipuram · 2019 [cited by examiner]
US 20190200318A1 · Wirola · 2019 [cited by examiner]
US 20190257619A1 · Sammut · 2019 [cited by examiner]
US 20200037102A1 · Zhang · 2020 [cited by examiner]
US 20200064103A1 · Sammut · 2020 [cited by examiner]
US 20200208992A1 · Fowe · 2020 [cited by applicant]
US 20210123706A1 · Sammut · 2021 [cited by examiner]
US 20220163290A1 · Sammut · 2022 [cited by examiner]
US 20240003709A1 · Lynch · 2024 [cited by examiner]
CN 101795162B · 2013 [cited by examiner]
CN 107798187A · 2018 [cited by examiner]
CN 107679476B · 2020 [cited by examiner]
CN 111898903A · 2020 [cited by examiner]
CN 114415231A · 2022 [cited by examiner]
Contingent Kernel Density Estimation; Feb. 2012 PLoS One 7(2):e30549; DOI:10.1371/journal.pone.0030549; SourcePubMed; LicenseCC by 4.0; Authors: Scott Fortmann-Roe, Richard Starfield, Wayne Getz University of California… [cited by applicant]