Plate usage analysis

DE102016100034B4Active Publication Date: 2025-02-06KYNDRYL INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
DE102016100034
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2015-01-15
Filing Date
2016-01-04
Publication Date
2025-02-06
Estimated Expiration
2036-01-04

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

An approach for monitoring disk usage at the object level is provided. First, the size of an object on a System i data processing platform is determined by calling an application programming interface (API). The object is either an object of an integrated file system or a library containing other objects on the System i platform. Second, the object's size is determined by calling the API again. The difference between the first and second sizes is calculated. If this difference exceeds a threshold, a notification is sent.The notification indicates that the object has experienced a size increase that exceeds the threshold and specifies the size increase at a level of the object, which differs from a size increase at a level of an additional storage pool on the System i platform.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELDThe present invention relates to managing usage of computer resources and, more particularly, to automatically monitoring object-level disk usage.BACKGROUNDKnown techniques for monitoring disk usage for systems executing the IBM i operating system utilize auxiliary storage pool (ASP) monitoring. An ASP is a group of disk drives on a system i ®- platform (also referred to as iSerie ®- platform). By grouping disk drives into an ASP, data is arranged to limit the effect of memory unit failures and reduce recovery time. When a disk failure occurs, only the data needs to be restored to the ASP containing the failed unit. ASPs can also isolate objects with similar performance characteristics and thereby improve performance. In the system i ®- platform, usually all disk drives are assigned to a single ASP. The system i ®- and iSerie ®- platforms are computer system platforms offered by International Business Machines Corporation, located in Armonk, New York. System i ® and iSerie ® are registered trademarks of International Business Machines Corporation.Monitoring at the ASP level tracks an increase in size of disk usage at the ASP level, but not at the level of an actual library or object created on the ASP. One known way of monitoring disk usage at the ASP level is a manual approach that involves logging into the system i ®- ASP to analyze which library or object caused the monitored size increase of the ASP.Generating a spool disk usage report using known disk usage monitoring techniques takes considerable time, usually four to 17 hours, thereby making real-time disk usage data unavailable. To generate the disk usage report, the PRTDIRINF / RTVDIRINF commands and / or the PRTDSKINF / RTVDSKINF commands are used. The command PRTDIRINF (also referred to as Print Directory Information (print directory data)) prints attributes of objects in the integrated file system, the attributes of the objects being collected by the command RTVDIRINF (also referred to as Retrieve Directory Information (retrieve directory data)). The command PRTDSKINF (also referred to as Print Disk Information (Print Disk Data)) prints disk place data that has been stored in a database file by the command RTVDSKINF (also referred to as Retrieve Disk Information (Retrieve Disk Data)).Because of the considerable time to generate the disk usage report using known techniques, the analysis of the disk usage data must be shifted out, which increases a risk of failures or errors in achieving goals of quality of service agreements.Document US 5 649 095 A describes a method and apparatus for scanning files on computer viruses using the length of at least a part (e.g. a split, "fork") of a file.The entry "Programming Interface" from Wikipedia, the Free Encyclopedia, Processing State: 04.01.2015 at 11:09 am, called on 21.11.2016 under the URL https: / / de.wikipedia.org / w / index.phptite=Programmier Interface&old=137404799, describes programming interfaces ("application programming interfaces", APIs).SUMMARYIn a first embodiment, the present invention provides a method for monitoring disk usage at an object level. The method includes where a computer, at a first time, determines a first size of an object on a system i ®- platform by invoking an application programming interface (API). The object is (1) an object in an integrated file system (IFS) or (2) a library that includes other objects that are named storage areas on the system i ®- platform. The method further includes the computer determining a second size of the object by invoking the API at a second time. The second time follows the first time, and the second quantity is greater than the first quantity. The method further includes the computer determining a difference between the first and second quantities. The method further includes the computer determining whether the difference exceeds a threshold difference. The method further includes the computer sending a notification of the object whose size has increased to exceed the threshold difference due to the difference exceeding the threshold difference. The notification indicates the size increase at a level of the object that is different from a size increase at a level of an auxiliary storage pool on the system i ®- platform.In a first aspect of the present invention, the steps of determining the first size of the object and the second size of the object do not employ the commands RTVDSKINF, PRTDSKINF, RTVDIRINF or PRTDIRINF.In a second aspect of the present invention, the method further includes the computer periodically and automatically monitoring sizes of objects in the IFS, thereby determining sizes of the objects in the IFS on multiple data and storing the sizes of the objects in the IFS on multiple data in a data repository. The method further includes the computer receiving, via an interface, a selection of a comparison of sizes of the objects in the IFS by a user at a beginning date and an ending date. The method further includes the computer receiving, via the interface, the beginning date and the ending date entered by the user. The start and end data are included in the plurality of data. The method further includes the computer retrieving the sizes of the objects at the beginning and end dates from the data repository. The method further includes the computer determining differences between the sizes of the objects at the beginning date and respective sizes of the objects at the end date. The method further includes the computer presenting the differences and sizes of the objects at the beginning and end dates. The method further includes the computer generating and transmitting a report including the differences and sizes of the objects at the beginning and end dates.In a third aspect of the present invention, the method further includes the computer periodically and automatically monitoring sizes of libraries on the system i ®- platform, thereby determining sizes of the libraries on a plurality of data and storing the sizes of the libraries on the plurality of data in a data repository. The method further includes the computer receiving, via an interface, a selection of a comparison of sizes of the libraries by a user at a beginning date and an ending date. The method further includes the computer receiving, via the interface, the beginning date and the ending date entered by the user. The start and end data are included in the plurality of data. The method further includes the computer retrieving the sizes of the libraries from the data repository at the beginning and end dates. The method further includes the computer determining differences between the sizes of the libraries at the beginning date and respective sizes of the libraries at the end date. The method further includes the computer presenting the differences and sizes of the objects at the beginning and end dates. The method further includes the computer generating and transmitting a report including the differences and sizes of the objects at the beginning and end dates.In a fourth aspect of the present invention, the method further includes the computer receiving, via an interface, a selection of a real-time comparison of sizes of objects by a user in an integrated file system (IFS) on the system i ®- platform at a beginning date and a current time. The method further includes the computer receiving, via the interface, the beginning date entered by the user. The method further includes the computer invoking an application programming interface (API) on the system i ®- platform that relates the sizes of the objects at the beginning date and current time. The method further includes the computer determining differences between the sizes of the objects at the beginning date and respective sizes of the objects at the current time. The method further includes the computer presenting the differences and sizes of the objects at the beginning date and current time. The method further includes the computer generating and sending a report including the differences and sizes of the objects at the beginning date and current time.In a fifth aspect of the present invention, the method further includes the computer receiving, via an interface, a selection of a real-time comparison of sizes of libraries by a user at a beginning date and a current time. The method further includes the computer receiving, via the interface, the beginning date entered by the user. The method further includes the computer invoking an application programming interface (API) on the system i platform that relates the sizes of the libraries at the beginning date and current time. The method further includes the computer determining differences between the sizes of the libraries at the beginning date and respective sizes of the libraries at the current time. The method further includes the computer presenting the differences and sizes of the objects at the beginning date and current time. The method further includes the computer generating and sending a report including the differences and sizes of the objects at the beginning date and current time.In a sixth aspect of the present invention, in the steps of determining the first and second quantities, determining the difference does not include manually logging into a system on the system i platform to determine the first and second quantities.In a second embodiment, the present invention provides a computer system including a central processing unit (CPU); a memory connected to the CPU; and a computer readable storage unit connected to the CPU. The storage unit includes instructions executed by the CPU via the memory to implement a method for automatically monitoring disk usage at an object level. The method includes where the computer system, at a first time, determines a first size of an object on a system i ®- platform by invoking an application programming interface (API). The object is (1) an object in an Integrated File System (IFS), or (2) a library that includes other objects that are named storage areas on the system i ®- platform. The method further includes the computer system determining a second size of the object by invoking the API at a second time. The second time follows the first time, and the second quantity is greater than the first quantity. The method further includes the computer system determining a difference between the first and second quantities. The method further includes the computer system determining whether the difference exceeds a threshold difference. The method further includes the computer system sending a notification of the object whose size has increased to exceed the threshold difference due to the difference exceeding the threshold difference. The notification indicates the size increase at a level of the object that is different from a size increase at a level of an auxiliary storage pool on the system i ®- platform.In a third embodiment, the present invention provides a computer program product including a computer readable storage unit and computer readable program code stored in the computer readable storage unit. The computer readable program code includes instructions executed by a central processing unit (CPU) of a computer system to implement a method for monitoring disk usage at an object level. The method includes where the computer system, at a first time, determines a first size of an object on a system i ®- platform by invoking an application programming interface (API). The object is (1) an object in an Integrated File System (IFS), or (2) a library that includes other objects that are named storage areas on the system i ®- platform. The method further includes the computer system determining a second size of the object by invoking the API at a second time. The second time follows the first time, and the second quantity is greater than the first quantity. The method further includes the computer system determining a difference between the first and second quantities. The method further includes the computer system determining whether the difference exceeds a threshold difference. The method further includes the computer system sending a notification of the object whose size has increased to exceed the threshold difference due to the difference exceeding the threshold difference. The notification indicates the size increase at a level of the object that is different from a size increase at a level of an auxiliary storage pool on the system i ®- platform.In a fourth embodiment, the present invention provides a method for monitoring disk usage at an object level. The method includes where the computer presents a first option to select a comparison of sizes of objects in an integrated file system (IFS) on the system i ®- platform at a first and a second time, and a second option to select a comparison of sizes of libraries on the system i platform at the first and the second time. The method further includes the computer receiving a selection of the first option or the second option from a user. The method further includes the computer receiving the first time as a user entry of a beginning date. The method further includes the computer either (1) receiving the second time as a user entry of an end date or (2) determining the second time as a current time in response to the user selecting a third option to indicate that the comparison of sizes of objects in the IFS or the comparison of sizes of libraries is a real-time comparison. The method further includes, when the selection of the first option has been received and the final date user entry has been received: (1) the computer retrieving the sizes of the objects at the beginning and the end date from a data repository in which the sizes of the objects at the beginning and the end date have been previously stored by regularly monitoring the sizes of the objects; (2) the computer determining differences between the sizes of the objects at the beginning date and respective sizes of the objects at the end date; and (3) the computer generating and sending a report including the differences and the sizes of the objects at the beginning and the end date. The method further includes, when the selection of the second option has been received and the final date user entry has been received: (1) the computer retrieving the sizes of the libraries at the beginning and the end date from a data repository in which the sizes of the libraries at the beginning and the end date have been previously stored by regularly monitoring the sizes of the libraries; (2) the computer determining differences between the sizes of the libraries at the beginning date and respective sizes of the libraries at the end date; and (3) the computer generating and sending a report including the differences and the sizes of the objects at the beginning and the end date. The method further includes, when the selection of the first option is received and the second time is determined to be the current time: the computer invoking the first API that obtains the sizes of the objects at the beginning date and the current time; the computer determining differences between the sizes of the objects at the beginning date and respective sizes of the objects at the current time; and the computer generating and sending a report that includes the differences and the sizes of the objects at the beginning date and the current time. The method further includes, when the selection of the second option is received and the second time is determined to be the current time: the computer invoking the second API that obtains the sizes of the libraries at the beginning date and the current time; the computer determining differences between the sizes of the libraries at the beginning date and respective sizes of the libraries at the current time; and the computer generating and sending a report that includes the differences and the sizes of the objects at the beginning date and the current time.In a fifth embodiment, the present invention provides a method for monitoring disk usage at an object level. The method includes where a computer, at a first time, determines a first size of an object by invoking an application programming interface (API) provided by a computing platform. The object is (1) a directory in a hierarchical file system provided by the data processing platform, or (2) a library containing other objects that are designated storage areas on the data processing platform. The method further includes the computer determining a second size of the object by invoking the API at a second time. The second time follows the first time, and the second quantity is greater than the first quantity. The method further includes the computer determining a difference between the first and second quantities. The method further includes the computer determining whether the difference exceeds a threshold difference. The method further includes the computer sending a notification of the object whose size has increased to exceed the threshold difference due to the difference exceeding the threshold difference. The notification indicates the size increase at a level of the object.Embodiments and aspects of the present invention summarized above provide a fast and automated approach for monitoring object size data and reporting the data within an hour or less. An automated e Function allows a notification and / or report to be sent automatically by eMail when an increase in size of an object over a specified period of time exceeds a specified threshold for a relative change or percentage change over the specified period of time.BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a block diagram of a system for monitoring disk usage at an object level according to embodiments of the present invention. FIG. 2 is a flow diagram of a process for monitoring disk usage at an object level, the process implemented in the system of FIG. 1, in accordance with embodiments of the present invention. FIGS. 3A through 3B illustrate a flow diagram of a process for determining a size comparison for libraries or objects of an integrated file system, the process implemented in the system of FIG. 1, in accordance with embodiments of the present invention. FIG. 4 is an example of a display that includes comparison of sizes of libraries between a beginning date and an ending date resulting from the process of FIGS. 3A through 3B, in accordance with embodiments of the present invention. FIG. 5 is an example of a display that includes real-time comparison of sizes of libraries resulting from the process of FIGS. 3A through 3B, in accordance with embodiments of the present invention. FIG. 6 is an example of a display including comparison of sizes of directories between a beginning date and an end date resulting from the process of FIGS. 3A to 3B, according to embodiments of the present invention. FIG. 7 is an example of a display that includes real-time comparison of sizes of directories resulting from the process of FIGS. 3A through 3B, in accordance with embodiments of the present invention. FIG. 8 is a block diagram of a computer included in the system of FIG. 1 and implementing the processes of FIGS. 2 and 3A-3B, in accordance with embodiments of the present invention.DETAILED DESCRIPTIONSUMMARYEmbodiments of the present invention utilize system APIs and system programs to automatically track the size increase of individual objects defined on a System i ®- platform, quickly determine whether any of the objects have experienced a sudden and excessive size increase, and automatically send notifications of objects that have experienced a sudden and excessive size increase. Embodiments of the present invention determine an increase in size of individual libraries and / or individual IFS objects (e.g., directories) in a system in one hour or less instead of the four to 17 hours required to determine the increase in size of ASPs in the same system using known techniques. By rapidly detecting one or more particular objects and associated operations responsible for excessive size increase, embodiments allow checking the type of data involved in the excessive size increase and determining whether the type of data indicates that the data may be deleted. For example, the review of a report may indicate that an object showing an excessive and sudden increase in size is a temporary object created during program correction management that can be safely deleted. If the type of data indicates that application data causes the excessive size increase, the reports or notifications generated by embodiments of the present invention allow owners of the application data to query whether the application data may be safely deleted. By countering the excessive size increase by deleting data, embodiments of the present invention prevent situations where a size increase of ASPs beyond critical limits causes a computer system to perform unpredictable or shut down and require a costly and time-consuming restart during which the business is adversely affected. Embodiments discussed herein do not employ the RTVDIRINF, PRTDIRINF, RTVDSKINF, or PRTDSKINF commands used by known techniques for disk usage analysis.As used herein, a library is defined as a system object that serves as a directory for other objects. A library groups related objects and allows a user to search objects for names. On the system i ®- platform, the system recognized identifier for the object type of library is *LIB. An object is defined as a named storage area, which consists of a set of features that it describes data itself and in some cases. An object is all that is present in and occupies an area in memory and on which operations can be performed. Some examples of objects in a library include programs, files, and folders.As used herein, an IFS object is an object located in the hierarchical directory structure provided by an IFS. A directory is a special IFS object used to locate objects by name. Each directory contains a list of objects associated therewith. The list of objects may include one or more other directories.SYSTEM FOR MONITORING DISK USAGE AT OBJECT LEVELFIG. 1 is a block diagram of a system 100 for monitoring disk usage at an object level, in accordance with embodiments of the present invention. The system 100 includes a computer 102 that executes a disk analysis tool 104 based on software. In one embodiment, the computer 102 is a system i ®- computer on which the IBM ® i operating system executes. The disk analysis tool 104 accesses ASPs 106-1,..., 106-N, where N is an integer greater than or equal to one, and uses system programs and APIs to determine the sizes of objects included in the ASPs. The objects included in the ASPs are libraries and / or IFS objects such as directories. The ASP 106- 1 includes an object 108- 1,..., an object 108-K, where K is an integer greater than or equal to one. The ASP 106-N includes an object 110- 1,..., an object 110- M, where M is an integer greater than or equal to one.The disk analysis tool 104 detects and monitors the sizes of the above objects (i.e., libraries or IFS objects) at successive times separated by predetermined time intervals. The disk analysis tool 104 stores the sizes of the above objects and the respective times at which the sizes were acquired in a data storage 111. The disk analysis tool 104 determines the difference between the sizes of each object at the successive times, determines whether the difference exceeds a predetermined threshold difference, and sends a notification 112 if the difference between sizes of the object at the successive times exceeds the threshold difference. As used herein, a difference between magnitudes is a relative difference between the magnitudes or a relative percent difference between the magnitudes. The threshold difference may be a relative threshold difference or a relative percent threshold difference such as 5%.In response to a user command for a disk usage report and an entry of a beginning date and an ending date, the disk analysis tool 104 determines the sizes of objects at the beginning date and the ending date and determines, for each object, the difference between the sizes at the beginning and the ending date. The disk analysis tool 104 generates and presents a report 114 that includes the name of each object, the size at the beginning date, the size at the end date, and the difference between the sizes at the beginning and end dates.In response to a user command for a real-time disk usage report and a date of entry, the disk analysis tool 104 determines the sizes of objects at the date of entry and the current time, and determines, for each object, the difference between the sizes at the date of entry and the current time. The disk analysis tool 104 generates and presents a report 114 that includes the name of each object, the size at the beginning date, the size at the current time, and the difference between the sizes at the beginning date and the current time.The functionality of the components of FIG. 1 will be described in more detail in the discussions that will be presented below with respect to FIGS. 2, 3A-3B, and 8.PROCESS FOR MONITORING DISK USAGE AT OBJECT LEVELFIG. 2 is a flow diagram of a process for monitoring disk usage at an object level, the process implemented in the system of FIG. 1, in accordance with embodiments of the present invention. The process of FIG. 2 begins in step 200. Prior to step 202, the plate analysis tool 104 (see FIG. 1 ) receives a threshold difference. In one embodiment, prior to step 202, the disk analysis tool 104 (see FIG. 1 ) receives a time interval that is the frequency with which the disk analysis tool 104 monitors the sizes of objects (i.e., libraries and / or IFS objects) in the ASP 106- 1,..., 106-N (see FIG. 1 ). For example, if the received time interval is one day, the plate analysis tool 104 (see FIG. 1 ) determines the sizes of the objects once a day.In step 202, the disk analysis tool 104 (see FIG. 1 ) determines a first size of an object on a system i ®- platform (i.e., an object contained in the object 108- 1,..., object 108-K (see FIG. 1 ),..., at a first time. Object 110- 1,..., object 110- M (see FIG. 1 ) is included). The object is a library or an IFS object. To determine the first size of the object, the disk analysis tool 104 (see FIG. 1 ) invokes system programs and one or more APIs. In one embodiment, disk analysis tool 104 (see FIG. 1 ) invokes the following APIs: QIRLIBD to determine the size of a single library, and QRSRSRV to determine sizes of directories and subdirectories. In step 202, the disk analysis tool 104 (see FIG. 1 ) also stores the first size of the object and the first time in a database set or other data structure in the data repository 111 (see FIG. 1 ).In step 204, at a second time, the disk analysis tool 104 (see FIG. 1 ) determines a second size of the object by re-invoking the system programs and the API(s). The second time follows the first time. In one embodiment, the time period between the first and second time points is equal to the time interval received by the plate analysis tool 104 (see FIG. 1 ) prior to step 202. In step 204, the disk analysis tool 104 (see FIG. 1 ) also stores the second size of the object and the second time in a database set or other data structure in the data repository 111 (see FIG. 1 ).In step 206, the plate analysis tool 104 (see FIG. 1 ) determines a difference between the first and second quantities. In the first pass of the process of FIG. 2, the first and second quantities are determined in the most recent executions of steps 202 and 204, respectively. In subsequent runs, the second quantity is determined in the most recent execution of step 204 and the first quantity is determined in step 214, which is described below.In step 208, the plate analysis tool 104 (see FIG. 1 ) determines whether the difference determined in step 206 exceeds the threshold difference. If the disk analysis tool 104 (see FIG. 1 ) determines in step 208 that the difference exceeds the threshold difference, then the yes branch of step 208 is selected and step 210 is performed.In step 210, due to the difference exceeding the threshold difference, the panel analysis tool 104 (see FIG. 1 ) sends (e.g., per eMail) a notification 112 (see FIG. 1 ) of the object having an increase in size between the first and second times that exceeds the threshold difference (i.e., the object has experienced a sudden and excessive increase in size).In step 212, the plate analysis tool 104 (see FIG. 1 ) determines whether to continue monitoring object sizes. If the disk analysis tool 104 (see FIG. 1 ) determines in step 212 that monitoring is to continue, the yes branch of step 212 is selected and step 214 is performed.In step 214, the disk analysis tool 104 (see FIG. 1 ) prepares the next run of the process of FIG. 2 by setting the value for the first time in the next run as the second time in the current run and setting the value of the first size in the next run to become the second size in the current run. Following step 214, the next pass of the process of FIG. 2 begins determining the second quantity at the second time at step 204.Returning to step 212, if the disk analysis tool 104 (see FIG. 1 ) determines that monitoring is not to continue, the no branch of step 212 is selected and the process of FIG. 2 ends at step 216.Returning to step 208, if the disk analysis tool 104 (see FIG. 1 ) determines that the difference does not exceed the threshold difference, the NO branch of step 208 is selected and the process of FIG. 2 continues to step 212 as described above.In one embodiment, the sizes of multiple objects in the system 100 (see FIG. 1 ) are monitored for each of the multiple objects using the steps of the process of FIG. 2.In an alternative embodiment, in an alternative to step 202, the disk analysis tool 104 (see FIG. 1 ) determines a first size of an object at a first time by invoking an API provided by a computing platform other than a System i ®- platform, which is a Unix ®-, IBM ® AlX ®- or Microsoft ®- Windows ®- platform, or a mainframe platform such as System / 390 ® for example. The object is (1) a directory in a hierarchical file system provided by the data processing platform, or (2) a library containing other objects that are designated storage areas on the data processing platform. The disk analysis tool 104 (see FIG. 1 ) stores the first size in the data storage 111 (see FIG. 1 ). In an alternative to step 204, at a second time, the disk analysis tool 104 (see FIG. 1 ) determines a second size of the object by invoking the API. The second time follows the first time, and the second size is greater than the first size. The disk analysis tool 104 (see FIG. 1 ) stores the second size in the data storage 111 (see FIG. 1 ). The descriptions of steps 206, 208, 210, 212, 214 and 216 presented above also apply to the alternative embodiment discussed in this paragraph.FIGS. 3A through 3B illustrate a flow diagram of a process for determining a size comparison for libraries or objects of an integrated file system, the process implemented in the system of FIG. 1, in accordance with embodiments of the present invention. The process of FIGS. 3A to 3B begins in step 300. In step 302, the disk analysis tool 104 (see FIG. 1 ) receives a selection from a user to perform either (1) comparison of sizes of libraries or (2) comparison of sizes of IFS objects. When the disk analysis tool 104 (see FIG. 1 ) receives a selection to perform library sizes comparison, the LIBRARY branch of step 302 is selected and step 304 is performed.In step 304, the disk analysis tool 104 (see FIG. 1 ) determines whether a selection by the user for a real-time comparison of sizes of libraries has been received, rather than a comparison of sizes of the libraries at a beginning date and an ending date that precede the current time. If the disk analysis tool 104 (see FIG. 1 ) determines in step 304 that the user has not selected a real-time comparison of sizes, then the NO branch of step 304 is selected and step 306 is performed.In step 306, the disk analysis tool 104 (see FIG. 1 ) receives the beginning and end dates of user entries at an interface provided by the disk analysis tool 104 (see FIG. 1 ).In step 308, the disk analysis tool 104 (see FIG. 1 ) retrieves from the data repository 111 (see FIG. 1 ) the sizes of the libraries at the beginning and end dates when the beginning and end dates were received in step 306. In one embodiment, the API that is invoked at step 308 is QIRLIBD on the system i ®- platform.In step 310, the plate analysis tool 104 (see FIG. 1 ) determines the actual and relative differences between the sizes of the libraries at the beginning and end dates. In one embodiment, the relative difference between the sizes of a library at the beginning and end dates is a relative percent difference equal (actual difference between the sizes / size of the library at the beginning date)×10%.In step 312, the plate analysis tool 104 (see FIG. 1 ) displays or otherwise displays the differences and sizes of the libraries at the beginning and end dates.In step 314, optional user selections and entries at the interface cause the disk analysis tool 104 (see FIG. 1 ) to arrange the data shown in step 312 (e.g., by the sizes of the libraries at the end date, the name of the library, or the differences in the sizes) and / or search the data shown in step 312 for the name or a portion of the name of the library. Another optional user selection causes the disk analysis tool 104 (see FIG. 1 ) to display details of objects included in a library selected by the user. The details of objects may include their names, sizes, types, creation data, identifiers of the creators, and data of the changes made.In step 316, an optional user selection at the interface causes the disk analysis tool 104 (see FIG. 1 ) to generate a report 114 (see FIG. 1 ) as a spool file report and send the report 114 (see FIG. 1 ) to one or more predetermined eMail addresses. The report includes names of the libraries, sizes of the libraries at the beginning and end dates, and differences between the sizes.In step 318, following step 316, the process of FIGS. 3A through 3B ends.Returning to step 304, if the disk analysis tool 104 (see FIG. 1 ) determines that the user has selected a real-time comparison of library sizes, the yes branch of step 304 is selected and step 320 is performed.In step 320, the disk analysis tool 104 (see FIG. 1 ) receives the beginning date of a user entry at the interface.In step 322, the disk analysis tool 104 (see FIG. 1 ) obtains sizes of the libraries at the beginning date and current time received in step 320. In step 322, the disk analysis tool 104 (see FIG. 1 ) obtains the sizes of the libraries at the current time by one or more calls to an API. In one embodiment, the API that is called in step 322 is QIRLIBD on the system i ®- platform. In step 322, the disk analysis tool 104 (see FIG. 1 ) obtains the sizes of the libraries at the beginning date by retrieving the sizes from the data repository 111 (see FIG. 1 ).In step 324, the plate analysis tool 104 (see FIG. 1 ) determines the actual and relative differences between the sizes of the libraries at the beginning date and current time. In one embodiment, the relative difference between the sizes of a library at the beginning date and the current time is a relative percent difference equal (actual difference between the sizes / size of the library at the beginning date)×10%.In step 326, the disk analysis tool 104 (see FIG. 1 ) displays or otherwise displays the differences determined in step 324 and the sizes of the libraries at the beginning date and current time.In step 328, optional user selections and entries at the interface cause the disk analysis tool 104 (see FIG. 1 ) to arrange the data shown in step 326 (e.g., according to the sizes of the libraries at the current time, the name of the library, or the differences in the sizes) and / or search the data shown in step 326 for the name or a portion of the name of the library. Another optional user selection causes the disk analysis tool 104 (see FIG. 1 ) to display details of objects included in a library selected by the user. The details of objects may include their names, sizes, types, creation data, identifiers of the creators, and data of changes made.In step 330, an optional user selection at the interface causes the disk analysis tool 104 (see FIG. 1 ) to generate a report 114 (see FIG. 1 ) as a spool file report and send the report 114 (see FIG. 1 ) to one or more predetermined eMail addresses. The report includes names of the libraries, sizes of the libraries at the beginning date and current time, and differences between the sizes. Following step 330, the process of FIGS. 3A through 3B ends in step 318.Returning to step 302, when the disk analysis tool 104 (see FIG. 1 ) receives a selection to perform the comparison of sizes of IFS objects, the branch IFS of step 302 is selected and step 332 of FIG. 3B is performed.In step 332, the disk analysis tool 104 (see FIG. 1 ) determines whether a selection has been received by the user for a real-time comparison of sizes of IFS objects, rather than a comparison of sizes of the IFS objects at a beginning date and an end date that precede the current time. If the disk analysis tool 104 (see FIG. 1 ) determines in step 332 that the user has not selected a real-time comparison of sizes, then the NO branch of step 332 is selected and step 334 is performed.In step 334, the disk analysis tool 104 (see FIG. 1 ) receives the beginning and end dates of user entries at an interface provided by the disk analysis tool 104 (see FIG. 1 ).In step 336, the disk analysis tool 104 (see FIG. 1 ) retrieves from the data repository 111 (see FIG. 1 ) the sizes of the IFS objects on the beginning and end dates when the beginning and end dates were received in step 334. In one embodiment, the API that is invoked at step 336 is QRSRV on the system i ®- platform.In step 338, the panel analysis tool 104 (see FIG. 1 ) determines the actual and relative differences between the sizes of the IFS objects at the beginning and end dates. In one embodiment, the relative difference between the sizes of an IFS object at the beginning and end dates is a relative percent difference equal to (actual difference between the sizes / size of the IFS object at the beginning date)×10%.In step 340, the panel analysis tool 104 (see FIG. 1 ) displays or otherwise displays the differences and sizes of the IFS objects at the beginning and end dates.In step 342, optional user selections and entries at the interface cause the disk analysis tool 104 (see FIG. 1 ) to arrange the data shown in step 340 (e.g., according to the sizes of the IFS objects at the end date, the name of the IFS object, or the differences in the sizes) and / or search the data shown in step 340 for a name or part of a name of an IFS object.In step 344, an optional user selection at the interface causes the disk analysis tool 104 (see FIG. 1 ) to generate a report 114 (see FIG. 1 ) as a spool file report and send the report 114 (see FIG. 1 ) to one or more predetermined eMail addresses. The report includes names of the IFS objects, sizes of the IFS objects at the beginning and end dates, and differences between the sizes.The process of FIGS. 3A through 3B ends in step 346, which follows step 344.Returning to step 332, if the disk analysis tool 104 (see FIG. 1 ) received a user selection of a real-time comparison of sizes of IFS objects, branch Yes from step 332 is selected and step 348 is performed.In step 348, the disk analysis tool 104 (see FIG. 1 ) receives the beginning date of a user entry at an interface provided by the disk analysis tool 104 (see FIG. 1 ).In step 350, the disk analysis tool 104 (see FIG. 1 ) obtains sizes of the IFS objects at the beginning date and current time received in step 352. In step 350, the disk analysis tool 104 (see FIG. 1 ) obtains the sizes of the IFS objects at the current time by one or more calls to an API. In one embodiment, the API that is called in step 350 is QRSRSRV on the system i ®- platform. In step 350, the disk analysis tool 104 (see FIG. 1 ) obtains the sizes of the IFS objects at the beginning date by retrieving the sizes from the data repository 111 (see FIG. 1 ).In step 352, the panel analysis tool 104 (see FIG. 1 ) determines the actual and relative differences between the sizes of the IFS objects at the beginning date and current time. In one embodiment, the relative difference between the sizes of an IFS object at the beginning date and the current time is a relative percent difference equal to (actual difference between the sizes / size of the IFS object at the beginning date)×10%.In step 354, the panel analysis tool 104 (see FIG. 1 ) displays or otherwise displays the differences and sizes of the IFS objects at the beginning and end dates.In step 356, optional user selections and entries at the interface cause the disk analysis tool 104 (see FIG. 1 ) to arrange the data shown in step 354 (e.g., according to the sizes of the IFS objects at the current time, the name of the IFS object, or the differences in the sizes) and / or search the data shown in step 354 for a name or part of a name of an IFS object.In step 358, an optional user selection at the interface causes the disk analysis tool 104 (see FIG. 1 ) to generate a report 114 (see FIG. 1 ) as a spool file report and send the report 114 (see FIG. 1 ) to one or more predetermined eMail addresses. The report includes names of the IFS objects, sizes of the IFS objects at the beginning date and current time, and differences between the sizes.The process of FIGS. 3A through 3B ends in step 346, which follows step 358.EXAMPLESFIG. 4 is an example of a display 400 that includes a comparison of sizes of libraries between a beginning date and an ending date resulting from the process of FIGS. 3A through 3B, in accordance with embodiments of the present invention. The display 400 is a report including October 6, 2014 as the beginning date, October 7, 2014 as the ending date, library names, sizes of the libraries at the beginning and ending dates, absolute differences between the sizes of the libraries at the beginning and ending dates (i.e., the values below the column labeled "difference"), and relative percent differences between the sizes at the beginning and ending dates (i.e., the values below the column labeled "% difference"). For the library named QASDLIB1, the display 400 includes, for example, a size of 49.975 MB at the beginning date, a size of 56.422 MB at the end date, an absolute difference of 6.447 MB (i.e., the size at the end date - the size at the beginning date or 56.422 MB - 49.975 MB), and a relative percent difference of 12.90% (i.e., (the absolute difference divided by the size of the library at the beginning date)×10% or (6.447 MB / 49.975 MB)×10%). Display 400 is an example of the report generated in step 316 (see FIG. 3A ).FIG. 5 is an example of a display 500 that includes real-time comparison of sizes of libraries resulting from the process of FIGS. 3A through 3B, in accordance with embodiments of the present invention. The display 500 is a report including October 6, 2014 as a start date and 19:05:22 as a current time on October 8, 2014. The display 500 further includes library names, sizes of the libraries at the beginning date and current time (i.e., the values among the columns labeled "beginning date" and "ending date", respectively), absolute differences between the sizes of the libraries at the beginning date and current time (i.e., the values among the column labeled "difference"), and relative percent differences between the sizes at the beginning date and current time (i.e., the values among the column labeled "% difference"). For example, for the library named QUSRSYS, the display 500 includes a size of 210.284 MB at the beginning date, a size of 616.570 MB at the current time, an absolute difference of 406.286 MB (i.e., the size at the current time - the size at the beginning date or 616.570 MB - 210.284 MB), and a relative percent difference of 193.20% (i.e., (the absolute difference divided by the size of the library at the beginning date)×10% or (406.286 MB / 210.284 MB)×10%). The display 500 is an example of the report generated in step 330 (see FIG. 3A ).FIG. 6 is an example of a display 600 that includes a comparison of sizes of directories between a beginning date and an end date resulting from the process of FIGS. 3A to 3B, according to embodiments of the present invention. The display 600 is a report including October 6, 2014 as the beginning date, October 7, 2014 as the ending date, directory names, sizes of directories at the beginning and ending date, absolute differences between the sizes of directories at the beginning and ending date (i.e., the values under the column labeled "difference"), and relative percent differences between the sizes of directories at the beginning and ending date (i.e., the values under the column labeled "% difference"). For the directory named ERRORS, the display 600 includes, for example, a size of 49 MB at the beginning date, a size of 50 MB at the end date, an absolute difference of 1 MB (i.e., the size at the end date - the size at the beginning date or 50 MB - 49 MB), and a relative percent difference of 2.04% (i.e., (the absolute difference divided by the size of the directory at the beginning date)×10% or (1 MB / 49 MB)×10%). Display 600 is an example of the report generated in step 344 (see FIG. 3B ).FIG. 7 is an example of a display 700 that includes real-time comparison of sizes of directories resulting from the process of FIGS. 3A through 3B, in accordance with embodiments of the present invention. The display 700 is a report including October 6, 2014 as a start date and 19:22:27 as a current time on October 8, 2014. The display 700 further includes directory names, sizes of directories at the beginning date and current time (i.e., the values among the columns labeled "beginning date" and "ending date", respectively), absolute differences between the sizes of directories at the beginning date and current time (i.e., the values among the column labeled "difference"), and relative percent differences between the sizes at the beginning date and current time (i.e., the values among the column labeled "% difference"). For example, for the directory named ERRORS, the display 700 includes a size of 49 MB at the beginning date, a size of 53 MB at the current time, an absolute difference of 4 MB (i.e., the size at the current time - the size at the beginning date or 53 MB - 49 MB), and a relative percent difference of 8.16% (i.e., (the absolute difference divided by the size of the directory at the beginning date)×10% or (4 MB / 49 MB)×10%). Display 700 is an example of the report generated in step 358 (see FIG. 3B ).COMPUTER SYSTEMFIG. 8 is a block diagram of a computer included in the system of FIG. 1 and implementing the processes of FIGS. 2 and 3A-3B, in accordance with embodiments of the present invention. The computer 102 is a computer system generally including a central processing unit (CPU) 802, a memory 804, an input / output (I / O) interface 806, and a bus 808. Further, the computer 102 is connected to I / O units 810 and a computer data storage unit 812. The CPU 802 performs computing and control functions of the computer 102, including executing instructions included in the program 814 to perform a method of monitoring disk usage at an object level, the instructions being executed by the CPU 802 via the memory 804. The CPU 802 may include a single processing unit or may be distributed across one or more processing units at one or more locations (e.g., on a client and a server). The program code 814 includes program code for the software-based components of the computer 102, such as a disk analysis tool 104 (see FIG. 1 ).The memory 804 includes a known computer readable storage medium, which will be described below. In one embodiment, cache memory elements of memory 804 provide temporary storage of at least a portion of program code (e.g., program code 814) to reduce the number of times code must be retrieved from mass storage while instructions of the program code are executed. Moreover, similar to CPU 802, memory 804 may be located in a single physical location and may include one or more types of data storage or distributed over a plurality of physical systems in various forms. Further, the memory 804 may include data distributed over, for example, a local area network (LAN) or a wide area network (WAN).I / O interface 806 includes any system for exchanging data with an external source. I / O devices 810 include any known type of external device, including a display device, keyboard, etc. Bus 808 provides a communication link between the respective components in computer 102, and may include any type of communication link, including electrical, optical, wireless, etc.The I / O interface 806 also allows the computer 102 to store data (e.g., data or program instructions such as the program code 814) in or retrieve the data from the computer data storage unit 812 or another computer data storage unit (not shown). The computer data storage unit 812 includes a known computer readable storage medium, which will be described below. In one embodiment, the computer data storage unit 812 is a non-volatile data storage unit such as a magnetic disk drive (i.e., a hard disk drive) or an optical disk drive (e.g., a CD-ROM drive that receives a CD-ROM disk).The memory 804 and / or the storage unit 812 may store computer program code 814 including instructions that are executed via the memory 804 by the CPU 802 to monitor disk usage at an object level. Although FIG. 8 illustrates the memory 804 as including the program code 814, the present invention contemplates embodiments where the memory 804 does not include all of the code 814 simultaneously, but instead includes only a portion of the code 814 at a time.Further, the memory 804 includes an operating system (not shown) and may include other systems not shown in FIG. 8. In one embodiment, the operating system is the IBM ® i operating system.The storage unit 812 and / or one or more other computer data storage units (not shown) connected to the computer 102 may include the ASP 106-1,..., ASP 106-N (see FIG. 1 ).As will be apparent to one skilled in the art, in a first embodiment, the present invention may be a system; in a second embodiment, the present invention may be a method; and in a third embodiment, the present invention may be a computer program product.Any of the components of an embodiment of the present invention may be implemented, managed, maintained, etc. by a service provider offering to implement or integrate a data processing infrastructure with a view to monitoring disk usage at an object level. Thus, an embodiment of the present invention discloses a process for supporting a computer infrastructure, the process including providing at least one support service for integrating, providing hosting, maintaining, and / or implementing computer readable code (e.g., program code 814) in a computer system (e.g., computer 102) including one or more processors (e.g., CPU 802), the processor(s) executing / executing instructions included in the code that cause the computer system to monitor disk usage at an object level. Another embodiment discloses a process for supporting a computer infrastructure, the process including incorporating computer readable program code into a computer system including a processor. The step of integrating includes storing the program code in a computer readable storage unit of the computer system using the processor. The program code, when executed by the processor, implements a method for monitoring disk usage at an object level.Although it is understood that program code 814 for monitoring disk usage at an object level may be implemented by manually loading directly into client, server, and proxy computers (not shown) by loading a computer readable storage medium (e.g., computer data storage unit 812), program code 814 may also be implemented automatically or semi-automatically by sending program code 814 to a central server or group of central servers in computer 102. Program code 814 is then downloaded to client computers (e.g., computer 102) that execute program code 814. Alternatively, the program code 814 is sent directly to the client computer via eMail. Program code 814 is then either released into a directory on the client computer or loaded directly into a directory on the client computer by a button in the eMail executing a program releasing program code 814 into a directory. Another alternative is to send the program code 814 directly to a directory on the client computer hard disk. If proxy servers are present, the process selects the proxy server code, determines on which computers the proxy server code is to be placed, transmits the proxy server code, and installs the proxy server code on the proxy computer. The program code 814 is transmitted to the proxy server and then stored on the proxy server.Another embodiment of the invention provides a method that performs the process steps based on a subscription, advertisement, and / or a fee. That is, a service provider such as a solution integrator may offer to create, manage, support, etc. a process for monitoring disk usage at an object level. In turn, the service provider may receive a payment from the customer / s in a subscription and / or billing agreement, and / or the service provider may receive a payment from selling advertising content to one or more third parties.The present invention may be a system, a method and / or a computer program product. The computer program product may include a computer readable storage medium (or media) (the memory 804 and the computer data storage unit 812) having thereon computer readable program instructions 814 that cause a processor (e.g., the CPU 802) to perform aspects of the present invention.The computer readable storage medium (i.e., computer readable storage unit) may be a tangible device that can maintain and store instructions (e.g., program code 814) for use by an instruction execution unit. The computer readable storage medium may be, for example, but is not limited to, an electronic storage unit, a magnetic storage unit, an optical storage unit, an electromagnetic storage unit, a semiconductor storage unit, or any suitable combination of the above. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, or any suitable combination of the foregoing. As used herein, a computer readable storage medium and a computer readable storage unit are not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through an optical fiber cable), or electrical signals transmitted through a line.The computer readable program instructions (e.g., program code 814) described herein may be downloaded from a computer readable storage medium to respective data processing / processing units (e.g., computer 102) or to an external computer or storage unit (e.g., computer data storage unit 812) via a network (not shown), for example, the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, lightwave transmission conductors, wireless transmission systems, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card (not shown) or network interface (not shown) in each data processing / processing unit receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective data processing / processing unit.Computer readable program instructions (e.g., program code 814) for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional method oriented programming languages such as the "C" programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, for example, a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, via the Internet using an Internet Service Provider). In some embodiments, electronic circuits such as programmable logic circuits, field programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by employing state data of the computer readable program instructions to adapt the electronic circuits so as to perform aspects of the present invention.Aspects of the present invention are described herein with reference to flowcharts (e.g., FIGS. 2 and 3A-3B ) and / or block diagrams (e.g., FIGS. 1 and 8 ) of methods, apparatus (systems), and computer program products according to embodiments of the invention. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, may / may be implemented by computer readable program instructions (e.g., the program code 814).These computer readable program instructions may be provided to a processor (e.g., CPU 802) of a general purpose computer, special purpose computer, or other programmable data processing device (e.g., computer 102) to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing device, produce a means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium (e.g., computer data storage unit 812), which may control a computer, programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein includes an article of manufacture (article of manufacture) including instructions that implement aspects of the / function / operation recited in the flowchart and / or block diagram block or blocks.The computer readable program instructions (e.g., program code 814) may also be loaded onto a computer (e.g., computer 102), other programmable data processing apparatus, or other device to cause a series of steps of an operation to be performed on the computer, other programmable apparatus, or other device to produce a computer implemented process such that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.In one embodiment, the memory 804 is a ROM and the computer 102 is a special purpose computer, the ROM including instructions of the program code 814 that are executed via the ROM 804 by the CPU 802 to monitor disk usage at an object level.The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions that includes one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur in a different order than noted in the figures. For example, depending on the functionality involved, two blocks shown in succession may even be executed substantially simultaneously, or the blocks may sometimes be executed in the reverse order. It is further noted that each block of the block diagrams and / or the flowcharts, and combinations of blocks in the block diagrams and / or the flowcharts, may be implemented by special purpose hardware-based systems that perform the specified functions or acts, or perform combinations of special purpose hardware and computer instructions.Although embodiments of the present invention have been described herein for illustrative purposes, numerous modifications and changes will occur to those skilled in the art. Accordingly, the appended claims are intended to include all such modifications and changes as fall within the true spirit and scope of this invention.

