US9654367B2 - System and method for determining and visualizing efficiencies and risks in computing environments - Google Patents

System and method for determining and visualizing efficiencies and risks in computing environments Download PDF

Info

Publication number
US9654367B2
US9654367B2 US14/180,438 US201414180438A US9654367B2 US 9654367 B2 US9654367 B2 US 9654367B2 US 201414180438 A US201414180438 A US 201414180438A US 9654367 B2 US9654367 B2 US 9654367B2
Authority
US
United States
Prior art keywords
computing
score
computing environment
entity
graphical representation
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.)
Active, expires
Application number
US14/180,438
Other versions
US20140164612A1 (en
Inventor
Andrew Derek Hillier
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.)
Cirba Inc
Original Assignee
Cirba Inc
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
Family has litigation
US case filed in Delaware District Court litigation Critical https://portal.unifiedpatents.com/litigation/Delaware%20District%20Court/case/1%3A23-cv-00015 Source: District Court Jurisdiction: Delaware District Court "Unified Patents Litigation Data" by Unified Patents is licensed under a Creative Commons Attribution 4.0 International License.
US case filed in Delaware District Court litigation https://portal.unifiedpatents.com/litigation/Delaware%20District%20Court/case/1%3A19-cv-00742 Source: District Court Jurisdiction: Delaware District Court "Unified Patents Litigation Data" by Unified Patents is licensed under a Creative Commons Attribution 4.0 International License.
US case filed in Court of Appeals for the Federal Circuit litigation https://portal.unifiedpatents.com/litigation/Court%20of%20Appeals%20for%20the%20Federal%20Circuit/case/23-1770 Source: Court of Appeals for the Federal Circuit Jurisdiction: Court of Appeals for the Federal Circuit "Unified Patents Litigation Data" by Unified Patents is licensed under a Creative Commons Attribution 4.0 International License.
First worldwide family litigation filed litigation https://patents.darts-ip.com/?family=47714660&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=US9654367(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Assigned to CIRBA INC. reassignment CIRBA INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HILLIER, ANDREW DEREK
Priority to US14/180,438 priority Critical patent/US9654367B2/en
Application filed by Cirba Inc filed Critical Cirba Inc
Publication of US20140164612A1 publication Critical patent/US20140164612A1/en
Assigned to CIRBA IP INC. reassignment CIRBA IP INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CIRBA INC.
Priority to US15/494,797 priority patent/US20170230247A1/en
Publication of US9654367B2 publication Critical patent/US9654367B2/en
Application granted granted Critical
Assigned to THE BANK OF NOVA SCOTIA reassignment THE BANK OF NOVA SCOTIA SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CIRBA IP INC.
Assigned to CIRBA INC. reassignment CIRBA INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CIRBA IP INC.
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • 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/0893Assignment of logical groups to network elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/328Computer systems status display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • 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/0894Policy-based network configuration management
    • 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/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • 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/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • 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/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/067Generation of reports using time frame reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • 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/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • 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/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities

