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: 10037376Abstract: 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: GrantFiled: April 11, 2016Date of Patent: July 31, 2018Assignee: Microsoft Technology Licensing, LLCInventors: SungJu Cho, Andrew J. Carter, Joshua D. Ehrlich, Jane Alam Jan
-
Patent number: 9990443Abstract: 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: GrantFiled: September 13, 2016Date of Patent: June 5, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Yongling Song, Andrew J. Carter, Joshua D. Ehrlich, Scott M. Meyer
-
Publication number: 20170262524Abstract: 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: ApplicationFiled: April 11, 2016Publication date: September 14, 2017Applicant: LinkedIn CorporationInventors: SungJu Cho, Andrew J. Carter, Joshua D. Ehrlich, Jane Alam Jan
-
Publication number: 20170262551Abstract: 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: ApplicationFiled: April 11, 2016Publication date: September 14, 2017Applicant: LinkedIn CorporationInventors: SungJu Cho, Andrew J. Carter, Joshua D. Ehrlich, Jane Alam Jan
-
Publication number: 20170262521Abstract: 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: ApplicationFiled: April 11, 2016Publication date: September 14, 2017Applicant: LinkedIn CorporationInventors: SungJu Cho, Andrew J. Carter, Joshua D. Ehrlich, Jane Alam Jan
-
Publication number: 20170212930Abstract: 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: ApplicationFiled: January 21, 2016Publication date: July 27, 2017Applicant: LINKEDIN CORPORATIONInventors: Andrew J. Carter, Yongling Song, Joshua D. Ehrlich, Roman A. Averbukh, Scott M. Meyer, Jiahong Zhu
-
Publication number: 20170124221Abstract: 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: ApplicationFiled: September 13, 2016Publication date: May 4, 2017Applicant: LinkedIn CorporationInventors: Yongling Song, Andrew J. Carter, Joshua D. Ehrlich, Scott M. Meyer
-
Patent number: 9514247Abstract: 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: GrantFiled: October 28, 2015Date of Patent: December 6, 2016Assignee: LinkedIn CorporationInventors: Yongling Song, Andrew J. Carter, Joshua D. Ehrlich, Scott M. Meyer