(57)【要約】【課題】仮想化環境におけるセキュリティを向上することができる仮想化環境におけるセキュリティ管理方法を提供する。【解決手段】管理サーバ１０１は、仮想サーバ１１１と、仮想化機構部１１３と、仮想ディスク１１７とを関連付ける仮想サーバ管理情報を記憶部に記憶し、仮想サーバ１１１が起動しているか休止しているかの稼動状態を仮想化機構部１１３に問い合わせをし、問い合わせにより休止の状態であると検知したとき、休止中の仮想サーバ１１１に割り当てられた仮想ディスク１１７を仮想サーバ管理情報に基づいて特定し、特定された仮想ディスク１１７に対してウィルススキャンを開始する。また、管理サーバ１０１が管理する全ての仮想サーバ１１１が有する仮想ディスク１１７の同一ファイルに対して、ウィルススキャンの結果を共有することで、システム全体のウィルススキャンの時間を短縮することができる。【選択図】図１
2011123695.tif 000002
【特許請求の範囲】
【請求項１】
一つまたは複数のサーバ装置がディスク装置に接続され、前記サーバ装置は一つまたは複数の仮想サーバを生成管理可能な仮想化機構部を有し、前記仮想サーバは前記ディスク装置の領域が割り当てられた仮想ディスクを有し、管理サーバがネットワークを介して前記サーバ装置および前記ディスク装置に接続されたシステムにおいて、前記管理サーバが前記仮想ディスクのウィルススキャンを行い前記システムのセキュリティを管理する仮想化環境におけるセキュリティ管理方法であって、
前記管理サーバは、
前記仮想サーバと、前記仮想化機構部と、前記仮想ディスクと、前記仮想ディスクのウィルススキャンの状態とを関連付ける仮想サーバ管理情報を記憶部に記憶しており、
前記仮想サーバが起動しているか休止しているかの稼動状態を前記仮想化機構部に問い合わせをし、
前記問い合わせにより休止の状態であると検知したとき、休止中の仮想サーバに割り当てられた前記仮想ディスクを前記仮想サーバ管理情報における関連付けに基づいて特定し、
前記特定された仮想ディスクに対してウィルススキャンを開始する
ことを特徴とする仮想化環境におけるセキュリティ管理方法。
【請求項２】
前記管理サーバは、
前記特定された仮想ディスクに対してウィルススキャンを開始したとき、前記仮想サーバ管理情報に、当該仮想ディスクのウィルススキャンの状態を処理中であると登録し、
前記休止から起動した状態に変化したことを問い合わせにより検知したとき、
前記起動した状態に変化した仮想サーバに割り当てられた仮想ディスクを前記仮想サーバ管理情報に基づいて特定し、
前記仮想ディスクのウィルススキャンの状態が処理中のとき、前記仮想ディスクのウィルススキャンを中断し、前記仮想サーバ管理情報に、ウィルススキャンの状態を中断中であると登録する
ことを特徴とする請求項１に記載の仮想化環境におけるセキュリティ管理方法。
【請求項３】
前記管理サーバは、
前記仮想サーバ管理情報における前記ウィルススキャンの状態が中断中であるとき、仮想サーバ起動後のウィルススキャンの開始要求を前記仮想化機構部から受理すると、
前記仮想ディスクのウィルススキャンを再開する
ことを特徴とする請求項２に記載の仮想化環境におけるセキュリティ管理方法。
【請求項４】
前記管理サーバは、
前記仮想ディスクに対してウィルスの感染を検知したとき、
ウィルスの感染を検知した仮想ディスクに関連付けられている仮想サーバを前記仮想サーバ管理情報に基づいて特定し、
前記特定された仮想サーバを、ウィルス感染の仮想サーバとして隔離を行う
ことを特徴とする請求項１に記載の仮想化環境におけるセキュリティ管理方法。
【請求項５】
前記管理サーバは、
前記仮想ディスクと、前記仮想ディスクに格納するファイルを識別するファイル識別子と、該ファイルの格納情報と、該ファイルのウィルススキャンの実行結果とを関連付けるファイル管理情報を前記記憶部に記憶しており、
前記仮想ディスクのウィルススキャンの開始後、該仮想ディスク中のファイルのウィルススキャンの実行結果を、前記ファイル管理情報に登録し、
前記ウィルススキャンの実行結果を、前記ファイル管理情報を基づいて他の前記仮想サーバの前記仮想ディスクに格納される同一の前記ファイル識別子のファイルに対して、前記ウィルススキャンの実行結果の状態を更新する
ことを特徴とする請求項１に記載の仮想化環境におけるセキュリティ管理方法。
【請求項６】
一つまたは複数のサーバ装置がディスク装置に接続され、前記サーバ装置は一つまたは複数の仮想サーバを生成管理可能な仮想化機構部を有し、前記仮想サーバは前記ディスク装置の領域が割り当てられた仮想ディスクを有し、ネットワークを介して前記サーバ装置および前記ディスク装置に接続された管理サーバが、前記仮想ディスクのウィルススキャンを行い前記仮想サーバのセキュリティを管理する仮想サーバ管理システムであって、
前記管理サーバは、
前記仮想サーバと、前記仮想化機構部と、前記仮想ディスクと、前記仮想ディスクのウィルススキャンの状態とを関連付ける仮想サーバ管理情報を記憶部に記憶し、
前記仮想サーバが起動しているか休止しているかの稼動状態を前記仮想化機構部に問い合わせをし、
前記問い合わせにより休止の状態であると検知したとき、休止中の仮想サーバに割り当てられた前記仮想ディスクを前記仮想サーバ管理情報における関連付けに基づいて特定し、
前記特定された仮想ディスクに対してウィルススキャンを開始する
ことを特徴とする仮想サーバ管理システム。
【請求項７】
前記管理サーバは、
前記特定された仮想ディスクに対してウィルススキャンを開始したとき、前記仮想サーバ管理情報に、当該仮想ディスクのウィルススキャンの状態を処理中であると登録し、
前記休止から起動した状態に変化したことを問い合わせにより検知したとき、
前記起動した状態に変化した仮想サーバに割り当てられた仮想ディスクを前記仮想サーバ管理情報に基づいて特定し、
前記仮想ディスクのウィルススキャンの状態が処理中のとき、前記仮想ディスクのウィルススキャンを中断し、前記仮想サーバ管理情報に、ウィルススキャンの状態を中断中であると登録する
ことを特徴とする請求項６に記載の仮想サーバ管理システム。
【請求項８】
前記管理サーバは、
前記仮想サーバ管理情報における前記ウィルススキャンの状態が中断中であるとき、仮想サーバ起動後のウィルススキャンの開始要求を前記仮想化機構部から受理すると、
前記仮想ディスクのウィルススキャンを再開する
ことを特徴とする請求項７に記載の仮想サーバ管理システム。
【請求項９】
前記管理サーバは、
前記仮想ディスクに対してウィルスの感染を検知したとき、
ウィルスの感染を検知した仮想ディスクに関連付けられている仮想サーバを前記仮想サーバ管理情報に基づいて特定し、
前記特定された仮想サーバを、ウィルス感染の仮想サーバとして隔離を行う
ことを特徴とする請求項６に記載の仮想サーバ管理システム。
【請求項１０】
前記管理サーバは、
前記仮想ディスクと、前記仮想ディスクに格納するファイルを識別するファイル識別子と、該ファイルの格納情報と、該ファイルのウィルススキャンの実行結果とを関連付けるファイル管理情報を前記記憶部に記憶し、
前記仮想ディスクのウィルススキャンの開始後、該仮想ディスク中のファイルのウィルススキャンの実行結果を、前記ファイル管理情報に登録し、
前記ウィルススキャンの実行結果を、前記ファイル管理情報を基づいて他の前記仮想サーバの前記仮想ディスクに格納される同一の前記ファイル識別子のファイルに対して、前記ウィルススキャンの実行結果の状態を更新する
ことを特徴とする請求項６に記載の仮想サーバ管理システム。
【請求項１１】
一つまたは複数のサーバ装置がディスク装置に接続され、前記サーバ装置は一つまたは複数の仮想サーバを生成管理可能な仮想化機構部を有し、前記仮想サーバは前記ディスク装置の領域が割り当てられた仮想ディスクを有し、ネットワークを介して前記サーバ装置および前記ディスク装置に接続された管理サーバを備えるシステムにおいて、前記仮想ディスクのウィルススキャンを行い前記システムのセキュリティを管理する管理サーバであって、
前記仮想サーバと、前記仮想化機構部と、前記仮想ディスクと、前記仮想ディスクのウィルススキャンの状態とを関連付ける仮想サーバ管理情報を記憶部に記憶し、
前記仮想サーバが起動しているか休止しているかの稼動状態を前記仮想化機構部に問い合わせをし、
前記問い合わせにより休止の状態であると検知したとき、休止中の仮想サーバに割り当てられた前記仮想ディスクを前記仮想サーバ管理情報における関連付けに基づいて特定し、
前記特定された仮想ディスクに対してウィルススキャンを開始する
ことを特徴とする管理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバの仮想化環境のセキュリティを向上することができるセキュリティ管理方法、仮想サーバ管理方法システム、および管理サーバに関する。
【背景技術】
【０００２】
一般業務システムでは、セキュリティを確保するため、定期的にウィルススキャンを行うことが一般的である（例えば、特許文献１参照）。また、仮想化に関する技術の向上により、多くの業務システムが一つの物理サーバ上に集約されるようになってきている。
【０００３】
しかし、一方でセキュリティに対する問題を表面化する要因になっている。すなわち、一般業務システムを仮想化環境へ集約することで、定期的なウィルススキャンに対して、より多くのＣＰＵ（Central Processing Unit）リソースやメモリリソースを必要とし、時間もかかる。
【０００４】
一般業務システムでは、ウィルススキャンが通常業務に影響を与えない時間帯に実行する。仮想化環境に集約したため、一つの物理サーバ上で複数の業務システムが同じ時間帯に同時にウィルススキャンを行うことになり、時間がかかる。そのため、通常業務時間外にウィルススキャンを完了することができないことが考えられる。
【０００５】
このような問題に対して、一般業務中のリソースに空きがある場合にウィルススキャンを実行する機能がある。この機能は、一般にユーザが一定期間操作していない場合に実行するものである。さらに、長期間使用しない業務システムは、定期的なウィルススキャンが実行されない。このような場合は、定期的にウィルススキャンを起動させる必要がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１４０３００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
単一物理サーバ上で複数のＯＳ（Operating System）を独立に動作可能な仮想サーバを生成するサーバ仮想化技術がある。サーバ仮想化技術は、プロセッサ、メモリ、ディスク装置などの物理サーバが有するリソースを、それぞれの仮想サーバに分割して割り当てることでリソースの有効利用を図る技術である。ＯＳ上でウィルスを検出するウィルススキャン技術がある。ウィルススキャン技術は、「パターンマッチング手法」や「ジェネリック手法」などの手法によりウィルスを検出する技術である。従来技術は、それぞれのＯＳ上でウィルススキャンを行い、セキュリティの確保を行っている。
【０００８】
しかし、サーバ仮想化技術により生成した仮想サーバにおいて、セキュリティの確保を行う場合、従来技術のように仮想サーバのＯＳ単位のウィルススキャンでは、非常に効率が悪い。
【０００９】
課題の１つは、ウィルススキャンの方法である。仮想サーバのＯＳ単位でウィルススキャンを行ってしまうと、仮想サーバのＯＳ毎にリソースを奪い合うため、ウィルススキャンに時間がかかってしまう問題がある。
【００１０】
また、もう１つの課題は、動作していない仮想サーバのＯＳのセキュリティを確保できないことである。ウィルススキャンは、ＯＳ上で処理するため、セキュリティを確保するには、定期的に動作していない仮想サーバを起動させる必要が生じてしまう問題がある。
【００１１】
本発明は、前記の課題を解決するための発明であって、仮想化環境におけるセキュリティを向上することができる仮想化環境におけるセキュリティ管理方法、仮想サーバ管理システム、および管理サーバを提供することを目的とする。
【課題を解決するための手段】
【００１２】
前記目的を達成するために、一つまたは複数のサーバ装置（例えば、物理サーバ１１４）がディスク装置（例えば、ディスク装置１１５）に接続され、サーバ装置は一つまたは複数の仮想サーバ（例えば、仮想サーバ１１１）を生成管理可能な仮想化機構部（例えば、仮想化機構部１１３）を有し、仮想サーバはディスク装置の領域が割り当てられた仮想ディスク（例えば、仮想ディスク１１７）を有し、管理サーバがネットワークを介してサーバ装置およびディスク装置に接続されたシステムにおける、管理サーバが仮想ディスクのウィルススキャンを行いシステムのセキュリティを管理する仮想化環境におけるセキュリティ管理方法である。
【００１３】
管理サーバは、仮想サーバと、仮想化機構部と、仮想ディスクと、前記仮想ディスクのウィルススキャンの状態とを関連付ける仮想サーバ管理情報（例えば、仮想サーバ管理テーブル１０７）を記憶部（例えば、メモリ２０１Ａ）に記憶しており、仮想サーバが起動しているか休止しているかの稼動状態を仮想化機構部に問い合わせをし、問い合わせにより休止の状態であると検知したとき、休止中の仮想サーバに割り当てられた仮想ディスクを仮想サーバ管理情報における関連付けに基づいて特定し、特定された仮想ディスクに対してウィルススキャンを開始することを特徴とする。
【００１４】
また、管理サーバが管理する全ての仮想サーバが有する仮想ディスクの同一ファイルに対して、ウィルススキャンの結果を共有することを特徴とする。これにより、システム全体のウィルススキャン時間を短縮することができる。
【発明の効果】
【００１５】
本発明によれば、仮想化環境におけるセキュリティを向上することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の仮想サーバ管理システムを示す全体構成図である。
【図２】実施形態１に係る管理サーバの構成を示す詳細図である。
【図３】物理サーバの構成を示す詳細図である。
【図４】物理サーバ管理テーブルの一例を示す説明図である。
【図５】仮想サーバ管理テーブルの一例を示す説明図である。
【図６】ファイル管理テーブルの一例を示す説明図である。
【図７】休止検知処理の概要を示す説明図である。
【図８】起動検知処理の概要を示す説明図である。
【図９】起動連携処理の概要を示す説明図である。
【図１０】ウィルス検出処理の概要を示す説明図である。
【図１１】ファイル管理テーブル更新処理の概要を示す説明図である。
【図１２】物理サーバ管理テーブル／仮想サーバ管理テーブル追加更新処理の概要を示す説明図である。
【図１３】仮想サーバ監視部の全体処理を示すフローチャートである。
【図１４】仮想サーバ監視部のファイル送受信部の処理を示すフローチャートである。
【図１５】仮想サーバ監視部の起動検知部の処理を示すフローチャートである。
【図１６】仮想サーバ監視部の休止検知部の処理を示すフローチャートである。
【図１７】仮想サーバ監視部の仮想サーバ追加更新部の処理を示すフローチャートである。
【図１８】ファイル処理部の処理を示すフローチャートである。
【図１９】ファイル処理部のスキャン開始部の処理を示すフローチャートである。
【図２０】ファイル処理部のスキャン中断部の処理を示すフローチャートである。
【図２１】実施形態１の管理テーブル処理部の処理を示すフローチャートである。
【図２２】実施形態１の管理テーブル処理部の処理を示すフローチャートである。
【図２３】管理テーブル処理部のファイルエントリー追加更新部の処理を示すフローチャートである。
【図２４】管理テーブル処理部のファイルエントリー抽出部の処理を示すフローチャートである。
【図２５】管理テーブル処理部のサーバエントリー追加更新部の処理を示すフローチャートである。
【図２６】管理テーブル処理部のサーバエントリー抽出部の処理を示すフローチャートである。
【図２７】管理テーブル処理部のファイル識別子生成部の処理を示すフローチャートである。
【図２８】実施形態２に係る管理サーバの構成を示す詳細図である。
【図２９】実施形態２の管理テーブル処理部の処理を示すフローチャートである。
【図３０】実施形態２の管理テーブル処理部の処理を示すフローチャートである。
【図３１】管理テーブル処理部のファイルエントリー連携部の処理を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について図面を用いて詳細に説明する。
<<実施形態１>>
図１は、本発明の仮想サーバ管理システムを示す全体構成図である。図１に示すように、仮想サーバ管理システムは、管理サーバ１０１と、１以上の物理サーバ１１４（サーバ装置）とがネットワーク１１０を介して接続され、物理サーバ１１４には、１以上のディスク装置１１５が接続されている。
【００１８】
管理サーバ１０１は、仮想化環境におけるセキュリティ向上を図る上での制御の中心である。管理サーバ１０１は、仮想サーバ監視部１０２（図１３参照）、管理テーブル処理部１０３（図２１、図２２参照）、ファイル処理部１０４（図１８参照）、仮想サーバ連携部１０５を有しており、各種テーブル類には、物理サーバ管理テーブル１０６（図４参照）、仮想サーバ管理テーブル１０７（図５参照）（仮想サーバ管理情報）、ファイル管理テーブル１０８（図６参照）（ファイル管理情報）、および処理定義ファイル１０９から構成される。
【００１９】
物理サーバ１１４は、仮想化機構部１１３を搭載し、仮想化機構部１１３は、複数の仮想サーバ１１１を有している。仮想サーバ１１１は、エージェント１１２を有する。また、物理サーバ１１４は、複数のディスクボリューム１１６からなるディスク装置１１５を有している。ディスクボリューム１１６は、複数の仮想ディスク１１７を有している。ディスク装置１１５は、サーバ内蔵型でもファイバーチャネルなどを介した外部装置でもよい。
【００２０】
管理サーバ１０１に係る仮想サーバ監視部１０２は、仮想サーバの起動休止状態や、各種情報の受け渡しを行う機能を有する。管理テーブル処理部１０３は、ファイルエントリーの追加や更新、ならびにサーバエントリーの追加や更新を行う機能を有する。ファイル処理部１０４は、ウィルススキャン（以下、単に「スキャン」という場合がある。）の開始や中断を制御する機能を有する。仮想サーバ連携部１０５は、仮想化機構部１１３やエージェント１１２を管理する機能を有する。
【００２１】
物理サーバ管理テーブル１０６は、物理サーバに接続されるディスク装置などに関する物理サーバ１１４のリソース情報が格納される。仮想サーバ管理テーブル１０７は、仮想サーバ１１１に関する構成情報や各種状態が格納される。ファイル管理テーブル１０８は、仮想ディスク１１７に格納されるファイルのファイル情報、ウィルススキャン日時、ウィルススキャンの状態が格納される。処理定義ファイル１０９は、仮想ディスク１１７に対してウィルススキャンを実行するための条件やファイル管理テーブル１０８からウィルススキャンを実行する対象ファイルを抽出するためのファイル抽出条件が格納される。
【００２２】
本実施形態では、管理サーバ１０１が、仮想サーバ１１１の起動状態や休止状態に応じて動作するウィルススキャンと、その処理手順の一実施形態を示す。なお、起動状態とは、仮想サーバ１１１がメモリ２０１Ｂ（図３参照）に格納されている状態であり、休止状態とは、仮想サーバ１１１がメモリ２０１Ｂに格納されていない状態をいう。
【００２３】
図２は、実施形態１に係る管理サーバ１０１の構成を示す詳細図である。管理サーバ１０１は、メモリ２０１Ａとプロセッサ２０２Ａとネットワークインタフェース２０３Ａとディスクインタフェース２０４Ａから構成される。メモリ２０１Ａ内には、仮想サーバ監視部１０２、管理テーブル処理部１０３、ファイル処理部１０４、仮想サーバ連携部１０５、スキャン部２１８、仮想ディスクＩ／Ｏ処理部２１９の各種プログラム、物理サーバ管理テーブル１０６、仮想サーバ管理テーブル１０７、ファイル管理テーブル１０８、処理定義ファイル１０９のテーブル類が記憶されている。なお、Ｉ／ＯはInput／Outputの略である。
【００２４】
仮想サーバ監視部１０２には、起動検知部２０５、休止検知部２０６、ファイル送受信部２０７、仮想サーバ追加更新部２０８が含まれる。
【００２５】
管理テーブル処理部１０３には、ファイルエントリー追加更新部２０９、ファイルエントリー抽出部２１０、サーバエントリー追加更新部２１１、サーバエントリー抽出部２１２、ファイル識別子生成部２１３のプログラムが含まれる。
【００２６】
ファイル処理部１０４には、スキャン開始部２１６、スキャン中断部２１７のプログラムが含まれる。仮想サーバ連携部１０５には、エージェント管理部２１４、仮想サーバ管理部２１５が含まれる。なお、本実施形態では、ファイル処理部１０４には、スキャン開始部２１６、スキャン中断部２１７を有しており、スキャン部２１８が含んでいない構成としたがこれに限定されるわけではない。例えば、ファイル処理部１０４には、ファイル処理部の全般の処理として、スキャン開始部２１６、スキャン中断部２１７、スキャン部２１８を有していてもよい。
【００２７】
仮想サーバ監視部１０２（図１３参照）に係る起動検知部２０５（図１５参照）および休止検知部２０６（図１６参照）は、仮想サーバ連携部１０５が持つエージェント管理部２１４や仮想サーバ管理部２１５と連携し、起動した仮想サーバ１１１または休止した仮想サーバ１１１が存在するかを検知する機能である。なお、起動した仮想サーバ１１１とは、休止していた仮想サーバ１１１が起動した状態であり、休止した仮想サーバ１１１とは、起動中の仮想サーバ１１１が休止した状態である。ファイル送受信部２０７（図１４参照）は、ウィルス感染情報、起動連携要求、ファイル書込み情報を受信して判断し、前記受信した情報および要求に基づいて各処理部へ振り分ける機能（図９、図１０、図１１参照）を有する。仮想サーバ追加更新部２０８（図１７参照）は、物理サーバ管理テーブル１０６および仮想サーバ管理テーブル１０７に新たに生成された仮想サーバ１１１の追加や仮想サーバ１１１の状態を更新する機能を有する。
【００２８】
管理テーブル処理部１０３（図２１、図２２参照）に係るファイルエントリー追加更新部２０９（図２３参照）は、ファイル管理テーブル１０８に仮想ディスク１１７に書き込まれたファイルの追加やスキャン結果の更新を行う機能を有する。ファイルエントリー抽出部２１０（図２４参照）は、処理定義ファイル１０９のファイル抽出条件に従い、ファイル管理テーブル１０８からファイルを抽出する機能を有する。サーバエントリー追加更新部２１１（図２５参照）は、物理サーバ管理テーブル１０６および仮想サーバ管理テーブル１０７に物理サーバや仮想サーバの追加更新を行う機能を有する。サーバエントリー抽出部２１２（図２６参照）は、仮想サーバ管理テーブル１０７およびファイル管理テーブル１０８から特定のファイルを含む仮想サーバを特定する機能を有する。ファイル識別子生成部２１３（図２７参照）は、各ファイルの固有な識別子を生成する機能を有する。ただし、同一内容のファイルは同じファイル識別子が生成される。
【００２９】
エージェント管理部２１４は、仮想サーバ１１１のエージェント１１２が持つ連携部３０３と連携する機能を有する。仮想サーバ管理部２１５は、仮想化機構部１１３と連携する機能を有する。エージェント管理部２１４または仮想サーバ管理部２１５により、仮想サーバ１１１の起動休止状態を監視する。
【００３０】
ファイル処理部１０４（図１８参照）に係るスキャン開始部２１６（図１９参照）は、仮想ディスク１１７に対してスキャンを開始する機能、具体的には、仮想ディスク１１７のファイルに対して、スキャン部２１８を用いて、ウィルススキャンを開始する機能を有する。スキャン中断部２１７（図２０参照）は、スキャン部２１８によりウィルススキャンを実行中のファイルに対して、ウィルススキャンを中断する機能を有する。
【００３１】
スキャン部２１８は、仮想ディスク１１７のファイルを仮想ディスクＩ／Ｏ処理部２１９を用いて、ウィルススキャンを実行する機能を有する。仮想ディスクＩ／Ｏ処理部２１９は、仮想ディスク１１７内のファイルを特定し、Ｉ／Ｏ処理を行う機能を有する。また、仮想ディスクＩ／Ｏ処理部２１９は、スキャン部２１８に含めることも可能である。
【００３２】
プロセッサ２０２Ａが、メモリ２０１Ａに格納された仮想サーバ監視部１０２、管理テーブル処理部１０３、ファイル処理部１０４、仮想サーバ連携部１０５、スキャン部２１８、仮想ディスクＩ／Ｏ処理部２１９など各種プログラムを実行することで、仮想サーバ１１１の管理や連携、ファイル情報の送受信処理、ウィルススキャンの各処理を行う。
【００３３】
仮想サーバ１１１の管理や連携、ファイル情報の送受信処理、ウィルススキャンの各処理は、各プログラムをプロセッサ２０２Ａで実行することにより実現するが、これらは、仮想サーバ監視部１０２、管理テーブル処理部１０３、ファイル処理部１０４、仮想サーバ連携部１０５、スキャン部２１８、仮想ディスクＩ／Ｏ処理部２１９など、各処理を行う処理部として集積回路化するなどしてハードウェアで実現することもできる。また、管理サーバ１０１のメモリ２０１Ａに格納された仮想サーバ監視部１０２、管理テーブル処理部１０３、ファイル処理部１０４、仮想サーバ連携部１０５、スキャン部２１８、仮想ディスクＩ／Ｏ処理部２１９は、物理サーバ１１４のメモリ２０１Ｂ（図３参照）で動作させることもできる。
【００３４】
ネットワークインタフェース２０３Ａは、ネットワーク１１０に接続するためのインタフェースであり、ネットワークインタフェース２０３Ａを介して仮想サーバ１１１の起動休止情報などが転送される。ディスクインターフェース２０４Ａは、ディスク装置１１５にアクセスするためのインターフェースである。
【００３５】
図３は、物理サーバ１１４の構成を示す詳細図である。物理サーバ１１４は、メモリ２０１Ｂとプロセッサ２０２Ｂとネットワークインタフェース２０３Ｂとディスクインタフェース２０４Ｂから構成される。メモリ２０１Ｂには、仮想サーバ１１１、仮想化機構部１１３が含まれる。プロセッサ２０２Ｂが、メモリ２０１Ｂに格納された仮想サーバ１１１、仮想化機構部１１３などの各種プログラムを実行することで、仮想サーバ１１１の各処理を行う。また、仮想化機構部１１３は、物理サーバ１１４にインストールしたＯＳ上でプログラムとして実行することもできる。
【００３６】
仮想サーバ１１１には、ＯＳ３０１がインストールされ、仮想サーバ１１１ごとに独立して動作することができる。ＯＳ３０１上には、エージェント１１２がインストールされ、エージェント１１２は、通知部３０２、連携部３０３、ディスクＩ／Ｏ監視部３０４を有する。
【００３７】
通知部３０２は、ウィルススキャンの結果などをユーザに通知する機能を有する。連携部３０３は、仮想サーバ連携部１０５とネットワーク１１０を介して、情報の送受信機能を有する。ディスクＩ／Ｏ監視部３０４は、ＯＳ３０１が仮想ディスク１１７に対して読み書きを行った際に検知する機能を有する。
【００３８】
次に、各種テーブルについて説明する。
図４は、物理サーバ管理テーブル１０６の一例を示す説明図である。物理サーバ管理テーブル１０６は、物理サーバの識別子である物理サーバ識別子４０１と、物理サーバ１１４に接続されるディスクボリューム１１６を示す接続ディスクボリューム４０２とを含んで構成される。物理サーバ識別子４０１には、複数の物理サーバ１１４が存在する場合は、複数の情報が格納される。具体的には、物理サーバ識別子４０１が「サーバ１」の場合、接続ディスクボリューム４０２は、「ディスク装置１」の「ディスクボリューム１」である。また、物理サーバ識別子４０１が「サーバ２」の場合、接続ディスクボリューム４０２は、「ディスク装置１」の「ディスクボリューム２」である。なお、物理サーバ管理テーブル１０６は、サーバエントリー追加更新部２１１で追加更新される。
【００３９】
なお、本実施形態では、以下、物理サーバ管理テーブル１０６の行で示される物理サーバ識別子４０１、接続ディスクボリューム４０２の一塊の情報を物理サーバエントリーと呼ぶ。物理サーバエントリーが新しく追加された場合には、物理サーバ管理テーブル１０６の行が新しく追加されることを意味する。
【００４０】
図５は、仮想サーバ管理テーブル１０７の一例を示す説明図である。仮想サーバ管理テーブル１０７は、仮想サーバの識別子を示す仮想サーバ識別子５０１、仮想化機構部の識別子を示す仮想化機構識別子５０２、物理サーバの識別子を示す物理サーバ識別子５０３、仮想ディスクの識別子を示す仮想ディスク識別子５０４、仮想サーバ１１１の稼動状態を示す稼動状態５０５、スキャンの状態を示すスキャン状態５０６を含んで構成される。
【００４１】
仮想サーバ識別子５０１は、仮想サーバ１１１を一意に決定する情報が含まれる。複数の仮想サーバ１１１が存在する場合は、複数の情報が格納される。仮想化機構識別子５０２は、仮想化機構部１１３を一意に決定する情報が含まれる。物理サーバ識別子５０３は、物理サーバ１１４を一意に決定する情報が含まれる。仮想ディスク識別子５０４は、仮想ディスク１１７を一意に決定する情報が含まれる。仮想サーバ１１１に複数の仮想ディスク１１７が接続されている場合は、複数の情報が格納される。稼動状態５０５には、例えば、稼動中や休止などの情報が格納される。スキャン状態５０６には、例えば、処理中、中断中などの情報が格納される。なお、仮想サーバ管理テーブル１０７は、サーバエントリー追加更新部２１１で追加更新される。
【００４２】
具体的には、仮想サーバ１は、仮想化機構１（仮想化機構部１）を有し、物理サーバ１上にあり、仮想ディスク１が割り当てられている。仮想サーバ１は、休止状態であるため、仮想サーバに割り当てられた仮想ディスクのウィルススキャンが処理中（処理中）である。仮想サーバ２は、仮想化機構２（仮想化機構部２）を有し、物理サーバ１上にあり、仮想ディスク２および仮想ディスク３が割り当てられている。仮想サーバ２は、休止のときに、仮想ディスク２および仮想ディスク３のウィルススキャンが開始したが、現在稼動中であるため、仮想ディスク２および仮想ディスク３のウィルススキャンが中断中である。
【００４３】
なお、本実施形態では、以下、仮想サーバ管理テーブル１０７の行で示される仮想サーバ識別子５０１、仮想化機構識別子５０２、物理サーバ識別子５０３、仮想ディスク識別子５０４、稼動状態５０５、スキャン状態５０６の一塊の情報を仮想サーバエントリーと呼ぶ。仮想サーバエントリーが新しく追加された場合には、仮想サーバ管理テーブル１０７の行が新しく追加されることを意味する。
【００４４】
図６は、ファイル管理テーブル１０８の一例を示す説明図である。ファイル管理テーブル１０８は、仮想ディスクの識別子を示す仮想ディスク識別子６０１、ファイルの識別子を示すファイル識別子６０２、格納情報６０３、スキャン完了日時６０４、スキャン情報６０５を含んで構成される。仮想ディスク識別子６０１は、仮想ディスク１１７を一意に決定する情報が含まれる。ファイル識別子６０２は、仮想ディスク１１７内に格納されるファイルを一意に決定する情報が含まれる。仮想ディスク１１７内の別の場所や複数の仮想ディスク１１７に格納される場合でも、同じファイルの場合は、同じファイル識別子となる。格納情報６０３は、仮想ディスク１１７内の格納場所を示す。スキャン完了日時６０４は、最後にウィルススキャンを実行した完了日時を示す。スキャン情報６０５は、現在のウィルススキャンの実行状態であり、中断したウィルススキャンを再開するための情報などが含まれる。なお、ファイル管理テーブル１０８は、ファイルエントリー追加更新部２０９で追加更新される。
【００４５】
なお、本実施形態では、以下、ファイル管理テーブル１０８の行で示される仮想ディスク識別子６０１、ファイル識別子６０２、格納情報６０３、スキャン完了日時６０４、スキャン情報６０５の一塊をファイルエントリーと呼ぶ。ファイルエントリーが新しく追加される場合には、ファイル管理テーブル１０８の行が新しく追加されることを意味する。
【００４６】
図７は、休止検知処理の概要を示す説明図である。管理サーバ１０１の仮想サーバ監視部１０２は、定期的に休止検知部２０６を用いて休止中の仮想サーバを確認する。休止検知部２０６は、仮想サーバ連携部１０５を用いてエージェント１１２と通信不可能になることにより、休止中の仮想サーバ１１１を確認する。また、休止検知部２０６は、仮想サーバ連携部１０５を介して、仮想化機構部１１３に所定時間ごと、または、管理者の要求により問い合わせをし休止中の仮想サーバ１１１を確認することも可能である。また、仮想化機構部１１３が、仮想サーバ１１１の休止を検知すると、仮想サーバ連携部１０５に通知してもよい。休止検知部２０６が休止中の仮想サーバ１１１を検知すると、休止中仮想サーバ情報をファイル処理部１０４に送信する。なお、休止中仮想サーバ情報は、具体的には、休止中の仮想サーバの仮想サーバ識別子である。
【００４７】
管理サーバ１０１のファイル処理部１０４は、休止中仮想サーバ情報を受信すると、仮想サーバ情報（例えば、仮想サーバ識別子、仮想ディスク識別子）をスキャン開始部２１６に渡す。スキャン開始部２１６は、仮想サーバ情報を基に管理テーブル処理部１０３へファイル取得要求を送信する。
【００４８】
管理サーバ１０１の管理テーブル処理部１０３は、ファイル取得要求を受信すると、ファイル管理テーブル１０８からファイルエントリーを抽出し、スキャン開始部２１６に送信する。スキャン開始部２１６は、ファイル取得要求の結果を受信すると、スキャン部２１８を使って、仮想ディスク１１７のウィルススキャンを実行する。スキャン部２１８は、ウィルススキャンの実行結果（スキャン結果）をスキャン開始部２１６に返し、スキャン開始部２１６は、スキャン結果を管理テーブル処理部１０３に送信する。管理テーブル処理部１０３は、スキャン結果を受信すると、仮想サーバ管理テーブル１０７およびファイル管理テーブル１０８を更新する。スキャン開始部２１６は、ファイル取得要求の結果、ファイルエントリーがなくなるまで、ウィルススキャンを続ける。
【００４９】
図８は、起動検知処理の概要を示す説明図である。仮想サーバ監視部１０２は、定期的に起動検知部２０５を用いて起動した仮想サーバを確認する。起動検知部２０５は、仮想サーバ連携部１０５を用いてエージェント１１２と通信可能になることにより、起動した仮想サーバ１１１を確認する。また、仮想化機構部１１３により、起動した仮想サーバ１１１を確認することも可能である。起動検知部２０５が起動した仮想サーバ１１１を検知すると、起動仮想サーバ情報をファイル処理部１０４に送信する。なお、起動仮想サーバ情報は、具体的には、起動した仮想サーバの仮想サーバ識別子である。
【００５０】
管理サーバ１０１のファイル処理部１０４は、起動仮想サーバ情報を受信すると、起動仮想サーバ情報（例えば、仮想サーバ識別子、仮想ディスク識別子）をスキャン中断部２１７に渡す。スキャン中断部２１７は、仮想サーバ情報を基に管理テーブル処理部１０３へサーバ状態取得要求を送信する。
【００５１】
管理サーバ１０１の管理テーブル処理部１０３は、サーバ状態取得要求を受信すると、仮想サーバ管理テーブル１０７から仮想サーバのスキャン状態５０６を、スキャン中断部２１７に送信する。スキャン中断部２１７は、サーバ状態取得要求の結果を受信し、スキャン処理中の場合は、スキャン部２１８にファイルスキャンの中断を指示する。スキャン部２１８は、ファイルスキャンの中断を指示されると、対象の仮想サーバに対するファイルスキャンを中断し、その中断した実行結果をスキャン中断部２１７に返し、スキャン中断部２１７は、スキャン結果を管理テーブル処理部１０３に送信し、終了する。管理テーブル処理部１０３は、スキャン結果を受信すると、仮想サーバ管理テーブル１０７およびファイル管理テーブル１０８を更新する。
【００５２】
図９は、起動処理の概要を示す説明図である。管理サーバ１０１の仮想サーバ監視部１０２は、定期的にファイル送受信部２０７を用いて起動連携要求の有無を確認する。起動連携要求とは、例えば、「仮想サーバで中断しているスキャン処理を続行する」という処理の要求であり、具体的にユーザの設定により仮想サーバ１１１が起動した際に、仮想化機構部１１３またはエージェント１１２からの要求により、仮想サーバ連携部１０５の起動連携の処理（起動連携処理）を受け付ける。
【００５３】
管理サーバ１０１のファイル送受信部２０７は、仮想サーバ連携部１０５を介して、仮想化機構部１１３またはエージェント１１２から起動連携要求を受信する。ファイル送受信部２０７が起動連携要求を確認すると、起動連携仮想サーバ情報をファイル処理部１０４に送信する。起動連携仮想サーバ情報とは、起動連携要求に要求元の仮想サーバ情報を追加した情報である。
【００５４】
管理サーバ１０１のファイル処理部１０４は、起動連携仮想サーバ情報を受信すると、仮想サーバ情報をスキャン開始部２１６に渡す。スキャン開始部２１６は、仮想サーバ情報を基に管理テーブル処理部１０３へファイル取得要求を送信する。管理テーブル処理部１０３はファイル取得要求を受信すると、ファイル管理テーブル１０８からファイルエントリーを抽出し、スキャン開始部２１６に送信する。
【００５５】
スキャン開始部２１６は、ファイル取得要求の結果を受信すると、スキャン部２１８を使って、仮想ディスク１１７のウィルススキャンを実行する。スキャン部２１８は、ウィルススキャンの実行結果をスキャン開始部２１６に返し、スキャン開始部２１６は、スキャン結果を管理テーブル処理部１０３に送信する。管理テーブル処理部１０３は、スキャン結果を受信すると、仮想サーバ管理テーブル１０７およびファイル管理テーブル１０８を更新する。スキャン開始部２１６は、ファイル取得要求の結果、ファイルエントリーがなくなるまで、ウィルススキャンを続ける。
【００５６】
なお、仮想化機構部１１３またはエージェント１１２は、仮想サーバ１１１の稼動中に、ユーザからの要求、または、定期的に起動連携要求を発行することで、仮想サーバ１１１が稼動中においても、ウィルススキャンを実行することができる。
【００５７】
図１０は、ウィルス検出処理の概要を示す説明図である。管理サーバ１０１のスキャン部２１８が仮想ディスク１１７のファイルに対して、ウィルススキャンを実行した際、スキャン部２１８がウィルスを検出すると、スキャン開始部２１６にウィルスを検出した仮想ディスク識別子、ファイル識別子、検出時刻、ウィルスの内容を含むウィルスの検出情報を送信する。スキャン開始部２１６は、ウィルスの検出情報を受信すると、ウィルスの検出情報に加えてウィルスの危険度などを含めたウィルス感染情報を生成し、ファイル送受信部２０７に送信する。スキャン開始部２１６およびスキャン部２１８は、ウィルススキャンを中断する。
【００５８】
仮想サーバ監視部１０２のファイル送受信部２０７は、ウィルス感染情報を受信するとウィルス感染情報を元に管理テーブル処理部１０３からウィルス感染サーバ情報を取得し、仮想サーバ連携部１０５に送信する。なお、ウィルス感染サーバ情報は、具体的には、ウィルスに感染した仮想ディスクを使用している仮想サーバ識別子、仮想化機構識別子、物理サーバ識別子などである。
【００５９】
仮想サーバ連携部１０５は、ウィルス感染サーバ情報を基に仮想サーバ１１１の隔離を行う。隔離とは、管理者の設定により、感染した仮想サーバ１１１の起動を抑制したり、ネットワークから切り離したりすることを意味する。
【００６０】
図１１は、ファイル管理テーブル更新処理の概要を示す説明図である。エージェント１１２のディスクＩ／Ｏ監視部３０４が、仮想ディスク１１７にファイル書込み１１０１を検知すると、エージェント１１２は、ファイル書込み情報を仮想サーバ連携部１０５を介してファイル送受信部２０７に送信する。ファイル書込み情報とは、仮想ディスク１１７に書き込んだファイルの格納情報である。
【００６１】
ファイル送受信部２０７は、ファイル書込み情報を受信するとファイル書込み情報を管理テーブル処理部１０３に送信する。管理テーブル処理部１０３は、ファイル書込み情報を受信すると、ファイル識別こを生成し、例えば、同一のファイル識別子があるか否かについてファイル管理テーブルを検索し、同一のファイル識別子がなければ、ファイル管理テーブル１０８にファイルエントリーの行を追加（更新）する。
【００６２】
図１２は、物理サーバ管理テーブル／管理サーバ管理テーブル追加更新処理の概要を示す説明図である。仮想サーバ１１１において追加更新１２０１が発生すると、仮想サーバ連携部１０５は、仮想化機構部１１３またはエージェント１１２と連携し、仮想サーバ１１１の追加更新情報を仮想サーバ監視部１０２に送信する。
【００６３】
仮想サーバ監視部１０２は、仮想サーバ１１１の追加更新情報を受信すると、仮想サーバの追加更新情報を仮想サーバ追加更新部２０８へ渡す。仮想サーバ追加更新部２０８は、仮想サーバの追加更新情報により、サーバ追加更新情報を管理テーブル処理部１０３に送信する。なお、仮想サーバの追加更新情報は、具体的には、追加更新された仮想サーバ識別子、物理サーバ識別子などである。また、サーバ追加更新情報は、仮想サーバの追加更新情報に加えて、追加更新された時刻などを含む。
【００６４】
管理テーブル処理部１０３は、サーバ追加更新情報を受信すると、サーバ追加更新情報をサーバエントリー追加更新部２１１に渡す。サーバエントリー追加更新部２１１は、サーバ追加更新情報から物理サーバ識別子および仮想サーバ識別子を物理サーバ管理テーブル１０６（図４参照）および仮想サーバ管理テーブル１０７（図５参照）から検索し、追加登録（追加更新）する。具体的には、仮想サーバ４が追加された場合、仮想サーバ管理テーブル１０７に、仮想サーバ４のサーバエントリーの行が追加登録される。
【００６５】
次に主要な処理制御フローについて説明する。
図１３は、仮想サーバ監視部１０２の全体処理を示すフローチャートである。図７から図１２の概要について、図１３を用いてさらに説明する。図１３のフローチャートは、起動検知部２０５（図１５参照）、休止検知部２０６（図１６参照）、ファイル送受信部２０７（図１４参照）、仮想サーバ追加更新部２０８（図１７参照）の処理との関係を含めて全体処理について示す。
【００６６】
仮想サーバ監視部１０２は、休止検知部２０６および起動検知部２０５による仮想サーバ１１１の状態監視の処理（図７、図８参照）、仮想サーバ連携部１０５のファイル送受信要求に応じての処理（図９、図１１参照）、ファイル処理部１０４からのファイル送受信要求に応じての処理（図１０参照）を行う。ここで、ファイル送受信要求とは、起動連携要求（起動連携要求情報）、ウィルス感染情報、ファイル書込み情報である。
【００６７】
例えば、起動連携要求とは、具体的にユーザの設定により仮想サーバ１１１が起動した際に、仮想サーバ連携部１０５に起動連携処理を実行させる要求である。また、起動連携処理とは、起動した仮想サーバ１１１のウィルススキャンが中断しており、起動後もウィルススキャンを続行することである。
【００６８】
また、ウィルス感染情報は、具体的にファイル処理部１０４がスキャン部２１８によりウィルスを検出した際のウィルス感染情報である。また、ファイルの書込み情報は、具体的にエージェント１１２のディスクＩ／Ｏ監視部３０４がファイルの書込みを検知した際のファイル書込み情報である。
【００６９】
ステップＳ１３０１において、仮想サーバ監視部１０２は、起動検知部２０５を実行し、起動検知部２０５は、起動した仮想サーバを取得する。ステップＳ１３０２において、起動検知部２０５は、起動した仮想サーバが存在したかを判断する。起動した仮想サーバが存在する場合（ステップＳ１３０２，有）、ステップＳ１３０３に進み、起動検知部２０５は、起動仮想サーバ情報をファイル処理部１０４へ送信し、ステップＳ１３０４に進む。一方、ステップＳ１３０２において、起動した仮想サーバが無い場合（ステップＳ１３０２，無）、ステップＳ１３０４に進む。
【００７０】
ステップＳ１３０４において、仮想サーバ監視部１０２は、休止検知部２０６を実行し、休止検知部２０６は、休止中の仮想サーバを取得する。ステップＳ１３０５において、休止検知部２０６は、休止中仮想サーバが存在したかを判断する。休止中の仮想サーバが存在する場合（ステップＳ１３０５，有）、ステップＳ１３０６に進み、休止検知部２０６は、休止中仮想サーバ情報をファイル処理部へ送信し、ステップＳ１３０７に進む。一方、ステップＳ１３０５において、休止中の仮想サーバが無い場合（ステップＳ１３０５，無）、ステップＳ１３０７に進む。
【００７１】
ステップＳ１３０７において、仮想サーバ監視部１０２のファイル送受信部２０７は、ファイル送受信要求があるかを判断する。例えば、起動連携処理やウィルスの検出時などに要求される。ファイル送受信要求がある場合（ステップＳ１３０７，有）、ステップＳ１３０８に進み、ファイル送受信部２０７の処理（図１４参照）を行い、ステップＳ１３０９に進む。
【００７２】
ステップＳ１３０９において、仮想サーバ監視部１０２の仮想サーバ追加更新部２０８は、仮想サーバの追加更新があるかを判断する。例えば、仮想サーバが追加された場合に要求される。仮想サーバの追加更新がある場合（ステップＳ１３０９，有）、ステップＳ１３１０に進み、仮想サーバ追加更新部２０８の処理（図１７参照）を行い、ステップＳ１３０１に戻る。そして、仮想サーバ監視部１０２は、繰り返し動作し続ける。なお、ステップＳ１３０９において仮想サーバの追加更新がない場合（ステップＳ１３０９，無）、ステップＳ１３０１に戻る。
【００７３】
図１４は、仮想サーバ監視部１０２のファイル送受信部２０７の処理を示すフローチャートである。ステップＳ１４０１において、ファイル送受信部２０７は、ファイル送信要求がウィルス感染情報かを判断する。ウィルス感染情報の場合は（ステップＳ１４０１，Ｙｅｓ）、ステップＳ１４０２に進み、それ以外の場合は（ステップＳ１４０１，Ｎｏ）、ステップＳ１４０４に進む。
【００７４】
ステップＳ１４０２において、ファイル送受信部２０７は、ウィルス検出の情報を基に管理テーブル処理部１０３から、ウィルス感染サーバ情報を取得する。ステップＳ１４０３において、ステップＳ１４０２において取得したウィルス感染サーバ情報を仮想サーバ連携部１０５へ送信する。
【００７５】
ステップＳ１４０４において、ファイル送受信部２０７は、ファイル送信要求が起動連携要求かを判断する。起動連携要求の場合は（ステップＳ１４０４，Ｙｅｓ）、ステップＳ１４０５に進み、それ以外の場合は（ステップＳ１４０４，Ｎｏ）、ステップＳ１４０７に進む。ステップＳ１４０５において、ファイル送受信部２０７は、起動連携要求から起動連携要求に要求元の仮想サーバ情報を追加して起動連携仮想サーバ情報を生成する。そして、ステップＳ１４０６において、ファイル送受信部２０７は、ステップＳ１４０５で生成した起動連携仮想サーバ情報をファイル処理部１０４へ送信し、処理を終了する。
【００７６】
ステップＳ１４０７において、ファイル送受信部２０７は、ファイル送信要求がファイル書込み情報かを判断する。ファイル書込み情報の場合（ステップＳ１４０７，Ｙｅｓ）、ステップＳ１４０８に進み、ファイル送受信部２０７は、ファイル書込み情報を管理テーブル処理部１０３へ送信して、処理を終了する。一方、ファイル書込み情報でない場合は（ステップＳ１４０７，Ｎｏ）、処理を終了する。
【００７７】
図１５は、仮想サーバ監視部１０２の起動検知部２０５の処理を示すフローチャートである。ステップＳ１５０１において、起動検知部２０５は、仮想サーバ連携部１０５から起動した仮想サーバを取得して処理を終了する。
【００７８】
図１６は、仮想サーバ監視部１０２の休止検知部２０６の処理を示すフローチャートである。ステップＳ１６０１において、休止検知部２０６は、仮想サーバ連携部１０５から休止中の仮想サーバを取得して処理を終了する。
【００７９】
図１７は、仮想サーバ監視部１０２の仮想サーバ追加更新部２０８の処理を示すフローチャートである。ステップＳ１７０１において、仮想サーバ追加更新部２０８は、仮想サーバ連携部１０５から仮想サーバのサーバ追加更新情報を取得する。ステップＳ１７０２において、ステップＳ１７０１で取得したサーバ追加更新情報を管理テーブル処理部１０３へ送信し、処理を終了する。
【００８０】
図１８は、ファイル処理部１０４の処理を示すフローチャートである。ステップＳ１８０１において、ファイル処理部１０４は、稼動サーバ連携部１０５などから情報の受信を行う。ステップＳ１８０２において、ファイル処理部１０４は、受信結果が起動連携仮想サーバ情報かを判断する。起動連携仮想サーバ情報の場合は（ステップＳ１８０２，Ｙｅｓ）、ステップＳ１８０４に進み、起動連携仮想サーバ情報でない場合は（ステップＳ１８０２，Ｎｏ）、ステップＳ１８０３に進む。
【００８１】
ステップＳ１８０３において、ファイル処理部１０４は、受信結果が休止中仮想サーバ情報かを判断する。休止中仮想サーバ情報の場合は（ステップＳ１８０３，Ｙｅｓ）、ステップＳ１８０４に進み、休止中仮想サーバ情報でない場合は（ステップＳ１８０３，Ｎｏ）、ステップＳ１８０５に進む。
【００８２】
ステップＳ１８０４において、ファイル処理部１０４は、起動連携仮想サーバ情報または休止中仮想サーバ情報から仮想サーバ情報を生成し、仮想サーバ情報をスキャン開始部２１６に渡し、ステップＳ１８０５に進む。
【００８３】
ステップＳ１８０５において、ファイル処理部１０４は、受信結果が起動仮想サーバ情報かを判断する。起動仮想サーバ情報の場合は（ステップＳ１８０５，Ｙｅｓ）、ステップＳ１８０６に進み、起動仮想サーバ情報でない場合は（ステップＳ１８０５，Ｎｏ）、ステップＳ１８０１に戻る。
【００８４】
ステップＳ１８０６において、ファイル処理部１０４は、起動仮想サーバ情報から仮想サーバ情報を生成し、仮想サーバ情報をスキャン中断部２１７に渡し、ステップＳ１８０１に戻る。そして、ファイル処理部１０４は、繰り返し動作し続ける。
【００８５】
図１９は、ファイル処理部１０４のスキャン開始部２１６の処理を示すフローチャートである。ステップＳ１９０１において、スキャン開始部２１６は、仮想サーバ情報をもとにファイル取得要求を管理テーブル処理部１０３へ送信し、ウィルススキャン対象ファイルのファイルエントリーを取得する。
【００８６】
ステップＳ１９０２において、スキャン開始部２１６は、ステップＳ１９０１で取得したファイルエントリーが存在したかを判断する。ファイルエントリーが存在した場合（ステップＳ１９０２，有）、ステップＳ１９０３に進み、ファイルエントリーが存在しない場合（ステップＳ１９０２，無）、ウィルススキャンの必要がないため、処理を終了する。
【００８７】
ステップＳ１９０３において、スキャン開始部２１６は、ステップＳ１９０２で取得したファイルエントリーのファイルに対して、スキャン部２１８を実行する。ステップＳ１９０４において、スキャン開始部２１６は、ステップＳ１９０３のスキャン結果を判断する。スキャン結果において、ウィルスを検出した場合は（ステップＳ１９０４，Ｙｅｓ）、ステップＳ１９０６に進み、それ以外は（ステップＳ１９０４，Ｎｏ）、ステップＳ１９０５に進む。
【００８８】
ステップＳ１９０６において、スキャン開始部２１６は、仮想サーバ監視部１０２へウィルス感染情報を送信して、処理を中断する。
【００８９】
ステップＳ１９０５において、スキャン開始部２１６は、ステップＳ１９０３のスキャン結果を管理テーブル処理部１０３へ送信し、ステップＳ１９０１に戻る。そして、スキャン開始部２１６は、さらに処理を続行する。
【００９０】
図２０は、ファイル処理部１０４のスキャン中断部２１７の処理を示すフローチャートである。ステップＳ２００１において、スキャン中断部２１７は、仮想サーバ情報をもとにサーバ状態取得要求を管理テーブル処理部１０３に送信し、管理テーブル処理部１０３から対象の仮想サーバ１１１のスキャン情報を取得する。
【００９１】
ステップＳ２００２は、スキャン中断部２１７は、ステップＳ２００１で取得したスキャン情報が処理中かを判断する。スキャン情報が処理中の場合は（ステップＳ２００２，Ｙｅｓ）、ステップＳ２００３に進み、スキャン情報が処理中でない場合は（ステップＳ２００２，Ｎｏ）、処理を終了する。
【００９２】
ステップＳ２００３において、スキャン中断部２１７は、対象の仮想サーバ１１１のスキャン部２１８の処理に対して、スキャン部２１８へウィルススキャンの中断を指示する。そして、ステップＳ２００４において、ステップＳ２００３で中断したスキャン結果を管理テーブル処理部１０３に送信し、処理を終了する。
【００９３】
図２１および図２２は、実施形態１の管理テーブル処理部１０３の処理を示すフローチャートである。ステップＳ２１０１において、管理テーブル処理部１０３は、情報の受信を行う。ステップＳ２１０２において、管理テーブル処理部１０３は、サーバ状態取得要求かを判断する。サーバ状態取得要求の場合は（ステップＳ２１０２，Ｙｅｓ）、ステップＳ２１０３に進み、それ以外は（ステップＳ２１０２，Ｎｏ）、ステップＳ２１０５に進む。
【００９４】
ステップＳ２１０３において、管理テーブル処理部１０３は、サーバエントリー抽出部２１２へ仮想サーバ識別子を渡し、ステップＳ２１０４において、ステップＳ２１０３の抽出結果を取得し、呼び出し元へ送信し（返し）、処理を終了する。
【００９５】
ステップＳ２１０５において、管理テーブル処理部１０３は、ファイル取得要求かを判断する。ファイル取得要求の場合は（ステップＳ２１０５，Ｙｅｓ）、ステップＳ２１０６に進み、それ以外は（ステップＳ２１０５，Ｎｏ）、ステップＳ２１０８に進む。ステップＳ２１０６において、管理テーブル処理部１０３は、ファイルエントリー抽出部２１０へ仮想サーバ識別子を渡し、ステップＳ２１０７において、ステップＳ２１０６の抽出結果を取得し、呼び出し元へ送信し（返し）、処理を終了する。
【００９６】
ステップＳ２１０８において、管理テーブル処理部１０３は、ウィルス感染情報かを判断する。ウィルス感染情報の場合は（ステップＳ２１０８，Ｙｅｓ）、ステップＳ２１０９に進み、それ以外は（ステップＳ２１０８，Ｎｏ）、ステップＳ２２０１（図２２参照）に進む。ステップＳ２１０９において、管理テーブル処理部１０３は、サーバエントリー抽出部２１２へウィルス感染情報のファイル識別子を渡し、ステップＳ２１１０において、ステップＳ２１０９の抽出結果を取得し、呼び出し元へ送信し（返し）、処理を終了する。
【００９７】
図２２に進み、ステップＳ２２０１において、管理テーブル処理部１０３は、スキャン結果かを判断する。スキャン結果の場合は（ステップＳ２２０１，Ｙｅｓ）、ステップＳ２２０２に進み、それ以外は（ステップＳ２２０１，Ｎｏ）、ステップＳ２２０３に進む。ステップＳ２２０２において、管理テーブル処理部１０３は、ファイルエントリー追加更新部２０９へスキャン結果を渡し、処理を終了する。
【００９８】
ステップＳ２２０３において、管理テーブル処理部１０３は、ファイル書込み情報かを判断する。ファイル書込み情報の場合は（ステップＳ２２０３，Ｙｅｓ）、ステップＳ２２０４に進み、それ以外は（ステップＳ２２０３，Ｎｏ），ステップＳ２２０５に進む。ステップＳ２２０４において、管理テーブル処理部１０３は、ファイルエントリー追加更新部２０９へファイル書込み情報を渡し、処理を終了する。
【００９９】
ステップＳ２２０５において、管理テーブル処理部１０３は、サーバ追加更新情報かを判断する。サーバ追加更新情報の場合は（ステップＳ２２０５，Ｙｅｓ）、ステップＳ２２０６に進み、それ以外は（ステップＳ２２０５，Ｎｏ）、処理を終了する。ステップＳ２２０６において、管理テーブル処理部１０３は、サーバエントリー追加更新部２１１へサーバ追加更新情報を渡し、処理を終了する。
【０１００】
図２３は、管理テーブル処理部１０３のファイルエントリー追加更新部２０９の処理を示すフローチャートである。ファイルエントリー追加更新部２０９は、スキャン結果やファイル書込み情報をもとにファイル管理テーブル１０８にファイルエントリーを追加更新する。
【０１０１】
ステップＳ２３０１において、ファイルエントリー追加更新部２０９は、ファイル識別子生成部２１３でファイル識別子を生成し、ステップＳ２３０２において、仮想サーバ識別子とファイル識別子をキーとして、ファイル管理テーブル１０８を検索する。
【０１０２】
ステップＳ２３０３において、ファイルエントリー追加更新部２０９は、ステップＳ２３０２の結果、ファイルエントリーの有無を判断する。ファイルエントリーが有る場合は（ステップ２３０３，有）、ステップＳ２３０４に進み、無い場合は（ステップＳ２３０３，無）、ステップＳ２３０５に進む。ステップＳ２３０４において、ファイルエントリー追加更新部２０９は、渡された情報（例えば、スキャン結果）をもとにファイル管理テーブル１０８のファイルエントリーを更新し、処理を終了する。一方、ステップＳ２３０５において、ファイルエントリー追加更新部２０９は、渡された情報のファイルエントリーをファイル管理テーブル１０８に追加し、処理を終了する。
【０１０３】
図２４は、管理テーブル処理部１０３のファイルエントリー抽出部２１０の処理を示すフローチャートである。ファイルエントリー抽出部２１０は、ファイルエントリーの抽出条件に従いファイルエントリーを返す。
【０１０４】
ステップＳ２４０１において、ファイルエントリー抽出部２１０は、処理定義ファイル１０９からファイルエントリーの抽出条件を取得し、ステップＳ２４０２において、ファイルエントリー抽出部２１０は、ステップＳ２４０１の抽出条件と仮想サーバ識別子をキーとして、ファイル管理テーブルを検索する。
【０１０５】
ステップＳ２４０３において、ファイルエントリー抽出部２１０は、ステップＳ２４０２の結果、ファイルエントリーの有無を判断する。ファイルエントリーが有る場合は（ステップＳ２４０３，有）、ステップＳ２４０４に進み、無い場合は（ステップＳ２４０３，無）、ステップＳ２４０５に進む。ステップＳ２４０４において、ファイルエントリー抽出部２１０は、検索したファイルエントリーを返し、処理を終了する。一方、ステップＳ２４０５において、ファイルエントリー抽出部２１０は、ファイルエントリー無し（例えば、ｎｕｌｌ値）を返し、処理を終了する。
【０１０６】
図２５は、管理テーブル処理部１０３のサーバエントリー追加更新部２１１の処理を示すフローチャートである。サーバエントリー追加更新部２１１は、サーバ追加更新情報をもとに物理サーバ管理テーブル１０６と仮想サーバ管理テーブル１０７のサーバエントリーを追加更新する。
【０１０７】
ステップＳ２５０１において、サーバエントリー追加更新部２１１は、物理サーバ識別子をキーとして、物理サーバ管理テーブル１０６を検索し、ステップＳ２５０２において、ステップＳ２５０１の結果、サーバエントリー（物理サーバエントリー）の有無を判断する。サーバエントリーが有る場合は（ステップＳ２５０２，有）、ステップＳ２５０３に進み、無い場合は（ステップＳ２５０２，無）、ステップＳ２５０４に進む。
【０１０８】
ステップＳ２５０３において、サーバエントリー追加更新部２１１は、ステップＳ２５０１で検索したサーバエントリーをもとに、物理サーバ管理テーブル１０６の物理サーバエントリーを更新し、ステップＳ２５０５に進む。一方、ステップＳ２５０４において、サーバエントリー追加更新部２１１は、渡されたサーバ追加更新情報の物理サーバエントリーを物理サーバ管理テーブル１０６に追加し、ステップＳ２５０５に進む。
【０１０９】
ステップＳ２５０５において、サーバエントリー追加更新部２１１は、仮想サーバ識別子をキーとして、仮想サーバ管理テーブル１０７を検索し、ステップＳ２５０６において、ステップＳ２５０５の結果、サーバエントリー（仮想サーバエントリー）の有無を判断する。サーバエントリーが有る場合は（ステップＳ２５０６，有）、ステップＳ２５０７に進み、無い場合は（ステップＳ２５０６，無）、ステップＳ２５０８に進む。
【０１１０】
ステップＳ２５０７において、サーバエントリー追加更新部２１１は、ステップＳ２５０５で検索したサーバエントリーをもとに、仮想サーバ管理テーブル１０７の仮想サーバエントリーを更新し、処理を終了する。一方、ステップＳ２５０８において、サーバエントリー追加更新部２１１は、渡されたサーバ追加更新部の仮想サーバエントリーを仮想サーバ管理テーブル１０７に追加し、処理を終了する。
【０１１１】
図２６は、管理テーブル処理部１０３のサーバエントリー抽出部２１２の処理を示すフローチャートである。サーバエントリー抽出部２１２は、渡されたファイル識別子を含む仮想サーバエントリーのリストを返す。
【０１１２】
ステップＳ２６０１は、サーバエントリー抽出部２１２は、ファイル識別子をキーとして、ファイル管理テーブル１０８を検索し、仮想ディスク識別子を取得し、ステップＳ２６０２において、ステップＳ２６０１で取得した仮想ディスク識別子をキーとして、仮想サーバ管理テーブル１０７から仮想サーバ識別子を取得する。
【０１１３】
ステップＳ２６０３において、サーバエントリー抽出部２１２は、ステップＳ２６０２で取得した仮想サーバ識別子を抽出結果のリストである結果リストに追加し、ステップＳ２６０４において、ステップＳ２６０１の結果、ファイルエントリーの最後であるか判断する。ファイルエントリーの最後の場合は（ステップＳ２６０４，Ｙｅｓ）、ステップＳ２６０５において、ステップＳ２６０３の結果リストを返し、処理を終了する。一方、ファイルエントリーの最後で無い場合は（ステップＳ２６０４，Ｎｏ）、ステップＳ２６０１に戻り、処理を繰り返す。
【０１１４】
図２７は、管理テーブル処理部１０３のファイル識別子生成部２１３の処理を示すフローチャートである。ファイル識別子生成部２１３は、ファイルを一意に示すユニークなファイル識別子を生成する。
【０１１５】
ステップＳ２７０１において、ファイル識別子生成部２１３は、指定されたファイルのハッシュ値を生成する。本発明では、例えば、ＭＤ５アルゴリズムやＳＨＡ１アルゴリズムを用いて、ハッシュ値を生成する。ステップＳ２７０２において、ファイル識別子生成部２１３は、ステップＳ３１０２で生成されたハッシュ値をファイル識別子として返し、処理を終了する。
【０１１６】
本実施形態の仮想サーバ管理システムは、管理サーバ１０１と、ネットワーク１１０を介して、物理サーバ１１４およびディスク装置１１５とが接続されたシステムであり、物理サーバ１１４は１つまたは複数の仮想サーバ１１１を生成可能な仮想化機構部１１３を有し、仮想サーバ１１１は、物理サーバ１１４が有するディスク装置１１５の領域が割り当てられた仮想ディスク１１７を有する。
【０１１７】
管理サーバ１０１は、仮想サーバ１１１の休止状態に呼応して仮想サーバ１１１に割り当てられた仮想ディスク１１７を特定し、仮想ディスク１１７に対してウィルススキャンを行うことができるとともに、ウィルススキャンの結果を管理することができる。
【０１１８】
管理サーバ１０１は、仮想サーバ１１１と、仮想化機構部１１３と、仮想ディスク１１７とを関連付ける仮想サーバ管理テーブル１０７（仮想サーバ情報）を記憶部（例えば、メモリ２０１Ａ）に記憶し、仮想サーバ１１１が起動しているか休止しているかの稼動状態を仮想化機構部に問い合わせをし、問い合わせにより休止の状態であると検知したとき、休止中の仮想サーバ１１１に割り当てられた仮想ディスク１１７を仮想サーバ管理情報に基づいて特定し、特定された仮想ディスク１１７に対してウィルススキャンを開始することができる。
【０１１９】
従来、仮想サーバ１１１のＯＳ単位でウィルススキャンを行ってしまうと、仮想サーバを起動しないとウィルススキャンをすることができないのに対し、本実施形態では、休止中の仮想サーバ１１１そのものは起動しないで、休止中の仮想サーバ１１１に割り当てられた仮想ディスク１１７に対して、ウィルススキャンをすることができる。
【０１２０】
<<実施形態２>>
図２８は、実施形態２に係る管理サーバ１０１の構成を示す詳細図である。実施形態２では、ウィルススキャンのスキャン結果を、同じファイル識別子をもつすべてのファイルエントリーを更新することを特徴とする。また、実施形態２は、実施形態１の図２に対して、管理テーブル処理部１０３に他の仮想ディスクにある同じファイル識別子のファイルエントリーを更新するファイルエントリー連携部２８１を追加したものである。
【０１２１】
実施形態２によれば、同じＯＳ３０１（図３参照）が複数の仮想サーバ１１１で動作する環境において、同じファイルに対してのウィルススキャンが一度で済むため、システム全体としてウィルススキャン時間を短縮することができる。
【０１２２】
また、稼動中の仮想サーバ１１１では、ユニークなファイルに対してウィルススキャンを実行すればよく、さらにウィルススキャンにかかる時間を短縮することができる。
【０１２３】
これにより、休止状態の仮想サーバ１１１の仮想ディスク１１７をウィルススキャンすることにで、稼動中の仮想サーバ１１１に対してもウィルススキャンを実行した効果がある。なお、このウィルススキャンのスキャン結果は、休止状態の仮想サーバ１１１に限らず、稼動中の仮想サーバ１１１でも実行したものでもよい。
【０１２４】
本実施形態では、特徴となる管理テーブル処理部１０３およびファイルエントリー連携部２８１における処理手順の一実施形態を示す。
【０１２５】
図２９および図３０は、実施形態２の管理テーブル処理部１０３の処理を示すフローチャートである。図２９および図３０における処理については、図２１および図２２における処理に対して、図３０のステップＳ２９０７が追加されている。図２９および図３０における処理は、図２１および図２２における同一処理について、同一の符号を付しており説明を省略する。
【０１２６】
図２２において、ステップＳ２２０２の処理ののち、処理を終了していたが、図３０においては、ステップＳ２９０７において、スキャン結果をファイルエントリー連携部２８１に渡し、処理を終了している。ファイルエントリー連携部２８１の処理ついては、図３１を参照して説明する。
【０１２７】
図３１は、管理テーブル処理部１０３のファイルエントリー連携部２８１の処理を示すフローチャートである。ファイルエントリー連携部２８１は、スキャン結果をもとにファイル管理テーブル１０８に登録されるすべてのファイルエントリーの更新を行う。
【０１２８】
ステップＳ３１０１において、ファイルエントリー連携部２８１は、ファイル識別子をキーとして、ファイル管理テーブル１０８を検索し、ステップＳ３１０２において、ステップＳ３１０１の結果、ファイルエントリーがあるか判断する。ファイルエントリーが有る場合は（ステップＳ３１０２，有）、ステップＳ３１０３に進み、無い場合は（ステップＳ３１０２，無）、ステップＳ３１０４に進む。
【０１２９】
ステップＳ３１０３において、ファイルエントリー連携部２８１は、ステップＳ３１０１で取得したファイルエントリーの内容を更新し、ステップＳ３１０４において、ステップＳ３１０１の結果、ファイルエントリーの最後であるか判断する。ファイルエントリーの最後で無い場合は（ステップＳ３１０４，Ｎｏ），ステップＳ３１０１に戻り、処理を繰り返す。一方、ファイルエントリーの最後の場合は（ステップＳ３１０４，Ｙｅｓ）、処理を終了する。
【０１３０】
本実施形態の仮想サーバ管理システムは、管理サーバ１０１が管理する全ての仮想サーバ１１１が有する仮想ディスク１１７の同一ファイルに対して、ウィルススキャンの結果を共有することで、システム全体のウィルススキャン時間を短縮することができる。
【０１３１】
なお、本実施形態では、仮想サーバ１１１の状態に応じて、ウィルススキャン機能の実施形態を変更したが、ウィルススキャンの代わりにバックアップ機能に流用してもよい。例えば、ウィルススキャンと同様にバックアップの状態を管理サーバ１０１が管理するとともに、管理サーバ１０１が管理する全ての仮想サーバ１１１が有する仮想ディスク１１７の同一ファイルに対して、１度だけバックアップ処理を行うことで、システム全体のバックアップ時間を短縮することができる。
【０１３２】
本実施形態によれば、仮想サーバの環境において、管理サーバが仮想サーバに割り当てられている仮想ディスクのウィルススキャンを行うことができ、仮想サーバの動作の有無にかかわらず、セキュリティを確保できる。
【符号の説明】
【０１３３】
１０１    管理サーバ
１０２    仮想サーバ監視部
１０３    管理テーブル処理部
１０４    ファイル処理部
１０５    仮想サーバ連携部
１０６    物理サーバ管理テーブル
１０７    仮想サーバ管理テーブル（仮想サーバ管理情報）
１０８    ファイル管理テーブル（ファイル管理情報）
１０９    処理定義ファイル
１１０    ネットワーク
１１１    仮想サーバ
１１２    エージェント
１１３    仮想化機構部
１１４    物理サーバ（サーバ装置）
１１５    ディスク装置
１１６    ディスクボリューム
１１７    仮想ディスク
２０１Ａ，２０１Ｂ    メモリ（記憶部）
２０２Ａ，２０２Ｂ    プロセッサ
２０３Ａ，２０３Ｂ    ネットワークインタフェース
２０４Ａ，２０４Ｂ    ディスクインタフェース
２０５    起動検知部
２０６    休止検知部
２０７    ファイル送受信部
２０８    仮想サーバ追加更新部
２０９    ファイルエントリー追加更新部
２１０    ファイルエントリー抽出部
２１１    サーバエントリー追加更新部
２１２    サーバエントリー抽出部
２１３    ファイル識別子生成部
２１４    エージェント管理部
２１５    仮想サーバ管理部
２１６    スキャン開始部
２１７    スキャン中断部
２１８    スキャン部
２１９    仮想ディスクＩ／Ｏ処理部
２８１    ファイルエントリー連携部
３０１    ＯＳ
３０２    通知部
３０３    連携部
３０４    ディスクＩ／Ｏ監視部
【図１】
2011123695.tif 000003
【図２】
2011123695.tif 000004
【図３】
2011123695.tif 000005
【図４】
2011123695.tif 000006
【図５】
2011123695.tif 000007
【図６】
2011123695.tif 000008
【図７】
2011123695.tif 000009
【図８】
2011123695.tif 000010
【図９】
2011123695.tif 000011
【図１０】
2011123695.tif 000012
【図１１】
2011123695.tif 000013
【図１２】
2011123695.tif 000014
【図１３】
2011123695.tif 000015
【図１４】
2011123695.tif 000016
【図１５】
2011123695.tif 000017
【図１６】
2011123695.tif 000018
【図１７】
2011123695.tif 000019
【図１８】
2011123695.tif 000020
【図１９】
2011123695.tif 000021
【図２０】
2011123695.tif 000022
【図２１】
2011123695.tif 000023
【図２２】
2011123695.tif 000024
【図２３】
2011123695.tif 000025
【図２４】
2011123695.tif 000026
【図２５】
2011123695.tif 000027
【図２６】
2011123695.tif 000028
【図２７】
2011123695.tif 000029
【図２８】
2011123695.tif 000030
【図２９】
2011123695.tif 000031
【図３０】
2011123695.tif 000032
【図３１】
2011123695.tif 000033