(57)【特許請求の範囲】
【請求項１】
仮想マシンおよび該仮想マシンの通信を中継する仮想ルータが動作可能な他の情報処理装置と通信する情報処理装置であって、
サービスごとに定義された、前記仮想ルータによる通信監視のルールを記憶する記憶部と、
前記仮想マシンと前記仮想マシン上で利用するサービスが選択されると、前記仮想マシンの通信を中継する前記仮想ルータを選択し、前記記憶部を参照して、選択された該サービスに応じた前記通信監視のルールを前記仮想ルータに送信し、該通信監視のルールに基づく監視を行わせる制御部と、を有し、
前記記憶部は、前記仮想ルータ上のインタフェース部が何れのサービスを提供する前記仮想マシンと通信するか管理するためのリストを記憶し、
前記制御部は、前記記憶部に記憶された前記リストを参照して、選択された前記サービスに対応するインタフェース部につき前記通信監視のルールに基づく監視を前記仮想ルータに行わせる、
情報処理装置。
【請求項２】
前記仮想ルータは、前記サービスを選択したユーザのネットワークと通信するユーザ側インタフェース部を有しており、
前記制御部は、前記記憶部に記憶された前記リストを参照して、選択された前記サービスに対応するインタフェース部と前記ユーザ側インタフェース部との間の通信につき、前記通信監視のルールに基づく監視を前記仮想ルータに行わせる、
請求項１記載の情報処理装置。
【請求項３】
前記仮想ルータは、前記サービスを選択したユーザが利用中の他のサービスを提供する他の仮想マシンと通信する他のインタフェース部を有しており、
前記制御部は、前記記憶部に記憶された前記リストを参照して、選択された前記サービスに対応するインタフェース部と前記他のインタフェース部との通信につき、前記通信監視のルールに基づく監視を前記仮想ルータに行わせる、
請求項１または２記載の情報処理装置。
【請求項４】
前記制御部は、選択された前記サービスを前記仮想マシンに提供開始させる前に、前記通信監視のルールを送信する、請求項１乃至３の何れか一項に記載の情報処理装置。
【請求項５】
仮想マシンおよび該仮想マシンの通信を中継する仮想ルータが動作可能な情報処理装置と通信するコンピュータに、
前記仮想マシンと前記仮想マシン上で利用するサービスが選択されると、前記仮想マシンの通信を中継する前記仮想ルータを選択し、サービスごとに定義された、前記仮想ルータによる通信監視のルールを記憶する記憶部を参照して、選択された該サービスに応じた前記通信監視のルールを前記仮想ルータに送信し、該通信監視のルールに基づく監視を行わせ、
前記仮想ルータに前記通信監視のルールに基づく監視を行わせる際には、前記記憶部に記憶された前記仮想ルータ上のインタフェース部が何れのサービスを提供する前記仮想マシンと通信するか管理するためのリストを参照して、選択された前記サービスに対応するインタフェース部につき前記通信監視のルールに基づく監視を前記仮想ルータに行わせる、
処理を実行させる情報処理プログラム。
【請求項６】
仮想マシンおよび該仮想マシンの通信を中継する仮想ルータが動作可能な他の情報処理装置と通信する情報処理装置が実行する管理方法であって、
前記仮想マシンと前記仮想マシン上で利用するサービスが選択されると、前記仮想マシンの通信を中継する前記仮想ルータを選択し、サービスごとに定義された、前記仮想ルータによる通信監視のルールを記憶する記憶部を参照して、選択された該サービスに応じた前記通信監視のルールを前記仮想ルータに送信し、該通信監視のルールに基づく監視を行わせ、
前記仮想ルータに前記通信監視のルールに基づく監視を行わせる際には、前記記憶部に記憶された前記仮想ルータ上のインタフェース部が何れのサービスを提供する前記仮想マシンと通信するか管理するためのリストを参照して、選択された前記サービスに対応するインタフェース部につき前記通信監視のルールに基づく監視を前記仮想ルータに行わせる、
管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は仮想マシンの運用管理を支援する情報処理装置、情報処理プログラムおよび管理方法に関する。
【背景技術】
【０００２】
現在、情報処理の分野では、物理的なコンピュータ（物理マシンや物理ホストと呼ぶことがある）上で、複数の仮想的なコンピュータ（仮想マシンや論理ホストと呼ぶことがある）を動作させる仮想化技術が利用されている。各仮想マシン上では、ＯＳ（Operating System）などのソフトウェアを実行できる。仮想化技術を利用する物理マシンは、複数の仮想マシンを管理するためのソフトウェアを実行する。
【０００３】
例えば、ハイパーバイザと呼ばれるソフトウェアが、ＣＰＵ（Central Processing Unit）の処理能力やＲＡＭ（Random Access Memory）の記憶領域を、演算のリソースとして複数の仮想マシンに割り振る。また、例えば、ハイパーバイザが、該演算のリソースによりネットワークのルーティング機能を物理マシン上に実現することもある。物理マシン上に実現されたルーティング機能を仮想ルータと呼ぶことがある。仮想ルータに仮想マシンの通信を中継させることで、物理マシン上に仮想マシンのネットワークを構築できる。このように、物理マシン上で仮想マシンを動作させ、該仮想マシン上で実現されるサービスをクライアント装置から利用可能とする情報処理システムがある。
【０００４】
ところで、ネットワークを介した通信のセキュリティを確保するため、ネットワークの経路上にファイアウォールを設けることがある。ファイアウォールは、ネットワーク上のトラフィックを所定のルールによりフィルタリングして、許容する通信経路やプロトコル以外の通信を遮断する。
【０００５】
例えば、ユーザ端末装置がゲートウェイ装置を介して所定のネットワークに接続するとき、接続先のネットワークに対して予め定められたフィルタリングテーブルを該ゲートウェイ装置に設定して、トラフィックのフィルタリングを行わせる提案がある。
【０００６】
また、例えば、ユーザ端末装置がファイアウォール装置を介して外部ネットワークに接続開始する際に、該ファイアウォール装置が、ポリシサーバ装置からユーザに対応するフィルタリングのルールを取得する提案がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−２４４２４５号公報（〔００３８〕〜〔００４２〕）
【特許文献２】国際公開第２００４／７１０３８号（３２頁３６行目〜３３頁４行目）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
仮想マシン上のサービスをクライアント装置から利用可能とする情報処理システムでは、該サービスに応じて、仮想マシン／クライアント装置間、または、仮想マシン／仮想マシン間の通信内容が異なることがある。例えば、Ｗｅｂアクセスを可能とするサービスと、ファイル転送を可能とするサービスとでは、通信に用いるポート番号が異なることがある。このため、各仮想マシンに対して、サービスに応じた通信のセキュリティ対策がなされていることが望ましい。そこで、各仮想マシンにつき通信監視のルールをどのように容易に設定可能とするかが問題となる。
【０００９】
例えば、仮想マシン上で利用可能とするサービスがユーザによって事後的に選択される場合、該サービスに応じたルールを事前に設定するのが困難となる。また、複数の物理マシン上で複数の仮想マシンが動作している場合、各仮想マシン上で利用可能なサービスに応じたルールの設定を、仮想マシンごと、または、物理マシンごとに、システム管理者が個別に行うとすると、設定のための作業負担が生ずる。
【００１０】
本発明はこのような点に鑑みてなされたものであり、通信監視のルールを容易に設定できるようにした情報処理装置、情報処理プログラムおよび管理方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
仮想マシンおよび該仮想マシンの通信を中継する仮想ルータが動作可能な他の情報処理装置と通信する情報処理装置が提供される。この情報処理装置は、記憶部と制御部とを有する。記憶部は、サービスごとに定義された、仮想ルータによる通信監視のルールを記憶する。制御部は、仮想マシンと仮想マシン上で利用するサービスが選択されると、当該仮想マシンの通信を中継する仮想ルータを選択し、記憶部を参照して、選択された該サービスに応じた通信監視のルールを仮想ルータに送信し、該通信監視のルールに基づく監視を行わせる。記憶部は、仮想ルータ上のインタフェース部が何れのサービスを提供する仮想マシンと通信するか管理するためのリストを記憶する。制御部は、記憶部に記憶されたリストを参照して、選択されたサービスに対応するインタフェース部につき通信監視のルールに基づく監視を仮想ルータに行わせる。
【００１２】
また、仮想マシンおよび該仮想マシンの通信を中継する仮想ルータが動作可能な情報処理装置と通信するコンピュータが実行する情報処理プログラムが提供される。この情報処理プログラムは、コンピュータに、仮想マシンと仮想マシン上で利用するサービスが選択されると、当該仮想マシンの通信を中継する仮想ルータを選択し、サービスごとに定義された、仮想ルータによる通信監視のルールを記憶する記憶部を参照して、選択された該サービスに応じた通信監視のルールを仮想ルータに送信し、該通信監視のルールに基づく監視を行わせ、仮想ルータに通信監視のルールに基づく監視を行わせる際には、記憶部に記憶された仮想ルータ上のインタフェース部が何れのサービスを提供する仮想マシンと通信するか管理するためのリストを参照して、選択されたサービスに対応するインタフェース部につき通信監視のルールに基づく監視を仮想ルータに行わせる、処理を実行させる。
【００１３】
また、仮想マシンおよび該仮想マシンの通信を中継する仮想ルータが動作可能な他の情報処理装置と通信する情報処理装置が実行する管理方法が提供される。この管理方法では、仮想マシンと仮想マシン上で利用するサービスが選択されると、当該仮想マシンの通信を中継する仮想ルータを選択し、サービスごとに定義された、仮想ルータによる通信監視のルールを記憶する記憶部を参照して、選択された該サービスに応じた通信監視のルールを仮想ルータに送信し、該通信監視のルールに基づく監視を行わせ、仮想ルータに通信監視のルールに基づく監視を行わせる際には、記憶部に記憶された仮想ルータ上のインタフェース部が何れのサービスを提供する仮想マシンと通信するか管理するためのリストを参照して、選択されたサービスに対応するインタフェース部につき通信監視のルールに基づく監視を仮想ルータに行わせる。
【発明の効果】
【００１４】
通信監視のルールを容易に設定できる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施の形態の情報処理システムを示す図である。
【図２】第２の実施の形態の情報処理システムを示す図である。
【図３】第２の実施の形態の制御装置のハードウェア例を示す図である。
【図４】第２の実施の形態の各装置の機能を示すブロック図である。
【図５】第２の実施の形態の仮想ルータの機能を示すブロック図である。
【図６】第２の実施の形態の接続リストテーブルの例を示す図である。
【図７】第２の実施の形態のフィルタ雛型テーブルの例を示す図である。
【図８】第２の実施の形態のフィルタテーブルの例を示す図である。
【図９】第２の実施の形態の仮想マシンの起動処理を示すフローチャートである。
【図１０】第２の実施の形態の仮想マシンの起動処理を示すシーケンス図である。
【図１１】第２の実施の形態のフィルタ設定処理を示すフローチャートである。
【図１２】第２の実施の形態のフィルタ設定処理を示すシーケンス図である。
【図１３】第３の実施の形態のフィルタ雛型テーブルの例を示す図である。
【図１４】第３の実施の形態のフィルタテーブルの例を示す図である。
【図１５】第３の実施の形態のフィルタ設定処理を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の情報処理システムを示す図である。この情報処理システムは、情報処理装置１，２を含む。情報処理装置１は、情報処理装置２と通信する。情報処理装置２では、仮想ルータ２ａおよび仮想マシン２ｂが動作可能である。仮想ルータ２ａは、仮想マシン２ｂの通信を中継する。
【００１７】
情報処理装置１は、記憶部１ａおよび制御部１ｂを有する。
記憶部１ａは、サービスごとに定義された、仮想ルータによる通信監視のルールを記憶する。記憶部１ａは、ＲＡＭやＨＤＤ（Hard Disk Drive）として実装してもよい。通信監視のルールとは、例えば、通信のフィルタリングを行うためのルールである。通信監視のルールには、例えば、仮想マシン上で利用されるサービスに応じたフィルタ内容が定義される。具体的には、該サービスで利用する通信ポート以外のポートでの通信を制限する設定が考えられる。また、該サービスで利用する伝送制御プロトコル（例えば、ＴＣＰ（Transmission Control Protocol）やＵＤＰ（User Datagram Protocol））以外のプロトコルでの通信を制限する設定が考えられる。
【００１８】
制御部１ｂは、仮想マシン２ｂ上で利用するサービスが選択されると、記憶部１ａを参照して、選択された該サービスに応じた通信監視のルールを仮想ルータ２ａに送信し、該通信監視のルールに基づく監視を行わせる。例えば、仮想マシン２ｂ上で利用するサービスは、仮想マシン２ｂを利用するユーザにより選択される。ユーザは、例えば、情報処理装置１とネットワークを介して接続された端末装置を操作して、情報処理装置１にサービスの選択内容を入力できる。
【００１９】
情報処理装置１によれば、仮想マシン２ｂ上で利用するサービスが選択されると、制御部１ｂにより、記憶部１ａが参照されて、選択された該サービスに応じた通信監視のルールが仮想ルータ２ａに送信される。仮想ルータ２ａは、該通信監視のルールを受信すると、該ルールに基づき通信監視を行う。
【００２０】
これにより、通信監視のルールを容易に設定可能となる。具体的には、仮想マシン２ｂのサービスが選択されたときに、サービスごとに定義された通信監視のルールを、仮想マシン２ｂの通信を中継する仮想ルータ２ａに送信することで、該サービスのためのルールを、仮想ルータ２ａに容易に設定できる。複数の情報処理装置上で複数の仮想マシンが動作している場合でも、各仮想マシンに対して選択されたサービスに対するルールを自動的に取得し、各仮想マシンに対応する仮想ルータに送信する。このため、システム管理者による設定のための作業負担を軽減できる。
【００２１】
通信監視のルールには、種々の内容を定義できる。例えば、仮想マシン２ｂとユーザが仮想ルータ２ａを介して仮想マシン２ｂにアクセスするために利用する端末装置（または、該端末装置が属するネットワーク）との間でのフィルタを定義できる。これにより、該端末装置（または、該端末装置が属するネットワーク）と仮想マシン２ｂとの間で、選択されたサービスを利用する際の通信のセキュリティ向上を図れる。
【００２２】
また、例えば、第１のサービスを実行する仮想マシン２ｂと第２のサービスを実行する他の仮想マシンとの間の通信路での通信を制限するフィルタを該ルールとして定義してもよい。このとき、制御部１ｂは、仮想マシン２ｂに対して第１のサービスが選択されたとき、該第１のサービスに応じたルールに加えて、第１，第２のサービスの組に関するルールを記憶部１ａから取得して、仮想ルータ２ａに送信してもよい。このようにすれば、相互に接続する仮想マシン間で、通信のセキュリティ向上を図れる。
【００２３】
［第２の実施の形態］
図２は、第２の実施の形態の情報処理システムを示す図である。データセンタ２０は、サービス事業者が運用する事業所である。ユーザ拠点３０は、ユーザが運用する事業所である。サービス事業者は、データセンタ２０上のサーバ装置で複数の仮想マシンを実行させ、該仮想マシンをユーザ拠点３０から利用可能とする。具体的には、ユーザは、ユーザ拠点３０に設置されたクライアント装置から該仮想マシン上のソフトウェアに所定の処理の実行を要求することで、該ソフトウェアにより実現されるサービスを利用できる。このようなソフトウェアの利用形態は、ＳａａＳ（Software as a Service）と呼ばれることがある。
【００２４】
この情報処理システムは、制御装置１００、仮想マシン管理装置２００、実行サーバ装置３００，３００ａ、ゲートウェイ装置４００，４００ａ、ルータ装置５００、クライアント装置６００，６００ａおよび通信事業者サーバ装置７００を含む。
【００２５】
制御装置１００、仮想マシン管理装置２００、実行サーバ装置３００，３００ａおよびゲートウェイ装置４００，４００ａは、データセンタ２０に設置されており、データセンタ２０内のネットワーク２１にそれぞれ接続されている。ルータ装置５００およびクライアント装置６００，６００ａは、ユーザ拠点３０に設置されており、ユーザ拠点３０内のネットワーク３１にそれぞれ接続されている。通信事業者サーバ装置７００は、通信事業者の事業所（図示を省略）に設置されており、ネットワーク１０に接続される。ネットワーク１０は、通信事業者の管理するＩＰ（Internet Protocol）網である。ネットワーク１０は、例えば、ＰＰＰｏＥ（Point to Point Protocol over Ethernet）網である。
【００２６】
制御装置１００は、実行サーバ装置３００，３００ａ上の仮想ルータとルータ装置５００との間のＬ２ＶＰＮ（Layer2 Virtual Private Network）によるトンネル接続の確立を支援する情報処理装置である。これにより、クライアント装置６００，６００ａから、該仮想ルータと通信する仮想マシンに対して、ＩＰ網を介したＶＰＮ接続を可能とする。
【００２７】
仮想マシン管理装置２００は、実行サーバ装置３００，３００ａ上の仮想マシンや仮想ルータの起動を制御する情報処理装置である。仮想マシン管理装置２００は、何れの実行サーバ装置で何れの仮想マシンや仮想ルータが実行されているか管理する。仮想マシン管理装置２００は、仮想ルータに設けられた仮想のネットワークＩＦ（InterFace）の情報を管理する。
【００２８】
実行サーバ装置３００，３００ａは、仮想マシン管理装置２００からの起動指示に応じて、仮想マシンおよび仮想ルータを実行する情報処理装置である。例えば、実行サーバ装置３００，３００ａは、ハイパーバイザを実行する。ハイパーバイザは、仮想マシン管理装置２００から仮想マシンや仮想ルータの起動の指示を受けると、実行サーバ装置３００，３００ａ上のリソースを用いて仮想マシンや仮想ルータを起動する。
【００２９】
ゲートウェイ装置４００，４００ａは、ネットワーク１０とネットワーク２１と間の通信を中継する通信装置である。
ルータ装置５００は、ネットワーク１０とネットワーク３１との間の通信を中継する通信装置である。ルータ装置５００は、サービス事業者から仮想マシンを割り当てられたユーザが、該仮想マシン上で利用したいサービスの選択を受け付ける機能も備えている。ルータ装置５００は、サービスの選択内容を制御装置１００に送信して、該サービスを該ユーザの仮想マシン上で利用可能とするよう依頼する。
【００３０】
クライアント装置６００，６００ａは、ユーザが利用する情報処理装置である。ユーザは、クライアント装置６００，６００ａを操作して、実行サーバ装置３００，３００ａ上の仮想マシンに対して処理の要求を行える。例えば、クライアント装置６００，６００ａからＷｅｂブラウザ、ＲＤＰ（Remote Desktop Protocol）、ＶＮＣ（Virtual Network Computing）、ＳＳＨ（Secure SHell）およびＦＴＰ（File Transfer Protocol）などを用いて、実行サーバ装置３００，３００ａ上の仮想マシンを利用できる。
【００３１】
通信事業者サーバ装置７００は、制御装置１００からの要求により、ゲートウェイ装置４００，４００ａとルータ装置５００とをネットワーク１０に接続するための情報を提供する。例えば、通信事業者サーバ装置７００は、ゲートウェイ装置４００，４００ａおよびルータ装置５００に、ＰＰＰｏＥのユーザＩＤ（IDentifier）やパスワードなどの情報を送信する。ゲートウェイ装置４００，４００ａおよびルータ装置５００は、提供された情報に基づいて、ネットワーク１０上の所定の認証サーバでＰＰＰｏＥ認証され、ネットワーク１０に接続する。また、通信事業者サーバ装置７００は、例えば、ゲートウェイ装置４００，４００ａおよびルータ装置５００をＩＰ−ＶＰＮ接続するための情報を提供する。ゲートウェイ装置４００，４００ａおよびルータ装置５００は、提供された情報に基づいて、ＩＰ−ＶＰＮ接続を確立する。
【００３２】
図３は、第２の実施の形態の制御装置のハードウェア例を示す図である。制御装置１００は、ＣＰＵ１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ１０３、ＨＤＤ１０４、グラフィック処理装置１０５、入力インタフェース１０６、ディスクドライブ１０７および通信インタフェース１０８を有する。
【００３３】
ＣＰＵ１０１は、ＯＳやアプリケーションのプログラムを実行して、制御装置１００全体を制御する。
ＲＯＭ１０２は、制御装置１００の起動時に実行されるＢＩＯＳ（Basic Input / Output System）プログラムなどの所定のプログラムを記憶する。ＲＯＭ１０２は、書き換え可能な不揮発性メモリであってもよい。
【００３４】
ＲＡＭ１０３は、ＣＰＵ１０１が実行するＯＳやアプリケーションのプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０３は、ＣＰＵ１０１の処理に用いられるデータの少なくとも一部を一時的に記憶する。
【００３５】
ＨＤＤ１０４は、ＯＳプログラムやアプリケーションプログラムを記憶する。また、ＨＤＤ１０４は、ＣＰＵ１０１の処理に用いられるデータを記憶する。なお、ＨＤＤ１０４に代えて（または、ＨＤＤ１０４と併せて）、ＳＳＤ（Solid State Drive）など他の種類の不揮発性の記憶装置を用いてもよい。
【００３６】
グラフィック処理装置１０５は、モニタ１１に接続される。グラフィック処理装置１０５は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１に表示させる。
入力インタフェース１０６は、キーボード１２やマウス１３などの入力デバイスに接続される。入力インタフェース１０６は、入力デバイスから送られる入力信号をＣＰＵ１０１に出力する。
【００３７】
ディスクドライブ１０７は、記録媒体１４に格納されたデータを読み取る読取装置である。記録媒体１４には、例えば、制御装置１００に実行させるプログラムが記録されている。制御装置１００は、例えば、記録媒体１４に記録されたプログラムを実行することで、後述するような機能を実現できる。すなわち、当該プログラムはコンピュータ読み取り可能な記録媒体１４に記録して配布可能である。
【００３８】
記録媒体１４としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリを使用できる。磁気記録装置には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＣＤ（Compact Disc）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−Ｒ／ＲＷ／ＲＡＭなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。半導体メモリには、ＵＳＢ（Universal Serial Bus）メモリなどのフラッシュメモリがある。
【００３９】
通信インタフェース１０８は、ネットワーク１０に接続される。通信インタフェース１０８は、ネットワーク２１を介して仮想マシン管理装置２００、実行サーバ装置３００，３００ａおよびゲートウェイ装置４００，４００ａとデータ通信を行える。また、通信インタフェース１０８は、ゲートウェイ装置４００，４００ａおよびネットワーク１０を介してルータ装置５００および通信事業者サーバ装置７００とデータ通信を行える。
【００４０】
なお、仮想マシン管理装置２００、実行サーバ装置３００，３００ａ、クライアント装置６００，６００ａおよび通信事業者サーバ装置７００も、制御装置１００と同様のハードウェア構成により実現できる。
【００４１】
また、以下の説明では、ゲートウェイ装置４００，４００ａのうち、ゲートウェイ装置４００を主に示して説明するが、ゲートウェイ装置４００ａも同様である。
図４は、第２の実施の形態の各装置の機能を示すブロック図である。制御装置１００は、制御情報記憶部１１０、接続制御部１２０およびルール管理部１３０を有する。制御装置１００の構成要素の機能は、例えばＣＰＵ１０１が所定のプログラムを実行することにより、制御装置１００上に実現される。制御装置１００の構成要素の機能の全部または一部を専用のハードウェアで実装してもよい。
【００４２】
制御情報記憶部１１０は、制御情報を記憶する。制御情報には、接続リストテーブルおよびフィルタ雛型テーブルが含まれる。接続リストテーブルは、ユーザの識別情報と該ユーザが現在利用中のサービスの識別情報とを対応付けたデータである。フィルタ雛型テーブルは、サービスごとのデフォルトのフィルタルールを設定したものである。
【００４３】
接続制御部１２０は、ルータ装置５００と実行サーバ３００，３００ａ上の仮想ルータとの接続を制御する。具体的には、接続制御部１２０は、ルータ装置５００からの要求により、ルータ装置５００に対するゲートウェイ装置４００，４００ａの割り当てを仮想マシン管理装置２００に指示する。また、接続制御部１２０は、ルータ装置５００からの要求により、実行サーバ装置３００，３００ａ上の仮想マシンおよび仮想ルータの起動を仮想マシン管理装置２００に指示する。そして、接続制御部１２０は、実行サーバ装置３００，３００ａ上の仮想ルータとルータ装置５００との間のＬ２ＶＰＮ接続を確立する。
【００４４】
より具体的には、接続制御部１２０は、通信事業者サーバ装置７００と連携して、ゲートウェイ装置４００とネットワーク１０との間のＰＰＰｏＥ接続を開始させる。また、接続制御部１２０は、通信事業者サーバ装置７００と連携して、ルータ装置５００とネットワーク１０との間のＰＰＰｏＥ接続を開始させる。接続制御部１２０は、ゲートウェイ装置４００とルータ装置５００とをＩＰ−ＶＰＮで接続させる。
【００４５】
更に、接続制御部１２０は、仮想ルータとルータ装置５００との間のＥｔｈｅｒＩＰ（Ethernet over IP）によるトンネル接続を開始させる。仮想ルータやルータ装置５００は、クライアント装置６００，６００ａと実行サーバ装置３００，３００ａ上の仮想マシンとの間のＥｔｈｅｒｎｅｔ（登録商標）フレームをＥｔｈｅｒＩＰによりカプセル化して通信を行う。Ｌ２ＶＰＮ接続により、通信事業者のＩＰ網であるネットワーク１０を介して、クライアント装置６００，６００ａと仮想マシンとの間のＶＰＮ接続が可能となる。
【００４６】
更に、接続制御部１２０は、ユーザによるサービスの選択内容をルータ装置５００から受信する。接続制御部１２０は、サービスの選択内容をルール管理部１３０および起動制御部２２０に送信する。サービスの選択内容には、ユーザに割り当てられた何れの仮想マシンで、何れのサービスを選択したかを示す情報が含まれる。
【００４７】
ルール管理部１３０は、実行サーバ装置３００，３００ａ上の仮想ルータに通信監視用のルールを送信する。具体的には、ルール管理部１３０は、ユーザによるサービスの選択内容を接続制御部１２０から受信したとき、該サービス応じたルールを制御情報記憶部１１０から取得して、該ユーザに割り当てた仮想マシンに対応する仮想ルータに送信する。
【００４８】
仮想マシン管理装置２００は、管理情報記憶部２１０および起動制御部２２０を有する。仮想マシン管理装置２００の構成要素の機能は、例えば仮想マシン管理装置２００が備えるＣＰＵが所定のプログラムを実行することにより、仮想マシン管理装置２００上に実現される。仮想マシン管理装置２００の構成要素の機能の全部または一部を専用のハードウェアで実装してもよい。
【００４９】
管理情報記憶部２１０は、管理情報を記憶する。管理情報には、実行サーバ装置３００，３００ａおよびゲートウェイ装置４００，４００ａに関する情報が含まれる。具体的には、実行サーバ装置３００，３００ａ上で利用可能なリソースの情報、実行中の仮想マシンのユーザへの割り当て状況を示す情報、実行中の仮想マシンと仮想ルータとの対応を示す情報および各仮想ルータ上の仮想のネットワークＩＦを示す情報が含まれる。また、管理情報には、ゲートウェイ装置４００，４００ａ上で利用可能なリソースの情報や、ゲートウェイ装置４００，４００ａのユーザへの割り当て状況を示す情報が含まれる。
【００５０】
起動制御部２２０は、ユーザに対するゲートウェイ装置４００，４００ａの割り当て指示を接続制御部１２０から受け付ける。すると、起動制御部２２０は、管理情報記憶部２１０を参照して、該ユーザに対するゲートウェイ装置４００，４００ａの割り当てを行う。起動制御部２２０は、該ユーザと割り当てたゲートウェイ装置との対応を管理情報記憶部２１０に記録する。
【００５１】
起動制御部２２０は、ユーザに対する仮想マシンの起動指示を接続制御部１２０から受け付ける。すると、起動制御部２２０は、管理情報記憶部２１０を参照して、仮想マシンおよび仮想ルータを起動させる実行サーバ装置を選択する。起動制御部２２０は、選択した実行サーバ装置に仮想マシンおよび仮想ルータを起動させる。起動制御部２２０は、該ユーザ、割り当てた実行サーバ装置、仮想マシンおよび仮想ルータの対応を管理情報記憶部２１０に記録する。起動制御部２２０は、管理情報記憶部２１０を参照して、接続制御部１２０からの問い合わせに応じる。例えば、実行サーバ装置、仮想マシンおよび仮想ルータの対応関係、仮想ルータと該仮想ルータ上の仮想のネットワークＩＦとの対応関係、仮想マシンとネットワークＩＦとの対応関係などの問い合わせに応じることができる。
【００５２】
更に、起動制御部２２０は、ユーザによるサービスの選択内容を接続制御部１２０から受信すると、該ユーザに割り当てられた仮想マシンに該サービスを利用するためのソフトウェアを実行させる。
【００５３】
実行サーバ装置３００は、仮想ルータ３１０および仮想マシン３２０，３２０ａを有する。実行サーバ装置３００の構成要素の機能は、例えば実行サーバ装置３００が備えるＣＰＵが所定のプログラムを実行することにより、実行サーバ装置３００上に実現される。実行サーバ装置３００の構成要素の機能の全部または一部を専用のハードウェアで実装してもよい。
【００５４】
仮想ルータ３１０は、ネットワーク２１と仮想マシン３２０，３２０ａとの間の通信を中継する。仮想ルータ３１０は、中継する通信データを監視する。具体的には、仮想ルータ３１０は、ルール管理部１３０から取得したフィルタルールに基づき通信のフィルタリングを行う。
【００５５】
仮想マシン３２０，３２０ａは、実行サーバ装置３００上に実現された仮想マシンである。仮想マシン３２０，３２０ａは、それぞれ独立にＯＳを実行している。仮想マシン３２０，３２０ａが実行するＯＳは同一でもよいし、異なっていてもよい。仮想マシン３２０，３２０ａは、それぞれが所定のサービスを利用するためのソフトウェアを実行する。仮想マシン３２０，３２０ａで何れのサービスを利用可能とするかは、上述したようにユーザの選択により決定される。
【００５６】
実行サーバ装置３００ａは、仮想ルータ３１０ａおよび仮想マシン３２０ｂ，３２０ｃを有する。仮想ルータ３１０ａは、ネットワーク２１と仮想マシン３２０ｂとの間の通信を中継する。また、仮想ルータ３１０ａは、中継する通信データを監視する。仮想マシン３２０ｂ，３２０ｃは、実行サーバ装置３００ａ上に実現された仮想マシンであり、それぞれが所定のサービスを利用可能とするためのソフトウェアを実行する。
【００５７】
ゲートウェイ装置４００は、通信処理部４１０を有する。通信処理部４１０は、接続制御部１２０から取得した情報に基づいて、ネットワーク１０とＰＰＰｏＥ接続を確立する。また、通信処理部４１０は、ルータ装置５００との間でＩＰ−ＶＰＮ接続を確立する。
【００５８】
ルータ装置５００は、通信処理部５１０を有する。通信処理部５１０は、接続制御部１２０から取得した情報に基づいて、ネットワーク１０、ゲートウェイ装置４００および仮想ルータ３１０，３１０ａとの間のＬ２ＶＰＮ接続を確立する。また、通信処理部５１０は、サービスを選択するためのインタフェースをクライアント装置６００，６００ａに提供する。ユーザは、該インタフェースにより、自身の利用したいサービスを選択する。通信処理部５１０は、サービスの選択内容を制御装置１００に送信する。
【００５９】
図５は、第２の実施の形態の仮想ルータの機能を示すブロック図である。仮想ルータ３１０は、ルール記憶部３１１、ネットワークＩＦ３１２，３１３，３１４、トンネル処理部３１５、フィルタ処理部３１６およびルール設定部３１７を有する。
【００６０】
ルール記憶部３１１は、制御装置１００から受信した通信監視のためのルールを記憶する。
ネットワークＩＦ３１２，３１３，３１４は、仮想ルータ３１０上に実現された仮想的なネットワークＩＦである。ネットワークＩＦ３１２は、仮想マシン３２０と通信する。ネットワークＩＦ３１３は、仮想マシン３２０ａと通信する。
【００６１】
ここで、以下の説明では、ネットワークＩＦ３１２，３１３〜仮想マシン３２０，３２０ａまでのネットワークを、仮想マシン側のネットワークということがある。ネットワークＩＦ３１４は、ネットワーク２１を介してゲートウェイ装置４００と通信する。ネットワークＩＦ３１４〜ゲートウェイ装置４００〜ユーザ拠点３０までのネットワークを、ユーザ側のネットワークということがある。
【００６２】
トンネル処理部３１５は、ＥｔｈｅｒＩＰによるトンネル接続を終端する。具体的には、トンネル処理部３１５は、ＥｔｈｅｒＩＰによりカプセル化された通信データをネットワークＩＦ３１４から取得すると、該通信データからＥｔｈｅｒｎｅｔフレームを取出して、フィルタ処理部３１６に出力する。また、トンネル処理部３１５は、フィルタ処理部３１６から取得したＥｔｈｅｒｎｅｔフレームをＥｔｈｅｒＩＰによりカプセル化して、ネットワークＩＦ３１４に出力する。
【００６３】
フィルタ処理部３１６は、Ｅｔｈｅｒｎｅｔフレームを監視して、ユーザ側のネットワークと仮想マシン側のネットワークの間の通信を制限する。具体的には、フィルタ処理部３１６は、ルール記憶部３１１に記憶されたフィルタルールに基づいて宛先や送信元の情報およびポート番号などによるフィルタリングを行う。
【００６４】
ルール設定部３１７は、通信監視のためのルールを制御装置１００から受信して、ルール記憶部３１１に格納する。ルール設定部３１７は、ルール記憶部３１１に既存のルールが格納されている場合には、新たに受信したルールにより既存のルールを更新する。
【００６５】
ルール設定部３１７は、専用の仮想ネットワークＩＦを備え、ネットワーク２１および制御装置１００と該仮想ネットワークＩＦで通信する。ただし、フィルタ処理部３１６およびルール設定部３１７は、ネットワークＩＦ３１４を介して制御装置１００と通信してもよい。
【００６６】
図６は、第２の実施の形態の接続リストテーブルの例を示す図である。接続リストテーブル１１１は、制御情報記憶部１１０に格納される。接続リストテーブル１１１には、ユーザＩＤ、ＳａａＳ種別およびネットワークＩＦを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのユーザに関する情報を示す。
【００６７】
ユーザＩＤの項目には、ユーザＩＤが設定される。ユーザＩＤは、ユーザ拠点３０を運営する事業者を識別する情報である。ＳａａＳ種別の項目には、サービスを示す識別情報が設定される。ネットワークＩＦの項目には、仮想ルータ３１０，３１０ａにおける仮想マシン側のネットワークＩＦの識別情報が設定される。
【００６８】
ここで、ユーザ拠点３０を運営する事業者のユーザＩＤを“Ｕｓｅｒ１”とする。他のユーザ拠点を運営する事業者のユーザＩＤを“Ｕｓｅｒ２”とする。
また、仮想マシン３２０上で利用されているサービスのＳａａＳ種別を“ＳａａＳ１”とする。仮想マシン３２０ａ上で利用されているサービスのＳａａＳ種別を“ＳａａＳ２”とする。仮想マシン３２０ｂ上で利用されているサービスのＳａａＳ種別を“ＳａａＳ３”とする。仮想マシン３２０ｃ上で利用されているサービスのＳａａＳ種別を“ＳａａＳ４”とする。
【００６９】
更に、ネットワークＩＦ３１２の識別情報を“ＩＦ−Ｓ１”とする。ネットワークＩＦ３１３の識別情報を“ＩＦ−Ｓ２”とする。仮想マシン３２０ｂと接続する仮想ルータ３１０ａ上のネットワークＩＦの識別情報を“ＩＦ−Ｓ３”とする。仮想マシン３２０ｃと接続する仮想ルータ３１０ａ上のネットワークＩＦの識別情報を“ＩＦ−Ｓ４”とする。例えば、各ネットワークＩＦの識別情報は、各ネットワークＩＦの属するネットワーク上のＩＰアドレスとしてもよい。
【００７０】
例えば、接続リストテーブル１１１には、ユーザＩＤが“Ｕｓｅｒ１”、ＳａａＳ種別が“ＳａａＳ１”、ネットワークＩＦが“ＩＦ−Ｓ１”という情報が設定される。これは、ユーザ拠点３０を運営する事業者（“Ｕｓｅｒ１”）がＳａａＳ種別“ＳａａＳ１”のサービスを利用していることを示す。また、該サービスを利用するために仮想ルータ３１０上のネットワークＩＦ３１２（“ＩＦ−Ｓ１”）を介して通信していることを示す。
【００７１】
図７は、第２の実施の形態のフィルタ雛型テーブルの例を示す図である。フィルタ雛型テーブル１１２，１１２ａ，・・・は、ＳａａＳ種別ごとのフィルタルールの雛型（以下、フィルタ雛型という）を定義したものであり、制御情報記憶部１１０に格納される。フィルタ雛型テーブル１１２，１１２ａ，・・・は、仮想マシン側ネットワークとユーザ側ネットワークとの間のフィルタを定義したものである。フィルタ雛型テーブル１１２は、ＳａａＳ種別“ＳａａＳ１”に対するフィルタ雛型を定義したものである。フィルタ雛型テーブル１１２ａは、ＳａａＳ種別“ＳａａＳ２”に対するフィルタ雛型を定義したものである。以下、フィルタ雛型テーブル１１２を説明するが、フィルタ雛型テーブル１１２ａ，・・・についても同様である。
【００７２】
フィルタ雛型テーブル１１２には、Ｆｒｏｍポート、Ｔｏポート、Ｐｒｏｔｏｃｏｌ、Ｆｒｏｍ−ＩＦ、Ｔｏ−ＩＦおよび許可／禁止の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのフィルタ雛型を示す。
【００７３】
Ｆｒｏｍポートの項目には、送信元のポート番号が設定される。Ｔｏポートの項目には、宛先のポート番号が設定される。Ｐｒｏｔｏｃｏｌの項目には、プロトコルの種別が設定される。Ｆｒｏｍ−ＩＦの項目には、ユーザ側のネットワークと接続するネットワークＩＦの識別情報が設定される。Ｔｏ−ＩＦの項目には、仮想マシン側のネットワークと接続するネットワークＩＦの識別情報が設定される。許可／禁止の項目には、通信を許可するか禁止するかを示す情報が設定される。
【００７４】
例えば、フィルタ雛型テーブル１１２には、Ｆｒｏｍポートが“８０”、Ｔｏポートが“＊”、Ｐｒｏｔｏｃｏｌが“ＴＣＰ”、Ｆｒｏｍ−ＩＦが“＜Ｌｏｃａｌ＞”、Ｔｏ−ＩＦが“＜Ｕｓｅｒ＞”、許可／禁止が“Ｐｅｒｍｉｔ”という情報が設定される。これは、仮想マシン側のネットワークからユーザ側のネットワークに対するポート番号８０でのＴＣＰによる通信（ＨＴＴＰ（Hypertext Transfer Protocol）の通信）を許可することを示す。
【００７５】
また、例えば、フィルタ雛型テーブル１１２には、Ｆｒｏｍポートが“＊”、Ｔｏポートが“８０”、Ｐｒｏｔｏｃｏｌが“ＴＣＰ”、Ｆｒｏｍ−ＩＦが“＜Ｕｓｅｒ＞”、Ｔｏ−ＩＦが“＜Ｌｏｃａｌ＞”、許可／禁止が“Ｐｅｒｍｉｔ”という情報が設定される。これは、ユーザ側のネットワークから仮想マシン側のネットワークに対するポート番号８０でのＴＣＰによる通信（ＨＴＴＰの通信）を許可することを示す。
【００７６】
また、例えば、フィルタ雛型テーブル１１２には、Ｆｒｏｍポートが“＊”、Ｔｏポートが“＊”、Ｐｒｏｔｏｃｏｌが“ＴＣＰ”、Ｆｒｏｍ−ＩＦが“＜Ｌｏｃａｌ＞”、Ｔｏ−ＩＦが“＜Ｕｓｅｒ＞”、許可／禁止が“Ｄｅｎｙ”という情報が設定される。これは、これは、仮想マシン側のネットワークからユーザ側のネットワークに対する全ての通信を禁止することを示す。
【００７７】
また、例えば、フィルタ雛型テーブル１１２には、Ｆｒｏｍポートが“＊”、Ｔｏポートが“＊”、Ｐｒｏｔｏｃｏｌが“ＴＣＰ”、Ｆｒｏｍ−ＩＦが“＜Ｕｓｅｒ＞”、Ｔｏ−ＩＦが“＜Ｌｏｃａｌ＞”、許可／禁止が“Ｄｅｎｙ”という情報が設定される。これは、これは、ユーザ側のネットワークから仮想マシン側のネットワークに対する全ての通信を禁止することを示す。
【００７８】
フィルタ雛型テーブル１１２では、上に記述されたルール程優先度が高い。すなわち、フィルタ雛型テーブル１１２によれば、ＨＴＴＰの通信は、ユーザ側のネットワークと仮想マシン側のネットワークとの双方向で許可されるが、それ以外の通信は全て遮断されることを示す。
【００７９】
なお、仮想ルータは、フィルタ雛型テーブル１１２で定義されたフィルタ雛型を取得すると、自身が備えるネットワークＩＦの識別情報をあてはめて、該仮想ルータ用のフィルタルールを生成する。具体的には、“＜Ｌｏｃａｌ＞”には、ＳａａＳ種別“ＳａａＳ１”のサービスを提供する仮想マシンと接続するネットワークＩＦの識別情報をあてはめる。“＜Ｕｓｅｒ＞”には、ユーザ側のネットワークと接続するネットワークＩＦの識別情報をあてはめる。次に、このようにして生成された仮想マシン３２０用のフィルタルール（フィルタテーブル）を例示する。
【００８０】
図８は、第２の実施の形態のフィルタテーブルの例を示す図である。フィルタテーブル３１１ａは、ルール記憶部３１１に格納される。フィルタテーブル３１１ａは、フィルタ雛型テーブル１１２で定義されたフィルタ雛型を仮想ルータ３１０が取得した場合を例示している。フィルタテーブル３１１ａには、Ｆｒｏｍポート、Ｔｏポート、Ｐｒｏｔｏｃｏｌ、Ｆｒｏｍ−ＩＦ、Ｔｏ−ＩＦおよび許可／禁止の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのフィルタルールを示す。ここで、各項目の内容は、図７で説明したフィルタ雛型テーブル１１２の各項目の内容と同様である。
【００８１】
フィルタテーブル３１１ａとフィルタ雛型テーブル１１２とでは、Ｆｒｏｍ−ＩＦおよびＴｏ−ＩＦの設定内容が相違する。フィルタテーブル３１１ａでは、フィルタ雛型テーブル１１２中“＜Ｌｏｃａｌ＞”であった箇所が、仮想マシン３２０と接続するネットワークＩＦ３１２の識別情報“ＩＦ−Ｓ１”に置換されている。また、フィルタテーブル３１１ａでは、フィルタ雛型テーブル１１２中“＜Ｕｓｅｒ＞”であった箇所が、ネットワークＩＦ３１４の識別情報“ＩＦ−Ｕ１”に置換されている。
【００８２】
フィルタ処理部３１６は、フィルタテーブル３１１ａを参照して、フィルタリングを行う。
次に、以上の構成の情報処理システムの処理手順を説明する。
【００８３】
図９は、第２の実施の形態の仮想マシンの起動処理を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。
［ステップＳ１１］通信処理部５１０は、ルータ装置５００がネットワーク１０と物理的に接続されると（例えば、ＷＡＮ（Wide Area Network）ポートをネットワーク線で接続）、既定の接続情報によりネットワーク１０との接続を確立する。更に、通信処理部５１０は、既定の接続情報によりゲートウェイ装置４００との間のＩＰ−ＶＰＮ接続を初期設定用に確立する。既定の接続情報は、例えば、ネットワーク１０とＰＰＰｏＥ接続するためのＩＤやパスワード、ＩＰ−ＶＰＮグループの情報などを含むものであり、ルータ装置５００の工場出荷時などにルータ装置５００が備えるメモリに記録される。なお、ゲートウェイ装置４００は、ネットワーク１０との間で少なくとも１つのＰＰＰｏＥ接続を、初期設定用に常時開設している。
【００８４】
［ステップＳ１２］通信処理部５１０は、制御装置１００に接続通知を行う。接続通知には、起動する仮想マシンの情報（例えば、ＯＳの種別、ＣＰＵの性能、メモリやＨＤＤの容量などを指定する情報）およびユーザの識別情報が含まれる。仮想マシンの情報は、ルータ装置５００の工場出荷時などにルータ装置５００が備えるメモリに記録される。接続通知には、例えば、ＨＴＴＰのリクエストを利用できる。具体的には、通信処理部５１０は、制御装置１００のＵＲＬ（Uniform Resource Locator）を指定したＨＴＴＰのＰＵＴリクエストを利用して、起動する仮想マシンの情報を含む接続通知を行う。接続制御部１２０は、ルータ装置５００から接続通知を受信する。例えば、接続制御部１２０は、Ｗｅｂサーバ機能を有し、ルータ装置５００がＨＴＴＰリクエストとして送信した接続通知を受信する。
【００８５】
［ステップＳ１３］接続制御部１２０は、起動制御部２２０に対して実運用で利用する接続を確立するためのゲートウェイ装置の割り当てを依頼する。また、接続制御部１２０は、接続通知で指定された仮想マシンの要件を満たせる実行サーバ装置の割り当てを依頼する。起動制御部２２０は、管理情報記憶部２１０を参照して、該ユーザに対して、ゲートウェイ装置および実行サーバ装置の割り当てを行う。例えば、起動制御部２２０は、該ユーザに対してゲートウェイ装置４００および実行サーバ装置３００を割り当てたとする。接続制御部１２０は、ゲートウェイ装置４００とルータ装置５００との間のＩＰ−ＶＰＮ接続を確立する。
【００８６】
［ステップＳ１４］起動制御部２２０は、実行サーバ装置３００に仮想マシン３２０と、該仮想マシンに対する通信を中継させるための仮想ルータ３１０を起動させる。起動制御部２２０は、仮想ルータ３１０および仮想マシン３２０の起動が完了したことを実行サーバ装置３００に確認すると、接続制御部１２０にその旨を通知する。ここで、起動された仮想ルータ３１０および仮想マシン３２０が該ユーザに割り当てられる。
【００８７】
［ステップＳ１５］接続制御部１２０は、ステップＳ１４で起動された仮想ルータ３１０とルータ装置５００との間のＬ２ＶＰＮ接続を確立する。接続制御部１２０は、Ｌ２ＶＰＮ接続を確立した後、ゲートウェイ装置４００とルータ装置５００との間の初期設定用のＩＰ−ＶＰＮ接続を切断させる。また、ルータ装置５００とネットワーク１０との間の初期設定用のＰＰＰｏＥ接続を切断させる。
【００８８】
上記処理につき、装置間の関連をシーケンス図で説明する。
図１０は、第２の実施の形態の仮想マシンの起動処理を示すシーケンス図である。以下、図１０に示す処理をステップ番号に沿って説明する。
【００８９】
［ステップＳＴ１０１］ルータ装置５００は、ネットワーク１０に接続する。すると、ルータ装置５００は、既定のＩＤおよびパスワードにより、ＰＰＰｏＥ認証を行い、ＰＰＰｏＥ網に接続する。また、ルータ装置５００は、既定のＩＰ−ＶＰＮグループ情報により、ゲートウェイ装置４００との間のＩＰ−ＶＰＮ接続を確立する。
【００９０】
［ステップＳＴ１０２］ルータ装置５００は、制御装置１００に接続通知を送信する。接続通知には、起動する仮想マシンの情報やユーザＩＤが含まれる。
［ステップＳＴ１０３］ルータ装置５００は、該ユーザに対する実行サーバ装置およびゲートウェイ装置の割当を、仮想マシン管理装置２００に依頼する。
【００９１】
［ステップＳＴ１０４］仮想マシン管理装置２００は、実行サーバ装置３００およびゲートウェイ装置４００を割り当てると、割当結果を制御装置１００に通知する。
［ステップＳＴ１０５］制御装置１００は、ＩＰ−ＶＰＮ用のＰＰＰｏＥ接続情報（ＩＤおよびパスワード）とＩＰ−ＶＰＮグループの接続情報とを、２組分、通信事業者サーバ装置７００から取得する。制御装置１００は、そのうちの１組をルータ装置５００に送信する。
【００９２】
［ステップＳＴ１０６］制御装置１００は、ステップＳＴ１０５で取得したＰＰＰｏＥ接続情報およびＩＰ−ＶＰＮグループの接続情報のうちのもう一方の１組をゲートウェイ装置４００に送信する。
【００９３】
［ステップＳＴ１０７］ルータ装置５００およびゲートウェイ装置４００は、制御装置１００から受信したＰＰＰｏＥ接続情報とＩＰ−ＶＰＮグループの情報により、ＩＰ−ＶＰＮ接続を確立する。
【００９４】
［ステップＳＴ１０８］制御装置１００は、仮想マシン管理装置２００に、仮想マシンおよび仮想ルータの起動指示を送信する。
［ステップＳＴ１０９］仮想マシン管理装置２００は、割り当てた実行サーバ装置３００に対して、仮想ルータ３１０および仮想マシン３２０の起動を指示する。
【００９５】
［ステップＳＴ１１０］実行サーバ装置３００は、仮想ルータ３１０および仮想マシン３２０の起動が完了すると、仮想マシン管理装置２００に起動完了を通知する。
［ステップＳＴ１１１］仮想マシン管理装置２００は、実行サーバ装置３００上で、仮想ルータ３１０および仮想マシン３２０の起動が完了した旨を、制御装置１００に通知する。
【００９６】
［ステップＳＴ１１２］制御装置１００は、仮想ルータ３１０およびルータ装置５００の間のＬ２ＶＰＮ接続を確立する。具体的には、制御装置１００は仮想ルータ３１０のＩＰアドレスをルータ装置５００に送信して、該ＩＰアドレスに対するＥｔｈｅｒｎｅｔフレームのＥｔｈｅｒＩＰによるカプセル化のための設定を行わせる。また、制御装置１００は、ルータ装置５００のＩＰアドレスを仮想ルータ３１０に送信して、該ＩＰアドレスに対するＥｔｈｅｒｎｅｔフレームのＥｔｈｅｒＩＰによるカプセル化のための設定を行わせる。制御装置１００は、Ｌ２ＶＰＮ接続が確立されると、ステップＳＴ１０１で確立された初期設定用のＩＰ−ＶＰＮ接続や初期設定用のＰＰＰｏＥ接続を切断させる。
【００９７】
このようにして、制御装置１００は、ルータ装置５００とゲートウェイ装置４００との間で確立された初期設定用のＩＰ−ＶＰＮ接続により、ルータ装置５００から接続通知を受け付ける。制御装置１００は、通信事業者サーバ装置７００より、実運用で用いるためのＩＰ−ＶＰＮ接続のための情報を取得し、ルータ装置５００とゲートウェイ装置４００との間で該ＩＰ−ＶＰＮ接続を確立させる。制御装置１００は、仮想ルータ３１０が起動すると、仮想ルータ３１０とルータ装置５００との間のＬ２ＶＰＮ接続を確立させる。
【００９８】
なお、上記ステップＳＴ１０５〜ＳＴ１０７およびステップＳＴ１０８〜ＳＴ１１１の処理は並行に実行されてもよい。
図１１は、第２の実施の形態のフィルタ設定処理を示すフローチャートである。以下、図１１に示す処理をステップ番号に沿って説明する。
【００９９】
［ステップＳ２１］接続制御部１２０は、ルータ装置５００からユーザが選択したサービスを受け付ける。接続制御部１２０は、ルール管理部１３０および起動制御部２２０に、該ユーザによるサービスの選択内容を送信する。サービスの選択内容には、該ユーザに割り当てられた仮想マシンを指定する情報およびサービスのＳａａＳ種別が含まれる。仮想マシン３２０を指定する情報およびＳａａＳ種別“ＳａａＳ１”を示す情報が含まれるとする。
【０１００】
［ステップＳ２２］ルール管理部１３０は、制御情報記憶部１１０を参照して、選択されたサービスのＳａａＳ種別に対応するフィルタ雛型を選択する。選択されたサービスのＳａａＳ種別が“ＳａａＳ１”であるので、ルール管理部１３０はフィルタ雛型テーブル１１３を選択する。
【０１０１】
［ステップＳ２３］ルール管理部１３０は、指定された仮想マシンの通信を中継する仮想ルータを選択する。例えば、仮想マシン３２０が指定されている場合、仮想ルータ３１０を選択する。ルール管理部１３０は、仮想マシン３２０に対応する仮想ルータおよび仮想マシン３２０と接続するネットワークＩＦを起動制御部２２０に問い合わせてもよい。
【０１０２】
［ステップＳ２４］ルール管理部１３０は、ステップＳ２２で選択したフィルタ雛型を仮想ルータ３１０に送信する。このとき、ルール管理部１３０は、ＳａａＳ種別“ＳａａＳ１”のサービスを利用可能な仮想マシン３２０と接続するネットワークＩＦ３１２の情報（“ＩＦ−Ｓ１”）を仮想ルータ３１０に通知する。ネットワークＩＦ３１２の情報は、雛型の＜Ｌｏｃａｌ＞の設定に相当する。
【０１０３】
［ステップＳ２５］ルール設定部３１７は、フィルタ雛型を受信する。ルール設定部３１７は、フィルタ雛型のＦｒｏｍ−ＩＦおよびＴｏ−ＩＦの項目に記述された“＜Ｌｏｃａｌ＞”の文字列をネットワークＩＦ３１２を示す“ＩＦ−Ｓ１”に置換する。また、ルール設定部３１７は、該各項目に記述された“＜Ｕｓｅｒ＞”の文字列をユーザ側ネットワークと接続するネットワークＩＦ３１４を示す“ＩＦ−Ｕ１”に置換する。ルール設定部３１７は、このようにして生成したフィルタルールをルール記憶部３１１のフィルタテーブル３１１ａに設定する。
【０１０４】
［ステップＳ２６］ルール設定部３１７は、フィルタルールの設定が完了した旨をルール管理部１３０に通知する。ルール管理部１３０は、該通知によりフィルタルールの設定完了を受け付ける。
【０１０５】
［ステップＳ２７］ルール管理部１３０は、制御情報記憶部１１０に記憶された接続リストテーブル１１１を更新する。具体的には、ルール管理部１３０は、新たに選択されたサービスのＳａａＳ種別とユーザとそのユーザが利用するネットワークＩＦとの対応関係を設定する。より具体的には、上記ステップＳ２１〜Ｓ２６の処理に対して、ルール管理部１３０は、ユーザ“Ｕｓｅｒ１”、ＳａａＳ種別“ＳａａＳ１”、ネットワークＩＦ“ＩＦ−Ｓ１”の対応関係を接続リストテーブル１１１に設定する。
【０１０６】
このようにして、ルール管理部１３０は、選択されたサービスのＳａａＳ種別に応じたフィルタルールを選択して、仮想ルータ３１０に送信する。
上記処理につき装置間の関連をシーケンス図で説明する。
【０１０７】
図１２は、第２の実施の形態のフィルタ設定処理を示すシーケンス図である。以下、図１２に示す処理をステップ番号に沿って説明する。
［ステップＳＴ１２１］クライアント装置６００は、ユーザ（“Ｕｓｅｒ１”）によるサービスの選択内容を受け付ける。サービスの選択内容には、該ユーザにより指定された仮想マシン３２０を示す情報およびサービスのＳａａＳ種別“ＳａａＳ１”が含まれる。クライアント装置６００は、サービスの選択内容をルータ装置５００に入力する。ルータ装置５００は、サービスの選択内容を、ゲートウェイ装置４００を介して制御装置１００に送信する。
【０１０８】
［ステップＳＴ１２２］制御装置１００は、選択されたサービスのＳａａＳ種別“ＳａａＳ１”に応じたフィルタ雛型テーブル１１２を制御情報記憶部１１０から取得する。制御装置１００は、フィルタ雛型テーブル１１２のフィルタ雛型（ルール）を実行サーバ装置３００上の仮想ルータ３１０に送信する。
【０１０９】
［ステップＳＴ１２３］仮想ルータ３１０は、受信したフィルタ雛型に、自身が備えるネットワークＩＦの情報をあてはめてフィルタルールを生成し、ルール記憶部３１１のフィルタテーブル３１１ａに設定する。仮想ルータ３１０は、フィルタルールの設定が完了した旨を制御装置１００に通知する。仮想ルータ３１０は、該フィルタルールによるフィルタリングを開始する。
【０１１０】
［ステップＳＴ１２４］制御装置１００は、仮想マシン管理装置２００にサービスの選択内容を通知する。仮想マシン管理装置２００は、該通知に基づき、実行サーバ装置３００上の仮想マシン３２０に、該サービスを利用するためのソフトウェアを実行させる。
【０１１１】
［ステップＳＴ１２５］制御装置１００は、ユーザ“Ｕｓｅｒ１”とＳａａＳ種別“ＳａａＳ１”とネットワークＩＦ“ＩＦ−Ｓ１”との対応関係を制御情報記憶部１１０の接続リストテーブル１１１に設定する。
【０１１２】
［ステップＳＴ１２６］クライアント装置６００は、ユーザによる操作を受け付け、実行サーバ装置３００上の仮想マシン３２０で実行されるソフトウェアに処理要求を送信する。こうして、該ユーザは、該ソフトウェアにより実現されるサービスを利用可能となる。
【０１１３】
このようにして、制御装置１００は、ユーザにより選択されたサービスに応じたフィルタルールを、仮想ルータ３１０に送信する。
これにより、通信監視のルールを容易に設定可能となる。具体的には、仮想マシン３２０上のサービスが選択されたときに、サービスごとに定義されたフィルタ雛型を、仮想マシン３２０の通信を中継する仮想ルータ３１０に送信することで、該サービスのためのルールを、仮想ルータ３１０に容易に設定できる。複数の情報処理装置上で複数の仮想マシンが動作している場合でも、各仮想マシンに対して選択されたサービスに対するルールを自動的に取得し、各仮想マシンに対応する仮想ルータに送信する。このため、システム管理者による設定のための作業負担を軽減できる。また、上記情報処理システムのように、仮想マシン上で利用するサービスが、ユーザにより事後的に選択される場合でも、選択されたサービスに応じた適切なルールを仮想ルータに容易に設定可能となる。
【０１１４】
また、セキュリティの観点からは、上述のように該サービスが利用可能となる前に、仮想ルータ３１０にフィルタルールが設定されていることが好ましい。すなわち、仮想マシン管理装置２００は、フィルタルール設定完了後のステップＳＴ１２４で仮想マシン３２０に該ソフトウェアの実行を指示する。フィルタルールが設定されるまで、該サービスへの通信を適切にフィルタリングできないためである。このようにすれば、サービスに対する通信の安全性を事前に確保した状態で、サービスの利用を開始することができる。ただし、ステップＳＴ１２２の前にステップＳＴ１２４を実行してもよい。
【０１１５】
ここで、第２の実施の形態の情報処理システムでは、ユーザ拠点３０のネットワーク３１と仮想マシン３２０，３２０ａ，３２０ｂがＶＰＮ接続される。このため、これらの仮想マシンは、ネットワーク３１（イントラネット）の延長上に接続された形態となる。その場合、通信のセキュリティ機能をどのように確保するか問題となる。例えば、ユーザ側の責任において設定させる場合、ユーザに対してフィルタ設定のための知識を要求することになる。一方、サービス事業者側の責任において設定する場合、多数の仮想マシンが稼働し得る情報処理システムにおいて、設定のための作業負担が問題となる。これに対し、上述のように、サービスが選択されたときに、該サービスに応じたフィルタ雛型を仮想ルータに送信することで、ユーザ側／サービス事業者側の負担を軽減して、通信のセキュリティを容易に確保できる。
【０１１６】
第２の実施の形態のフィルタ雛型テーブル１１２，１１２ａ，・・・では、仮想マシン側ネットワークとユーザ側ネットワークとの間のフィルタルールを例示した。該フィルタルールによって、これらネットワーク間での通信のセキュリティ向上を図れる。
【０１１７】
更に、ユーザがサービスの利用を中止することも考えられる。ユーザは、そのための操作を、例えば、ルータ装置５００が提供するインタフェースにより行える。その場合、制御装置１００は、該サービスの中止を受け付けた旨を仮想マシン管理装置２００および該サービスを提供する仮想マシンの通信を中継する仮想ルータに通知する。すると、該仮想ルータは、そのサービスに対応するフィルタルールを削除する。例えば、ＳａａＳ種別“ＳａａＳ１”のサービスの利用を停止する場合、フィルタテーブル３１１ａのＦｒｏｍ−ＩＦの項目に、“ＩＦ−Ｓ１”が設定されたレコードを削除する。
【０１１８】
［第３の実施の形態］
次に、第３の実施の形態を説明する。前述の第２の実施の形態との相違点を主に説明し、同様の事項の説明を省略する。
【０１１９】
第２の実施の形態では、仮想マシン側ネットワークとユーザ側ネットワークとの間のフィルタルールの設定を例示した。ここで、仮想マシンでサービスを利用可能とするために、該仮想マシンから、そのユーザに割り当てられた他の仮想マシンと通信することもある。その場合、仮想マシン間の通信でもフィルタリングを行うことが好ましい。第３の実施の形態では、仮想マシン間でのフィルタルールを容易に設定可能とする方法を提供する。
【０１２０】
ここで、第３の実施の形態の情報処理システムの構成は、図２で説明した第２の実施の形態の情報処理システムの構成と同様である。第３の実施の形態では、第２の実施の形態と同一の符号・名称により、各装置および各装置の構成要素を指し示す。
【０１２１】
図１３は、第３の実施の形態のフィルタ雛型テーブルの例を示す図である。フィルタ雛型テーブル１１３，１１３ａ，・・・は、あるＳａａＳ種別のサービスを実行する仮想マシンと該ＳａａＳ種別のサービスが連携する他のサービスを実行する他の仮想マシンとの間のフィルタ雛型を定義したものである。すなわち、フィルタ雛型テーブル１１３，１１３ａ，・・・は、仮想マシン側ネットワークでのフィルタを定義したものである。フィルタ雛型テーブル１１３，１１３ａ，・・・は、制御情報記憶部１１０に格納される。
【０１２２】
フィルタ雛型テーブル１１３は、ＳａａＳ種別“ＳａａＳ１”と他のＳａａＳ種別との連携に対するフィルタ雛型を定義したものである。フィルタ雛型テーブル１１３ａは、ＳａａＳ種別“ＳａａＳ２”と他のＳａａＳ種別との連携に対するフィルタ雛型を定義したものである。以下、フィルタ雛型テーブル１１３を説明するが、フィルタ雛型テーブル１１３ａ，・・・についても同様である。
【０１２３】
フィルタ雛型テーブル１１３には、Ｆｒｏｍポート、Ｔｏポート、Ｐｒｏｔｏｃｏｌ、Ｆｒｏｍ−ＩＦ、Ｔｏ−ＩＦ、Ｆｌａｇおよび許可／禁止の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのフィルタ雛型を示す。ここで、Ｆｌａｇの項目以外の各項目の内容は、図７で説明した第２の実施の形態のフィルタ雛型テーブル１１２の各項目の内容と同様である。
【０１２４】
Ｆｌａｇの項目には、ＴＣＰによる発呼方向などを制限するための情報が設定される。
例えば、フィルタ雛型テーブル１１３には、Ｆｒｏｍポートが“＊”、Ｔｏポートが“＊”、Ｐｒｏｔｏｃｏｌが“ＴＣＰ”、Ｆｒｏｍ−ＩＦが“＜Ｌｏｃａｌ＞”、Ｔｏ−ＩＦが“＜ＳａａＳ＞”、Ｆｌａｇが“ＮＥＷ，Ｅｓｔａｂｌｉｓｈｅｄ”、許可／禁止が“Ｐｅｒｍｉｔ”という情報が設定される。これは、仮想ルータにおいて、ＳａａＳ種別“ＳａａＳ１”のネットワークＩＦから、他のＳａａＳ種別のサービスを提供する仮想マシンが接続するネットワークＩＦへのＴＣＰによる通信の一部を許可することを示す。許可されるのは、ＴＣＰセッションの新規確立用のパケット（“ＮＥＷ”）および既に確立済のＴＣＰセッションのパケット（“Ｅｓｔａｂｌｉｓｈｅｄ”）である。
【０１２５】
また、例えば、フィルタ雛型テーブル１１３には、Ｆｒｏｍポートが“＊”、Ｔｏポートが“＊”、Ｐｒｏｔｏｃｏｌが“ＴＣＰ”、Ｆｒｏｍ−ＩＦが“＜ＳａａＳ＞”、Ｔｏ−ＩＦが“＜Ｌｏｃａｌ＞”、Ｆｌａｇが“Ｅｓｔａｂｌｉｓｈｅｄ”、許可／禁止が“Ｐｅｒｍｉｔ”という情報が設定される。これは、仮想ルータにおいて、他のＳａａＳ種別のサービスを提供する仮想マシンが接続するネットワークＩＦから、ＳａａＳ種別“ＳａａＳ１”のサービスを提供する仮想マシンが接続するネットワークＩＦへのＴＣＰによる通信の一部を許可することを示す。許可されるのは、既に確立済のＴＣＰセッションのパケットである。
【０１２６】
また、例えば、フィルタ雛型テーブル１１３には、Ｆｒｏｍポートが“＊”、Ｔｏポートが“＊”、Ｐｒｏｔｏｃｏｌが“＊”、Ｆｒｏｍ−ＩＦが“＜Ｌｏｃａｌ＞”、Ｔｏ−ＩＦが“＜ＳａａＳ＞”、Ｆｌａｇが“−”（ハイフン）、許可／禁止が“Ｄｅｎｙ”という情報が設定される。これは、仮想ルータにおいて、ＳａａＳ種別“ＳａａＳ１”のサービスを提供する仮想マシンが接続するネットワークＩＦから、他のＳａａＳ種別のサービスを提供する仮想マシンが接続するネットワークＩＦへの全ての通信を遮断することを示す。
【０１２７】
また、例えば、フィルタ雛型テーブル１１３には、Ｆｒｏｍポートが“＊”、Ｔｏポートが“＊”、Ｐｒｏｔｏｃｏｌが“＊”、Ｆｒｏｍ−ＩＦが“＜ＳａａＳ＞”、Ｔｏ−ＩＦが“＜Ｌｏｃａｌ＞”、Ｆｌａｇが“−”（ハイフン）、許可／禁止が“Ｄｅｎｙ”という情報が設定される。これは、仮想ルータにおいて、他のＳａａＳ種別のサービス提供する仮想マシンが接続するネットワークＩＦから、ＳａａＳ種別“ＳａａＳ１”のサービスを提供する仮想マシンが接続するネットワークＩＦへの全ての通信を遮断することを示す。
【０１２８】
フィルタ雛型テーブル１１３では、上に記述されたルール程優先度が高い。フィルタ雛型テーブル１１３によれば、ＳａａＳ種別“ＳａａＳ１”のサービスを提供する仮想マシンが接続するネットワークＩＦから、他のＳａａＳ種別のサービスを提供する仮想マシンが接続するネットワークＩＦへのＴＣＰセッションの開設が許可される。ただし、逆方向（他のＳａａＳ種別のネットワークＩＦから“ＳａａＳ１”のネットワークＩＦへ向かう方向）へのＴＣＰセッションの開設は禁止される。以後、両仮想マシン間で開設されたＴＣＰセッションでの通信が許可される。それ以外の通信は、全て遮断される。
【０１２９】
なお、仮想ルータは、フィルタ雛型テーブル１１３で定義されたフィルタ雛型を取得すると、自身が備えるネットワークＩＦの識別情報をあてはめて、該仮想ルータ用のフィルタルールを生成する。具体的には、“＜Ｌｏｃａｌ＞”には、ＳａａＳ種別“ＳａａＳ１”のサービスを提供する仮想マシンと接続するネットワークＩＦの識別情報をあてはめる。“＜ＳａａＳ＞”には、他のＳａａＳ種別のサービスを提供する仮想マシンと接続するネットワークＩＦの識別情報をあてはめる。次に、このようにして生成された仮想マシン３２０用のフィルタルール（フィルタテーブル）を例示する。
【０１３０】
図１４は、第３の実施の形態のフィルタテーブルの例を示す図である。フィルタテーブル３１１ｂは、ルール記憶部３１１に格納される。フィルタテーブル３１１ｂは、フィルタテーブル３１１ａに、フィルタ雛型テーブル１１３，１１３ａで定義されたフィルタ雛型を追加設定した場合を例示している。ただし、フィルタテーブル３１１ａで示した設定内容は図示を省略する。フィルタテーブル３１１ｂには、Ｆｒｏｍポート、Ｔｏポート、Ｐｒｏｔｏｃｏｌ、Ｆｒｏｍ−ＩＦ、Ｔｏ−ＩＦ、Ｆｌａｇおよび許可／禁止の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのフィルタルールを示す。ここで、各項目の内容は、図１３で説明したフィルタ雛型テーブル１１３の各項目の内容と同様である。
【０１３１】
フィルタテーブル３１１ｂとフィルタ雛型テーブル１１３，１１３ａ，・・・とでは、Ｆｒｏｍ−ＩＦおよびＴｏ−ＩＦの設定内容が相違する。ここで、フィルタテーブル３１１ｂ中、設定Ａ，Ｂが示されている。設定Ａは、フィルタ雛型テーブル１１３に基づく仮想マシン３２０，３２０ａ間の通信のフィルタルールである。設定Ｂは、フィルタ雛型テーブル１１３ａに基づく仮想マシン３２０，３２０ａ間の通信のフィルタルールである。
【０１３２】
設定Ａでは、フィルタ雛型テーブル１１３中“＜Ｌｏｃａｌ＞”であった箇所が、ＳａａＳ種別“ＳａａＳ１”のサービスを提供する仮想マシン３２０と接続するネットワークＩＦ３１２の識別情報“ＩＦ−Ｓ１”に置換されている。また、フィルタテーブル３１１ｂでは、フィルタ雛型テーブル１１３中“＜ＳａａＳ＞”であった箇所が、ＳａａＳ種別“ＳａａＳ２”（他のＳａａＳ種別）のサービスを提供する仮想マシン３２０ａと接続するネットワークＩＦ３１３の識別情報“ＩＦ−Ｓ２”に置換されている。
【０１３３】
設定Ｂでは、フィルタ雛型テーブル１１３ａ中“＜Ｌｏｃａｌ＞”であった箇所が、ＳａａＳ種別“ＳａａＳ２”のサービスを提供する仮想マシン３２０ａと接続するネットワークＩＦ３１３の識別情報“ＩＦ−Ｓ２”に置換されている。また、フィルタテーブル３１１ｂでは、フィルタ雛型テーブル１１３ａ中“＜ＳａａＳ＞”であった箇所が、ＳａａＳ種別“ＳａａＳ１”（他のＳａａＳ種別）のサービスを提供する仮想マシン３２０と接続するネットワークＩＦ３１２の識別情報“ＩＦ−Ｓ１”に置換されている。
【０１３４】
フィルタテーブル３１１ｂには、ユーザにより選択されたＳａａＳ種別のサービスを提供する仮想マシンと接続するネットワークＩＦと、該ユーザに割り当てられた他の仮想マシンと接続するネットワークＩＦと、の組の分だけルールが設定される。
【０１３５】
例えば、“Ｕｓｅｒ１”のユーザは、実行サーバ３００ａ上の仮想マシン３２０ｂでＳａａＳ種別“ＳａａＳ３”のサービスを利用している。このため、フィルタテーブル３１１ｂには、フィルタ雛型テーブル１１３に基づいて、仮想マシン３２０，３２０ｂ間の通信のフィルタルールも設定される。また、フィルタテーブル３１１ｂには、フィルタ雛型テーブル１１３ａに基づいて、仮想マシン３２０ａ，３２０ｂ間の通信のフィルタルールも設定される。このようにして、該ユーザに割り当てた仮想マシン間で網羅的にフィルタルールが設定される。
【０１３６】
次に、以上の構成の情報処理システムの処理手順を説明する。ここで、仮想マシンの起動処理は、図９で説明した第２の実施の形態の仮想マシンの起動処理と同様である。
図１５は、第３の実施の形態のフィルタ設定処理を示すフローチャートである。以下、図１５に示す処理をステップ番号に沿って説明する。
【０１３７】
［ステップＳ３１］接続制御部１２０は、ルータ装置５００からユーザが選択したサービスを受け付ける。接続制御部１２０は、ルール管理部１３０および起動制御部２２０に、該ユーザによるサービスの選択内容を送信する。サービスの選択内容には、該ユーザに割り当てられた仮想マシンを指定する情報およびサービスのＳａａＳ種別が含まれる。仮想マシン３２０を指定する情報およびＳａａＳ種別“ＳａａＳ１”を示す情報が含まれるとする。
【０１３８】
［ステップＳ３２］ルール管理部１３０は、制御情報記憶部１１０を参照して、選択されたサービスのＳａａＳ種別に対応するフィルタ雛型を選択する。選択されたサービスのＳａａＳ種別が“ＳａａＳ１”であるので、ルール管理部１３０はフィルタ雛型テーブル１１３を選択する。
【０１３９】
［ステップＳ３３］ルール管理部１３０は、指定された仮想マシンの通信を中継する仮想ルータを選択する。例えば、仮想マシン３２０が指定されている場合、仮想ルータ３１０を選択する。ルール管理部１３０は、仮想マシン３２０に対応する仮想ルータおよび仮想マシン３２０と接続するネットワークＩＦを起動制御部２２０に問い合わせてもよい。
【０１４０】
［ステップＳ３４］ルール管理部１３０は、ステップＳ３２で選択したフィルタ雛型を仮想ルータ３１０に送信する。このとき、ルール管理部１３０は、ＳａａＳ種別“ＳａａＳ１”のサービスを利用可能な仮想マシン３２０と接続するネットワークＩＦ３１２の情報（“ＩＦ−Ｓ１”）を仮想ルータ３１０に通知する。ネットワークＩＦ３１２の情報は、雛型の＜Ｌｏｃａｌ＞の設定に相当する。
【０１４１】
［ステップＳ３５］ルール設定部３１７は、フィルタ雛型を受信する。ルール設定部３１７は、フィルタ雛型のＦｒｏｍ−ＩＦおよびＴｏ−ＩＦの項目に記述された“＜Ｌｏｃａｌ＞”の文字列をネットワークＩＦ３１２を示す“ＩＦ−Ｓ１”に置換する。また、ルール設定部３１７は、該各項目に記述された“＜Ｕｓｅｒ＞”の文字列をユーザ側ネットワークと接続するネットワークＩＦ３１４を示す“ＩＦ−Ｕ１”に置換する。ルール設定部３１７は、このようにして生成したフィルタルールをルール記憶部３１１のフィルタテーブル３１１ｂに設定する。
【０１４２】
［ステップＳ３６］ルール設定部３１７は、フィルタルールの設定が完了した旨をルール管理部１３０に通知する。ルール管理部１３０は、該通知によりフィルタルールの設定完了を受け付ける。
【０１４３】
［ステップＳ３７］ルール管理部１３０は、制御情報記憶部１１０に記憶された接続リストテーブル１１１を更新する。具体的には、ルール管理部１３０は、新たに選択されたサービスのＳａａＳ種別とユーザとそのユーザが利用するネットワークＩＦとの対応関係を設定する。より具体的には、上記ステップＳ３１〜Ｓ３６の処理に対して、ルール管理部１３０は、ユーザ“Ｕｓｅｒ１”、ＳａａＳ種別“ＳａａＳ１”、ネットワークＩＦ“ＩＦ−Ｓ１”の対応関係を接続リストテーブル１１１に設定する。
【０１４４】
［ステップＳ３８］ルール管理部１３０は、該ユーザが他のＳａａＳ種別のサービスを利用中であるかを判定する。該ユーザが他のＳａａＳ種別のサービスを利用中である場合、処理をステップＳ３９に進める。該ユーザが他のＳａａＳ種別のサービスを利用中でない場合、処理を終了する。この判定は、ルール管理部１３０は、接続リストテーブル１１１を参照して、該ユーザに対応する他のＳａａＳ種別があるか判断することで行える。他のＳａａＳ種別があれば他のＳａａＳ種別のサービスを利用中であり、なければ他のＳａａＳ種別のサービスを利用中でない。例えば、接続リストテーブル１１１の例では、“Ｕｓｅｒ１”に対して、“ＳａａＳ１”以外にもＳａａＳ種別“ＳａａＳ２”および“ＳａａＳ３”が対応付けられている。よって、“Ｕｓｅｒ１”は、ＳａａＳ種別“ＳａａＳ１”以外の他のＳａａＳ種別のサービスを利用中である。
【０１４５】
［ステップＳ３９］ルール管理部１３０は、制御情報記憶部１１０を参照して、ステップＳ３１で選択されたＳａａＳ種別に対し、他のＳａａＳ種別との間のフィルタ雛型があるか否か判定する。他のＳａａＳ種別との間のフィルタ雛型がある場合、処理をステップＳ４０に進める。他のＳａａＳ種別との間のフィルタ雛型がない場合、処理を終了する。ここで、制御情報記憶部１１０には、“ＳａａＳ１”と他のＳａａＳ間の接続用のフィルタ雛型を定義したフィルタ雛型テーブル１１３が存在する。したがって、ルール管理部１３０は、ステップＳ３１で選択されたＳａａＳ種別“ＳａａＳ１”に対し、他のＳａａＳ種別との間のフィルタ雛型があると判定する。
【０１４６】
［ステップＳ４０］ルール管理部１３０は、ステップＳ３３で選択した仮想ルータ３１０にフィルタ雛型テーブル１１３のフィルタ雛型を送信する。このとき、ルール管理部１３０は、ＳａａＳ種別“ＳａａＳ１”のサービスを利用可能な仮想マシン３２０と接続するネットワークＩＦ３１２の情報（“ＩＦ−Ｓ１”）を仮想ルータ３１０に通知する。ネットワークＩＦ３１２の情報は、雛型の＜Ｌｏｃａｌ＞の設定に相当する。また、ルール管理部１３０は、該ユーザが利用する他のＳａａＳ種別“ＳａａＳ２”、“ＳａａＳ３”を利用可能な仮想マシン３２０ａ，３２０ｂと接続するネットワークＩＦの情報（“ＩＦ−Ｓ２”、“ＩＦ−Ｓ３”）を仮想ルータ３１０に送信する。該ネットワークＩＦの情報は、雛型の＜ＳａａＳ＞の設定に相当する。
【０１４７】
［ステップＳ４１］ルール設定部３１７は、フィルタ雛型を受信する。ルール管理部１３０は、ルール管理部１３０から受信した“＜Ｌｏｃａｌ＞”の設定と“＜ＳａａＳ＞”の設定との組ごとにフィルタルールを生成する。具体的には、ルール設定部３１７は、フィルタ雛型とともに“＜Ｌｏｃａｌ＞”の設定として“ＩＦ−Ｓ１”を受信している。また、“＜ＳａａＳ＞”の設定として“ＩＦ−Ｓ２”、“ＩＦ−Ｓ３”を受信している。よって、（＜Ｌｏｃａｌ＞，＜ＳａａＳ＞）の組として、２つの組（ＩＦ−Ｓ１，ＩＦ−Ｓ２）、（ＩＦ−Ｓ１，ＩＦ−Ｓ３）が得られる。ルール設定部３１７は、フィルタ雛型テーブル１１３の“＜Ｌｏｃａｌ＞”を“ＩＦ−Ｓ１”に、“＜ＳａａＳ＞”を“ＩＦ−Ｓ２”に置換したフィルタルールを生成してフィルタテーブル３１１ｂに設定する。同様に、ルール設定部３１７は、フィルタ雛型テーブル１１３の“＜Ｌｏｃａｌ＞”を“ＩＦ−Ｓ１”に、“＜ＳａａＳ＞”を“ＩＦ−Ｓ３”に置換したフィルタルールを生成してフィルタテーブル３１１ｂに設定する。
【０１４８】
［ステップＳ４２］ルール設定部３１７は、仮想マシン間でのフィルタルールの設定が完了した旨をルール管理部１３０に通知する。ルール管理部１３０は、該通知により仮想マシン間でのフィルタルールの設定完了を受け付ける。
【０１４９】
このようにして、ルール管理部１３０は、仮想マシン間の通信をフィルタリングするためのフィルタ雛型を仮想ルータ３１０に送信する。このとき、仮想ルータ３１０は、フィルタ雛型に基づき、ユーザにより選択されたＳａａＳ種別（例えば、“ＳａａＳ１”）と、該ユーザが利用中の他のＳａａＳ種別（例えば、“ＳａａＳ２”、“ＳａａＳ３”）との組合わせごとのフィルタルールを生成する。
【０１５０】
これにより、第２の実施の形態と同様の効果を得られる。加えて、該ユーザが選択したサービスに対して、他のサービスとの間のフィルタルールを容易に設定可能となる。特に、ユーザが利用中のサービスが多数存在している場合に有効である。
【０１５１】
他のサービスとの間のフィルタルールを設定した後に、選択された仮想マシンに該サービスを利用するためのソフトウェアを実行させてもよい。このようにすれば、他のサービスとの間の通信につき、フィルタによるセキュリティを確保した状態で選択されたサービスの提供を開始できる。
【０１５２】
なお、上記の説明では、ＳａａＳ種別“ＳａａＳ１”のサービスが選択された場合の例を示した。一方、ユーザが“ＳａａＳ１”，“ＳａａＳ３”が利用中に“ＳａａＳ２”のサービスが選択された場合も同様にして、“ＳａａＳ２”と“ＳａａＳ１”との組および“ＳａａＳ２”と“ＳａａＳ３”との組に関する設定をフィルタテーブル３１１ｂに追加する。
【０１５３】
更に、ユーザがサービスの利用を中止することも考えられる。ユーザは、そのための操作を、例えば、ルータ装置５００が提供するインタフェースにより行える。その場合、制御装置１００は、該サービスの中止を受け付けた旨を仮想マシン管理装置２００および該サービスを提供する仮想マシンの通信を中継する仮想ルータに通知する。すると、該仮想ルータは、そのサービスに対応するフィルタルールを削除する。例えば、ＳａａＳ種別“ＳａａＳ１”のサービスの利用を停止する場合、フィルタテーブル３１１ｂのＦｒｏｍ−ＩＦおよびＴｏ−ＩＦの項目に、“ＩＦ−Ｓ１”が設定されたレコードを削除する。
【０１５４】
また、第２，第３の実施の形態では、サービスの選択を受け付けたとき、フィルタ雛型を仮想ルータに送信して該フィルタ雛型に基づくフィルタルールによる監視を行わせるものとした。しかしながら、送信するルールは、フィルタルールに限らない。例えば、ＩＤＳ（Intrusion Detection System）やＩＰＳ（Intrusion Prevention System）に用いられる不正アクセスを検知するためのルール（シグネチャやアノマリと呼ばれることもある）の雛型をサービスごとに定義してもよい。このとき、雛型では、通信の宛先（Ｔｏ−ＩＦ）や送信元（Ｆｒｏｍ−ＩＦ）を示す箇所にフィルタ雛型テーブル１１２，１１３のように、“＜Ｌｏｃａｌ＞”、“＜Ｕｓｅｒ＞”、“＜ＳａａＳ＞”などの文字列を設定しておく。そして、サービスが選択されたときに、該サービスを利用するためのソフトウェアを実行させる仮想マシンに、該ルールの雛型を送信して、各文字列を各仮想マシンのネットワークＩＦの識別情報に置換させる。このようにすれば、フィルタルールと同様に、サービスごとの不正アクセス検知のためのルールを、仮想ルータに容易に設定することが可能となる。
【符号の説明】
【０１５５】
１，２  情報処理装置
１ａ  記憶部
１ｂ  制御部
２ａ  仮想ルータ
２ｂ  仮想マシン
【図１】
0005824911.tif 000002
【図２】
0005824911.tif 000003
【図３】
0005824911.tif 000004
【図４】
0005824911.tif 000005
【図５】
0005824911.tif 000006
【図６】
0005824911.tif 000007
【図７】
0005824911.tif 000008
【図８】
0005824911.tif 000009
【図９】
0005824911.tif 000010
【図１０】
0005824911.tif 000011
【図１１】
0005824911.tif 000012
【図１２】
0005824911.tif 000013
【図１３】
0005824911.tif 000014
【図１４】
0005824911.tif 000015
【図１５】
0005824911.tif 000016