Prosecution Insights
Last updated: October 02, 2026
Application No. 18/635,503

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

Non-Final OA §103
Filed
Apr 15, 2024
Priority
Apr 28, 2023 — CN 202310480018.5
Examiner
LE, MIRANDA
Art Unit
2153
Tech Center
2100 — Computer Architecture & Software
Assignee
Beijing Volcano Engine Technology Co., Ltd.
OA Round
4 (Non-Final)
75%
Grant Probability
Favorable
4-5
OA Rounds
1y 2m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 75% — above average
75%
Career Allowance Rate
376 granted / 502 resolved
+19.9% vs TC avg
Strong +77% interview lift
Without
With
+77.3%
Interview Lift
resolved cases with interview
Typical timeline
3y 8m
Avg Prosecution
12 currently pending
Career history
523
Total Applications
across all art units

Statute-Specific Performance

§101
16.6%
-23.4% vs TC avg
§103
70.0%
+30.0% vs TC avg
§102
4.9%
-35.1% vs TC avg
§112
3.7%
-36.3% vs TC avg
Black line = Tech Center average estimate • Based on career data from 502 resolved cases

Office Action

§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 This communication is responsive to Amendment, filed 03/30/2026. Claims 1, 3-5, 7, 13, 14, 16-18, 20-23, 25 are pending in this application. Claims 2, 6, 8-12, 15, 19, 24 were cancelled. This action is made Final. 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-5, 7, 13, 14, 16-18, 20-23, 25 are rejected under 35 U.S.C. 103 as being unpatentable over Raghavan et al. (US Pub No. 2011/0029557), in view of Liu et al. (US Pub No. 2020/0242157). As to claims 1, 13, 14, Raghavan 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 shard size, to obtain a first boundary and a second boundary corresponding to each shards obtained by the logical sharding, wherein a shard is any of the shards obtained by the logical sharding, and a size of each the shards is the shard size (i.e. create table tb1 ( a number, b number) partition by range ( a, b), [0024]; A composite key is a key composed of values from two or more columns (“key columns”). Values from those key columns (“constituent key values”) are combined in a particular order to form a composite key value, [0020]; Composite keys can be composed of two or more key columns. For example, a composite key composed of five key columns has the form (A, B, C, D, E), where A, B, C, D, and E are key columns. A contiguous array of key columns that begins with the highest order key column of a composite key is referred to as a “prefix” of the composite key. For example, (A), (A, B), (A, B, C), (A, B, C, D) and (A, B, C, D, E) are all prefixes of the composite key (A, B, C, D, E). In contrast, (A, C) and (B) are not prefixes of the composite key (A, B, C, D, E), [0022]); obtaining a processing request for the shard in the data table, the processing request being a query request (i.e. a query such as: select * from tb1 where a<5 or a>11, [0056]; create table tb4 (a number, b number) partition by range (a) ... partition p0, partition p1, partition p2, [0055]); determining a first type of logical condition based on a first boundary corresponding to the shard, and determining a second type of logical condition based on a second boundary corresponding to the shard, 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. would cause the database server to establish a not-pruned range of p0 to p2, since p0 is the lower bound partition for the expression “a<5 or a>11”, and p2 is the upper bound partition for the expression “a<5 or a>11”. Because the not-pruned range is p0 to p2, the database server would access all of the partitions of tb4, even though partition p1 could not possibly satisfy the expression “a<5 or a>11”, [0057]); combining each of the first sub-conditions with each of the second sub-conditions in pairs separately to obtain candidate combine conditions (i.e. a pruning mechanism is provided which traverses the “OR” chains at compile time to find all predicates on partitioning columns. If predicates on partitioning columns are present in all OR branches, then pruning is possible, and the predicate information of the query is saved, [0058]); determining executable structured query languages based on an execution statement corresponding to the processing request and the candidate combined conditions (i.e. When the query is executed, the predicate information is inspected, and a not-pruned set is determined for each OR predicate. The not-pruned sets thus produced are then combined (“ORed”) to create a composite not-pruned set for the entire expression. Partitions that are not in the composite not-pruned set are then pruned during execution of the query, [0059]); and determining, based on a union set of execution results of the structured query languages, a query result corresponding to the processing request (i.e. For example, during compile time, the database server would determine that the expression “a<5 or a>11” includes predicates on the partitioning column of tb4 in all OR branches of the predicate ... The union of the two not-pruned sets would yield a composite not-pruned set that includes p0 and p2, but not p1. The composite not-pruned set would be used to exclude p1 from consideration during execution of the query, [0060]). Raghavan implicitly teaches the term "shard" (i.e. create table tb1 ( a number, b number) partition by range ( a, b), [0024]; A composite key is a key composed of values from two or more columns (“key columns”). Values from those key columns (“constituent key values”) are combined in a particular order to form a composite key value, [0020]; Composite keys can be composed of two or more key columns. For example, a composite key composed of five key columns has the form (A, B, C, D, E), where A, B, C, D, and E are key columns. A contiguous array of key columns that begins with the highest order key column of a composite key is referred to as a “prefix” of the composite key. For example, (A), (A, B), (A, B, C), (A, B, C, D) and (A, B, C, D, E) are all prefixes of the composite key (A, B, C, D, E). In contrast, (A, C) and (B) are not prefixes of the composite key (A, B, C, D, E), [0022]). Raghavan does not clearly state this term. Liu teaches this term (i.e. each of shard servers 312, 314, and 316 has access to storage 332, 334 and 336, respectively. For horizontal partitioning purposes, each shard of sharded table X is assigned to only one of the shard servers. For the purpose of explanation, it shall be assumed that shards 1, 2 and 3 of table X are assigned respectively to shard servers 312, 314 and 316, [0029]). It would have been obvious to one of ordinary skill of the art having the teaching of Raghavan, Liu before the effective filing date of the claimed invention to modify the system of Raghavan to include the limitations as taught by Liu. One of ordinary skill in the art would be motivated to make this combination in order to assign each shard of shared table to only one of the shard servers in view of Liu ([0029]), as doing so would give the added benefit of maintaining data indicating the shard-to-shard-server mapping, and making use of that mapping data to intelligently determine where to send a query that targets a sharded table as taught by Liu ([0032]). As to claims 3, 16, 21, Raghavan 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 first conditions from the candidate combined conditions (i.e. the predicate only specifies a condition on column B. Since the table tb1 is partitioned on the composite key (A, B), column B is not a prefix of the composite key. Nevertheless, the database server compares the condition B<5 against the constituent-key-range for column B of the partitions of tb1 to determine which partitions may be pruned during execution of that query. In the present example, it is only possible for partitions p0 and p3 to contain data items that would satisfy the condition B<5. Therefore, partitions p1 and p2 are pruned by the database server prior to execution of the query, [0031]); and constructing the structured query languages corresponding to the first conditions based on the execution statement corresponding to the processing request and the first conditions (i.e. the predicate only specifies a condition on column B. Since the table tb1 is partitioned on the composite key (A, B), column B is not a prefix of the composite key. Nevertheless, the database server compares the condition B<5 against the constituent-key-range for column B of the partitions of tb1 to determine which partitions may be pruned during execution of that query. In the present example, it is only possible for partitions p0 and p3 to contain data items that would satisfy the condition B<5. Therefore, partitions p1 and p2 are pruned by the database server prior to execution of the query, [0031]). As to claims 4, 17, 22, Raghavan teaches the determining executable first 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. In an embodiment that uses two-phase pruning, during the compile-time pruning, the database server identifies an upper bound partition and a lower bound partition. The lower bound and upper bound partitions define a contiguous range of partitions (a “not-pruned range”). All partitions that fall outside the not-pruned range are considered pruned, [0034]); determining the candidate combined condition as one of the first 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. To determine the not-pruned range, the database server compares (1) predicates involving a prefix of the composite key against (2) the bounds of the partitions. The highest partition that can possibly contain data items that satisfy the query is selected as the upper bound partition. The lowest partition that can possibly contain data items that satisfy the query is selected as the lower bound partition. Data that identifies the not-pruned range is then stored at compile time for later use by the database server at execution time, [0035]). As to claims 5, 18, 23, Raghavan 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 first condition based on the merged condition (i.e. To determine the not-pruned range, the database server compares (1) predicates involving a prefix of the composite key against (2) the bounds of the partitions. The highest partition that can possibly contain data items that satisfy the query is selected as the upper bound partition. The lowest partition that can possibly contain data items that satisfy the query is selected as the lower bound partition. Data that identifies the not-pruned range is then stored at compile time for later use by the database server at execution time, [0035]). As to claims 7, 20, 25, Raghavan 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. Assume that the database server receives the following query: select * from tb2 where A<6 and B<5; Table tb2 is partitioned based on the composite partition key (A, B). Key column (A) is a prefix of the composite partition key. Therefore, the condition “A<6” involves a prefix of the composite key. According to one embodiment, the database server applies the condition “A<6” against the bounds of the partitions of tb2. As a result, the not-pruned range is established as p0 through p3. Partition p4 would be excluded because the lower bound of p4 (i.e. 10, 5) does not satisfy the condition “A<6”; According to an alternative embodiment, the database server derives the predicate “(A, B)<(6, 5)” from the query's actual predicate “A<6 and B<5”. This derived predicate can then be easily compared against the bounds of the partitions to identify the upper bound and lower bound partitions of the not-pruned range. Use of this derived predicate yields the same not-pruned range of p0 through p3, [0037-0039]). Response to Arguments Applicant's arguments with respect to claims 1, 3-5, 7, 13, 14, 16-18, 20-23, 25 have been considered but are moot in view of the new ground(s) of rejection. Conclusion Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. 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

