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: 12572538Abstract: 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: GrantFiled: September 20, 2023Date of Patent: March 10, 2026Assignee: Microsoft Technology Licensing, LLCInventors: 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: 12468699Abstract: 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: GrantFiled: March 13, 2023Date of Patent: November 11, 2025Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Nicolas Bruno, Jingren Zhou
-
Publication number: 20240394254Abstract: 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: ApplicationFiled: September 20, 2023Publication date: November 28, 2024Inventors: 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: 20230214385Abstract: 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: ApplicationFiled: March 13, 2023Publication date: July 6, 2023Inventors: Nicolas BRUNO, Jingren ZHOU
-
Patent number: 11620286Abstract: 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: GrantFiled: May 27, 2021Date of Patent: April 4, 2023Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Nicolas Bruno, Jingren Zhou
-
Publication number: 20210286811Abstract: 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: ApplicationFiled: May 27, 2021Publication date: September 16, 2021Inventors: Nicolas BRUNO, Jingren ZHOU
-
Patent number: 11055283Abstract: 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: GrantFiled: August 23, 2017Date of Patent: July 6, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Nicolas Bruno, Jingren Zhou
-
Patent number: 10838957Abstract: 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: GrantFiled: June 17, 2010Date of Patent: November 17, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Nicolas Bruno, Ravishankar Ramamurthy, Surajit Chaudhuri, Vivek Ravindranath Narasayya
-
Publication number: 20170351735Abstract: 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: ApplicationFiled: August 23, 2017Publication date: December 7, 2017Inventors: Nicolas Bruno, Jingren Zhou
-
Patent number: 9792325Abstract: 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: GrantFiled: August 25, 2013Date of Patent: October 17, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Nicolas Bruno, Jingren Zhou
-
Patent number: 9235446Abstract: 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: GrantFiled: June 22, 2012Date of Patent: January 12, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Nicolas Bruno, Jingren Zhou, Srikanth Kandula, Sameer Agarwal, Ming-Chuan Wu
-
Patent number: 8996464Abstract: 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: GrantFiled: June 11, 2012Date of Patent: March 31, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Jingren Zhou, Nicolas Bruno, Wei Lin
-
Publication number: 20150058316Abstract: 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: ApplicationFiled: August 25, 2013Publication date: February 26, 2015Applicant: Microsoft CorporationInventors: Nicolas Bruno, Jingren Zhou
-
Publication number: 20150033206Abstract: 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: ApplicationFiled: August 11, 2014Publication date: January 29, 2015Applicant: MICROSOFT CORPORATIONInventor: Nicolas Bruno
-
Patent number: 8832155Abstract: 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: GrantFiled: June 14, 2010Date of Patent: September 9, 2014Assignee: Microsoft CorporationInventor: Nicolas Bruno
-
Patent number: 8676774Abstract: 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: GrantFiled: March 20, 2009Date of Patent: March 18, 2014Assignee: Microsoft Corp.Inventors: Nicolas Bruno, Rimma V. Nehme
-
Publication number: 20130346988Abstract: 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: ApplicationFiled: June 22, 2012Publication date: December 26, 2013Applicant: MICROSOFT CORPORATIONInventors: Nicolas Bruno, Jingren Zhou, Srikanth Kandula, Sameer Agarwal, Ming-Chuan Wu
-
Publication number: 20130332446Abstract: 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: ApplicationFiled: June 11, 2012Publication date: December 12, 2013Applicant: MICROSOFT CORPORATIONInventors: Jingren Zhou, Nicolas Bruno, Wei Lin
-
Patent number: 8326825Abstract: 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: GrantFiled: November 5, 2010Date of Patent: December 4, 2012Assignee: Microsoft CorporationInventors: Rimma Vladimirovna Nehme, Nicolas Bruno
-
Patent number: 8214402Abstract: 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: GrantFiled: June 15, 2009Date of Patent: July 3, 2012Assignee: Microsoft CorporationInventors: Nicolas Bruno, Surajit Chaudhuri