(57)【特許請求の範囲】
【請求項１】
パケットを転送するネットワークノードであって、
転送されるパケットが入出力されるポート、
前記入力されたパケットが一時的に格納されるバッファメモリ、
前記入力されたパケットが出力されるポートを決定する検索エンジン、及び、
特定の種類のパケットの受信から送信までに要する時間の差を調整するタイミング調整部を備え、
前記バッファメモリは、前記入力されたパケットが一時的に格納される少なくとも一つのキューを有し、
前記タイミング調整部は、
前記入力されたパケットが前記特定の種類のパケットであるかを識別し、前記識別された特定の種類のパケットを前記キューの所定の位置に格納し、
前記特定の種類のパケットが格納されるべき所定の位置より前方にパケットが格納されていない空白領域が存在する場合でも、前記特定の種類のパケットを前記所定の位置に格納し、
前記バッファメモリは、前記空白領域より後方にパケットが格納されている領域が存在する場合、１パケットの処理に要する時間毎に、前記バッファメモリに格納されたパケットを１パケット分ずつ前進させ、
前記タイミング調整部は、前記キューの最後尾のパケットが前記特定の種類のパケットであり、かつ、前記キューに前記空白領域が存在する場合、前記特定の種類のパケット以外のパケットを最先の前記空白領域に格納することを特徴とするネットワークノード。
【請求項２】
前記キュー内のパケットの格納位置が後方に移動することを許可するかを示す判定用情報を有し、
前記タイミング調整部は、
前記判定用情報が前記特定の種類のパケットの移動の不許可を示す場合、前記キュー内において、前記特定の種類のパケットの前方にパケットを格納する場合、当該不許可を示すパケットの格納位置が変化しないように、前記キューにパケットを格納することを特徴とする請求項１に記載のネットワークノード。
【請求項３】
前記キューに格納されている前記特定の種類のパケットの数が所定数より多い場合、前記特定の種類のパケットの一つを前記キューから破棄し、又は、前記キューへの格納が要求されたパケットを、前記キューに格納しないことを特徴とする請求項１に記載のネットワークノード。
【請求項４】
前記キューは、優先順位が設定された複数のキューを含み、
前記タイミング調整部は、前記特定の種類のパケットを、優先順位が最も高いキューの所定の位置に格納することを特徴とする請求項１に記載のネットワークノード。
【請求項５】
前記タイミング調整部は、前記特定の種類のパケットのみを、前記優先順位が最も高いキューに格納することを特徴とする請求項４に記載のネットワークノード。
【請求項６】
前記キューは、入力段のキューと出力段のキューとを含み、
前記タイミング調整部は、
前記特定の種類のパケットの前記入力段のキュー内の格納位置が後方に移動した場合、当該特定の種類のパケットの移動量を記憶し、
当該特定の種類のパケットを、前記出力段のキュー内の前記所定の位置から前記移動量分だけ前方の位置に格納することを特徴とする請求項１に記載のネットワークノード。
【請求項７】
ネットワークノードで転送されるパケットを管理する方法であって、
前記ネットワークノードは、転送されるパケットが入出力されるポート、前記ポートに入力されたパケットが一時的に格納されるバッファメモリ、前記入力されたパケットが出力されるポートを決定する検索エンジン、及び、パケットの出力タイミングを調整するタイミング調整部を有し、
前記バッファメモリは、前記入力されたパケットが一時的に格納される少なくとも一つのキューを有し、
前記方法は、
入力されたパケットが、特定の種類のパケットであるかを判定するステップと、
前記判定された特定の種類のパケットを前記キューの所定の位置に格納することによって、当該パケットの出力タイミングを制御するステップと、
前記特定の種類のパケットが格納されるべき所定の位置より前方にパケットが格納されていない空白領域が存在する場合でも、前記特定の種類のパケットを前記所定の位置に格納するステップと、
前記空白領域より後方にパケットが格納されている領域が存在する場合、１パケットの処理に要する時間毎に、前記バッファメモリに格納されたパケットを１パケット分ずつ前進させるステップと、
前記キューの最後尾のパケットが前記特定の種類のパケットであり、かつ、前記キューに前記空白領域が存在する場合、前記特定の種類のパケット以外のパケットを最先の前記空白領域に格納するステップと、を含むことを特徴とするパケット管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークノードに関し、特に、転送されるパケットの送出タイミングを制御する技術に関する。
【背景技術】
【０００２】
昨今、通信ネットワークの広域化、高速化、低価格化などに伴い、ネットワーク技術が適用される分野は拡大している。これに伴い、より高信頼な通信を実現する要求が高まっている。
【０００３】
通信の信頼性には多くの要素があるが、現在のイーサネット（登録商標、以下同じ）などのベストエフォート型の通信において達成が困難な信頼性の一つに、パケット到着間隔のジッタの保証がある。ネットワークノードでは、複数の回線から受信するパケットを格納するキューをバッファに設け、転送すべきパケットを順に処理している。このため、トラフィックの有無、すなわちキューに格納されているパケットの数の違いによって、ネットワークノードにおける処理に要する時間が変化する。このように、パケットがネットワークノードのキューに格納されている時間に起因する遅延時間が、キューイング遅延である。
【０００４】
通信の信頼性の向上の一つに、伝送路におけるキューイング遅延のばらつきによるジッタの発生を抑制することがある。例えば、遅延によるジッタを抑制することによって、音声通話及び映像ストリーミングなどのリアルタイム通信の品質を向上させたり、端末におけるバッファ容量を削減する等の効果がある。
【０００５】
このような効果を目的とした技術が特許文献１に開示されている。すなわち、特許文献１に開示された技術では、伝送元の装置が、再生タイミングに関する時刻情報をリアルタイムパケットに付加し、受信側の装置が、当該時刻情報を参照して、バッファリングをしたパケットのタイミングを調整して、端末側に転送する。これによって、端末側ゲートウェイがリアルタイムパケットの伝送経路において生じるキューイング遅延の影響を取り除くことができる。
【０００６】
また、ネットワークを介した時刻同期方式における精度の向上のためには、ジッタの軽減が重要である。ネットワークを介した時刻同期方式として、従来よりＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）などが使用されてきた。一方、近年、スマートグリッドや携帯電話の基地局網などにおいては、より正確で広域において時刻同期が可能な方式として、ＩＥＥＥ  １５８８ｖ２（ＰＴＰ：Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）を採用する動きがある。
【０００７】
ＩＥＥＥ  １５８８ｖ２では、時刻同期精度を高めるために、ネットワークの伝送経路上での遅延時間の違いに起因する同期時刻の誤差を軽減している。一方、ＩＥＥＥ  １５８８ｖ２を使用するネットワーク網を構成するために、Ｂｏｕｎｄａｒｙ  Ｃｌｏｃｋ又はＴｒａｎｓｐａｒｅｎｔ  Ｃｌｏｃｋの機能を有するネットワークノードが必要である。
【０００８】
Ｂｏｕｎｄａｒｙ  Ｃｌｏｃｋは、ネットワークノードの内部に同期用のクロックを有し、上位装置から受信した同期パケットを用いて、上位装置との間で時刻を同期する。さらに、上位装置と同期しているＢｏｕｎｄａｒｙ  Ｃｌｏｃｋは、同期パケットを下位装置に送信して、下位装置のクロックを同期する。
【０００９】
Ｔｒａｎｓｐａｒｅｎｔ  Ｃｌｏｃｋは、ネットワークノードが、自身を通過するために要した時間を計測し、その時間分の補正を同期パケットに加える。これによって、同期している両端の装置からは、Ｔｒａｎｓｐａｒｅｎｔ  Ｃｌｏｃｋを通過するパケット毎の遅延時間の差を無視できるようになる。
【００１０】
このような方法によって、ＩＥＥＥ  １５８８ｖ２による同期は、高い時刻同期精度を確保する。一方で、ネットワークを構築するためにＢｏｕｎｄａｒｙ  Ｃｌｏｃｋ又はＴｒａｎｓｐａｒｅｎｔ  Ｃｌｏｃｋに対応したネットワークノードが必要となるため、イーサネット等によって構築された従来のネットワーク資源を有効に利用することができない。また、Ｂｏｕｎｄａｒｙ  Ｃｌｏｃｋ及びＴｒａｎｓｐａｒｅｎｔ  Ｃｌｏｃｋは、その機能の複雑さから、コストが高く、サイズも大きくなる。
【００１１】
そこで、従来技術として、同期パケットを受信する装置における演算処理によって同期精度を向上するための技術が特許文献２に開示されている。特許文献２に開示された方法によると、ネットワークを構成するノードがＢｏｕｎｄａｒｙ  Ｃｌｏｃｋ及びＴｒａｎｓｐａｒｅｎｔ  Ｃｌｏｃｋの機能を有していない場合でも、同期される末端のノードにおける演算によって同期精度を確保する。末端のノードでは、時刻同期パケットが一定間隔で送信されることを利用して、時刻同期パケットの到着間隔を監視して、キューに起因して生じるジッタを計測し、同期時刻を補正したり、ネットワークの混雑度を評価する。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００２−２７１３８８公報
【特許文献２】特開２００７−１３４８７３公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
前述した特許文献１では、末端側ゲートウェイが、転送されるリアルタイムパケットをバッファリングすることによって、従来のベストエフォート型通信を用いた広域網などを介した場合でも、端末側にパケットが到着するタイミングの制御を可能とした。しかし、この方法では、送信元サーバとバッファリングをする端末側ゲートウェイとの間で時刻が同期している必要がある。よって、端末側ゲートウェイにリアルタイムパケットを格納する大容量のバッファ及び特定時刻にパケットを転送する機能が必要となり、装置の構成が複雑でコストが高くなるという第１の課題が存在する。
【００１４】
また、特許文献２に記載された技術は、狭い領域のネットワークにおいては低コストで実現可能である。しかし、多くのルータスイッチによって構成される広域のネットワークであり、ネットワーク上を他の多くの同期を意識しないパケットと共用する場合、ジッタの影響が大きくなる。そのため、ネットワークの規模の拡大に伴い、ジッタ成分が支配的となり、同期が劣化するという第２の課題が存在する。
【課題を解決するための手段】
【００１５】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、パケットを転送するネットワークノードであって、転送されるパケットが入出力されるポート、前記入力されたパケットが一時的に格納されるバッファメモリ、前記入力されたパケットが出力されるポートを決定する検索エンジン、及び、特定の種類のパケットの受信から送信までに要する時間の差を調整するタイミング調整部を備え、前記バッファメモリは、前記入力されたパケットが一時的に格納される少なくとも一つのキューを有し、前記タイミング調整部は、前記入力されたパケットが前記特定の種類のパケットであるかを識別し、前記識別された特定の種類のパケットを前記キューの所定の位置に格納し、前記特定の種類のパケットが格納されるべき所定の位置より前方にパケットが格納されていない空白領域が存在する場合でも、前記特定の種類のパケットを前記所定の位置に格納し、前記バッファメモリは、前記空白領域より後方にパケットが格納されている領域が存在する場合、１パケットの処理に要する時間毎に、前記バッファメモリに格納されたパケットを１パケット分ずつ前進させ、前記タイミング調整部は、前記キューの最後尾のパケットが前記特定の種類のパケットであり、かつ、前記キューに前記空白領域が存在する場合、前記特定の種類のパケット以外のパケットを最先の前記空白領域に格納する。
【発明の効果】
【００１６】
本発明の代表的な実施形態によると、リアルタイムパケットの送出タイミングを制御することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態のネットワークノードの構成を示すブロック図である。
【図２】本発明の第１の実施形態のバッファ部の構成を示すブロック図である。
【図３】本発明の第１の実施形態のパケット格納位置判定処理のフローチャートである。
【図４】本発明の第１の実施形態のパケット判別用テーブルの例の説明図である。
【図５】本発明の第２の実施形態のパケット格納位置判定処理のフローチャートである。
【図６】本発明の第２の実施形態のパケット判別用テーブルの例の説明図である。
【図７】本発明の第３の実施形態のネットワークノードの構成を示すブロック図である。
【図８】本発明の第３の実施形態の前段バッファ部の構成を示すブロック図である。
【図９】本発明の第３の実施形態のパケット格納位置判定処理のフローチャートである。
【図１０】本発明の第３の実施形態のパケット判別用テーブルの例の説明図である。
【図１１】本発明の第４の実施形態のネットワークノードの構成を示すブロック図である。
【図１２】本発明の第４の実施形態の検索部の構成を示すブロック図である。
【図１３】本発明の第４の実施形態のパケット格納位置判定処理のフローチャートである。
【発明を実施するための形態】
【００１８】
＜第１の実施形態＞
図１は、本発明の第１の実施形態のネットワークノード１０の構成を示すブロック図である。
【００１９】
本実施形態のネットワークノード１０は、複数のポート１０１、複数のバッファ部１０２及び検索エンジン１０３を有する。ネットワークノード１０は、ポート１０１を介して、ネットワークと接続する。ポート１０１は、受信したネットワークパケットをバッファ部１０２に転送する。
【００２０】
バッファ部１０２はパケットを一時的に格納した後、パケットを検索エンジン１０３に転送する。検索エンジン１０３は、パケットの出力先となるポート１０１を判定し、バッファ部１０２を経由して、該当するポート１０１にパケットを転送する。検索エンジン１０３によって判定されたポート１０１は、パケットをネットワークに出力する。
【００２１】
図２は、バッファ部１０２の構成を示すブロック図である。
【００２２】
バッファ部１０２は、キュー１０２１ａ、１０２１ｂ及び判別回路１０２２ａ、１０２２ｂを有し、判別回路１０２２ａ、１０２２ｂからキュー１０２１ａ、１０２１ｂにパケットを伝送するための通常パス１０２３ａ、１０２３ｂ、及び、判別回路１０２２ａ、１０２２ｂからキュー１０２１ａ、１０２１ｂに、ジッタを抑制するパケットを伝送するための位置指定パス１０２４ａ、１０２４ｂが設けられる。位置指定パス１０２４ａ、１０２４ｂを経由したパケットは、キュー１０２１ａ、１０２１ｂの指定された位置に格納される。
【００２３】
バッファ部１０２がポート１０１よりパケットを受信すると、判別回路１０２２ａは受信パケットがジッタを抑制するジッタ軽減対象パケットであるかを判別する。受信パケットがジッタ軽減対象パケットでない場合、判別回路１０２２ａは受信パケットを通常パス１０２３ａを介してキュー１０２１ａに伝送する。一方、受信パケットがジッタ軽減対象パケットである場合、判別回路１０２２ａは受信パケットを位置指定パス１０２４ａを介してキュー１０２１ａに伝送する。このとき、判別回路１０２２ａは、ジッタ軽減対象パケットであることを示すフラグを当該パケットに付加し、検索結果によって得られたキュー１０２１ａの格納位置に当該パケットを格納する特定位置キューイングを行う。
【００２４】
キュー１０２１ａはパケットを格納すると、一定時間毎又は検索エンジン１０３からの要求に応じて、先頭から順にパケットを検索エンジン１０３に伝送する。このとき、キューに空きが存在し、当該空き領域より後ろにパケットが格納されている場合でも、キューは一つずつしか前に進まない様に制御される。
【００２５】
例えば、一つのパケットの処理に必要な時間のウェイトを入れるとよい。また、所定のマシンサイクルでキュー１０２１ａからのパケットの読み出しを管理してもよい。また、空き領域にダミーパケットを格納してもよい。
【００２６】
バッファ部１０２は、検索エンジン１０３よりパケットが伝送された場合、ポートから受信した場合と同様の処理で、パケットは判別回路１０２２ｂにてジッタ軽減対象パケットであるかを判別し、判別結果に応じて通常パス１０２３ｂと位置指定パス１０２４ｂとのいずれかを用いて、パケットをキュー１０２１ｂに伝送する。キュー１０２１ｂは、パケットを先頭から順にポート１０１に伝送する。
【００２７】
図３は、バッファ部１０２がキュー１０２１ａへのパケットの格納位置を判別する処理のフローチャートである。なお、キュー１０２１ａ及び判別回路１０２２ａにおける受信パケットの処理について説明するが、キュー１０２１ｂ及び判別回路１０２２ｂにおいて、送信パケットについても同様の処理が行われる。
【００２８】
ネットワークノード１０がパケットを受信すると（３０１）、まず、判別回路１０２２ａは、ＭＡＣアドレス４０４、ＩＰアドレス４０５、ＴＣＰ  ｉｎｂｏｕｎｄポート番号４０６及びＴＣＰ  ｏｕｔｂｏｕｎｄポート番号４０７の一つ以上を検索条件としてパケット判別用テーブル（図４）を検索し、受信パケットがジッタ軽減対象パケットであるかを判別する。そして、受信パケットがジッタ軽減対象パケットである場合、パケットの挿入位置４０２をパケット判別用テーブルから取得する（３０２）。
【００２９】
判別の結果、受信パケットがジッタ軽減対象パケットでない場合、判別回路１０２２ａは通常パス１０２３ａを介してパケットをキュー１０２１ａに伝送する。
【００３０】
キュー１０２１ａは、パケットに付加されたフラグによって、キューの最後尾のパケットがジッタ軽減対象パケットであるかを判別する（３０３）。キューの最後尾のパケットがジッタ軽減対象パケットでない場合、キューの最後尾に受信パケットを格納する（３０５）。一方、キューの最後尾のパケットがジッタ軽減対象パケットである場合（３０４）、キューの先頭から空き領域を探し、空き領域がない場合、キューの最後尾に受信パケットを格納する（３０５）。一方、空き領域がある場合、最先の空き領域に受信パケットを格納する（３０６）。
【００３１】
ステップ３０２における判別の結果、受信パケットがジッタ軽減対象パケットである場合、判別回路１０２２ａは、パケットがジッタ軽減対象パケットであることを示すフラグを付加し、位置指定パス１０２４ａを介してパケットをキュー１０２１ａに伝送する。このとき、パケット判別用テーブル（図４）から取得したパケット挿入位置の情報をパケットに付加する。このとき、キューに格納されているパケットの数が少なく、キューにおける挿入位置より前方に空き領域がある場合でも、前詰め処理を行わず受信パケットを予定された挿入位置に格納する。また、読み出し処理においても、前詰め処理は行わず、一つのパケットを処理する時間と同じ時間をかけて、キューの空き領域を前進する。
【００３２】
キュー１０２１ａは、判別回路１０２２ａが判別したジッタ軽減対象パケットの挿入位置（ｎ番目）にパケットが格納されているかを判別する（３０７）。その結果、キューのｎ番目の領域にパケットが蓄積されている場合、ｎ番目以後の領域に格納されているパケットを一つずつ後ろに繰り下げ（３０８）、判別された挿入位置に受信パケットを格納する（３０９）。
【００３３】
ただし、キュー１０２１ａのｎ＋１番目以降の領域に格納されたパケットがジッタ軽減対象パケットである場合、当該パケットの格納位置を変更せず、他のパケットを繰り下げる。つまり、ｎ＜ｍの場合、ｍ番目の領域にジッタ軽減対象パケットが格納され、ｍ−１番目の領域に通常のパケット（ジッタ軽減対象パケット以外のパケット）が格納されている場合、ｍ−１番目の領域に格納されている通常のパケットを、ｍ＋１番目の領域に格納することによって、ジッタ軽減対象パケットの位置を変更しない。
【００３４】
また、ｎ番目の領域にジッタ軽減対象パケットが格納されている場合、先にｎ番目に格納されていたジッタ軽減対象パケットをｎ＋１番目の領域に格納し、後続のパケットは同様のポリシーでジッタ軽減対象パケット以外のパケットの順序を繰り下げる。その後、ジッタ軽減対象パケットは挿入位置（キューのｎ番目）に格納される。
【００３５】
本実施形態では、原則として、優先順位が高いジッタ軽減対象パケットの挿入位置が前方に設定されている。このため、新たなジッタ軽減対象パケットを格納する際、当該格納位置に既にジッタ軽減対象パケットが格納されている場合、新たに格納されるジッタ軽減対象パケットの挿入位置が前方である（優先される）ため、既に格納されているパケットを後方に移動している。これの移動をパラメータによって制御する例は第４の実施形態にて後述する。
【００３６】
図４は、バッファ部１０２の判別回路１０２２がジッタ軽減対象パケットを判別するためのパケット判別用テーブルの例の説明図である。
【００３７】
パケット判別用テーブルは、パケット種別４０１、挿入位置４０２、ＶＬＡＮ  ＩＤ４０３、ＭＡＣアドレス４０４、ＩＰアドレス４０５、ＴＣＰ  ｉｎｂｏｕｎｄポート４０６及びＴＣＰ  ｏｕｔｂｏｕｎｄポート４０７の情報を含む。なお、他の実施形態のパケット判別用テーブルの様にＩＰマスクなどを含んでもよい。
【００３８】
判別回路１０２２ａは、受信したパケットのヘッダの情報と、テーブルに記載されているＭＡＣアドレス４０４、ＩＰアドレス４０５、ＴＣＰ  ｉｎｂｏｕｎｄポート４０６、ＴＣＰ  ｏｕｔｂｏｕｎｄポート４０７などとを比較し、一致するアドレス又はポートが登録されていれば、当該パケットがジッタ軽減対象パケットであると判別し、ジッタ軽減対象パケットの挿入位置４０２の情報を取得する。なお、パケット識別のためのヘッダ情報として、パケットのヘッダの５−ｔｕｐｌｅ内の情報を使用しても、当該情報のハッシュ値を使用してもよく、その場合にはこれらの情報がパケット判別用テーブルに格納される。
【００３９】
検索エンジン１０３に向かうパケットを判別する判別回路１０２２ａが使用するパケット判別用テーブルと、ポート１０１に向かうパケットを判別する判別回路１０２２ｂが使用するパケット判別用テーブルと、が異なってもよい。この場合、両テーブルに含まれるパケットの挿入位置４０２情報が異なる。
【００４０】
ネットワークノードは、検索エンジン内でパイプライン的に処理されるため、パケットの検索処理に要する時間がパケット（例えば、パケットのサイズなど）に依存しない。このため、キューへの格納位置が、ネットワークノードを通過するために必要な時間をほぼ決定する。
【００４１】
本実施形態によると、ネットワークノード内のクロックを参照して、一定の周期で、キューから検索エンジンにパケットを伝送することによって、高い精度で通過時間を制御することができる。パケットの種別や検索条件による検索エンジンの処理時間の変化に応じて、処理のための最長の時間に伝送周期を設定する必要がある。この場合、多少、性能が劣化する場合がある。
【００４２】
一方、検索エンジンが、キューから検索エンジンへのパケットの伝送を容認する信号を送信し、この信号に基づいて、キューから検索エンジンへパケットを伝送する場合、検索エンジンの処理時間の差に応じたジッタが発生するが、性能の劣化は小さくなる。
【００４３】
しかし、前述の通り、一般的な検索エンジンでは処理がパイプライン的であり、パケットを受け付けるための待ち時間のほとんどがメモリをアクセスするための時間である。このため、パケットの種別や処理内容の違いによる待ち時間の差は小さく、前述のいずれの方法でも、性能の劣化及びジッタの増加は限定的だと考えられる。また、キューから検索エンジンに対する伝送周期の制御を、検索エンジンからの伝送要求と、伝送可能な状態でも所定の最低時間だけ待つという二つの方法を併用することによって、性能の劣化とジッタの増加とのバランスを取ることもできる。
【００４４】
従来のＱｏＳ制御では、優先的に制御すべきパケットを早く処理している。しかし、本実施形態では、ジッタ軽減対象パケットの挿入位置を選択可能としている。これは、遅延量が少ないことが望まれるＱｏＳ制御と異なる処理を、ジッタが少ないことが望まれるジッタ軽減対象パケットに行うことによって、両者の要求を両立するためである。つまり、従来方式のＱｏＳ制御において、ジッタ軽減対象パケットを最優先で転送することによって、ジッタを軽減する効果は得られる。
【００４５】
しかし、優先的に伝送したいパケットが多数存在する場合、優先パケット同士が競合するため、ジッタの軽減効果が小さくなる。また、ジッタ軽減対象パケット間での優先度の制御や、要求される精度の違いに応じた処理内容の選択などが困難である。
【００４６】
このため、本実施形態では、キューの特定の位置にパケットを格納する特定位置キューイングによって、優先制御パケットは優先的に処理し、ジッタ軽減対象パケットは一定の時間をかけて処理することによって、ＱｏＳ制御とジッタ軽減とを両立することができる。なお、特定位置キューイングと従来のＱｏＳ制御を併用する例は、第３の実施形態にて後述する。
【００４７】
本実施形態のネットワークノードは、パケットの送信元のネットワークノードなどと時刻を同期することなく、経路全体のジッタの軽減に貢献することができる。特に、本実施形態のネットワークノードは、他のノードと連携することなく単体にて効果があるので、経路上の他のノードが時刻同期に対応していない場合でも、ジッタを軽減することができる。
【００４８】
また、各ネットワークノードがジッタを軽減することによって、ネットワークの規模の拡大によるジッタ成分の累積的な増加を抑制することができ、大規模ネットワークにおいても、時刻を有効に同期することができる。
【００４９】
本実施形態のネットワークノードが対象とするジッタ軽減対象パケットとして、例えば、音声通話のパケット、映像配信サービスのパケット等がある。これにより、リアルタイム伝送が必要なサービスの品質の向上や、各装置が有するバッファの容量を低減することができる。
【００５０】
また、ジッタ軽減対象パケットの別の例として、時刻同期用信号、機械装置などの制御用信号がある。これらの信号は、ジッタが少なく（すなわち、期待するタイミングで正確に）到達することが望ましい。従来は、専用の回線を用いたり、回線を時分割で分けて通信のタイミングを確保したり、ＱｏＳ制御で転送を最優先にして遅延自体を小さくしていた。
【００５１】
しかし、専用の回線では、特定の用途毎に回線が必要となるため、回線コストが高くなっていた。また、回線を時分割で制御する場合は、回線帯域が有効に利用されず、時分割制御を管理するための専用装置が必要となり、高コストになっていった。ＱｏＳ制御で最優先制御をすると、コスト自体は高くならないが、トラフィック量の影響を受け、優先的に転送したいパケット同士が競合を起こし、全体的に品質が劣化することがあった。
【００５２】
一方、本実施形態によると、ジッタ軽減対象パケットを優先的に転送するのではなく、必ず一定の時間をかけて転送する。その一定の時間の誤差を少なくすることによって、ネットワーク全体を通過するために要する時間を安定化する。
【００５３】
また、本実施形態は、ネットワークノードのバッファ管理用ソフトウェア等の微少な改良のみで、実装可能であるため、微少な改良で効果を発揮し、低コストで従来ネットワークノードへの適用が容易である。
【００５４】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。第２の実施形態は、時刻同期パケットの特徴を生かした方法である。第２の実施形態のネットワークノードの基本的な構成は前述した第１の実施形態と同じであるため、その説明は省略する。なお、時刻同期パケットは、ジッタ軽減対象パケットの一種である。
【００５５】
図５は、第２の実施形態のバッファ部１０２がキュー１０２１ａへのパケットの格納位置を判別する処理のフローチャートである。なお、キュー１０２１ａ及び判別回路１０２２ａにおける受信パケットの処理について説明するが、キュー１０２１ｂ及び判別回路１０２２ｂにおいて、送信パケットについても同様の処理が行われる。
【００５６】
ネットワークノード１０がパケットを受信すると（５０１）、まず、判別回路１０２２ａは、ＩＰアドレス６０６、ＴＣＰ  ｉｎｂｏｕｎｄポート番号６０７及びＴＣＰ  ｏｕｔｂｏｕｎｄポート番号６０８の一つ以上を検索条件としてパケット判別用テーブル（図６）検索し、受信パケットが同期パケットであるかを判別する。そして、受信パケットが同期パケットである場合、パケットの挿入位置６０２をパケット判別用テーブルから取得する（５０２）。
【００５７】
判別の結果、受信パケットが同期パケットではない場合、判別回路１０２２ａは通常パス１０２３ａを介してパケットをキュー１０２１ａに伝送する。
【００５８】
キュー１０２１ａは、パケットに付加されたフラグによって、キューの最後尾のパケットが同期パケットであるかを判別する（５０３）。キューの最後尾のパケットが同期パケットでない場合、キューの最後尾に受信パケットを格納する（５０５）。一方、キューの最後尾のパケットが同期パケットである場合、キューの先頭からｋ−１番目（ｋは最後尾の位置）の間の空き領域を探し（５０４）、空き領域がない場合、キューの最後尾に受信パケットを格納する（５０５）。一方、空き領域がある場合、最先の空き領域に受信パケットを格納する（５０６）。
【００５９】
ステップ５０２における判別の結果、受信パケットが同期パケットである場合、判別回路１０２２ａは、パケット判別用テーブル（図６）の格納数６０４及び容認数６０５を参照し、キュー１０２１ａに複数の同種の同期パケットが格納されているかを判別する（５０７）。キュー１０２１ａに同種の同期パケットが既に格納されている場合、当該種類の同期パケットの容認数（ｍ）と格納数とを比較し（５０８）、格納数が上限に達している場合、受信した同期パケットを破棄する（５１２）。
【００６０】
一方、格納数６０４が容認数６０５に満たない場合、キュー１０２１ａは、キューに格納されているパケットが挿入位置であるｎ番目の値より多いかを判別する（５０９）キューに格納されているパケットがｎより多い場合、ｎ番目以降のパケットを一つ後ろに格納し直す（５１０）。このとき、キューに格納されている他の同期パケットの位置を維持し、同期パケット以外のパケットの位置を後ろに繰り下げる。また、ｎ番目のパケットが同期パケットである場合、移動可否６０３の情報を参照する。そして、当該パケットが移動不可である場合、新たに挿入されるパケットの挿入位置を一つ後ろに繰り下げ、当該パケットが移動可能である場合、当該パケットの位置を後ろに繰り下げる。
【００６１】
その後、判別回路１０２２ａは、パケットがジッタ軽減対象パケットであることを示すフラグを付加し、挿入位置６０２及び移動可否６０３の情報及びパケットを、位置指定パス１０２４ａを介してキュー１０２１ａに伝送し、キューのｎ番目に格納し、当該種類のパケットの格納数６０４の値を１増やす（５１１）。
【００６２】
キュー１０２１ａは、パケットが格納されると、一定時間毎又は検索エンジン１０３及びポート１０１からの要求に従って、先頭に蓄積されたパケットから順番に一つずつ検索エンジン１０３へ伝送する。キュー１０２１ａは、時刻同期パケットが伝送されたことを判別回路１０２２ａに通知し、パケット判別用テーブル（図６）の該当パケットの格納数６０４の値を一つ減らす。これによって、キューに格納されている時刻同期パケットの数の把握が可能となる。
【００６３】
また、図６は、バッファ部１０２の判別回路１０２２がジッタ軽減対象パケットを判別するためのパケット判別用テーブルの例の説明図である。
【００６４】
パケット判別用テーブルは、パケット種別６０１、挿入位置６０２、移動可否６０３、格納数６０４、容認数６０５、ＩＰアドレス６０６、ＴＣＰ  ｉｎｂｏｕｎｄポート６０７及びＴＣＰ  ｏｕｔｂｏｕｎｄポート６０８の情報を含む。なお、他の実施形態のパケット判別用テーブルの様に、ＶＬＡＮ  ＩＤ及びＭＡＣアドレス、ＩＰマスクなどを含んでもよい。
【００６５】
ＩＰアドレス６０６、ＴＣＰ  ｉｎｂｏｕｎｄポート番号６０７及びＴＣＰ  ｏｕｔｂｏｕｎｄポート番号６０８は、受信パケットがジッタ軽減対象パケットであるかを、判別回路１０２２が判別するために用いられる。
【００６６】
以上に説明したように、第２の実施形態では、ジッタ軽減対象パケットのうち時刻同期パケットに着眼した。すなわち、第２の実施形態では、複数の時刻同期パケットがネットワーク上を存在する場合、各時刻同期パケットの宛先情報などから、パケットの挿入位置とパケットの移動可否を決定する。
【００６７】
通常、時刻同期パケットの転送周期は一定間隔であるが、通信状態の不良や遅延の増大のために、多数の要求や再送が発生した場合、多くの時刻同期パケットが短時間に発生することがある。同一種類の時刻同期パケットが多くある場合、これらの時刻同期パケットは、短時間内に必要ではなく、時刻同期の観点からも重要度が低い。また、同一種類の多くの時刻同期パケットが一定時間内に格納されている場合、他のネットワークトラフィックのスループットを低下させる可能性がある。このため、時刻同期パケットのキューへの格納が容認される上限数を定め、格納数を監視することによって、時刻同期パケットを間引いている。
【００６８】
第２の実施形態によれば、時刻同期パケットが他のネットワークトラフィックのスループットに与える影響を減らすことができる。
【００６９】
＜第３の実施形態＞
次に、本発明の第３の実施形態について説明する。第３の実施形態は、特定位置キューイングと従来のＱｏＳ制御を併用することによって、ＱｏＳ制御とジッタ軽減を両立するものである。
【００７０】
図７は、第３の実施形態のネットワークノードの構成を示すブロック図である。
【００７１】
第３の実施形態のネットワークノード７０は、受信ポート７０１ａ〜７０１ｄ、前段バッファ部７０２ａ〜７０２ｄ、検索エンジン７０３、後段バッファ部７０４ａ〜７０４ｄ、及び送信ポート７０５ａ〜７０５ｄを有する。
【００７２】
受信ポート７０１ａ〜７０１ｄは、ネットワークからパケットを受信する。前段バッファ部７０２ａ〜７０２ｄは、受信ポート７０１ａ〜７０１ｄが受信したパケットを格納する、後段バッファ部７０４ａ〜７０４ｄは、検索エンジン７０３から出力されるパケットを格納する。送信ポート７０５ａ〜７０５ｄは、後段バッファ部７０４ａ〜７０４ｄに格納されたパケットをネットワークに送信する。
【００７３】
受信ポート７０１ａ〜７０１ｄ及び送信ポート７０５ａ〜７０５ｄは、ネットワークインタフェースカード等によって構成することができ、受信ポートと送信ポートとが物理的に一つのインターフェースに設けられるものでもよい。また、受信ポートと送信ポートとが、物理的に一つのポートでもよい。
【００７４】
図８は、前段バッファ部７０２ａの構成を示すブロック図である。なお、図８には、前段バッファ部７０２ａの構成を示すが、他の前段バッファ部７０２ｂ〜７０２ｄも同じ構成である。
【００７５】
前段バッファ部７０２ａは、判別回路７０２１、ＱｏＳ判定回路７０２２、キュー７０２３ａ〜７０２３ｄ及び引き出し回路７０２４を有し、判別回路７０２１とキュー７０２３ａとの間に位置指定パス７０２５が設けられている。
【００７６】
判別回路７０２１は、入力されたパケットの種別を判別する。ＱｏＳ判定回路７０２２は、入力されたパケットのＱｏＳを判定する。キュー７０２３ａ〜７０２３ｄは、入力されたパケットを一時的に格納する。
【００７７】
引き出し回路７０２４は、パケットをキュー７０２３ａ〜７０２３ｄから引き出す。
【００７８】
図８に例示するキューは、上から最優先キュー７０２３ａ、２番目の優先キュー７０２３ｂ、以下、３番目の優先キュー７０２３ｃ、及び４番目の優先キュー７０２３ｄと、キューに格納されるパケットの優先度によって４段階に分かれている。ＱｏＳ処理が行われたパケットは、ＱｏＳ処理の結果に応じて、いずれかのキューにパケットを格納され、また、キューの中の配置位置が選択される。
【００７９】
図９は、前段バッファ部がキューへのパケットの格納位置を判別する処理のフローチャートである。
【００８０】
ネットワークノード７０がパケットを受信すると（９０１）、まず、前段バッファ部７０２ａの判別回路７０２１は、ＩＰアドレス１００４、ＩＰマスク１００５、ＴＣＰ  ｉｎｂｏｕｎｄポート番号１００６及びＴＣＰ  ｏｕｔｂｏｕｎｄポート番号１００７の一つ以上を検索条件としてパケット判別用テーブル（図１０）を検索し、受信パケットがジッタ軽減対象パケット（例えば、時刻同期パケット）であるかを判別する。そして、受信パケットが同期パケットである場合、パケットの挿入位置１００２及び優先度１００３をパケット判別用テーブルから取得する（９０２）。
【００８１】
判別の結果、受信パケットがジッタ軽減対象パケットでない場合、判別回路７０２１は受信パケットをＱｏＳ判定回路７０２２に伝送する（９０３）。
【００８２】
一方、受信パケットがジッタ軽減対象パケットである場合、判別回路７０２１は、パケットがジッタ軽減対象パケットであることを示すフラグを付加し、挿入位置及び優先度の情報と共に、ジッタ軽減対象パケットを、位置指定パス７０２５を介して、最優先キュー７０２３ａに伝送する。
【００８３】
キュー７０２３ａは、当該ジッタ軽減対象パケットの挿入位置に他のパケットが格納されているかを判別する（９０４）。その結果、当該ジッタ軽減対象パケットの挿入位置にパケットが格納されていなければ、パケットがジッタ軽減対象パケットであることを示す情報（例えば、フラグ）を付加し、パケットの優先度の情報及びパケットを挿入位置に格納する（９０５）。
【００８４】
一方、当該ジッタ軽減対象パケットの挿入位置にパケットが格納されている場合、受信パケットの優先度と当該挿入位置に格納されているパケットの優先度とを比較し（９０６）、受信パケットの優先度が低い場合には、受信パケットと当該挿入位置に格納されているパケットとを入れ替える（９０７）。
【００８５】
そして、当該ジッタ軽減対象パケットの挿入位置を一つ後方に繰り下げ（９０８）、ステップ９０５に戻り、さらにパケットの挿入位置の判別を繰り返す。
【００８６】
このように、パケットの優先度を比較して、パケットの格納位置及び挿入位置を繰り下げるので、優先パケットの格納位置が変更されにくくなり、優先度が確保できる。
【００８７】
また、このとき、キューに格納されているパケットの数が少なく、キューにおける挿入位置より前方に空き領域がある場合でも、前詰め処理を行わず受信パケットを予定された挿入位置に格納する。また、読み出し処理においても、前詰め処理は行わず、一つのパケットを処理する時間と同じ時間をかけて、キューの空き領域を前進する。
【００８８】
引き出し回路７０２４は、キュー７０２３ａ〜７０２３ｄに格納されたパケットを、所定のタイミング（例えば、一定時間周期など）で読み出し、検索エンジン７０３へ伝送する。
【００８９】
引き出し回路７０２４は、最優先キュー７０２３ａにパケットが格納されている場合、他のキューより優先して最優先キュー７０２３ａからパケットを引き出す。なお、優先キュー７０２３ａにジッタ軽減対象パケットが格納されている場合、引き出し回路７０２４は、他のキューより優先して最優先キュー７０２３ａからパケットを引き出してもよい。また、引き出し回路７０２４は、各キュー７０２３ａ〜７０２３ｄから所定の比率（例えば、優先キューの方が高い比率で）でパケットを引き出してもよい。
【００９０】
図１０は、前段バッファ部７０２ａの判別回路７０２１がジッタ軽減対象パケットを判別するためのパケット判別用テーブルの例の説明図である。
【００９１】
パケット判別用テーブルは、パケット種別１００１、挿入位置１００２、優先度１００３、ＩＰアドレス１００４、ＩＰマスク１００５、ＴＣＰ  ｉｎｂｏｕｎｄポート１００６及びＴＣＰ  ｏｕｔｂｏｕｎｄポート１００７の情報を含む。なお、他の実施形態のパケット判別用テーブルの様に、ＶＬＡＮ  ＩＤ及びＭＡＣアドレスなどを含んでもよい。
【００９２】
ＩＰアドレス１００４、ＩＰマスク１００５、ＴＣＰ  ｉｎｂｏｕｎｄポート番号１００６及びＴＣＰ  ｏｕｔｂｏｕｎｄポート番号１００７は、受信パケットがジッタ軽減対象パケットであるかを、判別回路７０２１が判別するために用いられる。
【００９３】
後段バッファ部７０４ａ〜７０４ｄは、前段バッファ部７０２ａと同じ構成でよいが、検索エンジン７０３が判別回路７０２１及びＱｏＳ判定回路７０２２の機能を持つことによって、後段バッファ７０４ａ〜７０４ｄがキュー７０２３及び引き出し回路７０２４の機能のみを持つ構成でもよい。
【００９４】
また、送信ポート側では、キューの待ち時間がパケット長に影響される場合があるため、パケット長を意識した転送処理を行ってもよい。すなわち、パケットをキューに格納する際に、パケット長又はパケット長に基づいて計算されるパケット送出時間を記憶し、記憶されたパケット長又はパケット送出時間を先頭から加算することによって、最適な送出位置を判別する。このような方法によって、送信ポート側において、より高精度なジッタ軽減対象パケット（例えば、時刻同期パケット）の送出タイミングを管理することができる。なお、この方法はやや複雑さが増すので、使い分けることが望ましい。
【００９５】
第３の実施形態では、優先度の異なる複数のキュー７０２３のうち、最優先で転送される経路中のキューにジッタ軽減対象パケットを位置指定パスを用いて格納する。引き出し回路７０２４は、最優先キュー７０２３ａにパケットが格納されている場合、必ず最優先キューからパケットを引き出すポリシーによって動作する。
【００９６】
また、ＱｏＳ判定回路７０２２の判定結果によって、最優先キュー７０２３ａにジッタ軽減対象パケットのみを格納するか、最優先キュー７０２３ａをジッタ軽減対象パケット及び通常パケットで共用するかを、運用方針によって選択することができる。
【００９７】
また、キューに格納されるパケットの優先度の情報は、パケットの挿入位置を決定するための判別条件であるため、ジッタ軽減対象パケット専用のパラメータでもよいが、通常の優先パケットに付与される優先度と共用してもよい。
【００９８】
以上に説明したように、本発明の第３の実施形態によると、ＱｏＳ優先制御を実行するための複数キューを有するルータにおいてもジッタ軽減対象パケットの挿入位置を調整して、ＱｏＳ制御とジッタの軽減を両立することができる。特に、応答時間を短縮する必要がないジッタ軽減対象パケットの挿入位置を後方に設定し、優先度を高めることによって、他の優先トラフィックに対する影響を軽減しながら、ジッタを低減することができる。
【００９９】
＜第４の実施形態＞
次に、本発明の第４の実施形態について説明する。第４の実施形態は、ジッタ軽減対象パケットの挿入に伴う、他のパケットの移動を制御し、ジッタを低減する。
【０１００】
図１１は、第４の実施形態のネットワークノードの構成を示すブロック図である。
【０１０１】
第４の実施形態の分散型ネットワークノード１１０は、複数のネットワークインタフェースカード（ＮＩＣ）１１０１ａ〜１１０１ｄ、複数の検索部１１０２ａ〜１１０２ｄ及びクロスバスイッチ１１０３を有する。クロスバスイッチ１１０３は、検索部１１０２ａ〜１１０２ｄを相互に接続する。
【０１０２】
図１１に示すネットワークノードでは、一つのＮＩＣが一つの検索部に割り当てられているが、複数のＮＩＣが一つの検索部に割り当てられてもよく、一つのＮＩＣが複数のポートを有してもよい。
【０１０３】
ＮＩＣ１１０１ａは、受信したパケットを検索部１１０２ａに伝送する。検索部１１０２ａは、ルーティングテーブル（図示省略）を検索し、受信パケットの出力ポートを決定する。
【０１０４】
例えば、検索部１１０２ａで検索したパケットの転送先が、ＮＩＣ１１０１ｂに接続されていれば、受信パケットはクロスバスイッチ１１０３を介して検索部１１０２ｂに伝送される。検索部１１０２ｂは、伝送されたパケットの宛先について、ルーティングテーブルを再度検索し、転送先を決定後、決定されたＮＩＣ１１０１ｂにパケットを伝送する。検索部１１０２ａによる、パケット入力時の検索がＩｎｂｏｕｎｄ検索であり、クロスバスイッチ１１０３を介した後の、検索部１１０２ｂによるパケット出力前の検索がＯｕｔｂｏｕｎｄ検索である。
【０１０５】
図１２は、検索部１１０２ａの構成を示すブロック図である。なお、他の検索部１１０２ｂ〜１１０２ｄも同じ構成を有する。
【０１０６】
検索部１１０２ａは、パケットヘッダ分離部１１０２０１ａ、１１０２０１ｂ、分析回路１１０２０２ａ、１１０２０２ｂ、Ｉｎｂｏｕｎｄキュー１１０２０３ａ、Ｏｕｔｂｏｕｎｄキュー１１０２０３ｂ、検索エンジン１１０２０４、宛先検索メモリ１１０２０５、パケット格納バッファ１１０２０７及び出力側調整キュー１１０２１２を有し、位置指定パス１１０２０６ａ、１１０２０６ｂ、ＮＩＣ１１０３１ａからパケットを受信するためのパス１１０２０８、クロスバスイッチ１１０３からパケットを受信するためのパス１１０２０９、ＮＩＣ１１０１ａにパケットを送信するためのパス１１０２１０及びクロスバスイッチ１１０３にパケットを送信するためのパス１１０２１１が設けられている。
【０１０７】
パケットヘッダ分離部１１０２０１ａは、ＮＩＣ１１０１ａからパス１１０２０８を介してパケットを受信すると、パケットの本体をパケット格納バッファ１１０２０７に格納し、パケットのヘッダ部分及びパケットが格納されたバッファ１１０２０７のアドレスを分析回路１１０２０２ａに伝送する。
【０１０８】
分析回路１１０２０２ａは、後述する処理によってジッタ軽減対象パケットであるかを分析し、その結果に応じて、通常パス又は位置指定パス１１０２０６ａを介してＩｎｂｏｕｎｄキュー１１０２０３ａにパケットを伝送する。Ｉｎｂｏｕｎｄキュー１１０２０３ａはパケットを格納し、格納したパケットを検索エンジン１１０２０４に順に伝送する。
【０１０９】
検索エンジン１１０２０４は、ヘッダ情報と宛先検索メモリ１１０２０５の情報とを照合し、当該パケットの宛先から出力ポートを決定する。検索エンジン１１０２０４は、出力ポートの決定結果をパケット格納バッファ１１０２０７に伝送する。
【０１１０】
パケット格納バッファ１１０２０７は、伝送された宛先情報に応じてクロスバスイッチ１１０３へのパス１１０２１１又はＮＩＣ１１０１ａへのパス１１０２１０へパケットを送出する。
【０１１１】
クロスバスイッチ１１０３を介して（すなわち、Ｏｕｔｂｏｕｎｄ側で）伝送されるパケットは、Ｉｎｂｏｕｎｄ側で伝送されるパケットと同様に処理される。すなわち、Ｏｕｔｂｏｕｎｄ側のパケットは、パス１１０２０９を介してパケットヘッダ分離部１１０２０１ｂに伝送された後、パケット本体はパケット格納バッファ１１０２０７に格納され、パケットのヘッダ部分及びパケットが格納されたバッファ１１０２０７のアドレスは分析回路１１０２０２ｂに伝送される。その後、パケットは、Ｏｕｔｂｏｕｎｄキュー１１０２０３ｂを介して、検索エンジン１１０２０４に伝送される。検索エンジン１１０２０４は、パケットの宛先から出力先ポートを検索し、パケット格納バッファ１１０２０７に出力ポートの決定結果を伝送する。Ｏｕｔｂｏｕｎｄ検索の結果は、通常必ずＮＩＣ１１０１ａを介してネットワークに送出されるため、パケット格納バッファ１１０２０７からは、パス１１０２１０を介してＮＩＣ１１０１ａに伝送される。
【０１１２】
図１３は、第４の実施形態においてパケットの格納位置を判別する処理のフローチャートである。図１３に示す判別処理は、分析回路１１０２０２及びＩｎｂｏｕｎｄキュー１１０２０３ａ又はＯｕｔｂｏｕｎｄキュー１１０２０３ｂによって実行される。
【０１１３】
まず、ネットワークノード１１０がパケットを受信すると（１３０１）、パケットのヘッダ情報は分析回路１１０２０２に伝送される。分析回路１１０２０２は、伝送されたヘッダ情報に含まれるＩＰアドレス、ＩＰマスク、ＶＬＡＮ  ＩＤ、ＭＡＣアドレス、ＴＣＰ  ｉｎｂｏｕｎｄポート番号及びＴＣＰ  ｏｕｔｂｏｕｎｄポート番号の一つ以上を検索条件としてパケット判別用テーブルを検索し、受信パケットがジッタ軽減対象パケット（例えば、時刻同期パケット）であるかを判別する（１３０２）。なお、第４の実施形態におけるパケット判別用テーブルは、前述した第３の実施形態のパケット判別用テーブル（図１０）と同等でよい。
【０１１４】
判別の結果、受信パケットがジッタ軽減対象パケットでない場合、キューの中で一番前の空き領域に受信パケットのヘッダを格納する（１３０３）。
【０１１５】
一方、受信パケットがジッタ軽減対象パケットである場合、Ｉｎｂｏｕｎｄ側の処理かＯｕｔｂｏｕｎｄ側の処理かで分岐する（１３０４）。
【０１１６】
Ｉｎｂｏｕｎｄ側の処理では、分析回路１１０２０２ａは、キューへの挿入位置及び優先度の情報を、パケット判別用テーブルから取得する（１３０５）。そして、分析回路１１０２０２ａは、取得した挿入位置及び優先度の情報と共に、ジッタ軽減対象パケットを、位置指定パス１１０２０６ａを介して、Ｉｎｂｏｕｎｄキュー１１０２０３ａに伝送する。
【０１１７】
Ｉｎｂｏｕｎｄキュー１１０２０３ａは、当該ジッタ軽減対象パケットの挿入位置に他のパケットのヘッダが格納されているかを判別する（１３０６）。その結果、当該ジッタ軽減対象パケットの挿入位置にパケットのヘッダが格納されていなければ、パケットのヘッダ、ジッタ軽減対象パケットであることを示す情報（例えば、フラグ）及びパケットの優先度の情報を挿入位置に格納する（１３０７）。
【０１１８】
一方、当該ジッタ軽減対象パケットの挿入位置にパケットのヘッダが格納されている場合、受信パケットの優先度と当該挿入位置に格納されているヘッダのパケットの優先度とを比較する。受信パケットの優先度が低い場合には、受信パケットと当該挿入位置に格納されているパケットとを入れ替え、当該ジッタ軽減対象パケットの挿入位置を一つ後方に繰り下げることを繰り返し、パケットの挿入位置を決定する。そして、決定された挿入位置に受信パケットのヘッダを格納する（１３０８）。
【０１１９】
そして、当初予定されていた挿入位置からの前後のズレ量の情報を、挿入されるジッタ軽減対象パケットのヘッダに付与する。また、ジッタ軽減対象パケットの挿入によって移動したパケットがジッタ軽減対象パケットである場合、当初の格納位置からの前後への移動量の情報を移動したパケットのヘッダに付与する（１３０９）。
【０１２０】
Ｏｕｔｂｏｕｎｄ側の処理では、分析回路１１０２０２ｂは、キューへの挿入位置及び優先度の情報を、パケット判別用テーブルから取得する（１３１０）。その後、Ｉｎｂｏｕｎｄ側で付与された移動量（ズレ量）に基づいて、キューへの格納位置を調整する。すなわち、パケットに付与された移動量（ズレ量）の分だけ、キューへの挿入位置を前後に調整する。例えば、Ｉｎｂｏｕｎｄ側でｎ番目に格納すべきパケットのヘッダがｎ＋１番目に格納された場合、移動量が後方に＋１であるという情報が付与されたパケットがＯｕｔｂｏｕｎｄ側に伝送される。Ｏｕｔｂｏｕｎｄ側で、ｍ番目に格納するという検索結果を得た場合、当該パケットをｍ−１番目に格納するように、挿入位置を補正して、パケットをキュー１１０２０３ｂに伝送する（１３１１）。
【０１２１】
Ｏｕｔｂｏｕｎｄキュー１１０２０３ｂは、Ｉｎｂｏｕｎｄキュー１１０２０３ａと同様に、当該ジッタ軽減対象パケットのヘッダの挿入位置に他のパケットのヘッダが格納されているかを判別する（１３１２）。その結果、当該ジッタ軽減対象パケットの挿入位置にパケットのヘッダが格納されていなければ、パケットのヘッダ、ジッタ軽減対象パケットであることを示す情報（例えば、フラグ）及びパケットの優先度の情報を挿入位置に格納する（１３１３）。
【０１２２】
一方、当該ジッタ軽減対象パケットの挿入位置にパケットのヘッダが格納されている場合、受信パケットの優先度と当該挿入位置に格納されているヘッダのパケットの優先度とを比較し、受信パケットの優先度が低い場合には、受信パケットと当該挿入位置に格納されているパケットとを入れ替え、当該ジッタ軽減対象パケットの挿入位置を一つ後方に繰り下げることを繰り返し、パケットの挿入位置を決定する。そして、決定された挿入位置に受信パケットのヘッダを格納する（１３１４）。
【０１２３】
第４の実施形態のネットワークノードは、分散型アーキテクチャを採用しているが、内部の処理に関しては様々な方法を採用することができる。第４の実施形態の基本構成では、必ずＩｎｂｏｕｎｄ側で出力ポートを検索し、クロスバスイッチ１１０３を介した後にＯｕｔｂｏｕｎｄ側で出力ポートを検索する。
【０１２４】
しかし、例えば、検索を行った検索エンジン１１０２０４（検索部１１０２ａ等）に直接接続されているＮＩＣの一つが転送先である場合、Ｉｎｂｏｕｎｄ側の検索結果で検索が終了してもよい。又は、Ｏｕｔｂｏｕｎｄ側でも検索するが、クロスバスイッチ１１０３を介してパケットを伝送しなくてもよい。なお、この場合、パケット格納バッファ１１０２０７からパケットヘッダ分離部１１０２０１ｂへパケットを伝送するパスが必要となる。
【０１２５】
このように、装置内部において、検索結果に応じてパスが短縮される場合、キューへの蓄積回数が変化したり、通過する経路の違いによる遅延時間の差が発生する。装置内の経路が同一である場合、一般的に、ジッタには影響を及ぼさない。しかしながら、装置を通過する絶対時間を入力ポート及び装置構成によらず一定にすることが必要な場合、この通過時間の差を補正するために出力側調整キュー１１０２１２が必要となる。
【０１２６】
この場合、検索エンジン１１０２０４にて検索した結果に基づいて、検索回数の違いや、装置内の経路差などを補正するために必要なウェイト時間を得られるように、出力側調整キュー１１０２１２にてパケットヘッダを保持し、パケットの出力タイミングを調整するとよい。
【０１２７】
以上に説明したように、第４の実施形態では、パケットをキューに格納する場合に前後にずらした量の情報をパケットに付与してネットワークノード内を転送することによって、後段のキューにおけるパケット格納位置を補正することができる。
【０１２８】
第４の実施形態は、分散型ネットワークノードの例であり、ポート数や収容容量が大きいネットワークノードに適用すると好適である。このようなネットワークノードでは、ブロック間のパケット伝送毎に、キューへの蓄積が発生する場合がある。このため、ネットワークノードが本実施形態では記載していないキューを有する場合がある。ネットワークノードが多数のキューを有する場合、意図した通りの位置に格納できないことによって発生するジッタが増える可能性が高い。このため、第４の実施形態では、装置の規模の拡大に伴う、ジッタの増加を軽減することができる。
【符号の説明】
【０１２９】
１０  ネットワークノード
１０１  ポート
１０２  バッファ部
１０２１ａ、１０２１ｂ  キュー
１０２２ａ、１０２２ｂ  判別回路
１０２３ａ、１０２３ｂ  通常パス
１０２４ａ、１０２４ｂ  位置指定パス
１０３  検索エンジン
７０１ａ〜７０１ｄ  受信ポート
７０２ａ〜７０２ｄ  前段バッファ部
７０２１  判別回路
７０２２  ＱｏＳ判定回路
７０２３ａ〜７０２３ｄ  キュー
７０２４  引き出し回路
７０２５  位置指定パス
７０３  検索エンジン
７０４ａ〜７０４ｄ  後段バッファ部
７０５ａ〜７０５ｄ  送信ポート
１１０  分散型ネットワークノード
１１０１ａ〜１１０１ｄ  ネットワークインタフェースカード（ＮＩＣ）
１１０２ａ〜１１０２ｄ  検索部
１１０３  クロスバスイッチ
【図１】
0005768289.tif 000002
【図２】
0005768289.tif 000003
【図３】
0005768289.tif 000004
【図４】
0005768289.tif 000005
【図５】
0005768289.tif 000006
【図６】
0005768289.tif 000007
【図７】
0005768289.tif 000008
【図８】
0005768289.tif 000009
【図９】
0005768289.tif 000010
【図１０】
0005768289.tif 000011
【図１１】
0005768289.tif 000012
【図１２】
0005768289.tif 000013
【図１３】
0005768289.tif 000014