DETAILED ACTION
1. Claims 1-26 are pending in this application.
Notice of Pre-AIA or AIA Status
2. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
In the event the determination of the status of the application as subject to AIA 35 U.S.C. §102 and §103 (or as subject to pre-AIA 35 U.S.C. §102 and §103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
Information Disclosure Statement
3. The information disclosure statement filed 04/22/2024 is in compliance with the provisions of 37 CFR 1.97, 1.98 and MPEP § 609. It has been placed in the application file and the information referred to therein has been considered as to the merits.
Claim Rejections - 35 USC § 101
4. 35 U.S.C. §101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-26 are rejected under 35 U.S.C. §101 because the claimed invention is directed to an abstract idea (Mental Process) without significantly more. The claims similarly describe steps for index suggestions for fast database transactions.
The following is an analysis based on 2019 Revised Patent Subject Matter Eligibility Guidance (2019 PEG).
Step 1, Statutory Category?
Claims 1-25 are directed to a method.
Claim 26 is directed to one or more non-transitory storage media.
Therefore, claims 1-26 fall into at least one of the four statutory categories.
Step 2A, Prong I: Judicial Exception Recited?
The examiner submits that the foregoing claim limitations constitute a “Mental Process”, as the claims cover performance of the limitations in the human mind, given the broadest reasonable interpretation.
As per independent claims 1 and 26, the claims similarly recite the limitations of: “determining a total performance benefit for each index in the set of candidate indexes based on the determined maximum predicted performance benefits for the set of database operations;” A human can mentally determine a total by observing and summing the observed data. For example, after scanning the receipts on the desk, the accountant instantly calculated the total expenses in her head. There is nothing so complex in the limitation that could not be doing in the human mind.
“generating a recommended set of indexes based on the total performance benefit for each index in the set of candidate indexes” A human can observe data and create a list of items from it. For example, a data analyst can review customer survey responses and compile a list of the most frequent complaints. There is nothing so complex in the limitation that could not be doing in the human mind.
As per independent claims 1, 17 and 26, the claims similarly recite the limitations of:
“generating an index recommendation for an input dataset and input workload using a trained index recommendation model, wherein:” A human can observe information from two sources and create an index for them. For example, a person can read two different recipe books and create a combined index at the back to easily find specific dishes. There is nothing so complex in the limitation that could not be doing in the human mind.
“generating a set of candidate indexes based on the input dataset;” A human can mentally observe indices and create a group of indices that fit their criteria. For example, a person looking at a calendar can mentally group all the dates that fall on a weekend because they fit their criteria for rest days. There is nothing so complex in the limitation that could not be doing in the human mind.
“applying the trained index recommendation model to the given operation and each given index in the set of candidate indexes to determine a predicted performance benefit of the given index for the given operation;” A human can observe an index and make a prediction based on that index. For example, a person looks at a rising thermometer (the index) and predicts that today will be hot (the prediction). There is nothing so complex in the limitation that could not be doing in the human mind.
“determining a maximum predicted performance benefit and a particular index from the set of candidate indexes corresponding to the maximum predicted performance benefit;” A human can mentally calculate a prediction and use the results of that prediction to associate it with another index or list. For example, a chef mentally estimates when the roast will finish cooking and uses that time to decide which side dish to prep next from the menu list. There is nothing so complex in the limitation that could not be doing in the human mind.
As per dependent claim 2, the claim recites the limitation of:
“wherein generating the index recommendation further comprises ranking the set of candidate indexes by total performance benefit and selecting the recommended set of indexes from the ranked set of candidate indexes.” A human can process data and rank it based on simple criteria. A human can also mentally observe ranked data and select one item to recommend or suggest. There is nothing so complex in the limitation that could not be doing in the human mind.
As per dependent claim 3, the claim recites the limitation of:
“wherein generating the index recommendation further comprises selecting the recommended set of indexes from the ranked set of candidate indexes that fit within a storage budget.” A human can look at a plurality of recommendations listed in order and choose one of them according to human criteria. There is nothing so complex in the limitation that could not be doing in the human mind.
As per dependent claim 4, the claim recites the limitation of:
“generating a set of workload samples and a set of dataset variations;” A human can mentally create a set of phrases and use them to form a set of paragraphs. There is nothing so complex in the limitation that could not be doing in the human mind.
As per dependent claim 6, the claim recites the limitation of:
“generating a set of random and default queries based on the set of dataset variations.” A human can mentally visualize a request for information based on the provided criteria. There is nothing so complex in the limitation that could not be doing in the human mind.
As per dependent claim 10, the claim recites the limitations of:
“wherein the set of ML models includes: a table scan model that predicts a time it takes to scan each row in a table sequentially, a filter model that predicts a time it takes to filter rows, an index lookup or scan model that predicts a time it takes to lookup or scan rows in a secondary index, a sort model that predicts a time it takes to sort rows, and an index maintenance model that predicts overhead or cost of maintaining the secondary index.” A human can mentally observe data and make forecasts about the observed data. There is nothing so complex in the limitation that could not be doing in the human mind.
As per dependent claim 13, the claim recites the limitation of:
“wherein the set of ML models includes a storage model that predicts a size of a candidate index.” A human can mentally observe data and make forecasts about the observed data. There is nothing so complex in the limitation that could not be doing in the human mind.
As per dependent claim 14, the claim recites the limitation of:
“wherein generating the set of candidate indexes comprises generating the set of candidate indexes based on statistics extracted from query plans generated for queries in a query history.” A human can mentally generate a list of items based on observations of data and filter them to match specific criteria. There is nothing so complex in the limitation that could not be doing in the human mind.
As per dependent claim 15, the claim recites the limitation of:
“wherein generating the set of candidate indexes further comprises generating the set of candidate indexes based on filter columns, sort columns, or used columns in the query history.” A human can mentally generate a list of items based on observations of data and filter them to match specific criteria. There is nothing so complex in the limitation that could not be doing in the human mind.
As per dependent claim 16, the claim recites the limitation of:
“wherein generating the index recommendation further comprises identifying one or more database operations affected by each index in the recommended set of indexes.” A human can analyze data to identify meaningful information. There is nothing so complex in the limitation that could not be doing in the human mind.
As per independent claim 17, the claim recites the limitations of:
“generating a set of workload samples and a set of dataset variations;” A human can mentally create a set of phrases and use them to form a set of paragraphs. There is nothing so complex in the limitation that could not be doing in the human mind.
As per dependent claim 19, the claim recites the limitation of:
“wherein generating the set of workload samples and the set of dataset variations comprises generating a set of random and default queries based on the set of dataset variations.” A human can mentally visualize a request for information based on the provided criteria. There is nothing so complex in the limitation that could not be doing in the human mind.
As per dependent claim 22, the claim recites the limitations of:
“wherein the set of ML models includes: a table scan model that predicts a time it takes to scan each row in a table sequentially, a filter model that predicts a time it takes to filter rows, an index lookup or scan model that predicts a time it takes to lookup or scan rows in a secondary index, a sort model that predicts a time it takes to sort rows, and an index maintenance model that predicts overhead or cost of maintaining the secondary index.” A human can mentally observe data and make forecasts about the observed data. There is nothing so complex in the limitation that could not be doing in the human mind.
As per dependent claim 25, the claim recites the limitation of:
“wherein the set of ML models includes a storage model that predicts a size of a candidate index.” A human can mentally observe data and make forecasts about the observed data. There is nothing so complex in the limitation that could not be doing in the human mind.
Accordingly, claims 1-26 recite at least one abstract idea.
Step 2A, Prong II: Integrated into a Practical Application?
The claims recite the following additional limitations/elements:
As per independent claims 1, 17 and 26, the claims similarly recite the elements of:
The addition element of “input workload using a trained index recommendation model” is a mere element used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
The addition elements of “the input dataset comprises a set of database tables, the input workload comprises a set of database operations to be performed on the set of database tables, generating the index recommendation comprises:” are mere elements used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
The addition element of “applying the trained index recommendation model to the given operation and each given index in the set of candidate indexes to determine a predicted performance benefit of the given index for the given operation;” is a mere element used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
The addition element of “wherein the method is performed by one or more computing devices.” is a mere element used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
As per dependent claim 4, the claim recites the limitation of:
The additional limitation of “gathering query times for the set of workload variations executed on the set of dataset variations to form a training dataset comprising a set of dataset specific features and a set of workload specific features;” is an example of an insignificant extra-solution activity of data gathering, and can be understood as activities incidental to the primary process or product that are merely a nominal or tangential addition to the claim (see MPEP 2106.05(g)).
The additional limitation of “training the index recommendation model using the training dataset.” is a mere element used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
As per dependent claim 5, the claim recites the limitation of:
The additional limitation of “wherein generating the set of workload samples and the set of dataset variations comprises using one or more benchmarks to execute the set of workload samples on the set of dataset variations.” is a mere element used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
As per dependent claim 7, the claim recites the limitation of:
The additional limitations of “wherein the set of dataset specific features comprises: table specific features of a table including one or more of table cardinality, engine type, indication of whether the table is partitioned, indication of whether a primary key is defined, average row length, column specific features including one or more of data type, average length, or generation type, and index and constraint features including one or more of index type, index size, index columns, constraints on tables and columns, or constraint type.” are mere element used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
As per dependent claim 8, the claim recites the limitation of:
The additional limitations of “wherein the set of workload specific features comprises: query specific features including one or more of query type, query execution time, number of occurrences, query text, number of rows examined, affected, or sent per query, lock times, join keys, where clause, used or selected columns, or sort keys, and operator specific features including one or more of table name, filter condition, access type, index used, index columns used, estimate of number of rows, filter percentage, or an indication of whether covering index is used.” are mere elements used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
As per dependent claim 9, the claim recites the limitation of:
The additional element of “wherein the index recommendation model comprises an ensemble of rules and a set of machine learning (ML) models.” is a mere instruction used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
As per dependent claim 10, the claim recites the limitation of:
The additional limitations of “a table scan model; a filter model; scan model; a sort model; and an index maintenance model.” are mere elements used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
As per dependent claim 11, the claim recites the limitation of:
The additional limitations of “wherein: each ML model in the set of ML models is a piecewise linear regression model” are mere elements used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
The additional limitations of “each piecewise linear regression model is trained using a training dataset partition having a corresponding range of numbers of output rows.” are mere instructions used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
As per dependent claim 12, the claim recites the limitation of:
The additional limitations of “wherein each ML model within the set of ML models uses a subset of input features including one or more of the following: table rows, input rows, output rows, average row length in base table, index column size, used column size, sorted column size, primary key column size, secondary index used column size, or an indicator of whether a primary key is defined.” are mere elements used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
As per independent claim 17, the claim recites the limitations of:
The addition limitations of “training an index recommendation model for generating an index recommendation by: training the index recommendation model using the training dataset, wherein the index recommendation model comprises an ensemble of rules and a set of machine learning (ML) models;” are mere instruction used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
As per dependent claim 18, the claim recites the limitation of:
The additional limitations of “wherein generating the set of workload samples and the set of dataset variations comprises using one or more benchmarks to execute the set of workload samples on the set of dataset variations.” are mere elements used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
As per dependent claim 20, the claim recites the limitation of:
The additional limitations of “wherein the set of dataset specific features comprises: table specific features of a table including one or more of table cardinality, engine type, indication of whether the table is partitioned, indication of whether a primary key is defined, average row length, column specific features including one or more of data type, average length, or generation type, and index and constraint features including one or more of index type, index size, index columns, constraints on tables and columns, or constraint type.” are mere element used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
As per dependent claim 21, the claim recites the limitation of:
The additional limitations of “wherein the set of workload specific features comprises: query specific features including one or more of query type, query execution time, number of occurrences, query text, number of rows examined, affected, or sent per query, lock times, join keys, where clause, used or selected columns, or sort keys, and operator specific features including one or more of table name, filter condition, access type, index used, index columns used, estimate of number of rows, filter percentage, or an indication of whether covering index is used.” are mere elements used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
As per dependent claim 22, the claim recites the limitation of:
The additional limitations of “a table scan model; a filter model; scan model; a sort model; and an index maintenance model.” are mere elements used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
As per dependent claim 23, the claim recites the limitation of:
The additional limitations of “wherein: each ML model in the set of ML models is a piecewise linear regression model” are mere elements used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
The additional limitations of “each piecewise linear regression model is trained using a training dataset partition having a corresponding range of numbers of output rows.” are mere instructions used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
As per dependent claim 24, the claim recites the limitation of:
The additional limitations of “wherein each ML model within the set of ML models uses a subset of input features including one or more of the following: table rows, input rows, output rows, average row length in base table, index column size, used column size, sorted column size, primary key column size, secondary index used column size, or an indicator of whether a primary key is defined.” are mere elements used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
As per independent claim 26, the claim recites the limitations/elements of:
The addition limitations/elements of “one or more non-transitory storage media” are a mere instruction used to apply an exception. A recitation of the words "apply it" (or an equivalent) are mere elements to implement an abstract idea or other exception on a computer. (See MPEP 2106.05(f)).
Therefore, claims 1-26 do not integrate the recited abstract ideas into a practical application.
Step 2B: Claim provides an Inventive Concept?
With respect to the limitations identified as insignificant extra-solution activity above the conclusions are carried over, and both the “gathering …” are well-understood, routine, and conventional operations.
For support as being well-understood, routine, and conventional for “gathering …” as noted by the courts is well understood routine and conventional, see MPEP 2106.05(d)(ii) “i. Receiving or transmitting data over a network, e.g., using the Internet to gather data, Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information); … buySAFE, Inc. v. Google, Inc., 765 F.3d 1350, 1355, 112 USPQ2d 1093, 1096 (Fed. Cir. 2014) (computer receives and sends information over a network);” and/or MPEP 2106.05(d)(ii) “iv. Storing and retrieving information in memory, Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015); OIP Techs., 788 F.3d at 1363, 115 USPQ2d at 1092-93;”, and/or MPEP 2106.05(d)(II) “iii. Ultramercial, 772 F.3d at 716, 112 USPQ2d at 1755 (updating an activity log);”.
Looking at the limitations in combination and the claim as a whole does not change this conclusion and the claim is ineligible.
Therefore, the claims 1-26 are not patent eligible.
Claim Rejections - 35 USC § 103
5. In the event the determination of the status of the application as subject to AIA 35 U.S.C. § 102 and § 103 (or as subject to pre-AIA 35 U.S.C. § 102 and § 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. § 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section § 102 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under pre-AIA 35 U.S.C. § 103(a) are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
6. Claims 1-6, 8-9, 14-19, 21 and 26 are rejected under 35 U.S.C. § 103 as being unpatentable over Siddiqui et al. (US 20230385261 A1) in view of Jovanovic et al. (US 20160378822 A1).
As per claim 1, Siddiqui teaches a method (i.e. “a method”; para. [0008]) comprising:
generating an index recommendation (i.e. “determine a recommended index”; para. [0045]; Examiner note: using a BRI the generating is interpreted as the determine)
for an input dataset and input workload (i.e. “receiving a plurality of different workloads and a plurality of different databases”; para. [0008]. Further, i.e. “receive as input a workload W and predefined constraints”; para. [0043]; Examiner note: using a BRI the input dataset is interpreted as the plurality of different databases)
using a trained index recommendation model (i.e. “filtering the syntactically relevant indexes using an index filter model, the index filter model being a workload-agnostic filtering model trained to identify”; para. [0010]. Further, i.e. “the present disclosure include trained machine learning models which are utilized to filter spurious indexes and estimate costs to reduce the number of optimize calls required to determine a recommended index configuration”; para. [0053]; Examiner note: using a BRI the trained index recommendation model is interpreted as the index filter model being a workload-agnostic filtering model trained), wherein:
the input dataset comprises a set of database tables (i.e. “Database 102 comprises a set of tables of data”; para. [0041]),
the input workload comprises a set of database operations to be performed on the set of database tables (i.e. “workload W is a set of queries (e.g., SQL statements) to be executed against database”; para. [0043]; Examiner note: using a BRI the set of database operations to be performed on the set of database tables is interpreted as the a set of queries (e.g., SQL statements) to be executed against database),
generating the index recommendation comprises (i.e. “determine a recommended index”; para. [0045]; Examiner note: using a BRI the generating is interpreted as the determine):
generating a set of candidate indexes based on the input dataset (i.e. “given an input workload, index tuning tools first generate candidate indexes”; para. [0035]);
for each given operation in the set of database operations (i.e. “The query optimizer 110 uses database indexes to determine the optimal execution plan for a given query.”; para. [0042]; Examiner note: using a BRI the operation is interpreted as the execution plan):
applying the trained index recommendation model to the given operation and each given index in the set of candidate indexes to determine a predicted performance benefit of the given index for the given operation (i.e. “Given an original plan for a query and an index, the Index Filter 302 is trained to predict how likely the index will lead to a change in cost of the plan.”; para. [0076]; Examiner note: using a BRI the to determine a predicted performance benefit of the given index for the given operation is interpreted as the to predict how likely the index will lead to a change in cost of the plan);
wherein the method is performed by one or more computing devices (i.e. “computing device, which may be used to provide implementations of the mechanisms described herein;”; fig.12, para. [0032]).
However, it is noted that the prior art of Siddiqui does not explicitly teach “determining a maximum predicted performance benefit and a particular index from the set of candidate indexes corresponding to the maximum predicted performance benefit; determining a total performance benefit for each index in the set of candidate indexes based on the determined maximum predicted performance benefits for the set of database operations and generating a recommended set of indexes based on the total performance benefit for each index in the set of candidate indexes.”
On the other hand, in the same field of endeavor, Jovanovic teaches determining a maximum predicted performance benefit and a particular index from the set of candidate indexes corresponding to the maximum predicted performance benefit (i.e. “estimates how much performance gain may be accomplished if the missing index (a hypothetical index) was provided”; para. [0034]; Examiner note: using a BRI the determining a maximum predicted performance benefit is interpreted as the estimates how much performance gain. The particular index is interpreted as the missing index);
determining a total performance benefit for each index in the set of candidate indexes (i.e. “determine whether or not there has been a significant overall query performance gain as applied to the database collection for those queries that target the newly indexed database entity.”; para. [0061]; Examiner note: using a BRI the total performance is the overall query performance)
based on the determined maximum predicted performance benefits for the set of database operations (i.e. “based on estimated greatest impact on overall query performance on the collection of databases”; para. [0047]; Examiner note: using a BRI the determined maximum predicted performance benefits is interpreted as the estimated greatest impact) and
generating a recommended set of indexes based on the total performance benefit for each index in the set of candidate indexes (i.e. “generate (act 402) a set of one or more recommended indexing tasks. The set of recommended indexing tasks may be based on estimated greatest impact on overall query performance on the collection of databases.”; para. [0047]; Examiner note: using a BRI the based on the total performance benefit is interpreted as the based on estimated greatest impact on overall query performance).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities into Siddiqui that teaches training an index filter for an index tuning system. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to automatically generate index recommendations for database entities, which improves query performance across one or more databases for any queries targeting those newly indexed entities (Jovanovic, para. [0003], [0005]).
As per claim 2, Siddiqui and Jovanovic teach all the limitations as discussed in claim 1 above.
However, it is noted that the prior art of Siddiqui does not explicitly teach “wherein generating the index recommendation further comprises ranking the set of candidate indexes by total performance benefit and selecting the recommended set of indexes from the ranked set of candidate indexes.”
On the other hand, in the same field of endeavor, Jovanovic teaches wherein generating the index recommendation further comprises ranking the set of candidate indexes by total performance benefit (i.e. “the recommended indexing tasks may be ranked on the basis of estimated greatest impact on collective performance on the database collection.”; para. [0050]) and
selecting the recommended set of indexes from the ranked set of candidate indexes (i.e. “select one of the recommended indexing tasks”; para. [0055]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities into Siddiqui that teaches training an index filter for an index tuning system. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to automatically generate index recommendations for database entities, which improves query performance across one or more databases for any queries targeting those newly indexed entities (Jovanovic, para. [0003], [0005]).
As per claim 3, Siddiqui and Jovanovic teach all the limitations as discussed in claim 2 above.
Additionally, Siddiqui teaches wherein generating the index recommendation further comprises selecting the recommended set of indexes from the ranked set of candidate indexes that fit within a storage budget (i.e. “determine a recommended index configuration, i.e., subset of the candidate indexes, for the workload W that is capable of handling the entire workload as well as satisfying any constraints, such as number of indexes and/or storage budget”; para. [0057]; Examiner note: using a BRI the selecting is the determine).
As per claim 4, Siddiqui and Jovanovic teach all the limitations as discussed in claim 1 above.
Additionally, Siddiqui teaches training the index recommendation model (i.e. “training an index filter model”; para. [0008]) by:
generating a set of workload samples and a set of dataset variations (i.e. “receiving a plurality of different workloads and a plurality of different databases”; para. [0008]);
gathering query times for the set of workload variations executed on the set of dataset variations to form a training dataset comprising a set of dataset specific features and a set of workload specific features (i.e. “generate labeled training data by making optimizer calls using the databases and workloads, such as the workloads listed in the table of FIG. 4C which consist of a maximum of 170k query-configuration pairs and their optimizer estimated costs. The training takes less than 5 minutes for a tree-based ensemble models while about 20 minutes for neural network models (only using CPU).”; para. [0075]; Examiner note: using a BRI the form a training dataset is interpreted as the generated labeled training data. The gathering query times is interpreted as the training takes less than 5 minutes for a tree-based ensemble models while about 20 minutes); and
training the index recommendation model using the training dataset (i.e. “the selected indexes in the best plan may be used as training instances in the first iteration for training the Index Cost Models.”; para. [0096]; Examiner note: using a BRI the training the index recommendation model is interpreted as the training the Index Cost Models. The using the training dataset is interpreted as the selected indexes in the best plan may be used as training instances).
As per claim 5, Siddiqui and Jovanovic teach all the limitations as discussed in claim 4 above.
Additionally, Siddiqui teaches wherein generating the set of workload samples and the set of dataset variations comprises using one or more benchmarks to execute the set of workload samples on the set of dataset variations (i.e. “the workload is a TPC-DS workload which is a frequently used benchmark to test database performance.”; fig. 2a, para. [0050]. Further, i.e. “The table of FIG. 4C summarizes the four workloads use in evaluating performance of the models described herein. Two of the workloads are standard benchmarks”; para. [0097]).
As per claim 6, Siddiqui and Jovanovic teach all the limitations as discussed in claim 4 above.
Additionally, Siddiqui teaches wherein generating the set of workload samples and the set of dataset variations comprises generating a set of random and default queries based on the set of dataset variations (i.e. “a query cluster is sampled and a query instance is randomly picked from the sampled cluster”; para. [0189]; Examiner note: using a BRI the set of random and default queries is interpreted as the randomly picked from the sampled cluster).
As per claim 8, Siddiqui and Jovanovic teach all the limitations as discussed in claim 4 above.
Additionally, Siddiqui teaches wherein the set of workload specific features comprises: query specific features including one or more of query type, query execution time, number of occurrences, query text, number of rows examined, affected, or sent per query, lock times, join keys, where clause, used or selected columns, or sort keys (i.e. “the query optimizer 110 is configured to process a query with respect to the available indexes to determine the execution plan for the query having… memory required to execute the query, the amount of time required to execute the query, and/or based on other type of statistical information.”; para. [0042]; Examiner note: using a BRI the query estimation time is interpreted as the amount of time required to execute the query), and
operator specific features including one or more of table name, filter condition, access type, index used, index columns used, estimate of number of rows, filter percentage, or an indication of whether covering index is used (i.e. “If the index satisfies the filtering property (i.e., the index enables the access of one or more tuples by an operator to be skipped), the cost reduction for the operator is also based on the average selectivity (denoted by S) of key columns in the index that are used by the operator.”; para. [0065]; Examiner note: using a BRI the filter condition is filtering property. Using a BRI the index columns used is interpreted as the selectivity (denoted by S) of key columns in the index that are used).
As per claim 9, Siddiqui and Jovanovic teach all the limitations as discussed in claim 1 above.
Additionally, Siddiqui teaches wherein the index recommendation model comprises an ensemble of rules and a set of machine learning (ML) models (i.e. “the present disclosure include trained machine learning models which are utilized to filter spurious indexes and estimate costs to reduce the number of optimize calls required to determine a recommended index configuration... to learn rules on these signals which may be used to identify spurious indexes during tuning”; para. [0053]).
As per claim 14, Siddiqui and Jovanovic teach all the limitations as discussed in claim 1 above.
However, it is noted that the prior art of Siddiqui does not explicitly teach “wherein generating the set of candidate indexes comprises generating the set of candidate indexes based on statistics extracted from query plans generated for queries in a query history.”
On the other hand, in the same field of endeavor, Jovanovic teaches wherein generating the set of candidate indexes comprises generating the set of candidate indexes based on statistics extracted from query plans generated for queries in a query history (i.e. “The index recommendation module 230 is configured to use the historical data gathered by the gathering module to generate (act 402) a set of one or more recommended indexing tasks. The set of recommended indexing tasks may be based on estimated greatest impact on overall query performance on the collection of databases.”; para. [0047]; Examiner note: using a BRI the based on statistics extracted from query plans generated for queries in a query history is interpreted as the use the historical data).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities into Siddiqui that teaches training an index filter for an index tuning system. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to automatically generate index recommendations for database entities, which improves query performance across one or more databases for any queries targeting those newly indexed entities (Jovanovic, para. [0003], [0005]).
As per claim 15, Siddiqui and Jovanovic teach all the limitations as discussed in claim 14 above.
Additionally, Siddiqui teaches wherein generating the set of candidate indexes further comprises generating the set of candidate indexes based on filter columns, sort columns, or used columns in the query history (i.e. “The relevant index generator module 116 then generates syntactically-relevant indexes using the identified indexable columns by applying predefined rules.”; para.[0055]; Examiner note: using a BRI the used columns in the query history is interpreted as the using the identified indexable columns by applying predefined rules).
As per claim 16, Siddiqui and Jovanovic teach all the limitations as discussed in claim 1 above.
However, it is noted that the prior art of Siddiqui does not explicitly teach “wherein generating the index recommendation further comprises identifying one or more database operations affected by each index in the recommended set of indexes.”
On the other hand, in the same field of endeavor, Jovanovic teaches wherein generating the index recommendation further comprises identifying one or more database operations affected by each index in the recommended set of indexes (i.e. “The validation module 260 may, for instance, perform this reversion. In one embodiment, the validation decision may be referred to as an index impact of the created index.”; para. [0061]; Examiner note: using a BRI the identifying one or more database operations affected by each index is interpreted as the index impact of the created index).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities into Siddiqui that teaches training an index filter for an index tuning system. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to automatically generate index recommendations for database entities, which improves query performance across one or more databases for any queries targeting those newly indexed entities (Jovanovic, para. [0003], [0005]).
As per claim 17, Siddiqui teaches a method (i.e. “a method”; para. [0008]) comprising:
training an index recommendation model (i.e. “training an index filter model”; para. [0008])
for generating an index recommendation (i.e. “determine a recommended index”; para. [0045]; Examiner note: using a BRI the generating is interpreted as the determine) by:
generating a set of workload samples and a set of dataset variations (i.e. “receiving a plurality of different workloads and a plurality of different databases”; para. [0008]);
gathering query times for the set of workload variations executed on the set of dataset variations to form a training dataset comprising a set of dataset specific features and a set of workload specific features (i.e. “generate labeled training data by making optimizer calls using the databases and workloads, such as the workloads listed in the table of FIG. 4C which consist of a maximum of 170k query-configuration pairs and their optimizer estimated costs. The training takes less than 5 minutes for a tree-based ensemble models while about 20 minutes for neural network models (only using CPU).”; para. [0075]; Examiner note: using a BRI the form a training dataset is interpreted as the generated labeled training data. The gathering query times is interpreted as the training takes less than 5 minutes for a tree-based ensemble models while about 20 minutes); and
training the index recommendation model using the training dataset (i.e. “the selected indexes in the best plan may be used as training instances in the first iteration for training the Index Cost Models.”; para. [0096]; Examiner note: using a BRI the training the index recommendation model is interpreted as the training the Index Cost Models. The using the training dataset is interpreted as the selected indexes in the best plan may be used as training instances),
wherein the index recommendation model comprises an ensemble of rules and a set of machine learning (ML) models (i.e. “the present disclosure include trained machine learning models which are utilized to filter spurious indexes and estimate costs to reduce the number of optimize calls required to determine a recommended index configuration... to learn rules on these signals which may be used to identify spurious indexes during tuning”; para. [0053]);
generating an index recommendation (i.e. “determine a recommended index”; para. [0045]; Examiner note: using a BRI the generating is interpreted as the determine)
for an input dataset and input workload (i.e. “receiving a plurality of different workloads and a plurality of different databases”; para. [0008]. Further, i.e. “receive as input a workload W and predefined constraints”; para. [0043]; Examiner note: using a BRI the input dataset is interpreted as the a plurality of different databases)
using a trained index recommendation model (i.e. “filtering the syntactically relevant indexes using an index filter model, the index filter model being a workload-agnostic filtering model trained to identify”; para. [0010]. Further, i.e. “the present disclosure include trained machine learning models which are utilized to filter spurious indexes and estimate costs to reduce the number of optimize calls required to determine a recommended index configuration”; para. [0053]; Examiner note: using a BRI the trained index recommendation model is interpreted as the index filter model being a workload-agnostic filtering model trained), wherein:
the input dataset comprises a set of database tables (i.e. “Database 102 comprises a set of tables of data”; para. [0041]),
the input workload comprises a set of database operations to be performed on the set of database tables (i.e. “workload W is a set of queries (e.g., SQL statements) to be executed against database”; para. [0043]; Examiner note: using a BRI the set of database operations to be performed on the set of database tables is interpreted as the a set of queries (e.g., SQL statements) to be executed against database),
generating the index recommendation comprises (i.e. “determine a recommended index”; para. [0045]; Examiner note: using a BRI the generating is interpreted as the determine):
generating a set of candidate indexes based on the input dataset (i.e. “given an input workload, index tuning tools first generate candidate indexes”; para. [0035]);
wherein the method is performed by one or more computing devices (i.e. “computing device, which may be used to provide implementations of the mechanisms described herein;”; fig.12, para. [0032]).
However, it is noted that the prior art of Siddiqui does not explicitly teach “applying the trained index recommendation model to the set of database operations and the set of candidate indexes to determine a recommended set of indexes based on a total performance benefit for each index in the set of candidate indexes.”
On the other hand, in the same field of endeavor, Jovanovic teaches applying the trained index recommendation model to the set of database operations and the set of candidate indexes to determine a recommended set of indexes based on a total performance benefit for each index in the set of candidate indexes (i.e. “generate (act 402) a set of one or more recommended indexing tasks. The set of recommended indexing tasks may be based on estimated greatest impact on overall query performance on the collection of databases.”; para. [0047]; Examiner note: using a BRI the total performance benefit is interpreted as the overall query performance);
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities into Siddiqui that teaches training an index filter for an index tuning system. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to automatically generate index recommendations for database entities, which improves query performance across one or more databases for any queries targeting those newly indexed entities (Jovanovic, para. [0003], [0005]).
As per claim 18, Siddiqui and Jovanovic teach all the limitations as discussed in claim 17 above.
Additionally, Siddiqui teaches wherein generating the set of workload samples and the set of dataset variations comprises using one or more benchmarks to execute the set of workload samples on the set of dataset variations (i.e. “the workload is a TPC-DS workload which is a frequently used benchmark to test database performance.”; fig. 2a, para. [0050]. Further, i.e. “The table of FIG. 4C summarizes the four workloads use in evaluating performance of the models described herein. Two of the workloads are standard benchmarks”; para. [0097]).
As per claim 19, Siddiqui and Jovanovic teach all the limitations as discussed in claim 17 above.
Additionally, Siddiqui teaches wherein generating the set of workload samples and the set of dataset variations comprises generating a set of random and default queries based on the set of dataset variations (i.e. “a query cluster is sampled and a query instance is randomly picked from the sampled cluster”; para. [0189]).
As per claim 21, Siddiqui and Jovanovic teach all the limitations as discussed in claim 17 above.
Additionally, Siddiqui teaches wherein the set of workload specific features comprises: query specific features including one or more of query type, query execution time, number of occurrences, query text, number of rows examined, affected, or sent per query, lock times, join keys, where clause, used or selected columns, or sort keys (i.e. “the query optimizer 110 is configured to process a query with respect to the available indexes to determine the execution plan for the query having… memory required to execute the query, the amount of time required to execute the query, and/or based on other type of statistical information.”; para. [0042]; Examiner note: using a BRI the query estimation time is interpreted as the amount of time required to execute the query), and
operator specific features including one or more of table name, filter condition, access type, index used, index columns used, estimate of number of rows, filter percentage, or an indication of whether covering index is used (i.e. “If the index satisfies the filtering property (i.e., the index enables the access of one or more tuples by an operator to be skipped), the cost reduction for the operator is also based on the average selectivity (denoted by S) of key columns in the index that are used by the operator.”; para. [0065]; Examiner note: using a BRI the filter condition is filtering property).
As per claim 26, Siddiqui teaches one or more non-transitory storage media storing instructions which, when executed by one or more computing devices (i.e. “a non-transitory, tangible machine-readable medium may include, but are not limited to, nonvolatile memory (such as flash memory or read-only memory (ROM)), volatile memory (such as a static random-access memory (RAM) or a dynamic RAM), buffer memory, cache memory, optical storage media, magnetic storage media and devices,”; para. [0132]. Further, i.e. “The memory includes executable instructions that, when executed by the processor”; para. [0009]), cause:
generating an index recommendation (i.e. “determine a recommended index”; para. [0045]; Examiner note: using a BRI the generating is interpreted as the determine)
for an input dataset and input workload (i.e. “receiving a plurality of different workloads and a plurality of different databases”; para. [0008]. Further, i.e. “receive as input a workload W and predefined constraints”; para. [0043]; Examiner note: using a BRI the input dataset is interpreted as the a plurality of different databases)
using a trained index recommendation model (i.e. “filtering the syntactically relevant indexes using an index filter model, the index filter model being a workload-agnostic filtering model trained to identify”; para. [0010]. Further, i.e. “the present disclosure include trained machine learning models which are utilized to filter spurious indexes and estimate costs to reduce the number of optimize calls required to determine a recommended index configuration”; para. [0053]; Examiner note: using a BRI the trained index recommendation model is interpreted as the index filter model being a workload-agnostic filtering model trained), wherein:
the input dataset comprises a set of database tables (i.e. “Database 102 comprises a set of tables of data”; para. [0041]),
the input workload comprises a set of database operations to be performed on the set of database tables (i.e. “workload W is a set of queries (e.g., SQL statements) to be executed against database”; para. [0043]; Examiner note: using a BRI the set of database operations to be performed on the set of database tables is interpreted as the a set of queries (e.g., SQL statements) to be executed against database),
generating the index recommendation comprises (i.e. “determine a recommended index”; para. [0045]; Examiner note: using a BRI the generating is interpreted as the determine):
generating a set of candidate indexes based on the input dataset (i.e. “given an input workload, index tuning tools first generate candidate indexes”; para. [0035]);
for each given operation in the set of database operations (i.e. “The query optimizer 110 uses database indexes to determine the optimal execution plan for a given query.”; para. [0042]; Examiner note: using a BRI the operation is interpreted as the execution plan):
applying the trained index recommendation model to the given operation and each given index in the set of candidate indexes to determine a predicted performance benefit of the given index for the given operation (i.e. “Given an original plan for a query and an index, the Index Filter 302 is trained to predict how likely the index will lead to a change in cost of the plan.”; para. [0076]; Examiner note: using a BRI the to determine a predicted performance benefit of the given index for the given operation is interpreted as the to predict how likely the index will lead to a change in cost of the plan);
However, it is noted that the prior art of Siddiqui does not explicitly teach “determining a maximum predicted performance benefit and a particular index from the set of candidate indexes corresponding to the maximum predicted performance benefit; determining a total performance benefit for each index in the set of candidate indexes based on the determined maximum predicted performance benefits for the set of database operations and generating a recommended set of indexes based on the total performance benefit for each index in the set of candidate indexes.”
On the other hand, in the same field of endeavor, Jovanovic teaches determining a maximum predicted performance benefit and a particular index from the set of candidate indexes corresponding to the maximum predicted performance benefit (i.e. “estimates how much performance gain may be accomplished if the missing index (a hypothetical index) was provided”; para. [0034]; Examiner note: using a BRI the determining a maximum predicted performance benefit is interpreted as the estimates how much performance gain. The particular index is interpreted as the missing index);
determining a total performance benefit for each index in the set of candidate indexes (i.e. “determine whether or not there has been a significant overall query performance gain as applied to the database collection for those queries that target the newly indexed database entity.”; para. [0061]; Examiner note: using a BRI the total performance is the overall query performance)
based on the determined maximum predicted performance benefits for the set of database operations (i.e. “based on estimated greatest impact on overall query performance on the collection of databases”; para. [0047]; Examiner note: using a BRI the determined maximum predicted performance benefits is interpreted as the estimated greatest impact) and
generating a recommended set of indexes based on the total performance benefit for each index in the set of candidate indexes (i.e. “generate (act 402) a set of one or more recommended indexing tasks. The set of recommended indexing tasks may be based on estimated greatest impact on overall query performance on the collection of databases.”; para. [0047]; Examiner note: using a BRI the total performance benefit is interpreted as the overall query performance).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities into Siddiqui that teaches training an index filter for an index tuning system. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to automatically generate index recommendations for database entities, which improves query performance across one or more databases for any queries targeting those newly indexed entities (Jovanovic, para. [0003], [0005]).
7. Claims 7 and 20 are rejected under 35 U.S.C. § 103 as being unpatentable over Siddiqui et al. (US 20230385261 A1) in view of Jovanovic et al. (US 20160378822 A1) in further view of le Mar et al. (US 20170351721 A1).
As per claim 7, Siddiqui and Jovanovic teach all the limitations as discussed in claim 4 above.
However, it is noted that the combination of the prior arts of Siddiqui and Jovanovic do not explicitly teach “wherein the set of dataset specific features comprises: table specific features of a table including one or more of table cardinality, engine type, indication of whether the table is partitioned, indication of whether a primary key is defined, average row length, column specific features including one or more of data type, average length, or generation type, and index and constraint features including one or more of index type, index size, index columns, constraints on tables and columns, or constraint type.”
On the other hand, in the same field of endeavor, le Mar teaches wherein the set of dataset specific features comprises: table specific features of a table including one or more of table cardinality, engine type, indication of whether the table is partitioned, indication of whether a primary key is defined, average row length (i.e. “The execution plan 122 may be analyzed to determine which tables (e.g., the table 116) are affected by the SQL statement 108 and the type of operations being performed on each of the tables. The execution plan may identify a “estimated number of rows” for each table-operation. The estimated number of rows may indicate how many rows are estimated to be affected.”; para.[0030]; Examiner note: using a BRI the table cardinality is interpreted as the determine which tables (e.g., the table 116) are affected by the SQL statement 108 and the type of operations being performed on each of the tables. using a BRI the average row length is interpreted as the estimates number of rows),
column specific features including one or more of data type, average length, or generation type (i.e. “data-type of each column of the index,”; para. [0031]), and
index and constraint features including one or more of index type, index size, index columns, constraints on tables and columns, or constraint type (i.e. “the data-types 312 of each of the columns 308 in each of the indexes 304, the fill factor 314 of each of the indexes 304, an index type 320 ”; para. [0048]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of le Mar that teaches determining a total predicted index fragmentation associated with executing a structured query language statement into the combination of the prior arts of Siddiqui that teaches training an index filter for an index tuning system, and Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to allow various information handling systems to process data with greater efficiency (le Mar, para. [0001]).
As per claim 20, Siddiqui and Jovanovic teach all the limitations as discussed in claim 17 above.
However, it is noted that the combination of the prior arts of Siddiqui and Jovanovic do not explicitly teach “wherein the set of dataset specific features comprises: table specific features of a table including one or more of table cardinality, engine type, indication of whether the table is partitioned, indication of whether a primary key is defined, average row length, column specific features including one or more of data type, average length, or generation type, and index and constraint features including one or more of index type, index size, index columns, constraints on tables and columns, or constraint type.”
On the other hand, in the same field of endeavor, le Mar teaches wherein the set of dataset specific features comprises: table specific features of a table including one or more of table cardinality, engine type, indication of whether the table is partitioned, indication of whether a primary key is defined, average row length (i.e. “The execution plan 122 may be analyzed to determine which tables (e.g., the table 116) are affected by the SQL statement 108 and the type of operations being performed on each of the tables. The execution plan may identify a “estimated number of rows” for each table-operation. The estimated number of rows may indicate how many rows are estimated to be affected.”; para. [0030]; Examiner note: using a BRI the average row length is interpreted as the estimates number of rows),
column specific features including one or more of data type, average length, or generation type (i.e. “data-type of each column of the index,”; para. [0031]), and
index and constraint features including one or more of index type, index size, index columns, constraints on tables and columns, or constraint type (i.e. “the data-types 312 of each of the columns 308 in each of the indexes 304, the fill factor 314 of each of the indexes 304, an index type 320”; para. [0048]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of le Mar that teaches determining a total predicted index fragmentation associated with executing a structured query language statement into the combination of the prior arts of Siddiqui that teaches training an index filter for an index tuning system, and Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to allow various information handling systems to process data with greater efficiency (le Mar, para. [0001]).
8. Claims 10-12 and 22-24 are rejected under 35 U.S.C. § 103 as being unpatentable over Siddiqui et al. (US 20230385261 A1) in view of Jovanovic et al. (US 20160378822 A1) in further view of le Mar et al. (US 20170351721 A1) still in further view of Chi et al. (US 20140214880 A1) still in further view of Li et al. (US 20220284023 A1) still in further view of Lawande et al. (US 20050187917 A1).
As per claim 10, Siddiqui and Jovanovic teach all the limitations as discussed in claim 9 above.
Additionally, Siddiqui teaches a filter model that predicts a time it takes to filter rows (i.e. “the Index Filter 302 is trained to predict how likely the index will lead to a change in cost of the plan”; para. [0076]);
However, it is noted that the combination of the prior arts of Siddiqui and Jovanovic do not explicitly teach “wherein the set of ML models includes: a table scan model that predicts a time it takes to scan each row in a table sequentially; an index lookup or scan model that predicts a time it takes to lookup or scan rows in a secondary index, a sort model that predicts a time it takes to sort rows, and an index maintenance model that predicts overhead or cost of maintaining the secondary index.”
On the other hand, in the same field of endeavor, Chi teaches wherein the set of ML models includes: a table scan model that predicts a time it takes to scan each row in a table sequentially (i.e. “scan operators when accessing a table. One is sequential scan (SS), which directly scans the table, one page after another.”; para. [0035]. Further, i.e. “the execution time of a scan”; para. [0045]));
an index lookup or scan model that predicts a time it takes to lookup or scan rows in a secondary index (i.e. “an index scan with an equality predicate is expected to be much faster than one with a range predicate.”; para. [0038]);
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Chi that teaches predicting query execution time for concurrent and dynamic database workloads into the combination of the prior arts of Siddiqui that teaches training an index filter for an index tuning system, and Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to use machine-learning to improve prediction accuracy because it can develop better analytic models (Chi, para. [0062]).
However, it is noted that the combination of the prior arts of Siddiqui, Jovanovic and Chi do not explicitly teach “a sort model that predicts a time it takes to sort rows, and an index maintenance model that predicts overhead or cost of maintaining the secondary index.”
On the other hand, in the same field of endeavor, Li teaches a sort model that predicts a time it takes to sort rows (i.e. “Model 622-2 will then estimate a number of qualified rows from Table 3 613. The output of model 622-2 will be input in model 623-1, and model 623-1 will estimate a time to sort. In some embodiments, models 619-1 and 623-1 can be the same model”; para. [0105]. Further, i.e. “Any sort model can be used across multiple queries.”; para. [0074]);
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Li that teaches estimate computing cost of database queries into the combination of the prior arts of Siddiqui that teaches training an index filter for an index tuning system, Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities, and Chi that teaches predicting query execution time for concurrent and dynamic database workloads. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to improve estimations because it can improve the overall efficiency of computing systems (Li, para. [0061]).
However, it is noted that the combination of the prior arts of Siddiqui, Jovanovic, Chi and Li do not explicitly teach “an index maintenance model that predicts overhead or cost of maintaining the secondary index.”
On the other hand, in the same field of endeavor, Lawande teaches an index maintenance model that predicts overhead or cost of maintaining the secondary index (i.e. “to calculate index maintenance impact and materialized view refresh costs.”; para. [0013]. Further, i.e. “The method includes a model to determine the impact of index maintenance”; para. [0019]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Lawande that teaches electronic database management into the combination of the prior arts of Siddiqui that teaches training an index filter for an index tuning system, Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities, Chi that teaches predicting query execution time for concurrent and dynamic database workloads, and Li that teaches estimate computing cost of database queries. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to give several different indexes to a table because it can be created to improve query performance (Lawande, para. [0006]).
As per claim 11, Siddiqui, Jovanovic, Chi, Li and Lawande teach all the limitations as discussed in claim 10 above.
However, it is noted that the combination of the prior arts of Siddiqui, Jovanovic, Chi and Lawande do not explicitly teach “wherein: each ML model in the set of ML models is a piecewise linear regression model, and each piecewise linear regression model is trained using a training dataset partition having a corresponding range of numbers of output rows.”
On the other hand, in the same field of endeavor, Li teaches wherein: each ML model in the set of ML models is a piecewise linear regression model (i.e. “estimator 434 may execute machine learning on data from the environment using one or more of the following example techniques:…..logistic regression, ordinary least squares regression (OLSR), linear regression, stepwise regression,”; para. [0085]), and
each piecewise linear regression model is trained using a training dataset partition having a corresponding range of numbers of output rows (i.e. “The output of one query block can be an input into the model of a second query block (e.g., the number of qualified rows output from a scan can be in input to merge model).”; para. [0076]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Li that teaches estimate computing cost of database queries into the combination of the prior arts of Siddiqui that teaches training an index filter for an index tuning system, Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities, Chi that teaches predicting query execution time for concurrent and dynamic database workloads, and Lawande that teaches electronic database management. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to improve estimations because it can improve the overall efficiency of computing systems (Li, para. [0061]).
As per claim 12, Siddiqui, Jovanovic, Chi, Li and Lawande teach all the limitations as discussed in claim 10 above.
However, it is noted that the combination of the prior arts of Siddiqui, Jovanovic, Chi and Lawande do not explicitly teach “wherein each ML model within the set of ML models uses a subset of input features including one or more of the following: table rows, input rows, output rows, average row length in base table, index column size, used column size, sorted column size, primary key column size, secondary index used column size, or an indicator of whether a primary key is defined.”
On the other hand, in the same field of endeavor, Li teaches wherein each ML model within the set of ML models uses a subset of input features including one or more of the following: table rows, input rows, output rows, average row length in base table, index column size, used column size, sorted column size, primary key column size, secondary index used column size, or an indicator of whether a primary key is defined (i.e. “the number of qualified rows output from a scan can be in input to merge model”; para. [0076]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Li that teaches estimate computing cost of database queries into the combination of the prior arts of Siddiqui that teaches training an index filter for an index tuning system, Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities, Chi that teaches predicting query execution time for concurrent and dynamic database workloads, and Lawande that teaches electronic database management. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to improve estimations because it can improve the overall efficiency of computing systems (Li, para. [0061]).
As per claim 22, Siddiqui and Jovanovic teach all the limitations as discussed in claim 17 above.
Additionally, Siddiqui teaches a filter model that predicts a time it takes to filter rows (i.e. “the Index Filter 302 is trained to predict how likely the index will lead to a change in cost of the plan”; para. [0076]);
However, it is noted that the combination of the prior arts of Siddiqui and Jovanovic do not explicitly teach “wherein the set of ML models includes: a table scan model that predicts a time it takes to scan each row in a table sequentially; an index lookup or scan model that predicts a time it takes to lookup or scan rows in a secondary index, a sort model that predicts a time it takes to sort rows, and an index maintenance model that predicts overhead or cost of maintaining the secondary index.”
On the other hand, in the same field of endeavor, Chi teaches wherein the set of ML models includes: a table scan model that predicts a time it takes to scan each row in a table sequentially (i.e. “scan operators when accessing a table. One is sequential scan (SS), which directly scans the table, one page after another.”; para. [0035]. Further, i.e. “the execution time of a scan”; para. [0045]));
an index lookup or scan model that predicts a time it takes to lookup or scan rows in a secondary index (i.e. “an index scan with an equality predicate is expected to be much faster than one with a range predicate.”; para. [0038]);
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Chi that teaches predicting query execution time for concurrent and dynamic database workloads into the combination of the prior arts of Siddiqui that teaches training an index filter for an index tuning system, and Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to use machine-learning to improve prediction accuracy because it can develop better analytic models (Chi, para. [0062]).
However, it is noted that the combination of the prior arts of Siddiqui, Jovanovic and Chi do not explicitly teach “a sort model that predicts a time it takes to sort rows, and an index maintenance model that predicts overhead or cost of maintaining the secondary index.”
On the other hand, in the same field of endeavor, Li teaches a sort model that predicts a time it takes to sort rows (i.e. “Model 622-2 will then estimate a number of qualified rows from Table 3 613. The output of model 622-2 will be input in model 623-1, and model 623-1 will estimate a time to sort. In some embodiments, models 619-1 and 623-1 can be the same model”; para. [0105]. Further, i.e. “Any sort model can be used across multiple queries.”; para. [0074]);
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Li that teaches estimate computing cost of database queries into the combination of the prior arts of Siddiqui that teaches training an index filter for an index tuning system, Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities, and Chi that teaches predicting query execution time for concurrent and dynamic database workloads. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to improve estimations because it can improve the overall efficiency of computing systems (Li, para. [0061]).
However, it is noted that the combination of the prior arts of Siddiqui, Jovanovic, Chi and Li do not explicitly teach “an index maintenance model that predicts overhead or cost of maintaining the secondary index.”
On the other hand, in the same field of endeavor, Lawande teaches an index maintenance model that predicts overhead or cost of maintaining the secondary index (i.e. “to calculate index maintenance impact and materialized view refresh costs.”; para. [0013]. Further, i.e. “The method includes a model to determine the impact of index maintenance”; para. [0019]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Lawande that teaches electronic database management into the combination of the prior arts of Siddiqui that teaches training an index filter for an index tuning system, Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities, Chi that teaches predicting query execution time for concurrent and dynamic database workloads, and Li that teaches estimate computing cost of database queries. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to give several different indexes to a table because it can be created to improve query performance (Lawande, para. [0006]).
As per claim 23, Siddiqui, Jovanovic, Chi, Li and Lawande teach all the limitations as discussed in claim 22 above.
However, it is noted that the combination of the prior arts of Siddiqui, Jovanovic, Chi and Lawande do not explicitly teach “wherein: each ML model in the set of ML models is a piecewise linear regression model, and each piecewise linear regression model is trained using a training dataset partition having a corresponding range of numbers of output rows.”
On the other hand, in the same field of endeavor, Li teaches wherein: each ML model in the set of ML models is a piecewise linear regression model (i.e. “estimator 434 may execute machine learning on data from the environment using one or more of the following example techniques:…..logistic regression, ordinary least squares regression (OLSR), linear regression, stepwise regression,”; para. [0085]), and
each piecewise linear regression model is trained using a training dataset partition having a corresponding range of numbers of output rows (i.e. “The output of one query block can be an input into the model of a second query block (e.g., the number of qualified rows output from a scan can be in input to merge model).”; para. [0076]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Li that teaches estimate computing cost of database queries into the combination of the prior arts of Siddiqui that teaches training an index filter for an index tuning system, Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities, Chi that teaches predicting query execution time for concurrent and dynamic database workloads, and Lawande that teaches electronic database management. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to improve estimations because it can improve the overall efficiency of computing systems (Li, para. [0061]).
As per claim 24, Siddiqui, Jovanovic, Chi, Li and Lawande teach all the limitations as discussed in claim 22 above.
However, it is noted that the combination of the prior arts of Siddiqui, Jovanovic, Chi and Lawande do not explicitly teach “wherein each ML model within the set of ML models uses a subset of input features including one or more of the following: table rows, input rows, output rows, average row length in base table, index column size, used column size, sorted column size, primary key column size, secondary index used column size, or an indicator of whether a primary key is defined.”
On the other hand, in the same field of endeavor, Li teaches wherein each ML model within the set of ML models uses a subset of input features including one or more of the following: table rows, input rows, output rows, average row length in base table, index column size, used column size, sorted column size, primary key column size, secondary index used column size, or an indicator of whether a primary key is defined (i.e. “the number of qualified rows output from a scan can be in input to merge model”; para. [0076]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Li that teaches estimate computing cost of database queries into the combination of the prior arts of Siddiqui that teaches training an index filter for an index tuning system, Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities, Chi that teaches predicting query execution time for concurrent and dynamic database workloads, and Lawande that teaches electronic database management. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to improve estimations because it can improve the overall efficiency of computing systems (Li, para. [0061]).
9. Claims 13 and 25 are rejected under 35 U.S.C. § 103 as being unpatentable over Siddiqui et al. (US 20230385261 A1) in view of Jovanovic et al. (US 20160378822 A1) in further view of le Mar et al. (US 20170351721 A1) still in further view of Chi et al. (US 20140214880 A1) still in further view of Li et al. (US 20220284023 A1) still in further view of Lawande et al. (US 20050187917 A1) still in further view of Bedadala et al. (US 20190250998 A1).
As per claim 13, Siddiqui, Jovanovic, Chi, Li and Lawande teach all the limitations as discussed in claim 10 above.
However, it is noted that the combination of the prior arts of Siddiqui, Jovanovic, Chi, Li and Lawande do not explicitly teach “wherein the set of ML models includes a storage model that predicts a size of a candidate index.”
On the other hand, in the same field of endeavor, Bedadala teaches wherein the set of ML models includes a storage model that predicts a size of a candidate index (i.e. “The data storage ML model resulting from the training process, therefore, may produce predictions ….if an input is provided to the trained data storage ML model indicating that ….has a file size between 10 kb and 1.4 mb, and is named “testfile1,” then the trained data storage ML model may produce a prediction with a certain confidence level (e.g., 80%) indicating that the file should be stored in a secondary storage device 108”; para. [0304]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Bedadala that teaches uses machine learning to predict what data to recall from a secondary storage device and/or when to perform the recall into the combination of the prior arts of Siddiqui that teaches training an index filter for an index tuning system, Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities, Chi that teaches predicting query execution time for concurrent and dynamic database workloads, Li that teaches estimate computing cost of database queries, and Lawande that teaches electronic database management. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to increase the amount of memory available for other, more frequently accessed data without significantly degrading the user experience or causing performance issues, as it saves resources (Bedadala, para. [0040]).
As per claim 25, Siddiqui, Jovanovic, Chi, Li and Lawande teach all the limitations as discussed in claim 22 above.
However, it is noted that the combination of the prior arts of Siddiqui, Jovanovic, Chi, Li and Lawande do not explicitly teach “wherein the set of ML models includes a storage model that predicts a size of a candidate index.”
On the other hand, in the same field of endeavor, Bedadala teaches wherein the set of ML models includes a storage model that predicts a size of a candidate index (i.e. “The data storage ML model resulting from the training process, therefore, may produce predictions ….if an input is provided to the trained data storage ML model indicating that ….has a file size between 10 kb and 1.4 mb, and is named “testfile1,” then the trained data storage ML model may produce a prediction with a certain confidence level (e.g., 80%) indicating that the file should be stored in a secondary storage device 108”; para. [0304]).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teachings of Bedadala that teaches uses machine learning to predict what data to recall from a secondary storage device and/or when to perform the recall into the combination of the prior arts of Siddiqui that teaches training an index filter for an index tuning system, Jovanovic that teaches automatically formulates recommendations or suggestions for creating indexes on database entities, Chi that teaches predicting query execution time for concurrent and dynamic database workloads, Li that teaches estimate computing cost of database queries, and Lawande that teaches electronic database management. Additionally, this can optimize processes for potential performance improvements associated with using an index configuration for a given query.
The motivation for doing so would be to increase the amount of memory available for other, more frequently accessed data without significantly degrading the user experience or causing performance issues, as it saves resources (Bedadala, para. [0040]).
Prior Art of Record
10. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Subramanian et al. (US 20260169970 A1), teaches orchestration of index creation in distributed systems.
Oswal et al. (US 20250328445 A1), teaches a machine learning (ML) based index advisor is provided to help optimize database systems for better cost and performance.
Sun et al. (US 20240220465 A1), teaches database information management.
Conclusion
11. Any inquiry concerning this communication or earlier communications from the examiner should be directed to ANTONIO CAIA DO whose telephone number is (469)295-9251. The examiner can normally be reached on Monday - Friday / 06:30 to 16:30.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Ng, Amy can be reached on (571) 270-1698. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/ANTONIO J CAIA DO/
Examiner, Art Unit 2164