Systems and methods for data frame representation
AssigneeGeneral Electric Company
InventorDamian Ryan Eads
Life of this patent
Estimating the term…
Abstract
Various embodiments provide a copy-on-write data frame (CoW-DF) that permits lightweight copies of a data frame, where the copies comprise memory allocation for only changed portions of a data frame. A CoW-DF may have semantics of a data frame, and a CoW-DF may appear and behave like a traditional data frame copy, while on the backend of a CoW-DF, only data differences created by modifications to a data frame may be maintained, rather than whole copies of a modified data frame. For various embodiments, the CoW concept is applied to other types of data structures, such as a column, a row, or a data frame value.
Claims13
A method comprising:
- generating, by one or more processors, a row-indexer data object in a memory, the row-indexer data object describing a set of row indices associated with the row-indexer data object;
- generating, by the one or more processors, a variable-group data object in the memory, the variable-group data object comprising one or more references to data blocks;
- generating, by the one or more processors, a view-group data object in the memory, the view-group data object comprising a reference to the variable-group data object;
- generating, by the one or more processors, a copy-on-write (CoW) column data object on the hardware memory, the CoW column data object comprising a reference to the row-indexer data object and a reference to the view-group data object;
- generating a copy-on-write data frame (CoW-DF) data object that comprises a set of references to column data objects, which includes a reference to the CoW column data object, wherein the set of references are implemented by one or more of a list, a vector, and an array;
- generating a CoW row data object that comprises a reference to the CoW-DF data object and that represents a value at a specific row and column of a data frame;
- generating a CoW data frame value data object that comprises a reference to the CoW column data object and a row index value;
- and
- generating a canonical-shallow copy of the CoW data frame value data object that comprises a new CoW data frame value data object generated such that the new CoW data frame value data object comprises a copy of the row index of the CoW data frame value data object, and a reference to the CoW column data object.
A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:
- generating a row-indexer data object on a memory, the row-indexer data object describing a set of row indices associated with the row-indexer data object;
- generating a variable-group data object on the memory, the variable-group data object comprising a set of references to data blocks;
- generating a view-group data object on the memory, the view-group data object comprising a reference to the variable-group data object;
- and
- generating a copy-on-write (CoW) column data object on the memory, the CoW column data object comprising a reference to the row-indexer data object and a reference to the view-group data object;
- generating a copy-on-write data frame (CoW-DF) data object that comprises a set of references to column data objects, which includes a reference to the CoW column data object, wherein the set of references are implemented by one or more of a list, a vector, and an array;
- generating a CoW row data object that comprises a reference to the CoW-DF data object and that represents a value at a specific row and column of a data frame;
- generating a CoW data frame value data object that comprises a reference to the CoW column data object and a row index value;
- and
- generating a canonical-shallow copy of the CoW data frame value data object that comprises a new CoW data frame value data object generated such that the new CoW data frame value data object comprises a copy of the row index of the CoW data frame value data object, and a reference to the CoW column data object.
A system comprising:
- a memory;
- one or more hardware processors;
- a data ingestion module that causes the one or more hardware processors to receive and store data from an industrial Internet-of-Things (IIoT) device;
- a copy-on-write (CoW) data object module that causes the one or more hardware processors to generate, on the memory, a copy-on-write data frame (CoW-DF) data object by:
- generating row-indexer data object on the memory, the row-indexer data object describing a set of row indices associated with the row-indexer data object;
- generating a variable-group data object on the memory, the variable-group data object comprising a set of references to data blocks;
- generating a view-group data object on the memory, the view-group data object comprising a reference to the variable-group data object;
- and
- generating, by the one or more hardware processors, a copy-on-write (CoW) column data object on the memory, the CoW column data object comprising a reference to the row-indexer data object and a reference to the view-group data object;
- and
- generating the CoW-DF data object that comprises a set of references to column data objects, which includes a reference to the CoW column data object, wherein the set of references are implemented by one or more of a list, a vector, and an array;
- generating a CoW row data object that comprises a reference to the CoW-DF data object and that represents a value at a specific row and column of a data frame;
- generating a CoW data frame value data object that comprises a reference to the CoW column data object and a row index value;
- and
- generating a canonical-shallow copy of the CoW data frame value data object that comprises a new CoW data frame value data object generated such that the new CoW data frame value data object comprises a copy of the row index of the CoW data frame value data object, and a reference to the CoW column data object;
- and
- a data analysis module that causes the one or more hardware processors to copy at least a portion of the data from the IIoT device to the CoW column data object.
Dependencies are inferred from the claim text.