IP Library Granted Patent US 12,095,804
Granted Patent B2
US 12,095,804 · App. 17/341,700 · Granted Sep 17, 2024

Systems and methods for bot mitigation

Inventors: Devon Meunier (Guelph, CA); Osama Sidat (Kitchener, CA); John Jong-Suk Lee (Waterloo, CA); Dennis Ho (Rockcliffe, CA)
Assignee: Shopify Inc.
H04L63/1441
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,095,804
App. No.
17/341,700
Granted
Sep 17, 2024
Kind
B2
Abstract

Methods and systems for using a distributed ledger to record bot mitigation test results and enable servers to determine a bot mitigation score for a remote device based on previously recorded test results associated with the remote device. The server may detect a trigger for bot mitigation in association with a remote device, obtain identifying data regarding the remote device and search a distributed ledger using the identifying data to locate one or more test results stored in records on the distributed ledger containing the identifying data. It may then determine a bot likelihood score based on the one or more test results, compare the bot likelihood score to a threshold and, in response to the comparison, execute a mitigation action.

Claims (38)

1. A computer-implemented method comprising:

detecting a trigger for bot mitigation in association with a remote device;

obtaining identifying data regarding the remote device;

searching a blockchain using the identifying data to locate one or more bot mitigation test results stored in records on the blockchain containing the identifying data, the one or more bot mitigation test results indicating whether the remote device is suspected to be a bot or not a bot, the one or more bot mitigation test results including one or more bot mitigation test results from third-party services and including data based on a quantitative measure of complexity of the one or more bot mitigation test results;

determining a bot likelihood score based on the one or more bot mitigation test results indicating whether the remote device is suspected to be a bot or not a bot and on the data based on the quantitative measure of complexity of the one or more bot mitigation test results; and

comparing the bot likelihood score to a threshold and, in response to the comparison, executing a mitigation action.

2. The method of claim 1 , wherein the bot mitigation test results comprise two or more bot mitigation test results, and wherein determining the bot likelihood score includes filtering or weighting the two or more bot mitigation test results based on the data regarding the quantitative measure of complexity of the two or more bot mitigation tests results.

3. The method of claim 2 , wherein the two or more bot mitigation test results are further associated with respective times of test, and wherein determining the bot likelihood score includes filtering or weighting the two or more bot mitigation test results based on the times of test.

4. The method of claim 1 , wherein the bot mitigation test results are further associated with respective testing entity identifiers, and wherein determining the bot likelihood score is at least partly based on the respective testing entity identifiers.

5. The method of claim 1 , wherein the mitigation action includes executing a bot mitigation test.

6. The method of claim 1 , wherein the identifying data includes one or more of a user identifier, an account identifier, or a device identifier.

7. The method of claim 1 , wherein the detecting the trigger includes detecting a user input from the remote device in connection with a webpage element.

8. The method of claim 1 , wherein searching includes searching the blockchain for transactions containing the identifying data.

9. The method of claim 1 , wherein the trigger includes receiving a request for access to a flash sale.

10. The method of claim 9 , wherein the mitigation action includes allocating the remote device to a secondary tier in a queue for the flash sale.

11. The method of claim 9 , wherein the mitigation action includes blocking the remote device from the flash sale.

12. The method of claim 9 , wherein the mitigation action includes allocating the remote device a position in a queue based on its bot mitigation score relative to bot mitigation scores of other devices in the queue.

13. A computing system, comprising:

a processor;

a memory storing computer-executable instructions that, when executed by the processor, are to cause the processor to:

detect a trigger for bot mitigation in association with a remote device;

obtain identifying data regarding the remote device;

search a blockchain using the identifying data to locate one or more bot mitigation test results stored in records on the blockchain containing the identifying data, the one or more bot mitigation test results indicating whether the remote device is suspected to be a bot or not a bot, the one or more bot mitigation test results including one or more bot mitigation test results from third-party services and including data based on a quantitative measure of complexity of the one or more bot mitigation test results;

determine a bot likelihood score based on the one or more bot mitigation test results indicating whether the remote device is suspected to be a bot or not a bot and on the data based on the quantitative measure of complexity of the one or more bot mitigation test results; and

compare the bot likelihood score to a threshold and, in response to the comparison, execute a mitigation action.

14. The computing system of claim 13 , wherein the bot mitigation test results comprise two or more bot mitigation test results, and wherein the instructions, when executed, are to cause the processor to determine the bot likelihood score by filtering or weighting the bot mitigation test results based on the data regarding the quantitative measure of complexity of the two or more bot mitigation tests results.

15. The computing system of claim 13 , wherein the bot mitigation test results are further associated with respective testing entity identifiers, and wherein the instructions, when executed, are to cause the processor to determine the bot likelihood score at least partly based on the respective testing entity identifiers.

16. The computing system of claim 13 , wherein the mitigation action includes executing a bot mitigation test.

17. The computing system of claim 13 , wherein the instructions, when executed, are to cause the processor to detect the trigger by detecting a user input from the remote device in connection with a webpage element.

18. The computing system of claim 13 , wherein the instructions, when executed, are to cause the processor to search the blockchain for transactions containing the identifying data.

19. The computing system of claim 13 , wherein the trigger includes receiving a request for access to a flash sale, and the mitigation action includes allocating the remote device to a secondary tier in a queue for the flash sale.

20. The computing system of claim 13 , wherein the trigger includes receiving a request for access to a flash sale, and wherein the mitigation action includes allocating the remote device a position in a queue based on its bot mitigation score relative to bot mitigation scores of other devices in the queue.

21. A non-transitory, computer-readable medium storing computer-executable instructions that, when executed by a processor, are to cause the processor to:

detect a trigger for bot mitigation in association with a remote device;

obtain identifying data regarding the remote device;

search a blockchain using the identifying data to locate one or more bot mitigation test results stored in records on the blockchain containing the identifying data, the one or more bot mitigation test results indicating whether the remote device is suspected to be a bot or not a bot, the one or more bot mitigation test results including one or more bot mitigation test results from third-party services and including data based on a quantitative measure of complexity of the one or more bot mitigation test results;

determine a bot likelihood score based on the one or more bot mitigation test results indicating whether the remote device is suspected to be a bot or not a bot and on the data based on the quantitative measure of complexity of the one or more bot mitigation test results; and

compare the bot likelihood score to a threshold and, in response to the comparison, execute a mitigation action.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2021
From: MEUNIER, DEVON; SIDAT, OSAMA; LEE, JOHN JONG-SUK; HO, DENNIS
To: SHOPIFY INC.
Reel/Frame 056494/0858 →
Continuity (1)
Related Publication 20220394058A1 · Dec 8, 2022
Cited By (1)
US 12,417,262