IP Library Granted Patent US 10,489,361
Granted Patent B2
US 10,489,361 · App. 14/605,134 · Granted Nov 26, 2019

System and methods for cleansing automated robotic traffic from sets of usage logs

Inventors: Jacob Sisk (Orinda, CA); James Pringle (Philadelphia, PA); Nina Chang (Wilmington, DE)
Assignee: Camelot UK Bidco Limited
G06F16/215G06F16/2358G06F16/353G06F21/552G06Q10/10
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,489,361
App. No.
14/605,134
Granted
Nov 26, 2019
Kind
B2
Abstract

Exemplary embodiments of the present disclosure provide for cleansing data generated by one or more servers in response to database interactions resulting from an automated software robot interacting with the one or more servers via a telecommunications network. Log entries in usage logs corresponding to events during a session can be analyzed to determine relationships between events and the usage logs can be classified based on the relationships as either corresponding to human behavior or automated software robot behavior. Usage logs corresponding to automated software robot behavior can be removed from further analysis.

Claims (131)

1. A method of cleansing data generated by one or more servers in response to database interactions resulting from an automated software robot interacting with the one or more servers via a network, the method comprising:

receiving a first set of requests for one or more sets of data;

retrieving metadata from a metadata database based on the first set of requests;

embedding a link in the metadata to at least one full record associated with the metadata, the at least one full record being stored in a source database;

receiving a second set of requests in response to actuation of the link embedded in the metadata;

in response to receiving the second set of requests, retrieving from the source database, the at least one full record associated with the metadata;

capturing, in a plurality of usage logs, each data structure executed in response to processing the first and second sets of requests;

retrieving the plurality of usage logs from a non-transitory computer-readable medium, each of the plurality of usage logs including log entries corresponding to events that occurred during a session between a user device and the one or more servers, wherein the events include the second set of requests;

processing the log entries in each of the plurality of usage logs in response to execution of a log analyzer to determine a relationship between the events that occurred during each session;

executing the log analyzer to classify the plurality of usage logs based on the relationship as either corresponding to human behavior or automated software robot behavior; and

in response to classification of one or more of the plurality of usage logs as corresponding to the automated software robot behavior, excluding the one or more of the plurality of usage logs from generation of a metric,

wherein processing the log entries to determine the relationship includes measuring an intentionality associated with the events corresponding to the log entries based on determining, from the log entries, a quantity of search requests that were submitted during the session which did not result in a payoff event,

wherein the metric is generated based on one or more of the plurality of usage logs that are classified as corresponding to human behavior, and

wherein the one or more servers utilize the metric to adjust subsequent discovery of the metadata in the metadata database in response to search queries from each user device.

2. The method of claim 1 , wherein the log entries correspond to investment events and payoff events, and analyzing the log entries to determine the relationship comprises determining an arrival rate of the payoff events.

3. The method of claim 2 , wherein classifying the plurality of usage logs comprises determining whether the arrival rate of payoff events exceeds an arrival threshold.

4. The method of claim 1 , wherein classifying the plurality of usage logs comprises determining whether a time between payoff events is substantially identical.

5. The method of claim 1 , further comprising:

generating cross references in the metadata database between the metadata based on the first and second sets of requests; and

in response to the second set of requests to retrieve the at least one full record, in addition to retrieving the at least one full record from the source database, generating a separate database query to identify other full records based on the cross references in the metadata database between the metadata associated with the at least one full record and the metadata associated with the other full records.

6. A method of cleansing data generated by one or more servers in response to database interactions resulting from an automated software robot interacting with the one or more servers via a communications network, the method comprising:

receiving a first set of requests for one or more sets of data;

retrieving from metadata from a metadata database based on the first set of requests;

embedding a link in the metadata to at least one full record associated with the metadata, the at least one full record being stored in a source database;

receiving a second set of requests in response to actuation of the link embedded in the metadata;

in response to receiving the second set of requests, retrieving from the source database the at least one full record associated with the metadata;

capturing, in a plurality of usage logs, each data structure executed in response to processing the first and second set of requests;

retrieving a plurality of usage logs from a non-transitory computer-readable medium, each of the plurality of usage logs including log entries corresponding to events that occurred during a session between a user device and the one or more servers, wherein the events include the second requests;

processing the log entries in each of the plurality of usage logs in response to execution of a log analyzer to determine a relationship between the events that occurred during each session;

executing the log analyzer to classify the plurality of usage logs based on the relationship as either corresponding to human behavior or automated software robot behavior; and

in response to classification of one or more of the plurality of usage logs as corresponding to the automated software robot behavior excluding the one or more of the plurality of usage logs from generation of a metric,

wherein processing the log entries to determine the relationship includes measuring an intentionality associated with the events corresponding to the log entries based on determining, from the log entries, a quantity of search requests that were submitted during the session which did not result in a payoff event,

