Prosecution Insights
Last updated: April 19, 2026
Application No. 18/759,370

ROWBLOCK MODIFICATIONS FOR RECORD-AWARE DISTRIBUTED STORAGE SYSTEMS

Non-Final OA §101§103
Filed
Jun 28, 2024
Examiner
CHIANG, JASON
Art Unit
2431
Tech Center
2400 — Computer Networks
Assignee
Amazon Technologies, Inc.
OA Round
1 (Non-Final)
83%
Grant Probability
Favorable
1-2
OA Rounds
2y 9m
To Grant
99%
With Interview

Examiner Intelligence

Grants 83% — above average
83%
Career Allow Rate
450 granted / 542 resolved
+25.0% vs TC avg
Strong +29% interview lift
Without
With
+28.6%
Interview Lift
resolved cases with interview
Typical timeline
2y 9m
Avg Prosecution
21 currently pending
Career history
563
Total Applications
across all art units

Statute-Specific Performance

§101
10.7%
-29.3% vs TC avg
§103
57.9%
+17.9% vs TC avg
§102
8.2%
-31.8% vs TC avg
§112
8.9%
-31.1% vs TC avg
Black line = Tech Center average estimate • Based on career data from 542 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 This action is in response to the communication filed on 06/28/2024. Claims 1-20 are under examination. The Information Disclosure Statements filed on 07/08/2024, 06/04/2025, 07/25/2025, 09/04/2025, 10/06/2025 and 12/11/2025 have been entered and considered. Claim Objections Claim 1 is objected to because of the following informalities: Claim 1 recites “critieria” in line 14. Appropriate correction is required. 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 5-12 are rejected under 35 U.S.C. 101 because the claimed invention is not directed to patent eligible subject matter. Based upon consideration of all of the relevant factors with respect to the claim as a whole, claim(s) 5-12 are determined to be directed to an abstract idea. The rationale for this determination is explained below: Claims 5-12 recite a method. However, these claims do not recite a machine to execute the said method. Therefore, claim(s) 5-12 are determined to be directed to an abstract idea. 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. Claims 1, 5, 12-13 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Helland (US 2022/0391376 A1) and Huei (US 5,544,357 A). Regarding claim 1, Helland discloses A system, comprising: a first plurality of nodes, respectively comprising at least one processor and a memory, that implement a database service that provides access to databases on behalf of clients of the database service [par. 0031, worker cluster have worker nodes, par. 0032, worker nodes may execute within respective virtual environments hosted on server-based hardware included within a datacenter of the cloud provider, par. 0033, “database 110 may include supporting software (e.g., storage nodes) that allow for worker nodes 120 to carry out operations (e.g., accessing, storing, etc.) on the information stored at database”]; a second plurality of nodes, respectively comprising at least one further processor and a further memory, that implement a distributed storage service that stores tables of the databases on behalf of the database service [par. 0033, ”database 110 is implemented using a single or multiple storage devices that are connected together on a network (e.g., a storage attached network (SAN)) and configured to redundantly store information in order to prevent data loss. The storage devices may store data persistently and thus database 110 may serve as a persistent storage for system 100”]; wherein the database service comprises at least one data access node that is configured to send a plurality of access requests to a storage service engine for the distributed storage service to access at least a portion of a table stored at one or more storage nodes of the distributed storage service [par. 0035, “a worker node 120 may receive a transaction request 125 from an application node (not shown) to perform a database transaction. A database transaction, in various embodiments, is a logical unit of work (e.g., a specified set of database operations) to be performed in relation to database 110. For example, processing a database transaction may include executing a SQL SELECT command to select one or more rows from one or more database tables. The contents of a row may be specified in a record 115 and thus a worker node 120 may return one or more records 115 that correspond to the one or more table rows. Performing a database transaction can include a worker node 120 writing one or more records 115 to database 110”]; wherein the storage service engine is configured to: evaluate the plurality of access requests according to different rowblock store adaptation criteria to determine a rowblock store modification that changes a location of a current or future version of one or more records in the portion of the table in the rowblock store; instruct the one or more storage nodes to perform the rowblock store modification at the rowblock store at the one or more storage nodes [par. 0034, “records 115 are immutable and thus to update the underlying database construct (e.g., a row in a table), a new record 115 is written. Accordingly, a database construct may be associated with multiple records 115, each of which is a different version of that database construct”, par. 0035, “processing a database transaction may include executing a SQL SELECT command to select one or more rows from one or more database tables. The contents of a row may be specified in a record 115 and thus a worker node 120 may return one or more records 115 that correspond to the one or more table rows”, par. 0044, “worker node 120 sends a record request 204 to the location. As shown for example, worker node 120 sends a record request 204 to database 110. Record request 204 may specify a key 215 corresponding to a record 115 that can be used by the receiver to attempt to locate that record 11”, par. 0092, “the worker node may commit the transaction and flush the record to the persistent storage shared among the plurality of worker nodes”, par. 0132, modify the value of a row of a table… new record]. Helland does not explicitly disclose update a rowblock map at the storage service engine to reflect the rowblock storage modification, wherein one or more subsequent access requests received from the at least one data access node are performed using the updated rowblock map. However Huei teaches update a rowblock map at the storage service engine to reflect the rowblock storage modification [claim 1, “a key memory manager for adding new map entries to say key memory, a new map entry relating a key value of a newly-created record of said database to a record address value of said newly-created record, and for deleting a map entry from said key memory when a record is deleted from said database”], wherein one or more subsequent access requests received from the at least one data access node are performed using the updated rowblock map [col. 1, lines 35-38, “database management software for execution on the central processor that requests a mapping from key values to record address values by issuing requests over the bus interface to the search processor”, claim 1]. Before the effective filing date of the claimed invention, it would have been obvious to a person having ordinary skill in the art to incorporate the teaching of Huei into the teaching of Helland with the motivation for accelerated processing of transactions on computer databases as taught by Huei [Huei: col. 1, lines 7-9]. Regarding claim 5, it recites limitations like claim 1. The reason for the rejection of claim 1 is incorporated herein. Regarding claim 12, the rejection of claim 5 is incorporated. Helland further discloses the database access application is hosted as part of a database service of a provider network along with the storage service engine [par. 0031, worker cluster have worker nodes, par. 0032, worker nodes may execute within respective virtual environments hosted on server-based hardware included within a datacenter of the cloud provider, par. 0033, “database 110 may include supporting software (e.g., storage nodes) that allow for worker nodes 120 to carry out operations (e.g., accessing, storing, etc.) on the information stored at database”] and wherein the distributed storage service is also implemented as part of the provider network [par. 0033, ”The storage devices may store data persistently and thus database 110 may serve as a persistent storage for system 100”, par. 0032, “system 100 is implemented using a cloud infrastructure that is provided by a cloud provider”]. Regarding claim 13, it recites limitations like claim 1. The reason for the rejection of claim 1 is incorporated herein. Regarding claim 20, it recites limitations like claim 12. The reason for the rejection of claim 12 is incorporated herein. Claims 2-3, 6-7 and 14-15 are rejected under 35 U.S.C. 103 as being unpatentable over Helland (US 2022/0391376 A1) and Huei (US 5,544,357 A) as applied to claims 1, 5, 12-13 and 20 above, and further in view of Krishnamoorthy et al. (US 10,108669 B1). Regarding claim 2, the rejection of claim 1 is incorporated. Helland discloses rowblock modification. They do not explicitly disclose the rowblock modification is a record identifier split determined according to record identifier split adaptation criteria and wherein instructing the rowblock modification causes the one or more storage nodes to: seal a current rowblock with a first record identifier range and a first time value range from storing further record versions; create a first new rowblock with a first portion of the first record identifier range and the first time value range; and create a second new rowblock with a remaining portion of the first record identifier range and the first time value range. However Krishnamoorthy et al. teaches the rowblock modification is a record identifier split determined according to record identifier split adaptation criteria and wherein instructing the rowblock modification causes the one or more storage nodes to: seal a current rowblock with a first record identifier range and a first time value range from storing further record versions [col. 4, line 64-col. 5, line 6, “if data metrics associated with a default sub partition of a particular tenant indicate that the volume of data records of the default sub partition is greater than a certain threshold number of data records, and further indicate that the majority of the operations that were performed against data records were primarily against data records associated with a certain value for a particular data attribute, then the default sub partition may be split into two sub partitions, based on a sub partition strategy that partitions according to the particular data attribute”]; create a first new rowblock with a first portion of the first record identifier range and the first time value range; and create a second new rowblock with a remaining portion of the first record identifier range and the first time value range [col. 10, lines 53-60, “ A sub partition strategy that partitions data records based on two time period identifiers may be used to split default sub partition 303a into a new sub partition 303b and the existing default sub partition 303a. In this approach, all data records associated with period identifiers Jan2014 or Feb2014 in default sub partition 303a are partitioned into sub partition 303b and the default sub partition 303a comprises the remaining data records”]. Before the effective filing date of the claimed invention, it would have been obvious to a person having ordinary skill in the art to incorporate the teaching of Krishnamoorthy et al. into the teaching of Helland and Huei with the motivation for partitioning a data table into one or more partitions based on tenant specific partition strategies as taught by Krishnamoorthy et al. [Krishnamoorthy et al.: col. 2, lines 44-46]. Regarding claim 3, the rejection of claim 1 is incorporated. Helland discloses rowblock modification. They do not explicitly disclose the rowblock modification is a time split determined according to time split adaptation criteria and wherein instructing the rowblock modification causes the one or more storage nodes to: seal a current rowblock with a first record identifier range and a first time value range from storing further record versions; and create a new rowblock starting from a point in the first time value range and the first record identifier range. However Krishnamoorthy et al. teaches the rowblock modification is a time split determined according to time split adaptation criteria and wherein instructing the rowblock modification causes the one or more storage nodes to: seal a current rowblock with a first record identifier range and a first time value range from storing further record versions; and create a new rowblock starting from a point in the first time value range and the first record identifier range [col. 8, line 58 – col. 9, line3, “application service provider may specify that when the volume of data records within a sub partition exceeds a certain threshold number, the sub partition strategy to be determined for the sub partition should be to split the sub partition by a particular time period such as by fiscal quarter, by month, or by week. By further sub partitioning only that particular sub partition using a sub partition strategy selected based on certain data metrics associated with that particular sub partition, and because a sub partition may only be associated with one particular tenant, the application service provider is able to partition a particular tenant's data based on statistics associated with data of only that particular tenant”]. Before the effective filing date of the claimed invention, it would have been obvious to a person having ordinary skill in the art to incorporate the teaching of Krishnamoorthy et al. into the teaching of Helland and Huei with the motivation for partitioning a data table into one or more partitions based on tenant specific partition strategies as taught by Krishnamoorthy et al. [Krishnamoorthy et al.: col. 2, lines 44-46]. Regarding claim 6, it recites limitations like claim 2. The reason for the rejection of claim 2 is incorporated herein. Regarding claim 7, it recites limitations like claim 3. The reason for the rejection of claim 3 is incorporated herein. Regarding claim 14, it recites limitations like claim 2. The reason for the rejection of claim 2 is incorporated herein. Regarding claim 15, it recites limitations like claim 3. The reason for the rejection of claim 3 is incorporated herein. Claims 4, 8 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Helland (US 2022/0391376 A1) and Huei (US 5,544,357 A) as applied to claims 1, 5, 12-13 and 20 above, and further in view of Brahmadesam et al. (US 11,341,001 B1). Regarding claim 4, the rejection of claim 1 is incorporated. Helland discloses rowblock modification. They do not explicitly disclose the rowblock modification is a rowblock movement determined according to rowblock adaptation criteria and wherein instructing the rowblock modification causes the one or more storage nodes to: move a rowblock from a first segment in a first protection group to a second segment in a second protection group. However Brahmadesam et al. teaches the rowblock modification is a rowblock movement determined according to rowblock adaptation criteria and wherein instructing the rowblock modification causes the one or more storage nodes to: move a rowblock from a first segment in a first protection group to a second segment in a second protection group [col. 13, lines 59-65, “a database instance desiring to move database records or pages from a first protection group to a second protection group (e.g., from a more active protection group to a lesser active one) can move nodes representing those records or pages from a location in the index corresponding to the first protection group to a location corresponding to the second protection group”]. Before the effective filing date of the claimed invention, it would have been obvious to a person having ordinary skill in the art to incorporate the teaching of Brahmadesam et al. into the teaching of Helland and Huei with the motivation to help prevent protection groups from exceeding a fixed protection group size limit as taught by Brahmadesam et al. [Brahmadesam et al.: col. 13, lines 36-37]. Regarding claim 8, it recites limitations like claim 4. The reason for the rejection of claim 4 is incorporated herein. Regarding claim 16, it recites limitations like claim 4. The reason for the rejection of claim 4 is incorporated herein. Claims 9-10 and 17-18 are rejected under 35 U.S.C. 103 as being unpatentable over Helland (US 2022/0391376 A1) and Huei (US 5,544,357 A) as applied to claims 1, 5, 12-13 and 20 above, and further in view of Courchaine et al. (US 11,200,213 B1). Regarding claim 9, the rejection of claim 5 is incorporated. Helland discloses rowblock modification. They do not explicitly disclose the rowblock modification is a record identifier merge determined according to record identifier merge adaptation criteria and wherein instructing the rowblock modification causes the one or more storage nodes to: seal a first rowblock with a first record identifier range and a first time value range from storing further record versions; seal a second rowblock with a second record identifier range and the first time value range from storing further record versions; and create a new rowblock with new record identifier range that includes the first record identifier range and the second record identifier range and the first time value range. However Courchaine et al. teaches the rowblock modification is a record identifier merge determined according to record identifier merge adaptation criteria [col. 8, lines 29-30, determine minimum and maximum record IDs in the collective records of their databases] and wherein instructing the rowblock modification causes the one or more storage nodes to: seal a first rowblock with a first record identifier range and a first time value range from storing further record versions; seal a second rowblock with a second record identifier range and the first time value range from storing further record versions [col. 1, lines 50-55, database migration process to enable a unified view of the data stored in the separate sources (therefore seal the first and second rowblocks)]; and create a new rowblock with new record identifier range that includes the first record identifier range and the second record identifier range and the first time value range [col. 8, line 20 – col. 9, line 8, merged record list according to filtered minimum and maximum record IDs in the collective records and records that originate or were modified within a certain timeframe]. Before the effective filing date of the claimed invention, it would have been obvious to a person having ordinary skill in the art to incorporate the teaching of Courchaine et al. into the teaching of Helland and Huei with the motivation such that using this criteria to filter the records that make it into the merged record list can save the analytics application processing time that would otherwise be spent filtering out unneeded records as taught by Courchaine et al. [Courchaine et al.: col. 13, lines 36-37]. Regarding claim 10, the rejection of claim 5 is incorporated. Helland discloses rowblock modification. They do not explicitly disclose the rowblock modification is a time merge determined according to time merge adaptation criteria and wherein instructing the rowblock modification causes the one or more storage nodes to: seal a first rowblock with a first time value range and a first record identifier range from storing further record versions; seal a second rowblock with a second time value range and the first record identifier range from storing further record versions; and create a new rowblock with new time value range that includes the first time value range and the second time value range and the first record identifier range. However Courchaine et al. teaches the rowblock modification is a time merge determined according to time merge adaptation criteria [col. 8, line 20 – col. 9, line 8, merged records that originate or were modified within a certain timeframe] and wherein instructing the rowblock modification causes the one or more storage nodes to: seal a first rowblock with a first time value range and a first record identifier range from storing further record versions; seal a second rowblock with a second time value range and the first record identifier range from storing further record versions [col. 1, lines 50-55, database migration process to enable a unified view of the data stored in the separate sources (therefore seal the first and second rowblocks)]; and create a new rowblock with new time value range that includes the first time value range and the second time value range and the first record identifier range [col. 8, line 20 – col. 9, line 8, merged record list according to filtered minimum and maximum record IDs in the collective records and records that originate or were modified within a certain timeframe]. Before the effective filing date of the claimed invention, it would have been obvious to a person having ordinary skill in the art to incorporate the teaching of Courchaine et al. into the teaching of Helland and Huei with the motivation such that using this criteria to filter the records that make it into the merged record list can save the analytics application processing time that would otherwise be spent filtering out unneeded records as taught by Courchaine et al. [Courchaine et al.: col. 13, lines 36-37]. Regarding claim 17, it recites limitations like claim 9. The reason for the rejection of claim 9 is incorporated herein. Regarding claim 18, it recites limitations like claim 10. The reason for the rejection of claim 10 is incorporated herein. Claims 11 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Helland (US 2022/0391376 A1) and Huei (US 5,544,357 A) as applied to claims 1, 5, 12-13 and 20 above, and further in view of Gruszecki et al. (US 2021/0349903 A1). Regarding claim 11, the rejection of claim 5 is incorporated. Helland discloses access request to a portion of a table. They do not explicitly disclose the portion of the table corresponds to a protection group comprising a plurality of segments respectively stored at the one or more storage nodes. However Gruszecki et al. teaches the portion of the table corresponds to a protection group comprising a plurality of segments respectively stored at the one or more storage nodes [par. 0026, “One type of data table that can be distributed and stored amongst storage systems of data nodes 112A-112Z is a row secure table (RST). An RST refers to a table in which different users can have different access privileges. In an RST, first users can have access to first rows of an RST and second users can have access privileges to second rows of the RST”]. Before the effective filing date of the claimed invention, it would have been obvious to a person having ordinary skill in the art to incorporate the teaching of Gruszecki et al. into the teaching of Helland and Huei with the motivation such that database can be configured so that host node 110 applies security rules at query receipt time to ascertain whether a user associated to a query can access data from a certain row as taught by Gruszecki et al. [Gruszecki et al.: par. 0026]. Regarding claim 19, it recites limitations like claim 11. The reason for the rejection of claim 11 is incorporated herein. Conclusion The prior art made of record and not relied upon is considered pertinent to Applicant’s disclosure: US 20210109922 A1 DATABASE MIGRATION TECHNIQUE US 6457021 B1 In-memory Database System US 20240104229 A1 VERIFIABLE ATTRIBUTE MAPS US 20180165469 A1 ACCESS OPERATION REQUEST MANAGEMENT US 20160378676 A1 METHODS AND APPARATUS TO RE-DIRECT DETECTED ACCESS REQUESTS IN A MODULARIZED VIRTUALIZATION TOPOLOGY USING VIRTUAL HARD DISKS US 20150242531 A1 DATABASE ACCESS CONTROL FOR MULTI-TIER PROCESSING US 9043278 B1 System And Method For The Merging Of Databases Any inquiry concerning this communication or earlier communications from the examiner should be directed to JASON CHIANG whose telephone number is (571)270-3393. The examiner can normally be reached on 9 AM to 6 PM. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Lynn Feild can be reached on (571) 272-2092. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /JASON CHIANG/Primary Examiner, Art Unit 2431
Read full office action

Prosecution Timeline

Jun 28, 2024
Application Filed
Jan 10, 2026
Non-Final Rejection — §101, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12602497
VERIFIABLE ATTRIBUTE MAPS
2y 5m to grant Granted Apr 14, 2026
Patent 12598208
Infrastructure as Code (IaC) scanner for infrastructure component security
2y 5m to grant Granted Apr 07, 2026
Patent 12561468
Methods and Systems for Tenancy in a Multitenant Environment
2y 5m to grant Granted Feb 24, 2026
Patent 12549555
ROLE AND ATTRIBUTE BASED DATA MULTI-TENANCY ARCHITECTURE
2y 5m to grant Granted Feb 10, 2026
Patent 12531838
INFORMATION MANAGEMENT SYSTEM HAVING FIREWALL WITH TRANSPARENCY SETTING FUNCTION
2y 5m to grant Granted Jan 20, 2026
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

1-2
Expected OA Rounds
83%
Grant Probability
99%
With Interview (+28.6%)
2y 9m
Median Time to Grant
Low
PTA Risk
Based on 542 resolved cases by this examiner. Grant probability derived from career allow 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