Prosecution Insights
Last updated: October 25, 2026
Application No. 19/380,760

PARALLEL TASK EXECUTION BY A STORE AND COMPUTE SUB-SYSTEM OF A DATABASE SYSTEM

Non-Final OA §103
Filed
Nov 05, 2025
Priority
Oct 15, 2018 — provisional 62/745,787 +2 more
Examiner
CHEUNG, HUBERT G
Art Unit
2161
Tech Center
2100 — Computer Architecture & Software
Assignee
Ocient Inc.
OA Round
1 (Non-Final)
63%
Grant Probability
Moderate
1-2
OA Rounds
3y 3m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 63% of resolved cases
63%
Career Allowance Rate
253 granted / 399 resolved
+8.4% vs TC avg
Strong +48% interview lift
Without
With
+47.8%
Interview Lift
resolved cases with interview
Typical timeline
4y 2m
Avg Prosecution
19 currently pending
Career history
429
Total Applications
across all art units

Statute-Specific Performance

§101
12.3%
-27.7% vs TC avg
§103
50.4%
+10.4% vs TC avg
§102
16.7%
-23.3% vs TC avg
§112
14.5%
-25.5% vs TC avg
Black line = Tech Center average estimate • Based on career data from 399 resolved cases

Office Action

§103
DETAILED ACTION Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . This Office action is issued in response to application, 19/380,760, filed on 11/5/2025. Claim(s) 1-24 is/are pending. Claim(s) 7, 10, 19 and 22 is/are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims. Priority Acknowledgment is made of applicant’s claim for priority to application, 18/648,342, filed on 4/27/2024, which claims priority to application, 16/267,608, filed on 2/5/2019, issued as U.S. 11,977,545, which claims priority to provisional application, 62/745,787, filed on 10/18/2018. Specification The lengthy specification has not been checked to the extent necessary to determine the presence of all possible minor errors. Applicant’s cooperation is requested in correcting any errors of which applicant may become aware in the specification. Claim Objections Claim(s) 4 is/are objected to because of the following informalities: in lines 1-2, “first task is store data of the dataset in a long-term” should be corrected to “first task is the store data of the dataset in the long-term”. Appropriate correction is required. Claim(s) 5 is/are objected to because of the following informalities: in line , “plurality of computing node of the” should be corrected to “plurality of computing nodes of the”. Appropriate correction is required. Claim(s) 7 is/are objected to because of the following informalities: in lines 1-2, “is execute a level three query” should be corrected to “execute the level three query”. Appropriate correction is required. Claim(s) 16 is/are objected to because of the following informalities: in lines 1-2, “first task is store data of the dataset in a long-term” should be corrected to “first task is the store data of the dataset in the long-term”. Appropriate correction is required. Claim(s) 19 is/are objected to because of the following informalities: in lines 1-2, “is execute a level three query” should be corrected to “execute the level three query”. Appropriate correction is required. 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: 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-6 and 13-18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Gupta et al., US 11,567,972 B1 (hereinafter “Gupta”) in view of Uppala, US 7,860,865 B2 (hereinafter “Upp”). Claims 1 and 13 Gupta discloses a store and compute sub-system of a database system, the store and compute sub-system comprises: a plurality of computing clusters (Gupta, Fig. 6, see storage clusters 610a, 610b and 610c), where a computing cluster of the plurality of computing clusters includes a plurality of computing devices, where a computing device of the plurality of computing devices includes a plurality of computing nodes, and wherein a computing node of the plurality of computing nodes includes a plurality of processing core resources (Gupta, Col. 9, line 56-Col. 10, line 10, see the storage cluster for a data storage service like a data warehouse service … . As illustrated in this example, a storage cluster 300 may include a leader node 320 and storage nodes 330, 340, and 350 [i.e., “plurality of computing clusters includes a plurality of computing devices”], which may communicate with each other over an interconnect 360. Leader node 320 may maintain slab mapping information 325 for executing queries on storage cluster 300. For instance, slab mapping information may be used to identify which storage nodes may store a storage slab; and Gupta, Col. 10, line 50-Col. 11, line 3, see storage cluster 300 may also include storage nodes, such as storage nodes 330, 340, and 350 [i.e., “plurality of computing clusters includes a plurality of computing devices”]. These one or more storage nodes (sometimes referred to as compute nodes), may for example, be implemented on servers or other computing devices, such as those described below with regard to computer system 2000 in FIG. 11, and each may include individual query processing “slices” defined, for example, for each core of a server's multi-core processor [i.e., corresponds to the “plurality of processing core resources”]. Storage nodes may perform processing of database operations, such as queries, based on instructions sent to storage nodes 330, 340, and 350 from leader node 320; and Gupta, Fig. 3, see leader node 320 and storage nodes 330, 340 … 350 [i.e., “plurality of computing clusters includes a plurality of computing devices”]), wherein the computing cluster is operably to: receive a plurality of tasks (Gupta, Col. 9, lines 29-55, see clients convey network-based services requests (e.g., access requests directed to data in data storage services(s) 230, operations, tasks, or jobs, being performed as part of data processing service(s) 220, or to interact with data catalog service 210) to and receive responses from provider network 200 vial network 260), wherein a task of the plurality of tasks includes: store data of a dataset in a long-term storage format (Gupta, Col. 2, line 61-Col. 3, line 17, see a data store, such as a database system, data warehouse, data archive, data object store or any other form of data storage may organize data in a tree-based data format [i.e., interpreted as the “long-term storage format”; Note: Applicant has not defined what is the “long-term storage format” in the claim]. Data, such as a table of items (e.g., rows including different field values for different columns), may be stored in storage slabs. Rows or other items of a table may be grouped into collections stored in a storage slab, like items 104 stored in storage slab 102); execute, in a concurrent manner, the plurality of tasks (Gupta, Col. 16, lines 32-42, see increasing or adding storage nodes a storage cluster may, for instance, parallelize the workload [i.e., corresponds to “concurrent manner”] to process certain queries [i.e., corresponds the “plurality of tasks”], which may increase the performance of processing the query) by: for a first task of the plurality of tasks, a first lead computing device of the computing cluster (Gupta, Col. 9, line 56-Col. 10, line 10, see the storage cluster for a data storage service like a data warehouse service … . As illustrated in this example, a storage cluster 300 may include a leader node 320 [i.e., corresponds to the “first lead computing device of the computing cluster”] and storage nodes 330, 340, and 350 [i.e., “pluralities of computing nodes of pluralities of computing devices”], which may communicate with each other over an interconnect 360. Leader node 320 may maintain slab mapping information 325 for executing queries on storage cluster 300. For instance, slab mapping information may be used to identify which storage nodes may store a storage slab) is operable to: generate a plurality of first partial tasks based on the first task (Gupta, Col. 3, lines 18-48 and Gupta, Fig. 1, see splitting storage slab102 among storage slabs 102b, 102c, 102d and 102e when full, where the splitting the values ranges and storing them in the slabs 102b, 102c, 102d and 102e is being interpreted as the “plurality of first partial tasks;” Note: Applicant has not defined what is the “first task” in the claim); and allocate the plurality of first partial tasks to the plurality of computing devices of the computing cluster (Gupta, Fig. 3, see storage nodes 330, 340 and 350; Gupta, Col. 9, line 56-Col. 10, line 10, see storage cluster 300 may include a leader node 320 and storage nodes 330, 340, and 350, which may communicate with each other over an interconnect 360. Leader node 320 may maintain slab mapping information 325 for executing queries on storage cluster 300 [i.e., disclosing executing queries (i.e., “tasks”) on the nodes in the storage cluster]. For instance, slab mapping information may be used to identify which storage nodes may store a storage slab), wherein the plurality of computing devices executes the plurality of first partial tasks (Gupta, Col. 3, lines 18-48, see splitting storage slab 102 among storage slabs 102b, 102c, 102d and 102e when full, where the splitting the values ranges and storing them in the slabs 102b, 102c, 102d and 102e is being interpreted as the “plurality of first partial tasks”); for a second task of the plurality of tasks, a second lead computing device of the computing cluster (Gupta, Fig. 1, see storge slab 102b is being interpreted as the “second lead computing device” controlling storing slabs 102f, 102g, 102h to 102i) is operable to: generate a plurality of second partial tasks based on the second task (Gupta, Col. 3, lines 18-48 and Gupta, Fig. 1, see splitting the value ranges in storage slab 102b among storage slabs 102f, 102g, 102h to 102i is being interpreted as the “plurality of second partial tasks”; Note: Applicant has not defined what is the “second task” in the claim); and allocate the plurality of second partial tasks to the plurality of computing devices of the computing cluster, wherein the plurality of computing device executes the plurality of second partial tasks (Gupta, Fig. 3, see storage nodes 330, 340 and 350; Gupta, Fig. 1, see splitting the value ranges in storage slab 102b among storage slabs 102f, 102g, 102h to 102i is being interpreted as the “plurality of second partial tasks”; and Gupta, Col. 9, line 56-Col. 10, line 10, see storage cluster 300 may include a leader node 320 and storage nodes 330, 340, and 350, which may communicate with each other over an interconnect 360. Leader node 320 may maintain slab mapping information 325 for executing queries on storage cluster 300 [i.e., disclosing executing queries (i.e., “tasks”) on the nodes in the storage cluster]. For instance, slab mapping information may be used to identify which storage nodes may store a storage slab). Gupta does not appear to explicitly disclose execute a level three query operation of a query to produce a level three query response; and execute a level two query operation of a query to produce a level two query response. Upp discloses execute a level three query operation of a query to produce a level three query response (Upp, Col. 12, line 53-Col. 13, line 3, see the third-level query processing servers may serve as gateway servers that may interface with clients; and Upp, Fig. 7, see the Query Services 710 in Query Processing Server QP7 708 in Level 3 706; Note: Applicant has not defined what is a “level three query operation” in the claim); and execute a level two query operation of a query to produce a level two query response (Upp, Col. 12, line 53-Col. 13, line 3, see the second-level query processing servers may assist in processing queries transformed for distributed processing; and Upp, Fig. 7, see the query processing in Query Processing Server QP5 722 and Query Processing Server QP6 724 in Level 2 720; Note: Applicant has not defined what is a “level two query operation” in the claim). Gupta and Upp are analogous art because they are from the same field of endeavor of processing large amounts of data. It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention, having the teachings of Gupta and Upp before him/her, to modify the parallel computing of Gupta to include the level query operations of Upp because it would allow more efficient distribution of processing operations. The suggestion/motivation for doing so would have been to provide data storage, query processing and retrieval for large volumes of data, see Upp, Col. 2, lines 27-33. Therefore, it would have been obvious to combine Upp with Gupta to obtain the invention as specified in the instant claim(s). Claim(s) 13 recite(s) similar limitations to claim 1 and is/are rejected under the same rationale. With respect to claim 13, Gupta discloses a computer readable memory comprises: a first memory that stores operational instructions (Gupta, Col. 18, line 58-Col. 19, line 12, see system memory 2020); a second memory that stores operational instructions (Gupta, Col. 18, line 58-Col. 19, line 12, see system memory 2020). Claims 2 and 14 With respect to claims 2 and 14, the combination of Gupta and Upp discloses further comprises: for a third task of the plurality of tasks, a third lead computing device of the computing cluster is operable to: generate a plurality of third partial tasks based on the third task (See below); and allocate the plurality of third partial tasks to the plurality of computing devices of the computing cluster, wherein the plurality of computing device executes the plurality of third partial tasks (Gupta, Fig. 8, see step 830 “Storage slab full? Y”, 840 “Create child storage slab(s) in the tree”, 850 “Update mapping information to split different portion of a range of distribution values assigned to the full storage slab” and 860 “Add the item(s) to one of the child storage slab(s) with a portion of the range that includes the distribution value(s)”, where the instructions to store the slab in the created child storage slabs is being interpreted as the “plurality of third partial tasks” and where creating the child storage slabs is being interpreted as the “allocating” step). Claims 3 and 15 With respect to claims 3 and 15, the combination of Gupta and Upp discloses further comprises: for a third task of the plurality of tasks, the first lead computing device is operable to: generate a plurality of third partial tasks based on the third task (See below); and allocate the plurality of third partial tasks to the plurality of computing devices of the computing cluster, wherein the plurality of computing device executes the plurality of third partial tasks (Gupta, Fig. 8, see step 830 “Storage slab full? Y”, 840 “Create child storage slab(s) in the tree”, 850 “Update mapping information to split different portion of a range of distribution values assigned to the full storage slab” and 860 “Add the item(s) to one of the child storage slab(s) with a portion of the range that includes the distribution value(s)”, where the instructions to store the slab in the created child storage slabs is being interpreted as the “plurality of third partial tasks” and where creating the child storage slabs is being interpreted as the “allocating” step). Claims 4 and 16 With respect to claims 4 and 16, the combination of Gupta and Upp discloses wherein, when the first task is store data of the dataset in a long-term storage format, the computing cluster is further operable to: receive, by the first lead computing device of the plurality of computing devices of the computing cluster, the data of the dataset, wherein the data of the dataset includes a plurality of data segments (See below); route, by the first lead computing device, an n+1 data segment of the plurality of data segments to a first computing device of the plurality of computing devices for storage therein, where n is an integer equal or greater than 0 (See below); route, by the first lead computing device, an n+2 data segment of the plurality of data segments to a second computing device of the plurality of computing devices for storage therein (See below); and route, by the first lead computing device, an n+3 data segment of the plurality of data segments to a third computing device of the plurality of computing devices for storage therein (Gupta, Col. 3, lines 18-48, see splitting storage slab 102 among storage slabs 102b [i.e., interpreted as the “first computing device”], 102c [i.e., interpreted as the “second computing device”], 102d [i.e., interpreted as the “third computing device”] and 102e when full). Claims 5 and 17 With respect to claims 5 and 17, the combination of Gupta and Upp discloses further comprises: within the first computing device, a lead computing node of the plurality of computing node of the first computing device is operable to: receive a plurality of n+1 data segments (See below); route an m+1 data segment of the plurality of n+1 data segments to a first computing node of the plurality of computing nodes for storage therein, where m is an integer equal to or greater than 0 (See below); route an m+2 data segment of the plurality of n+1 data segments to a second computing node of the plurality of computing nodes for storage therein (See below); and route an m+3 data segment of the plurality of n+1 data segments to a third computing node of the plurality of computing nodes for storage therein (Gupta, Col. 3, lines 18-48, see splitting storage slab 102 among storage slabs 102b [i.e., interpreted as the “first computing device”], 102c [i.e., interpreted as the “second computing device”], 102d [i.e., interpreted as the “third computing device”] and 102e when full). Claims 6 and 18 With respect to claims 6 and 18, the combination of Gupta and Upp discloses further comprises: within the first computing node, a lead processing core resource of the plurality of plurality of processing core resources of the first computing node is operable to: receive a plurality of m+1 data segments (See below); route a p+1 data segment of the plurality of m+1 data segments to a first processing core resource of the plurality of processing core resources for storage therein, where p is an integer equal to or greater than 0 (See below); route a p+2 data segment of the plurality of m+1 data segments to a second processing core resource of the plurality of processing core resources for storage therein (See below); and route a p+3 data segment of the plurality of m+1 data segments to a third processing core resource of the plurality of processing core resources for storage therein (Gupta, Col. 3, lines 18-48, see splitting storage slab 102 among storage slabs 102b [i.e., interpreted as the “first computing device”], 102c [i.e., interpreted as the “second computing device”], 102d [i.e., interpreted as the “third computing device”] and 102e when full). Allowable Subject Matter Claim(s) 7, 10, 19 and 22 is/are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims. Claim(s) 8, 9, 11, 12, 2, 21, 23 and 24 inherit(s) the allowable subject matter of the claim it/they depend(s) from. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. – Ailamaki et al., 2014/0380322 for task scheduling for highly concurrent analytical and transaction workloads; – Grube et al., 2019/0012234 for dynamically shifting tasks in distributed computing data storage; – Baptist et al., 2013/0275776 for encrypting distributed computing data; – Resch, 2013/0275744 for encrypting segmented data in a distributed computing system; – Chowdhuri et al., 8126870 for parallel query optimization using semantic-based partitioning; – Adoul et al., 5701392 for depth-first algebraic-codebook search for fast coding of speech; and – Duan et al., CN 106708727 for characteristic sample verification method. Point of Contact Any inquiry concerning this communication or earlier communications from the examiner should be directed to HUBERT G CHEUNG whose telephone number is (571) 270-1396. The examiner can normally be reached M-R 8:00A-5:00P EST; alt. F 8:00A-4:00P EST. 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, Apu Mofiz can be reached at (571) 272-4080. 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. HUBERT G. CHEUNG Assistant Examiner Art Unit 2161 Examiner: Hubert Cheung /Hubert Cheung/Assistant Examiner, Art Unit 2161Date: September 17, 2026 /APU M MOFIZ/Supervisory Patent Examiner, Art Unit 2161
Read full office action

Prosecution Timeline

Nov 05, 2025
Application Filed
Sep 28, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12762160
Data Analytical Engine System and Method
3y 5m to grant Granted Oct 13, 2026
Patent 12689549
TECHNIQUES FOR MANAGING STORAGE AND RETENTION OF TIME-SERIES BASED EVENT DATA
3y 1m to grant Granted Jul 21, 2026
Patent 12681971
SEARCH USING MULTIPLE VECTOR SPACES
3y 1m to grant Granted Jul 14, 2026
Patent 12682003
CONTENT SEARCH METHOD, APPARATUS AND DEVICE, AND MEDIUM
2y 12m to grant Granted Jul 14, 2026
Patent 12670172
ENHANCED MECHANISMS FOR MANAGING MULTIDIMENSIONAL DATA
1y 8m to grant Granted Jun 30, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
63%
Grant Probability
99%
With Interview (+47.8%)
4y 2m (~3y 3m remaining)
Median Time to Grant
Low
PTA Risk
Based on 399 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month