Definitions

  • the following relates to systems and methods for determining and visualizing efficiencies and risks in computing environments.
  • Modern data centers typically comprise hundreds if not thousands of servers. Each server supplies a finite amount of resource capacity, typically in the form of, but not limited to: central processing unit (CPU) capacity, memory or storage capacity, disk input/output (I/O) throughput, and network I/O bandwidth. Workloads running on these servers consume varying amounts of these resources. With the advent of virtualization and cloud technologies, individual servers are able to host multiple workloads.
  • CPU central processing unit
  • I/O disk input/output
  • network I/O bandwidth network I/O bandwidth
  • Percent CPU utilization which corresponds to the ratio of CPU usage relative to CPU capacity, is a common measure of how effectively servers are being utilized.
  • Various other metrics may be used to determine resource utilization for computing systems. Organizations may wish to measure and evaluate efficiencies and risks in computing environments but often do not have convenient ways to perform such measurements and evaluations.
  • a method comprising: obtaining resource utilization data and resource capacity data for a plurality of entities in a computing environment; obtaining at least one operational policy defining at appropriate level of at least one resource used by the computing environment according to at least one factor; and computing at least one score quantifying efficiencies and risks associated with the computing environment based on the resource utilization data, resource capacity data, and at least one operational policy.
  • a computer readable storage medium comprising computer executable instructions for performing the method.
  • a system for analyzing efficiencies and risks in a computing environment comprising a processor and at least one memory, the memory comprising computer executable instructions for performing the method.
  • FIG. 1 is a schematic diagram of a computing environment
  • FIG. 2 is a block diagram of functional components configured to perform an efficiency and risk analysis using resource utilization and capacity data and operational policies.
  • FIG. 3 is a flow chart illustrating example computer executable operations that may be performed in conducting an efficiency and risk analysis
  • FIG. 4 is an example screen shot including an efficiency risk spectrum for a single computing environment
  • FIG. 5 is an example screen shot including an efficiency risk spectrum for a single computing environment
  • FIG. 6 is an example screen shot including an efficiency risk spectrum for a single computing cluster
  • FIG. 7 is an example screen shot including an efficiency risk spectrum for multiple computing environments
  • FIG. 8 is an example screen shot including a recommended actions output
  • FIG. 9 is an example screen shot including a recommended actions output
  • FIG. 10 is an example screen shot including an efficiency risk spectrum for a cluster with recommendations applied
  • FIG. 11 is an example screen shot for an operational policy user interface
  • FIG. 12 is an example screen shot for a system policy user interface.
  • a system and method are provided for quantifying and visualizing the efficiency and risks related to resource utilization levels, relative to the provisioned capacity of computing environments, with consideration of operational policies.
  • the system may be configured to determine and presents recommended actions that mitigate the inefficiencies and risks detected for the computing environments being analyzed.
  • the capabilities of the system herein described enable organizations to accurately measure efficiency and risks in physical, virtual and cloud computing environments. It has been recognized that through the recommended actions, organizations can increase efficiency and reduce risks in their computing environments.
  • FIG. 1 An example of a computing environment 10 is shown in FIG. 1 .
  • Computing environments 10 can be virtual or physical.
  • Virtual computing environments 10 may be based on various virtualization platforms such as VMware vSphere, IBM PowerVM, Microsoft Hyper-V, Oracle/Sun Logical Domains, etc.
  • Physical computing environments 10 may be based on various server platforms such as IBM Power, Oracle/Sun SPARC and x86-based servers, etc.
  • a computing environment 10 is designed and/or provided to run at least one workload 12 that performs business functions and consume compute resources 14 , e.g., resources 14 related to CPU, memory, disk, network, etc.
  • the workloads 12 run on computing systems 16 such as servers that supply the computing resources 14 .
  • Each computing system 16 has a finite capacity of resources 14 .
  • Multiple computing systems 16 can form a computing cluster 18 reflecting, for example, an administrative group or a management domain. Such groups or domains may support advanced capabilities such as live migration of workloads 12 between computing systems 16 , load balancing and/or high availability. Multiple computing clusters 18 can be logically grouped (e.g., by location, line of business, etc.) to form a computing environment 10 as is illustrated in FIG. 1 .
  • Many computing environments 10 may be modeled through the entity types shown in FIG. 1 , and may include associated parent-child relationships.
  • Workloads 12 are considered resource consumers, typically with configurable resource allocations.
  • Computing systems 16 such as servers are considered resource suppliers containing one or more workloads 12 .
  • Computing clusters 18 are considered collections of computing systems 16 (e.g. a server farm) with mobility of workloads 12 between computing systems 16 in a computing cluster 18 being possible.
  • the computing environments 10 are typically defined by a collection of one or more computing clusters 18 .
  • VMware vSphere computing environments 10 can be modeled with the following entity types.
  • a guest is considered a virtual machine running on a host for performing actual workloads 12 .
  • a host is a physical computing system 16 running the ESX hypervisor capable of running one or more virtual machines.
  • a computing cluster 18 therefore enables hosts to be managed as a group capable of supporting capabilities such as live migration of workloads 12 between hosts, automated workload balancing and high availability of guest workloads 12 .
  • a datacenter in this example is considered a computing environment 10 including one or more computing clusters 18 .
  • IBM PowerVM computing environments 10 can be modeled with the following entity types.
  • Logical Partitions (LPARs) are considered virtual machines running on managed computing systems 16 for performing actual workloads 12 .
  • Managed systems are considered physical computing systems 16 (e.g. servers) capable of running one or more LPARs.
  • a domain is considered a group of managed systems administered by a common hardware management controller (HMC).
  • An environment in this example is a computing environment 10 including one or more management domains.
  • workloads 12 can often be divided into multiple applications.
  • some virtualization technologies support the creation of resource pools to divide processor and/or memory resources that are allocated by servers to their workloads 12 .
  • the analysis system 20 may be configured using software, hardware or any combination of software and hardware.
  • the analysis system 20 may reside on a personal computer, embedded computer, mobile computing device, etc. It can also be appreciated that the configuration and functional delineations shown in FIG. 2 are for illustrative purposes only.
  • the system 20 includes an analysis engine 22 that comprises an efficiency and risk (ER) processor 24 .
  • the ER processor 24 utilizes system data 26 related to the computing systems 16 in a particular cluster 18 and/or computing environment 10 to quantify and visualize the efficiency and risks for a computing environment 10 .
  • the system data 26 includes, without limitation, resource utilization data 28 and resource capacity data 30 for conducting the analyses (as shown), and well as, for example, system configuration data and business related data (e.g., guest and host operating systems, guest workload uptime requirements, guest workload security level requirements, guest workload and host maintenance windows, guest workload balancing groups, guest workload high availability groups, etc.)
  • the ER processor 24 also obtains operational policies 32 to be considered when analyzing such efficiencies and risks.
  • the analysis engine 22 may output at least one ER spectrum 34 related to the computing environment 10 which, as described below, depicts efficiencies and risks in the computing environment 10 based on ER scores.
  • the analysis engine 22 may also output recommended actions 36 based on the ER scores.
  • the outputs 34 , 36 shown in FIG. 2 may be displayed graphically as illustrated below.
  • computing resources 14 are consumed by workloads 12 and supplied by computing systems 16 such as servers.
  • the resources 14 fall into four main areas: a) CPU—processing capacity, b) Memory—physical and virtual memory, c) Disk—disk storage and disk I/O bandwidth, and d) Network I/O—network interfaces and network I/O bandwidth.
  • the operational policies 32 help define the appropriate levels of resources 14 required by a computing environment 10 by considering factors such as, without limitation: performance/service level requirements, workload growth assumptions (planned and trended), uptime-related requirements (hardware failures, disaster recovery, maintenance windows, etc.), and workload placement affinity and anti-affinity (data security, load balancing, failover, etc.). It has been recognized that by combining the operational policies 32 with the actual resource utilization levels indicated in the resource utilization data 28 , resource capacities indicated in the resource capacity data 30 , system configuration data, and business attributes, the efficiencies and risks of a computing environment 10 can be assessed.
  • the efficiency and risks of a computing environment can be quantified through an efficiency/risk (ER) score for each entity.
  • the ER score for an entity is based on its utilization levels, allocated or available resources (e.g., determined from system data 26 ) and operational policies 32 . At a high level, the ER score reflects whether the resources for the entity are appropriately provisioned, under-provisioned, or over-provisioned.
  • ER scores are from 0 to 200 and the significance of the score is summarized below in Table 1 for illustrative purposes only.
  • the ER score may be used to generate ER spectrums and, optionally, recommended actions and/or other recommendations for addressing efficiency and/or risk issues identified via the computed ER scores.
  • FIG. 3 illustrates computer executable operations that may be performed by the ER processor 24 in conducting an analysis of system data 26 and operational policies 32 .
  • the system data 26 is obtained in order to analyze the resource utilization data 28 and the resource capacity data 30 .
  • the operational policy 32 (or policies 32 ) are obtained.
  • the system data 26 and the operational policies 32 are used at 104 to compute one or more ER scores according to the nature of the computing environment 10 being evaluated.
  • the ER score(s) is/are used at 106 to generate one or more ER spectrums.
  • the ER spectrums are output at 108 and, if applicable, are displayed at 110 .
  • the ER scores may also be used to generate recommended actions and/or other recommendations.
  • the ER processor 24 determines whether or not such recommendations are to be generated, e.g., by determining whether an option or input has been selected. If not, the process ends at 114 . If a recommendation is to be generated, the recommendation(s) is/are generated at 116 and, if applicable, displayed at 118 .
  • the ER score for a workload entity is based on the following:
  • the ER scores for the workload entities can be based on the results of two types of analyses:
  • Under-Provisioned Analysis evaluates each workload entity by checking whether the entity's resource utilization levels exceed high limits defined by operational policies 32 . The check generates an under-provisioned score (UPS), in this example, ranging between 0 and 100 that reflects whether the entity is under-provisioned. For example, scores less than 75 may indicate that the entity is under-provisioned, whereas scores greater than 75 indicate that the entity is appropriately provisioned.
  • UPS under-provisioned score
  • Over-Provisioned Analysis evaluates each workload entity by checking whether the entity's resource utilization levels are below low limits defined by operational policies. The check generates an over-provisioned score (OPS) ranging, in this example, between 0 and 100 that reflects whether the entity is over-provisioned. For example, scores less than 75 may indicate that the entity is over-provisioned whereas scores greater than 75 indicate that the entity is appropriately provisioned.
  • OPS over-provisioned score
  • the ER score for a workload entity can be determined as follows:
  • the UPS may be made to take precedence over the OPS when computing the ER score of a workload entity which reflects its overall provisioning level. For example, an entity may be under-provisioned with respect to CPU utilization but over-provisioned with respect to memory. Based on the overall ER score, the entity is designated to be under-provisioned. This is appropriate since the shortage of resources typically result in more severe consequences than having excess resources (i.e. risks vs. inefficiency).
  • the ER score for computing system 16 such as a server entity (e.g. vSphere host, managed system) is based on the following:
  • the ER scores for server entities may be determined in the same way as those for workload entities, discussed above.
  • the ER score for a computing cluster 18 may be based on the results of a “defrag” analysis of workloads 12 and computing devices 16 included in the cluster 18 .
  • a defrag analysis as herein described attempts to determine the maximum number of workloads 12 that can be placed on the minimum number of computing devices 16 (e.g. servers) subject to constraints defined by the operational policies 32 .
  • the defrag analysis results may include the following metrics, assuming the computing devices 16 being analyzed are servers:
  • SU Number of unused servers
  • SR number of additional servers required
  • the ER score is derived from these defrag results as follows:
  • the ER score is computed as follows:
  • the ER score for a computing environment 10 reflects the efficiency and risks associated with the clusters that comprise the environment 10 .
  • the ER score is computed from the weighted average of the ER scores for each group of computing devices, e.g., a server group as exemplified below.
  • the weights used to combine the ER scores for each server group sum to 1 and reflect the relative resource capacities of each server group. If servers in all the groups have identical resource capacities, the weights can simply be based upon the number of servers. If the servers have different resource capacities, the weights can be based on a particular resource 14 (e.g. CPU or memory).
  • a particular resource 14 e.g. CPU or memory
  • weights can be based on the resource 14 that represents the primary constraint for the workloads 12 in the environment 10 .
  • the primary constraint can be estimated by comparing the aggregate resource utilization of all the workloads 12 with the capacity of all the servers.
  • the ER score can be computed from the results of a defrag analysis for the entire environment 10 —effectively treating the environment 10 as a single cluster 18 .
  • the efficiency and risks of computing environments 10 can be depicted in an Efficiency and Risk Spectrum 204 as shown in the screen shot 200 illustrated in FIG. 4 .
  • ER spectrums display the relevant entities in one or more vertically arranged two-dimensional (x-y) coordinate systems.
  • a time scale bar 202 can be provided to allow a user to focus on a particular day or period of time.
  • the number of coordinate systems corresponds to the number of entity types which the environment 10 comprises.
  • the ER spectrum for a computing environment 10 modeled using 4 entity types e.g. environment 10 , cluster 18 , host and guest
  • 4 entity types e.g. environment 10 , cluster 18 , host and guest
  • the coordinate systems share a common horizontal axis representing the ER score. This axis is typically divided into three regions, corresponding to under-provisioned 206 (too little infrastructure), optimally provisioned 208 (just right) and over-provisioned 210 (too much infrastructure) entities, respectively.
  • Each entity is depicted as a single dot 212 in the spectrum 204 .
  • the entity's type determines the coordinate system in which the entity is depicted.
  • the ER score of the entity defines its x-coordinate.
  • the entity's group membership effectively defines its y-coordinate.
  • Types of ER spectrums that may be generated include:
  • Efficiency and Risk Spectrum 204 such as that shown in FIG. 4 .
  • the spectrum 204 for a single environment is organized into four vertically stacked sections corresponding to the four entity types: environment 10 , cluster 18 , host and guest.
  • Each dot 212 in the spectrum 204 corresponds to an entity. Entities of each type are depicted in the corresponding section. If the environment 10 includes multiple clusters 18 , entities associated with each cluster 18 may be depicted in a different color and arranged vertically into separate rows.
  • Each entity's ER score determines where to draw the corresponding dot 212 on the horizontal axis.
  • the horizontal axis ranges from 0 to 200 with 0 at the left-most edge, 100 at the center and 200 at the right-most edge, consistent with the above exemplary ER score ranges.
  • the analyses can be based on a variety of historical or projected timeframes selectable from the timeline bar 202 , which define the scope of entities to be assessed and their respective resource utilization levels, allocations and capacities.
  • FIG. 5 illustrates a screen shot 200 ′ of another environment level ER spectrum 204 ′ and FIG. 6 illustrates a screen shot 200 ′′ of a cluster level ER spectrum 204 ′′ for the “Seattle” cluster shown in FIG. 5 .
  • the screen shot 300 shown in FIG. 7 illustrates a pair of ER spectrums 304 a , 304 b , one for each of multiple environments 10 .
  • Providing multiple spectrums 304 a , 304 b together as shown in FIG. 7 allows multiple environments 10 to be compared by depicting the key metrics (e.g., fully loaded utilization) of each environment 10 .
  • users can interact with these spectrums 304 a , 304 b by selecting a specific environment 10 to access the ER spectrum 304 a , 304 b for the selected environment 10 (showing all the entities comprising the environment 10 as shown in FIGS. 4 and 5 ).
  • ER spectrum 204 , 304 can depict the key metrics of an environment 10 over time.
  • the fully loaded utilization of an environment can be charted for a given time range (e.g., each day for the last 30 days).
  • a spectrum charting the historical values over the given time period can be generated.
  • the spectrum can be oriented with ER score with on the x-axis and the time line on the y-axis.
  • the desired spectrum snapshot may then be selected using the timeline bar 202 , 302 .
  • the ER score and timelines can be transposed so that the spectrum 204 , 304 shows the ER-score on the y-axis and the time line of the x-axis.
  • Examples of recommended actions include:
  • FIG. 8 An example set of recommended actions are provided in the screen shot 400 shown in FIG. 8 .
  • the screen shot 400 may include a series of tabs 402 including different time periods.
  • the “Today” tab 404 is shown in FIG. 8 and includes a modification type 408 at the beginning of each row of the recommendation chart 406 to identify, e.g., whether the recommendation relates to an inefficiency or risk.
  • FIG. 9 illustrates another example screen shot 400 ′ showing a recommendation chart 406 ′
  • Another example of a recommended action applies to virtual environments managed as a cloud computing environment.
  • the recommended action may be to propose an alternate cloud instance size based on the workload's actual utilization levels and applicable policies.
  • An additional mode for the ER spectrum 204 , 304 can be generated where the recommended actions are assumed to have been performed, e.g., as shown in screen shot 200 ′′′ illustrated in FIG. 10 .
  • the ER scores for each level are recomputed based on the application of the recommended actions such as allocation changes and workload placements.
  • the position of the entities in the resulting spectrum 204 , 304 where the recommended actions are performed will tend to move towards the center of the spectrum.
  • Another possible mode involves recomputing the ER spectrum 204 , 304 based on a subset of the recommended actions.
  • Another possible mode involves computing the ER spectrum based on a set of actions specified by the user to model a desired scenario—e.g. add workloads 12 , remove workloads 12 , add hosts, upgrade resource capacity of hosts, etc.
  • FIG. 11 illustrates an example screen shot 500 for an operational policy user interface.
  • the policy name and description and various settings can be edited and/or set by the user.
  • Such settings include those related to high limits for CPUs, memory, CPU reservations, and memory reservations.
  • FIG. 12 illustrates an example screen shot 600 for a system-level policy user interface.
  • various policy categories and settings can be edited through the illustrated user interface, e.g., those for guest level utilization (high limits), guest level utilization (low limits), recommended allocations, etc.
  • any module or component exemplified herein that executes instructions may include or otherwise have access to computer readable media such as storage media, computer storage media, or data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape.
  • Computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.
  • Examples of computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by an application, module, or both. Any such computer storage media may be part of the analysis engine 22 , ER processor 24 , any component of or related to the system 20 , etc., or accessible or connectable thereto. Any application or module herein described may be implemented using computer readable/executable instructions that may be stored or otherwise held by such computer readable media.

