IP Library Granted Patent US 9,043,881
Granted Patent B2
US 9,043,881 · App. 13/762,604 · Granted May 26, 2015

Entitled data cache management

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,043,881
App. No.
13/762,604
Granted
May 26, 2015
Kind
B2
Abstract

Systems and methods are disclosed for managing an entitled data cache. A data server may generate and send entitled data to a data cache server. The data cache server, a server that may be located nearer to the user within a data provider's computer network, may receive and cache the entitled data. A permission server may store user's permissions and transmit the user's permissions to the data server and the data cache server. Upon receiving a request for data, the data cache server may retrieve the requested data from the cache and send a subset of the cached data which matches the user's permissions to the user, without the need to request the data from the data server.

Claims (94)

1. An apparatus, comprising:

one or more processors; and

memory storing executable instructions that, when executed by the one or more processors, cause the apparatus to:

receive entitled data from a data server, wherein the entitled data has been assigned a plurality of data permissions that represent one or more permissions a requesting user must be assigned in order to access at least a portion of the entitled data;

store entitled data and cache signature corresponding to the entitled data;

receive a first data request for the entitled data from a first user;

identify the cache signature based on a hashing of the first data request;

retrieve user permissions corresponding to the first user;

identify a first user permission intersection between the user permissions corresponding to the first user and the data permissions;

retrieve, using the cache signature, a first set of the entitled data in accordance with the first user permissions intersection;

transmit the first set of the entitled data as a response to the first data request for the entitled data;

receive a second data request for the entitled data from a second user;

identify the cache signature based on a hashing of the second data request;

retrieve user permissions corresponding to the second user;

identify a second user permission intersection between the user permissions corresponding to the second user and the data permissions;

retrieve, using the cache signature, a second set of the entitled data in accordance with the second user permission intersection; and

transmit the second set of the entitled data as a response to the second data request for the entitled data.

2. The apparatus of claim 1 , wherein the memory further stores executable instructions that, when executed by the one or more processors, cause the apparatus to:

determine whether the entitled data is expired prior to responding to the first data request for the entitled data; and

determine whether the entitled data is expired prior to responding to the second data request for the entitled data.

3. The apparatus of claim 1 , wherein the memory further stores executable instructions that, when executed by the one or more processors, cause the apparatus to:

subscribe to an update service that provides notifications to computing device when the entitled data needs to be updated.

4. The apparatus of claim 2 , wherein the memory further stores executable instructions that, when executed by the one or more processors, cause the apparatus to:

receive an update to the entitled data prior to expiration of the entitled data.

5. The apparatus of claim 1 , wherein the memory further stores executable instructions that, when executed by the one or more processors, cause the apparatus to:

receive a third data request for the entitled data from the first user; and

transmit a third set of the entitled data as a response to the third data request for the entitled data, wherein the third set of the entitled data is different from the first set of the entitled data in accordance with a change in the user permissions corresponding to the first user.

6. The apparatus of claim 1 , wherein the memory further stores executable instructions that, when executed by the one or more processors, cause the apparatus to:

receive an update notification that includes an identification of one or more data domains that need to be updated, wherein the entitled data is assigned to at least one of the one or more data domains; and

request an update to the entitled data responsive to the update notification.

7. A method comprising:

receiving, by a computing device, entitled data from a data server, wherein the entitled data has been assigned data permissions that represent one or more permissions a requesting user must be assigned in order to access at least a portion of the entitled data;

store the entitled data and a cache signature corresponding to the entitled data;

receiving a first data request for the entitled data from a first user;

identifying the cache signature based on a hashing of the first data request;

retrieving user permissions corresponding to the first user;

identifying a first user permission intersection between the user permissions corresponding to the first user and the data permissions;

retrieving, using the cache signature, a first set of the entitled data in accordance with the first user permission intersection;

transmitting the first set of the entitled data as a response to the first data request for the entitled data;

receiving a second data request for the entitled data from a second user;

identifying the cache signature based on a hashing of the second data request;

retrieving user permissions corresponding to the second user;

identifying a second user permission intersection between the user permissions corresponding to the second user and the data permissions;

retrieving, using the cache signature, a second set of the entitled data in accordance with the second user permission intersection; and

transmitting the second set of the entitled data as a response to the second data request for the entitled data.

8. The method of claim 7 , further comprising:

determining whether the entitled data is expired prior to responding to the first data request for the entitled data; and

determine whether the entitled data is expired prior to responding to the second data request for the entitled data.

9. The method of claim 7 , further comprising:

subscribing to service that provides update notifications;

receiving asynchronous update notifications for the entitled data; and

updating the entitled data responsive to the update notification.

10. The method of claim 7 , wherein the hashing of the first data request results in the cache signature.

