US20050033625A1 - Method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment - Google Patents

Method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment Download PDF

Info

Publication number
US20050033625A1
US20050033625A1 US10/635,397 US63539703A US2005033625A1 US 20050033625 A1 US20050033625 A1 US 20050033625A1 US 63539703 A US63539703 A US 63539703A US 2005033625 A1 US2005033625 A1 US 2005033625A1
Authority
US
United States
Prior art keywords
maintenance
maintenance task
perform
task
need
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/635,397
Inventor
Christopher Kline
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyndryl Inc
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US10/635,397 priority Critical patent/US20050033625A1/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KLINE, CHRISTOPHER N.
Publication of US20050033625A1 publication Critical patent/US20050033625A1/en
Priority to US13/072,354 priority patent/US10762448B2/en
Assigned to KYNDRYL, INC. reassignment KYNDRYL, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTERNATIONAL BUSINESS MACHINES CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06314Calendaring for a resource

Definitions

  • This invention relates in general to maintaining a computer system, and more particularly to a method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment.
  • middleware In order to connect processes and to transform data, a diverse collection of functions must be provided. This diverse collection of functions is referred to as middleware.
  • the term middleware is an inclusive term that encompasses many disparate functions that do not easily fit within other architectural components. Thus, middleware may be considered an aggregation of distinct subcomponents.
  • Middleware provides application services that were once written into applications. However, these services today are provided in an independent infrastructure layer. Middleware enhances application integration by providing uniform mechanisms to bridge ole and new technologies, or by enabling dissimilar elements to work together.
  • middleware One type of middleware is message-oriented middleware.
  • Message-oriented middleware allows application programs that may be distributed across similar or dissimilar platforms and/or network protocols to exchange data with each other using messages and queues.
  • certain maintenance procedures must be run regularly.
  • Such maintenance tasks are not easily performed by built-in utilities.
  • some important tasks cannot be performed at all by built-in utilities.
  • the system administrator is left with the task of determining how to best carry out these tasks.
  • not all administrators are skilled in programming such tasks.
  • administrators may not know the optimum time to run maintenance tasks. For example, maintenance tasks may be scheduled to run too often. Because such maintenance tasks may be resource intensive, the performance of the server may suffer. Alternatively, maintenance tasks may not be scheduled often enough and therefore the system may not be operating efficiently.
  • the present invention discloses a method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment.
  • the present invention solves the above-described problems by providing a way for administrators can skillfully maintain servers.
  • the present invention determines when to run maintenance operations based on predetermined system criteria.
  • a method in accordance with an embodiment of the present invention includes monitoring a parameter for a computer system to detect a need to perform at least one maintenance task and performing at least one maintenance task when the monitoring detects the need to perform at least one maintenance task or at least once within a predetermined period.
  • a system for scheduling the performance of maintenance tasks to maintain a system environment includes a maintenance tool for providing resources for performing at least one maintenance task and a maintenance scheduling device for monitoring a parameter for a computer system to detect a need to perform at least one maintenance task and causing the maintenance tool to perform at least one maintenance task when the maintenance scheduling device detects the need to perform at least one maintenance task or at least once within a predetermined period.
  • this system includes means for providing resources for performing at least one maintenance task and means for monitoring a parameter for a computer system to detect a need to perform at least one maintenance task and causing the means for providing resources to perform at least one maintenance task when the means for monitoring detects the need to perform at least one maintenance task or at least once within a predetermined period.
  • a program storage medium tangibly embodying one or more programs of instructions executable by the computer to perform a method for scheduling the performance of maintenance tasks to maintain a system environment.
  • the method includes monitoring a parameter for a computer system to detect a need to perform at least one maintenance task and performing at least one maintenance task when the monitoring detects the need to perform at least one maintenance task or at least once within a predetermined period.
  • FIG. 1 illustrates a distributed computing environment according to an embodiment of the present invention
  • FIG. 2 illustrates a middleware layer infrastructure according to an embodiment of the present invention
  • FIG. 3 illustrates a system for scheduling the performance of maintenance tasks to maintain a system environment according to an embodiment of the present invention
  • FIG. 4 illustrates examples of management tools according to an embodiment of the present invention
  • FIG. 5 illustrates a flow chart of the maintenance program execution according to an embodiment of the present invention
  • FIG. 6 illustrates a detailed flow chart for the maintenance and recovery task operations according to an embodiment of the present invention.
  • FIG. 7 illustrates the dynamic execution of the maintenance utility according to an embodiment of the present invention.
  • the present invention provides a method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment. Administrators use the present invention to skillfully maintain servers. When to run maintenance operations is determined based on predetermined system criteria.
  • FIG. 1 illustrates a distributed computing environment 100 according to an embodiment of the present invention.
  • FIG. 1 illustrates three computing domains 110 - 114 .
  • the three computing domains 110 - 114 include at least one server 120 and at least one client 122 networked to the server 120 .
  • the domains 110 - 114 are coupled through a network 130 .
  • Applications running in each of the domains 110 - 114 are usually built using centralized approaches, wherein the business rules and data that comprise the application reside on a single mainframe or network server, and lack ways to participate as components on the network.
  • middleware services 140 are used to provide uniform mechanisms to bridge the different technologies and to enable dissimilar elements to work together.
  • Middleware 140 comprises computer software that runs on a computer in at least one of the clusters 110 - 114 .
  • FIG. 2 illustrates a middleware layer infrastructure 200 according to an embodiment of the present invention.
  • the middleware layer 210 provides an independent infrastructure layer that sits between applications 212 , networks 214 , databases 216 , and distributed services communications mechanisms 218 .
  • the middleware layer 210 enhances application integration by providing uniform mechanisms to bridge between the applications 212 , networks 214 , databases 216 , and distributed services communications mechanisms 218 .
  • Management of the infrastructure is facilitated by the middleware layer 210 by allowing for the centralized management of application services that are shared by many applications.
  • the middleware layer 210 also reduces the costs and complexity of implementing change in infrastructure services by enabling changes to be made across many applications, rather than to each application that uses a service.
  • maintenance utilities For example, in a distributed computing environment, certain maintenance procedures must be run regularly to ensure the system is operating properly. For example, servers in a computing environment must be monitored to prevent crashes and/or to facilitate peak performance. Such maintenance tasks, however, are not easily performed by built-in utilities. In fact some important tasks cannot be performed at all by built-in utilities. Thus, the system administrator is left with the task of determining how to best carry out these tasks. Still, not all administrators are skilled in programming such tasks. Moreover, administrators may not know the optimum time to run maintenance tasks. Thus, the present invention provides a maintenance tool to provide an administrator the ability to determine when settings changed as well as the option of restoring old settings through saved files.
  • FIG. 3 illustrates a system 300 for scheduling the performance of maintenance tasks to maintain a system environment according to an embodiment of the present invention.
  • a central processing unit 310 may access memory 312 and runs an operating system 314 .
  • the operating system 314 may access application 320 .
  • the application 320 includes instances 330 - 334 .
  • Master configuration file 344 identifies each of the application instances configured on the system, as well as default settings for each instance.
  • Each instance 330 - 334 may include an application instance-specific configuration file 340 and application instance transaction logs 342 .
  • the present invention includes a maintenance scheduling tool 350 to schedule maintenance tasks.
  • Maintenance tasks are providing via the maintenance tools 352 .
  • the maintenance tools 352 maintain a maintenance log file 354 .
  • the maintenance tools 352 are part of a larger suite of tools created to provide daily maintenance routines, as well as routines that copy settings to an archive location for later point-in-time recovery, if necessary.
  • a script is provided via the maintenance scheduling tool 350 to determine how often the maintenance tools 352 are to be performed. For example, administration setup maintenance may need to be performed nightly on all servers. However, some servers that are heavily used may need maintenance run more often than just once a day. To statically schedule run times, however, may be too little or too much.
  • the script provided in the maintenance scheduling tool 350 to control the maintenance tools 352 is a korn-shell script.
  • a korn-shell script is a program that reads textual commands from the user or from a file, converts them into operating system commands, and executes them.
  • a wrapper 356 sits on top of the script in the maintenance scheduling tool 350 to dynamically determine whether the maintenance tools 352 should be run. For example, the wrapper 356 may look at regular intervals such as every 30 minutes. The wrapper 356 will cause the maintenance tools to be run at least every 24 hours or other preset period, but also self-regulates in case log filesystems are in danger of filling up.
  • the wrapper 356 in the maintenance scheduling tool 350 monitors server conditions and runs the maintenance tools 352 whenever prudent.
  • the present invention is not meant to be limited to a particular period or pattern.
  • the utilities 352 function as a “maintenance on demand” package of tools. If the maintenance tools 352 are run too often thereby indicating some sort of problem on the server, an alert is generated and the administrator is paged, for example, via email 360 .
  • Some commands may be executed directly within the interpreter itself, e.g., setting variables or control constructs, while others may cause it to load and execute other files.
  • Unix's command interpreters are known as shells.
  • the maintenance tools 352 employ several other external programs to complete its operation.
  • the cron scheduling utility 370 is an operating system scheduler that monitors for a set time and then executes a predetermined command. For example, the maintenance tools 352 may be scheduled to complete once each night and then log all operations to an output log. The maintenance tools 352 then may email 360 the administrator whenever it doesn't complete successfully. This provides administrators with the ability to manage problems before they grow and take down the server. For example, the maintenance tools may be used to clear unneeded log space.
  • Log files 358 such as the channel exit log file, are pruned to keep from growing too large.
  • Log files 358 may have a preset size, and once full, existing files are copied to a backup file. Any “error” output may be emailed to the administrator for review. Also, all program activity may be logged to a file 358 for review; and to track whether maintenance was started manually or via a cron scheduling utility.
  • a management console 380 provides an administrator access to and control of the maintenance tools 352 and scheduler 350 .
  • the management console 380 may include a display 382 for displaying status or other data provided by the maintenance tools 352 .
  • FIG. 4 illustrates examples of management tools 400 according to an embodiment of the present invention.
  • FIG. 4 illustrates the save command 410 , which is used to dump all configuration information to a text file for reuse 412 . The last two iterations may be kept actively, with older versions retained as archives.
  • Another tool is the built-in checkpoint command 420 for all running queue managers that use linear logging.
  • a queue manager is an application instance for asynchronous messaging applications such as IBM WebSphere MQ).
  • the built-in checkpoint command 420 causes all objects to be written to log for immediate recovery if corrupted 422 .
  • a clean log command 430 may be provided for all running queue managers using linear logging.
  • the clean log script 430 looks in the error logs for the latest transaction logs that are needed for full recovery 432 .
  • the clean log script 430 will then take older logs and zip them up to conserve space.
  • a prune command 440 may be provided to prune old compressed logs from clean logs that are no longer needed.
  • the prune command 440 keeps linear logging queue managers from taking over the filesystem and filling it up 442 . If linear logging queue managers are provided and do not run this, the filesystem will eventually fill up and take the queue manager down, causing an outage.
  • the prune utility 440 provides administrators with the ability to roll back to an earlier point in time, but also keeps file systems free of obsolete files.
  • the save authorizations script 450 is a command that should be run periodically for all running queue managers.
  • the save authorization script 450 provides recovery of application-based authorizations in case a queue manager needs to be rebuilt, or if moved to another box 452 .
  • Such scripts may be kept in a specified log file. For example, ten of the authorization scripts may be kept to provide 2.5 months' ability to recover should problems be encountered.
  • An archive-old-configuration-files script 460 provides logs beyond the standard two configuration files for each queue manager.
  • the archive-old-configuration-files command 460 takes old configuration files periodically, and copies them to an archive directory 462 . For example, if taken twice weekly, 50 of these archive files may be kept to provide six full months recovery ability.
  • the archive-old-configuration-files feature is especially helpful for queue managers whose definitions (configuration) change regularly, or where non-standard administrators may have access to alter objects, and a record of it needs to be kept.
  • a maintenance scheduling tool may provide a comprehensive maintenance routine.
  • the combination of the save file command 410 and the save authorization script 450 allows a complete snapshot of activity that can later be used to fix problems or restore configurations.
  • FIG. 5 illustrates a flow chart 500 of the maintenance program execution according to an embodiment of the present invention.
  • the tool determines the operating-system type and tailors execution to the specified environment 510 .
  • Application instances are then retrieved 512 .
  • For each instance maintenance and recovery-preparation tasks are performed 514 . Errors during execution of the maintenance and recovery-preparation tasks are monitored 516 .
  • a determination is made whether errors occurred 520 . If errors occurred 532 , the administrator is alerted of the error condition 540 . If not 534 , the maintenance program terminates 550 . All execution activities are logged for later review 542 .
  • FIG. 6 illustrates a detailed flow chart 600 for the maintenance and recovery task operations (e.g., block 514 of FIG. 5 ) according to an embodiment of the present invention.
  • the maintenance and recovery task is initiated 610 .
  • a transaction log type is obtained 612 .
  • the application instance version and status is also obtained 614 .
  • a determination is made whether the instance is running 620 and whether the log type is linear or circular 630 , 640 . If the instance is not running 622 and the system is circular 632 , the archived configuration and authorization files are cleaned-up 680 and the system returns to check for execution errors 690 .
  • the current configuration is exported to an archive 650 .
  • the current authorizations are also exported to an archive 660 .
  • the archived configuration and authorization files are cleaned-up 680 and the system returns to check for execution errors 690 .
  • the transaction checkpoint is recorded 670 , e.g., the transaction log files are updated for pruning.
  • the old transaction logs are zipped and removed 672 .
  • the current configuration is exported to an archive 650 .
  • the current authorizations are also exported to an archive 660 .
  • the archived configuration and authorization files are cleaned-up 680 and the system returns to check for execution errors 690 .
  • the old transaction logs are zipped and removed 674 .
  • the archived configuration and authorization files are merely cleaned-up 680 and the system returns to check for execution errors 690 .
  • the blocks deciding whether the log type is linear or circular 630 , 640 may be the same process, and in a like manner so may the blocks where old transaction logs are zipped and removed 672 , 674 .
  • the present invention is not meant to be limited to the maintenance tasks illustrated above with reference to FIG. 6 . Rather, embodiments in accordance with the present invention may run any type of maintenance tools based on system criteria. Examples of additional maintenance tasks that may be performed according to the maintenance scheduling tool of the present invention include, but are not limited to, providing database consistency checks, ensuring database compaction, performing full-text index generation, performing view recalculations, etc.
  • FIG. 7 illustrates the dynamic execution of the maintenance utility 700 according to an embodiment of the present invention.
  • the cron scheduling utility checks the wrapper utility according to a schedule 710 , e.g., every 30 minutes, once daily, at set times, etc., to determine if the wrapper that manages execution of maintenance tools is running. (The cron utility only makes sure the wrapper is running; the wrapper utility then runs continuously and periodically checks whether maintenance should be executed.) If it is not found to be running, the cron scheduling utility starts the wrapper, which then monitors the need for maintenance in a dynamic, continuous fashion. The wrapper then determines whether the maintenance tools are already running 712 . If the maintenance tools are actively executing currently, the wrapper will not start parallel maintenance tasks.
  • a schedule 710 e.g., every 30 minutes, once daily, at set times, etc.
  • the need for maintenance is ascertained through checking current conditions such as free disk space 714 .
  • a determination is made whether the maintenance utility should be performed now 720 (for example, if maintenance tasks have not yet been performed today, if free disk space is getting too low, etc.). If not 724 , the wrapper utility sleeps again for a predetermined amount of time 740 , after which the process is repeated. If the maintenance utility should be run now 722 , the maintenance utility is performed 730 .
  • the process illustrated with reference to FIGS. 1-7 may be tangibly embodied in a computer-readable medium or carrier, e.g. one or more of the fixed and/or removable data storage devices 388 illustrated in FIG. 3 , or other data storage or data communications devices.
  • the computer program 390 may be loaded into memory 312 to configure the system 300 for execution of the computer program 390 .
  • the computer program 390 include instructions which, when read and executed by a processor, such as central processing unit 310 of FIG. 1 , causes the devices to perform the steps necessary to execute the steps or elements of an embodiment of the present invention.
  • embodiments of the present invention ensure that the servers are operating according to specifications.
  • the maintenance tool 352 periodically performs maintenance tasks via control of the maintenance scheduling device 350 , and if any of the tasks cannot be accomplished, or if an error is detected, the maintenance tool alerts the system administrator.
  • the frequency that maintenance scheduling device 350 causes the maintenance tool 352 to run is determined according to predetermined criteria, e.g., timing, system conditions such as disk space availability, server usage, etc.