wherein the metric is generated based on one or more of the plurality of usage logs that are classified as corresponding to human behavior,

wherein the one or more servers utilize the metric to adjust subsequent discovery of the metadata in the metadata database in response to search queries from each user device, and

wherein determining the intentionality of at least one of the plurality of usage logs further comprises:

determining a natural log of a quantity of search requests that were submitted during the session which did not result in a payoff event; and

multiplying the natural log of the quantity of search requests by a multiplication factor.

7. The method of claim 6 , wherein the multiplication factor comprises a constant value divided by an arrival rate of payoff events in the at least one of the plurality of usage logs.

8. The method of claim 6 , wherein determining the intentionality of the at least one of the plurality of usage logs further comprises:

dividing a product of the natural log of the quantity of search requests and the multiplication factor by a mathematical representation of an attention span of a human user.

9. The method of claim 1 , wherein the plurality of usage logs are classified as corresponding to human behavior and the method further comprises:

generating a work-level usage metric based on the payoff events included in the one or more of the plurality usage logs classified as corresponding to human behavior.

10. The method of claim 9 , further comprising generating forecast data based on the work-level usage metric.

11. The method of claim 9 , further comprising generating trend data based on the work-level usage metric.

12. The method of claim 9 , further comprising generating recommendation data based on the work-level usage metric.

13. The method of claim 9 , further comprising generating rank data based on the work-level usage metric.

14. A system for cleansing data generated by one or more servers in response to database interactions resulting from an automated software robot interacting with the one or more servers via a network, the system comprising:

one or more servers;

a metadata database in communication with the one or more servers, the metadata database configured to store metadata;

a source database in communication with the one or more servers, the source database configured to store full records associated with the metadata stored in the metadata database; and

a usage log database including usage logs associated with sessions between user devices and the one or more servers, the usage logs including log entries corresponding to events that occurred during sessions between user devices and the one or more servers,

wherein the one or more servers are programmed to:

receive a first set of requests;

retrieve the metadata from the metadata database based on the first set of requests;

embed a link in the metadata to at least one of the full records in the source database;

receive a second set of requests in response to actuation of the links in embedded in each of the metadata;

in response to receiving the second set of requests, retrieve, from the source database, the at least one of the full records associated with the metadata;

capture, in a plurality of usage logs, each data structure executed in response to processing the first and second sets of requests, wherein the events include the second set of requests;

retrieve the usage logs from usage log database;

process the log entries in response to execution of a log analyzer to determine a relationship between the events that occurred during the session;

execute the log analyzer to classify each of the usage logs based on the relationship as either corresponding to human behavior or automated software robot behavior; and

exclude one or more of the usage logs from generation of a metric in response to classification of the one or more usage logs as corresponding to the automated software robot behavior,

wherein process the log entries to measure the relationship includes determining an intentionality associated with the events corresponding to the log entries based on determining, from the log entries, a quantity of search requests that were submitted during the session which did not result in a payoff event,

wherein the metric is generated based on one or more of the usage logs that are classified as corresponding to human behavior, and

wherein the one or more servers utilize the metric to adjust subsequent discovery of the metadata in the metadata database in response to search queries from each user device.

15. The system of claim 14 , wherein the log entries correspond to investment events and payoff events, and the one or more servers are programmed to analyze the log entries to determine the relationship by determining an arrival rate of the payoff events.

16. The system of claim 15 , wherein the one or more servers are programmed to classify each of the usage logs by determining whether the arrival rate of payoff events exceeds a rate threshold.

17. A system for cleansing data generated by one or more servers in response to database interactions resulting from an automated software robot interacting with the one or more servers via a network, the system comprising:

one or more servers;

a metadata database in communication with the one or more servers, the metadata database configured to store metadata;

a source database in communication with the one or more servers, the source database configured to store full records associated with the metadata in the metadata database; and

a usage log database including usage logs associated with sessions between user devices and the one or more servers, the usage logs including log entries corresponding to events that occurred during sessions between user devices and the one or more servers,

wherein the one or more servers are programmed to:

receive a first set of requests for one or more sets of data;

retrieve the metadata from the metadata database based on the first set of requests;

embed a link in the metadata to at least one of the full records associated with the metadata;

receive a second set of requests in response to actuation of the link embedded in the metadata;

in response to receiving the second set of requests, retrieve from the source database the at least one of the full records associated with the metadata;

capture, in a plurality of usage logs, each data structure executed in response to processing the first and second sets of requests, wherein the events include the second set of requests;

retrieve the usage logs from usage log database;

process the log entries in response to execution of a log analyzer to determine a relationship between the events that occurred during the session;

execute the log analyzer to classify each of the usage logs based on the relationship as either corresponding to human behavior or automated software robot behavior; and

exclude one or more of the usage logs from generation of a metric in response to classification of the one or more usage logs as corresponding to the automated software robot behavior,

