Patents by Inventor Ranvijay Kumar
Ranvijay Kumar 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: 11620304Abstract: A method for transforming strings includes identifying one or more candidate example input strings from a database including a set of input strings. The candidate example input strings are presented for example transformation. For one or more of the candidate example input strings, an example output string corresponding to that example input string is received, where each example input string and its corresponding example output string define a transformation example in an example set. A string transformation program is generated based on transformation examples in the example set.Type: GrantFiled: October 20, 2016Date of Patent: April 4, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Sumit Gulwani, Ranvijay Kumar, Chairy Chiu Ying Cheung, Daniel Adam Perelman, Euan Peter Garden, Giovanni M. Della-Libera
-
Patent number: 11372830Abstract: Various technologies described herein pertain to interactive data splitting. A program for splitting an input column of an input data set into multiple output columns can be synthesized based on input-only examples. The program can further be generated based on various user input; thus, the user input can guide the synthesis of the program. Moreover, the program can be executed on the input data set to split the input column of the input data set into the multiple output columns.Type: GrantFiled: October 24, 2016Date of Patent: June 28, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Mohammad Raza, Sumit Gulwani, Ranvijay Kumar, Euan Peter Garden, Chairy Chiu Ying Cheung, Daniel Galen Simmons
-
Patent number: 11256710Abstract: Examples are disclosed herein that relate to string transformation sub-program suggestion. One example provides, at a computing device, a method comprising receiving a dataset having a plurality of input strings; receiving a declarative user input associated with a desired string transformation sub-program to be performed using the dataset as input; in a search space having a plurality of string transformation sub-programs, reducing the search space based on (i) the user input and (ii) one or more of the plurality of input strings of the dataset, to thereby form a reduced search space, the reduced search space having at least one string transformation sub-program that is configured to transform one or more of the plurality of input strings of the dataset; and selecting, from the reduced search space, one or more suggested string transformation sub-programs.Type: GrantFiled: October 20, 2016Date of Patent: February 22, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Sumit Gulwani, Ranvijay Kumar, Abhishek Udupa, Craig Allen Lee, Giovanni M. Della-Libera
-
Patent number: 10846298Abstract: A method for generating a smaller dataset from a larger dataset, each dataset holding a plurality of records, includes profiling the larger dataset to identify a plurality of patterns, each of which is descriptive of one or more records held in the larger dataset. A plurality of slots of the smaller dataset is filled with records held in the larger dataset. Multiple records held in the larger dataset are individually retrieved, and for each retrieved record it is determined whether to place the retrieved record into a slot of the smaller dataset and evict a record already occupying that slot, or not place the retrieved record into the smaller dataset. This determination is based on a pattern of the retrieved record and a representation status of the pattern in the smaller dataset.Type: GrantFiled: October 28, 2016Date of Patent: November 24, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Daniel G. Simmons, Kevin David James Grealish, Sumit Gulwani, Ranvijay Kumar, Kevin Michael Ellis, Saswat Padhi
-
Patent number: 10691655Abstract: Various technologies pertaining to extracting data encoded in a tree-structured document and generating a table based upon the extracted data are described herein. In a first embodiment, the table is generated without requiring input from a data cleaner. In a second embodiment, the table is generated based upon examples set forth by a data cleaner.Type: GrantFiled: October 20, 2016Date of Patent: June 23, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Vu Minh Le, Sumit Gulwani, Ranvijay Kumar, Chiu Ying Cheung
-
Patent number: 10585888Abstract: A computing device is provided, comprising a processor configured to select at least one pair of tuples of columns including a source tuple from a first table and a target tuple from a second table. For each pair, the processor may select one or more rows from the source tuple and elements of the target tuple. For each selected row, the processor may programmatically generate a script that, when performed on the source tuple, produces a value consistent with the target tuple. The processor may apply each script to other rows of the source tuple and determine that an output is in the target tuple. For each column of the target tuple, for the script with output that meets a matching criterion, the processor may convey the output and, in response to a signal accepting the script, join the tables at least in part by performing each accepted script.Type: GrantFiled: October 20, 2016Date of Patent: March 10, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Sumit Gulwani, Daniel Adam Perelman, Ranvijay Kumar, Euan Peter Garden, Chairy Chiu Ying Cheung
-
Patent number: 10546055Abstract: A computing device is provided comprising a processor configured to select at least one pair of elements, including an element in a source column of the first table and an element in a target column of the second table. The processor may detect that the elements are in different formats. For at least one element, the processor may apply a predetermined mapping to a common format. The processor may modify at least one element to have the same format as the other, and may generate an example including the modified pair. The processor may programmatically generate a script that, when performed on the selected elements, produces a value consistent with the example. For the script with output matching the elements of the target column, the processor may convey the output for display, and may join the tables at least in part by performing the script on the source column.Type: GrantFiled: October 20, 2016Date of Patent: January 28, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Sumit Gulwani, Daniel Adam Perelman, Ranvijay Kumar, Euan Peter Garden, Chairy Chiu Ying Cheung
-
Patent number: 10394815Abstract: A computing device is provided, comprising a processor configured to select at least one pair of columns. Each pair may include a source column of the first table and a target column of the second table. For each pair, the processor may detect that the columns contain data with different granularities. The processor may modify the data to have the same granularity, and may generate an example including an element from the source column and an element from the target column. For each example, the processor may programmatically generate a script that, when performed on the source column, produces a value consistent with the target column. For the script with output that meets a matching criterion, the processor may convey the output for display, and may, in response to a signal accepting the script, join the tables at least in part by performing the script on the source column.Type: GrantFiled: October 20, 2016Date of Patent: August 27, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Sumit Gulwani, Daniel Adam Perelman, Ranvijay Kumar, Euan Peter Garden, Chairy Chiu Ying Cheung
-
Publication number: 20180121525Abstract: A method for generating a smaller dataset from a larger dataset, each dataset holding a plurality of records, includes profiling the larger dataset to identify a plurality of patterns, each of which is descriptive of one or more records held in the larger dataset. A plurality of slots of the smaller dataset is filled with records held in the larger dataset. Multiple records held in the larger dataset are individually retrieved, and for each retrieved record it is determined whether to place the retrieved record into a slot of the smaller dataset and evict a record already occupying that slot, or not place the retrieved record into the smaller dataset. This determination is based on a pattern of the retrieved record and a representation status of the pattern in the smaller dataset.Type: ApplicationFiled: October 28, 2016Publication date: May 3, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Daniel G. Simmons, Kevin David James Grealish, Sumit Gulwani, Ranvijay Kumar, Kevin Michael Ellis, Saswat Padhi
-
Publication number: 20180113848Abstract: A computing device is provided comprising a processor configured to select at least one pair of elements, including an element in a source column of the first table and an element in a target column of the second table. The processor may detect that the elements are in different formats. For at least one element, the processor may apply a predetermined mapping to a common format. The processor may modify at least one element to have the same format as the other, and may generate an example including the modified pair. The processor may programmatically generate a script that, when performed on the selected elements, produces a value consistent with the example. For the script with output matching the elements of the target column, the processor may convey the output for display, and may join the tables at least in part by performing the script on the source column.Type: ApplicationFiled: October 20, 2016Publication date: April 26, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Sumit Gulwani, Daniel Adam Perelman, Ranvijay Kumar, Euan Peter Garden, Chairy Chiu Ying Cheung
-
Publication number: 20180113906Abstract: A computing device is provided, comprising a processor configured to select at least one pair of columns. Each pair may include a source column of the first table and a target column of the second table. For each pair, the processor may detect that the columns contain data with different granularities. The processor may modify the data to have the same granularity, and may generate an example including an element from the source column and an element from the target column. For each example, the processor may programmatically generate a script that, when performed on the source column, produces a value consistent with the target column. For the script with output that meets a matching criterion, the processor may convey the output for display, and may, in response to a signal accepting the script, join the tables at least in part by performing the script on the source column.Type: ApplicationFiled: October 20, 2016Publication date: April 26, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Sumit Gulwani, Daniel Adam Perelman, Ranvijay Kumar, Euan Peter Garden, Chairy Chiu Ying Cheung
-
Publication number: 20180113887Abstract: Various technologies pertaining to extracting data encoded in a tree-structured document and generating a table based upon the extracted data are described herein. In a first embodiment, the table is generated without requiring input from a data cleaner. In a second embodiment, the table is generated based upon examples set forth by a data cleaner.Type: ApplicationFiled: October 20, 2016Publication date: April 26, 2018Inventors: Vu Minh Le, Sumit Gulwani, Ranvijay Kumar, Chiu Ying Cheung
-
Publication number: 20180113922Abstract: A method for transforming strings includes identifying one or more candidate example input strings from a database including a set of input strings. The candidate example input strings are presented for example transformation. For one or more of the candidate example input strings, an example output string corresponding to that example input string is received, where each example input string and its corresponding example output string define a transformation example in an example set. A string transformation program is generated based on transformation examples in the example set.Type: ApplicationFiled: October 20, 2016Publication date: April 26, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Sumit Gulwani, Ranvijay Kumar, Chairy Chiu Ying Cheung, Daniel Adam Perelman, Euan Peter Garden, Giovanni M. Della-Libera
-
Publication number: 20180113907Abstract: A computing device is provided, comprising a processor configured to select at least one pair of tuples of columns including a source tuple from a first table and a target tuple from a second table. For each pair, the processor may select one or more rows from the source tuple and elements of the target tuple. For each selected row, the processor may programmatically generate a script that, when performed on the source tuple, produces a value consistent with the target tuple. The processor may apply each script to other rows of the source tuple and determine that an output is in the target tuple. For each column of the target tuple, for the script with output that meets a matching criterion, the processor may convey the output and, in response to a signal accepting the script, join the tables at least in part by performing each accepted script.Type: ApplicationFiled: October 20, 2016Publication date: April 26, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Sumit Gulwani, Daniel Adam Perelman, Ranvijay Kumar, Euan Peter Garden, Chairy Chiu Ying Cheung
-
Publication number: 20180113894Abstract: Various technologies described herein pertain to interactive data splitting. A program for splitting an input column of an input data set into multiple output columns can be synthesized based on input-only examples. The program can further be generated based on various user input; thus, the user input can guide the synthesis of the program. Moreover, the program can be executed on the input data set to split the input column of the input data set into the multiple output columns.Type: ApplicationFiled: October 24, 2016Publication date: April 26, 2018Inventors: Mohammad Raza, Sumit Gulwani, Ranvijay Kumar, Euan Peter Garden, Chairy Chiu Ying Cheung, Daniel Galen Simmons
-
Publication number: 20180113873Abstract: Examples are disclosed herein that relate to string transformation sub-program suggestion. One example provides, at a computing device, a method comprising receiving a dataset having a plurality of input strings; receiving a declarative user input associated with a desired string transformation sub-program to be performed using the dataset as input; in a search space having a plurality of string transformation sub-programs, reducing the search space based on (i) the user input and (ii) one or more of the plurality of input strings of the dataset, to thereby form a reduced search space, the reduced search space having at least one string transformation sub-program that is configured to transform one or more of the plurality of input strings of the dataset; and selecting, from the reduced search space, one or more suggested string transformation sub-programs.Type: ApplicationFiled: October 20, 2016Publication date: April 26, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Sumit Gulwani, Ranvijay Kumar, Abhishek Udupa, Craig Allen Lee, Giovanni M. Della-Libera