Patents by Inventor Andrew Michalski Schwerin

Andrew Michalski Schwerin 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: 11893042
    Abstract: A method is provided for resharding a sharded database sharded according to a first shard key. The method includes: receiving, by a processor an instruction to reshard the sharded database; receiving, at the processor, a new shard key to be used in a resharding process to reshard the sharded database; determining, by the processor, whether a duration of unavailability of the sharded database during the resharding process is less than a predetermined amount of time; and automatically performing, by the processor, the resharding process according to the new shard key to produce a resharded database, if the duration of unavailability is less than the predetermined amount of time. The method may be performed without users noticing a significant interruption to read/write operations from/to the database.
    Type: Grant
    Filed: July 1, 2022
    Date of Patent: February 6, 2024
    Assignee: MongoDB, Inc.
    Inventors: Mark Porter, Max Jacob Hirschhorn, Daniel William Gottlieb, Garaudy Etienne, Andrew Michalski Schwerin, Judah Schvimer, Siyuan Zhou, Kaloian Manassiev, Esha Maharishi
  • Publication number: 20230394064
    Abstract: In some embodiments, a database cluster to cluster synchronization system may include multiple replicators coupled to a source database cluster and a destination database cluster, where the source and destination cluster may be shard clusters. Each of the multiple replicators may correspond to a respective subset of the source database cluster and configured to monitor changes of data on the respective subset of the source database cluster and translate the changes of data to one or more database operations to be performed on the destination cluster. The changes of data on the source database may be contained in respective change streams associated with each of the replicators.
    Type: Application
    Filed: June 5, 2023
    Publication date: December 7, 2023
    Applicant: MongoDB, Inc.
    Inventors: Ryan Chipman, Lingzhi Deng, Tim Fogarty, Max Jacob Hirschhorn, Samyukta Lanka, Judah Schvimer, Andrew Michalski Schwerin, Randolph Tan, Mark Porter
  • Publication number: 20230393958
    Abstract: In some embodiments, a database cluster to cluster synchronization system may include multiple replicators coupled to a source database cluster and a destination database cluster, where the source and destination cluster may be shard clusters. Each of the multiple replicators may correspond to a respective subset of the source database cluster and configured to monitor changes of data on the respective subset of the source database cluster and translate the changes of data to one or more database operations to be performed on the destination cluster. The changes of data on the source database may be contained in respective change streams associated with each of the replicators.
    Type: Application
    Filed: June 5, 2023
    Publication date: December 7, 2023
    Applicant: MongoDB, Inc.
    Inventors: Ryan Chipman, Lingzhi Deng, Tim Fogarty, Max Jacob Hirschhorn, Samyukta Lanka, Judah Schvimer, Andrew Michalski Schwerin, Randolph Tan, Mark Porter
  • Patent number: 11768885
    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: August 17, 2022
    Date of Patent: September 26, 2023
    Assignee: MongoDB, Inc.
    Inventors: Eliot Horowitz, Andrew Michalski Schwerin
  • Publication number: 20230020330
    Abstract: According to aspects of the disclosure, there is provided a scalable cloud distributed database system for hosting data of multiple database tenants. In some embodiments, the database may be serverless. The serverless database may be configured to automatically and dynamically match resources to workload demands for tenants of the database. Databases described herein may include replica sets hosting multiple tenants. Tenants may be migrated from one replica set to another replica set based on usage. Usage of tenants may be throttled during migration between replica sets. Tenants with lower usage may be selected for migration between replica sets. During migration, files containing both a document and a history of updates to the document may be migrated. Databases described herein may include multiple storage tiers having different read and/or write speeds.
    Type: Application
    Filed: July 1, 2022
    Publication date: January 19, 2023
    Applicant: MongoDB, Inc.
    Inventors: Andrew Michalski Schwerin, Therese Avitabile, Mark Porter, Tomer Yakir, Gregory Banks, Louisa Berger, Jack Wearden, Judah Schvimer, Matthew Russotto, Michael Cahill, Esha Maharishi, Siyuan Zhou, Eric Andrew Milkie, A. Jesse Jiryu Davis, Misha Tyulenev, Keith Smith, Susan LoVerso, Donald Anderson
  • Publication number: 20230009909
    Abstract: A method is provided for resharding a sharded database sharded according to a first shard key. The method includes: receiving, by a processor an instruction to reshard the sharded database; receiving, at the processor, a new shard key to be used in a resharding process to reshard the sharded database; determining, by the processor, whether a duration of unavailability of the sharded database during the resharding process is less than a predetermined amount of time; and automatically performing, by the processor, the resharding process according to the new shard key to produce a resharded database, if the duration of unavailability is less than the predetermined amount of time. The method may be performed without users noticing a significant interruption to read/write operations from/to the database.
    Type: Application
    Filed: July 1, 2022
    Publication date: January 12, 2023
    Applicant: MongoDB, Inc.
    Inventors: Mark Porter, Max Jacob Hirschhom, Daniel William Gottlied, Garaudy Etienne, Andrew Michalski Schwerin, Judah Schvimer, Siyuan Zhou, Kaloian Manassiev, Esha Maharishi
  • Patent number: 11537482
    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: June 26, 2020
    Date of Patent: December 27, 2022
    Assignee: MongoDB, Inc.
    Inventors: Eliot Horowitz, Andrew Michalski Schwerin, Mathias Benjamin Stearn, Eric Andrew Milkie
  • Publication number: 20220405330
    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: August 17, 2022
    Publication date: December 22, 2022
    Applicant: MongoDB, Inc.
    Inventors: Eliot Horowitz, Andrew Michalski Schwerin
  • 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: 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: 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: 20200327021
    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: Application
    Filed: June 26, 2020
    Publication date: October 15, 2020
    Applicant: MongoDB, Inc.
    Inventors: Eliot Horowitz, Andrew Michalski Schwerin, Mathias Benjamin Stearn, Eric Andrew Milkie
  • Publication number: 20200285549
    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: Application
    Filed: May 26, 2020
    Publication date: September 10, 2020
    Applicant: MongoDB, Inc.
    Inventors: Eliot Horowitz, Andrew Michalski Schwerin, Mathias Benjamin Stearn, Eric Andrew Milkie
  • 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: 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: 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
  • 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
  • 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