US20070204266A1 - Systems and methods for dynamically managing virtual machines - Google Patents
Systems and methods for dynamically managing virtual machines Download PDFInfo
- Publication number
- US20070204266A1 US20070204266A1 US11/364,449 US36444906A US2007204266A1 US 20070204266 A1 US20070204266 A1 US 20070204266A1 US 36444906 A US36444906 A US 36444906A US 2007204266 A1 US2007204266 A1 US 2007204266A1
- Authority
- US
- United States
- Prior art keywords
- machines
- physical
- virtual
- virtual machines
- machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Definitions
- This present invention generally relates to virtual machine environments and, more particularly, to techniques for dynamically managing virtual machines.
- server consolidation involves converting each physical server or physical machine into a virtual server or virtual machine (VM), and then mapping multiple VMs to a physical machine, thus increasing utilization and reducing the required number of physical machines.
- VM virtual server or virtual machine
- SLA service level agreement
- an SLA is an agreement between a service customer (e.g., application owner) and a service provider (e.g., application host) that specifies the parameters of a particular service (e.g., minimum quality of service level).
- a service customer e.g., application owner
- a service provider e.g., application host
- VMs may need to be reallocated to other physical machines.
- migration cost e.g., existing consolidation approaches do not account for the cost of migration.
- Principles of the present invention provide techniques for dynamic management of virtual machine environments.
- a technique for automatically managing a first set of virtual machines being hosted by a second set of physical machines comprises the following steps/operations.
- An alert is obtained that a service level agreement (SLA) pertaining to at least one application being hosted by at least one of the virtual machines in the first set of virtual machines is being violated.
- SLA service level agreement
- the technique obtains at least one performance measurement for at least a portion of the machines in at least one of the first set of virtual machines and the second set of physical machines, and a cost of migration for at least a portion of the virtual machines in the first set of virtual machines.
- an optimal migration policy is determined for moving the virtual machine hosting the at least one application to another physical machine.
- FIG. 1 illustrates an example of server consolidation
- FIG. 2A illustrates a virtual server management methodology, according to an embodiment of the present invention
- FIG. 2B illustrates a virtual machine reallocation methodology, according to an embodiment of the present invention
- FIG. 3 illustrates an example mapping of virtual machines to physical machines
- FIG. 4 illustrates a computing system in accordance with which one or more components/steps of a virtual server management system may be implemented, according to an embodiment of the present invention.
- a “physical machine” or “physical server” refers to an actual computing device, while a “virtual machine” or “virtual server” refers to a logical object that acts as a physical machine.
- the computing device may be a BladeTM available from International Business Machines Corporation (Armonk, N.Y.).
- a BladeTM includes a “thin” software layer called a HypervisorTM, which creates the virtual machine.
- a physical machine equipped with a HypervisorTM can create multiple virtual machines. Each virtual machine can execute a separate copy of the operating system, as well as one or more applications.
- a methodology of the invention provides a polynomial time approximate solution for dynamic migration of virtual machines (VMs) to maintain SLA compliance.
- VMs virtual machines
- Such a management methodology minimizes associated cost of migration, allows dynamic addition or removal of physical machines as needed (in order to reduce total cost of ownership).
- the approach of the methodology is an iterative approach, which improves upon the existing solution of allocating VMs to physical machines.
- the approach is independent of application software, and works with virtual machines at the operating system level.
- Such a methodology can be used as a part of a larger management system, e.g., the International Business Machines Corporation (Armonk, N.Y.) Director system, by using its monitoring mechanism and producing event action plans for automatic migration of VMs when needed.
- physical servers 100 - 1 through 100 - n each host a separate application (App 1 through Appn, respectively).
- App 1 through Appn respectively.
- each box representing the server each application only utilizes between 25% and 50% of the processing capacity of the server. Thus, each server is considered under utilized.
- Each physical server ( 100 - 1 through 100 - n ) is converted (step 105 ) into a virtual machine (VM 1 through VMn denoted as 110 - 1 through 110 - n , respectively) using available virtualization technology, e.g., available from VMWare or XenSource (both of Palo Alto, Calif.).
- Server virtualization is a technique that is well known in the art and is, therefore, not described in detail herein.
- VMs are then mapped into a physical machine, using central processing unit (CPU) utilization, memory usage, etc. as metrics for resource requirements, thus increasing the utilization and reducing the total number of physical machines required to support the original set of applications. That is, as shown, the VMs are mapped into a lesser number of physical machines ( 120 - 1 through 120 - i , where i is less than n). For example, App 1 and App 2 are now each hosted by server 120 - 1 , which can be of the same processing capacity as server 100 - 1 , but now is more efficiently utilized.
- server 120 - 1 which can be of the same processing capacity as server 100 - 1 , but now is more efficiently utilized.
- the data center will consist of a fewer number of homogeneous servers, each loaded with multiple virtual machines (VMs), where each VM represents one of the original servers.
- VMs virtual machines
- Illustrative principles of the invention provide a solution to this problem using an automated virtual machine migration methodology that is deployable to dynamically balance the load on the physical servers with an overall objective of maintaining application SLAs.
- an automated virtual machine migration methodology that is deployable to dynamically balance the load on the physical servers with an overall objective of maintaining application SLAs.
- the inventive solution finds the best set of virtual machine migrations that restores the violated SLAs, and that minimizes the number of required physical servers, and minimizes the migration cost associated with the reallocation.
- the methodology assumes that SLAs are directly related to metrics of the host, such as CPU utilization or memory usage.
- the inventive methodology is embodied in a virtual server management system that monitors those metrics and if any of them exceeds a predetermined threshold for a physical server or VM, one or more VMs from that physical machine is moved to another physical machine in order to restore acceptable levels of utilization.
- the VM chosen to be moved is the one with the smallest migration cost, as will be explained below.
- the chosen VM is moved to the physical machine which has the least residual capacity for the resource associated with that metric and is able to accommodate the VM.
- An overall objective is to maximize the variance of the utilization across all the existing physical servers, as will be explained below.
- the procedure is repeated until the SLA violation is corrected.
- the overall management methodology 200 is depicted on FIG. 2A , while the reallocation or migration methodology is illustrated in FIG. 2B .
- a heterogeneous under-utilized server environment (block 210 ) is the input to server consolidation step 220 .
- the server consolidation step 220 is the server virtualization process described above in the context of FIG. 1 .
- the input to step 220 is data indicative of the heterogeneous under-utilized server environment, such as the environment including servers 100 - 1 through 100 - n in FIG. 1 . This may include information regarding the application running on the physical server as well as server utilization information. Again, since the virtualization process is well known, as well as the data input thereto, a further description of this process is not given herein.
- the result of the server consolidation step is a consolidated homogenous environment (block 230 ). That is, server consolidation step 220 outputs a mapping of multiple VMs to physical servers, which serves to reduce heterogeneity and server sprawl.
- utilization values are monitored. This is accomplished by monitoring agents 240 . That is, performance metrics or measurements such as CPU utilization, memory utilization, input/output utilization of each server in the consolidated environment are measured.
- the agents may simply be one or more software modules that compile these utilization values reported by the servers.
- a utilization value may be from a physical machine or a virtual machine, such values are preferably taken for both the physical machine and the virtual machine. For example, for three virtual machines executing on one physical machine, the system gathers CPU utilization values of the physical machine, three CPU utilization values denoting the virtual machines CPU usage, and CPU utilization due to the overhead of the HypervisorTM.
- threshold values are then compared to threshold values in step 250 to determine whether they are greater than, less than, or equal to, some predetermined threshold value for the respective type of utilization that is being monitored (e.g., CPU utilization threshold value, memory utilization value, input/output utilization value).
- some predetermined threshold value for the respective type of utilization that is being monitored e.g., CPU utilization threshold value, memory utilization value, input/output utilization value.
- Such thresholds are preferably thresholds generated based on the SLA that governs the agreed-upon requirements for hosting the application running on the subject server. For example, the SLA may require that a response to an end user query to an application running on the subject server be less than a certain number of seconds for a percentage of the requests. Based on knowledge of the processing capacity of the server, this requirement is easily translated into a threshold percentage for CPU capacity. Thus, the subject server hosting the application should never reach or exceed the threshold percent of its CPU capacity.
- the computation step will detect this condition and generate an appropriate alert, if necessary.
- an SLA violation alert is generated.
- a VM reallocation methodology of the invention is then triggered in step 260 .
- the input to the VM reallocation methodology includes: (i) utilization values (e.g., CPU, memory, I/O) as computed by the monitoring agents 240 ; (ii) SLA information related to the thresholds; (iii) metric thresholds as computed in the threshold computation step; and (iv) a weight coefficient vector specifying the importance of each utilization dimension to the overall cost function.
- the cost of reallocation (also referred to as migration) of a VM is defined as a dot product of a vector representing utilization and the vector representing the weight coefficient. For example, the dimension of both these vectors would be 2, if we consider only two resource metrics, CPU utilization and memory usage. It is to be appreciated that these migration costs are computed and maintained by the reallocation component 260 of the virtual server management system 200 or, alternatively, by another component of the system.
- the reallocation methodology of 260 includes two steps. Assume PM 1 , PM 2 , . . . PM m are the physical machines and V ij is the j-th virtual machine on PM i . For each physical machine PM i , the methodology maintains a list of virtual machines allocated to PM i ordered by non-decreasing migration cost, i.e., the first VM, V i1 , has the lowest cost. For each physical machine PM i , the methodology calculates and stores a vector representing the residual capacity of PM i . The methodology maintains the list of residual capacities in non-decreasing order of the L2 norms of the capacity vector. An example configuration of VMs and their parent physical machines is shown on FIG. 3 .
- the reallocation algorithm is triggered by one of the monitored utilization values exceeding one of the utilization thresholds.
- a physical machine PM i exhibits a condition, whereby one of the measured metrics (e.g., CPU utilization) exceeds the set threshold.
- one of the associated VMs of the threshold-exceeding physical machine is chosen to migrate to another physical machine in the following manner:
- step 261 select the VM (e.g., VM ij ) which has associated therewith the least migration cost (step 261 );
- step 263 instruct the virtual machine migration system (block 270 in FIG. 2A ) to move VM ij to PM j ;
- step 264 if no physical machine is available to accommodate the virtual machine, a new physical machine is introduced into the server farm and VM ij is mapped thereto (step 264 );
- the reallocation methodology (step 260 ) generates one or more migration instructions, e.g., move VM 1 from PM 1 to PM 2 , remove server PM 3 , etc.
- the virtual machine migration system (block 270 ) then takes the instructions and causes them to be implemented in the consolidated homogeneous server environment (block 230 ).
- existing products can be used for the virtual machine migration system, for example, the Virtual Center from VMWare (Palo Alto, Calif.).
- the above heuristic is based on a goal of maximizing the variance of the residue vector, so that the physical machines are as closely packed as SLA requirements will allow, thus leading to a high overall utilization, minimizing the cost of migration and minimizing the need for introducing new physical machines.
- the virtual server management procedure is iterative in nature, i.e., the steps of FIG. 2A (and thus FIG. 2B ) are repeated until all SLA violations are remedied. Still further, based on the iterative nature of the methodology, minimal migration moves are made for each triggering event. Also, the methodology serves to maximize physical server load variance.
- FIG. 4 illustrates a computing system in accordance with which one or more components/steps of the virtual server management techniques (e.g., components and methodologies described in the context of FIGS. 1 through 3 ) may be implemented, according to an embodiment of the present invention.
- the individual components/steps may be implemented on one such computing system or on more than one such computing system.
- the individual computer systems and/or devices may be connected via a suitable network, e.g., the Internet or World Wide Web.
- the system may be realized via private or local networks. In any case, the invention is not limited to any particular network.
- the computing system shown in FIG. 4 may represent one or more servers or one or more other processing devices capable of providing all or portions of the functions described herein.
- the computing system architecture 400 may comprise a processor 410 , a memory 420 , I/O devices 430 , and a network interface 440 , coupled via a computer bus 450 or alternate connection arrangement.
- processor as used herein is intended to include any processing device, such as, for example, one that includes a CPU and/or other processing circuitry. It is also to be understood that the term “processor” may refer to more than one processing device and that various elements associated with a processing device may be shared by other processing devices.
- memory as used herein is intended to include memory associated with a processor or CPU, such as, for example, RAM, ROM, a fixed memory device (e.g., hard drive), a removable memory device (e.g., diskette), flash memory, etc.
- input/output devices or “I/O devices” as used herein is intended to include, for example, one or more input devices (e.g., keyboard, mouse, etc.) for entering data to the processing unit, and/or one or more output devices (e.g., display, etc.) for presenting results associated with the processing unit.
- input devices e.g., keyboard, mouse, etc.
- output devices e.g., display, etc.
- network interface as used herein is intended to include, for example, one or more transceivers to permit the computer system to communicate with another computer system via an appropriate communications protocol.
- software components including instructions or code for performing the methodologies described herein may be stored in one or more of the associated memory devices (e.g., ROM, fixed or removable memory) and, when ready to be utilized, loaded in part or in whole (e.g., into RAM) and executed by a CPU.
- ROM read-only memory
- RAM random access memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
- This present invention generally relates to virtual machine environments and, more particularly, to techniques for dynamically managing virtual machines.
- An important problem encountered in today's information technology (IT) environment is known as server sprawl. Because of unplanned growth, many data centers today have large numbers of heterogeneous servers, each hosting one application and often grossly under utilized.
- A solution to this problem is a technique known as server consolidation. In general, server consolidation involves converting each physical server or physical machine into a virtual server or virtual machine (VM), and then mapping multiple VMs to a physical machine, thus increasing utilization and reducing the required number of physical machines.
- There are some critical runtime issues associated with a consolidated server environment. For example, due to user application workload changes or fluctuations, a critical problem often arises in these environments. The critical problem is that end user application performance degrades due to over utilization of critical resources in some of the physical machines. Accordingly, an existing allocation of VMs to physical machines may no longer satisfy service level agreement (SLA) requirements. As is known, an SLA is an agreement between a service customer (e.g., application owner) and a service provider (e.g., application host) that specifies the parameters of a particular service (e.g., minimum quality of service level). As a result, VMs may need to be reallocated to other physical machines. However, such a reallocation has an associated migration cost. Existing consolidation approaches do not account for the cost of migration.
- Principles of the present invention provide techniques for dynamic management of virtual machine environments.
- For example, in one aspect of the invention, a technique for automatically managing a first set of virtual machines being hosted by a second set of physical machines comprises the following steps/operations. An alert is obtained that a service level agreement (SLA) pertaining to at least one application being hosted by at least one of the virtual machines in the first set of virtual machines is being violated. Upon obtaining the SLA violation alert, the technique obtains at least one performance measurement for at least a portion of the machines in at least one of the first set of virtual machines and the second set of physical machines, and a cost of migration for at least a portion of the virtual machines in the first set of virtual machines. Based on the obtained performance measurements and the obtained migration costs, an optimal migration policy is determined for moving the virtual machine hosting the at least one application to another physical machine.
- These and other objects, features and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings.
-
FIG. 1 illustrates an example of server consolidation; -
FIG. 2A illustrates a virtual server management methodology, according to an embodiment of the present invention; -
FIG. 2B illustrates a virtual machine reallocation methodology, according to an embodiment of the present invention; -
FIG. 3 illustrates an example mapping of virtual machines to physical machines; and -
FIG. 4 illustrates a computing system in accordance with which one or more components/steps of a virtual server management system may be implemented, according to an embodiment of the present invention. - The following description will illustrate the invention using an exemplary SLA-based service provider environment. It should be understood, however, that the invention is not limited to use with such a particular environment. The invention is instead more generally applicable to any data processing or computing environment in which it would be desirable to manage virtual servers used to perform such data processing or computing operations.
- It is to be appreciated that, as used herein, a “physical machine” or “physical server” refers to an actual computing device, while a “virtual machine” or “virtual server” refers to a logical object that acts as a physical machine. In one embodiment, the computing device may be a Blade™ available from International Business Machines Corporation (Armonk, N.Y.). A Blade™ includes a “thin” software layer called a Hypervisor™, which creates the virtual machine. A physical machine equipped with a Hypervisor™ can create multiple virtual machines. Each virtual machine can execute a separate copy of the operating system, as well as one or more applications.
- As will be illustrated below, a methodology of the invention provides a polynomial time approximate solution for dynamic migration of virtual machines (VMs) to maintain SLA compliance. Such a management methodology minimizes associated cost of migration, allows dynamic addition or removal of physical machines as needed (in order to reduce total cost of ownership). The approach of the methodology is an iterative approach, which improves upon the existing solution of allocating VMs to physical machines. Moreover, the approach is independent of application software, and works with virtual machines at the operating system level. Such a methodology can be used as a part of a larger management system, e.g., the International Business Machines Corporation (Armonk, N.Y.) Director system, by using its monitoring mechanism and producing event action plans for automatic migration of VMs when needed.
- Before describing an illustration of the inventive approach, an explanation of the basic steps and features of the server consolidation process is given in the context of
FIG. 1 . - As shown in
FIG. 1 , physical servers 100-1 through 100-n each host a separate application (App1 through Appn, respectively). However, as noted below each box representing the server, each application only utilizes between 25% and 50% of the processing capacity of the server. Thus, each server is considered under utilized. - Each physical server (100-1 through 100-n) is converted (step 105) into a virtual machine (VM1 through VMn denoted as 110-1 through 110-n, respectively) using available virtualization technology, e.g., available from VMWare or XenSource (both of Palo Alto, Calif.). Server virtualization is a technique that is well known in the art and is, therefore, not described in detail herein.
- Multiple VMs are then mapped into a physical machine, using central processing unit (CPU) utilization, memory usage, etc. as metrics for resource requirements, thus increasing the utilization and reducing the total number of physical machines required to support the original set of applications. That is, as shown, the VMs are mapped into a lesser number of physical machines (120-1 through 120-i, where i is less than n). For example, App1 and App2 are now each hosted by server 120-1, which can be of the same processing capacity as server 100-1, but now is more efficiently utilized.
- Typically, at the end of this consolidation process, the data center will consist of a fewer number of homogeneous servers, each loaded with multiple virtual machines (VMs), where each VM represents one of the original servers. The benefit of this process is that heterogeneity and server sprawl is reduced, resulting in less complex management processes and lower cost of ownership.
- However, as mentioned above, there are several runtime issues associated with consolidated server environment. Due to application workload changes or fluctuations, end user application performance degrades due to over utilization of critical resources in some of the physical machines. Thus, an existing allocation of VM to physical machines may no longer satisfy SLA requirements. VMs may need to be reallocated to physical machines, which have an associated migration cost. Existing consolidation approaches do not account for the cost of migration.
- Illustrative principles of the invention provide a solution to this problem using an automated virtual machine migration methodology that is deployable to dynamically balance the load on the physical servers with an overall objective of maintaining application SLAs. We assume that there is a cost associated with each migration. The inventive solution finds the best set of virtual machine migrations that restores the violated SLAs, and that minimizes the number of required physical servers, and minimizes the migration cost associated with the reallocation.
- The methodology assumes that SLAs are directly related to metrics of the host, such as CPU utilization or memory usage. The inventive methodology is embodied in a virtual server management system that monitors those metrics and if any of them exceeds a predetermined threshold for a physical server or VM, one or more VMs from that physical machine is moved to another physical machine in order to restore acceptable levels of utilization. The VM chosen to be moved is the one with the smallest migration cost, as will be explained below. The chosen VM is moved to the physical machine which has the least residual capacity for the resource associated with that metric and is able to accommodate the VM. An overall objective is to maximize the variance of the utilization across all the existing physical servers, as will be explained below. The procedure is repeated until the SLA violation is corrected. The
overall management methodology 200 is depicted onFIG. 2A , while the reallocation or migration methodology is illustrated inFIG. 2B . - As shown in
FIG. 2A , a heterogeneous under-utilized server environment (block 210) is the input toserver consolidation step 220. Theserver consolidation step 220 is the server virtualization process described above in the context ofFIG. 1 . Thus, the input to step 220 is data indicative of the heterogeneous under-utilized server environment, such as the environment including servers 100-1 through 100-n inFIG. 1 . This may include information regarding the application running on the physical server as well as server utilization information. Again, since the virtualization process is well known, as well as the data input thereto, a further description of this process is not given herein. The result of the server consolidation step is a consolidated homogenous environment (block 230). That is,server consolidation step 220 outputs a mapping of multiple VMs to physical servers, which serves to reduce heterogeneity and server sprawl. - As further shown in
FIG. 2A , utilization values are monitored. This is accomplished by monitoringagents 240. That is, performance metrics or measurements such as CPU utilization, memory utilization, input/output utilization of each server in the consolidated environment are measured. The agents may simply be one or more software modules that compile these utilization values reported by the servers. It is to be appreciated that while a utilization value may be from a physical machine or a virtual machine, such values are preferably taken for both the physical machine and the virtual machine. For example, for three virtual machines executing on one physical machine, the system gathers CPU utilization values of the physical machine, three CPU utilization values denoting the virtual machines CPU usage, and CPU utilization due to the overhead of the Hypervisor™. - These utilization values are then compared to threshold values in
step 250 to determine whether they are greater than, less than, or equal to, some predetermined threshold value for the respective type of utilization that is being monitored (e.g., CPU utilization threshold value, memory utilization value, input/output utilization value). Such thresholds are preferably thresholds generated based on the SLA that governs the agreed-upon requirements for hosting the application running on the subject server. For example, the SLA may require that a response to an end user query to an application running on the subject server be less than a certain number of seconds for a percentage of the requests. Based on knowledge of the processing capacity of the server, this requirement is easily translated into a threshold percentage for CPU capacity. Thus, the subject server hosting the application should never reach or exceed the threshold percent of its CPU capacity. - Accordingly, if the subject server is being under utilized (e.g., below the threshold value) or over utilized (e.g., greater than or equal to the threshold value), then the computation step will detect this condition and generate an appropriate alert, if necessary. In this embodiment, when the server is being over utilized, an SLA violation alert is generated.
- If such an SLA violation alert is generated, a VM reallocation methodology of the invention is then triggered in
step 260. The input to the VM reallocation methodology includes: (i) utilization values (e.g., CPU, memory, I/O) as computed by themonitoring agents 240; (ii) SLA information related to the thresholds; (iii) metric thresholds as computed in the threshold computation step; and (iv) a weight coefficient vector specifying the importance of each utilization dimension to the overall cost function. - The cost of reallocation (also referred to as migration) of a VM is defined as a dot product of a vector representing utilization and the vector representing the weight coefficient. For example, the dimension of both these vectors would be 2, if we consider only two resource metrics, CPU utilization and memory usage. It is to be appreciated that these migration costs are computed and maintained by the
reallocation component 260 of the virtualserver management system 200 or, alternatively, by another component of the system. - By way of example, assume that for a particular VM that the metrics are [0.2, 0.5], where 0.2 denotes 20% CPU utilization and 0.5 denotes 50% memory usage and the cost vector is [5, 10], signifying that, in the total cost of migration, the CPU usage has a weight of 5 and the memory usage has a weight of 10. Then, the cost of migration for this example VM is: 0.2*5+0.5*10=6 units.
- The reallocation methodology of 260 includes two steps. Assume PM1, PM2, . . . PMm are the physical machines and Vij is the j-th virtual machine on PMi. For each physical machine PMi, the methodology maintains a list of virtual machines allocated to PMi ordered by non-decreasing migration cost, i.e., the first VM, Vi1, has the lowest cost. For each physical machine PMi, the methodology calculates and stores a vector representing the residual capacity of PMi. The methodology maintains the list of residual capacities in non-decreasing order of the L2 norms of the capacity vector. An example configuration of VMs and their parent physical machines is shown on
FIG. 3 . - As mentioned above, the reallocation algorithm is triggered by one of the monitored utilization values exceeding one of the utilization thresholds. Assume that a physical machine PMi exhibits a condition, whereby one of the measured metrics (e.g., CPU utilization) exceeds the set threshold. According to the reallocation methodology (illustrated in
FIG. 2B ), one of the associated VMs of the threshold-exceeding physical machine is chosen to migrate to another physical machine in the following manner: - (i) select the VM (e.g., VMij) which has associated therewith the least migration cost (step 261);
- (ii) select the physical machine (PMj) which has the least residue resource vector, but enough to accommodate VMij (step 262);
- (iii) instruct the virtual machine migration system (block 270 in
FIG. 2A ) to move VMij to PMj; (step 263); - (iv) if no physical machine is available to accommodate the virtual machine, a new physical machine is introduced into the server farm and VMij is mapped thereto (step 264); and
- (v) recalculate the residue vectors and sort the VMs according to the costs (step 265).
- It is to be understood that the reallocation methodology (step 260) generates one or more migration instructions, e.g., move VM1 from PM1 to PM2, remove server PM3, etc. The virtual machine migration system (block 270) then takes the instructions and causes them to be implemented in the consolidated homogeneous server environment (block 230). It is to be understood that existing products can be used for the virtual machine migration system, for example, the Virtual Center from VMWare (Palo Alto, Calif.).
- The above heuristic is based on a goal of maximizing the variance of the residue vector, so that the physical machines are as closely packed as SLA requirements will allow, thus leading to a high overall utilization, minimizing the cost of migration and minimizing the need for introducing new physical machines. Further, it is to be appreciated that the virtual server management procedure is iterative in nature, i.e., the steps of
FIG. 2A (and thusFIG. 2B ) are repeated until all SLA violations are remedied. Still further, based on the iterative nature of the methodology, minimal migration moves are made for each triggering event. Also, the methodology serves to maximize physical server load variance. -
FIG. 4 illustrates a computing system in accordance with which one or more components/steps of the virtual server management techniques (e.g., components and methodologies described in the context ofFIGS. 1 through 3 ) may be implemented, according to an embodiment of the present invention. It is to be understood that the individual components/steps may be implemented on one such computing system or on more than one such computing system. In the case of an implementation on a distributed computing system, the individual computer systems and/or devices may be connected via a suitable network, e.g., the Internet or World Wide Web. However, the system may be realized via private or local networks. In any case, the invention is not limited to any particular network. - Thus, the computing system shown in
FIG. 4 may represent one or more servers or one or more other processing devices capable of providing all or portions of the functions described herein. - As shown, the
computing system architecture 400 may comprise aprocessor 410, amemory 420, I/O devices 430, and anetwork interface 440, coupled via acomputer bus 450 or alternate connection arrangement. - It is to be appreciated that the term “processor” as used herein is intended to include any processing device, such as, for example, one that includes a CPU and/or other processing circuitry. It is also to be understood that the term “processor” may refer to more than one processing device and that various elements associated with a processing device may be shared by other processing devices.
- The term “memory” as used herein is intended to include memory associated with a processor or CPU, such as, for example, RAM, ROM, a fixed memory device (e.g., hard drive), a removable memory device (e.g., diskette), flash memory, etc.
- In addition, the phrase “input/output devices” or “I/O devices” as used herein is intended to include, for example, one or more input devices (e.g., keyboard, mouse, etc.) for entering data to the processing unit, and/or one or more output devices (e.g., display, etc.) for presenting results associated with the processing unit.
- Still further, the phrase “network interface” as used herein is intended to include, for example, one or more transceivers to permit the computer system to communicate with another computer system via an appropriate communications protocol.
- Accordingly, software components including instructions or code for performing the methodologies described herein may be stored in one or more of the associated memory devices (e.g., ROM, fixed or removable memory) and, when ready to be utilized, loaded in part or in whole (e.g., into RAM) and executed by a CPU.
- In any case, it is to be appreciated that the techniques of the invention, described herein and shown in the appended figures, may be implemented in various forms of hardware, software, or combinations thereof, e.g., one or more operatively programmed general purpose digital computers with associated memory, implementation-specific integrated circuit(s), functional circuitry, etc. Given the techniques of the invention provided herein, one of ordinary skill in the art will be able to contemplate other implementations of the techniques of the invention.
- Although illustrative embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments, and that various other changes and modifications may be made by one skilled in the art without departing from the scope or spirit of the invention.
Claims (17)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/364,449 US20070204266A1 (en) | 2006-02-28 | 2006-02-28 | Systems and methods for dynamically managing virtual machines |
US12/125,457 US8601471B2 (en) | 2006-02-28 | 2008-05-22 | Dynamically managing virtual machines |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/364,449 US20070204266A1 (en) | 2006-02-28 | 2006-02-28 | Systems and methods for dynamically managing virtual machines |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/125,457 Continuation US8601471B2 (en) | 2006-02-28 | 2008-05-22 | Dynamically managing virtual machines |
Publications (1)
Publication Number | Publication Date |
---|---|
US20070204266A1 true US20070204266A1 (en) | 2007-08-30 |
Family
ID=38445497
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/364,449 Abandoned US20070204266A1 (en) | 2006-02-28 | 2006-02-28 | Systems and methods for dynamically managing virtual machines |
US12/125,457 Active 2029-11-08 US8601471B2 (en) | 2006-02-28 | 2008-05-22 | Dynamically managing virtual machines |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/125,457 Active 2029-11-08 US8601471B2 (en) | 2006-02-28 | 2008-05-22 | Dynamically managing virtual machines |
Country Status (1)
Country | Link |
---|---|
US (2) | US20070204266A1 (en) |
Cited By (109)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070234302A1 (en) * | 2006-03-31 | 2007-10-04 | Prowess Consulting Llc | System and method for deploying a virtual machine |
US20070234337A1 (en) * | 2006-03-31 | 2007-10-04 | Prowess Consulting, Llc | System and method for sanitizing a computer program |
US20070271560A1 (en) * | 2006-05-18 | 2007-11-22 | Microsoft Corporation | Deploying virtual machine to host based on workload characterizations |
US20080082977A1 (en) * | 2006-09-29 | 2008-04-03 | Microsoft Corporation | Automatic load and balancing for virtual machines to meet resource requirements |
US20080098309A1 (en) * | 2006-10-24 | 2008-04-24 | Microsoft Corporation | Managing virtual machines and hosts by property |
US7383327B1 (en) * | 2007-10-11 | 2008-06-03 | Swsoft Holdings, Ltd. | Management of virtual and physical servers using graphic control panels |
US20080134177A1 (en) * | 2006-10-17 | 2008-06-05 | Manageiq, Inc. | Compliance-based adaptations in managed virtual systems |
US20080134178A1 (en) * | 2006-10-17 | 2008-06-05 | Manageiq, Inc. | Control and management of virtual systems |
US20080133486A1 (en) * | 2006-10-17 | 2008-06-05 | Manageiq, Inc. | Methods and apparatus for using tags to control and manage assets |
US20080134175A1 (en) * | 2006-10-17 | 2008-06-05 | Managelq, Inc. | Registering and accessing virtual systems for use in a managed system |
US20080184225A1 (en) * | 2006-10-17 | 2008-07-31 | Manageiq, Inc. | Automatic optimization for virtual systems |
US20090037164A1 (en) * | 2007-07-31 | 2009-02-05 | Gaither Blaine D | Datacenter workload evaluation |
US20090043890A1 (en) * | 2007-08-09 | 2009-02-12 | Prowess Consulting, Llc | Methods and systems for deploying hardware files to a computer |
US20090070781A1 (en) * | 2007-09-07 | 2009-03-12 | Managelq, Inc. | Method and apparatus for interfacing with a computer user via virtual thumbnails |
US20090106409A1 (en) * | 2007-10-18 | 2009-04-23 | Fujitsu Limited | Method, apparatus and recording medium for migrating a virtual machine |
US20090119664A1 (en) * | 2007-11-02 | 2009-05-07 | Pike Jimmy D | Multiple virtual machine configurations in the scalable enterprise |
US20090132708A1 (en) * | 2007-11-21 | 2009-05-21 | Datagardens Inc. | Adaptation of service oriented architecture |
US20090138869A1 (en) * | 2007-11-27 | 2009-05-28 | Managelq, Inc. | Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets |
EP2048578A3 (en) * | 2007-09-06 | 2009-08-12 | Dell Products, L.P. | Virtual machine (VM) migration between processor architectures |
US20090210527A1 (en) * | 2006-05-24 | 2009-08-20 | Masahiro Kawato | Virtual Machine Management Apparatus, and Virtual Machine Management Method and Program |
US20090217296A1 (en) * | 2008-02-26 | 2009-08-27 | Alexander Gebhart | Benefit analysis of implementing virtual machines |
US20090235250A1 (en) * | 2008-03-14 | 2009-09-17 | Hiroaki Takai | Management machine, management system, management program, and management method |
WO2009123640A1 (en) * | 2008-04-04 | 2009-10-08 | Hewlett-Packard Development Company, L.P. | Virtual machine manager system and methods |
US20090265707A1 (en) * | 2008-04-21 | 2009-10-22 | Microsoft Corporation | Optimizing application performance on virtual machines automatically with end-user preferences |
US20090300635A1 (en) * | 2008-05-30 | 2009-12-03 | James Michael Ferris | Methods and systems for providing a marketplace for cloud-based networks |
US20100027420A1 (en) * | 2008-07-31 | 2010-02-04 | Cisco Technology, Inc. | Dynamic distribution of virtual machines in a communication network |
US20100100879A1 (en) * | 2008-10-22 | 2010-04-22 | Vmware, Inc. | Methods and systems for converting a related group of physical machines to virtual machines |
US20100153946A1 (en) * | 2008-12-17 | 2010-06-17 | Vmware, Inc. | Desktop source transfer between different pools |
US20100153950A1 (en) * | 2008-12-17 | 2010-06-17 | Vmware, Inc. | Policy management to initiate an automated action on a desktop source |
US20100191854A1 (en) * | 2009-01-26 | 2010-07-29 | Vmware, Inc. | Process demand prediction for distributed power and resource management |
US20100242044A1 (en) * | 2009-03-18 | 2010-09-23 | Microsoft Corporation | Adaptable software resource managers based on intentions |
US20100241615A1 (en) * | 2009-03-20 | 2010-09-23 | Microsoft Corporation | Mitigation of obsolescence for archival services |
US20100262964A1 (en) * | 2009-04-10 | 2010-10-14 | Microsoft Corporation | Virtual Machine Packing Method Using Scarcity |
US20100281482A1 (en) * | 2009-04-30 | 2010-11-04 | Microsoft Corporation | Application efficiency engine |
US20100306765A1 (en) * | 2009-05-28 | 2010-12-02 | Dehaan Michael Paul | Methods and systems for abstracting cloud management |
US20100306767A1 (en) * | 2009-05-29 | 2010-12-02 | Dehaan Michael Paul | Methods and systems for automated scaling of cloud computing systems |
US20100312805A1 (en) * | 2009-05-08 | 2010-12-09 | Noonan Iii Donal Charles | System and method for capturing, managing, and distributing computer files |
EP2270728A1 (en) * | 2009-06-30 | 2011-01-05 | Alcatel Lucent | A method of managing resources, corresponding computer program product, and data storage device therefor |
US20110083134A1 (en) * | 2009-10-01 | 2011-04-07 | Samsung Electronics Co., Ltd. | Apparatus and method for managing virtual processing unit |
US20110099548A1 (en) * | 2009-07-01 | 2011-04-28 | Qingni Shen | Method, apparatus and system for making a decision about virtual machine migration |
US7941510B1 (en) | 2007-10-11 | 2011-05-10 | Parallels Holdings, Ltd. | Management of virtual and physical servers using central console |
US20110113136A1 (en) * | 2009-11-02 | 2011-05-12 | InMon Corp. | Method and apparatus for combining data associated with hardware resources and network traffic |
US20110161483A1 (en) * | 2008-08-28 | 2011-06-30 | Nec Corporation | Virtual server system and physical server selection method |
US8095929B1 (en) * | 2007-04-16 | 2012-01-10 | Vmware, Inc. | Method and system for determining a cost-benefit metric for potential virtual machine migrations |
EP2417534A2 (en) * | 2009-04-08 | 2012-02-15 | Microsoft Corporation | Optimized virtual machine migration mechanism |
US20120096461A1 (en) * | 2010-10-05 | 2012-04-19 | Citrix Systems, Inc. | Load balancing in multi-server virtual workplace environments |
US8185894B1 (en) * | 2008-01-10 | 2012-05-22 | Hewlett-Packard Development Company, L.P. | Training a virtual machine placement controller |
US20120158923A1 (en) * | 2009-05-29 | 2012-06-21 | Ansari Mohamed | System and method for allocating resources of a server to a virtual machine |
US8219788B1 (en) * | 2007-07-23 | 2012-07-10 | Oracle America, Inc. | Virtual core management |
US8234640B1 (en) | 2006-10-17 | 2012-07-31 | Manageiq, Inc. | Compliance-based adaptations in managed virtual systems |
US20120216053A1 (en) * | 2011-02-22 | 2012-08-23 | Fujitsu Limited | Method for changing placement of virtual machine and apparatus for changing placement of virtual machine |
CN102681895A (en) * | 2011-03-11 | 2012-09-19 | 北京市国路安信息技术有限公司 | Dynamic self-migrating cloud service method |
US20120246638A1 (en) * | 2011-03-22 | 2012-09-27 | International Business Machines Corporation | Forecasting based service assignment in cloud computing |
US8332847B1 (en) * | 2008-01-10 | 2012-12-11 | Hewlett-Packard Development Company, L. P. | Validating manual virtual machine migration |
US20130007272A1 (en) * | 2010-04-22 | 2013-01-03 | International Business Machines Corporation | Capacity over-commit management in resource provisioning environments |
US20130047158A1 (en) * | 2011-08-16 | 2013-02-21 | Esds Software Solution Pvt. Ltd. | Method and System for Real Time Detection of Resource Requirement and Automatic Adjustments |
US8418173B2 (en) | 2007-11-27 | 2013-04-09 | Manageiq, Inc. | Locating an unauthorized virtual machine and bypassing locator code by adjusting a boot pointer of a managed virtual machine in authorized environment |
US8423591B2 (en) | 2008-01-31 | 2013-04-16 | Prowness Consulting, LLC | Method and system for modularizing windows imaging format |
US20130097601A1 (en) * | 2011-10-12 | 2013-04-18 | International Business Machines Corporation | Optimizing virtual machines placement in cloud computing environments |
CN103106115A (en) * | 2011-11-10 | 2013-05-15 | 财团法人资讯工业策进会 | Virtual resource adjusting device and virtual resource adjusting device method |
US20130125116A1 (en) * | 2011-11-10 | 2013-05-16 | Institute For Information Industry | Method and Device for Adjusting Virtual Resource and Computer Readable Storage Medium |
US20130152076A1 (en) * | 2011-12-07 | 2013-06-13 | Cisco Technology, Inc. | Network Access Control Policy for Virtual Machine Migration |
US20130159997A1 (en) * | 2011-12-14 | 2013-06-20 | International Business Machines Corporation | Application initiated negotiations for resources meeting a performance parameter in a virtualized computing environment |
CN101398770B (en) * | 2007-09-30 | 2013-11-27 | 赛门铁克公司 | System for and method of migrating one or more virtual machines |
US8612971B1 (en) | 2006-10-17 | 2013-12-17 | Manageiq, Inc. | Automatic optimization for virtual systems |
US20130339527A1 (en) * | 2012-06-18 | 2013-12-19 | Empire Technology Development Llc | Virtual machine migration in a cloud fabric |
US8645529B2 (en) | 2010-10-06 | 2014-02-04 | Infosys Limited | Automated service level management of applications in cloud computing environment |
US8667500B1 (en) * | 2006-10-17 | 2014-03-04 | Vmware, Inc. | Use of dynamic entitlement and adaptive threshold for cluster process balancing |
US20140115168A1 (en) * | 2011-07-04 | 2014-04-24 | Fujitsu Limited | Allocation design method and apparatus |
EP2737398A1 (en) * | 2011-07-29 | 2014-06-04 | Hewlett-Packard Development Company, L.P. | Migrating virtual machines |
US20140196049A1 (en) * | 2013-01-10 | 2014-07-10 | International Business Machines Corporation | System and method for improving memory usage in virtual machines |
EP2608027A3 (en) * | 2011-12-19 | 2014-07-16 | VMWare, Inc. | Managing resource utilization within a cluster of computing devices |
WO2014141007A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Virtual machine migration in a network |
US8863141B2 (en) | 2011-12-14 | 2014-10-14 | International Business Machines Corporation | Estimating migration costs for migrating logical partitions within a virtualized computing environment based on a migration cost history |
US20140317618A1 (en) * | 2011-05-26 | 2014-10-23 | Vmware, Inc. | Capacity and load analysis using storage attributes |
US8892495B2 (en) | 1991-12-23 | 2014-11-18 | Blanding Hovenweep, Llc | Adaptive pattern recognition based controller apparatus and method and human-interface therefore |
US8949825B1 (en) | 2006-10-17 | 2015-02-03 | Manageiq, Inc. | Enforcement of compliance policies in managed virtual systems |
US20150058966A1 (en) * | 2013-08-23 | 2015-02-26 | Telefonaktiebolaget L M Ericsson (Publ) | Method and Apparatus for Virtual Firewalling in a Wireless Communication Network |
US20150081400A1 (en) * | 2013-09-19 | 2015-03-19 | Infosys Limited | Watching ARM |
US9015703B2 (en) | 2006-10-17 | 2015-04-21 | Manageiq, Inc. | Enforcement of compliance policies in managed virtual systems |
US9086917B1 (en) | 2006-10-17 | 2015-07-21 | Manageiq, Inc. | Registering and accessing virtual systems for use in a managed system |
US9092250B1 (en) * | 2006-10-27 | 2015-07-28 | Hewlett-Packard Development Company, L.P. | Selecting one of plural layouts of virtual machines on physical machines |
US9104643B2 (en) | 2013-03-15 | 2015-08-11 | International Business Machines Corporation | OpenFlow controller master-slave initialization protocol |
US9118984B2 (en) | 2013-03-15 | 2015-08-25 | International Business Machines Corporation | Control plane for integrated switch wavelength division multiplexing |
US9146763B1 (en) | 2012-03-28 | 2015-09-29 | Google Inc. | Measuring virtual machine metrics |
US9407560B2 (en) | 2013-03-15 | 2016-08-02 | International Business Machines Corporation | Software defined network-based load balancing for physical and virtual networks |
US9444748B2 (en) | 2013-03-15 | 2016-09-13 | International Business Machines Corporation | Scalable flow and congestion control with OpenFlow |
US20160328267A1 (en) * | 2009-06-04 | 2016-11-10 | International Business Machines Corporation | System and method to control heat dissipation through service level analysis |
US9535563B2 (en) | 1999-02-01 | 2017-01-03 | Blanding Hovenweep, Llc | Internet appliance system and method |
US20170063644A1 (en) * | 2015-08-28 | 2017-03-02 | Vmware, Inc. | Placement of devices based on policies and benchmark data |
US9590923B2 (en) | 2013-03-15 | 2017-03-07 | International Business Machines Corporation | Reliable link layer for control links between network controllers and switches |
US9628550B1 (en) * | 2013-10-24 | 2017-04-18 | Ca, Inc. | Lightweight software management shell |
US9697019B1 (en) | 2006-10-17 | 2017-07-04 | Manageiq, Inc. | Adapt a virtual machine to comply with system enforced policies and derive an optimized variant of the adapted virtual machine |
US9769074B2 (en) | 2013-03-15 | 2017-09-19 | International Business Machines Corporation | Network per-flow rate limiting |
CN107430518A (en) * | 2015-03-27 | 2017-12-01 | 英特尔公司 | Technology for virtual machine (vm) migration |
US9928100B2 (en) | 2015-06-23 | 2018-03-27 | International Business Machines Corporation | Adjusting virtual machine migration plans based on alert conditions related to future migrations |
US9940393B2 (en) | 2015-06-03 | 2018-04-10 | International Business Machines Corporation | Electronic personal assistant privacy |
CN108073449A (en) * | 2017-11-21 | 2018-05-25 | 山东科技大学 | A kind of virtual machine dynamic laying method |
US10095533B1 (en) * | 2008-10-06 | 2018-10-09 | Veritas Technologies Llc | Method and apparatus for monitoring and automatically reserving computer resources for operating an application within a computer environment |
CN109189574A (en) * | 2018-08-16 | 2019-01-11 | 郑州云海信息技术有限公司 | A kind of load equilibration scheduling method and system based on virtualization memory load monitoring |
US10334482B1 (en) * | 2009-10-16 | 2019-06-25 | EMC IP Holding Company LLC | Self adaptive application and information movement in a cloud environment |
US10395219B1 (en) * | 2015-12-18 | 2019-08-27 | Amazon Technologies, Inc. | Location policies for reserved virtual machine instances |
US10713080B1 (en) * | 2018-07-25 | 2020-07-14 | Amazon Technologies, Inc. | Request-based virtual machine memory transitioning in an on-demand network code execution system |
US20200287813A1 (en) * | 2020-04-16 | 2020-09-10 | Patrick KUTCH | Method and apparatus for workload feedback mechanism facilitating a closed loop architecture |
US10988793B2 (en) * | 2009-05-28 | 2021-04-27 | Red Hat, Inc. | Cloud management with power management support |
US10996945B1 (en) * | 2014-09-17 | 2021-05-04 | Amazon Technologies, Inc. | Splitting programs into distributed parts |
US11064018B1 (en) * | 2020-01-15 | 2021-07-13 | Vmware, Inc. | Incorporating software defined networking resource utilization in workload placement |
US11093269B1 (en) * | 2009-06-26 | 2021-08-17 | Turbonomic, Inc. | Managing resources in virtualization systems |
US11182717B2 (en) | 2015-01-24 | 2021-11-23 | VMware. Inc. | Methods and systems to optimize server utilization for a virtual data center |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080195756A1 (en) * | 2007-02-08 | 2008-08-14 | Michael Galles | Method and system to access a service utilizing a virtual communications device |
US8745295B2 (en) * | 2007-02-12 | 2014-06-03 | International Business Machines Corporation | Device, method and computer program product for executing a migrated execution context by a storage controller |
US8959516B2 (en) | 2007-07-30 | 2015-02-17 | International Business Machines Corporation | Methods and systems for coordinated financial transactions in distributed and parallel environments |
US8595740B2 (en) * | 2009-03-31 | 2013-11-26 | Microsoft Corporation | Priority-based management of system load level |
US8918779B2 (en) | 2009-08-27 | 2014-12-23 | Microsoft Corporation | Logical migration of applications and data |
US8887172B2 (en) * | 2009-12-31 | 2014-11-11 | Microsoft Corporation | Virtualized management of remote presentation sessions using virtual machines having load above or below thresholds |
US8433802B2 (en) * | 2010-01-26 | 2013-04-30 | International Business Machines Corporation | System and method for fair and economical resource partitioning using virtual hypervisor |
US8831993B2 (en) * | 2010-03-19 | 2014-09-09 | Novell, Inc. | Techniques for sharing virtual machine (VM) resources |
US9928091B2 (en) | 2010-09-30 | 2018-03-27 | Microsoft Technology Licensing, Llc | Techniques for streaming virtual machines from a server to a host |
US8615579B1 (en) * | 2010-12-28 | 2013-12-24 | Amazon Technologies, Inc. | Managing virtual machine migration |
US9098214B1 (en) | 2010-12-28 | 2015-08-04 | Amazon Technologies, Inc. | Managing virtual machine migration |
US9250863B1 (en) | 2010-12-28 | 2016-02-02 | Amazon Technologies, Inc. | Managing virtual machine migration |
US20120233236A1 (en) * | 2011-03-07 | 2012-09-13 | Min-Shu Chen | Cloud-based system for serving service request of embedded device by cloud computing and related cloud-based processing method thereof |
US9195510B2 (en) * | 2011-04-04 | 2015-11-24 | Dell Products L.P. | Information handling system application decentralized workload management |
CN102202097A (en) * | 2011-05-23 | 2011-09-28 | 浪潮(北京)电子信息产业有限公司 | Equipment load shedding method and device |
EP2732368A4 (en) | 2011-07-11 | 2015-01-14 | Hewlett Packard Development Co | Virtual machine placement |
CN102236582B (en) * | 2011-07-15 | 2013-06-05 | 浙江大学 | Method for balanced distribution of virtualized cluster load in a plurality of physical machines |
US9772784B2 (en) | 2011-08-10 | 2017-09-26 | Nutanix, Inc. | Method and system for maintaining consistency for I/O operations on metadata distributed amongst nodes in a ring structure |
US20130073708A1 (en) * | 2011-09-20 | 2013-03-21 | Cloudbyte, Inc. | Techniques for achieving unlimited parallel scalability, storage capacity, and/or storage performance in a multi-tenant storage cloud environment |
US8756601B2 (en) | 2011-09-23 | 2014-06-17 | Qualcomm Incorporated | Memory coherency acceleration via virtual machine migration |
US9075643B2 (en) * | 2012-01-23 | 2015-07-07 | International Business Machines Corporation | Automatically selecting optimal transport protocol in a cloud computing environment |
US8909769B2 (en) * | 2012-02-29 | 2014-12-09 | International Business Machines Corporation | Determining optimal component location in a networked computing environment |
US9928107B1 (en) | 2012-03-30 | 2018-03-27 | Amazon Technologies, Inc. | Fast IP migration in a hybrid network environment |
US9396008B2 (en) * | 2012-07-13 | 2016-07-19 | Ca, Inc. | System and method for continuous optimization of computing systems with automated assignment of virtual machines and physical machines to hosts |
US20140136295A1 (en) | 2012-11-13 | 2014-05-15 | Apptio, Inc. | Dynamic recommendations taken over time for reservations of information technology resources |
JP6098167B2 (en) * | 2013-01-09 | 2017-03-22 | 富士通株式会社 | Virtual machine management program and method thereof |
US9608933B2 (en) * | 2013-01-24 | 2017-03-28 | Hitachi, Ltd. | Method and system for managing cloud computing environment |
EP2759933A1 (en) | 2013-01-28 | 2014-07-30 | Fujitsu Limited | A process migration method, computer system and computer program |
US9268583B2 (en) * | 2013-02-25 | 2016-02-23 | Red Hat Israel, Ltd. | Migration of virtual machines with shared memory |
US20140278807A1 (en) * | 2013-03-15 | 2014-09-18 | Cloudamize, Inc. | Cloud service optimization for cost, performance and configuration |
GB2515757A (en) | 2013-07-02 | 2015-01-07 | Ibm | Managing virtual machine policy compliance |
US10417591B2 (en) | 2013-07-03 | 2019-09-17 | Apptio, Inc. | Recursive processing of object allocation rules |
US9218207B1 (en) * | 2013-07-09 | 2015-12-22 | Ca, Inc. | Configuring virtualization environments |
US9929918B2 (en) | 2013-07-29 | 2018-03-27 | Alcatel Lucent | Profile-based SLA guarantees under workload migration in a distributed cloud |
US10325232B2 (en) | 2013-09-20 | 2019-06-18 | Apptio, Inc. | Allocating heritage information in data models |
US10581687B2 (en) | 2013-09-26 | 2020-03-03 | Appformix Inc. | Real-time cloud-infrastructure policy implementation and management |
US10291472B2 (en) | 2015-07-29 | 2019-05-14 | AppFormix, Inc. | Assessment of operational states of a computing environment |
US11244364B2 (en) | 2014-02-13 | 2022-02-08 | Apptio, Inc. | Unified modeling of technology towers |
US9590843B2 (en) | 2014-03-12 | 2017-03-07 | Nutanix, Inc. | Method and system for providing distributed management in a networked virtualization environment |
US9729419B2 (en) | 2014-03-27 | 2017-08-08 | International Business Machines Corporation | Smart migration of overperforming operators of a streaming application to virtual machines in a cloud |
RU2573789C2 (en) * | 2014-04-18 | 2016-01-27 | Закрытое акционерное общество "Лаборатория Касперского" | System and method for launching virtual machine |
WO2015172107A1 (en) | 2014-05-09 | 2015-11-12 | Nutanix, Inc. | Mechanism for providing external access to a secured networked virtualization environment |
US9733958B2 (en) | 2014-05-15 | 2017-08-15 | Nutanix, Inc. | Mechanism for performing rolling updates with data unavailability check in a networked virtualization environment for storage management |
US9740472B1 (en) * | 2014-05-15 | 2017-08-22 | Nutanix, Inc. | Mechanism for performing rolling upgrades in a networked virtualization environment |
US9558005B2 (en) * | 2014-05-19 | 2017-01-31 | Intel Corporation | Reliable and deterministic live migration of virtual machines |
US10437624B2 (en) | 2014-06-10 | 2019-10-08 | Hewlett Packard Enterprise Development Lp | Service level based categorization of virtual machines |
CN104239123B (en) * | 2014-09-05 | 2019-02-15 | 北方工业大学 | Virtual Machine Manager dispatching method and system towards campus cloud platform |
US9348655B1 (en) | 2014-11-18 | 2016-05-24 | Red Hat Israel, Ltd. | Migrating a VM in response to an access attempt by the VM to a shared memory page that has been migrated |
US10642507B2 (en) | 2015-01-30 | 2020-05-05 | Nutanix, Inc. | Pulsed leader consensus management |
US9860339B2 (en) | 2015-06-23 | 2018-01-02 | At&T Intellectual Property I, L.P. | Determining a custom content delivery network via an intelligent software-defined network |
US11151493B2 (en) | 2015-06-30 | 2021-10-19 | Apptio, Inc. | Infrastructure benchmarking based on dynamic cost modeling |
US10268979B2 (en) | 2015-09-28 | 2019-04-23 | Apptio, Inc. | Intermediate resource allocation tracking in data models |
US10387815B2 (en) | 2015-09-29 | 2019-08-20 | Apptio, Inc. | Continuously variable resolution of resource allocation |
US10726367B2 (en) | 2015-12-28 | 2020-07-28 | Apptio, Inc. | Resource allocation forecasting |
CN107133087A (en) * | 2016-02-29 | 2017-09-05 | 阿里巴巴集团控股有限公司 | A kind of resource regulating method and equipment |
US11218418B2 (en) | 2016-05-20 | 2022-01-04 | Nutanix, Inc. | Scalable leadership election in a multi-processing computing environment |
US10474974B2 (en) | 2016-09-08 | 2019-11-12 | Apptio, Inc. | Reciprocal models for resource allocation |
US10936978B2 (en) * | 2016-09-20 | 2021-03-02 | Apptio, Inc. | Models for visualizing resource allocation |
US10362092B1 (en) | 2016-10-14 | 2019-07-23 | Nutanix, Inc. | Entity management in distributed systems |
US10482407B2 (en) | 2016-11-14 | 2019-11-19 | Apptio, Inc. | Identifying resource allocation discrepancies |
US10157356B2 (en) | 2016-12-14 | 2018-12-18 | Apptio, Inc. | Activity based resource allocation modeling |
US10868742B2 (en) | 2017-03-29 | 2020-12-15 | Juniper Networks, Inc. | Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control |
US11068314B2 (en) * | 2017-03-29 | 2021-07-20 | Juniper Networks, Inc. | Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment |
US11323327B1 (en) | 2017-04-19 | 2022-05-03 | Juniper Networks, Inc. | Virtualization infrastructure element monitoring and policy control in a cloud environment using profiles |
US10887130B2 (en) | 2017-06-15 | 2021-01-05 | At&T Intellectual Property I, L.P. | Dynamic intelligent analytics VPN instantiation and/or aggregation employing secured access to the cloud network device |
US10630544B2 (en) | 2017-07-20 | 2020-04-21 | Vmware, Inc. | Mixed mode management |
US11775552B2 (en) | 2017-12-29 | 2023-10-03 | Apptio, Inc. | Binding annotations to data objects |
US10324951B1 (en) | 2017-12-29 | 2019-06-18 | Apptio, Inc. | Tracking and viewing model changes based on time |
US10268980B1 (en) | 2017-12-29 | 2019-04-23 | Apptio, Inc. | Report generation based on user responsibility |
US11194680B2 (en) | 2018-07-20 | 2021-12-07 | Nutanix, Inc. | Two node clusters recovery on a failure |
US11770447B2 (en) | 2018-10-31 | 2023-09-26 | Nutanix, Inc. | Managing high-availability file servers |
US11704617B2 (en) * | 2019-06-20 | 2023-07-18 | Stripe, Inc. | Systems and methods for modeling and analysis of infrastructure services provided by cloud services provider systems |
US11768809B2 (en) | 2020-05-08 | 2023-09-26 | Nutanix, Inc. | Managing incremental snapshots for fast leader node bring-up |
US12093227B2 (en) | 2022-12-01 | 2024-09-17 | International Business Machines Corporation | Capsule migration |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745778A (en) * | 1994-01-26 | 1998-04-28 | Data General Corporation | Apparatus and method for improved CPU affinity in a multiprocessor system |
US5953338A (en) * | 1996-12-13 | 1999-09-14 | Northern Telecom Limited | Dynamic control processes and systems for asynchronous transfer mode networks |
US20010049741A1 (en) * | 1999-06-18 | 2001-12-06 | Bryan D. Skene | Method and system for balancing load distribution on a wide area network |
US20020107901A1 (en) * | 2001-02-05 | 2002-08-08 | Hay Russell C. | Method and apparatus for scheduling processes based upon virtual server identifiers |
US20020194496A1 (en) * | 2001-06-19 | 2002-12-19 | Jonathan Griffin | Multiple trusted computing environments |
US20030099192A1 (en) * | 2001-11-28 | 2003-05-29 | Stacy Scott | Method and system for a switched virtual circuit with virtual termination |
US20030191838A1 (en) * | 2002-04-05 | 2003-10-09 | Tsao Sheng (Ted) Tai | Distributed intelligent virtual server |
US6732139B1 (en) * | 1999-08-16 | 2004-05-04 | International Business Machines Corporation | Method to distribute programs using remote java objects |
US20050120160A1 (en) * | 2003-08-20 | 2005-06-02 | Jerry Plouffe | System and method for managing virtual servers |
US7203944B1 (en) * | 2003-07-09 | 2007-04-10 | Veritas Operating Corporation | Migrating virtual machines among computer systems to balance load caused by virtual machines |
US7310684B2 (en) * | 2004-05-21 | 2007-12-18 | Bea Systems, Inc. | Message processing in a service oriented architecture |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5367473A (en) * | 1990-06-18 | 1994-11-22 | Bell Communications Research, Inc. | Expert system for computer system resource management |
US5506987A (en) * | 1991-02-01 | 1996-04-09 | Digital Equipment Corporation | Affinity scheduling of processes on symmetric multiprocessing systems |
US20060010443A1 (en) * | 2004-07-07 | 2006-01-12 | Northrop Grumman Corporation | Analytic hierarchy process based rules for sensor management |
US7743233B2 (en) * | 2005-04-05 | 2010-06-22 | Intel Corporation | Sequencer address management |
-
2006
- 2006-02-28 US US11/364,449 patent/US20070204266A1/en not_active Abandoned
-
2008
- 2008-05-22 US US12/125,457 patent/US8601471B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745778A (en) * | 1994-01-26 | 1998-04-28 | Data General Corporation | Apparatus and method for improved CPU affinity in a multiprocessor system |
US5953338A (en) * | 1996-12-13 | 1999-09-14 | Northern Telecom Limited | Dynamic control processes and systems for asynchronous transfer mode networks |
US20010049741A1 (en) * | 1999-06-18 | 2001-12-06 | Bryan D. Skene | Method and system for balancing load distribution on a wide area network |
US6732139B1 (en) * | 1999-08-16 | 2004-05-04 | International Business Machines Corporation | Method to distribute programs using remote java objects |
US20040163085A1 (en) * | 1999-08-16 | 2004-08-19 | International Business Machines Corporation | Method to distribute programs using remote java objects |
US20020107901A1 (en) * | 2001-02-05 | 2002-08-08 | Hay Russell C. | Method and apparatus for scheduling processes based upon virtual server identifiers |
US20020194496A1 (en) * | 2001-06-19 | 2002-12-19 | Jonathan Griffin | Multiple trusted computing environments |
US20030099192A1 (en) * | 2001-11-28 | 2003-05-29 | Stacy Scott | Method and system for a switched virtual circuit with virtual termination |
US20030191838A1 (en) * | 2002-04-05 | 2003-10-09 | Tsao Sheng (Ted) Tai | Distributed intelligent virtual server |
US7203944B1 (en) * | 2003-07-09 | 2007-04-10 | Veritas Operating Corporation | Migrating virtual machines among computer systems to balance load caused by virtual machines |
US20050120160A1 (en) * | 2003-08-20 | 2005-06-02 | Jerry Plouffe | System and method for managing virtual servers |
US7310684B2 (en) * | 2004-05-21 | 2007-12-18 | Bea Systems, Inc. | Message processing in a service oriented architecture |
Cited By (210)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8892495B2 (en) | 1991-12-23 | 2014-11-18 | Blanding Hovenweep, Llc | Adaptive pattern recognition based controller apparatus and method and human-interface therefore |
US9535563B2 (en) | 1999-02-01 | 2017-01-03 | Blanding Hovenweep, Llc | Internet appliance system and method |
US20070234302A1 (en) * | 2006-03-31 | 2007-10-04 | Prowess Consulting Llc | System and method for deploying a virtual machine |
US20070234337A1 (en) * | 2006-03-31 | 2007-10-04 | Prowess Consulting, Llc | System and method for sanitizing a computer program |
US9547485B2 (en) * | 2006-03-31 | 2017-01-17 | Prowess Consulting, Llc | System and method for deploying a virtual machine |
US20070271560A1 (en) * | 2006-05-18 | 2007-11-22 | Microsoft Corporation | Deploying virtual machine to host based on workload characterizations |
US8112527B2 (en) * | 2006-05-24 | 2012-02-07 | Nec Corporation | Virtual machine management apparatus, and virtual machine management method and program |
US20090210527A1 (en) * | 2006-05-24 | 2009-08-20 | Masahiro Kawato | Virtual Machine Management Apparatus, and Virtual Machine Management Method and Program |
US20080082977A1 (en) * | 2006-09-29 | 2008-04-03 | Microsoft Corporation | Automatic load and balancing for virtual machines to meet resource requirements |
US8161475B2 (en) * | 2006-09-29 | 2012-04-17 | Microsoft Corporation | Automatic load and balancing for virtual machines to meet resource requirements |
US8839246B2 (en) | 2006-10-17 | 2014-09-16 | Manageiq, Inc. | Automatic optimization for virtual systems |
US9170833B2 (en) | 2006-10-17 | 2015-10-27 | Manage Iq, Inc. | Compliance-based adaptations in managed virtual systems |
US8234640B1 (en) | 2006-10-17 | 2012-07-31 | Manageiq, Inc. | Compliance-based adaptations in managed virtual systems |
US20080134177A1 (en) * | 2006-10-17 | 2008-06-05 | Manageiq, Inc. | Compliance-based adaptations in managed virtual systems |
US8234641B2 (en) | 2006-10-17 | 2012-07-31 | Managelq, Inc. | Compliance-based adaptations in managed virtual systems |
US8949825B1 (en) | 2006-10-17 | 2015-02-03 | Manageiq, Inc. | Enforcement of compliance policies in managed virtual systems |
US8850433B2 (en) | 2006-10-17 | 2014-09-30 | Manageiq, Inc. | Compliance-based adaptations in managed virtual systems |
US8752045B2 (en) | 2006-10-17 | 2014-06-10 | Manageiq, Inc. | Methods and apparatus for using tags to control and manage assets |
US20080184225A1 (en) * | 2006-10-17 | 2008-07-31 | Manageiq, Inc. | Automatic optimization for virtual systems |
US8949826B2 (en) | 2006-10-17 | 2015-02-03 | Managelq, Inc. | Control and management of virtual systems |
US20080134175A1 (en) * | 2006-10-17 | 2008-06-05 | Managelq, Inc. | Registering and accessing virtual systems for use in a managed system |
US9477520B2 (en) | 2006-10-17 | 2016-10-25 | Manageiq, Inc. | Registering and accessing virtual systems for use in a managed system |
US10725802B2 (en) | 2006-10-17 | 2020-07-28 | Red Hat, Inc. | Methods and apparatus for using tags to control and manage assets |
US9015703B2 (en) | 2006-10-17 | 2015-04-21 | Manageiq, Inc. | Enforcement of compliance policies in managed virtual systems |
US8612971B1 (en) | 2006-10-17 | 2013-12-17 | Manageiq, Inc. | Automatic optimization for virtual systems |
US8667500B1 (en) * | 2006-10-17 | 2014-03-04 | Vmware, Inc. | Use of dynamic entitlement and adaptive threshold for cluster process balancing |
US8458695B2 (en) | 2006-10-17 | 2013-06-04 | Manageiq, Inc. | Automatic optimization for virtual systems |
US9038062B2 (en) | 2006-10-17 | 2015-05-19 | Manageiq, Inc. | Registering and accessing virtual systems for use in a managed system |
US20080133486A1 (en) * | 2006-10-17 | 2008-06-05 | Manageiq, Inc. | Methods and apparatus for using tags to control and manage assets |
US10353724B2 (en) | 2006-10-17 | 2019-07-16 | Red Hat, Inc. | Automatic optimization for virtual systems |
US20080134178A1 (en) * | 2006-10-17 | 2008-06-05 | Manageiq, Inc. | Control and management of virtual systems |
US9563460B2 (en) | 2006-10-17 | 2017-02-07 | Manageiq, Inc. | Enforcement of compliance policies in managed virtual systems |
US9086917B1 (en) | 2006-10-17 | 2015-07-21 | Manageiq, Inc. | Registering and accessing virtual systems for use in a managed system |
US9852001B2 (en) | 2006-10-17 | 2017-12-26 | Manageiq, Inc. | Compliance-based adaptations in managed virtual systems |
US8832691B2 (en) | 2006-10-17 | 2014-09-09 | Manageiq, Inc. | Compliance-based adaptations in managed virtual systems |
US9697019B1 (en) | 2006-10-17 | 2017-07-04 | Manageiq, Inc. | Adapt a virtual machine to comply with system enforced policies and derive an optimized variant of the adapted virtual machine |
US9710482B2 (en) | 2006-10-17 | 2017-07-18 | Manageiq, Inc. | Enforcement of compliance policies in managed virtual systems |
US20080098309A1 (en) * | 2006-10-24 | 2008-04-24 | Microsoft Corporation | Managing virtual machines and hosts by property |
US9092250B1 (en) * | 2006-10-27 | 2015-07-28 | Hewlett-Packard Development Company, L.P. | Selecting one of plural layouts of virtual machines on physical machines |
US10346208B2 (en) | 2006-10-27 | 2019-07-09 | Hewlett Packard Enterprise Development Lp | Selecting one of plural layouts of virtual machines on physical machines |
US8095929B1 (en) * | 2007-04-16 | 2012-01-10 | Vmware, Inc. | Method and system for determining a cost-benefit metric for potential virtual machine migrations |
US8219788B1 (en) * | 2007-07-23 | 2012-07-10 | Oracle America, Inc. | Virtual core management |
US8670971B2 (en) * | 2007-07-31 | 2014-03-11 | Hewlett-Packard Development Company, L.P. | Datacenter workload evaluation |
US20090037164A1 (en) * | 2007-07-31 | 2009-02-05 | Gaither Blaine D | Datacenter workload evaluation |
US8671166B2 (en) | 2007-08-09 | 2014-03-11 | Prowess Consulting, Llc | Methods and systems for deploying hardware files to a computer |
US20090043890A1 (en) * | 2007-08-09 | 2009-02-12 | Prowess Consulting, Llc | Methods and systems for deploying hardware files to a computer |
EP2048578A3 (en) * | 2007-09-06 | 2009-08-12 | Dell Products, L.P. | Virtual machine (VM) migration between processor architectures |
US8146098B2 (en) | 2007-09-07 | 2012-03-27 | Manageiq, Inc. | Method and apparatus for interfacing with a computer user via virtual thumbnails |
US20090070781A1 (en) * | 2007-09-07 | 2009-03-12 | Managelq, Inc. | Method and apparatus for interfacing with a computer user via virtual thumbnails |
CN101398770B (en) * | 2007-09-30 | 2013-11-27 | 赛门铁克公司 | System for and method of migrating one or more virtual machines |
US7941510B1 (en) | 2007-10-11 | 2011-05-10 | Parallels Holdings, Ltd. | Management of virtual and physical servers using central console |
US7383327B1 (en) * | 2007-10-11 | 2008-06-03 | Swsoft Holdings, Ltd. | Management of virtual and physical servers using graphic control panels |
US8468230B2 (en) * | 2007-10-18 | 2013-06-18 | Fujitsu Limited | Method, apparatus and recording medium for migrating a virtual machine |
US20090106409A1 (en) * | 2007-10-18 | 2009-04-23 | Fujitsu Limited | Method, apparatus and recording medium for migrating a virtual machine |
US8127291B2 (en) * | 2007-11-02 | 2012-02-28 | Dell Products, L.P. | Virtual machine manager for managing multiple virtual machine configurations in the scalable enterprise |
US20090119664A1 (en) * | 2007-11-02 | 2009-05-07 | Pike Jimmy D | Multiple virtual machine configurations in the scalable enterprise |
US8745230B2 (en) * | 2007-11-21 | 2014-06-03 | Datagardens Inc. | Adaptation of service oriented architecture |
US20090132708A1 (en) * | 2007-11-21 | 2009-05-21 | Datagardens Inc. | Adaptation of service oriented architecture |
US20090138869A1 (en) * | 2007-11-27 | 2009-05-28 | Managelq, Inc. | Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets |
US8924917B2 (en) | 2007-11-27 | 2014-12-30 | Manageiq, Inc. | Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets |
US8407688B2 (en) | 2007-11-27 | 2013-03-26 | Managelq, Inc. | Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets |
US8418173B2 (en) | 2007-11-27 | 2013-04-09 | Manageiq, Inc. | Locating an unauthorized virtual machine and bypassing locator code by adjusting a boot pointer of a managed virtual machine in authorized environment |
US9612919B2 (en) | 2007-11-27 | 2017-04-04 | Manageiq, Inc. | Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets |
GB2467502A (en) * | 2007-11-27 | 2010-08-04 | Manageiq Inc | Compliance-based adaptations in managed virtual systems |
US9292666B2 (en) | 2007-11-27 | 2016-03-22 | Manageiq, Inc | Methods and apparatus for locating an unauthorized virtual machine |
WO2009070654A1 (en) * | 2007-11-27 | 2009-06-04 | Manageiq, Inc. | Compliance-based adaptations in managed virtual systems |
US8185894B1 (en) * | 2008-01-10 | 2012-05-22 | Hewlett-Packard Development Company, L.P. | Training a virtual machine placement controller |
US8332847B1 (en) * | 2008-01-10 | 2012-12-11 | Hewlett-Packard Development Company, L. P. | Validating manual virtual machine migration |
US8423591B2 (en) | 2008-01-31 | 2013-04-16 | Prowness Consulting, LLC | Method and system for modularizing windows imaging format |
US20090217296A1 (en) * | 2008-02-26 | 2009-08-27 | Alexander Gebhart | Benefit analysis of implementing virtual machines |
US8572621B2 (en) * | 2008-03-14 | 2013-10-29 | Nec Corporation | Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria |
US20090235250A1 (en) * | 2008-03-14 | 2009-09-17 | Hiroaki Takai | Management machine, management system, management program, and management method |
US8516481B2 (en) * | 2008-04-04 | 2013-08-20 | Hewlett-Packard Development Company, L.P. | Virtual machine manager system and methods |
WO2009123640A1 (en) * | 2008-04-04 | 2009-10-08 | Hewlett-Packard Development Company, L.P. | Virtual machine manager system and methods |
US20110029974A1 (en) * | 2008-04-04 | 2011-02-03 | Paul Broyles | Virtual Machine Manager System And Methods |
US20090265707A1 (en) * | 2008-04-21 | 2009-10-22 | Microsoft Corporation | Optimizing application performance on virtual machines automatically with end-user preferences |
US20090300635A1 (en) * | 2008-05-30 | 2009-12-03 | James Michael Ferris | Methods and systems for providing a marketplace for cloud-based networks |
US10372490B2 (en) * | 2008-05-30 | 2019-08-06 | Red Hat, Inc. | Migration of a virtual machine from a first cloud computing environment to a second cloud computing environment in response to a resource or services in the second cloud computing environment becoming available |
EP2335162A1 (en) * | 2008-07-31 | 2011-06-22 | Cisco Technology, Inc. | Dynamic distribution of virtual machines in a communication network |
US20100027420A1 (en) * | 2008-07-31 | 2010-02-04 | Cisco Technology, Inc. | Dynamic distribution of virtual machines in a communication network |
WO2010014189A1 (en) | 2008-07-31 | 2010-02-04 | Cisco Technology, Inc. | Dynamic distribution of virtual machines in a communication network |
EP2335162A4 (en) * | 2008-07-31 | 2012-11-07 | Cisco Tech Inc | Dynamic distribution of virtual machines in a communication network |
US8102781B2 (en) * | 2008-07-31 | 2012-01-24 | Cisco Technology, Inc. | Dynamic distribution of virtual machines in a communication network |
US8966038B2 (en) * | 2008-08-28 | 2015-02-24 | Nec Corporation | Virtual server system and physical server selection method |
US20110161483A1 (en) * | 2008-08-28 | 2011-06-30 | Nec Corporation | Virtual server system and physical server selection method |
US10095533B1 (en) * | 2008-10-06 | 2018-10-09 | Veritas Technologies Llc | Method and apparatus for monitoring and automatically reserving computer resources for operating an application within a computer environment |
US11868797B2 (en) | 2008-10-22 | 2024-01-09 | Vmware, Inc. | Methods and systems for converting a related group of physical machines to virtual machines |
US20100100879A1 (en) * | 2008-10-22 | 2010-04-22 | Vmware, Inc. | Methods and systems for converting a related group of physical machines to virtual machines |
US9965314B2 (en) | 2008-10-22 | 2018-05-08 | Vmware, Inc. | Methods and systems for converting a related group of physical machines to virtual machines |
US8572608B2 (en) * | 2008-10-22 | 2013-10-29 | Vmware, Inc. | Methods and systems for converting a related group of physical machines to virtual machines |
US10795712B2 (en) | 2008-10-22 | 2020-10-06 | Vmware, Inc. | Methods and systems for converting a related group of physical machines to virtual machines |
US9311129B2 (en) | 2008-10-22 | 2016-04-12 | Vmware, Inc. | Methods and systems for converting a related group of physical machines to virtual machines |
US20100153946A1 (en) * | 2008-12-17 | 2010-06-17 | Vmware, Inc. | Desktop source transfer between different pools |
US20100153950A1 (en) * | 2008-12-17 | 2010-06-17 | Vmware, Inc. | Policy management to initiate an automated action on a desktop source |
US8046468B2 (en) * | 2009-01-26 | 2011-10-25 | Vmware, Inc. | Process demand prediction for distributed power and resource management |
US20100191854A1 (en) * | 2009-01-26 | 2010-07-29 | Vmware, Inc. | Process demand prediction for distributed power and resource management |
US9519562B2 (en) | 2009-01-26 | 2016-12-13 | Vmware, Inc. | Process demand prediction for distributed power and resource management |
US20100242044A1 (en) * | 2009-03-18 | 2010-09-23 | Microsoft Corporation | Adaptable software resource managers based on intentions |
US9864637B2 (en) * | 2009-03-18 | 2018-01-09 | Microsoft Technology Licensing, Llc | Adaptable software resource managers based on intentions |
US20100241615A1 (en) * | 2009-03-20 | 2010-09-23 | Microsoft Corporation | Mitigation of obsolescence for archival services |
US8554738B2 (en) * | 2009-03-20 | 2013-10-08 | Microsoft Corporation | Mitigation of obsolescence for archival services |
JP2012523620A (en) * | 2009-04-08 | 2012-10-04 | マイクロソフト コーポレーション | Optimized virtual machine migration mechanism |
EP2417534A2 (en) * | 2009-04-08 | 2012-02-15 | Microsoft Corporation | Optimized virtual machine migration mechanism |
EP2417534A4 (en) * | 2009-04-08 | 2012-12-26 | Microsoft Corp | Optimized virtual machine migration mechanism |
US9292320B2 (en) | 2009-04-10 | 2016-03-22 | Microsoft Technology Licensing, Llc | Virtual machine packing method using scarcity |
US20100262964A1 (en) * | 2009-04-10 | 2010-10-14 | Microsoft Corporation | Virtual Machine Packing Method Using Scarcity |
US8464267B2 (en) * | 2009-04-10 | 2013-06-11 | Microsoft Corporation | Virtual machine packing method using scarcity |
US20100281482A1 (en) * | 2009-04-30 | 2010-11-04 | Microsoft Corporation | Application efficiency engine |
US8261266B2 (en) * | 2009-04-30 | 2012-09-04 | Microsoft Corporation | Deploying a virtual machine having a virtual hardware configuration matching an improved hardware profile with respect to execution of an application |
US20100312805A1 (en) * | 2009-05-08 | 2010-12-09 | Noonan Iii Donal Charles | System and method for capturing, managing, and distributing computer files |
US20100306765A1 (en) * | 2009-05-28 | 2010-12-02 | Dehaan Michael Paul | Methods and systems for abstracting cloud management |
US9450783B2 (en) * | 2009-05-28 | 2016-09-20 | Red Hat, Inc. | Abstracting cloud management |
US10988793B2 (en) * | 2009-05-28 | 2021-04-27 | Red Hat, Inc. | Cloud management with power management support |
US20100306767A1 (en) * | 2009-05-29 | 2010-12-02 | Dehaan Michael Paul | Methods and systems for automated scaling of cloud computing systems |
US20120158923A1 (en) * | 2009-05-29 | 2012-06-21 | Ansari Mohamed | System and method for allocating resources of a server to a virtual machine |
US20160328267A1 (en) * | 2009-06-04 | 2016-11-10 | International Business Machines Corporation | System and method to control heat dissipation through service level analysis |
US10592284B2 (en) | 2009-06-04 | 2020-03-17 | International Business Machines Corporation | System and method to control heat dissipation through service level analysis |
US10073717B2 (en) | 2009-06-04 | 2018-09-11 | International Business Machines Corporation | System and method to control heat dissipation through service level analysis |
US10073716B2 (en) * | 2009-06-04 | 2018-09-11 | International Business Machines Corporation | System and method to control heat dissipation through service level analysis |
US10606643B2 (en) | 2009-06-04 | 2020-03-31 | International Business Machines Corporation | System and method to control heat dissipation through service level analysis |
US11093269B1 (en) * | 2009-06-26 | 2021-08-17 | Turbonomic, Inc. | Managing resources in virtualization systems |
EP2270728A1 (en) * | 2009-06-30 | 2011-01-05 | Alcatel Lucent | A method of managing resources, corresponding computer program product, and data storage device therefor |
US8413147B2 (en) | 2009-07-01 | 2013-04-02 | Huawei Technologies Co., Ltd. | Method, apparatus and system for making a decision about virtual machine migration |
US20110099548A1 (en) * | 2009-07-01 | 2011-04-28 | Qingni Shen | Method, apparatus and system for making a decision about virtual machine migration |
US9274852B2 (en) * | 2009-10-01 | 2016-03-01 | Samsung Electronics Co., Ltd | Apparatus and method for managing virtual processing unit |
US20110083134A1 (en) * | 2009-10-01 | 2011-04-07 | Samsung Electronics Co., Ltd. | Apparatus and method for managing virtual processing unit |
US10334482B1 (en) * | 2009-10-16 | 2019-06-25 | EMC IP Holding Company LLC | Self adaptive application and information movement in a cloud environment |
US20110113136A1 (en) * | 2009-11-02 | 2011-05-12 | InMon Corp. | Method and apparatus for combining data associated with hardware resources and network traffic |
US8504686B2 (en) * | 2009-11-02 | 2013-08-06 | InMon Corp. | Method and apparatus for combining data associated with hardware resources and network traffic |
US9245246B2 (en) * | 2010-04-22 | 2016-01-26 | International Business Machines Corporation | Capacity over-commit management in resource provisioning environments |
US20130007272A1 (en) * | 2010-04-22 | 2013-01-03 | International Business Machines Corporation | Capacity over-commit management in resource provisioning environments |
US20120096461A1 (en) * | 2010-10-05 | 2012-04-19 | Citrix Systems, Inc. | Load balancing in multi-server virtual workplace environments |
US8850429B2 (en) * | 2010-10-05 | 2014-09-30 | Citrix Systems, Inc. | Load balancing in multi-server virtual workplace environments |
US8645529B2 (en) | 2010-10-06 | 2014-02-04 | Infosys Limited | Automated service level management of applications in cloud computing environment |
EP2492811A3 (en) * | 2011-02-22 | 2014-04-02 | Fujitsu Limited | Method for changing placement of virtual machine and apparatus for changing placement of virtual machine |
US8850023B2 (en) * | 2011-02-22 | 2014-09-30 | Fujitsu Limited | Method for changing placement of virtual machine and apparatus for changing placement of virtual machine |
US20120216053A1 (en) * | 2011-02-22 | 2012-08-23 | Fujitsu Limited | Method for changing placement of virtual machine and apparatus for changing placement of virtual machine |
CN102681895A (en) * | 2011-03-11 | 2012-09-19 | 北京市国路安信息技术有限公司 | Dynamic self-migrating cloud service method |
US20120246638A1 (en) * | 2011-03-22 | 2012-09-27 | International Business Machines Corporation | Forecasting based service assignment in cloud computing |
US8601483B2 (en) * | 2011-03-22 | 2013-12-03 | International Business Machines Corporation | Forecasting based service for virtual machine reassignment in computing environment |
US10007560B2 (en) * | 2011-05-26 | 2018-06-26 | Vmware, Inc. | Capacity and load analysis using storage attributes |
US20190235930A1 (en) * | 2011-05-26 | 2019-08-01 | Vmware, Inc. | Capacity and load analysis using storage attributes |
US11593179B2 (en) * | 2011-05-26 | 2023-02-28 | Vmware, Inc. | Capacity and load analysis using storage attributes |
US20140317618A1 (en) * | 2011-05-26 | 2014-10-23 | Vmware, Inc. | Capacity and load analysis using storage attributes |
US20140115168A1 (en) * | 2011-07-04 | 2014-04-24 | Fujitsu Limited | Allocation design method and apparatus |
US9542225B2 (en) * | 2011-07-04 | 2017-01-10 | Fujitsu Limited | Method and apparatus for determining allocation design of virtual machines |
EP2737398A1 (en) * | 2011-07-29 | 2014-06-04 | Hewlett-Packard Development Company, L.P. | Migrating virtual machines |
US9594579B2 (en) | 2011-07-29 | 2017-03-14 | Hewlett Packard Enterprise Development Lp | Migrating virtual machines |
EP2737398A4 (en) * | 2011-07-29 | 2015-01-07 | Hewlett Packard Development Co | Migrating virtual machines |
US20130047158A1 (en) * | 2011-08-16 | 2013-02-21 | Esds Software Solution Pvt. Ltd. | Method and System for Real Time Detection of Resource Requirement and Automatic Adjustments |
US9176788B2 (en) * | 2011-08-16 | 2015-11-03 | Esds Software Solution Pvt. Ltd. | Method and system for real time detection of resource requirement and automatic adjustments |
US9495215B2 (en) * | 2011-10-12 | 2016-11-15 | International Business Machines Corporation | Optimizing virtual machines placement in cloud computing environments |
US20130097601A1 (en) * | 2011-10-12 | 2013-04-18 | International Business Machines Corporation | Optimizing virtual machines placement in cloud computing environments |
US10719343B2 (en) | 2011-10-12 | 2020-07-21 | International Business Machines Corporation | Optimizing virtual machines placement in cloud computing environments |
CN103106115A (en) * | 2011-11-10 | 2013-05-15 | 财团法人资讯工业策进会 | Virtual resource adjusting device and virtual resource adjusting device method |
US20130125116A1 (en) * | 2011-11-10 | 2013-05-16 | Institute For Information Industry | Method and Device for Adjusting Virtual Resource and Computer Readable Storage Medium |
US20130152076A1 (en) * | 2011-12-07 | 2013-06-13 | Cisco Technology, Inc. | Network Access Control Policy for Virtual Machine Migration |
US20130159997A1 (en) * | 2011-12-14 | 2013-06-20 | International Business Machines Corporation | Application initiated negotiations for resources meeting a performance parameter in a virtualized computing environment |
US8694996B2 (en) * | 2011-12-14 | 2014-04-08 | International Business Machines Corporation | Application initiated negotiations for resources meeting a performance parameter in a virtualized computing environment |
US8904404B2 (en) | 2011-12-14 | 2014-12-02 | International Business Machines Corporation | Estimating migration costs for migrating logical partitions within a virtualized computing environment based on a migration cost history |
US8863141B2 (en) | 2011-12-14 | 2014-10-14 | International Business Machines Corporation | Estimating migration costs for migrating logical partitions within a virtualized computing environment based on a migration cost history |
US8694995B2 (en) * | 2011-12-14 | 2014-04-08 | International Business Machines Corporation | Application initiated negotiations for resources meeting a performance parameter in a virtualized computing environment |
US20130160008A1 (en) * | 2011-12-14 | 2013-06-20 | International Business Machines Corporation | Application initiated negotiations for resources meeting a performance parameter in a virtualized computing environment |
US9229764B2 (en) | 2011-12-14 | 2016-01-05 | International Business Machines Corporation | Estimating migration costs for migrating logical partitions within a virtualized computing environment based on a migration cost history |
US9110705B2 (en) | 2011-12-14 | 2015-08-18 | International Business Machines Corporation | Estimating migration costs for migrating logical partitions within a virtualized computing environment based on a migration cost history |
EP2608027A3 (en) * | 2011-12-19 | 2014-07-16 | VMWare, Inc. | Managing resource utilization within a cluster of computing devices |
US9146763B1 (en) | 2012-03-28 | 2015-09-29 | Google Inc. | Measuring virtual machine metrics |
US9742617B2 (en) * | 2012-06-18 | 2017-08-22 | Empire Technology Development Llc | Virtual machine migration in a cloud fabric |
US20130339527A1 (en) * | 2012-06-18 | 2013-12-19 | Empire Technology Development Llc | Virtual machine migration in a cloud fabric |
KR101859115B1 (en) * | 2012-06-18 | 2018-05-17 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | Virtual machine migration in a cloud fabric |
US9256469B2 (en) * | 2013-01-10 | 2016-02-09 | International Business Machines Corporation | System and method for improving memory usage in virtual machines |
US9836328B2 (en) | 2013-01-10 | 2017-12-05 | International Business Machines Corporation | System and method for improving memory usage in virtual machines at a cost of increasing CPU usage |
US20140196049A1 (en) * | 2013-01-10 | 2014-07-10 | International Business Machines Corporation | System and method for improving memory usage in virtual machines |
US9430289B2 (en) | 2013-01-10 | 2016-08-30 | International Business Machines Corporation | System and method improving memory usage in virtual machines by releasing additional memory at the cost of increased CPU overhead |
US9118984B2 (en) | 2013-03-15 | 2015-08-25 | International Business Machines Corporation | Control plane for integrated switch wavelength division multiplexing |
US9590923B2 (en) | 2013-03-15 | 2017-03-07 | International Business Machines Corporation | Reliable link layer for control links between network controllers and switches |
US9503382B2 (en) | 2013-03-15 | 2016-11-22 | International Business Machines Corporation | Scalable flow and cogestion control with openflow |
US9407560B2 (en) | 2013-03-15 | 2016-08-02 | International Business Machines Corporation | Software defined network-based load balancing for physical and virtual networks |
US9596192B2 (en) | 2013-03-15 | 2017-03-14 | International Business Machines Corporation | Reliable link layer for control links between network controllers and switches |
US9609086B2 (en) | 2013-03-15 | 2017-03-28 | International Business Machines Corporation | Virtual machine mobility using OpenFlow |
US9614930B2 (en) | 2013-03-15 | 2017-04-04 | International Business Machines Corporation | Virtual machine mobility using OpenFlow |
US9444748B2 (en) | 2013-03-15 | 2016-09-13 | International Business Machines Corporation | Scalable flow and congestion control with OpenFlow |
US9769074B2 (en) | 2013-03-15 | 2017-09-19 | International Business Machines Corporation | Network per-flow rate limiting |
US9110866B2 (en) | 2013-03-15 | 2015-08-18 | International Business Machines Corporation | OpenFlow controller master-slave initialization protocol |
WO2014141007A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Virtual machine migration in a network |
US9104643B2 (en) | 2013-03-15 | 2015-08-11 | International Business Machines Corporation | OpenFlow controller master-slave initialization protocol |
US20150058966A1 (en) * | 2013-08-23 | 2015-02-26 | Telefonaktiebolaget L M Ericsson (Publ) | Method and Apparatus for Virtual Firewalling in a Wireless Communication Network |
US9882874B2 (en) * | 2013-08-23 | 2018-01-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for virtual firewall migration in a wireless communication network |
US20150081400A1 (en) * | 2013-09-19 | 2015-03-19 | Infosys Limited | Watching ARM |
US9628550B1 (en) * | 2013-10-24 | 2017-04-18 | Ca, Inc. | Lightweight software management shell |
US10020981B2 (en) | 2013-10-24 | 2018-07-10 | Ca, Inc. | Lightweight software management shell |
US10581663B2 (en) | 2013-10-24 | 2020-03-03 | Ca, Inc. | Lightweight software management shell |
US10996945B1 (en) * | 2014-09-17 | 2021-05-04 | Amazon Technologies, Inc. | Splitting programs into distributed parts |
US11182713B2 (en) | 2015-01-24 | 2021-11-23 | Vmware, Inc. | Methods and systems to optimize operating system license costs in 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 |
US11200526B2 (en) | 2015-01-24 | 2021-12-14 | Vmware, Inc. | Methods and systems to optimize server utilization for a virtual data center |
US11182718B2 (en) | 2015-01-24 | 2021-11-23 | Vmware, Inc. | Methods and systems to optimize server utilization for a virtual data center |
CN107430518A (en) * | 2015-03-27 | 2017-12-01 | 英特尔公司 | Technology for virtual machine (vm) migration |
US9940393B2 (en) | 2015-06-03 | 2018-04-10 | International Business Machines Corporation | Electronic personal assistant privacy |
US9946564B2 (en) | 2015-06-23 | 2018-04-17 | International Business Machines Corporation | Adjusting virtual machine migration plans based on alert conditions related to future migrations |
US11455183B2 (en) | 2015-06-23 | 2022-09-27 | International Business Machines Corporation | Adjusting virtual machine migration plans based on alert conditions related to future migrations |
US9928100B2 (en) | 2015-06-23 | 2018-03-27 | International Business Machines Corporation | Adjusting virtual machine migration plans based on alert conditions related to future migrations |
US20170063644A1 (en) * | 2015-08-28 | 2017-03-02 | Vmware, Inc. | Placement of devices based on policies and benchmark data |
US10644965B2 (en) * | 2015-08-28 | 2020-05-05 | Vmware, Inc. | Placement of devices based on policies and benchmark data |
US10395219B1 (en) * | 2015-12-18 | 2019-08-27 | Amazon Technologies, Inc. | Location policies for reserved virtual machine instances |
CN108073449A (en) * | 2017-11-21 | 2018-05-25 | 山东科技大学 | A kind of virtual machine dynamic laying method |
US10713080B1 (en) * | 2018-07-25 | 2020-07-14 | Amazon Technologies, Inc. | Request-based virtual machine memory transitioning in an on-demand network code execution system |
CN109189574A (en) * | 2018-08-16 | 2019-01-11 | 郑州云海信息技术有限公司 | A kind of load equilibration scheduling method and system based on virtualization memory load monitoring |
US11064018B1 (en) * | 2020-01-15 | 2021-07-13 | Vmware, Inc. | Incorporating software defined networking resource utilization in workload placement |
US20200287813A1 (en) * | 2020-04-16 | 2020-09-10 | Patrick KUTCH | Method and apparatus for workload feedback mechanism facilitating a closed loop architecture |
Also Published As
Publication number | Publication date |
---|---|
US20080222638A1 (en) | 2008-09-11 |
US8601471B2 (en) | 2013-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8601471B2 (en) | Dynamically managing virtual machines | |
US10866840B2 (en) | Dependent system optimization for serverless frameworks | |
US20200287961A1 (en) | Balancing resources in distributed computing environments | |
Khanna et al. | Application performance management in virtualized server environments | |
US12021885B2 (en) | Aggregating results from multiple anomaly detection engines | |
US8255907B2 (en) | Managing virtual machines based on business priority | |
US11294758B2 (en) | Automated methods and systems to classify and troubleshoot problems in information technology systems and services | |
KR100837026B1 (en) | Computer resource allocating method | |
US7890712B2 (en) | Method, apparatus and program product for managing memory in a virtual computing system | |
US20150172204A1 (en) | Dynamically Change Cloud Environment Configurations Based on Moving Workloads | |
US20080263206A1 (en) | Method for reducing variability and oscillations in load balancing recommendations using historical values and workload metrics | |
US7133994B2 (en) | Configuration size determination in logically partitioned environment | |
CN109614227B (en) | Task resource allocation method and device, electronic equipment and computer readable medium | |
US11093288B2 (en) | Systems and methods for cluster resource balancing in a hyper-converged infrastructure | |
US10198295B2 (en) | Mechanism for controlled server overallocation in a datacenter | |
US20200151026A1 (en) | Workload management with data access awareness using an ordered list of hosts in a computing cluster | |
CN114461335A (en) | Elastic expansion method, device and equipment for virtual machine and container in cloud computing environment | |
Li et al. | PageRankVM: A pagerank based algorithm with anti-collocation constraints for virtual machine placement in cloud datacenters | |
US7904564B2 (en) | Method and apparatus for migrating access to block storage | |
US10394612B2 (en) | Methods and systems to evaluate data center performance and prioritize data center objects and anomalies for remedial actions | |
US10990519B2 (en) | Multi-tenant cloud elastic garbage collector | |
Chen et al. | Towards resource-efficient cloud systems: Avoiding over-provisioning in demand-prediction based resource provisioning | |
Giannakopoulos et al. | Smilax: statistical machine learning autoscaler agent for Apache Flink | |
US11184219B2 (en) | Methods and systems for troubleshooting anomalous behavior in a data center | |
Tung | Defining a cloud reference model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BEATY, KIRK A.;BOBROFF, NORMAN;KAR, GAUTAM;AND OTHERS;REEL/FRAME:017321/0063 Effective date: 20060227 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: SERVICENOW, INC., CALIFORNIA Free format text: CONVEYOR IS ASSIGNING ALL INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:045040/0710 Effective date: 20180102 |