Patents by Inventor Eliot Horowitz

Eliot Horowitz has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10713280
    Abstract: 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: Grant
    Filed: June 20, 2017
    Date of Patent: July 14, 2020
    Assignee: MongoDB, Inc.
    Inventors: Eliot Horowitz, John Morales, Cory P. Mintz, Louisa Berger, Cailin Anne Nelson
  • Patent number: 10713275
    Abstract: 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: Grant
    Filed: July 1, 2016
    Date of Patent: July 14, 2020
    Assignee: MongoDB, Inc.
    Inventors: Dwight Merriman, Eliot Horowitz, Andrew Michalski, Therese Avitabile
  • Patent number: 10698775
    Abstract: 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: Grant
    Filed: May 25, 2017
    Date of Patent: June 30, 2020
    Assignee: MongoDB, Inc.
    Inventors: Eliot Horowitz, Andrew Michalski Schwerin, Mathias Benjamin Stearn, Eric Andrew Milkie
  • Patent number: 10673623
    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 25, 2017
    Date of Patent: June 2, 2020
    Assignee: MongoDB, Inc.
    Inventors: Eliot Horowitz, Per Andreas Nilsson
  • Patent number: 10671496
    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 25, 2017
    Date of Patent: June 2, 2020
    Assignee: MongoDB, Inc.
    Inventors: Eliot Horowitz, Andrew Michalski Schwerin, Mathias Benjamin Stearn, Eric Andrew Milkie
  • Patent number: 10621050
    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: June 20, 2017
    Date of Patent: April 14, 2020
    Assignee: MongoDB, Inc.
    Inventors: Eliot Horowitz, Rostislav Briskin, Daniel William Gottlieb
  • Patent number: 10621200
    Abstract: 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: Grant
    Filed: March 18, 2016
    Date of Patent: April 14, 2020
    Assignee: MongoDB, Inc.
    Inventors: Dwight Merriman, Eliot Horowitz
  • Patent number: 10614098
    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: May 25, 2017
    Date of Patent: April 7, 2020
    Assignee: MongoDB, Inc.
    Inventors: Eliot Horowitz, Andrew Michalski Schwerin, Siyuan Zhou, Eric Andrew Milkie
  • Publication number: 20200097486
    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: Application
    Filed: June 28, 2019
    Publication date: March 26, 2020
    Applicant: MongoDB, Inc.
    Inventors: Eliot Horowitz, Andrew Michalski Schwerin, Siyuan Zhou, Eric Andrew Milkie
  • Patent number: 10585867
    Abstract: 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: Grant
    Filed: May 25, 2017
    Date of Patent: March 10, 2020
    Assignee: MongoDB, Inc.
    Inventors: Eliot Horowitz, David Lenox Storch, Max Jacob Hirschhorn, J. Rayvid Rassi
  • Patent number: 10572505
    Abstract: 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: Grant
    Filed: March 18, 2016
    Date of Patent: February 25, 2020
    Assignee: MongoDB, Inc.
    Inventors: Dwight Merriman, Eliot Horowitz
  • Patent number: 10572465
    Abstract: 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: Grant
    Filed: April 7, 2017
    Date of Patent: February 25, 2020
    Assignee: MongoDB, Inc.
    Inventors: Dwight Merriman, Eliot Horowitz
  • Publication number: 20190392006
    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: Application
    Filed: June 14, 2019
    Publication date: December 26, 2019
    Inventors: Eliot Horowitz, Andrew Michalski Schwerin
  • Publication number: 20190391881
    Abstract: 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: Application
    Filed: June 14, 2019
    Publication date: December 26, 2019
    Applicant: MongoDB, Inc.
    Inventor: Eliot Horowitz
  • Patent number: 10496669
    Abstract: 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: Grant
    Filed: July 1, 2016
    Date of Patent: December 3, 2019
    Assignee: MongoDB, Inc.
    Inventors: Dwight Merriman, Eliot Horowitz, Andrew Michalski Schwerin, Therese Avitabile
  • Patent number: 10489357
    Abstract: 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: Grant
    Filed: July 13, 2018
    Date of Patent: November 26, 2019
    Assignee: MongoDB, Inc.
    Inventors: Eliot Horowitz, Cailin Anne Nelson, Louisa Berger
  • Publication number: 20190303382
    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: Application
    Filed: March 6, 2019
    Publication date: October 3, 2019
    Applicant: MongoDB, Inc.
    Inventors: Keith Bostic, Michael Cahill, Eliot Horowitz, Dan Pasette, Mathias Stearn, Geert Bosch
  • Patent number: 10430433
    Abstract: According to one embodiment, a translation component is configured to operate on document encoded data to translate the document encoded data into a canonical format comprising a plurality of canonical types that fold together into a byte stream. The translation component is configured to accept any storage format of data (e.g., column store, row store, LSM tree, etc. and/or data from any storage engine, WIREDTIGER, MMAP, AR tree, Radix tree, etc.) and translate that data into a byte stream to enable efficient comparison. When executing searches and using the translated data to provide comparisons there is necessarily a trade-off based on the cost of translating the data and how much the translated data can be leveraged to increase comparison efficiency.
    Type: Grant
    Filed: December 23, 2016
    Date of Patent: October 1, 2019
    Assignee: MongoDB, Inc.
    Inventors: Mathias Benjamin Stearn, Geert Bosch, Eliot Horowitz
  • Patent number: 10423626
    Abstract: According to one embodiment, a translation component is configured to operate on document encoded data to translate the document encoded data into a canonical format comprising a plurality of canonical types that fold together into a byte stream. The translation component is configured to accept any storage format of data (e.g., column store, row store, LSM tree, etc. and/or data from any storage engine, WIREDTIGER, MMAP, AR tree, Radix tree, etc.) and translate that data into a byte stream to enable efficient comparison. When executing searches and using the translated data to provide comparisons there is necessarily a trade-off based on the cost of translating the data and how much the translated data can be leveraged to increase comparison efficiency.
    Type: Grant
    Filed: December 23, 2016
    Date of Patent: September 24, 2019
    Assignee: MongoDB, Inc.
    Inventors: Mathias Benjamin Stearn, Eliot Horowitz, Geert Bosch
  • Patent number: 10394822
    Abstract: According to one embodiment, a translation component is configured to operate on document encoded data to translate the document encoded data into a canonical format comprising a plurality of canonical types that fold together into a byte stream. The translation component is configured to accept any storage format of data (e.g., column store, row store, LSM tree, etc. and/or data from any storage engine, WIREDTIGER, MMAP, AR tree, Radix tree, etc.) and translate that data into a byte stream to enable efficient comparison. When executing searches and using the translated data to provide comparisons there is necessarily a trade-off based on the cost of translating the data and how much the translated data can be leveraged to increase comparison efficiency.
    Type: Grant
    Filed: December 23, 2016
    Date of Patent: August 27, 2019
    Assignee: MongoDB, Inc.
    Inventors: Mathias Benjamin Stearn, Eliot Horowitz, Geert Bosch