IP Library › Granted Patent US 12,536,140
Granted Patent B2
US 12,536,140 · App. 18/073,123 · Granted Jan 27, 2026

Adaptive aggregation and compression of metadata

Inventors: Or Friedmann (Ra'anana, IL); Gabriel Zvi BenHanokh (Ra'anana, IL)
Assignee: Red Hat, Inc.
G06F16/1744G06F9/45558
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,536,140
App. No.
18/073,123
Granted
Jan 27, 2026
Kind
B2
Abstract

Systems, methods, and non-transitory machine-readable medium storing a program are disclosed for aggregating and compressing a plurality of metadata attributes related to an object. For example, a system including a memory and a processor in communication with the memory, where the processor is configured to: measure an access pattern for the plurality of metadata attributes, apply an assigned weight to each of the metadata attributes, calculate an individual prediction for each of the metadata attributes, compare the individual prediction for each of the metadata attributes to a threshold, form a combined attribute with aggregated metadata attributes having individual predictions above the threshold, and compress the combined attribute.

Claims (60)

1 . A system for aggregating and compressing a plurality of metadata attributes related to an object, the system comprising:

a memory; and

a processor in communication with the memory, wherein the processor is configured to:

measure an access pattern for each of the plurality of metadata attributes, wherein the access pattern is based on calls made to each of the plurality of metadata attributes, and wherein the access pattern comprises a number of the calls made to each of the plurality of metadata attributes and a type of each of the calls made to each of the plurality of metadata attributes;

assign an assigned weight to each of the metadata attributes based on the type of each of the calls made to each of the metadata attributes, wherein the assigned weight is a positive value or a negative value;

calculate an individual prediction for each of the metadata attributes using the assigned weight and the number of the calls;

compare the individual prediction for each of the metadata attributes to a threshold;

form a combined attribute with aggregated metadata attributes having individual predictions above the threshold;

compress the combined attribute; and

store the compressed combined attribute and each of the metadata attributes having individual predictions equal to or below the threshold, wherein data storage consumption associated with storing the compressed combined attribute and the metadata attributes having individual predictions equal to or below the threshold is reduced in comparison to data storage consumption associated with storing the plurality of metadata attributes.

2 . The system of claim 1 , wherein the processor is a virtual processor, and wherein the virtual processor executes in a virtual machine.

3 . The system of claim 1 , wherein the processor is further configured to individually compress the metadata attributes that are below the threshold and have long attributes.

4 . The system of claim 3 , further comprising a server configured to store the compressed combined attribute, the individually compressed metadata attributes, and any remaining uncompressed metadata attributes.

5 . The system of claim 4 , wherein the server is a remote server.

6 . The system of claim 4 , wherein the server or processor is further configured to store the compressed combined attribute, the individually compressed metadata attributes, and any remaining uncompressed metadata attributes in a container.

7 . The system of claim 1 , wherein the individual prediction is calculated by multiplying the assigned weight and the number of the calls.

8 . The system of claim 7 , wherein the processor is further configured to calculate a sum of all of the individual predictions for the metadata attributes for the object and form the combined attribute with aggregated metadata attributes for the object having individual predictions both above and below the threshold, when the sum is above the threshold.

9 . The system of claim 1 , wherein the type of each of the calls is selected from a group comprising:

a Get_All command that retrieves all of the plurality of metadata attributes for the object;

a Set_All command that sets new values for all of the plurality of metadata attributes for the object;

a Get_Single command that retrieves only one of the plurality of metadata attributes for the object;

a Set_Single command that sets a new value for only one of the plurality of metadata attributes for the object;

a Get_Some command that retrieves at least two of the plurality of metadata attributes for the object; and

a Set_Some command that sets at least two of the plurality of metadata attributes for the object.

10 . The system of claim 9 , wherein:

the assigned weight for the Get_All command and the Set_All command are above the threshold; and

the assigned weight for the Get_Single command and the Set_Single command are below the threshold.

11 . A method for aggregating and compressing a plurality of metadata attributes related to an object, the method comprising:

measuring an access pattern for each of the plurality of metadata attributes, wherein the access pattern is based on calls made to each of the plurality of metadata attributes, and wherein the access pattern comprises a number of the calls made to each of the plurality of metadata attributes and a type of each of the calls made to each of the plurality of metadata attributes;

