Patents by Inventor Ramesh Mani
Ramesh Mani 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: 11736499Abstract: Systems and methods for detecting injection exploits in a networked computing environment are disclosed. In one embodiment, a method for detection includes monitoring web applications that are executing and detecting when an execution function is received over a network and invoked, where an execution function is a function that accepts external free-form data values, detecting malicious code by generating a model of legitimate behavior subsequent to invocation of the execution function, comparing actual behavior to the model of legitimate behavior, and generating an alert when the actual behavior deviates from the model of legitimate behavior and validating whether the deviation of the actual behavior is due to one or more functions that accept external input.Type: GrantFiled: April 9, 2020Date of Patent: August 22, 2023Assignee: Corner Venture Partners, LLCInventors: Abhishek Singh, Ramesh Mani, Anjan Venkatramani, Chihwei Chao
-
Patent number: 11163999Abstract: An augmented reality, mixed reality or virtual reality device is used to create occupational knowledge documentation, such as instruction and/or repair documentation for industrial equipment or processes. The device can be configured to capture time-synchronized data during a session in which an expert person, wearing or holding the device, performs a task to be documented. The data can include, for example, video data captured by a camera, audio data captured by a microphone within audio proximity of the camera, motion data captured by an inertial measurement unit physically fixed relative to the camera, and spatial data relating to locations of at least one of the plurality of objects within the field of view of the camera, wherein the spatial data is generated by one or more spatial sensors. The captured data can be automatically processed and used to render instruction on an augmented reality, mixed reality or virtual reality device.Type: GrantFiled: May 21, 2019Date of Patent: November 2, 2021Inventors: Umar Arshad, Varun Ramesh Mani, Sara Remsen
-
Publication number: 20200404007Abstract: Systems and methods for detecting injection exploits in a networked computing environment are disclosed. In one embodiment, a method for detection includes monitoring web applications that are executing and detecting when an execution function is received over a network and invoked, where an execution function is a function that accepts external free-form data values, detecting malicious code by generating a model of legitimate behavior subsequent to invocation of the execution function, comparing actual behavior to the model of legitimate behavior, and generating an alert when the actual behavior deviates from the model of legitimate behavior and validating whether the deviation of the actual behavior is due to one or more functions that accept external input.Type: ApplicationFiled: April 9, 2020Publication date: December 24, 2020Applicant: Prismo Systems Inc.Inventors: Abhishek Singh, Ramesh Mani, Anjan Venkatramani, Chihwei Chao
-
Patent number: 10620717Abstract: In embodiments of a camera-based input device, the input device includes an inertial measurement unit that collects motion data associated with velocity and acceleration of the input device in an environment, such as in three-dimensional (3D) space. The input device also includes at least two visual light cameras that capture images of the environment. A positioning application is implemented to receive the motion data from the inertial measurement unit, and receive the images of the environment from the at least two visual light cameras. The positioning application can then determine positions of the input device based on the motion data and the images correlated with a map of the environment, and track a motion of the input device in the environment based on the determined positions of the input device.Type: GrantFiled: June 30, 2016Date of Patent: April 14, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Daniel Joseph McCulloch, Nicholas Gervase Fajt, Adam G. Poulos, Christopher Douglas Edmonds, Lev Cherkashin, Brent Charles Allen, Constantin Dulu, Muhammad Jabir Kapasi, Michael Grabner, Michael Edward Samples, Cecilia Bong, Miguel Angel Susffalich, Varun Ramesh Mani, Anthony James Ambrus, Arthur C. Tomlin, James Gerard Dack, Jeffrey Alan Kohler, Eric S. Rehmeyer, Edward D. Parker
-
Publication number: 20200110606Abstract: To increase visibility into an application's performance, an application performance management system monitors transactions of an application at runtime to identify components or methods which significantly contribute to the execution of the transaction but are not instrumented. Since these methods are uninstrumented, the application performance management system has no visibility into and does not receive performance metrics for the methods. Identified components which contribute to the transaction are instrumented to decrease the visibility gap and provide additional performance information about the transaction of the application. During visibility gap detection, the agent analyzes runtimes of instrumented components to identify a component with a largest attributable runtime. The component is analyzed to identify uninstrumented, children components which it invokes.Type: ApplicationFiled: October 9, 2018Publication date: April 9, 2020Inventors: Ramesh Mani, Anand Krishnamurthy, Vashistha Kumar Singh
-
Publication number: 20190354761Abstract: An augmented reality, mixed reality or virtual reality device is used to create occupational knowledge documentation, such as instruction and/or repair documentation for industrial equipment or processes. The device can be configured to capture time-synchronized data during a session in which an expert person, wearing or holding the device, performs a task to be documented. The data can include, for example, video data captured by a camera, audio data captured by a microphone within audio proximity of the camera, motion data captured by an inertial measurement unit physically fixed relative to the camera, and spatial data relating to locations of at least one of the plurality of objects within the field of view of the camera, wherein the spatial data is generated by one or more spatial sensors. The captured data can be automatically processed and used to render instruction on an augmented reality, mixed reality or virtual reality device.Type: ApplicationFiled: May 21, 2019Publication date: November 21, 2019Inventors: Umar Arshad, Varun Ramesh Mani, Sara Remsen
-
Patent number: 10437704Abstract: In various embodiments, a method of automatically identifying back-end components of a processing system may be performed. The method may include logging socket communications as a plurality of stack traces. The method may further include filtering the plurality of stack traces to identify a transaction from a particular thread, where the transaction includes a write stack trace and a read stack trace. The method may further include identifying, based on an examination of common stack elements between the write stack trace and the read stack trace, a candidate software component as a back-end component that is communicating with an external software component.Type: GrantFiled: November 22, 2016Date of Patent: October 8, 2019Assignee: CA, Inc.Inventors: Karmjit Singh, Ramesh Mani, Martin Tali
-
Publication number: 20190253332Abstract: A method includes performing, by a processor, receiving a user selection of a content item on a web page in a web browser executing on a device, determining a selection time associated with the user selection of the content item, identifying, based on the selection time, a page bucket for a web resource associated with the content item that was selected, associating the web resource with the page bucket that was identified, and communicating, to a network operator, performance information associated with the web page based on the page bucket.Type: ApplicationFiled: February 12, 2018Publication date: August 15, 2019Inventors: Douglas Briere, Ramesh Mani, Nikhil Kasthurirangan, Yash Sangani
-
Publication number: 20190190981Abstract: To allow trace generation regardless of the complexity of a distributed application, agents across a distributed application split transaction information into static data that identifies the subroutines of a software component and compact runtime data that is recorded for per transaction. A single instance of the static data is maintained for a software component while the compact runtime data is maintained for per transaction that invokes the software component. When a transaction satisfies a trace filter, the filter initiation component includes in a software component invocation for a subsequent transaction an identifier of the previous transaction that satisfied the trace filter. This transaction identifier propagates across the downstream components and causes the downstream components to generate and send trace segments constructed from the previously recorded runtime data for the identified previous transaction and the static subroutine identifying data for the respective component.Type: ApplicationFiled: December 15, 2017Publication date: June 20, 2019Inventors: Ramesh Mani, Anand Krishnamurthy
-
Publication number: 20180248947Abstract: Metered network synchronization techniques are described. A current network connection of a computing device is checked as to whether the current network connection has been identified as a metered network. Access by a synchronization engine of the computing device to communicate via the current network connection to synchronize data of the computing device with another computing device is managed based at least in part on a setting associated with the metered network.Type: ApplicationFiled: April 26, 2018Publication date: August 30, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Varun Ramesh Mani, Haohui Yin, Scott E. Dart, Benjamin N. Truelove, Benjamin Salim Srour, Swagat Dasgupta, Joerg C. Zender, MerryJane M. Fosdick, Oded Y. Shekel, Andrew J. Koltz
-
Publication number: 20180210820Abstract: In various embodiments, a method of automatically injecting an application script into application code may be performed. The method may include injecting an application script at an automatically identified first location within application code of a web page. The method may further include sending the application code including the application script to a web browser. The method may further include determining, based on whether metrics corresponding to the application script are received from the web browser, whether to automatically identify a second location within the application code at which to instead inject the application script.Type: ApplicationFiled: January 25, 2017Publication date: July 26, 2018Inventors: Ramesh Mani, Arivoli Tirouvingadame
-
Patent number: 9998536Abstract: Metered network synchronization techniques are described. A current network connection of a computing device is checked as to whether the current network connection has been identified as a metered network. Access by a synchronization engine of the computing device to communicate via the current network connection to synchronize data of the computing device with another computing device is managed based at least in part on a setting associated with the metered network.Type: GrantFiled: May 29, 2013Date of Patent: June 12, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Varun Ramesh Mani, Haohui Yin, Scott E. Dart, Benjamin N. Truelove, Benjamin Salim Srour, Swagat Dasgupta, Joerg C. Zender, MerryJane M. Fosdick, Oded Y. Shekel, Andrew J. Koltz
-
Publication number: 20180143894Abstract: In various embodiments, a method of automatically identifying back-end components of a processing system may be performed. The method may include logging socket communications as a plurality of stack traces. The method may further include filtering the plurality of stack traces to identify a transaction from a particular thread, where the transaction includes a write stack trace and a read stack trace. The method may further include identifying, based on an examination of common stack elements between the write stack trace and the read stack trace, a candidate software component as a back-end component that is communicating with an external software component.Type: ApplicationFiled: November 22, 2016Publication date: May 24, 2018Inventors: Karmjit Singh, Ramesh Mani, Martin Tali
-
Publication number: 20180052754Abstract: Embodiments provide contextualization for collecting performance metrics of various application components based on values of attributes of an incoming request (a calling context). This contextualization is not limited to the highest level of the application stack. Rather, this contextualization based on attributes' values of an incoming request can be carried down through the application stack and to hardware performing operations for processes in the application stack. In other words, performance metrics can be separated based on the calling context at different levels of the application stack. Accordingly, the calling context includes a value of at least one attribute of the incoming request and a path from a top of the application stack to a location of the application component being executed.Type: ApplicationFiled: December 30, 2016Publication date: February 22, 2018Inventors: Erhan Giral, Martin Tali, Ramesh Mani, Anand Krishnamurthy
-
Publication number: 20180052759Abstract: In response to executing a first application component of a distributed application stack to process a first request to perform a first transaction received at a first device hosting the first application component and a second application component, operations are performed. The operations include determining a first context defining a first unique combination comprising a first value of an attribute of the first request and identification of a path of execution from a top of the distributed application stack to the first application component. The operations include assigning a first unique identifier to the first unique combination and monitoring a performance metric of the first application component to determine a first performance value of the first application component. The operations include adding the first performance value to a first accumulator value of a first accumulator that accumulates performance values for the first unique combination.Type: ApplicationFiled: August 19, 2016Publication date: February 22, 2018Inventors: Erhan Giral, Martin Tali, Ramesh Mani, Anand Krishnamurthy
-
Publication number: 20180004308Abstract: In embodiments of a camera-based input device, the input device includes an inertial measurement unit that collects motion data associated with velocity and acceleration of the input device in an environment, such as in three-dimensional (3D) space. The input device also includes at least two visual light cameras that capture images of the environment. A positioning application is implemented to receive the motion data from the inertial measurement unit, and receive the images of the environment from the at least two visual light cameras. The positioning application can then determine positions of the input device based on the motion data and the images correlated with a map of the environment, and track a motion of the input device in the environment based on the determined positions of the input device.Type: ApplicationFiled: June 30, 2016Publication date: January 4, 2018Inventors: Daniel Joseph McCulloch, Nicholas Gervase Fajt, Adam G. Poulos, Christopher Douglas Edmonds, Lev Cherkashin, Brent Charles Allen, Constantin Dulu, Muhammad Jabir Kapasi, Michael Grabner, Michael Edward Samples, Cecilia Bong, Miguel Angel Susffalich, Varun Ramesh Mani, Anthony James Ambrus, Arthur C. Tomlin, James Gerard Dack, Jeffrey Alan Kohler, Eric S. Rehmeyer, Edward D. Parker
-
Publication number: 20180005445Abstract: In embodiments of augmenting a moveable entity with a hologram, an alternate reality device includes a tracking system that can recognize an entity in an environment and track movement of the entity in the environment. The alternate reality device can also include a detection algorithm implemented to identify the entity recognized by the tracking system based on identifiable characteristics of the entity. A hologram positioning application is implemented to receive motion data from the tracking system, receive entity characteristic data from the detection algorithm, and determine a position and an orientation of the entity in the environment based on the motion data and the entity characteristic data. The hologram positioning application can then generate a hologram that appears associated with the entity as the entity moves in the environment.Type: ApplicationFiled: June 30, 2016Publication date: January 4, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Daniel Joseph McCulloch, Nicholas Gervase Fajt, Adam G. Poulos, Christopher Douglas Edmonds, Lev Cherkashin, Brent Charles Allen, Constantin Dulu, Muhammad Jabir Kapasi, Michael Grabner, Michael Edward Samples, Cecilia Bong, Miguel Angel Susffalich, Varun Ramesh Mani, Anthony James Ambrus, Arthur C. Tomlin, James Gerard Dack, Jeffrey Alan Kohler, Eric S. Rehmeyer, Edward D. Parker
-
Patent number: 9858153Abstract: A user of a device has an account with a service that stores copies of common data that is automatically made available to any of the user's devices and also stores copies of device-specific data that is available to the user on particular user-selected devices but is not automatically made available to all of the user's devices. A set of backed up devices can be displayed to the user of a particular device with various information describing the devices to facilitate user selection of a device, such as a visual representation of the type of the device that was backed up, a visual representation of a desktop or start screen display of the device that was backed up, and so forth. The user can select one of the displayed devices, and in response have the backed up device-specific data for the selected device copied to the particular device.Type: GrantFiled: May 29, 2013Date of Patent: January 2, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Scott E. Dart, Sara L. Yang, Antonia C. Blume, Benjamin N. Truelove, Varun Ramesh Mani, Benjamin Salim Srour, Elena Alina Angelescu
-
Patent number: 9594662Abstract: Methods for automatically identifying and instrumenting application classes and methods for a particular application are described. In some embodiments, application code (e.g., bytecode or source code) associated with the particular application may be parsed to identify classes and methods within the application code and to identify terminal components (e.g., methods or function calls) and non-terminal components (e.g., control flow statements). Once the terminal components and non-terminal components have been identified, a complexity model and a corresponding score for each of the classes and methods within the application code may be determined. The complexity model may be used to estimate the number of computations that may be required if a particular class or method is used by the particular application. Application classes and methods corresponding with a score that is greater than a threshold may be instrumented by inserting probes into the identified classes and methods.Type: GrantFiled: August 27, 2014Date of Patent: March 14, 2017Assignee: CA, INC.Inventors: Ramesh Mani, Chitresh Deshpande
-
Publication number: 20160062868Abstract: Methods for automatically identifying and instrumenting application classes and methods for a particular application are described. In some embodiments, application code (e.g., bytecode or source code) associated with the particular application may be parsed to identify classes and methods within the application code and to identify terminal components (e.g., methods or function calls) and non-terminal components (e.g., control flow statements). Once the terminal components and non-terminal components have been identified, a complexity model and a corresponding score for each of the classes and methods within the application code may be determined. The complexity model may be used to estimate the number of computations that may be required if a particular class or method is used by the particular application. Application classes and methods corresponding with a score that is greater than a threshold may be instrumented by inserting probes into the identified classes and methods.Type: ApplicationFiled: August 27, 2014Publication date: March 3, 2016Applicant: CA, INC.Inventors: Ramesh Mani, Chitresh Deshpande