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
  • 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
  • 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
  • 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: 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
  • 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: 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: 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
  • 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
  • Patent number: 8849981
    Abstract: A benchmark response time is determined for a browser application request sent to a network server over a network. The response time is determined by performance monitoring code that is loaded into and monitors the browser application from the client. The performance monitoring code automatically sends a request to a network server; the request is not sent in response to user input. The network server receives the request, generates a response and provides the response to the browser application. The response includes a fixed amount of randomly generated data. The browser application receives and processes the response, but does not display the bytes or change the content displayed in the browser application as a result of the response. The browser application sends the times at which the browser application sends the request and the browser application completes processing the response data to the network server for further processing.
    Type: Grant
    Filed: December 4, 2006
    Date of Patent: September 30, 2014
    Assignee: CA, Inc.
    Inventors: Brian Zuzga, Mark Jacob Addleman, Ramesh Mani
  • Patent number: 8812434
    Abstract: A technique for monitoring software which efficiently communicates transaction trace data, including static and dynamic data, from an agent to a manager is disclosed. A tree data structure describes transactions as a sequence of transaction elements. Each branch may correspond to one type of transaction. The nodes along a branch may be associated with components of monitored software that are invoked to perform the transaction. A provisional branch may be constructed when an agent is unable to initially identify the transaction. Transaction data may be stored in association with the nodes in the provisional branch during the monitoring. After information needed to identify the transaction becomes available to the agent, the provisional branch is updated. The transaction data is reported in response to determining the branch in the tree data structure that matches the provisional branch.
    Type: Grant
    Filed: October 12, 2012
    Date of Patent: August 19, 2014
    Assignee: CA, Inc.
    Inventors: Marco Gagliardi, Martin Tali, Ramesh Mani
  • Publication number: 20140108463
    Abstract: A technique for monitoring software which efficiently communicates transaction trace data, including static and dynamic data, from an agent to a manager is disclosed. A tree data structure describes transactions as a sequence of transaction elements. Each branch may correspond to one type of transaction. The nodes along a branch may be associated with components of monitored software that are invoked to perform the transaction. A provisional branch may be constructed when an agent is unable to initially identify the transaction. Transaction data may be stored in association with the nodes in the provisional branch during the monitoring. After information needed to identify the transaction becomes available to the agent, the provisional branch is updated. The transaction data is reported in response to determining the branch in the tree data structure that matches the provisional branch.
    Type: Application
    Filed: October 12, 2012
    Publication date: April 17, 2014
    Applicant: CA, INC.
    Inventors: Marco Gagliardi, Martin Tali, Ramesh Mani
  • Patent number: 8667147
    Abstract: Multiple transaction components that comprise a transaction are correlated using a GUID generated at a browser application. The transaction components may occur asynchronously or synchronously between a network browser and one or more applications. An identifier is generated for a set of network browser requests corresponding to a single user input or some other event and the identifier is included in each request. Server traffic and the servers processing the request are monitored and data which includes the identifier is generated. Data for the transaction with multiple transaction components is reported using the GUID associated with the transaction.
    Type: Grant
    Filed: March 16, 2011
    Date of Patent: March 4, 2014
    Assignee: CA, Inc.
    Inventors: Ramesh Mani, Brian Zuzga, Ling Thio
  • Publication number: 20110167156
    Abstract: Multiple transaction components that comprise a transaction are correlated using a GUID generated at a browser application. The transaction components may occur asynchronously or synchronously between a network browser and one or more applications. An identifier is generated for a set of network browser requests corresponding to a single user input or some other event and the identifier is included in each request. Server traffic and the servers processing the request are monitored and data which includes the identifier is generated. Data for the transaction with multiple transaction components is reported using the GUID associated with the transaction.
    Type: Application
    Filed: March 16, 2011
    Publication date: July 7, 2011
    Applicant: COMPUTER ASSOCIATES THINK, INC.
    Inventors: Ramesh Mani, Brian Zuzga, Ling Thio
  • Patent number: 7953850
    Abstract: Multiple transaction components that comprise a transaction are correlated using a GUID generated at a browser application. The transaction components may occur asynchronously or synchronously between a network browser and one or more applications. An identifier is generated for a set of network browser requests corresponding to a single user input or some other event and the identifier is included in each request. Server traffic and the servers processing the request are monitored and data which includes the identifier is generated. Data for the transaction with multiple transaction components is reported using the GUID associated with the transaction.
    Type: Grant
    Filed: October 3, 2008
    Date of Patent: May 31, 2011
    Assignee: Computer Associates Think, Inc.
    Inventors: Ramesh Mani, Brian Zuzga, Ling Thio
  • Publication number: 20100088404
    Abstract: Multiple transaction components that comprise a transaction are correlated using a GUID generated at a browser application. The transaction components may occur asynchronously or synchronously between a network browser and one or more applications. An identifier is generated for a set of network browser requests corresponding to a single user input or some other event and the identifier is included in each request. Server traffic and the servers processing the request are monitored and data which includes the identifier is generated. Data for the transaction with multiple transaction components is reported using the GUID associated with the transaction.
    Type: Application
    Filed: October 3, 2008
    Publication date: April 8, 2010
    Inventors: Ramesh Mani, Brian Zuzga, Ling Thio
  • Publication number: 20080133739
    Abstract: A benchmark response time is determined for a browser application request sent to a network server over a network. The response time is determined by performance monitoring code that is loaded into and monitors the browser application from the client. The performance monitoring code automatically sends a request to a network server; the request is not sent in response to user input. The network server receives the request, generates a response and provides the response to the browser application. The response includes a fixed amount of randomly generated data. The browser application receives and processes the response, but does not display the bytes or change the content displayed in the browser application as a result of the response. The browser application sends the times at which the browser application sends the request and the browser application completes processing the response data to the network server for further processing.
    Type: Application
    Filed: December 4, 2006
    Publication date: June 5, 2008
    Inventors: Brian Zuzga, Mark Jacob Addleman, Ramesh Mani