License Management Model

Diagrams

Root Entity Hierarchy

../../../_images/RootHierarchy.png

License

../../../_images/License.png

Rooting License

../../../_images/RootingLicense.png

License Keys

../../../_images/LicenseKey.png

Entitlements

../../../_images/Entitlements.png

Classes

EntitlementPool

Note: description is required according to the inherited attribute, but it presently is optional.

An EntitlementPool is created for each type of Entitlement that is required for the VNFs. 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. An EntitlementPool is not specific to a Feature Group. An Entitlement Pool may be related to multiple Feature Groups containing a VNF or even to multiple VNFs. Purchased entitlements are inventoried in the Entitlement Pools. Multiple pools for the same type of entitlement may be created based on the constraints.

Parent class: DesignEntity

Applied stereotypes:

  • Reference

  • reference: As Built in SDC; Not related to any release usecase.

  • Preliminary

  • OpenModelClass

  • support: MANDATORY

Attribute Name

Type

Mult.

Stereotypes

Description

_spPoolLimit

PoolLimit

0..*

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Pool limits applied by the service provider

_vendorPoolLimit

PoolLimit

0..*

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Pool limits applied by the vendor.

entitlementManufactureReferenceNumber

String

0..1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

Reference number for the entitlement as described by the vendor in their price list / catalog /contract.

entitlementPurchaseIncrements

Integer

0..1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

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.

entitlementPoolThresholdValue

Integer

0..1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

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: when 90% of the pool is in-use, trigger an additional purchase of inventory.

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: when 90% of the pool is in-use, trigger an additional purchase of inventory.

entitlementPoolThresholdUnits

ThresholdUnitType

0..1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

Specifies the Units for the ThresholdValue.

invariantId

Identifier

1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

Identifier that stays the same irrespective of version.

Identifier that stays the same irrespective of version.

Version

String

1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

The version of this entity.

poolType

LicenseGroupType

1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

The license key may be ‘universal’ or ‘unique’ or ‘one-time’. - A ‘universal’ value indicates that the same exact license key (string) may be associated with all instances of the VNF. - A ‘unique’ value indicates that each instance of the VNF must be related to a unique license key (string). When no longer needed, the key may be returned to the license key pool for reuse. - A ‘one-time’ value indicates that each instance of the VNF must be related to a unique license key (string). When no longer needed, the key may not be reused.

validFor

TimePeriod

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

The period during which the design entity is valid.

status

String

1

Preliminary

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

The condition of the specification, such s active, inactive, or planned.

name

String

1

Preliminary

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

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).

description

String

1

Preliminary

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Defines a textual free-form description of the object.

id

Identifier

1

Preliminary

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Identifier of this information element. This attribute shall be globally unique.

Unambiguously distinguishes different object instances. It is the naming attribute of the object.

FeatureGroup

Feature groups represent a set of the features of one or more VNFs. Feature groups may be defined by the vendor and/or by the service provider. A VNF may be related to multiple feature groups. At least one feature group will be related to a VNF. If no sub-sets are needed, a single feature group will be defined that represents the base or core capabilities of the VNF(s) in it. 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.

Applied stereotypes:

  • Reference

  • reference: As Built in SDC; Not related to any release usecase.

  • Preliminary

  • OpenModelClass

  • support: MANDATORY

Attribute Name

Type

Mult.

Stereotypes

Description

featureGroupName

String

1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

Name of the feature group

featureGroupDescription

String

0..1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

Description of the feature group.

featureGroupPartNumber

String

1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

The featureGroupPartNumber specifies the Vnf that this FeatureGroup is related to.

The featureGroupPartNumber specifies the SKU or reference number that the Vendor has for the Vnf that this FeatureGroup is related to.

LicenseAgreement

An agreement between the service provider and a given vendor granting the service provider to use the vendor’s products. Generally the license agreement is specific to a family of vendor products and/or to some service provider’s project/product or product family.

Parent class: Agreement

Applied stereotypes:

  • Reference

  • reference: As Built in SDC; Not related to any release usecase.

  • Preliminary

  • OpenModelClass

  • support: MANDATORY

Attribute Name

Type

Mult.

Stereotypes

Description

requirementsAndConstraints

String

1..*

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

Free form text. Includes information such as operating system or hypervisor required for the VNF. This may also contain factors to be considered in deployment/placement of the VNF instances. These requirements and constraints may need to be abstracted as policies or other business rules.

