Prosecution Insights
Last updated: April 19, 2026
Application No. 18/193,406

SYNCHRONOUS DATABASE REPLICATION USING ERASURE CODING

Final Rejection §102
Filed
Mar 30, 2023
Examiner
FILIPCZYK, MARCIN R
Art Unit
2153
Tech Center
2100 — Computer Architecture & Software
Assignee
Amazon Technologies, Inc.
OA Round
4 (Final)
65%
Grant Probability
Moderate
5-6
OA Rounds
3y 6m
To Grant
99%
With Interview

Examiner Intelligence

Grants 65% of resolved cases
65%
Career Allow Rate
289 granted / 447 resolved
+9.7% vs TC avg
Strong +37% interview lift
Without
With
+37.2%
Interview Lift
resolved cases with interview
Typical timeline
3y 6m
Avg Prosecution
29 currently pending
Career history
476
Total Applications
across all art units

Statute-Specific Performance

§101
12.9%
-27.1% vs TC avg
§103
31.3%
-8.7% vs TC avg
§102
35.6%
-4.4% vs TC avg
§112
6.9%
-33.1% vs TC avg
Black line = Tech Center average estimate • Based on career data from 447 resolved cases

Office Action

§102
Response to Amendment 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 action is responsive to amendment received on 10/22/25. Claims 1-6 and 8-20 are pending. Claim Rejections - 35 USC § 102 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 the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention. Claim(s) 1-6 and 8-20 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Lin (USPN. 2019/0280879). Regarding claims 1-6 and 8-20, Lin discloses: 1. A system, comprising: a plurality of computing devices, respectively comprising at least one processor and a memory, that are configured to implement a distributed database system (fig. 1 and 6); wherein the distributed database system comprises a plurality of database instances, and wherein a first one of the plurality of database instances is configured to (fig. 1-2, nodes 106 and 108, cloud computing nodes running a distributed ledger): receive a request that causes a write to a database hosted by the distributed database system (Abstract, transaction request in the form of an update/write); synchronously replicate the write to the database to a second one and a third one of the plurality of database instances, wherein to synchronously replicate the write, the first one of the plurality of database instances is configured to (fig. and pars. 91-92, respective copies stored in Participants A-C): generate a replication message for the write to include the write as part of an ordered replication stream from the first one of the database instances to the second one the plurality of database instances (fig. 5, item 506, par. 114, EC message is created); apply an erasure coding scheme to the replication message that divides and encodes the replication message for the write to the database into a number of chunks, wherein the erasure coding scheme allows the replication message to be reassembled with less than the number of chunks (fig. 5, items 504 and 506, par. 116, EC message divided into number of blocks); and perform a same number of communications corresponding to the number of chunks to separately send the chunks of the replication message individually to both the second one and the third one of the plurality of database instances across a network (fig. 4, par. 110, distributed system works in various steps and any order and fig. 5, par. 116, “EC blocks 508 are sent to the respective backup nodes 406 with the initial messages, see below for further mapping), that includes a plurality of redundant paths that provide alternative routes between the first one of the plurality of database instances and the second one and the third one of the plurality of database instances, wherein each of the plurality of communications can individually fail to be received at the second and third ones of the plurality of database instances (fig. 5, par. 116, “EC blocks 508 are sent to the respective backup nodes 406 with the initial messages. Fig. 4, par. 121, the node 404 sends a plurality of messages to backup nodes including first initial and second initial and third messages, note that backup nodes may be construed as a distributed backup node. The messages are used to reconstruct tree and verify messages. Note that par. 128 teaches the messages/transaction to reconstruct may fail, however, this limitation is not required to take place in the claimed limitation by the use of word “can”. Note that the claimed subject matter in view of the specification is focused on plural distributions as discussed in pars. 61 and 62 and fig. 6, item 630, instant publication, and prior art Lin teaches the same erasure code techniques in pars. 114-116 and 121 wherein many network nodes are requested to submit the most recent sequence number of latest block information to recover, synchronize and provide consensus of entire system, see pa. 169); receive a first acknowledgement that the write has been applied for the second one of the plurality of database instances (figs. 6-8, verify consensus) according to a first number of the chunks received at the second one of the plurality of database instances from the first one of the plurality of database instances (pars. 121-122, primary node 404 sends out messages to multiple backup nodes/database instances and receives a message back from multiple backup nodes that message has been received); receive a second acknowledgement that the write has been applied for the third one of the plurality of database instances according to a second number of the chunks received at the third one of the plurality of database instances from the first one of the plurality of database instances, wherein the first number of chunks received at the second one of the plurality of the database instances is different than the second number of the chunks received at the third one of the plurality of database instances (pars. 121-122, primary node 404 sends out messages to multiple backup nodes/database instances and receives a message back from multiple backup nodes that message has been received, and pars. 116-117, EC blocks comprise different sizes from each other and par. 181, subset of EC blocks may be retrieved in the ECHO messages to reconstruct a target transaction hence both size and subset of EC code is variable); and after receipt of the first and second acknowledgements that the write has been applied for the second one and the third one of the plurality of database instances, send a response to the request that indicates that the write is committed to the database (figs. 6-8, pars. 121-123 verify consensus on transaction). 2. The system of claim 1, wherein the first one of the plurality of database instances is further configured to: after an elapsed period of time without receiving at least one acknowledgment, resend one or more of the chunks of the replication message or send one or more further chunks of the replication message determined according to the erasure coding scheme (pars. 109 and 154, consensus process comprising change process from backup node). 3. The system of claim 1, wherein the second one of the plurality of database instances are configured to: receive at least some of the chunks of the replication message (fig. 5, par. 116, EC blocks 508 are sent and received to the respective backup nodes 406 with the initial messages); determine that a sufficient number of the chunks to reassemble the replication message have been received (figs. 6-8, verify consensus); reassemble the replication message (par. 127-128, reconstruct the transaction request based on subset of messages); apply the write indicated in the replication message and send the acknowledgment that the write has been committed to the first one of the plurality of database instances (figs. 6-8, pars. 122-123 and 182, verify consensus on transaction and status nodes are in sync). 4. The system of claim 1, wherein the first one of the plurality of databases instances is in a first region of a provider network that implements the distributed database system and wherein the second one of the plurality of database instances is in a second region of the provider network (fig. 2, distributed nodes and regions). 5. A method, comprising (fig. 1-2): receiving, at a first database instance of a distributed database system, a request that causes a write to a database (Abstract, transaction request in the form of an update/write); synchronously replicating, by the distributed database system, the write to the database to a second database instance and a third database instance of the distributed database system, comprising (fig. and pars. 91-92, respective copies stored in Participants A-C): dividing and encoding a replication message for the write to the database into a number of chunks according to an erasure coding scheme, wherein the erasure coding scheme allows the replication message to be reassembled with less than the number of chunks (fig. 5, items 504 and 506, par. 116, EC message divided into number of blocks); performing by the first database instance, a same number of communications corresponding to the number of chunks to separately send the chunks of the replication message individually to both the second one and the third one of the plurality of database instances across a network (fig. 4, par. 110, distributed system works in various steps and any order and fig. 5, par. 116, “EC blocks 508 are sent to the respective backup nodes 406 with the initial messages, see below for further mapping), that includes a plurality of redundant paths that provide alternative routes between the first one of the plurality of database instances and the second one and the third one of the plurality of database instances, wherein each of the plurality of communications can individually fail to be received at the second and third ones of the plurality of database instances (fig. 5, par. 116, “EC blocks 508 are sent to the respective backup nodes 406 with the initial messages. Fig. 4, par. 121, the node 404 sends a plurality of messages to backup nodes including first initial and second initial and third messages, note that backup nodes may be construed as a distributed backup node. The messages are used to reconstruct tree and verify messages. Note that par. 128 teaches the messages/transaction to reconstruct may fail, however, this limitation is not required to take place in the claimed limitation by the use of word “can”. Note that the claimed subject matter in view of the specification is focused on plural distributions as discussed in pars. 61 and 62 and fig. 6, item 630, instant publication, and prior art Lin teaches the same erasure code techniques in pars. 114-116 and 121 wherein many network nodes are requested to submit the most recent sequence number of latest block information to recover, synchronize and provide consensus of entire system, see pa. 169); receiving, at the first database instance, a first acknowledgement that the write has been applied for the second one of the plurality of database instances (figs. 6-8, verify consensus) according to a first number of the chunks received at the second one of the plurality of database instances from the first one of the plurality of database instances (pars. 121-122, primary node 404 sends out messages to multiple backup nodes/database instances and receives a message back from multiple backup nodes that message has been received); receiving, at the first database instance, a second acknowledgement that the write has been applied for the third one of the plurality of database instances according to a second number of the chunks received at the third one of the plurality of database instances from the first one of the plurality of database instances, wherein the first number of chunks received at the second one of the plurality of the database instances is different than the second number of the chunks received at the third database instance (pars. 121-122, primary node 404 sends out messages to multiple backup nodes/database instances and receives a message back from multiple backup nodes that message has been received, and pars. 116-117, EC blocks comprise different sizes from each other and par. 181, subset of EC blocks may be retrieved in the ECHO messages to reconstruct a target transaction hence both size and subset of EC code is variable); and sending, by the first database instance, a response to the request that indicates that the write is committed to the database (figs. 6-8, pars. 121-123 verify consensus on transaction). 6. The method of claim 5, further comprising: after an elapsed period of time without receiving an acknowledgment, resending one or more of the chunks of the replication message or sending one or more further chunks of the replication message determined according to the erasure coding scheme (pars. 109 and 154, consensus process comprising change process from backup node). 8. The method of claim 5, further comprising: receiving, at the first database instance of a distributed database system, a second request that causes a second write to the database (Abstract, transaction request in the form of an update/write); dividing and encoding a second replication message for the second write to the database into a second number of chunks according to the erasure coding scheme (fig. 5, items 504 and 506, par. 116, EC message divided into number of blocks); performing a further plurality of communications to separately send the chunks of the second replication message to the second database instance across the network wherein each of the plurality of communications can individually fail to be received at the second one of the plurality of database instances (fig. 5, par. 116, “EC blocks 508 are sent to the respective backup nodes 406 with the initial messages. Fig. 4, par. 121, the node 404 sends a plurality of messages to backup nodes including first initial and second initial messages, note that backup nodes may be construed as a distributed backup node. The messages are used to reconstruct tree and verify messages. Note that par. 128 teaches the messages/transaction to reconstruct may file, however, this limitation is no required to take place in the claimed limitation by the use of word “can”); and after failing to receive an acknowledgement that the second write has been applied for the second database instance, sending, by the first database instance, a response to the request that indicates that the second request failed (pars. 128 and 148, response that request failed). 9. The method of claim 5, wherein an adjudicator for the second database reassembles at least some of the chunks of the replication message to apply the write for the second database instance (par. 127-128, reconstruct the transaction request based on subset of messages). 10. The method of claim 5, wherein the erasure coding scheme is a rateless erasure coding scheme (par. 115, EC code types). 11. The method of claim 5, further comprising: receiving, by the second database instance, at least some of the chunks of the replication message (fig. 5, par. 116, EC blocks 508 are sent and received to the respective backup nodes 406 with the initial messages); determining, by the second database instance, that a sufficient number of the chunks to reassemble the replication message have been received (par. 127-128, reconstruct the transaction request based on subset of messages); reassembling, by the second database instance, the replication message (par. 127-128, reconstruct the transaction request based on subset of messages); applying, by the second database instance, the write indicated in the replication message and sending, by the second database instance, the acknowledgment that the write has been committed to the first one of the plurality of database instances (figs. 6-8, pars. 122-123 and 182, verify consensus on transaction and status nodes are in sync). 12. The method of claim 5, wherein the first databases instance is in a first region of a provider network that implements the distributed database system and wherein the second database instance is in a second region of the provider network (fig. 2, distributed nodes and regions). 13. The method of claim 5, wherein the distributed database system is a non-relational database service implemented as part of a provider network (figs. 1-2, pars. 91-92, network nodes comprise different features and structures to perform specific jobs). Regarding medium claims 14-20, they claim substantially the same subject matter rejected above with respect to system claims 1-4 and method claims 5, 6 and 8-13 and are therefore rejected to on the merits. In addition, regarding claim 17, Lin further discloses an adjudicator for the second database reassembles at least some of the chunks (figs. 2, 13 and 14, items 1312 and 1410 par. 127-128, reconstruct the transaction request based on subset of messages), and further discloses wherein the erasure coding scheme is a maximum distance separable erasure coding scheme (par. 115, optimal erasure code and EC code types). Response to Arguments Applicant's arguments filed 10/22/25 have been fully considered but they are not persuasive. See comments below. Applicant alleges the claim sends “same number of communications” corresponding to “number of chunks” to both databases, then acknowledges from the other databases that “different number of chunks received at the different instances”. Examiner is not persuaded. The claimed subject matter comprises sending chunks across “a plurality of redundant paths that provide alternative routes between the… plurality of database instances”. This implies that the chunks at some point are different to generate alternative routes. Similarly, Lin enables different size and same size chunks to be sent over to nodes/instance databases ((pars. 121-122, primary node 404 sends out messages to multiple backup nodes/database instances and receives a message back from multiple backup nodes that message has been received, and pars. 116-117, EC blocks comprise different sizes from each other and par. 181, subset of EC blocks may be retrieved in the ECHO messages to reconstruct a target transaction hence both size and subset of EC code is variable). The size of the chunks and subsets used to message between the nodes may differ and may be collected from a plurality of nodes to verify and or reconstruct data/transaction. Examiner believes all the allegations with regard to the pending claims have been addressed. Previous allegations and responses: Applicant alleges the newly amened features cited below: “perform a plurality of communications to separately send the chunks of the replication message individually to the second one of the plurality of database instances across a network (fig. 4, par. 110, distributed system works in various steps and any order and fig. 5, par. 116, “EC blocks 508 are sent to the respective backup nodes 406 with the initial messages, see below for further mapping), that includes a plurality of redundant paths that provide alternative routes between the first one of the plurality of database instances and the second one of the plurality of database instances, wherein each of the plurality of communications can individually fail to be received at the second one of the plurality of database instances (fig. 5, par. 116, “EC blocks 508 are sent to the respective backup nodes 406 with the initial messages. Fig. 4, par. 121, the node 404 sends a plurality of messages to backup nodes including first initial and second initial messages, note that backup nodes may be construed as a distributed backup node. The messages are used to reconstruct tree and verify messages. Note that par. 128 teaches the messages/transaction to reconstruct may fail, however, this limitation is no required to take place in the claimed limitation by the use of word “can”)”. Lin teaches a distributed system with a plurality of nodes that are distributed over the network. Each message sent from the primary node may be directed to a distributed backup node that is shared as described in pars. 86, 91 and 110. In essence, multiple messages are sent to a plurality of nodes of a distributed system that has flexibility and may have different applications in some environments which comprise sending and receiving the same set of instructions as the claimed subject matter (par. 110). Applicant also raises an issue that communications can individually fail. This however is the case in the field of backup systems. Lin specifically teaches reaching consensus or failing to reconstruct (par. 128). As such, all issues have been addressed as they apply to all the pending claims. Previous responses relevant to 12/26/24 amendment: Applicant argues Lin does not teach the limitation “separately send the chunks…” alleging the same chunks are sent in the instant application whereas Lin sends different chunks. In response, Examiner disagrees. The relevant portion of the OA reads, “apply an erasure coding scheme to the replication message that divides and encodes the replication message for the write to the database into a number of chunks, wherein the erasure coding scheme allows the replication message to be reassembled with less than the number of chunks (fig. 5, items 504 and 506, par. 116, EC message divided into number of blocks); and separately sending the chunks of the replication message to the second database instance across a network that includes a plurality of redundant paths that provide alternative routes between the first database instance and the second database instance (fig. 5, par. 116, “EC blocks 508 are sent to the respective backup nodes 406 with the initial messages. Backup nodes send ECHO message to primary node and other backup nodes, par. 124. The chunks are verifiable or do not meet consensus, thus comprise separate chunks which can be used for reconstruction, see fig. 8)”. Applicant opinions the claimed limitation sends “the same chunks” yet provides alternative routes between the databases respectively. Nonetheless, Lin performs verifications with backup copies, the backup copies can comprise the entire chunks and copies of blockchain (par. 90) by using multiple nodes (fig. 4 and 8, verifications). The same allegations are carried for all the independent claims. As such, all allegations are believed moot. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure in the field of synchronizing databases: USPN. 12,021,926: fig. 8 and Abstract: USPN. 2016/0323103: par. 131, fig. 12, segmented data, message, backup USPN. 2010/0037056 par. 531, erasure, distributed backup nodes Amazon application teaches replicating messages using different erasure coding schemes. THIS ACTION IS MADE FINAL. 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 nonprovisional extension fee (37 CFR 1.17(a)) 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 MARCIN R FILIPCZYK whose telephone number is (571)272-4019. The examiner can normally be reached M-F 7-4 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, Kavita Stanley can be reached at 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. January 15, 2026 /MARCIN R FILIPCZYK/Primary Examiner, Art Unit 2153
Read full office action

