情報処理装置、プログラム、および制御方法
【課題】通信への影響を少なく抑えながら、アクセス先の切替制御を行うことができるようにする。
【解決手段】遮断手段1bは、第1の装置2が送信した第2の装置3宛の要求の、第1の装置2と第2の装置3との通信経路上に配置されたネットワーク機器4から第2の装置3への通信を、ネットワークNを介した遠隔制御により遮断する。または遮断手段1bは、第2の装置3が送信した第1の装置2宛の応答の通信を、ネットワークNを介した遠隔制御により遮断する。送信手段1cは、第1の装置2が送信した第2の装置3宛の要求を、ネットワーク機器4から取得し、要求の送信先の第3の装置5への切替指示を、第1の装置2へ送信する。
【解決手段】遮断手段1bは、第1の装置2が送信した第2の装置3宛の要求の、第1の装置2と第2の装置3との通信経路上に配置されたネットワーク機器4から第2の装置3への通信を、ネットワークNを介した遠隔制御により遮断する。または遮断手段1bは、第2の装置3が送信した第1の装置2宛の応答の通信を、ネットワークNを介した遠隔制御により遮断する。送信手段1cは、第1の装置2が送信した第2の装置3宛の要求を、ネットワーク機器4から取得し、要求の送信先の第3の装置5への切替指示を、第1の装置2へ送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アクセス先の切替制御を行う情報処理装置、プログラム、および制御方法に関する。
【背景技術】
【0002】
広域に配備される複数のデータセンタおよびそれらを接続するネットワークにおいて、ネットワークやデータセンタ内のサーバの負荷が高くなり、ユーザが使用する端末装置へのサーバからのレスポンスが遅くなる場合がある。このような場合、他のサーバあるいは他のデータセンタへ端末装置からのアクセス先を早急に切り替えて、端末装置へのレスポンスを向上させることが重要である。
【0003】
端末装置に対してアクセス先を切り替えさせる技術としては、例えば、負荷分散装置において、クライアントに対して少ない遅延時間でサービスを提供可能なデータセンタを優先的に、そのクライアントの推奨センタとして選択する技術が考えられている。この技術では、負荷分散装置は、クライアントからのリクエストに対して、推奨センタへの再アクセス指示するリダイレクトメッセージを応答することで、クライアントに対して推奨センタにアクセスさせる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−332825号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、従来は、端末装置とサーバとの通信経路上に負荷分散装置を配置しないと、端末装置ごとの要求の送信先のサーバの切り替えができなかった。このように端末装置とサーバとの間に負荷分散装置を配置すると、負荷分散装置がすべての要求を中継することとなり、負荷分散装置の性能の善し悪しが、通信品質に影響を及ぼしてしまう。例えば、負荷分散装置の性能が十分でない場合には、端末装置に対するサーバからの応答の遅延時間が増大してしまう。
【0006】
1つの側面では、本発明は、通信への影響を少なく抑えながら、要求の送信先の切替制御を行うことができる情報処理装置、プログラム、および制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
1つの案では、遮断手段と送信手段とを有する情報処理装置が提供される。遮断手段は、第1の装置が送信した第2の装置宛の要求の、第1の装置と第2の装置との通信経路上に配置されたネットワーク機器から第2の装置への通信と、第2の装置が送信した第1の装置宛の応答の通信との少なくとも一方の通信を、ネットワークを介した遠隔制御により遮断する。送信手段は、第1の装置が送信した第2の装置宛の要求を、ネットワーク機器から取得し、要求の送信先の第3の装置への切替指示を、第1の装置へ送信する。
【発明の効果】
【0008】
通信への影響を少なく抑えながら、アクセス先の切替制御を行うことが可能となる。
【図面の簡単な説明】
【0009】
【図1】第1の実施の形態に係る装置の機能構成の一例を示すブロック図である。
【図2】第1の実施の形態に係る情報処理装置の処理手順の一例を示すフローチャートである。
【図3】第1の実施の形態によるアクセス先の切替制御の一例を示す図である。
【図4】第2の実施の形態のシステム構成例を示す図である。
【図5】第2の実施の形態に用いるリダイレクト装置のハードウェアの一構成例を示す図である。
【図6】スイッチのハードウェア構成の一例を示す図である。
【図7】リダイレクト装置の機能の一例を示すブロック図である。
【図8】各装置のIPアドレスまたはMACアドレスの一例を示す図である。
【図9】品質情報記憶部のデータ構造の一例を示す図である。
【図10】ARPテーブルのデータ構造の一例を示す図である。
【図11】リダイレクト処理の手順の一例を示すフローチャートの前半である。
【図12】リダイレクト処理の手順の一例を示すフローチャートの後半である。
【図13】ARPテーブルの制御の手順の一例を示すシーケンス図である。
【図14】更新後のARPテーブルの一例を示す図である。
【図15】第2の実施の形態におけるリダイレクト制御の一例を示す図である。
【図16】リクエストメッセージの一例を示す図である。
【図17】レスポンスメッセージの一例を示す図である。
【図18】リダイレクトメッセージの一例を示す図である。
【図19】第3の実施の形態で利用する情報の一例を示す図である。
【図20】第3の実施の形態のリダイレクト処理の手順の一例を示すフローチャートである。
【図21】第3の実施の形態におけるリダイレクト制御の一例を示す図である。
【図22】更新後のルータのARPテーブルの一例を示す図である。
【図23】第4の実施の形態のリダイレクト処理の手順の一例を示すフローチャートである。
【図24】第4の実施の形態におけるリダイレクト制御の一例を示す図である。
【図25】第5の実施の形態のシステム構成の一例を示す図である。
【図26】第5の実施の形態における試験装置の機能の一例を示すブロック図である。
【図27】試験の手順を示すフローチャートである。
【図28】通信履歴の取得状況の一例を示す図である。
【図29】取得される通信履歴の一例を示す図である。
【図30】スイッチのACL操作の一例を示す図である。
【図31】試験時のメッセージの送受信状況の一例を示す図である。
【図32】試験対象サーバが正しく動作した場合の通信例を示す図である。
【図33】試験対象サーバが正しく動作していない場合の通信例を示す図である。
【発明を実施するための形態】
【0010】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る装置の機能構成の一例を示すブロック図である。ネットワークNには、第1の装置2、第2の装置3、および第3の装置5が接続されている。なお、第2の装置3は、ネットワーク機器4を介してネットワークNに接続されている。第2の装置3と第3の装置5とは、第1の装置2からの要求に応じて処理を実行し、処理結果を応答することができる。
【0011】
情報処理装置1は、ネットワーク機器4に接続されている。ネットワーク機器4は、例えばミラーポートを有するネットワークスイッチ(以下単に「スイッチ」という)である。ネットワーク機器4がスイッチの場合、情報処理装置1は、例えばネットワーク機器4のミラーポートと通常の通信ポートとに接続される。この場合、例えば情報処理装置1は、ミラーポートを介して第1の装置2と第2の装置3との間の要求または応答を取得すると共に、通常の通信ポートを介して、第1の装置2と第2の装置3との間の要求または応答に関する通信の遮断制御を行う。
【0012】
情報処理装置1は、計測手段1a、遮断手段1b、および送信手段1cを有する。
計測手段1aは、第2の装置3に要求を送信する複数の装置それぞれの第2の装置3との間の通信品質を計測する。そして計測手段1aは、通信品質が所定値以下になった装置を第1の装置2に決定する。例えば、計測手段1aは、第2の装置3と他の装置との間の通信をネットワーク機器4から取得し、取得した通信を解析して、通信品質が所定値以下になった装置を判断する。また、計測手段1aは、通信品質が所定値以下になった装置と同一サブネットに属する装置それぞれを、第1の装置2に決定することもできる。さらに計測手段1aは、通信品質が所定値以下になった装置と同一サブネットに属する装置のうち、第2の装置3との間で過去に通信実績のある装置を、第1の装置2に決定することもできる。
【0013】
遮断手段1bは、第1の装置2が送信した第2の装置3宛の要求の、ネットワーク機器4から第2の装置3への通信と、第2の装置3が送信した第1の装置2宛の応答の通信との少なくとも一方の通信を、ネットワークを介した遠隔制御により遮断する。例えば遮断手段1bは、第1の装置2と第2の装置3との間の最後の通信から所定期間以上経過後に、通信の遮断を行う。
【0014】
通信遮断は、例えば以下のようにして実行される。
例えば遮断手段1bは、第2の装置3に対して、第1の装置2宛のパケットを送信する際のデータリンク層におけるフレームの宛先アドレスとして、第1の装置2と第2の装置3との通信経路上の装置のアドレスと異なるアドレスの登録指示を送信する。このようなアドレスが登録されると、第2の装置3から第1の装置2への応答は、第1の装置2と第2の装置3との通信経路以外の装置で受信されその装置で廃棄されるか、または受信する装置が存在せずに廃棄される。
【0015】
また例えば遮断手段1bは、ネットワーク機器4に対して、第1の装置2が送信した第2の装置3宛の要求の通信の遮断指示を送信することもできる。この場合、遮断手段1bは、例えばネットワーク機器4から、第1の装置2が送信した第2の装置3宛の要求を取得し、第1の装置2と第2の装置3との間の直前の通信から所定期間以上経過していなければ、該要求を第2の装置3に転送する。そして、送信手段1cは、第1の装置2と第2の装置3との間の直前の通信から所定期間以上経過した後に、第1の装置2が送信した第2の装置3宛の要求を取得した場合、要求の送信先の第3の装置5への切替指示を第1の装置2へ送信する。このような遮断指示を行った場合、例えば遮断手段1bは、送信手段1cが第1の装置2への切替指示送信した後、ネットワーク機器4に対して、第1の装置2が送信した第2の装置3宛の通信の遮断の解除指示を送信する。
【0016】
また、遮断手段1bは、第2の装置3と同一セグメントで接続されたルータに対して、第2の装置3宛のパケットを送信する際のデータリンク層におけるフレームの宛先アドレスを操作することで、通信を遮断することもできる。例えば遮断手段1bは、第2の装置3宛のパケットを送信する際のデータリンク層におけるフレームの宛先アドレスとして、第1の装置2と第2の装置3との通信経路上の装置のアドレスと異なるアドレスの登録指示を送信する。このようなアドレスが登録されると、第1の装置から第2の装置への要求は、ルータから転送されたときに、第1の装置2と第2の装置3との通信経路以外の装置で受信されその装置で廃棄されるか、または受信する装置が存在せずに廃棄される。
【0017】
送信手段1cは、第1の装置2が送信した第2の装置3宛の要求を、ネットワーク機器4から取得する。そして送信手段1cは、要求の送信先の第3の装置5への切替指示を、第1の装置2へ送信する。例えば送信手段1cは、遮断手段1bによる通信の遮断後に第1の装置2が送信した第2の装置3宛の要求を取得し、要求の送信先の第3の装置5への切替指示を第1の装置2へ送信する。
【0018】
なお、計測手段1a、遮断手段1b、および送信手段1cは、情報処理装置1が有するCPU(Central Processing Unit)により実現することができる。
また、図1に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
【0019】
図2は、第1の実施の形態に係る情報処理装置の処理手順の一例を示すフローチャートである。以下、図2に示す処理をステップ番号に沿って説明する。
[ステップS1]計測手段1aは、第1の装置2と第2の装置3との間の通信品質を計測する。
【0020】
[ステップS2]計測手段1aは、第1の装置2と第2の装置3との間の通信品質が、所定値以下に劣化したか否かを判断する。通信品質が所定値以下に劣化した場合、計測手段1aは処理をステップS3に進める。通信品質が所定値以下に劣化していなければ、計測手段1aは処理をステップS1に進める。
【0021】
[ステップS3]遮断手段1bは、第1の装置2と第2の装置3との間の通信のうち、ネットワーク機器4から第2の装置3への要求の通信、または第2の装置3から第1の装置2への応答の送信を遮断する。
【0022】
[ステップS4]送信手段1cは、ネットワーク機器4から第2の装置3宛の通信内容を取得し、第1の装置2から送信された第2の装置3宛の要求を検出したか否かを判断する。該当する要求を検出した場合、送信手段1cは、処理をステップS5に進める。該当する要求を検出していなければ、送信手段1cは、ステップS4の処理を繰り返す。
【0023】
[ステップS5]送信手段1cは、要求の送信先の第3の装置5への切替指示を、第1の装置2へ送信する。
このような手順により、第1の装置2に対して、要求の送信先の切替指示が送信される。
【0024】
図3は、第1の実施の形態によるアクセス先の切替制御の一例を示す図である。図3には、遮断手段1bによる通信の遮断処理後の、通信の様子が示されている。
第1の装置2から第2の装置3宛の要求6が送信されると、その要求6は、ネットワーク機器4までは正常に転送される。そのため、情報処理装置1では、ネットワーク機器4を介して、例えば要求6から複製された要求6aを取得することができる。
【0025】
一方、ネットワーク機器4から第2の装置3までの要求6の通信、または第2の装置3から第1の装置2への応答7の通信が遮断されているため、要求6に対する第2の装置3から応答7が、第1の装置2に到達することはない。
【0026】
情報処理装置1は、要求6aを取得すると、第1の装置2に対して切替指示8を送信する。すると第1の装置2は、切替指示8に従って、要求6と同じ内容の要求9を、第3の装置5宛に送信する。
【0027】
このように、第1の実施の形態によれば、ルータや負荷分散装置などにリダイレクトの送信機能を設けずとも、簡易な手法で、通信の品質劣化発生時に、要求を送信する装置単位でアクセス先の切替制御が可能となる。しかも、第1の装置2と第2の装置3との通信経路外から要求送信先の切替制御を行うため、情報処理装置1を設置しても、切替対象外の装置間の通信への影響が抑止される。
【0028】
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、データセンタ内のサーバへの端末装置からのアクセスを、負荷状況に応じて他のデータセンタ内のサーバに振り分けるものである。
【0029】
図4は、第2の実施の形態のシステム構成例を示す図である。図4に示すように、第2の実施の形態では、複数のデータセンタA,Bが設けられている。
データセンタAには、サーバ300が設けられている。サーバ300は、スイッチ200を介してネットワーク20に接続されている。サーバ300は、端末装置31〜38から送られたリクエストメッセージに応じて処理を実行し、レスポンスメッセージを応答する。
【0030】
またスイッチ200には、リダイレクト装置100が接続されている。スイッチ200とリダイレクト装置100との間は、2つの通信線で接続されている。一方の通信線は、リダイレクト装置100宛のメッセージをスイッチ200からリダイレクト装置100に送信し、リダイレクト装置100が送信するメッセージを、リダイレクト装置100からスイッチ200に送信するのに使用される。他方の通信線は、スイッチ200のミラーポートに接続されており、ネットワーク20とスイッチ200との間で通信されたパケットのコピーの転送に使用される。リダイレクト装置100は、サーバ300の負荷状況に応じて、端末装置31〜38のアクセス先を他のサーバ300aに振り分ける。例えばリダイレクト装置100は、アクセス先を他のサーバ300aに振り分ける対象の端末装置に対して、サーバ300aをリダイレクト先に指定したリダイレクトメッセージを送信する。このリダイレクトメッセージの送信元のアドレスは、サーバ300のアドレスである。
【0031】
データセンタBにも、データセンタAと同様に、サーバ300a、スイッチ200a、およびリダイレクト装置100aが設けられている。
ネットワーク20は、複数のルータ21〜27によってパケットが転送される。ルータ21には、端末装置31〜34が接続されている。またルータ22には、端末装置35〜38が接続されている。
【0032】
なお、図4に示すリダイレクト装置100は、図1に示した第1の実施の形態の情報処理装置1の一例である。図4に示す端末装置31〜38は、図1に示した第1の実施の形態の第1の装置2の一例である。図4に示すサーバ300は、図1に示した第1の実施の形態の第2の装置3の一例である。図4に示すサーバ300aは、図1に示した第1の実施の形態の第3の装置5の一例である。図4に示すスイッチ200は、図1に示したネットワーク機器4の一例である。
【0033】
図5は、第2の実施の形態に用いるリダイレクト装置のハードウェアの一構成例を示す図である。リダイレクト装置100は、CPU101によって装置全体が制御されている。CPU101には、バス109を介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。
【0034】
RAM102は、リダイレクト装置100の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
【0035】
バス109に接続されている周辺機器としては、HDD(Hard disk drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、および通信インタフェース107,108がある。
【0036】
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、リダイレクト装置100の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【0037】
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。モニタ11としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
【0038】
入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号をCPU101に送信する。なお、マウス13は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0039】
光学ドライブ装置106は、レーザ光などを利用して、光ディスク14に記録されたデータの読み取りを行う。光ディスク14は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク14には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
【0040】
通信インタフェース107は、スイッチ200の通常の通信ポートに接続されている。通信インタフェース107は、スイッチ200を介して、サーバ300または端末装置31〜38との間でデータの送受信を行う。
【0041】
通信インタフェース108は、スイッチ200のミラーポートに接続されている。通信インタフェース108は、ミラーポートを介して、スイッチ200で転送されたパケットを受信する。なお通信インタフェース108は、スイッチ200から入力されたパケットは、リダイレクト装置100以外の装置が宛先のパケットであっても受信するように設定されている。このように、パケットの宛先とは無関係に、入力されたパケットをすべて傍受する処理を、キャプチャと呼ぶ。
【0042】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお図5には、リダイレクト装置100のハードウェア構成例を示したが、図4に示したリダイレクト装置100aもリダイレクト装置100と同様のハードウェアで実現することができる。また図4に示したサーバ300,300a、ルータ21〜27、および端末装置31〜38もリダイレクト装置100と同様のハードウェアで実現することができる。なおサーバ300,300a、ルータ21〜27、および端末装置31〜38については、宛先とは無関係にすべてのパケットを受信する通信インタフェース108は、無くてもよい。またルータ21〜27は、データの送受信を行うための通信インタフェース107を複数有する。さらに図1に示した情報処理装置1も、図5に示したリダイレクト装置100と同様のハードウェアにより実現することができる。
【0043】
図6は、スイッチのハードウェア構成の一例を示す図である。スイッチ200は、スイッチ回路210、メモリ220、および複数の通信インタフェース(I/F)231,232,233,234,・・・を有する。複数の通信I/F231,232,233,234,・・・は、それぞれ通信ケーブルを接続する通信ポートを有する。図6の例では、通信I/F231の通信ポートが、ミラーポートとして使用される。
【0044】
図6の例では、通信I/F231には、リダイレクト装置100の通信インタフェース108が接続されている。通信I/F232には、リダイレクト装置100の通信インタフェース107が接続されている。通信I/F233には、ルータ26の通信インタフェースが接続されている。通信I/F234には、サーバ300の通信インタフェースが接続されている。
【0045】
スイッチ回路210は、通信I/F232,233,234,・・・から入力されたフレームを、そのフレームの宛先に応じて、他の通信I/F232,233,234,・・・に転送する。またスイッチ回路210は、通信I/F232,233,234,・・・に入力されたフレームのコピーを生成し、通信I/F231を介して送信する。
【0046】
メモリ220には、入力されたデータリンク層(OSI(Open Systems Interconnection)参照モデルの第2層)のフレームの宛先に対応する出力ポートが登録されたデータテーブルなどが格納される。またメモリ220には、ACL(Access Control List)が格納される。ACLは、通信ポートごとに、その通信ポートを介した通信を許可する、または不許可とするパケットを定義する情報である。
【0047】
なお、図4に示したスイッチ200aも、スイッチ200と同様のハードウェアで実現することができる。
図7は、リダイレクト装置の機能の一例を示すブロック図である。リダイレクト装置100は、キャプチャ部110、品質計測部120、品質情報記憶部130、リダイレクト制御部140、送受信部150、および表示部160を有する。
【0048】
キャプチャ部110は、スイッチ200のミラーポートから出力されたパケットを受信する(キャプチャする)。キャプチャ部110は、キャプチャしたパケットを品質計測部120とリダイレクト制御部140とに転送する。
【0049】
品質計測部120は、キャプチャ部110、あるいは送受信部150で受信したパケットを発着IP(Internet Protocol)アドレスごとのトラヒックフローに分類する。例えば、品質計測部120は、各パケットの送信元IPアドレスと宛先IPアドレスとを抽出し、IPアドレスの組を生成する。そして品質計測部120は、IPアドレスの組が共通するパケットを、時系列に並べ、トラヒックフローとする。生成されたトラヒックフローには、サーバ300といずれかの端末装置との間のリクエストメッセージとレスポンスメッセージとのそれぞれを構成するパケットが時系列に並べられる。品質計測部120は、トラヒックフローごとの品質を計測する。例えば品質計測部120は、トラヒックフローごとに、損失パケット数を計数する。損失パケット数は、数が多いほど通信の品質が悪いことを示している。損失パケット数は、例えば、IPパケットのIDフィールド、TCP(Transmission Control Protocol)パケットのシーケンス番号の抜けを調べることにより計数できる。UDP(User Datagram Protocol)の場合は、RTP(Real-time Transport Protocol)パケットのシーケンス番号の抜けを調べることにより、損失パケット数を計数できる。品質計測部120は、品質の計測結果に基づいて、トラヒックフローごと(送信元と宛先との組ごと)に、品質の良否判定を行う。例えば、品質計測部120は、送受信パケット数に対する損失パケットの割合が所定値未満であれば通信品質が良いと判定し、送受信パケット数に対する損失パケットの割合が所定値以上であれば通信品質が悪いと判定する。
【0050】
品質計測部120は、品質の計測結果と良否判定結果とを、品質情報記憶部130に格納する。また品質計測部120は、通信品質が悪いと判定したトラヒックフローにおけるリクエストメッセージの送信元の端末装置のIPアドレスに基づいて、切替対象の端末装置を特定する。そして品質計測部120は、切替対象の端末装置のIPアドレスをリダイレクト制御部140内の切替制御部141に通知する。
【0051】
例えば品質計測部120は、同一サブネット内の品質が劣化した端末装置の数が所定数以上であれば、そのサブネット全体を切替対象とする。また、品質計測部120は、同一サブネット内の通信実績がある端末装置のうちの、品質が劣化した端末装置の割合が所定値以上であれば、そのサブネット全体を切替対象とする。品質計測部120は、サブネット全体を切替対象とした場合、例えば、過去に通信実績がある、そのサブネット内の端末装置のIPアドレスを特定し、切替対象とする。
【0052】
過去の通信実績の有無は、例えば、品質情報記憶部130を参照して判断できる。過去に通信が行われた端末装置の通信品質の情報が、品質情報記憶部130に登録されている。そこで例えば品質計測部120は、品質情報記憶部130に通信品質の情報が登録されている端末装置のIPアドレスのうち、切替対象のサブネット内のIPアドレスを、切替対象として抽出する。また、品質計測部120は、品質計測のために生成したトラヒックフローを通信履歴として、過去の所定期間分RAM102などに保存しておき、保存しておいたトラヒックフローを参照して、各端末装置の通信実績の有無を判断することもできる。また品質計測部120は、品質が劣化した端末装置の数が所定数未満であれば、品質が劣化した端末装置を、切替対象として特定する。
【0053】
品質情報記憶部130は、品質の計測結果と良否判定結果とを記憶する。例えばRAM102またはHDD103の記憶領域の一部が品質情報記憶部130として使用される。
リダイレクト制御部140は、通信品質が悪い端末装置に対して、サーバ300とは別のサーバ300aにリクエストメッセージを送信させるリダイレクトメッセージの送信を制御する。リダイレクト制御部140は、リダイレクトメッセージの送信制御のために、切替制御部141とARP(Address Resolution Protocol)管理部142とを有する。
【0054】
切替制御部141は、品質計測部120から通知された切替対象の端末装置のIPアドレスに基づいて、切替対象の端末装置のアクセス先の切替を制御する。例えば切替制御部141は、サーバ300のARPテーブル310を収集し、ARP管理部142に登録する。ここで、切替制御部141は、切替対象として特定した端末装置のIPアドレスと、ARP管理部142に登録したIPアドレスのエントリとを比較する。そして切替制御部141は、切替対象のIPアドレスであっても、ARP管理部142に登録されているIPアドレスについては、通信中と判断し、リクエスト送信先の切替処理を一時保留する。すなわちARPテーブル310には数分オーダの間(例えば5分)、エントリが登録されている。そのため、ARPテーブルに残っているIPアドレスは、数分以内にリクエストを送信した端末装置のIPアドレスである。そこで第2の実施の形態では、ARPテーブルに残っているIPアドレスについては通信中とみなして、リクエストメッセージの送信先の切替処理を保留する。
【0055】
切替制御部141は、切替対象のIPアドレスのうち、ARP管理部142に登録されてないIPアドレスを、サーバ300のARPテーブル310に、リダイレクト装置100のMAC(Media Access Control)アドレスに対応付けて登録する。そして切替制御部141は、切替対象のIPアドレスのうち、ARP管理部142に登録されてないIPアドレスを送信元とするリクエストメッセージが入力されると、そのリクエストメッセージ対する応答として、リダイレクトメッセージを生成する。生成されたリダイレクトメッセージには、サーバ300aへのリダイレクトが指示されている切替制御部141は、生成したリダイレクトメッセージを、送受信部150を介して送信する。
【0056】
ARP管理部142は、切替制御部141が収集したARPテーブルを記憶する。例えばRAM102またはHDD103の記憶領域の一部が、ARP管理部142として使用される。
【0057】
送受信部150は、スイッチ200のミラーポート以外の通信ポートに接続され、端末装置31〜38、サーバ300などの他の機器と通信する。例えば送受信部150は、端末装置31〜38にリダイレクトメッセージを送信する。また送受信部150は、サーバ300のARPテーブル310の収集、および設定を行うため、SNMP(Simple Network Management Protocol )のコマンドメッセージをサーバ300に送信する。また送受信部150は、リダイレクト装置100に転送されたサーバ300からのレスポンスメッセージを廃棄する。
【0058】
表示部160は、モニタ11を介して、切替対象のIPアドレスや、切替が完了したことなどを表示する。
これらの要素が各処理を実行することにより、通信中の端末装置に影響を及ぼすことなく、切替対象の端末装置ごとにリダイレクトメッセージを送信できる。その結果、ルータや負荷分散装置などを追加することなく、簡易な装置をスイッチ200に接続するだけで、負荷分散制御が可能となる。
【0059】
なお、図7に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
また、図7に示す品質計測部120は、第1の実施の形態に示した情報処理装置1の計測手段1aの機能を有する。また図7に示す切替制御部141は、第1の実施の形態に示した情報処理装置1の遮断手段1bと送信手段1cとの機能を有する。
【0060】
ところでリダイレクト装置100におけるリダイレクト制御には、各装置のIPアドレスやMACアドレスが使用される。
図8は、各装置のIPアドレスまたはMACアドレスの一例を示す図である。図8の例では、端末装置31のIPアドレスは「192.168.1.10」である。端末装置32のIPアドレスは「192.168.1.20」である。端末装置33のIPアドレスは「192.168.1.15」である。端末装置34のIPアドレスは「192.168.1.25」である。端末装置35のIPアドレスは「192.168.10.10」である。端末装置36のIPアドレスは「192.168.10.15」である。端末装置37のIPアドレスは「192.168.10.20」である。端末装置38のIPアドレスは「192.168.10.25」である。サーバ300のIPアドレスは「192.168.100.5」である。
【0061】
またリダイレクト装置100のMACアドレスは「aa:bb:cc:dd:ee:ff」である。ルータ26のMACアドレスは「00:11:22:33:44:55」である。
次に、リダイレクト装置100内の品質情報記憶部130のデータ構造について説明する。品質情報記憶部130には、端末装置31〜38それぞれの通信品質に関する情報が格納される。
【0062】
図9は、品質情報記憶部のデータ構造の一例を示す図である。品質情報記憶部130には、品質管理テーブル131が格納されている。
品質管理テーブル131には、送信元IPアドレス、宛先IPアドレス、送信パケット数、受信パケット数、送信側損失パケット数、受信側損失パケット数、および品質解析結果の欄が設けられている。各欄の横方向に対応付けられた情報どうしが関連付けられ、端末装置の通信品質に関する情報としてエントリされている。
【0063】
送信元IPアドレスの欄には、サーバ300にリクエストメッセージを送信した端末装置のIPアドレスが設定される。
宛先IPアドレスの欄には、リクエストメッセージの宛先であるサーバ300のIPアドレスが設定される。
【0064】
送信パケット数の欄には、端末装置からサーバ300に所定期間内に送信されたパケット数(送信パケット数)が設定される。
受信パケット数の欄には、サーバ300から端末装置に所定期間内に送信されたパケット数(受信パケット数)が設定される。
【0065】
送信側損失パケット数の欄には、端末装置からサーバ300に所定期間内に送信されたパケットのうち、損失したパケットの数(送信側損失パケット数)が設定される。例えば、端末装置からサーバ300に所定期間内に送信されたパケットのうち、リダイレクト装置100で取得できなかったパケットの数が、送信側損失パケット数に設定される。
【0066】
受信側損失パケット数の欄には、サーバ300から端末装置に所定期間内に送信されたパケットのうち、損失したパケットの数(受信側損失パケット数)が設定される。例えばサーバ300から端末装置に所定期間内に送信されたパケットのうち、リダイレクト装置100で取得できなかったパケットの数が、受信側損失パケット数に設定される。
【0067】
品質解析結果の欄には、品質計測部120による通信品質の良否判定の結果を示すフラグが設定される。例えば、通信品質が良いと判定された場合、品質判定結果の欄に丸印が設定される。また通信品質が悪いと判定された場合、品質判定結果の欄にバツ印が設定される。
【0068】
図9の例では、IPアドレスが、「192.168.1.10」、「192.168.1.20」、「192.168.1.15」、「192.168.1.25」の各端末装置31〜34について、通信品質が悪いと判断されている。この場合、品質計測部120から切替制御部141へ、通信品質が悪い端末装置31〜34のIPアドレスが、切替対象として通知される。
【0069】
すると切替制御部141は、品質計測部120からの切替対象の端末装置のIPアドレスの通知に基づいて、サーバ300のARPテーブル310を制御する。ARPテーブル310の制御では、まず切替制御部141は、サーバ300からARPテーブル310を収集する。
【0070】
図10は、ARPテーブルのデータ構造の一例を示す図である。ARPテーブル310には、IPアドレスとMACアドレスとの組が設定されている。
IPアドレスの欄には、サーバ300と通信を行った端末装置のIPアドレスが設定される。MACアドレスの欄には、対応するIPアドレスで示される端末装置宛に送信するパケットを送信する際のデータリンク層におけるフレームの宛先とするMACアドレスが設定される。例えば、リダイレクトの対象外の端末装置のIPアドレスに対応付けて、その端末装置とサーバ300との間の通信経路上で、サーバ300に隣接するルータのMACアドレスが、MACアドレスの欄に設定される。またリダイレクトの対象の端末装置のIPアドレスに対応付けて、リダイレクト装置100の通信インタフェース107のMACアドレスが、MACアドレスの欄に設定される。
【0071】
図10の例は、リダイレクトの対象とする端末装置が検出される以前の状態のARPテーブル310である。そのためすべてのエントリのMACアドレスの欄には、ルータ26のMACアドレス「00:11:22:33:44:55」が設定されている。
【0072】
なおサーバ300のARPテーブル310は、通信が一定の保持期間(エージングタイム:Aging time)行われていない端末装置のエントリは、クリアされる。例えばサーバ300におけるARPテーブル310のエージングタイムは、数分のオーダ(例えば5分)で設定されているものとする。
【0073】
次に、リダイレクト装置100で実行されるリダイレクト処理について説明する。
図11は、リダイレクト処理の手順の一例を示すフローチャートの前半である。以下、図11に示す処理をステップ番号に沿って説明する。
【0074】
[ステップS11]品質計測部120は、端末装置ごとのトラヒックフローの品質を計測する。例えば品質計測部120は、トラヒックフローごとに、端末装置からの送信パケット数、受信パケット数、送信側損失パケット数、および受信側損失パケット数を計数する。そして、品質計測部120は、計数結果に基づいて、通信品質の良否を判断する。例えば品質計測部120は、送信パケット数と受信パケット数との合計値に対する、送信側損失パケット数と受信側損失パケット数との合計値の割合が、所定の閾値未満であれば、品質が良いと判断する。また品質計測部120は、送信パケット数と受信パケット数との合計値に対する、送信側損失パケット数と受信側損失パケット数との合計値の割合が、所定の閾値以上であれば、品質が悪いと判断する。
【0075】
そして品質計測部120は、端末装置ごとのトラヒックフローの通信品質の計測結果と品質の良否判断結果とを登録した品質管理テーブルを作成し、品質情報記憶部130に格納する。
【0076】
[ステップS12]品質計測部120は、品質が劣化した端末装置のIPアドレスに基づいて、切替対象の端末装置またはサブネットを特定する。例えば品質計測部120は、同一サブネット内の品質が劣化した端末装置の数が所定数以上であれば、そのサブネット全体を切替対象として特定する。また品質計測部120は、同一サブネット内の品質が劣化した端末装置の数が所定数未満であれば、品質計測部120から品質が劣化した端末装置を、切替対象として特定する。
【0077】
[ステップS13]品質計測部120は、サブネットを切替対象として特定した場合、過去に通信の実績がある該当サブネット内の端末装置を検索する。例えば品質計測部120は、品質情報記憶部130内の品質管理テーブル131を参照し、品質管理テーブル131送信元IPアドレスから、切替対象のサブネット内の端末装置のIPアドレスを検索する。そして品質計測部120は、検索結果として得られたIPアドレスに対応する端末装置を、切替対象の端末装置とする。そして品質計測部120は、切替対象の端末装置のIPアドレスを切替制御部141に通知する。
【0078】
[ステップS14]切替制御部141は、サーバ300のARPテーブル310を収集する。例えば切替制御部141は、SNMPのARPテーブル310の取得コマンドを、送受信部150を介してサーバ300に送信する。するとサーバ300からARPテーブル310が応答される。切替制御部141は、サーバ300から収集したARPテーブル310を、ARP管理部142に格納する。
【0079】
[ステップS15]切替制御部141は、切替対象の端末装置を1つ選択する。
[ステップS16]切替制御部141は、選択した端末装置が、サーバ300から収集したARPテーブル310に登録されているか否かを判断する。例えば切替制御部141は、選択した端末装置のIPアドレスが、ARPテーブル310のIPアドレスの欄に登録されていれば、その端末装置が登録されていると判断する。切替制御部141は、選択した端末装置が登録されている場合、処理をステップS18に進める。また切替制御部141は、選択した端末装置が登録されていない場合、選択した端末装置を、即時リダイレクト可能と判定し、処理をステップS17に進める。
【0080】
[ステップS17]切替制御部141は、サーバ300のARPテーブル310に、即時リダイレクト可能と判定された端末装置のエントリを登録する。登録するエントリには、選択した端末装置のIPアドレスと、リダイレクト装置100のMACアドレスとが含まれる。例えば切替制御部141は、サーバ300に対してtelnetなどのリモートログインコマンドによりログインし、arpコマンドを実行することで、サーバ300内のARPテーブル310に新たなレコードを登録することができる。
【0081】
[ステップS18]切替制御部141は、切替対象のすべての端末装置について、ステップS15〜S17の処理を実行したか否かを判断する。切替制御部141は、該当するすべての端末装置に対して処理が実行された場合、処理をステップS21(図12参照)に進める。切替制御部141は、該当する端末装置のうち、未処理の端末装置がある場合、処理をステップS15に進める。
【0082】
図12は、リダイレクト処理の手順の一例を示すフローチャートの後半である。以下、図12に示す処理をステップ番号に沿って説明する。
[ステップS21]切替制御部141は、キャプチャ部110を介して、いずれかの端末装置からサーバ300へのリクエストメッセージを受信する。
【0083】
[ステップS22]切替制御部141は、受信したリクエストメッセージが、即時リダイレクト可能と判定された端末装置から送信されたリクエストメッセージか否かを判断する。切替制御部141は、即時リダイレクト可能と判定された端末装置から送信されたリクエストメッセージであれば、処理をステップS23に進める。また切替制御部141は、即時リダイレクト可能と判定された端末装置から送信されたリクエストメッセージでなければ、処理をステップS24に進める。
【0084】
[ステップS23]切替制御部141は、即時リダイレクト可能と判定された端末装置へ、リダイレクトメッセージを送信する。リダイレクトメッセージでは、例えばサーバ300aがリダイレクト先に指定されている。リダイレクトメッセージが送信された端末装置は、リクエストメッセージの送信先がリダイレクト先のサーバに切り替えられる。
【0085】
また送受信部150は、ステップS21で受信したリクエストメッセージに対するサーバ300からのレスポンスメッセージを受信する。そして送受信部150は、受信したレスポンスメッセージを廃棄する。
【0086】
[ステップS24]切替制御部141は、切替対象のすべての端末装置のリクエストメッセージの送信先を切り替えたか否かを判断する。切替制御部141は、該当するすべての端末装置の切り替えが完了した場合、処理をステップS26に進める。また切替制御部141は、切り替えが完了していない端末装置がある場合、処理をステップS25に進める。
【0087】
[ステップS25]切替制御部141は、ステップS14でARPテーブル310を収集してから、サーバ300におけるARPテーブル310のエージングタイムを超過したか否かを判断する。切替制御部141は、保持期間を超過した場合、処理をステップS14に進め、再度、ARPテーブル310の収集から処理を繰り返す。切替制御部141は、保持期間を超過していない場合、処理をステップS21に進める。
【0088】
[ステップS26]切替制御部141は、ステップS17の処理においてサーバ300に設定したARPテーブル310へのエントリをクリアする。
このようにして、切替対象の端末装置に対して、リダイレクトメッセージを送信し、アクセス先を別のサーバに切り替えさせることができる。なおセグメント全体を切替対象とした場合、過去に通信実績が確認されている端末装置のみを切替対象とすることで、存在しない端末装置からのリクエストメッセージの受信を待って、リダイレクト処理が終了できないような事態の発生が抑止されている。
【0089】
例えば、品質計測の結果、図9に示す品質管理テーブル131が生成された場合を想定する。図9の例では、「192.168.1.0」のサブネットのすべての端末装置について、ネットワークで品質劣化が発生している。そこで、「192.168.1.0」のサブネットのすべての端末装置が切替対象となったものとする。
【0090】
この場合、リダイレクト装置100では、サーバ300からARPテーブル310を収集し、適宜、ARPテーブル310の内容を制御する。リダイレクト装置100からサーバ300のARPテーブル310の制御は、例えばSNMPを用いて行うことができる。
【0091】
図13は、ARPテーブルの制御の手順の一例を示すシーケンス図である。以下、図13に示す処理をステップ番号に沿って説明する。
[ステップS31]リダイレクト装置100の品質計測部120は、通信品質の劣化に伴う切替対象サブネットを「192.168.1.0」と特定する。
【0092】
[ステップS32]切替制御部141は、ARPテーブル310を収集するためのSNMPリクエストをサーバ300に送信する。例えば「snmpwalk -v1 -c public 192.168.100.5 1.3.6.1.2.1.4.22.1.2」という内容のSNMPリクエストが送信される。
【0093】
[ステップS33]サーバ300は、SNMPリクエストに対して、SNMPレスポンスによりARPテーブル310を応答する。SNMPレスポンスには、例えば以下の内容が含まれる。
「1.3.6.1.2.1.4.22.1.2.192.168.1.10 = String: 00:11:22:33:44:55
1.3.6.1.2.1.4.22.1.2.192.168.1.20 = String: 00:11:22:33:44:55
1.3.6.1.2.1.4.22.1.2.192.168.10.100 = String: 00:11:22:33:44:55
1.3.6.1.2.1.4.22.1.2.192.168.10.200 = String: 00:11:22:33:44:55」
[ステップS34]SNMPレスポンスを受信したリダイレクト装置100の切替制御部141は、取得したARPテーブル310の内容を解析する。そして切替制御部141は、「192.168.1.0」のサブネットにおいて通信実績がある端末装置のIPアドレスのうち、ARPテーブル310に登録されていないIPアドレス「192.168.1.15」、「192.168.1.25」を検出する。そして切替制御部141は、検出したIPアドレスを、即時リダイレクト可能な端末装置33,34のIPアドレスとする。
【0094】
[ステップS35]切替制御部141は、サーバ300にリモートでログインし、例えば以下のarpコマンドを実行し、新たなエントリをARPテーブル310に登録する。
「arp -s 192.168.1.15 aa:bb:cc:dd:ee:ff
arp -s 192.168.1.25 aa:bb:cc:dd:ee:ff」
[ステップS36]リダイレクト装置100は、IPアドレス「192.168.1.15」、「192.168.1.25」を送信元とするサーバ300宛のリクエストメッセージに応じて、リダイレクト処理を行う。リダイレクト処理では、例えば切替制御部141によるリダイレクトメッセージの送信と、送受信部150によるサーバ300からのレスポンスメッセージの廃棄とが行われる。
【0095】
[ステップS37]切替制御部141は、ステップS32のARPテーブル収集処理からエージングタイムが経過すると、再度、ARPテーブル310を収集するためのSNMPリクエストをサーバ300に送信する。SNMPリクエストの内容は、ステップS32の場合と同様である。
【0096】
[ステップS38]サーバ300は、SNMPリクエストに対して、SNMPレスポンスによりARPテーブル310を応答する。ここで、IPアドレス「192.168.1.10」の端末装置31とサーバ300との間の通信が終了し、この時点のARPテーブル310には、IPアドレス「192.168.1.10」のエントリが含まれていないものとする。この場合、SNMPレスポンスには、例えば以下の内容が含まれる。
「1.3.6.1.2.1.4.22.1.2.192.168.1.20 = String: 00:11:22:33:44:55
1.3.6.1.2.1.4.22.1.2.192.168.10.100 = String: 00:11:22:33:44:55
1.3.6.1.2.1.4.22.1.2.192.168.10.200 = String: 00:11:22:33:44:55
1.3.6.1.2.1.4.22.1.2.192.168.1.15 = String: aa:bb:cc:dd:ee:ff
1.3.6.1.2.1.4.22.1.2.192.168.1.25 = String: aa:bb:cc:dd:ee:ff」
[ステップS39]SNMPレスポンスを受信したリダイレクト装置100の切替制御部141は、取得したARPテーブル310の内容を解析する。そして切替制御部141は、「192.168.1.0」のサブネットにおいて通信実績がある端末装置のIPアドレスのうち、ARPテーブル310に登録されていないIPアドレス「192.168.1.10」を、即時リダイレクト可能な端末装置31のIPアドレスとして検出する。
【0097】
[ステップS40]切替制御部141は、サーバ300にリモートでログインし、例えば以下のarpコマンドを実行し、新たなエントリをARPテーブル310に登録する。
「arp -s 192.168.1.10 aa:bb:cc:dd:ee:ff」
その後、同様にARPテーブル310の収集処理から処理を繰り返す。そして、IPアドレス「192.168.1.20」の端末装置32とサーバ300との間の通信が終了すると、端末装置32に対するリダイレクト処理が行われる。
【0098】
[ステップS51]切替制御部141は、切替対象のサブネット内の通信実績のあるすべての端末装置に対するリダイレクト処理が完了したと判断する。例えば切替制御部141は、ステップS31で切替対象のサブネットを特定したときに、切替対象のサブネット内の通信実績のあるすべての端末装置のIPアドレスのリストを保持しておく。切替制御部141は、リダイレクト処理を実行した端末装置のIPアドレスを、リストから削除する。そして切替制御部141は、リストが空になると、リダイレクト処理が完了したと判断する。
【0099】
[ステップS52]切替制御部141は、サーバ300に対して、ARPテーブル310内のエントリクリアのSNMPリクエストを送信する。例えば以下のような内容のSNMPリクエストが送信される。
「snmpset -v1 -c private 192.168.100.5 1.3.6.1.2.1.4.22.1.4.192.168.1.10 i 2
snmpset -v1 -c private 192.168.100.5 1.3.6.1.3.6.1.2.1.4.22.1.4.192.168.1.25 i 2」
このように、リダイレクト装置100では、切替対象の端末装置が特定されると、サーバ300からARPテーブル310が収集される。その後、切替対象の端末装置のIPアドレスとARPテーブル310のエントリが比較され、未通信の端末装置のIPアドレスが、リダイレクト装置100のMACアドレスに対応付けてサーバ300のARPテーブル310に登録される。
【0100】
図14は、更新後のARPテーブルの一例を示す図である。図14に示したARPテーブル310は、図10に示した状態に対して、端末装置33,34に関するエントリが追加されている。
【0101】
端末装置33のエントリは、IPアドレスが「192.168.1.15」、MACアドレスがが「aa:bb:cc:dd:ee:ff」である。端末装置34のエントリは、IPアドレスが「192.168.1.25」、MACアドレスが「aa:bb:cc:dd:ee:ff」である。
【0102】
なお、図10に示したARPテーブル310のエントリとして、「192.168.1.10」と「192.168.1.20」とのIPアドレスが存在する。したがって、切替制御部141において、それらのIPアドレスに対応する端末装置31,32は通信中と判断され、通信が終了するまで、該当するIPアドレスに関する切替制御部141によるエントリの登録は行われない。
【0103】
図14に示すようなARPテーブル310に基づいて、サーバ300がデータリンク層のフレームを送信すると、サーバ300から端末装置33,34宛のパケットが、リダイレクト装置100に送られる。すなわち、サーバ300から端末装置33,34宛のパケットには、データリンク層におけるフレームの宛先としてリダイレクト装置100のMACアドレスが設定される。スイッチ200では、宛先のMACアドレスに基づいて、リダイレクト装置100から送出されたフレームを送出する通信ポートを判断する。その結果、スイッチ200は、リダイレクト装置100から送出された端末装置33,34宛のパケットを含むフレームを、リダイレクト装置100が接続された通信ポートから送出する。その結果、該当フレームは、端末装置33,34には送信されず、リダイレクト装置100に送信される。
【0104】
次に図14に示すARPテーブル310がサーバ300に格納されている状況におけるリダイレクト処理について説明する。
図15は、第2の実施の形態におけるリダイレクト制御の一例を示す図である。図15の例では、端末装置31,33それぞれからリクエストメッセージ41,44が送信された場合の、メッセージの流れを示している。
【0105】
なお、図15では、リクエストメッセージには、送信元(Source)の端末装置のIPアドレスが示されている。図15に示したリクエストメッセージ41,44の宛先(Destination)のIPアドレスは、すべてサーバ300のIPアドレスである。また、レスポンスメッセージとリダイレクトメッセージとには、宛先の端末装置のIPアドレスが示されている。レスポンスメッセージとリダイレクトメッセージとの送信元のIPアドレスは、すべてサーバ300のIPアドレスである。
【0106】
通信中の端末装置31から送信されたリクエストメッセージ41は、スイッチ200を介してサーバ300に転送される。このとき、スイッチ200では、リクエストメッセージ41の複製を生成し、複製のリクエストメッセージ42をミラーポートから出力する。複製のリクエストメッセージ42はリダイレクト装置100に入力される。
【0107】
リクエストメッセージ41を受信したサーバ300は、リクエストメッセージ41の内容に応じて処理を実行し、端末装置31のIPアドレスを宛先とするパケットにより、レスポンスメッセージ43を出力する。このとき、サーバ300のARPテーブル310では、端末装置31のIPアドレス「192.168.1.10」に対応付けて、ルータ26のMACアドレス「00:11:22:33:44:55」が登録されている(図14参照)。従って、レスポンスメッセージ43を構成するパケットの送信用のフレームの宛先には、ルータ26のMACアドレスが設定される。その結果、レスポンスメッセージ43は、スイッチ200においてルータ26に転送される。そしてレスポンスメッセージ43は、ネットワーク20を介して端末装置31に転送される。
【0108】
なお、図15には示していないが、切替対象外の端末装置からサーバ300宛のリクエストメッセージが送信された場合も、端末装置31からリクエストメッセージが送信された場合と同様に処理され、レスポンスメッセージが端末装置に応答される。
【0109】
また通信中でなかった端末装置33から送信されたリクエストメッセージ44は、スイッチ200を介してサーバ300に転送される。このとき、スイッチ200では、リクエストメッセージ44の複製を生成し、複製のリクエストメッセージ45をミラーポートから出力する。複製のリクエストメッセージ45はリダイレクト装置100に入力される。
【0110】
リクエストメッセージ44を受信したサーバ300は、リクエストメッセージ44の内容に応じて処理を実行し、端末装置33のIPアドレスを宛先とするパケットにより、レスポンスメッセージ46を出力する。このとき、サーバ300のARPテーブル310では、端末装置33のIPアドレス「192.168.1.15」に対応付けて、リダイレクト装置100のMACアドレス「aa:bb:cc:dd:ee:ff」が登録されている(図14参照)。従って、レスポンスメッセージ46を構成するパケットの送信用のフレームの宛先には、リダイレクト装置100のMACアドレスが設定される。その結果、レスポンスメッセージ46は、スイッチ200においてリダイレクト装置100に転送される。
【0111】
リダイレクト装置100では、切替制御部141によりレスポンスメッセージ46が廃棄される。またリダイレクト装置100では、端末装置33を送信元とする複製のリクエストメッセージ45に応じ、切替制御部141により端末装置33宛のリダイレクトメッセージ47が生成され、リダイレクトメッセージ47が送受信部150を介して出力される。リダイレクトメッセージ47は、スイッチ200においてルータ26に転送される。そしてリダイレクトメッセージ47は、ネットワーク20を介して端末装置33に転送される。
【0112】
リダイレクトメッセージ47は、送信元のIPアドレスとしてサーバ300のIPアドレスが設定されているため、端末装置33は、リクエストメッセージ44に対してリダイレクトメッセージ47が応答されたものと認識する。リダイレクトメッセージ47には、例えばサーバ300が設置されたデータセンタAとは別のデータセンタB内のサーバ300aのIPアドレスを指定した、リダイレクト指示が含まれている。そこで、リダイレクトメッセージ47を受信した端末装置33は、リダイレクトの指示に従い、サーバ300aに対して改めてリクエストメッセージを送信する。これにより、端末装置33は、サーバ300aからサービス提供を受けることができる。
【0113】
このようにして、既存の通信に影響を及ぼすことなく、端末装置からのリクエストメッセージの送信先を、別のサーバに切り替えることが可能となる。すなわち、即時リダイレクトが可能な端末装置以外の端末装置の通信には影響を及ぼさずに、即時リダイレクトが可能な端末装置に対してリダイレクトメッセージを送信し、別のサーバへアクセス先を誘導することができる。
【0114】
サーバ300では、ARPテーブル310内の通信していない端末装置のエントリが、通信が途絶えてからエージングタイムだけ経過するとクリアされる。そこで、第2の実施の形態では、あらかじめ設定した収集間隔(例えばエージングタイムと同じ期間)で、通信実績がある切替対象の端末装置すべてに対するリダイレクト処理が完了するまで、図11のステップS15〜S17の処理が繰り返される。その結果、端末装置31,32のエントリについても、通信が終了してからエージングタイム経過後にARPテーブル310から削除される。その後、端末装置31,32のIPアドレス「192.168.1.10」、「192.168.1.20」に、リダイレクト装置100のMACアドレス「aa:bb:cc:dd:ee:ff」を対応付けたエントリがARPテーブル310に登録される。その結果、端末装置31,32に対するリダイレクトメッセージの送信も可能となる。
【0115】
なお、各端末装置とサーバ300との間は、例えばHTTPにより通信を行うことができる。そこで端末装置33とサーバ300との間のHTTPによる通信のメッセージの例を図16〜図18に示す。
【0116】
図16は、リクエストメッセージの一例を示す図である。図16に示すリクエストメッセージ44は、GETコマンドにより、情報の取得を要求するメッセージである。このようなリクエストメッセージがサーバ300に送られると、サーバ300から要求された情報を含むレスポンスメッセージ46が応答される。
【0117】
図17は、レスポンスメッセージの一例を示す図である。レスポンスメッセージ46には、図17に示すようなヘッダ情報に加えて、端末装置33から要求された情報が含まれる。ただし、端末装置33は、切替対象であり、且つ即時リダイレクト可能であるため、レスポンスメッセージ46は、リダイレクト装置100で廃棄される。端末装置33には、レスポンスメッセージ46に代えて、リダイレクトメッセージ47が送信される。
【0118】
図18は、リダイレクトメッセージの一例を示す図である。リダイレクトメッセージ47では、「Location」によってリダイレクト先が指定されている。
以上説明したように、第2の実施の形態によれば、通信品質が良好な間は、リダイレクト装置100は、端末装置31〜38とサーバ300との間の通信に関与していない。そのため、切替対象の端末装置とサーバ300との間の通信に影響を及ぶことが抑止されている。その結果、リダイレクト装置100の性能の善し悪しが、端末装置とサーバ300との間の応答時間の遅延などの通信品質に影響を及ぼすことがなく、リダイレクト装置100に求められる性能も低くてすむ。
【0119】
また、通信品質が劣化した端末装置が検出された場合においても、即時リダイレクト可能な端末装置以外の端末装置に関する通信は、リダイレクト装置100を経由せずに行われる。そのため、リダイレクト制御を行う場合であっても、切替対象の端末装置以外の端末装置とサーバ300との間の通信に影響が及ぶことも抑止されている。
【0120】
しかも既存のネットワークに設けられたスイッチ200のミラーポートにリダイレクト装置100を接続するだけで、端末装置のアクセス先の切替制御が可能となる。そのため、既存のネットワークへの適用が容易であると共に、例えば運用中のネットワークにおけるサービスを停止せずに、端末装置に対するアクセス先の切替制御機能の導入が可能となる。
【0121】
さらに、サーバ300との間で通信中の端末装置については、通信が終了した後にリダイレクトメッセージを送信するため、一連の処理の途中で通信が遮断されることが抑止されている。その結果、リダイレクト制御を行うことによる通信への悪影響が抑止されている。
【0122】
また、品質計測に基づき、自動でリダイレクト制御を行うため、ユーザからのクレームなどがなくてもアクセス先を切り替えることができる。すなわち、早急なアクセス先の切替制御が可能である。
【0123】
なお、第2の実施の形態では、サーバ300のARPテーブル310に、端末装置のIPアドレスに対応付けて、リダイレクト装置100のMACアドレスを登録しているが、他のMACアドレスを登録してもよい。すなわち第2の実施の形態では、サーバ300から端末装置宛に送信されるパケットが廃棄されるのであれば、そのパケットを含むフレームの宛先はリダイレクト装置100でなくてもよい。例えば、サーバ300に対して同一セグメントで接続されたルータ26のMACアドレス以外のMACアドレスを、端末装置のIPアドレスに対応付けてARPテーブル310に設定することもできる。同一セグメント内のルータ26以外のMACアドレス宛に送信されたフレームは、どの機器でも受信されないか、受信する機器が存在してもルーティングされず、端末装置に転送されることはない。
【0124】
〔第3の実施の形態〕
次に第3の実施の形態について説明する。第3の実施例では、サーバからのレスポンスメッセージをリダイレクト装置で廃棄する代わりに、全てのリクエストメッセージをリダイレクト装置に送信する。切替対象のクライアントに対しては、リダイレクト装置からリダイレクトメッセージを送信し、そうでないクライアントのリクエストメッセージはリダイレクト装置がサーバに転送する。サーバは、受信したリクエストメッセージに対応するレスポンスメッセージを応答する。
【0125】
なお、第3の実施の形態におけるシステム構成は、図4〜図8に示した第2の実施の形態のシステム構成と同様である。ただし、切替制御部141の機能が、第2の実施の形態と第3の実施の形態とで異なる。そこで、以下第2の実施の形態の構成要素に示した符号を用いて、第3の実施の形態について説明する。
【0126】
第3の実施の形態では、切替制御部141は、サーバ300のARPテーブル310を制御する代わりに、リダイレクト装置100が接続されたスイッチ200の端末装置側のポートにACLを設定する。この際、切替制御部141は、切替対象となる端末装置、あるいはサブネットからのリクエストメッセージを他のポートに転送しないように、ACLを設定する。また第3の実施の形態では、切替制御部141は、ルータ26のARPテーブル26aを収集し、ARP管理部142にエントリを登録し、通信中の端末装置を特定する。
【0127】
図19は、第3の実施の形態で利用する情報の一例を示す図である。図19の例は、「192.168.1.0/24」のサブネットが切替対象となっている場合を想定している。なお、「192.168.1.0/24」の「/24」はサブネットマスクを示しており、「192.168.1.0」の上位24ビットがネットワークアドレスであることを表している。この場合、スイッチ200のACL240には、例えば「192.168.1.0/24」からのHTTPのメッセージの入力を遮断するように設定される。例えば、ACL240に「deny,192.168.1.0/24,HTTP」と設定される。なおACL240は、例えばスイッチ200のメモリ220(図6参照)に格納されている。
【0128】
またルータ26は、ARPテーブル26aを有している。ARPテーブル26aは、例えばルータ26内のRAMなどの記憶装置に格納されている。サーバ300に対する端末装置から通信は、すべてルータ26で中継されるため、ルータ26内のARPテーブル26aを参照することで、サーバ300と通信中の端末装置を把握することが可能である。
【0129】
なお通信中の端末装置は、例えばリダイレクト装置100の品質計測部120で計測中の端末装置のIPアドレスにより特定することもできる。また品質計測部120においてキャプチャしたリクエストメッセージを解析し、新規のリクエストメッセージかどうかで通信中の端末装置を判定することもできる。
【0130】
図20は、第3の実施の形態のリダイレクト処理の手順の一例を示すフローチャートである。以下、図20に示す処理をステップ番号に沿って説明する。
[ステップS41]品質計測部120は、端末装置ごとのトラヒックフローの品質を計測する。
【0131】
[ステップS42]品質計測部120は、品質が劣化した端末装置のIPアドレスに基づいて、切替対象の端末装置またはサブネットを特定する。
[ステップS43]品質計測部120は、サブネットを切替対象として特定した場合、過去に通信の実績がある該当サブネット内の端末装置を検索する。そして品質計測部120は、過去に通信の実績がある該当サブネット内の端末装置を、切替対象として特定する。品質計測部120は、特定した切替対象装置のIPアドレスを切替制御部141に通知する。
【0132】
[ステップS44]切替制御部141は、ルータ26のARPテーブル26aを収集する。切替制御部141は、収集したARPテーブル26aを、ARP管理部142に格納する。
【0133】
[ステップS45]切替制御部141は、スイッチ200のACL240を設定する。例えば切替制御部141は、サブネット全体が切替対象に特定された場合、ルータ26に接続されたポートへの切替対象のサブネットからの入力パケットを遮断するように、ACL240を設定する。また、切替制御部141は、切替対象に設定されたサブネット内の端末装置とは別に、個々の端末装置が切替対象に特定された場合、ルータ26に接続されたポートへの該当する端末装置からの入力パケットを遮断するように、ACL240を設定する。
【0134】
[ステップS46]切替制御部141は、キャプチャ部110でキャプチャされたパケットで示されるメッセージを受信する。
[ステップS47]切替制御部141は、受信したメッセージが、即時リダイレクト可能な切替対象の端末装置からのリクエストか否かを判断する。即時リダイレクト可能かどうかは、ステップS44で取得したARPテーブル26aを参照して判断する。取得したリクエストメッセージの送信元のIPアドレスのエントリが、取得したARPテーブル26aに含まれていなければ、送信元のIPアドレスに対応する端末装置は、即時リダイレクト可能な端末装置と判断できる。切替制御部141は、即時リダイレクト可能な切替対象の端末装置からのリクエストであれば、処理をステップS49に進める。切替制御部141は、即時リダイレクト可能な切替対象の端末装置からのリクエストでなければ、処理をステップS48に進める。
【0135】
[ステップS48]切替制御部141は、サーバ300にリクエストメッセージを転送する。切替制御部141は、その後、処理をステップS46に進める。
[ステップS49]切替制御部141は、受信したリクエストメッセージの送信元の端末装置に対して、リダイレクトメッセージを送信する。送信されるリダイレクトメッセージには、例えばサーバ300aへのリダイレクトの指示が含まれる。この際、ステップS46で受信したメッセージは廃棄される。
【0136】
[ステップS50]切替制御部141は、切替対象のすべての端末装置に対してリダイレクトメッセージを送信し、アクセス先の切替制御を行ったか否かを判断する。切替対象のすべての端末装置の切替制御が完了した場合、切替制御部141は、処理をステップS51に進める。またアクセス先の切り替えを行っていない切替対象の端末装置がある場合、切替制御部141は、処理をステップS46に進める。
【0137】
[ステップS51]切替制御部141は、ステップS45で行ったスイッチ200のACL240の設定を解除する。
このようにして、スイッチ200のACL240を利用して、切替対象の端末装置からのリクエストメッセージがサーバ300に送られるのを遮断し、リダイレクト装置100がそのリクエストメッセージに対してリダイレクトメッセージを応答することができる。
【0138】
図21は、第3の実施の形態におけるリダイレクト制御の一例を示す図である。図21の例では、端末装置31,33それぞれからリクエストメッセージ51,55が送信された場合の、メッセージの流れを示している。なお、図19に示すように、「192.168.1.0/24」のサブネット全体が切替対象であり、該当サブネットの通信がスイッチ200で遮断されているものとする。また図19のARPテーブル26aに示すように、IPアドレス「192.168.1.10」の端末装置31は通信中であるが、IPアドレス「192.168.1.15」の端末装置33は通信中でないものとする。
【0139】
通信中の端末装置31から送信されたリクエストメッセージ51は、スイッチ200において遮断される。このとき、スイッチ200では、リクエストメッセージ51の複製を生成し、複製のリクエストメッセージ52をミラーポートから出力する。複製のリクエストメッセージ52はリダイレクト装置100に入力される。
【0140】
複製のリクエストメッセージ52を受信したリダイレクト装置100は、端末装置31が通信中であるため、複製のリクエストメッセージ52と同じ内容のリクエストメッセージ53を、サーバ300に送信する。リクエストメッセージ53を受信したサーバ300は、リクエストメッセージ53の内容に応じて処理を実行し、端末装置31のIPアドレスを宛先とするパケットにより、レスポンスメッセージ54を出力する。レスポンスメッセージ54は、スイッチ200を介してルータ26に転送される。そしてレスポンスメッセージ54は、ネットワーク20を介して端末装置31に転送される。
【0141】
なお、図21には示していないが、切替対象外の端末装置からサーバ300宛のリクエストメッセージが送信された場合、スイッチ200で遮断されずにリクエストメッセージがサーバ300に送られ、サーバ300からレスポンスメッセージが応答される。
【0142】
また通信中でなかった端末装置33から送信されたリクエストメッセージ55は、スイッチ200において遮断される。このとき、スイッチ200では、リクエストメッセージ55の複製を生成し、複製のリクエストメッセージ56をミラーポートから出力する。複製のリクエストメッセージ56はリダイレクト装置100に入力される。
【0143】
複製のリクエストメッセージ56を受信したリダイレクト装置100では、切替制御部141により端末装置33宛のリダイレクトメッセージ57が生成され、リダイレクトメッセージ57が送受信部150を介して出力される。リダイレクトメッセージ57は、スイッチ200においてルータ26に転送される。そしてリダイレクトメッセージ57は、ネットワーク20を介して端末装置33に転送される。
【0144】
リダイレクトメッセージ57には、例えばサーバ300が設置されたデータセンタAとは別のデータセンタB内のサーバ300aのIPアドレスを指定した、リダイレクト指示が含まれている。そこで、リダイレクトメッセージ57を受信した端末装置33は、リダイレクトの指示に従い、サーバ300aに対して改めてリクエストメッセージを送信する。これにより、端末装置33は、サーバ300aからサービス提供を受けることができる。
【0145】
このようにして、既存の通信に影響を及ぼすことなく、端末装置からのリクエストメッセージの送信先を、別のサーバに切り替えることが可能となる。すなわち、即時リダイレクトが可能な端末装置以外の端末装置の通信には影響を及ぼさずに、即時リダイレクトが可能な端末装置に対してリダイレクトメッセージを送信し、別のサーバへアクセス先を誘導することができる。
【0146】
〔第4の実施の形態〕
次に第4の実施の形態について説明する。第4の実施の形態では、通信品質が劣化した端末装置を検出すると、すべてのリクエストメッセージをリダイレクト装置に送信する。リダイレクト装置は、即時リダイレクト可能な切替対象の端末装置に対してはリダイレクトメッセージを送信し、そうでない端末装置のリクエストメッセージはサーバに転送する。このようにして、サーバからは、通常のレスポンスメッセージのみを応答させるようにしたものである。
【0147】
なお、第4の実施の形態におけるシステム構成は、図4〜図8に示した第2の実施の形態のシステム構成と同様である。ただし、切替制御部141の機能が、第2の実施の形態と第4の実施の形態とで異なる。そこで、以下第2の実施の形態の構成要素に示した符号を用いて、第4の実施の形態について説明する。
【0148】
第4の実施の形態では、すべてのリクエストメッセージをリダイレクト装置100に送信させるために、ルータ26のARPテーブル26aを操作する。例えばリダイレクト装置100は、通信品質が劣化した端末装置を検出すると、ルータ26のARPテーブル26a内のサーバ300のIPアドレスのエントリのMACアドレスを、リダイレクト装置100のMACアドレスに書き換える。
【0149】
図22は、更新後のルータのARPテーブルの一例を示す図である。ルータ26のARPテーブル26aには、サーバ300のIP「192.168.100.5」に対応付けてリダイレクト装置100のMACアドレス「aa:bb:cc:dd:ee:ff」を設定したエントリが登録されている。このようなARPテーブル26aに基づいてルータ26がパケットの転送を行うと、転送するパケットを含むフレームの宛先には、リダイレクト装置100のMACアドレス「aa:bb:cc:dd:ee:ff」が設定される。すると、リダイレクト装置100のMACアドレス「aa:bb:cc:dd:ee:ff」を宛先とするフレームは、スイッチ200においてリダイレクト装置100に転送される。このようにしてサーバ300宛のすべてのIPパケットを、リダイレクト装置100に転送させることができる。
【0150】
また、リダイレクト装置100の切替制御部141はルータ26のARPテーブル26aを収集し、ARP管理部142に登録する。そして切替制御部141は、取得したARPテーブル26aに基づいて、通信中の端末装置を特定する。なお通信中の端末装置は、例えばリダイレクト装置100の品質計測部120で計測中の端末装置のIPアドレスにより特定することもできる。また品質計測部120においてキャプチャしたリクエストメッセージを解析し、新規のリクエストメッセージかどうかで通信中の端末装置を判定することもできる。
【0151】
図23は、第4の実施の形態のリダイレクト処理の手順の一例を示すフローチャートである。以下、図23に示す処理をステップ番号に沿って説明する。なお、図23に示すステップS61〜S64、S67〜S71の処理は、それぞれ図20に示した第3の実施の形態のフローチャートのステップS41〜S44、S47〜S51の処理と同じである。以下、図20のフローチャートと処理が異なるステップS65,S66,S72について説明する。
【0152】
[ステップS65]切替制御部141は、ルータ26のARPテーブル26aを設定する。例えば切替制御部141は、ルータ26内のARPテーブル26aに登録されているサーバ300のIPアドレスのエントリのMACアドレスを、リダイレクト装置100のMACアドレスに変更する。
【0153】
[ステップS66]切替制御部141は、ルータ26のARPテーブル26aの設定によって転送されてきた、サーバ300を宛先としたメッセージを受信する。なお切替制御部141は、図20に示した第3の実施の形態のステップS46の処理と同様に、キャプチャ部110でキャプチャしたパケットで示されるメッセージを受信することもできる。
【0154】
[ステップS72]切替制御部141は、ステップS65で行ったルータ26のARPテーブル26aの設定の解除指示(例えば、サーバ300のMACアドレスに戻す指示)を送信する。
【0155】
このようにして、ルータ26のARPテーブル26aを利用して、切替対象の端末装置からのリクエストメッセージがサーバ300に送られるのを遮断できる。そして、リダイレクト装置100が、リクエストメッセージに対してリダイレクトメッセージを応答することができる。
【0156】
図24は、第4の実施の形態におけるリダイレクト制御の一例を示す図である。図24の例では、端末装置31,33それぞれからリクエストメッセージ61,64が送信された場合の、メッセージの流れを示している。なお、「192.168.1.0/24」のサブネット全体が切替対象であるものとする。また図22のARPテーブル26aに示すように、IPアドレス「102.168.1.10」の端末装置31は通信中であるが、IPアドレス「102.168.1.15」の端末装置33は通信中でないものとする。
【0157】
通信中の端末装置31から送信されたリクエストメッセージ61は、スイッチ200においてリダイレクト装置100に転送される。リクエストメッセージ61を受信したリダイレクト装置100は、端末装置31が通信中であるため、リクエストメッセージ61と同じ内容のリクエストメッセージ62を、サーバ300に送信する。リクエストメッセージ62を受信したサーバ300は、リクエストメッセージ62の内容に応じて処理を実行し、端末装置31のIPアドレスを宛先とするパケットにより、レスポンスメッセージ63を出力する。レスポンスメッセージ63は、スイッチ200を介してルータ26に転送される。そしてレスポンスメッセージ63は、ネットワーク20を介して端末装置31に転送される。
【0158】
なお、図24には示していないが、切替対象外の端末装置からサーバ300宛のリクエストメッセージが送信された場合も、端末装置31からリクエストメッセージが送信された場合と同様に処理され、レスポンスメッセージが端末装置に応答される。
【0159】
また通信中でなかった端末装置33から送信されたリクエストメッセージ64は、スイッチ200においてリダイレクト装置100に転送される。
リクエストメッセージ64を受信したリダイレクト装置100では、切替制御部141により端末装置33宛のリダイレクトメッセージ65が生成され、リダイレクトメッセージ65が送受信部150を介して出力される。リダイレクトメッセージ65は、スイッチ200においてルータ26に転送される。そしてリダイレクトメッセージ65は、ネットワーク20を介して端末装置33に転送される。
【0160】
リダイレクトメッセージ65には、例えばサーバ300が設置されたデータセンタAとは別のデータセンタB内のサーバ300aのIPアドレスを指定した、リダイレクト指示が含まれている。そこで、リダイレクトメッセージ65を受信した端末装置33は、リダイレクトの指示に従い、サーバ300aに対して改めてリクエストメッセージを送信する。これにより、端末装置33は、サーバ300aからサービス提供を受けることができる。
【0161】
このようにして、既存の通信に影響を及ぼすことなく、端末装置からのリクエストメッセージの送信先を、別のサーバに切り替えることが可能となる。すなわち、即時リダイレクトが可能な端末装置以外の端末装置の通信には影響を及ぼさずに、即時リダイレクトが可能な端末装置に対してリダイレクトメッセージを送信し、別のサーバへアクセス先を誘導することができる。
【0162】
〔第5の実施の形態〕
次に第5の実施の形態について説明する。第5の実施の形態は、リダイレクト装置の制御によるサーバからのレスポンスメッセージを遮断する手法を用いて、試験対象サーバの運用前の事前検証を実施するものである。
【0163】
図25は、第5の実施の形態のシステム構成の一例を示す図である。図25では、図4に示した第2の実施の形態と同じ要素には図4と同じ符号を付し、説明を省略する。
第5の実施の形態では、第2の実施の形態におけるリダイレクト装置100に代えて、試験装置400がスイッチ200に接続されている。試験装置400は、スイッチ200のミラーポートと通常の通信ポートとのそれぞれに対して接続されている。またスイッチ200には、運用サーバ300bと試験対象サーバ300cとが接続されている。
【0164】
運用サーバ300bは、ネットワーク20を介して、端末装置31〜34に対してサービスを提供するコンピュータである。試験対象サーバ300cは、運用サーバ300bと同様の処理機能を有することの試験対象となるコンピュータである。例えば運用サーバ300bの代替用に用意されたコンピュータが、試験対象サーバ300cとしてスイッチ200に接続される。
【0165】
試験装置400は、試験対象サーバ300cの動作試験および性能試験を実施するコンピュータである。例えば試験装置400は、端末装置31〜34と運用サーバ300bとの間で通信されたメッセージを、スイッチ200のミラーポートからキャプチャする。試験装置400は、取得したメッセージフローを通信履歴として記憶する。
【0166】
その後、試験装置400は、スイッチ200のACL240を操作し、試験対象サーバ300cからのレスポンスメッセージが、端末装置31〜34に転送されないように制御する。次に、試験装置400は、記憶した通信履歴を用いて、試験対象サーバ300cの動作試験を行う。
【0167】
なお、試験装置400と運用サーバ300b,300cとは、図5に示したリダイレクト装置100と同様のハードウェア構成で実現することができる。
図26は、第5の実施の形態における試験装置の機能の一例を示すブロック図である。試験装置400は、キャプチャ部410、履歴管理部420、履歴記憶部430、試験実施部440、送受信部450、および表示部460を有する。
【0168】
キャプチャ部410は、スイッチ200のミラーポートから出力されたパケットをキャプチャする。
履歴管理部420は、キャプチャ部410でキャプチャしたパケットに基づいて認識できるメッセージの通信履歴を、履歴記憶部430に格納する。例えば履歴管理部420は、端末装置31〜34と運用サーバ300bとの間で通信されたメッセージの履歴情報を履歴記憶部430に格納する。また履歴管理部420は、試験実施部440と試験対象サーバ300cとの間で通信されたメッセージの履歴情報を履歴記憶部430に格納する。
【0169】
履歴記憶部430は、通信履歴を記憶する。例えば試験装置400内のRAMまたはHDDの記憶領域の一部が、履歴記憶部430として使用される。
試験実施部440は、履歴管理部420を介して履歴記憶部430に格納された通信履歴を取得し、取得した通信履歴を用いて、試験対象サーバ300cの動作試験を行う。例えば試験実施部440は、端末装置31〜34から運用サーバ300bに送られたリクエストメッセージと同じリクエストメッセージを、送受信部450を介して試験対象サーバ300cに送信する。このとき送信されるリクエストメッセージの送信元のIPアドレスは、いずれかの端末装置31〜34のIPアドレスである。試験実施部440は、試験対象サーバ300cからのレスポンスメッセージを、キャプチャ部410を介して取得する。そして試験実施部440は、端末装置31〜34と運用サーバ300bとの間の通信履歴と、試験装置400と試験対象サーバ300cとの間の通信履歴とを比較し、試験対象サーバ300cが運用サーバ300bと同様に動作することを検証する。
【0170】
送受信部450は、スイッチ200を介して、試験対象サーバ300cへのリクエストメッセージを送信する。
表示部460は、試験実施部440による試験結果を、モニタなどに表示する。
【0171】
このような機能を有する試験装置400により、試験対象サーバ300cの動作試験が行われる。なお、スイッチ200では、初期状態として、運用サーバ300bが接続された通信ポートにおける入出力パケットの複製を、ミラーポートから出力するように設定されている。
【0172】
図27は、試験の手順を示すフローチャートである。以下、図27に示す処理をステップ番号に沿って説明する。なお以下の処理は、例えば試験担当者による試験開始指示の入力が行われたときに実行される。
【0173】
[ステップS81]キャプチャ部410は、運用サーバ300bと端末装置31〜34それぞれとの間で通信されたパケットをキャプチャする。キャプチャ部410は、キャプチャしたパケットを履歴管理部420に渡す。履歴管理部420は、例えば取得したパケットを解析して通信されたメッセージを生成し、生成したメッセージを履歴記憶部430に格納する。
【0174】
[ステップS82]試験実施部440は、ステップS81におけるキャプチャ処理の期間が所定期間に達すると、スイッチ200におけるミラーリングの対象を、試験対象サーバ300cが接続された通信ポートに設定する。
【0175】
[ステップS83]試験実施部440は、スイッチ200のACLの設定を行う。例えば試験実施部440は、スイッチ200のACLに、試験対象サーバ300cが接続された通信ポートからの入力パケットのうち、端末装置31〜34が属するサブネット「192.168.1.0/24」を宛先とするパケットを遮断する設定を行う。これにより、試験対象サーバ300cから端末装置31〜34宛のレスポンスメッセージは、スイッチ200で遮断される。
【0176】
[ステップS84]試験実施部440は、履歴記憶部430内の運用サーバ300bを宛先とする、未抽出のリクエストメッセージを、取得時刻の早い順に1つずつ抽出する。そして試験実施部440は、抽出したリクエストメッセージと同じ内容のリクエストメッセージを、端末装置31〜34のIPアドレスを送信元のアドレスとして、試験対象サーバ300cに対して送信する。
【0177】
[ステップS85]履歴管理部420は、試験対象サーバからのレスポンスメッセージを、キャプチャ部410を介して受信する。そして履歴管理部420は、受信したレスポンスメッセージを、履歴記憶部430に格納する。
【0178】
[ステップS86]試験実施部440は、履歴記憶部430内に、運用サーバ300bを宛先とする未抽出のリクエストメッセージが残っているか否かを判断する。試験実施部440は、該当するリクエストメッセージがあれば、処理をステップS84に進める。また試験実施部440は、該当するリクエストメッセージがなければ、処理をステップS87に進める。
【0179】
[ステップS87]試験実施部440は、送信したリクエストメッセージに対して運用サーバ300bが応答したレスポンスメッセージと、ステップS85で受信したレスポンスメッセージとの内容が同じか否かを判断する。試験実施部440は、レスポンスメッセージの内容が同じなら、処理をステップS88に進める。また試験実施部440は、レスポンスメッセージの内容が異なる場合、処理をステップS89に進める。
【0180】
[ステップS88]試験実施部440は、試験対象サーバ300cは正常動作していると判定する。例えば、試験実施部440は、正常動作していることを、表示部460を介してモニタに表示するその後、処理が終了する。
【0181】
[ステップS89]試験実施部440は、試験対象サーバ300cは異常動作していると判定する。例えば、試験実施部440は、異常動作していることを、表示部460を介してモニタに表示するその後、処理が終了する。
【0182】
このようにして、試験対象サーバ300cの動作試験が行われる。
図28は、通信履歴の取得状況の一例を示す図である。端末装置31から運用サーバ300bにリクエストメッセージ71が送信されると、スイッチ200においてリクエストメッセージ71が複製される。そしてスイッチ200のミラーポートから、複製のリクエストメッセージ72が出力され、試験装置400に入力される。運用サーバ300bでは、リクエストメッセージ71に応じた処理を実行し、端末装置31宛のレスポンスメッセージ73を送信する。するとスイッチ200において、レスポンスメッセージ73が複製される。そしてスイッチ200のミラーポートから複製のレスポンスメッセージ74が出力され、試験装置400に入力される。
【0183】
同様に、端末装置33から運用サーバ300bにリクエストメッセージ75が送信されると、スイッチ200においてリクエストメッセージ75が複製される。そしてスイッチ200のミラーポートから、複製のリクエストメッセージ76が出力され、試験装置400に入力される。運用サーバ300bでは、リクエストメッセージ75に応じた処理を実行し、端末装置33宛のレスポンスメッセージ77を送信する。するとスイッチ200において、レスポンスメッセージ77が複製される。そしてスイッチ200のミラーポートから複製のレスポンスメッセージ78が出力され、試験装置400に入力される。
【0184】
試験装置400では、スイッチ200から受信した複製のリクエストメッセージ72,76や、複製のレスポンスメッセージ74,78を履歴情報として記憶する。
図29は、取得される通信履歴の一例を示す図である。図29には、端末装置31と運用サーバ300bとの間の通信履歴431の例が示されている。例えば通信履歴431には、端末装置のIPアドレスと運用サーバのIPアドレスとの組に対応付けて、リクエストメッセージとレスポンスメッセージとの組のリストが、時系列に登録されている。
【0185】
このような通信履歴431を取得した後、試験装置400は、ミラーポートへのミラーリングの対象を、試験対象サーバ300cが接続された通信ポートへの入力パケットに切り替える。また試験装置400は、スイッチ200のACLを操作する。
【0186】
図30は、スイッチのACL操作の一例を示す図である。試験装置400の試験実施部440は、スイッチ200のACL240に、例えば「deny,192.168.1.0/24,HTTP」と設定する。これにより、試験対象サーバ300cからサブネット「192.168.1.0/24」内の端末装置宛のパケットは、スイッチ200で遮断される。
【0187】
その後、試験実施部440は、試験対象サーバ300cに対して、試験用のリクエストメッセージを送信する。
図31は、試験時のメッセージの送受信状況の一例を示す図である。例えば試験装置400から、端末装置31のIPアドレスを送信元とするリクエストメッセージ81が、試験対象サーバ300c宛に送信される。リクエストメッセージ81は、スイッチ200により試験対象サーバ300cに転送される。試験対象サーバ300cでは、リクエストメッセージ81に応じた処理を実行し、端末装置31宛のレスポンスメッセージ82を送信する。レスポンスメッセージ82は、スイッチ200において遮断されると共に、スイッチ200でレスポンスメッセージ82が複製される。そしてスイッチ200のミラーポートから複製のレスポンスメッセージ83が出力され、試験装置400に入力される。
【0188】
同様に、試験装置400から、端末装置33のIPアドレスを送信元とするリクエストメッセージ84が、試験対象サーバ300c宛に送信される。リクエストメッセージ84は、スイッチ200により試験対象サーバ300cに転送される。試験対象サーバ300cでは、リクエストメッセージ84に応じた処理を実行し、端末装置33宛のレスポンスメッセージ85を送信する。レスポンスメッセージ85は、スイッチ200において遮断されると共に、スイッチ200でレスポンスメッセージ85が複製される。そしてスイッチ200のミラーポートから複製のレスポンスメッセージ86が出力され、試験装置400に入力される。
【0189】
試験装置400では、このようにして取得したレスポンスメッセージ83,86を、例えば対応するリクエストメッセージ81,84と組にして、履歴記憶部430内に試験時の履歴情報として格納する。そして、運用時の履歴情報と試験時の履歴情報とを比較することで、試験対象サーバ300cが正しく動作しているか否かが検証される。
【0190】
図32は、試験対象サーバが正しく動作した場合の通信例を示す図である。図32には、試験装置400と試験対象サーバ300cとの間の通信履歴432の例が示されている。例えば通信履歴432には、試験装置400がリクエストメッセージの送信元に設定した端末装置のIPアドレスと、試験対象サーバ300cのIPアドレスとの組に対応付けて、通信されたメッセージが登録されている。例えば通信履歴432には、リクエストメッセージとレスポンスメッセージとの組のリストが、時系列に登録されている。
【0191】
図32に示す通信履歴432では、運用サーバ300bから端末装置31に送信されたレスポンスメッセージと同じレスポンスメッセージが、試験対象サーバ300cから送信されている。従って、試験実施部440は、試験対象サーバ300cが正常に動作していると判定する。
【0192】
図33は、試験対象サーバが正しく動作していない場合の通信例を示す図である。図33には、試験装置400と試験対象サーバ300cとの間の通信履歴433の例が示されている。図33に示す通信履歴433では、運用サーバ300bから端末装置31に送信されたレスポンスメッセージと一部異なるレスポンスメッセージが、試験対象サーバ300cから送信されている。従って、試験実施部440は、試験対象サーバ300cが正常に動作していないと判定する。
【0193】
以上により、これから導入しようとしているサーバが正しく動作するかを事前に検証できる。
〔その他の実施の形態〕
第2〜第5の実施の形態では、スイッチ200のミラーポートを用いて、パケットのキャプチャを行っているが、スイッチ機能を有していないハブ(マルチポートリピータ)を用いてパケットをキャプチャすることもできる。スイッチ機能を有していないハブでは、1つの通信ポートに入力されたパケットは、他のすべての通信ポートから出力される。そのため、リダイレクト装置100または試験装置400を、端末装置とサーバとの通信経路上に設置されたハブの任意の通信ポートに接続することで、ハブを経由して送受信されるパケットのキャプチャが可能となる。
【0194】
第5の実施の形態では、スイッチ200のACL240の設定により、試験対象サーバ300cから端末装置へのレスポンスメッセージの通信を遮断しているが、他の方法で通信を遮断することもできる。例えば第2の実施の形態と同様に、試験対象サーバ300cのARPテーブル310を操作することで、端末装置へのレスポンスメッセージを試験装置400に転送させるようにしてもよい。
【0195】
なお、上記の各実施の形態に示した処理機能は、コンピュータによって実現することができる。その場合、リダイレクト装置100や試験装置400が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
【0196】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0197】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0198】
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
【0199】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【0200】
以上の実施の形態に開示された技術には、以下の付記に示す技術が含まれる。
(付記1) 第1の装置が送信した第2の装置宛の要求の、前記第1の装置と前記第2の装置との通信経路上に配置されたネットワーク機器から前記第2の装置への通信と、前記第2の装置が送信した前記第1の装置宛の応答の通信との少なくとも一方の通信を、ネットワークを介した遠隔制御により遮断する遮断手段と、
前記第1の装置が送信した前記第2の装置宛の要求を、前記ネットワーク機器から取得し、要求の送信先の第3の装置への切替指示を、前記第1の装置へ送信する送信手段と、
を有する情報処理装置。
【0201】
(付記2) 前記遮断手段は、前記第1の装置と前記第2の装置との間の最後の通信から所定期間以上経過後に、通信の遮断を行い、
前記送信手段は、通信の遮断後に前記第1の装置が送信した前記第2の装置宛の要求を取得し、要求の送信先の前記第3の装置への切替指示を前記第1の装置へ送信する、
ことを特徴とする付記1記載の情報処理装置。
【0202】
(付記3) 前記遮断手段は、前記第2の装置から、所定期間以内に通信が行われた通信相手のアドレスが登録されたテーブルを取得して、記憶手段に格納し、該テーブルに前記第1の装置のアドレスが登録されていなければ、前記第1の装置と前記第2の装置との間の最後の通信から所定期間以上経過していると判断することを特徴とする付記2記載の情報処理装置。
【0203】
(付記4) 前記遮断手段は、前記第2の装置に対して、前記第1の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先アドレスとして、前記第1の装置と前記第2の装置との通信経路上の装置のアドレスと異なるアドレスの登録指示を送信する、
ことを特徴とする付記1乃至3のいずれかに記載の情報処理装置。
【0204】
(付記5) 前記遮断手段は、前記第2の装置に対して、前記第1の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先のアドレスとして、前記情報処理装置のアドレスの登録を指示する登録指示を送信し、前記第2の装置から送られた前記第1の装置宛のパケットを廃棄する、
ことを特徴とする付記4記載の情報処理装置。
【0205】
(付記6) 前記遮断手段は、前記ネットワーク機器に対して、前記第1の装置が送信した前記第2の装置宛の要求の通信の遮断指示を送信する、
ことを特徴とする付記1乃至3のいずれかに記載の情報処理装置。
【0206】
(付記7) 前記遮断手段は、前記ネットワーク機器から、前記第1の装置が送信した前記第2の装置宛の要求を取得し、前記第1の装置と前記第2の装置との間の直前の通信から所定期間以上経過していなければ、該要求を前記第2の装置に転送し、
前記送信手段は、前記第1の装置と前記第2の装置との間の直前の通信から所定期間以上経過した後に、前記第1の装置が送信した前記第2の装置宛の要求を取得した場合、要求の送信先の前記第3の装置への切替指示を前記第1の装置へ送信する、
ことを特徴とする付記6記載の情報処理装置。
【0207】
(付記8) 前記遮断手段は、前記第1の装置への切替指示送信後、前記ネットワーク機器に対して、第1の装置が送信した前記第2の装置宛の通信の遮断の解除指示を送信する、
ことを特徴とする付記6または7のいずれかに記載の情報処理装置。
【0208】
(付記9) 前記遮断手段は、前記第2の装置と同一セグメントで接続されたルータに対して、前記第2の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先アドレスとして、前記第1の装置と前記第2の装置との通信経路上の装置のアドレスと異なるアドレスの登録指示を送信する、
ことを特徴とする付記1乃至3のいずれかに記載の情報処理装置。
【0209】
(付記10) 前記遮断手段は、前記ルータに対して、前記第2の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先のアドレスとして、前記情報処理装置のアドレスの登録を指示する登録指示を送信し、前記ルータから送られた前記第2の装置宛のパケットのうち、前記第1の装置以外の装置からのパケットは前記第2の装置に転送し、前記第1の装置からのパケットは廃棄する、
ことを特徴とする付記9記載の情報処理装置。
【0210】
(付記11) 前記遮断手段は、前記第1の装置への切替指示送信後、前記ルータに対して、前記第2の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先アドレスの設定の解除指示を送信する、
ことを特徴とする付記9または10のいずれかに記載の情報処理装置。
【0211】
(付記12) 前記第2の装置に要求を送信する複数の装置それぞれの前記第2の装置との間の通信品質を計測し、通信品質が所定値以下になった装置を前記第1の装置に決定する計測手段をさらに有することを特徴とする付記1乃至11のいずれかに記載の情報処理装置。
【0212】
(付記13) 前記計測手段は、前記第2の装置と他の装置との間の通信を前記ネットワーク機器から取得し、取得した通信を解析して、通信品質が所定値以下になった装置を判断する、
ことを特徴とする付記12記載の情報処理装置。
【0213】
(付記14) 前記計測手段は、通信品質が所定値以下になった装置と同一サブネットに属する装置それぞれを、前記第1の装置に決定することを特徴とする付記12または13のいずれかに記載の情報処理装置。
【0214】
(付記15) 前記計測手段は、通信品質が所定値以下になった装置と同一サブネットに属する装置のうち、前記第2の装置との間で過去に通信実績のある装置を、前記第1の装置に決定することを特徴とする付記12乃至14のいずれかに記載の情報処理装置。
【0215】
(付記16) 前記送信手段は、前記切替指示の送信元を、前記第2の装置に偽装することを特徴とする付記1乃至15のいずれかに記載の情報処理装置。
(付記17) 第1の装置が送信した第2の装置宛の応答の、前記第1の装置と前記第2の装置との通信経路上に配置されたネットワーク機器から前記第2の装置への通信を、ネットワークを介した遠隔制御により遮断する遮断手段と、
送信元を前記第2の装置に偽装した要求を前記第1の装置に送信する送信手段と、
前記第1の装置からの応答を前記ネットワーク機器から取得し、該応答の内容に基づいて前記第1の装置の動作検証を行う検証手段と、
を有する情報処理装置。
【0216】
(付記18) コンピュータに、
第1の装置が送信した第2の装置宛の要求の、前記第1の装置と前記第2の装置との通信経路上に配置されたネットワーク機器から前記第2の装置への通信と、前記第2の装置が送信した前記第1の装置宛の応答の通信との少なくとも一方の通信を、ネットワークを介した遠隔制御により遮断し、
前記第1の装置が送信した前記第2の装置宛の要求を、前記ネットワーク機器から取得し、要求の送信先の第3の装置への切替指示を、前記第1の装置へ送信する、
処理を実行させるプログラム。
【0217】
(付記19) コンピュータが、
第1の装置が送信した第2の装置宛の要求の、前記第1の装置と前記第2の装置との通信経路上に配置されたネットワーク機器から前記第2の装置への通信と、前記第2の装置が送信した前記第1の装置宛の応答の通信との少なくとも一方の通信を、ネットワークを介した遠隔制御により遮断し、
前記第1の装置が送信した前記第2の装置宛の要求を、前記ネットワーク機器から取得し、要求の送信先の第3の装置への切替指示を、前記第1の装置へ送信する、
ことを特徴とする制御方法。
【符号の説明】
【0218】
1 情報処理装置
1a 計測手段
1b 遮断手段
1c 送信手段
2 第1の装置
3 第2の装置
4 ネットワーク機器
5 第3の装置
N ネットワーク
【技術分野】
【0001】
本発明は、アクセス先の切替制御を行う情報処理装置、プログラム、および制御方法に関する。
【背景技術】
【0002】
広域に配備される複数のデータセンタおよびそれらを接続するネットワークにおいて、ネットワークやデータセンタ内のサーバの負荷が高くなり、ユーザが使用する端末装置へのサーバからのレスポンスが遅くなる場合がある。このような場合、他のサーバあるいは他のデータセンタへ端末装置からのアクセス先を早急に切り替えて、端末装置へのレスポンスを向上させることが重要である。
【0003】
端末装置に対してアクセス先を切り替えさせる技術としては、例えば、負荷分散装置において、クライアントに対して少ない遅延時間でサービスを提供可能なデータセンタを優先的に、そのクライアントの推奨センタとして選択する技術が考えられている。この技術では、負荷分散装置は、クライアントからのリクエストに対して、推奨センタへの再アクセス指示するリダイレクトメッセージを応答することで、クライアントに対して推奨センタにアクセスさせる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−332825号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、従来は、端末装置とサーバとの通信経路上に負荷分散装置を配置しないと、端末装置ごとの要求の送信先のサーバの切り替えができなかった。このように端末装置とサーバとの間に負荷分散装置を配置すると、負荷分散装置がすべての要求を中継することとなり、負荷分散装置の性能の善し悪しが、通信品質に影響を及ぼしてしまう。例えば、負荷分散装置の性能が十分でない場合には、端末装置に対するサーバからの応答の遅延時間が増大してしまう。
【0006】
1つの側面では、本発明は、通信への影響を少なく抑えながら、要求の送信先の切替制御を行うことができる情報処理装置、プログラム、および制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
1つの案では、遮断手段と送信手段とを有する情報処理装置が提供される。遮断手段は、第1の装置が送信した第2の装置宛の要求の、第1の装置と第2の装置との通信経路上に配置されたネットワーク機器から第2の装置への通信と、第2の装置が送信した第1の装置宛の応答の通信との少なくとも一方の通信を、ネットワークを介した遠隔制御により遮断する。送信手段は、第1の装置が送信した第2の装置宛の要求を、ネットワーク機器から取得し、要求の送信先の第3の装置への切替指示を、第1の装置へ送信する。
【発明の効果】
【0008】
通信への影響を少なく抑えながら、アクセス先の切替制御を行うことが可能となる。
【図面の簡単な説明】
【0009】
【図1】第1の実施の形態に係る装置の機能構成の一例を示すブロック図である。
【図2】第1の実施の形態に係る情報処理装置の処理手順の一例を示すフローチャートである。
【図3】第1の実施の形態によるアクセス先の切替制御の一例を示す図である。
【図4】第2の実施の形態のシステム構成例を示す図である。
【図5】第2の実施の形態に用いるリダイレクト装置のハードウェアの一構成例を示す図である。
【図6】スイッチのハードウェア構成の一例を示す図である。
【図7】リダイレクト装置の機能の一例を示すブロック図である。
【図8】各装置のIPアドレスまたはMACアドレスの一例を示す図である。
【図9】品質情報記憶部のデータ構造の一例を示す図である。
【図10】ARPテーブルのデータ構造の一例を示す図である。
【図11】リダイレクト処理の手順の一例を示すフローチャートの前半である。
【図12】リダイレクト処理の手順の一例を示すフローチャートの後半である。
【図13】ARPテーブルの制御の手順の一例を示すシーケンス図である。
【図14】更新後のARPテーブルの一例を示す図である。
【図15】第2の実施の形態におけるリダイレクト制御の一例を示す図である。
【図16】リクエストメッセージの一例を示す図である。
【図17】レスポンスメッセージの一例を示す図である。
【図18】リダイレクトメッセージの一例を示す図である。
【図19】第3の実施の形態で利用する情報の一例を示す図である。
【図20】第3の実施の形態のリダイレクト処理の手順の一例を示すフローチャートである。
【図21】第3の実施の形態におけるリダイレクト制御の一例を示す図である。
【図22】更新後のルータのARPテーブルの一例を示す図である。
【図23】第4の実施の形態のリダイレクト処理の手順の一例を示すフローチャートである。
【図24】第4の実施の形態におけるリダイレクト制御の一例を示す図である。
【図25】第5の実施の形態のシステム構成の一例を示す図である。
【図26】第5の実施の形態における試験装置の機能の一例を示すブロック図である。
【図27】試験の手順を示すフローチャートである。
【図28】通信履歴の取得状況の一例を示す図である。
【図29】取得される通信履歴の一例を示す図である。
【図30】スイッチのACL操作の一例を示す図である。
【図31】試験時のメッセージの送受信状況の一例を示す図である。
【図32】試験対象サーバが正しく動作した場合の通信例を示す図である。
【図33】試験対象サーバが正しく動作していない場合の通信例を示す図である。
【発明を実施するための形態】
【0010】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る装置の機能構成の一例を示すブロック図である。ネットワークNには、第1の装置2、第2の装置3、および第3の装置5が接続されている。なお、第2の装置3は、ネットワーク機器4を介してネットワークNに接続されている。第2の装置3と第3の装置5とは、第1の装置2からの要求に応じて処理を実行し、処理結果を応答することができる。
【0011】
情報処理装置1は、ネットワーク機器4に接続されている。ネットワーク機器4は、例えばミラーポートを有するネットワークスイッチ(以下単に「スイッチ」という)である。ネットワーク機器4がスイッチの場合、情報処理装置1は、例えばネットワーク機器4のミラーポートと通常の通信ポートとに接続される。この場合、例えば情報処理装置1は、ミラーポートを介して第1の装置2と第2の装置3との間の要求または応答を取得すると共に、通常の通信ポートを介して、第1の装置2と第2の装置3との間の要求または応答に関する通信の遮断制御を行う。
【0012】
情報処理装置1は、計測手段1a、遮断手段1b、および送信手段1cを有する。
計測手段1aは、第2の装置3に要求を送信する複数の装置それぞれの第2の装置3との間の通信品質を計測する。そして計測手段1aは、通信品質が所定値以下になった装置を第1の装置2に決定する。例えば、計測手段1aは、第2の装置3と他の装置との間の通信をネットワーク機器4から取得し、取得した通信を解析して、通信品質が所定値以下になった装置を判断する。また、計測手段1aは、通信品質が所定値以下になった装置と同一サブネットに属する装置それぞれを、第1の装置2に決定することもできる。さらに計測手段1aは、通信品質が所定値以下になった装置と同一サブネットに属する装置のうち、第2の装置3との間で過去に通信実績のある装置を、第1の装置2に決定することもできる。
【0013】
遮断手段1bは、第1の装置2が送信した第2の装置3宛の要求の、ネットワーク機器4から第2の装置3への通信と、第2の装置3が送信した第1の装置2宛の応答の通信との少なくとも一方の通信を、ネットワークを介した遠隔制御により遮断する。例えば遮断手段1bは、第1の装置2と第2の装置3との間の最後の通信から所定期間以上経過後に、通信の遮断を行う。
【0014】
通信遮断は、例えば以下のようにして実行される。
例えば遮断手段1bは、第2の装置3に対して、第1の装置2宛のパケットを送信する際のデータリンク層におけるフレームの宛先アドレスとして、第1の装置2と第2の装置3との通信経路上の装置のアドレスと異なるアドレスの登録指示を送信する。このようなアドレスが登録されると、第2の装置3から第1の装置2への応答は、第1の装置2と第2の装置3との通信経路以外の装置で受信されその装置で廃棄されるか、または受信する装置が存在せずに廃棄される。
【0015】
また例えば遮断手段1bは、ネットワーク機器4に対して、第1の装置2が送信した第2の装置3宛の要求の通信の遮断指示を送信することもできる。この場合、遮断手段1bは、例えばネットワーク機器4から、第1の装置2が送信した第2の装置3宛の要求を取得し、第1の装置2と第2の装置3との間の直前の通信から所定期間以上経過していなければ、該要求を第2の装置3に転送する。そして、送信手段1cは、第1の装置2と第2の装置3との間の直前の通信から所定期間以上経過した後に、第1の装置2が送信した第2の装置3宛の要求を取得した場合、要求の送信先の第3の装置5への切替指示を第1の装置2へ送信する。このような遮断指示を行った場合、例えば遮断手段1bは、送信手段1cが第1の装置2への切替指示送信した後、ネットワーク機器4に対して、第1の装置2が送信した第2の装置3宛の通信の遮断の解除指示を送信する。
【0016】
また、遮断手段1bは、第2の装置3と同一セグメントで接続されたルータに対して、第2の装置3宛のパケットを送信する際のデータリンク層におけるフレームの宛先アドレスを操作することで、通信を遮断することもできる。例えば遮断手段1bは、第2の装置3宛のパケットを送信する際のデータリンク層におけるフレームの宛先アドレスとして、第1の装置2と第2の装置3との通信経路上の装置のアドレスと異なるアドレスの登録指示を送信する。このようなアドレスが登録されると、第1の装置から第2の装置への要求は、ルータから転送されたときに、第1の装置2と第2の装置3との通信経路以外の装置で受信されその装置で廃棄されるか、または受信する装置が存在せずに廃棄される。
【0017】
送信手段1cは、第1の装置2が送信した第2の装置3宛の要求を、ネットワーク機器4から取得する。そして送信手段1cは、要求の送信先の第3の装置5への切替指示を、第1の装置2へ送信する。例えば送信手段1cは、遮断手段1bによる通信の遮断後に第1の装置2が送信した第2の装置3宛の要求を取得し、要求の送信先の第3の装置5への切替指示を第1の装置2へ送信する。
【0018】
なお、計測手段1a、遮断手段1b、および送信手段1cは、情報処理装置1が有するCPU(Central Processing Unit)により実現することができる。
また、図1に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
【0019】
図2は、第1の実施の形態に係る情報処理装置の処理手順の一例を示すフローチャートである。以下、図2に示す処理をステップ番号に沿って説明する。
[ステップS1]計測手段1aは、第1の装置2と第2の装置3との間の通信品質を計測する。
【0020】
[ステップS2]計測手段1aは、第1の装置2と第2の装置3との間の通信品質が、所定値以下に劣化したか否かを判断する。通信品質が所定値以下に劣化した場合、計測手段1aは処理をステップS3に進める。通信品質が所定値以下に劣化していなければ、計測手段1aは処理をステップS1に進める。
【0021】
[ステップS3]遮断手段1bは、第1の装置2と第2の装置3との間の通信のうち、ネットワーク機器4から第2の装置3への要求の通信、または第2の装置3から第1の装置2への応答の送信を遮断する。
【0022】
[ステップS4]送信手段1cは、ネットワーク機器4から第2の装置3宛の通信内容を取得し、第1の装置2から送信された第2の装置3宛の要求を検出したか否かを判断する。該当する要求を検出した場合、送信手段1cは、処理をステップS5に進める。該当する要求を検出していなければ、送信手段1cは、ステップS4の処理を繰り返す。
【0023】
[ステップS5]送信手段1cは、要求の送信先の第3の装置5への切替指示を、第1の装置2へ送信する。
このような手順により、第1の装置2に対して、要求の送信先の切替指示が送信される。
【0024】
図3は、第1の実施の形態によるアクセス先の切替制御の一例を示す図である。図3には、遮断手段1bによる通信の遮断処理後の、通信の様子が示されている。
第1の装置2から第2の装置3宛の要求6が送信されると、その要求6は、ネットワーク機器4までは正常に転送される。そのため、情報処理装置1では、ネットワーク機器4を介して、例えば要求6から複製された要求6aを取得することができる。
【0025】
一方、ネットワーク機器4から第2の装置3までの要求6の通信、または第2の装置3から第1の装置2への応答7の通信が遮断されているため、要求6に対する第2の装置3から応答7が、第1の装置2に到達することはない。
【0026】
情報処理装置1は、要求6aを取得すると、第1の装置2に対して切替指示8を送信する。すると第1の装置2は、切替指示8に従って、要求6と同じ内容の要求9を、第3の装置5宛に送信する。
【0027】
このように、第1の実施の形態によれば、ルータや負荷分散装置などにリダイレクトの送信機能を設けずとも、簡易な手法で、通信の品質劣化発生時に、要求を送信する装置単位でアクセス先の切替制御が可能となる。しかも、第1の装置2と第2の装置3との通信経路外から要求送信先の切替制御を行うため、情報処理装置1を設置しても、切替対象外の装置間の通信への影響が抑止される。
【0028】
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、データセンタ内のサーバへの端末装置からのアクセスを、負荷状況に応じて他のデータセンタ内のサーバに振り分けるものである。
【0029】
図4は、第2の実施の形態のシステム構成例を示す図である。図4に示すように、第2の実施の形態では、複数のデータセンタA,Bが設けられている。
データセンタAには、サーバ300が設けられている。サーバ300は、スイッチ200を介してネットワーク20に接続されている。サーバ300は、端末装置31〜38から送られたリクエストメッセージに応じて処理を実行し、レスポンスメッセージを応答する。
【0030】
またスイッチ200には、リダイレクト装置100が接続されている。スイッチ200とリダイレクト装置100との間は、2つの通信線で接続されている。一方の通信線は、リダイレクト装置100宛のメッセージをスイッチ200からリダイレクト装置100に送信し、リダイレクト装置100が送信するメッセージを、リダイレクト装置100からスイッチ200に送信するのに使用される。他方の通信線は、スイッチ200のミラーポートに接続されており、ネットワーク20とスイッチ200との間で通信されたパケットのコピーの転送に使用される。リダイレクト装置100は、サーバ300の負荷状況に応じて、端末装置31〜38のアクセス先を他のサーバ300aに振り分ける。例えばリダイレクト装置100は、アクセス先を他のサーバ300aに振り分ける対象の端末装置に対して、サーバ300aをリダイレクト先に指定したリダイレクトメッセージを送信する。このリダイレクトメッセージの送信元のアドレスは、サーバ300のアドレスである。
【0031】
データセンタBにも、データセンタAと同様に、サーバ300a、スイッチ200a、およびリダイレクト装置100aが設けられている。
ネットワーク20は、複数のルータ21〜27によってパケットが転送される。ルータ21には、端末装置31〜34が接続されている。またルータ22には、端末装置35〜38が接続されている。
【0032】
なお、図4に示すリダイレクト装置100は、図1に示した第1の実施の形態の情報処理装置1の一例である。図4に示す端末装置31〜38は、図1に示した第1の実施の形態の第1の装置2の一例である。図4に示すサーバ300は、図1に示した第1の実施の形態の第2の装置3の一例である。図4に示すサーバ300aは、図1に示した第1の実施の形態の第3の装置5の一例である。図4に示すスイッチ200は、図1に示したネットワーク機器4の一例である。
【0033】
図5は、第2の実施の形態に用いるリダイレクト装置のハードウェアの一構成例を示す図である。リダイレクト装置100は、CPU101によって装置全体が制御されている。CPU101には、バス109を介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。
【0034】
RAM102は、リダイレクト装置100の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
【0035】
バス109に接続されている周辺機器としては、HDD(Hard disk drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、および通信インタフェース107,108がある。
【0036】
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、リダイレクト装置100の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【0037】
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。モニタ11としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
【0038】
入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号をCPU101に送信する。なお、マウス13は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0039】
光学ドライブ装置106は、レーザ光などを利用して、光ディスク14に記録されたデータの読み取りを行う。光ディスク14は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク14には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
【0040】
通信インタフェース107は、スイッチ200の通常の通信ポートに接続されている。通信インタフェース107は、スイッチ200を介して、サーバ300または端末装置31〜38との間でデータの送受信を行う。
【0041】
通信インタフェース108は、スイッチ200のミラーポートに接続されている。通信インタフェース108は、ミラーポートを介して、スイッチ200で転送されたパケットを受信する。なお通信インタフェース108は、スイッチ200から入力されたパケットは、リダイレクト装置100以外の装置が宛先のパケットであっても受信するように設定されている。このように、パケットの宛先とは無関係に、入力されたパケットをすべて傍受する処理を、キャプチャと呼ぶ。
【0042】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお図5には、リダイレクト装置100のハードウェア構成例を示したが、図4に示したリダイレクト装置100aもリダイレクト装置100と同様のハードウェアで実現することができる。また図4に示したサーバ300,300a、ルータ21〜27、および端末装置31〜38もリダイレクト装置100と同様のハードウェアで実現することができる。なおサーバ300,300a、ルータ21〜27、および端末装置31〜38については、宛先とは無関係にすべてのパケットを受信する通信インタフェース108は、無くてもよい。またルータ21〜27は、データの送受信を行うための通信インタフェース107を複数有する。さらに図1に示した情報処理装置1も、図5に示したリダイレクト装置100と同様のハードウェアにより実現することができる。
【0043】
図6は、スイッチのハードウェア構成の一例を示す図である。スイッチ200は、スイッチ回路210、メモリ220、および複数の通信インタフェース(I/F)231,232,233,234,・・・を有する。複数の通信I/F231,232,233,234,・・・は、それぞれ通信ケーブルを接続する通信ポートを有する。図6の例では、通信I/F231の通信ポートが、ミラーポートとして使用される。
【0044】
図6の例では、通信I/F231には、リダイレクト装置100の通信インタフェース108が接続されている。通信I/F232には、リダイレクト装置100の通信インタフェース107が接続されている。通信I/F233には、ルータ26の通信インタフェースが接続されている。通信I/F234には、サーバ300の通信インタフェースが接続されている。
【0045】
スイッチ回路210は、通信I/F232,233,234,・・・から入力されたフレームを、そのフレームの宛先に応じて、他の通信I/F232,233,234,・・・に転送する。またスイッチ回路210は、通信I/F232,233,234,・・・に入力されたフレームのコピーを生成し、通信I/F231を介して送信する。
【0046】
メモリ220には、入力されたデータリンク層(OSI(Open Systems Interconnection)参照モデルの第2層)のフレームの宛先に対応する出力ポートが登録されたデータテーブルなどが格納される。またメモリ220には、ACL(Access Control List)が格納される。ACLは、通信ポートごとに、その通信ポートを介した通信を許可する、または不許可とするパケットを定義する情報である。
【0047】
なお、図4に示したスイッチ200aも、スイッチ200と同様のハードウェアで実現することができる。
図7は、リダイレクト装置の機能の一例を示すブロック図である。リダイレクト装置100は、キャプチャ部110、品質計測部120、品質情報記憶部130、リダイレクト制御部140、送受信部150、および表示部160を有する。
【0048】
キャプチャ部110は、スイッチ200のミラーポートから出力されたパケットを受信する(キャプチャする)。キャプチャ部110は、キャプチャしたパケットを品質計測部120とリダイレクト制御部140とに転送する。
【0049】
品質計測部120は、キャプチャ部110、あるいは送受信部150で受信したパケットを発着IP(Internet Protocol)アドレスごとのトラヒックフローに分類する。例えば、品質計測部120は、各パケットの送信元IPアドレスと宛先IPアドレスとを抽出し、IPアドレスの組を生成する。そして品質計測部120は、IPアドレスの組が共通するパケットを、時系列に並べ、トラヒックフローとする。生成されたトラヒックフローには、サーバ300といずれかの端末装置との間のリクエストメッセージとレスポンスメッセージとのそれぞれを構成するパケットが時系列に並べられる。品質計測部120は、トラヒックフローごとの品質を計測する。例えば品質計測部120は、トラヒックフローごとに、損失パケット数を計数する。損失パケット数は、数が多いほど通信の品質が悪いことを示している。損失パケット数は、例えば、IPパケットのIDフィールド、TCP(Transmission Control Protocol)パケットのシーケンス番号の抜けを調べることにより計数できる。UDP(User Datagram Protocol)の場合は、RTP(Real-time Transport Protocol)パケットのシーケンス番号の抜けを調べることにより、損失パケット数を計数できる。品質計測部120は、品質の計測結果に基づいて、トラヒックフローごと(送信元と宛先との組ごと)に、品質の良否判定を行う。例えば、品質計測部120は、送受信パケット数に対する損失パケットの割合が所定値未満であれば通信品質が良いと判定し、送受信パケット数に対する損失パケットの割合が所定値以上であれば通信品質が悪いと判定する。
【0050】
品質計測部120は、品質の計測結果と良否判定結果とを、品質情報記憶部130に格納する。また品質計測部120は、通信品質が悪いと判定したトラヒックフローにおけるリクエストメッセージの送信元の端末装置のIPアドレスに基づいて、切替対象の端末装置を特定する。そして品質計測部120は、切替対象の端末装置のIPアドレスをリダイレクト制御部140内の切替制御部141に通知する。
【0051】
例えば品質計測部120は、同一サブネット内の品質が劣化した端末装置の数が所定数以上であれば、そのサブネット全体を切替対象とする。また、品質計測部120は、同一サブネット内の通信実績がある端末装置のうちの、品質が劣化した端末装置の割合が所定値以上であれば、そのサブネット全体を切替対象とする。品質計測部120は、サブネット全体を切替対象とした場合、例えば、過去に通信実績がある、そのサブネット内の端末装置のIPアドレスを特定し、切替対象とする。
【0052】
過去の通信実績の有無は、例えば、品質情報記憶部130を参照して判断できる。過去に通信が行われた端末装置の通信品質の情報が、品質情報記憶部130に登録されている。そこで例えば品質計測部120は、品質情報記憶部130に通信品質の情報が登録されている端末装置のIPアドレスのうち、切替対象のサブネット内のIPアドレスを、切替対象として抽出する。また、品質計測部120は、品質計測のために生成したトラヒックフローを通信履歴として、過去の所定期間分RAM102などに保存しておき、保存しておいたトラヒックフローを参照して、各端末装置の通信実績の有無を判断することもできる。また品質計測部120は、品質が劣化した端末装置の数が所定数未満であれば、品質が劣化した端末装置を、切替対象として特定する。
【0053】
品質情報記憶部130は、品質の計測結果と良否判定結果とを記憶する。例えばRAM102またはHDD103の記憶領域の一部が品質情報記憶部130として使用される。
リダイレクト制御部140は、通信品質が悪い端末装置に対して、サーバ300とは別のサーバ300aにリクエストメッセージを送信させるリダイレクトメッセージの送信を制御する。リダイレクト制御部140は、リダイレクトメッセージの送信制御のために、切替制御部141とARP(Address Resolution Protocol)管理部142とを有する。
【0054】
切替制御部141は、品質計測部120から通知された切替対象の端末装置のIPアドレスに基づいて、切替対象の端末装置のアクセス先の切替を制御する。例えば切替制御部141は、サーバ300のARPテーブル310を収集し、ARP管理部142に登録する。ここで、切替制御部141は、切替対象として特定した端末装置のIPアドレスと、ARP管理部142に登録したIPアドレスのエントリとを比較する。そして切替制御部141は、切替対象のIPアドレスであっても、ARP管理部142に登録されているIPアドレスについては、通信中と判断し、リクエスト送信先の切替処理を一時保留する。すなわちARPテーブル310には数分オーダの間(例えば5分)、エントリが登録されている。そのため、ARPテーブルに残っているIPアドレスは、数分以内にリクエストを送信した端末装置のIPアドレスである。そこで第2の実施の形態では、ARPテーブルに残っているIPアドレスについては通信中とみなして、リクエストメッセージの送信先の切替処理を保留する。
【0055】
切替制御部141は、切替対象のIPアドレスのうち、ARP管理部142に登録されてないIPアドレスを、サーバ300のARPテーブル310に、リダイレクト装置100のMAC(Media Access Control)アドレスに対応付けて登録する。そして切替制御部141は、切替対象のIPアドレスのうち、ARP管理部142に登録されてないIPアドレスを送信元とするリクエストメッセージが入力されると、そのリクエストメッセージ対する応答として、リダイレクトメッセージを生成する。生成されたリダイレクトメッセージには、サーバ300aへのリダイレクトが指示されている切替制御部141は、生成したリダイレクトメッセージを、送受信部150を介して送信する。
【0056】
ARP管理部142は、切替制御部141が収集したARPテーブルを記憶する。例えばRAM102またはHDD103の記憶領域の一部が、ARP管理部142として使用される。
【0057】
送受信部150は、スイッチ200のミラーポート以外の通信ポートに接続され、端末装置31〜38、サーバ300などの他の機器と通信する。例えば送受信部150は、端末装置31〜38にリダイレクトメッセージを送信する。また送受信部150は、サーバ300のARPテーブル310の収集、および設定を行うため、SNMP(Simple Network Management Protocol )のコマンドメッセージをサーバ300に送信する。また送受信部150は、リダイレクト装置100に転送されたサーバ300からのレスポンスメッセージを廃棄する。
【0058】
表示部160は、モニタ11を介して、切替対象のIPアドレスや、切替が完了したことなどを表示する。
これらの要素が各処理を実行することにより、通信中の端末装置に影響を及ぼすことなく、切替対象の端末装置ごとにリダイレクトメッセージを送信できる。その結果、ルータや負荷分散装置などを追加することなく、簡易な装置をスイッチ200に接続するだけで、負荷分散制御が可能となる。
【0059】
なお、図7に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
また、図7に示す品質計測部120は、第1の実施の形態に示した情報処理装置1の計測手段1aの機能を有する。また図7に示す切替制御部141は、第1の実施の形態に示した情報処理装置1の遮断手段1bと送信手段1cとの機能を有する。
【0060】
ところでリダイレクト装置100におけるリダイレクト制御には、各装置のIPアドレスやMACアドレスが使用される。
図8は、各装置のIPアドレスまたはMACアドレスの一例を示す図である。図8の例では、端末装置31のIPアドレスは「192.168.1.10」である。端末装置32のIPアドレスは「192.168.1.20」である。端末装置33のIPアドレスは「192.168.1.15」である。端末装置34のIPアドレスは「192.168.1.25」である。端末装置35のIPアドレスは「192.168.10.10」である。端末装置36のIPアドレスは「192.168.10.15」である。端末装置37のIPアドレスは「192.168.10.20」である。端末装置38のIPアドレスは「192.168.10.25」である。サーバ300のIPアドレスは「192.168.100.5」である。
【0061】
またリダイレクト装置100のMACアドレスは「aa:bb:cc:dd:ee:ff」である。ルータ26のMACアドレスは「00:11:22:33:44:55」である。
次に、リダイレクト装置100内の品質情報記憶部130のデータ構造について説明する。品質情報記憶部130には、端末装置31〜38それぞれの通信品質に関する情報が格納される。
【0062】
図9は、品質情報記憶部のデータ構造の一例を示す図である。品質情報記憶部130には、品質管理テーブル131が格納されている。
品質管理テーブル131には、送信元IPアドレス、宛先IPアドレス、送信パケット数、受信パケット数、送信側損失パケット数、受信側損失パケット数、および品質解析結果の欄が設けられている。各欄の横方向に対応付けられた情報どうしが関連付けられ、端末装置の通信品質に関する情報としてエントリされている。
【0063】
送信元IPアドレスの欄には、サーバ300にリクエストメッセージを送信した端末装置のIPアドレスが設定される。
宛先IPアドレスの欄には、リクエストメッセージの宛先であるサーバ300のIPアドレスが設定される。
【0064】
送信パケット数の欄には、端末装置からサーバ300に所定期間内に送信されたパケット数(送信パケット数)が設定される。
受信パケット数の欄には、サーバ300から端末装置に所定期間内に送信されたパケット数(受信パケット数)が設定される。
【0065】
送信側損失パケット数の欄には、端末装置からサーバ300に所定期間内に送信されたパケットのうち、損失したパケットの数(送信側損失パケット数)が設定される。例えば、端末装置からサーバ300に所定期間内に送信されたパケットのうち、リダイレクト装置100で取得できなかったパケットの数が、送信側損失パケット数に設定される。
【0066】
受信側損失パケット数の欄には、サーバ300から端末装置に所定期間内に送信されたパケットのうち、損失したパケットの数(受信側損失パケット数)が設定される。例えばサーバ300から端末装置に所定期間内に送信されたパケットのうち、リダイレクト装置100で取得できなかったパケットの数が、受信側損失パケット数に設定される。
【0067】
品質解析結果の欄には、品質計測部120による通信品質の良否判定の結果を示すフラグが設定される。例えば、通信品質が良いと判定された場合、品質判定結果の欄に丸印が設定される。また通信品質が悪いと判定された場合、品質判定結果の欄にバツ印が設定される。
【0068】
図9の例では、IPアドレスが、「192.168.1.10」、「192.168.1.20」、「192.168.1.15」、「192.168.1.25」の各端末装置31〜34について、通信品質が悪いと判断されている。この場合、品質計測部120から切替制御部141へ、通信品質が悪い端末装置31〜34のIPアドレスが、切替対象として通知される。
【0069】
すると切替制御部141は、品質計測部120からの切替対象の端末装置のIPアドレスの通知に基づいて、サーバ300のARPテーブル310を制御する。ARPテーブル310の制御では、まず切替制御部141は、サーバ300からARPテーブル310を収集する。
【0070】
図10は、ARPテーブルのデータ構造の一例を示す図である。ARPテーブル310には、IPアドレスとMACアドレスとの組が設定されている。
IPアドレスの欄には、サーバ300と通信を行った端末装置のIPアドレスが設定される。MACアドレスの欄には、対応するIPアドレスで示される端末装置宛に送信するパケットを送信する際のデータリンク層におけるフレームの宛先とするMACアドレスが設定される。例えば、リダイレクトの対象外の端末装置のIPアドレスに対応付けて、その端末装置とサーバ300との間の通信経路上で、サーバ300に隣接するルータのMACアドレスが、MACアドレスの欄に設定される。またリダイレクトの対象の端末装置のIPアドレスに対応付けて、リダイレクト装置100の通信インタフェース107のMACアドレスが、MACアドレスの欄に設定される。
【0071】
図10の例は、リダイレクトの対象とする端末装置が検出される以前の状態のARPテーブル310である。そのためすべてのエントリのMACアドレスの欄には、ルータ26のMACアドレス「00:11:22:33:44:55」が設定されている。
【0072】
なおサーバ300のARPテーブル310は、通信が一定の保持期間(エージングタイム:Aging time)行われていない端末装置のエントリは、クリアされる。例えばサーバ300におけるARPテーブル310のエージングタイムは、数分のオーダ(例えば5分)で設定されているものとする。
【0073】
次に、リダイレクト装置100で実行されるリダイレクト処理について説明する。
図11は、リダイレクト処理の手順の一例を示すフローチャートの前半である。以下、図11に示す処理をステップ番号に沿って説明する。
【0074】
[ステップS11]品質計測部120は、端末装置ごとのトラヒックフローの品質を計測する。例えば品質計測部120は、トラヒックフローごとに、端末装置からの送信パケット数、受信パケット数、送信側損失パケット数、および受信側損失パケット数を計数する。そして、品質計測部120は、計数結果に基づいて、通信品質の良否を判断する。例えば品質計測部120は、送信パケット数と受信パケット数との合計値に対する、送信側損失パケット数と受信側損失パケット数との合計値の割合が、所定の閾値未満であれば、品質が良いと判断する。また品質計測部120は、送信パケット数と受信パケット数との合計値に対する、送信側損失パケット数と受信側損失パケット数との合計値の割合が、所定の閾値以上であれば、品質が悪いと判断する。
【0075】
そして品質計測部120は、端末装置ごとのトラヒックフローの通信品質の計測結果と品質の良否判断結果とを登録した品質管理テーブルを作成し、品質情報記憶部130に格納する。
【0076】
[ステップS12]品質計測部120は、品質が劣化した端末装置のIPアドレスに基づいて、切替対象の端末装置またはサブネットを特定する。例えば品質計測部120は、同一サブネット内の品質が劣化した端末装置の数が所定数以上であれば、そのサブネット全体を切替対象として特定する。また品質計測部120は、同一サブネット内の品質が劣化した端末装置の数が所定数未満であれば、品質計測部120から品質が劣化した端末装置を、切替対象として特定する。
【0077】
[ステップS13]品質計測部120は、サブネットを切替対象として特定した場合、過去に通信の実績がある該当サブネット内の端末装置を検索する。例えば品質計測部120は、品質情報記憶部130内の品質管理テーブル131を参照し、品質管理テーブル131送信元IPアドレスから、切替対象のサブネット内の端末装置のIPアドレスを検索する。そして品質計測部120は、検索結果として得られたIPアドレスに対応する端末装置を、切替対象の端末装置とする。そして品質計測部120は、切替対象の端末装置のIPアドレスを切替制御部141に通知する。
【0078】
[ステップS14]切替制御部141は、サーバ300のARPテーブル310を収集する。例えば切替制御部141は、SNMPのARPテーブル310の取得コマンドを、送受信部150を介してサーバ300に送信する。するとサーバ300からARPテーブル310が応答される。切替制御部141は、サーバ300から収集したARPテーブル310を、ARP管理部142に格納する。
【0079】
[ステップS15]切替制御部141は、切替対象の端末装置を1つ選択する。
[ステップS16]切替制御部141は、選択した端末装置が、サーバ300から収集したARPテーブル310に登録されているか否かを判断する。例えば切替制御部141は、選択した端末装置のIPアドレスが、ARPテーブル310のIPアドレスの欄に登録されていれば、その端末装置が登録されていると判断する。切替制御部141は、選択した端末装置が登録されている場合、処理をステップS18に進める。また切替制御部141は、選択した端末装置が登録されていない場合、選択した端末装置を、即時リダイレクト可能と判定し、処理をステップS17に進める。
【0080】
[ステップS17]切替制御部141は、サーバ300のARPテーブル310に、即時リダイレクト可能と判定された端末装置のエントリを登録する。登録するエントリには、選択した端末装置のIPアドレスと、リダイレクト装置100のMACアドレスとが含まれる。例えば切替制御部141は、サーバ300に対してtelnetなどのリモートログインコマンドによりログインし、arpコマンドを実行することで、サーバ300内のARPテーブル310に新たなレコードを登録することができる。
【0081】
[ステップS18]切替制御部141は、切替対象のすべての端末装置について、ステップS15〜S17の処理を実行したか否かを判断する。切替制御部141は、該当するすべての端末装置に対して処理が実行された場合、処理をステップS21(図12参照)に進める。切替制御部141は、該当する端末装置のうち、未処理の端末装置がある場合、処理をステップS15に進める。
【0082】
図12は、リダイレクト処理の手順の一例を示すフローチャートの後半である。以下、図12に示す処理をステップ番号に沿って説明する。
[ステップS21]切替制御部141は、キャプチャ部110を介して、いずれかの端末装置からサーバ300へのリクエストメッセージを受信する。
【0083】
[ステップS22]切替制御部141は、受信したリクエストメッセージが、即時リダイレクト可能と判定された端末装置から送信されたリクエストメッセージか否かを判断する。切替制御部141は、即時リダイレクト可能と判定された端末装置から送信されたリクエストメッセージであれば、処理をステップS23に進める。また切替制御部141は、即時リダイレクト可能と判定された端末装置から送信されたリクエストメッセージでなければ、処理をステップS24に進める。
【0084】
[ステップS23]切替制御部141は、即時リダイレクト可能と判定された端末装置へ、リダイレクトメッセージを送信する。リダイレクトメッセージでは、例えばサーバ300aがリダイレクト先に指定されている。リダイレクトメッセージが送信された端末装置は、リクエストメッセージの送信先がリダイレクト先のサーバに切り替えられる。
【0085】
また送受信部150は、ステップS21で受信したリクエストメッセージに対するサーバ300からのレスポンスメッセージを受信する。そして送受信部150は、受信したレスポンスメッセージを廃棄する。
【0086】
[ステップS24]切替制御部141は、切替対象のすべての端末装置のリクエストメッセージの送信先を切り替えたか否かを判断する。切替制御部141は、該当するすべての端末装置の切り替えが完了した場合、処理をステップS26に進める。また切替制御部141は、切り替えが完了していない端末装置がある場合、処理をステップS25に進める。
【0087】
[ステップS25]切替制御部141は、ステップS14でARPテーブル310を収集してから、サーバ300におけるARPテーブル310のエージングタイムを超過したか否かを判断する。切替制御部141は、保持期間を超過した場合、処理をステップS14に進め、再度、ARPテーブル310の収集から処理を繰り返す。切替制御部141は、保持期間を超過していない場合、処理をステップS21に進める。
【0088】
[ステップS26]切替制御部141は、ステップS17の処理においてサーバ300に設定したARPテーブル310へのエントリをクリアする。
このようにして、切替対象の端末装置に対して、リダイレクトメッセージを送信し、アクセス先を別のサーバに切り替えさせることができる。なおセグメント全体を切替対象とした場合、過去に通信実績が確認されている端末装置のみを切替対象とすることで、存在しない端末装置からのリクエストメッセージの受信を待って、リダイレクト処理が終了できないような事態の発生が抑止されている。
【0089】
例えば、品質計測の結果、図9に示す品質管理テーブル131が生成された場合を想定する。図9の例では、「192.168.1.0」のサブネットのすべての端末装置について、ネットワークで品質劣化が発生している。そこで、「192.168.1.0」のサブネットのすべての端末装置が切替対象となったものとする。
【0090】
この場合、リダイレクト装置100では、サーバ300からARPテーブル310を収集し、適宜、ARPテーブル310の内容を制御する。リダイレクト装置100からサーバ300のARPテーブル310の制御は、例えばSNMPを用いて行うことができる。
【0091】
図13は、ARPテーブルの制御の手順の一例を示すシーケンス図である。以下、図13に示す処理をステップ番号に沿って説明する。
[ステップS31]リダイレクト装置100の品質計測部120は、通信品質の劣化に伴う切替対象サブネットを「192.168.1.0」と特定する。
【0092】
[ステップS32]切替制御部141は、ARPテーブル310を収集するためのSNMPリクエストをサーバ300に送信する。例えば「snmpwalk -v1 -c public 192.168.100.5 1.3.6.1.2.1.4.22.1.2」という内容のSNMPリクエストが送信される。
【0093】
[ステップS33]サーバ300は、SNMPリクエストに対して、SNMPレスポンスによりARPテーブル310を応答する。SNMPレスポンスには、例えば以下の内容が含まれる。
「1.3.6.1.2.1.4.22.1.2.192.168.1.10 = String: 00:11:22:33:44:55
1.3.6.1.2.1.4.22.1.2.192.168.1.20 = String: 00:11:22:33:44:55
1.3.6.1.2.1.4.22.1.2.192.168.10.100 = String: 00:11:22:33:44:55
1.3.6.1.2.1.4.22.1.2.192.168.10.200 = String: 00:11:22:33:44:55」
[ステップS34]SNMPレスポンスを受信したリダイレクト装置100の切替制御部141は、取得したARPテーブル310の内容を解析する。そして切替制御部141は、「192.168.1.0」のサブネットにおいて通信実績がある端末装置のIPアドレスのうち、ARPテーブル310に登録されていないIPアドレス「192.168.1.15」、「192.168.1.25」を検出する。そして切替制御部141は、検出したIPアドレスを、即時リダイレクト可能な端末装置33,34のIPアドレスとする。
【0094】
[ステップS35]切替制御部141は、サーバ300にリモートでログインし、例えば以下のarpコマンドを実行し、新たなエントリをARPテーブル310に登録する。
「arp -s 192.168.1.15 aa:bb:cc:dd:ee:ff
arp -s 192.168.1.25 aa:bb:cc:dd:ee:ff」
[ステップS36]リダイレクト装置100は、IPアドレス「192.168.1.15」、「192.168.1.25」を送信元とするサーバ300宛のリクエストメッセージに応じて、リダイレクト処理を行う。リダイレクト処理では、例えば切替制御部141によるリダイレクトメッセージの送信と、送受信部150によるサーバ300からのレスポンスメッセージの廃棄とが行われる。
【0095】
[ステップS37]切替制御部141は、ステップS32のARPテーブル収集処理からエージングタイムが経過すると、再度、ARPテーブル310を収集するためのSNMPリクエストをサーバ300に送信する。SNMPリクエストの内容は、ステップS32の場合と同様である。
【0096】
[ステップS38]サーバ300は、SNMPリクエストに対して、SNMPレスポンスによりARPテーブル310を応答する。ここで、IPアドレス「192.168.1.10」の端末装置31とサーバ300との間の通信が終了し、この時点のARPテーブル310には、IPアドレス「192.168.1.10」のエントリが含まれていないものとする。この場合、SNMPレスポンスには、例えば以下の内容が含まれる。
「1.3.6.1.2.1.4.22.1.2.192.168.1.20 = String: 00:11:22:33:44:55
1.3.6.1.2.1.4.22.1.2.192.168.10.100 = String: 00:11:22:33:44:55
1.3.6.1.2.1.4.22.1.2.192.168.10.200 = String: 00:11:22:33:44:55
1.3.6.1.2.1.4.22.1.2.192.168.1.15 = String: aa:bb:cc:dd:ee:ff
1.3.6.1.2.1.4.22.1.2.192.168.1.25 = String: aa:bb:cc:dd:ee:ff」
[ステップS39]SNMPレスポンスを受信したリダイレクト装置100の切替制御部141は、取得したARPテーブル310の内容を解析する。そして切替制御部141は、「192.168.1.0」のサブネットにおいて通信実績がある端末装置のIPアドレスのうち、ARPテーブル310に登録されていないIPアドレス「192.168.1.10」を、即時リダイレクト可能な端末装置31のIPアドレスとして検出する。
【0097】
[ステップS40]切替制御部141は、サーバ300にリモートでログインし、例えば以下のarpコマンドを実行し、新たなエントリをARPテーブル310に登録する。
「arp -s 192.168.1.10 aa:bb:cc:dd:ee:ff」
その後、同様にARPテーブル310の収集処理から処理を繰り返す。そして、IPアドレス「192.168.1.20」の端末装置32とサーバ300との間の通信が終了すると、端末装置32に対するリダイレクト処理が行われる。
【0098】
[ステップS51]切替制御部141は、切替対象のサブネット内の通信実績のあるすべての端末装置に対するリダイレクト処理が完了したと判断する。例えば切替制御部141は、ステップS31で切替対象のサブネットを特定したときに、切替対象のサブネット内の通信実績のあるすべての端末装置のIPアドレスのリストを保持しておく。切替制御部141は、リダイレクト処理を実行した端末装置のIPアドレスを、リストから削除する。そして切替制御部141は、リストが空になると、リダイレクト処理が完了したと判断する。
【0099】
[ステップS52]切替制御部141は、サーバ300に対して、ARPテーブル310内のエントリクリアのSNMPリクエストを送信する。例えば以下のような内容のSNMPリクエストが送信される。
「snmpset -v1 -c private 192.168.100.5 1.3.6.1.2.1.4.22.1.4.192.168.1.10 i 2
snmpset -v1 -c private 192.168.100.5 1.3.6.1.3.6.1.2.1.4.22.1.4.192.168.1.25 i 2」
このように、リダイレクト装置100では、切替対象の端末装置が特定されると、サーバ300からARPテーブル310が収集される。その後、切替対象の端末装置のIPアドレスとARPテーブル310のエントリが比較され、未通信の端末装置のIPアドレスが、リダイレクト装置100のMACアドレスに対応付けてサーバ300のARPテーブル310に登録される。
【0100】
図14は、更新後のARPテーブルの一例を示す図である。図14に示したARPテーブル310は、図10に示した状態に対して、端末装置33,34に関するエントリが追加されている。
【0101】
端末装置33のエントリは、IPアドレスが「192.168.1.15」、MACアドレスがが「aa:bb:cc:dd:ee:ff」である。端末装置34のエントリは、IPアドレスが「192.168.1.25」、MACアドレスが「aa:bb:cc:dd:ee:ff」である。
【0102】
なお、図10に示したARPテーブル310のエントリとして、「192.168.1.10」と「192.168.1.20」とのIPアドレスが存在する。したがって、切替制御部141において、それらのIPアドレスに対応する端末装置31,32は通信中と判断され、通信が終了するまで、該当するIPアドレスに関する切替制御部141によるエントリの登録は行われない。
【0103】
図14に示すようなARPテーブル310に基づいて、サーバ300がデータリンク層のフレームを送信すると、サーバ300から端末装置33,34宛のパケットが、リダイレクト装置100に送られる。すなわち、サーバ300から端末装置33,34宛のパケットには、データリンク層におけるフレームの宛先としてリダイレクト装置100のMACアドレスが設定される。スイッチ200では、宛先のMACアドレスに基づいて、リダイレクト装置100から送出されたフレームを送出する通信ポートを判断する。その結果、スイッチ200は、リダイレクト装置100から送出された端末装置33,34宛のパケットを含むフレームを、リダイレクト装置100が接続された通信ポートから送出する。その結果、該当フレームは、端末装置33,34には送信されず、リダイレクト装置100に送信される。
【0104】
次に図14に示すARPテーブル310がサーバ300に格納されている状況におけるリダイレクト処理について説明する。
図15は、第2の実施の形態におけるリダイレクト制御の一例を示す図である。図15の例では、端末装置31,33それぞれからリクエストメッセージ41,44が送信された場合の、メッセージの流れを示している。
【0105】
なお、図15では、リクエストメッセージには、送信元(Source)の端末装置のIPアドレスが示されている。図15に示したリクエストメッセージ41,44の宛先(Destination)のIPアドレスは、すべてサーバ300のIPアドレスである。また、レスポンスメッセージとリダイレクトメッセージとには、宛先の端末装置のIPアドレスが示されている。レスポンスメッセージとリダイレクトメッセージとの送信元のIPアドレスは、すべてサーバ300のIPアドレスである。
【0106】
通信中の端末装置31から送信されたリクエストメッセージ41は、スイッチ200を介してサーバ300に転送される。このとき、スイッチ200では、リクエストメッセージ41の複製を生成し、複製のリクエストメッセージ42をミラーポートから出力する。複製のリクエストメッセージ42はリダイレクト装置100に入力される。
【0107】
リクエストメッセージ41を受信したサーバ300は、リクエストメッセージ41の内容に応じて処理を実行し、端末装置31のIPアドレスを宛先とするパケットにより、レスポンスメッセージ43を出力する。このとき、サーバ300のARPテーブル310では、端末装置31のIPアドレス「192.168.1.10」に対応付けて、ルータ26のMACアドレス「00:11:22:33:44:55」が登録されている(図14参照)。従って、レスポンスメッセージ43を構成するパケットの送信用のフレームの宛先には、ルータ26のMACアドレスが設定される。その結果、レスポンスメッセージ43は、スイッチ200においてルータ26に転送される。そしてレスポンスメッセージ43は、ネットワーク20を介して端末装置31に転送される。
【0108】
なお、図15には示していないが、切替対象外の端末装置からサーバ300宛のリクエストメッセージが送信された場合も、端末装置31からリクエストメッセージが送信された場合と同様に処理され、レスポンスメッセージが端末装置に応答される。
【0109】
また通信中でなかった端末装置33から送信されたリクエストメッセージ44は、スイッチ200を介してサーバ300に転送される。このとき、スイッチ200では、リクエストメッセージ44の複製を生成し、複製のリクエストメッセージ45をミラーポートから出力する。複製のリクエストメッセージ45はリダイレクト装置100に入力される。
【0110】
リクエストメッセージ44を受信したサーバ300は、リクエストメッセージ44の内容に応じて処理を実行し、端末装置33のIPアドレスを宛先とするパケットにより、レスポンスメッセージ46を出力する。このとき、サーバ300のARPテーブル310では、端末装置33のIPアドレス「192.168.1.15」に対応付けて、リダイレクト装置100のMACアドレス「aa:bb:cc:dd:ee:ff」が登録されている(図14参照)。従って、レスポンスメッセージ46を構成するパケットの送信用のフレームの宛先には、リダイレクト装置100のMACアドレスが設定される。その結果、レスポンスメッセージ46は、スイッチ200においてリダイレクト装置100に転送される。
【0111】
リダイレクト装置100では、切替制御部141によりレスポンスメッセージ46が廃棄される。またリダイレクト装置100では、端末装置33を送信元とする複製のリクエストメッセージ45に応じ、切替制御部141により端末装置33宛のリダイレクトメッセージ47が生成され、リダイレクトメッセージ47が送受信部150を介して出力される。リダイレクトメッセージ47は、スイッチ200においてルータ26に転送される。そしてリダイレクトメッセージ47は、ネットワーク20を介して端末装置33に転送される。
【0112】
リダイレクトメッセージ47は、送信元のIPアドレスとしてサーバ300のIPアドレスが設定されているため、端末装置33は、リクエストメッセージ44に対してリダイレクトメッセージ47が応答されたものと認識する。リダイレクトメッセージ47には、例えばサーバ300が設置されたデータセンタAとは別のデータセンタB内のサーバ300aのIPアドレスを指定した、リダイレクト指示が含まれている。そこで、リダイレクトメッセージ47を受信した端末装置33は、リダイレクトの指示に従い、サーバ300aに対して改めてリクエストメッセージを送信する。これにより、端末装置33は、サーバ300aからサービス提供を受けることができる。
【0113】
このようにして、既存の通信に影響を及ぼすことなく、端末装置からのリクエストメッセージの送信先を、別のサーバに切り替えることが可能となる。すなわち、即時リダイレクトが可能な端末装置以外の端末装置の通信には影響を及ぼさずに、即時リダイレクトが可能な端末装置に対してリダイレクトメッセージを送信し、別のサーバへアクセス先を誘導することができる。
【0114】
サーバ300では、ARPテーブル310内の通信していない端末装置のエントリが、通信が途絶えてからエージングタイムだけ経過するとクリアされる。そこで、第2の実施の形態では、あらかじめ設定した収集間隔(例えばエージングタイムと同じ期間)で、通信実績がある切替対象の端末装置すべてに対するリダイレクト処理が完了するまで、図11のステップS15〜S17の処理が繰り返される。その結果、端末装置31,32のエントリについても、通信が終了してからエージングタイム経過後にARPテーブル310から削除される。その後、端末装置31,32のIPアドレス「192.168.1.10」、「192.168.1.20」に、リダイレクト装置100のMACアドレス「aa:bb:cc:dd:ee:ff」を対応付けたエントリがARPテーブル310に登録される。その結果、端末装置31,32に対するリダイレクトメッセージの送信も可能となる。
【0115】
なお、各端末装置とサーバ300との間は、例えばHTTPにより通信を行うことができる。そこで端末装置33とサーバ300との間のHTTPによる通信のメッセージの例を図16〜図18に示す。
【0116】
図16は、リクエストメッセージの一例を示す図である。図16に示すリクエストメッセージ44は、GETコマンドにより、情報の取得を要求するメッセージである。このようなリクエストメッセージがサーバ300に送られると、サーバ300から要求された情報を含むレスポンスメッセージ46が応答される。
【0117】
図17は、レスポンスメッセージの一例を示す図である。レスポンスメッセージ46には、図17に示すようなヘッダ情報に加えて、端末装置33から要求された情報が含まれる。ただし、端末装置33は、切替対象であり、且つ即時リダイレクト可能であるため、レスポンスメッセージ46は、リダイレクト装置100で廃棄される。端末装置33には、レスポンスメッセージ46に代えて、リダイレクトメッセージ47が送信される。
【0118】
図18は、リダイレクトメッセージの一例を示す図である。リダイレクトメッセージ47では、「Location」によってリダイレクト先が指定されている。
以上説明したように、第2の実施の形態によれば、通信品質が良好な間は、リダイレクト装置100は、端末装置31〜38とサーバ300との間の通信に関与していない。そのため、切替対象の端末装置とサーバ300との間の通信に影響を及ぶことが抑止されている。その結果、リダイレクト装置100の性能の善し悪しが、端末装置とサーバ300との間の応答時間の遅延などの通信品質に影響を及ぼすことがなく、リダイレクト装置100に求められる性能も低くてすむ。
【0119】
また、通信品質が劣化した端末装置が検出された場合においても、即時リダイレクト可能な端末装置以外の端末装置に関する通信は、リダイレクト装置100を経由せずに行われる。そのため、リダイレクト制御を行う場合であっても、切替対象の端末装置以外の端末装置とサーバ300との間の通信に影響が及ぶことも抑止されている。
【0120】
しかも既存のネットワークに設けられたスイッチ200のミラーポートにリダイレクト装置100を接続するだけで、端末装置のアクセス先の切替制御が可能となる。そのため、既存のネットワークへの適用が容易であると共に、例えば運用中のネットワークにおけるサービスを停止せずに、端末装置に対するアクセス先の切替制御機能の導入が可能となる。
【0121】
さらに、サーバ300との間で通信中の端末装置については、通信が終了した後にリダイレクトメッセージを送信するため、一連の処理の途中で通信が遮断されることが抑止されている。その結果、リダイレクト制御を行うことによる通信への悪影響が抑止されている。
【0122】
また、品質計測に基づき、自動でリダイレクト制御を行うため、ユーザからのクレームなどがなくてもアクセス先を切り替えることができる。すなわち、早急なアクセス先の切替制御が可能である。
【0123】
なお、第2の実施の形態では、サーバ300のARPテーブル310に、端末装置のIPアドレスに対応付けて、リダイレクト装置100のMACアドレスを登録しているが、他のMACアドレスを登録してもよい。すなわち第2の実施の形態では、サーバ300から端末装置宛に送信されるパケットが廃棄されるのであれば、そのパケットを含むフレームの宛先はリダイレクト装置100でなくてもよい。例えば、サーバ300に対して同一セグメントで接続されたルータ26のMACアドレス以外のMACアドレスを、端末装置のIPアドレスに対応付けてARPテーブル310に設定することもできる。同一セグメント内のルータ26以外のMACアドレス宛に送信されたフレームは、どの機器でも受信されないか、受信する機器が存在してもルーティングされず、端末装置に転送されることはない。
【0124】
〔第3の実施の形態〕
次に第3の実施の形態について説明する。第3の実施例では、サーバからのレスポンスメッセージをリダイレクト装置で廃棄する代わりに、全てのリクエストメッセージをリダイレクト装置に送信する。切替対象のクライアントに対しては、リダイレクト装置からリダイレクトメッセージを送信し、そうでないクライアントのリクエストメッセージはリダイレクト装置がサーバに転送する。サーバは、受信したリクエストメッセージに対応するレスポンスメッセージを応答する。
【0125】
なお、第3の実施の形態におけるシステム構成は、図4〜図8に示した第2の実施の形態のシステム構成と同様である。ただし、切替制御部141の機能が、第2の実施の形態と第3の実施の形態とで異なる。そこで、以下第2の実施の形態の構成要素に示した符号を用いて、第3の実施の形態について説明する。
【0126】
第3の実施の形態では、切替制御部141は、サーバ300のARPテーブル310を制御する代わりに、リダイレクト装置100が接続されたスイッチ200の端末装置側のポートにACLを設定する。この際、切替制御部141は、切替対象となる端末装置、あるいはサブネットからのリクエストメッセージを他のポートに転送しないように、ACLを設定する。また第3の実施の形態では、切替制御部141は、ルータ26のARPテーブル26aを収集し、ARP管理部142にエントリを登録し、通信中の端末装置を特定する。
【0127】
図19は、第3の実施の形態で利用する情報の一例を示す図である。図19の例は、「192.168.1.0/24」のサブネットが切替対象となっている場合を想定している。なお、「192.168.1.0/24」の「/24」はサブネットマスクを示しており、「192.168.1.0」の上位24ビットがネットワークアドレスであることを表している。この場合、スイッチ200のACL240には、例えば「192.168.1.0/24」からのHTTPのメッセージの入力を遮断するように設定される。例えば、ACL240に「deny,192.168.1.0/24,HTTP」と設定される。なおACL240は、例えばスイッチ200のメモリ220(図6参照)に格納されている。
【0128】
またルータ26は、ARPテーブル26aを有している。ARPテーブル26aは、例えばルータ26内のRAMなどの記憶装置に格納されている。サーバ300に対する端末装置から通信は、すべてルータ26で中継されるため、ルータ26内のARPテーブル26aを参照することで、サーバ300と通信中の端末装置を把握することが可能である。
【0129】
なお通信中の端末装置は、例えばリダイレクト装置100の品質計測部120で計測中の端末装置のIPアドレスにより特定することもできる。また品質計測部120においてキャプチャしたリクエストメッセージを解析し、新規のリクエストメッセージかどうかで通信中の端末装置を判定することもできる。
【0130】
図20は、第3の実施の形態のリダイレクト処理の手順の一例を示すフローチャートである。以下、図20に示す処理をステップ番号に沿って説明する。
[ステップS41]品質計測部120は、端末装置ごとのトラヒックフローの品質を計測する。
【0131】
[ステップS42]品質計測部120は、品質が劣化した端末装置のIPアドレスに基づいて、切替対象の端末装置またはサブネットを特定する。
[ステップS43]品質計測部120は、サブネットを切替対象として特定した場合、過去に通信の実績がある該当サブネット内の端末装置を検索する。そして品質計測部120は、過去に通信の実績がある該当サブネット内の端末装置を、切替対象として特定する。品質計測部120は、特定した切替対象装置のIPアドレスを切替制御部141に通知する。
【0132】
[ステップS44]切替制御部141は、ルータ26のARPテーブル26aを収集する。切替制御部141は、収集したARPテーブル26aを、ARP管理部142に格納する。
【0133】
[ステップS45]切替制御部141は、スイッチ200のACL240を設定する。例えば切替制御部141は、サブネット全体が切替対象に特定された場合、ルータ26に接続されたポートへの切替対象のサブネットからの入力パケットを遮断するように、ACL240を設定する。また、切替制御部141は、切替対象に設定されたサブネット内の端末装置とは別に、個々の端末装置が切替対象に特定された場合、ルータ26に接続されたポートへの該当する端末装置からの入力パケットを遮断するように、ACL240を設定する。
【0134】
[ステップS46]切替制御部141は、キャプチャ部110でキャプチャされたパケットで示されるメッセージを受信する。
[ステップS47]切替制御部141は、受信したメッセージが、即時リダイレクト可能な切替対象の端末装置からのリクエストか否かを判断する。即時リダイレクト可能かどうかは、ステップS44で取得したARPテーブル26aを参照して判断する。取得したリクエストメッセージの送信元のIPアドレスのエントリが、取得したARPテーブル26aに含まれていなければ、送信元のIPアドレスに対応する端末装置は、即時リダイレクト可能な端末装置と判断できる。切替制御部141は、即時リダイレクト可能な切替対象の端末装置からのリクエストであれば、処理をステップS49に進める。切替制御部141は、即時リダイレクト可能な切替対象の端末装置からのリクエストでなければ、処理をステップS48に進める。
【0135】
[ステップS48]切替制御部141は、サーバ300にリクエストメッセージを転送する。切替制御部141は、その後、処理をステップS46に進める。
[ステップS49]切替制御部141は、受信したリクエストメッセージの送信元の端末装置に対して、リダイレクトメッセージを送信する。送信されるリダイレクトメッセージには、例えばサーバ300aへのリダイレクトの指示が含まれる。この際、ステップS46で受信したメッセージは廃棄される。
【0136】
[ステップS50]切替制御部141は、切替対象のすべての端末装置に対してリダイレクトメッセージを送信し、アクセス先の切替制御を行ったか否かを判断する。切替対象のすべての端末装置の切替制御が完了した場合、切替制御部141は、処理をステップS51に進める。またアクセス先の切り替えを行っていない切替対象の端末装置がある場合、切替制御部141は、処理をステップS46に進める。
【0137】
[ステップS51]切替制御部141は、ステップS45で行ったスイッチ200のACL240の設定を解除する。
このようにして、スイッチ200のACL240を利用して、切替対象の端末装置からのリクエストメッセージがサーバ300に送られるのを遮断し、リダイレクト装置100がそのリクエストメッセージに対してリダイレクトメッセージを応答することができる。
【0138】
図21は、第3の実施の形態におけるリダイレクト制御の一例を示す図である。図21の例では、端末装置31,33それぞれからリクエストメッセージ51,55が送信された場合の、メッセージの流れを示している。なお、図19に示すように、「192.168.1.0/24」のサブネット全体が切替対象であり、該当サブネットの通信がスイッチ200で遮断されているものとする。また図19のARPテーブル26aに示すように、IPアドレス「192.168.1.10」の端末装置31は通信中であるが、IPアドレス「192.168.1.15」の端末装置33は通信中でないものとする。
【0139】
通信中の端末装置31から送信されたリクエストメッセージ51は、スイッチ200において遮断される。このとき、スイッチ200では、リクエストメッセージ51の複製を生成し、複製のリクエストメッセージ52をミラーポートから出力する。複製のリクエストメッセージ52はリダイレクト装置100に入力される。
【0140】
複製のリクエストメッセージ52を受信したリダイレクト装置100は、端末装置31が通信中であるため、複製のリクエストメッセージ52と同じ内容のリクエストメッセージ53を、サーバ300に送信する。リクエストメッセージ53を受信したサーバ300は、リクエストメッセージ53の内容に応じて処理を実行し、端末装置31のIPアドレスを宛先とするパケットにより、レスポンスメッセージ54を出力する。レスポンスメッセージ54は、スイッチ200を介してルータ26に転送される。そしてレスポンスメッセージ54は、ネットワーク20を介して端末装置31に転送される。
【0141】
なお、図21には示していないが、切替対象外の端末装置からサーバ300宛のリクエストメッセージが送信された場合、スイッチ200で遮断されずにリクエストメッセージがサーバ300に送られ、サーバ300からレスポンスメッセージが応答される。
【0142】
また通信中でなかった端末装置33から送信されたリクエストメッセージ55は、スイッチ200において遮断される。このとき、スイッチ200では、リクエストメッセージ55の複製を生成し、複製のリクエストメッセージ56をミラーポートから出力する。複製のリクエストメッセージ56はリダイレクト装置100に入力される。
【0143】
複製のリクエストメッセージ56を受信したリダイレクト装置100では、切替制御部141により端末装置33宛のリダイレクトメッセージ57が生成され、リダイレクトメッセージ57が送受信部150を介して出力される。リダイレクトメッセージ57は、スイッチ200においてルータ26に転送される。そしてリダイレクトメッセージ57は、ネットワーク20を介して端末装置33に転送される。
【0144】
リダイレクトメッセージ57には、例えばサーバ300が設置されたデータセンタAとは別のデータセンタB内のサーバ300aのIPアドレスを指定した、リダイレクト指示が含まれている。そこで、リダイレクトメッセージ57を受信した端末装置33は、リダイレクトの指示に従い、サーバ300aに対して改めてリクエストメッセージを送信する。これにより、端末装置33は、サーバ300aからサービス提供を受けることができる。
【0145】
このようにして、既存の通信に影響を及ぼすことなく、端末装置からのリクエストメッセージの送信先を、別のサーバに切り替えることが可能となる。すなわち、即時リダイレクトが可能な端末装置以外の端末装置の通信には影響を及ぼさずに、即時リダイレクトが可能な端末装置に対してリダイレクトメッセージを送信し、別のサーバへアクセス先を誘導することができる。
【0146】
〔第4の実施の形態〕
次に第4の実施の形態について説明する。第4の実施の形態では、通信品質が劣化した端末装置を検出すると、すべてのリクエストメッセージをリダイレクト装置に送信する。リダイレクト装置は、即時リダイレクト可能な切替対象の端末装置に対してはリダイレクトメッセージを送信し、そうでない端末装置のリクエストメッセージはサーバに転送する。このようにして、サーバからは、通常のレスポンスメッセージのみを応答させるようにしたものである。
【0147】
なお、第4の実施の形態におけるシステム構成は、図4〜図8に示した第2の実施の形態のシステム構成と同様である。ただし、切替制御部141の機能が、第2の実施の形態と第4の実施の形態とで異なる。そこで、以下第2の実施の形態の構成要素に示した符号を用いて、第4の実施の形態について説明する。
【0148】
第4の実施の形態では、すべてのリクエストメッセージをリダイレクト装置100に送信させるために、ルータ26のARPテーブル26aを操作する。例えばリダイレクト装置100は、通信品質が劣化した端末装置を検出すると、ルータ26のARPテーブル26a内のサーバ300のIPアドレスのエントリのMACアドレスを、リダイレクト装置100のMACアドレスに書き換える。
【0149】
図22は、更新後のルータのARPテーブルの一例を示す図である。ルータ26のARPテーブル26aには、サーバ300のIP「192.168.100.5」に対応付けてリダイレクト装置100のMACアドレス「aa:bb:cc:dd:ee:ff」を設定したエントリが登録されている。このようなARPテーブル26aに基づいてルータ26がパケットの転送を行うと、転送するパケットを含むフレームの宛先には、リダイレクト装置100のMACアドレス「aa:bb:cc:dd:ee:ff」が設定される。すると、リダイレクト装置100のMACアドレス「aa:bb:cc:dd:ee:ff」を宛先とするフレームは、スイッチ200においてリダイレクト装置100に転送される。このようにしてサーバ300宛のすべてのIPパケットを、リダイレクト装置100に転送させることができる。
【0150】
また、リダイレクト装置100の切替制御部141はルータ26のARPテーブル26aを収集し、ARP管理部142に登録する。そして切替制御部141は、取得したARPテーブル26aに基づいて、通信中の端末装置を特定する。なお通信中の端末装置は、例えばリダイレクト装置100の品質計測部120で計測中の端末装置のIPアドレスにより特定することもできる。また品質計測部120においてキャプチャしたリクエストメッセージを解析し、新規のリクエストメッセージかどうかで通信中の端末装置を判定することもできる。
【0151】
図23は、第4の実施の形態のリダイレクト処理の手順の一例を示すフローチャートである。以下、図23に示す処理をステップ番号に沿って説明する。なお、図23に示すステップS61〜S64、S67〜S71の処理は、それぞれ図20に示した第3の実施の形態のフローチャートのステップS41〜S44、S47〜S51の処理と同じである。以下、図20のフローチャートと処理が異なるステップS65,S66,S72について説明する。
【0152】
[ステップS65]切替制御部141は、ルータ26のARPテーブル26aを設定する。例えば切替制御部141は、ルータ26内のARPテーブル26aに登録されているサーバ300のIPアドレスのエントリのMACアドレスを、リダイレクト装置100のMACアドレスに変更する。
【0153】
[ステップS66]切替制御部141は、ルータ26のARPテーブル26aの設定によって転送されてきた、サーバ300を宛先としたメッセージを受信する。なお切替制御部141は、図20に示した第3の実施の形態のステップS46の処理と同様に、キャプチャ部110でキャプチャしたパケットで示されるメッセージを受信することもできる。
【0154】
[ステップS72]切替制御部141は、ステップS65で行ったルータ26のARPテーブル26aの設定の解除指示(例えば、サーバ300のMACアドレスに戻す指示)を送信する。
【0155】
このようにして、ルータ26のARPテーブル26aを利用して、切替対象の端末装置からのリクエストメッセージがサーバ300に送られるのを遮断できる。そして、リダイレクト装置100が、リクエストメッセージに対してリダイレクトメッセージを応答することができる。
【0156】
図24は、第4の実施の形態におけるリダイレクト制御の一例を示す図である。図24の例では、端末装置31,33それぞれからリクエストメッセージ61,64が送信された場合の、メッセージの流れを示している。なお、「192.168.1.0/24」のサブネット全体が切替対象であるものとする。また図22のARPテーブル26aに示すように、IPアドレス「102.168.1.10」の端末装置31は通信中であるが、IPアドレス「102.168.1.15」の端末装置33は通信中でないものとする。
【0157】
通信中の端末装置31から送信されたリクエストメッセージ61は、スイッチ200においてリダイレクト装置100に転送される。リクエストメッセージ61を受信したリダイレクト装置100は、端末装置31が通信中であるため、リクエストメッセージ61と同じ内容のリクエストメッセージ62を、サーバ300に送信する。リクエストメッセージ62を受信したサーバ300は、リクエストメッセージ62の内容に応じて処理を実行し、端末装置31のIPアドレスを宛先とするパケットにより、レスポンスメッセージ63を出力する。レスポンスメッセージ63は、スイッチ200を介してルータ26に転送される。そしてレスポンスメッセージ63は、ネットワーク20を介して端末装置31に転送される。
【0158】
なお、図24には示していないが、切替対象外の端末装置からサーバ300宛のリクエストメッセージが送信された場合も、端末装置31からリクエストメッセージが送信された場合と同様に処理され、レスポンスメッセージが端末装置に応答される。
【0159】
また通信中でなかった端末装置33から送信されたリクエストメッセージ64は、スイッチ200においてリダイレクト装置100に転送される。
リクエストメッセージ64を受信したリダイレクト装置100では、切替制御部141により端末装置33宛のリダイレクトメッセージ65が生成され、リダイレクトメッセージ65が送受信部150を介して出力される。リダイレクトメッセージ65は、スイッチ200においてルータ26に転送される。そしてリダイレクトメッセージ65は、ネットワーク20を介して端末装置33に転送される。
【0160】
リダイレクトメッセージ65には、例えばサーバ300が設置されたデータセンタAとは別のデータセンタB内のサーバ300aのIPアドレスを指定した、リダイレクト指示が含まれている。そこで、リダイレクトメッセージ65を受信した端末装置33は、リダイレクトの指示に従い、サーバ300aに対して改めてリクエストメッセージを送信する。これにより、端末装置33は、サーバ300aからサービス提供を受けることができる。
【0161】
このようにして、既存の通信に影響を及ぼすことなく、端末装置からのリクエストメッセージの送信先を、別のサーバに切り替えることが可能となる。すなわち、即時リダイレクトが可能な端末装置以外の端末装置の通信には影響を及ぼさずに、即時リダイレクトが可能な端末装置に対してリダイレクトメッセージを送信し、別のサーバへアクセス先を誘導することができる。
【0162】
〔第5の実施の形態〕
次に第5の実施の形態について説明する。第5の実施の形態は、リダイレクト装置の制御によるサーバからのレスポンスメッセージを遮断する手法を用いて、試験対象サーバの運用前の事前検証を実施するものである。
【0163】
図25は、第5の実施の形態のシステム構成の一例を示す図である。図25では、図4に示した第2の実施の形態と同じ要素には図4と同じ符号を付し、説明を省略する。
第5の実施の形態では、第2の実施の形態におけるリダイレクト装置100に代えて、試験装置400がスイッチ200に接続されている。試験装置400は、スイッチ200のミラーポートと通常の通信ポートとのそれぞれに対して接続されている。またスイッチ200には、運用サーバ300bと試験対象サーバ300cとが接続されている。
【0164】
運用サーバ300bは、ネットワーク20を介して、端末装置31〜34に対してサービスを提供するコンピュータである。試験対象サーバ300cは、運用サーバ300bと同様の処理機能を有することの試験対象となるコンピュータである。例えば運用サーバ300bの代替用に用意されたコンピュータが、試験対象サーバ300cとしてスイッチ200に接続される。
【0165】
試験装置400は、試験対象サーバ300cの動作試験および性能試験を実施するコンピュータである。例えば試験装置400は、端末装置31〜34と運用サーバ300bとの間で通信されたメッセージを、スイッチ200のミラーポートからキャプチャする。試験装置400は、取得したメッセージフローを通信履歴として記憶する。
【0166】
その後、試験装置400は、スイッチ200のACL240を操作し、試験対象サーバ300cからのレスポンスメッセージが、端末装置31〜34に転送されないように制御する。次に、試験装置400は、記憶した通信履歴を用いて、試験対象サーバ300cの動作試験を行う。
【0167】
なお、試験装置400と運用サーバ300b,300cとは、図5に示したリダイレクト装置100と同様のハードウェア構成で実現することができる。
図26は、第5の実施の形態における試験装置の機能の一例を示すブロック図である。試験装置400は、キャプチャ部410、履歴管理部420、履歴記憶部430、試験実施部440、送受信部450、および表示部460を有する。
【0168】
キャプチャ部410は、スイッチ200のミラーポートから出力されたパケットをキャプチャする。
履歴管理部420は、キャプチャ部410でキャプチャしたパケットに基づいて認識できるメッセージの通信履歴を、履歴記憶部430に格納する。例えば履歴管理部420は、端末装置31〜34と運用サーバ300bとの間で通信されたメッセージの履歴情報を履歴記憶部430に格納する。また履歴管理部420は、試験実施部440と試験対象サーバ300cとの間で通信されたメッセージの履歴情報を履歴記憶部430に格納する。
【0169】
履歴記憶部430は、通信履歴を記憶する。例えば試験装置400内のRAMまたはHDDの記憶領域の一部が、履歴記憶部430として使用される。
試験実施部440は、履歴管理部420を介して履歴記憶部430に格納された通信履歴を取得し、取得した通信履歴を用いて、試験対象サーバ300cの動作試験を行う。例えば試験実施部440は、端末装置31〜34から運用サーバ300bに送られたリクエストメッセージと同じリクエストメッセージを、送受信部450を介して試験対象サーバ300cに送信する。このとき送信されるリクエストメッセージの送信元のIPアドレスは、いずれかの端末装置31〜34のIPアドレスである。試験実施部440は、試験対象サーバ300cからのレスポンスメッセージを、キャプチャ部410を介して取得する。そして試験実施部440は、端末装置31〜34と運用サーバ300bとの間の通信履歴と、試験装置400と試験対象サーバ300cとの間の通信履歴とを比較し、試験対象サーバ300cが運用サーバ300bと同様に動作することを検証する。
【0170】
送受信部450は、スイッチ200を介して、試験対象サーバ300cへのリクエストメッセージを送信する。
表示部460は、試験実施部440による試験結果を、モニタなどに表示する。
【0171】
このような機能を有する試験装置400により、試験対象サーバ300cの動作試験が行われる。なお、スイッチ200では、初期状態として、運用サーバ300bが接続された通信ポートにおける入出力パケットの複製を、ミラーポートから出力するように設定されている。
【0172】
図27は、試験の手順を示すフローチャートである。以下、図27に示す処理をステップ番号に沿って説明する。なお以下の処理は、例えば試験担当者による試験開始指示の入力が行われたときに実行される。
【0173】
[ステップS81]キャプチャ部410は、運用サーバ300bと端末装置31〜34それぞれとの間で通信されたパケットをキャプチャする。キャプチャ部410は、キャプチャしたパケットを履歴管理部420に渡す。履歴管理部420は、例えば取得したパケットを解析して通信されたメッセージを生成し、生成したメッセージを履歴記憶部430に格納する。
【0174】
[ステップS82]試験実施部440は、ステップS81におけるキャプチャ処理の期間が所定期間に達すると、スイッチ200におけるミラーリングの対象を、試験対象サーバ300cが接続された通信ポートに設定する。
【0175】
[ステップS83]試験実施部440は、スイッチ200のACLの設定を行う。例えば試験実施部440は、スイッチ200のACLに、試験対象サーバ300cが接続された通信ポートからの入力パケットのうち、端末装置31〜34が属するサブネット「192.168.1.0/24」を宛先とするパケットを遮断する設定を行う。これにより、試験対象サーバ300cから端末装置31〜34宛のレスポンスメッセージは、スイッチ200で遮断される。
【0176】
[ステップS84]試験実施部440は、履歴記憶部430内の運用サーバ300bを宛先とする、未抽出のリクエストメッセージを、取得時刻の早い順に1つずつ抽出する。そして試験実施部440は、抽出したリクエストメッセージと同じ内容のリクエストメッセージを、端末装置31〜34のIPアドレスを送信元のアドレスとして、試験対象サーバ300cに対して送信する。
【0177】
[ステップS85]履歴管理部420は、試験対象サーバからのレスポンスメッセージを、キャプチャ部410を介して受信する。そして履歴管理部420は、受信したレスポンスメッセージを、履歴記憶部430に格納する。
【0178】
[ステップS86]試験実施部440は、履歴記憶部430内に、運用サーバ300bを宛先とする未抽出のリクエストメッセージが残っているか否かを判断する。試験実施部440は、該当するリクエストメッセージがあれば、処理をステップS84に進める。また試験実施部440は、該当するリクエストメッセージがなければ、処理をステップS87に進める。
【0179】
[ステップS87]試験実施部440は、送信したリクエストメッセージに対して運用サーバ300bが応答したレスポンスメッセージと、ステップS85で受信したレスポンスメッセージとの内容が同じか否かを判断する。試験実施部440は、レスポンスメッセージの内容が同じなら、処理をステップS88に進める。また試験実施部440は、レスポンスメッセージの内容が異なる場合、処理をステップS89に進める。
【0180】
[ステップS88]試験実施部440は、試験対象サーバ300cは正常動作していると判定する。例えば、試験実施部440は、正常動作していることを、表示部460を介してモニタに表示するその後、処理が終了する。
【0181】
[ステップS89]試験実施部440は、試験対象サーバ300cは異常動作していると判定する。例えば、試験実施部440は、異常動作していることを、表示部460を介してモニタに表示するその後、処理が終了する。
【0182】
このようにして、試験対象サーバ300cの動作試験が行われる。
図28は、通信履歴の取得状況の一例を示す図である。端末装置31から運用サーバ300bにリクエストメッセージ71が送信されると、スイッチ200においてリクエストメッセージ71が複製される。そしてスイッチ200のミラーポートから、複製のリクエストメッセージ72が出力され、試験装置400に入力される。運用サーバ300bでは、リクエストメッセージ71に応じた処理を実行し、端末装置31宛のレスポンスメッセージ73を送信する。するとスイッチ200において、レスポンスメッセージ73が複製される。そしてスイッチ200のミラーポートから複製のレスポンスメッセージ74が出力され、試験装置400に入力される。
【0183】
同様に、端末装置33から運用サーバ300bにリクエストメッセージ75が送信されると、スイッチ200においてリクエストメッセージ75が複製される。そしてスイッチ200のミラーポートから、複製のリクエストメッセージ76が出力され、試験装置400に入力される。運用サーバ300bでは、リクエストメッセージ75に応じた処理を実行し、端末装置33宛のレスポンスメッセージ77を送信する。するとスイッチ200において、レスポンスメッセージ77が複製される。そしてスイッチ200のミラーポートから複製のレスポンスメッセージ78が出力され、試験装置400に入力される。
【0184】
試験装置400では、スイッチ200から受信した複製のリクエストメッセージ72,76や、複製のレスポンスメッセージ74,78を履歴情報として記憶する。
図29は、取得される通信履歴の一例を示す図である。図29には、端末装置31と運用サーバ300bとの間の通信履歴431の例が示されている。例えば通信履歴431には、端末装置のIPアドレスと運用サーバのIPアドレスとの組に対応付けて、リクエストメッセージとレスポンスメッセージとの組のリストが、時系列に登録されている。
【0185】
このような通信履歴431を取得した後、試験装置400は、ミラーポートへのミラーリングの対象を、試験対象サーバ300cが接続された通信ポートへの入力パケットに切り替える。また試験装置400は、スイッチ200のACLを操作する。
【0186】
図30は、スイッチのACL操作の一例を示す図である。試験装置400の試験実施部440は、スイッチ200のACL240に、例えば「deny,192.168.1.0/24,HTTP」と設定する。これにより、試験対象サーバ300cからサブネット「192.168.1.0/24」内の端末装置宛のパケットは、スイッチ200で遮断される。
【0187】
その後、試験実施部440は、試験対象サーバ300cに対して、試験用のリクエストメッセージを送信する。
図31は、試験時のメッセージの送受信状況の一例を示す図である。例えば試験装置400から、端末装置31のIPアドレスを送信元とするリクエストメッセージ81が、試験対象サーバ300c宛に送信される。リクエストメッセージ81は、スイッチ200により試験対象サーバ300cに転送される。試験対象サーバ300cでは、リクエストメッセージ81に応じた処理を実行し、端末装置31宛のレスポンスメッセージ82を送信する。レスポンスメッセージ82は、スイッチ200において遮断されると共に、スイッチ200でレスポンスメッセージ82が複製される。そしてスイッチ200のミラーポートから複製のレスポンスメッセージ83が出力され、試験装置400に入力される。
【0188】
同様に、試験装置400から、端末装置33のIPアドレスを送信元とするリクエストメッセージ84が、試験対象サーバ300c宛に送信される。リクエストメッセージ84は、スイッチ200により試験対象サーバ300cに転送される。試験対象サーバ300cでは、リクエストメッセージ84に応じた処理を実行し、端末装置33宛のレスポンスメッセージ85を送信する。レスポンスメッセージ85は、スイッチ200において遮断されると共に、スイッチ200でレスポンスメッセージ85が複製される。そしてスイッチ200のミラーポートから複製のレスポンスメッセージ86が出力され、試験装置400に入力される。
【0189】
試験装置400では、このようにして取得したレスポンスメッセージ83,86を、例えば対応するリクエストメッセージ81,84と組にして、履歴記憶部430内に試験時の履歴情報として格納する。そして、運用時の履歴情報と試験時の履歴情報とを比較することで、試験対象サーバ300cが正しく動作しているか否かが検証される。
【0190】
図32は、試験対象サーバが正しく動作した場合の通信例を示す図である。図32には、試験装置400と試験対象サーバ300cとの間の通信履歴432の例が示されている。例えば通信履歴432には、試験装置400がリクエストメッセージの送信元に設定した端末装置のIPアドレスと、試験対象サーバ300cのIPアドレスとの組に対応付けて、通信されたメッセージが登録されている。例えば通信履歴432には、リクエストメッセージとレスポンスメッセージとの組のリストが、時系列に登録されている。
【0191】
図32に示す通信履歴432では、運用サーバ300bから端末装置31に送信されたレスポンスメッセージと同じレスポンスメッセージが、試験対象サーバ300cから送信されている。従って、試験実施部440は、試験対象サーバ300cが正常に動作していると判定する。
【0192】
図33は、試験対象サーバが正しく動作していない場合の通信例を示す図である。図33には、試験装置400と試験対象サーバ300cとの間の通信履歴433の例が示されている。図33に示す通信履歴433では、運用サーバ300bから端末装置31に送信されたレスポンスメッセージと一部異なるレスポンスメッセージが、試験対象サーバ300cから送信されている。従って、試験実施部440は、試験対象サーバ300cが正常に動作していないと判定する。
【0193】
以上により、これから導入しようとしているサーバが正しく動作するかを事前に検証できる。
〔その他の実施の形態〕
第2〜第5の実施の形態では、スイッチ200のミラーポートを用いて、パケットのキャプチャを行っているが、スイッチ機能を有していないハブ(マルチポートリピータ)を用いてパケットをキャプチャすることもできる。スイッチ機能を有していないハブでは、1つの通信ポートに入力されたパケットは、他のすべての通信ポートから出力される。そのため、リダイレクト装置100または試験装置400を、端末装置とサーバとの通信経路上に設置されたハブの任意の通信ポートに接続することで、ハブを経由して送受信されるパケットのキャプチャが可能となる。
【0194】
第5の実施の形態では、スイッチ200のACL240の設定により、試験対象サーバ300cから端末装置へのレスポンスメッセージの通信を遮断しているが、他の方法で通信を遮断することもできる。例えば第2の実施の形態と同様に、試験対象サーバ300cのARPテーブル310を操作することで、端末装置へのレスポンスメッセージを試験装置400に転送させるようにしてもよい。
【0195】
なお、上記の各実施の形態に示した処理機能は、コンピュータによって実現することができる。その場合、リダイレクト装置100や試験装置400が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
【0196】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0197】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0198】
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
【0199】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【0200】
以上の実施の形態に開示された技術には、以下の付記に示す技術が含まれる。
(付記1) 第1の装置が送信した第2の装置宛の要求の、前記第1の装置と前記第2の装置との通信経路上に配置されたネットワーク機器から前記第2の装置への通信と、前記第2の装置が送信した前記第1の装置宛の応答の通信との少なくとも一方の通信を、ネットワークを介した遠隔制御により遮断する遮断手段と、
前記第1の装置が送信した前記第2の装置宛の要求を、前記ネットワーク機器から取得し、要求の送信先の第3の装置への切替指示を、前記第1の装置へ送信する送信手段と、
を有する情報処理装置。
【0201】
(付記2) 前記遮断手段は、前記第1の装置と前記第2の装置との間の最後の通信から所定期間以上経過後に、通信の遮断を行い、
前記送信手段は、通信の遮断後に前記第1の装置が送信した前記第2の装置宛の要求を取得し、要求の送信先の前記第3の装置への切替指示を前記第1の装置へ送信する、
ことを特徴とする付記1記載の情報処理装置。
【0202】
(付記3) 前記遮断手段は、前記第2の装置から、所定期間以内に通信が行われた通信相手のアドレスが登録されたテーブルを取得して、記憶手段に格納し、該テーブルに前記第1の装置のアドレスが登録されていなければ、前記第1の装置と前記第2の装置との間の最後の通信から所定期間以上経過していると判断することを特徴とする付記2記載の情報処理装置。
【0203】
(付記4) 前記遮断手段は、前記第2の装置に対して、前記第1の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先アドレスとして、前記第1の装置と前記第2の装置との通信経路上の装置のアドレスと異なるアドレスの登録指示を送信する、
ことを特徴とする付記1乃至3のいずれかに記載の情報処理装置。
【0204】
(付記5) 前記遮断手段は、前記第2の装置に対して、前記第1の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先のアドレスとして、前記情報処理装置のアドレスの登録を指示する登録指示を送信し、前記第2の装置から送られた前記第1の装置宛のパケットを廃棄する、
ことを特徴とする付記4記載の情報処理装置。
【0205】
(付記6) 前記遮断手段は、前記ネットワーク機器に対して、前記第1の装置が送信した前記第2の装置宛の要求の通信の遮断指示を送信する、
ことを特徴とする付記1乃至3のいずれかに記載の情報処理装置。
【0206】
(付記7) 前記遮断手段は、前記ネットワーク機器から、前記第1の装置が送信した前記第2の装置宛の要求を取得し、前記第1の装置と前記第2の装置との間の直前の通信から所定期間以上経過していなければ、該要求を前記第2の装置に転送し、
前記送信手段は、前記第1の装置と前記第2の装置との間の直前の通信から所定期間以上経過した後に、前記第1の装置が送信した前記第2の装置宛の要求を取得した場合、要求の送信先の前記第3の装置への切替指示を前記第1の装置へ送信する、
ことを特徴とする付記6記載の情報処理装置。
【0207】
(付記8) 前記遮断手段は、前記第1の装置への切替指示送信後、前記ネットワーク機器に対して、第1の装置が送信した前記第2の装置宛の通信の遮断の解除指示を送信する、
ことを特徴とする付記6または7のいずれかに記載の情報処理装置。
【0208】
(付記9) 前記遮断手段は、前記第2の装置と同一セグメントで接続されたルータに対して、前記第2の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先アドレスとして、前記第1の装置と前記第2の装置との通信経路上の装置のアドレスと異なるアドレスの登録指示を送信する、
ことを特徴とする付記1乃至3のいずれかに記載の情報処理装置。
【0209】
(付記10) 前記遮断手段は、前記ルータに対して、前記第2の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先のアドレスとして、前記情報処理装置のアドレスの登録を指示する登録指示を送信し、前記ルータから送られた前記第2の装置宛のパケットのうち、前記第1の装置以外の装置からのパケットは前記第2の装置に転送し、前記第1の装置からのパケットは廃棄する、
ことを特徴とする付記9記載の情報処理装置。
【0210】
(付記11) 前記遮断手段は、前記第1の装置への切替指示送信後、前記ルータに対して、前記第2の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先アドレスの設定の解除指示を送信する、
ことを特徴とする付記9または10のいずれかに記載の情報処理装置。
【0211】
(付記12) 前記第2の装置に要求を送信する複数の装置それぞれの前記第2の装置との間の通信品質を計測し、通信品質が所定値以下になった装置を前記第1の装置に決定する計測手段をさらに有することを特徴とする付記1乃至11のいずれかに記載の情報処理装置。
【0212】
(付記13) 前記計測手段は、前記第2の装置と他の装置との間の通信を前記ネットワーク機器から取得し、取得した通信を解析して、通信品質が所定値以下になった装置を判断する、
ことを特徴とする付記12記載の情報処理装置。
【0213】
(付記14) 前記計測手段は、通信品質が所定値以下になった装置と同一サブネットに属する装置それぞれを、前記第1の装置に決定することを特徴とする付記12または13のいずれかに記載の情報処理装置。
【0214】
(付記15) 前記計測手段は、通信品質が所定値以下になった装置と同一サブネットに属する装置のうち、前記第2の装置との間で過去に通信実績のある装置を、前記第1の装置に決定することを特徴とする付記12乃至14のいずれかに記載の情報処理装置。
【0215】
(付記16) 前記送信手段は、前記切替指示の送信元を、前記第2の装置に偽装することを特徴とする付記1乃至15のいずれかに記載の情報処理装置。
(付記17) 第1の装置が送信した第2の装置宛の応答の、前記第1の装置と前記第2の装置との通信経路上に配置されたネットワーク機器から前記第2の装置への通信を、ネットワークを介した遠隔制御により遮断する遮断手段と、
送信元を前記第2の装置に偽装した要求を前記第1の装置に送信する送信手段と、
前記第1の装置からの応答を前記ネットワーク機器から取得し、該応答の内容に基づいて前記第1の装置の動作検証を行う検証手段と、
を有する情報処理装置。
【0216】
(付記18) コンピュータに、
第1の装置が送信した第2の装置宛の要求の、前記第1の装置と前記第2の装置との通信経路上に配置されたネットワーク機器から前記第2の装置への通信と、前記第2の装置が送信した前記第1の装置宛の応答の通信との少なくとも一方の通信を、ネットワークを介した遠隔制御により遮断し、
前記第1の装置が送信した前記第2の装置宛の要求を、前記ネットワーク機器から取得し、要求の送信先の第3の装置への切替指示を、前記第1の装置へ送信する、
処理を実行させるプログラム。
【0217】
(付記19) コンピュータが、
第1の装置が送信した第2の装置宛の要求の、前記第1の装置と前記第2の装置との通信経路上に配置されたネットワーク機器から前記第2の装置への通信と、前記第2の装置が送信した前記第1の装置宛の応答の通信との少なくとも一方の通信を、ネットワークを介した遠隔制御により遮断し、
前記第1の装置が送信した前記第2の装置宛の要求を、前記ネットワーク機器から取得し、要求の送信先の第3の装置への切替指示を、前記第1の装置へ送信する、
ことを特徴とする制御方法。
【符号の説明】
【0218】
1 情報処理装置
1a 計測手段
1b 遮断手段
1c 送信手段
2 第1の装置
3 第2の装置
4 ネットワーク機器
5 第3の装置
N ネットワーク
【特許請求の範囲】
【請求項1】
第1の装置が送信した第2の装置宛の要求の、前記第1の装置と前記第2の装置との通信経路上に配置されたネットワーク機器から前記第2の装置への通信と、前記第2の装置が送信した前記第1の装置宛の応答の通信との少なくとも一方の通信を、ネットワークを介した遠隔制御により遮断する遮断手段と、
前記第1の装置が送信した前記第2の装置宛の要求を、前記ネットワーク機器から取得し、要求の送信先の第3の装置への切替指示を、前記第1の装置へ送信する送信手段と、
を有する情報処理装置。
【請求項2】
前記遮断手段は、前記第1の装置と前記第2の装置との間の最後の通信から所定期間以上経過後に、通信の遮断を行い、
前記送信手段は、通信の遮断後に前記第1の装置が送信した前記第2の装置宛の要求を取得し、要求の送信先の前記第3の装置への切替指示を前記第1の装置へ送信する、
ことを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記遮断手段は、前記第2の装置から、所定期間以内に通信が行われた通信相手のアドレスが登録されたテーブルを取得して、記憶手段に格納し、該テーブルに前記第1の装置のアドレスが登録されていなければ、前記第1の装置と前記第2の装置との間の最後の通信から所定期間以上経過していると判断することを特徴とする請求項2記載の情報処理装置。
【請求項4】
前記遮断手段は、前記第2の装置に対して、前記第1の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先アドレスとして、前記第1の装置と前記第2の装置との通信経路上の装置のアドレスと異なるアドレスの登録指示を送信する、
ことを特徴とする請求項1乃至3のいずれかに記載の情報処理装置。
【請求項5】
前記遮断手段は、前記第2の装置に対して、前記第1の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先のアドレスとして、前記情報処理装置のアドレスの登録を指示する登録指示を送信し、前記第2の装置から送られた前記第1の装置宛のパケットを廃棄する、
ことを特徴とする請求項4記載の情報処理装置。
【請求項6】
前記遮断手段は、前記ネットワーク機器に対して、前記第1の装置が送信した前記第2の装置宛の要求の通信の遮断指示を送信する、
ことを特徴とする請求項1乃至3のいずれかに記載の情報処理装置。
【請求項7】
前記遮断手段は、前記ネットワーク機器から、前記第1の装置が送信した前記第2の装置宛の要求を取得し、前記第1の装置と前記第2の装置との間の直前の通信から所定期間以上経過していなければ、該要求を前記第2の装置に転送し、
前記送信手段は、前記第1の装置と前記第2の装置との間の直前の通信から所定期間以上経過した後に、前記第1の装置が送信した前記第2の装置宛の要求を取得した場合、要求の送信先の前記第3の装置への切替指示を前記第1の装置へ送信する、
ことを特徴とする請求項6記載の情報処理装置。
【請求項8】
前記遮断手段は、前記第2の装置と同一セグメントで接続されたルータに対して、前記第2の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先アドレスとして、前記第1の装置と前記第2の装置との通信経路上の装置のアドレスと異なるアドレスの登録指示を送信する、
ことを特徴とする請求項1乃至3のいずれかに記載の情報処理装置。
【請求項9】
前記遮断手段は、前記ルータに対して、前記第2の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先のアドレスとして、前記情報処理装置のアドレスの登録を指示する登録指示を送信し、前記ルータから送られた前記第2の装置宛のパケットのうち、前記第1の装置以外の装置からのパケットは前記第2の装置に転送し、前記第1の装置からのパケットは廃棄する、
ことを特徴とする請求項8記載の情報処理装置。
【請求項10】
前記遮断手段は、前記第1の装置への切替指示送信後、前記ルータに対して、前記第2の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先アドレスの設定の解除指示を送信する、
ことを特徴とする請求項8または9のいずれかに記載の情報処理装置。
【請求項11】
前記第2の装置に要求を送信する複数の装置それぞれの前記第2の装置との間の通信品質を計測し、通信品質が所定値以下になった装置を前記第1の装置に決定する計測手段をさらに有することを特徴とする請求項1乃至10のいずれかに記載の情報処理装置。
【請求項12】
前記計測手段は、前記第2の装置と他の装置との間の通信を前記ネットワーク機器から取得し、取得した通信を解析して、通信品質が所定値以下になった装置を判断する、
ことを特徴とする請求項11記載の情報処理装置。
【請求項13】
前記計測手段は、通信品質が所定値以下になった装置と同一サブネットに属する装置のうち、前記第2の装置との間で過去に通信実績のある装置を、前記第1の装置に決定することを特徴とする請求項11または12のいずれかに記載の情報処理装置。
【請求項14】
コンピュータに、
第1の装置が送信した第2の装置宛の要求の、前記第1の装置と前記第2の装置との通信経路上に配置されたネットワーク機器から前記第2の装置への通信と、前記第2の装置が送信した前記第1の装置宛の応答の通信との少なくとも一方の通信を、ネットワークを介した遠隔制御により遮断し、
前記第1の装置が送信した前記第2の装置宛の要求を、前記ネットワーク機器から取得し、要求の送信先の第3の装置への切替指示を、前記第1の装置へ送信する、
処理を実行させるプログラム。
【請求項15】
コンピュータが、
第1の装置が送信した第2の装置宛の要求の、前記第1の装置と前記第2の装置との通信経路上に配置されたネットワーク機器から前記第2の装置への通信と、前記第2の装置が送信した前記第1の装置宛の応答の通信との少なくとも一方の通信を、ネットワークを介した遠隔制御により遮断し、
前記第1の装置が送信した前記第2の装置宛の要求を、前記ネットワーク機器から取得し、要求の送信先の第3の装置への切替指示を、前記第1の装置へ送信する、
ことを特徴とする制御方法。
【請求項1】
第1の装置が送信した第2の装置宛の要求の、前記第1の装置と前記第2の装置との通信経路上に配置されたネットワーク機器から前記第2の装置への通信と、前記第2の装置が送信した前記第1の装置宛の応答の通信との少なくとも一方の通信を、ネットワークを介した遠隔制御により遮断する遮断手段と、
前記第1の装置が送信した前記第2の装置宛の要求を、前記ネットワーク機器から取得し、要求の送信先の第3の装置への切替指示を、前記第1の装置へ送信する送信手段と、
を有する情報処理装置。
【請求項2】
前記遮断手段は、前記第1の装置と前記第2の装置との間の最後の通信から所定期間以上経過後に、通信の遮断を行い、
前記送信手段は、通信の遮断後に前記第1の装置が送信した前記第2の装置宛の要求を取得し、要求の送信先の前記第3の装置への切替指示を前記第1の装置へ送信する、
ことを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記遮断手段は、前記第2の装置から、所定期間以内に通信が行われた通信相手のアドレスが登録されたテーブルを取得して、記憶手段に格納し、該テーブルに前記第1の装置のアドレスが登録されていなければ、前記第1の装置と前記第2の装置との間の最後の通信から所定期間以上経過していると判断することを特徴とする請求項2記載の情報処理装置。
【請求項4】
前記遮断手段は、前記第2の装置に対して、前記第1の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先アドレスとして、前記第1の装置と前記第2の装置との通信経路上の装置のアドレスと異なるアドレスの登録指示を送信する、
ことを特徴とする請求項1乃至3のいずれかに記載の情報処理装置。
【請求項5】
前記遮断手段は、前記第2の装置に対して、前記第1の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先のアドレスとして、前記情報処理装置のアドレスの登録を指示する登録指示を送信し、前記第2の装置から送られた前記第1の装置宛のパケットを廃棄する、
ことを特徴とする請求項4記載の情報処理装置。
【請求項6】
前記遮断手段は、前記ネットワーク機器に対して、前記第1の装置が送信した前記第2の装置宛の要求の通信の遮断指示を送信する、
ことを特徴とする請求項1乃至3のいずれかに記載の情報処理装置。
【請求項7】
前記遮断手段は、前記ネットワーク機器から、前記第1の装置が送信した前記第2の装置宛の要求を取得し、前記第1の装置と前記第2の装置との間の直前の通信から所定期間以上経過していなければ、該要求を前記第2の装置に転送し、
前記送信手段は、前記第1の装置と前記第2の装置との間の直前の通信から所定期間以上経過した後に、前記第1の装置が送信した前記第2の装置宛の要求を取得した場合、要求の送信先の前記第3の装置への切替指示を前記第1の装置へ送信する、
ことを特徴とする請求項6記載の情報処理装置。
【請求項8】
前記遮断手段は、前記第2の装置と同一セグメントで接続されたルータに対して、前記第2の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先アドレスとして、前記第1の装置と前記第2の装置との通信経路上の装置のアドレスと異なるアドレスの登録指示を送信する、
ことを特徴とする請求項1乃至3のいずれかに記載の情報処理装置。
【請求項9】
前記遮断手段は、前記ルータに対して、前記第2の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先のアドレスとして、前記情報処理装置のアドレスの登録を指示する登録指示を送信し、前記ルータから送られた前記第2の装置宛のパケットのうち、前記第1の装置以外の装置からのパケットは前記第2の装置に転送し、前記第1の装置からのパケットは廃棄する、
ことを特徴とする請求項8記載の情報処理装置。
【請求項10】
前記遮断手段は、前記第1の装置への切替指示送信後、前記ルータに対して、前記第2の装置宛のパケットを送信する際のデータリンク層におけるフレームの宛先アドレスの設定の解除指示を送信する、
ことを特徴とする請求項8または9のいずれかに記載の情報処理装置。
【請求項11】
前記第2の装置に要求を送信する複数の装置それぞれの前記第2の装置との間の通信品質を計測し、通信品質が所定値以下になった装置を前記第1の装置に決定する計測手段をさらに有することを特徴とする請求項1乃至10のいずれかに記載の情報処理装置。
【請求項12】
前記計測手段は、前記第2の装置と他の装置との間の通信を前記ネットワーク機器から取得し、取得した通信を解析して、通信品質が所定値以下になった装置を判断する、
ことを特徴とする請求項11記載の情報処理装置。
【請求項13】
前記計測手段は、通信品質が所定値以下になった装置と同一サブネットに属する装置のうち、前記第2の装置との間で過去に通信実績のある装置を、前記第1の装置に決定することを特徴とする請求項11または12のいずれかに記載の情報処理装置。
【請求項14】
コンピュータに、
第1の装置が送信した第2の装置宛の要求の、前記第1の装置と前記第2の装置との通信経路上に配置されたネットワーク機器から前記第2の装置への通信と、前記第2の装置が送信した前記第1の装置宛の応答の通信との少なくとも一方の通信を、ネットワークを介した遠隔制御により遮断し、
前記第1の装置が送信した前記第2の装置宛の要求を、前記ネットワーク機器から取得し、要求の送信先の第3の装置への切替指示を、前記第1の装置へ送信する、
処理を実行させるプログラム。
【請求項15】
コンピュータが、
第1の装置が送信した第2の装置宛の要求の、前記第1の装置と前記第2の装置との通信経路上に配置されたネットワーク機器から前記第2の装置への通信と、前記第2の装置が送信した前記第1の装置宛の応答の通信との少なくとも一方の通信を、ネットワークを介した遠隔制御により遮断し、
前記第1の装置が送信した前記第2の装置宛の要求を、前記ネットワーク機器から取得し、要求の送信先の第3の装置への切替指示を、前記第1の装置へ送信する、
ことを特徴とする制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【公開番号】特開2013−51542(P2013−51542A)
【公開日】平成25年3月14日(2013.3.14)
【国際特許分類】
【出願番号】特願2011−188169(P2011−188169)
【出願日】平成23年8月31日(2011.8.31)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成25年3月14日(2013.3.14)
【国際特許分類】
【出願日】平成23年8月31日(2011.8.31)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]