Patents Assigned to MongoDB, Inc.
-
Patent number: 10754625Abstract: Systems and methods for managing a database back end as a service are described. In some aspects, the described systems and methods provide for a cloud-based resource for servicing a request for data from an application to a remote database and/or a service. In some aspects, the described systems and methods provide for a cloud-based application client for requesting data from a remote database and/or a service.Type: GrantFiled: June 15, 2018Date of Patent: August 25, 2020Assignee: MongoDB, Inc.Inventors: Eliot Horowitz, Michael Patrick O'Brien, Eric Robert Daniels
-
Patent number: 10740355Abstract: According to one aspect, provided is a horizontally scaled database architecture. Partition a database enables efficient distribution of data across a number of systems reducing processing costs associated with multiple machines. According to some aspects, the partitioned database can be managed as a single source interface to handle client requests. Further, it is realized that by identifying and testing key properties, horizontal scaling architectures can be implemented and operated with minimal overhead. In one embodiment, databases can be partitioned in an order preserving manner such that the overhead associated with moving the data for a given partition can be minimized during management of the data and/or database. In one embodiment, splits and migrations operations prioritize zero cost partitions, thereby, reducing computational burden associated with managing a partitioned database.Type: GrantFiled: July 19, 2017Date of Patent: August 11, 2020Assignee: MongoDB, Inc.Inventors: Eliot Horowitz, Dwight Merriman
-
Patent number: 10740353Abstract: Various aspects provide for implementation of a cloud service for running, monitoring, and maintaining cloud distributed database deployments and in particular examples, provides cloud based services to run, monitor and maintain deployments of the known MongoDB database. Various embodiments provide services, interfaces, and manage provisioning of dedicated servers for the distributed database instances (e.g., MongoDB instances). Further aspects, including providing a database as a cloud service that eliminates the design challenges associated with many distributed database implementations, while allowing the client's input on configuration choices in building the database. In some implementations, clients can simply identity a number of database nodes, capability of the nodes, and within minutes have a fully functioning, scalable, replicated, and secure distributed database in the cloud.Type: GrantFiled: June 20, 2017Date of Patent: August 11, 2020Assignee: MongoDB, Inc.Inventors: Eliot Horowitz, Cory P. Mintz, Cailin Anne Nelson, Akshay Kumar
-
Patent number: 10713275Abstract: According to one aspect, a distributed database system is configured to manage write operations received from database clients and execute the write operations at primary nodes. The system then replicates received operations across a plurality of secondary nodes. Write operation can include safe write requests such that the database guaranties the operation against data loss once acknowledged. In some embodiments, the system incorporates an enhanced arbiter role the enables the arbiter to participate in cluster-wide commitment of data. In other embodiments, the enhanced arbiter role enables secondary nodes to evaluate arbiter operations logs when determining election criteria for new primary nodes.Type: GrantFiled: July 1, 2016Date of Patent: July 14, 2020Assignee: MongoDB, Inc.Inventors: Dwight Merriman, Eliot Horowitz, Andrew Michalski, Therese Avitabile
-
Patent number: 10713280Abstract: Various aspects provide for implementation of a cloud service for running, monitoring, and maintaining cloud distributed database deployments and in particular examples, provides cloud based services to run, monitor and maintain deployments of the known MongoDB database. Various embodiments provide services, interfaces, and manage provisioning of dedicated servers for the distributed database instances (e.g., MongoDB instances). Further aspects, including providing a database as a cloud service that eliminates the design challenges associated with many distributed database implementations, while allowing the client's input on configuration choices in building the database. In some implementations, clients can simply identity a number of database nodes, capability of the nodes, and within minutes have a fully functioning, scalable, replicated, and secure distributed database in the cloud.Type: GrantFiled: June 20, 2017Date of Patent: July 14, 2020Assignee: MongoDB, Inc.Inventors: Eliot Horowitz, John Morales, Cory P. Mintz, Louisa Berger, Cailin Anne Nelson
-
Patent number: 10698775Abstract: According to some aspects, a database system is provided. The database system may include at least one processor configured to execute a plurality of system components. The plurality of system components may include an interface component configured to receive a read commit command and provide a result, a snapshot component configured to generate a plurality of snapshots of data stored in a first 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 read the committed snapshot responsive to receipt of the read commit command and generate the result.Type: GrantFiled: May 25, 2017Date of Patent: June 30, 2020Assignee: MongoDB, Inc.Inventors: Eliot Horowitz, Andrew Michalski Schwerin, Mathias Benjamin Stearn, Eric Andrew Milkie
-
Patent number: 10673623Abstract: 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: GrantFiled: May 25, 2017Date of Patent: June 2, 2020Assignee: MongoDB, Inc.Inventors: Eliot Horowitz, Per Andreas Nilsson
-
Patent number: 10671496Abstract: 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: GrantFiled: May 25, 2017Date of Patent: June 2, 2020Assignee: MongoDB, Inc.Inventors: Eliot Horowitz, Andrew Michalski Schwerin, Mathias Benjamin Stearn, Eric Andrew Milkie
-
Patent number: 10621200Abstract: Provided are systems and methods for managing asynchronous replication in a distributed database environment, wherein a cluster of nodes are assigned roles for processing database requests. In one embodiment, the system provides a node with a primary role to process write operations against its database, generate an operation log reflecting the processed operations, and permit asynchronous replication of the operations to at least one secondary node. In another embodiment, the primary node is the only node configured to accept write operations. Both primary and secondary nodes can process read operations. Although in some settings read requests can be restricted to secondary nodes or the primary node. In one embodiment, the systems and methods provide for automatic failover of the primary node role, can include a consensus election protocol for identifying the next primary node. Further, the systems and methods can be configured to automatically reintegrate a failed primary node.Type: GrantFiled: March 18, 2016Date of Patent: April 14, 2020Assignee: MongoDB, Inc.Inventors: Dwight Merriman, Eliot Horowitz
-
Patent number: 10621050Abstract: 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: GrantFiled: June 20, 2017Date of Patent: April 14, 2020Assignee: MongoDB, Inc.Inventors: Eliot Horowitz, Rostislav Briskin, Daniel William Gottlieb
-
Patent number: 10614098Abstract: 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: GrantFiled: May 25, 2017Date of Patent: April 7, 2020Assignee: MongoDB, Inc.Inventors: Eliot Horowitz, Andrew Michalski Schwerin, Siyuan Zhou, Eric Andrew Milkie
-
Publication number: 20200097486Abstract: 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: ApplicationFiled: June 28, 2019Publication date: March 26, 2020Applicant: MongoDB, Inc.Inventors: Eliot Horowitz, Andrew Michalski Schwerin, Siyuan Zhou, Eric Andrew Milkie
-
Patent number: 10585867Abstract: According to one aspect, methods and systems are provided for creating partial indexes in a distributed database environment. The database includes an index engine configured to receive at least one index field, a criteria field, and a criteria condition, wherein the criteria field is not included in the at least one index field; and generate an index comprising the at least one index field from at least one record of the plurality of records and a pointer to the at least one record of the plurality of records, wherein the criteria field of the at least one record of the plurality of records satisfies the criteria condition. The database further includes a query engine configured to receive a search query containing the at least one index field; and search the index for the at least one index field.Type: GrantFiled: May 25, 2017Date of Patent: March 10, 2020Assignee: MongoDB, Inc.Inventors: Eliot Horowitz, David Lenox Storch, Max Jacob Hirschhorn, J. Rayvid Rassi
-
Patent number: 10572465Abstract: Aspects of the present invention are directed to system and methods for optimizing identification of locations within a search area using hash values. A hash value represents location information in a single dimension format. Computing points around some location includes calculating an identification boundary that surrounds the location of interest based on the location's hash value. The identification boundary is expanded until it exceeds a search area defined by the location and a distance. Points around the location can be identified based on having associated hash values that fall within the identification boundary. Hashing operations let a system reduce the geometric work (i.e. searching inside boundaries) and processing required, by computing straightforward operations on hash quantities (e.g. searching a linear range of geohashes), instead of, for example, point to point comparisons.Type: GrantFiled: April 7, 2017Date of Patent: February 25, 2020Assignee: MongoDB, Inc.Inventors: Dwight Merriman, Eliot Horowitz
-
Patent number: 10572505Abstract: Provided are systems and methods for managing asynchronous replication in a distributed database environment, wherein a cluster of nodes are assigned roles for processing database requests. In one embodiment, the system provides a node with a primary role to process write operations against its database, generate an operation log reflecting the processed operations, and permit asynchronous replication of the operations to at least one secondary node. In another embodiment, the primary node is the only node configured to accept write operations. Both primary and secondary nodes can process read operations. Although in some settings read requests can be restricted to secondary nodes or the primary node. In one embodiment, the systems and methods provide for automatic failover of the primary node role, can include a consensus election protocol for identifying the next primary node. Further, the systems and methods can be configured to automatically reintegrate a failed primary node.Type: GrantFiled: March 18, 2016Date of Patent: February 25, 2020Assignee: MongoDB, Inc.Inventors: Dwight Merriman, Eliot Horowitz
-
Publication number: 20190391881Abstract: Described herein are embodiments of a database system. The database system receives a read command to read at least some stored data. The database system may generate a plurality of snapshots of data stored in a first data storage node of a plurality of data storage nodes. The database system may determine whether data is being written to the first data storage node. Responsive to determining that data is not being written to the first data storage node, the database system may process the read command at least in part by reading at least some data stored on the first data storage node. Responsive to determining that data is being written to the first data storage node, the database system may process the read command at least in part by reading at least some data from a snapshot of the plurality of snapshots.Type: ApplicationFiled: June 14, 2019Publication date: December 26, 2019Applicant: MongoDB, Inc.Inventor: Eliot Horowitz
-
Patent number: 10496669Abstract: According to one aspect, a distributed database system is configured to manage write operations received from database clients and execute the write operations at primary nodes. The system then replicates received operations across a plurality of secondary nodes. Write operation can include safe write requests such that the database guaranties the operation against data loss once acknowledged. In some embodiments, the system incorporates an enhanced arbiter role the enables the arbiter to participate in cluster-wide commitment of data. In other embodiments, the enhanced arbiter role enables secondary nodes to evaluate arbiter operations logs when determining election criteria for new primary nodes.Type: GrantFiled: July 1, 2016Date of Patent: December 3, 2019Assignee: MongoDB, Inc.Inventors: Dwight Merriman, Eliot Horowitz, Andrew Michalski Schwerin, Therese Avitabile
-
Patent number: 10489357Abstract: An automation system is provided to automate any administrative task in a distributed database, such that the end user can input a goal state (e.g., create database with a five node architecture) and the automation system generates and executes a plan to achieve the goal state without further user input. According to another aspect, bringing existing database systems into automated management can be as complex as designing the database itself. According to some embodiments, the automation system is configured to analyze existing database systems, capture and/or install monitoring components within the existing database, and generate execution pathways to integrate existing database systems into automation control systems. Based on the current state information, the automation system is configured to generate an installation pathway of one or more intermediate states to transition the existing system from no automation to a goal state having active automation agents distributed throughout the database.Type: GrantFiled: July 13, 2018Date of Patent: November 26, 2019Assignee: MongoDB, Inc.Inventors: Eliot Horowitz, Cailin Anne Nelson, Louisa Berger
-
Patent number: 10481982Abstract: 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: GrantFiled: June 8, 2016Date of Patent: November 19, 2019Assignee: MongoDB, Inc.Inventor: Dwight Merriman
-
Publication number: 20190303382Abstract: 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: ApplicationFiled: March 6, 2019Publication date: October 3, 2019Applicant: MongoDB, Inc.Inventors: Keith Bostic, Michael Cahill, Eliot Horowitz, Dan Pasette, Mathias Stearn, Geert Bosch