Patents by Inventor Milind M. Joshi

Milind M. Joshi 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: 10983998
    Abstract: Described is a query optimizer comprising a query tuner that performs actual execution of query fragments to obtain actual results during compilation time, and uses those actual results to select a query plan. The actual results may be combined with estimates for fragments that were not executed. The tree may be traversed in a top-down traversal, processing every node. Alternatively, the tree may be traversed in a bottom-up traversal, re-deriving data for higher nodes as each lower level is completed. A limit, such as a time limit or level limit, may be used to control how much time is taken to determine the execution plan.
    Type: Grant
    Filed: June 25, 2008
    Date of Patent: April 20, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Andrew S. Richardson, Campbell Bryce Fraser, Cesar A. Galindo-Legaría, Torsten W. Grabs, Wei Yu, Milind M. Joshi
  • Patent number: 8255387
    Abstract: Technologies for forming logical indexes and utilizing such indexes so as to abstract many of the complexities resulting from referencing partitioned database tables. Included are technologies for making use of order-preserving properties of table metadata, for adding a partition equality predicate to an explicit predicate in merge-join processing on partitioned tables, and for selecting execution of a logical skip scan on a partitioned table when a query predicate does not reference a specific partition. Such technologies generally abstract from the query writer and processing systems explicit referencing of table partitions.
    Type: Grant
    Filed: July 9, 2010
    Date of Patent: August 28, 2012
    Assignee: Microsoft Corporation
    Inventors: Cesar A. Galindo-Legaria, Craig S. Freedman, Milind M. Joshi
  • Publication number: 20100274780
    Abstract: Technologies for forming logical indexes and utilizing such indexes so as to abstract many of the complexities resulting from referencing partitioned database tables. Included are technologies for making use of order-preserving properties of table metadata, for adding a partition equality predicate to an explicit predicate in merge-join processing on partitioned tables, and for selecting execution of a logical skip scan on a partitioned table when a query predicate does not reference a specific partition. Such technologies generally abstract from the query writer and processing systems explicit referencing of table partitions.
    Type: Application
    Filed: July 9, 2010
    Publication date: October 28, 2010
    Applicant: Microsoft Corporation
    Inventors: César Alejandro Galindo-Legaria, Craig S. Freedman, Milind M. Joshi
  • Patent number: 7792822
    Abstract: Technologies for forming logical indexes and utilizing such indexes so as to abstract many of the complexities resulting from referencing partitioned database tables. Included are technologies for making use of order-preserving properties of table metadata, for adding a partition equality predicate to an explicit predicate in merge-join processing on partitioned tables, and for selecting execution of a logical skip scan on a partitioned table when a query predicate does not reference a specific partition. Such technologies generally abstract from the query writer and processing systems explicit referencing of table partitions.
    Type: Grant
    Filed: April 16, 2007
    Date of Patent: September 7, 2010
    Assignee: Microsoft Corporation
    Inventors: Cesar A. Galindo-Legaria, Craig S. Freedman, Milind M. Joshi
  • Publication number: 20090327214
    Abstract: Described is a query optimizer comprising a query tuner that performs actual execution of query fragments to obtain actual results during compilation time, and uses those actual results to select a query plan. The actual results may be combined with estimates for fragments that were not executed. The tree may be traversed in a top-down traversal, processing every node. Alternatively, the tree may be traversed in a bottom-up traversal, re-deriving data for higher nodes as each lower level is completed. A limit, such as a time limit or level limit, may be used to control how much time is taken to determine the execution plan.
    Type: Application
    Filed: June 25, 2008
    Publication date: December 31, 2009
    Applicant: Microsoft Corporation
    Inventors: Andrew S. Richardson, Campbell Bryce Fraser, Cesar A. Galindo-Legaria, Torsten W. Grabs, Wei Yu, Milind M. Joshi
  • Patent number: 7599953
    Abstract: A method of satisfying a database query includes evaluating certain joins on a per-segment basis. An expression tree is produced for the query, and the expression tree is evaluated to identify joins whose operands are two instances of the same relation and whose join predicate conjunctively includes an equality comparison between two instances of the same column. When such a join is identified, it may be evaluated by segmenting the operand relation according to the columns that are compared for equality in the predicate. The join is then evaluated by performing the join operation separately on each segment. Segments may be spooled separately, thereby exploiting the efficiencies obtained by spooling even where the entire relation is too large to fit in the spool. Execution iterators are provided for spooling successive segments and for applying the join to the spooled segment.
    Type: Grant
    Filed: November 29, 2004
    Date of Patent: October 6, 2009
    Assignee: Microsoft Corporation
    Inventors: Cesar A. Galindo-Legaria, Goetz Graefe, Milind M. Joshi, Ross T. Bunker
  • Patent number: 7590646
    Abstract: A method of satisfying a database query includes evaluating certain joins on a per-segment basis. An expression tree is produced for the query, and the expression tree is evaluated to identify joins whose operands are two instances of the same relation and whose join predicate conjunctively includes an equality comparison between two instances of the same column. When such a join is identified, it may be evaluated by segmenting the operand relation according to the columns that are compared for equality in the predicate. The join is then evaluated by performing the join operation separately on each segment. Segments may be spooled separately, thereby exploiting the efficiencies obtained by spooling even where the entire relation is too large to fit in the spool. Execution iterators are provided for spooling successive segments and for applying the join to the spooled segment.
    Type: Grant
    Filed: April 22, 2004
    Date of Patent: September 15, 2009
    Assignee: Microsoft Corporation
    Inventors: Cesar A. Galinda-Legaria, Goetz Graefe, Milind M. Joshi, Ross T. Bunker
  • Patent number: 7509311
    Abstract: A query optimizer produces a preferred execution plan by utilizing statistics on views. These provide the optimizer with statistical information beyond that available on tables, for example, with information on the result of scalar or relational expressions. Pre-derived accurate statistics are thus available which are used to improve the accuracy of estimation and thus increase the quality and reliability of the query processor. Transformations of expressions and sub-expressions of candidate plans produce equivalent sub-expressions. Where those sub-expressions include references to views, an estimation of the cardinality and other execution statistics for the sub-expression can be made using the view statistics. This can be used to estimate the cardinality for all equivalent sub-expressions, leading to higher accuracy for the estimate.
    Type: Grant
    Filed: August 29, 2003
    Date of Patent: March 24, 2009
    Assignee: Microsoft Corporation
    Inventors: Cesar A. Galindo-Legaria, Milind M. Joshi
  • Publication number: 20080215544
    Abstract: Technologies for forming logical indexes and utilizing such indexes so as to abstract many of the complexities resulting from referencing partitioned database tables. Included are technologies for making use of order-preserving properties of table metadata, for adding a partition equality predicate to an explicit predicate in merge-join processing on partitioned tables, and for selecting execution of a logical skip scan on a partitioned table when a query predicate does not reference a specific partition. Such technologies generally abstract from the query writer and processing systems explicit referencing of table partitions.
    Type: Application
    Filed: April 16, 2007
    Publication date: September 4, 2008
    Applicant: Microsoft Corporation
    Inventors: Cesar Alejandro Galindo-Legaria, Craig S. Freedman, Milind M. Joshi
  • Patent number: 7349897
    Abstract: Indexed views or materialized views are used as a secondary index on a base table with multi-valued attributes. This provides for using the index to search in the nested data. Moreover, indexing is provided on the result of an unnest operation. Indexing a view on the result of an unnesting operation provides the ability to index the contents of a nested collection. One such unnesting operation is “cross apply unnest”. This provides additional options for a query execution plan, leading to a more optimized query. A back-join is provided from the indexed view to the base table to allow fields from the base table that are not present in the indexed view to be included in a result of a query on the table which is processed using the indexed view as an access path. This provides a means of including columns in the query result that are not in the indexed view but are in the base table.
    Type: Grant
    Filed: February 4, 2005
    Date of Patent: March 25, 2008
    Assignee: Microsoft Corporation
    Inventors: Conor J. Cunningham, Eric N. Hanson, Milind M. Joshi, Cesar A. Galindo-Legaria, Florian M. Waas
  • Patent number: 7340445
    Abstract: Indexed views or materialized views are used as a secondary index on a base table with multi-valued attributes. This provides for using the index to search in the nested data. Moreover, indexing is provided on the result of an unnest operation. Indexing a view on the result of an unnesting operation provides the ability to index the contents of a nested collection. One such unnesting operation is “cross apply unnest”. This provides additional options for a query execution plan, leading to a more optimized query. A back-join is provided from the indexed view to the base table to allow fields from the base table that are not present in the indexed view to be included in a result of a query on the table which is processed using the indexed view as an access path. This provides a means of including columns in the query result that are not in the indexed view but are in the base table.
    Type: Grant
    Filed: February 4, 2005
    Date of Patent: March 4, 2008
    Assignee: Microsoft Corporation
    Inventors: Conor J. Cunningham, Eric N. Hanson, Milind M. Joshi, Cesar A. Galindo-Legaria, Florian M. Waas
  • Patent number: 7272598
    Abstract: Indexed views or materialized views are used as a secondary index on a base table with multi-valued attributes. This provides for using the index to search in the nested data. Moreover, indexing is provided on the result of an unnest operation. Indexing a view on the result of an unnesting operation provides the ability to index the contents of a nested collection. One such unnesting operation is “cross apply unnest”. This provides additional options for a query execution plan, leading to a more optimized query. A back-join is provided from the indexed view to the base table to allow fields from the base table that are not present in the indexed view to be included in a result of a query on the table which is processed using the indexed view as an access path. This provides a means of including columns in the query result that are not in the indexed view but are in the base table.
    Type: Grant
    Filed: March 31, 2005
    Date of Patent: September 18, 2007
    Assignee: Microsoft Corporation
    Inventors: Conor J. Cunningham, Eric N. Hanson, Milind M. Joshi, Cesar A. Galindo-Legaria, Florian M. Waas
  • Patent number: 7254574
    Abstract: Indexed views or materialized views are used as a secondary index on a base table with multi-valued attributes. This provides for using the index to search in the nested data. Moreover, indexing is provided on the result of an unnest operation. Indexing a view on the result of an unnesting operation provides the ability to index the contents of a nested collection. One such unnesting operation is “cross apply unnest”. This provides additional options for a query execution plan, leading to a more optimized query. A back-join is provided from the indexed view to the base table to allow fields from the base table that are not present in the indexed view to be included in a result of a query on the table which is processed using the indexed view as an access path. This provides a means of including columns in the query result that are not in the indexed view but are in the base table.
    Type: Grant
    Filed: March 8, 2004
    Date of Patent: August 7, 2007
    Assignee: Microsoft Corporation
    Inventors: Conor J. Cunningham, Eric N. Hanson, Milind M. Joshi, Cesar A. Galindo-Legaria, Florian M. Waas
  • Patent number: 7146363
    Abstract: During query execution, statistics associated with expressions are observed. Such observed statistics preferably include the cardinality of each expression. The observed statistics are submitted to an expression manager as feedback from the executed query. The statistics are preferably stored for use in estimating the cardinality of execution plans for future queries.
    Type: Grant
    Filed: May 20, 2003
    Date of Patent: December 5, 2006
    Assignee: Microsoft Corporation
    Inventors: Florian M. Waas, Cesar A. Galindo-Legaria, Milind M. Joshi
  • Publication number: 20040236722
    Abstract: During query execution, statistics associated with expressions are observed. Such observed statistics preferably include the cardinality of each expression. The observed statistics are submitted to an expression manager as feedback from the executed query. The statistics are preferably stored for use in estimating the cardinality of execution plans for future queries.
    Type: Application
    Filed: May 20, 2003
    Publication date: November 25, 2004
    Applicant: Microsoft Corporation
    Inventors: Florian M. Waas, Cesar A. Galindo-Legaria, Milind M. Joshi
  • Publication number: 20040205078
    Abstract: A method of satisfying a database query includes evaluating certain joins on a per-segment basis. An expression tree is produced for the query, and the expression tree is evaluated to identify joins whose operands are two instances of the same relation and whose join predicate conjunctively includes an equality comparison between two instances of the same column. When such a join is identified, it may be evaluated by segmenting the operand relation according to the columns that are compared for equality in the predicate. The join is then evaluated by performing the join operation separately on each segment. Segments may be spooled separately, thereby exploiting the efficiencies obtained by spooling even where the entire relation is too large to fit in the spool. Execution iterators are provided for spooling successive segments and for applying the join to the spooled segment.
    Type: Application
    Filed: April 22, 2004
    Publication date: October 14, 2004
    Applicant: Microsoft Corporation
    Inventors: Cesar A. Galindo-Legaria, Goetz Graefe, Milind M. Joshi, Ross T. Bunker
  • Publication number: 20040199530
    Abstract: A method and system for creating an index for a database table of records in a computer environment having a plurality of processing units wherein each processing unit has access to the database table. The method first determines partition delimiters wherein each partition delimiter separates the database table into non-overlapping partitions of records. Each of these partitions is dedicated to one processing unit for index creation. Next, each processing unit independently creates a sub-index, i.e., different processing units create at least two sub-indexes. Last, the method merges the sub-indexes together to create a final index related to the database table.
    Type: Application
    Filed: April 21, 2004
    Publication date: October 7, 2004
    Applicant: Microsoft Corporation
    Inventors: Srikanth R. Avadhanam, Milind M. Joshi, Ajay Kalhan, Srikumar Rangarajan, Tsvi M. Reiter
  • Patent number: 6778977
    Abstract: A method and system for creating an index for a database table of records in a computer environment having a plurality of processing units wherein each processing unit has access to the database table. The method first determines partition delimiters wherein each partition delimiter separates the database table into non-overlapping partitions of records. Each of these partitions is dedicated to one processing unit for index creation. Next, each processing unit independently creates a sub-index, i.e., different processing units create at least two sub-indexes. Last, the method merges the sub-indexes together to create a final index related to the database table.
    Type: Grant
    Filed: April 19, 2001
    Date of Patent: August 17, 2004
    Assignee: Microsoft Corporation
    Inventors: Srikanth R. Avadhanam, Milind M. Joshi, Ajay Kalhan, Srikumar Rangarajan, Tsvi M. Reiter
  • Patent number: 6748392
    Abstract: A method of satisfying a database query includes evaluating certain joins on a per-segment basis. An expression tree is produced for the query, and the expression tree is evaluated to identify joins whose operands are two instances of the same relation and whose join predicate conjunctively includes an equality comparison between two instances of the same column. When such a join is identified, it may be evaluated by segmenting the operand relation according to the columns that are compared for equality in the predicate. The join is then evaluated by performing the join operation separately on each segment. Segments may be spooled separately, thereby exploiting the efficiencies obtained by spooling even where the entire relation is too large to fit in the spool. Execution iterators are provided for spooling successive segments and for applying the join to the spooled segment.
    Type: Grant
    Filed: March 6, 2001
    Date of Patent: June 8, 2004
    Assignee: Microsoft Corporation
    Inventors: Cesar A. Galindo-Legaria, Goetz Graefe, Milind M. Joshi, Ross T. Bunker
  • Patent number: 6510422
    Abstract: A query optimizer determines the applicability of materialized views to a query. View utilization alternatives are generated in the exploration stage of optimization, so that interaction with other transformations in complex queries is taken into account. A final decision on whether to use a materialized view is based on estimated cost. The optimizer generates a table of alternatives, which compactly encodes the various possibilities for each sub-expression of the query. Optimal-cost operator trees are extracted from this table. Materialized views are detected and substituted during exploration of the various possibilities and added to the table of alternatives. Materialized views and the alternatives are selected for use in a query execution plan based on cost. When two operator trees are not identical, a residual operator can be used if one operator tree subsumes the other operator tree. The residual expression can contain operators such as filters, group by and join.
    Type: Grant
    Filed: September 27, 2000
    Date of Patent: January 21, 2003
    Assignee: Microsoft Corporation
    Inventors: Cesar A. Galindo-Legaria, Milind M. Joshi