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 .
Detailed Action
In amendments dated 3/26/26, Applicant amended claims 1-2 and 15-16, canceled claim 5, and added no new claims. Claims 1-4, 6-7, 9-18, 20-22, and 26-30 are presented for examination.
Rejections under 35 U.S.C. 101
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-7, 9-18, 20-22, and 26-30 are rejected under 35 U.S.C. 101 because the claimed invention is directed to mental processes without significantly more. Independent claims 1 and 15 each recites detecting similarity of i) in a first statement plan for a data query language (DQL) statement, a first subplan that comprises multiple operators and ii) a third subplan in a second statement plan for a second DQL statement; generating based on the first subplan and the third subplan, in response to said detecting, for an instruction set architecture (ISA) of a processor core, an instruction sequence that can execute the first subplan and the third subplan; and executing after said generating, without interpreting the first subplan, the DQL statement by: invoking the instruction sequence to execute the first subplan in the statement plan, and interpreting, without generating logic, a second subplan in the statement plan; wherein the method is performed by one or more computers. Detecting similarity between statement plans is evaluating and a mental process. Generating an instruction sequence is generating data and a mental process accomplishable in the human mind or on paper, and executing a database statement by invoking the instruction sequence and interpreting a subplan both use a generic computer as a tool and are thus also mental processes accomplishable in the human mind or on paper. These claims do not recite any additional elements. Claim 1 recites the method is performed by one or more computers and claim 15 recites one or more non-transitory computer-readable media, which are each generic components of a computer. Specification paragraph 0003 states CPU “time consumption has become a primary bottleneck to improving database performance” and discusses compiling an SQL plan into native machine code. Paragraph 0004 discusses the costs of natively compiling a query and thus OLTP systems avoid it while OLAP systems have greater performance improvements with optimizing compilers for queries than the costs of natively compiling those queries, so to apply native compilation beyond OLAP systems, there is a need to decrease costs such as with pre-compilation or increase the benefits. Paragraph 0005 says “the state of the art has yet to explore compiling and reusing common portions of query plans” and “the state of the art does not maximize workload acceleration, which cannot be achieved by compiling whole queries.” Paragraph 0018 describes techniques for natively compiling portions of query plans to improve performance and discusses “an algorithm to find the best portions of query plans to compile” and “this algorithm selects portions of query plans to compile when either (1) an expensive query plan can benefit the most from general purpose compiler optimizations or (2) the machine code can be reused multiple times.” Paragraphs 0019-0024 discuss embodiments that use algorithms that “1) using unification theory to find common subplans in query plans, 2) developing a model for the performance benefit of natively compiling subplans, and 3) designing algorithms for picking the best subplans that maximize performance benefit when natively compiled.” These claims do not recite each of these steps, plus the claim steps do not recite a particular improvement in any technology or function of a computer per MPEP 2106.04(d) and do not recite any unconventional steps in the invention per MPEP 2106.05(a). Therefore, the recited mental processes are not integrated into a practical application. Taking the claims as a whole, the generating, invoking, and interpreting steps are each recited highly generally and merely use a computer as a tool. Thus the claims do not include additional elements that are sufficient to amount to significantly more than the cited mental processes.
Independent claims 7 and 18 each recites generating a first cluster subplan that represents the first subtree of the first statement plan tree and the second subtree of the second statement plan tree; and generating a second cluster subplan that represents the third subtree of the third statement plan tree and the first cluster subplan, wherein the second cluster subplan comprises multiple operators; and generating cluster subplans are recited broadly and are mental processes accomplishable in the human mind or on paper. Each claim also recites calculating: a first estimated acceleration provided by the second cluster subplan and a second estimated acceleration provided by a third cluster subplan that represents the fourth subtree of the fourth statement plan tree and the first cluster subplan; and compiling, for an instruction set architecture (ISA) of a processor core, the second cluster subplan in response to the first estimated acceleration exceeding the second estimated acceleration. Calculating accelerations are recited broadly and are mental processes accomplishable in the human mind or on paper, and compiling a subplan is recited broadly and is also a mental process accomplishable in the human mind or on paper. Each of these claims recites additional elements of receiving a plurality of statement plan trees, wherein: a) each statement plan tree of the plurality of statement plan trees represents a distinct database statement, b) each statement plan tree of the plurality of statement plan trees contains a distinct plurality of tree nodes, c) the plurality of statement plan trees contains: a first statement plan tree that contains a first subtree, a second statement plan tree that contains a second subtree, a third statement plan tree that contains a third subtree, and a fourth statement plan tree that contains a fourth subtree, and d) the first statement plan tree represents a first DQL statement, which is an input/data gathering step and insignificant extra-solution activity; and executing the first database statement based on the second cluster subplan, which is an output step and insignificant extra-solution activity. Claim 7 recites wherein the method is performed by one or more computers and claim 18 recites one or more non-transitory computer-readable media, which are each generic components of a computer. Examiner notes the specification paragraphs 0004-0005 and 0018-0024 cited above that describe the problems in the art and how the invention addresses said problems. These claims do not recite each of these steps, plus the claim steps do not recite a particular improvement in any technology or function of a computer per MPEP 2106.04(d) and do not recite any unconventional steps in the invention per MPEP 2106.05(a). Therefore, the recited mental processes are not integrated into a practical application. Taking the claim limitations as whole, receiving a plurality of statement plan trees is recited broadly and amounts to receiving data across a network per specification paragraphs 0159 and 0171-0173 and figure 9 920, which is routine and conventional activity per the list of such activities in MPEP 2106.05(d) part II. Executing a database statement is recited highly generally and merely uses a computer as a tool. The one or more computers and one or more non-transitory computer-readable media are still generic components of a computer. Thus these claims do not include additional elements that are sufficient to amount to significantly more than the cited mental processes.
Independent claims 11 and 21 each recites predefining a plurality of distinct database operators, wherein each database operator of the plurality of distinct database operators respectively has an acceleration constant and a time complexity; calculating respectively for each tree node of the subtree: a) an estimated latency based on the content cardinality of the tree node and the time complexity of the database operator of the tree node and b) an estimated acceleration based on the estimated latency of the tree node and the acceleration constant of the database operator of the tree node; and deciding, based on the estimated acceleration of each tree node of the subtree, to compile the subtree. Predefining database operators is predefining data and calculations of latency and estimated acceleration are recited broadly and are both mental processes accomplishable in the human mind or on paper, and deciding to compile a subtree is a judgement which is a mental process. Each claim recites additional elements of receiving a statement plan tree that represents a data query language (DQL) statement, wherein: the statement plan tree contains a subtree that contains a plurality of tree nodes, and each tree node of the subtree respectively specifies a database operator of the plurality of distinct database operators and a content cardinality, which is an input step and insignificant extra-solution activity; compiling the subtree into an instruction sequence for an instruction set architecture (ISA) of a processor core; and executing the DQL statement based on the instruction sequence, which are output steps and insignificant extra-solution activity. Claim 11 recites the method is performed by one or more computers and claim 21 recites one or more non-transitory computer-readable media, which are generic components of a computer. Examiner notes the specification paragraphs 0004-0005 and 0018-0024 cited above that describe the problems in the art and how the invention addresses said problems. These claims do not recite each of these steps, plus the claim steps do not recite a particular improvement in any technology or function of a computer per MPEP 2106.04(d) and do not recite any unconventional steps in the invention per MPEP 2106.05(a). Therefore, the recited mental processes are not integrated into a practical application. Taking the claim limitations as whole, receiving a statement plan tree is recited broadly and amounts to receiving data across a network per specification paragraphs 0159 and 0171-0173 and figure 9 920, which is routine and conventional activity per the list of such activities in MPEP 2106.05(d) part II. The compiling and executing steps are recited highly generally and merely use a computer as a tool. The one or more computers and one or more non-transitory computer-readable media are still generic components of a computer. Thus these claims do not include additional elements that are sufficient to amount to significantly more than the cited mental processes.
Claims 2 and 16 each recites the instruction sequence accepting a runtime argument that identifies at least one selected from a group consisting of: a representation of the second subplan in the statement plan, a second instruction sequence for the ISA that can execute the second subplan in the statement plan, and logic for a second ISA that lacks registers, and accepting an argument into a sequence of data is adding data to data and a mental process accomplishable in the human mind or on paper. Claims 3 and 17 each recites said executing the DQL statement comprises the instruction sequence accepting, as a runtime argument, a first database operator that does not access a database table; the method further comprises after said executing the DQL statement, the instruction sequence accepting, as said runtime argument, a second database operator that accesses a database table, and an instruction sequence accepting a first database operator and accepting a second database operator is adding data to data and a mental process accomplishable in the human mind or on paper. Claims 4 and 29 each recites wherein said invoking the instruction sequence causes said interpreting, and invoking an instruction sequence is a mental process accomplishable in the human mind or on paper that uses a computer as a tool.
Claims 6 and 30 each recites wherein said invoking the instruction sequence occurs before said interpreting the second subplan invoking an instruction sequence is a mental process accomplishable in the human mind or on paper that uses a computer as a tool. Claims 9 and 28 each recites calculating a third estimated acceleration provided by a fourth cluster subplan that represents the fourth subtree in the fourth statement plan tree and the second cluster subplan, and calculating estimated accelerations is a mental process accomplishable in the human mind or on paper; detecting that a compilation cost exceeds the third estimated acceleration, and detecting is a judgement and a mental process accomplishable in the human mind or on paper.
Claims 10 and 20 each recites wherein: the first subtree contains a fourth subtree, and data is a mental process accomplishable in the human mind or on paper; said executing the first DQL statement comprises the second cluster subplan accepting a runtime argument that identifies the fourth subtree, and a cluster subplan accepting a runtime argument is data accepting data and a mental process accomplishable in the human mind or on paper. Claims 12 and 22 each recites wherein said deciding to compile the subtree is based on an estimated cost selected from a group consisting of: a) a cost that does not depend on a count of the plurality of tree nodes and b) a fixed cost that does not depend on at least one selected from a group consisting of the statement plan tree and the subtree, and deciding is a judgement and a mental process accomplishable in the human mind or on paper. Claims 13 and 26 each recites wherein: the plurality of distinct database operators comprises a database operator that represents an unspecified parameter, and a database operator is data and a mental process accomplishable in the human mind or on paper; said predefining the acceleration constant of the unspecified parameter comprises zeroing the acceleration constant, and zeroing an acceleration constant is changing data and a mental process accomplishable in the human mind or on paper. Claims 14 and 27 each recites wherein the content cardinality of a particular tree node in the subtree is provided by one selected from a group consisting of: a) a query optimizer that generated the statement plan tree and b) a previous execution of one selected from a group consisting of the DQL statement and the subtree, and providing a cardinality is providing data and a mental process accomplishable in the human mind or on paper.
Relevant Prior Art
During his search for prior art, Examiner found the following reference to be relevant to Applicant's claimed invention. Said reference is listed on the Notice of References form included in this office action:
Watari (US 10,303,687) teaches a matching component that matches multiple portions of a query plan using multiple processors in a multi-core processor, does not teach matching portions of different query plans or compiling portions of a matched query plan (column 4 lines 47-64).
Responses to Applicant’s Remarks
Regarding rejections of claims 1-3, 5-6, 15-17, and 30 under 35 U.S.C. 102 by Boric, Applicant’s amendments overcome Boric’s teachings, in particular detecting similarity of i) in a first statement plan for a data query language (DQL) statement, a first subplan that comprises multiple operators and ii) a third subplan in a second statement plan for a second DQL statement. On page 12 of his Remarks Applicant mentioned column 16 lines 33-34 of Boric, and Examiner believes Boric at column 16 lines 11-15 (“As indicated at 830, a cache for prior queries that include a compiled object to execute the segment may be evaluated, in some embodiments. If a compiled code object exists (as indicated by the positive exit), then the compiled object may be used to execute the segment, as indicated at 832.”) looks for similarity between compiled objects of segments/subplans from different query plans but does not look at similarity between the segments/subplans themselves.
Regarding rejections of claims 1-7, 9-18, 20-22, and 26-30 under 35 U.S.C. 101 for reciting mental processes without significantly more, Applicant’s arguments have been considered but are not persuasive. On pages 13-14 Applicant mentions the amended limitation in claim 1 (“detecting similarity of i) in a first statement plan for a data query language (DQL) statement, a first subplan that comprises multiple operators and ii) a third subplan in a second statement plan for a second DQL statement;”) that the state of the art lacks, and Examiner notes per MPEP 2106.05(d)(I) (“The question of whether a particular claimed invention is novel or obvious is "fully apart" from the question of whether it is eligible.”) that novelty does not equate to eligibility. Examiner also notes that multi-plan compilation is not claimed. On page 14 Applicant asserts “Claim step "generating based on i) and ii)" is similarity-based compilation that is innovative (i.e. unconventional)” but this limitation recites no compilation. This limitation is broad and lacks detail showing how the invention detects the similarity or why it would do so in the context of an improvement to a technology although finding common subplans is part of the algorithm described in the specification as how the invention addresses the problems of minimizing compilation costs and providing performance improvement per paragraph 0018 as described in the rejections above.
On pages 14-15 Applicant discusses reusing subexpressions of a query across multiple queries although this is not claimed. Applicant again discusses Boric’s teachings and the sizes of segments and this concept is not claimed. Claim 1 does not recite segment reuse or multi-statement workload compiling, only compiling for a single statement plan. On pages 16-17 Applicant discusses more of Boric’s teachings and segment length as it relates to cache hits and misses but Examiner does not see segment length recited in the claim. Claim 1 still does not recite multi-statement compilation. Applicant cites parts of Ex Parte Desjardins that mention words regarding storage capacity but Examiner does not understand this argument. On pages 17-18 Applicant asserts “claim 1 in its present form avoids [deceleration] by compiling a shareable subplan that is an unconventionally small subplan. Claim 1 does not recite a subplan as being small or of any particular size and still does not recite multi-statement compilation. Examiner does not believe claim 1 recites details of the invention that would show how an instruction sequence is loaded unconventionally fast. On page 18 Applicant again discusses multi-statement compilation and asserts “under Enfish, Claim 1 would not be characterized as "a mental process accomplishable in the human mind or on paper.’” Examiner disagrees as, per MPEP 2106.05(d)(I), Enfish recited a self-referential database having key features that the courts found were unconventional and an improvement to the function of a computer, while the clams recite broad limitations without inventive details that do not recite such an improvement.
On pages 18-19 Applicant discusses claim 7 wit arguments repeated from Applicant’s 12/11/25 Remarks, and Examiner refers Applicant to his Responses to these arguments from the 2/6/26 office action. On pages 19-20 Applicant discusses claim 11 ad further discusses Boric’s teachings. Examiner notes novelty does not equate to eligibility. Applicant asserts “claim 11 has unconventionally fine-grained estimation” and recites “an acceleration constant and a time complexity.” Examiner notes these values are recited as calculated broadly and without details shown how they are calculated and thus are mental processes accomplishable in the human mind or on paper. The mere recitation of these values do not recite an improvement to a technology and the combination of mental process steps does not integrate these claims into a practical application per MPEP 2106.04(d) or amount to a inventive concept per MPEP 2106.05(a).
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Inquiry
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BRUCE M MOSER whose telephone number is (571)270-1718. The examiner can normally be reached M-F 9a-5p.
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, Boris Gorney can be reached at 571 270-5626. 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.
/BRUCE M MOSER/Primary Examiner, Art Unit 2154 5/21/26