(57)【要約】  フレーム検索処理装置は、フレーム情報を入力フレームから抽出するフレーム情報抽出部（１）と、フレーム情報とエントリ情報を比較する検索処理部（２）と、検索処理部（２）へのフレーム情報の出力を制御するフレーム情報出力制御部（３）とを備える。検索処理部（２）は、検索テーブルからエントリ情報をＮ個ずつ読み出して、各エントリ情報とフレーム情報との比較を一度に行う複数の比較部を備える。フレーム情報出力制御部（３）は、フレーム情報を蓄積するフレーム情報バッファと、フレーム情報の所定の蓄積数またはフレーム情報の所定の蓄積時間の経過を契機として、フレーム情報バッファに蓄積された複数のフレーム情報を検索処理部（２）の各比較部へ１個ずつ分配する出力処理部とを備える。
2013122042.tif 000002
【特許請求の範囲】
【請求項１】
フレームの検索処理に必要なフレーム情報を入力フレームから抽出するフレーム情報抽出部と、
前記フレーム情報と所定の検索条件であるエントリ情報とを比較する検索処理部と、
この検索処理部へのフレーム情報の出力を制御するフレーム情報出力制御部とを備え、
前記検索処理部は、Ｍ個（Ｍは２以上の整数）の前記エントリ情報を予め記憶する検索テーブルと、それぞれ異なるフレームのフレーム情報を入力とすると共に、前記Ｍ個のエントリ情報をＮ個（ＮはＭ以下の正の整数）ずつ順次読み出して、読み出した各エントリ情報と入力されたフレーム情報との比較を一度に行う複数の比較部とを備え、
前記フレーム情報出力制御部は、前記フレーム情報抽出部によって抽出されたフレーム情報を蓄積するフレーム情報バッファと、このフレーム情報バッファへのフレーム情報の所定の蓄積数またはフレーム情報の所定の蓄積時間の経過を契機として、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理部の各比較部へ１個ずつ分配する出力処理部とを備えることを特徴とするフレーム検索処理装置。
【請求項２】
請求項１記載のフレーム検索処理装置において、
前記フレーム情報出力制御部の出力処理部は、前記フレーム情報の蓄積時間に応じて前記フレーム情報の所定の蓄積数の閾値を変化させ、前記フレーム情報の蓄積数またはフレームバッファへの前記フレームの蓄積量に応じて前記フレーム情報の所定の蓄積時間の閾値を変化させることを特徴とするフレーム検索処理装置。
【請求項３】
請求項１記載のフレーム検索処理装置において、
さらに、前記フレーム情報抽出部がフレームの検索処理に必要な前記フレーム情報を抽出する際にフレームの優先度を示す優先度情報を抽出する優先度情報通知部を備え、
前記フレーム情報出力制御部の出力処理部は、前記優先度情報を取得した場合、前記優先度情報に応じてフレーム情報の所定の蓄積数の閾値および所定の蓄積時間の閾値を変化させることを特徴とするフレーム検索処理装置。
【請求項４】
請求項１記載のフレーム検索処理装置において、
さらに、前記フレーム情報抽出部が前記フレーム情報を抽出することを、前記フレーム情報出力制御部へ予告情報として通知する予告情報生成部を備え、
前記フレーム情報出力制御部の出力処理部は、前記予告情報により、フレーム情報出力制御部へ一定の経過時間以内にフレーム情報が入力されないと判断した場合、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理部の各比較部へ１個ずつ分配し、フレーム情報出力制御部へ一定の経過時間以内にフレーム情報が入力されることが判明した場合、前記フレーム情報バッファへのフレーム情報の蓄積を継続し、前記フレーム情報の所定の蓄積数またはフレーム情報の所定の蓄積時間の経過を契機として、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理部の各比較部へ１個ずつ分配することを特徴とするフレーム検索処理装置。
【請求項５】
請求項１記載のフレーム検索処理装置において、
前記フレーム情報出力制御部の出力処理部は、フレーム検索処理装置の後段に接続されるフレームバッファからフレーム蓄積情報を取得し、前記フレームバッファにフレームが蓄積されていないと判断した場合、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理部の各比較部へ１個ずつ分配し、前記フレームバッファにフレームが蓄積されていると判断した場合、前記フレーム情報バッファへのフレーム情報の蓄積を継続し、前記フレーム情報の所定の蓄積数を契機として、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理部の各比較部へ１個ずつ分配することを特徴とするフレーム検索処理装置。
【請求項６】
フレームの検索処理に必要なフレーム情報を入力フレームから抽出するフレーム情報抽出ステップと、
前記フレーム情報と所定の検索条件であるエントリ情報とを比較する検索処理ステップと、
この検索処理ステップで用いるフレーム情報の出力を制御するフレーム情報出力制御ステップとを含み、
前記検索処理ステップは、複数の比較部へそれぞれ異なるフレームのフレーム情報を入力とすると共に、予め記憶しているＭ個（Ｍは２以上の整数）の前記エントリ情報をＮ個（ＮはＭ以下の正の整数）ずつ順次読み出して、読み出した各エントリ情報と入力されたフレーム情報との比較を前記複数の比較部で一度に行うステップを含み、
前記フレーム情報出力制御ステップは、前記フレーム情報抽出ステップによって抽出されたフレーム情報をフレーム情報バッファに蓄積する書込ステップと、前記フレーム情報バッファへのフレーム情報の所定の蓄積数またはフレーム情報の所定の蓄積時間の経過を契機として、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理ステップで用いる各比較部へ１個ずつ分配する出力処理ステップとを含むことを特徴とするフレーム検索処理方法。
【請求項７】
請求項６記載のフレーム検索処理方法において、
前記出力処理ステップは、前記フレーム情報の蓄積時間に応じて前記フレーム情報の所定の蓄積数の閾値を変化させ、前記フレーム情報の蓄積数またはフレームバッファへの前記フレームの蓄積量に応じて前記フレーム情報の所定の蓄積時間の閾値を変化させるステップを含むことを特徴とするフレーム検索処理方法。
【請求項８】
請求項６記載のフレーム検索処理方法において、
さらに、前記フレーム情報抽出ステップにおいてフレームが入力されたときに、この入力フレームから抽出されたフレーム情報の前記フレーム情報バッファへの出力と同時に、当該フレームの優先度を示す優先度情報を出力する優先度情報通知ステップを含み、
前記出力処理ステップは、前記優先度情報を取得した場合、前記優先度情報に応じてフレーム情報の所定の蓄積数の閾値および所定の蓄積時間の閾値を変化させるステップを含むことを特徴とするフレーム検索処理方法。
【請求項９】
請求項６記載のフレーム検索処理方法において、
さらに、フレーム検索処理装置へフレームが入力されたことを、予告情報として通知する予告情報生成ステップを含み、
前記出力処理ステップは、前記予告情報により、前記フレーム情報バッファへ一定の経過時間以内にフレーム情報が入力されないと判断した場合、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理ステップで用いる各比較部へ１個ずつ分配し、前記フレーム情報バッファへ一定の経過時間以内にフレーム情報が入力されることが判明した場合、前記フレーム情報バッファへのフレーム情報の蓄積を継続し、前記フレーム情報の所定の蓄積数またはフレーム情報の所定の蓄積時間の経過を契機として、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理ステップで用いる各比較部へ１個ずつ分配するステップを含むことを特徴とするフレーム検索処理方法。
【請求項１０】
請求項６記載のフレーム検索処理方法において、
前記出力処理ステップは、前記検索処理ステップで検索処理がなされた後のフレームを蓄積するフレームバッファからフレーム蓄積情報を取得し、前記フレームバッファにフレームが蓄積されていないと判断した場合、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理ステップで用いる各比較部へ１個ずつ分配し、前記フレームバッファにフレームが蓄積されていると判断した場合、前記フレーム情報バッファへのフレーム情報の蓄積を継続し、前記フレーム情報の所定の蓄積数を契機として、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理ステップで用いる各比較部へ１個ずつ分配するステップを含むことを特徴とするフレーム検索処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力フレームに応じた処理を決めるための検索処理を行うフレーム検索処理装置および方法に関するものである。
【背景技術】
【０００２】
ルータやスイッチ、ブリッジにおいてフレームの転送や廃棄、優先制御などを行う場合、入力フレームに応じた処理を決めるため、検索処理が必要である。検索処理は、入力フレームから検索に必要な情報、例えば、ＩＰアドレス等のフレームのヘッダ情報（以下、フレーム情報とする）を抽出し、このフレーム情報を検索条件と比較することで結果を出力する。【０００３】
また、検索処理装置は、複数の検索条件（エントリ情報）を記憶している検索テーブルと、フレーム情報と検索テーブルのデータを比較し一致判定を行う比較回路とを備えている。検索処理では、１クロックサイクル毎に検索テーブルへアクセスし、検索条件を読み出し、フレーム情報と比較する。この検索処理は、全エントリ情報数分実施され、検索テーブルへのアクセスがエントリ情報数分発生する。そして、検索テーブルへのアクセス毎に電力が消費される。【０００４】
一方で、検索条件が多い場合や、高速な検索処理が要求される場合、複数のフレーム情報を同時に検索処理するため、比較回路を並列化した構成が採用される。このような構成は、例えば文献「M.Urano，T.Kawamura，S.Ohteru，H.Suto，K.Kawai，R.Kusaba，N.Miura，J.Kato，A.Miyazaki，T.Hatano，S.Yasuda，N.Tanaka，S.Shigematsu，M.Nakanishi，T.Shibata，“The 10G-EPON OLT and ONU LSIs for the coexistence of 10G-EPON and GE-PON toward the next FTTH era”，2011 Symposium on VLSI Circuits(VLSIC)，pp.132-133，15-17 June 2011」に開示されている。この文献に開示された構成では、８つのフレーム情報が並列処理され、さらに、１つのフレーム情報の検索を８並列比較する。複数のフレーム情報が複数の比較回路で並列処理される場合、１回の検索テーブルへのアクセスで、複数の比較回路に検索テーブルデータが配分される。つまり、複数の比較回路で並列処理される場合は、同数のフレーム情報の検索処理に必要な検索テーブルへのアクセス時間が短くなる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の検索処理装置では、フレームとフレームの間隔が一定時間（１フレーム分の処理時間）以上空いて入力された場合やフレーム長が大きい場合、同数のフレーム情報の検索処理に必要である検索テーブルへのアクセス時間が増加する。検索処理装置では、検索テーブルへのアクセス毎に電力を消費するため、検索テーブルへのアクセス時間、または検索テーブルへのアクセス回数が増加すれば、消費電力も増加するという問題点があった。【０００６】
本発明は、このような事情を考慮してなされたものであり、その目的は、検索テーブルへのアクセス時間またはアクセス回数を削減することで、消費電力を削減することにある。
【課題を解決するための手段】
【０００７】
本発明のフレーム検索処理装置は、フレームの検索処理に必要なフレーム情報を入力フレームから抽出するフレーム情報抽出部と、前記フレーム情報と所定の検索条件であるエントリ情報とを比較する検索処理部と、この検索処理部へのフレーム情報の出力を制御するフレーム情報出力制御部とを備え、前記検索処理部は、Ｍ個（Ｍは２以上の整数）の前記エントリ情報を予め記憶する検索テーブルと、それぞれ異なるフレームのフレーム情報を入力とすると共に、前記Ｍ個のエントリ情報をＮ個（ＮはＭ以下の正の整数）ずつ順次読み出して、読み出した各エントリ情報と入力されたフレーム情報との比較を一度に行う複数の比較部とを備え、前記フレーム情報出力制御部は、前記フレーム情報抽出部によって抽出されたフレーム情報を蓄積するフレーム情報バッファと、このフレーム情報バッファへのフレーム情報の所定の蓄積数またはフレーム情報の所定の蓄積時間の経過を契機として、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理部の各比較部へ１個ずつ分配する出力処理部とを備えることを特徴とするものである。【０００８】
また、本発明のフレーム検索処理方法は、フレームの検索処理に必要なフレーム情報を入力フレームから抽出するフレーム情報抽出ステップと、前記フレーム情報と所定の検索条件であるエントリ情報とを比較する検索処理ステップと、この検索処理ステップで用いるフレーム情報の出力を制御するフレーム情報出力制御ステップとを含み、前記検索処理ステップは、複数の比較部へそれぞれ異なるフレームのフレーム情報を入力とすると共に、予め記憶しているＭ個（Ｍは２以上の整数）の前記エントリ情報をＮ個（ＮはＭ以下の正の整数）ずつ順次読み出して、読み出した各エントリ情報と入力されたフレーム情報との比較を前記複数の比較部で一度に行うステップを含み、前記フレーム情報出力制御ステップは、前記フレーム情報抽出ステップによって抽出されたフレーム情報をフレーム情報バッファに蓄積する書込ステップと、前記フレーム情報バッファへのフレーム情報の所定の蓄積数またはフレーム情報の所定の蓄積時間の経過を契機として、前記フレーム情報バッファに蓄積された複数のフレーム情報を前記検索処理ステップで用いる各比較部へ１個ずつ分配する出力処理ステップとを含むことを特徴とするものである。
【発明の効果】
【０００９】
本発明によれば、フレーム情報バッファへのフレーム情報の所定の蓄積数またはフレーム情報の所定の蓄積時間の経過を契機として、フレーム情報バッファに蓄積された複数のフレーム情報を検索処理部の各比較部へ１個ずつ分配する。このように、本発明では、フレーム情報の出力制御を実施することで、フレーム情報の検索処理に必要である検索テーブルへのアクセス時間（アクセスの回数）を短縮することができ、検索テーブルのアクセスで消費する電力を削減することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の第１実施例に係るフレーム検索処理装置の構成を示すブロック図である。
【図２】図２は、本発明の第１実施例に係るフレーム検索処理装置のフレーム情報抽出部と検索処理部とフレーム情報出力制御部の動作の概要を示すフローチャートである。
【図３】図３は、本発明の第１実施例に係るフレーム検索処理装置の検索処理部の構成を示すブロック図である。
【図４】図４は、本発明の第１実施例に係るフレーム検索処理装置のフレーム情報出力制御部の構成を示すブロック図である。
【図５】図５は、本発明の第１実施例においてフレーム情報出力制御部の書込処理部がフレーム情報をフレーム情報バッファへ書込むときの動作を示すフローチャートである。
【図６】図６は、本発明の第１実施例においてフレーム情報出力制御部の出力処理部がフレーム情報バッファからフレーム情報を読み出し、検索処理部へ出力するときの動作を示すフローチャートである。
【図７Ａ−７Ｂ】図７Ａ、図７Ｂは、フレーム処理に必要な検索テーブルへのアクセス時間がフレーム情報の入力方法により異なることを示す図である。
【図８】図８は、本発明の第１実施例においてフレーム情報出力制御部の出力処理部がフレーム情報バッファからフレーム情報を読み出し、検索処理部へ出力するときの別の動作を示すフローチャートである。
【図９】図９は、本発明の第１実施例においてフレーム情報出力制御部の出力処理部がフレーム情報バッファからフレーム情報を読み出し、検索処理部へ出力するときの別の動作を示すフローチャートである。
【図１０】図１０は、本発明の第２実施例に係るフレーム検索処理装置のフレーム情報抽出部の構成を示すブロック図である。
【図１１】図１１は、本発明の第２実施例におけるフレーム情報抽出部の優先度情報通知部の動作と、フレーム情報出力制御部の書込処理部がフレーム情報をフレーム情報バッファへ書込むときの動作とを示すフローチャートである。
【図１２】図１２は、本発明の第２実施例においてフレーム情報出力制御部の出力処理部がフレーム情報バッファからフレーム情報を読み出し、検索処理部へ出力するときの動作を示すフローチャートである。
【図１３】図１３は、本発明の第２実施例においてフレーム情報出力制御部の出力処理部がフレーム情報バッファからフレーム情報を読み出し、検索処理部へ出力するときの別の動作を示すフローチャートである。
【図１４】図１４は、本発明の第３実施例に係るフレーム検索処理装置の構成を示すブロック図である。
【図１５】図１５は、本発明の第３実施例に係るフレーム検索処理装置の予告情報生成部の動作を示すフローチャートである。
【図１６】図１６は、本発明の第３実施例においてフレーム情報出力制御部の出力処理部がフレーム情報バッファからフレーム情報を読み出し、検索処理部へ出力するときの動作を示すフローチャートである。
【図１７】図１７は、本発明の第４実施例に係るフレーム検索処理装置の構成を示すブロック図である。
【図１８】図１８は、本発明の第４実施例においてフレーム情報出力制御部の出力処理部がフレーム情報バッファからフレーム情報を読み出し、検索処理部へ出力するときの動作を示すフローチャートである。
【発明を実施するための形態】
【００１１】
［第１実施例］
次に、本発明の実施例について図面を参照して説明する。図１は、本発明の第１実施例に係るフレーム検索処理装置の構成を示すブロック図である。
本実施例のフレーム検索処理装置は、フレームの検索処理に必要なフレーム情報を入力フレームから抽出するフレーム情報抽出部１と、抽出されたフレーム情報をもとにフレームの転送、廃棄などを検索処理する検索処理部２と、検索処理部２へのフレーム情報の出力を制御するフレーム情報出力制御部３と、フレームの検索処理結果を得るまでの期間中に前記入力フレームのデータを蓄積するフレームバッファ４と、検索処理結果を蓄積し、フレームバッファ４からのフレーム出力に応じて前記入力フレームの検索処理結果を後段のフレーム合成部６へ出力する検索処理結果バッファ５と、検索処理結果バッファ５が出力した検索処理結果に基づいて、フレームバッファ４から出力されたフレームのデータを書き換えるフレーム合成部６とから構成される。
【００１２】
なお、検索処理部２での検索処理により得られた検索は、必ずしもフレームのデータの書き換えを伴わなくとも良く、例えば、フレームの廃棄の有無の検索や、送信先の検索などの例もある。
【００１３】
図２は、フレーム情報抽出部１と検索処理部２とフレーム情報出力制御部３の動作の概要を示すフローチャートである。フレーム情報抽出部１は、フレームの検索処理に必要なフレーム情報（例えばＩＰアドレス等）を入力フレームから抽出する（図２ステップＳ１）。フレーム情報出力制御部３は、検索処理部２で用いるフレーム情報の出力を制御する（ステップＳ２）。検索処理部２は、フレーム情報と所定の検索条件であるエントリ情報とを比較する（ステップＳ３）。
【００１４】
フレーム合成部６は、検索処理結果バッファ５が出力した検索処理結果に基づいて、フレームバッファ４から出力されたフレームのデータを書き換える。例えばフレーム合成部６は、検索処理結果に基づいてフレームを転送すべきと判断した場合には、フレームバッファ４から出力されたフレームのヘッダ情報を書き換えてフレームを出力する。また、フレーム合成部６は、検索処理結果に基づいてフレームを廃棄すべきと判断した場合には、フレームバッファ４から出力されたフレームを廃棄する。
【００１５】
次に、検索処理部２の詳細な構成について記述する。図３は、フレーム検索処理装置の検索処理部２の構成を示すブロック図である。検索処理部２は、内部に検索テーブル２０と、フレーム情報がエントリ情報に適合するか否かを判定するＬ個（Ｌは２以上の整数）の比較部である比較回路２１（２１−１，２１−２，・・・，２１−Ｌ）とを備えている。つまり、この検索処理部２は、複数のフレームを同時に検索処理できるように、フレーム情報と検索テーブル２０のデータとを比較して一致判定を行う比較回路２１を、並列化した構成である。
【００１６】
検索テーブル２０には、Ｍ個（Ｍは２以上の整数）の検索条件（エントリ情報）が予め登録されている。各比較回路２１へ検索テーブル２０のデータが分配されるとき、各比較回路２１は、検索処理の実行を示す検索信号とアドレス指定信号とを出力することにより、検索テーブル２０からアドレス指定信号で指定したＮ個（ＮはＭ以下の正の整数）のエントリ情報を１クロックサイクルで読み出す。１クロックサイクルで検索テーブル２０から読み出されたエントリ情報は全ての比較回路２１へ送られる。なお、Ｍ／Ｎは整数であること、すなわちＭはＮの倍数であることが望ましい。
【００１７】
また、各比較回路２１は、フレーム情報を蓄積していない場合、フレーム情報出力可を示す出力可否情報をフレーム情報出力制御部３に対して出力し、フレーム情報を蓄積している場合、フレーム情報出力不可を示す出力可否情報をフレーム情報出力制御部３に対して出力する。後述のようにフレーム情報出力制御部３は、フレーム情報の出力時に、出力可否情報がフレーム情報出力可を示している比較回路２１を選択し、選択した比較回路２１に対してフレーム情報を出力する。
【００１８】
フレーム情報出力制御部３からフレーム情報を入力された各比較回路２１は、このフレーム情報と検索テーブル２０から読み出したＮ個のエントリ情報との比較を一度に行う。そして、各比較回路２１は、比較終了後に、検索テーブル２０から読み出したＮ個のエントリ情報を消去し、検索テーブル２０から次のＮ個のエントリ情報を１クロックサイクルで読み出す。こうして、各比較回路２１は、検索テーブル２０からエントリ情報をＮ個ずつ読み出してフレーム情報との比較を行うことを繰り返し、検索テーブル２０の全エントリ情報（Ｍ個のエントリ情報）とフレーム情報とを比較し終えたとき、すなわち、Ｍ／Ｎのクロックサイクルの経過後に、検索結果（比較結果）を出力する。そして、各比較回路２１は、検索結果の出力後、検索処理のために記憶していたフレーム情報を消去して、空き状態にする。
【００１９】
次に、フレーム情報出力制御部３における基本的な動作を説明する。図４は、フレーム情報出力制御部３の構成を示すブロック図である。フレーム情報出力制御部３は、検索処理部２へのフレーム情報の出力を制御するために、フレーム情報抽出部１によって抽出されたフレーム情報を蓄積するフレーム情報バッファ３０と、フレーム情報のフレーム情報バッファ３０への書込処理を行う書込処理部３１と、フレーム情報の検索処理部２への出力処理を行う出力処理部３２と、タイマ３３と、蓄積数計測部３４とを備えている。出力処理部３２は、フレーム情報の所定の蓄積数、または所定のフレーム情報蓄積時間の経過を契機として、フレーム情報バッファ３０に蓄積された複数のフレーム情報を検索処理部２へ出力する。
【００２０】
なお、フレーム情報蓄積数の所定の閾値は、比較回路２１の個数Ｌ以下の範囲で予め設定すればよい。フレーム情報蓄積時間の所定の閾値は、サービス要件に応じて予め設定すればよい。
【００２１】
また、所定のフレーム情報蓄積時間の経過を契機として、フレーム情報を検索処理部２へ出力するとき、出力処理部３２は、フレーム情報の蓄積数が比較回路２１の個数未満の場合、フレーム情報バッファ３０に蓄積された全てのフレーム情報を出力し、フレーム情報の蓄積数が比較回路２１の個数以上の場合、比較回路２１の個数分のフレーム情報を出力する。検索処理部２へ出力されたフレーム情報は、フレーム情報バッファ３０から消えることは言うまでもない。また、フレーム情報出力制御部３は、フレーム情報バッファ３０に蓄積されたフレーム情報の蓄積時間をフレーム情報毎に計測するタイマ３３と、フレーム情報バッファ３０に蓄積されたフレーム情報の蓄積数を計測する蓄積数計測部３４とを備えている。
【００２２】
次に、フレーム情報出力制御部３がフレーム情報をフレーム情報バッファ３０へ書込むときの動作を説明する。図５は、フレーム情報出力制御部３の書込処理部３１がフレーム情報をフレーム情報バッファ３０へ書込むときの動作を示すフローチャートである。
書込処理部３１は、フレーム情報抽出部１からフレーム情報が入力されると、フレーム情報バッファ３０に空きがあるかどうかを確認する（図５ステップＳ１００，Ｓ１０１）。書込処理部３１は、フレーム情報バッファ３０に空きがない場合（ステップＳ１０１においてＮＯ）、フレーム情報を廃棄する（ステップＳ１０２）。
【００２３】
また、書込処理部３１は、フレーム情報バッファ３０に空きがある場合（ステップＳ１０１においてＹＥＳ）、フレーム情報をフレーム情報バッファ３０へ書き込む（ステップＳ１０３）。そして、書込処理部３１は、このフレーム情報の蓄積時間の計測をタイマ３３に指示すると共に、蓄積数計測部３４が記憶している蓄積数を１カウントアップさせる（ステップＳ１０４）。タイマ３３は、書込処理部３１から蓄積時間の計測開始を指示されると、所定の閾値である一定時間をタイマ値として設定し、このタイマ値を時間の経過に合わせて減じる。これにより、タイマ３３は、フレーム情報の蓄積開始からの経過時間をフレーム情報毎に計測する。
書込処理部３１は、以上の処理をフレーム情報抽出部１からフレーム情報が入力される度に行う。
【００２４】
次に、フレーム情報出力制御部３がフレーム情報バッファ３０からフレーム情報を読み出し、検索処理部２へ出力するときの動作を説明する。図６は、フレーム情報出力制御部３の出力処理部３２がフレーム情報バッファ３０からフレーム情報を読み出し、検索処理部２へ出力するときの動作を示すフローチャートである。
【００２５】
フレーム情報の出力では、検索処理部２の比較回路２１に空きがあることを示す検索処理部２からの出力許可が必要である。出力処理部３２は、検索処理部２からの出力可否情報を受信して、比較回路２１に空きがあるかどうかを確認する（図６ステップＳ２００，Ｓ２０１）。
【００２６】
出力処理部３２は、検索処理部２からの出力可否情報が全ての比較回路２１に空きがないことを示している場合（ステップＳ２０１においてＮＯ）、フレーム情報を出力しない（ステップＳ２０２）。また、出力処理部３２は、少なくとも１つの比較回路２１に空きがある場合（ステップＳ２０１においてＹＥＳ）、検索処理部２で検索処理中のフレーム情報があるかどうかを判定する（ステップＳ２０３）。
【００２７】
出力処理部３２は、検索処理部２で検索処理中のフレーム情報がない場合（ステップＳ２０３においてＮＯ）、蓄積数計測部３４からフレーム情報の蓄積数を取得する（ステップＳ２０４）。出力処理部３２は、フレーム情報バッファ３０に蓄積されたフレーム情報の蓄積数が所定の閾値に達した場合（ステップＳ２０５においてＹＥＳ）、フレーム情報をフレーム情報バッファ３０から読み出し、検索処理部２へ出力する（ステップＳ２０６）。
【００２８】
また、出力処理部３２は、フレーム情報バッファ３０に蓄積されたフレーム情報の蓄積数が所定の閾値に達していない場合（ステップＳ２０５においてＮＯ）、タイマ３３からタイマ値（蓄積時間を示す情報）を取得する（ステップＳ２０７）。出力処理部３２は、タイマ値が示す全てのフレーム情報蓄積時間が所定の閾値時間を経過していない場合（ステップＳ２０８においてＮＯ）、フレーム情報を出力しない（ステップＳ２０２）。また、出力処理部３２は、少なくとも１つのタイマ値が０で、フレーム情報バッファ３０にフレーム情報蓄積時間が所定の閾値時間以上経過しているフレーム情報が少なくとも１つ存在する場合（ステップＳ２０８においてＹＥＳ）、フレーム情報をフレーム情報バッファ３０から読み出し、検索処理部２へ出力する（ステップＳ２０６）。
【００２９】
また、出力処理部３２は、検索処理部２で検索処理中のフレーム情報があり、かつ検索処理部２の複数の比較回路２１の中に検索処理を実行していない空き状態の比較回路２１がある場合は（ステップＳ２０３においてＹＥＳ）、フレーム情報蓄積数またはフレーム情報蓄積時間の経過によらず、フレーム情報をフレーム情報バッファ３０から読み出し、検索処理部２の検索処理を実行していない比較回路２１へ出力する（ステップＳ２０６）。
【００３０】
ステップＳ２０６においてフレーム情報を検索処理部２へ出力するとき、出力処理部３２は、フレーム情報の蓄積数が空き状態の比較回路２１の個数未満の場合、空き状態の比較回路２１をフレーム情報の蓄積数分だけ選択して、この選択した比較回路２１の各々にフレーム情報バッファ３０に蓄積されたフレーム情報を１個ずつ分配して出力する。また、出力処理部３２は、フレーム情報の蓄積数が空き状態の比較回路２１の個数以上の場合、空き状態の比較回路２１を選択して、この選択した比較回路２１の各々に空き状態の比較回路２１の個数分のフレーム情報を１個ずつ分配して出力する。
【００３１】
出力処理部３２は、以上のような処理を所定の出力制御周期毎に行う。なお、フレーム情報出力制御部３において、フレーム情報バッファ３０へのフレーム情報の書き込みと、検索処理部２へのフレーム情報出力のためのフレーム情報の読み出しとは、独立して実行される。
【００３２】
以上のように、本実施例では、フレーム情報の出力制御を実施することで、フレーム情報の検索処理に必要である検索テーブル２０へのアクセス時間（アクセスの回数）を短縮することができ、検索テーブル２０のアクセスで消費する電力を削減することができる。例えば、アクセス回数またはアクセス時間が半分になると、３〜４ｍＷ程度電力を削減できる。
【００３３】
図７Ａ、図７Ｂは、フレーム処理に必要な検索テーブル２０へのアクセス時間がフレーム情報の入力方法により異なることを示す図である。本実施例のようにフレーム情報を間隔を空けずに検索処理部２の比較回路２１に入力する場合、同時に複数の比較回路２１で、検索処理が実施されるため、検索テーブル２０へのアクセス時間を短縮することができる（図７Ａ）。一方、従来のようにフレーム情報を一定時間以上の間隔を空けて比較回路２１に順次入力する場合、それぞれのフレーム情報の検索処理に対して検索テーブル２０へのアクセスが必要である（図７Ｂ）。
【００３４】
なお、フレーム情報蓄積時間の計測方法、および所定のフレーム情報蓄積時間の経過による出力制御方法は、上記に限らず、例えば、フレーム情報蓄積時間計測用のタイマ３３を、蓄積されたフレーム情報毎に備えず、１つのタイマ３３で実施する方法もある。１つのタイマ３３を用いる場合、このタイマ３３は、フレーム情報バッファ３０が空の状態で、フレーム情報バッファ３０にフレーム情報が蓄積されたときのみフレーム情報蓄積時間の計測を開始する。出力処理部３２は、検索処理部２への出力開始後は、蓄積中のフレーム情報および出力途中で入力されたフレーム情報の出力を保留せず、比較回路２１に空きが出た時点で、これらのフレーム情報を即出力する。つまり、比較回路２１に空きがある状態で、フレーム情報蓄積時間を計測していないフレーム情報の出力ができない状態を防ぐようにする。
【００３５】
また、タイマ３３を用いずに１つの時計を備え、フレーム毎にフレームの到着時刻またはフレーム情報バッファ３０へのフレーム情報の蓄積開始時刻を記憶してもよい。つまり、出力処理部３２は、フレームの到着時刻またはフレーム情報の蓄積開始時刻と、現在の時刻とから、フレーム情報蓄積時間を計算し、計算したフレーム情報蓄積時間に基づいて、フレーム情報の出力制御を実施してもよい。
なお、フレームバッファ４またはフレーム情報バッファ３０に空きがない状態で入力されたフレームおよびフレーム情報は、蓄積せずに廃棄される。
【００３６】
また、フレーム情報出力制御方法は上記に限らず、例えば出力処理部３２は、フレーム情報の出力条件である、フレーム情報蓄積数の閾値を、フレーム情報蓄積時間の増加に応じて、反比例関数または一次の減少関数によって小さくするようにしてもよい。
【００３７】
また、出力処理部３２は、フレーム情報の出力条件である、フレーム情報蓄積時間の閾値を、フレーム情報蓄積数や、フレームバッファ４のフレーム蓄積量に応じて変更してもよい。フレーム情報蓄積数が多い場合、フレーム情報蓄積時間の閾値を小さくすることで、フレーム出力の遅延を短縮化する効果がある。また、フレームバッファ４のフレーム蓄積量が多い場合、フレーム情報蓄積時間の閾値を小さくすることで、フレームバッファ４が溢れることを防ぐ効果がある。
【００３８】
図８は、閾値を変更する場合のフレーム情報出力制御部３の出力処理部３２の動作を示すフローチャートである。上記のとおり、出力処理部３２は、ステップＳ２０５の判定で用いるフレーム情報蓄積数の閾値を、フレーム情報蓄積時間の増加に応じて、反比例関数または一次の減少関数によって小さくする（図８ステップＳ２０９）。また、出力処理部３２は、ステップＳ２０８の判定で用いるフレーム情報蓄積時間の閾値時間を、フレーム情報蓄積数の増加またはフレームバッファ４のフレーム蓄積量の増加に応じて、反比例関数または一次の減少関数によって小さくする（図８ステップＳ２１０）。図８のその他の処理は図６で説明したとおりである。なお、図８の例では、ステップＳ２０４とステップＳ２０５の間のタイミングでフレーム情報蓄積数の閾値を変更し、ステップＳ２０７とステップＳ２０８の間のタイミングでフレーム情報蓄積時間の閾値時間を変更しているが、これに限るものではなく、これら閾値を他のタイミングで変更するようにしてもよい。
【００３９】
さらに、蓄積数分のみのフレーム情報を出力し、このフレーム情報の出力中に新たに入力されたフレーム情報は、再び出力条件が成立するまで出力せずに蓄積しておく出力方法もある。図９は、この場合のフレーム情報出力制御部３の出力処理部３２の動作を示すフローチャートである。
図９のステップＳ３００，Ｓ３０１，Ｓ３０２の動作は、それぞれ図６のステップＳ２００，Ｓ２０１，Ｓ２０２と同じなので、説明は省略する。
【００４０】
出力処理部３２は、検索処理部２からの出力可否情報を確認した結果、少なくとも１つの比較回路２１に空きがある場合（ステップＳ３０１においてＹＥＳ）、蓄積数計測部３４からフレーム情報の蓄積数を取得する（ステップＳ３０３）。出力処理部３２は、フレーム情報バッファ３０に蓄積されたフレーム情報の蓄積数が所定の閾値に達した場合（ステップＳ３０４においてＹＥＳ）、ステップＳ３０７に進む。また、出力処理部３２は、フレーム情報の蓄積数が所定の閾値に達していない場合（ステップＳ３０４においてＮＯ）、タイマ３３からタイマ値（蓄積時間を示す情報）を取得する（ステップＳ３０５）。そして、出力処理部３２は、タイマ値が示す全てのフレーム情報蓄積時間が所定の閾値時間を経過していない場合（ステップＳ３０６においてＮＯ）、フレーム情報を出力しない（ステップＳ３０２）。
【００４１】
また、出力処理部３２は、フレーム情報バッファ３０に蓄積されたフレーム情報の蓄積数が所定の閾値に達したか（ステップＳ３０４においてＹＥＳ）、あるいは少なくとも１つのタイマ値が０で、フレーム情報バッファ３０にフレーム情報蓄積時間が所定の閾値時間以上経過しているフレーム情報が少なくとも１つ存在する場合（ステップＳ３０６においてＹＥＳ）、フレーム情報の蓄積数を送出蓄積フレーム数として設定する（ステップＳ３０７）。そして、出力処理部３２は、フレーム情報をフレーム情報バッファ３０から読み出して、検索処理部２へ出力し（ステップＳ３０８）、送出蓄積フレーム数をフレーム情報の出力数分だけ減らす（ステップＳ３０９）。このようなステップＳ３０８，Ｓ３０９の処理を送出蓄積フレーム数が０になるまで（ステップＳ３１０においてＮＯ）、繰り返し行う。
【００４２】
図６に示した本実施例の基本となる出力動作と異なる点は、フレーム情報の出力前に、事前に取得したフレーム情報蓄積数を送出蓄積フレーム数として設定し、この送出蓄積フレーム数分のフレーム情報のみ、検索処理部２へ出力することである。このとき、フレーム情報の出力後、送出蓄積フレーム数の値をデクリメントし、送出蓄積フレーム数が０より大きいときは、フレーム情報の出力に戻り、０以下の場合は出力動作を終了する。以上のように設定した送出蓄積フレーム数分のみフレーム情報を出力することで、フレーム情報が連続して入力された場合も、複数のフレーム情報をまとめて出力することができるため、電力の削減効果がある。
【００４３】
以上では、フレームがフレーム検索処理装置およびフレーム情報抽出部１を通過する例で説明したが、その構成に限定しない。例えば、フレームがフレーム検索処理装置およびフレーム情報抽出部１を通過せずに、フレームバッファに蓄積されているフレームからフレーム情報を抽出してフレーム検索処理を行ってもよい。
【００４４】
本実施例の効果を数式で示す。単位時間に入力されるフレーム数をＦｆ、１フレームを検索するために要する時間をＴｓ、１フレームを検索するときにテーブルを読み出す回数をＮｔ、単位時間にテーブルを読み出す回数をＮｒ、比較回路の個数（並列度）をＮｃ、所定の蓄積時間（直前の検索から次の検索を行うまでの待ち時間）をＴｗとした場合、従来の方法では、Ｎｒは下記のようになる。なお、複数のフレームを同時に検索する場合、つまり並列動作をする場合は、１回のメモリアクセスで読み出した検索条件がすべての比較回路へ分配されるため、フレーム毎にメモリアクセスを行わずとも済む。
【００４５】
ｉｆ  １／Ｆｆ＞Ｔｓ  ｔｈｅｎ  Ｎｒ＝Ｆｆ＊Ｎｔ
ｅｌｓｅ  Ｎｒ＝１／Ｔｓ＊Ｎｔ
ｅｎｄｉｆ
【００４６】
つまり、Ｎｒは、１／Ｆｆ＞Ｔｓの場合（並列動作なし、テーブル読み出し停止期間ありの場合）、Ｆｆ＊Ｎｔとなり、１／Ｆｆ≦Ｔｓの場合（並列動作あり、常時テーブル読み出しの場合）、１／Ｔｓ＊Ｎｔとなる。ただし、Ｆｆの最大値（最小フレーム長のフレームが最小のフレーム間ギャップで入力されたとき）のＦｆをＦｆｍａｘとすると、Ｎｃ≧Ｔｓ＊Ｆｆｍａｘである。
【００４７】
一方、本実施例では、検索開始時に始動するタイマが実装され、検索終了後から前記タイマの満了までに入力されたフレームは一旦バッファに蓄積しておき、満了時点で、前記蓄積されたフレームを一度に検索し、検索終了後タイマを再始動する。ただし、タイマ満了前にＮｃ個のフレームを入力した時点で、前記蓄積されたフレームを一度に検索し、タイマを再始動する。この場合、Ｎｒは下記のようになる。
【００４８】
ｉｆ  １／Ｆｆ＞Ｔｗ  ｔｈｅｎ  Ｎｒ＝Ｆｆ＊Ｎｔ
ｅｌｓｅ  ｉｆ  ２／Ｆｆ＞Ｔｗ  ｔｈｅｎ  Ｎｒ＝  Ｆｆ＊Ｎｔ／２
ｅｌｓｅ  ｉｆ  ３／Ｆｆ＞Ｔｗ  ｔｈｅｎ  Ｎｒ＝Ｆｆ＊Ｎｔ／３
・・・
ｅｌｓｅ  ｉｆ  Ｎｃ／Ｆｆ＞Ｔｗ  ｔｈｅｎ  Ｎｒ＝Ｆｆ＊Ｎｔ／Ｎｃ
ｅｌｓｅ  Ｎｒ＝Ｆｆ＊Ｎｔ／Ｎｃ
ｅｎｄｉｆ
【００４９】
つまり、本実施例では、Ｎｒは、１／Ｆｆ＞Ｔｗの場合（タイマ満了時点でフレームを１個蓄積している状態で検索する場合）、Ｆｆ＊Ｎｔとなり、２／Ｆｆ＞Ｔｗの場合（タイマ満了時点でフレームを２個蓄積している状態で検索する場合）、Ｆｆ＊Ｎｔ／２となり、３／Ｆｆ＞Ｔｗの場合（タイマ満了時点でフレームを３個蓄積している状態で検索する場合）、Ｆｆ＊Ｎｔ／３となり、Ｎｃ／Ｆｆ＞Ｔｗの場合（タイマ満了時点でフレームをＮｃ個蓄積している状態で検索する場合）、あるいはタイマ満了前にＮｃ個のフレームを蓄積した時点で検出する場合、Ｆｆ＊Ｎｔ／Ｎｃとなる。
【００５０】
なお、本実施例でのＦｆの上限＝Ｎｃ／Ｔｓとなり、従来構成でのＮｃに対する要件（Ｎｃ≧Ｔｓ＊Ｆｆｍａｘ）を満足する場合は、本実施例でのＦｆの上限＝Ｆｆｍａｘとなる。例えば、Ｎｃ＝Ｔｓ＊Ｆｆｍａｘの場合、Ｆｆ＝Ｆｆｍａｘの場合、Ｆｆ＝Ｆｆｍａｘのとき、Ｎｒは従来構成での値と同じになる。
【００５１】
［第２実施例］
次に、本発明の第２実施例について説明する。本実施例においても、フレーム検索処理装置全体の構成は第１実施例と同様であるので、図１の符号を用いて説明する。図１０は、本実施例のフレーム情報抽出部１の構成を示すブロック図である。本実施例のフレーム情報抽出部１は、フレームの検索処理に必要なフレーム情報を入力フレームから抽出する抽出処理部１００と、優先度情報通知部１０１と、優先度制御テーブル１０２とを備えている。
【００５２】
図１０に示した構成は、事前に各フレームの優先度を把握する装置構成である。第１実施例と異なる点は、フレーム情報がフレーム情報出力制御部３に入力される前段で、各フレームの優先度の検索を実施し、得られた各フレームの優先度情報をフレーム情報の出力制御に用いることである。
【００５３】
次に、本実施例において、フレーム情報出力制御部３がフレーム情報をフレーム情報バッファ３０へ書込むときの動作を説明する。図１１は、フレーム情報抽出部１の優先度情報通知部１０１の動作と、フレーム情報出力制御部３の書込処理部３１がフレーム情報をフレーム情報バッファ３０へ書込むときの動作とを示すフローチャートである。
フレーム情報抽出部１の優先度情報通知部１０１は、フレーム情報抽出部１にフレームが入力されたときに、例えば優先度制御テーブル１０２に予め記録されている情報を参照して入力フレームの優先度の検索を実施し、この入力フレームから抽出されたフレーム情報の出力と同時に、当該フレームの優先度を示す優先度情報をフレーム情報出力制御部３に出力する（図１１ステップＳ３９０）。
【００５４】
図１１のステップＳ４００，Ｓ４０１，Ｓ４０２，Ｓ４０３，Ｓ４０４の動作は、それぞれ図５のステップＳ１００，Ｓ１０１，Ｓ１０２，Ｓ１０３，Ｓ１０４と同じなので、説明は省略する。
【００５５】
フレーム情報出力制御部３の書込処理部３１は、優先度情報通知部１０１から受信した優先度情報を確認して、高優先度のフレームが入力されたことを認識すると（図１１ステップＳ４０５においてＹＥＳ）、高優先度のフレームが入力されたことを出力処理部３２に対して通知する（ステップＳ４０６）。
【００５６】
なお、図１１では、フレーム情報バッファ３０に空きがない状態で入力されたフレームおよびフレーム情報は廃棄するとしたが、高優先度のフレームと低優先度のフレームで、バッファに空きがあっても、入力されたフレームおよびフレーム情報の総量が一定の量に到達したら廃棄する閾値をそれぞれ定めてもよい。それぞれの廃棄閾値は、例えば時間あたりに入力される高優先度のフレームの量が分かれば、その量に本実施例のフレーム検索処理装置で処理までに待たされる可能性のある時間を乗じた量だけ、低優先度のフレームの廃棄閾値を低く設定すれば、高優先度のフレームの廃棄を防ぐことができる。
【００５７】
また、高優先度のフレームと低優先度のフレームが占有可能なバッファ量を予め決めておいてもよい。例えば時間あたりに入力される高優先度のフレームの量に、本実施例のフレーム検索処理装置で処理までに待たされる可能性のある時間を乗じた量を、高優先度のフレームが占有可能なバッファ量とすればよい。
【００５８】
次に、フレーム情報出力制御部３がフレーム情報バッファ３０からフレーム情報を読み出し、検索処理部２へ出力するときの動作を説明する。図１２は、フレーム情報出力制御部３の出力処理部３２がフレーム情報バッファ３０からフレーム情報を読み出し、検索処理部２へ出力するときの動作を示すフローチャートである。
図１２のステップＳ５００，Ｓ５０１，Ｓ５０２，Ｓ５０３の動作は、それぞれ図６のステップＳ２００，Ｓ２０１，Ｓ２０２，Ｓ２０３と同じなので、説明は省略する。
【００５９】
第１実施例と異なる点は、高優先度のフレームの入力通知を受けた場合の出力方法である。フレーム情報出力制御部３の出力処理部３２は、高優先度のフレームが入力されたことの通知を受け（図１２ステップＳ５０４においてＹＥＳ）、かつ少なくとも１つの比較回路２１に空きがある場合（ステップＳ５０１においてＹＥＳ）、フレーム情報蓄積数またはフレーム情報蓄積時間の経過によらず、フレーム情報をフレーム情報バッファ３０から読み出し、検索処理部２へ出力する（ステップＳ５０２）。
【００６０】
出力処理部３２は、高優先度のフレームが入力されたことの通知がない場合（ステップＳ５０４においてＮＯ）、蓄積数計測部３４からフレーム情報の蓄積数を取得する（ステップＳ５０６）。
図１２のステップＳ５０７，Ｓ５０８，Ｓ５０９の動作は、それぞれ図６のステップＳ２０５，Ｓ２０７，Ｓ２０８と同じなので、説明は省略する。
【００６１】
出力処理部３２は、第１実施例と同様に、検索処理部２で検索処理中のフレーム情報があり、かつ検索処理部２の比較回路２１の中に検索処理を実行していない空き状態の比較回路２１がある場合は（ステップＳ５０３においてＹＥＳ）、フレーム情報蓄積数またはフレーム情報蓄積時間の経過によらず、フレーム情報をフレーム情報バッファ３０から読み出し、検索処理部２の検索処理を実行していない比較回路２１へ出力する（ステップＳ５０５）。
【００６２】
ステップＳ５０５においてフレーム情報を検索処理部２へ出力するとき、出力処理部３２は、フレーム情報の蓄積数が空き状態の比較回路２１の個数未満の場合、空き状態の比較回路２１をフレーム情報の蓄積数分だけ選択して、この選択した比較回路２１の各々にフレーム情報バッファ３０に蓄積されたフレーム情報を１個ずつ分配して出力する。また、出力処理部３２は、フレーム情報の蓄積数が空き状態の比較回路２１の個数以上の場合、空き状態の比較回路２１を選択して、この選択した比較回路２１の各々に空き状態の比較回路２１の個数分のフレーム情報を１個ずつ分配して出力する。
出力処理部３２は、以上のような処理を所定の出力制御周期毎に行う。
【００６３】
以上のように、本実施例では、高優先度のフレームの入力通知を出力条件に加えることで、低遅延であることが要求される高優先度のフレームの遅延を短縮することができる。
なお、フレームの優先度情報を事前に把握した場合の、フレーム情報出力制御方法は上記に限らず、例えば出力処理部３２は、フレーム情報の出力条件である、フレーム情報蓄積数の閾値を、蓄積中のフレームの優先度に応じて変化させるようにしてもよい。この場合、フレームバッファ４に蓄積されている複数のフレームのうち、最も優先度の高いフレームに合わせた閾値を設定すればよい。このとき、出力処理部３２は、フレームの優先度が高いほど、フレーム情報蓄積数の閾値を小さくする。
【００６４】
また、出力処理部３２は、フレーム情報の出力条件である、フレーム情報蓄積時間の閾値を、蓄積中のフレームの優先度に応じて変化させるようにしてもよい。この場合、フレームバッファ４に蓄積されている複数のフレームのうち、最も優先度の高いフレームに合わせた閾値を設定すればよい。このとき、出力処理部３２は、フレームの優先度が高いほど、フレーム情報蓄積時間の閾値を小さくする。
【００６５】
図１３は、閾値を変更する場合のフレーム情報出力制御部３の出力処理部３２の動作を示すフローチャートである。上記のとおり、出力処理部３２は、ステップＳ５０７の判定で用いるフレーム情報蓄積数の閾値を、フレームの優先度に応じて変更する（図１３ステップＳ５１０）。また、出力処理部３２は、ステップＳ５０９の判定で用いるフレーム情報蓄積時間の閾値時間を、フレームの優先度に応じて変更する（図１３ステップＳ５１１）。図１３のその他の処理は図１２で説明したとおりである。図１３の例では、ステップＳ５０６とステップＳ５０７の間のタイミングでフレーム情報蓄積数の閾値を変更し、ステップＳ５０８とステップＳ５０９の間のタイミングでフレーム情報蓄積時間の閾値時間を変更しているが、これに限るものではなく、これら閾値を他のタイミングで変更するようにしてもよい。
なお、図１２を用いて説明した本実施例のフレーム情報出力制御方法は、高優先度のフレームの入力通知を受けた場合に、フレーム情報蓄積数の閾値およびフレーム情報蓄積時間の閾値を最小値（すなわち零）に変化させる動作に相当する。
【００６６】
さらに、フレームの優先度毎にフレーム情報バッファ３０を備え、フレームの優先度毎にフレーム情報を蓄積する場合は、フレームの優先度に応じて、フレーム情報蓄積数の閾値およびフレーム情報蓄積時間の閾値を変更するようにしてもよい。このとき、出力処理部３２は、フレームの優先度が高いほど、フレーム情報蓄積時間の閾値を小さくする。
以上では、フレームがフレーム検索処理装置およびフレーム情報抽出部１を通過する例で説明したが、その構成に限定しない。例えば、フレームがフレーム検索処理装置およびフレーム情報抽出部１を通過せずに、フレームバッファに蓄積されているフレームからフレーム情報を抽出してフレーム検索処理を行ってもよい。
【００６７】
［第３実施例］
次に、本発明の第３実施例について説明する。図１４は、本発明の第３実施例に係るフレーム検索処理装置の構成を示すブロック図である。
本実施例のフレーム検索処理装置は、フレーム情報抽出部１と、検索処理部２と、フレーム情報出力制御部３ａと、フレームバッファ４と、検索処理結果バッファ５と、フレーム合成部６と、予告情報生成部７とから構成される。フレーム情報出力制御部３ａの概略の内部構成は、第１実施例と同様であるので、図４の符号を用いて説明する。
【００６８】
本実施例が第１実施例と異なる点は、フレーム検索処理装置へフレームが入力されたことを、フレーム情報出力制御部３ａへ予告情報として通知するフレーム入力の予告情報生成部７を備えている点である。図１５は、予告情報生成部７の動作を示すフローチャートである。予告情報生成部７は、フレームが入力された時点で（図１５ステップＳ１０）、フレーム情報出力制御部３ａへ一定の経過時間以内にフレーム情報が入力されることを予告情報として通知する（ステップＳ１１）。
【００６９】
つまり、フレーム情報出力制御部３ａは、フレーム検索処理装置へ入力されてはいるが、フレーム情報出力制御部３ａに到達していないフレームがあることを事前に把握することができる。フレーム情報出力制御部３ａは、前記予告情報を用いて、フレーム情報出力制御部３ａへ一定の経過時間以内にフレーム情報が入力されないと判断した場合、所定のフレーム情報蓄積時間の経過を待たずに、蓄積中のフレーム情報を検索処理部２へ出力する。
【００７０】
また、フレーム情報出力制御部３ａは、所定のフレーム情報蓄積時間が経過した場合でも、フレーム情報出力制御部３ａへ一定の経過時間以内にフレーム情報が入力されることが判明した場合に限り、フレーム情報の蓄積を継続し、後続のフレーム情報到着を受けて、蓄積中のフレーム情報を検索処理部２へ出力する。フレーム情報蓄積時間の閾値は、前記一定の経過時間から逆算して予め設定すればよい。例えばフレーム情報蓄積時間の閾値は、前記一定の経過時間よりも短い時間となるようにすればよい。なお、予告情報生成部７は、フレーム検索処理装置外に備えられることもある。
【００７１】
次に、フレーム情報出力制御部３ａがフレーム情報バッファ３０からフレーム情報を読み出し、検索処理部２へ出力するときの動作を説明する。図１６は、フレーム情報出力制御部３ａの出力処理部３２がフレーム情報バッファ３０からフレーム情報を読み出し、検索処理部２へ出力するときの動作を示すフローチャートである。
図１６のステップＳ６００，Ｓ６０１，Ｓ６０２，Ｓ６０３，Ｓ６０４，Ｓ６０５，Ｓ６０６，Ｓ６０７，Ｓ６０８の動作は、それぞれ図６のステップＳ２００，Ｓ２０１，Ｓ２０２，Ｓ２０３，Ｓ２０４，Ｓ２０５，Ｓ２０６，Ｓ２０７，Ｓ２０８と同じなので、説明は省略する。
【００７２】
フレーム情報出力制御部３ａの出力処理部３２は、少なくとも１つのタイマ値が０で、フレーム情報バッファ３０にフレーム情報蓄積時間が所定の閾値時間以上経過しているフレーム情報が少なくとも１つ存在する場合（ステップＳ６０８においてＹＥＳ）、予告情報を確認し、フレーム情報出力制御部３ａへ一定の経過時間以内にフレーム情報が入力されることが判明した場合（ステップＳ６０９においてＹＥＳ）、フレーム情報を出力しない（ステップＳ６０２）。また、出力処理部３２は、フレーム情報出力制御部３ａへ一定の経過時間以内にフレーム情報が入力されないと判断した場合（ステップＳ６０９においてＮＯ）、フレーム情報をフレーム情報バッファ３０から読み出し、検索処理部２へ出力する（ステップＳ６０６）。
【００７３】
このように、第１実施例と異なる点は、所定の蓄積時間経過後も、後続のフレーム情報が入力されないことが予告情報によって判断できる場合、フレーム情報蓄積数またはフレーム情報蓄積時間の経過によらず、フレーム情報を検索処理部２へ出力する点である。
【００７４】
また、出力処理部３２は、第１実施例と同様に、検索処理部２で検索処理中のフレーム情報があり、かつ検索処理部２の比較回路２１の中に検索処理を実行していない空き状態の比較回路２１がある場合は（ステップＳ６０３においてＹＥＳ）、フレーム情報蓄積数またはフレーム情報蓄積時間の経過によらず、フレーム情報をフレーム情報バッファ３０から読み出し、検索処理部２の検索処理を実行していない比較回路２１へ出力する（ステップＳ６０６）。
出力処理部３２は、以上のような処理を所定の出力制御周期毎に行う。
【００７５】
なお、フレーム情報出力制御部３ａの書込処理部３１がフレーム情報をフレーム情報バッファ３０へ書込むときの動作は、第１実施例と同様である。
また、フレームバッファ４またはフレーム情報バッファ３０に空きがない状態で入力されたフレームおよびフレーム情報は、蓄積せずに廃棄される。
【００７６】
以上のように、本実施例では、フレーム情報入力の予告情報を出力条件に加えることで、フレーム出力の遅延時間を短縮することができ、また複数フレームを連続して検索処理部２へ出力することで、検索テーブル２０へのアクセス時間を短縮することができ、消費電力を削減することができる。
【００７７】
なお、フレーム入力の予告情報を用いた出力制御の実施方法は上記に限らず、例えば出力処理部３２は、予め設定するフレーム情報蓄積時間の閾値を短くし、フレーム情報出力制御部３ａへ一定の経過時間以内にフレーム情報が入力されることが判明した場合に、フレーム情報蓄積時間の閾値を延長するようにしてもよい。
【００７８】
さらに、出力処理部３２は、予告情報を用いて、フレーム情報出力制御部３ａへ一定の経過時間以内に入力されるフレーム情報の数を算出し、求めたフレーム数に応じてフレーム情報蓄積時間の閾値を低減するようにしてもよい。
以上では、フレームがフレーム検索処理装置およびフレーム情報抽出部１を通過する例で説明したが、その構成に限定しない。例えば、フレームがフレーム検索処理装置およびフレーム情報抽出部１を通過せずに、フレームバッファに蓄積されているフレームからフレーム情報を抽出してフレーム検索処理を行ってもよい。
【００７９】
［第４実施例］
次に、本発明の第４実施例について説明する。図１７は、本発明の第４実施例に係るフレーム検索処理装置の構成を示すブロック図である。
本実施例のフレーム検索処理装置は、フレーム情報抽出部１と、検索処理部２と、フレーム情報出力制御部３ｂと、フレームバッファ４と、検索処理結果バッファ５と、フレーム合成部６とから構成される。フレーム情報出力制御部３ｂの概略の内部構成は、第１実施例と同様であるので、図４の符号を用いて説明する。
【００８０】
本実施例が第１実施例と異なる点は、フレーム検索処理装置の後段に接続されるフレームバッファ８のフレーム蓄積情報を取得し、フレームバッファ８にフレームが蓄積されている場合、フレーム情報出力制御部３ｂで、所定のフレーム数または所定の蓄積時間、フレーム情報を蓄積し、複数フレームをまとめて検索処理部２へ出力する点である。
【００８１】
フレームバッファ８のフレーム蓄積情報は、例えば、フレーム蓄積量またはフレーム蓄積の有無を示す情報である。このフレーム蓄積情報を用いて、フレームバッファ８にフレームが蓄積されていると判断した場合に限り、所定の蓄積時間が経過した後もフレーム情報の蓄積を継続する。
【００８２】
次に、フレーム情報出力制御部３ｂがフレーム情報バッファ３０からフレーム情報を読み出し、検索処理部２へ出力するときの動作を説明する。図１８は、フレーム情報出力制御部３ｂの出力処理部３２がフレーム情報バッファ３０からフレーム情報を読み出し、検索処理部２へ出力するときの動作を示すフローチャートである。
図１８のステップＳ７００，Ｓ７０１，Ｓ７０２，Ｓ７０３，Ｓ７０４，Ｓ７０５，Ｓ７０６，Ｓ７０７，Ｓ７０８の動作は、それぞれ図６のステップＳ２００，Ｓ２０１，Ｓ２０２，Ｓ２０３，Ｓ２０４，Ｓ２０５，Ｓ２０６，Ｓ２０７，Ｓ２０８と同じなので、説明は省略する。
【００８３】
フレーム情報出力制御部３ｂの出力処理部３２は、少なくとも１つのタイマ値が０で、フレーム情報バッファ３０にフレーム情報蓄積時間が所定の閾値時間以上経過しているフレーム情報が少なくとも１つ存在する場合（ステップＳ７０８においてＹＥＳ）、フレームバッファ８からフレーム蓄積情報を取得し（ステップＳ７０９）、フレームバッファ８にフレームが蓄積されていると判断した場合（ステップＳ７０９においてＹＥＳ）、フレーム情報を出力しない（ステップＳ７０２）。また、出力処理部３２は、フレームバッファ８にフレームが蓄積されていないと判断した場合（ステップＳ７０９においてＮＯ）、フレーム情報をフレーム情報バッファ３０から読み出し、検索処理部２へ出力する（ステップＳ７０６）。
【００８４】
このように、第１実施例と異なる点は、所定の蓄積時間経過後も、フレーム検索処理装置の後段に接続されるフレームバッファ８にフレームの蓄積がある場合、フレーム情報蓄積時間の経過によらず、フレーム情報の蓄積を継続する点である。なお、フレーム情報蓄積数が所定の閾値に達した場合は、フレームバッファ８からのフレーム蓄積情報によらず、蓄積中のフレーム情報を検索処理部２へ出力する。
【００８５】
また、出力処理部３２は、第１実施例と同様に、検索処理部２で検索処理中のフレーム情報があり、かつ検索処理部２の比較回路２１の中に検索処理を実行していない空き状態の比較回路２１がある場合は（ステップＳ７０３においてＹＥＳ）、フレーム情報蓄積数またはフレーム情報蓄積時間の経過によらず、フレーム情報をフレーム情報バッファ３０から読み出し、検索処理部２の検索処理を実行していない比較回路２１へ出力する（ステップＳ７０６）。
出力処理部３２は、以上のような処理を所定の出力制御周期毎に行う。
【００８６】
なお、フレーム情報出力制御部３ｂの書込処理部３１がフレーム情報をフレーム情報バッファ３０へ書込むときの動作は、第１実施例と同様である。
また、フレームバッファ４またはフレーム情報バッファ３０に空きがない状態で入力されたフレームおよびフレーム情報は、蓄積せずに廃棄される。
【００８７】
以上のように、本実施例では、フレーム検索処理装置の後段に接続されるフレームバッファ８の蓄積情報を出力条件に加えることで、フレームバッファ８の蓄積状況に応じて、複数フレームを連続して検索処理部２へ出力することができるため、検索テーブル２０へのアクセス時間を短縮することができ、消費電力を削減することができる。
【００８８】
なお、フレームバッファ８の蓄積情報を用いた出力制御の実施方法は上記に限らず、例えば出力処理部３２は、予め設定するフレーム情報蓄積時間の閾値を短くし、フレームバッファ８の蓄積量に応じて、フレーム情報蓄積時間の閾値を延長するようにしてもよい。
以上では、フレームがフレーム検索処理装置およびフレーム情報抽出部１を通過する例で説明したが、その構成に限定しない。例えば、フレームがフレーム検索処理装置およびフレーム情報抽出部１を通過せずに、フレームバッファに蓄積されているフレームからフレーム情報を抽出してフレーム検索処理を行ってもよい。
【００８９】
第１実施例〜第４実施例で説明したフレーム検索処理装置は、例えばＣＰＵ、記憶装置及びインタフェースを備えたコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。ＣＰＵは、記憶装置に格納されたプログラムに従って第１実施例〜第４実施例で説明した処理を実行する。
【産業上の利用可能性】
【００９０】
本発明は、ルータやスイッチ、ブリッジにおいてフレームの転送や廃棄、優先制御などを行う場合の検索処理に適用することができる。
【符号の説明】
【００９１】
１…フレーム情報抽出部、２…検索処理部、３，３ａ，３ｂ…フレーム情報出力制御部、４，８…フレームバッファ、５…検索処理結果バッファ、６…フレーム合成部、７…予告情報生成部、２０…検索テーブル、２１…比較回路、３０…フレーム情報バッファ、３１，３１ａ…書込処理部、３２，３２ａ…出力処理部、３３…タイマ、３４…蓄積数計測部、１００…抽出処理部、１０１…優先度情報通知部、１０２…優先度制御テーブル。
【図１】
2013122042.tif 000003
【図２】
2013122042.tif 000004
【図３】
2013122042.tif 000005
【図４】
2013122042.tif 000006
【図５】
2013122042.tif 000007
【図６】
2013122042.tif 000008
【図７Ａ】
2013122042.tif 000009
【図７Ｂ】
2013122042.tif 000010
【図８】
2013122042.tif 000011
【図９】
2013122042.tif 000012
【図１０】
2013122042.tif 000013
【図１１】
2013122042.tif 000014
【図１２】
2013122042.tif 000015
【図１３】
2013122042.tif 000016
【図１４】
2013122042.tif 000017
【図１５】
2013122042.tif 000018
【図１６】
2013122042.tif 000019
【図１７】
2013122042.tif 000020
【図１８】
2013122042.tif 000021
【国際調査報告】
2013122042.tif 000022
2013122042.tif 000023
2013122042.tif 000024
2013122042.tif 000025