Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
225 words
A computer implemented method of searching a relational database, comprising the steps of: (a) querying a plurality of data fields by means of a client server interface program, wherein said client server interface program is loaded onto a personal computer where said queries are entered and processed into packets, said packets being sent to a database server, (b) receiving said packets by means of a program executed by said database server, said database server storing a database where all database records are rotated 90 degrees such that data for each field is stored contiguously across all customers; (c) retrieving data from said database corresponding to the field contained in said packets, wherein data from other fields is not retrieved; (d) comparing the query from said packets to the data retrieved from said database; (e) creating bitmaps indicating the results of said comparisons, wherein said bitmaps are one-dimensional arrays; (f) combining said bitmaps in a sequence to create a results bitmap forming an aggregated result; (g) counting the number of bits in said results bitmap by converting said results bitmap into integer values, wherein said integer values are used as an index into an array containing the number of bits set to determine the number of records in said database which match the query; and (h) sending query results back to the client server interface program.
Claim 2
Dependent Claim
225 words
A computer implemented method of searching a relational database, comprising the steps of: (a) querying a plurality of data fields by means of a client server interface program, wherein said client server interface program is loaded onto a personal computer where said queries are entered and processed into packets, said packets being sent to a database server, (b) receiving said packets by means of a program executed by said database server, said database server storing a database where all database records are rotated 90 degrees such that data for each field is stored contiguously across all customers; (c) retrieving data from said database corresponding to the field contained in said packets, wherein data from other fields is not retrieved; (d) comparing the query from said packets to the data retrieved from said database; (e) creating bitmaps indicating the results of said comparisons, wherein said bitmaps are one-dimensional arrays; (f) combining said bitmaps in a sequence to create a results bitmap forming an aggregated result; (g) counting the number of bits in said results bitmap by converting said results bitmap into integer values, wherein said integer values are used as an index into an array containing the number of bits set to determine the number of records in said database which match the query; and (h) sending query results back to the client server interface program.
Claim 3
Dependent Claim
27 words
The computer implemented method of claim 1, wherein said client server interface program includes means for cutting, copying, pasting and inserting cells, rows and columns of data.
Claim 4
Dependent Claim
30 words
The computer implemented method of claim 1, wherein said client server interface program includes means for accumulating multiple queries and batching said queries for submission together to said database server.
Claim 5
Dependent Claim
36 words
The computer implemented method of claim 1, wherein said client server interface program includes means for parsing said query into a plurality of pieces where each said piece relates to only one field of the database.
Claim 6
Dependent Claim
27 words
The computer implemented method of claim 1, wherein said client server interface program includes means for accumulating different queries to be combined into a single complex query.
Claim 7
Dependent Claim
72 words
The computer implemented method of claim 1, wherein said database server includes a programmed processor that processes said queries by performing the following steps: (a) scanning said query for a determination of which of said contiguously stored data fields will be accessed to answer said query; (b) accessing queried data fields; and (c) processing said queried data fields to determine which field entry within said contiguously stored data fields satisfy said query.
Claim 8
Dependent Claim
66 words
The computer implemented method of claim 1, wherein said database server includes a program processor that further includes an interactive processor, said interactive processor carries out the step of storing a set number of the most recent queries executed by a system user and the bitmaps associated with said most recent queries from said queries to eliminate bitmap processing for generation of bitmaps for common queries.
Claim 9
Dependent Claim
30 words
The computer implemented method of claim 1, wherein said queried data fields have columnar identifiers assigned to each of said fields, said identifiers being indexed to a look up table.
Claim 10
Dependent Claim
35 words
The computer implemented method of claim 1, wherein said step of combining the bitmaps into a results bitmap is performed by ANDing chunks of at least 64 bits from each bitmap in a parallel fashion.
Claim 11
Dependent Claim
85 words
The computer implemented method of claim 1, further including the additional steps of: (a) Parsing said query into a plurality of pieces where each piece relates to only one field of the database; (b) storing a plurality of the most recent bitmaps along with a query piece definition associated with each bitmap; and (c) comparing each said query piece definition with each said piece of said query to determine whether said query piece is to be compared against a relevant field of all database records.
Claim 12
Dependent Claim
28 words
The computer implemented method of claim 10, further including the additional step of skipping the processing of said piece of said query which matches said query piece definition.