IP Library Granted Patent US 8,032,714
Granted Patent B2
US 8,032,714 · App. 12/214,511 · Granted Oct 4, 2011

Methods and systems for caching data using behavioral event correlations

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 8,032,714
App. No.
12/214,511
Granted
Oct 4, 2011
Kind
B2
Abstract

A method is disclosed including a client accessing a cache for a value of an object based on an object identification (ID), initiating a request to a cache loader if the cache does not include a value for the object, the cache loader performing a lookup in an object table for the object ID corresponding to the object, the cache loader retrieving a vector of execution context IDs, from an execution context table that correspond to the object IDs looked up in the object table and the cache loader performing an execution context lookup in an execution context table for every retrieved execution context ID in the vector to retrieve object IDs from an object vector.

Claims (46)

1. A method comprising:

a client accessing a cache for a value of an object based on an object identification (ID);

initiating a request to a cache loader if the cache does not include a value for the object;

the cache loader performing a lookup in an object table for the object ID corresponding to the object;

the cache loader retrieving a vector of execution context IDs from an execution context table that correspond to the object IDs looked up in the object table; and

the cache loader performing an execution context lookup in an execution context table for every retrieved execution context ID in the vector to retrieve object IDs from an object vector.

2. The method of claim 1 , further comprising returning the value to the cache client if the cache includes a value for the object.

3. The method of claim 2 , wherein accessing an existing object asynchronously triggers a cache load request.

4. The method of claim 2 , wherein accessing an existing object performs a synchronous load request.

5. The method of claim 1 , further comprising:

the cache loader performing an object lookup; and

performing a store lookup for the object ID.

6. The method of claim 1 , further comprising:

the cache loader performing a store lookup;

returning an object value from the store lookup; and

performing an object lookup.

7. The method of claim 1 , further comprising the cache loader performing an object lookup in the object table for a single current object ID being requested.

8. The method of claim 1 , further comprising the cache loader performing an object lookup in the object table for a predetermined number of object IDs requested by two or more cache clients.

9. The method of claim 1 , further comprising the cache loader performing an object lookup in the object table for a predetermined number of object IDs requested by the cache client.

10. The method of claim 1 , wherein the execution context vector includes a set of execution context IDs that uniquely identify the execution context accessing an existing object.

11. The method of claim 10 , wherein the values in execution context IDs and the object IDs in the execution context table are sorted by time of an event for a scoring algorithm that uses time data.

12. The method of claim 11 , further comprising the cache loader using the execution context vectors and the object vectors with a scoring algorithm to select highly scored object values to load in the cache.

13. The method of claim 12 , wherein the execution context vectors and object vectors include other metadata about the objects and execution vectors which are used in the scoring algorithm.

14. The method of claim 11 , wherein the scoring algorithm is one of Cosine, Dice or Jaccard.

15. A system comprising:

a client;

a cache to receive access requests from the client to retrieve a value of an object based on an object identification (ID);

an object table;

an execution context table; and

a cache loader to receive a request if the cache does not include a value for the object, perform a lookup in the object table for the object ID corresponding to the object, retrieve a vector of execution context IDs from the execution context table that correspond to the object IDs looked up in the object table and perform an execution context lookup in an execution context table for every retrieved execution context ID in the vector to retrieve object IDs from an object vector.

16. The system of claim 15 , wherein the cache loader performs an object lookup prior to performing a store lookup for the object ID.

17. The system of claim 15 , wherein the cache loader a store lookup and returns an object value from the store lookup prior to performing an object lookup.

18. The system of claim 15 , wherein the cache loader performs an object lookup in the object table for a single current object ID being requested.

19. The system of claim 15 , wherein the cache loader performs an object lookup in the object table for a predetermined number of object IDs requested by two or more cache clients.

20. The system of claim 15 , wherein the cache loader performs an object lookup in the object table for a predetermined number of object IDs requested by the cache client.

21. An article of manufacture comprising a computer-readable medium having associated data, wherein the data, when accessed, results in a machine performing operations comprising:

a client accessing a cache for a value of an object based on an object identification (ID);

initiating a request to a cache loader if the cache does not include a value for the object;

the cache loader performing a lookup in an object table for the object ID corresponding to the object;

the cache loader retrieving a vector of execution context IDs from an execution context table that correspond to the object IDs looked up in the object table; and

the cache loader performing an execution context lookup in an execution context table for every retrieved execution context ID in the vector to retrieve object IDs from an object vector.

22. The article of manufacture of claim 21 , wherein the data, when accessed, results in a machine performing further operations comprising returning the value to the cache client if the cache includes a value for the object.

23. The article of manufacture of claim 21 , wherein accessing an existing object asynchronously triggers a cache load request.

24. The article of manufacture of claim 21 , wherein accessing an existing object performs a synchronous load request.

25. The article of manufacture of claim 21 , wherein the execution context vector includes a set of execution context IDs that uniquely identify the execution context accessing an existing object.

26. The article of manufacture of claim 25 , wherein the values in execution context IDs and the object IDs in the execution context table are sorted by time of an event for a scoring algorithm that uses time data.