Landscapes

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

Abstract

A system and method are provided for determining and visualizing efficiencies and risks in computing environments. The method comprises obtaining resource utilization data and resource capacity data for a plurality of entities in a computing environment; obtaining at least one operational policy defining at appropriate level of at least one resource used by the computing environment according to at least one factor; and computing at least one score quantifying efficiencies and risks associated with the computing environment based on the resource utilization data, resource capacity data, and at least one operational policy.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of International PCT Application No. PCT/CA2012/050561 filed on Aug. 16, 2012 which claims priority from U.S. Provisional Patent Application No. 61/523,912 filed on Aug. 16, 2011, both incorporated herein by reference.
TECHNICAL FIELD
The following relates to systems and methods for determining and visualizing efficiencies and risks in computing environments.
DESCRIPTION OF THE RELATED ART
Modern data centers typically comprise hundreds if not thousands of servers. Each server supplies a finite amount of resource capacity, typically in the form of, but not limited to: central processing unit (CPU) capacity, memory or storage capacity, disk input/output (I/O) throughput, and network I/O bandwidth. Workloads running on these servers consume varying amounts of these resources. With the advent of virtualization and cloud technologies, individual servers are able to host multiple workloads.
Percent CPU utilization, which corresponds to the ratio of CPU usage relative to CPU capacity, is a common measure of how effectively servers are being utilized. Various other metrics may be used to determine resource utilization for computing systems. Organizations may wish to measure and evaluate efficiencies and risks in computing environments but often do not have convenient ways to perform such measurements and evaluations.
SUMMARY
In one aspect, there is provided a method comprising: obtaining resource utilization data and resource capacity data for a plurality of entities in a computing environment; obtaining at least one operational policy defining at appropriate level of at least one resource used by the computing environment according to at least one factor; and computing at least one score quantifying efficiencies and risks associated with the computing environment based on the resource utilization data, resource capacity data, and at least one operational policy.
In another aspect, there is provided a computer readable storage medium comprising computer executable instructions for performing the method.
In yet another aspect, there is provided a system for analyzing efficiencies and risks in a computing environment, the system comprising a processor and at least one memory, the memory comprising computer executable instructions for performing the method.
BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments will now be described by way of example only with reference to the appended drawings wherein:
FIG. 1 is a schematic diagram of a computing environment;
FIG. 2 is a block diagram of functional components configured to perform an efficiency and risk analysis using resource utilization and capacity data and operational policies.
FIG. 3 is a flow chart illustrating example computer executable operations that may be performed in conducting an efficiency and risk analysis;
FIG. 4 is an example screen shot including an efficiency risk spectrum for a single computing environment;
FIG. 5 is an example screen shot including an efficiency risk spectrum for a single computing environment;
FIG. 6 is an example screen shot including an efficiency risk spectrum for a single computing cluster;
FIG. 7 is an example screen shot including an efficiency risk spectrum for multiple computing environments;
FIG. 8 is an example screen shot including a recommended actions output;
FIG. 9 is an example screen shot including a recommended actions output;
FIG. 10 is an example screen shot including an efficiency risk spectrum for a cluster with recommendations applied;
FIG. 11 is an example screen shot for an operational policy user interface; and
FIG. 12 is an example screen shot for a system policy user interface.
DETAILED DESCRIPTION
It will be appreciated that for simplicity and clarity of illustration, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the examples described herein. However, it will be understood by those of ordinary skill in the art that the examples described herein may be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the examples described herein. Also, the description is not to be considered as limiting the scope of the examples described herein.
It will be appreciated that the examples and corresponding diagrams used herein are for illustrative purposes only. Different configurations and terminology can be used without departing from the principles expressed herein. For instance, components and modules can be added, deleted, modified, or arranged with differing connections without departing from these principles.
A system and method are provided for quantifying and visualizing the efficiency and risks related to resource utilization levels, relative to the provisioned capacity of computing environments, with consideration of operational policies. In addition, the system may be configured to determine and presents recommended actions that mitigate the inefficiencies and risks detected for the computing environments being analyzed. The capabilities of the system herein described enable organizations to accurately measure efficiency and risks in physical, virtual and cloud computing environments. It has been recognized that through the recommended actions, organizations can increase efficiency and reduce risks in their computing environments.
An example of a computing environment 10 is shown in FIG. 1. Computing environments 10 can be virtual or physical. Virtual computing environments 10 may be based on various virtualization platforms such as VMware vSphere, IBM PowerVM, Microsoft Hyper-V, Oracle/Sun Logical Domains, etc. Physical computing environments 10 may be based on various server platforms such as IBM Power, Oracle/Sun SPARC and x86-based servers, etc. As illustrated in FIG. 1, a computing environment 10 is designed and/or provided to run at least one workload 12 that performs business functions and consume compute resources 14, e.g., resources 14 related to CPU, memory, disk, network, etc. The workloads 12 run on computing systems 16 such as servers that supply the computing resources 14. Each computing system 16 has a finite capacity of resources 14. Multiple computing systems 16 can form a computing cluster 18 reflecting, for example, an administrative group or a management domain. Such groups or domains may support advanced capabilities such as live migration of workloads 12 between computing systems 16, load balancing and/or high availability. Multiple computing clusters 18 can be logically grouped (e.g., by location, line of business, etc.) to form a computing environment 10 as is illustrated in FIG. 1.
It can be appreciated that the principles discussed herein apply to any one or more workloads 12 consuming any one or more resources 14 provided by any one or more computing systems 16, in any one or more computing clusters 18, in one or more computing environments 10. As such, the example shown in FIG. 1 is for illustrative purposes only.
Many computing environments 10 may be modeled through the entity types shown in FIG. 1, and may include associated parent-child relationships. Workloads 12 are considered resource consumers, typically with configurable resource allocations. Computing systems 16 such as servers are considered resource suppliers containing one or more workloads 12. Computing clusters 18 are considered collections of computing systems 16 (e.g. a server farm) with mobility of workloads 12 between computing systems 16 in a computing cluster 18 being possible. The computing environments 10 are typically defined by a collection of one or more computing clusters 18.
For example, VMware vSphere computing environments 10 can be modeled with the following entity types. A guest is considered a virtual machine running on a host for performing actual workloads 12. A host is a physical computing system 16 running the ESX hypervisor capable of running one or more virtual machines. A computing cluster 18 therefore enables hosts to be managed as a group capable of supporting capabilities such as live migration of workloads 12 between hosts, automated workload balancing and high availability of guest workloads 12. A datacenter in this example is considered a computing environment 10 including one or more computing clusters 18.
In another example, IBM PowerVM computing environments 10 can be modeled with the following entity types. Logical Partitions (LPARs) are considered virtual machines running on managed computing systems 16 for performing actual workloads 12. Managed systems are considered physical computing systems 16 (e.g. servers) capable of running one or more LPARs. A domain is considered a group of managed systems administered by a common hardware management controller (HMC). An environment in this example is a computing environment 10 including one or more management domains.
It can be appreciated that depending on the computing environment 10 and technology being modeled, additional entity types and parent-child relationships are possible. For example, workloads 12 can often be divided into multiple applications. In addition, some virtualization technologies support the creation of resource pools to divide processor and/or memory resources that are allocated by servers to their workloads 12.
Turning now to FIG. 2 an example of an analysis system 20 is shown. It can be appreciated that the analysis system 20 may be configured using software, hardware or any combination of software and hardware. For example, the analysis system 20 may reside on a personal computer, embedded computer, mobile computing device, etc. It can also be appreciated that the configuration and functional delineations shown in FIG. 2 are for illustrative purposes only. The system 20 includes an analysis engine 22 that comprises an efficiency and risk (ER) processor 24. The ER processor 24 utilizes system data 26 related to the computing systems 16 in a particular cluster 18 and/or computing environment 10 to quantify and visualize the efficiency and risks for a computing environment 10. The system data 26 includes, without limitation, resource utilization data 28 and resource capacity data 30 for conducting the analyses (as shown), and well as, for example, system configuration data and business related data (e.g., guest and host operating systems, guest workload uptime requirements, guest workload security level requirements, guest workload and host maintenance windows, guest workload balancing groups, guest workload high availability groups, etc.) The ER processor 24 also obtains operational policies 32 to be considered when analyzing such efficiencies and risks. In evaluating the efficiencies and the risks, the analysis engine 22 may output at least one ER spectrum 34 related to the computing environment 10 which, as described below, depicts efficiencies and risks in the computing environment 10 based on ER scores. The analysis engine 22 may also output recommended actions 36 based on the ER scores. The outputs 34, 36 shown in FIG. 2 may be displayed graphically as illustrated below.
As discussed above, computing resources 14 are consumed by workloads 12 and supplied by computing systems 16 such as servers. Typically, the resources 14 fall into four main areas: a) CPU—processing capacity, b) Memory—physical and virtual memory, c) Disk—disk storage and disk I/O bandwidth, and d) Network I/O—network interfaces and network I/O bandwidth.
The operational policies 32 help define the appropriate levels of resources 14 required by a computing environment 10 by considering factors such as, without limitation: performance/service level requirements, workload growth assumptions (planned and trended), uptime-related requirements (hardware failures, disaster recovery, maintenance windows, etc.), and workload placement affinity and anti-affinity (data security, load balancing, failover, etc.). It has been recognized that by combining the operational policies 32 with the actual resource utilization levels indicated in the resource utilization data 28, resource capacities indicated in the resource capacity data 30, system configuration data, and business attributes, the efficiencies and risks of a computing environment 10 can be assessed.
The efficiency and risks of a computing environment can be quantified through an efficiency/risk (ER) score for each entity. The ER score for an entity is based on its utilization levels, allocated or available resources (e.g., determined from system data 26) and operational policies 32. At a high level, the ER score reflects whether the resources for the entity are appropriately provisioned, under-provisioned, or over-provisioned.
An example range for ER scores is from 0 to 200 and the significance of the score is summarized below in Table 1 for illustrative purposes only.
TABLE 1
Example ER score ranges and descriptions
ER Score Description
0 to 74 Entity is under-provisioned. Lower scores
indicate more severe levels of under-
provisioning.
75 to 125 Entity is appropriately provisioned. Scores
closer to 100 indicate more optimal
provisioning levels.
126 to 200  Entity is over-provisioned. Higher scores
indicate greater levels of over-provisioning
The ER score may be used to generate ER spectrums and, optionally, recommended actions and/or other recommendations for addressing efficiency and/or risk issues identified via the computed ER scores. FIG. 3 illustrates computer executable operations that may be performed by the ER processor 24 in conducting an analysis of system data 26 and operational policies 32. At 100 the system data 26 is obtained in order to analyze the resource utilization data 28 and the resource capacity data 30. At 102 the operational policy 32 (or policies 32) are obtained. The system data 26 and the operational policies 32 are used at 104 to compute one or more ER scores according to the nature of the computing environment 10 being evaluated. As will be explained in greater detail in the examples below, the ER score(s) is/are used at 106 to generate one or more ER spectrums. The ER spectrums are output at 108 and, if applicable, are displayed at 110.
As noted above, the ER scores may also be used to generate recommended actions and/or other recommendations. At 112, the ER processor 24 determines whether or not such recommendations are to be generated, e.g., by determining whether an option or input has been selected. If not, the process ends at 114. If a recommendation is to be generated, the recommendation(s) is/are generated at 116 and, if applicable, displayed at 118.
An example for computing ER scores for various entity types will now be described below.
Workload-Level ER Score
The ER score for a workload entity (e.g., vSphere guest, LPAR) is based on the following:
    • Resource utilization levels of the entity (e.g. CPU utilization, memory utilization);
    • Resource allocations (e.g. CPU allocation, memory allocation); and
    • Operational policies 32 that define the criteria to determine whether sufficient CPU and memory resources have been allocated for the entity. It may be noted that some operational policies 32 can be specified on a per-workload level. For example, different % CPU utilization high limits can be specified for different workloads 12, depending on the business or operational requirements of the different workloads 12 (e.g. production workloads 12 may have lower limits that non-production workloads 12).
