(57)【特許請求の範囲】
【請求項１】
複数の入力回線と複数の出力回線とを有し、前記入力回線より入力されたパケットを一つ又は複数の前記出力回線に転送するパケット転送装置であって、
パケットの転送を行うためのパケット転送処理部と、
前記パケットのヘッダ情報から該パケットの重要度を判定する重要度判定部と、
前記パケット転送処理部に到着するパケット量をパケットの重要度毎に計測する計測部と、
計測した重要度毎のパケット量に基づいて前記パケット転送処理部に要求するパケット処理性能を判定し、判定されたパケット処理性能に応じて前記パケット転送処理部の処理性能を変更する性能判定部と
を備えるパケット転送装置。
【請求項２】
請求項１記載のパケット転送装置であって、
前記計測部が、前記パケット量として単位時間辺りのパケット数を計測し、前記性能判定部が、前記パケット数に基づいて予測される単位時間辺りのパケット数を前記パケット処理性能として判定することを特徴とするパケット転送装置。
【請求項３】
請求項１記載のパケット転送装置であって、
前記パケット転送処理部が、前記ヘッダ情報より該パケットを転送する出力回線の判定処理、該パケットの転送有無の判定処理、該パケットの転送優先度の判定処理、及び、該パケットの属するフローの統計情報の収集処理の内の一つ又は複数の処理を実施するヘッダ処理部であることを特徴とするパケット転送装置。
【請求項４】
請求項３記載のパケット転送装置であって、
前記ヘッダ処理部が、前記ヘッダ情報を蓄積する重要度毎のキューを備え、
前記ヘッダ処理部が重要度の高いキューに蓄積される前記ヘッダ情報の処理を優先的に行うことを特徴とするパケット転送装置。
【請求項５】
請求項３記載のパケット転送装置であって、
判定されたパケット処理性能に応じて、前記ヘッダ処理部がクロック周波数を変更することで前記ヘッダ処理部の前記パケット処理性能を変更することを特徴とするパケット転送装置。
【請求項６】
請求項３記載のパケット転送装置であって、
前記ヘッダ処理部は、
複数のパケット処理回路と、
判定されたパケット処理性能に応じて、前記複数のパケット処理回路のうち使用するパケット処理回路の数を決定する回路数判定回路と
を有するパケット転送装置。
【請求項７】
請求項６記載のパケット転送装置であって、
使用されない前記パケット処理回路の電源をオフにするパケット転送装置。
【請求項８】
請求項１記載のパケット転送装置であって、
前記計測部が、前記パケット量として単位時間辺りのバイト数を計測し、
前記性能判定部が、前記バイト数に基づいて予測される単位時間辺りのバイト数を前記パケット処理性能として判定することを特徴とするパケット転送装置。
【請求項９】
請求項８記載のパケット転送装置であって、
前記パケット転送処理部が、
前記パケットを蓄積するパケットバッファと、
入力された前記パケットの前記パケットバッファへの書き込みおよび前記パケットバッファからの前記パケットの読み出しを行うパケットバッファアクセス回路と
を有することを特徴とするパケット転送装置。
【請求項１０】
請求項９記載のパケット転送装置であって、
前記パケット転送処理部が、パケットを蓄積する重要度毎のキューをさらに有し、
前記パケットバッファアクセス回路が、重要度の高い前記キューに蓄積されるパケットを読み出して前記パケットバッファに書き込むことを優先的に行うことを特徴とするパケット転送装置。
【請求項１１】
請求項９記載のパケット転送装置であって、
前記パケットバッファアクセス回路が、判定されたパケット処理性能に応じてクロック周波数を変更することで前記パケットバッファアクセス回路が前記パケットバッファへの読み書きの性能を変更することを特徴とするパケット転送装置。
【請求項１２】
請求項１記載のパケット転送装置であって、
前記計測部が、入力回線毎かつ重要度毎に前記パケット量を計測し、
前記性能判定部が、計測した前記パケット量に基づいて、入力回線毎に前記パケット転送処理部に要求する前記パケット処理性能を判定することを特徴とするパケット転送装置。
【請求項１３】
請求項１記載のパケット転送装置であって、
前記計測部が、出力回線毎かつ重要度毎に前記パケット量を計測し、
前記性能判定部が、計測した前記パケット量に基づいて、出力回線毎に前記パケット転送処理部に要求する前記パケット処理性能を判定することを特徴とするパケット転送装置。
【請求項１４】
請求項１記載のパケット転送装置であって、
第１重要度の前記パケット量に基づく第１予測帯域を求める予測部をさらに備え、
前記性能判定部は、第１予測帯域に前記第１重要度のパケットの廃棄を防ぐための第１倍率を乗じた結果を前記パケット処理性能とするパケット転送装置。
【請求項１５】
請求項１記載のパケット転送装置であって、
第１重要度の前記パケット量に基づく第１予測帯域と、第１重要度よりも重要度の低い第２重要度の前記パケット量に基づく第２予測帯域とを求める予測部をさらに備え、
前記性能判定部は、第１予測帯域に前記第１重要度のパケットの廃棄を防ぐための第１倍率を乗じて、第２予測帯域に加算した結果、又は、第１予測帯域に前記第１倍率を乗じた値と、第２予測帯域に前記第１倍率よりも小さい第２倍率を乗じた値とを加算した結果を前記パケット処理性能とするパケット転送装置。
【請求項１６】
請求項１４記載のパケット転送装置であって、
前記計測部が複数回計測した重要度毎のパケット量の履歴を記憶する履歴記憶領域をさらに備え、
前記予測部は、前記履歴記憶領域に記憶された第１重要度の複数のパケット量に基づき第１予測帯域を求めるパケット転送装置。
【請求項１７】
請求項１６記載のパケット転送装置であって、
前記予測部は、複数のパケット量に対し、計測されたタイミングに応じた重みを付けて第１予測帯域を求めるパケット転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット転送装置に係り、特に、省電力にパケットを転送するパケット転送装置に関する。
【背景技術】
【０００２】
インターネットの普及を背景に、構成するルータやスイッチなどのパケット転送装置の高速化が求められている。ルータやスイッチは複数の入力回線と出力回線を備え、パケットが該入力回線より入力すると、ヘッダ内の宛先アドレスから出力回線を判定し（本処理を本願では出力先判定処理と呼ぶ）、該出力回線にパケットを転送する。さらに、ルータやスイッチは該パケットが属する一連のパケット流れであるフローをヘッダより識別し、フロー毎にパケットの通過／廃棄を判定するフィルタリング処理やネットワークにおける優先度の判定処理等（本処理を本願ではフロー処理と呼ぶ）を実施する。
【０００３】
パケット転送装置の高速化には、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などのデバイスの数を多くしたり、その周波数を高くしたりすることが必要となるため、ルータ、スイッチの高速化に伴い、その消費電力が増加する。このため、消費電力を低減し、高速化に伴う電力増加を最小限とすることが求められている。
【０００４】
パケット転送装置の消費電力を低減する実現方式は、例えば、特許文献１に開示されている。本文献のパケット転送装置は、具備する複数の回線のリンク接続の有無を監視し、パケット処理を実施するポート制御回路の電源を、リンク接続が有りの時にＯｎにすると記載されている。処理を実施する必要の無いポート制御回路の電源をＯｆｆすることで、パケット転送装置の消費電力低減が実現される。
【０００５】
パケット転送装置の消費電力を低減する他の実現方式は、例えば、特許文献２に開示されている。本文献のパケット転送は、回線を収容する複数のインタフェースポートと前記インタフェースポートのアクセス状態を監視するアクセス状態監視部と、前記アクセス状態監視部の監視状況に応じて前記各インタフェースポートに通電するか否か定める電源制御部とを備える。アクセスが無いインタフェースポートの電源をＯｆｆすることで、消費電力低減が実現される。
【０００６】
また、消費電力を低減するパケット転送装置の他の実現手段が、特許文献３に開示されている。本文献には「パケット中継処理の実際の処理負荷、および、予測される処理負荷に応じて、高クロック動作と、低クロック動作とを自動的に変更する」ことが記載されている。低負荷時にも高クロック動作する従来のパケット転送装置に対し、低負荷時にクロックを低下させることで、消費電力の削減が実現される。
【特許文献１】特開平１１−８８４５８号公報
【特許文献２】特開平１１−２３４３４４号公報
【特許文献３】特開２００７−２２８４９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１、２記載のパケット転送装置において、ポート回路制御部やインタフェースポートが収容する回線の帯域の一部を使用して通信が行われている場合を考える。この際、入力するパケットの処理を実施するため、ポート回路制御部やインタフェースポートの電源を常にＯｎにせざるを得ない。結果的に必要以上の性能を維持する電力をポート回路制御部やインタフェースポートに供給することとなり無駄な電力を消費するといった課題がある。
【０００８】
一方、特許文献３には、帯域の一部を使用して通信が行われる場合には、低クロック動作とすることで、無駄な電力を削減することが可能と考えられるが、以下の課題がある。
「実際の処理負荷」に基づいて、クロック動作を切り替える場合、一般的にはクロック動作の切り替えに時間が掛かるため、実際の負荷が高くなった時点で高クロック動作とするのでは、パケット処理性能が不足してパケットが廃棄される可能性がある。パケットの中には、廃棄無し、かつ低遅延の通信が必要なパケット（以下、重要パケット）と廃棄や遅延を許容するパケット（以下、非重要パケット）が存在する。前述の廃棄パケットの中には重要パケットが含まれている可能性が有り、特許文献３のパケット転送装置は重要パケットを廃棄してしまう課題がある。
【０００９】
「予測される処理負荷」に基づいてクロック動作を切り替える場合、パケット廃棄を防止するため、一般的には、予測される処理負荷（重要パケットと非重要パケットによる総負荷）の最大値を求め、その値に対応するクロック動作とする必要がある。この際、急激な負荷増加を見込むと、予測される処理負荷が実際の負荷よりも極めて大きくなり、無駄な電力を消費するといった課題がある。
【００１０】
本発明はこれらの課題を解決するために考案されたもので、処理負荷に応じてパケット処理性能を下げることで消費電力化を実現するパケット転送装置において、重要パケットの廃棄を防止しつつパケット処理性能を小さく抑え、更なる省電力化を実現するパケット転送装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
前述した課題を解決するため、本発明のパケット転送装置は、複数の入力回線と複数の出力回線とを有し、前記入力回線よりパケットが入力すると前記パケットを一つ乃至は複数の前記出力回線に転送するパケット転送装置であって、
パケットの転送を行うためのパケット転送処理部と、前記パケットのヘッダ情報から該パケットの重要度を判定する重要度判定部と、パケット転送処理部に到着するパケット量をパケットの重要度毎に計測する計測部と、計測した重要度毎のパケット量に基づいてパケット転送処理部のパケット処理性能を判定する性能判定部を備えることを特徴とする。上記以外の本願が解決しようとする課題、その解決手段は、後で詳述される実施例の説明および図面で明らかにされる。
【００１２】
本発明の解決手段によると、
複数の入力回線と複数の出力回線とを有し、前記入力回線より入力されたパケットを一つ又は複数の前記出力回線に転送するパケット転送装置であって、
パケットの転送を行うためのパケット転送処理部と、
前記パケットのヘッダ情報から該パケットの重要度を判定する重要度判定部と、
前記パケット転送処理部に到着するパケット量をパケットの重要度毎に計測する計測部と、
計測した重要度毎のパケット量に基づいて前記パケット転送処理部に要求するパケット処理性能を判定し、判定されたパケット処理性能に応じて前記パケット転送処理部の処理性能を変更する性能判定部と
を備えるパケット転送装置が提供される。
【発明の効果】
【００１３】
本発明によると、処理負荷に応じてパケット処理性能を下げることで消費電力化を実現するパケット転送装置において、重要パケットの廃棄を防止しつつパケット処理性能を小さく抑え、更なる省電力化を実現するパケット転送装置を提供することができる。
【００１４】
特許文献３に開示された技術では、予測される総パケット量（処理負荷）に基づき、処理性能を判定する必要があるため、総パケット量の最大値以上の値をパケット処理性能として判定する必要があった。一方、本発明によると、パケット転送装置の性能判定部は、重要度毎の予測されるパケット量（処理負荷）に基づいてパケット処理性能を判定可能であり、重要パケットの通信品質を確保するために該パケット処理性能として重要パケットの最大値以上の値をとすれば良いと判断できる。また、前記判定部が該パケット処理性能を重要パケットの最大値以上、総パケット量の最大値未満とすれば、本発明のパケット転送装置は重要パケットの通信品質を確保しつつ、特許文献３に開示された技術のパケット転送装置に比べて消費電力化を実現できる。
【発明を実施するための最良の形態】
【００１５】
以下、本実施の形態を図面を用いて詳述する。
本実施の形態のパケット転送装置の概要動作を図２乃至図７を用いて説明する。図２はパケット転送装置２００のブロック図を示す。
パケット転送装置２００はＮ個のインターフェース部２１０−ｉ（ｉ＝１−Ｎ）と、インターフェース部２１０−ｉが収容するＭ個の入力回線２０１−ｉｊ（ｉ＝１−Ｎ）（ｊ＝１−Ｍ）、出力回線２０２−ｉｊ（ｉ＝１−Ｎ）（ｊ＝１−Ｍ）と、インターフェース部２１０−ｉを結合するパケット中継処理部２５０と、プロセッサ２９０を備える。プロセッサ２９０は外部の制御端末１０と接続され、制御端末１０の指示をインターフェース部２１０に通知したり、インターフェース部２１０の情報を制御端末１０に通知したりする。
【００１６】
図２のパケット転送装置２００のインターフェース部２１０−１は、入力回線２０１−１１と２０１−１２と２０１−１３と２０１−１４と出力回線２０２−１１と２０２−１２と２０２−１３と２０２−１４を収容している。インターフェース部２１０−２は、入力回線２０１−２１と２０１−２２と出力回線２０２−２１と２０２−２２を収容し、インターフェース部２１０−Ｎは、入力回線２０１−Ｎ１と出力回線２０２−Ｎ１を収容している。
【００１７】
インターフェース部２１０−ｉは、パケットの受信処理を行うパケット受信回路２３０と入力側パケットバッファ（ＰＢ）２４０、パケットの送信処理を行うパケット送信回路２７０、出力側パケットバッファ（ＰＢ）２８０、ヘッダ処理部２２０とトラフィック予測／性能判定部１００を有する。
【００１８】
図３は、図２の入力回線２０１−ｉｊ、出力回線２０２−ｉｊから入出力されるパケットのフォーマットの一例を示す。
本パケットのフォーマットはヘッダ部３１０とデータ部３２０を有する。ヘッダ部３１０は、ネットワーク層の送信元アドレス（送信端末のアドレス）である送信元ＩＰアドレス（Ｓｏｕｒｃｅ  ＩＰ  Ａｄｄｒｅｓｓ：以下「ＳＩＰ」という。）３１１と、宛先アドレス（受信端末のアドレス）である宛先ＩＰアドレス（Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ：以下「ＤＩＰ」という。）３１２と、プロトコル（＝上位アプリケーション）を表す送信元ポート（Ｓｏｕｒｃｅ  Ｐｏｒｔ：以下「ＳＰＯＲＴ」という。）３１３及び宛先ポート（Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ：以下「ＤＰＯＲＴ」という。）３１４と、ネットワーク層の転送優先度を表すＤＳＣＰ（Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｃｏｄｅ  Ｐｏｉｎｔ）３１５と、パケット長３１６と、データリンク層の送信元アドレスである送信元ＭＡＣアドレス（Ｓｏｕｒｃｅ  ＭＡＣ  Ａｄｄｒｅｓｓ：以下「ＳＭＡＣ」という。）３１７と、宛先アドレスである宛先ＭＡＣアドレス（Ｄｅｓｔｉｎａｔｉｏｎ  ＭＡＣ  Ａｄｄｒｅｓｓ：以下「ＤＭＡＣ」という。）３１８と、データリンク層の転送優先度を表すイーサ優先度（Ｕｓｅｒ  Ｐｒｉｏｒｉｔｙ：以下「ＵＰＲＩ」という。）３１９を有する。また、データ部３２０はユーザデータ３２１を含む。
【００１９】
図４は、図２のパケット転送装置（ノード）２００内部のパケットフォーマット例を示す。
本フォーマットは前述のフォーマットに内部ヘッダ部３３０をさらに備える。この内部ヘッダ部３３０は、パケットが入力された入力回線２０１の識別番号である入力回線番号３３１と、パケットが出力される出力回線２０２の識別番号である出力回線番号３３２と、パケットの送信優先度を表すＱｏＳ情報３３３と、パケットの重要度を表し転送装置２００内の処理の優先度を示す重要度３３４を有する。
【００２０】
図５にパケット受信回路２３０の構成図を示す。
パケットが入力回線２０１より入力すると図２のパケット受信回路２３０が該パケットを受信する。まず、パケット受信回路２３０の内部ヘッダ付加回路２３１は、入力回線番号を含む内部ヘッダ部３３０を付加して本パケットを重要度判定部２３２に送信する。
【００２１】
重要度判定部２３２が該パケットを受信すると、重要度判定用テーブル６００を読み出す。テーブル６００の一例を図７に示す。テーブル６００は重要度毎にパケットの条件を記載するエントリ６１０を備える。図７のテーブル６００の例では、重要度として、重要と非重要の２つの重要度が定義され、判定する条件としてヘッダ部３１０のＤＳＣＰ３１５およびＵＰＲＩ３１９の場合が記載されている。重要度判定部２３２は、入力されたパケットのヘッダ情報２１内のＤＳＣＰ３１５およびＵＰＲＩ３１９と読み出したエントリ６１０の値とを比較する。重要度判定部２３２は、一致したエントリ６１０に対応する重要度を内部ヘッダ部３３０の重要度３３４に書き込み、ヘッダ部３１０のパケット長３１６と内部ヘッダ部３３０の入力回線番号３３１と出力回線番号３３２をパケット長情報２９としてトラフィック予測／性能判定部１００に送信する。なお、パケット受信回路２３０においては、出力回線番号３３２は、まだデータが入っていない。
【００２２】
パケット受信回路２３０は、重要パケット用のキュー２３６と非重要パケット用のキュー２３７を備えており、重要度判定部２３２は判定した重要度に対応するキューにパケットを送信する。
ＰＢアクセス回路２３３は、重要パケット用のキュー２３６にパケットが存在する場合、キュー２３６からパケットを読み出して入力側パケットバッファ２４０に該パケットを書き込む。一方、存在しないときには非重要パケット用のキュー２３７からパケットを読み出しバッファ２４０に書き込む。
【００２３】
ＰＢアクセス回路２３３は、トラフィック予測／性能判定部１００が送信する後述の性能情報３１に基づいた性能で動作しているが、該情報の値が入力回線２０１より入力するパケットの帯域より小さいと、到着したパケットが廃棄されてしまう。キュー２３６および２３７は、この様なパケット廃棄を防止するために備えたバッファである。しかしながら、長期間に渡って入力パケットの帯域が書き込み帯域より小さい状態が続くとキューが溢れパケット廃棄や遅延が発生する。このため、重要パケットのパケット廃棄や遅延を防止するため、ＰＢアクセス回路２３３は重要パケット用キュー２３６のパケットをより優先的に入力側パケットバッファ２４０に書き込んでいる。
ＰＢアクセス回路２３３は、パケットが蓄積された順序を重要度毎に管理し、より重要度が高いパケットであって最も順序が早いパケットのヘッダ部３１０と入力回線番号３３１を読み出し、ヘッダ情報２１としてヘッダ処理部２２０に送信する。
【００２４】
ヘッダ処理部２２０内の入力側ヘッダ処理部２２１は、前記ヘッダ情報２１内のＳＩＰ３１１、ＤＩＰ３１２、ＳＰＯＲＴ３１３、ＤＰＯＲＴ３１４、ＤＳＣＰ３１５、ＳＭＡＣ３１７、ＤＭＡＣ３１８、ＵＰＲＩ３１９より入力したパケットの出力回線番号を判定する出力先判定処理やパケットが属するフローを判定し、該フローのフィルタ情報、ＱｏＳ情報を決定したり、フロー毎に入力パケットをカウントしたりするフロー処理を実施する。その後、入力側ヘッダ処理部２２１は判定された出力回線番号を含む出力回線情報２２とフィルタ情報、ＱｏＳ情報を含むフロー情報２３をパケット受信回路２３０に送信する。
【００２５】
入力側ヘッダ処理部２２１は、後述のパケット性能情報２７に基づいた性能で動作している。ヘッダ情報２１の入力が入力側ヘッダ処理部２２１の性能よりも高くなる場合に備えて、入力側ヘッダ処理部２２１は内部に重要度毎のキューを備え、重要パケット用のキューのヘッダ情報２１を優先的に読み出して、出力先判定処理とフロー処理を実施する。この重要パケットの優先的な処理を実施することで、重要パケットのキューに多くのヘッダ情報２１が蓄積されることを防止し、重要パケットの通信品質を確保する。入力側ヘッダ処理部２２１の詳細動作については後述する。
【００２６】
フロー情報２３内のフィルタ情報が「転送」の場合、パケット受信回路２３０のＰＢアクセス回路２３３は、出力回線情報２２内の出力回線番号とフロー情報２３内のＱｏＳ情報を、入力側パケットバッファ２４０内に蓄積されているパケットのそれぞれ出力回線番号３３２とＱｏＳ情報３３３のフィールドに書き込む。入力側パケットバッファ２４０は、重要度毎に出力回線番号とＱｏＳ情報３３３が書き込まれたパケットの順番も管理し、重要パケットの通信品質を確保するために、より重要度の高いパケットのうち、書き込まれた順序が最も早いパケットを読み出してパケット中継処理部２５０へ送信する。一方、フロー情報２３内のフィルタ情報が「廃棄」の場合には、蓄積されているパケットを廃棄する。
該パケットを受信したパケット中継処理部２５０は、出力回線番号３３２に対応するインターフェース部２１０−ｉのパケット送信回路２７０に受信したパケットを送信する。
【００２７】
出力先判定処理やフロー処理と並行してトラフィック予測／性能判定部１００は、パケット長情報２９に基づき、入力回線２０１より入力したパケットの一秒あたりのビット数である帯域（ｂｐｓ：ｂｉｔｓ  ｐｅｒ  ｓｅｃ）および一秒あたりのパケット数であるパケット帯域（ｐｐｓ：ｐａｃｋｅｔｓ  ｐｅｒ  ｓｅｃ）を測定し、測定した帯域やパケット帯域に基づき未来の帯域やパケット帯域を予測する。さらに、トラフィック予測／性能判定部１００は、これらの予測値から入力側ヘッダ処理部２２１のパケット性能（ｐｐｓ）およびパケット受信回路２３０の性能（ｂｐｓ）を判定する。トラフィック予測／性能判定部１００は、判定したパケット性能（ｐｐｓ）をパケット性能情報２７としてヘッダ処理部２２０に送信し、判定した性能（ｂｐｓ）を性能情報３１としてパケット受信回路２３０に送信する。
【００２８】
パケット性能情報２７を受信した入力側ヘッダ処理部２２１は、受信した情報２７に従い、出力先判定処理やフロー処理の性能を変更する。一方、性能情報３１を受信したパケット受信回路２３０のＰＢアクセス回路２３３は該性能情報３１に応じてＰＢアクセス回路の動作クロックを変更する。例えば、ＰＢアクセス回路が１００Ｍｈｚの動作クロックで動作する時に、入力回線２０１から入力するパケットを１０Ｇｂｐｓで入力側パケットバッファ２４０に書き込み、パケット中継処理部２５０へ読み出し可能な場合を考慮する。この際、性能判定部１００より４．５Ｇｂｐｓの性能指示がある際には、ＰＢアクセス回路２３３は、例えば４５Ｍｈｚで動作することになる。入力側ヘッダ処理部２２１の性能変更方法も同様に実施できる。例えば、入力側ヘッダ処理部２２１が１００Ｍｈｚの動作クロックで動作する時に、１５Ｍｐｐｓで出力先判定処理とフロー処理を実施することが出来る場合、性能判定部１００より１２Ｍｐｐｓの性能指示がある際には、例えば８０Ｍｈｚで動作することになる。なお、入力側ヘッダ処理部２２１の他の性能変更方法は後述する。
【００２９】
図６に、パケット中継処理部２５０が送信したパケットを受信し、該パケットを出力回線２０２に送信するパケット送信回路２７０の構成図示す。
パケット送信回路２７０は、例えば、重要度判定部２７４と、重要度毎のキュー２７１、２７２と、パケットバッファ（ＰＢ）アクセス回路２７３と、送信回路２７５とを有する。
【００３０】
重要度判定部２７４はパケット中継処理部２５０よりパケットを受信すると、内部ヘッダ部３３０内の重要度３３４を参照し、対応するキュー（キュー２７１またはキュー２７２）にパケットを送信する。また、ヘッダ部３１０のパケット長３１６と出力回線番号３３２をパケット長情報２９としてトラフィック予測／性能判定部１００に送信する。また、それぞれのキューは受信したパケットを格納する。
【００３１】
ＰＢアクセス回路２７３は、重要パケット用キュー２７１のパケットを優先的に読み出して出力側パケットバッファ２８０へ書き込む。パケット中継処理部２５０より入力するパケットの帯域が出力側パケットバッファ２８０に書き込む帯域より大きい場合が存在するが、キュー２７１および２７２がパケットを一旦蓄積することでパケット廃棄を防止する。さらに、ＰＢアクセス回路２７３が重要パケットを優先的に処理することで重要パケットに本回路２７３の性能を優先的に割り当てる。
【００３２】
ＰＢアクセス回路２７３は、パケットが出力側パケットバッファ２８０に蓄積された順序を重要度毎に管理し、出力側パケットバッファ２８０に最も早く蓄積されたパケットのヘッダ部３１０の全情報と出力回線番号３３２を読み出して、ヘッダ情報２５としてヘッダ処理部２２０に送信する。
【００３３】
ヘッダ処理部２２０の出力側ヘッダ処理部２２２は、前記ヘッダ情報２５内のＳＩＰ３１１、ＤＩＰ３１２、ＳＰＯＲＴ３１３、ＤＰＯＲＴ３１４、ＤＳＣＰ３１５、ＳＭＡＣ３１７、ＤＭＡＣ３１８、ＵＰＲＩ３１９より入力したパケットが属するフローを検出し、フィルタ情報、ＱｏＳ情報の決定、およびフロー毎に入力パケットをカウントするフロー処理を実施する。その後、出力側ヘッダ処理部２２２は判定されたフィルタ情報、ＱｏＳ情報を含むフロー情報２６をパケット送信回路２７０に送信する。ヘッダ情報２５の入力が出力側ヘッダ処理部２２２の性能よりも高くなる場合に備えて、出力側ヘッダ処理部２２２は内部に重要度毎のキューを備え、重要パケット用のキューより優先的とフロー処理を実施する。この重要パケットの優先的な処理を実施することで、重要パケットのキューに多くのヘッダ情報２５が蓄積されることを防止し、重要パケットの通信品質を確保する。出力側ヘッダ処理部２２２の詳細動作については後述する。
【００３４】
フロー情報２６内のフィルタ情報が「転送」の場合、ＰＢアクセス回路２７３はフロー情報２６内のＱｏＳ情報を、出力側パケットバッファ２８０内に蓄積されているパケットのＱｏＳ情報３３３のフィールドに書き込む。一方、フロー情報２６内のフィルタ情報が「廃棄」の場合には、ＰＢアクセス回路２７３は蓄積されているパケットを廃棄する。さらに、ＰＢアクセス回路２７３は、既にフロー情報２６によるＱｏＳ情報の書き込みが終了したパケットの書き込まれた順序を重要度毎に管理し、より重要度の高いパケットの最も順序が早いパケットを出力側パケットバッファ２８０より読み出して送信回路２７５に送信する。送信回路２７５は該パケットの出力回線番号３３２のフィールドに記載される値に対応する出力回線２０２−ｉｊへ該パケットを送信する。
【００３５】
このフロー処理と並行して、トラフィック予測／性能判定部１００は、パケット長情報３０に基づき、パケット中継処理部２５０より入力したパケットの帯域（ｂｐｓ）とパケット帯域（ｐｐｓ）を測定し、測定した帯域やパケット帯域に基づき未来の帯域やパケット帯域を予測する。さらに、これらの予測値から出力側ヘッダ処理部２２２のパケット性能（ｐｐｓ）およびパケット送信回路２７０の性能（ｂｐｓ）を判定し、判定したパケット性能（ｐｐｓ）をパケット性能情報２８としてヘッダ処理部２２０に、判定した性能（ｐｐｓ）を性能情報３２としてパケット送信回路２７０に送信する。
【００３６】
パケット性能情報２８を受信した出力側ヘッダ処理部２２２は、受信した情報２８に従い、フロー処理の性能を変更する。クロック周波数の変更による性能の変更に関しては入力側ヘッダ処理部２２１と同一である。なお、他の出力側ヘッダ処理部２２２の性能変更方法の詳細は後述する。一方、性能情報３２を受信したパケット送信回路２７０のＰＢアクセス回路２７３と送信回路２７５は、該情報３２に応じてクロック周波数を調整する。
【００３７】
図１は、トラフィック予測／性能判定部１００の構成図である。次に図１を用いてトラフィック予測／性能判定部１００の詳細について説明する。
トラフィック予測／性能判定部１００は、入力側トラフィック予測／性能判定部１０００と出力側トラフィック予測／性能判定部２０００を備える。入力側トラフィック予測／性能判定部１０００は、パケット受信回路２３０と入力側ヘッダ処理部２２１の性能判定を実施し、判定した性能をパケット受信回路２３０と入力側ヘッダ処理部２２１に通知する。一方、出力側トラフィック予測／性能判定部２０００は、パケット送信回路２７０と出力側ヘッダ処理部２２２の性能判定を実施し、判定した性能をパケット送信回路２７０と出力側ヘッダ処理部２２２に通知する。
【００３８】
入力側トラフィック予測／性能判定部１０００は、例えば、パケット受信回路２３０が受信したパケットの帯域（ｂｐｓ）とパケット帯域（ｐｐｓ）を、パケット長情報２９に基づき、重要度に応じて計測するための計測部１１００と、計測用テーブル４００と、タイマー１４００と、タイマー値の閾値（ＴＨＲ（ｓｅｃ）を蓄積する閾値蓄積部１５００と、計測した帯域（ｂｐｓ）とパケット帯域（ｐｐｓ）に基づいて未来の帯域（ｂｐｓ）とパケット帯域（ｐｐｓ）を重要度毎に予測する予測部１２００と、履歴テーブル７００と、予測した重要度毎の帯域（ｂｐｓ）とパケット帯域（ｐｐｓ）に基づいてパケット受信回路２３０と入力側ヘッダ処理部２２１の性能判定を実施する性能判定部１３００と、性能判定用ポリシ蓄積手段５００とを有する。
【００３９】
図９に、計測用テーブル４００の一例を示す。
テーブル４００は、重要度毎に、受信したバイト数とパケット数を格納するエントリ４１０を備える。計測部１１００は、パケット長情報２９を受信すると受信した情報２９の重要度３３４に対応するエントリ４１０を計測用テーブル４００より読み出し、バイト数にパケット長３１６の値を、パケット数に「１」を加えて、計測用テーブル４００に書き戻す。
【００４０】
また、計測部１１００は、タイマー１４００の値が閾値蓄積部１５００の閾値を越えると、計測用テーブル４００の全エントリ４１０の値を読み出し、閾値ＴＨＲで除算した値（ここではｂｐｓ、ｐｐｓ）を予測部１２００に通知し、全エントリ４１０に「０」を書き込む。
【００４１】
閾値蓄積部１５００の閾値の設定は、外部の制御端末１０より実施されることができる。パケット転送装置２００の管理者が制御端末１０に閾値を入力すると、その値がプロセッサ２９０に送信される。プロセッサ２９０は、計測部１１００に対して書き込み命令と該閾値を送信し、計測部１１００は受信した閾値を閾値蓄積部１５００に書き込む。
【００４２】
図１０に、予測部１２００の詳細構成図を示す。
予測部１２００は、例えば、制御部１２１０と、履歴テーブル７００の書き込みアドレスを蓄積する履歴テーブルポインタ蓄積部１２４０と、予測トラフィック計算部１２５０を備える。なお、履歴テーブル７００の書き込みアドレスはパケット転送装置２００の装置起動時に「１」に初期設定される。
【００４３】
図１１に、履歴テーブル７００の構成の一例を示す。
本テーブル７００は、重要度毎に帯域（ｂｐｓ）とパケット帯域（ｐｐｓ）を記載するそれぞれｎ個のエントリ７１０を有する。制御部１２１０は、計測部１１００が送信した重要パケットの帯域（ｂｐｓ）とパケット帯域（ｐｐｓ）の情報を前記書き込みアドレスに対応するエントリ７１０に書き込み、非重要パケットの帯域（ｂｐｓ）とパケット帯域（ｐｐｓ）の情報を前記書き込みアドレスにｎを加えた値に対応するエントリ７１０に書き込む。さらに書き込みアドレスに１を加え、加算後の値がｎ以下であればその値を、ｎ＋１となれば１を書き込みアドレスとして、履歴テーブルポインタ蓄積部１２４０に再設定する。制御部１２１０がこの再設定動作と該アドレスに従った書き込みを実施することで、帯域（ｂｐｓ）とパケット帯域（ｐｐｓ）の情報の内、最新のｎ個の情報をテーブル７００に蓄積できる。
【００４４】
次に、前述の書き込み処理が終了すると制御部１２１０は履歴テーブル７００より全てのエントリ７１０を読み出して、予測トラフィック計算部１２５０に送信する。計算部１２５０は受信した情報に基づいて、現時刻（＝最新のエントリ７１０を書き込んだ時刻）のα秒後からＴＨＲ＋α秒後の間にパケット受信回路２３０が受信するパケットの帯域（ｂｐｓ）およびパケット帯域（ｐｐｓ）を重要度毎に計算する。ここでαとは、パケット受信回路２３０、パケット送信回路２７０およびヘッダ処理部２２０が性能の通知から実際に性能変更に要する時間である。
【００４５】
その計算の位置づけを表した図を、図１２に示す。なお、ここでは現時刻に書き込んだ最新のエントリ７１０をエントリ１、エントリ１よりＴＨＲ前に書き込んだエントリ７１０をエントリ２とする。エントリ１およびエントリ２はその前のエントリが書き込まれた時刻からの平均帯域あるいは平均パケット帯域に対応しており、図１２には実線で記載されている。計算部１２５０の計算は図１２の網がけの時間の平均帯域あるいは平均パケット帯域を計算することに相当する。
【００４６】
まず、計算部１２５０が、各重要度の帯域を重要度に応じた２つエントリ７１０を用いて計算する場合について説明する。この際、ｎエントリ７１０の内、最も遅く更新された最新の２つのエントリ７１０の情報を使用することが考えられる。重要パケットの場合には、最新の２つのエントリ７１０は履歴テーブルポインタ蓄積部１２４０内の書き込みアドレスから１減算したアドレスに対応するエントリ７１０（エントリ１＿重要と記載）と、２減算したアドレスに対応するエントリ７１０（エントリ２＿重要と記載）である。但し、減算したアドレスが０、−１となる場合にはそれぞれアドレスｎ、ｎ−１のエントリ７１０となる。なお、エントリｉ＿重要（ｉ＝１ｏｒ２）内の帯域（ｂｐｓ）、パケット帯域（ｐｐｓ）をそれぞれ帯域ｉ＿重要、パケット帯域ｉ＿重要と記載する。一方、非重要パケットの場合には、書き込みアドレスから１減算したアドレスと２減算した値にｎを加えた値に対応するエントリ７１０（それぞれエントリ１＿非重要、エントリ２＿非重要と記載する）となる。但し、減算したアドレスがｎ、ｎ−１となる場合にはそれぞれアドレス２ｎ、２ｎ−１のエントリ７１０となる。なお、エントリｉ＿非重要（ｉ＝１ｏｒ２）内の帯域（ｂｐｓ）、パケット帯域（ｐｐｓ）をそれぞれ帯域ｉ＿非重要、パケット帯域ｉ＿非重要と記載する。
【００４７】
これらの情報を使用し、エントリ１を書き込んだ時刻のα秒後からＴＨＲ＋α秒後の間の重要パケットおよび非重要パケットの予測帯域およびパケット帯域を以下の通り計算する。
重要パケットの予測帯域（ｂｐｓ）
＝（帯域１＿重要−帯域２＿重要）（ＴＨＲ＋α）／ＴＨＲ＋帯域１＿重要      ・・・式１
重要パケットの予測パケット帯域（ｐｐｓ）
＝（パケット帯域１＿重要−パケット帯域２＿重要）（ＴＨＲ＋α）／ＴＨＲ＋パケット帯域１＿重要      ・・・式２
非重要パケットの予測帯域（ｂｐｓ）
＝（帯域１＿非重要−帯域２＿非重要）（ＴＨＲ＋α）／ＴＨＲ＋帯域１＿非重要      ・・・式３
非重要パケットの予測パケット帯域（ｐｐｓ）
＝（パケット帯域１＿非重要−パケット帯域２＿非重要）（ＴＨＲ＋α）／ＴＨＲ＋パケット帯域１＿非重要      ・・・式４
【００４８】
一例として、この計算では２つのエントリ７１０が格納される時間差であるＴＨＲ間の帯域（ｂｐｓ）あるいはパケット帯域（ｐｐｓ）の増減が、最新のエントリ７１０が格納された時刻から経過した時間に比例してＴＨＲ＋α秒後まで継続すると考えている。
【００４９】
次に、ｎ個のエントリ７１０の全てを使用して現時刻のα秒後からＴＨＲ＋α秒後の間の帯域およびパケット帯域を予測する場合を説明する。この際、エントリｉ＿重要（ｉ＝１〜ｎ）の帯域（ｂｐｓ）とパケット帯域（ｐｐｓ）である帯域ｉ＿重要およびパケット帯域ｉ＿重要と、エントリｉ＿非重要（ｉ＝１〜ｎ）の帯域（ｂｐｓ）とパケット帯域（ｐｐｓ）である帯域ｉ＿非重要およびパケット帯域ｉ＿非重要を用いて、例えば、以下の様に計算する。なお、ここでｉ、ｎは正の整数であり、エントリ７１０がテーブル７００に格納された順番を表している。
重要パケットの予測帯域（ｂｐｓ）
＝Σ（（帯域ｉ＿重要−帯域（ｉ＋１）＿重要）×２（ｎ−ｉ）／（ｎ＋１）ｎ×（ＴＨＲ＋α）／ＴＨＲ）＋帯域１＿重要      ・・・式５
非重要パケットの予測帯域（ｂｐｓ）
＝Σ（（帯域ｉ＿非重要−帯域（ｉ＋１）＿非重要）×２（ｎ−ｉ）／（ｎ＋１）ｎ×（ＴＨＲ＋α）／ＴＨＲ）＋帯域１＿非重要      ・・・式６
重要パケットの予測パケット帯域（ｐｐｓ）
＝Σ（（パケット帯域ｉ＿重要−パケット帯域（ｉ＋１）＿重要）×２（ｎ−ｉ）／（ｎ＋１）ｎ×（ＴＨＲ＋α）／ＴＨＲ）＋パケット帯域１＿重要      ・・・式７
非重要パケットの予測パケット帯域（ｐｐｓ）
＝Σ（（パケット帯域ｉ＿非重要−パケット帯域（ｉ＋１）＿非重要）×２（ｎ−ｉ）／（ｎ＋１）ｎ×（ＴＨＲ＋α）／ＴＨＲ）＋パケット帯域１＿非重要      ・・・式８
【００５０】
ここでΣは、ｉを１からｎ−１まで変化させた際のΣが掛かる項の総和を表す。
式５〜８の計算では、エントリｉとエントリｉ＋１の増減にｎ−ｉの重みを持たせることで、最近の増減に大きな重みを持たせている。
【００５１】
予測トラフィック計算部１２５０は、前述の式に従い計算した重要度毎の帯域とパケット帯域を性能判定部１３００に送信することとなる。
性能判定部１３００は予測した帯域とパケット帯域を受信すると、性能判定用ポリシ蓄積手段５００に蓄積される計算方法に従い、性能を計算する。性能判定部１３００の計算を図１３を用いて説明する。図１３は予測トラフィックの帯域（ｂｐｓ）あるいは該帯域に基づき判定した性能（ｂｐｓ）の時間変化を記載したグラフである。斜線部が重要パケットの予測帯域、網がけ部が非重要パケットの予測帯域を表している。ここで、重要パケットの帯域の最大帯域が予測帯域の１．５倍であり、相当する性能が確保されれば、重要パケットの遅延やパケット廃棄率などの通信品質が確保されるとする。この際、余分に必要な帯域（本ケースでは予測帯域の０．５倍分）は予測トラフィック量の揺らぎ（分散）に依存して決まる量である。重要度毎に帯域を予測せず、重要パケットと非重要パケットの総帯域（ｂｐｓ）を予測する場合、総帯域の内の重要パケットの帯域が不明となる。このため、重要パケットの通信品質を確保するためには、総帯域の全てが重要パケットの帯域と仮定して性能を予測する必要がある。即ち、重要パケットと非重要パケットの総和の１．５倍の帯域を予測性能（図１３の破線で記載）と見積もることとなる。
【００５２】
一方、本実施の形態の予測部１２００では重要パケット個別の帯域が予測される。また、パケット受信回路２３０のＰＢアクセス回路２３３、およびパケット送信回路２７０のＰＢアクセス回路２７３においては重要パケットの処理が優先的に実行される。このため、性能判定部１３００は、重要パケットの通信品質を確保するために、重要パケットの予測帯域の１．５倍を予測性能と判定すれば良い。この性能は、ＰＢアクセス回路２３３および２７３にて優先的に重要パケットに割り当てられることとなる。
【００５３】
ＰＢアクセス回路２３３から入力側パケットバッファ２４０に書き込む帯域の重要パケットへの優先的な割り当ては、パケット受信回路２３０が重要パケット用キュー２３６と非重要パケット用キュー２３７を備え、ＰＢアクセス回路２３３が優先的にキュー２３６からパケットを入力側パケットバッファ２４０に書き込むことで実現される。また、ＰＢアクセス回路２３３が入力側パケットバッファ２４０から読み出す帯域に関しては、ＰＢアクセス回路２３３が重要度毎に出力回線番号とＱｏＳ情報３３３が書き込まれたパケットの順番も管理し、より重要度の高いパケットのうち最も順序が早いパケットを読み出すことで実現される。
【００５４】
一方、ＰＢアクセス回路２７３から出力側パケットバッファ２８０に書き込む帯域の重要パケットへの優先的な割り当ては、パケット送信回路２７０が重要パケット用キュー２７１と非重要パケット用キュー２７２を備え、ＰＢアクセス回路２７３が優先的にキュー２７１からパケットを出力側パケットバッファ２８０に書き込むことで実現される。また、また、ＰＢアクセス回路２７３から読み出す帯域に関しては、ＰＢアクセス回路２７３が重要度毎にＱｏＳ情報３３３が書き込まれたパケットの順番を管理し、より重要度の高いパケットのうち最も順序が早いパケットを読み出すことで実現される。
【００５５】
この様に本実施の形態のトラフィック予測／性能判定部１００は総帯域に基づき性能を予測する場合に比べて、非重要パケットの予測トラフィックの１．５倍分だけ性能を小さく見積もることが可能となる（図１３参照）。このため、本実施の形態のトラフィック予測／性能判定部１００を備えるパケット転送装置２００は、総帯域に基づいて性能を判定する場合に比べて、重要パケットの通信品質を維持しつつ消費電力を低く抑えることが可能となる。
【００５６】
以上では予測性能を重要パケットの１．５倍と判定したが、１．５倍以上（又は以下）の性能と判定しても良い。重要パケットの予測帯域の１．５倍とした場合には、予測帯域の１．５倍の帯域で重要パケットが長時間入力すると、非重要パケットの出力先判定処理やフロー処理が行われず、非重要パケットが転送されないことも考えられる。予測帯域の１．５倍以上とすれば、非重要パケットの転送をある程度確保することが可能となる。例えば、次式に基づいて計算する。この計算式は制御端末１０よりプロセッサ２９０経由で性能判定用ポリシ蓄積手段５００設定される。計算時には、判定部１３００が蓄積手段５００の情報を読み出して計算する。
性能（ｂｐｓ）＝重要パケットの予測帯域（ｂｐｓ）×１．５＋非重要パケットの予測帯域（ｂｐｓ）×１．０    ・・・式９
【００５７】
式９では非重要パケットの帯域（ｂｐｓ）の１．０倍分の帯域が加算されている。重要パケットの帯域が１．５倍以内に収まっていれば、非重要パケット用の帯域として予測帯域分の帯域は確保される。
【００５８】
一般的に重要パケットに対して非重要パケットの帯域は大きく、非重要パケットのための予測性能を大きくすることは無駄が発生する可能性が高い。さらに、通信品質を完全に確保するためには、急な帯域増加に対応するため予測帯域に対する性能を極端に大きくせざるを得ない場合がある。今回の例では余分に０．５倍分の性能を考慮しているが、さらに大きくなることも考えられる。そのため、非重要パケットの帯域を確保する場合には、非重要パケットの予測帯域の１．５倍の性能とするのではなく、１．０倍あるいはその近辺の倍率とすることが望ましい。この様な性能判定を実施するために非重要パケットの帯域を予測することも必要となる。
【００５９】
以上では、帯域（ｂｐｓ）について考慮したが、パケット帯域（ｐｐｓ）であっても同様である。入力側トラフィック予測／性能判定部１０００の性能判定部１３００が重要パケットの予測パケット帯域（ｐｐｓ）の１．５倍分を入力側ヘッダ処理部２２１の性能と判定し、出力側トラフィック予測／性能判定部２０００の性能判定部１３００が重要パケットの予測パケット帯域（ｐｐｓ）の１．５倍分を出力側ヘッダ処理部２２２の性能と判定すれば良い。
【００６０】
これは、入力側ヘッダ処理部２２１と出力側ヘッダ処理部２２２が重要パケット用のキューと非重要パケット用のキューを備え、重要パケットのキューのパケットの出力先判定処理やフロー処理を優先的に実施するため、重要パケットに予測パケット帯域（ｐｐｓ）の１．５倍分のパケット帯域が確実に割り当てられるためである。なお、入力側ヘッダ処理部２２１と出力側ヘッダ処理部２２２の詳細については後述する。
【００６１】
図１９に、性能判定を行う別のトラフィック予測／性能判定部１９００の構成図を示す。判定部１９００は、計測した帯域、パケット帯域から直接、性能を判定する。
判定部１９００は、入力側トラフィック予測／性能判定部３０００と出力側トラフィック予測／性能判定部４０００を有する。それぞれの判定部３０００および４０００は、前述の判定部１０００および２０００に比べて予測部１２００と履歴テーブル７００が無い。
【００６２】
このため、性能判定部３３００は予測した帯域およびパケット帯域では無く、ＴＨＲ秒間隔で出力される計測した帯域およびパケット帯域から直接性能を判定することとなる。例えば、性能判定部３３００は以下の式に基づき性能を判定する。なお、この式は性能判定用ポリシ蓄積手段５００に蓄積されている。
性能（ｂｐｓ）＝重要パケットの帯域×１．５＋非重要パケットの帯域×１．０  ・・・式１０
パケット性能（ｐｐｓ）＝重要パケットのパケット帯域×１．５＋非重要パケットのパケット帯域×１．０    ・・・式１１
【００６３】
このトラフィック予測／性能判定部１９００は前述した性能判定部１００と比べて、帯域やパケット帯域を予測するための履歴テーブル７００や予測部１２００が必要ないため、低コストな実装が可能である。なお、非重要パケットの帯域には１．０を乗じる以外にも、重要パケットに乗じる第１の倍率よりも小さい第２の倍率を乗じてもよい。
【００６４】
ここで、図２のパケット転送装置２００のインターフェース部２１０−１が、入力回線２０１や出力回線２０２毎にパケット受信回路２３０やパケット送信回路２７０を備えている場合のトラフィック予測／性能判定部１００を考える。この際、複数（図２の例では４つ）のパケット受信回路２３０およびパケット送信回路２７０は、一つの判定部１００にパケット長情報２９乃至３０を送信し、判定部１００は、複数（４つ）のパケット受信回路２３０およびパケット送信回路２７０に性能を通知しているとする。
【００６５】
判定部１００は、４つのパケット受信回路２３０および４つのパケット送信回路２７０毎に性能を判定することとなる。この際、入力側トラフィック予測／性能判定部１０００の計測用テーブル４００は、図２０に示す入力回線２０１毎かつ重要度毎にバイト数、パケット数を備える。計測部１１００は、ヘッダ長情報２９の入力回線番号３３１に基づき、対応する入力回線２０１のバイト数、パケット数を更新することとなる。また、タイマー１４００の値が蓄積部１５００の閾値を超えると、全エントリ４１０を読み出し、予測部１２００に送信する。予測部１２００の履歴テーブル７００は入力回線２０１毎かつ重要度毎のバイト数、パケット数をそれぞれｎエントリ備え、予測部１２００は受信した計測用テーブル４００の情報に基づき履歴テーブル７００を更新する。さらに、予測部１２００は履歴テーブル７００の情報全てを性能判定部１３００に送信し、判定部１３００は入力回線２０１毎の性能を判定し、対応するパケット受信回路２３０に通知することとなる。性能を通知された４つのパケット受信回路２３０は、各々が通知された性能に基づいて性能を増減させる。なお、出力側トラフィック予測／性能判定部４０００の構成・動作に関しては、入力回線２０１が出力回線２０２となるだけで、同様である。
この様に、性能を増減する単位が、例えば、入力回線毎あるいは出力回線毎と細かくなれば、判定部１００はその単位ごとに性能、パケット性能を判定することとなる。
【００６６】
図８に、ヘッダ処理部２２０の一例の詳細動作説明図を示す。
ヘッダ処理部２２０はパケット受信回路２３０の通知するヘッダ情報２１に基づいてパケット処理を実施する入力側ヘッダ処理部２２１と、パケット送信回路２７０の通知するヘッダ情報２５に基づいてパケット処理を実施する出力側ヘッダ処理部２２２を有する。
【００６７】
入力側ヘッダ処理部２２１は、前述の出力先判定処理に必要なルーティングテーブル用ＣＡＭ５００、ルーティングテーブル用メモリ６００と、前述のフロー処理に必要なフローテーブル用ＣＡＭ７００、フローテーブル用メモリ８００と、ルーティングテーブル用ＣＡＭ５００およびフローテーブル部６００にアクセスして出力先判定処理やフロー処理を実施する複数（例えば４つ）のパケット処理回路１１０−ｋ（ｋ＝１−４）と、パケット処理回路１１０−ｋ（ｋ＝１−４）からのルーティングテーブル用ＣＡＭ５００、ルーティングテーブル用メモリ６００へのアクセス要求に応じて、ＣＡＭ５００やメモリ６００へのアクセスを実施するルーティングテーブル制御部１５０と、パケット処理回路１１０−ｋ（ｋ＝１−４）からのフローテーブル用ＣＡＭ７００およびフローテーブル用メモリ８００へのアクセス要求に応じて、ＣＡＭ７００やメモリ８００へのアクセスを実施するフローテーブル制御部１６０を備える。
【００６８】
また、入力側ヘッダ処理部２２１は、ヘッダ情報２１を複数蓄積して何れかのパケット処理回路１１０−ｋにヘッダ情報２１を振分／送信するヘッダ情報蓄積用バッファ１２０と、パケット処理回路１１０−ｋが判定した送信先情報、フィルタ情報、ＱｏＳ情報を、これらの情報に対応するヘッダ情報２１が入力した順番に入力回線毎に並び替えて、フロー情報２３として出力する整列回路１４０をさらに備える。更に、後で詳述する回路数判定回路１７０を備える。
【００６９】
出力側ヘッダ処理部２２２は、入力側ヘッダ処理部２２１の出力先判定処理に使用する機能ブロックであるルーティングテーブル制御部１５０、ルーティングテーブル用メモリ６００、ルーティングテーブル用ＣＡＭ５００を備えていないこと以外は、入力側ヘッダ処理部２２１と同一の構成とすることができる。出力側ヘッダ処理部２２２は、ヘッダ情報２５を受信するとフロー処理を実施し、フロー情報２６をパケット送信回路２７０に送信する。
【００７０】
ヘッダ情報２１を入力側ヘッダ処理部２２１が入力すると、ヘッダ情報蓄積用バッファ１２０は該情報を重要度に応じたキューに入力した順番で蓄積する。ヘッダ情報蓄積用バッファ１２０は、パケット処理回路１１０−ｋより該回路１１０−ｋがパケット処理中か否かを示すＢＵＳＹ信号（図８では図示が省略されている点、留意されたい。）を受信し、パケット処理中では無いパケット処理回路１１０−ｋに、重要パケット用のキューより優先的にヘッダ情報２１を読み出して転送する。
【００７１】
図１４に、ヘッダ情報蓄積用バッファ１２０の一構成例を示す。
図１４記載のバッファ１２０は、重要度判定部１２５と重要パケット用のシーケンス番号付与回路１２２−１と非重要パケット用のシーケンス番号付与回路１２２−２と重要パケット用キュー１２１−１と非重要パケット用キュー１２１−２と振分回路１２３とキューカウンタ１２４を有する。重要度判定部１２５はヘッダ情報２１が入力されると、内部ヘッダ部３３０の重要度３３４を参照し、対応するシーケンス付与回路１２２−１または１２２−２に送信する。シーケンス番号付与回路１２２は入力回線毎にカウンタを備え、ヘッダ情報２１が入力されると、ヘッダ情報２１内の入力回線番号３３１に対応するカウンタ値をヘッダ情報２１に付与し、キュー１２１−１または１２１−２に送信する。この際、入力回線番号３３１に対応するカウンタ値を１だけカウントアップする。一方、キュー１２１は受信したヘッダ情報２１を蓄積する。振分回路１２３は、ＢＵＳＹ信号をパケット処理回路１１０−ｋより、また、動作させるパケット処理回路１１０−ｋの数を回路数判定回路１７０より受信している。例えば、動作させる回路数が１の場合、パケット処理回路１１０−１のみが、２の場合、処理回路１１０−１と１１０−２が、３の場合、処理回路１１０−１と１１０−２と１１０−３が、４の場合、すべての処理回路１１０−１〜４が動作する。振分回路１２３は動作中のパケット処理回路１１０−ｋであってＢＵＳＹ信号を送信していない一つ乃至は複数のパケット処理回路１１０−ｋが存在する場合には、重要パケット用キュー１２１−１に一番早く蓄積されたヘッダ情報２１を、重要パケット用キュー１２１−１にヘッダ情報２１が蓄積されていない場合には、非重要パケット用キュー１２１−２に一番早く蓄積されたヘッダ情報２１をパケット処理回路１１０−ｋに送信する。
【００７２】
＜出力先判定処理＞
パケット処理回路１１０−ｋは、ＤＩＰ３１２とルーティングテーブル検索リクエストをルーティングテーブル制御部１５０に送信することで出力先判定処理を開始する。ルーティングテーブル制御部１５０はＤＩＰ３１２と該リクエストを受信するとルーティングテーブル用ＣＡＭ５００にＤＩＰ３１２を検索キーとして送信する。
【００７３】
ルーティングテーブル制御部１５０は、該リクエストを複数のパケット処理回路１１０−ｋから受信した際に一つのリクエストを選択するため、１から４までカウント可能なカウンタを備える。カウンタ値はパケット転送装置２００の起動と同時に例えば１にリセットされる。複数のパケット処理回路１１０−ｋより該リクエストを受信している場合、カウンタ値がＡであるとルーティングテーブル制御部１５０はパケット処理回路１１０−Ａのリクエストを選択する。該リクエストが存在しない場合にはパケット処理回路１１０−（Ａ＋１）、パケット処理回路１１０−（Ａ＋２）と順にリクエストの有無を確認し、存在する場合にはそのリクエストを選択する。また、パケット処理回路１１０−４の有無を確認した際に対応するリクエストが無いと判断した場合には、パケット処理回路１１０−１に戻り、以後、パケット処理回路１１０−（Ａ＋１）、パケット処理回路１１０−（Ａ＋２）と順に選択すべきリクエストを探索することとなる。ルーティングテーブル制御部１５０はリクエストを選択すると、該リクエストに対応するＤＩＰ３１２をルーティングテーブル用ＣＡＭ５００に検索キーとして送信する。さらに、リクエストを送信したパケット処理回路１１０−ｋに対応するカウンタ値に１加えた値「ｋ＋１」にカウンタ値を再設定する。
【００７４】
図１５および図１６に、図８のルーティングテーブル用ＣＡＭ５００とルーティングテーブル用メモリ６００のフォーマットの一例を示す。ルーティングテーブル用ＣＡＭ５００はＤＩＰ３１２の条件を表すエントリ５１０を複数備え、ルーティングテーブル用メモリ６００は該エントリ５１０記載の条件に一致するＤＩＰ３１２を備えたパケットの送信先情報をエントリ６１０に格納する。ＣＡＭ５００はＤＩＰ３１２の条件をマスク（如何なる値でも良い事を表す）付きで記憶することができる。
【００７５】
ルーティングテーブル用ＣＡＭ５００は、ＤＩＰ３１２を受信するとＤＩＰ３１２とエントリ５１０の値を一致比較し、一致したエントリ５１０のアドレスの内、最も小さなアドレス値をルーティングテーブル制御部１５０に送信する。ルーティングテーブル制御部１５０は、本アドレスを、リクエストを送信したパケット処理回路１１０−ｋに送信する。該アドレス値を受信したパケット処理回路１１０−ｋはルーティングテーブル制御部１５０に該アドレス値とルーティングテーブル用メモリ６００の読み出しリクエストを送信する。
【００７６】
複数のパケット処理回路１１０−ｋより読み出しリクエストを受信した際のルーティングテーブル制御部１５０における該リクエストの選択動作は、複数のルーティングテーブル検索リクエストを受信した場合と同様である。ルーティンテーブル制御部１５０は選択された読み出しリクエストに対応するアドレス値を用いてルーティングテーブルメモリ６００のエントリ６１０内の送信先情報を読み出し、該情報を読み出しリクエストを送信したパケット処理回路１１０−ｋに送信する。パケット処理回路１１０−ｋは、該送信先情報を出力回線番号として、シーケンス番号と共に整列回路１４０に送信する。
【００７７】
＜フロー処理＞
フロー処理ではパケット処理回路１１０−ｋは、前記ヘッダ情報２１内のＳＩＰ３１１、ＤＩＰ３１２、ＳＰＯＲＴ３１３、ＤＰＯＲＴ３１４、ＤＳＣＰ３１５、ＳＭＡＣ３１７、ＤＭＡＣ３１８、ＵＰＲＩ３１９およびフローテーブル検索リクエストをフローテーブル制御部１６０に送信することでフロー処理を開始する。フローテーブル制御部１６０は該リクエストを受信するとフローテーブル用ＣＡＭ７００に、例えばＳＩＰ３１１、ＤＩＰ３１２、ＳＰＯＲＴ３１３、ＤＰＯＲＴ３１４、ＤＳＣＰ３１５、ＳＭＡＣ３１７、ＤＭＡＣ３１８、ＵＰＲＩ３１９を検索キーとして送信する。なお、複数のパケット処理回路１１０−ｋからリクエストを受信した際のフローテーブル制御部１６０における該リクエストの選択動作はルーティングテーブル制御部１５０の動作と同一である。
【００７８】
図１７および図１８にフローテーブル用ＣＡＭ７００とフローテーブル用メモリ８００のフォーマットを示す。
フローテーブル用ＣＡＭ７００は、例えば、ＳＩＰ３１１、ＤＩＰ３１２、ＳＰＯＲＴ３１３、ＤＰＯＲＴ３１４、ＤＳＣＰ３１５、ＳＭＡＣ３１７、ＤＭＡＣ３１８、ＵＰＲＩ３１９の条件を表すエントリ１７１０を複数備える。フローテーブル用メモリ８００は、該エントリ１７１０記載の条件に一致するＳＩＰ３１１、ＤＩＰ３１２、ＳＰＯＲＴ３１３、ＤＰＯＲＴ３１４、ＤＳＣＰ３１５、ＳＭＡＣ３１７、ＤＭＡＣ３１８、ＵＰＲＩ３１８を備えたパケットのフィルタ情報、ＱｏＳ情報、カウンタ値をエントリ１８１０に格納する。ＣＡＭ７００は条件をマスク（如何なる値でも良い事を表す）付きで記憶することができる。
【００７９】
フローテーブル用ＣＡＭ７００は検索キーを受信するとエントリ１７１０との一致比較を実施し、一致したエントリ１７１０のアドレスの内、最も小さなアドレス値をフローテーブル制御部１６０に送信する。フローテーブル制御部１６０はフローテーブル検索リクエストを送信したパケット処理回路１１０−ｋに該アドレスを送信する。パケット処理回路１１０−ｋはフローテーブル制御部１６０に該アドレスとフローテーブル用メモリ８００の読み出しリクエストを送信する。フローテーブル制御部１６０は該アドレス値に対応するフローテーブル用メモリ８００のエントリ１８１０記載のフィルタ情報、ＱｏＳ情報、カウンタ値を読み出し、読み出しリクエストを送信したパケット処理回路１１０−ｋに送信する。パケット処理回路１１０−ｋは、カウンタ値を１カウントアップしてフローテーブル制御部１６０に前記アドレス値とカウンタ値と書き込みリクエストを送信する。フローテーブル制御部１６０は該アドレスに対応するフローテーブル用メモリ８１０のエントリ１８１０に受信したカウンタ値を書き込む。さらに、パケット処理回路１１０−ｋは、受信したフィルタ情報、ＱｏＳ情報を、シーケンス番号と共に整列回路１４０に送信する。
【００８０】
整列回路１４０は受信した送信先情報、フィルタ情報、ＱｏＳ情報の組の情報を入力回線毎にシーケンス番号の順に並べ替えて送信する。本回路が必要であるのは、ヘッダ情報蓄用バッファ１２０から出力されたパケットは４つのパケット処理回路１１０−ｋにて並列に処理されるが、各テーブルの検索時間等の違いによりパケットの順序が入れ替わることがあるためである。
【００８１】
これまで、入力側ヘッダ処理部２２１がヘッダ情報２１を受信した際の動作について説明した。出力側ヘッダ処理部２２２がヘッダ情報２５を受信した際には、ヘッダ情報蓄積用バッファ１２０がヘッダ情報２５に出力回線毎にシーケンス番号を付与し、整列回路１４０が、ヘッダ情報２５の入力した順序を出力回線毎に保証するように整列する。さらに、パケット処理回路１１０−ｋは出力先判定処理を実施しない。それ以外の動作は入力側ヘッダ処理部２２１がヘッダ情報２１を受信した際の動作と同一である。
【００８２】
以上説明した、ヘッダ処理部２２０を備えるパケット転送装置２００において、入力側ヘッダ処理部２２１および出力側ヘッダ処理部２２２は、トラフィック予測／性能判定部１００が送信するそれぞれパケット性能情報２７および２８に基づいて、動作させるパケット処理回路１１０−ｋの数を切り替える。より具体的には、この動作させる回路数１１０−ｋの判定は回路数判定回路１７０により実施される。ここでは、４つの回線１ｊ（ｊ＝１−４）を収容可能なインターフェース部２１０−１について考える。このインターフェース部２１０−１の４つのパケット処理回路１１０−ｋの性能（ｐｐｓ）が４つの回線１ｊより入力するパケット帯域（ｐｐｓ）の最大値と一致している。
【００８３】
この際、入力側ヘッダ処理部２２１の回路数判定回路１７０は、例えば、パケット性能情報２７内のパケット帯域（ｐｐｓ）が４つの回線ｉｊの回線帯域の総和の０％から２５％以下であれば使用するパケット処理回路１１０−ｋの数を１個、２５％を超過し５０％以下であれば２個、５０％を超過し７５％以下であれば３個、７５％を超過する場合には４個と判定する。残りのパケット処理回路１１０−ｋは、例えば、電源をＯｆｆにする。出力側ヘッダ処理部２２２の回路数判定回路１７０もパケット性能情報２８内のパケット帯域（ｐｐｓ）に対して同様の判定を実施する。なお、使用するパケット処理回路の数を限る以外にも、パケット処理回路のクロック数を上述と同様に低下させて消費電力を減少させてもよい。
以上、主に入力側について説明したが、出力側も同様である。
【産業上の利用可能性】
【００８４】
本発明は、例えば、パケットを転送するパケット転送装置に利用可能である。
【図面の簡単な説明】
【００８５】
【図１】本発明のトラフィック予測／性能判定部の構成を示す図である。
【図２】パケット転送装置の全体構成を示す図である。
【図３】パケット転送装置が送受信するパケットのフォーマットを示す図である。
【図４】パケット転送装置におけるパケットのフォーマットを示す図である。
【図５】パケット受信回路の構成を示す図である。
【図６】パケット送信回路の構成を示す図である。
【図７】重要度判定用テーブルのフォーマットを表す図である。
【図８】ヘッダ処理部の構成を示す図である。
【図９】計測用テーブルのフォーマットを表す図である。
【図１０】予測部の構成を示す図である。
【図１１】履歴テーブルのフォーマットを表す図である。
【図１２】予測する帯域あるいはパケット帯域の時間範囲を表す図である。
【図１３】本発明の効果を示す図である。
【図１４】ヘッダ情報蓄積用バッファの構成を示す図である。
【図１５】ルーティングテーブル用ＣＡＭのフォーマットを表す図である。
【図１６】ルーティングテーブル用メモリのフォーマットを表す図である。
【図１７】フローテーブル用ＣＡＭのフォーマットを表す図である。
【図１８】フローテーブル用メモリのフォーマットを表す図である。
【図１９】トラフィック予測／性能判定部の構成を示す図である。
【図２０】計測用テーブルのフォーマットを表す図である。
【符号の説明】
【００８６】
２１、２５  ヘッダ情報
２２  出力回線情報
２３、２６  フロー情報
２７、２８  パケット性能情報
２９、３０  パケット長情報
３１、３２  性能情報
１００  トラヒック予測／性能判定部
１１０  パケット処理回路
１７０  回路数判定回路
２０１  入力回線
２０２  出力回線
２１０  インターフェース部
２２０  ヘッダ処理部
２２１  入力側ヘッダ処理部
２２２  出力側ヘッダ処理部
２３０  パケット受信回路
２３２、２７４  重要度判定部
２３３、２７３  パケットバッファアクセス回路
２３６、２３７、２７１、２７２  キュー
２４０  入力側パケットバッファ
２５０  パケット中継処理部
２７０  パケット送信回路
２８０  出力側パケットバッファ
４００  計測用テーブル
７００  履歴テーブル
１１００  計測部
１３００  性能判定部
１２００  予測部
【図１】
0005100479.tif 000002
【図２】
0005100479.tif 000003
【図３】
0005100479.tif 000004
【図４】
0005100479.tif 000005
【図５】
0005100479.tif 000006
【図６】
0005100479.tif 000007
【図７】
0005100479.tif 000008
【図８】
0005100479.tif 000009
【図９】
0005100479.tif 000010
【図１０】
0005100479.tif 000011
【図１１】
0005100479.tif 000012
【図１２】
0005100479.tif 000013
【図１３】
0005100479.tif 000014
【図１４】
0005100479.tif 000015
【図１５】
0005100479.tif 000016
【図１６】
0005100479.tif 000017
【図１７】
0005100479.tif 000018
【図１８】
0005100479.tif 000019
【図１９】
0005100479.tif 000020
【図２０】
0005100479.tif 000021