1. A machine-readable medium for allocating resources to a first apparatus, the machine readable medium storing instructions which, when executed by one or more processors, cause performance of the steps of: determining that a first resource, which satisfies a first resource requirement for said first apparatus, is not available; determining that a second resource, which is currently allocated to a second apparatus, satisfies said first resource requirement; determining that said second resource satisfies a second resource requirement for said second apparatus; determining that said second resource requirement is a preemptable resource requirement characterized in that resources that currently satisfy said second resource requirement may be de-allocated from said second apparatus; identifying an alternative resource requirement to said second resource requirement; de-allocating said second resource from said second apparatus; allocating said second resource to said first apparatus; determining that a third resource, which satisfies said alternative resource requirement, is available; allocating said third resource to said second apparatus; establishing a first value for a first attribute that is associated with said first resource requirement; establishing a second value for a second attribute that is associated with said second resource requirement; establishing a third value for a third attribute that is associated with said alternative resource requirement; based on de-allocating said second resource from said second apparatus and allocating said third resource to said second apparatus: changing said first value for said first attribute to a fourth value; changing said second value for said second attribute to a fifth value; and changing said third value for said third attribute to a sixth value, wherein the first apparatus and the second apparatus each comprise at least one networked computer system.