The ER scores for the workload entities can be based on the results of two types of analyses:
1) Under-Provisioned Analysis—evaluates each workload entity by checking whether the entity's resource utilization levels exceed high limits defined by operational policies 32. The check generates an under-provisioned score (UPS), in this example, ranging between 0 and 100 that reflects whether the entity is under-provisioned. For example, scores less than 75 may indicate that the entity is under-provisioned, whereas scores greater than 75 indicate that the entity is appropriately provisioned.
2) Over-Provisioned Analysis—evaluates each workload entity by checking whether the entity's resource utilization levels are below low limits defined by operational policies. The check generates an over-provisioned score (OPS) ranging, in this example, between 0 and 100 that reflects whether the entity is over-provisioned. For example, scores less than 75 may indicate that the entity is over-provisioned whereas scores greater than 75 indicate that the entity is appropriately provisioned.
Based on the under-provisioned and over-provisioned scores, the ER score for a workload entity can be determined as follows:
    • If UPS<100, ER score=UPS
    • If UPS==100, ER score=200−OPS
As such, the UPS may be made to take precedence over the OPS when computing the ER score of a workload entity which reflects its overall provisioning level. For example, an entity may be under-provisioned with respect to CPU utilization but over-provisioned with respect to memory. Based on the overall ER score, the entity is designated to be under-provisioned. This is appropriate since the shortage of resources typically result in more severe consequences than having excess resources (i.e. risks vs. inefficiency).
Server-Level ER Score
The ER score for computing system 16 such as a server entity (e.g. vSphere host, managed system) is based on the following:
    • Resource utilization levels of the server (CPU, memory, disk I/O, network I/O utilization);
    • Resource capacity of the server (CPU capacity, memory capacity, maximum disk and network I/O throughput); and
    • Operational policies (criteria to determine whether server has sufficient resources).