Abstract

A method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment is disclosed. A parameter for a computer system is monitored to detect a need to perform at least one maintenance task. At least one maintenance task is performed when the monitoring detects the need to perform at least one maintenance task or at least once within a predetermined period.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • This invention relates in general to maintaining a computer system, and more particularly to a method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment.
  • 2. Description of Related Art
  • The defining environment for application development is changing. E-business applications are being used to leverage the Internet as a platform for building and integrating applications over a network environment. Further, application servers are moving from a processor-based operating system to an Internet-based operating system or network computing. However, this term may be somewhat ambiguous. Nevertheless, this term is increasingly being used to refer to virtual applications that are assembled from many different components that run on many machines across a network as if they were a single system. Components can range from entire centralized applications to single modules of a larger distributed application. Most important, it is becoming clear that only virtual applications can deliver the flexibility to meet many of the lead-edge needs of today's corporate information systems. Accordingly, these application servers are being used to integrate applications, business processes, and data. To leverage investments, businesses are turning to open standard based infrastructures to allow solutions to be crafted based on the best products for an application, process, etc. rather being locked into a single-vendor solution.
  • However, such an open standard integrated solution throughout the enterprise requires tools and systems to accomplish the integration, connectivity, modeling, monitoring and management functions. People, processes, information, and systems must be integrated throughout the enterprise. Connectivity refers to connecting applications and systems across a company and to partners and customers. Modeling includes the ability to model and simulate business processes to graphically represent the flow of work across people and application systems. Monitoring is provided by tracking business processes as they execute in applications and systems across the enterprise. Management of the enterprise demands visualization of immediate operational results of business processes. This critical knowledge enables review of business and system processes over a period of time so that bottlenecks and problem areas can be identified and corrected.
  • In order to connect processes and to transform data, a diverse collection of functions must be provided. This diverse collection of functions is referred to as middleware. The term middleware is an inclusive term that encompasses many disparate functions that do not easily fit within other architectural components. Thus, middleware may be considered an aggregation of distinct subcomponents. Middleware provides application services that were once written into applications. However, these services today are provided in an independent infrastructure layer. Middleware enhances application integration by providing uniform mechanisms to bridge ole and new technologies, or by enabling dissimilar elements to work together.
  • One type of middleware is message-oriented middleware. Message-oriented middleware allows application programs that may be distributed across similar or dissimilar platforms and/or network protocols to exchange data with each other using messages and queues. In order to maintain a clean and efficient environment, certain maintenance procedures must be run regularly. Such maintenance tasks, however, are not easily performed by built-in utilities. In fact some important tasks cannot be performed at all by built-in utilities. Thus, the system administrator is left with the task of determining how to best carry out these tasks. Still, not all administrators are skilled in programming such tasks. Moreover, administrators may not know the optimum time to run maintenance tasks. For example, maintenance tasks may be scheduled to run too often. Because such maintenance tasks may be resource intensive, the performance of the server may suffer. Alternatively, maintenance tasks may not be scheduled often enough and therefore the system may not be operating efficiently.
  • It can be seen then that there is a need for a method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment.
  • SUMMARY OF THE INVENTION
  • To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses a method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment.
  • The present invention solves the above-described problems by providing a way for administrators can skillfully maintain servers. The present invention determines when to run maintenance operations based on predetermined system criteria.
  • A method in accordance with an embodiment of the present invention includes monitoring a parameter for a computer system to detect a need to perform at least one maintenance task and performing at least one maintenance task when the monitoring detects the need to perform at least one maintenance task or at least once within a predetermined period.
  • In another embodiment of the present invention, a system for scheduling the performance of maintenance tasks to maintain a system environment is provided. The system includes a maintenance tool for providing resources for performing at least one maintenance task and a maintenance scheduling device for monitoring a parameter for a computer system to detect a need to perform at least one maintenance task and causing the maintenance tool to perform at least one maintenance task when the maintenance scheduling device detects the need to perform at least one maintenance task or at least once within a predetermined period.
  • In another embodiment of the present invention, another system for scheduling the performance of maintenance tasks to maintain a system environment is provided. This system includes means for providing resources for performing at least one maintenance task and means for monitoring a parameter for a computer system to detect a need to perform at least one maintenance task and causing the means for providing resources to perform at least one maintenance task when the means for monitoring detects the need to perform at least one maintenance task or at least once within a predetermined period.
  • In another embodiment of the present invention, a program storage medium tangibly embodying one or more programs of instructions executable by the computer to perform a method for scheduling the performance of maintenance tasks to maintain a system environment is provided. The method includes monitoring a parameter for a computer system to detect a need to perform at least one maintenance task and performing at least one maintenance task when the monitoring detects the need to perform at least one maintenance task or at least once within a predetermined period.
  • These and various other advantages and features of novelty which characterize the invention are pointed out with particularity in the claims annexed hereto and form a part hereof. However, for a better understanding of the invention, its advantages, and the objects obtained by its use, reference should be made to the drawings which form a further part hereof, and to accompanying descriptive matter, in which there are illustrated and described specific examples of an apparatus in accordance with the invention.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Referring now to the drawings in which like reference numbers represent corresponding parts throughout:
  • FIG. 1 illustrates a distributed computing environment according to an embodiment of the present invention;
  • FIG. 2 illustrates a middleware layer infrastructure according to an embodiment of the present invention;
  • FIG. 3 illustrates a system for scheduling the performance of maintenance tasks to maintain a system environment according to an embodiment of the present invention;
  • FIG. 4 illustrates examples of management tools according to an embodiment of the present invention;
  • FIG. 5 illustrates a flow chart of the maintenance program execution according to an embodiment of the present invention;
  • FIG. 6 illustrates a detailed flow chart for the maintenance and recovery task operations according to an embodiment of the present invention; and
  • FIG. 7 illustrates the dynamic execution of the maintenance utility according to an embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • In the following description of the embodiments, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration the specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized because structural changes may be made without departing from the scope of the present invention.
  • The present invention provides a method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment. Administrators use the present invention to skillfully maintain servers. When to run maintenance operations is determined based on predetermined system criteria.
  • FIG. 1 illustrates a distributed computing environment 100 according to an embodiment of the present invention. FIG. 1 illustrates three computing domains 110-114. The three computing domains 110-114 include at least one server 120 and at least one client 122 networked to the server 120. The domains 110-114 are coupled through a network 130. Applications running in each of the domains 110-114 are usually built using centralized approaches, wherein the business rules and data that comprise the application reside on a single mainframe or network server, and lack ways to participate as components on the network. To prevent isolation between the domains 110-114, middleware services 140 are used to provide uniform mechanisms to bridge the different technologies and to enable dissimilar elements to work together. Middleware 140 comprises computer software that runs on a computer in at least one of the clusters 110-114.
  • FIG. 2 illustrates a middleware layer infrastructure 200 according to an embodiment of the present invention. In FIG. 2 the middleware layer 210 provides an independent infrastructure layer that sits between applications 212, networks 214, databases 216, and distributed services communications mechanisms 218. The middleware layer 210 enhances application integration by providing uniform mechanisms to bridge between the applications 212, networks 214, databases 216, and distributed services communications mechanisms 218. Management of the infrastructure is facilitated by the middleware layer 210 by allowing for the centralized management of application services that are shared by many applications. The middleware layer 210 also reduces the costs and complexity of implementing change in infrastructure services by enabling changes to be made across many applications, rather than to each application that uses a service.
  • One type of middleware services that is used to ensure that the applications and other functions are running smoothly is maintenance utilities. For example, in a distributed computing environment, certain maintenance procedures must be run regularly to ensure the system is operating properly. For example, servers in a computing environment must be monitored to prevent crashes and/or to facilitate peak performance. Such maintenance tasks, however, are not easily performed by built-in utilities. In fact some important tasks cannot be performed at all by built-in utilities. Thus, the system administrator is left with the task of determining how to best carry out these tasks. Still, not all administrators are skilled in programming such tasks. Moreover, administrators may not know the optimum time to run maintenance tasks. Thus, the present invention provides a maintenance tool to provide an administrator the ability to determine when settings changed as well as the option of restoring old settings through saved files.
  • FIG. 3 illustrates a system 300 for scheduling the performance of maintenance tasks to maintain a system environment according to an embodiment of the present invention. In FIG. 3, a central processing unit 310 may access memory 312 and runs an operating system 314. The operating system 314 may access application 320. The application 320 includes instances 330-334. Master configuration file 344 identifies each of the application instances configured on the system, as well as default settings for each instance. Each instance 330-334 may include an application instance-specific configuration file 340 and application instance transaction logs 342.
  • The present invention includes a maintenance scheduling tool 350 to schedule maintenance tasks. Maintenance tasks are providing via the maintenance tools 352. The maintenance tools 352 maintain a maintenance log file 354. The maintenance tools 352 are part of a larger suite of tools created to provide daily maintenance routines, as well as routines that copy settings to an archive location for later point-in-time recovery, if necessary. A script is provided via the maintenance scheduling tool 350 to determine how often the maintenance tools 352 are to be performed. For example, administration setup maintenance may need to be performed nightly on all servers. However, some servers that are heavily used may need maintenance run more often than just once a day. To statically schedule run times, however, may be too little or too much.
  • In one embodiment of the present invention, the script provided in the maintenance scheduling tool 350 to control the maintenance tools 352 is a korn-shell script. A korn-shell script is a program that reads textual commands from the user or from a file, converts them into operating system commands, and executes them. A wrapper 356 sits on top of the script in the maintenance scheduling tool 350 to dynamically determine whether the maintenance tools 352 should be run. For example, the wrapper 356 may look at regular intervals such as every 30 minutes. The wrapper 356 will cause the maintenance tools to be run at least every 24 hours or other preset period, but also self-regulates in case log filesystems are in danger of filling up. Thus, the wrapper 356 in the maintenance scheduling tool 350 monitors server conditions and runs the maintenance tools 352 whenever prudent. However, the present invention is not meant to be limited to a particular period or pattern. In this manner, the utilities 352 function as a “maintenance on demand” package of tools. If the maintenance tools 352 are run too often thereby indicating some sort of problem on the server, an alert is generated and the administrator is paged, for example, via email 360.
  • Some commands may be executed directly within the interpreter itself, e.g., setting variables or control constructs, while others may cause it to load and execute other files. Unix's command interpreters are known as shells. The maintenance tools 352 employ several other external programs to complete its operation.
  • The cron scheduling utility 370 is an operating system scheduler that monitors for a set time and then executes a predetermined command. For example, the maintenance tools 352 may be scheduled to complete once each night and then log all operations to an output log. The maintenance tools 352 then may email 360 the administrator whenever it doesn't complete successfully. This provides administrators with the ability to manage problems before they grow and take down the server. For example, the maintenance tools may be used to clear unneeded log space.
  • Log files 358, such as the channel exit log file, are pruned to keep from growing too large. Log files 358 may have a preset size, and once full, existing files are copied to a backup file. Any “error” output may be emailed to the administrator for review. Also, all program activity may be logged to a file 358 for review; and to track whether maintenance was started manually or via a cron scheduling utility.
  • A management console 380 provides an administrator access to and control of the maintenance tools 352 and scheduler 350. The management console 380 may include a display 382 for displaying status or other data provided by the maintenance tools 352.
  • FIG. 4 illustrates examples of management tools 400 according to an embodiment of the present invention. FIG. 4 illustrates the save command 410, which is used to dump all configuration information to a text file for reuse 412. The last two iterations may be kept actively, with older versions retained as archives. Another tool is the built-in checkpoint command 420 for all running queue managers that use linear logging. (A queue manager is an application instance for asynchronous messaging applications such as IBM WebSphere MQ). The built-in checkpoint command 420 causes all objects to be written to log for immediate recovery if corrupted 422.
  • A clean log command 430 may be provided for all running queue managers using linear logging. The clean log script 430 looks in the error logs for the latest transaction logs that are needed for full recovery 432. The clean log script 430 will then take older logs and zip them up to conserve space. A prune command 440 may be provided to prune old compressed logs from clean logs that are no longer needed. The prune command 440 keeps linear logging queue managers from taking over the filesystem and filling it up 442. If linear logging queue managers are provided and do not run this, the filesystem will eventually fill up and take the queue manager down, causing an outage. The prune utility 440 provides administrators with the ability to roll back to an earlier point in time, but also keeps file systems free of obsolete files.
  • The save authorizations script 450 is a command that should be run periodically for all running queue managers. The save authorization script 450 provides recovery of application-based authorizations in case a queue manager needs to be rebuilt, or if moved to another box 452. Such scripts may be kept in a specified log file. For example, ten of the authorization scripts may be kept to provide 2.5 months' ability to recover should problems be encountered. An archive-old-configuration-files script 460 provides logs beyond the standard two configuration files for each queue manager. The archive-old-configuration-files command 460 takes old configuration files periodically, and copies them to an archive directory 462. For example, if taken twice weekly, 50 of these archive files may be kept to provide six full months recovery ability. The archive-old-configuration-files feature is especially helpful for queue managers whose definitions (configuration) change regularly, or where non-standard administrators may have access to alter objects, and a record of it needs to be kept.
  • Those skilled in the art will recognize that the present invention is not meant to be limited to the maintenance tasks illustrated above with reference to FIG. 4. Rather, embodiments in accordance with the present invention may run any type of maintenance tools based on system criteria. Further, by combining maintenance tasks, a maintenance scheduling tool according to embodiments of the present invention may provide a comprehensive maintenance routine. For example, the combination of the save file command 410 and the save authorization script 450 allows a complete snapshot of activity that can later be used to fix problems or restore configurations.
  • FIG. 5 illustrates a flow chart 500 of the maintenance program execution according to an embodiment of the present invention. In FIG. 5, the tool determines the operating-system type and tailors execution to the specified environment 510. Application instances are then retrieved 512. For each instance, maintenance and recovery-preparation tasks are performed 514. Errors during execution of the maintenance and recovery-preparation tasks are monitored 516. A determination is made whether errors occurred 520. If errors occurred 532, the administrator is alerted of the error condition 540. If not 534, the maintenance program terminates 550. All execution activities are logged for later review 542.
  • FIG. 6 illustrates a detailed flow chart 600 for the maintenance and recovery task operations (e.g., block 514 of FIG. 5) according to an embodiment of the present invention. In FIG. 6, the maintenance and recovery task is initiated 610. A transaction log type is obtained 612. The application instance version and status is also obtained 614. A determination is made whether the instance is running 620 and whether the log type is linear or circular 630, 640. If the instance is not running 622 and the system is circular 632, the archived configuration and authorization files are cleaned-up 680 and the system returns to check for execution errors 690.
  • If the instance is running 624 and the system is circular 642, the current configuration is exported to an archive 650. The current authorizations are also exported to an archive 660. Then, the archived configuration and authorization files are cleaned-up 680 and the system returns to check for execution errors 690.
  • If the instance is running 624 and the system is linear 644, the transaction checkpoint is recorded 670, e.g., the transaction log files are updated for pruning. The old transaction logs are zipped and removed 672. Because the instance is running, the current configuration is exported to an archive 650. The current authorizations are also exported to an archive 660. Then, the archived configuration and authorization files are cleaned-up 680 and the system returns to check for execution errors 690.
  • If the instance is not running 622 and the system is linear 634, the old transaction logs are zipped and removed 674. Because the instance is not running 622, the archived configuration and authorization files are merely cleaned-up 680 and the system returns to check for execution errors 690. Those skilled in the art will recognize that the blocks deciding whether the log type is linear or circular 630, 640 may be the same process, and in a like manner so may the blocks where old transaction logs are zipped and removed 672, 674.
  • Furthermore, those skilled in the art will recognize that the present invention is not meant to be limited to the maintenance tasks illustrated above with reference to FIG. 6. Rather, embodiments in accordance with the present invention may run any type of maintenance tools based on system criteria. Examples of additional maintenance tasks that may be performed according to the maintenance scheduling tool of the present invention include, but are not limited to, providing database consistency checks, ensuring database compaction, performing full-text index generation, performing view recalculations, etc.
  • FIG. 7 illustrates the dynamic execution of the maintenance utility 700 according to an embodiment of the present invention. In FIG. 7, the cron scheduling utility checks the wrapper utility according to a schedule 710, e.g., every 30 minutes, once daily, at set times, etc., to determine if the wrapper that manages execution of maintenance tools is running. (The cron utility only makes sure the wrapper is running; the wrapper utility then runs continuously and periodically checks whether maintenance should be executed.) If it is not found to be running, the cron scheduling utility starts the wrapper, which then monitors the need for maintenance in a dynamic, continuous fashion. The wrapper then determines whether the maintenance tools are already running 712. If the maintenance tools are actively executing currently, the wrapper will not start parallel maintenance tasks. Next, the need for maintenance is ascertained through checking current conditions such as free disk space 714. A determination is made whether the maintenance utility should be performed now 720 (for example, if maintenance tasks have not yet been performed today, if free disk space is getting too low, etc.). If not 724, the wrapper utility sleeps again for a predetermined amount of time 740, after which the process is repeated. If the maintenance utility should be run now 722, the maintenance utility is performed 730.
  • The process illustrated with reference to FIGS. 1-7 may be tangibly embodied in a computer-readable medium or carrier, e.g. one or more of the fixed and/or removable data storage devices 388 illustrated in FIG. 3, or other data storage or data communications devices. The computer program 390 may be loaded into memory 312 to configure the system 300 for execution of the computer program 390. The computer program 390 include instructions which, when read and executed by a processor, such as central processing unit 310 of FIG. 1, causes the devices to perform the steps necessary to execute the steps or elements of an embodiment of the present invention.
  • Accordingly, embodiments of the present invention ensure that the servers are operating according to specifications. Referring again to FIG. 3, the maintenance tool 352 periodically performs maintenance tasks via control of the maintenance scheduling device 350, and if any of the tasks cannot be accomplished, or if an error is detected, the maintenance tool alerts the system administrator. The frequency that maintenance scheduling device 350 causes the maintenance tool 352 to run is determined according to predetermined criteria, e.g., timing, system conditions such as disk space availability, server usage, etc.
  • The foregoing description of the exemplary embodiment of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not with this detailed description, but rather by the claims appended hereto.

