Nothing Special   »   [go: up one dir, main page]

US20140068071A1 - Server consolidation - Google Patents

Server consolidation Download PDF

Info

Publication number
US20140068071A1
US20140068071A1 US14/074,454 US201314074454A US2014068071A1 US 20140068071 A1 US20140068071 A1 US 20140068071A1 US 201314074454 A US201314074454 A US 201314074454A US 2014068071 A1 US2014068071 A1 US 2014068071A1
Authority
US
United States
Prior art keywords
server
consolidation
program code
performance data
group
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
US14/074,454
Inventor
Marie-Jo L. Fremont
Xin Zhang
Fereydoon Safai
Jerome Rolia
Keith Istvan Farkas
Dirk M. Beyer
Martin Arlitt
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Priority to US14/074,454 priority Critical patent/US20140068071A1/en
Publication of US20140068071A1 publication Critical patent/US20140068071A1/en
Assigned to HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP reassignment HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging

Definitions

  • Businesses are interested in consolidating software applications that run on individual, often under-utilized, servers onto a smaller number of more effectively used ones.
  • Such server consolidation is difficult to do as many technological and business factors need to be taken into account and large numbers of servers are typically involved.
  • relatively common consolidation projects typically involve the consolidation of a few hundred servers.
  • summarized performance data such as average or peak CPU utilization
  • FIG. 1 illustrates a high-level architecture 100 for server consolidation, in accordance with one embodiment.
  • FIG. 2 illustrates a server consolidation process, in accordance with one embodiment.
  • FIG. 3 illustrates details of the categorization of the server inventory in FIG. 2 , in accordance with one embodiment.
  • FIG. 4 illustrates the processing of the consolidation engine in FIG. 2 , in accordance with one embodiment.
  • a server is a computer or network of computers. Examples of a server include but are not limited to one or more desktop computers, one or more laptop computers, one or more mainframe computers, one or more networked computers, one or more processor-based devices, or any similar types of systems and devices. Thus, a server includes one or more processors of any of a number of computer processors, such as processors from Intel, Motorola, AMD, Cyrix.
  • Each processor is coupled to or includes at least one memory device, such as a computer readable medium (CRM).
  • the processor is operable to execute computer-executable program instructions stored in the CRM, such as program code of applications, to run the applications.
  • the computer-executable program instructions include code from any suitable computer-programming language, such as C, C++, C#, Java, or the like.
  • Embodiments of a CRM include, but are not limited to, an electronic, optical, magnetic, or other storage or transmission device capable of providing a processor of the server with computer-readable instructions.
  • CRM examples include, but are not limited to, a floppy disk, CD-ROM, DVD, magnetic disk, memory chip, ROM, RAM, an ASIC, a configured processor, any optical medium, any magnetic tape or any other magnetic medium, or any other medium from which a computer processor is operable read instructions.
  • a server consolidation tool that is operable with any data collectors, wherein it is possible to conduct analyses of data provided by one or more such data collectors.
  • a server consolidation tool is provided to the user with a combined checklist (or summary) and navigator with a graphical user interface (GUI) to enable the user to achieve server consolidation with the desired quality and consistency.
  • GUI graphical user interface
  • Other embodiments offer users a high degree of flexibility in server consolidation by allowing the users to skip steps, come back to a step, choose a singular or plural forms (for example, in one or more selected groups of servers, scenarios, and consolidation constraints), and select numerous options and choices in the process.
  • Users are also offered choices in defining groups and scenarios, designating or marking servers with one of a plurality of usability statuses to indicate how each marked server is to be used in the server consolidation.
  • the usability statuses include a Replace status, a Reuse status, an Undecided (or don't know) status, and an Unchanged (or don't touch) status, as described later.
  • users are offered choices in articulating consolidation constraints and many other key elements of the analysis, as also described later.
  • the user gets results back through reports.
  • the user has direct access to data in a repository for data mining and creating further reports.
  • users are IT consultants, IT managers, system administrators, or any other entities that are interested in consolidating servers, rebalancing workloads of the servers, planning future server capacity, or providing server consolidation services with any combination of the first three.
  • FIG. 1 illustrates a high-level system architecture 100 for server consolidation in accordance with one embodiment.
  • one or more data collectors are employed for the data collection module 110 .
  • a data collector is one or more software programs, applications, or modules. The data collectors are used to discover and inventory those servers within a desired environment that need to be consolidated and to collect raw performance data of such source servers (hereinafter, “source servers”).
  • source servers For example, a desired environment is the entire information technology (IT) infrastructure of a company, and the servers that are detected and inventoried are those that are parts of or belong to such IT infrastructure.
  • IT information technology
  • information technology encompasses all forms of technology, including but are not limited to the design, development, installation, and implementation of hardware and software information systems and software applications, used to create, store, exchange and utilize information in its various forms including but are not limited to business data, conversations, still images, motion pictures and multimedia presentations technology and with the design development, installation, and implementation of information systems and applications.
  • any known data collector or collectors for the data collection module 110 because of the flexibility of the server consolidation architecture 100 to independently operate with any and all data collectors, so long as the collected data is collected appropriately by the data collector for input into the server consolidation tool.
  • Examples of possible data collectors include but are not limited to: HP Asset and OpenView softwares from Hewlett Packard Company of Palo Alto, Calif., BMC Discovery Express from BMC Software, Inc. of Houston, Tex.; and those data collectors available in the WMware CapacityPlanner software and CDAT software from IBM Corporation of Amonk, N.Y.
  • the inventory 114 of the source servers and the raw performance data 112 are processed separately, wherein the raw performance data 112 is subjected to processing by the data assurance module 120 to generate clean performance data 122 , and the server inventory 114 is subjected to processing by server categorization module 130 .
  • data assurance is automatically performed by the data assurance module 120 , which is one or more software programs, applications, or modules having computer-executable program instructions that include code from any suitable computer-programming language, such as C, C++, C#, Java, or the like.
  • data assurance is performed manually by a user reviewing the collected raw performance data based on predefined data assurance rules (for example, specifying data conditions that are considered abnormal performance) and deciding to include or exclude servers in the consolidation based on data or performance issues gathered from the review.
  • predefined data assurance rules for example, specifying data conditions that are considered abnormal performance
  • the clean performance data 122 is collected, it is fed to the consolidation engine 140 .
  • the clean performance data 122 is saved in an accessible storage space, such as a database, for access by the consolidation engine 140 as needed for desired.
  • the server inventory 114 is processed for further categorization to generate a categorized server inventory 132 .
  • the server categorization module 130 is performed by one or more categorization software programs, applications, or modules 131 , wherein the user is provided with a graphical user interface (GUI) 133 to select predetermined criteria or filters for the server categorization or to dynamically fill in additional criteria or filters as desired or needed for the server categorization.
  • GUI graphical user interface
  • the criteria or filters for server categorization are potentially determined by the user and based on, for example, server characteristics such as server location, functionality, environment, specification, or any combination thereof.
  • the GUI 133 is operable to allow the user to select individual servers from a list in the server inventory 114 .
  • those tasks or functions performed by the server categorization 130 are performed by the underlying categorization software application; whereas, any interactions between server categorization module 130 and users are done via the GUI 133 .
  • target servers data module 180 data relating to the user-selected target platform for new servers to be used for server consolidation (hereinafter) “target servers” or “consolidated servers”) is generated.
  • a target platform is the underlying hardware, and associated software, used to implement a server.
  • the target platform is, for example, a particular type of computer or type(s) of network of computers used to implement the server.
  • the target servers data module 180 includes one or more software programs, applications, or modules 181 , wherein the user is provided with a GUI 183 to allow the user to select a target hardware or platform from a list of candidate server models, available from one or more server manufacturers, for new servers to be used in the server consolidation.
  • the user relies on automated, predetermined policies, as programmed in the software application 181 , to select a target platform based on the user's input of one or more conditions or specifications. For example, the user specifies one or more criteria for selecting a target platform, such as selecting a target platform based on CPU speed specifications.
  • the selected target platform and its characteristics are output as the target servers data 150 .
  • the GUI 183 of the target servers data module 180 is integrated with the GUI 143 of the consolidation engine 140 . Alternatively, the GUI 183 is separate and distinct from the GUI 143 .
  • the clean performance data 122 , the categorized server inventory data 132 , and the target servers data 150 are fed into a consolidation engine 140 , which is used to further define and analyze a proposed server consolidation scenario, as will be described later.
  • the consolidation engine 140 includes a scenario selection module 145 and a consolidation analysis module 147 that interface with users via a GUI 143 .
  • each of the modules 145 and 147 includes one or more software programs, applications, or modules.
  • the GUI 143 is menu-based or screen-based to display different menus or screens (for example, web pages) to allow different inputs from users for various server consolidation tasks performed by the underlying modules 145 and 147 .
  • the GUI 143 is operable to allow the user to select a particular consolidation algorithm and set optional input parameters with the selected algorithm such as the initial number of new servers.
  • those tasks or functions performed by the consolidation engine 140 are performed by the underlying modules 145 and 147 , and any interactions between the consolidation engine 140 and users are done via the GUI 143 .
  • the server consolidation tasks are further described below.
  • the results of the consolidation analysis is output from consolidation engine 140 to a report software module 160 for the generation of reports for the user to review.
  • the results are also saved in a consolidation central repository 170 , such as a CRM, for future reference.
  • the server consolidation process is now described with reference to the process flow illustrated in FIG. 2 , with further reference to FIG. 1 .
  • the process, or any part thereof, is potentially performed by users who are, for example, in-house IT personnel in an organization wishing to consolidate the organization's IT assets, IT consultants providing consolidation services to their customers, or a combination of both in-house IT personnel and outside IT consultants.
  • the server consolidation process 200 begins with the collection of inventory ( 114 ) and raw performance ( 112 ) data of source servers in a desired environment by the data collection module 110 .
  • the collection is performed by the data collection module 110 as described earlier.
  • the quality of the monitored raw performance data 112 is assessed to determine whether such data is of sufficient quality for use in a consolidation analysis.
  • This quality assessment includes the use of the data assurance module 120 to clean the raw performance data 112 of the source servers.
  • Data assurance module 120 is desirable because in practice, a number of imperfections exist in the collected raw performance data 112 , and such imperfections affect the quality of consolidation analyses and recommendations.
  • data assurance module 120 includes checking the raw performance data 112 for a predefined set of imperfections, correcting at least some of the imperfections in the raw performance data, and generating clean performance data 122 of sufficient quality for use in server consolidation.
  • data assurance module 120 further deals with missing data, extra data, time synchronization, and outliers (values that are outside the expected range of a metric), for example, by excluding any server from consolidation that has too much missing data, extra data, or outliers, and by aligning different time stamps on data for time synchronization.
  • data assurance module 120 is operable to report abnormal server behaviors to the user so that the user is given an opportunity to exclude those servers with abnormal behaviors, for example, as based from the predefined set of imperfections or other predetermined criteria, from the consolidation analysis.
  • abnormal server behaviors include but are not limited to: a server that does not always report utilization data, a server that reports too much data, a server that reports maximum utilization of a particular resource for a sustained period of time (such as 100% server memory utilization for 60 minutes).
  • abnormal behaviors are predefined (such as those behaviors due to missing data, extra data, outliers, or latent demand) and subsequently modifiable as desired or needed.
  • data assurance module 120 provides the user an opportunity to examine information regarding the quality of the cleaned and non-cleaned performance data that has been collected. By seeing data or performance issues on the existing source servers, the user not only obtains a performance diagnosis of the current systems but also gains a level of confidence about the quality of the consolidation analyses that are to be conducted on the performance data.
  • the server inventory 114 is categorized by the server categorization module 130 .
  • FIG. 3 illustrates further details of the categorization of the server inventory at 230 . Referring now to FIG.
  • the server categorization module 130 first prompts and receives from the user a selection of a group of one or more source servers for consolidation based on some desired common characteristics of source servers in the selected group, wherein the user is given a choice to either create a new group of source servers for consolidation from a list of servers obtained from the server inventory 114 or select a group of source servers from a list of existing groups that are predefined by common server characteristics and stored in the server categorization module 130 .
  • the user is prompted to either create a new group of servers for consolidation from a list of all detected and inventoried servers in the IT infrastructure (found in the server inventory 114 ) or select a group from a list of existing groups of the detected and inventoried servers (found in the server categorization module 130 based on server information from the server inventory 114 ).
  • the list of existing groups of servers includes a group of servers that support the accounting department of the company, a group of servers that handle internal administrative functions of the company, and a group of servers that handle customer service functions of the company, whereby the user is able to select one of such groups for consolidation.
  • the user is able to create a new group by directly selecting individual source servers from the server inventory 114 .
  • the user is able to apply one or more filters, criteria, or constraints (hereinafter, “server filters”) using an available menu in the GUI 133 , and the underlying software application 131 correspondingly selects those servers from the server inventory 114 that match or satisfy the applied server filter(s) and outputs those servers to the categorized server inventory data 132 .
  • the server filters are predetermined and program coded in the software application 131 .
  • the software application 131 is operable to allow the user to dynamically create the server filters via the GUI 133 .
  • the server filters include one or more predetermined filters and one or more dynamically-created filters.
  • the user's ability to dynamically create one or more filters for the selection of servers for consolidation, which is not provided in existing consolidation tools, provides the user with the flexibility to modify the server consolidation to meet any unexpected desires or needs, which the predefined filters would not have anticipated.
  • the server categorization module 130 provides the user with a server grouping summary that allows the user to review and edit the selected server grouping as necessary or desired.
  • statistics about the selected group of servers, as gleaned from the clean performance data 122 are also provided to allow the user to evaluate the quality of the underlying data for such group of servers.
  • a target platform for one or more new target servers is selected or determined by the target servers data module 180 to replace those source servers that have been marked as Replace.
  • the target servers data module 180 is operable to provide the user with predefined, automated policies to select a target platform for new servers that is appropriate to the user's need or desire. For instance, one policy to select a target platform is based on desired or required power consumption specifications provided by the user. Another policy is based on the user's desired or required CPU speed.
  • Still another policy is based on the user's desired or required cap on the cost of the target platform; and still another policy is based on a combination of two or more of the aforementioned policies.
  • the target servers data module 180 allows the user to select a target platform from a list of target platforms.
  • the consolidation engine 140 is employed to further define and analyze one or more consolidation scenarios that correspond with one or more selected groups of servers based on input of the clean performance data 122 , the categorized server inventory 132 , and the target servers data 150 .
  • FIG. 4 illustrates further details of the processing by the consolidation engine at 250 , in accordance with one embodiment.
  • the scenario selection module 145 prompts the user to select or create a consolidation scenario (hereinafter, “scenario”) to run for a consolidation analysis of the selected group of source servers.
  • every existing group of servers stored in the server categorization module 130 includes a predetermined default scenario that runs absent a selection by the user otherwise.
  • the first scenario for each group is the default scenario.
  • Such default scenario is predetermined either by the user or any other authorized entity.
  • the predetermined default scenario corresponding to the selected existing group of source servers is provided for the user to select.
  • the user is also able to select any other existing scenario corresponding to the selected existing group of source servers.
  • existing scenarios are stored in a CRM in the consolidation engine 140 . Accordingly, at 252 , the scenario selection module 145 receives a selection of the default or any other existing scenario from the user.
  • the scenario selection module 145 prompts the user to assign a group name, create a scenario to be applied to the new group, and further create a name for the scenario. Furthermore, the user is able to leverage previous settings of an existing scenario in order to create a new scenario for an existing group of servers without having to re-enter such settings for the new scenario. In other words, the user is able to proceed directly to those settings in an existing scenario that the user wants to change in order to create a new scenario. The user then assigns a new scenario name to reflect the new settings of the new scenario to be performed.
  • the scenario selection module 145 receives a request to create a new scenario for the selected, newly created or existing, group of servers.
  • the scenario selection module 145 prompts the user to mark or assign each server in the selected group (or groups) with one of four usability statuses: Replace, Reuse, Undecided, and Unchanged.
  • a Replace status indicates that the server is to be removed from use as a target (or consolidated) server for the server consolidation.
  • a Reuse status indicates that the server is to be used as a target server subsequent for the server consolidation. Any workload (for example, application programs) currently running on a Reuse server remains on the Reuse server.
  • An Undecided status indicates that the server is to serve as a Replace or Reuse server as necessary (for example, as a Reuse server before any new server is used for the consolidation; otherwise, as a Replace server).
  • An Unchanged status indicates that the server is beyond the scope of the server consolidation and excluded from such consolidation because of some predetermined conditions, such as technical reasons, security reasons, policy mandates, or lack of data.
  • a server is marked as Unchanged either by the user, if the user has knowledge that the server is beyond the scope of the server consolidation, or automatically by the server categorization module 130 based on those predetermined conditions relating to data quality assessment that have been programmed therein.
  • the user is free to mark the selected servers based on any desired criteria, including but not limited to server characteristics (such as model, processor speed, server age, etc.) and operational decisions (such as migration to a different operating system or platform).
  • server characteristics such as model, processor speed, server age, etc.
  • operational decisions such as migration to a different operating system or platform.
  • all servers in a selected group for server consolidation are initially marked as Replace.
  • markings are changeable by the user via the GUI 133 .
  • the GUI 133 enables the user to sort and mark the servers based on a few desired parameters, such as server model, number of CPUs, CPU speed, memory, lease expiration date, etc.
  • the GUI 133 enables the user to select and mark individual servers from a list, wherein the GUI 133 allows the user to drag and drop into, or mark the servers as, one of four aforementioned statuses.
  • the markings are saved by the scenario selection module 145 in, for example, a CRM in the consolidation engine 140 , for the selected group of servers.
  • the scenario selection module 145 further determines whether those Undecided servers ultimately should be Replaced or Reused as necessary, based on predetermined policy considerations. For example, an Undecided server is determined to be Replaced if it is possible to accommodate the server's workloads by other servers in the group that has been marked as Reuse. On the other hand, an Undecided server is determined to be Reused if one or more new servers from the target servers data 150 are then required to replace the Undecided server.
  • Undecided servers are determined to be Replaced or Reused based on other predetermined policy considerations, such as “Use newer systems first,” “Use most powerful servers first,” “Use servers in Data Center A first,” etc.
  • the scenario selection module 145 prompts and receives from the user a selection of one or more constraints (hereinafter, “consolidation constraints”) on the consolidated servers, which include, in combination or alternatively: one or more new servers from the target platform, as provided by the target servers data 150 , Reuse servers as marked from the categorized server inventory 132 , and those Undecided servers that are determined to be Reused at 255 .
  • the selected constraints apply to all servers (Replaced, Reuse, Undecided, new) except for the Unchanged ones.
  • the GUI 143 allows the user to enter desired values for one or more fields in a consolidation constraint.
  • each consolidation constraint includes at least four fields: a performance metric definition (such as “CPU utilization”), a time interval aggregation method or function for each defined performance metric (such as “5-minute average”), a performance limit for each defined performance metric (such as “65%”), and a probability goal for satisfying the performance limit (such as “0.995”).
  • the probability goal which is not provided in existing consolidation tools, is an important field in the consolidation constraint because it enables the user to set a desired efficiency level for the consolidated servers.
  • a user-defined constraint is: 5-minute average CPU-utilization not exceeding 65% of maximum CPU utilization with a probability of 0.995.
  • the user is free to enter any performance metric (CPU, memory, disk Input/Output, network Input/Output) for which there is historical data, any time interval (5-minute, 15-minute, 1-hour, 1-day, etc.), any aggregation function (average, maximum), any limit, and any probability goal.
  • any performance metric CPU, memory, disk Input/Output, network Input/Output
  • any time interval 5-minute, 15-minute, 1-hour, 1-day, etc.
  • any aggregation function average, maximum
  • any limit any probability goal.
  • the user is able to refer to the current averages for the selected metrics for those current source servers as guidelines to setting constraints on the consolidated servers.
  • the scenario selection module 145 prompts the user to select one or more subsets of the clean performance data 122 , as part of the definition of the scenario being created, by selecting a desired time window for each of the subsets.
  • the user is prompted by the GUI 143 to specify the beginning and ending of the time window of the historical clean performance data 122 for consideration in the consolidation analysis.
  • This capability allows the user to specify, for instance, business hours for specific server locations to further understand the time-dynamic nature of those source servers that need to be consolidated.
  • data mining techniques are applied to detect business cycles and data availability for most IT systems in order to specify desired time windows for consolidation analyses. As mentioned earlier, statistics about the underlying data are provided for users to evaluate and assess the quality of the underlying data used in the consolidation analysis.
  • the scenario selection module 145 further defines the scenario being created by prompting and receiving from the user the desired virtualization overhead and the anticipated growth factor.
  • the consolidation engine 140 includes a virtualization-sizing tool (not shown) that assists the user with the size and scope of the virtualization overhead desired for server consolidation.
  • a virtualization-sizing tool includes but is not limited to the Virtualization Sizer software from Hewlett Packard.
  • Virtualization overhead refers to the additional server resources, such as CPU utilization and memory utilization, that are needed to implementation server consolidation on physical servers.
  • VMWare virtualization software
  • the virtualization software contributes to the virtualization overhead because it consumes server resources when running on the target server.
  • Growth factor refers to the anticipated growth of the workloads in the source servers selected for server consolidation.
  • the GUI 143 of the consolidation engine 140 is operable to allow the user to review and edit all the parameters the user has selected for the scenario to be analyzed, including but are not limited to: the selected group of servers for consolidation and their characteristics (at 231 and 232 , FIG. 3 ); the number of servers in each of the Replace, Reuse, Undecided, and Unchanged categories as well as those servers that are identified for exclusion in the analysis; the time window of the consolidation analysis as set at 257 ; the target hardware platform from the target servers data 150 ; the consolidation constraints as set at 256 or associated with the selected scenario at 252 ; the virtualization overhead; and the anticipated growth.
  • the consolidation engine 140 is operable to allow the user to further specify a percentage to flag in the results file those consolidated servers that are within this percentage of reaching the limit. For example, the user is interested in flagging those consolidated servers that are within 10% of reaching their limits to determine how close the consolidation result is to achieving the metric objectives. in turn, the user is able to run additional consolidation scenarios to determine different consolidation results under different metric objectives.
  • the consolidation engine 140 invokes a consolidation analysis software program, application, or module 147 to run a consolidation analysis of the consolidated servers based on the user-selected or created scenario and parameters therein.
  • consolidation analysis software applications that are operable in the consolidation engine 140 include but are not limited to those consolidation analysis engines in the IBM CDAT and WMware CapacityPlanner.
  • the user is able to select multiple groups of servers (and a selected or created scenario corresponding to each of the selected groups) at once for server consolidation analysis and comparisons between the different scenarios, wherein the selected groups include newly-created groups of servers, existing groups of servers, or both newly-created and existing groups of servers.
  • the scenario selection module 145 takes into account potential conflict issues that possibly arise from a server that belongs to more than one selected group and is thus marked differently and subjected to different scenarios in different groups (such server marking is further described later).
  • the format of data, such as server characteristics gleaned from the clean performance data 122 and corresponding scenario, for each selected server group is organized in a tabular format, similar to a spreadsheet, to enable quick viewing, scrolling, sorting, filtering, and summarization.
  • the consolidation engine 140 is operable to allow the user to review the results prior to saving such results in a consolidation central repository 170 .
  • the results that are displayed by the GUI 143 include, but are not limited to, the number of servers before and after consolidation and the analyzed scenario and its effect to each of the servers involved in the consolidation process.
  • the user With an analyzed consolidation scenario, the user is able to spot in the list those servers that had data or performance issues. Such visibility allows the user determine the level of confidence with the consolidation analysis. For example, if a lot of servers have data or performance issues, the consolidation analysis has limited value and is not reliable.
  • the analyzed consolidation scenario also provides the user with the predicted probabilities of meeting each of the user-defined consolidation constraints, wherein servers that do, or do not, meet, for example, the desired threshold probability for one or more of the consolidation constraints are highlighted or marked so as to notify the user.
  • An analyzed consolidation scenario further provides predicted high and average watermarks, based on historical data and anticipated growth, for each of the metrics in the user-defined constraints, identification (for example, through highlighting or marking) of target servers that are close to such watermarks, as discussed above regarding the flagging of the servers prior to running the consolidation analysis.
  • the user is able to run another consolidation analysis by going through the server consolidation process 200 in FIG. 2 , beginning at any of the positions 230 - 250 described above. It should be noted that the user is able to iterate through quality assessment of the raw performance data at 220 multiple times to conduct preliminary analyses before all data is available for server consolidation.
  • the user is able to select all or a subset of the consolidation analyses to be summarized in professional documents such as reports in Word format or as presentations in PowerPoint format with the report module 160 ( FIG. 1 ). As stated earlier, it is possible to include in the reports information such as predicted high and average watermarks of the target servers.
  • the results of the consolidation analyses are saved or deposited in a consolidation central repository 170 , such as a server having a CRM, for storage and subsequent reporting with the report module 160 .
  • the user submits the results files, documents, or reports of the selected analyses to a central website that generates in return multiple user documents that contain pre-generated text (standard as well as custom text based on the data), charts, and tables.
  • a central website that generates in return multiple user documents that contain pre-generated text (standard as well as custom text based on the data), charts, and tables.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A method for server consolidation is provided. The method includes collecting performance data of a plurality of source servers in a desired environment, selecting a group of one or more source servers from the plurality of source servers for consolidation, marking each source server in the with one of multiple usability statuses with one of such statuses indicates the marked source server is to be replaced or reused as necessary in the server consolidation, selecting a target platform for a new server, and performing a first server consolidation analysis of the first group based at least on the collected performance data, the initial usability status of each source server in the first group, and the first selected target platform.

