IP Library Granted Patent US 9,710,638
Granted Patent B2
US 9,710,638 · App. 14/838,903 · Granted Jul 18, 2017

Unicode-based image generation and testing

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,710,638
App. No.
14/838,903
Granted
Jul 18, 2017
Kind
B2
Abstract

Systems and methods for testing to tell computers and humans apart and generating said tests are described. An interface is generated that includes a challenge and a response is provided, and a plurality of user selections of locations in the interface are received. A server compares the x coordinate and the y coordinate of each user selection with x and y coordinates for a subset of the plurality of characters in the response to obtain a distance value for each user selection. The server then sums the distance values for each user selection to obtain a total distance value. The server subsequently compares the total distance to a predetermined threshold, the server validating the user response when the total distance is less than the predetermined threshold, the validating causing access to be provided to web content specified in the user request.

Claims (48)

1. A method of testing to tell computers and humans apart, the method comprising:

providing, by a processor, a challenge on an interface, the challenge comprising a number of selected characters from a challenge character subset, the challenge character subset comprising characters from the 8-bit ASCII character range that leave a visible impression;

providing, by the processor, a response on the interface, the response comprising a plurality of characters from the challenge character subset, the response having a character count that is greater than the number of challenge characters and the response including the characters in the challenge, each character in the response having a font size selected from a range having a predetermined maximum, a predetermined orientation, and an x coordinate and a y coordinate, the challenge and the response together forming an image, the image being provided in response to a user request;

receiving, by an input device in communication with the processor, a plurality of user selections of locations in the interface, each user selection being associated with an x coordinate and y coordinate;

transmitting, by the processor, the x coordinate and the y coordinate of each selection to a server, wherein the server:

compares the x coordinate and the y coordinate of each user selection with x and y coordinates for a subset of the plurality of characters in the response to obtain a distance value for each user selection;

sums the distance values for each user selection to obtain a total distance value; and

compares the total distance to a predetermined threshold, the server validating the user response when the total distance is less than the predetermined threshold, the validating comprising providing access to web content specified in the user request.

2. The method of claim 1 , wherein each character in the challenge and the response has a independently-determined font, size and orientation.

3. The method of claim 1 , wherein the image has a vertical orientation.

4. The method of claim 1 , wherein the image has a horizontal orientation.

5. The method of claim 1 , wherein the characters in the challenge are a different color from the corresponding characters in the response.

6. The method of claim 1 , the comparing the x coordinate and the y coordinate of each user selection further comprising:

comparing the x coordinate and the y coordinate of each user selection with the x and y coordinates of each of the plurality of characters in the response; and

associating each user selection with a character in the response with a minimum distance from the user selection, the total distance value equaling the sum of the distances between each user selection and the associated character in the response with the minimum distance from the user selection.

7. The method of claim 1 , the server further storing a solution comprising an ordered list of coordinates for the characters in the challenge included in the response, the comparing the x coordinate and the y coordinate of each user selection comprising comparing the user selections in chronological order with corresponding x and y coordinates of the ordered list stored in the solution, the total distance value equaling the sum of the distances between each user selection and the corresponding x and y coordinates of the ordered list.

8. A system for generating an image for use in a test to tell computers and humans apart comprising:

a web server, the web server receiving a request for an image from a client device; and

a test server, the test server being configured to:

provide a challenge on an interface, the challenge comprising a number of selected characters from a challenge character subset, the challenge character subset comprising characters from the 8-bit ASCII character range that leave a visible impression;

provide a response on the interface, the response comprising a plurality of characters from the challenge character subset, the response having a character count that is greater than the number of challenge characters and the response including the characters in the challenge, each character in the response having a font size selected from a range having a predetermined maximum, a predetermined orientation, and an x coordinate and a y coordinate, the challenge and the response together forming an image, the image being provided in response to a user request;

receive, by the web server, a plurality of user selections of locations in the interface, each user selection being associated with an x coordinate and y coordinate;

compare the x coordinate and the y coordinate of each user selection with x and y coordinates for a subset of the plurality of characters in the response to obtain a distance value for each user selection;

sum the distance values for each user selection to obtain a total distance value; and

compare the total distance to a predetermined threshold, the server validating the user response when the total distance is less than the predetermined threshold, the validating comprising indicating to the web server that the user response passed the test.

9. The system of claim 8 , wherein each character in the challenge and the response has a independently-determined font, size and orientation.

10. The system of claim 8 , wherein the image has a vertical orientation.

11. The system of claim 8 , wherein the image has a horizontal orientation.

12. The system of claim 8 , wherein the characters in the challenge are a different color from the corresponding characters in the response.

13. The system of claim 8 , the comparing the x coordinate and the y coordinate of each user selection further comprising:

comparing the x coordinate and the y coordinate of each user selection with the x and y coordinates of each of the plurality of characters in the response; and

associating each user selection with a character in the response with a minimum distance from the user selection, the total distance value equaling the sum of the distances between each user selection and the associated character in the response with the minimum distance from the user selection.

14. The system of claim 8 , the server further storing a solution comprising an ordered list of coordinates for the characters in the challenge included in the response, the comparing the x coordinate and the y coordinate of each user selection comprising comparing the user selections in chronological order with corresponding x and y coordinates of the ordered list stored in the solution, the total distance value equaling the sum of the distances between each user selection and the corresponding x and y coordinates of the ordered list.

15. A computer program product comprising computer-readable program code to be executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code including instructions to:

provide a challenge on an interface, the challenge comprising a number of selected characters from a challenge character subset, the challenge character subset comprising characters from the 8-bit ASCII character range that leave a visible impression;

provide a response on the interface, the response comprising a plurality of characters from the challenge character subset, the response having a character count that is greater than the number of challenge characters and the response including the characters in the challenge, each character in the response having a font size selected from a range having a predetermined maximum, a predetermined orientation, and an x coordinate and a y coordinate, the challenge and the response together forming an image, the image being provided in response to a user request;

receive, by an input device, a plurality of user selections of locations in the interface, each user selection being associated with an x coordinate and y coordinate;

transmit the x coordinate and the y coordinate of each selection to a server, wherein the server:

compares the x coordinate and the y coordinate of each user selection with x and y coordinates for a subset of the plurality of characters in the response to obtain a distance value for each user selection;

sums the distance values for each user selection to obtain a total distance value; and

compares the total distance to a predetermined threshold, the server validating the user response when the total distance is less than the predetermined threshold, the validating comprising providing access to web content specified in the user request.

16. The computer program product of claim 15 , wherein each character in the challenge and the response has a independently-determined font, size and orientation.

17. The computer program product of claim 15 , wherein the image has a vertical orientation.

18. The computer program product of claim 15 , wherein the image has a horizontal orientation.

19. The computer program product of claim 15 , the comparing the x coordinate and the y coordinate of each user selection further comprising:

comparing the x coordinate and the y coordinate of each user selection with the x and y coordinates of each of the plurality of characters in the response; and

associating each user selection with a character in the response with a minimum distance from the user selection, the total distance value equaling the sum of the distances between each user selection and the associated character in the response with the minimum distance from the user selection.

20. The computer program product of claim 15 , the server further storing a solution comprising an ordered list of coordinates for the characters in the challenge included in the response, the comparing the x coordinate and the y coordinate of each user selection comprising comparing the user selections in chronological order with corresponding x and y coordinates of the ordered list stored in the solution, the total distance value equaling the sum of the distances between each user selection and the corresponding x and y coordinates of the ordered list.

Assignments (2)
CHANGE OF NAME Recorded Nov 21, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069430/0939 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2015
From: KALRA, GURSEV SINGH
To: SALESFORCE.COM, INC.
Reel/Frame 036448/0339 →