US 12,248,465 B1
System and method for retrieving data
Adel Alsaadi, Fremont, CA (US); Paritosh Kulkarni, San Jose, CA (US); and Jim Peterson, San Jose, CA (US)
Assigned to Yellowbrick Data, Inc., Mountain View, CA (US)
Filed by Yellowbrick Data, Inc., Mountain View, CA (US)
Filed on Sep. 20, 2022, as Appl. No. 17/933,801.
Application 17/933,801 is a continuation of application No. 16/543,458, filed on Aug. 16, 2019, granted, now 11,449,499.
Claims priority of provisional application 62/719,041, filed on Aug. 16, 2018.
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/245 (2019.01); G06F 9/30 (2018.01); G06F 16/22 (2019.01)
CPC G06F 16/245 (2019.01) [G06F 9/30098 (2013.01); G06F 9/30181 (2013.01); G06F 16/221 (2019.01)] 18 Claims
OG exemplary drawing
 
1. A method of providing a subset of a database table, comprising:
A. receiving a criteria for identifying the subset of the database table comprising a plurality of rows and a plurality of columns;
B. identifying at least one relevant column from the plurality of columns, responsive to the criteria received;
C. selecting a relevant column from the at least one relevant column identified;
D. identifying at least one function responsive to at least a portion of the criteria applicable to the selected relevant column;
E. for each of the at least one function identified, identifying at least one value;
F. distributing each of the at least one value identified to a register, in a plurality of hardware registers, each register in the plurality of hardware registers capable of i) performing at least one of the at least one function for which said value was identified and ii) producing a binary output value responsive to each said at least one of the at least one function being true or false for the at least one value distributed to that register and a provided value of the selected relevant column;
G. storing in an addressable storage a binary table the binary table comprising a binary value having one selected from a first state and a second state at each of a plurality of addresses of the binary table, responsive to the criteria and the at least one function identified;
H. obtaining a value from a row of the selected relevant column from the database table;
I. providing the value obtained to each of at least one register in the plurality of hardware registers;
J. at each of the at least one register, applying at least one of the at least one function to the value distributed to said register and the value from the row of the selected relevant column provided to said register, to produce the binary output value;
K. applying the binary output value produced by each of the at least one register in the plurality of hardware registers as at least a part of at least one of the plurality of addresses of the addressable storage to obtain the binary value of the binary table corresponding to that one of the plurality of addresses;
L. providing at least one value from the database table row from which the value of the relevant column was obtained, responsive to the binary value of the binary table corresponding to said address having the first state, and not providing the value of the database table row from which the value of the relevant column was obtained responsive to the binary value of the binary table corresponding to said one of the plurality of addresses having the second state; and
M. repeating steps H-L for each of a plurality of different rows of the database table.