Patents by Inventor Venkatesh-Prasad Ranganath

Venkatesh-Prasad Ranganath 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: 8892493
    Abstract: A “Compatibility Tester” extracts observable behaviors from different system implementations (e.g., software, operating systems, device drivers, hardware interfaces, etc.), then performs compatibility testing via comparisons of the extracted behaviors. Traces (e.g., bus level signals between controllers and hardware devices or commands between software components) representing observable behaviors of different implementations of a system are captured. Temporal and structural rules are then mined from these traces. The mined rules (or a model constructed from those rules) are used by a “Rule Checking” process that determines whether reference rules (mined from a known compatible system) are compatible with rules mined from test traces of a second system. Invalid rules are flagged as behavioral compatibility bugs.
    Type: Grant
    Filed: February 1, 2012
    Date of Patent: November 18, 2014
    Assignee: Microsoft Corporation
    Inventors: Randall Edward Aull, Pankaj Bharti Gupta, Robert Eugene Harris, Jr., Jane Evguenia Lawrence, Venkatesh-Prasad Ranganath, Pradip Harindran Vallathol
  • Patent number: 8538909
    Abstract: A temporal rule-based feature extraction system and method for extracting features from temporal-based rules satisfied by a trace. Once a temporal-based rule is found that is satisfied by the trace, then embodiments of the temporal rule-based feature extraction system and method leverage that rule to either use as a feature or to extract additional features. The extracted feature then is used to characterize the trace. Embodiments of the system include a feature definition module, which defines features based on the temporal-based rules satisfied by a trace, and a similarity measure module, which defines a similarity measure for the defined features. The defined features include both extrinsic features, which are based on extrinsic properties of the rule, and intrinsic features, which are based on intrinsic properties of the rule. The similarity module generates similarity measures that indicate the similarity of two traces.
    Type: Grant
    Filed: December 17, 2010
    Date of Patent: September 17, 2013
    Assignee: Microsoft Corporation
    Inventors: Venkatesh-Prasad Ranganath, Piyush Goyal, Pradip Harindran Vallathol, Ganesan Ramalingam
  • Patent number: 8280899
    Abstract: An event is described herein as being representable by a quantified abstraction of the event. The event includes at least one predicate, and the at least one predicate has at least one constant symbol corresponding thereto. An instance of the constant symbol corresponding to the event is identified, and the instance of the constant symbol is replaced by a free variable to obtain an abstracted predicate. Thus, a quantified abstraction of the event is composed as a pair: the abstracted predicate and a mapping between the free variable and an instance of the constant symbol that corresponds to the predicate. A data mining algorithm is executed over abstracted, quantified events to ascertain a correlation between the event and another event.
    Type: Grant
    Filed: October 14, 2009
    Date of Patent: October 2, 2012
    Assignee: Microsoft Corporation
    Inventors: David Lo, Ganesan Ramalingam, Venkatesh-Prasad Ranganath, Kapil Vaswani
  • Publication number: 20120159263
    Abstract: A temporal rule-based feature extraction system and method for extracting features from temporal-based rules satisfied by a trace. Once a temporal-based rule is found that is satisfied by the trace, then embodiments of the temporal rule-based feature extraction system and method leverage that rule to either use as a feature or to extract additional features. The extracted feature then is used to characterize the trace. Embodiments of the system include a feature definition module, which defines features based on the temporal-based rules satisfied by a trace, and a similarity measure module, which defines a similarity measure for the defined features. The defined features include both extrinsic features, which are based on extrinsic properties of the rule, and intrinsic features, which are based on intrinsic properties of the rule. The similarity module generates similarity measures that indicate the similarity of two traces.
    Type: Application
    Filed: December 17, 2010
    Publication date: June 21, 2012
    Applicant: Microsoft Corporation
    Inventors: Venkatesh-Prasad Ranganath, Piyush Goyal, Pradip Harindran Vallathol, Ganesan Ramalingam
  • Publication number: 20120159250
    Abstract: A “Compatibility Tester” extracts observable behaviors from different system implementations (e.g., software, operating systems, device drivers, hardware interfaces, etc.), then performs compatibility testing via comparisons of the extracted behaviors. Traces (e.g., bus level signals between controllers and hardware devices or commands between software components) representing observable behaviors of different implementations of a system are captured. Temporal and structural rules are then mined from these traces. The mined rules (or a model constructed from those rules) are used by a “Rule Checking” process that determines whether reference rules (mined from a known compatible system) are compatible with rules mined from test traces of a second system. Invalid rules are flagged as behavioral compatibility bugs.
    Type: Application
    Filed: February 1, 2012
    Publication date: June 21, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Randall Edward Aull, Pankaj Bharti Gupta, Robert Eugene Harris, JR., Jane Evguenia Lawrence, Venkatesh-Prasad Ranganath, Pradip Harindran Vallathol
  • Patent number: 7941616
    Abstract: Locks are used to protect variables. All variables protected by a lock are allocated on a page associated with a lock. When a thread (called the owner) acquires the lock, a local copy of the memory page containing the variable is created, the original memory page is protected, and all access of the variable in the owner thread is directed to the local copy. Upon releasing the lock, the changes from the local copy are carried over to the memory page and the memory page is unprotected. Any concurrent access of the variable by non-owner threads triggers an exception handler (due to the protection mechanism) and delays such an access until after the owner thread has finished accessing the variable.
    Type: Grant
    Filed: October 21, 2008
    Date of Patent: May 10, 2011
    Assignee: Microsoft Corporation
    Inventors: Sriram Rajamani, Ganesan Ramalingam, Venkatesh-Prasad Ranganath, Kapil Vaswani
  • Publication number: 20110087700
    Abstract: An event is described herein as being representable by a quantified abstraction of the event. The event includes at least one predicate, and the at least one predicate has at least one constant symbol corresponding thereto. An instance of the constant symbol corresponding to the event is identified, and the instance of the constant symbol is replaced by a free variable to obtain an abstracted predicate. Thus, a quantified abstraction of the event is composed as a pair: the abstracted predicate and a mapping between the free variable and an instance of the constant symbol that corresponds to the predicate. A data mining algorithm is executed over abstracted, quantified events to ascertain a correlation between the event and another event.
    Type: Application
    Filed: October 14, 2009
    Publication date: April 14, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: David Lo, Ganesan Ramalingam, Venkatesh-Prasad Ranganath, Kapil Vaswani
  • Publication number: 20100169618
    Abstract: The claimed subject matter provides a system and/or a method that facilitates ensuring non-interference between multiple threads that access a shared resource. An interface can receive a portion of sequential code, wherein the portion of sequential code includes a property that is maintained and relied upon when invoked and executed by a sequential client. A synthesizer component can leverage a sequential proof related to the portion of sequential code in order to derive a concurrency control mechanism for a portion of concurrency code that maintains the property when invoked by a concurrent client, wherein the sequential proof identifies a concurrent interference at an execution point that is tolerable for the concurrent client.
    Type: Application
    Filed: December 30, 2008
    Publication date: July 1, 2010
    Applicant: Microsoft Corporation
    Inventors: Ganesan Ramalingam, Sriram Rajamani, Venkatesh-Prasad Ranganath, Kapil Vaswani, Jyotirmoy Vinay Deshmukh
  • Publication number: 20100100690
    Abstract: Locks are used to protect variables. All variables protected by a lock are allocated on a page associated with a lock. When a thread (called the owner) acquires the lock, a local copy of the memory page containing the variable is created, the original memory page is protected, and all access of the variable in the owner thread is directed to the local copy. Upon releasing the lock, the changes from the local copy are carried over to the memory page and the memory page is unprotected. Any concurrent access of the variable by non-owner threads triggers an exception handler (due to the protection mechanism) and delays such an access until after the owner thread has finished accessing the variable.
    Type: Application
    Filed: October 21, 2008
    Publication date: April 22, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Sriram Rajamani, Ganesan Ramalingam, Venkatesh-Prasad Ranganath, Kapil Vaswani