JP6977740B2 - コンピュータシステム、コンピュータ装置およびライセンス管理方法 - Google Patents

コンピュータシステム、コンピュータ装置およびライセンス管理方法 Download PDF

Info

Publication number
JP6977740B2
JP6977740B2 JP2019029946A JP2019029946A JP6977740B2 JP 6977740 B2 JP6977740 B2 JP 6977740B2 JP 2019029946 A JP2019029946 A JP 2019029946A JP 2019029946 A JP2019029946 A JP 2019029946A JP 6977740 B2 JP6977740 B2 JP 6977740B2
Authority
JP
Japan
Prior art keywords
computer device
license
computer
hardware
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
JP2019029946A
Other languages
English (en)
Other versions
JP2020135571A (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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2019029946A priority Critical patent/JP6977740B2/ja
Priority to CN202010098669.4A priority patent/CN111611550B/zh
Priority to US16/794,764 priority patent/US20200272708A1/en
Priority to EP20158459.6A priority patent/EP3699788A1/en
Publication of JP2020135571A publication Critical patent/JP2020135571A/ja
Application granted granted Critical
Publication of JP6977740B2 publication Critical patent/JP6977740B2/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]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/1428Reconfiguring to eliminate the error with loss of hardware functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities

Description

本開示は、コンピュータシステム、コンピュータ装置およびライセンス管理方法に関する。
複数のコンピュータ装置が連携動作を行い、1つのシステムを構成するコンピュータシステムが、プロセス制御などのために用いられている。このようなコンピュータシステムにおいては、複数のコンピュータ装置が連携動作を行うためのソフトウェアのライセンスを適切に管理する必要がある。
ソフトウェアのライセンス管理方法としては、ハードウェアIDに基づく方法がある。この方法は、コンピュータ装置に搭載されたハードウェアのハードウェアIDに基づき、コンピュータ装置ごとにライセンスを付与する方法である(例えば、特許文献1参照)。また、別の方法として、ソフトウェアのライセンス数に基づく方法がある。この方法は、予め定められた所定のライセンス数だけ、コンピュータ装置にライセンスを付与する方法である(例えば、特許文献2参照)。
特開平7−325712号公報 特開2006−059163号公報
従来のハードウェアIDに基づくライセンス管理方法およびライセンス数に基づくライセンス管理方法では、ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることが困難であった。
上記のような問題点に鑑みてなされた本開示の目的は、ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることができるコンピュータシステム、コンピュータ装置およびライセンス管理方法を提供することにある。
幾つかの実施形態に係るコンピュータシステムは、複数のコンピュータ装置が連携動作を行うコンピュータシステムであって、前記複数のコンピュータ装置の内のいずれかである第1のコンピュータ装置は、前記連携動作を行うためのソフトウェアのライセンスが付与される複数のコンピュータ装置の識別子を含むライセンスファイルに、前記第1のコンピュータ装置の識別子が含まれている場合、前記連携動作を行う複数のコンピュータ装置の内、前記第1のコンピュータ装置以外の第2のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記ソフトウェアを用いた前記第2のコンピュータ装置による連携動作を許可する。
このような構成を有するコンピュータシステムによれば、第2のコンピュータ装置が故障などした場合に、第2のコンピュータ装置のライセンスの取得などを待たずに、連携動作を行うことができるので、コンピュータシステムの高可用性を確保することができる。また、ライセンスの正当性は、コンピュータ装置の識別子に基づいて判定されるので、不正利用を防止することができる。したがって、上記構成を有するコンピュータシステムによれば、ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることができる。
一実施形態において、前記第2のコンピュータ装置は、前記第2のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記第2のコンピュータ装置による連携動作が許可された状態において、前記第1のコンピュータ装置が停止した場合、連携動作を停止する。
このような構成により、同じライセンスファイルを使用して、複数のコンピュータシステムを動作させるという不正利用を防止することができる。
一実施形態において、前記第1のコンピュータ装置は、前記第2のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記第2のコンピュータ装置による連携動作を許可した状態が所定時間以上続いた場合、前記第2のコンピュータ装置による連携動作を停止させる。
このような構成により、正当なライセンスを受けずに、ソフトウェアを利用して連携動作を継続させるという不正利用を防止することができる。
一実施形態において、前記第1のコンピュータ装置は、前記第2のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記第2のコンピュータ装置による連携動作を許可した回数が所定回数を超えた場合、前記第2のコンピュータ装置による連携動作を許可しない。
このような構成により、正当なライセンスを受けずに、ソフトウェアを利用して連携動作を繰り返し継続させるという不正利用を防止することができる。
一実施形態において、前記第1のコンピュータ装置は、稼働側コンピュータ装置であり、前記第2のコンピュータ装置は、前記稼働側コンピュータ装置が故障した場合に稼働する待機側コンピュータ装置である。
このような構成により、稼働側コンピュータ装置と、待機側コンピュータ装置とを含む冗長化システムにおいて、ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることができる。
幾つかの実施形態に係るコンピュータ装置は、複数のコンピュータ装置が連携動作を行うコンピュータシステムに含まれるコンピュータ装置であって、前記連携動作を行うためのソフトウェアのライセンスが付与される複数のコンピュータ装置の識別子を含むライセンスファイルに、自装置の識別子が含まれるか否かを判定するライセンスチェック部と、前記ライセンスチェック部により前記ライセンスファイルに自装置の識別子が含まれていると判定された場合、前記連携動作を行う他のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記ソフトウェアを用いた前記他のコンピュータ装置による連携動作を許可する等値化部と、を備える。
このような構成を有するコンピュータ装置によれば、他のコンピュータ装置が故障などした場合に、他のコンピュータ装置のライセンスの取得などを待たずに、連携動作を行うことができるので、コンピュータシステムの高可用性を確保することができる。また、ライセンスの正当性は、コンピュータ装置の識別子に基づいて判定されるので、不正利用を防止することができる。したがって、上記構成を有するコンピュータ装置によれば、ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることができる。
幾つかの実施形態に係るライセンス管理方法は、複数のコンピュータ装置が連携動作を行うコンピュータシステムにおける、前記連携動作を行うためのソフトウェアのライセンスを管理するライセンス管理方法であって、前記ソフトウェアのライセンスが付与される複数のコンピュータ装置の識別子を含むライセンスファイルに、前記複数のコンピュータ装置の内のいずれかである第1のコンピュータ装置の識別子が含まれるか否かを判定するステップと、前記第1のコンピュータ装置の識別子が前記ライセンスファイルに含まれている場合、前記連携動作を行う複数のコンピュータ装置の内、前記第1のコンピュータ装置以外の第2のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記ソフトウェアを用いた前記第2のコンピュータ装置による連携動作を許可するステップと、を含む。
このような構成を有するライセンス管理方法によれば、第2のコンピュータ装置が故障などした場合に、第2のコンピュータ装置のライセンスの取得などを待たずに、連携動作を行うことができるので、コンピュータシステムの高可用性を確保することができる。また、ライセンスの正当性は、コンピュータ装置の識別子に基づいて判定されるので、不正利用を防止することができる。したがって、上記構成を有するライセンス管理方法によれば、ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることができる。
本開示に係るコンピュータシステム、コンピュータ装置およびライセンス管理方法によれば、ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることができる。
本開示の一実施形態に係るコンピュータシステムの構成例を示す図である。 図1に示すコンピュータシステムにおいてライセンスを管理するソフトウェアについて説明するための図である。 図1に示すコンピュータシステムにおけるライセンスファイルについて説明するための図である。 図1に示すコンピュータ装置のハードウェア構成の一例を示す図である。 図1に示すコンピュータシステムにおけるライセンスの認証状態について説明するための図である。 図1に示すコンピュータシステムにおけるライセンスの認証状態の遷移について説明するための図である。 図1に示すコンピュータシステムにおけるライセンス管理方法について説明するためのフローチャートである。 比較例1に係るライセンス管理方法におけるライセンスファイルについて説明するための図である。 比較例1に係るライセンス管理方法を適用したコンピュータシステムの構成例を示す図である。 比較例2に係るライセンス管理方法を適用したコンピュータシステムの構成例を示す図である。
以下、本開示を実施するための形態について、図面を参照しながら説明する。各図中、同一符号は、同一または同等の構成要素を示している。
まず比較のために、比較例1に係るライセンス管理方法について説明する。比較例1に係るライセンス管理方法は、ハードウェアIDに基づく方法であり、ソフトウェアの不正利用の防止を主目的とした方法である。具体的には、比較例1に係るライセンス管理方法は、指定のコンピュータ装置でのみソフトウェアを動作可能とし、ソフトウェアを他のコンピュータ装置に複製しても動作させないようにする方法である。
図8は、比較例1に係るライセンス管理方法におけるライセンスファイルについて説明するための図である。また、図9は、比較例1に係るライセンス管理方法を適用したコンピュータシステム100Aの構成例を示す図である。図8,9においては、コンピュータシステム100Aは、連携動作を行う2台のコンピュータ装置110A,110Bを含むものとする。また、コンピュータ装置110A,110Bは、連携動作として、いずれか一方のコンピュータ装置110が、ネットワーク1を介して接続されたクライアント2にサービスを提供する稼働側コンピュータ装置となり、他方のコンピュータ装置110が、稼働側コンピュータ装置が故障した場合に稼働する待機側コンピュータ装置となる、二重化動作を行うものとする。また、コンピュータ装置110Aが稼働側コンピュータ装置として動作し、コンピュータ装置110Bが待機側コンピュータ装置として動作するように予め設定されているものとする。なお、コンピュータ装置110A,110Bを区別しない場合には、コンピュータ装置110と称する。
図8に示すように、システムユーザは、二重化動作を行うコンピュータ装置110A,110Bそれぞれに搭載されたハードウェアのID(ハードウェアID)を取得する。ハードウェアIDは、例えば、コンピュータ装置110本体のシリアル番号、コンピュータ装置110に搭載されたハードディスクのシリアル番号、あるいは、コンピュータ装置110に装着されたEthernet(登録商標)カードのMAC(Media Access Control)アドレスなど、コンピュータ装置110を識別可能な識別子である。以下では、コンピュータ装置110AのハードウェアIDは「AAAA」であり、コンピュータ装置110BのハードウェアIDは「BBBB」であるとする。
システムユーザは、コンピュータ装置110Aおよびコンピュータ装置110Bが二重化動作を行うためのソフトウェア(以下、「二重化制御ソフトウェア」と称する。)のライセンスの取得を要求するライセンス取得要求を、二重化制御ソフトウェアのライセンスを管理するライセンス管理装置3に送信する。ライセンス取得要求には、コンピュータ装置110AのハードウェアID「AAAA」およびコンピュータ装置110BのハードウェアID「BBBB」が含まれる。ライセンス管理装置3は、例えば、二重化制御ソフトウェアを提供するソフトウェアベンダにより管理される。
ライセンス管理装置3は、ライセンス取得要求を受信すると、二重化制御ソフトウェアのライセンスを付与するライセンスファイルをシステムユーザに対して発行する。図8の例では、ライセンス管理装置3は、コンピュータ装置110A用のライセンスファイル(以下、「PC−A用ライセンスファイル」と称する。)と、コンピュータ装置110B用のライセンスファイル(以下、「PC−B用ライセンスファイル」と称する)とを発行する。すなわち、ライセンス管理装置3は、各コンピュータ装置110に個別のライセンスファイルを発行する。PC−A用ライセンスファイルには、コンピュータ装置110AのハードウェアID「AAAA」が含まれる。PC−B用ライセンスファイルには、コンピュータ装置110BのハードウェアID「BBBB」が含まれる。
各コンピュータ装置110に対して発行されたライセンスファイルは、対応するコンピュータ装置110にインストールされる。すなわち、図9に示すように、PC−A用ライセンスファイルは、コンピュータ装置110Aにインストールされる。PC−B用ライセンスファイルは、コンピュータ装置110Bにインストールされる。
コンピュータ装置110は、ライセンスチェック部111を備える。ライセンスチェック部111は、自装置にインストールされたライセンスファイルに含まれるハードウェアIDと、自装置のハードウェアIDとが一致するか否かを判定する。ライセンスチェック部111は、ライセンスファイルに含まれるハードウェアIDと、自装置のハードウェアIDとが一致する場合、自装置に搭載された二重化制御ソフトウェアの起動を許可する。また、ライセンスチェック部111は、ライセンスファイルに含まれるハードウェアIDと、自装置のハードウェアIDとが一致しない場合、自装置に搭載された二重化制御ソフトウェアの停止を指示する。
すなわち、コンピュータ装置110Aのライセンスチェック部111Aは、PC−A用ライセンスファイルに含まれるハードウェアIDと、コンピュータ装置110AのハードウェアID「AAAA」とが一致する場合、コンピュータ装置110Aに搭載された二重化制御ソフトウェア112Aの起動を許可する。また、ライセンスチェック部111Aは、PC−A用ライセンスファイルに含まれるハードウェアIDと、コンピュータ装置110AのハードウェアID「AAAA」とが一致しない場合、二重化制御ソフトウェア112Aの停止を指示する。
二重化制御ソフトウェア112Aは、ライセンスチェック部111Aにより起動が許可されると、待機側コンピュータ装置であるコンピュータ装置110Bに搭載された二重化制御ソフトウェア112Bに二重化動作の開始を指示する。
コンピュータ装置110Bのライセンスチェック部111Bは、PC−B用ライセンスファイルに含まれるハードウェアIDと、コンピュータ装置110BのハードウェアID「BBBB」とが一致する場合、自装置に搭載された二重化制御ソフトウェア112Bの起動を許可する。また、ライセンスチェック部111Bは、PC−B用ライセンスファイルに含まれるハードウェアIDと、コンピュータ装置110BのハードウェアID「BBBB」とが一致しない場合、二重化制御ソフトウェア112Bの停止を指示する。
二重化制御ソフトウェア112Bは、ライセンスチェック部111Bから起動が許可され、二重化制御ソフトウェア112Aから二重化動作の開始を指示されると、コンピュータ装置110Aとコンピュータ装置110Bとが二重化動作を行うための処理を開始する。すなわち、コンピュータ装置110Aのライセンスおよびコンピュータ装置110Bのライセンスが有効であれば、コンピュータ装置110Aとコンピュータ装置110Bとの間で二重化動作が行われる。二重化動作が開始されると、例えば、稼働側コンピュータ装置であるコンピュータ装置110Aに異常が発生し、コンピュータ装置110Aが動作を停止した場合、待機側コンピュータ装置であるコンピュータ装置110Bが動作し、クライアント2にサービスを継続して提供することができる。
図9に示すコンピュータシステム100Aにおいて、例えば、一方のコンピュータ装置110のハードウェアが故障した場合、故障したハードウェアを交換し、故障したコンピュータ装置110を二重化動作に復帰させる必要がある。この場合、ハードウェアが交換され、ハードウェアIDが変わっているため、新しいハードウェア用のライセンスの取得と、ライセンスファイルのインストールとが必要となる。
通常、ライセンスの取得には時間がかかる。そのため、ライセンスの取得が完了するまで、ハードウェアを交換したコンピュータ装置110を二重化動作に復帰させることができない。そのため、コンピュータシステム100Aは、故障していないコンピュータ装置110だけが稼働するシングル運転状態となる。この状態で稼働中のコンピュータ装置110に異常が発生した場合、サービスの提供が困難になり、甚大な影響が生じてしまうおそれがある。
次に、比較例2に係るライセンス管理方法について説明する。比較例2に係るライセンス管理方法は、ライセンス数に基づく方法であり、ハードウェアの交換などに応じてライセンスを柔軟に移動させることを可能にした、可用性を重視した方法である。
図10は、比較例2に係るライセンス管理方法を適用したコンピュータシステム100Bの構成例を示す図である。
図10に示すコンピュータシステム100Bにおいては、ライセンス管理装置3が、ライセンスを管理する。ライセンス管理装置3には、二重化制御ソフトウェアをライセンス可能な数(ライセンス数(例えば、2台))が設定される。ライセンス管理装置3は、ネットワーク1を介して接続されたコンピュータ装置110A,110Bにライセンスを配布する。ライセンス管理装置3は、コンピュータ装置110にライセンスを配布すると、ライセンスを配布した数だけ、設定されたライセンス数を減らす。ライセンス数がゼロになると、ライセンス管理装置3は、それ以上のライセンスを配布しない。すなわち、ライセンス管理装置3は、設定されたライセンス数だけライセンスを配布することができる。
比較例2に係るライセンス管理方法では、比較例1に係るライセンス管理方法とは異なり、ライセンスとハードウェアとの紐づけはなく、どのハードウェア(コンピュータ装置110)にもライセンスの配布が可能である。また、比較例2に係るライセンス管理方法では、設定されたライセンス数以上のライセンスの配布を防止し、二重化制御ソフトウェアの不正利用を防止することができる。
コンピュータ装置110では、ライセンスチェック部111によるライセンスの正当性のチェックが行われる。コンピュータ装置110Aおよびコンピュータ装置110Bそれぞれにおいてライセンスが正当であると判定されると、コンピュータ装置110Aとコンピュータ装置110Bとが二重化動作を行う。
一方のコンピュータ装置110のハードウェアが故障した場合、故障したハードウェアを交換し、故障したコンピュータ装置110を二重化動作に復帰させる必要がある。この場合、比較例2に係るライセンス管理方法においては、ライセンスとハードウェアとの紐づけが行われていないので、ライセンス管理装置3から故障したコンピュータ装置110のライセンスを削除する(ライセンス数を増やす)ことで、新たなコンピュータ装置110にライセンスを配布することができる。
比較例1に係るライセンス管理方法および比較例2に係るライセンス管理方法にはそれぞれ、以下のような長所および短所がある。
比較例1に係るライセンス管理方法の長所としては、指定のハードウェアでのみソフトウェアの動作が許可されるので、ソフトウェアの不正利用を防止することができる点がある。比較例1に係るライセンス管理方法の短所としては、ハードウェアを交換する場合、新たなハードウェアのライセンスの取得が完了するまでは、シングル運転状態でシステムを稼働させる必要があるため、可用性が低下する点がある。
比較例2に係るライセンス管理方法の長所としては、ライセンスを柔軟に移動可能なため、メンテナンス性が高く、ハードウェアの交換が必要な場合でも、高可用性を確保することができる点がある。比較例2に係るライセンス管理方法の短所としては、例えば、図10を参照して説明したライセンス管理装置3およびコンピュータ装置110からなる環境を別のネットワークで構築すれば、ソフトウェアの不正利用が可能となる点がある。
このように、比較例1に係るライセンス管理方法および比較例2に係るライセンス管理方法では、ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることが困難であった。
次に、本開示の一実施形態に係るコンピュータシステム10の構成ついて説明する。
図1は、本実施形態に係るコンピュータシステム10の構成例を示す図である。
図1に示すコンピュータシステム10は、連携動作を行う複数のコンピュータ装置11(図1では、コンピュータ装置11A,11B)を備え、複数のコンピュータ装置11が連携動作を行うためのソフトウェアのライセンスを管理するものである。本実施形態において、ライセンスにより管理されるソフトウェアは、複数のコンピュータ装置11A,11Bが連携動作を行うためのソフトウェアである。以下では、コンピュータ装置11A,11Bが、連携動作として、いずれか一方のコンピュータ装置11が、ネットワーク1を介して接続されたクライアント2にサービスを提供する稼働側コンピュータ装置となり、他方のコンピュータ装置が、稼働側コンピュータ装置が故障した場合に動作する待機側コンピュータ装置となる、冗長化(二重化)動作を行うものとする。また、コンピュータ装置11Aが稼働側コンピュータ装置として動作し、コンピュータ装置11Bが待機側コンピュータ装置として動作するように予め設定されているとする。コンピュータ装置11A,11Bを区別しない場合には、コンピュータ装置11と称する。
まず、本実施形態に係るコンピュータシステム10において、ライセンスにより管理されるソフトウェアについて、図2を参照して説明する。
図2に示すように、コンピュータ装置11Aとコンピュータ装置11Bとはネットワーク1を介して接続されている。また、コンピュータ装置11Aとコンピュータ装置11Bとは、ネットワーク1を介さずに直接、ケーブルなどにより接続されている。コンピュータ装置11は、例えば、サーバPC(Personal Computer)などで構成される。コンピュータ装置11Aは、稼働側コンピュータ装置として動作し、クライアント2にネットワーク1を介してサービスを提供する。コンピュータ装置11Bは、待機側コンピュータ装置として動作し、コンピュータ装置11Aが故障した際に動作し、クライアント2にサービスを提供する。
コンピュータ装置11のソフトウェア構成は、例えば、図2に示すように、冗長化プラットフォームソフトウェア、ゲストOS(Operating System)およびアプリケーションソフトウェアを含む。冗長化プラットフォームソフトウェアは、コンピュータ装置11Aとコンピュータ装置11Bとが冗長化動作(二重化動作)を行うためのソフトウェアである。コンピュータ装置11Aとコンピュータ装置11Bとが冗長化動作を行うためには、例えば、コンピュータ装置11Aとコンピュータ装置11Bとの内部状態の等値化、互いのコンピュータ装置11の故障検知などの処理が必要となる。冗長化プラットフォームソフトウェアは、コンピュータ装置11Aおよびコンピュータ装置11Bが、上述したような冗長化動作を行うためのソフトウェアである。
ゲストOSは、サーバPC上に構築された仮想マシンで動作するオペレーティングシステムである。また、アプリケーションソフトウェアは、ゲストOS上で動作し、例えば、クライアント2に所定のサービスを提供するアプリケーションのソフトウェアである。
本実施形態において、ライセンスにより管理されるソフトウェアは、上述した冗長化プラットフォームソフトウェアのような、複数のコンピュータ装置11が連携動作を行うためのソフトウェアである。上述したように、コンピュータ装置11Aおよびコンピュータ装置11Bは、一方が稼働側コンピュータ装置として動作し、他方が待機側コンピュータ装置として動作する二重化動作を行う。以下では、複数のコンピュータ装置11が連携動作を行うためのソフトウェアは、コンピュータ装置11Aおよびコンピュータ装置11Bが二重化動作を行うためのソフトウェア(二重化制御ソフトウェア)である例を用いて説明する。ゲストOSおよびアプリケーションソフトウェアのライセンスの管理は、例えば、各ソフトウェアを提供するソフトウェアベンダなどにより行われるが、本開示とは直接関係しないため、説明を省略する。
図1を再び参照すると、二重化制御ソフトウェアのライセンスを付与するライセンスファイルがライセンス管理装置3から発行され、稼働側コンピュータ装置として予め設定されたコンピュータ装置11Aに入力される。
本実施形態に係るライセンスファイルについて、図3を参照して説明する。
図3に示すように、システムユーザは、二重化動作を行うコンピュータ装置11A,11Bそれぞれに搭載されたハードウェアのID(ハードウェアID)を取得する。以下では、コンピュータ装置11AのハードウェアIDは「AAAA」であり、コンピュータ装置11BのハードウェアIDは「BBBB」であるとする。
システムユーザは、コンピュータ装置11Aおよびコンピュータ装置11Bが二重化動作を行うためのソフトウェア(二重化制御ソフトウェア)のライセンスの取得を要求するライセンス取得要求をライセンス管理装置3に送信する。ライセンス取得要求には、コンピュータ装置11AのハードウェアID「AAAA」およびコンピュータ装置11BのハードウェアID「BBBB」が含まれる。
ライセンス管理装置3は、ライセンス取得要求を受信すると、二重化制御ソフトウェアのライセンスを付与するライセンスファイルをシステムユーザに対して発行する。本実施形態においては、ライセンス管理装置3は、ライセンス取得要求によりライセンスを要求されたコンピュータ装置11Aおよびコンピュータ装置11Bをペアとしたライセンスファイル(以下、「PC−A/Bペア用ライセンスファイル」と称する。)を発行する。具体的には、ライセンス管理装置3は、コンピュータ装置11AのハードウェアID「AAAA」とコンピュータ装置11BのハードウェアID「BBBB」とを含むライセンスファイルを発行する。このように、ライセンス管理装置3は、連携動作を行うためのソフトウェアのライセンスが付与される複数のコンピュータ装置11の識別子を含むライセンスファイルを発行する。ライセンス管理装置3は、コンピュータ装置11A,11Bによる解読が可能な暗号化方式により暗号化したハードウェアIDを、ライセンスファイルに含めてもよい。こうすることで、第三者によるライセンスファイルの不正な改ざん、ライセンスファイルに含まれるハードウェアIDの漏洩などを防ぐことができる。
ライセンス管理装置3から発行されたPC−A/Bペア用ライセンスファイルは、稼働側コンピュータ装置として予め設定されたコンピュータ装置11Aに入力(ダウンロード)される。
次に、コンピュータ装置11の構成について、図1を参照して説明する。コンピュータ装置11Aの構成およびコンピュータ装置11Bの構成は同じであるため、以下では、コンピュータ装置11Aの構成を説明し、コンピュータ装置11Bの構成については説明を省略する。
図1に示すように、コンピュータ装置11Aは、制御権管理部12Aと、AP実行部13Aと、ライセンスチェック部14Aと、等値化部15Aとを備える。
制御権管理部12Aは、連携動作を行う他のコンピュータ装置11の制御権管理部12(図1では、コンピュータ装置11Bの制御権管理部12B)と情報をやり取りし、各コンピュータ装置11が稼働側コンピュータ装置として動作するか、待機側コンピュータ装置として動作するかを決定する。コンピュータシステム10の立ち上げの際などは、予め稼働側コンピュータ装置として設定されたコンピュータ装置11が稼働側コンピュータ装置として動作し、他のコンピュータ装置11は待機側コンピュータ装置として動作する。
制御権管理部12Aは、コンピュータ装置11Aが稼働側コンピュータ装置として動作すると決定した場合、AP実行部13Aに稼働側として起動するように起動指示を行う。また、制御権管理部12Aは、コンピュータ装置11Aが待機側コンピュータ装置として動作すると決定した場合、AP実行部13Aに待機側として起動するように起動指示を行う。コンピュータ装置11Aが待機側コンピュータ装置として動作する場合、制御権管理部12Aは、稼働側コンピュータ装置として動作するコンピュータ装置11に制御権を渡す。
AP実行部13Aは、稼働側として起動するように制御権管理部12Aから起動指示が行われた場合、クライアント2に所定のサービスを提供するためのアプリケーションなどの実行環境を起動する。AP実行部13Aは、待機側として起動するように制御権管理部12Aから起動指示が行われた場合、稼働側コンピュータ装置として動作する他のコンピュータ装置11の故障が検知され、制御権がコンピュータ装置11Aに移るまで、アプリケーションの実行を待機する。
ライセンスチェック部14Aは、入力されたライセンスファイルに基づき、コンピュータ装置11Aおよびコンピュータ装置11Aと連携動作を行う他のコンピュータ装置11(図1では、コンピュータ装置11B)に対するライセンスの正当性をチェックする。
等値化部15Aは、コンピュータ装置11Aの内部状態と、コンピュータ装置11Aと連携動作を行う他のコンピュータ装置11(図1では、コンピュータ装置11B)の内部状態とを等値化する等値化処理を行う。
制御権管理部12A、AP実行部13A、ライセンスチェック部14Aおよび等値化部15Aの各機能は、例えば、コンピュータ装置11Aに搭載された二重化制御ソフトウェア16Aをプロセッサなどで実行することで実現可能である。
図4は、コンピュータ装置11のハードウェア構成の一例を示す図である。
図4に示すように、コンピュータ装置11は、通信部17と、記憶部18と、制御部19とを備える。
通信部17は、ネットワーク1に接続する通信モジュールを含む。また、通信部17は、他のコンピュータ装置11とネットワーク1を介さずに通信を行うための通信モジュールを含む。
記憶部18は、1つ以上のメモリを含む。本実施形態において、「メモリ」は、例えば、半導体メモリ、磁気メモリまたは光メモリなどであるが、これらに限られない。記憶部18に含まれる各メモリは、例えば、主記憶装置、補助記憶装置またはキャッシュメモリとして機能してもよい。記憶部18は、例えば、コンピュータ装置11の動作に用いられる任意のソフトウェア(例えば、図2を参照して説明した種々のソフトウェア)を記憶する。
制御部19は、1つ以上のプロセッサを備える。本実施形態において、「プロセッサ」は、汎用のプロセッサ、特定の処理に特化したプロセッサなどであるが、これらに限られない。制御部19は、記憶部18に記憶されたソフトウェアを実行し、コンピュータ装置11全体の動作を制御する。
次に、本実施形態に係るコンピュータシステム10の動作について説明する。
本実施形態においては、ライセンスの認証状態として、3つの状態を用意する。
1つ目の状態は、ライセンス有効状態である。ライセンス有効状態とは、稼働側コンピュータ装置のハードウェアIDおよび待機側コンピュータ装置のハードウェアIDの両方が、ライセンスファイルに含まれるハードウェアIDと一致する状態である。この場合、正規にライセンス認証された状態であるため、複数のコンピュータ装置11による連携動作(図1では、コンピュータ装置11A,11Bによる二重化動作)を可能とする。
2つ目の状態は、ライセンス暫定状態である。ライセンス暫定状態とは、稼働側コンピュータ装置のハードウェアIDはライセンスファイルに含まれるハードウェアIDと一致し、待機側コンピュータ装置のハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致しない状態である。この場合、本実施形態においては、可用性を損なわないために、コンピュータ装置11A,11Bによる二重化動作を暫定的に可能とする。
ライセンス暫定状態は、例えば、コンピュータシステム10の1つのコンピュータ装置11が故障し、新たなコンピュータ装置11に交換した状態である。この場合、ライセンス暫定状態を設けることで、交換したコンピュータ装置11を待機側コンピュータ装置として二重化動作に復帰させることができる。
比較例1に係るライセンス管理方法では、交換したコンピュータ装置11のライセンスの取得が完了するまでは、故障していない1台のコンピュータ装置だけが動作するシングル運転状態になる。そのため、比較例1に係るライセンス管理方法は、システムの可用性の低下を招いていた。
一方、本実施形態においては、待機側コンピュータ装置のハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致しない場合でも二重化動作を可能とすることで、交換したコンピュータ装置11のライセンスの取得が完了するまでの間も、二重化動作が可能となる。そのため、システムの高可用性を確保することができる。
ただし、不正利用を防止するため、ライセンス暫定状態は、稼働側コンピュータ装置のハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致し、待機側コンピュータ装置のハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致しないことを条件とする。したがって、稼働側コンピュータ装置のハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致せず、待機側コンピュータ装置のハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致する状態では、二重化動作を許可しない。つまり、ライセンス暫定状態において稼働側コンピュータ装置が動作しなくなった場合、二重化動作は許可されず、待機側コンピュータ装置によるシングル運転状態となる。この場合、ライセンスファイルが更新されない限り、コンピュータ装置11A,11Bは二重化動作に復帰することができない。
3つ目の状態は、ライセンス無効状態である。ライセンス無効状態とは、稼働側コンピュータ装置のハードウェアIDおよび待機側コンピュータ装置のハードウェアIDの両方が、ライセンスファイルに含まれるハードウェアIDと一致しない状態である。この場合、不正利用の防止のため、シングル運転のみ可能とし、二重化動作を許容しない。
稼働側コンピュータ装置および待機側コンピュータ装置のハードウェアIDとライセンスファイルに含まれるハードウェアIDとの一致/不一致と、上述した3つの認証状態との関係を図5に示す。また、ライセンス有効状態、ライセンス暫定状態およびライセンス無効状態の遷移を図6に示す。
以下では、本実施形態に係るコンピュータシステム10におけるライセンスの認証状態の遷移について、図1,6を参照して説明する。
コンピュータシステム10が停止した初期状態から、コンピュータ装置11AのハードウェアIDおよびコンピュータ装置11BのハードウェアIDが、ライセンスファイルに含まれるハードウェアIDと一致した状態でシステムを起動すると、図6に示すように、ライセンスの認証状態は、初期状態からライセンス有効状態に遷移する(ステップS11)。
より具体的には、稼働側コンピュータ装置として予め設定されたコンピュータ装置11Aに、ライセンスファイルがダウンロードされる。
コンピュータ装置11Aおよびコンピュータ装置11Bが起動すると、制御権管理部12Aと制御権管理部12Bとは、情報のやり取りを行い、コンピュータ装置11Aが稼働側コンピュータ装置として動作し、コンピュータ装置11Bが待機側コンピュータ装置として動作すると決定する。
制御権管理部12Aは、コンピュータ装置11Aが稼働側コンピュータ装置として動作すると決定すると、AP実行部13Aに稼働側として起動するように起動指示を行う。AP実行部13Aは、稼働側として起動するように起動指示が行われると、クライアント2にサービスを提供するためのアプリケーションなどの実行環境を稼働側として起動する。
ライセンスチェック部14Aは、ライセンスファイルを参照し、ライセンスのチェックを行う。具体的には、ライセンスチェック部14Aは、コンピュータ装置11AのハードウェアID「AAAA」がライセンスファイルに含まれるハードウェアIDと一致するか否かを判定する。ライセンスチェック部14Aは、コンピュータ装置11AのハードウェアID「AAAA」がライセンスファイルに含まれるハードウェアIDと一致する場合、コンピュータ装置11Aに対するライセンスが正当であると判定する。
制御権管理部12Bは、コンピュータ装置11Bが待機側コンピュータ装置として動作すると決定すると、AP実行部13Bに待機側として起動するように起動指示を行う。また、制御権管理部12Bは、等値化部15Bにコンピュータ装置11Aとの等値化処理を行うように等値化指示を行う。
等値化部15Bは、制御権管理部12Bから等値化指示が行われると、コンピュータ装置11Bの内部状態をコンピュータ装置11Aの内部状態と一致させるため、等値化処理の開始を要求する等値化開始要求を、コンピュータ装置11Aの等値化部15Aに送信する。等値化部15Bは、コンピュータ装置11BのハードウェアID「BBBB」を等値化開始要求に含める。
等値化部15Aは、等値化部15Bから等値化開始要求を受信すると、等値化開始要求に含まれるコンピュータ装置11BのハードウェアIDをライセンスチェック部14Aに出力する。ライセンスチェック部14Aは、等値化部15Aから出力されたコンピュータ装置11BのハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致するか否かを判定する。
ライセンスチェック部14Aは、コンピュータ装置11BのハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致する場合、コンピュータ装置11Bに対するライセンスが正当であると判定する。等値化部15Aは、ライセンスチェック部14Aにより、コンピュータ装置11Bに対するライセンスが正当であると判定されると、等値化処理の開始を許可する等値化応答を等値化部15Bに送信する。ここで、等値化部15Aは、ライセンスファイルを等値化応答に含めて送信する。等値化部15Bは、等値化応答を受信すると、その等値化応答に含まれるライセンスファイルを記憶部18に記憶するとともに、等値化処理を行う。コンピュータ装置11Aおよびコンピュータ装置11BのハードウェアIDがライセンスファイルに含まれる場合、ライセンスの認証状態は、ライセンス有効状態に遷移する。したがって、コンピュータ装置11Aとコンピュータ装置11Bとが二重化動作を行うことができる。
ライセンス有効状態において、例えば、コンピュータ装置11Aに故障が発生して動作を停止した場合、一時的に、待機側コンピュータ装置であるコンピュータ装置11Bが稼働側コンピュータ装置として動作する(FailOver発生)。ここで、コンピュータ装置11Aの故障が一過性の故障であり、ハードウェアの交換などを行うことなくコンピュータ装置11Aが正常動作に戻ることができた場合、コンピュータ装置11AのハードウェアIDも変化しないので、上述した手順により、ライセンスの認証状態は、ライセンス有効状態に復帰することができる(ステップS12)。
ライセンス有効状態において、コンピュータ装置11Aおよびコンピュータ装置11Bのいずれかに永続的な故障が発生して動作を停止し、ハードウェアの交換が必要になったとする。ここで、稼働側コンピュータ装置であるコンピュータ装置11Aの動作が停止した場合には、FailOverが発生し、待機側コンピュータ装置であるコンピュータ装置11Bが動作する。また、待機側コンピュータ装置であるコンピュータ装置11Bが動作を停止した場合には、稼働側コンピュータ装置であるコンピュータ装置11Aは、コンピュータ装置1Bを切り離し、シングル動作を行う。
ここで、待機側コンピュータ装置であるコンピュータ装置11Bが故障した場合を例として説明する。コンピュータ装置11Bの故障したハードウェアの交換後、コンピュータ装置11Bが起動されると、上述した手順により、等値化部15Bは、等値化開始要求を等値化部15Aに送信する。ここで、コンピュータ装置11Bのハードウェアが交換され、ハードウェアIDも変わっているため、コンピュータ装置11BのハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致しない。この場合、ライセンスの認証状態は、ライセンス有効状態からライセンス暫定状態に遷移する(ステップS13)。ライセンス暫定状態では、等値化部15Aは、コンピュータ装置11BのハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致していなくても、等値化処理の開始を許可する等値化応答を等値化部15Bに送信する。
このように、本実施形態においては、等値化部15Aは、ライセンスチェック部14Aによりライセンスファイルに自装置(コンピュータ装置11A)の識別子(ハードウェアID)が含まれていると判定された場合、連携動作を行う他のコンピュータ装置(コンピュータ装置11B)の識別子がライセンスファイルに含まれていなくても、二重化制御ソフトウェアを用いたコンピュータ装置11Bによる連携動作を許可する。すなわち、連携動作を行う複数のコンピュータ装置11の内のいずれかであるコンピュータ装置11A(第1のコンピュータ装置)は、連携動作を行うためのソフトウェアのライセンスが付与される複数のコンピュータ装置11の識別子を含むライセンスファイルに、コンピュータ装置11Aの識別子が含まれている場合、連携動作を行う複数のコンピュータ装置の内、コンピュータ装置11A以外のコンピュータ装置11B(第2のコンピュータ装置)の識別子がライセンスファイルに含まれていなくても、二重化制御ソフトウェアを用いたコンピュータ装置11Bによる連携動作を許可する。
ハードウェアを交換したコンピュータ装置11Bのライセンスを新たに取得する場合、通常、ライセンスの発行には時間がかかる。そのため、ライセンスの取得が完了するまでの間、コンピュータシステム10は、コンピュータ装置11Aによるシングル運転動作を行う必要があり、可用性が低下する。なお、稼働側コンピュータ装置であるコンピュータ装置11Aが故障した場合は、稼働側コンピュータ装置がコンピュータ装置11Bに切り替わった後、上述したように、コンピュータ装置11Bと、コンピュータ装置11Aの代替品である新たなコンピュータ装置11との間で、その新たなコンピュータ装置11の識別子がライセンスファイルに含まれていなくても、二重化制御ソフトウェアを用いたコンピュータ装置11Bによる連携動作を暫定的に許可する。
本実施形態においては、稼働側コンピュータ装置のハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致していれば、待機側コンピュータ装置のハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致していなくても、暫定的に二重化動作を許可する。そのため、待機側コンピュータ装置のライセンスの取得などを待たずに二重化動作を行うことができるので、コンピュータシステム10の高可用性を確保することができる。また、ライセンスの正当性は、コンピュータ装置11のハードウェアIDに基づいて判定されるので、不正利用を防止することもできる。
ライセンス暫定状態において、ライセンスファイルの更新により、コンピュータ装置11AのハードウェアIDおよびコンピュータ装置11BのハードウェアIDが、更新後のライセンスファイルに含まれるようにした場合、ライセンスの認証状態は、ライセンス暫定状態からライセンス有効状態に遷移する(ステップS14)。
ライセンス暫定状態において、稼働側コンピュータ装置であるコンピュータ装置11Aに故障が発生して停止した場合、FailOverが発生し、待機側コンピュータ装置であるコンピュータ装置11Bが稼働する。この場合、ライセンスの認証状態は、ライセンス暫定状態からライセンス無効状態に遷移し(ステップS15)、待機側コンピュータ装置によるシングル動作が行われる。ライセンス暫定状態において稼働側コンピュータ装置が停止した場合に二重化動作を許容すると、同じライセンスファイルを使用して、2つの二重化システムを動作させるという不正利用が可能となる。このような不正利用を防ぐために、ライセンス暫定状態において、稼働側コンピュータ装置が停止した場合、ハードウェアIDがライセンスファイルに含まれず、新たに稼働側コンピュータ装置として動作するコンピュータ装置11は、二重化動作(連携動作)を停止する。
初期状態から、コンピュータ装置11AのハードウェアIDおよびコンピュータ装置11BのハードウェアIDが、ライセンスファイルに含まれるハードウェアIDと一致しない状態でシステムを起動すると、ライセンスの認証状態は、初期状態からライセンス無効状態に遷移する(ステップS16)。この場合、1台のコンピュータ装置11(例えば、コンピュータ装置11A)によるシングル動作が行われる。
ライセンス無効状態において、動作中の1台のコンピュータ装置11が故障により動作を停止すると、コンピュータシステム10は、初期状態に戻る(ステップS17)。
ライセンス無効状態において、ライセンスファイルが更新され、コンピュータ装置11AのハードウェアIDおよびコンピュータ装置11BのハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致するようになると、ライセンスの認証状態は、ライセンス有効状態に遷移する(ステップS18)。
図7は、本実施形態に係るコンピュータシステム10において実行されるライセンス管理方法について説明するためのフローチャートである。
稼働側コンピュータ装置であるコンピュータ装置11Aのライセンスチェック部14Aは、コンピュータ装置11AのハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致するか否かを判定する(ステップS21)。すなわち、本実施形態に係るライセンス管理方法は、連携動作を行う複数のコンピュータ装置11の内のいずれかであるコンピュータ装置11A(第1のコンピュータ装置)の識別子がライセンスファイルに含まれるか否かを判定するステップを含む。
コンピュータ装置11AのハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致しないと判定された場合(ステップS21:No)、ライセンスの認証状態は、ライセンス無効状態に遷移する(ステップS22)。ライセンス無効状態では、コンピュータ装置11Aとコンピュータ装置11Bとの連携動作は行われず、稼働側コンピュータ装置であるコンピュータ装置11Aによるシングル動作が行われる。
稼働側コンピュータ装置であるコンピュータ装置11AのハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致すると判定した場合(ステップS21:Yes)、ライセンスチェック部14Aは、待機側コンピュータ装置であるコンピュータ装置11BのハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致するか否かを判定する(ステップS23)。
コンピュータ装置11BのハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致しないと判定された場合(ステップS23:No)、ライセンスの認証状態は、ライセンス暫定状態に遷移する(ステップS24)。ライセンス暫定状態では、コンピュータ装置11Aとコンピュータ装置11Bとによる二重化動作が行われる。すなわち、本実施形態に係るライセンス管理方法は、コンピュータ装置11Aの識別子がライセンスファイルに含まれている場合、連携動作を行う複数のコンピュータ装置の内、コンピュータ装置11A以外のコンピュータ装置11B(第2のコンピュータ装置)の識別子がライセンスファイルに含まれていなくても、二重化制御ソフトウェアを用いたコンピュータ装置11Bによる連携動作を許可するステップを含む。
ライセンス暫定状態では、上述したように、稼働側コンピュータ装置であるコンピュータ装置11Aが故障により動作を停止した場合、故障したコンピュータ装置11Aのハードウェアを交換するなどしてコンピュータ装置11Aを起動させても二重化動作に復帰することはできない。二重化動作に復帰するためには、ライセンスファイルの更新が必要になる。
コンピュータ装置11BのハードウェアIDがライセンスファイルに含まれるハードウェアIDと一致すると判定された場合(ステップS23:Yes)、ライセンスの認証状態は、ライセンス有効状態に遷移する(ステップS25)。ライセンス有効状態では、コンピュータ装置11Aとコンピュータ装置11Bとによる二重化動作が行われる。ライセンス有効状態では、上述したように、コンピュータ装置11A,11Bのいずれかが故障した場合、故障したコンピュータ装置11のハードウェアを交換するなどして起動させると、ライセンスの認証状態はライセンス暫定状態に遷移し、コンピュータ装置11Aおよびコンピュータ装置11Bは二重化動作を行うことができる。
なお、ライセンス暫定状態に有効期限を設け、有効期限内にライセンス有効状態に遷移しない場合、連携動作を停止してもよい。すなわち、稼働側コンピュータ装置であるコンピュータ装置11(第1のコンピュータ装置)は、連携動作を行う他のコンピュータ装置11(第2のコンピュータ装置)の識別子がライセンスファイルに含まれていなくても、他のコンピュータ装置11による連携動作を許可した状態(ライセンス暫定状態)が所定時間以上続いた場合、他のコンピュータ装置11による連携動作を停止させてもよい。こうすることで、正当なライセンスを受けずに、二重化制御ソフトウェアを利用して二重化動作を継続させることができなくなる。
また、ライセンス暫定状態への遷移に制限回数を設け、制限回数を超えた場合、連携動作を許可しないようにしてもよい。すなわち、稼働側コンピュータ装置であるコンピュータ装置11(第1のコンピュータ装置)は、連携動作を行う他のコンピュータ装置11(第2のコンピュータ装置)の識別子がライセンスファイルに含まれていなくても、他のコンピュータ装置11による連携動作を許可した回数が所定回数を超えた場合、他のコンピュータ装置11による連携動作を許可しないようにしてもよい。こうすることで、正当なライセンスを受けずに、二重化制御ソフトウェアを利用して二重化動作を繰り返し継続させることができなくなる。
また、本実施形態においては、コンピュータシステム10は、2台のコンピュータ装置11(コンピュータ装置11A,11B)が二重化動作を行うシステム(二重化システム)である例を用いて説明したが、本開示はこれに限られるものではない。本開示は、複数のコンピュータ装置11が連携動作を行う冗長化構成(例えば、クラスタサーバ、HA(High Availability)クラスタ、FT(Fault Tolerant)サーバ、マルチサーバなど)の種々のシステムに適用可能である。
本開示は、例えば、プラントにおけるプロセス制御を行うプロセス制御システム、例えば、SCADA(Supervisory Control And Data Acquisition)システム、プラント情報管理システム、通信ゲートウェイシステムあるいは運転効率向上支援システムなどに適用可能であるが、これに限られるものではない。本開示は、ITシステムおよび医療システムなど、高信頼性・高可用性が求められる種々のシステムに適用可能である。
このように本実施形態においては、連携動作を行う複数のコンピュータ装置11の内のいずれかである第1のコンピュータ装置のハードウェアIDがライセンスファイルに含まれていれば、複数のコンピュータ装置11の内、第1のコンピュータ装置以外の第2のコンピュータ装置のハードウェアIDがライセンスファイルに含まれていなくても、ソフトウェアを用いた第2のコンピュータ装置による連携動作を許可する。
そのため、第2のコンピュータ装置が故障などした場合に、第2のコンピュータ装置のライセンスの取得などを待たずに、連携動作を行うことができるので、コンピュータシステム10の高可用性を確保することができる。また、ライセンスの正当性は、コンピュータ装置11の識別子に基づいて判定されるので、不正利用を防止することができる。したがって、本開示によれば、ソフトウェアの不正利用の防止とシステムの高可用性の確保との両立を図ることができる。
上述の実施形態は代表的な例として説明したが、本開示の趣旨および範囲内で、多くの変更および置換が可能であることは当業者に明らかである。したがって、本開示は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形および変更が可能である。例えば、実施形態の構成図に記載の複数の構成ブロックを1つに組み合わせたり、あるいは1つの構成ブロックを分割したりすることが可能である。
1 ネットワーク
2 クライアント
3 ライセンス管理装置
10,100A,100B コンピュータシステム
11A,11B,110A,110B コンピュータ装置
12A,12B 制御権管理部
13A,13B AP実行部
14A,14B,111A,111B ライセンスチェック部
15A,15B 等値化部
16A,16B,112A,112B 二重化制御ソフトウェア
17 通信部
18 記憶部
19 制御部

