(57)【特許請求の範囲】
【請求項１】
通信ネットワーク上を伝播する通信パケットを取り込みその情報により当該通信ネットワークの通信品質を評価するネットワーク品質評価装置において、
前記通信パケットを取り込みタイムスタンプと共に情報として出力する取り込み手段と、
前記情報の出力先を切りかえる切り換え手段と、
この切り換え手段の一方の出力が接続されるリードバッファと、
前記切り換え手段の他方の出力が接続され前記情報をブロック転送単位に整形させるライトバッファと、
このライトバッファの出力を一時保持するバッファと、
リングメモリと、
装置全体を制御すると共に前記切り換え手段を制御して前記リードバッファに前記情報を書き込み、前記リードバッファがデータフルになった場合前記切り換え手段を制御してそれ以降の前記情報を前記ライトバッファに書込みブロック転送単位に整形し、前記ライトバッファでブロック転送単位に整形された前記情報を前記バッファを介してブロック転送により前記リングメモリに書き込む制御回路と
を備えたことを特徴とするネットワーク品質評価装置。
【請求項２】
通信ネットワーク上を伝播する通信パケットを取り込みその情報により当該通信ネットワークの通信品質を評価するネットワーク品質評価装置において、
前記通信パケットを取り込みタイムスタンプと共に情報として出力する取り込み手段と、
前記情報の出力先を切りかえる切り換え手段と、
この切り換え手段の一方の出力が接続されるリードバッファと、
前記切り換え手段の他方の出力が接続され前記情報をブロック転送単位に整形させるライトバッファと、
このライトバッファの出力を一時保持するバッファと、
リングメモリと、
前記リードバッファから前記情報を読み出し、前記リードバッファのデータが空になった場合に前記リングメモリからブロック転送により前記情報を読み出し前記リードバッファに書込み、前記リードバッファのデータが空になった場合に前記ライトバッファ内の前記情報を前記リードバッファに移動させる制御回路と
を備えたことを特徴とするネットワーク品質評価装置。
【請求項３】
前記リードバッファを複数備え、
前記制御回路が１つのリードバッファから前記情報を読み出している際に、他のリードバッファに次に読み出される前記情報を前記リングメモリからブロック転送により読み出して書込むことを特徴とする
請求項２記載のネットワーク品質評価装置。
【請求項４】
前記リードバッファを複数備え、
前記制御回路が１つのリードバッファから前記情報を読み出している際に、他のリードバッファに次に読み出される前記情報を前記ライトバッファから前記リードバッファに移動させることを特徴とする
請求項２記載のネットワーク品質評価装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信ネットワーク上を伝播する通信パケットを取り込みその情報により当該通信ネットワークの通信品質を評価するネットワーク品質評価装置に関し、特にデータの高速アクセスが可能なネットワーク品質評価装置に関する。
【０００２】
【従来の技術】
従来のネットワーク品質評価装置は通信ネットワーク上を伝播する通信パケットを通信ネットワークの各ポイントで測定し、測定された通信パケットに基づいて通信ネットワーク回線の通信品質を評価したり、トラフィックを監視したり等を行うものである。
【０００３】
例えば、このようなネットワーク品質評価装置としては本願出願人の出願に係る「特願平１１−２７４２７３号（特開２００１−１０３０９０号公報）」や「特願平１１−３０４２１５号（特開２００１−１２７７９５号公報）」等が存在する。
【０００４】
そして、図２０はこのような従来のネットワーク品質評価装置の一例を示す構成ブロック図である。図２０において１はタップ回路、２は物理層回路、３はフィルタ回路、４はバッファ、５はタイマ回路、６はデータをリングメモリに書き込む書込回路、７はリングメモリ、８はデータをリングメモリから読み出す読出回路、９は書込回路６及び読出回路８の動作を制御するメモリ制御回路、１０はプローブ全体の制御を行う制御回路、１１はルータを介して通信を行う通信回路である。
【０００５】
また、図２０において１〜１１はプローブ５０を、１〜３及び５は通信パケットの取り込み手段５１をそれぞれ構成し、１〜１１で構成される構成ブロック図は図２０中”ＰＢ０１”に示すプローブの詳細を示している。さらに、図２０中”Ｒ”はルータを、”Ｐ”はプローブをそれぞれ表している。
【０００６】
図２０中”ＮＴ０１”はＩＳＰ（Internet Service Provider：以下、単にプロバイダーと呼ぶ。）が提供するネットワークであり、図２０中”ＮＴ０１”に示すネットワークは複数のルータを介して回線相互が接続されている。
【０００７】
また、図２０中”ＣＭ０１”及び”ＣＭ０２”に示す企業もまたルータを介して図２０中”ＮＴ０１”に示すネットワークに接続され、図２０中”ＰＭ０１”に示すプローブマネージャもまたルータを介して図２０中”ＮＴ０１”に示すネットワークに接続される。
【０００８】
そして、図２０中”ＣＭ０１”及び”ＣＭ０２”に示す企業のルータのポートには図２０中”ＰＢ０１”及び”ＰＢ０２”に示すプローブがそれぞれ接続される。
【０００９】
一方、プローブ５０において、ネットワークを伝播する通信パケットはタップ回路１に入力され、タップ回路１の出力は物理層回路２に接続される。物理層回路２の出力はフィルタ回路３を介してバッファ４に接続され、タイマ回路５の出力もまたバッファ４に接続される。
【００１０】
バッファ４の出力は書込回路６に接続され、書込回路６の出力はリングメモリ７に接続される。リングメモリ７の出力は読出回路８に接続され、読出回路８の出力は制御回路１０に接続される。
【００１１】
また、制御回路１０の通信出力は通信回路１１を介してネットワーク上に送信される。さらに、メモリ制御回路９の制御信号は書込回路６及び読出回路８にそれぞれ接続され、制御回路１０の制御信号がタイマ回路５及びメモリ制御回路９にそれぞれ接続される。
【００１２】
ここで、図２０に示す従来例の動作を説明する。タップ回路１はネットワーク上を伝播する通信パケットを通信を妨げることなく抽出し、抽出された通信パケットは物理層回路２によりロジック信号に変換され、フィルタ回路３により指定された通信パケットから必要なパケット若しくはデータを選択的に取り出す。
【００１３】
バッファ４はフィルタ回路３によって選択されたパケット若しくはデータとタイマ回路５が出力するタイムスタンプと共に格納蓄積し、必要に応じて書込回路６に蓄積したパケット若しくはデータとタイムスタンプ（以下、パケット若しくはデータとタイムスタンプを単に情報と呼ぶ。）を出力する。
【００１４】
書込回路６はバッファ４から情報を受け取るとメモリ制御回路９の制御に基づき受け取った情報をリングメモリ７に書き込む。
【００１５】
一方、読出回路８はメモリ制御回路９の制御に基づきリングメモリ７から情報を読み出して制御回路１０に出力し、制御回路１０は読み出された情報を通信回路１１を介して図２０中”ＰＭ０１”に示すプローブマネージャに送信する。
【００１６】
例えば、図２０中”ＰＭ０１”に示すプローブマネージャは”ＣＭ０１”に示す企業のルータに接続された図２０中”ＰＢ０１”に示すプローブで抽出された特定のパケット情報と、図２０中”ＣＭ０２”に示す企業のルータに接続された図２０中”ＰＢ０２”に示すプローブで抽出された特定のパケット情報とを照合して、２つの企業間でのパケットロス、遅延時間、遅延ゆらぎ、スループット等の通信品質項目についての測定を行う。
【００１７】
この結果、通信ネットワーク上で通信パケットを監視したいルータのポートにプローブを接続して特定の通信パケットを抽出して、プローブマネージャで抽出した通信パケットを解析することにより、パケットロス、遅延時間、遅延ゆらぎ、スループット等の通信品質項目についての測定を行うことが可能になる。
【００１８】
【発明が解決しようとする課題】
しかし、図２０に示す従来例では、例えば、遅延時間を測定する場合、図２０中”ＰＢ０１”及び”ＰＢ０２”に示すプローブで抽出した情報を通信ネットワーク上のプローブマネージャに対して送信することになる。
【００１９】
このため、遅延時間測定の処理能力を向上させようとした場合には、図２０中”ＰＢ０１”及び”ＰＢ０２”に示すプローブから図２０中”ＰＭ０１”に示すプローブマネージャへ高速に情報の送信を行わなければならない。
【００２０】
但し、リングメモリ７は情報の書込み処理中に読み出し処理が発生した場合には、当該書込み処理が終了するまで読み出し処理は待機させられるため、この場合には、リングメモリ７からの情報の読み出し時間に時間がかかってしまうと言った問題点があった。
【００２１】
また、リングメモリ７は出来るだけ多くの情報を蓄積できるように数百メガ・バイト程度の容量を備えており、この大容量のリングメモリを低コストで実現するためにＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）で構成されている。
【００２２】
ＳＤＲＡＭはブロック転送時に高いパフォーマンスが得られるものの、ブロック単位でしか読み出せないため、例えば、１バイトの情報であってもブロック単位でデータを読み出し、不必要なデータを捨てることにより当該１バイトの情報を得ているため読み出しのパフォーマンスが低下してしまう。言い換えれば、リングメモリ７からの情報の読み出し時間に時間がかかってしまうと言った問題点があった。
【００２３】
一方、リングメモリ７は情報の読み出し処理中に書込み処理が発生した場合には、当該読み出し処理が終了するまで書込み処理は待機させられ、書込み処理を待機している間、フィルタ回路３の出力はタイムスタンプと共に順次バッファ４に格納蓄積される。
【００２４】
そして、読み出し処理終了後に書込み処理が行われる際にはブロック単位でブロック転送が行われるが、バッファ４に蓄積されている情報がブロック単位の倍数に相当しないと無駄なブロック転送が生じてしまい、書き込みのパフォーマンスが低下してしまう。
【００２５】
このため、パフォーマンスが低下した書込み処理中に新たに読み出し処理が発生した場合には、当該読み出し処理は書込み処理のパフォーマンス低下に伴い必要以上の待機を余儀なくされ、言い換えれば、リングメモリ７からの情報の読み出し時間に時間がかかってしまうと言った問題点があった。
従って本発明が解決しようとする課題は、データの高速アクセスが可能なネットワーク品質評価装置を実現することにある。
【００２６】
【課題を解決するための手段】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
通信ネットワーク上を伝播する通信パケットを取り込みその情報により当該通信ネットワークの通信品質を評価するネットワーク品質評価装置において、
前記通信パケットを取り込みタイムスタンプと共に情報として出力する取り込み手段と、前記情報の出力先を切りかえる切り換え手段と、この切り換え手段の一方の出力が接続されるリードバッファと、前記切り換え手段の他方の出力が接続され前記情報をブロック転送単位に整形させるライトバッファと、このライトバッファの出力を一時保持するバッファと、リングメモリと、装置全体を制御すると共に前記切り換え手段を制御して前記リードバッファに前記情報を書き込み、前記リードバッファがデータフルになった場合前記切り換え手段を制御してそれ以降の前記情報を前記ライトバッファに書込みブロック転送単位に整形し、前記ライトバッファでブロック転送単位に整形された前記情報を前記バッファを介してブロック転送により前記リングメモリに書き込む制御回路とを備えたことにより、リングメモリを介さずにリードバッファに直接書き込むことになるので高速書き込みが可能になる。また、無駄なブロック転送が発生しないので高速書き込みが可能になる。
【００２７】
請求項２記載の発明は、
通信ネットワーク上を伝播する通信パケットを取り込みその情報により当該通信ネットワークの通信品質を評価するネットワーク品質評価装置において、
前記通信パケットを取り込みタイムスタンプと共に情報として出力する取り込み手段と、前記情報の出力先を切りかえる切り換え手段と、この切り換え手段の一方の出力が接続されるリードバッファと、前記切り換え手段の他方の出力が接続され前記情報をブロック転送単位に整形させるライトバッファと、このライトバッファの出力を一時保持するバッファと、リングメモリと、前記リードバッファから前記情報を読み出し、前記リードバッファのデータが空になった場合に前記リングメモリからブロック転送により前記情報を読み出し前記リードバッファに書込み、前記リードバッファのデータが空になった場合に前記ライトバッファ内の前記情報を前記リードバッファに移動させる制御回路とを備えたことにより、リングメモリを介さずにリードバッファから直接読み出すことになるので高速読み出しが可能になる。また、無駄なブロック転送が発生しないので高速読み出しが可能になり、リングメモリを介すことなく直接ライトバッファからリードバッファに移動できるので高速読み出しが可能になる。
【００２８】
請求項３記載の発明は、
請求項２記載の発明であるネットワーク品質評価装置において、
前記リードバッファを複数備え、制御回路が１つのリードバッファから前記情報を読み出している際に、他のリードバッファに次に読み出される前記情報を前記リングメモリからブロック転送により読み出して書込むことにより、読み出すデータの先読みができるので高速読み出しが可能になる。
【００２９】
請求項４記載の発明は、
請求項２記載の発明であるネットワーク品質評価装置において、
前記リードバッファを複数備え、制御回路が１つのリードバッファから前記情報を読み出している際に、他のリードバッファに次に読み出される前記情報を前記ライトバッファから前記リードバッファに移動させることにより、読み出すデータの先読みができるので高速読み出しが可能になる。
【００３４】
【発明の実施の形態】
以下本発明を図面を用いて詳細に説明する。図１は本発明に係るネットワーク品質評価装置の一実施例を示す構成ブロック図である。
【００３５】
図１において１〜１１及び５１は図２０と同一符号を付してあり、１２及び１３はデマルチプレクサ回路、１４はブロック転送単位にデータを整形するライトバッファ、１５は併設された”＃０”及び”＃１”の２つのリングメモリにより構成されるリードバッファ（以下、個々のリングメモリを特定する場合にはリードバッファ＃０若しくはリードバッファ＃１と呼ぶ。）、１６はバッファ制御回路である。
【００３６】
また、１〜１６はプローブ５２を、デマルチプレクサ回路１２及び１３は切り換え手段５３をそれぞれ構成している。
【００３７】
ネットワーク（図示せず。)を伝播する通信パケットはタップ回路１に入力され、タップ回路１の出力は物理層回路２に接続される。物理層回路２の出力はフィルタ回路３を介してデマルチプレクサ回路１２の入力端子に接続、タイマ回路５の出力はデマルチプレクサ回路１３の入力端子に接続される。
【００３８】
デマルチプレクサ回路１２の一方の出力端子はライトバッファ１４の一方の入力端子に接続され、デマルチプレクサ回路１３の一方の出力端子はライトバッファ１４の他方の入力端子に接続される。ライトバッファ１４の出力はバッファ４に接続される。
【００３９】
また、デマルチプレクサ回路１２の他方の出力端子とデマルチプレクサ回路１３の他方の出力端子はリードバッファ１５の入力端子にそれぞれ接続される。
【００４０】
バッファ４の出力は書込回路６に接続され、書込回路６の出力はリングメモリ７に接続される。リングメモリ７の出力は読出回路８に接続され、読出回路８の出力はリードバッファ１５に接続され、リードバッファ１５の出力が制御回路１０に接続される。
【００４１】
また、制御回路１０の通信出力は通信回路１１を介してネットワーク（図示せず。）上に送信され、メモリ制御回路９の制御信号は書込回路６及び読出回路８にそれぞれ接続される。
【００４２】
さらに、制御回路１０の制御信号がタイマ回路５及びバッファ制御回路１６にそれぞれ接続され、バッファ制御回路１６の制御信号がデマルチプレクサ回路１２及び１３、ライトバッファ１４、メモリ制御回路９にそれぞれ接続される。
【００４３】
ここで、図１に示す実施例の動作を図２、図３、図４、図５、図６、図７、図８、図９、図１０、図１１、図１２、図１３、図１４、図１５、図１６、図１７、図１８及び図１９を用いて説明する。
【００４４】
図２はデータの書込み動作時のプローブ５２の動作を説明するフロー図、図３、図５、図７及び図９はデータの書込み動作時における信号の流れを説明する構成ブロック図、図４、図６、図８及び図１０はデータの書込み動作時における各バッファの状況の一例を示す説明図である。
【００４５】
また、図１１はデータの読み出し動作時のプローブ５２の動作を説明するフロー図、図１２、図１４、図１６及び図１８はデータの読み出し動作時における信号の流れを説明する構成ブロック図、図１３、図１５、図１７及び図１９はデータの読み出し動作時における各バッファの状況の一例を示す説明図である。
【００４６】
さらに、説明の簡単のためにデータサイズを以下のように想定して説明する。すなわち、フィルタ回路３の出力である選択されたパケット若しくはデータは”４バイト”、タイマ回路５の出力であるタイムスタンプは”４バイト”、リードバッファ１５からの読み出しサイズは”４バイト”であるとする。
【００４７】
また、リングメモリ７の書き込み及び読み出しのブロック転送単位は”３２バイト”、バッファ４のサイズは”３２バイト”、ライトバッファ１４のサイズは”３２バイト”、リードバッファ１５を構成する個々のリングメモリであるリードバッファ＃０及び＃１のサイズはそれぞれ”３２バイト”であるとする。
【００４８】
先ず、書込み動作では、図２中”Ｓ００１”において制御回路１０は情報（フィルタ回路３の出力である選択されたパケット若しくはデータとタイマ回路５の出力であるタイムスタンプ）の書込み要求があったか否かを判断する。
【００４９】
図２中”Ｓ００１”において情報の書込み要求があった場合には、図２中”Ｓ００２”において制御回路１０はリードバッファ＃０に３２バイト分のデータが存在、言い換えれば、リードバッファ＃０のデータがフルであるか否かを判断する。
【００５０】
もし、図２中”Ｓ００２”においてリードバッファ＃０のデータがフルではない、言い換えれば、リードバッファ＃０に空きがある場合には、図２中”Ｓ００３”において制御回路１０はバッファ制御回路１６を介してデマルチプレクサ回路１２及び１３を制御してフィルタ回路３及びタイマ回路５の出力である情報をリードバッファ＃０に書き込ませる。
【００５１】
例えば、図３中の太線に示す経路でリードバッファ＃０に４バイトデータのパケット若しくはデータと４バイトデータのタイムスタンプとを８バイトの情報として書き込む。
【００５２】
すなわち、例えば、図４に示すリードバッファ＃０には既に８バイトデータが書き込まれている場合には、制御回路１０はライトポインタが指し示す図４中”ＷＰ１１”の位置から情報を順次書き込む。
【００５３】
情報の書き込む順序としてはパケット若しくはデータとタイムスタンプの順、若しくは、タイムスタンプとパケット若しくはデータの順の何れであっても構わない。
【００５４】
もし、図２中”Ｓ００２”においてリードバッファ＃０のデータがフルである、言い換えれば、リードバッファ＃０に空きがない場合には、図２中”Ｓ００４”において制御回路１０はリードバッファ＃１に３２バイト分のデータが存在、言い換えれば、リードバッファ＃１のデータがフルであるか否かを判断する。
【００５５】
もし、図２中”Ｓ００４”においてリードバッファ＃１のデータがフルではない、言い換えれば、リードバッファ＃１に空きがある場合には、図２中”Ｓ００５”において制御回路１０はバッファ制御回路１６を介してデマルチプレクサ回路１２及び１３を制御してフィルタ回路３及びタイマ回路５の出力である情報をリードバッファ＃１に書き込ませる。
【００５６】
例えば、図５中の太線に示す経路でリードバッファ＃１に４バイトデータのパケット若しくはデータと４バイトデータのタイムスタンプとを８バイトの情報として書き込む。
【００５７】
すなわち、例えば、図６に示すリードバッファ＃０には既に３２バイトデータが書き込まれており、リードバッファ＃１には既に８バイトデータが書き込まれている場合には、制御回路１０はライトポインタが指し示す図４中”ＷＰ２１”の位置から情報を順次書き込む。
【００５８】
もし、図２中”Ｓ００４”においてリードバッファ＃１のデータがフルである、言い換えれば、リードバッファ＃１に空きがない場合には、図２中”Ｓ００６”において制御回路１０はバッファ制御回路１６を介してデマルチプレクサ回路１２及び１３を制御してフィルタ回路３及びタイマ回路５の出力である情報をライトバッファ１４に書き込ませる。
【００５９】
例えば、図７中の太線に示す経路でライトバッファ１４に４バイトデータのパケット若しくはデータと４バイトデータのタイムスタンプとを８バイトの情報として書き込む。
【００６０】
すなわち、例えば、図８に示すリードバッファ＃０及び＃１には既に３２バイトデータが書き込まれており、ライトバッファ１４には既に８バイトデータが書き込まれている場合には、制御回路１０はライトポインタが指し示す図８中”ＷＰ３１”の位置から情報を順次書き込む。
【００６１】
そして、図２中”Ｓ００７”において制御回路１０は当該書込み処理の後ライトバッファ１４に３２バイト分のデータが存在、言い換えれば、ライトバッファ１４のデータがフルであるか否かを判断する。
【００６２】
もし、図２中”Ｓ００７”においてライトバッファ１４のデータがフルである、言い換えれば、ライトバッファ１４に空きがない場合には、図２中”Ｓ００８”において制御回路１０はライトバッファ１４の３２バイトデータをバッファ４に転送してライトバッファ１４をクリアする。
【００６３】
そして、図２中”Ｓ００９”において制御回路１０はメモリ制御回路９を介して書込回路６を制御してバッファ４に転送されてきた３２バイトデータをブロック転送によりリングメモリ７に書き込む。
【００６４】
例えば、図９中の太線に示す経路でライトバッファ１４に４バイトデータのパケット若しくはデータと４バイトデータのタイムスタンプとを８バイトの情報として書き込み、ライトバッファ１４が一杯になった時点で、ライトバッファ１４の３２バイトデータをバッファ４に移動させ、書込回路６がバッファ４に移動してきた３２バイトデータをブロック転送によりリングメモリ７に書き込む。
【００６５】
すなわち、例えば、図１０に示すリードバッファ＃０及び＃１には既に３２バイトデータが書き込まれており、ライトバッファ１４の図１０中”ＷＰ４１”に示す部分にデータを書き込んだ場合、ライトバッファ１４の３２バイトデータをバッファ４に移動し、バッファ４の３２バイトデータをリングメモリ７にブロック転送する。
【００６６】
ここで、フィルタ回路３及びタイマ回路５からの情報は直接リングメモリに書き込まれるのではなく、リードバッファ＃０、リードバッファ＃１及びライトバッファ１４の順番で順次情報が書込まれているので、読み出し処理若しくは書込み処理と言ったリングメモリ７の状態に関わりなく高速に情報の書き込みが可能になる。
【００６７】
また、リードバッファ＃０、リードバッファ＃１及びライトバッファ１４の全てがデータフルになった時点で、ライトバッファ１４の３２バイトデータをブロック単位でリングメモリ７にブロック転送することになるので、書き込みのパフォーマンスが低下することがなく、従来例のように新たに読み出し処理に悪影響を与えることが防止できる。
【００６８】
一方、読み出し動作では、図１１中”Ｓ１０１”において制御回路１０はプローブマネージャ（図示せず。）の指示等により情報の読み出し要求があったか否かを判断する。
【００６９】
図１１中”Ｓ１０１”において情報の読み出し要求があった場合には、図１１中”Ｓ１０２”において制御回路１０はリードバッファ＃０にデータが存在するか否かを判断する。もし、リードバッファ＃０にデータが存在しない場合にはデータが揃うまで待機する。
【００７０】
もし、図１１中”Ｓ１０２”においてリードバッファ＃０にデータが存在する場合には、図１１中”Ｓ１０３”において制御回路１０はリードバッファ＃０からデータを４バイト読み出し、図１１中”Ｓ１０４”において読み出した部分のデータを消去する。
【００７１】
例えば、図１２中の太線に示す経路でリードバッファ＃０から４バイトデータを読み出し、読み出した部分のデータを消去する。
【００７２】
すなわち、例えば、図１３に示すリードバッファ＃０に既に８バイトのデータが存在する場合には、制御回路１０はリードポインタが指し示す図１３中”ＲＰ５１”の位置から４バイトのデータを読み出し、読み出した部分のデータを消去する。
【００７３】
そして、図１１中”Ｓ１０５”において制御回路１０は前述の処理後にリードバッファ＃０にまだデータが存在するか否かを判断し、さらに、図１１中”Ｓ１０６”において制御回路１０はリードバッファ＃１にデータが存在するか否かを判断する。
【００７４】
もし、図１１中”Ｓ１０５”及び”Ｓ１０６”において前述の処理後にリードバッファ＃０にデータが存在せず、リードバッファ＃１にデータが存在する場合には、図１１中”Ｓ１０７”において制御回路１０はリードバッファ＃１の３２バイトデータをリードバッファ＃０にコピーして、リードバッファ＃１を空にする。言い換えれば、リードバッファ＃１の３２バイトデータをリードバッファ＃０に移動させる。
【００７５】
例えば、図１４中の太線に示す経路でリードバッファ＃０から４バイトデータを読み出すと共にこの読み出し処理後にリードバッファ＃０のデータが空になれば、リードバッファ＃１のデータを図１４中”ＭＶ６１”に示す経路でリードバッファ＃０に移動させる。
【００７６】
すなわち、例えば、図１５中”ＤＴ７１”に示すリードバッファ＃０に存在する最後の４バイトのデータ読み出してリードバッファ＃０が空になった時点で、リードバッファ＃１に１２バイトのデータが存在する場合には、制御回路１０はリードバッファ＃１の当該１２バイトのデータをリードバッファ＃０にコピーして、リードバッファ＃１を空にする。言い換えれば、リードバッファ＃１の１２バイトデータをリードバッファ＃０に移動させる。
【００７７】
そして、図１１中”Ｓ１０８”において制御回路１０はリングメモリ７内にデータが存在するか否かを判断し、もし、リングメモリ７内にデータが存在する場合には、図１１中”Ｓ１０９”において制御回路１０はリングメモリ７からリードバッファ＃１にデータをブロック転送により読み出す。
【００７８】
例えば、図１６中の太線に示す経路でリングメモリ７から３２ビットデータをブロック転送により読み出してリードバッファ＃１に書き込む。
【００７９】
すなわち、例えば、図１７に示すリードバッファ＃１からリードバッファ＃０にデータを移動して、リードバッファ＃１が空になってリングメモリ７にデータが存在する場合、リングメモリ７から３２バイトデータがブロック転送により読み出されて書込まれて、リードバッファ＃１はデータフルの状態になる。
【００８０】
もし、図１１中”Ｓ１０８”においてリングメモリ７内にデータが存在しない場合には、図１１中”Ｓ１１０”において制御回路１０はライトバッファ１４内にデータが存在するか否かを判断する。
【００８１】
そして、図１１中”Ｓ１１０”においてライトメモリ１４内にデータが存在する場合には、図１１中”Ｓ１１１”において制御回路１０はライトメモリ１４からリードバッファ＃１にデータを移動させる。
【００８２】
例えば、図１８中の太線に示す経路でライトメモリ１４から３２ビットデータをリードバッファ＃１に移動させる。
【００８３】
すなわち、例えば、図１９に示すリードバッファ＃１からリードバッファ＃０にデータを移動して、リードバッファ＃１が空になってライトメモリ１４にデータが存在する場合、ライトメモリ１４からデータがリードバッファ＃１に移動されてリードバッファ＃１はデータフルの状態になる。
【００８４】
ここで、制御回路１０はリングメモリ７から直接データを読み出すのではなく、リードバッファ＃０からデータを読み出すので、読み出し処理若しくは書込み処理と言ったリングメモリ７の状態に関わりなく高速に情報の読み出しが可能になる。
【００８５】
また、リードバッファ＃０のデータを全て読み出した時点で、リードバッファ＃１のデータをリードバッファ＃０に移動させ、リングメモリ７のデータをブロック単位でブロック転送により読み出してリードバッファ＃１に書込むことになるので、読み出しのパフォーマンスが低下を防止することができる。
【００８６】
さらに、リードバッファ＃０のデータを全て読み出しリードバッファ＃１のデータをリードバッファ＃０に移動させた時点で、リードバッファ＃１がリングメモリ７若しくはライトメモリ１４から次に読み出されるデータを先読みすることにより、効率よくデータを読み出すことができる。
【００８７】
この結果、データの書込み処理においては、フィルタ回路３及びタイマ回路５からの情報をリードバッファ＃０、リードバッファ＃１及びライトバッファ１４の順番で順次情報が書込むことにより、読み出し処理若しくは書込み処理と言ったリングメモリ７の状態に関わりなく情報の書き込みが可能になるので、データを格納するメモリの高速アクセスが可能になる。
【００８８】
また、リードバッファ＃０、リードバッファ＃１及びライトバッファ１４の全てがデータフルになった時点で、ライトバッファ１４の３２バイトデータをブロック単位でリングメモリ７にブロック転送することにより、書き込みのパフォーマンスの低下を防止できる。
【００８９】
また、データの読み出し処理においては、制御回路１０がリードバッファ＃０からデータを読み出すことにより、読み出し処理若しくは書込み処理と言ったリングメモリ７の状態に関わりなく情報の読み出しが可能になるので、データを格納するメモリの高速アクセスが可能になる。
【００９０】
また、リードバッファ＃０のデータを全て読み出した時点で、リードバッファ＃１のデータをリードバッファ＃０に移動させ、リングメモリ７のデータをブロック単位でブロック転送により読み出してリードバッファ＃１に書込むことにより、読み出しのパフォーマンスが低下を防止することができる。
【００９１】
さらに、リードバッファ＃０のデータを全て読み出しリードバッファ＃１のデータをリードバッファ＃０に移動させた時点で、リードバッファ＃１がリングメモリ７若しくはライトメモリ１４から次に読み出されるデータを先読みすることにより、効率よくデータを読み出すことができる。
【００９２】
なお、図１に示す実施例では説明の簡単のために、メモリ制御回路９、制御回路１１及びバッファ制御回路１６をそれぞれ別個に記載しているが、勿論、１つの制御回路１１に全ての制御を行わせても構わない。
【００９３】
また、図１に示す実施例では説明の簡単のために、リングメモリ７に対して書込回路６及び読出回路８を設けているが、メモリ制御回路９によってバッファ４に書き込まれたデータをリングメモリ７にブロック転送する機能や、リングメモリ７からデータをブロック転送により読み出してリードバッファ１５に書込む機能を実現することにより、書込回路６及び読出回路８は不要になる。
【００９４】
また、図１に示す実施例ではリードバッファ１５を併設された”＃０”及び”＃１”の２つのリングメモリにより構成しているが、勿論、次に読み出されるデータを先読みすることをしなければ１つのリングメモリにより構成しても構わない。
【００９５】
また、逆に３つ以上のリングメモリによりリードバッファを構成しても構わない。この場合には、先読みするデータ量が増えるのでより高速読み出しが可能になる。
【００９６】
また、図１に示す実施例では説明の簡単のために、ブロック転送の単位を”３２バイト”、パケット若しくはデータやタイムスタンプを”４バイト”として説明しているが、勿論、これらの数値に限定されるものではなく、必要に応じて適宜バイト数を変更することが可能である。
【００９７】
また、フィルタ回路３及びタイマ回路５の出力であるパケット若しくはデータやタイムスタンプと言った情報をライトバッファ１４に書込む際に、バッファ４のデータがリングメモリ７に書込み終る時間を”Ｔａ”、ライトバッファ１４に情報を書込む際に、ライトバッファ１４が空の状態からデータフルの状態になるまでの時間を”Ｔｂ”とした場合、
Ｔａ＜Ｔｂ      （１）
なる関係を満たすようにライトバッファ１４の容量、バッファ４の容量及びリングメモリ７に対するブロック転送のブロック単位を適宜決定することにより、ライトバッファ１４への書き込みの際にウェイトが生じないので、書き込みのパフォーマンスが低下を防止することができる。
【００９８】
また、リングメモリ７のデータをリードバッファ＃１に読み出す時間を”Ｔｃ”、リードバッファ＃０から制御回路１０への読み出しに際して、リードバッファ＃０がデータフルの状態から空の状態になるまので時間を”Ｔｄ”とした場合、
Ｔｃ＜Ｔｄ      （２）
なる関係を満たすようにリードバッファ＃０及び＃１の容量、リングメモリ７に対するブロック転送のブロック単位を適宜決定することにより、制御回路１０の読み出しの際にウェイトが生じないので、読み出しのパフォーマンスが低下を防止することができる。
【００９９】
【発明の効果】
以上説明したことから明らかなように、本発明によれば次のような効果がある。
請求項１の発明によれば、通信パケットを取り込みタイムスタンプと共に情報としてリードバッファに書き込むことにより、リングメモリを介さずにリードバッファに直接書き込むことになるので高速書き込みが可能になる。
【０１００】
また、情報をライトバッファに書込みブロック転送単位に整形し、バッファを介してブロック転送によりリングメモリに書き込むことにより、無駄なブロック転送が発生しないので高速書き込みが可能になる。
【０１０１】
また、請求項２の発明によれば、リードバッファから情報を読み出すことにより、リングメモリを介さずにリードバッファから直接読み出すことになるので高速読み出しが可能になる。
【０１０２】
また、リードバッファのデータが空になった場合にリングメモリからブロック転送により情報を読み出しリードバッファに書込むことにより、無駄なブロック転送が発生しないので高速読み出しが可能になる。
【０１０３】
さらに、リードバッファのデータが空になった場合にライトバッファ内の情報をリードバッファに移動させることにより、リングメモリを介すことなく直接ライトバッファからリードバッファに移動できるので高速読み出しが可能になる。
【０１０４】
また、請求項３及び請求項４の発明によれば、１つのリードバッファから情報を読み出している際に、他のリードバッファに次に読み出される情報をリングメモリからブロック転送により読み出して書込む、若しくは、ライトバッファからリードバッファに移動させることにより、読み出すデータの先読みができるので高速読み出しが可能になる。
【図面の簡単な説明】
【図１】本発明に係るネットワーク品質評価装置の一実施例を示す構成ブロック図である。
【図２】データの書込み動作時のプローブの動作を説明するフロー図である。
【図３】データの書込み動作時における信号の流れを説明する構成ブロック図である。
【図４】データの書込み動作時における各バッファの状況の一例を示す説明図である。
【図５】データの書込み動作時における信号の流れを説明する構成ブロック図である。
【図６】データの書込み動作時における各バッファの状況の一例を示す説明図である。
【図７】データの書込み動作時における信号の流れを説明する構成ブロック図である。
【図８】データの書込み動作時における各バッファの状況の一例を示す説明図である。
【図９】データの書込み動作時における信号の流れを説明する構成ブロック図である。
【図１０】データの書込み動作時における各バッファの状況の一例を示す説明図である。
【図１１】データの読み出し動作時のプローブの動作を説明するフロー図である。
【図１２】データの読み出し動作時における信号の流れを説明する構成ブロック図である。
【図１３】データの読み出し動作時における各バッファの状況の一例を示す説明図である。
【図１４】データの読み出し動作時における信号の流れを説明する構成ブロック図である。
【図１５】データの読み出し動作時における各バッファの状況の一例を示す説明図である。
【図１６】データの読み出し動作時における信号の流れを説明する構成ブロック図である。
【図１７】データの読み出し動作時における各バッファの状況の一例を示す説明図である。
【図１８】データの読み出し動作時における信号の流れを説明する構成ブロック図である。
【図１９】データの読み出し動作時における各バッファの状況の一例を示す説明図である。
【図２０】従来のネットワーク品質評価装置の一例を示す構成ブロック図である。
【符号の説明】
１  タップ回路
２  物理層回路
３  フィルタ回路
４  バッファ
５  タイマ回路
６  書込回路
７  リングメモリ
８  読出回路
９  メモリ制御回路
１０  制御回路
１１  通信回路
１２，１３  デマルチプレクサ回路
１４  ライトバッファ
１５  リードバッファ
１６  バッファ制御回路
５０，５２  プローブ
５１  取り込み手段
５３  切り換え手段
【図１】
0004062482.tif 000002
【図２】
0004062482.tif 000003
【図３】
0004062482.tif 000004
【図４】
0004062482.tif 000005
【図５】
0004062482.tif 000006
【図６】
0004062482.tif 000007
【図７】
0004062482.tif 000008
【図８】
0004062482.tif 000009
【図９】
0004062482.tif 000010
【図１０】
0004062482.tif 000011
【図１１】
0004062482.tif 000012
【図１２】
0004062482.tif 000013
【図１３】
0004062482.tif 000014
【図１４】
0004062482.tif 000015
【図１５】
0004062482.tif 000016
【図１６】
0004062482.tif 000017
【図１７】
0004062482.tif 000018
【図１８】
0004062482.tif 000019
【図１９】
0004062482.tif 000020
【図２０】
0004062482.tif 000021