Assignments (13)
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NO. 16/990,698 PREVIOUSLY RECORDED ON REEL 058294 FRAME 0010. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 21, 2022
From: TRU OPTIK DATA CORP.; NEUSTAR INFORMATION SERVICES, INC.; NEUSTAR DATA SERVICES, INC.; TRUSTID, INC.; NEUSTAR, INC.; NEUSTAR IP INTELLIGENCE, INC.; MARKETSHARE PARTNERS, LLC; SONTIQ, INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH
Reel/Frame 059846/0157 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT REEL 058294, FRAME 0161 Recorded Dec 27, 2021
From: JPMORGAN CHASE BANK, N.A.
To: EBUREAU, LLC; IOVATION, INC.; SIGNAL DIGITAL, INC.; TRANS UNION LLC; TRANSUNION INTERACTIVE, INC.; TRANSUNION RENTAL SCREENING SOLUTIONS, INC.; TRANSUNION TELEDATA LLC; AGGREGATE KNOWLEDGE, LLC; TRU OPTIK DATA CORP.; NEUSTAR INFORMATION SERVICES, INC.; TRUSTID, INC.; NEUSTAR, INC.; NEUSTAR IP INTELLIGENCE, INC.; MARKETSHARE PARTNERS, LLC; SONTIQ, INC.
Reel/Frame 058593/0852 →
FIRST LIEN PATENT SECURITY AGREEMENT RELEASE Recorded Dec 3, 2021
From: BANK OF AMERICA, N.A.
To: NEUSTAR, INC.; MARKETSHARE PARTNERS LLC; AGGREGATE KNOWLEDGE, INC.; NEUSTAR INFORMATION SERVICES, INC.; NEUSTAR IP INTELLIGENCE, INC.
Reel/Frame 058300/0762 →
SECOND LIEN PATENT SECURITY AGREEMENT RELEASE Recorded Dec 3, 2021
From: UBS AG, STAMFORD BRANCH
To: NEUSTAR, INC.; MARKETSHARE PARTNERS LLC; AGGREGATE KNOWLEDGE, INC.; NEUSTAR INFORMATION SERVICES, INC.; NEUSTAR IP INTELLIGENCE, INC.
Reel/Frame 058300/0739 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Dec 1, 2021
From: TRU OPTIK DATA CORP.; NEUSTAR INFORMATION SERVICES, INC.; NEUSTAR DATA SERVICES, INC.; TRUSTID, INC.; NEUSTAR, INC.; NEUSTAR IP INTELLIGENCE, INC.; MARKETSHARE PARTNERS, LLC; SONTIQ, INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH
Reel/Frame 058294/0010 →
GRANT OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Dec 1, 2021
From: EBUREAU, LLC; IOVATION, INC.; SIGNAL DIGITAL, INC.; TRANS UNION LLC; TRANSUNION HEALTHCARE, INC.; TRANSUNION INTERACTIVE, INC.; TRANSUNION RENTAL SCREENING SOLUTIONS, INC.; TRANSUNION TELEDATA LLC; AGGREGATE KNOWLEDGE, LLC; TRU OPTIK DATA CORP.; NEUSTAR INFORMATION SERVICES, INC.; TRUSTID, INC.; NEUSTAR, INC.; NEUSTAR IP INTELLIGENCE, INC.; MARKETSHARE PARTNERS, LLC; SONTIQ, INC.
To: JPMORGAN CHASE BANK, N.A
Reel/Frame 058294/0161 →
CHANGE OF NAME Recorded Sep 9, 2021
From: AGGREGATE KNOWLEDGE INC.
To: AGGREGATE KNOWLEDGE, LLC
Reel/Frame 057454/0899 →
SECURITY INTEREST Recorded Aug 22, 2017
From: MARKETSHARE PARTNERS LLC; AGGREGATE KNOWLEDGE, INC.; NEUSTAR INFORMATION SERVICES, INC.; NEUSTAR IP INTELLIGENCE, INC.; NEUSTAR, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 043633/0440 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Aug 22, 2017
From: MARKETSHARE PARTNERS LLC; AGGREGATE KNOWLEDGE, INC.; NEUSTAR INFORMATION SERVICES, INC.; NEUSTAR IP INTELLIGENCE, INC.; NEUSTAR, INC.
To: UBS AG, STAMFORD BRANCH
Reel/Frame 043633/0527 →
RELEASE OF SECURITY INTEREST Recorded Aug 21, 2017
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NEUSTAR, INC.; NEUSTAR IP INTELLIGENCE, INC.; ULTRADNS CORPORATION; NEUSTAR INFORMATION SERVICES, INC.; NEUSTAR DATA SERVICES, INC.; AGGREGATE KNOWLEDGE, INC.; MARKETSHARE ACQUISITION CORPORATION; MARKETSHARE HOLDINGS, INC.; MARKETSHARE PARTNERS, LLC
Reel/Frame 043618/0826 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT SUPPLEMENT Recorded Jan 8, 2014
From: AGGREGATE KNOWLEDGE INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 031947/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE ASSIGNEE FROM AGGREGATE KNOWLEDGE TO AGGREGATE KNOWLEDGE INC. PREVIOUSLY RECORDED ON REEL 021467 FRAME 0485. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF THE ASSIGNORS' INSTEREST. Recorded Aug 22, 2011
From: MUSUMECI, GIAN-PAOLO; WEHNER, KRISTOPHER C.
To: AGGREGATE KNOWLEDGE INC.
Reel/Frame 026787/0496 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2008
From: MUSUMECI, GIAN-PAOLO; WEHNER, KRISTOPHER C.
To: AGGREGATE KNOWLEDGE
Reel/Frame 021467/0485 →