Patents by Inventor Madanlal Musuvathi

Madanlal Musuvathi 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: 10922620
    Abstract: Systems, methods, and computer media for machine learning through a symbolic, parallelized stochastic gradient descent (SGD) analysis are provided. An initial data portion analyzer can be configured to perform, using a first processor, SGD analysis on an initial portion of a training dataset. Values for output model weights for the initial portion are initialized to concrete values. Local model builders can be configured to perform, using an additional processor for each local model builder, symbolic SGD analysis on an additional portion of the training dataset. The symbolic SGD analysis uses a symbolic representation as an initial state for output model weights for the corresponding portions of the training dataset. The symbolic representation allows the SGD analysis and symbolic SGD analysis to be performed in parallel. A global model builder can be configured to combine outputs of the local model builders and the initial data portion analyzer into a global model.
    Type: Grant
    Filed: January 26, 2016
    Date of Patent: February 16, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Todd Mytkowicz, Madanlal Musuvathi, Yufei Ding
  • Patent number: 10067989
    Abstract: Concepts and technologies are described herein providing technologies for mining patterns in temporal data streams. Data is broken into data sub-portions. Dependencies in computation between one or more of the data sub-portions are broken using symbolic data types. Symbolic summaries of computations of sub-portions are performed in parallel and are reduced to generate an output.
    Type: Grant
    Filed: April 17, 2015
    Date of Patent: September 4, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Madanlal Musuvathi, Todd D. Mytkowicz, Veselin Raychev
  • Patent number: 9955194
    Abstract: Various technologies described herein pertain to performing collaborative rendering. A GPU of a mobile device can generate a mobile-rendered video stream based on a first instance of an application executed on the mobile device. A GPU of a server can generate one or more server-rendered video streams based on instance(s) of the application executed on the server. Based on the one or more server-rendered video streams, the server can generate a compressed server-manipulated video stream. The mobile device can further combine the mobile-rendered video stream and the compressed server-manipulated video stream to form a collaborative video stream, and a display screen of the mobile device can be caused to display the collaborative video stream. The mobile-rendered video stream can have a first level of a quality attribute and the collaborative video stream can have a second level of the quality attribute greater than the first level of the quality attribute.
    Type: Grant
    Filed: January 19, 2016
    Date of Patent: April 24, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Alastair Wolman, Eduardo Alberto Cuervo Laffaye, Stefan Saroiu, Madanlal Musuvathi
  • Publication number: 20170213148
    Abstract: Systems, methods, and computer media for machine learning through a symbolic, parallelized stochastic gradient descent (SGD) analysis are provided. An initial data portion analyzer can be configured to perform, using a first processor, SGD analysis on an initial portion of a training dataset. Values for output model weights for the initial portion are initialized to concrete values. Local model builders can be configured to perform, using an additional processor for each local model builder, symbolic SGD analysis on an additional portion of the training dataset. The symbolic SGD analysis uses a symbolic representation as an initial state for output model weights for the corresponding portions of the training dataset. The symbolic representation allows the SGD analysis and symbolic SGD analysis to be performed in parallel. A global model builder can be configured to combine outputs of the local model builders and the initial data portion analyzer into a global model.
    Type: Application
    Filed: January 26, 2016
    Publication date: July 27, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Todd Mytkowicz, Madanlal Musuvathi, Yufei Ding
  • Publication number: 20160306859
    Abstract: Concepts and technologies are described herein providing technologies for mining patterns in temporal data streams. Data is broken into data sub-portions. Dependencies in computation between one or more of the data sub-portions are broken using symbolic data types. Symbolic summaries of computations of sub-portions are performed in parallel and are reduced to generate an output.
    Type: Application
    Filed: April 17, 2015
    Publication date: October 20, 2016
    Inventors: Madanlal Musuvathi, Todd D. Mytkowicz, Veselin Raychev
  • Patent number: 9384239
    Abstract: Various technologies described herein pertain to parallel local sequence alignment that aligns a query sequence with a database sequence. The database sequence is segmented into a plurality of stripes. A first processing unit can compute Smith-Waterman values for a first stripe of the database sequence across the query sequence based on a cost function that models biological similarity between sequences. Moreover, a second processing unit can compute Smith-Waterman values for a second stripe of the database sequence across the query sequence based on the cost function. Further, a subset of the Smith-Waterman values for the second stripe of the database sequence across the query sequence can be re-computed based on the cost function (e.g., by the first processing unit or the second processing unit). The subset of the Smith-Waterman values to be re-computed can be determined based on a query sequence length and the cost function.
    Type: Grant
    Filed: December 17, 2012
    Date of Patent: July 5, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Madanlal Musuvathi, Todd Mytkowicz
  • Publication number: 20160134907
    Abstract: Various technologies described herein pertain to performing collaborative rendering. A GPU of a mobile device can generate a mobile-rendered video stream based on a first instance of an application executed on the mobile device. A GPU of a server can generate one or more server-rendered video streams based on instance(s) of the application executed on the server. Based on the one or more server-rendered video streams, the server can generate a compressed server-manipulated video stream. The mobile device can further combine the mobile-rendered video stream and the compressed server-manipulated video stream to form a collaborative video stream, and a display screen of the mobile device can be caused to display the collaborative video stream. The mobile-rendered video stream can have a first level of a quality attribute and the collaborative video stream can have a second level of the quality attribute greater than the first level of the quality attribute.
    Type: Application
    Filed: January 19, 2016
    Publication date: May 12, 2016
    Inventors: Alastair Wolman, Eduardo Alberto Cuervo Laffaye, Stefan Saroiu, Madanlal Musuvathi
  • Patent number: 9264749
    Abstract: Various technologies described herein pertain to performing collaborative rendering. A GPU of a mobile device can generate a mobile-rendered video stream based on a first instance of an application executed on the mobile device. A GPU of a server can generate one or more server-rendered video streams based on instance(s) of the application executed on the server. Based on the one or more server-rendered video streams, the server can generate a compressed server-manipulated video stream. The mobile device can further combine the mobile-rendered video stream and the compressed server-manipulated video stream to form a collaborative video stream, and a display screen of the mobile device can be caused to display the collaborative video stream. The mobile-rendered video stream can have a first level of a quality attribute and the collaborative video stream can have a second level of the quality attribute greater than the first level of the quality attribute.
    Type: Grant
    Filed: December 13, 2012
    Date of Patent: February 16, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Alastair Wolman, Eduardo Alberto Cuervo Laffaye, Stefan Saroiu, Madanlal Musuvathi
  • Patent number: 9195436
    Abstract: The techniques and/or systems described herein implement parallel processing of a dynamic programming problem across stages and/or clusters by breaking dependencies between stages and/or clusters. For instance, the techniques and/or systems may identify dependencies between sub-problems of the dynamic programming problem and group the sub-problems into stages. The techniques and/or systems may also group the stages into clusters (e.g., at least two clusters to be parallel processed). Then, the techniques and/or systems generate one or more solutions to use instead of actual solutions so that the dynamic programming problem can be parallel processed across stages and/or clusters.
    Type: Grant
    Filed: April 21, 2014
    Date of Patent: November 24, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Todd D. Mytkowicz, Madanlal Musuvathi, Saeed Maleki
  • Patent number: 9063778
    Abstract: Techniques for providing a fair stateless model checker are disclosed. In some aspects, a schedule is generated to allocate resources for threads of a multi-thread program in lieu of having an operating system allocate resources for the threads. The generated schedule is both fair and exhaustive. In an embodiment, a priority graph may be implemented to reschedule a thread when a different thread is determined not to be making progress. A model checker may then implement one of the generated schedules in the program in order to determine if a bug or a livelock occurs during the particular execution of the program. An output by the model checker may facilitate identifying bugs and/or livelocks, or authenticate a program as operating correctly.
    Type: Grant
    Filed: January 9, 2008
    Date of Patent: June 23, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Madanlal Musuvathi, Shaz Qadeer
  • Patent number: 9053227
    Abstract: A concurrency assertions system disclosed herein provides for atomic evaluation of an assertion expression by locking an assertion lock upon initiating an assertion and thereby protecting the assertion evaluation from concurrent modifications to the variables in the assertion expressions. When a violation of an assertion is detected, the concurrency assertions system ensures that the exception statistics at the time of the assertion violation represents a program state where the assertion is violated, thus improving analysis of assertion violations. Furthermore, the concurrency assertions system continuously evaluates an expression for an assertion for a time period while other threads in the program are being executed.
    Type: Grant
    Filed: March 9, 2012
    Date of Patent: June 9, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jacob Samuels Burnim, Madanlal Musuvathi, Shaz Qadeer
  • Publication number: 20150106783
    Abstract: The techniques and/or systems described herein implement parallel processing of a dynamic programming problem across stages and/or clusters by breaking dependencies between stages and/or clusters. For instance, the techniques and/or systems may identify dependencies between sub-problems of the dynamic programming problem and group the sub-problems into stages. The techniques and/or systems may also group the stages into clusters (e.g., at least two clusters to be parallel processed). Then, the techniques and/or systems generate one or more solutions to use instead of actual solutions so that the dynamic programming problem can be parallel processed across stages and/or clusters.
    Type: Application
    Filed: April 21, 2014
    Publication date: April 16, 2015
    Applicant: Microsoft Corporation
    Inventors: Todd D. Mytkowicz, Madanlal Musuvathi, Saeed Maleki
  • Publication number: 20140172824
    Abstract: Various technologies described herein pertain to parallel local sequence alignment that aligns a query sequence with a database sequence. The database sequence is segmented into a plurality of stripes. A first processing unit can compute Smith-Waterman values for a first stripe of the database sequence across the query sequence based on a cost function that models biological similarity between sequences. Moreover, a second processing unit can compute Smith-Waterman values for a second stripe of the database sequence across the query sequence based on the cost function. Further, a subset of the Smith-Waterman values for the second stripe of the database sequence across the query sequence can be re-computed based on the cost function (e.g., by the first processing unit or the second processing unit). The subset of the Smith-Waterman values to be re-computed can be determined based on a query sequence length and the cost function.
    Type: Application
    Filed: December 17, 2012
    Publication date: June 19, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Madanlal Musuvathi, Todd Mytkowicz
  • Publication number: 20140173674
    Abstract: Various technologies described herein pertain to performing collaborative rendering. A GPU of a mobile device can generate a mobile-rendered video stream based on a first instance of an application executed on the mobile device. A GPU of a server can generate one or more server-rendered video streams based on instance(s) of the application executed on the server. Based on the one or more server-rendered video streams, the server can generate a compressed server-manipulated video stream. The mobile device can further combine the mobile-rendered video stream and the compressed server-manipulated video stream to form a collaborative video stream, and a display screen of the mobile device can be caused to display the collaborative video stream. The mobile-rendered video stream can have a first level of a quality attribute and the collaborative video stream can have a second level of the quality attribute greater than the first level of the quality attribute.
    Type: Application
    Filed: December 13, 2012
    Publication date: June 19, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Alastair Wolman, Eduardo Alberto Cuervo Laffaye, Stefan Saroiu, Madanlal Musuvathi
  • Publication number: 20130239120
    Abstract: A concurrency assertions system disclosed herein provides for atomic evaluation of an assertion expression by locking an assertion lock upon initiating an assertion and thereby protecting the assertion evaluation from concurrent modifications to the variables in the assertion expressions. When a violation of an assertion is detected, the concurrency assertions system ensures that the exception statistics at the time of the assertion violation represents a program state where the assertion is violated, thus improving analysis of assertion violations. Furthermore, the concurrency assertions system continuously evaluates an expression for an assertion for a time period while other threads in the program are being executed.
    Type: Application
    Filed: March 9, 2012
    Publication date: September 12, 2013
    Applicant: Microsoft Corporation
    Inventors: Jacob Samuels Burnim, Madanlal Musuvathi, Shaz Qadeer
  • Patent number: 8418146
    Abstract: This document describes a dynamic data race detector that utilizes adaptive sampling techniques. The adaptive sampling techniques include locating threads during execution of a multi-threaded program and identifying thread-specific hot paths, thread-specific cold paths and lockset paths during execution of the program. Once these paths are identified, they are sampled, potentially at different rates. Any information gained during the sampling may be stored in a data race log, which a developer may use to correct any identified program bugs.
    Type: Grant
    Filed: November 26, 2008
    Date of Patent: April 9, 2013
    Assignee: Microsoft Corporation
    Inventors: Madanlal Musuvathi, Daniel Marino, Satish Narayanasamy
  • Patent number: 8392891
    Abstract: A system and method capable of finding relaxed memory-model vulnerabilities in a computer program caused by running on a machine having a relaxed memory model. A relaxed memory model vulnerability in a computer program includes the presence of program executions that are not sequentially consistent. In one embodiment, non-sequentially consistent executions are detected by exploring sequentially consistent executions.
    Type: Grant
    Filed: June 26, 2008
    Date of Patent: March 5, 2013
    Assignee: Microsoft Corporation
    Inventors: Sebastian Burckhardt, Madanlal Musuvathi
  • Patent number: 7873945
    Abstract: The present invention extends to methods, systems, and computer program products for automatically generating test cases for binary code. Embodiments of the present invention can automatically generate test inputs for systematically covering program execution paths within binary code. By monitoring program execution of the binary code on existing or random test cases, branch predicates on execution paths can be dynamically inferred. These inferred branch predicates can then be used to drive the program along previously unexplored execution paths, enabling the learning of further execution paths. Embodiments of the invention can be used in combination with other analysis and testing techniques to provide better test coverage and expose program errors.
    Type: Grant
    Filed: June 29, 2007
    Date of Patent: January 18, 2011
    Assignee: Microsoft Corporation
    Inventors: Madanlal Musuvathi, Lin Tan
  • Publication number: 20100153928
    Abstract: A network service runtime module executing on a processor is configured to accept a directed acyclic service graph representing elements of a network service application. During execution of the service graph, runtime events are stored. The service graph may by optimized by generating alternate service graphs, and simulating performance of the alternate service graphs in a simulator using the stored runtime events. A hill climber algorithm may be used in conjunction with the simulator to vary alternate service graphs and determine which alternate service graphs provide the greatest utility. Once determined, an alternate service graph with the greatest utility may be loaded into the network service runtime module for execution.
    Type: Application
    Filed: December 16, 2008
    Publication date: June 17, 2010
    Applicant: Microsoft Corporation
    Inventors: Benjamin Livshits, Emre M. Kiciman, Alexander C. Rasmussen, Madanlal Musuvathi
  • Publication number: 20100131931
    Abstract: This document describes a dynamic data race detector that utilizes adaptive sampling techniques. The adaptive sampling techniques include locating threads during execution of a multi-threaded program and identifying thread-specific hot paths, thread-specific cold paths and lockset paths during execution of the program. Once these paths are identified, they are sampled, potentially at different rates.
    Type: Application
    Filed: November 26, 2008
    Publication date: May 27, 2010
    Applicant: Microsoft Corporation
    Inventors: Madanlal Musuvathi, Daniel Marino, Satish Narayanasamy