BlockModelRMO::Allocate


Allocates one or more consumers to a set of resource instances. Used by Microsoft. Provisioning Framework (MPF).

XML Input Schema

The following code fragment shows the format for sending data to this procedure. For more information on individual elements and attributes, see the Elements and Attributes table.

<executeData>1..1
  <allocation>1..1
	<resourceTargetSet>1..1</resourceTargetSet>
	<consumerTargetSet>1..1</consumerTargetSet>
	<actualUsed>0..1</actualUsed>
	<virtualUsed>0..1</virtualUsed>
  </allocation>
</executeData>

XML Output Schema

Allocate does not return data.

Elements and Attributes

The following table describes the XML schema elements and attributes. Unless otherwise indicated, the data type is string.

Element Description, relationships, and attributes
actualUsed Description:
Actual capacity to allocate to each consumer in the consumerTargetSet node.

If the fill ratio (fillRatio) exists for a resource instance, but an allocation (actualUsed) is not specified, it will be calculated from the virtual allocation (virtualUsed) using the following formula.

actualUsed = ceiling(virtualUsed * fillRatio / 100)

Parent:
allocation

allocation Description:
Encapsulates data required to describe an allocation.

Parent:
executeData

Children:
actualUsed (minOccurs="0" maxOccurs="1")
consumerTargetSet
(minOccurs="1" maxOccurs="1")
resourceTargetSet (minOccurs="1" maxOccurs="1")
virtualUsed
(minOccurs="0" maxOccurs="1")

consumerTargetSet Description:
Candidate set containing consumers to allocate.

Parent:
allocation

executeData Description:
Encapsulates the procedure's input data.

Child:
allocation (minOccurs="1" maxOccurs="1")

resourceTargetSet Description:
Set of resources to allocate consumers to. To be considered for allocation, the resource in this candidate set must have been assigned a rank.

Parent:
allocation

virtualUsed Description:
Virtual capacity to allocate to each consumer in the consumerTargetSet node.

Parent:
allocation

Example

<request>
  <data/>
  <procedure>  
	<execute procedure="Add Resource to Candidates" namespace="CoreRMO"> 
	<executeData>
		<candidates>
		<targetSet>serverSet</targetSet>
		<!-- need to provide a rank before allocating -->
		<rank>1</rank> 
		</candidates>
		<resourceInstance>
		<instanceName>iis-1</instanceName>
		<instanceLocation>Lab A, Building B</instanceLocation>
		<typeName>IISServer</typeName>
		</resourceInstance>
	</executeData>
	</execute>
	<execute procedure="Add Consumer to Candidates" namespace="CoreRMO"> 
	<executeData>
		<candidates>
		<targetSet>siteSet</targetSet>
		</candidates>
		<consumerInstance>
		<instanceName>tailspintoys.com</instanceName>
		<typeName>Website</typeName>
		</consumerInstance>
	</executeData>
	</execute>
	<execute procedure="Allocate" namespace="BlockModelRMO">
	<executeData>
		<allocation>
		<resourceTargetSet>serverSet</resourceTargetSet>
		<consumerTargetSet>siteSet</consumerTargetSet>
		<actualUsed>1</actualUsed>
		</allocation>
	</executeData>
	</execute>
  </procedure>
</request>

Remarks

The allocation process evaluates each consumer and attempts to allocate it to the highest-ranked resource instance. If that resource is already fully allocated, the function tries the next highest-ranked resource instance, and so on, for all resource instances and all consumers. If there are multiple resources with the same rank, consumers are allocated to the first resource of that rank that has sufficient capacity.

This function will fail if there are no ranked resources in the resource set, or if there are not enough resources in the resource set to allocate to all the consumers in the consumer set. On failure, all pending allocations are rolled back.

See Also

BlockModelRMO Provider, Delete Allocation, Move Allocation, Resource Manager, Update Allocation


Up Top of Page
) 1999-2002 Microsoft Corporation. All rights reserved.