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: 11620304
    Abstract: 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: Grant
    Filed: October 20, 2016
    Date of Patent: April 4, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sumit Gulwani, Ranvijay Kumar, Chairy Chiu Ying Cheung, Daniel Adam Perelman, Euan Peter Garden, Giovanni M. Della-Libera
  • Patent number: 11372830
    Abstract: 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: Grant
    Filed: October 24, 2016
    Date of Patent: June 28, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Mohammad Raza, Sumit Gulwani, Ranvijay Kumar, Euan Peter Garden, Chairy Chiu Ying Cheung, Daniel Galen Simmons
  • Patent number: 11256710
    Abstract: 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: Grant
    Filed: October 20, 2016
    Date of Patent: February 22, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sumit Gulwani, Ranvijay Kumar, Abhishek Udupa, Craig Allen Lee, Giovanni M. Della-Libera
  • Patent number: 10846298
    Abstract: 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: Grant
    Filed: October 28, 2016
    Date of Patent: November 24, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Daniel G. Simmons, Kevin David James Grealish, Sumit Gulwani, Ranvijay Kumar, Kevin Michael Ellis, Saswat Padhi
  • Patent number: 10691655
    Abstract: 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: Grant
    Filed: October 20, 2016
    Date of Patent: June 23, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Vu Minh Le, Sumit Gulwani, Ranvijay Kumar, Chiu Ying Cheung
  • Patent number: 10585888
    Abstract: 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: Grant
    Filed: October 20, 2016
    Date of Patent: March 10, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Sumit Gulwani, Daniel Adam Perelman, Ranvijay Kumar, Euan Peter Garden, Chairy Chiu Ying Cheung
  • Patent number: 10546055
    Abstract: 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: Grant
    Filed: October 20, 2016
    Date of Patent: January 28, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Sumit Gulwani, Daniel Adam Perelman, Ranvijay Kumar, Euan Peter Garden, Chairy Chiu Ying Cheung
  • Patent number: 10394815
    Abstract: 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: Grant
    Filed: October 20, 2016
    Date of Patent: August 27, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Sumit Gulwani, Daniel Adam Perelman, Ranvijay Kumar, Euan Peter Garden, Chairy Chiu Ying Cheung
  • Publication number: 20180121525
    Abstract: 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: Application
    Filed: October 28, 2016
    Publication date: May 3, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Daniel G. Simmons, Kevin David James Grealish, Sumit Gulwani, Ranvijay Kumar, Kevin Michael Ellis, Saswat Padhi
  • Publication number: 20180113848
    Abstract: 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: Application
    Filed: October 20, 2016
    Publication date: April 26, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Sumit Gulwani, Daniel Adam Perelman, Ranvijay Kumar, Euan Peter Garden, Chairy Chiu Ying Cheung
  • Publication number: 20180113906
    Abstract: 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: Application
    Filed: October 20, 2016
    Publication date: April 26, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Sumit Gulwani, Daniel Adam Perelman, Ranvijay Kumar, Euan Peter Garden, Chairy Chiu Ying Cheung
  • Publication number: 20180113887
    Abstract: 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: Application
    Filed: October 20, 2016
    Publication date: April 26, 2018
    Inventors: Vu Minh Le, Sumit Gulwani, Ranvijay Kumar, Chiu Ying Cheung
  • Publication number: 20180113922
    Abstract: 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: Application
    Filed: October 20, 2016
    Publication date: April 26, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Sumit Gulwani, Ranvijay Kumar, Chairy Chiu Ying Cheung, Daniel Adam Perelman, Euan Peter Garden, Giovanni M. Della-Libera
  • Publication number: 20180113907
    Abstract: 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: Application
    Filed: October 20, 2016
    Publication date: April 26, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Sumit Gulwani, Daniel Adam Perelman, Ranvijay Kumar, Euan Peter Garden, Chairy Chiu Ying Cheung
  • Publication number: 20180113894
    Abstract: 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: Application
    Filed: October 24, 2016
    Publication date: April 26, 2018
    Inventors: Mohammad Raza, Sumit Gulwani, Ranvijay Kumar, Euan Peter Garden, Chairy Chiu Ying Cheung, Daniel Galen Simmons
  • Publication number: 20180113873
    Abstract: 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: Application
    Filed: October 20, 2016
    Publication date: April 26, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Sumit Gulwani, Ranvijay Kumar, Abhishek Udupa, Craig Allen Lee, Giovanni M. Della-Libera