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: 8892493Abstract: 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: GrantFiled: February 1, 2012Date of Patent: November 18, 2014Assignee: Microsoft CorporationInventors: Randall Edward Aull, Pankaj Bharti Gupta, Robert Eugene Harris, Jr., Jane Evguenia Lawrence, Venkatesh-Prasad Ranganath, Pradip Harindran Vallathol
-
Patent number: 8538909Abstract: 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: GrantFiled: December 17, 2010Date of Patent: September 17, 2013Assignee: Microsoft CorporationInventors: Venkatesh-Prasad Ranganath, Piyush Goyal, Pradip Harindran Vallathol, Ganesan Ramalingam
-
Patent number: 8280899Abstract: 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: GrantFiled: October 14, 2009Date of Patent: October 2, 2012Assignee: Microsoft CorporationInventors: David Lo, Ganesan Ramalingam, Venkatesh-Prasad Ranganath, Kapil Vaswani
-
Publication number: 20120159263Abstract: 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: ApplicationFiled: December 17, 2010Publication date: June 21, 2012Applicant: Microsoft CorporationInventors: Venkatesh-Prasad Ranganath, Piyush Goyal, Pradip Harindran Vallathol, Ganesan Ramalingam
-
Publication number: 20120159250Abstract: 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: ApplicationFiled: February 1, 2012Publication date: June 21, 2012Applicant: MICROSOFT CORPORATIONInventors: Randall Edward Aull, Pankaj Bharti Gupta, Robert Eugene Harris, JR., Jane Evguenia Lawrence, Venkatesh-Prasad Ranganath, Pradip Harindran Vallathol
-
Patent number: 7941616Abstract: 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: GrantFiled: October 21, 2008Date of Patent: May 10, 2011Assignee: Microsoft CorporationInventors: Sriram Rajamani, Ganesan Ramalingam, Venkatesh-Prasad Ranganath, Kapil Vaswani
-
Publication number: 20110087700Abstract: 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: ApplicationFiled: October 14, 2009Publication date: April 14, 2011Applicant: MICROSOFT CORPORATIONInventors: David Lo, Ganesan Ramalingam, Venkatesh-Prasad Ranganath, Kapil Vaswani
-
Publication number: 20100169618Abstract: 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: ApplicationFiled: December 30, 2008Publication date: July 1, 2010Applicant: Microsoft CorporationInventors: Ganesan Ramalingam, Sriram Rajamani, Venkatesh-Prasad Ranganath, Kapil Vaswani, Jyotirmoy Vinay Deshmukh
-
Publication number: 20100100690Abstract: 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: ApplicationFiled: October 21, 2008Publication date: April 22, 2010Applicant: MICROSOFT CORPORATIONInventors: Sriram Rajamani, Ganesan Ramalingam, Venkatesh-Prasad Ranganath, Kapil Vaswani