Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Feature

# of Licenses Consumed per Checkout

# of Checkout Requests

Total Licenses Consumed

MyDraw

5

2

10

MyWrite

2

3

6

MySpreadsheet

1

3

3

Totals

 

8

19

Number of licenses remaining

 

 


1

Example Scenario 2

Feature

# of Licenses Consumed per Checkout

# of Checkout Requests

Licenses Consumed

MyDraw

5

1

5

MyWrite

2

4

8

MySpreadsheet

1

7

7

Totals

 

11

20

Number of licenses remaining 

 


0

Example

The following example shows a token-based license for the license pool scenario described above, where MySolutions is a license pool that is drawn upon to fulfill license requests for MyDraw, MyWrite and MySpreadsheet.

Code Block
languagehtml/xml
FEATURE MySolutions
{
  VENDOR = ABC_Software
 COUNT =20 20
KEYTYPE =EXCLUSIVE EXCLUSIVE
MAJOR_VERSION = 1.0
MINOR_VERSION = 2
KEY = GTLP4FLUFFDFJB3N87SEVB224G0TJKKP=bhq3ed873qcrKHG6783rhJgvkhvTUtxcuBiouVtyCuyVy78Gftq...
}

FEATURE MyDraw
{
  VENDOR = ABC_Software
 KEYTYPE =TOKEN TOKEN
MAJOR_VERSION = 1.0
MINOR_VERSION = 0
TOKEN_DEPENDENCY = "FEATURE=MySolutions VERSION=1.0 COUNT=5"
  KEY = PTZH9BTWNTLFJHH862IOAF39NHIM9HVB=b978bv5ybui7Noyg6c3Vd57fngN987NGSC54sDiugU6v5eio8g...
}

FEATURE MyWrite
{
  VENDOR = ABC_Software
 KEYTYPE =TOKEN TOKEN
MAJOR_VERSION = 1.0
MINOR_VERSION = 0
TOKEN_DEPENDENCY = "FEATURE=MySolutions VERSION=1.0 COUNT=2"
  KEY = KW1OPU87VNUAA9ZI2NMBP9721EEU2 =yig*bv7tu6r879yu09yut75evbGJvHGHdrCHJVJGCt79g78gvv...
}

FEATURE MySpreadsheet
{
  VENDOR = ABC_Software
 KEYTYPE =TOKEN TOKEN
MAJOR_VERSION = 1.0
MINOR_VERSION = 0
TOKEN_DEPENDENCY = "FEATURE=MySolutions VERSION=1.0 COUNT=1"
  KEY = PO3OP36RLTATVFHOT3H4RONIOV257L98=hygvCTYGg6r67fg890hbyvGTCVKJBjhc5r7y9joiVGckjlnut8...
}

Product suite licenses

Product suite licenses specify that one token-based license depends on multiple real licenses. Product suite licenses enforce a logical AND rule, requiring all licenses to be valid in order to perform a checkout. This is essentially the opposite of license pools, which specify that multiple features depend on a single real license. 

...

The following example shows a token-based license for the product suite license scenario described above.

html/xml
Code Block
language
FEATURE Sketcher
{
  VENDOR = ABC_Software
 COUNT =5 5
KEYTYPE =EXCLUSIVE EXCLUSIVE
MAJOR_VERSION = 2.0
MINOR_VERSION = 0
KEY = GTLP4FLUFFDFJB3N87SEVB224G0TJKKP=mBpIAWB9Uuzl2b2B3v]vcsFBx7qEQG1SwXCz8A9d612hU3vSKT...
}

FEATURE Printer
{
  VENDOR = ABC_Software
 COUNT =5 5
KEYTYPE =EXCLUSIVE EXCLUSIVE
MAJOR_VERSION = 1.5
MINOR_VERSION = 5
KEY = HEN3CRJ8VOI6FS5L25KKB0QLRJD3CE4O=B9Uuzl2b2B3v]vcsFBx7qEvcsFBx7qEQG1SwXCz8A9d6U3vSKT...
}

FEATURE MyDraw
{
  VENDOR = ABC_Software
 KEYTYPE =TOKEN TOKEN
MAJOR_VERSION = 1.0
MINOR_VERSION = 2
TOKEN_DEPENDENCY = "FEATURE=Sketcher VERSION=2.0 COUNT=1"
  TOKEN_DEPENDENCY = "FEATURE=Printer VERSION=1.5 COUNT=1"
  KEY =mBpIAWB9Uuzl2b2B3v]vcsFBxBx7qEQG1SwXCz8A9dj1g866USKT... ALPO3OP36RLTATVFHOT3H4RONIOV257L
}

...

Anchor
alternate licenses
alternate licenses
Alternate licenses

You can use token-based licenses to allow license requests to be fulfilled by one or more alternate product licenses. This enforces a logical OR rule, since it requires one license or another to succeed with a checkout.

...

Code Block
languagehtml/xml
FEATURE Lower_Priced_License
{
  VENDOR = ABC_Software
 COUNT =5 5
KEYTYPE =EXCLUSIVE EXCLUSIVE
MAJOR_VERSION = 1.0
MINOR_VERSION = 0
KEY =mBpIAWB9Uuzl2b2B3v]8GJqW300arlnWmnT01nZXSOIYdF... CTLF6UIWOPPQYH35Q7WPYB7W2NH68JI9
}

FEATURE Higher_Priced_License
{
  VENDOR = ABC_Software
 COUNT =10 10
KEYTYPE =EXCLUSIVE EXCLUSIVE
MAJOR_VERSION = 1.0
MINOR_VERSION = 0
KEY =mBpIAWB9Uuzl2b2B3v]vcsFBx7qEQG1SwXCz8A9d6U3vSKT... AP1FYIS98WPN2UIP99QSVUIPA4EEOV26
}

FEATURE MyDraw
{
  VENDOR = ABC_Software
 KEYTYPE =TOKEN TOKEN
MAJOR_VERSION = 1.0
MINOR_VERSION = 0
TOKEN_DEPENDENCY = "FEATURE=Lower_Priced_License VERSION=1.0 COUNT=5"
  KEY =mYsfn30C6ShBYszCq2WVicpTZXQwkfKJTohkzg1wNkle163... HEN3CRJ8VOI6FS5L25KKB0QLRJD3CE4O
}

FEATURE MyDraw
{
  VENDOR = ABC_Software
 KEYTYPE =TOKEN TOKEN
MAJOR_VERSION = 1.0
MINOR_VERSION = 0
TOKEN_DEPENDENCY = "FEATURE=Higher_Priced_License VERSION=1.0 COUNT=10"
  KEY =2w66Ng3wVSVp6ttmWCc8GyJqW300arlnWmnT01nZXSOIYdF... ALF5HUJ9VCQ6HSNL42MLT0VLMJC3PDMM
}

 Cascading (recursive) licenses

...

The maximum number of recursive dependencies you may define for a token-based license is 16.

The maximum number of dependencies the token-based license may have is 256512. (However, there is no limit on the number of token-based licenses you may define.)

...

The following example shows a token-based license for the cascading license scenario described above.

language
Code Block
html/xml
FEATURE Sketcher
{
  VENDOR = ABC_Software
 COUNT=10 KEYTYPE=EXCLUSIVE 10
KEYTYPE = EXCLUSIVE
MAJOR_VERSION = 1
MINOR_VERSION = 0
KEY = GTLP4FLUFFDFJB3N87SEVB224G0TJKKP
}
FEATURE MyDraw
{
VENDOR = ABC_Software
KEYTYPE = TOKEN
MAJOR_VERSION = 2
MINOR_VERSION = 0
TOKEN_DEPENDENCY = "FEATURE=SketcherVERSION=1.0
  KEY=2w66Ng3wVSVp6ttmWCc8GyJqW300arlnWmnT01nZXSOIYdF...
}

FEATURE MyDraw
{
  VENDOR=ABC_Software KEYTYPE=TOKEN VERSION=2.0
  TOKEN_DEPENDENCY="FEATURE=Sketcher VERSION=1.0 COUNT=2"
  KEY=4i]mYsfn30C6ShBYszCq2WVicpTZXQwkfKJTohkzg1wNkle... 
}

FEATURE MyWrite
{
  VENDOR=ABC_Software KEYTYPE=TOKEN VERSION=2.0
  TOKEN_DEPENDENCY="FEATURE=MyDraw VERSION=2.0 COUNT=1"
  KEY=mBpIAWB9Uuzl2b2B3v]vcsFBx7qEQG1SwXCz8A9d6U3vSKT...
}

Token sharing

Token-based license is always an unlimited license, therefore sharing tokens makes no sense. However to make sharing token dependencies through the token possible it is allowed.

For example, you may have an application with two modules that are sold separately or together. Each module can have multiple instances of itself with a license shared on the host. But modules cannot share licenses with each other.

It may be implemented using two token-based licenses ModuleA and ModuleB with a common dependency Product. ModuleA takes 3 licenses and ModuleB takes 2 licenses of a Product.

When two instances of each module are running, then without any sharing it would require 10 licenses of RealLicense. With sharing Product only 3 licenses would be in use. Sharing tokens will result in 5 licenses of feature Product in use. Both instances of ModuleA share 2 licenses among themselves and instances of ModuleB share 3 licenses.

Code Block
FEATURE Product
{
  VENDOR=ABC_Software COUNT=10 VERSION=1.0
  KEY=mBpIAWB9Uuzl2b2B3v]vcsFBx7qEQG1SwXCz8A9d6U3vSKT...
}

FEATURE ModuleA
{
  VENDOR=ABC_Software KEYTYPE=TOKEN VERSION=1.0 SHARE=HOST
  TOKEN_DEPENDENCY="FEATURE=Product VERSION=1.0 COUNT=2"
  KEY = HEN3CRJ8VOI6FS5L25KKB0QLRJD3CE4O=4i]mYsfn30C6ShBYszCq2WVicpTZXQwkfKJTohkzg1wNkle...
}

FEATURE MyWriteModuleB
{
  VENDOR = ABC_Software
 KEYTYPE =TOKEN TOKEN
MAJOR_VERSION = 2
MINOR_VERSION = 0
VERSION=1.0 SHARE=HOST
  TOKEN_DEPENDENCY = "FEATURE=MyDrawProduct VERSION=21.0 COUNT=13"
  KEY = ALPO3OP36RLTATVFHOT3H4RONIOV257L=2w66Ng3wVSVp6ttmWCc8GyJqW300arlnWmnT01nZXSOIYdF...
}