IP Library Patent Application 11980902
Patent Application
App. No. 11/980,902

System and method for analyzing software applications

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 None
App. No.
11/980,902
Filed
Oct 31, 2007
Examiner
WANG, BEN C
Art Unit
2192
USPC
717/131
Abstract

Techniques are provided to analyze software applications, and in particular, to obtain visibility to the execution of a database application. As the software application issues requests to a database, the system determines based on a first set of programmable parameters whether the requests are of a type to trigger data collection. If so, a second set of programmable parameters are utilized to determine which data, if any, to collect for one or more sub-portions of the request. In one embodiment, the sub-portions are commands recognized by a database management system. Collected data is used to generate visual and textual models of the application.

Claims (37)

1 . A system for analyzing a software application, comprising:

collection enabling logic coupled to intercept application requests issued by the software application, and to determine based on a first set of programmable parameters, whether data collection is to occur for the application requests;

data selection logic coupled to receive the application requests, and if the data collection is to occur, to determine based on a second set of programmable parameters, which data is to be collected for each of one or more portions of the application request; and

retentive storage coupled to store the data to be collected to a file for analysis.

2 . The system of claim 1 , wherein the collection enabling logic is adapted to intercept a user request issued by a user to the software application, and to determine based on the first set of programmable parameters, whether data collection is to occur for any one or more of the application requests resulting from the user request.

3 . The system of claim 2 , wherein the first set of programmable parameters includes any descriptor that describes at least one of the user request and any of the application requests.

4 . The system of claim 1 , further including a user interface device coupled to the collection enabling logic to allow an authorized user to programmably select at least one of the first and the second sets of programmable parameters.

5 . The system of claim 1 , including request interpretation logic to translate each of the application requests into multiple portions.

6 . The system of claim 5 , wherein each of the multiple portions is a command recognizable by a database management system.

7 . The system of claim 1 , and further including a database management system to execute each of the one or more portions of the request by accessing at least one database.

8 . The system of claim 1 , wherein the data to be collected for each of the one or more portions of the application request includes at least one of a group consisting of:

a system name, a file name, a table identifier, a table column, a table row, range of report identifiers, a subroutine name, a function name, a script name, an object name, a data name, a communication path identifier, a device queue identifier, data returned in response to the application request, status returned in response to the application request, and an error code returned in response to the application request.

9 . The system of claim 1 , wherein the first set of parameters includes at least one of a group consisting of an application name, a script name, a station identifier, a run identifier, a user id, a dispatcher, a mode, an enable nesting parameter, a begin time, a begin date, a Boolean logic operator, a Boolean logic equation, a report name, a table column, a record identifier, a record range, a drawer, a cabinet, a database, a database type, a data location, a data processing system ID, a communication network ID, and an ID of a retentive storage device.

10 . The system of claim 1 , wherein the second set of programmable parameters utilizes decisional logic to determine which data is to be collected for at least one of the one or more portions of the application request.

11 . A computer-implemented method for analyzing a software application, comprising:

receiving a user request to initiate execution of a software application;

in response to the user request, issuing by the software application an application request;

determining based on a first set of programmable parameters, whether at least one of the user request and the application request are of a type to trigger data collection;

translating the application request into one or more request portions; and

storing data associated with selected ones of the one or more request portions based on a second set of programmable parameters, the data for use in analyzing the software application.

12 . The method of claim 11 , further including for each of the one or more request portions, determining which data is to be stored for the request portion based on corresponding ones of the second set of programmable parameters.

13 . The method of claim 12 , and further including allowing an authorized user to select at least one of the first set and the second set of programmable parameters.

14 . The method of claim 11 , wherein the translating of the application request includes translating the application request into one or more commands recognized by a DataBase Management System (DBMS).

15 . The method of claim 14 , wherein the DBMS issues one or more queries to one or more databases, and wherein the storing of data includes at least one of storing selected data describing the one or more queries and storing selected data describing a response to the one or more queries.

16 . The method of claim 11 , including at least one of:

using the stored data to automatically generate a pictorial representation of the software application; and using the stored data to automatically generate a textual representation of the software application.

17 . The method of claim 11 , further including defining a disabling event, the occurrence of which disables at least one of the determining and the storing data.

18 . The method of claim 17 , wherein the disabling event is defined using one or more of the first set of programmable parameters.

19 . The method of claim 11 , further including issuing, by an authorized user, a command to enable the determining and the storing data.

20 . A digital medium storing instructions to cause the data processing system to execute a method, comprising:

issuing, by a software application, an application request;

determining based on a first set of programmable parameters, whether the application request is of a type to trigger data collection;

translating the application request into multiple request portions;

using a second set of programmable parameters to determine, for each of the multiple request portions, if data is to be collected for analysis for the portion, and if so, which data is to be collected for analysis of the portion; and

storing, for each of the one or more request portions, any data to be collected for the portion for use in analyzing the software application.

21 . The method of claim 20 , wherein the application request is a script issued to a database management system, and wherein the translating includes translating the application request into multiple commands recognized by the database management system.

22 . The method of claim 21 , wherein the second set of programmable parameters selects for storing, for at least some of the multiple commands, at least one of a data item that is associated with a database query resulting from the command and a data item associated with a response issued as a result of the database query.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
SECURITY AGREEMENT Recorded Jun 27, 2011
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 026509/0001 →
RELEASE BY SECURED PARTY Recorded Sep 14, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023263/0631 →
RELEASE BY SECURED PARTY Recorded Jul 31, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023312/0044 →
SUPPLEMENT TO SECURITY AGREEMENT Recorded Mar 6, 2008
From: UNISYS CORPORATION
To: CITIBANK, N.A.
Reel/Frame 020612/0305 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2007
From: ALFORS, JOHN P.; BAIN, WENDY R.; CHRISTENSEN, BARBARA A.
To: UNISYS CORPORATION
Reel/Frame 020123/0001 →