IP Library Granted Patent US 9,819,667
Granted Patent B2
US 9,819,667 · App. 15/426,792 · Granted Nov 14, 2017

System and method for determining use of non-human users in a distributed computer network environment

Inventors: James Randall Ryan (Elgin, TX); Ruhul Alam (Austin, TX); James Edward Sylvana (Austin, TX); Conleth S. O'Connell, Jr. (Austin, TX)
Assignee: Kimbia, Inc.
H04L63/08G06F21/30G06Q20/10G06F2221/2133G06Q20/382G06Q30/0279
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,819,667
App. No.
15/426,792
Granted
Nov 14, 2017
Kind
B2
Abstract

Embodiments of systems and methods as disclosed herein may determine that an initiator of a communication on a distributed computer network is an automated script or the like. More particularly, in one embodiment, a web page including a hidden field may be generated in response to a request for the web page. This hidden field is a field included in the web page that is not visible to a human user when the web page is rendered by a browser and presented to the user. By comparing a received value for such a hidden field with an associated value for the hidden field as provided in the web page, the use of an automated script may be detected.

Claims (48)

1. A system, comprising:

a web server computer, including a processor configured by a set of instructions embodied on a computer readable medium for:

receiving a request for a web page from a user device;

determining, at the web server computer, a reverse CAPTCHA field and an associated value;

providing, from the web server computer, the web page with the reverse CAPTCHA field in response to the request, wherein the reverse CAPTCHA field is configured such that when the web page is rendered at the user device the reverse CAPTCHA field and the associated value determined at the web server computer are not visible in a visual presentation of the web page at the user device;

receiving, at the web server computer, a response to the web page from the user device, the response from the user device including a received value associated with the reverse CAPTCHA field;

in response to receiving the response to the web page at the web server computer, determining an expected value of the reverse CAPTCHA field at the web server computer; and

comparing the expected value of the reverse CAPTCHA field determined at the web server computer with the received value associated with the reverse CAPTCHA field included in the response to the web page to determine if the response has been provided by a human user or a script.

2. The system of claim 1 , wherein the instructions are further executable for generating the web page and modifying the generated web page to include the reverse CAPTCHA field.

3. The system of claim 1 , wherein the reverse CAPTCHA field and the associated value were determined based on a first reverse CAPTCHA rule.

4. The system of claim 3 , wherein the first reverse CAPTCHA rule includes a hiding definition, specifying how to hide the reverse CAPTCHA field from presentation to the user when the web page is rendered at the user device.

5. The system of claim 3 , wherein the instructions are further executable for storing an identifier associated with the web page at the web server computer,

wherein the expected value is stored in association with the identifier for the web page at the web server computer, and

wherein the identifier is stored in session data associated with the received request and the identifier is a rule identifier identifying the first reverse CAPTCHA rule.

6. The system of claim 3 , further comprising:

a reverse CAPTCHA data store configured to store one or more reverse CAPTCHA rules, including the first reverse CAPTCHA rule; and

a reverse CAPTCHA engine configured to access the reverse CAPTCHA data store and to select which reverse CAPTCHA rule to utilize.

7. The system of claim 2 , further comprising,

a form generation engine receiving a form request from a widget on the user device, wherein the step of providing, from the web server computer, the web page with the reverse CAPTCHA field includes providing a form definition to the widget over the computer network in response to the form request, and wherein a form including the reverse CAPTCHA field is provided in the web page at the user device when the form definition is rendered by the widget.

8. The system of claim 7 , further comprising a reverse CAPTCHA engine configured to modify the form definition to include the reverse CAPTCHA field.

9. The system of claim 5 , wherein the instructions are further executable for, in response to receiving the web page at the web server computer, determining the first reverse CAPTCHA rule based on the rule identifier and determining the expected value based on the reverse CAPTCHA rule.

10. The system of claim 9 , wherein the first reverse CAPTCHA rule includes a validation definition for generating the expected value for the reverse CAPTCHA field.

11. A method, comprising:

receiving a request for a web page from a user device;

determining, at a web server computer, a reverse CAPTCHA field and an associated value;

providing, from the web server computer, the web page with the reverse CAPTCHA field in response to the request, wherein the reverse CAPTCHA field is configured such that when the web page is rendered at the user device the reverse CAPTCHA field and the associated value determined at the web server computer are not visible in a visual presentation of the web page at the user device;

receiving, at the web server computer, a response to the web page from the user device, the response from the user device including a received value associated with the reverse CAPTCHA field;

in response to receiving the response to the web page at the web server computer, determining an expected value of the reverse CAPTCHA field at the web server computer; and

comparing the expected value of the reverse CAPTCHA field determined at the web server computer with the received value associated with the reverse CAPTCHA field included in the response to the web page to determine if the response has been provided by a human user or a script.

