Appearance
Jump Event Types Object Reference
Demand
This Demand object defines a change to service demand.
json
{
"EventType":"Demand",
"EventId":"1",
"TriggerTime": 2,
"DemandChangeType": "AbsoluteTransitory",
"DemandPercent": 20,
"TransitoryDurationMonths": 2,
}
INFO
The code example represents a 20% jump in demand, at 2 years, which is reversed 2 months later because the demand spike is consider transitory (e.g., seasonal demand).
Attributes
EventType - string - required
Jump Event object of type Demand.
EventId - integer - required
Unique number to identify jump event.
TriggerTime - numeric - required
Future time in time-series when jump event is invoked.
DemandChangeType - string - required
Type of demand change.
Demand Change Type Codes
Code | Description |
---|---|
Percentage | Modifies the continuous service demand rate indicated in the ServiceDemandGrowthPercent property. |
AbsolutePermanent | A single, permanent change to absolute service demand (i.e., a linear transformation) |
AbsoluteTransitory | A transitory change to absolute service demand that involves a second change to reverse the first change at a specified time (e.g., seasonal demand). |
TransitoryDurationMonths - numeric - optional
Time when absolute transitory change event is reversed. Valid only when DemandChangeType property is 'AbsoluteTransitory'.
Performance
This Performance object defines a change to server performance.
json
{
"EventType":"Performance",
"EventId":"1",
"TriggerTime": 2,
"PerformanceType": "Server",
"PerformanceJumpPercent": 100,
}
INFO
The code example represents a 100% jump in performance at 2 years from the model run date. All new servers added at 2 years and later will have this performance rating, unless a subsequent performance jump event exists.
Attributes
EventType - string - required
Jump Event object of type Performance.
EventId - integer - required
Unique number to identify jump event.
TriggerTime - numeric - required
Future time in time-series when jump event is invoked.
PerformanceType - string - required
Scope of performance change.
Performance Type Codes
Code | Description |
---|---|
Server | Modifies the performance rating of a new server added to pool. |
Pool | Modifies the performance rating of all existing servers in pool. |
PerformanceJumpPercent - numeric - optional
Percentage to adjust server performance/efficiency rating in ServerUnitCapacity property.
Process
This Process object injects an interval into the time-series output at the trigger time with no required state change. Three properties provide options by which certain transactional server inventory behavior may be introduced.
json
{
"EventType": "Process",
"EventId": "6",
"TriggerTime": 1.75,
"AttemptServerReplacement": false,
"ReplacePercentageOfServers": null,
"IgnoreReplacementExchangeRate": false,
}
INFO
The code example does nothing other than trigger a new interval.
Attributes
EventType - string - required
Jump Event object of type Process.
EventId - integer - required
Unique number to identify jump event.
TriggerTime - numeric - required
Future time in time-series when jump event is invoked.
AttemptServerReplacement - boolean - optional
Instructs simulation engine to attempt forcing a target server replacement rate at trigger time. Default value is false;
ReplacePercentageOfServers - numeric - optional
Percentage of servers to replace. Reaching the desired percentage is not guaranteed.
IgnoreReplacementExchangeRate - boolean - optional
Feasible remove/add transactions only occur if the exchange is deemed beneficial. A value set to 'true', will ignore this rule.
Configuration
This Configuration object modifies the NewServerConfiguration object. All added servers at or after the trigger time will be set to this configuration.
TIP
To change the performance rating of this new server configuration, add a Performance jump event with PerformanceType property set to 'Server' with the same trigger time.
json
{
"EventType": "Configuration",
"EventId": "2",
"TriggerTime": 2.25,
"ServerUnitCapacity": "130",
"ServerUnitCost": "10000",
"ProcessorSetSize": "2",
"CoreSetSize": "12",
"ServerWatts": "435",
"ServerSize": 1
}
INFO
The code example defines a new server configuration at 2.25 years.
Attributes
EventType - string - required
Jump Event object of type Configuration.
EventId - integer - required
Unique number to identify jump event.
TriggerTime - numeric - required
Future time in time-series when jump event is invoked.
ServerUnitCapacity - numeric - required
Scalar value indicating server's relative efficiency rating.
ServerUnitCost - numeric - required
Unit cost of server added to inventory.
ProcessorSetSize - integer - required
Quantity of physical processors contained in a server's cpu socket.
CoreSetSize - integer - required
Quantity of cores contained in physical processor.
ServerWatts - integer - required
Electrical power consumption rating in watts.
ServerSize - integer - required
Represents a "rack unit." Valid values are 1,2,4.
Utilization Boundaries
This UtilizationBoundaries object modifies the upper and/or lower percentages in the EvolutionRules object.
json
{
"EventType":"UtilizationBoundaries",
"EventId":"1",
"TriggerTime":"1.00",
"PoolUtilizationBoundaryPercentLower": "63.5",
"PoolUtilizationBoundaryPercentUpper": "65.5",
}
Attributes
EventType - string - required
Jump Event object of type UtilizationBoundaries.
EventId - integer - required
Unique number to identify jump event.
TriggerTime - numeric - required
Future time in time-series when jump event is invoked.
ServerUtilizationPercentBase - numeric - required
Targeted aggregate minimum utilization percent for pool.
ServerUtilizationPercentPeak - numeric - required
Targeted aggregate maximum utilization percent for pool.
Software Stack Add
This SoftwareStackAdd object adds one or more software items to the software stack.
json
{
"EventType": "SoftwareStackAdd",
"EventId": "1",
"TriggerTime": 2.0,
"LicenseIds": [5]
}
INFO
The code example adds SoftwareItemTerms object, with LicenseId property value of 5, to the software stack at 2 years.
Attributes
EventType - string - required
Jump Event object of type SoftwareStackAdd.
EventId - integer - required
Unique number to identify jump event.
TriggerTime - numeric - required
Future time in time-series when jump event is invoked.
LicenseIds - integer list - required
One or more license ids.
WARNING
When adding software to the software stack, the LicenseIds property value(s) must have a corresponding SoftwareItemTerms object(s) in the SoftwareResources object.
Software Stack Remove
This SoftwareStackRemove object removes one or more software items from the software stack.
json
{
"EventType": "SoftwareStackRemove",
"EventId": "1",
"TriggerTime": 2.0,
"LicenseIds": [2]
}
INFO
The code example removes SoftwareItemTerms object, with LicenseId property value of 2, from the software stack at 2 years.
Attributes
EventType - string - required
Jump Event object of type SoftwareStackRemove.
EventId - integer - required
Unique number to identify jump event.
TriggerTime - numeric - required
Future time in time-series when jump event is invoked.
LicenseIds - integer list - required
One or more license ids.
WARNING
When removing software from the software stack, the LicenseIds property value(s) must have a corresponding license id in the SoftwareStackRegistry property in the SoftwareResources object .
Software Price Change
This SoftwarePriceChange object modifies the license fee in the SoftwareItemTerms object.
json
{
"EventType":"SoftwarePriceChange",
"EventId":"1",
"TriggerTime": 1.5,
"LicenseId":"4",
"Fee": 750,
"PerpetualSupportPercent": 28
}
INFO
The code example modifies the SoftwareItemTerms object, with LicenseId property value of 4, at 1.5 years. Properties Fee and PerpetualSupportPercent may be changed from their original values.
Attributes
EventType - string - required
Jump Event object of type SoftwarePriceChange.
EventId - integer - required
Unique number to identify jump event.
TriggerTime - numeric - required
Future time in time-series when jump event is invoked.
LicenseId - integer - required
Unique number for identifying the specific license terms.
Fee - numeric - required
Amount paid per license. Fee may represent a one-time perpetual license fee, or annual price for a subscription.
PerpetualSupportPercent - numeric - optional
Percentage of one-time perpetual license fee that is paid annually.
Software Terms Change
This SoftwareTermsChange object modifies any term, except the AbsTermEndDate property, of a license. This jump event modifies the entire SoftwareItemTerms object.
json
[
{
"EventType": "SoftwareTermsChange",
"TriggerTime": 3,
"EventId": "4",
"Terms": {
"LicenseId": 5,
"LicenseMetric": "Processor",
"LicenseClass": "Perpetual",
"ContractType": "Coterminous",
"EntitlementExtremaResetBasis": "Never",
"TermLength": 3,
"Fee": 5000,
"PerpetualSupportPercent": 28,
"PerpetualSupportCostLagTerm": 1,
"ExtremaResetBufferPercent": 0,
"LicenseRuleType": "PolyMetric",
"ConsumptionRules": {
"Operator": "Or",
"Rules": [
{
"Id": "1",
"RequiredLicenseQty": 1,
"MemberName": "CoreSetSize",
"Operator": "LessThanOrEqual",
"TargetValue": 32
},
{
"Id": "2",
"RequiredLicenseQty": 2,
"MemberName": "CoreSetSize",
"Operator": "GreaterThan",
"TargetValue": 32
},
{
"Id": "3",
"RequiredLicenseQty": 2,
"MemberName": "CoreSetSize",
"Operator": "LessThanOrEqual",
"TargetValue": 64
},
{
"Id": "4",
"RequiredLicenseQty": 3,
"MemberName": "CoreSetSize",
"Operator": "GreaterThan",
"TargetValue": 64
}
]
}
}
}
]
INFO
The above code example adds two new rules to further stratify the required licenses.
The original terms specified 1-32 cores required 1 processor license and any core quantity greater than 33 required 2 processors.
The software vendor has now introduced additional stratification. Now 33-64 cores requires 2 processor licenses, and any quantity of cores greater than 64 requires 3 processor licenses.