IP Library Granted Patent US 10,491,697
Granted Patent B2
US 10,491,697 · App. 16/275,738 · Granted Nov 26, 2019

System and method for bot detection

Inventors: Heng Wang (San Jose, CA); Owen S. Vallis (Santa Clara, CA); Arun Kejariwal (Fremont, CA); Harsh Singhal (Sunnyvale, CA); William Hatzer (San Jose, CA); James Koh (Pasadena, CA)
Assignee: Cognant LLC
H04L67/22A63F13/73H04L63/1483H04L67/16A63F2300/532
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,491,697
App. No.
16/275,738
Granted
Nov 26, 2019
Kind
B2
Abstract

A method, a system, and an article are provided for detecting bot users of a software application. An example method can include: providing a client application to a plurality of users; obtaining device-based data and application-based data for each user, the device-based data including a description of at least one computer component used to run the client application, the application-based data including a history of user interactions with the client application; aggregating the data to obtain a plurality of bot signals for each user; analyzing the bot signals to detect a bot among the plurality of users; and preventing the bot from accessing the client application.

Claims (50)

1. A method, comprising:

providing a client application to a plurality of users;

obtaining device-based data and application-based data for each user, the device-based data comprising a description of at least one computer component used to run the client application, the application-based data comprising a history of user interactions with the client application;

aggregating the data to obtain a plurality of bot signals for each user;

analyzing the bot signals to detect a bot among the plurality of users; and

preventing the bot from accessing the client application.

2. The method of claim 1 , wherein the client application comprises a multiplayer online game.

3. The method of claim 1 , wherein the at least one computer component comprises at least one of client device hardware or client device software.

4. The method of claim 1 , wherein analyzing the bot signals comprises:

determining that a user is a bot based on an incompatible combination of a client device model and an operating system version.

5. The method of claim 1 , wherein analyzing the bot signals comprises:

determining that a user is a bot based on (i) a number of distinct geographical login locations used by the user or (ii) a number of distinct Internet Protocol addresses used by the user.

6. The method of claim 1 , wherein analyzing the bot signals comprises:

determining that a user is a bot based on a repeating pattern of activity in the user's history of user interactions with the client application.

7. The method of claim 1 , wherein analyzing the bot signals comprises:

determining that a user is a bot based on a lack of social interactions with other users in the client application.

8. The method of claim 1 , wherein analyzing the bot signals comprises:

determining that a user is a bot when a client device for the user is associated with an anomalous pattern of calls to an application programming interface for the client application.

9. The method of claim 1 , wherein analyzing the bot signals comprises:

determining that a user is a bot based on a similarity between one of the user's signals and a corresponding signal for a different user.

10. The method of claim 1 , wherein analyzing the bot signals comprises:

using a sigmoid function to calculate a confidence score comprising an indication that at least one user is a bot.

11. A system, comprising:

one or more computer processors programmed to perform operations comprising:

providing a client application to a plurality of users;

obtaining device-based data and application-based data for each user, the device-based data comprising a description of at least one computer component used to run the client application, the application-based data comprising a history of user interactions with the client application;

aggregating the data to obtain a plurality of bot signals for each user;

analyzing the bot signals to detect a bot among the plurality of users; and

preventing the bot from accessing the client application.

12. The system of claim 11 , wherein the client application comprises a multiplayer online game.

13. The system of claim 11 , wherein the at least one computer component comprises at least one of client device hardware or client device software.

14. The system of claim 11 , wherein analyzing the bot signals comprises:

determining that a user is a bot based on an incompatible combination of a client device model and an operating system version.

15. The system of claim 11 , wherein analyzing the bot signals comprises:

determining that a user is a bot based on (i) a number of distinct geographical login locations used by the user or (ii) a number of distinct Internet Protocol addresses used by the user.

16. The system of claim 11 , wherein analyzing the bot signals comprises:

determining that a user is a bot based on a repeating pattern of activity in the user's history of user interactions with the client application.

17. The system of claim 11 , wherein analyzing the bot signals comprises:

determining that a user is a bot based on a lack of social interactions with other users in the client application.

18. The system of claim 11 , wherein analyzing the bot signals comprises:

determining that a user is a bot when a client device for the user is associated with an anomalous pattern of calls to an application programming interface for the client application.

19. The system of claim 11 , wherein analyzing the bot signals comprises:

determining that a user is a bot based on a similarity between one of the user's signals and a corresponding signal for a different user.

20. An article, comprising:

a non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more computer processors, cause the computer processors to perform operations comprising:

providing a client application to a plurality of users;

obtaining device-based data and application-based data for each user, the device-based data comprising a description of at least one computer component used to run the client application, the application-based data comprising a history of user interactions with the client application;

aggregating the data to obtain a plurality of bot signals for each user;

analyzing the bot signals to detect a bot among the plurality of users; and

preventing the bot from accessing the client application.

Assignments (4)
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT [RF 053329/0785] Recorded Dec 9, 2024
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: COGNANT LLC
Reel/Frame 069545/0164 →
SECURITY INTEREST Recorded Jul 28, 2020
From: COGNANT LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 053329/0785 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2019
From: WANG, HENG; VALLIS, OWEN S.; KEJARIWAL, ARUN; SINGHAL, HARSH; HATZER, WILLIAM; KOH, JAMES
To: COGNANT LLC
Reel/Frame 049594/0759 →
NOTICE OF SECURITY INTEREST -- PATENTS Recorded Mar 19, 2019
From: MACHINE ZONE, INC.; SATORI WORLDWIDE, LLC; COGNANT LLC
To: MGG INVESTMENT GROUP LP, AS COLLATERAL AGENT
Reel/Frame 048640/0585 →
Continuity (2)
Provisional Application 62630880 · Feb 15, 2018
Related Publication 20190253504A1 · Aug 15, 2019