The ER scores for server entities may be determined in the same way as those for workload entities, discussed above.
Cluster-Level ER Score
The ER score for a computing cluster 18 may be based on the results of a “defrag” analysis of workloads 12 and computing devices 16 included in the cluster 18.
A defrag analysis as herein described attempts to determine the maximum number of workloads 12 that can be placed on the minimum number of computing devices 16 (e.g. servers) subject to constraints defined by the operational policies 32.
The defrag analysis results may include the following metrics, assuming the computing devices 16 being analyzed are servers:
1) Fully loaded utilization (UFL)—minimum number of servers required to accommodate all the workloads as a percentage of the total number of servers.
2) Number of unused servers (SU)—number of servers with no workloads. A number of additional servers required (SR) may also be determined, which indicates the additional servers required in case there are insufficient existing servers.
3) Number of unplaced workloads (WU)—number of workloads that were not placed on a server.
4) Number of placed workloads (WP)—number of workloads that were placed on a server.
5) Normalized lowest placement score among all servers with at least one workload (LPS)—the value of this score ranges from 100 to the minimum target score limit (default=75). If the minimum target score limit modified so that it is not equal to 75, this score value is normalized to ensure that it always ranges between 75 and 100.
The ER score is derived from these defrag results as follows:
Case 1: All workloads are placed and the fully loaded utilization is less than 100%
    • The ER score is equal to the 200 minus the fully loaded utilization.
    • In general, a server group is considered to be over-provisioned if the UFL is less than 75% (which translates to an ER score that is greater than 125).
    • If the UFL is between 75% and 99%, the cluster is considered to be appropriately provisioned.
Case 2: All workloads are placed and the fully loaded utilization is equal to 100%
    • The ER score is equal to the normalized lowest placement score which is defined to range between 75 and 100. This score indicates that the server group is provisioned appropriately.
    • ER scores approaching 100 indicate that cluster is optimally provisioned whereas scores nearing 75 indicate that the cluster is on the verge of being deemed as under-provisioned.
Case 3: One or more workloads are not placed and there are no unused servers
    • The ER score is equated to the number of placed workloads divided by the total number of workloads multiplied by 75.
    • In this case, the ER score will range between 0 and 75 with lower scores indicating higher ratios of unplaced workloads.
Case 4: One or more workloads are not placed but there are also unused servers
    • This indicates that the unplaced workloads are not suitable for the server group.
    • The ER score is equal to 200 minus the fully loaded utilization—but is also marked as a special case due to the presence of unsuitable workloads.
In summary, the ER score is computed as follows:
Case 1: (WU==0 AND UFL<100)
ER score=200−U FL
Case 2: (WU==0 AND UFL==100)
ER score=LPS
Case 3: (WU>0 AND SU==0)
ER score=75*WP/(WP+WU)
Case 4: (WU>0 AND SU>0)
ER score=200−U FL
Environment-Level ER Score
The ER score for a computing environment 10 reflects the efficiency and risks associated with the clusters that comprise the environment 10.
Typically, it may be assumed that workloads 12 and computing systems 16 have no mobility between clusters 18. For such environments 18, the ER score is computed from the weighted average of the ER scores for each group of computing devices, e.g., a server group as exemplified below.
The weights used to combine the ER scores for each server group sum to 1 and reflect the relative resource capacities of each server group. If servers in all the groups have identical resource capacities, the weights can simply be based upon the number of servers. If the servers have different resource capacities, the weights can be based on a particular resource 14 (e.g. CPU or memory).
Alternatively, weights can be based on the resource 14 that represents the primary constraint for the workloads 12 in the environment 10. The primary constraint can be estimated by comparing the aggregate resource utilization of all the workloads 12 with the capacity of all the servers.
For environments 10 where there is mobility of workloads 12 and servers between the clusters 18, the ER score can be computed from the results of a defrag analysis for the entire environment 10—effectively treating the environment 10 as a single cluster 18.
Efficiency and Risk Spectrums
Based on the ER scores, the efficiency and risks of computing environments 10 can be depicted in an Efficiency and Risk Spectrum 204 as shown in the screen shot 200 illustrated in FIG. 4. For a given computing environment 10, ER spectrums display the relevant entities in one or more vertically arranged two-dimensional (x-y) coordinate systems. As shown in FIG. 4, a time scale bar 202 can be provided to allow a user to focus on a particular day or period of time.
The number of coordinate systems corresponds to the number of entity types which the environment 10 comprises. For example, the ER spectrum for a computing environment 10 modeled using 4 entity types (e.g. environment 10, cluster 18, host and guest) will also contain 4 coordinate systems.
The coordinate systems share a common horizontal axis representing the ER score. This axis is typically divided into three regions, corresponding to under-provisioned 206 (too little infrastructure), optimally provisioned 208 (just right) and over-provisioned 210 (too much infrastructure) entities, respectively.
Each entity is depicted as a single dot 212 in the spectrum 204. The entity's type determines the coordinate system in which the entity is depicted. The ER score of the entity defines its x-coordinate. For environments 10 having multiple entity groups based on a parent entity type (e.g., workloads 12 and servers belonging to specific clusters 18), the entity's group membership effectively defines its y-coordinate.
Types of ER spectrums that may be generated include:
    • ER Spectrum for a single environment 10;
    • ER Spectrum for multiple environments 10; and
    • ER Spectrum for multiple timeframes.
      ER Spectrum for a Single Environment
Based on the ER scores, efficiency and risks of the entities in a computing environment 10 can be depicted in an Efficiency and Risk Spectrum 204 such as that shown in FIG. 4.
In FIG. 4, the spectrum 204 for a single environment (Houston) is organized into four vertically stacked sections corresponding to the four entity types: environment 10, cluster 18, host and guest. Each dot 212 in the spectrum 204 corresponds to an entity. Entities of each type are depicted in the corresponding section. If the environment 10 includes multiple clusters 18, entities associated with each cluster 18 may be depicted in a different color and arranged vertically into separate rows.
Each entity's ER score determines where to draw the corresponding dot 212 on the horizontal axis. The horizontal axis ranges from 0 to 200 with 0 at the left-most edge, 100 at the center and 200 at the right-most edge, consistent with the above exemplary ER score ranges.
The analyses can be based on a variety of historical or projected timeframes selectable from the timeline bar 202, which define the scope of entities to be assessed and their respective resource utilization levels, allocations and capacities.
FIG. 5 illustrates a screen shot 200′ of another environment level ER spectrum 204′ and FIG. 6 illustrates a screen shot 200″ of a cluster level ER spectrum 204″ for the “Seattle” cluster shown in FIG. 5.
ER Spectrum for Multiple Environments
The screen shot 300 shown in FIG. 7 illustrates a pair of ER spectrums 304 a, 304 b, one for each of multiple environments 10. Providing multiple spectrums 304 a, 304 b together as shown in FIG. 7 allows multiple environments 10 to be compared by depicting the key metrics (e.g., fully loaded utilization) of each environment 10. It can be appreciated that users can interact with these spectrums 304 a, 304 b by selecting a specific environment 10 to access the ER spectrum 304 a, 304 b for the selected environment 10 (showing all the entities comprising the environment 10 as shown in FIGS. 4 and 5).
ER Spectrum for Multiple Timeframes
Another variant of the ER spectrum 204, 304 can depict the key metrics of an environment 10 over time. For example, the fully loaded utilization of an environment can be charted for a given time range (e.g., each day for the last 30 days). For example, for a given environment 10 for which the fully loaded utilization has been computed over the last 30 days, a spectrum charting the historical values over the given time period can be generated. The spectrum can be oriented with ER score with on the x-axis and the time line on the y-axis. The desired spectrum snapshot may then be selected using the timeline bar 202, 302. Alternatively, the ER score and timelines can be transposed so that the spectrum 204, 304 shows the ER-score on the y-axis and the time line of the x-axis.
Recommended Actions
Based on the analyses performed for each environment 10, recommendations to mitigate the inefficiencies and risks depicted in the ER spectrum 204, 304 can be generated.
Examples of recommended actions include:
    • Per-guest resource allocation adjustments (e.g. CPU allocations and memory allocations of guests that match their actual resource utilization patterns);
    • Workload rebalancing by changing guest-host placements within a given cluster 18 (e.g. move guests from busier to less busy hosts to better balance workloads within a cluster 18);
    • Adjustment of host server capacity for a given cluster 18 (e.g. addition or removal of server capacity to match requirements of actual guest workloads); and
    • Number of additional host servers required to host the existing guest workloads.
