Memory management in a data processing network

Abstract: A system and method for managing the nonvolatile memory capacity of individual workstations within a data processing network having a multiplicity of workstations with resident nonvolatile memory devices. In the context the embodying network, the invention provides for a selective querying of workstations to determine unused disk capacity, a comparison of such capacity to a threshold defined for the respective workstation, and the generation of an event message indicating sub-threshold capacity. The event is subject to local or network logging, and can include information identifying the workstation and its disk capacity status. A refinement of the invention contemplates the reallocation of disk capacity within the network to avoid premature termination of programs executing on a workstation upon the finding of a sub-threshold capacity in the workstation.

Description: The present invention relates generally to memory management and more particularly, to a system and method for managing nonvolatile data storage devices individually resident within workstations such as personal computers which are themselves the elements of a network. A representative workstation includes a processor with volatile memory, and a nonvolatile data storage device, such as a hard (fixed) disk or functionally equivalent optical disk or tape drive apparatus. In the context of a network, the workstation represents a terminal which interfaces to the network using the protocol of the network. The protocol may be provided directly by a networking card in the workstation or the consequence of a terminal emulation program executing on the workstation. Network connected workstations are proliferating with the increased use of word processing, databases, and electronic communication. The increasing presence of workstations and networks thereof in the workplace has created a situation in which the average user of a workstation, while unfamiliar with the more technical system idiosyncrasies, is expected to use the network with maximum productivity. Workstation error messages and the associated down time are clearly undesirable. In this context, a particularly vulnerable aspect of each workstation has been the capacity of the nonvolatile memory resident at the individual workstation. Management systems for storage devices have been disclosed in the prior art. For instance, in EP-A-061,585 a management facility is disclosed for balancing the activity of a plurality of data storage devices accessible by a number of host devices. A central record is maintained containing an identification of all the storage devices together with an indication of the free space on the respective storage devices. For each allocation of free space to a host, the control record is scanned to find the storage device having the largest free space, that storage device being the device allocated to the host. Whilst this helps to balance the load applied to a set of shared data storage devices, it does not provide any solution to the capacity problem in relation to nonvolatile memory resident at the individual workstation. Capacity related hard disk failures, i.e., operational interrupts and associated error messages, occur when the data being conveyed to nonvolatile storage exceeds the disk capacity. Consequently, the operational interrupt and associated error message to the workstation user occurs at a time and under a condition when such workstation user is least capable of easily correcting the situation. Such failures of the hard disk are particularly disruptive when the error messages require the workstation user to respond by selectively deleting data from the hard disk before completing the operation so interrupted. The less experienced the workstation user, the more disruptive is the event and complex the corrective action. Consequently, there exists the need for a system and method for managing a network composed of multiple workstations having independent and workstation resident nonvolatile memory devices with resources to anticipate and reallocate nonvolatile memory within the network. The system and method should minimize workstation down time and user involvement. According to the invention, as defined in the claims we provide a system for managing memory capacity in a data processing network having multiple workstations with resident nonvolatile memory devices, the system being located remotely to the multiple workstations and comprising means for selectively querying a workstation on the network to determine the respective unused nonvolatile memory, means for comparing the determined unused nonvolatile memory to a respective minimum capacity threshold value for that workstation, the threshold value being definable externally to the workstation, and means for generating an event response in the network if the selected workstation unused nonvolatile memory is below the threshold value. We further provide a method for remotely managing memory capacity in a data processing network having multiple workstations with resident nonvolatile memory devices, comprising the steps of: selectively querying a workstation on the network to determine the respective unused nonvolatile memory; comparing the determined unused nonvolatile memory to a respective minimum capacity threshold value for that workstation, the threshold value being definable externally to the workstation; and generating an event response in the network if the selected workstation unused nonvolatile memory is below the threshold value. In a preferred embodiment of the invention, workstation resident hard disk capacity memory in a network of workstations is managed by periodically enabling a workstation resident disk capacity monitor program, operating such program to determine for selected workstations the unused disk capacity, comparing such determined unused capacity to a threshold defined previously for each workstation, generating an error message when the capacity limit is violated, and logging the message at the workstation and within the network. Preferably, the workstation disk capacity queries are automated in a timed sequence. Reallocation or sharing of disk space is selectively performed within the preferred network to temporarily correct deficiencies in the disk capacity of a workstation and thereby preclude incipient disk failure. Temporary disk reallocation within the network can be initiated by the log of a disk error message within the network or upon a workstation request following the detection of such incipient disk capacity problem. These features provide the basic tools for a network administrator to monitor the use of disk space within the system in the course of managing both network and workstation memory resources over the long term. These and other features of the invention will be more clearly understood and fully appreciated upon considering the embodiment described hereinafter. Brief Description of the Drawings Fig. 1 is a schematic depicting a multiplicity of workstations connected in a network. Fig. 2 is a flow diagram depicting operations provided by the invention. Description of the Preferred Embodiment Fig. 1 is a schematic depicting a multiplicity of workstations connected in a network. Fig. 2 is a flow diagram depicting operations provided by the invention. Description of the Preferred Embodiment Fig. 1 schematically depicts the architecture of a network within which the invention is preferably practiced. The protocols of the depicted networks include, without limiting, ethernet, token-ring, SDLC, and that of the PC NETWORK™ product and this illustrates the diversity of environments within which the present memory (hard disk) capacity management invention can be practiced. As shown, a host computer, such as the IBM Corporation System/370™ mainframe, is connected by way of a token ring, X.25, or SDLC communications link to gateway workstation 2 and therethrough into the three basic network types selectively using SDLC Switched, X.25, the ethernet, the token-ring and PC NETWORK technologies. The hardware at each workstation preferably includes, as depicted in association with gateway workstation 2, a display 3, a keyboard 4, a mouse 6 and a system unit 7. The system unit 7 houses a processor, one or more communication boards, a volatile memory array, and hard disk nonvolatile memory. The nonvolatile memory can include various forms of disk drives, e.g., floppy, hard and optical, and fully encompasses other nonvolatile storage media such as tape drives or nonvolatile semiconductor devices. Gateway workstation 2 is preferably a Personal System/2 R (PS/2 R ) computer running with an Operating System/2™ Extended Edition (OS/2 R EE) operating system. The remaining workstations also preferably use Personal System/2 computers, with the OS/2 EE operating system. The remaining workstations also preferably use Personal System/2 computers, with the OS/2 EE operating system. These hardware and software products are generally available from International Business Machines Corporation. The communication links and associated communications circuits by which the various workstations depicted in Fig. 1 interact utilise protocol standards commonly known within the industry. For example, X.25, SDLC (synchronous data link control). switched SDLC, token-ring, ethernet, APPC (advanced program to program communications) and IBM 3270 terminal are protocols substantially defined by government or industry standards. The protocol of the PC NETWORK product is established by International Business Machines Corp. To implement such protocols the individual workstations have communications circuitry and software, typically board type components, which generate the appropriate electrical signals for the depicted ethernet, token-ring, SDLC switched, or X.25 communication links. Preferably the operating system software incorporates as modules thereof driver code suitable to implement the communication functions. For instance, the aforementioned OS/2 EE code incorporates SDLC drivers, X.25 drivers, APPC drivers, and 3270 terminal emulation drivers. Workstations using the somewhat more restrictive DOS (disk operating system) operating systems can still include code for APPC/PC, 3270 WSP (workstation program) for token-ring, PC 3270 terminal emulation for token-ring, or PC/3270 drivers for token-ring or PC NETWORK product drivers. Given this diversity of networks and protocols, it should be apparent that the management of nonvolatile memory, hereinafter generally referred to as disk capacity, must define a system environment and practice which is compatible with the broad spectrum of workstation networks in the industry. The present invention defines systems and methods suitable to monitor workstation specific disk capacity, to establish thresholds therefor, and to initiate network level of notice of a need for corrective action for the networks in Fig. 1. The aforementioned OS/2 EE operating system does provide a workstation user with the ability to determine disk capacity for the immediately associated workstation. This is accomplished by calling up and running the utility program identified as CHKDSK. The size of the disk being queried as well as the remaining capacity thereof are provided as an output to the workstation user. However, the queries are limited to the OS/2 EE operating system resident workstation. The present invention contemplates network wide management of disk capacity, and defines in such a context features which are transparent to the diverse forms of networks described with reference to Fig. 1. Furthermore, the system and method for managing disk capacity as defined herein is not constrained to reside solely on host computer 1, or on gateway workstation 2, or on any one of the other individual workstations linked within the network. This flexibility derives from the invention concept that the management function should be operable from any location remote to the individual workstation, should reduce the number of aborted operations caused by disk capacity deficiencies, and should lower the associated user level of skill requirements. A first important feature of the invention involves the ability to access a workstation from a remote location within the network, undertaken to obtain measures of the unused disk capacity by individual logical drive or for all drives resident at the queries workstation. The results of such query are displayed, conveyed to a file or printed, upon the discretion of the manager. The query operation is invoked by a command line or via an application programming interface (API). The timing of the query can be automated to occur at specified timed intervals, employing a timer function such as is presently available in aforementioned OS/2 EE operating system. A second aspect of the invention relates to the establishment of disk capacity thresholds. This feature provides the user with the ability to remotely establish a minimum remaining disk capacity. The threshold is established through a command line, via a remote network function, or by using an API operation. Given that it is an externally defined threshold, it is subject to revision by the entity defining the operating parameters within the network. A further aspect of the invention relates to the generation of an event, hereinafter identified as an error message, within the network upon the identification of a workstation with remaining nonvolatile disk capacity below the established threshold. The invention contemplates the generation of an error message suitable for log at the local, network, or host level within the network. For example, the error message log can be displayed directly to the screen of the resident terminal user, written to a file, printed, or used to enable an NMVT (network management vector transport) of the type routinely conveyed to the host. Preferably, such error message includes information for determining the amount of unused disk capacity remaining, the workstation type, and workstation location. A further contemplated enhancement of the invention involves an error message responsive dynamic reallocation of available disk capacity within the network. This additional feature would ensure that unexpected and above capacity demands by one or more workstations within the network would not result in aborted operations during the interim between the generation of an error message and the conclusion of corrective action by the network manager. Fig. 2 defines by flow diagram a preferred practice of the invention in the context of the system depicted in Fig. 1. Disk capacity queries are started by a time ticker, an API, a command line entry, or an inbound attach operation. If the GET command associated with the start involves the determination of disk capacity, the workstation netbios location data, the disk drive characteristics, and the error message log location must be defined to enable accessing. When the workstation subject to accessing is inactive, an error message is logged. For an active workstation, a command is conveyed from the host to the workstation to first retrieve capacity data and thereafter log such data to the prescribed log destination. When multiple disk drives are involved, the query and logging processes are repeated for each of the drives in succession. Thereafter, the get disk capacity operation is concluded. The start command for invoking the set disk threshold operation undertakes to determine the netbios data, the disk drive of the workstation subject to threshold comparison, the threshold value, and the location for logging the associated error message data. The identified disk is then queries, if the system is active, to determine the capacity actually remaining. When the workstation or network subject to query are found to be inactive, an error message is logged and threshold determination is terminated. If the threshold in an active system is lower than the remaining disk capacity, verification of adequate capacity is logged. On the other hand, when the threshold is determined to be greater than the remaining capacity, an error message is generated. As a third specifically defined option within the operating modes of the system, the start operation is enabled to query a workstation and selectively log the derived error message data within the network. In such case, the system receives the netbios location of the workstation, the NMVT data for the host, and the location for logging different error messages. The workstation prescribed by the netbios name is accessed to determine whether it is active. If inactive, an error message is logged. For an active network, the location, name and other workstation identification data are derived for generating the host NMVT message. In the event the system does not provide an NMVT protocol, the workstation information is sent directly to a log. If the NMVT protocol is selected, the host is queried to confirm that it is active and, if active, notified of the workstation location having the disk event error message. An local error message is logged if the host is inactive or not connected. Pseudocode, from which source code can be derived, particularises how each of the operations defined in Fig. 2 can be accomplished within the network of Fig. 1. Such code defines the determination of disk capacity, the establishment of a minimum capacity threshold, and the logging of disk event error messages. The input command is provided by a time ticker, such as aforementioned OS/2 EE, an API, a command line entry, or an inbound attach associated with another command. The command so read determines whether the system will undertake the "get disk capacity", "set disk threshold" or log a "disk event". The full breadth of the invention, as noted earlier, includes systems and methods for reallocating nonvolatile memory such as disk capacity within the network in response to the logging of a disk event (error message), for a workstation having sub-threshold capacity. The reallocation of disk capacity can be localised to the network of the workstation, such as within the token-ring or PC NETWORK illustrated in Fig. 1 or, if desired, can be allocated at the gateway 2 or host 1 levels. The invention thus provides a network system, and a program for using such system, to eliminate nonvolatile memory capacity errors which heretofore routinely caused premature termination of programs executing on workstations. The invention provides a system and a method for ascertaining the unused nonvolatile memory capacity of individual workstations within the network, for establishing minimum unused memory capacity thresholds for such workstations, and for selectivelly logging deficiency information attributable to sub-threshold remaining memory capacity. The operations can be invoked by command line entry, by enabling API, or AT automated time intervals. The reporting of the error messages, disk events, can be performed locally or remotely, and conveyed to a file, a printer or even a display screen. In a refined form, the invention also contemplates the selective temporary reallocation of nonvolatile memory within the network upon the logging of a sub-threshold capacity in a workstation. Thus, the user of a workstation is no longer obliged to learn how to terminate a running program and to selectively delete hard disk files in event a nonvolatile memory capacity deficiency is encountered. The invention is fully applicable to workstations having resident nonvolatile memory without regard to particular form, including floppy, hard/fixed and optical disks, tape storage media as well as semiconductor nonvolatile memory. Though the invention has been described and illustrated by way of specific embodiments, the apparatus and methods of the invention should be understood to encompass the full breadth of structures and practices defined by the claims set forth hereinafter.