Free form text. Includes information such as operating system or hypervisor required for the VNF. This may also contain factors to be considered in deployment/placement of the VNF instances. These requirements and constraints may need to be abstracted as policies or other business rules.

licenseTerm

LicenseTerm

1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

Term of the license: -fixed term -perpetual -unlimited -subscription

documentNumber

String

1

Preliminary

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

A reference number assigned to an Agreement that follows a prescribed numbering system.

statementOfIntent

String

1

Preliminary

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

An overview and goals of the Agreement.

StartDate

DateTime

1

Preliminary

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Date interaction initiated

endDate

DateTime

1

Preliminary

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

The date on which an interaction is closed or completed.

Status

String

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

The current condition of an interaction, such as open, in research, closed, and so forth

name

String

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

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).

description

String

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Defines a textual free-form description of the object.

id

Identifier

1

Preliminary

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Identifier of this information element. This attribute shall be globally unique.

Unambiguously distinguishes different object instances. It is the naming attribute of the object.

LicenseKeyPool

A License Key Pool is created for each type of License Key that is required for the VNF. Each License Key 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 License Key Pool are defined. The license key Pool model provides a description to interested systems for the license keys that are provided by a vendor. A license key Pool is not specific to a feature group. A license key Pool may be related to multiple feature groups that a VNF belongs to or even to multiple VNFs.

Parent class: DesignEntity

Applied stereotypes:

  • Reference

  • reference: As Built in SDC; Not related to any release usecase.

  • Preliminary

  • OpenModelClass

  • support: MANDATORY

Attribute Name

Type

Mult.

Stereotypes

Description

_spPooLlimit

PoolLimit

0..*

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Pool limits applied by the service provider

_vendorPoollimit

PoolLimit

0..*

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Pool limits applied by the vendor.

poolType

LicenseGroupType

1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

The license key may be ‘universal’ or ‘unique’ or ‘one-time’. - A ‘universal’ value indicates that the same exact license key (string) may be associated with all instances of the VNF. - A ‘unique’ value indicates that each instance of the VNF must be related to a unique license key (string). When no longer needed, the key may be returned to the license key pool for reuse. - A ‘one-time’ value indicates that each instance of the VNF must be related to a unique license key (string). When no longer needed, the key may not be reused.

thresholdUnits

ThresholdUnitType

0..1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

Units can be either absolute or a percentage (%).

thresholdValue

Integer

0..1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

Specified threshold value for the license key pool.

keyPurchaseIncrements

String

0..1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

Specifies how the key must be purchased. If in blocks of 1000, the increment would be 1000.

invariantId

Identifier

1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

Identifier that stays the same irrespective of version.

Version

String

1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

The version of this entity.

licenseManufactureReferenceNumber

String

0..1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

Identifier for the entitlement as described by the vendor in their price list / catalog /contract.

validFor

TimePeriod

0..1

Preliminary

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

The period during which the design entity is valid.

status

String

1

Preliminary

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

The condition of the specification, such s active, inactive, or planned.

name

String

1

Preliminary

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

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).

description

String

1

Preliminary

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Defines a textual free-form description of the object.

id

Identifier

1

Preliminary

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Identifier of this information element. This attribute shall be globally unique.

Unambiguously distinguishes different object instances. It is the naming attribute of the object.

PoolLimit

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.

Applied stereotypes:

  • Reference

  • reference: As Built in SDC; Not related to any release usecase.

  • Preliminary

  • OpenModelClass

  • support: MANDATORY

Attribute Name

Type

Mult.

Stereotypes

Description

limitMetricType

EPMetricType

1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

Specifies if this pool holds entitlements based on usage of the VNF instance (number of users), number of sessions, country, line of business, etc.

limitMetricValue

Integer

1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

The value of some limit being applied.

aggregationFunction

AggregationTypes

0..1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

Type of aggregation being performed (Peak or Average)

limitUnits

LimitUnits

1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

The units of the limit (Trunks, Users, Subscribers, Sessions, tentants, Tokens, Seats, TB, GB, MB, …)

time

DateTime

0..1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