These recommendations can correspond to different timeframes for a given environment. An example set of recommended actions are provided in the screen shot 400 shown in FIG. 8. As shown in FIG. 8, the screen shot 400 may include a series of tabs 402 including different time periods. The “Today” tab 404 is shown in FIG. 8 and includes a modification type 408 at the beginning of each row of the recommendation chart 406 to identify, e.g., whether the recommendation relates to an inefficiency or risk. FIG. 9 illustrates another example screen shot 400′ showing a recommendation chart 406
In general, it can be appreciated that the implementation of the recommended actions should reduce inefficiencies and risks, resulting in entities moving towards the optimal (just right) region of the spectrum 204, 304.
Another example of a recommended action applies to virtual environments managed as a cloud computing environment. Specifically, many cloud computing environments are managed with cloud instance sizes that are configured with pre-defined resource allocations (e.g. small=1 virtual CPU and 2 GB of memory, medium=2 virtual CPUs and 4 GB of memory, large=4 virtual CPUs and 8 GB of memory, etc.). In such environments, the recommended action may be to propose an alternate cloud instance size based on the workload's actual utilization levels and applicable policies.
An additional mode for the ER spectrum 204, 304 can be generated where the recommended actions are assumed to have been performed, e.g., as shown in screen shot 200′″ illustrated in FIG. 10. In this scenario, the ER scores for each level (workloads 12, hosts, clusters 18, environment 10) are recomputed based on the application of the recommended actions such as allocation changes and workload placements. In general, the position of the entities in the resulting spectrum 204, 304 where the recommended actions are performed will tend to move towards the center of the spectrum. Another possible mode involves recomputing the ER spectrum 204, 304 based on a subset of the recommended actions. Another possible mode involves computing the ER spectrum based on a set of actions specified by the user to model a desired scenario—e.g. add workloads 12, remove workloads 12, add hosts, upgrade resource capacity of hosts, etc.
FIG. 11 illustrates an example screen shot 500 for an operational policy user interface. As shown in FIG. 11, the policy name and description and various settings can be edited and/or set by the user. Such settings include those related to high limits for CPUs, memory, CPU reservations, and memory reservations.
FIG. 12 illustrates an example screen shot 600 for a system-level policy user interface. As shown in FIG. 12, various policy categories and settings can be edited through the illustrated user interface, e.g., those for guest level utilization (high limits), guest level utilization (low limits), recommended allocations, etc.
It will be appreciated that any module or component exemplified herein that executes instructions may include or otherwise have access to computer readable media such as storage media, computer storage media, or data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Examples of computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by an application, module, or both. Any such computer storage media may be part of the analysis engine 22, ER processor 24, any component of or related to the system 20, etc., or accessible or connectable thereto. Any application or module herein described may be implemented using computer readable/executable instructions that may be stored or otherwise held by such computer readable media.
The steps or operations in the flow charts and diagrams described herein are just for example. There may be many variations to these steps or operations without departing from the principles discussed above. For instance, the steps may be performed in a differing order, or steps may be added, deleted, or modified.
Although the above principles have been described with reference to certain specific examples, various modifications thereof will be apparent to those skilled in the art as outlined in the appended claims.

Claims (19)

The invention claimed is:
1. A method performed by a processor in a computing system, the method comprising:
obtaining resource utilization or performance data pertaining to a plurality of computing entities in a computing environment, and capacity data specifying resource capacities for the plurality of computing entities in the computing environment;
obtaining at least one operational policy defining criteria to determine whether the utilization or performance of an entity is in an acceptable range relative to its capacity or performance limits;
computing at least one score quantifying efficiencies and/or risks associated with corresponding ones of the entities in the computing environment, based on the resource utilization or performance data, the capacity data, and the at least one operational policy; and
displaying an indicator for at least one of the plurality of computing entities in a graphical representation based on the corresponding score;
wherein each indicator is positioned in the graphical representation according to the corresponding score such that the positioned indicator shows in a spatial manner, relative efficiencies and/or risks for the corresponding entity by positioning the indicator in one of a first portion indicative of risk associated with having infrastructure in the computing environment that cannot service workload demands and meet criteria specified in the at least one operational policy, a second portion indicative of an amount of infrastructure in the computing environment that can service workload demands based on the at least one operational policy, or a third portion indicative of inefficiencies associated with having more than the required amount of infrastructure in the computing environment to service workload demands based on the at least one operational policy.
2. The method of claim 1, wherein the at least one score is based on an under provisioned score and an over provisioned score.
3. The method of claim 2, wherein the under provisioned score is given precedence over the over provisioned score.
4. The method of claim 1, wherein the at least one score is generated using factors specific to a corresponding one of a plurality of entity types.
5. The method of claim 4, the plurality of entity types comprising any one or more of a workload, a computing system, a cluster of computing systems, and the computing environment.
6. The method of claim 4, wherein for an entity representing a cluster of computing systems, the at least one score being determined by considering a fully loaded utilization value (UFL), an unused servers value (SU), an unplaced workloads value (WU), policies business separation and a placed workloads value (WP).
7. The method of claim 6, wherein:
for WU==0 and UFL<100, the at least one score is computed as 200−UFL;
for WU==0 and UFL==100, the at least one score equals a lowest placement score;
for WU>0 and SU==0, the at least one score is computed as 75*WP/(WP+WU); and
for WU>0 and SU>0, the at least one score is computed as 200−UFL.
8. The method of claim 1, wherein the graphical representation displays the scores spatially relative to each other, for each computing entity in the computing environment by placing each indicator in a corresponding portion of the graphical representation.
9. The method of claim 1, wherein the portions of the graphical representation are arranged to create a spectrum.
10. The method of claim 1, further comprising displaying a plurality of graphical representations.
11. The method of claim 1, further comprising using the at least one score to generate at least one recommendation for addressing inefficiencies and/or risks in the computing environment.
12. The method of claim 11, further comprising displaying the at least one recommendation in the graphical representation, the graphical representation comprising one or more recommendations for each entity in the computing environment that has been evaluated.
13. A non-transitory computer readable storage medium comprising computer executable instructions for:
obtaining resource utilization or performance data pertaining to a plurality of computing entities in a computing environment, and capacity data specifying resource capacities for the plurality of computing entities in the computing environment;
obtaining at least one operational policy defining criteria to determine whether the utilization or performance of an entity is in an acceptable range relative to its capacity or performance limits;
computing at least one score quantifying efficiencies and/or risks associated with corresponding ones of the entities in the computing environment, based on the resource utilization or performance data, the capacity data, and the at least one operational policy; and
displaying an indicator for at least one of the plurality of computing entities in a graphical representation based on the corresponding score;
wherein each indicator is positioned in the graphical representation according to the corresponding score such that the positioned indicator shows in a spatial manner, relative efficiencies and/or risks for the corresponding entity by positioning the indicator in one of a first portion indicative of risk associated with having infrastructure in the computing environment that cannot service workload demands and meet criteria specified in the at least one operational policy, a second portion indicative of an amount of infrastructure in the computing environment that can service workload demands based on the at least one operational policy, or a third portion indicative of inefficiencies associated with having more than the required amount of infrastructure in the computing environment to service workload demands based on the at least one operational policy.
14. A system for analyzing efficiencies and risks in a computing environment, the system comprising a processor and at least one memory, the memory comprising computer executable instructions for:
obtaining resource utilization or performance data pertaining to a plurality of computing entities in a computing environment, and capacity data specifying resource capacities for the plurality of computing entities in the computing environment;
obtaining at least one operational policy defining criteria to determine whether the utilization or performance of an entity is in an acceptable range relative to its capacity or performance limits;
computing at least one score quantifying efficiencies and/or risks associated with corresponding ones of the entities in the computing environment, based on the resource utilization or performance data, the capacity data, and the at least one operational policy; and
displaying an indicator for at least one of the plurality of computing entities in a graphical representation based on the corresponding score;
wherein each indicator is positioned in the graphical representation according to the corresponding score such that the positioned indicator shows in a spatial manner, relative efficiencies and/or risks for the corresponding entity by positioning the indicator in one of a first portion indicative of risk associated with having infrastructure in the computing environment that cannot service workload demands and meet criteria specified in the at least one operational policy, a second portion indicative of an amount of infrastructure in the computing environment that can service workload demands based on the at least one operational policy, or a third portion indicative of inefficiencies associated with having more than the required amount of infrastructure in the computing environment to service workload demands based on the at least one operational policy.
15. The method of claim 5, wherein scoring a cluster of computing systems comprises considering at least one of: workload affinity or anti-affinity, data security, load balancing, failover capacity, or other business related data that impacts quantification of efficiencies and risks.
16. The non-transitory computer readable medium of claim 13, wherein the graphical representation displays the scores spatially relative to each other, for each computing entity in the computing environment by placing each indicator in a corresponding portion of the graphical representation.
17. The non-transitory computer readable medium of claim 13, wherein the portions of the graphical representation are arranged to create a spectrum.
18. The non-transitory computer readable medium of claim 13, further comprising instructions for displaying a plurality of graphical representations.
19. The non-transitory computer readable medium of claim 13, further comprising instructions for:
using the at least one score to generate at least one recommendation for addressing inefficiencies and/or risks in the computing environment; and
displaying the at least one recommendation in the graphical representation, the graphical representation comprising one or more recommendations for each entity in the computing environment that has been evaluated.
US14/180,438 2011-08-16 2014-02-14 System and method for determining and visualizing efficiencies and risks in computing environments Active 2032-11-24 US9654367B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/180,438 US9654367B2 (en) 2011-08-16 2014-02-14 System and method for determining and visualizing efficiencies and risks in computing environments
US15/494,797 US20170230247A1 (en) 2011-08-16 2017-04-24 System and Method for Determining and Visualizing Efficiencies and Risks in Computing Environments

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161523912P 2011-08-16 2011-08-16
PCT/CA2012/050561 WO2013023302A1 (en) 2011-08-16 2012-08-16 System and method for determining and visualizing efficiencies and risks in computing environments
US14/180,438 US9654367B2 (en) 2011-08-16 2014-02-14 System and method for determining and visualizing efficiencies and risks in computing environments

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA2012/050561 Continuation WO2013023302A1 (en) 2011-08-16 2012-08-16 System and method for determining and visualizing efficiencies and risks in computing environments

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/494,797 Continuation US20170230247A1 (en) 2011-08-16 2017-04-24 System and Method for Determining and Visualizing Efficiencies and Risks in Computing Environments

