(57)【特許請求の範囲】
【請求項１】
仮想ＩＰアドレスが割り当てられたノード群に含まれる１つの割当先ノードと、クライアントとの間でＴＣＰ通信を開始するための情報処理システムであって、
前記ノード群は、
少なくとも１つのノードに設けられた通信保留手段と、
少なくとも１つのノードに設けられた通信切替手段と、
少なくとも前記割当先ノードに設けられた通信再開手段とを含み、
前記クライアントが、ＡＲＰ要求を前記仮想ＩＰアドレスに対して送信する通信開始処理と、
前記通信保留手段が、前記ＡＲＰ要求に応じ、ＡＲＰ応答及び前記クライアントのＴＣＰ通信を一時停止させるためのＴＣＰ接続応答（一時停止）を送信する通信保留処理と、
前記通信切替手段が、前記ＡＲＰ要求に応じ、前記仮想ＩＰアドレスに予め対応付けられた割当先ノードを送信元とするＧＡＲＰを送信するノード決定処理と、
前記通信再開手段が、前記クライアントのＴＣＰ通信を再開させるためのＴＣＰ確認応答（一時停止解除）を送信する通信再開処理とをそれぞれ実行する
情報処理システム。
【請求項２】
前記通信保留処理において、
前記通信保留手段は、前記ＡＲＰ要求に応じ、ＡＲＰ応答を前記クライアントに送信し、
前記クライアントは、前記ＡＲＰ応答に応じ、前記通信保留手段を有するノードのＭＡＣアドレスと前記仮想ＩＰアドレスとを組とするエントリをＡＲＰテーブルに記録するとともに、前記通信保留手段にＴＣＰ接続要求を送信し、
前記通信保留手段は、前記ＴＣＰ接続要求に応じ、ＴＣＰ接続応答（一時停止）を前記クライアントに送信する
請求項１記載の情報処理システム。
【請求項３】
前記ノード決定処理において、
前記通信切替手段は、前記ＡＲＰ要求に応じ、前記仮想ＩＰアドレスと前記割当先ノードとの対応関係を予め定義した仮想ＩＰ割当管理手段を参照し、前記ＡＲＰ要求の送信先である前記仮想ＩＰアドレスに対応する前記割当先ノードを特定するとともに、送信元ＩＰアドレスを前記仮想ＩＰアドレスとし送信元ＭＡＣアドレスを前記割当先ノードのＭＡＣアドレスとするＧＡＲＰを前記クライアントに送信し、
前記クライアントは、前記ＧＡＲＰに応じ、前記ＡＲＰテーブルにおける前記エントリを前記割当先ノードのＭＡＣアドレスで更新する
請求項１又は２記載の情報処理システム。
【請求項４】
前記通信保留処理において、
前記通信保留手段は、前記ＴＣＰ接続応答（一時停止）を前記通信再開手段にも送信し、
前記通信再開処理において、
前記通信再開手段は、前記ＴＣＰ接続応答（一時停止）に含まれるシーケンス番号を用いたＴＣＰ確認応答（一時停止解除）を前記クライアントに送信する
請求項１乃至３いずれか１項記載の情報処理システム。
【請求項５】
前記通信保留手段、前記通信切替手段及び前記通信再開手段は、
前記ＡＲＰ要求に応じ、前記クライアントを、前記各ノードが有する監視対象管理テーブルに登録し、
前記監視対象管理テーブルに登録された前記クライアントにかかるパケットのみについて、前記通信保留処理、前記ノード決定処理及び前記通信再開処理を実行する
請求項１乃至４いずれか１項記載の情報処理システム。
【請求項６】
処理対象となるパケットの条件と、実行すべき転送処理とを含む制御情報を管理するコントローラと、
前記制御情報に従ってパケット転送処理を行うスイッチとをさらに含み、
前記コントローラは、前記ＡＲＰ要求に応じ、前記クライアントを処理対象として登録し、
前記登録された前記クライアントにかかるパケットについては、前記通信保留処理、前記ノード決定処理及び前記通信再開処理にかかるパケット転送処理を前記スイッチに実行させる
請求項１乃至５いずれか１項記載の情報処理システム。
【請求項７】
仮想ＩＰアドレスが割り当てられたノード群を含むサーバシステムであって、
前記ノード群は、
少なくとも１つのノードに設けられた通信保留手段と、
少なくとも１つのノードに設けられた通信切替手段と、
少なくとも前記割当先ノードに設けられた通信再開手段とを含み、
前記通信保留手段が、クライアントから送信されるＡＲＰ要求に応じ、ＡＲＰ応答及び前記クライアントのＴＣＰ通信を一時停止させるためのＴＣＰ接続応答（一時停止）を送信する通信保留処理と、
前記通信切替手段が、前記ＡＲＰ要求に応じ、前記仮想ＩＰアドレスに予め対応付けられた割当先ノードを送信元とするＧＡＲＰを送信するノード決定処理と、
前記通信再開手段が、前記クライアントのＴＣＰ通信を再開させるためのＴＣＰ確認応答（一時停止解除）を送信する通信再開処理とをそれぞれ実行する
サーバシステム。
【請求項８】
処理対象となるパケットの条件と、実行すべき転送処理とを含む制御情報を管理するコントローラと、前記制御情報に従ってパケット転送処理を行うスイッチとを含み、仮想ＩＰアドレスが割り当てられたノード群に含まれる１つの割当先ノードと、クライアントとの間でＴＣＰ通信を開始するための情報処理システムにおけるコントローラであって、
前記ノード群は、
ＡＲＰ要求に応じ、ＡＲＰ応答及び前記クライアントのＴＣＰ通信を一時停止させるためのＴＣＰ接続応答（一時停止）を送信する通信保留処理を実行する、少なくとも１つのノードに設けられた通信保留手段と、
前記ＡＲＰ要求に応じ、前記仮想ＩＰアドレスに予め対応付けられた割当先ノードを送信元とするＧＡＲＰを送信するノード決定処理を実行する、少なくとも１つのノードに設けられた通信切替手段と、
前記クライアントのＴＣＰ通信を再開させるためのＴＣＰ確認応答（一時停止解除）を送信する通信再開処理を実行する、少なくとも前記割当先ノードに設けられた通信再開手段とを含み、
前記コントローラは、
クライアントから送信される前記ＡＲＰ要求に応じ、前記クライアントを処理対象として登録し、
前記登録された前記クライアントにかかるパケットについては、前記通信保留処理、前記ノード決定処理及び前記通信再開処理にかかるパケット転送処理を前記スイッチに実行させる
コントローラ。
【請求項９】
仮想ＩＰアドレスが割り当てられたノード群に含まれる１つの割当先ノードと、クライアントとの間でＴＣＰ通信を開始するための情報処理方法であって、
前記ノード群は、
少なくとも１つのノードに設けられた通信保留手段と、
少なくとも１つのノードに設けられた通信切替手段と、
少なくとも前記割当先ノードに設けられた通信再開手段とを含み、
前記クライアントが、ＡＲＰ要求を前記仮想ＩＰアドレスに対して送信する通信開始ステップと、
前記通信保留手段が、ＡＲＰ応答及び前記クライアントのＴＣＰ通信を一時停止させるためのＴＣＰ接続応答（一時停止）を送信する通信保留ステップと、
前記通信切替手段が、前記仮想ＩＰアドレスに予め対応付けられた割当先ノードを送信元とするＧＡＲＰを送信するノード決定ステップと、
前記通信再開手段が、前記クライアントのＴＣＰ通信を再開させるためのＴＣＰ確認応答（一時停止解除）を送信する通信再開ステップとを含む
情報処理方法。
【請求項１０】
仮想ＩＰアドレスが割り当てられたノード群に含まれる１つの割当先ノードと、クライアントとの間でＴＣＰ通信を開始するための情報処理をコンピュータに実行させるためのプログラムであって、
前記ノード群は、
少なくとも１つのノードに設けられた通信保留手段と、
少なくとも１つのノードに設けられた通信切替手段と、
少なくとも前記割当先ノードに設けられた通信再開手段とを含み、
前記クライアントが、ＡＲＰ要求を前記仮想ＩＰアドレスに対して送信する通信開始ステップと、
前記通信保留手段が、ＡＲＰ応答及び前記クライアントのＴＣＰ通信を一時停止させるためのＴＣＰ接続応答（一時停止）を送信する通信保留ステップと、
前記通信切替手段が、前記仮想ＩＰアドレスに予め対応付けられた割当先ノードを送信元とするＧＡＲＰを送信するノード決定ステップと、
前記通信再開手段が、前記クライアントのＴＣＰ通信を再開させるためのＴＣＰ確認応答（一時停止解除）を送信する通信再開ステップとを含む
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、サーバシステム、コントローラ、情報処理方法及びプログラムに関し、例えばＴＣＰ通信の割当先ノードをノード群から効率よく決定する技術に関する。
【背景技術】
【０００２】
並列に動作する複数のノード（典型的にはサーバ）を含むノード群に対し、任意のクライアントからサービス要求が行われた場合、ノード群側において、各ノードの負荷状態に応じ、サービス要求に応答する役割を適切なノードに割り当てることを、負荷分散という。
【０００３】
上述のような、複数の独立したノードから構成されるシステム（分散システム）においては、分散システム全体に対してあるＩＰアドレスが割り当てられ、そのＩＰアドレスに対するクライアントからのアクセスを、分散システム側で負荷分散することがある。この場合、クライアントに応答を行うべきノード（割当先ノード）が決定したならば、分散システム側からクライアントのＡＲＰテーブル（ＩＰアドレスとＭＡＣアドレスとの対応を記録する表）を書き換える（ＩＰアドレスと割当先ノードのＭＡＣアドレスとをセットにして書き込む）ことで、クライアントが割当先ノードと通信できるようにすることが一般的である。この分散システム側からのＡＲＰテーブルの書き換えには、ＧＡＲＰパケットが用いられる。
【０００４】
この分野の公知技術として、下記特許文献１及び２がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３９３０５１６号
【特許文献２】特許第４２３１０６５号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１におけるＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）通信では、以下の遅延要素のため、負荷分散に時間がかかりすぎるという問題があった。
【０００７】
第１の遅延要素は、クライアントからのＴＣＰ接続要求（ＳＹＮ）パケット内の情報（ポート番号など）を参照するまで、割当先ノードを決定できないことである。
【０００８】
第２の遅延要素は、最初にクライアントからのパケットを受信したノード１（マスタ）から、割当先ノードであるノード２（スレーブ）へ通信を引き継ぐ際に、ノード１は、クライアントから受信したパケットのヘッダを書き換えてノード２へ転送しているため、このパケットの書き換え及び転送処理に時間がかかることである。
【０００９】
第３の遅延要素として、ノード１からノード２へのパケットの転送完了を待ち合わせてから、ＧＡＲＰをクライアントに送信する必要があることである。これは、上記パケット転送が完了する前にＧＡＲＰを送信すると、割当先ノードへ送信途中のパケットが送られてしまうからである。
【課題を解決するための手段】
【００１０】
本発明に係る情報処理システムは、仮想ＩＰアドレスが割り当てられたノード群に含まれる１つの割当先ノードと、クライアントとの間でＴＣＰ通信を開始するための情報処理システムであって、前記ノード群は、少なくとも１つのノードに設けられた通信保留手段と、少なくとも１つのノードに設けられた通信切替手段と、少なくとも前記割当先ノードに設けられた通信再開手段とを含み、前記クライアントが、ＡＲＰ要求を前記仮想ＩＰアドレスに対して送信する通信開始処理と、前記通信保留手段が、前記ＡＲＰ要求に応じ、ＡＲＰ応答及び前記クライアントのＴＣＰ通信を一時停止させるためのＴＣＰ接続応答（一時停止）を送信する通信保留処理と、前記通信切替手段が、前記ＡＲＰ要求に応じ、前記仮想ＩＰアドレスに予め対応付けられた割当先ノードを送信元とするＧＡＲＰを送信するノード決定処理と、前記通信再開手段が、前記クライアントのＴＣＰ通信を再開させるためのＴＣＰ確認応答（一時停止解除）を送信する通信再開処理とをそれぞれ実行するものである。
【００１１】
本発明に係るサーバシステムは、仮想ＩＰアドレスが割り当てられたノード群を含むサーバシステムであって、前記ノード群は、少なくとも１つのノードに設けられた通信保留手段と、少なくとも１つのノードに設けられた通信切替手段と、少なくとも前記割当先ノードに設けられた通信再開手段とを含み、前記通信保留手段が、クライアントから送信されるＡＲＰ要求に応じ、ＡＲＰ応答及び前記クライアントのＴＣＰ通信を一時停止させるためのＴＣＰ接続応答（一時停止）を送信する通信保留処理と、前記通信切替手段が、前記ＡＲＰ要求に応じ、前記仮想ＩＰアドレスに予め対応付けられた割当先ノードを送信元とするＧＡＲＰを送信するノード決定処理と、前記通信再開手段が、前記クライアントのＴＣＰ通信を再開させるためのＴＣＰ確認応答（一時停止解除）を送信する通信再開処理とをそれぞれ実行するものである。
【００１２】
本発明に係るコントローラは、処理対象となるパケットの条件と、実行すべき転送処理とを含む制御情報を管理し、前記制御情報によってスイッチによるパケット転送処理を制御するコントローラであって、前記コントローラは、クライアントから送信されるＡＲＰ要求に応じ、前記クライアントを処理対象として登録し、前記登録された前記クライアントにかかるパケットについては、前記通信保留処理、前記ノード決定処理及び前記通信再開処理にかかるパケット転送処理を前記スイッチに実行させるものである。
【００１３】
本発明に係る情報処理方法は、仮想ＩＰアドレスが割り当てられたノード群に含まれる１つの割当先ノードと、クライアントとの間でＴＣＰ通信を開始するための情報処理方法であって、前記ノード群は、少なくとも１つのノードに設けられた通信保留手段と、少なくとも１つのノードに設けられた通信切替手段と、少なくとも前記割当先ノードに設けられた通信再開手段とを含み、前記クライアントが、ＡＲＰ要求を前記仮想ＩＰアドレスに対して送信する通信開始ステップと、前記通信保留手段が、ＡＲＰ応答及び前記クライアントのＴＣＰ通信を一時停止させるためのＴＣＰ接続応答（一時停止）を送信する通信保留ステップと、前記通信切替手段が、前記仮想ＩＰアドレスに予め対応付けられた割当先ノードを送信元とするＧＡＲＰを送信するノード決定ステップと、前記通信再開手段が、前記クライアントのＴＣＰ通信を再開させるためのＴＣＰ確認応答（一時停止解除）を送信する通信再開ステップとを含むものである。
【００１４】
本発明に係るプログラムは、仮想ＩＰアドレスが割り当てられたノード群に含まれる１つの割当先ノードと、クライアントとの間でＴＣＰ通信を開始するための情報処理をコンピュータに実行させるためのプログラムであって、前記ノード群は、少なくとも１つのノードに設けられた通信保留手段と、少なくとも１つのノードに設けられた通信切替手段と、少なくとも前記割当先ノードに設けられた通信再開手段とを含み、前記クライアントが、ＡＲＰ要求を前記仮想ＩＰアドレスに対して送信する通信開始ステップと、前記通信保留手段が、ＡＲＰ応答及び前記クライアントのＴＣＰ通信を一時停止させるためのＴＣＰ接続応答（一時停止）を送信する通信保留ステップと、前記通信切替手段が、前記仮想ＩＰアドレスに予め対応付けられた割当先ノードを送信元とするＧＡＲＰを送信するノード決定ステップと、前記通信再開手段が、前記クライアントのＴＣＰ通信を再開させるためのＴＣＰ確認応答（一時停止解除）を送信する通信再開ステップとを含むものである。
【発明の効果】
【００１５】
本発明により、ＴＣＰ通信の割当先ノードをノード群から効率よく決定することができる情報処理システム、サーバシステム、コントローラ、情報処理方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態にかかる構成を示す図である。
【図２】実施の形態にかかる処理を示す図である。
【図３】実施の形態にかかる構成を示す図である。
【図４】実施の形態にかかる構成を示す図である。
【図５】実施の形態にかかる構成を示す図である。
【図６】実施の形態にかかる構成を示す図である。
【図７】実施の形態にかかる処理を示す図である。
【図８】実施の形態にかかる処理を示す図である。
【図９】実施の形態にかかる処理を示す図である。
【図１０】実施の形態にかかる処理を示す図である。
【図１１】実施の形態にかかる処理を示す図である。
【図１２】実施の形態にかかる処理を示す図である。
【図１３】実施の形態にかかる処理を示す図である。
【図１４】実施の形態にかかる処理を示す図である。
【図１５】実施の形態にかかる処理を示す図である。
【図１６】実施の形態にかかる処理を示す図である。
【図１７】実施の形態にかかる処理を示す図である。
【図１８】実施の形態にかかる処理を示す図である。
【図１９】実施の形態にかかる処理を示す図である。
【図２０】実施の形態にかかる処理を示す図である。
【図２１】実施の形態にかかる処理を示す図である。
【図２２】実施の形態にかかる処理を示す図である。
【図２３】実施の形態にかかる処理を示す図である。
【図２４】実施の形態にかかる処理を示す図である。
【図２５】実施の形態にかかる処理を示す図である。
【図２６】実施の形態にかかる処理を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１８】
まず、図１を用いて、本実施の形態の構成について説明する。
【００１９】
本実施の形態にかかる情報処理システム１０００は、クライアント６０、ノード群１を含む。
【００２０】
ノード群１は、任意の数のノードを含む。このうち少なくとも１つのノードには通信保留手段が、少なくとも１つのノードには通信切替手段が、少なくとも１つのノードには通信再開手段が設けられる。なお、割当先ノードとなり得るノードは、必ず通信再開手段を有しているべきである。そして、クライアント６０とノード群１を構成する各ノードとは、ネットワークを介して接続されており、互いにパケットの送受信が可能であるものとする。また、ノード群には特定のＩＰアドレスが割り当てられており、クライアント６０はこのＩＰアドレスを利用してノード群との通信を行うものとする。
【００２１】
つづいて、図２を用いて、情報処理システム１０００が行う処理について説明する。
【００２２】
Ｓ１００１：クライアント６０は、ノード群とのＴＣＰ通信を開始するため、通信相手ノードのＭＡＣアドレスを要求するＡＲＰパケットを上記ＩＰアドレスに対して送信する。なお、このＡＲＰ要求は、少なくとも通信保留手段及び通信切替手段を有するノードに転送される必要がある。
【００２３】
Ｓ１００２：まず、通信保留手段がＡＲＰ要求に反応する。通信保留手段は、クライアント６０に対し、ＡＲＰ応答を送信するとともに、クライアント６０のＴＣＰ通信を一時停止させるためのＴＣＰ接続応答（一時停止）を送信する。
【００２４】
Ｓ１００３：同時に、通信切替手段が、ＡＲＰ要求の受信を契機として、割当先ノードの特定を開始する。本実施の形態では、上記ＩＰアドレスに予め対応付けられた割当先ノードが、ノード群内部で定義されているものとする。通信切替手段は、この定義に従い、上記ＩＰアドレス及び割当先ノードのＭＡＣアドレスを送信元とするＧＡＲＰをクライアント６０に送信する。これにより、クライアント６０のＡＲＰテーブルが書き換えられ、以降、クライアント６０は割当先ノードのＭＡＣアドレスを宛先としてＴＣＰ通信を行うようになる。
【００２５】
Ｓ１００４：最後に、割当先ノードの通信再開手段が、クライアント６０に対し、ＴＣＰ通信を再開させるためのＴＣＰ確認応答（一時停止解除）を送信する。
【００２６】
図３を用いて、情報処理システム１０００のより具体的な構成例について説明する。
【００２７】
ノード群１は、ｎ個のノードを含んでいる。これらのノードを、第１ノード１０、第２ノード２０、第３ノード３０乃至第ｎノードｎ０とする。
【００２８】
また、ノード群１には、特定のＩＰアドレスが割り当てられている。このＩＰアドレスを、仮想ＩＰアドレスＷとする。
【００２９】
この仮想ＩＰアドレスＷを共有する複数のノード（第１ノード１０乃至第ｎノードｎ０）は、それぞれ異なるＭＡＣアドレス、ＡＲＰテーブルを有している。また、これらのノードはそれぞれ任意のサービスを実行可能である。これらのサービスは、ノードが、クライアント６０とのＴＣＰ通信が確立された割当先ノードとなった場合に、クライアント６０に対して提供される。
【００３０】
これらのノードは、さらに以下の各手段を有し得る。
【００３１】
通信保留手段１０１（２０１、３０１又はｎ０１）は、クライアント６０からのＴＣＰ通信を経由したノード群へのアクセスを一時的に保留する手段である。通信保留手段１０１（２０１、３０１又はｎ０１）は、ノード群内の任意のノードが備え得るが、同時にはただ１つのノード上でのみ動作するものとする。
【００３２】
通信切替手段１０２（２０２、３０２又はｎ０２）は、クライアント６０から仮想ＩＰアドレスＷへのＡＲＰ要求を受信すると、ノードの割り当て処理を開始し、ＧＡＲＰをクライアント６０へ送信し、割り当て先ノードへ通信を切り替える手段である。通信切替手段１０２（２０２、３０２又はｎ０２）は、ノード群内の任意のノードが備え得るが、同時にはただ１つのノード上でのみ動作するものとする。
【００３３】
仮想ＩＰ割当管理手段１０５（２０５、３０５又はｎ０５）は、仮想ＩＰアドレスと割当先ノードとの対応を管理する手段であり、仮想ＩＰ割当管理テーブル１０６（２０６、３０６又はｎ０６）を備えている。仮想ＩＰ割当管理手段１０５（２０５、３０５又はｎ０５）は、上記通信切替手段１０２（２０２、３０２又はｎ０２）が動作しているノードでそれぞれ動作する。
【００３４】
図４に、仮想ＩＰ割当管理テーブル１０６（２０６、３０６又はｎ０６）の例を示す。図４に示すとおり、仮想ＩＰ割当管理テーブル１０６（２０６、３０６又はｎ０６）は、仮想ＩＰアドレス、当該仮想ＩＰアドレスで提供しているサービス、当該サービスが稼動しているノードの対応を記録する表である。例えば、図４の第１行目のエントリは、このノード群が、仮想ＩＰアドレスＶでＣＩＦＳサービスを提供しており、当該サービスを実際に提供するのは第１ノード１０であることを示している。同様に、第２行目乃至第４行目のエントリは、このノード群が、仮想ＩＰアドレスＷでＮＦＳサービスを提供しており、当該サービスを実際に提供するのは第１ノード１０、第２ノード２０又は第３ノード３０のいずれかであることを示している。
【００３５】
ノード割当手段１０７（２０７、３０７又はｎ０７）は、一般的な負荷分散アルゴリズムに従い、割当先ノードの決定処理を行う手段である。例えば、上述の図４の例によれば、このノード群１では第１ノード１０、第２ノード２０又は第３ノード３０のいずれもがＮＦＳサービスを提供し得るが、クライアント６０がノード群１にＮＦＳサービスの利用を要求してきた場合、これらのうちいずれのノードが実際にクライアント６０にサービスを提供するのかを、ノード割当手段１０７（２０７、３０７又はｎ０７）が決定する。負荷分散アルゴリズムとしては、例えばラウンドロビン、静的重み付け、最小コネクション数、最速レスポンス及びこれらの組み合わせ等が公知であるが、ノード割当手段１０７（２０７、３０７又はｎ０７）ではこれらに限らず任意のアルゴリズムを採用可能である。これらのアルゴリズムの内容については、本発明の趣旨に直接貢献するものでないため、本実施の形態では説明を省略する。
【００３６】
通信再開手段１０３（２０３、３０３又はｎ０３）は、後述のＯｐｅｎＦｌｏｗスイッチ４０から送られてくる、クライアント６０とのＴＣＰコネクションを確立するための情報（具体的にはシーケンス番号）を取得し、ＧＡＲＰの受信を契機として、上記取得した情報（シーケンス番号）を利用してクライアント６０とのＴＣＰコネクションを確立し、もってクライアント６０との通信を再開する手段である。通信再開手段１０３（２０３、３０３又はｎ０３）は、割当先ノードとなり得るすべてのノード、すなわちサービス提供主体となり得るすべてのノードで動作する。
【００３７】
監視対象管理テーブル１０４（２０４、３０４又はｎ０４）は、仮想ＩＰアドレスと、仮想ＩＰアドレスに対してＡＲＰ要求を送信したクライアント６０のＩＰアドレス及びＭＡＣアドレスとの対応を記録する表である。図５に、監視対象管理テーブル１０４（２０４、３０４又はｎ０４）の例を示す。監視対象管理テーブル１０４（２０４、３０４又はｎ０４）は、通信保留手段１０１（２０１、３０１又はｎ０１）、通信切替手段１０２（２０２、３０２又はｎ０２）又は通信再開手段１０３（２０３、３０３又はｎ０３）を備える全てのノードに備えられ、これらの各手段により使用される。なお、１つのノード上でこれらの各手段が同時に動作している場合は、それらの手段によって共有されることが好ましい。
【００３８】
ＯｐｅｎＦｌｏｗスイッチ４０は、ＯｐｅｎＦｌｏｗプロトコルをサポートしたスイッチであり、フローという単位でパケットを転送する。フローとは、送信元又は送信先のＭＡＣアドレス、ＩＰアドレス、ポート番号などを組み合わせたものである。上記ＯｐｅｎＦｌｏｗスイッチ４０は、上記フローに対応した転送ルールを定義したフローテーブル４０１を持つ。また、このフローテーブル４０１は、後述のＯｐｅｎＦｌｏｗコントローラ５０により書き換えが可能である。ＯｐｅｎＦｌｏｗスイッチ４０は、第１ノード１０、第２ノード２０、第３ノード３０乃至第ｎノードｎ０、及びクライアント６０にそれぞれ接続され、これらが送信するパケットを、フローテーブル４０１に従って所定の転送先に転送する。
【００３９】
ＯｐｅｎＦｌｏｗコントローラ５０は、ＯｐｅｎＦｌｏｗプロトコルに従ってＯｐｅｎＦｌｏｗスイッチ４０と接続されており、ＯｐｅｎＦｌｏｗスイッチ４０から任意のフローについて転送経路の問い合わせを受信した場合は、当該フローに対応した転送経路の指示を返信する。この際、ＯｐｅｎＦｌｏｗスイッチ４０は、当該指示に従ってフローテーブル４０１を更新する。
【００４０】
つぎに、図６乃至図２６を用いて、本実施の形態にかかる情報処理システム１０００の動作について説明する。なお、図６は情報処理システム１０００全体の動作を示す概念図である。図２５は情報処理システム１０００全体の動作を示すタイミングチャートである。図７乃至図２４は、各ノードに含まれる各種手段それぞれの動作を示すフローチャートである。図２６は、特に割当先ノードにおける通信再開手段の動作を示したタイミングチャートである。
【００４１】
なお、説明の前提として、本実施の形態では、クライアント６０がノード群１に対しＮＦＳサービスの提供を要求し、第３ノード３０が当該サービスを提供する割当先ノードとなる場合を例として説明することとする。また、ノード群１では、第１ノード１０で通信保留手段１０１が動作し、第２ノード２０で通信切替手段２０２が動作しているものとする。さらに、通信再開手段１０３（２０３、３０３又はｎ０３）が全てのノードで動作しており、第１ノード１０又は第２ノード２０では、通信保留手段１０１又は通信切替手段２０２と、監視対象管理テーブル１０４又は２０４共用するものとする。
【００４２】
また、本実施の形態では、情報処理システム１０００の動作を、＜通信開始時＞、＜通信保留時＞、＜通信記録時＞、＜ノード決定時＞、＜通信再開時＞、＜後処理＞の６つのフェーズに分けて説明する。これらのフェーズは、必ずしも時系列順に定義されたものではなく、主に機能的な観点により定義されている。これらのフェーズに含まれる処理の時間的順序については、適宜図６又は図２５のタイミングチャートを参照されたい。
【００４３】
＜通信開始時＞
クライアント６０、より具体的にはクライアント６０内で稼働するＮＦＳクライアントは、ＮＦＳサービスを利用するため、ノード群１がＮＦＳサービスを提供している仮想ＩＰアドレスＷに対してＴＣＰ接続を試みる。
【００４４】
しかし、仮想ＩＰアドレスＷへの初めての接続、又はＡＲＰキャッシュの保存期限が切れた後での接続では、クライアント６０のＡＲＰテーブル６０１に、仮想ＩＰアドレスＷに対応するＭＡＣアドレスが記録されていない。そのため、クライアント６０は、［２］ＡＲＰ要求Ｐ００２（図６及び図２５）をブロードキャストする。
【００４５】
ＯｐｅｎＦｌｏｗスイッチ４０は、クライアント６０からブロードキャストされた仮想ＩＰアドレスＷにかかる［２］ＡＲＰ要求Ｐ００２を受信すると、ＯｐｅｎＦｌｏｗコントローラ５０へ転送経路の問い合わせを行う。ＯｐｅｎＦｌｏｗコントローラ５０は、ＯｐｅｎＦｌｏｗスイッチ４０に対し、「すべてのノードへ送信」との指示を行う。ＯｐｅｎＦｌｏｗスイッチ４０は、この指示に従い、［２］ＡＲＰ要求Ｐ００３、Ｐ０１４及びＰ０２３を、ノード群１に含まれるすべてのノードに送信する。
【００４６】
同時に、ＯｐｅｎＦｌｏｗコントローラ５０は、仮想ＩＰアドレスにかかるＡＲＰ要求を行ったクライアント６０のＭＡＣアドレス及びＩＰアドレスを記録する。ここで上記記録を行うのは、クライアント６０とノード群１の間では、今後割当先ノードを決定するまでの間に後述の一連の処理が行われるところ、ＯｐｅｎＦｌｏｗスイッチ４０においては、これらの一連の処理を実現するため、通常のパケット転送とは異なる特別な転送制御を行う必要があるからである。すなわち、これ以降、ＯｐｅｎＦｌｏｗコントローラ５０及びＯｐｅｎＦｌｏｗスイッチ４０は、ここで記録したＭＡＣアドレス及びＩＰアドレスに関係するパケットについては、後述の特別な転送制御を実施する。
【００４７】
＜通信保留時＞
通信保留手段１０１は、クライアント６０に対しＮＦＳサービスを提供するノード、すなわち割当先ノードをノード群内で決定する処理が完了するまでの間、クライアント６０のＴＣＰ通信を一時停止させる。
【００４８】
図７のフローチャートを用いて、［２］ＡＲＰ要求Ｐ００３受信時の通信保留手段１０１の動作について説明する。
【００４９】
通信保留手段１０１は、クライアント６０からの［２］ＡＲＰ要求Ｐ００３を受信し（Ｓ１０１）、［２］ＡＲＰ要求Ｐ００３が仮想ＩＰアドレスＷにかかるものであった場合（Ｓ１０２）、クライアント６０のＩＰアドレス及びＭＡＣアドレスを抽出し、監視対象管理テーブル１０４に登録し（Ｓ１０３）、自ノードすなわち第１ノード１０のＡＲＰテーブル１０９に、クライアント６０のＩＰアドレス及びＭＡＣアドレスを登録し（Ｓ１０４）、クライアント６０に対し［３］ＡＲＰ応答Ｐ００４（図６及び図２５）を送信する（Ｓ１０５）。
【００５０】
ここで、監視対象テーブル１０４に登録されたＩＰアドレス及びＭＡＣアドレスは、当該ＩＰアドレス及びＭＡＣアドレスを有するクライアント６０が、現在割当先ノードとのＴＣＰ通信が未確立であることを示している。すなわち、これ以降、監視対象テーブル１０４に登録されているクライアント６０に関しては、割当先ノードとのＴＣＰ通信を確立するための一連の処理が実施されることになる。なお、後述の監視対象テーブル２０４及び３０４も同様の役割を有する。
【００５１】
一方、［２］ＡＲＰ要求Ｐ００３が仮想ＩＰアドレスへの要求でなかった場合（Ｓ１０２）、通信保留手段１０１は、自ノードすなわち第１ノード１０のＡＲＰテーブル１０９に、クライアント６０のＩＰアドレス及びＭＡＣアドレスを登録し（Ｓ１０４）、クライアント６０に対し［３］ＡＲＰ応答Ｐ００４を送信する（Ｓ１０５）。
【００５２】
図６及び図２５を用いて、以降の処理について説明する。
【００５３】
ＯｐｅｎＦｌｏｗスイッチ４０は、第１ノード１０から送信された［３］ＡＲＰ応答Ｐ００４を受信すると、ＯｐｅｎＦｌｏｗコントローラ５０へ転送経路を問い合わせる。ＯｐｅｎＦｌｏｗコントローラ５０は、ＯｐｅｎＦｌｏｗスイッチ４０に対し、「クライアント６０へ送信」と指示を与える。ＯｐｅｎＦｌｏｗスイッチ４０は、この指示に従いクライアント６０へ［３］ＡＲＰ応答Ｐ００５を送信する。ＯｐｅｎＦｌｏｗコントローラ５０は、［３］ＡＲＰ応答Ｐ００４を送信した第１ノード１０のＩＰアドレスＷ及びＭＡＣアドレスＡを記録する。
【００５４】
クライアント６０は、［３］ＡＲＰ応答Ｐ００５を受信し、自身のＡＲＰテーブル６０１の仮想ＩＰアドレスＷに対応するＭＡＣアドレスを更新する。すなわち、ＡＲＰテーブル６０１には、仮想ＩＰアドレスＷに対応して、第１ノード１０のＭＡＣアドレスＡが記録される。
【００５５】
クライアント６０は、ＡＲＰテーブル６０１に基づいて、第１ノード１０のＭＡＣアドレスＡに対して、［５］ＴＣＰ接続要求Ｐ００６、すなわちＳＹＮパケットを送信する。
【００５６】
ＯｐｅｎＦｌｏｗスイッチ４０は、クライアント６０からの［５］ＴＣＰ接続要求Ｐ００６を受信すると、ＯｐｅｎＦｌｏｗコントローラ５０へ転送経路を問い合わせる。ＯｐｅｎＦｌｏｗコントローラ５０は、［５］ＴＣＰ接続要求Ｐ００６の送信元のＩＰアドレス及びＭＡＣアドレスと、既に記録済みのＩＰアドレス及びＭＡＣアドレスとを比較し、［５］ＴＣＰ接続要求Ｐ００６の送信元が、［２］ＡＲＰ要求Ｐ００２の送信元であるクライアント６０であると判断する。この場合、ＯｐｅｎＦｌｏｗコントローラ５０は、ＯｐｅｎＦｌｏｗスイッチ４０に対し「すべてのノードへ送信」と指示を与える。ＯｐｅｎＦｌｏｗスイッチ４０は、この指示に従い、［５］ＴＣＰ接続要求Ｐ００７、Ｐ０１６及びＰ０２４を全てのノードへ送信する。ＯｐｅｎＦｌｏｗコントローラ５０は、以降の転送経路問い合わせに際しても同様に、パケットのフローと上記記録とを比較し、一致した場合に、あらかじめ定義された所定の転送経路を指示する。
【００５７】
図８のフローチャートを用いて、［５］ＴＣＰ接続要求Ｐ００７受信時の通信保留手段１０１の動作について説明する。
【００５８】
通信保留手段１０１は、受信した［５］ＴＣＰ接続要求Ｐ００７（Ｓ１０６）が、仮想ＩＰアドレスＷ宛であり（Ｓ１０７）、かつ送信元であるクライアント６０が監視対象管理テーブル１０４に登録済みである（Ｓ１０８）場合、クライアント６０宛の［８］ＧＡＲＰ：Ｐ０１２（図６及び図２５。当該ＧＡＲＰの意義については後述する。）を受信済みであるかを確認し（Ｓ１０９）、［８］ＧＡＲＰ：Ｐ０１２を受信していなければ、［６］ＴＣＰ接続応答（一時停止）Ｐ００８（図６及び図２５）をクライアント６０へ送信する（Ｓ１１０）。
【００５９】
ここで、［６］ＴＣＰ接続応答（一時停止）Ｐ００８とは、Ｗｉｎｄｏｗ  ｓｉｚｅを０としたＳＹＮ＋ＡＣＫパケットである。Ｗｉｎｄｏｗ  ｓｉｚｅが０であることは、一時的に受信が不可能である状態であることを示している。当該パケットを受信したクライアント６０は、後述する［１０］ＴＣＰ確認応答（一時停止解除）（図６及び２３）を受信するまでの間、仮想ＩＰアドレスＷに対する新たなパケットの送信を停止する。
【００６０】
一方、［８］ＧＡＲＰ：Ｐ０１２を受信していれば、通信保留手段１０１は、［５］ＴＣＰ接続要求Ｐ００７を破棄する（Ｓ１１１）。
【００６１】
一方、受信した［５］ＴＣＰ接続要求Ｐ００７（Ｓ１０６）が、仮想ＩＰアドレスＷ宛でない（Ｓ１０７）場合、通信保留手段１０１は、クライアント６０との間で通常の通信処理を行う（Ｓ１１２）。これは、当該パケットは、割当先ノードの決定処理にかかる通信でないものと判断されるからである。
【００６２】
一方、受信した［５］ＴＣＰ接続要求Ｐ００７（Ｓ１０６）が、仮想ＩＰアドレスＷ宛であり（Ｓ１０７）、かつ送信元であるクライアント６０が監視対象管理テーブル１０４に登録済みでない（Ｓ１０８）場合、通信保留手段１０１は、クライアント６０との間で通常の通信処理を行う（Ｓ１１２）。これは、当該パケットは、割当先ノードの決定処理にかかる通信でないものと判断されるからである。
【００６３】
図６及び図２５を用いて、以降の処理について説明する。
【００６４】
ＯｐｅｎＦｌｏｗスイッチ４０は、第１ノード１０から送信された［６］ＴＣＰ接続応答（一時停止）Ｐ００８を受信すると、ＯｐｅｎＦｌｏｗコントローラ５０へ転送経路を問い合わせる。ＯｐｅｎＦｌｏｗコントローラ５０は、ＯｐｅｎＦｌｏｗスイッチ４０に対し、「クライアント６０及び全てのノードへ送信」との指示を与える。ＯｐｅｎＦｌｏｗスイッチ４０は、この指示に従い、クライアント６０及び全てのノードへ［６］ＴＣＰ接続応答（一時停止）Ｐ００９、Ｐ０１７及びＰ０２５を送信する。
【００６５】
クライアント６０は、［６］ＴＣＰ接続応答（一時停止）Ｐ００９を受信し、［７］ＴＣＰ確認応答Ｐ０１０、すなわちＡＣＫパケットを送信する。
【００６６】
ＯｐｅｎＦｌｏｗスイッチ４０は、［７］ＴＣＰ確認応答Ｐ０１０を受信すると、ＯｐｅｎＦｌｏｗコントローラ５０へ転送経路を問い合わせる。ＯｐｅｎＦｌｏｗコントローラ５０は、ＯｐｅｎＦｌｏｗスイッチ４０に対し「すべてのノードへ送信」との指示を与える。ＯｐｅｎＦｌｏｗスイッチ４０は、この指示に従い、全てのノードへ［７］ＴＣＰ確認応答Ｐ０１１、Ｐ０１８及びＰ０２６を送信する。
【００６７】
図９のフローチャートを用いて、［７］ＴＣＰ確認応答Ｐ０１１受信時の通信保留手段１０１の動作について説明する。
【００６８】
通信保留手段１０１は、受信した［７］ＴＣＰ確認応答Ｐ０１１が（Ｓ１１３）、仮想ＩＰアドレスＷ宛であり（Ｓ１１４）、かつ送信元であるクライアント６０が監視対象管理テーブル１０４に登録済みである（Ｓ１１５）場合、クライアント６０宛の［８］ＧＡＲＰ：Ｐ０１２を受信済みであるかを確認し（Ｓ１１６）、［８］ＧＡＲＰ：Ｐ０１２を受信していなければ、３−ｗａｙ  ｈａｎｄｓｈａｋｅが完了、すなわちクライアント６０とのＴＣＰ通信を保留するためのＴＣＰコネクションが確立（Ｓ１１７）したものと判断する。この場合、通信保留手段１０１は、今後、任意の割当先ノードからクライアント６０へ送信される［１０］ＴＣＰ確認応答（一時停止解除）の受信を待機する。
【００６９】
一方、［８］ＧＡＲＰ：Ｐ０１２を受信していれば、通信保留手段１０１は、［７］ＴＣＰ接続要求Ｐ００７を破棄する（Ｓ１１８）。
【００７０】
一方、受信した［７］ＴＣＰ確認応答Ｐ０１１が（Ｓ１１３）、仮想ＩＰアドレスＷ宛でない（Ｓ１１４）場合は、通信保留手段１０１は、通常の通信処理を行う（Ｓ１１９）。
【００７１】
一方、受信した［７］ＴＣＰ確認応答Ｐ０１１が（Ｓ１１３）、仮想ＩＰアドレスＷ宛であり（Ｓ１１４）、かつ送信元であるクライアント６０が監視対象管理テーブル１０４に登録済みでない（Ｓ１１５）場合、通信保留手段１０１は、通常の通信処理を行う（Ｓ１１９）。
【００７２】
＜通信記録時＞
通信再開手段３０３は、自ノードが割当先ノードとして決定された際に、通信保留手段１０１が保留したクライアント６０とのＴＣＰ通信を引き継いで再開できるよう、保留前にクライアント６０と通信保留手段１０１とが送信したＴＣＰパケットの内容を記録する。
【００７３】
図１８を用いて、［２］ＡＲＰ要求Ｐ０２３（図６及び図２５）受信時の通信再開手段３０３の動作について説明する。
【００７４】
通信再開手段３０３は、クライアント６０から受信した［２］ＡＲＰ要求Ｐ０２３（Ｓ３０１）が、仮想ＩＰアドレスＷへの要求であった（Ｓ３０２）場合、［２］ＡＲＰ要求Ｐ０２３のパケットからクライアント６０のＩＰアドレス及びＭＡＣアドレス、並びにクライアント６０がアドレス解決を試みている仮想ＩＰアドレスを抽出し、クライアント６０のＩＰアドレス及びＭＡＣアドレスを監視対象管理テーブル３０４に登録した後に、上記パケットを破棄する（Ｓ３０３）。
【００７５】
一方、クライアント６０から受信した［２］ＡＲＰ要求Ｐ０２３（Ｓ３０１）が、仮想ＩＰアドレスＷへの要求でなかった（Ｓ３０２）場合、通信再開手段３０３は、通常の通信処理を行う（Ｓ３０４）。
【００７６】
図１９を用いて、［５］ＴＣＰ接続要求０２４（図６及び図２５）受信時の通信再開手段３０３の動作について説明する。
【００７７】
通信再開手段３０３は、クライアント６０殻受信した［５］ＴＣＰ接続要求Ｐ０２４（Ｓ３０５）が、仮想ＩＰアドレスＷ宛であり（Ｓ３０６）、かつ監視対象管理テーブル３０４に当該パケットの送信元情報（ＩＰアドレス及びＭＡＣアドレス）が登録されている（Ｓ３０７）場合、当該パケットの内容を一時領域３０３１に保存（Ｓ３０８）した後、当該パケットを破棄する（Ｓ３０９）。
【００７８】
一方、通信再開手段３０３は、クライアント６０から受信した［５］ＴＣＰ接続要求Ｐ０２４（Ｓ３０５）が、仮想ＩＰアドレスＷ宛でない（Ｓ３０６）場合は、通常の通信処理を行う（Ｓ３１０）。
【００７９】
一方、通信切替手段３０３は、クライアント６０から受信した［５］ＴＣＰ接続要求Ｐ０２４（Ｓ３０５）が、仮想ＩＰアドレスＷ宛であり（Ｓ３０６）、かつ監視対象管理テーブル３０４に当該パケットの送信元情報（ＩＰアドレス及びＭＡＣアドレス）が登録されていない（Ｓ３０７）場合は、通常の通信処理を行う（Ｓ３１０）。
【００８０】
図２０を用いて、［６］ＴＣＰ接続応答（一時停止）Ｐ０２５（図６及び図２５）受信時の通信再開手段３０３の動作について説明する。
【００８１】
通信再開手段３０３は、通信保留手段１０１から受信した［５］ＴＣＰ接続応答（一時停止）Ｐ０２５（Ｓ３１１）が、仮想ＩＰアドレスＷが送信元であり（Ｓ３１２）、かつ監視対象管理テーブル３０４に当該パケットの送信先情報（ＩＰアドレス及びＭＡＣアドレス）が登録されている（Ｓ３１３）場合、当該パケットの内容を一時領域３０３１に保存（Ｓ３１４）後、当該パケットを破棄する（Ｓ３１５）。
【００８２】
一方、通信再開手段３０３は、通信保留手段１０１から受信した［５］ＴＣＰ接続応答（一時停止）Ｐ０２５（Ｓ３１１）が、仮想ＩＰアドレスＷが送信元でない（Ｓ３１２）場合は、通常の通信処理を行う（Ｓ３１６）。
【００８３】
一方、通信切替手段３０３は、通信保留手段１０１から受信した［５］ＴＣＰ接続応答（一時停止）Ｐ０２５（Ｓ３１１）が、仮想ＩＰアドレスＷが送信元であり（Ｓ３１２）、かつ監視対象管理テーブル３０４に当該パケットの送信先情報（ＩＰアドレス及びＭＡＣアドレス）が登録されていない（Ｓ３１３）場合、通常の通信処理を行う（Ｓ３１６）。
【００８４】
図２１を用いて、［７］ＴＣＰ確認応答Ｐ０２６（図６及び図２５）受信時の通信再開手段３０３の動作について説明する。
【００８５】
通信再開手段３０３は、クライアント６０から受信した［７］ＴＣＰ確認応答Ｐ０２６（Ｓ３１７）が、仮想ＩＰアドレスＷ宛であり（Ｓ３１８）、かつ監視対象管理テーブル３０４に当該パケットの送信元情報（ＩＰアドレス及びＭＡＣアドレス）が登録されている（Ｓ３１９）場合、パケットの内容を一時領域３０３１に保存（Ｓ３２０）後、パケットを破棄する（Ｓ３２１）。
【００８６】
一方、通信再開手段３０３は、クライアント６０から受信した［７］ＴＣＰ確認応答Ｐ０２６（Ｓ３１７）が、仮想ＩＰアドレスＷ宛でない（Ｓ３１８）場合は、通常の通信処理を行う（Ｓ３２２）。
【００８７】
一方、通信再開手段３０３は、クライアント６０から受信した［７］ＴＣＰ確認応答Ｐ０２６（Ｓ３１７）が、仮想ＩＰアドレスＷ宛であり（Ｓ３１８）、かつ監視対象管理テーブル３０４にパケットの送信元情報（ＩＰアドレス及びＭＡＣアドレス）が登録されていない（Ｓ３１９）場合、通常の通信処理を行う（Ｓ３２２）。
【００８８】
＜ノード決定時＞
通信切替手段２０２は、クライアント６０に対しＮＦＳサービスを提供するノード、すなわち割当先ノードを決定する。
【００８９】
図１２及び図１６を用いて、［２］ＡＲＰ要求Ｐ０１４（図６及び図２５）受信時の通信切替手段２０２の動作について説明する。
【００９０】
通信切替手段２０２は、クライアント６０から受信した［２］ＡＲＰ要求Ｐ０１４（Ｓ２０１）が、仮想ＩＰアドレスＷへの要求であった（Ｓ２０２）場合、［２］ＡＲＰ要求Ｐ０１４のパケットからクライアント６０のＩＰアドレス及びＭＡＣアドレス、並びにクライアント６０がアドレス解決を試みている仮想ＩＰアドレスＷを抽出し、クライアント６０のＩＰアドレス及びＭＡＣアドレを監視対象管理テーブル２０４に登録した後に、パケットＰ０１４を破棄し（Ｓ２０３）、Ｓ２０４に進む。
【００９１】
一方、通信切替手段２０２は、クライアント６０から受信した［２］ＡＲＰ要求Ｐ０１４（Ｓ２０１）が、仮想ＩＰアドレスＷへの要求でなかった（Ｓ２０２）場合、通常の通信処理を行う（Ｓ２０７）。
【００９２】
通信切替手段２０２は、割当先ノードを決定するため、［２］ＡＲＰ要求Ｐ０１４（Ｓ２０１）から抽出した仮想ＩＰアドレスＷを引数として、仮想ＩＰ割当管理手段２０５を呼び出す（Ｓ２０４）。仮想ＩＰ割当管理手段２０５は、仮想ＩＰ割当管理テーブル２０６を参照して、仮想ＩＰアドレスＷでＮＦＳサービスを提供しているノード一覧を取得（Ｓ２０５）し、上記ノード一覧を引数としてノード割当手段２０７を呼び出す。ノード割当手段２０７は、一般的な負荷分散アルゴリズムに従い、上記ノード一覧の中から、割当先ノードを決定する（Ｓ２０６）。
【００９３】
ここで、ノード割当手段２０７は、割当先ノードを第３ノード３０に決定したものとする（Ｓ２２３）。ノード割当手段２０７は、この割当先ノードを仮想ＩＰ割当管理手段２０５に返却する。仮想ＩＰ割当手段２０５は、この割当先ノードを通信切替手段２０２に返却する（Ｓ２２４）。通信切替手段２０２は、送信先ＩＰアドレス及び送信先ＭＡＣアドレスを共にクライアント６０とし、送信元ＩＰアドレスを仮想ＩＰアドレスＷとし、送信元ＭＡＣアドレスを第３ノード３０のＭＡＣアドレスとした［８］ＧＡＲＰＰ０１９を送信する（Ｓ２２５）。
【００９４】
なお、図６及び図２５では、通信切替手段２０２が、［８］ＧＡＲＰＰ０１９を、［５］ＴＣＰ接続要求Ｐ０１６、［６］ＴＣＰ接続応答（一時停止）Ｐ０１７、及び［７］ＴＣＰ確認応答Ｐ０１８の受信後に送信する例を示しているが、本発明はこの例に限定されず、通信切替手段２０２は、［８］ＧＡＲＰＰ０１９を、［５］ＴＣＰ接続要求Ｐ０１６、［６］ＴＣＰ接続応答（一時停止）Ｐ０１７、又は［７］ＴＣＰ確認応答Ｐ０１８を受信する前に送信する可能性がある。
【００９５】
図６及び図２５を用いて、以降の処理について説明する。
【００９６】
ＯｐｅｎＦｌｏｗスイッチ４０は、通信切替手段２０２から送信された［８］ＧＡＲＰＰ０１９を受信すると、ＯｐｅｎＦｌｏｗコントローラ５０へ転送経路を問い合わせる。ＯｐｅｎＦｌｏｗコントローラ５０は、ＯｐｅｎＦｌｏｗスイッチ４０に対し、「第１ノード１０とＧＡＲＰパケットの送信先とＧＡＲＰパケットの送信元に送信」と指示を与える。ＯｐｅｎＦｌｏｗスイッチ４０はこの指示に従い、送信先に上記クライアント６０のＩＰアドレスとＭＡＣアドレスを指定し、送信元に仮想ＩＰアドレスＷと第３ノード３０のＭＡＣアドレスを指定した［２］ＧＡＲＰパケット（Ｐ０１２、Ｐ０２０及びＰ０２７）を、第１ノード１０、クライアント６０及び第３ノード３０宛に送信する。
【００９７】
図１３を用いて、［５］ＴＣＰ接続要求Ｐ０１６（図６及び図２５）受信時の通信切替手段２０２の動作について説明する。
【００９８】
通信切替手段２０２は、クライアント６０から受信した［５］ＴＣＰ接続要求Ｐ０１６（Ｓ２０８）が、仮想ＩＰアドレスＷ宛であり（Ｓ２０９）、かつ監視対象管理テーブル２０４に当該パケットの送信元情報（ＩＰアドレス及びＭＡＣアドレス）が登録済みである（Ｓ２１０）場合、パケットを破棄する（Ｓ２１１）。
【００９９】
一方、通信切替手段２０２は、クライアント６０から受信した［５］ＴＣＰ接続要求Ｐ０１６（Ｓ２０８）が、仮想ＩＰアドレスＷ宛でない（Ｓ２０９）場合は、通常の通信処理を行う（Ｓ２１２）。
【０１００】
一方、通信切替手段２０２は、クライアント６０から受信した［５］ＴＣＰ接続要求Ｐ０１６（Ｓ２０８）が、仮想ＩＰアドレスＷ宛であり（Ｓ２０９）、かつ監視対象管理テーブル２０４に当該パケットの送信元情報（ＩＰアドレス及びＭＡＣアドレス）が登録されていない（Ｓ２１０）場合、通常の通信処理を行う（Ｓ２１２）。
【０１０１】
図１４を用いて、［６］ＴＣＰ接続応答（一時停止）Ｐ０１７（図６及び図２５）受信時の通信切替手段２０２の動作について説明する。
【０１０２】
通信切替手段２０２は、通信保留手段１０１から受信した［６］ＴＣＰ接続応答（一時停止）Ｐ０１７（Ｓ２１３）が、仮想ＩＰアドレスＷが送信元であり（Ｓ２１４）、かつ監視対象管理テーブル２０６に当該パケットの送信先情報（ＩＰアドレス及びＭＡＣアドレス）が登録されている（Ｓ２１５）場合、当該パケットを破棄する（Ｓ２１６）。
【０１０３】
一方、通信切替手段２０２は、通信保留手段１０１から受信した［６］ＴＣＰ接続応答（一時停止）Ｐ０１７を受信する（Ｓ２１３）が、仮想ＩＰアドレスＷが送信元でない（Ｓ２１４）場合は、通常の通信処理を行う（Ｓ２１７）。
【０１０４】
一方、通信切替手段２０２は、通信保留手段１０１から受信した［６］ＴＣＰ接続応答（一時停止）Ｐ０１７を受信する（Ｓ２１３）が、仮想ＩＰアドレスＷが送信元であり（Ｓ２１４）、かつ監視対象管理テーブル２０６に当該パケットの送信先情報（ＩＰアドレス及びＭＡＣアドレス）が登録されていない（Ｓ２１５）場合、通常の通信処理を行う（Ｓ２１７）。
【０１０５】
図１５を用いて、［７］ＴＣＰ確認応答０２６（図６及び図２５）受信時の通信切替手段２０２の動作について説明する。
【０１０６】
通信切替手段２０２は、クライアント６０から受信した［７］ＴＣＰ確認応答Ｐ０１８（Ｓ２１８）が、仮想ＩＰアドレスＷ宛であり（Ｓ２１９）、かつ監視対象管理テーブル２０６に当該パケットの送信元情報（ＩＰアドレス及びＭＡＣアドレス）が登録されている（Ｓ２２０）場合、当該パケットを破棄する（Ｓ２２１）。
【０１０７】
一方、通信切替手段２０２は、クライアント６０から受信した［７］ＴＣＰ確認応答Ｐ０１８（Ｓ２１８）が、仮想ＩＰアドレスＷ宛でない（Ｓ２１９）場合は、通常の通信処理を行う（Ｓ２２２）。
【０１０８】
一方、通信切替手段２０２は、クライアント６０から受信した［７］ＴＣＰ確認応答Ｐ０１８（Ｓ２１８）が、仮想ＩＰアドレスＷ宛であり（Ｓ２１９）、かつ監視対象管理テーブル２０６に当該パケットの送信元情報（ＩＰアドレス及びＭＡＣアドレス）が登録されていない（Ｓ２２０）場合、通常の通信処理を行う（Ｓ２２２）。
【０１０９】
＜通信再開時＞
クライアント６０は、割当先ノードとの間でＴＣＰ通信を再開する。
図６及び図２５を用いて、［２］ＧＡＲＰＰ０２０受信時のクライアント６０の動作について説明する。
【０１１０】
クライアント６０は、通信切替手段２０２から受信した［８］ＧＡＲＰＰ０２０を受信すると、自身のＡＲＰテーブル６０１のエントリのうち、仮想ＩＰアドレスＷに対応するＭＡＣアドレスを、［８］ＧＡＲＰの送信元として設定されている第３ノード３０のＭＡＣアドレスで更新する（Ｐ０２１）。
【０１１１】
図１０を用いて、［２］ＧＡＲＰＰ０１２（図６及び図２５）受信時の通信保留手段１０１の動作について説明する。
【０１１２】
通信保留手段１０１は、通信切替手段２０２から受信した［２］ＧＡＲＰＰ０１２（Ｓ１２０）が、送信元が仮想ＩＰアドレスＷであり（Ｓ１２１）、かつ送信先がクライアント６０であり、クライアント６０のＩＰアドレス及びＭＡＣアドレスが監視対象管理テーブル１０４に登録されている（Ｓ１２２）場合、［６］ＴＣＰ接続応答（一時停止）Ｐ００８を送信済みである（Ｓ１２３）ならば、パケットＰ０１２を破棄する（Ｓ１２４）。
【０１１３】
一方、通信保留手段１０１は、通信切替手段２０２から受信した［２］ＧＡＲＰＰ０１２（Ｓ１２０）が、送信元が仮想ＩＰアドレスＷであり（Ｓ１２１）、かつ送信先がクライアント６０であり、クライアント６０のＩＰアドレス及びＭＡＣアドレスが監視対象管理テーブル１０４に登録されている（Ｓ１２２）場合、［６］ＴＣＰ接続応答（一時停止）Ｐ００８送信済みでないならば（Ｓ１２３）、［６］ＴＣＰ接続応答（一時停止）Ｐ００８の送信を取り消し（Ｓ１２４）、パケットＰ０１２を破棄する（Ｓ１２５）。
【０１１４】
一方、通信保留手段１０１は、通信切替手段２０２から受信した［２］ＧＡＲＰＰ０１２（Ｓ１２０）が、送信元が仮想ＩＰアドレスＷでない（Ｓ１２１）場合、通常の通信処理を行う（Ｓ１２７）。
【０１１５】
一方、通信保留手段１０１は、通信切替手段２０２から受信した［２］ＧＡＲＰＰ０１２（Ｓ１２０）が、送信元が仮想ＩＰアドレスＷであり（Ｓ１２１）、かつ送信元がクライアント６０であり、クライアント６０のＩＰアドレス及びＭＡＣアドレスが監視対象管理テーブル１０４に登録されていない（Ｓ１２２）場合、通常の通信処理を行う（Ｓ１２７）。
【０１１６】
図２２を用いて、［８］ＧＡＲＰＰ０２７（図６及び図２５）受信時の通信再開手段３０３の動作について説明する。
【０１１７】
通信再開手段３０３は、通信切替手段２０から受信した［８］ＧＡＲＰＰ０２７（Ｓ３２３）が、送信元が仮想ＩＰアドレスＷであり（Ｓ３２４）、かつ送信先がクライアント６０であり、クライアント６０のＩＰアドレス及びＭＡＣアドレスが監視対象管理テーブル３０４に登録されている（Ｓ３２５）場合、自身のノード３０のＡＲＰテーブル３０９にクライアント６０のＩＰアドレス及びＭＡＣアドレスを登録する（Ｓ３２６）。
【０１１８】
つづいて、通信再開手段３０３は、クライアント６０とのＴＣＰ通信を引き継ぎ、再開する処理を行う。図２６を用いて、当該処理について説明する。
【０１１９】
通信再開手段３０３は、一時領域３０３１に［６］ＴＣＰ接続応答（一時停止）Ｐ０２５が存在した（Ｓ３２７）場合、一時領域３０３１に保存していた［６］ＴＣＰ接続応答（一時停止）Ｐ０２５のパケットから、通信保留手段１０１がクライアント６０に対して送信した最初のシーケンス番号を取得する。ついで、通信再開手段３０３は、一時領域３０３１に保存していた［５］ＴＣＰ接続要求Ｐ０２４（ＳＹＮ）に対し、上記シーケンス番号を初期値として設定して、第３ノード３０自身のＴＣＰ／ＩＰ層に対して送信し、返信としてのＴＣＰ接続応答（ＳＹＮ＋ＡＣＫ）を得る。通信再開手段３０３は、このＴＣＰ接続応答（ＳＹＮ＋ＡＣＫ）からＳＹＮフラグを除去して、［１０］ＴＣＰ確認応答（一時停止解除）Ｐ０２８を作成し、一時領域３０３１に保存する（Ｓ３２９）。
【０１２０】
ここで、通信再開手段３０３は、一時領域３０３１に保存していた［６］ＴＣＰ確認応答Ｐ０２６を第３ノード３０自身のＴＣＰ／ＩＰ層に送信する。これにより、第３ノード３０は、クライアント６０とのコネクションが確立したものと認識する（Ｓ３３０）。
【０１２１】
一方、通信再開手段３０３は、一時領域３０３１に［６］ＴＣＰ接続応答（一時停止）Ｐ０２５が存在しない（Ｓ３２７）場合、一時領域３０３１に保存していたクライアント６０の［５］ＴＣＰ接続要求Ｐ０２４（ＳＹＮ）を第３ノード３０自身のＴＣＰ／ＩＰ層に送信し、その返信として得られるＴＣＰ接続応答（ＳＹＮ＋ＡＣＫ）をクライアントへ送信（Ｓ３３１）する。これにより、第３ノード３０とクライアント６０とのコネクションが確立する（Ｓ３３２）。
【０１２２】
図２３を用いて、［１０］ＴＣＰ確認応答（一時停止解除）Ｐ０２８送信時の通信再開手段３０３の動作について説明する。
【０１２３】
通信再開手段３０３は、クライアント６０にＴＣＰ接続を一時停止させている状態を解除するため、一時領域３０３１に保存していた［１０］ＴＣＰ確認応答（一時停止解除）Ｐ０２８を読み出し（Ｓ３３４）、クライアント６０へ送信する（Ｓ３３５）。ここで、［１０］ＴＣＰ確認応答（一時停止解除）Ｐ０２８は、ｗｉｎｄｏｗ  ｓｉｚｅが１以上のＡＣＫパケットである。
【０１２４】
また、通信再開手段３０３は、監視対象管理テーブル３０４からクライアント６０にかかるエントリを削除し（Ｓ３３６）、クライアント６０にかかるパケットの監視を終了する。
【０１２５】
ＯｐｅｎＦｌｏｗスイッチ４０は、通信再開手段３０３から送信された［１０］ＴＣＰ確認応答（一時停止解除）Ｐ０２８を受信すると、ＯｐｅｎＦｌｏｗコントローラ５０へ転送経路を問い合わせる。ＯｐｅｎＦｌｏｗコントローラ５０は、ＯｐｅｎＦｌｏｗスイッチ４０に対し、「クライアント６０及び全てのノードへ送信」と指示を与える。ＯｐｅｎＦｌｏｗスイッチ４０は、この指示に従い、クライアント６０及び全てのノードへ［１０］ＴＣＰ確認応答（一時停止解除）Ｐ０１３、Ｐ０２２及びＰ０２９を送信する。また、ＯｐｅｎＦｌｏｗコントローラ５０は、クライアント６０のＩＰアドレス及びＭＡＣアドレスの記録と、［２］ＡＲＰ応答Ｐ００４を送信した第１ノード１０のＩＰアドレス及びＭＡＣアドレスの記録とを削除する。
【０１２６】
クライアント６０は、割当先ノードである第３ノード３０が送信した［１０］ＴＣＰ確認応答（一時停止解除）Ｐ０２９を受信し、ＮＦＳの通信Ｐ０３０を開始する（Ｓ３３７）。
【０１２７】
＜後処理＞
以上にてノード割り当て処理が完了し、クライアント６０と割当先ノードとのＴＣＰ接続が確立したことから、各ノードはノード割り当て処理の際に用いたテーブルからクライアント６０にかかるエントリを削除する。
【０１２８】
図１１を用いて、［１０］ＴＣＰ確認応答（一時停止解除）Ｐ０１３受信時の通信保留手段１０１の動作について説明する。
【０１２９】
通信保留手段１０１は、通信再開手段３０３から受信した［１０］ＴＣＰ確認応答（一時停止解除）Ｐ０１３（Ｓ１２８）が、仮想ＩＰアドレスＷが送信元であり（Ｓ１２９）、かつ監視対象管理テーブル１０４にパケットＰ０１３の送信先情報（ＩＰアドレス及びＭＡＣアドレス）が登録されている（Ｓ１３０）場合、パケットＰ０１３を破棄（Ｓ１３１）し、第１ノード１０のＡＲＰテーブル１０９及び監視対象管理テーブル１０４から、クライアント６０にかかるエントリを削除（Ｓ１３２，Ｓ１３３）し、クライアント６０にかかるパケットの監視を終了する。
【０１３０】
一方、通信保留手段１０１は、通信再開手段３０３から受信した［１０］ＴＣＰ確認応答（一時停止解除）Ｐ０１３（Ｓ１２８）が、仮想ＩＰアドレスＷが送信元でない（Ｓ１２９）場合は、通常の通信処理を行う（Ｓ１３４）。
【０１３１】
一方、通信保留手段１０１は、通信再開手段３０３から受信した［１０］ＴＣＰ確認応答（一時停止解除）Ｐ０１３（Ｓ１２８）が、仮想ＩＰアドレスＷが送信元であり（Ｓ１２９）、かつ監視対象管理テーブル１０４にパケットＰ０１３の送信先情報（ＩＰアドレス及びＭＡＣアドレス）が登録されていない（Ｓ１３０）場合は、通常の通信処理を行う（Ｓ１３４）。
【０１３２】
図１７を用いて、［１０］ＴＣＰ確認応答（一時停止解除）Ｐ０２２受信時の通信切替手段２０２の動作について説明する。
【０１３３】
通信切替手段２０２は、通信再開手段３０３から受信した［１０］ＴＣＰ確認応答（一時停止解除）Ｐ０２２（Ｓ２２６）が、仮想ＩＰＷアドレスが送信元であり（Ｓ２２７）、かつ監視対象管理テーブル２０４にパケットの送信先情報（ＩＰアドレス及びＭＡＣアドレス）が登録されている（Ｓ２２８）場合、パケットＰ０２２を破棄し（Ｓ２２９）、第２ノード２０の監視対象管理テーブル２０４から、クライアント６０にかかるエントリを削除し（Ｓ２３０）、クライアント６０にかかるパケットの監視を終了する。
【０１３４】
一方、通信切替手段２０２は、通信再開手段３０３から受信した［１０］ＴＣＰ確認応答（一時停止解除）Ｐ０２２（Ｓ２２６）が、仮想ＩＰアドレスＷが送信元でない（Ｓ２２７）場合は、通常の通信処理を行う（Ｓ２３１）。
【０１３５】
一方、通信保留手段２０２は、通信再開手段３０３から受信した［１０］ＴＣＰ確認応答（一時停止解除）Ｐ０２２（Ｓ２２６）が、仮想ＩＰアドレスＷが送信元であり（Ｓ２２７）、かつ監視対象管理テーブル２０４にパケットＰ０２２の送信先情報（ＩＰアドレス及びＭＡＣアドレス）が登録されていない（Ｓ２２８）場合は、通常の通信処理を行う（Ｓ２３１）。
【０１３６】
図２４を用いて、［１０］ＴＣＰ確認応答（一時停止解除）受信時の通信再開手段１０３又は２０３の動作を図２４で説明する。
【０１３７】
通信再開手段１０３又は２０３は、通信再開手段３０３から受信した［１０］ＴＣＰ確認応答（一時停止解除）Ｐ０１３又はＰ０２２（Ｓ３３８）が、仮想ＩＰアドレスＷが送信元であり（Ｓ３３９）、かつ監視対象管理テーブル１０４（または２０４）にパケットＰ０１３又はＰ０２２の送信先情報（ＩＰアドレス及びＭＡＣアドレス）が登録されている（Ｓ３４０）場合、パケットＰ０１３又はＰ０２２を破棄（Ｓ３４１）し、第１ノード１０又は第２ノード２０の監視対象管理テーブル１０４又は２０４から、クライアント６０にかかるエントリを削除（Ｓ３４２）し、クライアント６０にかかるパケットの監視を終了する。
【０１３８】
一方、通信再開手段１０３又は２０３は、通信再開手段３０３から受信した［１０］ＴＣＰ確認応答（一時停止解除）Ｐ０１３又はＰ０２２（Ｓ３３８）が、仮想ＩＰアドレスＷが送信元でない（Ｓ３３９）場合は、通常の通信処理を行う（Ｓ３４３）。
【０１３９】
一方、通信再開手段１０３又は２０３は、通信再開手段３０３から受信した［１０］ＴＣＰ確認応答（一時停止解除）Ｐ０１３又はＰ０２２（Ｓ３３８）が、仮想ＩＰアドレスＷが送信元であり（Ｓ３３９）、かつ監視対象管理テーブル１０４又は２０４にパケットＰ０１３又はＰ０２２の送信先情報（ＩＰアドレス及びＭＡＣアドレス）が登録されていない（Ｓ３４０）場合は、通常の通信処理を行う（Ｓ３４３）。
【０１４０】
本実施の形態によれば、クライアント６０に実際にサービスを提供する割当先ノードにＴＣＰ接続を引き継ぐ際、ＴＣＰ通信のパケットをノード間で転送する必要をなくすことができる。それは、ＴＣＰのフロー制御を用いてクライアント６０からのＴＣＰ通信を一時的に停止させ、割当先ノードを決定した後に、割当先ノードでＴＣＰ通信を再開させるためである。
【０１４１】
本実施の形態によれば、ノード割り当てが完了した直後にＧＡＲＰを送信することができるため、サービス提供までの時間を短縮することができる。それは、ＯｐｅｎＦｌｏｗに対応したスイッチやコントローラを使用することによって、ＴＣＰのコネクションの情報を含んだパケットを必要なノードへ転送しているためである。
【０１４２】
本実施の形態によれば、割当先ノードの決定時間を短縮することができる。従来技術では、サービスの接続要求（ＳＹＮ）パケットが届いてからしか割当先ノードの決定処理を開始できなかったが、本実施の形態では、接続要求（ＳＹＮ）パケットが届く前に届くＡＲＰ要求パケットの受信を契機に、割当先ノードの決定処理を開始できるためである。
【０１４３】
本実施の形態によれば、サービス（仮想ＩＰアドレス）ごとに割当処理を並列に実行できる。それは、ノードに割り当てられている実際のＩＰアドレス（実ＩＰアドレス）ではなく、サービス種別ごとに割り当てられた仮想ＩＰアドレスを割り当て処理に用いているため、各ノードにおいて複数のサービスを動作させることができるためである。
【０１４４】
本実施の形態によれば、割り当て処理時に割り当て先ノードに障害が発生した場合、ＴＣＰのコネクションの情報を含んだパケットを再度転送する必要なく別の割り当て先ノードへ切り替えることができる。それは、ＯｐｅｎＦｌｏｗに対応したスイッチやコントローラを使用することによって、ＴＣＰのコネクションの情報を含んだパケットを必要なノードへ転送しているためである。
【０１４５】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【０１４６】
例えば、上述の実施の形態では、本発明を主にハードウェアにより構成されるものとして説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（Ｎｏｎ−Ｔｒａｎｓｉｔｏｒｙ  Ｃｏｍｐｕｔｅｒ  Ｒｅａｄａｂｌｅ  Ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（Ｔａｎｇｉｂｌｅ  Ｓｔｏｒａｇｅ  Ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（Ｔｒａｎｓｉｔｏｒｙ  Ｃｏｍｐｕｔｅｒ  Ｒｅａｄａｂｌｅ  Ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【０１４７】
（付記１）
前記通信保留ステップにおいて、
前記通信保留手段は、前記ＡＲＰ要求に応じ、ＡＲＰ応答を前記クライアントに送信し、
前記クライアントは、前記ＡＲＰ応答に応じ、前記通信保留手段を有するノードのＭＡＣアドレスと前記仮想ＩＰアドレスとを組とするエントリをＡＲＰテーブルに記録するとともに、前記通信保留手段にＴＣＰ接続要求を送信し、
前記通信保留手段は、前記ＴＣＰ接続要求に応じ、ＴＣＰ接続応答（一時停止）を前記クライアントに送信する
請求項９記載の情報処理方法。
【０１４８】
（付記２）
前記ノード決定ステップにおいて、
前記通信切替手段は、前記ＡＲＰ要求に応じ、前記仮想ＩＰアドレスと前記割当先ノードとの対応関係を予め定義した仮想ＩＰ割当管理手段を参照し、前記ＡＲＰ要求の送信先である前記仮想ＩＰアドレスに対応する前記割当先ノードを特定するとともに、送信元ＩＰアドレスを前記仮想ＩＰアドレスとし送信元ＭＡＣアドレスを前記割当先ノードのＭＡＣアドレスとするＧＡＲＰを前記クライアントに送信し、
前記クライアントは、前記ＧＡＲＰに応じ、前記ＡＲＰテーブルにおける前記エントリを前記割当先ノードのＭＡＣアドレスで更新する
請求項９又は付記１記載の情報処理方法。
【０１４９】
（付記３）
前記通信保留ステップにおいて、
前記通信保留手段は、前記ＴＣＰ接続応答（一時停止）を前記通信再開手段にも送信し、
前記通信再開ステップにおいて、
前記通信再開手段は、前記ＴＣＰ接続応答（一時停止）に含まれるシーケンス番号を用いたＴＣＰ確認応答（一時停止解除）を前記クライアントに送信する
請求項９乃至付記２いずれか１項記載の情報処理方法。
【０１５０】
（付記４）
前記通信保留手段、前記通信切替手段及び前記通信再開手段は、
前記ＡＲＰ要求に応じ、前記クライアントを、前記各ノードが有する監視対象管理テーブルに登録し、
前記監視対象管理テーブルに登録された前記クライアントにかかるパケットのみについて、前記通信保留ステップ、前記ノード決定ステップ及び前記通信再開ステップを実行する
請求項９乃至付記３いずれか１項記載の情報処理方法。
【０１５１】
（付記５）
処理対象となるパケットの条件と、実行すべき転送処理とを含む制御情報を管理するコントローラと、
前記制御情報に従ってパケット転送を行うスイッチとをさらに含み、
前記コントローラは、前記ＡＲＰ要求に応じ、前記クライアントを処理対象として登録し、
前記登録された前記クライアントにかかるパケットについては、前記通信保留ステップ、前記ノード決定ステップ及び前記通信再開ステップにかかるパケット転送を前記スイッチに実行させる
請求項５乃至付記４いずれか１項記載の情報処理方法。
【０１５２】
（付記６）
ＡＲＰ要求を、ノード群に割り当てられた仮想ＩＰアドレスに対して送信し、
前記ノード群から送信されるＡＲＰ応答に応じ、ＡＲＰテーブルを更新するとともに、前記ＡＲＰ応答の送信元にＴＣＰ接続要求を送信し、
前記ノード群から送信されるＴＣＰ接続応答（一時停止）に応じ、ＴＣＰ通信を一時停止し、
前記ノード群から送信されるＧＡＲＰに応じ、ＡＲＰテーブルを更新し、
前記ノード群から送信されるＴＣＰ確認応答（一時停止解除）に応じ、ＴＣＰ通信を再開する
クライアント。
【０１５３】
（付記７）
仮想ＩＰアドレスが割り当てられたノード群による情報処理方法であって、
前記ノード群は、
少なくとも１つのノードに設けられた通信保留手段と、
少なくとも１つのノードに設けられた通信切替手段と、
少なくとも前記割当先ノードに設けられた通信再開手段とを含み、
前記通信保留手段が、クライアントから送信されるＡＲＰ要求に応じ、ＡＲＰ応答及び前記クライアントのＴＣＰ通信を一時停止させるためのＴＣＰ接続応答（一時停止）を送信する通信保留ステップと、
前記通信切替手段が、前記ＡＲＰ要求に応じ、前記仮想ＩＰアドレスに予め対応付けられた割当先ノードを送信元とするＧＡＲＰを送信するノード決定ステップと、
前記通信再開手段が、前記クライアントのＴＣＰ通信を再開させるためのＴＣＰ確認応答（一時停止解除）を送信する通信再開ステップとをそれぞれ実行する
情報処理方法。
【０１５４】
（付記８）
処理対象となるパケットの条件と、実行すべき転送処理とを含む制御情報を管理し、前記制御情報によってスイッチによるパケット転送処理を制御するコントローラによる情報処理方法であって、
前記コントローラは、クライアントから送信されるＡＲＰ要求に応じ、前記クライアントを処理対象として登録し、
前記登録された前記クライアントにかかるパケットについては、請求項１乃至５いずれか１項に記載の前記通信保留処理、前記ノード決定処理及び前記通信再開処理にかかるパケット転送処理を前記スイッチに実行させる
情報処理方法。
【０１５５】
（付記９）
ＡＲＰ要求を、ノード群に割り当てられた仮想ＩＰアドレスに対して送信し、
前記ノード群から送信されるＡＲＰ応答に応じ、ＡＲＰテーブルを更新するとともに、前記ＡＲＰ応答の送信元にＴＣＰ接続要求を送信し、
前記ノード群から送信されるＴＣＰ接続応答（一時停止）に応じ、ＴＣＰ通信を一時停止し、
前記ノード群から送信されるＧＡＲＰに応じ、ＡＲＰテーブルを更新し、
前記ノード群から送信されるＴＣＰ確認応答（一時停止解除）に応じ、ＴＣＰ通信を再開する
情報処理方法。
【０１５６】
（付記１０）
付記７乃至９いずれか１項に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【符号の説明】
【０１５７】
１０００  情報処理システム
１  ノード群
１０  第１ノード
１０１  通信保留手段
１０２  通信切替手段
１０３  通信再開手段
１０３１  一時領域
１０４  監査対象管理テーブル
１０５  仮想ＩＰ割当管理手段
１０６  仮想ＩＰ割当管理テーブル
１０７  ノード割当手段
１０８  サービス
１０９  ＡＲＰテーブル
２０  第２ノード
２０１  通信保留手段
２０２  通信切替手段
２０３  通信再開手段
２０３１  一時領域
２０４  監査対象管理テーブル
２０５  仮想ＩＰ割当管理手段
２０６  仮想ＩＰ割当管理テーブル
２０７  ノード割当手段
２０８  サービス
２０９  ＡＲＰテーブル
３０  第３ノード
３０１  通信保留手段
３０２  通信切替手段
３０３  通信再開手段
３０３１  一時領域
３０４  監査対象管理テーブル
３０５  仮想ＩＰ割当管理手段
３０６  仮想ＩＰ割当管理テーブル
３０７  ノード割当手段
３０８  サービス
３０９  ＡＲＰテーブル
ｎ０  第ｎノード
ｎ０１  通信保留手段
ｎ０２  通信切替手段
ｎ０３  通信再開手段
ｎ０３１  一時領域
ｎ０４  監査対象管理テーブル
ｎ０５  仮想ＩＰ割当管理手段
ｎ０６  仮想ＩＰ割当管理テーブル
ｎ０７  ノード割当手段
ｎ０８  サービス
ｎ０９  ＡＲＰテーブル
４０  ＯｐｅｎＦｌｏｗスイッチ
５０  ＯｐｅｎＦｌｏｗコントローラ
６０  クライアント
６０１  ＡＲＰテーブル
【図１】
0005903934.tif 000002
【図２】
0005903934.tif 000003
【図３】
0005903934.tif 000004
【図４】
0005903934.tif 000005
【図５】
0005903934.tif 000006
【図６】
0005903934.tif 000007
【図７】
0005903934.tif 000008
【図８】
0005903934.tif 000009
【図９】
0005903934.tif 000010
【図１０】
0005903934.tif 000011
【図１１】
0005903934.tif 000012
【図１２】
0005903934.tif 000013
【図１３】
0005903934.tif 000014
【図１４】
0005903934.tif 000015
【図１５】
0005903934.tif 000016
【図１６】
0005903934.tif 000017
【図１７】
0005903934.tif 000018
【図１８】
0005903934.tif 000019
【図１９】
0005903934.tif 000020
【図２０】
0005903934.tif 000021
【図２１】
0005903934.tif 000022
【図２２】
0005903934.tif 000023
【図２３】
0005903934.tif 000024
【図２４】
0005903934.tif 000025
【図２５】
0005903934.tif 000026
【図２６】
0005903934.tif 000027