(57)【要約】【課題】対象システムどうしでＩＰアドレスが重複した場合でも通信を仲介すること。【解決手段】通信制御システム（１０）は、ユーザが操作するユーザ端末（２０）と、ＩＰアドレスが重複する組み合わせを含む複数の対象システム（３０）と、の通信を仲介する。複数のルータ（１２０）のそれぞれは、何れか一つの対象システム（３０）と通信し、各対象システム（３０）とは異なるネットワーク内に、対象システム（３０）ごとに用意されている。転送手段（１１３）は、ＩＰアドレスが重複する複数の対象システム（３０）の何れかと通信するユーザ端末（２０）から受信したパケットを、当該複数の対象システム（３０）のうちユーザ端末（２０）の通信先の対象システム（３０）と通信するルータに転送する。転送手段（１１３）が転送したパケットを受信したルータ（１２０）は、そのパケットを、そのルータ（１２０）の通信先の対象システム（３０）に転送する。【選択図】図２
2015133639.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが操作するユーザ端末と、ＩＰアドレスが重複する組み合わせを含む複数の対象システムと、の通信を仲介する通信制御システムであって、
何れか一つの対象システムと通信するルータであって、各対象システムとは異なるネットワーク内に、対象システムごとに用意された複数のルータと、
ＩＰアドレスが重複する複数の対象システムの何れかと通信する前記ユーザ端末から受信したパケットを、ＩＰアドレスが重複する当該複数の対象システムのうち、前記ユーザ端末の通信先の対象システムと通信するルータに転送する転送手段と、
を含み、
前記転送手段が転送したパケットを受信したルータは、そのパケットを、そのルータの通信先の対象システムに転送する、
ことを特徴とする通信制御システム。
【請求項２】
前記通信制御システムは、
各対象システムに対応するＩＰアドレスであって、他の対象システムとは重複しない管理用ＩＰアドレスと、その対象システムと通信するルータと、の関連付けを記憶する手段の記憶内容を取得する手段を更に含み、
前記転送手段は、前記ユーザ端末から受信したパケットを、そのパケットの送信先が示す管理用ＩＰアドレスに関連付けられたルータに転送し、
前記転送手段が転送したパケットを受信したルータは、そのパケットの送信先を、その送信先に対応する対象システムのＩＰアドレスに変換して転送する、
ことを特徴とする請求項１に記載の通信制御システム。
【請求項３】
各ルータは、そのルータの通信先の対象システムから受信したパケットの送信元を、その対象システムに対応する管理用ＩＰアドレスに変換し、
前記通信制御システムは、
前記送信元が変更されたパケットを、前記ユーザ端末に転送する手段、
を更に含むことを特徴とする請求項２に記載の通信制御システム。
【請求項４】
前記通信制御システムは、少なくとも一つの対象システムとＩＰアドレスが重複し、
その対象システムは、ＩＰアドレスを変換するルータを含み、
その対象システムと通信する前記通信制御システム内のルータは、前記転送手段が転送したパケットの送信元を、その対象システム内のルータによる変換後のＩＰアドレスとは異なるＩＰアドレスに変換して転送する、
ことを特徴とする請求項１〜３の何れかに記載の通信制御システム。
【請求項５】
ユーザが操作するユーザ端末と、ＩＰアドレスが重複する組み合わせを含む複数の対象システムと、の通信を仲介する通信制御方法であって、
何れか一つの対象システムと通信するルータであって、各対象システムとは異なるネットワーク内に、対象システムごとに用意された複数のルータのうち、ＩＰアドレスが重複する複数の対象システムの何れかと通信する前記ユーザ端末から受信したパケットを、ＩＰアドレスが重複する当該複数の対象システムのうち、前記ユーザ端末の通信先の対象システムと通信するルータに転送する転送ステップと、
前記転送ステップにおいて転送されたパケットを受信したルータが、そのパケットを、そのルータの通信先の対象システムに転送するステップと、
を含むことを特徴とする通信制御方法。
【請求項６】
ユーザが操作するユーザ端末と、ＩＰアドレスが重複する組み合わせを含む複数の対象システムと、の通信を仲介するコンピュータを、
何れか一つの対象システムと通信するソフトウェアルータであって、各対象システムとは異なるネットワーク内に、対象システムごとに用意された複数のソフトウェアルータ、
ＩＰアドレスが重複する複数の対象システムの何れかと通信する前記ユーザ端末から受信したパケットを、ＩＰアドレスが重複する当該複数の対象システムのうち、前記ユーザ端末の通信先の対象システムと通信するルータに転送する転送手段、
として機能させるためのプログラムであって、
前記転送手段が転送したパケットを受信したソフトウェアルータは、そのパケットを、そのソフトウェアルータの通信先の対象システムに転送する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御システム、通信制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来から、ユーザが操作するユーザ端末と、通信先の対象システムと、の通信を仲介する技術が知られている。特許文献１には、ユーザＩＤとパスワードをユーザ端末から取得してログイン処理を実行し、ユーザ端末から対象システムへのアクセスを中継する通信制御システムが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−０７７９９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
対象システムの管理者は、その対象システム内でＩＰアドレスが重複しないように、ＩＰアドレスの設定作業を行っている。しかしながら、互いに管理主体が異なる複数の対象システムが存在する場合には、それぞれの管理者が独自にＩＰアドレスを付与するので、対象システムどうしでＩＰアドレスが重複することがある。この場合、通信制御システムがユーザ端末からパケットを受信したとしても、そのパケットを、どの対象システムに送るべきかを特定することができない可能性がある。
【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、対象システムどうしでＩＰアドレスが重複した場合でも通信を仲介することが可能な通信制御システム、通信制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る通信制御システムは、ユーザが操作するユーザ端末と、ＩＰアドレスが重複する組み合わせを含む複数の対象システムと、の通信を仲介する通信制御システムであって、何れか一つの対象システムと通信するルータであって、各対象システムとは異なるネットワーク内に、対象システムごとに用意された複数のルータと、ＩＰアドレスが重複する複数の対象システムの何れかと通信する前記ユーザ端末から受信したパケットを、ＩＰアドレスが重複する当該複数の対象システムのうち、前記ユーザ端末の通信先の対象システムと通信するルータに転送する転送手段と、を含み、前記転送手段が転送したパケットを受信したルータは、そのパケットを、そのルータの通信先の対象システムに転送する、ことを特徴とする。
【０００７】
本発明に係る通信制御方法は、ユーザが操作するユーザ端末と、ＩＰアドレスが重複する組み合わせを含む複数の対象システムと、の通信を仲介する通信制御方法であって、何れか一つの対象システムと通信するルータであって、各対象システムとは異なるネットワーク内に、対象システムごとに用意された複数のルータのうち、ＩＰアドレスが重複する複数の対象システムの何れかと通信する前記ユーザ端末から受信したパケットを、ＩＰアドレスが重複する当該複数の対象システムのうち、前記ユーザ端末の通信先の対象システムと通信するルータに転送する転送ステップと、前記転送ステップにおいて転送されたパケットを受信したルータが、そのパケットを、そのルータの通信先の対象システムに転送するステップと、を含むことを特徴とする。
【０００８】
本発明に係るプログラムは、ユーザが操作するユーザ端末と、ＩＰアドレスが重複する組み合わせを含む複数の対象システムと、の通信を仲介するコンピュータを、何れか一つの対象システムと通信するソフトウェアルータであって、各対象システムとは異なるネットワーク内に、対象システムごとに用意された複数のソフトウェアルータ、ＩＰアドレスが重複する複数の対象システムの何れかと通信する前記ユーザ端末から受信したパケットを、ＩＰアドレスが重複する当該複数の対象システムのうち、前記ユーザ端末の通信先の対象システムと通信するルータに転送する転送手段、として機能させるためのプログラムであって、前記転送手段が転送したパケットを受信したソフトウェアルータは、そのパケットを、そのソフトウェアルータの通信先の対象システムに転送する、ことを特徴とする。
【０００９】
また、本発明の一態様では、前記通信制御システムは、各対象システムに対応するＩＰアドレスであって、他の対象システムとは重複しない管理用ＩＰアドレスと、その対象システムと通信するルータと、の関連付けを記憶する手段の記憶内容を取得する手段を更に含み、前記転送手段は、前記ユーザ端末から受信したパケットを、そのパケットの送信先が示す管理用ＩＰアドレスに関連付けられたルータに転送し、前記転送手段が転送したパケットを受信したルータは、そのパケットの送信先を、その送信先に対応する対象システムのＩＰアドレスに変換して転送する、ことを特徴とする。
【００１０】
また、本発明の一態様では、各ルータは、そのルータの通信先の対象システムから受信したパケットの送信元を、その対象システムに対応する管理用ＩＰアドレスに変換し、前記通信制御システムは、前記送信元が変更されたパケットを、前記ユーザ端末に転送する手段、を更に含むことを特徴とする。
【００１１】
また、本発明の一態様では、前記通信制御システムは、少なくとも一つの対象システムとＩＰアドレスが重複し、その対象システムは、ＩＰアドレスを変換するルータを含み、その対象システムと通信する前記通信制御システム内のルータは、前記転送手段が転送したパケットの送信元を、その対象システム内のルータによる変換後のＩＰアドレスとは異なるＩＰアドレスに変換して転送する、ことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、対象システムどうしでＩＰアドレスが重複した場合でも通信を仲介することが可能になる。
【図面の簡単な説明】
【００１３】
【図１】情報処理システムの全体構成の一例を示す図である。
【図２】情報処理システムで実現される機能を示す機能ブロック図である。
【図３】スタティックルートの格納例を示す図である。
【図４】データ記憶部に記憶されるアドレス変換テーブルの格納例を示す図である。
【図５】データ記憶部に記憶されるアドレス変換テーブルの格納例を示す図である。
【図６】パケットが送受信される様子を示す図である。
【図７】情報処理システムで実行される処理を示す図である。
【図８】情報処理システムで実行される処理を示す図である。
【図９】コンソール画面の一例を示す図である。
【図１０】実施形態２において実現される機能を説明するための図である。
【発明を実施するための形態】
【００１４】
［１．実施形態１］
以下、本発明の実施形態の例について図面に基づき詳細に説明する。本実施形態では、本発明に係る通信制御システムを、例えば、クラウドコンピューティングを用いた情報処理システムに適用した場合について説明する。
【００１５】
［１−１．情報処理システムのハードウェア構成］
図１は、情報処理システムの全体構成の一例を示す図である。図１に示すように、情報処理システム１は、通信制御システム１０、複数のユーザ端末２０、及び複数の対象システム３０（以降、必要に応じて、対象システム３０Ａ及び３０Ｂと記載して区別する。）を含む。これらは、ネットワーク（例えば、ＶＰＮ：Virtual Private Network）を介してデータ送受信可能に接続されている。ユーザ端末２０は、通信制御システム１０を経由して対象システム３０にアクセスすることになり、対象システム３０と直接的にアクセスすることができないようになっている。
【００１６】
通信制御システム１０は、ユーザ端末２０と対象システム３０との通信を仲介する。通信制御システム１０は、通信制御サーバ１１を含む。通信制御サーバ１１は、サーバコンピュータであり、例えば、所与のプロトコル（例えば、ＳＳＨ：Secure ShellやＲＤＰ：Remote Desktop Protocol）のもとで各種情報を送受信する。なお、ここでは、説明の簡略化のため、通信制御サーバ１１を１台として説明し、その通信制御サーバ１１内で、ヴァーチャルマシンやソフトウェアルータが実現される場合を説明するが、通信制御サーバ１１は複数台あってもよい。
【００１７】
図１に示すように、通信制御サーバ１１は、制御部１２、記憶部１３、及び通信部１４を含む。制御部１２は、例えば、一又は複数のマイクロプロセッサを含む。制御部１２は、記憶部１３に記憶されたオペレーティングシステムやプログラムに従って各種処理を実行する。記憶部１３は、主記憶部及び補助記憶部を含む。例えば、主記憶部はＲＡＭであり、補助記憶部は、ハードディスク又はソリッドステートドライブ等である。通信部１４は、ネットワークカードを含む。通信部１４は、ネットワークを介してデータ通信を行うためのものである。
【００１８】
なお、通信制御サーバ１１は、コンピュータ読み取り可能な情報記憶媒体（例えば、メモリカード）に記憶されたプログラムやデータを読み出すための構成要素（例えば、メモリカードスロット）を含むようにしてもよい。また、本実施形態において、記憶部１３に記憶されるものとして説明するプログラムやデータは、通信部１４を介して外部コンピュータから記憶部１３に供給されるようにしてもよい。
【００１９】
ユーザ端末２０は、ユーザが操作するコンピュータであり、例えば、パーソナルコンピュータやタブレット型端末等である。なお、本実施形態では、対象システム３０に実行させるコマンドを入力する作業者（例えば、メンテナンスを行う特権ユーザやシステムエンジニア）が、ユーザに相当する。図１に示すように、ユーザ端末２０は、制御部２１、記憶部２２、通信部２３、操作部２４、及び表示部２５を含む。なお、制御部２１、記憶部２２、及び通信部２３のハードウェア構成は、制御部１２、記憶部１３、及び通信部１４と同様であるので説明を省略する。
【００２０】
操作部２４は、公知の入力デバイスであり、例えば、マウスやキーボード、タッチパネル等である。操作部２４は、ユーザによる操作内容を制御部２１に伝達する。表示部２５は、例えば、液晶表示部又は有機ＥＬ表示部等である。表示部２５は、制御部２１の指示に従って画面を表示する。
【００２１】
対象システム３０は、ユーザの通信先のシステムである。例えば、各対象システム３０は、複数のユーザによるアクセスが可能であり、各ユーザが入力したコマンドを実行する。また、ここでは、各対象システム３０の管理主体（例えば、会社）が異なっており、それぞれで独自にＩＰアドレス（プライベートアドレス）の管理が行われている。このため、ＩＰアドレスが他の対象システム３０と重複する対象システム３０の組み合わせが存在しているものとする。例えば、会社Ａが、対象システム３０Ａの各装置のＩＰアドレスを付与し、会社Ａとは異なる会社Ｂが、対象システム３０Ｂの各装置のＩＰアドレスを付与している。
【００２２】
各対象システム３０は、対象サーバ３１を含む。対象サーバ３１は、サーバコンピュータである。なお、ここでは、説明の簡略化のため、各対象システム３０内の対象サーバ３１を１台とし、その対象サーバ３１内で、ヴァーチャルマシンやソフトウェアルータが実現される場合を説明するが、対象サーバ３０は複数台あってもよい。更に、対象システム３０には、ルータなどの通信機器やデータベースサーバなどが含まれていてもよい。
【００２３】
図１に示すように、対象サーバ３１は、制御部３２、記憶部３３、及び通信部３４を含む。制御部３２、記憶部３３、及び通信部３４のハードウェア構成は、制御部１２、記憶部１３、及び通信部１４と略同様であるので説明を省略する。例えば、情報処理システム１の利用者が利用するアプリケーションや各種データは、対象サーバ３１の記憶部３３で管理される。各利用者は、対象サーバ３１にアクセスして、これらアプリケーションや各種データを利用する。
【００２４】
［１−２．情報処理システムにおける処理の概要］
情報処理システム１では、通信制御システム１０が、ユーザ端末２０と対象システム３０との通信を仲介することによって、例えば、ユーザの操作ログを記録するサービスを提供している。以降、ある会社Ｚが、新たにサービスの利用登録を行う手順に沿って、情報処理システム１が実行する処理の概要を説明する。
【００２５】
まず、会社Ｚは、その会社Ｚに所属するユーザに関する各種情報（例えば、ユーザの氏名や所属、通信制御システム１０へのログインアカウント等）を、通信制御システム１０に登録する。そして、通信制御システム１０は、各ユーザが通信制御システム１０にログインするための認証情報を発行する。認証情報は、プロトコルで規定された認証時に使用する情報であればよく、例えば、認証キー（証明書）やパスワードなどである。
【００２６】
そして、会社Ｚは、自身が管理する対象システム３０（即ち、情報処理システム１に新たに追加する対象システム３０）に関する情報を、通信制御システム１０に登録する。例えば、その対象システム３０内の各サーバ名、そのＩＰアドレス、使用するプロトコルの種別、そのサーバへのログインアカウント、そのサーバへの認証情報などを登録する。認証情報は、上記と同様に、プロトコルで規定された情報（認証キーやパスワード）であればよい。
【００２７】
会社Ｚは、ユーザに関する情報と、対象システム３０に関する情報と、を登録すると、これらの紐付け作業を行う。例えば、ユーザごとにアクセス可能なサーバを異ならせる場合には、会社Ｚは、自身の対象システム３０内のサーバのうち、各ユーザがアクセス可能なサーバを指定して、通信制御システム１０に登録する。
【００２８】
その後、会社Ｚは、通信制御システム１０を介して対象システム３０にアクセスするためのネットワーク設定を行う。ここでは、通信制御システム１０内のネットワーク設定と、対象システム３０内のネットワーク設定と、が必要になる。詳細は後述するが、本実施形態では、ソフトウェアルータが用いられるので、通信制御システム１０及び対象システム３０のそれぞれのソフトウェアルータの設定作業が行われる。例えば、通信制御システム１０内のソフトウェアルータと、新たに追加する対象システム３０と、の紐付け作業が行われる。なお、通信制御システム１０のソフトウェアルータは、予め用意されたものを使用してもよいし、利用登録時に新たに作成するようにしてもよい。
【００２９】
上記の利用登録が完了すると、会社Ｚは、サービスを利用できるようになる。ここでは、ユーザが対象システム３０にアクセスする場合、そのユーザは、いったん通信制御システム１０にログインし、その後、通信制御システム１０を介して対象システム３０にログインをする。これは、ＳＳＨなどの暗号化通信が行われる場合には、ユーザが入力したコマンドやその実行結果も暗号化されているので、プロトコルを通信制御システム１０でいったん終了して復号化を行うことで、操作ログを確実に取得するためである。
【００３０】
本実施形態では、先述のように、ＩＰアドレスが重複する対象システム３０の組み合わせが存在するので、通信制御システム１０では、対象システム３０ごとに専用のソフトウェアルータを用意している。そして、通信制御サーバ１１は、各対象システム３０内のヴァーチャルマシンごとに、重複しないように管理用ＩＰアドレスを割り当てている。
【００３１】
このため、各対象システム３０内のヴァーチャルマシンの本当のＩＰアドレスが重複していたとしても、管理用ＩＰアドレスによって、これらのヴァーチャルマシンを識別できるようになっている。即ち、通信制御システム１０は、ユーザ端末２０から受け取ったパケットの送信先が示す管理用ＩＰアドレスを参照することで、どの対象システム３０のどのヴァーチャルマシン宛てなのかを特定することができる。
【００３２】
そして、通信制御システム１０は、その特定したヴァーチャルマシンを含む対象システム３０の通信を担当するソフトウェアルータにパケットを振り分けることで、対象システム３０どうしでＩＰアドレスが重複していても通信を仲介できる構成になっている。以降、当該技術の詳細について説明する。
【００３３】
［１−３．情報処理システムにおいて実現される機能］
図２は、情報処理システム１で実現される機能を示す機能ブロック図である。ここでは、通信制御システム１０及び対象システム３０で実現される機能について説明する。なお、図２において、ゲートウェイ１１０、ソフトウェアルータ１２０、ヴァーチャルマシン３１０、及びソフトウェアルータ３２０の名称の下に記載した数値は、それぞれのＩＰアドレスである。
【００３４】
［対象システムで実現される機能］
各対象システム３０では、ヴァーチャルマシン３１０及びソフトウェアルータ３２０が実現される。ヴァーチャルマシン３１０及びソフトウェアルータ３２０は、一つであってもよいし、複数であってもよい。これらは、制御部３２、記憶部３３、及び通信部３４を主として実現される。
【００３５】
以降、対象システム３０ごとにヴァーチャルマシン３１０を区別する必要があるときは、ヴァーチャルマシン３１０Ａ及び３１０Ｂと記載する。更に、対象システム３０内でヴァーチャルマシン３１０を区別する必要があるときは、ヴャーチャルマシン３１０Ａ１〜３１０Ａ３のように記載する。同様に、対象システム３０ごとにソフトウェアルータ３２０や後述のデータ記憶部３２１を区別する必要があるときは、ソフトウェアルータ３２０Ａ及び３２０Ｂやデータ記憶部３２１Ａ及び３２１Ｂと記載する。
【００３６】
ヴァーチャルマシン３１０は、仮想的なサーバコンピュータである。別の言い方をすれば、ヴァーチャルマシン３１０は、ユーザの通信先となる仮想機器であり、ユーザが入力したコマンドを実行する。各ヴァーチャルマシン３１０には、その対象システム３０内で有効なＩＰアドレス（プライベートアドレス）が割り当てられている。例えば、各ヴァーチャルマシン３１０のＩＰアドレスの割り当ては、その対象システム３０内の管理者により行われる。このため、図２に示す例では、ヴァーチャルマシン３１０Ａ１〜３１０Ａ３の少なくとも一つと、ヴァーチャルマシン３１０Ｂ１〜３１０Ｂ３の少なくとも一つと、はＩＰアドレスが重複している。
【００３７】
ソフトウェアルータ３２０は、仮想的なルータである。ソフトウェアルータ３２０は、各ヴァーチャルマシン３１０と通信制御システム１０との通信を仲介する。また、ソフトウェアルータ３２０は、データ記憶部３２１を含み、そのソフトウェアルータ３２０の設定情報（例えば、ルーティングテーブル）を記憶する。
【００３８】
例えば、ソフトウェアルータ３２０の設定は、対象システム３０の管理者により行われる。サービスの利用登録時に、ソフトウェアルータ３２０には、ゲートウェイ１１０向けのスタティックルートの設定が追加される。例えば、ゲートウェイ１１０のＩＰアドレスが送信先の場合のネクストホップが、そのソフトウェアルータ３２０のＩＰアドレスに設定される。図２に示すように、ソフトウェアルータ３２０ＡのＩＰアドレスは、ソフトウェアルータ３２０ＢのＩＰアドレスと重複してもよい。
【００３９】
なお、ヴァーチャルマシン３１０やソフトウェアルータ３２０を実現するための機器仮想化技術自体は、公知の種々の技術を適用可能である。後述のゲートウェイ１１０やソフトウェアルータ１２０についても同様である。更に、実施形態１では、対象システム３０側のＩＰアドレス（ヴァーチャルマシン３１０やソフトウェアルータ３２０のＩＰアドレス）は、通信制御システム１０側のＩＰアドレス（ゲートウェイ１１０やソフトウェアルータ１２０のＩＰアドレス）と重複しないようになっている。
【００４０】
［通信制御システムで実現される機能］
通信制御システム１０では、ゲートウェイ１１０及び複数のソフトウェアルータ１２０が実現される。なお、ゲートウェイ１１０は、複数であってもよい。これらは、制御部１２、記憶部１３、及び通信部１４を主として実現される。以降、必要に応じて、ソフトウェアルータ１２０Ａ及び１２０Ｂやデータ記憶部１２１Ａ及び１２１Ｂと記載して区別する。
【００４１】
ゲートウェイ１１０は、仮想的なサーバコンピュータである。ゲートウェイ１１０は、ユーザ端末２０から受信したパケットを、何れかのソフトウェアルータ１２０に転送したり、各ソフトウェアルータ１２０を介して各対象システム３０から受信したパケットをユーザ端末２０に転送したりする。また、ゲートウェイ１１０は、ユーザの操作ログを取得して記録する。
【００４２】
本実施形態では、ゲートウェイ１１０は、データ記憶部１１１、取得部１１２、及び転送部１１３を含む。
【００４３】
データ記憶部１１１は、各ソフトウェアルータ１２０の通信先を識別するデータを記憶する。例えば、データ記憶部１１１は、各対象システム３０に対応するＩＰアドレスであって、他の対象システム３０とは重複しない管理用ＩＰアドレスと、その対象システム３０と通信するソフトウェアルータ１２０と、の関連付けを示すスタティックルートを記憶する。取得部１１２は、データ記憶部１１１の記憶内容（ここでは、スタティックルート）を取得する。
【００４４】
図３は、スタティックルートの格納例を示す図である。図３に示すように、スタティックルートには、ゲートウェイ１１０が管理する管理用ＩＰアドレスと、ソフトウェアルータ１２０を識別する情報（例えば、そのＩＰアドレス）と、が関連付けられている。
【００４５】
管理用ＩＰアドレスは、各対象システム３０内のヴァーチャルマシン３１０を一意に識別するためのプライベートアドレスである。管理用ＩＰアドレスは、対象システム３０どうしで重複しないようになっている。別の言い方をすれば、管理用ＩＰアドレスと、各対象システム３０内のヴァーチャルマシン３１０と、は一対一の関係にある。
【００４６】
管理用ＩＰアドレスに関連付けられているソフトウェアルータ１２０は、その管理用ＩＰアドレスに対応するヴァーチャルマシン３１０の対象システム３０と通信をするソフトウェアルータ１２０である。別の言い方をすれば、各ソフトウェアルータ１２０には、その通信先の対象システム３０内の各ヴァーチャルマシン３１０に対応する管理用ＩＰアドレスが関連付けられていることになる。
【００４７】
図３に示すデータ格納例では、ヴァーチャルマシン３１０Ａ１〜３１０Ａ３の管理用ＩＰアドレスには、対象システム３０Ａと通信するソフトウェアルータ１２０Ａが関連付けられている。一方、ヴァーチャルマシン３１０Ｂ１〜３１０Ｂ３の管理用ＩＰアドレスには、対象システム３０Ｂと通信するソフトウェアルータ１２０Ｂが関連付けられている。
【００４８】
例えば、スタティックルートは、ヴァーチャルマシン３１０が新たに追加されると更新される。新たにヴァーチャルマシン３１０が追加されると、そのヴァーチャルマシンに対応する管理用ＩＰアドレスが発行され、その対象システム３０と通信するソフトウェアルータ１２０に関連付けられる。新たに発行される管理用ＩＰアドレスは、既に発行された管理用ＩＰアドレスとは重複しないようになっている。管理用ＩＰアドレスの設定は、通信制御システム１０の管理者により行われるようにしてもよいし、通信制御システム１０により自動化されていてもよい。
【００４９】
転送部１１３は、ＩＰアドレスが重複する複数の対象システム３０の何れかと通信するユーザ端末２０から受信したパケットを、ＩＰアドレスが重複する当該複数の対象システム３０のうちユーザ端末２０の通信先の対象システム３０と通信するソフトウェアルータ１２０に転送する。転送部１１３は、ユーザ端末２０の通信先の対象システム３０を特定し、複数のソフトウェアルータ１２０のうち、当該特定した対象システム３０と通信するソフトウェアルータ１２０に、ユーザ端末２０から受信したパケットを転送する。
【００５０】
ここでは、ユーザ端末２０が送信するパケットの送信先は、通信先の対象システム３０のヴァーチャルマシン３１０の本当のＩＰアドレスではなく、そのヴァーチャルマシン３１０の管理用ＩＰアドレスとなっている。このため、転送部１１３は、ユーザ端末２０から受信したパケットを、そのパケットの送信先が示す管理用ＩＰアドレスに関連付けられたソフトウェアルータ１２０に転送することになる。転送部１１３は、スタティックルートを参照することで、パケットの送信先の管理用ＩＰアドレスに対応するヴァーチャルマシン３１０を特定する。そして、転送部１１３は、そのヴァーチャルマシン３１０の対象システム３０との通信を行うソフトウェアルータ１２０にパケットを転送する。
【００５１】
各ソフトウェアルータ１２０は、仮想的なルータである。各ソフトウェアルータ１２０は、何れか一つの対象システム３０と通信する。各ソフトウェアルータ１２０は、各対象システムとは異なるネットワーク内に、対象システム３０ごとに用意されている。即ち、各ソフトウェアルータ１２０は、対象システム３０外にあってネットワークアドレスが異なっている。各ソフトウェアルータ１２０は、ゲートウェイ１１０と、自分の通信先の一の対象システム３０（例えば、その対象システム３０内のソフトウェアルータ３２０）と、の通信を仲介する。なお、各ソフトウェアルータ１２０は、ＩＰアドレスが重複しないようになっている。
【００５２】
各ソフトウェアルータ１２０は、データ記憶部１２１を含む。データ記憶部１２１は、ソフトウェアルータ１２０の設定情報（例えば、ルーティングテーブル）を記憶する。例えば、各ソフトウェアルータ１２０には、そのソフトウェアルータ１２０がルーティングを担当する対象システム３０が一つとなるように、ルーティングテーブルが定められている。このため、各ソフトウェアルータ１２０は、複数の対象システム３０への通信を行わないようになっている。なお、ソフトウェアルータ１２０と対象システム３０とが、一対一の関係にある場合を説明するが、これらは多対一の関係にあってもよい。
【００５３】
転送部１１３が転送したパケットを受信したソフトウェアルータ１２０は、そのパケットを、そのソフトウェアルータ１２０の通信先の対象システム３０に転送する。即ち、各ソフトウェアルータ１２０は、転送部１１３から受信したパケットを、複数の対象システム３０のうち、そのソフトウェアルータ１２０の通信先の対象システム３０に転送する。
【００５４】
本実施形態では、データ記憶部１２１は、管理用ＩＰアドレスと、ヴァーチャルマシン３１０のＩＰアドレスと、の関係を示すアドレス変換テーブルを記憶する。ここでは、ＤＮＡＴ（Destination Network Address Translation）のルールに従って、アドレス変換がおこなわれるものとする。
【００５５】
図４は、データ記憶部１２１Ａに記憶されるアドレス変換テーブルの格納例を示す図である。図４に示すように、アドレス変換テーブルには、対象システム３０Ａ内のヴァーチャルマシン３１０Ａ１〜３１０Ａ３のそれぞれに対応する管理用ＩＰアドレスと、そのヴァーチャルマシン３１０Ａ１〜３１０Ａ３の本当のＩＰアドレス（図４では、「元のＩＰアドレス」と記載する。）と、が関連付けられている。
【００５６】
図５は、データ記憶部１２１Ｂに記憶されるアドレス変換テーブルの格納例を示す図である。図５に示すように、アドレス変換テーブルには、対象システム３０Ｂ内のヴァーチャルマシン３１０Ｂ１〜３１０Ｂ３のそれぞれに対応する管理用ＩＰアドレスと、そのヴァーチャルマシン３１０Ｂ１〜３１０Ｂ３の本当のＩＰアドレスと、が関連付けられている。図４及び図５に示す例では、ヴァーチャルマシン３１０Ａ１と、ヴァーチャルマシン３１０Ｂ１と、は本当のＩＰアドレスが同一であるが、管理用ＩＰアドレスが異なるようになっている。
【００５７】
各ソフトウェアルータ１２０のルーティングテーブルやアドレス変換テーブルは、そのソフトウェアルータ１２０の通信先の対象システム３０に、ヴァーチャルマシン３１０が新たに追加されると更新される。例えば、新たにヴァーチャルマシン３１０が追加されると、そのヴァーチャルマシン３１０に対応する管理用ＩＰアドレスと、その対象システム３０のＩＰアドレスと、の関連付けが、アドレス変換テーブルに追加されることになる。これらの設定は、通信制御システム１０の管理者により行われるようにしてもよいし、通信制御システム１０により自動化されていてもよい。
【００５８】
次に、通信制御システム１０が対象システム３０にパケットを送信して、対象システム３０から通信制御システム１０にパケットが戻るまでに行われるアドレス変換について説明する。
【００５９】
図６は、パケットが送受信される様子を示す図である。ここでは、ユーザがヴァーチャルマシン３１０Ａ３にアクセスする場合を例に挙げて説明する。まず、図６に示すように、転送部１１３が転送するパケットの送信元は、ゲートウェイのＩＰアドレス「10.200.189.32」であり、送信先は、ヴァーチャルマシン３１０Ａ３の管理用ＩＰアドレス「10.100.1.5」となる。
【００６０】
転送部１１３が転送したパケットを受信したソフトウェアルータ１２０Ａは、そのパケットの送信先を、その送信先に対応する対象システム３０ＡのＩＰアドレスに変換して転送する。図６に示すように、ソフトウェアルータ１２０Ａは、パケットの送信先を、ヴァーチャルマシン３１０Ａ３の本当のＩＰアドレス「192.168.1.4」に書き換える。例えば、ソフトウェアルータ１２０は、アドレス変換テーブルを参照して、受信したパケットの送信先を、その送信先に関連付けられたＩＰアドレスに書き換えたうえで、そのソフトウェアルータ１２０の通信先の対象システム３０に送信することになる。
【００６１】
そして、ヴァーチャルマシン３１０Ａ３が送信するパケット（戻りパケット）の送信元は、ヴァーチャルマシン３１０Ａ３の本当のＩＰアドレス「192.168.1.4」となり、送信先はゲートウェイのＩＰアドレス「10.200.189.32」となる。ソフトウェアルータ１２０Ａは、そのソフトウェアルータ１２０Ａの通信先の対象システム３０Ａから受信したパケットの送信元を、その対象システム３０に対応する管理用ＩＰアドレスに変換する。図６に示すように、ソフトウェアルータ１２０Ａは、ＤＮＡＴのルールに従い、パケットの送信元を、ヴァーチャルマシン３１０Ａ３の管理用ＩＰアドレス「10.100.1.5」に書き換える。例えば、ソフトウェアルータ１２０は、アドレス変換テーブルを参照して、受信したパケットの送信元を、その送信元に関連付けられた管理用ＩＰアドレスに書き換えたうえで、ゲートウェイ１１０に転送することになる。
【００６２】
上記のように、各ソフトウェアルータ１２０では、ＤＮＡＴのルールに従い、対象システム３０に送信するパケットの送信先のアドレス変換を行い、対象システム３０から戻ってくるパケットの送信元のアドレス変換を行う。
【００６３】
なお、各ソフトウェアルータ１２０がパケットを転送すべきゲートウェイ１１０を識別する情報（例えば、ゲートウェイ１１０のＩＰアドレス）は、そのソフトウェアルータ１２０のルーティングテーブル等に予め記憶されているものとする。
【００６４】
ゲートウェイ１１０の転送部１１３は、送信元が変更されたパケット（即ち、対象システム３０からの戻りパケット）を、ユーザ端末２０に転送することになる。このため、ユーザ端末２０が受け取るパケットでは、通信相手のヴァーチャルマシン３１０の本当のＩＰアドレスではなく、あくまで、管理用ＩＰアドレスに変換されたものとなっている。
【００６５】
［１−４．実施形態において実行される処理］
図７及び図８は、情報処理システム１で実行される処理を示す図である。図７及び図８に示す処理が実行されることにより、各機能ブロックが実現される。制御部１２，２１，３２が、それぞれ記憶部１３，２２，３３に記憶されたプログラムに従って動作することにより、下記の処理が実行される。
【００６６】
なお、下記に説明する処理が実行されるにあたり、通信制御システム１０とユーザ端末２０との間で第１の通信（例えば、ＳＳＨ）が確立されており、通信制御システム１０と対象システム３０との間で第２の通信（例えば、ＳＳＨ）が確立されているものとする。例えば、ユーザは、通信制御システム１０へのログインアカウントと、ユーザ端末２０の記憶部２２に記憶された認証キーと、を使って通信制御システム１０にログインした後に、通信先の対象システム３０内のヴャーチャルマシン３１０へのログインアカウントと、通信制御サーバ１１の記憶部１２に記憶された認証キーと、を使って、そのヴァーチャルマシン３１０にログインしているものとする。なお、ログイン時には、ユーザは、通信先のヴァーチャルマシン３１０の本当のＩＰアドレスを指定してもよいし、管理用ＩＰアドレスを指定してもよい。
【００６７】
図７に示すように、まず、ユーザ端末２０において、制御部２１は、コンソール画面を表示部２５に表示させる（Ｓ１）。図９は、コンソール画面の一例を示す図である。図９に示すように、ここでは、ユーザがすでにヴァーチャルマシン３１０にログインしており、そのヴァーチャルマシン３１０に実行させるコマンドの入力が可能な状態となっている。ユーザは、ログイン先のヴァーチャルマシン３１０に実行させるコマンドを、操作部２４を用いてコンソール画面４０から入力する。
【００６８】
制御部２１は、ユーザによるコマンドの入力を受け付ける（Ｓ２）。制御部２１は、ユーザの入力内容を暗号化して通信制御システム１０に送信する（Ｓ３）。Ｓ３においては、制御部２１は、ユーザが入力したコマンドやファイル名等の記号列を、記憶部２２に記憶された暗号化のための鍵（公開鍵や共通鍵）を用いて暗号化する。そして、制御部２１は、接続先のヴァーチャルマシン３１０の管理用ＩＰアドレスを送信先に設定したパケットに、暗号化した入力内容を格納して送信する。
【００６９】
通信制御システム１０においては、パケットを受信すると、制御部１２は、ゲートウェイ１１０に、それを復号化させて操作ログを記録させる（Ｓ４）。Ｓ４においては、制御部１２は、記憶部１３に記憶された復号化のための鍵（秘密鍵や共通鍵）を用いて、ユーザ端末２０から受信したパケットを復号化する。そして、制御部１２は、ユーザのログインアカウント、ユーザが入力したコマンドやファイル名等の記号列、通信先のヴァーチャルマシン３１０の名称やＩＰアドレス、及び現在の日時に関する情報を、記憶部１３に操作ログとして格納する。
【００７０】
なお、操作ログに格納されるヴァーチャルマシン３１０のＩＰアドレスは、本当のＩＰアドレスであってもよいし、管理用ＩＰアドレスであってもよい。また、これらの両方が格納されるようにしてもよい。また、操作ログの確認時には、管理用ＩＰアドレスが、本当のＩＰアドレスに変換されたうえで表示されるようにしてもよい。
【００７１】
制御部１２は、ゲートウェイ１１０に、スタティックルートを参照させてパケットを送るべきソフトウェアルータ１２０を特定させる（Ｓ５）。Ｓ５においては、制御部１２は、受信したパケットの送信先を参照する。そして、制御部１２は、その送信先の管理用ＩＰアドレスに関連付けられたソフトウェアルータ１２０を特定することになる。
【００７２】
制御部１２は、ゲートウェイ１１０に、再びパケットの暗号化をさせて、Ｓ５で特定したソフトウェアルータ１２０に送信させる（Ｓ６）。Ｓ６においては、制御部１２は、記憶部１３に記憶された暗号化のための鍵（公開鍵や共通鍵）を用いてパケットを暗号化する。なお、ゲートウェイ１１０と各ソフトウェアルータ１２０との間は、仮想ＩＰ接続されているものとする。
【００７３】
制御部１２は、Ｓ６で送信したパケットを受信したソフトウェアルータ１２０に、そのパケットのアドレス変換を実行させる（Ｓ７）。Ｓ７においては、制御部１２は、変換テーブルを参照して、パケットの送信先の管理用ＩＰアドレスを、対象サーバ３０のヴァーチャルマシン３１０のＩＰアドレスに変換する。
【００７４】
制御部１２は、ソフトウェアルータ１２０に、Ｓ７でアドレス変換したパケットを対象システム３０に送信させる（Ｓ８）。Ｓ８においては、制御部１２は、ソフトウェアルータ１２０の通信先の対象システム３０にパケットを送信する。
【００７５】
対象システム３０においては、パケットを受信すると、制御部３２は、ソフトウェアルータ３２０に転送させる（Ｓ９）。Ｓ９においては、制御部３２は、パケットの送信先のヴァーチャルマシン３１０に対してパケットを送信する。なお、対象システム３０においても、各ヴァーチャルマシン３１０とソフトウェアルータとの間で仮想ＩＰ接続が確立されているものとする。
【００７６】
図８に移り、制御部３２は、パケットを受信したヴァーチャルマシン３１０に、ユーザが入力したコマンドを実行させて、その実行結果を生成させる（Ｓ１０）。Ｓ１０においては、制御部３２は、記憶部３３に記憶された復号化のための鍵（秘密鍵や共通鍵）を用いて、受信したパケットを復号化する。そして、制御部３２は、ユーザが入力したコマンドの実行及びその実行結果の生成を行うことになる。
【００７７】
制御部３２は、コマンドを実行したヴァーチャルマシン３１０に、Ｓ１０で生成した実行結果を暗号化させ、ソフトウェアルータ３２０を介して通信制御システム１０に送信させる（Ｓ１１）。制御部３２は、記憶部３３に記憶された暗号化のための鍵（公開鍵や共通鍵）を用いてパケットを暗号化する。そして、制御部３２は、そのパケットの送信元を、ヴァーチャルマシン３１０のＩＰアドレスに設定して、ソフトウェアルータ３２０を介して通信制御システム１０に送信する。
【００７８】
通信制御システム１０においては、パケットを受信すると、制御部１２は、ソフトウェアルータ１２０に、アドレス変換を実行させる（Ｓ１２）。Ｓ１２においては、制御部１２は、アドレス変換テーブルを参照して、受信したパケットの送信元を、ヴァーチャルマシン３１０の本当のＩＰアドレスから、管理用ＩＰアドレスに変換する。
【００７９】
制御部１２は、ソフトウェアルータ１２０に、Ｓ１２でアドレスを変換したパケットをゲートウェイ１１０に転送させる（Ｓ１３）。なお、ゲートウェイ１１０のＩＰアドレスは、予め記憶部１３に記憶されており、ソフトウェアルータ１２０はそのＩＰアドレスを特定可能になっている。
【００８０】
制御部１２は、ゲートウェイ１１０に、受信したパケットの復号化をさせて、操作ログを記録させる（Ｓ１４）。Ｓ１４においては、制御部１２は、記憶部１３に記憶された復号化のための鍵（秘密鍵や共通鍵）を用いて、ソフトウェアルータ１２０から受信したパケットを復号化し、コマンドの実行結果を操作ログとして記憶部１３に記録する。
【００８１】
制御部１２は、ゲートウェイ１１０に、パケットを暗号化させてユーザ端末２０に送信させる（Ｓ１５）。Ｓ１５においては、制御部１２は、記憶部１３に記憶された暗号化のための鍵（公開鍵や共通鍵）を用いて、コマンドの実行結果を暗号化して送信する。
【００８２】
ユーザ端末２０においては、コマンドの実行結果を受信すると、制御部２１は、それを復号化して、コンソール画面４０に表示させ（Ｓ１６）、Ｓ２の処理に戻る。Ｓ１６においては、制御部２１は、記憶部２２に記憶された復号化のための鍵（秘密鍵や共通鍵）を用いて、コマンドの実行結果を復号化する。以降、ユーザがログアウトするまでＳ２〜Ｓ１６の処理が繰り返される。
【００８３】
以上説明した情報処理システム１によれば、対象システム３０ごとにソフトウェアルータ１２０を用意しておき、ユーザ端末２０から受信したパケットを、ゲートウェイ１１０に振り分けさせることで、対象システム３０どうしでＩＰアドレスが重複していたとしても、通信を仲介することが可能になる。
【００８４】
また、通信制御システム１０では、ヴァーチャルマシン３１０どうしで重複しないように管理用ＩＰアドレスが管理されているので、本当のＩＰアドレスが重複していたとしても、管理用ＩＰアドレスによって、どのヴァーチャルマシン３１０宛てのパケットなのかを特定することができる。更に、ソフトウェアルータ１２０に、管理用ＩＰアドレスを本当のＩＰアドレスに変換させることで、正確にルーティングを行うことができる。この点、ＩＰアドレスの変換を通信制御システム１０が行うので、対象システム３０側（即ち、サービスを受ける顧客側）の改修をする必要がないため、ユーザの利便性が向上する。
【００８５】
また例えば、プロキシを使用すれば通信の振り分けを行うことが一応は可能であるが、実施形態で説明した手法によれば、プロキシに対応していないプロトコル（例えば、ＲＤＰ）であっても、ゲートウェイ１１０がパケットを振り分けることで通信の仲介が可能になる。即ち、ユーザが使用するプロトコルに依存せず、通信の仲介が可能になるため、ユーザの利便性が向上する。
【００８６】
また、各ソフトウェアルータ１２０が対象システム３０から受信したパケットの送信先を管理用ＩＰアドレスに書き換えたうえでユーザ端末２０に転送されるので、ユーザ端末２０は、自分の通信先のヴァーチャルマシン３１０の管理用ＩＰアドレスを知ることができ、その管理用ＩＰアドレスを送信先にしてパケットを送信すれば、ヴァーチャルマシン３１０にパケットを送り届けることができる。
【００８７】
［２．実施形態２］
次に、情報処理システム１の別実施形態について説明する。実施形態１では、対象システム３０どうしのＩＰアドレスが重複している場合の通信制御について説明したが、実施形態２では、通信制御システム１０と対象システム３０の間でＩＰアドレスが重複する場合の通信制御について説明する。なお、ハードウェア構成は、実施形態２と同様であるため、説明を省略する。また、他の箇所についても、実施形態１と同様の部分については説明を省略する。
【００８８】
実施形態２では、通信制御システム１０は、少なくとも一つの対象システム３０とＩＰアドレスが重複している。また、ソフトウェアルータ１２０及びソフトウェアルータ３２０は、ともに、ＤＮＡＴ及びＳＮＡＴ（Source NAT）の機能を有する。
【００８９】
図１０は、実施形態２において実現される機能を説明するための図である。ここでは、ゲートウェイ１１０のＩＰアドレスと、ヴァーチャルマシン３１０Ａ３のＩＰアドレスと、が重複している場合を説明する。図１０に示すように、ゲートウェイ１１０から送信されたパケットの送信元は、ゲートウェイ１１０のＩＰアドレス「10.200.189.32」であり、送信先は、ヴァーチャルマシン３１０Ａ３の管理用ＩＰアドレス「10.100.1.5」となる。
【００９０】
ソフトウェアルータ１２０Ａは、パケットの送信元を、ゲートウェイ１１０の本当のＩＰアドレス「10.200.189.32」から仮のＩＰアドレス「172.16.1.1」に変換し、送信先を、ヴァーチャルマシン３１０Ａ３の管理用ＩＰアドレス「10.100.1.5」から仮のＩＰアドレス「192.168.1.4」に変換する。即ち、ソフトウェアルータ１２０Ａは、転送部１１３が転送したパケットの送信元を、対象システム３０のソフトウェアルータ３２０Ａによる変換後のＩＰアドレスとは異なるＩＰアドレスに変換して転送することで、ゲートウェイ１１０及びヴァーチャルマシン３１０Ａ３は、仮のＩＰアドレスが重複しないようになっている。
【００９１】
ソフトウェアルータ３２０Ａは、パケットの送信先を、ヴァーチャルマシン３１０Ａ３の仮のＩＰアドレス「192.168.1.4」から、本当のＩＰアドレス「10.200.189.32」に変換する。このため、パケットをヴァーチャルマシン３１０Ａ３に届けることができる。
【００９２】
一方、対象システム３０から通信制御システム１０に戻るパケットの送信元は、ヴァーチャルマシン３１０Ａ３の本当のＩＰアドレス「10.200.189.32」が設定され、送信先は、ゲートウェイ１１０の仮のＩＰアドレス「172.16.1.1」が設定される。ソフトウェアルータ３２０Ａは、パケットの送信元を、ヴァーチャルマシン３１０Ａ３の本当のＩＰアドレス「10.200.189.32」から仮のＩＰアドレス「192.168.1.4」に変換する。
【００９３】
ソフトウェアルータ３２０Ａは、受信したパケットの送信元をヴァーチャルマシン３１０Ａ３の仮のＩＰアドレス「192.168.1.4」から管理用ＩＰアドレス「10.100.1.5」に変換し、送信先を、ゲートウェイ１１０の仮のＩＰアドレス「172.16.1.1」から本当のＩＰアドレス「10.200.189.32」に変換する。このため、ゲートウェイ１１０とヴァーチャルマシン３１０Ａ３とでＩＰアドレスが重複していても、パケットをユーザ端末２０まで届けることができる。
【００９４】
なお、上記では、ゲートウェイ１１０とヴァーチャルマシン３１０Ａ３とのＩＰアドレスが重複する場合を例に挙げて説明したが、他のヴァーチャルマシン３１０のＩＰアドレスと重複する場合も同様に、ソフトウェアルータ１２０及び３２０で２回のアドレス変換を行うことで、通信が可能になる。即ち、通信制御システム１０のＩＰアドレスを仮のＩＰアドレスに変換し、当該仮のＩＰアドレスとは異なるように、対象システム３０のＩＰアドレスを仮のＩＰアドレスに変換するようにすればよい。また、実施形態１の技術と組み合わせた場合を説明したが、対象システム３０どうしのＩＰアドレスが重複していない場合には、管理用ＩＰアドレスの変換は行われないようにしてもよい。
【００９５】
実施形態２の通信制御システム１０によれば、通信制御システム１０と対象システム３０の間でＩＰアドレスが重複したとしても、２回のアドレス変換を行うことによって通信をすることが可能になる。
【００９６】
［３．変形例］
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【００９７】
例えば、転送部１１３が、ユーザ端末２０から受信したパケットを転送すべきソフトウェアルータ１２０を特定する方法は、上記の例に限られない。転送部１１３は、受信したパケットがどの対象システム３０向けなのかを、予め定められた方法に基づいて特定すればよい。
【００９８】
例えば、ユーザがログインできる対象システム３０が限られている場合には、転送部１１３は、ユーザがログイン可能な対象システム３０を特定し、ユーザ端末２０から受信したパケットを、その対象システム３０との通信を担当するソフトウェアルータ１２０に転送するようにしてもよい。この場合、データ記憶部１１１には、各ユーザがアクセス可能な対象システム３０を定義したデータが記憶されており、転送部１１３は、そのデータを参照することで、ユーザがアクセス可能な対象システム３０を特定することになる。
【００９９】
また例えば、転送部１１３は、ユーザ端末２０のＩＰアドレスに基づいて、通信先の対象システム３０を特定するようにしてもよい。例えば、対象システム３０ごとに、その対象システム３０と通信できるユーザ端末２０のＩＰアドレスが定められている場合には、転送部１１３は、パケットの送信元のＩＰアドレスでアクセス可能な対象システム３０を特定し、その対象システム３０との通信を担当するソフトウェアルータ１２０に転送するようにしてもよい。この場合、データ記憶部１１１には、各ユーザ端末２０のＩＰアドレスでアクセス可能な対象システム３０を定義したデータが記憶されており、転送部１１３は、そのデータを参照することで、ユーザのＩＰアドレスがアクセス可能な対象システム３０を特定することになる。
【０１００】
また例えば、ゲートウェイ１１０及び各ソフトウェアルータ１２０にプライベートアドレスが割り当てられる場合を説明するが、これらには、グローバルアドレスが割り当てられていてもよい。
【０１０１】
また例えば、上記実施形態では、ゲートウェイ１１０、ソフトウェアルータ１２０、ヴァーチャルマシン３１０、及びソフトウェアルータ３２０を例に挙げて説明したが、これらは、仮想機器ではなく、それぞれ実在するゲートウェイサーバ、ルータ、及びサーバコンピュータであってもよい。また例えば、サーバコンピュータがユーザのコマンドを実行する場合を説明したが、ユーザのコマンドを実行するのは、例えば、対象システム３０内のネットワーク機器であってもよい。
【０１０２】
また例えば、通信プロトコルの一例としてＳＳＨやＲＤＰを説明したが、他の種々のプロトコルによる通信が適用可能である。例えば、ＴＥＬＮＥＴ、ＦＴＰ、ＳＣＰ、ＳＦＴＰ、ＨＴＴＰ、又はＨＴＴＰＳにより通信が行われるようにしてもよい。また例えば、上記においては、本発明に関る通信制御システムを、クラウドコンピューティングを利用した情報処理システムに適用する例を説明したが、本発明に関る通信制御サーバは、ユーザがサーバにリモートアクセスする種々のシステムに適用可能である。
【符号の説明】
【０１０３】
１  情報処理システム、１０  通信制御システム、１１  通信制御サーバ、１２，２１，３２  制御部、１３，２２，３３  記憶部、１４，２３，３４  通信部、２０  ユーザ端末、２４  操作部、２５  表示部、３０，３０Ａ，３０Ｂ  対象システム、３１  対象サーバ、４０  コンソール画面、１１０  ゲートウェイ、１１１，１１１Ａ，１１１Ｂ，１２１，１２１Ａ，１２１Ｂ，３２１，３２１Ａ，３２１Ｂ  データ記憶部、１１２  取得部、１１３  転送部、１２０，１２０Ａ，１２０Ｂ，３２０，３２１Ａ，３２１Ｂ  ソフトウェアルータ、３１０，３１０Ａ１，３１０Ａ２，３１０Ａ３，３１０Ｂ１，３１０Ｂ２，３１０Ｂ３  ヴァーチャルマシン。
【図１】
2015133639.tif 000003
【図２】
2015133639.tif 000004
【図３】
2015133639.tif 000005
【図４】
2015133639.tif 000006
【図５】
2015133639.tif 000007
【図６】
2015133639.tif 000008
【図７】
2015133639.tif 000009
【図８】
2015133639.tif 000010
【図９】
2015133639.tif 000011
【図１０】
2015133639.tif 000012