(57)【要約】【課題】通信処理装置及び通信処理方法に関し、優先度に応じたパケット処理機能を確保しつつ、巡回する診断パケットによる診断精度を向上させる。【解決手段】通信処理装置において、受信したパケットが診断パケットであるか否かを判別する判別手段２を設ける。また、該パケットをその優先度に応じて、帯域が保証された第一クラス及び帯域が保証されていない第二クラスに分配する分配手段３を設ける。  加えて、該第一クラスに分配された第一パケットの読み出しレートに基づき、該第一パケットの輻輳率を算出する輻輳率算出手段６を設ける。さらに、該輻輳率に基づき、該第二クラスに分配された第二パケットのうちの該診断パケットを優先して読み出す読み出し手段７を設ける。【選択図】図３
2011249977.tif 000002
【特許請求の範囲】
【請求項１】
受信したパケットが診断パケットであるか否かを判別する判別手段と、
受信した該パケットをその優先度に応じて、帯域が保証された第一クラス及び帯域が保証されていない第二クラスの少なくとも二種類のクラスに分配する分配手段と、
該第一クラスに分配された第一パケットの読み出しレートに基づき、該第一パケットの輻輳率を算出する輻輳率算出手段と、
該輻輳率算出手段で算出された該輻輳率に基づき、該第二クラスに分配された第二パケットのうち、該判別手段で該診断パケットであると判別されたものを優先して読み出す読み出し手段と
を備えたことを特徴とする、通信処理装置。
【請求項２】
該第二クラスに分配された該第二パケットを管理する管理手段と、
該管理手段で管理された該第二パケットのうちの該診断パケットを、該管理手段とは別個に管理する診断管理手段とを備え、
該読み出し手段が、該輻輳率算出手段で算出された該輻輳率に基づき、該第一管理手段及び該診断管理手段の何れか一方から該診断パケットを優先して読み出す
ことを特徴とする、請求項１記載の通信処理装置。
【請求項３】
該読み出し手段で読み出される該診断パケットに対し、該輻輳率算出手段で算出された該輻輳率の情報を埋め込む埋め込み手段と、
該埋め込み手段によって該診断パケットに埋め込まれた該輻輳率の情報に基づき、該第二クラスにおける滞留の有無を判定する判定手段とを備えた
ことを特徴とする、請求項１又は２記載の通信処理装置。
【請求項４】
該第二パケットのうちの該診断パケットに対応する制御フラグを記憶するフラグ記憶手段と、
該第二クラスに該診断パケットが分配されたときに該診断パケットの該制御フラグをオンに設定し、該診断パケットが読み出されたときに該診断パケットの該制御フラグをオフに設定するフラグ管理手段とを備え、
該読み出し手段が、該制御フラグがオンに設定された該診断パケットのみを読み出す
ことを特徴とする、請求項１〜３の何れか１項に記載の通信処理装置。
【請求項５】
該分配手段が、受信した該パケットをその優先度に応じた複数のクラスに分配するとともに、
該複数のクラスの輻輳度合いに係る輻輳条件に基づき、該パケットを廃棄する廃棄手段と、
該判別手段で該パケットが該診断パケットであると判別されたときに、該輻輳条件をパケット廃棄回避側の条件に変更する廃棄条件変更手段と
を備えたことを特徴とする、請求項１〜４の何れか１項に記載の通信処理装置。
【請求項６】
該廃棄手段が、該輻輳条件として該複数のクラスのうち少なくとも一つのクラスに分配された該パケットの個数に相関する物理量を判定するとともに、
該廃棄条件変更手段が、該物理量の判定に係る閾値を増大方向に変更する
ことを特徴とする、請求項５記載の通信処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、優先度に応じてパケット処理を行う通信処理装置に関する。
【背景技術】
【０００２】
従来、ネットワークの中枢部に配置されるハイエンドの中継機器やパケット交換機等の通信装置には、装置故障や通信障害を自ら検出する障害検出機能を備えたものがある。例えば、ネットワークを介して接続された他の通信装置との間で通信が確保できなくなった場合に通信障害が発生したものと判断し、保守者にその旨を通知する機能である。このような通信装置の障害通知機能は、システムの平均復旧時間（MTTR; Mean Time To Recovery）の短縮に有用であり、ネットワークの可用性の向上に寄与する。
【０００３】
一方、通信装置間の障害検出手法だけでなく、個々の通信装置で自律的に装置故障や通信障害の有無を監視させる技術も知られている。一般的な監視の手法としては、通信装置の内部に診断パケットを巡回させる正常性監視法が挙げられる。この手法では、診断パケットを通常のユーザパケットと同じように授受させることで、通信装置における内部処理の信頼性を診断することが可能である（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表昭６１−５００７６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、通信装置が通常動作している状態であっても、その特性上、ユーザパケットの廃棄処理が行われる場合や、パケット処理の遅延が生じる場合がある。そのため、従来の手法では診断パケットによる診断精度を高めることが難しいという課題がある。
例えば、通信装置内のバッファ容量は有限であるため、ユーザパケットが過剰に入力されるとそれらの全てを保持することができず、バッファからあふれたユーザパケットが廃棄（drop）されることになる。このような輻輳によるパケットの廃棄処理は、診断パケットに対しても同様に実施される。したがって、仮に通信装置内を巡回する診断パケットが消失した場合に、その消失が正当なパケット廃棄によるものなのか、それとも通信装置内の障害によるものなのかを区別することができない。
【０００６】
また、優先度に応じてパケット処理を行う通信装置には、入力されたパケットに関する情報を記憶するためのバッファを、その優先度毎に複数個備えたものがある。このような通信装置では、低優先のバッファで管理されるパケットが高優先のバッファで管理されるパケットよりも外部へ送出されにくく、遅延が生じやすい。そのため、低優先のバッファの診断を目的とした診断パケットの授受にタイムアウトが生じた場合、そのタイムアウトが優先度に基づく正当なタイムアウトであるのか、それともパケットの廃棄や消失によるものなのかを区別することができない。
【０００７】
なお、上記の課題に対し、診断パケット専用のバッファを通信装置内に設けることで、診断パケットの巡回性を確保する手法を提案されている。しかしこの場合、診断パケットは専用のバッファのみを巡回することになり、通常のユーザパケットのバッファを実質的に迂回することになる。したがって、通常のユーザパケットのバッファにおける障害を検出することができず、通信インフラへ多大なる影響を与えるおそれがある。
【０００８】
本件の目的の一つは、このような課題に鑑み創案されたもので、優先度に応じたパケット処理機能を確保しつつ、巡回する診断パケットによる診断精度を向上させることである。
なお、前記目的に限らず、後述する「発明を実施するための形態」に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本件の他の目的として位置づけることができる。
【課題を解決するための手段】
【０００９】
開示の通信処理装置は、判別手段，分配手段，輻輳率算出手段及び読み出し手段を備える。判別手段は、受信したパケットが診断パケットであるか否かを判別する。分配手段は、受信した該パケットをその優先度に応じて、帯域が保証された第一クラス及び帯域が保証されていない第二クラスの少なくとも二種類のクラスに分配する。
輻輳率算出手段は、該第一クラスに分配された第一パケットの読み出しレートに基づき、該第一パケットの輻輳率を算出する。読み出し手段は、該輻輳率算出手段で算出された該輻輳率に基づき、該第二クラスに分配された第二パケットのうち、該判別手段で該診断パケットであると判別されたものを優先して読み出す。
【発明の効果】
【００１０】
開示の技術によれば、診断パケットのタイムアウトを防止することができ、診断精度を高めることができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係る通信装置の全体構成を例示するブロック構成図である。
【図２】図１の通信処理装置で授受されるパケットの構造を説明するための模式図である。
【図３】図１のトラフィックマネージャの構成を例示するブロック構成図である。
【図４】図１の通信処理装置による診断パケットのスケジューリングを説明するための図であり、（ａ）は診断管理部に記憶される診断パケット及びダイアグＩＤの対応テーブル、（ｂ）は診断管理部に記憶される診断パケットのダイアグＩＤ及びフラグ対応テーブル、（ｃ）はパケット読み出し部によるパケット格納部からのパケットの読み出し条件を示す模式図である。
【図５】図２のキューイングコントローラ部での制御手順を説明するためのフローチャートである。
【図６】図２のスケジューラ部での制御手順を説明するためのフローチャートであり、（ａ）はアドレス管理部からのパケット読み出しに係るフロー、（ｂ）は診断管理部からのパケット読み出しに係るフローである。
【図７】変形例としてのスケジューラ部での制御手順を説明するためのフローチャートである。
【図８】変形例としてのトラフィックマネージャの構成を例示するブロック構成図である。
【図９】図８のスケジューラ部での制御手順を説明するためのフローチャートである。
【図１０】図８のトラフィックマネージャでの制御内容を説明する図であり、（ａ）は診断管理部に記録された診断パケットのアドレスの数を示す模式図、（ｂ）はパケット格納部から読み出される診断パケットの順序を説明するためのタイムチャートである。
【図１１】変形例としてのトラフィックマネージャの構成を例示するブロック構成図である。
【図１２】変形例としてのトラフィックマネージャの構成を例示するブロック構成図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本通信処理装置及び通信処理方法に係る実施の形態を説明する。ただし、以下に示す実施形態は、あくまでも例示に過ぎず、以下に示す実施形態で明示しない種々の変形や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形（実施形態及び各変形例を組み合わせる等）して実施することができる。
【００１３】
［１．通信装置］
図１は、実施形態に係る通信装置３０のハードウェア構成を例示するブロック構成図である。この通信装置３０は、ネットワークの中枢部や要所に配置される中継装置（ルータ，スイッチ等）であり、複数のフォワーディング処理モジュール２０，複数の回線処理モジュール２１，スイッチングモジュール２２及び制御モジュール２３を備える。なお、これらの各モジュール２０，２１，２２，２３の機能は、ASIC（Application Specific Integrated Circuit），システムLSI等のハードウェアで実現してもよいし、あるいはその一部又は全部をソフトウェアで実現してもよい。
【００１４】
回線処理モジュール２１は、外部回線に接続される物理インタフェースを有し、外部との間でパケットの送受信を行うものである。回線処理モジュール２１は、外部から入力されたパケットを認識してフォワーディング処理モジュール２０に伝達するとともに、フォワーディング処理モジュール２０側から伝達されるパケットを外部に出力する。また、回線処理モジュール２１は、診断パケットがフォワーディング処理モジュール２０側から伝達された場合に、その診断パケットを折り返しフォワーディング処理モジュール２０側へと伝達する機能を持つ。
【００１５】
なお、回線処理モジュール２１は、通信装置３０が対応する回線インタフェース［例えば、ATM （Asynchronous Transfer Mode），POS〔Packet Over SONET（Synchronous Optical NETwork）〕，広域イーサネット（登録商標），FDDI（Fiber-Distributed Data Interface）等］に応じて複数個設けられる。
フォワーディング処理モジュール２０は、回線処理モジュール２１とスイッチングモジュール２２との間でパケットを授受するものである。フォワーディング処理モジュール２０は、少なくとも二種類の機能を持つ。第一の機能は、受け取ったパケットに含まれるヘッダ（Header）及びテイラー（Tailer）を解釈する機能である。第二の機能は、受け取ったパケットを一時的に記憶するとともに一定の規則に従ってパケットを適切な送信先に送出する機能である。パケットの送信先に関する情報は、第一の機能によって把握される。なお、他の機能として、スイッチングモジュール２２から受け取ったパケットにヘッダ及びテイラーを付加（あるいは書き換え）する機能をフォワーディング処理モジュール２０に与えてもよい。
【００１６】
スイッチングモジュール２２は、スイッチング回路（例えば、クロスバースイッチ）を有し、入力されたパケット毎にその回路を自在に変更するものである。スイッチングモジュール２２は、フォワーディング処理モジュール２０側から送出されたパケットの送信先に応じてスイッチの断接状態を変更（スイッチング）し、そのパケットを複数のフォワーディング処理モジュール２０の何れかに送出する。また、スイッチングモジュール２２は、制御モジュール２３から入力される診断パケットをフォワーディング処理モジュール２０側へ送出し、フォワーディング処理モジュール２０側から受け取った診断パケットを再び制御モジュール２３へ送出する機能を持つ。
【００１７】
制御モジュール２３は記憶装置（ROM，RAM等）及び中央処理装置（CPU，MPU等）を有し、通信装置３０内の各デバイスを統括管理するものである。制御モジュール２３は、例えばフォワーディング処理モジュール２０やスイッチングモジュール２２の設定や装置の動作障害の検出を担当する。また、制御モジュール２３は、診断パケット生成部２３ａ及び診断パケット判定部２３ｂを有する。
【００１８】
診断パケット生成部２３ａは、通信装置３０内を巡回させるための診断パケットを生成するものである。ここで生成される診断パケットの構造は、回線処理モジュール２１において外部との間で授受されるユーザパケット（通常のパケット）の構造に倣うものとする。また、診断パケット内のヘッダ領域にユーザパケットと区別するための診断識別ビット領域を持たせる。
【００１９】
なお、パケット内のヘッダ領域に埋め込まれた診断識別ビットを検索キーの一部として、後述するＬ３処理部１５またはＬ２処理部１６において情報検索が行われる。検索の結果、連想メモリから得られるフローＩＤへと診断情報が引き継がれる。このフローＩＤとはパケットの宛先、送信元、優先度、等に応じてパケットをグループ化するための識別情報であり、本通信装置３０内だけで付与される外部ヘッダである。パケットの優先度は、診断識別ビット領域以外の領域で規定される。本通信装置３０では、受信パケットの外部ヘッダにあるフローＩＤを参照することでそのパケットの優先度を把握し、優先度に応じたパケット処理を実施する。また、フローＩＤの診断識別ビットを参照することでそのパケットの種類（そのパケットが診断パケットであるか否か）を把握し、種類に応じたパケット処理を実施する。
【００２０】
例えば、フローＩＤの最下位ビットを診断識別ビットとして設定し、診断パケットにおけるフローＩＤの診断識別ビットを１とする。また、ユーザパケットにおけるフローＩＤの診断識別ビットを０とする。パケットの優先度に関する情報は、フローＩＤの最下位以外のビットに記録する。図２に示す例では、フローＩＤが0x8000（16進表記で8000）であるパケットはユーザパケットであり、フローＩＤが0x8001であるパケットは診断パケットである。このように、フローＩＤによってパケットの優先度及び種類が判別されることになる。
【００２１】
診断パケット判定部２３ｂは、巡回してきた診断パケットに基づいて通信装置３０の状態を判定するものである。ここでの判定基準は種々考えられる。例えば、診断パケットが規定時間以内に巡回して戻ってきた場合に、通信装置３０の状態が正常であると判定してもよい。あるいは、診断パケットのヘッダやペイロードの内容に基づく判定を行ってもよい。
【００２２】
図１中に示すように、通信装置３０内におけるパケットの流れには、入力方向（Ingress方向）及び出力方向（Egress方向）の二種類が存在する。入力方向の流れは、回線処理モジュール２１からフォワーディング処理モジュール２０を介してスイッチングモジュール２２側へ向かう方向（図１中に白矢印で示す方向）である。また、出力方向の流れは、スイッチングモジュール２２からフォワーディング処理モジュール２０を介して回線処理モジュール２１側へ向かう方向（図１中に黒矢印で示す方向）である。
【００２３】
一般に、通信装置３０の外部から入力されるユーザパケットは、回線処理モジュール２１からフォワーディング処理モジュール２０内を入力方向に伝達される。その後、スイッチングモジュール２２で折り返して出力方向に伝達され、回線処理モジュール２１から出力される。
一方、診断パケット生成部２３ａで生成される診断パケットは、スイッチングモジュール２２からフォワーディング処理モジュール２０の出力方向へ向かい、回線処理モジュール２１で折り返してフォワーディング処理モジュール２０の入力方向へと伝達される。その後、スイッチングモジュール２２を介して制御モジュール２３に戻った診断パケットが、診断パケット判定部２３ｂにおける判定に供される。
【００２４】
［２．フォワーディング処理モジュール］
［２−１．概要］
フォワーディング処理モジュール２０には、機能ブロックとしてＬ２（レイヤ２）処理部１６，Ｌ３（レイヤ３）処理部１５及び二つのトラフィックマネージャ１０を有する。パケットの流れのうち入力方向の流れに着目すると、上流側から順にＬ２処理部１６，Ｌ３処理部１５，トラフィックマネージャ１０の順に配置される。また、出力方向の流れに着目すると、上流側から順にＬ３処理部１５，Ｌ２処理部１６，トラフィックマネージャ１０の順に配置される。何れのパケットの流れにおいてもトラフィックマネージャ１０はそれぞれの流れの下流端に位置する。
【００２５】
Ｌ２処理部１６は、パケットのレイヤ２ヘッダ及びレイヤ２テイラーを処理するモジュールである。また、Ｌ３処理部１５は、パケットのレイヤ３ヘッダ及びレイヤ３テイラーを処理するモジュールである。フローＩＤは、パケットのレイヤ２ヘッダ及びレイヤ３ヘッダの何れかに含まれるため、ヘッダの内容をＬ２処理部１６及びＬ３処理部１５で読み取ることで、そのパケットの優先度及び種類が判別可能となる。Ｌ２処理部１６及びＬ３処理部１５は、パケットのヘッダ内を検索してフローＩＤに変換し、これをトラフィックマネージャ１０へ伝達する。
【００２６】
トラフィックマネージャ１０は、フローＩＤの内容に基づき、そのパケットの優先度に応じたキューイング及びスケジューリングを実施する。トラフィックマネージャ１０の詳細な機能ブロックを図３に示す。
トラフィックマネージャ１０は、キューイングコントローラ部１１（キューイングコントローラ），アドレス管理部１２（管理手段），スケジューラ部１３（スケジューラ）及びパケット格納部１４を備える。
【００２７】
［２−２．キューイングコントローラ部］
キューイングコントローラ部１１は、受け取ったパケットのキューイングを担当するものであり、受信管理部１，判別部２（判別手段），分配部３（分配手段）及びパケット書き込み部４を備える。
受信管理部１は、Ｌ２処理部１６又はＬ３処理部１５から伝達されるパケットを一時的に記憶する受信FIFOバッファ１ａを有する。受信FIFOバッファ１ａは、パケットの読み出し順序がそのパケットの書き込み順序に一致する待ち行列型（FIFOキュー）構造を有する記憶領域である。
【００２８】
なお、FIFO型の記憶領域におけるデータの読み書きは、書き込みアドレスを指定するライトポインタ（ＷＰ）と読み出しアドレスを指定するリードポインタ（ＲＰ）とによって管理される。各々のポインタの位置は、アドレス番号が同一方向に変化するように個別に制御される。リードポインタはライトポインタを追いかけるように移動し、リードポインタがライトポインタに追いついたとき、キューが空の状態（null状態）となる。また、ライトポインタがリードポインタに追いつくまでの距離に相当する領域が記憶領域における書き込み可能な記憶領域であり、ライトポインタがリードポインタに追いついたとき、キューが完全に満たされた状態（full状態）となる。
【００２９】
判別部２は、Ｌ２処理部１６又はＬ３処理部１５から伝達されるパケットのフローＩＤに基づき、受信したパケットの優先度及び種類を判別するものである。まず、判別部２は、フローＩＤの診断識別ビットを参照して、受信したパケットが診断パケットであるか否かを判別する。また、判別部２は、パケットをその優先度毎に以下の三種類のクラスに分類する。判別部２は、判別したパケットの優先度及び種類の情報を分配部３に伝達する。
【００３０】
（１）ＥＦ（Expedited Forwarding）クラス
（２）ＡＦ（Assured Forwarding）クラス
（３）ＤＦ（Default Forwarding）クラス
ＥＦクラスは、最小帯域（最小帯域幅又は最小通信速度）及び遅延時間が保証された最も優先度の高いクラスである。このクラスに分類されたパケットは、後述するスケジューラ部１３により、予め設定された最小帯域の大きさに応じた所定時間の間に読み出される。
【００３１】
ＡＦクラスも最小帯域が保証されたクラスである。このクラスに分類されたパケットについては、遅延時間に関するサービス上の制約はないが、最小帯域が保証されていることから診断機能に影響を与えるほどの遅延が生じることはない。したがって、ＡＦクラスのパケットは、後述するスケジューラ部１３により、予め設定された最小帯域の大きさに応じた所定時間の間に読み出される。なお、本実施形態では最小帯域の大きさの異なる二種類のＡＦ１クラス及びＡＦ２クラスが設定される。
【００３２】
ＤＦクラスは、最小帯域が保証されないベストエフォート型のクラスである。このクラスに分類されたパケットは他のクラスのパケットよりも優先度が低く、読み出しまでの遅延時間に制約がない。
上記の各クラスに分類されるパケットの優先順序は、優先度の高いものから、ＥＦクラス，ＡＦ１クラス，ＡＦ２クラス，ＤＦクラスの順である。以下、帯域が保証されたＥＦクラス，ＡＦ１クラス及びＡＦ２クラスのことを第一クラスとも呼び、帯域が保証されていないＤＦクラスのことを第二クラスとも呼ぶ。
【００３３】
分配部３は、判別部２で判別されたパケットの優先度及び種類に応じて、パケットをアドレス管理部１２に分配するものである。アドレス管理部１２には上記の各クラスに分配されるパケットのアドレス情報を記憶する複数のバッファが設けられており、分配部３は各パケットをアドレス管理部１２の複数のバッファに分配する。
アドレス管理部１２は、分配部３で各クラスに分配されたパケットのアドレス情報を順次記憶するバッファ（アドレス管理用バッファ）として、ＥＦクラスバッファ１２ａ，ＡＦ１クラスバッファ１２ｂ，ＡＦ２クラスバッファ１２ｃ及びＤＦクラスバッファ１２ｄを有する。これらの各クラスバッファ１２ａ〜１２ｄはFIFO型の記憶領域であり、後述するスケジューラ部１３のセレクタ５からの要求に応じて、パケットのアドレス情報を書き込まれた順に出力する。
【００３４】
各クラスのバッファ１２ａ〜１２ｄに記憶されるパケットのアドレス数には、それぞれ上限値が存在する。すなわち、各クラスのバッファ１２ａ〜１２ｄにはパケット廃棄のための閾値が設定されている。そこで、分配部３は各クラスに分配されるパケットのアドレス数を勘定して、バッファ容量を超えるパケットの流入時にそのパケットを廃棄する制御を実施する。分配部３は、このパケット廃棄制御を実施するための廃棄部３ａ（廃棄手段）及び閾値変更部３ｂ（廃棄条件変更手段）を有する。
【００３５】
廃棄部３ａは、アドレス管理部１２の各クラスの輻輳度合いに係る輻輳条件に基づき、パケットを廃棄するものである。ここでは、分類されるクラスに記憶されているパケットのアドレス数Ｔを参照し、アドレス数Ｔが所定の第一閾値Ｔ1以上である場合にそのパケットを廃棄する。第一閾値Ｔ1は、クラス毎に異なる値として設定される。
例えば、図３中に示すように、ＥＦクラスバッファ１２ａには第一閾値Ｔ1-1が設定され、ＡＦ１クラスバッファ１２ｂには第一閾値Ｔ1-2が設定される。また、ＡＦ２クラスバッファ１２ｃには第一閾値Ｔ1-3が設定され、ＤＦクラスバッファ１２ｄには第一閾値Ｔ1-4が設定される。以下、クラス毎に異なる第一閾値Ｔ1-1〜Ｔ1-4を個々に区別する必要がない場合には単に、第一閾値Ｔ1と呼ぶ。
【００３６】
一方、アドレス数Ｔが第一閾値Ｔ1未満である場合には、バッファに余裕があるものとしてそのパケットをパケット書き込み部４へ伝達する。これを受けてパケット書き込み部４は、そのパケットをパケット格納部１４に書き込み、書き込んだアドレス情報を分配部３に伝達する。分配部３はそのアドレス情報をアドレス管理部１２の適切なクラスに分配し、キューイングを完了する。第一閾値Ｔ1と同様に、第二閾値Ｔ2もクラス毎に異なる値として設定される。
【００３７】
例えば、図３中に示すように、ＥＦクラスバッファ１２ａには第二閾値Ｔ2-1が設定され、ＡＦ１クラスバッファ１２ｂには第二閾値Ｔ2-2が設定される。また、ＡＦ２クラスバッファ１２ｃには第二閾値Ｔ2-3が設定され、ＤＦクラスバッファ１２ｄには第二閾値Ｔ2-4が設定される。以下、クラス毎に異なる第二閾値Ｔ2-1〜Ｔ2-4を個々に区別する必要がない場合には単に、第二閾値Ｔ2と呼ぶ。
【００３８】
パケット格納部１４は、分配部３で廃棄されなかったパケットを一時的に記憶する格納バッファ１４ａを有する。格納バッファ１４ａはランダムアクセス型の記憶領域であり、後述するスケジューラ部１３のパケット読み出し部９によって指定された読み出しアドレスのパケットを出力する。
閾値変更部３ｂは、診断パケットに対する廃棄部３ａでの判定条件をパケット廃棄回避側の条件に変更するものである。すなわち閾値変更部３ｂは、受信したパケットが診断パケットである場合に、第一閾値Ｔ1を第一閾値Ｔ1よりも大きい所定の第二閾値Ｔ2に変更する。したがって、廃棄部３ａは、アドレス数Ｔが第二閾値Ｔ2以上である場合に診断パケットを廃棄する。
【００３９】
分配部３によるパケットのキューイングに関して、ユーザパケット及び診断パケットは分配時における輻輳条件が互いに異なる一方、キューイングされるクラスの選択に際しては区別されない。したがって、診断パケットはユーザパケットと同様に、フローＩＤに記録されたパケットの優先度に応じたクラスに分配される。
分配部における輻輳条件をまとめると以下の通りである。
【００４０】
（条件１）ユーザパケットの場合、アドレス数Ｔ≧第一閾値Ｔ1である
（条件２）診断パケットの場合、アドレス数Ｔ≧第二閾値Ｔ2である(ただしＴ1＜Ｔ2)
これらの第一閾値Ｔ1と第二閾値Ｔ2との差（Ｔ2−Ｔ1）の大きさは、制御モジュール２３により任意に設定可能とする。一パケットずつ送受信の確認を行う診断方式とする場合には、差（Ｔ2−Ｔ1）の大きさを１以上とすればよい。また、第二閾値Ｔ2の大きさは、各クラスの記憶領域の大きさから一パケット分のアドレスを記憶するのに必要な記憶領域を減算した大きさ以下であればよい。
【００４１】
キューイングコントローラ部１１の輻輳条件に係る閾値とキューイング動作との関係をまとめると以下の通りである。なお、一パケットずつ送受信の確認を行う診断方式であって、差（Ｔ2−Ｔ1）の大きさを１以上とした場合、アドレス数Ｔが第二閾値Ｔ2以上にならないため、第二閾値Ｔ2以上の場合を考慮する必要はない。
【００４２】
【表１】
2011249977.tif 000003
【００４３】
また、アドレス数Ｔの代わりに、各クラスバッファ１２ａ〜１２ｄのライトポインタ及びリードポインタによる読み書きのアドレス番号を参照して各クラスの輻輳状態を把握してもよい。この場合、ライトポインタがリードポインタに追いつくまでの距離に相当するアドレス番号差Ｓを廃棄部３ａが算出し、以下の輻輳条件の成立時にパケットを廃棄する。
【００４４】
（条件３）ユーザパケットの場合、差Ｓ≧第一所定値Ｓ1である
（条件４）診断パケットの場合、差Ｓ≧第二所定値Ｓ2である(ただしＳ1＞Ｓ2)
ここで、第二所定値Ｓ2は第一所定値Ｓ1よりも小さい値とする。また、第一所定値Ｓ1及び第二所定値Ｓ2はそれぞれ、クラス毎に異なる値として設定してもよい。例えば、ＥＦクラスバッファ１２ａには第一所定値Ｓ1-1及び第二所定値Ｓ2-1を設定し、ＡＦ１クラスバッファ１２ｂには第一所定値Ｓ1-2及び第二所定値Ｓ2-2を設定する。また、ＡＦ２クラスバッファ１２ｃには第一所定値Ｓ1-3及び第二所定値Ｓ2-3を設定し、ＤＦクラスバッファ１２ｄには第一所定値Ｓ1-4及び第二所定値Ｓ2-4を設定する。以下、クラス毎に異なる第一所定値Ｓ1-1〜Ｓ1-4及び第二所定値Ｓ2-1〜Ｓ2-4を個々に区別する必要がない場合には、それぞれを単に第一所定値Ｓ1及び第二所定値Ｓ2と呼ぶ。
【００４５】
第一所定値Ｓ1と第二所定値Ｓ2との差（Ｓ1−Ｓ2）の大きさは、制御モジュール２３により任意に設定可能とする。例えば、一パケットずつ送受信の確認を行う診断方式とする場合には、差（Ｓ1−Ｓ2）の大きさを一パケットが占有するアドレスの幅（アドレスのマージン）以上とすればよい。
【００４６】
［２−３．スケジューラ部］
スケジューラ部１３は、パケット格納部１４に格納されたパケットのスケジューリングを担当するものである。すなわち、スケジューラ部１３はアドレス管理部１２の各クラスバッファ１２ａ〜１２ｄに記憶されたアドレス情報を各クラスの優先度に応じて選択し、選択されたアドレス情報に対応するパケットをパケット格納部１４から読み出して出力する。
【００４７】
パケットのスケジューリングは、メインスケジューラ７（読み出し手段、又は、読み出し部）によって管理される。メインスケジューラ７は、予め定義された優先度及び帯域に基づいてセレクタ５を制御し、アドレス管理部１２の各クラスバッファ１２ａ〜１２ｄからパケットのアドレス情報を読み出すスケジューリング機能を有する。
一般に、優先度の低いＤＦクラスバッファ１２ｄのアドレス情報の読み出しは、他のＥＦクラスバッファ１２ａ，ＡＦ１クラスバッファ１２ｂ及びＡＦ２クラスバッファ１２ｃのアドレス情報の読み出しよりも遅れる傾向にある。一方、ＤＦクラスバッファ１２ｄに診断パケットがキューイングされた場合、その診断パケットの読み出しに遅延が生じると、診断パケットを用いた制御がタイムアウトする可能性がある。そこでスケジューラ部１３は、帯域保証のないＤＦクラスバッファ１２ｄに診断パケットが記憶された場合に限り、その診断パケットの読み出しの遅延時間を保証するための処理を実施する。このような処理を実施すべく、本スケジューラ部１３は輻輳率算出部６（輻輳率算出手段），診断管理部８（診断管理手段），フラグ管理部７ａ（フラグ管理手段）及びパケット読み出し部９を備える。
【００４８】
輻輳率算出部６は、第一クラスの各クラスバッファ１２ａ〜１２ｃからのアドレス情報の読み出しレート（読み出し速度）とライトポインタ及びリードポインタの位置に基づいて、第一クラスの輻輳レートＣＲ（輻輳率）を算出するものである。つまり、輻輳率算出部６は第二クラス以外のクラス（すなわち、第一クラス）に係る論理回路の動作に基づいて輻輳レートＣＲを算出する。各クラスバッファ１２ａ〜１２ｃの読み出しレートは、各クラスバッファ１２ａ〜１２ｃからのアドレス情報がセレクタ５を通過する回数・頻度、パケット長、及びクロックカウンタ（時間）から算出される。
【００４９】
輻輳レートＣＲの算出に際し、輻輳率算出部６は第一クラスの輻輳状態の指標として輻輳カウンタを用いる。輻輳カウンタは、第一クラスからの読み出しトラフィックが混雑するほど（輻輳度合いが激しいほど）値が増大するレジスタである。
輻輳率算出部６は、ＥＦクラスバッファ１２ａからの読み出しがなされた場合、以下の条件の成立時に輻輳カウンタ値をインクリメントする。
【００５０】
（条件５）ＷＰ≠ＲＰ、かつ、読み出しレート＜ＣＩＲ（＝ＰＩＲ）である。
同様に、ＡＦ１クラス及びＡＦ２クラスからの読み出しがなされた場合、輻輳率算出部６は以下の条件の成立時に輻輳カウンタ値をインクリメントする。
（条件６）ＷＰ≠ＲＰ、かつ、読み出しレート＜ＰＩＲである。
なお、ＷＰはライトポインタのアドレス，ＲＰはリードポインタのアドレス，ＣＩＲは最低帯域保証レート（Committed Information Rate），ＰＩＲは最高帯域保証レート（Peak Information Rate）を意味する。最低帯域保証レート及び最高帯域保証レートは、制御モジュール２３によってクラス毎に設定される値である。最小帯域が最高帯域と同一に設定されたＥＦクラスでは、ＣＩＲとＰＩＲとが一致する。
【００５１】
上記の条件中の「ＷＰ≠ＲＰ」は、ライトポインタのアドレスとリードポインタのアドレスとが一致していない場合、すなわち、キューが空でない場合に成立する。したがって、第一クラスに分配されたパケットが存在し、かつ、第一クラスからのアドレス情報の読み出し能力が最大まで発揮されていない場合に、輻輳カウンタ値が増加する。
上記の輻輳カウンタ値を用いて、輻輳率算出部６は以下の式に基づいて輻輳レートＣＲを算出する。
【００５２】
（式）  輻輳レートＣＲ＝輻輳カウンタ値／時間カウンタ値
なお、時間カウンタ値は時間の経過とともにインクリメントされる値であり、輻輳レートＣＲは単位時間あたりの輻輳カウンタ値の増加量に対応する値である。例えば、第一クラスからの読み出しトラフィックが混雑するほど（輻輳状態が激しいほど）輻輳レートＣＲは大きな値をとり、時間経過とともに減少する。
【００５３】
診断管理部８は、分配部３によってＤＦクラスに分配された診断パケットをアドレス管理部１２とは別個に管理するものである。診断管理部８は、フラグ記憶部８ａ（フラグ記憶手段）及び診断管理バッファ８ｂ（診断管理用バッファ）を備える。
診断管理バッファ８ｂは、ライトポインタ領域とダイアグＩＤ領域とを備えたFIFO型の記憶領域である。ライトポインタ領域は、アドレス管理部１２のＤＦクラスバッファ１２ｄに書き込まれた診断パケットのアドレス情報のコピーを記憶するための記憶領域である。ここには、ＤＦクラスに分配された診断パケットのアドレス情報のみが書き込まれる。
【００５４】
フラグ記憶部８ａは、診断管理バッファ８ｂに書き込まれた診断パケットが有効であるか否かを示す有効フラグ（Valid Flag）を設定し記憶するものである。有効フラグは、個々のダイアグＩＤ（診断用ＩＤ，Diag ID；ＤＦクラスに分配された診断パケットの管理番号）に対して一つずつ設定される。ここでは、診断管理バッファ８ｂに診断パケットが書き込まれたときに、その診断パケットのダイアグＩＤに対応する有効フラグが１（オン）に設定されて記憶される。例えば、図４（ｂ）に模式的に示すように、フラグ記憶部８ａではダイアグＩＤと有効フラグとが一対一に対応付けられる。なお、有効フラグの０（オフ）への変更は、メインスケジューラ７のフラグ管理部７ａによって行われる。
【００５５】
メインスケジューラ７は、前述のスケジューリング機能のほか、輻輳率算出部６で算出された輻輳レートＣＲに基づき、診断管理バッファ８ｂに記憶された診断パケットのアドレス情報をアドレス管理部１２のバッファ１２ａ〜１２ｃに優先して読み出す機能を有する。ここでは、輻輳レートＣＲが所定の輻輳閾値Ｔcrを超える場合に、診断管理バッファ８ｂから診断パケットのアドレス情報を読み出す処理が行われる。
【００５６】
輻輳閾値Ｔcrとは、単位時間あたりの輻輳カウンタ値の増加量を判定するための基準値である。すなわち、輻輳閾値Ｔcrは上記の条件５，６によってインクリメントされる輻輳カウンタ値の増加勾配に対応する値である。メインスケジューラ７は、輻輳レートＣＲが輻輳閾値Ｔcrを超えるほど輻輳カウンタ値の増加量が大きい遅延の発生時に、アドレス管理部１２に記憶されたＤＦクラスの診断パケットを規定時間以内に読み出すことができないと判断する。
【００５７】
また、輻輳レートＣＲが輻輳閾値Ｔcr以下である場合には、メインスケジューラ７は通常のスケジューリングを実施する。つまり、メインスケジューラ７は、輻輳レートＣＲが輻輳閾値Ｔcr以下であれば、アドレス管理部１２に記憶されたＤＦクラスの診断パケットを規定時間以内に読み出すことができると判断する。
メインスケジューラ７は、フラグ管理部７ａを備える。フラグ管理部７ａは、フラグ記憶部８ａに記憶された有効フラグのオン／オフ状態を変更するものである。ここでは、ＤＦクラスに分類された診断パケットのアドレス情報が読み出されたときに、その診断パケットのダイアグＩＤに対応する有効フラグが０（オフ）に設定される。ＤＦクラスに分類された診断パケットが読み出される場合には、以下の二通りが存在する。フラグ管理部７ａは、これらの何れの場合であっても有効フラグを０（オフ）に設定する。
【００５８】
（Ａ）ＤＦクラスバッファ１２ｄから診断パケットのアドレス情報が読み出された場合
（Ｂ）診断管理バッファ８ｂから診断パケットのアドレス情報が読み出された場合
パケット読み出し部９は、メインスケジューラ７で読み出されたアドレス情報に基づき、パケット格納部１４に格納されたパケットを格納バッファ１４ａから読み出して出力するものである。また、パケット読み出し部９は、メインスケジューラ７で読み出されたアドレス情報がＤＦクラスバッファ１２ｄ又は診断管理バッファ８ｂ上の診断パケットのものである場合に、その診断パケットに対応する有効フラグを確認してパケットを読み出す処理を行う。
【００５９】
例えば図４（ｃ）に示すように、パケット読み出し部９は、有効フラグが１（オン）である診断パケットのみを格納バッファ１４ａから読み出し、有効フラグが０である診断パケットは廃棄する（又は読み出さない）。これにより、同一の診断パケットが二重に読み出されることが防止される。
また、パケット読み出し部９には、輻輳率埋め込み部９ａ（埋め込み手段）が設けられる。輻輳率埋め込み部９ａは、メインスケジューラ７でアドレス情報を読み出されたパケットが診断管理バッファ８ｂ上の診断パケットだった場合、その診断パケットに輻輳レートＣＲの情報を埋め込む処理を実施するものである。輻輳レートＣＲの情報は、診断パケットのペイロードに埋め込まれる。これにより、第一クラスの輻輳状態が診断パケットによって制御モジュール２３に伝達される。
【００６０】
［３．フローチャート］
［３−１．キューイング時］
図５は、キューイングの制御手順を例示するフローチャートである。このフローは、おもにキューイングコントローラ部１１において所定の演算周期で繰り返し実施される。
ステップＡ１では、Ｌ２処理部１６又はＬ３処理部１５からパケットの入力があったか否かが判定される。キューイングコントローラ部１１の受信管理部１にパケットが入力されると、受信FIFOバッファ１ａにパケットが書き込まれ、ステップＡ２へ進む。
【００６１】
ステップＡ２では、Ｌ２処理部１６又はＬ３処理部１５から伝達されたフローＩＤの内容に基づき、判別部２においてパケットのクラスが判別される。また、続くステップＡ３では、パケットが診断パケットであるかユーザパケットであるかが判別される。
ステップＡ４では、分配部３においてパケットが分配されるクラスが選択される。このステップでは、パケットのアドレス情報が書き込まれるべきアドレス管理部１２のバッファが、ＥＦクラスバッファ１２ａ，ＡＦ１クラスバッファ１２ｂ，ＡＦ２クラスバッファ１２ｃ及びＤＦクラスバッファ１２ｄの中から選択される。
【００６２】
ステップＡ５では廃棄部３ａにおいて、選択されたクラスのバッファに記憶されているアドレス数Ｔが参照され、そのアドレス数Ｔが第一閾値Ｔ1未満であるか否かが判定される。例えば、パケットのクラスがＥＦクラスであれば、ＥＦクラスバッファ１２ａに記憶されているアドレス数ＴとＥＦクラスの第一閾値Ｔ1-1とが比較される。ここで、アドレス数Ｔが第一閾値Ｔ1未満である場合には、バッファに余裕があるものとして、ステップＡ８へ進む。一方、アドレス数Ｔが所定の第一閾値Ｔ1以上である場合にはステップＡ６へ進む。
【００６３】
ステップＡ６では、閾値変更部３ｂにおいてパケットが診断パケットであるか否かが判定される。ここで診断パケットでない場合にはステップＡ１３へ進み、廃棄部３ａによってパケットが廃棄される。一方、診断パケットである場合にはステップＡ７へ進む。
ステップＡ７では、閾値変更部３ｂにより廃棄部３ａでの判定条件がパケット廃棄回避側の条件に変更され、アドレス数Ｔが第一閾値Ｔ1よりも大きい第二閾値Ｔ2未満であるか否かが判定される。ここで、アドレス数Ｔが第二閾値Ｔ2未満であれば、バッファに診断パケットを記憶させるための余裕があるものとして、ステップＡ８へ進む。一方、アドレス数Ｔが第二閾値Ｔ2以上である場合にはステップＡ１３へ進み、診断パケットが廃棄される。なお、ステップＡ１３での診断パケットの廃棄は、ステップＡ５及びステップＡ７における第一閾値Ｔ1，第二閾値Ｔ2の設定によって回避することが可能である。換言すれば、第一閾値Ｔ1，第二閾値Ｔ2の設定により、ステップＡ７及びステップＡ１３を省略してもよい。
【００６４】
ステップＡ８では、分配部３からパケット書き込み部４へとパケットが伝達され、パケット書き込み部４によりパケットがパケット格納部１４の格納バッファ１４ａに記憶される。また、格納バッファ１４ａ上のアドレス情報はパケット書き込み部４から分配部３に伝達される。続くステップＡ９では、分配部３においてパケットのアドレス情報がステップＡ４で選択されたクラスのバッファに記録される。
【００６５】
ステップＡ１０では、スケジューラ部１３の診断管理部８において、前ステップでアドレス情報が書き込まれたバッファがＤＦクラスバッファ１２ｄであったか否かが判定される。ここで、書き込み先がＤＦクラスバッファ１２ｄでない場合には、そのままこのフローは終了する。一方、書き込み先がＤＦクラスバッファ１２ｄであった場合にはステップＡ１１へ進む。
【００６６】
ステップＡ１１では、診断管理部８において、ＤＦクラスバッファ１２ｄに書き込まれたアドレス情報のコピーが診断管理バッファ８ｂのライトポインタ領域に記憶される。また、このとき書き込まれたアドレス情報に対応する診断パケットのダイアグＩＤが設定され、診断管理バッファ８ｂのダイアグＩＤ領域に記憶される。
続くステップＡ１２では、フラグ記憶部８ａにおいて、前ステップで設定されたダイアグＩＤに対応する有効フラグが１（オン）に設定され、このフローは終了する。
【００６７】
［３−２．スケジューリング時］
図６（ａ），（ｂ）は、スケジューリングの制御手順を例示するフローチャートである。これらのフローは、おもにスケジューラ部１３において所定の演算周期で繰り返し実施される。
ステップＢ１では、メインスケジューラ７において、予め定義された優先度及び帯域に基づいて読み出し対象のクラスが選択され、セレクタ５が制御される。続くステップＢ２では、輻輳率算出部６において、第一クラスの各クラスバッファ１２ａ〜１２ｃからのアドレス情報の読み出しレートに基づく輻輳カウンタがカウントされ、第一クラスの輻輳レートＣＲが算出される。
【００６８】
ステップＢ３では、メインスケジューラ７において、前ステップで算出された輻輳レートＣＲが輻輳閾値Ｔcrを超えるか否かが判定される。ここで、ＣＲ＞Ｔcrである場合には、ＤＦクラスの診断パケットを優先して読み出すべくステップＢ４へ進む。一方、ＣＲ≦Ｔcrである場合には、ステップＢ８へ進む。
ステップＢ４では、診断管理部８の診断管理バッファ８ｂから診断パケットを読み出すサブフローが実施される。このサブフローは、第一クラス側に輻輳が生じている場合に、診断管理部８に記憶されたアドレス情報を用いてＤＦクラスの診断パケットを優先的に処理するためのフローである。
【００６９】
図６（ｂ）に示すサブフローのステップＢ２１では、メインスケジューラ７により、診断管理部８の診断管理バッファ８ｂから診断パケットのアドレス情報が読み出される。ここで読み出されたアドレス情報はメインスケジューラ７からパケット読み出し部９へ伝達される。また、そのアドレス情報に対応する有効フラグがフラグ記憶部８ａからパケット読み出し部９へ伝達される。
【００７０】
続くステップＢ２２では、パケット読み出し部９において、前ステップで伝達された有効フラグが１（オン）であるか否かが判定される。ここで有効フラグが１（オン）である場合にはステップＢ２３へ進む。一方、有効フラグが０（オフ）である場合には、診断パケットがすでに読み出されたものとして、このフローは終了する。
ステップＢ２３では、パケット読み出し部９においてステップＢ２１で得られたアドレス情報が参照され、パケット格納部１４の格納バッファ１４ａからパケットが読み出される。その後、制御はステップＢ５へ進む。
【００７１】
ステップＢ５では、フラグ記憶部８ａにおいて、ステップＢ２３で読み出された診断パケットに対応する有効フラグが０（オフ）に設定される。続くステップＢ６では、輻輳率埋め込み部９ａにおいて、ステップＢ２３で読み出された診断パケットのペイロードに輻輳レートＣＲの情報が埋め込まれる。そして、ステップＢ７ではパケット読み出し部９から診断パケットが出力され、このフローが終了する。
【００７２】
ステップＢ３で輻輳レートＣＲが輻輳閾値Ｔcr以下である場合にはステップＢ８へ進み、通常のスケジューリングが実施される。このステップＢ８では、メインスケジューラ７により、ステップＢ１で選択されたクラスからパケットのアドレス情報が読み込まれる。このときのパケットの読み込み先は、アドレス管理部１２の各クラスバッファ１２ａ〜１２ｄの何れかである。ここで読み込まれたアドレス情報は、メインスケジューラ７からパケット読み出し部９へ伝達される。
【００７３】
ステップＢ９では、パケット読み出し部９において、前ステップで得られたアドレス情報が参照され、パケット格納部１４の格納バッファ１４ａからパケットが読み出される。続くステップＢ１０では、フラグ管理部７ａにおいて、パケット読み出し部９で読み出されたパケットのクラスがＤＦクラスであるか否かが判定される。ここで、ＤＦクラスである場合にはステップＢ１１へ進み、ＤＦクラス以外である場合にはステップＢ１５へ進む。なお、ステップＢ１５ではパケット読み出し部９からパケットが出力され、このフローは終了する。
【００７４】
ステップＢ１１では、フラグ管理部７ａにおいて、ステップＢ９で読み出されたパケットが診断パケットであるか否かが判定される。ここで診断パケットである場合にはステップＢ１２へ進み、ユーザパケットである場合にはステップＢ１５へ進む。
ステップＢ１２では、フラグ記憶部８ａにおいて、ステップＢ９で読み出された診断パケットに対応する有効フラグが０（オフ）であるか否かが判定される。ここで有効フラグがオフ（０）である場合にはステップＢ１３へ進み、パケット読み出し部９において読み出された診断パケットが廃棄されてこのフローは終了する。
一方、有効フラグが１（オン）である場合にはステップＢ１４へ進み、フラグ記憶部８ａにおいて有効フラグが０（オフ）に設定され、ステップＢ１５へ進む。
【００７５】
［４．作用，効果］
上記の実施形態により得られる効果の一例について説明する。
［４−１．キューイング処理での作用，効果］
開示のトラフィックマネージャ１０では、キューイングコントローラ部１１において診断パケットが診断専用の特殊なクラスではない通常のクラスに分配される。そのため、全てのアクティブなクラスに係るバッファを診断することができる。
【００７６】
例えば、優先度の高いパケットがキューイングされるＥＦクラスバッファ１２ａから、優先度の低いパケットがキューイングされるＤＦクラスバッファ１２ｄまで、アドレス管理部１２の全てのバッファを診断パケットの通過対象とすることができる。
また、本トラフィックマネージャ１０によれば、各クラスに振り分けられたパケットを廃棄するための輻輳条件を変更することで、診断パケットを廃棄されにくくすることができ、診断精度を高めることができる。
【００７７】
さらに、パケットの個数に相関する物理量（例えば、アドレス数Ｔ）の判定閾値を増大させることにより、パケットの廃棄を確実に回避させることができ、診断精度をさらに向上させることができる。
なお、アドレス数Ｔの代わりにアドレス番号差Ｓを用いる場合には、判定閾値を減少させることにより、パケットの廃棄を確実に回避させることができ、診断精度をさらに向上させることができる。つまり、判定閾値を変動させる際に増大させるか減少させるかは任意である。パケットの個数と正の相関がある指標を用いる場合には判定閾値を増大させることが考えられ、パケットの個数と負の相関がある指標を用いる場合には判定閾値を減少させることが考えられる。
【００７８】
［４−２．スケジューリング処理での作用，効果］
開示のトラフィックマネージャ１０では、スケジューラ部１３において、帯域が保証されていない第二クラスでパケットの滞留が生じたとしても、診断管理部８の診断管理バッファ８ｂから診断パケットのアドレス情報が優先的に読み出される。そのため、ＤＦクラスに分類された診断パケットのタイムアウトを実質的に防止することができ、診断精度をさらに向上させることができる。なお、ＥＦクラス及びＡＦクラスに分配された診断パケットは本来的に帯域保証されるため、タイムアウトが生じることはない。
【００７９】
また、ＥＦクラス及びＡＦクラスの輻輳レートＣＲが高い状態では、ＥＦクラス及びＡＦクラスのパケットのアドレス情報が優先的に読み出されるため、ＤＦクラスのバッファの状態を把握することが難しい。一方、本トラフィックマネージャ１０では、ＥＦクラス及びＡＦクラスの輻輳レートＣＲが高い状態であっても、診断管理バッファ８ｂに記憶された診断パケットのアドレス情報は読み出すことができる。
【００８０】
したがって、ＥＦクラス及びＡＦクラスの輻輳レートＣＲの情報をその診断パケットに埋め込むことで、アドレス管理部１２での輻輳状態を把握することができ、延いてはＤＦクラスバッファ１２ｄの輻輳状態や滞留の有無をより正確に把握することができる。これにより、診断精度をさらに向上させることができる。
例えば、ＤＦクラスの診断パケットの巡回テストでは、単に診断パケットが制御モジュール２３に到達したことで正常であると判定するのではなく、診断パケットに埋め込まれた輻輳レートＣＲが高い状態であることが確認されたときに正常であると判定する。このような判定により、アドレス管理部１２のＤＦクラスバッファ１２ｄにおけるリソースのスタックを検出することができ、より正確な診断が可能となる。
【００８１】
なお、診断管理部８の診断管理バッファ８ｂから診断パケットのアドレスを読み出す処理は、あくまで例外的措置とすることが好ましい。すなわち、ＤＦクラスバッファ１２ｄから診断パケットのアドレスを読み出す処理が阻害されない程度に輻輳レートＣＲ及び所定の輻輳閾値Ｔcrの具体的な値を設定すればよい。
また、本トラフィックマネージャ１０では、ＤＦクラスの診断パケットのアドレス情報を診断管理バッファ８ｂにコピーして管理するとともに、その診断パケットに対応する有効フラグを利用する。そのため、ＤＦクラスの診断パケットの読み出しの重複（同一の診断パケットを二回読み出すこと）を防止することができ、正確な診断が可能である。
【００８２】
［４−３．全体での作用，効果］
上述の改善により、トラフィックマネージャ１０を迂回させることなく診断パケットを通信装置３０内で巡回させることが可能となり、パケット格納部１４のアクティブな記憶領域について、ソフトエラー、ビットスタックの検出が容易となる利点がある。
同様に、全てのアクティブなアドレス管理FIFOバッファについても、ソフトエラー、ビットスタックの検出が容易である。例えば、アドレス管理部１２に含まれる全てのクラスバッファ１２ａ〜１２ｄ，受信管理部１の受信FIFOバッファ１ａ，診断管理部８の診断管理バッファ８ｂの障害検知が容易である。
【００８３】
また、全てのアクティブなフローについて、スケジューラ部１３の論理回路の動作異常を検出することができる。同様に、全てのアクティブなフローについて、キューイングコントローラ部１１の論理回路の動作異常を検出することができる。
また、本トラフィックマネージャ１０は、通信装置３０内を巡回する診断パケットに関して、低遅延，無廃棄の処理を保証する方式であり、優先度に応じたパケット処理機能を確保しつつ、巡回する診断パケットによる診断精度を向上させることができる。
【００８４】
［５．変形例］
開示の実施形態の一例に関わらず、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【００８５】
［５−１．有効フラグの設定に係る変形例］
上述の実施形態では、フラグ管理部７ａにおいて、ＤＦクラスに分類された診断パケットのアドレス情報が読み出されたときに有効フラグを０（オフ）に設定するものを例示したが、フラグの管理手法はこれに限定されない。例えば、診断パケットのアドレス情報の読み出し先がＤＦクラスバッファ１２ｄである場合にのみ、その診断パケットのダイアグＩＤに対応する有効フラグを０（オフ）に設定してもよい。つまり、診断管理バッファ８ｂから診断パケットのアドレス情報が読み出された場合には有効フラグを変更せず、１（オン）のまま保持する。
【００８６】
このような制御を実施する場合のスケジューリングに係るフローチャートを図７に例示する。このフローは、おもにスケジューラ部１３において所定の演算周期で繰り返し実施される。
ステップＣ１では、メインスケジューラ７において、予め定義された優先度及び帯域に基づいて読み出し対象のクラスが選択され、セレクタ５が制御される。続くステップＣ２では、輻輳率算出部６において、第一クラスの各クラスバッファ１２ａ〜１２ｃからのアドレス情報の読み出しレートに基づく輻輳カウンタがカウントされ、第一クラスの輻輳レートＣＲが算出される。
【００８７】
ステップＣ３では、メインスケジューラ７において輻輳レートＣＲが輻輳閾値Ｔcrを超えるか否かが判定される。ここで、ＣＲ＞Ｔcrである場合には、ＤＦクラスの診断パケットを優先して読み出すべくステップＣ４へ進む。一方、ＣＲ≦Ｔcrである場合には、ステップＣ７へ進む。
ステップＣ４では、診断管理部８の診断管理バッファ８ｂから診断パケットを読み出すサブフローが実施される。このサブフローは、図６（ｂ）のフローのステップＢ２１〜Ｂ２３と同一であり説明を省略する。
【００８８】
その後、ステップＣ５では、輻輳率埋め込み部９ａにおいて、診断パケットのペイロードに輻輳レートＣＲの情報が埋め込まれる。続くステップＣ６ではパケット読み出し部９から診断パケットが出力され、このフローが終了する。
このように、診断管理部８の診断管理バッファ８ｂから診断パケットのアドレス情報が読み出された場合には、有効フラグの状態が変更されない。そのため、ステップＣ４でＣＲ≦Ｔcrである場合に進むステップＣ７以降のフローでは、有効フラグの状態判定に係るステップが省略され、ＤＦクラスバッファ１２ｄからアドレス情報を読み出された全てのパケットは廃棄されることなく出力される。本フローのステップＣ７〜Ｃ１０，Ｃ１１〜Ｃ１２はそれぞれ図６（ａ）のフローのステップＢ８〜Ｂ１１，Ｂ１４〜１５に対応する。
【００８９】
上記の制御により、ＤＦクラスの診断パケットのアドレス情報が診断管理バッファ８ｂから読み出された場合、その後第一クラスの輻輳状態が解消されると、再度同じＤＦクラスの診断パケットが読み出されることになる。つまり、第一クラスに輻輳が生じているときにＤＦクラスの診断パケットが出力された場合には、その後同一の診断パケットが出力されたことを以て、ＤＦクラスバッファ１２ｄが正常に作動していると判定することができる。このような判定は、例えば制御モジュール２３の診断パケット判定部２３ｂで実施することができる。
【００９０】
なお、メインスケジューラ７のフラグ管理部７ａに有効フラグの切り換えに関する二種類のモードを実装することも考えられる。すなわち、第一のモードでは、診断管理バッファ８ｂからアドレス情報を読み出された診断パケットの有効フラグは状態を変更せず、ＤＦクラスバッファ１２ｄからアドレス情報を読み出された診断パケットのみ有効フラグを０（オフ）に設定する。一方、第二のモードでは、アドレス情報の読み出し先に拘わらず、読み出された診断パケットの有効フラグを０（オフ）に設定する。これらのモードは、制御モジュール２３によって任意に変更可能としておく。
【００９１】
第一のモード下では、例えば診断パケット判定部２３ｂにおいて、ＤＦクラスの診断パケットが二回読み出されない場合に、ＤＦクラスバッファ１２ｄが正常に作動していないと判断される。一方、第二のモード下では、ＤＦクラスの診断パケットが全く読み出されない場合に、ＤＦクラスバッファ１２ｄが正常に作動していないと判断される。
このように、複数種類のモードを用意することで、ＤＦクラスバッファ１２ｄの状態の判断基準に幅を持たせることができ、診断試験の仕様変更や装置構成の変更等に対する柔軟性を向上させることができる。
【００９２】
［５−２．複数のＤＦクラスバッファを有する場合の変形例］
また、上述の実施形態では、アドレス管理部１２のＤＦクラスバッファ１２ｄが単一である場合を例示したが、アドレス管理部１２に複数のＤＦクラスバッファを設けてもよい。
図８に例示するトラフィックマネージャ１０のアドレス管理部１２は三つのＤＦクラスバッファ１２ｄ〜１２ｆを有し、これに対応して、スケジューラ部１３の診断管理部８は三つの診断管理バッファ８ｂ〜８ｄを有する。なお、上述の実施形態と同様の要素については図中に同一の符号を付している。
【００９３】
第一診断管理バッファ８ｂは第一診断管理バッファ８ｂに記録される診断パケットのアドレス情報のコピーを記憶する記憶領域である。同様に、第二診断管理バッファ８ｃはＤＦ２クラスバッファ１２ｅに記録される診断パケットのアドレス情報のコピーを記憶し、第三診断管理バッファ８ｄはＤＦ３クラスバッファ１２ｆに記録される診断パケットのアドレス情報のコピーを記憶する。
【００９４】
これらの診断管理バッファ８ｂ〜８ｄにおいて、ＤＦクラスの診断パケットのキューイング状態が個別に管理される。それぞれのキュー管理は互いに独立しており、モジュール間の関連性は考慮しなくてよい。
また、診断管理部８のフラグ記憶部８ａは、これらの各診断管理バッファ８ｂ〜８ｄに記憶されたアドレス情報に対応する診断パケットのそれぞれについての有効フラグを記憶する。
【００９５】
メインスケジューラ７は、輻輳率算出部６で算出された輻輳レートＣＲが所定の輻輳閾値Ｔcrを超える場合に、上記の三つの診断管理バッファ８ｂ〜８ｄのうちの何れかからＤＦクラスの診断パケットのアドレス情報を読み出す処理を実施する。読み出し先の選択はラウンドロビン方式とする。
ここで、ＤＦクラスの診断パケットの読み出しを実施するためのサブフローを図９に例示する。このフローは、上述の実施形態における図６（ｂ）のステップＢ２１〜Ｂ２３の代わりに実施されるものである。なお、このサブフロー内で使用される添字ｘは、第一診断管理バッファ８ｂ，第二診断管理バッファ８ｃ及び第三診断管理バッファ８ｄを区別するためのものであり、初期値はｘ＝１，最大値はｘ＝３とする。
【００９６】
ステップＤ１では、メインスケジューラ７により、診断管理部８の第一診断管理バッファ８ｂに記憶されているアドレス情報の数が確認され、続くステップＤ２では、読み出されていないアドレスが存在するか否かが判定される。ここで未読アドレスが存在する場合、すなわちキューが空の状態ではない場合にはステップＤ３へ進む。一方、第一診断管理バッファ８ｂのキューが空の状態であれば、ステップＤ１０へ進む。
【００９７】
ステップＤ３では、メインスケジューラ７により第一診断管理バッファ８ｂから診断パケットのアドレス情報が読み出される。ここで読み出されたアドレス情報はメインスケジューラ７からパケット読み出し部９へ伝達される。また、そのアドレス情報に対応する有効フラグがフラグ記憶部８ａからパケット読み出し部９へ伝達される。
続くステップＤ４では、パケット読み出し部９において、前ステップで伝達された有効フラグが１（オン）であるか否かが判定される。ここで有効フラグが１（オン）である場合にはステップＤ５へ進む。一方、有効フラグが０（オフ）である場合には、診断パケットがすでに読み出されたものとして、このサブフローは終了する。このサブフローの終了後の制御は、上述の実施形態における図６（ａ）のステップＢ５以降と同様である。
【００９８】
ステップＤ５では、パケット読み出し部９においてステップＤ３で得られたアドレス情報が参照され、パケット格納部１４の格納バッファ１４ａからパケットが読み出される。ステップＤ６では、添字ｘが最大値（ｘ＝３）であるか否かが判定される。ここでｘ＝３である場合には、添字ｘがｘ＝１に再設定され、サブフローが終了する。また、ｘ≠３である場合には、添字ｘにｘ＋１が代入され、サブフローが終了する。これにより、次回のＤＦクラスの診断パケット読み出し時には、今回読み出されたバッファとは異なるバッファからアドレス情報が読み出されることになる。
【００９９】
第一診断管理バッファ８ｂのキューが空の状態であるとき、ステップＤ１０では、第一診断管理バッファ８ｂ，第二診断管理バッファ８ｃ及び第三診断管理バッファ８ｄの全てのキューが空の状態であるか否かがメインスケジューラ７によって判定される。このステップの条件が成立する場合には、読み込むべきＤＦクラスの診断パケットが存在しないため、そのままこのサブフローは終了する。一方、この条件が不成立であればステップＤ１１へ進む。
【０１００】
ステップＤ１１では、添字ｘが最大値（ｘ＝３）であるか否かが判定される。ここでｘ＝３である場合にはステップＤ１２へ進み、添字ｘがｘ＝１に再設定された後、ステップＤ１へと進む。また、ｘ≠３である場合にはステップＤ１３へ進み、添字ｘにｘ＋１が代入された後、ステップＤ１へと進む。これにより、診断パケットのアドレス情報が、第一診断管理バッファ８ｂ，第二診断管理バッファ８ｃ及び第三診断管理バッファ８ｄのそれぞれから一つずつ順繰りに読み出される。
【０１０１】
図１０を用いて、図８のトラフィックマネージャ１０におけるラウンドロビン方式のスケジューリングについて説明する。
図１０（ａ）に示すように、診断パケットのアドレス情報が第一診断管理バッファ８ｂに１個，第二診断管理バッファ８ｃに３個，第三診断管理バッファ８ｄに２個記憶されているとする。
【０１０２】
輻輳率算出部６は、輻輳レートＣＲに応じてＣＲ値判定フラグを設定する。ＣＲ値判定フラグは、輻輳レートＣＲが輻輳閾値Ｔcrを超えているときに１（オン）に設定され、輻輳レートＣＲが輻輳閾値Ｔcr以下であるときに０（オフ）に設定されるフラグである。例えば、図１０（ｂ）に示すように、ＣＲ値判定フラグが１（オン）に設定されるのは、時刻ｔ1からｔ2までの間と、時刻ｔ3から時刻ｔ4までの間である。
【０１０３】
メインスケジューラ７における読み出しのタイミングは、ＣＲ値判定フラグの状態を監視するためのクロック信号に準じて管理される。メインスケジューラ７は、ＣＲ値判定フラグが１（オン）であり、かつ、任意の診断管理バッファ８ｂ〜８ｄのうちの一つが空でない場合に、そのバッファ上のアドレスを読み出す。また、ＣＲ値判定フラグが１（オン）であり、かつ、任意の診断管理バッファ８ｂ〜８ｄのうちの一つが空である場合には、そのバッファ以外のバッファをラウンドロビン方式で選択し、アドレスを読み出す。
【０１０４】
図１０（ｂ）に示すように、第一診断管理バッファ８ｂ，第二診断管理バッファ８ｃ及び第三診断管理バッファ８ｄのそれぞれから診断パケットのアドレスが読み出される開始時刻は、ＣＲ値判定フラグが１（オン）である条件下でクロック信号に応じて定められる。また、アドレスの読み出し順序は、1-a，2-a，3-a，2-b，3-b，2-cの順となり、各診断管理バッファ８ｂ〜８ｄから公平かつ平等に読み出しを行うことができる。
【０１０５】
［５−３．キューイングに係る変形例］
上述の実施形態では、キューイングコントローラ部１１及びスケジューラ部１３の双方を備えたトラフィックマネージャ１０を例示したが、本トラフィックマネージャ１０のキューイング機能及びスケジューリング機能に個々に着目すれば、これらの要素を分離することが可能である。
【０１０６】
キューイング機能に着目した場合、キューイングコントローラ部１１に少なくとも判別部２，分配部３，廃棄部３ａ及び閾値変更部３ｂを設ければよい。例えば、図１１に示すように、上述の実施形態の輻輳率算出部６，フラグ管理部７ａ，診断管理部８及び輻輳率埋め込み部９ａを省略することが考えられる。なお、図１１中では上述の実施形態の要素と対応するものに同一の符号を付す。
【０１０７】
図１１に示すトラフィックマネージャ１０ａのスケジューラ部１３ａは、メインスケジューラ７及びパケット読み出し部９を備える。メインスケジューラ７は、予め定義された優先度及び帯域に基づいてセレクタ５を制御し、アドレス管理部１２の各クラスバッファ１２ａ〜１２ｄからパケットのアドレス情報を読み出すスケジューリング機能を有する。
【０１０８】
また、パケット読み出し部９は、メインスケジューラ７で読み出されたアドレス情報に基づき、パケット格納部１４に格納されたパケットを格納バッファ１４ａから読み出して出力する。
このような変形例によれば、キューイングコントローラ部１１ａでのパケットの分配時に診断パケットを廃棄されにくくすることができ、診断精度を向上させることができる。
【０１０９】
［５−４．スケジューリングに係る変形例］
スケジューリング機能に着目した場合、キューイングコントローラ部１１に判別部２及び分配部３を設けるとともに、スケジューラ部１３に輻輳率算出部６及びメインスケジューラ７を設ければよい。例えば、図１２に示すように、上述の実施形態の廃棄部３ａ，閾値変更部３ｂ，フラグ管理部７ａ，診断管理部８及び輻輳率埋め込み部９ａを省略することが考えられる。なお、図１２中では上述の実施形態の要素と対応するものに同一の符号を付す。
【０１１０】
図１２に示すトラフィックマネージャ１０ｂは、キューイングコントローラ部１１′，アドレス管理部１２′及びスケジューラ部１３ｂを備える。キューイングコントローラ部１１′の分配部３′は、判別部２で判別されたパケットの優先度及び種類に応じて、パケットをクラス分けし、アドレス管理部１２′に分配する。アドレス管理部１２′には、パケットのアドレス情報を記憶する複数のバッファ１２ａ〜１２ｄがクラス別に備えられる。
【０１１１】
ＥＦクラスバッファ１２ａ，ＡＦ１クラスバッファ１２ｂ及びＡＦ２クラスバッファ１２ｃは帯域が保証された第一クラスのパケットのアドレスが記憶されるバッファである。また、ＤＦクラスバッファ１２ｄは帯域が保証されない第二クラスのパケットのアドレスが記憶されるバッファである。なお、キューイングコントローラ部１１′に入力されるパケット量がアドレス管理部１２′のバッファ容量を超えない場合には、図１２に示すように、パケット廃棄のための閾値の設定が不要である。
【０１１２】
スケジューラ部１３ｂは、輻輳率算出部６，メインスケジューラ７及びパケット読み出し部９を備える。輻輳率算出部６は、第一クラスの各クラスバッファ１２ａ〜１２ｃからのアドレス情報の読み出しレート（読み出し速度）とライトポインタ及びリードポインタの位置に基づいて、第一クラスの輻輳レートＣＲ（輻輳率）を算出する。
メインスケジューラ７は、輻輳率算出部６で算出された輻輳レートＣＲに基づき、診断管理バッファ８ｂに記憶された診断パケットのアドレス情報をアドレス管理部１２のバッファ１２ａ〜１２ｃに優先して読み出す。例えば、輻輳レートＣＲが所定の輻輳閾値Ｔcrを超える場合には、第一クラスよりも第二クラスが優先的に選択されるようにセレクタ５を制御し、ＤＦクラスバッファ１２ｄからパケットのアドレスを読み出す。
【０１１３】
パケット読み出し部９は、メインスケジューラ７で読み出されたアドレス情報に基づき、パケット格納部１４に格納されたパケットを格納バッファ１４ａから読み出して出力する。
このような変形例によれば、アドレス管理部１２′における第一クラスからの読み出しに輻輳が生じたような場合に、第二クラスのパケットを読み出すことができ、第二クラスの診断パケットが読み出されやすくなる。したがって、診断パケットのタイムアウトを防止しやすくすることができ、診断精度を向上させることができる。
【０１１４】
［５−５．その他の変形例］
また、上述の実施形態では、分配部３によってパケットのアドレスがアドレス管理部１２に管理されるものを例示したが、パケットのキューの管理手法はこれに限定されない。例えば、パケットのフローＩＤに基づいてキューを管理してもよいし、あるいはパケット本体をバッファ上に記憶することでキューを管理してもよい。上述の実施形態におけるキューイング機能は、キューによる管理上、避けることができない廃棄条件を、診断パケットに限ってパケット廃棄回避側の条件に変更する機能を含むものであればよい。なお、診断管理部８におけるＤＦクラスの診断パケットのキューの管理手法についても同様である。
【０１１５】
また、上述の実施形態では、診断管理部８によってＤＦクラスの診断パケットのアドレスがダイアグＩＤ及び有効フラグとともに管理されるものを例示したが、このような管理手法についても適宜変更することができる。上述の実施形態におけるスケジューリング機能は、第一クラス（ＥＦクラスやＡＦクラス）側の輻輳度合いが激しい場合に、第二クラス（ＤＦクラス）側の診断パケットに限って優先的に読み出す機能を含むものであればよい。
【０１１６】
また、上述の実施形態では、Ｌ２処理部１６及びＬ３処理部１５を備えたフォワーディング処理モジュール２０を例示したが、例えばブリッジやスイッチ装置の場合には、Ｌ３処理部１５が不要である。なお、本トラフィックマネージャ１０は、優先度に応じてパケット処理を行う通信処理装置全般に適用可能であり、本トラフィックマネージャ１０での診断パケットの処理方法は、優先度に応じてパケット処理を行う通信処理方法全般に適用可能である。
以上の実施形態および変形例に関し、さらに以下の付記を開示する。
【０１１７】
（付記１）
受信したパケットが診断パケットであるか否かを判別する判別手段と、
受信した該パケットをその優先度に応じて、帯域が保証された第一クラス及び帯域が保証されていない第二クラスの少なくとも二種類のクラスに分配する分配手段と、
該第一クラスに分配された第一パケットの読み出しレートに基づき、該第一パケットの輻輳率を算出する輻輳率算出手段と、
該輻輳率算出手段で算出された該輻輳率に基づき、該第二クラスに分配された第二パケットのうち、該判別手段で該診断パケットであると判別されたものを優先して読み出す読み出し手段と
を備えたことを特徴とする、通信処理装置。
【０１１８】
（付記２）
該第二クラスに分配された該第二パケットを管理する管理手段と、
該管理手段で管理された該第二パケットのうちの該診断パケットを、該管理手段とは別個に管理する診断管理手段とを備え、
該読み出し手段が、該輻輳率算出手段で算出された該輻輳率に基づき、該第一管理手段及び該診断管理手段の何れか一方から該診断パケットを優先して読み出す
ことを特徴とする、付記１記載の通信処理装置。
【０１１９】
（付記３）
該読み出し手段で読み出される該診断パケットに対し、該輻輳率算出手段で算出された該輻輳率の情報を埋め込む埋め込み手段と、
該埋め込み手段によって該診断パケットに埋め込まれた該輻輳率の情報に基づき、該第二クラスにおける滞留の有無を判定する判定手段とを備えた
ことを特徴とする、付記１又は２記載の通信処理装置。
【０１２０】
（付記４）
該第二パケットのうちの該診断パケットに対応する制御フラグを記憶するフラグ記憶手段と、
該第二クラスに該診断パケットが分配されたときに該診断パケットの該制御フラグをオンに設定し、該診断パケットが読み出されたときに該診断パケットの該制御フラグをオフに設定するフラグ管理手段とを備え、
該読み出し手段が、該制御フラグがオンに設定された該診断パケットのみを読み出す
ことを特徴とする、付記１〜３の何れか１項に記載の通信処理装置。
【０１２１】
（付記５）
該第二パケットのうちの該診断パケットに対応する制御フラグを記憶するフラグ記憶手段と、
該第二クラスに該診断パケットが分配されたときに該診断パケットの該制御フラグをオンに設定し、かつ、該診断パケットが読み出されたときに該診断パケットの該制御フラグをオンのままに保持する第一モードと、該診断パケットが読み出されたときに該診断パケットの該制御フラグをオフに設定する第二モードとを有するフラグ管理手段とを備え、
該読み出し手段が、該制御フラグがオンに設定された該診断パケットのみを読み出す
ことを特徴とする、付記１〜３の何れか１項に記載の通信処理装置。
【０１２２】
（付記６）
該分配手段が、該パケットを複数の該第二クラスに分配するとともに、
該読み出し手段が、複数の該第二クラスに分配された該パケットのうち、該判別手段で該診断パケットであると判別されたものを、ラウンドロビン方式で順に読み出す
ことを特徴とする、付記１〜５の何れか１項に記載の通信処理装置。
【０１２３】
（付記７）
該分配手段が、受信した該パケットをその優先度に応じた複数のクラスに分配するとともに、
該複数のクラスの輻輳度合いに係る輻輳条件に基づき、該パケットを廃棄する廃棄手段と、
該判別手段で該パケットが該診断パケットであると判別されたときに、該輻輳条件をパケット廃棄回避側の条件に変更する廃棄条件変更手段と
を備えたことを特徴とする、付記１〜６の何れか１項に記載の通信処理装置。
【０１２４】
（付記８）
該廃棄手段が、該輻輳条件として該複数のクラスのうち少なくとも一つのクラスに分配された該パケットの個数に相関する物理量を判定するとともに、
該廃棄条件変更手段が、該物理量の判定に係る閾値を増大方向に変更する
ことを特徴とする、付記７記載の通信処理装置。
【０１２５】
（付記９）
受信したパケットが診断パケットであるか否かを判別する判別手段と、
受信した該パケットをその優先度に応じた複数のクラスに分配する分配手段と、
該複数のクラスの輻輳度合いに係る輻輳条件に基づき、該パケットを廃棄する廃棄手段と、
該判別手段で該パケットが該診断パケットであると判別されたときに、該輻輳条件をパケット廃棄回避側の条件に変更する廃棄条件変更手段と
を備えたことを特徴とする、通信処理装置。
【０１２６】
（付記１０）
該廃棄手段が、該輻輳条件として該複数のクラスのうち少なくとも一つのクラスに分配された該パケットの個数に相関する物理量を判定するとともに、
該廃棄条件変更手段が、該物理量の判定に係る閾値を増大方向に変更する
ことを特徴とする、付記９記載の通信処理装置。
【０１２７】
（付記１１）
ネットワーク上に介装された通信処理装置を運用状態で診断する方法であって、
受信したパケットの優先度及び該パケットが診断パケットであるか否かを判別する第一ステップと、
該第一ステップで判別された該優先度に応じて、帯域が保証された第一クラス及び帯域が保証されていない第二クラスの少なくとも二種類のクラスに該パケットを分配する第二ステップと、
該第一ステップで判別された該優先度に応じて該第一クラス及び該第二クラスに分配された該パケットを読み出す第三ステップと、
該第三ステップにおける該第一クラスからの該パケットの読み出しレートに基づき、該第一クラスの輻輳率を算出する第四ステップと、
該第四ステップで算出された該輻輳率に基づき、該第二ステップで該第二クラスに分配された該パケットのうち、該第一ステップで該診断パケットであると判別されたものを優先して読み出す第五ステップと
を備えたことを特徴とする、通信処理方法。
【０１２８】
（付記１２）
該第二ステップで該第二クラスに分配された該パケットのうち、該第一ステップで該診断パケットであると判別されたものを別個に管理する第六ステップを備え、
該第五ステップにおいて、該第一ステップで該診断パケットであると判別されたものを、該第六ステップで別個に管理された該診断パケットを優先して読み出す
ことを特徴とする、付記１１記載の通信処理方法。
【０１２９】
（付記１３）
該第五ステップで読み出された該診断パケットに対し、該第四ステップで算出された該輻輳率の情報を埋め込む第七ステップを備えた
ことを特徴とする、付記１１又は１２記載の通信処理方法。
（付記１４）
該第二ステップで該第二クラスに分配された該パケットのうちの該診断パケットに対応する制御フラグをオンに設定し、該制御フラグの状態を該診断パケットに関連づけて記憶する第八ステップと、
該第二クラスに分配された該パケットのうちの該診断パケットが読み出されたときに、該診断パケットに対応する該制御フラグをオフに設定する第九ステップとを備えた
ことを特徴とする、付記１１〜１３の何れか１項に記載の通信処理方法。
【０１３０】
（付記１５）
該第二ステップで該第二クラスに分配された該パケットのうちの該診断パケットに対応する制御フラグをオンに設定し、該制御フラグの状態を該診断パケットに関連づけて記憶する第八ステップと、
該第二クラスに分配された該パケットのうちの該診断パケットが読み出されたときに、該診断パケットに対応する該制御フラグをオンのままに保持する第一モードと、該診断パケットの該制御フラグをオフに設定する第二モードとを選択可能とする第十ステップとを備えた
ことを特徴とする、付記１１〜１３の何れか１項に記載の通信処理方法。
【０１３１】
（付記１６）
該第二ステップにおいて、該パケットを複数の該第二クラスに分配するとともに、
該第五ステップにおいて、該第二ステップで複数の該第二クラスに分配された該パケットのうち、該第一ステップで該診断パケットであると判別されたものを、ラウンドロビン方式で順に読み出す
ことを特徴とする、付記１１〜１５の何れか１項に記載の通信処理方法。
【０１３２】
（付記１７）
該第二ステップで該複数のクラスに分配された該パケットを、該パケットの輻輳度合いに係る輻輳条件に基づいて廃棄する第十一ステップと、
該第一ステップで該パケットが該診断パケットであると判別されたときに、該第十一ステップにおける該輻輳条件をパケット廃棄回避側の条件に変更する第十二ステップと
を備えたことを特徴とする、付記１１〜１６の何れか１項に記載の通信処理方法。
【０１３３】
（付記１８）
該第十一ステップにおいて、該輻輳条件として該複数のクラスのうち少なくとも一つのクラスに分配された該パケットの個数に相関する物理量を判定するとともに、
該第十二ステップにおいて、該パケット廃棄回避側の条件として、該物理量の判定に係る閾値を増大方向に変更する
ことを特徴とする、付記１７記載の通信処理方法。
【０１３４】
（付記１９）
ネットワーク上に介装された通信処理装置を運用状態で診断するための通信処理方法であって、
受信したパケットの優先度及び該パケットが診断パケットであるか否かを判別する第一ステップと、
該第一ステップで判別された該優先度に応じて、該パケットを複数のクラスに分配する第二ステップと、
該第二ステップで該複数のクラスに分配された該パケットを、該パケットの輻輳度合いに係る輻輳条件に基づいて廃棄する第十一ステップと、
該第一ステップで該パケットが該診断パケットであると判別されたときに、該第十一ステップにおける該輻輳条件をパケット廃棄回避側の条件に変更する第十二ステップと
を備えたことを特徴とする、通信処理方法。
【０１３５】
（付記２０）
該第十一ステップにおいて、該輻輳条件として該複数のクラスのうち少なくとも一つのクラスに分配された該パケットの個数に相関する物理量を判定するとともに、
該第十二ステップにおいて、該パケット廃棄回避側の条件として、該物理量の判定に係る閾値を増大方向に変更する
ことを特徴とする、付記１９記載の通信処理方法。
【０１３６】
（付記２１）
コンピュータを
受信したパケットが診断パケットであるか否かを判別する判別手段と、
受信した該パケットをその優先度に応じて、帯域が保証された第一クラス及び帯域が保証されていない第二クラスの少なくとも二種類のクラスに分配する分配手段と、
該第一クラスに分配された第一パケットの読み出しレートに基づき、該第一パケットの輻輳率を算出する輻輳率算出手段と、
該輻輳率算出手段で算出された該輻輳率に基づき、該第二クラスに分配された第二パケットのうち、該判別手段で該診断パケットであると判別されたものを優先して読み出す読み出し手段と
して機能させるためのプログラム。
【０１３７】
（付記２２）
該コンピュータを
該第二クラスに分配された該第二パケットを管理する管理手段と、
該管理手段で管理された該第二パケットのうちの該診断パケットを、該管理手段とは別個に管理する診断管理手段として機能させるとともに、
該読み出し手段が、該輻輳率算出手段で算出された該輻輳率に基づき、該第一管理手段及び該診断管理手段の何れか一方から該診断パケットを優先して読み出す
ことを特徴とする、付記２１記載のプログラム。
【０１３８】
（付記２３）
該コンピュータを
該読み出し手段で読み出される該診断パケットに対し、該輻輳率算出手段で算出された該輻輳率の情報を埋め込む埋め込み手段と、
該埋め込み手段によって該診断パケットに埋め込まれた該輻輳率の情報に基づき、該第二クラスにおける滞留の有無を判定する判定手段として機能させる
ことを特徴とする、付記２１又は２２記載のプログラム。
【０１３９】
（付記２４）
該コンピュータを
該第二パケットのうちの該診断パケットに対応する制御フラグを記憶するフラグ記憶手段と、
該第二クラスに該診断パケットが分配されたときに該診断パケットの該制御フラグをオンに設定し、該診断パケットが読み出されたときに該診断パケットの該制御フラグをオフに設定するフラグ管理手段として機能させるとともに、
該読み出し手段が、該制御フラグがオンに設定された該診断パケットのみを読み出す
ことを特徴とする、付記２１〜２３の何れか１項に記載のプログラム。
【０１４０】
（付記２５）
該コンピュータを
該第二パケットのうちの該診断パケットに対応する制御フラグを記憶するフラグ記憶手段と、
該第二クラスに該診断パケットが分配されたときに該診断パケットの該制御フラグをオンに設定し、かつ、該診断パケットが読み出されたときに該診断パケットの該制御フラグをオンのままに保持する第一モードと、該診断パケットが読み出されたときに該診断パケットの該制御フラグをオフに設定する第二モードとを有するフラグ管理手段として機能させるとともに、
該読み出し手段が、該制御フラグがオンに設定された該診断パケットのみを読み出す
ことを特徴とする、付記２１〜２３の何れか１項に記載のプログラム。
【０１４１】
（付記２６）
該コンピュータの機能として、
該分配手段が、該パケットを複数の該第二クラスに分配するとともに、
該読み出し手段が、複数の該第二クラスに分配された該パケットのうち、該判別手段で該診断パケットであると判別されたものを、ラウンドロビン方式で順に読み出す
ことを特徴とする、付記２１〜２５の何れか１項に記載のプログラム。
【０１４２】
（付記２７）
該コンピュータの機能として、
該分配手段が、受信した該パケットをその優先度に応じた複数のクラスに分配するとともに、
該コンピュータを
該複数のクラスの輻輳度合いに係る輻輳条件に基づき、該パケットを廃棄する廃棄手段と、
該判別手段で該パケットが該診断パケットであると判別されたときに、該輻輳条件をパケット廃棄回避側の条件に変更する廃棄条件変更手段として機能させる
ことを特徴とする、付記２１〜２６の何れか１項に記載のプログラム。
【０１４３】
（付記２８）
該コンピュータの機能として、
該廃棄手段が、該輻輳条件として該複数のクラスのうち少なくとも一つのクラスに分配された該パケットの個数に相関する物理量を判定するとともに、
該廃棄条件変更手段が、該物理量の判定に係る閾値を増大方向に変更する
ことを特徴とする、付記２７記載のプログラム。
【０１４４】
（付記２９）
該コンピュータを
受信したパケットが診断パケットであるか否かを判別する判別手段と、
受信した該パケットをその優先度に応じた複数のクラスに分配する分配手段と、
該複数のクラスの輻輳度合いに係る輻輳条件に基づき、該パケットを廃棄する廃棄手段と、
該判別手段で該パケットが該診断パケットであると判別されたときに、該輻輳条件をパケット廃棄回避側の条件に変更する廃棄条件変更手段として機能させる
ことを特徴とする、プログラム。
【０１４５】
（付記３０）
該コンピュータの機能として、
該廃棄手段が、該輻輳条件として該複数のクラスのうち少なくとも一つのクラスに分配された該パケットの個数に相関する物理量を判定するとともに、
該廃棄条件変更手段が、該物理量の判定に係る閾値を増大方向に変更する
ことを特徴とする、付記２９記載のプログラム。
【０１４６】
（付記３１）
ネットワーク上に介装された通信処理装置の輻輳状態を管理する通信処理装置用輻輳管理装置であって、
受信したパケットが、帯域が保証された第一クラス及び該第一クラスより優先度が低く帯域が保証されていない第二クラスの少なくとも二種類のクラスの何れに属するかを判別し、この判別結果に応じて、該パケットを各クラスの何れかに分配するキューイングコントローラと、
該キューイングコントローラで該各クラスに分配された該パケットのアドレス情報を順次記憶するとともに、該各クラスのそれぞれにおけるパケット廃棄のための閾値を設定された複数のアドレス管理用バッファと、
該複数のアドレス管理用バッファに記憶された該アドレス情報を該各クラスの優先度に応じて選択するとともに、選択された該アドレス情報に対応する該パケットを読み出すスケジューラとを備え、
該キューイングコントローラが、
上記の受信したパケットが診断パケットであるときに、該アドレス管理用バッファで設定される該閾値をパケット廃棄回避側の第二閾値に変更する閾値変更部を有する
ことを特徴とする、通信処理装置用輻輳管理装置。
【０１４７】
（付記３２）
ネットワーク上に介装された通信処理装置の輻輳状態を管理する通信処理装置用輻輳管理装置であって、
受信したパケットが、帯域が保証された第一クラス及び該第一クラスより優先度が低く帯域が保証されていない第二クラスの少なくとも二種類のクラスの何れに属するかを判別し、この判別結果に応じて、該パケットを各クラスの何れかに分配するキューイングコントローラと、
該キューイングコントローラで該各クラスに分配された該パケットのアドレス情報を順次記憶するとともに、該各クラスのそれぞれにおけるパケット廃棄のための閾値を設定された複数のアドレス管理用バッファと、
該複数のアドレス管理用バッファに記憶された該アドレス情報を該各クラスの優先度に応じて選択するとともに、選択された該アドレス情報に対応する該パケットを読み出すスケジューラとを備え、
該スケジューラが、
該第一クラスからの該パケットの読み出しレートに基づき、該第一クラスの輻輳率を算出する輻輳率算出部と、
該第二クラスに分配された該パケットのうちの該診断パケットのアドレス情報を記憶する診断管理用バッファと、
該輻輳率算出部で算出された該輻輳率が所定値以上である場合に、該診断管理用バッファに記憶された該アドレス情報を優先して読み出す読み出し部とを有する
ことを特徴とする、通信処理装置用輻輳管理装置。
【０１４８】
（付記３３）
ネットワーク上に介装された通信処理装置の輻輳状態を管理する通信処理装置用輻輳管理装置であって、
受信したパケットが、帯域が保証された第一クラス及び該第一クラスより優先度が低く帯域が保証されていない第二クラスの少なくとも二種類のクラスの何れに属するかを判別し、この判別結果に応じて、該パケットを各クラスの何れかに分配するキューイングコントローラと、
該キューイングコントローラで該各クラスに分配された該パケットのアドレス情報を順次記憶するとともに、該各クラスのそれぞれにおけるパケット廃棄のための閾値を設定された複数のアドレス管理用バッファと、
該複数のアドレス管理用バッファに記憶された該アドレス情報を該各クラスの優先度に応じて選択するとともに、選択された該アドレス情報に対応する該パケットを読み出すスケジューラとを備え、
該キューイングコントローラが、
上記の受信したパケットが診断パケットであるときに、該アドレス管理用バッファで設定される該閾値をパケット廃棄回避側の第二閾値に変更する閾値変更部を有し、
該スケジューラが、
該第一クラスからの該パケットの読み出しレートに基づき、該第一クラスの輻輳率を算出する輻輳率算出部と、
該第二クラスに分配された該パケットのうちの該診断パケットのアドレス情報を記憶する診断管理用バッファと、
該輻輳率算出部で算出された該輻輳率が所定値以上である場合に、該診断管理用バッファに記憶された該アドレス情報を優先して読み出す読み出し部とを有する
ことを特徴とする、通信処理装置用輻輳管理装置。
【符号の説明】
【０１４９】
１  受信管理部
１ａ  受信FIFOバッファ
２  判別部（判別手段）
３  分配部（分配手段）
３ａ  廃棄部（廃棄手段）
３ｂ  閾値変更部（廃棄条件変更手段）
４  パケット書き込み部
５  セレクタ
６  輻輳率算出部（輻輳率算出手段）
７  メインスケジューラ（読み出し手段，読み出し部）
７ａ  フラグ管理部（フラグ管理手段）
８  診断管理部（診断管理手段）
８ａ  フラグ記憶部（フラグ記憶手段）
８ｂ  診断管理バッファ（診断管理用バッファ），第一診断管理バッファ
８ｃ  第二診断管理バッファ
８ｄ  第三診断管理バッファ
９  パケット読み出し部
９ａ  輻輳率埋め込み部（埋め込み手段）
１０  トラフィックマネージャ
１１  キューイングコントローラ部（キューイングコントローラ）
１２  アドレス管理部（管理手段）
１２ａ  ＥＦクラスバッファ（アドレス管理用バッファ）
１２ｂ  ＡＦ１クラスバッファ（アドレス管理用バッファ）
１２ｃ  ＡＦ２クラスバッファ（アドレス管理用バッファ）
１２ｄ  ＤＦクラスバッファ（アドレス管理用バッファ）
１３  スケジューラ部（スケジューラ）
１４  パケット格納部
１４ａ  格納バッファ
１５  Ｌ３処理部
１６  Ｌ２処理部
２０  フォワーディング処理モジュール
２１  回線処理モジュール
２２  スイッチングモジュール
２３  制御モジュール
２３ａ  診断パケット生成部
２３ｂ  診断パケット判定部（判定手段）
３０  通信装置
ＣＲ  輻輳レート
Ｔcr  輻輳閾値
【図１】
2011249977.tif 000004
【図２】
2011249977.tif 000005
【図３】
2011249977.tif 000006
【図４】
2011249977.tif 000007
【図５】
2011249977.tif 000008
【図６】
2011249977.tif 000009
【図７】
2011249977.tif 000010
【図８】
2011249977.tif 000011
【図９】
2011249977.tif 000012
【図１０】
2011249977.tif 000013
【図１１】
2011249977.tif 000014
【図１２】
2011249977.tif 000015