Units time is specified in (day, month, hour, minute, second, millisecond.

poolMetricTypeOther

String

0..1

OpenModelAttribute

  • isInvariant: false

  • valueRange: no range constraint

  • support: MANDATORY

Preliminary

LimitMetricType if Other enumeration is selected.

Associations

LicenseKeyPoolHasSPLimits

LicenseKey can have some number of service provider based limits applied to it.

Applied stereotypes:

Attribute Name

Aggreg.

Navig.

Mult.

Type

Description

Stereotypes

_spPooLlimit

composite

Navig.

0..*

PoolLimit

Pool limits applied by the service provider

OpenModelAttribute

  • partOfObjectKey: 0

  • uniqueSet:

  • isInvariant: false

  • unsigned: false

  • counter: NA

  • support: MANDATORY

licencekeypool

none

Not navig.

1

LicenseKeyPool

lLicenseKeyPool can have some number of service provider specified PoolLimits

OpenModelAttribute

  • partOfObjectKey: 0

  • uniqueSet:

  • isInvariant: false

  • unsigned: false

  • counter: NA

  • support: MANDATORY

LicenseKeyPoolHasVendorLimits

LicenseKey can have some number of vendor based limits applied to it.

Applied stereotypes:

Attribute Name

Aggreg.

Navig.

Mult.

Type

Description

Stereotypes

_vendorPoollimit

composite

Navig.

0..*

PoolLimit

Pool limits applied by the vendor.

OpenModelAttribute

  • partOfObjectKey: 0

  • uniqueSet:

  • isInvariant: false

  • unsigned: false

  • counter: NA

  • support: MANDATORY

licencekeypooldesc

none

Not navig.

1

LicenseKeyPool

OpenModelAttribute

  • partOfObjectKey: 0

  • uniqueSet:

  • isInvariant: false

  • unsigned: false

  • counter: NA

  • support: MANDATORY

EntitlementPoolHasSPPoolLimits

An EntitlementPool and the associated Entitlements can have some number of Service Provider based limits.

Applied stereotypes:

Attribute Name

Aggreg.

Navig.

Mult.

Type

Description

Stereotypes

_spPoolLimit

composite

Navig.

0..*

PoolLimit

Pool limits applied by the service provider

OpenModelAttribute

  • partOfObjectKey: 0

  • uniqueSet:

  • isInvariant: false

  • unsigned: false

  • counter: NA

  • support: MANDATORY

entitlementpool

none

Not navig.

1

EntitlementPool

EntitlementPool can have some number of service provider specified limits.

OpenModelAttribute

  • partOfObjectKey: 0

  • uniqueSet:

  • isInvariant: false

  • unsigned: false

  • counter: NA

  • support: MANDATORY

EntitlementPoolHasVendorPoolLimits

An EntitlementPool and the associated Entitlements can have some number of Vendor based limits.

Applied stereotypes:

Attribute Name

Aggreg.

Navig.

Mult.

Type

Description

Stereotypes

_vendorPoolLimit

composite

Navig.

0..*

PoolLimit

Pool limits applied by the vendor.

OpenModelAttribute

  • partOfObjectKey: 0

  • uniqueSet:

  • isInvariant: false

  • unsigned: false

  • counter: NA

  • support: MANDATORY

entitlementpool

none

Not navig.

1

EntitlementPool

The EntitlementPool can have some number of Vendor specified limits.

OpenModelAttribute

  • partOfObjectKey: 0

  • uniqueSet:

  • isInvariant: false

  • unsigned: false

  • counter: NA

  • support: MANDATORY

FeatureGroupHasEntitlementPool

A FeatureGroup can have one or more EntitlementPools associated with it.

Applied stereotypes:

Attribute Name

Aggreg.

Navig.

Mult.

Type

Description

Stereotypes

entitlementpool

none

Not navig.

1..*

EntitlementPool

The EntitlementPool can be related to one FeatureGroup

OpenModelAttribute

  • partOfObjectKey: 0

  • uniqueSet:

  • isInvariant: false

  • unsigned: false

  • counter: NA

  • support: MANDATORY

featuregroup

none

Not navig.

0..*

FeatureGroup

FeatureGroup can be related to some number of EntitlementPools.

OpenModelAttribute

  • partOfObjectKey: 0

  • uniqueSet:

  • isInvariant: false

  • unsigned: false

  • counter: NA

  • support: MANDATORY

FeatureGroupHasLicenceKeyPool

FeatureGroup can have 1 or more LicenseKeyPools and related LicenseKeys related to it.

Applied stereotypes:

Attribute Name

Aggreg.

Navig.

Mult.

Type

Description

Stereotypes

licencekeypool

none

Not navig.

0..*

LicenseKeyPool

LicenseKeyPool is related to one FeatureGroup

OpenModelAttribute

  • partOfObjectKey: 0

  • uniqueSet:

  • isInvariant: false

  • unsigned: false

  • counter: NA

  • support: MANDATORY

featuregroup

none

Not navig.

0..*

FeatureGroup

A feature group can be related to some number of LicenseKeyPools

OpenModelAttribute

  • partOfObjectKey: 0

  • uniqueSet:

  • isInvariant: false

  • unsigned: false

  • counter: NA

  • support: MANDATORY

LicenseAgreementHasFeatureGroup

Applied stereotypes:

Attribute Name

Aggreg.

Navig.

Mult.

Type

Description

Stereotypes

featuregroup

none

Not navig.

1..*

FeatureGroup

OpenModelAttribute

  • partOfObjectKey: 0

  • uniqueSet:

  • isInvariant: false

  • unsigned: false

  • counter: NA

  • support: MANDATORY

licenseagreement

none

Not navig.

1..*

LicenseAgreement

OpenModelAttribute

  • partOfObjectKey: 0

  • uniqueSet:

  • isInvariant: false

  • unsigned: false

  • counter: NA

  • support: MANDATORY

VendorHasVnfd

Applied stereotypes:

Attribute Name

Aggreg.

Navig.

Mult.

Type

Description

Stereotypes

vendor

none

Not navig.

1

Vendor

vnfd

none

Not navig.

0..*

Vnfd

OpenModelAttribute

  • partOfObjectKey: 0

  • uniqueSet:

  • isInvariant: false

  • unsigned: false

  • counter: NA

  • support: MANDATORY

VendorHasLicenseAgreement

Applied stereotypes:

Attribute Name

Aggreg.

Navig.

Mult.

Type

Description

Stereotypes

vendor

none

Not navig.

1

Vendor

A Vendor can have some number of LicenseAgreements.

OpenModelAttribute

  • partOfObjectKey: 0

  • uniqueSet:

  • isInvariant: false

  • unsigned: false

  • counter: NA

  • support: MANDATORY

licenseagreement

none

Not navig.

0..*

LicenseAgreement

A LicenseAgreement is related to some vendor.

OpenModelAttribute

  • partOfObjectKey: 0

  • uniqueSet:

  • isInvariant: false

  • unsigned: false

  • counter: NA

  • support: MANDATORY

VnfHasFeatureGroup

A Vnf can have some number of feature groups. A feature group can apply to one or more Vnfs.

Applied stereotypes:

Attribute Name

Aggreg.

Navig.

Mult.

Type

Description

Stereotypes

featuregroup

none

Not navig.

0..*

FeatureGroup

vnfd

none

Not navig.

1..*

Vnfd

OpenModelAttribute

  • partOfObjectKey: 0

  • uniqueSet:

  • isInvariant: false

  • unsigned: false

  • counter: NA

  • support: MANDATORY

Data Types

Enumerations

AggregationTypes

Contains Enumeration Literals:

  • PEAK:

  • AVERAGE:

EPMetricType

Contains Enumeration Literals:

  • BWTH:

  • COUNTRY:

  • SESSION:

  • LOB:

  • SITE:

  • USAGE:

  • OTHER:

LicenseDuration

Units of the entitlement/license term. Valid values: year, quarter, month, day.

Contains Enumeration Literals:

  • YEAR:

  • QUARTER:

  • MONTH:

  • DAY:

LicenseGroupType

Contains Enumeration Literals:

  • UNIVERSAL:

  • UNIQUE:

  • ONE_TIME:

LicenseTerm

Valid values: year, quarter, month, day. Not applicable when license type is Perpetual.

Contains Enumeration Literals:

  • FIXED_TERM:

  • PERPETUAL:

  • UNLIMITED:

  • OTHER:

  • TRIAL:

  • SUBSCRIPTION:

LimitUnits

Contains Enumeration Literals:

  • TRUNKS:

  • USERS:

  • SUBSCRIBERS:

  • SESSIONS:

  • TENANTS:

  • TOKENS:

  • SEATS:

  • TB:

  • GB:

  • MB:

  • OTHER:

ThresholdUnitType

Contains Enumeration Literals:

  • ABSOLUTE:

  • %: