Office Action Predictor
Last updated: April 16, 2026
Application No. 18/635,503

DATABASE-BASED DATA SHARD PROCESSING METHOD AND APPARATUS, MEDIUM, AND ELECTRONIC DEVICE

Non-Final OA §101§103
Filed
Apr 15, 2024
Examiner
LE, MIRANDA
Art Unit
2153
Tech Center
2100 — Computer Architecture & Software
Assignee
Beijing Volcano Engine Technology Co., LTD.
OA Round
3 (Non-Final)
75%
Grant Probability
Favorable
3-4
OA Rounds
3y 8m
To Grant
99%
With Interview

Examiner Intelligence

Grants 75% — above average
75%
Career Allow Rate
368 granted / 492 resolved
+19.8% vs TC avg
Strong +73% interview lift
Without
With
+73.2%
Interview Lift
resolved cases with interview
Typical timeline
3y 8m
Avg Prosecution
19 currently pending
Career history
511
Total Applications
across all art units

Statute-Specific Performance

§101
16.5%
-23.5% vs TC avg
§103
69.1%
+29.1% vs TC avg
§102
4.4%
-35.6% vs TC avg
§112
3.8%
-36.2% vs TC avg
Black line = Tech Center average estimate • Based on career data from 492 resolved cases

Office Action

