CTNF 19/236,171 CTNF 72671 DETAILED ACTION Claims 1-20 are pending in the present application. Notice of Pre-AIA or AIA Status 07-03-aia AIA 15-10-aia The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA. Information Disclosure Statement The information disclosure statement (IDS) submitted on 19 May 2026 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement has been considered by the examiner. Double Patenting 08-33 AIA The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg , 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman , 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi , 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum , 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel , 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington , 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA. A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13. The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA/25, or PTO/AIA/26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer. 08-34 AIA Claim s 1-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claim s 1-20 of U.S. Patent No. 12,353,422 B2 Kandukuri et al . Although the claims at issue are not identical, they are not patentably distinct from each other because it is well settled that omission of elements and their functioning is an obvious expedient if the remaining elements perform the same function as before. See In re Karlson, 136 USPQ 184 (CCPA 1963) . 19/236,171 1 . A computing device comprising: one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the computing device to: receive, from a user device, a request to execute a query on at least one of a plurality of data warehouses; identify an execution plan for the query; predict, based on the query and the execution plan, a processing complexity of the query; identify a plurality of virtual warehouses, wherein each of the plurality of virtual warehouses comprises a respective set of computing resources configured to: execute one or more queries with respect to at least a portion of the plurality of data warehouses; collect results from the one or more queries; and provide, to the user device, access to the collected results; based on the processing complexity of the query and processing capabilities of the plurality of virtual warehouses, modify a quantity of computing resources available to a first virtual warehouse of the plurality of virtual warehouses; and cause the first virtual warehouse to execute the query. 2 . The computing device of claim 1, wherein the instructions, when executed by the one or more processors, cause the computing device to predict the processing complexity of the query by causing the computing device to: provide, as input to a trained machine learning model, the execution plan, wherein the trained machine learning model is trained based on a history of queries executed by the plurality of data warehouses; and receive, from the trained machine learning model and based on the input, a prediction of the processing complexity of the query. 3 . The computing device of claim 1, wherein the instructions, when executed by the one or more processors, cause the computing device to modify the quantity of computing resources further based on an operating status of the plurality of virtual warehouses. 4 . The computing device of claim 1, wherein the instructions, when executed by the one or more processors, cause the computing device to cause the first virtual warehouse to execute the query by causing the computing device to: modify a quantity of computing resources available to one or more servers that provide the first virtual warehouse. 5 . The computing device of claim 1, wherein the instructions, when executed by the one or more processors, cause the computing device to modify the quantity of computing resources further based on a historical operating status trend of at least a portion of the plurality of virtual warehouses. 6 . The computing device of claim 1, wherein the instructions, when executed by the one or more processors, cause the computing device to predict the processing complexity of the query by causing the computing device to: determine a configuration of at least one table of the one or more of the plurality of data warehouses, wherein the predicted processing complexity is based on the configuration. 7 . The computing device of claim 1, wherein the instructions, when executed by the one or more processors, cause the computing device to: send, based on the processing complexity of the query satisfying a threshold, a notification to the user device; and receive, from the user device, a modification to the query, wherein the instructions, when executed by the one or more processors, cause the computing device to cause the first virtual warehouse to execute the query based on the modification. 8 . The computing device of claim 1, wherein the instructions, when executed by the one or more processors, cause the computing device to cause the first virtual warehouse to execute the query by causing the computing device to: determine a first cost associated with execution of the query by the first virtual warehouse; determine a time period such that, during the time period, execution of the query by the first virtual warehouse is associated with a second cost lower than the first cost; and cause the first virtual warehouse to execute the query during the time period. 9 . A method comprising: receiving, from a user device, a request to execute a query on at least one of a plurality of data warehouses; identifying an execution plan for the query; predicting, based on the query and the execution plan, a processing complexity of the query; identifying a plurality of virtual warehouses, wherein each of the plurality of virtual warehouses comprises a respective set of computing resources configured to: execute one or more queries with respect to at least a portion of the plurality of data warehouses; collect results from the one or more queries; and provide, to the user device, access to the collected results; based on the processing complexity of the query and processing capabilities of the plurality of virtual warehouses, modifying a quantity of computing resources available to a first virtual warehouse of the plurality of virtual warehouses; and causing the first virtual warehouse to execute the query. 10 . The method of claim 9, wherein predicting the processing complexity of the query comprises: providing, as input to a trained machine learning model, the execution plan, wherein the trained machine learning model is trained based on a history of queries executed by the plurality of data warehouses; and receiving, from the trained machine learning model and based on the input, a prediction of the processing complexity of the query. 11 . The method of claim 9, wherein the modifying the quantity of computing resources is further based on an operating status of the plurality of virtual warehouses. 12 . The method of claim 9, wherein causing the first virtual warehouse to execute the query comprises modifying a quantity of computing resources available to one or more servers that provide the first virtual warehouse. 13 . The method of claim 9, wherein the modifying the quantity of computing resources is further based on a historical operating status trend of at least a portion of the plurality of virtual warehouses. 14 . The method of claim 9, wherein predicting the processing complexity of the query comprises: determining a configuration of at least one table of the one or more of the plurality of data warehouses, wherein the predicted processing complexity is based on the configuration. 15 . The method of claim 9, further comprising: sending, based on the processing complexity of the query satisfying a threshold, a notification to the user device; and receiving, from the user device, a modification to the query, wherein the instructions, when executed by the one or more processors, cause the computing device to cause the new virtual warehouse to execute the query based on the modification. 16 . One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors of a computing device, cause the computing device to: receive, from a user device, a request to execute a query on at least one of a plurality of data warehouses; identify an execution plan for the query; predict, based on the query and the execution plan, a processing complexity of the query; identify a plurality of virtual warehouses, wherein each of the plurality of virtual warehouses comprises a respective set of computing resources configured to: execute one or more queries with respect to at least a portion of the plurality of data warehouses; collect results from the one or more queries; and provide, to the user device, access to the collected results; based on the processing complexity of the query and processing capabilities of the plurality of virtual warehouses, modify a quantity of computing resources available to a first virtual warehouse of the plurality of virtual warehouses; and cause the first virtual warehouse to execute the query. 17 . The one or more non-transitory computer-readable media of claim 16, wherein the instructions, when executed by the one or more processors, cause the computing device to predict the processing complexity of the query by causing the computing device to: provide, as input to a trained machine learning model, the execution plan, wherein the trained machine learning model is trained based on a history of queries executed by the plurality of data warehouses; and receive, from the trained machine learning model and based on the input, a prediction of the processing complexity of the query. 18 . The one or more non-transitory computer-readable media of claim 16, wherein the instructions, when executed by the one or more processors, cause the computing device to modify the quantity of computing resources further based on an operating status of the plurality of virtual warehouses. 19 . The one or more non-transitory computer-readable media of claim 16, wherein the instructions, when executed by the one or more processors, cause the computing device to cause the first virtual warehouse to execute the query by causing the computing device to: modify a quantity of computing resources available to one or more servers that provide the first virtual warehouse. 20 . The one or more non-transitory computer-readable media of claim 16, wherein the instructions, when executed by the one or more processors, cause the computing device to modify the quantity of computing resources further based on a historical operating status trend of at least a portion of the plurality of virtual warehouses. US Patent 12,353,422 B2 1. A computing device comprising: one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the computing device to: receive, from a user device, a request to execute a query on at least one of a plurality of data warehouses; identify an execution plan for the query by determining one or more sub-queries to be executed with respect to one or more of the plurality of data warehouses; predict, based on the query and the execution plan, a processing complexity of the query; identify a plurality of virtual warehouses, wherein each of the plurality of virtual warehouses comprises a respective set of computing resources configured to: execute one or more queries with respect to at least a portion of the plurality of data warehouses; collect results from the one or more queries; and provide, to the user device, access to the collected results; based on the processing complexity of the query and processing capabilities of the plurality of virtual warehouses, instantiate a new virtual warehouse different from the plurality of virtual warehouses; and cause the new virtual warehouse to execute the query. 2. The computing device of claim 1, wherein the instructions, when executed by the one or more processors, cause the computing device to predict the processing complexity of the query by causing the computing device to: provide, as input to a trained machine learning model, the execution plan, wherein the trained machine learning model is trained based on a history of queries executed by the plurality of data warehouses; and receive, from the trained machine learning model and based on the input, a prediction of the processing complexity of the query. 3. The computing device of claim 1, wherein the instructions, when executed by the one or more processors, cause the computing device to instantiate the new virtual warehouse further based on an operating status of the plurality of virtual warehouses. 4. The computing device of claim 1, wherein the instructions, when executed by the one or more processors, cause the computing device to cause the new virtual warehouse to execute the query by causing the computing device to: modify a quantity of computing resources available to one or more servers that provide the new virtual warehouse. 5. The computing device of claim 1, wherein the instructions, when executed by the one or more processors, cause the computing device to instantiate the new virtual warehouse further based on a historical operating status trend of at least a portion of the plurality of virtual warehouses. 6. The computing device of claim 1, wherein the instructions, when executed by the one or more processors, cause the computing device to predict the processing complexity of the query by causing the computing device to: determine a configuration of at least one table of the one or more of the plurality of data warehouses, wherein the predicted processing complexity is based on the configuration. 7. The computing device of claim 1, wherein the instructions, when executed by the one or more processors, cause the computing device to: send, based on the processing complexity of the query satisfying a threshold, a notification to the user device; and receive, from the user device, a modification to the query, wherein the instructions, when executed by the one or more processors, cause the computing device to cause the new virtual warehouse to execute the query based on the modification. 8. The computing device of claim 1, wherein the instructions, when executed by the one or more processors, cause the computing device to cause the new virtual warehouse to execute the query by causing the computing device to: determine a first cost associated with execution of the query by the new virtual warehouse; determine a time period such that, during the time period, execution of the query by the new virtual warehouse is associated with a second cost lower than the first cost; and cause the new virtual warehouse to execute the query during the time period. 9. A method comprising: receiving, from a user device, a request to execute a query on at least one of a plurality of data warehouses; identifying an execution plan for the query by determining one or more sub-queries to be executed with respect to one or more of the plurality of data warehouses; predicting, based on the query and the execution plan, a processing complexity of the query; identifying a plurality of virtual warehouses, wherein each of the plurality of virtual warehouses comprises a respective set of computing resources configured to: execute one or more queries with respect to at least a portion of the plurality of data warehouses; collect results from the one or more queries; and provide, to the user device, access to the collected results; based on the processing complexity of the query and processing capabilities of the plurality of virtual warehouses, instantiating a new virtual warehouse different from the plurality of virtual warehouses; and causing the new virtual warehouse to execute the query. 10. The method of claim 9, wherein predicting the processing complexity of the query comprises: providing, as input to a trained machine learning model, the execution plan, wherein the trained machine learning model is trained based on a history of queries executed by the plurality of data warehouses; and receiving, from the trained machine learning model and based on the input, a prediction of the processing complexity of the query. 11. The method of claim 9, wherein instantiating the new virtual warehouse is further based on an operating status of the plurality of virtual warehouses. 12. The method of claim 9, wherein causing the new virtual warehouse to execute the query comprises modifying a quantity of computing resources available to one or more servers that provide the new virtual warehouse. 13. The method of claim 9, wherein instantiating the new virtual warehouse is further based on a historical operating status trend of at least a portion of the plurality of virtual warehouses. 14. The method of claim 9, wherein predicting the processing complexity of the query comprises: determining a configuration of at least one table of the one or more of the plurality of data warehouses, wherein the predicted processing complexity is based on the configuration. 15. The method of claim 9, further comprising: sending, based on the processing complexity of the query satisfying a threshold, a notification to the user device; and receiving, from the user device, a modification to the query, wherein the causing the new virtual warehouse to execute the query is based on the modification. 16. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors of a computing device, cause the computing device to: receive, from a user device, a request to execute a query on at least one of a plurality of data warehouses; identify an execution plan for the query by determining one or more sub-queries to be executed with respect to one or more of the plurality of data warehouses; predict, based on the query and the execution plan, a processing complexity of the query; identify a plurality of virtual warehouses, wherein each of the plurality of virtual warehouses comprises a respective set of computing resources configured to: execute one or more queries with respect to at least a portion of the plurality of data warehouses; collect results from the one or more queries; and provide, to the user device, access to the collected results; based on the processing complexity of the query and processing capabilities of the plurality of virtual warehouses, instantiate a new virtual warehouse different from the plurality of virtual warehouses; and cause the new virtual warehouse to execute the query. 17. The one or more non-transitory computer-readable media of claim 16, wherein the instructions, when executed by the one or more processors, cause the computing device to predict the processing complexity of the query by causing the computing device to: provide, as input to a trained machine learning model, the execution plan, wherein the trained machine learning model is trained based on a history of queries executed by the plurality of data warehouses; and receive, from the trained machine learning model and based on the input, a prediction of the processing complexity of the query. 18. The one or more non-transitory computer-readable media of claim 16, wherein the instructions, when executed by the one or more processors, cause the computing device to instantiate the new virtual warehouse further based on an operating status of the plurality of virtual warehouses. 19. The one or more non-transitory computer-readable media of claim 16, wherein the instructions, when executed by the one or more processors, cause the computing device to cause the new virtual warehouse to execute the query by causing the computing device to: modify a quantity of computing resources available to one or more servers that provide the new virtual warehouse. 20. The one or more non-transitory computer-readable media of claim 16, wherein the instructions, when executed by the one or more processors, cause the computing device to instantiate the new virtual warehouse further based on a historical operating status trend of at least a portion of the plurality of virtual warehouses . Conclusion 07-96 AIA The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Note attached form PTO-892 . Any inquiry concerning this communication or earlier communications from the examiner should be directed to GRETA ROBINSON whose telephone number is (571)272-4118. The examiner can normally be reached Mon.-Fri. 9:30AM-6:00PM. 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, Hassan Mahmoudi can be reached at 571-272-4078. 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. /GRETA L ROBINSON/Primary Examiner, Art Unit 2163 Application/Control Number: 19/236,171 Page 2 Art Unit: 2163 Application/Control Number: 19/236,171 Page 3 Art Unit: 2163 Application/Control Number: 19/236,171 Page 4 Art Unit: 2163 Application/Control Number: 19/236,171 Page 5 Art Unit: 2163 Application/Control Number: 19/236,171 Page 6 Art Unit: 2163 Application/Control Number: 19/236,171 Page 7 Art Unit: 2163 Application/Control Number: 19/236,171 Page 8 Art Unit: 2163 Application/Control Number: 19/236,171 Page 9 Art Unit: 2163 Application/Control Number: 19/236,171 Page 10 Art Unit: 2163 Application/Control Number: 19/236,171 Page 11 Art Unit: 2163 Application/Control Number: 19/236,171 Page 12 Art Unit: 2163 Application/Control Number: 19/236,171 Page 13 Art Unit: 2163 Application/Control Number: 19/236,171 Page 14 Art Unit: 2163 Application/Control Number: 19/236,171 Page 15 Art Unit: 2163 Application/Control Number: 19/236,171 Page 16 Art Unit: 2163 Application/Control Number: 19/236,171 Page 17 Art Unit: 2163 Application/Control Number: 19/236,171 Page 18 Art Unit: 2163 Application/Control Number: 19/236,171 Page 19 Art Unit: 2163 Application/Control Number: 19/236,171 Page 20 Art Unit: 2163 Application/Control Number: 19/236,171 Page 21 Art Unit: 2163 Application/Control Number: 19/236,171 Page 22 Art Unit: 2163 Application/Control Number: 19/236,171 Page 23 Art Unit: 2163 Application/Control Number: 19/236,171 Page 24 Art Unit: 2163 Application/Control Number: 19/236,171 Page 25 Art Unit: 2163 Application/Control Number: 19/236,171 Page 26 Art Unit: 2163 Application/Control Number: 19/236,171 Page 27 Art Unit: 2163 Application/Control Number: 19/236,171 Page 28 Art Unit: 2163