Description

    CROSS-REFERENCE
  • This application is related to U.S. patent application Ser. No. _____, entitled, “PERFORMANCE-DATA BASED SERVER CONSOLIDATION” (Attorney Docket No. 200504202), filed on _____, which is herein incorporated by reference in its entirety.
  • BACKGROUND
  • Businesses are interested in consolidating software applications that run on individual, often under-utilized, servers onto a smaller number of more effectively used ones. Such server consolidation is difficult to do as many technological and business factors need to be taken into account and large numbers of servers are typically involved. For example, relatively common consolidation projects typically involve the consolidation of a few hundred servers. The amount of performance data involved in analyzing server utilization and identifying performance bottlenecks is staggering, causing many users to rely only on summarized performance data (such as average or peak CPU utilization) for the analysis. However, such simple summarized data does not reflect the time-dynamic nature of the system performance and leads to overly conservative consolidation plans. For example, using a single CPU utilization number implicitly assumes that workload peaks across servers occur exactly at the same time, which is not a realistic assumption and negates the value of sharing workloads that are complementary in their time and resource usage patterns. Conventional solutions for server consolidation vary from simple rules of thumb to complex consolidation tools. Rules of thumbs typically lack the consistency and thoroughness and typically overlook performance data or issues.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Embodiments are illustrated by way of example and not limited in the following figure(s), in which like numerals indicate like elements, in which:
  • FIG. 1 illustrates a high-level architecture 100 for server consolidation, in accordance with one embodiment.
  • FIG. 2 illustrates a server consolidation process, in accordance with one embodiment.
  • FIG. 3 illustrates details of the categorization of the server inventory in FIG. 2, in accordance with one embodiment. And
  • FIG. 4 illustrates the processing of the consolidation engine in FIG. 2, in accordance with one embodiment.
  • DETAILED DESCRIPTION
  • For simplicity and illustrative purposes, the principles of the embodiments are described by referring mainly to examples thereof. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the embodiments. It will be apparent however, to one of ordinary skill in the art, that the embodiments may be practiced without limitation to these specific details. In other instances, well known methods and structures have not been described in detail so as not to unnecessarily obscure the embodiments.
  • Methods and systems for providing a systematic and consistent approach for consolidating servers and server consolidation services are described herein. Existing consolidation tools, such as CapacityPlanner software from WMware of Houston, Tex., usually do not provide much assessment of data or performance issues that potentially have existed and lack flexibility in terms of the analyses a user potentially wants to conduct. For example, the user potentially wants to perform quick consolidation analyses with various subsets or time windows of the performance data to reflect the time-dynamic nature of the system performance or explore different consolidation scenarios under different growth assumptions. This is because conducting multiple analyses and reporting results on consolidation scenarios are often difficult and time consuming as many parameters need to be considered. Also, existing consolidation tools do not offer a seamless integration across data quality assessment, analysis, and results. Furthermore, in the case of the WMware CapacityPlanner, users are required to collect the performance data using the WMware tool and transfer the data to an external site to perform any analysis. Such requirement is not acceptable by companies who have very strict policies on data confidentiality.
  • Accordingly, the methods and systems described herein provide users with structured techniques to seamlessly integrate across data quality management, analysis, and results, and evaluate and summarize many server consolidation scenarios easily and quickly and with reliance on consolidation analyses that are data-driven and for which the quality of the data has been assessed. As referred herein, a server is a computer or network of computers. Examples of a server include but are not limited to one or more desktop computers, one or more laptop computers, one or more mainframe computers, one or more networked computers, one or more processor-based devices, or any similar types of systems and devices. Thus, a server includes one or more processors of any of a number of computer processors, such as processors from Intel, Motorola, AMD, Cyrix. Each processor is coupled to or includes at least one memory device, such as a computer readable medium (CRM). The processor is operable to execute computer-executable program instructions stored in the CRM, such as program code of applications, to run the applications. The computer-executable program instructions include code from any suitable computer-programming language, such as C, C++, C#, Java, or the like. Embodiments of a CRM include, but are not limited to, an electronic, optical, magnetic, or other storage or transmission device capable of providing a processor of the server with computer-readable instructions. Other examples of a suitable CRM include, but are not limited to, a floppy disk, CD-ROM, DVD, magnetic disk, memory chip, ROM, RAM, an ASIC, a configured processor, any optical medium, any magnetic tape or any other magnetic medium, or any other medium from which a computer processor is operable read instructions.
  • In one embodiment, there is provided a server consolidation tool that is operable with any data collectors, wherein it is possible to conduct analyses of data provided by one or more such data collectors. In another embodiment, a server consolidation tool is provided to the user with a combined checklist (or summary) and navigator with a graphical user interface (GUI) to enable the user to achieve server consolidation with the desired quality and consistency. Other embodiments offer users a high degree of flexibility in server consolidation by allowing the users to skip steps, come back to a step, choose a singular or plural forms (for example, in one or more selected groups of servers, scenarios, and consolidation constraints), and select numerous options and choices in the process. Users are also offered choices in defining groups and scenarios, designating or marking servers with one of a plurality of usability statuses to indicate how each marked server is to be used in the server consolidation. In one embodiment, the usability statuses include a Replace status, a Reuse status, an Undecided (or don't know) status, and an Unchanged (or don't touch) status, as described later. Furthermore, users are offered choices in articulating consolidation constraints and many other key elements of the analysis, as also described later. In one embodiment the user gets results back through reports. In another embodiment the user has direct access to data in a repository for data mining and creating further reports. As referred herein, users are IT consultants, IT managers, system administrators, or any other entities that are interested in consolidating servers, rebalancing workloads of the servers, planning future server capacity, or providing server consolidation services with any combination of the first three.
  • FIG. 1 illustrates a high-level system architecture 100 for server consolidation in accordance with one embodiment. However, alternative embodiments of server consolidation that operate with different systems are contemplated, as understood from the present disclosure. In FIG. 1, one or more data collectors are employed for the data collection module 110. In one embodiment, a data collector is one or more software programs, applications, or modules. The data collectors are used to discover and inventory those servers within a desired environment that need to be consolidated and to collect raw performance data of such source servers (hereinafter, “source servers”). For example, a desired environment is the entire information technology (IT) infrastructure of a company, and the servers that are detected and inventoried are those that are parts of or belong to such IT infrastructure. As referred herein, information technology, or IT, encompasses all forms of technology, including but are not limited to the design, development, installation, and implementation of hardware and software information systems and software applications, used to create, store, exchange and utilize information in its various forms including but are not limited to business data, conversations, still images, motion pictures and multimedia presentations technology and with the design development, installation, and implementation of information systems and applications.
  • As discussed earlier, in contrast to prior art consolidation tools, it is possible to employ any known data collector or collectors for the data collection module 110 because of the flexibility of the server consolidation architecture 100 to independently operate with any and all data collectors, so long as the collected data is collected appropriately by the data collector for input into the server consolidation tool. Examples of possible data collectors include but are not limited to: HP Asset and OpenView softwares from Hewlett Packard Company of Palo Alto, Calif., BMC Discovery Express from BMC Software, Inc. of Houston, Tex.; and those data collectors available in the WMware CapacityPlanner software and CDAT software from IBM Corporation of Amonk, N.Y.
  • Referring back to FIG. 1, the inventory 114 of the source servers and the raw performance data 112 are processed separately, wherein the raw performance data 112 is subjected to processing by the data assurance module 120 to generate clean performance data 122, and the server inventory 114 is subjected to processing by server categorization module 130. In one embodiment, data assurance is automatically performed by the data assurance module 120, which is one or more software programs, applications, or modules having computer-executable program instructions that include code from any suitable computer-programming language, such as C, C++, C#, Java, or the like. In an alternative embodiment, data assurance is performed manually by a user reviewing the collected raw performance data based on predefined data assurance rules (for example, specifying data conditions that are considered abnormal performance) and deciding to include or exclude servers in the consolidation based on data or performance issues gathered from the review. As the clean performance data 122 is collected, it is fed to the consolidation engine 140. Alternatively, the clean performance data 122 is saved in an accessible storage space, such as a database, for access by the consolidation engine 140 as needed for desired.
  • At server categorization module 130, the server inventory 114 is processed for further categorization to generate a categorized server inventory 132. In one embodiment, the server categorization module 130 is performed by one or more categorization software programs, applications, or modules 131, wherein the user is provided with a graphical user interface (GUI) 133 to select predetermined criteria or filters for the server categorization or to dynamically fill in additional criteria or filters as desired or needed for the server categorization. The criteria or filters for server categorization are potentially determined by the user and based on, for example, server characteristics such as server location, functionality, environment, specification, or any combination thereof. Alternatively, the GUI 133 is operable to allow the user to select individual servers from a list in the server inventory 114. Thus, as referred herein, those tasks or functions performed by the server categorization 130 are performed by the underlying categorization software application; whereas, any interactions between server categorization module 130 and users are done via the GUI 133.
  • At target servers data module 180, data relating to the user-selected target platform for new servers to be used for server consolidation (hereinafter) “target servers” or “consolidated servers”) is generated. As referred herein, a target platform is the underlying hardware, and associated software, used to implement a server. Thus, the target platform is, for example, a particular type of computer or type(s) of network of computers used to implement the server. In one embodiment, the target servers data module 180 includes one or more software programs, applications, or modules 181, wherein the user is provided with a GUI 183 to allow the user to select a target hardware or platform from a list of candidate server models, available from one or more server manufacturers, for new servers to be used in the server consolidation. Alternatively, the user relies on automated, predetermined policies, as programmed in the software application 181, to select a target platform based on the user's input of one or more conditions or specifications. For example, the user specifies one or more criteria for selecting a target platform, such as selecting a target platform based on CPU speed specifications. The selected target platform and its characteristics are output as the target servers data 150. In one embodiment, the GUI 183 of the target servers data module 180 is integrated with the GUI 143 of the consolidation engine 140. Alternatively, the GUI 183 is separate and distinct from the GUI 143.
  • The clean performance data 122, the categorized server inventory data 132, and the target servers data 150 are fed into a consolidation engine 140, which is used to further define and analyze a proposed server consolidation scenario, as will be described later. According to one embodiment, the consolidation engine 140 includes a scenario selection module 145 and a consolidation analysis module 147 that interface with users via a GUI 143. In one embodiment, each of the modules 145 and 147 includes one or more software programs, applications, or modules. The GUI 143 is menu-based or screen-based to display different menus or screens (for example, web pages) to allow different inputs from users for various server consolidation tasks performed by the underlying modules 145 and 147. For example, the GUI 143 is operable to allow the user to select a particular consolidation algorithm and set optional input parameters with the selected algorithm such as the initial number of new servers. Thus, as referred herein, those tasks or functions performed by the consolidation engine 140 are performed by the underlying modules 145 and 147, and any interactions between the consolidation engine 140 and users are done via the GUI 143. The server consolidation tasks are further described below.
  • The results of the consolidation analysis is output from consolidation engine 140 to a report software module 160 for the generation of reports for the user to review. The results are also saved in a consolidation central repository 170, such as a CRM, for future reference.
  • The server consolidation process is now described with reference to the process flow illustrated in FIG. 2, with further reference to FIG. 1. The process, or any part thereof, is potentially performed by users who are, for example, in-house IT personnel in an organization wishing to consolidate the organization's IT assets, IT consultants providing consolidation services to their customers, or a combination of both in-house IT personnel and outside IT consultants.
  • At 210, the server consolidation process 200 begins with the collection of inventory (114) and raw performance (112) data of source servers in a desired environment by the data collection module 110. The collection is performed by the data collection module 110 as described earlier.
  • At 220, the quality of the monitored raw performance data 112 is assessed to determine whether such data is of sufficient quality for use in a consolidation analysis. This quality assessment includes the use of the data assurance module 120 to clean the raw performance data 112 of the source servers. Data assurance module 120 is desirable because in practice, a number of imperfections exist in the collected raw performance data 112, and such imperfections affect the quality of consolidation analyses and recommendations. Thus, in one embodiment, data assurance module 120 includes checking the raw performance data 112 for a predefined set of imperfections, correcting at least some of the imperfections in the raw performance data, and generating clean performance data 122 of sufficient quality for use in server consolidation. In another embodiment, data assurance module 120 further deals with missing data, extra data, time synchronization, and outliers (values that are outside the expected range of a metric), for example, by excluding any server from consolidation that has too much missing data, extra data, or outliers, and by aligning different time stamps on data for time synchronization.
  • Furthermore, data assurance module 120 is operable to report abnormal server behaviors to the user so that the user is given an opportunity to exclude those servers with abnormal behaviors, for example, as based from the predefined set of imperfections or other predetermined criteria, from the consolidation analysis. Examples of abnormal server behaviors include but are not limited to: a server that does not always report utilization data, a server that reports too much data, a server that reports maximum utilization of a particular resource for a sustained period of time (such as 100% server memory utilization for 60 minutes). Thus, abnormal behaviors are predefined (such as those behaviors due to missing data, extra data, outliers, or latent demand) and subsequently modifiable as desired or needed. Thus, data assurance module 120 provides the user an opportunity to examine information regarding the quality of the cleaned and non-cleaned performance data that has been collected. By seeing data or performance issues on the existing source servers, the user not only obtains a performance diagnosis of the current systems but also gains a level of confidence about the quality of the consolidation analyses that are to be conducted on the performance data.
  • At 230, concurrent with, subsequent to, or prior to the data quality assessment at 220, the server inventory 114 is categorized by the server categorization module 130. FIG. 3 illustrates further details of the categorization of the server inventory at 230. Referring now to FIG. 3, at 231, the server categorization module 130 first prompts and receives from the user a selection of a group of one or more source servers for consolidation based on some desired common characteristics of source servers in the selected group, wherein the user is given a choice to either create a new group of source servers for consolidation from a list of servers obtained from the server inventory 114 or select a group of source servers from a list of existing groups that are predefined by common server characteristics and stored in the server categorization module 130. Thus, referring back to the aforementioned example wherein the desired environment for server detection and inventory is the entire IT infrastructure of a company, the user is prompted to either create a new group of servers for consolidation from a list of all detected and inventoried servers in the IT infrastructure (found in the server inventory 114) or select a group from a list of existing groups of the detected and inventoried servers (found in the server categorization module 130 based on server information from the server inventory 114). For example, the list of existing groups of servers includes a group of servers that support the accounting department of the company, a group of servers that handle internal administrative functions of the company, and a group of servers that handle customer service functions of the company, whereby the user is able to select one of such groups for consolidation.
  • To create a new group of servers for consolidation, according to one embodiment as discussed earlier, the user is able to create a new group by directly selecting individual source servers from the server inventory 114. Alternatively, as also discussed earlier, the user is able to apply one or more filters, criteria, or constraints (hereinafter, “server filters”) using an available menu in the GUI 133, and the underlying software application 131 correspondingly selects those servers from the server inventory 114 that match or satisfy the applied server filter(s) and outputs those servers to the categorized server inventory data 132. In one embodiment, the server filters are predetermined and program coded in the software application 131. In another embodiment, the software application 131 is operable to allow the user to dynamically create the server filters via the GUI 133. In still another embodiment, the server filters include one or more predetermined filters and one or more dynamically-created filters. The user's ability to dynamically create one or more filters for the selection of servers for consolidation, which is not provided in existing consolidation tools, provides the user with the flexibility to modify the server consolidation to meet any unexpected desires or needs, which the predefined filters would not have anticipated.
  • Accordingly, at 232, as the user makes a selection of a group (or groups) of servers for consolidation, the server categorization module 130 provides the user with a server grouping summary that allows the user to review and edit the selected server grouping as necessary or desired. As mentioned above, statistics about the selected group of servers, as gleaned from the clean performance data 122, are also provided to allow the user to evaluate the quality of the underlying data for such group of servers.
  • Referring back to the server consolidation process 200 in FIG. 2, at 240, once the selected group of source servers is categorized for server consolidation, a target platform for one or more new target servers is selected or determined by the target servers data module 180 to replace those source servers that have been marked as Replace. In one embodiment, as discussed earlier, the target servers data module 180 is operable to provide the user with predefined, automated policies to select a target platform for new servers that is appropriate to the user's need or desire. For instance, one policy to select a target platform is based on desired or required power consumption specifications provided by the user. Another policy is based on the user's desired or required CPU speed. Still another policy is based on the user's desired or required cap on the cost of the target platform; and still another policy is based on a combination of two or more of the aforementioned policies. In an alternative embodiment, as also discussed earlier, the target servers data module 180 allows the user to select a target platform from a list of target platforms.
  • At 250, the consolidation engine 140 is employed to further define and analyze one or more consolidation scenarios that correspond with one or more selected groups of servers based on input of the clean performance data 122, the categorized server inventory 132, and the target servers data 150. FIG. 4 illustrates further details of the processing by the consolidation engine at 250, in accordance with one embodiment.
  • Referring now to FIG. 4, at 251, the scenario selection module 145 prompts the user to select or create a consolidation scenario (hereinafter, “scenario”) to run for a consolidation analysis of the selected group of source servers. In one embodiment, every existing group of servers stored in the server categorization module 130 includes a predetermined default scenario that runs absent a selection by the user otherwise. For example, the first scenario for each group is the default scenario. Such default scenario is predetermined either by the user or any other authorized entity. Thus, when the user selects an existing group of source servers stored in the server categorization module 130 for consolidation, the predetermined default scenario corresponding to the selected existing group of source servers is provided for the user to select. Alternatively, the user is also able to select any other existing scenario corresponding to the selected existing group of source servers. In one embodiment, existing scenarios are stored in a CRM in the consolidation engine 140. Accordingly, at 252, the scenario selection module 145 receives a selection of the default or any other existing scenario from the user.
  • When the user creates a new group of servers for consolidation at 231 (FIG. 3) rather than selects an existing group of source servers, the scenario selection module 145 prompts the user to assign a group name, create a scenario to be applied to the new group, and further create a name for the scenario. Furthermore, the user is able to leverage previous settings of an existing scenario in order to create a new scenario for an existing group of servers without having to re-enter such settings for the new scenario. In other words, the user is able to proceed directly to those settings in an existing scenario that the user wants to change in order to create a new scenario. The user then assigns a new scenario name to reflect the new settings of the new scenario to be performed. Accordingly, at 253, the scenario selection module 145 receives a request to create a new scenario for the selected, newly created or existing, group of servers. In response, at 254 the scenario selection module 145 prompts the user to mark or assign each server in the selected group (or groups) with one of four usability statuses: Replace, Reuse, Undecided, and Unchanged. A Replace status indicates that the server is to be removed from use as a target (or consolidated) server for the server consolidation. A Reuse status indicates that the server is to be used as a target server subsequent for the server consolidation. Any workload (for example, application programs) currently running on a Reuse server remains on the Reuse server. An Undecided status indicates that the server is to serve as a Replace or Reuse server as necessary (for example, as a Reuse server before any new server is used for the consolidation; otherwise, as a Replace server). An Unchanged status indicates that the server is beyond the scope of the server consolidation and excluded from such consolidation because of some predetermined conditions, such as technical reasons, security reasons, policy mandates, or lack of data. A server is marked as Unchanged either by the user, if the user has knowledge that the server is beyond the scope of the server consolidation, or automatically by the server categorization module 130 based on those predetermined conditions relating to data quality assessment that have been programmed therein.
  • With the scenario selection module 145, the user is free to mark the selected servers based on any desired criteria, including but not limited to server characteristics (such as model, processor speed, server age, etc.) and operational decisions (such as migration to a different operating system or platform). In one embodiment, by default, all servers in a selected group for server consolidation are initially marked as Replace. However, such markings are changeable by the user via the GUI 133. For example, the GUI 133 enables the user to sort and mark the servers based on a few desired parameters, such as server model, number of CPUs, CPU speed, memory, lease expiration date, etc. In another example, the GUI 133 enables the user to select and mark individual servers from a list, wherein the GUI 133 allows the user to drag and drop into, or mark the servers as, one of four aforementioned statuses. The markings are saved by the scenario selection module 145 in, for example, a CRM in the consolidation engine 140, for the selected group of servers.
  • It should be noted that, as used herein, the names “Replace,” “Reuse,” “Undecided,” and “Unchanged” are merely used to identify and differentiate the four different usability statuses that mark the selected servers for consolidation. Thus, alternative embodiments are contemplated wherein different names are used for the four statuses (for example, first status, second status, third status, and fourth status) without deviating from the meanings of the four statuses as described herein.
  • At 255, for any servers that have been marked Undecided, the scenario selection module 145 further determines whether those Undecided servers ultimately should be Replaced or Reused as necessary, based on predetermined policy considerations. For example, an Undecided server is determined to be Replaced if it is possible to accommodate the server's workloads by other servers in the group that has been marked as Reuse. On the other hand, an Undecided server is determined to be Reused if one or more new servers from the target servers data 150 are then required to replace the Undecided server. Alternative embodiments are contemplated, wherein the Undecided servers are determined to be Replaced or Reused based on other predetermined policy considerations, such as “Use newer systems first,” “Use most powerful servers first,” “Use servers in Data Center A first,” etc.
  • At 256, once the Undecided servers are determined to be Replaced or Reused, to further define the scenario being created, the scenario selection module 145 prompts and receives from the user a selection of one or more constraints (hereinafter, “consolidation constraints”) on the consolidated servers, which include, in combination or alternatively: one or more new servers from the target platform, as provided by the target servers data 150, Reuse servers as marked from the categorized server inventory 132, and those Undecided servers that are determined to be Reused at 255. Thus, the selected constraints apply to all servers (Replaced, Reuse, Undecided, new) except for the Unchanged ones. In one embodiment, the GUI 143 allows the user to enter desired values for one or more fields in a consolidation constraint. In one embodiment, each consolidation constraint includes at least four fields: a performance metric definition (such as “CPU utilization”), a time interval aggregation method or function for each defined performance metric (such as “5-minute average”), a performance limit for each defined performance metric (such as “65%”), and a probability goal for satisfying the performance limit (such as “0.995”). The probability goal, which is not provided in existing consolidation tools, is an important field in the consolidation constraint because it enables the user to set a desired efficiency level for the consolidated servers. One example of a user-defined constraint is: 5-minute average CPU-utilization not exceeding 65% of maximum CPU utilization with a probability of 0.995. Thus, the user is free to enter any performance metric (CPU, memory, disk Input/Output, network Input/Output) for which there is historical data, any time interval (5-minute, 15-minute, 1-hour, 1-day, etc.), any aggregation function (average, maximum), any limit, and any probability goal. In one embodiment, the user is able to refer to the current averages for the selected metrics for those current source servers as guidelines to setting constraints on the consolidated servers.
  • At 257, the scenario selection module 145 prompts the user to select one or more subsets of the clean performance data 122, as part of the definition of the scenario being created, by selecting a desired time window for each of the subsets. In one embodiment, the user is prompted by the GUI 143 to specify the beginning and ending of the time window of the historical clean performance data 122 for consideration in the consolidation analysis. This capability allows the user to specify, for instance, business hours for specific server locations to further understand the time-dynamic nature of those source servers that need to be consolidated. In one embodiment, data mining techniques are applied to detect business cycles and data availability for most IT systems in order to specify desired time windows for consolidation analyses. As mentioned earlier, statistics about the underlying data are provided for users to evaluate and assess the quality of the underlying data used in the consolidation analysis.
  • At 258, the scenario selection module 145 further defines the scenario being created by prompting and receiving from the user the desired virtualization overhead and the anticipated growth factor. In an alternate embodiment, the consolidation engine 140 includes a virtualization-sizing tool (not shown) that assists the user with the size and scope of the virtualization overhead desired for server consolidation. An example of such a virtualization-sizing tool includes but is not limited to the Virtualization Sizer software from Hewlett Packard. Virtualization overhead refers to the additional server resources, such as CPU utilization and memory utilization, that are needed to implementation server consolidation on physical servers. For example, multiple workloads from different source servers are consolidated onto one target server, which then runs a virtualization software (such as VMWare) to virtualize multiple machines or servers (with different operating systems, CPUs, etc.) in order to handle the multiple workloads. Thus, the virtualization software contributes to the virtualization overhead because it consumes server resources when running on the target server. Growth factor refers to the anticipated growth of the workloads in the source servers selected for server consolidation.
  • At 259 a, before running a consolidation analysis of the selected or created scenario, the GUI 143 of the consolidation engine 140 is operable to allow the user to review and edit all the parameters the user has selected for the scenario to be analyzed, including but are not limited to: the selected group of servers for consolidation and their characteristics (at 231 and 232, FIG. 3); the number of servers in each of the Replace, Reuse, Undecided, and Unchanged categories as well as those servers that are identified for exclusion in the analysis; the time window of the consolidation analysis as set at 257; the target hardware platform from the target servers data 150; the consolidation constraints as set at 256 or associated with the selected scenario at 252; the virtualization overhead; and the anticipated growth. In one embodiment, the consolidation engine 140 is operable to allow the user to further specify a percentage to flag in the results file those consolidated servers that are within this percentage of reaching the limit. For example, the user is interested in flagging those consolidated servers that are within 10% of reaching their limits to determine how close the consolidation result is to achieving the metric objectives. in turn, the user is able to run additional consolidation scenarios to determine different consolidation results under different metric objectives.
  • At 259 b, the consolidation engine 140 invokes a consolidation analysis software program, application, or module 147 to run a consolidation analysis of the consolidated servers based on the user-selected or created scenario and parameters therein. Examples of consolidation analysis software applications that are operable in the consolidation engine 140 include but are not limited to those consolidation analysis engines in the IBM CDAT and WMware CapacityPlanner. In one embodiment, the user is able to select multiple groups of servers (and a selected or created scenario corresponding to each of the selected groups) at once for server consolidation analysis and comparisons between the different scenarios, wherein the selected groups include newly-created groups of servers, existing groups of servers, or both newly-created and existing groups of servers. Here, the scenario selection module 145 takes into account potential conflict issues that possibly arise from a server that belongs to more than one selected group and is thus marked differently and subjected to different scenarios in different groups (such server marking is further described later). The format of data, such as server characteristics gleaned from the clean performance data 122 and corresponding scenario, for each selected server group is organized in a tabular format, similar to a spreadsheet, to enable quick viewing, scrolling, sorting, filtering, and summarization.
  • Referring back to the server consolidation process 200 in FIG. 2, at 260, before saving the results of the consolidation analysis, the consolidation engine 140 is operable to allow the user to review the results prior to saving such results in a consolidation central repository 170. In one embodiment, the results that are displayed by the GUI 143 include, but are not limited to, the number of servers before and after consolidation and the analyzed scenario and its effect to each of the servers involved in the consolidation process. With an analyzed consolidation scenario, the user is able to spot in the list those servers that had data or performance issues. Such visibility allows the user determine the level of confidence with the consolidation analysis. For example, if a lot of servers have data or performance issues, the consolidation analysis has limited value and is not reliable. The analyzed consolidation scenario also provides the user with the predicted probabilities of meeting each of the user-defined consolidation constraints, wherein servers that do, or do not, meet, for example, the desired threshold probability for one or more of the consolidation constraints are highlighted or marked so as to notify the user. An analyzed consolidation scenario further provides predicted high and average watermarks, based on historical data and anticipated growth, for each of the metrics in the user-defined constraints, identification (for example, through highlighting or marking) of target servers that are close to such watermarks, as discussed above regarding the flagging of the servers prior to running the consolidation analysis. Once the user accepts the consolidation scenario for each of the servers, the user is able to save the results of the consolidation analysis using the assigned name of the scenario.
  • In one embodiment, the user is able to run another consolidation analysis by going through the server consolidation process 200 in FIG. 2, beginning at any of the positions 230-250 described above. It should be noted that the user is able to iterate through quality assessment of the raw performance data at 220 multiple times to conduct preliminary analyses before all data is available for server consolidation.
  • At 270 in FIG. 2, once the user has conducted and reviewed all the needed consolidation analyses, the user is able to select all or a subset of the consolidation analyses to be summarized in professional documents such as reports in Word format or as presentations in PowerPoint format with the report module 160 (FIG. 1). As stated earlier, it is possible to include in the reports information such as predicted high and average watermarks of the target servers. At 280, the results of the consolidation analyses are saved or deposited in a consolidation central repository 170, such as a server having a CRM, for storage and subsequent reporting with the report module 160. For example, the user submits the results files, documents, or reports of the selected analyses to a central website that generates in return multiple user documents that contain pre-generated text (standard as well as custom text based on the data), charts, and tables. Through the submission process, several major objectives are achieved: the consolidation results are consistently provided across multiple users, the results documents are consistently reported, and critical data of the results are stored in a consolidation central repository 170 that is accessible at a later time to improve the consolidation analysis module 147 and supplement the results of future consolidation analyses.
  • What has been described and illustrated herein are embodiments along with some of their variations. The terms, descriptions and figures used herein are set forth by way of illustration only and are not meant as limitations. Those skilled in the art will recognize that many variations are possible within the spirit and scope of the subject matter, which is intended to be defined by the following claims and their equivalents—in which all terms are meant in their broadest reasonable sense unless otherwise indicated.

