【文献】
宗像 誠之,徹底取材,日経コンピュータ no.776 NIKKEI COMPUTER,日本,日経BP社 Nikkei Business Publications,Inc.,2011年 2月17日,pp.108〜111
(58)【調査した分野】(Int.Cl.,DB名)
クライアント端末にサービスを提供する仮想サーバを備えた第1のコンテナと、ウイルス検査を行うウイルス検査仮想サーバを備えた第2のコンテナと、を備える情報処理システムであって、
前記第2のコンテナのウイルス検査仮想サーバは、
前記仮想サーバが備える仮想デイスクに記憶された全てのファイルを複製する指示を行う仮想デイスク複製指示手段と、
前記仮想デイスク複製指示手段により複製された仮想デイスクの全てのファイルに対してウイルス検査を行う第1ウイルス検査手段と、
前記第1ウイルス検査手段によりウイルスが検出されたファイルに対してファイル操作を行う指示を前記仮想サーバに対して行うファイル操作指示手段と、
を備え、
前記第1のコンテナの前記仮想サーバは、
前記仮想デイスクに記憶された、前記ファイル操作指示手段によりファイル操作が指示されたファイルに対して、ファイル操作を行うファイル操作手段と、
前記ファイル操作手段によりファイル操作されたファイルに対するウイルス検査を行い、前記ファイル操作手段によりファイル操作されていないファイルに対してはウイルス検査を行わない第2ウイルス検査手段と、
を備えることを特徴とする情報処理システム。
クライアント端末にサービスを提供する仮想サーバを備えた第1のコンテナと、ウイルス検査を行うウイルス検査仮想サーバを備えた第2のコンテナと、を備える情報処理システムにおける制御方法であって、
前記ウイルス検査仮想サーバの仮想デイスク複製指示手段が、前記仮想サーバが備える仮想デイスクに記憶された全てのファイルを複製する指示を行う仮想デイスク複製指示工程と、
前記ウイルス検査仮想サーバの第1ウイルス検査手段が、前記仮想デイスク複製指示工程により複製された仮想デイスクの全てのファイルに対してウイルス検査を行う第1ウイルス検査工程と、
前記ウイルス検査仮想サーバのファイル操作指示手段が、前記第1ウイルス検査工程によりウイルスが検出されたファイルに対してファイル操作を行う指示を前記仮想サーバに対して行うファイル操作指示工程と、
を備え、
前記仮想サーバのファイル操作手段が、前記仮想デイスクに記憶された、前記ファイル操作指示工程によりファイル操作が指示されたファイルに対して、ファイル操作を行うファイル操作工程と、
前記仮想サーバの第2ウイルス検査手段が、前記ファイル操作工程によりファイル操作されたファイルに対するウイルス検査を行い、前記ファイル操作工程によりファイル操作されていないファイルに対してはウイルス検査を行わない第2ウイルス検査工程と、
を備えることを特徴とする制御方法。
クライアント端末にサービスを提供する仮想サーバを備えた第1のコンテナと、ウイルス検査を行うウイルス検査仮想サーバを備えた第2のコンテナと、を備える情報処理システムで読み取り実行可能なプログラムであって、
前記第2のコンテナのウイルス検査仮想サーバを、
前記仮想サーバが備える仮想デイスクに記憶された全てのファイルを複製する指示を行う仮想デイスク複製指示手段と、
前記仮想デイスク複製指示手段により複製された仮想デイスクの全てのファイルに対してウイルス検査を行う第1ウイルス検査手段と、
前記第1ウイルス検査手段によりウイルスが検出されたファイルに対してファイル操作を行う指示を前記仮想サーバに対して行うファイル操作指示手段として機能させ、
前記第1のコンテナの前記仮想サーバを、
前記仮想デイスクに記憶された、前記ファイル操作指示手段によりファイル操作が指示されたファイルに対して、ファイル操作を行うファイル操作手段と、
前記ファイル操作手段によりファイル操作されたファイルに対するウイルス検査を行い、前記ファイル操作手段によりファイル操作されていないファイルに対してはウイルス検査を行わない第2ウイルス検査手段として機能させることを特徴とするプログラム。
【背景技術】
【0002】
従来、クラウドコンピューティングシステムで使用されるサーバシステムにおいては、コンテナごとに各サービスを提供している。
【0003】
そして、各コンテナの仮想サーバごとに、アンチウイルスソフトウェアを導入して、ウイルス対策を行っている。
【0004】
ここで、行われているウイルス検査には、一般に、以下の3つのタイミング、方法で行われている。
【0005】
(1)リアルタイムスキャン:ファイルにアクセスした際に、その対象ファイルがウイルスに感染しているか否かを検査する(スキャンする)。
【0006】
(2)オンデマンドスキャン:ユーザが手動でファイルを選択し、当該ファイルがウイルスに感染しているか否かを検査する(スキャンする)。
【0007】
(3)定期スキャン:予め設定された日時に、ディスクに格納されている全ファイルに対して、ウイルスに感染したファイルがあるか否かを検査する(スキャンする)。
【0008】
また、特許文献1には、仮想マシンの状態をスナップショットとして定期的に保存し、いわゆる(1)リアルタイムスキャンでウイルス対策ソフトウェアがウイルスを検出した場合、該ウイルスを検出した仮想マシンを停止させ、停止させた仮想マシンのスナップショットを用いて、該スナップショットを保存したときの仮想マシンの状態を復元することが開示されている。
【発明を実施するための形態】
【0017】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本発明の実施形態に係る情報処理システムの構成を示す図である。
【0018】
本発明の実施形態に係る情報処理システムは、情報処理装置100(サーバ)と、クライアント端末101とがインターネット等のネットワークを介して相互に通信可能に接続されたシステムである。
【0019】
情報処理装置100(サーバ)は、Webサーバとしての機能を備えており、クライアント端末101からの各種要求に応じたWebサービスをクライアント端末101に提供する機能を備えている。
【0020】
また、情報処理装置100(サーバ)は、各種サービス(例えば、サービスA、サービスBなど)をコンテナごとに備えている。
【0021】
以下、
図2を用いて、
図1に示した情報処理装置100、クライアント端末101のハードウエア構成の一例について説明する。
【0022】
図2は、
図1に示した情報処理装置100、クライアント端末101のハードウエア構成の一例を示す図である。
【0023】
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な各種プログラム、
図7に示す各テーブル等が記憶されている。
【0024】
202はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM203あるいは外部メモリ211からRAM202にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【0025】
また、205は入力コントローラで、入力装置209等からの入力を制御する。206はビデオコントローラで、液晶ディスプレイ等の表示装置210(表示部)への表示を制御する。なお、ディスプレイ装置は、液晶ディスプレイに限られず、CRTディスプレイなどであっても良い。これらは必要に応じてクライアントが使用するものである。
【0026】
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶するハードデイスク(HD)や、フレキシブルデイスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0027】
208は通信I/Fコントローラで、ネットワーク(例えば、
図1に示したLAN103)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0028】
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、表示装置210上での表示を可能としている。また、CPU201は、表示装置210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0029】
ハードウエア上で動作する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
【0030】
次に、
図3、
図4を用いて、本発明の情報処理装置100のソフトウエア、ハードウエアの構成について説明する。
【0031】
図3は、本発明の情報処理装置100のソフトウエア、ハードウエアの構成の一例を示す図である。
【0032】
また、
図3の点線矢印は、後述する
図5のS602からS611までの一連の流れを示している。
【0033】
図4は、本発明の情報処理装置100のソフトウエア、ハードウエアの構成の一例を示す図である。
また、
図4の点線矢印は、後述する
図5のS618、S619の流れを示している。
【0034】
情報処理装置100は、物理的なハードウエア315として、物理CPU317(CPU201に相当)と、物理デイスク316(外部メモリ211に相当)とを備えている。
【0035】
また、情報処理装置100は、例えばVMウエアなどの仮想環境を構築するためのソフトウエアである仮想環境管理ソフトウエア314がインストールされており、仮想環境管理サーバ311として機能する。
【0036】
仮想環境管理サーバ311は、本発明の、仮想サーバを構築するための仮想環境管理サーバの適用例である。
【0037】
また、仮想環境管理サーバ311は、仮想CPU3(313)と、仮想デイスク3(312)とが割り当てられており、その割り当てられた仮想CPU3(313)が、仮想環境管理サーバ311として機能する処理を実行する。
【0038】
仮想環境管理ソフトウエア314が、仮想サーバA(301)、仮想サーバB(306)、定期ウイルススキャンサーバ401とを、それぞれ仮想サーバとして機能させる。
【0039】
仮想サーバA(301)、仮想サーバB(306)は、クライアント端末にサービスを提供する仮想サーバの適用例である。仮想サーバA(301)、仮想サーバB(306)は、それぞれ異なるコンテナ(第1のコンテナ)で動作する。
【0040】
また、定期ウイルススキャンサーバ401は、ウイルス検査を行うウイルス検査仮想サーバの適用例である。定期ウイルススキャンサーバ401は、第1のコンテナとは異なる第2のコンテナで動作する。
【0041】
仮想サーバAには、WebサービスA(302)のサービスを提供するソフトウエアがインストールされている。
【0042】
また、仮想サーバA(301)には、仮想デイスク1(304)と、仮想CPU1(305)とが割り当てられており、その割り当てられた仮想CPU1(304)が、仮想サーバAとして機能する処理を実行し、仮想サーバAは、仮想デイスク1(304)に対してのみデータの書き込み、読み取りが可能である。
【0043】
また、仮想サーバAには、ウイルススキャンソフトウエア303がインストールされており、ウイルススキャンソフトウエア303が、仮想デイスク1(304)内の各データのウイルス検査を行うことができる。
【0044】
このウイルススキャンソフトウエア303には、リアルタイムスキャン(リアルタイム検査)の機能を備えており、WebサービスAや、リモートソフトウエア407が、仮想デイスク1に記憶されているデータやファイルなどに対してアクセス(操作)する度に、そのデータやファイル等に対してウイルス検査を行う機能を備えている。
【0045】
リモートソフトウエア407は、ウイルススキャンソフトウエア402からのデータやファイルの操作指示を受け付けると、仮想デイスク1に記憶されている当該データやファイルへのアクセス(操作)を行う機能を備えたソフトウエアである。
【0046】
仮想デイスク1−A(406)(差分デイスク)は、スナップショットが作成されることで、生成される仮想デイスクである。スナップショットが作成されている場合には、仮想デイスク1(304)に対してデータの書き込みは出来ず、データの読み取りのみが出来るようになり、データの書き込みは、仮想デイスク1−A(406)(差分デイスク)に対して、仮想デイスク1からの差分のデータのみが書き込まれるようになる。
【0047】
そのため、WebサービスAは、スナップショットが作成されている場合には、仮想デイスク1と仮想デイスク1−Aからデータ(ファイル)を読み取り、データ(ファイル)を書き込む際には、仮想デイスク1−Aに対してのみ書き込みを行う。
【0048】
仮想サーバB(306)には、WebサービスB(307)のサービスを提供するソフトウエアがインストールされている。
【0049】
また、仮想サーバBには、仮想デイスク2(309)と、仮想CPU2(310)とが割り当てられており、その割り当てられた仮想CPU2(310)が、仮想サーバBとして機能する処理を実行し、仮想サーバBは、仮想デイスク2(309)に対してのみデータの書き込み、読み取りが可能である。
【0050】
また、仮想サーバBには、ウイルススキャンソフトウエア308がインストールされており、ウイルススキャンソフトウエア308が、仮想デイスク2(309)内の各データのウイルス検査を行うことができる。
【0051】
このウイルススキャンソフトウエア308には、リアルタイムスキャン(リアルタイム検査)の機能を備えており、WebサービスAや、リモートソフトウエア408が、仮想デイスク2に記憶されているデータやファイルなどに対してアクセス(操作)する度に、そのデータやファイル等に対してウイルス検査を行う機能を備えている。
【0052】
リモートソフトウエア408は、ウイルススキャンソフトウエア402からのデータやファイルの操作指示を受け付けると、仮想デイスク2に記憶されている当該データやファイルへのアクセス(操作)を行う機能を備えたソフトウエアである。
【0053】
定期ウイルススキャンサーバ401には、仮想デイスク4(403)と、仮想CPU4(404)とが割り当てられており、その割り当てられた仮想CPU4(404)が、定期ウイルススキャンサーバ401として機能する処理を実行し、定期ウイルススキャンサーバ401は、仮想デイスク4(403)に対してデータの書き込み、読み取りが可能である。
【0054】
また、ウイルススキャンソフトウエア402は、上述の通り、スナップショットが作成された際に作成された仮想デイスク1のコピーに対してウイルス検査を行うことができる。
【0055】
図3に示す各仮想デイスクは、物理デイスク316の各記憶領域が割り当てられた仮想デイスクであり、
図3に示す各仮想CPUは、物理CPU317の各処理能力が割り当てられた仮想CPUである。
次に、
図5を用いて、本発明の情報処理装置100の制御処理について説明する。
図5は、本発明の情報処理装置100の制御処理の一例を示すフローチャートである。
【0056】
図5に示すステップS601〜S608の処理は、情報処理装置100の定期ウイルススキャンサーバ401のウイルススキャンソフトウエア402に従って、定期ウイルススキャンサーバ401の仮想CPU4(404)が実行する。
【0057】
図5に示すステップS609、S610の処理は、情報処理装置100の仮想サーバA(301)のリモートソフトウエア407に従って、仮想サーバAの仮想CPU1(305)が実行する。
【0058】
図5に示すステップS611〜S613の処理は、情報処理装置100の仮想サーバA(301)のウイルススキャンソフトウエア303に従って、仮想サーバAの仮想CPU1(305)が実行する。
【0059】
図5に示すステップS614〜S619の処理は、情報処理装置100の仮想環境管理ソフトウエア314に従って、仮想環境管理サーバ311の仮想CPU3(313)が実行する。
【0060】
まず、ウイルススキャンソフトウエア402は、現在の時間(時刻)が、仮想デイスク1の定期ウイルス検査を行うタイミング(予め設定された時間)になったかを判定し(S601)、現在の時間(時刻)が、仮想デイスク1の定期ウイルス検査を行うタイミング(予め設定された時間)になったと判定された場合には(YES)、処理をステップS602に移行する。
【0061】
ウイルススキャンソフトウエア402は、ステップS602において、スナップショットの作成指示を仮想環境管理ソフトウエア314に対して送信する。(
図3の(1)スナップショット作成指示)
【0062】
S602は、本発明の仮想デイスク複製指示手段の適用例であり、仮想サーバが備える仮想デイスクに記憶された全てのファイルを複製する指示を行う。
【0063】
そして、仮想環境管理ソフトウエア314は、ウイルススキャンソフトウエア402からスナップショットの作成指示を受信すると(S614)、仮想デイスク1(304)をコピー(複製)して仮想デイスク1のコピー(複製物)(405)を作成(生成)する(S615)。ここで作成された仮想デイスク1のコピー(複製物)(405)は、ウイルススキャンソフトウエア402からのアクセスができるように仮想環境管理ソフトウエア314により設定される。(
図3の(2)仮想デイスク1のコピーの作成)
【0064】
S615は、本発明の複製手段の適用例であり、仮想デイスク複製指示手段による指示に従って、仮想サーバが備える仮想デイスクに記憶された全てのファイルを複製する。
【0065】
そして、仮想環境管理ソフトウエア314は、仮想デイスク1−A(差分デイスク)406を作成(生成)して(S616)、仮想デイスクのコピー、及び差分デイスクの作成が完了した旨をウイルススキャンソフトウエア402に送信(通知)する(S617)。
【0066】
仮想デイスク1−A(差分デイスク)406は、仮想環境管理ソフトウエア314により、仮想サーバAが読み書きのアクセスが出来るように設定される。
【0067】
そして、ウイルススキャンソフトウエア402は、仮想環境管理ソフトウエア314から、仮想デイスクのコピー、及び差分デイスクの作成が完了した旨を受信すると(S603)、仮想デイスク1のコピー(405)に対して、定期のウイルス検査処理を行う(S604)。(
図3の(3)ウイルス検査)
【0068】
S604は、本発明の第1ウイルス検査手段の適用例であり、仮想デイスク複製指示手段により複製された仮想デイスクの全てのファイルに対してウイルス検査を行う。
【0069】
S616で差分デイスクが生成された後には、Webサービス302は、差分デイスク(406)に対して、Webサービス302の稼動により仮想デイスク1に書き込むべきデータを書き込む。(
図3の(4)データ更新)
【0070】
そして、ウイルススキャンソフトウエア402は、S604での定期のウイルス検査処理で、ウイルスを検出したか否かを判定し(S605)、ウイルスを検出したと判定された場合には(S605:YES)、当該ウイルスを検出したファイルをオープンする指示をリモートソフトウエア407に送信する(S606)。このとき、ウイルススキャンソフトウエア402は、リモートソフトウエア407に対して、当該ウイルスを検出したファイルのファイルパスを送信する。(
図3の(5)操作指示)
【0071】
S606は、本発明のファイル操作指示手段の適用例であり、第1ウイルス検査手段によりウイルスが検出されたファイルに対してファイル操作を行う指示を仮想サーバに対して行う。
【0072】
そして、リモートソフトウエア407は、ウイルススキャンソフトウエア402から、ウイルスを検出したファイル(仮想デイスク1(304)に記憶されたファイル)をオープンする指示、及び当該ウイルスを検出したファイル(仮想デイスク1(304)に記憶されたファイル)のファイルパスを受信すると(S609)、ウイルスを検出したファイル(当該ファイルパスに基づき特定されるファイル)(仮想デイスク1(304)に記憶されたファイル)に対して、ファイルオープンの操作(当該ファイルへの操作)を行う(S610)。(
図3の(6)ファイル操作)
【0073】
S610は、本発明のファイル操作手段の適用例であり、仮想デイスクに記憶された、ファイル操作指示手段によりファイル操作が指示されたファイルに対して、ファイル操作を行う。
【0074】
そして、ウイルススキャンソフトウエア303は、仮想デイスク1内の、アクセスされたファイルを監視しており、当該ファイルに対してアクセスされた場合にはそのファイルに対して、リアルタイムでウイルス検査を行っている。
【0075】
そのため、ウイルススキャンソフトウエア303は、当該ファイル(仮想デイスク1(304)に記憶されたファイル)に対して、リアルタイムでのウイルス検査を行い、ウイルスを検出する(S611)。(
図3の(7)リアルタイム検査)
【0076】
S611は、本発明の第2ウイルス検査手段の適用例であり、ファイル操作手段によりファイル操作されたファイルに対するウイルス検査を行い、ファイル操作手段によりファイル操作されていないファイルに対してはウイルス検査を行わない処理を行う。
【0077】
そして、ウイルススキャンソフトウエア303は、当該ウイルスが検出されたファイルを隔離、又は、当該検出されたウイルスを駆除して(S612)、ウイルススキャンソフトウエア402に対して、ウイルスが検出されたファイルの隔離、又は当該検出されたウイルスを駆除した旨を送信する(S613)。
【0078】
S612は、本発明の駆除手段の適用例であり、第2ウイルス検査手段による、ファイル操作手段によりファイル操作されたファイルに対するウイルス検査で検出されたウイルスを駆除、又は当該ファイルの隔離を行う処理を行う。
【0079】
ウイルススキャンソフトウエア402は、ウイルススキャンソフトウエア303から、ウイルスが検出されたファイルの隔離、又は当該検出されたウイルスを駆除した旨を受信すると(S607)、仮想デイスク1のコピー(405)、及び仮想デイスク1−A(差分デイスク)(406)の削除指示を仮想環境管理ソフトウエア314に対して送信する(S608)。
【0080】
仮想環境管理ソフトウエア314は、ウイルススキャンソフトウエア402から、仮想デイスク1のコピー(405)、及び仮想デイスク1−A(差分デイスク)(406)の削除指示を受信すると(S618)、仮想デイスク1のコピー(405)を削除し(
図4の(1)仮想デイスク1のコピーの削除)、仮想デイスク1−A(差分デイスク)(406)の差分データを仮想デイスク1(304)に対して更新(反映)する処理を行い、仮想デイスク1−A(差分デイスク)(406)を削除する(S619)(
図4の(2)差分デイスクの反映・削除)。
【0081】
以上、本発明によれば、ウイルス検査による仮想サーバの処理能力の低下をし難くさせることができる。
【0082】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【0083】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0084】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルデイスク、ハードデイスク、光デイスク、光磁気デイスク、CD−ROM、CD−R、磁気テープ、不揮発性のカード、ROM等を用いることができる。
【0085】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。このプログラムコードを読み出し実行可能な情報処理装置(コンピュータ)が前述した実施形態の機能を実現する。
【0086】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。