Claims (6)

  1. 複数のコンピュータ装置が連携動作を行うコンピュータシステムであって、
    前記複数のコンピュータ装置の内のいずれかである、稼働側コンピュータ装置として動作する第1のコンピュータ装置は、
    前記連携動作を行うためのソフトウェアのライセンスが付与される複数のコンピュータ装置の識別子を含むライセンスファイルに、前記第1のコンピュータ装置の識別子が含まれている場合、前記連携動作を行う複数のコンピュータ装置の内、前記第1のコンピュータ装置以外の第2のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記ソフトウェアを用いた前記第2のコンピュータ装置による、前記稼働側コンピュータ装置が故障した場合に稼働する待機側コンピュータ装置としての連携動作を許可する、コンピュータシステム。
  2. 請求項1に記載のコンピュータシステムにおいて、
    前記第2のコンピュータ装置は、前記第2のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記第2のコンピュータ装置による連携動作を許可された状態において、前記第1のコンピュータ装置が停止した場合、連携動作を停止し、前記第2のコンピュータ装置だけが稼働するシングル動作を行う、コンピュータシステム。
  3. 請求項1または2に記載のコンピュータシステムにおいて、
    前記第1のコンピュータ装置は、前記第2のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記第2のコンピュータ装置による連携動作を許可した状態が所定時間以上続いた場合、前記第2のコンピュータ装置による連携動作を停止させる、コンピュータシステム。
  4. 請求項1から3のいずれか一項に記載のコンピュータシステムにおいて、
    前記第1のコンピュータ装置は、前記第2のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記第2のコンピュータ装置による連携動作を許可した回数が所定回数を超えた場合、前記第2のコンピュータ装置による連携動作を許可しない、コンピュータシステム。
  5. 複数のコンピュータ装置が連携動作を行うコンピュータシステムに含まれる、稼働側コンピュータ装置として動作するコンピュータ装置であって、
    前記連携動作を行うためのソフトウェアのライセンスが付与される複数のコンピュータ装置の識別子を含むライセンスファイルに、自装置の識別子が含まれるか否かを判定するライセンスチェック部と、
    前記ライセンスチェック部により前記ライセンスファイルに自装置の識別子が含まれていると判定された場合、前記連携動作を行う他のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記ソフトウェアを用いた前記他のコンピュータ装置による、前記稼働側コンピュータ装置が故障した場合に稼働する待機側コンピュータ装置としての連携動作を許可する等値化部と、を備えるコンピュータ装置。
  6. 複数のコンピュータ装置が連携動作を行うコンピュータシステムにおける、前記連携動作を行うためのソフトウェアのライセンスを管理するライセンス管理方法であって、
    前記複数のコンピュータ装置の内のいずれかである、稼働側コンピュータ装置として動作する第1のコンピュータ装置が、前記ソフトウェアのライセンスが付与される複数のコンピュータ装置の識別子を含むライセンスファイルに、前記第1のコンピュータ装置の識別子が含まれるか否かを判定するステップと、
    前記第1のコンピュータ装置が、前記第1のコンピュータ装置の識別子が前記ライセンスファイルに含まれている場合、前記連携動作を行う複数のコンピュータ装置の内、前記第1のコンピュータ装置以外の第2のコンピュータ装置の識別子が前記ライセンスファイルに含まれていなくても、前記ソフトウェアを用いた前記第2のコンピュータ装置による、前記稼働側コンピュータ装置が故障した場合に稼働する待機側コンピュータ装置としての連携動作を許可するステップと、を含むライセンス管理方法。