Show 3 earlier events
May 07, 2025
Final Rejection mailed — §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 31, 2025
Non-Final Rejection mailed — §103
Mar 30, 2026
Response Filed
May 14, 2026
Final Rejection mailed — §103
Jul 13, 2026
Response after Non-Final Action

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12748812
IDENTIFYING COMPUTING PRODUCTS FROM A SEARCH QUERY
2y 5m to grant Granted Sep 29, 2026
Patent 12717859
ALLOCATING COMMUNICATION RESOURCES VIA INFORMATION TECHNOLOGY INFRASTRUCTURE
4y 4m to grant Granted Aug 25, 2026
Patent 12717773
INGESTING DATA FROM INDEPENDENT SOURCES AND PARTITIONING DATA ACROSS DATABASE SYSTEMS
3y 8m to grant Granted Aug 25, 2026
Patent 12717679
Data Reconstruction in Distributed Storage Systems
2y 5m to grant Granted Aug 25, 2026
Patent 12699682
AUTOMATED PLANT MONITORING SYSTEMS AND METHODS
4y 7m to grant Granted Aug 04, 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

4-5
Expected OA Rounds
75%
Grant Probability
99%
With Interview (+77.3%)
3y 8m (~1y 2m remaining)
Median Time to Grant
High
PTA Risk
Based on 502 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