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:
allocationallocation Description:
Encapsulates data required to describe an allocation.Parent:
executeDataChildren:
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:
allocationexecuteData 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:
allocationvirtualUsed Description:
Virtual capacity to allocate to each consumer in the consumerTargetSet node.Parent:
allocationExample
<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
Top of Page
) 1999-2002 Microsoft Corporation. All rights reserved.