Claims (28)

1. A method for scheduling the performance of maintenance tasks to maintain a system environment, comprising:
monitoring a parameter for a computer system to detect a need to perform at least one maintenance task; and
performing at least one maintenance task when the monitoring detects the need to perform at least one maintenance task or at least once within a predetermined period.
2. The method of claim 1, wherein the monitoring a computer system parameter further comprises monitoring conditions on a server.
3. The method of claim 2, wherein the performing at least one maintenance task when the monitoring detects the need to perform at least one maintenance task further comprises performing at least one maintenance task when the server meets a predetermined criteria.
4. The method of claim 3, wherein the predetermined criteria comprises disk space for the server becoming too low.
5. The method of claim 1, wherein the performing at least one maintenance task further comprises running a maintenance routine for improving computer system operation.
6. The method of claim 1, wherein the performing at least one maintenance task further comprises backing up settings to an archive.
7. The method of claim 6, wherein the backing up settings to an archive further comprises saving configurations and authorizations for applications running on a server.
8. The method of claim 1, wherein the performing at least one maintenance task further comprises writing log files.
9. The method of claim 1, wherein the performing at least one maintenance task further comprises reducing a size for files stored on the computer system.
10. The method of claim 1 further comprising alerting an administrator upon an occurrence of an event.
11. The method of claim 10, wherein the alerting an administrator upon an occurrence of an event further comprises alerting an administrator when a maintenance task fails.
12. The method of claim 10, wherein the alerting an administrator upon an occurrence of an event further comprises alerting an administrator when a maintenance task is ran too often.
13. The method of claim 1, wherein the performing at least one maintenance task at least once within a predetermined period further comprising performing at least one maintenance task once a day.
14. A system for scheduling the performance of maintenance tasks to maintain a system environment, comprising:
a maintenance tool for providing resources for performing at least one maintenance task; and
a maintenance scheduling device for monitoring a parameter for a computer system to detect a need to perform at least one maintenance task and causing the maintenance tool to perform at least one maintenance task when the maintenance scheduling device detects the need to perform at least one maintenance task or at least once within a predetermined period.
15. The system of claim 14, wherein the computer system further comprises a server.
16. The system of claim 15, wherein the maintenance scheduling device causes the maintenance tool to performs at least one maintenance task when the server meets a predetermined criteria.
17. The system of claim 16, wherein the predetermined criteria comprises disk space for the server becoming too low.
18. The system of claim 14, wherein the at least one maintenance task further comprises a maintenance routine for improving computer system operation.
19. The system of claim 14, wherein the at least one maintenance task further comprises a backup of system settings to an archive.
20. The system of claim 19, wherein the system settings further comprise configurations and authorizations for applications running on a server.
21. The system of claim 14, wherein the at least one maintenance task further comprises writing log files.
22. The system of claim 14, wherein the at least one maintenance task further comprises reducing a size for files stored on the computer system.
23. The system of claim 14, wherein the maintenance tool alerts an administrator upon an occurrence of an event.
24. The system of claim 23, wherein the event further comprises a failure of a maintenance task.
25. The system of claim 23, wherein the event further comprises a maintenance task running too often.
26. The system of claim 14, wherein the predetermined period further comprises once a day.
27. A system for scheduling the performance of maintenance tasks to maintain a system environment, comprising:
means for providing resources for performing at least one maintenance task; and
means for monitoring a parameter for a computer system to detect a need to perform at least one maintenance task and causing the means for providing resources to perform at least one maintenance task when the means for monitoring detects the need to perform at least one maintenance task or at least once within a predetermined period.
28. A program storage medium readable by a computer, the medium tangibly embodying one or more programs of instructions executable by the computer to perform a method for scheduling the performance of maintenance tasks to maintain a system environment, the method comprising:
monitoring a parameter for a computer system to detect a need to perform at least one maintenance task; and
performing at least one maintenance task when the monitoring detects the need to perform at least one maintenance task or at least once within a predetermined period.
US10/635,397 2003-08-06 2003-08-06 Method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment Abandoned US20050033625A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/635,397 US20050033625A1 (en) 2003-08-06 2003-08-06 Method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment
US13/072,354 US10762448B2 (en) 2003-08-06 2011-03-25 Method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/635,397 US20050033625A1 (en) 2003-08-06 2003-08-06 Method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/072,354 Continuation US10762448B2 (en) 2003-08-06 2011-03-25 Method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment

Publications (1)

Publication Number Publication Date
US20050033625A1 true US20050033625A1 (en) 2005-02-10

Family

ID=34116235

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/635,397 Abandoned US20050033625A1 (en) 2003-08-06 2003-08-06 Method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment
US13/072,354 Expired - Lifetime US10762448B2 (en) 2003-08-06 2011-03-25 Method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/072,354 Expired - Lifetime US10762448B2 (en) 2003-08-06 2011-03-25 Method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment

Country Status (1)

Country Link
US (2) US20050033625A1 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044198A1 (en) * 2003-08-08 2005-02-24 Jun Okitsu Method of controlling total disk usage amount in virtualized and unified network storage system
US20060052898A1 (en) * 2004-09-09 2006-03-09 Blumenfeld Dennis E Maintenance opportunity planning system and method
US20070168874A1 (en) * 2005-12-30 2007-07-19 Michael Kloeffer Service and application management in information technology systems
US20070174716A1 (en) * 2005-12-30 2007-07-26 Uwe Erdtmann Health check monitoring process
US7350046B2 (en) 2004-04-02 2008-03-25 Seagate Technology Llc Managed reliability storage system and method monitoring storage conditions
US20080320477A1 (en) * 2007-06-20 2008-12-25 Mariann Meeks Method for scheduling and customizing surveillance tasks with web-based user interface
US20110167048A1 (en) * 2008-09-16 2011-07-07 ZTE Plaza ,Keji Road South Method and system for clearing log files of service system
US8024406B1 (en) 2005-11-18 2011-09-20 Convergys Cmg Utah, Inc. System and method for dispensing e-Care
US20130283278A1 (en) * 2004-10-14 2013-10-24 International Business Machines Corporation Apparatus And Methods For Performing Computer System Maintenance And Notification Activities In An Opportunistic Manner
US10191770B2 (en) 2016-04-22 2019-01-29 Microsoft Technology Licensing, Llc Maintenance tasks based on device role
CN110058810A (en) * 2019-01-17 2019-07-26 阿里巴巴集团控股有限公司 Disk Cleanup method and apparatus, the distributed system of distributed system
US10452466B1 (en) * 2017-11-29 2019-10-22 Architecture Technology Corporation Automated system maintenance capabilities for a computing system
US10762448B2 (en) 2003-08-06 2020-09-01 International Business Machines Corporation Method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914329B1 (en) * 2012-12-24 2014-12-16 Emc Corporation Automated time-based testing method for distributed system
US9710164B2 (en) 2015-01-16 2017-07-18 International Business Machines Corporation Determining a cause for low disk space with respect to a logical disk
TWI651947B (en) * 2017-08-03 2019-02-21 中華電信股份有限公司 Programmable Template Monitoring Method for Equipment and Service Monitoring
US11150635B2 (en) * 2017-10-02 2021-10-19 Fisher-Rosemount Systems, Inc. Projects within a process control asset management system
US10712957B2 (en) * 2018-09-21 2020-07-14 International Business Machines Corporation Disk storage capacity reorganization

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108712A (en) * 1998-05-05 2000-08-22 International Business Machines Corp. Client-server system with central application management and providing export agent capability for retrofitting existing hardware and applications into the system
US6237092B1 (en) * 1998-05-05 2001-05-22 International Business Machines Corp. Client-server system with central application management allowing an administrator to configure user and group contexts during application configuration without relaunching the application
US6338149B1 (en) * 1998-07-31 2002-01-08 Westinghouse Electric Company Llc Change monitoring system for a computer system
US20030009449A1 (en) * 2001-06-21 2003-01-09 International Business Machines Corporation System and method for managing file export information
US20030072263A1 (en) * 2001-04-24 2003-04-17 Peterson Diane L. Method and apparatus for monitoring and logging the operation of a distributed processing system

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914657A (en) * 1987-04-15 1990-04-03 Allied-Signal Inc. Operations controller for a fault tolerant multiple node processing system
US5367473A (en) * 1990-06-18 1994-11-22 Bell Communications Research, Inc. Expert system for computer system resource management
SE470031B (en) * 1991-06-20 1993-10-25 Icl Systems Ab System and method for monitoring and changing the operation of a computer system
US5432932A (en) * 1992-10-23 1995-07-11 International Business Machines Corporation System and method for dynamically controlling remote processes from a performance monitor
US5664106A (en) * 1993-06-04 1997-09-02 Digital Equipment Corporation Phase-space surface representation of server computer performance in a computer network
US5537585A (en) * 1994-02-25 1996-07-16 Avail Systems Corporation Data storage management for network interconnected processors
US5619656A (en) * 1994-05-05 1997-04-08 Openservice, Inc. System for uninterruptively displaying only relevant and non-redundant alert message of the highest severity for specific condition associated with group of computers being managed
US6041354A (en) * 1995-09-08 2000-03-21 Lucent Technologies Inc. Dynamic hierarchical network resource scheduling for continuous media
US5761677A (en) * 1996-01-03 1998-06-02 Sun Microsystems, Inc. Computer system method and apparatus providing for various versions of a file without requiring data copy or log operations
US6170067B1 (en) * 1997-05-13 2001-01-02 Micron Technology, Inc. System for automatically reporting a system failure in a server
US6173322B1 (en) * 1997-06-05 2001-01-09 Silicon Graphics, Inc. Network request distribution based on static rules and dynamic performance data
US6016553A (en) * 1997-09-05 2000-01-18 Wild File, Inc. Method, software and apparatus for saving, using and recovering data
US6714979B1 (en) * 1997-09-26 2004-03-30 Worldcom, Inc. Data warehousing infrastructure for web based reporting tool
US6470386B1 (en) * 1997-09-26 2002-10-22 Worldcom, Inc. Integrated proxy interface for web based telecommunications management tools
US7058600B1 (en) * 1997-09-26 2006-06-06 Mci, Inc. Integrated proxy interface for web based data management reports
JPH11120106A (en) * 1997-10-17 1999-04-30 Fujitsu Ltd Display system of server resource use state and storage medium for it
US6567853B2 (en) * 1997-12-08 2003-05-20 International Business Machines Corporation Scalable I/O system for the efficient transfer of storage device data by a non-server reconnection
US7194757B1 (en) * 1998-03-06 2007-03-20 Starguide Digital Network, Inc. Method and apparatus for push and pull distribution of multimedia
US6059842A (en) * 1998-04-14 2000-05-09 International Business Machines Corp. System and method for optimizing computer software and hardware
US6728748B1 (en) * 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
US6453383B1 (en) * 1999-03-15 2002-09-17 Powerquest Corporation Manipulation of computer volume segments
US7725570B1 (en) * 1999-05-24 2010-05-25 Computer Associates Think, Inc. Method and apparatus for component to service mapping in service level management (SLM)
US6633878B1 (en) * 1999-07-30 2003-10-14 Accenture Llp Initializing an ecommerce database framework
US6985901B1 (en) * 1999-12-23 2006-01-10 Accenture Llp Controlling data collection, manipulation and storage on a network with service assurance capabilities
US7349348B1 (en) * 2000-01-24 2008-03-25 Cisco Technologies, Inc. Method and apparatus for determining a network topology in the presence of network address translation
US20020152305A1 (en) * 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis in information management environments
US6556952B1 (en) * 2000-05-04 2003-04-29 Advanced Micro Devices, Inc. Performance monitoring and optimizing of controller parameters
US6757730B1 (en) 2000-05-31 2004-06-29 Datasynapse, Inc. Method, apparatus and articles-of-manufacture for network-based distributed computing
US7596784B2 (en) * 2000-09-12 2009-09-29 Symantec Operating Corporation Method system and apparatus for providing pay-per-use distributed computing resources
US20020178162A1 (en) * 2001-01-29 2002-11-28 Ulrich Thomas R. Integrated distributed file system with variable parity groups
US20020194319A1 (en) * 2001-06-13 2002-12-19 Ritche Scott D. Automated operations and service monitoring system for distributed computer networks
US7617201B1 (en) * 2001-06-20 2009-11-10 Microstrategy, Incorporated System and method for analyzing statistics in a reporting system
US20030009552A1 (en) * 2001-06-29 2003-01-09 International Business Machines Corporation Method and system for network management with topology system providing historical topological views
US6643613B2 (en) * 2001-07-03 2003-11-04 Altaworks Corporation System and method for monitoring performance metrics
US8234229B2 (en) * 2001-07-27 2012-07-31 International Business Machines Corporation Method and apparatus for prediction of computer system performance based on types and numbers of active devices
US7065588B2 (en) * 2001-08-10 2006-06-20 Chaavi, Inc. Method and system for data transformation in a heterogeneous computer system
US6766420B2 (en) * 2001-09-27 2004-07-20 International Business Machines Corporation Selectively powering portions of system memory in a network server to conserve energy
CN1575582A (en) * 2001-09-28 2005-02-02 塞维斯通讯公司 Configurable adaptive global traffic control and management
JP2003216348A (en) * 2001-11-14 2003-07-31 Hitachi Ltd Method and device for management of storage device
US20030115421A1 (en) * 2001-12-13 2003-06-19 Mchenry Stephen T. Centralized bounded domain caching control system for network edge servers
US7093004B2 (en) * 2002-02-04 2006-08-15 Datasynapse, Inc. Using execution statistics to select tasks for redundant assignment in a distributed computing platform
US6990666B2 (en) * 2002-03-18 2006-01-24 Surgient Inc. Near on-line server
US7363543B2 (en) * 2002-04-30 2008-04-22 International Business Machines Corporation Method and apparatus for generating diagnostic recommendations for enhancing process performance
GB2389479B (en) * 2002-06-07 2005-12-28 Hewlett Packard Co Method of serving out video over a network of video servers
CN1662901A (en) * 2002-06-25 2005-08-31 国际商业机器公司 Method and system for monitoring performance of application in a distributed environment
US7340502B2 (en) * 2002-10-24 2008-03-04 Microsoft Corporation Method and apparatus for maintaining consistency of a shared space across multiple endpoints in a peer-to-peer collaborative computer system
US7134121B2 (en) * 2003-06-12 2006-11-07 International Business Machines Corporation Installing fixes based on usage
US20050033625A1 (en) 2003-08-06 2005-02-10 International Business Machines Corporation Method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108712A (en) * 1998-05-05 2000-08-22 International Business Machines Corp. Client-server system with central application management and providing export agent capability for retrofitting existing hardware and applications into the system
US6237092B1 (en) * 1998-05-05 2001-05-22 International Business Machines Corp. Client-server system with central application management allowing an administrator to configure user and group contexts during application configuration without relaunching the application
US6338149B1 (en) * 1998-07-31 2002-01-08 Westinghouse Electric Company Llc Change monitoring system for a computer system
US20030072263A1 (en) * 2001-04-24 2003-04-17 Peterson Diane L. Method and apparatus for monitoring and logging the operation of a distributed processing system
US20030009449A1 (en) * 2001-06-21 2003-01-09 International Business Machines Corporation System and method for managing file export information

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10762448B2 (en) 2003-08-06 2020-09-01 International Business Machines Corporation Method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment
US7143116B2 (en) * 2003-08-08 2006-11-28 Hitachi, Ltd. Method of controlling total disk usage amount in virtualized and unified network storage system
US20070088760A1 (en) * 2003-08-08 2007-04-19 Jun Okitsu Method of controlling total disk usage amount in virtualized and unified network storage system
US20050044198A1 (en) * 2003-08-08 2005-02-24 Jun Okitsu Method of controlling total disk usage amount in virtualized and unified network storage system
US7953701B2 (en) * 2003-08-08 2011-05-31 Hitachi, Ltd. Method of controlling total disk usage amount in virtualized and unified network storage system
US7350046B2 (en) 2004-04-02 2008-03-25 Seagate Technology Llc Managed reliability storage system and method monitoring storage conditions
US20060052898A1 (en) * 2004-09-09 2006-03-09 Blumenfeld Dennis E Maintenance opportunity planning system and method
US7212876B2 (en) * 2004-09-09 2007-05-01 General Motors Corporation Maintenance opportunity planning system and method
US8959521B2 (en) * 2004-10-14 2015-02-17 International Business Machines Corporation Apparatus and methods for performing computer system maintenance and notification activities in an opportunistic manner
US20130283278A1 (en) * 2004-10-14 2013-10-24 International Business Machines Corporation Apparatus And Methods For Performing Computer System Maintenance And Notification Activities In An Opportunistic Manner
US8024406B1 (en) 2005-11-18 2011-09-20 Convergys Cmg Utah, Inc. System and method for dispensing e-Care
US20070168874A1 (en) * 2005-12-30 2007-07-19 Michael Kloeffer Service and application management in information technology systems
US7979733B2 (en) * 2005-12-30 2011-07-12 Sap Ag Health check monitoring process
US7930681B2 (en) 2005-12-30 2011-04-19 Sap Ag Service and application management in information technology systems
US20070174716A1 (en) * 2005-12-30 2007-07-26 Uwe Erdtmann Health check monitoring process
US20080320477A1 (en) * 2007-06-20 2008-12-25 Mariann Meeks Method for scheduling and customizing surveillance tasks with web-based user interface
EP2352093A1 (en) * 2008-09-16 2011-08-03 ZTE Corporation Method and system for clearing log files of service system
US20110167048A1 (en) * 2008-09-16 2011-07-07 ZTE Plaza ,Keji Road South Method and system for clearing log files of service system
EP2352093A4 (en) * 2008-09-16 2013-10-02 Zte Corp Method and system for clearing log files of service system
US10191770B2 (en) 2016-04-22 2019-01-29 Microsoft Technology Licensing, Llc Maintenance tasks based on device role
US10452466B1 (en) * 2017-11-29 2019-10-22 Architecture Technology Corporation Automated system maintenance capabilities for a computing system
US10970159B1 (en) 2017-11-29 2021-04-06 Architecture Technology Corporation Automated system maintenance capabilities for a computing system
CN110058810A (en) * 2019-01-17 2019-07-26 阿里巴巴集团控股有限公司 Disk Cleanup method and apparatus, the distributed system of distributed system

