JP5578239B2 - ブレード、管理プログラム、および管理方法 - Google Patents

ブレード、管理プログラム、および管理方法 Download PDF

Info

Publication number
JP5578239B2
JP5578239B2 JP2012540578A JP2012540578A JP5578239B2 JP 5578239 B2 JP5578239 B2 JP 5578239B2 JP 2012540578 A JP2012540578 A JP 2012540578A JP 2012540578 A JP2012540578 A JP 2012540578A JP 5578239 B2 JP5578239 B2 JP 5578239B2
Authority
JP
Japan
Prior art keywords
blade
license
function
priority
target software
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.)
Active
Application number
JP2012540578A
Other languages
English (en)
Other versions
JPWO2012056538A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2012056538A1 publication Critical patent/JPWO2012056538A1/ja
Application granted granted Critical
Publication of JP5578239B2 publication Critical patent/JP5578239B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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]

Description

この発明は、ライセンスを管理・運用するブレード、管理プログラム、および管理方法に関する。
近年、オフィスの省スペース化のために、ブレードを集積して電源供給や空調管理を行うことができるブレードサーバがオフィスで使用されている。ブレードサーバは、複数のブレードを着脱するための差し込み口が設けられた筐体にブレードを接続して構成される。
このブレード上で使用されるソフトウェアは、容易に複製・改造が可能であり、不正使用されることがある。そのため、ソフトウェアの供給元となるベンダは、ソフトウェア的な錠前をソフトウェアに組み込んで、ソフトウェアや当該ソフトウェアのオプション機能の不正使用を防止している。そして、ライセンスを結んだユーザに対してのみ、ソフトウェアの使用を許可するライセンスキーを供与している。
さらに、ベンダは、ソフトウェア(特に、高額なソフトウェア)に対して、ある決められたブレード1台のみがソフトウェアを固定的に使用するように、ブレードの固有情報にライセンスキーをロックすることがある(ノードロックライセンス)。ブレードの固有情報とは、例えば、MACアドレス(Media Access Control address)やWWN(World Wide Name)である。
一方、ネットワーク上でソフトウェアを同時に使用可能なライセンスの数(以下、「使用可能数」という)をベンダが設定するライセンス方式がある。そして、ソフトウェアを同時に使用中のライセンスの数(以下、「使用数」という)が使用可能数の範囲内であれば、ユーザがソフトウェアを自由に使用できるようになっている(フローティングライセンス)。
このようなフローティングライセンスでは、LAN(Local Area Network)を介して複数のブレードと接続してネットワーク全体のライセンスキーの発行数を管理するライセンス管理ユニットが設けられる。そして、ライセンス管理ユニットがライセンスキーを発行し、その発行数を管理することで、使用数が使用可能数を超えないようにして、ソフトウェアの不正使用を防いでいる。また、LANを介して、ブレード間でライセンスを移行することが可能となっている。
特開2008−107879号公報 特開2008−158639号公報 特開平5−346851号公報
しかしながら、上述したノードロックライセンスでは、ソフトウェアを使用する可能性のあるブレード全てにライセンスが必要となる。よって、普段運用しない待機系ブレードにもライセンスが必要となってしまう。また、ブレードの交換を行った場合にはブレード交換前後でブレードの固有情報が異なるため、交換前のブレードのライセンスは交換後のブレードでは使用できず、ライセンスの速やかな移行ができない。そのため、ライセンスの運用に支障をきたすという問題があった。
一方、上述したフローティングライセンスでは、LAN経由でのライセンスの移動を行うため、ライセンスの移動中に意図的にLANからブレードを切り離すことでソフトウェアの不正使用がされてしまう可能性があるという問題があった。また、管理ユニットを不正改造し、例えば使用可能数や発行数を書き換えて、ソフトウェアの不正使用がされてしまう可能性があるという問題があった。
本発明は、かかる問題点に鑑み、ソフトウェアの不正使用を防止しつつライセンスの柔軟な運用ができるブレード、管理プログラム、および管理方法を提供することを目的とする。
上記課題を解決し、目的を達成するため、ブレードサーバの筐体に着脱可能なブレードであって、対象ソフトウェアの機能を使用可能な数を示す第1のライセンス数および筐体に固有な識別情報を筐体内の他ブレードから受信し、筐体から筐体に固有な識別情報を取得し、受信された識別情報と取得された識別情報とが一致するか否かを判断し、一致すると判断された場合、第1のライセンス数と、対象ソフトウェアの機能を用いているブレードサーバ内のブレード数を示す第2のライセンス数とを比較することにより、対象ソフトウェアの機能が使用可能か否かを判断し、対象ソフトウェアの機能が使用可能と判断された場合、対象ソフトウェアの機能を実行可能な状態に設定し、自ブレードが実行可能な状態に設定された場合、第2のライセンス数を更新し、第1のライセンス数と更新後の第2のライセンス数とを、ブレードサーバ内のブレードのうち対象ソフトウェアの機能が未設定のブレードに送信するブレード、管理プログラムおよび管理方法が、一例として提案される。
本発明にかかるブレード、管理プログラム、および管理方法によれば、ソフトウェアの不正使用を防止しつつライセンスの柔軟な運用ができるという効果を奏する。
ライセンスキー取得とライセンス有効化の内容を示す説明図である。 複数のブレードを含む筐体のハードウェア構成を示すブロック図である。 ブレードのハードウェア構成を示すブロック図である。 管理ユニットのハードウェア構成を示すブロック図である。 管理テーブルの構成を示す説明図である。 ライセンスキー取得の流れを示すシーケンス図である。 実施例1にかかるライセンス管理装置の機能ブロック図である。 実施例1にかかる優先度を使用したライセンス有効化判定処理の詳細を示すフローチャート(その1)である。 実施例1にかかる優先度を使用したライセンス有効化判定処理の詳細を示すフローチャート(その2)である。 故障検出の流れを示すフローチャートである。 実施例1の具体例を示す説明図(その1)である。 実施例1の具体例を示す説明図(その2)である。 実施例1の具体例を示す説明図(その3)である。 実施例1の具体例を示す説明図(その4)である。 実施例1の具体例を示す説明図(その5)である。 実施例1の具体例を示す説明図(その6)である。 実施例1の具体例を示す説明図(その7)である。 実施例2にかかるライセンス管理装置の機能ブロック図である。 実施例2にかかる優先度(comp)を使用したライセンス有効化判定処理の詳細を示すフローチャート(その1)である。 実施例2にかかる優先度(comp)を使用したライセンス有効化判定処理の詳細を示すフローチャート(その2)である。 図19のステップS1904に示した優先度(comp)の算出の流れを示すフローチャートである。 優先度(comp)算出の具体例を示す説明図である。 実施例2の具体例を示す説明図(その1)である。 実施例2の具体例を示す説明図(その2)である。 実施例2の具体例を示す説明図(その3)である。 実施例2の具体例を示す説明図(その4)である。 実施例2の具体例を示す説明図(その5)である。 実施例2の具体例を示す説明図(その6)である。 実施例1および実施例2の実用例を示す説明図(その1)である。 実施例1および実施例2の実用例を示す説明図(その2)である。
以下に添付図面を参照して、本発明にかかるライセンス管理装置の実施の形態を詳細に説明する。以下の実施の形態では、ライセンス有効化によりソフトウェアのオプション機能を使用可能にする例について説明するが、ライセンス有効化によりソフトウェアそのものの機能を使用可能にするようにしてもよい。まず、図1を用いてライセンスキー取得とライセンス有効化について説明する。
(ライセンスキー取得とライセンス有効化の内容)
図1は、ライセンスキー取得とライセンス有効化の内容を示す説明図である。顧客がソフトウェアのオプション機能を購入すると、ベンダからオプション機能購入証書が送信される。なお、オプション機能とは、ソフトウェアの基本機能に一定条件下(オプション機能購入)で追加可能な機能である。例えば、ソフトウェアがCADソフトである場合、汎用的に製図を行う基本機能以外の、半導体設計用や構造物設計用に特化した機能である。
オプション機能購入証書には、ベンダが正規に販売したオプション機能購入証書であることを示す文字列と使用可能数が記載されている。なお、オプション機能はWEBで購入してもよいし店頭で購入してもよい。また、オプション機能購入証書はEメールで送信されてもよいし、郵送で送られてもよい。
まず、顧客が、ベンダからライセンスキーを取得する手順について説明する。図1に示すように、顧客は、購入したオプション機能購入証書に記載された文字列と使用可能数と、オプション機能を使用するブレードを搭載する筐体の固有情報(ここでは、例として、筐体のシリアルナンバー)と、をベンダに送信する。
ベンダは、受信した文字列が発行済み文字列であることと、使用実績がないことと、顧客から要求された使用可能数と顧客が購入した使用可能数とが一致することと、を確認することで、顧客のオプション機能購入証書の正当性を確認する。顧客のオプション機能購入証書の正当性が確認された場合、ベンダは、受信した文字列と使用可能数と筐体の固有情報とを結合し、結合した情報を暗号化したライセンスキーを顧客に送信する。
次に、ブレードのライセンスを有効化する手順について説明する。ここで、顧客は、受信したライセンスキーをブレードに入力する。ブレードは復号鍵を有しており、ライセンスキーを復号して文字列と使用可能数と筐体の固有情報とを取得する。そして、ブレードは、筐体から得た筐体の固有情報とライセンスキーを復号して得た筐体の固有情報とが一致するか確認する。それぞれが一致した場合、ブレードは使用可能数の範囲であればライセンスを有効化して、オプション機能を使用できる。
例えば、使用可能数が3であったとした場合、図1のように、3つ目までのブレードはライセンスを有効化してオプション機能を使用することができるが、4つ目以降のブレードはライセンスを有効化できなくなる。
なお、ここでは、顧客がソフトウェアのオプション機能を購入した場合について説明したが、顧客がソフトウェアそのものを購入した場合であってもよい。この場合、ベンダからソフトウェア購入証書が送信されるようにし、ブレードはライセンスを有効化してソフトウェアそのものの機能を使用可能にする。
(筐体のハードウェア構成)
以下に、図2〜図4を用いて複数のブレードを含む筐体のハードウェア構成について説明する。筐体は管理ユニットを有し、複数のブレードを着脱するための差し込み口が設けられたシャーシである。また、筐体は、ブレード同士の通信のためのバスを有する。筐体の差し込み口はブレードをバスに結線するためのコネクタを有する。管理ユニットはバスを介して筐体に接続された複数のブレードを管理するユニットである。管理ユニットは筐体に固定されている。複数のブレードはそれぞれ独立に動作するコンピュータであり、バスを介して通信可能である。ブレードを接続した筐体をブレードサーバという。
図2は、複数のブレードを含む筐体のハードウェア構成を示すブロック図である。図2において、筐体(ブレードサーバ)200は、複数のブレード201と、管理ユニット202と、を備えている。また、各構成部はバス203によってそれぞれ接続されている。
ブレードサーバでは、各ブレード201は、差し込み口のコネクタを用いてバス203と結線できる構造になっている。また、通常、各ブレード201は、筐体200の電源を入れたままでの取り付け・取り外しができ、増設・交換の対象となるブレード201以外は業務を継続したままの状態でシステムの拡張・変更を行うことができる。
(ブレードのハードウェア構成)
次に、図3を用いてブレード201のハードウェア構成について説明する。
図3は、ブレード201のハードウェア構成を示すブロック図である。図3において、ブレード201は、CPU(Central Processing Unit)301と、メモリ302と、I/F(Interface)303と、優先度設定SW(SWitch)304と、を備えている。
CPU301は、ブレード201全体の制御を司る。メモリ302は、ブートプログラムなどのプログラムを記憶している。メモリ302はまた、管理テーブル302aを記憶している。I/F303は、バス203に接続され、このバス203を介して他の装置に接続される。そして、I/F303は、バス203と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。
優先度設定SW304は、ブレード201の優先度設定を保持しておくためのスイッチである。優先度とは、どのブレード201のライセンスを優先的に有効化するかを示す度合いである。このスイッチとして、例えば、DIPスイッチが採用される。なお、不揮発性メモリに優先度を保持しておくことにしてもよい。
(管理ユニットのハードウェア構成)
次に、図4を用いて管理ユニット202のハードウェア構成について説明する。
図4は、管理ユニット202のハードウェア構成を示すブロック図である。図4において、管理ユニット202は、CPU401と、メモリ402と、I/F403と、を備えている。
CPU401は、管理ユニット202全体の制御を司る。メモリ402は、ブートプログラムなどのプログラムを記憶している。I/F403は、バス203に接続され、このバス203を介して管理ユニット202が他の装置に接続される。そして、I/F403は、バス203と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。
(管理テーブルの構成)
次に、図3に示した管理テーブル302aの構成について説明する。
図5は、管理テーブル302aの構成を示す説明図である。図5に示すように、管理テーブル302aは、筐体固有情報項目と、使用可能数項目と、使用数項目と、優先度項目と、優先度(comp)項目と、ライセンスステータス項目と、ライセンスキー項目と、故障ビット項目とを有する。
筐体固有情報項目には、ブレード201が接続されている筐体200の固有情報(以下、「筐体固有情報」という)が記憶される。ここで、筐体固有情報は、予め管理ユニット202のメモリ402に記憶されている。ブレード201は、管理ユニット202から筐体固有情報を取得して筐体固有情報項目に書き込む。なお、筐体固有情報は筐体200を一意に特定できる情報であればよい。例えば、筐体200のシリアルナンバーが採用される。
使用可能数項目には、ブレード201がライセンスキーから復号して得た、筐体200での使用可能数が記憶される。使用可能数とは、ネットワーク上でソフトウェアのオプション機能を同時に使用可能なライセンスの数である。なお、使用可能数とは、ネットワーク上でソフトウェアそのものの機能を同時に使用可能なライセンスの数であってもよい。
使用数項目には、ソフトウェアのオプション機能のライセンスを有効化しているブレード201の数が記憶される。なお、使用数項目には、ソフトウェアそのものの機能のライセンスを有効化しているブレード201の数が記憶されてもよい。なお、各ブレードがライセンスを有効化する毎に、使用数はインクリメントされる。
優先度項目には、優先度設定SW304によって自ブレードに対して設定された優先度が記憶される。優先度(comp)項目には、1から始まる連続番号のうち、自ブレードに対応した番号が記憶される。なお、優先度は、ユーザが任意に設定した優先度であり、固定値である。一方、優先度(comp)は、具体的には、ブレード201が、筐体200内での全ブレードの優先度をソートして、自ブレードの優先度が上位から何番目かを求めた値(以下、「序列」という)であり、運用状態に変化がある度に算出し直される。
よって、例えば筐体200内のブレード1〜3の優先度がそれぞれ「1,6,4」となっていた場合、ブレード1〜3の優先度(comp)は、それぞれ「1,3,2」となる。またブレード3が筐体200から外れた場合には、優先度(comp)は算出し直され、ブレード1,2の優先度(comp)は、それぞれ「1,2」となる。なお、優先度を使用する例については、後述の実施例1で、優先度(comp)を使用する例については、後述する実施例2で説明する。
ライセンスステータス項目には、自ブレードのライセンスのステータスが記憶される。ライセンスのステータスとしては、例えば、「有効(判定済)」と、「無効(判定済)」と、「有効(判定中)」と、「無効(判定中)」とがある。
「有効(判定済)」とは、ブレード201のライセンスの有効/無効の判定が終了しブレード201が通常運用状態になっており、かつ、ブレード201のライセンスが有効である状態を示すステータスである。「無効(判定済)」とは、ブレード201のライセンスの有効/無効の判定が終了しブレード201が通常運用状態になっており、かつ、ブレード201のライセンスが無効である状態を示すステータスである。
「有効(判定中)」とは、ブレード201のライセンスが有効/無効の判定中であって、判定前にライセンスが有効であった状態を示すステータスである。これにより、ライセンスの有効/無効の判定終了までは、ブレード201のライセンスを有効の状態に維持しておくことができる。そのため、ブレード201の交換や増設によってライセンスを再判定する必要が生じた場合に、ライセンスを無効に設定してしまうことによる業務停止を未然に防止することができる。
「無効(判定中)」とは、ブレード201のライセンスが有効/無効の判定中であって、判定前にライセンスが無効であった状態、または、ブレード201のライセンスが初回の有効/無効の判定中である状態を示すステータスである。これにより、ライセンスの有効/無効の判定終了まではライセンスを無効の状態に維持しておくことができる。そのため、使用可能数の範囲外での使用を防止し、セキュリティを確保することができる。
ライセンスキー項目には、管理ユニット202から取得したライセンスキーが記憶される。ライセンスキーは、オプション機能購入証書に記載された文字列と使用可能数と、筐体固有情報とを暗号化して作成した文字列である。ブレード201は、ライセンスキーを復号することで使用可能数と筐体固有情報とを取得することができる。なお、オプション機能購入証書ではなく、上述したソフトウェア購入証書であってもよい。
故障ビット項目には、自ブレードが通常運用状態であるか故障中であるかが記憶される。例えば、通常運用状態時を0に、故障時を1に割り振っておく。ブレード201は自身の故障を検出した場合、故障ビットを1にセットする。
図6は、ライセンスキー取得の流れを示すシーケンス図である。まず、管理ユニット202は、オプション機能購入証書に記載された文字列と使用可能数と、オプション機能を使用するブレード201を搭載する筐体固有情報と、をベンダ側コンピュータに送信する(ステップS601)。
ベンダ側コンピュータは受信した文字列が未使用文字列であるか認証し(ステップS602)、文字列が未使用文字列であると認証できれば、受信した文字列と使用可能数と筐体固有情報とを暗号化してライセンスキーを作成する(ステップS603)。そして、ベンダ側コンピュータは、作成したライセンスキーを管理ユニット202に送信する(ステップS604)。
次に、管理ユニット202は、受信したライセンスキーを筐体200内の全ブレードに送信する(ステップS605)。ライセンスキーを受信した各ブレードは、ライセンスキーを復号する(ステップS606)。そして、各ブレードは、管理ユニット202に筐体固有情報を要求する(ステップS607)。要求を受けた管理ユニット202は、筐体固有情報を各ブレードに送信する(ステップS608)。
そして、各ブレードは、管理ユニット202から受信した筐体固有情報とライセンスキーから復号した筐体固有情報との一致を確認し、使用数がライセンスキーから復号した使用可能数の範囲内であることを確認し、ライセンスの有効/無効を判定する(ステップS609)。
例えば、管理ユニット202から受信した筐体固有情報とライセンスキーから復号した筐体固有情報とが一致すれば、正当なライセンスであると判断でき、ブレード201は、使用可能数の範囲内であれば自由にライセンスを有効化できる。一方、受信した筐体固有情報とライセンスキーから復号した筐体固有情報とが一致しない場合、不正なライセンスと判断され、ブレード201は、ライセンスを有効化できない。また、使用数が使用可能数を超える場合も、ブレード201は、ライセンスを有効化できない。このようにして、ブレード201は、筐体固有情報と使用可能数とを含むライセンスキーを取得し、ライセンスの有効/無効を判定することができる。
なお、このライセンス有効化判定処理(ステップS606〜ステップS609)の詳細について、実施例1においては、図8、図9を用いて後述する。また、このライセンス有効化判定処理(ステップS606〜ステップS609)の詳細について、実施例2においては、図19、図20を用いて後述する。
次に、各ブレードが、ライセンスを有効化する順序を設定した場合の具体例について説明する。ここで、顧客は、どのブレード201がライセンスを優先的に有効化するかを示す優先度をブレード毎に設定している。そのため、各ブレードは、ブレード201の故障や交換による運用形態変化時に、自身に設定された優先度に従って自動的にライセンスを移行し、円滑な運用を行うことができる。
(実施例1)
実施例1は、優先度の高いブレード201から優先的にライセンス有効化判定処理を行い、他ブレードは優先度の高いブレード201のライセンス有効化判定処理終了まで待機するようにした実施例である。これにより、優先度の高いブレード201から順に、筐体200内での使用可能数の範囲内でライセンスを有効化することができる。
(実施例1にかかるライセンス管理装置の機能的構成)
次に、図7を用いて実施例1にかかるライセンス管理装置の機能的構成について説明する。ライセンス管理装置の機能は、本実施例ではブレード201内のCPU301により実現される。なお、以下では、ソフトウェアのオプション機能のライセンスを有効化する場合について説明するが、ソフトウェアそのものの機能のライセンスを有効化する場合であってもよい。
図7は、実施例1にかかるライセンス管理装置の機能ブロック図である。図7に示すように、ライセンス管理装置は、受信部701と、取得部702と、判断部703と、設定部704と、更新部705と、送信部706と、検出部707と、を備える。
受信部701は、ソフトウェアの機能を使用可能な数を示す第1のライセンス数と筐体200に固有な識別情報とを受信する機能を有する。ここで、ソフトウェアの機能とは、上述したオプション機能である。また、第1のライセンス数とは、上述した使用可能数である。即ち、ソフトウェアのオプション機能を同時に使用可能なライセンスの数である。筐体200に固有な識別情報とは、上述した筐体固有情報をいう。例えば、筐体200のシリアルナンバーである。
具体的には、例えば、受信部701は、他ブレードから使用可能数と筐体固有情報を受信する。そして、受信部701は、取得した使用可能数と筐体固有情報を管理テーブル302aに保持する。受信部701は、具体的には、例えば、図3に示したメモリ302に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。
これにより、受信部701は、使用可能数と筐体固有情報を外部から受信することができる。受信部701は、使用可能数と筐体固有情報を、管理ユニット202から受信してもよい。なお、受信部701は、使用可能数と筐体固有情報とが含まれるライセンスキーを受信することで、間接的に使用可能数と筐体固有情報とを受信している。
取得部702は、筐体200から筐体200に固有な識別情報を取得する機能を有する。具体的には、例えば、取得部702は、筐体200から筐体固有情報を取得し、筐体固有情報を管理テーブル302aに保持する。筐体200から取得された筐体固有情報は、ライセンスキーから得られる筐体固有情報との認証に用いられる。
取得部702は、具体的には、例えば、図3に示したメモリ302に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。これにより、取得部702は、筐体固有情報を取得することができる。
判断部703は、受信された第1のライセンス数と、現在筐体200内のブレードが使用中の第2のライセンス数とを比較することにより、ソフトウェアの機能が使用可能か否かを判断する機能を有する。また、判断部703は、取得部702によって取得された筐体200に固有な識別情報と受信部701によって受信された筐体200に固有な識別情報とが一致するかを判断する機能を有する。ここで、第2のライセンス数とは、上述した使用数である。即ち、第2のライセンス数とはソフトウェアのオプション機能を同時に使用中のライセンスの数である。
したがって、判断部703は、使用可能数と使用数を比較する。そして、使用数が使用可能数以上であればオプション機能は使用不能と判断する。これにより、判断部703は、使用可能数を超えた個数のオプション機能が使用されることを防止できる。また、使用数が使用可能数より少なければオプション機能は使用可能と判断する。これにより、判断部703は、使用可能数の範囲内であればオプション機能が使用可能と判断できる。
また、使用可能数と使用数との比較に先だって、判断部703は、取得部702によって取得された筐体固有情報と受信部701によって受信された筐体固有情報とが一致するか否かを判断する。判断部703は、一致する場合に正当なライセンスであると判断する。これにより、判断部703は、ライセンスがベンダから正当に付与されたライセンスか否かを判別することができる。そのため、不正なライセンスを用いてオプション機能が不正使用されることを防止できる。なお、不一致の場合は、使用可能数と使用数との比較は実行されない。
また、判断部703は、ブレード201毎の固有情報ではなく、どのブレード201でも共通の筐体固有情報を用いてライセンスの正当性を判断している。これにより、筐体200内のブレード201であればどのブレード201でもオプション機能が使用可能かの判断を行うことができる。また、筐体200からブレード201が外された場合、オプション機能を使用できないようにすることができる。
判断部703は、具体的には、例えば、図3に示したメモリ302に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。
設定部704は、判断部703によってソフトウェアの機能が使用可能と判断された場合、ソフトウェアの機能を実行可能な状態に設定する機能を有する。また、設定部704は、検出部707によって自ブレード内の故障が検出された場合、判断部703によって判断を行わずにソフトウェアの機能を実行不能な状態に設定する機能を有する。具体的には、例えば、設定部704は、ライセンスを有効化することでオプション機能を使用可能な状態に設定する。またライセンスを無効化することでオプション機能を使用不能な状態に設定する。
設定部704は、具体的には、例えば、図3に示したメモリ302に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。これにより、設定部704は、ブレード201を、オプション機能を使用可能な状態に設定でき、また、ブレード201を、オプション機能を使用不能な状態に設定できる。
更新部705は、第2のライセンス数を更新する機能を有する。具体的には、例えば、更新部705は、設定部704によりオプション機能を使用可能な状態に設定された場合、使用数をインクリメントして管理テーブル302aに保持する。
更新部705は、具体的には、例えば、図3に示したメモリ302に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。これにより、更新部705は、使用数を最新の情報に更新することができる。
送信部706は、第1のライセンス数と更新部705による更新後の第2のライセンス数とを送信する機能を有する。具体的には、例えば、送信部706は、第1のライセンス数をまだ受信していないブレード201から送信要求を受けて、第1のライセンス数を送信する。また、送信部706は、更新部705による更新後の使用数を他ブレードに送信する。そして、他ブレードは、管理テーブル302aに保持されている使用数を最新の情報に更新する。
送信部706は、具体的には、例えば、図3に示したメモリ302に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。これにより、送信部706は、使用可能数をまだ受信していないブレード201に対して使用可能数を送信することができる。また、これにより、他ブレードは、管理テーブル302aに保持されている使用数を最新の情報に更新することができる。
なお、送信部706は、全ブレードに対して、使用可能数と更新部705による更新後の使用数とを送信してもよい。送信部706はまた、自ブレードの次の優先度となるブレード201に対してのみ使用可能数と更新部705による更新後の使用数とを送信してもよい。
検出部707は、自ブレードの故障を検出する機能を有する。具体的には、例えば、検出部707は、自ブレードの故障を検出して、管理テーブル302aに保持されている故障ビットを1にセットする。なお、周知技術のため詳細な説明は省略するが、故障の検出は、例えば、ブレード201内部のメモリ302や信号処理デバイスや基板に対して、周期的に自己診断プログラムを実行することにより行われる。そして、各部が正常動作か否かを確認し、正常動作していない場合、故障していると判断する。
検出部707は、具体的には、例えば、図3に示したメモリ302に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。これにより、検出部707は、自ブレードの故障を検出することができる。
図8は、実施例1にかかる優先度を使用したライセンス有効化判定処理(図6のステップS606〜ステップS609)の詳細を示すフローチャート(その1)である。ここでは、ブレード201の電源投入時に全ブレードがライセンス有効化判定処理を同時に開始するものとする。また、各ブレードには、優先度設定SW304によって優先度が設定されている。なお、不揮発性メモリに優先度を保持しておくことにしてもよい。
まず、ブレード201は、優先度設定SW304によって設定された自ブレードの優先度を取得し、管理テーブル302aに保持する(ステップS801)。次に、ブレード201は、他ブレードの管理テーブル302aに保持されている他ブレードの優先度を取得し、メモリ302に保持する(ステップS802)。
ここで、ブレード201は、他ブレードの優先度と自ブレードの優先度が重複しているか否かを判定する(ステップS803)。他ブレードの優先度と自ブレードの優先度が重複している場合(ステップS803:Yes)、不正な優先度設定であるとして、ブレード201は、自ブレードの起動を停止し(ステップS805)、ライセンス有効化判定処理を終了する。
一方、他ブレードの優先度と自ブレードの優先度が重複していない場合(ステップS803:No)、ステップS804に進む。
次に、ブレード201は、自ブレードのライセンスのステータスを「無効(判定中)」に設定する(ステップS804)。ただし、ライセンス有効化判定処理に入る前に自ブレードのライセンスが有効であった場合は自ブレードのライセンスのステータスを「有効(判定中)」に設定する。
ここで、ブレード201は、自ブレードの管理テーブル302aにライセンスキーが保持されているか判定する(ステップS806)。自ブレードの管理テーブル302aにライセンスキーが保持されている場合(ステップS806:Yes)、ステップS810に進む。
自ブレードの管理テーブル302aにライセンスキーが保持されていない場合(ステップS806:No)、ブレード201は、他ブレードの管理テーブル302aにライセンスキーが保持されているか判定する(ステップS807)。他ブレードの管理テーブル302aにライセンスキーが保持されている場合(ステップS807:Yes)、ブレード201は、他ブレードの管理テーブル302aからライセンスキーを取得し(ステップS808)、取得したライセンスキーを自ブレードの管理テーブル302aに保持し、ステップS810に進む。
他ブレードの管理テーブル302aにもライセンスキーが保持されていない場合(ステップS807:No)、ブレード201は、ライセンスキーを管理ユニットから受信したか判定する(ステップS809)。ライセンスキーを受信していない場合(ステップS809:No)、ステップS809に戻る。ライセンスキーを受信した場合(ステップS809:Yes)、ステップS810に進む。
ここで、全ブレードがライセンス有効化判定処理を開始しておりこの時点でライセンスを有効化しているブレード201は存在しないため、ブレード201は、管理テーブル302aに保持されている使用数の値を0に設定して(ステップS810)、図9のステップS901に進む。
図9は、実施例1にかかる優先度を使用したライセンス有効化判定処理(図6のステップS606〜ステップS609)の詳細を示すフローチャート(その2)である。図9において、ブレード201は、管理ユニット202から筐体固有情報を取得し(ステップS901)、管理テーブル302aに保持する。また、ブレード201は、ライセンスキーを復号して筐体固有情報と使用可能数を取得し(ステップS902)、管理テーブル302aに保持する。
そして、ブレード201は、復号した筐体固有情報と取得した筐体固有情報とが一致するか判定する(ステップS903)。復号した筐体固有情報と取得した筐体固有情報とが一致しない場合(ステップS903:No)、不正なライセンスであるとして、ブレード201は、自ブレードの起動を停止し(ステップS805)、ライセンス有効化判定処理を終了する。復号した筐体固有情報と取得した筐体固有情報とが一致する場合(ステップS903:Yes)、正式なライセンスであるとしてステップS904に進む。
次に、ブレード201は、自ブレードよりも優先度が高いブレード201(以下、「上位ブレード」という)のライセンス有効化判定処理が終了したか判定する(ステップS904)。上位ブレードのライセンス有効化判定処理が終了していない場合(ステップS904:No)、ステップS904に戻る。上位ブレードのライセンス有効化判定処理が終了した場合(ステップS904:Yes)、ブレード201は、上位ブレードから使用数を受信して、ステップS905に進む。
そして、ブレード201は、自ブレードの故障ビットが立っているか判定する(ステップS905)。自ブレードの故障ビットが立っている場合(ステップS905:Yes)、自ブレードは故障しているものとして、ブレード201は、ライセンスを無効(判定済)に設定し(ステップS908)、ステップS910に進む。自ブレードの故障ビットが立っていない場合(ステップS905:No)、自ブレードは通常運用状態であるとして、ステップS906へ進む。
次に、ブレード201は、使用可能数>使用数であるか判定する(ステップS906)。使用可能数>使用数でない場合(ステップS906:No)、未使用のライセンスはないとして、ブレード201は、ライセンスを無効(判定済)に設定し(ステップS908)、ステップS910に進む。使用可能数>使用数である場合(ステップS906:Yes)、未使用のライセンスがあるとして、ブレード201は、ライセンスを有効(判定済)に設定し(ステップS907)、使用数をインクリメントして管理テーブル302aに保持し、インクリメントした使用数を他ブレードへ配信する(ステップS909)。そして、ステップS910に進む。
最後に、ブレード201は、メモリ302に保持されている他ブレードの優先度を参照して、次点の優先度のブレード201へ、自ブレードのライセンス有効化判定処理が終了したことを通知する(ステップS910)。なお、次点の優先度のブレード201が存在しない場合はライセンス有効化判定処理の終了を通知しない。そして、ライセンス有効化判定処理を終了し、通常運用状態に移行する。ライセンス有効化判定処理によって、ブレード201は、使用可能数の範囲内であればライセンスを有効化することができる。
なお、ライセンス有効化判定処理は、ブレード201の初めの電源投入時に行われるが、ブレード201の増設・交換時をトリガとしてこの処理を行ってもよいし、故障検出時をトリガとしてライセンス有効化判定処理を行ってもよい。その際、全ブレードがライセンス有効化判定処理を行うようにした場合は、ステップS810において全ブレードで使用数を「0」に設定する。
また、増設・交換したブレード201と増設・交換したブレード201より優先度が低いブレード201のみライセンス有効化判定処理を行ってもよい。この場合、ステップS810において、ライセンス有効化判定処理を行わないブレード201のうちソフトウェアまたはソフトウェアのオプション機能のライセンスを有効化しているブレード201の数を使用数として設定する。そして、増設・交換したブレード201では、ステップS904の処理を省略してもよい。また、不正防止のために一定の時間間隔でライセンス有効化判定処理を繰り返し行ってもよい。
なお、ここでは、各ブレードは全ブレードに対して、インクリメントした使用数を送信したが、自ブレードの次の優先度となるブレード201のみにインクリメントした使用数を送信してもよい。また、ここでは、自ブレードのライセンス有効化判定処理終了を自ブレードの次の優先度となるブレード201のみに通知したが、全ブレードに対して、自ブレードのライセンス有効化判定処理終了を通知し、各ブレードがそれぞれライセンス有効化判定処理を開始するか否かを判断してもよい。
このように、優先度の高いブレード201から順に、筐体200内での使用可能数の範囲内でライセンスを有効化することができる。また、ブレード201の交換・増設・故障時に、優先度に従って自動でライセンスを有効化/無効化することができる。
次に、通常運用状態に移行した後、ブレード201に故障が発生した場合の処理について説明する。
図10は、故障検出の流れを示すフローチャートである。まず、ブレード201は、自ブレードに故障が発生したか判断する(ステップS1001)。自ブレードに故障が発生していない場合(ステップS1001:No)、ステップS1001に戻る。
自ブレードに故障が発生した場合(ステップS1001:Yes)、ブレード201は、自ブレードの管理テーブル302aの故障ビットを立てる(ステップS1002)。そして、故障検出の処理を終了する。この処理によって、ブレード201は、自ブレードの故障を検出することができる。
なお、故障検出をトリガに全ブレードがライセンス有効化判定処理を行うようにしてもよい。例えば、故障したブレード201が他ブレードに対して故障検出の通知を行い、故障したブレード201と通知を受けたブレード201とがライセンス有効化判定処理を行うようにする。この際、故障したブレード201と故障したブレード201より優先度が低いブレード201とのみがライセンス有効化判定処理を行うようにしてもよい。これにより、故障したブレード201の上位ブレードではライセンス有効化判定処理による負担がなくなる。
また、故障検出時にディスプレイ(不図示)に故障発生のアナウンスを表示して、ユーザにブレード201の交換の必要性を通知するようにしてもよい。また、ミドルウェアを用いて故障発生時のブレード201の切り替え先を設定しておき、切り替え先と切り替え元の2つのブレード201のみライセンス有効化判定処理を行うようにしてもよい。
一度ライセンス有効化判定処理を行ったブレード201で、再度ライセンス有効化判定処理を行う場合は、既にブレード201の管理テーブル302aに優先度とライセンスキーが保持されている。よって、ブレード201が、図8のステップS808からライセンス有効化判定処理を始めるようにしてもよい。これにより、ライセンス有効化判定処理が高速化する。ここで、図11〜図17を用いて、実施例1の具体例について説明する。
図11〜図17は、実施例1の具体例を示す説明図である。まず、図11において、筐体200に、ブレード1が差し込まれたとする。ここで、ブレード1は、(1)優先度設定SW304によって設定された自身の優先度を管理テーブル302aに保持する。次に、図11の状況では(2)他ブレードがないため、他ブレードから優先度を取得せず処理を続ける。
次に、ブレード1は、(3)自ブレードの管理テーブル302aにライセンスキーが保持されていないため、他ブレードからライセンスキーを取得しようとする。しかし、筐体200内には(4)他ブレードがなく、ブレード1は他ブレードからライセンスキーを取得できない。よって、(5)ブレード1は管理ユニット202からライセンスキーが入力されるのを待つ。
ここでは、管理ユニット202からブレード1にライセンスキーが入力されたとする。ブレード1は、(6)使用数を0として管理テーブル302aに保持する。
図12において、ブレード1は、(7)管理ユニット202から筐体固有情報を受信する。ここで、ブレード1は、ライセンスキーを復号して、筐体固有情報と使用可能数を取得する。そして、ブレード1は、(8)受信した筐体固有情報と復号した筐体固有情報とが一致するため、正当なライセンスキーと判断して次の処理に進む。
次に、ブレード1は、使用可能数と使用数を比較する。ここで、(9)使用可能数は2であり、使用数は0であるから、まだライセンスは有効化できると判断する。そして、ブレード1は、(10)ライセンスを有効化する。また、使用数をインクリメントして管理テーブル302aに保持する。なお、ブレード1は、筐体200内に他ブレードが存在しないため、自ブレードの処理終了の通知を行わない。
次に、筐体200に、新たにブレード2が差し込まれたとする。ここでは、ブレード201の増設に伴い全ブレードがライセンス有効化判定処理を行うとする。
ここで、各ブレードは、(11)優先度設定SW304によって設定された優先度を管理テーブル302aに保持する。次に、各ブレードは、(12)他ブレードから優先度を取得し、メモリ302に保持する。
次に、ブレード2は、(13)自ブレードの管理テーブル302aにライセンスキーが保持されていないため、(14)他ブレード(ここではブレード1)からライセンスキーを取得しようとする。(15)ブレード2は、ブレード1からライセンスキーを受信し管理テーブル302aに保持する。そして、各ブレードは、(16)使用数を0として管理テーブル302aに保持する。
図13において、各ブレードは、(17)管理ユニット202から筐体固有情報を受信する。ここで、各ブレードは、ライセンスキーを復号して、筐体固有情報と使用可能数を取得する。そして、各ブレードは、(18)受信した筐体固有情報と復号した筐体固有情報とが一致するため、正当なライセンスキーと判断して次の処理に進む。
各ブレードは、管理テーブル302aに保持された自身の優先度とメモリ302に保持された他ブレードの優先度に基づいて上位ブレードがどのブレード201かを判断する。そして、各ブレードは、(19)上位ブレードの処理終了を待つ。ブレード1の優先度が最も高く上位ブレードがないため、ブレード1が処理を開始する。ブレード2は、ブレード1の処理終了を待つ。
次に、ブレード1は、使用可能数と使用数を比較する。ここで、(20)使用可能数は2であり、使用数は0であるから、まだライセンスは有効化できると判断する。そして、ブレード1は、(21)ライセンスを有効化する。また、使用数をインクリメントして管理テーブル302aに保持する。
次に、ブレード1は、(22)インクリメントした使用数を他ブレードへ送信する。ここで、ブレード2は、ブレード1から受信した使用数を管理テーブル302aに保持する。そして、ブレード1は、(23)自ブレードの処理終了をブレード2に通知する。
ブレード1から処理終了の通知を受けたブレード2は処理を開始する。ブレード2は、使用可能数と使用数を比較する。ここで、(24)使用可能数は2であり、使用数は1であるから、まだライセンスは有効化できると判断する。そして、ブレード2は、(25)ライセンスを有効化する。また、使用数をインクリメントして管理テーブル302aに保持する。
次に、ブレード2は、(26)インクリメントした使用数を他ブレードへ送信する。ここで、ブレード2からブレード1は、受信した使用数を管理テーブル302aに保持する。なお、ブレード2は、図12の例では自ブレードより優先度の低いブレード(以下、「下位ブレード」という)が存在しないため、自ブレードの処理終了を他ブレードに通知しない。
次に、筐体200に、新たにブレード3が差し込まれたとする。ここでは、ブレード201の増設に伴い全ブレードがライセンス有効化判定処理を行うとする。
図14において、各ブレードは、(27)優先度設定SW304によって設定された優先度を管理テーブル302aに保持する。次に、(28)他ブレードから優先度を取得し、メモリ302に保持する。
次に、ブレード3は、(29)自ブレードの管理テーブル302aにライセンスキーが保持されていないため、(30)他ブレード(ここではブレード1)からライセンスキーを取得しようとする。(31)ブレード3は、ブレード1からライセンスキーを受信し管理テーブル302aに保持する。そして、各ブレードは、(32)使用数を0として管理テーブル302aに保持する。
次に、各ブレードは、(33)管理ユニット202から筐体固有情報を受信する。ここで、各ブレードは、ライセンスキーを復号して、筐体固有情報と使用可能数を取得する。そして、(34)受信した筐体固有情報と復号した筐体固有情報とが一致するため、正当なライセンスキーと判断して次の処理に進む。
そして、各ブレードは、(35)上位ブレードの処理終了を待つ。ブレード1の優先度が最も高く上位ブレードがないため、ブレード1が処理を開始する。また、ブレード3は、優先度が2番目に高いため、ブレード1の処理終了を待ち、処理を開始する。そして、ブレード2は優先度が最も低いため、ブレード3の処理終了を待ち、最後に処理を開始する。
図15において、ブレード1は、使用可能数と使用数を比較する。ここで、(36)使用可能数は2であり、使用数は0であるから、まだライセンスは有効化できると判断する。そして、ブレード1は、(37)ライセンスを有効化する。また、使用数をインクリメントして管理テーブル302aに保持する。
次に、ブレード1は、(38)インクリメントした使用数を他ブレードへ送信する。ここで、ブレード2,3は、受信した使用数を管理テーブル302aに保持する。そして、ブレード1は、(39)自ブレードの処理終了をブレード3に通知する。
通知を受けたブレード3は処理を開始する。ブレード3は、使用可能数と使用数を比較する。ここで、(40)使用可能数は2であり、使用数は1であるから、まだライセンスは有効化できると判断する。そして、ブレード3は、(41)ライセンスを有効化する。また、使用数をインクリメントして管理テーブル302aに保持する。
次に、ブレード3は、(42)インクリメントした使用数を他ブレードへ送信する。ここで、ブレード1,2は、受信した使用数を管理テーブル302aに保持する。そして、ブレード3は、(43)自ブレードの処理終了をブレード2に通知する。
通知を受けたブレード2は処理を開始する。ブレード2は、使用可能数と使用数を比較する。ここで、(44)使用可能数は2であり、使用数は2であるから、ライセンスは有効化できないと判断する。そして、ブレード2は、(45)ライセンスを無効化する。なお、ブレード2は、下位ブレードが存在しないため、自ブレードの処理終了を他ブレードに通知しない。
ここで、ブレード1に故障が発生した場合について説明する。ここでは、ブレード201の故障発生に伴い全ブレードがライセンス有効化判定処理を行うとする。
図16において、ブレード1は、故障を検出すると、(46)故障ビットを1にセットして管理テーブル302aに保持する。また、ブレード1は、故障検出を他ブレードに通知する。そして、故障を検出したブレード1と、故障検出の通知を受けたブレード2とブレード3はライセンス有効化処理を開始する。
ここで、各ブレードは、(47)優先度設定SW304によって設定された優先度を管理テーブル302aに保持する。次に、各ブレードは、(48)他ブレードから優先度を取得し、メモリ302に保持する。各ブレードは、ライセンスキーを保持しているため、そのまま次の処理に進む。そして、各ブレードは、(49)使用数を0として管理テーブル302aに保持する。
次に、各ブレードは、(50)管理ユニット202から筐体固有情報を受信する。ここで、各ブレードは、ライセンスキーを復号して、筐体固有情報と使用可能数を取得する。そして、(51)受信した筐体固有情報と復号した筐体固有情報とが一致するため、正当なライセンスキーと判断して次の処理に進む。
そして、各ブレードは、(52)上位ブレードの処理終了を待つ。ブレード1の優先度が最も高く上位ブレードがないため、ブレード1が処理を開始する。また、ブレード2は、ブレード3の処理終了を待ち、ブレード3は、ブレード1の処理終了を待つ。
図17において、(53)故障ビットが立っているため、ブレード1は、(54)自身のライセンスを無効化して、(55)自ブレードの処理終了をブレード3に通知する。
通知を受けたブレード3は処理を開始する。ブレード3は、使用可能数と使用数を比較する。ここで、(56)使用可能数は2であり、使用数は0であるから、まだライセンスは有効化できると判断する。そして、ブレード3は、(57)ライセンスを有効化する。また、使用数をインクリメントして管理テーブル302aに保持する。
次に、ブレード3は、(58)インクリメントした使用数を他ブレードへ送信する。ここで、ブレード1,2は、受信した使用数を管理テーブル302aに保持する。そして、ブレード3は、(59)自ブレードの処理終了をブレード2に通知する。
次に、ブレード2は、使用可能数と使用数を比較する。ここで、(60)使用可能数は2であり、使用数は1であるから、まだライセンスは有効化できると判断する。そして、ブレード2は、(61)ライセンスを有効化する。また、使用数をインクリメントして管理テーブル302aに保持する。
次に、ブレード2は、(62)インクリメントした使用数を他ブレードへ送信する。ここで、ブレード1,3は、受信した使用数を管理テーブル302aに保持する。なお、ブレード2は、下位ブレードが存在しないため、自ブレードの処理終了を他ブレードに通知しない。
このように、上述した実施例1では、各ブレードが相互に使用数を監視して、使用可能数を使用数が超えないようにしている。そのため、使用可能数の範囲内ならどのブレード201でも自由にライセンスを有効化してソフトウェアまたはソフトウェアのオプション機能を使用できる。また、各ブレードが相互に使用数を監視するため、外部にライセンス管理用ユニットを設置する必要がなくコストを削減できる。さらに、各ブレードが相互に使用数を監視するため、ライセンス管理用ユニットの不正改造によってソフトウェアまたはソフトウェアのオプション機能を不正使用される虞もなくなる。そして、外部にライセンス管理用ユニットを設置する必要がないため、ライセンス管理用ユニットの故障による業務停止を防止できる。
また、上位ブレードのライセンス有効化判定処理の終了を待つようにしたため、誤動作によって使用数が使用可能数を超えることを防止できる。さらに、ライセンスキーを筐体固有情報にロックしたため、バス203からブレード201を切り離すことによる、ソフトウェアまたはソフトウェアのオプション機能の不正使用を防止することができる。
また、上述した実施例1では、ブレード201の増設・故障を検出した場合に、ライセンス有効化判定処理を再度行い、ブレード201を、優先度に従って自動でライセンスを有効化/無効化するようにした。同時に、故障したブレード201のライセンスは無効化されるようにしたため、速やかな保守が自動的に行えるようになる。
(実施例2)
次に、実施例2について説明する。実施例1では、優先度を用いたが、実施例2では、優先度(comp)を用いる。そして、実施例2では、ライセンスを有効化可能なブレード201を判定し、各ブレードのライセンス有効化判定処理を並列して行うようにする。これにより、優先度の高いブレード201の処理を待たずに、各ブレードは、筐体内での使用可能数の範囲内であればライセンスを有効化することができる。
(実施例2にかかるライセンス管理装置の機能的構成)
次に、図18を用いて実施例2にかかるライセンス管理装置の機能的構成について説明する。ライセンス管理装置の機能は、本実施例ではブレード201内のCPU301により実現される。なお、以下では、ソフトウェアのオプション機能のライセンスを有効化する場合について説明するが、ソフトウェアそのものの機能のライセンスを有効化する場合であってもよい。
図18は、実施例2にかかるライセンス管理装置の機能ブロック図である。図18に示すように、ライセンス管理装置は、受信部1801と、取得部1802と、変換部1803と、判断部1804と、設定部1805と、検出部1806と、を備える。
受信部1801は、ソフトウェアの機能を使用可能なライセンス数を他ブレードから受信する機能を有する。また、受信部1801は、筐体200に固有な識別情報を受信する機能を有する。ここで、ソフトウェアの機能とは、上述したオプション機能である。使用可能なライセンス数とは、上述した使用可能数である。即ち、ネットワーク上でソフトウェアのオプション機能を同時に使用可能なライセンスの数である。筐体200に固有な識別情報とは、上述した筐体固有情報をいう。例えば、筐体200のシリアルナンバーである。
具体的には、例えば、受信部1801は、他ユニットから使用可能数と筐体固有情報を受信する。そして、受信部1801は、取得した使用可能数と筐体固有情報を管理テーブル302aに保持する。受信部1801は、具体的には、例えば、図3に示したメモリ302に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。
これにより、受信部1801は、使用可能数と筐体固有情報を受信することができる。受信部1801は、使用可能数と筐体固有情報を、管理ユニット202から受信してもよい。なお、実際には、受信部1801は、使用可能数と筐体固有情報とが含まれるライセンスキーを受信することで、間接的に使用可能数と筐体固有情報とを受信している。
取得部1802は、優先度を各ブレードから取得する機能を有する。なお、優先度は、優先度設定SW304によってブレード201毎に設定されている。また、取得部1802は、筐体200から筐体200に固有な識別情報を取得する機能を有する。
具体的には、例えば、取得部1802は、各ブレードの優先度を取得し、メモリ302に保持する。また、具体的には、例えば、取得部1802は、筐体200から筐体固有情報を取得し、筐体固有情報を管理テーブル302aに保持する。取得部1802は、具体的には、例えば、図3に示したメモリ302に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。これにより、取得部1802は各ブレードの優先度を取得することができる。また、これにより、取得部1802は、筐体固有情報を取得することができる。
変換部1803は、取得部1802によって取得された自ブレードの優先度を、1から始まる連続番号のうち、自ブレードの優先度に応じた番号に変換する機能を有する。ここで、1から始まる連続番号のうち、自ブレードの優先度に応じた番号とは、上述した優先度(comp)である。具体的には、例えば、数字の小さい優先度が優先度が高いとした場合には、変換部1803は、各ブレードの優先度を降順にソートし、その序列を優先度(comp)として管理テーブル302aに保持する。
変換部1803は、具体的には、例えば、図3に示したメモリ302に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。これにより、変換部1803は優先度(comp)を得ることができる。
判断部1804は、受信部1801によって受信されたライセンス数と変換部1803によって変換された自ブレードに対応する番号とを比較することにより、ソフトウェアの機能が使用可能か否かを判断する機能を有する。また、判断部1804は、取得部1802によって取得された筐体200に固有な識別情報と受信部1801によって受信された筐体200に固有な識別情報とが一致するかを判断する機能を有する。
具体的には、例えば、判断部1804は、自ブレードの優先度(comp)が使用可能数以下であればオプション機能を使用可能と判断する。具体的には、例えば、判断部1804は、取得部1802によって取得された筐体固有情報と受信部1801によって受信された筐体固有情報とが一致する場合に正当なライセンスであると判断する。
判断部1804は、具体的には、例えば、図3に示したメモリ302に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。これにより、判断部1804は、使用可能数を超えた個数のオプション機能が使用されることを防止できる。また、これにより、判断部1804は、ライセンスがベンダから正当に付与されたライセンスか否かを判別することができる。
設定部1805は、判断部1804によってソフトウェアの機能が使用可能と判断された場合、ソフトウェアの機能を実行可能な状態に設定する機能を有する。また、設定部1805は、検出部1806によって故障が検出された場合、判断部1804によって判断を行わずにソフトウェアの機能を実行不能な状態に設定する機能を有する。具体的には、例えば、設定部1805は、ライセンスを有効化することでオプション機能を使用可能な状態に設定する。またライセンスを無効化することでオプション機能を使用不能な状態に設定する。
設定部1805は、具体的には、例えば、図3に示したメモリ302に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。これにより、設定部1805は、ブレード201を、オプション機能を使用可能な状態に設定でき、また、ブレード201を、オプション機能を使用不能な状態に設定できる。
検出部1806は、自ブレードの故障を検出する機能を有する。具体的には、例えば、検出部1806は、自ブレードの故障を検出して、管理テーブル302aに保持されている故障ビットを1にセットする。
検出部1806は、具体的には、例えば、図3に示したメモリ302に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。これにより、検出部1806は、自ブレードの故障を検出することができる。
図19は、実施例2にかかる優先度(comp)を使用したライセンス有効化(図6のステップS606〜ステップS609)の詳細を示すフローチャート(その1)である。ここで、各ブレードには、優先度設定SW304によって優先度が設定されている。
まず、ブレード201は、優先度設定SW304によって設定された自ブレードの優先度を取得し、管理テーブル302aに保持する(ステップS1901)。次に、ブレード201は、他ブレードの管理テーブル302aに保持されている他ブレードの優先度を取得し、メモリ302に保持する(ステップS1902)。
ここで、ブレード201は、他ブレードの優先度と自ブレードの優先度が重複しているか否かを判定する(ステップS1903)。他ブレードの優先度と自ブレードの優先度が重複している場合(ステップS1903:Yes)、不正な優先度設定であるとして、ブレード201は、自ブレードの起動を停止し(ステップS1905)、ライセンス有効化判定処理を終了する。
他ブレードの優先度と自ブレードの優先度が重複していない場合(ステップS1903:No)、ブレード201は、優先度(comp)を算出する(ステップS1904)。ステップS1904については図21において後述する。
次に、ブレード201は、自ブレードのライセンスのステータスを無効(判定中)に設定する(ステップS1906)。ただし、ライセンス有効化判定処理に入る前にライセンスが有効であった場合は自ブレードのライセンスのステータスを有効(判定中)に設定する。
ここで、ブレード201は、自ブレードの管理テーブル302aにライセンスキーが保持されているか判定する(ステップS1907)。自ブレードの管理テーブル302aにライセンスキーが保持されている場合(ステップS1907:Yes)、図20のステップS2001に進む。
自ブレードの管理テーブル302aにライセンスキーが保持されていない場合(ステップS1907:No)、ブレード201は、他ブレードの管理テーブル302aにライセンスキーが保持されているか判定する(ステップS1908)。他ブレードの管理テーブル302aにライセンスキーが保持されている場合(ステップS1908:Yes)、ブレード201は、他ブレードの管理テーブル302aからライセンスキーを取得し、取得したライセンスキーを自ブレードの管理テーブル302aに保持し(ステップS1909)、図20のステップS2001に進む。
他ブレードの管理テーブル302aにライセンスキーが保持されていない場合(ステップS1908:No)、ブレード201は、ライセンスキーを受信したか判定する(ステップS1910)。ライセンスキーを受信していない場合(ステップS1910:No)、ステップS1910に戻る。ライセンスキーを受信した場合(ステップS1910:Yes)、図20のステップS2001に進む。
図20は、実施例2にかかる優先度(comp)を使用したライセンス有効化(図6のステップS606〜ステップS609)の詳細を示すフローチャート(その2)である。図20においてブレード201は、管理ユニット202から筐体固有情報を取得し、管理テーブル302aに保持する(ステップS2001)。また、ブレード201は、ライセンスキーを復号して筐体固有情報と使用可能数を取得し、管理テーブル302aに保持する(ステップS2002)。
そして、ブレード201は、復号した筐体固有情報と取得した筐体固有情報とが一致するか判定する(ステップS2003)。復号した筐体固有情報と取得した筐体固有情報とが一致しない場合(ステップS2003:No)、不正なライセンスであるとして、ブレード201は、自ブレードの起動を停止し(ステップS1905)、ライセンス有効化判定処理を終了する。復号した筐体固有情報と取得した筐体固有情報とが一致する場合(ステップS2003:Yes)、正式なライセンスであるとしてステップS2004に進む。
そして、ブレード201は、自ブレードの故障ビットが立っているか判定する(ステップS2004)。自ブレードの故障ビットが立っている場合(ステップS2004:Yes)、自ブレードは故障しているものとして、ブレード201は、ライセンスを無効(判定済)に設定し(ステップS2007)、ライセンス有効化判定処理を終了し、通常運用状態に移行する。自ブレードの故障ビットが立っていない場合(ステップS2004:No)、自ブレードは通常運用状態であるとして、ステップS2005へ進む。
次に、ブレード201は、自ブレードの管理テーブル302aに保持されている使用可能数≧優先度(comp)であるかを判定する(ステップS2005)。使用可能数≧優先度(comp)でない場合(ステップS2005:No)、ブレード201は、ライセンスを無効(判定済)に設定し(ステップS2007)、ライセンス有効化判定処理を終了し、通常運用状態に移行する。使用可能数≧優先度(comp)である場合(ステップS2005:Yes)、ブレード201は、ライセンスを有効(判定済)に設定し(ステップS2006)、ライセンス有効化判定処理を終了し、通常運用状態に移行する。
ライセンス有効化判定処理によって、ブレード201は、使用可能数の範囲内であればライセンスを有効化することができる。
なお、ライセンス有効化判定処理は、ブレード201の初めの電源投入時に行われるが、ブレード201の増設・交換時をトリガとしてこの処理を行ってもよいし、故障検出時をトリガとしてライセンス有効化判定処理を行ってもよい。その際、全ブレードがこの処理を行ってもよいし、増設・交換したブレード201より優先度が低いブレード201のみライセンス有効化判定処理を行ってもよい。また、不正防止のために一定の時間間隔でライセンス有効化判定処理を繰り返し行ってもよい。
ここで、図19のステップS1904の優先度(comp)を算出する処理について説明する。なお、優先度(comp)とは、故障中のブレードを除いた全ブレード中で、自ブレードの優先度が上位から何番目かを示している。なお、ここでは、数字の小さい優先度のブレード201が優先してライセンスを有効化することとする。よって、各ブレードの優先度を降順にソートした場合の序列が優先度(comp)である。
図21は、図19のステップS1904に示した優先度(comp)の算出の流れを示すフローチャートである。まず、ブレード201は、自ブレードが故障中であるか判断する(ステップS2101)。自ブレードが故障中の場合(ステップS2101:Yes)、優先度(comp)を算出する処理を終了する。
自ブレードが故障中でない場合(ステップS2101:No)、ブレード201は、故障中のブレード201を除く他ブレードの優先度を取得する(ステップS2102)。ブレード201は、管理テーブル302aに保持されている自ブレードの優先度と取得した他ブレードの優先度とを降順にソートして、その序列を、自ブレードの優先度(comp)として算出する(ステップS2103)。
ブレード201は、算出した自ブレードの優先度(comp)を管理テーブル302aに保持する(ステップS2104)。そして、優先度(comp)を算出する処理を終了する。優先度(comp)を算出する処理によって、ブレード201は、自ブレードの優先度(comp)を算出することができる。次に、図22を用いて、この処理によって優先度(comp)を算出した場合の具体例について説明する。
これにより、優先度の高いブレード201の処理を待たずに、各ブレードは、筐体内での使用可能数の範囲内であればライセンスを有効化することができる。また、ブレード201の交換・増設・故障時に、優先度に従って自動でライセンスを有効化/無効化することができる。
図22は、優先度(comp)算出の具体例を示す説明図である。図22に示すように、例えば、筐体200に4つのブレード201が差し込まれているとする。それぞれのブレード201をブレード1〜4とする。ここで、ブレード1は優先度2に設定され、ブレード2は優先度9に設定され、ブレード3は優先度5に設定され、ブレード4は優先度6に設定されているとする。また、ブレード4は故障中である(故障ビットが立っている)。
通常運用状態のブレード1〜3は、それぞれ、故障中のブレード4を除く他ブレードの優先度を取得する。ここで、これらの優先度を降順にソートすると、「優先度2(ブレード1)、優先度5(ブレード3)、優先度9(ブレード2)」となる。ブレード1〜3は、それぞれ、このソート結果に基づいて、優先度(comp)を算出し管理テーブル302aに保持する。
即ち、ブレード1の序列は1番目であるから、ブレード1は、優先度(comp)を1として自ブレードの管理テーブル302aに保持する。また、ブレード2の序列は3番目であるから、ブレード2は、優先度(comp)を3として自ブレードの管理テーブル302aに保持する。そして、ブレード3の序列は2番目であるから、ブレード3は、優先度(comp)を2として自ブレードの管理テーブル302aに保持する。一方、故障中のブレード4は、優先度(comp)を算出しない。
次に、通常運用状態に移行した後、ブレードに故障が発生した場合の処理について説明する。実施例2においても、図10に示した故障検出の処理によって、ブレード201は、自ブレードの故障を検出する。
なお、故障検出をトリガに全ブレードがライセンス有効化判定処理を行うようにしてもよい。例えば、故障したブレード201が他ブレードに対して故障検出の通知を行い、故障したブレード201と通知を受けたブレード201とがライセンス有効化判定処理を行うようにする。この際、故障したブレード201と故障したブレード201の下位ブレードとのみライセンス有効化判定処理を行うようにしてもよい。これにより、故障したブレード201の上位ブレードではライセンス有効化判定処理による負担がなくなる。また、故障検出時にディスプレイ(不図示)に故障発生のアナウンスを表示して、ユーザにブレード201の交換の必要性を通知するようにしてもよい。また、ミドルウェアを用いて故障発生時のブレード201の切り替え先を設定しておき、切り替え先と切り替え元の2つのブレード201のみライセンス有効化判定処理を行うようにしてもよい。
一度ライセンス有効化判定処理を行ったブレード201で、再度ライセンス有効化判定処理を行う場合は、既にブレード201の管理テーブル302aに優先度とライセンスキーが保持されている。よって、ブレード201が、図20のステップS2001からライセンス有効化判定処理を始めるようにしてもよい。これにより、ライセンス有効化判定処理が高速化する。ここで、図23〜図28を用いて、実施例2の具体例について説明する。
図23〜図28は、実施例2の具体例を示す説明図である。まず、図23において、筐体200に、ブレード1が差し込まれたとする。ここで、ブレード1は、(1)優先度設定SW304によって設定された優先度を管理テーブル302aに保持する。次に、ブレード1は、(2)優先度(comp)を算出する。ここでは、他ブレードがないため、ブレード1は、優先度(comp)を1として管理テーブル302aに保持する。
次に、ブレード1は、(3)自ブレードの管理テーブル302aにライセンスキーが保持されていないため、他ブレードからライセンスキーを取得しようとする。しかし、(4)他ブレードがなく、他ブレードからライセンスキーを取得できない。よって、(5)ユーザからライセンスキーが入力されるのを待つ。ここでは、管理ユニット202からライセンスキーが入力されたとする。
そして、ブレード1は、(6)管理ユニット202から筐体固有情報を受信する。ここで、ブレード1は、ライセンスキーを復号して、筐体固有情報と使用可能数を取得する。そして、ブレード1は、(7)受信した筐体固有情報と復号した筐体固有情報とが一致するため、管理テーブル302aに保持されているライセンスキーは正当なライセンスキーであると判断して次の処理に進む。
次に、ブレード1は、使用可能数と優先度(comp)を比較する。ここで、(8)使用可能数は2であり、優先度(comp)は1であるから、まだライセンスは有効化できると判断する。そして、ブレード1は、(9)ライセンスを有効化する。
次に、筐体200に、新たにブレード2が差し込まれたとする。ここでは、ブレード201の増設に伴い全ブレードがライセンス有効化判定処理を行うとする。
図24において、各ブレードは、(10)優先度設定SW304によって設定された優先度を管理テーブル302aに保持する。次に、各ブレードは、(11)他ブレードから優先度を取得し、メモリ302に保持する。そして、各ブレードは、(12)優先度(comp)を算出する。ここでは、ブレード1の優先度が1であり、ブレード2の優先度が3であるから、ブレード1の優先度(comp)は1となり、ブレード2の優先度(comp)は2となる。各ブレードは、この優先度(comp)を管理テーブル302aに保持する。
次に、ブレード2は、(13)自ブレードの管理テーブル302aにライセンスキーが保持されていないため、(14)他ブレード(ここではブレード1)からライセンスキーを取得しようとする。(15)ブレード2は、ブレード1からライセンスキーを受信し管理テーブル302aに保持する。
そして、各ブレードは、(16)管理ユニット202から筐体固有情報を受信する。ここで、各ブレードは、ライセンスキーを復号して、筐体固有情報と使用可能数を取得する。そして、各ブレードは、(17)受信した筐体固有情報と復号した筐体固有情報とが一致するため、管理テーブル302aに保持されているライセンスキーは正当なライセンスキーであると判断して次の処理に進む。
図25において、各ブレードは、使用可能数と優先度(comp)を比較する。ここで、(18)ブレード1では、使用可能数は2であり、優先度(comp)は1であるから、まだライセンスは有効化できると判断する。また、ブレード2では、使用可能数は2であり、優先度(comp)は2であるから、まだライセンスは有効化できると判断する。そして、各ブレードは、(19)ライセンスを有効化する。
次に、筐体200に、新たにブレード3が差し込まれたとする。ここでは、ブレード201の増設に伴い全ブレードがライセンス有効化判定処理を行うとする。
ここで、各ブレードは、(20)優先度設定SW304によって設定された優先度を管理テーブル302aに保持する。次に、各ブレードは、(21)他ブレードから優先度を取得し、メモリ302に保持する。そして、各ブレードは、(22)優先度(comp)を算出する。ここでは、ブレード1の優先度が1であり、ブレード2の優先度が3であり、ブレード3の優先度が2であるから、ブレード1の優先度(comp)は1となり、ブレード2の優先度(comp)は3となり、ブレード3の優先度(comp)は2となる。各ブレードは、この優先度(comp)を管理テーブル302aに保持する。
次に、ブレード3は、(23)自ブレードの管理テーブル302aにライセンスキーが保持されていないため、(24)他ブレード(ここではブレード1)からライセンスキーを取得しようとする。(25)ブレード3は、ブレード1からライセンスキーを受信し管理テーブル302aに保持する。
図26において、各ブレードは、(26)管理ユニット202から筐体固有情報を受信する。ここで、各ブレードは、ライセンスキーを復号して、筐体固有情報と使用可能数を取得する。そして、各ブレードは、(27)受信した筐体固有情報と復号した筐体固有情報とが一致するため、管理テーブル302aに保持されているライセンスキーは正当なライセンスキーであると判断して次の処理に進む。
次に、各ブレードは、使用可能数と優先度(comp)を比較する。ここで、(28)ブレード1では、使用可能数は2であり、優先度(comp)は1であるから、まだライセンスは有効化できると判断する。また、ブレード2では、使用可能数は2であり、優先度(comp)は3であるから、ライセンスは有効化できないと判断する。さらに、ブレード3では、使用可能数は2であり、優先度(comp)は2であるから、まだライセンスは有効化できると判断する。そして、(29)ブレード1,3は、ライセンスを有効化し、ブレード2は、ライセンスを無効化する。
ここで、ブレード1に故障が発生した場合について説明する。ここでは、ブレード201の故障発生に伴い全ブレードがライセンス有効化判定処理を行うとする。
図27において、ブレード1は、(30)故障を検出すると、故障ビットを1にセットして管理テーブル302aに保持する。また、ブレード1は、故障検出を他ブレードに通知する。そして、故障を検出したブレード1と、故障検出の通知を受けたブレード2とブレード3はライセンス有効化処理を開始する。
ここで、各ブレードは、(31)優先度設定SW304によって設定された優先度を管理テーブル302aに保持する。次に、各ブレードは、(32)他ブレードから優先度を取得し、メモリ302に保持する。そして、(33)優先度(comp)を算出する。ここでは、ブレード1の優先度が1であり、ブレード2の優先度が3であり、ブレード3の優先度が2であるが、故障したブレード1を除いて優先度(comp)を算出する。即ち、ブレード1の優先度(comp)はなしであり、ブレード2の優先度(comp)は2となり、ブレード3の優先度(comp)は1となる。各ブレードは、この優先度(comp)を管理テーブル302aに保持する。
各ブレードは、ライセンスキーを保持しているため、そのまま次の処理に進む。そして、各ブレードは、(34)管理ユニット202から筐体固有情報を受信する。ここで、各ブレードは、ライセンスキーを復号して、筐体固有情報と使用可能数を取得する。そして、(35)受信した筐体固有情報と復号した筐体固有情報とが一致するため、正当なライセンスキーと判断して次の処理に進む。
図28において、各ブレードは、使用可能数と優先度(comp)を比較する。ここで、(36)ブレード1では、故障ビットが立っているから、ライセンスを無効化すると判断する。また、ブレード2では、使用可能数は2であり、優先度(comp)は2であるから、まだライセンスは有効化できると判断する。さらに、ブレード3では、使用可能数は2であり、優先度(comp)は1であるから、まだライセンスは有効化できると判断する。そして、(37)ブレード2,3は、ライセンスを有効化し、ブレード1は、ライセンスを無効化する。
このように、ブレード201の増設・故障時に、優先度に従って自動でライセンスを有効化/無効化することができる。
図29は、実施例1および実施例2の実用例を示す説明図(その1)である。ここでは、数字の小さい優先度のブレード201が優先してライセンスを有効化することとする。また、各ブレード201は優先度設定SW304によって優先度が設定されている。
図29は、運用系のブレード201と待機系のブレード201を用意し、故障発生時に待機系のブレード201にライセンスが引き継がれるようにした例である。ここでは、ブレード201は4つであり、使用可能数は2である。それぞれのブレード201を、ブレード1〜4とする。また、運用系であるブレード1とブレード3の優先度を高く設定している。
そのため、(A)のように、通常は運用系のブレード1,3がライセンス有効化されている。一方、(B)のように、運用系のブレード1が故障した場合には、自動的に待機系のブレード2にライセンスが引き継がれるため、円滑な保守が可能となる。
図30は、実施例1および実施例2の実用例を示す説明図(その2)である。ここでは、数字の小さい優先度のブレード201が優先してライセンスを有効化することとする。また、各ブレードは優先度設定SW304によって優先度が設定されている。
図30は、本番系のブレード201と開発系のブレード201を用意し、開発完了に伴って本番系のブレード201を使用するようにした例である。ここでは、ブレードは4つであり、使用可能数は1である。それぞれのブレード201をブレード1〜4とする。また、本番系のブレード1〜3の優先度を高く設定し、開発系のブレード4の優先度を低く設定している。そのため、(A)のように本番系のブレード1〜3は、まだ開発完了していない時点ではライセンス有効となっていないが、(B)のように、開発完了に伴い自動的にライセンスが引き継がれるため、円滑な保守が可能となる。
また、上述した実施例2では、各ブレードが優先度(comp)を算出することで、ソフトウェアまたはソフトウェアのオプション機能を使用可能か判断する。そのため、他ブレードのライセンス有効化判定処理の終了を待たずにライセンスを有効化してソフトウェアまたはソフトウェアのオプション機能を使用できる。また、優先度(comp)を用いることで、使用可能数を使用数が超えないようにしているため、使用可能数の範囲内ならどのブレード201でも自由にライセンスを有効化してソフトウェアまたはソフトウェアのオプション機能を使用できる。
そして、各ブレードが相互に使用数を監視するため、外部にライセンス管理用ユニットを設置する必要がなくコストを削減できる。さらに、各ブレードが相互に使用数を監視するため、ライセンス管理用ユニットの不正改造によってソフトウェアまたはソフトウェアのオプション機能を不正使用される虞もなくなる。そして、外部にライセンス管理用ユニットを設置する必要がないため、ライセンス管理用ユニットの故障による業務停止を防止できる。
さらに、ライセンスキーを筐体固有情報にロックしたため、バス203からブレード201を切り離すことによる、ソフトウェアまたはソフトウェアのオプション機能の不正使用を防止することができる。
また、上述した実施例2では、故障を検出した場合に、ライセンス有効化判定処理を再度行い、故障したブレード201のライセンスが無効化されるようにしたので、速やかな保守が自動的に行えるようになる。
なお、本実施の形態で説明した管理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本管理プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本管理プログラムは、インターネット等のネットワークを介して配布することとしてもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)ブレードサーバの筐体に着脱可能なブレードであって、
対象ソフトウェアの機能を使用可能な数を示す第1のライセンス数および前記筐体に固有な識別情報を前記筐体内の他ブレードから受信する受信手段と、
前記筐体から前記筐体に固有な識別情報を取得する取得手段と、
前記受信手段によって受信された識別情報と前記取得手段によって取得された識別情報とが一致するか否かを判断し、一致すると判断された場合、前記第1のライセンス数と、前記対象ソフトウェアの機能を用いている前記ブレードサーバ内のブレード数を示す第2のライセンス数とを比較することにより、前記対象ソフトウェアの機能が使用可能か否かを判断する判断手段と、
前記判断手段によって対象ソフトウェアの機能が使用可能と判断された場合、前記対象ソフトウェアの機能を実行可能な状態に設定する設定手段と、
自ブレードが前記設定手段によって設定された場合、前記第2のライセンス数を更新する更新手段と、
前記第1のライセンス数と前記更新手段による更新後の第2のライセンス数とを、前記ブレードサーバ内のブレードのうち前記対象ソフトウェアの機能が未設定のブレードに送信する送信手段と、
を備えることを特徴とするブレード。
(付記2)前記受信手段は、
前記対象ソフトウェアの機能が設定済みのブレードが前記ブレードサーバに存在しない場合、前記第1のライセンス数の発行元から前記第1のライセンス数を受信することを特徴とする付記1に記載のブレード。
(付記3)前記送信手段は、
前記ブレードサーバ内のブレードに設定されている優先度に基づいて、前記第1および第2のライセンス数を、前記対象ソフトウェアの機能が未設定のブレードのうち、自ブレードの次の優先度となるブレードに送信することを特徴とする付記1に記載のブレード。
(付記4)前記送信手段は、
前記ブレードサーバ内のブレードに設定されている優先度に基づいて、前記第1および第2のライセンス数を、前記対象ソフトウェアの機能が未設定のブレードのうち、自ブレードの次の優先度となるブレードに送信することを特徴とする付記2に記載のブレード。
(付記5)ブレードサーバの筐体に着脱可能なブレードであって、
対象ソフトウェアの機能を使用可能な数を示すライセンス数および前記筐体に固有な識別情報を前記筐体内の他ブレードから受信する受信手段と、
前記筐体から前記筐体に固有な識別情報を取得し、前記筐体内の各ブレードに設定されている優先度を前記各ブレードから取得する取得手段と、
前記取得手段によって取得された自ブレードの優先度を、1から始まる連続番号のうち、自ブレードの優先度に応じた番号に変換する変換手段と、
前記受信手段によって受信された識別情報と前記取得手段によって取得された識別情報とが一致するか否かを判断し、一致すると判断された場合、前記ライセンス数と前記変換手段によって変換された自ブレードに対応する番号とを比較することにより、前記対象ソフトウェアの機能が使用可能か否かを判断する判断手段と、
前記判断手段によって前記対象ソフトウェアの機能が使用可能と判断された場合、前記対象ソフトウェアの機能を実行可能な状態に自ブレードを設定する設定手段と、
を備えることを特徴とするブレード。
(付記6)自ブレードの故障を検出する検出手段を備え、
前記設定手段は、
前記検出手段によって故障が検出された場合、前記判断手段による判断をおこなうことなく、前記対象ソフトウェアの機能を実行不能な状態に設定する付記1〜5のいずれか一つに記載のブレード。
(付記7)ブレードサーバの筐体に着脱可能なブレードに、
対象ソフトウェアの機能を使用可能な数を示す第1のライセンス数および前記筐体に固有な識別情報を前記筐体内の他ブレードから受信する受信工程と、
前記筐体から前記筐体に固有な識別情報を取得する取得工程と、
前記受信工程によって受信された識別情報と前記取得工程によって取得された識別情報とが一致するか否かを判断し、一致すると判断された場合、前記第1のライセンス数と、前記対象ソフトウェアの機能を用いている前記ブレードサーバ内のブレード数を示す第2のライセンス数とを比較することにより、前記対象ソフトウェアの機能が使用可能か否かを判断する判断工程と、
前記判断工程によって対象ソフトウェアの機能が使用可能と判断された場合、前記対象ソフトウェアの機能を実行可能な状態に設定する設定工程と、
自ブレードが前記設定工程によって設定された場合、前記第2のライセンス数を更新する更新工程と、
前記第1のライセンス数と前記更新工程による更新後の第2のライセンス数とを、前記ブレードサーバ内のブレードのうち前記対象ソフトウェアの機能が未設定のブレードに送信する送信工程と、
を実行させることを特徴とする管理プログラム。
(付記8)ブレードサーバの筐体に着脱可能なブレードに、
対象ソフトウェアの機能を使用可能な数を示すライセンス数および前記筐体に固有な識別情報を前記筐体内の他ブレードから受信する受信工程と、
前記筐体から前記筐体に固有な識別情報を取得し、前記筐体内の各ブレードに設定されている優先度を前記各ブレードから取得する取得工程と、
前記取得工程によって取得された自ブレードの優先度を、1から始まる連続番号のうち、自ブレードの優先度に応じた番号に変換する変換工程と、
前記受信工程によって受信された識別情報と前記取得工程によって取得された識別情報とが一致するか否かを判断し、一致すると判断された場合、前記ライセンス数と前記変換工程によって変換された自ブレードに対応する番号とを比較することにより、前記対象ソフトウェアの機能が使用可能か否かを判断する判断工程と、
前記判断工程によって前記対象ソフトウェアの機能が使用可能と判断された場合、前記対象ソフトウェアの機能を実行可能な状態に自ブレードを設定する設定工程と、
を実行させることを特徴とする管理プログラム。
(付記9)ブレードサーバの筐体に着脱可能なブレードが、
対象ソフトウェアの機能を使用可能な数を示す第1のライセンス数および前記筐体に固有な識別情報を前記筐体内の他ブレードから受信する受信工程と、
前記筐体から前記筐体に固有な識別情報を取得する取得工程と、
前記受信工程によって受信された識別情報と前記取得工程によって取得された識別情報とが一致するか否かを判断し、一致すると判断された場合、前記第1のライセンス数と、前記対象ソフトウェアの機能を用いている前記ブレードサーバ内のブレード数を示す第2のライセンス数とを比較することにより、前記対象ソフトウェアの機能が使用可能か否かを判断する判断工程と、
前記判断工程によって対象ソフトウェアの機能が使用可能と判断された場合、前記対象ソフトウェアの機能を実行可能な状態に設定する設定工程と、
自ブレードが前記設定工程によって設定された場合、前記第2のライセンス数を更新する更新工程と、
前記第1のライセンス数と前記更新工程による更新後の第2のライセンス数とを、前記ブレードサーバ内のブレードのうち前記対象ソフトウェアの機能が未設定のブレードに送信する送信工程と、
を実行することを特徴とする管理方法。
(付記10)ブレードサーバの筐体に着脱可能なブレードが、
対象ソフトウェアの機能を使用可能な数を示すライセンス数および前記筐体に固有な識別情報を前記筐体内の他ブレードから受信する受信工程と、
前記筐体から前記筐体に固有な識別情報を取得し、前記筐体内の各ブレードに設定されている優先度を前記各ブレードから取得する取得工程と、
前記取得工程によって取得された自ブレードの優先度を、1から始まる連続番号のうち、自ブレードの優先度に応じた番号に変換する変換工程と、
前記受信工程によって受信された識別情報と前記取得工程によって取得された識別情報とが一致するか否かを判断し、一致すると判断された場合、前記ライセンス数と前記変換工程によって変換された自ブレードに対応する番号とを比較することにより、前記対象ソフトウェアの機能が使用可能か否かを判断する判断工程と、
前記判断工程によって前記対象ソフトウェアの機能が使用可能と判断された場合、前記対象ソフトウェアの機能を実行可能な状態に自ブレードを設定する設定工程と、
を実行することを特徴とする管理方法。
200 筐体
201 ブレード
202 管理ユニット
301 CPU
302 メモリ
302a 管理テーブル
304 優先度設定SW
701 受信部
702 取得部
703 判断部
704 設定部
705 更新部
706 送信部
707 検出部
1801 受信部
1802 取得部
1803 変換部
1804 判断部
1805 設定部
1806 検出部