Claims (22)

1-8. (canceled)
9. A non-transitory computer-readable medium on which is encoded program code executable by a processor, the program code comprising:
program code for collecting an inventory of a plurality of source servers in a desired environment;
program code for collecting performance data of the plurality of source servers in the inventory;
program code for cleaning the collected performance data to generate cleaned performance data;
program code for first prompting a creation of a first filter for selecting a first group having one or more source servers from the inventory;
program code for receiving a dynamic creation of the first filter based on the first prompting;
program code for selecting the first group based on the first filter; and
program code for performing a server consolidation analysis of the first group based on the cleaned performance data.
10. The non-transitory computer-readable medium of claim 9, further comprising:
program code for second prompting a creation of a second filter for selecting a second group having one or more source servers from the inventory;
program code for one of receiving a dynamic creation of the second filter based on the second prompting and receiving a predetermined filter for selecting the second group as the second filter;
program code for selecting the second group based on the received second filter; and
program code for performing a server consolidation analysis of both the first and second groups based on the cleaned performance data.
11. The non-transitory computer-readable medium of claim 9, wherein the program code for cleaning the collected information data comprises one of:
program code for identifying at least one predetermined imperfection in the collected performance data and correcting the at least one predetermined imperfection in the collected performance data; and
program code for identifying an abnormal behavior of any one of the plurality of source servers from the collected performance data based on at least one predetermined criterion and excluding the one source server with the abnormal behavior from the server consolidation analysis.
12. The non-transitory computer-readable medium of claim 9, wherein the program code for performing the server consolidation analysis comprises:
program code for prompting an input of a time window for a subset of the cleaned performance data;
program code for receiving the time window for the subset of the cleaned performance data based on the prompting;
program code for setting a performance limit for a target server to which the source servers in the first group is to be consolidated;
program code for setting a probability goal for the performance limit; and
program code for performing the server consolidation analysis of the first group based on the subset of the cleaned performance data, the performance limit, and the probability goal for the performance limit.
13. The non-transitory computer-readable medium of claim 12, wherein the program code for performing the server consolidation analysis further comprises:
program code for determining a virtualization overhead for a server consolidation; and
program code for determining an anticipated growth of the desired environment.
14. The non-transitory computer-readable medium of claim 9, further comprising:
program code for marking each source server in the first group with replace status, a reuse status, or an undecided status,
program code for selecting a target platform for a new server that replaces any source server in the first group based on the marked replace, reuse or undecided status of each of the source servers, wherein
the program code for performing the server consolidation analysis comprises program code for performing the server consolidation analysis based on the cleaned performance data and the selected target platform.
15. The non-transitory computer-readable medium of claim 9, further comprising:
program code for reporting a predicted high watermark and average watermark of the target server based on the performed server consolidation analysis.
16-20. (canceled)
21. A server consolidation system comprising:
a processor;
a data assurance module executed by the processor to clean performance data to generate cleaned performance data, wherein the performance data is for a plurality of source servers in inventory;
a scenario selection module executed by the processor to
prompt a creation of a first filter to select a first group having at least one source server from the inventory, and
receive a dynamic creation of the first filter based on the prompting;
a server categorization module executed by the processor to determine the first group based on the first filter; and
a consolidation engine executed by the processor to perform a server consolidation analysis of the first group based on the cleaned performance data.
22. The server consolidation system of claim 21, wherein the scenario selection module is to prompt a creation of a second filter to select a second group having at least one source server from the inventory, and receive a dynamic creation of the second filter based on the prompting to create the second filter and receive a predetermined filter to select the second group as the second filter;
the server categorization module is to deter nine the second group based on the second filter; and
the consolidation engine is to perform a server consolidation analysis of the second group based on the cleaned performance data.
23. The server consolidation system of claim 21, wherein to clean performance data, the data assurance module is to identify at least one predetermined imperfection in the performance data and correct the at least one predetermined imperfection in the performance data, and identify an abnormal behavior of one of the plurality of source servers from the performance data based on at least one predetermined criterion and excluding the one source server with the abnormal behavior from the server consolidation analysis.
24. The server consolidation system of claim 21, wherein the consolidation engine is to perform the server consolidation analysis of the first group based on a subset of the cleaned performance data falling within a selected time window, a performance limit of a target server for server consolidation, and a probability goal for the performance limit.
25. The server consolidation system of claim 21, wherein to perform the server consolidation analysis, the consolidation engine is to determine a virtualization overhead for a server consolidation, and determine an anticipated growth of a desired environment for hosting the at least one source server in the server consolidation.
26. The server consolidation system of claim 21, wherein the scenario selection module is to mark each source server in the first group with a replace status, a reuse status, or an undecided status, and
the server consolidation system comprises a target server module to select a target platform for a new server that replaces a source server in the first group based on the replace, reuse or undecided status of each of the source servers.
27. The server consolidation system of claim 26, wherein the consolidation engine is to perform the server consolidation analysis based on the selected target platform.
28. The server consolidation system of claim 21, comprising a reporting module to report a predicted high watermark and average watermark of a target server based on the performed server consolidation analysis.
29. A method comprising:
cleaning performance data collected for a plurality of source servers to generate cleaned performance data;
determining a first filter for selecting a first group having source servers from the plurality of source servers;
determining the first group based on the first filter;
marking each source server in the first group with a replace status, a reuse status, or an undecided status;
selecting a target platform for a new server that replaces any source server in the first group based on the marked replace, reuse or undecided status of each of the source servers; and
performing a server consolidation analysis, by a processor, based on the cleaned performance data and the selected target platform.
30. The method of claim 29, wherein cleaning the performance data comprises:
identifying at least one predetermined imperfection in the performance data;
correcting the at least one predetermined imperfection; and
identifying an abnormal behavior of one of the plurality of source servers from the performance data based on at least one predetermined criterion and excluding the one source server with the abnormal behavior from the server consolidation analysis.
31. The method of claim 29, wherein performing the server consolidation analysis comprises:
determining a time window for a subset of the cleaned performance data;
setting a performance limit for a target server to which the source servers in the first group is to be consolidated;
setting a probability goal for the performance limit; and
performing the server consolidation analysis of the first group based on the subset of the cleaned performance data, the performance limit, and the probability goal for the performance limit.
32. The method of claim 29, comprising:
determining a virtualization overhead for a server consolidation; and
determining an anticipated growth of a desired environment, wherein the server consolidation analysis is performed based on the virtualization overhead and the anticipated growth.
33. The method of claim 29, comprising:
reporting a predicted high watermark and average watermark of a target server based on the performed server consolidation analysis.
US14/074,454 2006-04-27 2013-11-07 Server consolidation Abandoned US20140068071A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/074,454 US20140068071A1 (en) 2006-04-27 2013-11-07 Server consolidation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/412,347 US8606894B1 (en) 2006-04-27 2006-04-27 Server consolidation
US14/074,454 US20140068071A1 (en) 2006-04-27 2013-11-07 Server consolidation

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/412,347 Division US8606894B1 (en) 2006-04-27 2006-04-27 Server consolidation

