IP Library › Granted Patent US 12,124,484
Granted Patent B2
US 12,124,484 · App. 17/632,342 · Granted Oct 22, 2024

Real-time geo-intelligent aggregation engine

Inventors: Hongqin Song (Austin, TX); Yu Gu (Austin, TX)
Assignee: Visa International Service Association
G06F16/29G06F16/22G06F16/24556
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,124,484
App. No.
17/632,342
Granted
Oct 22, 2024
Kind
B2
Abstract

A real-time geo-intelligent aggregation engine and related methods are disclosed. The real-time geo-intelligent aggregation engine can be used to provide interaction event data corresponding to a geographic coordinate point and a boundary element to requestors or requestor computers. After receiving a request from a requestor computer, the real-time geo-intelligent aggregation engine can determine one or more geohashes corresponding to a geographic region. The one or more geohashes can be used to query a geographic resource provider database to determine a list of resource providers acting within the geographic region. The list of resource providers can be used to query a resource provider interaction database to determine interaction event data corresponding to those resource providers. The interaction event data can subsequently be provided to the requestor computer. The requestor computer and/or a requestor associated with the requestor computer can perform subsequent action based on the interaction event data.

Claims (64)

1. A method comprising:

receiving, by a database management computer, from a requestor computer associated with a requestor, a request for interaction event data corresponding to a geographic region, the request comprising a location identifier and a boundary element;

determining, by the database management computer, one or more geohashes corresponding to the geographic region based on the location identifier and the boundary element;

querying by the database management computer, a geographic resource provider database using the one or more geohashes to determine one or more resource provider identifiers, the geographic resource provider database including a first plurality data sets that are grouped based on a geohash identifier;

querying, by the database management computer, a resource provider interaction database using the one or more resource provider identifiers to determine one or more interaction events, wherein the resource provider interaction database includes a second plurality of data sets that are grouped based on a resource provider identifier, each data set in the second plurality of data sets including one or more data records that are characterized by a transaction identifier including an aggregate value, and wherein the geographic resource provider database is different than the resource provider interaction database;

retrieving, by the database management computer, from the resource provider interaction database, interaction event data or derivatives thereof; and

providing, by the database management computer, the interaction event data or derivatives thereof to the requestor computer, wherein the requestor computer and/or the requestor takes subsequent action based on the interaction event data or derivatives thereof.

2. The method of claim 1 further comprising:

receiving, by the database management computer, the second plurality of data sets corresponding to interaction events, wherein each data set included in the second plurality of data sets comprises a resource provider identifier and a geographic region identifier;

determining, by the database management computer, for each data set, a geohash based on the geographic region identifier;

generating, by the database management computer, one or more geographic resource provider database entries, each geographic resource provider database entry comprising a resource provider identifier and a corresponding geohash;

storing, by the database management computer, the one or more geographic resource provider database entries in the geographic resource provider database;

generating, by the database management computer, one or more resource provider interaction event database entries, each resource provider interaction event database entry comprising a resource provider identifier and a data set corresponding to an interaction event; and

storing, by the database management computer, the one or more resource provider interaction event database entries in the resource provider interaction database.

3. The method of claim 1 , wherein the boundary element is a radius.

4. The method of claim 3 , wherein determining, by the database management computer, one or more geohashes corresponding to the geographic region based on the location identifier and the radius comprises:

determining, by the database management computer, one or more candidate coordinate points;

for each candidate coordinate point of the one or more candidate coordinate points, determining, by the database management computer, a distance between the candidate coordinate point and a coordinate point associated with the location identifier, thereby determining a set of one or more distances;

for each distance of the set of one or more distances, determining, by the database management computer, whether the distance exceeds the radius; and

for each distance of the set of one of more distances that does not exceed the radius, determining, by the database management computer, a geohash corresponding to a corresponding candidate coordinate point, thereby determining one or more geohashes corresponding to the geographic region.

5. The method of claim 3 , wherein determining, by the database management computer, one or more geohashes corresponding to the geographic region based on the location identifier and the radius comprises:

determining, by the database management computer, a bounding region corresponding to a circular geographic region defined by the location identifier and the radius, such that the circular geographic region is inscribed within the bounding region; and

determining, by the database management computer, one or more geohashes corresponding to the bounding region, wherein the one or more geohashes corresponding to the geographic region are the one or more geohashes corresponding to the bounding region.

6. The method of claim 3 , wherein determining, by the database management computer, one or more geohashes corresponding to the geographic region based on the location identifier and the radius comprises:

determining, by the database management computer, a circular bounding region corresponding to a circular geographic region defined by the location identifier and the radius;

determining, by the database management computer, one or more inscribed geographic regions, the one or more inscribed geographic regions inscribed by the circular bounding region; and

