IP Library › Granted Patent US 12,118,560
Granted Patent B2
US 12,118,560 · App. 17/651,081 · Granted Oct 15, 2024

Pointer movement modelling for entity classification

Inventors: Zhe Chen (Singapore, SG); Hewen Wang (Singapore, SG); Solomon Kok How Teo (Singapore, SG); Yuzhen Zhuo (Singapore, SG); Quan Jin Ferdinand Tang (Singapore, SG); Mandar Ganaba Gaonkar (Fremont, CA); Omkumar Mahalingam (Santa Clara, CA); Kenneth Bradley Snyder (San Jose, CA)
Assignee: PayPal, Inc.
G06Q20/4016G06F3/017G06F3/0304G06F18/217G06N20/20G06Q20/40145
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,118,560
App. No.
17/651,081
Granted
Oct 15, 2024
Kind
B2
Abstract

Techniques are disclosed relating to determining whether to authorize a requested action based on whether an entity is an automated computer. In some embodiments, a computer system tracks, at a user interface of a computing device, a sequence of pointer movements. The computer system maps, based on coordinate locations of pointer movements in the sequence, respective movements in the sequence to a plurality of functional areas. Based on the mapping, the computer system generates a movement graph and determines, based on the movement graph, whether an entity associated with the sequence of pointer movements is an automated computer. In response to receiving a request to authorize an action at the computing device, the computer system generates, based on the determining, an authorization decision for the action and transmits the authorization decision to the computing device. Determining whether the entity is an automated computer may advantageously prevent fraudulent activity.

Claims (69)

1. A method, comprising:

tracking, by a server computer system based on pointer movement information identified at a mobile application rendered at a user interface of a mobile device, a sequence of pointer movements, wherein the pointer movement information is transmitted from the mobile device to the server computer system;

mapping, by the server computer system based on coordinate locations of pointer movements in the sequence of pointer movements, respective movements in the sequence to a plurality of functional areas;

generating, by the server computer system based on the mapping, a movement graph, wherein the generating includes:

assigning graph nodes to respective functional areas included in the plurality of functional areas; and

assigning graph edges to respective pointer movements in the sequence of pointer movements between respective functional areas included in the plurality of functional areas, wherein weights assigned to graph edges are based on a number of pointer movements between pairs of functional areas;

determining, by the server computer system based on the movement graph, whether an entity associated with the sequence of pointer movements is an automated computer;

in response to receiving a request to authorize an action at the mobile device, generating, by the server computer system based on the determining, an authorization decision for the action; and

transmitting, by the server computer system to the mobile device, the authorization decision.

2. The method of claim 1 , further comprising:

inputting, by the server computer system, the movement graph into a first machine learning model;

generating, by the server computer system based on output of the first machine learning model, a representative set of pointer movement data; and

inputting, by the server computer system, the representative set of pointer movement data into a second, different machine learning model, wherein the determining whether the entity is an automated computer is further based on output of the second, different machine learning model.

3. The method of claim 2 , wherein the second, different machine learning model is generated by:

generating, from a plurality of historical sequences of pointer movements tracked via user interfaces of a plurality of computing devices, a plurality of representative sets of movement data;

inputting the plurality of representative sets of movement data into the second, different machine learning model; and

adjusting, based on output of the second, different machine learning model for the representative sets of movement data and known labels for the historical sequences of pointer movements corresponding to the representative sets of movement data, one or more weights of the second, different machine learning model.

4. The method of claim 2 , wherein the first machine learning model is a graph convolutional network (GCN), and wherein the GCN is trained by:

generating, from a plurality of historical sequences of pointer movements tracked via user interfaces of a plurality of computing devices, a historical movement graph; and

inputting the historical movement graph into the GCN, wherein the GCN includes at least two neural network layers.

5. The method of claim 2 , further comprising:

generating, by the server computer system based on the sequence of pointer movements, a set of pointer biometric data.

6. The method of claim 5 , wherein output of the first machine learning model for the movement graph is a set of regression classifiers, and wherein generating the representative set of movement data includes:

performing a dot product of the set of regression classifiers and the sequence of pointer movements.

7. The method of claim 5 , wherein generating the set of pointer biometric data includes calculating one or more of the following biometric features for respective pointer movements included in the sequence of pointer movements: movement speed, movement acceleration, movement directions, movement intervals, and movement distance.

8. The method of claim 1 , wherein the sequence of pointer movements are consecutive pointer movements within the user interface of the mobile device, and wherein the map of the sequence of pointer movements corresponds to a pointer trajectory.

9. The method of claim 1 , wherein one or more of the plurality of functional areas include a point of interest within the user interface.