Publications (1)

Publication Number Publication Date
US20140068071A1 true US20140068071A1 (en) 2014-03-06

Family

ID=49681680

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/412,347 Active 2030-11-08 US8606894B1 (en) 2006-04-27 2006-04-27 Server consolidation
US14/074,454 Abandoned US20140068071A1 (en) 2006-04-27 2013-11-07 Server consolidation

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/412,347 Active 2030-11-08 US8606894B1 (en) 2006-04-27 2006-04-27 Server consolidation

Country Status (1)

Country Link
US (2) US8606894B1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150019195A1 (en) * 2013-07-09 2015-01-15 Oracle International Corporation Consolidation planning services for systems migration
US9959148B2 (en) 2015-02-11 2018-05-01 Wipro Limited Method and device for estimating optimal resources for server virtualization
US9979598B2 (en) 2014-10-10 2018-05-22 International Business Machines Corporation Reduction of management complexity of an information technology system
US10540335B2 (en) 2013-07-09 2020-01-21 Oracle International Corporation Solution to generate a scriptset for an automated database migration
US10691654B2 (en) 2013-07-09 2020-06-23 Oracle International Corporation Automated database migration architecture
US11036696B2 (en) 2016-06-07 2021-06-15 Oracle International Corporation Resource allocation for database provisioning
US11157664B2 (en) 2013-07-09 2021-10-26 Oracle International Corporation Database modeling and analysis
US11256671B2 (en) 2019-09-13 2022-02-22 Oracle International Corporation Integrated transition control center

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7769843B2 (en) * 2006-09-22 2010-08-03 Hy Performix, Inc. Apparatus and method for capacity planning for data center server consolidation and workload reassignment
US9288333B2 (en) * 2008-12-01 2016-03-15 At&T Intellectual Property I, L.P. Voice port utilization monitor
US9535751B2 (en) * 2011-09-15 2017-01-03 International Business Machines Corporation Resource selection advisor mechanism
US9207982B2 (en) * 2012-10-11 2015-12-08 American Express Travel Related Services Company, Inc. Method and system for managing processing resources
US9762461B2 (en) 2013-07-09 2017-09-12 Oracle International Corporation Cloud services performance tuning and benchmarking
US9792321B2 (en) 2013-07-09 2017-10-17 Oracle International Corporation Online database migration
US9805070B2 (en) 2013-07-09 2017-10-31 Oracle International Corporation Dynamic migration script management
US9442983B2 (en) 2013-07-09 2016-09-13 Oracle International Corporation Method and system for reducing instability when upgrading software
US9967154B2 (en) 2013-07-09 2018-05-08 Oracle International Corporation Advanced customer support services—advanced support cloud portal
US9336119B2 (en) * 2013-11-25 2016-05-10 Globalfoundries Inc. Management of performance levels of information technology systems
US10007701B2 (en) 2014-07-16 2018-06-26 Oracle International Corporation Database consolidation advisor
US11895181B2 (en) 2020-12-04 2024-02-06 Schneider Electric It Corporation Power optimization of microserver loads

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030023963A1 (en) * 2001-07-25 2003-01-30 International Business Machines Corporation Method and apparatus for automating software upgrades
US20060179431A1 (en) * 2003-03-19 2006-08-10 Unisys Corporation Rules-based deployment of computing components
US7610214B1 (en) * 2005-03-24 2009-10-27 Amazon Technologies, Inc. Robust forecasting techniques with reduced sensitivity to anomalous data
US7616583B1 (en) * 2003-07-23 2009-11-10 International Business Machines Corporation Method and program product for consolidating computer hardware resources

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249769B1 (en) * 1998-11-02 2001-06-19 International Business Machines Corporation Method, system and program product for evaluating the business requirements of an enterprise for generating business solution deliverables
US7392485B2 (en) * 2001-03-30 2008-06-24 Microsoft Corporation System and method for providing a server control interface
US20030225563A1 (en) * 2002-05-30 2003-12-04 Gonos Dan G. Capacity planning
US20040034577A1 (en) * 2002-08-15 2004-02-19 Van Hoose Jeffrey N. Methods and apparatus for analyzing an inventory for consolidation
JP2006520966A (en) * 2003-03-19 2006-09-14 ユニシス コーポレイシヨン Integrated server analysis
US8347297B2 (en) * 2005-05-20 2013-01-01 International Business Machines Corporation System and method of determining an optimal distribution of source servers in target servers
US7836452B2 (en) * 2005-06-10 2010-11-16 International Business Machines Corporation System, method and program for estimating a requisite amount of server resources

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030023963A1 (en) * 2001-07-25 2003-01-30 International Business Machines Corporation Method and apparatus for automating software upgrades
US20060179431A1 (en) * 2003-03-19 2006-08-10 Unisys Corporation Rules-based deployment of computing components
US7616583B1 (en) * 2003-07-23 2009-11-10 International Business Machines Corporation Method and program product for consolidating computer hardware resources
US7610214B1 (en) * 2005-03-24 2009-10-27 Amazon Technologies, Inc. Robust forecasting techniques with reduced sensitivity to anomalous data

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150019195A1 (en) * 2013-07-09 2015-01-15 Oracle International Corporation Consolidation planning services for systems migration
US10540335B2 (en) 2013-07-09 2020-01-21 Oracle International Corporation Solution to generate a scriptset for an automated database migration
US10691654B2 (en) 2013-07-09 2020-06-23 Oracle International Corporation Automated database migration architecture
US10776244B2 (en) * 2013-07-09 2020-09-15 Oracle International Corporation Consolidation planning services for systems migration
US11157664B2 (en) 2013-07-09 2021-10-26 Oracle International Corporation Database modeling and analysis
US9979598B2 (en) 2014-10-10 2018-05-22 International Business Machines Corporation Reduction of management complexity of an information technology system
US10581691B2 (en) 2014-10-10 2020-03-03 International Business Machines Corporation Reduction of management complexity of an information technology system
US11018941B2 (en) 2014-10-10 2021-05-25 International Business Machines Corporation Reduction of management complexity of an information technology system
US9959148B2 (en) 2015-02-11 2018-05-01 Wipro Limited Method and device for estimating optimal resources for server virtualization
US11036696B2 (en) 2016-06-07 2021-06-15 Oracle International Corporation Resource allocation for database provisioning
US11256671B2 (en) 2019-09-13 2022-02-22 Oracle International Corporation Integrated transition control center
US11822526B2 (en) 2019-09-13 2023-11-21 Oracle International Corporation Integrated transition control center

