Patents by Inventor Nicolas Bruno

Nicolas Bruno 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: 12572538
    Abstract: Example aspects include techniques for unified query optimization for scale-out query processing. These techniques may include receiving a query including one or more query operators, and determining, based on the one or more query operators, a query representation including one or more logical operators. In addition, the techniques may include generating, based on the query representation and metadata, a query plan including one or more physical operators implementing the one or more logical operators and a data movement operator corresponding to data movement to a plurality of nodes for parallel execution of the one or more physical operators over data. Further, the techniques may include selecting the query plan based on individual cost values of the one or more physical operators and the data movement operator, and executing, based on the selecting, the query plan to generate a query result.
    Type: Grant
    Filed: September 20, 2023
    Date of Patent: March 10, 2026
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sharon Nirupa Ravindran, Guoheng Chen, Kabita Mahapatra, Cesar A. Galindo-Legaria, Milind Joshi, Beysim Sezgin, Ernesto Cervantes Juarez, Esteban Eduardo Calvo Vargas, Nicolas Bruno
  • Patent number: 12468699
    Abstract: Runtime statistics from the actual performance of operations on a set of data are collected and utilized to dynamically modify the execution plan for processing a set of data. The operations performed are modified to include statistics collection operations, the statistics being tailored to the specific operations being quantified. Optimization policy defines how often optimization is attempted and how much more efficient an execution plan should be to justify transitioning from the current one. Optimization is based on the collected runtime statistics but also takes into account already materialized intermediate data to gain further optimization by avoiding reprocessing.
    Type: Grant
    Filed: March 13, 2023
    Date of Patent: November 11, 2025
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Nicolas Bruno, Jingren Zhou
  • Publication number: 20240394254
    Abstract: Example aspects include techniques for unified query optimization for scale-out query processing. These techniques may include receiving a query including one or more query operators, and determining, based on the one or more query operators, a query representation including one or more logical operators. In addition, the techniques may include generating, based on the query representation and metadata, a query plan including one or more physical operators implementing the one or more logical operators and a data movement operator corresponding to data movement to a plurality of nodes for parallel execution of the one or more physical operators over data. Further, the techniques may include selecting the query plan based on individual cost values of the one or more physical operators and the data movement operator, and executing, based on the selecting, the query plan to generate a query result.
    Type: Application
    Filed: September 20, 2023
    Publication date: November 28, 2024
    Inventors: Sharon Nirupa RAVINDRAN, Guoheng CHEN, Kabita MAHAPATRA, Cesar A. GALINDO-LEGARIA, Milind JOSHI, Beysim SEZGIN, Ernesto CERVANTES JUAREZ, Esteban Eduardo CALVO VARGAS, Nicolas BRUNO
  • Publication number: 20230214385
    Abstract: Runtime statistics from the actual performance of operations on a set of data are collected and utilized to dynamically modify the execution plan for processing a set of data. The operations performed are modified to include statistics collection operations, the statistics being tailored to the specific operations being quantified. Optimization policy defines how often optimization is attempted and how much more efficient an execution plan should be to justify transitioning from the current one. Optimization is based on the collected runtime statistics but also takes into account already materialized intermediate data to gain further optimization by avoiding reprocessing.
    Type: Application
    Filed: March 13, 2023
    Publication date: July 6, 2023
    Inventors: Nicolas BRUNO, Jingren ZHOU
  • Patent number: 11620286
    Abstract: Runtime statistics from the actual performance of operations on a set of data are collected and utilized to dynamically modify the execution plan for processing a set of data. The operations performed are modified to include statistics collection operations, the statistics being tailored to the specific operations being quantified. Optimization policy defines how often optimization is attempted and how much more efficient an execution plan should be to justify transitioning from the current one. Optimization is based on the collected runtime statistics but also takes into account already materialized intermediate data to gain further optimization by avoiding reprocessing.
    Type: Grant
    Filed: May 27, 2021
    Date of Patent: April 4, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Nicolas Bruno, Jingren Zhou
  • Publication number: 20210286811
    Abstract: Runtime statistics from the actual performance of operations on a set of data are collected and utilized to dynamically modify the execution plan for processing a set of data. The operations performed are modified to include statistics collection operations, the statistics being tailored to the specific operations being quantified. Optimization policy defines how often optimization is attempted and how much more efficient an execution plan should be to justify transitioning from the current one. Optimization is based on the collected runtime statistics but also takes into account already materialized intermediate data to gain further optimization by avoiding reprocessing.
    Type: Application
    Filed: May 27, 2021
    Publication date: September 16, 2021
    Inventors: Nicolas BRUNO, Jingren ZHOU
  • Patent number: 11055283
    Abstract: Runtime statistics from the actual performance of operations on a set of data are collected and utilized to dynamically modify the execution plan for processing a set of data. The operations performed are modified to include statistics collection operations, the statistics being tailored to the specific operations being quantified. Optimization policy defines how often optimization is attempted and how much more efficient an execution plan should be to justify transitioning from the current one. Optimization is based on the collected runtime statistics but also takes into account already materialized intermediate data to gain further optimization by avoiding reprocessing.
    Type: Grant
    Filed: August 23, 2017
    Date of Patent: July 6, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Nicolas Bruno, Jingren Zhou
  • Patent number: 10838957
    Abstract: A relational database server may concurrently execute many relational queries, but a complex relational query may cause performance delays in the fulfillment of other relational queries. Instead, the relational database server may generate a query plan for the relational query, and may endeavor to partition the relational query between a spool operator and a scan operator into two or more query slices, where each query slice may be executed within a query slice threshold. Many alternative candidate query plans may be considered, such as inserting spool and scan operators after various operators and parameterizing operators in order to partition the records of a relation into two or more ranges based on an attribute of the relation. A large search space of candidate query plans may be reviewed in order to select a query plan that respects the query slice threshold while efficiently executing the logic of the relational query.
    Type: Grant
    Filed: June 17, 2010
    Date of Patent: November 17, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nicolas Bruno, Ravishankar Ramamurthy, Surajit Chaudhuri, Vivek Ravindranath Narasayya
  • Publication number: 20170351735
    Abstract: Runtime statistics from the actual performance of operations on a set of data are collected and utilized to dynamically modify the execution plan for processing a set of data. The operations performed are modified to include statistics collection operations, the statistics being tailored to the specific operations being quantified. Optimization policy defines how often optimization is attempted and how much more efficient an execution plan should be to justify transitioning from the current one. Optimization is based on the collected runtime statistics but also takes into account already materialized intermediate data to gain further optimization by avoiding reprocessing.
    Type: Application
    Filed: August 23, 2017
    Publication date: December 7, 2017
    Inventors: Nicolas Bruno, Jingren Zhou
  • Patent number: 9792325
    Abstract: Runtime statistics from the actual performance of operations on a set of data are collected and utilized to dynamically modify the execution plan for processing a set of data. The operations performed are modified to include statistics collection operations, the statistics being tailored to the specific operations being quantified. Optimization policy defines how often optimization is attempted and how much more efficient an execution plan should be to justify transitioning from the current one. Optimization is based on the collected runtime statistics but also takes into account already materialized intermediate data to gain further optimization by avoiding reprocessing.
    Type: Grant
    Filed: August 25, 2013
    Date of Patent: October 17, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nicolas Bruno, Jingren Zhou
  • Patent number: 9235446
    Abstract: The use of statistics collected during the parallel distributed execution of the tasks of a job may be used to optimize the performance of the task or similar recurring tasks. An execution plan for a job is initially generated, in which the execution plan includes tasks. Statistics regarding operations performed in the tasks are collected while the tasks are executed via parallel distributed execution. Another execution plan is then generated for another recurring job, in which the additional execution plan has at least one task in common with the execution plan for the job. The additional execution plan is subsequently optimized based at least on the statistics to produce an optimized execution plan.
    Type: Grant
    Filed: June 22, 2012
    Date of Patent: January 12, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nicolas Bruno, Jingren Zhou, Srikanth Kandula, Sameer Agarwal, Ming-Chuan Wu
  • Patent number: 8996464
    Abstract: A repartitioning optimizer identifies alternative repartitioning strategies and selects optimal ones, accounting for network transfer utilization and partition sizes in addition to traditional metrics. If prior partitioning was hash-based, the repartitioning optimizer can determine whether a hash-based repartitioning can result in not every computing device providing data to every other computing device. If prior partitioning was range-based, the repartitioning optimizer can determine whether a range-based repartitioning can generate similarly sized output partitions while aligning input and output partition boundaries, increasing the number of computing devices that do not provide data to every other computing device. Individual computing devices, as they are performing a repartitioning, assign a repartitioning index to each individual data element, which represents the computing device to which such a data element is destined.
    Type: Grant
    Filed: June 11, 2012
    Date of Patent: March 31, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jingren Zhou, Nicolas Bruno, Wei Lin
  • Publication number: 20150058316
    Abstract: Runtime statistics from the actual performance of operations on a set of data are collected and utilized to dynamically modify the execution plan for processing a set of data. The operations performed are modified to include statistics collection operations, the statistics being tailored to the specific operations being quantified. Optimization policy defines how often optimization is attempted and how much more efficient an execution plan should be to justify transitioning from the current one. Optimization is based on the collected runtime statistics but also takes into account already materialized intermediate data to gain further optimization by avoiding reprocessing.
    Type: Application
    Filed: August 25, 2013
    Publication date: February 26, 2015
    Applicant: Microsoft Corporation
    Inventors: Nicolas Bruno, Jingren Zhou
  • Publication number: 20150033206
    Abstract: Described is automatically processing an initial database repro (text representing a bug when corresponding script is executed in a database engine) into a min-repro (a subset of the text) that is simplified version of the initial repro yet still contains the bug. A parse tree representative of the initial database repro is processed into simplified parse trees based on language grammar rules, e.g., by replacing higher level nodes with descendant nodes. Repros of the simplified parse trees are executed to determine which simplified repros still fail execution because of the bug (that is, the simplified repros were not oversimplified). A minimum simplified parse tree with respect to a desired level of minimality is found from among those failing repros, with the simplified repro that corresponds to the minimum simplified parse tree output as the min-repro.
    Type: Application
    Filed: August 11, 2014
    Publication date: January 29, 2015
    Applicant: MICROSOFT CORPORATION
    Inventor: Nicolas Bruno
  • Patent number: 8832155
    Abstract: Described is automatically processing an initial database repro (text representing a bug when corresponding script is executed in a database engine) into a min-repro (a subset of the text) that is simplified version of the initial repro yet still contains the bug. A parse tree representative of the initial database repro is processed into simplified parse trees based on language grammar rules, e.g., by replacing higher level nodes with descendant nodes. Repros of the simplified parse trees are executed to determine which simplified repros still fail execution because of the bug (that is, the simplified repros were not oversimplified). A minimum simplified parse tree with respect to a desired level of minimality is found from among those failing repros, with the simplified repro that corresponds to the minimum simplified parse tree output as the min-repro.
    Type: Grant
    Filed: June 14, 2010
    Date of Patent: September 9, 2014
    Assignee: Microsoft Corporation
    Inventor: Nicolas Bruno
  • Patent number: 8676774
    Abstract: The min-repro finding technique described herein is designed to ease and speed-up the task of finding a min-repro, a minimum configuration that reproduces a problem in database-related products. Specifically, in one embodiment, the technique simplifies transformations in order to find one or more min-repros. One embodiment provides a high-level script language to automate some sub-tasks and to guide the search for a simpler the configuration that reproduces the problem. Yet another embodiment provides record-and-replay functionality, and provides an intuitive representation of results and the search space. These tools can save hours of time for both customers and testers to isolate the problem and can result in faster fixes and large cost savings to organizations.
    Type: Grant
    Filed: March 20, 2009
    Date of Patent: March 18, 2014
    Assignee: Microsoft Corp.
    Inventors: Nicolas Bruno, Rimma V. Nehme
  • Publication number: 20130346988
    Abstract: The use of statistics collected during the parallel distributed execution of the tasks of a job may be used to optimize the performance of the task or similar recurring tasks. An execution plan for a job is initially generated, in which the execution plan includes tasks. Statistics regarding operations performed in the tasks are collected while the tasks are executed via parallel distributed execution. Another execution plan is then generated for another recurring job, in which the additional execution plan has at least one task in common with the execution plan for the job. The additional execution plan is subsequently optimized based at least on the statistics to produce an optimized execution plan.
    Type: Application
    Filed: June 22, 2012
    Publication date: December 26, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Nicolas Bruno, Jingren Zhou, Srikanth Kandula, Sameer Agarwal, Ming-Chuan Wu
  • Publication number: 20130332446
    Abstract: A repartitioning optimizer identifies alternative repartitioning strategies and selects optimal ones, accounting for network transfer utilization and partition sizes in addition to traditional metrics. If prior partitioning was hash-based, the repartitioning optimizer can determine whether a hash-based repartitioning can result in not every computing device providing data to every other computing device. If prior partitioning was range-based, the repartitioning optimizer can determine whether a range-based repartitioning can generate similarly sized output partitions while aligning input and output partition boundaries, increasing the number of computing devices that do not provide data to every other computing device. Individual computing devices, as they are performing a repartitioning, assign a repartitioning index to each individual data element, which represents the computing device to which such a data element is destined.
    Type: Application
    Filed: June 11, 2012
    Publication date: December 12, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Jingren Zhou, Nicolas Bruno, Wei Lin
  • Patent number: 8326825
    Abstract: Embodiments are directed to determining optimal partition configurations for distributed database data and to implementing parallel query optimization memo data structure to improve partition configuration cost estimation efficiency. In an embodiment, a computer system accesses a portion of database data and various database queries for a given database. The computer system determines, based on the accessed database data and database queries, a partition configuration search space which includes multiple feasible partition configurations for the database data and a workload of queries expected to be executed on that data. The computer system performs a branch and bound search in the partition configuration search space to determine which data partitioning path has the lowest partitioning cost. The branch and bound search is performed according to branch and bound search policies. The computer system also outputs the partition configuration with the determined lowest partitioning cost.
    Type: Grant
    Filed: November 5, 2010
    Date of Patent: December 4, 2012
    Assignee: Microsoft Corporation
    Inventors: Rimma Vladimirovna Nehme, Nicolas Bruno
  • Patent number: 8214402
    Abstract: An architecture for providing interactive sessions for physical database design is described, allowing users to readily try different options, identify problems, and obtain physical designs in a flexible way. Embodiments based on a .NET assembly and modifications to a database management system (DBMS) are also described.
    Type: Grant
    Filed: June 15, 2009
    Date of Patent: July 3, 2012
    Assignee: Microsoft Corporation
    Inventors: Nicolas Bruno, Surajit Chaudhuri