Patents by Inventor Vivek Ravindranath Narasayya
Vivek Ravindranath Narasayya 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: 11170020Abstract: Methods, computer systems, computer-storage media, and graphical user interfaces are provided for facilitating data transformations, according to embodiments of the present invention. In one embodiment, a plurality of remote sources is searched to identify candidate transformation tools relevant for performing data transformations. The candidate transformation tools are analyzed to identify tool examples corresponding with each of the candidate transformation tools. For each of the candidate transformation tools, the tool examples are stored in association with the corresponding candidate transformation tool. Based on a comparison of tool examples with example values, a transformation tool is identified as relevant to facilitate transforming example input values to the desired form in which to transform data.Type: GrantFiled: November 4, 2016Date of Patent: November 9, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Yeye He, Kris Ganjam, Vivek Ravindranath Narasayya, Surajit Chaudhuri, Xu Chu
-
Patent number: 11163788Abstract: Methods, computer systems, computer-storage media, and graphical user interfaces are provided for facilitating data transformations, according to embodiments of the present invention. In one embodiment, a set of example values is received. An index to identify a plurality of data transformation tools that are relevant to the set of example values is referenced, wherein each of the data transformation tools correspond with one or more tool examples. The data transformation tools are ranked based on an extent of similarity between the set of example values and the tool examples. For data transformation tools associated with the extent of similarity that exceeds a similarity threshold, a transformation program is generated that uses the data transformation tool and a supplemental transformation tool to transform the one or more example input values to the desired form in which to transform data.Type: GrantFiled: November 4, 2016Date of Patent: November 2, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Yeye He, Kris Ganjam, Vivek Ravindranath Narasayya, Surajit Chaudhuri, Xu Chu
-
Publication number: 20210319023Abstract: the present disclosure relates to systems, methods, and computer-readable media for optimizing and implementing operator trees based on a received query. For example, systems disclosed herein may generate an operator tree based on a received query. The systems described herein may systematically analyze the impact of bitvector filters in optimizing a join order of the operator tree to generate an optimized operator tree. The systems described herein may further implement the bit-vector aware operator tree by providing the optimized operator tree to an execution engine for further processing.Type: ApplicationFiled: June 30, 2020Publication date: October 14, 2021Inventors: Bailu DING, Vivek Ravindranath NARASAYYA, Surajit CHAUDHURI
-
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: 20200320093Abstract: Methods, computer systems, computer-storage media, and graphical user interfaces are provided for facilitating data transformations, according to embodiments of the present invention. In one embodiment, a set of example values are received. A repository of transformation tools is searched to identify a new transformation tool as relevant to a data transformation associated with the received set of example values. The repository includes annotations associated with the new transformation tool. The new transformation tool is used to generate a transformation program that produces transformed output values. Additional annotations are generated for the new transformation tool based on the transformed output values.Type: ApplicationFiled: June 19, 2020Publication date: October 8, 2020Inventors: Kris Ganjam, Yeye HE, Vivek Ravindranath Narasayya, Surajit Chaudhuri
-
Patent number: 10776380Abstract: Methods, computer systems, computer-storage media, and graphical user interfaces are provided for facilitating data transformations, according to embodiments of the present invention. In one embodiment, a transformation function is executed using an example input value to obtain an initial output value. Thereafter, a plurality of supplemental transformation tools is applied to the initial output value to generate a plurality of intermediary output values. Based on a comparison of each of the intermediary output values to an example output value, the supplemental transformation tool that generated an intermediary output value having a greatest extent of similarity to the example output values is identified. The identified supplemental transformation tool and the transformation function are used to generate a transformation program that transforms the example input values to the desired form in which to transform data.Type: GrantFiled: October 21, 2016Date of Patent: September 15, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Yeye He, Kris Ganjam, Vivek Ravindranath Narasayya, Surajit Chaudhuri
-
Publication number: 20200242127Abstract: Methods, computer systems, computer-storage media, and graphical user interfaces are provided for facilitating data transformations, according to embodiments of the present invention. In one embodiment, a set of example values including example input values that indicate data values to be transformed and example output values that indicate a desired form in which to transform data. Based on the set of example values, a data transformation function that is relevant to the set of example values is identified. The data transformation function is used to generate a transformation program to transform the example input values to the desired form in which to transform data. A suggestion of the transformation program can be provided to a user device, wherein selection of the transformation program suggestion results in a data transformation.Type: ApplicationFiled: April 13, 2020Publication date: July 30, 2020Inventors: Yeye HE, Kris GANJAM, Vivek Ravindranath NARASAYYA, Surajit CHAUDHURI
-
Patent number: 10706066Abstract: Methods, computer systems, computer-storage media, and graphical user interfaces are provided for facilitating data transformations, according to embodiments of the present invention. In one embodiment, a set of example values are received. A repository of transformation tools is searched to identify a new transformation tool as relevant to a data transformation associated with the received set of example values. The repository includes annotations associated with the new transformation tool. The new transformation tool is used to generate a transformation program that produces transformed output values. Additional annotations are generated for the new transformation tool based on the transformed output values.Type: GrantFiled: October 17, 2016Date of Patent: July 7, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Kris Ganjam, Yeye He, Vivek Ravindranath Narasayya, Surajit Chaudhuri
-
Patent number: 10621195Abstract: Methods, computer systems, computer-storage media, and graphical user interfaces are provided for facilitating data transformations, according to embodiments of the present invention. In one embodiment, a set of example values including example input values that indicate data values to be transformed and example output values that indicate a desired form in which to transform data. Based on the set of example values, a data transformation function that is relevant to the set of example values is identified. The data transformation function is used to generate a transformation program to transform the example input values to the desired form in which to transform data. A suggestion of the transformation program can be provided to a user device, wherein selection of the transformation program suggestion results in a data transformation.Type: GrantFiled: September 20, 2016Date of Patent: April 14, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Yeye He, Kris Ganjam, Vivek Ravindranath Narasayya, Surajit Chaudhuri
-
Publication number: 20180129718Abstract: Methods, computer systems, computer-storage media, and graphical user interfaces are provided for facilitating data transformations, according to embodiments of the present invention. In one embodiment, a plurality of remote sources is searched to identify candidate transformation tools relevant for performing data transformations. The candidate transformation tools are analyzed to identify tool examples corresponding with each of the candidate transformation tools. For each of the candidate transformation tools, the tool examples are stored in association with the corresponding candidate transformation tool. Based on a comparison of tool examples with example values, a transformation tool is identified as relevant to facilitate transforming example input values to the desired form in which to transform data.Type: ApplicationFiled: November 4, 2016Publication date: May 10, 2018Inventors: Yeye He, Kris Ganjam, Vivek Ravindranath Narasayya, Surajit Chaudhuri, Xu Chu
-
Publication number: 20180129662Abstract: Methods, computer systems, computer-storage media, and graphical user interfaces are provided for facilitating data transformations, according to embodiments of the present invention. In one embodiment, a set of example values is received. An index to identify a plurality of data transformation tools that are relevant to the set of example values is referenced, wherein each of the data transformation tools correspond with one or more tool examples. The data transformation tools are ranked based on an extent of similarity between the set of example values and the tool examples. For data transformation tools associated with the extent of similarity that exceeds a similarity threshold, a transformation program is generated that uses the data transformation tool and a supplemental transformation tool to transform the one or more example input values to the desired form in which to transform data.Type: ApplicationFiled: November 4, 2016Publication date: May 10, 2018Inventors: Yeye He, Kris Ganjam, Vivek Ravindranath Narasayya, Surajit Chaudhuri, Xu Chu
-
Publication number: 20180113923Abstract: Methods, computer systems, computer-storage media, and graphical user interfaces are provided for facilitating data transformations, according to embodiments of the present invention. In one embodiment, a transformation function is executed using an example input value to obtain an initial output value. Thereafter, a plurality of supplemental transformation tools is applied to the initial output value to generate a plurality of intermediary output values. Based on a comparison of each of the intermediary output values to an example output value, the supplemental transformation tool that generated an intermediary output value having a greatest extent of similarity to the example output values is identified. The identified supplemental transformation tool and the transformation function are used to generate a transformation program that transforms the example input values to the desired form in which to transform data.Type: ApplicationFiled: October 21, 2016Publication date: April 26, 2018Inventors: Yeye He, Kris Ganjam, Vivek Ravindranath Narasayya, Surajit Chaudhuri
-
Publication number: 20180107724Abstract: Methods, computer systems, computer-storage media, and graphical user interfaces are provided for facilitating data transformations, according to embodiments of the present invention. In one embodiment, a set of example values are received. A repository of transformation tools is searched to identify a new transformation tool as relevant to a data transformation associated with the received set of example values. The repository includes annotations associated with the new transformation tool. The new transformation tool is used to generate a transformation program that produces transformed output values. Additional annotations are generated for the new transformation tool based on the transformed output values.Type: ApplicationFiled: October 17, 2016Publication date: April 19, 2018Inventors: Kris Ganjam, Yeye He, Vivek Ravindranath Narasayya, Surajit Chaudhuri
-
Publication number: 20180081954Abstract: Methods, computer systems, computer-storage media, and graphical user interfaces are provided for facilitating data transformations, according to embodiments of the present invention. In one embodiment, a set of example values including example input values that indicate data values to be transformed and example output values that indicate a desired form in which to transform data. Based on the set of example values, a data transformation function that is relevant to the set of example values is identified. The data transformation function is used to generate a transformation program to transform the example input values to the desired form in which to transform data. A suggestion of the transformation program can be provided to a user device, wherein selection of the transformation program suggestion results in a data transformation.Type: ApplicationFiled: September 20, 2016Publication date: March 22, 2018Inventors: Yeye He, Kris Ganjam, Vivek Ravindranath Narasayya, Surajit Chaudhuri
-
Patent number: 9317544Abstract: A fuzzy joins system that is integrated in a database system generates fuzzy joins between records from two datasets. The fuzzy joins system includes a tokenizer to generate tokens for data records and a transformer to find transforms for the tokens. The fuzzy joins system invokes a signature generator, running within a runtime layer of the database system, to generate signatures for data records based on the tokens and their transforms. Subsequently, an equi-join operation joins the records from the two datasets with at least one equal signature. A similarity calculator, running within a runtime layer of the database system, computes a similarity measure using the token information of the joined records. If the similarity measure for any two records is above a threshold, the fuzzy joins system generates a fuzzy join between such two records.Type: GrantFiled: October 5, 2011Date of Patent: April 19, 2016Assignee: Microsoft CorporationInventors: Kris Ganjam, Vivek Ravindranath Narasayya, Raghav Kaushik, Arvind Arasu, Surajit Chaudhuri
-
Patent number: 9311376Abstract: Various technologies described herein pertain to evaluating service provider compliance with terms of a performance service level agreement (SLA) for a tenant in a multi-tenant database system. The terms of the performance SLA can set a performance criterion as though a level of a resource of hardware of the multi-tenant database system is dedicated to the tenant. An actual performance metric of the resource can be tracked for a workload of the tenant. Further, a baseline performance metric of the resource can be determined for the workload of the tenant. The baseline performance metric can be based on a simulation as though the level of the resource as set in the performance SLA is dedicated to the workload of the tenant. Moreover, the actual performance metric can be compared with the baseline performance metric to evaluate compliance with the performance SLA.Type: GrantFiled: May 2, 2012Date of Patent: April 12, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Vivek Ravindranath Narasayya, Feng Li, Surajit Chaudhuri
-
Publication number: 20130332428Abstract: The subject disclosure is directed towards defragmenting one or more ranges of a database index based upon actual usage statistics and policy. A range tracker tracks and uses statistics corresponding to actual I/O operations to determine whether the benefit of defragmenting a range sufficiently (based upon the policy) exceeds its cost. If so, the online range defragmenter automatically defragments the range in an online manner. The range tracker may be configurable to monitor less than all ranges of the index.Type: ApplicationFiled: June 11, 2012Publication date: December 12, 2013Applicant: MICROSOFT CORPORATIONInventors: Vivek Ravindranath Narasayya, Hyunjung Park, Manoj Syamala
-
Publication number: 20130297655Abstract: Various technologies described herein pertain to evaluating service provider compliance with terms of a performance service level agreement (SLA) for a tenant in a multi-tenant database system. The terms of the performance SLA can set a performance criterion as though a level of a resource of hardware of the multi-tenant database system is dedicated to the tenant. An actual performance metric of the resource can be tracked for a workload of the tenant. Further, a baseline performance metric of the resource can be determined for the workload of the tenant. The baseline performance metric can be based on a simulation as though the level of the resource as set in the performance SLA is dedicated to the workload of the tenant. Moreover, the actual performance metric can be compared with the baseline performance metric to evaluate compliance with the performance SLA.Type: ApplicationFiled: May 2, 2012Publication date: November 7, 2013Applicant: MICROSOFT CORPORATIONInventors: Vivek Ravindranath Narasayya, Feng Li, Surajit Chaudhuri
-
Publication number: 20130091120Abstract: A fuzzy joins system that is integrated in a database system generates fuzzy joins between records from two datasets. The fuzzy joins system includes a tokenizer to generate tokens for data records and a transformer to find transforms for the tokens. The fuzzy joins system invokes a signature generator, running within a runtime layer of the database system, to generate signatures for data records based on the tokens and their transforms. Subsequently, an equi-join operation joins the records from the two datasets with at least one equal signature. A similarity calculator, running within a runtime layer of the database system, computes a similarity measure using the token information of the joined records. If the similarity measure for any two records is above a threshold, the fuzzy joins system generates a fuzzy join between such two records.Type: ApplicationFiled: October 5, 2011Publication date: April 11, 2013Applicant: MICROSOFT CORPORATIONInventors: Kris Ganjam, Vivek Ravindranath Narasayya, Raghav Kaushik, Arvind Arasu, Surajit Chaudhuri
-
Publication number: 20110313999Abstract: 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: ApplicationFiled: June 17, 2010Publication date: December 22, 2011Applicant: Microsoft CorporationInventors: Nicolas Bruno, Ravishankar Ramamurthy, Surajit Chaudhuri, Vivek Ravindranath Narasayya