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

  • Publication number: 20170262441
    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: Application
    Filed: May 25, 2017
    Publication date: September 14, 2017
    Inventors: Eliot Horowitz, David Lenox Storch, Mathias Benjamin Stearn
  • Publication number: 20170262516
    Abstract: A system and computer implemented method for execution of aggregation expressions on a distributed non-relational database system is provided. The method comprises the acts of determining, by a computer system, an optimization for execution of an aggregation operation, wherein the aggregation operation includes a plurality of data operations on a distributed non-relational database; modifying, by the computer system, the plurality of data operations to optimize execution; splitting the aggregation operation into a distributed aggregation operation and a merged aggregation operation; instructing each of a plurality of shard servers to perform the distributed aggregation operation; aggregating, at a merging shard server, the results of the distributed aggregation operation from each of the plurality of shard servers; and performing the merged aggregation operation on the aggregated results of the distributed aggregation operation from each of the plurality of shard servers.
    Type: Application
    Filed: May 25, 2017
    Publication date: September 14, 2017
    Inventors: Eliot Horowitz, David Lenox Storch, Mathias Benjamin Stearn
  • Publication number: 20170262519
    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: May 25, 2017
    Publication date: September 14, 2017
    Inventors: Eliot Horowitz, Andrew Michalski Schwerin, Siyuan Zhou, Eric Andrew Milkie
  • Publication number: 20170262440
    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: Application
    Filed: May 25, 2017
    Publication date: September 14, 2017
    Inventors: Eliot Horowitz, David Lenox Storch, Mathias Benjamin Stearn
  • Publication number: 20170262638
    Abstract: 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, that comprise an operation prediction component for determining an expected set of operations to be performed on a portion of the database; a data format selection component for selecting, based on at least one characteristic of the expected set of operations, and at least one storage engine for writing the portion of the database in a selected data format. According to one embodiment, the system includes an encryption API configured to initialize callback functions for encrypting and decrypting database data, a storage API for executing the call back functions, a database API configured to manage database operations (e.g., read and write requests), wherein the database API calls the storage API to access data on a stable storage medium.
    Type: Application
    Filed: May 25, 2017
    Publication date: September 14, 2017
    Inventors: Eliot Horowitz, Per Andreas Nilsson
  • Publication number: 20170264432
    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: Application
    Filed: May 25, 2017
    Publication date: September 14, 2017
    Inventors: Eliot Horowitz, Per Andreas Nilsson
  • Publication number: 20170262517
    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: May 25, 2017
    Publication date: September 14, 2017
    Inventors: Eliot Horowitz, David Lenox Storch, Charles William Swanson
  • Patent number: 9740762
    Abstract: 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 manages 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: Grant
    Filed: April 1, 2011
    Date of Patent: August 22, 2017
    Assignee: MongoDB, Inc.
    Inventors: Eliot Horowitz, Dwight Merriman
  • Patent number: 9710510
    Abstract: According to one aspect, provided are methods and systems for minimizing lock contention in a distributed database environment. The methods and systems can include a database management component configured to manage database instances, the database management component also configured to receive a first data request operation on the distributed database, an execution component configured to process the first data request operation including at least one write request on at least one database instance managed by the database management component, and a fault prediction component configured to detect a potential page fault responsive to a target data of the write request, wherein the execution component is further configured to suspend execution of the first data request operation, request access a physical storage to read the target data into active memory, and re-execute the first data request operation after a period of time for suspending the first data request operation.
    Type: Grant
    Filed: March 7, 2014
    Date of Patent: July 18, 2017
    Assignee: MongoDB, Inc.
    Inventors: Dwight Merriman, Eliot Horowitz
  • Publication number: 20170169059
    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: Application
    Filed: December 15, 2015
    Publication date: June 15, 2017
    Applicant: MongoDB, Inc.
    Inventors: Eliot Horowitz, Cailin Anne Nelson, Louisa Berger
  • Publication number: 20170161341
    Abstract: One aspect relates to generating a unifying virtual schema in a non-relational database. A database is analyzed either in its entirety, or in part by using a sample of the database as a representative portion of the database as a whole. Common attributes within the database may be identified, ranked and displayed to a user through one or more of various visualizations. In other examples, the user may further refine the way the data is displayed and how much is displayed by interacting with a user interface.
    Type: Application
    Filed: July 29, 2016
    Publication date: June 8, 2017
    Applicant: MongoDB, Inc.
    Inventors: Lucas Hrabovsky, Thomas Rueckstiess, Matt Kangas, Eliot Horowitz
  • Patent number: 9646036
    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: February 23, 2015
    Date of Patent: May 9, 2017
    Assignee: MongoDB, Inc.
    Inventors: Dwight Merriman, Eliot Horowitz
  • Publication number: 20170109421
    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: Application
    Filed: December 23, 2016
    Publication date: April 20, 2017
    Applicant: MongoDB, Inc.
    Inventors: Mathias Stearn, Geert Bosch, Eliot Horowitz
  • Publication number: 20170109399
    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: Application
    Filed: December 23, 2016
    Publication date: April 20, 2017
    Applicant: MongoDB, Inc.
    Inventors: Mathias Stearn, Eliot Horowitz, Geert Bosch
  • Publication number: 20170109398
    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: Application
    Filed: December 23, 2016
    Publication date: April 20, 2017
    Applicant: MongoDB, Inc.
    Inventors: Mathias Stearn, Eliot Horowitz, Geert Bosch
  • Publication number: 20170091327
    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: January 11, 2016
    Publication date: March 30, 2017
    Inventors: Keith Bostic, Michael Cahill, Eliot Horowitz, Dan Pasette, Mathias Stearn, Geert Bosch
  • Publication number: 20160246861
    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: Application
    Filed: February 12, 2016
    Publication date: August 25, 2016
    Applicant: MongoDB, Inc.
    Inventors: Dwight Merriman, Eliot Horowitz, Chris Todd Westin
  • Publication number: 20160203202
    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: Application
    Filed: March 18, 2016
    Publication date: July 14, 2016
    Applicant: MongoDB, Inc.
    Inventors: Dwight Merriman, Eliot Horowitz
  • Patent number: 9317576
    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: October 28, 2013
    Date of Patent: April 19, 2016
    Assignee: MongoDB, Inc.
    Inventors: Dwight Merriman, Eliot Horowitz
  • Patent number: 9262462
    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: July 26, 2013
    Date of Patent: February 16, 2016
    Assignee: MongoDB, Inc.
    Inventors: Dwight Merriman, Eliot Horowitz, Chris Todd Westin