IP Library Granted Patent US 10,853,459
Granted Patent B2
US 10,853,459 · App. 16/019,358 · Granted Dec 1, 2020

Verification request authentication machine

Inventors: Peter Alexander Foster (London, GB); Gabriel Dominguez Conde (London, GB); Yogesh Kumar Jitendra Patel (London, GB)
Assignee: Callsign Inc.
G06F21/31G06F21/316G06F21/6245G06N20/00G06F2221/2111
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,853,459
App. No.
16/019,358
Granted
Dec 1, 2020
Kind
B2
Abstract

A machine trains an artificial intelligence engine to facilitate authentication of a request to verify a user. The machine accesses a reference set of obfuscated geolocations generated from actual geolocations from which a device submitted requests to verify the user. The machine groups the obfuscated geolocations into geographical clusters based on a predetermined cluster radius value and calculates a corresponding representative geolocation for each geographical cluster and a corresponding variance distance from the representative geolocation for each geographical cluster. The machine then generates a reference location score based on the representative geolocations of the geographical clusters and on the variance distances of the geographical clusters. The machine trains an artificial intelligence engine to output that reference location score in response to the reference set being input thereto. The trained artificial intelligence engine may then be provided to one or more devices.

Claims (87)

1. A method comprising:

accessing, by one or more processors of a machine, a reference set of obfuscated geolocations that are generated from and correspond to actual geolocations from which a device submitted requests to verify a person;

grouping, by one or more processors of the machine, the obfuscated geolocations of the reference set into clusters of obfuscated geolocations;

calculating, by one or more processors of the machine, a corresponding representative geolocation for each cluster of obfuscated geolocations among the clusters of obfuscated geolocations and a corresponding variance away from the representative geolocation for each cluster of obfuscated geolocations among the clusters of obfuscated geolocations;

generating, by one or more processors of the machine, a reference location score based on the representative geolocations of the clusters of obfuscated geolocations and on the variances away from the representative geolocations of the clusters of obfuscated geolocations;

training, by one or more processors of the machine, an artificial intelligence engine to output the generated reference location score in response to input of the reference set of obfuscated geolocations; and

providing, by one or more processors of the machine, the trained artificial intelligence engine to a further machine configured to input an obfuscated geolocation of the device into the trained artificial intelligence engine, a candidate location score being output by the trained artificial intelligence engine in response to the inputted obfuscated geolocation, and provide an authentication score based on the outputted candidate location score.

2. The method of claim 1 , wherein:

the reference set of obfuscated geolocations is generated by at least one of quantizing the actual geolocations, adding noise to the actual geolocations, or encrypting the actual geolocations.

3. The method of claim 1 , further comprising:

generating a corresponding weight for each cluster of obfuscated geolocations among the clusters of obfuscated geolocations based on a corresponding count of obfuscated geolocations in that cluster; and wherein:

the generating of the reference location score is based on the generated weights that correspond to the clusters of obfuscated geolocations.

4. The method of claim 1 , wherein:

the calculating of the corresponding representative geolocation for each cluster of obfuscated geolocations includes calculating a corresponding mean geolocation for each cluster of obfuscated geolocations; and

the generating of the reference location score is based on the mean geolocations of the clusters of obfuscated geolocations and on the variances away from the mean geolocations of the clusters of obfuscated geolocations.

5. The method of claim 1 , further comprising:

calculating a corresponding mean inter-cluster travel distance between successive geolocations in different clusters of obfuscated geolocations among the clusters of obfuscated geolocations; and wherein:

the generating of the reference location score is based on the mean inter-cluster travel distances.

6. The method of claim 1 , further comprising:

calculating a corresponding variance of inter-cluster travel distances between successive geolocations in different clusters of obfuscated geolocations among the clusters of obfuscated geolocations; and wherein:

the generating of the reference location score is based on the variances of inter-cluster travel distances.

7. The method of claim 1 , further comprising:

accessing reference accelerometer data that indicates corresponding movements made by the device; and wherein:

the generating of the reference location score is based on the reference accelerometer data that indicates the corresponding movements made by the device.

8. The method of claim 1 , further comprising:

accessing reference compass data that indicates corresponding directions in which the device is oriented; and wherein:

the generating of the reference location score is based on the reference compass data that indicates the corresponding directions in which the device is oriented.

9. The method of claim 1 , further comprising:

generating an executable instance of the artificial intelligence engine trained to output the reference location score in response to input of the reference set of obfuscated geolocations; and wherein:

