# US 2008/0189700 A1 · Admission Control for Virtual Machine Cluster

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2008/0189700 A1
- Document ID: US20080189700A1
- Status: Published application
- Kind: A1
- Application number: 12/017,258
- Filed: 2008-01-21
- Published: 2008-08-07
- Earliest claimed: 2007-02-02
- Assignees: VMware, Inc.
- Inventors: Rene W. Schmidt; Sridhar Rajagopal
- Web page: https://patentgrep.com/patent/US20080189700A1

## CPC

- G06F 11/203: {using migration}
- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 11/1084: {Degraded mode, e.g. caused by single or multiple storage removals or disk failures}
- G06F 11/2033: {switching over of hardware resources}
- G06F 11/2035: {without idle spare hardware}
- G06F 11/2046: {where the redundant components share persistent storage (G06F11/2043 takes precedence)}
- G06F 12/08: in hierarchically structured memory systems, e.g. virtual memory systems
- G06F 2009/45587: {Isolation or security of virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

One embodiment of the present invention is a system including: (a) plural virtualization systems configured as a cluster; (b) a failover system that, responsive to an interruption of, or on, a particular one of the virtualization systems, transitions at least one virtual machine to another virtualization system of the cluster and resumes thereon computations of the transitioned virtual machine; and (c) a management system that tracks, for each virtual machine, a set of resource requirements, the management system admitting virtual machine computations to the cluster based on an admission control policy that, consonant with the resource requirements of virtual machines provisioned to any particular set of virtualization systems, assures sufficient excess capacity on other virtualization systems of the cluster to support, in the event of interruption of the particular set, transition of all virtual machines operative thereon to the other virtualization systems of the cluster.

## Claims

### Claim 1

A system comprising:
plural virtualization systems configured as a cluster;
a failover system that, responsive to an interruption of, or on, a particular one of the virtualization systems, transitions at least one virtual machine to another virtualization system of the cluster and resumes thereon computations of the transitioned virtual machine; and
a management system that tracks, for each virtual machine, a set of resource requirements, the management system admitting virtual machine computations to the cluster based on an admission control policy that, consonant with the resource requirements of virtual machines provisioned to any particular set of virtualization systems, assures sufficient excess capacity on other virtualization systems of the cluster to support, in the event of interruption of the particular set, transition of all virtual machines operative thereon to the other virtualization systems of the cluster.

### Claim 2 (depends on 1)

The system of claim 1,
wherein the resource requirements include both computational and memory requirements.

### Claim 3 (depends on 1)

The system of claim 1,
wherein the admission control policy conservatively estimates, for each resource requirement, a worst case capacity sufficient to support the most resource intense virtual machine operative in the cluster, and based on the estimated worst case capacity requirements admits new virtual machine computations only if sufficient excess capacity exists on the virtualization systems of the cluster to support, in the event of interruption of the particular set of virtualization systems, all virtual machines operative thereon.

### Claim 4 (depends on 1)

The system of claim 1, wherein the particular set is selected based on one or more of:
number of interruptions or failures to be tolerated; and
specialized resources and/or connectivity of any particular virtualization system of the cluster.

### Claim 5 (depends on 1)

The system of claim 1,
wherein the particular set numbers at least one; and
wherein the particular set includes at least the most heavily provisioned virtualization system.

### Claim 6 (depends on 1)

The system of claim 1,
wherein the particular set is sufficient to span multiple virtualization system failures.

### Claim 7 (depends on 1)

The system of claim 1, further comprising:
storage accessible to each virtualization system of the cluster, wherein for each virtual machine the storage presents an encapsulated representation of virtual machine state including at least a description of the hardware system virtualized and backing state.

### Claim 8 (depends on 7)

The system of claim 7,
wherein each of the encapsulated representations are distinct from, and are not commingled with, each other.

### Claim 9 (depends on 7)

The system of claim 7,
wherein the storage presents each encapsulated representations as a respective storage volume configured for exclusive block level access in connection with operation of its corresponding virtual machine.

### Claim 10 (depends on 7)

The system of claim 7,
wherein at least some of the encapsulated representations further encode state of one or more virtualized storage resources employed by the corresponding virtual machine.

### Claim 11 (depends on 7)

The system of claim 7,
wherein at least some of the encapsulated representations further encode one or more snapshots of virtual machine state in addition to a current state.

### Claim 12 (depends on 7)

The system of claim 7,
wherein the storage includes a storage area network (SAN); and
wherein the storage unit is provisioned and maintained as a storage unit of the SAN.

### Claim 13 (depends on 7)

The system of claim 7,
wherein the storage is configured as network attached storage (NAS) or is interfaced using a small computer systems interface over TCP/IP (iSCSI) protocol.

### Claim 14 (depends on 1)

The system of claim 1, wherein the failover system includes:
an availability agent associated with each virtualization system of the cluster, wherein respective availability agents maintain identifiers for respective representations of virtual machine state for at least those ones of the virtual machines which the associated virtualization system may be called upon to continue computations.

### Claim 15 (depends on 1)

The system of claim 1,
wherein the virtualization systems each execute on an underlying hardware platform; and
wherein the interruption includes one or more of:
a failure of the underlying hardware platform or connectivity of the underlying hardware platform with a network, device or resource;
a failure of the particular virtualization system, and
a failure of the virtual machine to be transitioned.

### Claim 16 (depends on 1)

The system of claim 1,
wherein the interruption includes scheduled or unscheduled power down of the virtual machine to be transitioned, of the particular virtualization system or of an underlying hardware platform.

### Claim 17

A high-availability cluster of virtualization systems in which failover is supported at least in part by an admission control system that tracks, for each virtual machine, a set of resource requirements and admitting virtual machine computations to the cluster based on an admission control policy that, consonant with the resource requirements of virtual machines provisioned to any particular set of the virtualization systems, and that assures sufficient excess capacity on other virtualization systems of the cluster to support, in the event of failure of the particular set, the re-instantiation and resumption of all virtual machines operative thereon on the other virtualization systems of the cluster.

### Claim 18 (depends on 17)

The high-availability cluster of claim 17, further comprising:
a storage system that maintains, for each of the virtual machines, an encapsulated representation of virtual machine state, including at least a description of the hardware system virtualized together with backing state therefor, in storage accessible to each virtualization system of the cluster.

### Claim 19 (depends on 18)

The high-availability cluster of claim 18, further comprising:
a failover system that, re-instantiates in response to a virtualization system failure and based on the respective descriptions of hardware systems virtualized, one or more virtual machines and resumes respective computations thereof based on the respective backing states.

### Claim 20

A method of managing virtual machines in a cluster of virtualization systems, the method comprising:
tracking, for each virtual machine, a set of resource requirements;
admitting virtual machine computations to the cluster based on an admission control policy that, consonant with the resource requirements of virtual machines provisioned to any particular set of virtualization systems, assures sufficient excess capacity on other virtualization systems of the cluster to support, in the event of interruption of the particular set, transition of all virtual machines operative thereon to the other virtualization systems of the cluster; and
responsive to an interruption of, or on, a particular one of the virtualization systems, transitioning at least one affected virtual machine to another virtualization system of the cluster and resuming thereon computations of the transitioned virtual machine.

### Claim 21 (depends on 20)

The method of claim 20, further comprising:
estimating, for each resource requirement, a worst case capacity sufficient to support the most resource intense virtual machine operative in the cluster, and basing the admitting on the estimated worst case capacity requirements.

### Claim 22 (depends on 20)

The method of claim 20, further comprising:
maintaining, for each virtual machine executing on a virtualization system of the cluster, an encapsulated representation of virtual machine state in storage accessible to each virtualization system of the cluster, wherein the virtual machine state includes at least a description of a hardware system virtualized and an image of virtualized memory state for the corresponding virtual machine,
wherein the transitioning is based on state encoded by a corresponding one of the virtual machine states represented in the storage.

### Claim 23 (depends on 22)

The method of claim 22,
wherein the transitioning is in response to an interruption of, or on, a particular one of the virtualization systems.

### Claim 24 (depends on 22)

The method of claim 22,
wherein the encapsulated representations are distinct from, and are not commingled with, each other, and
further comprising configuring respective ones of the encapsulated representations for exclusive block level access in connection with operation of a corresponding one of the virtual machines.

### Claim 25

A computer program product encoded in one or more computer readable media, the product comprising:
provisioning system code executable in association with respective virtualization systems of a cluster, the provisioning system code including an instruction sequence executable to track, for each virtual machine, a set of resource requirements and to admit virtual machine computations to the cluster based on an admission control policy that, consonant with the resource requirements of virtual machines provisioned to any particular set of virtualization systems, assures sufficient excess capacity on other virtualization systems of the cluster to support, in the event of interruption of the particular set, failover of all virtual machines operative thereon to the other virtualization systems of the cluster; and
the provisioning system code further including interface code executable to propagate failover target information for admitted virtual machine computations to respective failover agents executing in conjunction with respective virtualization systems of the cluster.

### Claim 26 (depends on 25)

The computer program product of claim 25, wherein the computer readable media are selected from the set of a disk, tape or other magnetic, optical or electronic storage medium.

### Claim 27 (depends on 25)

The computer program product of claim 25, at least transiently encoded in the computer readable media in connection with transmission via network, wire line, wireless or other communications.
