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: 20170262441Abstract: 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: ApplicationFiled: May 25, 2017Publication date: September 14, 2017Inventors: Eliot Horowitz, David Lenox Storch, Mathias Benjamin Stearn
-
Publication number: 20170262516Abstract: 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: ApplicationFiled: May 25, 2017Publication date: September 14, 2017Inventors: Eliot Horowitz, David Lenox Storch, Mathias Benjamin Stearn
-
Publication number: 20170262519Abstract: 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: May 25, 2017Publication date: September 14, 2017Inventors: Eliot Horowitz, Andrew Michalski Schwerin, Siyuan Zhou, Eric Andrew Milkie
-
Publication number: 20170262440Abstract: 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: ApplicationFiled: May 25, 2017Publication date: September 14, 2017Inventors: Eliot Horowitz, David Lenox Storch, Mathias Benjamin Stearn
-
Publication number: 20170262638Abstract: 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: ApplicationFiled: May 25, 2017Publication date: September 14, 2017Inventors: Eliot Horowitz, Per Andreas Nilsson
-
Publication number: 20170264432Abstract: 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: ApplicationFiled: May 25, 2017Publication date: September 14, 2017Inventors: Eliot Horowitz, Per Andreas Nilsson
-
Publication number: 20170262517Abstract: 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: ApplicationFiled: May 25, 2017Publication date: September 14, 2017Inventors: Eliot Horowitz, David Lenox Storch, Charles William Swanson
-
Patent number: 9740762Abstract: 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: GrantFiled: April 1, 2011Date of Patent: August 22, 2017Assignee: MongoDB, Inc.Inventors: Eliot Horowitz, Dwight Merriman
-
Patent number: 9710510Abstract: 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: GrantFiled: March 7, 2014Date of Patent: July 18, 2017Assignee: MongoDB, Inc.Inventors: Dwight Merriman, Eliot Horowitz
-
Publication number: 20170169059Abstract: 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: ApplicationFiled: December 15, 2015Publication date: June 15, 2017Applicant: MongoDB, Inc.Inventors: Eliot Horowitz, Cailin Anne Nelson, Louisa Berger
-
Publication number: 20170161341Abstract: 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: ApplicationFiled: July 29, 2016Publication date: June 8, 2017Applicant: MongoDB, Inc.Inventors: Lucas Hrabovsky, Thomas Rueckstiess, Matt Kangas, Eliot Horowitz
-
Patent number: 9646036Abstract: 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: February 23, 2015Date of Patent: May 9, 2017Assignee: MongoDB, Inc.Inventors: Dwight Merriman, Eliot Horowitz
-
Publication number: 20170109421Abstract: 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: ApplicationFiled: December 23, 2016Publication date: April 20, 2017Applicant: MongoDB, Inc.Inventors: Mathias Stearn, Geert Bosch, Eliot Horowitz
-
Publication number: 20170109399Abstract: 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: ApplicationFiled: December 23, 2016Publication date: April 20, 2017Applicant: MongoDB, Inc.Inventors: Mathias Stearn, Eliot Horowitz, Geert Bosch
-
Publication number: 20170109398Abstract: 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: ApplicationFiled: December 23, 2016Publication date: April 20, 2017Applicant: MongoDB, Inc.Inventors: Mathias Stearn, Eliot Horowitz, Geert Bosch
-
Publication number: 20170091327Abstract: 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: January 11, 2016Publication date: March 30, 2017Inventors: Keith Bostic, Michael Cahill, Eliot Horowitz, Dan Pasette, Mathias Stearn, Geert Bosch
-
Publication number: 20160246861Abstract: 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: ApplicationFiled: February 12, 2016Publication date: August 25, 2016Applicant: MongoDB, Inc.Inventors: Dwight Merriman, Eliot Horowitz, Chris Todd Westin
-
Publication number: 20160203202Abstract: 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: ApplicationFiled: March 18, 2016Publication date: July 14, 2016Applicant: MongoDB, Inc.Inventors: Dwight Merriman, Eliot Horowitz
-
Patent number: 9317576Abstract: 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: October 28, 2013Date of Patent: April 19, 2016Assignee: MongoDB, Inc.Inventors: Dwight Merriman, Eliot Horowitz
-
Patent number: 9262462Abstract: 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: GrantFiled: July 26, 2013Date of Patent: February 16, 2016Assignee: MongoDB, Inc.Inventors: Dwight Merriman, Eliot Horowitz, Chris Todd Westin