(57)【要約】【課題】一度に送信したいパケット群をまとめて送信するアプリケーションに対して、同一優先度の通信フロー間の公平性を保ちつつ、連続したパケット群全てを低遅延に転送する。【解決手段】パケット転送装置１００は、受信パケットを分類するパケット分類部１２０と、受信パケットを分類するパケット分類部１２０と、優先度が設定された分類ごとのキュー１４０と、キューに設定された優先度に基づく所定のルールでキューからパケットを取り出すデキュー処理部１５０と、通信フローに係るパケットの受信量が一時的に又は間欠的に通常時よりも増大していることを検出すると、当該増大期間、当該通信フローに係るパケットを保持するキューの優先度を一時的に通常時の優先度よりも上げるよう制御するキュー優先度制御部１３０を備える。【選択図】図３
2020072336.tif 000002
【特許請求の範囲】
【請求項１】
受信したパケットを少なくとも同一の通信フローに係る一連のパケットが同一分類となるように分類するパケット分類部と、前記分類されたパケットを分類ごとに保持するとともに優先度が設定されたキューと、キューに設定された優先度に基づく所定のルールでキューからパケットを取り出すデキュー処理部とを備え、受信したパケットを外部に送信するパケット転送装置において、
通信フローに係るパケットの受信量が一時的に又は間欠的に通常時よりも増大していることを検出すると、当該増大期間、当該通信フローに係るパケットを保持するキューの優先度を一時的に通常時の優先度よりも上げるよう制御するキュー優先度制御部を備える
ことを特徴とするパケット転送装置。
【請求項２】
前記キュー優先度制御部は、通信フローに係るパケットの到着間隔に基づき通信フローに係るパケットの受信量が一時的に又は間欠的に通常時よりも増大していることを検出する
ことを特徴とする請求項１記載のパケット転送装置。
【請求項３】
前記キュー優先度制御部は、受信したパケットのペイロードに格納され且つアプリケーションレベルにおけるヘッダに格納されている情報に基づき通信フローに係るパケットの受信量が一時的に又は間欠的に通常時よりも増大していることを検出する
ことを特徴とする請求項１記載のパケット転送装置。
【請求項４】
前記キュー優先度制御部は、通信フローに係るパケットの受信量が通常時まで復帰したことを検出すると当該通信フローに係るパケットを保持するキューの優先度を一時的に通常時の優先度よりも下げ、その後に当該キューの優先度を通常時の優先度に設定するよう制御する
ことを特徴とする請求項１乃至３何れか１項記載のパケット転送装置。
【請求項５】
前記キュー優先度制御部は、キューの優先度を一時的に通常時の優先度よりも下げた後における、他の通信フローの数と、他の通信フローに係るパケットのパケット転送装置からの送信量と、キューの優先度を通常時よりも上げた期間内における当該キューからのパケット送信量の任意の組合せに基づき、当該キューの優先度を通常時の優先度に設定する時期を決定する
ことを特徴とする請求項４記載のパケット転送装置。
【請求項６】
受信したパケットを少なくとも同一の通信フローに係る一連のパケットが同一分類となるように分類するパケット分類部と、前記分類されたパケットを分類ごとに保持するとともに優先度が設定されたキューと、キューに設定された優先度に基づき所定のルールでキューからパケットを取り出すデキュー処理部とを備え、受信したパケットを外部に送信するパケット転送装置におけるパケット処理方法であって、
キュー優先度制御部が、通信フローに係るパケットの受信量が一時的に又は間欠的に通常時よりも増大していることを検出すると、当該増大期間、当該通信フローに係るパケットを保持するキューの優先度を一時的に通常時の優先度よりも上げるよう制御するステップを備える
ことを特徴とするパケット転送装置におけるパケット処理方法。
【請求項７】
パケットを一時的に保持するバッファを有する複数の受信インターフェースと、パケットを一時的に保持するバッファを有する送信インターフェースと、受信インターフェースのバッファから取り出したパケットをキューに格納するとともに当該キューからパケットを取り出して送信インターフェースに渡すパケット処理部とを備えたパケット転送装置において、
前記パケット処理部は、
受信インターフェースに設定された優先度に基づき所定のルールで受信インターフェースからパケットを取り出すパケット取り出し部と、
通信フローに係るパケットの受信量が一時的に又は間欠的に通常時よりも増大していることを検出すると、当該増大期間、当該通信フローに係るパケットを受信する受信インターフェースの優先度を一時的に通常時の優先度よりも上げるよう制御するインターフェース優先度制御部とを備える
ことを特徴とするパケット転送装置。
【請求項８】
パケットを一時的に保持するバッファを有する複数の受信インターフェースと、パケットを一時的に保持するバッファを有する送信インターフェースと、受信インターフェースのバッファから取り出したパケットをキューに格納するとともに当該キューからパケットを取り出して送信インターフェースに渡すパケット処理部とを備えたパケット転送装置におけるパケット処理方法であって、
前記パケット処理部のパケット取り出し部が、受信インターフェースに設定された優先度に基づき所定のルールで受信インターフェースからパケットを取り出すステップと、
前記パケット処理部のインターフェース優先度制御部が、通信フローに係るパケットの受信量が一時的に又は間欠的に通常時よりも増大していることを検出すると、当該増大期間、当該通信フローに係るパケットを受信する受信インターフェースの優先度を一時的に通常時の優先度よりも上げるよう制御するインターフェース優先度制御部とを備える
ことを特徴とするパケット転送装置のパケット処理方法。
【請求項９】
コンピュータを、請求項１乃至５何れか１項又は請求項７記載のパケット転送装置の各部として機能させることを特徴とするパケット処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部から受信したパケットを転送するパケット転送装置に関する。
【背景技術】
【０００２】
スイッチやルータなどのパケット転送装置は、一般的に、受信したパケットを分類するパケット分類部と、分類されたパケットを分類ごとに保持するキューと、キューからパケットを取り出すパケット取り出し部とを備えている。
【０００３】
最も単純なキューイング方式として、到着したパケットから順に一つのキューに入れ、到着した順にパケットを送信するＦＩＦＯ（First In, First Out）がある。ＦＩＦＯのキューイング遅延増加を解決する方法として、キューイング遅延の増加に伴いパケット破棄確率を増加させるＣｏＤｅｌ（Controlled Delay）（非特許文献１参照）、ＰＩＥ（Proportional Integral Controller Enhanced）（非特許文献２参照）等の方式が提案されている。
【０００４】
また、インターネット通信においてＱｏＳ（Quality of Service）を保証する代表的な手法としてＤｉｆｆＳｅｒｖ（Differentiated Services）（非特許文献３参照）が知られている。ＤｉｆｆＳｅｒｖは、通信フローをいくつかのクラスに分類し、クラス毎に優先順位をつけて制御を行う手法である。優先制御手法としては、例えばＰＱ（Priority Queuing）、ＷＦＱ（Weighted Fair Queuing）、ＬＬＱ（Low Latency Queuing）などがある。これらは、優先度の高いクラスのパケットを優先的に処理、又は帯域保証を行うことでＱｏＳを保証しようとする。また、ＩＥＥＥ  ８０２．１では装置間の時刻同期、時分割送信等によりＱｏＳを保証するＴＳＮ（Time Sensitive Networking）が検討されている。
【０００５】
ところで、近年ＶＲ／ＡＲ（Virtual Reality/Augmented Reality）の普及が本格化している。最近ではＨＭＤ（Head Mount Display）自体にモバイル向けＳｏＣ（System On a Chip）を搭載したものや、ＨＭＤ型のゴーグルにスマートフォンを装着することで簡易にＶＲ体験ができるようになっているが、描写性能や体感品質は高価な最新のＧＰＵ（Graphics Processing Unit）を利用するハイエンドなＨＭＤ製品に劣る。そこで遠隔地のデータセンタ内のＧＰＵによりレンダリングした映像をスマートフォン等の軽量な端末に送ることで、簡易にハイエンドＶＲ体験ができる可能性がある。ＨＭＤを装着するタイプのＶＲでは、人の感覚と映像のずれによって体調が悪くなるＶＲ酔いという症状を引き起こすことが知られているが、ＶＲ酔いを回避する方法の一つに、人の動作がＨＭＤの映像に反映されるまでの時間（Motion to Photon latency）を最大でも２０ｍｓ以下に抑えることが有効と言われている（非特許文献４参照）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】K. Nichols et al., "Controlled Delay Active Queue Management", IETF RFC 8289, Jan 2018, [online], [平成30年10月9日検索], インターネット<URL:https://tools.ietf.org/html/rfc8289>
【非特許文献２】R. Pan et al., "Proportional Integral Controller Enhanced (PIE):  A Lightweight Control Scheme to Address the Bufferbloat Problem", IETF RFC 8033, Feb 2017, [online], [平成30年10月9日検索], インターネット<URL:https://tools.ietf.org/html/rfc8033#ref-HPSR-PIE>
【非特許文献３】cisco systems, "DIFFSERV-THE SCALABLE END-TO-END QUALITY OF SERVICE MODEL", 2005, [online], [平成30年10月9日検索], インターネット<URL:http://www.cisco.com/en/US/technologies/tk543/tk766/technologies_white_paper09186a00800a3e2f.pdf>
【非特許文献４】Mohammed S. Elbamby, Cristina Perfecto, Mehdi Bennis, Klaus Doppler, "Towards Low-Latency and Ultra-Reliable Virtual Reality", IEEE Network, Vol. 32, pp.87-84, Apr 2018
【発明の概要】
【発明が解決しようとする課題】
【０００７】
遠隔地のデータセンタでレンダリングしたＶＲ映像をＭＴＵ（Maximum Transmission Unit）１５００ｂｙｔｅのＩＰ（Internet Protocol）パケットで伝送する場合、フルＨＤ（High Definition）以上の高精細映像では映像１フレームが数十〜数百パケットで構成されるため、１フレームを構成する数十〜数百パケット全ての転送が、２０ｍｓからレンダリング、エンコード、デコード等にかかる処理遅延を除いた時間内に完了する必要がある。
【０００８】
ＣｏＤｅｌやＰＩＥはパケット破棄によりキューイング遅延を低減するため、リアルタイム映像伝送ではパケットロスによりブロックノイズ等を招く原因となる。また１パケット当りのキューイング遅延低減は可能だが、連続するパケット全ての転送遅延低減を保証するものではない。
【０００９】
ＰＱ等を用いて帯域確保を行うことも考えられるが、５０パケットを１ｍｓで伝送するには瞬間的に１０Ｇｂｐｓ回線の６％を占有する必要があり、優先通信が多数存在する場合に全てのユーザの帯域を確保することは難しい。また、帯域確保、優先制御を行う場合も、同一優先度内で同時に複数の通信が行われている場合、映像１フレームのような数十パケットを転送している間に他のフローのパケットが到着すると、キューイング遅延が生じてしまう。
【００１０】
ＴＳＮにより、時刻同期と、時分割送信を利用することで、フロー単位で１フレームを送信することが可能だが、Ｅｎｄ−Ｅｎｄの全ての装置がＴＳＮに対応する必要があり、また、映像フレームのサイズは不均一のため、帯域利用効率が低下する恐れがある。また、映像フレームを識別するためには、ＲＴＰ（Real-time Transport Protocol）等アプリケーションプロトコルの情報を取得する必要があり、スイッチ、ルータ等で識別する場合、処理速度の低下が生じる。
【００１１】
本発明は、上記事情に鑑みてなされたものであり、一度に送信したいパケット群をまとめて送信するアプリケーションに対して、同一優先度の通信フロー間の公平性を保ちつつ、連続したパケット群全てを低遅延に転送するパケット交換処理を行うパケット転送装置及び方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本願発明は、受信したパケットを少なくとも同一の通信フローに係る一連のパケットが同一分類となるように分類するパケット分類部と、前記分類されたパケットを分類ごとに保持するとともに優先度が設定されたキューと、キューに設定された優先度に基づく所定のルールでキューからパケットを取り出すデキュー処理部とを備え、受信したパケットを外部に送信するパケット転送装置において、通信フローに係るパケットの受信量が一時的に又は間欠的に通常時よりも増大していることを検出すると、当該増大期間、当該通信フローに係るパケットを保持するキューの優先度を一時的に通常時の優先度よりも上げるよう制御するキュー優先度制御部を備えることを特徴とする。
【００１３】
また、本願発明は、フレームを一時的に保持するバッファを有する複数の受信インターフェースと、フレームを一時的に保持するバッファを有する送信インターフェースと、受信インターフェースのバッファから取り出したフレームに格納されているパケットをキューに格納するとともに当該キューからパケットを取り出して送信インターフェースに渡すパケット処理部とを備えたパケット転送装置において、前記パケット処理部は、受信インターフェースに設定された優先度に基づき所定のルールで受信インターフェースからパケットを取り出すパケット取り出し部と、通信フローに係るパケットの受信量が一時的に又は間欠的に通常時よりも増大していることを検出すると、当該増大期間、当該通信フローに係るパケットを受信する受信インターフェースの優先度を一時的に通常時の優先度よりも上げるよう制御するインターフェース優先度制御部とを備えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、リアルタイムＶＲ映像トラヒックのような、１映像フレーム分を低遅延に伝送する必要のあるパケット群を検出すると、当該パケット群を保持するキュー／バッファの優先度を一時的に通常時よりも上げ、当該パケット群を伝送後に優先度を下げるよう制御するので、同一優先度の通信フロー間の公平性を保ちつつ、連続したパケット群全てを低遅延に転送することができる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施形態に係る通信システムの全体構成図
【図２】本発明で想定するトラヒックの一例
【図３】第１の実施形態に係るパケット転送装置の機能ブロック図
【図４】キュー管理情報の一例
【図５】デキュー処理部の機能ブロック図
【図６】パケット転送処理のシーケンスチャートの一例
【図７】キュー優先度制御処理のフローチャートの一例
【図８】第２の実施形態に係るパケット転送装置の機能ブロック図
【図９】ＲＴＰパケットのヘッダ構造を説明する図
【図１０】第３の実施形態に係るパケット転送装置の機能ブロック図
【発明を実施するための形態】
【００１６】
（第１の実施の形態）
本発明の第１の実施の形態に係る通信システムについて図面を参照して説明する。図１に本実施の形態に係る通信システムの全体構成を示す。
【００１７】
本実施の形態に係る通信システムは、図１に示すように、サーバ１０と端末２０とは、複数のパケット転送装置１００を経由して通信を行う。通信システムは、図１の構成に限られず、サーバ１０及び端末２０等の通信端末間をパケット転送装置１００を介して通信接続される構成であればよい。
【００１８】
パケット転送装置１００は、主に半導体装置で構成され、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）等の揮発性記憶装置、ハードディスクやフラッシュメモリ等の不揮発性記憶装置、及び外部との通信のための接続を行う通信インターフェースを有する、いわゆる情報処理機器として構成することができる。また、パケット転送装置１００は、物理的なスイッチ、ルータ等のネットワーク機器に限らず、本発明のパケット転送プログラムが動作する物理コンピュータや仮想化されたコンピュータを含む。
【００１９】
本発明においてサーバ１０は、一時的に又は間欠的に通常時よりも単位時間当たりのパケット送出量が増加する期間が生じるアプリケーションを提供する。換言すれば、本発明においてサーバ１０は、一時的に又は間欠的に通常時よりもパケット送出の時間間隔が小さくなる期間が生じるアプリケーションを提供する。
【００２０】
以下の説明では、通常時よりも単位時間当たりのパケット送出量が増加する事象、換言すれば、通常時よりもパケット送出の時間間隔が小さくなる事象を「バースト」と呼ぶものとする。したがって、サーバ１０は一時的に又は間欠的にバースト送信を行うアプリケーションを提供するものである。そして、本発明に係るパケット転送装置１００は、通信フローにバーストが生じた場合であっても、バーストに係る連続したパケット群全てを低遅延で転送することを目的の１つとしている。
【００２１】
一時的に又は間欠的にバースト送信を行うアプリケーションとしては、アプリケーションレベルにおいて一時的に又は間欠的に通常時よりも大きいデータを送信するものや、アプリケーションレベルにおいて一時的に又は間欠的に通常時よりも多数のデータを連続的に送信するものが挙げられる。いずれのアプリケーションであっても、パケットレベルでは、一時的に又は間欠的に通常時よりも単位時間当たりのパケット送出量が増加する期間が生じる。アプリケーションの一例としては、図２に示すように、エンコードしたＶＲ映像フレームを、フレームレート間隔でバースト的に送信するアプリケーションが挙げられる。なお、映像に係るパケットを送信するアプリケーションでは一定周期でパケットが送信されるが、本発明は、一定でなく不均一なトラヒックに対しても有効である。
【００２２】
本実施の形態に係るパケット転送装置１００は、通信フロー別のキュー管理を行い、更に優先度別のクラスにキューを割当て、特定の通信フローに対して、映像１フレームなどの一連のパケット群を送信するときだけ優先クラスに割当てる、すなわち通常時（非バースト時／非輻輳時）における優先度よりも高い優先度に割当てるようキュー制御を行うものである。
【００２３】
また、本実施の形態に係るパケット転送装置１００は、一連のパケット群の識別、換言すれば、バーストが生じているか否かの識別に、前回のパケットが到着してからの経過時間、換言すれば、通信フローに係るパケットの到着間隔を利用する。
【００２４】
また、本実施の形態に係るパケット転送装置１００は、一連のパケット群を優先送信後、優先送信を行ったキューを一定期間非優先クラスに割当てることで公平なキュー制御を行う。ここで、本実施の形態に係るパケット転送装置１００は、非優先クラスに滞在する期間、すなわち通常時の優先度に復帰させるまでの期間を、パケット転送装置１００を現在利用しているフロー数と、優先送信制御中に送信される優先クラス以外のキューからのパケット送信量と、キューの優先度を通常時よりも上げた期間内における当該キューからのパケット送信量の任意の組合せに基づいて制御する。
【００２５】
以降、サーバ１０から端末２０へパケットを送信する例をもって本発明の説明を行う。図３に本実施の形態におけるパケット転送装置の機能ブロック図を示す。なお、ここでは本願の要旨にかかるパケットキューイングについてのみを説明するものとし、例えばルーティング処理などパケット転送装置１００が有する他の機能については説明を省略する。
【００２６】
パケット転送装置１００は、外部のサーバ、端末、他のパケット転送装置等からパケットを受信するパケット受信部１１０と、受信したパケットをフロー毎に分類するパケット分類部１２０と、パケット分類部１２０により分類されたパケットを対応するキューに格納するとともにキューの優先度を動的に制御するキュー優先度制御部１３０と、パケット分類部１２０によって振り分けられたパケットを一時的に格納する複数のキュー１４０と、優先度クラスに応じて何れかのキュー１４０の先頭からパケットを取り出すデキュー処理部１５０と、取り出されたパケットを外部の装置へ送信するパケット送信部１６０と、パケット分類部１２０及びデキュー処理部１５０から情報を取得することでパケット転送装置１００を現在利用している通信フロー(アクティブフロー)数やパケット転送装置１００によるパケット転送数などパケット転送状況情報を管理する転送状況情報管理部１７０とを備える。
【００２７】
ここで通信フローとは、送受信ＩＰアドレス・送受信ポート・プロトコル番号からなる５ｔｕｐｌｅ、あるいは送受信ＩＰアドレス・送受信ポート・プロトコル番号の何れかの情報の組み合わせが同一のパケット群のことを指す。本実施の形態では、パケット分類部１２０において、５ｔｕｐｌｅの値からハッシュ値（５ｔｕｐｌｅハッシュ値）を算出し、このハッシュ値により通信フローを識別している。
【００２８】
キュー１４０は、通信フロー毎に設けられる。各キュー１４０は、高優先度クラス、中優先度クラス、低優先度クラスの何れかに属する。デキュー処理部１５０により、同一優先度クラスのキューからは均等にパケット送信の機会が与えられ、中優先度クラスは、高優先度クラスのキューにパケットが溜まっていないときのみパケット送信の機会が与えられ、低優先度クラスは中優先度クラス及び高優先度クラスのキューにパケットが溜まっていないときのみパケット送信の機会が与えられる。また、各キュー１４０は、本発明によるバースト転送制御の実施を許可するか否かという属性を有する。
【００２９】
パケット転送装置１００は、各キュー１４０の属性を管理するため、図４に例示するようなキュー管理情報を記憶・保持している。キュー管理情報は、図４に示すように、キュー１４０に係る通信フローを識別する５ｔｕｐｌｅハッシュ値と、キュー１４０に割り当てられた優先度クラスと、本発明によるバースト転送制御の実施を許可するか否かを示すバースト許可フラグとを含む。キュー管理情報の実装位置は不問である。
【００３０】
図５にデキュー処理部１５０の機能ブロック図を示す。デキュー処理部１５０は、キュー１４０の状態管理を行い、どのキュー１４０からどれだけのパケットを送信するかを決定し、パケット取り出し部に指示するスケジューラ１５１と、スケジューラ１５１からの指示によりキュー１４０からパケットを取り出すパケット取り出し部１５２と備える。
【００３１】
パケット取り出し部１５２はどのキュー１４０からどれだけパケットが取り出されたかを転送状況情報管理部１７０へ通知する。スケジューラ１５１は転送状況情報管理部１７０から取得したアクティブフロー数をスケジューリングへ反映する。パケット取り出し部１５２は、スケジューラ１５１の指示によりキュー１４０から取り出したパケットをパケット送信部１６０へ送る。
【００３２】
以下、図６及び図７を参照しながら本発明のパケット転送装置１００の各部の機能・動作について説明する。図６はパケット転送処理のシーケンスチャートの一例、図７はキュー優先度制御処理のフローチャートの一例である。
【００３３】
図６に示すように、パケット受信部１１０に届いたパケットは、パケット分類部１２０において、５ｔｕｐｌｅハッシュ値によって各通信フローを識別する（ステップＳ１）。パケット分類部１２０は、受信パケットに係るパケットが通信フローの最初のパケットの場合、換言すれば、前記キュー管理情報に登録されていない場合、新たなキュー１４０の記憶領域を確保するとともにキュー管理情報に当該キュー１４０についての属性情報を追加する。ここで、パケット分類部１２０は、当該通信フローについて本発明によるバースト転送制御を実施するか否かを判定し、実施しないと判定した場合には、キュー管理情報の優先度クラスを初期値として中優先度に設定する。一方、パケット分類部１２０は、当該通信フローについて本発明によるバースト転送制御を実施すると判定した場合には、キュー管理情報のバースト許可フラグをセットするとともに、キュー管理情報の優先度クラスを初期値として中優先度に設定する。バースト送信が許可されたフロー(バースト許可フロー)は、はじめ中優先度クラスに属するが、非輻輳時にはそもそもキュー１４０にはパケットが溜まらないため、他の通信と公平にパケット送信が行われる。
【００３４】
キュー優先度制御部１３０は、パケット分類部１２０からパケットを受け取ると、当該受信パケットを対応するキュー１４０に格納するとともに、当該キュー１４０の優先度の変更制御を行う。以下に、キュー優先度制御部１３０によるキュー優先度の変更制御処理について説明する。なお、キュー優先度の変更は、キュー管理情報の優先度クラスを変更することにより行われる。
【００３５】
キュー優先度制御部１３０は、輻輳が生じて、現在中優先度クラスであるバースト許可フローのキュー１４０に一定数のパケットが溜まった場合、当該キュー１４０を高優先度クラスへ変更し、優先的にパケット送信を行うように制御する（図６のステップＳ２，図７のステップＳ１１０〜Ｓ１１２）。
【００３６】
また、キュー優先度制御部１３０は、高優先度クラスの各キュー１４０に対しては、転送状況情報管理部１７０を用いて、各キュー毎に高優先度クラスに属する間に送信した累計パケット数を計測し、さらにパケットが到着する度に、タイムスタンプ値を利用して、前回のパケットが到着してからの時間を算出し、更に前回パケットが到着してから高優先度クラス以外のクラスから送信されたパケット数を計測する（図７のステップＳ１０３，Ｓ１０４）。
【００３７】
キュー優先度制御部１３０は、前回パケットが到着してからの時間が一定時間を超えていない場合、当該キューの、高優先度クラス以外のクラスから送信されたパケット数をリセットし、高優先度クラスを維持する（図７のステップＳ１０５，Ｓ１０９）。
【００３８】
一方、前回パケットが到着してからの時間が一定時間を超えていた場合、キュー優先度制御部１３０は、バースト送信したい一連のパケットではないと判定し、バースト許可フローのキュー１４０を低優先度クラスへ変更する（図６のステップＳ３，図７のステップＳ１０５，Ｓ１０８）。このとき、前回パケットが到着してから高優先度クラス以外のクラスから送信されたパケット数が一定値を超えていた場合、バースト許可フローとその他のフローで公平にパケット送信ができていると判断し、直ちに中優先度クラスへ変更する（図６のステップＳ４，図７のステップＳ１０６，Ｓ１０７）。前回パケットが到着してから高優先度クラス以外のクラスから送信されたパケット数が閾値を超えていない場合、一定値を超えるまで低優先度クラスを維持する（図７のステップＳ１１３，Ｓ１１４）。
【００３９】
デキュー処理部１５０は、各キュー１４０の優先度クラスに基づき各キュー１４０からパケットを取り出し、パケット送信部１６０を介してパケットを外部の端末２０に送信する。
【００４０】
なお、前述の図７のステップ１０５では、パケット到着間隔を所定の閾値と比較しているが、当該閾値は静的なものであってもよいし、例えば過去のパケット到着間隔から動的に決定するようにしてもよい。後者の方式では、パケット群が不均一間隔で到着する場合にも、一連のパケット群を識別可能となる。
【００４１】
上記処理により、バースト送信に係るパケット群送信時のみ優先制御する代わりに、その後は一定期間パケット送信の優先度を下げることで、他の通信との公平性を保つことが可能となる。また、前述のステップＳ１０７において、他のフローと公平にパケット送信を行っていると判断する閾値に、バースト許可フローが高優先度クラスに属する間に送信した累計パケット数や、過去複数回の累積パケット数の移動平均を用いることでバースト送信量が動的に変わっても公平性を保つことができる。また、パケット群を推定するためのパケット到着間隔の閾値に関しても、過去のパケット到着間隔から算出したジッタ値等により動的に決定することできる。
【００４２】
以上のように、本実施の形態に係るパケット転送装置１００によれば、リアルタイムＶＲ映像トラヒックのような、１映像フレーム分を低遅延に伝送する必要のあるパケット群を、パケット到着間隔から推定することで、Ｌ４以下の制御によって映像フレーム単位の制御が可能となる。
【００４３】
また、本実施の形態に係るパケット転送装置１００によれば、１映像フレーム分のパケット群を識別して優先的に送信することで、軽微な輻輳が生じても映像トラヒックのキューイング遅延を低減することができる。
【００４４】
また、本実施の形態に係るパケット転送装置１００によれば、パケット群を優先して送信した後に該当フローのパケット送信を制限／非優先制御することで、他の通信トラヒックと公平な転送が可能となる。
【００４５】
また、本実施の形態に係るパケット転送装置１００によれば、パケット送信の制限／非優先期間を、現在パケット転送装置１００を利用している通信フロー数と、キュー毎に計測する高優先度クラス以外から送信されたパケット数により算出することで、通信フロー数に依らず公平な制御が可能となる。
【００４６】
また、本実施の形態に係るパケット転送装置１００によれば、過去のパケット到着間隔から一度にまとめて送信したいパケット群を識別するパケット到着間隔の閾値を決定することで、パケット群が不均一間隔で到着する場合にも、パケット群を識別可能となる。
【００４７】
（第２の実施の形態）
本発明の第２の実施の形態に係るパケット転送装置について図面を参照して説明する。図８に本実施の形態に係るパケット転送装置の全体構成を示す。
【００４８】
本実施の形態に係るパケット転送装置１００が第１の実施の形態と異なる点は、一連のパケット群の識別、換言すれば、バーストが生じているか否かの識別に、アプリケーションレベルにおけるパケットヘッダの先頭から固定長ｂｉｔシフトした格納領域の情報を利用する点にある。以下では相違点について詳述する。
【００４９】
本実施の形態に係るパケット転送装置１００は、図８に示すように、パケットがキュー１４０に振り分けられる前にアプリケーションプロトコルヘッダを直接参照するペイロードチェック部１８０を備えている。他の構成については第１の実施の形態と同様である。
【００５０】
ペイロードチェック部１８０では、トランスポートレイヤ（Ｌ４）におけるペイロードの先頭から固定長分シフトした領域を常に参照し、上位レイヤに含まれる一連のパケット群を識別する情報を取得する。
【００５１】
例えば、図９に示すように、ＲＴＰヘッダの多くのペイロードタイプでは、先頭から９ｂｉｔ目のマーカー領域が映像フレームの最後のパケットを示すフラグとして利用されているため、９ｂｉｔ目を参照するだけで、パケットの到着間隔を測定することなく、映像フレームを識別可能である。
【００５２】
本実施の形態に係るパケット転送装置１００では、第１の実施の形態とは異なりパケットの到着間隔は計測せず、一連のパケット群の最後を示すパケットをペイロードチェック部１８０によって認識した際に、高優先度クラスから低優先度クラスへ変更し、高優先度クラス以外のクラスから送信されたパケット数の計測を行う。
【００５３】
（第３の実施の形態）
本発明の第３の実施の形態に係るパケット転送装置について図面を参照して説明する。図１０に本実施の形態に係るパケット転送装置の全体構成を示す。
【００５４】
ルータなどのパケット転送装置は、一般的に、複数の受信インターフェース及び送信インターフェースを備えている。上記第１及び第２の実施の形態では、送信側インターフェースのデキュー処理について扱っている。すなわち、上記第１及び第２の実施の形態では、各受信インターフェースにおいて受信され、必要に応じてルーティング処理などが実施された各パケットについて、送信インターフェースに送る際におけるキューイング処理について述べている。
【００５５】
一方、本実施の形態に係るパケット転送装置２００は、受信側インターフェースのエンキュー処理においても特定の受信インターフェースからバースト的にパケットをエンキューする処理を行う際に、本発明のアルゴリズムを適用したものである。
【００５６】
本実施の形態に係るパケット転送装置２００は、図１０に示すように、パケットを一時的に保持するバッファ２１１を有する複数の受信インターフェース２１０と、パケット処理部２２０と、パケットを一時的に保持するバッファ２３１を有する送信インターフェース２３０とを備えている。
【００５７】
パケット転送装置２００は、主に半導体装置で構成され、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）等の揮発性記憶装置、ハードディスクやフラッシュメモリ等の不揮発性記憶装置、及び外部との通信のための接続を行う通信インターフェースを有する、いわゆる情報処理機器として構成することができる。また、パケット転送装置２００は、物理的なスイッチ、ルータ等のネットワーク機器に限らず、本発明のパケット転送プログラムが動作する物理コンピュータや仮想化されたコンピュータを含む。
【００５８】
パケット処理部２２０は、受信インターフェース２１０のバッファ２１１に保持されているパケットを取り出すパケット取り出し部２２１と、パケット取り出し部２２１で取り出されたパケットをキュー（図示省略）に格納するとともに所定のキューイングアルゴリズムにしたがってキューから取り出したパケットを送信インターフェース２３０に渡すキューイング処理部２２２とを備えている。キューイング処理部２２２におけるキューイングアルゴリズムは不問であり、従来周知のものを用いることができる。
【００５９】
本実施の形態では、パケット取り出し部２２１は、上記第１及び第２の実施の形態と同様のアルゴリズムにしたがって複数の受信インターフェース２１０のバッファ２１１からパケットを取り出す。ただし、受信インターフェース２１０で５ｔｕｐｌｅのフロー分類処理を行うのは高負荷であるため、例えばフロー単位ではなく、インターフェース単位で優先度を割当てることが考えられる。
【００６０】
そこで本実施の形態では、複数の受信インターフェース２１０に優先度を割り当てておき、パケット取り出し部２２１は当該優先度に基づき所定のルールで何れかの受信インターフェース２１０のバッファ２１１からパケットを取り出す。また、パケット処理部２２０は、図１０に示すように、通信フローに係るパケットの受信量が一時的に又は間欠的に通常時よりも増大していることを検出すると、すなわちバーストの発生を検出すると、当該増大期間、当該通信フローに係るパケットを受信する受信インターフェースの優先度を一時的に通常時の優先度よりも上げるよう制御するインターフェース優先度制御部２２３を備えている。インターフェース優先度制御部２２３における優先度変更制御については第１及び第２の実施の形態と同様である。
【００６１】
以上、本発明の実施の形態について詳述したが、本発明はこれに限定されるものではない。例えば、第１及び第２の実施の形態では、５ｔｕｐｌｅにより通信フローを識別しているが、５ｔｕｐｌｅを構成する任意の要素の組み合わせにより通信フローを識別するようにしてもよい。
【００６２】
また、上記実施の形態では、キュー１４０及び受信インターフェース２１０の優先度として高中低の３段階の何れかに割り当てるようにしたが、各優先度をさらに細分化させてもよい。
【００６３】
また、上記各実施の形態では、通常時から通信フローに係るパケットの受信量が一時的に又は間欠的に通常時よりも増大している期間に移行したこと、すなわちバースト期間へ移行したことを検出する手段として、通信フローに保持されているキュー１４０のデータ量に基づく判定処理を行っていたが、当該バースト期間から通常時に移行したことの検出と同様にパケット到着間隔に基づく判定処理としてもよい。
【符号の説明】
【００６４】
１０…サーバ
２０…端末
１００…パケット転送装置
１１０…パケット受信部
１２０…パケット分類部
１３０…キュー優先度制御部
１４０…キュー
１５０…デキュー処理部
１５１…スケジューラ
１５２…パケット取り出し部
１６０…パケット送信部
１７０…転送状況管理部
１８０…ペイロードチェック部
【図１】
2020072336.tif 000003
【図２】
2020072336.tif 000004
【図３】
2020072336.tif 000005
【図４】
2020072336.tif 000006
【図５】
2020072336.tif 000007
【図６】
2020072336.tif 000008
【図７】
2020072336.tif 000009
【図８】
2020072336.tif 000010
【図９】
2020072336.tif 000011
【図１０】
2020072336.tif 000012