IP Library › Granted Patent US 9,684,786
Granted Patent B2
US 9,684,786 · App. 14/474,961 · Granted Jun 20, 2017

Monitoring an application in a process virtual machine

Inventor: Sean C. Foley (Chelmsford, MA)
Assignee: International Business Machines Corporation
G06F21/54G06F21/53G06F21/552
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,684,786
App. No.
14/474,961
Granted
Jun 20, 2017
Kind
B2
Abstract

An application that runs in a process virtual machine is monitored by injecting listening code into a target class of the application. The listening code collects and forwards data to a monitoring agent. The target class is configured for monitoring according to alternative embodiments. In response to the process virtual machine providing notification of an event, such a loading the target class, the listening code may be injected into the target class. In another embodiment, the process virtual machine is configured to load a first minor class containing a minor entry point to the application. A mirror target class is loaded in response to a request to load the target class. The minor target class contains a minor entry point to the target class and the listening code. In another embodiment, listening code may be added to the target class before running the application.

Claims (20)

1. A system for monitoring an application executing on a process virtual machine, the system comprising:

a memory to store a monitoring agent, the process virtual machine, and the application; and

a processor to:

run the monitoring agent, the process virtual machine, and the application;

receive an identification of a target class of the application by the monitoring agent;

configure the target class for monitoring by

injecting listening code into the target class to generate a first minor class, wherein the first mirror class includes a minor entry point to the application, a mirror entry point to the target class and at least a sequence of computer executable code, including the listening code, not present computer executable code of the target class,

integrating the first mirror class into the application, and

configuring the process virtual machine to use a first class loader to load the first mirror class;

load the first mirror class in response to a request to load the target class;

run, subsequent to loading the first mirror class, the listening code, wherein the listening code executes within the first mirror class integrated into the application to collect data and to send the collected data directly to the monitoring agent; and

send the collected data from the monitoring agent to a collector, wherein the collector is operable to analyze the collected data to identify an unauthorized access to the application.

2. The system of claim 1 , wherein the configuring of the target class for monitoring by listening code includes:

configuring the process virtual machine to provide a notification of an event concerning the target class; and

installing the listening code in the target class in response to the notification of the event.

3. The system of claim 2 , wherein the event is related to circumstances associated with a level of risk and the event occurs after the target class has been loaded.

4. The system of claim 1 , wherein the configuring the target class for monitoring by listening code includes:

injecting listening virtual machine code to the target class before running the application.

5. The system of claim 1 , further comprising serializing the collected data by the monitoring agent.

6. The system of claim 1 , wherein the collected data includes a value returned by a target method of the target class.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2014
From: FOLEY, SEAN C.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033652/0203 →
Continuity (2)
Continuation 14226930 · Mar 27, 2014
Related Publication 20150278511A1 · Oct 1, 2015