determining, by the database management computer, one or more geohashes corresponding to the one or more inscribed geographic regions, wherein the one or more geohashes corresponding to the geographic region are the one or more geohashes corresponding to the one or more inscribed geographic regions.

7. The method of claim 1 , wherein the interaction event data includes a time range and/or a resource provider category, and wherein the request includes the time range and/or the resource provider category.

8. The method of claim 1 , wherein the interaction event data is aggregated and ordered.

9. The method of claim 1 , wherein the interaction event data or derivatives thereof comprises a difference between two interaction values corresponding to two interaction data sets.

10. The method of claim 1 , wherein the requestor computer is a data service computer.

11. A database management computer comprising:

a processor; and

a non-transitory computer readable medium coupled to the processor, the non-transitory computer readable medium comprising code, executable by the processor for implementing a method comprising:

receiving, from a requestor computer associated with a requestor, a request for interaction event data corresponding to a geographic region, the request comprising a location identifier and a boundary element;

determining one or more geohashes corresponding to the geographic region based on the location identifier and the boundary element;

querying a geographic resource provider database using the one or more geohashes to determine one or more resource provider identifiers, the geographic resource provider database including a first plurality data sets that are grouped based on a geohash identifier;

querying a resource provider interaction database using the one or more resource provider identifiers to determine one or more interaction events, wherein the resource provider interaction database includes a second plurality of data sets that are grouped based on a resource provider identifier, each data set in the second plurality of data sets including one or more data records that are characterized by a transaction identifier including an aggregate value, and wherein the geographic resource provider database is different than the resource provider interaction database;

retrieving, from the resource provider interaction database, interaction event data or derivatives thereof; and

providing, by the database management computer, the interaction event data or derivatives thereof to the requestor computer, wherein the requestor computer and/or the requestor takes subsequent action based on the interaction event data or derivatives thereof.

12. The database management computer of claim 11 , wherein the method further comprises:

receiving the second plurality of data sets corresponding to interaction events, wherein each data set included in the second plurality of data sets comprises a resource provider identifier and a geographic region identifier;

determining for each data set, a geohash based on the geographic region identifier;

generating one or more geographic resource provider database entries, each geographic resource provider database entry comprising a resource provider identifier and a corresponding geohash;

storing the one or more geographic resource provider database entries in the geographic resource provider database;

generating one or more resource provider interaction event database entries, each resource provider interaction event database entry comprising a resource provider identifier and a data set corresponding to an interaction event; and

storing the one or more resource provider interaction event database entries in the resource provider interaction database.

13. The database management computer of claim 11 , wherein the boundary element is a radius.

14. The database management computer of claim 13 , wherein determining one or more geohashes corresponding to the geographic region based on the location identifier and the radius comprises:

determining one or more candidate coordinate points;

for each candidate coordinate point of the one or more candidate coordinate points, determining a distance between the candidate coordinate point and a coordinate point associated with the location identifier, thereby determining a set of one or more distances;

for each distance of the set of one or more distances, determining whether the distance exceeds the radius; and

for each distance of the set of one or more distances that does not exceed the radius, determining a geohash corresponding to a corresponding candidate coordinate point, thereby determining one or more geohashes corresponding to the geographic region.

15. The database management computer of claim 13 , wherein determining one or more geohashes corresponding to the geographic region based on the location identifier and the radius comprises:

determining a bounding region corresponding to a circular geographic region defined by the location identifier and the radius, such that the circular geographic region is inscribed within the bounding region; and

determining one or more geohashes corresponding to the bounding region, wherein the one or more geohashes corresponding to the geographic region are the one or more geohashes corresponding to the bounding region.

16. The database management computer of claim 13 , wherein determining one or more geohashes corresponding to the geographic region based on the location identifier and the radius comprises:

determining a circular bounding region corresponding to a circular geographic region defined by the location identifier and the radius;

determining one or more inscribed geographic regions, the one or more inscribed geographic regions inscribed by the circular bounding region; and

determining one or more geohashes corresponding to the one or more inscribed geographic regions, wherein the one or more geohashes corresponding to the geographic region are the one or more geohashes corresponding to the one or more inscribed geographic regions.

17. The database management computer of claim 11 , wherein the interaction event data includes a time range and/or a resource provider category, and wherein the request includes the time range and/or the resource provider category.

18. The database management computer of claim 11 , wherein the interaction event data is aggregated and ordered.

19. The database management computer of claim 11 , wherein the interaction event data or derivatives thereof comprise a difference between two interaction values corresponding to two interaction data sets.

20. The database management computer of claim 11 , wherein the requestor computer is a client computer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2022
From: SONG, HONGQIN; GU, YU
To: VISA INTERNATIONAL SERVICE ASSOCIATION
Reel/Frame 058876/0446 →
Continuity (1)
Related Publication 20220300537A1 · Sep 22, 2022