DETAILED ACTION
Claims 1-20 are pending. Claims 1, 11, and 20 have been amended. Claims 1-20 are rejected.
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 .
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 02/19/2026 has been entered.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, 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.
Claim(s) 1, 3, 4, 11, 13, 14, and 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Cunningham et al., Patent Application Publication No. 2006/0230016 (hereinafter Cunningham) in view of Bhattacharjee et al., Patent Application Publication No. 2011/0225167 (hereinafter Bhattacharjee) and Won et al., Patent Application Publication No. 2023/0024210 (hereinafter Won).
Regarding claim 1, Cunningham teaches:
A system comprising: at least one hardware processor (Cunningham Paragraph [0066], The computer 912 includes a processing unit 914, a system memory 916, and a system bus 918); and
a memory storing instructions that cause the at least one hardware processor to perform operations comprising (Cunningham Paragraph [0066], The computer 912 includes a processing unit 914, a system memory 916, and a system bus 918):
receiving a query, the query including a statement to perform a loading operation into a table (Cunningham Paragraph [0038], As these are materialized query results, statistics over them are usually of higher quality than the statistics employed by propagating base table statistics, Paragraph [0006], employ statistics over complex objects within a database query processor and loader in order to generate efficient query plans);
performing a compilation process on the query, the compilation process comprising (Cunningham Paragraph [0020], maintain statistics over a minimal set of columns for efficient and effective query compilation is of considerable value):
compiling the query to generate an initial query plan (Cunningham Paragraph [0024], statistics processing component 140, a scalar enhancement component 150, and a complex object processing component 160 is provided with the query processor 110 to facilitate query plan generation);
determining a cardinality estimate of the loading operation into the table (Cunningham Paragraph [0033], the cardinality estimation algorithm merely guessed that approximately half the rows qualify through the filter, then the expected number of rows returned in the query could be much higher);
sending the query plan to an execution node for execution (Cunningham Paragraph [0033], Accurate statistical information is therefore useful to selecting an efficient query plan and can have an impact on user-response time for queries, Paragraph [0002], accurate statistical information is essential to finding the least-cost plan and executing user queries efficiently).
Cunningham does not expressly disclose:
determining whether the cardinality estimate is greater than a first threshold value,
in response to the cardinality estimate being greater than the first threshold value, updating the initial query plan to generate a query plan, the query plan including a native insert subplan and a bulk load subplan,
However, Bhattacharjee teaches:
determining whether the cardinality estimate is greater than a first threshold value (Bhattacharjee Paragraph [0103], Store a single property that has a maximum cardinality greater than one (or that is unknown)),
in response to the cardinality estimate being greater than the first threshold value (Bhattacharjee Paragraph [0103], Store a single property that has a maximum cardinality greater than one (or that is unknown)), updating the initial query plan to generate a query plan (Bhattacharjee Paragraph [0012], A possible way to reduce self-joins in query processing is to convert a triple store into a single property table (Cunninghame teaches the query plan)), the query plan including a native insert subplan and a bulk load subplan (Bhattacharjee Paragraph [0047], The first row (e.g., row 1, label 501) is dedicated to subject "ArticleId1", and the various exemplary predicates and associated values from triples having this subject are then inserted in this first row, Paragraph [0087], create comma separated value files that can be bulk-loaded),
The claimed invention and Bhattacharjee are from the analogous art of bulk systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention having the teachings of Cunningham in view of Bhattacharjee to have combined Cunningham in view of Bhattacharjee. Bhattacharjee teaches improving efficiency in query searches of RDF and/or other schema-less data in a relational database (Paragraph 2).
Cunninghame in view of Bhattacharjee does not expressly disclose:
the cardinality estimate being utilized at compile time to determine whether the loading operation should use a hybrid bulk load path or a native insert path;
the query plan comprising an adaptive plan that dynamically selects, based on data size determined at runtime during query execution, an execution of the native insert subplan or the bulk load subplan at runtime for optimizing performance of the loading operation for the table, the adaptive plan further including an adaptive switch operator that buffers input data during query execution and selects between the native insert subplan and the bulk load subplan based on a number of rows received during execution; and
However, Won teaches:
the cardinality estimate being utilized at compile time to determine whether the loading operation should use a hybrid bulk load path or a native insert path (Won Paragraph [0032], the query execution plan with the lowest priority can be the candidate for eviction from the plan cache to make room for the insertion of newly generated query execution plan corresponding to the incoming query, Paragraph [0021], Depending on the complexity of the query (e.g., the number of joined tables, etc.) and the query optimization algorithm, query compilation time can be long (Bhattacharjee teaches bulk load and cardinality in paragraphs 87 and 103));
the query plan comprising an adaptive plan that dynamically selects (Won Paragraph [0007], FIG. 4 is a flowchart illustrating a method for dynamically adjusting query plan cache size based on measurement of query locality), based on data size determined at runtime during query execution (Won Paragraph [0043], FIG. 4 shows a flowchart 400 of an example method for dynamically adjusting the size of a query execution plan cache based on measured query locality), an execution of the native insert subplan or the bulk load subplan at runtime for optimizing performance of the loading operation for the table (Won Paragraph [0032], the query execution plan with the lowest priority can be the candidate for eviction from the plan cache to make room for the insertion of newly generated query execution plan corresponding to the incoming query), the adaptive plan further including an adaptive switch operator that buffers input data during query execution and selects between the native insert subplan and the bulk load subplan based on a number of rows received during execution (Won Paragraph [0032], the query execution plan with the lowest priority can be the candidate for eviction from the plan cache to make room for the insertion of newly generated query execution plan corresponding to the incoming query, Paragraph [0021], Depending on the complexity of the query (e.g., the number of joined tables, etc.) and the query optimization algorithm, query compilation time can be long (e.g., tens of seconds or more)); and
The claimed invention and Won are from the analogous art of load paths. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention having the teachings of Cunninghame in view of Bhattacharjee and Won to have combined Cunningham in view of Bhattacharjee and Won. Won teaches improving operational efficiency to a compiled query execution plan corresponding to the incoming query that can be stored in the plan cache so that it can be quickly retrieved and reused if the same query is submitted again in the future (Paragraph 21).
Regarding claim 3, Cunningham in view of Bhattacharjee and Won further teaches:
The system of claim 1, wherein the cardinality estimate comprises a particular number of rows (Cunningham Paragraph [0033], the cardinality estimation algorithm merely guessed that approximately half the rows qualify through the filter, then the expected number of rows returned in the query could be much higher).
Regarding claim 4, Cunningham in view of Bhattacharjee and Won further teaches:
The system of claim 1, wherein the loading operation comprises a copy operation or an insert operation (Bhattacharjee Paragraph [0047], The first row (e.g., row 1, label 501) is dedicated to subject "ArticleId1", and the various exemplary predicates and associated values from triples having this subject are then inserted in this first row).
Claims 11, 13, 14, and 20 are rejected in the same manner as claims 1, 3, and 4 but are merely directed to a different embodiment of the same invention (system, method, non-transitory computer-storage medium).
Claim(s) 2 and 12 is/are rejected under 35 U.S.C. 103 as being unpatentable over Cunningham in view of Bhattacharjee, Won, and Tanase et al., United States Patent No. 12,299,496 (hereinafter Tanase).
Regarding claim 2, Cunningham in view of Bhattacharjee and Won teaches parent claim 1.
Cunningham in view of Bhattacharjee and Won does not expressly disclose:
in response to the cardinality estimate being less than or equal to the first threshold value, compiling the query to generate a second query plan, the second query plan including the native insert subplan.
However, Tanase teaches:
in response to the cardinality estimate being less than or equal to the first threshold value (Tanase Column 11 Lines 5-10, remaining data to load reaches a number relative to an upper or lower threshold value), compiling the query to generate a second query plan (Tanase Column 16 Lines 60-63, the size of the work item may be registered before it is inserted into the queue, Column 4 Lines 33-37, query or locate certain within a data set 112 (Cunningham teaches the query plan)), the second query plan including the native insert subplan (Tanase Column 16 Lines 60-63, the size of the work item may be registered before it is inserted into the queue, Column 4 Lines 33-37, query or locate certain within a data set 112 (Cunningham teaches the query plan)).
The claimed invention and Tanase are from the analogous art of bulk loader systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention having the teachings of Cunningham in view of Bhattacharjee, Won, and Tanase to have combined Cunningham in view of Bhattacharjee, Won, and Tanase. Tanase teaches increasing efficiency of the service in allocating resources to load the data (Column 2 Lines 10-15).
Claim 12 is rejected in the same manner as claim 2 but is merely directed to a different embodiment of the same invention (system, method).
Claim(s) 5-10 and 15-19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Cunningham in view of Bhattacharjee, Won, Tanase, and Binnig et al., Patent Application Publication No. 2010/0328115 (hereinafter Binnig).
Regarding claim 5, Cunningham in view of Bhattacharjee and Won teaches parent claim 1.
Cunningham in view of Bhattacharjee and Won further teaches:
receiving, by an adaptive switch operator from the query plan executing in a secondary process on the execution node, input data for processing with the loading operation (Cunningham Paragraph [0006], The subject invention relates to systems and methods that automatically create, update, and employ statistics over complex objects within a database query processor and loader in order to generate efficient query plans);
determining, by the adaptive switch operator, a number of rows for processing with the loading operation based on the input data (Cunningham Paragraph [0033], presented with this number of rows, the query optimizer may select a plan that scans all rows in the base table);
Cunningham in view of Bhattacharjee and Won does not expressly disclose:
determining, by the adaptive switch operator, whether the number of rows exceeds a particular threshold number;
in response to the number of rows exceeding the particular threshold number,
a bulk load identifier to the adaptive switch operator after the initialization process has been successfully performed; and
in response to receiving the bulk load identifier, determining, by the adaptive switch operator, that a bulk load path of the query plan is utilized for performing a bulk load operation on the input data, the bulk load identifier being associated with the bulk load operation.
However, Tanase teaches:
determining, by the adaptive switch operator, whether the number of rows exceeds a particular threshold number (Tanase Column 2 Lines 60-65, if the data to be loaded is greater than a certain size, the maximum number of worker threads for loading the data concurrently may be increased);
in response to the number of rows exceeding the particular threshold number (Tanase Column 2 Lines 60-65, if the data to be loaded is greater than a certain size, the maximum number of worker threads for loading the data concurrently may be increased),
a bulk load identifier to the adaptive switch operator after the initialization process has been successfully performed (Tanase Column 15 Lines 50-60, After a bulk load request is received, the following operations may be performed. First, the data to be loaded may be identified via a load identifier (any alpha numeric identifier)); and
in response to receiving the bulk load identifier, determining, by the adaptive switch operator, that a bulk load path of the query plan is utilized for performing a bulk load operation on the input data, the bulk load identifier being associated with the bulk load operation (Tanase Column 15 Lines 50-60, After a bulk load request is received, the following operations may be performed. First, the data to be loaded may be identified via a load identifier (any alpha numeric identifier)).
The claimed invention and Tanase are from the analogous art of bulk loader systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention having the teachings of Cunningham in view of Bhattacharjee, Won, and Tanase to have combined Cunningham in view of Bhattacharjee, Won, and Tanase. Tanase teaches increasing efficiency of the service in allocating resources to load the data (Column 2 Lines 10-15).
Cunningham in view of Bhattacharjee, Won, and Tanase does not expressly disclose:
sending, by the adaptive switch operator, a request to start a bulk load process to a hybrid bulk loader worker executing in a primary process on the execution node;
performing, by the hybrid bulk loader worker, an initialization process for the bulk load process;
sending, by the hybrid bulk loader worker,
However, Binnig teaches:
sending, by the adaptive switch operator, a request to start a bulk load process to a hybrid bulk loader worker executing in a primary process on the execution node (Binnig Paragraph [0038], the CS array trie may be used to implement the hybrid update strategy 402 for bulk encoding of string values during data loading 110, as shown at 630);
performing, by the hybrid bulk loader worker, an initialization process for the bulk load process (Binnig Paragraph [0035], the initial bulk load of a leaf with a list of string values, Paragraph [0038], the CS array trie may be used to implement the hybrid update strategy 402 for bulk encoding of string values during data loading 110, as shown at 630);
sending, by the hybrid bulk loader worker (Binnig Paragraph [0035], the initial bulk load of a leaf with a list of string values, Paragraph [0038], the CS array trie may be used to implement the hybrid update strategy 402 for bulk encoding of string values during data loading 110, as shown at 630),
The claimed invention and Binnig are from the analogous art of bulk load systems. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention having the teachings of Cunningham in view of Bhattacharjee, Won, Tanase, and Binnig to have combined Cunningham in view of Bhattacharjee, Won, Tanase, and Binnig. Binnig teaches lightweight compression schemes for column-oriented database systems may enable query processing on compressed data and thus improve query processing performance (Paragraph 19).
Regarding claim 6, Cunningham in view of Bhattacharjee, Won, Tanase, and Binnig further teaches:
The system of claim 5, wherein the operations further comprise: sending the input data to a bulk load subplan of the query plan to perform the bulk load operation on the input data (Bhattacharjee Paragraph [0047], The first row (e.g., row 1, label 501) is dedicated to subject "ArticleId1", and the various exemplary predicates and associated values from triples having this subject are then inserted in this first row, Paragraph [0087], create comma separated value files that can be bulk-loaded (Cunningham teaches the query plan)).
Regarding claim 7, Cunningham in view of Bhattacharjee, Won, Tanase, and Binnig further teaches:
The system of claim 6, wherein the operations further comprise: performing, using a bulk barrier operator, the bulk load operation on the input data (Bhattacharjee Paragraph [0047], The first row (e.g., row 1, label 501) is dedicated to subject "ArticleId1", and the various exemplary predicates and associated values from triples having this subject are then inserted in this first row, Paragraph [0087], create comma separated value files that can be bulk-loaded).
Regarding claim 8, Cunningham in view of Bhattacharjee, Won, Tanase, and Binnig further teaches:
The system of claim 7, wherein the operations further comprise: performing, using a constraint check operator, a foreign key constraint check of the input data after the bulk load operation has completed (Cunningham Paragraph [0037], constraints to enforce (including foreign key constraints which are represented as a join) (Bhattacharjee teaches the bulk load)).
Regarding claim 9, Cunningham in view of Bhattacharjee, Won, Tanase, and Binnig further teaches:
The system of claim 5, wherein performing, by the hybrid bulk loader worker, the initialization process for the bulk load process comprises (Binnig Paragraph [0038], the CS array trie may be used to implement the hybrid update strategy 402 for bulk encoding of string values during data loading 110):
determining whether the table is empty (Bhattacharjee Paragraph [0053], if the position is occupied 700, linear or quadratic probing used to find an empty location in the hashtable);
initializing the bulk load operation for a specified range of the table (Bhattacharjee Paragraph [0053], if the position is occupied 700, linear or quadratic probing used to find an empty location in the hashtable); and
in response to initializing the bulk load operation being successful (Binnig Paragraph [0020], subsequent bulk loads contain new values, all the previously loaded data can be decoded and then encoded again with the new load using more bits), establishing an exclusive write lock on the specified range (Binnig Paragraph [0031], the indexes and the leaves are locked during data loading).
Regarding claim 10, Cunningham in view of Bhattacharjee, Won, Tanase, and Binnig further teaches:
The system of claim 9, wherein specified range of the table includes no data (Bhattacharjee Paragraph [0053], if the position is occupied 700, linear or quadratic probing used to find an empty location in the hashtable).
Claims 15-19 are rejected in the same manner as claims 5-10 but are merely directed to a different embodiment of the same invention (system, method).
Response to Arguments
Applicant’s arguments, see 8-10, filed 02/19/2026, with respect to the rejection(s) of claim(s) 1-20 under 35 U.S.C. 103 have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of the amendment and the newly cited Won reference.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Teflioudi et al., Patent Application Publication No. 2023/0359620 (hereinafter Teflioudi). Teflioudi teaches dynamically generated operations included in a query plan of a query on a dataset (Paragraph 3). This shows that Teflioudi is analogous art as both Teflioudi and the claimed invention are directed to query plans.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DUSTIN D EYERS whose telephone number is (408)918-7562. The examiner can normally be reached Monday-Thursday 9:00am-7:00pm ET.
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 at (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.
/DUSTIN D EYERS/ Examiner, Art Unit 2164
/AMY NG/ Supervisory Patent Examiner, Art Unit 2164