US9411697B2 - Creation of highly available pseudo-clone standby servers for rapid failover provisioning - Google Patents

Creation of highly available pseudo-clone standby servers for rapid failover provisioning Download PDF

Info

Publication number
US9411697B2
US9411697B2 US13/625,125 US201213625125A US9411697B2 US 9411697 B2 US9411697 B2 US 9411697B2 US 201213625125 A US201213625125 A US 201213625125A US 9411697 B2 US9411697 B2 US 9411697B2
Authority
US
United States
Prior art keywords
pseudo
clone
components
targeted
computing system
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.)
Expired - Fee Related, expires
Application number
US13/625,125
Other versions
US20130024720A1 (en
Inventor
Vijay Kumar Aggarwal
Craig Lawton
Christopher Andrew Peters
P. G. Ramachandran
Lorin Evan Ullmann
John Patrick Whitfield
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US13/625,125 priority Critical patent/US9411697B2/en
Publication of US20130024720A1 publication Critical patent/US20130024720A1/en
Priority to US15/189,633 priority patent/US10042724B2/en
Application granted granted Critical
Publication of US9411697B2 publication Critical patent/US9411697B2/en
Priority to US15/950,729 priority patent/US10740201B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

Definitions

  • IT Information Technology
  • IBM's Autonomic Computing is a self-managing computing model which is patterned on the human body's autonomic nervous system, controlling a computing environment's application programs and platforms without user input, similar to the way a human's autonomic nervous system regulates certain body functions without conscious decisions.
  • IBM has defined their On-Demand Computing technology as an enterprise whose business processes, integrated end-to-end across the company and with key partners, suppliers, and customers, can respond quickly to any customer demand, market opportunity, or external threat.
  • Provisioning is a term used to describe various aspects of managing computing environments, and which often implies different things to different parties. Throughout the present disclosure, we will use the term “provision” or “provisioning” to refer to a sequence of activities that need to happen in a specific order in order to realize a computing environment to meet specific needs and requirements. The activities have dependencies on previous activities, and typically include:
  • provisioning is typically a time and labor consuming process consisting of hundreds of distinct and complex steps, and requiring highly skilled system and network administrators.
  • server provisioning is the process of taking a server from “bare metal” to the state of running live business transactions.
  • problems may arise such as increases in resource expense and declines in level of performance, which in turn can lead to dissatisfied customers and unavailability in services.
  • TPM Transactional Management Manager Rapid Provisioning is a modular and flexible set of workflows and scripts for the IBM Tivoli Intelligent Orchestrator product.
  • the workflows have been generalized and packaged for customization by customers seeking to accelerate their provisioning process. They can be used as a starting point for an organization in automating not only their server provisioning process, but also other IT processes.
  • HP's OpenView OS Manager using Radia which is a policy-based provisioning and ongoing automated management tool for a variety of operating systems
  • Sun's N1 Grid Service Provisioning System automates to some degree the provisioning of applications.
  • “Disaster Recovery” is a broad term used in information technology to refer to the actions required to bring computing resources back online after a failure of the existing system, be it a small failure such as the failure of a single heavily loaded server among many servers, or a large failure such as loss of power or communications to an entire computing center.
  • These types of disasters may be caused by failure rates of the components (e.g. hardware and software failures), as well as by non-computing factors such as natural disasters (e.g. tornados, hurricanes, earthquakes, floods, etc.) and other technical disasters (e.g. power outages, virus attacks, etc.).
  • a computing center To recover from a disaster, a computing center must re-provision new servers and systems to replace the processing which was being performed by the previous system(s). Often times, the recovery is performed in a different geographic area, but sometimes the recovery is performed in the same physical or geographic location, depending on the nature of the disaster or failure.
  • the backup server's configuration is usually matched to the production server's configuration so that there is no provisioning time required to bring the backup server online and operational.
  • Disaster recovery implementation remains challenging even though provisioning with orchestration enables new approaches that are not dependent on high availability operating environments such as IBM's z/OS mainframe operating system, clusters, and addresses.
  • the server When a disaster occurs, the server will either be reinstalled or once it reaches the end of its usefulness, it will be replaced by a newer version with more features and higher reliability.
  • IP Internet Protocol
  • the management server ( 36 ) gathers the information on resources and then the management services ( 37 , 37 ′, 37 ′′′) monitor any processes currently being performed or executed.
  • the network pool ( 31 ) includes components such as routers, switches, fabrics and load balancers for the network environment.
  • the application pool ( 32 ) typically includes a first tier of the applications operating on the servers, such as a databases (e.g. IBM DB2, Oracle, etc.), running on top of server platform for suite (e.g. IBM WebSphere or equivalent).
  • the application resource pool ( 33 ) is a group of available, unassigned, unprovisioned servers that can be provisioned ( 38 ) into the active application pool.
  • the back-end resource pool ( 34 ) contains any backup servers necessary for the application pool ( 32 ), such as another set of database servers or web server.
  • the backend pool ( 35 ) serves as the collection or group of available servers that have been provisioned ( 38 ′) from the back-end resource pool ( 34 ).
  • Sub-capacity pricing permits a customer to license a product for use on less than the full capacity as determined by the number of processors of the computing platform. For example, with certain IBM products such as IBM iSeries and AS/400 hardware platforms platforms running OS/400 V4R4, or later, the system is isolated to a logical partition using IBM-provided tools. With subcapacity pricing, the number of processors which need to be licensed is the aggregation of all processors, including partial shares of a processor, across all partitions of a single machine (where the program is defined), rounded up to the next highest whole number. Thus, a customer can obtain considerable costs savings by sub-licensing, if a platform supports it. However, this presents a specific challenge to configuring backup servers and replacement servers, especially in situations where configuration time is of the essence.
  • some pools of servers may be governed by overall licensing restrictions, such as a restriction as to how many copies of a particular program may be running simultaneously across multiple servers in the pool. Taking into account these limitations can also present a considerable challenge to quickly configuring a replacement or backup server.
  • FIG. 1 depicts a generalized computing platform architecture, suitable for realization of the invention.
  • FIG. 2 shows a generalized organization of software and firmware associated with the generalized architecture of FIG. 1 .
  • FIG. 3 illustrates components and activities of typical provisioning management systems.
  • FIG. 4 illustrates components and activities of the pseudo-clone configuration and deployment processes according to the present invention.
  • FIG. 5 sets forth a logical process according to the present invention.
  • the present invention provides a system and method that provides “partial solutions”, e.g. servers which are partially provisioned, available to be used to meet any expectations when necessary for activities such as disaster recover.
  • Each partial solution, or “pseudo-clone” employs a highest level of common componentry (e.g. software, hardware, etc.) across several specifically configured and provisioned production servers to allow for a minimized set of final provisioning actions to be performed to allow the pseudo-clone to take on the processing activities of one of the specifically configured production servers.
  • a “highest common denominator” for a set of specific production servers is determined, followed by configuring one or more pseudo-clones to serve as a potential replacement for any of the specific production servers identified. Further according to the present invention, when one of the targeted production servers needs to be replaced or taken out of service, an appropriate pseudo-clone system is rapidly provisioned to take on the tasks of the server being taken out of service.
  • One available embodiment of the present invention is to realize the invention as an extension to or addition to the software and hardware components of an existing provisioning management system, such as the systems previously disclosed.
  • the present disclosure utilizes the previously described IBM TPM system for illustration purposes, but it will be readily recognized by those skilled in the art that the present invention may be applied to a wide variety of computing environments.
  • a first aspect of the method of the present invention determines the greatest amount of common componentry across several configurations of productions servers. For example, three server types in an enterprise, Server 1 , Server 2 , and Server N, such as the examples shown in FIGS. 4 ( 41 , 42 , and 43 ). In this example, all three servers including a computing platform and operating system, and for the sake of this example, we will assume they are all three using the same hardware platform and operating system. However, in practice, hardware platform details (e.g. processor type, amount of RAM, disk space, disk speed, communications bandwidth, etc.) and operating system (e.g. operating system make and model including revision level and service update level) are factors in determining the highest common denominator.
  • hardware platform details e.g. processor type, amount of RAM, disk space, disk speed, communications bandwidth, etc.
  • operating system e.g. operating system make and model including revision level and service update level
  • This enterprise ( 40 ), then consists of these three server types ( 41 , 42 , 43 ), all of which include the same hardware platform, operating system, and a Lightweight Directory Access Protocol (“LDAP”) server program.
  • LDAP Lightweight Directory Access Protocol
  • the highest common denominator for all three servers is this combination of components.
  • a pseudo-clone which is best suited to serve as a near-backup system for any of these three systems, e.g. a “low priority” pseudo-clone ( 49 ′′′), is pre-configured ( 48 ) to include only these components.
  • this pseudo-clone ( 49 ′′) By “pre-configuring” this pseudo-clone ( 49 ′′) to already have the highest common denominator componentry of all three servers, it allows “finish out” configuration ( 400 ) to a specific server configuration in minimal steps, minimal time, and minimal risk upon a failure event of any of the three servers ( 41 , 42 , 43 ).
  • the targeted resource pool is reduced to just Servers 1 and 2 ( 41 , 42 ), then the highest common denominator would be determined to be the hardware platform and operating system, an LDAP server, plus a Netview license and a WebSphere Application Server suite.
  • a “high priority” pseudo-clone ( 49 ′) for a pool of servers 1 and 2 ( 41 , 42 ), but not Server N, can be defined and configured ( 48 ), which would be even quicker to finally provision ( 400 ) to take on the configuration and tasks of either Server 1 or Server 2 in a fail-over or disaster recovery situation.
  • this higher-level pseudo-clone By “pre-configuring” ( 48 ) this higher-level pseudo-clone to already have the highest common denominator componentry of all a small variety of servers (e.g. just Servers 1 and 2 but not N), it allows even quicker “finish out” configuration to a specific server configuration in minimal steps, minimal time, and minimal risk upon a failure event of any of the targeted servers ( 41 , 42 ). However, if Server N fails, reconfiguring the pseudo-clone to perform the functions of Server N may be less than optimal (e.g. certain components have to be de-provisioned or uninstalled.
  • pre-configured servers ( 49 ′′) are possible, depending on the number of configuration options and configurations deployed in the production environment.
  • FIG. 4 is relatively simple, with just three different server configurations, and seven different component options. As such, it may be misleading to assume that the highest common denominator can be determined almost visually for such systems, while in practice, the number of configuration options or characteristics which must be considered in order to determine highest-common denominator pseudo-clone pre-configurations is much greater and more complex, including but not limited to the following options:
  • the present invention can employ relatively simple logic for simple applications and enterprise configurations, or may employ ontological processes based on axiomatic set theory, such as processes employing Euclid's Algorithm, Extended Euclid's Algorithm, or a variant of a Ferguson-Forcade algorithm, is employed to find the highest or greatest common denominator which each server configuration is viewed as a set of components. It is within the skill of those in the art to employ other logical processes to find common sets and subsets of given sets, as well.
  • axiomatic set theory such as processes employing Euclid's Algorithm, Extended Euclid's Algorithm, or a variant of a Ferguson-Forcade algorithm
  • server logs ( 45 ) are collected ( 53 ) from the various servers for use in determining which components are likely to fail, and the expected time to failure.
  • Hardware and even software components have failure rates, mean-time-between-failures, etc., which can be factored into the analysis to not only determine which pseudo-clone pre-configurations will support which subsets of production servers, but which production servers will likely fail earliest, so that more pseudo-clones for those higher failure rate production servers can be pre-configured and ready in time for the failure.
  • the expected time to failure and expected failure rates are applied to the pseudo-clone configurations to determine times in the future at which each pseudo-clone should actually be built and made ready.
  • E FF-PS(1+2+N) Earliest of ( E FF-A +E FF-B +E FF-C +E FF-D +E FF-E +E FF-G )
  • E FF-x is the individual expected time to first failure for component X.
  • the pseudo-clone system could be configured and made ready in the Pseudo-clone pool. Otherwise, until this time, the resources which would be consumed by the pseudo-clone can be used for other purposes.
  • the logical process of evaluation of the earliest time to first failure of a group of servers have different components must include all (e.g. the maximum superset) of the components that are in any of the targeted servers, not just the common components or the pseudo-clone components. This is because the pseudo-clone may be needed at a time which a component in a targeted server fails even when the component is a component which will be configured into the pseudo-clone in the completion steps ( 400 ).
  • backup clients are integrated with each server using a failover workflow definition. This creates a failover pool with standby servers designated which creates an pseudo-clone for each server, where each pseudo-clone is suitable for a plurality of targeted production servers.
  • Failover workflow provisioning process are used when a failover event occurs which provides administrators with more management capability while decreasing manual steps required previously.
  • the failed server is then decommissioned in the production pool and returned to a maintenance mode for further repair or recovery.
  • IT administrators have the ability to configure backups frequently when necessary and monitor each solution by using the orchestration defined monitoring workflows. Therefore, backups from production servers are stored in backup (or pseudo-clone) server pools.
  • the ability to automate uninstallion or reinstallation of applications based on the role of each provisioned server is employed, with a combination in imaging technologies, disk partitioning, boot control, and automation logic that drives application and backup which enables the automation capability.
  • FIG. 5 a high-level representation of the logical process of the present invention with respect to establishing pseudo-clone systems is shown, including some of the optional or enhanced aspects as previously described.
  • an initial server activity and history is established ( 51 ) for each production server to be cloned.
  • the invention optionally continues to monitor ( 53 ) for any server or requirement changes ( 52 ) based on server logs and new requirement information. If there are no changes ( 54 ), monitoring continues. If changes occur, or upon initial pseudo-clone pre-configuration, the invention reviews all information collected from sources such as the provisioning manager files ( 55 ) and other historical metric data ( 56 ).
  • the largest common denominator componentry is calculated ( 58 ), and appropriate pre-configuration and finish configuration workflows are determined ( 59 ).
  • the activity for the targeted servers is tracked ( 53 ) and statistics ( 56 ) are updated in order to improve predictions and expectations, and thus pseudo-clone availability, over time as real events occur.
  • the invention can be used during system upgrades or patch installation with a controlled failover.
  • an administrator would plan when a production server would be upgraded or patched, and would implement the pseudo-clone before that activity starts. Then, to cause a graceful transition of the targeted system out of service, the administrator could initiate a simulated failure of the targeted system, which would lead to the provisioning management system placing the pseudo-clone online in place of the targeted system.
  • a system which is diagnosed as being infected with a virus or other malicious code can also be quarantined, which effectively appears to be a system failure to the provisioning management system and which would lead to the pseudo-clone system being finally configured and placed online.
  • pseudo-clones may be created, including the workflows to realize those pseudo-clones, with particular attention to sub-licensing configuration requirements.
  • the common denominator analysis ( 58 ) is performed at a sub-server level according to any sub-licensing limitations of any of the targeted servers.
  • the highest common denominator of all the targeted servers would be a sub-license for 3 processors of the database application, and thus the pseudo-clone would be partially configured ( 48 ) to only include a 3-processor database license. If the pseudo-clone were later to be completion provisioned ( 400 ) to replace one of the fully-licensed servers, the license on the pseudo-clone would be upgraded accordingly as a set of the completion provisioning.
  • license restrictions may be considered when creating a pseudo-clone which targets one or more servers which are under a group-level license restriction. Instead of sub-licensing, this could be considered “super-licensing”, wherein a group of servers are restricted as to how many copies of a component can be executing simultaneously.
  • the pseudo-clone configuration workflow can optionally either omit super-licensed components from the pseudo-clone configuration, or mark the super-licensed components for special consideration for de-provisioning just prior to placing the finalized replacement server online during completion provisioning.
  • the invention determines ( 58 ) if a component of a highest common denominator component set is subject to a super-license restriction on any of the targeted servers. If so, it is not included in the pseudo-clone workflow for creating ( 48 ) the pseudo-clone, and thus the super-licensed component is left for installation or configuration during completion provisioning ( 400 ) when the terms of the super-license can be verified just before placing the replacement server online.
  • the same super-licensing analysis is performed ( 400 ) as in the first optional process, but the super-licensed component is configured ( 48 ) into the pseudo-clone (instead of being omitted).
  • the super-licensed component is marked as a super-licensed component for later consideration during completion provisioning.
  • completion provisioning the workflow is defined to check the terms of the super-license and the real-time status of usage of the licensed component, and if the license terms have been met or exceeded by the remaining online servers, the completion workflow de-provisions the super-licensed component prior to placing the replacement server online.
  • the failure predictor ( 57 ) is not only applied to the components of the targeted computing systems, but is also applied ( 501 ) to the components of the pseudo-clone itself.
  • a workflow for realizing the pseudo-clone and the completion provisioning can be defined ( 59 ) which produces ( 60 ) to a standby server which will not likely fail while it is being relied upon as a standby server (e.g. the standby server will have an expected time to failure equal to or greater than that of the servers which it protects).
  • Certain platforms are suitable for “high availability” operation, such as operation 24 hours per day, 7 days per week, 365 days per year.
  • these platforms typically run operating systems such as IBM's z/OS which is specifically designed for long term operation without rebooting or restarting the operating system.
  • Other, low-availability platforms may run other operating system which do not manage their resources as carefully, and do not perform long term maintenance activities automatically, and as such, they are either run for portions of days, weeks, or years between reboots or restarts.
  • the failure predictor ( 57 ) is configured to perform failure prediction analysis on each server in the group of targeted servers, and to characterize them by their availability level such that the largest common denominator for a pseudo-clone can be determined to meet the availability objective of the sub-groups of targeted servers.
  • availability level of servers is often linked to the operating system of a server, and operating systems are typically a “must have” component in a server which must be configured, even in a pseudo-clone.
  • availability level of servers is often linked to the operating system of a server, and operating systems are typically a “must have” component in a server which must be configured, even in a pseudo-clone.
  • 3 servers are high-availability running IBM's z/OS
  • 2 servers are medium-availability running another less reliable operating system.
  • the highest common denominator would not include an operating system, and thus a non-operational pseudo-clone would be configured without an operating system, therefore requiring grouping of the 5 servers into two groups
  • Time-to-Recover Objective Support One of the requirements specified in many service level agreements between a computing platform provider/operator and a customer is a time objective for recovery from failures (e.g. minimum down time or maximum time to repair, etc.). In such a business scenario, it is desirable to predict the time that will be required to finalize the configuration of a pseudo-clone and place it in service.
  • the logical process of the invention analyzes the workflows and time estimates for each step (e.g. installation steps, configuration steps, start up times, etc.), and determines if the pseudo-clone can be completion provisioned for each targeted server within specified time-to-implement or time-to-recover times ( 502 , 503 ).
  • the administrator is notified ( 504 ) to that a highest common denominator (e.g. closest available pseudo-clone) cannot be built which can be finalized within the required amount of recovery time.
  • a highest common denominator e.g. closest available pseudo-clone
  • the administrator may either negotiate a change in requirements with the customer, or redefine the groups of targeted servers to have a higher degree of commonality in each group, thereby minimizing completion provisioning time.
  • Time estimates for each provisioning step may be used, or actual measured time values for each step as collected during prior actual system configuration activities may be employed in this analysis.
  • “firedrills” practices may be performed to collect actual configuration times during which a pseudo-clone is configured in advance, a failure of a targeted system is simulated, and a replacement system is completion provisioned from the pseudo-clone as if it were going to be placed in service.
  • each configuration step can be measured for how long is required to complete the step, and then these times can be used in subsequent analysis of expected time-to-recover characteristics of each pseudo-clone and each completion workflow.
  • the invention is preferably realized as a feature or addition to the software already found present on well-known computing platforms such as personal computers, web servers, and web browsers, and especially such as those provisioning management and on-demand computing systems already discussed.
  • PDA personal digital assistants
  • PIM personal information management
  • FIG. 1 a generalized architecture is presented including a central processing unit ( 1 ) (“CPU”), which is typically comprised of a microprocessor ( 2 ) associated with random access memory (“RAM”) ( 4 ) and read-only memory (“ROM”) ( 5 ). Often, the CPU ( 1 ) is also provided with cache memory ( 3 ) and programmable FlashROM ( 6 ).
  • the interface ( 7 ) between the microprocessor ( 2 ) and the various types of CPU memory is often referred to as a “local bus”, but also may be a more generic or industry standard bus.
  • HDD hard-disk drives
  • floppy disk drives compact disc drives
  • CD-R, CD-RW, DVD, DVD-R, etc. proprietary disk and tape drives
  • proprietary disk and tape drives e.g., Iomega ZipTM and JazTM, Addonics SuperDiskTM, etc.
  • Many computing platforms are provided with one or more communication interfaces ( 10 ), according to the function intended of the computing platform.
  • a personal computer is often provided with a high speed serial port (RS-232, RS-422, etc.), an enhanced parallel port (“EPP”), and one or more universal serial bus (“USB”) ports.
  • the computing platform may also be provided with a local area network (“LAN”) interface, such as an Ethernet card, and other high-speed interfaces such as the High Performance Serial Bus IEEE-1394.
  • LAN local area network
  • Ethernet card such as an Ethernet card
  • IEEE-1394 High Performance Serial Bus IEEE-1394
  • Computing platforms such as wireless telephones and wireless networked PDA's may also be provided with a radio frequency (“RF”) interface with antenna, as well.
  • RF radio frequency
  • the computing platform may be provided with an infrared data arrangement (IrDA) interface, too.
  • IrDA infrared data arrangement
  • Computing platforms are often equipped with one or more internal expansion slots ( 11 ), such as Industry Standard Architecture (“ISA”), Enhanced Industry Standard Architecture (“EISA”), Peripheral Component Interconnect (“PCI”), or proprietary interface slots for the addition of other hardware, such as sound cards, memory boards, and graphics accelerators.
  • ISA Industry Standard Architecture
  • EISA Enhanced Industry Standard Architecture
  • PCI Peripheral Component Interconnect
  • proprietary interface slots for the addition of other hardware, such as sound cards, memory boards, and graphics accelerators.
  • many units such as laptop computers and PDA's, are provided with one or more external expansion slots ( 12 ) allowing the user the ability to easily install and remove hardware expansion devices, such as PCMCIA cards, SmartMedia cards, and various proprietary modules such as removable hard drives, CD drives, and floppy drives.
  • hardware expansion devices such as PCMCIA cards, SmartMedia cards, and various proprietary modules such as removable hard drives, CD drives, and floppy drives.
  • the storage drives ( 9 ), communication interfaces ( 10 ), internal expansion slots ( 11 ) and external expansion slots ( 12 ) are interconnected with the CPU ( 1 ) via a standard or industry open bus architecture ( 8 ), such as ISA, EISA, or PCI.
  • a standard or industry open bus architecture such as ISA, EISA, or PCI.
  • the bus ( 8 ) may be of a proprietary design.
  • a computing platform is usually provided with one or more user input devices, such as a keyboard or a keypad ( 16 ), and mouse or pointer device ( 17 ), and/or a touch-screen display ( 18 ).
  • user input devices such as a keyboard or a keypad ( 16 ), and mouse or pointer device ( 17 ), and/or a touch-screen display ( 18 ).
  • a full size keyboard is often provided along with a mouse or pointer device, such as a track ball or TrackPointTM.
  • a simple keypad may be provided with one or more function-specific keys.
  • a touch-screen ( 18 ) is usually provided, often with handwriting recognition capabilities.
  • a microphone such as the microphone of a web-enabled wireless telephone or the microphone of a personal computer, is supplied with the computing platform.
  • This microphone may be used for simply reporting audio and voice signals, and it may also be used for entering user choices, such as voice navigation of web sites or auto-dialing telephone numbers, using voice recognition capabilities.
  • a camera device such as a still digital camera or full motion video digital camera.
  • the display ( 13 ) may take many forms, including a Cathode Ray Tube (“CRT”), a Thin Flat Transistor (“TFT”) array, or a simple set of light emitting diodes (“LED”) or liquid crystal display (“LCD”) indicators.
  • CTR Cathode Ray Tube
  • TFT Thin Flat Transistor
  • LED simple set of light emitting diodes
  • LCD liquid crystal display
  • One or more speakers ( 14 ) and/or annunciators ( 15 ) are often associated with computing platforms, too.
  • the speakers ( 14 ) may be used to reproduce audio and music, such as the speaker of a wireless telephone or the speakers of a personal computer.
  • Annunciators ( 15 ) may take the form of simple beep emitters or buzzers, commonly found on certain devices such as PDAs and PIMs.
  • These user input and output devices may be directly interconnected ( 8 ′, 8 ′′) to the CPU ( 1 ) via a proprietary bus structure and/or interfaces, or they may be interconnected through one or more industry open buses such as ISA, EISA, PCI, etc.
  • the computing platform is also provided with one or more software and firmware ( 101 ) programs to implement the desired functionality of the computing platforms.
  • OS operating system
  • application programs 23
  • word processors word processors
  • spreadsheets contact management utilities
  • address book calendar
  • email client email client
  • presentation financial and bookkeeping programs
  • one or more “portable” or device-independent programs ( 24 ) may be provided, which must be interpreted by an OS-native platform-specific interpreter ( 25 ), such as JavaTM scripts and programs.
  • computing platforms are also provided with a form of web browser or micro-browser ( 26 ), which may also include one or more extensions to the browser such as browser plug-ins ( 27 ).
  • the computing device is often provided with an operating system ( 20 ), such as Microsoft WindowsTM, UNIX, IBM OS/2TM, LINUX, MAC OSTM or other platform specific operating systems.
  • an operating system such as Microsoft WindowsTM, UNIX, IBM OS/2TM, LINUX, MAC OSTM or other platform specific operating systems.
  • Smaller devices such as PDA's and wireless telephones may be equipped with other forms of operating systems such as real-time operating systems (“RTOS”) or Palm Computing's PalmOSTM.
  • RTOS real-time operating systems
  • Palm Computing's PalmOSTM Palm Computing's PalmOSTM.
  • BIOS basic input and output functions
  • hardware device drivers 21
  • one or more embedded firmware programs are commonly provided with many computing platforms, which are executed by onboard or “embedded” microprocessors as part of the peripheral device, such as a micro controller or a hard drive, a communication processor, network interface card, or sound or graphics card.
  • FIGS. 1 and 2 describe in a general sense the various hardware components, software and firmware programs of a wide variety of computing platforms. It will be readily recognized by those skilled in the art that the following methods and processes may be alternatively realized as hardware functions, in part or in whole, without departing from the spirit and scope of the invention.
  • an image server may be employed for some or all of the workflow execution for realizing a pseudo-clone or completion provisioning of a replacement server. Therefore, the scope of the present invention should be determined by the following claims.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

Near clones for a set of targeted computing systems are provided by determining a highest common denominator set of components among the computing systems, producing a pseudo-clone configuration definition, and realizing one or more pseudo-clone computing systems as partially configured backups for the targeted computing systems. Upon a planned failover, actual failure, or quarantine action on a targeted computing system, a difference configuration is determined to complete the provisioning of the pseudo-clone system to serve as a replacement system for the failed or quarantined system. Failure predictions can be used to implement the pseudo-clone just prior to an expected first failure of any of the targeted systems. The system can also interface to an on-demand provisioning management system to effect automated workflows to realize pseudo-clones and replacement systems automatically, as needed.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS (CLAIMING BENEFIT UNDER 35 U.S.C. 120)
This application is a continuation of U.S. patent application Ser. No. 13/105,583, which was filed on May 11, 2011, which is currently under allowance and which is a continuation of U.S. patent application Ser. No. 11/060,606, filed on Feb. 17, 2005, by Vijay Kumar Aggarwal, which is currently under allowance.
FEDERALLY SPONSORED RESEARCH AND DEVELOPMENT STATEMENT
This invention was not developed in conjunction with any Federally-sponsored contract.
MICROFICHE APPENDIX
Not applicable.
INCORPORATION BY REFERENCE
The parent application, U.S. patent application Ser. No. 11/060,606, filed on Feb. 17, 2005, by Vijay Kumar Aggarwal, is incorporated by reference in its entirety for all purposes.
BACKGROUND OF THE INVENTION
1. Field of the Invention
This application is a continuation of U.S. patent application Ser. No. 13/105,583, which was filed on May 11, 2011, which is currently under allowance and which is a continuation of U.S. patent application Ser. No. 11/060,606, filed on Feb. 17, 2005, by Vijay Kumar Aggarwal, which is currently under allowance. This invention relates to creation of standby servers and near clones for rapid failover provisioning in a networked computing environment.
2. Background of the Invention
As business demand increases, the depth of technology improvements and its intelligence to handle multiple processes becomes highly desirable and crucial. In any enterprise operation, it is difficult to effectively manage the ever-fluctuating resources available, while maximizing the resource utilization.
In fact, Information Technology (“IT”) costs can become very expensive when maintaining sufficient resources to meet peak requirements. Furthermore, user inputs are generally required to facilitate such processes, which incurs additional costs in both time and human resource demand.
To address these needs, many large vendors of enterprise computing systems, such as International Business Machines (“IBM”), Hewlett-Packard (“HP”), Microsoft Corporation, and Sun Microsystems (“Sun”), have begun to develop and deploy infrastructure technologies which are self-managing and self-healing. HP's self-managed computing architecture is referred to “Utility Computing” or “Utility Data Center”, while Sun has dubbed their initiative “N1”. IBM has applied terms such as “Autonomic Computing”, “Grid Computing”, and “On-Demand Computing” to their various architecture and research projects in this area. While each vendor has announced differences in their approaches and architectures, each shares the goal of providing large-scale computing systems which self-manage and self-heal to one degree or another.
For example, IBM's Autonomic Computing is a self-managing computing model which is patterned on the human body's autonomic nervous system, controlling a computing environment's application programs and platforms without user input, similar to the way a human's autonomic nervous system regulates certain body functions without conscious decisions.
Additionally, IBM has defined their On-Demand Computing technology as an enterprise whose business processes, integrated end-to-end across the company and with key partners, suppliers, and customers, can respond quickly to any customer demand, market opportunity, or external threat.
“Provisioning” is a term used to describe various aspects of managing computing environments, and which often implies different things to different parties. Throughout the present disclosure, we will use the term “provision” or “provisioning” to refer to a sequence of activities that need to happen in a specific order in order to realize a computing environment to meet specific needs and requirements. The activities have dependencies on previous activities, and typically include:
    • (a) selecting appropriately capable hardware for the requirements, including processor speed, memory, disk storage, etc.;
    • (b) installing operating system(s);
    • (c) remotely booting networks;
    • (d) configuring networks such as Virtual Private Networks (“VPN”) and storage environments like Storage Area Network (“SAN”) or Network Attached Storage (“NAS”); and
    • (e) deprovisioning resources that are no longer needed back into an available pool.
Operating environments in large data centers have become increasingly complex. These data centers usually require a long time to modify their environments, so most provision for the worst-case scenario, often configuring more hardware than is needed just in case a peak requirement is experienced. As a result, most hardware and software resources are under-used, increasing the costs of the system considerably. Furthermore, the issue of surges beyond what has been provisioned remains unaddressed (e.g. peak demands above the anticipated peak load).
In fact, provisioning is typically a time and labor consuming process consisting of hundreds of distinct and complex steps, and requiring highly skilled system and network administrators. For example, server provisioning is the process of taking a server from “bare metal” to the state of running live business transactions. During this provisioning process, many problems may arise such as increases in resource expense and declines in level of performance, which in turn can lead to dissatisfied customers and unavailability in services.
Because these are predictable issues, automation can be employed to manage these problems. One objective of the various self-managed computing systems being offered by the major vendor is to automate to an extent as great as possible these provisioning activities, and especially to allow for near real-time reactions to changes in system requirements and demands, with little or no human administrator intervention. For example, IBM's Tivoli™ Provisioning Manager (“TPM”) Rapid Provisioning is a modular and flexible set of workflows and scripts for the IBM Tivoli Intelligent Orchestrator product. The workflows have been generalized and packaged for customization by customers seeking to accelerate their provisioning process. They can be used as a starting point for an organization in automating not only their server provisioning process, but also other IT processes.
Other products currently offered by the major vendors include HP's OpenView OS Manager using Radia which is a policy-based provisioning and ongoing automated management tool for a variety of operating systems, and Sun's N1 Grid Service Provisioning System automates to some degree the provisioning of applications.
“Disaster Recovery” is a broad term used in information technology to refer to the actions required to bring computing resources back online after a failure of the existing system, be it a small failure such as the failure of a single heavily loaded server among many servers, or a large failure such as loss of power or communications to an entire computing center. These types of disasters may be caused by failure rates of the components (e.g. hardware and software failures), as well as by non-computing factors such as natural disasters (e.g. tornados, hurricanes, earthquakes, floods, etc.) and other technical disasters (e.g. power outages, virus attacks, etc.).
To recover from a disaster, a computing center must re-provision new servers and systems to replace the processing which was being performed by the previous system(s). Often times, the recovery is performed in a different geographic area, but sometimes the recovery is performed in the same physical or geographic location, depending on the nature of the disaster or failure.
Many businesses which employ or rely upon enterprise computing, create disaster recovery plans to be better prepared when the occasion arise. However, current technology only allows for dedicated servers to be implemented. Each server is typically committed to one purpose or application (e.g. a “solution”), whether it is to meet a new customer requirement (e.g. a “production system”), or to be solely used as a backup server for an existing server that may crash in the near future. When these dedicated servers are not in use, the overall IT maintenance costs increase while excess resources remain idle and unused. It is important to note that in order to save critical time during recovery, when a server is configured as a backup of a production server, the backup server's configuration is usually matched to the production server's configuration so that there is no provisioning time required to bring the backup server online and operational.
Disaster recovery implementation remains challenging even though provisioning with orchestration enables new approaches that are not dependent on high availability operating environments such as IBM's z/OS mainframe operating system, clusters, and addresses. When a disaster occurs, the server will either be reinstalled or once it reaches the end of its usefulness, it will be replaced by a newer version with more features and higher reliability.
During recovery and the process of bringing on line a backup server, often network issues arise, such as Internet Protocol (“IP”) address conflicts, during a period when a degraded or partially operating production server and a newly started backup server operate at the same time.
Further, moving either static configuration data or dynamic state data from a failed or degraded production server to the backup server remains a complicated and difficult procedure, as well.
As a result, once a production server has been deployed in a production environment, it usually is used until a disaster happens, which repeats the provisioning process again while its old implementation problems remains unresolved.
Turning to FIG. 3, a logical view of how one available provisioning manager manages an application cluster (30). The management server (36) gathers the information on resources and then the management services (37, 37′, 37′″) monitor any processes currently being performed or executed. The network pool (31) includes components such as routers, switches, fabrics and load balancers for the network environment. The application pool (32) typically includes a first tier of the applications operating on the servers, such as a databases (e.g. IBM DB2, Oracle, etc.), running on top of server platform for suite (e.g. IBM WebSphere or equivalent).
The application resource pool (33) is a group of available, unassigned, unprovisioned servers that can be provisioned (38) into the active application pool. The back-end resource pool (34) contains any backup servers necessary for the application pool (32), such as another set of database servers or web server. The backend pool (35) serves as the collection or group of available servers that have been provisioned (38′) from the back-end resource pool (34).
As such, during disaster recovery, the aforementioned tedious and laborious provisioning activities may have to be performed to realize many servers and many configures, selected from several pools, in order to restore an enterprise.
Another growing business trend in the industry is “sub-capacity pricing”. Subcapacity licensing permits a customer to license a product for use on less than the full capacity as determined by the number of processors of the computing platform. For example, with certain IBM products such as IBM iSeries and AS/400 hardware platforms platforms running OS/400 V4R4, or later, the system is isolated to a logical partition using IBM-provided tools. With subcapacity pricing, the number of processors which need to be licensed is the aggregation of all processors, including partial shares of a processor, across all partitions of a single machine (where the program is defined), rounded up to the next highest whole number. Thus, a customer can obtain considerable costs savings by sub-licensing, if a platform supports it. However, this presents a specific challenge to configuring backup servers and replacement servers, especially in situations where configuration time is of the essence.
Additionally, some pools of servers may be governed by overall licensing restrictions, such as a restriction as to how many copies of a particular program may be running simultaneously across multiple servers in the pool. Taking into account these limitations can also present a considerable challenge to quickly configuring a replacement or backup server.
DETAILED DESCRIPTION OF THE DRAWINGS
The following detailed description when taken in conjunction with the figures presented herein present a complete description of the present invention.
FIG. 1 depicts a generalized computing platform architecture, suitable for realization of the invention.
FIG. 2 shows a generalized organization of software and firmware associated with the generalized architecture of FIG. 1.
FIG. 3 illustrates components and activities of typical provisioning management systems.
FIG. 4 illustrates components and activities of the pseudo-clone configuration and deployment processes according to the present invention.
FIG. 5 sets forth a logical process according to the present invention.
SUMMARY OF THE INVENTION
The present invention provides a system and method that provides “partial solutions”, e.g. servers which are partially provisioned, available to be used to meet any expectations when necessary for activities such as disaster recover. Each partial solution, or “pseudo-clone”, employs a highest level of common componentry (e.g. software, hardware, etc.) across several specifically configured and provisioned production servers to allow for a minimized set of final provisioning actions to be performed to allow the pseudo-clone to take on the processing activities of one of the specifically configured production servers.
According to the present invention, a “highest common denominator” for a set of specific production servers is determined, followed by configuring one or more pseudo-clones to serve as a potential replacement for any of the specific production servers identified. Further according to the present invention, when one of the targeted production servers needs to be replaced or taken out of service, an appropriate pseudo-clone system is rapidly provisioned to take on the tasks of the server being taken out of service.
DETAILED DESCRIPTION OF THE INVENTION
One available embodiment of the present invention is to realize the invention as an extension to or addition to the software and hardware components of an existing provisioning management system, such as the systems previously disclosed. The present disclosure utilizes the previously described IBM TPM system for illustration purposes, but it will be readily recognized by those skilled in the art that the present invention may be applied to a wide variety of computing environments.
Determination of Highest Common Denominator Configuration
A first aspect of the method of the present invention determines the greatest amount of common componentry across several configurations of productions servers. For example, three server types in an enterprise, Server 1, Server 2, and Server N, such as the examples shown in FIGS. 4 (41, 42, and 43). In this example, all three servers including a computing platform and operating system, and for the sake of this example, we will assume they are all three using the same hardware platform and operating system. However, in practice, hardware platform details (e.g. processor type, amount of RAM, disk space, disk speed, communications bandwidth, etc.) and operating system (e.g. operating system make and model including revision level and service update level) are factors in determining the highest common denominator.
This enterprise (40), then consists of these three server types (41, 42, 43), all of which include the same hardware platform, operating system, and a Lightweight Directory Access Protocol (“LDAP”) server program. As such, the highest common denominator for all three servers is this combination of components. According to the present invention, a pseudo-clone which is best suited to serve as a near-backup system for any of these three systems, e.g. a “low priority” pseudo-clone (49′″), is pre-configured (48) to include only these components.
So, using this pseudo-clone pre-configuration (49″), only the following completion provisioning steps (400) would be necessary in case of a failure of a specific targeted server:
    • (a) if Server 1 fails, the pseudo-clone system would be provisioned (400) with:
      • 1. a WebSphere Application Server license;
      • 2. a DB2 Universal Database license; and
      • 3. a Netview license;
    • (b) if Server 2 fails, the pseudo-clone system would be provisioned (400) with:
      • 1. a WebSphere Application Server license;
      • 2. an Oracle 9i Database license; and
      • 3. a Netview license;
      • or,
    • (c) if Server N fails, the pseudo-clone system would be placed (400) directly into service as it already contains all of the necessary components to replace the functionality of Server N.
In each of these scenarios, completion or final provisioning (400) effort and time is reduced such that the following steps do not have to be performed following the failure event:
    • (1) configuring the hardware platform;
    • (2) installing an operating system, upgrades, and service packs;
    • (3) and installing an LDAP server program.
By “pre-configuring” this pseudo-clone (49″) to already have the highest common denominator componentry of all three servers, it allows “finish out” configuration (400) to a specific server configuration in minimal steps, minimal time, and minimal risk upon a failure event of any of the three servers (41, 42, 43).
However, if the targeted resource pool is reduced to just Servers 1 and 2 (41, 42), then the highest common denominator would be determined to be the hardware platform and operating system, an LDAP server, plus a Netview license and a WebSphere Application Server suite. As such, a “high priority” pseudo-clone (49′) for a pool of servers 1 and 2 (41, 42), but not Server N, can be defined and configured (48), which would be even quicker to finally provision (400) to take on the configuration and tasks of either Server 1 or Server 2 in a fail-over or disaster recovery situation.
So, using this higher-level of pseudo-clone (49′) pre-configuration targeting just Servers 1 and 2, only the following completion or “finish out” provisioning steps (400) would be necessary in case of a failure of a specific targeted server:
    • (a) if Server 1 fails, the pseudo-clone system would be provisioned with a DB2 Universal Database license; or
    • (b) if Server 2 fails, the pseudo-clone system would be provisioned with an Oracle 9i Database license.
In each of these scenarios, provisioning effort and time is reduced such that the following steps (48) do not have to be performed following the failure event:
    • (1) configuring the hardware platform;
    • (2) installing an operating system, upgrades, and service packs;
    • (3) installing an LDAP server program;
    • (4) installing a WebSphere Application Server; and
    • (5) installing a Netview program.
By “pre-configuring” (48) this higher-level pseudo-clone to already have the highest common denominator componentry of all a small variety of servers (e.g. just Servers 1 and 2 but not N), it allows even quicker “finish out” configuration to a specific server configuration in minimal steps, minimal time, and minimal risk upon a failure event of any of the targeted servers (41, 42). However, if Server N fails, reconfiguring the pseudo-clone to perform the functions of Server N may be less than optimal (e.g. certain components have to be de-provisioned or uninstalled.
Of course, other levels of pre-configured servers (49″) are possible, depending on the number of configuration options and configurations deployed in the production environment.
For example, in FIG. 4, if we assign the variables to the server components as follows:
    • A=operating system “XYZ”, revision level XX
    • B=computing platform “LMNOP”
    • C=LDAP Server program or license
    • D=WebSphere Application Server program or license
    • E=Oracle 9i database application program or license
    • F=DB2 Universal database application program or license
    • G=Netview application program or license
then, the configurations of each server expressed in Boolean terms wherein “*” means logical “AND”, and “+” means logical “OR”:
SVR(1)=A*B*C*D*F*G;
SVR(2)=A*B*C*D*E*G; and
SVR(N)=A*B*C
In this representation, the first level pseudo-clone suitable for being a rapid replacement for all three servers 1, 2 and N would have the highest common denominator configuration of:
PS-CLONE(1+2+N)=A*B*C
Another pseudo-clone which is a higher level clone of just Servers 1 and 2, but not for Server N, would have the configuration of:
PS-CLONE(1+2)=A*B*C*D*G
The example of FIG. 4 is relatively simple, with just three different server configurations, and seven different component options. As such, it may be misleading to assume that the highest common denominator can be determined almost visually for such systems, while in practice, the number of configuration options or characteristics which must be considered in order to determine highest-common denominator pseudo-clone pre-configurations is much greater and more complex, including but not limited to the following options:
    • (1) hardware platform, including memory amount, disk size and speed, communications bandwidth and type, and any application-specific hardware (e.g. video processors, audio processors, etc.);
    • (2) operating system make and model (e.g IBM AIX™, Microsoft Windows XP Professional™, Unix, Linux, etc.), including any applicable revision level, update level, and service packs;
    • (3) application programs and suites, including but not limited to web servers, web resource handlers (e.g. streaming video servers, Macromedia FLASH servers, encryption servers, credit card processing clients, etc.), database programs, and any application specific programs (e.g. programs, Java Beans, servlets, etc.), including revision level of each; and
    • (4) any middle-ware or drivers as required for each application.
For these reasons, the present invention can employ relatively simple logic for simple applications and enterprise configurations, or may employ ontological processes based on axiomatic set theory, such as processes employing Euclid's Algorithm, Extended Euclid's Algorithm, or a variant of a Ferguson-Forcade algorithm, is employed to find the highest or greatest common denominator which each server configuration is viewed as a set of components. It is within the skill of those in the art to employ other logical processes to find common sets and subsets of given sets, as well.
Use of Server Logs to Predict Configuration Requirements
According to an enhanced embodiment of the present invention, server logs (45) are collected (53) from the various servers for use in determining which components are likely to fail, and the expected time to failure. Hardware and even software components have failure rates, mean-time-between-failures, etc., which can be factored into the analysis to not only determine which pseudo-clone pre-configurations will support which subsets of production servers, but which production servers will likely fail earliest, so that more pseudo-clones for those higher failure rate production servers can be pre-configured and ready in time for the failure.
According to a further enhanced embodiment of the present invention, the expected time to failure and expected failure rates are applied to the pseudo-clone configurations to determine times in the future at which each pseudo-clone should actually be built and made ready.
As in the previous examples using FIG. 4, PS-CLONE(1+2+N) reliability predictions using of expected time to first failure EFF for each component can be calculated as:
E FF-PS(1+2+N)=Earliest of (E FF-A +E FF-B +E FF-C +E FF-D +E FF-E +E FF-G)
where EFF-x is the individual expected time to first failure for component X.
At the earliest expected time of failure EFF-PS(1+2+N) of any of the components of the PS-CLONE(1+2+N), the pseudo-clone system could be configured and made ready in the Pseudo-clone pool. Otherwise, until this time, the resources which would be consumed by the pseudo-clone can be used for other purposes.
Also note that unlike the determination of a highest common denominator for the pre-configuration of a pseudo-clone, the logical process of evaluation of the earliest time to first failure of a group of servers have different components must include all (e.g. the maximum superset) of the components that are in any of the targeted servers, not just the common components or the pseudo-clone components. This is because the pseudo-clone may be needed at a time which a component in a targeted server fails even when the component is a component which will be configured into the pseudo-clone in the completion steps (400).
Integration of Pseudo-Clone Logic to Provisioning Manager Systems
Using extensions to the provisioning management system, backup clients are integrated with each server using a failover workflow definition. This creates a failover pool with standby servers designated which creates an pseudo-clone for each server, where each pseudo-clone is suitable for a plurality of targeted production servers.
Failover workflow provisioning process are used when a failover event occurs which provides administrators with more management capability while decreasing manual steps required previously. The failed server is then decommissioned in the production pool and returned to a maintenance mode for further repair or recovery. IT administrators have the ability to configure backups frequently when necessary and monitor each solution by using the orchestration defined monitoring workflows. Therefore, backups from production servers are stored in backup (or pseudo-clone) server pools.
According to one aspect of one available embodiment of the invention, the ability to automate uninstallion or reinstallation of applications based on the role of each provisioned server is employed, with a combination in imaging technologies, disk partitioning, boot control, and automation logic that drives application and backup which enables the automation capability.
Logical Processes of the Invention
Turning to FIG. 5, a high-level representation of the logical process of the present invention with respect to establishing pseudo-clone systems is shown, including some of the optional or enhanced aspects as previously described.
Based on the data from server logs (53), an initial server activity and history is established (51) for each production server to be cloned. The invention optionally continues to monitor (53) for any server or requirement changes (52) based on server logs and new requirement information. If there are no changes (54), monitoring continues. If changes occur, or upon initial pseudo-clone pre-configuration, the invention reviews all information collected from sources such as the provisioning manager files (55) and other historical metric data (56).
A prediction is made (57) regarding each system component's factors such as need, priority level, and available resources. Next, the largest common denominator componentry is calculated (58), and appropriate pre-configuration and finish configuration workflows are determined (59).
These workflows for the pre-configuration and finish configuration (30) for the pseudo-clone(s) (500) are output to the provisioning management system (30) for scheduling of implementation of the pseudo-clone.
Optionally, the activity for the targeted servers is tracked (53) and statistics (56) are updated in order to improve predictions and expectations, and thus pseudo-clone availability, over time as real events occur.
Enhanced Embodiments and Applications of the Invention
There are a number of aspects of enhanced and optional embodiments of the present invention, including a number of business processes enabled by certain aspects of the present invention.
System Upgrade and Patch Installation. According to one aspect of an option in an available embodiment, the invention can be used during system upgrades or patch installation with a controlled failover. In such a scenario, an administrator would plan when a production server would be upgraded or patched, and would implement the pseudo-clone before that activity starts. Then, to cause a graceful transition of the targeted system out of service, the administrator could initiate a simulated failure of the targeted system, which would lead to the provisioning management system placing the pseudo-clone online in place of the targeted system.
Infected and Quarantined Systems. According to another aspect of the present invention, a system which is diagnosed as being infected with a virus or other malicious code can also be quarantined, which effectively appears to be a system failure to the provisioning management system and which would lead to the pseudo-clone system being finally configured and placed online.
Sub-Licensed Systems. According to yet another aspect of an enhanced embodiment of the invention, pseudo-clones may be created, including the workflows to realize those pseudo-clones, with particular attention to sub-licensing configuration requirements. In this embodiment, not only is the entire pseudo-clone server configured in a certain manner to match a highest common component denominator of a group of targeted servers, but the common denominator analysis (58) is performed at a sub-server level according to any sub-licensing limitations of any of the targeted servers. For example, if one of three targeted servers is sub-licensed to only allow a database application to run on 3 of 4 processors in one of the servers, but all other target servers require the database application running on all available processors, the highest common denominator of all the targeted servers would be a sub-license for 3 processors of the database application, and thus the pseudo-clone would be partially configured (48) to only include a 3-processor database license. If the pseudo-clone were later to be completion provisioned (400) to replace one of the fully-licensed servers, the license on the pseudo-clone would be upgraded accordingly as a set of the completion provisioning.
Super-Licensed Systems. In a variation of the sub-licensing aspect of the present invention, license restrictions may be considered when creating a pseudo-clone which targets one or more servers which are under a group-level license restriction. Instead of sub-licensing, this could be considered “super-licensing”, wherein a group of servers are restricted as to how many copies of a component can be executing simultaneously. In such a situation, the pseudo-clone configuration workflow can optionally either omit super-licensed components from the pseudo-clone configuration, or mark the super-licensed components for special consideration for de-provisioning just prior to placing the finalized replacement server online during completion provisioning.
In the first optional process, the invention determines (58) if a component of a highest common denominator component set is subject to a super-license restriction on any of the targeted servers. If so, it is not included in the pseudo-clone workflow for creating (48) the pseudo-clone, and thus the super-licensed component is left for installation or configuration during completion provisioning (400) when the terms of the super-license can be verified just before placing the replacement server online.
In the second optional process, the same super-licensing analysis is performed (400) as in the first optional process, but the super-licensed component is configured (48) into the pseudo-clone (instead of being omitted). The super-licensed component, however, is marked as a super-licensed component for later consideration during completion provisioning. During completion provisioning (400), the workflow is defined to check the terms of the super-license and the real-time status of usage of the licensed component, and if the license terms have been met or exceeded by the remaining online servers, the completion workflow de-provisions the super-licensed component prior to placing the replacement server online.
High Availability Prediction. According to another aspect of an enhanced embodiment of the present invention, the failure predictor (57) is not only applied to the components of the targeted computing systems, but is also applied (501) to the components of the pseudo-clone itself. By analyzing the failure rates of the pseudo-clone itself as defined by the largest common denominator (58) configuration, a workflow for realizing the pseudo-clone and the completion provisioning can be defined (59) which produces (60) to a standby server which will not likely fail while it is being relied upon as a standby server (e.g. the standby server will have an expected time to failure equal to or greater than that of the servers which it protects).
Grouping of Servers by High Availability Characteristics. Certain platforms are suitable for “high availability” operation, such as operation 24 hours per day, 7 days per week, 365 days per year. For example, these platforms typically run operating systems such as IBM's z/OS which is specifically designed for long term operation without rebooting or restarting the operating system. Other, low-availability platforms may run other operating system which do not manage their resources as carefully, and do not perform long term maintenance activities automatically, and as such, they are either run for portions of days, weeks, or years between reboots or restarts.
According to another optional enhanced aspect of the present invention, the failure predictor (57) is configured to perform failure prediction analysis on each server in the group of targeted servers, and to characterize them by their availability level such that the largest common denominator for a pseudo-clone can be determined to meet the availability objective of the sub-groups of targeted servers. Many times, this would occur somewhat automatically with the invention, as availability level of servers is often linked to the operating system of a server, and operating systems are typically a “must have” component in a server which must be configured, even in a pseudo-clone. For example, consider a targeted group of five servers in which 3 servers are high-availability running IBM's z/OS, and 2 servers are medium-availability running another less reliable operating system. The highest common denominator would not include an operating system, and thus a non-operational pseudo-clone would be configured without an operating system, therefore requiring grouping of the 5 servers into two groups along operating system lines.
But, in other configurations of servers, such critical components may be in common, but other non-critical components may determine whether the platform would be high, medium, or low availability. In these situations, this enhanced embodiment of the invention would be useful.
Time-to-Recover Objective Support. One of the requirements specified in many service level agreements between a computing platform provider/operator and a customer is a time objective for recovery from failures (e.g. minimum down time or maximum time to repair, etc.). In such a business scenario, it is desirable to predict the time that will be required to finalize the configuration of a pseudo-clone and place it in service. According to another aspect of an optional embodiment of the invention, the logical process of the invention analyzes the workflows and time estimates for each step (e.g. installation steps, configuration steps, start up times, etc.), and determines if the pseudo-clone can be completion provisioned for each targeted server within specified time-to-implement or time-to-recover times (502, 503). If not, the administrator is notified (504) to that a highest common denominator (e.g. closest available pseudo-clone) cannot be built which can be finalized within the required amount of recovery time. In response, the administrator may either negotiate a change in requirements with the customer, or redefine the groups of targeted servers to have a higher degree of commonality in each group, thereby minimizing completion provisioning time.
Time estimates for each provisioning step may be used, or actual measured time values for each step as collected during prior actual system configuration activities may be employed in this analysis. Alternatively, “firedrills” practices may be performed to collect actual configuration times during which a pseudo-clone is configured in advance, a failure of a targeted system is simulated, and a replacement system is completion provisioned from the pseudo-clone as if it were going to be placed in service. During the firedrill, each configuration step can be measured for how long is required to complete the step, and then these times can be used in subsequent analysis of expected time-to-recover characteristics of each pseudo-clone and each completion workflow.
General Computing Platform
The invention is preferably realized as a feature or addition to the software already found present on well-known computing platforms such as personal computers, web servers, and web browsers, and especially such as those provisioning management and on-demand computing systems already discussed.
These common computing platforms can include personal computers and enterprise-class servers, as well potentially as portable computing platforms, such as personal digital assistants (“PDA”), web-enabled wireless telephones, and other types of personal information management (“PIM”) devices.
Therefore, it is useful to review a generalized architecture of a computing platform which may span the range of implementation, from a high-end web or enterprise server platform, to a personal computer, to a portable PDA or web-enabled wireless phone.
Turning to FIG. 1, a generalized architecture is presented including a central processing unit (1) (“CPU”), which is typically comprised of a microprocessor (2) associated with random access memory (“RAM”) (4) and read-only memory (“ROM”) (5). Often, the CPU (1) is also provided with cache memory (3) and programmable FlashROM (6). The interface (7) between the microprocessor (2) and the various types of CPU memory is often referred to as a “local bus”, but also may be a more generic or industry standard bus.
Many computing platforms are also provided with one or more storage drives (9), such as a hard-disk drives (“HDD”), floppy disk drives, compact disc drives (CD, CD-R, CD-RW, DVD, DVD-R, etc.), and proprietary disk and tape drives (e.g., Iomega Zip™ and Jaz™, Addonics SuperDisk™, etc.). Additionally, some storage drives may be accessible over a computer network.
Many computing platforms are provided with one or more communication interfaces (10), according to the function intended of the computing platform. For example, a personal computer is often provided with a high speed serial port (RS-232, RS-422, etc.), an enhanced parallel port (“EPP”), and one or more universal serial bus (“USB”) ports. The computing platform may also be provided with a local area network (“LAN”) interface, such as an Ethernet card, and other high-speed interfaces such as the High Performance Serial Bus IEEE-1394.
Computing platforms such as wireless telephones and wireless networked PDA's may also be provided with a radio frequency (“RF”) interface with antenna, as well. In some cases, the computing platform may be provided with an infrared data arrangement (IrDA) interface, too.
Computing platforms are often equipped with one or more internal expansion slots (11), such as Industry Standard Architecture (“ISA”), Enhanced Industry Standard Architecture (“EISA”), Peripheral Component Interconnect (“PCI”), or proprietary interface slots for the addition of other hardware, such as sound cards, memory boards, and graphics accelerators.
Additionally, many units, such as laptop computers and PDA's, are provided with one or more external expansion slots (12) allowing the user the ability to easily install and remove hardware expansion devices, such as PCMCIA cards, SmartMedia cards, and various proprietary modules such as removable hard drives, CD drives, and floppy drives.
Often, the storage drives (9), communication interfaces (10), internal expansion slots (11) and external expansion slots (12) are interconnected with the CPU (1) via a standard or industry open bus architecture (8), such as ISA, EISA, or PCI. In many cases, the bus (8) may be of a proprietary design.
A computing platform is usually provided with one or more user input devices, such as a keyboard or a keypad (16), and mouse or pointer device (17), and/or a touch-screen display (18). In the case of a personal computer, a full size keyboard is often provided along with a mouse or pointer device, such as a track ball or TrackPoint™. In the case of a web-enabled wireless telephone, a simple keypad may be provided with one or more function-specific keys. In the case of a PDA, a touch-screen (18) is usually provided, often with handwriting recognition capabilities.
Additionally, a microphone (19), such as the microphone of a web-enabled wireless telephone or the microphone of a personal computer, is supplied with the computing platform. This microphone may be used for simply reporting audio and voice signals, and it may also be used for entering user choices, such as voice navigation of web sites or auto-dialing telephone numbers, using voice recognition capabilities.
Many computing platforms are also equipped with a camera device (100), such as a still digital camera or full motion video digital camera.
One or more user output devices, such as a display (13), are also provided with most computing platforms. The display (13) may take many forms, including a Cathode Ray Tube (“CRT”), a Thin Flat Transistor (“TFT”) array, or a simple set of light emitting diodes (“LED”) or liquid crystal display (“LCD”) indicators.
One or more speakers (14) and/or annunciators (15) are often associated with computing platforms, too. The speakers (14) may be used to reproduce audio and music, such as the speaker of a wireless telephone or the speakers of a personal computer. Annunciators (15) may take the form of simple beep emitters or buzzers, commonly found on certain devices such as PDAs and PIMs.
These user input and output devices may be directly interconnected (8′, 8″) to the CPU (1) via a proprietary bus structure and/or interfaces, or they may be interconnected through one or more industry open buses such as ISA, EISA, PCI, etc. The computing platform is also provided with one or more software and firmware (101) programs to implement the desired functionality of the computing platforms.
Turning to now FIG. 2, more detail is given of a generalized organization of software and firmware (101) on this range of computing platforms. One or more operating system (“OS”) native application programs (23) may be provided on the computing platform, such as word processors, spreadsheets, contact management utilities, address book, calendar, email client, presentation, financial and bookkeeping programs.
Additionally, one or more “portable” or device-independent programs (24) may be provided, which must be interpreted by an OS-native platform-specific interpreter (25), such as Java™ scripts and programs.
Often, computing platforms are also provided with a form of web browser or micro-browser (26), which may also include one or more extensions to the browser such as browser plug-ins (27).
The computing device is often provided with an operating system (20), such as Microsoft Windows™, UNIX, IBM OS/2™, LINUX, MAC OS™ or other platform specific operating systems. Smaller devices such as PDA's and wireless telephones may be equipped with other forms of operating systems such as real-time operating systems (“RTOS”) or Palm Computing's PalmOS™.
A set of basic input and output functions (“BIOS”) and hardware device drivers (21) are often provided to allow the operating system (20) and programs to interface and control the specific hardware functions provided with the computing platform.
Additionally, one or more embedded firmware programs (22) are commonly provided with many computing platforms, which are executed by onboard or “embedded” microprocessors as part of the peripheral device, such as a micro controller or a hard drive, a communication processor, network interface card, or sound or graphics card.
As such, FIGS. 1 and 2 describe in a general sense the various hardware components, software and firmware programs of a wide variety of computing platforms. It will be readily recognized by those skilled in the art that the following methods and processes may be alternatively realized as hardware functions, in part or in whole, without departing from the spirit and scope of the invention.
CONCLUSION
Several example embodiments and optional aspects of embodiments have been described and illustrated in order to promote the understanding of the present invention. It will be recognized by those skilled in the art that these examples do not represent the scope or extent of the present invention, and that certain alternate embodiment details may be made without departing from the spirit of the invention. For example, in some embodiments, an image server may be employed for some or all of the workflow execution for realizing a pseudo-clone or completion provisioning of a replacement server. Therefore, the scope of the present invention should be determined by the following claims.

Claims (20)

What is claimed is:
1. A computer program product for creation of highly available pseudo-clone standby servers for rapid failover provisioning, the computer program product comprising a computer readable storage device having program code embodied therewith, the program code executable by a computer to:
evaluate at least two different target computing system configurations of installed hardware components and installed software components;
responsive to the evaluating at least two different target computing system configurations of installed hardware components and installed software components, determine a subset of components in common among the different configurations, the subset being less than but not all of the installed hardware components and installed software components of any of configurations of the targeted computing systems;
determine an initial pseudo-clone configuration including at least the subset but not all components of any target configurations;
produce at least one finish-out workflow of installation steps and components to be installed into an incompletely configured computer system according to the pseudo-clone configuration to produce an operational clone system; and
output the pseudo-clone configuration and the finish-out workflow to a provisioning management system.
2. The computer program product as set forth in claim 1 wherein the program code is further to realize a pseudo-clone backup computing system by configuring a computing system according to the pseudo-clone configuration.
3. The computer program product as set forth in claim 2 wherein the program code is further to realize a replacement computing system by further configuring the pseudo-clone backup computing system according to the workflow difference, and to transfer computing tasks from the targeted computing system to the replacement computing system thereby relieving the targeted computing system of its computing tasks.
4. The computer program product as set forth in claim 3 wherein the program code to realize a replacement computing system by further configuring the pseudo-clone backup computing system according to the workflow difference is program code for execution responsive to an event selected from the group consisting of a failure of the targeted computing system, a planned disablement of the targeted computing system, and a quarantine action against the targeted computing system.
5. The computer program product as set forth in claim 2 wherein the program code is further to:
prior to performing the realizing a pseudo-clone backup computing system, perform a failure prediction analysis upon the targeted computing systems to determine an expected time to first failure; and
delay realization of the pseudo-clone backup until a time proximate to the time to first failure from the earliest of a targeted computing system being placed in service.
6. The computer program product as set forth in claim 5 wherein the program code is further to:
monitor actual failure rates of the targeted computing system; maintain a historical record of the failures; and
modify the failure analysis to compensate the expected time to first failures to approximate the actual failure rates such that the delaying represents historical failure characteristics of the installed hardware components and the installed software components.
7. The computer program instructions as set forth in claim 5 wherein the failure prediction analysis comprises grouping the targeted servers into sub-groups according to high-availability, low down-time characteristics of the targeted servers, and comprises performing a failure prediction analysis on each group of similarly-characterized targeted servers.
8. The computer program product as set forth in claim 2 wherein the program code is further to:
prior to determining a pseudo-clone configuration, perform a failure analysis upon the pseudo-clone configuration to determine an expected time to first failure of a potential pseudo-clone system; and
revise the pseudo-clone configuration if the expected time to first failure is less than an objective operation duration of a pseudo-clone as a standby server.
9. The computer program product as set forth in claim 1 wherein the program code is further to:
determine one or more subsets of targeted computing systems having a number of installed hardware components and installed software components in common greater than a number of components in common among all of the targeted computing systems;
produce one or more higher-priority pseudo-clone configuration definitions including the common installed components of the subset of targeted computing systems; and
output the higher-priority pseudo-clone configuration definitions to a provisioning management system for subsequent realization of one or more pseudo-clone backup computing systems.
10. The computer program product as set forth in claim 1 wherein the program code is further to evaluate sub-licensing conditions for the installed software components, wherein producing a pseudo-clone configuration definition comprises omitting non-licensed components which are not shared commonly across all the targeted computing systems, wherein determining a finish-out workflow comprises determining if any sub-licensed components in the pseudo-clone are to be upgraded to a greater sub-license or a full license to produce an operational clone system, and wherein the sixth program instructions are stored by the computer readable memory device.
11. The computer program product as set forth in claim 1 wherein the evaluating of the plurality of configurations comprises determining that one or more super-licensing conditions exist among the plurality of configurations, wherein producing a pseudo-clone configuration comprises omitting the components which are determined to be super-licensed on any targeted computing system, and wherein producing a workflow comprises determining if any super-licensed components in the targeted computing systems are to be realized in the replacement computing system according to a super-license constraint.
12. The computer program product as set forth in claim 1 wherein the evaluating of the plurality of configurations comprises determining that one or more super-licensing conditions exist among the plurality of configurations, wherein producing a pseudo-clone configuration comprises including and denoting the components which are determined to be super-licensed on any targeted computing system, and wherein determining a difference configuration comprises determining if any super-licensed components in the pseudo-clone system are to be de-provisioned according to a superlicense constraint.
13. The computer program product as set forth in claim 3 wherein the program code is further to:
prior to the realizing a replacement computing system, perform an analysis of steps required for the finish-out workflow to determine the expected time to implement a replacement computing system according to the workflow;
compare the expected time to realize a replacement computing system to an objective time-to-implement value; and
responsive to the expected time exceeding the objective time-to-implement, notify an administrator of the exceed objective.
14. The computer program product as set forth in claim 13 wherein the analysis of steps required for the finish-out workflow difference configuration comprises employing workflow step times measured during one or more prior actual system configuration and provisioning.
15. The computer program product as set forth in claim 14 wherein the workflow step times are collected during one or more practice recovery operations in which actual a pseudo-clone is realized, a failure is simulated, and the pseudo-clone is reconfigured according to the difference configuration.
16. A system for creation of highly available pseudo-clone standby servers for rapid failover provisioning comprising:
a computer system having a processor, or an electronic circuit, or a combination of processor and electronic circuit suitable for performing a logical process; computer readable storage device having program code embodied therewith, the program code executable by a computer to:
evaluate at least two different target computing system configurations of installed hardware components and installed software components;
responsive to the evaluating at least two different target computing system configurations of installed hardware components and installed software components, determine a subset of components in common among the different configurations, the subset being less than but not all of the installed hardware components and installed software components of any of configurations of the targeted computing systems;
determine an initial pseudo-clone configuration including at least the subset but not all components of any target configurations;
produce at least one finish-out workflow of installation steps and components to be installed into an incompletely configured computer system according to the pseudo-clone configuration to produce an operational clone system; and
output the pseudo-clone configuration and the finish-out workflow to a provisioning management system.
17. The system as set forth in claim 16 wherein the program code further comprises program code to cause the processor to
determine one or more subsets of targeted computing systems having a number of installed hardware components and installed software components in common greater than a number of components in common among all of the targeted computing systems;
produce one or more higher-priority pseudo-clone configuration definitions including the common installed components of the subset of targeted computing systems; and
output the higher-priority pseudo-clone configuration definitions to a provisioning management system for subsequent realization of one or more pseudo-clone backup computing systems.
18. The system as set forth in claim 16 wherein the program code further comprises program code for cause the processor to evaluate sublicensing conditions for the installed software components, wherein producing a pseudo-clone configuration definition comprises omitting non-licensed components which are not shared commonly across all the targeted computing systems, wherein determining a finish-out workflow comprises determining if any sub-licensed components in the pseudo-clone are to be upgraded to a greater sub-license or a full license to produce an operational clone system.
19. The system as set forth in claim 16 wherein the evaluating of the plurality of configurations comprises determining that one or more super-licensing conditions exist among the plurality of configurations, wherein producing a pseudo-clone configuration comprises omitting the components which are determined to be super-licensed on any targeted computing system, and wherein producing a workflow comprises determining if any super-licensed components in the targeted computing systems are to be realized in the replacement computing system according to a super-license constraint.
20. A method for creation of highly available pseudo-clone standby servers for rapid failover provisioning comprising:
evaluate by a computer processor at least two different target computing system configurations of installed hardware components and installed software components;
responsive to the evaluating at least two different target computing system configurations of installed hardware components and installed software components, determine by a computer processor a subset of components in common among the different configurations, the subset being less than but not all of the installed hardware components and installed software components of any of configurations of the targeted computing systems;
determine by a computer processor an initial pseudo-clone configuration including at least the subset but not all components of any target configurations;
produce by a computer processor at least one finish-out workflow of installation steps and components to be installed into an incompletely configured computer system according to the pseudo-clone configuration to produce an operational clone system; and
output by a computer processor the pseudo-clone configuration and the finish-out workflow to a provisioning management system.
US13/625,125 2005-02-17 2012-09-24 Creation of highly available pseudo-clone standby servers for rapid failover provisioning Expired - Fee Related US9411697B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/625,125 US9411697B2 (en) 2005-02-17 2012-09-24 Creation of highly available pseudo-clone standby servers for rapid failover provisioning
US15/189,633 US10042724B2 (en) 2005-02-17 2016-06-22 Creation of highly available pseudo-clone standby servers for rapid failover provisioning
US15/950,729 US10740201B2 (en) 2005-02-17 2018-04-11 Creation of highly available pseudo-clone standby servers for rapid failover provisioning

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/060,606 US7953703B2 (en) 2005-02-17 2005-02-17 Creation of highly available pseudo-clone standby servers for rapid failover provisioning
US13/105,583 US8301643B2 (en) 2005-02-17 2011-05-11 Creation of highly available pseudo-clone standby servers for rapid failover provisioning
US13/625,125 US9411697B2 (en) 2005-02-17 2012-09-24 Creation of highly available pseudo-clone standby servers for rapid failover provisioning

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/105,583 Continuation US8301643B2 (en) 2005-02-17 2011-05-11 Creation of highly available pseudo-clone standby servers for rapid failover provisioning

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/189,633 Continuation US10042724B2 (en) 2005-02-17 2016-06-22 Creation of highly available pseudo-clone standby servers for rapid failover provisioning

Publications (2)

Publication Number Publication Date
US20130024720A1 US20130024720A1 (en) 2013-01-24
US9411697B2 true US9411697B2 (en) 2016-08-09

Family

ID=36914251

Family Applications (5)

Application Number Title Priority Date Filing Date
US11/060,606 Expired - Fee Related US7953703B2 (en) 2005-02-17 2005-02-17 Creation of highly available pseudo-clone standby servers for rapid failover provisioning
US13/105,583 Expired - Fee Related US8301643B2 (en) 2005-02-17 2011-05-11 Creation of highly available pseudo-clone standby servers for rapid failover provisioning
US13/625,125 Expired - Fee Related US9411697B2 (en) 2005-02-17 2012-09-24 Creation of highly available pseudo-clone standby servers for rapid failover provisioning
US15/189,633 Expired - Fee Related US10042724B2 (en) 2005-02-17 2016-06-22 Creation of highly available pseudo-clone standby servers for rapid failover provisioning
US15/950,729 Expired - Fee Related US10740201B2 (en) 2005-02-17 2018-04-11 Creation of highly available pseudo-clone standby servers for rapid failover provisioning

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US11/060,606 Expired - Fee Related US7953703B2 (en) 2005-02-17 2005-02-17 Creation of highly available pseudo-clone standby servers for rapid failover provisioning
US13/105,583 Expired - Fee Related US8301643B2 (en) 2005-02-17 2011-05-11 Creation of highly available pseudo-clone standby servers for rapid failover provisioning

Family Applications After (2)

Application Number Title Priority Date Filing Date
US15/189,633 Expired - Fee Related US10042724B2 (en) 2005-02-17 2016-06-22 Creation of highly available pseudo-clone standby servers for rapid failover provisioning
US15/950,729 Expired - Fee Related US10740201B2 (en) 2005-02-17 2018-04-11 Creation of highly available pseudo-clone standby servers for rapid failover provisioning

Country Status (2)

Country Link
US (5) US7953703B2 (en)
CN (1) CN100392609C (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10594553B2 (en) 2016-12-21 2020-03-17 Mastercard International Incorporated Systems and methods for dynamically commissioning and decommissioning computer components
US10740201B2 (en) 2005-02-17 2020-08-11 International Business Machines Corporation Creation of highly available pseudo-clone standby servers for rapid failover provisioning
US11288104B2 (en) * 2019-08-06 2022-03-29 International Business Machines Corporation Automatic dynamic operating system provisioning

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8413155B2 (en) 2004-03-13 2013-04-02 Adaptive Computing Enterprises, Inc. System and method for a self-optimizing reservation in time of compute resources
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
WO2006053093A2 (en) 2004-11-08 2006-05-18 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US7499865B2 (en) * 2004-12-17 2009-03-03 International Business Machines Corporation Identification of discrepancies in actual and expected inventories in computing environment having multiple provisioning orchestration server pool boundaries
US20060136490A1 (en) * 2004-12-17 2006-06-22 International Business Machines Corporation Autonomic creation of shared workflow components in a provisioning management system using multi-level resource pools
US8863143B2 (en) * 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
WO2006107531A2 (en) 2005-03-16 2006-10-12 Cluster Resources, Inc. Simple integration of an on-demand compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
US9015324B2 (en) 2005-03-16 2015-04-21 Adaptive Computing Enterprises, Inc. System and method of brokering cloud computing resources
US8782120B2 (en) 2005-04-07 2014-07-15 Adaptive Computing Enterprises, Inc. Elastic management of compute resources between a web server and an on-demand compute environment
CA2603577A1 (en) 2005-04-07 2006-10-12 Cluster Resources, Inc. On-demand access to compute resources
US20110258320A1 (en) * 2005-04-07 2011-10-20 Adaptive Computing Enterprises, Inc. Elastic management of compute resources between a web server and an on-demand compute environment
US7937616B2 (en) * 2005-06-28 2011-05-03 International Business Machines Corporation Cluster availability management
JP4650203B2 (en) * 2005-10-20 2011-03-16 株式会社日立製作所 Information system and management computer
US7546484B2 (en) * 2006-02-08 2009-06-09 Microsoft Corporation Managing backup solutions with light-weight storage nodes
JP2007228403A (en) * 2006-02-24 2007-09-06 Toshiba Corp Gateway device and resource assigning method
US20070208894A1 (en) * 2006-03-02 2007-09-06 Curry David S Modification of a layered protocol communication apparatus
WO2008041302A1 (en) * 2006-09-29 2008-04-10 Fujitsu Limited Server disposing program and server disposing method
US7757111B2 (en) * 2007-04-05 2010-07-13 International Business Machines Corporation Method and system for insuring data integrity in anticipation of a disaster
US7669080B2 (en) * 2007-08-16 2010-02-23 International Business Machines Corporation Reducing likelihood of data loss during failovers in high-availability systems
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8990810B2 (en) * 2007-12-28 2015-03-24 International Business Machines Corporation Projecting an effect, using a pairing construct, of execution of a proposed action on a computing environment
US8346931B2 (en) 2007-12-28 2013-01-01 International Business Machines Corporation Conditional computer runtime control of an information technology environment based on pairing constructs
US9558459B2 (en) 2007-12-28 2017-01-31 International Business Machines Corporation Dynamic selection of actions in an information technology environment
US20090172149A1 (en) 2007-12-28 2009-07-02 International Business Machines Corporation Real-time information technology environments
US8341014B2 (en) 2007-12-28 2012-12-25 International Business Machines Corporation Recovery segments for computer business applications
US8868441B2 (en) 2007-12-28 2014-10-21 International Business Machines Corporation Non-disruptively changing a computing environment
US8826077B2 (en) 2007-12-28 2014-09-02 International Business Machines Corporation Defining a computer recovery process that matches the scope of outage including determining a root cause and performing escalated recovery operations
US8365185B2 (en) 2007-12-28 2013-01-29 International Business Machines Corporation Preventing execution of processes responsive to changes in the environment
US8763006B2 (en) 2007-12-28 2014-06-24 International Business Machines Corporation Dynamic generation of processes in computing environments
US8682705B2 (en) 2007-12-28 2014-03-25 International Business Machines Corporation Information technology management based on computer dynamically adjusted discrete phases of event correlation
US8751283B2 (en) 2007-12-28 2014-06-10 International Business Machines Corporation Defining and using templates in configuring information technology environments
US8677174B2 (en) 2007-12-28 2014-03-18 International Business Machines Corporation Management of runtime events in a computer environment using a containment region
US8447859B2 (en) 2007-12-28 2013-05-21 International Business Machines Corporation Adaptive business resiliency computer system for information technology environments
US8428983B2 (en) 2007-12-28 2013-04-23 International Business Machines Corporation Facilitating availability of information technology resources based on pattern system environments
US8375244B2 (en) 2007-12-28 2013-02-12 International Business Machines Corporation Managing processing of a computing environment during failures of the environment
US7882232B2 (en) * 2008-09-29 2011-02-01 International Business Machines Corporation Rapid resource provisioning with automated throttling
US20100112968A1 (en) * 2008-10-30 2010-05-06 Motorola, Inc. Method and apparatus for cloning contents of a source radio into a target radio
US20100162237A1 (en) * 2008-12-23 2010-06-24 Vmware, Inc. Network administration in a virtual machine environment through a temporary pool
US8112659B2 (en) 2009-06-19 2012-02-07 Oracle International Corporation Reducing recovery time for business organizations in case of disasters
US10673952B1 (en) * 2014-11-10 2020-06-02 Turbonomic, Inc. Systems, apparatus, and methods for managing computer workload availability and performance
US8285681B2 (en) 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US8775498B2 (en) 2009-10-23 2014-07-08 International Business Machines Corporation Universal architecture for client management extensions on monitoring, control, and configuration
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US8738961B2 (en) * 2010-08-17 2014-05-27 International Business Machines Corporation High-availability computer cluster with failover support based on a resource map
US9483258B1 (en) * 2011-04-27 2016-11-01 Intuit Inc Multi-site provisioning of resources to software offerings using infrastructure slices
US9703581B2 (en) * 2011-05-20 2017-07-11 Citrix Systems, Inc. Managing unallocated server farms in a desktop virtualization system
US9317268B2 (en) 2012-02-02 2016-04-19 Sungard Availability Services Lp Recovery automation in heterogeneous environments
US9612814B2 (en) 2012-02-02 2017-04-04 Sungard Availability Services, Lp Network topology-aware recovery automation
US8950009B2 (en) 2012-03-30 2015-02-03 Commvault Systems, Inc. Information management of data associated with multiple cloud services
US9262496B2 (en) 2012-03-30 2016-02-16 Commvault Systems, Inc. Unified access to personal data
US8943372B2 (en) * 2012-03-30 2015-01-27 International Business Machines Corporation Systems and methods for open and extensible integration of management domains in computation and orchestration of resource placement
CN103580902B (en) * 2012-08-07 2015-01-14 腾讯科技(深圳)有限公司 Computer information system and dynamic disaster recovery method thereof
US8874956B2 (en) * 2012-09-18 2014-10-28 Datadirect Networks, Inc. Data re-protection in a distributed replicated data storage system
US9092395B2 (en) 2012-12-20 2015-07-28 International Business Machines Corporation Provide an appliance like test vehicle for IT disaster recovery
US10346259B2 (en) 2012-12-28 2019-07-09 Commvault Systems, Inc. Data recovery using a cloud-based remote data recovery center
CN103488818B (en) * 2013-09-02 2016-01-06 西安电子科技大学 The subreflector position compensation method of the large-scale dual reflector antenna of a kind of thermal deformation
WO2016187529A1 (en) * 2015-05-20 2016-11-24 Paul Rad Systems and methods for secure file transmission and cloud storage
US10476950B2 (en) * 2015-10-09 2019-11-12 Capital One Services, Llc System and method for risk-aware server load balancing
CN105354332A (en) * 2015-12-04 2016-02-24 浪潮(北京)电子信息产业有限公司 Method and system for implementing mutual standby of database and middleware based on BCP (Batch Communications Program)
US9990491B2 (en) * 2016-01-19 2018-06-05 International Business Machines Corporation Methods and systems for assessing and remediating online servers with minimal impact
US10009227B2 (en) 2016-02-16 2018-06-26 Bank Of America Corporation Network service provisioning tool and method
US11108858B2 (en) 2017-03-28 2021-08-31 Commvault Systems, Inc. Archiving mail servers via a simple mail transfer protocol (SMTP) server
US11074138B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Multi-streaming backup operations for mailboxes
US11294786B2 (en) 2017-03-31 2022-04-05 Commvault Systems, Inc. Management of internet of things devices
US10552294B2 (en) 2017-03-31 2020-02-04 Commvault Systems, Inc. Management of internet of things devices
US11221939B2 (en) 2017-03-31 2022-01-11 Commvault Systems, Inc. Managing data from internet of things devices in a vehicle
CN107957928B (en) * 2017-11-16 2019-06-07 南京轩世琪源软件科技有限公司 A kind of operation of software synchronization tests and analyzes and troubleshooting methodology
CN108923952B (en) * 2018-05-31 2021-11-30 北京百度网讯科技有限公司 Fault diagnosis method, equipment and storage medium based on service monitoring index
US10891198B2 (en) 2018-07-30 2021-01-12 Commvault Systems, Inc. Storing data to cloud libraries in cloud native formats
CN109302321A (en) * 2018-11-13 2019-02-01 珠海格力电器股份有限公司 Server, service demand processing system, method and monitoring system
US10833918B2 (en) * 2019-01-09 2020-11-10 Vmware, Inc. Automatic rule based grouping of compute nodes for a globally optimal cluster
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US11366723B2 (en) 2019-04-30 2022-06-21 Commvault Systems, Inc. Data storage management system for holistic protection and migration of serverless applications across multi-cloud computing environments
US11467923B2 (en) 2019-05-15 2022-10-11 Kyndryl, Inc. Application recovery using pooled resources
US11461184B2 (en) 2019-06-17 2022-10-04 Commvault Systems, Inc. Data storage management system for protecting cloud-based data including on-demand protection, recovery, and migration of databases-as-a-service and/or serverless database management systems
US20210011816A1 (en) 2019-07-10 2021-01-14 Commvault Systems, Inc. Preparing containerized applications for backup using a backup services container in a container-orchestration pod
US11582087B2 (en) * 2019-12-17 2023-02-14 Microsoft Technology Licensing, Llc Node health prediction based on failure issues experienced prior to deployment in a cloud computing system
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11321188B2 (en) 2020-03-02 2022-05-03 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11422900B2 (en) 2020-03-02 2022-08-23 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11175825B1 (en) * 2020-05-13 2021-11-16 International Business Machines Corporation Configuration-based alert correlation in storage networks
US11500669B2 (en) 2020-05-15 2022-11-15 Commvault Systems, Inc. Live recovery of virtual machines in a public cloud computing environment
US11456917B2 (en) * 2020-06-01 2022-09-27 Cisco Technology, Inc. Analyzing deployed networks with respect to network solutions
US11314687B2 (en) 2020-09-24 2022-04-26 Commvault Systems, Inc. Container data mover for migrating data between distributed data storage systems integrated with application orchestrators
US11604706B2 (en) 2021-02-02 2023-03-14 Commvault Systems, Inc. Back up and restore related data on different cloud storage tiers
US12032855B2 (en) 2021-08-06 2024-07-09 Commvault Systems, Inc. Using an application orchestrator computing environment for automatically scaled deployment of data protection resources needed for data in a production cluster distinct from the application orchestrator or in another application orchestrator computing environment

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020188711A1 (en) * 2001-02-13 2002-12-12 Confluence Networks, Inc. Failover processing in a storage system
US20020194251A1 (en) * 2000-03-03 2002-12-19 Richter Roger K. Systems and methods for resource usage accounting in information management environments
US6542854B2 (en) * 1999-04-30 2003-04-01 Oracle Corporation Method and mechanism for profiling a system
US20030172141A1 (en) * 2002-03-06 2003-09-11 Adtran, Inc. Element management system and method utilizing provision templates
US6625751B1 (en) * 1999-08-11 2003-09-23 Sun Microsystems, Inc. Software fault tolerant computer system
US20040022227A1 (en) 2002-08-02 2004-02-05 Lynch Randall Gene System and method for asset tracking
US20040143505A1 (en) 2002-10-16 2004-07-22 Aram Kovach Method for tracking and disposition of articles
US20050005200A1 (en) * 2003-03-12 2005-01-06 Vladimir Matena Method and apparatus for executing applications on a distributed computer system
US20050010838A1 (en) * 2003-04-23 2005-01-13 Dot Hill Systems Corporation Apparatus and method for deterministically performing active-active failover of redundant servers in response to a heartbeat link failure
US20050145688A1 (en) 2003-12-29 2005-07-07 Milan Milenkovic Asset management methods and apparatus
US7378968B2 (en) 2004-08-25 2008-05-27 International Business Machines Corporation Detecting the position of an RFID attached asset
US7430610B2 (en) 2000-09-01 2008-09-30 Opyo, Inc. System and method for adjusting the distribution of an asset over a multi-tiered network
US7624034B2 (en) 2001-11-29 2009-11-24 Hewlett-Packard Development Company, L.P. Method for receiving and reconciling physical inventory data against an asset management system from a remote location
US7734476B2 (en) 2002-09-27 2010-06-08 Hill-Rom Services, Inc. Universal communications, monitoring, tracking, and control system for a healthcare facility

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4853843A (en) * 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
JPH0619771A (en) 1992-04-20 1994-01-28 Internatl Business Mach Corp <Ibm> File management system of shared file by different kinds of clients
FI104600B (en) 1996-08-29 2000-02-29 Nokia Networks Oy Load monitoring in a service database system
US5826239A (en) 1996-12-17 1998-10-20 Hewlett-Packard Company Distributed workflow resource management system and method
US6363497B1 (en) 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6292905B1 (en) 1997-05-13 2001-09-18 Micron Technology, Inc. Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure
US6178522B1 (en) 1998-06-02 2001-01-23 Alliedsignal Inc. Method and apparatus for managing redundant computer-based systems for fault tolerant computing
US6279011B1 (en) 1998-06-19 2001-08-21 Network Appliance, Inc. Backup and restore for heterogeneous file server environment
US6526448B1 (en) * 1998-12-22 2003-02-25 At&T Corp. Pseudo proxy server providing instant overflow capacity to computer networks
US7315826B1 (en) 1999-05-27 2008-01-01 Accenture, Llp Comparatively analyzing vendors of components required for a web-based architecture
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US7035922B2 (en) * 2001-11-27 2006-04-25 Microsoft Corporation Non-invasive latency monitoring in a store-and-forward replication system
US20030233378A1 (en) 2002-06-13 2003-12-18 International Business Machines Corporation Apparatus and method for reconciling resources in a managed region of a resource management system
CN100388218C (en) * 2002-06-27 2008-05-14 中兴通讯股份有限公司 Method for realizing backup between servers
US7797403B2 (en) 2002-07-12 2010-09-14 Microsoft Corporation Deployment of configuration information
US6996743B2 (en) 2002-07-26 2006-02-07 Sun Microsystems, Inc. Method for implementing a redundant data storage system
US7293080B1 (en) 2003-02-04 2007-11-06 Cisco Technology, Inc. Automatically discovering management information about services in a communication network
US7167862B2 (en) 2003-03-10 2007-01-23 Ward Mullins Session bean implementation of a system, method and software for creating or maintaining distributed transparent persistence of complex data objects and their data relationships
TW575158U (en) 2003-03-20 2004-02-01 Ind Tech Res Inst Heat transfer structure for magnetic heat energy
JP4294353B2 (en) * 2003-03-28 2009-07-08 株式会社日立製作所 Storage system failure management method and apparatus having job management function
JP2004326478A (en) * 2003-04-25 2004-11-18 Hitachi Ltd Storage device system and management program
US7603443B2 (en) * 2003-08-28 2009-10-13 International Business Machines Corporation Generic method for defining resource configuration profiles in provisioning systems
US20050114642A1 (en) * 2003-11-26 2005-05-26 Brett Watson-Luke System and method for managing OSS component configuration
JP3896111B2 (en) 2003-12-15 2007-03-22 株式会社日立製作所 Resource allocation system, method and program
US7593348B2 (en) 2004-02-11 2009-09-22 Alcatel-Lucent Usa Inc. Traffic-independent allocation of working and restoration capacity in networks
US7475296B2 (en) * 2004-05-20 2009-01-06 International Business Machines Corporation Serviceability and test infrastructure for distributed systems
US7370233B1 (en) 2004-05-21 2008-05-06 Symantec Corporation Verification of desired end-state using a virtual machine environment
US7698487B2 (en) * 2004-06-30 2010-04-13 Intel Corporation Share resources and increase reliability in a server environment
WO2006012533A2 (en) * 2004-07-21 2006-02-02 Softricity, Inc. System and method for extraction and creation of application meta-information within a software application repository
US7409519B2 (en) 2004-11-12 2008-08-05 International Business Machines Corporation Synchronizing logical systems
US7953703B2 (en) 2005-02-17 2011-05-31 International Business Machines Corporation Creation of highly available pseudo-clone standby servers for rapid failover provisioning
US7984119B2 (en) * 2005-04-21 2011-07-19 Sap Ag Template configuration tool for application servers
US7779389B2 (en) * 2005-12-30 2010-08-17 Sap Ag System and method for dynamic VM settings
US8843918B2 (en) * 2005-12-30 2014-09-23 Sap Ag System and method for deployable templates

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542854B2 (en) * 1999-04-30 2003-04-01 Oracle Corporation Method and mechanism for profiling a system
US6625751B1 (en) * 1999-08-11 2003-09-23 Sun Microsystems, Inc. Software fault tolerant computer system
US20020194251A1 (en) * 2000-03-03 2002-12-19 Richter Roger K. Systems and methods for resource usage accounting in information management environments
US7430610B2 (en) 2000-09-01 2008-09-30 Opyo, Inc. System and method for adjusting the distribution of an asset over a multi-tiered network
US20020188711A1 (en) * 2001-02-13 2002-12-12 Confluence Networks, Inc. Failover processing in a storage system
US7624034B2 (en) 2001-11-29 2009-11-24 Hewlett-Packard Development Company, L.P. Method for receiving and reconciling physical inventory data against an asset management system from a remote location
US20030172141A1 (en) * 2002-03-06 2003-09-11 Adtran, Inc. Element management system and method utilizing provision templates
US20040022227A1 (en) 2002-08-02 2004-02-05 Lynch Randall Gene System and method for asset tracking
US7734476B2 (en) 2002-09-27 2010-06-08 Hill-Rom Services, Inc. Universal communications, monitoring, tracking, and control system for a healthcare facility
US20040143505A1 (en) 2002-10-16 2004-07-22 Aram Kovach Method for tracking and disposition of articles
US20050005200A1 (en) * 2003-03-12 2005-01-06 Vladimir Matena Method and apparatus for executing applications on a distributed computer system
US20050010838A1 (en) * 2003-04-23 2005-01-13 Dot Hill Systems Corporation Apparatus and method for deterministically performing active-active failover of redundant servers in response to a heartbeat link failure
US20050145688A1 (en) 2003-12-29 2005-07-07 Milan Milenkovic Asset management methods and apparatus
US7378968B2 (en) 2004-08-25 2008-05-27 International Business Machines Corporation Detecting the position of an RFID attached asset

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Aggarwal, Vijay; response to second office action in related U.S. Appl. No. 12/341,261, filed Dec. 22, 2008 by Vijay K. Aggarwal.
USPTO; Examination Correspondence from a Related U.S. Appl. No. 11/016,210, filed Dec. 17, 2004 by Vijay Kumar Aggarwal.
USPTO; second office action in related U.S. Appl. No. 12/341,261, filed Dec. 22, 2008 by Vijay K. Aggarwal.

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740201B2 (en) 2005-02-17 2020-08-11 International Business Machines Corporation Creation of highly available pseudo-clone standby servers for rapid failover provisioning
US10594553B2 (en) 2016-12-21 2020-03-17 Mastercard International Incorporated Systems and methods for dynamically commissioning and decommissioning computer components
US11652686B2 (en) 2016-12-21 2023-05-16 Mastercard International Incorporated Systems and methods for dynamically commissioning and decommissioning computer components
US11288104B2 (en) * 2019-08-06 2022-03-29 International Business Machines Corporation Automatic dynamic operating system provisioning

Also Published As

Publication number Publication date
US20160306721A1 (en) 2016-10-20
US20060190775A1 (en) 2006-08-24
US10042724B2 (en) 2018-08-07
CN1821969A (en) 2006-08-23
US20110214010A1 (en) 2011-09-01
US20180267871A1 (en) 2018-09-20
US20130024720A1 (en) 2013-01-24
US7953703B2 (en) 2011-05-31
US10740201B2 (en) 2020-08-11
US8301643B2 (en) 2012-10-30
CN100392609C (en) 2008-06-04

Similar Documents

Publication Publication Date Title
US10740201B2 (en) Creation of highly available pseudo-clone standby servers for rapid failover provisioning
US8311991B2 (en) Creation of highly available pseudo-clone standby servers for rapid failover provisioning
US20060136490A1 (en) Autonomic creation of shared workflow components in a provisioning management system using multi-level resource pools
US12056509B2 (en) Method and system for cloud desktop fabric
US20190334909A1 (en) Automatically Deployed Information Technology (IT) System and Method
JP4496093B2 (en) Remote enterprise management of high availability systems
US9274824B2 (en) Network technology standard operating environment
US8892700B2 (en) Collecting and altering firmware configurations of target machines in a software provisioning environment
EP2008400B1 (en) Method, system and computer program for the centralized system management on endpoints of a distributed data processing system
US20100217944A1 (en) Systems and methods for managing configurations of storage devices in a software provisioning environment
CN106657167B (en) Management server, server cluster, and management method
US9448615B2 (en) Managing power savings in a high availability system at a redundant component level of granularity
KR20060134211A (en) System and method for computer cluster virtualization using dynamic boot images and virtual disk
US11210150B1 (en) Cloud infrastructure backup system
US9465708B2 (en) System and method to proactively and intelligently schedule disaster recovery (DR) drill(s)/test(s) in computing system environment
US20060277340A1 (en) System and method for providing layered profiles
US20240061621A1 (en) Allocation, distribution, and configuration of volumes in storage systems
US20230044503A1 (en) Distribution of workloads in cluster environment using server warranty information
US20240231842A9 (en) Self-contained worker orchestrator in a distributed system
US11288137B2 (en) Restorations of virtual machines in virtual systems using a restoration policy
US20220166669A1 (en) Automatically determining supported capabilities in server hardware devices
GB2621140A (en) Configuration management system
WO2024118056A1 (en) Cloud initiated bare metal as a service for on-premises servers
CN117170916A (en) Fault analysis method, device, equipment and storage medium

Legal Events

Date Code Title Description
ZAAA Notice of allowance and fees due

Free format text: ORIGINAL CODE: NOA

ZAAB Notice of allowance mailed

Free format text: ORIGINAL CODE: MN/=.

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20240809