IP Library Granted Patent US 10,380,627
Granted Patent B2
US 10,380,627 · App. 15/042,607 · Granted Aug 13, 2019

Identification of software robot activity

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,380,627
App. No.
15/042,607
Filed
Feb 12, 2016
Granted
Aug 13, 2019
Kind
B2
Art Unit
3681
USPC
705/14.47
Abstract

A method for identifying software robot activity in a communication network, the method comprising: receiving ad delivery requests from multiple clients identified by a unique identifier; selecting a subset of clients from the multiple clients, based on a result of a mathematical operation applied to a character string in each of the unique identifiers; delivering ads only to the subset of clients, wherein each of the ads comprises a landing page URL (uniform resource locator); determining that landing page redirection requests which are received from clients not belonging to the subset are made by one or more software robots.

Claims (60)

1. A method for identifying software robots, the method comprising using at least one hardware processor for, automatically:

(a) receiving a plurality of advertisement requests, each from one of a plurality of first-web clients, wherein:

each of the plurality of advertisement requests is a request by the respective web client to receive ad copy which comprises a landing page URL (Uniform Resource Locator), and

an identity of the web clients as software robots or human-operated clients is unknown as of the time of said receiving;

(b) determining, for each of said plurality of advertisement requests, an ad client identifier for each of the web clients, wherein the ad client identifier uniquely identifies the respective web client in more than a single instance of serving an advertisement in response to the respective advertisement request;

(c) dividing the web clients, based on their ad client identifiers, into two groups: a first group and a second group;

(d) for the first group: sending an advertisement to each web client of the first group, in response to the respective advertisement requests from the web clients of the first group, wherein the sent advertisement comprises the ad copy with the landing page URL;

(e) for the second group:

not sending an advertisement to each web client of the second group, thereby ignoring the respective advertisement requests from the web clients of the second group, or

sending a partial advertisement to each web client of the second group, in response to the respective advertisement requests from the web clients of the second group, wherein the sent partial advertisement comprises ad copy without the landing page URL;

(f) receiving a plurality of redirection requests from web clients of both the first group and the second group, wherein the redirection requests are to the landing page URL;

(g) determining, for each of the redirection requests, the respective ad client identifier for each of the web clients which sent the redirection requests;

(h) locating one or more ad client identifiers of the web clients of the second group among the ad client identifiers determined in step (g), to determine that the located ad client identifiers are of software robots and not of human-operated clients;

(i) storing the located ad client identifiers as software robot identifiers, and

(j) applying the software robot identifiers to determine when a new web client is operated by a software robot prior to sending a new advertisement to said new web client.

2. The method according to claim 1 , wherein at least some of the ad client identifiers are cookies.

3. The method according to claim 1 , further comprising composing an Internet resource report which is devoid of information associated with activity of the software robot identifiers.

4. The method according to claim 1 , wherein at least some of the ad client identifiers are values computed from one or more cookie attributes.

5. The method according to claim 1 , wherein said division of the web clients into the first and second groups is by a modulo operation applied to each respective ad client identifier, wherein the modulo operation produces two different results.

6. A system comprising:

at least one hardware processor; and

a non-transitory computer-readable storage medium having program code embodied therewith, the program code executable by said at least one hardware processor for, automatically:

(a) receiving a plurality of advertisement requests, each from one of a plurality of web clients, wherein:

each of the plurality of advertisement requests is a request by the respective web client to receive ad copy which comprises a landing page URL (Uniform Resource Locator), and

an identity of the web clients as software robots or human-operated clients is unknown as of the time of said receiving;

(b) determining, for each of said plurality of advertisement requests, an ad client identifier for each of the web clients, wherein the ad client identifier uniquely identifies

the respective web client in more than a single instance of serving an advertisement in response to the respective advertisement request;

(c) dividing the web clients, based on their ad client identifiers, into two groups; a first group and a second group;

(d) for the first group: sending an advertisement to each web client of the first group, in response to the respective advertisement requests from the web clients of the first group, wherein the sent advertisement comprises the ad copy with the landing page URL;

(e) for the second group:

not sending an advertisement to each web client of the second group, thereby ignoring the respective advertisement requests from the web clients of the second group, or

