IP Library › Granted Patent US 10,540,523
Granted Patent B2
US 10,540,523 · App. 15/498,244 · Granted Jan 21, 2020

Comprehensive system wide cross-reference mechanism using runtime data collection

Inventors: Mark J. Anderson (Oronoco, MN); Scott Forstie (Rochester, MN); Jeffrey M. Uehling (Saint Charles, MO)
Assignee: International Business Machines Corporation
G06F21/6281
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 10,540,523
App. No.
15/498,244
Granted
Jan 21, 2020
Kind
B2
Abstract

Systems, methods, and computer program products to perform an operation comprising receiving, from an application executing on a system, a request to access a data file, wherein the data file is referenced by a variable name in a source code of the application, receiving data describing the request, wherein the data describing the request is obtained from a runtime stack of the application and includes a name of the application and a name of the data file, wherein the name of the data file is used as a value for the variable name, and storing an indication that the application accessed the data file in a cross-reference data store for the system.

Claims (53)

1. A method, comprising:

receiving, from an application executing on a system, a request to access a data file, wherein the data file is referenced by a variable name in a source code of the application;

receiving data describing the request, wherein the data describing the request is obtained from a runtime stack of the application and includes a name of the application and a name of the data file, wherein the name of the data file is used as a value for the variable name;

referencing a cross-reference data store for the system using at least the name of the application and the name of the data file; and

upon determining that an entry in the cross-reference data store associating the name of the application and the name of the data file does not exist, storing an indication that the application accessed the data file in the cross-reference data store for the system.

2. The method of claim 1 , wherein the data describing the request includes a program statement number of the application, wherein the program statement number corresponds to an instruction associated with the request, wherein the data describing the request further includes an indication of: (i) a user executing the application, (ii) a most recent program in the runtime stack, (iii) a set of authority permissions required to access the data file, (iv) an actual set of authority permissions the user has to the data file, and (v) an authority source of the actual set of authority permissions the user has to the data file.

3. The method of claim 2 , wherein the indication that the application accessed the data file stored in the cross-reference data store comprises: (i) the name of the application, (ii) the name of the data file, (iii) the user executing the application, (iv) the program statement number of the application, (v) the most recent program in the runtime stack, (vi) the set of authority permissions required to access the data file, (vii) the actual set of authority permissions the user has to the data file, and (viii) the authority source of the actual set of authority permissions the user has to the data file.

4. The method of claim 1 , further comprising prior to storing the indication:

referencing the cross-reference data store using at least the name of the application and the name of the data file; and

determining that an entry in the cross-reference data store associating the name of the application and the name of the data file does not exist.

5. The method of claim 1 , wherein a background process receives the data describing the request and stores the indication that the application accessed the data file in the cross-reference data store for the system.

6. The method of claim 1 , further comprising:

receiving, from a second application, a second request to access the data file, wherein the data file is referenced by a variable name in a source code of the second application;

receiving data describing the second request, wherein the data describing the second request is obtained from a runtime stack of the second application and includes a name of the second application and the name of the data file, wherein the name of the data file is used as a value for a variable name;

referencing the cross-reference data store using at least the name of the second application and the name of the data file; and

upon determining that an entry in the cross-reference data store associating the name of the second application and the name of the data file does not exist, creating a second entry in the cross-reference data store associating the name of the second application and the name of the data file.

7. The method of claim 1 , wherein the data describing the request is obtained based on a system object call into an operating system kernel.

8. A computer program product, comprising:

a computer-readable storage medium having computer readable program code embodied therewith, the computer readable program code executable by a processor to perform an operation comprising:

receiving, from an application executing on a system, a request to access a data file, wherein the data file is referenced by a variable name in a source code of the application;

receiving data describing the request, wherein the data describing the request is obtained from a runtime stack of the application and includes a name of the application and a name of the data file, wherein the name of the data file is used as a value for the variable name;

referencing a cross-reference data store for the system using at least the name of the application and the name of the data file; and

upon determining that an entry in the cross-reference data store associating the name of the application and the name of the data file does not exist, storing an indication that the application accessed the data file in the cross-reference data store for the system.

9. The computer program product of claim 8 , wherein the data describing the request includes a program statement number of the application, wherein the program statement number corresponds to an instruction associated with the request, wherein the data describing the request further includes an indication of: (i) a user executing the application, (ii) a most recent program in the runtime stack, (iii) a set of authority permissions required to access the data file, (iv) an actual set of authority permissions the user has to the data file, and (v) an authority source of the actual set of authority permissions the user has to the data file.

