Patents Assigned to MongoDB, Inc.
  • Patent number: 11520670
    Abstract: According to at least one aspect, a database system is provided. The database system includes at least one processor configured to receive a restore request to restore a portion of a dataset to a previous state and, responsive to receipt of the restore request, identify at least one snapshot from a plurality of snapshots of at least some data in the dataset to read based on the restore request and write a portion of the data in the identified at least one snapshot to the dataset to restore the portion of the dataset to the previous state.
    Type: Grant
    Filed: April 13, 2020
    Date of Patent: December 6, 2022
    Assignee: MongoDB, Inc.
    Inventors: Eliot Horowitz, Rostislav Briskin, Daniel William Gottlieb
  • Publication number: 20220382778
    Abstract: A system and computer implemented method for execution of aggregation expressions on a distributed non-relational database system is provided. According to one aspect, an aggregation operation may be provided that permits more complex operations using separate collections. For instance, it may be desirable to create a report from one collection using information grouped according to information stored in another collection. Such a capability may be provided within other conventional database systems, however, in a non-relational database system such as NoSQL, the system is not capable of performing server-side joins, such a capability may not be performed without denormalizing the attributes into each object that references it, or by performing application-level joins which is not efficient and leads to unnecessarily complex code within the application that interfaces with the NoSQL database system.
    Type: Application
    Filed: July 29, 2022
    Publication date: December 1, 2022
    Applicant: MongoDB, Inc.
    Inventors: Eliot Horowitz, David Lenox Storch, Charles William Swanson
  • Patent number: 11481289
    Abstract: According to some aspects, a database system comprising a processor configured to execute a plurality of system components is provided. The plurality of system components may include an interface component configured to receive a write commit command and provide a write commit confirmation, a snapshot component configured to generate a plurality of snapshots of data stored in a data storage node of a plurality of data storage nodes and identify a committed snapshot representative of data that has been replicated on a majority of the plurality of data storage nodes, and a command processing component configured to modify a data element based on the write commit command, determine whether the majority of the plurality of storage nodes have replicated the modification using the committed snapshot, and generate the write commit confirmation responsive to a determination that the majority of the plurality of data storage nodes have replicated the modification.
    Type: Grant
    Filed: May 26, 2020
    Date of Patent: October 25, 2022
    Assignee: MongoDB, Inc.
    Inventors: Eliot Horowitz, Andrew Michalski Schwerin, Mathias Benjamin Stearn, Eric Andrew Milkie
  • Patent number: 11461356
    Abstract: Systems, methods, and computer-readable media provide techniques for on-demand access to object data hosted in distributed object storage. A query is received for the distributed object storage database, wherein the distributed object storage database includes first object data stored in a first data center at a first geographical location, and second object data stored in a second data center at a second geographical location. It is determined that the query is for at least a portion of the first object data stored by the first data center. The query is transmitted to a first computing device in the first data center. Results are received from the first computing device for the query, and the results are provided in response to the received query.
    Type: Grant
    Filed: June 8, 2020
    Date of Patent: October 4, 2022
    Assignee: MongoDB, Inc.
    Inventors: Craig Geppert Wilson, David Robert Golub, Mehrab Mohammad Hoque, Adinoyi Wisdom Omuya, Charles Robert Kalmanek, Eliot Horowitz
  • Patent number: 11429675
    Abstract: Described herein are embodiments of a database system for performing multi-document transactions. The database system comprises a database comprising a plurality of data storage nodes. The database system receives transactions that access at least two documents stored in the database. The database system generates a transaction identifier associated with the transaction and associates operations in the transaction with the transaction identifier. The database system performs at least part of the transaction on the database and determines whether an error occurred in performing in performing the transaction. When the database system determines that an error occurred in performing the transaction, the database system reverses any performed operations of the transaction. When no error occurs in performing the transaction, the database system outputs a confirmation.
    Type: Grant
    Filed: June 14, 2019
    Date of Patent: August 30, 2022
    Assignee: MongoDB, Inc.
    Inventors: Eliot Horowitz, Andrew Michalski Schwerin
  • Patent number: 11403317
    Abstract: A system and computer implemented method for execution of aggregation expressions on a distributed non-relational database system is provided. According to one aspect, an aggregation operation may be provided that permits more complex operations using separate collections. For instance, it may be desirable to create a report from one collection using information grouped according to information stored in another collection. Such a capability may be provided within other conventional database systems, however, in a non-relational database system such as NoSQL, the system is not capable of performing server-side joins, such a capability may not be performed without denormalizing the attributes into each object that references it, or by performing application-level joins which is not efficient and leads to unnecessarily complex code within the application that interfaces with the NoSQL database system.
    Type: Grant
    Filed: May 25, 2017
    Date of Patent: August 2, 2022
    Assignee: MongoDB, Inc.
    Inventors: Eliot Horowitz, David Lenox Storch, Charles William Swanson
  • Publication number: 20220229849
    Abstract: Disclosed is a system and method for resolving conflicts that arise in changes made to data by multiple client devices. A data manipulation operation is represented as a changeset, which has instructions for performing an operation on the data. When two client devices perform operations that change the state of a data object, a changeset is generated at each of the two client devices. These changesets are merged at each of the two client devices based on merging rules that resolve any conflict between the operations. The rules ensure that the data at each of the multiple client devices will eventually be consistent.
    Type: Application
    Filed: April 4, 2022
    Publication date: July 21, 2022
    Applicant: MongoDB, Inc.
    Inventor: Alexander Swane Stigsen
  • Patent number: 11394532
    Abstract: According to one aspect, methods and systems are provided for modifying an encryption scheme in a database system. The methods and systems can include at least one internal database key; at least one database configured to be encrypted and decrypted using the at least one internal database key; a memory configured to store a master key; a key management server interface configured to communicate with a key management server; and a database application configured to receive, into the memory, the master key from the key management server via the key management server interface, and encrypt and decrypt the at least one internal database key using the master key.
    Type: Grant
    Filed: May 29, 2020
    Date of Patent: July 19, 2022
    Assignee: MongoDB, Inc.
    Inventors: Eliot Horowitz, Per Andreas Nilsson
  • Publication number: 20220215115
    Abstract: Methods and system implement solutions for integrating encryption and emulation into native database formats and/or architectures. “Native” database is used to describe a database that has not been designed for end to end encryption, an off the shelf database deployment, and/or a commercially available database. According to some embodiments, various encryption systems and methods employ emulation operations to enable a native database and native database functions to leverage full encryption primitives. Various aspects integrate emulation operations into standard database implementations, where the emulation enables native database functions to operate on entirely encrypted data.
    Type: Application
    Filed: January 7, 2022
    Publication date: July 7, 2022
    Applicant: MongoDB, Inc.
    Inventor: Tarik Moataz
  • Publication number: 20220207171
    Abstract: Methods and system implement solutions for integrating encryption and emulation into native database formats and/or architectures. “Native” database is used to describe a database that has not been designed for end to end encryption, an off the shelf database deployment, and/or a commercially available database. According to some embodiments, various encryption systems and methods employ emulation operations to enable a native database and native database functions to leverage full encryption primitives. Various aspects integrate emulation operations into standard database implementations, where the emulation enables native database functions to operate on entirely encrypted data.
    Type: Application
    Filed: December 28, 2021
    Publication date: June 30, 2022
    Applicant: MongoDB, Inc.
    Inventor: Tarik Moataz
  • Patent number: 11294935
    Abstract: Disclosed is a system and method for resolving conflicts that arise in changes made to data by multiple client devices. A data manipulation operation is represented as a changeset, which has instructions for performing an operation on the data. When two client devices perform operations that change the state of a data object, a changeset is generated at each of the two client devices. These changesets are merged at each of the two client devices based on merging rules that resolve any conflict between the operations. The rules ensure that the data at each of the multiple client devices will eventually be consistent.
    Type: Grant
    Filed: May 14, 2019
    Date of Patent: April 5, 2022
    Assignee: MongoDB, Inc.
    Inventor: Alexander Stigsen
  • Patent number: 11288282
    Abstract: According to one aspect, methods and systems are provided for selectively employing storage engines in a distributed database environment. The methods and systems can include a processor configured to execute a plurality of system components, wherein the system components comprise an operation prediction component configured to determine an expected set of operations to be performed on a portion of the database; a data format selection component configured to select, based on at least one characteristic of the expected set of operations, a data format for the portion of the database; and at least one storage engine for writing the portion of the database in the selected data format.
    Type: Grant
    Filed: March 6, 2019
    Date of Patent: March 29, 2022
    Assignee: MongoDB, Inc.
    Inventors: Keith Bostic, Michael Cahill, Eliot Horowitz, Dan Pasette, Mathias Stearn, Geert Bosch
  • Patent number: 11222043
    Abstract: A system and method for determining consensus within a distributed database are provided. According to one aspect, a protocol is provided that reduces or eliminates heartbeat communication between nodes of a replica set. Nodes may communicate liveness information using existing database commands and metadata associated with the database commands. According to another aspect, improved systems and methods are provided for detection of node failures and election of a new primary node.
    Type: Grant
    Filed: June 28, 2019
    Date of Patent: January 11, 2022
    Assignee: MongoDB, Inc.
    Inventors: Eliot Horowitz, Andrew Michalski Schwerin, Siyuan Zhou, Eric Andrew Milkie
  • Publication number: 20210382888
    Abstract: Systems and methods are provided for managing read requests in a database system. The same read request is communicated to multiple nodes to reduce long tail latency. If the read request is communicated to two nodes and the first node is experiencing a communication failure, the read request is serviced by the second node. Once a response is received from the second node, the read request to the first node can be canceled.
    Type: Application
    Filed: June 8, 2021
    Publication date: December 9, 2021
    Applicant: MongoDB, Inc.
    Inventors: Therese Avitabile, Misha Tyulenev, Jason Carey, Andrew Michalski Schwerin, Ben Caimano, Amirsaman Memaripour, Cheahuychou Mao, Jeff Yemin, Garaudy Etienne
  • Publication number: 20210382912
    Abstract: Systems and methods are provided for managing a distributed database across multiple cloud provider systems. Database elements (e.g., primary, secondary, and/or read-only nodes) are distributed across multiple cloud provider systems. A provisioning component is configured to enable cross-cloud configuration options to specify the manner in which the clusters/replica set members are to be deployed across multiple cloud providers and/or geographical regions.
    Type: Application
    Filed: June 8, 2021
    Publication date: December 9, 2021
    Applicant: MongoDB, Inc.
    Inventors: Eliot Horowitz, Cory P. Mintz, Cailin Anne Nelson, Viet Duc Do
  • Publication number: 20210382874
    Abstract: According to at least one aspect, a distributed database system is provided. In some implementations, the distributed system comprises an online database, an archive database, and a data processing entity adapted to receive a query of a single logical database, the single logical database being stored across the online database and offline database. In some examples, the data processing entity archives data from the online database to the offline database responsive to one or more archive rules.
    Type: Application
    Filed: June 8, 2021
    Publication date: December 9, 2021
    Applicant: MongoDB, Inc
    Inventors: Abdullah Alkhatib, Robert Liles, Pia Kochar
  • Patent number: 11157465
    Abstract: A system is provided that includes a document validation within a non-relational database system that is capable of reviewing documents according to one or more validation rules. The document validator may be incorporated within a non-relational database engine and may perform validation operations when one or more database functions are performed.
    Type: Grant
    Filed: May 25, 2017
    Date of Patent: October 26, 2021
    Assignee: MongoDB, Inc.
    Inventors: Eliot Horowitz, David Lenox Storch, Mathias Benjamin Stearn
  • Patent number: 11106538
    Abstract: According to one aspect, a distributed database system is configured to manage multi-writer operations on a distributed database by implementing one or more catamorphic database operators. Catamorphic operators can be architected on the system, and executed with little or no reconciliation logic. Catamorphic operators define sets of catamorphic operations and respective execution logic where the order of execution of catamorphic operations is not relevant to a final result.
    Type: Grant
    Filed: June 8, 2016
    Date of Patent: August 31, 2021
    Assignee: MongoDB, Inc.
    Inventor: Dwight Merriman
  • Patent number: 10997211
    Abstract: Systems and methods are provided to enable control and placement of data repositories. In some embodiments, the system segments data into zones. A website, for example, may need to segment data according to location. In this example, a zone may be created for North America and another zone may be created for Europe. Data related to operations executed in North America, for example, can be placed in the North America zone and data related to transactions in Europe can be placed in the Europe zone. According to some embodiments, the system may use zones to accommodate a range of deployment scenarios.
    Type: Grant
    Filed: June 20, 2018
    Date of Patent: May 4, 2021
    Assignee: MongoDB, Inc.
    Inventors: Dwight Merriman, Eliot Horowitz, Cory P. Mintz, Cailin Anne Nelson, Akshay Kumar, David Lenox Storch, Charles William Swanson, Keith Bostic, Michael Cahill, Dan Pasette, Mathias Benjamin Stearn, Geert Bosch
  • Patent number: 10990590
    Abstract: Database systems and methods that implement a data aggregation framework are provided. The framework can be configured to optimize aggregate operations over non-relational distributed databases, including, for example, data access, data retrieval, data writes, indexing, etc. Various embodiments are configured to aggregate multiple operations and/or commands, where the results (e.g., database documents and computations) captured from the distributed database are transformed as they pass through an aggregation operation. The aggregation operation can be defined as a pipeline which enables the results from a first operation to be redirected into the input of a subsequent operation, which output can be redirected into further subsequent operations. Computations may also be executed at each stage of the pipeline, where each result at each stage can be evaluated by the computation to return a result. Execution of the pipeline can be optimized based on data dependencies and re-ordering of the pipeline operations.
    Type: Grant
    Filed: September 15, 2017
    Date of Patent: April 27, 2021
    Assignee: MongoDB, Inc.
    Inventors: Dwight Merriman, Eliot Horowitz, Chris Todd Westin