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