10. A non-transitory computer-readable medium having instructions stored thereon that are executable by a server computer system to perform operations comprising:

tracking, based on pointer movement information identified at a browser rendered at a user interface of a desktop computer, a sequence of pointer movements, wherein the pointer movement information is transmitted from the desktop computer to the server computer system;

mapping, based on coordinate locations of pointer movements in the sequence of pointer movements, respective movements in the sequence to a plurality of functional areas;

generating a movement graph based on the mapping, wherein the generating includes:

assigning graph nodes to respective functional areas included in the plurality of functional areas; and

assigning graph edges to respective pointer movements in the sequence of pointer movements between respective functional areas included in the plurality of functional areas;

determining, based on output of the movement graph, whether an entity associated with the sequence of pointer movements is an automated computer;

in response to receiving a request to authorize an action at the desktop computer, generating an authorization decision for the action based on the determining; and

transmitting, to the desktop computer, the authorization decision.

11. The non-transitory computer-readable medium of claim 10 , wherein the operations further comprise:

inputting the movement graph into a first machine learning model;

generating, based on output of the first machine learning model, a representative set of pointer movement data; and

inputting the representative set of pointer movement data into a second, different machine learning model, wherein the determining whether the entity is an automated computer is further based on output of the second, different machine learning model.

12. The non-transitory computer-readable medium of claim 11 , wherein the first machine learning model is a graph convolution network (GCN), and wherein the GCN is trained by:

generating, from a plurality of historical sequences of pointer movements tracked via user interfaces of a plurality of computing devices, a historical movement graph; and

inputting the historical movement graph into the GCN, wherein the GCN includes at least three neural network layers.

13. The non-transitory computer-readable medium of claim 11 , wherein the operations further comprise:

generating, based on the sequence of pointer movements, a set of pointer biometric data.

14. The non-transitory computer-readable medium of claim 12 , wherein output of the first machine learning model for the movement graph is a set of regression classifiers, and wherein generating the representative set of movement data includes:

performing a dot product of the set of regression classifiers and the sequence of pointer movements.

15. The non-transitory computer-readable medium of claim 10 ,

wherein weights assigned to graph edges are based on a number of pointer movements between pairs of functional areas.

16. A system, comprising:

at least one processor; and

a memory having instructions stored thereon that are executable by the at least one processor to cause the system to:

track, at a user interface of a mobile device, a sequence of pointer movements, wherein the tracking is based on pointer movement information determined at a mobile application rendered via the user interface of the mobile device and transmitted from the mobile device to the system;

generate, based on the sequence of pointer movements, a movement graph, wherein the generating includes:

mapping, based on coordinate locations of pointer movements in the sequence of pointer movements, respective movements in the sequence to a plurality of functional areas;

assigning graph nodes to respective functional areas included in the plurality of functional areas; and

assigning graph edges to respective pointer movements in the sequence of pointer movements between respective functional areas included in the plurality of functional areas, wherein weights assigned to graph edges are based on a number of pointer movements between pairs of functional areas;

input the movement graph into a first machine learning model;

generate, based on output of the first machine learning model, a representative set of pointer movement data;

input the representative set of pointer movement data into a second, different machine learning model;

determine, based on output of the second, different machine learning model, whether an entity associated with the sequence of pointer movements is an automated computer;

in response to receiving a request to authorize an action at the mobile device, generate, based on the determining, an authorization decision for the action; and

transmit, to the mobile device, the authorization decision.

17. The system of claim 16 , wherein one or more of the plurality of functional areas include a point of interest within the user interface.

18. The system of claim 17 , wherein the sequence of pointer movements are consecutive pointer movements within the user interface of the mobile device, and wherein the map of the sequence of pointer movements corresponds to a pointer trajectory.

19. The system of claim 16 , wherein the instructions are further executable by the at least one processor to cause the system to:

generate, based on the sequence of pointer movements, a set of pointer biometric data, wherein output of the first machine learning model for the movement graph is a set of regression classifiers, and wherein generating the representative set of movement data includes:

performing a dot product of the set of regression classifiers and the sequence of pointer movements.

20. The system of claim 16 , wherein the second, different machine learning model is an extreme gradient boosting (XGBoost) classifier.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2022
From: CHEN, ZHE; WANG, HEWEN; TEO, SOLOMON KOK HOW; ZHUO, YUZHEN; TANG, QUAN JIN FERDINAND; GAONKAR, MANDAR GANABA; MAHALINGAM, OMKUMAR; SNYDER, KENNETH BRADLEY
To: PAYPAL, INC.
Reel/Frame 059489/0617 →
Continuity (1)
Related Publication 20230259943A1 · Aug 17, 2023