IP Library Granted Patent US 9,541,995
Granted Patent B2
US 9,541,995 · App. 15/001,259 · Granted Jan 10, 2017

Device, method, and system of detecting user identity based on motor-control loop model

Inventors: Avi Turgeman (Cambridge, MA); Itai Novick (Rehovot, IL); Yaron Lehmann (Tel Aviv, IL); Lev Kadyshevitch (Tel Aviv, IL); Edo Dekel (Tel Aviv, IL)
Assignee: BioCatch Ltd.
G06F3/011G06F3/017G06F3/033G06F3/0482G06F3/04812G06F21/36G06N5/04G09G5/08H04W12/06
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 9,541,995
App. No.
15/001,259
Granted
Jan 10, 2017
Kind
B2
Abstract

Device, system, and method of detecting identity of a user based on motor-control loop model. A method includes: during a first session of a user who utilizes a pointing device for interacting with a computerized service, monitoring the pointing device dynamics and gestures of the user; based on the monitored dynamics and gestures, estimating parameters that characterize a sensorimotor control loop model of the user; storing in a database a record indicating that the user is associated with the parameters that characterize the sensorimotor control loop model of the user.

Claims (78)

1. A method comprising:

(a) during a first session of a user who utilizes a pointing device for interacting with a computerized service, monitoring on-screen movements of an on-screen pointer;

(b) defining a sensorimotor control loop model by utilizing at least a function that takes into account at least (A) a first trajectory parameter indicating current velocity of pointing device movement, and (B) a second trajectory parameter indicating translation error;

(c) by analyzing estimated dynamics of the pointing device, determining (AA) at least one sensorimotor control loop parameter that characterizes utilization of said pointing device by said user, and (BB) at least one parameter corresponding to a noise characteristic of the sensorimotor control loop that characterizes utilization of said pointing device by said user;

(d) differentiating between (i) said user and (ii) one or more other users, based on (AA) said at least one sensorimotor control loop parameter that characterizes utilization of said pointing device by said user, and (BB) said at least one parameter corresponding to the noise characteristics of the sensorimotor control loop that characterizes utilization of said pointing device by said user.

2. The method of claim 1 , comprising:

storing in a database a record indicating that said user is associated with said parameters that characterize the sensorimotor control loop model of said user;

in a subsequent session of interaction with said computerized service:

monitoring pointing device dynamics and gestures of a subsequent user,

estimating current parameters that characterize a sensorimotor control loop of said subsequent user,

comparing the current parameters to said record of parameters, and

based on results of said comparing, determining whether said subsequent user of the second session is the same person as said user of the first session.

3. The method of claim 1 , comprising:

based on the monitored pointing device dynamics and gestures of said user, estimating whether or not an elbow of said user is resting on a surface;

based on estimation of whether or not the elbow of said user is resting on the surface, differentiating between said user and another user interacting with said computerized service.

4. The method of claim 1 , comprising:

based on the monitored pointing device dynamics and gestures of said user, estimating whether the user is right-handed;

based on estimation of whether said user is right-handed, differentiating between said user and another user interacting with said computerized service.

5. The method of claim 1 , comprising:

based on the monitored pointing device dynamics and gestures of said user, estimating an eye saccade model of said user;

based on the estimated eye saccade model of said user, differentiating between said user and another user interacting with said computerized service.

6. A monitoring module for monitoring usage of an electronic device, the monitoring module configured to perform a method comprising:

(a) during a first session of a user who utilizes a pointing device for interacting with a computerized service, monitoring on-screen movements of an on-screen pointer;

(b) defining a sensorimotor control loop model by utilizing at least a function that takes into account at least (A) a first trajectory parameter indicating current velocity of pointing device movement, and (B) a second trajectory parameter indicating translation error;

(c) by analyzing estimated dynamics of the pointing device, determining (AA) at least one sensorimotor control loop parameter that characterizes utilization of said pointing device by said user, and (BB) at least one parameter corresponding to a noise characteristic of the sensorimotor control loop that characterizes utilization of said pointing device by said user;

wherein said determining comprises: generating a function that describes the sensorimotor control loop model that causes said on-screen movements of said on-screen pointer;

(d) differentiating between (i) said user and (ii) one or more other users, based on said function that describes the sensorimotor control loop model.

7. The monitoring module of claim 6 , wherein the monitoring module is further configured to perform:

storing in a database a record indicating that said user is associated with said parameters that characterize the sensorimotor control loop model of said user;

in a subsequent session of interaction with said computerized service:

monitoring pointing device gestures of a subsequent user,

estimating current parameters that characterize a sensorimotor control loop of said subsequent user,

comparing the current parameters to said record of parameters, and

based on results of said comparing, determining whether to authenticate identity of said subsequent user.

8. The monitoring module of claim 6 , wherein the monitoring module is further configured to perform:

estimating a user-specific muscular profile which characterizes the motor control loop;

estimating a user-specific coordination index which characterizes the motor control loop;

differentiating between two or more users based on the user-specific muscular profile and the user-specific coordination index.

9. The monitoring module of claim 6 , wherein the monitoring module is further configured to perform:

based on the monitored pointing device dynamics and gestures of said user, estimating one or more parameters characterizing an eye-hand cognitive correction feedback of said user;

based on the estimated one or more parameters characterizing the eye-hand cognitive correction feedback of said user, differentiating between said user and another user interacting with said computerized service.

10. The monitoring module of claim 6 , wherein the monitoring module is further configured to perform:

based on the monitored pointing device dynamics and gestures of said user, estimating an eye-hand coordination model of said user in response to an introduced interference to user experience at said computerized service;

