(57)【要約】【課題】ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることができる。【解決手段】本開示に係るコンピュータシステム１０は、複数のコンピュータ装置１１の内のいずれかである第１のコンピュータ装置は、連携動作を行うためのソフトウェアのライセンスが付与される複数のコンピュータ装置１１の識別子を含むライセンスファイルに、第１のコンピュータ装置の識別子が含まれている場合、連携動作を行う複数のコンピュータ装置１１の内、第１のコンピュータ装置以外の第２のコンピュータ装置の識別子がライセンスファイルに含まれていなくても、ソフトウェアを用いた第２のコンピュータ装置による連携動作を許可する。【選択図】図１
2020135571.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンピュータ装置が連携動作を行うコンピュータシステムであって、
前記複数のコンピュータ装置の内のいずれかである第１のコンピュータ装置は、
前記連携動作を行うためのソフトウェアのライセンスが付与される複数のコンピュータ装置の識別子を含むライセンスファイルに、前記第１のコンピュータ装置の識別子が含まれている場合、前記連携動作を行う複数のコンピュータ装置の内、前記第１のコンピュータ装置以外の第２のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記ソフトウェアを用いた前記第２のコンピュータ装置による連携動作を許可する、コンピュータシステム。
【請求項２】
請求項１に記載のコンピュータシステムにおいて、
前記第２のコンピュータ装置は、前記第２のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記第２のコンピュータ装置による連携動作を許可された状態において、前記第１のコンピュータ装置が停止した場合、連携動作を停止する、コンピュータシステム。
【請求項３】
請求項１または２に記載のコンピュータシステムにおいて、
前記第１のコンピュータ装置は、前記第２のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記第２のコンピュータ装置による連携動作を許可した状態が所定時間以上続いた場合、前記第２のコンピュータ装置による連携動作を停止させる、コンピュータシステム。
【請求項４】
請求項１から３のいずれか一項に記載のコンピュータシステムにおいて、
前記第１のコンピュータ装置は、前記第２のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記第２のコンピュータ装置による連携動作を許可した回数が所定回数を超えた場合、前記第２のコンピュータ装置による連携動作を許可しない、コンピュータシステム。
【請求項５】
請求項１から４のいずれか一項に記載のコンピュータシステムにおいて、
前記第１のコンピュータ装置は、稼働側コンピュータ装置であり、
前記第２のコンピュータ装置は、前記稼働側コンピュータ装置が故障した場合に稼働する待機側コンピュータ装置である、コンピュータシステム。
【請求項６】
複数のコンピュータ装置が連携動作を行うコンピュータシステムに含まれるコンピュータ装置であって、
前記連携動作を行うためのソフトウェアのライセンスが付与される複数のコンピュータ装置の識別子を含むライセンスファイルに、自装置の識別子が含まれるか否かを判定するライセンスチェック部と、
前記ライセンスチェック部により前記ライセンスファイルに自装置の識別子が含まれていると判定された場合、前記連携動作を行う他のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記ソフトウェアを用いた前記他のコンピュータ装置による連携動作を許可する等値化部と、を備えるコンピュータ装置。
【請求項７】
複数のコンピュータ装置が連携動作を行うコンピュータシステムにおける、前記連携動作を行うためのソフトウェアのライセンスを管理するライセンス管理方法であって、
前記ソフトウェアのライセンスが付与される複数のコンピュータ装置の識別子を含むライセンスファイルに、前記複数のコンピュータ装置の内のいずれかである第１のコンピュータ装置の識別子が含まれるか否かを判定するステップと、
前記第１のコンピュータ装置の識別子が前記ライセンスファイルに含まれている場合、前記連携動作を行う複数のコンピュータ装置の内、前記第１のコンピュータ装置以外の第２のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記ソフトウェアを用いた前記第２のコンピュータ装置による連携動作を許可するステップと、を含むライセンス管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピュータシステム、コンピュータ装置およびライセンス管理方法に関する。
【背景技術】
【０００２】
複数のコンピュータ装置が連携動作を行い、１つのシステムを構成するコンピュータシステムが、プロセス制御などのために用いられている。このようなコンピュータシステムにおいては、複数のコンピュータ装置が連携動作を行うためのソフトウェアのライセンスを適切に管理する必要がある。
【０００３】
ソフトウェアのライセンス管理方法としては、ハードウェアＩＤに基づく方法がある。この方法は、コンピュータ装置に搭載されたハードウェアのハードウェアＩＤに基づき、コンピュータ装置ごとにライセンスを付与する方法である（例えば、特許文献１参照）。また、別の方法として、ソフトウェアのライセンス数に基づく方法がある。この方法は、予め定められた所定のライセンス数だけ、コンピュータ装置にライセンスを付与する方法である（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−３２５７１２号公報
【特許文献２】特開２００６−０５９１６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のハードウェアＩＤに基づくライセンス管理方法およびライセンス数に基づくライセンス管理方法では、ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることが困難であった。
【０００６】
上記のような問題点に鑑みてなされた本開示の目的は、ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることができるコンピュータシステム、コンピュータ装置およびライセンス管理方法を提供することにある。
【課題を解決するための手段】
【０００７】
幾つかの実施形態に係るコンピュータシステムは、複数のコンピュータ装置が連携動作を行うコンピュータシステムであって、前記複数のコンピュータ装置の内のいずれかである第１のコンピュータ装置は、前記連携動作を行うためのソフトウェアのライセンスが付与される複数のコンピュータ装置の識別子を含むライセンスファイルに、前記第１のコンピュータ装置の識別子が含まれている場合、前記連携動作を行う複数のコンピュータ装置の内、前記第１のコンピュータ装置以外の第２のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記ソフトウェアを用いた前記第２のコンピュータ装置による連携動作を許可する。
このような構成を有するコンピュータシステムによれば、第２のコンピュータ装置が故障などした場合に、第２のコンピュータ装置のライセンスの取得などを待たずに、連携動作を行うことができるので、コンピュータシステムの高可用性を確保することができる。また、ライセンスの正当性は、コンピュータ装置の識別子に基づいて判定されるので、不正利用を防止することができる。したがって、上記構成を有するコンピュータシステムによれば、ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることができる。
【０００８】
一実施形態において、前記第２のコンピュータ装置は、前記第２のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記第２のコンピュータ装置による連携動作が許可された状態において、前記第１のコンピュータ装置が停止した場合、連携動作を停止する。
このような構成により、同じライセンスファイルを使用して、複数のコンピュータシステムを動作させるという不正利用を防止することができる。
【０００９】
一実施形態において、前記第１のコンピュータ装置は、前記第２のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記第２のコンピュータ装置による連携動作を許可した状態が所定時間以上続いた場合、前記第２のコンピュータ装置による連携動作を停止させる。
このような構成により、正当なライセンスを受けずに、ソフトウェアを利用して連携動作を継続させるという不正利用を防止することができる。
【００１０】
一実施形態において、前記第１のコンピュータ装置は、前記第２のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記第２のコンピュータ装置による連携動作を許可した回数が所定回数を超えた場合、前記第２のコンピュータ装置による連携動作を許可しない。
このような構成により、正当なライセンスを受けずに、ソフトウェアを利用して連携動作を繰り返し継続させるという不正利用を防止することができる。
【００１１】
一実施形態において、前記第１のコンピュータ装置は、稼働側コンピュータ装置であり、前記第２のコンピュータ装置は、前記稼働側コンピュータ装置が故障した場合に稼働する待機側コンピュータ装置である。
このような構成により、稼働側コンピュータ装置と、待機側コンピュータ装置とを含む冗長化システムにおいて、ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることができる。
【００１２】
幾つかの実施形態に係るコンピュータ装置は、複数のコンピュータ装置が連携動作を行うコンピュータシステムに含まれるコンピュータ装置であって、前記連携動作を行うためのソフトウェアのライセンスが付与される複数のコンピュータ装置の識別子を含むライセンスファイルに、自装置の識別子が含まれるか否かを判定するライセンスチェック部と、前記ライセンスチェック部により前記ライセンスファイルに自装置の識別子が含まれていると判定された場合、前記連携動作を行う他のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記ソフトウェアを用いた前記他のコンピュータ装置による連携動作を許可する等値化部と、を備える。
このような構成を有するコンピュータ装置によれば、他のコンピュータ装置が故障などした場合に、他のコンピュータ装置のライセンスの取得などを待たずに、連携動作を行うことができるので、コンピュータシステムの高可用性を確保することができる。また、ライセンスの正当性は、コンピュータ装置の識別子に基づいて判定されるので、不正利用を防止することができる。したがって、上記構成を有するコンピュータ装置によれば、ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることができる。
【００１３】
幾つかの実施形態に係るライセンス管理方法は、複数のコンピュータ装置が連携動作を行うコンピュータシステムにおける、前記連携動作を行うためのソフトウェアのライセンスを管理するライセンス管理方法であって、前記ソフトウェアのライセンスが付与される複数のコンピュータ装置の識別子を含むライセンスファイルに、前記複数のコンピュータ装置の内のいずれかである第１のコンピュータ装置の識別子が含まれるか否かを判定するステップと、前記第１のコンピュータ装置の識別子が前記ライセンスファイルに含まれている場合、前記連携動作を行う複数のコンピュータ装置の内、前記第１のコンピュータ装置以外の第２のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記ソフトウェアを用いた前記第２のコンピュータ装置による連携動作を許可するステップと、を含む。
このような構成を有するライセンス管理方法によれば、第２のコンピュータ装置が故障などした場合に、第２のコンピュータ装置のライセンスの取得などを待たずに、連携動作を行うことができるので、コンピュータシステムの高可用性を確保することができる。また、ライセンスの正当性は、コンピュータ装置の識別子に基づいて判定されるので、不正利用を防止することができる。したがって、上記構成を有するライセンス管理方法によれば、ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることができる。
【発明の効果】
【００１４】
本開示に係るコンピュータシステム、コンピュータ装置およびライセンス管理方法によれば、ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることができる。
【図面の簡単な説明】
【００１５】
【図１】本開示の一実施形態に係るコンピュータシステムの構成例を示す図である。
【図２】図１に示すコンピュータシステムにおいてライセンスを管理するソフトウェアについて説明するための図である。
【図３】図１に示すコンピュータシステムにおけるライセンスファイルについて説明するための図である。
【図４】図１に示すコンピュータ装置のハードウェア構成の一例を示す図である。
【図５】図１に示すコンピュータシステムにおけるライセンスの認証状態について説明するための図である。
【図６】図１に示すコンピュータシステムにおけるライセンスの認証状態の遷移について説明するための図である。
【図７】図１に示すコンピュータシステムにおけるライセンス管理方法について説明するためのフローチャートである。
【図８】比較例１に係るライセンス管理方法におけるライセンスファイルについて説明するための図である。
【図９】比較例１に係るライセンス管理方法を適用したコンピュータシステムの構成例を示す図である。
【図１０】比較例２に係るライセンス管理方法を適用したコンピュータシステムの構成例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本開示を実施するための形態について、図面を参照しながら説明する。各図中、同一符号は、同一または同等の構成要素を示している。
【００１７】
まず比較のために、比較例１に係るライセンス管理方法について説明する。比較例１に係るライセンス管理方法は、ハードウェアＩＤに基づく方法であり、ソフトウェアの不正利用の防止を主目的とした方法である。具体的には、比較例１に係るライセンス管理方法は、指定のコンピュータ装置でのみソフトウェアを動作可能とし、ソフトウェアを他のコンピュータ装置に複製しても動作させないようにする方法である。
【００１８】
図８は、比較例１に係るライセンス管理方法におけるライセンスファイルについて説明するための図である。また、図９は、比較例１に係るライセンス管理方法を適用したコンピュータシステム１００Ａの構成例を示す図である。図８，９においては、コンピュータシステム１００Ａは、連携動作を行う２台のコンピュータ装置１１０Ａ，１１０Ｂを含むものとする。また、コンピュータ装置１１０Ａ，１１０Ｂは、連携動作として、いずれか一方のコンピュータ装置１１０が、ネットワーク１を介して接続されたクライアント２にサービスを提供する稼働側コンピュータ装置となり、他方のコンピュータ装置１１０が、稼働側コンピュータ装置が故障した場合に稼働する待機側コンピュータ装置となる、二重化動作を行うものとする。また、コンピュータ装置１１０Ａが稼働側コンピュータ装置として動作し、コンピュータ装置１１０Ｂが待機側コンピュータ装置として動作するように予め設定されているものとする。なお、コンピュータ装置１１０Ａ，１１０Ｂを区別しない場合には、コンピュータ装置１１０と称する。
【００１９】
図８に示すように、システムユーザは、二重化動作を行うコンピュータ装置１１０Ａ，１１０Ｂそれぞれに搭載されたハードウェアのＩＤ（ハードウェアＩＤ）を取得する。ハードウェアＩＤは、例えば、コンピュータ装置１１０本体のシリアル番号、コンピュータ装置１１０に搭載されたハードディスクのシリアル番号、あるいは、コンピュータ装置１１０に装着されたＥｔｈｅｒｎｅｔ（登録商標）カードのＭＡＣ（Media Access Control）アドレスなど、コンピュータ装置１１０を識別可能な識別子である。以下では、コンピュータ装置１１０ＡのハードウェアＩＤは「ＡＡＡＡ」であり、コンピュータ装置１１０ＢのハードウェアＩＤは「ＢＢＢＢ」であるとする。
【００２０】
システムユーザは、コンピュータ装置１１０Ａおよびコンピュータ装置１１０Ｂが二重化動作を行うためのソフトウェア（以下、「二重化制御ソフトウェア」と称する。）のライセンスの取得を要求するライセンス取得要求を、二重化制御ソフトウェアのライセンスを管理するライセンス管理装置３に送信する。ライセンス取得要求には、コンピュータ装置１１０ＡのハードウェアＩＤ「ＡＡＡＡ」およびコンピュータ装置１１０ＢのハードウェアＩＤ「ＢＢＢＢ」が含まれる。ライセンス管理装置３は、例えば、二重化制御ソフトウェアを提供するソフトウェアベンダにより管理される。
【００２１】
ライセンス管理装置３は、ライセンス取得要求を受信すると、二重化制御ソフトウェアのライセンスを付与するライセンスファイルをシステムユーザに対して発行する。図８の例では、ライセンス管理装置３は、コンピュータ装置１１０Ａ用のライセンスファイル（以下、「ＰＣ−Ａ用ライセンスファイル」と称する。）と、コンピュータ装置１１０Ｂ用のライセンスファイル（以下、「ＰＣ−Ｂ用ライセンスファイル」と称する）とを発行する。すなわち、ライセンス管理装置３は、各コンピュータ装置１１０に個別のライセンスファイルを発行する。ＰＣ−Ａ用ライセンスファイルには、コンピュータ装置１１０ＡのハードウェアＩＤ「ＡＡＡＡ」が含まれる。ＰＣ−Ｂ用ライセンスファイルには、コンピュータ装置１１０ＢのハードウェアＩＤ「ＢＢＢＢ」が含まれる。
【００２２】
各コンピュータ装置１１０に対して発行されたライセンスファイルは、対応するコンピュータ装置１１０にインストールされる。すなわち、図９に示すように、ＰＣ−Ａ用ライセンスファイルは、コンピュータ装置１１０Ａにインストールされる。ＰＣ−Ｂ用ライセンスファイルは、コンピュータ装置１１０Ｂにインストールされる。
【００２３】
コンピュータ装置１１０は、ライセンスチェック部１１１を備える。ライセンスチェック部１１１は、自装置にインストールされたライセンスファイルに含まれるハードウェアＩＤと、自装置のハードウェアＩＤとが一致するか否かを判定する。ライセンスチェック部１１１は、ライセンスファイルに含まれるハードウェアＩＤと、自装置のハードウェアＩＤとが一致する場合、自装置に搭載された二重化制御ソフトウェアの起動を許可する。また、ライセンスチェック部１１１は、ライセンスファイルに含まれるハードウェアＩＤと、自装置のハードウェアＩＤとが一致しない場合、自装置に搭載された二重化制御ソフトウェアの停止を指示する。
【００２４】
すなわち、コンピュータ装置１１０Ａのライセンスチェック部１１１Ａは、ＰＣ−Ａ用ライセンスファイルに含まれるハードウェアＩＤと、コンピュータ装置１１０ＡのハードウェアＩＤ「ＡＡＡＡ」とが一致する場合、コンピュータ装置１１０Ａに搭載された二重化制御ソフトウェア１１２Ａの起動を許可する。また、ライセンスチェック部１１１Ａは、ＰＣ−Ａ用ライセンスファイルに含まれるハードウェアＩＤと、コンピュータ装置１１０ＡのハードウェアＩＤ「ＡＡＡＡ」とが一致しない場合、二重化制御ソフトウェア１１２Ａの停止を指示する。
【００２５】
二重化制御ソフトウェア１１２Ａは、ライセンスチェック部１１１Ａにより起動が許可されると、待機側コンピュータ装置であるコンピュータ装置１１０Ｂに搭載された二重化制御ソフトウェア１１２Ｂに二重化動作の開始を指示する。
【００２６】
コンピュータ装置１１０Ｂのライセンスチェック部１１１Ｂは、ＰＣ−Ｂ用ライセンスファイルに含まれるハードウェアＩＤと、コンピュータ装置１１０ＢのハードウェアＩＤ「ＢＢＢＢ」とが一致する場合、自装置に搭載された二重化制御ソフトウェア１１２Ｂの起動を許可する。また、ライセンスチェック部１１１Ｂは、ＰＣ−Ｂ用ライセンスファイルに含まれるハードウェアＩＤと、コンピュータ装置１１０ＢのハードウェアＩＤ「ＢＢＢＢ」とが一致しない場合、二重化制御ソフトウェア１１２Ｂの停止を指示する。
【００２７】
二重化制御ソフトウェア１１２Ｂは、ライセンスチェック部１１１Ｂから起動が許可され、二重化制御ソフトウェア１１２Ａから二重化動作の開始を指示されると、コンピュータ装置１１０Ａとコンピュータ装置１１０Ｂとが二重化動作を行うための処理を開始する。すなわち、コンピュータ装置１１０Ａのライセンスおよびコンピュータ装置１１０Ｂのライセンスが有効であれば、コンピュータ装置１１０Ａとコンピュータ装置１１０Ｂとの間で二重化動作が行われる。二重化動作が開始されると、例えば、稼働側コンピュータ装置であるコンピュータ装置１１０Ａに異常が発生し、コンピュータ装置１１０Ａが動作を停止した場合、待機側コンピュータ装置であるコンピュータ装置１１０Ｂが動作し、クライアント２にサービスを継続して提供することができる。
【００２８】
図９に示すコンピュータシステム１００Ａにおいて、例えば、一方のコンピュータ装置１１０のハードウェアが故障した場合、故障したハードウェアを交換し、故障したコンピュータ装置１１０を二重化動作に復帰させる必要がある。この場合、ハードウェアが交換され、ハードウェアＩＤが変わっているため、新しいハードウェア用のライセンスの取得と、ライセンスファイルのインストールとが必要となる。
【００２９】
通常、ライセンスの取得には時間がかかる。そのため、ライセンスの取得が完了するまで、ハードウェアを交換したコンピュータ装置１１０を二重化動作に復帰させることができない。そのため、コンピュータシステム１００Ａは、故障していないコンピュータ装置１１０だけが稼働するシングル運転状態となる。この状態で稼働中のコンピュータ装置１１０に異常が発生した場合、サービスの提供が困難になり、甚大な影響が生じてしまうおそれがある。
【００３０】
次に、比較例２に係るライセンス管理方法について説明する。比較例２に係るライセンス管理方法は、ライセンス数に基づく方法であり、ハードウェアの交換などに応じてライセンスを柔軟に移動させることを可能にした、可用性を重視した方法である。
【００３１】
図１０は、比較例２に係るライセンス管理方法を適用したコンピュータシステム１００Ｂの構成例を示す図である。
【００３２】
図１０に示すコンピュータシステム１００Ｂにおいては、ライセンス管理装置３が、ライセンスを管理する。ライセンス管理装置３には、二重化制御ソフトウェアをライセンス可能な数（ライセンス数（例えば、２台））が設定される。ライセンス管理装置３は、ネットワーク１を介して接続されたコンピュータ装置１１０Ａ，１１０Ｂにライセンスを配布する。ライセンス管理装置３は、コンピュータ装置１１０にライセンスを配布すると、ライセンスを配布した数だけ、設定されたライセンス数を減らす。ライセンス数がゼロになると、ライセンス管理装置３は、それ以上のライセンスを配布しない。すなわち、ライセンス管理装置３は、設定されたライセンス数だけライセンスを配布することができる。
【００３３】
比較例２に係るライセンス管理方法では、比較例１に係るライセンス管理方法とは異なり、ライセンスとハードウェアとの紐づけはなく、どのハードウェア（コンピュータ装置１１０）にもライセンスの配布が可能である。また、比較例２に係るライセンス管理方法では、設定されたライセンス数以上のライセンスの配布を防止し、二重化制御ソフトウェアの不正利用を防止することができる。
【００３４】
コンピュータ装置１１０では、ライセンスチェック部１１１によるライセンスの正当性のチェックが行われる。コンピュータ装置１１０Ａおよびコンピュータ装置１１０Ｂそれぞれにおいてライセンスが正当であると判定されると、コンピュータ装置１１０Ａとコンピュータ装置１１０Ｂとが二重化動作を行う。
【００３５】
一方のコンピュータ装置１１０のハードウェアが故障した場合、故障したハードウェアを交換し、故障したコンピュータ装置１１０を二重化動作に復帰させる必要がある。この場合、比較例２に係るライセンス管理方法においては、ライセンスとハードウェアとの紐づけが行われていないので、ライセンス管理装置３から故障したコンピュータ装置１１０のライセンスを削除する（ライセンス数を増やす）ことで、新たなコンピュータ装置１１０にライセンスを配布することができる。
【００３６】
比較例１に係るライセンス管理方法および比較例２に係るライセンス管理方法にはそれぞれ、以下のような長所および短所がある。
【００３７】
比較例１に係るライセンス管理方法の長所としては、指定のハードウェアでのみソフトウェアの動作が許可されるので、ソフトウェアの不正利用を防止することができる点がある。比較例１に係るライセンス管理方法の短所としては、ハードウェアを交換する場合、新たなハードウェアのライセンスの取得が完了するまでは、シングル運転状態でシステムを稼働させる必要があるため、可用性が低下する点がある。
【００３８】
比較例２に係るライセンス管理方法の長所としては、ライセンスを柔軟に移動可能なため、メンテナンス性が高く、ハードウェアの交換が必要な場合でも、高可用性を確保することができる点がある。比較例２に係るライセンス管理方法の短所としては、例えば、図１０を参照して説明したライセンス管理装置３およびコンピュータ装置１１０からなる環境を別のネットワークで構築すれば、ソフトウェアの不正利用が可能となる点がある。
【００３９】
このように、比較例１に係るライセンス管理方法および比較例２に係るライセンス管理方法では、ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることが困難であった。
【００４０】
次に、本開示の一実施形態に係るコンピュータシステム１０の構成ついて説明する。
【００４１】
図１は、本実施形態に係るコンピュータシステム１０の構成例を示す図である。
【００４２】
図１に示すコンピュータシステム１０は、連携動作を行う複数のコンピュータ装置１１（図１では、コンピュータ装置１１Ａ，１１Ｂ）を備え、複数のコンピュータ装置１１が連携動作を行うためのソフトウェアのライセンスを管理するものである。本実施形態において、ライセンスにより管理されるソフトウェアは、複数のコンピュータ装置１１Ａ，１１Ｂが連携動作を行うためのソフトウェアである。以下では、コンピュータ装置１１Ａ，１１Ｂが、連携動作として、いずれか一方のコンピュータ装置１１が、ネットワーク１を介して接続されたクライアント２にサービスを提供する稼働側コンピュータ装置となり、他方のコンピュータ装置が、稼働側コンピュータ装置が故障した場合に動作する待機側コンピュータ装置となる、冗長化（二重化）動作を行うものとする。また、コンピュータ装置１１Ａが稼働側コンピュータ装置として動作し、コンピュータ装置１１Ｂが待機側コンピュータ装置として動作するように予め設定されているとする。コンピュータ装置１１Ａ，１１Ｂを区別しない場合には、コンピュータ装置１１と称する。
【００４３】
まず、本実施形態に係るコンピュータシステム１０において、ライセンスにより管理されるソフトウェアについて、図２を参照して説明する。
【００４４】
図２に示すように、コンピュータ装置１１Ａとコンピュータ装置１１Ｂとはネットワーク１を介して接続されている。また、コンピュータ装置１１Ａとコンピュータ装置１１Ｂとは、ネットワーク１を介さずに直接、ケーブルなどにより接続されている。コンピュータ装置１１は、例えば、サーバＰＣ（Personal Computer）などで構成される。コンピュータ装置１１Ａは、稼働側コンピュータ装置として動作し、クライアント２にネットワーク１を介してサービスを提供する。コンピュータ装置１１Ｂは、待機側コンピュータ装置として動作し、コンピュータ装置１１Ａが故障した際に動作し、クライアント２にサービスを提供する。
【００４５】
コンピュータ装置１１のソフトウェア構成は、例えば、図２に示すように、冗長化プラットフォームソフトウェア、ゲストＯＳ（Operating System）およびアプリケーションソフトウェアを含む。冗長化プラットフォームソフトウェアは、コンピュータ装置１１Ａとコンピュータ装置１１Ｂとが冗長化動作（二重化動作）を行うためのソフトウェアである。コンピュータ装置１１Ａとコンピュータ装置１１Ｂとが冗長化動作を行うためには、例えば、コンピュータ装置１１Ａとコンピュータ装置１１Ｂとの内部状態の等値化、互いのコンピュータ装置１１の故障検知などの処理が必要となる。冗長化プラットフォームソフトウェアは、コンピュータ装置１１Ａおよびコンピュータ装置１１Ｂが、上述したような冗長化動作を行うためのソフトウェアである。
【００４６】
ゲストＯＳは、サーバＰＣ上に構築された仮想マシンで動作するオペレーティングシステムである。また、アプリケーションソフトウェアは、ゲストＯＳ上で動作し、例えば、クライアント２に所定のサービスを提供するアプリケーションのソフトウェアである。
【００４７】
本実施形態において、ライセンスにより管理されるソフトウェアは、上述した冗長化プラットフォームソフトウェアのような、複数のコンピュータ装置１１が連携動作を行うためのソフトウェアである。上述したように、コンピュータ装置１１Ａおよびコンピュータ装置１１Ｂは、一方が稼働側コンピュータ装置として動作し、他方が待機側コンピュータ装置として動作する二重化動作を行う。以下では、複数のコンピュータ装置１１が連携動作を行うためのソフトウェアは、コンピュータ装置１１Ａおよびコンピュータ装置１１Ｂが二重化動作を行うためのソフトウェア（二重化制御ソフトウェア）である例を用いて説明する。ゲストＯＳおよびアプリケーションソフトウェアのライセンスの管理は、例えば、各ソフトウェアを提供するソフトウェアベンダなどにより行われるが、本開示とは直接関係しないため、説明を省略する。
【００４８】
図１を再び参照すると、二重化制御ソフトウェアのライセンスを付与するライセンスファイルがライセンス管理装置３から発行され、稼働側コンピュータ装置として予め設定されたコンピュータ装置１１Ａに入力される。
【００４９】
本実施形態に係るライセンスファイルについて、図３を参照して説明する。
【００５０】
図３に示すように、システムユーザは、二重化動作を行うコンピュータ装置１１Ａ，１１Ｂそれぞれに搭載されたハードウェアのＩＤ（ハードウェアＩＤ）を取得する。以下では、コンピュータ装置１１ＡのハードウェアＩＤは「ＡＡＡＡ」であり、コンピュータ装置１１ＢのハードウェアＩＤは「ＢＢＢＢ」であるとする。
【００５１】
システムユーザは、コンピュータ装置１１Ａおよびコンピュータ装置１１Ｂが二重化動作を行うためのソフトウェア（二重化制御ソフトウェア）のライセンスの取得を要求するライセンス取得要求をライセンス管理装置３に送信する。ライセンス取得要求には、コンピュータ装置１１ＡのハードウェアＩＤ「ＡＡＡＡ」およびコンピュータ装置１１ＢのハードウェアＩＤ「ＢＢＢＢ」が含まれる。
【００５２】
ライセンス管理装置３は、ライセンス取得要求を受信すると、二重化制御ソフトウェアのライセンスを付与するライセンスファイルをシステムユーザに対して発行する。本実施形態においては、ライセンス管理装置３は、ライセンス取得要求によりライセンスを要求されたコンピュータ装置１１Ａおよびコンピュータ装置１１Ｂをペアとしたライセンスファイル（以下、「ＰＣ−Ａ／Ｂペア用ライセンスファイル」と称する。）を発行する。具体的には、ライセンス管理装置３は、コンピュータ装置１１ＡのハードウェアＩＤ「ＡＡＡＡ」とコンピュータ装置１１ＢのハードウェアＩＤ「ＢＢＢＢ」とを含むライセンスファイルを発行する。このように、ライセンス管理装置３は、連携動作を行うためのソフトウェアのライセンスが付与される複数のコンピュータ装置１１の識別子を含むライセンスファイルを発行する。ライセンス管理装置３は、コンピュータ装置１１Ａ，１１Ｂによる解読が可能な暗号化方式により暗号化したハードウェアＩＤを、ライセンスファイルに含めてもよい。こうすることで、第三者によるライセンスファイルの不正な改ざん、ライセンスファイルに含まれるハードウェアＩＤの漏洩などを防ぐことができる。
【００５３】
ライセンス管理装置３から発行されたＰＣ−Ａ／Ｂペア用ライセンスファイルは、稼働側コンピュータ装置として予め設定されたコンピュータ装置１１Ａに入力（ダウンロード）される。
【００５４】
次に、コンピュータ装置１１の構成について、図１を参照して説明する。コンピュータ装置１１Ａの構成およびコンピュータ装置１１Ｂの構成は同じであるため、以下では、コンピュータ装置１１Ａの構成を説明し、コンピュータ装置１１Ｂの構成については説明を省略する。
【００５５】
図１に示すように、コンピュータ装置１１Ａは、制御権管理部１２Ａと、ＡＰ実行部１３Ａと、ライセンスチェック部１４Ａと、等値化部１５Ａとを備える。
【００５６】
制御権管理部１２Ａは、連携動作を行う他のコンピュータ装置１１の制御権管理部１２（図１では、コンピュータ装置１１Ｂの制御権管理部１２Ｂ）と情報をやり取りし、各コンピュータ装置１１が稼働側コンピュータ装置として動作するか、待機側コンピュータ装置として動作するかを決定する。コンピュータシステム１０の立ち上げの際などは、予め稼働側コンピュータ装置として設定されたコンピュータ装置１１が稼働側コンピュータ装置として動作し、他のコンピュータ装置１１は待機側コンピュータ装置として動作する。
【００５７】
制御権管理部１２Ａは、コンピュータ装置１１Ａが稼働側コンピュータ装置として動作すると決定した場合、ＡＰ実行部１３Ａに稼働側として起動するように起動指示を行う。また、制御権管理部１２Ａは、コンピュータ装置１１Ａが待機側コンピュータ装置として動作すると決定した場合、ＡＰ実行部１３Ａに待機側として起動するように起動指示を行う。コンピュータ装置１１Ａが待機側コンピュータ装置として動作する場合、制御権管理部１２Ａは、稼働側コンピュータ装置として動作するコンピュータ装置１１に制御権を渡す。
【００５８】
ＡＰ実行部１３Ａは、稼働側として起動するように制御権管理部１２Ａから起動指示が行われた場合、クライアント２に所定のサービスを提供するためのアプリケーションなどの実行環境を起動する。ＡＰ実行部１３Ａは、待機側として起動するように制御権管理部１２Ａから起動指示が行われた場合、稼働側コンピュータ装置として動作する他のコンピュータ装置１１の故障が検知され、制御権がコンピュータ装置１１Ａに移るまで、アプリケーションの実行を待機する。
【００５９】
ライセンスチェック部１４Ａは、入力されたライセンスファイルに基づき、コンピュータ装置１１Ａおよびコンピュータ装置１１Ａと連携動作を行う他のコンピュータ装置１１（図１では、コンピュータ装置１１Ｂ）に対するライセンスの正当性をチェックする。
【００６０】
等値化部１５Ａは、コンピュータ装置１１Ａの内部状態と、コンピュータ装置１１Ａと連携動作を行う他のコンピュータ装置１１（図１では、コンピュータ装置１１Ｂ）の内部状態とを等値化する等値化処理を行う。
【００６１】
制御権管理部１２Ａ、ＡＰ実行部１３Ａ、ライセンスチェック部１４Ａおよび等値化部１５Ａの各機能は、例えば、コンピュータ装置１１Ａに搭載された二重化制御ソフトウェア１６Ａをプロセッサなどで実行することで実現可能である。
【００６２】
図４は、コンピュータ装置１１のハードウェア構成の一例を示す図である。
【００６３】
図４に示すように、コンピュータ装置１１は、通信部１７と、記憶部１８と、制御部１９とを備える。
【００６４】
通信部１７は、ネットワーク１に接続する通信モジュールを含む。また、通信部１７は、他のコンピュータ装置１１とネットワーク１を介さずに通信を行うための通信モジュールを含む。
【００６５】
記憶部１８は、１つ以上のメモリを含む。本実施形態において、「メモリ」は、例えば、半導体メモリ、磁気メモリまたは光メモリなどであるが、これらに限られない。記憶部１８に含まれる各メモリは、例えば、主記憶装置、補助記憶装置またはキャッシュメモリとして機能してもよい。記憶部１８は、例えば、コンピュータ装置１１の動作に用いられる任意のソフトウェア（例えば、図２を参照して説明した種々のソフトウェア）を記憶する。
【００６６】
制御部１９は、１つ以上のプロセッサを備える。本実施形態において、「プロセッサ」は、汎用のプロセッサ、特定の処理に特化したプロセッサなどであるが、これらに限られない。制御部１９は、記憶部１８に記憶されたソフトウェアを実行し、コンピュータ装置１１全体の動作を制御する。
【００６７】
次に、本実施形態に係るコンピュータシステム１０の動作について説明する。
【００６８】
本実施形態においては、ライセンスの認証状態として、３つの状態を用意する。
【００６９】
１つ目の状態は、ライセンス有効状態である。ライセンス有効状態とは、稼働側コンピュータ装置のハードウェアＩＤおよび待機側コンピュータ装置のハードウェアＩＤの両方が、ライセンスファイルに含まれるハードウェアＩＤと一致する状態である。この場合、正規にライセンス認証された状態であるため、複数のコンピュータ装置１１による連携動作（図１では、コンピュータ装置１１Ａ，１１Ｂによる二重化動作）を可能とする。
【００７０】
２つ目の状態は、ライセンス暫定状態である。ライセンス暫定状態とは、稼働側コンピュータ装置のハードウェアＩＤはライセンスファイルに含まれるハードウェアＩＤと一致し、待機側コンピュータ装置のハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致しない状態である。この場合、本実施形態においては、可用性を損なわないために、コンピュータ装置１１Ａ，１１Ｂによる二重化動作を暫定的に可能とする。
【００７１】
ライセンス暫定状態は、例えば、コンピュータシステム１０の１つのコンピュータ装置１１が故障し、新たなコンピュータ装置１１に交換した状態である。この場合、ライセンス暫定状態を設けることで、交換したコンピュータ装置１１を待機側コンピュータ装置として二重化動作に復帰させることができる。
【００７２】
比較例１に係るライセンス管理方法では、交換したコンピュータ装置１１のライセンスの取得が完了するまでは、故障していない１台のコンピュータ装置だけが動作するシングル運転状態になる。そのため、比較例１に係るライセンス管理方法は、システムの可用性の低下を招いていた。
【００７３】
一方、本実施形態においては、待機側コンピュータ装置のハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致しない場合でも二重化動作を可能とすることで、交換したコンピュータ装置１１のライセンスの取得が完了するまでの間も、二重化動作が可能となる。そのため、システムの高可用性を確保することができる。
【００７４】
ただし、不正利用を防止するため、ライセンス暫定状態は、稼働側コンピュータ装置のハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致し、待機側コンピュータ装置のハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致しないことを条件とする。したがって、稼働側コンピュータ装置のハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致せず、待機側コンピュータ装置のハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致する状態では、二重化動作を許可しない。つまり、ライセンス暫定状態において稼働側コンピュータ装置が動作しなくなった場合、二重化動作は許可されず、待機側コンピュータ装置によるシングル運転状態となる。この場合、ライセンスファイルが更新されない限り、コンピュータ装置１１Ａ，１１Ｂは二重化動作に復帰することができない。
【００７５】
３つ目の状態は、ライセンス無効状態である。ライセンス無効状態とは、稼働側コンピュータ装置のハードウェアＩＤおよび待機側コンピュータ装置のハードウェアＩＤの両方が、ライセンスファイルに含まれるハードウェアＩＤと一致しない状態である。この場合、不正利用の防止のため、シングル運転のみ可能とし、二重化動作を許容しない。
【００７６】
稼働側コンピュータ装置および待機側コンピュータ装置のハードウェアＩＤとライセンスファイルに含まれるハードウェアＩＤとの一致／不一致と、上述した３つの認証状態との関係を図５に示す。また、ライセンス有効状態、ライセンス暫定状態およびライセンス無効状態の遷移を図６に示す。
【００７７】
以下では、本実施形態に係るコンピュータシステム１０におけるライセンスの認証状態の遷移について、図１，６を参照して説明する。
【００７８】
コンピュータシステム１０が停止した初期状態から、コンピュータ装置１１ＡのハードウェアＩＤおよびコンピュータ装置１１ＢのハードウェアＩＤが、ライセンスファイルに含まれるハードウェアＩＤと一致した状態でシステムを起動すると、図６に示すように、ライセンスの認証状態は、初期状態からライセンス有効状態に遷移する（ステップＳ１１）。
【００７９】
より具体的には、稼働側コンピュータ装置として予め設定されたコンピュータ装置１１Ａに、ライセンスファイルがダウンロードされる。
【００８０】
コンピュータ装置１１Ａおよびコンピュータ装置１１Ｂが起動すると、制御権管理部１２Ａと制御権管理部１２Ｂとは、情報のやり取りを行い、コンピュータ装置１１Ａが稼働側コンピュータ装置として動作し、コンピュータ装置１１Ｂが待機側コンピュータ装置として動作すると決定する。
【００８１】
制御権管理部１２Ａは、コンピュータ装置１１Ａが稼働側コンピュータ装置として動作すると決定すると、ＡＰ実行部１３Ａに稼働側として起動するように起動指示を行う。ＡＰ実行部１３Ａは、稼働側として起動するように起動指示が行われると、クライアント２にサービスを提供するためのアプリケーションなどの実行環境を稼働側として起動する。
【００８２】
ライセンスチェック部１４Ａは、ライセンスファイルを参照し、ライセンスのチェックを行う。具体的には、ライセンスチェック部１４Ａは、コンピュータ装置１１ＡのハードウェアＩＤ「ＡＡＡＡ」がライセンスファイルに含まれるハードウェアＩＤと一致するか否かを判定する。ライセンスチェック部１４Ａは、コンピュータ装置１１ＡのハードウェアＩＤ「ＡＡＡＡ」がライセンスファイルに含まれるハードウェアＩＤと一致する場合、コンピュータ装置１１Ａに対するライセンスが正当であると判定する。
【００８３】
制御権管理部１２Ｂは、コンピュータ装置１１Ｂが待機側コンピュータ装置として動作すると決定すると、ＡＰ実行部１３Ｂに待機側として起動するように起動指示を行う。また、制御権管理部１２Ｂは、等値化部１５Ｂにコンピュータ装置１１Ａとの等値化処理を行うように等値化指示を行う。
【００８４】
等値化部１５Ｂは、制御権管理部１２Ｂから等値化指示が行われると、コンピュータ装置１１Ｂの内部状態をコンピュータ装置１１Ａの内部状態と一致させるため、等値化処理の開始を要求する等値化開始要求を、コンピュータ装置１１Ａの等値化部１５Ａに送信する。等値化部１５Ｂは、コンピュータ装置１１ＢのハードウェアＩＤ「ＢＢＢＢ」を等値化開始要求に含める。
【００８５】
等値化部１５Ａは、等値化部１５Ｂから等値化開始要求を受信すると、等値化開始要求に含まれるコンピュータ装置１１ＢのハードウェアＩＤをライセンスチェック部１４Ａに出力する。ライセンスチェック部１４Ａは、等値化部１５Ａから出力されたコンピュータ装置１１ＢのハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致するか否かを判定する。
【００８６】
ライセンスチェック部１４Ａは、コンピュータ装置１１ＢのハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致する場合、コンピュータ装置１１Ｂに対するライセンスが正当であると判定する。等値化部１５Ａは、ライセンスチェック部１４Ａにより、コンピュータ装置１１Ｂに対するライセンスが正当であると判定されると、等値化処理の開始を許可する等値化応答を等値化部１５Ｂに送信する。ここで、等値化部１５Ａは、ライセンスファイルを等値化応答に含めて送信する。等値化部１５Ｂは、等値化応答を受信すると、その等値化応答に含まれるライセンスファイルを記憶部１８に記憶するとともに、等値化処理を行う。コンピュータ装置１１Ａおよびコンピュータ装置１１ＢのハードウェアＩＤがライセンスファイルに含まれる場合、ライセンスの認証状態は、ライセンス有効状態に遷移する。したがって、コンピュータ装置１１Ａとコンピュータ装置１１Ｂとが二重化動作を行うことができる。
【００８７】
ライセンス有効状態において、例えば、コンピュータ装置１１Ａに故障が発生して動作を停止した場合、一時的に、待機側コンピュータ装置であるコンピュータ装置１１Ｂが稼働側コンピュータ装置として動作する（ＦａｉｌＯｖｅｒ発生）。ここで、コンピュータ装置１１Ａの故障が一過性の故障であり、ハードウェアの交換などを行うことなくコンピュータ装置１１Ａが正常動作に戻ることができた場合、コンピュータ装置１１ＡのハードウェアＩＤも変化しないので、上述した手順により、ライセンスの認証状態は、ライセンス有効状態に復帰することができる（ステップＳ１２）。
【００８８】
ライセンス有効状態において、コンピュータ装置１１Ａおよびコンピュータ装置１１Ｂのいずれかに永続的な故障が発生して動作を停止し、ハードウェアの交換が必要になったとする。ここで、稼働側コンピュータ装置であるコンピュータ装置１１Ａの動作が停止した場合には、ＦａｉｌＯｖｅｒが発生し、待機側コンピュータ装置であるコンピュータ装置１１Ｂが動作する。また、待機側コンピュータ装置であるコンピュータ装置１１Ｂが動作を停止した場合には、稼働側コンピュータ装置であるコンピュータ装置１１Ａは、コンピュータ装置１Ｂを切り離し、シングル動作を行う。
【００８９】
ここで、待機側コンピュータ装置であるコンピュータ装置１１Ｂが故障した場合を例として説明する。コンピュータ装置１１Ｂの故障したハードウェアの交換後、コンピュータ装置１１Ｂが起動されると、上述した手順により、等値化部１５Ｂは、等値化開始要求を等値化部１５Ａに送信する。ここで、コンピュータ装置１１Ｂのハードウェアが交換され、ハードウェアＩＤも変わっているため、コンピュータ装置１１ＢのハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致しない。この場合、ライセンスの認証状態は、ライセンス有効状態からライセンス暫定状態に遷移する（ステップＳ１３）。ライセンス暫定状態では、等値化部１５Ａは、コンピュータ装置１１ＢのハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致していなくても、等値化処理の開始を許可する等値化応答を等値化部１５Ｂに送信する。
【００９０】
このように、本実施形態においては、等値化部１５Ａは、ライセンスチェック部１４Ａによりライセンスファイルに自装置（コンピュータ装置１１Ａ）の識別子（ハードウェアＩＤ）が含まれていると判定された場合、連携動作を行う他のコンピュータ装置（コンピュータ装置１１Ｂ）の識別子がライセンスファイルに含まれていなくても、二重化制御ソフトウェアを用いたコンピュータ装置１１Ｂによる連携動作を許可する。すなわち、連携動作を行う複数のコンピュータ装置１１の内のいずれかであるコンピュータ装置１１Ａ（第１のコンピュータ装置）は、連携動作を行うためのソフトウェアのライセンスが付与される複数のコンピュータ装置１１の識別子を含むライセンスファイルに、コンピュータ装置１１Ａの識別子が含まれている場合、連携動作を行う複数のコンピュータ装置の内、コンピュータ装置１１Ａ以外のコンピュータ装置１１Ｂ（第２のコンピュータ装置）の識別子がライセンスファイルに含まれていなくても、二重化制御ソフトウェアを用いたコンピュータ装置１１Ｂによる連携動作を許可する。
【００９１】
ハードウェアを交換したコンピュータ装置１１Ｂのライセンスを新たに取得する場合、通常、ライセンスの発行には時間がかかる。そのため、ライセンスの取得が完了するまでの間、コンピュータシステム１０は、コンピュータ装置１１Ａによるシングル運転動作を行う必要があり、可用性が低下する。なお、稼働側コンピュータ装置であるコンピュータ装置１１Ａが故障した場合は、稼働側コンピュータ装置がコンピュータ装置１１Ｂに切り替わった後、上述したように、コンピュータ装置１１Ｂと、コンピュータ装置１１Ａの代替品である新たなコンピュータ装置１１との間で、その新たなコンピュータ装置１１の識別子がライセンスファイルに含まれていなくても、二重化制御ソフトウェアを用いたコンピュータ装置１１Ｂによる連携動作を暫定的に許可する。
【００９２】
本実施形態においては、稼働側コンピュータ装置のハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致していれば、待機側コンピュータ装置のハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致していなくても、暫定的に二重化動作を許可する。そのため、待機側コンピュータ装置のライセンスの取得などを待たずに二重化動作を行うことができるので、コンピュータシステム１０の高可用性を確保することができる。また、ライセンスの正当性は、コンピュータ装置１１のハードウェアＩＤに基づいて判定されるので、不正利用を防止することもできる。
【００９３】
ライセンス暫定状態において、ライセンスファイルの更新により、コンピュータ装置１１ＡのハードウェアＩＤおよびコンピュータ装置１１ＢのハードウェアＩＤが、更新後のライセンスファイルに含まれるようにした場合、ライセンスの認証状態は、ライセンス暫定状態からライセンス有効状態に遷移する（ステップＳ１４）。
【００９４】
ライセンス暫定状態において、稼働側コンピュータ装置であるコンピュータ装置１１Ａに故障が発生して停止した場合、ＦａｉｌＯｖｅｒが発生し、待機側コンピュータ装置であるコンピュータ装置１１Ｂが稼働する。この場合、ライセンスの認証状態は、ライセンス暫定状態からライセンス無効状態に遷移し（ステップＳ１５）、待機側コンピュータ装置によるシングル動作が行われる。ライセンス暫定状態において稼働側コンピュータ装置が停止した場合に二重化動作を許容すると、同じライセンスファイルを使用して、２つの二重化システムを動作させるという不正利用が可能となる。このような不正利用を防ぐために、ライセンス暫定状態において、稼働側コンピュータ装置が停止した場合、ハードウェアＩＤがライセンスファイルに含まれず、新たに稼働側コンピュータ装置として動作するコンピュータ装置１１は、二重化動作（連携動作）を停止する。
【００９５】
初期状態から、コンピュータ装置１１ＡのハードウェアＩＤおよびコンピュータ装置１１ＢのハードウェアＩＤが、ライセンスファイルに含まれるハードウェアＩＤと一致しない状態でシステムを起動すると、ライセンスの認証状態は、初期状態からライセンス無効状態に遷移する（ステップＳ１６）。この場合、１台のコンピュータ装置１１（例えば、コンピュータ装置１１Ａ）によるシングル動作が行われる。
【００９６】
ライセンス無効状態において、動作中の１台のコンピュータ装置１１が故障により動作を停止すると、コンピュータシステム１０は、初期状態に戻る（ステップＳ１７）。
【００９７】
ライセンス無効状態において、ライセンスファイルが更新され、コンピュータ装置１１ＡのハードウェアＩＤおよびコンピュータ装置１１ＢのハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致するようになると、ライセンスの認証状態は、ライセンス有効状態に遷移する（ステップＳ１８）。
【００９８】
図７は、本実施形態に係るコンピュータシステム１０において実行されるライセンス管理方法について説明するためのフローチャートである。
【００９９】
稼働側コンピュータ装置であるコンピュータ装置１１Ａのライセンスチェック部１４Ａは、コンピュータ装置１１ＡのハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致するか否かを判定する（ステップＳ２１）。すなわち、本実施形態に係るライセンス管理方法は、連携動作を行う複数のコンピュータ装置１１の内のいずれかであるコンピュータ装置１１Ａ（第１のコンピュータ装置）の識別子がライセンスファイルに含まれるか否かを判定するステップを含む。
【０１００】
コンピュータ装置１１ＡのハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致しないと判定された場合（ステップＳ２１：Ｎｏ）、ライセンスの認証状態は、ライセンス無効状態に遷移する（ステップＳ２２）。ライセンス無効状態では、コンピュータ装置１１Ａとコンピュータ装置１１Ｂとの連携動作は行われず、稼働側コンピュータ装置であるコンピュータ装置１１Ａによるシングル動作が行われる。
【０１０１】
稼働側コンピュータ装置であるコンピュータ装置１１ＡのハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致すると判定した場合（ステップＳ２１：Ｙｅｓ）、ライセンスチェック部１４Ａは、待機側コンピュータ装置であるコンピュータ装置１１ＢのハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致するか否かを判定する（ステップＳ２３）。
【０１０２】
コンピュータ装置１１ＢのハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致しないと判定された場合（ステップＳ２３：Ｎｏ）、ライセンスの認証状態は、ライセンス暫定状態に遷移する（ステップＳ２４）。ライセンス暫定状態では、コンピュータ装置１１Ａとコンピュータ装置１１Ｂとによる二重化動作が行われる。すなわち、本実施形態に係るライセンス管理方法は、コンピュータ装置１１Ａの識別子がライセンスファイルに含まれている場合、連携動作を行う複数のコンピュータ装置の内、コンピュータ装置１１Ａ以外のコンピュータ装置１１Ｂ（第２のコンピュータ装置）の識別子がライセンスファイルに含まれていなくても、二重化制御ソフトウェアを用いたコンピュータ装置１１Ｂによる連携動作を許可するステップを含む。
【０１０３】
ライセンス暫定状態では、上述したように、稼働側コンピュータ装置であるコンピュータ装置１１Ａが故障により動作を停止した場合、故障したコンピュータ装置１１Ａのハードウェアを交換するなどしてコンピュータ装置１１Ａを起動させても二重化動作に復帰することはできない。二重化動作に復帰するためには、ライセンスファイルの更新が必要になる。
【０１０４】
コンピュータ装置１１ＢのハードウェアＩＤがライセンスファイルに含まれるハードウェアＩＤと一致すると判定された場合（ステップＳ２３：Ｙｅｓ）、ライセンスの認証状態は、ライセンス有効状態に遷移する（ステップＳ２５）。ライセンス有効状態では、コンピュータ装置１１Ａとコンピュータ装置１１Ｂとによる二重化動作が行われる。ライセンス有効状態では、上述したように、コンピュータ装置１１Ａ，１１Ｂのいずれかが故障した場合、故障したコンピュータ装置１１のハードウェアを交換するなどして起動させると、ライセンスの認証状態はライセンス暫定状態に遷移し、コンピュータ装置１１Ａおよびコンピュータ装置１１Ｂは二重化動作を行うことができる。
【０１０５】
なお、ライセンス暫定状態に有効期限を設け、有効期限内にライセンス有効状態に遷移しない場合、連携動作を停止してもよい。すなわち、稼働側コンピュータ装置であるコンピュータ装置１１（第１のコンピュータ装置）は、連携動作を行う他のコンピュータ装置１１（第２のコンピュータ装置）の識別子がライセンスファイルに含まれていなくても、他のコンピュータ装置１１による連携動作を許可した状態（ライセンス暫定状態）が所定時間以上続いた場合、他のコンピュータ装置１１による連携動作を停止させてもよい。こうすることで、正当なライセンスを受けずに、二重化制御ソフトウェアを利用して二重化動作を継続させることができなくなる。
【０１０６】
また、ライセンス暫定状態への遷移に制限回数を設け、制限回数を超えた場合、連携動作を許可しないようにしてもよい。すなわち、稼働側コンピュータ装置であるコンピュータ装置１１（第１のコンピュータ装置）は、連携動作を行う他のコンピュータ装置１１（第２のコンピュータ装置）の識別子がライセンスファイルに含まれていなくても、他のコンピュータ装置１１による連携動作を許可した回数が所定回数を超えた場合、他のコンピュータ装置１１による連携動作を許可しないようにしてもよい。こうすることで、正当なライセンスを受けずに、二重化制御ソフトウェアを利用して二重化動作を繰り返し継続させることができなくなる。
【０１０７】
また、本実施形態においては、コンピュータシステム１０は、２台のコンピュータ装置１１（コンピュータ装置１１Ａ，１１Ｂ）が二重化動作を行うシステム（二重化システム）である例を用いて説明したが、本開示はこれに限られるものではない。本開示は、複数のコンピュータ装置１１が連携動作を行う冗長化構成（例えば、クラスタサーバ、ＨＡ（High Availability）クラスタ、ＦＴ(Fault Tolerant)サーバ、マルチサーバなど）の種々のシステムに適用可能である。
【０１０８】
本開示は、例えば、プラントにおけるプロセス制御を行うプロセス制御システム、例えば、ＳＣＡＤＡ（Supervisory Control And Data Acquisition）システム、プラント情報管理システム、通信ゲートウェイシステムあるいは運転効率向上支援システムなどに適用可能であるが、これに限られるものではない。本開示は、ＩＴシステムおよび医療システムなど、高信頼性・高可用性が求められる種々のシステムに適用可能である。
【０１０９】
このように本実施形態においては、連携動作を行う複数のコンピュータ装置１１の内のいずれかである第１のコンピュータ装置のハードウェアＩＤがライセンスファイルに含まれていれば、複数のコンピュータ装置１１の内、第１のコンピュータ装置以外の第２のコンピュータ装置のハードウェアＩＤがライセンスファイルに含まれていなくても、ソフトウェアを用いた第２のコンピュータ装置による連携動作を許可する。
【０１１０】
そのため、第２のコンピュータ装置が故障などした場合に、第２のコンピュータ装置のライセンスの取得などを待たずに、連携動作を行うことができるので、コンピュータシステム１０の高可用性を確保することができる。また、ライセンスの正当性は、コンピュータ装置１１の識別子に基づいて判定されるので、不正利用を防止することができる。したがって、本開示によれば、ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることができる。
【０１１１】
上述の実施形態は代表的な例として説明したが、本開示の趣旨および範囲内で、多くの変更および置換が可能であることは当業者に明らかである。したがって、本開示は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形および変更が可能である。例えば、実施形態の構成図に記載の複数の構成ブロックを１つに組み合わせたり、あるいは１つの構成ブロックを分割したりすることが可能である。
【符号の説明】
【０１１２】
１    ネットワーク
２    クライアント
３    ライセンス管理装置
１０，１００Ａ，１００Ｂ    コンピュータシステム
１１Ａ，１１Ｂ，１１０Ａ，１１０Ｂ    コンピュータ装置
１２Ａ，１２Ｂ    制御権管理部
１３Ａ，１３Ｂ    ＡＰ実行部
１４Ａ，１４Ｂ，１１１Ａ，１１１Ｂ    ライセンスチェック部
１５Ａ，１５Ｂ    等値化部
１６Ａ，１６Ｂ，１１２Ａ，１１２Ｂ    二重化制御ソフトウェア
１７    通信部
１８    記憶部
１９    制御部
【図１】
2020135571.tif 000003
【図２】
2020135571.tif 000004
【図３】
2020135571.tif 000005
【図４】
2020135571.tif 000006
【図５】
2020135571.tif 000007
【図６】
2020135571.tif 000008
【図７】
2020135571.tif 000009
【図８】
2020135571.tif 000010
【図９】
2020135571.tif 000011
【図１０】
2020135571.tif 000012