Patents by Inventor Srinath Shankar

Srinath Shankar 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: 20170139991
    Abstract: A system obtains desired information from a database by dynamically modifying a query plan while executing a query against the database. In particular, the system accesses predefined cardinality information associated with the query for the database (such as a number of occurrences of information associated with the query in the database), and identifies query constraints based on the predefined cardinality information. Then, the system determines an initial query plan based on the query constraints. After executing an initial query against the database based on the initial query plan, the system revises the initial query and the initial query plan, based on partial results of the initial query, to produce a revised query and a revised query plan. Next, the system executes the revised query against the database based on the revised query plan to obtain additional partial results, and the operations are repeated until a total result is obtained.
    Type: Application
    Filed: November 16, 2015
    Publication date: May 18, 2017
    Applicant: LINKEDIN CORPORATION
    Inventors: Nikhil Teletia, Srinath Shankar, Scott M. Meyer
  • Publication number: 20170083571
    Abstract: In order to facilitate the requesting of desired information from a graph database that stores a graph, a system may translate an initial query into a query that can be executed against the graph database. In particular, using primitives, the system may translate a query associated with a type of database (such as a relational database) into the query. The graph may include nodes, edges between the nodes, and predicates to represent and store data with index-free adjacency. Moreover, the primitives may include: a rule based on edges in the graph that expresses a relational schema in the type of database, and information associated with a compound key that specifies a relationship between nodes, edges and predicates in the graph corresponding to a table in the type of database. Then, the system may execute the query against the graph database, and may receive a result that includes a subset of the graph.
    Type: Application
    Filed: February 17, 2016
    Publication date: March 23, 2017
    Applicant: LinkedIn Corporation
    Inventors: Srinath Shankar, Huaxin Liu, Robert W. Stephenson, Scott M. Meyer
  • Publication number: 20170083588
    Abstract: Distributed query processing is often performed by a set of nodes that apply MapReduce to a data set and materialize partial results to storage, which are then aggregated to produce the query result. However, this architecture requires a preconfigured set of database nodes; can only fulfill queries that utilize MapReduce processing; and may be slowed down by materializing partial results to storage. Instead, distributed query processing can be achieved by choosing a node for various portions of the query, and generating customized code for the node that only performs the query portion that is allocated to the node. The node executes the code to perform the query portion, and rather than materializing partial results to storage, streams intermediate query results to a next selected node in the distributed query. Nodes selection may be involve matching the details of the query portion with the characteristics and capabilities of the available nodes.
    Type: Application
    Filed: December 7, 2016
    Publication date: March 23, 2017
    Inventors: Willis Lang, Nikhil Teletia, Hideaki Kimura, Alan D. Halverson, Srinath Shankar, Karthik Ramachandra
  • Patent number: 9535963
    Abstract: In order to request desired information from a graph database, a system executes a query against the graph database. The graph database may store a graph that includes nodes, edges between the nodes, and predicates to represent and store data with index-free adjacency. Moreover, the query may identify a first edge associated with a predicate that specifies one or more of the nodes in the graph. In response to the query, the system receives a result that includes a subset of the graph. In particular, the subset of the graph may include the desired information expressed within an associated structure of the graph.
    Type: Grant
    Filed: September 18, 2015
    Date of Patent: January 3, 2017
    Assignee: LinkedIn Corporation
    Inventors: Srinath Shankar, Robert W. Stephenson, Andrew J. Carter, Maverick Shu-Bun Lee, Scott M. Meyer
  • Patent number: 9378303
    Abstract: In order to facilitate efficient storage and extraction of data, a system may represent a compound relationship in a graph stored in a graph database. In particular, the system (or a user) may define the compound relationship based on two or more predicates associated with two or more edges between two or more nodes in the graph. Then, the system may generate, in the graph, a hub node that corresponds to the compound relationship and that has an identifier that is hidden from users of the graph so that the identifier of the hub node is not visible external to the graph database. Moreover, the identifier of the hub node may be specified in a query using the two or more predicates, thereby allowing data associated with the compound relationship to be readily identified, modified and/or extracted.
    Type: Grant
    Filed: September 18, 2015
    Date of Patent: June 28, 2016
    Assignee: LinkedIn Corporation
    Inventors: Shyam Shankar, Karan R. Parikh, Andrew J. Carter, Scott M. Meyer, Srinath Shankar
  • Patent number: 9378239
    Abstract: In order to request desired information from a graph database, a system executes a query against the graph database. The graph database may store a graph that includes nodes, edges between the nodes, and predicates to represent and store data with index-free adjacency. Moreover, the query may identify a first edge associated with a predicate that specifies one or more of the nodes in the graph. In response to the query, the system receives a result that includes a subset of the graph. Then, the system may verify the subset of the graph. In particular, the system may verify that the subset of the graph includes one or more particular edges, such as an edge with the predicate in the query. Furthermore, the system may verify that the subset of the graph includes data and/or associated structure in the portion of the graph.
    Type: Grant
    Filed: September 18, 2015
    Date of Patent: June 28, 2016
    Assignee: LinkedIn Corporation
    Inventors: Yejuan Long, Srinath Shankar, Scott M. Meyer
  • Patent number: 9378241
    Abstract: In order to request desired information from a graph database, a system executes a query against the graph database. The graph database may store a graph that includes nodes, edges between the nodes, and predicates to represent and store data with index-free adjacency. Moreover, the query may identify a first edge associated with a predicate that specifies one or more of the nodes in the graph. In response to the query, the system receives a result that includes a subset of the graph. Then, the system may use the result of the query in a concatenated set of queries. In particular, the system may execute a second query against the subset of the graph. Furthermore, in response to the second query, the system may receive a second result that includes a second subset of the graph.
    Type: Grant
    Filed: September 18, 2015
    Date of Patent: June 28, 2016
    Assignee: LinkedIn Corporation
    Inventors: Srinath Shankar, Robert W. Stephenson, Andrew J. Carter, Scott M. Meyer
  • Patent number: 9330138
    Abstract: In order to facilitate the requesting of desired information from a graph database that stores a graph, a system may translate an initial query into a query that can be executed against the graph database. In particular, using primitives, the system may translate a query associated with a type of database (such as a relational database) into the query. The graph may include nodes, edges between the nodes, and predicates to represent and store data with index-free adjacency. Moreover, the primitives may include: a rule based on edges in the graph that expresses a relational schema in the type of database, and information associated with a compound key that specifies a relationship between nodes, edges and predicates in the graph corresponding to a table in the type of database. Then, the system may execute the query against the graph database, and may receive a result that includes a subset of the graph.
    Type: Grant
    Filed: September 18, 2015
    Date of Patent: May 3, 2016
    Assignee: LinkedIn Corporation
    Inventors: Srinath Shankar, Huaxin Liu, Robert W. Stephenson, Scott M. Meyer
  • Patent number: 9317554
    Abstract: Presented is a system and method for evaluating relational database queries in a distributed system. An optimized query plan is received by a control node. The query plan is decoded to a SQL statement that is semantically equivalent to the query plan, even though the query plan contains elements that have no direct analog in SQL. The decoded SQL is transmitted to a compute node for execution.
    Type: Grant
    Filed: September 26, 2012
    Date of Patent: April 19, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Srinath Shankar, Rimma Nehme
  • Patent number: 9305074
    Abstract: Distributing rows of data in a distributed table distributed across a plurality of nodes. A method includes identifying skewed rows of a first table to be distributed in a distributed database system. The skewed rows include a common data value in a column such that the skewed rows are skewed, according to a predetermined skew factor, with respect to other rows in the first table not having the common data value. Non-skewed rows of the first table that are not skewed according to the skew factor are identified. The skewed rows of the first table are distributed across nodes in a non-deterministic fashion. The non-skewed rows of the first table are distributed across nodes in a deterministic fashion. The rows of the first table distributed across the nodes, whether distributed in a deterministic fashion or non-deterministic fashion, are stored in a single table at each of the nodes.
    Type: Grant
    Filed: June 19, 2013
    Date of Patent: April 5, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nikhil Teletia, Alan Dale Halverson, Srinath Shankar, Jeffrey Naughton
  • Publication number: 20160078090
    Abstract: The present invention extends to methods, systems, and computer program products for optimizing parallel queries using interesting distributions. For each logical operator in an SQL server MEMO, in a top down manner from a root operator to the leaf operators, interesting distributions for the operators can be identified based on the properties of the operators. Identified interesting distributions can be propagated down to lower operators by annotating the lower operators with the interesting distributions. Thus, a SQL server MEMO can be annotated with interesting distributions propagated top down from root to leaf logical operators to generate an annotated SQL server MEMO. Parallel query plans can then be generated from the annotated SQL server MEMO in a bottom up manner from leaf operators to a root operator. Annotated interesting properties can be used to prune operators, thereby facilitating a more tractable search space for a parallel query plan.
    Type: Application
    Filed: November 27, 2015
    Publication date: March 17, 2016
    Inventors: Srinath Shankar, Rimma V. Nehme
  • Patent number: 9229979
    Abstract: The present invention extends to methods, systems, and computer program products for optimizing parallel queries using interesting distributions. For each logical operator in an SQL server MEMO, in a top down manner from a root operator to the leaf operators, interesting distributions for the operators can be identified based on the properties of the operators. Identified interesting distributions can be propagated down to lower operators by annotating the lower operators with the interesting distributions. Thus, a SQL server MEMO can be annotated with interesting distributions propagated top down from root to leaf logical operators to generate an annotated SQL server MEMO. Parallel query plans can then be generated from the annotated SQL server MEMO in a bottom up manner from leaf operators to a root operator. Annotated interesting properties can be used to prune operators, thereby facilitating a more tractable search space for a parallel query plan.
    Type: Grant
    Filed: December 11, 2012
    Date of Patent: January 5, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Srinath Shankar, Rimma V. Nehme
  • Publication number: 20150379083
    Abstract: A custom query execution engine can be generated that captures a query. More particularly, the custom query execution engine can be generated based on combination of a query and an execution engine. Subsequent to generation, a custom query execution engine can be submitted to a system configured to execute the custom query execution engine and evaluate the query over a data store.
    Type: Application
    Filed: June 25, 2014
    Publication date: December 31, 2015
    Inventors: Willis Lang, Nikhil Teletia, Hideaki Kimura, Alan D. Halverson, Srinath Shankar, Karthik Ramachandra
  • Patent number: 9177172
    Abstract: A single system image is provided for a parallel data warehouse system by exposing a shell database within a database management system comprising metadata and statistics regarding externally stored data. Further, functionality of the database management system can be exploited to perform pre-execution tasks. In one instance, one or more execution plans can be generated by the database management system for an input command and subsequently employed to generate a distributed execution plan.
    Type: Grant
    Filed: November 15, 2012
    Date of Patent: November 3, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Eric R. Robinson, Alan D. Halverson, Rimma V. Nehme, Srinath Shankar
  • Publication number: 20150169688
    Abstract: The present invention extends to methods, systems, and computer program products for formulating global statistics for parallel databases. In general, embodiments of the invention merge (combine) information in multiple compute node level histograms to create a global histogram for a table that is distributed across a number of compute nodes. Merging can include aligning histogram step boundaries across the compute node histograms. Merging can include aggregating histogram step-level information, such as, for example, equality rows and average range rows (or alternately equality rows, range rows, and distinct range rows), across the compute node histograms into a single global step. Merging can account for distinct values that do not appear at one or more compute nodes as well as distinct values that are counted at multiple compute nodes. A resulting global histogram can be coalesced to reduce the step count.
    Type: Application
    Filed: February 25, 2015
    Publication date: June 18, 2015
    Inventors: Alan Dale Halverson, Eric R. Robinson, Srinath Shankar, Jeffrey F. Naughton
  • Patent number: 8972378
    Abstract: The present invention extends to methods, systems, and computer program products for formulating global statistics for parallel databases. In general, embodiments of the invention merge (combine) information in multiple compute node level histograms to create a global histogram for a table that is distributed across a number of compute nodes. Merging can include aligning histogram step boundaries across the compute node histograms. Merging can include aggregating histogram step-level information, such as, for example, equality rows and average range rows (or alternately equality rows, range rows, and distinct range rows), across the compute node histograms into a single global step. Merging can account for distinct values that do not appear at one or more compute nodes as well as distinct values that are counted at multiple compute nodes. A resulting global histogram can be coalesced to reduce the step count.
    Type: Grant
    Filed: October 22, 2012
    Date of Patent: March 3, 2015
    Assignee: Microsoft Corporation
    Inventors: Alan Dale Halverson, Eric R. Robinson, Srinath Shankar, Jeffrey F. Naughton
  • Publication number: 20140379692
    Abstract: Distributing rows of data in a distributed table distributed across a plurality of nodes. A method includes identifying skewed rows of a first table to be distributed in a distributed database system. The skewed rows include a common data value in a column such that the skewed rows are skewed, according to a predetermined skew factor, with respect to other rows in the first table not having the common data value. Non-skewed rows of the first table that are not skewed according to the skew factor are identified. The skewed rows of the first table are distributed across nodes in a non-deterministic fashion. The non-skewed rows of the first table are distributed across nodes in a deterministic fashion. The rows of the first table distributed across the nodes, whether distributed in a deterministic fashion or non-deterministic fashion, are stored in a single table at each of the nodes.
    Type: Application
    Filed: June 19, 2013
    Publication date: December 25, 2014
    Inventors: Nikhil Teletia, Alan Dale Halverson, Srinath Shankar, Jeffrey Naughton
  • Publication number: 20140164353
    Abstract: The present invention extends to methods, systems, and computer program products for optimizing parallel queries using interesting distributions. For each logical operator in an SQL server MEMO, in a top down manner from a root operator to the leaf operators, interesting distributions for the operators can be identified based on the properties of the operators. Identified interesting distributions can be propagated down to lower operators by annotating the lower operators with the interesting distributions. Thus, a SQL server MEMO can be annotated with interesting distributions propagated top down from root to leaf logical operators to generate an annotated SQL server MEMO. Parallel query plans can then be generated from the annotated SQL server MEMO in a bottom up manner from leaf operators to a root operator. Annotated interesting properties can be used to prune operators, thereby facilitating a more tractable search space for a parallel query plan.
    Type: Application
    Filed: December 11, 2012
    Publication date: June 12, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Srinath Shankar, Rimma V. Nehme
  • Publication number: 20140137237
    Abstract: A single system image is provided for a parallel data warehouse system by exposing a shell database within a database management system comprising metadata and statistics regarding externally stored data. Further, functionality of the database management system can be exploited to perform pre-execution tasks. In one instance, one or more execution plans can be generated by the database management system for an input command and subsequently employed to generate a distributed execution plan.
    Type: Application
    Filed: November 15, 2012
    Publication date: May 15, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Eric R. Robinson, Alan D. Halverson, Rimma V. Nehme, Srinath Shankar
  • Publication number: 20140114950
    Abstract: The present invention extends to methods, systems, and computer program products for formulating global statistics for parallel databases. In general, embodiments of the invention merge (combine) information in multiple compute node level histograms to create a global histogram for a table that is distributed across a number of compute nodes. Merging can include aligning histogram step boundaries across the compute node histograms. Merging can include aggregating histogram step-level information, such as, for example, equality rows and average range rows (or alternately equality rows, range rows, and distinct range rows), across the compute node histograms into a single global step. Merging can account for distinct values that do not appear at one or more compute nodes as well as distinct values that are counted at multiple compute nodes. A resulting global histogram can be coalesced to reduce the step count.
    Type: Application
    Filed: October 22, 2012
    Publication date: April 24, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Alan Dale Halverson, Eric R. Robinson, Srinath Shankar, Jeffrey F. Naughton