(57)【要約】【課題】通信装置あるいはネットワークの状態をリアルタイムに検証する。【解決手段】通信装置１では、通信試験が開始されると、制御手段１０により通信試験処理部２０が起動される。試験のための試験データは、送信処理部２２により生成される。送信処理部２２では、送信命令記憶手段２６に記憶された命令コードに従って送信データ生成手段２７が送信データを生成する。送信制御手段２８は、生成された送信データを指定された送信タイミングで送信する。通信試験処理部２０の受信処理部２１では、入出力手段３０から受信データが入力すると、検証手段２４が直ちに起動する。検証手段２４は、計時手段２３の生成した計時情報を用いて、受信データが入力した時点を示す時間情報を取得して受信データの検証を行なう。検証手段２４による検証の結果は、制御手段１０から読み出し可能な記憶手段２５に書き込まれる。【選択図】        図１
2004165886.tif 000002
【特許請求の範囲】
【請求項１】
一連のデータが所定の情報単位で区切られた通信データを順次伝送する通信装置において、
受信した前記通信データから受信された時点を示す時間情報を取得して前記通信データの通信状況を検証する検証手段と、
前記検証手段によって生成された検証結果を記憶する記憶手段と、
を具備することを特徴とする通信装置。
【請求項２】
前記検証手段は、
生成された前記時間情報を前記記憶手段に保持しておき、
次に前記通信データが入力されるときに取得される前記時間情報と前記記憶手段に保持されている前回入力された前記通信データの時間情報とを比較して前記通信データを受信する間隔を測定する受信間隔測定手段、
を具備することを特徴とする請求項１記載の通信装置。
【請求項３】
前記通信データには、さらに、送信側の通信装置によって送信された時点を示す送信時間情報が含まれており、
前記検証手段は、
前記通信データの入力時に取得された前記時間情報と、前記通信データに含まれる前記送信時間情報とを比較して前記通信データが送信されてから入力されるまでの所要時間を測定する所要時間測定手段、
を具備することを特徴とする請求項１記載の通信装置。
【請求項４】
外部から設定可能であって、前記検証手段による前記検証を規定する命令コードを記憶する命令コード記憶手段をさらに有し、
前記検証手段は、
前記命令コード記憶手段に記憶された前記命令コードに従って前記通信データに対する前記検証を行なうことを特徴とする請求項１記載の通信装置。
【請求項５】
外部から設定可能であって、試験対象となる通信データを規定する通信データ規定コードおよび前記通信データを送信する送信タイミングを規定する送信タイミング規定コードから成る送信命令コードが記憶された送信命令コード記憶手段と、
前記送信命令コード記憶手段に記憶された前記通信データ規定コードに従って送信データを生成する送信データ生成手段と、
前記送信命令コード記憶手段に記憶された前記送信タイミング規定コードに従って前記送信データを送信するタイミングを制御する送信制御手段と、
をさらに備えたことを特徴とする請求項１記載の通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は通信装置に関する。詳しくは、関連する通信データが所定の期間に連続して送受信される通信装置の状態、あるいは通信経路の状態を検知する通信装置に関する。
【０００２】
【従来の技術】
近年、動画像データや音声データ、補助データ等を含む映像データがネットワークを介してリアルタイムで送受信されるようになってきている。映像データのストリーミング伝送は、容量の大きいデータ・パケットが連続的にネットワークに流されるという特徴があり、一定の期間内で一定量のデータを伝送しなければ、受信側で正しい映像を再生できなくなる。そこで映像データのストリーミング転送処理に適した伝送プロトコルが提唱されており、例えば、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いたネットワークにおいて、リアルタイムに音声や動画を送信／受信するリアルタイム・トランスポート・アプリケーションを実現するトランスポートプロトコルとして、リアルタイム・トランスポート・プロトコル（ＲＴＰ：Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）がＲＦＣ１８８９で勧告されている。
【０００３】
このようなリアルタイム・トランスポート・アプリケーション処理を行なう通信装置では、通信装置が所定の性能を満たしているかどうかをチェックする通信試験が、通信装置をネットワーク回線で接続した通信試験システムを構成して行なわれる。さらに、通信装置またはネットワーク回線が正常に稼動しているかどうかをチェックする目的で監視システムが構成され、例えば、パケットが一定の期間内でデータ伝送されているかどうかを監視する（例えば、特許文献１参照）。
【０００４】
特許文献１に記載のネットワーク監視システムについて説明する。図１０は、ネットワーク監視システムの構成図である。図１０に示したネットワーク監視システムでは、ネットワーク２に接続する端末装置９１と端末装置９２とが、端末装置間のデータ交換を処理するスイッチ９３を介して接続している。さらに、スイッチ９３には、端末装置９１、９２およびネットワーク２の状態を監視する監視装置９４が接続している。
【０００５】
端末装置９１、９２は、映像データ等をリアルタイムに伝送する通信装置であり、例えば、端末装置９１より送信されたパケットは、スイッチ９３で中継され、端末装置９２が受信する。逆方向も同様である。
【０００６】
スイッチ９３は、ネットワーク２に接続する入出力手段９３１と、監視対象の端末装置等に関する情報が登録されたテーブル９３３と、テーブル９３３を用いて監視処理を制御する制御手段９３２と、を具備している。テーブル９３３には、端末装置を識別する識別情報が登録されており、さらに時間情報領域が設けられている。制御手段９３２は、監視プログラムに従って処理を行なうＣＰＵ等で、入出力手段９３１からパケットが入力されるごとに、テーブル９３３を参照して該当する時間情報領域に例えば現在時刻の値を書き込む。さらに、監視装置９４から監視コマンドを受信すると、指定された端末装置の時間情報領域の値と現在時刻との差が所定時間以内であるかどうかを判定する。差が所定時間以内であれば、端末装置が正常と判断し、所定時間を超えていれば端末装置、あるいはネットワーク２に異常が発生したと判断する。
【０００７】
上記の説明のネットワーク監視システムでは、通常状態で端末装置９１、９２間で送受信される映像データのパケットの間隔を測定することにより、ネットワーク２を監視しているが、稼動前の通信試験においても同様に、端末装置９１、９２間で試験用パケットを送受信し、パケットが正常に受信できたかどうかの確認、パケット受信間隔あるいはパケット受信遅延時間等についての測定を行なうことができる。例えば、端末装置９１が送信側、端末装置９２が受信側で通信試験が行なわれる場合、端末装置９１は、試験用プログラムに従って、試験用パケットを作成し、所定のタイミングで端末装置９２に向けて送信する。また、ネットワーク２経由でパケットを受信した端末装置９２は、試験用プログラムに従って、受信パケットをチェックし、受信間隔や受信遅延時間等の測定を行なう。
【０００８】
このように、従来、通信試験処理あるいはネットワーク監視処理は、処理プログラムを制御手段で実行することによって実現されていた。
【０００９】
【特許文献１】
特開２００２−１３５２６２号公報
【００１０】
【発明が解決しようとする課題】
しかし、ソフトウェアを用いた通信試験あるいはネットワーク監視は、リアルタイム性の必要な通信装置に適していないという問題がある。
【００１１】
上記の説明のように、映像データ等のストリーミング転送処理を行なう通信装置の試験あるいは監視においては、パケットの受信間隔やパケットの受信遅延時間の測定等、リアルタイム性を保証するための時間測定が重要である。
【００１２】
しかしながら、図１０のネットワーク監視システムでは、スイッチ９３の入出力手段９３１にパケットが入力されると、例えば、割り込み信号が発生し、割り込み信号を受けた制御手段９３２が監視処理を開始させる。このため、割り込み信号に対する制御手段９３２の応答が遅れると、データ取得処理に遅延が発生し、得られた時刻が実際に入出力手段９３１に入力した時刻とずれてしまう可能性がある。このように、リアルタイム性を検証するための時間に関して信頼性のあるデータ取得が難しいため、リアルタイム性を確保しなければならない通信装置の試験あるいは監視に適さないという問題がある。
【００１３】
また、制御手段９３２がテスト用の処理に占有される可能性があるため、本来すべき重要な処理の時間に遅延が生じ、システムとしての効率が劣化する恐れもある。
【００１４】
このようなリアルタイムの検証が難しいという問題は、端末装置９１、９２に試験用プログラムを搭載し、試験用パケットを送受信させて行なう従来の通信試験システムにおいても発生する。
【００１５】
特に、近年ではデータ伝送の高速化が進んでおり、従来のソフトウェアを用いた処理では、制御手段における試験あるいは監視データ取得処理の負荷が多大となり、リアルタイムに状態を監視することがさらに難しくなってきている。
【００１６】
本発明はこのような点に鑑みてなされたものであり、通信装置あるいはネットワークの状態をリアルタイムに検証することが可能な通信装置を提供することを目的とする。
【００１７】
【課題を解決するための手段】
本発明では上記課題を解決するために、一連のデータが所定の情報単位で区切られた通信データを順次伝送する通信装置において、受信した前記通信データから受信された時点を示す時間情報を取得して前記通信データの通信状況を検証する検証手段と、前記検証手段によって生成された検証結果を記憶する記憶手段と、を具備することを特徴とする通信装置、が提供される。
【００１８】
このような構成の通信装置では、試験動作時、検証手段は、通信データが入力されると、通信データが受信された時点を示す時間情報を生成し、受信された通信データの通信状況を検証する処理を実行する。検証処理により生成された検証結果は、記憶手段に記憶される。
【００１９】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明の一実施の形態である通信装置の構成図である。
【００２０】
本発明の実施の形態である通信装置１は、装置全体を制御する制御手段１０、通信試験を実行する通信試験処理部２０及びネットワーク２に接続する入出力手段３０から構成される。
【００２１】
制御手段１０は、ＣＰＵ等で構成され、通信装置１全体の動作を制御する。また、通信試験を行なう場合には、通信試験処理部２０を起動させるとともに、必要に応じて、通信試験処理部２０の記憶手段２５に記憶された試験結果を読み出し、外部へ出力する。
【００２２】
また、入出力手段３０は、ネットワーク２に接続し、所定のプロトコルに基づいて、例えば、映像データ等の一連のデータが所定の情報単位に区切られ連続して送受信される通信パケットをネットワーク２経由で出力し、ネットワーク２経由で送られてきた通信パケットを入力する。
【００２３】
通信試験処理部２０は、通信試験の受信処理を行なう受信処理部２１と、送信処理を行なう送信処理部２２と、計時手段２３と、を有する。また、通信装置１の利用形態によっては、送信処理部２２あるいは受信処理部２１のいずれか一方が具備されない場合もある。
【００２４】
受信処理部２１は、入出力手段３０経由で入力した通信データ（以下、受信データとする）に関する検証を行なう検証手段２４と、検証結果を記憶する記憶手段２５とを有する。送信処理部２２は、送信試験用の命令コードを記憶する送信命令記憶手段２６、入出力手段３０経由で出力する通信データ（以下、送信データとする）を生成する送信データ生成手段２７および送信を制御する送信制御手段２８を有する。
【００２５】
計時手段２３は、時刻あるいは、任意の時点間の経過時間を計測し、その計時情報を生成する。
受信処理部２１について説明する。
【００２６】
検証手段２４は、予め設定された検証手順に従って受信データの試験を実行する。受信データが入力されると同時に起動し、計時手段２３の生成する計時情報に基づいて受信データを受信した時点を示す時間情報を取得して通信状況の検証を行なう。例えば、時間情報に基づいて受信データが到着する間隔等を測定することができる。また、受信データの到着順のチェック等、受信データに関する試験を実施させることもできる。検証結果は、記憶手段２５へ書き込む。さらに、必要に応じて、検証動作を規定する命令コードを記憶する命令コード記憶手段を設け、検証手段２４の検証実行時に命令コードに従った動作をさせることもできる。命令コード記憶手段は、記憶手段２５に設けるようにしてもよい。
【００２７】
記憶手段２５は、検証手段２４による検証結果を記憶する記憶手段である。また、必要に応じて、命令コードを記憶させることもできる。記憶手段２５は、制御手段１０から読み出しと書き込みを行なうことができる。
【００２８】
次に、送信処理部２２について説明する。
送信命令記憶手段２６は、試験対象の送信データの生成や送信タイミング等の規定が命令コードとして記憶される送信命令コード記憶手段である。命令コードは、外部より制御手段１０経由で設定される。
【００２９】
送信データ生成手段２７は、起動されると、送信命令記憶手段２６に記憶された命令コードに基づいて送信データを生成する。
送信制御手段２８は、送信データ生成手段２７が生成した送信データを、送信命令記憶手段２６に記憶された命令コードに基づく送信タイミングで送信するための制御を行なう。
【００３０】
受信処理部２１および送信処理部２２は、通信試験実行時、あるいは、監視が必要な場合に、例えば、制御手段１０によって起動される。あるいは、装置にスイッチやピン等を設け、その設定により起動を指示することもできる。受信処理部２１および送信処理部２２は、ハードウェア等により構成され、一旦起動された後は独立して動作することが可能である。
【００３１】
このような構成の通信装置１の動作について説明する。
通信装置１の通信試験処理部２０には、制御手段１０を介して、送信命令コードが送信命令記憶手段２６に設定されている。また、必要に応じて、記憶手段２５に受信側の命令コードが設定されている。
【００３２】
通信試験開始で、通信試験処理部２０が起動される。送信処理部２２では、試験用の送信データの送信が開始され、受信処理部２１では、受信データに関する試験が開始される。試験実行時、試験用の送信データの送信を制御する通信装置と受信データを検証する通信装置は、別の装置であっても、同一の装置であってもよい。
【００３３】
まず、送信処理部２２の動作について説明する。
送信処理部２２では、送信データ生成手段２７は、送信命令記憶手段２６に記憶された命令コードに基づいて試験対象の送信データを生成する。生成された送信データは、送信制御手段２８によって入出力手段３０経由でネットワーク２へ出力される。また、試験状況によっては、送信制御手段２８から出力された送信データを入出力手段３０経由で受信処理部２１へ入力させ、通信装置１単体で試験を行なうとしてもよい。
【００３４】
次に、受信処理部２１の動作について説明する。
受信処理部２１では、入出力手段３０から受信データが入力すると、検証手段２４が直ちに起動され、計時手段２３の生成する計時情報に基づいて、受信データが入力した時点を示す時間情報を取得して試験対象の受信データの検証を行なう。検証結果は、記憶手段２５に記憶される。
【００３５】
このように、本発明に係る通信装置の検証手段は、受信データが入力されると直ちに起動し、計時手段の計時情報に基づいて正確に受信データが入力された時点の時間情報を取得することができる。受信時点の時間情報が正確であることから、通信装置を含むネットワーク経路上の遅延や、受信データの到着間隔等のリアルタイム性を検証するために必要となる正確なデータを算出することができる。また、時間に関係しない検証であっても、制御手段に負荷をかけることなく、高速処理が可能である。さらに、監視を行なう場合でも、制御手段に負荷をかけずに高速処理が可能であることから、通信装置あるいはネットワークの状態をリアルタイムに監視することができる。
【００３６】
以下、本発明の通信装置を映像データのストリーミング転送処理を行なう通信システムに適用した場合について説明する。以下では、ＩＰを用いたネットワークについて説明するが、他のプロトコルでも同様な構成をとることが可能である。また、映像データの伝送として、ＲＴＰに従ってＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｋｏｌ）あるいはＴＣＰ（Ｔｒａｎｓｐｏｒｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）にのせて伝送することとする。
【００３７】
図２は、本発明の実施の形態の通信装置で構成される通信システムの構成図である。図１と同じものには同じ番号を付し、説明は省略する。
通信装置１ａ及び１ｂは、上記説明の制御手段である制御用ホスト１０ａ、１０ｂと、通信試験処理部２０ａ、２０ｂが組み込まれており、ネットワーク２を介して映像データを伝送する。ネットワーク２経由で映像データを伝送する入出力手段の処理は、ＲＴＰ（３１ａ、３１ｂ）と、ＴＣＰ／ＵＤＰ（３２ａ、３２ｂ）およびＩＰｖ４／ＩＰｖ６（３３ａ、３３ｂ）とによって実行される。
【００３８】
ここで、ＲＴＰ（３１ａ、３１ｂ）は、ＲＦＣ１８８９で規定された映像データをストリーミング転送するためのプロトコルである。ＲＴＰは、ビデオ会議やビデオオンデマンドのようなマルチメディア・システムに適用することを想定したもので、ＲＴＰヘッダの中にパケットの順序番号やタイム・スタンプ（時刻表示データ）が付加することにより、アプリケーション間でのリアルタイム性を確保する。また、ＴＣＰ／ＵＤＰ（３２ａ、３２ｂ）は、トランスポート層プロトコルで、ＴＣＰがコネクション型であるのに対し、ＵＤＰはコネクションレス型のプロトコルである。このため、ＲＴＰでは、通常、エラー時の再送処理等を実行しないＵＤＰがトランスポート層のプロトコルとして使用される。ＩＰｖ４／ＩＰｖ６（３３ａ、３３ｂ）は、ネットワーク層のプロトコルとして使用される。
【００３９】
通信装置１ａ、１ｂは、制御用ホスト１０ａ、１０ｂに従って、図示しない映像データ生成部により生成された映像データを、ＲＴＰ（３１ａ、３１ｂ）、ＴＣＰ／ＵＤＰ（３２ａ、３２ｂ）およびＩＰｖ４／ＩＰｖ６（３３ａ、３３ｂ）を用いた伝送プロトコルにより映像データパケットとして、ネットワーク２へ出力する。また、ネットワーク２経由で取得した映像データパケットは、ＩＰｖ４／ＩＰｖ６（３３ａ、３３ｂ）、ＴＣＰ／ＵＤＰ（３２ａ、３２ｂ）およびＲＴＰ（３１ａ、３１ｂ）により映像データに再生され、制御用ホスト１０ａ、１０ｂに従って、図示しない映像データ再生部で再生される。
【００４０】
通信試験処理部２０ａ、２０ｂは、通信試験実行時に起動され、試験用の送信データを生成し、ＲＴＰ（３１ａ、３１ｂ）、ＴＣＰ／ＵＤＰ（３２ａ、３２ｂ）およびＩＰｖ４／ＩＰｖ６（３３ａ、３３ｂ）経由で出力する。また、ＩＰｖ４／ＩＰｖ６（３３ａ、３３ｂ）、ＴＣＰ／ＵＤＰ（３２ａ、３２ｂ）およびＲＴＰ（３１ａ、３１ｂ）より入力した受信データを対象とした試験処理を行なう。また、通信処理部２０ａ、２０ｂにおいて、通常の映像データ伝送の際に、受信データ・パケットの到着間隔や経路の遅延時間等を測定し、測定結果に基づいて通信装置あるいはネットワークの状態が正常であるかどうかを監視する監視処理を行なうことも可能である。
【００４１】
次に、通信試験処理部の詳細について説明する。図３は、本発明の実施の形態である通信装置の通信処理部の構成図である。通信試験処理部２０は、図２に示した通信装置１ａ、１ｂの通信試験処理部２０ａ、２０ｂの詳細である。
【００４２】
通信試験処理部２０は、受信側で検証処理を行なう受信処理部である受信回路２１０、送信側で試験用の送信データの送信を制御する送信処理部である送信回路２２０、計時手段であるタイマ２３０、制御用ホストと接続するホストインターフェース２９１および外部の伝送プロトコルに従って通信パケットの入出力を制御する入出力手段と接続する外部インターフェース２９２とを有する。
【００４３】
受信回路２１０は、検証を行なう検証手段であるペイロードのシーケンスチェック部２４１と、ヘッダのシーケンスチェック部２４２と、パケット間隔測定部２４３と、パケット到着時間算出部２４４と、検証結果等を記憶する記憶手段である受信用レジスタ２５０と、を有する。
【００４４】
ペイロードのシーケンスチェック部２４１は、送信回路２２０により生成された所定の形式を有する通信データを受信し、受信した通信データがこの所定の形式を満たしているかどうかを検証する。
【００４５】
ヘッダのシーケンスチェック部２４２は、通信パケットのヘッダに含まれる送信先の識別コードやパケット番号をチェックし、パケットが正常に受信できるかどうかを検証する。
【００４６】
パケット間隔測定部２４３は、パケットが受信されるごとに、パケットが受信された時点を示す時間情報をタイマ２３０の計時する計時情報に基づいて作成し、パケットが受信された間隔を測定する。例えば、前回通信パケットが入力された際の時間情報と、今回の通信パケットが入力された際の時間情報とを比較し、パケットの間隔を算出する。また、必要に応じて、得られたパケット間隔の平均値、最大値、最小値を算出するようにしてもよい。
【００４７】
パケット到着時間算出部２４４は、パケットが受信されるごとに、パケットが受信された時点を示す時間情報をタイマ２３０の計時する計時情報に基づいて作成し、パケットに含まれるタイム・スタンプ（送信の時刻表示データ）を参照して送信されてから受信されるまでの遅延時間を算出する。これも必要に応じて、得られた遅延時間の平均値、最大値、最小値を算出するようにしてもよい。
【００４８】
受信用レジスタ２５０は、受信データに対する検証を規定する受信用の命令コードを記憶する領域と、試験の結果を記憶する領域とを有する。
また、送信回路２２０は、送信命令記憶手段である送信用レジスタ２６０と、送信データ生成手段であるパケット生成部２７０と、送信制御手段である送信タイミング制御部２８０と、を有する。
【００４９】
送信用レジスタ２６０は、生成されるパケットを規定する通信データ規定コードが設定された領域と、パケット送信のタイミングを規定する送信タイミング規定コードが設定された領域とを有し、それぞれの命令コードを記憶する。
【００５０】
パケット生成部２７０は、送信用レジスタ２６０に記憶された通信データ規定コードに従って、所定のフォーマットの送信パケットを生成する。
送信タイミング制御部２８０は、送信用レジスタ２６０に記憶された送信タイミング規定コードに従って、パケット生成部２７０の生成した送信パケットを所定のタイミングで送信する。
【００５１】
このような構成の通信装置における受信回路２１０および送信回路２２０の処理について説明する。便宜上、送信回路２２０における処理を先に説明し、続いて受信回路２１０における処理について説明する。
【００５２】
以下、送信回路２２０における処理を図面を参照して説明する。
図４は送信用レジスタの一例を示す図、図５は送信回路におけるパケット生成処理手順を示したフローチャート、図６はパケット生成部によって生成されるパケットの一例を示す図、図７は送信タイミング制御部による送信タイミングの一例を示す図である。
【００５３】
送信用レジスタ２６０は、図４に示すように、パケット生成のための通信データ規定コードが設定された「パケット生成」２６１領域と、パケット送信のタイミングを規定する送信タイミング規定コードが設定された「送信タイミング」２６２領域とを有する。
【００５４】
「パケット生成」２６１領域には、パケット生成部２７０が参照する命令コードであって、生成される送信パケットのパケット長、送信パケットに埋め込む識別ＩＤ、パケットシーケンス番号の初期値等が設定されている。
【００５５】
また、「送信タイミング」２６２領域には、送信タイミング制御部２８０が参照する命令コードであって、パケットの送信間隔、バイト単位の送信間隔、バーストモードにおけるバースト間隔と１バースト間隔に送信するパケット数、等が設定されている。
【００５６】
続いて、図４に示した「パケット生成」２６１領域に設定された命令コードに従って、送信回路２２０が実行するパケット生成手順について説明する。
パケット生成処理は、通信試験時に起動され、図５のフローチャートに示した処理手順で実行される。
【００５７】
送信処理が開始され、最初に初期化が行なわれる。
ステップＳ０１：パケットのデータ設定が完了した位置を示す送信パケットカウンタが初期化される。
【００５８】
ステップＳ０１による初期化終了後、送信パケットの生成が行なわれる。
ステップＳ０２：送信用レジスタに記憶された命令コードに従って、パケットのヘッダ部の生成が行なわれる。このとき、ヘッダ部に挿入される情報は、送信用レジスタ２６０の命令コードの規定によって決定される。
【００５９】
ステップＳ０３：ステップＳ０２のヘッダ部に続いて、ペイロード部の生成が行なわれる。ここでは、ペイロード部に順次インクリメントされるバイトデータで構成されるシーケンスデータを設定する場合で説明する。ステップＳ０３では、前回設定したデータをインクリメントしたシーケンスデータを送信パケットカウンタによって決まる位置にセットし、送信パケットカウンタをインクリメントし、次のステップＳ０４へ進む。
【００６０】
ステップＳ０４：送信用レジスタの命令コードで指定されたパケット長と送信パケットカウンタとを比較する。送信パケットカウンタが命令コードのパケット長に達していない場合は、ステップＳ０３に戻って、ペイロード部の設定からの処理を繰り返す。送信パケットカウンタの値が命令コードのパケット長に達した場合は、次のステップＳ０５へ進む。
【００６１】
ステップＳ０５：パケットの最後にＥＯＦを追加する。
ここまでの処理により、同期バイトを除く送信パケットの生成が終了する。続いて、送信タイミングに関する情報を初期化する処理を行なう。
【００６２】
ステップＳ０６：送信用レジスタの命令コードによる規定に応じて「バイト送信間隔」を指定する。
ステップＳ０７：続いて、送信用レジスタの命令コードによる規定に応じて「パケット送信間隔」を指定する。
【００６３】
ステップＳ０８：バーストモードであるかどうかが判定され、バースト転送でない場合は、ステップＳ１１へ処理を進め、送信パケットカウンタをインクリメントし、ステップＳ１２へ進む。また、バーストモードである場合は、ステップＳ０９へ処理を進め、バーストモードでない場合は、ステップＳ１１へ処理を進める。
【００６４】
ステップＳ０９：送信用レジスタの命令コードによる規定に応じて、バーストモードにおける「バースト送信間隔」を指定する。
ステップＳ１０：送信パケットカウンタをリセットする。
【００６５】
終了後、ステップＳ１２へ処理を進める。
ステップＳ１１：バーストモードでない場合、送信パケットカウンタをインクリメントし、ステップＳ１２へ処理を進める。
【００６６】
ステップＳ１２：ヘッダに同期バイトを付加し、送信パケットの生成を終了する。
以上の処理により、送信パケットが生成され、送信タイミングに関する情報が初期化される。
【００６７】
ここで、生成された送信パケットについて説明する。生成された送信パケットは、図６に示すように、ヘッダ部６１と、ペイロード部６２とから構成される。ヘッダ部６１は、パケットの先頭を見つけるための同期バイト６１１、送信元のデバイスを識別するための識別ＩＤ６１２、送信時刻が埋め込まれるタイム・スタンプ６１３およびパケットごとに順次付与されるシーケンス番号６１４から構成される。パケット生成部２７０は、送信用レジスタの命令コードに従って識別ＩＤ６１２を設定し、命令コードのシーケンス番号の初期値から順にパケット毎にインクリメントした番号をシーケンス番号６１４に設定する。
【００６８】
ペイロード部６２は、図６の例では、０ｘ００から順次インクリメントされるインクリメントデータ６２１が設定される。パケット生成部２７０は、送信用レジスタの命令コードのパケット長の設定に従って、インクリメントデータ６２１を生成し、最終にＥＯＦを付加する。
【００６９】
以上のようにして生成された送信パケットの送信タイミングは、送信タイミング制御部２８０によって制御される。送信タイミング制御部２８０は、送信用レジスタ２６０に記憶された「送信タイミング」領域の命令コードに従って設定された、「バイト送信間隔」、「パケット送信間隔」、「バースト送信間隔」、および「送信パケットカウンタ」等を用いて、送信パケットの送信タイミングを制御する。
【００７０】
送信タイミング制御部２８０の動作をバーストモードの場合で説明する。バーストモードである場合、送信タイミング制御部２８０は、図７に示したように、タイマ２３０を用いて「バースト送信間隔」を計り、バースト送信間隔に到達するごとにパケット７１の送信を開始する。１バースト間隔に送信されるパケットは、同様にタイマ２３０により「パケット送信間隔」に到達するごとに送信が開始される。このとき送信されるパケットの総数は、命令コードのバーストパケット数で指定された数になる。また、１パケットの送信では、パケットを構成する各データバイト７２は、「バイト送信間隔」によって規定される送信タイミングで順次送信される。
【００７１】
バーストモードでない場合は、パケット送信間隔でパケット７１の送信が行なわれる。
ここで、送信タイミング制御部２８０による送信タイミングの制御は、ハードウェアにより実行されるため、送信タイミングをシステムクロックの倍数で調整することができる。
【００７２】
次に、受信回路２１０について説明する。受信回路２１０は、上記の説明の送信回路２２０によって送信された送信パケットが外部インターフェース２９２経由で入力されることにより検証を開始する。
【００７３】
図８は、受信用レジスタの一例を示す図である。
受信用レジスタは、「命令コード」２５１領域と、「試験結果」２５２領域とを有する。「命令コード」２５１領域には、例えば、パケットチェックの際に自局宛のパケットであるかどうかの判断に用いる識別ＩＤの設定、パケット受信間隔やパケット受信遅延の測定の際に何パケットごとにサンプリングを行なうかの指定等が設定されている。また、「試験結果」２５２領域には、ペイロードチェック時に検出されたバイトロス数とそのバイトロス数の積算値、ヘッダチェック時に検出されたパケットロス数とそのパケットロス数の積算値、パケット受信間隔の測定時に算出されたパケット受信間隔の平均値と最大値と最小値、パケット受信遅延の測定時に算出されたパケット受信遅延の平均値と最大値と最小値、等がある。
【００７４】
続いて、受信回路における処理手順について説明する。図９は、受信回路における検証処理手順を示したフローチャートである。
外部インターフェース２９２より受信データが入力されると、処理を開始する。この受信データは、外部のネットワーク経由で取得されたものであっても、通信装置内部の送信回路から入出力手段経由で取得されたものであってもよい。
【００７５】
ステップＳ２１：受信パケットが試験に用いられるテストパケットであるかどうかが判定される。テストパケットでなければステップＳ２２へ処理を進め、テストパケットであればステップＳ２３へ処理を進める。
【００７６】
ステップＳ２２：テストパケットではないので、通常の処理を実行し、処理を終了する。
ステップＳ２３：受信したテストパケットが自局宛であるかどうかを判断する。このとき、受信用レジスタに設定された識別ＩＤを用いてチェックする。自局宛であればステップＳ２４へ処理を進め、それ以外の場合は処理を終了する。
【００７７】
ステップＳ２４：受信したテストパケットのヘッダに含まれるタイム・スタンプ６１３より送信された時刻を取得する。タイム・スタンプ６１３の時刻とタイマ２３０より得られる現時刻との差分をとり、１パケット転送における遅延時間を算出する。
【００７８】
ステップＳ２５：ステップＳ２４で算出された遅延時間に基づいて、遅延時間の最大、最小、平均値を算出する。例えば、ステップＳ２４で算出された遅延時間を、過去に受信したパケットの遅延時間が加算された受信遅延積算カウンタに加算して、受信遅延積算カウンタを更新する。そして、加算が命令コードに設定されたサンプリング数に達したときに、サンプリング数に基づいて平均値を算出する。また、最大遅延、および最小遅延をレジスタに保持しておき、ステップＳ２４で取得された遅延時間と比較する。取得された遅延時間が最大遅延より大きい場合、あるいは最小遅延より小さい場合、該当のレジスタ値を更新する。このようにして算出された平均値、最大値、最小値は、サンプリング数に到達した時点などの条件が成立した場合、制御手段１０に割り込みを発生させて通知するようにさせてもよい。
【００７９】
ステップＳ２６：ヘッダのシーケンス番号に基づいてパケットが先頭であるかどうかを判断する。先頭である場合はステップＳ２７へ処理を進め、先頭でない場合はステップＳ２８へ処理を進める。
【００８０】
ステップＳ２７：先頭パケットである場合、パケットチェックのために使用する各種レジスタを初期化し、ステップＳ３１へ処理を進める。
ステップＳ２８：先頭パケットでない場合、ヘッダ部のチェックを行なう。例えば、ヘッダ部に含まれるシーケンス番号を読み出し、前回受信したパケットのシーケンス番号と比較する。シーケンス番号が連続している場合は正常であるとし、シーケンス番号がとんでいる場合はパケットロスが発生したと判断する。さらに、シーケンス番号の差に応じて、ロスしたパケット数を算出し、受信用レジスタにパケットロス数として設定する。さらに、パケットロス数の積算に加算して、積算値を更新する。
【００８１】
ステップＳ２９：前パケット受信からの間隔を測定する。例えば、受信間隔測定用のカウンタをレジスタに設けておき、パケットの取得とともにリセットし、次のパケット受信までのカウンタをシステムクロックに合わせてインクリメントする。次のパケットを受信したときに受信間隔測定用のカウンタの積算値をパケット受信間隔として受信用レジスタに設定する。その後、カウンタをリセットして、次のパケット受信までのカウントを開始する。
【００８２】
ステップＳ３０：ステップＳ２９によって取得した受信間隔についても、遅延時間と同様に最大、最小、平均値を算出する。算出方法は、遅延時間の場合と同様であるので省略する。続いて、ステップＳ３１へ処理を進める。
【００８３】
ステップＳ３１：受信したパケットのペイロード部のチェックを行なう。例えば、ペイロードがシーケンスデータで構成されている場合、受信したパケットのペイロードがシーケンスデータとなっているかどうかを調べ、バイトロスがないかどうかを検証する。
【００８４】
ステップＳ３２：ペイロード部が終了したかどうかをＥＯＦが検出されたかどうかで判断し、終了していなければステップＳ３１に戻ってシーケンスデータのチェックを続ける。終了していれば、検証処理を終了する。
【００８５】
【発明の効果】
以上説明したように本発明では、通信試験を行なう通信試験処理部が通信装置内部に組み込まれており、通信試験処理部は、受信データが入力されると直ちに起動して受信データが入力された時点を示す正確な時間情報を生成することができる。このように、受信時点の時間情報が正確であることから、通信装置を含むネットワーク経路におけるリアルタイム性を検証するために重要なデータの信頼性が高い。また、監視を行なう場合でも、制御手段に負荷をかけることなく高速処理が可能であり、通信装置あるいはネットワークの状態をリアルタイムに監視することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態である通信装置の構成図である。
【図２】本発明の実施の形態の通信装置で構成される通信システムの構成図である。
【図３】本発明の実施の形態である通信装置の通信処理部の構成図である。
【図４】送信用レジスタの一例を示す図である。
【図５】送信回路におけるパケット生成処理手順を示したフローチャートである。
【図６】パケット生成部によって生成されるパケットの一例を示す図である。
【図７】送信タイミング制御部による送信タイミングの一例を示す図である。
【図８】受信用レジスタの一例を示す図である。
【図９】受信回路における検証処理手順を示したフローチャートである。
【図１０】ネットワーク監視システムの構成図である。
【符号の説明】
１・・・通信装置、２・・・ネットワーク、１０・・・制御手段、２０・・・通信試験処理部、２１・・・受信処理部、２２・・・送信処理部、２３・・・計時手段、２４・・・検証手段、２５・・・記憶手段、２６・・・送信命令記憶手段、２７・・・送信データ生成手段、２８・・・送信制御手段、３０・・・入出力手段
【図１】
2004165886.tif 000003
【図２】
2004165886.tif 000004
【図３】
2004165886.tif 000005
【図４】
2004165886.tif 000006
【図５】
2004165886.tif 000007
【図６】
2004165886.tif 000008
【図７】
2004165886.tif 000009
【図８】
2004165886.tif 000010
【図９】
2004165886.tif 000011
【図１０】
2004165886.tif 000012