[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Introducing Performance Constraints
Bruce’s comments in http://tools.oasis-open.org/issues/browse/EMIX-293 have encouraged me to develop a generic performance constraints collection, that can be applied to a resource offering or to a contract. Performance constraints define the maximum or minimum times that a resource can be invoked. They are all of the format count/duration. They can be stacked in any way that makes sense to the participants (For example, one could apply the MaximumCalls type three times to the same resource: You may call on this resource no more than once every 30 minutes, no more than twice in any 6 hour period, and no more than 4 times per day) or is allowed by market rules. I think Performance Constraints are not part of the Resource Description: the same resource could be offered to the market with different constraints for different prices… (If you are going to turn me off more than once a week, you had better dig deep…). Performance constraints may be tied to non-equipment issues, such as maximum interruptions of business process associated with the underlying request. I think Performance Constraints are not part of EMIX Terms, because EMIX Terms are at the heart of Warrants, and Transport, and I think they apply to neither. This means that I think that it belongs on the outside of the envelope. I think constraints are also used in EI as part of the registration communication. <!-- 8.8 Performance Constraints --> <xs:element name="performanceConstraints" type="PerformanceConstraintType"> <xs:complexType name="PerformanceConstraintsType"> <xs:annotation> <xs:documentation>Performance constraints describe temporal constraints that determine how a resource is able to provide a service, or to provide a resources repeatedly.It is possible for a given underlying resource to be offered to the market with different constraints and therefor different values.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element ref="emix:baseConstraint" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- 8.9 Constraint Types --> <xs:element name="maximumCalls" type="emix:MaximumCallsType"/> <xs:complexType name="MaximumCallsType" mixed="false"> <xs:annotation> <xs:documentation>The resource will only accept a given number of requests for performance during a given interval</xs:documentation> </xs:annotation> <xs:complexContent mixed="false"> <xs:extension base="emix:BaseConstraintType"/> </xs:complexContent> </xs:complexType> <xs:element name="maximumConsecutiveDurationsType" type="emix:MaximumConsecutiveDurationsType"/> <xs:complexType name="MaximumConsecutiveDurationsType" mixed="false"> <xs:annotation> <xs:documentation>The resource will only accept requests for performance during a given number of consecutive intervals, i.e., it will not accept requests on more than 3 consecutive days.</xs:documentation> </xs:annotation> <xs:complexContent mixed="false"> <xs:extension base="emix:BaseConstraintType"/> </xs:complexContent> </xs:complexType> <xs:element name="maximumDuration" type="emix:MaximumDurationType"/> <xs:complexType name="MaximumDurationType" mixed="false"> <xs:annotation> <xs:documentation>The longest Duration for which the resource will accept a request.</xs:documentation> </xs:annotation> <xs:complexContent mixed="false"> <xs:extension base="emix:BaseConstraintType"/> </xs:complexContent> </xs:complexType> <xs:element name="maximumRequests" type="emix:MaximumRequestsType"/> <xs:complexType name="MaximumRequestsType" mixed="false"> <xs:annotation> <xs:documentation>The most Requests that the resource will accept during any duration.</xs:documentation> </xs:annotation> <xs:complexContent mixed="false"> <xs:extension base="emix:BaseConstraintType"/> </xs:complexContent> </xs:complexType> <xs:element name="minimumRequests" type="emix:MinimumRequestsType"/> <xs:complexType name="MinimumRequestsType" mixed="false"> <xs:annotation> <xs:documentation>The fewest Requests that the resource will accept during any duration. This constraint is typically used in makrket rather than in resource descriptions.</xs:documentation> </xs:annotation> <xs:complexContent mixed="false"> <xs:extension base="emix:BaseConstraintType"/> </xs:complexContent> </xs:complexType> <xs:element name="baseConstraint" type="emix:BaseConstraintType"/> <xs:complexType name="BaseConstraintType"> <xs:all> <xs:element name="duration" type="xcal:DurationPropType"/> <xs:element name="count" type="xs:integer"/> </xs:all> </xs:complexType> “It is difficult to get a man to understand something, when his salary depends upon his not understanding it” -- Upton Sinclair.
|
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]