IP Library Granted Patent US 9,813,430
Granted Patent B2
US 9,813,430 · App. 14/739,188 · Granted Nov 7, 2017

Tracking data in an online environment

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,813,430
App. No.
14/739,188
Granted
Nov 7, 2017
Kind
B2
Abstract

To detect potentially malicious behavior or fraud, online environments maintain counts of a variety of data items received via a webpage or an application. A bucket scheme to track and retrieve these counts is described. The bucket system maintains a rolling count over a period of time. The bucket system comprises three different tiers, each containing buckets corresponding to different periods of time. When a new data item is received, one bucket in each tier is updated. The bucket is updated by generating a bucket address and initiating or incrementing a counter counting the number of times the data item was received. To retrieve the count over a specified period of time, the counters in a plurality of the buckets are read and aggregated.

Claims (43)

1. A method comprising:

receiving a first data item;

in response to receiving the first data item, generating a first plurality of values, wherein each value of the first plurality of values is associated with a first time and a different time range of a plurality of time ranges;

storing the first plurality of values;

receiving a second data item;

in response to receiving the second data item, generating a second plurality of values, wherein each value of the second plurality of values is associated with a second time and a different time range of the plurality of time ranges;

determining that a second value in the second plurality of values is identical to a first value in the first plurality of values;

in response to determining that the second value is identical to the first value, incrementing a counter that is associated with the first value;

wherein the first plurality of values respectively represent a plurality of buckets;

wherein the method is performed by one or more computing devices.

2. The method of claim 1 , wherein a first bucket of the plurality of buckets corresponds to a first time range, a second bucket of the plurality of buckets corresponds to a second time range that is longer than the first time range, and a third bucket of the plurality of buckets corresponds to a third time range that is longer than the second time range.

3. The method of claim 2 , further comprising determining that a period of time corresponding to the second time range has elapsed and, in response, setting the counter associated with the first value to zero.

4. The method of claim 2 , further comprising determining that a period of time corresponding to the third time range has elapsed and, in response, setting a counter associated with a third value of the first plurality of values corresponding to the second time range to zero.

5. The method of claim 1 , further comprising:

receiving a request for the counter that is associated with the first value;

generating the first value based on a current time;

retrieving the counter that is associated with the first value.

6. The method of claim 1 , wherein the first plurality of values are generated using a hash function based on a current time when the first data item was received.

7. The method of claim 1 , wherein the data item is associated with a type of data item.

8. The method of claim 1 , wherein the data item is associated with an identifying characteristic.

9. The method of claim 1 , wherein the plurality of time ranges comprise a 1-minute time range, a 5-minute time range, and a 1-hour time range.

10. A data processing system comprising:

one or more processors;

a non-transitory computer-readable medium having instructions embodied thereon, the instructions, when executed by one or more processors, cause performance of:

receiving a first data item;

in response to receiving the first data item, generating a first plurality of values, wherein each value of the first plurality of values is associated with a first time and a different time range of a plurality of time ranges;

storing the first plurality of values;

receiving a second data item;

in response to receiving the second data item, generating a second plurality of values, wherein each value of the second plurality of values is associated with a second time and a different time range of the plurality of time ranges;

determining that a second value in the second plurality of values is identical to a first value in the first plurality of values;

in response to determining that the second value is identical to the first value, incrementing a counter that is associated with the first value;

wherein the first plurality of values respectively represent a plurality of buckets.

11. The system of claim 10 , wherein a first bucket of the plurality of buckets corresponds to a first time range, a second bucket of the plurality of buckets corresponds to a second time range that is longer than the first time range, and a third bucket of the plurality of buckets corresponds to a third time range that is longer than the second time range.

12. The system of claim 11 , wherein the instructions further cause performance of determining that a period of time corresponding to the second time range has elapsed and, in response, setting the counter associated with the first value to zero.

13. The system of claim 11 , wherein the instructions further cause performance of determining that a period of time corresponding to the third time range has elapsed and, in response, setting a counter associated with a third value of the first plurality of values corresponding to the second time range to zero.

14. The system of claim 10 , wherein the instructions further cause performance of:

receiving a request for the counter that is associated with the first value;

generating the first value based on a current time;

retrieving the counter that is associated with the first value.

15. The system of claim 10 , wherein the first plurality of values are generated using a hash function based on a current time when the first data item was received.

16. The system of claim 10 , wherein the data item is associated with a type of data item.

17. The system of claim 10 , wherein the data item is associated with an identifying characteristic.

18. The system of claim 10 , wherein the plurality of time ranges comprise a 1-minute time range, a 5-minute time range, and a 1-hour time range.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2017
From: LINKEDIN CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044746/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2015
From: SANG, LIFENG; WONG, DANIEL
To: LINKEDIN CORPORATION
Reel/Frame 035838/0322 →