IP Library Granted Patent US 9,690,930
Granted Patent B1
US 9,690,930 · App. 14/229,028 · Granted Jun 27, 2017

Detecting periodicity in a stream of events

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,690,930
App. No.
14/229,028
Granted
Jun 27, 2017
Kind
B1
Abstract

Sequences of discrete events, such as clicks on a website, are evaluated for periodic behavior, a period is calculated, and the sequence is scored to determine the confidence that the sequence really exhibits periodicity. The random variations on the timing of the discrete events due to transmission delays or other factors may be reduced or eliminated from the evaluation. An apparatus for performing the method of evaluation may include a computer programmed to carry out the method.

Claims (61)

1. A method of evaluating a likelihood that a sequence of discrete events displays periodic patterns, comprising:

receiving a sequence of discrete events, wherein the sequence of discrete events includes N discrete events, and wherein the sequence of discrete events comprises a stream of mouse clicks received from a remote terminal;

forming a window in time encompassing a temporal extent over which the sequence of discrete events was received;

generating an autocorrelation function of the sequence of discrete events, the autocorrelation function comprising spikes representing pairwise differences in time received for each individual one of the discrete events in the window in time;

generating a convolution between the autocorrelation function and a jitter kernel to form a smoothed autocorrelation function having a set of peaks;

generating a period value corresponding to a highest peak in the smoothed autocorrelation function;

generating a likelihood that the sequence of discrete events is periodic based upon the set of peaks;

generating a period T based on a location of a largest peak of the set of peaks; and

generating a score representing a confidence level that there is a sequence of periodic discrete events having the period T, the score being generated for the next individual discrete event received after the N discrete events, including the last N−1 discrete events of the window in time.

2. The method of claim 1 , wherein generating the convolution includes generating, as the jitter kernel, a probability distribution function for a random variable representing a time delay between discrete events in the sequence of discrete events.

3. The method of claim 2 , wherein generating the probability distribution function includes assigning, to the jitter kernel, a width indicative of noise processes in an environment in which the discrete events occur.

4. The method of claim 2 , wherein generating the jitter kernel includes generating a function including a Gaussian function.

5. The method of claim 1 , wherein generating the autocorrelation function includes forming a linear combination of spikes at each of all possible pairwise time delays between the discrete events.

6. The method of claim 1 wherein generating the convolution includes creating as the smoothed autocorrelation function including peaks at time delays between discrete events in the window in time.

7. The method of claim 1 , wherein:

forming the window in time includes estimating a first period; and

forming the jitter kernel further includes determining a normal distribution of random variations in time of arrival of the discrete event as a measuring location, the jitter kernel having a shape with a finite an area above the time axis.

8. The method of claim 1 , wherein generating the score representing the confidence level includes dividing an area under each of the peaks by a total of the number of pairwise time differences in time received to form a normalized anomaly.

9. The method of claim 8 , wherein the total of the number of pairwise time differences is N(N−1)/2.

10. The method of claim 8 , wherein generating the score representing a confidence level that there is a sequence of periodic discrete events includes multiplying the normalized anomaly by a monotonically increasing function.

11. The method of claim 10 , further including the normalized anomaly by a value equal to (1−(1−normalized anomaly) 2 )×(100).

12. A method of evaluating a likelihood that a sequence of discrete events displays periodic patterns, comprising:

receiving a sequence of discrete events, wherein the sequence of discrete events comprises a stream of mouse clicks received from a remote terminal;

forming a window in time encompassing a temporal extent over which the sequence of discrete events was received;

generating an autocorrelation function of the sequence of discrete events, the autocorrelation function comprising spikes representing pairwise differences in time received for each individual one of the discrete events in the window in time;

generating a convolution between the autocorrelation function and a jitter kernel to form a smoothed autocorrelation function having a set of peaks;

generating a period value corresponding to a highest peak in the smoothed autocorrelation function;

generating a likelihood that the sequence of discrete events is periodic based upon the set of peaks;

generating a period T based on a location of a largest peak of the set of peaks;

forming a second jitter kernel, a width of the second jitter kernel being proportional to the period T;

generating a second convolution between the autocorrelation function and the second jitter kernel to form a second smoothed autocorrelation function; and

generating, from the second smoothed autocorrelation function, a score representing a confidence level that the sequence of discrete events displays periodic patterns.

13. A computer program product which includes a non-transitory computer readable medium storing a set of instructions that, when carried out by a computer, cause the computer to perform a method, comprising:

receiving a sequence of discrete events, wherein the sequence of discrete events includes N discrete events, and wherein the sequence of discrete events comprises a stream of mouse clicks received from a remote terminal;

forming a window in time encompassing a temporal extent over which the sequence of discrete events was received;

generating an autocorrelation function of the sequence of discrete events, the autocorrelation function comprising spikes representing pairwise differences in time received for each individual one of the discrete events in the window in time;