the providing of the trained artificial intelligence engine includes providing the executable instance of the trained artificial intelligence engine.

10. A method comprising:

accessing, by one or more processors of a device, an artificial intelligence engine trained to output a reference location score in response to input of a reference set of obfuscated geolocations generated from and corresponding to actual geolocations from which the device submitted requests to verify a person, the reference location score being generated based on representative geolocations of clusters of obfuscated geolocations of the device and on variances away from the representative geolocations of the clusters of obfuscated geolocations of the device;

generating, by one or more processors of the device, an obfuscated geolocation of the device by obfuscating an actual geolocation of the device;

by one or more processors of the device, inputting the obfuscated geolocation of the device into the artificial intelligence engine trained to output the reference location score in response to input of the reference set of obfuscated geolocations a candidate location score being output by the trained artificial intelligence engine in response to the inputted obfuscated geolocation of the device;

obtaining, by one or more processors of the device, an authentication score from a server machine by providing the candidate location score to the server machine in a request to verify the person, the server machine generating the authentication score based on the candidate location score in response to the providing of the candidate location score; and

presenting, by one or more processors of the device, an indication that the request to verify the person is authentic based on a comparison of the obtained authentication score to a threshold authentication score.

11. The method of claim 10 , wherein:

the artificial intelligence engine is trained to output the reference location score based on weights that correspond to the clusters of obfuscated geolocations, each weight among the weights being generated based on a corresponding count of obfuscated geolocations in the corresponding cluster of obfuscated geolocations;

the artificial intelligence engine is trained to output the reference location score based on the generated weights that correspond to the clusters of obfuscated geolocations; and

the artificial intelligence engine generates the candidate location score based on the generated weights that correspond to the clusters of obfuscated geolocations.

12. The method of claim 10 , wherein:

the artificial intelligence engine is trained to output the reference location score based on mean inter-cluster travel distances between the clusters of obfuscated geolocations, each mean inter-cluster travel distance among the mean inter-cluster travel distances being calculated between successive geolocations in different clusters of obfuscated geolocations; and

the artificial intelligence engine generates the candidate location score based on the mean inter-cluster travel distances.

13. The method of claim 10 , wherein:

the artificial intelligence engine is trained to output the reference location score based on variances of inter-cluster travel distances between the clusters of obfuscated geolocations, each variance among the variances being calculated based on inter-cluster travel distances between successive geolocations in different clusters of obfuscated geolocations; and

the artificial intelligence engine generates the candidate location score based on the variances of inter-cluster travel distances.

14. The method of claim 10 , wherein:

the artificial intelligence engine is trained to output the reference location score based on comparisons of a maximum travel speed to travel speeds between pairs of successive geolocations, each travel speed among the travel speeds being calculated based on travel distances and travel times between a corresponding pair of successive geolocations; and

the artificial intelligence engine generates the candidate location score based on the comparisons of the maximum travel speed to the travel speeds between the pairs of successive geolocations.

15. The method of claim 10 , further comprising:

accessing candidate accelerometer data that indicates a corresponding movement made by the device; and wherein:

the artificial intelligence engine is trained to output the reference location score based on reference accelerometer data that indicates corresponding movements made by the device; and

the artificial intelligence engine generates the candidate location score based on the candidate accelerometer data that indicates the corresponding movement made by the device.

16. The method of claim 10 , further comprising:

accessing candidate compass data that indicates a corresponding direction in which the device is oriented; and wherein:

the artificial intelligence engine is trained to output the reference location score based on reference compass data that indicates corresponding directions in which the device is oriented; and

the artificial intelligence engine generates the candidate location score based on the candidate compass data that indicates the corresponding direction in which the device is oriented.

17. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a server machine, cause the server machine to perform operations comprising:

accessing a reference set of obfuscated geolocations that are generated from and correspond to actual geolocations from which a device submitted requests to verify a person;

grouping the obfuscated geolocations of the reference set into clusters of obfuscated geolocations;

calculating a corresponding representative geolocation for each cluster of obfuscated geolocations among the clusters of obfuscated geolocations and a corresponding variance away from the representative geolocation for each cluster of obfuscated geolocations among the clusters of obfuscated geolocations;

generating a reference location score based on the representative geolocations of the clusters of obfuscated geolocations and on the variances away from the representative geolocations of the clusters of obfuscated geolocations;

training an artificial intelligence engine to output the generated reference location score in response to input of the reference set of obfuscated geolocations; and

