Server virtualization infrastructure includes the hypervisor, VM and virtual machine monitors (VMMs). The key to “virtualizing” a server is the hypervisor. A hypervisor is a layer of software (the term “software” can mean preloaded software that runs in a protected area or microcode/firmware, depending on the implementation) that runs directly on hardware and allows the definition of fixed partitions with predefined priorities for accessing hardware resources. These partitions are incomplete VMs because they prioritize, but do not share, all hardware resources. To support flexible configuration, a hypervisor in general is implemented with a VMM. The VMM virtualizes all hardware needed for VMs to run. Most products currently labeled hypervisors bundle a VMM.