Patents by Inventor Maneesh Varshney

Maneesh Varshney 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: 11232105
    Abstract: A unified metrics computation platform decouples user-facing query languages from backend execution engines with the help of an intermediate platform-agnostic language, based on relational algebra procedural query language. The user needs to only specify the computation logic at a single place. By leveraging the intermediate language representation, the unified metrics computation platform can execute the same computation logic on multiple execution engines. The unified metrics computation platform unifies batch, nearline and interactive computations by automatically converting existing user defined batch logic into nearline logic. The user is presented with a unified view of the batch and nearline computation results.
    Type: Grant
    Filed: February 28, 2019
    Date of Patent: January 25, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Khai Tran, Harsh Shah, Maneesh Varshney
  • Patent number: 11194812
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system organizes fact data to be aggregated into sliding time window features and observation data associated with the fact data into a set of partitions based on a join key. Next, the system sorts the fact data and the observation data within the set of partitions by the join key and timestamps associated with the fact data and the observation data. For each observation record in the observation data, the system aggregates fact records in the sorted fact data that share a value of the join key with the observation record and that fall within a first time window associated with the observation record to produce a sliding time window feature. The system then stores the sliding time window feature in association with the observation record.
    Type: Grant
    Filed: December 27, 2018
    Date of Patent: December 7, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Min Shen, Maneesh Varshney, David J. Stein, Jian Qiao
  • Patent number: 11068509
    Abstract: During operation, a system obtains a graph that includes a set of nodes representing users in an online network and a set of edges representing relationships or interactions between pairs of the nodes. Next, the system selects egos containing a subset of the users that are representative of a distribution of an attribute across the users. The system then generates clusters of users, such that each cluster contains an ego and alters selected from the ego's connections in the graph. The system further divides the clusters between a treatment group and a control group, exposes alters in the treatment group to a treatment variant of an A/B test, and exposes alters in the control group to a control variant of the A/B test. Finally, the system outputs a result of the A/B test.
    Type: Grant
    Filed: September 28, 2018
    Date of Patent: July 20, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Guillaume B. Saint-Jacques, Jeremy John Simpson, Maneesh Varshney, Ya Xu
  • Patent number: 10990612
    Abstract: A computer system and method provide efficient, intuitive, and human-friendly ways of expressing metric-centric queries about multidimensional database data and, at the same, provide a level of flexibility for expressing various metric-centric queries in an interactive manner. The expression techniques help to more easily formulate metric-centric queries that require aggregation operations and joins. The flexible techniques facilitate interactive analysis of multidimensional data from different perspectives including consolidating, drilling down, and slicing and dicing the data. As a result, the analysis task for the data analyst and the programming task for the application developer may be easier, more efficient, and more effective.
    Type: Grant
    Filed: December 28, 2018
    Date of Patent: April 27, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Maneesh Varshney, Sunil Nagaraj
  • Publication number: 20200278969
    Abstract: A unified metrics computation platform decouples user-facing query languages from backend execution engines with the help of an intermediate platform-agnostic language, based on relational algebra procedural query language. The user needs to only specify the computation logic at a single place. By leveraging the intermediate language representation, the unified metrics computation platform can execute the same computation logic on multiple execution engines. The unified metrics computation platform unifies batch, nearline and interactive computations by automatically converting existing user defined batch logic into nearline logic. The user is presented with a unified view of the batch and nearline computation results.
    Type: Application
    Filed: February 28, 2019
    Publication date: September 3, 2020
    Inventors: Khai Tran, Harsh Shah, Maneesh Varshney
  • Publication number: 20200210452
    Abstract: A computer system and method provide efficient, intuitive, and human-friendly ways of expressing metric-centric queries about multidimensional database data and, at the same, provide a level of flexibility for expressing various metric-centric queries in an interactive manner. The expression techniques help to more easily formulate metric-centric queries that require aggregation operations and joins. The flexible techniques facilitate interactive analysis of multidimensional data from different perspectives including consolidating, drilling down, and slicing and dicing the data. As a result, the analysis task for the data analyst and the programming task for the application developer may be easier, more efficient, and more effective.
    Type: Application
    Filed: December 28, 2018
    Publication date: July 2, 2020
    Inventors: Maneesh Varshney, Sunil Nagaraj
  • Publication number: 20200210524
    Abstract: Online analytical processing system supporting natural language analytic questions. In one embodiments, for example, a computer-implemented method includes: receiving a natural language question; determining an intent of the natural language question; based on the intent of the natural language question, predicting a metric query language statement based on the natural language question; translating the metric query language statement to a structured query language statement; causing an execution of the structured query language statement against multidimensional database data; and providing an answer to the natural language question based on a result of the execution of the structured query language statement against the multidimensional database data.
    Type: Application
    Filed: December 28, 2018
    Publication date: July 2, 2020
    Inventors: Jaewon Yang, Maneesh Varshney, Mikhail Obukhov, Sung Yoon
  • Publication number: 20200210525
    Abstract: Techniques for predicting query language statements from natural language analytic questions. In one embodiment, for example, a computer-implemented method includes: receiving an input natural language analytic question; for each slot of a plurality of slots of a query language statement, using a multi-class classifier, trained on a set of possible values for the slot and a set of natural language analytic seed questions, to predict a probability, for each possible value in the set of possible values for the slot, that the input natural language analytic question is directed to the possible value; for each slot of the plurality of slots, selecting a particular possible value, of the set of possible values for the slot, to fill the slot based on the probability predicted for the slot; and generating the query language statement with the particular possible value selected for each slot of the plurality of slot.
    Type: Application
    Filed: December 28, 2018
    Publication date: July 2, 2020
    Inventors: Jaewon Yang, Maneesh Varshney, Mikhail Obukhov, Sung Yoon
  • Publication number: 20200210430
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system organizes fact data to be aggregated into sliding time window features and observation data associated with the fact data into a set of partitions based on a join key. Next, the system sorts the fact data and the observation data within the set of partitions by the join key and timestamps associated with the fact data and the observation data. For each observation record in the observation data, the system aggregates fact records in the sorted fact data that share a value of the join key with the observation record and that fall within a first time window associated with the observation record to produce a sliding time window feature. The system then stores the sliding time window feature in association with the observation record.
    Type: Application
    Filed: December 27, 2018
    Publication date: July 2, 2020
    Inventors: Min Shen, Maneesh Varshney, David J. Stein, Jian Qiao
  • Patent number: 10613855
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system obtains a user-defined function (UDF) that is defined using a standard UDF interface for accessing multiple platforms. Next, the system converts data in a platform into a standard form that is supported by the standard UDF interface using a platform-specific wrapper for the UDF and a platform-specific implementation of the standard UDF interface. The system then generates output data in the standard form by applying one or more operations to the data in the standard form. Finally, the system converts the output data into a platform-specific form that is supported by the platform and returns the output data in the platform-specific form.
    Type: Grant
    Filed: May 7, 2018
    Date of Patent: April 7, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Walaa Eldin M. Moustafa, Ratandeep S. Ratti, Maneesh Varshney, Carl W. Steinbach, Adwait N. Tumbde, Khai Quang Tran, Vasanth Rajamani, Suja Viswesan, Shrikanth Shankar
  • Publication number: 20200104340
    Abstract: The disclosed embodiments provide a system for performing A/B testing using quantile metrics. During operation, the system obtains metrics collected during an A/B test. Next, the system calculates an asymptotic estimate of a variance of a quantile for the metrics based on a lack of statistical independence of the metrics from one another. The system then determines a statistical significance of a result of the A/B test based on the asymptotic estimate of the variance. Finally, the system outputs the statistical significance with the result for use in assessing an effect of a treatment variant of the A/B test on the quantile.
    Type: Application
    Filed: September 28, 2018
    Publication date: April 2, 2020
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Min Liu, Xiaohui Sun, Maneesh Varshney, Ya Xu
  • Publication number: 20200104407
    Abstract: The disclosed embodiments provide a system that performs A/B testing using ego network clusters. During operation, the system obtains a graph that includes a set of nodes representing users in an online network and a set of edges representing relationships or interactions between pairs of the nodes. Next, the system selects egos containing a subset of the users that are representative of a distribution of an attribute across the users. The system then generates clusters of users, such that each cluster contains an ego and alters selected from the ego's connections in the graph. The system further divides the clusters between a treatment group and a control group, exposes alters in the treatment group to a treatment variant of an A/B test, and exposes alters in the control group to a control variant of the A/B test. Finally, the system outputs a result of the A/B test.
    Type: Application
    Filed: September 28, 2018
    Publication date: April 2, 2020
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Guillaume B. Saint-Jacques, Jeremy John Simpson, Maneesh Varshney, Ya Xu
  • Publication number: 20190339969
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system obtains a user-defined function (UDF) that is defined using a standard UDF interface for accessing multiple platforms. Next, the system converts data in a platform into a standard form that is supported by the standard UDF interface using a platform-specific wrapper for the UDF and a platform-specific implementation of the standard UDF interface. The system then generates output data in the standard form by applying one or more operations to the data in the standard form. Finally, the system converts the output data into a platform-specific form that is supported by the platform and returns the output data in the platform-specific form.
    Type: Application
    Filed: May 7, 2018
    Publication date: November 7, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Walaa Eldin M. Moustafa, Ratandeep S. Ratti, Maneesh Varshney, Carl W. Steinbach, Adwait N. Tumbde, Khai Quang Tran, Vasanth Rajamani, Suja Viswesan, Shrikanth Shankar
  • Patent number: 10191948
    Abstract: This disclosure is directed to large-scale graph processing to determine second-degree connections for members of a social network. A social graph is duplicated into two graphs, where each of the two graphs are partitioned into various partitions. The partitions are each sorted according to a predetermined key selected from each of the graphs. The partitions are then assigned logical Work Units, where a first set of Work Units are determined from a first graph and second set of Work Units are determined from a second graph. The Work Units are determined to be asymmetrical such that the partitions of the first set of Work Units are assigned differently than the partitions of the second set of Work Units. One set of Work Units are loaded in-memory and another set of Work Units are streamed to a mapping module process, which determines the second-degree connections from the sets of Work Units.
    Type: Grant
    Filed: February 29, 2016
    Date of Patent: January 29, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Srinivas S. Vemuri, Wenlei Xie, Suvodeep Pyne, Vinitha Reddy Gankidi, Maneesh Varshney, Mitul Tiwari
  • Publication number: 20180068005
    Abstract: The disclosed embodiments provide a system for processing data. During operation, the system obtains a set of partitions containing a set of records, wherein the records include a set of values for a measure and a set of dimensions associated with the values. Next, the system reorganizes the records across the partitions by performing a distributed sort of the records by the measure. For each dimensional subset in the records, the system counts occurrences of the dimensional subset in each of the partitions and groups values of the counted occurrences by the dimensional subset so that the values reside in a single processing node. The system uses the values to identify one or more locations in the partitions for calculating a statistic for the dimensional subset and uses the location(s) to calculate the statistic. Finally, the system outputs the statistic in response to a query containing the dimensional subset.
    Type: Application
    Filed: September 7, 2016
    Publication date: March 8, 2018
    Applicant: LinkedIn Corporation
    Inventors: Srinivas S. Vemuri, Maneesh Varshney, Krishna P. Puttaswamy Naga
  • Publication number: 20160253389
    Abstract: This disclosure is directed to large-scale graph processing to determine second-degree connections for members of a social network. A social graph is duplicated into two graphs, where each of the two graphs are partitioned into various partitions. The partitions are each sorted according to a predetermined key selected from each of the graphs. The partitions are then assigned logical Work Units, where a first set of Work Units are determined from a first graph and second set of Work Units are determined from a second graph. The Work Units are determined to be asymmetrical such that the partitions of the first set of Work Units are assigned differently than the partitions of the second set of Work Units. One set of Work Units are loaded in-memory and another set of Work Units are streamed to a mapping module process, which determines the second-degree connections from the sets of Work Units.
    Type: Application
    Filed: February 29, 2016
    Publication date: September 1, 2016
    Inventors: Srinivas S. Vemuri, Wenlei Xie, Suvodeep Pyne, Vinitha Reddy Gankidi, Maneesh Varshney, Mitul Tiwari
  • Patent number: 9330129
    Abstract: A system, method, and apparatus are provided for organizing and joining massive sets of data (e.g., tens or hundreds of millions of event records). A dataset is Blocked by first identifying a partition key, which comprises one or more columns of the data. Each Block will contain all dataset records that have partition key values assigned to that Block. A cost constraint (e.g., a maximum size, a maximum number of records) may also be applied to the Blocks. A Block index is generated to identify all Blocks, their corresponding (sequential) partition key values, and their locations. A second dataset that includes the partition key column(s) and that must be correlated with the first dataset may then be Blocked according to the same ranges of partition key values (but without the cost constraint). Corresponding Blocks of the datasets may then be Joined/Aggregated, and analyzed as necessary.
    Type: Grant
    Filed: November 7, 2014
    Date of Patent: May 3, 2016
    Assignee: LinkedIn Corporation
    Inventors: Srinivas S. Vemuri, Maneesh Varshney, Krishna P. Puttaswamy Naga, Rui Liu
  • Publication number: 20150261804
    Abstract: A system, method, and apparatus are provided for organizing and joining massive sets of data (e.g., tens or hundreds of millions of event records). A dataset is Blocked by first identifying a partition key, which comprises one or more columns of the data. Each Block will contain all dataset records that have partition key values assigned to that Block. A cost constraint (e.g., a maximum size, a maximum number of records) may also be applied to the Blocks. A Block index is generated to identify all Blocks, their corresponding (sequential) partition key values, and their locations. A second dataset that includes the partition key column(s) and that must be correlated with the first dataset may then be Blocked according to the same ranges of partition key values (but without the cost constraint). Corresponding Blocks of the datasets may then be Joined/Aggregated, and analyzed as necessary.
    Type: Application
    Filed: November 7, 2014
    Publication date: September 17, 2015
    Inventors: Srinivas S. Vemuri, Maneesh Varshney, Krishna P. Puttaswamy Naga, Rui Liu
  • Publication number: 20150156250
    Abstract: A network application may be run on a host computer using a target protocol stack by launching a network application on the host computer, opening a target protocol stack library on the host computer before opening a host computer system library and using the target protocol stack library to divert interface calls associated with the network application to a target protocol stack, whereby the network application runs on the host computer as if it were running directly on a computer on which the target protocol stack is available. A network environment may be simulated including wireless communication between a plurality of mobile devices. Multiple instances of the target protocol stack library may be opened to divert interface calls associated with the network application to the target protocol stack. A hardware test bed may be emulated to which the network application may be applied.
    Type: Application
    Filed: June 13, 2014
    Publication date: June 4, 2015
    Inventors: Maneesh Varshney, Rajive Bagrodia, Sheetalkumar Doshi
  • Patent number: 8935257
    Abstract: A system, method, and apparatus are provided for organizing and joining massive sets of data (e.g., tens or hundreds of millions of event records). A dataset is Blocked by first identifying a partition key, which comprises one or more columns of the data. Each Block will contain all dataset records that have partition key values assigned to that Block. A cost constraint (e.g., a maximum size, a maximum number of records) may also be applied to the Blocks. A Block index is generated to identify all Blocks, their corresponding (sequential) partition key values, and their locations. A second dataset that includes the partition key column(s) and that must be correlated with the first dataset may then be Blocked according to the same ranges of partition key values (but without the cost constraint). Corresponding Blocks of the datasets may then be Joined/Aggregated, and analyzed as necessary.
    Type: Grant
    Filed: March 17, 2014
    Date of Patent: January 13, 2015
    Assignee: LinkedIn Corporation
    Inventors: Srinivas S. Vemuri, Maneesh Varshney, Krishna P. Puttaswamy Naga, Rui Liu