IP Library Granted Patent US 12,235,810
Granted Patent B2
US 12,235,810 · App. 17/125,086 · Granted Feb 25, 2025

Efficient storage of key-value data with schema integration

Inventors: Wei Cao (Shanghai, CN); Hao Wang (Shanghai, CN); Nicholas Chun Wei (Shanghai, CN); Kshitij Patel (Cary, NC); Xueyun Li (Shanghai, CN)
Assignee: Dell Products L.P.
G06F16/211G06F3/0604G06F3/0629G06F3/0653G06F3/067
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 12,235,810
App. No.
17/125,086
Granted
Feb 25, 2025
Kind
B2
Abstract

Methods, apparatus, and processor-readable storage media for efficient storage of key-value data with schema integration are provided herein. An example computer-implemented method includes obtaining a metrics data message associated with a product, wherein the metrics data message has a first format and comprises a schema version and a type of the product; identifying one of a plurality of schema definitions for the metrics data message based at least in part on the schema version and the type of the product; converting the metrics data message into a second format based on the identified schema definition, wherein the second format removes at least some redundant data from the metrics data message; and storing the converted metrics data message in a metrics database.

Claims (59)

1. A computer-implemented method comprising:

obtaining a metrics data message associated with a product, wherein the metrics data message has a first format and comprises a schema version, a type of the product, and two or more objects comprising respective values for a given property of one or more properties related to the product, and respective object identifiers of the two or more objects;

identifying a schema definition for the metrics data message based at least in part on the schema version and the type of the product;

retrieving the identified schema definition from a schema definition database, wherein the schema definition comprises a plurality of schema definitions for a plurality of products;

converting the metrics data message into a second format based on the identified schema definition to reduce a size of the metrics data message, wherein the second format removes at least some repetitive data from the metrics data message by mapping at least the respective object identifiers and the respective values from the two or more objects for the given property in the first format to a single object in the second format;

storing the converted metrics data message in a metrics database; and

initiating an adjustment to a computing environment comprising the product based at least in part on the converted metrics data message stored in the metrics database, wherein the adjustment adjusts a utilization of the product within the computing environment;

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

2. The computer-implemented method of claim 1 , wherein the metrics data message further comprises:

an object type, wherein the two or more objects correspond to the object type.

3. The computer-implemented method of claim 2 , wherein the identifying is further based on the object type.

4. The computer-implemented method of claim 2 , wherein each of the two or more objects comprises:

a name for each of the one or more properties associated with the object type; and

a value for each of the one or more properties.

5. The computer-implemented method of claim 4 , wherein the identified schema definition defines an order of the one or more properties within the two or more objects.

6. The computer-implemented method of claim 4 , wherein the at least some repetitive data comprises multiple instances of the name for at least the given property across the two or more objects of the metrics data message, and wherein the mapping comprises:

mapping the respective values for the given property to a single instance of the name for the given property in the single object.

7. The computer-implemented method of claim 1 , wherein the plurality of schema definitions is defined based on at least one of:

a plurality of product types;

a plurality of schema versions; and

a plurality of object types.

8. The computer-implemented method of claim 1 , further comprising:

monitoring the metrics database, wherein the initiating the adjustment to the computing environment is based at least in part on the monitoring.

9. The computer-implemented method of claim 8 , wherein the product comprises at least one of: a storage product, a storage area network product, and a converged product.

10. The computer-implemented method of claim 1 , wherein the converting comprises:

using the schema definition to extract, from the two or more objects, the respective object identifiers and the respective values for the given property.

11. The computer-implemented method of claim 1 , wherein the adjustment to the computing environment comprises redirecting one or more requests associated with the product to at least one other product within the computing environment.

12. A non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device:

to obtain a metrics data message associated with a product, wherein the metrics data message has a first format and comprises a schema version, a type of the product, and two or more objects comprising respective values for a given property of one or more properties related to the product, and respective object identifiers of the two or more objects;

to identify a schema definition for the metrics data message based at least in part on the schema version and the type of the product;

to retrieve the identified schema definition from a schema definition database, wherein the schema definition comprises a plurality of schema definitions for a plurality of products;

