Browse Prior Art Database

Method for controlling 'limited use' licenses.

IP.com Disclosure Number: IPCOM000015283D
Original Publication Date: 2001-Nov-16
Included in the Prior Art Database: 2003-Jun-20
Document File: 2 page(s) / 48K

Publishing Venue

IBM

Abstract

It is common for large systems to be sold with other systems embedded for special purposes. For example, MQSeries* Integrator (MQSI) ships with DB2* (both available from IBM* Corporation). The licence for the embedded system is a limited use licence; for use by the embedding product only. However, use is not generally controlled, and it is easy for users (intentionally or unintentionally) to break the terms of the licence. To be specific in the description below the example of MQSI embedding DB2 is used. Details will vary, but the technique is generally applicable.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 55% of the total text.

Page 1 of 2

Method for controlling 'limited use' licenses.

It is common for large systems to be sold with other systems embedded for special purposes. For example, MQSeries* Integrator (MQSI) ships with DB2* (both available from IBM* Corporation).

     The licence for the embedded system is a limited use licence; for use by the embedding product only.

     However, use is not generally controlled, and it is easy for users (intentionally or unintentionally) to break the terms of the licence.

     To be specific in the description below the example of MQSI embedding DB2 is used. Details will vary, but the technique is generally applicable.

Solution

     Control the valid names for resources (eg queue names, database table names) for the limited use system.

MQSI will have a key file (or registry entry or similar) that identifies it to DB2. Valid table names to DB2 will be of the form: <any name prefix><kkkkkkkk>

FREDTABLE53647653

<kkkkkkkk> is computed by a hashing algorithm based on the MQSI key for DB2

the leading part of the table name.


eg


1.


2.

     FullName(key, tablenamePrefix) = tablenamePrefix || hash(key, tablenamePrefix)

     Each time MQSI wishes to create or use a DB2 table, it will use a prefix at least 8 digits shorter than the maximum allowed by DB2.

     MQSI will then call DB2 using the tablename FullName(key, tablenamePrefix) Every time DB2 gets a call using a TableName, it will verify CheckName(TableName)

     CheckName(TableName) len = length(TableName) return (TableName == substr(TableName, 1, len-8) || substr(TableName, len-7, 8))

End

     If the test fails, the operation using the name will be rejected with a licence violation return code.

Variations

     Optionally, a character such as _ will be inserted before the <kkkkkkkk> for legibility.

1

Page 2 of 2

FREDTABLE_53647653

     Optionally, all names will be padded to a standard width for legibility of lists of names

FREDTABLE_______53647653 BILL____________53647653 If permitted as a resource name, blanks may be used for padding. FREDTABLE 53647653
BILL 53647653
The tool...