PATENT CLAIM ANALYSIS

Application Number: 15943748
Application Type: Utility
Filing Date: 2018-04
Publication Date: 2018-08
Patent Classification: ["707", "753000"]

Abstract:
A technique relates to flash-optimized data layout of a dataset for queries. Selection columns are stored in flash memory according to a selection optimized layout, where the selection optimized layout is configured to optimize predicate matching and data skipping. The selection optimized layout, for each selection column, is formed by storing a selection column dictionary filled with unique data values in a given selection column, where the unique data values are stored in sorted order in the selection column dictionary. Row position designations are stored corresponding to each row position that the unique data values are present within the given selection column, without duplicating storage of any of the unique data values that occur more than once in the given selection column.

Claim (Index 2):
The method of  claim 1 , wherein the flash memory comprises a multi-level cell device such that more than one bit is storable within each cell, wherein the flash memory is incorporated in a cloud computing environment, and wherein the dataset comprises a table having a plurality of columns, the method further comprising:\n storing projection columns in the flash memory according to a projection optimized layout, the projection optimized layout being configured to optimize random accesses to the projection columns; wherein the projection optimized layout, for each projection column, is formed by:\n storing a projection column dictionary filled with unique data values in a given projection column, the unique data values in the given projection column stored in sorted order in the projection column dictionary; and \n storing a lookup structure comprising an index per row position to each of the unique data values in the given projection column, without duplicating storage of any of the unique data values that occur more than once in the given projection column; \n storing hybrid projection and selection columns in the flash memory according to a hybrid projection and selection optimized layout, wherein each hybrid projection and selection column has a sorted order such that duplicative data values in a given hybrid projection and selection column are arranged in consecutive rows within that hybrid projection and selection column; wherein the hybrid projection and selection optimized layout, for each hybrid projection and selection column and without duplicating storage of any of the duplicative data values in the given hybrid projection and selection column, is formed by:\n storing a hybrid projection and selection column dictionary filled with one of each duplicative data value in the given hybrid projection and selection column, the ones of each duplicative data values stored in sorted order in the hybrid projection and selection column dictionary; \n storing a combined lookup and row position designation structure, the combined lookup and row position designation structure comprising, for each data value stored in the hybrid projection and selection column dictionary, a pair of row position designations corresponding to a first row position and a last row position that the given data value is present within the given hybrid projection and selection column, the combined lookup and row position designation structure further comprising, for each pair of row position designations, a pointer to a corresponding data value in the hybrid projection and selection column dictionary; and \n storing a plurality of offsets, each offset corresponding to a data value in the hybrid projection and selection column dictionary and serving to indicate a location of a first row position of a given pair of row position designations corresponding to that data value; \n determining, for each column of the plurality of columns and based on selection part versus projection part query usage statistics for that column, whether to classify that column for storage in the flash memory as one of the selection columns, one of the projection columns, or one of the hybrid projection and selection columns; receiving a query to be run against the dataset, the query comprising a projection part and a selection part, the selection part including a predicate to be matched to data values in a first hybrid projection and selection column according to rules in the selection part and the projection part including a requirement to retrieve particular data from a second hybrid projection and selection column to use in answering the query; executing the selection part by:\n matching the predicate to a first data value in a first hybrid projection and selection column dictionary for the first hybrid projection and selection column; \n identifying among a first plurality of offsets for data values in the first hybrid projection and selection column dictionary a first offset that corresponds to the first data value; and \n locating, using the first offset and within a first combined lookup and row position designation structure for the first hybrid projection and selection column, a first pair of row position designations corresponding to a first row position and a last row position that the first data value is present within the first hybrid projection and selection column; and \n executing the projection part by:\n identifying, using the first pair of row position designations, a second pair of row position designations in a second combined lookup and row position designation structure for the second hybrid projection and selection column, wherein the second pair row position designations overlaps the first pair of row position designations; \n locating, using a second pointer in the second combined lookup and row position designation structure corresponding with the second pair row position designations, a second data value in a second projection and selection column dictionary that is present within the second pair of row positions in the second hybrid projection and selection column; and \n using the second data value to answer to the query.

Metadata:
- Claim Count in Document: 3.0
- Percentile: 91.0
- Lexical Diversity: 2.07937
- Patent Class: 707.0
- Transitional Phrase Type: open
- Component Type: 1
- Foreign Priority: False
- Related Applications: ['15693513', '14305179', '15904190', '14669565', '11970251']

Analysis Scores:
- 35 USC 101 Eligibility (BERT): 0.232784543509079
- 35 USC 102 Novelty (BERT): 0.5775096853624123
- Combined Prediction Score: 0.2672570576944124
- Mean Citation Score: 350.7542
- Max Citation Score: 503.44266
- Similarity Product: 444.50896919550416

Labels:
- Claim Label 101: 1
- Claim Label 102: 1
- Claim Label 103: 1
- Claim Label 112: 1
- Combined Label: 1
- Label 101 Adjusted: 1

Dataset: test