Monitoring and correlating a binary process in a distributed business transaction

US9870303B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9870303-B2
Application numberUS-201615390347-A
CountryUS
Kind codeB2
Filing dateDec 23, 2016
Priority dateOct 31, 2014
Publication dateJan 16, 2018
Grant dateJan 16, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A dynamic monitoring process begins with configuring a start and end method to be monitored. The dynamic monitoring process may intercept both the start and end methods as and when the loader is initiated or at runtime to dynamically attach and detach the instrumentation. A loader may then be modified to call a library method upon detection of the start method. The library method may serve as a notification to the start of the method and causes a reflector to retrieve information from the incoming request. The incoming information may include data from which a business transaction name may be determined. The business transaction name is then associated with the monitoring of the particular request. When an exit call is detected, a call may be made to the library for a method which invokes a decorator. The decorator may insert business transaction name and other data into the outgoing call.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for monitoring a binary process, comprising: communicating, by a controller in a network, with one or more agents installed and configured to: instruct a loader how to handle a begin method and an end method of a first application implemented as a binary process; monitor the first application implemented as the binary process, the binary process including a process in a binary language and executing on a first machine; detect, at the first machine, communication with the binary process by a second application on a second machine, the second application not implemented as a binary process, wherein the detected communication includes an incoming call from the second application to the binary process or an outgoing call sent to the second application from the binary process; collect data from the incoming call from the second application to the binary process; monitor the incoming call including collect timing data, method parameters, and call stack data associated with the incoming call; cause the loader to call a method from a library, in response to detecting the incoming call, to install code at an address of the detected incoming call and read incoming parameters contained within the detected incoming call, the one or more parameters including distributed business transaction information and collected data; and monitor the second application on the second machine; receiving, at the controller, data transmitted from one or more installed agents, the transmitted data comprising data associated with monitoring the binary process and data associated with monitoring the second application; and correlating, by the controller, the first application implemented as a binary process and the second application not implemented as a binary process as part of the distributed business transaction based on the received data, the distributed business transaction implemented by the first application and the second application across the first machine and the second machine. 2. The method of claim 1 , wherein the binary process is implemented in C++language or C language. 3. The method of claim 1 , wherein the second application is a java application or a .NET application. 4. The method of claim 1 , wherein the communication is receiving a call from the second application, the method further comprising capturing method parameters of an incoming call. 5. The method of claim 1 , further comprising: receiving, at the controller, data originating incoming requests and outgoing requests. 6. The method of claim 1 , further comprising: correlating, by the controller, the received requests, wherein the correlated requests form the distributed business transaction. 7. The method of claim 1 , further comprising: communicating, by the controller, the received data to a user. 8. The method of claim 1 , further comprising: configuring a first application implemented as a binary process including identifying a begin method and an end method to be monitored within the binary process. 9. A method for monitoring a binary process, comprising: instructing, by an agent in a network, a loader how to handle a begin method and an end method of a first application implemented as a binary process; monitoring, by the agent, the first application implemented as the binary process, the binary process including a process in a binary language and executing on a first machine; detecting, by the agent, communication with the binary process by a second application on a second machine, the second application not implemented as a binary process, wherein the detected communication includes an incoming call from the second application to the binary process or an outgoing call sent to the second application from the binary process; collecting, by the agent, data from the incoming call from the second application to the binary process; monitoring, by the agent, the incoming call including collecting timing data, method parameters, and call stack data associated with the incoming call; causing, by the agent, the loader to call a method from a library, in response to detecting the incoming call, to install code at an address of the detected incoming call and reading incoming parameters contained within the detected incoming call, the one or more parameters including distributed business transaction information and collected data; and providing, by the agent, data associated with monitoring the binary process and data associated with monitoring the second application to a controller in the network configured to correlate the first application implemented as a binary process and the second application not implemented as a binary process as part of the distributed business transaction based on the received data, the distributed business transaction implemented by the first application and the second application across the first machine and the second machine. 10. The method of claim 9 , wherein the binary process is implemented in C++language or C language. 11. The method of claim 9 , wherein the second application is a java application or a .NET application. 12. The method of claim 9 , wherein the communication is receiving a call from the second application, the method further comprising capturing method parameters of an incoming call. 13. The method of claim 9 , further comprising: determining, by the agent, a name for the distributed business transaction based at least in part from the method parameters. 14. The method of claim 9 , wherein monitoring includes calling monitoring code from a library from within the binary process. 15. An apparatus comprising: a processor; a memory; and one or more modules stored in memory and executable by a processor to perform operations, including: communicating with one or more agents installed and configured to: instruct a loader how to handle a begin method and an end method of a first application implemented as a binary process; monitor the first application implemented as the binary process, the binary process including a process in a binary language and executing on a first machine; detect, at the first machine, communication with the binary process by a second application on a second machine, the second application not implemented as a binary process, wherein the detected communication includes an incoming call from the second application to the binary process or an outgoing call sent to the second application from the binary process; collecting data from the incoming call from the second application to the binary process; monitoring the incoming call including collecting timing data, method parameters, and call stack data associate with the incoming call; causing the loader to call a method from a library, in response to detecting the incoming call, to install code at an address of the detected incoming call and read incoming parameters contained within the detected incoming call, the one or more parameters including distributed business transaction information and collected data; and monitor the second application on the second machine; receiving data transmitted from one or more installed agents, the transmitted data comprising data associated with monitoring the binary process and data associated with monitoring the second application; and correlating the first application implemented as a binary process and the second application not implemented as a binary process as part of the distributed business transaction based on the received data, the distributed business transaction implemented by the first application and the second application across the

Assignees

Inventors

Classifications

  • where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50) · CPC title

  • Monitoring arrangements specially adapted to the computing system or computing system component being monitored · CPC title

  • for systems · CPC title

  • Monitoring of software · CPC title

  • Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9870303B2 cover?
A dynamic monitoring process begins with configuring a start and end method to be monitored. The dynamic monitoring process may intercept both the start and end methods as and when the loader is initiated or at runtime to dynamically attach and detach the instrumentation. A loader may then be modified to call a library method upon detection of the start method. The library method may serve as a…
Who is the assignee on this patent?
Appdynamics Llc, Cisco Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/3495. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 16 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).