JP2001506794A - ライセンス管理システム - Google Patents

ライセンス管理システム

Info

Publication number
JP2001506794A
JP2001506794A JP50685299A JP50685299A JP2001506794A JP 2001506794 A JP2001506794 A JP 2001506794A JP 50685299 A JP50685299 A JP 50685299A JP 50685299 A JP50685299 A JP 50685299A JP 2001506794 A JP2001506794 A JP 2001506794A
Authority
JP
Japan
Prior art keywords
license
licenses
application program
dedicated
daemon
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP50685299A
Other languages
English (en)
Other versions
JP4242458B2 (ja
Inventor
和成 関川
知美 佐藤
ケー. ペーテル,スプリヤ
ディー. サンコッリ,サンジェイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shinko Electric Industries Co Ltd
Original Assignee
Shinko Electric Industries Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shinko Electric Industries Co Ltd filed Critical Shinko Electric Industries Co Ltd
Publication of JP2001506794A publication Critical patent/JP2001506794A/ja
Application granted granted Critical
Publication of JP4242458B2 publication Critical patent/JP4242458B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 単一もしくは複数のコンピュータを駆動するソフトウェアのライセンス管理システムは、自身を駆動するために必要なライセンス数の決定を要求しライセンスの発給を受けるアプリケーション・プログラムと、前記アプリケーション・プログラムからの要求に応じて必要なライセンス数を決定するライセンス数決定部と、前記ライセンス数決定部にて決定されたライセンス数を発給するライセンス管理部とを具備する。さらに、前記ライセンス数決定部は、以下の多項式関数、LK=f(x1,x2,....,xn)、但し、LKはライセンス数、x1乃至xnはライセンス数の決定に必要なパラメータ、に基づき必要なライセンス数を決定する手段を有する。本発明によれば、ソフトウェアメーカーの販売戦略が考慮されたライセンスの発給を可能にするライセンス管理システムを提供することができる。

Description

【発明の詳細な説明】 ライセンス管理システム 技術分野 本発明はソフトウェアのライセンス管理システムに関し、特に、ソフトウェア メーカーから所望のソフトウェアをユーザに提供する際に、当該ユーザの使用環 境に応じた自在なソフトウェアライセンスの発給を可能とするライセンス管理シ ステムに関する。 背景技術 近年、コンピュータがあらゆる分野で広く利用されるようになるにつれて、ソ フトウェアそれ自体の開発のみならず、ソフトウェアメーカーがユーザにソフト ウェアを発給する際に、又はソフトウェアの発給後に、ソフトウェアのライセン ス管理もまた重要なものとなっている。 一般に、ソフトウェアはソフトウェアメーカーが開発し、ハードウェア(コン ピュータ)を持つユーザがそのソフトウェアを所定のライセンス契約に基づき使 用する。ソフトウェアを供給した後に、ソフトウェアメーカーはライセンス管理 を実行し、即ち、そのソフトウェアが所定のライセンス契約どおり適正に使用さ れているか否かチェックする。 従来、ライセンス契約には主に2の形式がある。即ち、フローティング・ライ センスシステムとノードロック・ライセンスシステムである。前者では、ソフト ウェアの起動毎にライセンス数が一つずつ減少し、ソフトウェアの終了毎に一つ ずつライセンス数が増加するシステムである。後者は、ユーザ側にて使用するハ ードウェアが 固定されており、ソフトウェアメーカーは、ソフトウェアの本数によらず所定の 一定価格にてライセンスを発給する。 さらに、前者において、ユーザが複数のワークステーション(例えば10台) を同じソフトウェアで稼働させたい場合には、ソフトウェアメーカーは10本分 のライセンスの価格でユーザからライセンス契約をとる。 前者によれば、ソフトウェアメーカーはソフトウェア単価を高く設定できる利 点がある。一方、ユーザは自身が扱うことができるソフトウェアについて使用上 のフレキシビリティを持つ利点がある。 一方、後者において、ユーザで使用するハードウェアは固定され、ソフトウェ アの数とその性能によらず所定の一定価格にてライセンス契約を発給する。 後者によれば、ユーザはソフトウェアを低い価格単位で設定できる利点がある 。しかしながら、使用するハードウェアが固定されているのでソフトウェアの使 用上においてフレキシビリティに欠ける。さらに全てのソフトウェアが1つのハ ードウェアで扱われるので、システム全体の処理速度が悪化する問題がある。 以上説明のように、従来のライセンスシステムではソフトウェアメーカー側に とってもユーザ側にとっても種々の問題がある。特に、ソフトウェアメーカー側 にとってはその販売戦略を考慮したライセンスの発給ができないという問題があ る。従って、ソフトウェアメーカーは、多額の費用を投入して開発したソフトウ ェアを適正な価格でユーザに供給すべく最適なライセンス管理を探究し開発して きた。 発明の開示 本発明の目的は、ソフトウェアメーカーの販売戦略を考慮したラ イセンスの発給を可能にするライセンス管理システムを提供することにある。 本発明は、単一もしくは複数のコンピュータを駆動するソフトウェアのライセ ンス管理システムであって、自身を駆動するために必要なライセンス数の決定を 要求し、ライセンスの発給を受けるアプリケーション・プログラムと、前記アプ リケーション・プログラムからの要求に応じて必要なライセンス数を決定するラ イセンス数決定部と、前記ライセンス数決定部にて決定されたライセンス数を前 記アプリケーション・プログラムに対して発給するライセンス管理部とを具備す る。 前記ライセンス数決定部は、以下の多項式関数に基づきライセンス数を決定す る手段を含む。 LK=f(x1,x2,....,xn) 但し、LKはライセンス数、xnはライセンス数の決定に必要なパラメータで ある。 さらに、本発明は、少なくともライセンス管理部と、アプリケーション・プロ グラムと、ライセンス数決定部とを備え、単一もしくは複数のコンピュータを駆 動するソフトウェアのライセンス管理システムにおけるライセンス管理方法であ って、 アプリケーション・プログラムが起動された際に、前記アプリケーション・プ ログラム自身の起動に必要なライセンス数を多項式関数に代入してもらうために 、パラメータを前記アプリケーション・プログラムから前記ライセンス数決定部 に渡す段階と、 ライセンス数決定部において、ライセンス数の決定に必要なパラメータの値を 調べてライセンス数を決定し、前記アプリケーション・プログラムから渡された パラメータに決定したライセンス数を代入し、前記アプリケーション・プログラ ムにパラメータを返す段階 と、 アプリケーション・プログラムからライセンス管理部に、自身が必要とするラ イセンス数をパラメータを渡すことによって通知し、ライセンスを要求する段階 と、 ライセンス管理部においてライセンス数決定部から正常フラグを受けると、保 持しているライセンス数から必要なライセンス数分を減らし、その結果、ライセ ンス管理部にて保持しているライセンス数が負にならなければ、正常フラグをア プリケーション・プログラムに返すとともに、前記アプリケーション・プログラ ムにライセンスを発給する段階とを具備する。 図面の簡単な説明 図1〜図5は、ソフトウェアメーカーの販売戦略の説明図である。 図6は、本発明によるライセンス管理システムの第1の実施形態としての基本 構成図である。 図7は、本発明によるライセンス管理システムの第2の実施形態としての基本 構成図である。 図8は、本発明によるライセンス管理システムの第3の実施形態としての基本 構成図である。 図9は、本発明によるライセンス管理システムの第4の実施形態としての基本 構成図である。 図10は、ライセンスデーモンとアプリケーション・プログラムとの間の起動 処理の説明図である。 図11は、ライセンスデーモンにおけるフォーク処理の説明図である。 図12は、アプリケーション・プログラムにおけるフォーク処理 の説明図である。 図13は、アプリケーション・プログラムの終了処理の説明図である。 図14は、専用アプリケーション・マネージャからの強制終了の説明図である 。 図15は、アプリケーション・プログラムの終了報告の説明図である。 図16は、専用ライセンスデーモンに対する終了処理の説明図である。 図17は、専用ライセンスデーモンからの調査要求の説明図である。 図18は、専用アプリケーション・マネージャからの正常通知の説明図である 。 図19は、専用ライセンスデーモンからの再起動処理の説明図である。 図20は、専用ライセンスデーモンにおけるライセンス解除処理の説明図であ る。 図21は、専用アプリケーション・マネージャから専用ライセンスデーモンへ の調査要求の説明図である。 図22は、専用ライセンスデーモンから専用アプリケーション・マネージャへ の正常通知の説明図である。 図23は、専用アプリケーション・マネージャにおける無効情報の説明図であ る。 図24は、専用アプリケーション・マネージャにおける終了処理の説明図であ る。 図25は、専用ライセンスデーモンにおける再起動の説明図である。 図26は、ライセンスデーモンからの無効通知の説明図である。 図27は、ライセンスデーモンからの再起動通知の説明図である。 図28は、専用ライセンスデーモンからライセンスデーモンへのポーリング処 理の説明図である。 図29は、ライセンスデーモンにおける終了処理の説明図である。 図30は、専用アプリケーション・マネージャAPCM1が所定の処理時間内 にアプリケーション・プログラムAP1から命令CORを受けない場合における 、ライセンスデーモンにおける終了処理の説明図である。 図31は、ライセンスデーモンにおける異常終了の説明図である。 図32は、アプリケーション・プログラムにおける異常終了の説明図である。 図33は、ライセンスデーモンと専用アプリケーション・マネージャとの間に おける異常終了の説明図である。 図34は、アプリケーション・プログラムと専用アプリケーション・マネージ ャの両方における異常終了の説明図である。 図35は、アプリケーション・プログラムと専用ライセンスデーモンの両方に おける異常終了の説明図である。 図36は、ライセンスデーモンと専用ライセンスデーモンの両方における異常 終了の説明図(その1)である。 図37は、ライセンスデーモンが図36の説明で記載された状況の後に再起動 する場合の説明図である。 図38は、システム構成の説明図である。 図39は、ライセンス数(キー数)を決定するフローチャートで ある。 図40(A)乃至図40(I)は、キー数を決定する実関数リストである。 図41(A)乃至図41(F)は、プログラムの一例の説明図である。 図42(A)乃至図42(C)は上記プログラムの実行結果の説明図である。 発明を実施するための最良の形態 図1〜図5はソフトウェアメーカーの販売戦略の説明図である。 本明細書では、ライセンスを「キー」(“key”)とも称し、ライセンス数は キー数とも称する。既存のライセンスシステムでは、「キー数=ライセンス数」 であり、キー数はソフトウェアの価値と同じと考えることができる。しかしなが ら、適正なライセンス管理を実現するためには、キー数とライセンス数の間に所 定の相関関係(後述する関数“f”に対応する関係)を実現することが望ましい 。例えば、キー数がライセンス数に比例する関係を持つことが望ましい。 以下の5つのパターンは、図1乃至図5に示すように、ソフトウェアメーカー の販売戦略において考慮しなければならない。 図1に示すように、アプリケーション・プログラムが、メモリを多く備えた高 速ハードウェアにおいて高速で動作するように特化された設計の場合には、ソフ トウェアの設計は複雑となり、その結果ソフトウェアは価値の高いものとなる。 従って、多くのメモリを持つハードウェアがユーザ側で使用されるときは、ソフ トウェアメーカーはユーザに対してメモリ数が多ければ多いほどより多くのキー 数を要求すべきである。 図2に示すように、図1の状況では、コンピュータの性能が高いほどコンピュ ータの単位時間当たりの処理能力が向上する。従って、ソフトウェアメーカーは コンピュータの性能が高ければ高いほどユーザに対してより多くのキー数を要求 すべきである。 図3に示すように、アプリケーション・プログラムが特化されていない設計の 場合には、ユーザから見れば、コンピュータの性能が高いほどソフトウェアの見 かけの性能が高くなるのであるから、アプリケーション・プログラムは少ないキ ー数で動作すべきである、との見方もある。このような見方のときは、ソフトウ ェアメーカーは、少ないキー数でソフトウェアを起動できるように考慮すべきで ある。しかしながら、これは特殊な場合である。例えば、そのソフトウェアがま だ開発と設計途上にあり、その性能がソフトウェアメーカーにおいて最終的に決 定されていない場合に、ソフトウェアメーカーはソフトウェア性能を改善するた めにユーザ側にてそのソフトウェアを使用して欲しいと願う。 図4に示すように、ソフトウェアを大量購入するユーザに対しては、購入した キー数に応じて必要なキー数を段階的に減らす。従って、この場合、ソフトウェ アメーカーにおいてソフトウェアの実質的な単価を下げる必要がある。 図5に示すように、ソフトウェアメーカーは、ソフトウェアを所定の期日まで は無償(必要キー数が「0」に相当)で供給し、その期日以降はソフトウェアを 有償(キー数が「0」より大きいに相当)で供給する。 以上のように、ユーザのソフトウェア使用上の諸要因、即ち、ハードウェア的 な要因、処理時間的な要因、価格的な要因、等の諸要因に応じて、キー数を決定 するようなライセンス管理システムを提供する必要がある。 本発明は、ソフトウェアメーカー側で柔軟にパラメータを設定できるキー数の 発給を実行することを目的とする。 上記の目的を達成するために、本発明では、まず、必要なキー数(ライセンス 数)を決定する機能(キー数決定手段)を持つ。ライセンス数決定部では、次式 に示す多項式関数に基づいてライセンス数を決定する。 LK=f(x1,x2,....,xn) ・・・・ (1) ここで、LKはライセンス数、xnはライセンス数の決定に必要なパラメータ である。パラメータとして、図1乃至図5で説明したようなハードウェアのメモ リ容量、システムのクロックスピード、さらにソフトウェアメーカー側で自由に 設定可能な項目、その他、がある。 さらに、本発明では、ソフトウェアが起動された際に、キー数を決定するため に必要なパラメータ値を取得する機能(パラメータ値取得手段)を持つ。 キー数LKが常に「1」となるように設定される場合は、従来のシステムと等 価となる。これは、本発明のシステムが従来システムの上位に位置にランクされ 、従来との互換性を持つことを意味する。従って、本発明の機能に基づいて、ソ フトウェアメーカー側にて販売戦略が考慮されたキー数の発給を実現することが できる。さらに、従来の固定キー数を利用することも可能である。その結果、ソ フトウェアに対して改善されたライセンス管理システムを提供することができる 。 図6は本発明によるライセンス管理システムの第1の実施形態としての基本構 成図である。図中、Aはライセンス管理部、Bはアプリケーション・プログラム 、Cはキー数決定部(デーモンプログラム)である。周知のように、デーモンプ ログラムとはオペレーショ ンシステム(OS)上でバックグランドで自動的に実行されるプログラムである 。また、本発明において、データの授受は、全て、例えばTCP/IP(Transmi ssion Control Protocol/Internet Protocol)のようなUNIX系のネットワー クを介して行われる。なお、以下の図中の数字は処理手順を示す。 処理手順1:アプリケーション・プログラムBが起動された際に、アプリケー ション・プログラムを起動するのに必要なキー数を代入するためにパラメータ( 例えば、NoOfKeys)をキー数決定部Cに渡す。 処理手順2:キー数決定部Cは、キー数の決定に必要なパラメータの値を調べ てキー数を決定し、アプリケーション・プログラムから渡されたパラメータ(No OfKeys)に決定された値を代入し、アプリケーション・プログラムBにパラメー タを返す。 処理手順3:アプリケーション・プログラムBは、ライセンス管理部Aに、必 要とするキー数をパラメータ(NoOfKeys)を渡すことにより通知しライセンスを 要求する。 処理手順4:ライセンス管理部Aは、アプリケーション・プログラムBの要求 するキー数が正しいか否か確認するために、アプリケーション・プログラムから 通知されたキー数(NoOfKeys)をキー数決定部Cに通知する。 処理手順5:キー数決定部Cは、アプリケーション・プログラムBからライセ ンス管理部Aに通知されたキー数と、アプリケーション・プログラムBに通知し た必要なキー数とを比較する。キー数が正しければ、キー数決定部Cは正常フラ グをライセンス管理部Aに返す。 なお、処理手順4及び5は正当な要求が実行されたか否かの確認のためであり 、任意の手順である。 処理手順6:ライセンス管理部Aは、キー数決定部Cから正常フラグを受ける と、保持しているキー数から必要なキー数分を減らし、ライセンス管理部に保持 されているキー数が負にならなければ、正常フラグをアプリケーション・プログ ラムBに返し、アプリケーション・プログラムBにライセンスを発給する。アプ リケーション・プログラムBはライセンスの発給を受けると、実行可能なアプリ ケーション・プログラムとなる。もし、拒絶を示す異常フラグ、例えば、保持し ているキー数が負になることを示すフラグ、がライセンス管理部Aから返された ときは、アプリケーション・プログラムBはその時点で終了する。 図7は本発明によるライセンス管理システムの第2の実施形態としての基本構 成図である。上記の第1の実施形態ではキー数決定部Cは独立したデーモンプロ グラムとして動作する。本実施形態では、キー数決定関数C’を関数コールとし てアプリケーション・プログラム内に組み込んでいる。この場合では第1の実施 形態とは異なり、処理手順1は可変引数の関数コールとして与えられ、処理手順 2はその戻り値として与えられる。さらに、キー数は式(1)に基づいてキー数 決定部C自身を含むアプリケーション・プログラムにより決定される。 処理手順1:アプリケーション・プログラムBが起動された際に、自身の起動 に必要なキー数を受けるためにパラメータ(NoOfKeys)をキー数決定関数C’に 渡す。 処理手順2:キー数決定関数C’は、パラメータの必要な値を調べ、キー数を 決定する。さらに、キー数決定関数C’はアプリケーション・プログラムBから 渡されたパラメータに値を代入し、アプリケーション・プログラムBに対して値 とともにパラメータ(NoOfKeys)を返す。 処理手順3:アプリケーション・プログラムBは、ライセンス管理部Aに必要 なキー数を、パラメータ(NoofKeys)を渡すことにより通知し、ライセンスを要 求する。 第1の実施形態で説明した処理手順4及び5は任意なのでここでは省略する。 処理手順6:ライセンス管理部Aは、アプリケーション・プログラムBから要 求を受けると、ライセンス管理部A自身に保持しているキー数から必要なキー数 分を減らす。減算の結果、保持しているキー数が負にならなければ、ライセンス 管理部Aは正常フラグをアプリケーション・プログラムBに返し、アプリケーシ ョン・プログラムBにライセンスを発給する。アプリケーション・プログラムB はライセンスの発給を受けると、実行可能なアプリケーション・プログラムとな る。もし、ライセンス管理部Aから異常フラグが返されたときは、アプリケーシ ョン・プログラムBはその時点で終了する。 図8は本発明によるライセンス管理システムの第3の実施形態としての基本構 成図である。上記の第1の実施形態では、ソフトウェアメーカー側の都合で、多 項式関数を変更する際には、直接、キー数決定部Cを変更する方法をとっていた 。本実施形態では、多項式関数を決定するデータベースDが、キー数決定部Cに 多項式関数を読み込ませるために別途に用意される。この場合、多項式関数を変 更する際には、データベースDを変更し、その結果、キー数決定部Cにおける多 項式関数の変更は不要となる。 処理手順1:アプリケーション・プログラムBが起動された際に、アプリケー ション・プログラム自身の起動に必要なキー数を代入してもらうため、パラメー タ(NoOfKeys)をキー数決定部Cに渡す。 処理手順2:キーy数決定部Cは、データベースDからデータを読み込み(処 理手順7を参照)多項式関数を決定する。さらに、キー数決定関数Cは、必要な パラメータの値を調査してキー数を決定する。さらに、キー数決定関数Cは、ア プリケーション・プログラムBから渡されたパラメータに値を代入し、アプリケ ーション・プログラムBに値とともに返す。 処理手順3:アプリケーション・プログラムBは、ライセンス管理部Aに必要 なキー数をパラメータ(NoOfKeys)を渡すことにより通知し、ライセンスを要求 する。 第1の実施形態で説明した処理手順4及び5は任意なのでここでは省略する。 処理手順6:ライセンス管理部Aがキー数関数Cから正常フラグを受けると、 ライセンス管理部A自身に保持されているキー数から必要なキー数分を減らす。 減算の結果、保持しているキー数が負にならなければ、ライセンス管理部Aは、 正常フラグをアプリケーション・ブログラムBに返すとともにライセンスを発給 する。アプリケーション・プログラムBはライセンスの発給を受けると、実行可 能なアプリケーション・プログラムとなる。もし、ライセンス管理部Aから異常 フラグが返されたときは、アプリケーション・プログラムBはその時点で終了す る。 図9は本発明におけるライセンス管理システムの第4の実施形態としての基本 構成図である。上記のように第2の実施形態では、キ一数決定関数C’は関数コ ールとしてアプリケーション・プログラムBに組み込まれている。本実施形態で は、多項式関数を決定するデータベースD’は、キー数決定部Cに多項式関数を 読み込ませるために別途に用意される。この場合、多項式関数を変更する際には 、データベースD’が変更され、その結果、キー数決定関数C’で の多項式関数の変更は不要となる。 処理手順1:アプリケーション・プログラムBが起動された際に、アプリケー ション・プログラム自身の起動に必要なキー数を受けるために、パラメータ(No OfKeys)をキー数決定関数C’に渡す。 処理手順2:キー数決定部Cは、データベースD’からデータを読み込み(処 理手順7を参照)、多項式関数を決定する。さらに、キー数決定関数C’は、必 要なパラメータの値を調べてキー数を決定する。さらに、キー数決定関数C’は 、アプリケーション・プログラムBから渡されたパラメータ(NoOfKeys)に値を 代入し、アプリケーション・プログラムBに値とともに返す。 処理手順3:アプリケーション・プログラムBは、ライセンス管理部Aに必要 なキー数を、パラメータ(NoOfKeys)を渡すことにより通知し、ライセンスを要 求する。 第1の実施形態で説明した処理手順4及び5は任意なのでここでは省略する。 処理手順6:ライセンス管理部Aは、アプリケーション・プログラムBから要 求を受けると、ライセンス管理部A自身に保持されているキー数から必要なキー 数分を減らす。減算の結果、保持しているキー数が負にならなければ、ライセン ス管理部Aは、正常フラグをアプリケーション・プログラムBに返すとともにラ イセンスを発給する。アプリケーション・プログラムBはライセンスの発給を受 けると、実行可能なアプリケーション・プログラムとなる。もし、ライセンス管 理部Aから異常フラグが返されたときは、アプリケーション・プログラムBはそ の時点で終了する。 次に、図6〜図9の処理手順を以降の図面にそってさらに詳しく説明する。以 下の説明は、ライセンス管理部Aとアプリケーション・プログラムBの間の処理 手順3及び6をさらに具体的に説明する ものである。 ライセンス管理部Aにおいて、従来は、1つのライセンスデーモン(デーモン プログラム)がそれぞれのアプリケーション・プログラムとやりとりを行う方法 により、アプリケーション・プログラムの動作が正常に行われているか否か調査 していた。 しかしながら、この方法では、ライセンスデーモンは各アプリケーション・プ ログラムとの間で多くの煩雑なやりとりが必要である。例えば、ライセンスデー モンが各アプリケーション・プログラムに所定項目を調査する調査要求を送り、 各アプリケーション・プログラムはデーモンプログラムに調査要求に対する回答 を戻す。この場合、回答が各アプリケーション・プログラムからデーモンプログ ラムに同時に戻されるので、多くの回答がライセンスデーモンにて待機状態とな る。これはライセンスデーモンに多くの負荷が与えられるからである。その結果 、ライセンスデーモンにおいて各回答に対する処理時間が遅延し、その結果ソフ トウェアの性能も悪化する。 従って、本発明は、ライセンスデーモンにおける負担を低減し、それぞれのソ フトウェア(即ち、アプリケーション・プログラム)における処理時間の遅延を 除去することを目的とする。 上述の目的を達成するために、本発明では専用ライセンスデーモン(APSM :Application Program Server Manager)と専用アプリケーション・マネージャ (APCM:Application Program Client Manager)がライセンスデーモン及び アプリケーション・プログラムに追加して用意され、種々のやりとりが以下に詳 細に説明するように専用ライセンスデーモン(APSM)と専用アプリケーショ ン・マネージャ(APCM)の間で実行される。 図10は、ライセンスデーモンとアプリケーション・プログラム との間の起動処理の説明図である。ユーザがアプリケーション・プログラムの起 動処理を実行すると、アプリケーション・プログラム(AP1)は、実行許可( ライセンス)を得るために、ライセンスデーモン(LDP)に、申請(CIR:C heck-In Request)を送る。 図11は、ライセンスデーモンにおけるフォーク処理の説明図である。ライセ ンスデーモン(LDP)は、専用ライセンスデーモン(APSM1)を設立する ためにフォーク命令を発生する。専用ライセンスデーモン(APSM1)は、ア プリケーション・プログラム(AP1)に対して、実行許可(CIRC:Check-I n Request Confirmation)を送り、ライセンスを発給する。この場合、以下の3 っの状態が考えられる。 a)専用ライセンスデーモン(APSM1)から実行許可(CIRC)が得ら れないときは、アプリケーション・プログラム(AP1)は処理を終了する。 b)専用ライセンスデーモン(APSM1)から実行許可(CIRC)は得ら れたが、「無効な」内容を含むものであれば、アプリケーション・プログラム( AP1)はユーザに「無効」を通知する。 c)専用ライセンスデーモン(APSM1)から実行許可(CIRC)が得ら れ、かつ「有効な」内容を含むときは、アプリケーション・プログラム(AP1 )は専用アプリケーション・マネージャ(APCM1)を設立するためにフォー ク命令を発生する。 図12は、アプリケーション・プログラムにおけるフォーク処理の説明図であ る。上記のc)項で説明したように、専用ライセンスデーモン(APSM1)か ら実行許可(CIRC)が得られ、かつ「有効な」内容を含むときは、アプリケ ーション・プログラム(A P1)は専用アプリケーション・マネージャ(APCM1)を設立するためにフ ォーク命令を発生する。この処理以降、ライセンス管理に関するやりとりは、専 用ライセンスデーモン(APSM1)と専用アプリケーション・マネージャ(A PCM1)との間で実行される。アプリケーション・プログラム(AP1)はそ れ自身のプログラムの実行を開始する。 図13は、アプリケーション・プログラムの終了処理の説明図である。ユーザ がアプリケーション・プログラム(AP1)の終了処理を実行すると、アプリケ ーション・プログラム(AP1)は終了要求(SIGUSR2:UNIXのシグ ナルの一種)を専用アプリケーション・マネージャ(APCM1)に送り、アプ リケーション・プログラム(AP1)は終了する。 図14は、専用アプリケーション・マネージャからの強制終了の説明図である 。アプリケーション・プログラム(AP1)が、終了要求(SIGUSR2)を 送出した後に万一終了しない場合は、専用アプリケーション・マネージャ(AP CM1)は、パイプ(PIPE)に無効情報+ve(正の値)を設定する。アプ リケーション・プログラム(AP1)は無効情報+veを読み込み、それ自身を 終了する。 図15は、アプリケーション・プログラムの終了報告の説明図である。アプリ ケーション・プログラム(AP1)が終了していれば、専用アプリケーション・ マネージャ(APCM1)は、アプリケーション・プログラム(AP1)の終了 を示す終了報告(CORC:Check-Out Request Confirmation)をライセンスデ ーモン(LDP)に送り、専用アプリケーション・マネージャ(APCM1)は 終了する。 図16は、専用ライセンスデーモンに対する終了処理の説明図で ある。最後に、ライセンスデーモン(LDP)は、アプリケーション・プログラ ム(AP1)が終了した後にデータベースに情報を書き込み、専用アプリケーシ ョン・デーモン(APSM1)自身が終了するように終了命令(SIGKILL :UNIXのシグナル)を専用ライセンスデーモン(APSM1)に発生する。 次に、専用ライセンスデーモンと専用アプリケーション・マネージャとの間の ポーリング動作について説明する。専用ライセンスデーモンと専用アプリケーシ ョン・マネージャでは、これらの間で正常なやりとりが実行されているか否かを 調べるために定期的なポーリングを行う。 図17は、専用ライセンスデーモンからの調査要求の説明図である。専用ライ センスデーモン(APSM1)は、専用アプリケーション・マネージャ(APC M1)に対して、専用アプリケーション・マネージャ(APCM1)が正常に動 作しているか否かを調べるために、調査要求(APPR:Application Program Poll Request)を、専用アプリケーション・マネージャ(APCM1)にに送る 。 図18は、専用アプリケーション・マネージャからの正常通知の説明図である 。専用アプリケーション・マネージャ(APCM1)は、専用ライセンスデーモ ン(APSM1)からの内容と専用アプリケーション・マネージャ(APCM1 )自身からの内容のチェックが成功すれば、正常通知(APPC:application p rogram poll confirmation)を専用ライセンス・デーモン(APSM1)に送る 。 図19は専用ライセンスデーモンからの再起動処理の説明図である。専用ライ センスデーモン(APSM1)が、専用アプリケーション・マネージャ(APC M1)から異常応答を受けると(Heart Beat Message Exchange Fails)、専用ライセンスデーモン(APSM1)はライ センスデーモン(LDP)に命令(CORC)を送り、それ自身を終了する。 図20は、専用ライセンスデーモンにおけるライセンス解除処理の説明図であ る。ライセンスデーモン(LDP)がアプリケーション・プログラム(AP1) を無効にし、アプリケーション・プログラム(AP1)に割り当てられたライセ ンスキーを解除する。 次に、専用アプリケーション・マネージャ(APCM1)から専用ライセンス デーモン(APSM1)へのポーリング動作について以下に説明する。 図21は、専用アプリケーション・マネージャから専用ライセンスデーモンへ の調査要求の説明図である。専用アプリケーション・マネージャ(APCM1) は、専用ライセンスデーモン(APSM1)へ調査要求(APRR:Application Program Re-validation Request)を送る。 図22は、専用ライセンスデーモンから専用アプリケーション・マネージャへ の正常通知の説明図である。専用ライセンスデーモン(APSM1)は、専用ア プリケーション・マネージャ(APCM1)からの内容と専用ライセンスデーモ ンそれ自身からの内容が成功すれば正常通知(APRC:Application Program Re-validation Confirmation)を専用アプリケーション・マネージャ(APCM 1)に送る。 図23は、専用アプリケーション・マネージャにおける無効情報の説明図であ る。専用アプリケーション・マネージャ(APCM1)における内容と、専用ラ イセンスデーモン(APSM1)における内容のチェックが成功しないときは、 専用アプリケーション・マネージャ(APCM1)はパイプに無効情報+ve( 正の値)を設 定する。アプリケーション・プログラム(AP1)はこの無効情報を読んで自身 を終了する。 図24は、専用アプリケーション・マネージャにおける終了処理の説明図であ る。専用アプリケーション・マネージャ(APCM1)は終了命令を親アプリケ ーション・プログラムに送った後に自身を終了する。 次に専用ライセンスデーモンの異常終了について説明する。 図25は、専用ライセンスデーモンにおける再起動の説明図である。専用アプ リケーション・マネージャ(APCM1)が、専用ライセンスデーモン(APS M1)の異常終了を検出すると、専用アプリケーション・マネージャ(APCM 1)は、専用ライセンスデーモン(APSM1)を再起動させるために、要求( APRIR:Application Program Re-Initiation Confirmation)をライセンス デーモン(LDP)に送る。 図26は、ライセンスデーモンからの無効通知の説明図である。ライセンスデ ーモン(LDP)は、専用ライセンスデーモン(APSM1)が再起動要求を無 効にしたことを検出したときは、ライセンスデーモン(LDP)は、専用ライセ ンスデーモン(APSM1)が再起動しなかったことを示す通知(APRIC: Application Program Re-Initiation Confirmation)を、専用アプリケーション ・マネージャ(APCM1)に送る。さらに、専用アプリケーション・マネージ ャ(APCM1)は自身を終了し、そしてアプリケーション・プログラム(AP 1)は終了する。 図27は、ライセンスデーモンからの再起動通知の説明図である。ライセンス デーモン(LDP)は、専用ライセンスデーモン(APSM1)が再起動要求を 有効にしたことを検出したときは、ライセンスデーモン(LDP)は、フォーク 命令に基づいて新専用ライ センスデーモン(APSM1’)を提供する。新専用ライセンスデーモン(AP SM1’)はデータベースを更新し、専用ライセンスデーモンが再起動したこと を示す通知(APRIC)を専用アプリケーション・マネージャ(APCM1) に送る。 図28は、専用ライセンデーモンからライセンスデーモンへのポーリングの説 明図である。専用ライセンスデーモン(APSM1)はライセンスデーモン(L DP)を定期的にポーリングする。もし、専用ライセンスデーモン(APSM1 )が、ライセンスデーモン(LDP)のエクジット(EXIT)を見つけたなら ば(ステップ1)、専用ライセンスデーモン(APSM1)自身は終了する(ス テップ2)。従って、アプリケーション・プログラム(AP1)の正常動作は、 専用アプリケーション・マネージャ(APCM1)により中断され(ステップ3 )、専用アプリケーション・マネージャ(APCM1)は通知(APRIR)を ライセンスデーモン(LDP)に送る試みをループ(loop)する(ステップ4)。 図29は、ライセンスデーモンの終了の説明図である。ライセンスデーモン( LDP)はシステム管理部からのリクエストにより終了する。終了モードには2 つある。即ち、通常終了(TR1)と他の終了(TR2)である。ライセンスデ ーモン(LDP)は、終了要求(TR2)を受けた後に、ライセンスキーを持っ ている有効なアプリケーション・プログラム(AP1)を調査し、終了命令(S DC:Shut Down Command)を専用アプリケーション・マネージャ(APCM1) に送る(ステップ1)。 専用アプリケーション・マネージャ(APCM1)は専用ライセンスデーモン (APSM1)から終了命令(SDC)を受けると、専用アプリケーション・マ ネージャ(APCM1)はこれを優先的メッセージとして扱い、直ちにそれ自身 の終了を決定する。専用ア プリケーション・マネージャ(APCM1)は、アプリケーション・プログラム (AP1)の終了前に専用アプリケーション・プログラム(APCM1)に命令 (SIGUSR2:UNIXのシグナルの一種)を確実に送るようにアプリケー ション・プログラム(AP1)を強制する(ステップ2)。専用アプリケーショ ン・プログラム(APCM1)は、アプリケーション・プログラム(AP1)か ら命令(SIGUSR2)を受けた後に、図13乃至図16に示す処理に従って 正常終了を実行する。 図30は、ライセンスデーモンにおける終了処理の説明図である。専用アプリ ケーション・マネージャ(APCM1)が図29に示す所定の処理時間内にアプ リケーション・プログラム(AP1)から命令(SIGUSR2)を受け取らな いときは、専用アプリケーション・マネージャ(APCM1)はシグナル(SI GKILL)をアブリケーション・プログラム(AP1)に送り(ステップ1) 、アプリケーション・プログラム(AP1)は終了する(ステップ2)。 専用アプリケーション・マネージャ(APCM1)は所定時間の後に、自身を 終了し(ステップ3)、命令(CORC)を使用するライセンスデーモン(LD P)にこの終了を通知する(ステップ4)。この場合、ライセンスデーモン(L DP)は所定の時間の間、専用アプリケーション・マネージャ(APCM1)か らの命令(CORC)を待つ。もしライセンスデーモン(LDP)が専用アプリ ケーション・マネージャ(APCM1)から命令(CORC)を受け取っていな ければ、ライセンスデーモン(LDP)は専用ライセンスデーモン(APSM1 )を終了させる(ステップ5)。 図31は、ライセンスデーモンにおける異常終了の説明図である。ライセンス デーモン(LDP)が異常終了したとき、専用アプリ ケーション・マネージャ(APCM1)はアプリケーション・プログラム(AP 1)における通常動作を中断させ(ステップ1)、それ自身も中断する(ステッ プ2)。ライセンスデーモン(LDP)が異常終了した後、再起動すると、ライ センスデーモン(LDP)は、専用ライセンスデーモン(APSM1)が異常終 了後に終了したかを調査する(ステップ3)。 ライセンスデーモン(LDP)は、専用アプリケーション・マネージャ(AP CM1)にて命令(APRIR)のペンディング状態を調査する。もし、命令( APRIR)が専用アプリケーション・マネージャ(APCM1)にてペンディ ングであれば、ライセンスデーモン(LDP)は専用アプリケーション・マネー ジャ(APCM1)から命令(APRIR)を受け入れる(ステップ4)。専用 ライセンスデーモン(APSM1’)は、ライセンスデーモン(LDP)が専用 アプリケーション・マネージャ(APCM1)から命令(APRIR)を受け入 れた時のみリカバーする(ステップ5)。ライセンスデーモン(LDP)は通常 動作を開始する。 図32は、アプリケーション・プログラムにおける異常終了の説明図である。 もし、アプリケーション・プログラム(AP1)が専用アプリケーション・マネ ージャ(APCM1)に命令(SIGUSR2)を送らずに終了した時は、専用 アプリケーション・マネージャ(APCM1)は専用ライセンスデーモン(AP SM1)へ命令(APRR)を送り(ステップ1)、アプリケーション・プログ ラム(AP1)の存在を調べる(ポーリングする)(ステップ2)。もし専用ア プリケーション・マネージャ(APCM1)が、アプリケーション・プログラム (AP1)が専用アプリケーション・マネージャ(APCM1)に知らせずに終 了したのを見つけたならば、専用アプリケーション・マネージャ(APCM1) はライセンス デーモン(LDP)に命令(CORC)を送る(ステップ3)。 図33は、専用ライセンスデーモンと専用アプリケーション・マネージャの異 常終了の説明図である。専用アプリケーション・マネージャ(APCM1)が終 了した後(ステップ1)、アプリケーション・プログラム(AP1)は、アプリ ケーション・プログラム(AP1)と専用アプリケーション・マネージャ(AP CM1)との間に設けられたパイプの情報+ve(正の値)を調査した後に終了 する(ステップ2)。ライセンスデーモン(LDP)は専用ライセンスデーモン (APSM1)からシグナル(SIGCLD)を受けて(ステップ3)、アプリ ケーション・プログラム(AP1)へライセンスキーを解除する。 図34は、アプリケーション・プログラムと専用アプリケーション・マネージ ャが共に異常終了する場合の説明図である。専用アプリケーション・プログラム (AP1)と専用アプリケーション・マネージャ(APCM1)が共にライセン スデーモン(LDP)か専用ライセンスデーモン(APSM1)のどちらかに知 らせずに異常終了した時(ステップ1)、専用ライセンスデーモン(APSM1 )は要求(APPR:Application Program Poll Request)に対する確認(AP PC:Application Program Poll Confirmation)を取得しない(ステップ2)。 専用ライセンスデーモン(APSM1)は専用アプリケーション・マネージャ (APCM1)の終了を見つけた後(ステップ4)、専用ライセンスデーモン( APSM1)はアプリケーション・プログラム(AP1)の存在を調査する.も しアプリケーション・プログラム(AP1)が存在するならば、専用ライセンス デーモン(APSM1)は、ポーリングを通してアプリケーション・プログラム (AP1)の終了を待つ(ステップ6)。その後、専用ライセンス デーモン(APSM1)は命令(CORC)を使用してライセンスデーモン(L DP)に通知する。ライセンスデーモン(LDP)はアプリケーション・プログ ラム(AP1)に割り当てられたライセンスキーを解除する。 図35は、アプリケーション・プログラムと専用ライセンスデーモンが共に異 常終了する場合の説明図である。アプリケーション・プログラム(AP1)が異 常終了した時(ステップ1)、専用アプリケーション・マネージャ(APCM1 )はこの異常終了を検出し(ステップ2)、ライセンスデーモン(LDP)に確 認(CORC)を送る(ステップ3)。ライセンスデーモン(LDP)はアプリ ケーション・プログラム(AP1)に保持されていた全ライセンスキーを解除し 、専用ライセンスデーモン(APSM1)を終了する(ステップ4)。もし専用 ライセンスデーモン(APSM19が既に終了していても、この場合の問題はな い。 図36は、ライセンスデーモンと専用ライセンスデーモンが共に異常終了する 場合の説明図である。ライセンスデーモン(LDP)と専用ライセンスデーモン (APSM1)の終了には次の2つの場合がある。 1)ライセンスデーモン(LDP)と専用ライセンスデーモン(APSM1) が共にシグナル(SIGKILL)によりキル(kill)される。 2)ライセンスデーモン(LDP)が異常キルされ、専用ライセンスデーモン (APSM1)がライセンスデーモン(LDP)を調査する。専用ライセンスデ ーモン(APSM1)は、ライセンスデーモン(LDP)が終了してエクジット (EXIT)を実行したのを見つけた時、専用ライセンスデーモン(APSM1 )は自身をキルする。 このような状況のもとで、専用アプリケーション・マネージャ(APCM1) は、アプリケーション・プログラム(AP1)と専用アプリケーション・マネー ジャ(APCM1)の間に設けられたパイプに情報−ve(負の値)を設定した 後、アプリケーション・プログラム(AP1)を中断し(ステップ1)、要求( APRIR)をライセンスデーモン(LDP)に送る(ステップ2)。 図37は、ライセンスデーモン(LDP)が図36で説明した状況の後に再起 動する場合の説明図である。ライセンスデーモン(LDP)が再起動すると、ラ イセンスデーモン(LDP)は要求(APRIR)を認識し(ステップ1)、専 用アプリケーション・マネージャ(APCM1)とやりとりするために新専用ラ イセンスデーモン(APSM1’)をリカバーする。 図38は、システム構成の説明図である。図示のように、例えば、1つのライ センスデーモン(LDP)は2つのグループI及びIIを設立することができ、各 々は、アプリケーション・プログラム(AP)、専用アプリケーション・マネー ジャ(APCM)、及び専用ライセンスデーモン(APSM)を含む。このよう な構成により、ライセンスデーモン(LDP)の負担を低減することができる。 その結果、ソフトウェアの処理時間の遅延を除去することができる。 次に、本発明によるキー数の具体的な決定方法を説明する。 図39は、ライセンス数(キー数)の決定フローチャートである。さらに、図 40(A)乃至図40(I)はキー数を決定するための実際の関数のリストであ り、図41(A)乃至図41(F)はサンプルプログラムの説明図であり、図4 2(A)乃至図42(C)はサンプルプログラムの実行結果の説明図である。 図40(A)乃至図40(I)に示した関数を使用する実際のプ ログラムは、所定のファイルを処理するものである。このプログラムにおいて 、以下の項目、例えば、処理対象となるファイルサイズ、プラットフォーム、C PUの数、メモリの容量、等が考慮される。この考慮に基づいて、このブログラ ムは、複数のプロセスを自動的に並列に起動してプログラムの高速処理が実現で きるように設計されている。従って、並列起動されるプロセス数に従ってキー数 を増減する必要がある。 キー数を決定する実際の関数について、以下に詳細に説明する。 図40(A)乃至図40(I)において、第1の関数“GetSystemParameters ”は、5つのパラメータ、即ち、CPUの数(Ncpu)、メモリのページサイズ(Psi ze)、全物理的メモリ容量のページ数(PhyPage)、空きメモリ容量のページ数(AvP age)、プラットフォーム(Platform)、を取得する。これらのパラメータは、第2 の関数“DetermineNumberOfLicense”に渡される。 第2の関数“DetemineNumberOfLicense”は、第1の関数“GetSystemParamete rs”からのパラメータとファイルのサイズを受け、並列処理の数を決定する。同 時に、第2の関数“DetermineNumberOfLicense”は、必要なキー数を決定し、戻 り値(return value)として返す。 まず、第1の関数“GetSystemParameters”を第1ブロック(53〜68行) 及び第2ブロック(71〜89行)について説明する。 第1のブロック(53〜68行)に関して、第1の関数“GetSystemParameter s”は、以下のパラメータ、即ち、CPUの数(sysconf(_SC_NPROCESSORS_ON LN))、メモリのページサイズ(sysconf(_SC_PAGESIZE))、全物理的メモリ容 量のページ数(sysconf(SC_PHYS_PAGES))、空きメモリ容量のページ数(sysc onf( _SC_AVPHYS_PAGES))を取得し、どれか1つでもエラーであった場合には処理 を中断する。 次に、第2ブロック(71〜89行)に関して、第2の関数“DetermineNumbe rOfLicense”は、プラットフォーム(PLATFORM)を取得する。もしプラットフォ ームにエラーがあれば処理は中断される。第1の関数“GetSystemParameters” が全てのパラメータを正常に取得できた時は、各パラメータの値、即ち、CPU の数(Ncpu)、メモリのページ数(Psize)、全物理的メモリ容量のページ数(PhyP age)、空きメモリ容量のページ数(AvPage)を定められた変数に代入する。 次に、図39及び図40(F)乃至図40(I)を参照して第2の関数“Dete mineNumberOfLicense”を詳細に説明する。 第1ブロック(125〜134行)に関して、渡される引数が正常か否かチェ ックを行う。もし引数が異常ならば、処理は中断される。もし引数が正常ならば 、ライセンス数(キー数)はデフォルト値(NL=NL_DEFAULT)にセットされる( 126行目の(1)参照)。 第2ブロック(138〜147行)に関して、もし、自身のハードウェアのC PU数が1つか、又はスパークサーバ(SPARCserver)ではない場合 は、並列処理は行えないと決定する。この場合、プロセス数は1、ライセンス数 はデフォルト値と決定される。そして、処理はこの関数内で終了する。もし、C PU数が2又はそれ以上のスパークサーバのときは、ライセンス数(キー数)は デフォルト値の2倍(NL=NL_DEFAULT+NL_DEFAULT)にセットされる(139行目 の(2)参照)。 第3ブロック(150〜157行)に関して、与えられたファイルサイズがメ モリページ数に換算される(150行目の(3)参照 )。 第4ブロック(160〜181行)に関して、並列処理(特化したプログラム )を行うべきか否か決め、並列プロセス数とキー数を決める。 163〜166行に関して、もし、値(ファイルサイズ*NL_MEM_FACTOR)( 注,*=×)が空きメモリ容量よりも大きい場合には、並列処理をしても意味が ない(実験によれば、高速処理が得られないことは明らかである。)。従って、 単一処理が実行され、キー数はデフォルト値(NL=2)に決定される。 167〜181行に関して、もし、値(ファイルサイズ*NL_MEM_FACTOR) が空きメモリ容量よりも小さい場合には、次の3通りの場合に分ける。 1):167〜171行に関して、もし、値(ファイルサイズ*NL_MEM_FAC TOR)が106バイトより小さいとき、並列処理をしても意味がない(上述のよう に、実験によれば、高速処理が得られないことは明らかである。)。従って、単 一処理が実行され、キー数は、デフォルト数*プロセス数、によって決定される 。 2):172〜176行に関して、もし、値(ファイルサイズ*NL_MEM_FACT OR)が、106バイト以上で2*106バイト以下のときは、2並列(2プロセス )処理が実行され、キー数はデフォルト*プロセス数によって決定される。 3):177〜181行に関して、もし値(ファイルサイズ*NL_MEM_FACTOR )が、2*106バイトより大きいときは、並列処理の数は、値(CPU数−1) に基づいて実行され、キー数はデフォルト*プロセス数によって決定される。 次に、図41(A)乃至図41(F)のサンプルプログラムについて説明する 。 このサンプルプログラムは、関数“GetSystemParameters”を用いてハードウ ェアの情報、即ち、プラットフォーム、CPUの数、メモリのページサイズ、全 物理的メモリ容量のページ数、及び空きメモリ容量のページ数、を取得する。こ の結果はスクリーンに表示される。さらに、関数“DetermineNumberOfLicense” を用いて12種類のファイルサイズに対するプロセス数とライセンス数(キー数 )をスクリーンに表示する。 以下に、図41(A)乃至図41(F)に示すサンプルプログラムを詳細に説 明する。 第1ブロック(54〜62行)に関して、最初に、変数の初期化(リセット) を行う。ハードウェアの情報、即ち、CPUの数(Ncpu)、メモリのページサイズ (Psize)、全物理的メモリ容量のページ数(PhyPage)、及び空きメモリ容量のペー ジ数(AvPage)、に「0」を代入する。さらに、プラットフォーム(Platform)には ヌル(Null)を代入する。 第2ブロック(65〜81行)に関して、実際のハードウェアの数、即ち、C PUの数(Ncpu)、メモリのページサイズ(Psize)、全物理的メモリ容量のページ 数(PhyPage)、及び空きメモリ容量のページ数(AvPage)、が決定され、スクリー ンに表示される。 第3ブロック(85〜103行)に関して、12種類のファイルサイズについ て、上述により取得したハードウェアの情報に基づいて、並列処理の数(プロセ ス数)及びライセンス数(キー数)が決定される。決定したプロセス数とライセ ンス数はスクリーンに表示される。 次に、図42(A)乃至図42(C)を参照してサンプルプログラムの実行結 果を説明する。 サンプルプログラムを“Solaris2.5”(OS)を搭載 した2種類のワークステーション(モデル名:S−4/1,S−4/1000) で実行した結果を示す。 図42(A)において、サンプルプログラムは、プラットフォームとしてS− 4/1上で実行された。この場合、CPU数は1つであるから、ファイルサイズ によらず、ライセンス数(キー数)は常に1つである。 図42(B)において、サンプルプログラムは、プラットフォームとしてS− 4/1000上で実行された。この場合、CPUを4つ持つスパークサーバを使 用し、ファイルサイズに従って並列処理の数とライセンス数(キー数)が相違す る。 図42(C)において、サンプルプログラムは、プラットフォームとしてS− 4/1000上で実行された。この場合、CPUを4つ持つスパークサーバを使 用した。空きメモリ容量のページ数(AvPage)が小さいので、並列処理を行われな い。従って、ライセンス数(キー数)は全て2つである。 上述の説明で明らかなように、基本的に、キー数決定関数は、以下の項目を満 たすように作成されている。 第1に、CPUの性能を予め調べておく。CPUが高い性能を持つときは、多 くのキー数を提供する必要がある。 第2に、空きメモリ容量とファイルサイズを互いに比較する。並列処理を実行 すべき場合には、多くのキー数を提供する必要がある。 第3に、もし考慮すべきパラメータが他にある場合は、上述に類似の関数を作 成することにより、ライセンス数(キー数)を変更することができる。 産業上の利用可能性 以上説明したように、本発明によれば、ソフトウェアメーカーとユーザの両方 に存在する従来の多くの問題を解消することができる。従って、ソフトウェアメ ーカーは、多大な費用を要して開発したソフトウェアをユーザに適切な価格で発 給するために、常に最適なライセンス管理を探究し開発する。その結果、本発明 によるライセンス管理システムは、販売戦略が十分に考慮されライセンスの発給 を提供することができ、従って、本発明は非常に高い産業上の利用可能性を有す る。参照符号の一覧表 A:ライセンス管理部 B:アプリケーション・プログラム C:キー数決定部 C’:キー数決定関数 D:データベース D’:データベース
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐藤 知美 長野県長野市大字栗田字舎利田711番地 新光電気工業株式会社内 (72)発明者 ペーテル,スプリヤ ケー. インド国,バンガロー―560 008,インデ ィラナガー,ハル セカンド ステージ, エイス クロス,トウェルブス“ビー”メ イン,3008,シー/オー シリコン オー トメーション システムズ プライベート リミティド (72)発明者 サンコッリ,サンジェイ ディー. インド国,バンガロー―560 008,インデ ィラナガー,ハル セカンド ステージ, エイス クロス,トウェルブス“ビー”メ イン,3008,シー/オー シリコン オー トメーション システムズ プライベート リミティド