sending a partial advertisement to each web client of the second group, in response to the respective advertisement requests from the web clients of the second group, wherein the sent partial advertisement comprises ad copy without the landing page URL;

(f) receiving a plurality of redirection requests from web clients of both the first group and the second group, wherein the redirection requests are to the landing page URL;

(g) determining, for each of the redirection requests, the respective ad client identifier for each of the web clients which sent the redirection requests;

(h) locating one or more ad client identifiers of the web clients of the second group among the ad client identifiers determined in step (g), to determine that the located ad client identifiers are of software robots and not of human-operated clients;

(i) storing the located ad client identifiers as software robot identifiers, and

(j) applying the software robot identifiers to determine when a new web client is operated by a software robot prior to sending a new advertisement to said new web client.

7. The system according to claim 6 , wherein at least some of the ad client identifiers are cookies.

8. The system according to claim 6 , wherein the program code is further executable by said at least one hardware processor for, automatically, composing an internet resource report which is devoid of information associated with activity of the software robot identifiers.

9. The system according to claim 6 , wherein at least some of the ad client identifiers are values computed from one or more cookie attributes.

10. The system according to claim 6 , wherein said division of the web clients into the first and second groups is by a modulo operation applied to each respective ad client identifier, wherein the modulo operation produces two different results.

11. A computer program product composing a non-transitory computer-readable storage medium having program code embodied therewith, the program code executable by at least one hardware processor for, automatically:

(a) receiving a plurality of advertisement requests, each from one of a plurality of web clients, wherein:

each of the plurality of advertisement requests is a request by the respective web client to receive ad copy which comprises a landing page URL (Uniform Resource Locator), and

an identity of the web clients as software robots or human-operated clients is unknown as of the time of said receiving;

(b) determining, for each of said plurality of advertisement requests, an ad client identifier for each of the web clients, wherein the ad client identifier uniquely identifies the respective web client in more than a single instance of serving an advertisement in response to the respective advertisement request;

(c) dividing the web clients, based on their ad client identifiers, into two groups: a first group and a second group;

(d) for the first group: sending an advertisement to each web client of the first group, in response to the respective advertisement requests from the web clients of the first group, wherein the sent advertisement comprises the ad copy with the landing page URL;

(e) for the second group:

not sending an advertisement to each web client of the second group, thereby ignoring the respective advertisement requests from the web clients of the second group, or

sending a partial advertisement to each web client of the second group, in response to the respective advertisement requests from the web clients of the second group, wherein the sent partial advertisement comprises ad copy without the landing page URL;

(f) receiving a plurality of redirection requests from web clients of both the first group and the second group, wherein the redirection requests are to the landing page URL;

(g) determining, for each of the redirection requests, the respective ad client identifier for each of the web clients which sent the redirection requests;

(h) locating one or more ad client identifiers of the web clients of the second group among the ad client identifiers determined in step (g), to determine that the located ad client identifiers are of software robots and not of human-operated clients;

(i) storing the located ad client identifiers as software robot identifiers, and

(j) applying the software robot identifiers to determine when a new web client is operated by a software robot prior to sending a new advertisement to said new web client.

12. The system according to claim 11 , wherein at least some of the ad client identifiers are cookies.

13. The system according to claim 11 , wherein the program code is further executable by said at least one hardware processor for, automatically, composing an internet resource report which is devoid of information associated with activity of the software robot identifiers.

14. The system according to claim 11 , wherein at least some of the ad client identifiers are values computed from one or more cookie attributes.

15. The system according to claim 11 , wherein said division of the web clients into the first and second groups is by a modulo operation applied to each respective ad client identifier, wherein the modulo operation produces two different results.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Sep 27, 2023
From: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK & TRUST COMPANY
To: KENSHOO LTD.
Reel/Frame 065055/0719 →
SECURITY INTEREST Recorded Aug 11, 2021
From: KENSHOO LTD.
To: SILICON VALLEY BANK
Reel/Frame 057147/0563 →
SECURITY INTEREST Recorded May 10, 2018
From: KENSHOO LTD.
To: SILICON VALLEY BANK
Reel/Frame 045771/0347 →
SECURITY INTEREST Recorded May 10, 2018
From: KENSHOO LTD.
To: SILICON VALLEY BANK
Reel/Frame 045771/0403 →