Analytics data collection with low integration cost for dynamic message passing systems
AssigneeAppDynamics, Inc.
InventorsVishweshwar Ghanakota, Fred McClain, Stephen Mickelsen
Life of this patent
Estimating the term…
Loading patent…
AssigneeAppDynamics, Inc.
InventorsVishweshwar Ghanakota, Fred McClain, Stephen Mickelsen
Estimating the term…
A method, an apparatus, and a computer program product which capture and use analytics data relating to the internal activity of software programs executing in a message-passing runtime environment, such as that provided by Objective-C. The invention exploits the well documented interfaces of these environments together with their dynamic runtime capabilities to insert data collection and analysis code into an application without modification of the target application.
A method of modifying behavior of a computing device, comprising:
A system for monitoring a business transaction, comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
No references of this kind are recorded.
Interprogram communication: message passing systems or structures, e.g. queues
The flanges being connected by members tensioned axially: characterised by the tensioning members, e.g. specially adapted bolts or C-clamps
Arrangements for executing specific programs: execution paradigms, e.g. implementations of programming paradigms
Procedural: executing subprograms
About 6 years 1 month of term left · ends 6 Dec 2032 (estimated)
Field
The present disclosure relates generally to message passing computer programming languages and systems, and more particularly, to systems and methods for instrumenting, observing, analyzing and reporting behavior of message passing computer systems.
Background
FIG. 1 is a diagram illustrating an example of a network environment.
FIG. 2 is a flowchart illustrating a method for including software libraries into an application on a processing device.
FIG. 3 illustrates relocatable code blocks and associated pointers.
The detailed description set forth below in connection with the appended drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of various concepts. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. In some instances, well-known structures and components are shown in block diagram form in order to avoid obscuring such concepts.
Several aspects of the invention will now be presented with reference to various apparatus and methods. These apparatus and methods will be described in the following detailed description and illustrated in the accompanying drawing by various blocks, modules, components, circuits, steps, processes, algorithms, etc. (collectively referred to as “elements”). These elements may be implemented using electronic hardware, computer software, or any combination thereof. Whether such elements are implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system.
By way of example, an element, or any portion of an element, or any combination of elements may be implemented with a “processing system” that includes one or more processors. Examples of processors include microprocessors, microcontrollers, digital signal processors (DSPs), field programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionality described throughout this disclosure. One or more processors in the processing system may execute software. Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. The software may reside on a computer-readable medium. A computer-readable medium may include, by way of example, a magnetic storage device (e.g., hard disk, floppy disk, magnetic strip), an optical disk (e.g., compact disk (CD), digital versatile disk (DVD)), a smart card, a flash memory device (e.g., card, stick, key drive), random access memory (RAM), read only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), a register, a removable disk, a carrier wave, a transmission line, and any other suitable medium for storing or transmitting software. The computer-readable medium may be resident in the processing system, external to the processing system, or distributed across multiple entities including the processing system. Computer-readable medium may be embodied in a computer-program product. By way of example, a computer-program product may include a computer-readable medium in packaging materials. Those skilled in the art will recognize how best to implement the described functionality presented throughout this disclosure depending on the particular application and the overall design constraints imposed on the overall system.