(57)【要約】  統計情報の収集における負荷を軽減する。  取得部（１ａ）は、通信装置１が受信したユーザデータ（２）に基づいて通信に関する複数の統計情報（３ａ，３ｂ，３ｃ）を取得し、取得した複数の統計情報（３ａ，３ｂ，３ｃ）に、各統計情報に対応する管理情報（４ａ，４ｂ，４ｃ）を付加した転送統計情報（５）を生成する。制御部（１ｂ）は、取得部（１ａ）により生成された転送統計情報（５）をダイレクトメモリアクセスにより記憶部（１ｃ）に転送する。記憶部（１ｃ）は、制御部（１ｂ）から転送された転送統計情報（５）を記憶する。
2011074052.tif 000002
【特許請求の範囲】
【請求項１】
受信したユーザデータに基づいて通信に関する複数の統計情報を取得し、取得した複数の前記統計情報に管理情報を付加した転送統計情報を生成する取得部と、
前記取得部により生成された前記転送統計情報をダイレクトメモリアクセスにより転送する制御部と、
前記制御部から転送された前記転送統計情報を記憶する記憶部とを有することを特徴とする通信装置。
【請求項２】
前記取得部により生成された前記転送統計情報を一時的に記憶するメモリを有し、
前記制御部は、前記取得部により生成された前記転送統計情報を前記メモリに一旦記憶させてから前記転送統計情報を前記メモリから読み出して転送することにより前記転送統計情報の転送のタイミングを調整することを特徴とする請求の範囲第１項記載の通信装置。
【請求項３】
前記メモリは、後入れ先出しで前記転送統計情報の読み書きが行われることを特徴とする請求の範囲第２項記載の通信装置。
【請求項４】
前記ユーザデータは、制御データとペイロード部とを有し、
前記取得部は、受信した前記ユーザデータに基づいて通信に関する複数の前記統計情報を取得し、取得した複数の前記統計情報に管理情報を付加すると共に前記ユーザデータの前記ペイロード部を削除した前記転送統計情報を生成することを特徴とする請求の範囲第１項記載の通信装置。
【請求項５】
前記管理情報に対応する前記転送統計情報の転送が完了したか否かを示す転送状態情報を記憶する転送状態情報記憶部を有し、
前記制御部は、前記管理情報に対応する前記転送統計情報に関する前記ユーザデータが受信された場合、前記転送統計情報の転送により前記管理情報に対応する前記転送統計情報の転送が完了していないことを示す前記転送状態情報を前記転送状態情報記憶部に記憶させる一方、前記メモリに記憶されている前記転送統計情報の前記記憶部に対する転送が完了した場合、前記転送状態情報記憶部に、前記管理情報に対応する前記転送統計情報の転送が完了したことを示す前記転送状態情報を記憶させることを特徴とする請求の範囲第２項記載の通信装置。
【請求項６】
前記メモリは、前記制御部が有することを特徴とする請求の範囲第２項記載の通信装置。
【請求項７】
前記メモリは、前記取得部と同一のデバイスに形成されており、
前記制御部は、前記メモリを外部信号で制御することを特徴とする請求の範囲第２項記載の通信装置。
【請求項８】
複数の前記統計情報のうちの１つは、ユニキャスト送信を行う前記ユーザデータの受信数であることを特徴とする請求の範囲第１項記載の通信装置。
【請求項９】
複数の前記統計情報のうちの１つは、マルチキャスト送信を行う前記ユーザデータの受信数であることを特徴とする請求の範囲第１項記載の通信装置。
【請求項１０】
複数の前記統計情報のうちの１つは、ブロードキャスト送信を行う前記ユーザデータの受信数であることを特徴とする請求の範囲第１項記載の通信装置。
【請求項１１】
複数の前記統計情報のうちの１つは、バッファの状態を通知するデータの受信数であることを特徴とする請求の範囲第１項記載の通信装置。
【請求項１２】
複数の前記統計情報のうちの１つは、前記ユーザデータの受信バイト数であることを特徴とする請求の範囲第１項記載の通信装置。
【請求項１３】
複数の前記統計情報のうちの１つは、受信された前記ユーザデータの廃棄数であることを特徴とする請求の範囲第１項記載の通信装置。
【請求項１４】
複数の前記統計情報のうちの１つは、所定長の前記ユーザデータの受信数であることを特徴とする請求の範囲第１項記載の通信装置。
【請求項１５】
複数の前記統計情報のうちの１つは、正常なユーザデータの受信数であることを特徴とする請求の範囲第１項記載の通信装置。
【請求項１６】
複数の前記統計情報のうちの１つは、ユニキャスト送信を行う前記ユーザデータの送信数であることを特徴とする請求の範囲第１項記載の通信装置。
【請求項１７】
複数の前記統計情報のうちの１つは、マルチキャスト送信を行う前記ユーザデータの送信数であることを特徴とする請求の範囲第１項記載の通信装置。
【請求項１８】
複数の前記統計情報のうちの１つは、ブロードキャスト送信を行う前記ユーザデータの送信数であることを特徴とする請求の範囲第１項記載の通信装置。
【請求項１９】
複数の前記統計情報のうちの１つは、バッファの状態を通知するデータの送信数であることを特徴とする請求の範囲第１項記載の通信装置。
【請求項２０】
複数の前記統計情報のうちの１つは、前記ユーザデータの送信バイト数であることを特徴とする請求の範囲第１項記載の通信装置。
【請求項２１】
複数の前記統計情報のうちの１つは、送信された前記ユーザデータの廃棄数であることを特徴とする請求の範囲第１項記載の通信装置。
【請求項２２】
複数の前記統計情報のうちの１つは、所定長の前記ユーザデータの送信数であることを特徴とする請求の範囲第１項記載の通信装置。
【請求項２３】
複数の前記統計情報のうちの１つは、正常なユーザデータの送信数であることを特徴とする請求の範囲第１項記載の通信装置。
【請求項２４】
前記統計情報は、サービス毎に集計されることを特徴とする請求の範囲第１項記載の通信装置。
【請求項２５】
前記統計情報は、ポート毎に集計されることを特徴とする請求の範囲第１項記載の通信装置。
【請求項２６】
前記統計情報は、フロー毎に集計されることを特徴とする請求の範囲第１項記載の通信装置。
【請求項２７】
前記管理情報は、前記統計情報と対応付けられており、
前記記憶部は、前記転送統計情報が有する各統計情報を、前記管理情報に従って記憶することを特徴とする請求の範囲第１項記載の通信装置。
【請求項２８】
受信したユーザデータに基づいて通信に関する複数の統計情報を取得し、取得した複数の前記統計情報に管理情報を付加した転送統計情報を生成する取得部と、
前記取得部により生成された前記転送統計情報をダイレクトメモリアクセスにより記憶部に転送する制御部とを有することを特徴とする統計情報収集制御装置。
【請求項２９】
取得部が、受信したユーザデータに基づいて通信に関する複数の統計情報を取得し、取得した複数の前記統計情報に管理情報を付加した転送統計情報を生成し、
制御部が、前記取得部により生成された前記転送統計情報をダイレクトメモリアクセスにより記憶部に転送することを特徴とする統計情報収集制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信時の統計情報を収集する通信装置、統計情報収集制御装置および統計情報収集制御方法に関する。
【背景技術】
【０００２】
パケット等のデータを転送するスイッチ等の通信装置のフォワーディング処理部では、例えば、これまでの各種プロトコルパケットの終端処理に加え、Ｌｉｎｋ  ＯＡＭ（Operations,Administration,Maintenance）、Ｓｅｒｖｉｃｅ  ＯＡＭ等、サービス単位でのＯＡＭ処理の機能を有するものがある。ここで、上記の通信装置では、一般的に統計情報の収集をソフトウェアで処理している。【０００３】
また、処理の高速化を目的としてソフトが管理するメモリへの書き込みをハードウェアで判断し、ＤＭＡ（Direct Memory Access：ダイレクトメモリアクセス）転送により書き込む技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６０−１００２５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、上記の通信装置が収集する統計情報は莫大な数に及ぶ。このため、通信装置は、ソフトウェア処理としては常時高負荷を強いられている。また、通信装置が有するインタフェースカード内部のＣＰＵ（Central Processing Unit）制御バス（例えばＰＣＩ（Peripheral Component Interconnect））の性能は、その限界に迫ってきているという問題点がある。【０００６】
さらに、近年、通信装置のインタフェースカードが収容するポート数の増加およびサービスフロー数の増加の要求も高まっている。この要求は、通信装置が収集する統計情報の増大を意味しており、通信装置はＭＩＢ（Management Information Base）等の所定の時間内に更新される非常に膨大なパケット系統計情報を短時間の間に全て収集しなければならない。その結果、ＣＰＵ制御バスは常時、統計情報収集処理によって高い割合で占有されることになる。これらにより、通信装置の処理の負担及び要求が増加し、処理性能に余裕が少ないことから、通信装置自身の新たな機能および統計情報収集に関する新たな機能の実装の障害となってきているという問題点がある。これにより、新規のアプリケーションを実現するためには、ソフト処理を削減することが急務の課題とされている。【０００７】
また、上記の要求により、従来のＣＰＵ制御バスの転送性能の限界の下で、仮に統計情報の更新間隔を緩和できたとしても、ハードウェアが有する統計情報メモリは、統計情報の収集間隔の間、収集した統計情報を保持しなければならない。この場合、各統計情報のビット増加数が数ビットであったとしても、その統計情報数が、莫大な数（例えば数千個以上）となると、トータルとしての統計情報メモリの増加量は無視できないものとなるという問題点がある。【０００８】
本件はこのような点に鑑みてなされたものであり、統計情報の収集における負荷を軽減する通信装置、統計情報収集制御装置および統計情報収集制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、開示の通信装置、統計情報収集制御装置および統計情報収集制御方法が提供される。開示の通信装置、統計情報収集制御装置および統計情報収集制御方法では、取得部は、受信したユーザデータに基づいて通信に関する複数の統計情報を取得し、取得した複数の統計情報に管理情報を付加した転送統計情報を生成する。制御部は、取得部により生成された転送統計情報をダイレクトメモリアクセスにより転送する。記憶部は、制御部から転送された転送統計情報を記憶する。
【発明の効果】
【００１０】
開示の通信装置、統計情報収集制御装置および統計情報収集制御方法によれば、通信装置においてユーザデータの統計情報の収集における負荷を軽減することが可能になる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態を示す図である。
【図２】第２の実施の形態の通信システムの全体構成を示す図である。
【図３】第２の実施の形態のスイッチのハードウェア構成を示す図である。
【図４】第２の実施の形態のインタフェースカードの構成を示す図である。
【図５】第２の実施の形態のインタフェースカードの機能を示すブロック図である。
【図６】第２の実施の形態の受信フレームのカウンタを示す図である。
【図７】第２の実施の形態の受信フレームのカウンタを示す図である。
【図８】第２の実施の形態の送信フレームのカウンタを示す図である。
【図９】第２の実施の形態の送信フレームのカウンタを示す図である。
【図１０】第２の実施の形態のカウンタの動作を示す図である。
【図１１】第２の実施の形態の転送統計情報生成処理の手順を示すフローチャートである。
【図１２】第２の実施の形態の転送統計情報生成処理の手順を示すフローチャートである。
【図１３】第２の実施の形態の転送統計情報フレームのデータ構造例を示す図である。
【図１４】第２の実施の形態の転送統計情報フレームのデータ構造例を示す図である。
【図１５】第２の実施の形態の転送統計情報フレームのデータ構造例および正常フレーム受信カウンタの値を示す図である。
【図１６】第２の実施の形態の転送統計情報フレームのデータ構造例およびユニキャストフレーム受信カウンタの値を示す図である。
【図１７】第２の実施の形態の転送統計情報フレームのデータ構造例および受信バイト数カウンタの値を示す図である。
【図１８】第２の実施の形態の転送統計情報フレームのデータ構造例および所定サイズフレーム受信数カウンタの値を示す図である。
【図１９】第２の実施の形態の転送統計情報フレームのデータ構造例およびフロー単位正常フレーム受信カウンタの値を示す図である。
【図２０】第２の実施の形態の転送統計情報フレームのデータ構造例およびフロー単位受信バイト数カウンタの値を示す図である。
【図２１】第２の実施の形態の複製されたフレームのデータ構造例を示す図である。
【図２２】第３の実施の形態のインタフェースカードの機能を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、実施の形態について、図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態を示す図である。図１に示す通信装置１は、取得部１ａ、制御部１ｂ、記憶部１ｃを有する。
【００１３】
取得部１ａは、通信装置１が受信したユーザデータ２に基づいて通信に関する複数の統計情報（例えば、統計情報３ａ，３ｂ，３ｃ）を取得し、取得した統計情報３ａ，３ｂ，３ｃに、各統計情報に対応する管理情報（例えば、管理情報４ａ，４ｂ，４ｃ）を付加した転送統計情報５を生成する。これにより、通信装置１が受信したユーザデータ２について取得された統計情報３ａ，３ｂ，３ｃを一度に転送することができ、処理の負担が軽減される。また、転送統計情報５が有する管理情報４ａ，４ｂ，４ｃにより、統計情報３ａ，３ｂ，３ｃを転送時等に管理することができる。
【００１４】
制御部１ｂは、取得部１ａにより生成された転送統計情報５をダイレクトメモリアクセスにより記憶部１ｃに転送する。これにより、転送統計情報５が有する統計情報３ａ，３ｂ，３ｃをハードウェア処理で記憶部１ｃに記憶させることができる。
【００１５】
記憶部１ｃは、制御部１ｂから転送された転送統計情報５を記憶する。
これによって、通信装置による統計情報の収集において、ソフト処理の削減、ＣＰＵ制御バスの占有率の削減、統計情報を格納するメモリ容量の削減を図ることができる。
【００１６】
［第２の実施の形態］
次に、第２の実施の形態について説明する。
なお、以下の実施の形態では通信装置をスイッチとして、特にＭＡＣアドレス（Media Access Control address）に基づいてデータリンク層のフレームを中継するレイヤ（layer）２スイッチを例示しして説明する。なお、これに制限されず、本実施形態は、通信装置として、例えば、ＡＴＭ（Asynchronous Transfer Mode）スイッチ、フレームリレー、ＩＰ（Internet Protocol）アドレスに基づいてネットワーク層のパケットを中継するＩＰルータやレイヤ３スイッチにも適用することができる。また、ＯＳＩ（Open Systems Interconnection）参照モデルにおけるレイヤ２のデータの単位を、パケットと呼ぶこともあるが、以下の実施の形態では、説明の便宜上、すべてフレームに統一して表現する。
【００１７】
図２は、第２の実施の形態の通信システムの全体構成を示す図である。本実施の形態の通信システムは、端末装置間でデータの送受信を行えるように、複数のレイヤ２スイッチがデータリンク層のパケットを中継するものである。
【００１８】
図２に示す通信システムは、スイッチ１００，１００ａ，１００ｂ，１００ｃ，１００ｄと端末装置４０，６１，６２，６３，６４，６５，６６とで構成される。スイッチ１００，１００ａ，１００ｂ，１００ｃ，１００ｄは、レイヤ２スイッチである。端末装置６１，６２，６３，６４，６５，６６は、ユーザが使用する端末装置である。端末装置４０は、スイッチ１００の管理者が使用する端末装置である。スイッチ１００ａ，１００ｂ，１００ｃ，１００ｄは、スイッチ１００と同様に構成されており、同等の機能を有する。
【００１９】
スイッチ１００は、スイッチ１００ａ，１００ｂと接続されている。スイッチ１００ｂは、スイッチ１００ｃ，１００ｄと接続されている。端末装置６１，６２は、スイッチ１００ａと接続されている。端末装置６３，６４は、スイッチ１００ｃと接続されている。端末装置６５，６６は、スイッチ１００ｄと接続されている。端末装置４０は、スイッチ１００と接続されている。２つのスイッチ間またはスイッチと端末装置の間は、１つ以上の物理リンク（ネットワークケーブル）で接続されている。
【００２０】
スイッチ１００，１００ａ，１００ｂ，１００ｃ，１００ｄは、パケットに含まれるアドレスに従って、送信元の端末装置から宛て先の端末装置まで、パケットを中継する。例えば、端末装置６１が端末装置６３へパケットを送信する場合、スイッチ１００ａ、スイッチ１００、スイッチ１００ｂ、スイッチ１００ｃの順にパケットが中継される。
【００２１】
図３は、第２の実施の形態のスイッチのハードウェア構成を示す図である。図３は、スイッチ１００の内部構成を示したものであるが、スイッチ１００ａ，１００ｂ，１００ｃ，１００ｄも同様の構成で実現できる。スイッチ１００は、ＣＰＵ１０１、インタフェースカード１０２ａ，１０２ｂ，１０２ｃ，１０２ｄ、スイッチカード１０３、テーブル記憶メモリ１０４、ポート監視部１０５、バス１０６を有している。
【００２２】
ＣＰＵ１０１は、スイッチ１００全体を制御している。ＣＰＵ１０１は、プログラムによる処理を実行する。ＣＰＵ１０１は、図示しないメモリに保持されたデータを用いて、同じくメモリに保持されたプログラムを実行する。ＣＰＵ１０１は、図示しない通信インタフェースを介して、管理者が使用する端末装置４０から送信されるコマンドを受信するとともに、コマンドに対する実行結果を端末装置４０に応答する。
【００２３】
テーブル記憶メモリ１０４は、複数のテーブルを記憶している。テーブル記憶メモリ１０４に記憶されるテーブルには、リンクの構成を管理するテーブル、フレームの転送先を決定するためのテーブル、フレームの転送先を示す情報を格納するテーブルが含まれる。
【００２４】
バス１０６には、ＣＰＵ１０１、インタフェースカード１０２ａ，１０２ｂ，１０２ｃ，１０２ｄ、スイッチカード１０３、テーブル記憶メモリ１０４、ポート監視部１０５が接続されている。
【００２５】
インタフェースカード１０２ａ，１０２ｂ，１０２ｃ，１０２ｄは、それぞれ複数個（例えば、８個）の通信ポートを有している。それぞれの通信ポートには、１つの物理リンクを接続できる。インタフェースカード１０２ａ，１０２ｂ，１０２ｃ，１０２ｄは、それぞれの通信ポートを監視してフレームを取得する。なお、インタフェースカード１０２ａ，１０２ｂ，１０２ｃ，１０２ｄは、複数の通信ポートに同時にフレームが到来した場合に備えて、フレームを一時的に保持するバッファを内部に有している。そして、インタフェースカード１０２ａ，１０２ｂ，１０２ｃ，１０２ｄは、取得したフレームをスイッチカード１０３に送る。
【００２６】
スイッチカード１０３は、フレームの宛先を示すテーブルを有している。スイッチカード１０３は、テーブルに、受信したフレームの送信元アドレスと、そのフレームが到来した通信ポートまたは論理リンクの識別情報とを対応付けて記憶している。
【００２７】
そして、スイッチカード１０３は、インタフェースカード１０２ａ，１０２ｂ，１０２ｃ，１０２ｄのいずれかからフレームを受け取ると、テーブルを参照して、そのフレームの転送先を決定する。ここで、決定した転送先が論理リンクである場合、スイッチカード１０３は、テーブル記憶メモリ１０４に記憶されたテーブルを参照して、転送に使用する具体的なインタフェースカード１０２ａ，１０２ｂ，１０２ｃ，１０２ｄおよび通信ポートを決定する。その後、スイッチカード１０３は、フレームを、決定したインタフェースカード１０２ａ，１０２ｂ，１０２ｃ，１０２ｄに送る。
【００２８】
フレームを受け取ったインタフェースカード１０２ａ，１０２ｂ，１０２ｃ，１０２ｄは、受け取ったフレームを、決定された通信ポートから送信先に送出する。
ポート監視部１０５は、インタフェースカード１０２ａ，１０２ｂ，１０２ｃ，１０２ｄの通信ポートを監視する。そして、ポート監視部１０５は、インタフェースカード１０２ａ，１０２ｂ，１０２ｃ，１０２ｄの通信ポートに接続された物理リンクの故障や復旧を検出すると、ＣＰＵ１０１にその旨を通知する。
【００２９】
図４は、第２の実施の形態のインタフェースカードの構成を示す図である。図４は、本実施の形態のスイッチ１００が有するインタフェースカード１０２ａの内部構成を示す。なお、図４ではインタフェースカード１０２ａを示しているが、他のインタフェースカード１０２ｂ，１０２ｃ，１０２ｄもインタフェースカード１０２ａと同様の構成を有する。
【００３０】
本実施の形態のインタフェースカード１０２ａは、制御部１１０、物理部１２０、フレーム処理部１３０、キュー制御部１４０、合成部１５０、記憶部１６０を有する。また、インタフェースカード１０２ａは、ＣＰＵ１０１およびスイッチカード１０３と接続されている。
【００３１】
制御部１１０は、インタフェースカード１０２ａの各部を制御する。物理部１２０は、インタフェースカード１０２ａが有する各ポートの物理レイヤの終端を行う。この物理ポートでは、スイッチ１００が接続されているネットワークを用いて統計多重化により転送されるユーザデータがフレームとして入出力される。
【００３２】
フレーム処理部１３０は、インタフェースカード１０２ａが有する各受信ポートのＭＡＣ処理およびフォワーディングの判定を行う。キュー制御部１４０は、トラフィック流量を制御する。このとき、各フレームについてポリシング（Policing）またはシェーピング（Shaping）が行われる。
【００３３】
合成部１５０は、フレーム処理部１３０およびキュー制御部１４０によって収集された統計情報で、記憶部１６０に記憶されている統計情報を更新する。記憶部１６０は、統計情報を記憶する記憶装置であり、ＲＡＭ（Random Access Memory）およびフラッシュメモリ（flash memory）を有する。
【００３４】
本実施の形態のインタフェースカード１０２ａに入力および出力されるフレームは、物理部１２０、フレーム処理部１３０、キュー制御部１４０を、wire-rateにて通過して処理されることになる。このとき、フレーム処理部１３０では、ポート毎のＭＡＣ関連の統計情報およびＶＬＡＮ（Virtual Local Area Network）／ＭＰＬＳ（Multi-Protocol Label Switching）等のサービスフロー単位の統計情報が収集される。キュー制御部１４０では、ポリシングフロー毎の統計、およびシェーピングフロー毎の統計情報が収集される。そして、入出力フレームがこれらを通過する度に、統計情報が取得され、更新される。インタフェースカード１０２ａ等の各インタフェースカードで収集された統計情報は、ＣＰＵ１０１に渡され、スイッチ１００の統計情報として収集および管理される。
【００３５】
図５は、第２の実施の形態のインタフェースカードの機能を示すブロック図である。本実施の形態では、ハードウェア制御により、フレームがスイッチ１００が有するインタフェースカード１０２ａに入力されたことに基づいて、フレームから統計情報が収集される。次に、収集された統計情報を有する転送統計情報フレームがコピーされて記憶部１６０に転送される。この転送された転送統計情報フレームが有する統計情報に基づいて、ソフトウェア制御により、記憶部１６０の統計情報が更新される。
【００３６】
本実施の形態のインタフェースカード１０２ａは、図４において前述したように、物理部１２０、フレーム処理部１３０、キュー制御部１４０、合成部１５０、記憶部１６０を有する。また、フレーム処理部１３０は、収集部１３１ａ，１３１ｂ、コピー部１３２ｂを有する。キュー制御部１４０は、収集部１４１ａ，１４１ｂ、コピー部１４２ａを有する。合成部１５０は、調停部１５３、ＬＩＦＯ（Last-In-First-Out：後入れ先出し）メモリ１５４ａ，１５４ｂ、転送状態情報記憶部１５５を有する。
【００３７】
収集部１３１ａ，１３１ｂ，１４１ａ，１４１ｂは、スイッチ１００が受信し、インタフェースカード１０２ａに入力された、ユーザデータを転送するフレームに基づいて通信に関する複数の統計情報を取得し、取得した複数の統計情報に、各統計情報に対応する管理ＩＤを付加した転送統計情報フレームを生成する。これにより、スイッチ１００が受信したフレームについて取得された複数の統計情報を記憶部１６０に対して一度に転送することができ、処理の負担が軽減される。
【００３８】
収集部１３１ａは、フレーム処理部１３０において、インタフェースカード１０２ａに接続されている通信回線によって物理部１２０に入力されたフレームから統計情報を取得する。収集部１３１ａでは、統計情報を収集する。収集部１３１ｂは、フレーム処理部１３０において、スイッチカード１０３により転送されたフレームから統計情報を取得する。
【００３９】
収集部１４１ａは、キュー制御部１４０において、インタフェースカード１０２ａに接続されている通信回線によって物理部１２０に入力されたフレームから統計情報を取得する。収集部１４１ｂは、キュー制御部１４０において、スイッチカード１０３により転送されたフレームから統計情報を取得する。
【００４０】
ここで、収集部１３１ａ，１３１ｂは、ポート毎のＭＡＣ関連の統計情報およびＶＬＡＮ／ＭＰＬＳ等のサービスフロー単位の統計情報が収集される。また、収集部１４１ａ，１４１ｂでは、ポリシングフロー毎の統計、およびシェーピングフロー毎の統計情報が収集される。
【００４１】
コピー部１４２ａでは、通信回線からインタフェースカード１０２ａに入力されたフレームに基づいて収集部１３１ａ，１４１ａで取得された統計情報に管理ＩＤを付加し、さらに一つに纏めて転送統計情報フレームを生成する。この転送統計情報フレームは、一つのフレーム内に複数の統計情報を有している。また、転送統計情報フレームは、有している統計情報に対応付けられると共に、対応付けられた統計情報を管理する管理ＩＤを有する。この管理ＩＤにより、転送統計情報フレームに含まれている統計情報が、カウンタで更新された各統計情報と対応するか、さらに、記憶部１６０に記憶されているいずれの統計情報の更新に対応するかが示される。
【００４２】
コピー部１３２ｂでは、スイッチカード１０３から入力されたフレームに基づいて収集部１３１ｂ，１４１ｂで取得された統計情報に管理ＩＤを付加して纏め、転送統計情報フレームを生成する。これにより、転送統計情報フレームは、コピー部１３２ｂ，１４２ａで、インタフェースカード１０２ａに入力されるフレームと同じ速度で生成される。このとき、コピー部１３２ｂ，１４２ａでは、フレームのペイロード部を削除した転送統計情報を生成する。これにより、ＬＩＦＯメモリ１５４ａ，１５４ｂの容量を削減することができる。収集部１３１ａ，１３１ｂ，１４１ａ，１４１ｂ、コピー部１３２ｂ，１４２ａは、取得部として機能する。
【００４３】
合成部１５０が有する調停部１５３は、収集部１３１ａ，１３１ｂ，１４１ａ，１４１ｂにより生成された転送統計情報フレームをダイレクトメモリアクセスにより記憶部１６０に転送する。これにより、転送統計情報フレームが有する統計情報をハードウェア処理で記憶部１６０に記憶させることができる。合成部１５０は、制御部として機能する。
【００４４】
調停部１５３は、管理情報に対応する転送統計情報に関するユーザデータが受信された場合、転送統計情報の転送により管理情報に対応する転送統計情報の転送が完了していないことを示す転送状態フラグを転送状態情報記憶部１５５に記憶させる一方、ＬＩＦＯメモリ１５４ａ，１５４ｂに記憶されている転送統計情報の記憶部１６０に対する転送が完了した場合、転送状態情報記憶部１５５に、管理情報に対応する転送統計情報の転送が完了したことを示す転送状態フラグを記憶させる。転送状態フラグは、転送状態情報として機能する。
【００４５】
ＬＩＦＯメモリ１５４ａ，１５４ｂは、後入れ先出しで転送統計情報の読み書きが行われる。調停部１５３は、生成された転送統計情報フレームをＬＩＦＯメモリ１５４ａ，１５４ｂに一旦記憶させ、転送統計情報フレームをＬＩＦＯメモリ１５４ａ，１５４ｂから読み出して転送する。これにより転送統計情報フレームの転送のタイミングを調整する。インタフェースカード１０２ａに入力されるフレームと同じ速度で生成される転送統計情報フレームは、ＬＩＦＯメモリ１５４ａ，１５４ｂに蓄えられる。これにより、ソフト管理される記憶部１６０にダイレクトメモリアクセスで転送される速度を調整することができる。このＬＩＦＯメモリ１５４ａ，１５４ｂへの書き込みの速度は、最大で、インタフェースカード１０２ａが収容する物理回線の合計帯域（例えば、インタフェースカード１０２ａが１Ｇｂｐｓ×２０ポートを収容していれば、２０Ｇｂｐｓ）となる。
【００４６】
ＬＩＦＯメモリ１５４ａは、通信回線からインタフェースカード１０２ａに入力される方向のフレームの転送統計情報フレームを記憶する。ＬＩＦＯメモリ１５４ｂは、スイッチカード１０３からインタフェースカード１０２ａに入力される方向のフレームの転送統計情報フレームを記憶する。記憶部１６０への転送統計情報フレームの転送に際しては、調停部１５３は、ＬＩＦＯメモリ１５４ａ，１５４ｂのいずれから転送統計情報フレームを読み出すかについて、内部信号であるフロー制御信号により通知する。
【００４７】
本実施の形態では、このＬＩＦＯメモリ１５４ａ，１５４ｂへの書き込み速度に比較して、ＬＩＦＯメモリ１５４ａ，１５４ｂからの読み出し速度が低速である。このためＬＩＦＯメモリ１５４ａ，１５４ｂでは、転送統計情報フレームの廃棄が発生する。ここで、統計情報の最新情報を更新するという観点から、ある同一の管理ＩＤの統計情報を有する転送統計情報フレームについては、古いものより新しいものが有する統計情報の方が重要である。このため、本実施の形態では、ＬＩＦＯメモリ１５４ａ，１５４ｂを用いる。なお、これに限らず、ＦＩＦＯ（先入れ先出し）のキャッシュメモリを用いてもよい。
【００４８】
また、ＬＩＦＯメモリ１５４ａ，１５４ｂからの転送統計情報フレームの読み出しでは、統計情報のソフトウェア制御とのＣＰＵバスの占有配分が適切になるように調停部１５３が調停を行う。
【００４９】
また、ＬＩＦＯメモリ１５４ａ，１５４ｂは、記憶するすべての統計情報に対して、それぞれ最低一つの情報を格納できる容量を準備する必要がある。
転送状態情報記憶部１５５は、管理情報に対応する転送統計情報の転送が完了したか否かを示す転送状態フラグを記憶する。これにより、調停部１５３は、記憶部１６０に対する転送統計情報フレームの転送が完了したか否かを判断することができる。
【００５０】
記憶部１６０は、合成部１５０から転送された転送統計情報フレームに基づいて、各統計情報を管理情報に従って記憶する。
本実施の形態でインタフェースカード１０２ａに入力されたフレームから取得され、記憶部１６０に記憶される統計情報は、ユニキャスト送信を行うフレームの送受信数、マルチキャスト送信を行うフレームの送受信数、ブロードキャスト送信を行うフレームの送受信数、バッファの状態を通知するＰＡＵＳＥフレームの送受信数、フレームの送受信バイト数、所定長のフレームの送受信数、正常なフレームの送受信数、送受信された廃棄フレーム数である。また、これらの統計情報は、ポート毎に集計することもでき、サービス毎に集計することもでき、さらにフロー単位に集計することもできる。なお、上記の統計情報は一例であり、これらの一部の統計情報のみを取得してもよく、一方、これら以外の統計情報を取得してもよい。
【００５１】
本実施の形態では、インタフェースカード１０２ａにフレームが入力されることをトリガとして情報が更新される。本実施の形態において統計情報の収集対象のフレームがスイッチ１００内を通過するタイミングで、ダイレクトメモリアクセスで更新が必要な統計情報についてハードウェア制御で更新することにより、ソフトウェアはハードが常に最新情報に更新しているソフト管理配下の統計情報を、自由なタイミングで読み出すことが可能になる。これにより、統計情報を一時的に記憶するメモリのメモリ溢れの可能性が低下するので、短い時間間隔での読み出し処理の実行が不要または必要性が低減する。
【００５２】
また、これにより、ソフトウェア制御によるＣＰＵバスの占有率を削減することができ、スイッチ１００のソフトウェア制御による負荷を軽減することを可能にする。また、メモリ溢れの可能性が低下するので、ＬＩＦＯメモリ１５４ａ，１５４ｂの容量を削減することが可能となる。
【００５３】
さらに、本実施の形態のインタフェースカード１０２ａに通信回線から入力されたフレームは、スイッチカード１０３に転送される。また、インタフェースカード１０２ａにスイッチカード１０３から入力されたフレームは、通信回線に出力される。
【００５４】
通信回線からインタフェースカード１０２ａに入力されたフレームに基づく統計情報フレームの場合、収集部１３１ａ，１４１ａで統計情報が収集され、さらに下流に位置するコピー部１４２ａで生成される。同様に、スイッチカード１０３から入力されたフレームに基づく統計情報フレームの場合、収集部１４１ｂ，１３１ｂで統計情報が収集され、さらに下流に位置するコピー部１３２ｂで生成される。
【００５５】
次に、コピー部１３２ｂ，１４２ａで生成された転送統計情報フレームは、合成部１５０が有する調停部１５３によりＣＰＵ制御バスを経由して記憶部１６０に転送される。このとき、一つのフレームの入力に対して、複数の統計情報の更新が生じている可能性がある。このように一つのフレームの入力に対して複数の統計情報の更新が生じている場合には、転送統計情報フレームは、複数の統計情報およびそれぞれの統計情報に対応する管理ＩＤを有する。なお、一つのフレームの入力に対して一つの統計情報の更新が生じている場合には、転送統計情報フレームは、一つの統計情報および一つの管理ＩＤを有するものとする。
【００５６】
また、ＬＩＦＯメモリ１５４ａ，１５４ｂを合成部１５０内部に設けることで、これらの間の信号制御を合成部１５０の内部に集約することができる。
図６および図７は、第２の実施の形態の受信フレームのカウンタを示す図である。本実施の形態では、通信回線からインタフェースカード１０２ａに入力されたフレームのＩｎｇｒｅｓｓ処理で受信したフレームについて、ポート毎、およびサービスフロー毎に収集される統計情報を、フレーム処理部１３０およびキュー制御部１４０が有する以下のカウンタに格納している。本実施の形態のスイッチ１００は、受信したフレームのポート毎の統計情報を取得するために、図６に示す正常フレーム受信カウンタ１７２ａ、ユニキャストフレーム受信カウンタ１７２ｂ、マルチキャストフレーム受信カウンタ１７２ｃ、ブロードキャストフレーム受信カウンタ１７２ｄ、ＰＡＵＳＥフレーム受信カウンタ１７２ｅ、受信バイト数カウンタ１７２ｆ、廃棄フレーム受信数カウンタ１７２ｇ、所定サイズフレーム受信数カウンタ１７２ｈを有する。
【００５７】
正常フレーム受信カウンタ１７２ａは、正常なＭＡＣフレームの受信数をポート毎にカウントする。ユニキャストフレーム受信カウンタ１７２ｂは、正常なＭＡＣフレームであって、かつ、宛先ＭＡＣアドレスがユニキャストであるフレームの受信数をポート毎にカウントする。マルチキャストフレーム受信カウンタ１７２ｃは、正常なＭＡＣフレームであって、かつ、宛先ＭＡＣアドレスがマルチキャストであるフレームの受信数をポート毎にカウントする。ブロードキャストフレーム受信カウンタ１７２ｄは、正常なＭＡＣフレームであって、かつ、宛先ＭＡＣアドレスがブロードキャストであるフレームの受信数をポート毎にカウントする。ＰＡＵＳＥフレーム受信カウンタ１７２ｅは、正常なＭＡＣフレームであって、かつ、スイッチのバッファがフレームの転送処理に必要なバッファを確保できない状態にあることを通知してネットワークのフレームの転送を制御するＰＡＵＳＥフレームの受信数をポート毎にカウントする。受信バイト数カウンタ１７２ｆは、正常なＭＡＣフレームを受信した場合の受信したフレームのバイト数をポート毎にカウントする。廃棄フレーム受信数カウンタ１７２ｇは、受信したフレームについてＭＡＣエラーやＦＣＳ（Frame Check Sequence）エラー等の異常があることにより廃棄されたＭＡＣフレームの数をポート毎にカウントする。所定サイズフレーム受信数カウンタ１７２ｈは、正常なＭＡＣフレームであって、かつ、所定の範囲の長さ（例えば、ＮバイトからＭバイトまでのバイト長のフレーム等）のフレームの受信数をポート毎にカウントする。
【００５８】
これらの正常フレーム受信カウンタ１７２ａ、ユニキャストフレーム受信カウンタ１７２ｂ、マルチキャストフレーム受信カウンタ１７２ｃ、ブロードキャストフレーム受信カウンタ１７２ｄ、ＰＡＵＳＥフレーム受信カウンタ１７２ｅ、受信バイト数カウンタ１７２ｆ、廃棄フレーム受信数カウンタ１７２ｇ、所定サイズフレーム受信数カウンタ１７２ｈは、フレーム処理部１３０やキュー制御部１４０において、受信されたフレームをポート毎に識別するフレーム識別処理が行われ、該当するフレームが検出された場合に、ポート毎に、１が加算され、または検出されたフレームのポート毎のバイト数が加算される。
【００５９】
また、スイッチ１００は、受信したフレームのサービスフロー毎の統計情報を取得するために、図７に示すサービス単位正常フレーム受信カウンタ１７４ａ、サービス単位受信バイト数カウンタ１７４ｂ、サービス単位廃棄フレーム受信数カウンタ１７４ｃを有する。
【００６０】
サービス単位正常フレーム受信カウンタ１７４ａは、正常なＭＡＣフレームを受信した場合の受信したフレームのバイト数をサービス毎にカウントする。サービス単位受信バイト数カウンタ１７４ｂは、正常なＭＡＣフレームを受信した場合の受信したフレームのバイト数をサービス毎にカウントする。サービス単位廃棄フレーム受信数カウンタ１７４ｃは、受信したフレームについてＭＡＣエラーやＦＣＳエラー等の異常があることにより廃棄されたＭＡＣフレームの数をサービス毎にカウントする。
【００６１】
これらのサービス単位正常フレーム受信カウンタ１７４ａ、サービス単位受信バイト数カウンタ１７４ｂ、サービス単位廃棄フレーム受信数カウンタ１７４ｃは、フレーム処理部１３０やキュー制御部１４０において、受信したフレームをサービス毎に識別するサービスタイプ識別処理が行われ、該当するフレームが検出された場合に、サービス毎に、１が加算され、または検出されたフレームのポート毎のバイト数が加算される。
【００６２】
図８および図９は、第２の実施の形態の送信フレームのカウンタを示す図である。本実施の形態では、Ｅｇｒｅｓｓ処理でスイッチカード１０３から入力された、スイッチ１００から送信するフレームについて、図６および図７において前述した受信したフレームのカウンタと同様、ポート毎、およびサービスフロー毎に収集される統計情報を、フレーム処理部１３０およびキュー制御部１４０が有する以下のカウンタに格納している。本実施の形態のスイッチ１００は、送信するフレームのポート毎の統計情報を取得するために、図８に示す正常フレーム送信カウンタ１８２ａ、ユニキャストフレーム送信カウンタ１８２ｂ、マルチキャストフレーム送信カウンタ１８２ｃ、ブロードキャストフレーム送信カウンタ１８２ｄ、ＰＡＵＳＥフレーム送信カウンタ１８２ｅ、送信バイト数カウンタ１８２ｆ、廃棄フレーム送信数カウンタ１８２ｇ、所定サイズフレーム送信数カウンタ１８２ｈを有する。
【００６３】
正常フレーム送信カウンタ１８２ａは、正常なＭＡＣフレームの送信数をポート毎にカウントする。ユニキャストフレーム送信カウンタ１８２ｂは、正常なＭＡＣフレームであって、かつ、宛先ＭＡＣアドレスがユニキャストであるフレームの送信数をポート毎にカウントする。マルチキャストフレーム送信カウンタ１８２ｃは、正常なＭＡＣフレームであって、かつ、宛先ＭＡＣアドレスがマルチキャストであるフレームの送信数をポート毎にカウントする。ブロードキャストフレーム送信カウンタ１８２ｄは、正常なＭＡＣフレームであって、かつ、宛先ＭＡＣアドレスがブロードキャストであるフレームの送信数をポート毎にカウントする。ＰＡＵＳＥフレーム送信カウンタ１８２ｅは、正常なＭＡＣフレームであって、かつ、スイッチのバッファがフレームの転送処理に必要なバッファを確保できない状態にあることを通知してネットワークのフレームの転送を制御するＰＡＵＳＥフレームの送信数をポート毎にカウントする。送信バイト数カウンタ１８２ｆは、正常なＭＡＣフレームを送信する場合の送信するフレームのバイト数をポート毎にカウントする。廃棄フレーム送信数カウンタ１８２ｇは、送信するフレームについてＭＡＣエラーやＦＣＳエラー等の異常があることにより廃棄されたＭＡＣフレームの数をポート毎にカウントする。所定サイズフレーム送信数カウンタ１８２ｈは、正常なＭＡＣフレームであって、かつ、所定の範囲の長さ（例えば、ＮバイトからＭバイトまでのバイト長のフレーム等）のフレームの送信数をポート毎にカウントする。
【００６４】
これらの正常フレーム送信カウンタ１８２ａ、ユニキャストフレーム送信カウンタ１８２ｂ、マルチキャストフレーム送信カウンタ１８２ｃ、ブロードキャストフレーム送信カウンタ１８２ｄ、ＰＡＵＳＥフレーム送信カウンタ１８２ｅ、送信バイト数カウンタ１８２ｆ、廃棄フレーム送信数カウンタ１８２ｇ、所定サイズフレーム送信数カウンタ１８２ｈは、フレーム処理部１３０やキュー制御部１４０において、送信されたフレームをポート毎に識別するフレーム識別処理が行われ、該当するフレームが検出された場合に、ポート毎に、１が加算され、または検出されたフレームのポート毎のバイト数が加算される。
【００６５】
また、スイッチ１００は、送信するフレームのサービスフロー毎の統計情報を取得するために、図９に示すサービス単位正常フレーム送信カウンタ１８４ａ、サービス単位送信バイト数カウンタ１８４ｂ、サービス単位廃棄フレーム送信数カウンタ１８４ｃを有する。
【００６６】
サービス単位正常フレーム送信カウンタ１８４ａは、正常なＭＡＣフレームを送信する場合の送信するフレームのバイト数をサービス毎にカウントする。サービス単位送信バイト数カウンタ１８４ｂは、正常なＭＡＣフレームを送信する場合の送信するフレームのバイト数をサービス毎にカウントする。サービス単位廃棄フレーム送信数カウンタ１８４ｃは、送信するフレームについてＭＡＣエラーやＦＣＳエラー等の異常があることにより廃棄されたＭＡＣフレームの数をサービス毎にカウントする。
【００６７】
これらのサービス単位正常フレーム送信カウンタ１８４ａ、サービス単位送信バイト数カウンタ１８４ｂ、サービス単位廃棄フレーム送信数カウンタ１８４ｃは、フレーム処理部１３０やキュー制御部１４０において、送信するフレームをサービス毎に識別するサービスタイプ識別処理が行われ、該当するフレームが検出された場合に、サービス毎に、１が加算され、または検出されたフレームのポート毎のバイト数が加算される。
【００６８】
なお、上記のカウンタは、あくまで例示であり、上記のカウンタのすべてを有さなくてもよく、さらに、上記以外の統計情報をカウントするカウンタを有してもよい。
次に、本実施の形態の統計情報の収集時における動作について説明する。
【００６９】
図１０は、第２の実施の形態のカウンタの動作を示す図である。図１０に、本実施の形態のスイッチ１００が有するインタフェースカード１０２ａにおける、フレーム数に関する統計情報の収集時のカウンタの動作を示す。ここで、図１０では、正常フレーム受信カウンタ１７２ａの統計情報が更新される場合について説明するが、他のカウンタも同様であるため説明を省略する。
【００７０】
図１０に示すように、本実施の形態では、スイッチ１００のインタフェースカード１０２ａに、通信回線から受信したフレームまたはスイッチカード１０３から入力されたフレーム（例えば、ヘッダ部３１ａおよびペイロード部３１ｂを有するフレーム３１）が入力された場合、収集部１３１ａまたは収集部１３１ｂにより、入力されたフレーム３１のヘッダ部３１ａが有する入出力ポート番号、送信元ＭＡＣアドレスおよび宛先ＭＡＣアドレス、ＶＬＡＮタグ情報、ＭＰＬＳ情報等の制御情報から、入力されたフレーム３１に基づいて、更新されるべき統計情報の管理ＩＤが識別される。
【００７１】
調停部１５３は、識別した管理ＩＤに基づいて、正常フレーム受信カウンタ１７２ａ等の、フレーム処理部１３０およびキュー制御部１４０が有するカウンタから現在のカウンタ値を取得する。次に、転送統計情報のＤＭＡによる転送の完了状況を把握するために、転送状態情報記憶部１５５に記憶されている転送状態フラグ１５５ａから管理ＩＤに対応するＤＭＡ転送状態フラグを取得する。
【００７２】
転送状態フラグ１５５ａは、調停部１５３がその管理ＩＤに対応する統計情報の記憶部１６０に対する転送が完了したか否かを示すフラグである。転送状態フラグ１５５ａは、調停部１５３が記憶してもよく、調停部１５３からアクセス可能な記憶装置が記憶してもよい。
【００７３】
調停部１５３は、管理ＩＤに対応する統計情報の転送状態を示す転送状態フラグ１５５ａを読み出す。調停部１５３は、読み出した転送状態フラグ１５５ａが、転送中を示す値（例えば、“１”）である場合は、現在、その管理ＩＤに対応する統計情報の記憶部１６０に対する転送処理の実行中であるため、統計情報を転送する転送統計情報フレーム７０のコピーは行わずに、フレーム処理部１３０およびキュー制御部１４０が有するカウンタの更新処理を実行する。
【００７４】
ここで、統計情報の転送中におけるカウンタの更新処理では、調停部１５３は、カウンタの値を読み出し、読み出した値に、フレーム数のカウンタでは１を加算した値、バイト数のカウンタでは入力されたフレームのバイト数を加算した値をカウンタに書き込む。また、このとき、インタフェースカード１０２ａから、ヘッダ部３１ａと同一であるヘッダ部３２ａおよびペイロード部３１ｂと同一であるペイロード部３２ｂを有するフレーム３２が出力される。
【００７５】
一方、転送状態フラグ１５５ａが転送完了を示す値（例えば、“０”）である場合は、統計情報を記憶している記憶部１６０への更新処理が完了している。このため、調停部１５３は、カウンタの更新処理として、カウンタの値に“０”を設定して初期化する。また、調停部１５３は、転送統計情報フレーム７０をコピーにより生成する。ここで、転送統計情報フレーム７０は、複数の統計情報を含んでいる。転送統計情報フレーム７０は、含んでいる統計情報毎に、統計情報を管理する管理ＩＤ（管理ＩＤ７３ａ，７４ａ）および転送される統計情報の値を示す転送カウンタ値（例えば、転送カウンタ値７３ｂ，７４ｂ）を有する。
【００７６】
このとき調停部１５３は、管理ＩＤ７３ａと、カウンタから読み出した取得時の統計情報のカウンタ値に１またはフレーム３１のバイト数を加算した転送カウンタ値７３ｂとを含ませて、ＣＰＵ制御バスを介して記憶部１６０に転送する。これにより、転送統計情報フレームの転送中にフレーム３１がインタフェースカード１０２ａに入力された場合にも不要な転送統計情報フレームの生成を防止でき、また転送統計情報フレームが二重にカウントされることを防止できる。
【００７７】
次に、本実施の形態で実行される処理について説明する。
図１１および図１２は、第２の実施の形態の転送統計情報生成処理の手順を示すフローチャートである。
【００７８】
図１１および図１２に示す転送統計情報生成処理は、インタフェースカード１０２ａが、入力されたフレームに基づいて各カウンタで集計した統計情報から転送統計情報フレームを生成する処理である。転送統計情報生成処理は、インタフェースカード１０２ａに対するフレームの入力時に実行される。ここで、図１１および図１２ならびに後述する図１３から図２１では、６４バイト長のユニキャストフレームの入力時におけるＩｎｇｒｅｓｓ処理時の動作例を示すが、Ｅｇｒｅｓｓ処理時および他のフレームの入力時についても同様であり、説明を省略する。
【００７９】
［ステップＳ１１］収集部１３１ａは、入力されたフレームの制御情報に基づいて、ポートＩＤおよびフローＩＤを取得する。この例では、インタフェースカード１０２ａに通信回線から図１３に示すフレーム５１が入力されたものとする。そして、フレーム５１に基づいて、ポートＩＤは“５”、フローＩＤは“１０”のように取得されたものとする。そして、コピー部１４２ａは、フレーム５１に対して、取得したポートＩＤおよびフローＩＤを、図１４に示すフレーム５２のように付加する。
【００８０】
［ステップＳ１２］収集部１３１ａは、入力されたフレームの正常性についてチェックを実行し、ＦＣＳエラーの有無、ＭＡＣアドレスの正常性（例えば、送信元ＭＡＣアドレスがマルチキャストアドレスではない等）、Ｔｙｐｅやフレームの長さに異常などが無いか等について確認する。
【００８１】
［ステップＳ１３］収集部１３１ａは、入力されたフレームのフレームタイプを識別する。ここで、フレームタイプの識別では、フレーム５１が、例えば、ユニキャストフレーム、マルチキャストフレーム、ブロードキャストフレームのいずれであるか、ＰＡＵＳＥフレームであるか否か等が識別される。ステップＳ１４からステップＳ２２は、あくまで一例であり、スイッチ１００に入力されたフレームに応じて、ステップＳ１３の識別結果に基づき、図６から図９に示したカウンタのうち、該当するカウンタの値が更新される。
【００８２】
［ステップＳ１４］収集部１３１ａは、入力されたフレームが正常である場合、ポートＩＤに対応する正常フレーム受信カウンタ１７２ａの値に１を加算する。
ここで、図１５（Ａ），（Ｂ）の例に沿って説明する。記憶部１６０が有する図示しないメモリの記憶領域には、正常フレーム受信カウンタ１７２ａに対応する統計情報について番号“００１”が一意に割り当てられており、他のメモリの記憶領域と区別されるものとする。また、ポートＩＤ毎に収集された統計情報であるため、“００１＿５”という統計情報ＩＤを割り当てるものとする。また、ポートＩＤの値である“５”をアドレスとしてメモリから値を読み出した場合において、例えば“２０”という値が読み出されたときには、メモリの値に“１”が加算された値である“２１”が書き込まれ、フレーム５２には、コピー部１４２ａにより、上記統計情報ＩＤ“００１＿５”と共に“２１”という値が付与され、フレーム５３のようになる。
【００８３】
［ステップＳ１５］収集部１３１ａは、入力されたフレームがユニキャストフレームである場合、ポートＩＤに対応するユニキャストフレーム受信カウンタ１７２ｂの値に１を加算する。
【００８４】
ここで、図１６（Ａ），（Ｂ）の例に沿って説明する。記憶部１６０が有する図示しないメモリの記憶領域には、ユニキャストフレーム受信カウンタ１７２ｂに対応する統計情報について番号“００２”が一意に割り当てられており、他のメモリの記憶領域と区別されるものとする。また、ポートＩＤ毎に収集された統計情報であるため、“００２＿５”という統計情報ＩＤを割り当てるものとする。また、ポートＩＤの値である“５”をアドレスとしてメモリから値を読み出した場合において、例えば“１５０”という値が読み出されたときには、メモリの値に“１”が加算された値である“１５１”が書き込まれる。また、フレーム５３には、コピー部１４２ａにより、上記統計情報ＩＤ“００２＿５”と共に“１５１”という値が付与され、フレーム５４のようになる。
【００８５】
［ステップＳ１６］取得部１５１ａは、ポートＩＤに対応する受信バイト数カウンタ１７２ｆの値に入力されたフレームのバイト数を加算する。
ここで、図１７（Ａ），（Ｂ）の例に沿って説明する。記憶部１６０が有する図示しないメモリの記憶領域には、受信バイト数カウンタ１７２ｆに対応する統計情報について番号“００３”が一意に割り当てられており、他のメモリの記憶領域と区別されるものとする。また、ポートＩＤ毎に収集された統計情報であるため、“００３＿５”という統計情報ＩＤを割り当てるものとする。また、ポートＩＤの値である“５”をアドレスとしてメモリから値を読み出した場合において、例えば“８００”という値が読み出されたときには、メモリの値にフレームのバイト数の“６４”が加算された値である“８６４”が書き込まれる。また、フレーム５４には、コピー部１４２ａにより、上記統計情報ＩＤ“００３＿５”と共に“８６４”という値が付与され、フレーム５５のようになる。
【００８６】
［ステップＳ１７］取得部１５１ａは、入力されたフレームが所定のサイズ（例えば、フレーム長が６４バイト以上１２７バイト以下）のフレームである場合、ポートＩＤに対応する所定サイズフレーム受信数カウンタ１７２ｈの値に１を加算する。
【００８７】
ここで、図１８（Ａ），（Ｂ）の例に沿って説明する。記憶部１６０が有する図示しないメモリの記憶領域には、受信バイト数カウンタ１７２ｆに対応する統計情報について番号“００４”が一意に割り当てられており、他のメモリの記憶領域と区別されるものとする。また、ポートＩＤ毎に収集された統計情報であるため、“００４＿５”という統計情報ＩＤを割り当てるものとする。また、ポートＩＤの値である“５”をアドレスとしてメモリから値を読み出した場合において、例えば“４００”という値が読み出されたときには、メモリの値に“１”が加算された値である“４０１”が書き込まれる。また、フレーム５５には、コピー部１４２ａにより、上記統計情報ＩＤ“００４＿５”と共に“４０１”という値が付与され、フレーム５６のようになる。
【００８８】
［ステップＳ２１］収集部１３１ａは、入力されたフレームが正常である場合、フローＩＤに対応するフロー単位正常フレーム受信カウンタ１７５ａ（図１９において後述）の値に１を加算する。
【００８９】
ここで、図１９（Ａ），（Ｂ）の例に沿って説明する。記憶部１６０が有する図示しないメモリの記憶領域には、フロー単位正常フレーム受信カウンタ１７５ａに対応する統計情報について番号“００５”が一意に割り当てられており、他のメモリの記憶領域と区別されるものとする。また、フローＩＤ毎に収集された統計情報であるため、“００５＿１０”という統計情報ＩＤを割り当てるものとする。また、フローＩＤの値である“１０”をアドレスとしてメモリから値を読み出した場合において、例えば“３００”という値が読み出されたときには、メモリの値に“１”が加算された値である“３０１”が書き込まれ、フレーム５６には、コピー部１４２ａにより、上記統計情報ＩＤ“００５＿１０”と共に“３０１”という値が付与され、フレーム５７のようになる。
【００９０】
［ステップＳ２２］収集部１３１ａは、入力されたフレームがユニキャストフレームである場合、フローＩＤに対応するフロー単位ユニキャストフレーム受信カウンタ１７５ｂ（図２０において後述）の値に１を加算する。
【００９１】
ここで、図２０（Ａ），（Ｂ）の例に沿って説明する。記憶部１６０が有する図示しないメモリの記憶領域には、フロー単位ユニキャストフレーム受信カウンタ１７５ｂに対応する統計情報について番号“００６”が一意に割り当てられており、他のメモリの記憶領域と区別されるものとする。また、フローＩＤ毎に収集された統計情報であるため、“００６＿１０”という統計情報ＩＤを割り当てるものとする。また、フローＩＤの値である“１０”をアドレスとしてメモリから値を読み出した場合において、例えば“８００”という値が読み出されたときには、メモリの値にフレームのバイト数の“６４”が加算された値である“８６４”が書き込まれる。また、フレーム５７には、コピー部１４２ａにより、上記統計情報ＩＤ“００６＿１０”と共に“８６４”という値が付与され、フレーム５８のようになる。
【００９２】
［ステップＳ２３］コピー部１４２ａは、入力されたフレームに基づいて、スイッチカード１０３に転送するフレーム（例えば、図２１（Ａ）のフレーム６０）および記憶部１６０に転送される転送統計情報フレーム（例えば、図２１（Ｂ）の転送統計情報フレーム５９）をコピーする。また、このときコピー部１４２ａは、転送統計情報フレーム５９のように、ペイロード部等の統計に不必要な部分を削除する。
【００９３】
図１３および図１４は、第２の実施の形態の転送統計情報フレームのデータ構造例を示す図である。図１３に示すフレーム５１は、インタフェースカード１０２ａに通信回線から入力されたフレームの例である。
【００９４】
フレーム５１は、宛先ＭＡＣアドレス（ＭＡＣ  ＤＡ：Media Access Control address Destination Address）、送信元ＭＡＣアドレス（ＭＡＣ  ＤＡ：Media Access Control address Source Address）、ＴＹＰＥ、ペイロードおよびＦＣＳで構成される。
【００９５】
宛先ＭＡＣアドレスは、送信先の端末装置が有する通信インタフェースを一意に識別するアドレスである。送信元ＭＡＣアドレスは、送信元の端末装置が有する通信インタフェースを一意に識別するアドレスである。ＴＹＰＥは、使用するプロトコルを指定するフィールドである。ペイロードは、送受信するデータ本体であり、例えば、ＩＰパケットを所定のデータ長に分割したものである。ＦＣＳは、受信したフレームの誤りを検出するために用いられる値である。
【００９６】
なお、フレームのデータ構造は、ネットワークの運用形態等に応じて、種々の変形例が考えられる。また、図１３に示したもの以外の情報が付加される場合もある。
図１４に示すフレーム５２は、フレーム５１にポートＩＤおよびフローＩＤが付与されたものである。
【００９７】
図１５は、第２の実施の形態の転送統計情報フレームのデータ構造例および正常フレーム受信カウンタの値を示す図である。図１５（Ａ）に示すフレーム５３は、フレーム５２に正常フレーム受信カウンタ１７２ａの値および管理ＩＤが付与されたものである。図１５（Ｂ）は、フレーム５１の入力に基づく正常フレーム受信カウンタ１７２ａの値の更新を示す。
【００９８】
図１６は、第２の実施の形態の転送統計情報フレームのデータ構造例およびユニキャストフレーム受信カウンタの値を示す図である。図１６（Ａ）に示すフレーム５４は、フレーム５３にユニキャストフレーム受信カウンタ１７２ｂの値および管理ＩＤが付与されたものである。図１６（Ｂ）は、フレーム５１の入力に基づくユニキャストフレーム受信カウンタ１７２ｂの値の更新を示す。
【００９９】
図１７は、第２の実施の形態の転送統計情報フレームのデータ構造例および受信バイト数カウンタの値を示す図である。図１７（Ａ）に示すフレーム５５は、フレーム５４に受信バイト数カウンタ１７２ｆの値および管理ＩＤが付与されたものである。図１７（Ｂ）は、フレーム５１の入力に基づく受信バイト数カウンタ１７２ｆの値の更新を示す。
【０１００】
図１８は、第２の実施の形態の転送統計情報フレームのデータ構造例および所定サイズフレーム受信数カウンタの値を示す図である。図１８（Ａ）に示すフレーム５６は、フレーム５５に所定サイズフレーム受信数カウンタ１７２ｈの値および管理ＩＤが付与されたものである。図１８（Ｂ）は、フレーム５１の入力に基づく所定サイズフレーム受信数カウンタ１７２ｈの値の更新を示す。
【０１０１】
図１９は、第２の実施の形態の転送統計情報フレームのデータ構造例およびフロー単位正常フレーム受信カウンタの値を示す図である。図１９（Ａ）に示すフレーム５７は、フレーム５６にフロー単位正常フレーム受信カウンタ１７５ａの値および管理ＩＤが付与されたものである。図１９（Ｂ）は、フレーム５１の入力に基づくフロー単位正常フレーム受信カウンタ１７５ａの値の更新を示す。
【０１０２】
図２０は、第２の実施の形態の転送統計情報フレームのデータ構造例およびフロー単位受信バイト数カウンタの値を示す図である。図２０（Ａ）に示すフレーム５８は、フレーム５７にフロー単位ユニキャストフレーム受信カウンタ１７５ｂの値および管理ＩＤが付与されたものである。図２０（Ｂ）は、フレーム５１の入力に基づくフロー単位ユニキャストフレーム受信カウンタ１７５ｂの値の更新を示す。
【０１０３】
図２１は、第２の実施の形態の複製されたフレームのデータ構造例を示す図である。図２１（Ａ）は、インタフェースカード１０２ａからスイッチカード１０３に転送されるフレーム６０を示す。図２１（Ｂ）は、インタフェースカード１０２ａの調停部１５３から記憶部１６０に転送される転送統計情報フレーム５９を示す。
【０１０４】
以上のように、第２の実施の形態によれば、スイッチ１００による統計情報の収集において、ソフト処理の削減、ＣＰＵ制御バスの占有率の削減、統計情報を格納するメモリ容量の削減を図ることができる。
【０１０５】
また、合成部１５０がＬＩＦＯメモリを有するので、フレーム処理部１３０やキュー制御部１４０に専用品以外のものを使用することができ、インタフェースカード１０２ａの部品の選択の幅が広がる。
【０１０６】
［第３の実施の形態］
次に、第３の実施の形態について説明する。上記の第２の実施の形態との相違点を中心に説明し、同様の事項については同一の符号を用いると共に説明を省略する。
【０１０７】
第３の実施の形態は、ＬＩＦＯメモリがフレーム処理部、キュー制御部に設けられている点で、第２の実施の形態と異なる。
図２２は、第３の実施の形態のインタフェースカードの機能を示すブロック図である。本実施の形態では、ハードウェア制御により、フレームがスイッチ２００が有するインタフェースカード２０２ａに入力されたことに基づいて、フレームから統計情報が収集される。次に、収集された統計情報を有する転送統計情報フレームがコピーされて記憶部２６０に転送される。この転送された転送統計情報フレームが有する統計情報に基づいて、ソフトウェア制御により、記憶部２６０の統計情報が更新される。
【０１０８】
本実施の形態のインタフェースカード２０２ａは、物理部２２０、フレーム処理部２３０、キュー制御部２４０、合成部２５０、記憶部２６０を有する。また、フレーム処理部２３０は、収集部２３１ａ，２３１ｂ、コピー部２３２ｂ、ＬＩＦＯメモリ２３４ｂを有する。キュー制御部２４０は、収集部２４１ａ，２４１ｂ、コピー部２４２ａ、ＬＩＦＯメモリ２４４ａを有する。合成部２５０は、調停部２５３、転送状態情報記憶部２５５を有する。
【０１０９】
収集部２３１ａ，２３１ｂ，２４１ａ，２４１ｂは、第２の実施の形態の収集部１３１ａ，１３１ｂ，１４１ａ，１４１ｂと同様、スイッチ２００が受信し、インタフェースカード２０２ａに入力された、ユーザデータを転送するフレームに基づいて通信に関する複数の統計情報を取得し、取得した複数の統計情報に、各統計情報に対応する管理ＩＤを付加した転送統計情報フレームを生成する。これにより、スイッチ２００が受信したフレームについて取得された複数の統計情報を記憶部２６０に対して一度に転送することができ、処理の負担が軽減される。
【０１１０】
コピー部２４２ａでは、第２の実施の形態のコピー部１４２ａと同様、通信回線からインタフェースカード２０２ａに入力されたフレームに基づいて収集部２３１ａ，２４１ａで取得された統計情報に管理ＩＤを付加し、さらに一つに纏めて転送統計情報フレームを生成する。
【０１１１】
コピー部２３２ｂでは、第２の実施の形態のコピー部１３２ｂと同様、スイッチカードから入力されたフレームに基づいて収集部２３１ｂ，２４１ｂで取得された統計情報に管理ＩＤを付加して纏め、転送統計情報フレームを生成する。収集部２３１ａ，２３１ｂ，２４１ａ，２４１ｂ、コピー部２３２ｂ，２４２ａは、取得部として機能する。
【０１１２】
合成部２５０が有する調停部２５３は、第２の実施の形態の調停部１５３と同様、収集部２３１ａ，２３１ｂ，２４１ａ，２４１ｂにより生成された転送統計情報フレームをダイレクトメモリアクセスにより記憶部２６０に転送する。これにより、転送統計情報フレームが有する統計情報をハードウェア処理で記憶部２６０に記憶させることができる。合成部２５０は、制御部として機能する。
【０１１３】
調停部２５３は、管理情報に対応する転送統計情報に関するユーザデータが受信された場合、転送統計情報の転送により管理情報に対応する転送統計情報の転送が完了していないことを示す転送状態フラグを転送状態情報記憶部２５５に記憶させる。また、調停部２５３は、ＬＩＦＯメモリ２３４ｂ，２４４ａに記憶されている転送統計情報の記憶部２６０に対する転送が完了した場合、転送状態情報記憶部２５５に、管理情報に対応する転送統計情報の転送が完了したことを示す転送状態フラグを記憶させる。
【０１１４】
ＬＩＦＯメモリ２３４ｂ，２４４ａは、第２の実施の形態のＬＩＦＯメモリ１５４ａ，１５４ｂと同様、後入れ先出しで転送統計情報の読み書きが行われる。ＬＩＦＯメモリ２４４ａは、収集部２４１ａ，２４１ｂおよびコピー部２４２ａと共にキュー制御部２４０の内部に形成されている。ＬＩＦＯメモリ２３４ｂは、収集部２３１ａ，２３１ｂおよびコピー部２３２ｂと共にフレーム処理部２３０の内部に形成されている。
【０１１５】
調停部２５３は、生成された転送統計情報フレームをＬＩＦＯメモリ２３４ｂ，２４４ａに一旦記憶させ、転送統計情報フレームをＬＩＦＯメモリ２３４ｂ，２４４ａから読み出して転送する。これにより転送統計情報フレームの転送のタイミングを調整する。インタフェースカード２０２ａに入力されるフレームと同じ速度で生成される転送統計情報フレームは、ＬＩＦＯメモリ２３４ｂ，２４４ａに蓄えられる。これにより、ソフト管理される記憶部２６０にダイレクトメモリアクセスで転送される速度を調整することができる。
【０１１６】
ＬＩＦＯメモリ２４４ａは、通信回線からインタフェースカード２０２ａに入力される方向のフレームの転送統計情報フレームを記憶する。ＬＩＦＯメモリ２３４ｂは、スイッチカードからインタフェースカード２０２ａに入力される方向のフレームの転送統計情報フレームを記憶する。記憶部２６０への転送統計情報フレームの転送に際しては、調停部２５３は、ＬＩＦＯメモリ２４４ａ，２３４ｂのいずれから転送統計情報フレームを読み出すかについて、第２の実施の形態とは異なり、外部信号であるフロー制御信号により通知する。
【０１１７】
転送状態情報記憶部２５５は、管理情報に対応する転送統計情報の転送が完了したか否かを示す転送状態フラグを記憶する。これにより、調停部２５３は、記憶部２６０に対する転送統計情報フレームの転送が完了したか否かを判断することができる。
【０１１８】
記憶部２６０は、合成部２５０から転送された転送統計情報フレームに基づいて、各統計情報を管理情報に従って記憶する。
本実施の形態でインタフェースカード２０２ａに入力されたフレームから取得され、記憶部２６０に記憶される統計情報は、第２の実施の形態と同様、ユニキャスト送信を行うフレームの送受信数、マルチキャスト送信を行うフレームの送受信数、ブロードキャスト送信を行うフレームの送受信数、バッファの状態を通知するＰＡＵＳＥフレームの送受信数、フレームの送受信バイト数、所定長のフレームの送受信数、正常なフレームの送受信数、送受信された廃棄フレーム数である。また、これらの統計情報は、ポート毎に集計することもでき、サービス毎に集計することもでき、さらにフロー単位に集計することもできる。なお、上記の統計情報は一例であり、これらの一部の統計情報のみを取得してもよく、一方、これら以外の統計情報を取得してもよい。
【０１１９】
以上のように、第３の実施の形態によれば、ＬＩＦＯメモリ２３４ｂ，２４４ａが、それぞれフレーム処理部２３０、キュー制御部２４０に設けられているので、転送統計情報フレームのＬＩＦＯメモリ２３４ｂ，２４４ａへの書き込みが、それぞれフレーム処理部２３０、キュー制御部２４０の内部で処理される。これにより、合成部２５０と、フレーム処理部２３０、キュー制御部２４０との間の接続帯域を、小さくすることができる。
【０１２０】
以上、開示の通信装置、統計情報収集制御装置および統計情報収集制御方法を、図示の実施の形態に基づいて説明したが、上記については単に本発明の原理を示すものである。開示の技術は、多数の変形、変更が当業者にとって可能であり、上記に示し、説明した正確な構成および応用例に限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、開示の技術に他の任意の構成物や工程が付加されてもよい。また、開示の技術は前述した実施の形態のうちの任意の２以上の構成を組み合わせたものであってもよい。また、開示の技術に対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【０１２１】
１  通信装置
１ａ  取得部
１ｂ  制御部
１ｃ  記憶部
２  ユーザデータ
３ａ，３ｂ，３ｃ  統計情報
４ａ，４ｂ，４ｃ  管理情報
５  転送統計情報
【図１】
2011074052.tif 000003
【図２】
2011074052.tif 000004
【図３】
2011074052.tif 000005
【図４】
2011074052.tif 000006
【図５】
2011074052.tif 000007
【図６】
2011074052.tif 000008
【図７】
2011074052.tif 000009
【図８】
2011074052.tif 000010
【図９】
2011074052.tif 000011
【図１０】
2011074052.tif 000012
【図１１】
2011074052.tif 000013
【図１２】
2011074052.tif 000014
【図１３】
2011074052.tif 000015
【図１４】
2011074052.tif 000016
【図１５】
2011074052.tif 000017
【図１６】
2011074052.tif 000018
【図１７】
2011074052.tif 000019
【図１８】
2011074052.tif 000020
【図１９】
2011074052.tif 000021
【図２０】
2011074052.tif 000022
【図２１】
2011074052.tif 000023
【図２２】
2011074052.tif 000024
【手続補正書】
【提出日】平成24年2月21日(2012.2.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
受信したユーザデータに基づいて通信に関する複数の統計情報を取得し、取得した複数の前記統計情報に管理情報を付加した転送統計情報を生成する取得部と、
前記取得部により生成された前記転送統計情報をダイレクトメモリアクセスにより転送する制御部と、
前記制御部から転送された前記転送統計情報を記憶する記憶部とを有することを特徴とする通信装置。
【請求項２】
前記取得部により生成された前記転送統計情報を一時的に記憶するメモリを有し、
前記制御部は、前記取得部により生成された前記転送統計情報を前記メモリに一旦記憶させてから前記転送統計情報を前記メモリから読み出して転送することにより前記転送統計情報の転送のタイミングを調整することを特徴とする請求項１記載の通信装置。
【請求項３】
前記メモリは、後入れ先出しで前記転送統計情報の読み書きが行われることを特徴とする請求項２記載の通信装置。
【請求項４】
前記ユーザデータは、制御データとペイロード部とを有し、
前記取得部は、受信した前記ユーザデータに基づいて通信に関する複数の前記統計情報を取得し、取得した複数の前記統計情報に管理情報を付加すると共に前記ユーザデータの前記ペイロード部を削除した前記転送統計情報を生成することを特徴とする請求項１記載の通信装置。
【請求項５】
前記管理情報に対応する前記転送統計情報の転送が完了したか否かを示す転送状態情報を記憶する転送状態情報記憶部を有し、
前記制御部は、前記管理情報に対応する前記転送統計情報に関する前記ユーザデータが受信された場合、前記転送統計情報の転送により前記管理情報に対応する前記転送統計情報の転送が完了していないことを示す前記転送状態情報を前記転送状態情報記憶部に記憶させる一方、前記メモリに記憶されている前記転送統計情報の前記記憶部に対する転送が完了した場合、前記転送状態情報記憶部に、前記管理情報に対応する前記転送統計情報の転送が完了したことを示す前記転送状態情報を記憶させることを特徴とする請求項２記載の通信装置。
【請求項６】
受信したユーザデータに基づいて通信に関する複数の統計情報を取得し、取得した複数の前記統計情報に管理情報を付加した転送統計情報を生成する取得部と、
前記取得部により生成された前記転送統計情報をダイレクトメモリアクセスにより記憶部に転送する制御部とを有することを特徴とする統計情報収集制御装置。
【請求項７】
取得部が、受信したユーザデータに基づいて通信に関する複数の統計情報を取得し、取得した複数の前記統計情報に管理情報を付加した転送統計情報を生成し、
制御部が、前記取得部により生成された前記転送統計情報をダイレクトメモリアクセスにより記憶部に転送することを特徴とする統計情報収集制御方法。
【国際調査報告】
2011074052.tif 000025
2011074052.tif 000026