Also Published As

Publication number Publication date
US8606894B1 (en) 2013-12-10

Similar Documents

Publication Publication Date Title
US8606894B1 (en) Server consolidation
US8255516B1 (en) Performance-data based server consolidation
US8051162B2 (en) Data assurance in server consolidation
RU2419854C2 (en) Template based service management
US8276152B2 (en) Validation of the change orders to an I T environment
US8276161B2 (en) Business systems management solution for end-to-end event management using business system operational constraints
US8645843B2 (en) Supporting role-based access control in component-based software systems
US8775232B2 (en) Transforming a legacy IT infrastructure into an on-demand operating environment
Netjes et al. Supporting the BPM life-cycle with FileNet
US8386418B2 (en) System and method for an intelligent storage service catalog
US8073880B2 (en) System and method for optimizing storage infrastructure performance
US20060025985A1 (en) Model-Based system management
US20080148231A1 (en) Computer-implemented system for analysis, administration, control, management and monitoring of a complex hardware/software architecture
US20080177753A1 (en) Method and system for asset transition project management
US20060184410A1 (en) System and method for capture of user actions and use of capture data in business processes
US20070250525A1 (en) Model-Based Event Processing
US20050144025A1 (en) Using technical performance metrics for business and usage analysis and cost allocation
EP1577755A2 (en) Model driven software
US7644006B2 (en) Semantically investigating business processes
US8055691B2 (en) System and method for using demographic organization and segmentation to manage large scale projects
Eckerson The keys to enterprise business intelligence: Critical success factors
US20120240121A1 (en) Cross functional area service identification
US7716327B2 (en) Storing dependency and status information with incidents
Kuruba DevOps for IT service reliability and availability
Mak et al. Improving Accessibility of Technical Drilling Applications via Wells on Cloud-based Platform

Legal Events

Date Code Title Description
AS Assignment

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;REEL/FRAME:037079/0001

Effective date: 20151027

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION