(57)【要約】【課題】多階層システムを構成する複数のサーバのうち、層が隣接する一対のサーバが、同一マシンに組み込まれている場合でも、多階層システムを構成する全てのサーバによるメッセージの遣り取りを可視化できるようにすること。【解決手段】同一のマシン３０に組み込まれたウェブサーバ１１とアプリケーションサーバ２１によるパケットの送信先をループバック装置５０に設定し、ループバック装置５０には、一対のサーバ１１、２１のうちの一方からパケットを受信したときには、そのパケット内の出所ＩＰアドレスと出所ポート番号と宛先ポート番号の組み合わせが既知か否かを判定させ、既知であれば、受信したパケットの出所ＩＰアドレスと宛先ＩＰアドレスとを入れ替えて他方のサーバに送信させ、且つ、一方のサーバから受信したパケット、及び、一方のサーバに送信したパケットを複製して通信状態可視化マシン９０に送信させる。【選択図】図１
2010098360.tif 000002
【特許請求の範囲】
【請求項１】
多階層システムのサーバ間を流れるパケットを分析してサーバ間のトランザクションを可視化するシステム可視化システムにおけるループバック装置であって、
送信先アドレスと送信元ポートと送信先ポートを記憶する記憶部と、
２つ以上の階層の役割を担う１つのサーバ（以下、対象サーバという）から、送信先アドレスと送信元ポートと送信先ポートを有するパケットを受信する受信部と、
受信したパケットの送信先アドレスと送信元ポートと送信先ポートが、前記記憶部の送信先アドレスと送信元ポートと送信先ポートに一致すれば、該パケットの送信元アドレスと送信先アドレスを入れ替える入替部と、
アドレスを入れ換えたパケットを前記対象サーバに送信する送信部と、
受信したパケットまたはアドレスを入れ換えたパケットをミラーリングし、ミラーリングしたパケットをシステム可視化装置に送るミラーリング処理部と、
を有するシステム可視化システムにおけるループバック装置。
【請求項２】
前記入替部は、受信したパケットの送信先アドレスと送信元ポートと送信先ポートが、前記記憶部の送信先アドレスと送信元ポートと送信先ポートに一致すれば、受信したパケットが上りと判断し、
受信したパケットの送信元ポートと送信先ポートを入れ替えて、受信したパケットの送信先アドレスと入れ替え後の送信元ポートと送信先ポートが、前記記憶部の送信先アドレスと送信元ポートと送信先ポートに一致すれば、受信したパケットが下りと判断し、
前記ミラーリング処理部は、受信したパケットが上りであれば、受信したパケットをミラーリングし、受信したパケットが下りであれば、置き換えたパケットをミラーリングし、ミラーリングしたパケットをシステム可視化装置に送る、
請求項１記載のシステム可視化システムにおけるループバック装置。
【請求項３】
前記入替部は、受信したパケットの送信先アドレスと送信元ポートと送信先ポートが前記記憶部になければ、受信したパケットが新規コネクションであると判断し、受信した送信先アドレスと送信元ポートと送信先ポートを前記記憶部に記録する、
請求項１または２記載のシステム可視化システムにおけるループバック装置。
【請求項４】
多階層システムのサーバ間を流れるパケットを分析してサーバ間のトランザクションを可視化するシステム可視化システムのためにパケットをミラーリングするミラーリング方法であって、
ループバック装置が、
２つ以上の階層の役割を担う１つのサーバ（以下、対象サーバという）から、送信先アドレスと送信元ポートと送信先ポートを有するパケットを受信する受信手順と、
受信したパケットの送信先アドレスと送信元ポートと送信先ポートが、送信先アドレスと送信元ポートと送信先ポートを記憶する記憶部の送信先アドレスと送信元ポートと送信先ポートに一致すれば、該パケットの送信元アドレスと送信先アドレスを入れ替える入替手順と、
アドレスを入れ換えたパケットを前記対象サーバに送信する送信手順と、
受信したパケットまたはアドレスを入れ換えたパケットをミラーリングし、ミラーリングしたパケットをシステム可視化装置に送るミラーリング処理手順と、
を実行するミラーリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書において開示する装置及び方法は、パケットをミラーリングする技術に関する。
【背景技術】
【０００２】
周知のように、ＩＰ［Internet Protocol］ネットワークを介して接続された複数のコ
ンピュータの間の通信状態を可視化するためのソフトウエアがある。このソフトウエアを起動することにより通信状態可視化機能を実現したコンピュータは、監視対象となる複数のコンピュータ間を流れるパケットの複製を受信して、受信したパケットの内容をそのまま表示する。また、当該通信状態可視化機能を実現したコンピュータは、パケット内に記述されているプロトコルやアドレスに関する情報を利用者が理解しやすい形態に変換して表示したり、特定の条件に合致するパケットを抽出して統計的な処理を行って図やグラフを表示したりする。また、当該通信状態可視化機能を実現したコンピュータは、受信したパケットに基づいてＴＣＰ［Transmission Control Protocol］コネクション確立シーケ
ンスやメッセージの遣り取りをラダー表示することもある。ここで、メッセージとは、ＩＰヘッダとＴＣＰヘッダとを取り除いて残るセグメントを基に再組み立てを行って元の形に戻したもので、ＴＣＰより上位の通信レイヤの送信単位を言う。
【０００３】
監視対象となる複数のコンピュータ間を流れるパケットの複製の受信は、通常、ＬＡＮ［Local Area Network］スイッチのポートミラーリング機能によって、実現される。ポートミラーリング機能は、特定の通信ポートを通過するパケットを複製し、それをミラーポートから送出するための機能である。前述したソフトウエアが導入されたコンピュータは、監視対象となる複数のコンピュータがともに接続されているＬＡＮスイッチのミラーポートに対し、接続されることとなる。
【０００４】
例えば、図１３に示すように、トランザクション管理やセッション管理やデータ加工などを応用したビジネスロジックを実行するアプリケーションサーバ２１をウェブサーバ１１とデータベースサーバ４１との間に備えるウェブ三階層システムにおいて、ウェブサーバ１１とアプリケーションサーバ２１とデータベースサーバ４１とがそれぞれ別のマシン１０、２０、４０に搭載されている場合、外部ネットワーク内の中継装置（図示略）とウェブサーバマシン１０内の第１のＮＩＣ［Network Interface Card］２５ａとが、第１のＬＡＮスイッチ６０を介して接続され、ウェブサーバマシン１０内の第２のＮＩＣ１５ｂとアプリケーションサーバマシン２０内の第１のＮＩＣ２５ａとが、第２のＬＡＮスイッチ７０を介して接続され、アプリケーションサーバマシン２０内の第１のＮＩＣ２５ｂとデータベースサーバマシン４０内のＮＩＣ４０ａとが、第３のＬＡＮスイッチ８０を介して接続される。
【０００５】
この図１３に示す事例において、第１のＬＡＮスイッチ６０は、ウェブクライアント（図示略）の下位にあるＨＴＴＰ［HyperText Transfer Protocol］−Ｉ／Ｆ［InterFace］及びＮＩＣと、ウェブサーバ１１の下位にあるＨＴＴＰ−Ｉ／Ｆ１２ａ及び第１のＮＩＣ１５ａとが、ＨＴＴＰメッセージを遣り取りする際に、そのＨＴＴＰメッセージを分割したものをパケットとして中継する。また、第１のＬＡＮスイッチ６０は、中継したパケットを複製して、自機のミラーポートにＮＩＣ９０ａが接続されているマシン９０内の通信状態可視化機能９１に送信する。
【０００６】
第２のＬＡＮスイッチ７０は、ウェブサーバ１１の下位にあるＩＩＯＰ［Internet Inter-ORB Protocol］（オブジェクトマネージメントグループの商標）−Ｉ／Ｆ１２ｂ及び
第２のＮＩＣ１５ｂと、アプリケーションサーバ２１の下位にあるＩＩＯＰ−Ｉ／Ｆ２２ａ及び第１のＮＩＣ２５ａとが、ＩＩＯＰメッセージを遣り取りする際に、そのＩＩＯＰメッセージを分割したものをパケットとして中継する。また、第２のＬＡＮスイッチ７０は、中継したパケットを複製して、自機のミラーポートにＮＩＣ９０ａが接続されているマシン９０内の通信状態可視化機能９１に送信する。
【０００７】
第３のＬＡＮスイッチ８０は、アプリケーションサーバ２１の下位にあるＳＱＬ［Structured Query Language］−Ｉ／Ｆ２２ｂ及び第２のＮＩＣ２５ｂと、データベースサー
バ４１の下位にあるＳＱＬ−Ｉ／Ｆ４２及びＮＩＣ４０ａとが、ＳＱＬメッセージを遣り取りする際に、そのＳＱＬメッセージを分割したものをパケットとして中継する。また、第３のＬＡＮスイッチ８０は、中継したパケットを複製して、自機のミラーポートにＮＩＣ９０ａが接続されているマシン９０内の通信状態可視化機能９１に送信する。
【０００８】
そして、図１３に示す通信状態可視化機能９１は、第１乃至第３のＬＡＮスイッチ６０〜８０からパケットを受信すると、受信したパケットに基づいて、ＨＴＴＰメッセージ、ＩＩＯＰメッセージ、及び、ＳＱＬメッセージの再組み立てを行い、これらメッセージの遣り取りを、図１４に示すように、ラダー表示する。
【０００９】
ラダー表示では、ウェブクライアントマシン（図示略）、ウェブサーバマシン１０、アプリケーションサーバマシン２０、及び、データベースサーバマシン４０のそれぞれの時間軸が、並行に示される。そして、１つのメッセージの送信を示す矢印が、そのメッセージの出所のマシンの時間軸から、宛先のマシンの時間軸まで、描画される。ＨＴＴＰメッセージ、ＩＩＯＰメッセージ、及び、ＳＱＬメッセージを示す矢印が、それぞれ描画されることにより、ウェブクライアントマシンによる要求に端を発する一連のメッセージの遣り取り（トランザクション）が、示されることとなる。
【００１０】
そして、例えば、ウェブサーバマシン１０の時間軸における矢印の端点の間隔により、ＨＴＴＰメッセージを受信した時点から、ＩＩＯＰメッセージを送信した時点までの時間Ｔａ［秒］が、明らかになる。また、例えば、アプリケーションサーバマシン２０の時間軸における矢印の端点の間隔により、ＩＩＯＰメッセージを受信した時点から、ＳＱＬメッセージを送信した時点までの時間Ｔｂ［秒］が、明らかとなる。これらにより、処理に時間が掛かっているサーバマシンが判明する。
【００１１】
【特許文献１】特開２００６−０１１６８３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
図１３に例示したウェブ三階層システムでは、ウェブサーバ１１と、アプリケーションサーバ２１と、データベースサーバ４１とが、互いに異なるマシンに組み込まれている。しかしながら、現実的には、ウェブ三階層システムは、中小規模のシステムとして構成されることが多く、その場合、特に、図１５に示すように、ウェブサーバ１１とアプリケーションサーバ２１とが、同一のマシン３０に組み込まれることが多い。
【００１３】
この図１５に示す事例においては、ウェブサーバ１１の下位にあるＩＩＯＰ−Ｉ／Ｆ１２ｂと、アプリケーションサーバ２１の下位にあるＩＩＯＰ−Ｉ／Ｆ２２ａとが、ＩＩＯＰメッセージを同一マシン３０内でローカルに遣り取りすることとなるため、第２のＬＡＮスイッチ７０が省かれる。すると、ＩＩＯＰメッセージを運搬するパケットが、ミラーリングされなくなるため、ＩＩＯＰメッセージの再組み立てが、通信状態可視化機能９１によって行われることもない。この結果、通信状態可視化機能９１は、第１及び第３のＬＡＮスイッチ６０、８０から受信したパケットに基づいて、ＨＴＴＰメッセージ、及び、
ＳＱＬメッセージの再組み立てを行い、これらメッセージの遣り取りを、図１６に示すように、ラダー表示する。
【００１４】
この事例におけるラダー表示では、ウェブサーバ１１とアプリケーションサーバ２１とが組み込まれたウェブアプリケーションサーバマシン３０の時間軸が、一本のみ示される。そして、このウェブアプリケーションサーバマシン３０の時間軸における矢印の端点の間隔により、例えば、ＨＴＴＰメッセージを受信した時点から、ＳＱＬメッセージを送信する時点までの時間Ｔｃが、明らかとなる。
【００１５】
この時間Ｔｃは、図１４に示した時間Ｔａと時間Ｔｂとを合計した時間であり、時間Ｔａと時間Ｔｂのどちらが長いのかは、時間Ｔｃからは不明である。このため、時間Ｔｃが長かった場合に、ウェブサーバ１１とアプリケーションサーバ２１のどちらの処理に時間が掛かっているのかが、判明しないという問題があった。
【００１６】
本明細書において開示する方法は、前述したような従来の事情に鑑みてなされたものであり、その課題は、多階層システムを構成する複数のサーバのうち、層が隣接する一対のサーバが、同一マシンに組み込まれている場合でも、多階層システムを構成する全てのサーバによるメッセージの遣り取りを可視化できるようにすることにある。
【課題を解決するための手段】
【００１７】
上記の課題を解決するために案出されたミラーリング方法では、多階層システムを構成する複数のサーバのうち、層が隣接するとともに同一マシンに組み込まれた一対のサーバの接続先を、何れも、当該マシンに接続されたループバック装置に、設定する。そのループバック装置には、出所アドレスと出所ポート番号と宛先ポート番号とを対応付けて記憶部に記憶させる。また、そのループバック装置には、当該マシンに組み込まれている一対のサーバのうちの一方からパケットを受信したときに、そのパケットから出所アドレスと出所ポート番号と宛先ポート番号とを読み出させ、読み出した出所アドレスと出所ポート番号と宛先ポート番号の組み合わせと同じ組み合わせが記憶部に記録されていた場合には、受信したパケットの出所アドレスと宛先アドレスとを入れ替えて当該マシン内の他方のサーバに送信させる。更に、そのループバック装置には、一方のサーバから受信したパケット、及び、一方のサーバに送信したパケットを複製させ、通信状態可視化マシンに送信させる。
【００１８】
このような構成によれば、層が隣接するとともに同一マシンに組み込まれた一対のサーバが遣り取りするメッセージは、当該マシン内でローカルに遣り取りされず、マシン外のループバック装置を経由して遣り取りされることとなる。而も、そのメッセージを運搬するパケットは、ループバック装置によって複製され、通信状態可視化マシンに引き渡されることとなる。
【発明の効果】
【００１９】
従って、先に開示したミラーリング方法によれば、多階層システムを構成する複数のサーバのうち、層が隣接する一対のサーバが、同一マシンに組み込まれている場合でも、多階層システムを構成する全てのサーバによるメッセージの遣り取りが、可視化できるようになる。
【発明を実施するための最良の形態】
【００２０】
以下、添付図面を参照しながら、先に開示したミラーリング方法の実施形態であるコンピュータネットワークシステムについて、説明する。
【００２１】
なお、以下に説明するコンピュータネットワークシステムは、あくまでも一つの実施形
態であり、先に開示したミラーリング方法が、以下に説明する構成に限定されるものではない。
【００２２】
《構成》
図１は、本実施形態のコンピュータネットワークシステムの構成を示すブロック図である。なお、図１では、図１３及び図１５に示したものと同じものに、同一の符号を附している。
【００２３】
本実施形態のコンピュータシステムは、ウェブ三階層システムを含んでいる。ウェブ三階層システムは、ウェブサーバ１１とデータベースサーバ４１との間にアプリケーションサーバ２１を備えるシステムである。
【００２４】
このうち、ウェブサーバ１１は、ウェブクライアントから要求されたデータを送信するサービスを行うサーバである。データベースサーバ４１は、データを検索自在に記憶するとともに検索を行うサーバである。
【００２５】
アプリケーションサーバ２１は、トランザクション管理やセッション管理やデータ加工などを応用したビジネスロジックを実行するサーバである。アプリケーションサーバ２１は、ウェブサーバ１１を介してウェブクライアントから指示されたビジネスロジックを実行し、実行結果をウェブサーバ１１を介してウェブクライアントに応答する。また、アプリケーションサーバ２１は、そのビジネスロジックの実行過程において必要があれば、データベースサーバ４１に検索要求を行って検索結果を取得する。
【００２６】
図１に示すように、本実施形態では、ウェブサーバ１１及びアプリケーションサーバ２１は、同一のマシン３０に組み込まれている。一方、データベースサーバ４１は、そのマシン３０とは別のマシン４０に組み込まれている。
【００２７】
これらマシン３０、４０は、一般的なコンピュータである。従って、これらマシン３０、４０は、少なくとも、通信ユニット、ストレージユニット、ＣＰＵ［Central Processing Unit］、及び、メインメモリユニットを備えており、ストレージユニットには、オペ
レーティングシステムが導入されている。オペレーティングシステムは、ＣＰＵが、ソフトウエアとハードウエアの仲介、メモリ空間の管理、ファイル管理、プロセスやタスクの管理などを行うためのソフトウエアである。また、このオペレーティングシステムは、ＴＣＰ／ＩＰ［Transmission Control Protocol/Internet Protocol］スイートを含んでい
る。ＴＣＰ／ＩＰスイートは、１個のＩＰアドレスが割り当てられた論理ホストが別のＩＰアドレスが割り当てられた他の論理ホストとＴＣＰ／ＩＰに従ってパケットの遣り取りを行うためのプログラムである。
【００２８】
データベースサーバ４１が組み込まれたデータベースサーバマシン４０では、データベースサーバ４１としてＣＰＵを機能させるためのソフトウエアが、ストレージに導入されている。また、データベースサーバマシン４０のストレージには、データベースサーバ４１の下位にあるＳＱＬ［Structured Query Language］−Ｉ／Ｆ［InterFace］４２としてＣＰＵを機能させるためのソフトウエアも、導入されている。ＳＱＬ−Ｉ／Ｆ４２は、自ソフトウエアの上位にあるサーバがクライアントとＳＱＬメッセージの遣り取りを行うためのプログラムであり、ＴＣＰ／ＩＰスイートの上位にあるプログラムである。更に、データベースサーバマシン４０は、通信ユニットとして、ＮＩＣ［Network Interface Card］４０ａを、内蔵している。
【００２９】
ウェブサーバ１１及びアプリケーションサーバ２１が組み込まれたウェブアプリケーションサーバマシン３０では、ウェブサーバ１１及びアプリケーションサーバ２１としてＣ
ＰＵを機能させるためのソフトウエアが、ストレージに導入されている。また、ウェブアプリケーションサーバマシン３０のストレージには、ＨＴＴＰ［HyperText Transfer Protocol］−Ｉ／Ｆ１２ａ、ＩＩＯＰ［Internet Inter-ORB Protocol］（オブジェクトマネージメントグループの商標）−Ｉ／Ｆ１２ｂ、２２ａ、及び、ＳＱＬ−Ｉ／Ｆ２２ｂとしてＣＰＵを機能させるためのソフトウエアも、導入されている。ＨＴＴＰ−Ｉ／Ｆ１２ａは、自ソフトウエアの上位にあるサーバがクライアントとＨＴＴＰメッセージの遣り取りを行うためのプログラムである。ＩＩＯＰ−Ｉ／Ｆ１２ｂ、２２ａは、自ソフトウエアの上位にあるサーバが別のサーバとＩＩＯＰメッセージの遣り取りを行うためのプログラムである。更に、ウェブアプリケーションサーバマシン３０は、通信ユニットとして、第１乃至第３のＮＩＣ３０ａ〜３０ｃを、内蔵している。ここで、第１乃至第３のＮＩＣ３０ａ〜３０ｃは、論理ホストが１個ずつ設定された物理的な３個のＮＩＣであって好いし、３個の論理ホストが設定された物理的に１個のＮＩＣであっても好い。
【００３０】
第１のＮＩＣ３０ａは、外部ネットワーク内の中継装置（図示略）に対し、第１のＬＡＮスイッチ６０を介して接続されている。また、第２のＮＩＣ３０ｂは、第３のＬＡＮスイッチ８０を介してデータベースサーバマシン４０内のＮＩＣ４０ａに接続されている。また、第３のＮＩＣ３０ｃは、ループバック装置５０に接続されている。
【００３１】
第１のＬＡＮスイッチ６０は、ウェブクライアント（図示略）の下位にあるＨＴＴＰ−Ｉ／Ｆ及びＮＩＣと、ウェブサーバ１１の下位にあるＨＴＴＰ−Ｉ／Ｆ１２ａ及び第１のＮＩＣ３０ａとが、ＨＴＴＰメッセージを遣り取りする際に、そのＨＴＴＰメッセージを分割したものをパケットとして中継する。また、第１のＬＡＮスイッチ６０は、中継したパケットを複製して、自機のミラーポートにＮＩＣ９０ａが接続されているマシン９０内の通信状態可視化機能９１に送信する。
【００３２】
第３のＬＡＮスイッチ８０は、アプリケーションサーバ２１の下位にあるＳＱＬ−Ｉ／Ｆ２２ｂ及び第２のＮＩＣ３０ｂと、データベースサーバ４１の下位にあるＳＱＬ−Ｉ／Ｆ４２及びＮＩＣ４０ａとが、ＳＱＬメッセージを遣り取りする際に、そのＳＱＬメッセージを分割したものをパケットとして中継する。また、第３のＬＡＮスイッチ８０は、中継したパケットを複製して、自機のミラーポートにＮＩＣ９０ａが接続されているマシン９０内の通信状態可視化機能９１に送信する。
【００３３】
ループバック装置５０は、ウェブサーバ１１の下位にあるＩＩＯＰ−Ｉ／Ｆ１２ｂと、アプリケーションサーバ２１の下位にあるＩＩＯＰ−Ｉ／Ｆ２２ａとが、ＩＩＯＰメッセージを遣り取りする際に、そのＩＩＯＰメッセージを分割したものをパケットとして中継する。
【００３４】
なお、ウェブサーバ１１及びアプリケーションサーバ２１は、同一マシン３０内に組み込まれているため、本来であれば、ＩＩＯＰメッセージは、同一マシン３０内でローカルに遣り取りされることとなる。しかしながら、本実施形態では、ウェブサーバ１１及びアプリケーションサーバ２１のうちの一方のサーバが発するＩＩＯＰメッセージは、第３のＮＩＣ３０ｃを介してループバック装置５０に送出され、ループバック装置５０から第３のＮＩＣ３０ｃを介して他方のサーバに送出される。ウェブサーバ１１及びアプリケーションサーバ２１は、それぞれ、論理ホスト（ＩＰアドレス）とポート番号との組み合わせにより特定される。本実施形態では、ウェブサーバ１１の下位にあるＩＩＯＰ−Ｉ／Ｆ１２ｂとアプリケーションサーバ２１の下位にあるＩＩＯＰ−Ｉ／Ｆ２２ａとには、異なるポート番号が割り当てられるため、ウェブサーバ１１及びアプリケーションサーバ２１が同一の第３のＮＩＣ３０ｃを使用していても、ループバック装置５０は、それらサーバ１１、２１を区別することができる。
【００３５】
また、ループバック装置５０は、ウェブサーバ１１及びアプリケーションサーバ２１のうちの一方のサーバから受信したパケット、及び、一方のサーバに送信したパケットを複製させ、自機にＮＩＣ９０ａが接続されているマシン９０内の通信状態可視化機能９１に送信する。すなわち、ループバック装置５０は、ウェブサーバ１１と遣り取りしたパケットを複製して通信状態可視化機能９１に送信するか、或いは、アプリケーションサーバ２１と遣り取りしたパケットを複製して通信状態可視化機能９１に送信する。前者のようにウェブサーバ１１と遣り取りしたパケットの複製が、通信状態可視化機能９１に送信されるようになっている場合、通信状態可視化機能９１には、ループバック装置５０がアプリケーションサーバ２１であるかのように見える。逆に、後者のようにアプリケーションサーバ２１と遣り取りしたパケットの複製が、通信状態可視化機能９１に送信されるようになっている場合、通信状態可視化機能９１には、ループバック装置５０がウェブサーバ１１であるかのように見える。
【００３６】
図２は、ループバック装置５０の構成を示すブロック図である。
【００３７】
ループバック装置５０は、第１及び第２のＮＩＣ５０ａ、５０ｂ、ＲＯＭ［Read Only Memory］ユニット５０ｃ、ＣＰＵ５０ｄ、並びに、ＲＡＭ［Random Access Memory］ユニット５０ｅを、含んでいる。ループバック装置５０は、本実施形態に係る各種の機能をＣＰＵに実現させるための複数のプログラムを、ＲＯＭユニット５０ｃに記憶している。図２には、それらプログラムがＲＡＭユニット５０ｅに展開された状態が示されている。
【００３８】
図２に示すように、ループバック装置５０のＣＰＵは、具体的には、パケット受信機能５１、入替機能５２、パケット送信機能５３、及び、ミラーリング機能５４を、実現する。
【００３９】
パケット受信機能５１は、ウェブアプリケーションサーバマシン３０内の第３のＮＩＣ３０ｃから第１のＮＩＣ５０ａを介してパケットを受信する機能である。入替機能５２は、パケット受信機能５１が受信したパケットの出所ＩＰアドレスと宛先ＩＰアドレスとを入れ替える機能である。パケット送信機能５３は、入替機能５２が出所ＩＰアドレスと宛先ＩＰアドレスとを入れ替えたパケットを第１のＮＩＣ５０ａを介してウェブアプリケーションサーバマシン３０内の第３のＮＩＣ３０ｃへ送信する機能である。ミラーリング機能５４は、入替機能５２が出所ＩＰアドレスと宛先ＩＰアドレスとを入れ替える前又は後のパケットを複製して第２のＮＩＣ５０ｂを介して通信状態可視化マシン９０内のＮＩＣ９０ａへ送出する機能である。
【００４０】
また、入替機能５２は、パケット受信機能５１が受信したパケットのそれぞれについて、出所ＩＰアドレス、出所ポート番号、及び、宛先ポート番号からなるコネクション情報を監視する。入替機能５２は、パケット受信機能５１が受信したパケットから未知のコネクション情報を読み出した場合には、そのコネクション情報をコネクションテーブル５５に登録し、パケット受信機能５１が受信したパケットから既知のコネクション情報を読み出した場合には、出所ＩＰアドレスと宛先ＩＰアドレスの入れ替えを行う。
【００４１】
ここで、パケットは、図３に示すように、ＩＰヘッダと、ＴＣＰヘッダと、セグメントとからなる。セグメントは、メッセージを所定の送信単位に分割して得られる部分である。なお、メッセージは、幾つかのセグメントに分割され、各セグメントが、パケットに収納されて出所から宛先へと運搬される。各セグメントが宛先に到着すると、各セグメントを基にメッセージの再組み立てが行われる。
【００４２】
また、ＩＰヘッダは、図４のヘッダフォーマット図に示すように、「ヘッダチェックサム」、「出所ＩＰアドレス」及び「宛先ＩＰアドレス」のフィールドを、含んでいる。な
お、図４では、これら以外のフィールドには、斜線掛けが施されされているが、この斜線掛けが施されたフィールドについては、本実施形態では使用しないため、説明を省略する。「ヘッダチェックサム」フィールドには、そのＩＰヘッダ全体のチェックサムが格納される。チェックサムは、送信中のヘッダ情報の損失を確認するために使用される値である。具体的には、「ヘッダチェックサム」フィールドの値をゼロとした場合のＩＰヘッダを１６ビット毎に分割し、各１６ビットの「１の補数（ビット反転した値）」の総和を得、更に、その総和の「１の補数」を算出して得られる値である。パケットを受信した側でも同じ計算が行われ、同じ値が算出されれば、ヘッダ情報の損失がないことが判明する。また、「出所ＩＰアドレス」フィールドには、パケットの出所となる論理ホストのＩＰアドレスが格納され、「宛先ＩＰアドレス」フィールドには、パケットの宛先となる論理ホストのＩＰアドレスが格納される。
【００４３】
また、ＴＣＰヘッダは、図５のヘッダフォーマット図に示すように、「出所ポート番号」、「宛先ポート番号」及び「チェックサム」のフィールドを、含んでいる。なお、図５では、これら以外のフィールドには、斜線掛けが施されているが、この斜線掛けが施されたフィールドについては、本実施形態では使用しないため、説明を省略する。「出所ポート番号」フィールドには、パケットによりセグメントが運搬されるメッセージを作成した通信アプリケーション（ＨＴＴＰ−Ｉ／Ｆ１２ａ、ＩＩＯＰ−Ｉ／Ｆ１２ｂ、２２ａなど）を特定するポート番号が格納される。「宛先ポート番号」フィールドには、パケットによりセグメントが運搬されるメッセージを利用する通信アプリケーションを特定するポート番号が格納される。「チェックサム」フィールドは、そのＴＣＰヘッダ全体のチェックサムが格納される。チェックサムの計算方法については、ＩＰヘッダのヘッダチェックサムと同様である。
【００４４】
図６は、コネクションテーブル５５を模式的に示す図である。
【００４５】
コネクションテーブル５５は、前述したコネクション情報が複数記録される。具体的には、出所ＩＰアドレス、出所ポート番号、及び、宛先ポート番号の１個の組み合わせが、１つのレコードとして、コネクションテーブル５５に記録される。従って、コネクションテーブル５５の各レコードは、「出所ＩＰアドレス」、「出所ポート番号」及び「宛先ポート番号」のフィールドを有しており、各フィールドには、それぞれ、出所ＩＰアドレス、出所ポート番号、及び、宛先ポート番号が格納される。
【００４６】
《処理》
図７は、本実施形態のループバック装置５０が実行する処理の流れを示す図である。
【００４７】
処理の開始後、パケット受信機能５１が、ウェブアプリケーションサーバマシン３０内の第３のＮＩＣ３０ｃから第１のＮＩＣ５０ａを介してパケットを受信するまで、待機する（ステップＳ１０１；いいえ）。
【００４８】
そして、パケット受信機能５１が、ウェブアプリケーションサーバマシン３０内の第３のＮＩＣ３０ｃから第１のＮＩＣ５０ａを介してパケットを受信すると（ステップＳ１０１；はい）、入替機能５２が、方向判定サブルーチンを呼び出して実行する（ステップＳ１０２）。
【００４９】
図８及び図９は、方向判定サブルーチンの流れを示す図である。
【００５０】
方向判定サブルーチンの開始後、入替機能５２は、パケット受信機能５１が受信したパケットのＩＰヘッダ及びＴＣＰヘッダから、出所ＩＰアドレス、出所ポート番号、及び、宛先ポート番号を読み出す（ステップＳ２０１）。なお、宛先ＩＰアドレスは、ループバ
ック装置５０の第１のＮＩＣ５０ａに割り当てられたものであるため、入替機能５２によって読み出されることはない。
【００５１】
次に、入替機能５２は、受信したパケットから読み出した出所ＩＰアドレス、出所ポート番号、及び、宛先ポート番号を検索条件として、図６のコネクションテーブル５５を検索する（ステップＳ２０２）。つまり、入替機能５２は、受信したパケットから読み出した出所ＩＰアドレスを「出所ＩＰアドレス」フィールドに有し、読み出した出所ポート番号を「出所ポート番号」フィールドに有し、読み出した宛先ポート番号を「宛先ポート番号」フィールドに有しているレコードを、検索する。そして、当該検索条件に合致するレコードがコネクションテーブル５５から検出された場合（ステップＳ２０４；はい）、入替機能５２は、送信方向が上りであると特定し、例えば、方向フラグを「上り」に設定し、その後、図８及び図９に係る方向判定サブルーチンを終了する。
【００５２】
一方、当該検索条件に合致するレコードがコネクションテーブル５５から検出されなかった場合（ステップＳ２０４；いいえ）、入替機能５２は、受信したパケットから読み出した出所ＩＰアドレス、出所ポート番号、及び、宛先ポート番号のうち、出所ポート番号と宛先ポート番号とを入れ替え（ステップＳ２０５）、これらを検索条件として、図６のコネクションテーブル５５を検索する（ステップＳ２０６）。つまり、入替機能５２は、受信したパケットから読み出した出所ＩＰアドレスを「出所ＩＰアドレス」フィールドに有し、読み出した宛先ポート番号を「出所ポート番号」フィールドに有し、読み出した出所ポート番号を「宛先ポート番号」フィールドに有しているレコードを、検索する。そして、当該検索条件に合致するレコードがコネクションテーブル５５から検出された場合（ステップＳ２０７；はい）、入替機能５２は、送信方向が下りであると特定し、例えば、方向フラグを「上り」に設定し、その後、図８及び図９に係る方向判定サブルーチンを終了する。
【００５３】
一方、当該検索条件に合致するレコードがコネクションテーブル５５から検出されなかった場合（ステップＳ２０７；いいえ）、入替機能５２は、受信したパケットから読み出した出所ＩＰアドレス、出所ポート番号、及び、宛先ポート番号からなるコネクション情報を、図６のコネクションテーブル５５に登録し（ステップＳ２０９）、その後、図８及び図９に係る方向判定サブルーチンを終了する。
【００５４】
入替機能５２は、方向判定サブルーチンを終了すると、メインルーチンに復帰し、パケット受信機能５１が受信したパケットの出所ＩＰアドレスと宛先ＩＰアドレスとを入れ替える処理を行う（ステップＳ１０３）。すなわち、入替機能５２は、受信したパケットのＩＰヘッダの「出所ＩＰアドレス」フィールドに宛先ＩＰアドレスを書き込み、同じＩＰヘッダの「宛先ＩＰアドレス」フィールドに出所ＩＰアドレスを書き込む。ここで、出所ＩＰアドレスは、ウェブアプリケーションサーバマシン３０の第３のＮＩＣ３０ｃに割り当てられたものであり、宛先ＩＰアドレスは、ループバック装置５０の第１のＮＩＣ５０ａに割り当てられたものである。従って、アドレスを入れ替える処理は、パケットを単純に送り返すためのものとなる。但し、ＴＣＰヘッダにおける出所ポート番号及び宛先ポート番号はそのままである。このため、例えば、受信したパケットがウェブサーバ１１からのものである場合、宛先であるアプリケーションサーバ２１から見ると、ループバック装置５０から受信したパケットは、ループバック装置５０内にあるウェブサーバ１１から送られてきたもののように見える。
【００５５】
次に、入替機能５２は、出所ＩＰアドレスと宛先アドレスとを入れ替えたパケットにおけるＩＰヘッダ（図５参照）のヘッダチェックサムを更新するとともに、同パケットにおけるＴＣＰヘッダ（図６参照）のチェックサムを更新する（ステップＳ１０４）。なお、チェックサムの更新を行うのは、ヘッダの内容に変更があるためである。
【００５６】
次に、パケット送信機能５３は、入替機能５２が出所ＩＰアドレスと宛先ＩＰアドレスとを入れ替えたパケットを第１のＮＩＣ５０ａを介してウェブアプリケーションサーバマシン３０内の第３のＮＩＣ３０ｃへ送信する（ステップＳ１０５）。
【００５７】
次に、入替機能５２が方向判定サブルーチンにおいて特定したパケットの送信方向が「上り」であった場合（ステップＳ１０６；はい）、ミラーリング機能５４は、パケット受信機能５１が受信したパケットをミラーリングする（ステップＳ１０７）。すなわち、ミラーリング機能５４は、当該パケットを複製して第２のＮＩＣ５０ｂを介して通信状態可視化マシン９０内のＮＩＣ９０ａへ送出する。その後、パケット受信機能５１が、ウェブアプリケーションサーバマシン３０内の第３のＮＩＣ３０ｃから第１のＮＩＣ５０ａを介してパケットを受信するまで待機する状態になる（ステップＳ１０１；いいえ）。
【００５８】
一方、入替機能５２が方向判定サブルーチンにおいて特定したパケットの送信方向が「下り」であった場合（ステップＳ１０６；いいえ）、ミラーリング機能５４は、入替機能５２が出所ＩＰアドレスと宛先ＩＰアドレスとを入れ替えてウェブアプリケーションサーバマシン３０へ送信したパケットをミラーリングする（ステップＳ１０８）。すなわち、ミラーリング機能５４は、当該パケットを複製して第２のＮＩＣ５０ｂを介して通信状態可視化マシン９０内のＮＩＣ９０ａへ送出する。その後、パケット受信機能５１が、ウェブアプリケーションサーバマシン３０内の第３のＮＩＣ３０ｃから第１のＮＩＣ５０ａを介してパケットを受信するまで待機する状態になる（ステップＳ１０１；いいえ）。
【００５９】
《作用効果》
図１０乃至図１２は、本実施形態のループバック装置５０による作用及び効果を説明するのに用いる図である。このうち、図１０は、ウェブサーバ１１からアプリケーションサーバ２１へＩＩＯＰメッセージを送信する状態（上り）を示し、図１１は、アプリケーションサーバ２１からウェブサーバ１１へＩＩＯＰメッセージを送信する状態（下り）を示している。図１２は、ウェブアプリケーションサーバマシン３０と、ループバック装置５０と、通信状態可視化マシン９０との間における上り送信及び下り送信で遣り取りされるパケットごとに、ＩＰアドレス及びポート番号を示した表である。
【００６０】
ここで、説明のため、ウェブアプリケーションサーバマシン３０内の第３のＮＩＣ３０ｃに割り当てられているＩＰアドレスが「192.168.  0.  1」であるとともに、ループバ
ック装置５０内の第１のＮＩＣ５０ａに割り当てられているＩＰアドレスが「192.168.  1.  1」であるとする。また、ウェブサーバ１１の下位にあるＩＩＯＰ−Ｉ／Ｆ１２ｂに
割り当てられているポート番号が「50000」であるとともに、アプリケーションサーバ２
１の下位にあるＩＩＯＰ−Ｉ／Ｆ２２ａに割り当てられているポート番号が「1000」であるとする。
【００６１】
この図１０乃至図１２に示す事例において、ウェブサーバ１１からアプリケーションサーバ２１へのＩＩＯＰメッセージの送信である上り送信では、（出所ＩＰアドレス、宛先ＩＰアドレス、出所ポート番号、宛先ポート番号）が（「192.168.  0.  1」、「192.168.  1.  1」、「50000」、「1000」）であるパケット（Ａ）が、ウェブアプリケーション
サーバマシン３０内の第３のＮＩＣ３０ｃからループバック装置５０の第１のＮＩＣ５０ａに送信される。
【００６２】
そして、ループバック装置５０は、パケット（Ａ）を受信した後、図７のステップＳ１０３及び図１２に示すように、このパケット（Ａ）の出所ＩＰアドレスと宛先アドレスとを入れ替えたパケット（Ｂ）を生成し、このパケット（Ｂ）を、ループバック装置５０の第１のＮＩＣ５０ａからウェブアプリケーションサーバマシン３０内の第３のＮＩＣ３０
ｃへ送信する。
【００６３】
また、ループバック装置５０は、図７のステップＳ１０７に示すように、パケット（Ａ）を、ループバック装置５０の第２のＮＩＣ５０ｂから通信状態可視化マシン９０内のＮＩＣ９０ａへ送信する。
【００６４】
一方、アプリケーションサーバ２１からウェブサーバ１１へのＩＩＯＰメッセージの送信である下り送信では、（出所ＩＰアドレス、宛先ＩＰアドレス、出所ポート番号、宛先ポート番号）が（「192.168.  0.  1」、「192.168.  1.  1」、「1000」、「50000」）
であるパケット（Ｃ）が、ウェブアプリケーションサーバマシン３０内の第３のＮＩＣ３０ｃからループバック装置５０の第１のＮＩＣ５０ａに送信される。
【００６５】
ここで、パケット（Ａ）とパケット（Ｃ）とを比較すると、出所ポート番号と宛先ポート番号とが入れ替わっている。従って、上り送信での出所ポート番号と宛先ポート番号との組み合わせが、図９のステップＳ２０９に示すように、図６のコネクションテーブル５５に一旦登録されれば、その後に受信するパケットの送信方向は、図９のステップＳ２０１乃至Ｓ２０８に示すように、そのパケットの出所ポート番号と宛先ポート番号との組み合わせにより、判別できることとなる。
【００６６】
そして、ループバック装置５０は、パケット（Ｃ）を受信した後、図７のステップＳ１０３及び図１２に示すように、このパケット（Ｃ）の出所ＩＰアドレスと宛先アドレスとを入れ替えたパケット（Ｄ）を生成し、このパケット（Ｄ）を、ループバック装置５０の第１のＮＩＣ５０ａからウェブアプリケーションサーバマシン３０内の第３のＮＩＣ３０ｃへ送信する。
【００６７】
また、ループバック装置５０は、図７のステップＳ１０８に示すように、パケット（Ｄ）を、ループバック装置５０の第２のＮＩＣ５０ｂから通信状態可視化マシン９０内のＮＩＣ９０ａへ送信する。
【００６８】
このように、本実施形態によれば、層が隣接するとともに同一マシン３０に組み込まれた一対のサーバ１１、２１が遣り取りするＩＩＯＰメッセージは、当該マシン３０内でローカルに遣り取りされず、マシン３０外のループバック装置５０を経由して遣り取りされることとなる。而も、そのＩＩＯＰメッセージを運搬するパケットは、ループバック装置５０によって複製され、通信状態可視化マシン９０に引き渡されることとなる。
【００６９】
なお、図７に示す処理は、受信したパケットの送信方向が「上り」である場合に、受信したパケットをミラーリングし、受信したパケットの送信方向が「下り」である場合に、ＩＰアドレスを入れ替えたパケットをミラーリングするものとなっていた。つまり、当該処理は、図１０乃至図１２に示すように、パケット（Ａ）とパケット（Ｄ）とをミラーリングするものとなっていた。しかしながら、図７に示す処理は、これらが逆のものであっても好い。
【００７０】
すなわち、受信したパケットの送信方向が「上り」である場合に、ＩＰアドレスを入れ替えたパケットをミラーリングし、受信したパケットの送信方向が「下り」である場合に、受信したパケットをミラーリングするものとなっていても好い。この場合、当該処理は、図１０乃至図１２におけるパケット（Ｂ）とパケット（Ｃ）とをミラーリングするものとなる。
【図面の簡単な説明】
【００７１】
【図１】本実施形態のコンピュータネットワークシステムの構成を示すブロック図
【図２】ループバック装置の構成を示すブロック図
【図３】パケットを模式的に示す図
【図４】ＩＰヘッダフォーマットを示す図
【図５】ＴＣＰヘッダフォーマットを示す図
【図６】コネクションテーブルを模式的に示す図
【図７】本実施形態のループバック装置が実行する処理の流れを示す図
【図８】方向判定サブルーチンの流れを示す図
【図９】方向判定サブルーチンの流れを示す図
【図１０】送信方向が上りであるときのパケットの遣り取りを示す図
【図１１】送信方向が下りであるときのパケットの遣り取りを示す図
【図１２】上り送信及び下り送信で遣り取りされるパケットごとに、ＩＰアドレス及びポート番号を示す表
【図１３】３個のサーバが別マシンに組み込まれている従来のウェブ三階層システムの構成を示す図
【図１４】３個のマシンで遣り取りされるメッセージのラダー表示を示す図
【図１５】３個のサーバのうち２個のサーバが同一マシンに組み込まれている従来のウェブ三階層システムの構成を示す図
【図１６】２個のマシンで遣り取りされるメッセージのラダー表示を示す図
【符号の説明】
【００７２】
１１    ウェブサーバ
２１    アプリケーションサーバ
３０    ウェブアプリケーションサーバマシン
４０    データベースサーバマシン
４１    データベースサーバ
５０    ループバック装置
５０ａ  第１のＮＩＣ
５０ｂ  第２のＮＩＣ
５０ｃ  ＲＯＭユニット
５０ｄ  ＣＰＵ
５０ｅ  ＲＡＭユニット
５１    パケット受信機能
５２    入替機能
５３    パケット送信機能
５４    ミラーリング機能
５５    コネクションテーブル
６０    第１のＬＡＮスイッチ
８０    第３のＬＡＮスイッチ
９０    通信状態可視化マシン
【図１】
2010098360.tif 000003
【図２】
2010098360.tif 000004
【図３】
2010098360.tif 000005
【図４】
2010098360.tif 000006
【図５】
2010098360.tif 000007
【図６】
2010098360.tif 000008
【図７】
2010098360.tif 000009
【図８】
2010098360.tif 000010
【図９】
2010098360.tif 000011
【図１０】
2010098360.tif 000012
【図１１】
2010098360.tif 000013
【図１２】
2010098360.tif 000014
【図１３】
2010098360.tif 000015
【図１４】
2010098360.tif 000016
【図１５】
2010098360.tif 000017
【図１６】
2010098360.tif 000018