12. The method of claim 11 , further comprising generating the web page and modifying the generated web page to include the reverse CAPTCHA field.

13. The method of claim 11 , wherein the reverse CAPTCHA field and the associated value were determined based on a first reverse CAPTCHA rule.

14. The method of claim 13 , wherein the first reverse CAPTCHA rule includes a hiding definition, specifying how to hide the reverse CAPTCHA field from presentation to the user when the web page is rendered at the user device.

15. The method of claim 13 , further comprising a step of storing an identifier associated with the web page at the web server computer,

wherein the expected value is stored in association with the identifier for the web page at the web server computer, and

wherein the identifier is stored in session data associated with the received request and the identifier is a rule identifier identifying the first reverse CAPTCHA rule.

16. The method of claim 13 , further comprising a step of using a reverse CAPTCHA engine to select the first reverse CAPTCHA rule from a reverse CAPTCHA data store configured to store one or more reverse CAPTCHA rules, including the first reverse CAPTCHA rule.

17. The method of claim 12 , wherein the step of providing, from the web server computer, the web page with the reverse CAPTCHA field includes providing a form definition to the widget over the computer network in response to a form request from a widget on the user device, and wherein a form including the reverse CAPTCHA field is provided in the web page at the user device when the form definition is rendered by the widget.

18. The method of claim 17 , further comprising a step of using a reverse CAPTCHA engine to modify the form definition to include the reverse CAPTCHA field.

19. The method of claim 15 , further comprising, in response to receiving the web page at the web server computer, determining the first reverse CAPTCHA rule based on the rule identifier and determining the expected value based on the reverse CAPTCHA rule.

20. The method of claim 19 , wherein the first reverse CAPTCHA rule includes a validation definition for generating the expected value for the reverse CAPTCHA field.

21. A system, comprising:

a web server computer, including a processor configured by a set of instructions embodied on a computer readable medium for:

receiving a request for content from a user device;

determining, at the web server computer, a reverse CAPTCHA field and an associated value;

providing, from the web server computer, the content with the reverse CAPTCHA field in response to the request, wherein the reverse CAPTCHA field is configured such that when the content is rendered at the user device the reverse CAPTCHA field and the associated value determined at the web server computer are not visible in a visual presentation of the content at the user device;

receiving, at the web server computer, a response to the content from the user device, the response from the user device including a received value associated with the reverse CAPTCHA field;

in response to receiving the response to the content at the web server computer, determining an expected value of the reverse CAPTCHA field at the web server computer; and

comparing the expected value of the reverse CAPTCHA field determined at the web server computer with the received value associated with the reverse CAPTCHA field included in the response to the content to determine if the response has been provided by a human user or a script.

Assignments (11)
SECURITY INTEREST Recorded Mar 7, 2025
From: EVERYACTION, INC.
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 070443/0753 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 057507, FRAME 0020 Recorded Mar 7, 2025
From: GOLUB CAPITAL MARKETS LLC
To: GIVEGAB, INC.
Reel/Frame 070441/0073 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Sep 8, 2021
From: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
To: GIVEGAB, INC.
Reel/Frame 057437/0646 →
PATENT SECURITY AGREEMENT Recorded Sep 8, 2021
From: GIVEGAB, INC.
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 057507/0020 →
NOTICE OF GRANT OF SECURITY INTERESTS IN PATENTS Recorded Apr 30, 2021
From: GIVEGAB, INC.
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 056106/0485 →
RELEASE OF SECURITY INTEREST Recorded Aug 21, 2018
From: JEPAP, LLC
To: GIVEGAB, INC.
Reel/Frame 046639/0096 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2018
From: KIMBIA, INC.
To: GIVEGAB, INC.
Reel/Frame 045605/0529 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2018
From: PACIFIC WESTERN BANK
To: GIVEGAB, INC.
Reel/Frame 045605/0536 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2018
From: GIVEGAB, INC.
To: JEPAP, LLC
Reel/Frame 045156/0322 →
AGREEMENT ANCILLARY TO FORECLOSURE SALE AND ASSET PURCHASE AGREEMENT Recorded Mar 8, 2018
From: KIMBIA, INC.
To: GIVEGAB, INC.
Reel/Frame 045531/0792 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2017
From: RYAN, JAMES RANDALL; ALAM, RUHUL; SYLVANA, JAMES EDWARD; O'CONNELL, CONLETH S., JR
To: KIMBIA, INC.
Reel/Frame 041985/0061 →
Continuity (6)
Continuation 14988559 · Jan 5, 2016
Provisional Application 62099989 · Jan 5, 2015
Provisional Application 62099995 · Jan 5, 2015
Provisional Application 62099997 · Jan 5, 2015
Provisional Application 62099998 · Jan 5, 2015
Related Publication 20170149760A1 · May 25, 2017