Claims (1)

  1. 【特許請求の範囲】 1.単一もしくは複数のコンピュータを駆動するソフトウェアのライセンス管 理システムであって、 自身を駆動するに必要なライセンス数の決定を要求し、ライセンスの発給を受 けるアプリケーション・プログラムと、 前記アプリケーション・プログラムからの要求に応じて必要なライセンス数を 決定するライセンス数決定手段と、 前記ライセンス数決定手段にて決定されたライセンス数を発給するライセンス 管理手段と、 を具備するライセンス管理システム。 2.前記ライセンス数決定手段は、以下の多項式関数、 LK=f(x1,x2,....,xn) 但し、LKはライセンス数、x1〜xnはライセンス数の決定に必要なパラメ ータ、に基づき必要なライセンス数を決定する手段を有する請求項1に記載のラ イセンス管理システム。 3.前記ライセンス数決定手段は、アプリケーション・プログラムが起動され た際に、ライセンス数を決定するための必要なパラメータ値を取得する手段を有 する請求項1に記載のライセンス管理システム。 4.前記ライセンス管理手段は、ライセンス数が正しいときは前記ライセンス 管理手段に保持されているライセンス数から必要なライセンス数を減らし、保持 されているライセンス数が負にならないときはアプリケーション・プログラムに 対してライセンスを発給する手段を有する請求項1に記載のライセンス管理シス テム。 5.前記ライセンス数決定手段は、デーモンプログラムである請求項1に記載 のライセンス管理システム。 6.多項式関数を決定するデータベースを備え、前記多項式関数は前記ライセ ンス数決定手段にて前記多項式関数を変更することなく、前記データベースにて 変更される請求項1に記載のライセンス管理システム。 7.単一もしくは複数のコンピュータを駆動するソフトウェアのライセンス管 理システムであって、 自身を駆動するために必要なライセンス数の決定を要求し、ライセンスの発給 を受けるアプリケーション・プログラムと、 前記アプリケーション・プログラムに組み込まれ、前記アプリケーション・プ ログラムからの要求に応じて必要なライセンス数を決定するライセンス数決定関 数と、 前記ライセンス数決定関数にて決定されたライセンス数を発給するライセンス 管理手段と、 を具備するライセンス管理システム。 8.前記ライセンス数決定関数は、関数コールである請求項7に記載のライセ ンス管理システム。 9.前記ライセンス数決定関数は、以下の多項式関数、 LK=f(x1,x2,....,xn) 但し、LKはライセンス数、x1〜xnはライセンス数の決定に必要なパラメ ータ、に基づき必要なライセンス数を決定する手段を有する請求項7に記載のラ イセンス管理システム。 10.前記ライセンス数決定関数は、アプリケーション・プログラムが起動さ れた際に、ライセンス数を決定するために必要なパラメータ値を取得する手段を 有する請求項7に記載のライセンス管理システム。 11.前記ライセンス管理部は、ライセンス数が正しいときは前記ライセンス 管理手段で保持されているライセンス数から必要なラ イセンス数を減らし、保持されているライセンス数が負にならないときはアプリ ケーション・プログラムに対してライセンスを発給する手段を有する請求項7に 記載のライセンス管理システム。 12.多項式関数を決定するデータベースを備え、前記多項式関数は前記ライ センス数決定関数にて前記多項式関数を変更することなく、前記データベースに て変更される請求項7に記載のライセンス管理システム。 13.ライセンス管理手段と、アプリケーション・プログラムと、ライセンス 数決定手段とを少なくとも備え、単一もしくは複数のコンピュータを駆動するソ フトウェアのライセンス管理システムにおけるライセンス管理方法であって、 アプリケーション・プログラムが起動された際に、アプリケーション・プログ ラムが自身の起動に必要なライセンス数を前記多項式関数に代入するために、パ ラメータをライセンス数決定手段に渡す段階と、 ライセンス数決定手段において、ライセンス数の決定に必要なパラメータの値 を調べてライセンス数を決定し、アプリケーション・プログラムから渡されたパ ラメータに決定したライセンス数を代入し、アプリケーション・ブログラムにパ ラメータを返す段階と、 アプリケーション・プログラムからライセンス管理手段に、必要とするライセ ンス数をパラメータを渡すことにより通知し、ライセンスを要求する段階と、 ライセンス管理手段がライセンス数決定手段から正常フラグを受けると、ライ センス管理手段に保持されているライセンス数から必要なライセンス数分を減ら し、前記ライセンス管理手段に保持されているライセンス数が負にならなければ 、正常フラグをアプリケーション・プログラムに返すとともに、ライセンスをア プリケーショ ン・プログラムに発給する段階と、 を具備するライセンス管理方法。 14.ライセンス管理手段は、アプリケーション・プログラムの要求するライ センス数が正しいか否か確認するために、アプリケーション・プログラムから通 知されたライセンス数をライセンス数決定手段に通知する段階と、アプリケーシ ョン・プログラムからライセンス管理手段に通知されたライセンス数とアプリケ ーション・プログラムに通知した必要なライセンス数を比較し、比較の結果が正 しければ正常フラグをライセンス管理部に返す段階と、を具備する請求項13に 記載のライセンス管理システムにおけるライセンス管理方法。 15.前記ライセンス管理手段は、異常フラグがライセンス管理手段から返さ れたときは、アプリケーション・プログラムをその時点で終了する段階を含む請 求項13に記載のライセンス管理システムにおけるライセンス管理方法。 16.前記ライセンス数決定手段は、デーモンプログラムである請求項13に 記載のライセンス管理システムにおけるライセンス管理方法。 17.アプリケーション・プログラムと、ライセンス管理手段と、前記アプリ ケーション・プログラム内にライセンス数決定関数を少なくとも備え、単一もし くは複数のコンピュータを駆動するソフトウェアのライセンス管理システムにお けるライセンス管理方法であって、 アプリケーション・プログラムが起動された際に、自身の起動に必要なライセ ンス数を受けるために、パラメータをアプリケーション・プログラムからライセ ンス数決定関数に渡す段階と、 ライセンス数決定手段においてライセンス数の決定に必要なパラ メータの値を調べてライセンス数を決定し、アプリケーション・プログラムから 渡されたパラメータに決定されたライセンス数の値を代入し、アプリケーション ・プログラムにパラメータを返す段階と、 アプリケーション・プログラムからライセンス管理手段に、必要なライセンス 数をパラメータを渡すことにより通知し、ライセンスを要求する段階と、 ライセンス管理手段がアプリケーション・プログラムから要求を受けると、前 記ライセンス管理手段に保持されているライセンス数から必要なライセンス数分 を減らし、前記ライセンス管理手段に保持されているライセンス数が負にならな ければ、正常フラグをアプリケーション・プログラムに返し、ライセンスをアプ リケーション・プログラムに発給する段階と、 を具備するライセンス管理方法。 18.前記ライセンス管理手段は、ライセンス管理手段から異常フラグが返さ れたときは、アプリケーション・プログラムをその時点で終了する段階、を含む 請求項17に記載のライセンス管理システムにおけるライセンス管理方法。 19.前記ライセンス数決定関数は、関数コールである請求項17に記載のラ イセンス管理システムにおけるライセンス管理方法。 20.ライセンス管理手段と、アプリケーション・プログラムと、ライセンス 数決定手段と、外部データベースを少なくとも備え、単一もしくは複数のコンピ ュータを駆動するソフトウェアのライセンス管理システムにおけるライセンス管 理方法であって、 アプリケーション・プログラムが起動された際に、アプリケーション・プログ ラム自身の起動に必要なライセンス数を代入してもらうため、パラメータをライ センス数決定手段に渡す段階と、 ライセンス数決定手段へデータベースのデータを読み込み、多項式関数とライ センス数の決定に必要なパラメータの値を調べてライセンス数を決定し、アプリ ケーション・プログラムから渡されたパラメータに決定されたライセンス数を代 入し、アプリケーション・プログラムにパラメータを返す段階と、 アプリケーション・プログラムからライセンス管理手段に、自身が必要とする ライセンス数をパラメータを渡すことにより通知し、ライセンスを要求する段階 と、 ライセンス管理部はライセンス数決定手段から正常フラグを受けると、ライセ ンス管理手段に保持されているライセンス数から必要なライセンス数分を減らし 、前記ライセンス管理手段に保持されているライセンス数が負にならなければ、 正常フラグをアプリケーション・プログラムに返し、アプリケーション・プログ ラムにライセンスを発給する段階と、 を具備するライセンス管理システムにおけるライセンス管理方法。 21.アプリケーション・プログラムの要求するライセンス数が正しいか否か 確認するために、アプリケーション・プログラムから通知されたライセンス数を ライセンス数決定手段に通知する段階と、アプリケーション・プログラムからラ イセンス管理手段に通知されたライセンス数とアプリケーション・プログラムに 通知した必要なライセンス数を比較し、比較の結果が正しければ正常フラグをラ イセンス管理手段に返す段階とを含む請求項20に記載のライセンス管理システ ムにおけるライセンス管理方法。 22.異常フラグがライセンス管理手段から返されたときは、アプリケーショ ン・プログラムをその時点で終了する段階を含む請求項20に記載のライセンス 管理システムにおけるライセンス管理方 法。 23.前記ライセンス数決定手段は、デーモンプログラムである請求項20に 記載のライセンス管理システムにおけるライセンス管理方法。 24.多項式関数を変更する際には、前記ライセンス数決定手段を変更せずに 、前記データベースが変更される請求項20に記載のライセンス管理システムに おけるライセンス管理方法。 25.アプリケーション・プログラムと、ライセンス数決定手段と、前記アプ リケーション・プログラム内にライセンス数決定関数と、外部データベースを少 なくとも備え、単一もしくは複数のコンピュータを駆動するソフトウェアのライ センス管理システムにおけるライセンス管理方法であって、 アプリケーション・プログラムが起動された際に、アプリケーション・プログ ラム自身の起動に必要なライセンス数を受けるために、パラメータをライセンス 数決定関数に渡す段階と、 データベースからライセンス数決定関数にデータを読み込み、多項式関数及び ライセンス数の決定に必要なパラメータの値を調べてライセンス数を決定し、ア プリケーション・プログラムから渡されたパラメータに決定されたライセンス数 を代入し、パラメータをアプリケーション・プログラムに返す段階と、 アプリケーション・プログラムからライセンス管理手段に、必要なライセンス 数をパラメータを渡すことにより通知しライセンスを要求する段階と、 ライセンス管理手段は、アプリケーション・プログラムから要求を受けると、 ライセンス管理手段に保持されているライセンス数から必要なライセンス数分を 減らし、前記ライセンス管理手段に保持されているライセンス数が負にならなけ れば、正常フラグをアプリ ケーション・プログラムに返し、アプリケーション・プログラムにライセンスを 発給する段階と、 を具備するライセンス管理システムにおけるライセンス管理方法。 26.ライセンス管理部から異常フラグが返されたときは、アプリケーション ・プログラムをその時点で終了する段階を含む請求項25に記載のライセンス管 理システムにおけるライセンス管理方法。 27.前記ライセンス数決定関数は、関数コールである請求項25に記載のラ イセンス管理システムにおけるライセンス管理方法。 28.前記ライセンス管理手段のライセンスデーモンとは別個に設けられた専 用ライセンスデーモンと、前記アプリケーション・プログラムとは別個に設けら れた専用アプリケーション・マネージャとを備え、前記専用ライセンスデーモン と専用アプリケーション・マネジャとの間でやりとりを行う請求項1又は7に記 載のライセンス管理システム。 29.複数の前記専用ライセンスデーモンと前記専用アプリケーション・マネ ージャの組が1つのライセンスデーモンに対して確立される請求項28に記載の ライセンス管理システム。 30.前記ライセンス管理手段の前記ライセンスデーモンとは別個に提供され る専用ライセンスデーモンと、前記アプリケーション・プログラムとは別個に提 供される専用アプリケーション・マネージャとを備えたライセンス管理システム における、前記専用ライセンスデーモンと専用アプリケーション・マネージャと の間の情報の授受方法であって、 ユーザがアプリケーション・プログラムを起動する際に、ライセンスの実行許 可を取得するために、アプリケーション・プログラム からライセンスデーモンに要求を送る段階と、 専用ライセンスデーモンを設立するために、フォーク命令を発生して設立する 段階と、 専用ライセンスデーモンからアプリケーション・プログラムに対して、実行許 可を送り、ライセンスを発給する段階と、 を具備する専用ライセンスデーモンと専用アプリケーション・マネージャとの 間の情報の授受方法。 31.前記専用ライセンスデーモンから実行許可が得られないときは、アプリ ケーション・プログラムを終了する段階をさらに含む請求項30に記載の情報の 授受方法。 32.前記専用ライセンスデーモンから実行許可は得られたが、無効な内容を 含むものであるとき、アプリケーション・プログラムからユーザに無効を通知す る段階を含む請求項30に記載の情報の授受方法。 33.前記専用ライセンスデーモンから実行許可が得られ、かつ有効な内容を 含むときは、専用アプリケーション・マネージャを設立するためのフォーク命令 を発生し、以降の専用ライセンスデーモンと専用アプリケーション・マネージャ との間のやりとりを起動する段階を含む請求項30に記載の情報の授受方法。 34.ユーザがアプリケーション・プログラムを終了すると、アプリケーショ ン・プログラムから専用アプリケーション・マネージャに終了要求を送る段階を 含む請求項30に記載の情報の授受方法。 35.終了要求の送出後にアプリケーション・プログラムが万一終了していな かったときに、専用アプリケーション・マネージャからパイプに無効情報を設定 し、アプリケーション・プログラムからパイプの無効情報を読み込む段階を含む 請求項30に記載の情報の 授受方法。 36.アプリケーション・プログラムが終了していれば、専用アプリケーショ ン・マネージャからライセンスデーモンにアプリケーション・プログラムの終了 を示す報告を送る段階を含む請求項30に記載の情報の授受方法。 37.アプリケーション・プログラムが終了したときに、外部データベースに ライセンスデーモンから情報を書き込み、ライセンスデーモンから専用ライセン スデーモンに終了命令を発生する段階を含む請求項30に記載の情報の授受方法 。 38.正常なやりとりが実行されているか否か調査するために、専用ライセン スデーモンと専用アプリケーション・マネージャとの間で、ポーリングを定期的 に実行する段階を含む請求項30に記載の情報の授受方法。 39.専用アプリケーション・マネージャが正常に動作しているか否か調査す るために、専用ライセンスデーモンから専用アプリケーション・マネージャに調 査要求を送る段階を含む請求項38に記載の情報の授受方法。 40.専用ライセンスデーモンからの内容の調査と専用アプリケーション・マ ネージャでの内容の調査が成功したときは、専用アプリケーション・マネージャ から専用ライセンスデーモンに正常通知を送る段階を含む請求項38に記載の情 報の授受方法。 41.専用ライセンスデーモンが専用アプリケーション・マネージャから異常 応答を得たときは専用ライセンスデーモンからライセンスデーモンに終了命令を 送り、専用ライセンス自身を終了する段階を含む請求項38に記載の情報の授受 方法。 42.ライセンスデーモンからアプリケーション・プログラムに割り当てられ たライセンスを解除するために、ライセンスデーモン からアプリケーション・プログラムに無効処理を実行する段階を含む請求項38 に記載の情報の授受方法。 43.専用ライセンスデーモンが正常に動作しているか否かを調査するために 、専用アプリケーション・マネージャから専用ライセンスデーモンに調査要求を 送る段階を含む請求項38に記載の情報の授受方法。 44.専用アプリケーション・マネージャからの内容の調査と専用ライセンス デーモンにおける内容の調査とが成功したときは、専用ライセンスデーモンから 専用アプリケーション・マネージャに正常通知を送る段階を含む請求項43に記 載の情報の授受方法。 45.専用アプリケーション・マネージャにおける内容の調査と専用ライセン スデーモンにおける内容の調査とが不成功のときは、専用アプリケーション・マ ネージャからパイプに無効情報を設定し、パイプから無効情報を読み取ることに より、アプリケーション・プログラムを終了する段階を含む請求項43に記載の 情報の授受方法。 46.専用アプリケーション・マネージャが専用ライセンスデーモンの異常終 了を検出したときに専用ライセンスデーモンを再起動するために、専用アプリケ ーション・マネージャからライセンスデーモンに再起動要求を送る段階を含む請 求項30に記載の情報の授受方法。 47.ライセンスデーモンが専用ライセンスデーモンが再起動要求を無効にし たことを検出したときに、専用ライセンスデーモンが再起動しないことを示す通 知を、専用アプリケーション・マネージャに送る段階を含む請求項46に記載の 情報の授受方法。 48.ライセンスデーモンが専用ライセンスデーモンが再起動要求を有効にし たことを検出したときに、ライセンスデーモンから新 フォークに基づいて専用ライセンスデーモンを提供して新専用ライセンスデーモ ンデータベースを更新し、かつ新専用ライセンスデーモンが再起動されてことを 示す通知を新専用ライセンスデーモンから専用アプリケーション・マネージャに 送る段階を含む請求項46に記載の情報の授受方法。 49.専用ライセンスデーモンからライセンスデーモンに定期的にポーリング を行う段階を含む請求項30に記載の情報の授受方法。
