Patents by Inventor Dwight Merriman

Dwight Merriman 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: 8990159
    Abstract: A durable memory-mapped database system includes a first memory-mapped view of a database, a second memory-mapped view of the database, a journal buffer and a journal. The first memory-mapped view of the database is a protected view and includes copies of a plurality of datafiles from the database. The second memory-mapped view of the database is a write view and includes copies of the plurality of datafiles. The journal buffer is a buffer in random access memory configured to record datafile updates. The journal is configured to periodically receive recorded datafile updates from the journal buffer.
    Type: Grant
    Filed: November 1, 2012
    Date of Patent: March 24, 2015
    Assignee: MongoDB, Inc.
    Inventors: Dwight Merriman, Eliot Horowitz, Mathias Stearn
  • Patent number: 8965901
    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: March 1, 2011
    Date of Patent: February 24, 2015
    Assignee: MongoDB, Inc.
    Inventors: Dwight Merriman, Eliot Horowitz
  • Publication number: 20140258255
    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: Application
    Filed: March 7, 2014
    Publication date: September 11, 2014
    Inventors: Dwight Merriman, Eliot Horowitz
  • Publication number: 20140164831
    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 to 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: October 28, 2013
    Publication date: June 12, 2014
    Applicant: MONGODB, INC.
    Inventors: Dwight Merriman, Eliot Horowitz
  • Publication number: 20140032525
    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: March 11, 2013
    Publication date: January 30, 2014
    Inventors: Dwight Merriman, Eliot Horowitz
  • Publication number: 20140032579
    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: July 26, 2013
    Publication date: January 30, 2014
    Inventors: Dwight Merriman, Eliot Horowitz
  • Publication number: 20130290249
    Abstract: Systems and methods are provided for managing asynchronous replication in a distributed database environment, while providing for scaling of the distributed database. A cluster of nodes can be assigned roles for managing partitions of data within the database and processing database requests. In one embodiment, each cluster includes a node with a primary role to process write operations and mange asynchronous replication of the operations to at least one secondary node. Each cluster or set of nodes can host one or more partitions of database data. Collectively, the cluster or set of nodes define a shard cluster that hosts all the data of the distributed database. Each shard cluster, individual nodes, or sets of nodes can be configured to manage the size of any hosted partitions, splitting database partitions, migrating partitions, and/or managing expansion of shard clusters to encompass new systems.
    Type: Application
    Filed: June 27, 2013
    Publication date: October 31, 2013
    Inventors: Dwight Merriman, Eliot Horowitz
  • Patent number: 8572031
    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 to 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: December 23, 2010
    Date of Patent: October 29, 2013
    Assignee: MongoDB, Inc.
    Inventors: Dwight Merriman, Eliot Horowitz
  • Patent number: 8566154
    Abstract: A computer system for automatic replacement of advertisements includes an advertising server for selecting an advertisement based on criteria related to the individual viewer. In particular, advertisements are selected for a given user, based on the past behavior of that specific given user. Advertiser web sites on the network are configured to anonymously report back user activity such as visit dates, purchases, specific product pages visited and the like. Alternative reporting embodiments include email, file transfer protocol and spotlight tags. User activity lists are processed to select candidates for re-targeting. Candidates for re-targeted advertisements are identified based on their own individual past activity, and stored in a list of candidate user ID's. When a candidate on the re-targeted list is identified at any network affiliate web site, a re-targeted advertisement is delivered to the candidate user.
    Type: Grant
    Filed: February 26, 2002
    Date of Patent: October 22, 2013
    Assignee: Google Inc.
    Inventors: Dwight A Merriman, Kevin J O'Connor
  • Publication number: 20130110771
    Abstract: A durable memory-mapped database system includes a first memory-mapped view of a database, a second memory-mapped view of the database, a journal buffer and a journal. The first memory-mapped view of the database is a protected view and includes copies of a plurality of datafiles from the database. The second memory-mapped view of the database is a write view and includes copies of the plurality of datafiles. The journal buffer is a buffer in random access memory configured to record datafile updates. The journal is configured to periodically receive recorded datafile updates from the journal buffer.
    Type: Application
    Filed: November 1, 2012
    Publication date: May 2, 2013
    Inventors: Dwight Merriman, Eliot Horowitz, Mathias Stearn
  • Publication number: 20120254175
    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: Application
    Filed: April 1, 2011
    Publication date: October 4, 2012
    Inventors: Eliot Horowitz, Dwight Merriman
  • Publication number: 20120226889
    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: Application
    Filed: March 1, 2011
    Publication date: September 6, 2012
    Inventors: Dwight Merriman, Eliot Horowitz
  • Publication number: 20120166390
    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 to 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: December 23, 2010
    Publication date: June 28, 2012
    Inventors: Dwight Merriman, Eliot Horowitz
  • Patent number: 7039599
    Abstract: A computer system for automatic replacement of direct advertisements in scarce media includes an advertising server for selecting a direct advertisement based on certain criteria. Transaction results of the direct advertisement placement are reported back to the advertising server, and an associated accounting system. In one embodiment, the direct advertiser's server reports transactions back to the advertising server by email. In a second embodiment, a direct proxy server brokers the user's session (or interaction) with the direct advertiser's server, including transaction processing and the direct proxy server reports the results of transactions back to the advertising server and its associated accounting system. A direct proxy provides an independent audit of transactions at a remote direct advertiser's web site.
    Type: Grant
    Filed: June 15, 1998
    Date of Patent: May 2, 2006
    Assignee: Doubleclick Inc.
    Inventors: Dwight A Merriman, Kevin O'Connor
  • Publication number: 20060089880
    Abstract: A computer system for automatic replacement of direct advertisements in scarce media includes an advertising server for selecting a direct advertisement based on certain criteria. Transaction results of the direct advertisement placement are reported back to the advertising server, and an associated accounting system. In one embodiment, the direct advertiser's server reports transactions back to the advertising server by email. In a second embodiment, a direct proxy server brokers the user's session (or interaction) with the direct advertiser's server, including transaction processing and the direct proxy server reports the results of transactions back to the advertising server and its associated accounting system. A direct proxy provides an independent audit of transactions at a remote direct advertiser's web site.
    Type: Application
    Filed: October 17, 2005
    Publication date: April 27, 2006
    Inventors: Dwight Merriman, Kevin O'Connor
  • Publication number: 20050038702
    Abstract: Methods and apparatuses for targeting the delivery of advertisements over a network such as the Internet are disclosed. Statistics are compiled on individual users and networks and the use of the advertisements is tracked to permit targeting of the advertisements of individual users. In response to requests from affiliated sites, an advertising server transmits to people accessing the page of a site an appropriate one of the advertisement based upon profiling of users and networks.
    Type: Application
    Filed: September 10, 2004
    Publication date: February 17, 2005
    Inventors: Dwight Merriman, Kevin O'Connor
  • Publication number: 20020099600
    Abstract: A computer system for automatic replacement of direct advertisements in scarce media includes an advertising server for selecting a direct advertisement based on certain criteria. Transaction results of the direct advertisement placement are reported back to the advertising server, and an associated accounting system. In one embodiment, the direct advertiser's server reports transactions back to the advertising server by email. In a second embodiment, a direct proxy server brokers the user's session (or interaction) with the direct advertiser's server, including transaction processing and the direct proxy server reports the results of transactions back to the advertising server and its associated accounting system. A direct proxy provides an independent audit of transactions at a remote direct advertiser's web site.
    Type: Application
    Filed: June 15, 1998
    Publication date: July 25, 2002
    Inventors: DWIGHT A. MERRIMAN, KEVIN O'CONNOR
  • Publication number: 20020082923
    Abstract: A computer system for automatic replacement of advertisements includes an advertising server for selecting an advertisement based on criteria related to the individual viewer. In particular, advertisements are selected for a given user, based on the past behavior of that specific given user. Advertiser web sites on the network are configured to anonymously report back user activity such as visit dates, purchases, specific product pages visited and the like. Alternative reporting embodiments include email, file transfer protocol and spotlight tags. User activity lists are processed to select candidates for re-targeting. Candidates for re-targeted advertisements are identified based on their own individual past activity, and stored in a list of candidate user ID's. When a candidate on the re-targeted list is identified at any network affiliate web site, a re-targeted advertisement is delivered to the candidate user.
    Type: Application
    Filed: February 26, 2002
    Publication date: June 27, 2002
    Inventors: Dwight A. Merriman, Kevin J. O'Connor