Patents by Inventor Joshua D. Ehrlich

Joshua D. Ehrlich 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: 10037376
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system determines a current incoming queries per second (QPS) to one or more components for processing queries of a graph database, wherein the graph database is replicated across multiple clusters and distributed among a set of storage nodes in each of the clusters. Next, the system uses the current incoming QPS to estimate, for the one or more components, an expected QPS associated with fanning out of the queries to the clusters. The system then selects a number of clusters in the multiple clusters for fanning out of a query based on the expected QPS and one or more throughput limits for the one or more components. Finally, the system transmits the query to one or more of the storage nodes in the selected number of clusters.
    Type: Grant
    Filed: April 11, 2016
    Date of Patent: July 31, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: SungJu Cho, Andrew J. Carter, Joshua D. Ehrlich, Jane Alam Jan
  • Patent number: 9990443
    Abstract: A system executes a query associated with an application against a graph database by providing, to a first shard of the graph database, the query and a first query header that specifies the first shard. The query includes a subject, a predicate and an object, and the graph database stores a graph that includes nodes, edges between the nodes, and predicates to represent and store data. In response to the query, the system receives results and associated result headers from the first shard and a second shard, where the result headers specify that the results are partial results that are particular fractions of a total result. Furthermore, a combination of the partial results provides the total result to the query that includes a subset of the graph. Note that the subset of the graph may include desired information expressed within an associated structure of the graph.
    Type: Grant
    Filed: September 13, 2016
    Date of Patent: June 5, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yongling Song, Andrew J. Carter, Joshua D. Ehrlich, Scott M. Meyer
  • Publication number: 20170262524
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system determines a current incoming queries per second (QPS) to one or more components for processing queries of a graph database, wherein the graph database is replicated across multiple clusters and distributed among a set of storage nodes in each of the clusters. Next, the system uses the current incoming QPS to estimate, for the one or more components, an expected QPS associated with fanning out of the queries to the clusters. The system then selects a number of clusters in the multiple clusters for fanning out of a query based on the expected QPS and one or more throughput limits for the one or more components. Finally, the system transmits the query to one or more of the storage nodes in the selected number of clusters.
    Type: Application
    Filed: April 11, 2016
    Publication date: September 14, 2017
    Applicant: LinkedIn Corporation
    Inventors: SungJu Cho, Andrew J. Carter, Joshua D. Ehrlich, Jane Alam Jan
  • Publication number: 20170262551
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system identifies a query type of a query of a graph database storing a graph, wherein the graph comprises nodes, edges between pairs of nodes, and predicates. Next, the system determines, based on the query type, a number of clusters on which the graph database is replicated for fanning out of the query. The system then selects a set of storage nodes in the determined number of clusters for processing of the query. Finally, the system generates a fan-out of the query to the selected storage nodes.
    Type: Application
    Filed: April 11, 2016
    Publication date: September 14, 2017
    Applicant: LinkedIn Corporation
    Inventors: SungJu Cho, Andrew J. Carter, Joshua D. Ehrlich, Jane Alam Jan
  • Publication number: 20170262521
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system generates a first distribution of a set of partitions comprising a graph database across a first set of storage nodes in a first cluster. Next, the system replicates the graph database by generating a second, different distribution of the set of partitions across a second set of storage nodes in a second cluster. The system then identifies one or more partitions storing data associated with the query and uses a set of mappings comprising the set of partitions, the first and second sets of storage nodes, and the first and second clusters to select one or more storage nodes containing the one or more partitions. Finally, the system transmits one or more portions of the query to the selected storage nodes.
    Type: Application
    Filed: April 11, 2016
    Publication date: September 14, 2017
    Applicant: LinkedIn Corporation
    Inventors: SungJu Cho, Andrew J. Carter, Joshua D. Ehrlich, Jane Alam Jan
  • Publication number: 20170212930
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system launches a set of child processes for processing queries of a graph database storing a graph, wherein the graph comprises a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates. When a query of the graph database is received, the system transmits the query to one or more of the child processes. Next, the system receives a result of the query from the one or more child processes. The system then provides the result in a response to the query.
    Type: Application
    Filed: January 21, 2016
    Publication date: July 27, 2017
    Applicant: LINKEDIN CORPORATION
    Inventors: Andrew J. Carter, Yongling Song, Joshua D. Ehrlich, Roman A. Averbukh, Scott M. Meyer, Jiahong Zhu
  • Publication number: 20170124221
    Abstract: A system executes a query associated with an application against a graph database by providing, to a first shard of the graph database, the query and a first query header that specifies the first shard. The query includes a subject, a predicate and an object, and the graph database stores a graph that includes nodes, edges between the nodes, and predicates to represent and store data. In response to the query, the system receives results and associated result headers from the first shard and a second shard, where the result headers specify that the results are partial results that are particular fractions of a total result. Furthermore, a combination of the partial results provides the total result to the query that includes a subset of the graph. Note that the subset of the graph may include desired information expressed within an associated structure of the graph.
    Type: Application
    Filed: September 13, 2016
    Publication date: May 4, 2017
    Applicant: LinkedIn Corporation
    Inventors: Yongling Song, Andrew J. Carter, Joshua D. Ehrlich, Scott M. Meyer
  • Patent number: 9514247
    Abstract: A system executes a query associated with an application against a graph database by providing, to a first shard of the graph database, the query and a first query header that specifies the first shard. The query includes a subject, a predicate and an object, and the graph database stores a graph that includes nodes, edges between the nodes, and predicates to represent and store data. In response to the query, the system receives results and associated result headers from the first shard and a second shard, where the result headers specify that the results are partial results that are particular fractions of a total result. Furthermore, a combination of the partial results provides the total result to the query that includes a subset of the graph. Note that the subset of the graph may include desired information expressed within an associated structure of the graph.
    Type: Grant
    Filed: October 28, 2015
    Date of Patent: December 6, 2016
    Assignee: LinkedIn Corporation
    Inventors: Yongling Song, Andrew J. Carter, Joshua D. Ehrlich, Scott M. Meyer