IP Library Granted Patent US 7,840,377
Granted Patent B2
US 7,840,377 · App. 11/609,440 · Granted Nov 23, 2010

Detecting trends in real time analytics

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 7,840,377
App. No.
11/609,440
Granted
Nov 23, 2010
Kind
B2
Abstract

A system, method and program product for processing a stream of data to detect trends in real time. A system is provided comprising: a real time statistical processing system for updating a running value each time a new data event is obtained, wherein the running value is calculated based on a previously calculated running value and a difference DV between a current data event value (V i ) and a previous data event value (V i−1 ); and an analysis system that analyzes the running value after it is updated to detect trends.

Claims (32)

1. A system for processing a stream of data events, comprising:

at least one computing device, including:

a real time statistical processing system for updating a first and a second running value each time a new data event is obtained, wherein the first and second running values are calculated based on a previously calculated running value and a difference DV between a current data event value (V i ) and a previous data event value (V i−1 ), wherein the first running value RDV i =(1−K)*DV+K*RDV i−1 and the second running value RDVV i =(1−K)*DV 2 +K*RDVV i−1 in which K is a half-life based smoothing factor that dictates a period over which a decline in data event values is analyzed, and wherein a third running value RSDD comprises a running standard deviation computed by the real time statistical processing system as follows: RSDD=sqrt(RDVV i −RDV i 2 ); and

an analysis system for analyzing each running value after it is updated to detect trends in the stream of data events.

2. The system of claim 1 , wherein the real time statistical processing system includes a cache for storing each previously calculated running value and each previous data event value.

3. The system of claim 1 , further comprising a first level analysis system for generating an alert in real time when at least one running value breaks a threshold.

4. The system of claim 3 , further comprising a second level analysis system that analyzes each running value using historical data in a non-real time fashion.

5. The system of claim 1 , wherein the detect trends in the stream of data events identifies potential fraudulent activity in a financial setting.

6. The system of claim 1 , wherein the detect trends in the stream of data events tracks network usage.

7. The system of claim 1 , wherein the detect trends in the stream of data events identifies opportunities in a business setting.

8. The system of claim 1 , wherein the detect trends in the stream of data events identifies problems in a business setting.

9. The system of claim 1 , wherein the detect trends in the stream of data events identifies risks in a business setting.

10. The system of claim 1 , wherein the data events are selected from a group consisting of: business data, research data, scientific data, technical data and financial data.

11. A non-transitory computer readable medium storing a computer program product, which when executed by a computing device, processes a stream of data events to detect trends, the program product comprising:

program code configured for updating a running value each time a new data event is obtained, wherein the running value RDVV i is calculated based on a previously calculated running value and a difference DV between a current data event value (V i ) and a previous data event value (V i−1 ) and is calculated as (1−K)*DV 2 +K*RDVV i−1 , where K is a half-life based smoothing factor that dictates a period over which a decline in data event values is analyzed;

program code configured for determining a running mean calculated as follows: RDV i =(1−K)*DV+K*RDV i−1 ;

program code configured for determining a running standard deviation calculated as follows: RSDD=sqrt(RDVV i =RDV i 2 );

program code configured for analyzing the running value, running mean, and running standard deviation to detect trends in the stream of data events; and

program code configured for outputting an alarm.

12. The non-transitory computer readable medium of claim 11 , further comprising program code configured for storing the previously calculated running value and the previous data event value in a cache.

13. The non-transitory computer readable medium of claim 11 , wherein the program code configured for analyzing the running value includes a first level analysis that generates an alert in real time when the running value breaks a threshold.

14. The non-transitory computer readable medium of claim 13 , wherein the program code configured for analyzing the running value includes a second level analysis that analyzes the running value using historical data in a non-real time fashion.

15. A method of processing a stream of data events to detect trends, comprising:

obtaining, using a computing device, a new data event value;

updating, using the computing device, a running value based on a previously calculated running value and a difference DV between the new data event value (V i ) and a previous data event value (V i−1 ), wherein the running value is calculated as (1−K)*DV 2 +K*RDVV i−1 , where K is a half-life based smoothing factor that dictates a period over which a decline in data event values is analyzed;

updating a running mean calculated as follows: RDV i =(1−K)*DV+K*RDV i−1 ;

updating a running standard deviation calculated as follows: RSDD=sqrt(RDVV i −RDV i 2 ); and

analyzing, using the computing device, the running value, running mean, and running standard deviation to detect trends in the stream of data events.

16. The method of claim 15 , further comprising storing the running value and the new data event value in a cache for use in a next calculation.

17. The method of claim 15 , wherein analyzing the running value includes:

generating an alert in real time when the running value breaks a threshold using a first level analysis; and

analyzing the running value using historical data in a non-real time fashion.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LINKEDIN CORPORATION
Reel/Frame 035201/0479 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2006
From: RAMSEY, MARK S.; SELBY, DAVID A.; TODD, STEPHEN J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 018634/0541 →