(57)【要約】【課題】コピー元とコピー先とのＯＳの個体識別を可能とする。【解決手段】情報処理装置１０は、第１識別子および第１管理キーを、第１オペレーティングシステム３の第１格納領域に書き込み、第１識別子と第１管理キーとの組を含む第１レコードを、記憶部１１に格納する。次に情報処理装置１０は、第１管理キーを第２管理キーに変更する。さらに情報処理装置１０は、第２オペレーティングシステム４の第２格納領域から、識別子と管理キーを取得する。取得した識別子の値が第１識別子と一致し、かつ取得した管理キーの値が第２管理キーと一致しない場合、情報処理装置１０は、第２格納領域内の識別子を第２識別子に書き換え、第２格納領域内の管理キーを第３管理キーに書き換える。そして情報処理装置１０は、第２識別子と第３管理キーとの組を含む第２レコードを、記憶部１１に格納する。【選択図】図１
2018205817.tif 000002
【特許請求の範囲】
【請求項１】
管理対象コンピュータ上で実行されているものと認識しているオペレーティングシステムに対応するレコードを記憶する記憶部と、
前記管理対象コンピュータ上で実行されている第１オペレーティングシステムの存在を認識すると、前記第１オペレーティングシステムに対応する第１識別子および第１管理キーを、前記第１オペレーティングシステムの設定情報を格納する第１格納領域に書き込み、前記第１識別子と前記第１管理キーとの組を含む第１レコードを、前記記憶部に格納し、所定のタイミングで、前記第１格納領域と前記第１レコードそれぞれに含まれる前記第１管理キーを、前記第１管理キーとは異なる値の第２管理キーに書き換え、前記管理対象コンピュータ上で実行されている第２オペレーティングシステムの存在を認識すると、前記第２オペレーティングシステムの設定情報を格納する第２格納領域から識別子と管理キーとを取得し、取得した前記識別子の値が前記第１識別子の値と一致し、かつ取得した前記管理キーの値が前記第２管理キーの値と一致しない場合、前記第２格納領域内の前記識別子を、前記第１識別子とは異なる値の第２識別子に書き換えると共に、前記第２格納領域内の前記管理キーを、前記第２管理キーとは異なる値の第３管理キーに書き換え、前記第２オペレーティングシステムに対応する前記第２識別子と前記第３管理キーとの組を含む第２レコードを、前記記憶部に格納する処理部と、
を有する情報処理装置。
【請求項２】
前記処理部は、前記第１管理キーの前記第２管理キーへの変更を、所定の時間間隔で定期的に実行する、
請求項１記載の情報処理装置。
【請求項３】
前記処理部は、前記第１管理キーの前記第２管理キーへの変更を、前記第２オペレーティングシステムの存在の認識後、前記第２格納領域内の前記識別子の前記第２識別子への書き換え前に実行する、
請求項１または２記載の情報処理装置。
【請求項４】
前記処理部は、取得した前記識別子の値が前記第１識別子の値と一致し、かつ取得した前記管理キーの値が前記第１管理キーの値と一致する場合、前記第２格納領域内の前記管理キーと、前記第１レコード内の前記第１管理キーとを、前記第１管理キーとは異なる値の第４管理キーに書き換える、
請求項１ないし３のいずれかに記載の情報処理装置。
【請求項５】
コンピュータに、
管理対象コンピュータ上で実行されている第１オペレーティングシステムの存在を認識すると、前記第１オペレーティングシステムに対応する第１識別子および第１管理キーを、前記第１オペレーティングシステムの設定情報を格納する第１格納領域に書き込み、
前記第１識別子と前記第１管理キーとの組を含む第１レコードを、記憶部に格納し、
所定のタイミングで、前記第１格納領域と前記第１レコードそれぞれに含まれる前記第１管理キーを、前記第１管理キーとは異なる値の第２管理キーに書き換え、
前記管理対象コンピュータ上で実行されている第２オペレーティングシステムの存在を認識すると、前記第２オペレーティングシステムの設定情報を格納する第２格納領域から識別子と管理キーとを取得し、
取得した前記識別子の値が前記第１識別子の値と一致し、かつ取得した前記管理キーの値が前記第２管理キーの値と一致しない場合、前記第２格納領域内の前記識別子を、前記第１識別子とは異なる値の第２識別子に書き換えると共に、前記第２格納領域内の前記管理キーを、前記第２管理キーとは異なる値の第３管理キーに書き換え、
前記第２オペレーティングシステムに対応する前記第２識別子と前記第３管理キーとの組を含む第２レコードを、前記記憶部に格納する、
処理を実行させる管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、および管理プログラムに関する。
【背景技術】
【０００２】
企業がコンピュータシステムを運用していると、様々な問題が発生する。問題は、機器の設定の間違いが原因だったり、ソフトウェアのバグが原因だったり、様々な原因で発生する。そのため発生したすべての問題に対して、企業が独自に迅速に対応するのは難しい。そこで、コンピュータシステムの運用をサポートするサービスがある。
【０００３】
コンピュータシステムの運用のサポートには、ハードウェアのサポートとソフトウェアのサポートとがある。ソフトウェアに対するサポートは、正規に販売された製品に対してのみ行われる。ソフトウェアは不正コピーが容易であるため、例えばソフトウェアに個体特定のための識別番号が設定される。ソフトウェアに対してサポートをする際には、識別番号に基づいてネットワーク経由で特定のソフトウェアの動作状況を調査し、そのソフトウェアの使用ライセンスの範囲内の使用であることを確認した上で、そのソフトウェアに対するサポートが行われる。
【０００４】
サポート対象のソフトウェアは、仮想マシン上で実行される場合もある。仮想マシンとは、コンピュータ上に擬似的に構築されたコンピュータシステムである。そこでソフトウェアのサポートを支援する技術としては、例えば仮想マシンイメージなどのコピーについてリセラーの立場から追跡して管理する技術がある。また、仮想マシン上で利用されるソフトウェアの不正利用を防止する技術もある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−０５６２９０号公報
【特許文献２】特開２０１３−１３１０１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ソフトウェアの高度なサポートサービスは、サービス契約を締結した顧客に対してのみ提供される。サービス契約は、ソフトウェア１本ずつ個別に行われる。ソフトウェアに個体識別番号があれば、その個体識別番号によって契約したサービスの対象となるソフトウェアを特定できる。
【０００７】
その一方、個体特定のための識別番号が存在しないソフトウェアを対象としたサポートサービスを提供する場合もある。従来は、個体識別番号を有していないソフトウェアが複数ある場合、複数のソフトウェアそれぞれについて、サポート契約が締結されているかどうかを判断することができない。そこで、例えば、ソフトウェアを実行しているＯＳ（Operating System）の識別情報とサポート契約とを１対１で関連付け、サポート契約に関連付けられたＯＳ上で実行されているソフトウェアをサポート契約の適用対象とすることが考えられる。
【０００８】
しかし、ＯＳが仮想マシン上で実行されている場合、そのＯＳを仮想マシンごとコピーすることができる。この場合、ＯＳの個体を特定する情報ごとコピーが行われてしまう。そのため、ＯＳにＯＳの個体を特定するための識別子を割り当てたとしても、仮想マシンのコピーが行われると、外部からは、同じ識別子を持つＯＳが複数認識できるようになってしまう。その結果、ＯＳの識別子とサポート契約が１対１で結びつかなくなってしまう。
【０００９】
そこで、サポート契約の適用対象を確実に特定するためには、仮想マシンごとＯＳがコピーされた場合であっても、コピー元とコピー先との各ＯＳを別のＯＳとして個体識別できることが重要となる。しかしながら、現在、コピーされたＯＳを確実に個体識別する技術がない。そのため、サポート対象のソフトウェアがインストールされたＯＳが、仮想マシンごとコピーされた場合、サポート対象のソフトウェアが複数同時に存在してしまい、それらを区別することが困難となっている。
【００１０】
１つの側面では、本発明は、コピー元とコピー先とのＯＳの個体識別を可能とすることを目的とする。
【課題を解決するための手段】
【００１１】
１つの案では、記憶部と処理部とを有する情報処理装置が提供される。記憶部は、管理対象コンピュータ上で実行されているものと認識しているオペレーティングシステムに対応するレコードを記憶する。処理部は、管理対象コンピュータ上で実行されている第１オペレーティングシステムの存在を認識すると、第１オペレーティングシステムに対応する第１識別子および第１管理キーを、第１オペレーティングシステムの設定情報を格納する第１格納領域に書き込む。次に処理部は、第１識別子と第１管理キーとの組を含む第１レコードを、記憶部に格納する。また処理部は、所定のタイミングで、第１格納領域と第１レコードそれぞれに含まれる第１管理キーを、第１管理キーとは異なる値の第２管理キーに書き換える。さらに処理部は、管理対象コンピュータ上で実行されている第２オペレーティングシステムの存在を認識すると、第２オペレーティングシステムの設定情報を格納する第２格納領域から識別子と管理キーとを取得する。次に処理部は、取得した識別子の値が第１識別子の値と一致し、かつ取得した管理キーの値が第２管理キーの値と一致しない場合、第２格納領域内の識別子を、第１識別子とは異なる値の第２識別子に書き換えると共に、第２格納領域内の管理キーを、第２管理キーとは異なる値の第３管理キーに書き換える。そして処理部は、第２オペレーティングシステムに対応する第２識別子と第３管理キーとの組を含む第２レコードを、記憶部に格納する。
【発明の効果】
【００１２】
１態様によれば、コピー元とコピー先とのＯＳの個体識別が可能となる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態の構成の一例を示す図である。
【図２】第２の実施の形態のシステム構成例を示す図である。
【図３】第２の実施の形態に用いるコンピュータのハードウェアの一例を示す図である。
【図４】第２の実施の形態の各装置の機能の一例を示すブロック図である。
【図５】レジストリの一例を示す図である。
【図６】ＯＳ情報データベースの一例を示す図である。
【図７】サポート契約情報データベースの一例を示す図である。
【図８】ソフトウェアインストール前の状態の一例を示す図である。
【図９】ソフトウェアのインストールおよびサポート契約後の状態の一例を示す図である。
【図１０】管理サーバへのＯＳ情報の登録状況の一例を示す第１の図である。
【図１１】管理サーバへのＯＳ情報の登録状況の一例を示す第２の図である。
【図１２】管理サーバへのＯＳ情報の登録状況の一例を示す第３の図である。
【図１３】管理サーバへの登録後のソフトウェアのインストール状況の一例を示す図である。
【図１４】インストール有無フラグの定期取得の状況の一例を示す図である。
【図１５】ライセンス数分のソフトウェアインストール後の状態の一例を示す図である。
【図１６】ＩＰアドレス変更状況の一例を示す図である。
【図１７】サポート依頼の一例を示す第１の図である。
【図１８】サポート依頼の一例を示す第２の図である。
【図１９】サポート契約対象のソフトウェアで不具合が発生した場合の対処の一例を示す図である。
【図２０】サポート契約対象とは別のソフトウェアで不具合が発生した場合の対処の一例を示す図である。
【図２１】サポート契約の対象の本数以上のソフトウェアで不具合が発生した場合の対処の一例を示す図である。
【図２２】虚偽のＯＳ管理番号を伝えてサポートを受けようとした場合の対処の一例を示す図である。
【図２３】仮想マシンをコピーする前の運用状態の一例を示す図である。
【図２４】仮想マシンのコピーが行われた後の状態の一例を示す図である。
【図２５】ＯＳ管理キーの定期更新状況の一例を示す図である。
【図２６】ＯＳ情報がすでに登録されている場合における他のＯＳ情報の登録状況の一例を示す第１の図である。
【図２７】ＯＳ情報がすでに登録されている場合における他のＯＳ情報の登録状況の一例を示す第２の図である。
【図２８】コピー元のＯＳを有するサーバの電源遮断後のＯＳ管理キーの定期更新状況の一例を示す図である。
【図２９】コピー元のＯＳを有するサーバの電源遮断後におけるＯＳ情報の登録に伴うＯＳ管理キーの更新状況の一例を示す第１の図である。
【図３０】コピー元のＯＳを有するサーバの電源遮断後におけるＯＳ情報の登録に伴うＯＳ管理キーの更新状況の一例を示す第２の図である。
【図３１】登録済みのＯＳ情報のコピー先のＯＳへの割り当て後におけるＯＳ管理キーの定期更新状況の一例を示す図である。
【図３２】コピー元のＯＳの再起動後のＯＳ情報の登録状況の一例を示す第１の図である。
【図３３】コピー元のＯＳの再起動後のＯＳ情報の登録状況の一例を示す第２の図である。
【図３４】ＯＳ情報の登録処理の手順の前半を示すシーケンス図である。
【図３５】ＯＳ情報の登録処理の手順の後半を示すシーケンス図である。
【図３６】インストール情報定期取得処理の手順の一例を示すシーケンス図である。
【図３７】ＯＳ管理キー定期更新処理の手順の一例を示すシーケンス図である。
【図３８】ＯＳ管理番号特定処理の手順の一例を示すフローチャートである。
【図３９】暗号ファイル作成処理の手順の一例を示すフローチャートである。
【図４０】サポート契約確認処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
第１の実施の形態について説明する。
【００１５】
図１は、第１の実施の形態の構成の一例を示す図である。情報処理装置１０は、例えばネットワークを介して、管理対象コンピュータ１に接続されている。
管理対象コンピュータ１は、例えば仮想マシンによって第１ＯＳ３を実行している。第１ＯＳ３は、設定情報の格納領域として、例えばレジストリ３ａを有している。また第１ＯＳ３は、ソフトウェア３ｂを実行している。
【００１６】
管理対象コンピュータ１上の第１ＯＳ３は、仮想マシンごと管理対象コンピュータ２にコピーすることができる。仮想マシンがコピーされると、管理対象コンピュータ２が第２ＯＳ４を実行する。第２ＯＳ４は、設定情報の格納領域として、例えばレジストリ４ａを有している。第１ＯＳ３のコピーが生成されると、第１ＯＳ３で実行されているソフトウェア３ｂもコピーされ、コピー先の第２ＯＳ４で、ソフトウェア３ｂからコピーされたソフトウェア４ｂが実行される。
【００１７】
情報処理装置１０は、記憶部１１と処理部１２とを有する。記憶部１１は、例えば情報処理装置１０が有するメモリまたはストレージ装置である。処理部１２は、例えば情報処理装置１０が有するプロセッサまたは演算回路である。
【００１８】
記憶部１１は、管理対象コンピュータ上で実行されているものと認識しているＯＳに対応するレコードを記憶する。記憶部１１には、コピーによって生成された複数のＯＳであっても、別個体として、ＯＳごとのレコードが格納される。
【００１９】
処理部１２は、例えば管理対象コンピュータ１上で実行されている第１ＯＳ３の存在を認識すると、第１ＯＳ３に対応する第１識別子および第１管理キーを、第１ＯＳの設定情報の格納領域に書き込む。例えば処理部１２は、第１ＯＳ３を指定したレコードの登録要求の入力によって、第１ＯＳ３の存在を認識する。第１ＯＳ３の設定情報の格納領域は、例えばレジストリ３ａである。また処理部１２は、第１識別子と第１管理キーとの組を含む第１レコードを、記憶部１１に格納する。図１の例では、第１識別子の値は「ｏｓ０１」であり、第１管理キーの値は「ａａａ」である。
【００２０】
その後、第１ＯＳ３が仮想マシンごと、管理対象コンピュータ２にコピーされたものとする。コピー直後の第２ＯＳ４のレジストリ４ａには、第１識別子と同じ値「ｏｓ０１」の第１識別子と、第１管理キーと同じ値「ａａａ」の第３管理キーとが含まれる。
【００２１】
処理部１２は、所定のタイミングで、第１ＯＳ３のレジストリ３ａと第１レコードそれぞれの第１管理キーを、第１管理キーとは異なる値の第２管理キーに書き換える。図１の例では、第１管理キーを、値が「ａａｂ」の第２管理キーに書き換えている。例えば処理部１２は、第１管理キーの第２管理キーへの変更を、所定の時間間隔で定期的に実行する。また処理部１２は、第１管理キーの第２管理キーへの変更を、第２ＯＳ４の存在の認識後、後述する第２識別子の第３識別子への変更前に実行する。
【００２２】
処理部１２は、管理対象コンピュータ２上で実行されている第２ＯＳ４の存在を認識すると、第２ＯＳ４の設定情報の格納領域から、第２ＯＳ４に対応する第２識別子および第３管理キーを取得する。第２ＯＳ４の設定情報の格納領域は、例えばレジストリ４ａである。例えば処理部１２は、第２ＯＳ４を指定したレコードの登録要求の入力によって、第２ＯＳ４の存在を認識する。処理部１２は、第２ＯＳ４から取得した識別子と記憶部１１に格納されている第１識別子との値を比較すると共に、第２ＯＳ４から取得した識別子と記憶部１１に格納されている第２管理キーとの値を比較する。
【００２３】
図１の例では、取得した識別子と第１識別子との値が一致し、かつ取得した管理キーと第２管理キーとの値が一致しない。この場合、処理部１２は、第２ＯＳ４のレジストリ４ａ内の識別子を、第１識別子とは異なる値の第２識別子に書き換える。図１の例では、値が「ｏｓ０１」の識別子が、値が「ｏｓ０２」の第２識別子に書き換えられている。また処理部１２は、第２ＯＳ４のレジストリ４ａ内の管理キーを、第２管理キーとは異なる値の第３管理キーに書き換える。図１の例では、値が「ａａａ」の管理キーが、値が「ｂｂｂ」の第３管理キーに書き換えられている。
【００２４】
そして処理部１２は、第２識別子と第３管理キーとの組を含む第２レコードを、記憶部１１に格納する。
このようにして、第１ＯＳ３からコピーされた第２ＯＳ４に対して、第１ＯＳ３とは別の識別子が付与され、記憶部１１には、対応する個別のレコードが格納される。すなわち、仮想マシンごとＯＳがコピーされても、情報処理装置１０では、それぞれ異なる個体のＯＳとして認識し、それぞれに識別子を割り当てることができる。ＯＳの個体識別が可能となることにより、例えば、ＯＳごとの識別子を、そのＯＳにインストールされているソフトウェアのサポート契約に関連付けておくことで、１つのサポート契約に対して複数のソフトウェアの問い合わせを行うことを防ぐことができる。
【００２５】
なおＯＳのコピー後に、第１ＯＳ３が機能停止した場合、第１ＯＳ３のレジストリ３ａ内の管理キーの書き換えはできない。この場合、記憶部１１の第１レコード内の第１管理キーも書き換えられない。すると、第２ＯＳ４の認識時には、第２ＯＳ４から取得した識別子と第１識別子との値が一致し、かつ第２ＯＳ４から取得した管理キーと第１管理キーとの値が一致する。この場合、処理部１２は、第２ＯＳ４のレジストリ４ａ内の管理キーと第１レコード内の第１管理キーとを、第２管理キーとは異なる値の第３管理キーに書き換える。これにより、後に第１ＯＳ３が再起動されたとき、第１ＯＳ３と第２ＯＳ４との管理キーは異なる値となる。その結果、処理部１２は、管理キーの違いにより、第１ＯＳ３と第２ＯＳ４とを個別の個体として認識することができる。
【００２６】
〔第２の実施の形態〕
次に第２の実施の形態について説明する。第２の実施の形態は、確実なＯＳの個体識別を行うことで、ＯＳに付与した識別子を用いて、ＯＳにインストールされているソフトウェアに関するサポート契約の適切な管理を行うものである。
【００２７】
図２は、第２の実施の形態のシステム構成例を示す図である。顧客企業３０は、サービス提供業者４０から、コンピュータシステムに関する各種サービスの提供を受ける。例えば顧客企業３０は、複数のサーバ２１０，２２０，・・・と管理サーバ１００とを所持する。サーバ２１０，２２０，・・・は、顧客企業３０における業務の遂行に利用するコンピュータである。管理サーバ１００は、サーバ２１０，２２０，・・・にインストールされているソフトウェアに対するサポートサービスの契約の管理を支援するコンピュータである。
【００２８】
サーバ２１０，２２０，・・・と管理サーバ１００とは、ローカルネットワーク２０で接続されている。また、顧客企業３０は、各サーバ２１０，２２０，・・・にインストールするソフトウェアを、例えばサービス提供業者４０から購入する。そして顧客企業３０は、購入したソフトウェアのサポートサービスを、サービス提供業者４０から受ける。例えば顧客企業３０のユーザは、ローカルネットワーク２０に接続された管理サーバ１００を用いて、サポート契約の適用対象であることを確認するための暗号ファイルを生成する。顧客企業３０のユーザは、生成した暗号ファイルを、サービス提供業者に４０に送り、サポートサービスを依頼する。
【００２９】
サービス提供業者４０は、サポート契約管理サーバ３００を有している。サポート契約管理サーバ３００は、顧客企業３０に販売したソフトウェアのサポートライセンスを管理するコンピュータである。サポート契約管理サーバ３００は、例えば顧客企業３０のローカルネットワーク２０に、広域的なネットワーク５０を介して接続されている。サポート契約管理サーバ３００は、例えばネットワーク５０経由で、管理サーバ１００が作成した暗号ファイルを受け取ることができる。そして、サポート契約管理サーバ３００は、顧客企業３０から提供された暗号ファイルに基づいて、サポート対象のソフトウェアに対するサポート契約の有無を確認する。サポート契約があることが確認できた場合、サービス提供業者４０のサービス担当者が、顧客企業３０へのソフトウェアサポートサービスを実施する。
【００３０】
なお図２に示すサーバ２１０，２２０，・・・は、第１の実施の形態に示した管理対象コンピュータ１，２の一例である。また図２に示す管理サーバ１００は、第１の実施の形態に示した情報処理装置１０の一例である。
【００３１】
図３は、第２の実施の形態に用いるコンピュータのハードウェアの一例を示す図である。管理サーバ１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０９を介してメモリ１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、またはＤＳＰ（Digital Signal Processor）である。プロセッサ１０１がプログラムを実行することで実現する機能の少なくとも一部を、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現してもよい。
【００３２】
メモリ１０２は、管理サーバ１００の主記憶装置として使用される。メモリ１０２には、プロセッサ１０１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。メモリ１０２としては、例えばＲＡＭ（Random Access Memory）などの揮発性の半導体記憶装置が使用される。
【００３３】
バス１０９に接続されている周辺機器としては、ストレージ装置１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７およびネットワークインタフェース１０８がある。
【００３４】
ストレージ装置１０３は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置１０３は、コンピュータの補助記憶装置として使用される。ストレージ装置１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置１０３としては、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）を使用することができる。
【００３５】
グラフィック処理装置１０４には、モニタ２１が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像をモニタ２１の画面に表示させる。モニタ２１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００３６】
入力インタフェース１０５には、キーボード２２とマウス２３とが接続されている。入力インタフェース１０５は、キーボード２２やマウス２３から送られてくる信号をプロセッサ１０１に送信する。なお、マウス２３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００３７】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク２４に記録されたデータの読み取りを行う。光ディスク２４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００３８】
機器接続インタフェース１０７は、管理サーバ１００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース１０７には、メモリ装置２５やメモリリーダライタ２６を接続することができる。メモリ装置２５は、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ２６は、メモリカード２７へのデータの書き込み、またはメモリカード２７からのデータの読み出しを行う装置である。メモリカード２７は、カード型の記録媒体である。
【００３９】
ネットワークインタフェース１０８は、ローカルネットワーク２０に接続されている。ネットワークインタフェース１０８は、ローカルネットワーク２０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００４０】
以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なおサーバ２１０，２２０，・・・およびサポート契約管理サーバ３００も、図３に示した管理サーバ１００と同様のハードウェアにより実現することができる。また第１の実施の形態に示した情報処理装置１０も、図３に示した管理サーバ１００と同様のハードウェアにより実現することができる。
【００４１】
管理サーバ１００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。管理サーバ１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、管理サーバ１００に実行させるプログラムをストレージ装置１０３に格納しておくことができる。プロセッサ１０１は、ストレージ装置１０３内のプログラムの少なくとも一部をメモリ１０２にロードし、プログラムを実行する。また管理サーバ１００に実行させるプログラムを、光ディスク２４、メモリ装置２５、メモリカード２７などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１０１からの制御により、ストレージ装置１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４２】
図４は、第２の実施の形態の各装置の機能の一例を示すブロック図である。サーバ２１０，２２０，・・・は、それぞれ１以上のＯＳを実行している。例えばサーバ２１０は、複数のＯＳ２１１，２１２，・・・を実行している。複数のＯＳ２１１，２１２，・・・の実行は、例えばハイパーバイザを用いることで実現できる。例えばサーバ２１０は、ハイパーバイザを用いて、サーバ２１０内に複数の仮想マシン（ＶＭ：Virtual Machine）を構築する。そしてサーバ２１０は、構築した複数の仮想マシンそれぞれで、ＯＳ２１１，２１２，・・・を実行させる。
【００４３】
サーバ２１０で実行されているＯＳ２１１は、レジストリ２１１ａを有している。レジストリ２１１ａは、ＯＳ２１１における設定情報を格納するためのデータベースである。またＯＳ２１１には、ソフトウェアサポート契約の管理対象となるソフトウェア２１１ｂをインストールすることができる。ＯＳ２１１がソフトウェア２１１ｂを実行すると、ソフトウェア２１１ｂの実行過程で発生する各種イベントを示すメッセージを蓄積するログ２１１ｃが生成される。ログ２１１ｃには、例えば、ソフトウェア２１１ｂを実行しているときに発生したエラーを示すエラーメッセージが含まれる。エラーメッセージには、例えばエラーの種別を示すエラーコードが含まれる。
【００４４】
なおＯＳ２１１に限らず、サーバ２１０，２２０，・・・のいずれかで実行されているＯＳは、ＯＳ２１１と同様に、レジストリを有し、ソフトウェアを実行している場合には、そのソフトウェアに対応するログを有する。
【００４５】
管理サーバ１００は、ＯＳ情報データベース１１０、ユーザインタフェース１２０、ＯＳ状態監視部１３０、およびログ管理部１４０を有する。
ＯＳ情報データベース１１０は、サーバ２１０，２２０，・・・上で動作しているＯＳに関する情報を記憶するデータベースである。例えば管理サーバ１００のメモリ１０２またはストレージ装置１０３の記憶領域の一部が、ＯＳ情報データベース１１０として使用される。
【００４６】
ユーザインタフェース１２０は、顧客企業３０内のユーザ３１からの入力の受け付け、入力に応じた処理結果の表示を行う。
ＯＳ状態監視部１３０は、サーバ２１０，２２０，・・・上で動作しているＯＳの状態を監視する。例えばＯＳ状態監視部１３０は、各ＯＳに対してＯＳ管理番号とＯＳ管理キーを付与する。ＯＳ管理番号は、ＯＳの識別子である。ＯＳ管理キーは、例えばランダムに生成した文字、数字、またな記号の配列である。例えばＯＳ状態監視部１３０は、ＯＳ２１１にリモートログインし、ＯＳ２１１のＯＳ管理番号とＯＳ管理キーとを、そのＯＳ２１１のレジストリ２１１ａに格納する。そしてＯＳ状態監視部１３０は、ＯＳ管理番号とＯＳ管理キーとを用いて、ＯＳの状態を管理する。
【００４７】
ログ管理部１４０は、サーバ２１０，２２０，・・・におけるソフトウェアが出力したログを管理する。例えばログ管理部１４０は、ＯＳ状態監視部１３０を介して、いずれかのサーバのログを取得し、そのログを暗号化する。例えばログ管理部１４０は、サービス提供業者４０から提供された公開鍵によって暗号化を行う。暗号化されたログは、ユーザ３１によって、サポート依頼の際に、トラブル内容の記録として、サービス提供業者４０におけるサポート担当者４１に渡される。
【００４８】
サポート契約管理サーバ３００は、サポート契約情報データベース３１０、およびサポート契約管理部３２０を有している。
サポート契約情報データベース３１０は、顧客企業３０との間で締結したサポート契約に関する情報を記憶する。例えば、サポート契約管理サーバ３００が有するメモリまたはストレージ装置の記憶領域の一部が、サポート契約情報データベース３１０として使用される。
【００４９】
サポート契約管理部３２０は、サービス提供業者４０内のサポート担当者４１からのサポート契約情報データベース３１０への入力の受け付け、および入力に応じたサポート契約情報データベース３１０に対する処理結果の表示を行う。またサポート契約管理部３２０は、暗号化されたファイルを復号する。例えばサポート契約管理部３２０は、不具合が発生したソフトウェアのログや、そのソフトウェアがインストールされているＯＳのＯＳ管理番号などを暗号化した暗号データを、サービス提供業者４０の秘密鍵で復号する。さらにサポート契約管理部３２０は、復号によって得られたログなどの情報を参照して、ユーザ３１からのサポート依頼におけるサポート対象のソフトウェアがサポート契約の対象か否かの確認処理を行う。
【００５０】
次に、各装置で管理する情報について、具体的に説明する。
図５は、レジストリの一例を示す図である。ＯＳ２１１のレジストリ２１１ａには、ＯＳ２１１の環境設定、およびＯＳ２１１にインストールされているソフトウェアの環境設定に関する情報が設定されている。レジストリ２１１ａに設定されている情報の中には、ソフトウェア２１１ｂに関連する情報として、ＩＰアドレス、ＯＳ管理番号、ＯＳ管理キー、およびインストール有無フラグが含まれている。これらの情報は、例えばソフトウェア２１１ｂの製品名「ソフトウェアＡ」に対応付けて、レジストリ２１１ａに登録されている。
【００５１】
ソフトウェア２１１ｂに関する情報内のＩＰアドレスは、ＯＳ２１１のＩＰアドレスである。ソフトウェア２１１ｂに関する情報内のＯＳ管理番号は、顧客企業３０内でＯＳを一意に識別するための識別番号である。ソフトウェア２１１ｂに関する情報内のＯＳ管理キーは、ＯＳのコピーが生成された場合に、コピーによって生成された複数のＯＳを区別するために用いるデータである。ソフトウェア２１１ｂに関する情報内のインストール有無フラグは、ＯＳ２１１にソフトウェア２１１ｂがインストールされているか否かを示すフラグである。図５の例では、ソフトウェア２１１ｂがインストールされている場合、インストール有無フラグに丸印を設定し、ソフトウェア２１１ｂがインストールされていない場合、インストール有無フラグにばつ印を設定するものとする。なお、データ上は、例えば、丸印を「１」の値に置き換えて記憶し、ばつ印を「０」の値に置き換えて記憶する。
【００５２】
図６は、ＯＳ情報データベースの一例を示す図である。ＯＳ情報データベース１１０には、サーバ２１０，２２０，・・・内で実行されているＯＳごとのレコードに、対応するＯＳにおけるソフトウェアに関する情報が格納されている。例えばＯＳ情報データベース１１０内の各レコードには、ＩＰアドレス、ＯＳ管理番号、ＯＳ管理キー、およびインストール有無フラグが含まれている。
【００５３】
図７は、サポート契約情報データベースの一例を示す図である。サポート契約情報データベース３１０には、顧客企業とのソフトウェア１本分のサポート契約ごとのレコードに、サポート契約に関する情報が格納されている。例えばサポート契約情報データベース３１０内の各レコードには、顧客名、製品名、サポート契約番号、およびＯＳ管理番号が含まれる。顧客名は、サポート契約を締結した顧客の名称である。製品名は、サポート対象となるソフトウェアの製品名である。サポート契約番号は、ソフトウェア１本ずつのサポート契約を識別するための識別番号である。ＯＳ管理番号は、サポート対象となるソフトウェアがインストールされているＯＳの識別番号である。なお、サポート対象のソフトウェアが確定していないサポート契約に関するレコードについては、ＯＳ管理番号は未設定（空欄）である。
【００５４】
以上のようなデータを用いて、ソフトウェアに対するサポート契約の管理が行われる。以下の説明では、まず、図８〜図２３を参照して、顧客企業３０が、サービス提供業者４０との間でソフトウェアに対するサポート契約を締結し、サポートサービスの提供を受けるまでの基本的な手順について説明する。その後、図２４〜図３３を参照して、ＯＳごと仮想マシンがコピーされた場合の対処手順について説明する。最後に、図３４〜図４０を参照して、ＯＳごと仮想マシンがコピーされた場合を想定したサポート契約管理処理の全体の処理手順を説明する。
【００５５】
＜サポートサービスの提供手順＞
まず、ＯＳごと仮想マシンがコピーされる場合を想定せずに、顧客企業３０に対して、サポート契約の範囲内のソフトウェアに対してサポートを行う手順について説明する。
【００５６】
図８は、ソフトウェアインストール前の状態の一例を示す図である。例えばユーザ３１は、サービス提供業者４０からソフトウェアパッケージ５１を購入する。ソフトウェアパッケージ５１には、インストールできるＯＳの数がライセンス数で示されている。図８の例では、ソフトウェアパッケージ５１のライセンス数は「４」である。すなわち、顧客企業３０は、４つのＯＳに対してソフトウェアパッケージ５１を用いてソフトウェアをインストールする権利を有する。
【００５７】
ソフトウェアパッケージ５１は、例えばコンピュータ読み取り可能な記録媒体である。またユーザ３１は、ソフトウェアパッケージ５１として、電子データのみをネットワーク５０経由で受け取ることもできる。この段階では、いずれのサーバにも、管理対象となるソフトウェアはインストールされていない。そのため、例えばサーバ２１０内のＯＳ２１１，２１２それぞれのレジストリ２１１ａ，２１２ａには、インストールなしを示すインストール有無フラグが設定されている。
【００５８】
ソフトウェアパッケージ５１を購入した顧客企業３０のユーザ３１は、ソフトウェアパッケージ５１を用いて、サーバ２１０，２２０，・・・内のいずれかのＯＳに、ソフトウェアをインストールし、そのソフトウェアを用いた情報処理をサーバに実行させる。また顧客企業３０は、サービス提供業者４０とソフトウェアのサポート契約を結ぶことで、サービス提供業者４０からソフトウェアのサポートサービスの提供を受けることができる。
【００５９】
図９は、ソフトウェアのインストールおよびサポート契約後の状態の一例を示す図である。例えば顧客企業３０のユーザ３１は、ソフトウェア購入時に、顧客名（Ｚ社）、ソフトウェア名（ソフトウェアＡ）、サポート契約本数（２本）をサービス提供業者４０のサポート担当者４１に伝える。顧客企業３０とサービス提供業者４０との間でサポート契約が成立すると、サポート担当者４１は、サポート契約管理サーバ３００内のサポート契約情報データベース３１０に、締結されたサポート契約に関する情報を格納する。
【００６０】
図９の例では、顧客企業３０は、サポート契約を２本購入しているので、サポート契約情報データベース３１０には、２つのレコードが追加されている。追加された２つのレコードには、共通の顧客名と製品名が設定されている。また追加された２つのレコードのサポート契約番号は、異なる値である。
【００６１】
ユーザ３１は、サポート契約締結後、ソフトウェアパッケージ５１を用いて、ソフトウェアをインストールする。図９の例では、ＯＳ２１１に対してソフトウェア２１１ｂがインストールされている。ユーザ３１がＯＳ２１１にソフトウェア２１１ｂをインストールすると、ＯＳ２１１のレジストリ２１１ａに、ソフトウェア２１１ｂのインストール情報が書き込まれる。すなわちインストール有無フラグに、インストール有りを示す値が設定される。
【００６２】
また、ユーザ３１は、サポート契約に基づくサポートを受けるための準備として、管理サーバ１００に、ソフトウェア２１１ｂをインストールしたＯＳ２１１に関する情報を登録する。
【００６３】
図１０は、管理サーバへのＯＳ情報の登録状況の一例を示す第１の図である。ユーザ３１は、ユーザインタフェース１２０にサポート対象のソフトウェアがインストールされたＯＳ２１１のＯＳ情報データベース１１０への登録を指示する入力を行う。例えばユーザ３１は、ＯＳ２１１のＩＰアドレスを含む登録指示を入力する。登録指示は、ユーザインタフェース１２０で受け取られ、ＯＳ状態監視部１３０に転送される。
【００６４】
登録指示を受信したＯＳ状態監視部１３０は、まずＯＳ情報データベース１１０から、すでに登録されているＯＳ情報を示すレコードを取得する。このとき、ＯＳ情報データベース１１０にレコードが登録されている場合は、ＯＳ状態監視部１３０は、取得したレコードのＯＳ管理キーの書き換え処理を行うことになる。しかし、図１０の例では、ＯＳ情報のレコードは登録されていないため、ＯＳ管理キーの書き換え処理は行われない。
【００６５】
ＯＳ情報データベース１１０にＯＳ情報を示すレコードが存在しないことを確認したＯＳ状態監視部１３０は、登録指示に従ったＯＳ情報の登録処理を行う。
図１１は、管理サーバへのＯＳ情報の登録状況の一例を示す第２の図である。ＯＳ状態監視部１３０は、まず管理対象のＯＳ２１１のレジストリ２１１ａから、ＯＳ管理番号、ＯＳ管理キー、インストール有無フラグの各情報を取得する。この段階では、レジストリ２１１ａには、ＯＳ管理番号とＯＳ管理キーとは登録されていない。従って、ＯＳ状態監視部１３０は、インストール有無フラグのみを取得することができる。
【００６６】
次にＯＳ状態監視部１３０は、ＯＳ情報データベース１１０を参照し、取得したＯＳ管理番号がすでに登録されていないか確認する。図１１の例では、確認段階では未登録である。
【００６７】
ＯＳ状態監視部１３０は、ＯＳ管理番号がＯＳ情報データベース１１０に登録されていない場合、ＯＳ管理番号、ＯＳ管理キーを新規に作成し、ＯＳ２１１のレジストリ２１１ａに書き込む。さらにＯＳ状態監視部１３０は、ＯＳ２１１のレジストリ２１１ａに登録されているソフトウェア２１１ｂに関する情報を含む新規のレコードを、ＯＳ情報データベース１１０に登録する。図１１の例では、ＯＳ２１１のＩＰアドレス「１９２．１６８．１０．１０」、ＯＳ管理番号「ｏｓ０１」、ＯＳ管理キー「ａａａ」、およびインストール有無フラグ「○」が設定されたレコードが、ＯＳ情報データベース１１０に登録されている。
【００６８】
このようにして、ソフトウェア２１１ｂがインストールされているＯＳ２１１に対してＯＳ管理番号とＯＳ管理キーとが付与される。そして、ＯＳ２１１のレジストリ２１１ａに格納されているソフトウェア２１１ｂに関する情報と同じ内容が、管理サーバ１００内のＯＳ情報データベース１１０に登録される。
【００６９】
図１１の例は、ユーザ３１が、すでにソフトウェア２１１ｂがインストールされているＯＳ２１１の登録指示を入力した場合の処理であるが、ユーザ３１は、ソフトウェアのインストールが未実施のＯＳに関する登録指示を入力することもできる。
【００７０】
図１２は、管理サーバへのＯＳ情報の登録状況の一例を示す第３の図である。図１２の例では、ユーザ３１は、ソフトウェアがインストールされていないＯＳ２１２に関する登録指示を、管理サーバ１００に入力している。入力された登録指示は、ユーザインタフェース１２０で受け取られ、ＯＳ状態監視部１３０に転送される。このとき、ＯＳ状態監視部１３０は、図１０に示したように、ＯＳ情報データベース１１０へのレコードの登録の有無の確認と、登録されているレコードのＯＳ管理キーの更新とを行うことになるが、図１２ではそれらの処理は省略している。
【００７１】
ＯＳ状態監視部１３０は、まず管理対象のＯＳ２１２のレジストリ２１２ａから、ＯＳ管理番号、ＯＳ管理キー、インストール有無フラグの各情報を取得する。次にＯＳ状態監視部１３０は、ＯＳ情報データベース１１０を参照し、取得したＯＳ管理番号がすでに登録されていないか確認する。図１２の例では、確認段階では未登録である。そこでＯＳ状態監視部１３０は、ＯＳ管理番号、ＯＳ管理キーを新規に作成し、ＯＳ２１２のレジストリ２１２ａに書き込む。さらにＯＳ状態監視部１３０は、ＯＳ２１２のレジストリ２１２ａに登録されているソフトウェアに関する情報を含む新規のレコードを、ＯＳ情報データベース１１０に登録する。図１２の例では、ＯＳ２１２のＩＰアドレス「１９２．１６８．１０．１１」、ＯＳ管理番号「ｏｓ０２」、ＯＳ管理キー「ｂｂｂ」、およびインストール有無フラグ「×」が設定されたレコードが、ＯＳ情報データベース１１０に登録されている。
【００７２】
このようにして、ソフトウェアが未インストールのＯＳ２１２についても、対応するレコードを、管理サーバ１００のＯＳ情報データベース１１０に登録することができる。そしてユーザ３１は、管理サーバ１００への登録指示の後に、ＯＳ２１２へのソフトウェアのインストールを行うことができる。
【００７３】
図１３は、管理サーバへの登録後のソフトウェアのインストール状況の一例を示す図である。例えばユーザ３１は、ソフトウェアパッケージ５１を用いて、ＯＳ２１２に対してソフトウェア２１２ｂをインストールする。ユーザ３１がＯＳ２１２にソフトウェア２１２ｂをインストールすると、ＯＳ２１２のレジストリ２１２ａに、ソフトウェア２１２ｂのインストール情報が書き込まれる。すなわちインストール有無フラグに、インストール有りを示す値が設定される。
【００７４】
ＯＳ２１２へソフトウェア２１２ｂをインストールした直後は、レジストリ２１２ａに示されているソフトウェア２１２ｂに関する情報が、管理サーバ１００のＯＳ情報データベース１１０に反映されていない。そこで、管理サーバ１００では、ソフトウェアのインストール有無フラグの定期取得を行う。
【００７５】
図１４は、インストール有無フラグの定期取得の状況の一例を示す図である。管理サーバ１００のＯＳ状態監視部１３０は、設定された時間ごと、インストール有無フラグの取得処理を行う。例えばＯＳ状態監視部１３０は、ＯＳ情報データベース１１０から、登録されているＯＳ２１１，２１２のレコードを取得する。次にＯＳ状態監視部１３０は、すでにレコードが登録されている各ＯＳ２１１，２１２のレジストリ２１１ａ，２１２ａから、インストール有無フラグを取得する。そしてＯＳ状態監視部１３０は、各ＯＳ２１１，２１２から取得したインストール有無フラグを、ＯＳ情報データベース１１０に書き込む。
【００７６】
このようにして、管理サーバ１００にＯＳの情報を登録後に、そのＯＳにソフトウェアをインストールした場合でも、インストールされたことを管理サーバ１００で把握することができる。
【００７７】
その後、サーバ２２０内の２つのＯＳにもソフトウェアがインストールされ、それらのＯＳの情報を示すレコードが、ＯＳ情報データベース１１０に格納されたものとする。これにより、ソフトウェアパッケージ５１のライセンス数分のＯＳに対して、ソフトウェアがインストールされたこととなる。
【００７８】
図１５は、ライセンス数分のソフトウェアインストール後の状態の一例を示す図である。サーバ２２０では、２つのＯＳ２２１，２２２が実行されている。各ＯＳ２２１，２２２には、ソフトウェア２２１ｂ，２２２ｂがインストールされている。各ＯＳ２２１，２２２のレジストリ２２１ａ，２２２ａには、インストールされたソフトウェア２２１ｂ，２２２ｂに関する情報が登録されている。
【００７９】
管理サーバ１００のＯＳ情報データベース１１０には、サーバ２２０内の２つのＯＳ２２１，２２２それぞれに対応するレコードが登録されている。各レコードには、対応するＯＳのＩＰアドレス、ＯＳ管理番号、ＯＳ管理キー、およびソフトウェアがインストール済みであることを示すインストール有無フラグが設定されている。
【００８０】
ところで各サーバ２１０，２２０で実行されているＯＳは、ＩＰアドレスを変更することができる。ＩＰアドレスが変更されたＯＳは、ＯＳ管理番号は変更されないが、ＯＳ管理キーは変更される。
【００８１】
図１６は、ＩＰアドレス変更状況の一例を示す図である。図１６の例では、ユーザ３１は、サーバ２１０内のＯＳ２１１のＩＰアドレスを「１９２．１６８．１０．１０」から「１９２．１６８．１０．１４」に変更している。ユーザ３１はＯＳ２１１のＩＰアドレスの変更後、管理サーバ１００に対して、ＯＳ２１１のＩＰアドレスの変更を指示する。例えばユーザ３１は、変更前のＩＰアドレス「１９２．１６８．１０．１０」と変更後のＩＰアドレス「１９２．１６８．１０．１４」とを指定したＩＰアドレス設定変更指示を、管理サーバ１００に入力する。
【００８２】
管理サーバ１００では、ユーザインタフェース１２０がＩＰアドレス設定変更指示を受け付ける。ユーザインタフェース１２０は、取得したＩＰアドレス設定変更指示をＯＳ状態監視部１３０に転送する。ＯＳ状態監視部１３０は、ＯＳ情報データベース１１０から、変更前のＩＰアドレス「１９２．１６８．１０．１０」に対応するレコードを取得する。次に、ＯＳ状態監視部１３０は、ＯＳ２１１用の新たなＯＳ管理キー「ａａｂ」を生成する。さらにＯＳ状態監視部１３０は、変更後のＩＰアドレスに基づいてＯＳ２１１にアクセスし、ＯＳ２１１内のレジストリ２１１ａ内のＯＳ管理キーとして、新たに生成したＯＳ管理キー「ａａｂ」を書き込む。
【００８３】
またＯＳ状態監視部１３０は、取得したレコードのＩＰアドレスを変更後のＩＰアドレス「１９２．１６８．１０．１４」に更新し、そのレコードのＯＳ管理キーを新たに生成したＯＳ管理キー「ａａｂ」に更新する。そしてＯＳ状態監視部１３０は、更新したレコードを、ＯＳ情報データベース１１０内の元の位置に書き戻す。
【００８４】
このようにして、ＯＳのＩＰアドレスが変更された場合、ＯＳ情報データベース１１０内の該当ＯＳに対応するレコードのＩＰアドレスとＯＳ管理キーとが更新される。
ユーザ３１は、ＯＳにインストールしたソフトウェアを使用して業務を遂行する。ソフトウェアを使用していると、何らかの不具合が発生する場合がある。不具合の原因は、ソフトウェア自身にある場合、ＯＳにある場合、あるいはＯＳを実行しているサーバにある場合などがあり、ユーザ３１が自身で不具合の原因を判断するのが困難な場合がある。そのような場合、ユーザ３１は、サポート契約に基づいて、サービス提供業者４０からソフトウェアのサポートを受けることができる。
【００８５】
次に、インストールされたいずれかのソフトウェアの利用中に不具合が発生したときの、サポート依頼手順について説明する。
図１７は、サポート依頼の一例を示す第１の図である。図１７の例では、サーバ２１０内のＯＳ２１１において、ソフトウェア２１１ｂの不具合が発生している。ソフトウェア２１１ｂにおいて不具合が発生すると、不具合に応じたメッセージ（例えばエラーメッセージ）が、ログ２１１ｃに格納される。
【００８６】
ユーザ３１は、ソフトウェア２１１ｂで不具合が発生したことを認識すると、ＯＳ２１１のＩＰアドレスを確認する。図１７の例では、ＯＳ２１１のＩＰアドレスは「１９２．１６８．１０．１０」である。
【００８７】
ユーザ３１は、ＯＳ２１１のＩＰアドレスをキーとして、管理サーバ１００に、ＯＳ２１１のＯＳ管理番号の問い合わせを入力する。ＯＳ管理番号の問い合わせは、ユーザインタフェース１２０で受け取られる。ユーザインタフェース１２０は、取得したＯＳ管理番号の問い合わせに応じて、ＯＳ管理番号取得要求をＯＳ状態監視部１３０に送信する。ＯＳ状態監視部１３０は、ＯＳ情報データベース１１０内のＯＳ２１１のＩＰアドレスに対応するレコードからＯＳ管理番号「ｏｓ０１」を取得する。ＯＳ状態監視部１３０は、取得したＯＳ管理番号を、ユーザインタフェース１２０に送信する。ユーザインタフェース１２０は、受信したＯＳ管理番号をモニタ２１に表示する。
【００８８】
ユーザ３１は、モニタ２１に表示されたＯＳ管理番号を確認し、管理サーバ１００に、そのＯＳ管理番号に対応するＯＳ２１１上のソフトウェア２１１ｂに関するログ取得指示を入力する。ログ取得指示は、ユーザインタフェース１２０で受け取られる。ユーザインタフェース１２０は、取得したログ取得指示をログ管理部１４０に送信する。
【００８９】
ログ管理部１４０は、ＯＳ状態監視部１３０を介して、ＯＳ２１１のログ２１１ｃ、ＯＳ管理番号、およびＯＳ管理キーを取得する。例えばログ管理部１４０は、ＯＳ状態監視部１３０に、ＯＳ管理番号「ｏｓ０１」のログ取得要求を送信する。ＯＳ状態監視部１３０は、ログ取得要求に応じて、ＯＳ管理番号「ｏｓ０１」に対応するＯＳ２１１から、ログ２１１ｃ、ＯＳ管理番号「ｏｓ０１」、ＯＳ管理キー「ａａａ」を取得する。ＯＳ状態監視部１３０は、ＯＳ２１１から取得した情報を、ログ管理部１４０に転送する。
【００９０】
ログ管理部１４０は、取得したログ、ＯＳ管理番号、ＯＳ管理キーを暗号化し、暗号化されたデータ（暗号データ）を含むファイル５２を作成する。そして、ログ管理部１４０は、作成したファイル５２を出力する。例えばログ管理部１４０は、作成したファイル５２をストレージ装置１０３内の所定のフォルダ（ディレクトリ）に格納し、ログ取得完了の応答をユーザインタフェース１２０に送信する。ユーザインタフェース１２０は、ログを含むファイルの格納が完了したことを、モニタ２１に表示する。
【００９１】
ユーザ３１は、サービス提供業者４０のサポート担当者４１に、サポート依頼を行う。サポート依頼は、電話、電子メールなどの手段で行われる。サポート依頼の際、ユーザ３１は、顧客名、ＯＳ管理番号、ソフトウェア名をサポート担当者４１に伝える。またユーザ３１は、暗号化したファイル５２をサポート担当者４１に渡す。例えばユーザ３１は、管理サーバ１００の電子メール機能を用い、サポート依頼の電子メールにファイル５２を添付し、サポート担当者４１のメールアドレス宛てに送信する。
【００９２】
図１８は、サポート依頼の一例を示す第２の図である。サポート依頼を受けたサポート担当者４１は、ユーザ３１から受け取ったファイル５２をサポート契約管理サーバ３００に入力する。入力されたファイル５２は、サポート契約管理部３２０によって復号される。例えばサポート担当者４１は、ファイル５２をサポート契約管理サーバ３００のストレージ装置内に格納する。そしてサポート担当者４１は、サポート契約管理サーバ３００にファイル５２の復号指示を入力する。
【００９３】
復号指示はサポート契約管理部３２０で受け取られる。サポート契約管理部３２０は、ファイル５２内のデータを復号し、復号されたデータを含む新たなファイルを、ストレージ装置に格納する。
【００９４】
またサポート担当者４１は、ユーザ３１から通知された、顧客名、ソフトウェア名、ＯＳ管理番号、および不具合内容を、サポート契約管理サーバ３００に入力する。するとサポート契約管理部３２０は、復号されたファイル内の情報を参照し、ユーザ３１から伝えられたＯＳ管理番号のＯＳのログであること、サポート依頼を受けた内容の不具合が起きていることを確認する。
【００９５】
次にサポート契約管理部３２０は、顧客名とソフトウェア名とをキーにして、サポート契約情報データベース３１０から、その顧客名とソフトウェア名との組に対応するサポート契約を示すレコードを取得する。そしてサポート契約管理部３２０は、取得したサポート契約のレコードの中に、ＯＳ管理番号の欄の値が、ユーザ３１から伝えられたＯＳ管理番号と一致するレコードがあるか確認する。図１８の例では、該当するレコードが存在しない。そこでサポート契約管理部３２０は、取り出したサポート契約のレコードの中に、ＯＳ管理番号の欄が空のレコードがあるか確認する。図１８の例では、ＯＳ管理番号の欄が空のレコードが存在する。
【００９６】
サポート契約管理部３２０は、ＯＳ管理番号の欄が空のレコードのＯＳ管理番号の欄に、今回入力されたＯＳ管理番号を登録する。図１８の例では、サポート契約情報データベース３１０の先頭のレコードに、ＯＳ管理番号「ｏｓ０１」が設定されている。これにより、１つのサポート契約とＯＳ管理番号とが関連付けられる。
【００９７】
そしてサポート契約管理部３２０は、不具合のあったソフトウェアがサポート契約の適用対象であることを表示する。サポート担当者４１は、サポート契約の適用対象であることを確認し、ユーザ３１に対するソフトウェア２１１ｂのサポートを実施する。
【００９８】
図１８に示した処理により、ＯＳ管理番号「ｏｓ０１」のＯＳ２１１にインストールされているソフトウェア２１１ｂが、サポート契約の対象であることがサポート契約情報データベース３１０に登録される。以後、ソフトウェア２１１ｂで不具合が発生した場合、サポート契約であることの確認後に、サポート担当者４１によるサポートが実施される。
【００９９】
図１９は、サポート契約対象のソフトウェアで不具合が発生した場合の対処の一例を示す図である。ソフトウェア２１１ｂで再び不具合が発生すると、ユーザ３１は、サポート担当者４１に対して、サポート依頼を行い、顧客名、ＯＳ管理番号、ソフトウェア名を伝え、暗号化したファイル５３をサポート担当者４１に渡す。
【０１００】
サポート担当者４１は、顧客名、ＯＳ管理番号、ソフトウェア名をサポート契約管理サーバ３００に入力すると共に、サポート契約管理部３２０にファイル５３を復号させる。サポート契約管理部３２０は、復号したデータに基づいて、ユーザ３１から伝えられたＯＳ管理番号のＯＳのログであること、ユーザ３１から伝えられた内容の不具合が起きていることを確認する。またサポート契約管理部３２０は、顧客名、ソフトウェア名をキーにして、サポート契約情報データベース３１０から、キーに該当するサポート契約のレコードを取得する。そしてサポート契約管理部３２０は、取得したサポート契約のレコードの中に、ＯＳ管理番号の欄がユーザから伝えられたＯＳ管理番号と一致するレコードがあるか確認する。図１９の例では、該当するレコードが存在する。そこでサポート契約管理部３２０は、不具合のあったソフトウェアがサポート契約の適用対象であることを表示する。サポート担当者４１は、サポート契約の適用対象であることを確認し、ユーザ３１に対するソフトウェア２１１ｂのサポートを実施する。
【０１０１】
このようにして、すでにサポート契約の対象となっているソフトウェア２１１ｂで不具合が発生した場合、そのサポート契約に基づいてサポートが実施される。
次に、サポート契約の対象となっているソフトウェア２１１ｂとは別のソフトウェアで不具合が発生した場合について説明する。
【０１０２】
図２０は、サポート契約対象とは別のソフトウェアで不具合が発生した場合の対処の一例を示す図である。サーバ２２０内のＯＳ２２１にインストールされたソフトウェア２２１ｂで不具合が発生すると、ユーザ３１は、サポート担当者４１に対して、サポート依頼を行い、顧客名、ＯＳ管理番号、ソフトウェア名を伝える。そしてユーザ３１は、暗号化したファイル５４をサポート担当者４１に渡す。
【０１０３】
サポート担当者４１は、顧客名、ＯＳ管理番号、ソフトウェア名をサポート契約管理サーバ３００に入力すると共に、サポート契約管理部３２０にファイル５４を復号させる。サポート契約管理部３２０は、復号したデータに基づいて、ユーザ３１から伝えられたＯＳ管理番号のＯＳのログであること、ユーザ３１から伝えられた内容の不具合が起きていることを確認する。次にサポート契約管理部３２０は、顧客名、ソフトウェア名をキーにして、サポート契約情報データベース３１０から、キーに該当するサポート契約のレコードを取得する。そしてサポート契約管理部３２０は、取得したサポート契約のレコードの中に、ＯＳ管理番号の欄がユーザから伝えられたＯＳ管理番号と一致するレコードがあるか確認する。図２０の例では、該当するレコードが存在しない。そこでサポート契約管理部３２０は、取り出したサポート契約のレコードの中に、ＯＳ管理番号の欄が空のレコードがあるか確認する。図２０の例では、ＯＳ管理番号の欄が空のレコードが存在する。
【０１０４】
サポート契約管理部３２０は、ＯＳ管理番号の欄が空のレコードのＯＳ管理番号の欄に、今回入力されたＯＳ管理番号を登録する。そしてサポート契約管理部３２０は、不具合のあったソフトウェアがサポート契約の適用対象であることを表示する。サポート担当者４１は、サポート契約の適用対象であることを確認し、ユーザ３１に対するソフトウェア２２１ｂのサポートを実施する。
【０１０５】
顧客企業３０は、ソフトウェア２本分のサポート契約しか締結していないため、図２０の処理により、サポート契約の対象とすることができる２本のソフトウェアが特定されたこととなる。ここで、サポート契約の対象の本数以上のソフトウェアで不具合が発生した場合について説明する。
【０１０６】
図２１は、サポート契約の対象の本数以上のソフトウェアで不具合が発生した場合の対処の一例を示す図である。サーバ２１０内のＯＳ２１２にインストールされたソフトウェア２１２ｂで不具合が発生すると、ユーザ３１は、サポート担当者４１に対して、サポート依頼を行い、顧客名、ＯＳ管理番号、ソフトウェア名を伝える。そしてユーザ３１は、暗号化したファイル５５をサポート担当者４１に渡す。
【０１０７】
サポート担当者４１は、顧客名、ＯＳ管理番号、ソフトウェア名をサポート契約管理サーバ３００に入力すると共に、サポート契約管理部３２０にファイル５５を復号させる。サポート契約管理部３２０は、復号したデータに基づいて、ユーザ３１から伝えられたＯＳ管理番号のＯＳのログであること、ユーザ３１から伝えられた内容の不具合が起きていることを確認する。次にサポート契約管理部３２０は、顧客名、ソフトウェア名をキーにして、サポート契約情報データベース３１０から、キーに該当するサポート契約のレコードを取得する。そしてサポート契約管理部３２０は、取得したサポート契約のレコードの中に、ＯＳ管理番号の欄がユーザから伝えられたＯＳ管理番号と一致するレコードがあるか確認する。図２１の例では、該当するレコードが存在しない。そこでサポート契約管理部３２０は、取り出したサポート契約のレコードの中に、ＯＳ管理番号の欄が空のレコードがあるか確認する。図２１の例では、ＯＳ管理番号の欄が空のレコードが存在しない。この場合、サポート契約管理部３２０は、新規サポート契約の提案を促すメッセージを表示する。サポート担当者４１は、メッセージを確認し、ユーザ３１に対して、新規のサポート契約の締結を提案する。
【０１０８】
このように、サポート契約の対象の本数以上のソフトウェアで不具合が発生すると、ユーザ３１は、サポート契約の本数を超えた分のソフトウェアについては、サポートを受けることができない。この場合、ユーザ３１が、サポート契約の本数を超えた分のソフトウェアについてのサポートを受けるために、不具合が発生したソフトウェアがインストールされているＯＳのＯＳ管理番号を偽る可能性がある。次に、ユーザが虚偽のＯＳ管理番号を伝えて、サポート依頼をした場合の対処について説明する。
【０１０９】
図２２は、虚偽のＯＳ管理番号を伝えてサポートを受けようとした場合の対処の一例を示す図である。図２２の例は、サーバ２１０内のＯＳ２１２にインストールされたソフトウェア２１２ｂで不具合が発生したにもかかわらず、ユーザ３１が、すでにサポート契約の対象となっているソフトウェア２１１ｂでの不具合であると虚偽の連絡をした場合である。ユーザ３１は、サポート担当者４１に対して、サポート依頼を行い、顧客名、虚偽のＯＳ管理番号（ｏｓ０１）、ソフトウェア名を伝える。そしてユーザ３１は、暗号化したファイル５６をサポート担当者４１に渡す。ファイル５６には、不具合の発生していないソフトウェア２１１ｂのログ２１１ｃが含まれている。
【０１１０】
サポート担当者４１は、顧客名、ＯＳ管理番号、ソフトウェア名をサポート契約管理サーバ３００に入力すると共に、サポート契約管理部３２０にファイル５６を復号させる。サポート契約管理部３２０は、ユーザ３１から伝えられたＯＳ管理番号（ｏｓ０１）のＯＳのログであることを確認する。しかし図２２の例では、ログ内に、不具合の発生した形跡は見つからない。そのためサポート契約管理部３２０は、ユーザ３１から伝えられた内容の不具合が起きていることを確認できない。そこでサポート契約管理部３２０は、不具合内容の再確認を促すメッセージを表示する。サポート担当者４１は、メッセージを確認し、ユーザ３１に対して、不具合内容の再確認を依頼する連絡をする。
【０１１１】
このように、ユーザ３１が虚偽のＯＳ管理番号を伝えたとしても、サポート契約の本数を超えてソフトウェアのサポートをせずに済む。
以上が、基本的なサポート契約の管理方法である。以上の方法でサポート契約を管理することで、ソフトウェアが仮想マシン上にインストールされている場合でもその個体を特定し、サポート契約と結びつけることができる。すなわち、ユーザ３１がサポート担当者４１に問い合わせを行った際に、サポート担当者４１はユーザの問い合わせ内容が正しいかどうかを正しく判断することができ、適切な対応を行うことができる。
【０１１２】
＜ＯＳごと仮想マシンがコピーされた場合の対処手順＞
次に、ＯＳごと仮想マシンがコピーされた場合の対処手順について説明する。
仮想マシンはコンピュータ上で動作する擬似的なコンピュータシステムであり、コピーを行うことが可能である。コピーを行った場合仮想マシン上のＯＳごとコピーが行われ、ＯＳの個体を特定する情報ごとコピーが行われてしまう。上記のサポートサービスの提供手順では、各ＯＳにＯＳ管理番号を割り当てているが、仮想マシンのコピーを行った場合、管理サーバ１００から、同じＯＳ管理番号を持つＯＳが複数認識できるようになってしまう。その結果、ＯＳ管理番号とサポート契約が１対１で結びつかなくなってしまう。
【０１１３】
このような仮想マシンのコピーに対応するため、第２の実施の形態では、ＯＳ管理番号とは別に、各ＯＳにＯＳ管理キーを対応付けている。管理サーバ１００は、ＯＳ管理キーを、定期的もしくは所定の操作が行われるたびに更新する。すなわち管理サーバ１００は、適宜、新たにＯＳ管理キーを生成し、それをＯＳのレジストリと、管理サーバ１００内のＯＳ情報データベース１１０に上書きする。これによってＯＳがコピーされ複数に枝分かれしても、管理サーバはＯＳ管理キーを参照することで、それぞれを別のＯＳとして認識し、それぞれに別のＯＳ管理番号を改めて割り当てることが可能となる。その結果、仮想マシンのコピーが行われた場合であっても、１つのサポート契約で複数のソフトウェアに対してサポートしてしまうことが抑止される。
【０１１４】
図２３は、仮想マシンをコピーする前の運用状態の一例を示す図である。図２３の例では、サーバ２１０内のＯＳ２１１に管理対象のソフトウェア２１１ｂがインストールされており、他のＯＳには、管理対象のソフトウェアのインストールは行われていないものとする。また管理サーバ１００には、すでにＯＳ２１１についてのＯＳ情報の登録が済んでいる。さらに、顧客企業３０とサービス提供業者４０との間で、１本のソフトウェアについてのサポート契約が締結されている。そしてサポート担当者４１により、サポート契約に関する情報が、サポート契約管理サーバ３００のサポート契約情報データベース３１０に登録されている。
【０１１５】
このような状態のときに、ＯＳごと仮想マシンのコピーが行われた場合を考える。
図２４は、仮想マシンのコピーが行われた後の状態の一例を示す図である。図２４の例では、ＯＳ２１１を実行しているサーバ２１０内の仮想マシンのコピーが、サーバ２２０に作成されている。その結果、サーバ２２０では、ＯＳ２１１と同じ内容を有するＯＳ２２３が実行されている。すなわち、ＯＳ２２３には、ＯＳ２１１にインストールされていたソフトウェア２１１ｂと同じソフトウェア２２３ｂがインストールされている。ＯＳ２１１内にソフトウェア２１１ｂのログ２１１ｃが含まれていた場合、ログ２１１ｃと同じ内容を有するログ２２３ｃが、コピー先のＯＳ２２３にも含まれる。
【０１１６】
さらにコピー直後は、ＯＳ２２３のレジストリ２２３ａには、ＯＳ２１１のレジストリ２１１ａと同じ情報が設定されている。ＩＰアドレスまで同一だと、２つのＯＳ２１１，２２３を同時に同じネットワークに接続することができない。そこで、一方のＯＳ（図２４の例では、コピー先のＯＳ２２３）のＩＰアドレスは変更されている。
【０１１７】
このように、仮想マシンのコピーが行われた結果、コピー元の仮想マシンで実行されているＯＳ２１１と同じＯＳ管理番号およびＯＳ管理キーを有するＯＳ２２３が生成される。このままの状態では、ソフトウェアのサポート対象の特定が困難となる。そこで、管理サーバ１００は、ＯＳ管理キーの定期更新を行う。
【０１１８】
図２５は、ＯＳ管理キーの定期更新状況の一例を示す図である。ＯＳ状態監視部１３０は、設定された時間間隔で、定期的に以下の処理を行う。
まずＯＳ状態監視部１３０は、ＯＳ情報データベース１１０から、すでに登録してあるＯＳの情報を示すレコードを取得する。次にＯＳ状態監視部１３０は、取得したレコードに示されているＩＰアドレスに対応するＯＳ２１１のレジストリ２１１ａに、新たなＯＳ管理キーを書き込む。図２５の例では、ＯＳ管理キーが「ａａａ」から「ａａｂ」に更新されている。さらにＯＳ状態監視部１３０は、ＯＳ２１１に新たに設定したＯＳ管理キーを、ＯＳ情報データベース１１０内の対応するレコードのＯＳ管理キーの欄に書き込む。
【０１１９】
このように第２の実施の形態では、ＯＳ情報データベース１１０に登録されているＯＳの情報に基づいて、管理サーバ１００で認識しているＯＳのＯＳ管理キーの定期更新を行っている。これにより、仮想マシンのコピーが行われ、コピー元のＯＳとコピー先のＯＳとをＯＳ管理キーに基づいて区別可能となる。
【０１２０】
ＯＳ管理キーの更新は、例えば、新たなＯＳの情報を管理サーバ１００に登録する際にも行われる。
図２６は、ＯＳ情報がすでに登録されている場合における他のＯＳ情報の登録状況の一例を示す第１の図である。ユーザ３１がユーザインタフェース１２０に、管理対象のソフトウェア２２３ｂがインストールされたＯＳ２２３の登録指示を入力する。登録指示には、ＯＳ２２３のＩＰアドレスが含まれる。入力された登録指示は、ユーザインタフェース１２０で受け取られ、ＯＳ状態監視部１３０に転送される。
【０１２１】
登録指示を受信したＯＳ状態監視部１３０は、まずＯＳ情報データベース１１０から、すでに登録されているＯＳ情報を示すレコードを取得する。ＯＳ状態監視部１３０は、取得したレコードに示されているＩＰアドレスに対応するＯＳ２１１のレジストリ２１１ａに、新たなＯＳ管理キーを書き込む。図２６の例では、ＯＳ管理キーが「ａａｂ」から「ａａｃ」に更新されている。さらにＯＳ状態監視部１３０は、ＯＳ２１１に新たに設定したＯＳ管理キーを、ＯＳ情報データベース１１０内の対応するレコードのＯＳ管理キーの欄に書き込む。
【０１２２】
その後、登録指示に応じたＯＳ情報の登録処理が行われる。
図２７は、ＯＳ情報がすでに登録されている場合における他のＯＳ情報の登録状況の一例を示す第２の図である。ＯＳ状態監視部１３０は、まず管理対象のＯＳ２２３のレジストリ２２３ａから、ＯＳ管理番号、ＯＳ管理キー、インストール有無フラグの各情報を取得する。この段階では、図２６に示したレジストリ２２３ａ内の情報が取得される。次にＯＳ状態監視部１３０は、ＯＳ情報データベース１１０を参照し、取得したＯＳ管理番号がすでに登録されていないか確認する。図２７の例では、確認段階では登録済みである。
【０１２３】
ＯＳ状態監視部１３０は、ＯＳ管理番号がＯＳ情報データベース１１０に登録されている場合、レジストリ２２３ａ内のＯＳ管理キーと、ＯＳ情報データベース１１０に登録されているレコードに含まれるＯＳ管理キーとが一致するかどうかを照合する。図２７の例では、ＯＳ管理キーが一致しない。この場合、ＯＳ状態監視部１３０は、ユーザインタフェース１２０を介して、新たなＯＳ管理番号になることを、ユーザ３１に通知する。
【０１２４】
そして、ＯＳ状態監視部１３０は、ＯＳ管理番号とＯＳ管理キーとを新規に作成し、ＯＳ２２３のレジストリ２２３ａに書き込む。さらにＯＳ状態監視部１３０は、ＯＳ２２３のレジストリ２２３ａに登録されているソフトウェア２２３ｂに関する情報を含む新規のレコードを、ＯＳ情報データベース１１０に登録する。図２７の例では、ＯＳ２２３のＩＰアドレス「１９２．１６８．１０．１１」、ＯＳ管理番号「ｏｓ０２」、ＯＳ管理キー「ｂｂｂ」、およびインストール有無フラグ「○」が設定されたレコードが、ＯＳ情報データベース１１０に登録されている。
【０１２５】
このようにして、ＯＳ情報の登録指示が管理サーバ１００に入力された場合、すでに登録されているＯＳ情報に示されるＯＳのＯＳ管理キーが更新される。
ところで、図２７に示した処理では、コピー先のＯＳのＯＳ管理番号は新たに生成された値に変更されているが、コピー元のＯＳのＯＳ管理番号は変更されていない。しかし、運用形態によっては、逆に、コピー元のＯＳのＯＳ管理番号が新たに生成された値に変更され、コピー先のＯＳのＯＳ管理番号は変更されない場合もある。コピー元のＯＳのＯＳ管理番号が変更される場合としては、例えば仮想マシンのコピーを行った後に、コピー元の仮想マシンを有するサーバの電源が切られた場合がある。
【０１２６】
以下、図２４に示したような仮想マシンのコピーが行われた後、ＯＳ管理キーの更新が行われる前に、コピー元のＯＳを有するサーバの電源が遮断された場合を想定し、コピー元のＯＳのＯＳ管理番号が変更される場合の処理について説明する。
【０１２７】
図２８は、コピー元のＯＳを有するサーバの電源遮断後のＯＳ管理キーの定期更新状況の一例を示す図である。まずＯＳ状態監視部１３０は、ＯＳ情報データベース１１０から、すでに登録してあるＯＳの情報を示すレコードを取得する。次にＯＳ状態監視部１３０は、取得したレコードに示されているＩＰアドレスに対応するＯＳ２１１のレジストリ２１１ａへの、新たなＯＳ管理キーの書き込みを試みる。しかし、サーバ２１０の電源が遮断されており、ＯＳ状態監視部１３０は、ＯＳ２１１のレジストリ２１１ａにアクセスすることができない。そのため、ＯＳ管理キーの書き込みは失敗となり、ＯＳ管理キーの更新は行われずに、ＯＳ管理キーの定期更新処理は終了する。
【０１２８】
図２９は、コピー元のＯＳを有するサーバの電源遮断後におけるＯＳ情報の登録に伴うＯＳ管理キーの更新状況の一例を示す第１の図である。ユーザ３１がユーザインタフェース１２０に、管理対象のソフトウェア２２３ｂがインストールされたＯＳ２２３の登録指示を入力する。登録指示には、ＯＳ２２３のＩＰアドレスが含まれる。入力された登録指示は、ユーザインタフェース１２０で受け取られ、ＯＳ状態監視部１３０に転送される。
【０１２９】
登録指示を受信したＯＳ状態監視部１３０は、まずＯＳ情報データベース１１０から、すでに登録されているＯＳ情報を示すレコードを取得する。ＯＳ状態監視部１３０は、取得したレコードに示されているＩＰアドレスに対応するＯＳ２１１のレジストリ２１１ａに、新たなＯＳ管理キーの書き込みを試みる。しかし、サーバ２１０の電源が遮断されており、ＯＳ状態監視部１３０は、ＯＳ２１１のレジストリ２１１ａにアクセスすることができない。そのため、ＯＳ管理キーの書き込みは失敗となり、ＯＳ管理キーの更新は行われずに、登録指示に応じたＯＳ情報の登録処理が行われる。
【０１３０】
図３０は、コピー元のＯＳを有するサーバの電源遮断後におけるＯＳ情報の登録に伴うＯＳ管理キーの更新状況の一例を示す第２の図である。ＯＳ状態監視部１３０は、まず管理対象のＯＳ２２３のレジストリ２２３ａから、ＯＳ管理番号、ＯＳ管理キー、インストール有無フラグの各情報を取得する。次にＯＳ状態監視部１３０は、ＯＳ情報データベース１１０を参照し、取得したＯＳ管理番号がすでに登録されていないか確認する。図３０の例では、登録済みである。
【０１３１】
ＯＳ状態監視部１３０は、取得したＯＳ管理番号がＯＳ情報データベース１１０に登録されている場合、そのＯＳ管理番号を含むレコードのＯＳ管理キーと、ＯＳ２２３から取得したＯＳ管理キーとが一致するかどうかを確認する。図３０の例では、ＯＳ管理キーが一致する。ＯＳ状態監視部１３０は、ＯＳ管理キーが一致する場合、指示されたＯＳ情報がすでに登録済みであると判断して、新規の登録は行わない。
【０１３２】
ただし、ＯＳ２２３のＩＰアドレス「１９２．１６８．１０．１１」と、ＯＳ情報データベース１１０に登録されているＯＳ２２３の情報を示すレコードに設定されているＩＰアドレス「１９２．１６８．１０．１０」とが異なっている。そこで、ＯＳ状態監視部１３０は、該当レコードのＩＰアドレスを「１９２．１６８．１０．１１」に変更する。そしてＯＳ状態監視部１３０は、登録されているＩＰアドレスを変更したことを、ユーザインタフェース１２０に通知する。ユーザインタフェース１２０は、登録されているＩＰアドレスが変更されたことを、モニタ２１に表示する。
【０１３３】
以後、管理サーバ１００では、ＯＳ管理キー「ａａａ」に対応するＯＳが、コピー先のＯＳ２２３であると認識する。その後、サーバ２１０の電源が遮断されたまま、ＯＳ管理キーの定期更新が行われたものとする。
【０１３４】
図３１は、登録済みのＯＳ情報のコピー先のＯＳへの割り当て後におけるＯＳ管理キーの定期更新状況の一例を示す図である。ＯＳ状態監視部１３０は、ＯＳ情報データベース１１０から、すでに登録してあるＯＳの情報を示すレコードを取得する。次にＯＳ状態監視部１３０は、取得したレコードに示されているＩＰアドレスに対応するＯＳ２２３のレジストリ２２３ａに、新たなＯＳ管理キーを書き込む。図３１の例では、ＯＳ管理キーが「ａａａ」から「ａａｂ」に更新されている。さらにＯＳ状態監視部１３０は、ＯＳ２２３に新たに設定したＯＳ管理キーを、ＯＳ情報データベース１１０内の対応するレコードのＯＳ管理キーの欄に書き込む。
【０１３５】
その後、サーバ２１０に電源が投入され、ＯＳ２１１が起動されたものとする。図３０に示した処理により、現在、ＯＳ情報データベース１１０に登録されているレコードは、ＯＳ２２３のＯＳ情報を示している。そこで、ユーザ３１は、ＯＳ２１１の起動完了後、ＯＳ２１１の登録指示を管理サーバ１００に対して入力する。
【０１３６】
図３２は、コピー元のＯＳの再起動後のＯＳ情報の登録状況の一例を示す第１の図である。ユーザ３１がユーザインタフェース１２０に、管理対象のソフトウェア２１１ｂがインストールされたＯＳ２１１の登録指示を入力する。登録指示には、ＯＳ２１１のＩＰアドレスが含まれる。入力された登録指示は、ユーザインタフェース１２０で受け取られ、ＯＳ状態監視部１３０に転送される。
【０１３７】
登録指示を受信したＯＳ状態監視部１３０は、まずＯＳ情報データベース１１０から、すでに登録されているＯＳ情報を示すレコードを取得する。ＯＳ状態監視部１３０は、取得したレコードに示されているＩＰアドレスに対応するＯＳ２２３のレジストリ２２３ａに、新たなＯＳ管理キーを書き込む。図３２の例では、ＯＳ管理キーが「ａａｂ」から「ａａｃ」に更新されている。さらにＯＳ状態監視部１３０は、ＯＳ２２３に新たに設定したＯＳ管理キーを、ＯＳ情報データベース１１０内の対応するレコードのＯＳ管理キーの欄に書き込む。
【０１３８】
その後、登録指示に応じたＯＳ情報の登録処理が行われる。
図３３は、コピー元のＯＳの再起動後のＯＳ情報の登録状況の一例を示す第２の図である。ＯＳ状態監視部１３０は、まず管理対象のＯＳ２１１のレジストリ２１１ａから、ＯＳ管理番号、ＯＳ管理キー、インストール有無フラグの各情報を取得する。次にＯＳ状態監視部１３０は、ＯＳ情報データベース１１０を参照し、取得したＯＳ管理番号がすでに登録されていないか確認する。図３３の例では、確認段階では未登録である。
【０１３９】
ＯＳ状態監視部１３０は、ＯＳ管理番号がＯＳ情報データベース１１０に登録されていない場合、ＯＳ管理番号、ＯＳ管理キーを新規に作成し、ＯＳ２１１のレジストリ２１１ａに書き込む。さらにＯＳ状態監視部１３０は、ＯＳ２１１のレジストリ２１１ａに登録されているソフトウェア２１１ｂに関する情報を含む新規のレコードを、ＯＳ情報データベース１１０に登録する。図３３の例では、ＯＳ２１１のＩＰアドレス「１９２．１６８．１０．１０」、ＯＳ管理番号「ｏｓ０２」、ＯＳ管理キー「ｂｂｂ」、およびインストール有無フラグ「○」が設定されたレコードが、ＯＳ情報データベース１１０に登録されている。
【０１４０】
このように、仮想マシンのコピーによって、同じＯＳ管理番号およびＯＳ管理キーを有するＯＳが複数存在することになった場合、管理サーバ１００は最初に情報取得ができたほうのＯＳを、すでに認識しているＯＳであると認識する。そして管理サーバ１００は、後から情報を取得したほうのＯＳを新規のＯＳとして認識する。
【０１４１】
このように、ＯＳ管理番号にＯＳ管理キーを組み合わせ、認識しているＯＳ管理キーを適宜更新することで、ＯＳごと仮想マシンがコピーされた場合でも、コピー元のＯＳとコピー先のＯＳとの区別が可能となる。
【０１４２】
＜全体を通した処理手順＞
以下、第２の実施の形態における一連の処理手順を、さらに具体的に説明する。なお、ライセンス数分のＯＳへのソフトウェアのインストール、および顧客企業３０とサービス提供業者４０との間のソフトウェアのサポート契約は、すでに完了しているものとする。
【０１４３】
まず、ＯＳ情報を管理サーバ１００に登録する際の処理手順について詳細に説明する。
図３４は、ＯＳ情報の登録処理の手順の前半を示すシーケンス図である。以下、図３４に示す処理を、ステップ番号に沿って説明する。
【０１４４】
［ステップＳ１０１］ユーザインタフェース１２０は、ユーザ３１が入力したＯＳの登録指示を取得する。ＯＳの登録指示には、登録対象のＯＳのＩＰアドレスが含まれる。
［ステップＳ１０２］ユーザインタフェース１２０は、取得したＯＳの登録指示を、ＯＳ状態監視部１３０に転送する。
【０１４５】
［ステップＳ１０３］ＯＳの登録指示を受信したＯＳ状態監視部１３０は、ＯＳ情報データベース１１０に対して、ＯＳ情報を示す全レコードの呼び出し要求を送信する。
［ステップＳ１０４］ＯＳ情報データベース１１０は、ＯＳ情報を示す全レコードを、ＯＳ状態監視部１３０に送信する。
【０１４６】
［ステップＳ１０５］ＯＳ状態監視部１３０は、ＯＳ情報データベース１１０にＯＳ情報が存在するか否かを判断する。例えばＯＳ状態監視部１３０は、ＯＳ情報データベース１１０から、少なくとも１つのレコードを受信した場合、ＯＳ情報が存在すると判断する。また、ＯＳ状態監視部１３０は、ＯＳ情報データベース１１０から、１つのレコードも受信できなかった場合、ＯＳ情報が存在しないと判断する。ＯＳ状態監視部１３０は、ＯＳ情報が存在した場合、処理をステップＳ１０６に進める。またＯＳ状態監視部１３０は、ＯＳ情報が存在しない場合、処理をステップＳ１２１（図３５参照）に進める。
【０１４７】
［ステップＳ１０６］ＯＳ状態監視部１３０は、取得したＯＳ情報のレコードの数分だけ、ステップＳ１０７〜Ｓ１１０の処理を実行する。すなわちＯＳ状態監視部１３０は、ＯＳ情報データベース１１０から取得したレコードを１つずつ選択し、選択したレコードに対して、ステップＳ１０７〜Ｓ１１０の処理を行う。図３４の例では、ＯＳ２１１のＯＳ情報を示すレコードが取得できた場合の処理が、ステップＳ１０７〜Ｓ１１０に示されている。
【０１４８】
［ステップＳ１０７］ＯＳ状態監視部１３０は、新規のＯＳ管理キーを生成し、選択したレコードに対応するＯＳ２１１のレジストリ２１１ａに、生成したＯＳ管理キーを書き込む。例えばＯＳ状態監視部１３０は、ＯＳ２１１に対して、レジストリ２１１ａへのＯＳ管理キーの書き込み要求を送信する。
【０１４９】
［ステップＳ１０８］ＯＳ２１１は、ＯＳ状態監視部１３０へ、レジストリ２１１ａへの書き込み結果を応答する。例えばＯＳ２１１は、書き込みが成功した場合、書き込みコマンドの正常終了を応答する。またＯＳ２１１は、書き込みに失敗した場合、書き込み失敗を示すエラーメッセージを応答する。
【０１５０】
［ステップＳ１０９］ＯＳ状態監視部１３０は、書き込み結果の応答に基づいて、書き込みが成功したか否かを判断する。例えばＯＳ状態監視部１３０は、ＯＳ２１１から、書き込み成功の応答を受信した場合に、書き込みが成功したと判断する。またＯＳ状態監視部１３０は、エラーメッセージの応答を受信した場合や、ＯＳ２１１との通信接続に失敗した場合、書き込みに失敗したと判断する。ＯＳ状態監視部１３０は、書き込みに成功した場合、処理をステップＳ１１０に進める。またＯＳ状態監視部１３０は、書き込みに失敗した場合、処理をステップＳ１１２に進める。
【０１５１】
［ステップＳ１１０］ＯＳ状態監視部１３０は、ＯＳ２１１のレジストリ２１１ａに書き込んだＯＳ管理キーを、ＯＳ情報データベース１１０内のＯＳ２１１のＯＳ情報を示すレコードに書き込む。
【０１５２】
［ステップＳ１１１］ＯＳ情報データベース１１０は、ＯＳ管理キーの書き込み後、書き込み成功を示す書き込み結果応答を、ＯＳ状態監視部１３０に送信する。
［ステップＳ１１２］ＯＳ状態監視部１３０は、ＯＳ情報データベース１１０から取得したすべてのレコードに対する処理が完了すると、処理をステップＳ１２１（図３５参照）に進める。
【０１５３】
図３５は、ＯＳ情報の登録処理の手順の後半を示すシーケンス図である。以下、図３５に示す処理を、ステップ番号に沿って説明する。なお、ＯＳの登録指示には、ＯＳ２２３のＩＰアドレスが含まれていたものとする。
【０１５４】
［ステップＳ１２１］ＯＳ状態監視部１３０は、ＯＳ２２３のレジストリ２２３ａから、ＯＳ管理番号、ＯＳ管理キー、インストール有無フラグの各情報を取得する。例えばＯＳ状態監視部１３０は、ＯＳ２２３に対して、レジストリ２２３ａ内のＯＳ管理番号、ＯＳ管理キー、およびインストール有無フラグの読み出し要求を送信する。
【０１５５】
［ステップＳ１２２］ＯＳ２２３は、読み出し要求に応じて、レジストリ２２３ａ内のＯＳ管理番号、ＯＳ管理キー、およびインストール有無フラグの各情報を、ＯＳ状態監視部１３０に送信する。なおＯＳ２２３は、図２４に示したように、他のＯＳのコピーの場合、ＯＳの登録指示の際にすでにＯＳ管理番号とＯＳ管理キーとが設定されている。他方、他のＯＳのコピーでなければ、ＯＳ管理番号とＯＳ管理キーとは未設定である。ＯＳ２２３は、レジストリ２２３ａにＯＳ管理番号とＯＳ管理キーとが未設定の場合、インストール有無フラグのみをＯＳ状態監視部１３０に送信する。
【０１５６】
［ステップＳ１２３］ＯＳ状態監視部１３０は、ＯＳ管理番号とＯＳ管理キーとを取得できたか否かを判断する。ＯＳ状態監視部１３０は、ＯＳ管理番号とＯＳ管理キーとを取得できた場合、処理をステップＳ１２４に進める。またＯＳ状態監視部１３０は、ＯＳ管理番号とＯＳ管理キーとを取得できなかった場合、処理をステップＳ１３１に進める。
【０１５７】
［ステップＳ１２４］ＯＳ状態監視部１３０は、ＯＳ２２３から取得したＯＳ管理番号を含むレコードを、ＯＳ情報データベース１１０から検索する。
［ステップＳ１２５］ＯＳ情報データベース１１０は、指定されたＯＳ管理番号を含むレコードを、検索結果としてＯＳ状態監視部１３０に送信する。なお、該当するレコードがない場合、ＯＳ情報データベース１１０は、該当レコードなしを示す応答を、ＯＳ状態監視部１３０に送信する。
【０１５８】
［ステップＳ１２６］ＯＳ状態監視部１３０は、ＯＳ２２３から取得したＯＳ管理番号が、ＯＳ情報データベース１１０に登録済みか否かを判断する。例えばＯＳ状態監視部１３０は、ＯＳ情報データベース１１０に対する検索により、該当するレコードが見つかった場合、登録済みであると判断する。ＯＳ状態監視部１３０は、ＯＳ２２３から取得したＯＳ管理番号が登録済みであれば、処理をステップＳ１２７に進める。またＯＳ状態監視部１３０は、ＯＳ２２３から取得したＯＳ管理番号が未登録であれば、処理をステップＳ１３１に進める。
【０１５９】
［ステップＳ１２７］ＯＳ状態監視部１３０は、ＯＳ２２３から取得したＯＳ管理キーと、ＯＳ情報データベース１１０から取得したレコードに含まれるＯＳ管理キーとが一致するか否かを照合する。
【０１６０】
［ステップＳ１２８］ＯＳ状態監視部１３０は、ＯＳ管理キーが一致した場合、処理をステップＳ１３７に進める。またＯＳ状態監視部１３０は、ＯＳ管理キーが一致しない場合、処理をステップＳ１２９に進める。
【０１６１】
［ステップＳ１２９］ＯＳ状態監視部１３０は、新たなＯＳ管理番号を割り当てることを示す情報を、ユーザインタフェース１２０に通知する。
［ステップＳ１３０］ユーザインタフェース１２０は、新たなＯＳ管理番号を割り当てることを示すメッセージを、モニタ２１に表示する。
【０１６２】
［ステップＳ１３１］ＯＳ状態監視部１３０は、ＯＳ管理番号とＯＳ管理キーとを、ＯＳ２２３のレジストリ２２３ａに書き込む。
［ステップＳ１３２］ＯＳ２２３は、ＯＳ管理番号とＯＳ管理キーとの書き込み結果の応答を、ＯＳ状態監視部１３０に送信する。
【０１６３】
［ステップＳ１３３］ＯＳ状態監視部１３０は、新規のレコードをＯＳ情報データベース１１０に登録する。登録されるレコードには、ＯＳ２２３のＩＰアドレス、ステップＳ１３１で書き込んだＯＳ管理番号およびＯＳ管理キー、ステップＳ１２１，１２２の処理で取得したインストール有無フラグが含まれる。
【０１６４】
［ステップＳ１３４］ＯＳ情報データベース１１０は、レコードの書き込み後、書き込み結果の応答を、ＯＳ状態監視部１３０に送信する。
［ステップＳ１３５］ＯＳ状態監視部１３０は、操作結果をユーザインタフェース１２０に通知する。
【０１６５】
［ステップＳ１３６］ユーザインタフェース１２０は、通知された操作結果をモニタ２１に表示する。
ステップＳ１２８でＯＳ管理キーが一致しないと判断された場合、以上でＯＳ情報の登録処理が終了する。以下は、ステップＳ１２８でＯＳ管理キーが一致すると判断された場合の処理である。
【０１６６】
［ステップＳ１３７］ＯＳ状態監視部１３０は、ＩＰアドレスを変更することを、ユーザインタフェース１２０に通知する。
［ステップＳ１３８］ユーザインタフェース１２０は、ＩＰアドレスを変更する旨のメッセージを、モニタ２１に表示する。
【０１６７】
［ステップＳ１３９］ＯＳ状態監視部１３０は、ＯＳ情報データベース１１０における、ステップＳ１２４の検索でヒットしたレコードのＩＰアドレスを、取得したＯＳ情報の登録指示に含まれるＩＰアドレスに変更する。
【０１６８】
［ステップＳ１４０］ＯＳ情報データベース１１０は、変更後のＩＰアドレスを該当レコードに書き込み、書き込み結果の応答を、ＯＳ状態監視部１３０に送信する。
［ステップＳ１４１］ＯＳ状態監視部１３０は、操作結果をユーザインタフェース１２０に通知する。
【０１６９】
［ステップＳ１４２］ユーザインタフェース１２０は、通知された操作結果をモニタ２１に表示する。
このようにして、ＯＳ情報の登録指示に応じて、その登録指示に示されるＯＳのＯＳ情報が、ＯＳ情報データベース１１０に登録される。
【０１７０】
次に、インストールの有無を示す情報の定期取得処理について説明する。
図３６は、インストール情報定期取得処理の手順の一例を示すシーケンス図である。以下、図３６に示す処理をステップ番号に沿って説明する。
【０１７１】
［ステップＳ２０１］ＯＳ状態監視部１３０は、予め設定された時間ごとに、ステップＳ２０２〜Ｓ２１０の処理を実行する。
［ステップＳ２０２］ＯＳ状態監視部１３０は、ＯＳ情報データベース１１０に、登録されたＯＳ情報を示すレコードの取得要求を送信する。
【０１７２】
［ステップＳ２０３］ＯＳ情報データベース１１０は、ＯＳ情報を示すレコードをＯＳ状態監視部１３０に送信する。
［ステップＳ２０４］ＯＳ状態監視部１３０は、ＯＳ情報のレコードを取得できたか否かを判断する。ＯＳ状態監視部１３０は、レコードを取得できた場合、処理をステップＳ２０５に進める。またＯＳ状態監視部１３０は、レコードを取得できなかった場合、処理をステップＳ２１１に進める。
【０１７３】
［ステップＳ２０５］ＯＳ状態監視部１３０は、ＯＳ情報データベース１１０に登録されていたレコードごとに、ステップＳ２０６〜Ｓ２１０の処理を実行する。
以下、ＯＳ２１２の情報を示すレコードに対する処理を実行するものとして、ステップＳ２０６〜Ｓ２０９の処理を説明する。
【０１７４】
［ステップＳ２０６］ＯＳ状態監視部１３０は、処理対象のレコードに対応するＯＳ２１２のレジストリ２１２ａ内のインストール有無フラグの取得要求を、ＯＳ２１２に送信する。
【０１７５】
［ステップＳ２０７］ＯＳ２１２は、レジストリ２１２ａ内のインストール有無フラグを、ＯＳ状態監視部１３０に送信する。
［ステップＳ２０８］ＯＳ状態監視部１３０は、ＯＳ情報データベース１１０に対して、ＯＳ２１２に対応するレコードへのＯＳ２１２から取得したインストール有無フラグの書き込み要求を送信する。
【０１７６】
［ステップＳ２０９］ＯＳ情報データベース１１０は、インストール有無フラグの書き込みを行い、書き込み結果を示す応答を、ＯＳ状態監視部１３０に送信する。
［ステップＳ２１０］ＯＳ状態監視部１３０は、ＯＳ情報データベース１１０から取得したすべてのレコードに対する処理が完了した場合、処理をステップＳ２１１に進める。
【０１７７】
［ステップＳ２１１］ＯＳ状態監視部１３０は、例えばユーザ３１により、インストール情報の定期取得処理の終了指示が入力されたとき、ステップＳ２０２〜Ｓ２１０の繰り返し処理の実行を終了する。
【０１７８】
このようにして、例えば図１４に示したように、各サーバにソフトウェアがインストールされているか否かを示す情報が、管理サーバ１００で取得され、ＯＳ情報データベース１１０に反映される。
【０１７９】
次に、ＯＳ管理キーの定期更新処理手順について説明する。
図３７は、ＯＳ管理キー定期更新処理の手順の一例を示すシーケンス図である。以下、図３７に示す処理をステップ番号に沿って説明する。
【０１８０】
［ステップＳ３０１］ＯＳ状態監視部１３０は、予め設定された時間ごとに、ステップＳ３０２〜Ｓ３１１の処理を実行する。
［ステップＳ３０２］ＯＳ状態監視部１３０は、ＯＳ情報データベース１１０に、登録されたＯＳ情報を示すレコードの取得要求を送信する。
【０１８１】
［ステップＳ３０３］ＯＳ情報データベース１１０は、ＯＳ情報を示すレコードをＯＳ状態監視部１３０に送信する。
［ステップＳ３０４］ＯＳ状態監視部１３０は、ＯＳ情報のレコードを取得できたか否かを判断する。ＯＳ状態監視部１３０は、レコードを取得できた場合、処理をステップＳ３０５に進める。またＯＳ状態監視部１３０は、レコードを取得できなかった場合、処理をステップＳ３１２に進める。
【０１８２】
［ステップＳ３０５］ＯＳ状態監視部１３０は、ＯＳ情報データベース１１０に登録されていたレコードごとに、ステップＳ３０６〜Ｓ３１０の処理を実行する。
以下、ＯＳ２１１の情報を示すレコードに対する処理を実行するものとして、ステップＳ３０６〜Ｓ３０９の処理を説明する。
【０１８３】
［ステップＳ３０６］ＯＳ状態監視部１３０は、新たなＯＳ管理キーを生成し、ＯＳ２１１のレジストリ２１１ａへの新たなＯＳ管理キーの書き込み要求を、ＯＳ２１１に送信する。
【０１８４】
［ステップＳ３０７］ＯＳ２１１は、ＯＳ管理キーをレジストリ２１１ａに書き込み、書き込み結果を示す応答を、ＯＳ状態監視部１３０に送信する。
［ステップＳ３０８］ＯＳ状態監視部１３０は、ＯＳ管理キーの書き込みが成功したか否かを判断する。ＯＳ状態監視部１３０は、書き込みが成功した場合、処理をステップＳ３０９に進める。またＯＳ状態監視部１３０は、書き込みに失敗した場合、処理をステップＳ３１１に進める。
【０１８５】
［ステップＳ３０９］ＯＳ状態監視部１３０は、ＯＳ情報データベース１１０に対して、ＯＳ２１１に対応するレコードへの新たなＯＳ管理キーの書き込み要求を送信する。
［ステップＳ３１０］ＯＳ情報データベース１１０は、ＯＳ管理キーの書き込みを行い、書き込み結果を示す応答を、ＯＳ状態監視部１３０に送信する。
【０１８６】
［ステップＳ３１１］ＯＳ状態監視部１３０は、ＯＳ情報データベース１１０から取得したすべてのレコードに対する処理が完了した場合、処理をステップＳ３１２に進める。
［ステップＳ３１２］ＯＳ状態監視部１３０は、例えばユーザ３１により、ＯＳ管理キーの定期取得処理の終了指示が入力されたとき、ステップＳ３０２〜Ｓ３１１の繰り返し処理の実行を終了する。
【０１８７】
このようにして、各ＯＳのＯＳ管理キーが定期的に更新される。
次に、ソフトウェアで不具合が発生し、サポートサービスを依頼する場合の処理について説明する。サポートサービスを依頼する場合、顧客企業３０側のシステムでは、ＯＳ管理番号特定処理と暗号ファイル作成処理とが行われる。
【０１８８】
図３８は、ＯＳ管理番号特定処理の手順の一例を示すフローチャートである。以下、図３８に示す処理をステップ番号に沿って説明する。
［ステップＳ４０１］ユーザインタフェース１２０は、ユーザ３１からの、ＯＳ管理番号問い合わせの入力を受け付ける。
【０１８９】
［ステップＳ４０２］ユーザインタフェース１２０は、ＯＳ管理番号問い合わせに示されるＩＰアドレスを指定したＯＳ管理番号取得要求を、ＯＳ状態監視部１３０に送信する。
【０１９０】
［ステップＳ４０３］ＯＳ状態監視部１３０は、ＩＰアドレスを指定したＯＳ管理暗号の読み出し要求を、ＯＳ情報データベース１１０に送信する。
［ステップＳ４０４］ＯＳ情報データベース１１０は、指定されたＩＰアドレスを含むレコードからＯＳ管理番号を読み出し、読み出したＯＳ管理番号を、ＯＳ状態監視部１３０に送信する。
【０１９１】
［ステップＳ４０５］ＯＳ状態監視部１３０は、取得したＯＳ管理番号をユーザインタフェース１２０に送信する。
［ステップＳ４０６］ユーザインタフェース１２０は、ＯＳ状態監視部１３０から送られたＯＳ管理番号を、ＯＳ管理番号問い合わせに応じた処理結果としてモニタ２１に表示する。
【０１９２】
これにより、ユーザ３１は、不具合が発生したソフトウェアがインストールされているＯＳのＯＳ管理番号を認識することができる。そしてユーザ３１が、ＯＳ管理番号を指定して、ログ取得指示を管理サーバ１００に入力すると、暗号ファイル作成処理が実行される。
【０１９３】
図３９は、暗号ファイル作成処理の手順の一例を示すフローチャートである。以下、図３９に示す処理をステップ番号に沿って説明する。
［ステップＳ５０１］ユーザインタフェース１２０は、ユーザ３１からの、ログ取得指示の入力を受け付ける。
【０１９４】
［ステップＳ５０２］ユーザインタフェース１２０は、ログ管理部１４０に対して、ＯＳ管理番号を指定したログ取得要求を送信する。
［ステップＳ５０３］ログ管理部１４０は、ＯＳ状態監視部１３０に対して、ＯＳ管理番号を指定した、ログとＯＳ管理キーとの取得要求を送信する。
【０１９５】
［ステップＳ５０４］ＯＳ状態監視部１３０は、指定されたＯＳ管理番号に対応するＯＳ２１１に対して、ＯＳ管理番号とＯＳ管理キーとの読み出し要求を送信する。
［ステップＳ５０５］ＯＳ２１１は、レジストリ２１１ａからＯＳ管理番号とＯＳ管理キーとを読み出し、読み出したＯＳ管理番号とＯＳ管理キーとをＯＳ状態監視部１３０に送信する。
【０１９６】
［ステップＳ５０６］ＯＳ状態監視部１３０は、ＯＳ２１１に対して、ログ２１１ｃの読み出し要求を送信する。
［ステップＳ５０７］ＯＳ２１１は、ログ２１１ｃを読み出し、読み出したログ２１１ｃをＯＳ状態監視部１３０に送信する。
【０１９７】
［ステップＳ５０８］ＯＳ状態監視部１３０は、読み出したＯＳ管理番号、ＯＳ管理キー、およびログ２１１ｃを、ログ管理部１４０に送信する。
［ステップＳ５０９］ログ管理部１４０は、ＯＳ管理番号、ＯＳ管理キー、およびログ２１１ｃを暗号化し、暗号データを生成する。そしてログ管理部１４０は、生成した暗号データを含むファイルを作成する。ログ管理部１４０は、作成したファイルを、処理の場所に格納する。
【０１９８】
［ステップＳ５１０］ログ管理部１４０は、ログの取得結果を、ユーザインタフェース１２０に通知する。
［ステップＳ５１１］ユーザインタフェース１２０は、ログの取得結果を、モニタ２１に表示する。例えば暗号化されたＯＳ管理番号、ＯＳ管理キー、およびログ２１１ｃを含むファイルの格納場所が、モニタ２１に表示される。
【０１９９】
ユーザ３１は、サポート担当者４１へのサポート依頼の際、ＯＳ管理番号と不具合内容とをサポート担当者４１に伝えると共に、サポート担当者４１に暗号化されたログ２１１ｃを含むファイルを渡す。サポート担当者４１は、受け取ったファイルを用いて、不具合のあったソフトウェアがサポート契約の対象か否かを判断する。
【０２００】
なお図１８〜図２２に示した例では、サポート担当者４１自身がサポート契約の対象か否かの判断を行っているが、その判断をサポート契約管理サーバ３００に実行させることもできる。以下、サポート契約管理サーバ３００による、サポート対象か否かを判断する処理（サポート契約確認処理）の手順について説明する。
【０２０１】
図４０は、サポート契約確認処理の手順の一例を示すフローチャートである。以下、図４０に示す処理をステップ場合に沿って説明する。
［ステップＳ６０１］サポート契約管理部３２０は、顧客名、ソフトウェア名、ＯＳ管理番号、および不具合内容の入力を受け付ける。例えばサポート担当者４１が、サポート契約管理部３２０によって表示された画面内の所定のフィールドに、顧客名などの情報を入力する。ＯＳ管理番号と不具合内容とは、サポート依頼の際にユーザ３１から伝えられた情報が入力される。不具合内容は、例えば不具合発生時に表示されたエラーコードである。サポート契約管理部３２０は、所定のフィールドに入力された各情報を取得する。
【０２０２】
［ステップＳ６０２］サポート契約管理部３２０は、暗号データを含むファイルを取得する。例えばサポート担当者４１が、サポート契約管理サーバ３００のストレージ装置内にファイルを格納し、そのファイルの格納場所を入力する。サポート契約管理部３２０は、入力された場所からファイルを取得する。
【０２０３】
［ステップＳ６０３］サポート契約管理部３２０は、取得したファイル内の暗号データを復号する。暗号データの復号により、ＯＳ管理番号、ＯＳ管理キー、およびログが取得できる。
【０２０４】
［ステップＳ６０４］サポート契約管理部３２０は、復号したデータ内のＯＳ管理番号と、ステップＳ６０１で入力されたＯＳ管理番号とを比較する。
［ステップＳ６０５］サポート契約管理部３２０は、ステップＳ６０４の比較において、ＯＳ管理番号が一致したか否かを判断する。サポート契約管理部３２０は、ＯＳ管理番号が一致した場合、処理をステップＳ６０７に進める。またサポート契約管理部３２０は、ＯＳ管理番号が不一致の場合、処理をステップＳ６０６に進める。
【０２０５】
［ステップＳ６０６］サポート契約管理部３２０は、ログの再取得の連絡を促すメッセージをモニタに表示する。サポート担当者４１は、表示されたメッセージを確認し、ユーザ３１から受け取ったログの採取元が間違っていることを認識し、ユーザ３１に対して、正しいログの再取得を依頼する。その後、サポート契約確認処理は終了する。
【０２０６】
［ステップＳ６０７］サポート契約管理部３２０は、入力された不具合内容と、ログに示されている不具合内容とを比較する。例えばサポート契約管理部３２０は、不具合内容を示すエラーコードを比較する。
【０２０７】
［ステップＳ６０８］サポート契約管理部３２０は、不具合内容が一致したか否かを判断する。サポート契約管理部３２０は、不具合内容が一致した場合、処理をステップＳ６１０に進める。またサポート契約管理部３２０は、不具合内容が不一致の場合、処理をステップＳ６０９に進める。
【０２０８】
［ステップＳ６０９］サポート契約管理部３２０は、不具合内容の再確認を促すメッセージをモニタに表示する。サポート担当者４１は、表示されたメッセージを確認し、ユーザ３１から受け取ったログの採取元、あるいは通知された不具合内容が間違っていることを認識し、ユーザ３１に対して、不具合内容の再確認を依頼する。その後、サポート契約確認処理は終了する。
【０２０９】
［ステップＳ６１０］サポート契約管理部３２０は、入力された顧客名とソフトウェア名との組に対応するレコードを、サポート契約情報データベース３１０から取得する。
［ステップＳ６１１］サポート契約管理部３２０は、取得したレコードの中に、入力されたＯＳ管理番号と一致するＯＳ管理番号を有するレコードがあるか否かを判断する。サポート契約管理部３２０は、該当するレコードがあれば、処理をステップＳ６１５に進める。またサポート契約管理部３２０は、該当するレコードがなければ、処理をステップＳ６１２に進める。
【０２１０】
［ステップＳ６１２］サポート契約管理部３２０は、取得したレコードの中に、ＯＳ管理番号が未設定のレコードがあるか否かを判断する。サポート契約管理部３２０は、該当するレコードがあれば、処理をステップＳ６１４に進める。またサポート契約管理部３２０は、該当するレコードがなければ、処理をステップＳ６１３に進める。
【０２１１】
［ステップＳ６１３］サポート契約管理部３２０は、新規サポート契約の提案を促すメッセージを、モニタに表示する。サポート担当者４１は、表示されたメッセージを確認することで、サポート契約の対象のソフトウェア本数が不足していることを認識し、ユーザ３１に対して新規のサポート契約を提案する。その後、サポート契約確認処理が終了する。
【０２１２】
［ステップＳ６１４］サポート契約管理部３２０は、取得したレコードのうちの、ＯＳ管理番号が未設定のレコードの１つに、入力されたＯＳ管理番号を設定する。サポート契約管理部３２０は、ＯＳ管理番号を設定したレコードを、サポート契約情報データベース３１０に書き戻す。
【０２１３】
［ステップＳ６１５］サポート契約管理部３２０は、サポート依頼によるサポート対象のソフトウェアが、サポート契約の適用対象であることをモニタに表示する。サポート担当者４１は、サポート契約の適用対象であることを示す表示を確認し、ユーザ３１に対してサポートを実施する。その後、サポート契約確認処理が終了する。
【０２１４】
このように、第２の実施の形態によれば、ソフトウェアが仮想マシン上にインストールされている場合でもその個体を特定し、サポート契約と結びつけることができる。その結果、ユーザ３１がサポート担当者４１にサポートを依頼した際に、サポート担当者４１は、ユーザの問い合わせ内容が正しいかどうかを判断することができ、適切な対応を行うことができる。
【０２１５】
さらに管理サーバ１００は、仮想マシンのコピーを行っても、コピー元とコピー先とのそれぞれの仮想マシンで動作しているＯＳを違う個体だと認識し、それぞれにＯＳ管理番号を割り当てることできる。これによって、仮想マシンのコピーが行われた場合でも、ソフトウェア１本分のサポート契約で、コピー元とコピー先との両方のソフトウェアに対してサポートを実施してしまうことを防ぐことができる。
【０２１６】
〔その他の実施の形態〕
第２の実施の形態において、図１７に示した例では、ユーザ３１は、ＯＳ管理番号の問い合わせと、ＯＳに関するログ取得指示とを個別に行っているが、これらの入力を１回で済ませることもできる。例えばユーザ３１は、ＯＳのＩＰアドレスを指定したログ取得指示を入力する。ユーザインタフェース１２０は、ログ取得指示を受け取り、ＩＰアドレスを指定したログ取得要求を、ログ管理部１４０に送信する。ログ管理部１４０は、ＩＰアドレスを指定して、ＯＳ管理番号、ＯＳ管理キー、およびログの取得要求を、ＯＳ状態監視部１３０に送信する。ＯＳ状態監視部１３０は、ＩＰアドレスに対応するＯＳのレジストリから、ＯＳ管理番号とＯＳ管理キーとを取得する。またＯＳ状態監視部１３０は、ＩＰアドレスに対応するＯＳからソフトウェアのログを取得する。ＯＳ状態監視部１３０は、取得したＯＳ管理番号、ＯＳ管理キー、およびログを、ログ管理部１４０に送信する。ログ管理部１４０は、取得したＯＳ管理番号、ＯＳ管理キー、およびログを暗号化し、暗号データを含むファイルを作成する。そしてログ管理部１４０は、ユーザインタフェース１２０に、ログ取得完了の応答を送信する。ユーザインタフェース１２０は、ログを含むファイルの格納が完了したことを、モニタ２１に表示する。このようにして、ログを含む暗号データを作成する際のユーザ３１の入力の手間を削減することができる。
【０２１７】
なお、第２の実施の形態では、ネットワーク上でＯＳを特定する情報としてＩＰアドレスを用いているが、他の情報でＯＳを特定してもよい。例えばＯＳに個体識別番号が設定されている場合、その個体識別番号によってＯＳを特定することもできる。
【０２１８】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０２１９】
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）  管理対象コンピュータ上で実行されているものと認識しているオペレーティングシステムに対応するレコードを記憶する記憶部と、
前記管理対象コンピュータ上で実行されている第１オペレーティングシステムの存在を認識すると、前記第１オペレーティングシステムに対応する第１識別子および第１管理キーを、前記第１オペレーティングシステムの設定情報を格納する第１格納領域に書き込み、前記第１識別子と前記第１管理キーとの組を含む第１レコードを、前記記憶部に格納し、所定のタイミングで、前記第１格納領域と前記第１レコードそれぞれに含まれる前記第１管理キーを、前記第１管理キーとは異なる値の第２管理キーに書き換え、前記管理対象コンピュータ上で実行されている第２オペレーティングシステムの存在を認識すると、前記第２オペレーティングシステムの設定情報を格納する第２格納領域から識別子と管理キーとを取得し、取得した前記識別子の値が前記第１識別子の値と一致し、かつ取得した前記管理キーの値が前記第２管理キーの値と一致しない場合、前記第２格納領域内の前記識別子を、前記第１識別子とは異なる値の第２識別子に書き換えると共に、前記第２格納領域内の前記管理キーを、前記第２管理キーとは異なる値の第３管理キーに書き換え、前記第２オペレーティングシステムに対応する前記第２識別子と前記第３管理キーとの組を含む第２レコードを、前記記憶部に格納する処理部と、
を有する情報処理装置。
【０２２０】
（付記２）  前記処理部は、前記第１管理キーの前記第２管理キーへの変更を、所定の時間間隔で定期的に実行する、
付記１記載の情報処理装置。
【０２２１】
（付記３）  前記処理部は、前記第１管理キーの前記第２管理キーへの変更を、前記第２オペレーティングシステムの存在の認識後、前記第２格納領域内の前記識別子の前記第２識別子への書き換え前に実行する、
付記１または２記載の情報処理装置。
【０２２２】
（付記４）  前記処理部は、取得した前記識別子の値が前記第１識別子の値と一致し、かつ取得した前記管理キーの値が前記第１管理キーの値と一致する場合、前記第２格納領域内の前記管理キーと、前記第１レコード内の前記第１管理キーとを、前記第１管理キーとは異なる値の第４管理キーに書き換える、
付記１ないし３のいずれかに記載の情報処理装置。
【０２２３】
（付記５）  コンピュータに、
管理対象コンピュータ上で実行されている第１オペレーティングシステムの存在を認識すると、前記第１オペレーティングシステムに対応する第１識別子および第１管理キーを、前記第１オペレーティングシステムの設定情報を格納する第１格納領域に書き込み、
前記第１識別子と前記第１管理キーとの組を含む第１レコードを、記憶部に格納し、
所定のタイミングで、前記第１格納領域と前記第１レコードそれぞれに含まれる前記第１管理キーを、前記第１管理キーとは異なる値の第２管理キーに書き換え、
前記管理対象コンピュータ上で実行されている第２オペレーティングシステムの存在を認識すると、前記第２オペレーティングシステムの設定情報を格納する第２格納領域から識別子と管理キーとを取得し、
取得した前記識別子の値が前記第１識別子の値と一致し、かつ取得した前記管理キーの値が前記第２管理キーの値と一致しない場合、前記第２格納領域内の前記識別子を、前記第１識別子とは異なる値の第２識別子に書き換えると共に、前記第２格納領域内の前記管理キーを、前記第２管理キーとは異なる値の第３管理キーに書き換え、
前記第２オペレーティングシステムに対応する前記第２識別子と前記第３管理キーとの組を含む第２レコードを、前記記憶部に格納する、
処理を実行させる管理プログラム。
【０２２４】
（付記６）  前記コンピュータに、さらに、
取得した前記識別子の値が前記第１識別子の値と一致し、かつ取得した前記管理キーの値が前記第１管理キーの値と一致する場合、前記第２格納領域内の前記管理キーと、前記第１レコード内の前記第１管理キーとを、前記第１管理キーとは異なる値の第４管理キーに書き換える、
付記５記載の管理プログラム。
【符号の説明】
【０２２５】
１  管理対象コンピュータ
３  第１ＯＳ
３ａ，４ａ  レジストリ
３ｂ，４ｂ  ソフトウェア
４  第２ＯＳ
１０  情報処理装置
１１  記憶部
１２  処理部
【図１】
2018205817.tif 000003
【図２】
2018205817.tif 000004
【図３】
2018205817.tif 000005
【図４】
2018205817.tif 000006
【図５】
2018205817.tif 000007
【図６】
2018205817.tif 000008
【図７】
2018205817.tif 000009
【図８】
2018205817.tif 000010
【図９】
2018205817.tif 000011
【図１０】
2018205817.tif 000012
【図１１】
2018205817.tif 000013
【図１２】
2018205817.tif 000014
【図１３】
2018205817.tif 000015
【図１４】
2018205817.tif 000016
【図１５】
2018205817.tif 000017
【図１６】
2018205817.tif 000018
【図１７】
2018205817.tif 000019
【図１８】
2018205817.tif 000020
【図１９】
2018205817.tif 000021
【図２０】
2018205817.tif 000022
【図２１】
2018205817.tif 000023
【図２２】
2018205817.tif 000024
【図２３】
2018205817.tif 000025
【図２４】
2018205817.tif 000026
【図２５】
2018205817.tif 000027
【図２６】
2018205817.tif 000028
【図２７】
2018205817.tif 000029
【図２８】
2018205817.tif 000030
【図２９】
2018205817.tif 000031
【図３０】
2018205817.tif 000032
【図３１】
2018205817.tif 000033
【図３２】
2018205817.tif 000034
【図３３】
2018205817.tif 000035
【図３４】
2018205817.tif 000036
【図３５】
2018205817.tif 000037
【図３６】
2018205817.tif 000038
【図３７】
2018205817.tif 000039
【図３８】
2018205817.tif 000040
【図３９】
2018205817.tif 000041
【図４０】
2018205817.tif 000042