(57)【要約】【課題】エッジノードにおけるパケット廃棄を抑止する。【解決手段】サーバとユーザ端末との間を接続するネットワークのデータの送受信を制御する通信装置と、管理装置とを備えるネットワークシステムであって、ネットワークはエッジ装置を含み、通信装置は、通信フロー毎にキューを保持し、キューを用いてデータの送受信を制御する中継部を有し、管理装置は、データ廃棄が発生している通信フローを特定し、当該通信フローに対応するキューを用いた通信制御の設定の変更内容を算出し、変更内容を含む変更指示を通信装置に送信する監視部を有し、中継部は、変更指示に含まれる変更内容に基づいて、当該通信フローに対応するキューを用いた通信制御の設定を変更する。【選択図】図１
2020017903.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ端末にサービスを提供するサーバと前記ユーザ端末との間を接続するネットワークのデータの送受信を制御する通信装置と、前記通信装置を制御する管理装置とを備える通信システムであって、
前記ネットワークは、前記ユーザ端末と前記通信装置との間に配置されるエッジ装置を含み、
前記通信装置は、前記ユーザ端末及び前記サーバとの間の通信フロー毎に、前記サーバから前記ユーザ端末に対して送信されるデータを一時的に蓄積するキューを保持し、前記キューを用いてデータの送受信を制御する中継部を有し、
前記管理装置は、データ廃棄が発生している通信フローを特定し、前記特定された通信フローに対応するキューを用いた通信制御の設定の変更内容を算出し、前記変更内容を含む変更指示を前記通信装置に送信する監視部を有し、
前記中継部は、前記変更指示を受信した場合、前記変更指示に含まれる前記変更内容に基づいて、前記特定された通信フローに対応するキューを用いた通信制御の設定を変更することを特徴とする通信システム。
【請求項２】
請求項１に記載の通信システムであって、
前記監視部は、
前記エッジ装置の稼働状態に関する情報である稼働状態情報を参照して、前記エッジ装置においてデータ廃棄が発生しているか否かを判定し、
前記エッジ装置においてデータ廃棄が発生していると判定された場合、前記稼働状態情報に基づいて、データ廃棄が発生している通信フローを特定し、
前記特定された通信フローに関する情報を含む問合せを前記通信装置に行うことによって、前記特定された通信フローに対応するキューを特定することを特徴とする通信システム。
【請求項３】
請求項２に記載の通信システムであって、
前記中継部は、前記キュー毎に、制御帯域に基づいて、前記キューに蓄積されたデータの送信時に帯域制御を行う帯域制御部を有し、
前記監視部は、前記特定された通信フローに対応するキューの新規キュー長及び前記特定された通信フローに対応するキューの前記帯域制御部に設定する新規制御帯域を、前記変更内容として算出することを特徴とする通信システム。
【請求項４】
請求項３に記載の通信システムであって、
前記監視部は、前記エッジ装置及び前記ユーザ端末を接続する回線の帯域に基づいて前記新規制御帯域を算出することを特徴とする通信システム。
【請求項５】
ユーザ端末にサービスを提供するサーバと前記ユーザ端末との間を接続するネットワークのデータの送受信を制御する通信装置と、前記通信装置を制御する管理装置とを備えるネットワークシステムにおける通信制御方法であって、
前記ネットワークは、前記ユーザ端末と前記通信装置との間に配置されるエッジ装置を含み、
前記通信装置は、前記ユーザ端末及び前記サーバとの間の通信フロー毎に、前記サーバから前記ユーザ端末に対して送信されるデータを一時的に蓄積するキューを保持し、前記キューを用いてデータの送受信を制御する中継部を有し、
前記管理装置は、前記キューを用いた通信制御の設定を変更する監視部を有し、
前記通信制御方法は、
前記監視部が、データ廃棄が発生している通信フローを特定する第一のステップと、
前記監視部が、前記特定された通信フローに対応するキューを用いた通信制御の設定の変更内容を算出する第二のステップと、
前記監視部が、前記変更内容を含む変更指示を前記通信装置に送信する第三のステップと、
前記中継部が、前記変更指示を受信した場合、前記変更指示に含まれる前記変更内容に基づいて、前記特定された通信フローに対応するキューを用いた通信制御の設定を変更する第四のステップと、を含むことを特徴とする通信制御方法。
【請求項６】
請求項５に記載の通信制御方法であって、
前記第一のステップは、
前記監視部が、前記エッジ装置の稼働状態に関する情報である稼働状態情報を参照して、前記エッジ装置においてデータ廃棄が発生しているか否かを判定するステップと、
前記監視部が、前記エッジ装置においてデータ廃棄が発生していると判定された場合、前記稼働状態情報に基づいて、データ廃棄が発生している通信フローを特定するステップと、
前記監視部が、前記特定された通信フローに関する情報を含む問合せを前記通信装置に行うことによって、前記特定された通信フローに対応するキューを特定するステップと、を含むことを特徴とする通信制御方法。
【請求項７】
請求項６に記載の通信制御方法であって、
前記中継部は、前記キュー毎に、制御帯域に基づいて、前記キューに蓄積されたデータの送信時に帯域制御を行う帯域制御部を有し、
前記第二のステップは、前記監視部が、前記特定された通信フローに対応するキューの新規キュー長及び前記特定された通信フローに対応するキューの前記帯域制御部に設定する新規制御帯域を、前記変更内容として算出するステップを含むことを特徴とする通信制御方法。
【請求項８】
請求項７に記載の通信制御方法であって、
前記第二のステップは、前記監視部が、前記エッジ装置及び前記ユーザ端末を接続する回線の帯域に基づいて前記新規制御帯域を算出するステップを含むことを特徴とする通信制御方法。
【請求項９】
ユーザ端末にサービスを提供するサーバと前記ユーザ端末との間を接続するネットワークのデータの送受信を制御する通信装置であって、
前記ネットワークは、前記ユーザ端末と前記通信装置との間に配置されるエッジ装置を含み、
前記通信装置は、
前記ユーザ端末及び前記サーバとの間の通信フロー毎に、前記サーバから前記ユーザ端末に対して送信されるデータを一時的に蓄積するキューを保持し、前記キューを用いてデータの送受信を制御する中継部と、
データ廃棄が発生している通信フローを特定し、前記特定された通信フローに対応するキューを用いた通信制御の設定の変更内容を算出し、前記中継部に前記変更内容を出力する監視部と、を有し、
前記中継部は、前記変更内容が入力された場合、当該変更内容に基づいて、前記特定された通信フローに対応するキューを用いた通信制御の設定を変更することを特徴とする通信装置。
【請求項１０】
請求項９に記載の通信装置であって、
前記監視部は、
前記エッジ装置の稼働状態に関する情報である稼働状態情報を参照して、前記エッジ装置においてデータ廃棄が発生しているか否かを判定し、
前記エッジ装置においてデータ廃棄が発生していると判定された場合、前記稼働状態情報に基づいて、データ廃棄が発生している通信フローを特定し、
前記特定された通信フローに関する情報を含む問合せを前記中継部に行うことによって、前記特定された通信フローに対応するキューを特定することを特徴とする通信装置。
【請求項１１】
請求項１０に記載の通信装置であって、
前記中継部は、前記キュー毎に、制御帯域に基づいて、前記キューに蓄積されたデータの送信時に帯域制御を行う帯域制御部を有し、
前記監視部は、前記特定された通信フローに対応するキューの新規キュー長及び前記特定された通信フローに対応するキューの前記帯域制御部に設定する新規制御帯域を、前記変更内容として算出することを特徴とする通信装置。
【請求項１２】
請求項１１に記載の通信装置であって、
前記監視部は、前記エッジ装置及び前記ユーザ端末を接続する回線の帯域に基づいて前記新規制御帯域を算出することを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク内でバーストトラフィックなどによるパケット廃棄を抑止する通信システム、通信制御方法、及び通信装置に関する。
【背景技術】
【０００２】
近年、動画配信サービス等の発展によるネットワークトラフィックの増大により、ネットワーク内におけるコアノードでは、より広帯域な回線を収容することが求められている。しかし、一般的にネットワーク内では、エッジノードがユーザ等を収容する回線はコアノードが収容する回線と比べ低速である。そのため、回線速度のギャップによるパケットの廃棄が、エッジノードでは問題となる。
【０００３】
上記問題を解決する機能を、コアノードとなるネットワークスイッチ等の通信装置に適用する技術として、例えば特許文献１に記載の技術が知られている。
【０００４】
特許文献１には、「サーバから配信されるユーザ宛てのパケットをネットワークへ送信するとともにネットワークを介して受信したパケットをサーバに送信する通信装置であって、前記ユーザ宛てのパケットは、前記ネットワークのエッジに位置するエッジ装置からユーザに送信されるものであり、通信装置は、前記サーバと前記ネットワーク間で送受信するパケットの中継およびパケットの帯域制御を行うとともにパケットに含まれるパケット関連情報を抽出するパケット中継部と、前記パケット関連情報と前記エッジ装置とユーザ間の回線の帯域情報に基づいて、ユーザ毎に前記エッジ装置における前記ユーザ宛ての送信キューのキュー長の推定値である仮想キュー長を計算して保持するとともに、前記仮想キュー長および予め定めた条件に基づいてユーザ毎に帯域制御の要否を判断する仮想キュー長計算部と、前記仮想キュー長計算部における判断結果に基づいて、前記パケット中継部においてユーザ毎に該ユーザ宛てのパケットの帯域制御を行うよう前記パケット中継部および前記仮想キュー長計算部を制御する制御部とを有する通信装置。」が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−１８８８７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ネットワーク内において、サーバからユーザに向けたトラフィックは、高速であるサーバ回線を有する通信装置から、コアノードを含むネットワークを介して、ユーザ回線を収容するエッジノードに送信される。ユーザ回線を収容するエッジノードは、ユーザ回線に向けたトラフィックを蓄積するキューを有するが、ユーザ回線はネットワーク内の回線と比較し低速であるため、キューが溢れてパケットが廃棄される場合がある。
【０００７】
特許文献１では、コアノードとなる通信装置を介して送受信されるパケットの関連情報とエッジノードとユーザ間の回線の帯域情報に基づいて、ユーザ毎にエッジノードにおけるユーザ宛ての送信キューのキュー長の推定値である仮想キュー長を計算して保持するとともに、仮想キュー長および予め定めた条件に基づいてユーザ毎に帯域制御の要否を判断し、コアノードにおけるパケット中継部においてユーザ毎に当該ユーザ宛てのパケットの帯域制御を行う。
【０００８】
そのため、特許文献１の手法では、コアノード配下のネットワークにおけるトラフィックの揺らぎに対応できないという課題がある。また、特許文献１の手法は、コアノードを介さないエッジノード間の通信に対応できないという課題がある。なお、コアノードを介さないエッジノード間の通信とは、例えば、ＶｏＩＰ（Ｖｏｉｃｅ  Ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）システム等でみられる、ユーザ間で直接通信を行うこと等を指す。
【０００９】
本発明の目的は、コアノードにおいて、トラフィックの経路及びコアノード以外の通信装置の機能の有無に関わらず、エッジノードにおけるパケット廃棄を抑止する通信システム、方法、及び装置を実現する。
【課題を解決するための手段】
【００１０】
本願において開示される発明の代表的な一例を示せば以下の通りである。ユーザ端末にサービスを提供するサーバと前記ユーザ端末との間を接続するネットワークのデータの送受信を制御する通信装置と、前記通信装置を制御する管理装置とを備えるネットワークシステムであって、前記ネットワークは、前記ユーザ端末と前記通信装置との間に配置されるエッジ装置を含み、前記通信装置は、前記ユーザ端末及び前記サーバとの間の通信フロー毎に、前記サーバから前記ユーザ端末に対して送信されるデータを一時的に蓄積するキューを保持し、前記キューを用いてデータの送受信を制御する中継部を有し、前記管理装置は、データ廃棄が発生している通信フローを特定し、前記特定された通信フローに対応するキューを用いた通信制御の設定の変更内容を算出し、前記変更内容を含む変更指示を前記通信装置に送信する監視部を有し、前記中継部は、前記変更指示を受信した場合、前記変更指示に含まれる前記変更内容に基づいて、前記特定された通信フローに対応するキューを用いた通信制御の設定を変更する。
【発明の効果】
【００１１】
本発明の一態様によれば、通信装置（コアノード）は、エッジ装置（エッジノード）におけるパケット廃棄を抑止することができる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】実施例１における通信システムの構成例を示す図である。
【図２】実施例１のコントローラの構成例を示す図である。
【図３】実施例１のコアノードの構成例を示す図である。
【図４】実施例１のコントローラのメモリに格納されるエッジノード情報のデータ構造の一例を示す図である。
【図５】実施例１のコントローラのメモリに格納されるコアノード情報のデータ構造の一例を示す図である。
【図６】実施例１のコントローラが実行する処理を説明するフローチャートである。
【図７】実施例１のコアノードが実行する処理を説明するフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明に係る実施例を添付図面を用いて説明する。各図において共通の構成については同一の参照符号が付されている。
【実施例１】
【００１４】
実施例１では、サーバからユーザ端末に対してサービスを提供するためのネットワークシステムを一例として本発明について説明する。例えば、サーバは、映像及び音楽等をユーザ端末に対して配信する。
【００１５】
図１は、実施例１のネットワークシステムの構成の一例を示す図である。
【００１６】
ネットワークシステムは、コントローラ１００、コアノード２００、複数のエッジノード３００、複数のサーバ４００、複数のユーザ端末５００、及び複数の中継装置から構成されるエッジネットワーク７００を含む。エッジネットワーク７００は、一つ以上の中継装置から構成される。なお、エッジネットワーク７００は、サーバ４００及びユーザ端末５００を接続するネットワークの一部を構成する。
【００１７】
コントローラ１００及びコアノード２００は、回線６００を介して接続される。サーバ４００−１及びコアノード２００は、回線６１０−１を介して接続され、また、サーバ４００−２及びコアノード２００は、回線６１０−２を介して接続される。コアノード２００及びエッジノード３００−１は、回線６２０、エッジネットワーク７００、及び回線６３０−１を介して接続され、また、コアノード２００及びエッジノード３００−２は、回線６２０、エッジネットワーク７００、及び回線６３０−２を介して接続される。エッジノード３００−１及びユーザ端末５００−１は、回線６４０−１を介して接続され、エッジノード３００−２及びユーザ端末５００−２は、回線６４０−２を介して接続される。
【００１８】
なお、装置間の接続方式は、有線又は無線のいずれもよい。接続方式が有線である場合、装置間は、メタルケーブル及び光ケーブル等の接続線を用いて接続される。また、コアノード２００及び各エッジノード３００は、エッジネットワーク７００を介せずに直接接続されてもよい。
【００１９】
サーバ４００は複数のユーザ端末５００に対してサービスを提供するため、回線６１０は、回線６４０よりも高速な回線が使用される。例えば、回線６１０−１、６１０−２は、それぞれ、１０Ｇｂｐｓ、４０Ｇｂｐｓであり、回線６４０−１、６４０−２は、それぞれ１００Ｍｂｐｓ、１Ｇｂｐｓである。
【００２０】
サーバ４００は、動画等のデータの配信サービス等を提供する。なお、ネットワーク内では、データはパケットとして送受信される。サーバ４００は、図示しないＣＰＵ、メモリ、及びネットワークインタフェース等を備える。ユーザ端末５００は、サービスを利用するユーザが操作する端末である。ユーザ端末５００は、ＣＰＵ、メモリ、及びネットワークインタフェース等を備える。一般的にサーバ４００は、複数のユーザ端末５００に対してサービスを提供するため、ユーザ端末５００より処理能力が高い。
【００２１】
コントローラ１００は、エッジノード３００の状態を監視し、監視結果に基づいてコアノード２００を制御する管理装置である。コントローラ１００の構成の詳細については図２を用いて説明する。
【００２２】
コアノード２００及びエッジノード３００は、サーバ４００及びユーザ端末５００を接続するネットワークにおいて送受信されるデータ（パケット）の転送制御を行う通信装置である。
【００２３】
コアノード２００は、パケット中継装置２１０を備える。コアノード２００の構成の詳細については図３を用いて説明する。
【００２４】
エッジノード３００は、図示しないＣＰＵ、メモリ、及びネットワークインタフェース等を備える。エッジノード３００は、ユーザ端末５００毎にユーザキュー３１０を保持する。エッジノード３００は、サーバ４００から送信されたパケットをユーザキュー３１０に蓄積し、回線６４０の帯域及びユーザ端末５００の負荷に応じて、ユーザキュー３１０からパケットを読み出し、ユーザ端末５００に送信する。
【００２５】
エッジノード３００のメモリには、ポートの回線速度の設定情報、ＶＬＡＮの設定情報、パケット送信に使用する情報、並びに、受信パケット数、送信パケット数、及び廃棄パケット数等の統計データを管理するログ等、エッジノード３００の稼働状態に関する情報が格納される。以下の説明では、エッジノード３００の稼働状態に関する情報を稼働状態情報とも記載する。なお、パケット送信に使用する情報は、レイヤ２のネットワークの場合、ＦＤＢ（Ｆｏｒｗａｒｄｉｎｇ  Ｄａｔａ  Ｂａｓｅ）であり、レイヤ３のネットワークの場合、ＩＰ経路情報である。また、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）に対応するネットワークの場合、ログは、ＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）として蓄積される。
【００２６】
実施例１では、エッジノード３００は、稼働状態情報に対するアクセスを管理する機能を有するものとする。例えば、各エッジノード３００に管理用のＩＰアドレスを割り当て、各エッジノード３００のポートからＩＰアドレスに対してアクセスすることで、エッジノード３００の管理を行うことができるものとする。
【００２７】
エッジノード３００に設定するＩＰアドレスは、手動で設定してもよいし、ネットワークに設置されたＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバを用いて自動的に設定してもよい。
【００２８】
また、管理者以外のユーザによるアクセスからエッジノード３００を保護するために、当該ＩＰアドレスにアクセスできるＶＬＡＮを制限してもよい。例えば、管理用のＩＰアドレスにアクセスできるＶＬＡＮを管理ＶＬＡＮとして設定すればよい。コントローラ１００は、全ＩＰアドレスに対するｐｉｎｇ（ブロードキャストｐｉｎｇ）を行うことでエッジノード３００を発見できる。
【００２９】
実施例１では、コアノード２００は、通信フローの宛先情報と、出力ポート及びユーザキュー２１１（図３参照）の識別情報との対応関係を示す情報を保持するものとする。以下の説明では当該情報をキュー割当情報とも記載する。レイヤ２のネットワークの場合、宛先情報はＭＡＣアドレスであり、レイヤ３のネットワークの場合、宛先情報はＩＰアドレスである。また、コアノード２００は、キュー割当情報に対するアクセスを管理する機能を有するものとする。例えば、コアノード２００に管理用のＩＰアドレスを割り当て、コアノード２００のポートからＩＰアドレスに対してアクセスすることで、コアノード２００の管理を行うことができるものとする。
【００３０】
コアノード２００の管理用のＩＰアドレスの設定方法及び管理方法は、エッジノード３００に設定するＩＰアドレスと同一の方法を適用することができる。
【００３１】
コントローラ１００は、コアノード２００及びエッジノード３００にアクセスするためのＩＰアドレスの情報を予め保持しているものとする。
【００３２】
図２は、実施例１のコントローラ１００の構成例を示す図である。
【００３３】
コントローラ１００は、ＣＰＵ１１０、メモリ１２０、及び通信インタフェース１３０を備える。各ハードウェアは内部バスを介して互いに接続される。
【００３４】
ＣＰＵ１１０は、メモリ１２０に格納されるプログラムを実行する。ＣＰＵ１１０が、プログラムにしたがって処理を実行することによって、特定の機能を実現する機能部（モジュール）として動作する。以下の説明では、特定の機能を実現するプログラムを主語に処理を説明する場合、ＣＰＵ１１０がプログラムを実行していることを示す。
【００３５】
メモリ１２０は、ＣＰＵ１１０が実行するプログラム及びプログラムが使用する情報を格納する。また、メモリ１２０は、プログラムが一時的に使用するワークエリアを含む。メモリ１２０に格納されるプログラム及び情報については後述する。
【００３６】
通信インタフェース１３０は、コアノード２００、エッジノード３００、及び中継装置等の外部装置と通信するためのインタフェースである。コントローラ１００は、通信インタフェース１３０を用いて、外部装置からパケットを受信し、また、外部装置にパケットを送信する。
【００３７】
ここで、メモリ１２０に格納されるプログラム及び情報について説明する。メモリ１２０は、監視プログラム１２１、ノード情報収集プログラム１２２、キュー制御プログラム１２３、エッジノード管理情報１２４、及びコアノード管理情報１２５を保持する。
【００３８】
監視プログラム１２１は、コントローラ１００全体を制御するプログラムである。監視プログラム１２１は、処理の契機の監視し、また、コアノード２００が有するユーザキュー２１１（図３参照）を用いた通信制御の設定の変更が必要か否かを判定する。
【００３９】
ノード情報収集プログラム１２２は、ＳＮＭＰ等を利用して、エッジノード３００及びコアノード２００から情報を収集し、エッジノード管理情報１２４及びコアノード管理情報１２５を生成する。
【００４０】
キュー制御プログラム１２３は、エッジノード管理情報１２４及びコアノード管理情報１２５を参照し、ユーザキュー２１１（図３参照）を用いた通信制御の設定の変更内容を決定する。本実施例では、ユーザキュー２１１のキュー長と、ユーザキュー２１１からのパケット送信時に行われる帯域制御に使用する制御帯域とが決定される。
【００４１】
エッジノード管理情報１２４は、エッジノード３００で発生したパケット廃棄に関する情報を格納する。エッジノード管理情報１２４の詳細については図４を用いて説明する。
【００４２】
コアノード管理情報１２５は、ユーザキュー２１１を用いた通信制御の設定に関する情報を格納する。コアノード管理情報１２５の詳細については図５を用いて説明する。
【００４３】
なお、コントローラ１００が保持するプログラムは、機能毎に複数のプログラムに分けてもよいし、複数のプログラムを一つのプログラムにまとめてもよい。例えば、ノード情報収集プログラム１２２及びキュー制御プログラム１２３を監視プログラム１２１に包含するようにしてもよい。
【００４４】
図３は、実施例１のコアノード２００の構成例を示す図である。
【００４５】
コアノード２００は、パケット中継装置２１０、ＣＰＵ２２０、メモリ２３０、及び複数の通信インタフェース２４０を備える。なお、コアノード２００が備える通信インタフェース２４０は一つでもよい。
【００４６】
パケット中継装置２１０は、内部バスを介して複数の通信インタフェース２４０と接続する。また、パケット中継装置２１０、ＣＰＵ２２０、及びメモリ２３０は、内部バスを介して互いに接続する。
【００４７】
ＣＰＵ２２０及びメモリ２３０は、ＣＰＵ１１０及びメモリ１２０と同一のものである。ＣＰＵ２２０は、コントローラ１００が決定した通信制御の設定に基づいて、パケット中継装置２１０にキュー長及び制御帯域の変更を指示する。
【００４８】
通信インタフェース２４０は、外部装置からパケットを受信した場合、パケット中継装置２１０にパケットを出力する。このとき、通信インタフェース２４０は、受信したパケットに制御情報を付与する。制御情報は、例えば、通信インタフェース２４０の識別情報及びＶＬＡＮ（Ｖｉｒｔｕａｌ  ＬＡＮ）の識別番号等である。また、通信インタフェース２４０は、パケット中継装置２１０から出力されたパケットを外部装置に送信する。
【００４９】
パケット中継装置２１０は、コアノード２００が受信したパケットの転送及び廃棄等の転送制御を行う。パケット中継装置２１０は、パケット転送に使用する転送情報の高速な検索、パケットのワイヤレートでの通信等、単純かつ高速な命令を実行するため、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等のハードウェアで構成される。
【００５０】
パケット中継装置２１０は、複数のユーザキュー２１１、複数の帯域制御部２１２、及び調停部２１３から構成されるキュー制御機構を複数含む。一つのユーザキュー２１１に対して一つの帯域制御部２１２がひも付くように管理される。また、一つの出力ポートに対して一つのキュー制御機構がひも付くように管理される。すなわち、パケット中継装置２１０は、出力ポートの数と同数のキュー制御機構を含む。
【００５１】
ユーザキュー２１１は、エッジノード３００に接続される複数のユーザ端末５００宛てのパケットを蓄積するキューである。実施例１では、ユーザキュー２１１のキュー長の初期値は予め定められているものとする。ただし、コントローラ１００からの指示によって、ユーザキュー２１１のキュー長は動的に変更される。また、実施例１では、一つのユーザ端末５００に対して一つのユーザキュー２１１が割り当てられるように管理されるものとする。
【００５２】
帯域制御部２１２は、ユーザキュー２１１に格納されるパケットの送信時の帯域制御を行う。具体的には、帯域制御部２１２は、制御帯域に基づいてユーザキュー２１１からパケットを読み出し、通信インタフェース２４０に対してパケットを出力する。制御帯域の初期値は予め設定されているものとする。ただし、コントローラ１００からの指示によって、制御帯域は動的に変更される。
【００５３】
調停部２１３は、各ユーザキュー２１１から出力されるパケットの衝突等を回避するための調整を行う。
【００５４】
ユーザキュー２１１及び帯域制御部２１２は、エッジノード３００で発生するパケットの廃棄を回避するための構成である。実施例１では、コントローラ１００が、エッジノード３００の状態に応じて、キュー長及び制御帯域を動的に変更する。
【００５５】
ここで、コアノード２００がサーバ４００からパケットを受信した場合の処理について説明する。
【００５６】
パケット中継装置２１０は、任意のユーザ端末５００宛てのパケットをサーバ４００から受信した場合、パケットを転送するために使用されるヘッダ情報等に基づいて、転送先のエッジノード３００行きの出力ポートを特定し、また、ハッシュ値を算出する。例えば、レイヤ２のネットワークの場合、パケット中継装置２１０は、宛先ＭＡＣアドレス（Ｄｅｓｔｉｎａｔｉｏｎ＿ＭＡＣ＿Ａｄｄｒｅｓｓ）からハッシュ値を算出し、レイヤ３のネットワークの場合、パケット中継装置２１０は、宛先ＩＰアドレス（Ｄｅｓｔｉｎａｔｉｏｎ＿ＩＰ＿Ａｄｄｒｅｓｓ）からハッシュ値を算出する。
【００５７】
パケット中継装置２１０は、特定された出力ポートにひも付くキュー制御機構に含まれるユーザキュー２１１の中から、ハッシュ値に対応するユーザキュー２１１を特定し、当該ユーザキュー２１１にパケットを格納する。
【００５８】
なお、受信したパケットに対応する通信フローの設定が存在しない場合、パケット中継装置２１０は、受信したパケットの格納先を特定されたユーザキュー２１１に設定し、また、当該ユーザキュー２１１にひも付く帯域制御部２１２の制御帯域に初期値を設定することによって、通信フローの設定を行う。例えば、パケット中継装置２１０は、宛先情報と、出力ポート及びユーザキュー２１１の識別情報との対応関係を示す情報を保持する。以下の説明では当該情報をキュー割当情報とも記載する。レイヤ２のネットワークの場合、宛先情報はＭＡＣアドレスであり、レイヤ３のネットワークの場合、宛先情報はＩＰアドレスである。
【００５９】
帯域制御部２１２は、設定された制御帯域にしたがって、ユーザキュー２１１からパケットを読み出し、エッジノード３００に読み出されたパケットを送信する。
【００６０】
図４は、実施例１のコントローラ１００が保持するエッジノード管理情報１２４のデータ構造の一例を示す図である。
【００６１】
エッジノード管理情報１２４は、一つのユーザ端末５００向けの通信フローにおけるパケット廃棄の発生状況を把握するための情報を含むエントリを格納する。図４に示すエッジノード管理情報１２４にはｎ個のエントリが格納される。
【００６２】
エッジノード管理情報１２４に格納されるエントリは、装置ＩＤ１２４０１、出力ポート１２４０２、回線帯域１２４０３、廃棄パケット数１２４０４、Ｄｅｓｔｉｎａｔｉｏｎ＿ＩＰ＿Ａｄｄｒｅｓｓ１２４０５、及びＤｅｓｔｉｎａｔｉｏｎ＿ＭＡＣ＿Ａｄｄｒｅｓｓ１２４０６から構成される。なお、前述したエントリの構成は一例であってこれに限定されない。
【００６３】
装置ＩＤ１２４０１は、パケット廃棄の発生が検出されたエッジノード３００を一意に識別するための識別情報を格納するフィールドである。例えば、コントローラ１００がエッジノード３００に設定されたＩＰアドレスを把握している場合、装置ＩＤ１２４０１には当該ＩＰアドレスが格納される。
【００６４】
出力ポート１２４０２は、パケット廃棄が発生した通信フローを流れるパケットの送信先であるエッジノード３００のポート（出力ポート）の識別情報を格納するフィールドである。実施例１の出力ポート１２４０２には出力ポートの番号が格納される。
【００６５】
回線帯域１２４０３は、出力ポートの回線帯域を格納するフィールドである。
【００６６】
廃棄パケット数１２４０４は、通信フローに対応するユーザキュー３１０におけるパケットの廃棄数を格納するフィールドである。
【００６７】
Ｄｅｓｔｉｎａｔｉｏｎ＿ＩＰ＿Ａｄｄｒｅｓｓ１２４０５及びＤｅｓｔｉｎａｔｉｏｎ＿ＭＡＣ＿Ａｄｄｒｅｓｓ１２４０６は、通信フローを特定するための情報を格納するフィールドである。具体的には、Ｄｅｓｔｉｎａｔｉｏｎ＿ＩＰ＿Ａｄｄｒｅｓｓ１２４０５は、パケットの宛先を示すＩＰアドレスを格納するフィールドである。Ｄｅｓｔｉｎａｔｉｏｎ＿ＭＡＣ＿Ａｄｄｒｅｓｓ１２４０６は、パケットの宛先を示すＭａｃアドレスを格納するフィールドである。
【００６８】
なお、エントリは、Ｄｅｓｔｉｎａｔｉｏｎ＿ＩＰ＿Ａｄｄｒｅｓｓ１２４０５及びＤｅｓｔｉｎａｔｉｏｎ＿ＭＡＣ＿Ａｄｄｒｅｓｓ１２４０６のいずれか一方のみを含んでもよい。
【００６９】
図５は、実施例１のコントローラ１００が保持するコアノード管理情報１２５のデータ構造の一例を示す図である。
【００７０】
コアノード管理情報１２５は、パケット廃棄の発生した一つの通信フローに対するユーザキュー２１１の制御内容を管理するための情報を含むエントリを格納する。図５に示すコアノード管理情報１２５にはｎ個のエントリが格納される。
【００７１】
コアノード管理情報１２５に含まれるエントリは、Ｄｅｓｔｉｎａｔｉｏｎ＿ＩＰ＿Ａｄｄｒｅｓｓ１２５０１、Ｄｅｓｔｉｎａｔｉｏｎ＿ＭＡＣ＿Ａｄｄｒｅｓｓ１２５０２、出力ポート１２５０３、キュー番号１２５０４、Ｌｉｍｉｔキュー長１２５０５、及びキュー帯域１２５０６から構成される。なお、前述したエントリの構成は一例であってこれに限定されない。
【００７２】
Ｄｅｓｔｉｎａｔｉｏｎ＿ＩＰ＿Ａｄｄｒｅｓｓ１２５０１、Ｄｅｓｔｉｎａｔｉｏｎ＿ＭＡＣ＿Ａｄｄｒｅｓｓ１２５０２は、Ｄｅｓｔｉｎａｔｉｏｎ＿ＩＰ＿Ａｄｄｒｅｓｓ１２４０５及びＤｅｓｔｉｎａｔｉｏｎ＿ＭＡＣ＿Ａｄｄｒｅｓｓ１２４０６と同一のフィールドである。Ｄｅｓｔｉｎａｔｉｏｎ＿ＩＰ＿Ａｄｄｒｅｓｓ１２５０１及びＤｅｓｔｉｎａｔｉｏｎ＿ＭＡＣ＿Ａｄｄｒｅｓｓ１２５０２の少なくともいずれかによって特定される通信フローに対して一つのエントリが生成される。
【００７３】
出力ポート１２５０３は、パケット廃棄が発生した通信フローを流れるパケットの送信先であるコアノード２００のポート（出力ポート）の識別情報を格納するフィールドである。実施例１の出力ポート１２５０３には出力ポートの番号が格納される。キュー番号１２５０４は、パケット廃棄が発生した通信フローを流れるパケットを格納するユーザキュー２１１の識別番号を格納するフィールドである。実施例１のキュー番号１２５０４にはユーザキュー２１１の番号が格納される。
【００７４】
なお、キュー番号１２５０４に同一の値が設定されたエントリが二つ以上存在する場合があるが、実施例１のユーザキュー２１１は、出力ポート及びキューの番号の組によって一意に定まるため特に問題とはならない。
【００７５】
Ｌｉｍｉｔキュー長１２５０５は、ユーザキュー２１１のキュー長の最大値を格納するフィールドである。実施例１では、ユーザキュー２１１は、Ｌｉｍｉｔキュー長１２５０５に設定された値以下となるように調整される。
【００７６】
キュー帯域１２５０６は、制御帯域を格納するフィールドである。
【００７７】
複数のコアノード２００が存在するネットワークの場合、コントローラ１００は、コアノード２００毎にコアノード管理情報１２５を保持する。
【００７８】
次に、図６及び図７を用いて、コントローラ１００及びコアノード２００が実行する処理の詳細について説明する。
【００７９】
図６は、実施例１のコントローラ１００が実行する処理を説明するフローチャートである。
【００８０】
監視プログラム１２１は、実行契機を検知した場合、以下で説明する処理を開始する。例えば、監視プログラム１２１は、あらかじめ設定された実行周期を経過したか否かを判定し、実行周期を経過した場合、実行契機を検知したと判定する。なお、監視プログラム１２１は、管理者等から実行指示を受けた場合、実行契機を検知したと判定してもよい。
【００８１】
まず、監視プログラム１２１はノード情報収集プログラム１２２を呼び出す。ノード情報収集プログラム１２２は、ターゲットエッジノード３００を選択して、選択されたターゲットエッジノード３００にアクセスして稼働状態情報を取得し（ステップＳ１０１）、パケット廃棄が発生しているか否かを判定する（ステップＳ１０２）。
【００８２】
具体的には、ノード情報収集プログラム１２２は、エッジノード３００のＩＰアドレスの情報に基づいてターゲットエッジノード３００を選択する。また、ノード情報収集プログラム１２２は、ターゲットエッジノード３００にアクセスして、当該エッジノード３００の稼働状態情報を取得する。ノード情報収集プログラム１２２は、稼働状態情報の一つであるＭＩＢ等に基づいて、ターゲットエッジノード３００においてパケット廃棄が発生している通信フローが存在するか否かを判定する。
【００８３】
パケット廃棄が発生していないと判定された場合、ノード情報収集プログラム１２２は、ステップＳ１０４に進む。
【００８４】
パケット廃棄が発生していると判定された場合、ノード情報収集プログラム１２２は、エッジノード管理情報１２４にエントリを追加し（ステップＳ１０３）、その後、ステップＳ１０４に進む。ステップＳ１０３では、以下のような処理が実行される。
【００８５】
ノード情報収集プログラム１２２は、エッジノード管理情報１２４にエントリを追加し、追加されたエントリの装置ＩＤ１２４０１にターゲットエッジノード３００の識別情報を格納する。ターゲットエッジノード３００の識別情報は、例えば、ＭＩＢに含まれる。
【００８６】
ノード情報収集プログラム１２２は、稼働状態情報の一つであるＭＩＢから、出力ポート、出力ポートに設定される回線帯域、及びパケットの廃棄数を取得し、出力ポート１２４０２、回線帯域１２４０３、及び廃棄パケット数１２４０４に取得した値を設定する。また、ノード情報収集プログラム１２２は、稼働状態情報の一つである経路情報から、出力ポートにひも付けられたＩＰアドレス及びＭａｃアドレスを、通信フローを特定する情報として取得し、Ｄｅｓｔｉｎａｔｉｏｎ＿ＩＰ＿Ａｄｄｒｅｓｓ１２４０５及びＤｅｓｔｉｎａｔｉｏｎ＿ＭＡＣ＿Ａｄｄｒｅｓｓ１２４０６に取得した値を設定する。
【００８７】
なお、一つのエッジノード３００においてパケット廃棄が発生している通信フローが複数存在する場合、エッジノード管理情報１２４には、通信フロー毎にエントリが追加される。以上がステップＳ１０３の処理の説明である。
【００８８】
ステップＳ１０４では、ノード情報収集プログラム１２２は、全てのエッジノード３００へのアクセスが完了したか否かを判定する（ステップＳ１０４）。
【００８９】
全てのエッジノード３００へのアクセスが完了していないと判定された場合、ノード情報収集プログラム１２２は、ステップＳ１０１に戻り、同様の処理を実行する。
【００９０】
全てのエッジノード３００へのアクセスが完了したと判定された場合、ノード情報収集プログラム１２２は、処理の終了を監視プログラム１２１に通知する。監視プログラム１２１は、当該通知を受信した場合、パケット廃棄が発生しているか否かを判定する（ステップＳ１０５）。
【００９１】
具体的には、監視プログラム１２１は、エッジノード管理情報１２４にエントリが存在するか否かを判定する。エッジノード管理情報１２４にエントリが存在する場合、監視プログラム１２１は、パケット廃棄が発生していると判定する。
【００９２】
パケット廃棄が発生していないと判定された場合、監視プログラム１２１は、処理を終了する。
【００９３】
パケット廃棄が発生していると判定された場合、監視プログラム１２１は、ターゲット通信フローを選択する（ステップＳ１０６）。
【００９４】
具体的には、監視プログラム１２１は、エッジノード管理情報１２４からエントリを一つ選択する。
【００９５】
次に、監視プログラム１２１は、コアノード２００からターゲット通信フローに対応するユーザキュー２１１に関する情報を取得するための問合せを行い、コアノード２００から取得した情報に基づいてコアノード管理情報１２５を更新する（ステップＳ１０７）。具体的には、以下のような処理が実行される。
【００９６】
監視プログラム１２１は、ターゲット通信フローを特定するための情報として、ステップＳ１０７において選択されたエントリのＤｅｓｔｉｎａｔｉｏｎ＿ＩＰ＿Ａｄｄｒｅｓｓ１２４０５及びＤｅｓｔｉｎａｔｉｏｎ＿ＭＡＣ＿Ａｄｄｒｅｓｓ１２４０６からアドレスを取得する。以下の説明では、ターゲット通信フローを特定するための情報をターゲット通信フロー情報と記載する。
【００９７】
なお、ターゲット通信フロー情報には、宛先のＩＰアドレス及びＭＡＣアドレスの他に、送信元のＩＰアドレス及びＭＡＣアドレス（Ｓｏｕｒｃｅ＿ＩＰ＿Ａｄｄｒｅｓｓ、Ｓｏｕｒｃｅ＿ＭＡＣ＿Ａｄｄｒｅｓｓ）、並びに、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）及びＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）におけるポート番号のいずれかが含まれてもよい。
【００９８】
監視プログラム１２１はノード情報収集プログラム１２２を呼び出す。ノード情報収集プログラム１２２は、ターゲット通信フロー情報を含む問合せをコアノード２００に行う。
【００９９】
このとき、コアノード２００は、ターゲット通信フロー情報及び経路情報に基づいて出力ポートの識別情報を取得する。コアノード２００は、ターゲット通信フロー情報及び出力ポートの識別情報に基づいてキュー割当情報からユーザキュー２１１の識別情報を取得する。また、コアノード２００は、出力ポートの識別情報に基づいて、出力ポートの設定情報から出力ポートのＬｉｍｉｔキュー長を取得する。コアノード２００は、前述の問合せに対する応答として、出力ポートの識別情報、ユーザキュー２１１の識別情報、及びＬｉｍｉｔキュー長をコントローラ１００に送信する。
【０１００】
ノード情報収集プログラム１２２は、Ｄｅｓｔｉｎａｔｉｏｎ＿ＩＰ＿Ａｄｄｒｅｓｓ１２５０１及びＤｅｓｔｉｎａｔｉｏｎ＿ＭＡＣ＿Ａｄｄｒｅｓｓ１２５０２を参照して、ターゲット通信フロー情報に一致するエントリを検索する。エントリが存在しない場合、ノード情報収集プログラム１２２は、エントリを追加し、追加されたエントリのＤｅｓｔｉｎａｔｉｏｎ＿ＩＰ＿Ａｄｄｒｅｓｓ１２５０１及びＤｅｓｔｉｎａｔｉｏｎ＿ＭＡＣ＿Ａｄｄｒｅｓｓ１２５０２に通信フローの宛先情報であるアドレスを設定する。
【０１０１】
ノード情報収集プログラム１２２は、追加又は検索されたエントリの出力ポート１２５０３、キュー番号１２５０４、及びＬｉｍｉｔキュー長１２５０５に、コアノード２００から取得した値を設定する。
【０１０２】
ノード情報収集プログラム１２２は、ユーザキュー２１１に対応する帯域制御部２１２に設定する新規制御帯域を算出し、追加又は検索されたエントリのキュー帯域１２５０６に算出された値を設定する。ここで、帯域の算出方法について説明する。
【０１０３】
（１）パケット廃棄が発生したエッジノード３００の出力ポートにひも付く通信フローが一つである場合、ノード情報収集プログラム１２２は、式（１）に基づいて制御帯域を算出する。
【０１０４】
【数１】
2020017903.tif 000003
【０１０５】
なお、エッジノード管理情報１２４の装置ＩＤ１２４０１及び出力ポート１２４０２の値の組合せが同一であるエントリの数が、パケット廃棄が発生したエッジノード３００の出力ポートにひも付く通信フローの数となる。
【０１０６】
（２）パケット廃棄が発生したエッジノード３００の出力ポートにひも付く通信フローが複数である場合、ノード情報収集プログラム１２２は、通信フローの数を考慮して、新規制御帯域を算出する。例えば、ノード情報収集プログラム１２２は、式（２）に基づいて制御帯域を算出する。
【０１０７】
【数２】
2020017903.tif 000004
【０１０８】
なお、統計多重効果を考慮する場合、ノード情報収集プログラム１２２は、式（３）に基づいて制御帯域を算出する。ＳＱＲＴは正の平方根を返す関数である。
【０１０９】
【数３】
2020017903.tif 000005
【０１１０】
なお、各通信フローでバーストトラフィックの発生頻度が稀であり、かつ、エッジノード３００の出力ポートにひも付く複数の通信フロー間においてバーストトラフィックが同時に発生しないと推定される場合、ノード情報収集プログラム１２２は、式（１）に基づいて制御帯域を算出してもよい。
【０１１１】
なお、前述の算出式は一例であってこれに限定されない。
【０１１２】
ノード情報収集プログラム１２２は、監視プログラム１２１に処理の完了を通知する。以上がステップＳ１０７の処理の説明である。
【０１１３】
次に、監視プログラム１２１は、キュー制御プログラム１２３を呼び出す。キュー制御プログラム１２３は、コアノード２００にユーザキュー２１１の変更指示を送信する（ステップＳ１０８）。
【０１１４】
具体的には、キュー制御プログラム１２３は、ステップＳ１０７において更新されたエントリから、出力ポート１２５０３、キュー番号１２５０４、Ｌｉｍｉｔキュー長１２５０５、及びキュー帯域１２５０６の値を取得し、取得した値を含むユーザキュー２１１の変更指示をコアノード２００に送信する。その後、キュー制御プログラム１２３は、処理の完了を監視プログラム１２１に通知する。
【０１１５】
なお、コアノード２００がコントローラ１００の機能を有する場合、キュー制御プログラム１２３のユーザキュー２１１の変更指示は、独自の制御フレームを介して出力されてもよい。
【０１１６】
実施例１では、ユーザキュー２１１のキュー長をＬｉｍｉｔキュー長に設定するための変更指示を送信しているが、これに限定されない。キュー制御プログラム１２３が任意のアルゴリズムに基づいて新規キュー長を算出し、Ｌｉｍｉｔキュー長の代わりに、新規キュー長を変更指示に含めてもよい。
【０１１７】
次に、監視プログラム１２１は、エッジノード管理情報１２４からターゲット通信フローに対応するエントリを削除する（ステップＳ１０９）。
【０１１８】
次に、監視プログラム１２１は、全ての通信フローについて処理が完了したか否かを判定する（ステップＳ１１０）。
【０１１９】
具体的には、監視プログラム１２１は、エッジノード管理情報１２４が空であるか否かを判定する。エッジノード管理情報１２４が空である場合、監視プログラム１２１は、全ての通信フローについて処理が完了したと判定する。
【０１２０】
全ての通信フローについて処理が完了していないと判定された場合、監視プログラム１２１は、ステップＳ１０６に戻り、同様の処理を実行する。
【０１２１】
全ての通信フローについて処理が完了したと判定された場合、監視プログラム１２１は、処理を終了する。
【０１２２】
図７は、実施例１のコアノード２００が実行する処理を説明するフローチャートである。
【０１２３】
ＣＰＵ２２０は、実行契機を検知した場合、以下で説明する処理を開始する。実施例１では、コントローラ１００からユーザキュー２１１の変更指示を受信した場合、コアノード２００は実行契機を検知したと判定する。
【０１２４】
ＣＰＵ２２０は、ユーザキュー２１１の変更指示に含まれる出力ポート及びキュー番号に基づいてターゲットユーザキュー２１１を特定する（ステップＳ２０１）。
【０１２５】
次に、ＣＰＵ２２０は、ユーザキュー２１１の変更指示に含まれるキュー長及び帯域に基づいて、ターゲットユーザキュー２１１のキュー長及び帯域を変更する（ステップＳ２０２、ステップＳ２０３）。その後、ＣＰＵ２２０は処理を終了する。
【０１２６】
具体的には、ＣＰＵ２２０は、ユーザキュー２１１の変更指示に含まれる出力ポート１２５０３及びキュー番号１２５０４の値に基づいて、ターゲットユーザキュー２１１を特定する。ＣＰＵ２２０は、ユーザキュー２１１の変更指示に含まれるＬｉｍｉｔキュー長１２５０５の値に基づいて、ターゲットユーザキュー２１１のキュー長を変更する。また、ＣＰＵ２２０は、ユーザキュー２１１の変更指示に含まれるキュー帯域１２５０６の値に基づいて、ターゲットユーザキュー２１１にひも付く帯域制御部２１２に設定する帯域を変更する。
【０１２７】
なお、コアノード２００は、変更されたユーザキュー２１１の設定を初期値に戻すための処理を実行してもよい。例えば、以下のような処理が考えられる。
【０１２８】
監視プログラム１２１は、ステップＳ１０８において、コアノード管理情報１２５のターゲット通信フローに対応するエントリにフラグ及び更新日時を付与する。更新日時は、例えば、キュー制御プログラム１２３を呼び出した日時である。
【０１２９】
監視プログラム１２１は、ステップＳ１１０の処理が完了した後、フラグが付与されているエントリを検索し、当該エントリに付与された更新日時及び現在の日時に基づいて経過時間を算出する。監視プログラム１２１は、経過時間が閾値より大きい場合、当該エントリのＬｉｍｉｔキュー長１２５０５及びキュー帯域１２５０６に初期値を設定し、さらに、フラグ及び更新日時を削除する。その後、監視プログラム１２１は、キュー制御プログラム１２３を介して、コアノード２００にユーザキュー２１１の変更指示を送信する。
【０１３０】
なお、コントローラ１００及びコアノード２００は、別々の装置として記載したが、コアノード２００がコントローラ１００と同等の機能を有する構成でもよい。
【０１３１】
以上で説明したように、実施例１によれば、エッジノード３００のユーザキュー３１０のパケットあふれに起因するパケット廃棄の発生が検知された場合、コントローラ１００は、パケット廃棄が発生した通信フロー（パケットの宛先）に対応するユーザキュー２１１のキュー長及び帯域制御部２１２に設定する制御帯域を変更する。
【０１３２】
エッジノード３００の状態に合わせて、ユーザキュー２１１のキュー長及び制御帯域を変更できるため、リソースを効率的に利用して、パケット廃棄の抑止することができる。
【０１３３】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０１３４】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部をハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。
【符号の説明】
【０１３５】
１００  コントローラ
１１０、２２０  ＣＰＵ
１２０、２３０  メモリ
１２１  監視プログラム
１２２  ノード情報収集プログラム
１２３  キュー制御プログラム
１２４  エッジノード管理情報
１２５  コアノード管理情報
１３０、２４０  通信インタフェース
２００  コアノード
２１０  パケット中継装置
２１１、３１０  ユーザキュー
２１２  帯域制御部
２１３  調停部
３００  エッジノード
４００  サーバ
５００  ユーザ端末
６００、６１０、６２０、６３０、６４０  回線
７００  ネットワーク
【図１】
2020017903.tif 000006
【図２】
2020017903.tif 000007
【図３】
2020017903.tif 000008
【図４】
2020017903.tif 000009
【図５】
2020017903.tif 000010
【図６】
2020017903.tif 000011
【図７】
2020017903.tif 000012