10. The computer program product of claim 9 , wherein the indication that the application accessed the data file stored in the cross-reference data store comprises: (i) the name of the application, (ii) the name of the data file, (iii) the user executing the application, (iv) the program statement number of the application, (v) the most recent program in the runtime stack, (vi) the set of authority permissions required to access the data file, (vii) the actual set of authority permissions the user has to the data file, and (viii) the authority source of the actual set of authority permissions the user has to the data file.

11. The computer program product of claim 8 , the operation further comprising prior to storing the indication:

referencing the cross-reference data store using at least the name of the application and the name of the data file; and

determining that an entry in the cross-reference data store associating the name of the application and the name of the data file does not exist.

12. The computer program product of claim 8 , wherein a background process receives the data describing the request and stores the indication that the application accessed the data file in the cross-reference data store for the system.

13. The computer program product of claim 8 , the operation further comprising:

receiving, from a second application, a second request to access the data file, wherein the data file is referenced by a variable name in a source code of the second application;

receiving data describing the second request, wherein the data describing the second request is obtained from a runtime stack of the second application and includes a name of the second application and the name of the data file, wherein the name of the data file is used as a value for a variable name;

referencing the cross-reference data store using at least the name of the second application and the name of the data file; and

upon determining that an entry in the cross-reference data store associating the name of the second application and the name of the data file does not exist, creating a second entry in the cross-reference data store associating the name of the second application and the name of the data file.

14. The computer program product of claim 8 , wherein the data describing the request is obtained based on a system object call into an operating system kernel.

15. A system, comprising:

a processor; and

a memory storing one or more instructions which, when executed by the processor, performs an operation comprising:

receiving, from an application executing on a system, a request to access a data file, wherein the data file is referenced by a variable name in a source code of the application;

receiving data describing the request, wherein the data describing the request is obtained from a runtime stack of the application and includes a name of the application and a name of the data file, wherein the name of the data file is used as a value for the variable name;

referencing a cross-reference data store for the system using at least the name of the application and the name of the data file; and

upon determining that an entry in the cross-reference data store associating the name of the application and the name of the data file does not exist, storing an indication that the application accessed the data file in the cross-reference data store for the system.

16. The system of claim 15 , wherein the data describing the request includes a program statement number of the application, wherein the program statement number corresponds to an instruction associated with the request, wherein the data describing the request further includes an indication of: (i) a user executing the application, (ii) a most recent program in the runtime stack, (iii) a set of authority permissions required to access the data file, (iv) an actual set of authority permissions the user has to the data file, and (v) an authority source of the actual set of authority permissions the user has to the data file.

17. The system of claim 16 , wherein the indication that the application accessed the data file stored in the cross-reference data store comprises: (i) the name of the application, (ii) the name of the data file, (iii) the user executing the application, (iv) the program statement number of the application, (v) the most recent program in the runtime stack, (vi) the set of authority permissions required to access the data file, (vii) the actual set of authority permissions the user has to the data file, and (viii) the authority source of the actual set of authority permissions the user has to the data file.

18. The system of claim 15 , the operation further comprising prior to storing the indication:

referencing the cross-reference data store using at least the name of the application and the name of the data file; and

determining that an entry in the cross-reference data store associating the name of the application and the name of the data file does not exist.

19. The system of claim 15 , wherein a background process receives the data describing the request and stores the indication that the application accessed the data file in the cross-reference data store for the system.

20. The system of claim 15 , wherein the data describing the request is obtained based on a system object call into an operating system kernel, the operation further comprising:

receiving, from a second application, a second request to access the data file, wherein the data file is referenced by a variable name in a source code of the second application;

receiving data describing the second request, wherein the data describing the second request is obtained from a runtime stack of the second application and includes a name of the second application and the name of the data file, wherein the name of the data file is used as a value for a variable name;

referencing the cross-reference data store using at least the name of the second application and the name of the data file; and

upon determining that an entry in the cross-reference data store associating the name of the second application and the name of the data file does not exist, creating a second entry in the cross-reference data store associating the name of the second application and the name of the data file.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2017
From: ANDERSON, MARK J.; FORSTIE, SCOTT; UEHLING, JEFFREY M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 042156/0244 →
Continuity (1)
Related Publication 20180314843A1 · Nov 1, 2018