(57)【要約】      （修正有）【課題】処理負荷を増大させることなく、識別子毎に統計情報を継続して計数しながら、全ての識別子について同じ時点での統計情報を収集できるようにする。【解決手段】統計情報収集部２に現在値テーブルＴＢ１と記録値テーブルＴＢ２を設ける。統計情報収集部２は、フレーム信号Ｓ１が入力される毎に、現在値テーブルＴＢ１中の統計情報の現在値を更新する（現在値更新処理）。また、記録更新指示Ｓ２1が入力された時点から記録維持指示Ｓ２2が入力されるまでの期間内に、記録値更新処理と記録値改定処理を実行する。記録値更新処理では、現在値更新処理が実行される毎に、更新された現在値テーブルＴＢ１中の現在値を記録値として、記録値テーブルＴＢ２中に保持させる。記録値改定処理では、少なくとも記録値更新処理の対象となっていない現在値テーブルＴＢ１中の現在値を記録値として、記録値テーブルＴＢ２中に保持させる。【選択図】図８
2018098667.tif 000002
【特許請求の範囲】
【請求項１】
識別子が付与されたフレーム信号に関する最新の統計情報を統計情報の現在値として前記識別子別に保持する第１のテーブルと、
前記第１のテーブルに保持されている前記統計情報の現在値を統計情報の記録値として前記識別子別に保持する第２のテーブルと、
前記フレーム信号が入力される毎に、そのフレーム信号に関する最新の統計情報を統計情報の新しい現在値として求め、そのフレーム信号に付与されている前記識別子に対応する前記第１のテーブル中の前記統計情報の現在値を前記新しい現在値に更新する現在値更新処理を実行する現在値更新処理手段と、
前記第２のテーブルに保持されている前記統計情報の記録値の更新を指示する記録更新指示および前記第２のテーブルに保持されている前記統計情報の記録値の維持を指示する記録維持指示を、前記記録更新指示、前記記録維持指示の順で受けて、前記第２のテーブルに保持されている前記統計情報の記録値に対して所定の処理を行う記録値処理手段とを備え、
前記記録値処理手段は、
前記所定の処理として、
前記記録更新指示が入力された時点から前記記録維持指示が入力されるまでの期間内に、
前記現在値更新処理手段が前記現在値更新処理を実行する毎に、その現在値更新処理によって更新された前記第１のテーブル中の前記統計情報の現在値を記録値として前記第２のテーブルに保持させる記録値更新処理と、
少なくとも前記記録値更新処理の対象となっていない前記第１のテーブル中の前記統計情報の現在値を記録値として前記第２のテーブルに保持させる記録値改定処理とを実行する
ことを特徴とする通信装置。
【請求項２】
請求項１に記載された通信装置において、
前記記録値処理手段は、
前記所定の処理として、さらに、
前記記録維持指示が入力された時点で、前記記録値更新処理および前記記録値改定処理を停止し、前記第２のテーブルにおける前記統計情報の記録値の値を次の前記記録更新指示が入力されるまで維持する処理を実行する
ことを特徴とする通信装置。
【請求項３】
請求項２に記載された通信装置において、
前記記録値処理手段は、
前記所定の処理として、さらに、
前記記録値更新指示が入力された時点で、前記第２のテーブルにおける前記統計情報の記録値の値の維持を解除する処理を実行する
ことを特徴とする通信装置。
【請求項４】
識別子が付与されたフレーム信号に関する最新の統計情報を統計情報の現在値として前記識別子別に保持する第１のテーブルと、前記第１のテーブルに保持されている前記統計情報の現在値を統計情報の記録値として前記識別子別に保持する第２のテーブルとを備えた通信装置に適用される統計情報収集方法であって、
前記フレーム信号が入力される毎に、そのフレーム信号に関する最新の統計情報を統計情報の新しい現在値として求め、そのフレーム信号に付与されている前記識別子に対応する前記第１のテーブル中の前記統計情報の現在値を前記新しい現在値に更新する現在値更新処理を実行する現在値更新処理ステップと、
前記第２のテーブルに保持されている前記統計情報の記録値の更新を指示する記録更新指示および前記第２のテーブルに保持されている前記統計情報の記録値の維持を指示する記録維持指示を、前記記録更新指示、前記記録維持指示の順で受けて、前記第２のテーブルに保持されている前記統計情報の記録値に対して所定の処理を行う記録値処理ステップとを備え、
前記記録値処理ステップは、
前記所定の処理として、
前記記録更新指示が入力された時点から前記記録維持指示が入力されるまでの期間内に、
前記現在値更新処理手段が前記現在値更新処理を実行する毎に、その現在値更新処理によって更新された前記第１のテーブル中の前記統計情報の現在値を記録値として前記第２のテーブルに保持させる記録値更新処理と、
少なくとも前記記録値更新処理の対象となっていない前記第１のテーブル中の前記統計情報の現在値を記録値として前記第２のテーブルに保持させる記録値改定処理とを実行する
ことを特徴とする統計情報収集方法。
【請求項５】
請求項４に記載された統計情報収集方法において、
前記記録値処理ステップは、
前記所定の処理として、さらに、
前記記録維持指示が入力された時点で、前記記録値更新処理および前記記録値改定処理を停止し、前記第２のテーブルにおける前記統計情報の記録値の値を次の前記記録更新指示が入力されるまで維持する処理を実行する
ことを特徴とする統計情報収集方法。
【請求項６】
請求項５に記載された統計情報収集方法において、
前記記録値処理ステップは、
前記所定の処理として、さらに、
前記記録値更新指示が入力された時点で、前記第２のテーブルにおける前記統計情報の記録値の値の維持を解除する処理を実行する
ことを特徴とする統計情報収集方法。
【請求項７】
請求項４〜６の何れか１項に記載された統計情報収集方法における各ステップの処理をコンピュータに実行させるための統計情報収集プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フレームによりデータ通信を行う通信システムにおいて、送受信フレームや廃棄フレームのフレーム数やバイト数などを計数し、統計情報として収集する通信装置、統計情報収集方法および統計情報収集プログラムに関する。
【背景技術】
【０００２】
フレームによりデータ通信を行う通信システムでは、通信システムの保守・監視・管理を目的として、通信システム内で使用される各通信装置に、送受信フレームや廃棄フレームのフレーム数やバイト数などを計数し、統計情報として収集する機能を設けている。
【０００３】
これらの統計情報の収集は、装置単位で行うのではなく、各フレームに識別子として付与した識別番号（フレームが入力された入力ポート番号、フレームを転送した出力ポート番号、フレームから抽出したヘッダ情報を検索キーとして検索テーブルを検索したときの適合エントリ番号、フレームが属するフロー別にタグ操作を行うときのフロー番号、廃棄判定したフレームの廃棄要因を表す廃棄要因番号、フレームの優先制御を行うときの優先度クラス番号、フレームをキューに蓄積するときのキュー番号など）単位で行うことが一般的である。
【０００４】
例えば、特許文献１には、このような統計情報を収集する機能を備えた通信装置が示されている。この特許文献１に示された通信装置は、識別番号別に統計情報を収集し、収集された統計情報を読み取って通信システムの保守・監視・管理を行う。この通信装置では、多数の識別番号について統計情報を保持するために、面積当たりの記憶容量が大きいメモリ回路を用いることが一般的である。メモリ回路を使用して統計情報を保持する場合、識別番号をメモリのアドレスに対応づけ、アドレスが指すメモリのワードに識別番号に対応する統計情報を格納する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１０３６７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、メモリ回路を用いて統計情報を保持する場合、通常、同時にアクセスできる統計情報は同じアドレスのワードに格納されている統計情報、つまり、１個の識別番号に対応する統計情報に限られ、多数の識別番号に対応する統計情報に同時にアクセスする（メモリに格納された統計情報を読み出す、あるいは、メモリに統計情報を書き込む）ことはできない。
【０００７】
このため、全ての識別番号に対応する統計情報を同時に読み取ることができず、識別番号の順番で１個ずつ読み取ることになる。その結果、識別番号Ａに対応した統計情報＃Ａが読み取られた時点ＴＡと、別の識別番号Ｂに対応した統計情報＃Ｂが読み取られた時点ＴＢとの間に、新たなフレームに対するフレーム処理や新たなフレームに関する統計情報の更新が発生する可能性がある。
【０００８】
このように、各識別番号の統計情報は同一期間に収集された値とは限らないため、識別番号間で統計情報の値を比較する場合や、複数の識別番号に対する統計情報を合計する場合などに、その比較結果や合計した結果などが不正確となるという問題があった。例えば、統計情報＃Ｂの値が統計情報＃Ａの値より大きい場合であっても、同一期間に収集された値ではないため、識別番号Ｂのフレームの方が識別番号Ａのフレームよりも高レートであるとは判定できない。また、識別番号Ａと識別番号Ｂの両フレームの統計情報を別途収集し、統計情報の不整合に基づいてシステム障害を検出しようとしても、統計情報が整合することが保証されないため、統計情報の不整合に基づいてシステム障害を検出することはできない。
【０００９】
なお、全ての識別番号を対象として統計情報の収集開始と収集停止を行うことにより、識別番号毎の収集期間を一致させることはできる。しかし、収集停止後は統計情報の更新が止まるため、統計情報を収集していない期間が生じ、継続した通信システムの保守・監視・管理ができなくなる、という別の問題が生じる。例えば、統計情報を収集していない期間に、統計情報を収集していれば検知可能な装置故障などが発生した場合に、これを検知することができない。
【００１０】
ただし、２つのメモリを用意し、一方のメモリを使用した統計情報の収集を停止するときは、それと同時に他方のメモリを使用した統計情報の収集を開始することによって、統計情報を収集していない期間が生じないように対処することができる。しかし、各メモリに保持されている統計情報は、そのメモリが統計情報の収集のために使用されている期間のみで収集された統計情報であるため、継続して収集された統計情報を得るためには、２つのメモリから、それぞれ識別番号の数と同じ個数の統計情報を読み取って、識別番号毎に合算するなどの処理が必要となる。このため、収集された統計情報を読み取って通信システムの保守・監視・管理を行うとき、識別番号の数と同じ回数の合算処理が必要となり、統計情報収集に要する処理負荷が増大する、という問題が生じる。
【００１１】
本発明は、このような課題を解決するためになされたもので、その目的とするところは、処理負荷を増大させることなく、識別子毎に統計情報を継続して計数しながら、全ての識別子について同じ時点での統計情報を収集することが可能な通信装置、統計情報収集方法および統計情報収集プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
このような目的を達成するために本発明は、識別子が付与されたフレーム信号（Ｓ１）に関する最新の統計情報を統計情報の現在値として識別子別に保持する第１のテーブル（ＴＢ１）と、第１のテーブルに保持されているフレーム信号に関する統計情報の現在値を統計情報の記録値として識別子別に保持する第２のテーブル（ＴＢ２）と、フレーム信号が入力される毎に、そのフレーム信号に関する最新の統計情報を統計情報の新しい現在値として求め、そのフレーム信号に付与されている識別子に対応する第１のテーブル中の統計情報の現在値を新しい現在値に更新する現在値更新処理を実行する現在値更新処理手段（２１）と、第２のテーブルに保持されている統計情報の記録値の更新を指示する記録更新指示（Ｓ２1）および第２のテーブルに保持されている統計情報の記録値の維持を指示する記録維持指示（Ｓ２2）を、記録更新指示、記録維持指示の順で受けて、第２のテーブルに保持されている統計情報の記録値に対して所定の処理を行う記録値処理手段（２２）とを備え、記録値処理手段は、所定の処理として、記録更新指示が入力された時点から記録維持指示が入力されるまでの期間内に、現在値更新処理手段が現在値更新処理を実行する毎に、その現在値更新処理によって更新された第１のテーブル中の統計情報の現在値を記録値として第２のテーブルに保持させる記録値更新処理と、少なくとも記録値更新処理の対象となっていない第１のテーブル中の統計情報の現在値を記録値として第２のテーブルに保持させる記録値改定処理とを実行することを特徴とする。
【００１３】
この発明では、フレーム信号（Ｓ１）が入力される毎に、現在値更新処理が実行される。この現在値更新処理では、そのフレーム信号（Ｓ１）に関する最新の統計情報が統計情報の新しい現在値として求められ、そのフレーム信号（Ｓ１）に付与されている識別子に対応する第１のテーブル（ＴＢ１）中の統計情報の現在値が新しい現在値（更新値）に更新される。この現在値更新処理は継続的に実行されるが、記録更新指示（Ｓ２1）を受けると、この記録更新指示（Ｓ２1）が入力された時点から記録維持指示（Ｓ２2）が入力されるまでの期間内に、記録値更新処理と記録値改定処理とが実行される。
【００１４】
この場合、記録値更新処理では、現在値更新処理が実行される毎に、現在値更新処理によって更新された第１のテーブル（ＴＢ１）中の統計情報の現在値が記録値として、第２のテーブル（ＴＢ２）に保持される。また、記録値改定処理では、少なくとも記録値更新処理の対象となっていない第１のテーブル（ＴＢ１）中の統計情報の現在値が記録値として、第２のテーブル（ＴＢ２）に保持される。
【００１５】
これにより、第２のテーブル（ＴＢ２）には、記録更新指示（Ｓ２1）が入力された時点から記録維持指示（Ｓ２2）が入力されるまでの期間中に、第１のテーブル（ＴＢ１）に継続して収集され保持されている全ての識別子に対応する統計情報の現在値が記録値として保持されるものとなる。
【００１６】
本発明において、記録維持指示（Ｓ２2）が入力された時点で、記録値更新処理および記録値改定処理を停止し、第２のテーブル（ＴＢ２）における統計情報の記録値の値を次の記録更新指示（Ｓ２1）が入力されるまで維持させるようにすれば、記録維持指示（Ｓ２2）が入力された後、次の記録更新指示（Ｓ２1）が入力されるまでの期間内に、第２のテーブル（ＴＢ２）に保持されている統計情報の記録値を識別子毎に読み取るようにして、記録維持指示（Ｓ２2）が入力された時点での全ての識別子に対応する継続して収集された統計情報を取得することが可能となる。
【００１７】
なお、上記説明では、一例として、発明の構成要素に対応する図面上の構成要素を、括弧を付した参照符号によって示している。
【発明の効果】
【００１８】
以上説明したことにより、本発明によれば、記録更新指示が入力された時点から記録維持指示が入力されるまでの期間内に、第１のテーブルに継続して収集され保持されている全ての識別子に対応する統計情報の現在値が記録値として第２のテーブルに保持されるものとなり、処理負荷を増大させることなく、識別子毎に統計情報を継続して計数しながら、全ての識別子について同じ時点での統計情報を収集することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】図１は、本発明の実施の形態に係る通信装置のハードウェア構成の概略を示す図である。
【図２】図２は、この通信装置の要部の機能ブロック図である。
【図３Ａ】図３Ａは、この通信装置の統計情報収集部に設けられる現在値テーブルを例示する図である。
【図３Ｂ】図３Ｂは、この通信装置の統計情報収集部に設けられる記録値テーブルを例示する図である。
【図４】図４は、この通信装置の統計情報収集部の動作を表すフローチャートである。
【図５】図５は、この通信装置の統計情報収集部において実行される現在値更新処理を説明する図である。
【図６】図６は、この通信装置の統計情報収集部において実行される記録値更新処理を説明する図である。
【図７】図７は、この通信装置の統計情報収集部において実行される記録値改定処理を説明する図である。
【図８】図８は、この通信装置における統計情報収集部の要部の機能ブロック図である。
【図９】図９は、この通信装置の統計情報収集部の動作を表す状態遷移図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００２１】
図１は本発明の実施の形態に係る通信装置１００のハードウェア構成の概略を示す図である。この通信装置１００は、中央演算処理装置（ＣＰＵ）１０１と、ランダムアクセスメモリ（ＲＡＭ）１０２と、読み出し専用メモリ（ＲＯＭ）１０３と、ハードディスクなどの記憶装置１０４と、インタフェース１０５，１０６と、これらを接続する母線１０７とを備えている。また、この通信装置１００には、本実施の形態特有のプログラムとして、統計情報収集プログラムがインストールされている。
【００２２】
通信装置１００において、ＣＰＵ１０１は、ＲＡＭ１０２やＲＯＭ１０３，記憶装置１０４にアクセスしながら、インストールされている統計情報収集プログラムに従って動作する。この統計情報収集プログラムは、例えばＣＤ−ＲＯＭなどの記録媒体に記録された状態で提供され、この記録媒体から読み出されて記憶装置１０４に記録され、使用可能な状態として通信装置１００にインストールされている。なお、この統計情報収集プログラムは、ネットワークを通して通信装置１００に提供することも可能である。
【００２３】
図２にこの通信装置１００の要部の機能ブロック図を示す。通信装置１００は、ＣＰＵ１０１の処理機能として、フレーム処理部１と、統計情報収集部２と、統計情報収集タイミング生成部３とを備えている。
【００２４】
フレーム処理部１は、受信フレームＦINを入力し、受信フレームＦINに応じた処理を施した後、送信フレームＦOUTとして出力する。図１に示したハードウェア構成において、受信フレームＦINはインタフェース１０５を介して入力され、送信フレームＦOUTはインタフェース１０６を介して出力される。
【００２５】
受信フレームＦINに応じた処理の例は、入力ポートからの受信フレームＦINの入力、受信フレームＦINの出力ポートへの転送、出力ポートからの送信フレームＦOUTの出力、受信フレームＦINから抽出したヘッダ情報を検索キーとする検索テーブルのエントリの検索、受信フレームＦINが属するフロー別のタグ操作、受信フレームＦINに対する廃棄判定、優先度別の受信フレームＦINの優先制御、受信フレームＦINのキューへの蓄積などである。
【００２６】
フレーム処理部１は、受信フレームＦINに応じた処理を行うために、識別番号を受信フレームＦINに付与し、付与した識別番号に応じてその処理内容を変更する。識別番号の例は、受信フレームＦINが入力された入力ポート番号、受信フレームＦINを転送した出力ポート番号、受信フレームＦINから抽出したヘッダ情報を検索キーとして検索テーブルを検索したときの適合エントリ番号、受信フレームＦINが属するフロー別にタグ操作を行うときのフロー番号、廃棄判定した受信フレームＦINの廃棄要因を表す廃棄要因番号、受信フレームＦINの優先制御を行うときの優先度クラス番号、受信フレームＦINをキューに蓄積するときのキュー番号などである。
【００２７】
フレーム処理部１は、受信フレームＦIN毎に識別番号ｉ（ｉは０以上Ｎ未満の任意の整数；Ｎは１以上の整数）を付与したフレーム信号Ｓ１を生成し、この生成したフレーム信号Ｓ１を統計情報収集部２に出力する。このフレーム信号Ｓ１に付与される識別番号ｉが本発明でいう識別子に相当する。この識別子は必ずしも番号でなくてもよい。また、この実施の形態では、識別番号ｉを０を最小値とする整数とするが、ｎ（ｎは１以上の整数）を最小値とする整数であってもよい。
【００２８】
フレーム信号Ｓ１は、フレーム処理部１が受信フレームＦINに応じた処理を行うとき、受信フレームＦIN毎に生成する信号であり、統計情報収集部２においてフレーム数や累計バイト数などを計数するために使用される。例えば、統計情報収集部２においてフレーム数を計数する場合のフレーム信号Ｓ１は、フレーム毎のパルスである。また、統計情報収集部２において累計バイト数を計数する場合のフレーム信号Ｓ１は、フレーム毎のフレーム長に相当するバイト数とパルスの組である。
【００２９】
統計情報収集タイミング生成部３は、通信システムの保守・監視・管理を担う外部装置（通信システムの保守・監視・管理の各処理を行うためのソフトウェアを実行するプロセッサ（（図示せず）））からの要求に基づいて、後述する記録更新指示Ｓ２1および記録維持指示Ｓ２2を表す統計情報収集タイミング信号Ｓ２を生成し、統計情報収集部２に出力する。
【００３０】
外部装置からの要求の例は、指定した周期で統計情報の記録を取ることである。この例の場合、統計情報収集タイミング生成部３は、周期を計るタイマを備え、このタイマに基づいて、つまり要求された周期毎に、統計情報収集タイミング信号Ｓ２を生成することになる。外部装置からの要求の別の例は、要求直後の統計情報の記録を取ることである。この例の場合、統計情報収集タイミング生成部３は、要求を受けたとき、統計情報収集タイミング信号Ｓ２を生成することになる。
【００３１】
統計情報収集タイミング信号Ｓ２の例は、２本のパルス信号の組であり、２本のパルス信号の組の１つが記録更新指示Ｓ２1を表し、他の１つが記録維持指示Ｓ２2を表す。統計情報収集タイミング信号Ｓ２の別の例は、１ビットの信号であり、１ビットの信号の立下がり（値が「１」から「０」に変化する）時点が記録更新指示Ｓ２1を表し、１ビットの信号の立上がり（値が「０」から「１」に変化する）時点が記録維持指示Ｓ２2を表す。統計情報収集タイミング信号Ｓ２において、記録更新指示Ｓ２1と記録維持指示Ｓ２2は、記録更新指示Ｓ２1が先に生成され、所定の時間が経過した後に記録維持指示Ｓ２2が生成される。すなわち、記録更新指示Ｓ２1、記録維持指示Ｓ２2の順で生成される。
【００３２】
統計情報収集部２は、フレーム信号Ｓ１に関する現時点の統計情報（最新の統計情報）を統計情報の現在値として識別番号別に保持する現在値テーブルＴＢ１（本発明でいう第１のテーブルに相当）と、現在値テーブルＴＢ１に保持されているフレーム信号Ｓ１に関する統計情報の現在値を統計情報の記録値として識別子別に保持する記録値テーブルＴＢ２（本発明でいう第２のテーブルに相当）とを備えている。
【００３３】
現在値テーブルＴＢ１と記録値テーブルＴＢ２は、それぞれ、各識別番号ｉ（ｉは０以上Ｎ未満の任意の整数）に対応する統計情報＃ｉを保持することが可能であり（図３Ａ、図３Ｂ参照）、識別番号ｉを指定して保持されている統計情報＃ｉを取得することと、識別番号ｉと統計情報＃ｉを指定して保持されている統計情報＃ｉを更新することができる。
【００３４】
現在値テーブルＴＢ１や記録値テーブルＴＢ２を回路として実装する場合は、現在値テーブルＴＢ１と記録値テーブルＴＢ２に対応した各メモリを統計情報収集部２に備え、各メモリのアドレスｉに、識別番号ｉに対応する統計情報＃ｉを記憶する。この場合、メモリからアドレスｉのワードを読み出したときの読出値が、保持されている統計情報＃ｉの値であり、メモリのアドレスｉのワードに統計情報＃ｉ（新しい統計情報＃ｉ）を書き込むことによって、保持されている統計情報＃ｉ（直前の統計情報＃ｉ）を更新することができる。
【００３５】
なお、上記の例では、識別番号ｉは０を最小値とする整数であるが、ｎ（ｎは１以上の整数）を最小値とする整数であってもよい。この場合、メモリのアドレスｉ−ｎに統計情報＃ｉを記憶することで、不要な統計情報ｉ’（ｉ’＝０．．．ｎ−１）用のメモリ領域を用意しなくとも済む。また、メモリのアドレスｉ＋ｍ（ｍは１以上の整数）に、識別番号ｉに対応する統計情報＃ｉを記憶することも可能であり、メモリを別の統計情報を記憶するためにも利用することができる（例えばｍ＝Ｎとして、識別番号ｉのフレーム数を、メモリのアドレスｉのワードに記録し、識別番号ｉの累計バイト数を、メモリのアドレスｉ＋ｍに記録する）。
【００３６】
統計情報収集部２は、統計情報収集タイミング生成部３から送られてくる記録更新指示Ｓ２1および記録維持指示Ｓ２2を受けて、記録値テーブルＴＢ２に保持されている統計情報の記録値に対して所定の処理を行う機能を備えている。この統計情報収集部２が行う所定の処理については後述する。また、記録更新指示Ｓ２1は、記録値テーブルＴＢ２に保持されている統計情報の記録値の更新を指示する指令として、記録維持指示Ｓ２2は、記録値テーブルＴＢ２に保持されている統計情報の記録値の維持を指示する指令として、統計情報収集タイミング生成部３から統計情報収集部２に入力される。
【００３７】
図４に、統計情報収集部２の動作を表すフローチャートを示す。なお、この動作の開始時、現在値テーブルＴＢ１と記録値テーブルＴＢ２はクリアされ、ｊ＝０としてループカウンタの初期化が行われているものとする。
【００３８】
統計情報収集部２は、フレーム信号Ｓ１が入力されると（ステップＳ１０１のＹＥＳ）、この入力されたフレーム信号Ｓ１に付与されている識別番号ｉ（ｉは０以上Ｎ未満の任意の整数）に対応する現在値テーブルＴＢ１中の統計情報＃ｉを更新し、最新の統計情報＃ｉとする（図５参照）。
【００３９】
すなわち、統計情報収集部２は、現在値テーブルＴＢ１に保持されている統計情報＃ｉ（直前の現在値）を取得し（ステップＳ１０２）、入力されたフレーム信号Ｓ１と取得した統計情報＃ｉ（直前の現在値）とに基づき統計情報＃ｉの更新値（新しい現在値）を算出し（ステップＳ１０３）、現在値テーブルＴＢ１中の統計情報＃ｉ（直前の現在値）をステップＳ１０３で算出した統計情報＃ｉの更新値（新しい現在値）に書き替える（ステップＳ１０４）。このステップＳ１０２〜Ｓ１０４の処理を「現在値更新処理」と呼ぶ。統計情報収集部２は、フレーム信号Ｓ１が入力される毎に、この現在値更新処理を繰り返す。
【００４０】
例えば、統計情報がフレーム数の場合、ステップＳ１０２〜Ｓ１０４での現在値更新処理では、識別番号ｉが付与されているフレーム信号Ｓ１を受けて、現在値テーブルＴＢ１から統計情報＃ｉ（直前の現在値）を取得し（現在値テーブルＴＢ１に対応するメモリのアドレスｉを読み出して読出値を統計情報＃ｉ（直前の現在値）とし）、この取得した統計情報＃ｉ（直前の現在値）に１を加えた値を統計情報＃ｉの更新値（新しい現在値）として現在値テーブルＴＢ１に保持させる（現在値テーブルＴＢ１に対応するメモリのアドレスｉに更新値（新しい現在値）を書き込む）。
【００４１】
例えば、統計情報として累計バイト数を計数する場合、ステップＳ１０２〜Ｓ１０４の現在値更新処理では、識別番号ｉが付与されフレーム長（バイト数）を伴うフレーム信号Ｓ１を受けて、現在値テーブルＴＢ１から統計情報＃ｉ（直前の現在値）を取得し、この取得した統計情報＃ｉ（直前の現在値）にフレーム長（バイト数）を加えた値を統計情報＃ｉの更新値（新しい現在値）として現在値テーブルＴＢ１に保持させる（現在値テーブルＴＢ１に対応するメモリのアドレスｉに更新値（新しい現在値）を書き込む）。
【００４２】
統計情報収集部２は、フレーム信号Ｓ１が入力される毎に現在値更新処理を実行するが、記録更新指示Ｓ２1が入力された時点から記録維持指示Ｓ２2が入力されるまでの期間、すなわち、記録更新指示Ｓ２1が入力され、かつ、記録維持指示Ｓ２2が未入力であるステップＳ１０５のＹＥＳならば、現在値更新処理（ステップＳ１０２〜Ｓ１０４）と併せて記録値更新処理（ステップＳ１０６）を実行する（ステップＳ１０１〜Ｓ１０８の繰り返し）。
【００４３】
ステップＳ１０６での記録値更新処理では、現在値更新処理によって更新された現在値テーブルＴＢ１中の統計情報＃ｉ（更新値（新しい現在値））を記録値として、記録値テーブルＴＢ２中に保持させる（図６参照）。
【００４４】
したがって、識別番号ｉが付与されているフレーム信号Ｓ１に基づいて現在値更新処理と記録値更新処理を終えた時点では、現在値テーブルＴＢ１と記録値テーブルＴＢ２に各々保持されている統計情報＃ｉは、同じ値となる。これにより、記録更新指示Ｓ２1が入力されてから記録維持指示Ｓ２2が入力されるまでの期間内に記録値更新処理が行われた統計情報＃ｉについては、現在値テーブルＴＢ１と記録値テーブルＴＢ２の各保持値は、同一であることが保証される。
【００４５】
また、統計情報収集部２は、記録更新指示Ｓ２1が入力された時点以後、識別番号の順番で、すなわち識別番号に相当するループカウンタｊ＝０．．．Ｎ−１に基づいて、現在値テーブルＴＢ１に保持されている統計情報＃ｊを記録値テーブルＴＢ２の統計情報＃ｊにコピーする記録値改定処理を行う（ステップＳ１１０，Ｓ１１１、図７参照）。
【００４６】
ステップＳ１１０，１１１での記録値改定処理によって、記録更新指示Ｓ２1が入力されてから記録維持指示Ｓ２2が入力されるまでの期間内に記録値更新処理が行われなかった現在値テーブルＴＢ１中の統計情報＃ｉについても、記録値テーブルＴＢ２に保持される。これによって、現在値テーブルＴＢ１と記録値テーブルＴＢ２の各保持値は、同一であることが保証される。
【００４７】
ただし、記録更新指示Ｓ２1が入力されてから記録維持指示Ｓ２2が入力されるまでの期間内に記録値改定処理が完了しなかった場合、つまり、現在値テーブルＴＢ１に保持されている全ての統計情報＃ｊ；ｊ＝０．．．Ｎ−１について記録値テーブルＴＢ２へのコピーが終わらなかった場合は、記録維持指示Ｓ２2が入力された時点での現在値テーブルＴＢ１と記録値テーブルＴＢ２の各保持値の一致が保証されない。このため、統計情報収集タイミング生成部３は、記録値改定処理の完了に必要な時間よりも、記録更新指示Ｓ２1のタイミングから記録維持指示Ｓ２2のタイミングまでの時間が長くなるように、記録更新指示Ｓ２1および記録維持指示Ｓ２2を表す統計情報収集タイミング信号Ｓ２を生成する必要がある。
【００４８】
なお、上記の例では、ループカウンタｊは０を最小値とする整数であるが、ｎ（ｎは１以上の整数）を最小値とする整数であってもよい。この場合は、ｊ＝ｎ．．．Ｎ−１について、現在値テーブルＴＢ１に保持されている統計情報＃ｊを、記録値テーブルＴＢ２の統計情報＃ｊにコピーする。また、ループカウンタｊを識別番号の最小値から１ずつインクリメントして識別番号の最大値に達するまで、記録値改定処理を繰り返すのではなく、識別番号の最大値から１ずつデクリメントして最小値に達するまで、記録値改定処理を繰り返す方法であってもよい。また、使用されている全ての識別番号ｉについて、少なくとも１回、現在値テーブルＴＢ１に保持されている統計情報＃ｉを記録値テーブルＴＢ２の統計情報＃ｉにコピーすることができる方法であれば、ループカウンタｊのインクリメントあるいはデクリメントによらず、全ての識別番号に対して記録値改定処理を行う方法であってもよい。
【００４９】
また、記録値更新処理によって現在値テーブルＴＢ１と記録値テーブルＴＢ２の各統計情報＃ｉが同値になっている識別番号ｉについては、記録値改定処理を省くことができる。例えば、識別番号ｉの各々について、記録値更新処理を実施済か否かを示す記録値更新フラグ＃ｉを設け、記録更新指示Ｓ２1が入力された時点で全ての記録値更新フラグをクリアしておき、識別番号ｉに対する記録値更新処理を行ったときに記録値更新フラグ＃ｉをセットし、ループカウンタｊに基づいて記録値改定処理を行う際に、記録値更新フラグ＃ｊがセットされていない識別番号ｊのみを対象として記録値改定処理を行うようにすれば、記録値更新処理によって現在値テーブルＴＢ１と記録値テーブルＴＢ２の各統計情報＃ｉが同値になっている識別番号ｉについての記録値改定処理を省くことが可能となる。
【００５０】
統計情報収集部２の現在値テーブルＴＢ１に保持されている各統計情報＃ｉは、識別番号ｉが付与されたフレーム信号Ｓ１の入力毎に現在値更新処理が施されるので、統計情報収集部２が動作している間は、識別番号ｉに関して継続して収集された統計情報の値に一致する。
【００５１】
また、統計情報収集部２の記録値テーブルＴＢ２に保持されている各統計情報＃ｊは、記録更新指示Ｓ２1が入力された後、全ての識別番号ｊについて、記録値更新処理または記録値改定処理またはその両方が施される。
【００５２】
全ての識別番号ｊ（ｊ＝０．．．Ｎ−１）について統計情報＃ｊに対する記録値改定処理を行った後は、任意の識別番号ｉ（ｉは０以上Ｎ−１以下の整数）が付与されたフレーム信号Ｓ１を受けたときの現在値更新処理による現在値テーブルＴＢ１の統計情報＃ｉに対する更新と併せて、記録値更新処理による記録値テーブルＴＢ２の統計情報＃ｉに対する現在値テーブルＴＢ１の統計情報＃ｉと同値とするための更新が行われる。
【００５３】
これにより、記録更新指示Ｓ２1が入力されてから記録維持指示Ｓ２2が入力されるまでの期間が終了した時点では、現在値テーブルＴＢ１の統計情報＃ｊと記録値テーブルＴＢ２の統計情報＃ｊは同値となることが保証され、記録値テーブルＴＢ２の統計情報＃ｊは識別番号ｊに関して継続して収集された統計情報の値に一致するものとなる。
【００５４】
統計情報収集部２は、記録維持指示Ｓ２2が入力された時点で、記録値更新処理および記録値改定処理を停止させる。これにより、記録値テーブルＴＢ２に保持された統計情報＃ｊは、記録維持指示Ｓ２2が入力された時点の値を維持する。
【００５５】
したがって、記録維持指示Ｓ２2が入力された後、次の記録更新指示Ｓ２1が入力されるまでの期間は、記録値テーブルＴＢ２に保持された各統計情報＃ｊは、記録維持指示Ｓ２2が入力された時点までに識別番号ｊに関して継続して収集された統計情報の値に一致する。なお、統計情報収集部２は、次の記録更新指示Ｓ２1が入力された時点で、記録維持指示Ｓ２2を契機とする記録値テーブルＴＢ２に保持された統計情報の値の維持を解除し、次の記録維持指示Ｓ２2の入力に備える。
【００５６】
このように、記録維持指示Ｓ２2が入力された後、次の記録更新指示Ｓ２1が入力されるまでの期間は、記録値テーブルＴＢ２に保持された統計情報＃ｊは、記録維持指示Ｓ２2が入力された時点までに識別番号ｊに関して継続して収集された統計情報の値を維持する。この記録値テーブルＴＢ２中の統計情報の値が維持されている期間は、統計情報収集部２の現在値テーブルＴＢ１に保持されている統計情報に対して、識別番号ｉが付与されたフレーム信号Ｓ１の入力毎に現在値更新処理が実行される。
【００５７】
これにより、記録維持指示Ｓ２2が入力された後、次の記録更新指示Ｓ２1が入力されるまでの期間に、記録値テーブルＴＢ２に保持された各統計情報を識別番号毎に１回ずつ記録値テーブルＴＢ２から読み取るようにすれば、記録維持指示Ｓ２2が入力された時点での全ての識別番号に対応する継続して収集された統計情報を取得できるものとなる。
【００５８】
なお、記録値更新処理および記録値改定処理において、現在値テーブルＴＢ１に保持されている統計情報＃ｉの値と記録値テーブルＴＢ２の統計情報＃ｉの値を完全に一致させるのではなく、現在値テーブルＴＢ１に保持されている統計情報＃ｉの値を、通信システムの保守・監視・管理のために必要とされている値に変換し、この変換後の値を記録値テーブルＴＢ２の統計情報＃ｉとして保持することも可能である。
【００５９】
例えば、現在値テーブルＴＢ１に保持されている統計情報＃ｉの値が、１バイトを単位とした累計バイト数であるが、通信システムの保守・監視・管理のために必要な値は１Ｋバイト単位であればよいという場合、１バイトを単位とした累計バイト数の値に対して、１Ｋバイト未満を切り捨てや四捨五入の処理を施して、１Ｋバイト単位の累計バイト数の値に変換し、これを、記録値テーブルＴＢ２の統計情報＃ｉとして保持する。これにより、現在値テーブルＴＢ１に必要とされるメモリ容量よりも小さい容量のメモリを記録値テーブルＴＢ２に用いることができ、装置コストの低減が可能となる。
【００６０】
図８に統計情報収集部２の要部の機能ブロック図を示し、図９に統計情報収集部２の動作を表す状態遷移図を示す。統計情報収集部２は、ＣＰＵ１０１の処理機能として、現在値更新処理部２１と、記録値処理部２２とを備えている。
【００６１】
現在値更新処理部２１は、フレーム信号Ｓ１が入力される毎に、そのフレーム信号Ｓ１に関する最新の統計情報を新しい現在値として求め、そのフレーム信号Ｓ１に付与されている識別番号に対応する現在値テーブルＴＢ１中の統計情報の現在値（直前の現在値）を新しい現在値（更新値）に更新する現在値更新処理を実行する。この現在値更新処理は、図９に示す遷移状態Ｍ１（現在値更新状態），Ｍ２（現在値＆記録値更新状態１），Ｍ３（現在値＆記録値更新状態２）の全てにおいて実行される。
【００６２】
記録値処理部２２は、統計情報収集タイミング生成部３からの記録更新指示Ｓ２1および記録維持指示Ｓ２2を受けて、記憶テーブルＴＢ２に保持されている統計情報の記録値に対して所定の処理を行う。
【００６３】
記録値処理部２２は、前記の所定の処理として、記録更新指示Ｓ２1が入力された時点から記録維持指示Ｓ２2が入力されるまでの期間内に、現在値更新処理部２１が現在値更新処理を実行する毎に、その現在値更新処理によって更新された現在値テーブルＴＢ１中の統計情報の現在値（新しい現在値（更新値））を記録値として記録値テーブルＴＢ２に保持させる記録値更新処理（図９に示す遷移状態Ｍ６（記録値更新状態）参照）と、少なくとも記録値更新処理の対象となっていない現在値テーブルＴＢ１中の統計情報の現在値を記録値として記録値テーブルＴＢ２に保持させる記録値改定処理（図９に示す遷移状態Ｍ５（記録値改定状態）参照）とを実行する。
【００６４】
また、記録値処理部２２は、前記の所定の処理として、さらに、記録維持指示Ｓ２2が入力された時点で、記録値更新処理および記録値改定処理を停止し、記録値テーブルＴＢ２における統計情報の記録値の値を次の記録値更新指示Ｓ２1が入力されるまで維持する処理（図９に示す遷移状態Ｍ４（記録値維持状態）参照）を実行する。また、記録値処理部２２は、前記の所定処理として、さらに、記録値更新指示Ｓ２1が入力された時点で、記録値テーブルＴＢ２における統計情報の記録値の値の維持を解除する処理を実行する。
【００６５】
なお、図９に示す遷移状態Ｍ１では、現在値更新処理（現在値テーブルＴＢ１の統計情報＃ｉの更新）が行われる（例：更新値＝現在値テーブルＴＢ１の統計情報＃ｉ＋１；現在値テーブルＴＢ１の統計情報＃ｉ＝更新値；）。図９に示す遷移状態Ｍ２，Ｍ３では、現在値更新処理（現在値テーブルＴＢ１の統計情報＃ｉの更新）と、記録値更新処理（更新後の現在値テーブルＴＢ１の統計情報＃ｉの記録値テーブルＴＢ２の統計情報＃ｉへの反映）が行われる（例：更新値＝現在値テーブルＴＢ１の統計情報＃ｉ＋１；現在値テーブルＴＢ１の統計情報＃ｉ＝更新値；記録値テーブルＴＢ２の統計情報＃ｉ＝更新値；）。図９に示す遷移状態Ｍ５では、全ての識別番号ｊ（ｊ＝０．．．Ｎ−１）に対して記録値改定処理（現在値テーブルＴＢ１の統計情報＃ｊの値の記録値テーブルＴＢ２の統計情報＃ｊへの反映）が行われる（例：ｆｏｒ  ｊ＝０．．．Ｎ−１｛更新値＝現在値テーブルＴＢ１の統計情報＃ｊ；記録値テーブルＴＢ２の統計情報＃ｊ＝更新値；｝）。
【００６６】
従来の技術では、前述したように、全ての識別番号に対応する統計情報を同時に読み取ることができず、識別番号の順番で１個ずつ読み取るため、識別番号毎の収集期間を一致させることができず、収集した統計情報の値が不正確になるという問題があった。また、問題に対処するため、全ての識別番号を対象として統計情報の収集開始と収集停止を行うことにより、識別番号毎の収集期間を一致させることができるが、収集停止後は統計情報の更新が止まるため、統計情報を収集していない期間が生じ、継続した統計情報の収集ができない、という問題が生じる。また、問題に対処するため、２個のメモリを用意しておき、一方のメモリを使用した統計情報の収集を停止するときは、それと同時に他方のメモリを使用した統計情報の収集を開始する場合であっても、各メモリに保持されている統計情報について識別番号毎に合算する処理が必要となるため、統計情報収集に要する処理負荷が増大する、という問題が生じる。
【００６７】
これに対して、本実施の形態の通信装置１００では、識別番号毎に１回ずつ記録値テーブルＴＢ２から統計情報を読み取ることによって、記録維持指示Ｓ２2が入力された時点での全ての識別番号に対応する継続して収集された統計情報を取得できる。このため、従来の技術における問題を全て解消することができ、処理負荷を増大させることなく、通信システムの保守・監視・管理のために、識別子毎に統計情報を継続して計数しながら、全ての識別子について同じ時点での統計情報（送受信フレームや廃棄フレームのフレーム数やバイト数）を収集することができるようになる、という効果が得られる。
【００６８】
〔実施の形態の拡張〕
以上、実施の形態を参照して本発明を説明したが、本発明は上記の実施の形態に限定されるものではない。本発明の構成や詳細には、本発明の技術思想の範囲内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００６９】
１…フレーム処理部、２…統計情報収集部、３…統計情報収集タイミング生成部、２１…現在値更新処理部、２２…記録値処理部、ＴＢ１…現在値テーブル、ＴＢ２…記録値テーブル、１００…通信装置、１０１…ＣＰＵ、１０２…ＲＡＭ、１０３…ＲＯＭ、１０４…記憶装置、１０５，１０６…インタフェース。
【図１】
2018098667.tif 000003
【図２】
2018098667.tif 000004
【図３Ａ】
2018098667.tif 000005
【図３Ｂ】
2018098667.tif 000006
【図４】
2018098667.tif 000007
【図５】
2018098667.tif 000008
【図６】
2018098667.tif 000009
【図７】
2018098667.tif 000010
【図８】
2018098667.tif 000011
【図９】
2018098667.tif 000012