License Management - Draft
The following is draft material. Further refinement will be made in the coming weeks. This represents concepts presently in ASDC.
1 License
1.1 Overview
Qualified Name: Common::License
1.2 Associations
1.2.1 Overview
Qualified Name: Common::License::Associations
1.2.1.1 Associations
1.3 Diagrams
1.3.1 Overview
Qualified Name: Common::License::Diagrams
1.3.1.1 Diagrams
Figure 4‑1: Diagram License
Figure 4‑2: Diagram License Key Pools
Figure 4‑3: Diagram Rooting License
Figure 4‑4: Diagram Entitlement Pools
Figure 4‑5: Diagram Feature Groups
Figure 4‑6: Diagram License Datatypes
1.4 ObjectClasses
1.4.1 Overview
Qualified Name: Common::License::ObjectClasses
1.4.1.1 Classes
1.4.1.1.1 EntitlementDesc (PurchaseUseRights-PUR) class
Qualified Name: Common::License::ObjectClasses::EntitlementDesc (PurchaseUseRights-PUR)
Description:
Specifies the use rights for the software as described by the license. The use rights may be quantified by various metrics: # users, # software instances, # units. Customer RTU is within the customer subscription. Entitlement is related to how the service provider purchased the software from the supplier, 1 RTU may equate to 5 instances of the software.
Either no key, universal key, or unique key per instance required.
Parent class: Descriptor (EntitySpecification)
Applied Stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
Table 4‑1 Attributes for Class EntitlementDesc (PurchaseUseRights-PUR)
Attribute Name | Type | Mult. | Description | Stereotypes |
manufacturerReferenceNumber | String | 1 | Identifier for the entitlement as described by the vendor in their price list / catalog / contract.
| OpenModelAttribute
|
minimumOrderRquirement | Integer | 1 | The minimum number of entitlements that need to be purchased. For example, the entitlements must be purchased in a block of 100. If no minimum is required, the value will be zero.
| OpenModelAttribute
|
uniqueReportingRequirements | String | 0..* | A list of any reporting requirements on the usage of the software product. (e.g.: quarterly usage reports are required)
| OpenModelAttribute
|
licenseType | LicenseTerm | 1 |
| OpenModelAttribute
|
licenseDuration | String | 1 |
| OpenModelAttribute
|
licenseDurationQuantification | Integer | 1 |
| OpenModelAttribute
|
limits | 1 |
| OpenModelAttribute
| |
validFor | TimePeriod | 1 | The period during which the descriptor is valid.
| OpenModelAttribute
|
status | String | 1 | The condition of the specification, such s active, inactive, or planned.
| OpenModelAttribute
|
descriptorVersion | String | 1 | Identifies the version of the descriptor.
| OpenModelAttribute
|
name | String | 1 | Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object).
| OpenModelAttribute
|
description | String | 0..1 | Defines a textual free-form description of the object.
| OpenModelAttribute
|
id | Identifier | 1 | Unambiguously distinguishes different object instances. It is the naming attribute of the object. Identifier of this information element. This attribute shall be globally unique.
| OpenModelAttribute
|
invarientId | Identifier | 1 | An ID for the entity that does not change regardless of version.
| OpenModelAttribute
|
1.4.1.1.2 EntitlementInstance class
Qualified Name: Common::License::ObjectClasses::EntitlementInstance
Description:
Represents an instance of a EntitlementDesc.
Specifies the use rights for the software as described by the license.
Applied Stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
1.4.1.1.3 EntitlementPoolDesc class
Qualified Name: Common::License::ObjectClasses::EntitlementPoolDesc
Description:
An EntitlementPool is created for each type of Entitlement that is required for the software products.
An EntitlementPool is not specific to a Feature Group. An Entitlement Pool may be related to multiple Feature Groups of a software product or even to multiple software products.
Purchased entitlements are inventoried in the Entitlement Pools.
Multiple pools for the same type of entitlement may be created based on the constraints.
An Entitlement Pool is created for each type of Entitlement that is required for the software products. Each Entitlement Pool is assigned a Name and Description for modeling purposes and is uniquely identified by a UUID. In addition, a list of characteristics of the Entitlement Pool are defined.
Controllers will request entitlements.
An entitlement pool is not specific to a feature group. An entitlement pool may be related to multiple feature groups of a software item or even to multiple software items.
Parent class: Descriptor (EntitySpecification)
Applied Stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
Table 4‑2 Attributes for Class EntitlementPoolDesc
Attribute Name | Type | Mult. | Description | Stereotypes |
_spPoolLimit | PoolLimit | 0..* | Pool limits applied by the service provider
| OpenModelAttribute
|
_vendorPoolLimit | PoolLimit | 0..* | Pool limits applied by the vendor.
| OpenModelAttribute
|
_entitlementpoolinstance | EntitlementPoolInstance | 0..1 | EntitlementPoolDesc is the basis for an EntitlementPoolInstance.
| OpenModelAttribute
|
manufactureReferencdNumber | String | 1 | Identifier for the entitlement as described by the vendor in their price list / catalog /contract.
| OpenModelAttribute
|
entitlementPurchaseIncrements | Integer | 0..1 | This field contains information to tell a Designer how the entitlement must be purchased. For example, if the entitlement must be purchased in blocks of 1000, the increment would be 1000.
| OpenModelAttribute
|
entitlementPoolThresholdValue | Integer | 0..1 | A description of a threshold that will be assessed for some business purpose (e.g. 20% of entitlement pool remains available). (The threshold of interest to DCAE or Capacity Planning, etc.) This may be an absolute value or a percentage. For example:
| OpenModelAttribute
|
entitlementPoolThresholdUnits | ThresholdUnitType | 0..1 | Specifies the Units for the ThresholdValue.
| OpenModelAttribute
|
entitlementPooPurchaselIncrements | Integer | 0..1 | This field contains information to tell a Designer how the entitlement must be purchased. For example, if the entitlement must be purchased in blocks of 1000, the increment would be 1000.
| OpenModelAttribute
|
entitlementPoolStartDate | DateTime | 0..1 | Start date
| OpenModelAttribute
|
entitlementPoolExpiryDate | DateTime | 0..1 | Expiry date
| OpenModelAttribute
|
validFor | TimePeriod | 1 | The period during which the descriptor is valid.
| OpenModelAttribute
|
status | String | 1 | The condition of the specification, such s active, inactive, or planned.
| OpenModelAttribute
|
descriptorVersion | String | 1 | Identifies the version of the descriptor.
| OpenModelAttribute
|
name | String | 1 | Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object).
| OpenModelAttribute
|
description | String | 0..1 | Defines a textual free-form description of the object.
| OpenModelAttribute
|
id | Identifier | 1 | Unambiguously distinguishes different object instances. It is the naming attribute of the object. Identifier of this information element. This attribute shall be globally unique.
| OpenModelAttribute
|
invarientId | Identifier | 1 | An ID for the entity that does not change regardless of version.
| OpenModelAttribute
|
1.4.1.1.4 EntitlementPoolInstance class
Qualified Name: Common::License::ObjectClasses::EntitlementPoolInstance
Description:
An EntitlementPool describes the characteristics of a type of entitlement and the behavior of the entitlement instances in the pool.
Management of the collection.
Applied Stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
1.4.1.1.5 FeatureGroup class
Qualified Name: Common::License::ObjectClasses::FeatureGroup
Description:
Feature groups represent a set of the features of the software. Feature groups may be defined by the vendor and/or by the service provider. Software may be related to multiple feature groups. At least one feature group will be related to software. If no sub-sets are needed, a single feature group will be defined that represents the base or core capabilities of the software.
If an Entitlement Pool or License Key Group is associated with a particular Feature Group, the Feature Group becomes a "constraint" for the pool/group.
Parent class: Entity
Applied Stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
Table 4‑3 Attributes for Class FeatureGroup
Attribute Name | Type | Mult. | Description | Stereotypes |
partNumber | String | 1 |
| OpenModelAttribute
|
referenceNumber | String | 1 |
| OpenModelAttribute
|
name | String | 1 | Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object).
| OpenModelAttribute
|
description | String | 0..1 | Defines a textual free-form description of the object.
| OpenModelAttribute
|
id | Identifier | 1 | Unambiguously distinguishes different object instances. It is the naming attribute of the object. Identifier of this information element. This attribute shall be globally unique.
| OpenModelAttribute
|
invarientId | Identifier | 1 | An ID for the entity that does not change regardless of version.
| OpenModelAttribute
|
1.4.1.1.6 LicenceKeyPoolDesc class
Qualified Name: Common::License::ObjectClasses::LicenceKeyPoolDesc
Description:
A License Key Group is created for each type of License Key that is required for the software. Each License Key Group is assigned a Name and Description for modeling purposes and is uniquely identified by a UUID. In addition, a list of characteristics of the License Key Group are defined.
The license key group model provides a description to systems like ALTS for the license keys that are provided by a vendor. ALTS will create a "group" and Purchasing systems (GPS and HP Asset Center) will send the inventory of license keys/files to be held by ALTS in the appropriate group.
Controllers will request license keys from ALTS using the UUID of the group, as directed by the ASDC models for the software (i.e. VFs).
A license key group is not specific to a feature group. A license key group may be related to multiple feature groups of a software item or even to multiple software items.
Parent class: Descriptor (EntitySpecification)
Applied Stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
Table 4‑4 Attributes for Class LicenceKeyPoolDesc
Attribute Name | Type | Mult. | Description | Stereotypes |
_spPooLlimit | PoolLimit | 0..* | Pool limits applied by the service provider
| OpenModelAttribute
|
_vendorPoollimit | PoolLimit | 0..* | Pool limits applied by the vendor.
| OpenModelAttribute
|
poolType | LicenseKeyGroupType | 1 | The license key may be 'universal' or 'unique' or 'one-time'.
| OpenModelAttribute
|
thresholdUnits | ThresholdUnitType | 1 | Units can be either absolute or a percentage (%).
| OpenModelAttribute
|
thresholdValue | Integer | 1 | Specified threshold value for the license key pool.
| OpenModelAttribute
|
startDate | DateTime | 1 | Start date.
| OpenModelAttribute
|
expiryDate | DateTime | 1 | Expiry date.
| OpenModelAttribute
|
keyPurchaseIncrements | String | 1 | Specifies how the key must be purchased. If in blocks of 1000, the increment would be 1000.
| OpenModelAttribute
|
manufactureReferenceNumber | String | 1 | Identifier for the entitlement as described by the vendor in their price list / catalog /contract.
| OpenModelAttribute
|
validFor | TimePeriod | 1 | The period during which the descriptor is valid.
| OpenModelAttribute
|
status | String | 1 | The condition of the specification, such s active, inactive, or planned.
| OpenModelAttribute
|
descriptorVersion | String | 1 | Identifies the version of the descriptor.
| OpenModelAttribute
|
name | String | 1 | Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object).
| OpenModelAttribute
|
description | String | 0..1 | Defines a textual free-form description of the object.
| OpenModelAttribute
|
id | Identifier | 1 | Unambiguously distinguishes different object instances. It is the naming attribute of the object. Identifier of this information element. This attribute shall be globally unique.
| OpenModelAttribute
|
invarientId | Identifier | 1 | An ID for the entity that does not change regardless of version.
| OpenModelAttribute
|
1.4.1.1.7 LicenseAgreement class
Qualified Name: Common::License::ObjectClasses::LicenseAgreement
Applied Stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
Table 4‑5 Attributes for Class LicenseAgreement
Attribute Name | Type | Mult. | Description | Stereotypes |
name | 1 |
| OpenModelAttribute
| |
description | 1 |
| OpenModelAttribute
| |
requirementsAndConstraints | String | 1..* |
| OpenModelAttribute
|
licenseTerm | LicenseTerm | 1 |
| OpenModelAttribute
|
1.4.1.1.8 LicenseKeyDesc class
Qualified Name: Common::License::ObjectClasses::LicenseKeyDesc
Parent class: Descriptor (EntitySpecification)
Applied Stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
Table 4‑6 Attributes for Class LicenseKeyDesc
Attribute Name | Type | Mult. | Description | Stereotypes |
keyFunction+ | String | 1 |
| OpenModelAttribute
|
licenseKeyType | LicenseTerm | 1 |
| OpenModelAttribute
|
licenseKeyFile | String | 0..1 |
| OpenModelAttribute
|
validFor | TimePeriod | 1 | The period during which the descriptor is valid.
| OpenModelAttribute
|
status | String | 1 | The condition of the specification, such s active, inactive, or planned.
| OpenModelAttribute
|
descriptorVersion | String | 1 | Identifies the version of the descriptor.
| OpenModelAttribute
|
name | String | 1 | Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object).
| OpenModelAttribute
|
description | String | 0..1 | Defines a textual free-form description of the object.
| OpenModelAttribute
|
id | Identifier | 1 | Unambiguously distinguishes different object instances. It is the naming attribute of the object. Identifier of this information element. This attribute shall be globally unique.
| OpenModelAttribute
|
invarientId | Identifier | 1 | An ID for the entity that does not change regardless of version.
| OpenModelAttribute
|
1.4.1.1.9 LicenseKeyInstance class
Qualified Name: Common::License::ObjectClasses::LicenseKeyInstance
Parent class: Entity
Applied Stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
Table 4‑7 Attributes for Class LicenseKeyInstance
Attribute Name | Type | Mult. | Description | Stereotypes |
name | String | 1 | Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object).
| OpenModelAttribute
|
description | String | 0..1 | Defines a textual free-form description of the object.
| OpenModelAttribute
|
id | Identifier | 1 | Unambiguously distinguishes different object instances. It is the naming attribute of the object. Identifier of this information element. This attribute shall be globally unique.
| OpenModelAttribute
|
invarientId | Identifier | 1 | An ID for the entity that does not change regardless of version.
| OpenModelAttribute
|
1.4.1.1.10 LicenseKeyPoolInstance class
Qualified Name: Common::License::ObjectClasses::LicenseKeyPoolInstance
Parent class: Entity
Applied Stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
Table 4‑8 Attributes for Class LicenseKeyPoolInstance
Attribute Name | Type | Mult. | Description | Stereotypes |
name | String | 1 | Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object).
| OpenModelAttribute
|
description | String | 0..1 | Defines a textual free-form description of the object.
| OpenModelAttribute
|
id | Identifier | 1 | Unambiguously distinguishes different object instances. It is the naming attribute of the object. Identifier of this information element. This attribute shall be globally unique.
| OpenModelAttribute
|
invarientId | Identifier | 1 | An ID for the entity that does not change regardless of version.
| OpenModelAttribute
|
1.4.1.1.11 PoolLimit class
Qualified Name: Common::License::ObjectClasses::PoolLimit
Description:
A variable set of values that identify the limits that may be imposed by an entitlement instance in the pool. Multiple constraints may be applicable for an instance of entitlement in the pool. For example, an entitlement based on GB and number of sessions. Increments, aggregation function, time scope, threshold value may repeat for each metric in the list.
Limits can be applied by the vendor or the service provider.
Parent class: Entity
Applied Stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
Table 4‑9 Attributes for Class PoolLimit
Attribute Name | Type | Mult. | Description | Stereotypes |
limitMetricType | EPMetricType | 1 | Specifies if this pool holds entitlements based on usage of the software (number of users), number of sessions, country, line of business, etc.
| OpenModelAttribute
|
limitMetricValue | Integer | 1 | The value of some limit being applied.
| OpenModelAttribute
|
aggregationFunction | AggregationTypes | 0..1 | Type of aggregation being performed (Peak or Average)
| OpenModelAttribute
|
limitUnits | LimitUnits | 1 | The units of the limit (Trunks, Users, Subscribers, Sessions, tentants, Tokens, Seats, TB, GB, MB, ...)
| OpenModelAttribute
|
time | DateTime | 0..1 |
| OpenModelAttribute
|
poolMetricTypeOther | String | 0..1 | LimitMetricType if Other enumeration is selected.
| OpenModelAttribute
|
name | String | 1 | Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object).
| OpenModelAttribute
|
description | String | 0..1 | Defines a textual free-form description of the object.
| OpenModelAttribute
|
id | Identifier | 1 | Unambiguously distinguishes different object instances. It is the naming attribute of the object. Identifier of this information element. This attribute shall be globally unique.
| OpenModelAttribute
|
invarientId | Identifier | 1 | An ID for the entity that does not change regardless of version.
| OpenModelAttribute
|
1.4.1.1.12 VendorLicenseModel (VLM) class
Qualified Name: Common::License::ObjectClasses::VendorLicenseModel (VLM)
Parent class: Entity
Applied Stereotypes:
- Experimental
- OpenModelClass
- support: MANDATORY
Table 4‑10 Attributes for Class VendorLicenseModel (VLM)
Attribute Name | Type | Mult. | Description | Stereotypes |
name | String | 1 | Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object).
| OpenModelAttribute
|
description | String | 0..1 | Defines a textual free-form description of the object.
| OpenModelAttribute
|
id | Identifier | 1 | Unambiguously distinguishes different object instances. It is the naming attribute of the object. Identifier of this information element. This attribute shall be globally unique.
| OpenModelAttribute
|
invarientId | Identifier | 1 | An ID for the entity that does not change regardless of version.
| OpenModelAttribute
|
1.5 TypeDefinitions
1.5.1 Overview
Qualified Name: Common::License::TypeDefinitions
1.5.1.1 Datatypes
1.5.1.2 Enumerations
1.5.1.2.1 AggregationTypes enumeration
Qualified Name: Common::License::TypeDefinitions::AggregationTypes
Contains Enumeration Literals:
- PEAK
- AVERAGE
1.5.1.2.2 EPMetricType enumeration
Qualified Name: Common::License::TypeDefinitions::EPMetricType
Contains Enumeration Literals:
- BWTH
- COUNTRY
- SESSION
- LOB
- SITE
- USAGE
- OTHER
1.5.1.2.3 LicenseKeyGroupType enumeration
Qualified Name: Common::License::TypeDefinitions::LicenseKeyGroupType
Contains Enumeration Literals:
- UNIVERSAL
- UNIQUE
- ONE_TIME
1.5.1.2.4 LicenseTerm enumeration
Qualified Name: Common::License::TypeDefinitions::LicenseTerm
Contains Enumeration Literals:
- FIXED_TERM
- PERPETUAL
- UNLIMITED
- OTHER
- TRIAL
- SUBSCRIPTION
1.5.1.2.5 LimitUnits enumeration
Qualified Name: Common::License::TypeDefinitions::LimitUnits
Contains Enumeration Literals:
- TRUNKS
- USERS
- SUBSCRIBERS
- SESSIONS
- TENANTS
- TOKENS
- SEATS
- TB
- GB
- MB
- OTHER
1.5.1.2.6 ThresholdUnitType enumeration
Qualified Name: Common::License::TypeDefinitions::ThresholdUnitType
Contains Enumeration Literals:
- ABSOLUTE
- %