providing the trained artificial intelligence engine to a further machine configured to input an obfuscated geolocation of the device into the trained artificial intelligence engine, a candidate location score being output by the trained artificial intelligence engine in response to the inputted obfuscated geolocation, and provide an authentication score based on the outputted candidate location score.

18. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a device, cause the device to perform operations comprising:

accessing an artificial intelligence engine trained to output a reference location score in response to input of a reference set of obfuscated geolocations generated from and corresponding to actual geolocations from which the device submitted requests to verify a person, the reference location score being generated based on representative geolocations of clusters of obfuscated geolocations of the device and on variances away from the representative geolocations of the clusters of obfuscated geolocations of the device;

generating an obfuscated geolocation of the device by obfuscating an actual geolocation of the device;

inputting the obfuscated geolocation of the device into the artificial intelligence engine trained to output the reference location score in response to input of the reference set of obfuscated geolocations a candidate location score being output by the trained artificial intelligence engine in response to the inputted obfuscated geolocation of the device;

obtaining an authentication score from a server machine by providing the candidate location score to the server machine in a request to verify the person, the server machine generating the authentication score based on the candidate location score in response to the providing of the candidate location score; and

presenting an indication that the request to verify the person is authentic based on a comparison of the obtained authentication score to a threshold authentication score.

19. A server machine comprising:

one or more processors; and

a memory storing instructions that, when executed by at least one processor among the one or more processors, cause the server machine to perform operations comprising:

accessing a reference set of obfuscated geolocations that are generated from and correspond to actual geolocations from which a device submitted requests to verify a person;

grouping the obfuscated geolocations of the reference set into clusters of obfuscated geolocations;

calculating a corresponding representative geolocation for each cluster of obfuscated geolocations among the clusters of obfuscated geolocations and a corresponding variance away from the representative geolocation for each cluster of obfuscated geolocations among the clusters of obfuscated geolocations;

generating a reference location score based on the representative geolocations of the clusters of obfuscated geolocations and on the variances away from the representative geolocations of the clusters of obfuscated geolocations;

training an artificial intelligence engine to output the generated reference location score in response to input of the reference set of obfuscated geolocations; and

providing the trained artificial intelligence engine to a further machine configured to input an obfuscated geolocation of the device into the trained artificial intelligence engine, a candidate location score being output by the trained artificial intelligence engine in response to the inputted obfuscated geolocation, and provide an authentication score based on the outputted candidate location score.

20. A device comprising:

one or more processors; and

a memory storing instructions that, when executed by at least one processor among the one or more processors, cause the device to perform operations comprising:

accessing an artificial intelligence engine trained to output a reference location score in response to input of a reference set of obfuscated geolocations generated from and corresponding to actual geolocations from which the device submitted requests to verify a person, the reference location score being generated based on representative geolocations of clusters of obfuscated geolocations of the device and on variances away from the representative geolocations of the clusters of obfuscated geolocations of the device;

generating an obfuscated geolocation of the device by obfuscating an actual geolocation of the device;

inputting the obfuscated geolocation of the device into the artificial intelligence engine trained to output the reference location score in response to input of the reference set of obfuscated geolocations, a candidate location score being output by the trained artificial intelligence engine in response to the inputted obfuscated geolocation of the device;

obtaining an authentication score from a server machine by providing the candidate location score to the server machine in a request to verify the person, the server machine generating the authentication score based on the candidate location score in response to the providing of the candidate location score; and

presenting an indication that the request to verify the person is authentic based on a comparison of the obtained authentication score to a threshold authentication score.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Jan 27, 2025
From: TRIPLEPOINT CAPITAL LLC
To: CALLSIGN, INC.
Reel/Frame 070023/0827 →
PLAIN ENGLISH INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 30, 2022
From: CALLSIGN, INC.
To: TRIPLEPOINT CAPITAL LLC, AS COLLATERAL AGENT
Reel/Frame 060544/0420 →
RELEASE OF SECURITY INTEREST Recorded Feb 24, 2021
From: TRIPLEPOINT CAPITAL LLC
To: CALLSIGN, INC.
Reel/Frame 055391/0001 →
SECURITY INTEREST Recorded Mar 28, 2019
From: CALLSIGN, INC.
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 048731/0278 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2018
From: FOSTER, PETER ALEXANDER; CONDE, GABRIEL DOMINGUEZ; PATEL, YOGESH KUMAR JITENDRA
To: CALLSIGN INC.
Reel/Frame 046208/0554 →
Continuity (1)
Related Publication 20190392122A1 · Dec 26, 2019