Claims (9)

  1. ブレードサーバの筐体に着脱可能なブレードであって、
    対象ソフトウェアの機能を使用可能な数を示す第1のライセンス数および前記筐体に固有な識別情報を前記筐体内の他ブレードから受信する受信手段と、
    前記筐体から前記筐体に固有な識別情報を取得する取得手段と、
    前記受信手段によって受信された識別情報と前記取得手段によって取得された識別情報とが一致するか否かを判断し、一致すると判断された場合、前記第1のライセンス数と、前記対象ソフトウェアの機能を用いている前記ブレードサーバ内のブレード数を示す第2のライセンス数とを比較することにより、前記対象ソフトウェアの機能が使用可能か否かを判断する判断手段と、
    前記判断手段によって対象ソフトウェアの機能が使用可能と判断された場合、前記対象ソフトウェアの機能を実行可能な状態に設定する設定手段と、
    自ブレードが前記設定手段によって設定された場合、前記第2のライセンス数を更新する更新手段と、
    前記第1のライセンス数と前記更新手段による更新後の第2のライセンス数とを、前記ブレードサーバ内のブレードのうち前記対象ソフトウェアの機能が未設定のブレードに送信する送信手段と、
    を備えることを特徴とするブレード。
  2. 前記受信手段は、
    前記対象ソフトウェアの機能が設定済みのブレードが前記ブレードサーバに存在しない場合、前記第1のライセンス数の発行元から前記第1のライセンス数を受信することを特徴とする請求項1に記載のブレード。
  3. 前記送信手段は、
    前記ブレードサーバ内のブレードに設定されている優先度に基づいて、前記第1および第2のライセンス数を、前記対象ソフトウェアの機能が未設定のブレードのうち、自ブレードの次の優先度となるブレードに送信することを特徴とする請求項1に記載のブレード。
  4. 前記送信手段は、
    前記ブレードサーバ内のブレードに設定されている優先度に基づいて、前記第1および第2のライセンス数を、前記対象ソフトウェアの機能が未設定のブレードのうち、自ブレードの次の優先度となるブレードに送信することを特徴とする請求項2に記載のブレード。
  5. ブレードサーバの筐体に着脱可能なブレードであって、
    対象ソフトウェアの機能を使用可能な数を示すライセンス数および前記筐体に固有な識別情報を前記筐体内の他ブレードから受信する受信手段と、
    前記筐体から前記筐体に固有な識別情報を取得し、前記筐体内の各ブレードに設定されている優先度を前記各ブレードから取得する取得手段と、
    前記取得手段によって取得された自ブレードの優先度を、1から始まる連続番号のうち、自ブレードの優先度に応じた番号に変換する変換手段と、
    前記受信手段によって受信された識別情報と前記取得手段によって取得された識別情報とが一致するか否かを判断し、一致すると判断された場合、前記ライセンス数と前記変換手段によって変換された自ブレードに対応する番号とを比較することにより、前記対象ソフトウェアの機能が使用可能か否かを判断する判断手段と、
    前記判断手段によって前記対象ソフトウェアの機能が使用可能と判断された場合、前記対象ソフトウェアの機能を実行可能な状態に自ブレードを設定する設定手段と、
    を備えることを特徴とするブレード。
  6. 自ブレードの故障を検出する検出手段を備え、
    前記設定手段は、
    前記検出手段によって故障が検出された場合、前記判断手段による判断をおこなうことなく、前記対象ソフトウェアの機能を実行不能な状態に設定する請求項1〜5のいずれか一つに記載のブレード。
  7. ブレードサーバの筐体に着脱可能なブレードに、
    対象ソフトウェアの機能を使用可能な数を示す第1のライセンス数および前記筐体に固有な識別情報を前記筐体内の他ブレードから受信する受信工程と、
    前記筐体から前記筐体に固有な識別情報を取得する取得工程と、
    前記受信工程によって受信された識別情報と前記取得工程によって取得された識別情報とが一致するか否かを判断し、一致すると判断された場合、前記第1のライセンス数と、前記対象ソフトウェアの機能を用いている前記ブレードサーバ内のブレード数を示す第2のライセンス数とを比較することにより、前記対象ソフトウェアの機能が使用可能か否かを判断する判断工程と、
    前記判断工程によって対象ソフトウェアの機能が使用可能と判断された場合、前記対象ソフトウェアの機能を実行可能な状態に設定する設定工程と、
    自ブレードが前記設定工程によって設定された場合、前記第2のライセンス数を更新する更新工程と、
    前記第1のライセンス数と前記更新工程による更新後の第2のライセンス数とを、前記ブレードサーバ内のブレードのうち前記対象ソフトウェアの機能が未設定のブレードに送信する送信工程と、
    を実行させることを特徴とする管理プログラム。
  8. ブレードサーバの筐体に着脱可能なブレードに、
    対象ソフトウェアの機能を使用可能な数を示すライセンス数および前記筐体に固有な識別情報を前記筐体内の他ブレードから受信する受信工程と、
    前記筐体から前記筐体に固有な識別情報を取得し、前記筐体内の各ブレードに設定されている優先度を前記各ブレードから取得する取得工程と、
    前記取得工程によって取得された自ブレードの優先度を、1から始まる連続番号のうち、自ブレードの優先度に応じた番号に変換する変換工程と、
    前記受信工程によって受信された識別情報と前記取得工程によって取得された識別情報とが一致するか否かを判断し、一致すると判断された場合、前記ライセンス数と前記変換工程によって変換された自ブレードに対応する番号とを比較することにより、前記対象ソフトウェアの機能が使用可能か否かを判断する判断工程と、
    前記判断工程によって前記対象ソフトウェアの機能が使用可能と判断された場合、前記対象ソフトウェアの機能を実行可能な状態に自ブレードを設定する設定工程と、
    を実行させることを特徴とする管理プログラム。
  9. ブレードサーバの筐体に着脱可能なブレードが、
    対象ソフトウェアの機能を使用可能な数を示す第1のライセンス数および前記筐体に固有な識別情報を前記筐体内の他ブレードから受信する受信工程と、
    前記筐体から前記筐体に固有な識別情報を取得する取得工程と、
    前記受信工程によって受信された識別情報と前記取得工程によって取得された識別情報とが一致するか否かを判断し、一致すると判断された場合、前記第1のライセンス数と、前記対象ソフトウェアの機能を用いている前記ブレードサーバ内のブレード数を示す第2のライセンス数とを比較することにより、前記対象ソフトウェアの機能が使用可能か否かを判断する判断工程と、
    前記判断工程によって対象ソフトウェアの機能が使用可能と判断された場合、前記対象ソフトウェアの機能を実行可能な状態に設定する設定工程と、
    自ブレードが前記設定工程によって設定された場合、前記第2のライセンス数を更新する更新工程と、
    前記第1のライセンス数と前記更新工程による更新後の第2のライセンス数とを、前記ブレードサーバ内のブレードのうち前記対象ソフトウェアの機能が未設定のブレードに送信する送信工程と、
    を実行することを特徴とする管理方法。
