`
`CROSS-REFERENCE TO RELATED APPLICATIONS
`
`[0001]
`
`This application is a continuation of U.S. Patent Application No. 14/341,471 filed on
`
`July 25, 2014, which is a continuation of U.S. Patent Application No. 11/738,936 filed on April
`
`23, 2007, which is a continuation-in-part of U.S. Patent Application No. 11/535,355 and also a
`
`continuation-in-part of U.S. Patent Application No. 11/535,308 both filed on September 26,
`
`2006, both of which claim priority from U.S. Provisional Patent Application No. 60/745,322filed
`
`April 21, 2006, all incorporated herein by reference.
`
`TECHNICAL FIELD
`
`[0002]
`
`The presentinvention relates to information technologyinfrastructures and has
`
`particularutility in determining compatibility of computer systems in suchinfrastructures.
`
`BACKGROUND
`
`[0003]
`
`As organizations have become morereliant on computers for performing day to day
`
`activities, so to has the reliance on networks and information technology (IT) infrastructures
`
`increased.
`
`It is well knownthat large organizations having offices and otherfacilities in different
`
`geographical locations utilize centralized computing systems connected locally over local area
`
`networks (LAN) and across the geographical areas through wide-area networks (WAN).
`
`[0004]
`
`As these organizations grow, the amountof data to be processed and handled by the
`
`centralized computing centers also grows. As a result, the IT infrastructures used by many
`
`organizations have moved awayfrom reliance on centralized computing power and towards
`
`more robust and efficient distributed systems. Distributed systems are decentralized computing
`
`systems that use more than one computer operating in parallel to handle large amounts of data.
`
`Concepts surrounding distributed systems are well knownin the art and a complete discussion
`
`can be found in, e.g., “Distributed Systems: Principles and Paradigms”; Tanenbaum AndrewS.:
`
`Prentice Hall; Amsterdam, Netherlands; 2002.
`
`[0005]
`
`While the benefits of a distributed approach are numerous and well understood,
`
`there has arisen significant practical challenges in managing such systems for optimizing
`
`efficiency and to avoid redundancies and/or under-utilized hardware.
`
`In particular, one
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`29
`
`30
`
`31
`
`23782470.1
`
`-l-
`
`VMware, Inc.
`
`Exhibit 1002
`
`Page 1
`
`VMware, Inc. Exhibit 1002 Page 1
`
`
`
`aABBWwWNO
`OoOHDH
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`challenge occurs due to the sprawl that can occur over time as applications and servers
`
`proliferate. Decentralized control and decision making around capacity, the provisioning of new
`
`applications and hardware, and the perception that the cost of adding server hardwareis
`
`generally inexpensive, have created environments with far more processing capacity than is
`
`required by the organization.
`
`[0006]
`
`Whencost is considered on a server-by-server basis, the additional cost of having
`
`underutilized servers is often not deemedto be troubling. However, when multiple servers in a
`
`large computing environment are underutilized, having too many servers can become a burden.
`
`Moreover, the additional hardware requires separate maintenance considerations; separate
`
`upgrades and requires the incidental attention that should instead be optimized to be more cost
`
`effective for the organization. Heat production and power consumption can also be a concern.
`
`Even considering only the cost of having redundant licenses, removing even a modest number
`
`of servers from a large computing environment can savea significant amount of cost on a yearly
`
`basis.
`
`[0007]
`
`As a result, organizations have become increasingly concerned with such
`
`redundancies and how they can best achieve consolidation of capacity to reduce operating
`
`costs. The cost-savings objective can be evaluated on the basis of consolidation strategies
`
`such as, but notlimited to: virtualization strategies, operating system (OS) level stacking
`
`strategies, database consolidation strategies, application stacking strategies, physical
`
`consolidation strategies, and storage consolidation strategies.
`
`[0008]
`
`Virtualization involvesvirtualizing a physical system as a separate guest OS
`
`instance on a host machine. This enables multiple virtualized systems to run on a single
`
`physical machine, e.g. a server. Examples of virtualization technologies include VMware™,
`
`Microsoft Virtual Server™, IBM LPAR™, Solaris Containers™, Zones™, etc.
`
`[0009]
`
`OS-Level application stacking involves moving the applications and data from one or
`
`more systems to the consolidated system. This can effectively replace multiple operating
`
`system instanceswith a single OSinstance, e.g. system A running application X and system B
`
`running application Y are moved onto system C running application Z such that system C runs
`
`23782470.1
`
`VMware, Inc.
`
`Exhibit1002
`
`Page 2
`
`VMware, Inc. Exhibit 1002 Page 2
`
`
`
`STDmnBWWN
`
`oo
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`applications X, Y and Z, and system A and B are no longer required. This strategy is applicable
`
`to all operation system types, e.g. Windows™, Linux™, Solaris™, AIX™, HP-UX™, etc.
`
`[0010]
`
`Database stacking combines one or more database instances at the database server
`
`level, e.g. Oracle™, Microsoft SQL Server™, etc. Database stacking combines data within a
`
`database instance, namely at the table level. Application stacking combines one or more
`
`databaseinstances at the application serverlevel, e.g. J2EE™ application servers, Weblogic™,
`
`WebSphere™, JBoss™, etc.
`
`[0011]
`
`Physical consolidation moves physical systems at the OS level to multi-system
`
`hardware platforms such as Blade Servers™, Dynamic System Domains™, etc. Storage
`
`consolidation centralizes system storage through storage technologies such as Storage Area
`
`Networks (SAN), Network Attached Storage (NAS), etc.
`
`[0012]
`
`The consolidation strategies to employ and the systems and applications to be
`
`consolidated are to be considered taking into account the specific environment. Consolidation
`
`strategies should be chosen carefully to achieve the desired cost savings while maintaining or
`
`enhancing the functionality and reliability of the consolidated systems. Moreover, multiple
`
`strategies may often be required to achieve the full benefits of a consolidation initiative.
`
`[0013]
`
`Complex systems configurations, diverse business requirements, dynamic workloads
`
`and the heterogeneous natureof distributed systems can cause incompatibilities between
`
`systems. These incompatibilities limit the combinations of systems that can be consolidated
`
`successfully.
`
`In enterprise computing environments, the virtually infinite number of possible
`
`consolidation permutations which include suboptimal and incompatibility system combinations
`
`make choosing appropriate consolidation solutions difficult, error-prone and time consuming.
`
`[0014]
`
`It is therefore an object of the following to obviate or mitigate the above-described
`
`disadvantages.
`
`25
`
`SUMMARY
`
`26
`
`27
`
`[0015]
`
`In one aspect, a method for determining a consolidation solution for a plurality of
`
`computer systems is provided comprising obtaining a data set comprising a compatibility score
`
`23782470.1
`
`-3-
`
`VMware, Inc.
`
`Exhibit 1002
`
`Page 3
`
`VMware, Inc. Exhibit 1002 Page 3
`
`
`
`NUWBWNO
`
`~—
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`for each pair of the plurality of computer systems, each the compatibility score being indicative
`
`of the compatibility of one of the plurality of computer systems with respect to anotherof the
`
`plurality of computer systems; determining one or more candidate transfer sets each indicating
`
`one or more of the computer systems capable of being transferred to a target computer system;
`
`selecting a desired one of the one or more candidate transfer sets; and providing the desired
`
`one as a consolidation solution.
`
`[0016]
`
`In another aspect, there is provided method for determining compatibilities for a
`
`plurality of computer systems comprising: obtaining at least one transfer set indicating one or
`
`more of the computer systems capable of being transferred to a target computer system;
`
`evaluating compatibilities of the one or more computer systems against the target computer
`
`system to obtain a first compatibility score; evaluating compatibilities of each the one or more of
`
`the computer systems against each other to obtain a second compatibility score; and computing
`
`an overall compatibility score for the transfer set using the first and second compatibility scores.
`
`[0017]
`
`In yet another aspect, there is provided a computer program for determining
`
`compatibilities for a plurality of computer systems comprising an audit engine for obtaining
`
`information pertaining to the compatibility of the plurality of computer systems; an analysis
`
`engine for generating a compatibility score for each pair of the plurality of systems based on the
`
`information that is specific to respective pairs; and a client for displaying the compatibility score
`
`on an interface, the interface being configured to enable a user to specify parameters
`
`associated with a map summarizing the compatibility scores and to define and initiate a transfer
`
`of one or more of the computer systems to a target computer system.
`
`22
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`23
`
`24
`
`25
`
`26
`
`[0018]
`
`An embodimentof the invention will now be described by way of example only with
`
`reference to the appended drawings wherein:
`
`[0019]
`
`Figure 1 is a block diagram of an analysis program for evaluating the compatibility of
`
`computer systems to identify consolidation solutions.
`
`27
`
`[0020]
`
`Figure 2 is a more detailed diagram of the analysis program depicted in Figure 1.
`
`23782470.1
`
`VMware, Inc.
`
`Exhibit1002
`
`Page 4
`
`VMware, Inc. Exhibit 1002 Page 4
`
`
`
`[0021]
`
`Figure 3 is a block diagram illustrating a sample consolidation solution comprised of
`
`multiple transfers.
`
`[0022]
`
`Figure 4 is an example of a rule-based compatibility analysis map.
`
`[0023]
`
`Figure 5 is an example of a workload compatibility analysis map.
`
`[0024]
`
`Figure 6 is an example of an overall compatibility analysis map.
`
`[0025]
`
`Figure 7 is a schematic block diagram of an underlying architecture for implementing
`
`the analysis program of Figure 1.
`
`[0026]
`
`Figure 8 is a table mapping audit data sources with consolidation strategies.
`
`[0027]
`
`Figure 9 is a process flow diagram of the compatibility and consolidation analyses.
`
`[0028]
`
`Figure 10 is a process flow diagram illustrating the loading of system data for
`
`analysis.
`
`[0029]
`
`Figure 11 is a high level processflow diagram for a 1-to-1 compatibility analysis.
`
`[0030]
`
`Figure 12 is a table showing example rule sets.
`
`[0031]
`
`Figure 13 is a table showing example workload types.
`
`[0032]
`
`Figure 14 is a process flow diagram for the 1-to-1 compatibility analysis.
`
`[0033]
`
`Figure 15 is a flow diagram illustrating operation of the rule engine analysis.
`
`[0034]
`
`Figure 16 shows an example rule set.
`
`[0035]
`
`Figure 17 is a flow diagram of the 1-to-1 rule-based compatibility analysis.
`
`[0036]
`
`Figure 18 is a flow diagram illustrating the evaluation of a rule set.
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`[0037]
`
`Figure 19 is an example of the rule-based compatibility analysis result details.
`
`21
`
`[0038]
`
`Figure 20 is a flow diagram of workload data extraction process.
`
`23782470.1
`
`-5-
`
`VMware, Inc.
`
`Exhibit1002
`
`Page5
`
`VMware, Inc. Exhibit 1002 Page 5
`
`
`
`[0039]
`
`Figure 21 is a flow diagram of the 1-to-1workload compatibility analysis.
`
`[0040]
`
`Figure 22 is an example of the workload compatibility analysis result details.
`
`[0041]
`
`Figure 23 is an example of the overall compatibility analysis result details.
`
`[0042]
`
`Figure 24(a) is a high level process flow diagram of the multi-dimensional
`
`compatibility analysis.
`
`[0043]
`
`Figure 24(b) is a flow diagram showing the multi-dimensional analysis.
`
`[0044]
`
`Figure 24(c) is a flow diagram showing use of a rule set in an N-to-1 compatibility
`
`analysis.
`
`[0045]
`
`Figure 24(d) is a flow diagram showing useof a rule set in an N-by-N compatibility
`
`analysis.
`
`[0046]
`
`Figure 25 is a process flow diagram of the multi-dimensional workload compatibility
`
`analysis.
`
`[0047]
`
`Figure 26 is an example multi-dimensional compatibility analysis map.
`
`[0048]
`
`Figure 27 is an example of the multi-dimensional compatibility analysis result details
`
`for a rule set.
`
`[0049]
`
`Figure 28 is an example of the multi-dimensional workload compatibility analysis
`
`result details.
`
`[0050]
`
`Figure 29 is a process flow diagram of the consolidation analysis.
`
`[0051]
`
`Figure 30 is a process flow diagram of an autofit algorithm used by the consolidation
`
`analysis.
`
`[0052]
`
`Figure 31 is an example of a consolidation solution produced by the consolidation
`
`analysis.
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`[0053]
`
`Figure 32 shows an example hierarchy of analysis folders and analyses.
`
`23782470.1
`
`-6-
`
`VMware, Inc.
`
`Exhibit 1002
`
`Page6
`
`VMware, Inc. Exhibit 1002 Page 6
`
`
`
`[0054]
`
`Figure 33 shows the screen for creating and editing the analysis input parameters.
`
`[0055]
`
`Figure 34 shows an example of the rule set editor screen.
`
`[0056]
`
`Figure 35 shows an example of the screen for editing workload settings.
`
`[0057]
`
`Figure 36 shows an example screen to edit the importance factors used to compute
`
`the overall compatibility score.
`
`[0058]
`
`Figure 37 is an example 1-to-1 compatibility map.
`
`[0059]
`
`Figure 38 is example configuration compatibility analysis details.
`
`[0060]
`
`Figure 39 is an example 1-to-1 compatibility map for business constraints.
`
`[0061]
`
`Figure 40 is an example 1-to-1 workload compatibility map.
`
`[0062]
`
`Figure 41 is an example workload compatibility report.
`
`[0063]
`
`Figure 42 is an example workload details report with stacked workloads.
`
`[0064]
`
`Figure 43 is an example of a 1-to-1 overall compatibility map.
`
`[0065]
`
`Figure 44 is an example of the 1-to-1 overall compatibility details report.
`
`[0066]
`
`Figure 45 showsthe workload details of the overall compatibility report.
`
`[0067]
`
`Figure 46 shows example transfers on a compatibility map with net effectoff.
`
`[0068]
`
`Figure 47 shows example transfers on a compatibility map with net effect on.
`
`[0069]
`
`Figure 48 is an example multi-dimensional compatibility details report.
`
`[0070]
`
`Figure 49 shows an example of the consolidation analysis (autofit) input screen.
`
`[0071]
`
`Figure 50 is an example overall compatibility map for the consolidation solution.
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`[0072]
`
`Figure 51 is an example consolidation summary report.
`
`23782470.1
`
`-7-
`
`VMware, Inc.
`
`Exhibit1002
`
`Page7
`
`VMware, Inc. Exhibit 1002 Page 7
`
`
`
`[0073]
`
`Figure 52 shows the example transfers that comprise the consolidation solution.
`
`DETAILED DESCRIPTION OF THE DRAWINGS
`
`Analysis Program Overview
`
`0DDNn
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`[0074]
`
`A block diagram of an analysis program 10 for determining compatibilities in
`
`computing environment 12 is provided in Figure 1. The analysis program 10, accessed through
`
`a computerstation 14, gathers data 18 pertaining to a collection of systems to be consolidated
`
`16. The analysis program 10 uses the gathered data 18 to evaluate the compatibility of the
`
`computer systems 28 and provide a roadmap 20 specifying how the original set of systems can
`
`be consolidated to a smaller number of systems 22.
`
`[0075]
`
`The following provides an overview of the principles and functionality related to the
`
`analysis program 10 andits environment depicted in Figure 2.
`
`System Data Parameters
`
`[0076]
`
`A distinct data set is obtained for each system 16 to contribute to the combined
`
`system data 18 shownin Figure 2. Each data set comprises one or more parametersthat relate
`
`preferably to technical 24, business 26 and workload 28 characteristics or features of the
`
`respective system 16. The parameters can be evaluated by scrutinizing program definitions,
`
`properties, objects, instances and any other representation or manifestation of a component,
`
`feature or characteristic of the system 16.
`
`In general, a parameter is anything related to the
`
`system 16 that can be evaluated, quantified, measured, compared etc.
`
`[0077]
`
`Examples of technical parameters relevant of the consolidation analysis include the
`
`operating system, OS version, patches, application settings, hardware devices, etc.
`
`[0078]
`
`Examples of business parameters of systems relevant to the consolidation analysis
`
`include the physical location, organization department, data segregation requirements, owner,
`
`service level agreements, maintenance windows, hardware lease agreements, software
`
`licensing agreements, etc.
`
`23782470.1
`
`VMware, Inc.
`
`Exhibit1002
`
`Page8
`
`VMware, Inc. Exhibit 1002 Page 8
`
`
`
`[0079]
`
`Examples of workload parameters relevant to consolidation analysis include various
`
`resourceutilization and capacity metrics related to the system processor, memory, disk storage,
`
`disk I/O throughput and network bandwidth utilization.
`
`System and Entity Models
`
`[0080]
`
`The system data parameters associated with a system 16 comprise the system
`
`model usedin the analyses.
`
`[0081]
`
`In the following examples, a source system refers to a system from which
`
`applications and/or data are to be moved, and a target server or system is a system to which
`
`such applications and/or data are to be moved. For example, an underutilized environment
`
`having two systems 16 can be consolidated to a target system (one of the systems) by moving
`
`applications and/or data from the source system (the other of the systems) to the target system.
`
`[0082]
`
`The computer systems 16 may be physical systems, virtual systems or hypothetical
`
`models.
`
`In contrast to actual physical systems, hypothetical systems do not currently exist in
`
`the computing environment 12. Hypothetical systems can be defined and includedin the
`
`analysis to evaluate various types of “what if’ consolidation scenarios. Hypothetical targets can
`
`be used to simulate a case where the proposed consolidation target systems do not exist in the
`
`environment12, e.g. for adding a system 16. Similarly, hypothetical source systems can be
`
`used to simulate the case where a new application is to be introduced into the environment 12
`
`and “forward consolidated” onto existing target systems 16.
`
`[0083]
`
`Hypothetical systems can be created through data imports, cloning from actual
`
`systems models, and manual specification by users, etc. The system model can be minimal
`
`(sparse) or include as much data as an actual system model. These system models may also
`
`be further modified to address the analysis requirements.
`
`[0084]
`
`The compatibility analysis can also be generalized to evaluate entities beyond
`
`physical, virtual or hypothetical systems. For example, entities can be componentsthat
`
`comprise systems such as applications and database instances. By analysing the compatibility
`
`of database instances and database servers with database stacking rule sets, database
`
`consolidation can also be assessed. Similarly, application consolidation can be evaluated by
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`23782470.1
`
`-9.
`
`VMware, Inc.
`
`Exhibit 1002
`
`Page9
`
`VMware, Inc. Exhibit 1002 Page 9
`
`
`
`analyzing application servers and instances with application stacking rules. The entity could
`
`also be a logical application system and technical data can pertain to functional aspects and
`
`specifications of the entity.
`
`[0085]
`
`It will therefore be appreciated that a “system” or “computer system”hereinafter
`
`referred, can encompassany entity which is capable of being analysed for any type of
`
`compatibility and should not be considered limited to existing or hypothetical physical or virtual
`
`systems etc.
`
`Consolidation and Transfers
`
`[0086]
`
`Consolidation as described above can be considered to include one or more
`
`“transfers”. The actual transfer describes the movementof a single source entity onto a target,
`
`wherein the specification identifies the source, target and transfer type. The transfer type (or
`
`consolidation strategy) describes how a sourceentity is transferred onto a target, e.g.
`
`virtualization, OS stacking etc.
`
`[0087]
`
`A transfer set 23 (see Figure 3) can be considered one or moretransfers that involve
`
`a common target, wherein the set specifies one or more source entities, the target and a
`
`transfer type.
`
`[0088]
`
`A consolidation solution (or roadmap) is one or more transfer sets 23 based on a
`
`common pool of source and target entities. As can be seen in Figure 2, the consolidation
`
`roadmap can beincluded in the analysis results 20. Each source or target entity is referenced
`
`at most onetime by the transfer sets that comprise the solution.
`
`[0089]
`
`Figure 3 shows how an example pool 24 of 5 systems ($1, S2, S3, S4 and S5) can
`
`be consolidated through 2 transfer sets 23: stack S1 and S2 onto S3, and stack S4 onto S5.
`
`The transfer sets 23 include 3 transfers, and each system 16 is referenced bythe transfer sets
`
`23 only once.
`
`In the result, a consolidated pool 26 of 2 systems is achieved.
`
`[0090]
`
`It will be appreciated that the principles described herein support many
`
`transformation strategies and consolidation is only one example.
`
`we
`
`SDmn
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`Compatibility Analyses
`
`23782470.1
`
`-10-
`
`VMware, Inc.
`
`Exhibit1002
`
`Page 10
`
`VMware, Inc. Exhibit 1002 Page 10
`
`
`
`[0091]
`
`The following discusses compatibilities between systems 16 based on the
`
`parameters to determine if efficiencies can be realized by consolidating either entire systems 16
`
`or aspects or components thereof.
`
`[0092]
`
`The analyses employdifferential rule sets 28 to evaluate and quantify the
`
`compatibility of systems 16 with respect to technical configuration and business related factors
`
`comprised in the gathered system data 18. Similarly, workload compatibility of a set of systems
`
`16 is assessed using workload stacking and scoring algorithms 30. The results of configuration,
`
`business and workload compatibility analyses are combined to produce an overall compatibility
`
`score for a set of systems 16.
`
`[0093]
`
`In addition to compatibility scores, the analysis provides details that account for the
`
`actual scores. The scores can be presentedin color coded maps 32, 34 and 36 thatillustrate
`
`patterns of the compatibility amongst the analyzed systems as shownin Figures 4, 5 and 6
`
`respectively.
`
`Analysis Modes
`
`[0094]
`
`A collection of systems 16 to be consolidated can be analyzed in one of three
`
`modes: 1-to-1 compatibility, multi-dimensional compatibility and consolidation analyses. These
`
`analyses share many common aspects but can be performed independently.
`
`[0095]
`
`The 1-to-1 compatibility analysis evaluates the compatibility of every possible
`
`source-target pair combination in the collection of systems 16 on a 1-to-1 basis. This analysis is
`
`useful in assessing single transfer consolidation candidates.
`
`In practice, it may be prudent to
`
`consolidate systems 16 incrementally and assess the impact of each transfer before proceeding
`
`with additional transfers.
`
`[0096]
`
`The multi-dimensional compatibility analysis evaluates the compatibility of transfer
`
`sets that can involve multiple sources being transferred to a common target. The analysis
`
`produces a compatibility score for each specified transfer set 23 by evaluating the compatibility
`
`of the systems 16 that comprise the transfer set 23.
`
`we
`
`0DDNn
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`23782470.1
`
`-ll-
`
`VMware, Inc.
`
`Exhibit1002
`
`Page 11
`
`VMware, Inc. Exhibit 1002 Page 11
`
`
`
`BWNO
`
`WN
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`[0097]
`
`The consolidation analysis searches for a consolidation solution that minimizes the
`
`numberof remaining source and target entities after the proposed transfers are applied, while
`
`meeting requisite compatibility constraints. This analysis employs the multi-dimensional
`
`compatibility analysis described above to evaluate the compatibility of postulated transfer sets.
`
`[0098]
`
`The analysis program 10 performs consolidation analysesforvirtualization and
`
`stacking strategies as will be explained in greater detail below, however, it will be appreciated
`
`that other consolidation strategies may be performed according to similar principles.
`
`Analysis Program Architecture
`
`[0099]
`
`A block diagram of the analysis program 10 is shownin Figure 7. The flow of data
`
`18 through the program 10 begins as an audit engine 40 pulls audit data 18 from audited
`
`environments 42. The data works its way up to the web client 44 which displays an output on a
`
`user interface, e.g. on computer 14. The program 10 is preferably a client-server application
`
`that is accessed via the web client 44.
`
`[00100]
`
`An audit engine 40 communicates over one or more communication protocols with
`
`audited environments 42 comprised of the actual systems 16 being analysed. The audit engine
`
`40 typically uses data acquisition adapters to communicate directly with the end points (e.g.
`
`servers) or through software systems that manage the end points (e.g. management
`
`frameworks 46 and/or agent instrumentation 48 and/or direct access 50).
`
`[00101]
`
`Alternatively, system data 18 can be imported from third party tools, e.g. inventory
`
`applications, performance monitoring tools etc., or can be obtained through user data entry.
`
`Examples of such third-party data having file formats that can be imported include comma
`
`separated values (CSV), extensible markup language (XML) and well formatted text files such
`
`as those generated by the UNIX™ system activity reporter (SAR).
`
`[00102]
`
`The audit engine 40, uses a set of audit request templates 52 that define the data 18
`
`to acquire from the systems 16. Once collected, the data 18 is stored in an audit data repository
`
`54. Data 18 referenced by the analysis rule sets 28 and required by the workload analysis 30
`
`are extracted and stored in separate data caches 56 and 58 respectively.
`
`23782470.1
`
`-|2-
`
`VMware, Inc.
`
`Exhibit1002
`
`Page 12
`
`VMware, Inc. Exhibit 1002 Page 12
`
`
`
`NABWNO
`
`~—
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`[00103] Aliases 60, differential rule sets 28, workload data types 30 and benchmark
`
`specifications comprise some of the analysis-related metadata 62 definitions used by the
`
`program 10. Aliases 60 extract and normalize system data 18 from a variety of data sources to
`
`a common model for analysis. Rule sets 28 examine system compatibility with respect to
`
`technical configuration and business-related factors. The workload definitions 30 specify the
`
`system resource parameters and benchmarksfor analyzing workload compatibility.
`
`[00104]
`
`An analysis engine 64 is also provided, which comprises compatibility and
`
`consolidation analysis engines 66 and 68 respectively. The compatibility analysis evaluates the
`
`compatibility of systems 16 through rule sets 28 and workload stacking algorithms 30. The
`
`consolidation analysis engine 68 leverages the compatibility analysis and employs constraint-
`
`based optimization algorithms to find consolidation solutions that allows the environment 12 to
`
`operate with fewer systems 16.
`
`[00105]
`
`|The program 10 has a report engine 70 that utilizes report templates 72 for
`
`generating reports that convey the analysis results. Typically, the program 10 includes a web
`
`interface layer 74 that allows webclient 44 users to enter settings, initiate an audit or analysis,
`
`view reports etc.
`
`Analysis Data Sources
`
`[00106]
`
`The audit data 18 can be acquired using tools such as the table 76 shownin Figure 8
`
`that illustrate the various types of configuration settings that are of interest and from which
`
`sources they can be obtained. Figure 8 also provides a mapping to where the sample workload
`
`data can be obtained.
`
`In Figure 8, a numberof strategies 78 and sub-strategies 80 map to
`
`various configuration and workload sources, collectively referred to by numeral 82. As
`
`discussed making reference to Figure 8, the strategies 78 may relate to database consolidation,
`
`OS-level stacking, application server stacking, virtualization, and many others. Each strategy
`
`78 includes a set of sub-strategies 80, which in turn map to specific rule sets 28. The rule sets
`
`28, which will be explained in greater detail below, determine whetheror not a particular setting
`
`or system criterion/criteria have been met and thus how different one system 16 is to the next.
`
`The rule sets 28 canalso indicate the cost of remediating such differences.
`
`23782470.1
`
`-13-
`
`VMware, Inc.
`
`Exhibit1002
`
`Page 13
`
`VMware, Inc. Exhibit 1002 Page 13
`
`
`
`SYDWnffWN
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`[00107]
`
`The table 76 lists the supported consolidation strategies and the relevant data
`
`sources that should be audited to perform the corresponding consolidation analysis.
`
`In general,
`
`collecting more basis data 18 improvesthe analysis results. The table 76 enables the analysis
`
`program 10 to locate the settings and information of interest based on the strategy 78 or sub-
`
`strategy 80 (and in turn the rule set 28) that is to be used to evaluate the systems 16 in the
`
`environment 12. The results can be used to determine source/target candidates for analysing
`
`the environment for the purpose of, e.g. consolidation, compliance measuresetc.
`
`Analysis Process Overview
`
`[00108]
`
`Referring now to Figure 9, a process flow diagram illustrates the data flow for
`
`performing the compatibility and consolidation analyses discussed above. The flow diagram
`
`outlines four processes: a data load and extraction process(A), a 1-to-1 compatibility analysis
`
`process (B), a multi-dimensional compatibility analysis process (C), and a consolidation analysis
`
`process(D).
`
`[00109]
`
` Inprocess A, the system data 18 collected via audits or imports as discussed above
`
`is prepared for use by the analyses. The compatibility and consolidation analyses processesB,
`
`C and D can be performed independently. The analyses share a common analysis input
`
`specification and get system data 18 from the data repository 54 and caches 56 and 58. The
`
`multi-dimensional compatibility and consolidation analyses take additional inputs in the form of a
`
`consolidation solution and autofit input parameters 84 and 86 respectively.
`
`[00110]
`
`The 1-to-1 compatibility analysis process B evaluates the compatibility of each
`
`system pair on a 1-to-1 basis.
`
`In contrast, the multi-dimensional analysis process C evaluates
`
`the compatibility of each transfer set 23 in the consolidation solution that was specified as part
`
`of its input.
`
`[00111]
`
`|The consolidation analysis process D searchesfor the best consolidation solution
`
`that fulfills the constraints defined by the autofit input 86. The consolidation analysis employs
`
`the multi-dimensional compatibility analysis C to assess potential transfer set candidates.
`
`27
`
`Data Load and Extraction
`
`23782470.1
`
`-14-
`
`VMware, Inc.
`
`Exhibit1002
`
`Page 14
`
`VMware, Inc. Exhibit 1002 Page 14
`
`
`
`BWNO
`0OHIHNMN
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`[00112]
`
`A process flow diagram for the data load and extraction processA is illustrated in
`
`Figure 10. System data including technical configuration, business related and workload
`
`collected through audits, data import and user input are prepared for use by the analyses
`
`processesB, C and D.
`
`[00113] When system data 18 andattributes are loaded into the analysis program 10, they
`
`are stored in the audit data repository 54 and system attribute table 55, respectively. As well,
`
`system data 18 referenced by rule set items 28, workload types 30 and benchmarks are
`
`extracted and loaded into their respective caches 56, 58. Alias specifications 60 describe how
`
`data can be extracted and if necessary, normalized from a variety of data sources.
`
`[00114]
`
`The data repository 54 and caches 56 and 58thus store audited data 18, system
`
`attributes, the latest rule set data, historical workload data and system workload benchmarks.
`
`1-to-1 Compatibility Analysis
`
`[00115]
`
`A high level flow diagram of the 1-to-1 compatibility analysis is shown in Figure 11.
`
`The 1-to-1 compatibility analysis can take into account analysis input, including input regarding
`
`the systems 16 to be analyzed, rule set related parameters, workload related parameters,
`
`workload benchmarks and importance factors 88 used to compute overall scores.
`
`[00116]
`
`The compatibility analysis evaluates the compatibility