Claims: A system for managing memory capacity in a data processing network having multiple workstations with resident nonvolatile memory devices, the system being located remotely to the multiple workstations and comprising means for selectively querying a workstation on the network to determine the respective unused nonvolatile memory, means for comparing the determined unused nonvolatile memory to a respective minimum capacity threshold value for that workstation, the threshold value being definable externally to the workstation, and means for generating an event response in the network if the selected workstation unused nonvolatile memory is below the threshold value. A system as claimed in claim 1, wherein the means for generating identifies the selected workstation. A system as claimed in claim 1 or claim 2, wherein the means for selectively querying interrogates respective workstations to obtain workstation resident unused disk capacity. A method for remotely managing memory capacity in a data processing network having multiple workstations with resident nonvolatile memory devices, comprising the steps of: selectively querying a workstation on the network to determine the respective unused nonvolatile memory; comparing the determined unused nonvolatile memory to a respective minimum capacity threshold value for that workstation, the threshold value being definable externally to the workstation; and generating an event response in the network if the selected workstation unused nonvolatile memory is below the threshold value. A method as claimed in claim 4, wherein the generated event response identifies the selected workstation within the network. A method as claimed in claim 5, wherein the generated event response is transmitted from the selected workstation to a network log. A method as claimed in claim 6, wherein the query retrieves and logs workstation resident unused disk capacity information from the selected workstation. A method as claimed in claim 6, wherein the generated event response causes an allocation of workstation resident nonvolatile memory within the network to the selected workstation. A method as claimed in any of claims 4 to 8, wherein the selective query is periodically enabled. A method as claimed in claim 9, wherein the selection is controlled by a workstation other than the one subject to the query or by a host computer.

Inventors: ALLEN JAMES DOUGLAS, KING STEVEN ALAN, ALLEN, JAMES DOUGLAS, KING, STEVEN ALAN
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1991
Main classification: G06F11
IPC codes: G06F11, G06F12