(57)【要約】【課題】通信経路が変動する環境において２拠点間のパケット転送で発生する通信遅延をある一定の時間範囲以内にする遅延保証通信サービスを、一般的なシェーピング部の機能を流用して実現することができる通信装置、通信システム及びプログラムを提供することを目的とする。【解決手段】本発明に係る通信装置は、入力トラヒック量、通信ネットワークの遅延時間及び要求遅延時間に基づいて、トークンアルゴリズムで実装されたシェーピング部に供給するトークンの供給量をトークン供給関数を用いて動的に制御することとした。【選択図】図１
2019118072.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ装置から入力されたパケットをトークンバケットアルゴリズムで通信ネットワークへ転送するシェーピング機能と、
前記シェーピング機能に供給されるトークンの量を通信フロー毎のトークン供給関数に従って動的に変化させるトークン供給量制御機能と、
を備える通信装置。
【請求項２】
前記トークン供給量制御機能は、
所定期間毎に、前記入力されたパケットの量、前記入力されたパケットの転送先までの前記通信ネットワークの遅延時間、及び前記入力されたパケットの通信フローが保証する通信遅延時間に基づきトークンの量と供給期間を計算し、トークン供給関数の更新を行うことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記トークン供給量制御機能は、
前記トークン供給関数の更新において、
１の所定期間における前記入力されたパケットの量で計算したトークンの１の供給期間と、前記１の所定期間の後の所定期間における前記入力されたパケットの量で計算したトークンの後の供給期間とが重複する場合、前記１の供給期間と前記後の供給期間が重複する期間において、前記１の所定期間における前記入力されたパケットの量で計算したトークンの量に前記後の所定期間における前記入力されたパケットの量で計算したトークンの量を加算することを特徴とする請求項２に記載の通信装置。
【請求項４】
設定されている前記通信ネットワークの遅延時間と前記入力されたパケットの通信フローが保証する通信遅延時間の少なくとも一方をパケット転送中に更新する設定値更新機能をさらに備えることを特徴とする請求項２又は３に記載の通信装置。
【請求項５】
遅延測定パケットを前記通信ネットワークへ送出し、前記遅延測定パケットに対する応答から前記通信ネットワークの遅延時間を更新する通信遅延測定機能をさらに備えることを特徴とする請求項２から４のいずれかに記載の通信装置。
【請求項６】
前記トークン供給量制御機能は、
前記設定値更新機能又は前記通信遅延測定機能が前記通信ネットワークの遅延時間を更新することで、前記入力されたパケットのうち通信フローが保証する通信遅延時間内に転送できないパケットが存在する場合、前記転送できないパケットに相当するトークンの量を算出し、前記トークン供給関数に加算することを特徴とする請求項４又は５に記載の通信装置。
【請求項７】
前記通信遅延時間に上限値と下限値が設定されており、前記下限値が前記通信ネットワークの遅延時間、前記所定期間及び前記トークン供給関数の更新の反映時間の合計より大きい場合、
前記トークン供給量制御機能は、
前記１の供給期間及び前記後の供給期間を前記上限値と前記下限値との差分とするとともに、前記下限値と前記通信ネットワークの遅延時間から待ち時間を決定し、前記待ち時間だけ前記シェーピング機能へのトークンの供給を遅らせる
ことを特徴とする請求項３に記載の通信装置。
【請求項８】
コンピュータを請求項１から７のいずれかに記載の通信装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、２拠点間のパケット転送を行う際に、最短通信遅延と保証したい通信遅延に基づきシェーピング帯域を変化させる遅延保証シェーピング機能を安価に実現する手段を提供することで、通信ネットワーク（ＮＷ；ＮｅｔＷｏｒｋ）負荷を抑えながら通信遅延の保証をユーザに提供する通信装置、通信システム及びプログラムに関するものである。
【背景技術】
【０００２】
近年、ＩＰデータ通信だけではなくＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）／Ｍ２Ｍ（Ｍａｃｈｉｎｅ  ｔｏ  Ｍａｃｈｉｎｅ）、４Ｋ／８Ｋ高精細映像配信サービス、オンラインゲーム等、多種多様なアプリケーションやサービスが急速に普及してきた。特にコンピュータなどの情報／通信機器だけでなく、世の中に存在する様々な「モノ」に通信機能を持たせ、相互に通信を行うことにより、自動認識、自動制御、遠隔計測などを行うＩｏＴの普及は急速に進んでいる。
【０００３】
ＩｏＴの一例として、遠隔値で所定の物理量（電流、電圧、気圧、気温、水量、及び湿度等）を取得し、これらのデータをセンタ側で収集してビッグデータ解析を行い、解析結果に基づき機械の動作を自動的に制御するという通信シーンが考えられている。データ収集と遠隔制御を正確に行うためには、決められた時間内に正しく通信が完了することが非常に重要となる。例えば、データ収集とそれに基づく遠隔制御を５０ｍｓ以内に実施するようなシステムを考えると、長くとも片道の通信遅延を２５ｍｓ以内に抑える必要がある。
【０００４】
一方で、現在のベストエフォート通信サービスにおける２拠点間の通信遅延には大きな揺らぎが発生している。具体的には、通信環境が良好なときは２拠点間のパケット転送で発生する通信遅延が通信経路長や装置のスイッチング処理等で発生する最短通信遅延（輻輳等の変動的な要因による遅延を含まない遅延時間の理想値）とほぼ等しくなっているが、通信環境が劣悪なときは数１００ｍｓレベルの非常に大きな通信遅延が発生したり、時にはパケットロスが発生してしまう。また、通信経路の変更などにより、最短通信遅延が変動する場合もある。このような通信サービスは、前述のＩｏＴにおける通信シーンに適しているとはいえない。したがって、２拠点間のパケット転送で発生する通信遅延を一定時間以内にする通信遅延保証サービスを安価に実現することが求められている。
【０００５】
高信頼かつ低遅延な通信を提供するサービスの一つとして、非特許文献１に示すような帯域制御と優先制御を利用した帯域優先サービスがある。非特許文献１では、ある決められた帯域のパケットに優先クラス情報を付与し、通信ＮＷ内を他のベストエフォート通信よりも優先的に転送させることで、２拠点間のパケット転送で発生する通信遅延を、通信経路長や装置のスイッチング処理、パケット合流等で発生する最短通信遅延のみにすることができる。
【０００６】
帯域優先サービスの拡張として、特許文献１に示すような優先的に利用する帯域を動的に変更する動的優先帯域制御がある。特許文献１では、優先クラスで輻輳が発生してもバッファのキュー長がしきい値を超えた場合に利用できる帯域を拡大することで、２拠点間のパケット転送の低遅延性を維持できる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−３４４５０９号公報
【非特許文献】
【０００８】
【非特許文献１】フレッツ光ネクストプライオサービス内容（ｈｔｔｐｓ：／／ｆｌｅｔｓ．ｃｏｍ／ｎｅｘｔ／ｂｓ／ｐｒｉｏ／）、２０１７年２月２７日検索
【発明の概要】
【発明が解決しようとする課題】
【０００９】
安価な通信サービスを実現するためには、利用ユーザあたりの通信ＮＷへの負荷を小さくすればよい。しかし、先行技術文献の方法では、通信遅延を一定時間以内にしながら、通信ＮＷへの負荷を小さくすることができない。
【００１０】
具体的には、非特許文献１のサービスの場合、優先的に利用できる帯域が制限されているため、通信遅延を一定時間以内にできない可能性がある。たとえば、２０ＫＢのデータを１Ｍｂｐｓの帯域にシェーピングして転送しようとすると、最短通信遅延に加えて、１６０ｍｓもの遅延が新たに発生してしまう。バースト転送を許容し、帯域制限をポリシングで行えば通信遅延を最短通信遅延とほぼ等しくすることが可能となるが、その場合にはバーストトラヒックによる通信ＮＷへの負荷が高まってしまう。
【００１１】
また、特許文献１の機能を利用した場合、優先的に利用する帯域を拡大することができるので通信遅延の増加を抑えることが可能になるが、最短通信遅延に関する考慮がないため、保証したい遅延時間を適切に守る方法がない。例えば、最短通信遅延が１ｍｓで保証したい通信遅延が１５ｍｓであるような通信シーンの場合、１４ｍｓの通信遅延の発生までは許容されているが、輻輳が発生しなければ最短通信遅延で転送するため、本来の要求条件よりもオーバースペックな通信サービスを提供することになってしまい、結果的に通信ＮＷへの負荷が大きなものとなってしまう。
【００１２】
上記の課題を解決するために最短通信遅延と保証したい通信遅延に基づきシェーピング帯域を動的に変化させる動的シェーピング機能を具備することで、通信ＮＷ負荷を抑えながら通信遅延の保証をユーザに提供する方法（例えば、特願２０１７−０４２９６９）も考えられる。しかし、このような動的シェーピング機能は一般的なシェーピング部とは全く異なる動作となることから、当該機能を始めから作り込む必要がある。このため、動的シェーピング機能には、通信遅延保証サービスユーザ専用に当該機能を作り込んだ場合、コストが高価となり、通信遅延保証サービスを安価に実現することができなくなるという第１の課題がある。
【００１３】
また、動的シェーピング機能を採用した場合でも、予め設定した通信遅延に基づき制御を行ってしまうと、通信経路の変更などにより、最短通信遅延が変動する場合、通信遅延保証が実現できなくなるという第２の課題もある。
【００１４】
さらに、動的シェーピング機能は、遅延時間の上限を保証できるものの、遅延時間の下限を保証することはできない。ユーザによってはある程度の通信遅延が前提となっている場合があり、このようなユーザーに対して通信遅延が前提より短いと不具合が発生することがある。すなわち、動的シェーピング機能には、ある程度の通信遅延が前提であるユーザへの対応がなされていないという第３の課題もある。
【００１５】
そこで、本発明は、上記課題を解決するために、通信経路が変動する環境において２拠点間のパケット転送で発生する通信遅延をある一定の時間範囲以内にする遅延保証通信サービスを、一般的なシェーピング部の機能を流用して実現することができる通信装置、通信システム及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、本発明に係る通信装置は、入力トラヒック量、通信ネットワークの遅延時間及び要求遅延時間（通信フローが保証する通信遅延時間）に基づいて、トークンアルゴリズムで実装されたシェーピング部に供給するトークンの供給量をトークン供給関数を用いて動的に制御することとした。
【００１７】
具体的には、本発明に係る通信装置は、ユーザ装置から入力されたパケットをトークンバケットアルゴリズムで通信ネットワークへ転送するシェーピング機能と、前記シェーピング機能に供給されるトークンの量を通信フロー毎のトークン供給関数に従って動的に変化させるトークン供給量制御機能と、を備える。
【００１８】
例えば、本発明に係る通信装置の前記トークン供給量制御機能は、所定期間毎に、前記入力されたパケットの量、前記入力されたパケットの転送先までの前記通信ネットワークの遅延時間、及び前記入力されたパケットの通信フローが保証する通信遅延時間に基づきトークンの量と供給期間を計算し、トークン供給関数の更新を行うことを特徴とする。
【００１９】
本通信装置は、従来のシェーピング機能を利用し、状況に応じてトークンの量を動的に変動させて通信遅延を調整することができる。つまり、本通信装置は、新たに上述したような動的シェーピング機能を造り込む必要が無く、通信遅延保証サービスを安価に実現することができる。従って、本通信装置は、上記第１の課題を解決できる。
【００２０】
本発明に係る通信装置は、入力されるパケット量の変動に対して、次のように対応する。
前記トークン供給量制御機能は、前記トークン供給関数の更新において、
１の所定期間における前記入力されたパケットの量で計算したトークンの１の供給期間と、前記１の所定期間の後の所定期間における前記入力されたパケットの量で計算したトークンの後の供給期間とが重複する場合、前記１の供給期間と前記後の供給期間が重複する期間において、前記１の所定期間における前記入力されたパケットの量で計算したトークンの量に前記後の所定期間における前記入力されたパケットの量で計算したトークンの量を加算することを特徴とする。
【００２１】
なお、本発明に係る通信装置は、設定されている前記通信ネットワークの遅延時間と前記入力されたパケットの通信フローが保証する通信遅延時間の少なくとも一方をパケット転送中に更新する設定値更新機能をさらに備えてもよい。
【００２２】
本発明に係る通信装置は、最短通信遅延の変動に対して、次のように対応する。本通信装置は、遅延測定パケットを前記通信ネットワークへ送出し、前記遅延測定パケットに対する応答から前記通信ネットワークの遅延時間を更新する通信遅延測定機能をさらに備える。そして、前記トークン供給量制御機能は、前記通信遅延測定機能が前記通信ネットワークの遅延時間を更新することで、前記入力されたパケットのうち通信フローが保証する通信遅延時間内に転送できないパケットが存在する場合、前記転送できないパケットに相当するトークンの量を算出し、前記トークン供給関数に加算することを特徴とする。本通信装置は、通信経路の遅延をモニタし、モニタ結果に応じてトークン量を変動させる。従って、本通信装置は、上記第２の課題を解決できる。
【００２３】
本発明に係る通信装置は、ある程度の通信遅延が前提であるユーザに対して、次のように対応する。前記通信遅延時間に上限値と下限値が設定されており、前記下限値が前記通信ネットワークの遅延時間、前記所定期間及び前記トークン供給関数の更新の反映時間の合計より大きい場合、前記トークン供給量制御機能は、
前記１の供給期間及び前記後の供給期間を前記上限値と前記下限値の差分とするとともに、前記下限値と前記通信ネットワークの遅延時間から待ち時間を決定し、前記待ち時間だけ前記シェーピング機能へのトークンの供給を遅らせる。
【００２４】
本通信装置は、ネットワークの遅延時間が要求遅延時間の下限より短い場合、要求遅延時間の上限を超えない範囲で遅延を発生させるようにトークン量を調整する。従って、本通信装置は、上記第３の課題を解決できる。
【００２５】
本発明に係るプログラムは、コンピュータを前記通信装置として機能させるためのプログラムである。本発明に係る通信装置は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
【００２６】
なお、上記各発明は、可能な限り組み合わせることができる。
【発明の効果】
【００２７】
本発明は、通信経路が変動する環境において２拠点間のパケット転送で発生する通信遅延をある一定の時間範囲以内にする遅延保証通信サービスを、一般的なシェーピング部の機能を流用して実現することができる通信装置、通信システム及びプログラムを提供することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明に係る通信システム及び通信装置を説明する図である。
【図２】本発明に係る通信装置が有するフロー情報テーブルを説明する図である。
【図３】本発明に係る通信装置が有するトークン供給動作設定テーブルを説明する図である。
【図４】本発明に係る通信装置が有する遅延情報テーブルを説明する図である。
【図５】本発明に係る通信装置が行う設定処理フローを説明する図である。
【図６】本発明に係る通信装置が行う静的動作設定処理フローを説明する図である。
【図７】本発明に係る通信装置のトークン供給関数計算部が行う通信フロー毎トークン供給関数更新処理フローを説明する図である。
【図８】本発明に係る通信装置のトークン供給部が行う通信フロー毎トークン供給処理フローを説明する図である。
【図９】本発明に係る通信装置の動作を説明する図である。
【図１０】本発明に係る通信装置の動作を説明する図である。
【図１１】本発明に係る通信システム及び通信装置を説明する図である。
【図１２】本発明に係る通信装置が有する遅延測定動作設定テーブルを説明する図である。
【図１３】本発明に係る通信装置が行う設定処理フローを説明する図である。
【図１４】本発明に係る通信装置が行う静的動作設定処理フローを説明する図である。
【図１５】本発明に係る通信装置が行う測定対象装置毎遅延測定パケット送信処理フローを説明する図である。
【図１６】本発明に係る通信装置が行う遅延測定パケット受信処理フローを説明する図である。
【図１７】本発明に係る通信装置が行う測定区間毎遅延測定結果書換処理フローを説明する図である。
【図１８】本発明に係る通信装置の動作を説明する図である。
【図１９】本発明に係る通信装置の動作を説明する図である。
【図２０】本発明に係る通信装置が有する遅延情報テーブルを説明する図である。
【図２１】本発明に係る通信装置が行う通信フロー毎トークン供給関数補正処理フローを説明する図である。
【図２２】本発明に係る通信装置の動作を説明する図である。
【図２３】本発明に係る通信装置の動作を説明する図である。
【図２４】本発明に係る通信装置が有するフロー情報テーブルを説明する図である。
【図２５】本発明に係る通信装置のトークン供給関数計算部が行う通信フロー毎トークン供給関数更新処理フローを説明する図である。
【図２６】本発明に係る通信装置の動作を説明する図である。
【図２７】本発明に係る通信装置の動作を説明する図である。
【図２８】本発明に係る通信装置のトークン供給関数計算部が計算するトークン供給関数を説明するイメージ図である。
【図２９】本発明に係る通信装置のトークン供給関数計算部が計算するトークン供給関数を説明するイメージ図である。
【発明を実施するための形態】
【００２９】
添付の図面を参照して本発明の実施形態を説明する。以下に説明する実施形態は本発明の実施例であり、本発明は、以下の実施形態に制限されるものではない。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
【００３０】
（実施形態１）
図１は、本実施形態の通信システム３０１を説明する構成図である。通信システム３０１は、通信ＮＷ３に接続された通信装置（ユーザ収容装置１）と、前記通信装置を介して、通信ＮＷ３へ送信パケットを送信し、他のユーザ装置２（ｂ、ｃ、ｄ）が送信した送信パケットを通信ＮＷ３から受信するユーザ装置２（ａ）と、を備え、送信パケットのフロー毎にトークンバケットアルゴリズムで実装されたシェーピング部に供給されるトークン量が動的に変動する通信システムである。
【００３１】
通信システム３０１は、一般的な通信装置に具備されているシェーピング機能、トークン供給機能、メータリング機能、及びトークン供給量制御機能のうち、トークン供給量制御機能に動的制御性を持たせることと、トークン供給機能にトークン供給量制御機能の制御に従ってトークンを供給する機能を持たせることの２点の機能追加で実現できる。従って、通信システム３０１は、一般的な通信装置を利用して遅延保証通信サービスを安価に実現することができる。
【００３２】
通信システム３０１は、ユーザ装置２がユーザ収容装置１によって通信ＮＷ３に接続されることによって実現される通信システムである。このような通信システムにおいて、それぞれのユーザ装置２は、ユーザ収容装置１と通信ＮＷ３を介して互いに通信を行うことが可能となっている。図中の実線矢印はパケット転送の流れ、破線矢印は制御情報の流れを示している。
【００３３】
ユーザ収容装置１は、通信装置であって、
ユーザ装置２から入力されたパケットをトークンバケットアルゴリズムで通信ネットワーク３へ転送するシェーピング機能と、
前記シェーピング機能に供給されるトークンの量を通信フロー毎のトークン供給関数Ｔｓ（ｔ）に従って動的に変化させるトークン供給量制御機能と、
を備える。
【００３４】
前記トークン供給量制御機能は、
所定期間毎に、前記入力されたパケットの量、前記入力されたパケットの転送先までの通信ネットワーク３の遅延時間、及び前記入力されたパケットの通信フローが保証する通信遅延時間に基づきトークンの量と供給期間を計算し、トークン供給関数Ｔｓ（ｔ）の更新を行う。具体的には、トークン供給関数計算部１０８が、予め与えられた通信経路の遅延情報に基づき前記送信パケットの転送先までの最短通信遅延を計算し、前記送信パケットのデータ量のメータリング結果と前記最短通信遅延と保証したい通信遅延時間に基づき、トークンバケットアルゴリズムで実装されたシェーピング部１０５に供給されるトークン量を制御するためのトークン供給関数Ｔｓ（ｔ）を生成する。そして、トークン供給部１０９が当該トークン供給関数Ｔｓ（ｔ）に従いシェーピング部１０５にトークンを供給する。
【００３５】
ユーザ収容装置１は、ユーザ装置２から送信された送信パケットを通信ＮＷ３に送信する送信部１００と、通信ＮＷ３から転送される受信パケットをユーザ装置２に送信する受信部２００と、を備える。ここで、ユーザ収容装置１はＯＬＴ（Ｏｐｔｉｃａｌ  Ｌｉｎｅ  Ｔｅｒｍｉｎａｌ）のような局内終端装置でもよいし、ユーザを収容するスイッチやルータのような通信装置でもよい。
【００３６】
送信部１００は、
ユーザ装置２から送信された送信パケットを受信するユーザ側受信部１０１と、
送信パケットが通信ＮＷ３で優先的に転送されるように優先クラス情報を付与する優先情報付与部１０２と、
フロー情報テーブル１１０の情報に基づき送信パケットを通信フロー毎にシェーピング部１０５に振り分けるフロー分離部１０３と、
シェーピング部１０５に振り分けられたパケットをバイト量としてカウントしてトークン供給関数計算部１０８に通知するメータリング部１０４と、
トークンバケットアルゴリズムで実装されておりトークン供給部１０９から供給されるトークン量に基づきシェーピングを行いスケジューラ１０６にパケットを送信するシェーピング部１０５と、
シェーピング部１０５から送信されたパケットをフロー情報テーブル１１０の情報に基づき、Ｓｔｒｉｃｔ  Ｐｒｉｏｒｉｔｙのようなスケジューリング規範でパケットを合流・スケジューリングするスケジューラ１０６と、
送信パケットを通信ＮＷ３に転送するＮＷ側送信部１０７と、
トークン供給部１０９がシェーピング部１０５に供給するトークン量を示すトークン供給量関数Ｔｓ（ｔ）を更新してトークン供給部１０９に設定するトークン供給関数計算部１０８と、
設定されたＴｓ（ｔ）に従いシェーピング部１０５にトークン供給を行うトークン供給部１０９と、
フロー毎の通信情報が記載されたフロー情報テーブル１１０と、
トークン供給関数計算部１０８とトークン供給部１０９の動作設定が記載されたトークン供給動作設定テーブル１１１と、
通信システム全体の遅延情報が記載された遅延情報テーブル１１２と、
を備える。
【００３７】
受信部２００は、
通信ＮＷ３から転送される受信パケットを受信するＮＷ側受信部２０１と、
受信パケットに付与されている優先クラス情報を削除する優先情報削除部２０２と、
受信パケットをユーザ装置２に送信するユーザ側送信部２０３と、
を備える。
【００３８】
ユーザ装置２は、ユーザが所有する装置であり、発生した送信したいデータを送信パケットとしてユーザ収容装置１に送信し、他方のユーザ装置２から送信された送信パケットをユーザ収容装置１から受信パケットとして受信する機能を有する。ここで、ユーザ装置２はサーバのような端末装置でもよいし、ユーザ宅内におかれるブロードバンドルータや、ＯＮＵ（Ｏｐｔｉｃａｌ  Ｎｅｔｗｏｒｋ  Ｕｎｉｔ）のような終端装置でもよい。
【００３９】
通信ＮＷ３は、ユーザ収容装置１から送信された送信パケットに優先クラス情報が付与されている場合には、付与されているクラス情報に従って優先転送することにより、ＮＷの輻輳による遅延増加を発生させずに他方のユーザ収容装置１に送信する機能を有する。
【００４０】
図２は、通信装置１が有するフロー情報テーブル１１０の内容を示したものである。フロー情報テーブル１１０は、通信フローの通番を示す通信フロー番号と、通信フローを識別するためのパケット情報を示す通信フロー識別子と、当該通信フローがどのユーザ収容装置に転送されるのかを示す転送先収容装置と、当該フローのＮＷ内優先度と、通信フロー毎の要求遅延時間（通信フローが保証する通信遅延時間）と、で成り立っている。
【００４１】
図３は、通信装置１が有するトークン供給動作設定テーブル１１１の内容を示したものである。トークン供給動作設定テーブル１１１は、トークン供給周期とトークン供給関数更新周期とトークン供給関数反映周期という３つのパラメータで成り立っている。
【００４２】
図４は、通信装置１が有する遅延情報テーブル１１２の内容を示したものである。遅延情報テーブル１１２は、区間種類を示す区間種別と、具体的な区間箇所を示す区間名と、区間名に示す箇所において通信経路長や装置のスイッチング処理、パケット合流等で発生する最短通信遅延を意味する区間遅延情報と、で成り立っている。
【００４３】
図５は、通信装置１における設定処理フロー（Ｓ１００）を示したものである。予めユーザから受領したフロー情報をフロー情報テーブル１１０に登録する（ステップＳ１０１）。予め装置の計算能力や搭載チップ性能などから設計したトークン供給周期とトークン供給関数更新周期とトークン供給関数反映周期をトークン供給動作設定テーブル１１１に登録する（ステップＳ１０２）。予め測定または仕様や物理的距離から設計した通信ＮＷ３内の区間別の遅延情報を遅延情報テーブル１１２に登録する（ステップＳ１０３）。本設定処理フローは、ユーザ収容装置１に対して、コンソール接続などを行って直接入力してもよいし、通信ＮＷ３を介してオペレーションシステムやコントローラ等から遠隔設定しても構わない。
【００４４】
図６は、通信装置１における静的動作設定処理フロー（Ｓ１１０）を示したものである。フロー情報テーブル１１０の情報に基づき、優先情報付与部１０２におけるパケットへの優先情報の付与動作を設定する（ステップＳ１１１）。Ｓ１１１の具体的な動作としては、通信フロー識別子に記載されている識別子を有するパケットに対して、パケットのＣｏＳ（Ｃｌａｓｓ  ｏｆ  Ｓｅｒｖｉｃｅ）領域やＴｏＳ（Ｔｙｐｅ  ｏｆ  Ｓｅｒｖｉｃｅ）領域の値を設定することを一例として想定している。フロー情報テーブル１１０の情報に基づき、フロー分離部１０３におけるフロー分離動作を設定する（ステップＳ１１２）。Ｓ１１２の具体的な動作としては、通信フロー識別子に記載されている識別子を有するパケットをどのシェーピング部１０５に振り分けるかを設定することを想定している。トークン供給動作設定テーブル１１１の情報に基づき、トークン供給関数計算部１０８におけるトークン供給関数更新周期を設定する（ステップＳ１１３）。トークン供給動作設定テーブル１１１の情報に基づき、トークン供給部１０９におけるトークン供給周期を設定する（ステップＳ１１４）。
【００４５】
図７は、通信装置１のトークン供給関数計算部１０８が実行する通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理フロー（Ｓ１２０）を示したものである。通信装置２の前記トークン供給量制御機能は、
前記トークン供給関数の更新において、
１の所定期間における前記入力されたパケットの量で計算したトークンの１の供給期間と、前記１の所定期間の後の所定期間における前記入力されたパケットの量で計算したトークンの後の供給期間とが重複する場合、前記１の供給期間と前記後の供給期間が重複する期間において、前記１の所定期間における前記入力されたパケットの量で計算したトークンの量に前記後の所定期間における前記入力されたパケットの量で計算したトークンの量を加算する。
【００４６】
本更新処理は、トークン供給動作設定テーブル１１１に設定されているトークン供給関数更新周期毎に実行する。今回処理実行時刻をｔ＿ｎｏｗ、現在のトークン供給関数をｎｏｗ＿Ｔｓ（ｔ）、前回処理実行時から今回処理実行時までにメータリング部１０４から通知されたバイト量の合計をＢｍ、トークン供給動作設定テーブル１１１に記載されているトークン供給周期をＴｃ、トークン供給関数更新周期をＴｕ、トークン供給関数反映周期をＴｒ、フロー情報テーブル１１０に記載されている対象通信フローの要求遅延時間をＤｄ、遅延情報テーブル１１２を用いて計算された対象通信フローの通信経路の遅延時間をＤｒとする（ステップＳ１２１）。
【００４７】
要求遅延を満足しながら追加できる遅延時間であるＤａを次の式で計算する（ステップＳ１２２）。
Ｄａ＝Ｄｄ−Ｄｒ−Ｔｕ−Ｔｒ
【００４８】
今回の処理実行で追加するトークン供給関数ａｄｄ＿Ｔｓ（ｔ）を次の式で計算する（ステップＳ１２３）。
（１）ｔがｔ＿ｎｏｗ＋Ｔｒ＜ｔ≦ｔ＿ｎｏｗ＋Ｔｒ＋Ｄａの場合
ａｄｄ＿Ｔｓ（ｔ）＝（Ｂｍ／Ｄａ）×Ｔｃ
（２）上記以外のｔの場合
ａｄｄ＿Ｔｓ（ｔ）＝０
【００４９】
ａｄｄ＿Ｔｓ（ｔ）が小数となっている場合には、ａｄｄ＿Ｔｓ（ｔ）の合計値がＢｍと等しくなるように切り上げ又は切り捨てなどの正規化を行う（ステップＳ１２４）。今回の処理実行でＴｓ（ｔ）として更新するトークン供給関数ｎｅｗ＿Ｔｓ（ｔ）を次の式で計算する（ステップＳ１２５）。
ｎｅｗ＿Ｔｓ（ｔ）＝ｎｏｗ＿Ｔｓ（ｔ）＋ａｄｄ＿Ｔｓ（ｔ）
【００５０】
ｎｅｗ＿Ｔｓ（ｔ）をｔ＝ｔ＿ｎｏｗ＋Ｔｒ以降の新たなＴｓ（ｔ）としてトークン供給部１０９に設定する（ステップＳ１２６）。
【００５１】
図８は、通信装置１のトークン供給部１０９が実行する通信フロー毎トークン供給処理フロー（Ｓ１３０）を示したものである。本更新処理は、トークン供給動作設定テーブル１１１に設定されているトークン供給周期毎に実行する。処理実行時刻をｔ＿ｎｏｗとする（ステップＳ１３１）。ｔ＝ｔ＿ｎｏｗにおけるＴｓ（ｔ）の値の量のトークンを当該通信フローのシェーピング部１０５に供給する（ステップＳ１３２）。
【００５２】
図９から図１０は、通信装置１の動作例を示したものである。各テーブルの設定は図２から図４のものを利用しており、ここでは図２の保証したい要求遅延＝１０［ｍｓ］である通信フロー番号１の通信を例として説明する。なお、通信フロー番号１のパケットは、ｔ＝０〜０．５［ｍｓ］の間に、パケット群Ｐａとして１０００ｂｙｔｅｓのパケット４つと５００ｂｙｔｅｓのパケット８つが到来し、ｔ＝１．０〜１．５の間に、パケット群Ｐｂとして１５００ｂｙｔｅｓと１０００ｂｙｔｅｓのパケットの組が４つ到来するとする。
【００５３】
まず、ｔ＝０〜０．５の間に到来したパケット群Ｐａは、シェーピング部１０５に送信され、シェーピング部１０５が有するバッファに格納される。また、送信されると同時にパケット量がメータリング部１０４でカウントされ、８０００［ｂｙｔｅｓ］がトークン供給関数計算部１０８に通知される。ｔ＝０．５［ｍｓ］において、最初の通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理が実行され、図７のフローＳ１２０の通りに実行されてＴｓ（ｔ）が次のように更新される。
Ｔｓ（ｔ）＝２００［ｂｙｔｅｓ］  ｛１．０＜ｔ≦５．０の場合｝
【００５４】
続いて、ｔ＝１．０［ｍｓ］においてＴｓ（ｔ）が反映され、ｔ＝１．１からは２００［ｂｙｔｅｓ］のトークンがトークン供給部１０９からシェーピング部１０５に供給される。また、ｔ＝１．０［ｍｓ］において、通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理が実行されるが、Ｂｍ＝０のため、Ｔｓ（ｔ）は変更されない。
【００５５】
ｔ＝１．０〜１．５の間に到来したパケット群Ｐｂは、シェーピング部１０５に送信され、シェーピング部が有するバッファに格納される。また、送信されると同時にパケット量がメータリング部１０４でカウントされ、１００００［ｂｙｔｅｓ］がトークン供給関数計算部１０８に通知される。ｔ＝１．５［ｍｓ］において、通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理Ｓ１２０の通りに実行されてＴｓ（ｔ）が次のように更新される。
Ｔｓ（ｔ）＝２００［ｂｙｔｅｓ］  ｛１．０＜ｔ≦２．０の場合｝
＝４５０［ｂｙｔｅｓ］  ｛２．０＜ｔ≦５．０の場合｝
＝２５０［ｂｙｔｅｓ］  ｛５．０＜ｔ≦６．０の場合｝
【００５６】
ｔ＝１．５［ｍｓ］では、シェーピング部に溜まったトークン量が１０００［ｂｙｔｅｓ］となるので、シェーピング部から１０００［ｂｙｔｅｓ］のパケットが１つ送出され、溜まったトークン量が０となる。当該パケットは、シェーピング部での待ち時間１．５［ｍｓ］とアクセス区間遅延とユーザ収容装置間遅延の合計５［ｍｓ］の合算値である６．５［ｍｓ］の遅延を伴って、ユーザ装置２ａからユーザ装置２ｂに送信されることとなる。以降、トークンが溜まる毎にシェーピング部からはパケットが順次送信される。
【００５７】
ｔ＝２．０［ｍｓ］において、Ｔｓ（ｔ）が反映され、ｔ＝２．１［ｍｓ］からは４５０［ｂｙｔｅｓ］のトークンがトークン供給部１０９からシェーピング部１０５に供給される。以降、パケットが到来しないので、Ｔｓ（ｔ）の更新は行われない。
【００５８】
ｔ＝３．４［ｍｓ］では、パケット群Ｐａの送信がすべて完了する。パケット群Ｐａの最後のパケットは、シェーピング部での待ち時間３．４［ｍｓ］とアクセス区間遅延とユーザ収容装置間遅延の合計５［ｍｓ］の合算値である８．４［ｍｓ］の遅延を伴って、ユーザ装置２ａからユーザ装置２ｂに送信されることとなる。
【００５９】
ｔ＝５．１［ｍｓ］からは２５０［ｂｙｔｅｓ］のトークンがトークン供給部１０９からシェーピング部１０５に供給される。
【００６０】
ｔ＝６．０［ｍｓ］では、パケット群Ｐｂの送信がすべて完了する。パケット群Ｐｂの最後のパケットは、シェーピング部での待ち時間５．０［ｍｓ］とアクセス区間遅延とユーザ収容装置間遅延の合計５［ｍｓ］の合算値である１０．０［ｍｓ］の遅延を伴って、ユーザ装置２ａからユーザ装置２ｂに送信されることとなる。
【００６１】
図２８は、上記例においてトークン供給関数計算部１０８が計算したトークン供給関数Ｔｓ（ｔ）を説明するイメージ図である。トークン供給関数計算部１０８はトークン供給部１０９に対して、１．０＜ｔ≦２．０ではパケット群Ｐａに対するトークンのみをシェーピング部１０５へ供給するよう、２．０＜ｔ≦５．０ではパケット群Ｐａに対するトークンとパケット群Ｐｂに対するトークンの合計をシェーピング部１０５へ供給するよう、５．０＜ｔ≦６．０ではパケット群Ｐｂに対するトークンのみをシェーピング部１０５へ供給するようなトークン供給関数Ｔｓ（ｔ）を生成する。
【００６２】
以上のように、トークン供給関数計算部１０８が計算したトークン供給関数Ｔｓ（ｔ）を用いることで、通信装置１は要求遅延に対する遅延保証を実現できていることがわかる。
【００６３】
本実施形態では、設定処理Ｓ１００のステップＳ１０１において、フロー情報テーブルの要求遅延時間の値を運用前に一度だけ設定する例を説明したが、ユーザ収容装置にフロー情報テーブル書換ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を設け、ＡＰＩ経由でフロー情報テーブルの要求遅延時間の値を運用中に書き換える動作を行うことも可能である。
また、設定処理Ｓ１００のステップＳ１０３において、通信ＮＷ３内の区間別の遅延情報を運用前に遅延情報テーブルに登録する例を説明したが、後述するように通信遅延測定機能を利用して通信ＮＷ３内の区間別の遅延情報を取得し、遅延情報テーブルの遅延情報を運用中に書き換える動作を行ってもよい。
【００６４】
（実施形態２）
図１１は、本実施形態の通信システム３０２を説明する構成図である。通信システム３０２は、通信ＮＷ３に接続された通信装置（ユーザ収容装置１）と、前記通信装置を介して、通信ＮＷ３へ送信パケットを送信し、他のユーザ装置２（ｂ、ｃ、ｄ）が送信した送信パケットを通信ＮＷ３から受信するユーザ装置２（ａ）と、を備え、送信パケットのフロー毎にトークンバケットアルゴリズムで実装されたシェーピング部に供給されるトークン量が動的に変動する通信システムである。通信システム３０２は、通信システム３０１に加えて、ユーザ収容装置間の遅延時間の変動を検知する機能を設け、検知した遅延時間変動を反映した上でトークン供給量を動的に制御する。従って、通信システム３０２は、通信経路が変動する環境下においても遅延保証通信サービスを提供する通信装置を安価に実現することができる。
【００６５】
通信システム３０２は、ユーザ装置２がユーザ収容装置１によって通信ＮＷ３に接続されることによって実現される通信システムである。このような通信システムにおいて、それぞれのユーザ装置２は、ユーザ収容装置１と通信ＮＷ３を介して互いに通信を行うことが可能となっている。図中の実線矢印はパケット転送の流れ、破線矢印は制御情報の流れ、太い波線矢印はユーザ収容装置内の遅延測定パケット転送の流れを示している。
【００６６】
ユーザ収容装置１は、通信装置であって、図１のユーザ収容装置１に対し、遅延測定パケットを前記通信ネットワークへ送出し、前記遅延測定パケットに対する応答から前記通信ネットワークの遅延時間を更新する通信遅延測定機能をさらに備える。
【００６７】
以下、実施形態１からの変更部分に絞って説明する。
【００６８】
送信部１００は、実施形態１に加えて
（ａ）他ユーザ収容装置に対して遅延測定パケットを送信する機能、
（ｂ）他ユーザ収容装置から送信された遅延測定パケットを受信して遅延測定パケットの応答を送信する機能、
（ｃ）自ユーザ収容装置が送信して他ユーザ収容装置が応答した遅延測定パケットの応答を抽出してその情報からユーザ収容装置間の通信遅延を測定する機能、及び
（ｄ）測定した通信遅延に基づき遅延情報テーブル１１２を書き換える機能
を有する遅延測定部１１３と、
遅延測定部１１３の動作設定が記載されている遅延測定動作設定テーブル１１４と、
を具備している。
【００６９】
受信部２００は、実施形態１に加えて
他ユーザ収容装置から送信された遅延測定パケットと自ユーザ収容装置が送信して他ユーザ収容装置が応答する遅延測定パケットの応答を遅延測定部１１３に送信する遅延測定パケット抽出部２０４を具備している。
【００７０】
図１２は、通信装置１（ユーザ収容装置＃Ａ）における遅延測定動作設定テーブル１１４の内容を示したものである。遅延測定動作設定テーブル１１４は、ユーザ収容装置＃Ａの遅延測定部１１３が遅延時間を測定する対象装置を示す測定対象装置名と、遅延測定部１１３が送信する遅延測定パケットの遅延測定パケット送信周期と、遅延測定部１１３が遅延測定結果をトークン供給関数計算部１０８に通知する際の通知内容を示す測定結果集約方法と、遅延測定部１１３が遅延測定結果を遅延情報テーブル１１２に書き換える周期である測定結果書換周期と、測定パケットの内容を示す測定パケット内容と、で成り立っている。測定結果集約方法は、図１２に記載のように前回通知時からの最大値を通知してもよいし、前回通知時からの平均値を通知するなどすればよい。
【００７１】
本実施形態でのフロー情報テーブル１１０、トークン供給動作設定テーブル１１１、及び遅延情報テーブル１１２の内容は、それぞれ図２、図３及び図４と同様である。
【００７２】
図１３は、通信装置１における設定処理フロー（Ｓ２００）を示したものである。ステップＳ２０１〜２０３は図５のステップＳ１０１〜１０３と同様である。予め設計した遅延測定パケット送信周期と遅延測定結果集約方法と遅延測定結果書換周期と遅延測定パケット内容を遅延測定動作設定テーブル１１４に登録する（ステップＳ２０４）。本設定処理フローは、ユーザ収容装置１に対して、コンソール接続などを行って直接入力してもよいし、通信ＮＷ３を介してオペレーションシステムやコントローラ等から遠隔設定しても構わない。
【００７３】
図１４は、通信装置１における静的動作設定処理フロー（Ｓ２１０）を示している。ステップＳ２１１〜２１４は図６のステップＳ１１１〜１１４と同様である。遅延測定動作設定テーブル１１４の情報に基づき、遅延測定部１１３における測定区間と測定パケット周期と測定結果集約方法と測定結果書換周期と測定パケット内容を設定する（ステップＳ２１５）。
【００７４】
図１５は、通信装置１の遅延測定部１１３が実行する測定対象装置毎遅延測定パケット送信処理フロー（Ｓ２２０）を示している。本処理は、遅延測定動作設定テーブル１１４に設定されている遅延測定パケット送信周期毎に実行する。遅延測定動作設定テーブル１１４の記載に基づき、測定対象装置名に記載された対象装置を宛先として、測定パケット内容に記載された内容の遅延測定パケットを生成してスケジューラ１０６に挿入する（ステップＳ２２１）。遅延測定パケットの形式はＲＦＣ７９２に記載されているＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）や、ＩＴＵ−Ｔ  Ｙ．１７３１に記載されているＥＴＨ−ＯＡＭ（Ｏｐｅｒａｔｉｏｎ、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ、Ｍａｉｎｔｅｎａｎｃｅ）を想定している。
【００７５】
図１６は、通信装置１の遅延測定パケット抽出部２０４と遅延測定部１１３が実行する遅延測定パケット受信処理フロー（Ｓ２３０）を示している。本処理は、遅延測定パケットを遅延測定パケット抽出部２０４で受信した際に実行される。遅延測定パケット抽出部２０４は、遅延測定部１１３に当該パケットを送信する（ステップＳ２３１）。遅延測定部１１３は、当該パケットは自ユーザ収容装置が送信した遅延測定パケットの応答かどうかを判断する（ステップＳ２３２）。もし自ユーザ収容装置が送信した遅延測定パケットの応答であった場合には、遅延測定パケットの応答を利用してユーザ収容装置間の片道遅延を算出する（ステップＳ２３３）。一例として、Ｐｉｎｇ応答が返ってきたときに往復遅延がわかるので、それを２で除算することにより片道遅延を算出することができる。ステップＳ２３２においてもし自ユーザ収容装置が送信した遅延測定パケットの応答でなかった場合には、受信した遅延測定パケットの応答パケットを生成してスケジューラ１０６に送信する（ステップＳ２３４）。
【００７６】
図１７は、通信装置１の遅延測定部１１３が実行する測定区間毎遅延測定結果書換処理フロー（Ｓ２４０）を示している。遅延測定パケット受信処理で算出したユーザ収容装置１間の片道遅延を、遅延測定結果集約方法に記載された規範に基づきマージし、遅延情報テーブル１１２に通知する（ステップＳ２４１）。
【００７７】
本実施形態でのトークン供給関数計算部１０８が実行する通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理フローは図７で示したフローＳ１２０と同一である。
【００７８】
図１８から図１９は、通信装置１の動作例を示したものである。各テーブルの設定は図２から図４、図１２及び図１３のものを利用しており、ここでは図２の保証したい要求遅延＝１０［ｍｓ］である通信フロー番号１の通信を例として説明する。なお、通信フロー番号１のパケットは、ｔ＝０〜０．５［ｍｓ］の間にパケット群Ｐａとして１０００ｂｙｔｅｓのパケット４つと５００ｂｙｔｅｓのパケット８つが到来し、ｔ＝１．０〜１．５の間にパケット群Ｐｃとして１５００ｂｙｔｅｓのパケットが６つ到来するとする。また、ユーザ収容装置１間の通信ＮＷ３の遅延時間は、設定値上は３［ｍｓ］であるものの、実際にはｔ＝０．０［ｍｓ］以前に４．０［ｍｓ］に変化しているものとし、ｔ＝１．７［ｍｓ］と１．８［ｍｓ］の間に遅延測定部１１３がユーザ収容装置１間の通信ＮＷ３の遅延時間変化を検知した場合を想定している。
【００７９】
まず、ｔ＝０〜０．５の間に到来したパケット群Ｐａは、シェーピング部１０５に送信され、シェーピング部１０５が有するバッファに格納される。また、送信されると同時にパケット量がメータリング部１０４でカウントされ、８０００［ｂｙｔｅｓ］がトークン供給関数計算部１０８に通知される。ｔ＝０．５［ｍｓ］において、測定区間毎遅延測定結果書換処理Ｓ２４０が実施され、遅延測定部１１３からユーザ収容装置＃Ａ〜ユーザ収容装置＃Ｂ間の通信遅延が３．０［ｍｓ］であることが遅延情報テーブル１１２に通知されるが、同じ値であるため書換えが発生してもテーブルの値は変わらない。さらに同時刻において、最初の通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理が実行され、フローＳ１２０の通りに実行されてＴｓ（ｔ）が次のように更新される。
Ｔｓ（ｔ）＝２００［ｂｙｔｅｓ］  ｛１．０＜ｔ≦５．０の場合｝
【００８０】
続いて、ｔ＝１．０［ｍｓ］においてＴｓ（ｔ）が反映され、ｔ＝１．１からは２００［ｂｙｔｅｓ］のトークンがトークン供給部１０９からシェーピング部１０５に供給される。また、ｔ＝１．０［ｍｓ］において、遅延測定部１１３からの通信遅延通知と通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理Ｓ１２０が実行されるが、Ｂｍ＝０のため、Ｔｓ（ｔ）は変更されない。また、ｔ＝１．０［ｍｓ］において、測定区間毎遅延測定結果書換処理Ｓ２４０が実施され、遅延測定部１１３からユーザ収容装置＃Ａ〜ユーザ収容装置＃Ｂ間の通信遅延が３．０［ｍｓ］であることが遅延情報テーブル１１２に通知されるが、同じ値であるため書換えが発生してもテーブルの値は変わらない。
【００８１】
ｔ＝１．５［ｍｓ］において、シェーピング部に溜まったトークン量が１０００［ｂｙｔｅｓ］となるので、シェーピング部から１０００［ｂｙｔｅｓ］のパケットが１つ送出され、溜まったトークン量が０となる。当該パケットは、シェーピング部での待ち時間１．５［ｍｓ］とアクセス区間遅延とユーザ収容装置間遅延の合計６［ｍｓ］の合算値である７．５［ｍｓ］の遅延を伴って、ユーザ装置２ａからユーザ装置２ｂに送信されることとなる。以降、トークンが溜まる毎にシェーピング部からはパケットが順次送信される。
【００８２】
また、ｔ＝１．５［ｍｓ］において、通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理と測定区間毎遅延測定結果書換処理が発生するが、状況の変化が無いため説明は割愛する。
【００８３】
ｔ＝１．５〜２．０［ｍｓ］の間に到来したパケット群Ｐｃは、シェーピング部１０５に送信され、シェーピング部１０５が有するバッファに格納される。また、送信されると同時にパケット量がメータリング部でカウントされ、９０００［ｂｙｔｅｓ］がトークン供給関数計算部１０８に通知される。
【００８４】
ｔ＝１．７〜１．８［ｍｓ］の間には、遅延測定部１１３がユーザ収容装置１間の通信ＮＷ３の遅延時間が３．０［ｍｓ］から４．０［ｍｓ］に変化したことを、遅延測定パケット受信処理によって検知する。
【００８５】
ｔ＝２．０［ｍｓ］において、測定区間毎遅延測定結果書換処理Ｓ２４０が実施され、遅延測定部１１３からユーザ収容装置＃Ａからユーザ収容装置＃Ｂ間の通信遅延が４．０［ｍｓ］であることが遅延情報テーブル１１２に通知されて、テーブルの内容が書き換わる。書き換わった後の遅延情報テーブル１１２を図２０に示す。
【００８６】
次に、ｔ＝２．０［ｍｓ］において、通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理Ｓ１２０が実行され、Ｔｓ（ｔ）が次のように更新される。  
Ｔｓ（ｔ）＝２００［ｂｙｔｅｓ］  ｛１．０＜ｔ≦２．５の場合｝
＝５００［ｂｙｔｅｓ］  ｛２．５＜ｔ≦５．０の場合｝
＝３００［ｂｙｔｅｓ］  ｛５．０＜ｔ≦６．０の場合｝
【００８７】
ｔ＝２．１［ｍｓ］以降では、パケットの到来および遅延時間変化の検知がされないので、測定区間毎遅延測定結果書換処理と通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理が発生してもトークン供給関数Ｔｓ（ｔ）は変わらない。
【００８８】
ｔ＝２．６［ｍｓ］からは、５００［ｂｙｔｅｓ］のトークンがトークン供給部１０９からシェーピング部１０５に供給される。
【００８９】
ｔ＝３．５［ｍｓ］では、パケット群Ｐａの送信がすべて完了する。パケット群Ｐａの最後のパケットは、シェーピング部での待ち時間３．５［ｍｓ］とアクセス区間遅延とユーザ収容装置間遅延の合計６［ｍｓ］の合算値である９．５［ｍｓ］の遅延を伴って、ユーザ装置２ａからユーザ装置２ｂに送信されることとなる。
【００９０】
ｔ＝５．１［ｍｓ］からは３００［ｂｙｔｅｓ］のトークンがトークン供給部１０９からシェーピング部１０５に供給される。
【００９１】
ｔ＝５．５［ｍｓ］では、パケット群Ｐｃの送信がすべて完了する。パケット群Ｐｃの最後のパケットは、シェーピング部での待ち時間４．０［ｍｓ］とアクセス区間遅延とユーザ収容装置間遅延の合計６［ｍｓ］の合算値である１０．０［ｍｓ］の遅延を伴って、ユーザ装置２ａからユーザ装置２ｂに送信されることとなる。
【００９２】
以上の通り、本実施形態の通信システム３０２によって、遅延時間が変化する場合においても、要求遅延に対する遅延保証を実現できていることがわかる。
【００９３】
本実施形態では、ユーザ収容装置間の遅延時間変動を遅延測定機能で測定し、遅延情報テーブルを書き換える方法を採ったが、遅延時間変動を検知する対象区間や検知方法については限定していない。たとえば、アクセス区間の遅延時間変動をも検知する形態としても構わない。また、遅延測定機能を外部に設置し、ユーザ収容装置に遅延情報テーブル書換ＡＰＩを設け、ＡＰＩ経由で遅延情報テーブルの値を書き換えることにより遅延時間変動を検知する形態を採っても構わない。さらに、遅延情報テーブルの値のみならず、ユーザ収容装置にフロー情報テーブル書換ＡＰＩを設け、ＡＰＩ経由でフロー情報テーブルの要求遅延時間の値を運用中に書き換える動作を組み合わせることも可能である。
【００９４】
（実施形態３）
本実施形態の通信システム３０３の構成は、図１１と同じ構成である。通信システム３０３は、通信システム３０２に加えて、検知した遅延時間変動を反映した上で既に決定済みのトークン供給量を動的に補正する。従って、通信システム３０３は、通信経路が変動する環境下においても遅延保証通信サービスを提供する通信装置を安価に実現することが可能となる。
【００９５】
通信装置１の前記トークン供給量制御機能は、
前記通信遅延測定機能が前記通信ネットワークの遅延時間を更新することで、前記入力されたパケットのうち通信フローが保証する通信遅延時間内に転送できないパケットが存在する場合、前記転送できないパケットに相当するトークンの量を算出し、前記トークン供給関数に加算する。
【００９６】
以下、実施形態２との差分に絞って説明する。
【００９７】
図２１は、本実施形態における通信フロー毎トークン供給関数Ｔｓ（ｔ）補正処理Ｓ３００の内容を示したものである。本補正処理は、トークン供給動作設定テーブル１１１に設定されているトークン供給関数更新周期毎に、通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理Ｓ１２０の直前に実行する。
【００９８】
現在の時刻をｔ＿ｎｏｗ、トークン供給動作設定テーブルに記載されているトークン供給周期をＴｃ、トークン供給関数更新周期をＴｕ、トークン供給関数反映周期をＴｒ、今回処理実行時のトークン供給関数をｎｏｗ＿Ｔｓ（ｔ）、ｎｏｗ＿Ｔｓ（ｔ）の値が０でない最も大きい時刻ｔをｔ＿ｌａｓｔ、前回処理実行時の対象通信フローの通信経路の遅延時間をＤｒ＿ｂｅｆｏｒｅ、今回処理実行時の対象通信フローの通信経路の遅延時間をＤｒ＿ｎｏｗ、とする（ステップＳ３０１）。
Ｄｒ＿ｂｅｆｏｒｅとＤｒ＿ｎｏｗを比較し、Ｄｒ＿ｎｏｗの方が大きければステップＳ３０３に進み、Ｄｒ＿ｂｅｆｏｒｅの方が大きいかまたはＤｒ＿ｂｅｆｏｒｅとＤｒ＿ｎｏｗが一致していればフローＳ３００を終了する（ステップＳ３０２）。
遅延時間の変化により要求遅延以内に転送できなくなるパケットのトークン量の合計ｓｕｍ＿Ｔｓを以下の式で計算する（ステップＳ３０３）。
ｓｕｍ＿Ｔｓ＝ΣＴｓ（ｔ）
｛ｔ＿ｌａｓｔ−（Ｄｒ＿ｎｏｗ−Ｄｒ＿ｂｅｆｏｒｅ）＜ｔ≦ｔ＿ｌａｓｔの範囲｝
【００９９】
ｔ＿ｎｏｗ＋Ｔｒ＜ｔ≦ｔ＿ｌａｓｔ−（Ｄｒ＿ｎｏｗ−Ｄｒ＿ｂｅｆｏｒｅ）の範囲におけるトークン供給周期の到来回数Ｔｓ＿ｎｕｍを以下の式で計算する（ステップＳ３０４）。
Ｔｓ＿ｎｕｍ＝ＩＮＴ（（ｔ＿ｌａｓｔ−（Ｄｒ＿ｎｏｗ−Ｄｒ＿ｂｅｆｏｒｅ））−（ｔ＿ｎｏｗ＋Ｔｒ）／Ｔｕ）
ただし、ＩＮＴ（ｘ）はｘの小数点以下を切り捨てて整数を返す関数とする。
【０１００】
今回の処理実行で補正のために追加するトークン供給関数ａｄｄ＿Ｔｓ（ｔ）を次の式で計算する（ステップＳ３０５）。
ａｄｄ＿Ｔｓ（ｔ）
＝（ｓｕｍ＿Ｔｓ／Ｔｓ＿ｎｕｍ）×Ｔｃ    ｛ｔ＿ｎｏｗ＋Ｔｒ＜ｔ≦ｔ＿ｌａｓｔ−（Ｄｒ＿ｎｏｗ−Ｄｒ＿ｂｅｆｏｒｅ）の場合｝
＝０                    ｛上記以外のｔの場合｝
ａｄｄ＿Ｔｓ（ｔ）が小数である場合には、ａｄｄ＿Ｔｓ（ｔ）の合計値がｓｕｍ＿Ｔｓと等しくなるように切り上げ又は切り捨てなどの正規化を行う。
【０１０１】
今回の処理実行でＴｓ（ｔ）として補正するトークン供給関数ｃｏｒｒｅｃｔ＿Ｔｓ（ｔ）を次の式で計算する（ステップＳ３０６）。
ｃｏｒｒｅｃｔ＿Ｔｓ（ｔ）
＝ｎｏｗ＿Ｔｓ（ｔ）＋ａｄｄ＿Ｔｓ（ｔ）  ｛ｔ＿ｎｏｗ＋Ｔｒ＜ｔ≦ｔ＿ｌａｓｔ−（Ｄｒ＿ｎｏｗ−Ｄｒ＿ｂｅｆｏｒｅ）の場合｝
＝０            ｛ｔ＿ｌａｓｔ−（Ｄｒ＿ｎｏｗ−Ｄｒ＿ｂｅｆｏｒｅ）＜ｔの場合｝
【０１０２】
ｃｏｒｒｅｃｔ＿Ｔｓ（ｔ）を本処理終了後のＴｓ（ｔ）としてトークン供給関数計算部に記録する（ステップＳ３０７）。上記Ｔｓ（ｔ）は、本処理の直後に実施される通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理Ｓ１２０のステップＳ１２１において、ｎｏｗ＿Ｔｓ（ｔ）として用いられることとなる。
【０１０３】
図２２から図２３は、通信装置１の動作例を示したものである。各テーブルの設定は図２から図４、図１２及び図１３のものを利用しており、ここでは図２の保証したい要求遅延＝１０［ｍｓ］である通信フロー番号１の通信を例として説明する。なお、通信フロー番号１のパケットは、ｔ＝０〜０．５［ｍｓ］の間にパケット群Ｐａとして１０００ｂｙｔｅｓのパケット４つと５００ｂｙｔｅｓのパケット８つが到来し、ｔ＝１．０〜１．５の間にパケット群Ｐｃとして１５００ｂｙｔｅｓのパケットが６つ到来するとする。また、ユーザ収容装置１間の通信ＮＷ３の遅延時間は、設定値上は３［ｍｓ］であるものの、実際にはｔ＝０．０［ｍｓ］以前に４．０［ｍｓ］に変化しているものとし、ｔ＝２．１［ｍｓ］と２．３［ｍｓ］の間に遅延測定部１１３がユーザ収容装置１間の通信ＮＷ３の遅延時間変化を検知した場合を想定している。
【０１０４】
ｔ＝０．０〜１．５［ｍｓ］の動作については図１８及び図１９と同じ動作であり、通信フロー毎トークン供給関数Ｔｓ（ｔ）補正処理Ｓ３００はステップＳ３０２の判定が否となり有効とならないため割愛する。
【０１０５】
ｔ＝１．５〜２．０［ｍｓ］の間に到来したパケット群Ｐｃは、シェーピング部１０５に送信され、シェーピング部が有するバッファに格納される。また、送信されると同時にパケット量がメータリング部でカウントされ、９０００［ｂｙｔｅｓ］がトークン供給関数計算部１０８に通知される。
ｔ＝２．０［ｍｓ］において、通信フロー毎トークン供給関数Ｔｓ（ｔ）補正処理Ｓ３００が実行されるが、ステップＳ３０２の判定が否となり有効とならない。
【０１０６】
ｔ＝２．０［ｍｓ］において、通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理Ｓ１２０が実行され、Ｔｓ（ｔ）が次のように更新される。
Ｔｓ（ｔ）＝２００［ｂｙｔｅｓ］  ｛１．０＜ｔ≦２．５の場合｝
＝４２５［ｂｙｔｅｓ］  ｛２．５＜ｔ≦５．０の場合｝
＝２２５［ｂｙｔｅｓ］  ｛５．０＜ｔ≦６．５の場合｝
【０１０７】
ｔ＝２．１〜２．２［ｍｓ］の間には、遅延測定部１１３がユーザ収容装置１間の通信ＮＷ３の遅延時間が３．０［ｍｓ］から４．０［ｍｓ］に変化したことを、遅延測定パケット受信処理によって検知する。
【０１０８】
ｔ＝２．５［ｍｓ］において、測定区間毎遅延測定結果書換処理Ｓ２４０が実施され、遅延測定部１１３からユーザ収容装置＃Ａ〜ユーザ収容装置＃Ｂ間の通信遅延が４．０［ｍｓ］であることが遅延情報テーブル１１２に通知され、テーブルの内容が書き換わる。書き換わった後の遅延情報テーブル１１２は図２０と同様である。
【０１０９】
ｔ＝２．５［ｍｓ］において、通信フロー毎トークン供給関数Ｔｓ（ｔ）補正処理Ｓ３００が実行される。Ｄｒ＿ｂｅｆｏｒｅ＝５．０［ｍｓ］、Ｄｒ＿ｎｏｗ＝６．０［ｍｓ］となり、ステップＳ３０２の判定が真となるため処理が進む。ｔ＿ｌａｓｔ＝６．５［ｍｓ］、Ｄｒ＿ｎｏｗ−Ｄｒ＿ｂｅｆｏｒｅ＝１．０［ｍｓ］であるため、ｓｕｍ＿Ｔｓは５．５＜ｔ≦６．５の区間におけるＴｓ（ｔ）の合計となり、２２５０［ｂｙｔｅｓ］となる。次にＴｓ＿ｎｕｍは、ｔ＿ｎｏｗ＝２．５、Ｔｒ＝０．５、Ｔｕ＝０．１であるため、（（６．５−１．０）−（２．５＋０．５））／０．１＝２５となる。したがって、ａｄｄ＿Ｔｓ（ｔ）は以下のように求められる。
ａｄｄ＿Ｔｓ（ｔ）＝９０［ｂｙｔｅｓ］  ｛３．０＜ｔ≦５．５の場合｝
【０１１０】
よって、ｃｏｒｒｅｃｔ＿Ｔｓ（ｔ）は以下のように求められる。
ｃｏｒｒｅｃｔ＿Ｔｓ（ｔ）＝５１５［ｂｙｔｅｓ］  ｛３．０＜ｔ≦５．０の場合｝
＝３１５［ｂｙｔｅｓ］  ｛５．０＜ｔ≦５．５の場合｝
直後に通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理が実行され、上記のｃｏｒｒｅｃｔ＿Ｔｓ（ｔ）がＴｓ（ｔ）として更新される。
【０１１１】
以降は、パケットの到来および遅延時間変化の検知がされないので、測定区間毎遅延測定結果書換処理と通信フロー毎トークン供給関数Ｔｓ（ｔ）補正処理と通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理が発生してもトークン供給関数Ｔｓ（ｔ）は変わらない。
【０１１２】
ｔ＝２．６［ｍｓ］からは４２５［ｂｙｔｅｓ］のトークンがトークン供給部１０９からシェーピング部１０５に供給される。
ｔ＝３．１［ｍｓ］からは５１５［ｂｙｔｅｓ］のトークンがトークン供給部１０９からシェーピング部１０５に供給される。
【０１１３】
ｔ＝３．６［ｍｓ］では、パケット群Ｐａの送信がすべて完了する。パケット群Ｐａの最後のパケットは、シェーピング部での待ち時間３．６［ｍｓ］とアクセス区間遅延とユーザ収容装置間遅延の合計６［ｍｓ］の合算値である９．６［ｍｓ］の遅延を伴って、ユーザ装置２ａからユーザ装置２ｂに送信されることとなる。
【０１１４】
ｔ＝５．１［ｍｓ］からは３１５［ｂｙｔｅｓ］のトークンがトークン供給部１０９からシェーピング部１０５に供給される。
【０１１５】
ｔ＝５．５［ｍｓ］では、パケット群Ｐｃの送信がすべて完了する。パケット群Ｐｃの最後のパケットは、シェーピング部での待ち時間４．０［ｍｓ］とアクセス区間遅延とユーザ収容装置間遅延の合計６［ｍｓ］の合算値である１０．０［ｍｓ］の遅延を伴って、ユーザ装置２ａからユーザ装置２ｂに送信されることとなる。
【０１１６】
以上の通り、本実施形態の通信システム３０３によって、トークン供給関数Ｔｓ（ｔ）を決定した後に遅延時間が変化する場合においても、要求遅延に対する遅延保証を実現できていることがわかる。
【０１１７】
（実施形態４）
本実施形態の通信システム３０４の構成は、図１と同じ構成である。本通信システムでは、通信システム３０１に加えて、トークン供給開始タイミングをあえて遅らせる機能を具備することにより、要求遅延の下限と上限の間の遅延時間で通信が転送されることを保証する遅延保証通信サービスを提供する通信装置を安価に実現することが可能となる。
【０１１８】
通信装置１は、前記通信遅延時間に上限値と下限値が設定されており、前記下限値が前記通信ネットワークの遅延時間、前記所定期間及び前記トークン供給関数の更新の反映時間の合計より大きい場合、
前記トークン供給量制御機能は、
前記１の供給期間及び前記後の供給期間を前記上限値と前記下限値との差分とするとともに、前記下限値と前記通信ネットワークの遅延時間から待ち時間を決定し、前記待ち時間だけ前記シェーピング機能へのトークンの供給を遅らせる。
【０１１９】
以下、実施形態１との変更点に絞って説明する。
【０１２０】
図２４は、本実施形態のフロー情報テーブル１１０の内容を示したものである。フロー情報テーブル１１０は、通信フローの通番を示す通信フロー番号と、通信フローを識別するためのパケット情報を示す通信フロー識別子と、当該通信フローがどのユーザ収容装置に転送されるのかを示す転送先収容装置と、当該フローのＮＷ内優先度と、当該フローの要求遅延時間の上限と、当該フローの要求遅延の下限で成り立っている。
【０１２１】
図２５は、通信装置１のトークン供給関数計算部１０８が実行する通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理フロー（Ｓ４００）を示したものである。本更新処理は、トークン供給動作設定テーブル１１１に設定されているトークン供給関数更新周期毎に実行する。
【０１２２】
今回処理実行時刻をｔ＿ｎｏｗ、現在のトークン供給関数をｎｏｗ＿Ｔｓ（ｔ）、前回処理実行時から今回処理実行時までにメータリング部１０４から通知されたバイト量の合計をＢｍ、トークン供給動作設定テーブル１１１に記載されているトークン供給周期をＴｃ、トークン供給関数更新周期をＴｕ、トークン供給関数反映周期をＴｒ、フロー情報テーブル１１０に記載されている対象通信フローの要求遅延時間の上限をＤｄ、フロー情報テーブル１１０に記載されている対象通信フローの要求遅延時間の下限をＤｍ、遅延情報テーブル１１２を用いて計算された対象通信フローの通信経路の遅延時間をＤｒとする（ステップＳ４０１）。
【０１２３】
以下の式を判定し、正しいならばステップＳ４０３、否ならばステップＳ４０７に進む（ステップＳ４０２）。
Ｄｍ＞Ｄｒ＋Ｔｕ＋Ｔｒ
【０１２４】
要求遅延の上限と下限の差から、トークン供給時間Ｄａ１を次の式で計算する（ステップＳ４０３）。
Ｄａ１＝Ｄｄ−Ｄｍ
要求遅延の下限と最短遅延の差から、トークン供給待ち時間Ｄａ２を次の式で計算する（ステップＳ４０４）。
Ｄａ２＝Ｄｍ−（Ｄｒ＋Ｔｕ＋Ｔｒ）
今回の処理実行で追加するトークン供給関数ａｄｄ＿Ｔｓ（ｔ）を次の式で計算する（ステップＳ４０５）。
ａｄｄ＿Ｔｓ（ｔ）
＝（Ｂｍ／Ｄａ１）×Ｔｃ      ｛ｔがｔ＿ｎｏｗ＋Ｔｒ＋Ｄａ２＜ｔ≦ｔ＿ｎｏｗ＋Ｔｒ＋Ｄａ２＋Ｄａ１の場合｝
＝０          ｛上記以外のｔの場合｝
【０１２５】
ａｄｄ＿Ｔｓ（ｔ）が小数となっている場合には、ａｄｄ＿Ｔｓ（ｔ）の合計値がＢｍと等しくなるように切り上げ又は切り捨てなどの正規化を行う（ステップＳ４０６）。
一方、ステップＳ４０７〜Ｓ４１１は通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理Ｓ１２０のステップＳ１２２〜１２６と同一である。
【０１２６】
図２６から図２７は、本実施形態の通信システム３０４の動作例を示したものである。各テーブルの設定は図３、図４、及び図２４のものを利用しており、ここでは図２４の保証したい要求遅延の上限＝１０［ｍｓ］、要求遅延の下限＝８［ｍｓ］である通信フロー番号１の通信を例として説明する。なお、通信フロー番号１のパケットは、ｔ＝０〜０．５［ｍｓ］の間にパケット群Ｐａとして１０００ｂｙｔｅｓのパケット４つと５００ｂｙｔｅｓのパケット８つが到来し、ｔ＝１．０〜１．５の間にパケット群Ｐｂとして１５００ｂｙｔｅｓと１０００ｂｙｔｅｓのパケットの組が４つ到来するとする。
【０１２７】
まず、ｔ＝０〜０．５の間に到来したパケット群Ｐａは、シェーピング部１０５に送信され、シェーピング部１０５が有するバッファに格納される。また、送信されると同時にパケット量がメータリング部１０４でカウントされ、８０００［ｂｙｔｅｓ］がトークン供給関数計算部１０８に通知される。ｔ＝０．５［ｍｓ］において、最初の通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理がフローＳ４００の通りに実行されてＴｓ（ｔ）が次のように更新される。
Ｔｓ（ｔ）＝４００［ｂｙｔｅｓ］  ｛３．０＜ｔ≦５．０の場合｝
【０１２８】
続いて、ｔ＝１．０［ｍｓ］においてＴｓ（ｔ）が反映されるが、トークンの供給はｔ＝３．０［ｍｓ］より後に実施される。また、ｔ＝１．０［ｍｓ］において、通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理が実行されるが、Ｂｍ＝０のため、Ｔｓ（ｔ）は変更されない。
【０１２９】
ｔ＝１．０〜１．５の間に到来したパケット群Ｐｂは、シェーピング部１０５に送信され、シェーピング部１０５が有するバッファに格納される。また、送信されると同時にパケット量がメータリング部１０８でカウントされ、１００００［ｂｙｔｅｓ］がトークン供給関数計算部１０８に通知される。ｔ＝１．５［ｍｓ］において、通信フロー毎トークン供給関数Ｔｓ（ｔ）更新処理がフローＳ４００の通りに実行されてＴｓ（ｔ）が次のように更新される。
Ｔｓ（ｔ）＝４００［ｂｙｔｅｓ］  ｛３．０＜ｔ≦４．０の場合｝
＝９００［ｂｙｔｅｓ］  ｛４．０＜ｔ≦５．０の場合｝
＝５００［ｂｙｔｅｓ］  ｛５．０＜ｔ≦６．０の場合｝
【０１３０】
ｔ＝２．０［ｍｓ］において、Ｔｓ（ｔ）が反映されるが、トークンの供給はｔ＝３．０［ｍｓ］より後に実施される。以降、パケットが到来しないので、Ｔｓ（ｔ）の更新は行われない。
【０１３１】
ｔ＝３．１［ｍｓ］からは、４００［ｂｙｔｅｓ］のトークンがトークン供給部１０９からシェーピング部１０５に供給される。
ｔ＝３．３［ｍｓ］では、パケット群Ｐａのパケットが初めてシェーピング部１０５から送出される。当該パケットは、シェーピング部１０５での待ち時間３．３［ｍｓ］とアクセス区間遅延とユーザ収容装置間遅延の合計５［ｍｓ］の合算値である８．４［ｍｓ］の遅延を伴って、ユーザ装置２ａからユーザ装置２ｂに送信されることとなる。
【０１３２】
ｔ＝４．１［ｍｓ］からは、９００［ｂｙｔｅｓ］のトークンがトークン供給部１０９からシェーピング部１０５に供給される。
ｔ＝４．５［ｍｓ］では、パケット群Ｐａの送信がすべて完了する。パケット群Ｐａの最後のパケットは、シェーピング部での待ち時間４．５［ｍｓ］とアクセス区間遅延とユーザ収容装置間遅延の合計５［ｍｓ］の合算値である９．５［ｍｓ］の遅延を伴って、ユーザ装置２ａからユーザ装置２ｂに送信されることとなる。
【０１３３】
ｔ＝４．７［ｍｓ］では、パケット群Ｐｂのパケットが初めてシェーピング部から送出される。当該パケットは、シェーピング部での待ち時間３．７［ｍｓ］とアクセス区間遅延とユーザ収容装置間遅延の合計５［ｍｓ］の合算値である８．７［ｍｓ］の遅延を伴って、ユーザ装置２ａからユーザ装置２ｂに送信されることとなる。
【０１３４】
ｔ＝５．１［ｍｓ］からは、５００［ｂｙｔｅｓ］のトークンがトークン供給部１０９からシェーピング部１０５に供給される。
ｔ＝６．０［ｍｓ］では、パケット群Ｐｂの送信がすべて完了する。
【０１３５】
パケット群Ｐｂの最後のパケットは、シェーピング部での待ち時間５．０［ｍｓ］とアクセス区間遅延とユーザ収容装置間遅延の合計５［ｍｓ］の合算値である１０．０［ｍｓ］の遅延を伴って、ユーザ装置２ａからユーザ装置２ｂに送信されることとなる。
【０１３６】
図２９は、上記例においてトークン供給関数計算部１０８が計算したトークン供給関数Ｔｓ（ｔ）を説明するイメージ図である。トークン供給関数計算部１０８はトークン供給部１０９に対して、３．０＜ｔ≦４．０ではパケット群Ｐａに対するトークンのみをシェーピング部１０５へ供給するよう、４．０＜ｔ≦５．０ではパケット群Ｐａに対するトークンとパケット群Ｐｂに対するトークンの合計をシェーピング部１０５へ供給するよう、５．０＜ｔ≦６．０ではパケット群Ｐｂに対するトークンのみをシェーピング部１０５へ供給するようなトークン供給関数Ｔｓ（ｔ）を生成する。
【０１３７】
以上の通り、本実施形態の通信システム３０４によって、要求遅延の下限と上限の間の遅延時間で通信が転送されることを保証する遅延保証を実現できていることがわかる。
【符号の説明】
【０１３８】
１：通信装置（ユーザ収容装置＃Ａ、＃Ｂ、＃Ｃ、＃Ｄ）
２：ユーザ装置（ユーザ装置ａ、ｂ、ｃ、ｄ）
３：通信ネットワーク
１００：送信部
１０１：ユーザ側受信部
１０２：優先情報付与部
１０３：フロー分離部
１０４：メータリング部
１０５：シェーピング部
１０６：スケジューラ
１０７：ＮＷ側送信部
１０８：トークン供給関数計算部
１０９：トークン供給部
１１０：フロー情報テーブル
１１１：トークン供給動作設定テーブル
１１２：遅延情報テーブル
１１３：遅延測定部
１１４：遅延測定動作設定テーブル
２００：受信部
２０１：ＮＷ側受信部
２０２：優先情報削除部
２０３：ユーザ側送信部
２０４：遅延測定パケット抽出部
３０１、３０２：通信システム
【図１】
2019118072.tif 000003
【図２】
2019118072.tif 000004
【図３】
2019118072.tif 000005
【図４】
2019118072.tif 000006
【図５】
2019118072.tif 000007
【図６】
2019118072.tif 000008
【図７】
2019118072.tif 000009
【図８】
2019118072.tif 000010
【図９】
2019118072.tif 000011
【図１０】
2019118072.tif 000012
【図１１】
2019118072.tif 000013
【図１２】
2019118072.tif 000014
【図１３】
2019118072.tif 000015
【図１４】
2019118072.tif 000016
【図１５】
2019118072.tif 000017
【図１６】
2019118072.tif 000018
【図１７】
2019118072.tif 000019
【図１８】
2019118072.tif 000020
【図１９】
2019118072.tif 000021
【図２０】
2019118072.tif 000022
【図２１】
2019118072.tif 000023
【図２２】
2019118072.tif 000024
【図２３】
2019118072.tif 000025
【図２４】
2019118072.tif 000026
【図２５】
2019118072.tif 000027
【図２６】
2019118072.tif 000028
【図２７】
2019118072.tif 000029
【図２８】
2019118072.tif 000030
【図２９】
2019118072.tif 000031