IP Library Granted Patent US 8,707,274
Granted Patent B2
US 8,707,274 · App. 13/083,311 · Granted Apr 22, 2014

System and method for information extraction from within an active application during execution

Inventors: Donn Rochette (Fenton, IA); Ilho Ye (Tenafly, NJ)
Assignee: Appfirst, Inc.
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 8,707,274
App. No.
13/083,311
Granted
Apr 22, 2014
Kind
B2
Abstract

A system and method for providing detailed information about how a software application is running has a processor and memory including a shared memory. The method provides an automated way of extracting information from a first software application having a plurality of libraries as the application executes. A special library used to interrogate an execution application is placed in the execution path but does not use I/O resources while it is extracting information about an executing software application. An intercept causes the special library to execute, and information is seamless provided to an output device during execution of the interrogated application.

Claims (24)

1. In a computer system, having a processor and memory, a method of extracting information from a first software application within the memory having a plurality of libraries, as the first software application executes, comprising the ordered steps of:

a) configuring a dynamic loader to load one or more of the plurality of libraries and a first library into the memory, wherein the first library includes software for extracting the information;

b) causing the dynamic loader to load the one or more of the plurality of libraries and the first library into the memory;

c) using an intercept without using an interrupt so as to cause the instructions within the first library for extracting the information that were loaded into the memory to be inserted into an execution path of the first software application;

d) executing in user mode all instructions in the first library for extracting information, in the absence of executing any I/O instructions, and without locking or synchronization operations;

e) extracting the information while instructions within the first library are executing by placing the information into the memory; and,

f) exporting the information by using a second software application to distribute the information from the memory to another location.

2. A method as defined in claim 1 , wherein instructions executed within the first library related to extracting the information consume less than 5% of CPU resources available for the first software application to execute.

3. A method as defined in claim 1 , wherein memory that is allocated in dynamic fashion during the execution of the software within the first library is less than 500 hundred bytes.

4. A method as defined in claim 1 , wherein the step of exporting is performed while the first and second software applications are in a same run queue.

5. A method as defined in claim 4 , wherein information extracted from the first software application is organized by memory management software within the first library to accommodate extracted information which is of variable length to reside in a memory of a fixed size.

6. A method as defined in claim 5 , wherein the second software application extracts the information from the one or more shared memory segments so that the information is available for further processing.

7. A method as defined in claim 5 , wherein the first and second software application are in a same run queue.

8. A method as defined in claim 1 , wherein the first software application is comprised of processes that are loaded into the shared memory during execution of the first software application and wherein in step (c) the intercept causes instructions associated with the first application that would have been executed not to be executed until all instructions within the first library have been exectuted.

9. A method of extracting data from an executing software application without polling and in an aperiodic manner comprising: placing software instructions in the form of a library for extracting information in a shared memory space of the executing software application and using an intercept so as to execute said software instructions in the process of executing the software application while ensuring that I/O instructions are not performed in the process of executing all of the software instructions for extracting information, and displaying graphs compiled from information extracted by the software instructions which provide visual information related to the execution of the software application before the executing software application completes its execution.

10. A system for extracting information from an executing software application having a plurality of libraries running on a computer having a processor and memory that includes a shared memory, the system for extracting information comprising:

a) a loadable and readable software application characterizing library;

b) executable software instructions to configure a loader to load the software application characterizing library into the shared memory;

c) software for retrieving from the shared memory and for exporting the extracted information to another destination;

wherein the software application characterizing library has intercept logic, which does not use any interrupt, for causing functions within the software application characterizing library to execute before or after functions or instructions within the plurality libraries, and wherein the software application characterizing library has instructions to extract information related to the executing software application, and wherein the software application characterizing library has instructions for placing the extracted information into the shared memory, and wherein the software application characterizing library is absent any I/O instructions.

11. A system as defined in claim 10 , wherein the software application characterizing library; and the software instructions to configure the loader to load the software application characterizing library into the shared memory are stored in a recording medium.

12. A system as defined in claim 10 , wherein the software application characterizing library; and the software instructions to configure the loader to load the software application characterizing library into the shared memory reside on a server for transmission over the internet.

13. A system as defined in claim 10 , further comprising software for analyzing and graphing the extracted information stored in the other destination, wherein the graphical information depicts the software application as a collection of processes executing on plurality of servers.

14. A system as defined in claim 10 , wherein a plurality of processes running on plurality of servers are aggregated into single set of data.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Sep 12, 2023
From: PACIFIC WESTERN BANK
To: SCIENCELOGIC, INC.
Reel/Frame 064879/0499 →
SECURITY INTEREST Recorded Sep 12, 2023
From: SCIENCELOGIC, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 064877/0828 →
RELEASE OF SECURITY INTEREST Recorded Jan 21, 2021
From: ORIX GROWTH CAPITAL, LLC
To: SCIENCELOGIC, INC.
Reel/Frame 054981/0871 →
SECURITY INTEREST Recorded Jan 19, 2021
From: SCIENCELOGIC, INC.; SCIENCELOGIC FEDERAL SOLUTIONS, LLC
To: SILVER LAKE WATERMAN FUND II, L.P., AS AGENT
Reel/Frame 054954/0640 →
SECURITY INTEREST Recorded May 23, 2019
From: SCIENCELOGIC, INC.
To: ORIX GROWTH CAPITAL, LLC
Reel/Frame 049272/0342 →
SECURITY INTEREST Recorded Aug 30, 2018
From: SCIENCELOGIC, INC.
To: PACIFIC WESTERN BANK
Reel/Frame 046753/0312 →
RELEASE OF SECURITY INTEREST Recorded Aug 27, 2018
From: SILICON VALLEY BANK
To: SCIENCELOGIC, INC.
Reel/Frame 046713/0177 →
AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 25, 2017
From: SCIENCELOGIC, INC.
To: SILICON VALLEY BANK
Reel/Frame 043674/0039 →
SECURITY INTEREST Recorded Jul 18, 2016
From: SCIENCELOGIC, INC.
To: SILICON VALLEY BANK
Reel/Frame 039177/0972 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2016
From: APPFIRST, INC.
To: SCIENCELOGIC, INC.
Reel/Frame 039057/0535 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2011
From: ROCHETTE, DONN; YE, ILHO
To: APPFIRST, INC.
Reel/Frame 026099/0328 →
Continuity (2)
Provisional Application 61322753 · Apr 9, 2010
Related Publication 20110252407A1 · Oct 13, 2011