(57)【特許請求の範囲】
【請求項１】
通信データの中継処理のための制御データを管理し、マスタノード又はスレーブノードとして動作する中継ノードであって、
中継処理中のコネクションの状態を監視する監視部と、
前記スレーブノードとして動作しているときに、通信データが到着すると、前記マスタノードに対して制御データの更新依頼を送信する依頼部と、
前記マスタノードとして動作しているときに、前記更新依頼が到着すると、前記状態に基づいて、前記更新依頼を送信したスレーブノードにマスタ権限を移譲するか否かを判定し、前記マスタ権限を移譲すると判定すれば、前記更新依頼を送信したスレーブノードにマスタ移譲通知を送信する移譲部と、
前記スレーブノードとして動作しているときに、前記マスタ移譲通知を受信すると、マスタノードへと移行するための処理を実行する移行部と、
を有することを特徴とする中継ノード。
【請求項２】
前記移譲部は、前記通信データの属するコネクションが監視対象として登録されていないときに、前記更新依頼を送信したスレーブノードにマスタ権限を移譲すると判定する、ことを特徴とする請求項１記載の中継ノード。
【請求項３】
前記コネクションは、制御コネクション及びデータコネクションを含み、
前記移譲部は、前記マスタノードが制御コネクションのみを処理し、かつ、データコネクションを処理するスレーブノードから更新依頼があったときに、前記更新依頼を送信したスレーブノードにマスタ権限を移譲すると判定する、ことを特徴とする請求項１記載の中継ノード。
【請求項４】
前記監視部は、前記通信データに含まれるコンテンツのサイズから、前記マスタノード又は前記スレーブノードにおいて今後中継される通信データのデータ量を推測し、
前記移譲部は、前記更新依頼を送信したスレーブノードにおけるデータ量が前記マスタノードにおけるデータ量より大きいときに、前記更新依頼を送信したスレーブノードにマスタ権限を移譲すると判定する、ことを特徴とする請求項１記載の中継ノード。
【請求項５】
マスタノード又はスレーブノードとして動作する中継ノードが、通信データの中継処理のための制御データを管理する中継処理プログラムであって、
前記中継ノードに、
中継処理中のコネクションの状態を監視するステップと、
前記スレーブノードとして動作しているときに、通信データが到着すると、前記マスタノードに対して制御データの更新依頼を送信するステップと、
前記マスタノードとして動作しているときに、前記更新依頼が到着すると、前記状態に基づいて、前記更新依頼を送信したスレーブノードにマスタ権限を移譲するか否かを判定し、前記マスタ権限を移譲すると判定すれば、前記更新依頼を送信したスレーブノードにマスタ移譲通知を送信するステップと、
前記スレーブノードとして動作しているときに、前記マスタ移譲通知を受信すると、マスタノードへと移行するための処理を実行するステップと、
を実現させるための中継処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信データの中継処理を行う技術に関する。
【背景技術】
【０００２】
コンピュータネットワークにおいて、帯域制御装置，ＤｏＳ（Denial of Service），アクセス制御装置など、ネットワークを流通するトラフィックを監視しながら中継処理を行う中継ノードが利用されている。また、大規模なコンピュータネットワークでは、中継ノードにおけるボトルネックを解消するために、ロードバランサなどの振分ノードを用いて、パケットなどの通信データを複数の中継ノードに振り分ける負荷分散技術が採用されている。この場合、複数の中継ノードにおいてネットワークの帯域制御テーブル（制御データ）が共通していなければならないことから、１つの中継ノードをマスタノードとして、マスタノードで制御データを集中管理する方法がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−４４５３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、マスタノードで制御データを集中管理する場合、マスタとはならなかった中継ノード（スレーブノード）は、通信データの中継処理を実行するたびに、マスタノードに対して制御データの更新依頼を送信しなければならない。このため、更新依頼に係るトラフィックがネットワークを流通し、本来のデータ通信とは関係のないオーバヘッドが増加してしまうおそれがあった。
【０００５】
そこで、本技術は従来の問題点に鑑み、ネットワークを流通する更新依頼を減らし、データ通信におけるオーバヘッドを低減した中継ノード及び中継処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
通信データの中継処理のための制御データを管理し、マスタノード又はスレーブノードとして動作する中継ノードは、次のような処理を実行する。
中継ノードは、中継処理中のコネクションの状態を監視する。中継ノードは、スレーブノードとして動作しているときに、通信データが到着すると、マスタノードに対して制御データの更新依頼を送信する。中継ノードは、マスタノードとして動作しているときに、更新依頼が到着すると、コネクションの状態に基づいて、更新依頼を送信したスレーブノードにマスタ権限を移譲するか否かを判定する。そして、中継ノードは、マスタ権限を移譲すると判定すれば、更新依頼を送信したスレーブノードにマスタ移譲通知を送信する。中継ノードは、スレーブノードとして動作しているときに、マスタ移譲通知を受信すると、マスタノードへと移行するための処理を実行する。
【発明の効果】
【０００７】
本技術によれば、ネットワークを流通する更新依頼が減り、データ通信におけるオーバヘッドを低減することができる。
【図面の簡単な説明】
【０００８】
【図１】本技術を適用した情報システムの一例を示す概要図である。
【図２】中継ノードの各種機能を示すブロック図である。
【図３】コネクション管理テーブルの説明図である。
【図４】コネクション状態テーブルの説明図である。
【図５】帯域制御テーブルの説明図である。
【図６】パケット到着を契機とした処理のフローチャートである。
【図７】パケット到着を契機とした処理のフローチャートである。
【図８】更新依頼を契機とした処理のフローチャートである。
【図９】マスタ通知を契機とした処理のフローチャートである。
【図１０】具体的な事例を想定した通信例の説明図である。
【図１１】変形例１におけるコネクション状態テーブルの説明図である。
【図１２】パケット到着を契機とした変形例１の処理のフローチャートである。
【図１３】更新依頼を契機とした変形例１の処理のフローチャートである。
【図１４】変形例２におけるコネクション状態テーブルの説明図である。
【図１５】パケット到着を契機とした変形例２の処理のフローチャートである。
【図１６】更新依頼を契機とした変形例２の処理のフローチャートである。
【図１７】変形例３におけるコネクション状態テーブルの説明図である。
【図１８】更新依頼を契機とした変形例３の処理のフローチャートである。
【図１９】パケット到着を契機とした変形例４の処理のフローチャートである。
【図２０】パケット到着を契機とした変形例４の処理のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付された図面を参照して本技術を詳述する。
図１は、本技術を適用した情報システムの一例を示す。
複数のクライアント１０は、インターネットなどのネットワーク２０を介して、ロードバランサなどの負荷分散を行う振分ノード３０に接続される。振分ノード３０は、所定ルールに則って、ネットワーク２０の一部に並列に複数配置された中継ノード４０に対して、クライアント１０からの通信データの一例としてのパケットを振り分ける。中継ノード４０は、例えば、ネットワーク２０の帯域制御を行うノードであって、クライアント１０からの要求を処理する複数のサーバ５０に接続される。なお、中継ノード４０は、汎用コンピュータにより構築される。
【００１０】
中継ノード４０は、図２に示すように、ＲＡＭ（Random Access Memory）などの高速な記憶媒体に、コネクション管理テーブル４２，コネクション状態テーブル４４及び帯域制御テーブル４６を保持する。コネクション管理テーブル４２は、制御コネクション及びデータコネクションからなるコネクション群について、各コネクションにおけるクライアント１０及びサーバ５０並びにマスタとなる中継ノード４０（マスタノード）を管理するためのテーブルである。ここで、「マスタ」とは、複数の中継ノード４０のうち、中継処理のための制御データとしての帯域制御テーブル４６を集中管理するノードのことをいう。コネクション管理テーブル４２は、図３に示すように、クライアントＩＰ，サーバＩＰ，クライアントポート，サーバポート，コネクション群ＩＤ，マスタ及びコネクション種別を関連付けたレコードを格納する。なお、コネクション管理テーブル４２のマスタは、マスタとなる中継ノード４０が確定していないとき、例えば、空欄とされる。コネクション状態テーブル４４は、コネクション群ごとに、コネクションの接続状態を管理するためのテーブルである。コネクション状態テーブル４４は、図４に示すように、コネクション群ＩＤ，クライアントＩＰ，サーバＩＰ，クライアントポート，サーバポート及び接続状態を関連付けたレコードを格納する。帯域制御テーブル４６は、コネクション群の各コネクションごとにネットワークの帯域制御を行うために、複数の中継ノード４０の間で共有するテーブルである。帯域制御テーブル４６は、図５に示すように、コネクション群ＩＤ，単位時間あたりの送出バイト数及び送出時間を関連付けたレコードを格納する。
【００１１】
また、中継ノード４０は、中継処理プログラムを実行することで、図２に示すように、コネクション管理部４０Ａ，中継処理部４０Ｂ，コネクション状態監視部４０Ｃ，更新依頼部４０Ｄ，マスタ移行部４０Ｅ，帯域制御部４０Ｆ及びマスタ移譲部４０Ｇを夫々具現化する。なお、中継処理プログラムは、ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭなどのコンピュータ読取可能な記録媒体から、公知の手段を用いて、中継ノード４０のハードディスクなどのストレージにインストールされる。
【００１２】
コネクション管理部４０Ａは、中継ノード４０に到着したパケットを解析することで、コネクションを管理する。中継処理部４０Ｂは、中継ノード４０に到着したパケットを、振分ノード３０又はサーバ５０に転送する。コネクション状態監視部４０Ｃは、中継ノード４０に到着したパケットのヘッダを解析して、コネクションごとに、コネクション状態テーブル４４を更新する。更新依頼部４０Ｄは、マスタである中継ノード４０に対して、帯域制御テーブル４６を更新することを依頼する。マスタ移行部４０Ｅは、自分の中継ノード４０がマスタになるための各種処理を行う。帯域制御部４０Ｆは、帯域制御テーブル４６を更新する。マスタ移譲部４０Ｇは、他の中継ノード４０にマスタを移譲するための各種処理を行う。
【００１３】
図６及び図７は、中継ノード４０にパケットが到着したことを契機として、コネクション管理部４０Ａ，中継処理部４０Ｂ，コネクション状態監視部４０Ｃ，更新依頼部４０Ｄ，マスタ移行部４０Ｅ及び帯域制御部４０Ｆが協働して実行する処理を示す。
【００１４】
ステップ１（図では「Ｓ１」と略記する。以下同様。）では、コネクション管理部４０Ａが、例えば、ＴＣＰヘッダのシーケンス番号を参照して、クライアント１０からサーバ５０へと向かう「上りトラフィック」であるか否かを判定する。そして、コネクション管理部４０Ａは、上りトラフィックであると判定すれば処理をステップ２へと進める一方（Ｙｅｓ）、サーバ５０からクライアント１０へと向かう「下りトラフィック」であると判定すれば処理をステップ５へと進める（Ｎｏ）。
【００１５】
ステップ２では、コネクション状態監視部４０Ｃが、例えば、ＴＣＰヘッダのコントロールフラグを参照して、コネクションを確立させるための「ＳＹＮパケット」又はコネクションを切断するための「ＦＩＮパケット」であるか否かを判定する。そして、コネクション状態監視部４０Ｃは、「ＳＹＮパケット」又は「ＦＩＮパケット」であると判定すれば処理をステップ３へと進める一方（Ｙｅｓ）、「ＳＹＮパケット」又は「ＦＩＮパケット」のいずれでもないと判定すれば処理をステップ４へと進める（Ｎｏ）。
【００１６】
ステップ３では、コネクション状態監視部４０Ｃが、パケットに含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートで特定されるコネクション群について、コネクション状態テーブル４４を更新する。即ち、コネクション状態監視部４０Ｃは、「ＳＹＮパケット」であればレコードを追加する一方、「ＦＩＮパケット」であればレコードを削除する。
【００１７】
ステップ４では、中継処理部４０Ｂが、上りトラフィックであればパケットをサーバ５０に転送する一方、下りトラフィックであればパケットを振分ノード３０に転送する。ここで、中継処理部４０Ｂは、トラフィック量が多い下りトラフィックについて、帯域制御テーブル４６を参照して公知の帯域制御処理を行う。なお、帯域制御処理により送信されなかったパケットは、処理待ちバッファ４８に到着順に蓄積される。
【００１８】
ステップ５では、コネクション管理部４０Ａが、コネクション管理テーブル４２を参照して、パケットに含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートにより特定されるコネクション群を識別する。
【００１９】
ステップ６では、コネクション管理部４０Ａが、コネクション管理テーブル４２を参照して、パケットにデータコネクションのサーバＩＰ及びサーバポートを指示するコマンドが含まれているか否かを判定する。そして、コネクション管理部４０Ａは、データコネクションのサーバＩＰ及びサーバポートを指示するコマンドが含まれていると判定すれば処理をステップ７へと進める一方（Ｙｅｓ）、含まれていないと判定すれば処理をステップ８へと進める。
【００２０】
ステップ７では、コネクション管理部４０Ａが、他の中継ノード４０に対して、自分の中継ノード４０がマスタであることを通知する（マスタ通知）。ここで、マスタ通知は、コネクション群を特定可能とするクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートを含む。
【００２１】
ステップ８では、中継処理部４０Ｂが、コネクション管理テーブル４２を参照して、自分の中継ノード４０がマスタであるか否かを判定する。そして、中継処理部４０Ｂは、自分の中継ノード４０がマスタであると判定すれば処理をステップ９へと進める一方（Ｙｅｓ）、自分の中継ノード４０がマスタでない（即ち、スレーブである）と判定すれば処理をステップ１０へと進める（Ｎｏ）。
【００２２】
ステップ９では、帯域制御部４０Ｆが、パケットに含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートで特定されるコネクション群について、帯域制御テーブル４６を更新する。即ち、帯域制御部４０Ｆは、送出バイト数にパケットのバイト数を加算すると共に、送出時間に帯域制御間隔（例えば、１秒）における経過時間を書き込む。なお、帯域制御部４０Ｆは、帯域制御間隔が経過したとき、帯域制御テーブル４６の送出バイト数及び送出時間を夫々リセットする（以下同様）。その後、帯域制御部４０Ｆは、処理をステップ２へと進める。
【００２３】
ステップ１０では、更新依頼部４０Ｄが、コネクション管理テーブル４２を参照して、パケットに含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートで特定されるコネクション群について、マスタが確定しているか否かを判定する。そして、更新依頼部４０Ｄは、マスタが確定していると判定すれば処理をステップ１１へと進める一方（Ｙｅｓ）、マスタが確定していないと判定すれば処理をステップ１５へと進める（Ｎｏ）。
【００２４】
ステップ１１では、更新依頼部４０Ｄが、マスタである中継ノード４０に対して、帯域制御テーブル４６を更新するための更新依頼を送信する。更新依頼は、更新対象であるコネクション群を特定可能とするクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートを含む。なお、更新依頼部４０Ｄは、更新依頼を送信した中継ノード４０から応答があるまで待機する。
【００２５】
ステップ１２では、マスタ移行部４０Ｅが、更新依頼に対する応答に、マスタを移譲することを示すマスタ移譲通知が含まれているか否かを判定する。そして、マスタ移行部４０Ｅは、応答にマスタ移譲通知が含まれていると判定すれば処理をステップ１３へと進める一方（Ｙｅｓ）、応答にマスタ移譲通知が含まれていないと判定すれば処理をステップ２へと進める（Ｎｏ）。
【００２６】
ステップ１３では、マスタ移行部４０Ｅが、応答に含まれる帯域制御情報を帯域制御テーブル４６に保存する。即ち、マスタ移行部４０Ｅは、マスタであった中継ノード４０から通知された帯域制御情報を受け継ぐことで、自分の中継ノード４０がマスタとして動作できるようにする。
【００２７】
ステップ１４では、マスタ移行部４０Ｅが、コネクション管理テーブル４２に、自分の中継ノード４０がマスタとなることを書き込む。その後、マスタ移行部４０Ｅは、処理をステップ２へと進める。
【００２８】
ステップ１５では、マスタ移行部４０Ｅが、他の中継ノード４０に対して、自分の中継ノード４０がマスタであることを通知する（マスタ通知）。その後、マスタ移行部４０Ｅは、処理をステップ２へと進める。
【００２９】
かかるパケット到着を契機とする処理によれば、パケットが下りトラフィックであり、かつ、自分の中継ノード４０がマスタであれば、帯域制御を行うための帯域制御テーブル４６が更新される。また、パケットが下りトラフィックであり、かつ、自分の中継ノード４０がスレーブであれば、マスタが確定しているか否かに応じて、次のような処理が実行される。即ち、マスタが確定していれば、マスタである中継ノード４０に対して更新依頼が行われ、更新依頼の応答としてマスタ移譲通知があると、自分の中継ノード４０をマスタとするための各種処理が行われる。一方、マスタが確定していなければ、他の中継ノード４０に対して、自分の中継ノード４０がマスタとなることが通知される。そして、パケット及び自分の中継ノード４０の如何にかかわらず、コネクション状態テーブル４４が必要に応じて更新されると共に、パケットが振分ノード３０又はサーバ５０に転送される。
【００３０】
図８は、中継ノード４０に更新依頼が到着したことを契機として、帯域制御部４０Ｆ及びマスタ移譲部４０Ｇが協働して実行する処理を示す。
ステップ２１では、帯域制御部４０Ｆが、更新依頼に含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートで特定されるコネクション群について、帯域制御テーブル４６を更新する。即ち、帯域制御部４０Ｆは、送出バイト数にパケットのバイト数を加算すると共に、送出時間に帯域制御間隔における経過時間を書き込む。
【００３１】
ステップ２２では、マスタ移譲部４０Ｇが、コネクション状態テーブル４４を参照して、更新依頼に含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートで特定されるコネクション群について、接続中のコネクションがあるか否かを判定する。そして、マスタ移譲部４０Ｇは、接続中のコネクションがないと判定すれば処理をステップ２３へと進める一方（Ｙｅｓ）、接続中のコネクションがあると判定すれば処理をステップ２５へと進める（Ｎｏ）。
【００３２】
ステップ２３では、マスタ移譲部４０Ｇが、更新依頼を送信した中継ノード４０に対して、マスタ移譲通知を応答する。マスタ移譲通知は、帯域制御テーブル４６を再現可能な帯域制御情報、並びに、コネクション群を特定可能とするクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートを夫々含む。
【００３３】
ステップ２４では、マスタ移譲部４０Ｇが、更新依頼を送信した中継ノード４０を除く他の中継ノード４０に対して、マスタ変更を通知する。
ステップ２５では、マスタ移譲部４０Ｇが、更新依頼を送信した中継ノード４０に対して、処理を続行すべきことを通知するために応答する。
【００３４】
かかる更新依頼到着を契機とする処理によれば、マスタである中継ノード４０において、更新依頼に応答して、帯域制御テーブル４６が更新される。また、接続中のコネクションがなければ、更新依頼を送信した中継ノード４０に対してマスタ権限を移譲することが通知されると共に、他の中継ノード４０に対してマスタを変更することが通知される。一方、接続中のコネクションがあれば、更新依頼を送信した中継ノード４０に対して応答が返送される。
【００３５】
図９は、中継ノード４０にマスタ通知が到着したことを契機として、マスタ移行部４０Ｅが実行する処理を示す。
ステップ３１では、マスタ移行部４０Ｅが、マスタ通知に含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートにより特定されるコネクション群について、コネクション管理テーブル４２のマスタを登録する。即ち、マスタ移行部４０Ｅは、通知されたマスタをコネクション管理テーブル４２に登録する。
【００３６】
かかるマスタ通知到着を契機とする処理によれば、マスタ通知があると、コネクション管理テーブル４２のマスタが登録される。
従って、マスタである中継ノード４０において帯域制御テーブル４６を更新するとき、接続中のコネクションがなければ、更新依頼を送信した中継ノード４０に対してマスタが移譲されることとなる。このため、情報システム全体から見ると、マスタに更新依頼があったことを契機として、パケット量の変化に応じてマスタとなる中継ノード４０が徐々に変わっていくように見える。また、マスタである中継ノード４０が新たなマスタを決定するので、１つのコネクション群に対して複数の中継ノード４０が同時にマスタとなることがない。よって、ネットワークを流通する更新依頼が減り、データ通信におけるオーバヘッドを低減することができる。
【００３７】
ここで、本技術の理解を容易ならしめることを目的として、図１０を参照しつつ、具体的な事例を想定した通信例について説明する。
【００３８】
［通信例１（制御コネクションによる通信）］
前提条件として、クライアント１がサーバ２との間でＴＣＰの制御コネクションを作成し、振分ノード３０がマスタである中継ノード３にパケットを振り分けるものとする。なお、コネクション管理テーブル４２には、制御コネクションの情報が予め格納されているものとする。
【００３９】
１．クライアント１が、サーバ２に対してＦＴＰのＰＡＳＶコマンドを送信する。このとき、クライアント１は、制御コネクション（クライアントIP＝10.0.0.1，サーバIP＝20.0.0.1，クライアントポート＝23435，サーバポート＝21）のパケットを送信する。
２．振分ノード３０は、中継ノード３にパケットを転送する。
３．パケットは上りパケットであるので、中継ノード３はパケットをサーバ２に転送する。
４．サーバ２は、ＦＴＰのＰＡＳＶコマンドに対するレスポンスを応答する。このとき、サーバ２は、「227 Entering Passive Mode (20.0.0.1, 156, 115)」という文字列を応答する。
５．中継ノード３は、サーバ２からの応答メッセージを解析し、サーバＩＰが20.0.0.1，サーバポートが40051（156×256+115）のコネクションが、制御コネクションのデータコネクションに相当することを識別する。そして、中継ノード３は、他の中継ノード１，２，４及び５に対して、中継ノード３がマスタであることを通知する。
６．中継ノード１，２，４及び５は、中継ノード３がマスタであることをコネクション管理テーブル４２に格納する。
７．中継ノード３は、自分がマスタであるため、帯域制御テーブル４６を更新する。
８．中継ノード３は、パケットがコネクションの確立又は切断を示すものでないことから、パケットをそのままクライアント１に送信する。
９．クライアント１は、中継ノード３からのパケットをＦＴＰのレスポンスとして受信する。
【００４０】
［通信例２（データコネクションによる通信、マスタ移譲がない場合）］
前提条件として、クライアント１が通信例１のパケットを受信し、データコネクションとして、指定されたサーバＩＰ及びサーバポートへのＴＣＰコネクション（データコネクション）が作成されているものとする。
【００４１】
１．クライアント１が、サーバ２に対して、データコネクションを作成するためのＴＣＰのＳＹＮパケットを送信する。このとき、クライアント１は、クライアントＩＰ＝10.0.0.1，サーバＩＰ＝20.0.0.1，クライアントポート＝23436，サーバポート＝40051のパケットを送信する。
２．振分ノード３０は、クライアント１からサーバ２へと送信されたパケットがＳＹＮパケットであることから、宛先となる中継ノード４０を決定してパケットを転送する。ここでは、例えば、パケットが中継ノード４に転送されたものとする。
３．中継ノード４は、ＳＹＮパケットにより新たなコネクションが確立されるため、コネクション状態テーブル４４に、クライアントＩＰ＝10.0.0.1，サーバＩＰ＝20.0.0.1，クライアントポート＝23436，サーバポート＝40051が設定されたレコードを追加する。そして、中継ノード４は、サーバ２にパケットを転送する。
４．サーバ２は、ＴＣＰのＳＹＮ／ＡＣＫパケットを応答する。
５．中継ノード４は、コネクション管理テーブル４２からデータコネクションのレコードを読み出し、データコネクションがコネクション群１に属し、かつ、中継ノード３がマスタであることを把握する。そして、中継ノード４は、自分がマスタでないため、マスタである中継ノード３に対して更新依頼を送信する。ここで、更新依頼には、コネクション群ＩＤ及びパケットのバイト数が含まれる。
６．中継ノード３は、中継ノード４からの更新依頼を受信し、帯域制御テーブル４６を更新する。このとき、中継ノード３は、コネクション群１に属するデータコネクションの状態が接続中であるため、マスタ移譲を行わないと決定して、中継ノード４に応答する。
７．中継ノード４は、パケットがコネクションの確立又は切断を行うものでないことから、パケットをそのままクライアント１に対して送信する。
８．クライアント１は、中継ノード４からのパケットをＴＣＰ  ＳＹＮの応答パケットとして受信する。
【００４２】
［通信例３（データコネクションによる通信、マスタ移譲がある場合）］
前提条件として、マスタである中継ノード３の制御コネクションについて、ＴＣＰのＦＩＮパケットによりコネクションが切断された後、データコネクションの通信が行われたものとする。なお、ＴＣＰのＦＩＮパケットに対する処理結果として、中継ノード３が、制御コネクションの状態が変化することを認識していると共に、コネクション状態テーブル４４の該当レコードが削除されているものとする。
【００４３】
１．クライアント１が、サーバ２に対してＦＴＰのパケットを送信する。このとき、クライアント１は、クライアントＩＰ＝10.0.0.1，サーバＩＰ＝20.0.0.1，クライアントポート＝23436，サーバポート＝40051のパケットを送信する。
２．振分ノード３０は、中継ノード４に対してパケットを振り分ける。
３．中継ノード４は、パケットが上りトラフィックなので、パケットをサーバ１に転送する。
４．サーバ１は、ＦＴＰの処理を行った後、応答パケットを送信する。
５．中継ノード４は、コネクション管理テーブル４２からデータコネクションのレコードを読み出し、コネクションがコネクション群１に属し、かつ、中継ノード３がマスタであることを把握する。そして、中継ノード４は、自分はマスタでないため、マスタである中継ノード３に対して更新依頼を送信する。
６．中継ノード３は、中継ノード４からの更新依頼を受信し、帯域制御テーブル４６を更新する。このとき、中継ノード３は、コネクション群１に属する制御コネクションが切断済みであるため、マスタ移譲を行うことを決定して、中継ノード４に応答する。
７．中継ノード４は、中継ノード３からマスタ移譲を行うことが通知されたため、コネクション管理テーブル４２におけるコネクション群１のマスタを中継ノード４に書き換える。また、中継ノード４は、帯域制御テーブル４６を更新する。
８．中継ノード３は、他の中継ノード１，２及び５に対して、コネクション群１のマスタが中継ノード４に変わったことを通知する。なお、中継ノード３がマスタの移譲開始から完了までの間に、他の中継ノード１，２又は５から更新依頼を受けていた場合には、例えば、中継ノード４に更新依頼をリダイレクトするなどの処置をとれば、マスタ移行中に発生した更新処理も対処可能である。
９．中継ノード３は、パケットがコネクションの確立又は切断を行うものでないことから、パケットをそのままクライアント１に対して送信する。
１０．クライアント１は、中継ノード３からの応答パケットを受信する。
【００４４】
次に、中継ノードの変形例について説明する。
［第１変形例］
本変形例では、マスタである中継ノード４０は、所定時間（例えば、１０秒）通信がないときに、更新依頼を送信したスレーブである中継ノード４０にマスタを移譲する。この場合、コネクション状態テーブルには、図１１に示すように、コネクション群ＩＤ，クライアントＩＰ，サーバＩＰ，クライアントポート，サーバポート及び最終アクセス時刻を関連付けたレコードが格納される。
【００４５】
図１２は、中継ノード４０にパケットが到着したことを契機として、コネクション管理部４０Ａ，中継処理部４０Ｂ，コネクション状態監視部４０Ｃ，更新依頼部４０Ｄ，マスタ移行部４０Ｅ及び帯域制御部４０Ｆが協働して実行する処理を示す。なお、本処理は、図６に示す処理と大部分が共通するので、相違する部分のみ説明し、他の処理については、図６及び図７の説明を参照されたい（以下同様）。
【００４６】
ステップ２では、コネクション状態監視部４０Ｃが、例えば、ＴＣＰヘッダのコントロールフラグを参照して、コネクションを確立させるための「ＳＹＮパケット」又はコネクションを切断するための「ＦＩＮパケット」であるか否かを判定する。そして、コネクション状態監視部４０Ｃは、「ＳＹＮパケット」又は「ＦＩＮパケット」であると判定すれば処理をステップ４１へと進める一方（Ｙｅｓ）、「ＳＹＮパケット」又は「ＦＩＮパケット」のいずれでもないと判定すれば処理をステップ４２へと進める（Ｎｏ）。
【００４７】
ステップ４１では、コネクション状態監視部４０Ｃが、パケットに含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートで特定されるコネクション群について、コネクション状態テーブル４４を更新する。即ち、コネクション状態監視部４０Ｃは、「ＳＹＮパケット」であればレコードを追加する一方、「ＦＩＮパケット」であればレコードを削除する。
【００４８】
ステップ４２では、コネクション状態監視部４０Ｃが、パケットに含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートで特定されるコネクション群について、コネクション状態テーブル４４の最終アクセス時刻を更新する。
【００４９】
図１３は、中継ノード４０に更新依頼が到着したことを契機として、帯域制御部４０Ｆ及びマスタ移譲部４０Ｇが協働して実行する処理を示す。なお、本処理は、図８に示す処理と大部分が共通するので、相違する部分のみ説明する。他の処理については、図８の説明を参照されたい。
【００５０】
ステップ２２では、マスタ移譲部４０Ｇが、コネクション状態テーブル４４を参照して、更新依頼に含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートで特定されるコネクション群について、接続中のコネクションがあるか否かを判定する。そして、マスタ移譲部４０Ｇは、接続中のコネクションがないと判定すれば処理をステップ２３へと進める一方（Ｙｅｓ）、接続中のコネクションがあると判定すれば処理をステップ４３へと進める（Ｎｏ）。
【００５１】
ステップ４３では、マスタ移譲部４０Ｇが、コネクション状態テーブル４４の最終アクセス時刻を参照して、接続中のコネクションについて、所定時間通信がなかった否かを判定する。そして、マスタ移譲部４０Ｇは、通信がなかったと判定すれば処理をステップ２３へと進める一方（Ｙｅｓ）、通信があったと判定すれば処理をステップ２５へと進める（Ｎｏ）。
このようにすれば、マスタである中継ノード４０のコネクションを積極的に切断しないアプリケーションであっても、無通信状態が所定時間連続すると、マスタ移譲が行われることとなる。このため、パケットが到着した中継ノード４０にマスタが移ることから、ネットワークを流通する更新依頼が減り、データ通信におけるオーバヘッドを低減することができる。
【００５２】
［変形例２］
本変形例では、マスタである中継ノード４０は、ＦＴＰの制御コネクションのみを処理し、かつ、ＦＴＰのデータコネクションがスレーブである中継ノード４０で処理されているときに、更新依頼を送信したスレーブである中継ノード４０にマスタを移譲する。この場合、コネクション状態テーブル４４には、図１４に示すように、コネクション群ＩＤ，クライアントＩＰ，サーバＩＰ，クライアントポート，サーバポート及びプロトコルが関連付けられたレコードが格納される。
【００５３】
図１５は、中継ノード４０にパケットが到着したことを契機として、コネクション管理部４０Ａ，中継処理部４０Ｂ，コネクション状態監視部４０Ｃ，更新依頼部４０Ｄ，マスタ移行部４０Ｅ及び帯域制御部４０Ｆが協働して実行する処理を示す。
【００５４】
ステップ４４では、コネクション状態監視部４０Ｃが、例えば、ＴＣＰヘッダのコントロールフラグを参照して、コネクションを確立させるための「ＳＹＮパケット」であるか否かを判定する。そして、コネクション状態監視部４０Ｃは、「ＳＹＮパケット」であると判定すれば処理をステップ４５へと進める一方（Ｙｅｓ）、「ＳＹＮパケット」でないと判定すれば処理をステップ４６へと進める（Ｎｏ）。
【００５５】
ステップ４５では、コネクション状態監視部４０Ｃが、パケットに含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートで特定されるコネクション群について、コネクション状態テーブル４４にレコードを追加する。このとき、コネクション状態監視部４０Ｃは、例えば、サーバポートのポート番号からプロトコルを判別し、コネクション状態テーブルにプロトコルを併せて設定する。具体的には、ＦＴＰの制御コネクションのポート番号は通常固定値（２１）であるため、コネクション状態監視部４０Ｃは、サーバポートが２１であるか否かを介して、プロトコルがＦＴＰであるか否かを判定する。
【００５６】
ステップ４６では、コネクション状態監視部４０Ｃが、例えば、ＴＣＰヘッダのコントロールフラグを参照して、コネクションを切断するための「ＦＩＮパケット」であるか否かを判定する。そして、コネクション状態監視部４０Ｃは、「ＦＩＮパケット」であると判定すれば処理をステップ４７へと進める一方（Ｙｅｓ）、「ＦＩＮパケット」でないと判定すれば処理をステップ４へと進める（Ｎｏ）。
【００５７】
ステップ４７では、コネクション状態監視部４０Ｃが、パケットに含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートで特定されるコネクション群について、コネクション状態テーブル４４からレコードを削除する。
【００５８】
図１６は、中継ノード４０に更新依頼が到着したことを契機として、帯域制御部４０Ｆ及びマスタ移譲部４０Ｇが協働して実行する処理を示す。
ステップ２２では、マスタ移譲部４０Ｇが、コネクション状態テーブル４４を参照して、更新依頼に含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートで特定されるコネクション群について、接続中のコネクションがあるか否かを判定する。そして、マスタ移譲部４０Ｇは、接続中のコネクションがないと判定すれば処理をステップ２３へと進める一方（Ｙｅｓ）、接続中のコネクションがあると判定すれば処理をステップ４８へと進める（Ｎｏ）。
【００５９】
ステップ４８では、マスタ移譲部４０Ｇが、コネクション状態テーブル４４を参照して、自身が管理するコネクション群の全コネクションがＦＴＰの制御コネクションであるか否かを判定する。そして、マスタ移譲部４０Ｇは、コネクション群の全コネクションがＦＴＰの制御コネクションであると判定すれば処理をステップ２３へと進める一方（Ｙｅｓ）、コネクション群の全コネクションがＦＴＰの制御コネクションでないと判定すれば処理をステップ２５へと進める（Ｎｏ）。
このようにすれば、プロトコルに応じてトラフィック量が異なるアプリケーションであっても、通信量が多いデータコネクションを処理する中継ノード４０が優先的にマスタとされる。このため、ネットワークを流通する更新依頼が減り、データ通信におけるオーバヘッドを低減することができる。
【００６０】
［変形例３］
本変形例では、ＨＴＴＰにおいては、レスポンスメッセージに下りトラフィックのデータ量を示すContent-Lengthヘッダがあることに着目し、予想されるデータ量に応じてマスタを移譲する。この場合、コネクション状態テーブル４４には、図１７に示すように、コネクション群ＩＤ，クライアントＩＰ，サーバＩＰ，クライアントポート，サーバポート及び予想データ量が関連付けられたレコードが格納される。
【００６１】
中継ノード４０にパケットが到着したことを契機として、コネクション管理部４０Ａ，中継処理部４０Ｂ，コネクション状態監視部４０Ｃ，更新依頼部４０Ｄ，マスタ移行部４０Ｅ及び帯域制御部４０Ｆが協働して実行する処理は、ステップ３及びステップ１１を除き、図６及び図７と同一である。
【００６２】
ステップ３では、コネクション状態監視部４０Ｃが、パケットに含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートで特定されるコネクション群について、コネクション状態テーブル４４を更新する。即ち、コネクション状態監視部４０Ｃは、「ＳＹＮパケット」であればレコードを追加する一方、「ＦＩＮパケット」であればレコードを削除する。また、コネクション状態監視部４０Ｃは、レスポンスメッセージにContent-Lengthヘッダが含まれるとき、Content-Lengthヘッダが示すデータ量からパケット量を減算した値に基づいて、コネクション状態テーブル４４の予想データ量を更新する。一方、コネクション状態監視部４０Ｃは、レスポンスメッセージにContent-Lengthヘッダが含まれていないとき、コネクション状態テーブル４４の予想データ量からパケット量を減算する。
【００６３】
ステップ１１では、更新依頼部４０Ｄが、マスタである中継ノード４０に対して、帯域制御テーブル４６を更新するための更新依頼を送信する。このとき、更新依頼部４０Ｄは、コネクション状態テーブル４４の予想データ量を参照し、予想データ量にContent-Lengthヘッダが示すデータ量を加算した値を併せて送信する。
【００６４】
図１８は、中継ノード４０に更新依頼が到着したことを契機として、帯域制御部４０Ｆ及びマスタ移譲部４０Ｇが協働して実行する処理を示す。
ステップ２２では、マスタ移譲部４０Ｇが、コネクション状態テーブル４４を参照して、更新依頼に含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートで特定されるコネクション群について、接続中のコネクションがあるか否かを判定する。そして、マスタ移譲部４０Ｇは、接続中のコネクションがないと判定すれば処理をステップ２３へと進める一方（Ｙｅｓ）、接続中のコネクションがあると判定すれば処理をステップ４９へと進める（Ｎｏ）。
【００６５】
ステップ４９では、マスタ移譲部４０Ｇが、コネクション状態テーブル４４を参照して、スレーブである中継ノード４０の予想データ量がマスタである中継ノード４０の予想データ量より大きく、かつ、所定値（例えば、１０MB）以上であるか否かを判定する。そして、マスタ移譲部４０Ｇは、前述した条件が成立していれば処理をステップ２３へと進める一方（Ｙｅｓ）、前述した条件が成立していなければ処理をステップ２５へと進める（Ｎｏ）。
【００６６】
このようにすれば、ヘッダに通信データ量が含まれるプロトコルにおいて、将来的に通信データ量が多くなると予想される中継ノード４０を優先的にマスタとすることができる。このため、ネットワークを流通する更新依頼が減り、データ通信におけるオーバヘッドを低減することができる。このとき、スレーブである中継ノード４０の予想データ量が所定値以上であることをマスタ移譲の条件としているため、頻繁にマスタが移譲されることが抑制され、マスタ移行に係るネットワーク負荷の増加を抑制することができる。
なお、データ転送時に予めコンテンツサイズを宣言するプロトコルであれば、ＨＴＴＰに限らず、プロトコルのフォーマットに応じてコンテンツサイズを読み出すようにすれば、同様な処理で実現できる。
【００６７】
［変形例４］
本変形例では、ＦＴＰにおいては、メッセージに、例えば、「150 Opening BINARY mode data connection for bigdata.iso(685768704 bytes).」とデータ長が含まれることに着目し、予想されるデータ量に応じてマスタを移譲する。この場合、コネクション状態テーブル４４としては、図１７に示すテーブルを利用する。また、更新依頼到着を契機とする処理は、変形例３と同一である。
【００６８】
図１９及び図２０は、中継ノード４０にパケットが到着したことを契機として、コネクション管理部４０Ａ，中継処理部４０Ｂ，コネクション状態監視部４０Ｃ，更新依頼部４０Ｄ，マスタ移行部４０Ｅ及び帯域制御部４０Ｆが協働して実行する処理を示す。なお、図１９及び図２０に示す処理は、図６及び図７に示す処理と大部分が共通するので、共通する処理については簡単に説明する。
【００６９】
ステップ５１では、コネクション管理部４０Ａが、「上りトラフィック」であるか否かを判定する。そして、コネクション管理部４０Ａは、上りトラフィックであると判定すれば処理をステップ５２へと進める一方（Ｙｅｓ）、下りトラフィックであると判定すれば処理をステップ５５へと進める（Ｎｏ）。
【００７０】
ステップ５２では、コネクション状態監視部４０Ｃが、コネクションを確立させるための「ＳＹＮパケット」又はコネクションを切断するための「ＦＩＮパケット」であるか否かを判定する。そして、コネクション状態監視部４０Ｃは、「ＳＹＮパケット」又は「ＦＩＮパケット」であると判定すれば処理をステップ５３へと進める一方（Ｙｅｓ）、「ＳＹＮパケット」又は「ＦＩＮパケット」のいずれでもないと判定すれば処理をステップ５４へと進める（Ｎｏ）。
【００７１】
ステップ５３では、コネクション状態監視部４０Ｃが、パケットに含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートで特定されるコネクション群について、コネクション状態テーブル４４を更新する。また、コネクション状態監視部４０Ｃは、他の中継ノード４０からデータ長の通知があったときに、コネクション状態テーブル４４の予想データ量を更新する。
【００７２】
ステップ５４では、中継処理部４０Ｂが、上りトラフィックであればパケットをサーバ５０に転送する一方、下りトラフィックであればパケットを振分ノード３０に転送する。
ステップ５５では、コネクション管理部４０Ａが、コネクション管理テーブル４２を参照して、パケットに含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートにより特定されるコネクション群を識別する。
【００７３】
ステップ５６では、コネクション管理部４０Ａが、コネクション管理テーブル４２を参照して、パケットにデータコネクションのサーバＩＰ及びサーバポートを指示するコマンドが含まれているか否かを判定する。そして、コネクション管理部４０Ａは、データコネクションのサーバＩＰ及びサーバポートを指示するコマンドが含まれていると判定すれば処理をステップ５７へと進める一方（Ｙｅｓ）、含まれていないと判定すれば処理をステップ５８へと進める。
【００７４】
ステップ５７では、コネクション管理部４０Ａが、他の中継ノード４０に対して、自分の中継ノード４０がマスタであることを通知する。
ステップ５８では、コネクション管理部４０Ａが、パケットにデータ長が記載されているか否かを判定する。そして、コネクション管理部４０Ａは、パケットにデータ長が記載されていると判定すれば処理をステップ５９へと進める一方（Ｙｅｓ）、パケットにデータ長が記載されていないと判定すれば処理をステップ６０へと進める（Ｎｏ）。
【００７５】
ステップ５９では、コネクション管理部４０Ａが、他の中継ノード４０に対して、予想されるデータ長を通知する。
ステップ６０では、中継処理部４０Ｂが、コネクション管理テーブル４２を参照して、自分の中継ノード４０がマスタであるか否かを判定する。そして、中継処理部４０Ｂは、自分の中継ノード４０がマスタであると判定すれば処理をステップ６１へと進める一方（Ｙｅｓ）、自分の中継ノード４０がマスタでない（即ち、スレーブである）と判定すれば処理をステップ６２へと進める（Ｎｏ）。
【００７６】
ステップ６１では、帯域制御部４０Ｆが、パケットに含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートで特定されるコネクション群について、帯域制御テーブル４６を更新する。その後、帯域制御部４０Ｆは、処理をステップ５２へと進める。
【００７７】
ステップ６２では、更新依頼部４０Ｄが、コネクション管理テーブル４２を参照して、パケットに含まれるクライアントＩＰ，クライアントポート，サーバＩＰ及びサーバポートで特定されるコネクション群について、マスタが確定しているか否かを判定する。そして、更新依頼部４０Ｄは、マスタが確定していると判定すれば処理をステップ６３へと進める一方（Ｙｅｓ）、マスタが確定していないと判定すれば処理をステップ６７へと進める（Ｎｏ）。
【００７８】
ステップ６３では、更新依頼部４０Ｄが、コネクション状態テーブル４４を参照し、予想データ量からパケット量を減算したデータ量を算出し、マスタである中継ノード４０に対して、帯域制御テーブル４６を更新するための更新依頼を送信する。
【００７９】
ステップ６４では、マスタ移行部４０Ｅが、更新依頼に対する応答に、マスタを移譲することを示すマスタ移譲通知が含まれているか否かを判定する。そして、マスタ移行部４０Ｅは、応答にマスタ移譲通知が含まれていると判定すれば処理をステップ６５へと進める一方（Ｙｅｓ）、応答にマスタ移譲通知が含まれていないと判定すれば処理をステップ５２へと進める（Ｎｏ）。
【００８０】
ステップ６５では、マスタ移行部４０Ｅが、応答に含まれる帯域制御情報を帯域制御テーブル４６に保存する。
ステップ７６では、マスタ移行部４０Ｅが、コネクション管理テーブル４２に、自分の中継ノード４０がマスタとなることを書き込む。その後、マスタ移行部４０Ｅは、処理をステップ５２へと進める。
【００８１】
ステップ６７では、マスタ移行部４０Ｅが、他の中継ノード４０に対して、自分の中継ノード４０がマスタであることを通知する。その後、マスタ移行部４０Ｅは、処理をステップ５２へと進める。
【００８２】
このようにすれば、変形例３と同様に、将来的に通信データ量が多くなると予想される中継ノード４０を優先的にマスタとすることができる。このため、ネットワークを流通する更新依頼が減り、データ通信におけるオーバヘッドを低減することができる。このとき、マスタである中継ノード４０の予想データ量が所定値以上であることをマスタ移譲の条件としているため、頻繁にマスタが移譲されることが抑制され、マスタ移行に係るネットワーク負荷の増加を抑制することができる。
【００８３】
なお、中継ノード４０としては、帯域制御装置に限らず、ＤｏＳ，アクセス制御装置など、ネットワークを流通するトラフィックを監視しながら中継処理を行う各種装置とすることができる。
【００８４】
以上の変形例１〜４を含む実施形態に関し、更に以下の付記を開示する。
（付記１）通信データの中継処理のための制御データを管理し、マスタノード又はスレーブノードとして動作する中継ノードであって、中継処理中のコネクションの状態を監視する監視部と、前記スレーブノードとして動作しているときに、通信データが到着すると、前記マスタノードに対して制御データの更新依頼を送信する依頼部と、前記マスタノードとして動作しているときに、前記更新依頼が到着すると、前記状態に基づいて、前記更新依頼を送信したスレーブノードにマスタ権限を移譲するか否かを判定し、前記マスタ権限を移譲すると判定すれば、前記更新依頼を送信したスレーブノードにマスタ移譲通知を送信する移譲部と、前記スレーブノードとして動作しているときに、前記マスタ移譲通知を受信すると、マスタノードへと移行するための処理を実行する移行部と、を有することを特徴とする中継ノード。
【００８５】
（付記２）前記移譲部は、前記通信データの属するコネクションが監視対象として登録されていないときに、前記更新依頼を送信したスレーブノードにマスタ権限を移譲すると判定する、ことを特徴とする付記１記載の中継ノード。
【００８６】
（付記３）前記移譲部は、前記通信データの属するコネクションの通信が所定時間行われなかったときに、前記更新依頼を送信したスレーブノードにマスタ権限を移譲すると判定する、ことを特徴とする付記１記載の中継ノード。
【００８７】
（付記４）前記コネクションは、制御コネクション及びデータコネクションを含み、前記移譲部は、前記マスタノードが制御コネクションのみを処理し、かつ、データコネクションを処理するスレーブノードから更新依頼があったときに、前記更新依頼を送信したスレーブノードにマスタ権限を移譲すると判定する、ことを特徴とする付記１記載の中継ノード。
【００８８】
（付記５）前記監視部は、前記通信データに含まれるコンテンツのサイズから、前記マスタノード又は前記スレーブノードにおいて今後中継される通信データのデータ量を推測し、前記移譲部は、前記更新依頼を送信したスレーブノードにおけるデータ量が前記マスタノードにおけるデータ量より大きいときに、前記更新依頼を送信したスレーブノードにマスタ権限を移譲すると判定する、ことを特徴とする付記１記載の中継ノード。
【００８９】
（付記６）前記移譲部は、さらに、前記更新依頼を送信したスレーブノードにおけるデータ量が所定値以上であるときに、前記更新依頼を送信したスレーブノードにマスタ権限を移譲すると判定する、ことを特徴とする付記５記載の中継ノード。
【００９０】
（付記７）マスタノード又はスレーブノードとして動作する中継ノードが、通信データの中継処理のための制御データを管理する中継処理プログラムであって、前記中継ノードに、中継処理中のコネクションの状態を監視するステップと、前記スレーブノードとして動作しているときに、通信データが到着すると、前記マスタノードに対して制御データの更新依頼を送信するステップと、前記マスタノードとして動作しているときに、前記更新依頼が到着すると、前記状態に基づいて、前記更新依頼を送信したスレーブノードにマスタ権限を移譲するか否かを判定し、前記マスタ権限を移譲すると判定すれば、前記更新依頼を送信したスレーブノードにマスタ移譲通知を送信するステップと、前記スレーブノードとして動作しているときに、前記マスタ移譲通知を受信すると、マスタノードへと移行するための処理を実行するステップと、を実現させるための中継処理プログラム。
【符号の説明】
【００９１】
２０    ネットワーク
４０    中継ノード
４０Ｃ  コネクション状態監視部（監視部）
４０Ｄ  更新依頼部（依頼部）
４０Ｅ  マスタ移行部（移行部）
４０Ｇ  マスタ移譲部（移譲部）
【図１】
0005564661.tif 000002
【図２】
0005564661.tif 000003
【図３】
0005564661.tif 000004
【図４】
0005564661.tif 000005
【図５】
0005564661.tif 000006
【図６】
0005564661.tif 000007
【図７】
0005564661.tif 000008
【図８】
0005564661.tif 000009
【図９】
0005564661.tif 000010
【図１０】
0005564661.tif 000011
【図１１】
0005564661.tif 000012
【図１２】
0005564661.tif 000013
【図１３】
0005564661.tif 000014
【図１４】
0005564661.tif 000015
【図１５】
0005564661.tif 000016
【図１６】
0005564661.tif 000017
【図１７】
0005564661.tif 000018
【図１８】
0005564661.tif 000019
【図１９】
0005564661.tif 000020
【図２０】
0005564661.tif 000021