Systems And Methods For Optimization Of Database Operations

Patent No. US10866868 (titled "Systems And Methods For Optimization Of Database Operations") was filed by Mongodb Inc on Jun 20, 2018.

What is this patent about?

’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.

How does this patent fit in bigger picture?

Technical landscape at the time

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.

Novelty and Inventive Step

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.

Claims

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.

Key Claim Terms New

Definitions of key terms used in the patent claims.

Term (Source)Support for SpecificationInterpretation
Dynamic schema architecture
(Claim 1, Claim 12, Claim 20)
“According to various aspects, a distributed database can provide various levels of consistency and/or redundancy depending on architecture of the database. In various embodiments, conventional distributed databases can be enhanced to provide for failure resolution with respect to distributed write operations. According to some embodiments, a distributed database architected with an eventual consistency model can see significant improvements in reliability and/or consistency based on enhancing failure resolution of write operations.”A database architecture that does not require a fixed schema definition before data is stored.
Operational log
(Claim 1, Claim 12, Claim 20)
“In some embodiments, the database provides for data replication and distribution of operations via a replica set architecture. The replica set architecture is based on a primary node hosting a primary copy of at least a portion of the database data. The primary node of the database data is responsible for performing write operations. Secondary nodes provide for scalability and redundancy by replicating the write operations performed by the primary node.”A log maintained by the primary node that records write operations performed on the database, which is then used by secondary nodes to replicate those operations.
Primary node
(Claim 1, Claim 12, Claim 20)
“The replica set architecture is based on a primary node hosting a primary copy of at least a portion of the database data. The primary node of the database data is responsible for processing write requests and replication of the executed write operations can then take place to secondary nodes. In conventional operation, write operations are processed by primary nodes and replicated to the secondary nodes under an eventual consistency model.”The database node within a replica set that is responsible for processing write operations.
Replica set
(Claim 1, Claim 12, Claim 20)
“In the MongoDB database, the distributed database provides for data replication and distribution of operations via a replica set architecture. The replica set architecture is based on a primary node hosting a primary copy of at least a portion of the database data. The primary node of the database data is responsible for processing write requests and replication of the executed write operations can then take place to secondary nodes. The secondary nodes are configured to provide for scalability and redundancy.”A group of database nodes that maintain multiple copies of data, providing redundancy and high availability.
Secondary node
(Claim 1, Claim 12, Claim 20)
“The secondary nodes are configured to provide for scalability and redundancy. For example, the secondary nodes can take over for a primary in the event of failure. In conventional operation, write operations are processed by primary nodes and replicated to the secondary nodes under an eventual consistency model.”A database node within a replica set that replicates write operations from the primary node, providing redundancy and read scalability.

Patent Family

Patent Family

File Wrapper

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

US10866868

MONGODB INC
Application Number
US16013345
Filing Date
Jun 20, 2018
Status
Granted
Expiry Date
Dec 23, 2038
External Links
Slate, USPTO, Google Patents