(57)【要約】【課題】プロセッサライセンスの管理について、管理サーバにおける管理プログラムを用いることなく、プロセッサライセンスの不正利用を防止すること。【解決手段】複数のプロセッサと、メインメモリ上で動作するＯＳと、ＯＳ上で動作するアプリケーションと、ＯＳ、プロセッサを含むサーバの障害を検知する障害検知部と、を備えたサーバ装置において、ＯＳからのみアクセスできるインタフェース手段と、プロセッサのライセンス数、プロセッサの障害の有り無し状態及び処理動作のオンオフ状態を含むプロセッサ状態、を保持するメモリ領域と、各プロセッサのオンオフ処理動作を制御する制御部と、を有するプロセッサ管理機構を備えること。プロセッサのライセンスの追加または削除をプロセッサ管理機構へ送信するためのプロセッサ管理機構専用のＵＳＢポートを備える。複数サーバ間でプロセッサライセンスを移動させるためのＬＡＮポートを備える。【選択図】図１
2008158639.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサと、メインメモリ上で動作するＯＳと、前記ＯＳ上で動作するアプリケーションと、前記ＯＳ、前記プロセッサを含むサーバの障害を検知する障害検知部と、各構成要素を接続するバスと、を備えたサーバ装置において、
前記ＯＳからのみアクセスできるインタフェース手段と、
前記プロセッサのライセンス数、前記プロセッサの障害の有り無し状態及び処理動作のオンオフ状態を含むプロセッサ状態、を保持するメモリ領域と、
各プロセッサのオンオフ処理動作を制御する制御部と、を有するプロセッサ管理機構を備える
ことを特徴とするサーバ装置。
【請求項２】
請求項１において、
前記プロセッサのライセンスの追加または削除を前記プロセッサ管理機構へ送信するための前記プロセッサ管理機構専用のインタフェース手段を備える
ことを特徴とするサーバ装置。
【請求項３】
請求項２において、
前記インタフェース手段は、プロテクトのかかったＵＳＢメモリを接続するＵＳＢポートであることを特徴とするサーバ装置。
【請求項４】
複数のプロセッサと、メインメモリ上で動作するＯＳと、前記ＯＳ上で動作するアプリケーションと、前記ＯＳ、前記プロセッサを含むサーバの障害を検知する障害検知部と、各構成要素を接続するバスと、をそれぞれ備えた複数台のサーバ装置に接続されるサーバ装置であって、
各サーバ装置は、前記ＯＳからのみアクセスできるインタフェース手段と、当該サーバ装置における各プロセッサの障害の有り無し状態及び処理動作のオンオフ状態を含むプロセッサ状態、前記複数台のサーバ装置におけるプロセッサライセンス数を保持するメモリ領域と、当該サーバ装置における各プロセッサのオンオフ処理動作を制御する制御部と、を有するプロセッサ管理機構を備え、
前記複数台のサーバ装置の間における前記プロセッサのライセンスの移動を前記プロセッサ管理機構へ送信するための前記プロセッサ管理機構専用のインタフェース手段を備える
ことを特徴とするサーバ装置。
【請求項５】
請求項４において、
前記プロセッサのライセンスの移動を他のサーバ装置のプロセッサ管理機構と授受するための前記プロセッサ管理機構専用のインタフェース手段を備える
ことを特徴とするサーバ装置。
【請求項６】
請求項５において、
前記インタフェース手段はＬＡＮポートであることを特徴とするサーバ装置。
【請求項７】
請求項４、５または６において、
前記障害検知部で各サーバ装置での障害の有り無し状態を検知し、前記メモリ領域が前記複数台のサーバ装置の障害の有り無し状態を保持することで、互いのサーバ装置間で障害の有り無し状態を確認可能とし、
一方のサーバ装置で障害が発生したときに、他方のサーバ装置にプロセッサライセンスをすべて移動する
ことを特徴とするサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置内のプロセッサのライセンス監視制御に関し、特に、サーバ装置内のプロセッサのライセンスの追加又は削除、さらに、複数サーバ間におけるプロセッサのライセンスの移動を許可するサーバシステムに適用して有効な技術に関するものである。
【背景技術】
【０００２】
ＩＴコストを削減するため、サーバの余剰リソースを有効活用する手法が求められている。余剰リソースの有効活用の一例として、複数サーバにおける管理対象のソフトウェアのライセンスを、ライセンス管理プログラムで纏めて管理し、各サーバにおける同時利用本数がライセンス数以下となるように管理する手法が提案されている（例えば、特許文献１を参照）。
【０００３】
このような余剰リソースの有効活用によると、各サーバのプロセッサ負荷のピーク時が異なれば、負荷の総和は平準化されるため、複数サーバの負荷の総和に必要なプロセッサ数は、サーバ毎のピーク時のプロセッサ数を足した値より低くなり、プロセッサ単位のライセンスの数を削減することができる。
【特許文献１】特開２００５−１８６３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述したように、上記特許文献１に示す従来技術では、複数サーバ間でのライセンスの受け渡しを監視制御するために、複数サーバを管理する管理サーバにおけるライセンス管理プログラムを使用している。しかしながら、ライセンス管理プログラムを使用する場合、ライセンス管理プログラムのバグや仕様上の欠陥による脆弱性を利用し、ライセンスを不正に利用される可能性がある。
【０００５】
本発明の目的は、プロセッサライセンスの管理について、管理サーバにおける管理プログラムを用いることなく、プロセッサライセンスの不正利用を防止することが可能なサーバ装置を提供することにある。
【課題を解決するための手段】
【０００６】
前記課題を解決するために、本発明は主として次のような構成を採用する。  
複数のプロセッサと、メインメモリ上で動作するＯＳと、前記ＯＳ上で動作するアプリケーションと、前記ＯＳ、前記プロセッサを含むサーバの障害を検知する障害検知部と、各構成要素を接続するバスと、を備えたサーバ装置において、
前記ＯＳからのみアクセスできるインタフェース手段と、
前記プロセッサのライセンス数、前記プロセッサの障害の有り無し状態及び処理動作のオンオフ状態を含むプロセッサ状態、を保持するメモリ領域と、
各プロセッサのオンオフ処理動作を制御する制御部と、を有するプロセッサ管理機構を備える構成とする。
【０００７】
また、前記サーバ装置において、前記プロセッサのライセンスの追加または削除を前記プロセッサ管理機構へ送信するための前記プロセッサ管理機構専用のインタフェース手段を備える構成とする。
【０００８】
また、複数のプロセッサと、メインメモリ上で動作するＯＳと、前記ＯＳ上で動作するアプリケーションと、前記ＯＳ、前記プロセッサを含むサーバの障害を検知する障害検知部と、各構成要素を接続するバスと、をそれぞれ備えた複数台のサーバ装置に接続されるサーバ装置であって、
各サーバ装置は、前記ＯＳからのみアクセスできるインタフェース手段と、当該サーバ装置における各プロセッサの障害の有り無し状態及び処理動作のオンオフ状態を含むプロセッサ状態、前記複数台のサーバ装置におけるプロセッサライセンス数を保持するメモリ領域と、当該サーバ装置における各プロセッサのオンオフ処理動作を制御する制御部と、を有するプロセッサ管理機構を備え、
前記複数台のサーバ装置の間における前記プロセッサのライセンスの移動を前記プロセッサ管理機構へ送信するための前記プロセッサ管理機構専用のインタフェース手段を備える構成とする。
【０００９】
また、前記サーバ装置において、前記プロセッサのライセンスの移動を他のサーバ装置のプロセッサ管理機構と授受するための前記プロセッサ管理機構専用のインタフェース手段を備える構成とする。
【発明の効果】
【００１０】
本発明によれば、サーバ内におけるプロセッサのライセンスを追加又は削除する際に、また、各サーバのプロセッサ負荷状況に応じてプロセッサのライセンスを移動する際に、管理サーバの管理プログラムを用いることなく、プロセッサライセンスの不正利用を防止して実現することができる。
【発明を実施するための最良の形態】
【００１１】
本発明の実施形態に係るサーバ装置について、図１と図２を参照しながら以下詳細に説明する。図１は本発明の実施形態に係るサーバ装置における全体構成を示す図である。図２は本実施形態に係るサーバ装置におけるプロセッサのライセンスの移動に関する処理手順を示すフローチャートである。
【００１２】
図１において、本発明の実施形態に係るサーバ装置であるサーバ１００は、複数のプロセッサ１０１と、メインメモリ１０２と、サーバダウン（サーバの障害）を検知するダウン検知機構１０３、プロセッサを管理するハードウェアとしてのＳＶＰ１０４と、ＳＶＰ１０４とＯＳ１０５とプロセッサ１０１とダウン検知機構１０３とを接続して互いに通信を可能とするバス１０９と、から構成されている。さらに、サーバ１００には、プロセッサライセンスの追加時に、ＵＳＢメモリ等とＳＶＰ１０４を接続する専用インタフェース（ＵＳＢポート１１０）と、複数サーバ間でプロセッサライセンスの移動を可能とするためにＳＶＰ１０４と他サーバのＳＶＰを接続する専用インタフェース（ＬＡＮポート１１１）と、を備えている。
【００１３】
ここで、ＳＶＰ１０４は、プロセッサのライセンス（使用権）の数とプロセッサの状態（プロセッサ自体に障害が発生しているか否か、及びプロセッサを処理動作させているか否か）を保持するメモリ領域を備え、各プロセッサの処理のオンオフを制御する機能を備え、ＯＳ１０５とのインタフェース手段（通信手段）を備えるハードウェアである。プロセッサ０１を管理するメモリ領域１０７にはプロセッサ管理テーブル１０８を保持しており、図１に示すように、対象サーバ１００内の各プロセッサについて、当該プロセッサ自体の障害によるＤｅａｄ  ｏｒ  Ａｌｉｖｅ（ＤｏｒＡ）と、当該プロセッサの処理動作を制御して処理状態がオンかオフかを表すオンオフ（ＯＮ／ＯＦＦ）とを保持して管理する。また、対象サーバ１（１００）の他にこのサーバ１以外の他のサーバ２…について、サーバ自体のＤｏｒＡと、サーバ毎のプロセッサライセンスの数と、各サーバの処理の優先順位とを保持して管理する。また、メインメモリ１０２上でＯＳ１０５が動作し、ＯＳ１０５上でアプリケーション１０６が動作する。
【００１４】
なお、プロセッサのライセンス（使用権）の追加又は削除というのは、例えば、サーバ１において３つのプロセッサライセンスを得ていたときに１つを追加して４つのプロセッサライセンスとすることである。また、プロセッサライセンスの移動というのは、サーバ１で３つのプロセッサライセンスを得ているとともにサーバ２で２つのプロセッサライセンスを得ていたときに、サーバ１と２の負荷状態を考慮して、サーバ２の２つの内の１つのプロセッサライセンス（使用権）をサーバ１に移動することである。その際、サーバ２におけるライセンス総数（図１のプロセッサ管理テーブルを参照）を２から１に変更し、サーバ１におけるライセンス総数を３から４に変更する。
【００１５】
サーバ１においてライセンスの追加又は削除をする際には、例えば、追加するプロセッサライセンス（プロセッサの使用権）を取得するために、サーバ１内の余剰のプロセッサに対するライセンスを得るための取り扱い方、取得者のＩＤやパスワードなどが暗号化されたＵＳＢメモリをＵＳＢポート１１０に接続することによって実施する。このように、アプリケーションを通してライセンスの追加が可能であるようには構成させずに、ＵＳＢメモリというハードウェアでＳＶＰ（プロセッサ管理機構部というハードウェア）に接続することによってライセンス追加を行う。この際、インタフェースの悪用によるプロセッサライセンスの不正利用を不可能とするため、ＳＶＰなどのハードウェアに専用のインタフェース手段（ＵＳＢポート）を構成している。
【００１６】
また、複数サーバ間でプロセッサライセンスを移動する場合も、このハードウェア（ＳＶＰなど）専用のインタフェース手段（ＬＡＮポート）を設ける構成として、ＳＶＰ同士での通信で移動を行い、アプリケーションというソフトウェアを通してのライセンスの移動をできないようにしている。
【００１７】
図２は、図１の対象サーバ１００のＳＶＰ１０４における、プロセッサライセンスの移動の一連の処理を説明するためのフローチャートである。ＳＶＰ１０４は、一定間隔でＯＳ１０５からのＢＩＯＳコールを受信する（ステップ２００）。このＢＩＯＳコールはＯＳ１０５からのみアクセスできるインタフェース手段であり、このインタフェース手段を提供することで、アプリケーションとのアクセスを防ぐことができる。
【００１８】
ステップ２０１では、ステップ２００で受信した内容がプロセッサライセンスの追加要求であるかを判定する。もし、プロセッサの追加要求であれば、ステップ２０２で、ＳＶＰ１０４のメモリ領域１０７が保持するプロセッサ管理テーブル１０８から、プロセッサライセンスの余りの有無（ライセンス数を超えるプロセッサの存在の有無）を判定する。もし、余りがあれば、ステップ２０３で、停止状態（オフ）のプロセッサの１つを開始状態（オン）にし、プロセッサ管理テーブル１０８を更新して処理を終了する。
【００１９】
もし、ステップ２０２で余りがなければ、ステップ２０４で、ＬＡＮ１１１に他サーバが接続されていないか判定する。他サーバが接続されていれば、ステップ２０５で、他サーバへプロセッサライセンスの提供（即ち、ライセンスの移動）を要求する。その結果をステップ２０６で判定し、許可であれば、ステップ２０３で、停止状態（オフ）のプロセッサの１つを開始状態（オン）にし、他サーバのプロセッサライセンスを通常オフにする。プロセッサ管理テーブル１０８を更新して処理を終了する。もし、ステップ２０６で許可されなければ、ステップ２０４へ戻り、さらに他のサーバが接続されていないかを判定する。その結果、接続された全てのサーバにプロセッサライセンスの余りがなければ、ステップ２０７で、プロセッサ使用不可のエラーメッセージをＯＳ１０５へ送信し、処理を終了する。
【００２０】
ステップ２０１の判定の結果、ＢＩＯＳコールがプロセッサライセンスの追加要求でなければ、ステップ２０８で、ＢＩＯＳコールがプロセッサの削除要求か確認か判定する。もし削除要求であれば、プロセッサ管理テーブル１０８からプロセッサを削除可能か判定する。もし可能であれば、ステップ２１０で、プロセッサの１つを使用停止状態（オフ）にしてプロセッサ管理テーブルを更新し、処理を終了する。もしステップ２０９で許可されなければ、ステップ２１１で、エラーメッセージをＯＳに送信する。
【００２１】
次に、ステップ２１２で、他サーバからの信号を確認する。ステップ２１３で、プロセッサライセンスの提供（移動）要求か否かを判定する。もし、プロセッサの要求であれば、ステップ２１４で、プロセッサ管理テーブル１０８から、プロセッサライセンスの余りの有無を判定する。もし、余りがあれば、ステップ２１５で、プロセッサライセンスの１つを他サーバに提供（移動）し、プロセッサ管理テーブルを更新し、処理を終了する。もし、余りがなければ、ステップ２１６で、エラーメッセージを他サーバへ送信し、処理を終了する。
【００２２】
もし、ステップ２１３の信号が、プロセッサライセンスの要求でなければ、ステップ２１７で、他サーバのダウン通知（電源、アプリケーション又はＯＳの故障などの障害通知、）かどうかを判定する。もし、ダウン通知であれば、ステップ２１８で、プロセッサ管理テーブル１０８からどのサーバが引き継ぐかを判定し、自サーバが引き継ぐのであれば、ステップ２２０で、プロセッサを使用開始状態「ＯＮ」にし、他サーバのサーバダウンのフラグを立てて（ＤｏｒＡをＤにする）、管理テーブルを更新し、処理を終了する。もし、引き継がないのであれば、処理を終了する。
【００２３】
もし、ステップ２１７の判定がダウン通知でなければ、ステップ２２１で、自サーバのダウン検知を実施する。ステップ２２２でダウンの有無を判定し、ダウンが検出されたら、ステップ２２３で、他サーバにダウンを通知して処理を終了する。また、ダウンが検出されない場合はそのまま処理を終了する。
【００２４】
本実施形態に係るサーバ装置の適用例として、ホットスタンバイ方式またはコールドスタンバイ方式のサーバ同士におけるプロセッサライセンスの移動が考えられる。通常のホットスタンバイ方式では、例えば、一方のサーバに４つのプロセッサライセンスが与えられていると、他方のサーバにも基本的には４つのプロセッサライセンスが与えられて、合計で８つのライセンス費用が必要となり、さらに、互いのサーバの状態とライセンス数の管理をもう１つの管理サーバで従来、実行していた。
【００２５】
本実施形態に関するＳＶＰを適用すると、一方のサーバに４つのライセンスを保持し、他方のサーバに一方のサーバ監視用としての１つのライセンスを保持し、合計で５つのライセンスを保持すれば足り、さらに、ＳＶＰを設けること（プロセッサライセンス数とプロセッサ状態を管理し、プロセッサのオンオフ処理動作を制御すること）で従来必要としていた管理サーバが不要となる。コールドスタンバイ方式においても、従来必要とされた管理サーバが不要となることについて、ホットスタンバイ方式と同様である。そして、サーバ同士は互いのＤｏｒＡ（生存状態）を確認可能であるから（図１のメモリ領域の保持内容を参照）、現用系のサーバで障害が発生したときには、待機系のサーバ（少なくとも１つのプロセッサは他のサーバ監視用に処理オンしている）にプロセッサライセンスを移動して、前記待機系のサーバがその時点で現用系のサーバとして稼働可能とすることができる。
【００２６】
以上説明したように、本発明の実施形態の特徴は、ライセンス管理プログラムを用いることなく、例えばハードウェアを監視するためのＳｅｒｖｉｃｅ  Ｐｒｏｃｅｓｓｏｒ（ＳＶＰ）のように、ＯＳとのインタフェース手段を有し、且つ、個々のプロセッサの処理オンオフを制御可能なハードウェア（プロセッサ管理機構部）を採用することによって、稼動プロセッサ数を管理するサーバ装置であり、具体的には、ライセンスの追加または削除の際には、プロテクトの掛かった（例えば、暗号化された）ＵＳＢメモリ等を用いて対象サーバに接続し、追加又は削除の実施を行う。また、インタフェースの悪用によるプロセッサライセンスの不正利用を不可能とするため、ＳＶＰなどのハードウェアに専用のインタフェース手段を用いる。また、複数サーバ間でプロセッサライセンスを移動する場合も、このハードウェア（ＳＶＰなど）専用のインタフェース手段（ＬＡＮポート）を設ける構成とする。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施形態に係るサーバ装置における全体構成を示す図である。
【図２】本実施形態に係るサーバ装置におけるプロセッサのライセンスの移動に関する処理手順を示すフローチャートである。
【符号の説明】
【００２８】
１００  サーバ装置
１０１  プロセッサ
１０２  メインメモリ
１０３  ダウン検出機構
１０４  Ｓｅｒｖｉｃｅ  Ｐｒｏｃｅｓｓｏｒ（ＳＶＰ）
１０５  ＯＳ
１０６  アプリケーション
１０７  メモリ領域
１０８  プロセッサ管理テーブル
１０９  バス
１１０  ＵＳＢポート
１１１  ＬＡＮポート
２００  ＢＩＯＳコールを確認
２０１  プロセッサ追加要求有無の判定
２０２  プロセッサライセンスの余り有無の判定
２０３  プロセッサの１つを使用状態にし、プロセッサ管理テーブルを更新
２０４  他の対象サーバ有無の判定
２０５  他サーバへライセンス提供を要求
２０６  許可の判定
２０７  エラーメッセージをＯＳに送信
２０８  プロセッサ削除要求確認
２０９  許可するかの判定
２１０  プロセッサの１つを使用停止状態にし、プロセッサ管理テーブルを更新
２１１  エラーメッセージをＯＳに送信
２１２  他サーバからの信号を確認
２１３  プロセッサライセンス提供要求有無の判定
２１４  プロセッサライセンスの余り有無の判定
２１５  プロセッサライセンスの１つを他サーバに提供し、プロセッサ管理テーブルを更新
２１６  エラーメッセージを他サーバへ送信
２１７  他サーバのダウン通知有無の判定
２１８  どのサーバが引き継ぐから優先順位を確認
２１９  引継ぎの判定
２２０  プロセッサを使用開始状態にし、サーバダウンフラグを立てて
プロセッサ管理テーブルを更新
２２１  ダウン検知
２２２  検出の判定
２２３  他サーバにダウン通知
【図１】
2008158639.tif 000003
【図２】
2008158639.tif 000004