11. The method of claim 7 , further comprising:

requesting and receiving the user permissions from a permission server.

12. The method of claim 7 , further comprising:

receiving a third data request for the entitled data from the first user,

determining the user permissions corresponding to the first user have changed subsequent to receiving the first data request; and

transmitting a third set of the entitled data as a response to the third data request for the entitled data, wherein the third set of the entitled data is different from the first set of the entitled data.

13. The method of claim 7 , further comprising:

storing, with the entitled data, an entitlement token corresponding to the data permissions.

14. The method of claim 13 , wherein the entitlement token corresponds to the data permissions and is assigned to a grouping of users, wherein each user in the grouping of users is allowed access to data subject to the data permissions.

15. The method of claim 7 , further comprising:

receiving a single notification that notifies the computing device of an update to multiple data domains arranged in a hierarchy, wherein the entitled data is assigned to at least one of the multiple data domains.

16. The method of claim 7 , further comprising:

receiving an update notification that includes an identification of one or more data domains that need to be updated, wherein the entitled data is assigned to at least one of the one or more data domains; and

requesting an update to the entitled data responsive to the update notification.

17. One or more non-transitory computer-readable media storing executable instructions configured to, when executed, cause an apparatus to:

receive entitled data from a data server, wherein the entitled data has been assigned data permissions that represent one or more permissions a requesting user must be assigned in order to access at least a portion of the entitled data;

store entitled data and a cache signature corresponding to the entitled data;

receive a first data request for the entitled data from a first user;

identify the cache signature based on a hashing of the first data request;

receive user permissions corresponding to the first user;

identify a first user permission intersection between the user permissions corresponding to the first user and the data permissions;

retrieve, using the cache signature, a first set of the entitled data in accordance with the first user permission intersection;

transmit the first set of the entitled data as a response to the first data request for the entitled data;

receive a second data request for the entitled data from a second user;

identify the cache signature based on a hashing of the second data request;

retrieve user permissions corresponding to the second user;

identify a second user permission intersection between the user permissions corresponding to the second user and the data permissions;

retrieve, using the cache signature, a second set of the entitled data in accordance with the second user permission intersection; and

transmit the second set of the entitled data as a response to the second data request for the entitled data.

18. The one or more non-transitory computer-readable media of claim 17 , further storing executable instructions that, when executed, cause the apparatus to:

receive an update notification that includes an identification of one or more data domains that need to be updated, wherein the entitled data is assigned to at least one of the one or more data domains; and

request an update to the entitled data responsive to the update notification.

19. A method, comprising:

receiving entitled data from a data server, wherein the entitled data has been assigned data permissions that represent one or more permissions a requesting user must be assigned in order to access at least a portion of the entitled data;

storing the entitled data and cache signature that corresponds to the entitled data;

receiving a plurality of requests for the entitled data;

processing each of the plurality of requests by at least hashing each of the plurality of requests, wherein each processing results in the cache signature; and

responding to each of the plurality of requests with a transmission of a different data set, resulting in the transmission of a plurality of data sets, wherein each of the plurality of data sets is different from other data sets in the plurality of data sets, and each data set being in accordance with an intersection of user permissions and the data permissions.

20. The method of claim 19 , further comprising:

receiving an update notification that includes an identification of one or more data domains that need to be updated, wherein the entitled data is assigned to at least one of the one or more data domains; and

requesting an update to the entitled data responsive to the update notification.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2021
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS NOTES COLLATERAL AGENT
To: REFINITIV US ORGANIZATION LLC (F/K/A THOMSON REUTERS (GRC) INC.)
Reel/Frame 055174/0811 →
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2021
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: REFINITIV US ORGANIZATION LLC (F/K/A THOMSON REUTERS (GRC) INC.)
Reel/Frame 055174/0836 →
CHANGE OF NAME Recorded Mar 22, 2019
From: THOMSON REUTERS (GRC) LLC
To: REFINITIV US ORGANIZATION LLC
Reel/Frame 048676/0110 →
CHANGE OF NAME Recorded Dec 19, 2018
From: THOMSON REUTERS (GRC) INC.
To: THOMSON REUTERS (GRC) LLC
Reel/Frame 048553/0148 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2018
From: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
To: THOMSON REUTERS (GRC) INC.
Reel/Frame 047909/0874 →
SECURITY AGREEMENT Recorded Oct 3, 2018
From: THOMSON REUTERS (GRC) INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 047187/0316 →
SECURITY AGREEMENT Recorded Oct 2, 2018
From: THOMSON REUTERS (GRC) INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 047185/0215 →
CHANGE OF NAME Recorded Dec 1, 2017
From: THOMSON REUTERS GLOBAL RESOURCES
To: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
Reel/Frame 044269/0837 →