assigning an assigned weight to each of the metadata attributes based on the type of each of the calls made to each of the metadata attributes, wherein the assigned weight is a positive value or a negative value;

calculating an individual prediction for each of the metadata attributes using the assigned weight and the number of the calls;

comparing the individual prediction for each of the metadata attributes to a threshold;

forming a combined attribute with aggregated metadata attributes having individual predictions above the threshold;

compressing the combined attribute; and

storing the compressed combined attribute and each of the metadata attributes having individual predictions equal to or below the threshold, wherein data storage consumption associated with storing the compressed combined attribute and the metadata attributes having individual predictions equal to or below the threshold is reduced in comparison to data storage consumption associated with storing the plurality of metadata attributes.

12 . The method of claim 11 , further comprising executing a processor as a virtual processor on a virtual machine.

13 . The method of claim 11 , wherein measuring the type of each of the calls comprises:

retrieving all of the plurality of metadata attributes for the object with a Get_All command;

setting new values for all of the plurality of metadata attributes for the object with a Set_All command;

retrieving only one of the plurality of metadata attributes for the object with a Get_Single command;

setting a new value for only one of the plurality of metadata attributes for the object with a Set_Single command;

retrieving at least two of the plurality of metadata attributes for the object with a Get_Some command; and

setting at least two of the plurality of metadata attributes for the object with a Set_Some command.

14 . The method of claim 11 , further comprising:

individually compressing the metadata attributes that are below the threshold and have long attributes; and

storing the compressed combined attribute, the individually compressed metadata attributes, and any remaining uncompressed metadata attributes on a server.

15 . The method of claim 14 , further comprising remotely storing the object on the server.

16 . The method of claim 14 , further comprising storing the compressed combined attribute, the individually compressed metadata attributes, and any remaining uncompressed metadata attributes in a container.

17 . The method of claim 11 , further comprising:

calculating the individual prediction by multiplying the assigned weight and the number of the calls;

calculating a sum of all of the individual predictions for the metadata attributes for the object; and

forming the combined attribute with aggregated metadata attributes for the object having individual predictions both above and below the threshold, when the sum is above the threshold.

18 . A non-transitory machine-readable medium storing a program, which when executed by at least one processor, is effective to aggregate and compress a plurality of metadata attributes related to an object, the program comprising:

measure an access pattern for each of the plurality of metadata attributes, wherein the access pattern is based on calls made to each of the plurality of metadata attributes, and wherein the access pattern comprises a number of the calls made to each of the plurality of metadata attributes and a type of each of the calls made to each of the plurality of metadata attributes;

assign an assigned weight to each of the metadata attributes based on the type of each of the calls made to each of the metadata attributes, wherein the assigned weight is a positive value or a negative value;

calculate an individual prediction for each of the metadata attributes using the assigned weight and the number of the calls;

compare the individual prediction for each of the metadata attributes to a threshold;

form a combined attribute with aggregated metadata attributes having individual predictions above the threshold;

compress the combined attribute; and

store the compressed combined attribute and each of the metadata attributes having individual predictions equal to or below the threshold, wherein data storage consumption associated with storing the compressed combined attribute and the metadata attributes having individual predictions equal to or below the threshold is reduced in comparison to data storage consumption associated with storing the plurality of metadata attributes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2022
From: FRIEDMANN, OR; BENHANOKH, GABRIEL ZVI
To: RED HAT, INC.
Reel/Frame 061945/0178 →
Continuity (1)
Related Publication 20240184750A1 · Jun 6, 2024
References Cited (9)
US 9696931B2 · Kuttner et al. · 2017 [cited by applicant]
US 10191857B1 · Shalev · 2019 [cited by applicant]
US 10558618B1 · Bent · 2020 [cited by examiner]
US 11494362B2 · Gerweck et al. · 2022 [cited by applicant]
US 20200387316A1 · Cheah · 2020 [cited by examiner]
US 20220300451A1 · Ghosh et al. · 2022 [cited by applicant]
CN 113468175A · 2021 [cited by examiner]
WO WO2021150165A1 · 2021 [cited by applicant]
Yanping, Lin, et al. “A Dynamic Method for Metadata Partitioning Based on Intensive Access of Spatial Data,” 2011, State Key Laboratory for Information Engineering in Surveying, Mapping and Remote Sensing, Wuhan Univers… [cited by applicant]