(57)【要約】【課題】複数のパケット処理部を有するパケット処理装置において、パケット処理の全体の負荷を低減し、優先度の高い通信の確実性を向上させる。【解決手段】  パケット処理装置に、パケット信号を処理する複数のパケット処理部と、受信したパケット信号の優先度を決定する優先度決定部と、前記パケット処理部から状態通知信号を受信し、前記受信したパケット信号を処理するパケット処理部を前記優先度と前記状態通知信号とに基づいて指定するスイッチ制御部と、前記スイッチ制御部からの指定に応じてパケット処理部に前記受信したパケット信号を送信するスイッチ部と、を備える。【選択図】図３
2009171408.tif 000002
【特許請求の範囲】
【請求項１】
パケット信号を処理する複数のパケット処理部と、
受信したパケット信号の優先度を決定する優先度決定部と、
前記パケット処理部から状態通知信号を受信し、前記受信したパケット信号を処理するパケット処理部を前記優先度と前記状態通知信号とに基づいて指定するスイッチ制御部と、
前記スイッチ制御部からの指定に応じてパケット処理部に前記受信したパケット信号を送信するスイッチ部と、
を備えるパケット処理装置。
【請求項２】
前記状態通知信号は、各パケット処理部の稼動状態を示す信号であることを特徴とする、請求項１に記載のパケット処理装置。
【請求項３】
前記状態通知信号は、各パケット処理部の負荷状態を示す信号であることを特徴とする、請求項１に記載のパケット処理装置。
【請求項４】
前記スイッチ制御部は、前記状態通知信号に応じて前記優先度を再設定し、前記受信したパケット信号を処理するパケット処理部を前記再設定した優先度に基づいて指定することを特徴とする、請求項１に記載のパケット処理装置。
【請求項５】
受信したパケット信号を処理するパケット処理部を複数のパケット処理部の中から指定するパケット処理方法であって、
パケット信号を受信する受信ステップと、
前記受信したパケット信号の優先度を決定する優先度決定ステップと、
複数のパケット処理部から受信する状態通知信号と前記優先度とに基づいて、前記受信したパケット信号を処理するパケット処理部を指定する指定ステップと、
前記指定されたパケット処理部に前記受信したパケット信号を送信する送信ステップと、
を備えるパケット処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にパケット処理装置、及びパケット処理方法に関する。
【背景技術】
【０００２】
コンピュータネットワークの高度化に伴い、複数の異なるネットワーク間を相互接続するためのルータやＬ３スイッチといったネットワーク機器が広く用いられている。これら機器は、パケットと呼ばれる単位に分割されたデータをネットワーク間で適切な経路に中継する役割を持つ。
【０００３】
例えば通信の品質が重視される場面では、ネットワーク間の経路制御等のパケットの処理は、専用のプロセッサを有するパケット処理装置によって行われる。前述のルータやＬ３スイッチは、そうしたパケット処理装置の一例である。パケット処理装置の有するプロセッサには、前述の経路制御機能だけではなく、処理速度の向上や通信の安全性確保等の観点から、パケットフィルタリング機能、輻輳制御機能等が要求に応じて実装される。
【０００４】
ここで、パケット処理装置へ処理が集中した場合には、通信の品質が低下することが問題となる。これに対し、下記特許文献１では、パケットの暗号化・復号化を行うパケット処理装置において、主制御部に加えてアクセラレータを備え、緊急に処理すべきパケットを判定して優先的に処理させる方法を開示している。
【０００５】
【特許文献１】特開２００７−８８７０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のパケット処理装置では、プロセッサが停止または故障した場合に、データの送受信、即ちストリームが停止してしまうという問題があった。例えば前記特許文献１に記載のパケット処理装置では、パケットの暗号化・復号化処理に特化したアクセラレータを設けているが、このように処理部を機能ごとに分散させて直列的に配置した場合、いずれか１つの処理部の停止または故障によりストリーム全体が停止する可能性がある。複数の処理部を並列的に配置し機能を冗長化して持たせれば、１つの処理部の停止または故障によりストリームが停止することは無いものの、パケットの内容に基づいて処理を分散させるだけでは、処理されるべき優先的なパケットが、処理部、即ちプロセッサの稼動／非稼動や負荷等の状態によって処理されない状況が発生し得る。
【０００７】
本発明は前記問題点に鑑みてなされたものであり、その目的は、パケット処理装置に複数のパケット処理部、即ちプロセッサを備え、どのパケット処理部に処理をさせるかをパケット信号の優先度と各パケット処理部の状態とに基づいて決定することで、パケット処理の全体の負荷を低減し、優先度の高い通信の確実性を向上させることにある。
【課題を解決するための手段】
【０００８】
前記課題を解決するために、本発明のある観点によれば、パケット信号を処理する複数のパケット処理部と、受信したパケット信号の優先度を決定する優先度決定部と、前記パケット処理部から状態通知信号を受信し、前記受信したパケット信号を処理するパケット処理部を前記優先度と前記状態通知信号とに基づいて指定するスイッチ制御部と、前記スイッチ制御部からの指定に応じてパケット処理部に前記受信したパケット信号を送信するスイッチ部と、を備えるパケット処理装置が提供される。
【０００９】
かかる構成によれば、複数のパケット処理部の中から、優先度決定部の決定したパケット信号の優先度と、各パケット処理部から通知される状態とを考慮して、受信したパケット信号を処理するパケット処理部をスイッチ制御部にて指定し、それに応じてスイッチ部がパケット信号を当該パケット処理部へ送信することが可能となる。それにより、パケット処理の負荷が低減され、かつ優先度の高いパケット信号の処理の確実性が向上する。
【００１０】
前記状態通知信号は、各パケット処理部の稼動状態を示す信号であってもよい。稼動状態を示す信号としては、例えば稼働中か非稼動かを示す二値の情報を表す信号を用いることができる。かかる構成によれば、例えば充分な数のパケット処理部が稼働中であればそれらパケット処理部に処理を分散し、限定された数のパケット処理部のみが稼働中であれば優先度の高いパケット信号を優先してそれらパケット処理部に処理させるといったように、パケット処理部の稼動状態に応じてパケット信号の処理を分散することが可能となる。
【００１１】
また、前記状態通知信号は、各パケット処理部の負荷状態を示す信号であってもよい。負荷状態を示す信号とは、例えば非稼動状態以外に、負荷の状態を、負荷無し／低負荷／高負荷などのように複数段階に分けて表現した信号である。かかる構成によれば、例えば負荷の低いパケット処理部に優先度の高いパケット信号を処理させ、それ以外のパケット信号は優先度の高いパケット信号を処理するパケット処理部に処理を集中させないために相対的に負荷の高いパケット処理部に送信し、または廃棄するといったように、パケット処理部の負荷状態に応じてパケット信号の処理を分散することが可能となる。
【００１２】
また、前記スイッチ制御部は、前記状態通知信号に応じて前記優先度を再設定し、前記受信したパケット信号を処理するパケット処理部を前記再設定した優先度に基づいて指定してもよい。かかる構成によれば、各パケット処理部から通知される状態を考慮して決定したパケット信号の取り扱いを再設定した優先度の形式で表すことができ、スイッチ制御部におけるパケット信号の取り扱いの決定が容易となる。
【００１３】
前記課題を解決するために、本発明の別の観点によれば、パケット信号を受信する受信ステップと、前記受信したパケット信号の優先度を決定する優先度決定ステップと、複数のパケット処理部から受信する状態通知信号と前記優先度とに基づいて、前記受信したパケット信号を処理するパケット処理部を指定する指定ステップと、前記指定されたパケット処理部に前記受信したパケット信号を送信する送信ステップと、を備えるパケット処理方法が提供される。
【００１４】
かかる構成によれば、受信したパケット信号の優先度を決定し、それと並行して複数のパケット処理部から状態通知信号を受信し、前記優先度と前記状態通知信号に基づいて受信したパケット信号を処理するパケット処理部を指定して、パケット信号を処理させることが可能となる。それにより、パケット処理の負荷が低減され、かつ優先度の高いパケット信号の処理の確実性が向上する。
【発明の効果】
【００１５】
本発明によれば、パケット処理装置に複数のパケット処理部を備え、どのパケット処理部に処理をさせるかをパケット信号の優先度と各パケット処理部の状態とに基づいて決定することで、パケット処理の全体の負荷を低減し、優先度の高い通信の確実性を向上させることができる。
【発明を実施するための最良の形態】
【００１６】
以下に、添付した図面を参照しながら、本発明の好適な実施形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１７】
図１は、本発明の１つの実施形態に係るパケット処理装置が適用されるネットワーク環境の一例を示している。図１では、パケット処理装置はルータ１０−１、１０−２、１０−３として実装されている。３つのルータはそれぞれ相互に接続している。さらに、ルータ１０−１には送信元ホスト２０、ルータ１０−３には宛先ホスト３０が接続されている。パケット処理装置は、典型的にはパケット信号の配送先に関する経路情報が記載された参照テーブルを有する。パケット処理装置は、パケット信号を受信すると、パケット信号の宛先となるホストのＩＰアドレス等の情報をヘッダから読取り、前述した参照テーブルからパケット信号の適切な転送先経路を選択し、選択した経路へパケット信号を転送する。図１の例では、送信元ホスト２０から宛先ホスト３０へ向けて送信されたパケット信号を受信したルータ１０−１は、宛先ホスト３０へより近い経路を辿ることのできるルータ１０−３との間のネットワークを選択し、パケット信号を転送することができる。
【００１８】
図１に示したルータ１０−１及び他のルータは、あらゆる種類のパケット信号を受信する可能性がある。映像や音声といったデータストリームをリアルタイムに送受信するためのＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）パケット、Ｗｅｂ上のハイパーテキスト等のコンテンツの送受信に用いられるＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）パケットなどはその一例である。ここで、パケット信号の種類によって、パケット処理装置に求められる処理速度やパケット信号が廃棄されることなく正常に処理されるという確実性は一様ではない。例えば、処理が遅延してリアルタイム性が損なわれると利用者に提供される映像や音声の品質が劣化するＲＴＰパケットは、一般的にはより優先して扱うべきパケット信号とみなされる。そのため、図１の各ルータ１０を含むパケット処理装置は、パケット信号ごとに優先度に差をつけてパケット信号の扱いを可変的に調整できることが望ましい。
【００１９】
また、例えば図１のルータ１０−３に通信が集中して許容範囲を超える負荷が掛かり、あるいは故障が生じるなどしてルータ１０−３の機能が停止した場合には、ホスト３０の関与するネットワーク間通信は遮断される。こうした事態を回避するために、ルータ１０−３を含むパケット処理装置の内部において、処理部などの主要な構成要素を冗長的に複数配置してパケット処理装置全体の機能停止のリスクを抑えることが有効である。
【００２０】
図２は、本発明の１つの実施形態に係るパケット処理装置１０の構成の概要を示している。図２を参照すると、パケット処理装置１０は、インターフェース部１０２、ＰＨＹ１０４、ＭＡＣ１０６、ネットワーク検索エンジン１０８、制御部１２０、複数のパケット処理部２００−１〜２００−ｎを備えて構成されている。インターフェース部１０２は、例えば複数のＲＪ４５ポート１〜ｎ、Ｚｏｎｅ２コネクタ１〜ｎを有し、これらのポートを介して外部のネットワークと接続される。また、ＲＪ４５ポート１〜ｎは、ＰＨＹ１０４を介してＭＡＣ１０６と接続される。Ｚｏｎｅ２コネクタ１〜ｎは、ＭＡＣ１０６と直接接続される。ＭＡＣ１０６は制御部１２０と接続される。制御部１２０は、並列に配置された各パケット処理部２００、及びネットワーク検索エンジン１０８に接続される。
【００２１】
外部ネットワークからパケット処理装置１０に届いたパケット信号は、インターフェース部１０２のＲＪ４５ポートを経由し、ＰＨＹ１０４に入力される。ＰＨＹ１０４は、入力された電気信号の物理層での相互変換を行い、所定の規格に基づくパケット信号をＭＡＣ１０６へ出力する。例えばＲＧＭＩＩ（Ｒｅｄｕｃｅｄ  Ｇｉｇａｂｉｔ  Ｍｅｄｉａ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｉｎｔｅｒｆａｃｅ）規格に準拠した信号を、ＰＨＹ１０４の出力信号として用いることができる。ＭＡＣ１０６は、ＰＨＹ１０４から出力されたパケット信号のデータリンク層における処理を行い、所定の規格に基づいて多重化された信号を制御部１２０へ出力する。ＭＡＣ１０６におけるパケット信号の多重化は、例えばＳＰＩ４−２（Ｓｙｓｔｅｍ  Ｐａｃｋｅｔ  Ｉｎｔｅｒｆａｃｅ  Ｌｅｖｅｌ４−Ｐｈａｓｅ２）規格に基づいて行うことができる。なお、インターフェース部１０２に用いるポートはかかる例に限定されず、これら構成の一部を省略し、または他の規格に基づくポートを用いてもよい。
【００２２】
制御部１２０は、例えばプログラミング可能なＬＳＩであるＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）によって実装することができる。制御部１２０は、パケット信号を入力元のインターフェース部１０２の各ポートごとにバッファに蓄積しておき、ラウンドロビン方式で順にネットワーク検索エンジン１０８へ出力する。ネットワーク検索エンジン１０８は、入力されたパケット信号のヘッダ部に含まれるＭＡＣアドレス、ＩＰアドレス、ＴＣＰ／ＵＤＰポート番号等の情報と予め登録されている参照テーブルの情報とを比較し、一致の有無などの比較結果情報を制御部１２０へ出力する。制御部１２０は、ネットワーク検索エンジン１０８から返された比較結果情報をパケット信号に付加し（以下、特殊パケットヘッダという。）、パケット処理部２００−１〜２００−ｎのいずれか１つへ出力する。制御部１２０の構成については、後により詳細に説明する。
【００２３】
パケット処理部２００−１〜２００−ｎは、同質の機能を共通的に有するｎ個のプロセッサである。パケット処理部２００の有する機能には、パケット信号の通信経路を制御するルーティング機能に加えて、パケット信号の通過の許可／遮断を制御するフィルタリング機能、上位プロトコルの種類に基づくパケット転送機能、輻輳制御機能等が含まれる。制御部１２０からパケット信号を受け取ったパケット処理部２００は、パケット信号内のヘッダ、ペイロード情報、及び付加された特殊パケットヘッダに基づいて前述のルーティング等の処理を行い、その結果を制御部１２０へ出力する。
【００２４】
制御部１２０は、パケット処理部２００から出力された処理後のパケット信号について、不要になった特殊パケットヘッダを削除し、例えばＳＰＩ４−２規格に従ってＭＡＣ１０６へ出力する。ＭＡＣ１０６は、制御部１２０から受け取ったパケット信号を、インターフェース部１０２のＺｏｎｅ２コネクタ１〜ｎを介して隣接するネットワークに出力する。ＭＡＣ１０６とＺｏｎｅ２コネクタ１〜ｎとの間でやり取りする信号には、例えばＳｅｒｄｅｓ（Ｓｅｒｉａｌｉｚｅｒ／Ｄｅｓｅｒｉａｌｉｚｅｒ）規格を用いることができる。
【００２５】
図３は、図２に示した制御部１２０の詳細な構成、及び制御部１２０とパケット処理部２００との接続を例示したブロック図である。図３を参照すると、制御部１２０は、バッファ部１３０、検索部１４０、スイッチ部１５０、監視部１６０、優先度決定部１７０、スイッチ制御部１８０、多重化部１９０を備えて構成されている。バッファ部１３０は、分離部１３２、複数のバッファ１３４、及び多重化部１３６を備える。スイッチ部１５０は、分離部１５２、複数のバッファ１５４、多重化部１５６、及びスイッチ１５８を備える。
【００２６】
図３の制御部１２０のバッファ部１３０に図２のＭＡＣ１０６から入力されたパケット信号は、分離部１３２によって、入力元の各インターフェース（ＲＪ４５ポート１〜ｎ、Ｚｏｎｅ２コネクタ１〜ｎ）にそれぞれ対応する複数のバッファ１３４のいずれかに蓄積される。蓄積されたパケット信号は、多重化部１３６によってラウンドロビン方式で多重化され、検索部１４０及び監視部１６０に出力される。検索部１４０は、ネットワーク検索エンジン１０８（図２参照）と入出力を行い、前述した通り、パケット信号のヘッダ部に含まれるＭＡＣアドレス、ＩＰアドレス、ＴＣＰ／ＵＤＰポート番号等と予め登録されている参照テーブルの情報との比較結果情報を得る。検索部１４０は、得られた比較結果情報を特殊パケットヘッダとしてパケット信号に付加し、スイッチ部１５０に出力する。バッファ部１３０には、ここで説明した検索部１４０の一連の処理が終了するまでの間、次に受信するパケット信号が蓄積される。
【００２７】
前述の検索部１４０の一連の処理と並行して、監視部１６０では、バッファ部１３０から出力されたパケット信号のヘッダ情報を抽出する。ここで抽出されるヘッダ情報は、後に続く優先度決定部１７０により決定される優先度のパラメータとなる情報である。例えば、ＴＣＰ／ＵＤＰのポート番号、ＲＴＰパケットの場合にはＲＴＰヘッダに含まれるペイロードタイプなどが抽出される。優先度決定部１７０は、監視部１６０から出力される前記ヘッダ情報等に基づいて、パケット信号の優先度を決定する。
【００２８】
表１には、優先度決定部１７０においてパケット信号ごとに決定した優先度の結果の一例を示している。表１の左端の列に示した入力ポートは、インターフェース部１０２のＲＪ４５ポート１〜ｎ及びＺｏｎｅ２コネクタ１〜ｎに対応する。表１では、計１０個のポートが存在することを前提としている。この例では、優先度決定部１７０は、監視部１６０により抽出された入力ポートごとのパケット信号のパケット種別、プロトコル、ポート番号（ＴＣＰ／ＵＤＰポート番号）、及びペイロードタイプ（ＲＴＰパケットの場合のみ）に基づいて、パケット信号の優先度を、１から６までの１桁の数字で割り当てている。右端の優先度は、数字の大きい順に当該パケットの優先度が高いことを意味する。
【００２９】
【表１】
2009171408.tif 000003
【００３０】
表１の例では、パケット種別がＲＴＰとなっている４つのパケット信号（入力ポート７〜１０）について、相対的に高い優先度（６、５）を割当てている。しかし、優先度決定部１７０における優先度の決定は、かかる例に限定されず、どのような基準で行ってもよい。パケット信号ごとに具体的に割当てる優先度は、本実施形態に係るパケット処理装置１０が使用されるネットワーク環境の目的や利用者の要求に応じて、任意に設定することができる。例えば、音声通信パケットが最も優先されるように高い優先度を付与してもよい。
【００３１】
優先度決定部１７０において割当てられたパケット信号ごとの優先度情報は、スイッチ部１５０内の分離部１５２及びスイッチ制御部１８０に入力される。スイッチ部１５０内の分離部１５２は、優先度決定部１７０から出力されるパケット信号ごとの優先度に応じて、検索部１４０によって特殊パケットヘッダを付与されたパケット信号をバッファ１５４に蓄積する。バッファ１５４は、優先度の値ごとにパケット信号を蓄積するための複数のバッファを含む。例えば、バッファａには優先度高（６、５）、バッファｂには優先度中（４、３）、バッファｃには優先度低（１、２）のパケット信号をそれぞれ蓄積させるように構成してもよい。複数のバッファ１５４により蓄積されたパケット信号は、多重化部１５６によって優先度の高い順に多重化され、スイッチ制御部１８０からの指示に応じて、スイッチ１５８によりパケット処理部２００のいずれかに向けて出力される。
【００３２】
パケット処理装置において、パケット信号ごとに優先度に差をつけて処理内容を可変的に調整できることが望ましいことは既に述べた通りである。しかしながら、処理負荷の低減、処理の確実性の向上を目的とした場合、パケット信号の処理は、パケット信号の内容だけでなく、複数備えた各パケット処理部２００の状態によっても調整し得ることがさらに望ましい。本実施形態では、スイッチ制御部１８０において、各パケット処理部２００の状態を考慮して受信したパケット信号の処理を行うパケット処理部２００を決定する。
【００３３】
スイッチ制御部１８０にて各パケット処理部２００の状態を考慮するために、スイッチ制御部１８０は、各パケット処理部２００から状態通知信号を受信する。状態通知信号とは、例えば各パケット処理部の稼動状態や負荷状態等を表す信号のことである。本実施形態では、スイッチ制御部１８０における状態通知信号の受信は、優先度決定部１７０からの優先度情報の入力と並行して行われる。スイッチ制御部１８０は、優先度決定部１７０からの優先度情報とパケット処理部２００からの状態通知信号に基づいて、各パケット信号をどのパケット処理部２００に処理させるかを決定する。以下、状態通知信号としてパケット処理部２００の稼動状態を示す信号を用いる場合を第１の実施例、パケット処理部２００の負荷状態を示す信号を用いる場合を第２の実施例として、各実施例について説明する。
【００３４】
［第１の実施例］
本実施形態の第１の実施例では、スイッチ制御部１８０は、各パケット処理部２００の稼動状態を示す信号と、パケット信号ごとに割当てられた優先度情報とに基づいて、各パケット信号をどのパケット処理部２００に処理させるかを決定する。各パケット処理部２００の稼動状態を示す信号としては、例えばＳＰＩ４−２の各２ビットのフロー制御信号（ステータス信号［１：０］）を用いることができる。フロー制御信号のＳＹＮＣ  ｓｔａｔｅを示す“１１”が定期的に入力されていれば、当該パケット処理部は正常に稼動していると判定できる。一方、フロー制御信号の“１１”が定期的に入力されていなければ、当該パケット処理部は停止または故障状態にあると判定できる。
【００３５】
なお、各パケット処理部２００の稼動状態を示す信号として、パケット処理部の電源監視信号、または各装置が自身が動作していることを他の装置に知らせるために発信するキープアライブ信号を用いてもよい。
【００３６】
本実施例における状態通知信号は、各パケット処理部２００が正常に稼動しているか停止または故障しているかを示す二値の情報となる。図４は、一例として、パケット処理装置１０が２つのパケット処理部２００−１、２００−２を備えている場合に、各パケット処理部２００の稼動状態（正常稼動：○、非稼動（停止または故障）：×）に応じてパケット信号をどちらのパケット処理部２００に処理させるかを決定するための判定基準を表している。
【００３７】
以下、図４に例示した判定基準の内容について説明する。図４では、優先度決定部１７０によって決定された６段階の優先度について、優先度高（６、５）、優先度中（４、３）、優先度低（２、１）の３つのレベルに分類し、各レベルについてパケット処理部２００−１、２００−２の稼動／非稼動状態（○／×）の４種類の組合せ（○○、○×、×○、××）ごとにパケット信号の転送先を判定している。判定に際しては、特定のパケット処理部に負荷が集中することを避けるために、直前のパケット転送先となったパケット処理部も考慮に入れる。また、一定の条件の下で、パケット信号をパケット処理部２００に転送するのではなく、廃棄することを選択する場合もある。パケット信号を廃棄する場合には、当該パケットの優先度を廃棄を意味するゼロに再設定する。
【００３８】
当初の優先度が高（６、５）であって、２つのパケット処理部２００−１、２００−２が共に正常稼動している場合には、パケット処理部の全体としての負荷を低減するために、パケット信号の処理を両方のパケット処理部に分散させる。図４の場合には、前回のパケット転送先が２００−１であれば２００−２へ、前回のパケット転送先が２００−２であれば２００−１へというように、パケット信号の処理を２つのパケット処理部２００−１と２００−２とで交互に行うこととしている。
【００３９】
当初の優先度が高（６、５）であって、パケット処理部２００−１が正常稼動し、パケット処理部２００−２が非稼動である場合には、優先度の高いパケット信号が正しく処理されるように、パケット信号の転送先をパケット処理部２００−１とする。同様に、パケット処理部２００−２が正常稼動し、パケット処理部２００−１が非稼動である場合には、パケット信号の転送先をパケット処理部２００−２とする。
【００４０】
２つのパケット処理部２００−１、２００−２が共に非稼動である場合には、当初の優先度が高いパケット信号であってもパケット信号を廃棄せざるを得ないため、優先度を廃棄を意味するゼロに再設定する。
【００４１】
本実施例においては、優先度が中（４、３）のパケット信号についてのパケット信号の転送先は、前述した優先度が高（６、５）のパケット信号の転送先と同様の基準で決定される。
【００４２】
当初の優先度が低（２、１）であって、２つのパケット処理部２００−１、２００−２が共に正常稼動している場合には、他の優先度の場合と同様、パケット処理部の全体としての負荷を低減するために、パケット信号の処理を両方のパケット処理部に分散させる。
【００４３】
当初の優先度が低（２、１）であって、いずれか一方のパケット処理部２００が非稼動である場合には、他方のパケット処理部２００にパケット信号を転送すると、当該転送先のパケット処理部２００に処理が集中し、悪化した負荷により優先度の高い他のパケット信号の処理の遅延や廃棄を生じさせる可能性がある。そのため、この場合は優先度の低い（２、１）パケット信号を廃棄するために、優先度をゼロに再設定する。２つのパケット処理部２００−１、２００−２が共に非稼動である場合にも、優先度をゼロに再設定する。
【００４４】
図４に示したような判断基準に応じて各パケット信号の転送先となるパケット処理部２００が決定されると、スイッチ制御部１８０は、当該決定に基づいてスイッチ部１５０のスイッチ１５８へ各パケット信号の転送先を指定する信号を出力する。スイッチ１５８は、多重化部１５６にて当初の優先度の高い順に多重化された各パケット信号を、スイッチ制御部１８０から指定されたパケット処理部２００に送信し、または廃棄が指定された（優先度ゼロが再設定された）場合には廃棄する。
【００４５】
各パケット処理部２００は、送信されたパケット信号について既に述べたルーティング、フィルタリング等の処理を行い、処理後のパケット信号を多重化部１９０へ出力する。多重化部１９０は、入力されたパケット信号をラウンドロビン制御に従って多重化し、不要となったパケット信号の特殊パケットヘッダを削除してＭＡＣ１０６へ出力する。
【００４６】
以上説明した実施例１の構成により、パケット処理部２００の稼動状態を考慮に入れてパケット信号をどのパケット処理部２００に処理させるかを決定することで、複数のパケット処理部が正常稼動している場合には処理を分散させ、限定された数のパケット処理部のみが正常稼働中であれば優先度の高いパケット信号を正常稼働中のパケット処理部に処理させることで、パケット処理装置１０の全体としての負荷を低減し、かつ優先されるべき通信の確実性を向上させることができる。
【００４７】
［第２の実施例］
本実施形態の第２の実施例では、スイッチ制御部１８０は、各パケット処理部２００の負荷状態を示す信号と、パケット信号ごとに割当てられた優先度情報とに基づいて、各パケット信号をどのパケット処理部２００に処理させるかを決定する。各パケット処理部２００の負荷状態を示す信号としては、例えばＳＰＩ４−２の各２ビットのフロー制御信号（ステータス信号［１：０］）を用いることができる。
【００４８】
図５は、ＳＰＩ４−２のフロー制御信号（ステータス信号［１：０］）に基づいて負荷状態を表現した例を示している。ＳＰＩ４−２のフロー制御信号（ステータス信号［１：０］）は、信号に割当てられた２つのビットを用いて、３段階の負荷状態、“００”（Ｓｔａｒｖｉｎｇ）、“０１”（Ｈｕｎｇｒｙ）、及び“１０”（Ｓａｔｉｓｆｉｅｄ）を表す。さらに実施例１のようにステータス信号の入力の無い状態を非稼動とみなすと、パケット処理部２００の負荷状態を、“００”（負荷無し）、“０１”（低負荷）、“１０”（高負荷）、“×”（非稼動）の４段階に識別することができる。
【００４９】
本実施例において、パケット処理装置１０が２つのパケット処理部２００−１、２００−２を備えている場合に、各パケット処理部２００の負荷状態に応じてパケット信号をどちらのパケット処理部２００に処理させるかを決定するための判定基準の例を、図６〜８に示す。
【００５０】
図６は、パケット信号の当初の優先度が高（６、５）である場合の判定基準の例である。
【００５１】
この場合において、２つのパケット処理部２００−１、２００−２の負荷状態が共に負荷無し（“００”）、または共に低負荷（“０１”）である場合には、負荷が一方のパケット処理部に偏らないように、パケット信号の処理を両方のパケット処理部に分散させる。図６の例では、前回のパケット転送先が２００−１であれば２００−２へ、前回のパケット転送先が２００−２であれば２００−１へというように、パケットの処理を交互に行わせることとしている。
【００５２】
パケット処理部２００−１が負荷無し（“００”）であって、パケット処理部２００−２が低負荷（“０１”）、高負荷（“１０”）、非稼動（“×”）のいずれかである場合には、負荷の無いパケット処理部２００−１にパケット信号を処理させるために、転送先をパケット処理部２００−１とする。同様に、パケット処理部２００−２が負荷無し（“００”）であって、パケット処理部２００−１が低負荷（“０１”）、高負荷（“１０”）、非稼動（“×”）のいずれかである場合には、パケット信号の転送先をパケット処理部２００−２とする。
【００５３】
パケット処理部２００−１が低負荷（“０１”）であって、パケット処理部２００−２が、高負荷（“１０”）、非稼動（“×”）のいずれかである場合には、相対的に処理に余裕のあるパケット処理部２００−１にパケット信号を処理させるために、転送先をパケット処理部２００−１とする。同様に、パケット処理部２００−２が低負荷（“０１”）であって、パケット処理部２００−１が、高負荷（“１０”）、非稼動（“×”）のいずれかである場合には、転送先をパケット処理部２００−２とする。
【００５４】
パケット処理部２００−１と２００−２が共に高負荷（“１０”）、またはいずれか一方が高負荷（“１０”）で他方が非稼動（“×”）の場合には、優先度の高いパケット信号は、高負荷のパケット処理部の負荷状態が回復するまで、バッファ１５４に可能な限り蓄積して待機させる。パケット処理部２００−１と２００−２が共に非稼動（“×”）の場合には、優先度を廃棄を意味するゼロに再設定する。
【００５５】
図７は、パケット信号の当初の優先度が中（４、３）である場合の判定基準の例である。
【００５６】
この場合において、２つのパケット処理部２００−１、２００−２の負荷状態が共に負荷無し（“００”）、または共に低負荷（“０１”）である場合には、負荷が一方のパケット処理部に偏らないように、パケット信号の処理を分散させ、両方のパケット処理部に交互に行わせる。
【００５７】
２つのパケット処理部２００の一方が負荷無し（“００”）で他方が低負荷（“０１”）の場合には、図６の例とは異なり、優先度の高いパケット信号を処理する負荷無し（“００”）のパケット処理部２００に処理が集中することを避けるため、この場合もパケット信号の処理を両方のパケット処理部に交互に行わせる。
【００５８】
２つのパケット処理部２００の一方が負荷無し（“００”）または低負荷（“０１”）で他方が高負荷（“１０”）または非稼動（“×”）の場合には、優先度が中（４、３）のパケット信号が処理されずに廃棄される可能性を最小限に抑えるために、パケット信号の転送先を負荷無し（“００”）または低負荷（“０１”）のパケット処理部２００とする。
【００５９】
２つのパケット処理部２００の一方が高負荷（“１０”）で他方が高負荷（“１０”）または非稼動（“×”）の場合には、パケット処理部２００が高負荷状態から回復した際の負荷を低減して優先度の高いパケットの処理を確実に行わせるために、当初の優先度が中程度のパケット信号の優先度を、廃棄を意味するゼロに再設定する。２つのパケット処理部２００−１、２００−２の負荷状態が共に非稼動（“×”）の場合にも、優先度を廃棄を意味するゼロに再設定する。
【００６０】
図８は、パケット信号の当初の優先度が低（２、１）である場合の判定基準の例である。
【００６１】
この場合において、２つのパケット処理部２００−１、２００−２の負荷状態が共に負荷無し（“００”）、または共に低負荷（“０１”）である場合には、負荷が一方のパケット処理部に偏らないように、パケット信号の処理を分散させ、両方のパケット処理部に交互に行わせる。
【００６２】
２つのパケット処理部２００の一方が負荷無し（“００”）で他方が低負荷（“０１”）の場合には、優先度の高いパケット信号を処理する負荷無し（“００”）のパケット処理部２００に負荷を与えないように、パケット信号の転送先を低負荷（“０１”）のパケット処理部２００とする。
【００６３】
２つのパケット処理部２００の一方が負荷無し（“００”）で他方が高負荷（“１０”）または非稼動（“×”）の場合には、優先度の低いパケット信号であっても無用に廃棄されることを避けるため、パケット信号の転送先を負荷無し（“００”）のパケット処理部２００とする。
【００６４】
２つのパケット処理部２００の一方が低負荷（“０１”）で他方が高負荷（“１０”）または非稼動（“×”）の場合、優先度の高いパケット信号の処理を圧迫しないように、当初の優先度が低いパケット信号の優先度を、廃棄を意味するゼロに再設定する。
【００６５】
２つのパケット処理部２００の一方が高負荷（“１０”）で他方が高負荷（“１０”）または非稼動（“×”）の場合には、パケット処理部２００が高負荷状態から回復した際の負荷を低減して優先度の高いパケットの処理を確実に行わせるために、当初の優先度が低いパケット信号の優先度を、廃棄を意味するゼロに再設定する。２つのパケット処理部２００−１、２００−２の負荷状態が共に非稼動（“×”）の場合にも、優先度を廃棄を意味するゼロに再設定する。
【００６６】
図６〜８に示した判定基準に従って各パケット信号の転送先となるパケット処理部２００をスイッチ制御部１８０が決定した後のパケット信号に対する処理の流れは、実施例１について説明した内容と同様である。
【００６７】
以上説明した実施例２の構成により、パケット処理部２００の負荷状態を考慮に入れてパケット信号をどのパケット処理部２００に処理させるかを決定することで、相対的に負荷の低いパケット処理部２００に優先度の高いパケット信号の処理をさせ、負荷の低いパケット処理部２００が複数存在する場合には処理を分散させることができる。また、一部のパケット処理部２００の負荷が増した場合には、パケット信号の優先度とパケット処理部２００の負荷の程度に応じて、転送先のパケット処理部２００を適宜変更し、または優先度の低いパケット信号を廃棄することができる。さらに、負荷の低いパケット処理部２００が存在しない場合には、優先度の高いパケット信号をバッファに蓄積しながら他のパケット信号を廃棄することで、パケット処理部２００の負荷状態の回復を待って優先度の高いパケット信号を処理させることができる。その結果として、パケット処理装置１０の全体としての負荷が低減されると同時に、優先されるべき通信の確実性が向上する。
【００６８】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明は係る例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかである。そして、そうした変更例についても、当然に本発明の技術的範囲に属するものと了解される。
【００６９】
例えば、実施例２において、パケット処理部２００−１と２００−２が共に高負荷（“１０”）、またはいずれか一方が高負荷（“１０”）で他方が非稼動（“×”）の場合には、優先度の高いパケット信号をパケット処理部の負荷状態が回復するまでバッファ１５４に蓄積して待機させることについて説明した。ここで、パケット処理部２００が入力ポートごとに区別された処理領域を有する場合には、優先度の高いパケット信号を待機させる代わりに、負荷状態をパケット処理部２００の入力ポートごとに識別し、比較的負荷の低い状態にある入力ポートを選択して転送してもよい。例えばＳＰＩ４−２のフロー制御信号を用いれば、ステータス信号［１：０］を物理的な入力ポートごとに識別することが可能である。
【００７０】
このとき転送するパケット信号の入力ポート情報の書き換えが必要であれば、書き換えを行ったことを示すフラグと元の入力ポートの識別子とを当該パケット信号に一時的に付与しておき、パケット処理部２００から出力される処理後のパケット信号に対して入力ポートを書き戻してもよい。かかる構成によれば、パケット処理部２００の入力ポートごとの負荷状況に応じて、パケット信号を処理させるパケット処理部２００をより柔軟に決定することができ、優先度の高いパケット信号の処理の確実性がさらに向上する。
【図面の簡単な説明】
【００７１】
【図１】１つの実施形態に係るパケット処理装置１０が適用されるネットワーク環境を示した概念図である。
【図２】１つの実施形態に係るパケット処理装置１０の構成の概要を示すブロック図である。
【図３】図２に示した制御部１２０の詳細な構成、及び制御部１２０とパケット処理部２００との接続を表すブロック図である。
【図４】実施例１におけるパケット信号の転送先の決定方法を例示している。
【図５】ＳＰＩ４−２のフロー制御信号に基づいて負荷状態を表した例を示している。
【図６】実施例２におけるパケット信号の転送先の決定方法を例示している（優先度高の場合）。
【図７】実施例２におけるパケット信号の転送先の決定方法を例示している（優先度中の場合）。
【図８】実施例２におけるパケット信号の転送先の決定方法を例示している（優先度低の場合）。
【符号の説明】
【００７２】
１０      パケット処理装置
１５０    スイッチ部
１７０    優先度決定部
１８０    スイッチ制御部
２００    パケット処理部
【図１】
2009171408.tif 000004
【図２】
2009171408.tif 000005
【図３】
2009171408.tif 000006
【図４】
2009171408.tif 000007
【図５】
2009171408.tif 000008
【図６】
2009171408.tif 000009
【図７】
2009171408.tif 000010
【図８】
2009171408.tif 000011