DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Amendment
2. The Amendment filed on June 17th 2025 has been entered. Claims 1, 6, 11, 16, 20 and 26 have been amended and claims 5, 15 and 25 have been cancelled. Claims 1 – 4, 6 – 14, 16 – 24 and 26 - 30 are currently pending.
Response to Arguments
Double Patenting
3. Applicant's arguments, see Remarks pp. 8, filed June 17th 2025, with
respect to the rejections of claims 1 - 20 under Double Patenting have been fully
considered.
Applicant respectfully requests the double patenting rejections be held in abeyance until the pending claims are deemed allowable.
Examiner respectfully accepts the request and incorporates by reference the double patenting rejection from the office action dated 03/17/2025.
35 U.S.C. §101
4. Applicant's arguments, see Remarks pp. 9 -12, filed June 17th 2025, with
respect to the rejections of claims 1 – 4, 6 – 14, 16 – 24 and 26 - 30 under 35 U.S.C. §101 have been fully considered but they are not persuasive.
Applicant argues that the claims provide a technological solution of efficient query processing using join elimination based on query properties in a network-based data system for a problem existing exclusively in the computer processing environment of large-scale data storage.
Examiner respectfully disagrees submits that the recitation of an abstract idea upon another abstract idea is still an abstract idea compounded with mere data gathering steps even if recited in a technological environment like query processing in a network-based data storage system.
Next, application argues that the claims amount to “significantly more” i.e. inventive concept in improving query execution in a network-based data system.
Examiner respectfully disagrees and submits that the proffered “inventive concept” is well-known routine and conventional.
35 U.S.C. §103
5. Applicant's arguments, see Remarks pp. 8 - 9, filed June 17th 2025, with
respect to the rejections of claims 1 – 4, 6 – 14, 16 – 24 and 26 - 30 under 35 U.S.C. §103 have been fully considered but they are not persuasive.
Applicant argues that the amendments to the independent claims are not taught by the cited art of record.
Examiner respectfully disagrees and submits the Koo refence teaches a distinct operation in paragraphs [0044], [0048], [0049], [0056], [0058], [0059] for the identification of a redundant partition in a paragraph [0061] by selecting tuples from tables and rewrites the query which is synonymous to propagating a query downstream in paragraph [0061] as taught by applicant’s Specification in paragraphs [0053], [0054] and [0070].
Claim Rejections – 35 U.S.C. §101
6. 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 – 4, 6 – 14, 16 – 24 and 26 - 30 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature , a natural phenomenon or an abstract idea.) without significantly more.
The claims are analyzed for subject matter eligibility using a two-part subject matter eligibility analysis (MPEP 2016).
Independent claim 1 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim recites, “generating a query plan node based on the query, the query plan node comprising query properties;” “generating a join graph representation of a first query plan node including one or more nodes and one or more edges, the one or more nodes representing the at least two tables and the one or more edges representing join relationships between the nodes;” “identifying a redundant partition in the at least two tables involved in one or more joins based on the join graph representation and query properties, comprising: identifying at least one operation in the query properties that produces a distinct output;” “identifying the redundant partition based on propagating the at least one operation downstream;” “removing the redundant partition from the query plan node;” “generating a second query plan node based on the removing of the redundant partition, the second query plan node including a new filtering operation based on the removing of the redundant partition;” These limitations may be properly identified as reciting the abstract idea of a “mental processes.” Mental processes – concepts performed in the human mind (including an observation, evaluation, judgment or opinion) falls within the grouping of abstract ideas, see MPEP 2106.04(a)(2). A tree representing a query plan node can be mentally construed with its attendant properties, next a join graph which may be reduced to a table can be conceptually conceived with nodes and edges and drawn using a pen and paper to be observed in paper form; using a pen and a paper, two tables with data columns can be drawn with identical data elements to be observed in paper form; a select statement with a DISTINCT clause can be used in a data gathering step to produce unique outcomes, distinguished from duplicates or redundant data, after identifying the duplicate or redundant data element a new table can be drawn on paper without that redundant or duplicate data with the new data column having a connection or filter to other data columns to be seen in a rewrite operation on said paper. Thus the aforementioned steps as recited can be reduced in observation using a paper and a pen.
The courts consider a mental process (thinking) that “can be performed in the human mind, or by a human using a pen and paper” to be an abstract idea. CyberSource Corp. v. Retail Decisions, Inc., 654 F.3d 1366, 1372, 99 USPQ2d 1690, 1695 (Fed. Cir. 2011). As the Federal Circuit explained, "methods which can be performed mentally, or which are the equivalent of human mental work, are unpatentable abstract ideas the ‘basic tools of scientific and technological work’ that are open to all.’" 654 F.3d at 1371, 99 USPQ2d at 1694 (citing Gottschalk v. Benson, 409 U.S. 63, 175 USPQ 673 (1972)). See also Mayo Collaborative Servs. v. Prometheus Labs. Inc., 566 U.S. 66, 71, 101 USPQ2d 1961, 1965 ("‘[M]ental processes[] and abstract intellectual concepts are not patentable, as they are the basic tools of scientific and technological work’" (quoting Benson, 409 U.S. at 67, 175 USPQ at 675)); Parker v. Flook, 437 U.S. 584, 589, 198 USPQ 193, 197 (1978) (same).
This judicial exception is not integrated into a practical application because the additional recitation of, “receiving a query referencing at least two tables, with each table of the at least two tables including a plurality of partitions,” “propagating query properties for the at least one operation downstream in the query plan node;”and “executing the second query plan node to generate results for the received query” are insignificant pre and post processing steps of mere data gathering.
Thus the limitations when considered individually and in combination, i.e. observation of an operation in the form of a join graph which may be reduced to a table can be conceptually conceived with nodes and edges and drawn using a pen and paper to be observed in paper form; using a pen and a paper, two tables with data columns can be drawn with identical data elements to be observed in paper form; after identifying the duplicate or redundant data element a new table can be drawn on paper without that redundant or duplicate data with the new data column having a connection or filter to other data columns to be seen on said paper mental processes that can be reduced by a pen and a paper. These additional elements are not sufficient to amount to significantly more than the judicial exception since they amount to simply implementing the abstract idea on generic tables and thus not integrated into a practical solution.
The claim as a whole designs or draws a graph which can be reduced to table using a pen and paper. This is recited at a high level of generality that when considered individually and combination with the observation of an operation in an information element coupled with the evaluation of the presence of the operation to create a representation with a rule are well-known, routine and conventional. Receiving data elements from a query are well-understood, routine, conventional computer functions as recognized by the court decisions such as 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. The courts have further held adding insignificant extra-solution activity to the judicial exception, e.g., mere data gathering in conjunction with a law of nature or abstract idea such as a step of obtaining information about credit card transactions so that the information can be analyzed by an abstract mental process, as discussed in CyberSource v. Retail Decisions, Inc., 654 F.3d 1366, 1375, 99 USPQ2d 1690, 1694 (Fed. Cir. 2011) (see MPEP § 2106.05(g)
These claim limitations, under their broadest reasonable interpretation, covers mental processes. If a claim limitation, under its broadest reasonable interpretation, covers mental processes , then it falls within the “Mental Process” grouping of abstract ideas. Accordingly, the claims recites an abstract idea. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. Thus, the claim is not patent eligible.
Claim 2 is rejected under 35 U.S.C. 101 because the claimed invention is
directed to an abstract idea without significantly more. The claim depends from
independent claim 1 and does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim recites, “unnesting subqueries in the received query.” This additional element of reducing query elements is an activity that can be done mentally and reduced to paper using a pen and a paper. In so doing the amount of data gathered will be change. Such a step is a mere form of data gathering and is not sufficient to amount to significantly more than the judicial exception since they amount to simply implementing the abstract idea on a generic query and thus not integrated into a practical solution.
The additional element storing data in a database when considered singularly and in combination with the aforementioned elements are well-understood, routine, conventional computer functions as recognized by the court decisions such as 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.
These claim limitations, under their broadest reasonable interpretation, covers mental processes. If a claim limitation, under its broadest reasonable interpretation, covers mental processes , then it falls within the “Mental Process” grouping of abstract ideas. Accordingly, the claims recites an abstract idea. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. Thus, the claim is not patent eligible.
Claim 3 is rejected under 35 U.S.C. 101 because the claimed invention is
directed to an abstract idea without significantly more. The claim depends from
independent claim 1 and does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim recites, “wherein generating the join graph representation includes traversing a query tree from a top-level join node.” A query tree under the broadest reasonable interpretation is the steps of processing that will ensure the results are returned to a requestor. These steps can be observed by a review of the steps in a query statement.
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception when considered singularly or in combination because observing a query tree are insignificant extra solution activities. The courts has held that, the additional elements individually, noting that all the computer functions were "‘well-understood, routine, conventional activit[ies]’ previously known to the industry," "purely functional and generic" (573 U.S. at 225-26, 110 USPQ2d at 1984-85);.
These claim limitations, under their broadest reasonable interpretation, covers mental processes. If a claim limitation, under its broadest reasonable interpretation, covers mental processes , then it falls within the “Mental Process” grouping of abstract ideas. Accordingly, the claims recites an abstract idea. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. Thus, the claim is not patent eligible.
Claim 4 is rejected under 35 U.S.C. 101 because the claimed invention is
directed to an abstract idea without significantly more. The claim depends from
independent claim 1 and does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim recites, “identified redundant partition is removed from a Unique-Key (UK) outer join, a primary key (PK)-PK self join, or a PK-Foreign Key (FK) join.” Identifying where a key is removed from is an observation that can be performed in the mind. This step when considered individually and in combination with the aforementioned steps does not integrate the judicial exception into a practical solution. The additional element does not amount to more than the judicial exception when considered individually and in combination for they are specified at a high level of generality.
These claim limitations, under their broadest reasonable interpretation, covers mental processes. If a claim limitation, under its broadest reasonable interpretation, covers mental processes , then it falls within the “Mental Process” grouping of abstract ideas. Accordingly, the claims recites an abstract idea. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. Thus, the claim is not patent eligible.
Claim 6 is rejected under 35 U.S.C. 101 because the claimed invention is
directed to an abstract idea without significantly more. The claim depends from
dependent claim 1 and does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim recites, “wherein the query properties include a subsumption property.” Identifying a property from query properties is an observation or evaluation that can be performed in the mind. An abstract idea upon an abstract idea is an abstract idea. The evaluation made on query properties does not impose a meaningful limit on the abstract idea. Therefore the claimed limitations when considered singularly and in combination are not integrated into a practical solution. The additional element does not amount to more than the judicial exception when considered individually and in combination for they are specified at a high level of generality.
These claim limitations, under their broadest reasonable interpretation, covers mental processes. If a claim limitation, under its broadest reasonable interpretation, covers mental processes , then it falls within the “Mental Process” grouping of abstract ideas. Accordingly, the claims recites an abstract idea. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. Thus, the claim is not patent eligible.
Claim 7 is rejected under 35 U.S.C. 101 because the claimed invention is
directed to an abstract idea without significantly more. The claim depends from
independent claim 1 and does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim recites, “wherein identifying the redundant partition is performed based on data properties.” Identifying a data properties from a table or graph is an observation or evaluation that can be performed in the mind. An abstract idea upon an abstract idea is an abstract idea. The evaluation made on query properties does not impose a meaningful limit on the abstract idea. Therefore the claimed limitations when considered singularly and in combination are not integrated into a practical solution. The additional element does not amount to more than the judicial exception when considered individually and in combination for they are specified at a high level of generality.
These claim limitations, under their broadest reasonable interpretation, covers mental processes. If a claim limitation, under its broadest reasonable interpretation, covers mental processes , then it falls within the “Mental Process” grouping of abstract ideas. Accordingly, the claims recites an abstract idea. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. Thus, the claim is not patent eligible.
Claim 8 is rejected under 35 U.S.C. 101 because the claimed invention is
directed to an abstract idea without significantly more. The claim depends from
independent claim 1 and does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim recites, “identifying the redundant partition is performed based on distinctness properties derived from constant properties.” Identifying distinct properties from constant properties is an observation or evaluation that can be performed in the mind. An abstract idea upon an abstract idea is an abstract idea. The evaluation made on query properties does not impose a meaningful limit on the abstract idea. Therefore the claimed limitations when considered singularly and in combination are not integrated into a practical solution. The additional element does not amount to more than the judicial exception when considered individually and in combination for they are specified at a high level of generality.
These claim limitations, under their broadest reasonable interpretation, covers mental processes. If a claim limitation, under its broadest reasonable interpretation, covers mental processes , then it falls within the “Mental Process” grouping of abstract ideas. Accordingly, the claims recites an abstract idea. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. Thus, the claim is not patent eligible.
Claim 9 is rejected under 35 U.S.C. 101 because the claimed invention is
directed to an abstract idea without significantly more. The claim depends from
independent claim 1 and does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim recites, “wherein identifying the redundant partition is performed based on a configuration properties.” Identifying redundancy or duplicity in a graph as reduced by a table is an observation or evaluation that can be performed in the mind. An abstract idea upon an abstract idea is an abstract idea. The evaluation made on query properties does not impose a meaningful limit on the abstract idea. Therefore the claimed limitations when considered singularly and in combination are not integrated into a practical solution. The additional element does not amount to more than the judicial exception when considered individually and in combination for they are specified at a high level of generality.
These claim limitations, under their broadest reasonable interpretation, covers mental processes. If a claim limitation, under its broadest reasonable interpretation, covers mental processes , then it falls within the “Mental Process” grouping of abstract ideas. Accordingly, the claims recites an abstract idea. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. Thus, the claim is not patent eligible.
Claim 10 is rejected under 35 U.S.C. 101 because the claimed invention is
directed to an abstract idea without significantly more. The claim depends from
independent claim 1 and does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim recites, “wherein the identifying the redundant partition comprises: identifying at least one region in the at least two tables as being non-distinct based on metadata, a region including a set of two or more partitions of the plurality of partitions; comparing metadata of the plurality of partitions in the identified at least one region of the one or more tables; and identifying the redundant partition in the at least two tables involved in one or more joins based on the join graph representation and based on comparing metadata of the plurality of partitions in the at least two tables.” Identifying nondistinctivenes based on metadata; identifying a regions in a graph as reduced by a table; identifying regions in a join and comparing metadata are all observations or evaluations that can be performed in the mind. An abstract idea upon an abstract idea is an abstract idea. The evaluation made on query properties does not impose a meaningful limit on the abstract idea. Therefore the claimed limitations when considered singularly and in combination are not integrated into a practical solution. The additional element does not amount to more than the judicial exception when considered individually and in combination for they are specified at a high level of generality.
These claim limitations, under their broadest reasonable interpretation, covers mental processes. If a claim limitation, under its broadest reasonable interpretation, covers mental processes , then it falls within the “Mental Process” grouping of abstract ideas. Accordingly, the claims recites an abstract idea. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. Thus, the claim is not patent eligible.
Independent claim 11 corresponds to independent claim 1 but for the recitation of, “a machine-storage medium embodying instructions that, when executed by a machine, cause the machine to perform operations ...” These claim limitations, under their broadest reasonable interpretation, covers mental processes but for the recitation of a non-transitory computer-readable recording medium storing instructions that, when executed by one or more processors. That is, other than reciting " A machine-storage medium embodying instructions that, when executed by a machine, cause the machine to perform operations ..," nothing in the claim element precludes the step from practically being performed in the mind. If a claim limitation, under its broadest reasonable interpretation, covers mental processes , then it falls within the “Mental Process” grouping of abstract ideas. Accordingly, the claims recites an abstract idea. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. Thus, the claim is not patent eligible.
Claim 12 depends from independent claim 11 and corresponds to dependent claim 2 and is rejected accordingly.
Claim 13 depends from independent claim 11 and corresponds to dependent claim 3 and is rejected accordingly.
Claim 14 depends from independent claim 11 and corresponds to dependent claim 4 and is rejected accordingly.
Claim 16 depends from independent claim 11 and corresponds to dependent claim 6 and is rejected accordingly.
Claim 17 depends from independent claim 11 and corresponds to dependent claim 7 and is rejected accordingly.
Claim 18 depends from independent claim 11 and corresponds to dependent claim 8 and is rejected accordingly.
Claim 19 depends from independent claim 11 and corresponds to dependent claim 9 and is rejected accordingly.
Claim 20 depends from independent claim 11 and corresponds to dependent claim 10 and is rejected accordingly.
Independent claim 21 corresponds to independent claim 1 but for the recitation of, “A system comprising: at least one hardware processor; and at least one memory storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations ...” These claim limitations, under their broadest reasonable interpretation, covers mental processes but for the recitation of a system comprising: at least one hardware processor; and at least one memory storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations. That is, other than reciting " a system comprising: at least one hardware processor; and at least one memory storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations ..," nothing in the claim element precludes the step from practically being performed in the mind. If a claim limitation, under its broadest reasonable interpretation, covers mental processes , then it falls within the “Mental Process” grouping of abstract ideas. Accordingly, the claims recites an abstract idea. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. Thus, the claim is not patent eligible.
Claim 22 depends from independent claim 21 and corresponds to dependent claim 2 and is rejected accordingly.
Claim 23 depends from independent claim 21 and corresponds to dependent claim 3 and is rejected accordingly.
Claim 24 depends from independent claim 21 and corresponds to dependent claim 4 and is rejected accordingly.
Claim 26 depends from dependent claim 21 and corresponds to dependent claim 6 and is rejected accordingly.
Claim 27 depends from independent claim 21 and corresponds to dependent claim 7 and is rejected accordingly.
Claim 28 depends from independent claim 21 and corresponds to dependent claim 8 and is rejected accordingly.
Claim 29 depends from independent claim 21 and corresponds to dependent claim 9 and is rejected accordingly.
Claim 30 depends from independent claim 21 and corresponds to dependent claim 10 and is rejected accordingly.
Claim Rejections – 35 U.S.C. §103
7. 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, 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.
8. 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 35 U.S.C. 103 are summarized as follows:
a. Determining the scope and contents of the prior art
b. Ascertaining the differences between the prior art and the claims at issue
c. Resolving the level of ordinary skill in the pertinent art
d. Considering objective evidence present in the application indicating
obviousness or nonobviousness
Claims 1, 4, 6 – 11, 14, 16 – 21, 24, and 26 - 30 are rejected under 35 U.S.C. 103 as being unpatentable over Yang et al. (United States Patent Publication Number 2018/0039671),hereinafter Yang in view of Koo et al. (United States Patent Publication Number 2003/0167258 ), hereinafter Koo, incorporating by reference Pirahesh et al., “Extensible/Rule Based Query Rewrite Optimization in Starburst,” IBM Almaden Research Center, 1992, hereinafter Pirahesh.
Regarding claim 1 Yang teaches a method (Fig. 5 method [0036]) comprising: receiving a query referencing at least two tables, (receiving a query request, where the query request includes a query condition, identifiers of two tables used in an association operation, and an association field; [0047], [0053], [0064], [0071]) with each table of the at least two tables including a plurality of partitions; (if the two tables are sharded tables, the apparatus for querying data in cross-shard databases determines respective
sharding rules of the two tables used in the association operation and analyzes, according to whether the two tables used in the association operation are sharded tables and the respective sharding rules of the two tables [0072]) (If the two tables (such as third table and forth table) used in the association operation are both sharded
tables, where the association field includes all sharding fields of the two tables and the association relationship is an equal join, the simplified SQL statement may be sent as a
whole to all shards in which data of third table and forth table may exist.), [0076])
Yang does not fully disclose generating a query plan node based on the query, the query plan node comprising query properties; generating a join graph representation of a first query plan node including one or more nodes and one or more edges, the one or more nodes representing the at least two tables and the one or more edges representing join relationships between the nodes; identifying a redundant partition in the at least two tables involved in one or more joins based on the join graph representation; and query properties, comprising: identifying at least one operation in the query properties that produces a distinct output; propagating query properties for the at least one operation downstream in the query plan node; and identifying the redundant partition based on propagating the at least one operation downstream; removing the redundant partition from the query plan node; generating a second query plan node based on the removing of the redundant partition, the second query plan node including a new filtering operation based on the removing of the redundant partition; and executing the second query plan node to generate results for the received query.
Koo incorporating Pirahesh teaches generating (generating [0043]) a query plan node (Query Graph Model (QGM) [0042]) such as “query plan node” based on the query, (the query [0044]) the query plan node (Query Graph Model (QGM) [0042]) such as “query plan node” comprising query properties; (quantifiers [0044]) such as “query properties” SEE EXAMPLES “DISTINCT”, “>” [0048], [0049], [0056], [0058], [0059]; generating (generating [0043]) a join graph representation (query graph model “QGM” [0042]) of a first query plan node (query plan [0043]) such as “query plan node” including one or more nodes (nodes [0007], [0009]) SEE Pirahesh nodes “q1 and q2” Page 41 and one or more edges, (inter-box edge 38 and 40 [0011], [0012]) SEE Pirahesh inter-box edges Page 41 the one or more nodes (nodes [0007], [0009]) SEE Pirahesh nodes “q1 and q2” Page 41 representing the at least two tables (are associated with base tables INVENTORY and QUOTATIONS [0009], [0011]) SEE Pirahesh base tables inventory and quotations Page 41 and the one or more edges (inter-box edge 38 and 40 [0011], [0012]) SEE Pirahesh inter-box edges Page 41 representing join relationships (The edge 42 between ql 30 and q2 32 specifies the join predicate [0011]) SEE Pirahesh Note that nodes q1 and q2 are connected via an inter-box edge to the head of the inventory and quotations boxes. The edge between ql and q2 specifies the join predicate. Page 41 between the nodes; (nodes [0007], [0009]) SEE Pirahesh nodes “q1 and q2” Page 41 identifying a redundant partition (ABS., identify redundant join) (determining conditions for a redundant join [0062]) in the at least two tables (EXAMPLE query In [0049] of TABLE P, TABLE) (are associated with base tables INVENTORY and QUOTATIONS [0009], [0011]) SEE Pirahesh base tables inventory and quotations Page 41 involved in one or more joins (a join predicate joining first and second quantifiers [0044]) based on (base on [0051]) the join graph representation; (query graph model “QGM” [0042]) and query properties, (quantifiers [0044]) such as “query properties” SEE EXAMPLES “DISTINCT”, “>” [0048], [0049], [0056], [0058], [0059” comprising: identifying at least one operation
(SELECT DISTINCT P.KEY,
P.Cl, P.C2, P.C3
FROM TABLE P, TABLE Q
WHERE P.C2 > 10 AND P.C3 > 10
AND P.Cl - Q.Cl AND Q.C2 > 0 [0049])
in the query properties (quantifiers [0044]) such as “query properties” SEE EXAMPLES “DISTINCT”, “>” [0048], [0049], [0056], [0058], [0059” that produces a distinct output; (values for columns P.KEY, P.C1, P.C2 and P.C3 will be distinct [0048], [0049[) propagating query properties (quantifiers [0044]) such as “query properties” SEE EXAMPLES “DISTINCT”, “>” [0048], [0049], [0056], [0058], [0059” for the at least one operation (SELECT query statement [0048], [0049], [0056], [0058], [0059]) downstream (one more query “rewrites” performed [0061]) such as “propagate downstream” in the query plan node; (Query Graph Model (QGM) [0042]) such as “query plan node” and identifying the redundant partition (The join from the query can be removed to further
optimize the query. That is, the quantifier Q can be removed [0050]) such as “identified as redundant” (redundant join elimination using subsumption to optimize a query [0061]) based on propagating the at least one operation(SELECT query statement [0048], [0049], [0056], [0058], [0059]) downstream (one more query “rewrites” performed [0061]) such as “propagate downstream” removing the redundant partition (ABS., eliminating a redundant join … eliminate the join predicate) (eliminate the join predicate [0033]) SEE Pirahesh eliminate duplicates Page 41 from the query plan node; (query plan [0043]) such as “query plan node” generating (generating [0043]) a second query plan node (preferred query plan [0043]) such as “second query plan node” based on (base on [0051]) the removing of the redundant partition, (eliminating redundant joins [0031]) SEE Pirahesh duplicate elimination Page 41 the second query plan node (preferred query plan [0043]) such as “second query plan node” including a new filtering operation (“AND P.C1 IS NOT NULL” [0056]) based on (base on [0051]) the removing of the redundant partition; (eliminating redundant joins [0031]) SEE Pirahesh duplicate elimination Page 41 and executing (executing [0043]) the second query plan node (preferred query plan [0043]) such as “second query plan node” to generate results (displaying results [0042]) for the received query (received user query [0043])
It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Yang to incorporate the teachings of Koo incorporating Pirahesh whereby generating a query plan node based on the query, the query plan node comprising query properties; generating a join graph representation of a first query plan node including one or more nodes and one or more edges, the one or more nodes representing the at least two tables and the one or more edges representing join relationships between the nodes; identifying a redundant partition in the at least two tables involved in one or more joins based on the join graph representation; and query properties, comprising: identifying at least one operation in the query properties that produces a distinct output; propagating query properties for the at least one operation downstream in the query plan node; and identifying the redundant partition based on propagating the at least one operation downstream; removing the redundant partition from the query plan node; generating a second query plan node based on the removing of the redundant partition, the second query plan node including a new filtering operation based on the removing of the redundant partition; and executing the second query plan node to generate results for the received query. By doing so queries including particular join operations may be optimized using the subsumption technique. Koo incorporating Pirahesh [0044]
Claims 11 and 21 correspond to claim 1 and are rejected accordingly
Regarding claim 4 Yang in view of Koo incorporating Pirahesh the method of claim 1,
Yang does not fully disclose wherein the identified redundant partition is removed from a Unique-Key (UK) outer join, a primary key (PK)-PK self join, or a PK-Foreign Key (FK) join.
Koo incorporating Pirahesh teaches wherein the identified (Fig. 2, (80) Evaluate query to identify join predicate joining sub-expression to itself [0062]) redundant partition (ABS., eliminating a redundant join … eliminate the join predicate) (eliminate the join predicate [0033]) SEE Pirahesh eliminate duplicates Page 4 is removed from a Unique-Key (UK) outer join, (The join predicate condition is evaluated to determine whether the join predicate condition is an equality test between the same quantifier columns of the sub-expression. That is, the join columns must be the same, for example, P.C1=Q.C1 .) [0062]) a primary key (PK)-PK self join, or a PK-Foreign Key (FK) join.
It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Yang to incorporate the teachings of Koo incorporating Pirahesh wherein the identified redundant partition is removed from a Unique-Key (UK) outer join, a primary key (PK)-PK self join, or a PK-Foreign Key (FK) join. By doing so the query may be reformed to remove the join predicate and the references to the quantifier Q (in block 86) if the result
set of Pred(Q) subsumes the result set of Pred(P). Koo incorporating Pirahesh [0063]
Claims 14 and 24 correspond to claim 4 and are rejected accordingly
Regarding claim 6 Yang in view of Koo incorporating Pirahesh the method of claim 1,
Yang does not fully disclose wherein the query properties include a subsumption property.
Koo teaches wherein the query properties(Pred(P) is a set of predicates on table T in the main query block and Pred(Q) is a set of predicates on table T in the sub-query.) [0059] include a subsumption property (At block 82, a determination is made whether a row set producible by predicate set Pred(P) (i.e., a first set of references to the sub-expression) is subsumed by the row set producible by the predicate set Pred(Q) (i.e., a second set of references to the sub-expression), as discussed previously. [0063]
It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Yang to incorporate the teachings of Koo wherein the query properties include a subsumption property. By doing so the query may be reformed to remove the join predicate and the references to the quantifier Q (in block 86) if the result set of Pred(Q) subsumes the result set of Pred(P).) Koo [0063]
Claims 16 and 26 correspond to claim 6 and are rejected accordingly
Regarding claim 7 Yang in view of Koo incorporating Pirahesh the method of claim 1,
Yang does not fully disclose wherein identifying the redundant partition is performed based on data properties.
Koo teaches wherein identifying (Fig. 2, (80) Evaluate query to identify join predicate joining sub-expression to itself [0062]) the redundant partition (ABS., eliminating a redundant join … eliminate the join predicate) (eliminate the join predicate [0033]) SEE Pirahesh eliminate duplicates Page 4 is performed based on data properties. (the set of rows that satisfy the predicates "P. C2> 10 AND P. C3> 10" is a subset of the rows that satisfy the predicate "Q.C2>0", or equivalently for the sub-query case, every outer row must also appear in the sub-query, and thus the sub-query is always true (except when P.Cl value is NULL); [0052])
It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Yang to incorporate the teachings of Koo wherein identifying the redundant partition is performed based on data properties. By doing so the sub-query ( or equivalent join) may be safely removed with the result. Koo [0056]
Claims 17 and 27 correspond to claim 7 and are rejected accordingly
Regarding claim 8 Yang in view of Koo incorporating Pirahesh the method of claim 1,
Yang does not fully disclose wherein identifying the redundant partition is performed based on distinctness properties derived from constant properties.
Koo teaches wherein identifying (Fig. 2, (80) Evaluate query to identify join predicate joining sub-expression to itself [0062]) the redundant partition (ABS., eliminating a redundant join … eliminate the join predicate) (eliminate the join predicate [0033]) SEE Pirahesh eliminate duplicates Page 4 is performed based on distinctness properties (a) eliminating Q neither increases nor decreases the output cardinality of the result set due to the presence of the DISTINCT operator; and [0054]) (Further, the presence of the predicate set Pred(Q) in a query may affect query output cardinality. In order to ensure that the removal of a set of references to the subexpression neither increases nor decreases the output cardinality, in those instances where output cardinality is material, the query may be examined for the presence of the
DISTINCT operator. If maintenance of the output cardinality is material, the query may be reformed to remove a quantifier and, hence, the set of references relative to the
quantifier, only if the DISTINCT operator is present [0065]) SEE example queries in [0049], [0056], [0058], [0059] and [0060] derived from constant properties (The body of every box has an attribute called DISTINCT that has a value of ENFORCE, PRESERVE or
PERMIT.ENFORCE means that the operation must eliminate duplicates in order to enforce head.distinct=TRUE. PRESERVE means that the operation must preserve the
number of duplicates it generates. This could be because head.distinct=FALSE, or because head.distinct=TRUE and no duplicates could exist in the output of the operation even without duplicate elimination. PERMIT means that the operation is permitted to eliminate ( or generate) duplicates arbitrarily. [0014], [0015]) such as “constant properties”
SEE Pirehesh Page 42
if (in a SELECT box (upper box)
a quantifier has type F
AND ranges over a SELECT box (lower box)
AND no other quantifier ranges over lower box
AND
( upper.head.distinct= TRUE
OR
upper.body.distinct= PERMIT
OR
lower.body.distinct!= ENFORCE))
{merge the lower box into the upper box;
if ( lower.body.distinct= ENFORCE
AND upper.body.distinct!= PERMIT)
{upper.body.distinct= ENFORCE;}}
It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Yang to incorporate the teachings of Koo wherein identifying the redundant partition is performed based on distinctness properties derived from constant properties. By doing so In order to
ensure that the removal of a set of references to the subexpression neither increases nor decreases the output cardinality, in those instances where output cardinality is material, the query may be examined for the presence of the DISTINCT operator. Koo [0065]
Claims 18 and 28 correspond to claim 8 and are rejected accordingly
Regarding claim 9 Yang in view of Koo incorporating Pirahesh the method of claim 1,
Yang does not fully disclose wherein identifying the redundant partition is performed based on a configuration properties.
Koo teaches wherein identifying (Fig. 2, (80) Evaluate query to identify join predicate joining sub-expression to itself [0062]) the redundant partition (ABS., eliminating a redundant join … eliminate the join predicate) (eliminate the join predicate [0033]) SEE Pirahesh eliminate duplicates Page 4 is performed based on a configuration properties (The body of every box has an attribute called DISTINCT that has a value of ENFORCE, PRESERVE or PERMIT.ENFORCE means that the operation must eliminate duplicates in order to enforce head.distinct=TRUE) [0014]) SEE Pirehesh The body of every box has an attribute called distinct which
has a value of ENFORCE, PRESERVE or PERMIT. ENFORCE
means that the operation must eliminate duplicates in order to enforce
head.distinct = TRUE. Page 41
It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Yang to incorporate the teachings of Koo wherein identifying the redundant partition is performed based on a configuration properties. By doing so query may be reformed when the row
set determined by query predicates for the first quantifier is subsumed by the row set determined by query predicates for the second quantifier. Koo [0044]
Claims 19 and 29 correspond to claim 9 and are rejected accordingly
Regarding claim 10 Yang in view of Koo incorporating Pirahesh the method of claim 1,
Yang does not fully disclose wherein the identifying the redundant partition comprises: identifying at least one region in the at least two tables as being non-distinct based on metadata, a region including a set of two or more partitions of the plurality of partitions; comparing metadata of the plurality of partitions in the identified at least one region of the one or more tables; and identifying the redundant partition in the at least two tables involved in one or more joins based on the join graph representation and based on comparing metadata of the plurality of partitions in the at least two tables.
Koo teaches wherein the identifying (Fig. 2, (80) Evaluate query to identify join predicate joining sub-expression to itself [0062]) the redundant partition (ABS., eliminating a redundant join … eliminate the join predicate) (eliminate the join predicate [0033]) SEE Pirahesh eliminate duplicates Page 4 comprises: identifying at least one region in the at least two tables (/* DISTPDFR */
if ( in a box with type SELECT, UNION,
INTERSECT or EXCEPT,
body.distinct= PERMIT or ENFORCE)
for (each F quantifier in the body)
quantifier.distinct= PERMIT;}
/* DISTPDTO */
if ( in a box with type SELECT, UNION,
INTERSECT or EXCEPT,
all quantifiers ranging over the box
have quantifier.distinct= PERMIT)
{body.distinct= PERMIT;} Pirahesh at Page 44 incorporated by Koo) as being non-distinct (upper.body.distinct= PERMIT: In this case we may ignore the issue of duplicates by definition. Pirahesh at Page 43 incorporated by Koo) based on metadata, (PERMIT means that the table below may have an arbitrary number of duplicates. Existential and universal quantifiers can always have distinct = PERMIT, since they are insensitive to duplicates. Pirahesh at Page 41 incorporated by Koo) a region including a set of two or more partitions (column partitions as specified by the head specifies output columns partno, descr and suppno, as specified in the select list of the query. Pirahesh at Page 40
incorporated by Koo))of the plurality of partitions; (CREATE VIEW richemps AS
( SELECT DISTINCT empno, salary, workdept
FROM employee
WHERE salary > 50000);
SELECT mgrno FROM department dept
WHERE NOT (EXISTS (
SELECT * FROM richemps rich, project proj
WHERE proj.deptno = rich.workdept
AND rich.workdept = dept.deptno ));
This example returns those managers who have no rich employees
in their department. By applying EorAPDFR and DISTPDTO, we
make the subquery have body.distinct= PERMIT, which results in
the view richemps being merged into the subquery. Pirahesh at Page 44 incorporated by Koo)
comparing metadata of the plurality of partitions (/* DISTPDFR */
if ( in a box with type SELECT, UNION,
INTERSECT or EXCEPT,
body.distinct= PERMIT or ENFORCE)
for (each F quantifier in the body)
quantifier.distinct= PERMIT;}
/* DISTPDTO */
if ( in a box with type SELECT, UNION,
INTERSECT or EXCEPT,
all quantifiers ranging over the box
have quantifier.distinct= PERMIT)
{body.distinct= PERMIT;} Pirahesh at Page 44 incorporated by Koo)) in the identified at least one region of the one or more tables; (example as seen in emp.workdept = dept.deptno. Pirahesh at Page 44 incorporated by Koo)) and identifying the redundant partition in the at least two tables involved in one or more joins (WHERE proj.deptno = rich.workdept AND rich.workdept = dept.deptno )); Pirahesh at Page 44 incorporated by Koo)) based on the join graph representation (Query Graph Model (QGM) Pirahesh at Page 40 incorporated by Koo) and based on comparing metadata (body.distinct= PERMIT; all quantifiers ranging over the box have quantifier.distinct= PERMIT Pirahesh at Page 44 incorporated by Koo)) of the plurality of partitions (workdept partition in emp table; deptno partition in dept table. Pirahesh at Page 44 incorporated by Koo)) in the at least two tables. (employee emp, project proj. Pirahesh at Page 44 incorporated by Koo))
It would have been prima facie obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Yang to incorporate the teachings of Koo wherein the identifying the redundant partition comprises: identifying at least one region in the at least two tables as being non-distinct bas