Claims

A method for monitoring disk usage at an object level, the method comprising the steps of: - a computer determining a first size of an object at a first time by invoking an application programming interface (API), wherein the object is (1) an object in an integrated file system (IFS), or (2) a library including other objects that are designated storage areas; - the computer determining a second size of the object at a second time by invoking the API, wherein the second time follows the first time and the second size is greater than the first size; - the computer determining a difference between the first and second sizes; - the computer determining whether the difference exceeds a threshold difference; and the computer, due to the difference exceeding the threshold difference, sending a notification of the object whose size has increased so as to exceed the threshold difference, the notification indicating the increase in size at a level of the object different from an increase in size at a level of an auxiliary storage pool, the notification comprising a query to an owner of the object whether the object can be safely deleted.The method of claim 1, wherein the step of determining the first size of the object includes determining the first size without employing the RTVDSKINF, PRTDSKINF, RTVDIRINF, or PRTDIRINF commands, and wherein the step of determining the second size of the object includes determining the second size without employing the RTVDSKINF, PRTDSKINF, RTVDIRINF, or PRTDIRINF commands.The method of any preceding claim, further comprising the steps of: - the computer periodically and automatically monitoring sizes of objects in the IFS, thereby determining sizes of the objects in the IFS on a plurality of data, and storing the sizes of the objects in the IFS on the plurality of data in a data repository; - the computer receiving via an interface a selection of a comparison of sizes of the objects in the IFS by a user on a beginning date and an ending date; - the computer receiving via the interface the beginning date and the ending date that have been input by the user, the beginning and ending date being included in the plurality of data; the computer retrieving from the data store the sizes of the objects at the beginning and the end dates; the computer determining differences between the sizes of the objects at the beginning date and respective sizes of the objects at the end date; the computer presenting the differences and the sizes of the objects at the beginning and the end dates; and the computer generating and sending a report including the differences and the sizes of the objects at the beginning and the end dates, the report comprising a query to the owner of the objects whether the objects can be safely deleted.The method of any preceding claim, further comprising the steps of: - the computer periodically and automatically monitoring sizes of libraries, thereby determining sizes of the libraries on a plurality of data and storing the sizes of the libraries on the plurality of data in a data repository; - the computer receiving via an interface a selection of a comparison of sizes of the libraries by a user at a beginning date and an ending date; - the computer receiving via the interface the beginning date and the ending date entered by the user, the beginning and ending date being included in the plurality of data; - the computer retrieving the sizes of the libraries from the data repository at the beginning and ending date; the computer detecting differences between the sizes of the libraries at the beginning date and respective sizes of the libraries at the end date; the computer representing the differences and the sizes of the objects at the beginning and the end date; and the computer generating and sending a report including the differences and the sizes of the objects at the beginning and the end date, the report comprising a query to the owner of the objects whether the objects can be safely deleted.The method according to any of the preceding claims, further comprising the steps of: - the computer receiving via an interface a selection of a real-time comparison of sizes of objects by a user in an integrated file system (IFS) at a beginning date and a current time; - the computer receiving via the interface the beginning date entered by the user; - the computer calling an application programming interface (API) relating the sizes of the objects at the beginning date and the current time; - the computer determining differences between the sizes of the objects at the beginning date and respective sizes of the objects at the current time; - the computer representing the differences and the sizes of the objects at the beginning date and the current time; and the computer generating and sending a report including the differences and sizes of the objects at the beginning date and current time, the report comprising a query to the owner of the objects whether the objects can be safely deleted.The method according to any of the preceding claims, further comprising the steps of: - the computer receiving via an interface a selection of a real-time comparison of sizes of libraries by a user at a beginning date and a current time; - the computer receiving via the interface the beginning date entered by the user; - the computer calling an application programming interface (API) that obtains the sizes of the libraries at the beginning date and the current time; - the computer determining differences between the sizes of the libraries at the beginning date and respective sizes of the libraries at the current time; - the computer representing the differences and the sizes of the objects at the beginning date and the current time; and the computer generating and sending a report including the differences and sizes of the objects at the beginning date and current time, the report comprising a query to the owner of the objects whether the objects can be safely deleted.The method of any preceding claim, wherein the steps of determining the first and second quantities and the step of determining the difference do not include manually logging into a system for determining the first and second quantities.The method according to any of the preceding claims, further comprising the step of: - providing at least one support service for creating, integrating, providing hosting, maintaining and / or implementing computer readable program code in the computer, wherein the program code is executed by a processor in the computer such that the steps of determining the first size, determining the second size, determining the difference, determining whether the difference exceeds the threshold difference, and sending the notification are implemented.A computer system comprising: a central processing unit (CPU); a memory coupled to the CPU; and a computer readable storage unit coupled to the CPU, the storage unit including instructions executed by the CPU via the memory to implement a method for automatically monitoring disk usage at an object level, the method comprising the steps of: ◯ the computer system determining a first size of an object at a first time by invoking an application programming interface (API), wherein the object is (1) an object in an integrated file system (IFS) or (2) a library including other objects that are designated storage areas; ◯ that the computer system determines a second size of the object at a second time by invoking the API, the second time following the first time and the second size being greater than the first size; ◯ that the computer system determines a difference between the first and second sizes; ◯ that the computer system determines whether the difference exceeds a threshold difference; ◯ that the computer system sends a notification about the object whose size has increased such that the threshold difference is exceeded due to the difference exceeding the threshold difference, the notification indicating the increase in size at a level of the object different from an increase in size at a level of an auxiliary storage pool, the notification comprising a query to an owner of the object whether the object can be safely deleted.A computer program product comprising: - a computer readable storage unit; and - computer readable program code stored in the computer readable storage unit, the computer readable program code including instructions executed by a central processing unit (CPU) of a computer system to implement a method for automatically monitoring disk usage at an object level, the method comprising the steps of: - the computer system determining at a first time a first size of an object by invoking an application programming interface (API), wherein the object is (1) an object in an integrated file system (IFS) or (2) a library including other objects that are designated storage areas; - the computer system determining a second size of the object at a second time by invoking the API, the second time following the first time and the second size being greater than the first size; - the computer system determining a difference between the first and second sizes; - the computer system determining whether the difference exceeds a threshold difference; and - the computer system sending a notification of the object whose size has increased to exceed the threshold difference, the notification indicating the increase in size at a level of the object different from an increase in size at a level of an auxiliary storage pool, the notification comprising a query to the owner of the object whether the object can be safely deleted.A method for monitoring disk usage at an object level, the method comprising the steps of: - the computer presenting a first option for selecting a comparison of sizes of objects in an integrated file system (IFS) at a first and a second time and a second option for selecting a comparison of sizes of libraries at the first and the second time; - the computer receiving a selection of the first option or the second option from a user; - the computer receiving the first time as a user entry of a beginning date; the computer either (1) receiving the second time as a user entry of an end date or (2) determining the second time as a current time in response to the user selecting a third option to indicate that the comparison of sizes of objects in the IFS or the comparison of sizes of libraries is a real time comparison; if the selection of the first option has been received and the user entry of the end date has been received: ◯ the computer retrieving the sizes of the objects at the beginning and end dates from a data repository, wherein the sizes of the objects at the beginning and end dates have been previously stored by regularly monitoring the sizes of the objects; ◯ that the computer detects differences between the sizes of the objects at the beginning date and respective sizes of the objects at the end date; and ◯ that the computer generates and sends a report including the differences and the sizes of the objects at the beginning and end dates, the report comprising a query to an owner of the objects whether the objects can be safely deleted; - when the selection of the second option has been received and the user entry of the end date has been received: ◯ that the computer retrieves the sizes of the libraries at the beginning and end dates from the data repository, wherein the sizes of the libraries at the beginning and end dates have been previously stored by regularly monitoring the sizes of the libraries; ◯ that the computer detects differences between the sizes of the libraries at the beginning date and respective sizes of the libraries at the end date; and ◯ that the computer generates and sends a report including the differences and the sizes of the libraries at the beginning and end dates, the report comprising a query to an owner of the libraries whether the libraries can be safely deleted; - if the selection of the first option has been received and the second time has been detected as the current time: ◯ that the computer invokes the first API that relates the sizes of the objects at the beginning date and the current time; ◯ that the computer detects differences between the sizes of the objects at the beginning date and respective sizes of the objects at the current time; and ◯ that the computer generates and sends a report including the differences and the sizes of the objects at the beginning date and current time, the report comprising a query to an owner of the objects whether the objects can be safely deleted; and - if the selection of the second option has been received and the second time has been determined as the current time: ◯ that the computer invokes the second API that obtains the sizes of the libraries at the beginning date and current time; ◯ that the computer determines differences between the sizes of the libraries at the beginning date and respective sizes of the libraries at the current time; and ◯ that the computer generates and sends a report including the differences and sizes of the libraries at the beginning date and current time, wherein the report comprises a query to an owner of the libraries whether the libraries can be safely deleted.The method of claim 11, wherein the steps of invoking the first API that obtains the sizes of the objects at the beginning and end dates, invoking the second API that obtains the sizes of the libraries at the beginning and end dates, invoking the first API that obtains the sizes of the objects at the beginning date and current time, and invoking the second API that obtains the sizes of the libraries at the beginning date and current time do not employ the RTVDSKINF, PRTDSKINF, RTVDIRINF, or PRTDIRINF commands.The method of claim 11 or 12, wherein the steps of the steps of invoking the first API that obtains the sizes of the objects at the beginning and end dates, invoking the second API that obtains the sizes of the libraries at the beginning and end dates, invoking the first API that obtains the sizes of the objects at the beginning date and current time, and invoking the second API that obtains the sizes of the libraries at the beginning date and current time do not include manually logging onto a system for determining the sizes of the objects or libraries.A method for automatically monitoring disk usage at an object level, the method comprising the steps of: - a computer determining at a first time a first size of an object by invoking an application programming interface (API) provided by a computing platform, the object being (1) a directory in a hierarchical file system provided by the computing platform or (2) a library including other objects that are designated storage areas on the computing platform; - the computer determining at a second time a second size of the object by invoking the API, the second time following the first time and the second size being greater than the first size; the computer determining a difference between the first and second magnitudes; determining whether the difference exceeds a threshold difference; and sending a notification of the object whose magnitude has increased to exceed the threshold difference due to the difference exceeding the threshold difference, the notification indicating the increase in magnitude at a level of the object, the report comprising a query to an owner of the object as to whether the object can be safely deleted.The method of claim 14, wherein the steps of determining the first size and determining the second size do not employ the RTVDSKINF, PRTDSKINF, RTVDIRINF, or PRTDIRINF instructions.

Citation Information

Patent Citations

  • Method and apparatus for detecting computer viruses through the use of a scan information cache

    US5649095A