JP50685299A 1997-07-15 1997-07-15 ライセンス管理システム Expired - Fee Related JP4242458B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1997/002460 WO1999004354A1 (en) 1997-07-15 1997-07-15 A license management system

Publications (2)

Publication Number Publication Date
JP2001506794A true JP2001506794A (ja) 2001-05-22
JP4242458B2 JP4242458B2 (ja) 2009-03-25

Family

ID=14180833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50685299A Expired - Fee Related JP4242458B2 (ja) 1997-07-15 1997-07-15 ライセンス管理システム

Country Status (4)

Country Link
US (1) US7013294B1 (ja)
JP (1) JP4242458B2 (ja)
KR (1) KR20000065245A (ja)
WO (1) WO1999004354A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102473252A (zh) * 2009-08-06 2012-05-23 国际商业机器公司 用于优化许可使用的方法和系统

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10023820B4 (de) * 2000-05-15 2006-10-19 Siemens Ag Software-Schutzmechanismus
US20070043675A1 (en) * 2000-05-15 2007-02-22 Siemens Aktiengesellschaft Software license manager
DE10023827A1 (de) * 2000-05-15 2001-12-06 Siemens Ag Lizenzierung und Zugangsauthorisierung
US6947977B1 (en) * 2000-06-09 2005-09-20 Metadigm Llc Scalable transaction system for a network environment
CA2430062A1 (en) * 2000-12-08 2002-07-18 Matsushita Electric Industrial Co., Ltd. Distribution device, terminal device, and program and method for use therein
EP1243998B1 (en) 2001-03-21 2017-04-19 Excalibur IP, LLC A technique for license management and online software license enforcement
US9633182B2 (en) 2001-05-15 2017-04-25 Altair Engineering, Inc. Token based digital content licensing method
SE524778C2 (sv) * 2002-02-19 2004-10-05 Douglas Lundholm Förfarande och arrangemang för att skydda mjukvara för otillbörlig användning eller kopiering
JP4371711B2 (ja) * 2003-06-11 2009-11-25 キヤノン株式会社 情報処理装置およびその制御方法、並びに、コンピュータプログラム
JP4424721B2 (ja) * 2003-06-11 2010-03-03 キヤノン株式会社 ライセンス情報発行サーバ
US7457874B2 (en) * 2004-02-20 2008-11-25 Microsoft Corporation Architecture for controlling access to a service by concurrent clients
US9117057B2 (en) * 2005-06-21 2015-08-25 International Business Machines Corporation Identifying unutilized or underutilized software license
US20060294022A1 (en) * 2005-06-22 2006-12-28 Dayan Richard A Apparatus, system, and method for enabling a service
US8781970B2 (en) * 2005-07-12 2014-07-15 International Business Machines Corporation System, method and program product to determine resolution when software installed on a computer is not properly licensed
JP4768354B2 (ja) * 2005-08-15 2011-09-07 富士通株式会社 ジョブ管理装置、ジョブ管理方法、ジョブ管理プログラム
US7519561B2 (en) * 2005-11-10 2009-04-14 International Business Machines Corporation System, method and program to manage software licenses
JP4908961B2 (ja) * 2006-07-27 2012-04-04 キヤノン株式会社 情報処理方法、情報処理装置、プログラム及び記憶媒体
JP4891054B2 (ja) * 2006-12-21 2012-03-07 キヤノン株式会社 ライセンスを利用する画像処理装置、その制御方法およびプログラム
US20080244754A1 (en) * 2007-04-02 2008-10-02 Edward Curren System and Method for Software License Management for Concurrent License Management and Issuance
US8407669B2 (en) * 2007-07-25 2013-03-26 Oracle International Corporation Device based software authorizations for software asset management
JP4948311B2 (ja) * 2007-08-01 2012-06-06 キヤノン株式会社 ライセンス管理システム、ライセンス管理方法、及びコンピュータプログラム
US8374968B2 (en) * 2008-02-22 2013-02-12 Uniloc Luxembourg S.A. License auditing for distributed applications
US20100031352A1 (en) * 2008-08-04 2010-02-04 Amarender Reddy Kethireddy System and Method for Enforcing Licenses During Push Install of Software to Target Computers in a Networked Computer Environment
US20100043075A1 (en) * 2008-08-13 2010-02-18 Autodesk, Inc. Licensing management utility
US9195807B1 (en) 2009-01-28 2015-11-24 Hewlett-Packard Development Company, L.P. License manager for central management products
US8898085B1 (en) 2009-01-30 2014-11-25 Hewlett-Packard Development Company, L.P. License management solution for central-management products
EP2409258A4 (en) * 2009-03-18 2012-09-12 Altair Eng Inc METHOD FOR LICENSING DIGITAL CONTENT
WO2010115107A2 (en) * 2009-04-02 2010-10-07 Altair Engineering, Inc. Hardware unit-based license management method
US9582776B2 (en) * 2009-10-09 2017-02-28 Oracle International Corporation Methods and systems for providing a comprehensive view of it assets as self service inquiry/update transactions
US9721240B2 (en) * 2010-05-27 2017-08-01 International Business Machines Corporation Software license serving in a massively parallel processing environment
US8751567B2 (en) 2012-02-09 2014-06-10 Oracle International Corporation Quantify and measure micro-blogging for enterprise resources planning (ERP)
US10679151B2 (en) 2014-04-28 2020-06-09 Altair Engineering, Inc. Unit-based licensing for third party access of digital content
US10685055B2 (en) 2015-09-23 2020-06-16 Altair Engineering, Inc. Hashtag-playlist content sequence management
US11799864B2 (en) 2019-02-07 2023-10-24 Altair Engineering, Inc. Computer systems for regulating access to electronic content using usage telemetry data

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3614745A (en) * 1969-09-15 1971-10-19 Ibm Apparatus and method in a multiple operand stream computing system for identifying the specification of multitasks situations and controlling the execution thereof
US5390297A (en) * 1987-11-10 1995-02-14 Auto-Trol Technology Corporation System for controlling the number of concurrent copies of a program in a network based on the number of available licenses
US4937863A (en) * 1988-03-07 1990-06-26 Digital Equipment Corporation Software licensing management system
US4924378A (en) * 1988-06-13 1990-05-08 Prime Computer, Inc. License mangagement system and license storage key
US5230051A (en) * 1990-09-04 1993-07-20 Hewlett-Packard Company Distributed messaging system and method
JP3270102B2 (ja) 1991-03-11 2002-04-02 ヒューレット・パッカード・カンパニー ライセンス付与方法及びシステム
ATE175281T1 (de) * 1991-05-08 1999-01-15 Digital Equipment Corp Lizenz-verwaltungssystem
US5438508A (en) * 1991-06-28 1995-08-01 Digital Equipment Corporation License document interchange format for license management system
US5204897A (en) * 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
US5260999A (en) * 1991-06-28 1993-11-09 Digital Equipment Corporation Filters in license management system
US5940504A (en) * 1991-07-01 1999-08-17 Infologic Software, Inc. Licensing management system and method in which datagrams including an address of a licensee and indicative of use of a licensed product are sent from the licensee's site
WO1993011480A1 (en) * 1991-11-27 1993-06-10 Intergraph Corporation System and method for network license administration
GB9303595D0 (en) * 1993-02-23 1993-04-07 Int Computers Ltd Licence management mechanism for a computer system
JP3553993B2 (ja) * 1993-08-30 2004-08-11 キヤノン株式会社 プログラム利用契約管理方法及びプログラム実行装置
US5619656A (en) * 1994-05-05 1997-04-08 Openservice, Inc. System for uninterruptively displaying only relevant and non-redundant alert message of the highest severity for specific condition associated with group of computers being managed
WO1995034857A1 (en) * 1994-06-14 1995-12-21 Smith James P Apparatus and method for controlling the registration, paid licensing and metered usage of software products
US5671412A (en) * 1995-07-28 1997-09-23 Globetrotter Software, Incorporated License management system for software applications
US5758068A (en) * 1995-09-19 1998-05-26 International Business Machines Corporation Method and apparatus for software license management
US5825883A (en) * 1995-10-31 1998-10-20 Interval Systems, Inc. Method and apparatus that accounts for usage of digital applications
US5752041A (en) * 1995-12-15 1998-05-12 International Business Machines Corporation Method and system for licensing program management within a distributed data processing system
US5758069A (en) * 1996-03-15 1998-05-26 Novell, Inc. Electronic licensing system
US5905860A (en) * 1996-03-15 1999-05-18 Novell, Inc. Fault tolerant electronic licensing system
US5991876A (en) * 1996-04-01 1999-11-23 Copyright Clearance Center, Inc. Electronic rights management and authorization system
US5864620A (en) * 1996-04-24 1999-01-26 Cybersource Corporation Method and system for controlling distribution of software in a multitiered distribution chain
US5754763A (en) * 1996-10-01 1998-05-19 International Business Machines Corporation Software auditing mechanism for a distributed computer enterprise environment
JP3924342B2 (ja) * 1997-02-14 2007-06-06 富士通株式会社 ソフトウェアライセンス管理システムおよびソフトウェアライセンス管理装置
US6021438A (en) * 1997-06-18 2000-02-01 Wyatt River Software, Inc. License management system using daemons and aliasing

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102473252A (zh) * 2009-08-06 2012-05-23 国际商业机器公司 用于优化许可使用的方法和系统
JP2013501281A (ja) * 2009-08-06 2013-01-10 インターナショナル・ビジネス・マシーンズ・コーポレーション ライセンス使用を最適化する方法及びシステム
CN102473252B (zh) * 2009-08-06 2015-12-09 国际商业机器公司 用于优化许可使用的方法和系统
US9672545B2 (en) 2009-08-06 2017-06-06 International Business Machines Corporation Optimizing license use for software license attribution

