Patents by Inventor Nikhil Devanur Rangarajan

Nikhil Devanur Rangarajan 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: 11868880
    Abstract: An interconnect topology for communication between GPUs in a computing system is determined. A quantity of directed spanning trees are generated for transmitting data between the GPUs using the interconnect topology and packed. The directed spanning trees define the connections between GPUs that are to be utilized for the transmission and the amount of data to be transmitted on each connection. Program code is generated for implementing the data transfer defined by the directed spanning trees. When the program code is executed, the directed spanning trees are used to pipeline the transmission of chunks of data, such as model parameters used during data-parallel DNN training, between the GPUs. The program code can also determine an optimal chunk size for data to be transferred between the GPUs.
    Type: Grant
    Filed: February 14, 2019
    Date of Patent: January 9, 2024
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Nikhil Devanur Rangarajan, Jorgen Thelin, Amar Phanishayee, Guanhua Wang, Shivaram Venkataraman
  • Patent number: 11188609
    Abstract: Techniques for the dynamic slotting of content items within electronic content are provided. In response to receiving a request, a first set of content items is identified and a first score is generated for each based on a first objective. Based on the first scores, a first ranking of the first set of content items is generated. A subset of the first set is selected based on the first ranking. A second set of content items that includes the subset is identified and a second score is generated for each item in the second set based on a second objective that is different than the first objective. Based on the second scores, a second ranking of the second set is generated. A subset of the second set is selected based on the second ranking. The second subset is presented on a computing device that is associated with the request.
    Type: Grant
    Filed: September 30, 2019
    Date of Patent: November 30, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Giorgio Paolo Martini, Nikhil Devanur Rangarajan, Wen Pu, Keqing Liang
  • Publication number: 20210097126
    Abstract: Techniques for the dynamic slotting of content items within electronic content are provided. In response to receiving a request, a first set of content items is identified and a first score is generated for each based on a first objective. Based on the first scores, a first ranking of the first set of content items is generated. A subset of the first set is selected based on the first ranking. A second set of content items that includes the subset is identified and a second score is generated for each item in the second set based on a second objective that is different than the first objective. Based on the second scores, a second ranking of the second set is generated. A subset of the second set is selected based on the second ranking. The second subset is presented on a computing device that is associated with the request.
    Type: Application
    Filed: September 30, 2019
    Publication date: April 1, 2021
    Inventors: Giorgio Paolo Martini, Nikhil Devanur Rangarajan, Wen Pu, Keqing Liang
  • Publication number: 20200160171
    Abstract: Technologies are disclosed herein for dynamically generating communication primitives for use in model parameter synchronization during data-parallel DNN training by packing directed spanning trees. An interconnect topology for communication between GPUs in a computing system is determined. A quantity of directed spanning trees are generated for transmitting data between the GPUs using the interconnect topology and packed. The directed spanning trees define the connections between GPUs that are to be utilized for the transmission and the amount of data to be transmitted on each connection. Program code is generated for implementing the data transfer defined by the directed spanning trees. When the program code is executed, the directed spanning trees are used to pipeline the transmission of chunks of data, such as model parameters used during data-parallel DNN training, between the GPUs. The program code can also determine an optimal chunk size for data to be transferred between the GPUs.
    Type: Application
    Filed: February 14, 2019
    Publication date: May 21, 2020
    Inventors: Nikhil Devanur RANGARAJAN, Jorgen THELIN, Amar PHANISHAYEE, Guanhua WANG, Shivaram VENKATARAMAN
  • Publication number: 20190362227
    Abstract: Layers of a deep neural network (DNN) are partitioned into stages using a profile of the DNN. Each of the stages includes one or more of the layers of the DNN. The partitioning of the layers of the DNN into stages is optimized in various ways including optimizing the partitioning to minimize training time, to minimize data communication between worker computing devices used to train the DNN, or to ensure that the worker computing devices perform an approximately equal amount of the processing for training the DNN. The stages are assigned to the worker computing devices. The worker computing devices process batches of training data using a scheduling policy that causes the workers to alternate between forward processing of the batches of the DNN training data and backward processing of the batches of the DNN training data. The stages can be configured for model parallel processing or data parallel processing.
    Type: Application
    Filed: June 29, 2018
    Publication date: November 28, 2019
    Inventors: Vivek SESHADRI, Amar PHANISHAYEE, Deepak NARAYANAN, Aaron HARLAP, Nikhil Devanur RANGARAJAN
  • Publication number: 20180211480
    Abstract: A computer system includes a server computer that handles transactions with user devices to create and manage events, create and manage user accounts and process wagers. Transactions regarding wagers in connection with events can be processed in real-time. The wagers are processed using a payoff function that rewards participation and accurate information, yet does not permit arbitrage or otherwise reward splitting a wager by participating under multiple identities. To compute a payoff, a first score is computed based on the probability estimate by a participant and the outcome. A second score is computed based on an aggregate of wagers of all other participants for each participant, where the first score for the participant is no more than the second score for at least one outcome. The payoff for the participant is then computed as a function of the first score and the second score.
    Type: Application
    Filed: March 24, 2018
    Publication date: July 26, 2018
    Inventors: Nikhil Devanur Rangarajan, David Pennock, Jennifer Wortman Vaughan, Yiling Chen
  • Patent number: 9947174
    Abstract: A computer system includes a server computer that handles transactions with user devices to create and manage events, create and manage user accounts and process wagers. Transactions regarding wagers in connection with events can be processed in real-time. The wagers are processed using a payoff function that rewards participation and accurate information, yet does not permit arbitrage or otherwise reward splitting a wager by participating under multiple identities. To compute a payoff, a first score is computed based on the probability estimate by a participant and the outcome. A second score is computed based on an aggregate of wagers of all other participants for each participant, where the first score for the participant is no more than the second score for at least one outcome. The payoff for the participant is then computed as a function of the first score and the second score.
    Type: Grant
    Filed: October 30, 2014
    Date of Patent: April 17, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nikhil Devanur Rangarajan, David Pennock, Jennifer Wortman Vaughan, Yiling Chen
  • Patent number: 9766932
    Abstract: The subject disclosure is directed towards scheduling jobs with a speed for running a processor(s) having variable speeds to save energy yet complete in time, in which the volume of the job is not known in advance, that is, in a non-clairvoyant setting. A non-clairvoyant algorithm uses an existing clairvoyant algorithm to determine the speed based upon information known from running one or more jobs, in full or in part. Also described is rounding jobs based upon their densities into rounding queues so that a hybrid of highest density first rules and FIFO rules may be used to obtain information used by the clairvoyant algorithm.
    Type: Grant
    Filed: June 21, 2013
    Date of Patent: September 19, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nikhil Devanur Rangarajan, Debmalya Panigrahi, Zhiyi Huang
  • Publication number: 20160125691
    Abstract: A computer system includes a server computer that handles transactions with user devices to create and manage events, create and manage user accounts and process wagers. Transactions regarding wagers in connection with events can be processed in real-time. The wagers are processed using a payoff function that rewards participation and accurate information, yet does not permit arbitrage or otherwise reward splitting a wager by participating under multiple identities. To compute a payoff, a first score is computed based on the probability estimate by a participant and the outcome. A second score is computed based on an aggregate of wagers of all other participants for each participant, where the first score for the participant is no more than the second score for at least one outcome. The payoff for the participant is then computed as a function of the first score and the second score.
    Type: Application
    Filed: October 30, 2014
    Publication date: May 5, 2016
    Inventors: Nikhil Devanur Rangarajan, David Pennock, Jennifer Wortman Vaughan, Yiling Chen
  • Patent number: 9304683
    Abstract: A soft input panel (SIP) for a computing device is configured to be used by a person holding a computing device with one hand. For example, a user grips a mobile computing device with his right hand at the bottom right corner and uses his right thumb to touch the various keys of the SIP, or grips a mobile computing device with his left hand at the bottom left corner and uses his left thumb to touch the various keys of the SIP. The SIP comprises arced or slanted rows of keys that correspond to the natural pivoting motion of the user's thumb.
    Type: Grant
    Filed: December 27, 2012
    Date of Patent: April 5, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Timothy S. Paek, Dmytro Rudchenko, Bongshin Lee, Nikhil Devanur Rangarajan
  • Publication number: 20150206195
    Abstract: An auction mechanism that decouples advertisement selection from advertisement ranking is described herein. A page to be displayed on a client computing device has a plurality of advertisement positions. Responsive to receipt of data that is indicative of content to be included on the page, a plurality of bids corresponding to a respective plurality of advertisements are received, wherein each bid has a respective bid value. Further, a respective quality score is computed for each advertisement responsive to the receipt of the data. A subset of advertisements are selected from the plurality of advertisements based upon their respective bid values. Subsequently, the selected advertisements are ranked and assigned to the advertisement positions based upon their quality scores, which are independent of their bid values.
    Type: Application
    Filed: January 17, 2014
    Publication date: July 23, 2015
    Applicant: Microsoft Corporation
    Inventors: Nikhil Devanur Rangarajan, Balasubramanian Sivan, Denis Charles
  • Publication number: 20150186860
    Abstract: A framework that facilitates the sale of digital items is described herein. The framework is configured to charge an account of a consumer an access price for each access to a digital item, until an aggregate of access prices charged (to the account) for the digital item reaches a threshold. Once the aggregate of access prices charge (to the account) for the digital item reaches the threshold, the account is not charged for subsequent accesses to the digital item. Thus, the consumer has purchased the digital item.
    Type: Application
    Filed: January 2, 2014
    Publication date: July 2, 2015
    Applicant: Microsoft Corporation
    Inventor: Nikhil Devanur Rangarajan
  • Patent number: 9009318
    Abstract: Various embodiments provide offline algorithms for resource allocation. A known set of “offline” requests may be matched to available resources using an online resource allocation algorithm that models the offline resource allocation problem as though the requests were received stochastically. Requests may be scaled and then sampled to provide random, stochastic input for the online resource allocation algorithm. For each request, resources are allocated to the request by evaluating multiple options based upon shadow costs assigned to resources associated with the different options. After each request is processed, an adjustment is made to the shadow costs for remaining resources to reflect differences in rates for allocation and/or consumption of the resources and the updated shadow costs are used for a subsequent request. A scaled resource allocation determined using sampled requests in this manner may be scaled back up to obtain a solution for the offline resource allocation problem.
    Type: Grant
    Filed: January 11, 2012
    Date of Patent: April 14, 2015
    Assignee: Microsoft Corporation
    Inventors: Nikhil Devanur Rangarajan, Kamal Jain, Balasubramanian Sivan, Christopher A. Wilkens
  • Publication number: 20140379462
    Abstract: A real-time prediction market is described. A plurality of predictor agents set forth respective predictions as to a likelihood that an advertisement will be selected when displayed together with certain publisher content. The advertisement is selected from amongst a plurality of advertisements based upon the plurality of predictions set forth by the plurality of predictor agents. Third parties corresponding to the predictor agents are compensated or penalized as a function of predictive accuracy of the predictor agents.
    Type: Application
    Filed: June 21, 2013
    Publication date: December 25, 2014
    Applicant: Microsoft Corporation
    Inventors: Nikhil Devanur Rangarajan, David Pennock, Miroslav Dudik, Zhiyi Huang
  • Publication number: 20140380321
    Abstract: The subject disclosure is directed towards scheduling jobs with a speed for running a processor(s) having variable speeds to save energy yet complete in time, in which the volume of the job is not known in advance, that is, in a non-clairvoyant setting. A non-clairvoyant algorithm uses an existing clairvoyant algorithm to determine the speed based upon information known from running one or more jobs, in full or in part. Also described is rounding jobs based upon their densities into rounding queues so that a hybrid of highest density first rules and FIFO rules may be used to obtain information used by the clairvoyant algorithm.
    Type: Application
    Filed: June 21, 2013
    Publication date: December 25, 2014
    Inventors: Nikhil Devanur Rangarajan, Debmalya Panigrahi, Zhiyi Huang
  • Publication number: 20140101593
    Abstract: A soft input panel (SIP) for a computing device is configured to be used by a person holding a computing device with one hand. For example, a user grips a mobile computing device with his right hand at the bottom right corner and uses his right thumb to touch the various keys of the SIP, or grips a mobile computing device with his left hand at the bottom left corner and uses his left thumb to touch the various keys of the SIP. The SIP comprises arced or slanted rows of keys that correspond to the natural pivoting motion of the user's thumb.
    Type: Application
    Filed: December 27, 2012
    Publication date: April 10, 2014
    Applicant: Microsoft Corporation
    Inventors: Timothy S. Paek, Dmytro Rudchenko, Bongshin Lee, Nikhil Devanur Rangarajan
  • Publication number: 20140074586
    Abstract: Various technologies described herein pertain to smoothing budgets of advertisers in online advertising. Information that indicates respective budgets of advertisers for online advertising during a time period and bids for auctions during the time period from the advertisers can be received. Moreover, a determination concerning whether to either throttle an advertiser from an auction or permit the advertiser to participate in the auction can be effectuated for each of the auctions during the time period and for each of the advertisers. The determination satisfies equilibrium conditions between the advertisers based on the respective budgets of the advertisers and the bids of the auctions. Moreover, winning bids for the auctions during the time period are determined. The winning bids can be determined from the bids of the advertisers respectively permitted to participate in each of the auctions.
    Type: Application
    Filed: September 12, 2012
    Publication date: March 13, 2014
    Applicant: Microsoft Corporation
    Inventors: Nikhil Devanur Rangarajan, Lei Wang, Deeparnab Chakrabarty, David Maxwell Chickering, Denis Xaiver Charles
  • Publication number: 20130117062
    Abstract: Various embodiments provide online algorithms for resource allocation. In one or more embodiments, requests for resources from a service provider are received stochastically. For each request, different options for satisfying the request are evaluated based in part upon shadow costs (e.g., unit costs) that are assigned to resources associated with the different options. One of the options may be selected by optimizing an objective function that accounts for the shadow costs. Resources for the selected option are allocated to the request and an adjustment is made to the shadow costs for remaining resources to reflect differences in rates for allocation and/or consumption of the resources. Thereafter, resources may be allocated to a subsequent request using the updated shadow costs and the costs are adjusted again. By updating shadow costs iteratively in this manner, an increasingly more accurate analysis of the objective function is achieved.
    Type: Application
    Filed: November 3, 2011
    Publication date: May 9, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Nikhil Devanur Rangarajan, Kamal Jain, Balasubramanian Sivan, Christopher A. Wilkens
  • Publication number: 20130117454
    Abstract: Various embodiments provide offline algorithms for resource allocation. A known set of “offline” requests may be matched to available resources using an online resource allocation algorithm that models the offline resource allocation problem as though the requests were received stochastically. Requests may be scaled and then sampled to provide random, stochastic input for the online resource allocation algorithm. For each request, resources are allocated to the request by evaluating multiple options based upon shadow costs assigned to resources associated with the different options. After each request is processed, an adjustment is made to the shadow costs for remaining resources to reflect differences in rates for allocation and/or consumption of the resources and the updated shadow costs are used for a subsequent request. A scaled resource allocation determined using sampled requests in this manner may be scaled back up to obtain a solution for the offline resource allocation problem.
    Type: Application
    Filed: January 11, 2012
    Publication date: May 9, 2013
    Applicant: Microsoft Corporation
    Inventors: Nikhil Devanur Rangarajan, Kamal Jain, Balasubramanian Sivan, Christopher A. Wilkens
  • Publication number: 20120303464
    Abstract: Systems and method can be provided for selecting advertising payloads for display in an available advertising impression location. The advertising payloads can be selected based on an auction between various types of hosted and third party campaigns, including hosted reserved advertising campaigns and hosted non-reserved advertising campaigns. The rules of the auction can be set and/or updated over time to allow hosted campaigns to meet desired goals, such as delivering a minimum number of impressions or spending an expect budget amount.
    Type: Application
    Filed: May 26, 2011
    Publication date: November 29, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Robert Paul Gorman, Pavel Berkhin, Nikhil Devanur Rangarajan, Marc Diamond, Peng Han, Bashar Kachachi, Muthukrishnan Paramasivam, John A. Beaver, David G. Heindel, Izzet Can Envarli, Ye Chen