(57)【要約】【課題】受信したパケットのうち、ＣＰＵへ転送する必要のあるパケットを破棄させずにＣＰＵに転送することができる通信処理回路を提供する。【解決手段】通信処理回路は、複数のキュー７３−１〜７３−Ｎを備えている。フレーム解析部３１及びフレーム検索部４１は、受信するフレームの中からＣＰＵに入力する対象とされるフレームのフレーム情報を検出する。キュー入力部６０は、検出手段が検出したフレーム情報が前記中央処理回路に入力する対象とされた要因を示す情報に対応する優先度のキュー７３−１〜７３−Ｎを選択し、選択したキュー７３−１〜７３−Ｎに当該フレーム情報に基づくジョブ情報を生成して入力する。キュー出力部８０は、所定のキュー読出規則に従って、順に複数のキュー７３−１〜７３−Ｎからジョブ情報を読み出し、読み出したジョブ情報に対応するフレーム情報をＣＰＵに入力する。【選択図】図２
2007124118.tif 000002
【特許請求の範囲】
【請求項１】
入力されるフレームの転送先を検出する中央処理回路と、前記中央処理回路に接続され、前記フレームを受信する接続部と、前記接続部あるいは前記中央処理回路から入力されるフレームが予め定められた転送条件情報に合致する場合、当該フレームを前記中央処理回路に入力せずに前記転送条件情報に基づく転送先に送信する通信処理回路と、を備えた通信装置における通信処理回路であって、
前記フレームから抽出される当該フレームを一意に識別可能なフレーム識別情報を記憶するキューと、
前記接続部が受信するフレームの中から前記中央処理回路に入力する対象とされるフレームを検出する検出手段と、
前記検出手段が検出するフレームのフレーム識別情報を前記キューに入力するキュー入力手段と、
所定のキュー読出規則に基づいて前記キューから前記フレーム識別情報を読み出し、読み出したフレーム識別情報に対応するフレームを前記中央処理回路に入力するキュー出力手段と、
を備えたことを特徴とする通信処理回路。
【請求項２】
入力されるフレームの転送先を検出する中央処理回路と、前記中央処理回路に接続され、前記フレームを受信する接続部と、前記接続部あるいは前記中央処理回路から入力されるフレームが予め定められた転送条件情報に合致する場合、当該フレームを前記中央処理回路に入力せずに前記転送条件情報に基づく転送先に送信する通信処理回路と、を備えた通信装置における通信処理回路であって、
一意に識別可能なキュー識別情報が付与され、前記フレームから抽出される当該フレームを一意に識別可能なフレーム識別情報を記憶する複数のキューと、
前記接続部が受信するフレームの中から前記中央処理回路に入力する対象とされるフレームを検出する検出手段と、
前記検出手段が検出するフレームが前記中央処理回路に入力する対象とされた要因を示す情報を割り当て、割り当てた前記要因を示す情報に基づいて、前記フレームが前記中央処理回路に入力する対象とされる要因を示す情報と前記キュー識別情報とを対応付けた第１の転送要因情報を参照してキュー識別情報を読み出し、読み出したキュー識別情報に対応するキューに当該フレームのフレーム識別情報を入力するキュー入力手段と、
所定のキュー読出規則に基づいて前記複数のキューから前記フレーム識別情報を読み出し、読み出したフレーム識別情報に対応するフレームを前記中央処理回路に入力するキュー出力手段と、
を備えたことを特徴とする通信処理回路。
【請求項３】
入力されるフレームの転送先を検出する中央処理回路と、前記中央処理回路に接続され、前記フレームを受信する接続部と、前記接続部あるいは前記中央処理回路から入力されるフレームが予め定められた転送条件情報に合致する場合、当該フレームを前記中央処理回路に入力せずに前記転送条件情報に基づく転送先に送信する通信処理回路と、を備えた通信装置における通信処理回路であって、
一意に識別可能なキュー識別情報が付与され、前記フレームから抽出される当該フレームを一意に識別可能なフレーム識別情報を記憶する複数のキューと、
前記接続部が受信するフレームの中から前記中央処理回路に入力する対象とされるフレームを検出する検出手段と、
前記検出手段が検出するフレームに対応する前記要因が示す情報を割り当て、割り当てた前記要因を示す情報に基づいて、前記フレームが前記中央処理回路に入力する対象とされる要因ごとに、前記フレームに予め含まれる前記フレームの情報の種別を分類する分類情報に基づくキューの選択を行わせるか否かを示す第２の転送要因情報を参照し、当該フレームに含まれる分類情報に基づくキューの選択を行わせるか否かを判定する判定手段と、
前記判定手段が前記フレームに含まれる分類情報に基づくキューの選択を行わせることを示していると判定した場合、当該フレームに含まれる分類情報に基づいて、前記分類情報と前記キュー識別情報を対応付けたキュー選択情報を参照して、前記キュー識別情報を検出し、検出したキュー識別情報に対応するキューに当該フレームのフレーム識別情報を入力する選択手段と、
所定のキュー読出規則に基づいて前記複数のキューから前記フレーム識別情報を読み出し、読み出したフレーム識別情報に対応するフレームを前記中央処理回路に入力するキュー出力手段と、
を備えたことを特徴とする通信処理回路。
【請求項４】
前記選択手段は、
前記判定手段が前記フレームに含まれる分類情報に基づくキューの選択を行わせないことを示していると判定した場合、前記フレームが前記中央処理回路に入力する対象とされる要因を示す情報と前記キュー識別情報とを対応付けた第３の転送要因情報あるいは、予め定められるキュー識別情報に対応するキューに当該フレームのフレーム識別情報を入力することを特徴とする請求項３に記載の通信処理回路。
【請求項５】
前記キュー出力手段は、
前記複数のキューのそれぞれに対応して備えられ、予め定められる帯域上限値に基づいて、前記キューから読み出す前記フレーム識別情報の帯域を制限しつつ、読み出した前記フレーム識別情報を出力する複数の第１の帯域制限手段と、
前記複数の第１の帯域制限手段から入力される前記フレーム識別情報を、前記所定のキュー読出規則に基づいて順に出力する優先制御手段と、
予め定められる帯域上限値に基づいて、前記優先制御手段から出力される前記フレーム識別情報の帯域を制限しつつ、当該フレーム識別情報に対応するフレームを前記中央処理回路に入力する第２の帯域制限手段と、
を備えたことを特徴とする請求項１から４のいずれか１つに記載の通信処理回路。
【請求項６】
入力されるフレームの転送先を検出する中央処理回路と、前記フレームを受信する接続部と、前記フレームから抽出される当該フレームを一意に識別可能なフレーム識別情報を記憶するキューと、を有し、前記接続部あるいは前記中央処理回路から入力されるフレームが予め定められる転送条件情報に合致する場合、当該フレームを前記中央処理回路に入力せずに前記転送条件情報に基づく転送先に送信する通信装置における通信処理方法であって、
前記接続部が受信するフレームの中から前記中央処理回路に入力する対象とされるフレームを検出するステップと、
前記検出手段が検出するフレームのフレーム識別情報をキューに入力するステップと、
所定のキュー読出規則に基づいて前記キューから前記フレーム識別情報を読み出し、読み出したフレーム識別情報に対応するフレームを前記中央処理回路に入力するステップと、
を含むことを特徴とする通信処理方法。
【請求項７】
入力されるフレームの転送先を検出する中央処理回路と、前記フレームを受信する接続部と、一意に識別可能なキュー識別情報が付与され、前記フレームから抽出される当該フレームを一意に識別可能なフレーム識別情報を記憶する複数のキューとを備え、前記フレームが前記中央処理回路に入力する対象とされる要因を示す情報と前記キュー識別情報とを対応付けた第１の転送要因情報を有し、前記接続部あるいは前記中央処理回路から入力されるフレームが予め定められた転送条件情報に合致する場合、当該フレームを前記中央処理回路に入力せずに前記転送条件情報に基づく転送先に送信する通信装置における通信処理方法であって、
前記接続部が受信するフレームの中から前記中央処理回路に入力する対象とされるフレームを検出するステップと、
検出するフレームが前記中央処理回路に入力する対象とされた要因を示す情報を割り当て、割り当てた前記要因を示す情報に基づいて、前記第１の転送要因情報を参照してキュー識別情報を読み出し、読み出したキュー識別情報に対応するキューに当該フレームのフレーム識別情報を入力するステップと、
所定のキュー読出規則に基づいて前記複数のキューから前記フレーム識別情報を読み出し、読み出したフレーム識別情報に対応するフレームを前記中央処理回路に入力するステップと、
を含むことを特徴とする通信処理方法。
【請求項８】
入力されるフレームの転送先を検出する中央処理回路と、前記フレームを受信する接続部と、一意に識別可能なキュー識別情報が付与され、前記フレームから抽出される当該フレームを一意に識別可能なフレーム識別情報を記憶する複数のキューとを備え、前記フレームが前記中央処理回路に入力する対象とされる要因ごとに、前記フレームに予め含まれる前記フレームの情報の種別を分類する分類情報に基づくキューの選択を行わせるか否かを示す第２の転送要因情報と、前記分類情報と前記キュー識別情報を対応付けたキュー選択情報とを有し、前記接続部あるいは前記中央処理回路から入力されるフレームが予め定められる転送条件情報に合致する場合、当該フレームを前記中央処理回路に入力せずに前記転送条件情報に基づく転送先に送信する通信装置における通信処理方法であって、
前記接続部が受信するフレームの中から前記中央処理回路に入力する対象とされるフレームを検出するステップと、
検出するフレームに対応する前記要因が示す情報を割り当て、割り当てた前記要因を示す情報に基づいて、前記第２の転送要因情報を参照し、当該フレームに含まれる分類情報に基づくキューの選択を行わせるか否かを判定するステップと、
前記フレームに含まれる分類情報に基づくキューの選択を行わせることを示していると判定した場合、当該フレームに含まれる分類情報に基づいて、前記キュー選択情報から前記キュー識別情報を検出し、検出したキュー識別情報に対応するキューに当該フレームのフレーム識別情報を入力するステップと、
所定のキュー読出規則に基づいて前記複数のキューから前記フレーム識別情報を読み出し、読み出したフレーム識別情報に対応するフレームを前記中央処理回路に入力するステップと、
を含むことを特徴とする通信処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信したフレームを転送する通信装置に適用される通信処理回路、通信処理方法に関する。
【背景技術】
【０００２】
近年、通信装置におけるインタフェース速度は高速化の一途を辿っており、パケット転送などの処理を行う通信装置は、内部に備えたＣＰＵ(Central Processing Unit)において動作するソフトウェアによってパケットの処理を行う従来のパケット処理に加えて、定型的なパケット処理について、ＣＰＵを介さずに行うことでパケット転送を高速実行することができるパケット処理回路を備えるようになっている（例えば、非特許文献１参照）。
【０００３】
図１０に示すパケット処理回路２０２を備えた通信装置２００では、予め定められている定型的なパケット処理についてはパケット処理回路に実行させ、非定型的な処理、すなわちパケット処理回路では実行できない処理については、従来通りＣＰＵにおいて動作するソフトウェアによって処理するという構成になっている。
【０００４】
このように、全てのパケット処理をＣＰＵ２０１において動作するソフトウェアのみで行うのではなく、定型的な処理についてはパケット処理回路２０２を用いて行うことで、ＣＰＵにかかる負荷を軽減することができ、安価で低消費電力のＣＰＵを使用しながらも、パケット処理能力をインタフェース速度の高速化に追随させることを可能としている。
【非特許文献１】ヤマハ株式会社、“ファストパス”、[online]、[平成１７年７月５日]、インターネット<URL: http://www.rtpro.yamaha.co.jp/RT/docs/fastpath/>
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ギガビットイーサネット（イーサネットは登録商標）のようにインタフェース速度が格段に高速化することで、パケット処理回路の処理能力は、当該インタフェース速度に追随して高速化されている一方で、ＣＰＵの処理能力は、パケット処理回路の処理能力に対して極めて低い状態となっている。そのため、非定型的なパケット処理を行わなければならないパケットが発生した場合に、当該発生したパケットにかかる処理量がＣＰＵの処理能力を超えている場合があり、本来ＣＰＵに転送されるべきパケットが破棄されてしまうという問題が生じている。
【０００６】
また、パケット処理回路は、送信されるパケットに基づいてＣＰＵにより内部のパラメータが設定されるため、ＣＰＵに転送するパケットが破棄される事態が発生すると、パケット処理回路に適切な設定を行うことができず有効に機能させることができないという問題が生じている。
【０００７】
本発明は、上記問題を解決するためになされたもので、その目的は、受信したパケットのうち、ＣＰＵへ転送する必要のあるパケットを破棄させずにＣＰＵに転送することができる通信処理回路、通信処理方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記問題を解決するために、本発明は、入力されるフレームの転送先を検出する中央処理回路と、前記中央処理回路に接続され、前記フレームを受信する接続部と、前記接続部あるいは前記中央処理回路から入力されるフレームが予め定められた転送条件情報に合致する場合、当該フレームを前記中央処理回路に入力せずに前記転送条件情報に基づく転送先に送信する通信処理回路と、を備えた通信装置における通信処理回路であって、前記フレームから抽出される当該フレームを一意に識別可能なフレーム識別情報を記憶するキューと、前記接続部が受信するフレームの中から前記中央処理回路に入力する対象とされるフレームを検出する検出手段と、前記検出手段が検出するフレームのフレーム識別情報を前記キューに入力するキュー入力手段と、所定のキュー読出規則に基づいて前記キューから前記フレーム識別情報を読み出し、読み出したフレーム識別情報に対応するフレームを前記中央処理回路に入力するキュー出力手段と、を備えたことを特徴とする通信処理回路である。
【０００９】
本発明は、入力されるフレームの転送先を検出する中央処理回路と、前記中央処理回路に接続され、前記フレームを受信する接続部と、前記接続部あるいは前記中央処理回路から入力されるフレームが予め定められた転送条件情報に合致する場合、当該フレームを前記中央処理回路に入力せずに前記転送条件情報に基づく転送先に送信する通信処理回路と、を備えた通信装置における通信処理回路であって、一意に識別可能なキュー識別情報が付与され、前記フレームから抽出される当該フレームを一意に識別可能なフレーム識別情報を記憶する複数のキューと、前記接続部が受信するフレームの中から前記中央処理回路に入力する対象とされるフレームを検出する検出手段と、前記検出手段が検出するフレームが前記中央処理回路に入力する対象とされた要因を示す情報を割り当て、割り当てた前記要因を示す情報に基づいて、前記フレームが前記中央処理回路に入力する対象とされる要因を示す情報と前記キュー識別情報とを対応付けた第１の転送要因情報を参照してキュー識別情報を読み出し、読み出したキュー識別情報に対応するキューに当該フレームのフレーム識別情報を入力するキュー入力手段と、所定のキュー読出規則に基づいて前記複数のキューから前記フレーム識別情報を読み出し、読み出したフレーム識別情報に対応するフレームを前記中央処理回路に入力するキュー出力手段と、を備えたことを特徴とする通信処理回路である。
【００１０】
本発明は、入力されるフレームの転送先を検出する中央処理回路と、前記中央処理回路に接続され、前記フレームを受信する接続部と、前記接続部あるいは前記中央処理回路から入力されるフレームが予め定められた転送条件情報に合致する場合、当該フレームを前記中央処理回路に入力せずに前記転送条件情報に基づく転送先に送信する通信処理回路と、を備えた通信装置における通信処理回路であって、一意に識別可能なキュー識別情報が付与され、前記フレームから抽出される当該フレームを一意に識別可能なフレーム識別情報を記憶する複数のキューと、前記接続部が受信するフレームの中から前記中央処理回路に入力する対象とされるフレームを検出する検出手段と、前記検出手段が検出するフレームに対応する前記要因が示す情報を割り当て、割り当てた前記要因を示す情報に基づいて、前記フレームが前記中央処理回路に入力する対象とされる要因ごとに、前記フレームに予め含まれる前記フレームの情報の種別を分類する分類情報に基づくキューの選択を行わせるか否かを示す第２の転送要因情報を参照し、当該フレームに含まれる分類情報に基づくキューの選択を行わせるか否かを判定する判定手段と、前記判定手段が前記フレームに含まれる分類情報に基づくキューの選択を行わせることを示していると判定した場合、当該フレームに含まれる分類情報に基づいて、前記分類情報と前記キュー識別情報を対応付けたキュー選択情報を参照して、前記キュー識別情報を検出し、検出したキュー識別情報に対応するキューに当該フレームのフレーム識別情報を入力する選択手段と、所定のキュー読出規則に基づいて前記複数のキューから前記フレーム識別情報を読み出し、読み出したフレーム識別情報に対応するフレームを前記中央処理回路に入力するキュー出力手段と、を備えたことを特徴とする通信処理回路である。
【００１１】
本発明は、上記に記載の発明において、前記選択手段は、前記判定手段が前記フレームに含まれる分類情報に基づくキューの選択を行わせないことを示していると判定した場合、前記フレームが前記中央処理回路に入力する対象とされる要因を示す情報と前記キュー識別情報とを対応付けた第３の転送要因情報あるいは、予め定められるキュー識別情報に対応するキューに当該フレームのフレーム識別情報を入力することを特徴とする。
【００１２】
本発明は、上記に記載の発明において、前記キュー出力手段は、前記複数のキューのそれぞれに対応して備えられ、予め定められる帯域上限値に基づいて、前記キューから読み出す前記フレーム識別情報の帯域を制限しつつ、読み出した前記フレーム識別情報を出力する複数の第１の帯域制限手段と、前記複数の第１の帯域制限手段から入力される前記フレーム識別情報を、前記所定のキュー読出規則に基づいて順に出力する優先制御手段と、予め定められる帯域上限値に基づいて、前記優先制御手段から出力される前記フレーム識別情報の帯域を制限しつつ、当該フレーム識別情報に対応するフレームを前記中央処理回路に入力する第２の帯域制限手段と、を備えたことを特徴とする。
【００１３】
本発明は、入力されるフレームの転送先を検出する中央処理回路と、前記フレームを受信する接続部と、前記フレームから抽出される当該フレームを一意に識別可能なフレーム識別情報を記憶するキューと、を有し、前記接続部あるいは前記中央処理回路から入力されるフレームが予め定められる転送条件情報に合致する場合、当該フレームを前記中央処理回路に入力せずに前記転送条件情報に基づく転送先に送信する通信装置における通信処理方法であって、前記接続部が受信するフレームの中から前記中央処理回路に入力する対象とされるフレームを検出するステップと、前記検出手段が検出するフレームのフレーム識別情報をキューに入力するステップと、所定のキュー読出規則に基づいて前記キューから前記フレーム識別情報を読み出し、読み出したフレーム識別情報に対応するフレームを前記中央処理回路に入力するステップと、を含むことを特徴とする通信処理方法である。
【００１４】
本発明は、入力されるフレームの転送先を検出する中央処理回路と、前記フレームを受信する接続部と、一意に識別可能なキュー識別情報が付与され、前記フレームから抽出される当該フレームを一意に識別可能なフレーム識別情報を記憶する複数のキューとを備え、前記フレームが前記中央処理回路に入力する対象とされる要因を示す情報と前記キュー識別情報とを対応付けた第１の転送要因情報を有し、前記接続部あるいは前記中央処理回路から入力されるフレームが予め定められた転送条件情報に合致する場合、当該フレームを前記中央処理回路に入力せずに前記転送条件情報に基づく転送先に送信する通信装置における通信処理方法であって、前記接続部が受信するフレームの中から前記中央処理回路に入力する対象とされるフレームを検出するステップと、検出するフレームが前記中央処理回路に入力する対象とされた要因を示す情報を割り当て、割り当てた前記要因を示す情報に基づいて、前記第１の転送要因情報を参照してキュー識別情報を読み出し、読み出したキュー識別情報に対応するキューに当該フレームのフレーム識別情報を入力するステップと、所定のキュー読出規則に基づいて前記複数のキューから前記フレーム識別情報を読み出し、読み出したフレーム識別情報に対応するフレームを前記中央処理回路に入力するステップと、を含むことを特徴とする通信処理方法である。
【００１５】
本発明は、入力されるフレームの転送先を検出する中央処理回路と、前記フレームを受信する接続部と、一意に識別可能なキュー識別情報が付与され、前記フレームから抽出される当該フレームを一意に識別可能なフレーム識別情報を記憶する複数のキューとを備え、前記フレームが前記中央処理回路に入力する対象とされる要因ごとに、前記フレームに予め含まれる前記フレームの情報の種別を分類する分類情報に基づくキューの選択を行わせるか否かを示す第２の転送要因情報と、前記分類情報と前記キュー識別情報を対応付けたキュー選択情報とを有し、前記接続部あるいは前記中央処理回路から入力されるフレームが予め定められる転送条件情報に合致する場合、当該フレームを前記中央処理回路に入力せずに前記転送条件情報に基づく転送先に送信する通信装置における通信処理方法であって、前記接続部が受信するフレームの中から前記中央処理回路に入力する対象とされるフレームを検出するステップと、検出するフレームに対応する前記要因が示す情報を割り当て、割り当てた前記要因を示す情報に基づいて、前記第２の転送要因情報を参照し、当該フレームに含まれる分類情報に基づくキューの選択を行わせるか否かを判定するステップと、前記フレームに含まれる分類情報に基づくキューの選択を行わせることを示していると判定した場合、当該フレームに含まれる分類情報に基づいて、前記キュー選択情報から前記キュー識別情報を検出し、検出したキュー識別情報に対応するキューに当該フレームのフレーム識別情報を入力するステップと、所定のキュー読出規則に基づいて前記複数のキューから前記フレーム識別情報を読み出し、読み出したフレーム識別情報に対応するフレームを前記中央処理回路に入力するステップと、を含むことを特徴とする通信処理方法である。
【発明の効果】
【００１６】
この発明によれば、通信処理回路は、フレームから抽出される当該フレームを一意に識別可能なフレーム識別情報を記憶するキューを備えており、接続部が受信するフレームの中から前記中央処理回路に入力する対象とされるフレームを検出し、検出したフレームのフレーム識別情報をキューに入力する。所定のキュー読出規則に基づいてキューからフレーム識別情報を読み出し、読み出したフレーム識別情報に対応するフレームを中央処理回路に入力する構成とした。これにより、中央処理回路に入力する対象とされたフレームを示す情報を、キューに一時的に蓄積することができ、中央処理回路の処理速度が通信処理回路の処理速度に比べて劣る場合であっても、通信処理回路によって破棄されることなく中央処理回路に入力し、当該フレームに対して適切な処理を行うことが可能となる。
【００１７】
また、本発明によれば、通信処理回路は、一意に識別可能なキュー識別情報が付与され、フレームから抽出される当該フレームを一意に識別可能なフレーム識別情報を記憶する複数のキューを備えており、接続部が受信するフレームの中から中央処理回路に入力する対象とされるフレームを検出し、検出したフレームが中央処理回路に入力する対象とされた要因を示す情報を割り当て、割り当てた要因を示す情報に基づいて、フレームが中央処理回路に入力する対象とされる要因を示す情報とキュー識別情報とを対応付けた第１の転送要因情報を参照してキュー識別情報を読み出し、読み出したキュー識別情報に対応するキューに当該フレームのフレーム識別情報を入力する。所定のキュー読出規則に基づいて前記複数のキューから前記フレーム識別情報を読み出し、読み出したフレーム識別情報に対応するフレームを前記中央処理回路に入力する構成とした。これにより、中央処理回路に入力する対象とされたフレームを示す情報を、キューに一時的に蓄積することができ、中央処理回路の処理速度が通信処理回路の処理速度に比べて劣る場合であっても、通信処理回路によって破棄されることなく中央処理回路に入力し、当該フレームに対して適切な処理を行うことが可能となる。また、中央処理回路に入力する対象とされた要因に対応する優先度を有するキューにフレームを示す情報を一時的に蓄積することができるため、当該要因を有するフレームの間で中央処理回路における処理の順序を制御することができる。
【００１８】
また、本発明によれば、通信処理回路は、一意に識別可能なキュー識別情報が付与され、フレームから抽出される当該フレームを一意に識別可能なフレーム識別情報を記憶する複数のキューを備えており、接続部が受信するフレームの中から中央処理回路に入力する対象とされるフレームを検出し、検出したフレームに対応する要因が示す情報を割り当て、割り当てた要因を示す情報に基づいて、フレームが中央処理回路に入力する対象とされる要因ごとに、フレームに予め含まれるフレームの情報の種別を分類する分類情報に基づくキューの選択を行わせるか否かを示す第２の転送要因情報を参照し、当該フレームに含まれる分類情報に基づくキューの選択を行わせるか否かを判定する。フレームに含まれる分類情報に基づくキューの選択を行わせることを示していると判定した場合、当該フレームに含まれる分類情報に基づいて、分類情報とキュー識別情報を対応付けたキュー選択情報を参照して、キュー識別情報を検出し、検出したキュー識別情報に対応するキューに当該フレームのフレーム識別情報を入力する。所定のキュー読出規則に基づいて前記複数のキューからフレーム識別情報を読み出し、読み出したフレーム識別情報に対応するフレームを前記中央処理回路に入力する構成とした。これにより、中央処理回路に入力する対象とされたフレームを示す情報を、キューに一時的に蓄積することができ、中央処理回路の処理速度が通信処理回路の処理速度に比べて劣る場合であっても、通信処理回路によって破棄されることなく中央処理回路に入力し、当該フレームに対して適切な処理を行うことが可能となる。また、中央処理回路に入力する対象とされた要因及びフレームに含まれる分類情報に基づいて、キューのいずれかを選択して、フレームを示す情報を一時的に蓄積することができるため、当該要因を有するフレームの間で中央処理回路における処理の順序を制御することができる。
【００１９】
また、本発明によれば、通信処理回路は、フレームに含まれる分類情報に基づくキューの選択を行わせないことを示していると判定した場合、フレームが中央処理回路に入力する対象とされる要因を示す情報とキュー識別情報とを対応付けた第３の転送要因情報あるいは、予め定められるキュー識別情報に対応するキューに当該フレームのフレーム識別情報を入力する構成とした。これにより、分類情報に基づいてキューの選択を行わせないフレームに対しては、中央処理回路に入力する対象とされる要因に基づくキューあるいは、予め定められるキューに入力することが可能となる。
【００２０】
また、本発明によれば、通信処理回路は、複数のキューのそれぞれに対応して備えられ、予め定められる帯域上限値に基づいて、キューから読み出すフレーム識別情報の帯域を制限しつつ、読み出したフレーム識別情報を出力する複数の第１の帯域制限手段と、前記複数の第１の帯域制限手段から入力されるフレーム識別情報を、所定のキュー読出規則に基づいて順に出力する優先制御手段と、予め定められる帯域上限値に基づいて、優先制御手段から出力されるフレーム識別情報の帯域を制限しつつ、当該フレーム識別情報に対応するフレームを前記中央処理回路に入力する第２の帯域制限手段とを備える構成とした。これにより、中央処理回路に入力する対象とされるフレームに対しても第１、第２の帯域制限手段及び優先制御手段により、中央処理回路の処理速度に応じた優先制御を行うことが可能となる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施形態を図面を参照して説明する。
（第１実施形態）
図１は、本発明の通信処理回路の第１実施形態による通信処理回路２を備えた通信装置１及び通信装置１がＬＡＮ（Local Area Network）及びＷＡＮ（Wide Area Network）に接続する構成を示す概略ブロック図である。
通信装置１は、ＧＭＩＩ（Gigabit Medium Independent Interface）やＭＩＩ(Medium Independent Interface)の規格のインタフェースを介してＷＡＮに接続する物理Ｉ／Ｆ（Interface）１００及びＬＡＮに接続する物理Ｉ／Ｆ１１０と接続し、ＬＡＮ側から送信されるパケットをＷＡＮ側へ転送し、また、ＷＡＮ側から送信されるパケットをＬＡＮ側へ転送する。本実施形態の通信装置１では、ＯＳＩの第３層にあたるネットワーク層では、ＩＰｖ４あるいはＩＰｖ６のパケットの送受信を行い、ＯＳＩの第２層にあたるデータリンク層では、イーサネット（登録商標）のフレームの送受信を行う。以下、第２層に係る処理については送受信されるものについてはフレームと記載し、第３層に係る処理について送受信されるデータ、すなわちフレームからＭＡＣヘッダが除かれたものについてはパケットと記載する。
【００２２】
通信装置１は、転送処理の高速化を図るため半導体素子で構成される通信処理回路２と、ＣＰＵ（中央処理部：Central Processing Unit）４と、ＤＤＲ−ＳＤＲＡＭ（Double Data Rate-Synchronous Dynamic Random Access Memory）３とを備えている。
【００２３】
ＤＤＲ−ＳＤＲＡＭ３は、半導体記憶素子であり、一定容量値、例えば２キロバイトごとに領域分割され、フレーム長が長いフレームであっても、短いフレームであっても分割した１つの領域を割り当てて記憶する。なお、分割されたそれぞれの領域は、後述するハンドル管理部１８が付与するハンドル番号に対応付けられる。
【００２４】
ＣＰＵ４は、主に通信処理回路２で転送処理を行うことができないフレームを通信処理回路２から受信し、受信したフレームに対する転送先を検出する等の処理を予め内部で動作するソフトウェアに基づいて行う。ＣＰＵ４が備えるドライバ４ａは、通信処理回路２がＣＰＵ４に入力するパケットのＣＰＵ４の内部のメモリへの書き込み及び読み出しを行い、また、通信処理回路２の各機能部の動作を制御する情報の設定を各機能部に対して行う。
【００２５】
通信処理回路２において、ＷＡＮ用ＭＡＣ(Media Access Control)Ｉ／Ｆ１１は、ＷＡＮに接続される物理Ｉ／Ｆ１００へ接続する接続インタフェースである。ＬＡＮ用ＭＡＣＩ／Ｆ１２は、ＬＡＮに接続される物理Ｉ／Ｆ１１０へ接続する接続インタフェースである。ＷＡＮ用ＭＡＣＩ／Ｆ１１及び、ＬＡＮ用ＭＡＣＩ／Ｆ１２は、上記したＧＭＩＩ及びＭＩＩに準拠した規格を有し、送受信するイーサネット（登録商標）のフレーム（以下、フレームと記載）に対してＩＥＥＥ８０２．３準拠のＭＡＣ処理を行い、また、物理Ｉ／Ｆ１００あるいは１１０との間で送受信されるフレームに対してＣＲＣ（Cyclic Redundancy Check）処理などを行う。
【００２６】
ＩＰｓｅｃ部は、ＷＡＮ用ＭＡＣＩ／Ｆ１１に接続され、ＲＦＣ(Request for Comments)２４０６準拠のＩＰｓｅｃ処理に基づく暗号化処理をＷＡＮに送信するパケットに対して行い、また、ＷＡＮから受信するパケットに対して復号化処理を行う。ここで、ＲＦＣ２４０６準拠のＩＰｓｅｃ処理とは、ＲＦＣ２４０３／２４０４準拠のＨＭＡＣ−ＭＤ５（Keyed Hashing for Message Authentication Code-Message Digest 5）やＨＭＡＣ−ＳＨＡ−１（HMAC-Secure Hash Algorithm-1）の認証機能や、ＲＦＣ２４１０／２４５１のＮＵＬＬ，ＣＢＣ−ＡＥＳ（Cipher Block Chaining - Advanced Encryption Standard）の暗号機能などによるＩＰｖ４及びＩＰｖ６パケットに対する暗号化及び復号化処理及び、ＩＰｓｅｃ処理のトンネルモードにおけるカプセル化及びデカプセル化の処理のことをいう。
【００２７】
書き込みスケジューラ１４は、ＩＰｓｅｃ部１３と、ＬＡＮ用ＭＡＣＩ／Ｆ１２と、ＣＰＵ４に接続するＣＰＵＩ／Ｆ１５とに接続され、ラウンドロビン方式により、ＩＰｓｅｃ部１３と、ＬＡＮ用ＭＡＣＩ／Ｆ１２と、ＣＰＵＩ／Ｆ１５の順に、これら３つの機能部によって情報が付加されたフレーム（以下、前記３つの機能部によって情報が付加されたフレームをフレーム情報と記載）を出力する。
【００２８】
ＣＰＵＩ／Ｆ１５は、通信処理回路２の各機能部と、書き込みスケジューラ部１４と、メモリコントローラ部１７とＣＰＵ４とに接続され、メモリコントローラ部１７から出力されるフレーム情報をＣＰＵ４に入力する。また、ＣＰＵ４から出力されるフレームを書き込みスケジューラ部１４に入力する。また、ＣＰＵ４が通信処理回路２の各機能部に対して設定を行う際、ＣＰＵＩ／Ｆ１５は、設定情報を該当する機能部に入力する。
【００２９】
ＤＤＲ−ＳＤＲＡＭＩ／Ｆ１９は、メモリコントローラ部１７とＤＤＲ−ＳＤＲＡＭ３に接続され、メモリコントローラ部１７とＤＤＲ−ＳＤＲＡＭ３の間でフレームの入出力を行う。
【００３０】
フレーム生成部１６は、予めＣＰＵ４のドライバ４ａから設定される情報に基づいて、メモリコントローラ部１７から出力されるフレーム情報及び後述するＱｏＳ部７０から出力されるジョブ情報に基づいてフレームに送信先の論理インタフェースに応じたＶＬＡＮ（Virtual LAN）タグやＰＰＰｏＥ（Point to Point Protocol over Ethernet：Ethernetは登録商標）ヘッダの挿入を行い、当該挿入を行ったフレームを出力する。また、フレーム生成部１６は、宛先ＭＡＣアドレスの付け替え、ＮＡＴ(Network Address Translation)／ＮＡＰＴ（Network Address Port Translation）のためのＩＰアドレス及びポート番号の付け替えを行う。また、フレーム生成部１６は、ＩＰｓｅｃ部１３に出力するフレームに対してＩＰｓｅｃＳＡ（Security Association）の情報の付加を行う。また、フレーム生成部１６は、ＤＳＣＰ（DiffServ Code Point）のＩＰパケットのヘッダへの付加、ＶＬＡＮ  ｐｒｉｏｒｉｔｙのフレームのヘッダへの付加を行う。ＤＳＣＰやＶＬＡＮ  ｐｒｉｏｒｉｔｙは、優先制御の際に参照される品質クラス情報となる。ここで、品質クラス情報とは、転送されるフレームに含まれる情報の種別を分類する分類情報であり、分類情報によって示される情報の種別が例えば音声の場合には、当該分類種別を有するフレームには遅延が少ない高い品質の通信処理が適用されることになる。
【００３１】
ハンドル管理部１８は、ＱｏＳ（Quality of Service）部７０と、メモリコントローラ部１７とに接続され、ＤＤＲ−ＳＤＲＡＭ３の分割された領域のそれぞれに対応するハンドル番号に基づいてＤＤＲ−ＳＤＲＡＭ３の分割された領域の空塞管理を行う。ここで、空塞管理とは、メモリコントローラ部１７へは空きハンドル番号を出力して使用中のハンドル番号として管理し、ＱｏＳ部７０から入力されるフレーム破棄により返却対象となるハンドル番号や、送信により返却対象となるハンドル番号については領域が空きとなるため、空きのハンドル番号として管理する。また、ハンドル管理部１８は、マルチキャストフレームの場合には、マルチキャストの回数分送信が終了するまで、フレームを削除できないため、ＱｏＳ部７０が、メモリコントローラ部１７にジョブ情報を出力した情報を図１に示すＱｏＳ部７０からメモリコントローラ部１７へ直接接続する接続線から分岐する線により参照して、送信開始時に定められるマルチキャストの回数を管理する。
【００３２】
メモリコントローラ部１７は、書き込みスケジューラ部１４と、フレーム生成部１６と、ＤＤＲ−ＳＤＲＡＭＩ／Ｆ１９と、パーサ部３０と、ハンドル管理部１８と、ＱｏＳ部７０とに接続されている。メモリコントローラ部１７は、書き込みスケジューラ部１４から入力されるフレーム情報に対し、ハンドル管理部１８から付与された空きハンドルのハンドル番号に対応するＤＤＲ−ＳＤＲＡＭ３の分割された領域に、ＤＤＲ−ＳＤＲＡＭＩ／Ｆ１９を介してＤＤＲ−ＳＤＲＡＭ３に書き込む。また、メモリコントローラ部１７は、書き込みスケジューラ部１４から入力されるフレーム情報に対し、ハンドル管理部１８から付与されたハンドル番号を付加してパーサ部３０に出力する。また、メモリコントローラ部１７は、後述するＱｏＳ部７０から出力されるジョブ情報に含まれるハンドル番号に対応するＤＤＲ−ＳＤＲＡＭ３の領域からＤＤＲ−ＳＤＲＡＭ１９を介してフレーム情報を読み出し、読み出したフレーム情報に対してジョブ情報に基づく情報を付加し、フレーム生成部１６に出力、あるいはＣＰＵＩ／Ｆ１５を介してＣＰＵ４に出力する。
【００３３】
パーサ部３０は、メモリコントローラ部１７によりハンドル番号が付加されたフレーム情報に対して解析を行い、フレーム情報から転送処理に係る情報であるヘッダ情報などを抽出し、解析結果情報としてメモリコントローラ部１７が付加したハンドル番号等の付加情報とともに出力する。
【００３４】
検索部４０は、パーサ部３０から入力される解析結果情報に基づいて、予めＣＰＵ４により検索部４０の内部に設定される転送条件情報を参照し、転送条件情報に基づいて、当該フレームを破棄するか、通過させるか、ＣＰＵ４へ転送、すなわちＣＰＵ４へ入力するかを示すフィルタ検索結果情報、及び品質クラスなどの情報を示す分類検索結果などを検出し、検出したフィルタ検索結果情報及び分類検索結果を、パーサ部３０から入力される解析結果情報の一部の情報、例えばフレーム長等ととともにＣＰＵ転送判定部６１に出力する。ここで、転送条件情報に含まれる条件としては、ＭＡＣアドレス、ＩＰアドレス、ポート番号などがあり、解析結果情報に含まれるフレームのヘッダ情報がこれらの転送条件情報に一致するか否かの検索が行われる。
【００３５】
ＣＰＵ転送判定部６１は、検索部４０においてＣＰＵ４へ転送する要因があるとして検出されたフレームに対して、ＣＰＵ転送要因を示す情報、すなわち後述するＣＰＵ転送要因フラグを付与し、ＣＰＵ４へ転送するか、あるいは破棄するかを判定し、判定した判定結果情報を、検索部４０から出力される情報とともに出力する。
【００３６】
キュー選択部６２は、ＣＰＵ転送判定部６１から入力される情報に含まれる品質クラス情報や送信先の論理Ｉ／Ｆの情報に基づいてＱｏＳ部７０がキューを選択する際に参照するキュー番号を検出し、ＣＰＵ転送判定部６１から出力される情報と、検出したキュー番号とを出力する。
【００３７】
ＱｏＳ部７０は、キュー選択部６２から出力される情報に基づいてジョブ情報を生成し、同じくキュー選択部６２から出力されるキュー番号に基づいて、生成したジョブ情報を該当するキューに記録する。また、ＱｏＳ部７０は、優先制御を行いつつキューに記録されているジョブ情報を読み出し、メモリコントローラ部１７へ出力する。また、メモリコントローラ部１７へ出力する際に、ハンドル番号を返却するためハンドル管理１８へ出力する。ここで、ジョブ情報とは、ＷＡＮ用ＭＡＣＩ／Ｆ１１やＬＡＮ用ＭＡＣＩ／Ｆ１２から送信されるフレームに対しては、受信フレーム長、送信フレーム長、送信論理Ｉ／Ｆ、宛先ＭＡＣアドレス、ＮＡＴ／ＮＡＰＴ指定、ＤＳＣＰやＶＬＡＮ  ｐｒｉｏｒｉｔｙ等の情報に対応する品質クラス、ハンドル番号等の情報から構成されている。また、ＣＰＵ４に転送されるフレームに対しては、ジョブ情報は、受信フレーム長、送信フレーム長、受信論理Ｉ／Ｆ、ＣＰＵ転送理由、品質クラス、ハンドル番号等の情報から構成される。
【００３８】
なお、ＣＰＵ転送判定部６１において特定の要因を有し、破棄すると判定されたフレームついてはＣＰＵ転送判定部６１あるいはＱｏＳ部７０のいずれかにより破棄されることとなる。
【００３９】
図２は、通信処理回路２に係るＱｏＳ部７０の内部構成を詳細に示し、第１実施形態で行われるＣＰＵ４に入力されるフレームに対する優先制御を実行するための構成であるフレーム解析部３１、フレーム検索部４１、キュー入力部６０、ＱｏＳ部７０の機能部の関係を示したブロック図である。
【００４０】
フレーム解析部３１は、パーサ部３０の内部に備えられる機能部であり、メモリコントローラ部１７から入力されるフレーム情報がＣＰＵ転送要因を有するフレームであるか否かを予め内部に記憶しているフレーム解析条件情報に基づいて解析し、解析結果情報をハンドル番号等の付加情報とともにフレーム検索部４１に出力する。ここで、予め内部に記憶しているフレーム解析条件情報とは、以下の条件を示した情報を含んでいる。すなわち、フレームに含まれるＩＰパケットにおいて、非ＩＰパケット、すなわちＩＰパケットでない場合、ＩＰヘッダのパラメータが異常である場合、ヘッダオプション付きＩＰパケットの場合などである。なお、ヘッダオプション付きＩＰパケットについて、ＩＰｖ６の場合には拡張ヘッダ付きＩＰパケットも含まれる。
【００４１】
フレーム検索部４１は、上述した転送条件情報に対応する図３に示すフィルタ・分類検索テーブル４２を内部に備えており、フレーム解析部３１から入力される解析結果情報及び付加情報に基づいて、フィルタ・分類検索テーブル４２から当該解析結果情報及び当該付加情報に一致する検索条件を検索し、検索条件に対応するフィルタ検索結果情報及び分類検索結果情報を検出する。また、フレーム検索部４１は、検出したフィルタ検索結果情報及び分類検索結果情報と、フレーム解析部３１から入力される解析結果情報及び付加情報とを出力する。
【００４２】
ここで、フレーム検索部４１においてＣＰＵ転送要因有りとして検索される条件を示す転送条件情報とは以下の通りである。すなわち、宛先ＩＰアドレスが通信装置１自体が有するＩＰアドレスである場合、ＮＡＴ／ＮＡＰＴ有りとなっているフレーム対してＮＡＴ／ＮＡＰＴの検索を行った際にＮＡＴ／ＮＡＰＴミスヒットとなる場合、経路テーブルを検索した結果として経路無しとなる場合、ＭＴＵ(Maximum Transfer Unit)超過となる場合、ＬＡＮ側から送信されたフレームがＬＡＮ側へ転送されるようなリダイレクトとなる場合、ＩＰｖ４においてＴＴＬ（Time To Live）が０、ＩＰｖ６においてＨｏｐ  Ｌｉｍｉｔが０となる場合、ＡＲＰ（Address Resolution Protocol）が未解決となる場合等がある。また、上記のフィルタ検索結果情報とは、図３に示すように０：破棄、１：通過、２：ＣＰＵ転送を示すフラグの値が予め設定され、分類検索結果とは、品質クラス情報の場合には、品質クラスを示す０、１、２…などの値が予め設定される。なお、品質クラス情報の他に、リマーク値などを適用することもできる。
【００４３】
なお、フレーム検索部４１は、フレーム解析部３１において、ＣＰＵ転送要因有りとして解析された情報に対しては、検索処理は行わず図２に示すフレーム解析部３１からＣＰＵ転送判定部６１に繋がる破線で示されるように転送のみを行う。
【００４４】
また、上記のフィルタ・分類検索テーブル４２は、ＲＡＭ（Random Access Memory）などの記憶素子で構成されていてもよいが、検索条件情報に該当する情報を入力することにより、エントリ番号、フィルタ検索結果、分類検索結果の各項目が出力される論理回路によって構成されていてもよい。
【００４５】
キュー入力部６０は、上述したＣＰＵ転送判定部６１とキュー選択部６２とを備えており、内部に図４に示すＣＰＵ転送要因・キュー選択テーブル６５を有している。キュー入力部６０に係るＣＰＵ転送判定部６１は、ＣＰＵ転送要因を有するフレームについて、ＣＰＵ転送要因のそれぞれに対して予め割り当てられる一意に識別可能なＣＰＵ転送要因フラグを付与する。また、ＣＰＵ転送判定部６１は、付与したＣＰＵ転送要因フラグに基づいて、ＣＰＵ転送判定部６１がＣＰＵ転送要因・キュー選択テーブル６５を参照し、ＣＰＵ転送用のキュー番号の割り当てを行い、割り当てたキュー番号を、フレーム検索部４１あるいはフレーム解析部３１から入力される情報とともに出力する。ここで、図４に示すＣＰＵ転送要因フラグの要因１、２…としては、上述した、非ＩＰパケットを示すＣＰＵ転送要因フラグ、ＩＰヘッダのパラメータを示すＣＰＵ転送要因フラグ、ヘッダオプション付きＩＰパケットを示すＣＰＵ転送要因フラグなどが予め設定される。なお、ＣＰＵ転送要因フラグは、予めＣＰＵ転送判定部６１が内部の記憶領域に記憶している。
【００４６】
なお、上記のＣＰＵ転送要因・キュー選択テーブル６５は、ＲＡＭ（Random Access Memory）などの記憶素子で構成されていてもよいが、ＣＰＵ転送要因フラグに該当する情報を入力することにより、ＣＰＵ転送用キュー番号が出力される論理回路によって構成されていてもよい。
【００４７】
第１実施形態に係るキュー選択部６２は、ＣＰＵ転送判定部６１から入力される情報の中でＣＰＵ転送要因を有し、キュー番号が付与されている情報については、そのままＱｏＳ部７０に入力する。
【００４８】
ＱｏＳ部７０は、ジョブ情報分配部７５と、ＬＡＮ転送用キュー７１と、ＷＡＮ転送用キュー７２と、ＣＰＵ転送用キュー７３と、キュー出力部８０とを備えている。ＬＡＮ転送用キュー７１、ＷＡＮ転送用キュー７２、ＣＰＵ転送用キュー７３は、それぞれ複数のキュー７１−１〜７１−Ｌ、キュー７２−１〜７２−Ｍ、キュー７３−１〜７３−Ｎを有しており、ＦＩＦＯ（First In First Out）の方式でジョブ情報の蓄積を行う。なお、本実施形態では、例として、ＣＰＵ転送用キュー７３には、３つのキュー、すなわちキュー７３−１（キュー番号１）、キュー７３−２（キュー番号２）、キュー７３−３（キュー番号３）が備えられているものとする。
【００４９】
ジョブ情報分配部７５は、キュー選択部６２から入力される情報に基づいて上述したジョブ情報を生成し、ＣＰＵ転送要因を有する情報については付加されているキュー番号に基づいてＣＰＵ転送用キュー７３の該当するキュー７３−１〜７３−Ｎにジョブ情報を記録する。
【００５０】
キュー出力部８０は、ＬＡＮ転送用キュー７１、ＷＡＮ転送用キュー７２、ＣＰＵ転送用キュー７３のそれぞれについて、予め内部に記憶してる所定のキュー読出規則に基づいてジョブ情報を読み出し、メモリコントローラ部１７へ出力するとともに、当該ジョブ情報のハンドル番号をハンドル管理部１８に出力する。ここで、上記の所定のキュー読出規則とは、各キューからの読み出し順序や読み出しタイミングを定める規則であり、ＰＱ(Priority Queuing)によって優先制御される際の優先度、あるいはＷＦＱ(Weighted Fair Queuing)によって優先制御される際の重み付けの値、及び、各キューに記憶されているジョブ情報の数や、過去にあるキューから読み出したジョブ情報の個数などに基づいて定められる。
【００５１】
なお、ＬＡＮ及びＷＡＮに向けて転送される情報については、キュー選択部６２が入力される送信先の論理Ｉ／Ｆと、品質クラス情報に含まれるＰｒｉｍａｒｙ／Ｓｅｃｏｎｄａｒｙの仮想キュー番号とから物理キュー番号を選択し、ジョブ情報分配部７５は、当該物理キュー番号に応じたＬＡＮ転送用キュー７１及びＷＡＮ転送用キュー７２にジョブ情報を入力する。
【００５２】
次に、図５を参照して、第１実施形態に係るフレームをＣＰＵ４へ転送する場合における通信処理回路２の動作について説明する。
最初に、ＷＡＮ用ＭＡＣＩ／Ｆ１１あるいはＬＡＮ用ＭＡＣＩ／Ｆ１２がフレームを受信する。ＬＡＮ用ＭＡＣＩ／Ｆ１２は、受信したフレームに関するフレーム情報を書き込みスケジューラ部１４に入力する。ＷＡＮ用ＭＡＣＩ／Ｆ１１が受信したフレームについては、ＩＰｓｅｃ部１３が復号化を行い、復号化されたフレームに関するフレーム情報を書き込みスケジューラ部１４に入力する。書き込みスケジューラ部１４は、ラウンドロビン方式により、ＩＰｓｅｃ部１３、あるいはＬＡＮ用ＭＡＣＩ／Ｆ１２から入力されるフレーム情報をメモリコントローラ部１７に入力する。メモリコントローラ部１７は、ハンドル管理部１８に空きハンドル番号を要求し、要求によって得たハンドル番号に基づいてＤＤＲ−ＳＤＲＡＭＩ／Ｆ１９を介してＤＤＲ−ＳＤＲＡＭ３のハンドル番号に対応する領域にフレーム情報を記録し、当該フレーム情報とハンドル番号とをパーサ部３０に入力する。
【００５３】
パーサ部３０のフレーム解析部３１は、予め内部に記憶しているフレーム解析条件情報に基づいて、入力されたフレーム情報を解析し（ステップＳａ１）、解析が可能なフレーム情報か否かを判定する。例えば、フレーム情報に含まれるパケットが非ＩＰパケットの場合には解析が不可能なフレーム情報として判定する（ステップＳａ２）。解析が可能なフレーム情報の場合、フレーム解析部３１は、解析によりフレーム情報に含まれる情報から抽出した解析結果情報とハンドル番号などの付加情報とともにフレーム検索部４１に入力する。
【００５４】
検索部４０のフレーム検索部４１は、入力される解析結果情報に対応するフレーム情報に基づいて、一致する検索条件をフィルタ・分類検索テーブル４２から検索する。そして、一致する検索条件に対応するフィルタ検索結果情報及び分類検索結果情報を検出する。ここでは、フィルタ検索結果情報として２：ＣＰＵ転送が得られるものとする。そして、検出したフィルタ検索結果情報及び分類検索結果情報と、検出したフィルタ検索結果情報及び分類検索結果情報に対応するＣＰＵ転送要因フラグを加えた情報と、ハンドル番号などを含む付加情報とをキュー入力部６０に出力する（ステップＳａ３）。
【００５５】
一方、ステップＳａ２におけるフィルタ解析部３１による判定の結果、解析が不可能なフレーム情報の場合、対応するＣＰＵ転送要因フラグとともに解析結果情報とハンドル番号を含む付加情報をフレーム検索部４１に入力する。当該フレーム情報については、フレーム検索部４１は、検索処理を行わずにキュー入力部６０に出力する。
【００５６】
次に、ＣＰＵ転送判定部６１は、入力される情報にＣＰＵ転送要因が存在するか否かを判定する（ステップＳａ４）。ＣＰＵ転送要因が存在しないと判定された場合、すなわちＷＡＮ用ＭＡＣＩ／Ｆ１１あるいはＬＡＮ用ＭＡＣＩ／Ｆ１２を介して転送する場合、キュー選択部６２は、ＣＰＵ転送判定部６１から入力される情報に含まれる品質クラス情報や送信先の論理Ｉ／Ｆの情報に基づいてＱｏＳ部７０がキューを選択する際に参照するキュー番号を検出し、ＣＰＵ転送判定部６１から出力される情報と、検出したキュー番号とを出力する（ステップＳａ５）。ジョブ情報分配部７５は、キュー選択部６２から入力される情報からハンドル番号を含むジョブ情報を生成し、生成したジョブ情報を同じく入力されるキュー番号に対応するＬＡＮ転送用キュー７１、あるいはＷＡＮ転送用キュー７２に記録する（ステップＳａ６）。キュー出力部８０は、ＬＡＮ転送用キュー７１、あるいはＷＡＮ転送用キュー７２から所定のキュー読出規則に基づいてジョブ情報を読み出し、読み出したジョブ情報に含まれるハンドル番号をメモリコントローラ部１７とハンドル管理部１８に入力する。このとき、ハンドル管理部１８は、入力されるハンドル番号を空き状態として管理する。メモリコントーラ部１７は、入力されるハンドル番号に基づいて、ＤＤＲ−ＳＤＲＡＭＩ／Ｆ１９を介してＤＤＲ−ＳＤＲＡＭ３からフレーム情報を読み出し、読み出したフレーム情報とジョブ情報をフレーム生成部１６に入力する。フレーム生成部１６は、入力されるフレーム情報とジョブ情報に基づいて送信用のフレームを生成し、ＬＡＮに送信する際は、ＬＡＮ用ＭＡＣＩ／Ｆ１２を介して送信し、ＷＡＮに送信する際は、ＩＰｓｅｃ部１３による暗号化が行われた後に、ＷＡＮ用ＭＡＣＩ／Ｆ１１を介して送信する。（ステップＳａ６）。
【００５７】
一方、ステップＳａ４において、入力される情報が有するＣＰＵ転送要因に対するＣＰＵ転送要因フラグを割り当て、割り当てたＣＰＵ転送要因フラグに基づいて、ＣＰＵ転送要因・キュー選択テーブル６５を参照してキュー番号を検出し、キュー選択部６２に入力する。キュー選択部６２は、ＣＰＵ転送要因フラグを有する情報の場合、入力される情報をそのままジョブ情報分配部７５に入力する（ステップＳａ８）。
【００５８】
ジョブ情報分配部７５は、入力される情報からハンドル番号を含むジョブ情報を生成し、生成したジョブ情報を同じく入力されるキュー番号に対応するＣＰＵキュー７３のキュー７３−１〜７３−Ｎに記録する（ステップＳａ９）。
【００５９】
キュー出力部８０は、ＣＰＵキュー７３のキュー７３−１〜７３−Ｎから所定のキュー読出規則に基づいてジョブ情報を読み出し、読み出したジョブ情報に含まれるハンドル番号をメモリコントローラ部１７とハンドル管理部１８に入力する。メモリコントーラ部１７は、入力されるハンドル番号に基づいて、ＤＤＲ−ＳＤＲＡＭＩ／Ｆ１９を介してＤＤＲ−ＳＤＲＡＭ３からフレーム情報を読み出し、読み出したフレーム情報をＣＰＵＩ／Ｆ１５を介してＣＰＵ４へ入力する。また、ハンドル管理部１８は、入力されるハンドル番号を空き状態として管理する（ステップＳａ１０）。
【００６０】
なお、上記の処理において、ＣＰＵ転送判定部６１は、予め指定される特定のＣＰＵ転送要因を有するものについては、キュー選択部６２に入力せずに破棄するようにしてもよい。
【００６１】
上記の第１実施形態の構成により、ＣＰＵ４へ転送する対象となるフレームについて、キュー７３−１〜７３−Ｎにより、一時的にバッファリング、すなわち蓄積されるため、ＣＰＵ４の処理速度が通信処理回路２の処理速度に比べて劣る場合であっても、通信処理回路２によって破棄されることなくＣＰＵ４に入力し、当該フレームに対して適切な処理を行うことが可能となる。
【００６２】
また、第１実施形態の構成により、フレームのＣＰＵ転送要因に対応するキュー７３−１〜７３−Ｎに当該フレームに基づくジョブ情報を入力し、予め優先的に処理する必要のあるＣＰＵ転送要因については、キュー出力部８０が所定のキュー読出規則に基づいて優先的に読み出すため、ＣＰＵ４に優先度の高いフレームから処理させることが可能となる。
【００６３】
（第２実施形態）
次に、図６から図９を参照して本発明の通信処理回路の第２実施形態について説明する。第２実施形態に係る通信処理回路と、第１実施形態に係る通信処理回路とは、以下に説明する相違点を除き同じ構成であり、同じ構成については同じ符号を付して説明を行う。
【００６４】
（相違点１）
図６は、第２実施形態に係る通信処理回路２に係るＱｏＳ部７０ａの内部構成を示した図である。第２実施形態に係る通信処理回路２では、ＱｏＳ部７０ａのキュー出力部８０ａにおいて、キューから読み出す際に、帯域制限を行う機能を有している。
【００６５】
キュー出力部８０ａにおいて、入力側レートリミッタ８１−１〜８１−Ｌ、入力側レートリミッタ８２−１〜８２−Ｍ、入力側レートリミッタ８３−１〜８３−Ｎは、ＬＡＮキュー７１及びＷＡＮキュー７２及びＣＰＵキュー７３のそれぞれのキューに接続され、予め定められる帯域上限値に基づいて、トークンバケツモデルあるいはリーキーバケツモデルでジョブ情報を一時的に蓄積する。
【００６６】
スケジューラ８４、８５、８６は、それぞれ入力側レートリミッタ８１−１〜８１−Ｌ、入力側レートリミッタ８２−１〜８２−Ｍ、入力側レートリミッタ８３−１〜８３−Ｎに接続され、入力側レートリミッタ８１−１〜８１−Ｌ、入力側レートリミッタ８２−１〜８２−Ｍ、入力側レートリミッタ８３−１〜８３−Ｎのそれぞれから入力されるジョブ情報に対して、上記の所定のキュー読出規則に基づいて優先制御を行う。
【００６７】
なお、ＬＡＮキュー７１及びＷＡＮキュー７２に対応する入力側レートリミッタ８１−１〜８１−Ｌ、入力側レートリミッタ８２−１〜８２−Ｍ並びにスケジューラ８４及び８５は、図６のように構成にすることもできるが、本発明は、これに限られず、複数のスケジューラと複数のレートリミッタを多段に組み合わせて、上記の所定のキュー読出規則に含まれる規則の数を増やすように構成することも可能である。
【００６８】
出力側レートリミッタ８８は、それぞれスケジューラ８４、８５、８６から出力されるジョブ情報を、予め定められる帯域上限値に基づいて、トークンバケツモデルあるいはリーキーバケツモデルでジョブ情報を一時的に蓄積し、蓄積後にジョブ情報を１つずつ出力する。
【００６９】
（相違点２）
次に、第２実施形態における第１実施形態との２つ目の相違点について説明する。第２実施形態では、キュー入力部６０はＣＰＵ転送判定・キュー選択テーブル６５の替わりに図７に示すＣＰＵ転送要因・モード判定テーブル６６、及び図８に示すキュー選択テーブル６７を有している。
【００７０】
ＣＰＵ転送要因・モード判定テーブル６６は、ＣＰＵ転送判定部６１によって参照され、ＣＰＵ転送要因フラグにより示されるＣＰＵ転送要因ごとにモードが予めＣＰＵ４により設定されている。モードとしては、デフォールトキューであるキュー出力部８０ａによって最も読み出される優先順位が低いキュー番号のキューに入力させることを示すモード１と、フレームに含まれる品質クラス情報に基づくキュー選択をした後に対応するキューに入力させることを示すモード０とが設定されている。ここで、ＣＰＵ転送要因ごとに設定されるモード１とモード０が示す意味について説明する。モード１として設定されるＣＰＵ転送要因は、その要因が異常状態を示すため、パケットとしては重要でなく、キュー出力部８０ａによって読み出される優先順位を低くして送信元にＩＣＭＰ（Internet Control Message Protocol）を送信する必要がある要因を意味している。一方、モード０として設定されるＣＰＵ転送要因は、転送する先を特定しなければならないフレームであり、フレームに含まれる品質クラス情報に基づいて、優先させて処理することが必要であることを意味している。
【００７１】
なお、ＣＰＵ転送要因・モード判定テーブル６６にて、更にモードを追加して、特定のフレームについては破棄させるようにしてもよい。
【００７２】
また、上記のＣＰＵ転送要因・モード判定テーブル６６は、ＲＡＭ（Random Access Memory）等の記憶素子で構成されていてもよいが、ＣＰＵ転送要因に該当する情報を入力することにより、モードが出力される論理回路によって構成されていてもよい。
【００７３】
キュー選択テーブル６７は、キュー選択部６２によって参照され、ＬＡＮ用ＭＡＣＩ／Ｆ１２及びＷＡＮ用ＭＡＣＩ／Ｆ１１から送信されるフレームと同じくＣＰＵ４に入力する対象となるフレームについても品質クラス情報に基づくキューの選択を行わせるため、品質クラス情報とＣＰＵキュー７３のキュー７３−１〜７３−Ｎに割り当てられているキュー番号とを対応付けて記憶している。ここでは、Ｎ＝３として、ＣＰＵキュー７３として、キュー７３−１（キュー番号１）、キュー７３−２（キュー番号２）、キュー７３−３（キュー番号３）を有しており、キュー７３−１、キュー７３−２、キュー７３−３の順にキュー出力部８０ａによって読み出される優先順位が低くなっているものとする。
【００７４】
なお、上記のキュー選択テーブル６７は、ＲＡＭ（Random Access Memory）等の記憶素子で構成されていてもよいが、品質クラス情報に該当する情報を入力することにより、キュー番号が出力される論理回路によって構成されていてもよい。
【００７５】
次に、図９を参照して、第２実施形態に係るフレームをＣＰＵ４へ転送する場合における通信処理回路２の動作について説明する。
【００７６】
受信されたフレームに関するフレーム情報がパーサ部３０に入力されるまでの処理は図５で説明した通りである。パーサ部３０のフレーム解析部３１は、予め内部に設定されるフレーム解析条件情報に基づいて、入力されたフレームを解析し（ステップＳｂ１）、解析が可能なフレームか否かを判定する。例えば、フレームに含まれるパケットが非ＩＰパケットの場合には解析が不可能なフレームとして判定する（ステップＳｂ２）。解析が可能なフレームの場合、フレーム解析部３１は、解析によりフレームに含まれる情報から抽出した解析結果情報とハンドル番号などの付加情報とともにフレーム検索部４１に入力する。検索部４０のフレーム検索部４１は、入力される解析結果情報に対応するフレームに基づいて、一致する検索条件をフィルタ・分類検索テーブル４２から検索する。そして、一致する検索条件に対応するフィルタ検索結果情報及び分類検索結果情報を検出する。ここでは、フィルタ検索結果情報として２：ＣＰＵ転送が得られるものとする。そして、検出したフィルタ検索結果情報及び分類検索結果情報と、検出したフィルタ検索結果情報及び分類検索結果情報に対応するＣＰＵ転送要因フラグを加えた情報と、ハンドル番号などを含む付加情報とをキュー入力部６０に出力する（ステップＳｂ３）。
【００７７】
一方、ステップＳｂ２におけるフィルタ解析部３１による判定の結果、解析が不可能なフレーム情報の場合、対応するＣＰＵ転送要因フラグとともに解析結果情報とハンドル番号を含む付加情報をフレーム検索部４１に入力する。当該フレーム情報については、フレーム検索部４１は、検索処理を行わずにキュー入力部６０に出力する。
【００７８】
次に、ＣＰＵ転送判定部６１は、入力される情報にＣＰＵ転送要因が存在するか否かを判定する（ステップＳｂ４）。ＣＰＵ転送要因が存在しないと判定された場合、すなわちＷＡＮ用ＭＡＣＩ／Ｆ１１あるいはＬＡＮ用ＭＡＣＩ／Ｆ１２を介して転送する場合、キュー選択部６２は、ＣＰＵ転送判定部６１から入力される情報に含まれる品質クラス情報や送信先の論理Ｉ／Ｆの情報に基づいてＱｏＳ部７０がキューを選択する際に参照するキュー番号を検出し、ＣＰＵ転送判定部６１から出力される情報と、検出したキュー番号とを出力する（ステップＳｂ５）。ジョブ情報分配部７５は、キュー選択部６２から入力される情報からハンドル番号を含むジョブ情報を生成し、生成したジョブ情報を同じく入力されるキュー番号に対応するＬＡＮ転送用キュー７１、あるいはＷＡＮ転送用キュー７２に記録する（ステップＳｂ６）。
【００７９】
キュー出力部８０ａの、入力側レートリミッタ８１−１〜８１−Ｎ、あるいは入力側レートリミッタ８２−１〜８２−Ｎは、予め定められている帯域条件値を超えないように、ＬＡＮ転送用キュー７１、あるいはＷＡＮ転送用キュー７２からジョブ情報を読み出し、スケジューラ８４あるいは８５に入力する。スケジューラ８４あるいは８５は、所定のキュー読出規則に基づく優先制御を行い、出力側レートリミッタ８８に出力する。出力側レートリミッタ８８は、予め設定されている帯域上限値を越えないようにジョブ情報に含まれるハンドル番号をメモリコントローラ部１７とハンドル管理部１８に入力する。このとき、ハンドル管理部１８は、入力されるハンドル番号を空き状態として管理する。メモリコントーラ部１７は、入力されるハンドル番号に基づいて、ＤＤＲ−ＳＤＲＡＭＩ／Ｆ１９を介してＤＤＲ−ＳＤＲＡＭ３からフレーム情報を読み出し、読み出したフレーム情報とジョブ情報をフレーム生成部１６に入力する。フレーム生成部１６は、入力されるフレーム情報とジョブ情報に基づいて送信用のフレームを生成し、ＬＡＮに送信する際は、ＬＡＮ用ＭＡＣＩ／Ｆ１２を介して送信し、ＷＡＮに送信する際は、ＩＰｓｅｃ部１３による暗号化が行われた後に、ＷＡＮ用ＭＡＣＩ／Ｆ１１を介して送信する。（ステップＳｂ７）。
【００８０】
一方、ステップＳｂ４において、ＣＰＵ転送判定部６１は、入力される情報が有するＣＰＵ転送要因に対するＣＰＵ転送要因フラグを割り当て、割り当てたＣＰＵ転送要因フラグに基づいて、ＣＰＵ転送要因・モード判定テーブル６６を参照してモードを検出し、検出したモードと、フレーム解析部３１あるいはフレーム検索部４１から入力されるハンドル番号等を含む情報をキュー選択部６２に入力する（ステップＳｂ８）。
【００８１】
キュー選択部６２は、モードが０、すなわち品質クラス情報に基づくキュー選択を示すモードか、モードが１、すなわちデフォールトキューを選択するモードかを判定する（ステップＳｂ９）。モードが０の場合、キュー選択部６２は、キュー選択テーブル６７を参照して、分類検索情報に含まれる品質クラス情報に基づいてキュー番号を選択し、ジョブ情報分配部７５に選択したキュー番号と共にハンドル番号などを情報を入力する（ステップＳｂ１０）。一方、モードが１の場合、予め定められているデフォールトキューの番号、ここではキュー番号１を選択し、ジョブ情報分配部７５に選択したキュー番号と共にハンドル番号などを情報を入力する（ステップＳｂ１１）。
【００８２】
ジョブ情報分配部７５は、入力される情報からハンドル番号を含むジョブ情報を生成し、生成したジョブ情報を同じく入力されるキュー番号に対応するＣＰＵキュー７３のキュー７３−１〜７３−Ｎに記録する（ステップＳｂ１２）。
【００８３】
キュー出力部８０ａの入力側レートリミッタ８３−１〜８３−３は、予め定められている帯域条件値を超えないように、ＣＰＵキュー７３のキュー７３−１〜７３−Ｎからジョブ情報を読み出し、スケジューラ８６に入力する。スケジューラ８６は、所定のキュー読出規則に基づく優先制御を行い、出力側レートリミッタ８８に出力する。出力側レートリミッタ８８は、ＬＡＮキューのスケジューラ８４及びＷＡＮキューのスケジューラ８５から入力されるジョブ情報とともにＣＰＵキューのスケジューラ８６から入力されるジョブ情報に対して予め設定されている帯域上限値を越えないようにジョブ情報に含まれるハンドル番号をメモリコントローラ部１７とハンドル管理部１８に入力する。メモリコントーラ部１７は、入力されるハンドル番号に基づいて、ＤＤＲ−ＳＤＲＡＭＩ／Ｆ１９を介してＤＤＲ−ＳＤＲＡＭ３からフレーム情報を読み出し、読み出したフレーム情報をＣＰＵＩ／Ｆ１５を介してＣＰＵ４へ入力する。また、ハンドル管理部１８は、入力されるハンドル番号を空き状態として管理する（ステップＳｂ１３）。
【００８４】
なお、上記の処理において、ＣＰＵ転送判定部６１は、予め指定される特定のＣＰＵ転送要因を有するものについては、キュー選択部６２に入力せずに破棄するようにしてもよい。
【００８５】
上記の第２実施形態の構成により、通信処理回路２は、ＣＰＵ４へ入力する対象となるフレームについても帯域制限を行いつつ、当該フレームに基づくジョブ情報をキューに入力するため、破棄されることなくＣＰＵ４へ入力することが可能となる。
【００８６】
また、第２実施形態の構成により、ＣＰＵ転送要因を有するフレームにおいても、フレームに含まれている品質クラス情報に基づく優先制御を行うことが可能となる。
【００８７】
また、第２実施形態において、モードが１の場合、デフォルトのキューへ入力することとしていたが、本発明はこれに限られず、第１実施形態におけるＣＰＵ転送要因・キュー選択テーブル６５を備え、モードが１の場合であっても、ＣＰＵ転送要因・キュー選択テーブル６５を参照し、ＣＰＵ転送要因に基づいてさらにキューを選択させるようにしてもよい。
【００８８】
なお、上記の実施形態において、パーサ部３０からＱｏＳ部７０において用いられる情報は、フレーム情報の一部である解析結果情報、検索結果情報及びジョブ情報であるとしたが、本発明は上記実施形態に限られず、パーサ部３０からＱｏＳ部７０フレーム情報とともに解析結果情報、検索結果情報及びジョブ情報を扱うようにしてもよい。
【００８９】
また、本発明の接続部は、ＷＡＮ用ＭＡＣＩ／Ｆ１１あるいは、ＬＡＮ用ＭＡＣＩ／Ｆ１２に該当する。また、本発明のフレーム識別情報は、フレームを一意に識別可能なハンドル情報あるいはジョブ情報に該当する。本発明のキュー識別情報は、キュー番号に対応し、キューは、キュー７３−１〜７３−Ｎに対応する。また、本発明の検出手段は、フレーム解析部３１及びフレーム検索部４１に該当し、キュー入力手段は、キュー入力部６０あるいはキュー入力部６０及びジョブ情報分配部７５に該当し、キュー出力手段は、キュー出力部８０及び８０ａに該当する。また、判定手段は、ＣＰＵ転送判定部６１に対応し、選択手段は、キュー選択部６２に対応する。また、本発明の第１の転送要因情報及び第３の転送要因情報は、ＣＰＵ転送要因・キュー選択テーブル６５に記憶される情報に対応し、第２の転送要因情報は、ＣＰＵ転送要因・モード判定テーブル６６に記憶される情報に対応し、キュー選択情報は、キュー選択テーブル６７に記憶される情報に対応する。
【図面の簡単な説明】
【００９０】
【図１】第１実施形態に係る通信処理回路の概略ブロック図である。
【図２】第１実施形態に係る通信処理回路の詳細構成を示すブロック図である。
【図３】第１実施形態に係るフィルタ・分類検索テーブルのデータ構成を示した図である。
【図４】第１実施形態に係るＣＰＵ転送要因・キュー選択テーブルのデータ構成を示した図である。
【図５】第１実施形態に係る通信処理回路の動作を示したフローチャートである。
【図６】第２実施形態に係る通信処理回路の詳細構成を示すブロック図である。
【図７】第２実施形態に係るＣＰＵ転送要因・モード判定テーブルのデータ構成を示した図である。
【図８】第２実施形態に係るキュー選択テーブルのデータ構成を示した図である。
【図９】第２実施形態に係る通信処理回路の動作を示したフローチャートである。
【図１０】従来の通信装置を示したブロック図である。
【符号の説明】
【００９１】
３１  フレーム解析部
４１  フレーム検索部
６０  キュー入力部
８０  キュー出力部
７３−１〜７３−Ｎ  キュー
【図１】
2007124118.tif 000003
【図２】
2007124118.tif 000004
【図３】
2007124118.tif 000005
【図４】
2007124118.tif 000006
【図５】
2007124118.tif 000007
【図６】
2007124118.tif 000008
【図７】
2007124118.tif 000009
【図８】
2007124118.tif 000010
【図９】
2007124118.tif 000011
【図１０】
2007124118.tif 000012