JP2019029946A 2019-02-22 2019-02-22 コンピュータシステム、コンピュータ装置およびライセンス管理方法 Active JP6977740B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019029946A JP6977740B2 (ja) 2019-02-22 2019-02-22 コンピュータシステム、コンピュータ装置およびライセンス管理方法
CN202010098669.4A CN111611550B (zh) 2019-02-22 2020-02-18 计算机系统、计算机装置以及授权管理方法
US16/794,764 US20200272708A1 (en) 2019-02-22 2020-02-19 Computer system, computer apparatus, and license management method
EP20158459.6A EP3699788A1 (en) 2019-02-22 2020-02-20 Computer system, computer apparatus, and license management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019029946A JP6977740B2 (ja) 2019-02-22 2019-02-22 コンピュータシステム、コンピュータ装置およびライセンス管理方法

Publications (2)

Publication Number Publication Date
JP2020135571A JP2020135571A (ja) 2020-08-31
JP6977740B2 true JP6977740B2 (ja) 2021-12-08

Family

ID=69784052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019029946A Active JP6977740B2 (ja) 2019-02-22 2019-02-22 コンピュータシステム、コンピュータ装置およびライセンス管理方法

Country Status (4)

Country Link
US (1) US20200272708A1 (ja)
EP (1) EP3699788A1 (ja)
JP (1) JP6977740B2 (ja)
CN (1) CN111611550B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6792959B2 (ja) * 2016-05-16 2020-12-02 クラリオン株式会社 情報端末、通信端末、ライセンス移行システム、ライセンス移行方法
US11157624B2 (en) * 2019-08-14 2021-10-26 Silicon Motion, Inc. Scheme of using electronic device to activate mass production software tool to initialize memory device including flash memory controller and flash memory

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5005122A (en) * 1987-09-08 1991-04-02 Digital Equipment Corporation Arrangement with cooperating management server node and network service node
FR2667173B1 (fr) * 1990-09-21 1993-07-16 Telemecanique Procede de protection des droits d'utilisation de plusieurs logiciels sur un poste de travail informatique ou d'automatisme industriel et systeme pour sa mise en óoeuvre.
US5343526A (en) * 1992-10-30 1994-08-30 At&T Bell Laboratories Method for establishing licensor changeable limits on software usage
JP2001195293A (ja) * 2000-01-06 2001-07-19 Fujitsu Ltd アクセス制限装置及び方法並びに当該装置を実現するためにコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US6948168B1 (en) * 2000-03-30 2005-09-20 International Business Machines Corporation Licensed application installer
US7010808B1 (en) * 2000-08-25 2006-03-07 Microsoft Corporation Binding digital content to a portable storage device or the like in a digital rights management (DRM) system
AU2002240166A1 (en) * 2001-02-01 2002-08-12 Abn Amro Services Company, Inc. A system and method for an automatic license facility
US7203966B2 (en) * 2001-06-27 2007-04-10 Microsoft Corporation Enforcement architecture and method for digital rights management system for roaming a license to a plurality of user devices
JP2004171107A (ja) * 2002-11-18 2004-06-17 Sony Corp ソフトウエア提供システム、ソフトウエア提供装置および方法、記録媒体、並びにプログラム
US20040193919A1 (en) * 2003-03-31 2004-09-30 Dabbish Ezzat A. Method and apparatus for identifying trusted devices
US20050027657A1 (en) * 2003-08-01 2005-02-03 Yuri Leontiev Distinguishing legitimate hardware upgrades from unauthorized installations of software on additional computers
US20050038751A1 (en) * 2003-08-15 2005-02-17 Gaetano Arthur Louis System and method for software site licensing
KR100493904B1 (ko) * 2003-09-18 2005-06-10 삼성전자주식회사 다수의 기기를 지원하는 drm 라이센스 방법
US20050182763A1 (en) * 2004-02-05 2005-08-18 Samsung Electronics Co., Ltd. Apparatus and method for on-line upgrade using proxy objects in server nodes
JP2006059163A (ja) 2004-08-20 2006-03-02 Fujitsu Support & Service Kk ライセンス管理システム、ライセンス管理プログラム、およびライセンス管理方法
US7389314B2 (en) * 2004-08-30 2008-06-17 Corio, Inc. Database backup, refresh and cloning system and method
JP4462024B2 (ja) * 2004-12-09 2010-05-12 株式会社日立製作所 ディスク引き継ぎによるフェイルオーバ方法
US20060287959A1 (en) * 2005-06-17 2006-12-21 Macrovision Corporation Software license manager employing license proofs for remote execution of software functions
US8881304B2 (en) * 2005-07-25 2014-11-04 Koninklijke Philips N.V. Method of controlled access to content
JP4801090B2 (ja) * 2005-11-18 2011-10-26 パナソニック株式会社 記録再生装置、通信装置、プログラム、システムlsi
US7752139B2 (en) * 2005-12-27 2010-07-06 Michael Noel Hu Method and system for managing software licenses and reducing unauthorized use of software
US8417641B1 (en) * 2006-01-31 2013-04-09 Kyocera Corporation System for licensing mobile applications, features, and devices
JP4894431B2 (ja) * 2006-09-20 2012-03-14 パナソニック電工株式会社 連携制御装置
JP5068056B2 (ja) * 2006-10-11 2012-11-07 株式会社日立製作所 障害回復方法、計算機システム及び管理サーバ
JP2010009522A (ja) * 2008-06-30 2010-01-14 Canon Inc ソフトウエアのライセンス契約管理方法およびそのシステムと情報処理装置、ライセンス契約対象ソフトウエア
US20100057703A1 (en) * 2008-08-29 2010-03-04 Brandt Matthew K Systems and Methods for Automating Software Updates/Maintenance
JP4648447B2 (ja) * 2008-11-26 2011-03-09 株式会社日立製作所 障害復旧方法、プログラムおよび管理サーバ
US8296599B1 (en) * 2009-06-30 2012-10-23 Symantec Corporation System and method for implementing clustered network file system lock management
US9015818B2 (en) * 2009-07-31 2015-04-21 Adobe Systems Incorporated Software application operational transfer
US9065825B2 (en) * 2010-02-05 2015-06-23 International Business Machines Corporation Method and system for license management
JP2012212211A (ja) * 2011-03-30 2012-11-01 Hitachi Ltd 認証連携システム、および、認証連携方法
JP5911222B2 (ja) * 2011-07-04 2016-04-27 キヤノン株式会社 情報処理システム、画像形成装置、管理装置、情報処理方法およびコンピュータプログラム
US8639561B2 (en) * 2011-08-31 2014-01-28 International Business Machines Corporation Determining an option for decommissioning or consolidating software
JP5719799B2 (ja) * 2012-05-08 2015-05-20 株式会社日立製作所 ソフトウェアライセンスの認証を行う情報処理装置および通信システム、ソフトウェアライセンス認証方法
EP3093766A4 (en) * 2014-01-10 2017-09-06 Hitachi, Ltd. Redundant system and method for managing redundant system
JP5881770B2 (ja) * 2014-05-14 2016-03-09 株式会社Pfu 情報処理装置、ライセンス割り当て方法及び制御プログラム
JP2016009299A (ja) * 2014-06-24 2016-01-18 キヤノン株式会社 シングルサインオンシステム、端末装置、制御方法およびコンピュータプログラム
JP6417759B2 (ja) * 2014-07-10 2018-11-07 富士通株式会社 情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム
US20160224989A1 (en) * 2015-01-30 2016-08-04 Bittorrent, Inc. Distributed license authentication and management
US9881142B2 (en) * 2015-09-11 2018-01-30 Patrick Robert Koren Method and apparatus for preventing and investigating software piracy
US20180260539A1 (en) * 2017-03-08 2018-09-13 Microsoft Technology Licensing, Llc Device specific identity linked to user account
US11244031B2 (en) * 2017-03-09 2022-02-08 Microsoft Technology Licensing, Llc License data structure including license aggregation
JP6469281B2 (ja) * 2017-07-20 2019-02-13 ネクスト・イット株式会社 電子割符ソフトウエアを提供する電子割符ソフトウエア提供会社の端末、当該端末による電子割符ソフトウエア提供方法、電子割符ソフトウエア提供・利用システム及び電子割符ソフトウエア提供・利用システムによる電子割符ソフトウエア提供・利用方法
JP6922602B2 (ja) * 2017-09-25 2021-08-18 株式会社リコー 情報処理システム、情報処理装置及び情報処理方法
JP7146422B2 (ja) * 2018-03-15 2022-10-04 キヤノン株式会社 情報処理装置及びクッキー情報管理方法

Also Published As

Publication number Publication date
EP3699788A1 (en) 2020-08-26
US20200272708A1 (en) 2020-08-27
CN111611550B (zh) 2024-03-22
JP2020135571A (ja) 2020-08-31
CN111611550A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
US11675670B2 (en) Automated disaster recovery system and method
EP2102781B1 (en) Highly available cryptographic key storage (hacks)
US9021264B2 (en) Method and system for cloud based storage
AU2006297144B2 (en) Application of virtual servers to high availability and disaster recovery solutions
US7191357B2 (en) Hybrid quorum/primary-backup fault-tolerance model
US10819701B2 (en) Autonomous secrets management for a managed service identity
CN111406260B (zh) 具有安全对象复制的对象存储系统
US20120233455A1 (en) Redundant key server encryption envionment
CN102105867A (zh) 维护跨数据中心的数据服务器中的数据完整性
JP2008537203A (ja) 障害復旧フレームワーク
US20190286813A1 (en) Autonomous secrets management for a temporary shared access signature service
EP3765982A1 (en) Autonomous cross-scope secrets management
JP6977740B2 (ja) コンピュータシステム、コンピュータ装置およびライセンス管理方法
CN108023939A (zh) 分布式系统中锁服务器故障的处理方法及其系统
JP2006338229A (ja) Smpライセンス情報を有する情報処理装置
JP5703902B2 (ja) ファイルシステム、ファイルシステムの管理方法、ファイル排他制御装置
US20130031323A1 (en) Memory device sharing system, managing apparatus access control apparatus, methods therefor, and recording medium
EP3719599B1 (en) Network-distributed process control system and method for managing redundancy thereof
JP2014134925A (ja) 情報処理システム、制御方法および制御プログラム
US11010068B2 (en) GPT-based multi-location data security system
JP7346313B2 (ja) データベース管理システム、クラウド提供システム、データ複製システム、およびプログラム
JP2008225530A (ja) ストレージシステム及び管理計算機と記憶装置並びに記憶領域管理方法
JP2021196987A (ja) 情報処理システム及び情報処理方法
CN104573498A (zh) 一种可防止操作系统被木马及病毒攻击的方法及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210928

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: 20211012

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211025

R150 Certificate of patent or registration of utility model

Ref document number: 6977740

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150