US 12,346,341 B2
Using dynamic data structures for storing data objects
Gabriel Zvi BenHanokh, Tel-Aviv (IL); and Uri Lublin, Raanana (IL)
Assigned to Red Hat, Inc., Raleigh, NC (US)
Filed by RED HAT, INC., Raleigh, NC (US)
Filed on Jul. 28, 2021, as Appl. No. 17/386,639.
Prior Publication US 2023/0034198 A1, Feb. 2, 2023
Int. Cl. G06F 16/25 (2019.01); G06F 16/21 (2019.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06N 20/00 (2019.01)
CPC G06F 16/258 (2019.01) [G06F 16/219 (2019.01); G06F 16/2291 (2019.01); G06F 16/2365 (2019.01); G06N 20/00 (2019.01)] 17 Claims
OG exemplary drawing
 
1. A system comprising:
a processor; and
a memory device including instructions that are executable by the processor for causing the processor to:
receive a data object and properties associated with the data object;
determine, by a machine learning model and based on at least one of the properties, a first data structure from a plurality of data structures for storing the data object that is different from a second data structure from the plurality of data structures currently storing data objects in the memory device, each of the plurality of data structures being a different type of storage organization in the memory device, the machine learning model being configured to recommend the first data structure from the plurality of data structures for data objects by:
generating training data by performing operations in a computing system or based on logged information about data objects in the computing system, the training data including consisting of historical information about access types and numbers of items associated with the data objects, and further including labels indicating a data structure from the plurality of data structures for storing the data objects;
training the machine learning model to recommend the first data structure from the plurality of data structures based on the first data structure being associated with a lowest resource usage of the plurality of data structures by minimizing one or more loss functions using the training data; and
subsequent to training the machine learning model, configuring the machine learning model to receive the properties including an access type and a number of items associated with the data object and to output a recommendation of the first data structure from the plurality of data structures;
output a command for causing the first data structure to store the data object in the memory device; and
generate the first data structure in the memory device based on the command.