Sentinel HASP Licensing Domain

UML Class Diagram Example

An example of UML class diagram which provides some simplified view of software licensing domain for the SafeNet Sentinel HASP Software Licensing Security Solution.

The purpose of the domain diagram is to show major "things" used during software licensing and protection using Sentinel HASP and relationships between those things.

When software vendor purchases a Sentinel HASP License Development Kit (LDK), the vendor is also provided with a unique batch code and corresponding vendor key that contains unique vendor code specific to the company. The code is used by Sentinel LDK to communicate with protection keys, and to differentiate vendor keys from those of other software vendors.

A batch code consists of five characters that represent company’s unique vendor code. When Sentinel protection keys are ordered from SafeNet, batch code is written to the keys before sending to the vendor. The batch code is also written on the outside of each key.

A feature is some identifiable functionality of a software application. Features may used to identify entire executables, software modules, .NET or Java methods, or a specific functionality such as print or save. Each feature is assigned unique identifier and is associated with a specific batch code. Feature id and feature name both should be unique in the associated batch. The maximum length for a feature name is 50 characters.

Each protected software product has some features and is associated with a batch code. A product name that identifies the product is unique in the selected batch. The maximum length for a product name is 50 characters. Product has some specific locking type (type type of protection) to be applied to the product.

The basic unit on which all products are created is the base product. A base product can contain all the product attributes such as features, licensing data and memory, and can be used as a product offered for sale. Provisional products could be also defined to be distributed as trialware. The properties for provisional products are not completely identical to those of the base product. After a product has been defined, it can be included in entitlements (orders).

An example of UML domain (class) diagram for Sentinel HASP Software Licensing Security Solution.

An example of UML domain (class) diagram for Sentinel HASP Software Licensing Security Solution.

An entitlement is an order for products to be supplied with one or more Sentinel protection keys. Orders or sales department receives and fulfils entitlements. Order processing personnel process the entitlement details using Sentinel EMS. An entitlement can contain one or more products. When entitlement is defined in Sentinel EMS, they can specify the customer who placed the order. The customer could be either an individual customer or a company.

The locking type assigned to a product may determine the type of entitlement that can be produced. They cannot add a product defined only with the HL locking type and another product defined only with the SL locking type (whether AdminMode or UserMode) to the same entitlement: