Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 10

...

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 = VENDOR=ABC_Software
COUNT COUNT= 20
KEYTYPE KEYTYPE= EXCLUSIVE
MAJOR_VERSION VERSION= 1.0
MINOR_VERSION = 2
KEY=bhq3ed873qcrKHG6783rhJgvkhvTUtxcuBiouVtyCuyVy78Gftq... = GTLP4FLUFFDFJB3N87SEVB224G0TJKKP
}

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

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

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

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.

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

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

FEATURE MyDraw
{
VENDOR = VENDOR=ABC_Software
KEYTYPE KEYTYPE= TOKEN
MAJOR_VERSION 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 KEY=mBpIAWB9Uuzl2b2B3v]vcsFBxBx7qEQG1SwXCz8A9dj1g866USKT... ALPO3OP36RLTATVFHOT3H4RONIOV257L
}

...

 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 = VENDOR=ABC_Software
COUNT COUNT= 5
KEYTYPE KEYTYPE= EXCLUSIVE
MAJOR_VERSION VERSION= 1.0
MINOR_VERSION = 0
KEY =mBpIAWB9Uuzl2b2B3v]8GJqW300arlnWmnT01nZXSOIYdF... CTLF6UIWOPPQYH35Q7WPYB7W2NH68JI9
}

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

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

FEATURE MyDraw
{
VENDOR = VENDOR=ABC_Software
KEYTYPE KEYTYPE= TOKEN
MAJOR_VERSION VERSION= 1.0
MINOR_VERSION = 0
TOKEN_DEPENDENCY = "FEATURE=Higher_Priced_License VERSION=1.0 COUNT=10"
 KEY 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 512256. (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.

Code Block
languagehtml/xml
FEATURE Sketcher
{
VENDOR = VENDOR=ABC_Software 
COUNT=10 KEYTYPE=EXCLUSIVE VERSION=1.010
KEYTYPE  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 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=Sketcher VERSION=1.0 COUNT=2"
KEY  KEY=4i]mYsfn30C6ShBYszCq2WVicpTZXQwkfKJTohkzg1wNkle...= HEN3CRJ8VOI6FS5L25KKB0QLRJD3CE4O
}

FEATURE ModuleBMyWrite
{
VENDOR = VENDOR=ABC_Software
KEYTYPE KEYTYPE= TOKEN
MAJOR_VERSION VERSION=1.0 SHARE=HOST
   2
MINOR_VERSION = 0
TOKEN_DEPENDENCY = "FEATURE=ProductMyDraw VERSION=12.0 COUNT=31"
KEY  KEY=2w66Ng3wVSVp6ttmWCc8GyJqW300arlnWmnT01nZXSOIYdF...= ALPO3OP36RLTATVFHOT3H4RONIOV257L
}