§101 §103
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 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 08/05/2025 has been entered. This communication is responsive to Amendment, filed 08/05/2025. Claims 1, 3-7, 13, 14, 16-25 are pending in this application. This action is made non-Final. Information Disclosure Statement Applicants’ Information Disclosure Statement, filed 11/07/2025, has been received, entered into the record, and considered. See attached form PTO-1449. Claim Rejections – 35 USC § 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 13, 21-25 are rejected under 35 U.S.C. 101 because the claimed invention are directed to non-statutory subject matter. Claim 13 recites “A computer-readable medium…”, however, the claim fails to place the invention squarely within one statutory class of invention. As per paragraphs [0147, 0155] of the instant specification, applicant has provided evidence that applicant intends the “medium” to include signals (“a computer-readable signal medium”, “carrier…, wave”, “propagate signal”). As such, the claim is drawn to a form of energy. Energy is not one of the four categories of invention and therefore this claim(s) is/are not statutory. Energy is not a series of steps or acts and thus is not a process. Energy is not a physical article or object and as such is not a machine or manufacture. Energy is not a combination of substances and therefore not a composition of matter. A computer-readable medium including a carrier wave, or signal, is non-statutory subject matter as set forth in MPEP 2106 (IV)(B)(2)(a). A claim drawn to such a computer readable medium that covers both transitory and non-transitory embodiments may be amended to narrow the claim to cover only statutory embodiments to avoid a rejection under 35 U.S.C. § 101 by adding the limitation "non-transitory" to the claim. Claims 21-25 incorporates the deficiencies of claim 13 and do not add tangibility to the claimed subject matter, they are likewise rejected. 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 of this title, 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. The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention. 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 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. Claims 1, 3-7, 13, 14, 16-25 are rejected under 35 U.S.C. 103 as being unpatentable over Beavin et al. (US Pub No. 2007/0078813), in view of Cruanes et al. (US Pub No. 2021/0319025). As to claims 1, 13, 14, Beavin teaches a database-based data shard processing method, comprising: performing logical sharding on a data table based on a composite index of the data table and a preset shard size, to obtain a first boundary and a second boundary corresponding to each of shards obtained by the logical sharding, wherein a shard to be processed is any one of the shards obtained by the logical sharding, and a size of each the shards is the preset shard size (i.e. consider a predicate on column ci given by ci op lit, where op is any relational operator and lit is a literal, and further consider a succeeding operator defined on the domain for ci. For example, if the domain for ci includes integer values, then the succeeding operator is defined by succ(m) =m+1. On the other hand, if there is a constraint on an integer column such that the integer column can only have values that belong to 1, 4, and 7, then in this case succ(1)=4, and succ(4)=7) ... a range (pk−1,i, uci]U[lci, pk,i] ...for column Ci, [0037]; The given partition k can provide a bounded range (pk−1,i, uci] U [lci, pk,i] for values in column ci, where lci and uci represent the lower bound and the upper bound, [0008]); obtaining. a processing request for the shard to be processed in the data table (i.e. executing a query on data that has been partitioned into a plurality of partitions. The method includes providing partitioned data including n columns and k partitions, where k is an integer greater than (1) and n is an integer greater than (1). The partitioned data includes a limit key value associated with each of the n columns for a given k partition. The method further includes receiving a query including a predicate on column i of the partitioned data, where i is an integer greater than or equal to (1), and utilizing the predicate on column i in a pruning decision on at least one of the k partitions based on the limit key values associated with the k partitions, [0007[); determining a first type of logical condition based on a first boundary corresponding the shard to be processed, and determining a second type of logical condition based on a second boundary corresponding the shard to be processed, the first type of logical condition comprising first sub-conditions for defining data greater than or equal to the first boundary, and the second type of logical condition comprising second sub-conditions for defining data less than the second boundary (i.e. For example, consider the limit key distribution within partitioned index 600 of FIG. 6. In partitioned index 600, columns c1, c2, and c3 represent year, month, and day, respectively. Applying condition B to partition 3, column c2 satisfies the succeeding operator equation of condition B—i.e., succ(p2,2)=p3,2. Accordingly, the range specified (by the range equation for condition B) for column c3 of partition 3 is (30, ∞) and [1, 15]. Because column c3 represents days in a month, the specified range can be modified to (30, 31] and [1, 15, [0038]); combining each of the first sub-conditions with each of the second sub-conditions in pair separately to obtain candidate combined conditions (i.e. FIG. 7 illustrates a method for pruning partitions during a query of a database. Partitioned data is provided (e.g., a database system 106) including n columns and k partitions, in which k is an integer greater than (1) and n is an integer greater than (1) (step 702) ... a valid range that can be obtained from the range equation for condition A or B that is applicable to partition i and column cj., [0043]; For the join predicate example given above, notice that after we have used the predicate c1=a1 val1ˆc2≧a2 val1 to obtain a set of partitions of t1 that need to be scanned using the matrix and any new pseudo-partition that might have been added to the matrix using c1=a1 val1ˆc2≧a2 val1, [0045]); determining executable structured query languages based on an execution statement corresponding to the processing request and the candidate combined conditions (i.e. A query is received (e.g., by database system 106) including a predicate on column i, where i is an integer greater than or equal to (1) (step 704). In one implementation, the predicate represents a screening predicate or a stage 1 predicate. Further, in one implementation, one or more predicates are received in which there is not a predicate on the leading column of the partitioned data. For example, referring back to FIG. 2, predicates can be received on columns c2 and c3, and not on column c1 as follows—(c2≧10Λc3=6), [0046]); and executing the structured query languages to obtain a processing result corresponding to the processing request (i.e. The predicate on column i is utilized (e.g., by query optimizer 114) in a pruning decision on at least one of the k partitions of the partitioned data (step 706), [0046]). Beavin does not seem to specifically teach "a size of each the shards is the preset shard size". Cruanes teaches this limitation (i.e. The number of distinct values over all the columns in a micro-partition is bounded by a maximum size of the micro-partition. As an example, in the worst case, for a 16 MB partition, [0062]). It would have been obvious to one of ordinary skill of the art having the teaching of Beavin, Cruanes before the effective filing date of the claimed invention to modify the system of Beavin include the limitation as taught by Cruanes. One of ordinary skill in the art would be motivated to make this combination in order to organize a large source table into a set of micro-partitions, and create a pruning index for the source table in view of Cruanes ([0018]), as doing so would give the added benefit of efficiently creating a pruning index that may be used to construct a reduced scan set for processing a query as taught by as taught by Cruanes ([0018). As to claims 3, 16, 21, Beavin teaches the determining executable structure query languages based on an execution statement corresponding to the processing request and the candidate combined conditions comprises: determining executable target conditions from the candidate combined conditions (i.e. A query is received (e.g., by database system 106) including a predicate on column i, where i is an integer greater than or equal to (1) (step 704). In one implementation, the predicate represents a screening predicate or a stage 1 predicate. Further, in one implementation, one or more predicates are received in which there is not a predicate on the leading column of the partitioned data. For example, referring back to FIG. 2, predicates can be received on columns c2 and c3, and not on column c1 as follows—(c2≧10Λc3=6), [0046]); and constructing the structured query languages corresponding to the target conditions based on the execution statement corresponding to the processing request and the target conditions (i.e. The predicate on column i is utilized (e.g., by query optimizer 114) in a pruning decision on at least one of the k partitions of the partitioned data (step 706), [0046]). As to claims 4, 17, 22, Beavin teaches the determining executable target conditions from the candidate combined conditions comprises: determining ranges defined by index fields in the first sub-condition comprises in any one of the candidate combined conditions and ranges defined by index fields in the second sub-condition comprised in the candidate combined condition (i.e. consider a predicate on column ci given by ci op lit, where op is any relational operator and lit is a literal, and further consider a succeeding operator defined on the domain for ci. For example, if the domain for ci includes integer values, then the succeeding operator is defined by succ(m) =m+1. On the other hand, if there is a constraint on an integer column such that the integer column can only have values that belong to 1, 4, and 7, then in this case succ(1)=4, and succ(4)=7) ... a range (pk−1,i, uci]U[lci, pk,i] ...for column Ci, [0037]); determining the candidate combined condition as one of the target conditions when the ranges defined by the index fields in the first sub-condition comprised in the candidate combined condition all intersect with the ranges defined by the index fields in the second sub-condition comprised in the candidate combined condition (i.e. the range specified by the predicate ci op lit for column ci can be evaluated to determine an intersection, [0037]). As to claims 5, 18, 23, Beavin teaches: merging, based on a logical operation relationship when the ranges defined by the index fields in the first sub-condition comprised in the candidate combined condition all intersect with the ranges defined by the index fields in the second sub-condition comprised in the candidate combined condition, the first sub-condition and the second sub-condition that are comprised in the candidate combined condition, and determining one target condition based on the merged condition (i.e. The rules expressed above can be applied with join predicates to prune partitions. For example, consider a table with three columns, c1, c2, c3, which columns also form the partitioning columns for an index. Also, consider join predicates (c1=a1Λc2≧a2), where a1, a2 are columns provided by other tables in the join. If t1 is the inner table in the join, then the join predicates on c1 and c2 will act as matching predicates during run-time since specific values for a1 and a2 will be available at that time and, therefore, a conventional loop join implementation will prune partitions based on these join predicates. However, if the join predicates were in the form of (c1=a1Λc3≧a3), a conventional nested loop join implementation will not prune partitions based on the predicate c3 ≧a3. In contrast, using the rules discussed above, the predicates (c1=a1Λc3≧a3) can be used to prune partitions, [0041]). As to claims 6, 19, 24, Beavin teaches the processing request is a query request, and the executing the structured query languages to obtain a processing result corresponding to the processing request comprises: determining, based on a union set of execution results of the structured query languages, a query result corresponding to the processing request (i.e. The given partition k can provide a bounded range (pk−1,i, uci] U [lci, pk,i] for values in column ci, where lci and uci represent the lower bound and the upper bound, respectively, for values of ci., [0008]). As to claims 7, 20, 25, Beavin teaches the combining each of the first sub-conditions with each of the second sub-conditions in pairs separately to obtain candidate combined conditions comprises: combining each of the first sub-conditions with each the second sub-conditions in pairs separately by a logical AND operation, to obtain the candidate combined conditions (i.e. The rules expressed above can be applied with join predicates to prune partitions. For example, consider a table with three columns, c1, c2, c3, which columns also form the partitioning columns for an index. Also, consider join predicates (c1=a1Λc2≧a2), where a1, a2 are columns provided by other tables in the join. If t1 is the inner table in the join, then the join predicates on c1 and c2 will act as matching predicates during run-time since specific values for a1 and a2 will be available at that time and, therefore, a conventional loop join implementation will prune partitions based on these join predicates. However, if the join predicates were in the form of (c1=a1Λc3≧a3), a conventional nested loop join implementation will not prune partitions based on the predicate c3 ≧a3. In contrast, using the rules discussed above, the predicates (c1=a1Λc3≧a3) can be used to prune partitions, [0041]). Response to Arguments Applicant's arguments with respect to claims 1, 3-7, 13, 14, 16-25 have been considered but are moot in view of the new ground(s) of rejection. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Ziauddin et al. (US Pat. 9,514,187) – discloses techniques for using zone map information for post index access pruning. Wong et al. (US Pub. 2018/0218044) discloses systems, methods, and apparatuses for implementing a BY PARTITION command term within a multi-tenant aware structured query language within a computing environment. Any inquiry concerning this communication or earlier communications from the examiner should be directed to MIRANDA LE whose telephone number is (571)272-4112. The examiner can normally be reached M-F 7AM-5PM. 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, Kavita Stanley can be reached on 571-272-8352. 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. /MIRANDA LE/ Primary Examiner, Art Unit 2153
Read full office action

Prosecution Timeline

Apr 15, 2024
Application Filed
Dec 14, 2024
Non-Final Rejection — §101, §103
Mar 19, 2025
Response Filed
May 03, 2025
Final Rejection — §101, §103
Jul 07, 2025
Response after Non-Final Action
Aug 05, 2025
Request for Continued Examination
Aug 08, 2025
Response after Non-Final Action
Dec 27, 2025
Non-Final Rejection — §101, §103
Mar 30, 2026
Response Filed

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12591565
PREDICTING PURGE EFFECTS IN HIERARCHICAL DATA ENVIRONMENTS
2y 5m to grant Granted Mar 31, 2026
Patent 12547635
METHOD AND APPARATUS FOR SPATIAL DATA PROCESSING
2y 5m to grant Granted Feb 10, 2026
Patent 12517907
GRAPH-BASED QUERY ENGINE FOR AN EXTENSIBILITY PLATFORM
2y 5m to grant Granted Jan 06, 2026
Patent 12517929
MAPPING DISPARATE DATASETS
2y 5m to grant Granted Jan 06, 2026
Patent 12488015
SYSTEMS AND METHODS FOR INTERACTIVE ANALYSIS
2y 5m to grant Granted Dec 02, 2025
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

3-4
Expected OA Rounds
75%
Grant Probability
99%
With Interview (+73.2%)
3y 8m
Median Time to Grant
High
PTA Risk
Based on 492 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in for Full Analysis

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

Free tier: 3 strategy analyses per month