JP2012540578A 2010-10-27 2010-10-27 ブレード、管理プログラム、および管理方法 Active JP5578239B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/069108 WO2012056538A1 (ja) 2010-10-27 2010-10-27 ブレード、管理プログラム、および管理方法

Publications (2)

Publication Number Publication Date
JPWO2012056538A1 JPWO2012056538A1 (ja) 2014-03-20
JP5578239B2 true JP5578239B2 (ja) 2014-08-27

Family

ID=45993293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012540578A Active JP5578239B2 (ja) 2010-10-27 2010-10-27 ブレード、管理プログラム、および管理方法

Country Status (3)

Country Link
US (1) US8856952B2 (ja)
JP (1) JP5578239B2 (ja)
WO (1) WO2012056538A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6308375B2 (ja) * 2016-12-20 2018-04-11 富士ゼロックス株式会社 情報処理装置及びプログラム
US11669599B2 (en) * 2018-11-26 2023-06-06 Servicenow, Inc. Systems and methods for software license management

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005004448A (ja) * 2003-06-11 2005-01-06 Canon Inc 情報処理装置、情報処理方法、プログラム及び記憶媒体
JP2006323451A (ja) * 2005-05-17 2006-11-30 Namco Bandai Games Inc データ構造、情報記憶媒体及び製造方法
JP2006338229A (ja) * 2005-06-01 2006-12-14 Hitachi Ltd Smpライセンス情報を有する情報処理装置
JP2007066189A (ja) * 2005-09-01 2007-03-15 Canon Inc デバイスドライバを管理するためのプログラムおよび方法と情報処理装置
US20070118481A1 (en) * 2005-11-22 2007-05-24 Erik Bostrom Method and apparatus for monitoring software usage
WO2008026570A1 (fr) * 2006-08-31 2008-03-06 Daikin Industries, Ltd. Appareil pour activer la validité de fonctions dans une pluralité de dispositifs, système réseau, procédé et programme informatique
JP2008097164A (ja) * 2006-10-10 2008-04-24 Hitachi Ltd 複数の機能要素から構成されるシステムの故障監視方法
JP2009259046A (ja) * 2008-04-17 2009-11-05 Hitachi Ltd マスタ管理システム、マスタ管理方法、およびマスタ管理プログラム
JP2010044696A (ja) * 2008-08-18 2010-02-25 Hitachi Information Systems Ltd プログラムライセンス管理システム及び管理方法
US20100251379A1 (en) * 2009-03-31 2010-09-30 Bmc Software, Inc. Method and System for Configuration Management Database Software License Compliance

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05346851A (ja) 1992-06-16 1993-12-27 Mitsubishi Electric Corp ソフトウェアライセンス管理装置
US20060161972A1 (en) * 2005-01-19 2006-07-20 Cromer Daryl C System and method for license management in blade server system
JP2008107879A (ja) 2006-10-23 2008-05-08 Fujitsu Ltd ライセンス管理方法及びシステム
JP4812611B2 (ja) 2006-12-21 2011-11-09 株式会社日立製作所 プロセッサライセンスを管理するサーバ装置
US20100024001A1 (en) * 2008-07-25 2010-01-28 International Business Machines Corporation Securing Blade Servers In A Data Center

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005004448A (ja) * 2003-06-11 2005-01-06 Canon Inc 情報処理装置、情報処理方法、プログラム及び記憶媒体
JP2006323451A (ja) * 2005-05-17 2006-11-30 Namco Bandai Games Inc データ構造、情報記憶媒体及び製造方法
JP2006338229A (ja) * 2005-06-01 2006-12-14 Hitachi Ltd Smpライセンス情報を有する情報処理装置
JP2007066189A (ja) * 2005-09-01 2007-03-15 Canon Inc デバイスドライバを管理するためのプログラムおよび方法と情報処理装置
US20070118481A1 (en) * 2005-11-22 2007-05-24 Erik Bostrom Method and apparatus for monitoring software usage
WO2008026570A1 (fr) * 2006-08-31 2008-03-06 Daikin Industries, Ltd. Appareil pour activer la validité de fonctions dans une pluralité de dispositifs, système réseau, procédé et programme informatique
JP2008097164A (ja) * 2006-10-10 2008-04-24 Hitachi Ltd 複数の機能要素から構成されるシステムの故障監視方法
JP2009259046A (ja) * 2008-04-17 2009-11-05 Hitachi Ltd マスタ管理システム、マスタ管理方法、およびマスタ管理プログラム
JP2010044696A (ja) * 2008-08-18 2010-02-25 Hitachi Information Systems Ltd プログラムライセンス管理システム及び管理方法
US20100251379A1 (en) * 2009-03-31 2010-09-30 Bmc Software, Inc. Method and System for Configuration Management Database Software License Compliance