Publications (2)

Publication Number Publication Date
US20140164612A1 US20140164612A1 (en) 2014-06-12
US9654367B2 true US9654367B2 (en) 2017-05-16

Family

ID=47714660

Family Applications (2)

Application Number Title Priority Date Filing Date
US14/180,438 Active 2032-11-24 US9654367B2 (en) 2011-08-16 2014-02-14 System and method for determining and visualizing efficiencies and risks in computing environments
US15/494,797 Abandoned US20170230247A1 (en) 2011-08-16 2017-04-24 System and Method for Determining and Visualizing Efficiencies and Risks in Computing Environments

Family Applications After (1)

Application Number Title Priority Date Filing Date
US15/494,797 Abandoned US20170230247A1 (en) 2011-08-16 2017-04-24 System and Method for Determining and Visualizing Efficiencies and Risks in Computing Environments

Country Status (4)

Country Link
US (2) US9654367B2 (en)
EP (1) EP2745248A4 (en)
CA (1) CA2845402A1 (en)
WO (1) WO2013023302A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671953B1 (en) 2015-11-16 2020-06-02 Turbonomic, Inc. Systems, apparatus and methods for cost and performance-based movement of applications and workloads in a multiple-provider system
US10924537B2 (en) 2019-03-25 2021-02-16 Turbonomic, Inc. Systems, apparatus and methods for cost and performance-based management of resources in a cloud environment
US11019138B2 (en) 2019-03-25 2021-05-25 Turbonomic, Inc. Systems, apparatus and methods for cost and performance-based management of resources in a cloud environment
US11182718B2 (en) 2015-01-24 2021-11-23 Vmware, Inc. Methods and systems to optimize server utilization for a virtual data center
US11853185B2 (en) 2020-11-30 2023-12-26 Microsoft Technology Licensing, Llc Server network resource reallocation

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014198001A1 (en) * 2013-06-14 2014-12-18 Cirba Inc System and method for determining capacity in computer environments using demand profiles
US10419305B2 (en) 2013-07-26 2019-09-17 International Business Machines Corporation Visualization of workload distribution on server resources
US9118714B1 (en) * 2014-07-23 2015-08-25 Lookingglass Cyber Solutions, Inc. Apparatuses, methods and systems for a cyber threat visualization and editing user interface
US11336519B1 (en) * 2015-03-10 2022-05-17 Amazon Technologies, Inc. Evaluating placement configurations for distributed resource placement
US10929797B1 (en) * 2015-09-23 2021-02-23 Amazon Technologies, Inc. Fault tolerance determinations for networked resources
US11750695B1 (en) * 2017-11-27 2023-09-05 Amazon Technologies, Inc. Dynamic quarantine of impaired servers
US10756981B2 (en) * 2017-11-28 2020-08-25 Hewlett Packard Enterprise Development Lp Efficiency indexes
US10877691B2 (en) * 2017-12-29 2020-12-29 Intel Corporation Stream classification based on logical regions
US10901848B2 (en) 2018-08-03 2021-01-26 Western Digital Technologies, Inc. Storage systems with peer data recovery
US11182258B2 (en) * 2019-01-04 2021-11-23 Western Digital Technologies, Inc. Data rebuild using dynamic peer work allocation
US11256553B2 (en) * 2020-03-09 2022-02-22 Dell Products L.P. Intelligent system to prioritize servers for envisaged requests

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148335A (en) 1997-11-25 2000-11-14 International Business Machines Corporation Performance/capacity management framework over many servers
US20030046396A1 (en) * 2000-03-03 2003-03-06 Richter Roger K. Systems and methods for managing resource utilization in information management environments
CA2583582A1 (en) 2004-11-01 2006-05-11 Electronic Data Systems Corporation Reporting of abnormal computer resource utilization data
US20070165019A1 (en) * 2005-07-12 2007-07-19 Hale Kelly S Design Of systems For Improved Human Interaction
US20070250829A1 (en) 2006-04-21 2007-10-25 Hillier Andrew D Method and system for determining compatibility of computer systems
CA2649714A1 (en) 2006-05-18 2007-11-29 Microsoft Corporation Deploying virtual machine to host based on workload characterizations
WO2007147258A1 (en) 2006-06-23 2007-12-27 Cirba Inc. Method and system for determining parameter distribution, variance, outliers and trends in systems
US20080028409A1 (en) * 2006-07-25 2008-01-31 Ludmila Cherkasova System and method for determining allocation of resource access demands to different classes of service based at least in part on permitted degraded performance
US20090037367A1 (en) * 2007-07-30 2009-02-05 Sybase, Inc. System and Methodology Providing Workload Management in Database Cluster
US20090292715A1 (en) 2008-05-20 2009-11-26 Computer Associates Think, Inc. System and Method for Determining Overall Utilization
US20100082505A1 (en) 2008-09-30 2010-04-01 Matt Hollingsworth Software and hardware resource capacity management
WO2011011408A1 (en) 2009-07-20 2011-01-27 Viridity Software, Inc. Techniques for power analysis
US8087025B1 (en) * 2004-06-30 2011-12-27 Hewlett-Packard Development Company, L.P. Workload placement among resource-on-demand systems
US20120011077A1 (en) * 2010-07-12 2012-01-12 Bhagat Bhavesh C Cloud Computing Governance, Cyber Security, Risk, and Compliance Business Rules System and Method
US20120140620A1 (en) * 2010-12-06 2012-06-07 Openet Research Limited Method and system for determining and implementing policy controls in a communications network
US20120159476A1 (en) * 2010-12-16 2012-06-21 Ramteke Venkatesh Raman Computer workload capacity estimation
US20120284408A1 (en) * 2011-05-04 2012-11-08 International Business Machines Corporation Workload-aware placement in private heterogeneous clouds
US20130041768A1 (en) * 2010-01-08 2013-02-14 Blackhawk Network, Inc. System for Processing, Activating and Redeeming Value Added Prepaid Cards

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7797230B1 (en) * 2005-06-02 2010-09-14 The Pnc Financial Services Group, Inc. Systems and methods for credit management risk rating and approval
US9224303B2 (en) * 2006-01-13 2015-12-29 Silvertree Media, Llc Computer based system for training workers
US8413058B1 (en) * 2007-08-21 2013-04-02 United Services Automobile Association (Usaa) Systems and methods for click-to-callback
CN101878461B (en) * 2007-09-28 2014-03-12 国际商业机器公司 Method and system for analysis of system for matching data records
US8417713B1 (en) * 2007-12-05 2013-04-09 Google Inc. Sentiment detection as a ranking signal for reviewable entities
US8117136B2 (en) * 2008-08-29 2012-02-14 Hewlett-Packard Development Company, L.P. Relationship management on a mobile computing device
US20100306249A1 (en) * 2009-05-27 2010-12-02 James Hill Social network systems and methods
US8527431B2 (en) * 2010-11-18 2013-09-03 Gaurab Bhattacharjee Management of data via cooperative method and system
US8548988B2 (en) * 2010-11-22 2013-10-01 SRM Institute of Science and Technology System and method for comparing universities based on their university model graphs
US9929930B2 (en) * 2016-01-19 2018-03-27 Netscout Systems Texas, Llc Reducing an amount of captured network traffic data to analyze

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148335A (en) 1997-11-25 2000-11-14 International Business Machines Corporation Performance/capacity management framework over many servers
US20030046396A1 (en) * 2000-03-03 2003-03-06 Richter Roger K. Systems and methods for managing resource utilization in information management environments
US8087025B1 (en) * 2004-06-30 2011-12-27 Hewlett-Packard Development Company, L.P. Workload placement among resource-on-demand systems
CA2583582A1 (en) 2004-11-01 2006-05-11 Electronic Data Systems Corporation Reporting of abnormal computer resource utilization data
US20070165019A1 (en) * 2005-07-12 2007-07-19 Hale Kelly S Design Of systems For Improved Human Interaction
US20070250829A1 (en) 2006-04-21 2007-10-25 Hillier Andrew D Method and system for determining compatibility of computer systems
CA2649714A1 (en) 2006-05-18 2007-11-29 Microsoft Corporation Deploying virtual machine to host based on workload characterizations
WO2007147258A1 (en) 2006-06-23 2007-12-27 Cirba Inc. Method and system for determining parameter distribution, variance, outliers and trends in systems
US20080028409A1 (en) * 2006-07-25 2008-01-31 Ludmila Cherkasova System and method for determining allocation of resource access demands to different classes of service based at least in part on permitted degraded performance
US20090037367A1 (en) * 2007-07-30 2009-02-05 Sybase, Inc. System and Methodology Providing Workload Management in Database Cluster
US20090292715A1 (en) 2008-05-20 2009-11-26 Computer Associates Think, Inc. System and Method for Determining Overall Utilization
US20100082505A1 (en) 2008-09-30 2010-04-01 Matt Hollingsworth Software and hardware resource capacity management
WO2011011408A1 (en) 2009-07-20 2011-01-27 Viridity Software, Inc. Techniques for power analysis
US20130041768A1 (en) * 2010-01-08 2013-02-14 Blackhawk Network, Inc. System for Processing, Activating and Redeeming Value Added Prepaid Cards
US20120011077A1 (en) * 2010-07-12 2012-01-12 Bhagat Bhavesh C Cloud Computing Governance, Cyber Security, Risk, and Compliance Business Rules System and Method
US20120140620A1 (en) * 2010-12-06 2012-06-07 Openet Research Limited Method and system for determining and implementing policy controls in a communications network
US20120159476A1 (en) * 2010-12-16 2012-06-21 Ramteke Venkatesh Raman Computer workload capacity estimation
US20120284408A1 (en) * 2011-05-04 2012-11-08 International Business Machines Corporation Workload-aware placement in private heterogeneous clouds

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
"How to Measure & Manage Efficiency in Virtual Environments Using CiRBA's Efficiency & Risk Dashboard"; Online Mar. 23, 2011; CiRBA.
"Thanks for attending yesterday's live demo of the Efficiency & Risk dashboard"; Twitter Status Update from CiRBA @CiRBA; Mar. 24, 2011; <https://twitter.com/CiRBA/status/51018299923894272>.
Goiri, I. et al. "Energy-aware Scheduling in Virtualized Datacenters"; 2010 IEEE International Conference on Cluster Computing; Sep. 20, 2010; pp. 58 to 67; ISBN: 978-1-4244-8373-0.
Hillier, Andrew; "Advanced Workload Analysis Techniques"; Apr. 2008; CiRBA Inc.; <http://www.cirba.com/forms/Advanced-Workload-Analysis-Techniques.htm>.
Hillier, Andrew; "Server Capacity Defrag: Maximizing Infrastructure Efficiency through Strategic Workload Placements (Defrag Isn't Just for Storage Anymore!"; Jan. 24, 2011; CiRBA Inc.; <http://www.cirba.com/forms/Server-Capacity-Defrag.htm>.
Hillier, Andrew; "Transformational Analytics: Virtualizing IT Environments"; Apr. 2008; CiRBA Inc.; <http://www.cirba.com/forms/Transformational-Analytics-Virtualizing-IT-Environments.htm>.
Lanches, P.; Supplementary European search report from corresponding European Application No. 12824582.6; search completed May 6, 2015.
Matheson, L.; Search Report from corresponding PCT/CA2012/050561; search completed Nov. 15, 2012.

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11182718B2 (en) 2015-01-24 2021-11-23 Vmware, Inc. Methods and systems to optimize server utilization for a virtual data center
US11182717B2 (en) 2015-01-24 2021-11-23 VMware. Inc. Methods and systems to optimize server utilization for a virtual data center
US11182713B2 (en) 2015-01-24 2021-11-23 Vmware, Inc. Methods and systems to optimize operating system license costs in a virtual data center
US11200526B2 (en) 2015-01-24 2021-12-14 Vmware, Inc. Methods and systems to optimize server utilization for a virtual data center
US10671953B1 (en) 2015-11-16 2020-06-02 Turbonomic, Inc. Systems, apparatus and methods for cost and performance-based movement of applications and workloads in a multiple-provider system
US10924537B2 (en) 2019-03-25 2021-02-16 Turbonomic, Inc. Systems, apparatus and methods for cost and performance-based management of resources in a cloud environment
US11019138B2 (en) 2019-03-25 2021-05-25 Turbonomic, Inc. Systems, apparatus and methods for cost and performance-based management of resources in a cloud environment
US11689613B2 (en) 2019-03-25 2023-06-27 International Business Machines Corporation Systems, apparatus and methods for cost and performance-based management of resources in a cloud environment
US11853185B2 (en) 2020-11-30 2023-12-26 Microsoft Technology Licensing, Llc Server network resource reallocation