Prosecution Timeline

Mar 30, 2023
Application Filed
Sep 25, 2024
Non-Final Rejection — §102
Dec 26, 2024
Response Filed
Feb 07, 2025
Final Rejection — §102
May 12, 2025
Response after Non-Final Action
May 22, 2025
Response after Non-Final Action
Jun 20, 2025
Request for Continued Examination
Jun 26, 2025
Response after Non-Final Action
Jul 18, 2025
Non-Final Rejection — §102
Oct 22, 2025
Response Filed
Jan 15, 2026
Final Rejection — §102 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12602724
DUAL LEDGER SYNCING
2y 5m to grant Granted Apr 14, 2026
Patent 12585712
ADVERSARIAL BANDITS POLICY FOR CRAWLING HIGHLY DYNAMIC CONTENT
2y 5m to grant Granted Mar 24, 2026
Patent 12566737
DATA QUALITY SOLUTION USING EDGE COMPUTING AND BLOCKCHAIN TECHNOLOGY
2y 5m to grant Granted Mar 03, 2026
Patent 12561381
TIME AND CLICK BASED UPDATABLE STATIC WEB PAGE RANKING
2y 5m to grant Granted Feb 24, 2026
Patent 12554764
METHODS AND SYSTEMS FOR OPTIMIZING DISPLAY OF USER CONTENT
2y 5m to grant Granted Feb 17, 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

5-6
Expected OA Rounds
65%
Grant Probability
99%
With Interview (+37.2%)
3y 6m
Median Time to Grant
High
PTA Risk
Based on 447 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