generating a convolution between the autocorrelation function and a jitter kernel to form a smoothed autocorrelation function having a set of peaks;

generating a period value corresponding to a highest peak in the smoothed autocorrelation function;

generating a likelihood that the sequence of discrete events is periodic based upon the set of peaks;

generating a period T based on a location of a largest peak of the set of peaks; and

generating a score representing a confidence level that there is a sequence of periodic discrete events having the period T, the score being generated for the next individual discrete event received after the N discrete events, including the last N−1 discrete events of the window in time.

14. The computer program product of claim 13 ,

wherein generating the convolution includes generating, as the jitter kernel, a probability distribution function for a random variable representing a time delay between discrete events in the sequence of discrete events, where the jitter kernel includes a width indicative of noise processes in an environment in which the discrete events occur; and

wherein generating the autocorrelation function includes forming a linear combination of spikes at each of all possible pairwise time delays between the discrete events.

15. A computing circuit, comprising:

a communications interface connected to a network;

a memory circuit;

a receiving circuit which receives a sequence of discrete events and records a time received of each discrete event in the memory circuit, wherein the sequence of discrete events includes N discrete events, and wherein the sequence of discrete events comprises a stream of mouse clicks received from a remote terminal;

a controller circuit coupled to the communication interface and the memory, wherein the controller circuit:

forms a window in time during which the sequence of discrete events was received;

generates an autocorrelation function of the sequence of discrete events, the autocorrelation function comprising spikes representing pairwise differences in time received for each individual one of the discrete events in the window in time;

generates a convolution between the autocorrelation function and a jitter kernel to form a smoothed autocorrelation function having a set of peaks;

generates a period value corresponding to a highest peak in the smoothed autocorrelation function;

generates a likelihood that the sequence of discrete events is periodic based upon the set of peaks;

generating a period T based on a location of a largest peak of the set of peaks; and

generating a score representing a confidence level that there is a sequence of periodic discrete events having the period T, the score being generated for the next individual discrete event received after the N discrete events, including the last N−1 discrete events of the window in time.

16. The computing circuit of claim 15 , wherein further:

wherein the controller circuit generates the convolution to include, as the jitter kernel, a probability distribution function for a random variable representing a time delay between discrete events in the sequence of discrete events, where the jitter kernel includes a width indicative of noise processes in an environment in which the discrete events occur; and

the controller circuit generates the autocorrelation function to include a linear combination of spikes at each of all possible pairwise time delays between the discrete events.

17. The method of claim 1 , wherein receiving the stream of mouse clicks from the remote terminal includes receiving the stream of mouse clicks by a receiving circuit through a bidirectional communications means communicably connected to a communication network; and

wherein the communication network is located between the receiving circuit and the remote terminal.

Assignments (21)
NOTICE OF PARTIAL TERMINATION AND RELEASE OF SECOND LIEN SECURITY INTEREST IN TRADEMARK RIGHTS AND PATENT RIGHTS RECORDED AT REEL/FRAME: 056098/0534 Recorded Jun 3, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: RSA SECURITY LLC
Reel/Frame 071484/0819 →
NOTICE OF PARTIAL TERMINATION AND RELEASE OF FIRST LIEN SECURITY INTEREST IN TRADEMARK RIGHTS AND PATENT RIGHTS RECORDED AT REEL/FRAME: 056096/0525 Recorded Jun 3, 2025
From: JPMORGAN CHASE BANK, N.A.
To: RSA SECURITY LLC
Reel/Frame 071482/0733 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2025
From: RSA SECURITY LLC
To: NETWITNESS SECURITY LLC
Reel/Frame 071495/0168 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
TERMINATION AND RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT REEL 054155, FRAME 0815 Recorded Apr 29, 2021
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: RSA SECURITY LLC
Reel/Frame 056104/0841 →
TERMINATION AND RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS RECORDED AT REEL 053666, FRAME 0767 Recorded Apr 29, 2021
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: RSA SECURITY LLC
Reel/Frame 056095/0574 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 29, 2021
From: RSA SECURITY LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 056096/0525 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 29, 2021
From: RSA SECURITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 056098/0534 →
PARTIAL RELEASE OF SECURITY INTEREST Recorded Nov 24, 2020
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXRESS, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 054511/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2020
From: EMC IP HOLDING COMPANY LLC
To: RSA SECURITY LLC
Reel/Frame 053717/0020 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Sep 3, 2020
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS AGENT
To: DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 054191/0287 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Sep 3, 2020
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS AGENT
To: ASAP SOFTWARE EXPRESS; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 054163/0416 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (049452/0223) Recorded Sep 3, 2020
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS AGENT
To: DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 054250/0372 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: RSA SECURITY LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 054155/0815 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Sep 1, 2020
From: RSA SECURITY LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 053666/0767 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2014
From: GULKO, EUGENE; WITTENSTEIN, ANDREAS; CHILES, RICHARD
To: EMC CORPORATION
Reel/Frame 033617/0082 →