based on the estimated eye-hand coordination model of said user in response to the introduced interference to user experience at said computerized service, differentiating between said user and another user interacting with said computerized service.

11. A monitoring system for monitoring usage of an electronic device, the monitoring system configured to perform a method comprising:

(a) during a first session of a user who utilizes a pointing device for interacting with a computerized service, monitoring on-screen movements of an on-screen pointer;

(b) defining a sensorimotor control loop model by analyzing the on-screen movements of the on-screen pointer;

(c) by analyzing estimated dynamics of the pointing device, determining (AA) at least one sensorimotor control loop parameter that characterizes utilization of said pointing device by said user, and (BB) at least one parameter corresponding to a noise characteristic of the sensorimotor control loop that characterizes utilization of said pointing device by said user;

wherein said determining comprises: generating a function that describes the sensorimotor control loop model that causes said on-screen movements of said on-screen pointer;

(d) differentiating between (i) said user and (ii) one or more other users, based on said function that describes the sensorimotor control loop model.

12. The monitoring system of claim 11 , wherein the monitoring system is further configured to perform:

estimating parameters of a sensorimotor control loop which comprises eye, hand, and brain coordination and control of the pointing device.

13. The monitoring system of claim 11 , wherein the monitoring system is further configured to perform:

presenting to said user a number of choices;

subsequently, modifying the number of choices presented to said user;

based on the monitored pointing device dynamics and gestures of said user, estimating a level of awareness of said user to modification of the number of choices;

based on the estimated level of awareness of said user, differentiating between said user and another user interacting with said computerized service.

14. The monitoring system of claim 11 , wherein the monitoring system is further configured to perform:

based on the monitored pointing device dynamics and gestures of said user, estimating parameters of a Fitts's Law function indicating ability of said user to rapidly reach an on-screen target;

based on the estimated parameters of the Fitts's Law function of said user, differentiating between said user and another user interacting with said computerized service.

15. The monitoring system of claim 11 , wherein the monitoring system is further configured to perform:

based on the monitored pointing device dynamics and gestures of said user, estimating a level of accuracy of said user in reaching an on-screen user interface element;

based on the estimated level of accuracy of said user, differentiating between said user and another user interacting with said computerized service.

16. A computer-implemented process comprising:

(a) during a usage session of a user who utilizes a pointing device for interacting with a computerized service, monitoring on-screen movements of an on-screen pointer;

(b) analyzing the on-screen movements of the on-screen pointer to derive from them estimated dynamics of the pointing device as utilized by said user, and to define a sensorimotor control loop model that characterizes the utilization of said pointing device by said user;

(c) differentiating between (i) said user and (ii) one or more other users, based on a subsequent analysis of subsequent on-screen movements of the on-screen pointer which correspond to pointing device dynamics that do not match said sensorimotor control loop model that was defined for said user.

17. The computer-implemented process of claim 16 , wherein estimating parameters of a motor control loop of said user comprises:

estimating the parameters that characterize the sensorimotor control loop as a function of translation error, current velocity, and motor control noise, based on monitored pointing device dynamics and gestures.

18. The computer-implemented process of claim 16 , comprising:

estimating parameters of a first sensorimotor control loop, associated with pointing device based interaction of a first user during a first session at a first computerized service;

estimating parameters of a second sensorimotor control loop, associated with pointing device based interaction of a second user during a second session at a second, different, computerized service;

if the parameters of the first sensorimotor control loop match the parameters of the second sensorimotor control loop, then determining that the first user and the second user are the same person.

19. The computer-implemented process of claim 16 , wherein estimating the parameters of the sensorimotor control loop comprises:

estimating parameters of a sensorimotor control loop which comprises sensory organ, muscle, and brain.

20. The computer-implemented process of claim 16 , comprising:

based on the monitored pointing device dynamics and gestures of said user, estimating both movement agility and movement dexterity of said user;

based on both the estimated movement agility and the estimated movement dexterity of said user, differentiating between said user and another user interacting with said computerized service.

Assignments (6)
INTELLECTUAL PROPERTY SECURITY AGREEMENT TERMINATION UNDER REEL/FRAME: 049480/0823 Recorded Sep 14, 2020
From: KREOS CAPITAL VI (EXPERT FUND) LP
To: BIOCATCH LTD.
Reel/Frame 053769/0729 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT TERMINATION UNDER REEL/FRAME: 040233/0426 Recorded Sep 14, 2020
From: KREOS CAPITAL V (EXPERT FUND) L.P.
To: BIOCATCH LTD.
Reel/Frame 053770/0145 →
SECURITY INTEREST Recorded Jun 16, 2019
From: BIOCATCH LTD.
To: KREOS CAPITAL VI (EXPERT FUND) L.P.
Reel/Frame 049480/0823 →
CHANGE OF ADDRESS Recorded Jun 13, 2019
From: BIOCATCH LTD.
To: BIOCATCH LTD.
Reel/Frame 049459/0302 →
SECURITY INTEREST Recorded Nov 6, 2016
From: BIOCATCH LTD.
To: KREOS CAPITAL V (EXPERT FUND) L.P.
Reel/Frame 040233/0426 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2016
From: TURGEMAN, AVI; NOVICK, ITAI; LEHMANN, YARON; KADYSHEVITCH, LEV; DEKEL, EDO
To: BIOCATCH LTD.
Reel/Frame 037688/0703 →
Continuity (6)
Continuation 14320653 · Jul 1, 2014
Continuation In Part 13922271 · Jun 20, 2013
Continuation In Part 13877676
Provisional Application 61843915 · Jul 9, 2013
Provisional Application 61417479 · Nov 29, 2010
Related Publication 20160132105A1 · May 12, 2016