to convert the metrics data message into a second format based on the identified schema definition to reduce a size of the metrics data message, wherein the second format removes at least some repetitive data from the metrics data message by mapping at least the respective object identifiers and the respective values from the two or more objects for the given property in the first format to a single object in the second format;

to store the converted metrics data message in a metrics database; and

to initiate an adjustment to a computing environment comprising the product based at least in part on the converted metrics data message stored in the metrics database, wherein the adjustment adjusts a utilization of the product within the computing environment.

13. The non-transitory processor-readable storage medium of claim 12 , wherein the metrics data message further comprises:

an object type, wherein the two or more objects correspond to the object type.

14. The non-transitory processor-readable storage medium of claim 13 , wherein the identifying is further based on the object type.

15. The non-transitory processor-readable storage medium of claim 13 , wherein each of the two or more objects comprises:

a name for each of the one or more properties associated with the object type; and

a value for each of the one or more properties;

wherein the identified schema definition defines an order of the one or more properties within the two or more objects.

16. The non-transitory processor-readable storage medium of claim 15 , wherein the at least some repetitive data comprises multiple instances of the name for at least the given property across the two or more objects of the metrics data message, and wherein the mapping comprises:

mapping the respective values for the given property to a single instance of the name for the given property in the single object.

17. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured:

to obtain a metrics data message associated with a product, wherein the metrics data message has a first format and comprises a schema version, a type of the product, and two or more objects comprising respective values for a given property of one or more properties related to the product, and respective object identifiers of the two or more objects;

to identify a schema definition for the metrics data message based at least in part on the schema version and the type of the product;

to retrieve the identified schema definition from a schema definition database, wherein the schema definition comprises a plurality of schema definitions for a plurality of products;

to convert the metrics data message into a second format based on the identified schema definition to reduce a size of the metrics data message, wherein the second format removes at least some repetitive data from the metrics data message by mapping at least the respective object identifiers and the respective values from the two or more objects for the given property in the first format to a single object in the second format;

to store the converted metrics data message in a metrics database; and

to initiate an adjustment to a computing environment comprising the product based at least in part on the converted metrics data message stored in the metrics database, wherein the adjustment adjusts a utilization of the product within the computing environment.

18. The apparatus of claim 17 , wherein:

the metrics data message further comprises an object type, wherein the two or more objects correspond to the object type; and

the identifying is further based on the object type.

19. The apparatus of claim 18 , wherein each of the two or more objects comprises:

a name for each of the one or more properties associated with the object type; and

a value for each of the one or more properties.

20. The apparatus of claim 19 , wherein the identified schema definition defines an order of the one or more properties within the two or more objects.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2020
From: CAO, WEI; WANG, HAO; WEI, NICHOLAS CHUN; PATEL, KSHITIJ; LI, XUEYUN
To: DELL PRODUCTS L.P.
Reel/Frame 054682/0470 →
Continuity (1)
Related Publication 20220197874A1 · Jun 23, 2022
References Cited (15)
US 7574699B1 · Simmons · 2009 [cited by examiner]
US 7689587B1 · Tiruveedi · 2010 [cited by examiner]
US 8571882B1 · Teitelbaum · 2013 [cited by examiner]
US 9424289B2 · Cornish · 2016 [cited by examiner]
US 10169169B1 · Shaikh · 2019 [cited by examiner]
US 10909091B1 · Shah · 2021 [cited by examiner]
US 11138164B1 · Munuhur Rajagopal · 2021 [cited by examiner]
US 20070299858A1 · Norcott · 2007 [cited by examiner]
US 20080071817A1 · Gaurav · 2008 [cited by examiner]
US 20080077632A1 · Tysowski · 2008 [cited by examiner]
US 20130311443A1 · Bolotnikoff · 2013 [cited by examiner]
US 20140280366A1 · Li · 2014 [cited by examiner]
US 20160292192A1 · Bhagat · 2016 [cited by examiner]
US 20180336230A1 · Transier · 2018 [cited by examiner]
US 20200218713A1 · Burns · 2020 [cited by examiner]
Cited By (1)
US 12,360,832