Also Published As

Publication number Publication date
US20120072582A1 (en) 2012-03-22
US10762448B2 (en) 2020-09-01

Similar Documents

Publication Publication Date Title
US10762448B2 (en) Method, apparatus and program storage device for scheduling the performance of maintenance tasks to maintain a system environment
Ramakrishnan et al. Analysis of file I/O traces in commercial computing environments
US9141482B2 (en) Method, system, and apparatus for providing alert synthesis in a data protection system
US8463747B2 (en) Configuring a data protection system
EP1635244B1 (en) Method and system for creating an archive routine for protecting data in a data protection system
US7017076B2 (en) Apparatus and storage system for controlling acquisition of snapshot
US6178427B1 (en) Method of mirroring log datasets using both log file data and live log data including gaps between the two data logs
US7631194B2 (en) Method, system, and apparatus for creating saved searches and auto discovery groups for a data protection system
US7487395B2 (en) Method, system, and apparatus for creating an architectural model for generating robust and easy to manage data protection applications in a data protection system
US8145601B2 (en) Method, system, and apparatus for providing resilient data transfer in a data protection system
US7865470B2 (en) Method, system, and apparatus for translating logical information representative of physical data in a data protection system
Amvrosiadis et al. Identifying trends in enterprise data protection systems
JP2009543226A (en) Automation of standard operating procedures in database management
US7363538B1 (en) Cost/benefit based checkpointing while maintaining a logical standby database
JP2004038516A (en) Work processing system, operation management method and program for performing operation management
US7634758B2 (en) System and method for backing up open files of a source control management repository
US11042454B1 (en) Restoration of a data source
Weissman Fault tolerant wide-area parallel computing
US20190294308A1 (en) System and method of smart framework for troubleshooting performance issues
US11403192B1 (en) Enabling point-in-time recovery for databases that change transaction log recovery models
Nayak et al. Automated management of disaster recovery systems using adaptive scheduling
CN116578440A (en) Backup method, system, equipment and storage medium for distributed database cluster
Alapati Oracle Database 11 g Architecture
Noble The Structure and Evolution of a Distributed Measurement Framework
Alapati Introduction to the Oracle Database 10 g Architecture

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KLINE, CHRISTOPHER N.;REEL/FRAME:014400/0862

Effective date: 20030801

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION

AS Assignment

Owner name: KYNDRYL, INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:058213/0912

Effective date: 20211118