(57)【要約】【課題】  ネットワークを流れるトラフィックの帯域制御の遅延時間を低減する通信装置、ネットワーク管理装置、及びネットワークシステムを提供する。【解決手段】  通信装置は、供給された送信許容量に基づきパケットの送信レートを制御する複数の通信装置のグループに属し、前記複数の通信装置を管理するネットワーク管理装置に前記送信許容量を要求し、該要求に応じて供給された前記送信許容量を、前記グループに属する他の通信装置に、要求に応じて供給する供給部と、前記グループに属する他の通信装置のうち、前記グループ内の通信の遅延時間に関する遅延条件及び処理の負荷に関する負荷条件を満たす通信装置に、前記供給部が行う前記送信許容量の要求処理及び供給処理を引き継ぐ制御部とを有する。【選択図】図３
2017041808.tif 000002
【特許請求の範囲】
【請求項１】
供給された送信許容量に基づきパケットの送信レートを制御する複数の通信装置のグループに属する通信装置において、
前記複数の通信装置を管理するネットワーク管理装置に前記送信許容量を要求し、該要求に応じて供給された前記送信許容量を、前記グループに属する他の通信装置に、要求に応じて供給する供給部と、
前記グループに属する他の通信装置のうち、前記グループ内の通信の遅延時間に関する遅延条件及び処理の負荷に関する負荷条件を満たす通信装置に、前記供給部が行う前記送信許容量の要求処理及び供給処理を引き継ぐ制御部とを有することを特徴とする通信装置。
【請求項２】
前記制御部は、自装置の処理の負荷を監視し、前記負荷が一定値を超えたとき、前記グループに属する他の通信装置のうち、前記遅延条件及び前記負荷条件を満たす通信装置に、前記供給部が行う前記送信許容量の要求処理及び供給処理を引き継ぐことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記制御部は、前記グループに属する他の通信装置から、前記送信許容量の要求に対する前記供給部の応答時間が一定時間以上であることを通知されたとき、前記グループに属する他の通信装置のうち、前記遅延条件及び前記負荷条件を満たす通信装置に、前記供給部が行う前記送信許容量の要求処理及び供給処理を引き継ぐことを特徴とする請求項１または２に記載の通信装置。
【請求項４】
グループごとに分けられ、供給された送信許容量に基づきパケットの送信レートをそれぞれ制御する複数の通信装置を管理する管理部を有し、
前記管理部は、前記複数の通信装置のうち、前記グループごとに選択された通信装置からの要求に応じて該通信装置に前記送信許容量を供給し、
該通信装置は、
前記管理部から供給された前記送信許容量を、前記グループに属する他の通信装置に、要求に応じて供給し、
前記グループに属する他の通信装置のうち、前記グループ内の通信の遅延時間に関する遅延条件及び処理の負荷に関する負荷条件を満たす通信装置に、前記送信許容量の要求処理及び供給処理を引き継ぐことを特徴とするネットワーク管理装置。
【請求項５】
グループごとに分けられ、供給された送信許容量に基づきパケットの送信レートをそれぞれ制御する複数の通信装置と、
前記複数の通信装置を管理するネットワーク管理装置とを有し、
前記複数の通信装置のうち、前記グループごとに選択された通信装置は、
前記ネットワーク管理装置に前記送信許容量を要求し、
該要求に応じて供給された前記送信許容量を、前記グループに属する他の通信装置に、要求に応じて供給し、
前記グループに属する他の通信装置のうち、前記グループ内の通信の遅延時間に関する遅延条件及び処理の負荷に関する負荷条件を満たす通信装置に、前記送信許容量の要求処理及び供給処理を引き継ぐことを特徴とするネットワークシステム。
【請求項６】
前記グループに属する他の通信装置のうち、前記遅延条件を満たすものが存在しない場合、前記負荷条件を満たす通信装置が、前記遅延条件が満たされるように、前記グループに属する少なくとも１つの通信装置を前記グループから除外することを特徴とする請求項５に記載のネットワークシステム。
【請求項７】
前記グループから除外された少なくとも１つの通信装置は、前記遅延条件が満たされる他のグループに加入することを特徴とする請求項６に記載のネットワークシステム。
【請求項８】
前記グループごとに選択された通信装置は、処理の負荷が前記グループ内で最も低いことを特徴とする請求項５乃至７の何れかに記載のネットワークシステム。
【請求項９】
前記グループごとに選択された通信装置は、前記グループ内の通信の最大遅延時間が前記グループ内で最も小さいことを特徴とする請求項５乃至７の何れかに記載のネットワークシステム。
【請求項１０】
前記グループごとに選択された通信装置は、前記グループ内で前記ネットワーク管理装置に最も近いことを特徴とする請求項５乃至７の何れかに記載のネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、通信装置、ネットワーク管理装置、及びネットワークシステムに関する。
【背景技術】
【０００２】
通信需要の増加に伴い、ネットワークを流れるトラフィックの帯域が増加している。ネットワークを運用する通信キャリアは、ユーザに対するサービスの確保及びトラフィックの流入を制限するため、ユーザとの契約ごとにトラフィックの帯域を制御する。
【０００３】
トラフィックの帯域制御は、例えばポリサやシェーパなどにより実現される。ポリサやシェーパは、契約レートに応じて供給されるトークンに基づきパケットの送信レートを制御する。ポリサは、通信装置内のトラフィックの入口側に設けられ、トークンの蓄積量に基づきパケットの通過または廃棄を行うのに対し、シェーパは、トラフィックの出口側に設けられ、トークンの蓄積量に基づいてパケットの送信量を制御する。なお、契約レートは、個人ユーザの場合、世帯単位で設定され、企業ユーザの場合、事業所などの単位で設定される。
【０００４】
帯域制御の一例として、あるネットワーク内に分散したユーザの複数の拠点から出力されたトラフィックの合計レートを、契約レートに制限するものがある。この場合、帯域制御は、複数の拠点からのトラフィックの合流地点のノードで行われる。
【０００５】
しかし、合流地点のノードに到達するまで帯域制御は行われないため、合流地点のノードの手前では契約レートを上回るトラフィックが流れる。このため、帯域制御により廃棄される分のトラフィックによって、拠点と合流地点の間の通信経路の帯域が無駄に使用されてしまう。また、他のネットワーク内の拠点から出力されたトラフィックは、合流地点のノードを通過しないため、帯域制御することができないという問題もある。
【０００６】
これに対し、例えばネットワーク内の各ノードのレート管理を集約して１台の管理装置で行えば（例えば特許文献１）、上述した問題は生じない。この場合、例えば特許文献２のように、トークンの供給によりトラフィックのレートを集中的に管理する集中トークン管理部と、集中トークン管理部から供給されたトークンによりパケットの送信レートを制御する分散ポリシング部とに帯域制御機能を分離すれば、理論上、ネットワーク全体にわたる帯域制御が可能である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−２４３４１９号公報
【特許文献２】特開２０１３−１９７８２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、上記のようにネットワーク全体にわたる帯域制御を行った場合、ネットワーク内の全ノードから１台の管理装置にトークンの要求が集中するため、管理装置における処理の負荷が増加する。また、各ノードと管理装置の間の通信には遅延時間も存在する。
【０００９】
このため、管理装置からのトークンの供給が、各ノードにおけるパケット処理に間に合わずに、パケットの廃棄が発生し、その結果、トラフィックのレートが契約レート未満となり得る。なお、１回に供給されるトークンの量を増やすことによって、トークン供給の頻度を低下させれば、処理の負荷や遅延時間の影響を低減し得るが、トラフィックのバースト性が増加するため、帯域制御の精度が低下するという他の問題が生ずる。
【００１０】
そこで本件は上記の課題に鑑みてなされたものであり、ネットワークを流れるトラフィックの帯域制御の遅延時間を低減する通信装置、ネットワーク管理装置、及びネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本明細書に記載の通信装置は、供給された送信許容量に基づきパケットの送信レートを制御する複数の通信装置のグループに属し、前記複数の通信装置を管理するネットワーク管理装置に前記送信許容量を要求し、該要求に応じて供給された前記送信許容量を、前記グループに属する他の通信装置に、要求に応じて供給する供給部と、前記グループに属する他の通信装置のうち、前記グループ内の通信の遅延時間に関する遅延条件及び処理の負荷に関する負荷条件を満たす通信装置に、前記供給部が行う前記送信許容量の要求処理及び供給処理を引き継ぐ制御部とを有する。
【００１２】
本明細書に記載のネットワーク管理装置は、グループごとに分けられ、供給された送信許容量に基づきパケットの送信レートをそれぞれ制御する複数の通信装置を管理する管理部を有し、前記管理部は、前記複数の通信装置のうち、前記グループごとに選択された通信装置からの要求に応じて該通信装置に前記送信許容量を供給し、該通信装置は、前記管理部から供給された前記送信許容量を、前記グループに属する他の通信装置に、要求に応じて供給し、前記グループに属する他の通信装置のうち、前記グループ内の通信の遅延時間に関する遅延条件及び処理の負荷に関する負荷条件を満たす通信装置に、前記送信許容量の要求処理及び供給処理を引き継ぐ。
【００１３】
本明細書に記載のネットワークシステムは、グループごとに分けられ、供給された送信許容量に基づきパケットの送信レートをそれぞれ制御する複数の通信装置と、前記複数の通信装置を管理するネットワーク管理装置とを有し、前記複数の通信装置のうち、前記グループごとに選択された通信装置は、前記ネットワーク管理装置に前記送信許容量を要求し、該要求に応じて供給された前記送信許容量を、前記グループに属する他の通信装置に、要求に応じて供給し、前記グループに属する他の通信装置のうち、前記グループ内の通信の遅延時間に関する遅延条件及び処理の負荷に関する負荷条件を満たす通信装置に、前記送信許容量の要求処理及び供給処理を引き継ぐ。
【発明の効果】
【００１４】
ネットワークを流れるトラフィックの帯域制御の遅延時間を低減できる。
【図面の簡単な説明】
【００１５】
【図１】比較例の帯域制御方法を示す図である。
【図２】他の比較例の帯域制御方法を示す図である。
【図３】実施例のネットワークシステムを示す構成図である。
【図４】ユーザごとの中間ノードの分担例を示す図である。
【図５】実施例のノードの一例を示す構成図である。
【図６】グループ管理テーブルの一例を示す図である。
【図７】ネットワークシステム内の通信の一例を示すシーケンス図である。
【図８】ノードのグループ変更の動作例を示す図である。
【図９】グループ変更後のネットワークシステムを示す図である。
【図１０】グループ変更の一例を示すシーケンス図である。
【図１１】ネットワーク管理装置の動作例を示すフローチャートである。
【図１２】中間ノードにおけるトークンの要求及び供給の動作例を示すフローチャートである。
【図１３】末端ノードにおけるユーザパケット送信の動作例を示すフローチャートである。
【図１４】中間ノードにおけるトークンの要求処理及び供給処理の引き継ぎ動作の一例を示すフローチャートである。
【図１５】末端ノードにおける引継指示の受信時の動作例を示すフローチャートである。
【図１６】末端ノードにおけるグループ変更指示の受信時の動作例を示すフローチャートである。
【図１７】中間ノードにおける他グループの末端ノードのグループ加入の動作例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
図１には、比較例の帯域制御方法が示されている。本例において、下位側のネットワークＮＷｂにはノード＃１、＃２、＃４が接続され、上位側のネットワークＮＷａにはノード＃３、＃４が接続されている。ノード＃４は、上位側のネットワークＮＷａ及び下位側のネットワークＮＷｂの両方に接続されている。
【００１７】
各ノード＃１〜＃４には、一例として、トラフィックの通信経路を制御するルータなどの通信装置が設けられている。ノード＃１〜＃３の通信装置は、ユーザの拠点＃１〜＃３からトラフィックがそれぞれ入力される。なお、拠点＃１〜＃３としては、例えばユーザのオフィスが挙げられる。
【００１８】
ノード＃１及び＃２のトラフィックは、下位側のネットワークＮＷｂを流れてノード＃４で合流する。本例において、ノード＃１及び＃２のトラフィックの帯域は、それぞれ、５０（Mbps）及び９０（Mbps）とする。また、ノード＃３のトラフィックは、ノード＃４を通過することなく（×印参照）、上位側のネットワークＮＷａを流れる。
【００１９】
本例の帯域制御では、下流側のネットワークＮＷｂ内の拠点＃１及び＃２から出力されたトラフィックの合計レートが、契約レートである１００（Mbps）に制限される。帯域制御は、拠点＃１及び＃２からのトラフィックの合流地点のノード＃４で行われる。帯域制御は、契約レートに応じて供給されるトークンに基づきパケットの送信レートを制御することにより行われる。ここで、トークンの量は、パケットの送信許容量の一例である。ノード＃４では、帯域制御により４０（Mbps）（＝５０＋９０−１００）分のトラフィックが廃棄される。
【００２０】
しかし、合流地点のノード＃４に到達するまで帯域制御は行われないため、合流地点のノード＃４の手前では契約レートを上回るトラフィックが流れる。このため、帯域制御により廃棄される分のトラフィック（本例では４０（Mbps））によって、拠点＃１及び＃２と合流地点の間の通信経路の帯域が無駄に使用されてしまう。また、上位側のネットワークＮＷａ内の拠点から出力されたトラフィックは、合流地点のノード＃４を通過しないため、帯域制御することができない。
【００２１】
図２には他の比較例の帯域制御方法が示されている。図２において、図１と共通する構成については、同一の符号または名称を付し、その説明を省略する。本例において、拠点＃１〜＃３のトラフィックは、それぞれ、５０（Mbps）、９０（Mbps）、及び５０（Mbps）であるとする。
【００２２】
本例では、１台のネットワーク（ＮＷ）管理装置９が、ノード＃１〜＃３の通信装置を通過するトラフィックのレートを集約して管理する。なお、ネットワーク管理装置９は、各ノード＃１〜＃４の通信装置の監視制御を行うものである。ネットワーク管理装置９は、ノード＃１〜＃３の通信装置からの要求に応じトークンを各通信装置に供給する。
【００２３】
これにより、例えば、ノード＃１において、拠点＃１のトラフィックの帯域（５０（Mbps））を、２０（Mbps）分だけ廃棄して３０（Mbps）に制御し、ノード＃２において、拠点＃２のトラフィックの帯域（９０（Mbps））を、５０（Mbps）分だけ廃棄して４０（Mbps）に制御することができる。このため、合流地点のノード＃４に入力されるトラフィックの帯域は、７０（Mbps）（＝３０＋４０）に制限される。
【００２４】
また、ノード＃３においても、拠点＃３のトラフィックの帯域（５０（Mbps））を、２０（Mbps）分だけ廃棄して３０（Mbps）に制御することができる。したがって、上位側のネットワークＮＷａを流れるノード＃３とノード＃４のトラフィックの帯域は、１００（Mbps）（＝３０＋７０）に制限される。
【００２５】
このように、帯域制御機能を、トークンを管理するネットワーク管理装置９と、トークンに基づきパケットの送信レートを制御するノード＃１〜＃３に分離すれば、理論上、ネットワークＮＷａ，ＮＷｂ全体にわたる帯域制御が可能である。
【００２６】
しかし、ネットワークＮＷａ，ＮＷｂ全体にわたる帯域制御を行った場合、ネットワークＮＷａ，ＮＷｂ内の全ノードから１台のネットワーク管理装置９にトークンの要求が集中するため、ネットワーク管理装置９における処理の負荷が増加する（「高負荷」参照）。また、各ノード＃１〜＃３とネットワーク管理装置９の間の通信には遅延時間も存在する（「遅延」参照）。
【００２７】
このため、ネットワーク管理装置９からのトークンの供給が、各ノード＃１〜＃３におけるパケット処理に間に合わずに、パケットの廃棄が発生し、その結果、トラフィックのレートが契約レート未満となり得る。
【００２８】
そこで、実施例のネットワークシステムでは、ノードをグループ化して、グループごとに選択された１つのノード（以下、「中間ノード」と表記）からネットワーク管理装置にトークンを要求し、その中間ノードからグループ内の他のノード（以下、「末端ノード」と表記）にトークンを供給する。すなわち、１つの中間ノードとその他の末端ノードに階層化されたグループを構成することで、ネットワーク管理装置の負荷を抑える。
【００２９】
図３は、実施例のネットワークシステムを示す構成図である。ネットワークシステムは、ネットワーク管理装置８と、複数のグループ＃１、＃２に分けられた中間ノード１及び末端ノード２とを有する。
【００３０】
グループ＃１には、中間ノード（＃１）１、末端ノード（＃２）２、及び末端ノード（＃３）２が属し、グループ＃２には、中間ノード（＃４）１、末端ノード（＃５）２、及び末端ノード（＃６）２が属する。なお、以降の説明において、中間ノード１及び末端ノード２とは、そのノードに設けられた通信装置を指し、その構成に差異はないものとする。
【００３１】
本例のネットワークシステムは、階層化されており、各グループ＃１、＃２では末端ノード２が中間ノード１にトークンを要求し、中間ノード１がネットワーク管理装置８にトークンを要求する。中間ノード１は、グループ＃１、＃２ごとに選択され、ネットワーク管理装置８から供給されたトークンを、要求に応じグループ＃１、＃２内の末端ノード２に供給する。このため、ネットワーク管理装置８に対するトークンの要求回数が比較例より低減され、その処理の負荷の増加が抑制される。
【００３２】
ネットワーク管理装置８は、各ノード（＃１〜＃６）１，２を管理する管理部８０を有する。管理部８０は、中間ノード１からの要求に応じて中間ノード１にトークンを供給する。符号８０ａは、管理部８０の模式的な構成を示す。管理部８０は、トークンを蓄積するメインバケツ７０を有する。メインバケツ７０には、ユーザの契約レートに基づいてトークンが定期的に供給される。管理部８０は、中間ノード１からの要求に応じメインバケツ７０に蓄積されたトークンを供給する。１回のトークンの供給量は、例えば１（Mbyte）である。
【００３３】
また、符号１ａ，２ａは、中間ノード１及び末端ノード２の模式的な構成をそれぞれ示す。中間ノード１は、中間バケツ７１、ミニバケツ７２、及び送信制御部７３を有し、末端ノード２は、ミニバケツ７４及び送信制御部７５を有する。
【００３４】
中間バケツ７１には、要求に応じメインバケツ７０から供給されたトークンが蓄積される。ミニバケツ７２，７４には、要求に応じ中間バケツ７１からトークンがそれぞれ供給され、蓄積される。中間バケツ７１の１回のトークンの供給量は、メインバケツ７０より少なく、例えば２５（Kbyte）である。
【００３５】
送信制御部７３，７５は、例えばポリサやシェーパであり、ミニバケツ７２，７４のトークンをそれぞれ消費してパケット（ＰＫＴ）を送信する。ここで、トークンの消費量は、例えばパケット長分である。これにより、中間ノード１及び末端ノード２は、供給されたトークンの量に基づきパケットの送信レートを制御する。なお、パケットの形態としては、例えばＩＰ（Internet Protocol）パケットが挙げられるが、これに限定されない。
【００３６】
また、上述したように、中間バケツ７１の１回のトークン供給量（２５（Kbyte））は、メインバケツ７０の１回のトークン供給量（１（Mbyte））より少ない。このため、末端ノード２において、必要以上のバーストトラフィックが発生することが防止される。
【００３７】
逆に言えば、メインバケツ７０の１回のトークン供給量は、中間バケツ７１の１回のトークン供給量より多い。このため、中間ノード１からネットワーク管理装置８に対するトークンの要求頻度は、末端ノード２から中間ノード１に対するトークンの要求頻度より少なくなる。
【００３８】
しかし、中間ノード１は、末端ノード２が行う処理に加え、ネットワーク管理装置８にトークンを要求する要求処理、及びトークンの要求に応じ末端ノード２にトークンを供給する供給処理を行う。このため、中間ノード１は、トークンの要求処理及び供給処理の負荷が増加すると、トークンの供給におけるボトルネックとなり得る。
【００３９】
そこで、中間ノード１は、同一グループ＃１、＃２に属する末端ノード２のうち、グループ＃１、＃２内の通信の遅延時間に関する遅延条件及び処理の負荷に関する負荷条件を満たす末端ノード２に、トークンの要求処理及び供給処理を引き継ぐ。遅延条件の一例としては、新たな中間ノード１の候補である末端ノード２と同一グループの他の全ての末端ノード２に対する通信の遅延時間が所定の閾値ｔｈＤより小さいことが挙げられる。また、負荷条件の一例としては、新たな中間ノード１の候補である末端ノード２の処理の負荷が一定値ｔｈＣより小さいことが挙げられる。
【００４０】
図３の例では、グループ＃１の中間ノード（＃１）１の負荷が増加したため（「高負荷」参照）、遅延条件及び負荷条件を満たすグループ＃１の末端ノード（＃３）２にトークンの要求処理及び供給処理が引き継がれる（「引継」参照）。これにより、グループ＃１、＃２内の末端ノード２のうち、低遅延かつ低負荷の末端ノード２が新たな中間ノード１として選択されるため、トークンの要求処理及び供給処理が、引き継ぎ後も適切に継続される。
【００４１】
引き継ぎでは、中間ノード１の中間バケツ７１のトークン蓄積量などの情報が末端ノード（＃３）２に引き継がれる。その後、末端ノード（＃３）２は、グループ＃１の新たな中間ノード１として、トークンの要求処理及び供給処理を開始する。
【００４２】
このように、各グループ＃１、＃２の中間ノード１は、特定のノードに固定されず、その処理の負荷に応じ他のノードに動的に交替が行われる。このため、末端ノード２には、パケットの処理に間に合うように、トークンが供給される。したがって、ネットワークを流れるトラフィックの帯域制御の遅延時間が低減される。なお、中間ノード１の交替の契機は、中間ノード１の処理の負荷が一定値ｔｈＢを超えたときでもよいし、末端ノード２からのトークンの要求に対する中間ノード１の応答時間が一定時間Ｔ以上であるときでもよい。
【００４３】
ネットワークシステムの運用開始時の中間ノード１、つまり初期の中間ノード１は、各種の基準に従って選択される。例えば、初期の中間ノード１は、処理の負荷がグループ＃１、＃２内で最も低いものであってもよい。中間ノード１の交替は、処理の負荷が増加したときに行われるため、最も負荷の低いノードを初期の中間ノード１とすることで、中間ノード１の交替回数を低減することができる。
【００４４】
また、初期の中間ノード１は、グループ＃１、＃２内の通信の最大遅延時間がグループ内＃１、＃２で最も小さいものであってもよい。上述したように、中間ノード１から末端ノード２へのトークンの供給頻度は、ネットワーク管理装置８から中間ノード１へのトークンの供給頻度より多い。このため、グループ＃１、＃２内の通信の最大遅延時間が最も小さいノードを初期の中間ノード１とすることで、末端ノード２へのトークン供給の所要時間を短縮できる。
【００４５】
また、初期の中間ノード１は、グループ＃１、＃２内でネットワーク管理装置８に最も近いものであってもよい。この場合、中間ノード１とネットワーク管理装置８の間の通信の遅延時間を最小とすることができる。このとき、ネットワーク管理装置８が、ネットワーク内のノードの中心付近に位置すれば、中間ノード１と末端ノード２の間の通信の遅延時間も低減され得る。
【００４６】
中間ノード１としては、各ユーザのトラフィックに対して１つのノードだけが選択されてもよいが、送信制御部７３，７５における送信レート制御はトラフィックごとに行われるため、以下の例のようにユーザのトラフィックごとに個別のノードが選択さてもよい。
【００４７】
図４には、ユーザごとの中間ノード１の分担例が示されている。図４において、図３と共通する構成については同一の符号また名称を付し、その説明を省略する。グループ＃１には、ノード＃１〜＃３が属し、ユーザ１〜１０のトラフィックの中間ノード１がノード＃１〜＃３から個別に選択されている。
【００４８】
ノード＃１は、ユーザ１，３，８，９のトラフィックの中間ノード１として選択され、ノード＃２は、ユーザ２，５，１０のトラフィックの中間ノード１として選択されている。また、ノード＃３は、ユーザ４，６，７のトラフィックの中間ノード１として選択されている。
【００４９】
各ノード＃１〜＃３は、ユーザのトラフィックごとにネットワーク管理装置８にトークンを要求する。仮に各ノード＃１〜＃３が全てのユーザのトラフィックについてトークンを要求する場合、その要求回数は、ユーザ数×ノード数（＝１０×３＝３０）となるが、本例の場合、要求回数は、各中間ノード１が分担するユーザ数の合計（＝１０）に減少する。これは、１つの中間ノード１が、全てのユーザのトラフィックについてトークンを要求する場合も同様である。
【００５０】
しかし、本例のように、ユーザのトラフィックごとに中間ノード１を選択すれば、中間ノード１におけるトークンの要求処理及び供給処理を複数のノードに分散できる。これに対し、各ユーザのトラフィックに共通する１つの中間ノード１を選択した場合、グループ＃１内のトークンを中間ノード１で一括して管理できるという利点がある。次に、各ノード１，２の構成を説明する。
【００５１】
図５は、実施例のノード１，２の一例を示す構成図である。ノード１，２は、パケット（ＰＫＴ）分離部１０と、送信制御部１１と、パケット（ＰＫＴ）合流部１２と、中継処理部１３と、トークン管理部１４と、引き継ぎ制御部１５と、遅延測定部１６と、中継メモリ１７と、管理メモリ１８と、グループ管理テーブル１９とを有する。中継処理部１３及びトークン管理部１４は、例えばソフトウェアにより駆動されるＣＰＵ（Central Processing Unit）１００の機能として構成される。
【００５２】
パケット分離部１０は、パケットの種類をパケット内の識別子により識別して、種類に応じた出力先に出力する。より具体的には、パケット分離部１０は、ユーザパケットを送信制御部１１に出力し、トークンの要求量を示す要求パケット、及びトークンの供給量を示す供給パケットを中継処理部１３に出力する。
【００５３】
また、パケット分離部１０は、中間ノード１のトークンの要求処理及び供給処理の引き継ぎを制御するための制御パケットを、引き継ぎ制御部１５に出力する。また、パケット分離部１０は、グループ内の通信の遅延時間または他のグループのノードとの通信の遅延時間を測定するための測定パケットを、遅延測定部１６に出力する。
【００５４】
パケット合流部１２は、各入力元から入力されたユーザパケット、要求パケット、供給パケット、制御パケット、及び測定パケットを合流させ、不図示の出力ポートを介し他ノードへ出力する。中継メモリ１７は、中間ノード１の場合、図３の中間バケツ７１に相当し、ネットワーク管理装置８から供給されたトークンの蓄積量を記録し、末端ノード２の場合、使用されない。管理メモリ１８は、図３のミニバケツ７２，７４に相当し、中間バケツ７１から供給されたトークンの蓄積量を記録する。
【００５５】
また、中継処理部１３は、中間ノード１として動作する場合、末端ノード２から要求パケットを受信したとき、トークン蓄積量≧要求量であれば、その末端ノード２に供給パケットを送信する。一方、トークン蓄積量＜要求量であれば、中継処理部１３は、ネットワーク管理装置８に要求パケットを送信し、ネットワーク管理装置８から受信した供給パケットが示す供給量を、中継メモリ１７に記録されたトークン蓄積量に加算する。
【００５６】
このように、中継処理部１３は、供給部の一例であり、ネットワーク管理装置８の管理部８０にトークンを要求し、その要求に応じて供給されたトークンを、同一グループの末端ノード２に、要求に応じて供給する。なお、中継処理部１３は、末端ノード２として動作する場合、トークン管理部１４とパケット分離部１０またはパケット合流部１２の間で要求パケット及び供給パケットの入出力を仲介する。
【００５７】
また、トークン管理部１４は、末端ノード２として動作する場合、管理メモリ１８のトークン蓄積量が一定の閾値より小さくなると、同一グループの中間ノード１に要求パケットを送信する。トークン管理部１４は、要求パケットに応じて中間ノード１から供給パケットを受信すると、その供給パケットが示す供給量を、管理メモリ１８に記録されたトークン蓄積量に加算する。
【００５８】
このように、トークン管理部１４は、トークン蓄積量が一定の閾値より小さくなると、中間ノード１にトークンを要求する。なお、トークン管理部１４は、中間ノード１として動作する場合、管理メモリ１８のトークン蓄積量が一定の閾値より小さくなると、中継処理部１３に対しトークンを要求し、要求に応じ供給されたトークンの量を、管理メモリ１８に記録されたトークン蓄積量に加算する。
【００５９】
トークン管理部１４は、トークンの要求先の中間ノード１の宛先をグループ管理テーブル１９から取得する。グループ管理テーブル１９は、例えばメモリにより構成され、グループごとの構成とノードごとの送信先が記録されている。
【００６０】
図６にはグループ管理テーブル１９の一例が示されている。グループ管理テーブル１９には、グループの識別子である「グループＩＤ」（＃１、＃２、・・・）、ノードの識別子である「ノードＩＤ」（＃１、＃２、・・・・）と、「中間ノード」情報と、「ＩＰアドレス」とが登録されている。
【００６１】
「中間ノード」情報は、ノードＩＤに該当するノードが中間ノード１であるか否かを示す（「○」：中間ノード１、「×」：末端ノード２）。「ＩＰアドレス」は、ノードＩＤに該当するノードのＩＰアドレスを示す。なお、ＩＰアドレスに代えて、ＭＡＣ（Media Access Control）アドレスが登録されてもよい。
【００６２】
グループ管理テーブル１９は、要求パケット、制御パケット、及び測定パケットの送信先を検出するときに参照される。また、グループ管理テーブル１９の内容は、後述するように、グループの構成が変更されたとき、引き継ぎ制御部１５により更新される。
【００６３】
再び図５を参照すると、送信制御部１１は、図３の送信制御部７３，７５に相当し、管理メモリ１８に記録されたトークン蓄積量、つまりミニバケツ７２，７４に供給されたトークン蓄積量に基づきパケットの送信レートを制御する。送信制御部１１は、ミニバケツ７２，７４のトークン蓄積量＞０の場合、ミニバケツ７２，７４のトークンを、ユーザパケットの長さ分だけ消費してパケットを送信する。トークン管理部１４は、パケットが送信された場合、管理メモリ１８に記録されたトークン蓄積量からユーザパケットの長さ分を減算する。また、送信制御部１１は、トークン蓄積量≦０の場合、ユーザパケットを送信せずに、廃棄またはバッファに格納する。
【００６４】
また、トークン管理部１４は、末端ノード２として動作する場合、中間ノード１に対するトークンの要求に対する応答時間を計測する。より具体的には、トークン管理部１４は、要求パケットの送信から供給パケットの受信までに要する応答時間をタイマにより計測する。トークン管理部１４は、計測した応答時間が一定時間Ｔ以上であるとき、その旨を、引き継ぎ制御部１５を介し、制御パケットとして中間ノード１に通知する。なお、この通知を、以下の説明では「供給遅延通知」と表記する。
【００６５】
引き継ぎ制御部１５は、制御部の一例であり、中間ノード１として動作する場合、同一グループに属する他ノードの通信装置うち、上記の遅延条件及び負荷条件を満たすノードの通信装置に、中継処理部１３が行うトークンの要求処理及び供給処理を引き継ぐ。引き継ぎ制御部１５は、引き継ぎが完了すると、中継処理部１３及びトークン管理部１４の動作を中間ノード１の動作から末端ノード２の動作に切り替え、また、グループ管理テーブル１９の「中間ノード」情報を更新する。
【００６６】
引き継ぎ制御部１５は、自装置の処理の負荷を監視し、負荷が一定値ｔｈＢを超えたとき、トークンの要求処理及び供給処理の引き継ぎを行う。より具体的には、引き継ぎ制御部１５は、例えばＣＰＵ１００の使用率を監視する。ＣＰＵ１００の使用率は、自ノード内のユーザパケットの流量、末端ノード２からのトークンの要求の頻度、及びＯＳ（Operating System）などの他の処理により動的に変化する。このため、引き継ぎ制御部１５は、ＣＰＵ１００の使用率から自装置の処理の負荷を監視できる。
【００６７】
このように、引き継ぎ制御部１５は、自装置の処理の負荷を監視することで、容易に引き継ぎのタイミングを検出できる。
【００６８】
また、引き継ぎ制御部１５は、中間ノード１として動作する場合、末端ノード２から供給遅延通知が行われる。供給遅延通知は、上述したように制御パケットとして末端ノード２から中間ノード１へ送信される。引き継ぎ制御部１５は、供給遅延通知を受けたとき、トークンの要求処理及び供給処理の引き継ぎを行う。供給遅延通知がなされたとき、すなわち応答時間が一定時間Ｔ以上である場合、中間ノード１の処理の負荷が増加していることが要因であると考えられる。このため、引き継ぎ制御部１５は、同一グループの末端ノード２による監視結果に基づき、容易に引き継ぎのタイミングを検出できる。
【００６９】
なお、引き継ぎのタイミングの検出は、処理の負荷及び応答時間の少なくとも一方の監視結果に基づき行われてもよい。応答時間だけを監視する場合、末端ノード２から中間ノード１の負荷を監視することになるため、中間ノード１における負荷の監視処理を省くことができる。なお、以下の例では、引き継ぎ制御部１５は、自装置の負荷の監視結果に基づき引き継ぎのタイミングを検出すると仮定する。
【００７０】
中間ノード１の引き継ぎ制御部１５は、例えば負荷が一定値ｔｈＢを超えたとき、引継指示を制御パケットとして同一グループの末端ノード２に送信する。このとき、引き継ぎ制御部１５は、グループ管理テーブル１９から引継指示の送信先を取得する。
【００７１】
一方、末端ノード２の引き継ぎ制御部１５は、引継指示を受けると、自装置の処理の負荷が一定値ｔｈＣより小さい場合、遅延測定部１６にグループ内の通信の遅延時間の測定を指示する。つまり、末端ノード２のうち、上記の負荷条件を満たす末端ノード２が、グループ内の通信の遅延時間を測定する。
【００７２】
遅延測定部１６は、測定の指示を受けると、同一グループの他ノード（中間ノード１及び末端ノード２）に測定パケットを送信する。このとき、遅延測定部１６は、グループ管理テーブル１９から測定パケットの送信先を取得する。測定パケットを受信したノードでは、遅延測定部１６は、測定パケットをその送信元の末端ノード２に折り返す。
【００７３】
送信元の末端ノード２の遅延測定部１６は、測定パケットの往復時間を計測し、その計測値に基づき遅延時間を測定する。測定された遅延時間は、引き継ぎ制御部１５に通知される。引き継ぎ制御部１５は、グループ内の全ノードとの間の遅延時間が閾値ｔｈＤより小さい場合、引継指示に対する応答を、制御パケットとして中間ノード１に送信する。つまり、末端ノード２のうち、上記の負荷条件及び遅延条件を満たす末端ノード２が、引継指示に対し、中間ノード１の候補となり得る旨を応答する。
【００７４】
中間ノード１の引き継ぎ制御部１５は、末端ノード２から引継指示に対する応答を受けると、中継メモリ１７に記録されたトークン蓄積量を含む引継情報を、応答元の末端ノード２に制御パケットとして送信する。このとき、複数の応答元の末端ノード２が存在する場合、引き継ぎ制御部１５は、１つの末端ノード２を選択して、選択した末端ノード２に引継情報を送信する。
【００７５】
その後、引き継ぎ制御部１５は、引継完了通知を同一グループの各末端ノード２に送信する。一方、引継情報を受信した末端ノード２の引き継ぎ制御部１５は、引継情報を中継メモリ１７などに展開し、中間ノード１としての動作を開始する。以下に、上記の構成の通信装置を含むネットワークシステムの通信シーケンスを説明する。
【００７６】
図７は、ネットワークシステム内の通信の一例を示すシーケンス図である。本例では、図３に示されたグループ＃２の構成を挙げる。なお、図７において、符号ＰＡは中間ノード１の交替前の期間を示し、符号ＰＢは中間ノード１の交替中の期間を示し、符号ＰＣは中間ノード１の交替後の期間を示す。
【００７７】
中間ノード１の交替前の期間ＰＡにおいて、末端ノード２であるノード＃５、＃６は、中間ノード１であるノード＃４にトークンを要求して供給を受ける。中間ノード１は、中継メモリ１７が示すトークン蓄積量が所定値ｔｈＡを下回ると（符号Ｓ１参照）、ネットワーク管理装置８にトークンを要求して供給を受ける。
【００７８】
中間ノード１の交替中の期間ＰＢにおいて、中間ノード１は、自装置の処理の負荷が一定値ｔｈＢ（例えば７０％）を超えたことを検出すると（符号Ｓ２参照）、引継指示を末端ノード（＃５、＃６）２に送信する。末端ノード（＃６）２は、処理の負荷が一定値ｔｈＣ（例えば５０％）以上であるため（符号Ｓ４参照）、負荷条件を満たさない。このため、末端ノード（＃６）２は、遅延測定を行わず、引継指示に対して応答しない。
【００７９】
一方、末端ノード（＃５）２は、処理の負荷が一定値ｔｈＣより小さいため（符号Ｓ３参照）、負荷条件を満たす。このため、末端ノード（＃５）２は、測定パケットを中間ノード（＃４）１及び末端ノード（＃６）２に送信して、中間ノード（＃４）１及び末端ノード（＃６）２との間の通信の遅延時間を測定する。
【００８０】
末端ノード（＃５）２は、遅延測定の結果、中間ノード（＃４）１との間の通信の遅延時間、及び末端ノード（＃６）２との間の通信の遅延時間の両方が閾値ｔｈＤより小さいと判定したため（符号Ｓ５参照）、引継指示に対する応答を中間ノード（＃４）１及び末端ノード（＃６）２に送信する。つまり、末端ノード（＃５）２は、上記の負荷条件だけでなく、上記の遅延条件も満たすため、中間ノード１の候補として引継指示に応答する。
【００８１】
中間ノード１は、末端ノード（＃５）２から応答を受けると、末端ノード（＃５）２に引継情報を送信し、さらに引継完了通知を末端ノード（＃５、＃６）２に送信する。その後、ノード＃４は末端ノード２として動作を開始し、ノード＃５は中間ノード１として動作を開始する。
【００８２】
ただし、ノード＃４は、引き継ぎの完了後もトークンの要求を受け得るため、一定期間だけ、ノード＃５とともに中間ノード１として動作する。ノード＃４は、引き継ぎの完了後にトークンの要求を受けると、完了直前のトークン蓄積量に基づきトークンを供給し、その供給量を新たな中間ノード１であるノード＃５に通知する。ノード＃５は、通知された供給量を、中継メモリ１７が示すトークン蓄積量から減算する。これにより、トークン蓄積量の正確性が担保される。
【００８３】
中間ノード１の交替後の期間ＰＣにおいて、末端ノード２であるノード＃４、＃６は、中間ノード１であるノード＃５にトークンを要求して供給を受ける。中間ノード１は、ネットワーク管理装置８にトークンを要求して供給を受ける。このようにして、グループ＃２内の通信は行われる。
【００８４】
また、中間ノード１から引き継ぎ指示が送信されたとき、遅延条件及び負荷条件の両方を満たす末端ノード２が存在しない場合が考えられる。例えば、ネットワークが広範囲のノードを含む場合、負荷条件は満たすが、遅延条件を満たさない末端ノード２が考えられる。この場合、以下の例のように、負荷条件を満たす末端ノード２が、遅延条件を満たすための障害となる末端ノード２をグループから除外してもよい。
【００８５】
図８にはノードのグループ変更の動作例が示されている。本例において、グループ＃１にはノード＃１〜＃５が属し、ノード＃４が中間ノード１である。また、グループ＃２にはノード＃６〜＃１０が属し、ノード＃７が中間ノード１である。以下に、グループ変更の一例として、グループ＃２のノード＃６がグループ＃１にグループ変更する動作を説明する。
【００８６】
グループ＃２の中間ノード（＃７）１の処理の負荷が一定値ｔｈＢを超えた場合（「高負荷」参照）、中間ノード（＃７）１からグループ＃２の各末端ノード（＃６、＃８〜＃１０）２に引継指示が送信される。負荷条件を満たす末端ノード（＃１０）２は（「低負荷」参照）、他のノード＃６〜＃９に測定パケットを送信する。遅延測定の結果、末端ノード（＃６）２との通信の遅延時間だけが閾値ｔｈＤ以上であった場合、末端ノード（＃１０）２は、末端ノード（＃６）２にグループ変更指示を送信する。
【００８７】
末端ノード（＃６）２は、グループ変更指示を受けると、自己のグループ＃１に隣接するグループ＃１の各ノード＃１〜＃５との通信の遅延時間を測定する。なお、図８においては、中間ノード（＃４）１及び末端ノード（＃５）２に対する遅延時間の測定のみが示されている（「遅延測定」参照）。
【００８８】
遅延測定の結果、グループ＃１の全てのノード＃１〜＃５との通信の遅延時間が閾値ｔｈＤであった場合、末端ノード（＃６）２は、グループ＃１への所属変更が可能である旨をグループ変更通知により末端ノード（＃１０）２及び中間ノード（＃７）１に通知する。中間ノード（＃７）１は、グループ変更通知に応じて末端ノード（＃６）２に関する引継情報を、所属変更先の中間ノード（＃４）１に送信する。これにより、末端ノード（＃６）２は、グループ＃２からグループ＃１に所属変更する。つまり、末端ノード（＃６）２は、グループ＃１に加入する。
【００８９】
図９にはグループ変更後のネットワークシステムが示されている。グループ＃２では、ノード＃１０が、ノード＃７に代わり中間ノード１として動作する。また、ノード＃６は、グループ＃２からグループ＃１に所属変更している。
【００９０】
このように、本例では、グループ＃２に属する末端ノード２のうち、遅延条件を満たすものが存在しない場合、負荷条件を満たす末端ノード（＃１０）２が、遅延条件が満たされるように、グループ＃２に属する末端ノード（＃６）２をグループから除外する。このため、遅延条件を満たす末端ノード２が存在しない場合でも、中間ノード１の交替が可能である。なお、グループから除外される末端ノード２は、本例とは異なり、複数台であってもよい。
【００９１】
また、グループ＃２から除外された末端ノード（＃６）２は、遅延条件が満たされる他のグループ＃１に加入する。このため、末端ノード（＃６）２は、加入先のグループ＃１内の中間ノード（＃４）１からトークン供給を受けて帯域制御を継続することができる。
【００９２】
図１０は、上記のグループ変更の例を示すシーケンス図である。図１０には、図７の期間ＰＡ〜ＰＣのうち、中間ノード１の交替中の期間ＰＢのみが示されており、符号ＰＤは、中間ノード１の交替中の期間ＰＢのうち、グループ変更の期間を示す。
【００９３】
グループ＃２の中間ノード（＃７）１は、自装置の処理の負荷が一定値ｔｈＢを超えたことを検出すると（符号Ｓ１１参照）、引継指示を末端ノード（＃６、＃１０）２に送信する。末端ノード（＃１０）２は、処理の負荷が一定値ｔｈＣより小さいため（符号Ｓ１２参照）、負荷条件を満たす。このため、末端ノード（＃１０）２は、測定パケットを中間ノード（＃７）１及び末端ノード（＃６）２に送信して、中間ノード（＃７）１及び末端ノード（＃６）２との間の通信の遅延時間を測定する。
【００９４】
末端ノード（＃１０）２は、遅延測定の結果、中間ノード（＃７）１との間の通信の遅延時間は閾値ｔｈＤより小さいが、末端ノード（＃６）２との間の通信の遅延時間が閾値ｔｈＤ以上であると判定する（符号Ｓ１３参照）。なお、他の末端ノード（＃８、＃９）２の遅延時間は閾値ｔｈＤより小さいと仮定する。
【００９５】
グループ変更の期間ＰＤにおいて、末端ノード（＃１０）２は、遅延時間が閾値ｔｈＤ以上である末端ノード（＃６）２にグループ変更指示を送信する。末端ノード（＃６）２は、グループ変更指示を受けると、隣接するグループ＃１の中間ノード（＃４）１及び不図示の末端ノード（＃１〜＃３、＃５）２に測定パケットを送信する。これにより、末端ノード（＃６）２は、グループ＃１において遅延条件を満たすか否かを判定する。
【００９６】
末端ノード（＃６）２は、遅延測定の結果、グループ＃１の全てのノード＃１〜＃５に対する遅延時間が閾値ｔｈＤより小さいと判定する（符号Ｓ１４参照）。次に、末端ノード（＃６）２は、グループ＃１への所属変更が可能であることを通知するため、グループ＃１の中間ノード（＃４）１、グループ＃２の中間ノード（＃７）１、及び末端ノード（＃１０）２にグループ変更通知を送信する。
【００９７】
グループ＃２の中間ノード（＃７）１は、ノード＃４のトークン蓄積量を含む引継情報を、所属変更先のグループ＃１の中間ノード（＃４）１に送信する。このため、末端ノード（＃６）２は、直前のトークン蓄積量などを引き継いだ状態で帯域制御を継続できる。
【００９８】
グループ＃１の中間ノード（＃４）１は、引継情報を受けると、自装置の中継メモリ１７などに反映し、また、ノード＃６の所属変更に伴いグループ管理テーブル１９を更新する。中間ノード（＃４）１は、ノード＃６の加入完了通知をグループ＃２の中間ノード（＃７）１及び末端ノード（＃６）２に送信する。
【００９９】
次に、末端ノード（＃１０）２は、引継指示の応答を中間ノード（＃７）１に送信する。中間ノード（＃７）１は、引継情報を末端ノード（＃１０）２に送信し、その後、引継完了通知を末端ノード（＃１０）２に送信する。このようにして、グループ変更は行われる。
【０１００】
このようなグループ変更を行うことにより、ノード＃６のように、中間ノード１の候補となり得るノード数を増加させることができる。例えば、図４を参照して述べたように、ユーザのトラフィックごとに中間ノード１が選択される場合、中間ノード１の候補数の増加が、収容可能なユーザのトラフィック数の増加に直結する。
【０１０１】
例えば、図８及び図９の例において、グループ＃２のノード＃７〜＃９が、それぞれ、中間ノード１として、３つのユーザのトラフィックを収容しており、各ノード＃７〜＃９処理の負荷が上限値の８０（％）に達していると仮定する。このとき、ノード＃１０を中間ノード１として追加すると、新たに３つのユーザのトラフィックを収容できるため、トラフィックの収容率が３３（％）も改善される。
【０１０２】
なお、上述した例において、ノード＃６はグループ変更を行ったが、これに限定されない。ノード＃６は、例えば遅延条件が満たされる他のグループが存在しない場合、独立して新たなグループを構成してもよい。ただし、グループ数が増加すると、ネットワーク管理装置８の負荷も増加するため、グループ数の上限数が設定されると好ましい。
【０１０３】
次に、ネットワーク管理装置８、中間ノード１、及び末端ノード２の動作をフローチャートにより説明する。
【０１０４】
図１１は、ネットワーク管理装置８の動作例を示すフローチャートである。本動作は、例えば周期的に行われる。
【０１０５】
ネットワーク管理装置８の管理部８０は、トークンの供給周期が到来したか否かを判定する（ステップＳｔ１１）。管理部８０は、トークンの供給周期が到来した場合（ステップＳｔ１１のＹｅｓ）、メインバケツ７０のトークン蓄積量を一定量だけ加算する（ステップＳｔ１２）。また、管理部８０は、トークンの供給周期が到来していない場合（ステップＳｔ１１のＮｏ）、ステップＳｔ１２の処理を行わない。なお、メインバケツ７０は、メモリなどにより構成される。また、トークンの供給周期は、例えばタイマにより検出される。
【０１０６】
次に、管理部８０は、中間ノード１からのトークンの要求（要求パケット）の有無を判定する（ステップＳｔ１３）。管理部８０は、トークンの要求がない場合（ステップＳｔ１３のＮｏ）、動作を終了する。また、管理部８０は、トークンの要求を受けた場合（ステップＳｔ１３のＹｅｓ）、その要求量とトークン蓄積量を比較する（ステップＳｔ１４）。なお、要求量は例えば１（Mbyte）である。
【０１０７】
管理部８０は、トークン蓄積量＜要求量の場合（ステップＳｔ１４のＮｏ）、動作を終了する。また、管理部８０は、トークン蓄積量≧要求量の場合（ステップＳｔ１４のＹｅｓ）、供給パケットを中間ノード１に送信することにより、要求に応じ中間ノード１にトークンを供給する（ステップＳｔ１５）。
【０１０８】
次に、管理部８０は、トークン蓄積量からトークンの供給量（例えば１（Mbyte））を減算して（ステップＳｔ１６）、動作を終了する。このようにして、ネットワーク管理装置８は動作する。
【０１０９】
図１２は、中間ノード１におけるトークンの要求及び供給の動作例を示すフローチャートである。本動作は、例えば周期的に行われる。
【０１１０】
中間ノード１の中継処理部１３は、末端ノード２からのトークンの要求（要求パケット）の有無を判定する（ステップＳｔ１）。中継処理部１３は、トークンの要求がない場合（ステップＳｔ１のＮｏ）、動作を終了する。また、中継処理部１３は、トークンの要求を受けた場合（ステップＳｔ１のＹｅｓ）、その要求量と中継メモリ１７、つまり中間バケツ７１のトークン蓄積量を比較する（ステップＳｔ２）。なお、要求量は例えば２５（Kbyte）である。
【０１１１】
中継処理部１３は、トークン蓄積量≧要求量の場合（ステップＳｔ２のＹｅｓ）、供給パケットを末端ノード２に送信することにより、要求に応じ末端ノード２にトークンを供給する（ステップＳｔ３）。次に、管理部８０は、トークン蓄積量からトークンの供給量（例えば２５（Kbyte））を減算する（ステップＳｔ４）。また、中継処理部１３は、トークン蓄積量＜要求量の場合（ステップＳｔ２のＮｏ）、ステップＳｔ３及びＳｔ４の処理を行わない。
【０１１２】
次に、中継処理部１３は、トークン蓄積量と所定値ｔｈＡを比較する（ステップＳｔ５）。中継処理部１３は、トークン蓄積量＜ｔｈＡの場合（ステップＳｔ５のＹｅｓ）、要求パケットの送信によりネットワーク管理装置８にトークンを要求し（ステップＳｔ６）、動作を終了する。また、中継処理部１３は、トークン蓄積量≧ｔｈＡの場合（ステップＳｔ５のＮｏ）、ステップＳｔ６の処理を行わずに、動作を終了する。このようにして、中間ノード１におけるトークンの要求及び供給は行われる。
【０１１３】
図１３は、末端ノード２におけるユーザパケット送信の動作例を示すフローチャートである。本動作は、例えば周期的に行われる。
【０１１４】
送信制御部１１は、ユーザパケットの入力の有無を判定する（ステップＳｔ２１）。送信制御部１１は、ユーザパケットが入力された場合（ステップＳｔ２１のＹｅｓ）、トークン管理部１４により、ミニバケツ７２，７４、つまり管理メモリ１８のトークン蓄積量が０以上であるか否かを判定する（ステップＳｔ２２）。
【０１１５】
送信制御部１１は、トークン蓄積量＞０の場合（ステップＳｔ２２のＹｅｓ）、ユーザパケットを送信する（ステップＳｔ２３）。次に、トークン管理部１４は、トークン蓄積量からユーザパケットの長さ分を減算する（ステップＳｔ２４）。
【０１１６】
このように、送信制御部１１は、トークン蓄積量が０以上である場合、ユーザパケットの長さ分のトークンを消費してユーザパケットを送信する。このため、ユーザパケットの送信レートが、トークン蓄積量に基づき制御される。なお、送信制御部１１は、トークン蓄積量がユーザパケットの長さ以上である場合、ユーザパケットを送信してもよい。
【０１１７】
また、送信制御部１１は、ユーザパケットが入力されていない場合（ステップＳｔ２１のＮｏ）、ステップＳｔ２２〜Ｓｔ２４の処理を行わず、トークン蓄積量≦０の場合（ステップＳｔ２２のＮｏ）、ステップＳｔ２３及びＳｔ２４の処理を行わない。
【０１１８】
次に、トークン管理部１４は、管理メモリ１８のトークン蓄積量と所定の閾値Ｂを比較する（ステップＳｔ２５）。トークン管理部１４は、トークン蓄積量≧Ｂの場合（ステップＳｔ２５のＮｏ）、動作を終了する。また、トークン管理部１４は、トークン蓄積量＜Ｂの場合（ステップＳｔ２５のＹｅｓ）、中継処理部１３を介して、中間ノード１に要求パケットを送信することによりトークンを要求する（ステップＳｔ２６）。このとき、トークン管理部１４は、グループ管理テーブル１９から中間ノード１のＩＰアドレスを送信先として取得する。
【０１１９】
次に、トークン管理部１４は、その要求に対する中間ノード１の応答時間を測定するため、タイマをスタートする（ステップＳｔ２７）。次に、トークン管理部１４は、その要求に応じたトークン供給の有無を判定する（ステップＳｔ２８）。トークン管理部１４は、トークン供給がない場合（ステップＳｔ２８のＮｏ）、再びステップＳｔ２８の判定処理を行う。また、トークン管理部１４は、トークンが供給された場合（ステップＳｔ２８のＹｅｓ）、タイマをストップする（ステップＳｔ２９）。これにより、中間ノード１の応答時間が測定される。
【０１２０】
次に、トークン管理部１４は、供給パケットにより供給されたトークンの量をトークン蓄積量に加算する（ステップＳｔ３０）。次に、トークン管理部１４は、測定した応答時間と一定時間Ｔを比較する（ステップＳｔ３１）。トークン管理部１４は、応答時間≧Ｔの場合（ステップＳｔ３１のＹｅｓ）、中継処理部１３を介し、供給遅延通知を中間ノード１に送信し（ステップＳｔ３２）、動作を終了する。これにより、中間ノード１は、容易に引き継ぎのタイミングを検出できる。
【０１２１】
また、トークン管理部１４は、応答時間＜Ｔの場合（ステップＳｔ３１のＮｏ）、動作を終了する。このようにして、末端ノード２におけるユーザパケット送信は行われる。
【０１２２】
図１４は、中間ノード１におけるトークンの要求処理及び供給処理の引き継ぎ動作の一例を示すフローチャートである。本動作は、例えば周期的に行われる。
【０１２３】
引き継ぎ制御部１５は、ＣＰＵ１００の負荷を検出し（ステップＳｔ４１）、負荷と一定値ｔｈＢを比較する（ステップＳｔ４２）。引き継ぎ制御部１５は、負荷＞ｔｈＢの場合（ステップＳｔ４２のＹｅｓ）、同一グループの各末端ノード２に引継指示を送信する（ステップＳｔ４３）。このとき、引き継ぎ制御部１５は、グループ管理テーブル１９から引継指示の送信先を取得する。
【０１２４】
また、引き継ぎ制御部１５は、負荷≦ｔｈＢの場合（ステップＳｔ４２のＮｏ）、末端ノード２からの供給遅延通知の有無を判定する（ステップＳｔ５１）。引き継ぎ制御部１５は、供給遅延通知がない場合（ステップＳｔ５１のＮｏ）、動作を終了する。また、引き継ぎ制御部１５は、供給遅延通知を受けた場合（ステップＳｔ５１のＹｅｓ）、ステップＳｔ４３の処理を行う。なお、引き継ぎ制御部１５は、ステップＳｔ４２及びステップＳｔ５１の一方の判定処理だけを行ってもよい。
【０１２５】
次に、引き継ぎ制御部１５は、グループ変更通知の有無を判定する（ステップＳｔ４４）。引き継ぎ制御部１５は、グループ変更通知を受けた場合（ステップＳｔ４４のＹｅｓ）、グループ管理テーブル１９を更新する（ステップＳｔ５２）。図８〜図１０の例の場合、引き継ぎ制御部１５は、ノード＃６の所属するグループＩＤを＃２から＃１に変更する。
【０１２６】
次に、引き継ぎ制御部１５は、該当するノードの引継情報を変更先のグループの中間ノード１に送信する（ステップＳｔ５３）。図８〜図１０の例の場合、引き継ぎ制御部１５は、ノード＃６の引継情報をグループ＃１の中間ノード（＃４）１に送信する。また、引き継ぎ制御部１５は、グループ変更通知がない場合（ステップＳｔ４４のＮｏ）、ステップＳｔ５２及びＳｔ５３の処理を行わない。
【０１２７】
次に、引き継ぎ制御部１５は、末端ノード２からの引継指示の応答の有無を判定する（ステップＳｔ４５）。引き継ぎ制御部１５は、応答がない場合（ステップＳｔ４５のＮｏ）、動作を終了する。また、引き継ぎ制御部１５は、応答を受けた場合（ステップＳｔ４５のＹｅｓ）、複数の末端ノード２から応答を受けたか否かを判定する（ステップＳｔ４６）。
【０１２８】
引き継ぎ制御部１５は、複数の末端ノード２から応答を受けた場合（ステップＳｔ４６のＹｅｓ）、応答元の末端ノード２から引き継ぎ対象の末端ノード２を選択する（ステップＳｔ４７）。このとき、引き継ぎ制御部１５は、一例として、応答を受けた時間が最も早い末端ノード２を選択する。また、引き継ぎ制御部１５は、１つの末端ノード２のみから応答を受けた場合（ステップＳｔ４６のＮｏ）、ステップＳｔ４７の処理を行わない。
【０１２９】
次に、引き継ぎ制御部１５は、引き継ぎ対象の末端ノード２に引継情報を送信する（ステップＳｔ５４）。次に、引き継ぎ制御部１５は、引継完了通知を同一グループの各末端ノード２に送信する（ステップＳｔ５５）。このようにして、中間ノード１におけるトークンの要求処理及び供給処理の引き継ぎ動作は行われる。
【０１３０】
図１５は、末端ノード２における引継指示の受信時の動作例を示すフローチャートである。本動作は、例えば周期的に行われる。
【０１３１】
引き継ぎ制御部１５は、中間ノード１からの引継指示の有無を判定する（ステップＳｔ６０）。引き継ぎ制御部１５は、引継指示がない場合（ステップＳｔ６０のＮｏ）、動作を終了する。また、引き継ぎ制御部１５は、引継指示を受けた場合（ステップＳｔ６０のＹｅｓ）、ＣＰＵ１００の負荷を検出する（ステップＳｔ６１）。
【０１３２】
次に、引き継ぎ制御部１５は、検出した負荷と一定値ｔｈＣを比較する（ステップＳｔ６２）。つまり、引き継ぎ制御部１５は、自装置が負荷条件を満たすか否かを判定する。
引き継ぎ制御部１５は、負荷≧ｔｈＣの場合（ステップＳｔ６２のＮｏ）、負荷条件を満たさないと判定して動作を終了する。
【０１３３】
また、負荷＜ｔｈＣの場合（ステップＳｔ６２のＹｅｓ）、つまり負荷条件が満たされる場合、遅延測定部１６は、同一グループの各末端ノード２及び中間ノード１に測定パケットを送信し（ステップＳｔ６３）、末端ノード２ごとに通信の遅延時間を算出する（ステップＳｔ６４）。このとき、遅延測定部１６は、グループ管理テーブル１９から測定パケットの送信先を取得する。算出された遅延時間は、引き継ぎ制御部１５に通知される。
【０１３４】
次に、引き継ぎ制御部１５は、ノードごとに遅延時間と閾値ｔｈＤを比較する（ステップＳｔ６５）。つまり、引き継ぎ制御部１５は、自装置が遅延条件を満たすか否かを判定する。
【０１３５】
引き継ぎ制御部１５は、全てのノードについて遅延時間＜ｔｈＤが成立する場合（ステップＳｔ６５のＹｅｓ）、つまり遅延条件が満たされる場合、中間ノード１に引継指示の応答を送信する（ステップＳｔ６６）。次に、引き継ぎ制御部１５は、中間ノード１から引継情報を受けたか否かを判定する（ステップＳｔ６７）。引き継ぎ制御部１５は、引継情報を受けていない場合（ステップＳｔ６７のＮｏ）、動作を終了する。
【０１３６】
また、引き継ぎ制御部１５は、引継情報を受けた場合（ステップＳｔ６７のＹｅｓ）、引継情報に基づき中継メモリ１７のトークン蓄積量を更新する（ステップＳｔ６８）。次に、引き継ぎ制御部１５は、中継処理部１３に対してトークン要求処理及びトークン供給処理の開始を指示して（ステップＳｔ６９）、動作を終了する。これにより、中継処理部１３は、中間ノード１として動作を開始する。
【０１３７】
また、引き継ぎ制御部１５は、少なくとも１つのノードについて遅延時間≧ｔｈＤが成立する場合（ステップＳｔ６５のＮｏ）、つまり遅延条件が満たされない場合、遅延時間≧ｔｈＤが成立するノードにグループ変更指示を送信する（ステップＳｔ７０）。図８〜図１０の例の場合、引き継ぎ制御部１５は、ノード＃６にグループ変更指示を送信する。このように、引き継ぎ制御部１５は、同一グループに属する他のノードのうち、遅延条件を満たすものが存在しない場合、遅延条件が満たされるように、同一グループに属する少なくとも１つのノードをグループから除外する。
【０１３８】
次に、引き継ぎ制御部１５は、グループ変更指示の送信先のノードからグループ変更通知を受けたか否かを判定する（ステップＳｔ７１）。引き継ぎ制御部１５は、グループ変更通知がない場合（ステップＳｔ７１のＮｏ）、動作を終了する。また、引き継ぎ制御部１５は、グループ変更通知を受けた場合（ステップＳｔ７１のＹｅｓ）、ステップＳｔ６６〜Ｓｔ６９の処理を行って動作を終了する。このようにして、末端ノード２における引継指示の受信時の動作は行われる。
【０１３９】
図１６は、末端ノード２におけるグループ変更指示の受信時の動作例を示すフローチャートである。本動作は、例えば周期的に行われる。なお、本動作は、図８〜図１０の例の場合、ノード＃６において行われる。
【０１４０】
引き継ぎ制御部１５は、他の末端ノード２からのグループ変更指示の有無を判定する（ステップＳｔ９１）。引き継ぎ制御部１５は、グループ変更指示がない場合（ステップＳｔ９１のＮｏ）、動作を終了する。グループ変更指示を受けた場合（ステップＳｔ９１のＹｅｓ）、遅延測定部１６は、他のグループ内の各ノードに測定パケットを送信して（ステップＳｔ９２）、遅延時間を算出する（ステップＳｔ９３）。このとき、遅延測定部１６は、グループ管理テーブル１９から測定パケットの送信先を取得する。算出された遅延時間は、引き継ぎ制御部１５に通知される。
【０１４１】
次に、引き継ぎ制御部１５は、各ノードの遅延時間を閾値ｔｈＤと比較する（ステップＳｔ９４）。つまり、引き継ぎ制御部１５は、他のグループにおいて遅延条件が満たされるか否かを判定する。
【０１４２】
引き継ぎ制御部１５は、全てのノードについて遅延時間＜ｔｈＤが成立する場合（ステップＳｔ９４のＹｅｓ）、つまり遅延条件が満たされる場合、グループ変更指示の受信元の末端ノード２にグループ変更通知を送信して（ステップＳｔ９５）、動作を終了する。これにより、末端ノード２は、グループの所属変更が可能であることを通知する。
【０１４３】
また、引き継ぎ制御部１５は、少なくとも１つのノードについて遅延時間≧ｔｈＤが成立する場合（ステップＳｔ９４のＮｏ）、つまり遅延条件が満たされない場合、動作を終了する。このようにして、末端ノード２におけるグループ変更指示の受信時の動作は行われる。
【０１４４】
図１７は、中間ノード１における他グループの末端ノードのグループ加入の動作例を示すフローチャートである。本動作は、例えば周期的に行われる。なお、本動作は、図８〜図１０の例の場合、グループ＃１のノード＃４において行われる。
【０１４５】
引き継ぎ制御部１５は、他のグループのノードからのグループ変更通知の有無を判定する（ステップＳｔ８１）。このとき、引き継ぎ制御部１５は、グループ変更通知の送信元に基づきグループ管理テーブル１９を参照することにより、その送信元が他のグループであることを判定する。
【０１４６】
引き継ぎ制御部１５は、グループ変更通知がない場合（ステップＳｔ８１のＮｏ）、動作を終了する。また、引き継ぎ制御部１５は、グループ変更通知を受けた場合（ステップＳｔ８１のＹｅｓ）、グループ管理テーブル１９を更新する（ステップＳｔ８２）。図８〜図１０の例の場合、引き継ぎ制御部１５は、ノード＃６のグループＩＤを＃２から＃１に変更する。このように、グループから除外されたノード＃６は、遅延条件が満たされる他のグループ＃１に加入する。
【０１４７】
次に、引き継ぎ制御部１５は、グループ変更通知の送信元のグループの中間ノード１から引継情報を受けたか否かを判定する（ステップＳｔ８３）。引き継ぎ制御部１５は、引継情報を受けていない場合（ステップＳｔ８３のＮｏ）、動作を終了する。
【０１４８】
また、引き継ぎ制御部１５は、引継情報を受けた場合（ステップＳｔ８３のＹｅｓ）、引継情報に基づき中継メモリ１７のトークン蓄積量を更新する（ステップＳｔ８４）。次に、引き継ぎ制御部１５は、グループ変更通知の送信元のグループの中間ノード１及び該当ノードに、該当ノードの加入完了通知を送信する（ステップＳｔ８５）。このとき、引き継ぎ制御部１５は、グループ管理テーブル１９から加入完了通知の送信先を取得する。このようにして、中間ノード１における他グループの末端ノードのグループ加入の動作は行われる。
【０１４９】
なお、中間ノード１としては、例えばパケットを中継するルータなどの中継スイッチが挙げられる。したがって、上述したトラフィックの制御方法を、中継スイッチに実装されたポリサやシェーパに適用することにより、ネットワーク全体にわたって遅延のない帯域制御が実現される。
【０１５０】
また、中間ノード１は、トークンを末端ノード２に中継するものであるため、中継スイッチに限定されず、例えばネットワーク内あるいはクラウド内のサーバであってもよい。この場合、トークンの中継処理を行うＣＰＵ１００は、中継処理専用のものであってもよいし、あるいはファイヤーウォール等の異なる処理を行うプロセッサと兼用のものであってもよい。このような構成は、例えばネットワーク内の中継スイッチの処理性能が全体的に低い場合、または中間ノード１の機能をＮＦＶ（Network Functions Virtualization）の１つのアプリケーションとしてサーバ上のソフトウェアで実現する場合に採用される。
【０１５１】
これまで述べたように、実施例に係る中間ノード１は、通信装置の一例であり、供給されたトークンに基づきパケットの送信レートを制御する複数のノード１，２のグループに属し、中継処理部１３と、引き継ぎ制御部１５とを有する。中継処理部１３は、複数のノードを管理するネットワーク管理装置８にトークンを要求し、その要求に応じて供給されたトークンを、グループに属する他の末端ノード２に、要求に応じて供給する。
【０１５２】
引き継ぎ制御部１５は、グループに属する末端ノード２のうち、グループ内の通信の遅延時間に関する遅延条件及び処理の負荷に関する負荷条件を満たす末端ノード２に、中継処理部１３が行うトークンの要求処理及び供給処理を引き継ぐ。
【０１５３】
上記の構成によると、中継処理部１３は、ネットワーク管理装置８から供給されたトークンを、要求に応じグループ内の末端ノード２に供給する。このため、ネットワーク管理装置８に対するトークンの要求回数が比較例より低減され、その処理の負荷の増加が抑制される。また、引き継ぎ制御部１５は、遅延条件及び負荷条件を満たすグループの末端ノード２にトークンの要求処理及び供給処理を引き継ぐ。これにより、グループ内の末端ノード２のうち、低遅延かつ低負荷の末端ノード２が新たな中間ノード１として選択されるため、トークンの要求処理及び供給処理が、引き継ぎ後も適切に継続される。
【０１５４】
したがって、実施例に係る中間ノード１によると、ネットワークを流れるトラフィックの帯域制御の遅延時間が低減される。
【０１５５】
また、実施例に係るネットワーク管理装置８は、管理部８０を有する。管理部８０は、グループごとに分けられ、供給されたトークンに基づきパケットの送信レートをそれぞれ制御する複数のノード１，２を管理する。また、管理部８０は、複数のノードのうち、グループごとに選択された中間ノード１からの要求に応じて中間ノード１にトークンを供給する。
【０１５６】
中間ノード１は、ネットワーク管理装置８にトークンを要求し、その要求に応じて供給されたトークンを、グループに属する他の末端ノード２に、要求に応じて供給する。また、中間ノード１は、グループに属する末端ノード２のうち、グループ内の通信の遅延時間に関する遅延条件及び処理の負荷に関する負荷条件を満たす末端ノード２に、中継処理部１３が行うトークンの要求処理及び供給処理を引き継ぐ。
【０１５７】
実施例に係るネットワーク管理装置８は、上記の中間ノード１と同様の構成を含むので、上述した内容と同様の作用効果を奏する。
【０１５８】
また、実施例に係るネットワークシステムは、複数のノード１，２と、ネットワーク管理装置８とを有する。複数のノード１，２は、グループごとに分けられ、供給されたトークンに基づきパケットの送信レートをそれぞれ制御する。ネットワーク管理装置８は、複数のノード１，２を管理する。
【０１５９】
複数のノード１、２のうち、グループごとに選択された中間ノード１は、ネットワーク管理装置８にトークンを要求し、その要求に応じて供給されたトークンを、グループに属する他の末端ノード２に、要求に応じて供給する。また、中間ノード１は、グループに属する末端ノード２のうち、グループ内の通信の遅延時間に関する遅延条件及び処理の負荷に関する負荷条件を満たす末端ノード２に、中継処理部１３が行うトークンの要求処理及び供給処理を引き継ぐ。
【０１６０】
実施例に係るネットワークシステムは、上記の中間ノード１と同様の構成を含むので、上述した内容と同様の作用効果を奏する。
【０１６１】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【０１６２】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）  供給された送信許容量に基づきパケットの送信レートを制御する複数の通信装置のグループに属する通信装置において、
前記複数の通信装置を管理するネットワーク管理装置に前記送信許容量を要求し、該要求に応じて供給された前記送信許容量を、前記グループに属する他の通信装置に、要求に応じて供給する供給部と、
前記グループに属する他の通信装置のうち、前記グループ内の通信の遅延時間に関する遅延条件及び処理の負荷に関する負荷条件を満たす通信装置に、前記供給部が行う前記送信許容量の要求処理及び供給処理を引き継ぐ制御部とを有することを特徴とする通信装置。
（付記２）  前記制御部は、自装置の処理の負荷を監視し、前記負荷が一定値を超えたとき、前記グループに属する他の通信装置のうち、前記遅延条件及び前記負荷条件を満たす通信装置に、前記供給部が行う前記送信許容量の要求処理及び供給処理を引き継ぐことを特徴とする付記１に記載の通信装置。
（付記３）  前記制御部は、前記グループに属する他の通信装置から、前記送信許容量の要求に対する前記供給部の応答時間が一定時間以上であることを通知されたとき、前記グループに属する他の通信装置のうち、前記遅延条件及び前記負荷条件を満たす通信装置に、前記供給部が行う前記送信許容量の要求処理及び供給処理を引き継ぐことを特徴とする付記１または２に記載の通信装置。
（付記４）  グループごとに分けられ、供給された送信許容量に基づきパケットの送信レートをそれぞれ制御する複数の通信装置を管理する管理部を有し、
前記管理部は、前記複数の通信装置のうち、前記グループごとに選択された通信装置からの要求に応じて該通信装置に前記送信許容量を供給し、
該通信装置は、
前記管理部から供給された前記送信許容量を、前記グループに属する他の通信装置に、要求に応じて供給し、
前記グループに属する他の通信装置のうち、前記グループ内の通信の遅延時間に関する遅延条件及び処理の負荷に関する負荷条件を満たす通信装置に、前記送信許容量の要求処理及び供給処理を引き継ぐことを特徴とするネットワーク管理装置。
（付記５）  グループごとに分けられ、供給された送信許容量に基づきパケットの送信レートをそれぞれ制御する複数の通信装置と、
前記複数の通信装置を管理するネットワーク管理装置とを有し、
前記複数の通信装置のうち、前記グループごとに選択された通信装置は、
前記ネットワーク管理装置に前記送信許容量を要求し、
該要求に応じて供給された前記送信許容量を、前記グループに属する他の通信装置に、要求に応じて供給し、
前記グループに属する他の通信装置のうち、前記グループ内の通信の遅延時間に関する遅延条件及び処理の負荷に関する負荷条件を満たす通信装置に、前記送信許容量の要求処理及び供給処理を引き継ぐことを特徴とするネットワークシステム。
（付記６）  前記グループに属する他の通信装置のうち、前記遅延条件を満たすものが存在しない場合、前記負荷条件を満たす通信装置が、前記遅延条件が満たされるように、前記グループに属する少なくとも１つの通信装置を前記グループから除外することを特徴とする付記５に記載のネットワークシステム。
（付記７）  前記グループから除外された少なくとも１つの通信装置は、前記遅延条件が満たされる他のグループに加入することを特徴とする付記６に記載のネットワークシステム。
（付記８）  前記グループごとに選択された通信装置は、処理の負荷が前記グループ内で最も低いことを特徴とする付記５乃至７の何れかに記載のネットワークシステム。
（付記９）  前記グループごとに選択された通信装置は、前記グループ内の通信の最大遅延時間が前記グループ内で最も小さいことを特徴とする付記５乃至７の何れかに記載のネットワークシステム。
（付記１０）  前記グループごとに選択された通信装置は、前記グループ内で前記ネットワーク管理装置に最も近いことを特徴とする付記５乃至７の何れかに記載のネットワークシステム。
（付記１１）  前記グループごとに選択された通信装置は、自装置の処理の負荷を監視し、前記負荷が一定値を超えたとき、前記グループに属する他の通信装置のうち、前記遅延条件及び前記負荷条件を満たす通信装置に、前記供給部が行う前記送信許容量の要求処理及び供給処理を引き継ぐことを特徴とする付記５乃至１０の何れかに記載のネットワークシステム。
（付記１２）  前記グループごとに選択された通信装置は、前記グループに属する他の通信装置から、前記送信許容量の要求に対する前記供給部の応答時間が一定時間以上であることを通知されたとき、前記グループに属する他の通信装置のうち、前記遅延条件及び前記負荷条件を満たす通信装置に、前記供給部が行う前記送信許容量の要求処理及び供給処理を引き継ぐことを特徴とする付記５乃至１１の何れかに記載のネットワークシステム。
【符号の説明】
【０１６３】
１       中間ノード
２       末端ノード
８       ネットワーク管理装置
１３       中継処理部
１４       トークン管理部
１５       引き継ぎ制御部
１６       遅延測定部
８０       管理部
【図１】
2017041808.tif 000003
【図２】
2017041808.tif 000004
【図３】
2017041808.tif 000005
【図４】
2017041808.tif 000006
【図５】
2017041808.tif 000007
【図６】
2017041808.tif 000008
【図７】
2017041808.tif 000009
【図８】
2017041808.tif 000010
【図９】
2017041808.tif 000011
【図１０】
2017041808.tif 000012
【図１１】
2017041808.tif 000013
【図１２】
2017041808.tif 000014
【図１３】
2017041808.tif 000015
【図１４】
2017041808.tif 000016
【図１５】
2017041808.tif 000017
【図１６】
2017041808.tif 000018
【図１７】
2017041808.tif 000019