(57)【要約】  ＣＯＤ等の対象となっている部品が有する管理情報に基づいて当該部品の使用の可否を判断することにより、部品（ハードウェアリソース）の使用を適切に制御できる技術を提供する。管理装置は、ＣＯＤ対象部品から管理情報を読み取り、前記ＣＯＤ対象部品の管理情報に対応するライセンス情報についてライセンス記憶部を参照し、該ライセンス情報に基づいて当該ＣＯＤ対象部品の使用可否を判定し、前記使用可と判断されたＣＯＤ対象部品を動作させ、前記使用不可と判断された部品の動作を禁止する。
2009118886.tif 000002
【特許請求の範囲】
【請求項１】
複数の部品から管理情報を読み取る読取部と、
前記部品の管理情報に対応するライセンス情報についてライセンス記憶部を参照し、該ライセンス情報に基づいて当該部品の使用可否を判定する判定部と、
前記使用可と判断された部品を動作させ、前記使用不可と判断された部品の動作を禁止する動作制御部と、
を備えた管理装置。
【請求項２】
前記管理情報が、前記部品の管理を行うか否かを示すステイタス情報を含み、
前記判定部が、前記ステイタス情報に基づき、管理を行う部品について前記使用可否の判定を行い、管理を行わない部品について前記使用可否の判定を行わない請求項１に記載の管理装置。
【請求項３】
前記管理情報が、前記部品のライセンスの有無を示すライセンス情報を含み、
前記判定部が、前記読取部から取得した管理情報の前記ライセンス情報に基づき前記使用可否の判定を行う請求項１又は２に記載の管理装置。
【請求項４】
前記管理情報が、前記ライセンス情報を含むか否かを示すフォーマット情報を含み、
前記判定部が、前記フォーマット情報に基づき、前記ライセンス情報を含む場合には前記読取部からライセンス情報を取得し、前記ライセンス情報を含まない場合には他のライセンス記憶部からライセンス情報を取得する請求項１から３の何れか１項に記載の管理装置。
【請求項５】
部品から管理情報を読み取るステップと、
前記部品の管理情報に対応するライセンス情報についてライセンス記憶部を参照し、該ライセンス情報に基づいて当該部品の使用可否を判定するステップと、
前記使用可と判断された部品を動作させ、前記使用不可と判断された部品の動作を禁止するステップと、
をコンピュータが実行する管理方法。
【請求項６】
前記管理情報が、前記部品の管理を行うか否かを示すステイタス情報を含み、
前記ステイタス情報に基づき、管理を行う部品について前記使用可否の判定を行い、管理を行わない部品について前記使用可否の判定を行わない請求項５に記載の管理方法。
【請求項７】
前記管理情報が、前記部品のライセンスの有無を示すライセンス情報を含み、
前記管理情報の前記ライセンス情報に基づき前記使用可否の判定を行う請求項５又は６に記載の管理方法。
【請求項８】
前記管理情報が、前記ライセンス情報を含むか否かを示すフォーマット情報を含み、
前記フォーマット情報に基づき、前記管理情報がライセンス情報を含む場合には前記部品からライセンス情報を取得し、前記管理情報がライセンス情報を含まない場合には他のライセンス記憶部からライセンス情報を取得する請求項５から７の何れか１項に記載の管理方法。
【請求項９】
部品から管理情報を読み取るステップと、
前記部品の管理情報に対応するライセンス情報についてライセンス記憶部を参照し、該ライセンス情報に基づいて当該部品の使用可否を判定するステップと、
前記使用可と判断された部品を動作させ、前記使用不可と判断された部品の動作を禁止するステップと、
をコンピュータに実行させる管理プログラム。
【請求項１０】
前記管理情報が、前記部品の管理を行うか否かを示すステイタス情報を含み、
前記ステイタス情報に基づき、管理を行う部品について前記使用可否の判定を行い、管理を行わない部品について前記使用可否の判定を行わない請求項９に記載の管理プログラム。
【請求項１１】
前記管理情報が、前記部品のライセンスの有無を示すライセンス情報を含み、
前記管理情報の前記ライセンス情報に基づき前記使用可否の判定を行う請求項９又は１０に記載の管理プログラム。
【請求項１２】
前記管理情報が、前記ライセンス情報を含むか否かを示すフォーマット情報を含み、
前記フォーマット情報に基づき、前記管理情報がライセンス情報を含む場合には前記部品からライセンス情報を取得し、前記管理情報がライセンス情報を含まない場合には他のライセンス記憶部からライセンス情報を取得する請求項９から１１の何れか１項に記載の管理プログラム。
【請求項１３】
複数の部品と管理装置とを備えた情報処理装置であって、
前記部品が、
所定の動作を行う動作部と、
前記動作部の動作を管理するための管理情報を記憶した記憶部と
を備え、
前記管理装置が、
部品から管理情報を読み取る読取部と、
前記部品の管理情報に対応するライセンス情報についてライセンス記憶部を参照し、該ライセンス情報に基づいて当該部品の使用可否を判定する判定部と、
前記使用可と判断された部品を動作させ、前記使用不可と判断された部品の動作を禁止する動作制御部と、
を備えた情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウェアリソースの使用を制御する技術に関する。
【背景技術】
【０００２】
現在、情報処理装置において、ＣＰＵなどのハードウェアリソースをユーザが必要なときに必要な分だけ使用するといったCapacity on Demand(以下ＣＯＤ)という機能が提供されている。【０００３】
例えば、ＣＰＵの使用数を制御するＣＯＤの提供方法としては、先ず、複数のＣＰＵが搭載された情報処理装置を購入する際、ユーザが使用するＣＰＵの数に応じた料金を支払い、この数のＣＰＵを動作させて情報処理装置を利用する。即ちこの数を超えたＣＰＵの動作を禁止した状態で情報処理装置を利用する。【０００４】
そして、情報処理装置の処理能力の増強が必要になった場合には、ユーザがＣＰＵの使用権を新たに購入してライセンスキーを取得し、このライセンスキーを情報処理装置に入力することで、これまで使用していなかったＣＰＵを使えるようにする。【０００５】
これにより、入力操作のみで迅速に処理能力の増強が図れる。また、必要なときに必要なだけ使用権を購入すれば良いので、システムの初期投資を抑えることができる。【０００６】
また、本願発明に関連する先行技術として、例えば、下記の特許文献に開示される技術がある。【０００７】
【特許文献１】特開平０９−１４６８９８号公報
【特許文献２】特開２００６−３３８２２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、従来の情報処理装置では、ＣＰＵがＣＯＤの対象であるかどうかの情報がＣＰＵ自体に無く、システムボード上に格納されている場合や、情報処理装置自体に格納されていた。例えばＣＰＵを搭載するスロットの番号毎に使用又は非使用を示す情報を記憶しておき、この情報に基づいて各スロットに搭載されたＣＰＵの使用又は非使用を決定していた。【０００９】
このため、非使用のＣＰＵを外して他の情報処理装置に搭載すれば、ライセンスを購入することなく使用できてしまう問題があった。【００１０】
そこで、本件は、ＣＯＤ等の対象となっている部品自身が有する情報に基づいて当該部品の使用の可否を判断することにより、部品（ハードウェアリソース）の使用を適切に制御できる技術を提供する。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本件は以下の構成を採用した。
即ち、情報処理装置は、
複数の部品と管理装置とを備え、
前記部品が、
所定の動作を行う動作部と、
前記動作部の動作を管理するための管理情報を記憶した記憶部と
を備え、
前記管理装置が、
部品から管理情報を読み取る読取部と、
前記部品の管理情報に対応するライセンス情報についてライセンス記憶部を参照し、該ライセンス情報に基づいて当該部品の使用可否を判定する判定部と、
前記使用可と判断された部品を動作させ、前記使用不可と判断された部品の動作を禁止する動作制御部と、を備えた。【００１２】
前記管理装置において、前記管理情報が、前記部品の管理を行うか否かを示すステイタス情報を含み、
前記判定部が、前記ステイタス情報に基づき、管理を行う部品について前記使用可否の判定を行い、管理を行わない部品について前記使用可否の判定を行わなくても良い。【００１３】
前記管理装置において、前記管理情報が、前記部品のライセンスの有無を示すライセンス情報を含み、
前記判定部が、前記読取部から取得した管理情報の前記ライセンス情報に基づき前記使用可否の判定を行っても良い。【００１４】
前記管理装置において、前記管理情報が、前記ライセンス情報を含むか否かを示すフォーマット情報を含み、
前記判定部が、前記フォーマット情報に基づき、前記ライセンス情報を含む場合には前記読取部からライセンス情報を取得し、前記ライセンス情報を含まない場合には他のライセンス記憶部からライセンス情報を取得しても良い。【００１５】
また、管理方法は、
部品から管理情報を読み取るステップと、
前記部品の管理情報に対応するライセンス情報についてライセンス記憶部を参照し、該ライセンス情報に基づいて当該部品の使用可否を判定するステップと、
前記使用可と判断された部品を動作させ、前記使用不可と判断された部品の動作を禁止するステップと、をコンピュータが実行する。【００１６】
前記管理方法は、前記管理情報が、前記部品の管理を行うか否かを示すステイタス情報を含み、
前記ステイタス情報に基づき、管理を行う部品について前記使用可否の判定を行い、管理を行わない部品について前記使用可否の判定を行わなくても良い。【００１７】
前記管理方法は、前記管理情報が、前記部品のライセンスの有無を示すライセンス情報を含み、
前記管理情報の前記ライセンス情報に基づき前記使用可否の判定を行っても良い。【００１８】
前記管理方法は、前記管理情報が、前記ライセンス情報を含むか否かを示すフォーマット情報を含み、
前記フォーマット情報に基づき、前記管理情報がライセンス情報を含む場合には前記部品からライセンス情報を取得し、前記管理情報がライセンス情報を含まない場合には他のライセンス記憶部からライセンス情報を取得しても良い。【００１９】
また、本発明は、上記管理方法をコンピュータに実行させる管理プログラムであっても良い。更に、本発明は、この管理プログラムをコンピュータが読み取り可能な記録媒体に記録したものであっても良い。コンピュータに、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。【００２０】
ここで、コンピュータが読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体の内コンピュータから取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、DAT、８mmテープ、メモリカード等がある。【００２１】
また、コンピュータに固定された記録媒体としてハードディスクやＲＯＭ（リードオンリーメモリ）等がある。
【発明の効果】
【００２２】
開示の実施態様によれば、ＣＯＤ等の対象となっている部品自身が有する情報に基づいて当該部品の使用の可否を判断することにより、部品（ハードウェアリソース）の使用を適切に制御できる技術を提供できる。
【図面の簡単な説明】
【００２３】
【図１】情報処理装置の概略図
【図２】システムボードの概略図
【図３】管理装置の概略図
【図４】部品に設けられたメモリのデータ配列例を示す図
【図５】ライセンスキーを情報処理装置に追加する処理の説明図
【図６】ライセンスデータベースの説明図
【図７】構成判定プログラムに従って実行される処理の説明図
【図８】ＣＯＤデータ管理プログラムの処理の説明図
【図９】ライセンス管理プログラムに従って実行する処理の説明図
【図１０】変形例のライセンスキーを情報処理装置に追加する処理の説明図
【図１１】変形例のライセンスデータベースの説明図
【図１２】変形例のライセンス管理プログラムに従って実行する処理
【図１３】実施形態２に係る管理装置の概略構成図
【図１４】実施形態２の部品に設けられたメモリのデータ配列例を示す図
【図１５】実施形態２のライセンスキーを情報処理装置に追加する処理の説明図
【図１６】実施形態２の構成判定プログラムに従って実行される処理の説明図
【図１７】実施形態３の部品に設けられたメモリのデータ配列例を示す図
【図１８】実施形態３の構成判定プログラムに従って実行される処理の説明図
【図１９】実施形態３の構成判定プログラムに従って実行される処理の説明図
【発明を実施するための最良の形態】
【００２４】
〈実施形態１〉
図１は、本実施形態の情報処理装置の概略図である。
情報処理装置１０は、筐体１１内に複数のシステムボード１２や、クロスバーボード１３、入出力（Ｉ／Ｏ）ボード１４、管理装置１５、電源１６等を備えたコンピュータである。【００２５】
図２は、システムボード１２の概略図であり、各システムボード１２には複数のＣＰＵ(Central Processing Unit)２０やメモリ３０が搭載される。
本実施形態において、ＣＰＵ２０は、ＣＯＤの対象となり得る部品である。このＣＯＤの対象となり得る部品は、所定の動作を行う動作部と管理情報を記憶する記憶部を備えていれば良い。例えばＣＰＵ２０であれば、演算処理等の動作を行うコア２２が動作部であり、ＣＯＤのための管理情報であるＣＯＤ情報を記憶するメモリ（ＦＲＵ ＩＤ ＲＯＭ）２１が記憶部である。【００２６】
本実施形態の情報処理装置１０は、４つのＣＰＵ２１が搭載されたシステムボード１２を８枚備えている。即ち、情報処理装置１０は合わせて３２のＣＰＵを搭載している。また、各ＣＰＵが複数のコアを有していても良い。【００２７】
本実施形態では、この３２のＣＰＵのうち、８つのＣＰＵが常に使用可能なＣＯＤ非対象部品、残りの２４のＣＰＵがＣＯＤ対象部品である。【００２８】
クロスバーボード１３は、ＣＰＵ２０同士やＩ／Ｏボード１４の接続を行う。ＳＭＰ（Symmetric Multi Processing）を行う場合、クロスバーボード１３は、すべてのＣＰＵ２０がすべてのメモリ３０やＩ／Ｏに対して、搭載位置に関係なく同じようにアクセスできるように接続を行う。【００２９】
Ｉ／Ｏボード１４は、ハードディスク等の記憶装置や、ＰＣＩ Expressといった周辺機器とのインタフェースを備えている。該インタフェースには、他のコンピュータとの通信を行うためのネットワークカード（通信制御部）等が接続される。また、前記記憶装置には、演算処理の為のデータやソフトウェアを記憶している。【００３０】
電源１６は、オペレータパネルの電源ボタン（不図示）が押された場合に情報処理装置内の各部１２−１５に電力を供給する。また、電源１６は、管理装置１５からの制御信号に応じて選択的に各部への電力の供給停止又は供給開始ができる。【００３１】
図３は、管理装置１５の概略図である。管理装置１５は、情報処理装置１０のＣＰＵ２０とは別に、ＣＰＵ５１やメモリ５２、記憶部５３、入出力部５４を備えたコンピュータであり、情報処理装置１０の監視や設定などを行う。【００３２】
該入出力部５４には、キーボード等の入力手段やモニタ等の出力手段を備えたコンソールが直接或はネットワークを介して接続される。また、入出力部５４は、管理対象であるシステムボード等と接続している。【００３３】
記憶部５３には、構成判定プログラムやライセンス管理プログラム、ＣＯＤデータ管理プログラム、入出力プログラム、ライセンスデータベースなどで構成される、管理プログラムに相当するファームウェアがインストールされている。また、記憶部５３は、ＣＯＤ対象部品のライセンスの有無といったライセンスに関する情報であるライセンス情報を記憶するライセンスデータベース（ライセンス記憶部）としても機能する。【００３４】
ＣＰＵ５１は、前記ファームウェアを記憶部５３から適宜読み出して実行し、入出力部５４から入力された情報、及び記憶部５３から読み出した情報を演算処理することにより、読取部や、判定部、動作制御部、ライセンス登録部、ライセンス管理部としても機能する。【００３５】
読取部として機能する場合は、ＣＰＵ５１はＣＯＤの対象となり得る部品から管理情報を読み取る。
判定部として機能する場合には、ＣＰＵ５１はＣＯＤ対象部品の管理情報に対応するライセンス情報が、前記ライセンス記憶部に記憶されていれば当該対象部品を使用可、記憶されていなければ当該対象部品を使用不可と判定する。【００３６】
動作制御部として機能する場合は、ＣＰＵ５１は前記使用可と判断されたＣＯＤ対象部品を動作させ、前記使用不可と判断された部品の動作を禁止する。例えば、動作制御部は、電源１６に制御信号を送ることで、使用可と判断されたＣＯＤ対象部品への電源供給を開始させ、使用不可と判断されたＣＯＤ対象部品への電源供給を停止させることで、ＣＯＤ対象部品を動作させるか否か、言い換えればＣＯＤ対象部品の動作を禁止するか否かを制御する。また、動作制御部は、クロスバーボード１３に制御信号を送ることで、使用可と判断されたＣＯＤ対象部品と他の部品とを接続させ、使用不可と判断されたＣＯＤ対象部品と他の部品とを接続させないことで、ＣＯＤ対象部品を動作させるか否かを制御しても良い。また、これに限らず、制御信号に応じてＣＯＤ対象部品の動作を制御できる構成であれば良い。【００３７】
また、ＣＯＤ対象部品の動作の禁止とは、ＣＯＤ対象部品を完全に動作させないことのほか、一部の機能や容量、速度、動作回数等を制限するものでも良い。例えば、ＳＭＰの構成数を制限し、ライセンス数を越えた数のＣＰＵによるＳＭＰは禁止するが、個々のＣＰＵの動作は許可する構成でも良い。【００３８】
ライセンス登録部として機能する場合は、ＣＰＵ５１はライセンスキーが入力された場合に、搭載されているＣＯＤ対象部品に対するライセンスキーとして適合するか否かを確認し、ライセンスキーが適合すればＣＯＤ対象部品のライセンスの取得済みを示すライセンス情報をライセンスデータベースに記憶させる。【００３９】
ライセンス管理部として機能する場合は、ＣＰＵ５１はライセンスの有無の問合せに対し、ライセンスデータベースを参照して問い合わせ元に参照結果を返信する。【００４０】
図４は、本実施形態のＣＰＵ２０に設けられたメモリ２１のデータ配列の例を示す図である。【００４１】
メモリ２１は、特定のアドレスにＣＯＤ用領域を有しており、ＣＯＤ用領域にＣＯＤ情報が記憶されている。該ＣＯＤ情報のうち１バイトが、ＣＰＵ２０がＣＯＤの対象か否かを示す情報、つまりステイタス情報２１Ａである。１バイトのステイタス情報は、７ビットがＣＰＵ２０がＣＯＤ対象であるか否かを示すコード、最後の１ビットがデータ化けを検出するためのパリティコードである。【００４２】
また、メモリ２１のＣＯＤ情報は、２バイト目以降にＣＰＵ毎に固有の識別情報２１Ｂも含んでいる。本例では、識別情報はＣＰＵのシリアル番号である。【００４３】
上記構成の管理装置１５が、ファームウェアに従って実行する管理方法の各プロセスについて、図５〜図９を用いて説明する。【００４４】
図５は、ライセンスキーを情報処理装置に追加する処理の説明図である。
ライセンスキーを購入したユーザが、管理装置に接続したコンソールを操作してライセンス追加の指示を行うと、管理装置は入出力プログラムを実行し（ステップ１、以下Ｓ１のようにも記す）、ＣＰＵ５１がライセンス登録部として機能して、先ずメッセージを表示してライセンスキーの入力をユーザに求める。【００４５】
ユーザの操作により、コンソールを介してライセンスキーを受信すると（Ｓ２）、ライセンス登録部は、筐体１１や管理装置１５のメモリ（ＦＲＵ ＩＤ ＲＯＭ）から情報処理装置１０の識別情報（シリアル番号）を読み出す（Ｓ３）。【００４６】
そしてライセンス登録部は、入力されたライセンスキーが既に登録済みでなければ、当該情報処理装置に対して有効か否か、即ち読み出したシリアル番号に適合するライセンスキーであるかを確認する（Ｓ４）。【００４７】
例えば、ライセンス登録部は、シリアル番号とライセンスキーをハッシュ等の関数で処理し、所定の結果が得られるか否かをチェックする。このため、登録する情報処理装置１０のシリアル番号と組み合わせて当該処理を行ったときに所定の結果が得られるように、ライセンスキーを作成しておく。【００４８】
この結果、ライセンス登録部は、ライセンスキーが無効であればステップ１へ戻ってライセンスキーの入力を求め（Ｓ５）、ライセンスキーが有効であれば（Ｓ５  Ｙｅｓ）ライセンスキー（ライセンス情報）をライセンスデータベースに記憶させる（Ｓ６）。【００４９】
図６は、該ライセンスデータベースの説明図である。本実施形態では、有効と判定されたライセンスキーをライセンスデータベースに記憶している。即ち、ライセンスデータベースに記憶されているライセンスキーの数が、情報処理装置１０で使用できるＣＰＵの数である。【００５０】
なお、ライセンスデータベースは、上記構成に限らず、管理する内容に応じ、他のデータ構成を採っても良い。例えば、ライセンス数Ｃに基づいてライセンスキーが作成されている場合に、ライセンス登録部がライセンス数Ｃにライセンスキーが適合するか否かを確認し、適合した場合には、ライセンス数Ｃとライセンスキーとを対応付けてライセンスデータベースに登録する。この場合、ライセンスデータベースに登録されたライセンス数Ｃの合計が使用できるＣＰＵの数となる。【００５１】
図７は、情報処理装置の起動の際、構成判定プログラムに従って実行される処理の説明図である。【００５２】
ユーザが情報処理装置の起動操作を行った際、例えばオペレータパネル（不図示）の電源スイッチがＯＮにされ（Ｓ２１）、情報処理装置が起動を開始すると（Ｓ２２）、管理装置１５は、構成判定プログラムを実行し、判定部が情報処理装置１０に搭載されているＣＰＵ２０やメモリ２１等のハードウェアリソースのチェックを行う（Ｓ２３）。【００５３】
そして、判定部は、搭載されているハードウェアについて、ＣＯＤ情報のうち少なくともステイタス情報の読み出しをＣＯＤデータ管理プログラム（読出部）に要求する（Ｓ２４）。以下、便宜上ＣＰＵ２０について示すが他の部品であっても良い。【００５４】
そして、判定部は、読出部の応答に基づいて当該ＣＰＵ２０がＣＯＤ対象であるか否かを判定する（Ｓ２５）。【００５５】
また、判定部は、ＣＰＵ２０がＣＯＤ対象であった場合、ライセンス管理プログラム（ライセンス管理部）にＣＰＵ２０に対するライセンスの有無を問い合わせる（Ｓ２６）。【００５６】
ライセンス管理プログラムが、ＣＰＵ２０に対するライセンス有りと応答した場合、構成判定プログラムはそのＣＰＵを使用可能と判断する。また、ライセンス管理プログラムが、ＣＰＵ２０に対するライセンスなしと応答した場合、構成判定プログラムはそのＣＰＵ２０を使用不可と判断する（Ｓ２７）。【００５７】
ステップ２７でＣＰＵ２０が使用可能と判定された場合、及びステップ２５でＣＰＵ２０がＣＯＤ非対象と判定された場合、動作制御部は、ＣＰＵ２０の使用を可能に制御する（Ｓ２８）。即ち、電源の供給、ハードウェア資源としての割り当て、Ｉ／Ｏやメモリとの接続を行わせる。【００５８】
一方、ステップ２７でＣＰＵ２０が使用不可と判定された場合には、動作制御部は当該ＣＰＵ２０の使用を禁止する制御を行う（Ｓ２９）。即ち動作制御部は、電源供給や、ハードウェア資源としての割り当て、Ｉ／Ｏやメモリとの接続を禁止する。【００５９】
情報処理装置に搭載された全てのＣＰＵ２０について前記ＣＯＤ情報の確認処理（ステップ２４〜Ｓ２９）を繰り返し（Ｓ３０）、全ＣＰＵに対する確認処理が終了した場合には、使用可能なＣＰＵ２０を使用して情報処理装置の起動を行う（Ｓ３１）。【００６０】
図８は、上記ステップ２４でＣＯＤ情報を要求された場合のＣＯＤデータ管理プログラムの処理の説明図である。【００６１】
ＣＯＤ情報の要求を受けると、ＣＯＤデータ管理プログラムを実行し（Ｓ４１）、読取部が、ＣＯＤ情報をＣＰＵ２０のメモリ２１から読み出し（Ｓ４２）、構成判定プログラムへデータを返信する（Ｓ４３）。【００６２】
また、図９は構成判定プログラムからライセンス情報の問合せを受けた際、ライセンス管理プログラムに従って実行する処理の説明図である。【００６３】
管理装置１５は、ＣＯＤデータ管理プログラムを実行すると、ライセンス管理部がライセンスデータベースからライセンスキーを読み出してカウントし（Ｓ５１）、このライセンスキーの数を使用可能なＣＰＵ数（Ｒ）として記憶する（Ｓ５２）。【００６４】
そして、構成判定プグラムからのＣＰＵに対するライセンスの有無の問合せを待ち、該問合せを受けると（Ｓ５３）、ライセンス管理部は、ライセンスを与えたＣＰＵ数（Ｎ）と使用可能なＣＰＵ数（Ｒ）とを比較する（Ｓ５４）。【００６５】
ここでＮ＜Ｒであれば、ライセンス管理部は、ライセンス情報問い合わせ対象のＣＰＵに対するライセンス有りと応答し（Ｓ５５）、Ｎを１増加させてステップ５３に戻る（Ｓ５６）。【００６６】
一方、ステップ５４で、Ｎ≧Ｒであれば、ライセンス管理部は、ライセンス情報問い合わせ対象のＣＰＵに対するライセンス無しと応答してステップ５３に戻る（Ｓ５７）。【００６７】
上述のように、本実施形態によれば、管理装置１５が部品（ハードウェアリソース）の管理データに基づいて使用の可否を判定するので、ハードウェアリソースの不正利用を防止できる。例えば、ＣＯＤ対象でないＣＰＵ２０が故障した場合に、ライセンスの無いＣＯＤ対象のＣＰＵ２０と取り替えてライセンスの無いＣＰＵを不正に使用することを防止できる。【００６８】
また、他の全ての情報処理装置にも上述の管理装置１５を実装すれば、ＣＯＤ対象かどうかの判定が必ず実施されるので、契約内容や設定環境の異なる他の情報処理装置にＣＰＵを移して不正使用することも防止できる。【００６９】
《変形例》
上記の実施形態では、情報処理装置毎にライセンスを管理したが、ＣＯＤ対象部品毎にライセンスを管理しても良い。【００７０】
上記実施形態と比べ、本変形例は、ＣＯＤ対象部品毎にライセンスを管理する処理が異なっており、その他のハードウェア構成等は同じである。このため、同一の要素には同符号を付すなどして再度の説明を省略している。【００７１】
図１０は、ライセンスキーを情報処理装置に追加する処理の説明図である。
ライセンスキーを購入したユーザが、管理装置に接続したコンソールを操作してライセンス追加の指示を行うと、管理装置は入出力プログラムを実行し（Ｓ６１）、ＣＰＵ５１がライセンス登録部として機能して、先ずメッセージを表示してライセンスキーの入力をユーザに求める。【００７２】
ユーザの操作により、コンソールを介してライセンスキーを受信すると（Ｓ６２）、ライセンス登録部は、ＣＯＤ対象部品であるＣＰＵ２０のＦＲＵ ＩＤ ＲＯＭ２１からＣＰＵ２０のシリアル番号を読み出す（Ｓ６３）。ＣＯＤ対象部品が情報処理装置に複数ある場合、ライセンスの無い対象部品全てについてシリアル番号を読み出して選択できる構成でも良いし、ステップ６２でユーザがライセンスキーと共にＣＯＤ対象部品を特定する情報を入力し、該情報に応じたＣＯＤ対象部品のシリアル番号を読み出しても良い。【００７３】
そしてライセンス登録部は、入力されたライセンスキーが有効か否か、即ち読み出したシリアル番号に適合するライセンスキーであるか否かを確認する（Ｓ６４）。【００７４】
例えば、シリアル番号とライセンスキーをハッシュ等の関数で処理し、所定の結果が得られるか否かをチェックする。即ち、ライセンスキーは、ＣＯＤ対象部品のシリアル番号と組み合わせて当該処理を行ったときに所定の結果が得られるように作成されている。【００７５】
この結果、ライセンス登録部は、ライセンスキーが無効であればステップ６１へ戻ってライセンスキーの入力を求め（Ｓ６５）、ライセンスキーが有効であれば前記ＣＯＤ対象部品のライセンス情報をライセンスデータベースに記憶する（Ｓ６５〜６６）。【００７６】
図１１は、該ライセンスデータベースの説明図である。本実施形態では、ＣＯＤ対象部品毎にシリアル番号とライセンスキーとを対応付けて記憶している。なお、ライセンスキーは省略しても良い。図１１では、ライセンスデータベースに、シリアル番号が記憶されているＣＯＤ対象部品が使用可、シリアル番号が記憶されていないＣＯＤ対象部品が使用不可であることを示している。即ち、本変形例では、ライセンスデータベースに記憶されているシリアル番号の数が、情報処理装置１０で使用できるＣＰＵの数である。【００７７】
本変形例において、構成判定プログラムに従って実行される処理は、前述の図７と略同じである。但し、ステップ２４でＣＯＤデータ管理プログラムがＣＯＤ情報の読出しを要求した際、ＣＯＤデータ管理プログラムはステップ４２（図８）でＣＯＤ情報としてステイタス情報と共にＣＰＵ２０のシリアル番号も読み出す。【００７８】
また、ステップ２６でライセンス管理プログラムにライセンスの有無を問合せる際、問合せを示す信号と共にＣＯＤ対象部品のシリアル番号も通知している。【００７９】
ここで構成判定プログラム（図７）からライセンス情報の問合せを受けた際に、ライセンス管理プログラムに従って実行する処理について図１２に示す。【００８０】
管理装置１５は、先ず、ＣＯＤデータ管理プログラムを実行し（Ｓ７１）、構成判定プグラムからライセンスの問合せまで待機し（Ｓ７２）、該問合せを受けると（Ｓ７２ Ｙｅｓ）、この問合せ時に受けたシリアル番号がライセンスデータベースに記憶されているシリアル番号と一致するか否かをライセンス管理部が確認する（Ｓ７３）。【００８１】
ここでライセンス管理部は、シリアル番号が一致すれば（Ｓ７３ Ｙｅｓ）、ライセンス有りと応答し（Ｓ７４）、シリアル番号が一致しなければ（Ｓ７３Ｎｏ）ライセンス無しと応答してステップ７２に戻る（Ｓ７５）。【００８２】
本変形例によれば、ＣＯＤ対象のＣＰＵ２０が不正にシステムボードから取り外され、別のシステムボードに搭載された場合でも、構成判定プログラムがＣＯＤ対象と判断し、ライセンスを購入しない限り取り外したＣＰＵを使用することができないため、不正な使用を防止することができる。【００８３】
また、本変形例では、ＣＯＤ対象部品毎にライセンスを管理しているため、例えば、ライセンスキーを購入したＣＰＵであれば、他の情報処理装置でライセンスキーを登録し直すことで、正規に他の情報処理装置へ移して使用することができ、構成変更に柔軟に対応できる。【００８４】
〈実施形態２〉
実施形態１が、ライセンスの有無を示すライセンス判定情報を管理装置が有した構成であるのと比べ、本実施形態２は、ＣＯＤ対象部品がライセンス判定情報を有した構成である点が異なっている。なお、その他の構成は略同じであり、同一の要素には同符号を付すなどして再度の説明を省略している。【００８５】
図１３は、本実施形態２に係る管理装置の概略構成図である。図１３に示す本実施形態の管理装置１５は、ライセンス判定情報をＣＰＵ２０から読み取るので、前述の実施形態１（図３）と比べてライセンス管理部（ライセンス管理プログラム）を省略している。なお、ＣＰＵ５１は、ＣＯＤデータ管理プログラムに従いＣＯＤ情報の読み取りを行う読取部の機能だけでなく、ＣＯＤ情報の書き込みも行う読書き部として動作する。【００８６】
図１４は、本実施形態２のＣＰＵ２０に設けられたメモリ２１のデータ配列の例を示す図である。【００８７】
メモリ２１は、特定のアドレスにＣＯＤ用領域を有しており、該領域にＣＯＤ情報が記憶されている。該ＣＯＤ情報のうち１バイト目が、ＣＯＤの対象か否かを示すステイタス情報２１Ａである。該１バイトのステイタス情報は、７ビットがＣＯＤ対象であるか否かを示すコード、最後の１ビットがデータ化けを検出するためのパリティコードである。【００８８】
該ＣＯＤ情報のうち２バイト目が、ライセンス取得済みか否かを示すライセンス判定情報２１Ｃである。該１バイトのステイタス情報は、７ビットがライセンス取得済みか否かを示すコード、最後の１ビットがデータ化けを検出するためのパリティコードである。【００８９】
また、メモリ２１のＣＯＤ情報は、３バイト目以降に、ＣＰＵ毎に固有の識別情報（本例ではシリアル番号）２１Ｂも含んでいる。【００９０】
上記構成の管理装置１５が、ファームウェアに従って実行する管理方法の各プロセスについて、図１５，図１６を用いて説明する。【００９１】
図１５は、ライセンスキーを情報処理装置に追加する処理の説明図である。【００９２】
ライセンスキーを購入したユーザが、管理装置に接続したコンソールを操作してライセンス追加の指示を行うと、管理装置は入出力プログラムを実行し（Ｓ８１）、ＣＰＵ５１がライセンス登録部として機能して、先ずメッセージを表示してライセンスキーの入力を求める。【００９３】
ユーザの操作により、コンソールを介してライセンスキーを受信すると（Ｓ８２）、ライセンス登録部は、ＣＯＤ対象部品であるＣＰＵ２０のメモリ（ＦＲＵ ＩＤ ＲＯＭ２１）からシリアル番号を読み出す（Ｓ８３）。ＣＯＤ対象部品が複数ある場合、ライセンスの無いＣＯＤ対象部品全てについてシリアル番号を読み出しても良いし、ステップ８２でユーザがライセンスキーと共にＣＯＤ対象部品を特定する情報を入力し、該情報に応じたＣＯＤ対象部品のシリアル番号を読み出しても良い。【００９４】
そしてライセンス登録部は、入力されたライセンスキーが有効か否か、即ち読み出したシリアル番号に適合するライセンスキーであるか否かを確認する（Ｓ８４）。【００９５】
例えば、シリアル番号とライセンスキーをハッシュ等の関数で処理し、所定の結果が得られるか否かをチェックする。即ち、ライセンスキーは、ＣＯＤ対象部品のシリアル番号と組み合わせて当該処理を行ったときに所定の結果が得られるように作成されている。【００９６】
この結果、ライセンス登録部は、ライセンスキーが無効であればステップ８１へ戻ってライセンスキーの入力を求め（Ｓ８５）、ライセンスキーが有効であれば、ライセンス登録部前記対象部品のライセンス情報をライセンスデータベースに記憶する（Ｓ８５〜８６）。【００９７】
また、ライセンスキーが有効であれば、ライセンス登録部は、ＣＯＤデータ管理プログラム（読書き部）にライセンス判定情報の書き込みを依頼する（Ｓ８７）。これに応じ、読書き部は、ＣＰＵ２０のライセンス判定情報をライセンス取得済みに変更する。【００９８】
図１６は、情報処理装置の起動の際、構成判定プログラムに従って実行される処理の説明図である。【００９９】
ユーザが情報処理装置の起動操作を行った際、例えばオペレータパネル（不図示）の電源スイッチがＯＮにされ（Ｓ９０）、情報処理装置が起動を開始すると（Ｓ９１）、管理装置１５は、構成判定プログラムを実行し、判定部が情報処理装置１０に搭載されているＣＰＵ２０やメモリ２１等のハードウェアリソースのチェックを行う（Ｓ９２）。【０１００】
そして、判定部は、搭載されているハードウェアについて、ＣＯＤ情報のうち少なくともステイタス情報をＣＯＤデータ管理プログラム（読書き部）に要求する（Ｓ９３）。なお、以下では便宜上ハードウェアとしてＣＰＵ２０について示すが、他の部品であっても良い。【０１０１】
そして、判定部は、読書き部の応答に基づいて当該ＣＰＵ２０がＣＯＤ対象であるか否かを判定する（Ｓ９４）。【０１０２】
また、判定部は、ＣＰＵ２０がＣＯＤ対象であった場合、ＣＯＤデータ管理プログラム（読書き部）にライセンスの有無を問い合わせる（Ｓ９５）。【０１０３】
ＣＯＤデータ管理プログラムが、ライセンス有りと応答した場合、構成判定プログラムはそのＣＰＵを使用可能と判断する。また、ＣＯＤデータ管理プログラムが、ライセンスなしと応答した場合、構成判定プログラムは使用不可と判断する（Ｓ９６）。【０１０４】
ステップ９６でＣＰＵ２０が使用可能と判定された場合及びステップ９４でＣＯＤ非対象と判定された場合、動作制御部は、ＣＰＵ２０の使用を可能に制御する（Ｓ９７）。即ち、電源の供給、ハードウェア資源としての割り当て、Ｉ／Ｏやメモリとの接続を行わせる。【０１０５】
一方、ステップ９６でＣＰＵ２０が使用不可と判定された場合には、当該ＣＰＵ２０の使用を禁止する制御を行う（Ｓ９８）。即ち、電源供給や、ハードウェア資源としての割り当て、Ｉ／Ｏやメモリとの接続を禁止する。【０１０６】
搭載された全てのＣＰＵ２０について前記ＣＯＤ情報の確認処理（ステップ９３〜Ｓ９８）を繰り返し（Ｓ９９）、全ＣＰＵに対するＣＯＤ情報の確認処理が終了した場合には、使用可能なＣＰＵ２０を使用して情報処理装置の起動を行う（Ｓ１００）。【０１０７】
本実施形態によれば、ＣＯＤ対象のＣＰＵ２０が不正にシステムボードから取り外され、別のシステムボードに搭載された場合でも、構成判定プログラムがＣＯＤ対象と判断し、ライセンスを購入しない限り取り外したＣＰＵを使用することができないため、不正な使用を防止することができる。例えば、ＣＯＤ対象でないＣＰＵ２０が故障した場合に、ライセンスの無いＣＯＤ対象のＣＰＵ２０と取り替えてライセンスの無いＣＰＵを不正に使用することを防止できる。【０１０８】
また、本実施形態によれば、ライセンス判定情報をＣＯＤ対象部品が有しているので、ＣＯＤ対象部品を他の情報処理装置へ移した場合にもライセンスを取得済みであるか否かを確認できるので、ライセンス取得済みであればライセンスを登録し直すことなく、正規に使用できる。【０１０９】
〈実施形態３〉
前記実施形態１と実施形態２とで挙げたようにライセンス判定情報を格納する構成が異なるＣＯＤ対象部品を混在した場合は、以下の方法により実現できる。【０１１０】
本実施形態３は、前記実施形態１と比べてライセンス判定情報を格納する構成が異なり、その他構成は略同じである。このため、同一の要素には同符号を付すなどして再度の説明を省略している。【０１１１】
図１７は、本実施形態３のＣＰＵ２０に設けられたメモリ２１のデータ配列の例を示す図である。【０１１２】
メモリ２１は、特定のアドレスにＣＯＤ用領域を有しており、該領域にＣＯＤ情報が記憶されている。該ＣＯＤ情報のうち１バイト目が、２バイト目以降のデータ格納フォーマットを示すフォーマット情報２１Ｄである。該１バイトのフォーマット情報は、７ビットがフォーマットを示すコード、最後の１ビットがデータ化けを検出するためのパリティコードである。【０１１３】
例えば、フォーマットを示すコードが０００００００であれば実施形態２の図１４と同様に２バイト目にステイタス情報２１Ａが格納され、３バイト目にライセンス判定情報２１Ｃが格納されることを示す。また、フォーマットを示すコードが００００００１であれば実施形態１の図４と同様に、２バイト目にステイタス情報２１Ａが格納され、３バイト目が使用されないことを示す。【０１１４】
また、メモリ２１のＣＯＤ情報は、４バイト目以降に、ＣＰＵ毎に固有の識別情報（本例ではシリアル番号）２１Ｂも含んでいる。【０１１５】
図１８,図１９は、情報処理装置の起動の際、構成判定プログラムに従って実行される処理の説明図である。【０１１６】
ユーザが情報処理装置の起動操作を行った際、例えばオペレータパネル（不図示）の電源スイッチがＯＮにされ（Ｓ２０１）、情報処理装置が起動を開始すると（Ｓ２０２）、管理装置１５は、構成判定プログラムを実行し、判定部が情報処理装置１０に搭載されているＣＰＵ２０やメモリ２１等のハードウェアリソースのチェックを行う（Ｓ２０３）。【０１１７】
そして、判定部は、搭載されているハードウェア（以下、便宜上ＣＰＵ２０について示すが他の部品であっても良い）について、ＣＯＤ情報のうちフォーマット情報や、ステイタス情報の読み出しをＣＯＤデータ管理プログラム（読書き部）に要求する（Ｓ２０４）。【０１１８】
そして、判定部は、読書き部で読み出したフォーマット情報に基づいて当該ＣＰＵ２０がライセンス判定情報を有しているか否かを判定する（Ｓ２０５）。【０１１９】
ここで管理装置１５は、ＣＰＵ２０がライセンス判定情報を有していない場合、図７と同様にステップ２５以降の処理を行い、ＣＰＵ２０がライセンス判定情報を有している場合、図１６と同様にステップ９４以降の処理を行う。但し、ステップ３０又はステップ９９にて、未処理のＣＰＵ２０があると判定した場合には、ステップ２０４に戻る。【０１２０】
本実施形態によれば、ライセンス判定情報を有しているＣＯＤ対象部品とライセンス判定情報を有していないＣＯＤ対象部品とが混在している場合でも、前述の実施形態１，２と同様にＣＯＤ対象部品の不正使用を防止できる。【０１２１】
〈その他〉
本発明は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。また、上記構成要素は可能な限り組み合わせることができる。【０１２２】
上記実施形態では、ＣＯＤ対象部品としてＣＰＵを例に挙げたが、管理情報を格納できるメモリ（記憶部）を持つ部品であれば、如何なる部品であっても良い。例えば、メモリ、I/Oカード、システムボード、電源、記憶装置等が挙げられる。また、コンピュータクラスタを構成する各コンピュータであっても良い。
【図１】
2009118886.tif 000003
【図２】
2009118886.tif 000004
【図３】
2009118886.tif 000005
【図４】
2009118886.tif 000006
【図５】
2009118886.tif 000007
【図６】
2009118886.tif 000008
【図７】
2009118886.tif 000009
【図８】
2009118886.tif 000010
【図９】
2009118886.tif 000011
【図１０】
2009118886.tif 000012
【図１１】
2009118886.tif 000013
【図１２】
2009118886.tif 000014
【図１３】
2009118886.tif 000015
【図１４】
2009118886.tif 000016
【図１５】
2009118886.tif 000017
【図１６】
2009118886.tif 000018
【図１７】
2009118886.tif 000019
【図１８】
2009118886.tif 000020
【図１９】
2009118886.tif 000021
【手続補正書】
【提出日】平成22年8月20日(2010.8.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の部品から管理情報を読み取る読取部と、
前記部品の管理情報に対応するライセンス情報についてライセンス記憶部を参照し、該ライセンス情報に基づいて当該部品の使用可否を判定する判定部と、
前記使用可と判断された部品を動作させ、前記使用不可と判断された部品の動作を禁止する動作制御部と、
を備えた管理装置。
【請求項２】
前記管理情報が、前記部品の管理を行うか否かを示すステイタス情報を含み、
前記判定部が、前記ステイタス情報に基づき、管理を行う部品について前記使用可否の判定を行い、管理を行わない部品について前記使用可否の判定を行わない請求項１に記載の管理装置。
【請求項３】
前記管理情報が、前記部品のライセンスの有無を示すライセンス判定情報を含み、
前記判定部が、前記読取部から取得した管理情報の前記ライセンス判定情報に基づき前記使用可否の判定を行う請求項１又は２に記載の管理装置。
【請求項４】
前記管理情報が、前記ライセンス判定情報を含むか否かを示すフォーマット情報を含み、
前記判定部が、前記フォーマット情報に基づき、前記ライセンス判定情報を含む場合には前記読取部からライセンス情報を取得し、前記ライセンス判定情報を含まない場合には他のライセンス記憶部からライセンス情報を取得する請求項１から３の何れか１項に記載の管理装置。
【請求項５】
部品から管理情報を読み取るステップと、
前記部品の管理情報に対応するライセンス情報についてライセンス記憶部を参照し、該ライセンス情報に基づいて当該部品の使用可否を判定するステップと、
前記使用可と判断された部品を動作させ、前記使用不可と判断された部品の動作を禁止するステップと、
をコンピュータが実行する管理方法。
【請求項６】
前記管理情報が、前記部品の管理を行うか否かを示すステイタス情報を含み、
前記ステイタス情報に基づき、管理を行う部品について前記使用可否の判定を行い、管理を行わない部品について前記使用可否の判定を行わない請求項５に記載の管理方法。
【請求項７】
前記管理情報が、前記部品のライセンスの有無を示すライセンス判定情報を含み、
前記管理情報の前記ライセンス判定情報に基づき前記使用可否の判定を行う請求項５又は６に記載の管理方法。
【請求項８】
前記管理情報が、前記ライセンス判定情報を含むか否かを示すフォーマット情報を含み、
前記フォーマット情報に基づき、前記管理情報がライセンス判定情報を含む場合には前記部品からライセンス情報を取得し、前記管理情報がライセンス判定情報を含まない場合には他のライセンス記憶部からライセンス情報を取得する請求項５から７の何れか１項に記載の管理方法。
【請求項９】
部品から管理情報を読み取るステップと、
前記部品の管理情報に対応するライセンス情報についてライセンス記憶部を参照し、該ライセンス情報に基づいて当該部品の使用可否を判定するステップと、
前記使用可と判断された部品を動作させ、前記使用不可と判断された部品の動作を禁止するステップと、
をコンピュータに実行させるための管理プログラム。
【請求項１０】
前記管理情報が、前記部品の管理を行うか否かを示すステイタス情報を含み、
前記ステイタス情報に基づき、管理を行う部品について前記使用可否の判定を行い、管理を行わない部品について前記使用可否の判定を行わない請求項９に記載の管理プログラム。
【請求項１１】
前記管理情報が、前記部品のライセンスの有無を示すライセンス判定情報を含み、
前記管理情報の前記ライセンス判定情報に基づき前記使用可否の判定を行う請求項９又は１０に記載の管理プログラム。
【請求項１２】
前記管理情報が、前記ライセンス判定情報を含むか否かを示すフォーマット情報を含み、
前記フォーマット情報に基づき、前記管理情報がライセンス判定情報を含む場合には前記部品からライセンス情報を取得し、前記管理情報がライセンス判定情報を含まない場合には他のライセンス記憶部からライセンス情報を取得する請求項９から１１の何れか１項に記載の管理プログラム。
【請求項１３】
複数の部品と管理装置とを備えた情報処理装置であって、
前記部品が、
所定の動作を行う動作部と、
前記動作部の動作を管理するための管理情報を記憶した記憶部と
を備え、
前記管理装置が、
部品から管理情報を読み取る読取部と、
前記部品の管理情報に対応するライセンス情報についてライセンス記憶部を参照し、該ライセンス情報に基づいて当該部品の使用可否を判定する判定部と、
前記使用可と判断された部品を動作させ、前記使用不可と判断された部品の動作を禁止する動作制御部と、
を備えた情報処理装置。
【国際調査報告】
2009118886.tif 000022
2009118886.tif 000023
2009118886.tif 000024