IP Library › Granted Patent US 10,922,229
Granted Patent B2
US 10,922,229 · App. 16/297,849 · Granted Feb 16, 2021

In-memory normalization of cached objects to reduce cache memory footprint

Inventor: Subrata Biswas (Issaquah, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F12/084G06F12/0888G06F2212/1044G06F2212/608
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,922,229
App. No.
16/297,849
Granted
Feb 16, 2021
Kind
B2
Abstract

Database objects are retrieved from a database and parsed into normalized cached data objects. The database objects are stored in the normalized cached data objects in a cache store, and tenant data requests are serviced from the normalized cached data objects. The normalized cached data objects include references to shared objects in a shared object pool that can be shared across different rows of the normalized cached data objects and across different tenant cache systems.

Claims (57)

1. A computing system, comprising:

at least one processor; and

memory storing instructions executable by the at least one processor, wherein the instructions, when executed, cause the computing system to:

a data access request from a requesting computing system and identify a data table in a database to be accessed;

obtain the identified data table from the database;

parse the data table into a normalized cache data object, including non-sharable data properties and a reference to an inter-row sharable data object, that includes data properties that are sharable across a row of a table; and

load the normalized cache data object into a cache store corresponding to the requesting computing system.

2. The computing system of claim 1 wherein the instructions cause the computing system to parse the data table into the normalized cache data object by including a reference to an inter-tenant sharable data object, that includes inter-tenant sharable data that is sharable among a plurality of different tenant cache systems.

3. The computing system of claim 2 wherein the instructions cause the computing system to:

identify a data item in the data table; and

determine whether a normalized cache data object already exists in the cache and can be referred to for data in the identified data item.

4. The computing system of claim 3 wherein the instructions cause the computing system to:

if a normalized cache data object does not already exist in the cache store, that can be referred to for data in the identified data item, then construct the normalized cache data object corresponding to the identified data item.

5. The computing system of claim 4 wherein the instructions cause the computing system to:

generate the reference to the inter-row sharable data object.

6. The computing system of claim 5 wherein the instructions cause the computing system to generate the reference to the inter-tenant sharable data object.

7. The computing system of claim 4 wherein the instructions cause the computing system to identify inter-row sharable data in the identified data item and construct a first sharable object that includes the inter-row sharable data.

8. The computing system of claim 7 wherein the instructions cause the computing system to load the first sharable object into a shared object pool in the cache store.

9. The computing system of claim 8 wherein the instructions cause the computing system to identify inter-tenant sharable data in the identified data item and construct a second sharable object that includes the inter-tenant sharable data.

10. The computing system of claim 9 wherein the instructions cause the computing system to load the second sharable object into the shared object pool in the cache store.

11. The computing system of claim 4 wherein the instructions cause the computing system to:

identify a normalized cache data object corresponding to a data access request and obtain non-sharable data properties from the normalized cache data object corresponding to the data access request and obtain, from the inter-row sharable data object, the inter-row sharable data, based on the reference to the inter-row sharable data object in the normalized cache data object, and

obtain, from the inter-tenant sharable data object, inter-tenant sharable data, based on the reference to the inter-tenant sharable data object in the normalized cache data object.

12. A computer implemented method, comprising:

identifying a data table in a database to be accessed based on a data access request from a requesting computing system;

obtaining the identified data table from the database;

parsing the data table into a normalized cache data object, including non-sharable data properties and a reference to an inter-row sharable data object, that includes data properties that are sharable across a row of a table; and

loading the normalized cache data object into a cache store corresponding to the requesting computing system.

13. The computer implemented method of claim 12 wherein parsing comprises:

parsing the data table into the normalized cache data object by including a reference to an inter-tenant sharable data object, that includes inter-tenant sharable data that is shamble among a plurality of different tenant cache systems.

14. The computer implemented method of claim 13 wherein parsing comprises:

identifying a data item in the data table; and

determining whether a normalized cache data object already exists in the cache and can be referred to for data in the identified data item.

15. The computer implemented method of claim 14 wherein, it is determined that a normalized cache data object does not already exist in the cache store, that can be referred to for data in the identified data item, then constructing the normalized cache data object corresponding to the identified data item in the cache store.

16. The compute implemented method of claim 15 wherein parsing further comprises:

generating the reference to the inter-row sharable data object; and

generating the reference to the inter-tenant sharable data object.

17. The computer implemented method of claim 15 wherein constructing comprises:

identifying inter-row sharable data in the identified data item;

constructing a first sharable object that includes the inter-row sharable data; and

loading the first sharable object into a shared object pool in the cache store.

18. The computer implemented method of claim 17 wherein constructing comprises:

identifying inter-tenant sharable data in the identified data item;

constructing a second sharable object that includes the inter-tenant sharable data; and

loading the second sharable object into the shared object pool in the cache store.

19. The computer implemented method of claim 15 and further comprising:

identifying a normalized cache data object corresponding to a data access request;

obtaining non-sharable data properties from the normalized cache data object corresponding to the data access request;

obtaining, from the inter-row sharable data object, the inter-row sharable data, based on the reference to the inter-row sharable data object in the normalized cache data object; and

obtaining, from the inter-tenant sharable data object, inter-tenant sharable data, based on the reference to the inter-tenant sharable data object in the normalized cache data object.

20. A computing system, comprising:

at least one processor; and

memory storing instructions executable by the at least one processor, wherein the instructions, when executed, cause the computing system to:

receive a data access request from a requesting computing system and identify a data table in a database to be accessed;

obtain the identified data table from the database;

parse the data table into a normalized cache data object, including non-sharable data properties, a reference to an inter-row sharable data object, that includes data properties that are sharable across a row of a table, and a reference to an inter-tenant sharable data object, that includes inter-tenant sharable data that is sharable among a plurality of different tenant cache systems; and

load the normalized cache data object into a cache store corresponding to the requesting computing system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2019
From: BISWAS, SUBRATA
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 048557/0049 →
Continuity (1)
Related Publication 20200293446A1 · Sep 17, 2020