Patents by Inventor Marco Gagliardi
Marco Gagliardi 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: 10506024Abstract: Systems, methods and media are shown for equitable job processing of asynchronous messages for multiple tenants in a multi-tenant platform that involve receiving messages of a given message type in an input buffer from at least one front end tier (FET) device, providing messages of the given message type from an output buffer to at least one back end tier (BET) device, determining a priority weight W for each message in the input buffer based on a tenant identifier and message type for the message, and evaluating the priority weight W for the message and delaying the message if the priority weight W is below a priority threshold and moving the message to the output buffer if the priority weight W is not below the priority threshold.Type: GrantFiled: December 4, 2018Date of Patent: December 10, 2019Assignee: Zuora, Inc.Inventors: Marco Gagliardi, Marc Aronson, Pushkala Pattabhiraman, Dmitri Medvedev, Levon Stepanian
-
Patent number: 10397349Abstract: Efficiently identifying transactions processed by a software application, such as a server application is disclosed. In one embodiment, transactions are identified by applying a set of rules to communications between a client and server to determine whether certain patterns are in the communications. For example, the rules may look for some combination of parameters in the transactions. As a particular example, the rules may be used to look for parameters in HTTP requests. The rules are organized in a way that allows efficient processing. For example, the rules may be organized based on the frequency with which the parameters are expected to occur in the transactions and the frequency with which each transaction is expected to occur. The rules may be updated if the expected frequencies deviate from actual frequencies, such that the rules can be organized for more efficient processing.Type: GrantFiled: January 12, 2017Date of Patent: August 27, 2019Assignee: CA, Inc.Inventors: Marco Gagliardi, Neil Desai
-
Publication number: 20190109893Abstract: Systems, methods and media are shown for equitable job processing of asynchronous messages for multiple tenants in a multi-tenant platform that involve receiving messages of a given message type in an input buffer from at least one front end tier (FET) device, providing messages of the given message type from an output buffer to at least one back end tier (BET) device, determining a priority weight W for each message in the input buffer based on a tenant identifier and message type for the message, and evaluating the priority weight W for the message and delaying the message if the priority weight W is below a priority threshold and moving the message to the output buffer if the priority weight W is not below the priority threshold.Type: ApplicationFiled: December 4, 2018Publication date: April 11, 2019Applicant: Zuora, Inc.Inventors: Marco Gagliardi, Marc Aronson, Pushkala Pattabhiraman, Dmitri Medvedev, Levon Stepanian
-
Patent number: 10148738Abstract: Systems, methods and media are shown for equitable job processing of asynchronous messages for multiple tenants in a multi-tenant platform that involve receiving messages of a given message type in an input buffer from at least one front end tier (FET) device, providing messages of the given message type from an output buffer to at least one back end tier (BET) device, determining a priority weight W for each message in the input buffer based on a tenant identifier and message type for the message, and evaluating the priority weight W for the message and delaying the message if the priority weight W is below a priority threshold and moving the message to the output buffer if the priority weight W is not below the priority threshold.Type: GrantFiled: November 9, 2015Date of Patent: December 4, 2018Assignee: Zuora, Inc.Inventors: Marco Gagliardi, Marc Aronson, Pushkala Pattabhiraman, Dmitri Medvedev, Levon Stepanian
-
Patent number: 9817656Abstract: Technology is disclosed herein for managing versions of an Agent associated with an application. Code for the Agent can be updated, and subsequently rolled back without being disruptive to the application. The technology includes running an Agent with an Application in a Java Virtual Machine and rolling back the Agent to use a previous version of code for the Agent while the Application and the Java Virtual Machine continue to run. The rolled back Agent with the Application in the Java Virtual Machine can then be run while the Application and the Java Virtual Machine continue to run.Type: GrantFiled: August 24, 2012Date of Patent: November 14, 2017Assignee: CA, Inc.Inventor: Marco Gagliardi
-
Patent number: 9798557Abstract: Technology is disclosed for updating an Agent. One embodiment comprises running the Agent for the Application while the Application is also running. The Agent is associated with an identified source of code for the Agent. The code for the Agent is updated, and the updated Agent is run with the Application.Type: GrantFiled: August 24, 2012Date of Patent: October 24, 2017Assignee: CA, Inc.Inventor: Marco Gagliardi
-
Publication number: 20170126823Abstract: Efficiently identifying transactions processed by a software application, such as a server application is disclosed. In one embodiment, transactions are identified by applying a set of rules to communications between a client and server to determine whether certain patterns are in the communications. For example, the rules may look for some combination of parameters in the transactions. As a particular example, the rules may be used to look for parameters in HTTP requests. The rules are organized in a way that allows efficient processing. For example, the rules may be organized based on the frequency with which the parameters are expected to occur in the transactions and the frequency with which each transaction is expected to occur. The rules may be updated if the expected frequencies deviate from actual frequencies, such that the rules can be organized for more efficient processing.Type: ApplicationFiled: January 12, 2017Publication date: May 4, 2017Applicant: CA, Inc.Inventors: Marco Gagliardi, Neil Desai
-
Patent number: 9569326Abstract: Efficiently identifying transactions processed by a software application, such as a server application is disclosed. In one embodiment, transactions are identified by applying a set of rules to communications between a client and server to determine whether certain patterns are in the communications. For example, the rules may look for some combination of parameters in the transactions. As a particular example, the rules may be used to look for parameters in HTTP requests. The rules are organized in a way that allows efficient processing. For example, the rules may be organized based on the frequency with which the parameters are expected to occur in the transactions and the frequency with which each transaction is expected to occur. The rules may be updated if the expected frequencies deviate from actual frequencies, such that the rules can be organized for more efficient processing.Type: GrantFiled: April 15, 2010Date of Patent: February 14, 2017Assignee: CA, Inc.Inventors: Marco Gagliardi, Neil Desai
-
Patent number: 9411616Abstract: An agent object can invoke one or more methods of an application object using a helper object. The application object passes a reference to itself to the agent object. The agent object identifies a class loader of the application from the reference. The agent object obtains byte code of a helper class and uses the byte code of the helper class to creating a helper class loader. A parent of the helper class loader is set as the class loader of the application. The helper class loader is used to load the helper class and define an instance of the helper object. Using the helper object, the one or more methods of the application object are invoked by the agent using casting, without having a direct class loader connection with the class loader of the application.Type: GrantFiled: December 9, 2011Date of Patent: August 9, 2016Assignee: CA, Inc.Inventor: Marco Gagliardi
-
Publication number: 20160134573Abstract: Systems, methods and media are shown for equitable job processing of asynchronous messages for multiple tenants in a multi-tenant platform that involve receiving messages of a given message type in an input buffer from at least one front end tier (FET) device, providing messages of the given message type from an output buffer to at least one back end tier (BET) device, determining a priority weight W for each message in the input buffer based on a tenant identifier and message type for the message, and evaluating the priority weight W for the message and delaying the message if the priority weight W is below a priority threshold and moving the message to the output buffer if the priority weight W is not below the priority threshold.Type: ApplicationFiled: November 9, 2015Publication date: May 12, 2016Inventors: Marco Gagliardi, Marc Aronson, Pushkala Pattabhiraman, Dmitri Medvedev, Levon Stepanian
-
Patent number: 9037705Abstract: A method, system and computer program product are disclosed for routing performance data to compute nodes. According to one aspect of the present disclosure each of a plurality of compute nodes are assigned a topic. Each topic may be associated with a set of calculations. Labeled performance metrics for an application are received. Each performance metric is labeled with a context under which the performance metric was collected. A topic is associated with each of the performance metrics based on the labeled context. Each respective node listens for a topic assigned to it in order to access the performance metrics associated with the assigned topic. Each respective node analyzes the performance metrics associated with the topic assigned to it.Type: GrantFiled: November 28, 2012Date of Patent: May 19, 2015Assignee: CA, Inc.Inventors: Aaron Kenneth Blackwell, Marco Gagliardi, Benny Tseng, David Tootill, Mark S. LoSacco, Ramana V. Lokavarapu, Gabriel D. Underwood
-
Patent number: 9021448Abstract: A technique for detecting patterns in the execution of an application. The technique identifies a sequence of methods which are invoked and obtains information regarding attributes of the methods. For example, attribute information such as a class hierarchy can be obtained from an instrumentation API. A data structure representing a hierarchy of the attributes can be created and compared to one or more reference data structures which describe patterns of interest. A decision can be made to provide instrumentation for the methods having the matching attributes. The decision can consider how frequently the pattern is detected and overhead costs of the instrumentation.Type: GrantFiled: February 28, 2013Date of Patent: April 28, 2015Assignee: CA, Inc.Inventors: Marco Gagliardi, Andreas Reiss
-
Patent number: 8938729Abstract: A two-pass technique for instrumenting an application is disclosed. One pass may be performed statically by analyzing the application and inserting probes while the application is not running. Another pass may be performed dynamically by analyzing data collected by the probes while the application runs to derive metrics for the probes. One or more metrics for each probe may be analyzed to determine whether to dynamically modify the probe. By dynamically modifying the probe, the application does not need to be shut down. Dynamically modifying the probe could include removing the probe from the application or moving the probe to another component (e.g., method) in the application, as examples. For example, the probe might be moved to a component that is either up or down the call graph from the component that the probe is presently in.Type: GrantFiled: October 12, 2010Date of Patent: January 20, 2015Assignee: CA, Inc.Inventors: David Brooke Martin, Marco Gagliardi, Mark Jacob Addleman
-
Patent number: 8812434Abstract: 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: GrantFiled: October 12, 2012Date of Patent: August 19, 2014Assignee: CA, Inc.Inventors: Marco Gagliardi, Martin Tali, Ramesh Mani
-
Patent number: 8782612Abstract: A failsafe mechanism for installing and removing temporary instrumentation during a runtime of an application. Initially, an application is configured with a baseline set of instrumented components such as methods. Additional instrumentation is then deployed in the application, such as to diagnose a performance problem. The failsafe mechanism ensures that the additional instrumentation is automatically removed, even when there is an interruption in a communication link to the application, a computing device failure, a software failure, or some other type of failure, which renders it impossible to manually roll back the instrumentation from a remote user interface. The failsafe mechanism can be provided using callbacks between the computing devices which detect when a connection is unexpectedly lost or closed. Termination of one callback can cascade to one or more other callbacks. The instrumentation rollback can involve reloading un-instrumented byte code of the application.Type: GrantFiled: May 11, 2010Date of Patent: July 15, 2014Assignee: CA, Inc.Inventors: Marco Gagliardi, Yitao Sun
-
Publication number: 20140149575Abstract: A method, system and computer program product are disclosed for routing performance data to compute nodes. According to one aspect of the present disclosure each of a plurality of compute nodes are assigned a topic. Each topic may be associated with a set of calculations. Labeled performance metrics for an application are received. Each performance metric is labeled with a context under which the performance metric was collected. A topic is associated with each of the performance metrics based on the labeled context. Each respective node listens for a topic assigned to it in order to access the performance metrics associated with the assigned topic. Each respective node analyzes the performance metrics associated with the topic assigned to it.Type: ApplicationFiled: November 28, 2012Publication date: May 29, 2014Applicant: CA, INC.Inventors: Aaron Kenneth Blackwell, Marco Gagliardi, Benny Tseng, David Tootill, Mark S. LoSacco, Ramana V. Lokavarapu, Gabriel D. Underwood
-
Publication number: 20140108463Abstract: 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: ApplicationFiled: October 12, 2012Publication date: April 17, 2014Applicant: CA, INC.Inventors: Marco Gagliardi, Martin Tali, Ramesh Mani
-
Patent number: 8688729Abstract: Transaction-segregated metrics are obtained for component invocations of different transactions of an application. Corresponding tree data structures are maintained by an agent and a manager which describe sequences of invoked components of the different transactions. The start and end of each component are each represented by a node in each branch of the tree data structure. Each transaction is identified by matching a branch to a transaction trace. Gatherers are linked to one or more nodes to collect the transaction-segregated metrics. For example, metrics can be gathered separately for component invocations in different transactions. Metrics can also be gathered together for instances of different components in one or more transactions. A user interface includes a directed graph having vertices connected by edges. Edge portions are visually distinguished from one another based on the metrics of the gatherers. Each edge portion can be associated with one or more of the gatherers.Type: GrantFiled: August 16, 2011Date of Patent: April 1, 2014Assignee: CA, Inc.Inventors: Marco Gagliardi, Vladimir Umansky
-
Publication number: 20140059527Abstract: Technology is disclosed for updating an Agent. One embodiment comprises running the Agent for the Application while the Application is also running. The Agent is associated with an identified source of code for the Agent. The code for the Agent is updated, and the updated Agent is run with the Application.Type: ApplicationFiled: August 24, 2012Publication date: February 27, 2014Applicant: CA, INC.Inventor: Marco Gagliardi
-
Publication number: 20140059528Abstract: Technology is disclosed herein for managing versions of an Agent associated with an application. Code for the Agent can be updated, and subsequently rolled back without being disruptive to the application.Type: ApplicationFiled: August 24, 2012Publication date: February 27, 2014Applicant: CA, INC.Inventor: Marco Gagliardi