IP Library Granted Patent US 10,735,550
Granted Patent B2
US 10,735,550 · App. 14/266,442 · Granted Aug 4, 2020

Smart caching based on reputation information

Inventors: Hal Case Lonas (Carlsbad, CA); Thomas W. Helvey (San Diego, CA)
Assignee: Webroot Inc.
H04L67/2852G06F12/0864G06F12/0875G06F12/128G06F16/9574H04L67/2857G06F2212/6032
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,735,550
App. No.
14/266,442
Granted
Aug 4, 2020
Kind
B2
Abstract

Embodiments disclosed herein relate to systems and methods for providing a smart cache. In embodiments, a variable time to live (TTL) may be calculated and associated with data as it is stored in a cache. The variable TTL may be calculated based upon reputation and/or category information related to the source of the data. The reputation and/or category information may include TTL modifiers for adjusting the TTL for data from a particular data source that is stored in the cache. In further embodiments, a feedback method may be employed to update reputation and/or category information for a particular data source.

Claims (16)

1. A method comprising: receiving requested data from a data source; sending a request for reputation information for the data source; receiving a first time to live (TTL) modifier associated with reputation information for the data source, wherein the first TTL modifier is received from a reputation source that is different from the data source and the first TTL modifier is different from and based on the reputation information; receiving a second TTL modifier associated with category information about the data source; modifying a baseline TTL for the received data utilizing the first TTL modifier, the second TTL modifier, and a third TTL modifier determined from a type of user associated with the request data; storing the received data in a cache, wherein the received data is associated with the modified baseline TTL; and analyzing telemetry data to determine an effectiveness of the cache, wherein determining the effectiveness of the cache includes at least one of determining if the received data stored in the cache became stale during a TTL period assigned to the received data stored in the cache, and determining if received data stored in the cache and associated with an expired cached entry was accurate at a time when the cached entry expired.

2. The method of claim 1 , wherein the reputation information and the category information are associated with the data source.

3. The method of claim 1 , wherein the first TTL value is derived from reputation information including a reputation score.

4. The method of claim 1 , wherein the category information comprises a category classification.

5. The method of claim 1 , further comprising providing telemetry data.

6. The method of claim 1 , wherein at least one of the variable first TTL modifier and the second TTL modifier comprises a negative value.

7. A non-transitory computer storage medium encoding computer executable instructions that, when executed by at least one processor, perform a method comprising: sending a request for data to a remote data source; receiving the data from the remote data source; sending a request for reputation information for the remote data source; receiving a first time to live (TTL) modifier associated with reputation information for the remote data source, wherein the first TTL modifier is received from a reputation source that is different from the remote data source and the first TTL modifier is different from and based on the reputation information; receiving a second TTL modifier associated with category information about the remote data source; modifying a baseline TTL for the received data utilizing the first TTL modifier, the second TTL modifier, and a third TTL modifier determined from a type of user associated with the request data; storing the data in a cache, wherein the received data is associated with the modified baseline TTL; and analyzing telemetry data to determine an effectiveness of the cache, wherein determining the effectiveness of the cache includes at least one of determining if the received data stored in the cache became stale during a TTL period assigned to the received data stored in the cache, and determining if received data stored in the cache and associated with an expired cached entry was accurate at a time when the cached entry expired.

8. The non-transitory computer storage medium of claim 7 , further comprising providing telemetry data.

9. The non-transitory computer storage medium of claim 8 , wherein the telemetry data comprises at least one of: a number of cached entries stored in the local cache; a number of requests that were supplied by the cache; and a number of data requests that required retrieving data from a remote device.

10. The non-transitory computer storage medium of claim 8 , wherein calculating the modified baseline TTL comprises providing the first TTL modifier and the second TTL modifier to a function.

11. The non-transitory computer storage medium of claim 8 , wherein a unit of the variable TTL relates to one of: a second; a minute; an hour; and a day.

12. The non-transitory computer storage medium of claim 7 , wherein the category information comprises two or more category classifications.

13. A method for updating TTL modifiers, the method comprising: receiving telemetry data from at least one client device, wherein the telemetry data is related to an effectiveness of a cache on the client device; analyzing the telemetry data to determine the effectiveness of the cache, wherein determining the effectiveness of the cache includes at least one of determining if the received data stored in the cache became stale during a TTL period assigned to the received data stored in the cache, and determining if received data stored in the cache and associated with an expired cached entry was accurate at a time when the cached entry expired; based upon the analysis, updating at least a first TTL modifier associated with a reputation score and updating at least a second TTL modifier associated with a category classification; and sending the updated first and second TTL modifiers to the at least one client device.

14. The method of claim 13 , wherein the first TTL value is derived from reputation information including a reputation score.

15. The method of claim 13 , wherein at least one of the variable first TTL modifier and the second TTL modifier comprises a negative value.

16. The method of claim 13 , wherein the telemetry data comprises at least one of: a number of cached entries stored in the cache; a number of requests that were supplied by the cache; and a number of data requests that required retrieving data.

Assignments (9)
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Jul 6, 2023
From: CARBONITE, LLC
To: OPEN TEXT INC.
Reel/Frame 064351/0178 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2023
From: WEBROOT LLC
To: CARBONITE, LLC
Reel/Frame 064167/0129 →
CERTIFICATE OF CONVERSION Recorded Jun 29, 2023
From: WEBROOT INC.
To: WEBROOT LLC
Reel/Frame 064176/0622 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS RECORDED AT R/F 048723/0612 Recorded Dec 26, 2019
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: WEBROOT INC.
Reel/Frame 051418/0714 →
SECURITY INTEREST Recorded Mar 28, 2019
From: WEBROOT INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 048723/0612 →
RELEASE OF SECURITY INTEREST Recorded Mar 22, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: WEBROOT INC.
Reel/Frame 050454/0102 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2015
From: LONAS, HAL; HELVEY, THOMAS W.
To: WEBROOT INC.
Reel/Frame 035408/0576 →
SECURITY INTEREST Recorded Jan 6, 2015
From: WEBROOT INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 034742/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2014
From: LONAS, HAL; HELVEY, THOMAS W.
To: WEBROOT
Reel/Frame 032958/0849 →
Continuity (1)
Related Publication 20150319261A1 · Nov 5, 2015
Cited By (1)
US 12,244,680