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: 11736499
    Abstract: 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: Grant
    Filed: April 9, 2020
    Date of Patent: August 22, 2023
    Assignee: Corner Venture Partners, LLC
    Inventors: Abhishek Singh, Ramesh Mani, Anjan Venkatramani, Chihwei Chao
  • Patent number: 11163999
    Abstract: 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: Grant
    Filed: May 21, 2019
    Date of Patent: November 2, 2021
    Inventors: Umar Arshad, Varun Ramesh Mani, Sara Remsen
  • Publication number: 20200404007
    Abstract: 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: Application
    Filed: April 9, 2020
    Publication date: December 24, 2020
    Applicant: Prismo Systems Inc.
    Inventors: Abhishek Singh, Ramesh Mani, Anjan Venkatramani, Chihwei Chao
  • Patent number: 10620717
    Abstract: 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: Grant
    Filed: June 30, 2016
    Date of Patent: April 14, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 20200110606
    Abstract: 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: Application
    Filed: October 9, 2018
    Publication date: April 9, 2020
    Inventors: Ramesh Mani, Anand Krishnamurthy, Vashistha Kumar Singh
  • Publication number: 20190354761
    Abstract: 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: Application
    Filed: May 21, 2019
    Publication date: November 21, 2019
    Inventors: Umar Arshad, Varun Ramesh Mani, Sara Remsen
  • Patent number: 10437704
    Abstract: 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: Grant
    Filed: November 22, 2016
    Date of Patent: October 8, 2019
    Assignee: CA, Inc.
    Inventors: Karmjit Singh, Ramesh Mani, Martin Tali
  • Publication number: 20190253332
    Abstract: 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: Application
    Filed: February 12, 2018
    Publication date: August 15, 2019
    Inventors: Douglas Briere, Ramesh Mani, Nikhil Kasthurirangan, Yash Sangani
  • Publication number: 20190190981
    Abstract: 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: Application
    Filed: December 15, 2017
    Publication date: June 20, 2019
    Inventors: Ramesh Mani, Anand Krishnamurthy
  • Publication number: 20180248947
    Abstract: 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: Application
    Filed: April 26, 2018
    Publication date: August 30, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: 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: 20180210820
    Abstract: 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: Application
    Filed: January 25, 2017
    Publication date: July 26, 2018
    Inventors: Ramesh Mani, Arivoli Tirouvingadame
  • Patent number: 9998536
    Abstract: 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: Grant
    Filed: May 29, 2013
    Date of Patent: June 12, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 20180143894
    Abstract: 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: Application
    Filed: November 22, 2016
    Publication date: May 24, 2018
    Inventors: Karmjit Singh, Ramesh Mani, Martin Tali
  • Publication number: 20180052754
    Abstract: 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: Application
    Filed: December 30, 2016
    Publication date: February 22, 2018
    Inventors: Erhan Giral, Martin Tali, Ramesh Mani, Anand Krishnamurthy
  • Publication number: 20180052759
    Abstract: 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: Application
    Filed: August 19, 2016
    Publication date: February 22, 2018
    Inventors: Erhan Giral, Martin Tali, Ramesh Mani, Anand Krishnamurthy
  • Publication number: 20180004308
    Abstract: 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: Application
    Filed: June 30, 2016
    Publication date: January 4, 2018
    Inventors: 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: 20180005445
    Abstract: 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: Application
    Filed: June 30, 2016
    Publication date: January 4, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: 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: 9858153
    Abstract: 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: Grant
    Filed: May 29, 2013
    Date of Patent: January 2, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Scott E. Dart, Sara L. Yang, Antonia C. Blume, Benjamin N. Truelove, Varun Ramesh Mani, Benjamin Salim Srour, Elena Alina Angelescu
  • Patent number: 9594662
    Abstract: 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: Grant
    Filed: August 27, 2014
    Date of Patent: March 14, 2017
    Assignee: CA, INC.
    Inventors: Ramesh Mani, Chitresh Deshpande
  • Publication number: 20160062868
    Abstract: 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: Application
    Filed: August 27, 2014
    Publication date: March 3, 2016
    Applicant: CA, INC.
    Inventors: Ramesh Mani, Chitresh Deshpande