Also Published As

Publication number Publication date
WO2013023302A1 (en) 2013-02-21
CA2845402A1 (en) 2013-02-21
EP2745248A4 (en) 2015-06-17
US20140164612A1 (en) 2014-06-12
US20170230247A1 (en) 2017-08-10
EP2745248A1 (en) 2014-06-25

Similar Documents

Publication Publication Date Title
US9654367B2 (en) System and method for determining and visualizing efficiencies and risks in computing environments
US10212219B2 (en) Resource allocation diagnosis on distributed computer systems
US20200287961A1 (en) Balancing resources in distributed computing environments
US9495222B1 (en) Systems and methods for performance indexing
US8738333B1 (en) Capacity and load analysis in a datacenter
US8732654B2 (en) Dependency-based impact analysis using multidimensional models of software offerings
US8209687B2 (en) Method and system for evaluating virtualized environments
US9389900B2 (en) Method and system for supporting a change in state within a cluster of host computers that run virtual machines
US10180807B2 (en) Method and system for consolidating a plurality of heterogeneous storage systems in a data center
US9154366B1 (en) Server maintenance modeling in cloud computing
US9424063B2 (en) Method and system for generating remediation options within a cluster of host computers that run virtual machines
US20130055262A1 (en) Systems and methods of host-aware resource management involving cluster-based resource pools
US20160098297A1 (en) System and Method for Determining Capacity in Computer Environments Using Demand Profiles
US9600343B2 (en) System and method for analyzing computing system resources
US9639390B2 (en) Selecting a host for a virtual machine using a hardware multithreading parameter
WO2009108344A1 (en) Method, system and apparatus for managing, modeling, predicting, allocating and utilizing resources and bottlenecks in a computer network
US9304805B2 (en) Provisioning virtual CPUs using a hardware multithreading parameter in hosts with split core processors
US9141288B2 (en) Chargeback based storage recommendations for datacenters
CN114930291A (en) Implementing workloads in a cloudy environment
US20140164594A1 (en) Intelligent placement of virtual servers within a virtualized computing environment
US9619294B2 (en) Placement of virtual CPUs using a hardware multithreading parameter
Dell
Kim et al. Effects of vm placement constraints in heterogeneous virtual clusters

Legal Events

Date Code Title Description
AS Assignment

Owner name: CIRBA INC., CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HILLIER, ANDREW DEREK;REEL/FRAME:032217/0594

Effective date: 20121015

AS Assignment

Owner name: CIRBA IP INC., CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CIRBA INC.;REEL/FRAME:038080/0582

Effective date: 20160321

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: THE BANK OF NOVA SCOTIA, CANADA

Free format text: SECURITY INTEREST;ASSIGNOR:CIRBA IP INC.;REEL/FRAME:053036/0098

Effective date: 20200623

FEPP Fee payment procedure

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

FEPP Fee payment procedure

Free format text: SURCHARGE FOR LATE PAYMENT, LARGE ENTITY (ORIGINAL EVENT CODE: M1554); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

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

RR Request for reexamination filed

Effective date: 20210422

CONR Reexamination decision confirms claims

Kind code of ref document: C1

Free format text: REEXAMINATION CERTIFICATE

Filing date: 20210422

Effective date: 20220404

AS Assignment

Owner name: CIRBA INC., CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CIRBA IP INC.;REEL/FRAME:060126/0322

Effective date: 20220607