wherein process the log entries to measure the relationship includes determining an intentionality associated with the events corresponding to the log entries based on determining, from the log entries, a quantity of search requests that were submitted during the session which did not result in a payoff event,

wherein the metric is generated based on one or more of the usage logs that are classified as corresponding to human behavior, and

wherein the one or more servers utilize the metric to adjust subsequent discovery of the metadata in the metadata database in response to search queries from each user device,

wherein the one or more servers are programmed to executing code to evaluate the following mathematical expression:

I

(

π

s

,

t

)

:=

20

λ

ln

(

V

(

π

s

,

t

)

)

,

and

wherein π s,t denotes a payoff event during a session s, at a time t; I(π s,t ) is the intentionality associated with the payoff event; V(π s,t ) denotes a level of effort based on a number of search requests submitted by a user without a payoff event following the search requests; and λ denotes the arrival rate of the payoff event.

18. The system of claim 14 , wherein the one or more servers are configured to:

generate a work-level usage metric based on the payoff events included in the one or more of the usage logs that are classified as corresponding to human behavior; and

generating at least one of forecast data, trend data, recommendation data, or rank data based on the work-level usage metric.

19. A non-transitory computer-readable medium storing instructions, wherein execution of the instructions by a processing device causes the processing device to:

receive a first set of requests for one or more sets of data;

retrieve metadata from a metadata database based on the first set of requests;

embed a link in the metadata to at least one full record associated with the metadata;

receive a second set of requests in response to actuation of the links in embedded in the metadata;

in response to receiving the second set of requests, retrieve, from a source database, the at least one full record;

capture each data structure executed in response to processing the first and second sets of requests in a plurality of usage logs;

retrieve the usage logs from usage log database;

process the log entries in response to execution of a log analyzer to determine a relationship between events that occurred during the session, wherein the events include the second set of requests;

execute the log analyzer to classify each of the usage logs based on the relationship as either corresponding to human behavior or automated software robot behavior; and

exclude one or more of the usage log from generation of a metric in response to classification of the usage log as corresponding to the automated software robot behavior,

wherein process the log entries to measure the relationship includes determining an intentionality associated with the events corresponding to the log entries based on determining, from the log entries, a quantity of search requests that were submitted during the session which did not result in a payoff event,

wherein the metric is generated based on one or more of the plurality of usage logs that are classified as corresponding to human behavior, and

wherein the one or more servers utilize the metric to adjust subsequent discovery of the metadata in the metadata database in response to search queries from each user device.

Assignments (11)
SECURITY INTEREST Recorded Dec 3, 2021
From: DECISION RESOURCES, INC.; DR/DECISION RESOURCES, LLC; CPA GLOBAL (FIP) LLC; CPA GLOBAL PATENT RESEARCH LLC; INNOGRAPHY, INC.; CAMELOT UK BIDCO LIMITED
To: WILMINGTON TRUST, NATIONAL ASSOCATION
Reel/Frame 058907/0091 →
SECURITY INTEREST Recorded Dec 17, 2019
From: CAMELOT UK BIDCO LIMITED
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 051323/0972 →
SECURITY INTEREST Recorded Dec 17, 2019
From: CAMELOT UK BIDCO LIMITED
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 051323/0875 →
RELEASE OF SECURITY INTEREST Recorded Nov 1, 2019
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: CAMELOT UK BIDCO LIMITED
Reel/Frame 050911/0796 →
SECURITY INTEREST Recorded Nov 1, 2019
From: CAMELOT UK BIDCO LIMITED
To: BANK OF AMERICA, N.A.
Reel/Frame 050906/0284 →
SECURITY INTEREST Recorded Nov 1, 2019
From: CAMELOT UK BIDCO LIMITED
To: WILMINGTON TRUST, N.A. AS COLLATERAL AGENT
Reel/Frame 050906/0553 →
SECURITY INTEREST Recorded Oct 3, 2016
From: CAMELOT UK BIDCO LIMITED
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040205/0156 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2016
From: THOMSON REUTERS GLOBAL RESOURCES
To: CAMELOT UK BIDCO LIMITED
Reel/Frame 040206/0448 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2015
From: THOMSON REUTERS (SCIENTIFIC), LLC
To: THOMSON REUTERS GLOBAL RESOURCES
Reel/Frame 035115/0082 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2015
From: SISK, JACOB; PRINGLE, JAMES
To: THOMSON REUTERS GLOBAL RESOURCES
Reel/Frame 035075/0413 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2015
From: CHANG, NINA
To: THOMSON REUTERS (SCIENTIFIC), LLC
Reel/Frame 035075/0572 →
Continuity (2)
Provisional Application 61931973 · Jan 27, 2014
Related Publication 20150213065A1 · Jul 30, 2015
Cited By (10)
US 12,244,599 US 12,255,906 US 12,289,328 US 12,289,329 US 12,294,482 US 12,301,600 US 12,302,451 US 12,381,902 US 12,399,999 US 12,438,774