(57)【要約】【課題】収集した多数の統計情報を、少ないコストアップで正確にメモリに保存する。【解決手段】下位メモリ２３と、この下位メモリ２３と比較してランダムアクセス速度および単位記憶容量当たりのコストが低いメモリからなる上位メモリ１３とを設け、下位統計情報更新部２２が、入力フレームＦｉｎから取得した識別子ｊに関する下位統計値Ｘ［ｉ，ｊ］を下位メモリ２３から読み出して、識別子ｊに関する統計値増分ΔＷ［ｉ，ｊ］と加算することにより更新値Ｗを求め、更新値Ｗのうち更新閾値Ｐ［ｉ］未満の更新値分を、識別子ｊに関する新たな下位統計値Ｘｎｅｗ［ｉ，ｊ］として下位メモリ２３に書き込み、上位統計情報更新部２４が、更新値Ｗが更新閾値Ｐ［ｉ］以上である場合、識別子ｊに関する上位統計値を上位メモリ１３から読み出して１を加算した値を、当該識別子に関する新たな上位統計値として上位メモリ１３に書き込む。【選択図】  図１
2016103672.tif 000002
【特許請求の範囲】
【請求項１】
順次入力されるフレームに関する統計情報を、それぞれのフレームから取得した識別子ごとに計数してメモリで保存する通信装置であって、
前記統計情報のうち下位桁の値からなる下位統計値を前記識別子ごとに記憶する下位メモリと、
前記下位メモリと比較してランダムアクセス速度および単位記憶容量当たりのコストが低いメモリからなり、前記統計情報のうちの上位桁の値からなる上位統計値を前記識別子ごとに記憶する上位メモリと、
前記フレームから取得した識別子に関する下位統計値を前記下位メモリから読み出して、当該識別子に関する統計値増分と加算することにより更新値を求め、当該更新値が更新閾値未満である場合、当該更新値を当該識別子に関する新たな下位統計値として前記下位メモリに書き込み、当該更新値が当該更新閾値以上である場合、当該更新値から当該更新閾値を差し引いて得られた値を、当該識別子に関する新たな下位統計値として前記下位メモリに書き込む下位統計情報更新部と、
前記更新値が前記更新閾値以上である場合、前記識別子に関する上位統計値を前記上位メモリから読み出して１を加算した値を、当該識別子に関する新たな上位統計値として前記上位メモリに書き込む上位統計情報更新部と
を備えることを特徴とする通信装置。
【請求項２】
請求項１に記載の通信装置において、
前記下位統計情報更新部は、前記新たな下位統計値として、前記更新値を前記更新閾値で除算して得られる剰余に相当する値を前記下位メモリに書き込み、
前記上位統計情報更新部は、前記新たな上位統計値として、前記上位メモリから読み出した前記上位統計値に、前記更新値を前記更新閾値で除算して得られる商に相当する値を加算した値を前記上位メモリに書き込む
ことを特徴とする通信装置。
【請求項３】
請求項１または請求項２に記載の通信装置において、
前記下位統計情報更新部は、前記更新値が前記更新閾値以上である場合、前記上位統計情報更新部に対して上位統計値の更新を指示する更新指示を出力し、
前記上位統計情報更新部は、前記下位統計情報更新部からの前記更新指示に応じて、前記新たな上位統計値を計算して前記上位メモリに書き込む
ことを特徴とする通信装置。
【請求項４】
請求項３に記載の通信装置において、
前記下位統計情報更新部から出力された前記更新指示をその出力順に保存し、前記上位統計情報更新部からの読出要求に応じて最先の更新指示を当該上位統計情報更新部へ出力するＦＩＦＯバッファをさらに備えることを特徴とする通信装置。
【請求項５】
順次入力されるフレームに関する統計情報を、それぞれのフレームから取得した識別子ごとに計数してメモリで保存する通信装置で用いられる統計情報収集方法であって、
下位メモリが、前記統計情報のうち下位桁の値からなる下位統計値を前記識別子ごとに記憶するステップと、
上位メモリが、前記下位メモリと比較してランダムアクセス速度および単位記憶容量当たりのコストが低いメモリからなり、前記統計情報のうちの上位桁の値からなる上位統計値を前記識別子ごとに記憶するステップと、
下位統計情報更新部が、前記フレームから取得した識別子に関する下位統計値を前記下位メモリから読み出して、当該識別子に関する統計値増分と加算することにより更新値を求め、当該更新値が更新閾値未満である場合、当該更新値を当該識別子に関する新たな下位統計値として前記下位メモリに書き込み、当該更新値が当該更新閾値以上である場合、当該更新値から当該更新閾値を差し引いて得られた値を、当該識別子に関する新たな下位統計値として前記下位メモリに書き込む下位統計情報更新ステップと、
上位統計情報更新部が、前記更新値が前記更新閾値以上である場合、前記識別子に関する上位統計値を前記上位メモリから読み出して１を加算した値を、当該識別子に関する新たな上位統計値として前記上位メモリに書き込む上位統計情報更新ステップと
を備えることを特徴とする統計情報収集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信技術に関し、特にフレームによりデータ通信を行う通信システムにおいて、送受信フレームや廃棄フレームに関するフレーム数やバイト数を統計情報として収集するための統計情報収集技術に関する。
【背景技術】
【０００２】
フレームによりデータ通信を行う通信システムでは、通信システムの保守・監視・管理を目的として、通信システム内で使用される通信装置に、送受信フレームや廃棄フレームのフレーム数やバイト数を計数し、統計情報として収集する機能を設けている（例えば、非特許文献１など参照）。
これら統計情報は、装置単位で計数して収集するのではなく、各フレームに付与されている識別子（入力ポート番号、アドレステーブルのエントリ番号、フローを識別するフローＩＤ、フィルタテーブルのエントリ番号、蓄積されたキューを識別するキューＩＤなど）の値を単位として計数して収集することが一般的である。
【０００３】
具体的な計数単位としては、例えば、フレームの入力ポート別、フレームのＶＬＡＮ  ＩＤやＭＡＣアドレスやＩＰアドレスなどフレームから抽出したヘッダ情報別、フレームの入力ポートや各種ヘッダ情報の組み合わせ（例えばＩＰアドレスのプレフィクスとＴＣＰ／ＵＤＰポート番号の組み合わせ）の条件により分類したフロー別、フレームを廃棄判定したフィルタ別、フレームがキューイングされるキュー別などの計数単位がある。
【０００４】
また、通信システム内で使用される通信装置は、ポート入出力、転送、フィルタ、分類、キュー入出力など、複数の機能を併せ持つことが一般的である。このため、このような通信装置では、具備する機能別、かつ、これら機能ごとに規定される識別子別に、統計情報を計数して収集することが必要とされる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】"GR2000 ソフトウェアマニュアル MIB レファレンス"，http://www.hitachi.co.jp/Prod/comp/network/manual/router/gr2k/0803/PDF/MIBREF/MIBREF.PDF，日立製作所
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このような通信装置には、高機能性と低コスト性を両立させるために、多くの機能が備えられており、これら機能ごとに多数の半導体集積回路が搭載されている。したがって、保守・監視・管理を目的として、これら機能別、かつ、これら機能ごとに規定される識別子別に、統計情報を計数して収集するには、これら機能ごとに統計情報テーブルを具備し、これら統計情報テーブルの各エントリに識別子別の統計情報を格納する必要がある。このため、機能数や識別子数の増大に伴って、統計情報テーブルを構成する半導体集積回路内部のメモリ規模が増大するという問題点があった。
【０００７】
この際、半導体集積回路の外部に大容量の外部メモリを備えることにより、統計情報テーブルのための記憶容量を増大させることは可能である。
一般的には、フレームレートの高速化への対応を考慮すると、外部メモリとしてアクセス速度に優れたＳＲＡＭを用いるのが望ましいが、ＳＲＡＭは高価であるため大容量化するのは難しい。一方、外部メモリとしてＤＤＲ３−ＳＤＲＡＭのようなＳＤＲＡＭメモリを用いた場合、安価に大容量化できる。
【０００８】
しかしながら、ＳＤＲＡＭは、ランダムなアクセスを行うと帯域が極端に低下するという特徴がある。例えば、外部メモリに統計情報を格納する構成を採用する場合、外部メモリの記憶領域を区分けして、機能ごとの統計情報テーブルに割り当て、さらに各統計情報テーブルの記憶領域を区分けして各エントリに割り当てることになる。
ある機能によって１個のフレームが処理されたとき、この機能に収集対象として予め設定されている設定内容に基づいて、処理したフレームに付与されている識別子すなわち実際の値を取得し、この機能に対応する統計情報テーブルのうち当該識別子に相当するエントリに格納された統計情報の値が更新される。
【０００９】
これにより、例えば、ある機能で処理したフレームのある識別子の統計情報として、フレーム数を収集する場合、当該機能でのフレーム処理に応じて当該識別子の統計情報が＋１される。また、バイト数を収集する場合、当該機能でのフレーム処理に応じて当該フレームのバイト数が当該識別子の統計情報に加算される。
【００１０】
この際、統計情報の更新時にアクセスされる外部メモリのアドレスは、統計情報テーブルや識別子が変わるごとに変更され、通常は更新対象となる統計情報テーブルや識別子の順序に規則性はないため、アクセスされる外部メモリのアドレスはランダムである。また、統計情報の更新時に外部メモリを読み出して更新値を計算し書き込むことになるため、外部メモリの読み出しと書き込みは交互に生じる。
【００１１】
このような、ランダムなアドレスへのアクセスや、読み書きが交互になるアクセスなどの、いわゆるランダムアクセスを、ＳＤＲＡＭに対して行うと、ＲＥＡＤやＷＲＩＴＥの間の待ち時間が大きくなる。このため、半導体集積回路の外部に大容量の外部メモリを備えて、フレーム処理ごとに単に外部メモリ内の統計情報を更新するという構成では、統計情報の更新が頻発した状況において、メモリアクセスが追い付かずに統計情報の更新に失敗する可能性があるため、正しい統計情報を正確に収集できなくなるという問題点があった。
【００１２】
本発明はこのような課題を解決するためのものであり、収集した多数の統計情報を、少ないコストアップで正確にメモリに保存できる統計情報収集技術を提供することを目的としている。
【課題を解決するための手段】
【００１３】
このような目的を達成するために、本発明にかかる通信装置は、順次入力されるフレームに関する統計情報を、それぞれのフレームから取得した識別子ごとに計数してメモリで保存する通信装置であって、前記統計情報のうち下位桁の値からなる下位統計値を前記識別子ごとに記憶する下位メモリと、前記下位メモリと比較してランダムアクセス速度および単位記憶容量当たりのコストが低いメモリからなり、前記統計情報のうちの上位桁の値からなる上位統計値を前記識別子ごとに記憶する上位メモリと、前記フレームから取得した識別子に関する下位統計値を前記下位メモリから読み出して、当該識別子に関する統計値増分と加算することにより更新値を求め、当該更新値が更新閾値未満である場合、当該更新値を当該識別子に関する新たな下位統計値として前記下位メモリに書き込み、当該更新値が当該更新閾値以上である場合、当該更新値から当該更新閾値を差し引いて得られた値を、当該識別子に関する新たな下位統計値として前記下位メモリに書き込む下位統計情報更新部と、前記更新値が前記更新閾値以上である場合、前記識別子に関する上位統計値を前記上位メモリから読み出して１を加算した値を、当該識別子に関する新たな上位統計値として前記上位メモリに書き込む上位統計情報更新部とを備えている。
【００１４】
また、本発明にかかる上記通信装置の一構成例は、前記下位統計情報更新部が、前記新たな下位統計値として、前記更新値を前記更新閾値で除算して得られる剰余に相当する値を前記下位メモリに書き込み、前記上位統計情報更新部は、前記新たな上位統計値として、前記上位メモリから読み出した前記上位統計値に、前記更新値を前記更新閾値で除算して得られる商に相当する値を加算した値を前記上位メモリに書き込むようにしたものである。
【００１５】
また、本発明にかかる上記通信装置の一構成例は、前記下位統計情報更新部が、前記更新値が前記更新閾値以上である場合、前記上位統計情報更新部に対して上位統計値の更新を指示する更新指示を出力し、前記上位統計情報更新部は、前記下位統計情報更新部からの前記更新指示に応じて、前記新たな上位統計値を計算して前記上位メモリに書き込むようにしたものである。
【００１６】
また、本発明にかかる上記通信装置の一構成例は、前記下位統計情報更新部から出力された前記更新指示をその出力順に保存し、前記上位統計情報更新部からの読出要求に応じて最先の更新指示を当該上位統計情報更新部へ出力するＦＩＦＯバッファをさらに備えている。
【００１７】
また、本発明にかかる統計情報収集方法は、順次入力されるフレームに関する統計情報を、それぞれのフレームから取得した識別子ごとに計数してメモリで保存する通信装置で用いられる統計情報収集方法であって、下位メモリが、前記統計情報のうち下位桁の値からなる下位統計値を前記識別子ごとに記憶するステップと、上位メモリが、前記下位メモリと比較してランダムアクセス速度および単位記憶容量当たりのコストが低いメモリからなり、前記統計情報のうちの上位桁の値からなる上位統計値を前記識別子ごとに記憶するステップと、下位統計情報更新部が、前記フレームから取得した識別子に関する下位統計値を前記下位メモリから読み出して、当該識別子に関する統計値増分と加算することにより更新値を求め、当該更新値が更新閾値未満である場合、当該更新値を当該識別子に関する新たな下位統計値として前記下位メモリに書き込み、当該更新値が当該更新閾値以上である場合、当該更新値から当該更新閾値を差し引いて得られた値を、当該識別子に関する新たな下位統計値として前記下位メモリに書き込む下位統計情報更新ステップと、上位統計情報更新部が、前記更新値が前記更新閾値以上である場合、前記識別子に関する上位統計値を前記上位メモリから読み出して１を加算した値を、当該識別子に関する新たな上位統計値として前記上位メモリに書き込む上位統計情報更新ステップとを備えている。
【発明の効果】
【００１８】
本発明によれば、統計情報が更新閾値を境として、下位桁の値からなる下位統計値と、上位桁の値からなる上位統計値とに分解され、下位統計値については下位メモリに書き込まれ、上位統計値については上位メモリに書き込まれることになる。この際、下位メモリは上位メモリよりランダムアクセス速度が高く、上位メモリは下位メモリよりランダムアクセス速度が低い。また、上位統計値は、下位統計値より更新頻度が低い。このため、収集した多数の統計情報を、少ないコストアップで正確にメモリに保存することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施の形態にかかる通信装置の構成を示すブロック図である。
【図２】更新閾値の設定例である。
【図３】下位メモリ内の下位統計情報テーブル構成例である。
【図４】上位メモリ内の下位統計情報テーブル構成例である。
【図５】下位統計情報更新処理を示すフローチャートである。
【図６】上位統計情報更新処理を示すフローチャートである。
【図７】下位統計情報更新動作を示す説明図である。
【図８】上位統計情報更新動作を示す説明図である。
【図９】第２の実施の形態にかかる通信装置の構成を示すブロック図である。
【発明を実施するための形態】
【００２０】
次に、本発明の実施の形態について図面を参照して説明する。
［第１の実施の形態］
まず、図１を参照して、本発明の第１の実施の形態にかかる通信装置１０について説明する。図１は、第１の実施の形態にかかる通信装置の構成を示すブロック図である。
【００２１】
この通信装置１０は、通信ネットワークＮＷに接続されて、この通信ネットワークＮＷから受信した受信信号をフレームに変換した後、予め設定されているフレーム処理を実施し、処理後のフレームを送信信号に変換して通信ネットワークＮＷへ送信する機能と、フレーム処理した各フレームに関する各種統計情報を計数してメモリに保存する機能とを有している。
【００２２】
通信装置１０には、主な機能部として、通信Ｉ／Ｆ部１１、フレーム処理部１２、および上位メモリ１３が設けられている。
【００２３】
通信Ｉ／Ｆ部１１は、一般的なデータ通信回路からなり、この通信ネットワークＮＷから受信した受信信号Ｓｒを入力フレームＦｉｎに変換してフレーム処理部１２へ出力する機能と、フレーム処理部１２から出力された出力フレームＦｏｕｔを送信信号Ｓｓに変換して通信ネットワークＮＷへ送信する機能とを有している。なお、通信Ｉ／Ｆ部１１は、レーム処理部１２とともに１チップ上に集積化される場合もある。
【００２４】
フレーム処理部１２は、１チップ上に集積化された電子回路からなり、通信Ｉ／Ｆ部１１から出力された入力フレームＦｉｎに対して、予め設定されているフレーム処理を実施する機能と、処理後のフレームを他装置へ転送する場合には出力フレームＦｏｕｔとして通信Ｉ／Ｆ部１１へ出力し、他装置へ転送しない場合には破棄する機能と、フレーム処理した各フレームに関する各種統計情報を計数し、これら統計情報ごとに、当該統計情報を構成する下位桁の値からなる下位統計値をチップ内部の下位メモリ２３に書き込み、当該統計情報を構成する上位桁の値からなる上位統計値をチップ外部の上位メモリ１３に書き込む機能とを有している。
【００２５】
上位メモリ１３は、下位メモリ２３と比較して、ランダムアクセス速度および単位記憶容量当たりのコストが低いメモリからなり、フレーム処理部１２でフレーム処理した各フレームに関する各種統計情報ごとに、当該統計情報を構成する上位桁の値からなる上位統計値を記憶する機能を有している。上位メモリ１３の具体例としては、例えばＤＤＲ３−ＳＤＲＡＭのような汎用のＳＤＲＡＭがある。また下位メモリ２３の具体例としては、例えば汎用のＳＲＡＭがある。一般に、ＳＤＲＡＭは、ＳＲＡＭと比較してランダムアクセス速度が低いものの、大容量化が容易であるため単位記憶容量当たりのコストが低い。
【００２６】
フレーム処理部１２には、主な処理部として、フレーム信号生成部２１、下位統計情報更新部２２、下位メモリ２３、上位統計情報更新部２４、メモリＩ／Ｆ部２５、および制御部２６が設けられている。これら処理部は、フレーム処理部１２内の内部バスＢＵＳを介してアクセス可能に接続されている。
【００２７】
フレーム信号生成部２１は、通信Ｉ／Ｆ部１１から入力フレームＦｉｎを受け取って、入力フレームＦｉｎに関する通信Ｉ／Ｆ部１１の入力ポートに関する識別情報や、入力フレームＦｉｎから抽出した特徴情報から、識別子ｊ（ｊ＝１〜Ｍの整数，Ｍは１以上の整数）を生成する機能と、この識別子に応じて、ポート入出力、転送、フィルタ、分類、キュー入出力などのフレーム処理を入力フレームＦｉｎに実施した後、出力フレームＦｏｕｔとして出力する機能と、不要な入力フレームＦｉｎについては出力フレームＦｏｕｔとして出力せずに廃棄する機能と、これら識別子ｊを、その識別子ｊの種別ｉ（ｉ＝１〜Ｎの整数，Ｎは１以上の整数）と対応するフレーム信号Ｓｆ［ｉ］により出力する機能とを有している。
【００２８】
統計情報として、例えば、ある宛先アドレスを持つフレームに関するフレーム処理数やデータ送信数の収集を考えた場合、宛先アドレスの値ごとに統計情報が収集される。本発明における識別子ｊは、この宛先アドレスの実際の値に相当し、種別ｉは、宛先アドレスという識別子ｊの種別に相当する。後述する下位メモリ２３および上位メモリ１３には、種別ｉごとに下位統計情報テーブルＴＸ［ｉ］および上位統計情報テーブルＴＹ［ｉ］が設けられており、これら下位統計情報テーブルＴＸ［ｉ］および上位統計情報テーブルＴＹＴＹ［ｉ］のエントリ値として、下位統計情報Ｘ［ｉ］および上位統計情報Ｙ［ｉ］が書き込まれる。
【００２９】
各フレーム信号Ｓｆ［ｉ］は、各種のフレーム処理を入力フレームＦｉｎに実施したときに生成する信号であり、フレーム処理により処理したフレーム数やバイト数を計数して統計情報として収集するために使用される。例えば、処理フレーム数を計数する場合、生成された識別子ｊを示すパルス、および、統計値増分ΔＷに相当する処理済みフレーム数（通常は１個）分のパルスの組から、各フレーム信号Ｓｆ［ｉ］が構成される。また、処理バイト数を計数する場合、生成された識別子を示すパルス、および、統計値増分ΔＷに相当する処理済みバイト数分のパルス、さらには、統計値増分ΔＷに相当する処理済みフレーム数（通常は１個）分のパルスの組から、各フレーム信号Ｓｆ［ｉ］が構成される。
【００３０】
下位統計情報更新部２２は、フレーム信号生成部２１からのフレーム信号Ｓｆ［ｉ］に応じて、フレーム信号Ｓｆ［ｉ］に含まれる識別子ｊに関する下位統計値Ｘ［ｉ，ｊ］を、下位メモリ２３内の下位統計情報テーブルＴＸ［ｉ］の下位統計情報エントリＥＸ［ｊ］から読み出す機能と、読み出した下位統計値Ｘ［ｉ，ｊ］に対してフレーム信号Ｓｆ［ｉ］に含まれる統計値増分ΔＷを加算することにより更新値Ｗを計算する機能と、得られた更新値Ｗが更新閾値Ｐ［ｉ］より小さい場合、更新値Ｗを新たな下位統計値Ｘｎｅｗ［ｉ，ｊ］として、下位メモリ２３内の下位統計情報テーブルＴＸ［ｉ］の下位統計情報エントリＥＸ［ｊ］に書き込む機能とを有している。
【００３１】
また、下位統計情報更新部２２は、得られた更新値Ｗが更新閾値Ｐ［ｉ］以上である場合、得られた更新値Ｗから更新閾値Ｐ［ｉ］を差し引いて得られた値を、新たな下位統計値Ｘｎｅｗ［ｉ，ｊ］として、下位メモリ２３内の下位統計情報テーブルＴＸ［ｉ］の下位統計情報エントリＥＸ［ｊ］に書き込む機能と、上位統計情報更新部２４に対して上位統計値Ｙ［ｉ，ｊ］の更新を指示する機能とを有している。したがって、更新値Ｗのうち更新閾値Ｐ［ｉ］未満の更新値分（変更分）が、新たな下位統計値Ｘｎｅｗ［ｉ，ｊ］として、下位統計情報更新部２２により下位メモリ２３に書き込まれることになる。
【００３２】
更新閾値Ｐ［ｉ］は、種別ｉごとに予め設定された更新値Ｗに対する閾値であり、上位統計情報Ｙ［ｉ，ｊ］の更新要否判定に用いられる。図２は、更新閾値の設定例である。更新値Ｗが更新閾値Ｐ［ｉ］未満の場合には、上位統計情報Ｙ［ｉ，ｊ］の更新不要と判定され、更新値Ｗが更新閾値Ｐ［ｉ］以上の場合には、上位統計情報Ｙ［ｉ，ｊ］の更新要と判定される。したがって、更新閾値Ｐ［ｉ］は、下位統計情報テーブルＴＸ［ｉ］の各下位統計情報エントリＥＸ［ｊ］に関する記憶領域の大きさと関係づけて設定されている。なお、更新閾値Ｐ［ｉ］を統計情報の桁数やビット数に合わせて設定してもよいが、合わせる必要はない。
【００３３】
下位メモリ２３は、ＳＲＡＭなどの半導体メモリからなり、内部の記憶領域にＮ個の下位統計情報テーブルＴＸ［ｉ］を有し、これら下位統計情報テーブルＴＸ［ｉ］の下位統計情報エントリＥＸ［ｊ］で対応する下位統計値Ｘ［ｉ，ｊ］を記憶する機能と、下位統計情報更新部２２からのアクセスに応じて、指定された下位統計情報テーブルＴＸ［ｉ］の下位統計情報エントリＥＸ［ｊ］に対して下位統計値Ｘ［ｉ，ｊ］の読み書きを行う機能とを有している。
【００３４】
図３は、下位メモリ内の下位統計情報テーブル構成例である。ここでは、Ｎ個の下位統計情報テーブルＴＸ［ｉ］が設けられているとともに、下位統計情報テーブルＴＸ［ｉ］ごとにＭ個の下位統計情報エントリＥＸ［ｊ］が設けられており、これら下位統計情報エントリＥＸ［ｊ］に下位統計値Ｘ［ｉ，ｊ］が書き込まれる。なお、下位統計情報エントリＥＸ［ｊ］の数Ｍは、対応する上位統計情報テーブルＴＹ［ｉ］の上位統計情報エントリＥＹ［ｊ］の数と一致しているが、下位統計情報テーブルＴＸ［ｉ］間で一致している必要はない。
【００３５】
上位統計情報更新部２４は、下位統計情報更新部２２からの更新指示に応じて、種別ｉの識別子ｊに関する上位統計値Ｙ［ｉ，ｊ］を、上位メモリ１３内の上位統計情報テーブルＴＹ［ｉ］から読み出す機能と、読み出した上位統計値Ｙ［ｉ，ｊ］に対して繰り上げ値に相当する１を加算する機能と、得られた値を新たな上位統計値Ｙｎｅｗ［ｉ，ｊ］として、上位メモリ１３内の上位統計情報テーブルＴＹ［ｉ］の上位統計情報エントリＥＹ［ｊ］に書き込む機能とを有している。これにより、下位統計値Ｘ［ｉ，ｊ］が満了した回数、すなわち、下位統計値Ｘ［ｉ，ｊ］が更新閾値Ｐ［ｉ］を超えることでラウンドアップした回数が、上位統計値Ｙ［ｉ，ｊ］として上位メモリ１３に記録されることになる。
【００３６】
メモリＩ／Ｆ部２５は、上位統計情報更新部２４からのメモリアクセス（バス信号形式）を、上位メモリ１３のインタフェースに合わせて変換することによって、上位統計情報更新部２４からの上位メモリ１３へのアクセスを行う機能を有している。
【００３７】
図４は、上位メモリ内の下位統計情報テーブル構成例である。ここでは、Ｎ個の上位統計情報テーブルＴＹ［ｉ］が設けられているとともに、上位統計情報テーブルＴＹ［ｉ］ごとにＭ個の上位統計情報エントリＥＹ［ｊ］が設けられており、これら上位統計情報エントリＥＹ［ｊ］に上位統計値Ｙ［ｉ，ｊ］が書き込まれる。なお、上位統計情報エントリＥＹ［ｊ］の数Ｍは、対応する下位統計情報テーブルＴＸ［ｉ］の下位統計情報エントリＥＸ［ｊ］の数と一致しているが、上位統計情報テーブルＴＹ［ｉ］間で一致している必要はない。
【００３８】
なお、メモリＩ／Ｆ部２５は、フレーム信号生成部２１内のキューに蓄積する入力フレームＦｉｎのデータを上位メモリ１３に保持する場合や、制御部２６が上位メモリ１３内の各上位統計情報テーブルＴＹ［ｉ］の各上位統計情報エントリＥＹ［ｊ］に格納された上位統計情報にアクセスする場合、さらには、上位メモリ１３に格納しておいた、制御部２６が実行する制御プログラムコードやプログラムコードを実行するための処理データにアクセスする場合など、上位統計情報更新部２４からのメモリアクセス以外に用いることが可能である。
【００３９】
制御部２６は、上位メモリ１３内の上位統計情報テーブルＴＹ［ｉ］の上位統計情報エントリＥＹ［ｊ］に格納された上位統計値Ｙ［ｉ，ｊ］と、下位メモリ２３内の下位統計情報テーブルＴＸ［ｉ］の下位統計情報エントリＥＸ［ｊ］に格納された下位統計値Ｘ［ｉ，ｊ］とを読み出し、これらの値を用いて統計情報Ｚ［ｉ，Ｊ］を集計し、通信装置１０の外部へ通知する機能を有している。この際、上位統計値Ｙ［ｉ，ｊ］は、下位統計値Ｘ［ｉ，ｊ］の更新閾値Ｐ［ｉ］倍であるため、統計情報Ｚ［ｉ，Ｊ］は、Ｙ［ｉ，ｊ］×Ｐ［ｉ］＋Ｘ［ｉ，ｊ］で求められる。
【００４０】
［第１の実施の形態の動作］
次に、図５〜図８を参照して、本実施の形態にかかる通信装置１０の動作について説明する。図５は、下位統計情報更新処理を示すフローチャートである。図６は、上位統計情報更新処理を示すフローチャートである。図７は、下位統計情報更新動作を示す説明図である。図８は、上位統計情報更新動作を示す説明図である。
【００４１】
通信装置１０は、フレーム信号生成部２１において、入力フレームＦｉｎに対するフレーム処理ごとに生成したフレーム信号Ｓｆ［ｉ］に基づいて、下位統計情報更新部２２により、図５の下位統計情報更新処理を実行する。
【００４２】
まず、下位統計情報更新部２２は、フレーム信号生成部２１からのフレーム信号Ｓｆ［ｉ］に含まれる識別子ｊに関する統計値増分ΔＷを取得するとともに（ステップ１００）、識別子ｊに関する下位統計値Ｘ［ｉ，ｊ］を、下位メモリ２３内の下位統計情報テーブルＴＸ［ｉ］の下位統計情報エントリＥＸ［ｊ］から読み出し（ステップ１０１）、下位統計値Ｘ［ｉ，ｊ］に統計値増分ΔＷを加算することにより更新値Ｗを計算する（ステップ１０２）。
【００４３】
次に、下位統計情報更新部２２は、得られた更新値Ｗと種別ｉの更新閾値Ｐ［ｉ］とを比較し（ステップ１０３）、更新値Ｗが更新閾値Ｐ［ｉ］より小さい場合（ステップ１０３：ＹＥＳ）、更新値Ｗを新たな下位統計値Ｘｎｅｗ［ｉ，ｊ］として（ステップ１０４）、この新たな下位統計値Ｘｎｅｗ［ｉ，ｊ］下位メモリ２３内の下位統計情報テーブルＴＸ［ｉ］の下位統計情報エントリＥＸ［ｊ］に書き込み（ステップ１０５）、一連の下位統計情報更新処理を終了する。
【００４４】
一方、更新値Ｗが更新閾値Ｐ［ｉ］以上である場合（ステップ１０３：ＮＯ）、下位統計情報更新部２２は、更新値Ｗから更新閾値Ｐ［ｉ］を差し引いて得られた値を、新たな下位統計値Ｘｎｅｗ［ｉ，ｊ］とし（ステップ１０６）、この新たな下位統計値Ｘｎｅｗ［ｉ，ｊ］を下位メモリ２３内の下位統計情報テーブルＴＸ［ｉ］の下位統計情報エントリＥＸ［ｊ］に書き込み（ステップ１０７）、更新指示Ｑ［ｉ，ｊ］を出力することにより上位統計情報更新部２４に対して上位統計値Ｙ［ｉ，ｊ］の更新を指示し（ステップ１０８）、一連の下位統計情報更新処理を終了する。
【００４５】
上位統計情報更新部２４は、下位統計情報更新部２２からの更新指示Ｑ［ｉ，ｊ］に応じて、図６の上位統計情報更新処理を実行する。
まず、上位統計情報更新部２４は、更新指示Ｑ［ｉ，ｊ］で指定された種別ｉと識別子ｊに基づいて、対応する上位統計情報テーブルＴＹ［ｉ］の上位統計情報エントリＥＹ［ｊ］のアドレスＡ［ｉ，ｊ］を算出する（ステップ１１０）。アドレス算出手法については、例えば予め設定しておいたアドレス変換テーブルを参照してもよく、上位統計情報テーブルＴＹ［ｉ］ごとの上位統計情報エントリＥＹ［ｊ］の数やバイト数に基づき計算してもよい。
【００４６】
次に、上位統計情報更新部２４は、得られたアドレスＡ［ｉ，ｊ］に基づいて、メモリＩ／Ｆ部２５を介して上位メモリ１３にアクセスすることにより、上位統計情報テーブルＴＹ［ｉ］の上位統計情報エントリＥＹ［ｊ］から、種別ｉの識別子ｊに関する上位統計値Ｙ［ｉ，ｊ］を読み出す（ステップ１１１）。
【００４７】
この後、上位統計情報更新部２４は、読み出した上位統計値Ｙ［ｉ，ｊ］に、繰り上げ値に相当する１を加算した値を新たな上位統計値Ｙｎｅｗ［ｉ，ｊ］とし（ステップ１１２）、アドレスＡ［ｉ，ｊ］に基づいて、メモリＩ／Ｆ部２５を介して上位メモリ１３にアクセスすることにより、新たな上位統計値Ｙｎｅｗ［ｉ，ｊ］を上位メモリ１３内の上位統計情報テーブルＴＹ［ｉ］の上位統計情報エントリＥＹ［ｊ］に書き込み（ステップ１１３）、一連の上位統計情報更新処理を終了する。
【００４８】
これにより、更新値Ｗが更新閾値Ｐ［ｉ］より小さい場合、図７に示すように、更新値Ｗが新たな下位統計値Ｘｎｅｗ［ｉ，ｊ］として下位メモリ２３に書き込まれ、上位統計値Ｙ［ｉ，ｊ］は更新されない。また、更新値Ｗが更新閾値Ｐ［ｉ］以上の場合、図８に示すように、更新値Ｗから更新閾値Ｐ［ｉ］が差し引かれた値が新たな下位統計値Ｘｎｅｗ［ｉ，ｊ］として下位メモリ２３に書き込まれ、上位統計値Ｙ［ｉ，ｊ］に１が加算された値が新たな上位統計値Ｙｎｅｗ［ｉ，ｊ］として上位メモリ１３に書き込まれることになる。
【００４９】
したがって、フレーム処理したフレーム数を計数して統計情報として収集する場合、統計値増分ΔＷは常に１であるため、更新値Ｗが更新閾値Ｐ［ｉ］と等しくなった時点で、図８に示すように、更新値Ｗから更新閾値Ｐ［ｉ］が差し引かれた値、すなわち０が新たな下位統計値Ｘｎｅｗ［ｉ，ｊ］として下位メモリ２３に書き込まれ、上位統計値Ｙ［ｉ，ｊ］に１が加算された値からなる新たな上位統計値Ｙｎｅｗ［ｉ，ｊ］が上位メモリ１３に書き込まれることになる。
【００５０】
一方、フレーム処理したデータ数を計数して統計情報として収集する場合、統計値増分ΔＷは１以上の値をとるため、更新値Ｗが更新閾値Ｐ［ｉ］以上となった時点で、図８に示すように、更新値Ｗから更新閾値Ｐ［ｉ］が差し引かれた値、すなわち更新閾値Ｐ［ｉ］より小さい端数が新たな下位統計値Ｘｎｅｗ［ｉ，ｊ］として下位メモリ２３に書き込まれ、上位統計値Ｙ［ｉ，ｊ］に１が加算された値からなる新たな上位統計値Ｙｎｅｗ［ｉ，ｊ］が上位メモリ１３に書き込まれることになる。
【００５１】
以上では、更新閾値Ｐ［ｉ］として統計値増分ΔＷの最大値より大きい値が設定されている場合を前提としているため、下位統計値Ｘ［ｉ，ｊ］から上位統計値Ｙ［ｉ，ｊ］への繰り上げは常に１とすることができ、上位統計値Ｙ［ｉ，ｊ］の更新処理を簡素化することができる。
なお、統計値増分ΔＷとして更新閾値Ｐ［ｉ］より大きい値が発生する場合、繰り上げは２以上となる場合もある。このような場合には、更新値Ｗから更新閾値Ｐ［ｉ］を差し引いた値ではなく、更新値Ｗを更新閾値Ｐ［ｉ］で除算して得られる剰余と商を、新たな下位統計値Ｘｎｅｗ［ｉ，ｊ］および新たな上位統計値Ｙｎｅｗ［ｉ，ｊ］として用いればよい。
【００５２】
すなわち、下位統計情報更新部２２が、更新値Ｗを更新閾値Ｐ［ｉ］で除算して得られる剰余を、新たな下位統計値Ｘｎｅｗ［ｉ，ｊ］として下位メモリ２３に書き込むとともに、更新値Ｗを更新閾値Ｐ［ｉ］で除算して得られる商を、新たな上位統計値Ｙｎｅｗ［ｉ，ｊ］として更新指示Ｑ［ｉ，ｊ］で上位統計情報更新部２４に指示し、上位統計情報更新部２４が、この更新指示Ｑ［ｉ，ｊ］で指示された新たな上位統計値Ｙｎｅｗ［ｉ，ｊ］を上位メモリ１３に書き込めばよい。
【００５３】
なお、更新閾値Ｐ［ｉ］として統計値増分ΔＷの最大値より大きい値が設定されている場合を前提とした場合でも、更新値Ｗから更新閾値Ｐ［ｉ］が差し引かれた値は、更新値Ｗを更新閾値Ｐ［ｉ］で除算して得られる剰余に相当する値であり、下位統計値Ｘ［ｉ，ｊ］から上位統計値Ｙ［ｉ，ｊ］への繰り上げも、更新値Ｗを更新閾値Ｐ［ｉ］で除算して得られる商に相当する値である。
【００５４】
［第１の実施の形態の効果］
このように、本実施の形態は、下位メモリ２３と、この下位メモリ２３と比較してランダムアクセス速度および単位記憶容量当たりのコストが低いメモリからなる上位メモリ１３とを設け、下位統計情報更新部２２が、入力フレームＦｉｎから取得した識別子ｊに関する下位統計値Ｘ［ｉ，ｊ］を下位メモリ２３から読み出して、識別子ｊに関する統計値増分ΔＷ［ｉ，ｊ］と加算することにより更新値Ｗを求め、更新値Ｗのうち更新閾値Ｐ［ｉ］未満である場合、更新値Ｗを統計値Ｘｎｅｗ［ｉ，ｊ］として下位メモリ２３に書き込み、更新値Ｗが更新閾値Ｐ［ｉ］以上である場合、更新値Ｗから更新閾値Ｐ［ｉ］を差し引いて得られた値を、識別子ｊに関する新たな下位統計値Ｘｎｅｗ［ｉ，ｊ］として下位メモリ２３に書き込み、上位統計情報更新部２４が、更新値Ｗが更新閾値Ｐ［ｉ］以上である場合、識別子ｊに関する上位統計値Ｙ［ｉ，ｊ］を上位メモリ１３から読み出して１を加算した値を、当該識別子に関する新たな上位統計値Ｙｎｅｗ［ｉ，ｊ］として上位メモリ１３に書き込むようにしたものである。
【００５５】
これにより、統計情報が更新閾値Ｐ［ｉ］を境として、下位桁の値からなる下位統計値Ｘ［ｉ，ｊ］と、上位桁の値からなる上位統計値Ｙ［ｉ，ｊ］とに分解され、下位統計値Ｘ［ｉ，ｊ］については下位メモリ２３に書き込まれ、上位統計値Ｙ［ｉ，ｊ］については上位メモリ１３に書き込まれることになる。
【００５６】
この際、下位統計値Ｘ［ｉ，ｊ］は、上位統計値Ｙ［ｉ，ｊ］と比較して更新頻度が高くなるが、下位メモリ２３は、上位メモリ１３と比較してランダムアクセス速度が高いため、フレームレートの高速化にも十分対応することができる。一方、上位メモリ１３は、下位メモリ２３と比較してランダムアクセス速度が低いものの、その更新頻度が低いため、フレームレートの高速化にも十分対応することができる。
【００５７】
例えば、フレーム数を計数する統計情報の場合は、アクセス頻度を、１／更新閾値Ｐ［ｉ］に削減でき、バイト数を計数する統計情報の場合は、アクセス頻度を１／（更新閾値Ｐ［ｉ］／平均フレーム長＋１）に削減できる。これにより、統計情報を上位メモリ１３に書き込む場合に、メモリの帯域制限やＣＡＳ／ＲＡＳなどのレイテンシに起因して発生する統計情報の更新失敗という問題を解消し、統計情報を確実に収集することができる。
【００５８】
また、下位メモリ２３は、上位メモリ１３と比較して単位記憶容量当たりのコストが高いものの、識別子ｊごとに更新閾値Ｐ［ｉ］分の下位統計情報エントリＥＸ［ｉ］の記憶容量だけあればよいため、記憶容量の増大を抑制でき、コストアップを抑制できる。
例えば、統計情報全体のビット数を３２ビットとし、下位統計値Ｘ［ｉ，ｊ］のビット数を８ビットした場合、上位統計値Ｙ［ｉ，ｊ］のビット数は２４ビットとなる。したがって、統計情報を保存するメモリのすべてを、ＳＲＡＭなどからなる下位メモリ２３相当のメモリで構成した場合には、各エントリについて３２ビット必要となるが、本実施の形態によれば８ビットで済むため、下位メモリ２３の記憶容量が１／４に削減できる。
【００５９】
したがって、統計情報を保存するメモリのすべてを、ＳＲＡＭなどからなる下位メモリ２３相当のメモリで構成した場合と比較して、上位メモリ１３相当の記憶容量分だけコストを削減でき、フレームレートの高速化にも十分対応することができる。また、統計情報を保存するメモリのすべてを、ＳＤＲＡＭなどからなる上位メモリ１３相当のメモリで構成した場合と比較して、フレームレートの高速化に十分対応することができる。
このため、本実施の形態によれば、収集した多数の統計情報を、少ないコストアップで正確にメモリに保存することが可能となる。
【００６０】
実際の回路設計にあたっては、上位メモリ１３へのアクセス頻度が、統計情報収集のために許容される上限を超えないよう、更新閾値Ｐ［ｉ］の値を決定する必要がある。したがって、更新閾値Ｐ［ｉ］とアクセス頻度の関係式を用いて、アクセス頻度の上限値から更新閾値Ｐ［ｉ］の値を特定し、この更新閾値Ｐ［ｉ］の値に基づいて、上位メモリ１３のメモリサイズを決定することになる。なお、アクセス頻度の上限値は、上位メモリ１３の性能（使用されるＤＤＲ３−ＳＤＲＡＭなど  の帯域やＣＡＳ／ＲＡＳなどのレイテンシ）と、上位メモリ１３を通信装置１０が有する他の機能で用いるときの機能ごとに必要なメモリ帯域の情報に基づいて求めればよい。
【００６１】
［第２の実施の形態］
次に、図９を参照して、本発明の第２の実施の形態にかかる通信装置１０について説明する。図９は、第２の実施の形態にかかる通信装置の構成を示すブロック図である。
【００６２】
第１の実施の形態では、下位統計情報更新部２２から上位統計情報更新部２４に対して、更新指示Ｑ［ｉ，ｊ］を直接出力する場合を例として説明したが、この更新指示Ｑ［ｉ，ｊ］に基づき上位統計情報更新部２４が指定された上位統計値Ｙ［ｉ，ｊ］の更新を完了するまでの間に、新たな更新指示Ｑ［ｉ，ｊ］が下位統計情報更新部２２から出力される場合がある。本実施の形態では、下位統計情報更新部２２から更新指示Ｑ［ｉ，ｊ］を一時保存するＦＩＦＯバッファ２７を設けた場合について説明する。
【００６３】
すなわち、本実施の形態において、ＦＩＦＯバッファ２７は、下位統計情報更新部２２から更新指示Ｑ［ｉ，ｊ］を出力順に一時保存する機能と、上位統計情報更新部２４からの読出要求ＥＮに基づき、最先のものから順に更新指示Ｑ［ｉ，ｊ］を出力する機能とを有している。
本実施の形態にかかるその他の構成については第１の実施の形態と同様であり、ここでの詳細な説明は省略する。
【００６４】
［第２の実施の形態の動作］
次に、本実施の形態にかかる通信装置１０の動作について説明する。
前述した図５ステップ１０８において、下位統計情報更新部２２から出力された更新指示Ｑ［ｉ，ｊ］は、ＦＩＦＯバッファ２７に順次保存される。
上位統計情報更新部２４は、上位統計値Ｙ［ｉ，ｊ］の更新が完了するごとに、読出要求ＥＮを出力する。これに応じて、ＦＩＦＯバッファ２７は、保存している更新指示Ｑ［ｉ，ｊ］の最先のものを１つ選択して上位統計情報更新部２４に出力する。
【００６５】
ＦＩＦＯバッファ２７は、これに応じて最先の更新指示Ｑ［ｉ，ｊ］を１つ取得し、取得後、読出要求ＥＮの出力を停止する。これにより、後続の更新指示Ｑ［ｉ，ｊ］は、ＦＩＦＯバッファ２７に順次保存される。
【００６６】
［第２の実施の形態の効果］
このように、本実施の形態は、ＦＩＦＯバッファ２７が、下位統計情報更新部２２から出力された更新指示Ｑ［ｉ，ｊ］をその出力順に保存し、上位統計情報更新部２４からの読出要求ＥＮに応じて最先の更新指示Ｑ［ｉ，ｊ］を上位統計情報更新部２４へ出力するようにしたものである。
したがって、上位統計値Ｙ［ｉ，ｊ］の更新を完了するまでの間に、新たな更新指示Ｑ［ｉ，ｊ］が下位統計情報更新部２２から出力された場合には、ＦＩＦＯバッファ２７で一時保存されるため、新たな更新指示Ｑ［ｉ，ｊ］に関する上位統計値Ｙ［ｉ，ｊ］の更新処理が、ＦＩＦＯバッファ２７で保留されることになる。これにより、上位統計値Ｙ［ｉ，ｊ］の更新処理の輻輳を回避することができる。
【００６７】
［実施の形態の拡張］
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
【符号の説明】
【００６８】
１０…通信装置、１１…通信Ｉ／Ｆ部、１２…フレーム処理部、１３…上位メモリ、２１…フレーム信号生成部、２２…下位統計情報更新部、２３…下位メモリ、２４…上位統計情報更新部、２５…メモリＩ／Ｆ部、２６…制御部、２７…ＦＩＦＯバッファ、Ｓｒ…受信信号、Ｓｓ…送信信号、Ｆｉｎ…入力フレーム、Ｆｏｕｔ…出力フレーム、Ｓｆ…フレーム信号、Ｑ…更新要求、ＥＮ…読出要求、Ｘ…下位統計値、ＴＸ…下位統計情報テーブル、ＥＸ…下位統計情報エントリ、Ｙ…上位統計値、ＴＹ…上位統計情報テーブル、ＥＹ…上位統計情報エントリ、Ｐ…更新閾値、ΔＷ…統計値増分、Ｗ…更新値、ＮＷ…通信ネットワーク。
【図１】
2016103672.tif 000003
【図２】
2016103672.tif 000004
【図３】
2016103672.tif 000005
【図４】
2016103672.tif 000006
【図５】
2016103672.tif 000007
【図６】
2016103672.tif 000008
【図７】
2016103672.tif 000009
【図８】
2016103672.tif 000010
【図９】
2016103672.tif 000011