DETAILED ACTION
This is in response to Request for Continued Examination (RCE) filed on 07/10/2025. Claims 1, 4-7, 9-14, 16-19, and 21 are pending in this Office action. Claims 2, 3, 15, and 20 had been previously cancelled.
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 07/10/2025 has been entered.
Remark
In the response to the final Office action mailed 08/28/2024, claims 1 and 9 have been amended, claim 8 has been cancelled, and no new claim has been added.
The applicant did not address the objection to claim 21. Therefore, the previous claim objection is maintained.
With respect to double patenting rejections, the Applicant stated that “[t] he Applicant will respond to the Examiner's rejection of claims for Double Patenting in due course.” As such, the prior double patenting rejection is maintained.
Response to Arguments
Applicant’s arguments, see pages 10-17 of the Remark, filed 07/10/2025, with respect to 35 USC 103 rejection of claim 1 have been fully considered and are persuasive. The 35 USC 103 rejection of claims 1, 4-7, 9-12, and 21 have been withdrawn.
However, Applicant's argument, see page 18 of the Remark, with respect to independent claims 13 and 18 that Bruno and Graefe do not disclose the limitation of obtaining at least one new logical operator in one or more of equivalent logical structures or equivalent logical trees have been fully considered but they are not persuasive.
When construing claim terminology during prosecution before the Office, claims are to be given the broadest and reasonable interpretation consistent with the Specification, reading language of the claims in light of the Specification as it would be interpreted by one of the ordinary skill in the art. In re Am. Acad. of Sci. Tech Ctr., 367 F.3d 1359, 1364 (Fed. Cir. 2004). The Examiner is mindful, however, that limitations are not to be read into claims from the Specification. In re Van Geuns, 988 F.2d 1181 (Fed. Cir. 1993).
The Examiner contends that Bruno discloses applying rules to groups of operators of the initial logical structures to obtain new group expressions and new execution plans (logical structures) that are different from the initial logical structures and generating one or more new and “unexplored” expression/groups with new logical operators (such as new “Join” and “Get” in different groups in MEMO displayed in Fig. 3) that is not present in the initial logical structures (See Bruno: at least Fig. 3-4, Fig. 7-9, para 35-38, 45-48, 55). Said teachings of Bruno would reads on the limitation of “apply one or more rules to the set of equivalent logical structures in the tree optimization task structure to obtain another set of equivalent logical structures and at least one new logical operator in the tree optimization task structure” recited in claims 13 and 18.
Furthermore, the other second reference, Graefe also discloses the feature of a transformation rule produces equivalent logical expressions, i.e. additional logical expressions (col. 6, lines 13-15) a search data structure denoted as Memo that stores groups of semantically equivalent expressions (col. 4, lines 37-39), Memo is a search tree that is used to store expressions that are analyzed during the search (col. 9, lines 28-30). Said features discloses or at least suggests the limitation of “apply one or more rules to the set of equivalent logical structures in the tree optimization task structure to obtain another set of equivalent logical structures and at least one new logical operator in the tree optimization task structure” recited in claims 13 and 18.
Therefore, the 35 USC 102/103 rejections of claims 13, 14, and 16-19 are maintained.
Claim Objections
Claims 10 and 11 are objected to because of the following informalities: claims 10 and 11 depend on canceled claim 3. Claims 10 and 11 must depend on independent claim 1.
Furthermore, the method claim 21 does not indicate on what precedent method claim (e.g., independent claim 1 or other dependent method claim) depends.
Appropriate corrections are required.
Double Patenting
Claims 1, 4-7, 9-14, 16-19, and 21 are rejected under non-statutory double patenting rejection. See prior non-final Office action for the text of double patenting rejection.
First Art rejection:
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of pre-AIA 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(b) the invention was patented or described in a printed publication in this or a foreign country or in public use or on sale in this country, more than one year prior to the date of application for patent in the United States.
Claims 13, 16, and 18 are rejected under pre-AlA 35 U.S.C. 102(b) as being anticipated by Bruno et al., US 2009/0327254 (Bruno, hereafter).
Regarding claim 13,
Bruno discloses a device, comprising: memory; and one or more processors configured to access the memory, wherein the one or more processors are further configured to:
obtain at least one set of equivalent logical structures in an optimization task structure arranged as a tree optimization task structure for optimization of execution of one or more database queries of a database, wherein the set of equivalent logical structures is representative of multiple logical execution plans for the one or more database queries of the database, wherein each one of the logical structures in the set of equivalent logical structures in the tree optimization task structure represents a distinct one of the logical execution plans for execution of at least a portion of the one or more database queries of the database and includes one or more logical operators each representative of multiple logical operators for the execution of the one or more database queries;
Bruno discloses obtaining a set of equivalent distinct logical execution plans in forms of trees (i.e., logical structures) in a MEMO structure for optimizing execution of queries. The initial set of logical structures could include logical operators (e.g., Join or Get S) wherein the logical operators could represent physical operators. See Bruno: at least Fig. 3, Fig. 7-9, para 28-32, 34 and 45-46.
apply one or more rules to the set of equivalent logical structures in the tree optimization task structure to obtain another set of equivalent logical structures and at least one new logical operator in the tree optimization task structure;
Bruno discloses applying rules to groups of operators of the initial logical structures to obtain new group expressions and new execution plans (logical structures) that are different from the initial logical structures and generating one or more new and “unexplored” expression/groups with new logical operators (such as new “Join” and “Get” in different groups in MEMO displayed in Fig. 3) that is not present in the initial logical structures. See Bruno: at least Fig. 3-4, Fig. 7-9, para 35-38, 45-48, 55.
propagate an optimization request of the one or more database queries
through the tree optimization task structure in a top-down manner, to generate
multiple optimized structures;
Burno discloses cascade-based optimization utilizing top-down traversal. See Bruno: at least Fig. 4-5, Fig. 8, para 27, 38-39, 42, and 45-46.
Determine a set of possible implementation plans for the obtained total
number of the logical operators in the tree optimization task structure;
Burno discloses determining candidate plans for the all operator of the tree. For example “[t]he MEMO data structure in Cascade (or equivalents) compactly represents the search space of possible execution plans.” That represents the all the oprators. [see para 30 and Fig. 3]. Also see Bruno: at least Fig. 3, Fig. 5, Fig. 8, para 27-28, 30, 35-42, 53, 60, and 73.
eliminate a number of possible implementation plans in the tree optimization task structure to obtain one or more plausible implementation plans in the tree optimization task structure respectively represented as one or more plausible structures in the tree optimization task structure;
Burno discloses discarding/eliminating the candidates plans that are not optimal (i.e., the cost is too high) in order to determine the more optimized (i.e. more plausible) execution plans and identifying the most efficient and best candidate plans. See Bruno: at least Fig. 5, Fig. 8, para 35-42, 53, 60, and 73.
select one of the one or more plausible implementation plans the optimized structures as an optimal physical plan for executing the one or more database queries of the database.
Burno discloses selecting the best execution plans among the candidate plans.
See Bruno: at least Fig. 5, Fig. 8-10, para 41-42, 52, 89, and 93-95.
Regarding claim 16,
Bruno discloses for each one of the plausible implementation plans in the tree optimization task structure, propagating an optimization request of the one or more database queries through its plausible structure in the tree optimization task structure in a top-down manner, recursively for each child of physical operators, wherein only new contexts are optimized in order to generate an optimized structure, to generate an optimized structure that includes one or more physical operates for executing the one or more database queries (See Bruno: at least Fig. 5, Fig. 8, para 27, 35-38, 41, 78, and 95, cascade-based optimization utilizing top-down manner and recursive function to calculate and generate optimal plans).
Regarding claim 18,
the scope of the claim is substantially the same as claim 13 and is rejected on the same basis as set forth for the rejection of claim 13.
Claim Rejections - 35 USC § 103
The following is a quotation of pre-AIA 35 U.S.C. 103(a) which forms the basis for all obviousness rejections set forth in this Office action:
(a) A patent may not be obtained though the invention is not identically disclosed or described as set forth in section 102, if the differences between the subject matter sought to be patented and the prior art are such that the subject matter as a whole would have been obvious at the time the invention was made to a person having ordinary skill in the art to which said subject matter pertains. Patentability shall not be negatived by the manner in which the invention was made.
Claims 14 and 19 are rejected under pre-AIA 35 U.S.C. 103(a) as being unpatentable over Bruno et al., US 2009/0327254 in view of Waas et al., US 8,417,689
(Waas, hereafter).
Regarding claims 14 and 19,
Although, Burno discloses interactively generating new expression groups for an execution plan that includes new logical operators, for example see groups in MEMO displayed in Fig. 3 having different new logical operators of “Joins” and “Get”, Burno does not explicitly teach repeating the applying of the one or more rules to the set of equivalent logical structures in the tree optimization task structure to the other obtained set of equivalent logical structures in the tree optimization task structure until no additional new logical operators can be obtained in the tree optimization task structure, thereby obtaining a total number of logical operators.
On the other hand, Waas discloses transforming the logical operators to generate new “logical alternatives based on a set of rules. Waas further discloses that “[i]n some embodiments there are over 300 transformations in the set of rules” implying that generating of new logical operators repeatedly until all possible logical operators are obtained and thereby a total number of logical operators are obtained. See Waas: at least col., 6, lines 51-57 and Fig. 3-4.
Therefore, it would have been obvious to one of ordinary skill in the art at the invention was made to modify the teachings of Bruno with Waas’s teaching in order to implement above function. The motivation for doing so would have been to improve determining of the most optimal and efficient execution plan through exploring all possible transformation of logical operators.
Claim 17 is rejected under pre-AIA 35 U.S.C. 103(a) as being unpatentable over
Bruno et al., US 2009/0327254 in view of Galindo-Legaria et al., US 6,721,724 (Galindo, hereafter).
Although, Bruno discloses one more logical structures, Bruno does not explicitly teach assigning a priority and/or a status to one or more of the logical structures.
On the other hand, Galindo discloses assigning ranks to logical operators (See Galindo: at least Fig. 5, col. 2, lines 47-55, and col. 7, lines 7-11). Bruno and Galindo are from the same field of endeavor of query execution. Therefore, it would have been obvious to one of ordinary skill in the art at the time the invention was made to modify the teachings of Bruno with Galindo’s teaching in order to assigning a priority to one or more of the logical structures, with reasonable expectation of success. The motivation for doing so would have been to generate efficient execution plans by ranking logical trees.
Second Art rejection:
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of pre-AIA 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(b) the invention was patented or described in a printed publication in this or a foreign country or in public use or on sale in this country, more than one year prior to the date of application for patent in the United States.
Claims 13, 16, and 18 are rejected under pre-AlA 35 U.S.C. 102(b) as being anticipated by Graefe et al., U.S. Patent 5,822,747 (hereinafter referred to as Graefe).
egarding claim 13,
Graefe discloses a device, comprising: memory; and one or more
processors configured to access the memory, wherein the one or more processors are further configured to:
obtain at least one set of equivalent logical structures in an optimization task structure arranged as a tree optimization task structure for optimization of execution of one or more database queries of a database, [Graefe, a database query is represented as a query tree containing one or more expressions (col. 2, lines 15-16), a search data structure is used to store the expressions generated during the search process (col. 2, lines 56), a search data structure denoted as Memo that stores groups of semantically equivalent expressions (col. 4, lines 37-39), Memo is a search tree that is used to store expressions that are analyzed during the search (col. 9, lines 28-30)], wherein the set of equivalent logical structures is representative of multiple logical execution plans for the one or more database queries of the database, wherein each one of the logical structures in the set of equivalent logical structures in the tree optimization task structure represents a distinct one of the logical execution plans for execution of at least a portion of the one or more database queries of the database and includes one or more logical operators each representative of multiple logical operators for the execution of the one or more database queries [Graefe, a system for optimizing SQL database queries (col. 2, lines 6-7), Memo consists of one or more groups with each group containing an array of pointers to one or more logical expressions and an array of pointers to physical expressions and an array of pointers to one or more contexts and a pattern memory, Figs. 3A-3D (col. 9, lines 37-51), logical expressions contain logical operators and physical expressions contain physical operators, i.e. logical operator = join and physical operators for join = hashjoin and mergejoin (col. 5, lines 31-49), implementation rule transforms a logical expression into a semantically equivalent physical expression by substituting one or more logical operators with physical operators, i.e. join may be implemented by mergejoin (col. 6, lines 16-22), an operator may be implemented using several alternative methods (col. 7, lines 30-31)];
applying one or more rules to the set of equivalent logical structures to obtain another set of equivalent logical structures and at least one new logical operator in the tree optimization task structure [Graefe, a transformation rule produces equivalent logical expressions, i.e. additional logical expressions (col. 6, lines 13-15) a search data structure denoted as Memo that stores groups of semantically equivalent expressions (col. 4, lines 37-39), Memo is a search tree that is used to store expressions that are analyzed during the search (col. 9, lines 28-30)];
propagating an optimization request of the execution of the one or more database queries through the obtained other set of equivalent logical structures in the tree optimization task structure, in a top-down manner, to generate multiple optimized structures, [Graefe, a transformation rule produces equivalent logical expressions, i.e. additional logical expressions (col. 6, lines 13-15) implementation rule transforms a logical expression into a semantically equivalent physical expression by substituting one or more logical operators with physical operators, i.e. join may be implemented by mergejoin (col. 6, lines 16-22), a transformation rule produces equivalent logical expressions, i.e. additional logical expressions (col. 6, lines 13-15) a search data structure denoted as Memo that stores groups of semantically equivalent expressions (col. 4, lines 37-39), Memo is a search tree that is used to store expressions that are analyzed during the search, i.e. top-down (col. 9, lines 28-30), an optimal plan meets the required physical properties by walking the list of contexts for the group (Appendix 1)];
determine a set of possible implementation plans for the total number of the obtained logical operators in the tree of optimization structure [Graefe, an expression tree consists of one or more nodes having one or more physical expressions which may represent a query logically, see Fig. 15A (col. 5, lines 50-61), implementation rules, the repeated application results in a plan that consists of physical expressions (col. 6, lines 16-22), the optimizer may generate a plurality of solutions by iterating through a subset of rules on a first pass and adding additional rules for a second pass, a best implementation plan is selected (col. 12, lines 44-54)];
eliminate a number of possible implementation plans to obtain one or more plausible implementation plans respectively represented as one or more plausible structures in the tree of optimization structure [Graefe, a number of feasible solutions are generated from which an optimal solution is selected (col. 10, lines 48-57)];
select one of the one or more plausible implementation plans one of the optimized structures as an optimal physical plan for executing the database query [Graefe, a number of feasible solutions are generated from which an optimal solution is selected (col. 10, lines 48-57)].
Regarding claim 16,
Graefe discloses for each of the plausible implementation plans in the tree optimization task structure, propagating an optimization request of the database query through its plausible structure in a top-down manner, recursively for each child of physical operators, wherein only new contexts are optimized in order to generate an optimized structure, to generate an optimized structure that includes one or more physical operates for executing the one or more database queries [Graefe, a transformation rule produces equivalent logical expressions, i.e. additional logical expressions (col. 6, lines 13-15) implementation rule transforms a logical expression into a semantically Application/Control Number: 14/206,045 Page 19 Art Unit: 2161 equivalent physical expression by substituting one or more logical operators with physical operators, i.e. join may be implemented by mergejoin (col. 6, lines 16-22), a transformation rule produces equivalent logical expressions, i.e. additional logical expressions (col. 6, lines 13-15) a search data structure denoted as Memo that stores groups of semantically equivalent expressions (col. 4, lines 37-39), Memo is a search tree that is used to store expressions that are analyzed during the search, i.e. top-down (col. 9, lines 28-30), an optimal plan meets the required physical properties by walking the list of contexts for the group (Appendix 1)].
Regarding claim 18,
the scope of the claim is substantially the same as claim 13 and is rejected on the same basis as set forth for the rejection of claim 13.
Claim Rejections - 35 USC § 103
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:
The following is a quotation of pre-AIA 35 U.S.C. 103(a) which forms the basis for all obviousness rejections set forth in this Office action:
(a) A patent may not be obtained though the invention is not identically disclosed or described as set forth in section 102, if the differences between the subject matter sought to be patented and the prior art are such that the subject matter as a whole would have been obvious at the time the invention was made to a person having ordinary skill in the art to which said subject matter pertains. Patentability shall not be negatived by the manner in which the invention was made.
Claims 14 and 19 are rejected under pre-AIA 35 U.S.C. 103(a) as being unpatentable over Graefe et al., U.S. Patent 5,822,747 in view of in view of Waas et al., US 8,417,689 (Waas, hereafter).
Regarding claims 14 and 19,
Although, Graefe discloses logical operators, Burno does not explicitly teach repeating the applying of the one or more rules to the set of equivalent logical structures in the tree optimization task structure to the other obtained set of equivalent logical structures in the tree optimization task structure until no additional new logical operators can be obtained in the tree optimization task structure, thereby obtaining a total number of logical operators.
On the other hand, Waas discloses transforming the logical operators to generate new “logical alternatives based on a set of rules. Waas further discloses that “[i]n some embodiments there are over 300 transformations in the set of rules” implying that generating of new logical operators repeatedly until all possible logical operators are obtained and thereby a total number of logical operators are obtained. See Waas: at least col., 6, lines 51-57 and Fig. 3-4.
Therefore, it would have been obvious to one of ordinary skill in the art at the invention was made to modify the teachings of Graefe with Waas’s teaching in order to implement above function. The motivation for doing so would have been to improve determining of the most optimal and efficient execution plan through exploring all possible transformation of logical operators.
Claim 17 is rejected under pre-AIA 35 U.S.C. 103(a) as being unpatentable over Graefe et al., U.S. Patent 5,822,747 in view of Galindo-Legaria et al., US 6,721,724.
Although, Graefe discloses one more logical structure, Graefe does not explicitly teach assigning a priority and/or a status to one or more of the logical structures.
On the other hand, Galindo discloses assigning ranks to logical operators (See Galindo: at least Fig. 5, col. 2, lines 47-55, and col. 7, lines 7-11). Bruno and Galindo are from the same field of endeavor of query execution. Therefore, it would have been obvious to one of ordinary skill in the art at the time the invention was made to modify the teachings of Graefe with Galindo’s teaching in order to assigning a priority to one or more of the logical structures, with reasonable expectation of success. The motivation for doing so would have been to generate efficient execution plans by ranking logical trees.
Allowable Subject Matter
Claims 1, 4-7, 9, and 12 would be allowable if overcome the rejection(s) under double patenting rejection, set forth in this Office action.
The dependent claims 10, 11, and 21 would be allowable if corrected to overcome the claim objections and overcome the rejection(s) under double patenting rejection set forth in this Office action.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Fraser et al., US 2014/0280035 disclosing a metho to generate an execution plan by generating one or more initial logical representations of the query, performing an exploration process around each of the one or more initial logical representations of the query, the performing of the exploration process around a particular initial logical representation of the query comprising applying transformation rules to generate one or more additional logical representations of the query that are logically equivalent to the particular initial logical representation of the query and that are within a maximum allowable transformation distance of the particular initial logical representation of the query, generating one or more execution plans for each initial logical representation of the query and each additional logical representation of the query, and selecting an execution plan from among the generated execution plans.
Siddiqui et al., US 2011/0055199 disclosing a method for join order optimization including receiving a query having a plurality of join operators, including at least one multi-way join between relational operators in the query tree. The join operators include at least one outer-join and/or semi-join. The multi-way-join is transformed to a multi-join operator with a plurality of join back bone children representing the relational operators. The dependencies that occur between the join back bone children are tracked. Join order validity is evaluated based on the tracked dependencies. One or more multi-join rules are applied to the multi-join operator sufficient to generate at least one join subtree when at least one join subtree is determined to have a valid join order.
Points of Contact
Any inquiry concerning this communication or earlier communications from the examiner should be directed to HARES JAMI whose telephone number is (571)270-1291. The examiner can normally be reached M-F 9:00a-5:00p.
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, Amy Ng 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 published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Hares Jami/ Primary Examiner, Art Unit 2162
05/26/2026