Also Published As

Publication number Publication date
JPWO2012056538A1 (ja) 2014-03-20
WO2012056538A1 (ja) 2012-05-03
US20130219513A1 (en) 2013-08-22
US8856952B2 (en) 2014-10-07

Similar Documents

Publication Publication Date Title
US9064116B2 (en) Techniques for security management provisioning at a data storage device
KR101067547B1 (ko) 보안 소프트웨어 갱신
US8886964B1 (en) Protecting remote asset against data exploits utilizing an embedded key generator
US20110321172A1 (en) Management apparatus, license management server, electronic equipment, electronic equipment management system, management method, program, and recording medium
JP5241319B2 (ja) ネットワーク上に配置された構成要素についての情報を検出するためのパスワードを管理するコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP5034109B2 (ja) ライセンス管理装置、ライセンス管理方法及びライセンス認証プログラム
JP4533935B2 (ja) ライセンス認証システム及び認証方法
KR101402542B1 (ko) 지속형 보안 시스템 및 지속형 보안 방법
US20120233455A1 (en) Redundant key server encryption envionment
US20120204030A1 (en) Method and system for cloud based storage
CN109416720A (zh) 跨重置维护操作系统秘密
CN108734031A (zh) 具有在数据安全桥中实现的安全功能的安全数据存储设备
JP2023083473A (ja) 管理方法、管理装置、及び、プログラム
US20180314827A1 (en) Enabling Offline Restart Of Shielded Virtual Machines Using Key Caching
JP2006222944A (ja) ファイルの暗号化と復号化のための複数のキーを管理するシステムと方法
US20090210435A1 (en) Configuration item management tool
JP2009503737A (ja) 階層的ライセンスサーバのための方法及びシステム
WO2015019110A1 (en) Secure data storage
JP2010517448A (ja) セキュアファイル暗号化
EP3533200B1 (en) Fault tolerant automatic secret rotation
WO2008107254A1 (en) System and method for trans-vendor license registration and recovery
JP2013131015A (ja) ライセンス管理プログラム及び情報処理装置
US20100250960A1 (en) Apparatus, network system, method, and computer program for enabling functions of a plurality of devices
JP5578239B2 (ja) ブレード、管理プログラム、および管理方法
US8924733B2 (en) Enabling access to removable hard disk drives

Legal Events

Date Code Title Description
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: 20140610

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140623

R150 Certificate of patent or registration of utility model

Ref document number: 5578239

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150