IP Library Patent Application 16986206
Patent Application
App. No. 16/986,206

Validation of Properties of a User Device in a Network

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 None
App. No.
16/986,206
Abstract

A method, and a computer with instructions for performance of the method. An applet runs on a user device of the internet. Using a reliable interface on the user device, the applet has captured validation data describing the user device and software execution on the user device. The captured validation data are stored. The validation data includes at least a unique device ID for the user device, and a session ID for a program running on the user device. When a service provider server receives a service request from the user device, data for the request are received at the validation server. Data from the request are compared against the stored validation data. The compared data include at least a device ID and session identifier. The validation server reports validation or refusal of validation depending on whether the comparing determines a match or mismatch between the request data and the stored validation data.

Claims (88)

1 . An apparatus, comprising:

one or more processors; and

one or more nontransitory memories, having stored therein programs that, when executed, cause the processor(s):

in the memory of a computer, to store validation data captured by one or more programs running on a user device of the internet, the on-device program(s) having captured the validation data from a tamper-resistant interface on the user device, the validation data describing the user device, software execution on the user device, a unique device ID for the user device, a session ID for a program running on the user device, and position data of the user device;

when a service provider server receives data from the user device requesting a service, by computer, to evaluate the request data and the stored validation data to verify whether the user device is operated by a human as represented in the service request data or is under operation of a bot;

if the verification succeeds, sending a network message to the service provider server that the request is validated as coming from a device operated by a human, and if the verification fails, reporting that the request originated with a device operated by a bot.

2 . An apparatus, comprising:

one or more processors; and

one or more nontransitory memories, having stored therein programs that, when executed, cause the processor(s):

in the memory of a computer, to store validation data captured by one or more programs running on a user device of the internet, the on-device program(s) having captured the validation data from a tamper-resistant interface on the user device, the validation data describing the user device, software execution on the user device, a unique device ID for the user device, and a session ID for a program running on the user device;

when a service provider server receives data from the user device requesting a service, by computer, to evaluate the request data and the stored validation data to verify whether the user device is as represented in the service request data;

if the verification succeeds, sending a network message to the service provider server reporting that the request is validated, and if the verification fails, sending a network message to the service provider server reporting that the request is not validated.

3 . The apparatus of claim 2 ,

wherein the validation data further describe position data of the user device;

and wherein the program(s) are further programmed to cause the processor(s):

when a service provider server receives data from the user device requesting a service, by computer, to evaluate the request data and the stored validation data to verify whether the user device is operated by a human or is under operation of a bot; and

to send a computer network message to the service provider server, the message reporting the result of the human vs. bot verification.

4 . The apparatus of claim 2 , wherein:

for multiple user devices, the multiple user devices running disparate operating systems, the on-device programs expose a uniform API (application program interface) to service provider servers of the internet, to allow service provider servers to obtain validation data from the multiple user devices over the uniform API, without the need to specialize to the disparate operating systems of the respective user devices.

5 . The apparatus of claim 2 , wherein:

the verification is designed to test for misrepresentation by an application on the user device.

6 . The apparatus of claim 2 , wherein:

the on-device program is programmed to run substantially continuously in background to collect validation data on the user device, and the validation data are stored longitudinally.

7 . The apparatus of claim 6 , the program(s) being further programmed to cause the processor(s):

to analyze the stored longitudinal data to analyze a validation property of the user device.

8 . The apparatus of claim 2 , wherein:

the captured validation data are stored, and the evaluation of request data against validation data are executed, on the user device.

9 . The apparatus of claim 2 , wherein:

the captured validation data are stored, and comparing of request data against validation data are executed, on a validation server remote from the user device.

10 . The apparatus of claim 2 , wherein:

the on-device program is programmed to collect information on demand, per invocation by the validation server.

11 . The apparatus of claim 10 , wherein:

the on-device program is programmed to collect validation information on demand based on occurrence of at least three events from the following list:

Page Load

Page Unload

Window Close

User navigates to page

User navigates off page

User types Enter to initiate a POST

12 . The apparatus of claim 2 , wherein:

the program(s) are programmed to cause the processor(s), as part of the verification, to test at least five parameters from the following list of parameters:

user unique ID; User session ID; Domain; Operating System or Platform; Device location latitude/longitude; User agent; Device type; Device manufacturer; Device model; Device IP address; Carrier; Ad size; Application ID; App Name; Platform; Device Name; Web Page URL; Page Referrer for Web Pages; IP address; User Agent; Location latitude/longitude; Advertiser ID; Event name; and Device Orientation.

13 . The apparatus of claim 2 , wherein:

the service request from the user device relates to display of an ad.

14 . The apparatus of claim 2 , wherein:

the service request from the user device relates to validation for a financial transaction.

15 . The apparatus of claim 2 , wherein:

the service request from the user device relates to validation for access to digital content.

16 . The apparatus of claim 2 , wherein:

the service request from the user device relates to validation of access rights to a computer system or network.

17 . An apparatus, comprising:

one or more processors; and

one or more nontransitory memories, having stored therein programs that, when executed, cause the processor(s):

to store into the memory of a computer validation data captured by one or more programs running on a user device of the internet, the on-device program(s) having captured the validation data from a tamper-resistant interface on the user device, the validation data describing the user device, software execution on the user device, and position data of the user device;

when a service provider server receives data from the user device requesting a service, by computer, to evaluate the request data and the stored validation data to verify whether the user device is operated by a human or is under operation of a bot; and

to send a computer network message to the service provider server, the message reporting the result of the human vs. bot verification.

18 . The apparatus of claim 17 , the program(s) being further programmed to cause the processor(s):

to store validation data that includes at least a unique device ID for the user device, and a session ID for a program running on the user device;

to evaluate the request data against the stored validation data, the evaluated data including at least a device ID and session identifier, to verify whether the user device is as represented in the service request data;

if the verification succeeds, sending a network message to the service provider server that the request is validated, and if the verification fails, sending a network message to the service provider server reporting that the request is not validated.

19 . The apparatus of claim 17 , wherein:

for multiple user devices running disparate operating systems, the on-device program(s) are programmed to expose a uniform API (application program interface) to service provider servers, to allow service provider servers to obtain validation data from the multiple user devices over the uniform API, without the need to specialize to the disparate operating systems of the respective user devices.

20 . The apparatus of claim 17 , wherein:

the evaluation is programmed to test for misrepresentation by an application on the user device.

21 . The apparatus of claim 17 , wherein:

evaluation of the stored validation data includes evaluating for an unusually large number of requests received from the same device ID within a recent time interval, relative to other devices or the same device ID for an earlier time interval.

22 . The apparatus of claim 17 , wherein:

evaluation of the stored validation data includes evaluating for atypical device orientation for a function relative to device orientation usage by other devices performing the same or similar functions.

23 . The apparatus of claim 17 , wherein:

evaluation of the stored validation data includes evaluating for atypical geographic location or geographic path.

24 . The apparatus of claim 17 , wherein:

evaluation of the stored validation data includes evaluating for atypical pattern of network connection.

25 . The apparatus of claim 17 , wherein:

evaluation of the stored validation data includes evaluating for atypical length of user session.

26 . The apparatus of claim 17 , wherein:

evaluation of the stored validation data includes evaluating for atypical battery usage.

27 . The apparatus of claim 17 , wherein:

evaluation of the stored validation data includes evaluating for atypical typing pattern or keyboard and mouse usage.

28 . The apparatus of claim 17 , wherein:

evaluation of the stored validation data includes evaluating for atypical connection destination and duration.

29 . The apparatus of claim 17 , wherein:

the service request from the user device relates to display of an ad.

30 . The apparatus of claim 17 , wherein:

the service request from the user device relates validation for a financial transaction.

31 . The apparatus of claim 17 , wherein:

the service request from the user device relates validation for access to digital content.

32 . The apparatus of claim 17 , wherein:

the service request from the user device requests validation of access rights to a computer system or network.

Assignments (4)
ASSIGNMENT AND ASSUMPTION OF FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 26, 2023
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: ROYAL BANK OF CANADA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 064090/0795 →
SECURITY INTEREST Recorded Aug 19, 2021
From: PULSEPOINT, INC.
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 057236/0027 →
SECURITY INTEREST Recorded Aug 19, 2021
From: PULSEPOINT, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 057236/0034 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2020
From: VOLLURU, RAJESH
To: PULSEPOINT, INC.
Reel/Frame 053708/0119 →