Patent Publication Number: US-8997051-B2

Title: Apparatus and method for decommissioning/recommissioning a component/program of a computer system

Description:
BACKGROUND OF THE DISCLOSURE 
     1. Field of the Disclosure 
     The present disclosure relates generally to management of components and programs of a computer system and an integrated process for decommissioning/re-commissioning of one or more components and programs of the computer systems. 
     2. Description of the Related Art 
     Large scale computer systems are commonly utilized for database management and enterprise-wide information exchange. Such systems may utilize a number of servers (processors) at different locations, a variety of data bases and application programs accessible to users at multiple locations via an enterprise network of hardware components, program codes and the Internet. Often such systems include a large number applications programs, such as data processing systems, billing systems, accounts receivable system, data processing systems, personnel systems, project management systems, asset management system, inventory systems, etc. Some such systems may further include subsystems. Some such systems are deployed initially and others are deployed over time as needed. Similarly, components, such a servers, interconnectivity components, user-operated devices and the like are installed on an ongoing basis. Typically, the emphasis of the information technology organizations of the enterprise (internal and/or external to enterprises) managing such computer systems is on the deployment of applications and new resources versus the retirement and decommissioning of the unutilized and/or underutilized components, applications and stored data. Such systems over time become less efficient, require larger hardware capacity and become expensive to maintain. 
     The disclosure herein provides apparatus and methods for self-decommissioning and self-re-commissioning of selected components and programs of a computer system. 
     SUMMARY 
     In one aspect, a decommissioning program stored on a computer-readable medium for self-decommissioning a component and/or program of a computer system is disclosed. In one embodiment a decommissioning program may include a program code that defines at least one function, a program code that includes a metric for the at least one function, a program code configured to measure the metric, a program code defining a logic relating to the self-decommissioning of a component and/or program, and program code that self-decommissions a component and/or a program when the measurements meet a logic criterion. 
     In another aspect, a system for decommissioning a component and/or a program of a computer system is disclosed that in one embodiment may include a plurality of components including a processor and a memory device, a plurality of application programs accessible to the processor, and a self-decommissioning program that in one embodiment may include: a program code that defines a plurality of functions relating to the computer system, a program code that includes at least one metric for each of the plurality of functions, a program code for measuring the at least one metric, a program code that defines a logic for self-decommissioning of a selected component or a program of the computer system, a program code that determines when the measurements meet a logic criterion, and a program code that self-decommissions the selected component and/or program when the measurements meet the logic criterion. 
     Examples of certain features of the apparatus and method disclosed herein are summarized rather broadly in order that the detailed description thereof that follows may be better understood. There are, of course, additional features of the apparatus and method disclosed hereinafter that will form the subject of the claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       For detailed understanding of the present disclosure, references should be made to the following detailed description taken in conjunction with the accompanying drawings in which like elements have generally been given like numerals and wherein: 
         FIG. 1  depicts an enterprise computer system network that includes one or more decommissioning/re-commissioning programs, according to one embodiment of the disclosure; and 
         FIG. 2  is a flow diagram of a process or method for decommissioning/re-commissioning a component and/or program of the computer system, according to one embodiment of the disclosure. 
     
    
    
     DESCRIPTION OF THE DISCLOSURE 
       FIG. 1  depicts an enterprise computer system network  100  that includes one or more systems for decommissioning/re-commissioning one or more components/programs of the computer system network  100 , according to one embodiment of the disclosure. The network system  100  includes a central enterprise computer system  110  that includes one or more servers  120  (also referred to as processors) for handling large scale data processing and information communications of the enterprise. The servers  120  are coupled to input/output (I/O) devices  122  and a database system  124 . The I/O devices may include interfaces, monitors, memory banks, etc. The database system  124  may include a variety of data bases relating to the enterprise business, including, but not limited to, payroll data, safety information data, human resources data, accounts receivable and payable data, project management data, and purchasing data. The database may be divided into sub-databases by category or another suitable manner. The central computer system  110  also includes a number of applications programs  126 . The applications program may include, but, are not limited to, payroll programs, safety information programs, human resources programs, accounts receivable programs, accounts payable programs, project management programs and purchasing programs. The term program, in general, refers to a computer programs and the term program code refers to a computer code or routine relating to a program or a subprogram. The computer system  110  is shown to include a program manager  128  that may be used, for example, by information technology personnel to interact with the enterprise computer system network  100 . 
     The central computer system  110  may communicate with the external networks  190 , including, but not limited to, the Internet via network connections  191 . The central computer system  110  may communicate with local users  140  at the central computer site via interface  142 . The central computer system  110  may also communicate with servers or processors at one or more sites.  FIG. 1  shows local computer systems  152   a ,  152   b  through  152   n  respectively at sites S 1 , S 2 , through Sn communicating with the central computer system  110  respectively via interfaces  154   a ,  154   b  through  154   n . Users, such as  156   a ,  156   b  through  156   n  respectively at sites S 1 , S 2  through Sn may utilize the local computer systems  152   a ,  152   b  through  152   n  to use local application programs, communicate with the central computer system  110  and application programs  126  and the Internet  190 . The users may utilize individual components, such a desk top computers, portable computers, personal digital assistants (PDA&#39;s) and other suitable devices to perform user tasks. In a computer, system such as shown in  FIG. 1 , numerous other devices, such as interface hardware, cabling, monitors and the like are used for communicating information. In general, the term “component” is used herein to include a hardware component, such as a server, personal computer, monitor, processor, cabling, PDA, etc. 
     In a computer network system network, such as the exemplary system  100 , a number of programs are installed over time to enable the enterprise personnel to exchange information and perform tasks. Often, such systems start with certain components and programs. Additional components and programs are typically installed continually as the need arises. Information technology organizations managing the computer network systems tend to place more emphasis on the development and deployment of applications and new components compared to decommissioning and retirement of components and programs. Some decommissioning approaches wait for specific authorization or input before decommissioning programs and are thus not self-decommissioning. Also, decommissioned components and programs are not generally self-re-commissioned. The disclosure herein provides a decommissioning system that may be built into the computer network at the deployment of a certain components and programs. Such systems may be self-decommissioning and/or self-re-commissioning and may be self-adjusting based on defined criteria. Application programs may be designed to include a decommissioning/re-commissioning program code or routine at the development stage and may thus be integrated into the program and the system. One or more decommissioning/re-commissioning programs or subprograms may be located at the central computer network system  110  and/or at the local sites S 1 , S 2  through Sn. 
     In aspects, the computer system may include a decommissioning and/or a decommissioning and re-commissioning system  130 . The system  130  may include one or programs or program products, which program may be a stand-alone program accessible to the server  120  or may reside in or embedded in one or more other programs in the computer system network  100 . In other aspects, the program  130  may be developed as part of other programs that may be subject to decommissioning. The program  130  may include a program routine or code  132  that measures one or more metrics defined for the programs subject to decommissioning and may also include a program code  134  that defines or a logic that defines when the measurements relating to a metric meet decommissioning criterion or criteria. A notification program  136  may be included in the system  130  that notifies selected personnel in the enterprise before decommissioning a program. The system  130  may also include a program code for self-decommissioning of a program  138  when the measurements meet a set criterion. Additionally, the system  130  may include a program code for re-commissioning a decommissioned program, based on the continued measurements of a metric. The system  130  is equally applicable to decommissioning and re-commissioning of a component of a computer system. An exemplary method for decommissioning and re-commissioning employed by the system  130  is described in more detail in reference to  FIG. 2 . 
       FIG. 2  is a flow diagram showing a decommissioning/re-commissioning method or process  200 , according to one embodiment of the disclosure. In the method  200  a metric of a function or application is defined (Box  201 ) and the measurements of the metric are made (Box  210 ). In an aspect, such measurements may be made over a selected time period. The metric may include any suitable aspect relating to a component and/or a program, such as, number of users, usage (volume, pattern, timing, etc.), transactions, various statistics and any other suitable parameter. Other aspects may include the age of a component, operating life of a component, availability of upgrades or new versions, etc. The logic in the decommissioning program is applied to the measurements made (Box  212   a ) to determine whether the measurements of the metric made meet the logic (criterion/criteria) set for that metric (Box  214 ). If the criterion/criteria are not met (Path  216 ), the system  200  may continue to measure the metric for an additional time period (Box  218 ) and repeat the steps  212   a  and  214 . If the measurements meet the criterion/criteria, the method  200  may choose an option relating to further action. In one option (Path  220 ), the method  200  may automatically self-decommission a selected component and/or a program or a part of a program (Box  222 ) as defined or set forth in the decommissioning program. In another option (Path  226 ), the method  200  may send notifications (Box  228 ) to selected personnel. Such notifications may include an initial notification, such as a warning that a measurement has met a criterion/criteria and may provide a warning that the system will automatically decommission a selected component and/or a program after a certain time period if the future measurements continue to meet the threshold over a time period. Alternatively, the method  200  may allow certain personnel to override the anticipated decommissioning of a program/component (Box  230 ). If an override is received, the method takes an action as provided in the override and if no action is provided, it may revert to (Box  210 ) after a certain period of time or take no action with respect to the particular component and/or program (Box  237 ). If no override is received, the method automatically may choose a decommissioning option. In one option (Option 1, path  231 ), the system may permanently decommission a component and/or a program (Box  233 ). Alternatively, the method may opt for another option (Option 2, path  235 ) to temporarily decommission a component and/or program (Box  232 ) and the method then may continue to make the measurements of the metric (Box  234 ). The logic is then applied to the continued measurement (Box  240 ) and if the continued measurements meet the logic or criteria for permanently decommissioning a component and/or program (Path  242 ), the method permanently decommissions the selected component/and or program (Box  244 ). If not, the measurements are checked against the logic for re-commissioning the component/and or program (Box  246 ) and if the logic criterion/criteria are met (Path  248 ), the component and/or program is re-commissioned (Box  250 ).  FIG. 2  shows only an exemplary method, various other decision paths may be taken for decommissioning and/or re-commissioning components/programs. For example, the temporary decommissioning and re-commissioning may automatically be performed based on set criterion/criteria without requesting or waiting for permission. In another aspect, the entire system may be configured to automatically self-decommission and/or re-commission components and programs of the computer system. 
     Referring to  FIGS. 1 and 2 , the decommissioning/re-commissioning program may reside or be integrated into any program, be a separate module associated with one or more programs, reside at a server at the central computer system or at a site computer system or any combination thereof. In one aspect, the decommissioning and/or re-commissioning programs are program codes that are part of other programs and are developed or added into other programs. Therefore, in one embodiment, such programs are integrated into or are integral to other programs and thus can operate efficiently within the program(s) in which they are embedded. 
     While the foregoing disclosure is directed to the preferred embodiments of the disclosure, various modifications will be apparent to those skilled in the art. It is intended that all variations within the scope and spirit of the appended claims be embraced by the foregoing disclosure.