Also Published As

Publication number Publication date
US7013294B1 (en) 2006-03-14
JP4242458B2 (ja) 2009-03-25
KR20000065245A (ko) 2000-11-06
WO1999004354A1 (en) 1999-01-28

Similar Documents

Publication Publication Date Title
JP2001506794A (ja) ライセンス管理システム
US10303454B2 (en) Disk block streaming using a broker computer system
US5230052A (en) Apparatus and method for loading bios into a computer system from a remote storage location
US6959433B1 (en) Data processing system, method, and program for automatically testing software applications
JP4181641B2 (ja) 委任特性を備えたマルチアプリケーションカード
US20040148525A1 (en) Software providing system, software providing apparatus and method, recording medium, and program
JP4440990B2 (ja) 機能するオペレーティング・システムなしにコンピュータのリモート管理を可能にするネットワーク機能拡張bios
US5675800A (en) Method and apparatus for remotely booting a computer system
TW470885B (en) Apparatus and method for emulating an I/O instruction for the correct processor and for servicing software SMI's in a multi-processor environment
EP0859314A2 (en) Distributed make methods, apparatus, and computer program products
US5367697A (en) Means for providing a graceful power shut-down capability in a multiprocessor system having certain processors not inherently having a power shut-down capability
JP2001331232A (ja) ライセンス・アプリケーション・インストーラ
JP5268694B2 (ja) ライセンス管理システム、画像形成装置およびライセンス管理方法
JP2004295270A (ja) 共用記憶システム
NZ561944A (en) Split download for electronic software downloads
US7107537B2 (en) Apparatus and method for updating applications to embedded devices and peripherals within a network environment
CN114257551A (zh) 一种分布式限流的方法及系统、存储介质
JP2004501407A (ja) 呼出し元アドレスを使用した安全なソフトウェアsmiディスパッチング
US5321830A (en) Reset method when adaptor module is faulty and computer system executing same
US8213038B2 (en) Client call service
CN113127008A (zh) 裸金属服务器发放方法及相关装置
JP2006048669A (ja) ジョブ管理方法および装置
JP2003303161A (ja) デバイスドライバの組み込み・実行方式、組み込み・実行方法、及びプログラム
JP2002222021A (ja) ソフトウェアのライセンス管理方法および記憶媒体
KR920003279B1 (ko) 데이타 처리장치의 os 및 nos 로딩방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060124

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060421

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060421

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060612

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070710

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071010

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080530

A72 Notification of change in name of applicant

Free format text: JAPANESE INTERMEDIATE CODE: A721

Effective date: 20080530

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080925

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081125

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081225

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees