(57)【特許請求の範囲】
【請求項１】
情報処理装置を示す識別子と該情報処理装置が利用する記憶装置を示す識別子とを対応付けて記憶する記憶部と、
前記情報処理装置からデータの送信を要求する通知を受信した場合には、該通知に基づいて情報処理装置を特定し、前記情報処理装置から送信を要求されたデータを外部の情報処理装置から取得し、特定された情報処理装置の識別子と対応付けて識別子が記憶された記憶装置に対して、取得したデータを送信する送信部と、
を備えた情報送信装置。 
【請求項２】
前記送信部は、前記情報処理装置から送信を要求されたデータを自装置が記憶しているか否かを判別し、前記情報処理装置から送信を要求されたデータを自装置が記憶していないと判別した場合には、該データを外部の情報処理装置から取得し、当該取得したデータを特定した情報処理装置の演算子と対応付けられた識別子が示す記憶装置に対して送信することを特徴とする請求項１に記載の情報送信装置。 
【請求項３】
前記情報処理装置を示す識別子と該情報処理装置が利用する暗号鍵とを対応付けて記憶する暗号鍵記憶部と、
前記送信部によって特定された情報処理装置の識別子と対応付けて記憶された暗号鍵を前記暗号鍵記憶部から取得する暗号鍵取得部と、
をさらに有し、
前記送信部は、特定した情報処理装置の演算子と対応付けられた識別子が示す記憶装置に対して、前記情報処理装置から送信を要求されたデータと、前記暗号鍵取得部によって取得された暗号鍵とを送信することを特徴とする請求項１または２に記載の情報送信装置。 
【請求項４】
情報処理装置を示す識別子と該情報処理装置が利用する記憶装置を示す識別子とを対応付けて記憶する記憶部と、
前記情報処理装置を示す識別子と該情報処理装置が利用する暗号鍵とを対応付けて記憶する暗号鍵記憶部と、
前記情報処理装置からデータの送信を要求された場合には、当該データの送信を要求した情報処理装置を示す識別子を特定する特定部と、
前記特定部によって特定された識別子と対応付けて記憶された記憶装置を示す識別子を前記記憶部から取得する取得部と、
前記特定部によって特定された識別子と対応付けて記憶された暗号鍵を前記暗号鍵記憶部から取得する暗号鍵取得部と、
前記取得部によって取得された前記識別子が示す記憶装置に対して、前記情報処理装置から送信を要求されたデータと、前記暗号鍵取得部によって取得された暗号鍵とを送信する送信部と、
を有する情報送信装置と、
前記情報送信装置から前記データと暗号鍵とを受信した場合には、当該受信した暗号鍵を用いて、当該受信したデータを記憶する暗号情報記憶部を有する記憶装置と、
を有することを特徴とするネットワークシステム。 
【請求項５】
情報処理装置を示す識別子と該情報処理装置が利用する記憶装置を示す識別子とを対応付けて記憶する記憶装置を有する情報送信装置が、
前記情報処理装置からデータの送信を要求する通知を受信し、
該通知に基づいて情報処理装置を特定し、
前記情報処理装置から送信を要求されたデータを外部の情報処理装置から取得し、
特定された情報処理装置を示す識別子と対応付けて識別子が記憶された記憶装置に対して、取得したデータを送信する、
ことを特徴とする情報送信方法。 
【請求項６】
情報処理装置を示す識別子と該情報処理装置が利用する記憶装置を示す識別子とを対応付けて記憶する記憶装置を有するコンピュータに、
前記情報処理装置からデータの送信を要求する通知を受信し、
該通知に基づいて情報処理装置を特定し、
前記情報処理装置から送信を要求されたデータを外部の情報処理装置から取得し、
特定された情報処理装置を示す識別子と対応付けて識別子が記憶された記憶装置に対して、取得したデータを送信する、
処理を実行させることを特徴とする情報送信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報送信装置、ネットワークシステム、情報送信方法および情報送信プログラムに関する。
【背景技術】
【０００２】
従来、複数の仮想的な情報処理装置を動作させる仮想化技術を利用して、複数の利用者がネットワーク上にある資源を共有するクラウドの技術が知られている。このような技術が適用されたネットワークシステムでは、情報処理装置を仮想化した仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）と、仮想マシンが利用する記憶領域であるディスクイメージとを分離して運用している。
【０００３】
例えば、図１２に示す例では、仮想マシンであるＶＭ１を動作させる物理マシン１と仮想マシンであるＶＭ２及びＶＭ３を動作させる物理マシン２とが、ネットワークを介して、ストレージシステム１及びストレージシステム２に接続されている。また、ストレージシステム１は、ＶＭ１のディスクイメージであるＶＭイメージ１とＶＭ２のディスクイメージであるＶＭイメージ２とを管理する。また、ストレージシステム２は、ＶＭ３のディスクイメージであるＶＭイメージ３を管理する。なお、図１２は、クラウドネットワークの運用を説明するための図である。
【０００４】
このような例では、各ＶＭ１〜３は、ネットワークを介して、ストレージシステム１〜２によって管理されている自装置のＶＭイメージにアクセスし、アクセスしたＶＭイメージを自装置の記憶装置として利用する。例えば、ＶＭ３は、ＦＣｏＥ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ（登録商標））等の技術を用いて、ストレージシステム２が管理するＶＭイメージ３を自装置の記憶装置として利用する。
【０００５】
一方、ネットワークに接続された情報処理装置に対して、更新データや新規ソフトウェア等のデータを送信するサーバの技術が知られている。例えば、図１３に示す例では、複数の情報処理装置１〜３と各情報処理装置１〜３に更新データを送信するサーバとがネットワークを介して接続されている。なお、図１３は、従来のネットワークに対する更新データの送信を説明するための図である。
【０００６】
このような例では、サーバは、情報処理装置１から更新データの送信を要求された場合には、ネットワークを介して、更新データを情報処理装置１へ送信する。その後、情報処理装置１は、更新データを受信した場合には、受信した更新データを自装置の記憶装置に格納する。
【０００７】
このような各情報処理装置へデータを送信するサーバの技術をクラウドの技術が適用されたネットワークに対して適用した場合には、サーバは、ネットワークを介して、データの送信を要求した仮想マシンにデータを送信する。その後、仮想マシンは、ネットワークを介して、サーバから受信したデータを自装置のディスクイメージに送信し、データを格納する。
【０００８】
例えば、図１４は、クラウドネットワークで更新データを送信する処理を説明するための図である。図１４に示す例では、サーバは、ＶＭ２から更新データの送信を要求された場合には、ネットワークを介して、要求された更新データをＶＭ２へ送信する。その後、ＶＭ２は、ネットワークを介して、受信した更新データをストレージシステム１が管理するＶＭイメージ２へ送信し、更新データをＶＭイメージ２に格納する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−３３２２２３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した各仮想マシンへデータを送信する技術では、データの送信を要求した仮想マシンに対してデータを送信するので、仮想マシンがデータを自装置のディスクイメージに転送する結果、ネットワークへの負担が大きくなるという問題があった。
【００１１】
つまり、上述した各仮想マシンへデータを送信する技術では、サーバから送信されたデータが仮想マシンを動作させる物理マシンを経由して、ディスクイメージを管理するストレージシステムに転送される。このため、データが２回送信されることとなり、ネットワークへの負担が大きくなる。
【００１２】
一つの側面では、本出願に開示の技術は、ネットワークの負担を軽減することを目的とする。
【課題を解決するための手段】
【００１３】
本願に開示の技術は、一つの態様によれば、情報処理装置を示す識別子と情報処理装置が利用する記憶装置を示す識別子とを対応付けて記憶する情報送信装置である。また、情報送信装置は、前記情報処理装置からデータの送信を要求する通知を受信し、該通知に基づいて情報処理装置を特定し、前記情報処理装置から送信を要求されたデータを外部の情報処理装置から取得し、特定された情報処理装置を示す識別子と対応付けて識別子が記憶された記憶装置に対して、取得したデータを送信する。
【発明の効果】
【００１４】
一態様では、ネットワークの負担を軽減することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施例１に係る情報送信装置を説明するための図である。
【図２】図２は、実施例２に係るアップデートプロキシを有するネットワークシステムを説明するための図である。
【図３】図３は、実施例２に係る各装置を説明するための図である。
【図４】図４は、構成管理情報記憶部に記憶された情報の一例を説明するための図である。
【図５】図５は、暗号鍵記憶部に記憶された情報の一例を説明するための図である。
【図６】図６は、アップデートプロキシが更新データを配布する処理の流れを説明するための図である。
【図７】図７は、ネットワークシステムの処理の流れを説明するためのシーケンス図である。
【図８】図８は、従来の更新処理の流れを説明するためのシーケンス図である。
【図９】図９は、ネットワークシステムにおける情報のやりとりを説明するための図である。
【図１０】図１０は、ＯＳパッチ「ＡＡＡ」を適用させる処理の流れを説明するためのシーケンス図である。
【図１１】図１１は、情報送信プログラムを実行するコンピュータを説明するための図である。
【図１２】図１２は、クラウドネットワークの運用を説明するための図である。
【図１３】図１３は、従来のネットワークに対する更新データの送信を説明するための図である。
【図１４】図１４は、クラウドネットワークで更新データを送信する処理を説明するための図である。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照して本願に係る情報送信装置、ネットワークシステム、情報送信方法および情報送信プログラムについて説明する。
【実施例１】
【００１７】
以下の実施例１では、図１を用いて、情報送信装置の一例を説明する。図１は、実施例１に係る情報送信装置を説明するための図である。
【００１８】
図１に示すように、情報送信装置１は、記憶部２、特定部３、取得部４、送信部５を有する。また、情報送信装置１は、ネットワークを介して、情報処理装置Ａ６、情報処理装置Ｂ７、情報処理装置Ｃ８、記憶装置Ａ９、記憶装置Ｂ１０、記憶装置Ｃ１１と接続される。なお、記憶装置Ａ９は、情報処理装置Ａ６が利用する記憶装置である。また、記憶装置Ｂ１０は、情報処理装置Ｂ７が利用する記憶装置である。また、記憶装置Ｃ１１は、情報処理装置Ｃ８が利用する記憶装置である。
【００１９】
記憶部２は、ネットワークに接続された情報処理装置Ａ６〜Ｃ８を示す識別子と、情報処理装置Ａ６〜Ｃ８が利用する記憶装置Ａ９〜Ｃ１１を示す識別子とを対応付けて記憶する。つまり、記憶部２は、情報処理装置Ａ６を示す識別子と、記憶装置Ａ９を示す識別子とを対応付けて記憶する。また、記憶部２は、情報処理装置Ｂ７を示す識別子と、記憶装置Ｂ１０を示す識別子とを対応付けて記憶する。また、記憶部２は、情報処理装置Ｃ８を示す識別子と、記憶装置Ｃ１１を示す識別子とを対応付けて記憶する。
【００２０】
特定部３は、情報処理装置Ａ６から情報の送信を要求する通知を受信した場合には、情報処理装置Ａ６を示す識別子を特定する。取得部４は、特定部３によって特定された情報処理装置Ａ６の識別子と対応付けて記憶された識別子を記憶部２から取得する。つまり、取得部４は、記憶装置Ａ９を示す識別子を記憶部２から取得する。送信部５は、取得部４によって取得された識別子が示す記憶装置Ａ９に対して、情報処理装置Ａ６から送信を要求された情報を送信する。
【００２１】
上述したように、情報送信装置１は、情報処理装置Ａ６〜Ｃ８を示す識別子と各情報処理装置Ａ６〜Ｃ８が利用する情報処理装置Ａ９〜Ｃ１１を示す識別子とを対応付けて記憶する。そして、情報処理装置１は、情報処理装置Ａ６から情報の送信を要求された場合には、情報処理装置Ａ６が利用する記憶装置Ａ９へ情報を直接送信する。
【００２２】
このため、情報送信装置１は、ネットワークの負荷を軽減することができる。例えば、このような情報送信装置１をクラウドの技術が適用されたネットワークに設置した場合には、情報送信装置１は、要求された情報を、仮想マシンが利用するディスクイメージに対して直接送信する。このため、情報送信装置１は、仮想マシンが情報をディスクイメージに対して転送する処理を不要とする結果、ネットワークの負荷を軽減することができる。
【実施例２】
【００２３】
以下の実施例２では、情報送信装置としてのアップデートプロキシを有するネットワークシステムについて説明する。
【００２４】
まず、図２を用いて、実施例２に係るネットワークシステムを説明する。図２は、実施例２に係るアップデートプロキシを有するネットワークシステムを説明するための図である。
【００２５】
図２に示す例では、ネットワークシステム１００は、構成管理データベース２０、アップデートプロキシ３０、アップデートマネージャ４０、物理マシンＡ５０、物理マシンＢ６０、ストレージシステムＡ７０、ストレージシステムＢ８０を有する。また、物理マシンＡ５０は、仮想マシンであるＶＭ（Virtual Machine）＿Ａ５１を動作させる。また、物理マシンＢ６０は、ＶＭ＿Ｂ６１、ＶＭ＿Ｃ６２を動作させる。
【００２６】
ストレージシステムＡ７０は、ＶＭ＿Ａ５１が記憶装置として利用するディスクイメージであるＶＭイメージＡ７１、ＶＭ＿Ｂ６１が記憶装置として利用するディスクイメージであるＶＭイメージ７２を管理する。また、ストレージシステムＢ８０は、ＶＭ＿Ｃ６２が記憶装置として利用するディスクイメージであるＶＭイメージＣ８１を管理する。
【００２７】
次に、図３を用いて、構成管理データベース２０、アップデートプロキシ３０およびストレージシステムＡ７０が有する各部について説明する。図３は、実施例２に係る各装置を説明するための図である。なお、図３には、仮想マシンのうちＶＭ＿Ａ５１のみを記載したが、他の仮想マシンが同様に接続されている。また、図３には、ストレージシステムＡ７０を記載したが、ストレージシステムＢ８０もストレージシステムＡ７０と同様の構成を有するものとし、説明を省略する。
【００２８】
図３に示す例では、構成管理データベース２０は、構成管理情報記憶部２１を有する。アップデートプロキシ３０は、暗号鍵記憶部３１、更新データ記憶部３２、リクエスト処理部３３、更新データ配送先決定部３４を有する。また、アップデートプロキシ３０は、更新データ管理部３５、暗号鍵管理部３６、更新データ配送部３７を有する。また、ストレージシステムＡ７０は、更新データ受付部７３、更新データ配布部７４、データ復号部７５、ＶＭイメージ管理部７６を有する。
【００２９】
まず、構成管理データベース２０が有する構成管理情報記憶部２１について説明する。構成管理情報記憶部２１は、仮想マシンを示す識別子であるＶＭ＿ＩＤとＶＭイメージを示す識別子であるＶＭイメージＩＤとを対応付けて記憶する。具体的には、構成管理情報記憶部２１は、ＶＭ＿ＩＤとＶＭイメージＩＤとＶＭイメージを管理するストレージシステムを示す識別子であるストレージシステムＩＤとを対応付けて記憶する。
【００３０】
例えば、図４に示す例では、構成管理情報記憶部２１は、ＶＭ＿Ａ５１を示すＶＭ＿ＩＤ「ｖｍ０１」とＶＭイメージＡ７１を示すＶＭイメージＩＤ「ｖｍ＿ｉｍｇＡ」とを対応付けて記憶する。また、構成管理情報記憶部２１は、ＶＭ＿ＩＤ「ｖｍ０１」とストレージシステムＩＤ「ストレージシステムＡ」とを対応付けて記憶する。なお、図４は、構成管理情報記憶部に記憶された情報の一例を説明するための図である。
【００３１】
図３に戻って、アップデートプロキシ３０が有する各部について説明する。暗号鍵記憶部３１は、各仮想マシンを示すＶＭ＿ＩＤと各仮想マシンが利用する暗号鍵とを対応付けて記憶する。例えば、図５に示す例では、暗号鍵記憶部３１は、仮想マシンＶＭ＿Ａ５１を示すＶＭ＿ＩＤ「ｖｍ０１」とＶＭ＿Ａ５１が利用する暗号鍵「ｘｘｘ」とを対応付けて記憶する。なお、図５は、暗号鍵記憶部に記憶された情報の一例を説明するための図である。
【００３２】
ここで、各仮想マシンが利用する暗号鍵について説明する。例えば、各仮想マシンは、それぞれ異なるクライアントが利用する場合がある。このような場合に、セキュリティを保持するため、他のクライアントが利用するＶＭイメージや、ネットワークシステムの提供者が勝手にＶＭイメージの内容を閲覧できないように各ＶＭイメージの暗号化を行う。
【００３３】
つまり、ＶＭ＿Ａ５１、ＶＭ＿Ｂ６１及びＶＭ＿Ｃ６２は、それぞれ異なる暗号鍵を用いて、各仮想マシンのディスクイメージであるＶＭイメージＡ７１、ＶＭイメージＢ７２及びＶＭイメージＣ８１を暗号化する。つまり、ＶＭイメージＡ７１、ＶＭイメージＢ７２及びＶＭイメージＣ８１は、それぞれ異なる暗号鍵によって暗号化されている。
【００３４】
図３に戻って、更新データ記憶部３２は、仮想マシンへ送信する更新データを記憶する。たとえば、更新データ記憶部３２は、ＶＭ＿Ｂ６１へ送信するための更新データを記憶する。
【００３５】
リクエスト処理部３３は、仮想マシンから情報の送信を要求する通知を受信した場合には、情報の送信を要求した仮想マシンを示すＶＭ＿ＩＤを特定する。具体的には、リクエスト処理部３３は、仮想マシンから情報の送信を要求する通知を受信した場合には、受信した通知から仮想マシンを示すＶＭ＿ＩＤと、送信を要求された情報を示す更新データＩＤとを特定する。そして、リクエスト処理部３３は、特定されたＶＭ＿ＩＤと、更新データＩＤとを更新データ配送先決定部３４へ送信する。また、リクエスト処理部３３は、特定されたＶＭ＿ＩＤを暗号鍵管理部３６へ送信する。
【００３６】
例えば、リクエスト処理部３３は、ＶＭ＿Ａ５１から、更新データの送信を要求する取得リクエストを受信する。そして、リクエスト処理部３３は、取得リクエストからＶＭ＿Ａ５１を示すＶＭ＿ＩＤ「ｖｍ０１」とＶＭ＿Ａ５１が要求した更新データを示す更新データＩＤとを特定する。その後、リクエスト処理部３３は、特定されたＶＭ＿ＩＤ「ｖｍ０１」と更新データＩＤとを更新データ配送先決定部３４へ送信する。また、リクエスト処理部３３は、特定されたＶＭ＿ＩＤ「ｖｍ０１」を暗号鍵管理部３６へ送信する。
【００３７】
更新データ配送先決定部３４は、リクエスト処理部３３によって特定されたＶＭ＿ＩＤと対応付けて記憶されたＶＭイメージＩＤを構成管理情報記憶部２１から取得する。具体的には、更新データ配送先決定部３４は、リクエスト処理部３３によって特定されたＶＭＩＤと仮想マシンが要求した更新データを示す更新データＩＤとを取得する。そして、更新データ配送先決定部３４は、リクエスト処理部３３によって特定されたＶＭ＿ＩＤと対応付けて記憶されたＶＭイメージＩＤとストレージシステムＩＤとを構成管理データベース２０の構成管理情報記憶部２１から取得する。
【００３８】
また、更新データ配送先決定部３４は、更新データ管理部３５に対して、受信した更新データＩＤを送信する。ここで、後述するように、更新データ管理部３５は、更新データ配送先決定部３４から更新データＩＤを受信した場合には、受信した更新データＩＤが示す更新データを更新データ配送先決定部３４へ送信する。このため、更新データ配送先決定部３４は、更新データ管理部３５から、仮想マシンが要求した更新データを取得する。
【００３９】
その後、更新データ配送先決定部３４は、構成管理情報記憶部２１から取得したＶＭイメージＩＤおよびストレージシステムＩＤと、更新データ管理部３５から取得した更新データとを更新データ配送部３７に送信する。
【００４０】
ここで、更新データ配送先決定部３４が実行する処理の具体例を説明する。例えば、更新データ配送先決定部３４は、リクエスト処理部３３から、ＶＭ＿ＩＤ「ｖｍ０１」とＶＭ＿Ａ５１が要求した更新データを示す情報とを受信する。更新データ配送先決定部３４は、リクエスト処理部３３からＶＭ＿ＩＤ「ｖｍ０１」とＶＭ＿Ａ５１が要求した更新データを示す更新データＩＤとを受信した場合には、更新データＩＤを更新データ管理部３５に送信する。その後、更新データ配送先決定部３４は、更新データ管理部３５から、ＶＭ＿Ａ５１が要求した更新データを受信する。
【００４１】
また、更新データ配送先決定部３４は、リクエスト処理部３３から受信したＶＭ＿ＩＤ「ｖｍ０１」と対応付けて記憶されたＶＭイメージＩＤとストレージシステムＩＤとを構成管理情報記憶部２１から検索する。そして、更新データ配送先決定部３４は、ＶＭ＿ＩＤ「ｖｍ０１」と対応付けて記憶されたＶＭイメージＩＤ「ｖｍ＿ｉｍｇＡ」とストレージシステムＩＤ「ストレージシステムＡ」とを構成管理情報記憶部２１から取得する。その後、更新データ配送先決定部３４は、取得したＶＭイメージＩＤ「ｖｍ＿ｉｍｇＡ」とストレージシステムＩＤ「ストレージシステムＡ」とＶＭ＿Ａ５１が要求した更新データとを更新データ配送部３７へ送信する。
【００４２】
更新データ管理部３５は、仮想マシンから送信を要求された更新データを更新データ記憶部３２が記憶しているか否かを判別する。具体的には、更新データ管理部３５は、更新データ配送先決定部３４から更新データＩＤを受信する。また、更新データ管理部３５は、受信した更新データＩＤが示す更新データが更新データ記憶部３２に記憶されているか否かを判別する。そして、更新データ管理部３５は、更新データＩＤが示す更新データが更新データ記憶部３２に記憶されていないと判別した場合には、更新データＩＤが示す更新データをアップデートマネージャ４０から取得する。
【００４３】
その後、更新データ管理部３５は、アップデートマネージャ４０から取得した更新データを更新データ記憶部３２に記憶させるとともに、取得した更新データを更新データ配送先決定部３４へ送信する。また、更新データ管理部３５は、更新データＩＤが示す更新データを更新データ記憶部３２が記憶していると判別した場合には、更新データＩＤが示す更新データを更新データ記憶部３２から取得し、取得した更新データを更新データ配送先決定部３４に送信する。
【００４４】
暗号鍵管理部３６は、リクエスト処理部３３によって特定されたＶＭ＿ＩＤと対応付けて記憶された暗号鍵を暗号鍵記憶部３１から取得する。具体的には、暗号鍵管理部３６は、リクエスト処理部３３からＶＭ＿ＩＤを受信する。また、暗号鍵管理部３６は、リクエスト処理部３３からＶＭ＿ＩＤを受信した場合には、受信したＶＭ＿ＩＤと対応付けて記憶された暗号鍵を暗号鍵記憶部３１から取得する。そして、暗号鍵管理部３６は、取得した暗号鍵を更新データ配送部３７へ送信する。
【００４５】
例えば、暗号鍵管理部３６は、リクエスト処理部３３からＶＭ＿ＩＤ「ｖｍ０１」を受信する。暗号鍵管理部３６は、リクエスト処理部３３からＶＭ＿ＩＤ「ｖｍ０１」を受信した場合には、ＶＭ＿ＩＤ「ｖｍ０１」と対応付けて記憶された暗号鍵「ｘｘｘ」を暗号鍵記憶部３１から取得する。その後、暗号鍵管理部３６は、取得した暗号鍵「ｘｘｘ」を更新データ配送部３７へ送信する。
【００４６】
更新データ配送部３７は、更新データ配送先決定部３４によって取得されたＶＭイメージＩＤが示すＶＭイメージに対して、仮想マシンから送信を要求された更新データと暗号鍵管理部３６によって取得された暗号鍵とを送信する。
【００４７】
具体的には、更新データ配送部３７は、更新データ配送先決定部３４によって取得されたＶＭイメージＩＤとストレージシステムＩＤとを受信する。また、更新データ配送部３７は、暗号鍵管理部３６によって取得された暗号鍵を受信する。また、更新データ配送部３７は、更新データ管理部３５によって取得された更新データを受信する。そして、更新データ配送部３７は、受信したストレージシステムＩＤが示すストレージシステムが管理するＶＭイメージのうち、受信したＶＭイメージＩＤが示すＶＭイメージに対して、受信した暗号鍵と更新データとを送信する。
【００４８】
つまり、更新データ配送部３７は、更新データの送信を要求した仮想マシンではなく、更新データの送信を要求した仮想マシンが利用するＶＭイメージに対して、更新データを送信する。また、更新データ配送部３７は、更新データとともに、更新データの送信を要求した仮想マシンが利用する暗号鍵をストレージシステムへ送信する。
【００４９】
また、更新データ配送部３７は、更新データ管理部３５が仮想マシンから送信を要求された更新データを更新データ記憶部３２が記憶していないと判別した場合には、更新データ管理部３５がアップデートマネージャ４０から取得した更新データを送信する。また、更新データ配送部３７は、更新データ管理部３５が仮想マシンから送信を要求された更新データを更新データ記憶部３２が記憶していると判別した場合には、更新データ記憶部３２に記憶されていた更新データを送信する。
【００５０】
例えば、更新データ配送部３７は、ＶＭイメージＩＤ「ｖｍ＿ｉｍｇＡ」とストレージシステムＩＤ「ストレージシステムＡ」とＶＭ＿Ａ５１が要求した更新データとを更新データ配送先決定部３４から受信する。また、更新データ配送部３７は、暗号鍵「ｘｘｘ」を暗号鍵管理部３６から受信する。そして、更新データ配送部３７は、ストレージシステムＩＤ「ストレージシステムＡ」が示すストレージシステムＡ７０に対して、受信したＶＭイメージＩＤ「ｖｍ＿ｉｍｇＡ」と暗号鍵「ｘｘｘ」と更新データとを送信する。
【００５１】
続いて、ストレージシステムＡ７０が有する各部について説明する。更新データ受付部７３は、アップデートプロキシ３０の更新データ配送部３７からＶＭイメージＩＤと暗号鍵と更新データとを受信した場合には、受信したＶＭイメージＩＤと暗号鍵と更新データとを更新データ配布部７４へ送信する。
【００５２】
例えば、更新データ受付部７３は、アップデートプロキシ３０の更新データ配送部３７からＶＭイメージＩＤ「ｖｍ＿ｉｍｇＡ」と暗号鍵「ｘｘｘ」と更新データとを受信する。そして、更新データ受付部７３は、受信したＶＭイメージＩＤ「ｖｍ＿ｉｍｇＡ」と暗号鍵「ｘｘｘ」と更新データとを更新データ配布部７４に送信する。
【００５３】
更新データ配布部７４は、アップデートプロキシ３０から更新データと暗号鍵とを受信した場合には、受信した暗号鍵を用いて、受信した更新データをＶＭイメージに格納する。
【００５４】
具体的には、更新データ配布部７４は、更新データ受付部７３を介して、アップデートプロキシ３０の更新データ配送部３７から送信されたＶＭイメージＩＤと暗号鍵と更新データとを受信する。そして、更新データ配布部７４は、受信したＶＭイメージＩＤと暗号鍵とをデータ復号部７５に送信する。また、更新データ配布部７４は、受信したＶＭイメージＩＤと更新データとをＶＭイメージ管理部７６に送信する。
【００５５】
ここで、後述するように、データ復号部７５は、更新データ配布部７４からＶＭイメージＩＤと暗号鍵とを受信した場合には、受信されたＶＭイメージＩＤが示すＶＭイメージを受信した暗号鍵で復号する。また、ＶＭイメージ管理部７６は、更新データ配布部７４から受信したＶＭイメージＩＤが示すＶＭイメージがデータ復号部７５によって復号された場合には、受信したＶＭイメージＩＤが示すＶＭイメージに対して、受信した更新データを格納する。
【００５６】
この結果、更新データ配布部７４は、受信したＶＭイメージＩＤが示すＶＭイメージに対して、受信した暗号鍵を用いて、受信した更新データを格納することができる。例えば、更新データ配布部７４は、ＶＭイメージＩＤ「ｖｍ＿ｉｍｇＡ」と暗号鍵「ｘｘｘ」と更新データとを受信する。そして、更新データ配布部７４は、受信したＶＭイメージＩＤ「ｖｍ＿ｉｍｇＡ」と暗号鍵「ｘｘｘ」とをデータ復号部７５に送信する。また、更新データ配布部７４は、受信したＶＭイメージＩＤ「ｖｍ＿ｉｍｇＡ」と更新データとをＶＭイメージ管理部７６に送信する。
【００５７】
このような場合には、データ復号部７５は、ＶＭイメージＩＤ「ｖｍ＿ｉｍｇＡ」が示すＶＭイメージＡ７１を暗号鍵「ｘｘｘ」で復号する。また、ＶＭイメージ管理部７６は、ＶＭイメージＩＤ「ｖｍ＿ｉｍｇＡ」が示すＶＭイメージＡ７１に対して、更新データを格納する。このため、更新データ配布部７４は、受信した更新データを適切なＶＭイメージに格納することができる。
【００５８】
データ復号部７５は、更新データ配布部７４からＶＭイメージＩＤと暗号鍵とを受信する。そして、データ復号部７５は、更新データ配布部７４からＶＭイメージＩＤと暗号鍵とを受信した場合には、受信されたＶＭイメージＩＤが示すＶＭイメージを受信した暗号鍵で復号する。また、データ復号部７５は、復号したＶＭイメージに対して、ＶＭイメージ管理部７６が更新データを格納した場合には、復号したＶＭイメージを受信した暗号鍵で再度暗号化する。
【００５９】
ＶＭイメージ管理部７６は、更新データ配布部７４からＶＭイメージＩＤと更新データとを受信する。そして、ＶＭイメージ管理部７６は、受信したＶＭイメージＩＤが示すＶＭイメージがデータ復号部７５によって復号された場合には、受信したＶＭイメージＩＤが示すＶＭイメージを受信したＶＭイメージＩＤが示すＶＭイメージに受信した更新データを格納する。
【００６０】
例えば、リクエスト処理部３３、更新データ配送先決定部３４、更新データ管理部３５、暗号鍵管理部３６、更新データ配送部３７、更新データ受付部７３、更新データ配布部７４、データ復号部７５、ＶＭイメージ管理部７６は、電子回路である。ここで、電子回路の例として、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ （Field Programmable Gate Array）などの集積回路、またはＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit）などを適用する。
【００６１】
また、構成管理情報記憶部２１、暗号鍵記憶部３１、更新データ記憶部３２とは、記憶装置である。ここで、記憶装置の例として、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリ （flash memory）などの半導体メモリ素子、または、ハードディスク、光ディスクなどを適用する。
【００６２】
[アップデートプロキシの処理]
次に、図６を用いて、アップデートプロキシ３０が更新データを配布する処理の流れを説明する。図６は、アップデートプロキシが更新データを配布する処理の流れを説明するための図である。まず、図６の（１）に示すように、アップデートプロキシ３０は、仮想マシンＶＭ＿Ａ５１から更新データＣの要求を受信する。なお、各仮想マシンが更新データを要求する処理は、更新データ要求先をあらかじめアップデートプロキシ３０として各仮想マシンに登録してもよく、アップデートプロキシ３０が各仮想マシンからアップデートマネージャ４０への要求をインタセプトしてもよい。
【００６３】
次に、アップデートプロキシ３０は、送信を要求された更新データＡが記憶されているかを判別する。図６に示す例では、アップデートプロキシ３０は、更新データＣを記憶していないので、アップデートマネージャ４０から更新データＣを取得する（図６中（２））。次に、アップデートプロキシ３０は、ＶＭ＿Ａ５１ではなくＶＭ＿Ａ５１のＶＭイメージであるＶＭイメージＡ７１へ、取得した更新データＣを送信、格納する（図６中（３））。その後、アップデートプロキシ３０は、ＶＭ＿Ａ５１に書込完了通知を送信する（図６中（４））。
【００６４】
このように、アップデートプロキシ３０は、要求された更新データを仮想マシンへ送信せずに、仮想マシンが利用するＶＭイメージへ送信するので、更新データが仮想マシンからＶＭイメージへ転送される処理を不要とする。この結果、アップデートプロキシ３０は、ネットワークの負荷を削減することができる。
【００６５】
次に、図７を用いて、アップデートプロキシ３０を有するネットワークシステム１００が更新データを配布する処理の流れを説明する。図７は、ネットワークシステムの流れを説明するためのシーケンス図である。まず、アップデートプロキシ３０は、ＶＭ＿Ａ５１から更新データを要求する取得リクエストを受信する（ステップＳ１０１）。この取得リクエストには、ＶＭ＿Ａ５１のＶＭ＿ＩＤ「ｖｍ０１」と更新データを示す更新データＩＤが含まれる。
【００６６】
次に、アップデートプロキシ３０は、受信された取得リクエストから更新データＩＤを取得し、取得された更新データＩＤが示す更新データを自装置が記憶しているか否かを判別する。そして、アップデートプロキシ３０は、自装置に更新データＩＤが示す更新データが記憶されていないと判別した場合には、アップデートマネージャ４０に更新データＩＤを送信し（ステップＳ１０２）、リターンとして更新データを受信する（ステップＳ１０３）。なお、アップデートプロキシ３０は、取得された更新データＩＤが示す更新データを自装置が記憶していると判別した場合には、ステップＳ１０２〜Ｓ１０３の処理を省略する。
【００６７】
次に、アップデートプロキシ３０は、受信したＶＭ＿ＩＤ「ｖｍ０１」と対応付けて記憶されたＶＭイメージＩＤを構成管理データベース２０から検索する（ステップＳ１０４）。そして、アップデートプロキシ３０は、ＶＭ＿ＩＤ「ｖｍ０１」と対応付けて記憶されたＶＭイメージＩＤ「ｖｍ＿ｉｍｇＡ」とストレージシステムＩＤ「ストレージシステムＡ」とをリターンとして受信する（ステップＳ１０５）。
【００６８】
次に、アップデートプロキシ３０は、ＶＭ＿ＩＤ「ｖｍ０１」と対応付けて記憶された暗号鍵「ｘｘｘ」を取得する（ステップＳ１０６）。そして、アップデートプロキシ３０は、ストレージシステムＩＤ「ストレージシステムＡ」が示すストレージシステムＡ７０に対して、ＶＭイメージＩＤ「ｖｍ＿ｉｍｇＡ」と暗号鍵「ｘｘｘ」と更新データとを送信する（ステップＳ１０７）。
【００６９】
次に、ストレージシステムＡ７０は、暗号鍵「ｘｘｘ」を用いて、ＶＭイメージＩＤ「ｖｍ＿ｉｍｇＡ」が示すＶＭイメージＡ７１に更新データを格納する（ステップＳ１０８）。その後、ストレージシステムＡ７０は、更新データが格納された旨の通知をアップデートプロキシ３０へ送信する（ステップＳ１０９）。また、アップデートプロキシ３０は、更新データが格納された旨の通知をＶＭ＿Ａ５１へ転送する（ステップＳ１１０）。その後、ＶＭ＿Ａ５１は、ＶＭイメージＡ７１に格納された更新データを利用して、更新処理を行う（ステップＳ１１１）。その後、ネットワークシステム１００は、更新データの配布処理を終了する。
【００７０】
次に、図８を用いて、従来の更新処理の流れを説明する。図８は、従来の更新処理の流れを説明するためのシーケンス図である。図８に示す例では、クライアントからアップデートマネージャに更新データが要求される（ステップＳ２０１）。次に、アップデートマネージャは、リターンとして、要求された更新データをクライアントへ送信する（ステップＳ２０２）。すると、クライアントは、自装置が利用するストレージシステムのディスクイメージに対して、更新データを転送する（ステップＳ２０３）。
【００７１】
次に、ストレージシステムは、受信した更新データをディスクイメージに書き込む（ステップＳ２０４）。また、ストレージシステムは、完了通知をクライアントへ送信する（ステップＳ２０５）。その後、クライアントは、更新処理を行い（ステップＳ２０６）、処理を終了する。このように、従来の更新処理では、更新データがアップデートマネージャからクライアントに送信され、その後、クライアントからストレージシステムへ転送されることとなり、ネットワークの負担を大きくしていた。一方、本実施例のネットワークシステム１００は、更新データを要求した仮想マシンが利用するＶＭイメージに対して、直接更新データを送信するので、転送を不要とし、ネットワークの負担を軽減する。
【００７２】
次に、図９を用いて、ネットワーク１００における情報のやり取りの流れを説明する。図９は、ネットワークシステムにおける情報のやりとりを説明するための図である。図９に示す例では、ＶＭ＿Ｂ６１がＯＳのパッチ「ＡＡＡ」を更新データとして要求した例について説明する。
【００７３】
例えば、ＶＭ＿Ｂ６１は、ＯＳのパッチ「ＡＡＡ」をアップデートプロキシ３０に要求する（図９中（１））。このような場合には、アップデートプロキシ３０は、アップデートマネージャ４０からパッチ「ＡＡＡ」を取得する（図９中（２）、（３））。次に、アップデートプロキシ３０は、構成管理データベースからＶＭ＿Ｂ６１が利用するＶＭイメージＢ７２の情報を取得する（図９中（４）、（５））。また、アップデートプロキシ３０は、ＶＭ＿Ｂ６１が利用する暗号鍵「ｙｙｙ」を取得する（図９中（６））。次に、アップデートプロキシ３０は、パッチ「ＡＡＡ」と暗号鍵「ｙｙｙ」とをＶＭイメージＢ７２に送信する（図９中（７））。
【００７４】
その後、ストレージシステムＡ７０は、暗号鍵「ｙｙｙ」を用いて、ＶＭイメージＢ７２にパッチ「ＡＡＡ」を格納し（図９中（８））、完了通知をアップデートプロキシ３０へ送信する（図９中（９））。次に、アップデートプロキシ３０は、完了通知をＶＭ＿Ｂ６１へ送信する（図９中（１０））。次に、ＶＭ＿Ｂ６１は、自装置にパッチ「ＡＡＡ」を適用し（図９中（１１））、処理を終了する。
【００７５】
ここで、図１０は、ＯＳパッチ「ＡＡＡ」を適用させる処理の流れを説明するためのシーケンス図である。図１０に示すように、アップデートプロキシ３０は、ＯＳパッチＡＡＡのバイナリをＶＭ＿Ｂ６１へ送信することなく、ストレージシステムＡ７０のＶＭイメージＢ７２へ送信する（ステップＳ３０７）。このため、アップデートプロキシ３０は、ＶＭ＿Ｂ６１からＶＭイメージＢ７２へのＯＳパッチＡＡＡバイナリの転送を不要とし、ネットワークの負担を軽減する。なお、図１０に示す各ステップＳ３０１〜Ｓ３１１は、図７に示す各ステップＳ１０１〜１１１と同様の処理であり、詳しい説明は省略する。
【００７６】
[実施例２の効果]
上述したように、アップデートプロキシ３０は、仮想マシンから更新データの送信を要求された場合には、更新データの送信を要求した仮想マシンのＶＭ＿ＩＤを特定する。そして、アップデートプロキシ３０は、ＶＭ＿ＩＤとＶＭイメージＩＤとを対応付けて記憶する構成管理情報記憶部２１から、取得したＶＭ＿ＩＤと対応付けて記憶されたＶＭイメージＩＤを取得する。その後、アップデートプロキシ３０は、取得されたＶＭイメージＩＤが示すＶＭイメージに対して、更新データを送信する。
【００７７】
このため、アップデートプロキシ３０は、更新データが仮想マシンからＶＭイメージへ転送させる処理を不要とする。この結果、アップデートプロキシ３０は、ネットワークの負担を軽減することができる。
【００７８】
また、アップデートプロキシ３０は、仮想マシンから送信を要求された更新データが自装置に記憶されているか否かを判別する。そして、アップデートプロキシ３０は、仮想マシンから送信を要求された更新データが自装置に記憶されていないと判別した場合には、送信を要求された更新データをアップデートマネージャ４０から取得する。そして、アップデートプロキシ３０は、取得した更新データをＶＭイメージに対して送信する。
【００７９】
このため、アップデートプロキシ３０は、自装置に無い更新データを要求された場合にも、適切な更新データを取得し、取得した更新データを仮想マシンへ送信することができる。例えば、アップデートプロキシ３０は、毎週配布させるＯＳパッチや、新規に配布させるＯＳのパッチ等をタイムラグ無しで仮想マシンに配布することができる。
【００８０】
また、アップデートプロキシ３０は、ＶＭ＿ＩＤと暗号鍵とを対応付けて記憶し、更新データを要求した仮想マシンのＶＭ＿ＩＤと対応付けて記憶された暗号鍵を取得する。そして、アップデートプロキシ３０は、更新データを要求した仮想マシンのＶＭイメージに対して、送信を要求された更新データと暗号鍵とを送信する。
【００８１】
このため、アップデートプロキシ３０は、各ＶＭイメージのセキュリティを保ったままで、ストレージシステム７０、８０に更新データを適用させることができる。例えば、アップデートプロキシ３０は、ＶＭイメージごとのアクセス制御、データベースの分割、ＶＭイメージの暗号化等によってセキュリティが保たれているネットワークのＶＭイメージに対しても、適切に更新データを配布することができる。
【実施例３】
【００８２】
これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例３として本発明に含まれる他の実施例を説明する。
【００８３】
（１）更新データについて
上述した実施例２では、仮想マシンが利用するＶＭイメージに対して更新データを配布するアップデートプロキシ３０について説明した。しかし、実施例はこれに限定されるものではなく、例えば、アップデートプロキシ３０は、更新パッチ、ウィルスパターン定義ファイル、新規ソフトウェア等、任意の情報をＶＭイメージに配布してもよい。
【００８４】
また、例えば、アップデートプロキシ３０は、ＷＳＵＳ（Microsoft Windows Server Update Services（登録商標））サーバとして、各仮想マシンに更新パッチを配布してもよい。
【００８５】
（２）仮想マシンについて
上述した実施例２では、仮想マシンを動作させる物理マシンと、仮想マシンが記憶装置として利用するＶＭイメージを管理するディスクアレイ装置とを有するネットワークシステム１００について説明した。しかし、実施例は、これに限定されるものではない。例えば、アップデートプロキシ３０は、記憶装置を有する情報処理装置と仮想マシンとが混在するネットワークシステムに接続された場合にも、ネットワークの負担を軽減することができる。
【００８６】
例えば、構成管理情報記憶部２１は、図４に例示した情報に加えて、情報処理装置を示すＩＤと情報処理装置のＩＰアドレスとを対応付けて記憶する。このような場合には、アップデートプロキシ３０は、情報処理装置から更新データの送信を要求された際には、更新データを情報処理装置へ送信し、仮想マシンから更新データの送信を要求された際には、ＶＭイメージへ更新データを送信することができる。この結果、アップデートプロキシ３０は、ネットワークの負担を軽減することができる。
【００８７】
（３）暗号化について
上述した実施例２では、アップデートプロキシ３０は、ＶＭイメージを管理するネットワークシステムに対して、更新データと暗号鍵とを送信していた。この送信経路においては、セキュリティをさらに高めるため、暗号化通信を行う構成としてもよい。
【００８８】
例えば、アップデートプロキシ３０は、ストレージシステムＡ７０へ更新データと暗号鍵とを送信する場合には、ＲＳＡ暗号等公知の暗号化技術を利用して更新データと暗号鍵とを暗号化する。そして、アップデートプロキシ３０は、暗号化された更新データと暗号鍵とをストレージシステムＡ７０へ送信する。その後、ストレージシステムＡ７０は、暗号化された更新データと暗号鍵とを復号し、復号した暗号鍵を用いて、復号化した更新データを所定のＶＭイメージに格納する。このように、アップデートプロキシ３０は、ストレージシステムＡ７０、Ｂ８０に送信する情報を暗号化することで、よりセキュアな更新データの配布を行う事ができる。
【００８９】
また、各仮想マシンは、アップデートプロキシ３０に対して更新データの配布を要求する場合には、アップデートプロキシ３０のサーバ認証を実行し、アップデートプロキシ３０が信頼できる正当なアップデートプロキシであることを確認するようにしてもよい。
【００９０】
（４）プログラム
ところで、実施例１に係る情報送信装置１、および実施例２〜３に係るアップデートプロキシは、ハードウェアを利用して各種の処理を実現する場合を説明した。しかし、実施例はこれに限定されるものではなく、あらかじめ用意されたプログラムを情報送信装置又はアップデートプロキシとして動作するコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図１１を用いて、実施例１に示した情報送信装置と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図１１は、情報送信プログラムを実行するコンピュータを説明するための図である。
【００９１】
図１１に例示されたコンピュータ２００は、ＲＡＭ（Random Access Memory）１２０、ＲＯＭ（Read Only Memory）１３０、ＨＤＤ（Hard Disk Drive）１５０がバス１７０で接続される。また、図１１に例示されたコンピュータ２００は、ＣＰＵ（Central Processing Unit）１４０がバス１７０で接続される。さらにバス１７０には、仮想マシンからの要求を受信したり、ＶＭイメージに情報を送信するためのＩ／Ｏ(Input Output)１６０が接続される。
【００９２】
ＨＤＤ１５０には、配信情報１５１があらかじめ保存される。ＲＯＭ１３０には、特定プログラム１３１、取得プログラム１３２、送信プログラム１３３があらかじめ保持される。ＣＰＵ１４０が各プログラム１３１〜１３３をＲＯＭ１３０から読み出して実行することによって、図１１に示す例では、各プログラム１３１〜１３３は、特定プロセス１４１、取得プロセス１４２、送信プロセス１４３として機能するようになる。なお、各プロセス１４１〜１４３は、図１に示した各部３〜５と同様の機能を発揮する。また、各プロセス１４１〜１４３は、実施例２または実施例３に係る各部と同等の機能を発揮するようにすることも可能である。
【００９３】
なお、本実施例で説明した情報送信プログラムは、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムを記憶装置に記憶させておき、記憶装置からこのプログラムを読み出して、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＭＯ（Magneto Optical Disc）、ＤＶＤ（Digital Versatile Disc）などのコンピュータで読取可能な記録媒体に記録される。また、このプログラムは、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【００９４】
１  情報送信装置
２  記憶部
３  特定部
４  取得部
５  送信部
６  情報処理装置Ａ
９  記憶装置Ａ
２０  構成管理データベース
２１  構成管理情報記憶部
３０  アップデートプロキシ
３１  暗号鍵記憶部
３２  更新データ記憶部
３３  リクエスト処理部
３４  更新データ配送先決定部
３５  更新データ管理部
３６  暗号鍵管理部
３７  更新データ配送部
４０  アップデートマネージャ
５０  物理マシンＡ
５１  ＶＭ＿Ａ
６０  物理マシンＢ
６１  ＶＭ＿Ｂ
６２  ＶＭ＿Ｃ
７０  ストレージシステムＡ
７１  ＶＭイメージＡ
７２  ＶＭイメージＢ
８０  ストレージシステムＢ
８１  ＶＭイメージＣ
【図１】
0005552942.tif 000002
【図２】
0005552942.tif 000003
【図３】
0005552942.tif 000004
【図４】
0005552942.tif 000005
【図５】
0005552942.tif 000006
【図６】
0005552942.tif 000007
【図７】
0005552942.tif 000008
【図８】
0005552942.tif 000009
【図９】
0005552942.tif 000010
【図１０】
0005552942.tif 000011
【図１１】
0005552942.tif 000012
【図１２】
0005552942.tif 000013
【図１３】
0005552942.tif 000014
【図１４】
0005552942.tif 000015