Prosecution Insights
Last updated: October 02, 2026
Application No. 18/787,200

ROWLOCKING FOR DIVERSE STORES

Non-Final OA §103
Filed
Jul 29, 2024
Examiner
EYERS, DUSTIN D
Art Unit
2164
Tech Center
2100 — Computer Architecture & Software
Assignee
SAP SE
OA Round
5 (Non-Final)
58%
Grant Probability
Moderate
5-6
OA Rounds
1y 4m
Est. Remaining
81%
With Interview

Examiner Intelligence

Grants 58% of resolved cases
58%
Career Allowance Rate
135 granted / 232 resolved
+3.2% vs TC avg
Strong +23% interview lift
Without
With
+22.7%
Interview Lift
resolved cases with interview
Typical timeline
3y 6m
Avg Prosecution
16 currently pending
Career history
255
Total Applications
across all art units

Statute-Specific Performance

§101
20.6%
-19.4% vs TC avg
§103
63.2%
+23.2% vs TC avg
§102
6.6%
-33.4% vs TC avg
§112
6.7%
-33.3% vs TC avg
Black line = Tech Center average estimate • Based on career data from 232 resolved cases

Office Action

§103
DETAILED ACTION Claims 1-20 are pending. Claims 1, 5, 8, 12, 15, and 19 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 07/23/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- 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Merker et al., Patent Application Publication No. 2020/0311044 (hereinafter Merker) in view of Li et al., Patent Application Publication No. 2023/0306012 (hereinafter Li), Barsness et al., Patent Application Publication No. 2018/0121505 (hereinafter Barsness), and VanBenschoten et al., Patent Application Publication No. 2023/0021150 (hereinafter VanBenschoten). Regarding claim 1, Merker teaches: A computer-implemented method comprising: receiving, via a query optimizer of a database execution engine and from a user equipment (Merker Paragraph [0055], The database execution engine 150 may include a query optimizer 110, Paragraph [0021], the execution engine may be configured to receive a query, generate a query plan (including for example query algebra), optimize the query plan), a structured query language (SQL) query targeting a column-store table and a row-store table (Merker Paragraph [0054], where the data can be queried or operated on using operations including SQL commands, Paragraph [0046], the query handler may acquire locks for the data stored in the located row and the column in the row), wherein the SQL query includes a rowlock request to lock at least one row in the column-store table and the row-store table (Merker Paragraph [0046], the query handler may acquire locks for the data stored in the located row and the column in the row); generating, using the query optimizer (Merker Paragraph [0055], The database execution engine 150 may include a query optimizer 110), a query execution plan for execution of the SQL query (Merker Paragraph [0019], To implement the complex sequence, a query execution plan (or query plan for short) may be implemented, Paragraph [0054], where the data can be queried or operated on using operations including SQL commands), wherein generating the query execution plan comprises (Merker Paragraph [0019], To implement the complex sequence, a query execution plan (or query plan for short) may be implemented, Paragraph [0054], where the data can be queried or operated on using operations including SQL commands); executing, using a query execution engine of the database execution engine and based on executable code received from a query plan compiler (Merker Paragraph [0057], The query optimizer 110 may form an optimum query plan, which may represent a query algebra, as noted above. To compile a query plan, the query optimizer 110 may provide the query plan to the query plan compiler 116), the query execution plan to execute the SQL query by accessing a given rowlock accessor via the rowlock operator to lock the at least one row (Merker Paragraph [0054], where the data can be queried or operated on using operations including SQL commands (shows that the query can be an SQL query), Paragraph [0057], The query optimizer 110 may form an optimum query plan, which may represent a query algebra, as noted above. To compile a query plan, the query optimizer 110 may provide the query plan to the query plan compiler 116 (shows the query plan), Paragraph [0026], acquiring locks for all of the data tables may, during the sequence of operations, require the operator to read all of the data stored in all of the data tables that have been opened (shows the operator associated with the lock)), wherein each of the plurality of rowlock accessors, the rowlock operator (Merker Paragraph [0006], The locating may also include acquiring locks, by the query handler, for the plurality of rows of the first fragment while reading the plurality of rows of the first fragment (Merker teaches runtime execution while Li teaches the accessor)), and the rowlock relation is an operator executed at runtime of the SQL query (Merker Paragraph [0054], where the data can be queried or operated on using operations including SQL commands, Paragraph [0061], When the code for the query plan is ready for execution during runtime, the query execution engine 112 may step through the code performing some of the operations within the database execution engine 150), Merker does not expressly disclose: creating a plurality of rowlock accessors for a plurality of storage layers responsive to receiving the query with the rowlock request, wherein each rowlock accessor uses a set of coordinates stored in a corresponding column store rowlock accessor factory and row store rowlock accessor factory to access a storage layer of the plurality of storage layers, wherein the column store rowlock accessor factory and the row store rowlock accessor factory exist in the plan generation layer of the query execution engine. However, Li teaches: creating a plurality of rowlock accessors for a plurality of storage layers responsive to receiving the query with the rowlock request (Li Paragraph [0054], it introduces a type of lock basing on a primary key or key range combine with table columns to realize column level lock and range-column lock; (iii) user could request key-column level lock for row level access and request range-column lock for range data access), wherein each rowlock accessor uses a set of coordinates stored in a corresponding column store rowlock accessor factory and row store rowlock accessor factory to access a storage layer of the plurality of storage layers (Li Paragraph [0054], it introduces a type of lock basing on a primary key or key range combine with table columns to realize column level lock and range-column lock; (iii) user could request key-column level lock for row level access and request range-column lock for range data access, Paragraph [0048], Each bit in the column bit array represents the presence (with a 1 value) or the absence (with a 0 value) of at least one instance of a range-column lock of that lock type in that column but does not indicate which key ranges are applied to any of the range-column locks), wherein the column store rowlock accessor factory and the row store rowlock accessor factory exist in the plan generation layer of the query execution engine (Li Paragraph [0054], it introduces a type of lock basing on a primary key or key range combine with table columns to realize column level lock and range-column lock; (iii) user could request key-column level lock for row level access and request range-column lock for range data access). The claimed invention and Li are from the analogous art of rowlock 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 Merker in view of Li to have combined Merker in view of Li. Li teaches improvement with respect to the current state of the art including a lower lock level, the highest concurrency but more lock resource is needed (Paragraph 52). Merker in view of Li does not expressly disclose: inserting a rowlock relation into the query execution plan, creating a rowlock operator for the query execution plan, and setting the plurality of rowlock accessors to enable locking of a plurality of targeted rows; and However, Barsness teaches: inserting a rowlock relation into the query execution plan (Barsness Paragraph [0014], the Query Optimizer 174 or another component on Database System 160 considers the effect that a resource-efficient slower query plan will have on other jobs. For example, if the query will lock a large number of rows), creating a rowlock operator for the query execution plan (Barsness Paragraph [0014], the Query Optimizer 174 or another component on Database System 160 considers the effect that a resource-efficient slower query plan will have on other jobs. For example, if the query will lock a large number of rows), and setting the plurality of rowlock accessors to enable locking of a plurality of targeted rows (Barsness Paragraph [0014], the Query Optimizer 174 or another component on Database System 160 considers the effect that a resource-efficient slower query plan will have on other jobs. For example, if the query will lock a large number of rows); and The claimed invention and Barsness are from the analogous art of query execution plans. 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 Merker in view of Li and Barsness to have combined Merker in view of Li and Barsness. Barsness teaches optimizing query plans to determine if a query is delayable and executing queries based off of the query plan according to a first schedule (Paragraphs 3 and 4). Merker in view of Li and Barsness does not expressly disclose: wherein the query execution engine comprises a plan generation layer and a plan execution layer; and However, VanBenschoten teaches: wherein the query execution engine comprises a plan generation layer and a plan execution layer (VanBenschoten Paragraph [0043], Based on generating the physical plan, the SQL layer may send the physical plan to one or more nodes for execution, Paragraph [0046], the SQL layer may encode data for use by the lower layers of the database during query execution); and The claimed invention and VanBenschoten are from the analogous art of plan generation 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 Merker in view of Li, Barsness, and VanBenschoten to have combined Merker in view of Li, Barsness, and VanBenschoten. VanBenschoten teaches improved techniques for a database to serve consistent and low latency reads while minimizing the disruption from contending transactions (Paragraph 24). Regarding claim 2, Merker in view of Li, Barsness, and VanBenschoten further teaches: The computer-implemented method of claim 1, wherein the plurality of storage layers include a first persistence layer that corresponds to the column-store table and a second persistence layer that corresponds to the row-store table (Merker Paragraph [0063], while the database's persistence/storage layer 190A-N can perform simpler operations to reduce the processing burden at the database's persistence/storage layer 190A-N (shows multiple persistence layers), Paragraph [0021], there may be provided an execution engine that may decouple the higher-level, application layer from the database layer (e.g., the persistence or storage layer where data including database tables may be stored and/or queried using instructions). Regarding claim 3, Merker in view of Li, Barsness, and VanBenschoten further teaches: The computer-implemented method of claim 2, wherein the first and second persistence layers are configured to provide persistent storage of data for the column-store and row-store tables, respectively (Merker Paragraph [0063], while the database's persistence/storage layer 190A-N can perform simpler operations to reduce the processing burden at the database's persistence/storage layer 190A-N (shows multiple persistence layers), Paragraph [0021], there may be provided an execution engine that may decouple the higher-level, application layer from the database layer (e.g., the persistence or storage layer where data including database tables may be stored and/or queried using instructions). Regarding claim 4, Merker in view of Li, Barsness, and VanBenschoten further teaches: The computer-implemented method of claim 1, wherein the at least one row is identified by at least one row identifier (Merker Paragraph [0009], the row associated with the identifier includes a plurality of rows of the table). Regarding claim 5, Merker in view of Li, Barsness, and VanBenschoten further teaches: The computer-implemented method of claim 1, wherein the plan generation layer is transient and dissolves following the generating of the query execution plan (VanBenschoten Paragraph [0042], the SQL layer may perform semantic analysis. In some cases, as a part of semantic analysis, the SQL layer may determine whether the query of the SQL request is valid, resolve names within the query, remove intermediate computations that are determined to be unnecessary, and/or determine data types for intermediate results of the query), while the plan execution layer survives the generating of the query execution plan and is used during the executing of the query execution plan (VanBenschoten Paragraph [0042], the SQL layer may optimize the logical query plan using a search algorithm, wherein the search algorithm evaluates one or more methods of executing the query and selects the method having the lowest cost). Regarding claim 6, Merker in view of Li, Barsness, and VanBenschoten further teaches: The computer-implemented method of claim 1, wherein the plurality of rowlock accessors are created during a plan generation phase of the query execution plan (Li Paragraph [0054], it introduces a type of lock basing on a primary key or key range combine with table columns to realize column level lock and range-column lock; (iii) user could request key-column level lock for row level access and request range-column lock for range data access (Merker teaches the plan)). Regarding claim 7, Merker in view of Li, Barsness, and VanBenschoten further teaches: The computer-implemented method of claim 1, wherein the at least one row is locked via a corresponding persistence layer (Li Paragraph [0054], it introduces a type of lock basing on a primary key or key range combine with table columns to realize column level lock and range-column lock; (iii) user could request key-column level lock for row level access and request range-column lock for range data access (VanBenschoten teaches the layers)). Claims 8-20 are rejected in the same manner as claims 1-7 but are merely directed to a different statutory category while claiming the same invention (method, system, and computer readable medium). Merker teaches one or more processors and one or more memories (Paragraph 10). Response to Arguments Applicant’s arguments, see pages 8-12, filed 07/23/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 references. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Arakawa et al., Patent Application Publication No. 2013/0346363 (hereinafter Arakawa). Arakawa teaches updating a target row and a single column in a lock range (Paragraph 135). This shows that Arakawa and the claimed invention are analogous art as both are directed to locking rows and columns. 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
Read full office action

Prosecution Timeline

Show 6 earlier events
Oct 27, 2025
Request for Continued Examination
Oct 31, 2025
Response after Non-Final Action
Dec 17, 2025
Non-Final Rejection mailed — §103
Mar 10, 2026
Response Filed
Apr 28, 2026
Final Rejection mailed — §103
Jul 23, 2026
Request for Continued Examination
Jul 26, 2026
Response after Non-Final Action
Sep 11, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12743421
METHOD, A SYSTEM AND A COMPUTER PROGRAM PRODUCT FOR PREDICTING DATABASE QUERY PERFORMANCE
4y 6m to grant Granted Sep 22, 2026
Patent 12699695
SEARCHING FOR AND RETRIEVING THREE-DIMENSIONAL (3D) VIRTUAL OBJECTS
2y 5m to grant Granted Aug 04, 2026
Patent 12688167
DOMAIN-SPECIFIC DATA RECORDS SYNCHRONIZATION
4y 9m to grant Granted Jul 21, 2026
Patent 12688200
SYSTEMS AND METHODS FOR DATA REPLICATION SYNCHRONIZATION
2y 7m to grant Granted Jul 21, 2026
Patent 12681908
EFFICIENT INTEGER PROGRAMMING SEARCH FOR MATCHING ENTITIES USING MACHINE LEARNING
2y 6m to grant Granted Jul 14, 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

5-6
Expected OA Rounds
58%
Grant Probability
81%
With Interview (+22.7%)
3y 6m (~1y 4m remaining)
Median Time to Grant
High
PTA Risk
Based on 232 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