Patent No. US10866868 (titled "Systems And Methods For Optimization Of Database Operations") was filed by Mongodb Inc on Jun 20, 2018.
’868 is related to the field of distributed database systems, particularly those employing a dynamic schema architecture and replica sets for data redundancy. Modern applications rely heavily on databases for storing and retrieving data, and distributed databases are used to handle large volumes of data and high traffic loads. A common architecture involves a primary node handling write operations and secondary nodes replicating these operations for fault tolerance and scalability. However, failures during write operations, such as network errors or primary node unavailability, can lead to data loss or inconsistency.
The underlying idea behind ’868 is to enhance the reliability of write operations in a distributed database by automatically retrying failed write operations at the database driver level. Instead of relying on the client application to handle write failures, the driver detects errors during the execution of a write command and automatically re-transmits the command to the primary node . This retry mechanism aims to mitigate transient issues like network glitches or temporary primary node unavailability, ensuring data consistency without requiring complex error handling logic in the client application.
The claims of ’868 focus on a database system comprising a distributed database with a dynamic schema architecture, featuring a replica set with a primary node for write operations and secondary nodes for replication. The claims specifically cover a processor configured to receive a write operation from a client, transmit a command to the primary node to execute it, determine if the execution failed due to an error, and then automatically re-transmit the command to the primary node to retry the write operation.
In practice, the system operates by augmenting the database driver with the capability to monitor the execution of write commands sent to the primary node. Upon detecting a failure, such as a network timeout or an indication from the primary node that the write operation could not be completed, the driver initiates a retry mechanism. This mechanism may involve waiting for a short period before re-transmitting the command, and it may also include logic to identify a new primary node if the original one is no longer available. The driver can also encode the command with a unique transaction identifier to prevent duplicate executions if the original command eventually succeeds after the retry.
This approach differentiates itself from traditional systems where client applications are responsible for handling write failures. By embedding the retry logic within the database driver, the system simplifies client-side development and improves the overall robustness of the database. Furthermore, the use of a transaction identifier ensures idempotency , preventing unintended side effects from multiple executions of the same write operation. This automatic retry mechanism significantly enhances the reliability and consistency of the distributed database, especially in environments prone to transient network issues or node failures.
In the late 2010s when ’868 was filed, at a time when distributed databases were commonly implemented using replica sets with primary and secondary nodes. It was also a time when hardware or software constraints made automatic retry mechanisms for failed write operations non-trivial, especially in systems with dynamic schema architectures.
The examiner approved the application because prior art did not explicitly teach or fairly suggest a distributed database with a dynamic schema where write operations are replicated via secondary nodes reading an operation log of the primary node and replicating the logged operations. Furthermore, the examiner noted that the prior art did not disclose a processor separate from the client and the nodes responsible for receiving client writes, transmitting them to the primary node, and re-transmitting them to the primary node upon determining a write error occurs, all in combination.
This patent contains 20 claims, with claims 1, 12, and 20 being independent. The independent claims are directed to a database system, a method of managing a database, and a storage medium, respectively, all generally focused on re-executing write operations in a distributed database with a dynamic schema architecture. The dependent claims generally elaborate on the specifics of the system, method, and storage medium, adding details or limitations to the broader concepts defined in the independent claims.
Definitions of key terms used in the patent claims.

The dossier documents provide a comprehensive record of the patent's prosecution history - including filings, correspondence, and decisions made by patent offices - and are crucial for understanding the patent's legal journey and any challenges it may have faced during examination.
Get instant alerts for new documents