(57)【要約】【課題】ＯＡＭフレームにカウンタ値を格納して送信するまでの間に、次のデータフレームが送信されてしまい、ＯＡＭフレーム内のカウンタ値と実際に送信されたデータフレームのカウント数が異なってしまう。【解決手段】一態様による通信装置は、送信データフレーム数を示すカウンタ値を含む監視制御フレームを生成する生成部と、データフレームと生成部が生成した監視制御フレームとを送信する送信部とを有する。送信部は、送信したデータフレーム数をカウントするカウンタと、送信するフレームの送信順序を決定するスケジューラとを有する。生成部は前記カウンタのカウント値を、前記スケジューラが決定した送信順序に応じて修正して前記監視制御フレームを生成する。【選択図】図１０
2010028654.tif 000002
【特許請求の範囲】
【請求項１】
送信データフレーム数を示すカウンタ値を含む監視制御フレームを生成する生成部と、
データフレームと前記生成部が生成した監視制御フレームとを送信する送信部とを有し、
前記送信部は、送信したデータフレーム数をカウントするカウンタと、
送信するフレームの送信順序を決定するスケジューラとを有し、
前記生成部は前記カウンタのカウント値を、前記スケジューラが決定した送信順序に応じて修正して前記監視制御フレームを生成することを特徴とする通信装置。
【請求項２】
前記送信部は、少なくとも、データフレームが入力される第１のＦＩＦＯと、前記生成部が生成した監視制御フレームが入力される第２のＦＩＦＯとをさらに有することを特徴とする、請求項１に記載の通信装置。
【請求項３】
前記生成部は、前記スケジューラが決定した前記送信順序に基づき、前記監視制御フレームの送信までに送信されている前記データフレームの前記カウンタが示すカウント値からの変化分を求めることを特徴とする、請求項１または２に記載の通信装置。
【請求項４】
送信したデータフレーム数をカウントする段階と、
送信するデータフレームと監視制御フレームの送信順序を決定する段階と、
カウントしたデータフレーム数を含む監視制御フレームを生成する段階と、
前記送信順序に基づき、送信する前記データフレームと前記監視制御フレームとを送信する段階とを有し、
前記監視制御フレームに含める前記データフレーム数を前記送信順序に応じて修正してすることを特徴とする監視制御フレーム送信方法。
【請求項５】
コンピュータに、
送信したデータフレーム数をカウントする段階と、
送信するデータフレームと監視制御フレームの送信順序を決定する段階と、
カウントしたデータフレーム数を含む監視制御フレームを生成する段階と、
前記送信順序に基づき、送信する前記データフレームと前記監視制御フレームとを送信する段階とを実行させ、
前記監視制御フレームに含める前記データフレーム数を前記送信順序に応じて修正してすることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークにおけるフレームロスメジャーメントに関し、特に、正確なフレームロスメジャーメントが可能な通信装置、インタフェースカード及びＯＡＭフレーム送信方法に関する。
【背景技術】
【０００２】
ローカルエリアネットワーク（ＬＡＮ）の技術として開発されてきたイーサネット（登録商標）は、キャリアの大規模網でも使用されつつある。イーサネット（登録商標）には、従来、大規模網における保守運用（Operation Administration and Maintenance、以下ＯＡＭ）に関する機能はほとんどなかったが、キャリア網での使用が増加するにつれて、ＯＡＭ機能に対する要求が強くなっている。ＩＴＵ−Ｔ  ＳＧ１３がＹ．１７３１として標準化したイーサネット・フレームロスメジャーメント（Ethernet Frame Loss Measurement、以下ＥＴＨ−ＬＭ）は、送信パケット数や、受信パケット数を監視制御用のイーサネットフレームである、ＯＡＭフレームに格納して通知する。
【０００３】
そして、通知を受けたＯＡＭフレーム内の送信パケット数や、受信パケット数と、実際に受信したパケット数や、実際に送信したパケット数とを比較することで、パケットの喪失、すなわちフレームロスを測定する機能である。このＥＴＨ−ＬＭにはシングルエンド方式（Single-ended）とデュアルエンド方式（Dual-ended）の２種類の測定方法がある。
【０００４】
これらは、使用するＯＡＭフレームの種類、ＯＡＭフレームに格納して通知する情報、フレームロスの算出方法が異なるが、ＯＡＭフレームを送信する時に、それまでに送信したパケット（データフレーム）のカウント数（カウンタ値）を、そのＯＡＭフレームに格納して送信する点は共通である。
【０００５】
イーサネット（登録商標）におけるＯＡＭ機能の研究は種々行われている。例えば、特許文献１には、管理フレームを周期的に対向側に送信するときに、その管理フレーム内に送信側で使用している送信周期を明示して送信し、該フレームの送信周期を可変調整する発明が記載されている。
【特許文献１】特開２００７−２５１５４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、データフレームは時間的に一定の間隔で送信されていないため、ＯＡＭフレームにカウンタ値を格納して送信するまでの間に、次のデータフレームが送信されてしまい、ＯＡＭフレーム内のカウンタ値と実際に送信されたデータフレームの数が異なってしまう問題がある。
【０００７】
例えば、送信すべきデータフレームが多く、連続的にデータフレームを送信するような状況を考える。
【０００８】
ＯＡＭフレームの送信処理として、送信済データフレームのカウンタ値を参照して、このカウンタ値を含むＯＡＭフレームを組み立て、データフレームと同一の出力ポートから出力する方法を採ったとする。
【０００９】
この場合、ＯＡＭフレームが出力されるまでに、データフレームが送信されると、ＯＡＭフレームに含まれるカウンタ値は、ＯＡＭフレームが出力されるまでに送信されたデータフレーム数よりも小さい値となってしまう問題がある。
【００１０】
これを回避する方法として、ＯＡＭフレームの送出を待って次のデータフレームを送信することが考えられるが、ユーザデータが含まれるデータフレームの送出を最優先とすべきであり、この方法にも問題がある。
【課題を解決するための手段】
【００１１】
上記の課題のうち少なくとも１つを解決するため、一態様による通信装置は、送信データフレーム数を示すカウンタ値を含む監視制御フレームを生成する生成部と、データフレームと前記生成部が生成した監視制御フレームとを送信する送信部とを有する。前記送信部は、送信したデータフレーム数をカウントするカウンタと、送信するフレームの送信順序を決定するスケジューラとを有する。前記生成部は前記カウンタのカウント値を、前記スケジューラが決定した送信順序に応じて修正して前記監視制御フレームを生成する。
【００１２】
他の実施形態では、上記の通信装置は、前記送信部は、少なくとも、データフレームが入力される第１のＦＩＦＯと、前記生成部が生成した監視制御フレームが入力される第２のＦＩＦＯとを有していてもよい。
【００１３】
さらに他の実施形態では、前記生成部は、前記スケジューラが決定した前記送信順序に基づき、前記監視制御フレームの送信までに送信されている前記データフレームの前記カウンタが示すカウント値からの変化分を求める。
【００１４】
他の態様による監視制御フレーム送信方法は、送信したデータフレーム数をカウントする段階と、送信するデータフレームと監視制御フレームの送信順序を決定する段階と、カウンタしたデータフレーム数を含む監視制御フレームを生成する段階と、前記送信順序に基づき、送信する前記データフレームと前記監視制御フレームとを送信する段階とを有する。前記監視制御フレームに含める前記データフレーム数を前記送信順序に応じて修正してすることを特徴とする。
【発明の効果】
【００１５】
ＯＡＭフレームを送信するとき、そのＯＡＭフレームが送信される時点の正しいデータフレームのカウント値を設定してそのＯＡＭフレームを送信することができる。
【発明を実施するための最良の形態】
【００１６】
図面を参照して、実施形態を詳細に説明する。図面中、同一または対応する構成要素には同じ参照番号を付した。
【００１７】
イーサネット（登録商標）を前提として実施形態を説明するが、これらの実施形態は同様の問題を有するイーサネット（登録商標）以外のパケットネットワーク（例えば、ＳＯＮＥＴ、ファイバーチャネル等）にも適用できることは当業者には明らかである。
【００１８】
まず、Ｙ．１７３１で規定されているＥＴＨ−ＬＭの動作と問題点について、さらに詳しく説明する。
【００１９】
［シングルエンド方式（Single ended）の場合］
図１は、Ｙ．１７３１に基づくシングルエンド方式の通信装置を示す図である。図１に示した通信装置１００は、各種フレームを送信するフレーム送信部１１０を有する。フレーム送信部１１０は、データフレームや、管理制御フレームであるＯＡＭフレームを送信するフレーム送信回路１１１と、データフレーム送信時に送信したフレーム数をカウントアップするフレーム送信カウンタ（ＴｘＦＣＩ）１１２と、ＯＡＭ送信依頼を受け、ＯＡＭ要求フレーム（ＬＭＭ）や、ＯＡＭ応答フレーム（ＬＭＲ）を生成し、フレーム送信回路に送信依頼を行なうＯＡＭフレーム生成部１１３とを有する。
【００２０】
また、通信装置１００は、入力されたフレームを受信するフレーム受信部１２０を有する。フレーム受信部１２０は、フレーム受信回路１２１と、フレーム受信カウンタ１２２と、ＯＡＭフレームチェック部１２３とを有する。フレーム受信回路１２１は、データフレームや、管理制御フレームであるＯＡＭフレームを受信し、ＯＡＭ要求フレーム（ＬＭＭ）であれば、フレーム受信カウンタ（ＲｘＦＣＩ）の値をＬＭＭのＲｘＦＣＩ退避メモリ１２４に格納し、ＯＡＭ応答フレーム（ＬＭＲ）であれば、フレーム受信カウンタ（ＲｘＦＣＩ）１２２の値をＬＭＲのＲｘＦＣＩ退避メモリ１２５に格納しＯＡＭフレームチェック部１２３に通知する。フレーム受信カウンタ（ＲｘＦＣＩ）１２２は、データフレーム受信時に受信したデータフレーム数をカウントアップする。ＯＡＭフレームチェック部１２３は、ＯＡＭフレームを通知されると、そのフレームをチェックし、ＯＡＭ要求フレーム（ＬＭＭ）であれば、ＯＡＭフレーム生成部（例えば、フレーム送信部１１０のＯＡＭフレーム生成部１１３）にＯＡＭ応答フレーム（ＬＭＲ）の生成を依頼し、ＯＡＭ応答フレーム（ＬＭＲ）ならフレームロス測定を行なう。また、ＯＡＭフレームチェック部１２３は、前回のＴｘＦＣｆ、ＴｘＦＣｂ、ＲｘＦＣｆ、ＲｘＦＣＩの値、及び前々回のＲｘＦＣＩの値を格納するメモリ１２６〜１２９を有する。
【００２１】
なお、図１に示したフレーム送信カウンタ（ＴｘＦＣＩ）１１２とフレーム受信カウンタ（ＲｘＦＣＩ）１２２は、ＯＡＭフレームはカウントの対象とせず、データフレームのみをカウントの対象とする。
【００２２】
図２は、Ｙ．１７３１に基づくシングルエンド方式におけるＯＡＭフレームを示す図である。図２（ａ）は、ＯＡＭ要求フレーム（ＬＭＭ）のフレームフォーマットを示し、図２（ｂ）は、ＯＡＭ応答フレーム（ＬＭＲ）のフレームフォーマットを示す。特に本実施形態に関係する項目のみを説明する。図２（ａ）、（ｂ）において、ＴｘＦＣＩはデータフレームの送信カウンタを示し、ＲｘＦＣＩはデータフレームの受信カウンタを示し、ＴｘＦＣｆはＯＡＭ要求フレーム（ＬＭＭ）の場合は、ＯＡＭ要求フレーム（ＬＭＭ）送信時のＴｘＦＣＩの値を示し、ＯＡＭ応答フレーム（ＬＭＲ）の場合は、ＯＡＭ要求フレーム（ＬＭＭ）内のＴｘＦＣｆをコピーしたものであり、ＲｘＦＣｆはＯＡＭ要求フレーム（ＬＭＭ）を受信した時の装置ＡのＲｘＦＣＩの値を示し、ＴｘＦＣｂはＯＡＭ応答フレーム（ＬＭＲ）を送信した時の装置ＡのＴｘＦＣＩの値を示す。
【００２３】
図３を参照して、シングルエンド方式におけるロス測定を説明する。図３は、ロス測定をしている通信システムを示す図である。図３に示した通信システム３００は、装置Ａ３１０と装置Ｂ３２０とを含む。装置Ａ３１０と装置Ｂ３２０は、それぞれ図１に示した通信装置１００に相当するものであるが、図面を分かりやすくするため、それぞれのフレーム受信カウンタ３１１、３２２（図１の１２２）とフレーム送信カウンタ３１２、３２１（図１の１１２）のみを示した。ここでは、装置Ｂ３２０が装置Ａ３１０に対してロス測定を実施しているものとする。
【００２４】
装置Ｂ３２０は、装置Ａ３１０に対しＯＡＭ要求フレーム（ＬＭＭ）３５１を送信する。このとき、ＯＡＭフレーム生成部（図１の１１３）にてＯＡＭ要求フレーム（ＬＭＭ）３５１を生成し、フレーム送信カウンタ（ＴｘＦＣＩ）３２１の値を読み出し、ＯＡＭ要求フレーム（ＬＭＭ）３５１のＴｘＦＣｆに設定し、フレーム送信回路（図１の１１１）へ送信依頼を行なう。送信依頼が行なわれたフレーム送信回路はＯＡＭ要求フレーム（ＬＭＭ）３５１を送信する。
【００２５】
ＯＡＭ要求フレーム（ＬＭＭ）３５１を受信した装置Ａ３１０は、フレーム受信回路（図１の１２１）で、フレーム受信カウンタ（ＲｘＦＣＩ）３１１の値をＬＭＭのＲｘＦＣＩ退避メモリ（図１の１２４）に格納し、ＯＡＭフレームチェック部（図１の１２３）に通知を行なう。通知を受けたＯＡＭフレームチェック部は、ＯＡＭフレーム生成部（図１の１１３）にＯＡＭ応答フレーム（ＬＭＲ）３５２の生成を依頼する。依頼を受けたＯＡＭフレーム生成部はＯＡＭ応答フレーム３５２を生成し、フレーム送信カウンタ（ＴｘＦＣＩ）３１２の値を読み出してＴｘＦＣｂに設定し、ＬＭＭのＲｘＦＣＩ退避メモリ（図１の１２４）の値を読み出してＲｘＦＣｆに設定し、受信したＯＡＭ要求フレーム（ＬＭＭ）３５１に設定されていたＴｘＦＣｆの値をＯＡＭ応答フレーム３５２のＴｘＦＣｆに設定し、フレーム送信回路（図１の１１１）に送信依頼を行なう。送信依頼が行なわれたフレーム送信回路はＯＡＭ応答フレーム（ＬＭＲ）３５２を送信する。
【００２６】
ＯＡＭ応答フレーム（ＬＭＲ）３５２を受信した装置Ｂ３２０は、フレーム受信回路（図１の１２１）で、フレーム受信カウンタ（ＲｘＦＣＩ）の値をＬＭＲのＲｘＦＣＩ退避メモリ（図１の１２５）に格納し、ＯＡＭフレームチェック部（図１の１２３）に通知を行なう。通知を受けたＯＡＭフレームチェック部は、以下の計算式で、ロス測定を行ない、その後、受信したＯＡＭ応答フレーム（ＬＭＲ）３５２に設定されたＴｘＦＣｆ、ＴｘＦＣｂ、ＲｘＦＣｆおよびＬＭＲのＲｘＦＣＩ退避メモリ（図１の１２５）の値を前回の格納メモリ（図１の１２６〜１２９）に格納する。
【００２７】
通信相手（Far-end）のロス：
｜ＴｘＦＣｆ（ｔｃ）−ＴｘＦＣｆ（ｔｐ）｜−｜ＲｘＦＣｆ（ｔｃ）−ＲｘＦＣｆ（ｔｐ）｜
自装置（Near-end）のロス：
｜ＴｘＦＣｂ（ｔｃ）−ＴｘＦＣｂ（ｔｐ）｜−｜ＲｘＦＣＩ（ｔｃ）−ＲｘＦＣＩ（ｔｐ）｜
ここで、ｔｃは今回のＯＡＭフレームの要求時またはＯＡＭフレームの応答時の値を表し、ｔｐは以前、たとえば前回のＯＡＭフレームの要求時またはＯＡＭフレームの応答時の値を表す。
【００２８】
上記のとおり、far-endのロスは、ＯＡＭ要求フレームを送出した装置からＯＡＭ要求フレームを受信した装置の方向でのデータフレーム数についての計算である。また、Near-endのロスは、その逆方向についてのデータフレーム数についての計算である。
【００２９】
そして、今回のカウンタ値と前回のカウンタ値との差分を求めているため、各カウンタは、それぞれ送信、または受信したフレームの数を計数できれば十分である。
【００３０】
図４を参照して、図３の装置Ａ３１０と装置Ｂ３２０との間でロス測定が正常に行われる場合を説明する。図４（ａ）〜（ｅ）は、装置Ｂ３２０から装置Ａ３１０にデータフレーム１〜６が送信され、その間に装置Ｂ３２０から装置Ａ３１０にＯＡＭ要求フレーム３５１が送信され、装置Ａ３１０から装置Ｂ３２０にＯＡＭ応答フレーム３５２が送信される場合を時系列的に示している。
【００３１】
図４（ａ）は、装置Ｂ３２０が装置Ａ３１０にデータフレームを１つも送信していない状態を示す。装置Ａ３１０、装置Ｂ３２０ともに、前回のＴｘＦＣｆ格納メモリ、前回のＲｘＦＣｆ格納メモリ、前回のＴｘＦＣｂ格納メモリ、前回のＲｘＦＣＩ格納メモリ、ＴｘＦＣＩ、ＲｘＦＣＩ、ＬＭＭのＲｘＦＣＩ退避メモリ、ＬＭＭのＲｘＦＣＩ退避メモリの初期状態において値は０になっている。
【００３２】
図４（ｂ）は、その後、装置Ｂ３２０が装置Ａ３１０にデータフレーム１〜３を送信した状態を示す。装置Ｂ３２０のＴｘＦＣＩが３にカウントアップされている。
【００３３】
図４（ｃ）は、その後、装置Ｂ３２０が装置Ａ３１０にＯＡＭ要求フレーム（ＬＭＭ）３５１を送信した状態を示す。この時、データフレーム３と４との間に空き時間があったので、ＯＡＭ要求フレーム３５１を問題なく挿入できたものとする。装置Ｂ３２０のＴｘＦＣＩが３なので、ＯＡＭ要求フレーム（ＬＭＭ）のＴｘＦＣｆは３に設定された。
【００３４】
図４（ｄ）は、その後、装置Ａ３１０がＯＡＭ要求フレーム（ＬＭＭ）３５１を受信する直前の状態を示す図である。この時点で、装置Ａ３１０はデータフレーム１〜３を受信しているので、ＲｘＦＣＩが３にカウントアップされている。また、装置Ｂ３２０はＯＡＭ要求フレーム（ＬＭＭ）３５１の送信後にデータフレーム４〜６を送信しているのでＴｘＦＣＩは６にカウントアップされている。
【００３５】
図４（ｅ）は、装置Ａ３１０がＯＡＭ要求フレーム３５１を受信したため、それに答えてＯＡＭ応答フレーム３５２を送信した状態を示す。装置Ａ３１０はＯＡＭ要求フレーム（ＬＭＭ）３５１を受信したときにＲｘＦＣＩの値（３）をＬＭＭのＲｘＦＣＩ退避メモリに設定している。また、ＯＡＭ応答フレーム（ＬＭＲ）３５２のＴｘＦＣｆはＯＡＭ要求フレーム（ＬＭＭ）３５１のＴｘＦＣｆが３だったので、３に設定されている。ＯＡＭ応答フレーム（ＬＭＲ）３５２のＲｘＦＣｆは装置ＡのＬＭＭのＲｘＦＣＩ退避メモリが３だったので、３に設定されている。ＯＡＭ応答フレーム（ＬＭＲ）３５２のＴｘＦＣｂはＯＡＭ応答フレーム送信時の装置Ａ３１０のＴｘＦＣＩが０だったので、０に設定されている。
【００３６】
装置Ｂ３２０は、ＯＡＭ要求フレーム（ＬＭＲ）３５２を受信すると、ＲｘＦＣＩの値（０）をＬＭＲのＲｘＦＣＩ退避メモリに設定し、その後、ＯＡＭフレームチェック部で以下のようにパケットロスを計算する。
【００３７】
相手装置（Far-end）のパケットロス：
｜ＴｘＦＣｆ（ｔｃ）−ＴｘＦＣｆ（ｔｐ）｜−｜ＲｘＦＣｆ（ｔｃ）−ＲｘＦＣｆ（ｔｐ）｜＝
｜受信したＬＭＲのＴｘＦＣｆ値−前回のＴｘＦＣｆ値｜−｜受信したＬＭＲのＲｘＦＣｆ値−前回のＲｘＦＣｆ値｜＝
｜３−０｜−｜３−０｜＝０
自装置（Near-end）のパケットロス：
｜ＴｘＦＣｂ（ｔｃ）−ＴｘＦＣｂ（ｔｐ）｜−｜ＲｘＦＣＩ（ｔｃ）−ＲｘＦＣＩ（ｔｐ）｜＝
｜受信したＬＭＲのＴｘＦＣｂ値−前回のＴｘＦＣｂ値｜−｜ＬＭＲのＲｘＦＣＩ退避値−前回のＲｘＦＣＩ値｜＝
｜０−０｜−｜０−０｜＝０
この場合、パケットロスが発生していない状態で、計算結果が０であるから、パケットロスの計算は正常に行われたこととなる。
【００３８】
図５を参照して、図３の装置Ａ３１０と装置Ｂ３２０との間でロス測定が正常に行われない場合を説明する。図５（ａ）〜（ｅ）は、装置Ｂ３２０から装置Ａ３１０にデータフレーム１〜６が送信され、その間に装置Ｂ３２０から装置Ａ３１０にＯＡＭ要求フレーム３５１が送信され、装置Ａ３１０から装置Ｂ３２０にＯＡＭ応答フレーム３５２が送信される場合を時系列的に示している。
【００３９】
図５（ａ）は、装置Ｂ３２０が装置Ａ３１０にデータフレームを１つも送信していない状態を示す。装置Ａ３１０、装置Ｂ３２０ともに、前回のＴｘＦＣｆ格納メモリ、前回のＲｘＦＣｆ格納メモリ、前回のＴｘＦＣｂ格納メモリ、前回のＲｘＦＣＩ格納メモリ、ＴｘＦＣＩ、ＲｘＦＣＩ、ＬＭＭのＲｘＦＣＩ退避メモリ、ＬＭＭのＲｘＦＣＩ退避メモリの値は初期状態で０になっている。
【００４０】
図５（ｂ）は、その後、装置Ｂ３２０が装置Ａ３１０に、データフレーム１〜３を送信した状態を示す。装置Ｂ３２０のＴｘＦＣＩが３にカウントアップされている。ここまでは、図４を参照して説明した状態と同じである。
【００４１】
ここで、図５（ｃ）は、その後、装置Ｂ３２０が装置Ａ３１０に、ＯＡＭ要求フレーム（ＬＭＭ）３５１を送信した状態を示す。この時、データフレーム３と４との間に空き時間がなく、データフレーム４、５が先に送信され、ＯＡＭ要求フレーム３５１をデータフレーム５の後に挿入できたものとする。装置Ｂ３２０において、ＯＡＭ要求フレーム３５１を送信しようとした時に読み出したＴｘＦＣＩが３なので、ＯＡＭ要求フレーム（ＬＭＭ）３５１のＴｘＦＣｆは３に設定されている。しかし、ＯＡＭ要求フレーム３５１を送信した時にはすでにデータフレーム４、５が送信され、装置Ｂ３２０のＴｘＦＣＩは５にカウントアップされてしまっている。
【００４２】
図５（ｄ）は、その後、装置Ａ３１０がＯＡＭ要求フレーム（ＬＭＭ）３５１を受信する直前の状態を示す図である。この時点で、装置Ａ３１０はデータフレーム１〜５を受信しているので、ＲｘＦＣＩが５にカウントアップされている。また、装置Ｂ３２０はＯＡＭ要求フレーム（ＬＭＭ）３５１の送信後にデータフレーム６を送信しているので、ＴｘＦＣＩは６にカウントアップされている。
【００４３】
図５（ｅ）は、装置Ａ３１０がＯＡＭ要求フレーム３５１を受信したため、それに答えてＯＡＭ応答フレーム（ＬＭＲ）３５２を送信した状態を示す。装置Ａ３１０はＯＡＭ要求フレーム（ＬＭＭ）３５１を受信したときにＲｘＦＣＩの値（３）をＬＭＭのＲｘＦＣＩ退避メモリに設定している。また、ＯＡＭ応答フレーム（ＬＭＲ）３５２のＴｘＦＣｆは、ＯＡＭ要求フレーム（ＬＭＭ）３５１のＴｘＦＣｆが３だったので、３に設定されている。ＯＡＭ応答フレーム（ＬＭＲ）３５２のＲｘＦＣｆは、装置ＡのＬＭＭのＲｘＦＣＩ退避メモリが５だったので、５に設定されている。ＯＡＭ応答フレーム（ＬＭＲ）３５２のＴｘＦＣｂは、ＯＡＭ応答フレーム送信時の装置Ａ３１０のＴｘＦＣＩが０だったので、０に設定されている。
【００４４】
装置Ｂ３２０は、ＯＡＭ要求フレーム（ＬＭＲ）３５２を受信すると、ＲｘＦＣＩの値（０）を、ＬＭＲのＲｘＦＣＩ退避メモリに設定し、その後、ＯＡＭフレームチェック部で以下のようにパケットロスを計算する。
【００４５】
相手装置（Far-end）のパケットロス：
｜ＴｘＦＣｆ（ｔｃ）−ＴｘＦＣｆ（ｔｐ）｜−｜ＲｘＦＣｆ（ｔｃ）−ＲｘＦＣｆ（ｔｐ）｜＝
｜受信したＬＭＲのＴｘＦＣｆ値−前回のＴｘＦＣｆ値｜−｜受信したＬＭＲのＲｘＦＣｆ値−前回のＲｘＦＣｆ値｜＝
｜３−０｜−｜５−０｜＝−２
自装置（Near-end）のパケットロス：
｜ＴｘＦＣｂ（ｔｃ）−ＴｘＦＣｂ（ｔｐ）｜−｜ＲｘＦＣＩ（ｔｃ）−ＲｘＦＣＩ（ｔｐ）｜＝
｜受信したＬＭＲのＴｘＦＣｂ値−前回のＴｘＦＣｂ値｜−｜ＬＭＲのＲｘＦＣＩ退避値−前回のＲｘＦＣＩ値｜＝
｜０−０｜−｜０−０｜＝０
この場合、パケットロスが発生していない状態であるにもかかわらず、相手装置のパケットロスの計算結果が０でなく、パケットロスの計算が正常に行われなかったこととなる。
【００４６】
［デュアルエンド方式（Dual-ended）の場合］
図６は、Ｙ．１７３１に基づくデュアルエンド方式の通信装置を示す図である。図６に示した通信装置６００は、各種フレームを送信するためのフレーム送信部６１０を有する。フレーム送信部６１０は、データフレームや、管理制御フレームであるＯＡＭフレームを送信するためのフレーム送信回路６１１と、データフレーム送信時に送信したフレーム数をカウントアップするフレーム送信カウンタ（ＴｘＦＣＩ）６１２と、ＯＡＭ送信依頼を受け、ＯＡＭフレーム（ＣＣＭ）を生成し、フレーム送信回路に送信依頼を行なうＯＡＭフレーム生成部６１３とを有する。
【００４７】
また、通信装置６００は、入力されたフレームを受信するフレーム受信部６２０を有する。フレーム受信部６２０は、フレーム受信回路６２１と、フレーム受信カウンタ６２２と、ＯＡＭフレームチェック部６２３とを有する。フレーム受信回路６２１は、データフレームや、管理制御フレームであるＯＡＭフレームを受信し、ＯＡＭフレームであれば、フレーム受信カウンタ（ＲｘＦＣＩ）６２２の値をＲｘＦＣＩ退避メモリに格納し、ＯＡＭフレーム内のＴｘＦＣｆの値をＴｘＦＣｆ退避メモリ６２５に格納し、ＯＡＭフレームチェック部６２３に通知する。フレーム受信カウンタ６２２は、データフレーム受信時にカウントアップする。ＯＡＭフレームチェック部６２３は、ＯＡＭフレームを通知されると、フレームをチェックし、ＯＡＭフレーム（ＣＣＭ）なら、ロス測定を行なう。また、ＯＡＭフレームチェック部６２３は、前回のＴｘＦＣｆ、ＴｘＦＣｂ、ＲｘＦＣｂ、ＲｘＦＣＩの値を格納するメモリ６２６〜６２９を有する。
【００４８】
なお、図６に示したフレーム送信カウンタ（ＴｘＦＣＩ）６１２とフレーム受信カウンタ（ＲｘＦＣＩ）６２２は、ＯＡＭフレームはカウントの対象とせず、データフレームのみをカウントの対象とする。
【００４９】
図２（ｃ）は、Ｙ．１７３１に基づくデュアルエンド方式におけるＯＡＭフレームを示す図である。本実施形態に関係する項目のみを説明する。図２（ｃ）において、ＴｘＦＣＩはデータフレームの送信カウンタを示し、ＲｘＦＣＩはデータフレームの受信カウンタを示し、ＴｘＦＣｆはＯＡＭフレーム（ＣＣＭ）送信時のＴｘＦＣＩの値を示し、ＲｘＦＣｂは対向する装置から最後にＯＡＭフレーム（ＣＣＭ）を受信した時のＲｘＦＣＩの値を示し、ＴｘＦＣｂは対向する装置から最後に受信したＯＡＭフレーム（ＣＣＭ）のＴｘＦＣｆの値を示す。
【００５０】
図７を参照して、デュアルエンド方式におけるロス測定を説明する。図７は、ロス測定をしている通信システムを示す図である。図７に示した通信システム７００は、装置Ａ７１０と装置Ｂ７２０とを含む。装置Ａ７１０と装置Ｂ７２０は、それぞれ図６に示した通信装置６００に相当するものであるが、図面を分かりやすくするため、それぞれのフレーム受信カウンタ７１１、７２２（図６の６２２）とフレーム送信カウンタ７１２、７２１（図６の６１２）のみを示した。一方の装置が起点となるシングルエンド方式と異なり、デュアルエンド方式では、両方の装置がＣＣＭフレームを受け渡しすることで両装置同時にロス測定を実現する。ここでは装置Ｂ７２０をから装置Ａ７１０方向の測定について説明する。
【００５１】
装置Ｂ７２０は、装置Ａ７１０に対しＯＡＭフレーム（ＣＣＭ）７５１を送信する。この時、ＯＡＭフレーム生成部（図６の６１３）にてＯＡＭフレーム（ＣＣＭ）７５１を生成し、フレーム送信カウンタ７２１の値を読み出し、ＯＡＭフレーム７５１のＴｘＦＣｆに設定し、ＲｘＦＣＩ退避メモリ（図６の６２４）の値を読み出し、ＯＡＭフレーム７５１のＲｘＦＣｂに設定し、ＴｘＦＣｆ退避メモリ（図６の６２５）の値を読み出し、ＯＡＭフレーム７５１のＴｘＦＣｂに設定し、フレーム送信回路（図６の６１１）に送信依頼を行なう。送信依頼が行なわれたフレーム送信回路はＯＡＭフレーム（ＣＣＭ）７５１を送信する。
【００５２】
ＯＡＭフレーム（ＣＣＭ）７５１を受信した装置Ａ７１０は、フレーム受信回路（図６の６２１）で、フレーム送信カウンタ（ＲｘＦＣＩ）（図６の６２２）の値をＲｘＦＣＩ退避メモリ（図６の６２４）に格納し、受信したＯＡＭフレーム（ＣＣＭ）７５１のＴｘＦＣｆの値をＴｘＦＣｆ退避メモリ（図６の６２５）に格納し、ＯＡＭフレームチェック部（図６の６２３）に通知を行なう。通知を受けたＯＡＭフレームチェック部（図６の６２３）は、以下の計算式で、ロス測定を行ない、その後、ＯＡＭレーム（ＣＣＭ）のＴｘＦＣｆ、ＴｘＦＣｂ、ＲｘＦＣｂおよびＲｘＦＣＩ退避メモリの値を前回の格納メモリ（図６の６２６〜６２９）に格納する。
【００５３】
通信相手（Far-end）のロス：
｜ＴｘＦＣｂ（ｔｃ）−ＴｘＦＣｂ（ｔｐ）｜−｜ＲｘＦＣｂ（ｔｃ）−ＲｘＦＣｂ（ｔｐ）｜
自装置（Near-end）のロス：
｜ＴｘＦＣｆ（ｔｃ）−ＴｘＦＣｆ（ｔｐ）｜−｜ＲｘＦＣＩ（ｔｃ）−ＲｘＦＣＩ（ｔｐ）｜
ここでｔｃは今回のＯＡＭフレームの要求時またはＯＡＭフレームの応答時の値を表し、ｔｐは前回のＯＡＭフレームの要求時またはＯＡＭフレームの応答時の値を表す。
【００５４】
図８を参照して、図７の装置Ａ７１０と装置Ｂ７２０との間でロス測定が正常に行われる場合を説明する。図８（ａ）〜（ｅ）は、装置Ｂ３２０から装置Ａ３１０にデータフレーム１〜６が送信され、その間に装置Ｂ３２０から装置Ａ３１０にＯＡＭフレーム７５１が送信される場合を時系列的に示している。
【００５５】
図８（ａ）は、装置Ｂ７２０が装置Ａ７１０にデータフレームを１つも送信していない状態を示す。装置Ａ７１０、装置Ｂ７２０ともに、前回のＴｘＦＣｆ格納メモリ、前回のＲｘＦＣｆ格納メモリ、前回のＴｘＦＣｂ格納メモリ、前回のＲｘＦＣＩ格納メモリ、ＴｘＦＣＩ、ＲｘＦＣＩ、ＲｘＦＣＩ退避メモリ、ＴｘＦＣＩ退避メモリの値は初期状態で０になっている。
【００５６】
図８（ｂ）は、その後、装置Ｂ７２０が装置Ａ７１０に、データフレーム１〜３を送信した状態を示す。装置Ｂ７２０のＴｘＦＣＩが３にカウントアップされている。
【００５７】
図８（ｃ）は、その後、装置Ｂ７２０が装置Ａ７１０に、ＯＡＭフレーム（ＣＣＭ）７５１を送信した状態を示す。この時、データフレーム３と４との間に空き時間があったので、ＯＡＭフレーム７５１を問題なく挿入できたものとする。装置Ｂ７２０のＴｘＦＣＩが３なので、ＯＡＭフレーム（ＣＣＭ）７５１のＴｘＦＣｆは３に設定されている。
【００５８】
図８（ｄ）は、その後、装置Ａ７１０がＯＡＭフレーム（ＣＣＭ）７５１を受信する直前の状態を示す図である。この時点で、装置Ａ７１０はデータフレーム１〜３を受信しているので、ＲｘＦＣＩが３にカウントアップされている。また、装置Ｂ７２０はＯＡＭフレーム（ＣＣＭ）７５１の送信後にデータフレーム４〜６を送信しているのでＴｘＦＣＩは６にカウントアップされている。
【００５９】
図８（ｅ）は、装置Ａ７１０がＯＡＭフレーム７５１を受信した後の状態を示す。装置Ａ７１０はＯＡＭフレーム（ＣＣＭ）７５１を受信したときにＲｘＦＣＩの値（３）をＬＭＭのＲｘＦＣＩ退避メモリに設定している。また、ＯＡＭフレーム（ＣＣＭ）のＴｘＦＣｆの値（３）をＴｘＦＣｆ退避メモリに設定している。
【００６０】
装置Ａ３１０は、ＯＡＭフレーム（ＣＣＭ）７５１を受信すると、ＯＡＭフレームチェック部で以下のようにパケットロスを計算する。
【００６１】
相手装置（Far-end）のパケットロス：
｜ＴｘＦＣｂ（ｔｃ）−ＴｘＦＣｂ（ｔｐ）｜−｜ＲｘＦＣｂ（ｔｃ）−ＲｘＦＣｂ（ｔｐ）｜＝
｜受信したＣＣＭのＴｘＦＣｂ値−前回のＴｘＦＣｂ値｜−｜受信したＣＣＭのＲｘＦＣｂ値−前回のＲｘＦＣｂ値｜＝
｜０−０｜−｜０−０｜＝０
自装置（Near-end）のパケットロス：
｜ＴｘＦＣｆ（ｔｃ）−ＴｘＦＣｆ（ｔｐ）｜−｜ＲｘＦＣＩ（ｔｃ）−ＲｘＦＣＩ（ｔｐ）｜＝
｜受信したＣＣＭのＴｘＦＣｆ値−前回のＴｘＦＣｆ値｜−｜ＲｘＦＣＩ退避値−前回のＲｘＦＣＩ値｜＝
｜３−０｜−｜３−０｜＝０
この場合、パケットロスが発生していない状態で、計算結果が０であるから、パケットロスの計算は正常に行われたこととなる。
【００６２】
図９を参照して、図７の装置Ａ７１０と装置Ｂ７２０との間でロス測定が正常に行われない場合を説明する。図９（ａ）〜（ｅ）は、装置Ｂ７２０から装置Ａ７１０にデータフレーム１〜６が送信され、その間に装置Ｂ７２０から装置Ａ７１０にＯＡＭフレーム７５１が送信される場合を時系列的に示している。
【００６３】
図９（ａ）は、装置Ｂ７２０が装置Ａ７１０にデータフレームを１つも送信していない状態を示す。装置Ａ７１０、装置Ｂ７２０ともに、前回のＴｘＦＣｆ格納メモリ、前回のＲｘＦＣｆ格納メモリ、前回のＴｘＦＣｂ格納メモリ、前回のＲｘＦＣＩ格納メモリ、ＴｘＦＣＩ、ＲｘＦＣＩ、ＬＭＭのＲｘＦＣＩ退避メモリ、ＲｘＦＣＩ退避メモリ、ＴｘＦＣＩ退避メモリの値は初期状態で０になっている。
【００６４】
図９（ｂ）は、その後、装置Ｂ７２０が装置Ａ７１０に、データフレーム１〜３を送信した状態を示す。装置Ｂ７２０のＴｘＦＣＩが３にカウントアップされている。ここまでは、図８を参照して説明した状態と同じである。
【００６５】
ここで、図９（ｃ）は、その後、装置Ｂ７２０が装置Ａ７１０にＯＡＭフレーム（ＣＣＭ）７５１を送信した状態を示す。この時、データフレーム３と４との間に空き時間がなく、データフレーム４、５が先に送信され、ＯＡＭフレーム７５１をデータフレーム５の後に挿入できたものとする。装置Ｂ７２０はＯＡＭフレーム７５１を送信しようとした時に読み出したＴｘＦＣＩが３なので、ＯＡＭフレーム（ＣＣＭ）７５１のＴｘＦＣｆは３に設定されている。しかし、ＯＡＭ要求フレーム７５１を送信した時にはすでにデータフレーム４、５が送信され、装置Ｂ７２０のＴｘＦＣＩは５にカウントアップされてしまっている。
【００６６】
図９（ｄ）は、その後、装置Ａ７１０がＯＡＭフレーム（ＬＭＭ）７５１を受信する直前の状態を示す図である。この時点で、装置Ａ７１０はデータフレーム１〜５を受信しているので、ＲｘＦＣＩが５にカウントアップされている。また、装置Ｂ７２０はＯＡＭフレーム（ＣＣＭ）７５１の送信後にデータフレーム６を送信しているのでＴｘＦＣＩは６にカウントアップされている。
【００６７】
図９（ｅ）は、装置Ａ７１０がＯＡＭフレーム７５１を受信した後の状態を示す。装置Ａ７１０は、ＯＡＭフレーム（ＣＣＭ）７５１を受信したときにＲｘＦＣＩの値（５）をＲｘＦＣＩ退避メモリに設定している。また、ＯＡＭフレーム（ＣＣＭ）７５１のＴｘＦＣｆは、ＯＡＭ要求フレーム（ＬＭＭ）３５１のＴｘＦＣｆが３だったので、３に設定されている。
【００６８】
その後、装置Ａ７１０は、ＯＡＭフレームチェック部で以下のようにパケットロスを計算する。前回のＴｘＦＣｆ退避メモリ、前回のＲｘＦＣｆ退避メモリ、前回のＴｘＦＣｂ退避メモリ、前回のＲｘＦＣＩ退避メモリの値は０なので、以下の結果となる。
【００６９】
相手装置（Far-end）のパケットロス：
｜ＴｘＦＣｂ（ｔｃ）−ＴｘＦＣｂ（ｔｐ）｜−｜ＲｘＦＣｂ（ｔｃ）−ＲｘＦＣｂ（ｔｐ）｜＝
｜受信したＣＣＭのＴｘＦＣｂ値−前回のＴｘＦＣｂ値｜−｜受信したＣＣＭのＲｘＦＣｂ値−前回のＲｘＦＣｂ値｜＝
｜０−０｜−｜０−０｜＝０
自装置（Near-end）のパケットロス：
｜ＴｘＦＣｆ（ｔｃ）−ＴｘＦＣｆ（ｔｐ）｜−｜ＲｘＦＣＩ（ｔｃ）−ＲｘＦＣＩ（ｔｐ）｜＝
｜受信したＣＣＭのＴｘＦＣｆ値−前回のＴｘＦＣｆ値｜−｜ＲｘＦＣＩ退避値−前回のＲｘＦＣＩ値｜＝
｜３−０｜−｜５−０｜＝−２
この場合、パケットロスが発生していない状態にもかかわらず、自装置のパケットロスの計算結果が０でないから、パケットロスの計算が正常に行われなかったこととなる。
【００７０】
図５、図９を参照して説明した通り、パケットロスの計算が正常に行われないという問題点を解決する必要がある。
【００７１】
上記の問題を解決するため、一実施形態では、監視制御フレームであるＯＡＭフレーム（例えば、図５に示したＯＡＭ要求（ＬＭＭ）フレーム３５１及びＯＡＭ応答（ＬＭＲ）フレーム３５２、または図９に示したＯＡＭ（ＣＣＭ）フレーム７５１）を送信するとき、フレーム送出順をスケジューリングすることにより、生成するＯＡＭフレームの送信時におけるデータフレームの送信カウンタ値を事前に算出し、ＯＡＭフレームの生成時から送信時までの送信カウンタ値の変化（一般的には増加）分を修正したカウンタ値を、この生成するフレームに格納しておく。すなわち、送信カウンタ値をフレーム送出順（送信順序）に応じて修正して、ＯＡＭフレームを生成する。
【００７２】
図１０を参照して、一実施形態による通信装置を説明する。図１０は、一実施形態によるシングルエンド方式による通信装置を示す図である。図１０には基本的には同一構成である通信装置Ａ１０００Ａと通信装置Ｂ１０００Ｂが示されている。通信装置Ａ１０００Ａと通信装置Ｂ１０００Ｂとで同一の構成要素には同一の参照数字を付した。
【００７３】
図１０では、装置Ｂ１０００Ｂが装置Ａ１０００ＡにＯＡＭ要求（ＬＭＭ）フレーム（以下、ＬＭＭフレームとも呼ぶ）を送信し、これの受信に応じて、装置Ａ１０００Ａが装置Ｂ１０００ＢにＯＡＭ応答（ＬＭＲ）フレーム（以下、ＬＭＲフレームとも呼ぶ）を送信し、このＯＡＭ応答（ＬＭＲ）フレームを受信した装置Ｂ１０００Ｂがフレームロス計算を行うことを前提としている。
【００７４】
一実施形態による通信装置Ｂ１０００Ｂ（及び通信装置Ａ１０００Ａ）は、ＬＭＭフレームを生成するＬＭＭ生成部１００１、フレーム送信時にデータフレーム、ＬＭＭ、ＬＭＲの各フレームをそれぞれ格納するＦＩＦＯ、およびフレームのＦＩＦＯ格納状態を管理するＦＩＦＯ管理部１００２とを有する。本実施形態では、ＬＭＭフレームとＬＭＲフレームとにそれぞれ別々のＦＩＦＯを備えているが、別の実施形態では、ＬＭＭフレームのＦＩＦＯとＬＭＲフレームのＦＩＦＯは共通であってもよい。
【００７５】
通信装置Ｂ１０００Ｂは、さらに、送信アルゴリズムに従いフレーム送出順序を決定するスケジューラ部１００３を有する。このスケジューラ部１００３は、ＦＩＦＯ管理部１００２のＦＩＦＯに格納された各種フレームの送信順序を管理および決定するとともに、ＬＭＭフレームとＬＭＲフレームの生成時から送信時までのカウンタの変化（増加）も管理する。
【００７６】
通信装置Ｂ１０００Ｂは、さらに、スケジューラ部１００３からの指示を受けてフレーム送信するＦＩＦＯ選択するＦＩＦＯ読出制御部１００４と、ＯＡＭフレームを除き送信されたフレームをカウントするＴｘＦＣＩカウンタ１００５と、フレーム受信時にデータフレーム、ＬＭＭ、ＬＭＲの各フレームを種別毎にフィルタリングするＬＭ識別部１００６とを有する。
【００７７】
通信装置Ｂ１０００Ｂは、さらに、受信フレーム（ＯＡＭフレームは除く）をカウントするＲｘＦＣＩカウンタ１００７と、前述の計算式に従いフレームロス数を測定するフレームロス計算部１００８を有する。このフレームロス計算部１００８は、フレームロスの算出に必要な、前回ＬＭＲフレームを受信した時点でのＴｘＦＣｆ、ＲｘＦＣｆ、ＴｘＦＣｂ、ＲｘＦＣＩの値を保持するメモリも有する。
【００７８】
通信装置Ｂ１０００Ｂは、図示はしていないが、ＬＭＲフレームを生成するＬＭＲ生成部１００９を有している。
【００７９】
一方、一実施形態による装置Ａ１０００Ａも基本的に装置Ｂ１０００Ｂと同様の構成であるが、図を分かりやすくするため、装置Ａ１０００Ａでは、ＬＭＭ生成部１００１、フレームロス計算部１００８を図示せずに、ＬＭＲ生成部１００９を示している。
【００８０】
引き続き図１０を参照して、通信装置Ｂ１０００Ｂが通信装置Ａ１０００Ａに対してフレームロス測定を行う処理フローを説明する。
【００８１】
上位システムからのフレームロス測定要求に応じて、装置Ｂ１０００Ｂは装置Ａ１０００Ａに、ＬＭＭフレームを送信する。一実施形態では、装置Ｂ１０００Ｂは、一定周期（例えば１００ｍｓ）ごとに装置Ａ１０００ＡにＬＭＭフレームを送信して、サービス品質をモニタすることができる。他の実施形態では、ＬＭＭフレームの送信はたとえば所定時刻に行われてもよい。
【００８２】
このとき、装置Ｂ１０００Ｂでは、ＬＭＭ生成部１００１がＬＭＭフレームの生成を開始する。ＬＭＭ生成部１００１は、スケジューラ部１００３にＬＭＭフレームを生成することを通知し、スケジューラ部１００３は、ＬＭＭ生成部１００１が生成するＬＭＭフレームの送信順序を送信順序決定アルゴリズムにしたがって決定する。本実施形態では、送信順序アルゴリズムは一例としてラウンドロビン方式である。ラウンドロビン方式は、データ→ＬＭＭ→ＬＭＲ→データ→・・・の順に送信するアルゴリズムである。すなわち、複数のＦＩＦＯについて、一つずつ巡回する形でフレームの送信が順次行われる方法である。ＬＭＭ生成部１００１が生成するＬＭＭフレームは、ＦＩＦＯ管理部１００２の中段のＦＩＦＯの「Ｅ」の位置に挿入される。他の実施形態では、送信順序決定アルゴリズムは重み付けラウンドロビン方式やストリクト・プライオリティ方式などでもよく、送信順序決定アルゴリズムは用途に応じて選択可能である。
【００８３】
スケジューラ部１００３は、フレームの送出順序（「送出順」）と、送出するフレーム（「フレーム」）と、そのフレーム送出時点でのＴｘＦＣＩカウンタ１００５のカウント値の増加分（「カウント」）とを管理している。例えば、図１０に示した装置Ｂ１０００Ｂのスケジューラ部１００３は、１番目に送出するフレームがデータフレーム「Ａ」であり、データフレーム「Ａ」を送出するとＴｘＦＣＩカウンタ１００５のカウント値が「＋１」だけ増加することを示している。また、２番目に送出するフレームがＬＭＭフレーム「Ｄ」であり、ＬＭＭフレーム「Ｄ」を送出するとＴｘＦＣＩカウンタ１００５のカウント値が「０」だけ増加する（すなわち変化しない）ことを示している。
【００８４】
ここで、ＴｘＦＣＩカウンタ１００５は、データフレームが送出された時にカウントアップし、ＯＡＭフレーム（ＬＭＭフレーム、ＬＭＲフレーム、ＣＣＭフレーム）が送出された時はカウントアップしないことに留意する。これは、ＯＡＭフレームについてはカウントに含めないことになっているからである。
【００８５】
装置Ｂ１０００Ｂのスケジューラ部１００３は、さらに、３番目に送出するフレームがＬＭＲフレーム「Ｆ」であり、ＬＭＲフレーム「Ｆ」を送出するとＴｘＦＣＩカウンタ１００５のカウント値が「０」だけ増加する（すなわち変化しない）ことを示している。さらに、４番目に送出するフレームがデータフレーム「Ｂ」であり、データフレーム「Ｂ」を送出するとＴｘＦＣＩカウンタ１００５のカウント値が「＋１」だけ増加することを示している。さらに、５番目に送出するフレームがＬＭＭＲフレーム「Ｅ」であり、ＬＭＭフレーム「Ｂ」を送出するとＴｘＦＣＩカウンタ１００５のカウント値が「０」だけ増加する（すなわち変化しない）ことを示している。以下、同様である。
【００８６】
なお、スケジューラ部１００３は、ＬＭＭ生成部１００１からＬＭＭフレーム「Ｅ」の生成開始の通知があった時点で、ＬＭＭフレーム「Ｅ」を５番目に送出されるフレームとして管理し始めるものである。この時点では、ＬＭＭフレーム「Ｅ」はまだＬＭＭ生成部１００１による生成が完了しておらず、当然、ＦＩＦＯ管理部１００２のＬＭＭ送信ＦＩＦＯ（中段のＦＩＦＯ）にも入力されていない。つまり、スケジューラ部１００３は、ＬＭＭ生成部１００１からＬＭＭフレームの生成開始の通知に応答して、生成されるはずのＬＭＭフレーム「Ｅ」の送信順序を決定できる。
【００８７】
スケジューラ部１００３は、ＬＭＭフレーム「Ｅ」が５番目に送信されるまでに、データフレーム「Ａ」と「Ｂ」とが送信され、ＴｘＦＣＩカウンタ１００５のカウンタ値が「＋２」（＝「＋１」＋「＋１」）されることを求め、ＬＭＭ生成部１００１に送る。
【００８８】
また、ＴｘＦＣＩカウンタ１００５は、ＬＭＭ生成部１００１からの求めに応じて、現時点でのカウンタ値を送る。
【００８９】
ＬＭＭ生成部１００１は、生成するＬＭＭフレームのＴｘＦＣｆに、ＴｘＦＣＩカウンタ１００５からのカウンタ値にスケジューラ部１００３からのカウンタ値の変化分「＋２」を加えて修正し、修正したカウンタ値を挿入する。
【００９０】
ＬＭＭ生成部１００１により生成されたＬＭＭフレームは、ＦＩＦＯ管理部１００２内のＬＭＭ送信ＦＩＦＯ（中段のＦＩＦＯ）に送られ、ＬＭＭフレーム「Ｅ」の位置に格納される（すなわち、ＬＭＭフレーム「Ｅ」として格納される）。
【００９１】
ＦＩＦＯ読出制御部１００４は、スケジューラ部１００３から指示を受けて、スケジューラ部１００３が管理する送信順序にしたがってＦＩＦＯ管理部１００２内の各ＦＩＦＯからフレームを読込み、装置Ａ１０００Ａに送信する。
【００９２】
ＬＭＭフレームは、ネットワークを介して装置Ｂ１０００Ｂから装置Ａ１０００Ａに向けて送られる。
【００９３】
一方、装置Ａ１０００Ａにおいては、ＬＭ識別部１００６が、装置Ｂ１０００Ｂから受信したＬＭＭフレームをデータフレーム、ＬＭＭフレーム、ＬＭＲフレームにフィルタリング（識別分離）する。ここでは受信したフレームがＬＭＭフレームであるので、ＬＭＲ生成部１００９に送られる。また、受信したフレームがデータフレームである場合、ＲｘＦＣＩカウンタ１００７でカウントされ、受信したフレームがＬＭＲフレームである場合、フレームロス算出を行う。このフレームロス計算は、下で説明する、装置Ａ１０００ＡからＬＭＲフレームを受信した装置Ｂ１０００Ｂが行うフレームロス計算と同様である。
【００９４】
装置Ａ１０００Ａにおいて、ＬＭＲ生成ブロック１００９は、ＬＭ選別部１００６から送られたＬＭＭフレームを受けてＬＭＲフレームの生成を開始する。ＬＭＭフレームのＴｘＦＣｆ値をＬＭＲフレームのＴｘＦＣｆにコピーし、ＲｘＦＣｆにはＬＭＭフレームを受信したタイミングでＲｘＦＣＩカウンタ１００７から取得したカウント値を挿入する。
【００９５】
装置Ｂのスケジューラ部と同様に、装置Ａ１０００Ａのスケジューラ部１００３は、ＬＭＲ生成部１００９からＬＭＲフレームを生成通知を受けると、送信アルゴリズムに従い、生成されるＬＭＲフレームの送信順序を決定する。本実施形態では、送信順序決定アルゴリズムはラウンドロビン方式である。ＬＭＲ生成部１００９が生成するＬＭＲフレームは、ＦＩＦＯ管理部１００２内のＬＭＲ送信ＦＩＦＯ（最上段のフレーム）の「Ｎ」の位置に挿入されることとなる。他の実施形態では、送信順序決定アルゴリズムは、重み付けラウンドロビン方式やストリクト・プライオリティ方式などでもよく、用途に応じて選択することができる。
【００９６】
スケジューラ部１００３は、フレームの送出順序（「送出順」）と、送出するフレーム（「フレーム」）と、そのフレーム送出時点でのＴｘＦＣＩカウンタ１００５のカウント値の増加分（「カウント」）とを管理している。例えば、図１０に示した装置Ａ１０００Ａのスケジューラ部１００３は、１番目に送出するフレームがデータフレーム「Ｉ」であり、データフレーム「Ｉ」を送出するとＴｘＦＣＩカウンタ１００５のカウント値が「＋１」だけ増加することを示している。また、２番目に送出するフレームがＬＭＲフレーム「Ｍ」であり、ＬＭＲフレーム「Ｍ」を送出するとＴｘＦＣＩカウンタ１００５のカウント値が「０」だけ増加する（すなわち変化しない）ことを示している。ここで、ＴｘＦＣＩカウンタ１００５は、データフレームが送出された時にカウントアップし、ＯＡＭフレーム（ＬＭＭフレーム、ＬＭＲフレーム、ＣＣＭフレーム）が送出された時はカウントアップしないことに留意する。
【００９７】
装置Ａ１０００Ａのスケジューラ部１００３は、さらに、３番目に送出するフレームがデータフレーム「Ｊ」であり、データフレーム「Ｊ」を送出するとＴｘＦＣＩカウンタ１００５のカウント値が「＋１」だけ増加することを示している。さらに、４番目に送出するフレームがデータフレーム「Ｋ」であり、データフレーム「Ｋ」を送出するとＴｘＦＣＩカウンタ１００５のカウント値が「＋１」だけ増加することを示している。さらに、５番目に送出するフレームがデータフレーム「Ｌ」であり、データフレーム「Ｌ」を送出するとＴｘＦＣＩカウンタ１００５のカウント値が「＋１」だけ増加することを示している。さらに、６番目に送出するフレームがＬＭＲフレーム「Ｎ」であり、ＬＭＲフレーム「Ｎ」を送出するとＴｘＦＣＩカウンタ１００５のカウント値が「０」だけ増加する（すなわち変化しない）ことを示している。以下、同様である。
【００９８】
なお、スケジューラ部１００３は、ＬＭＲ生成部１００９からＬＭＲフレーム「Ｎ」の生成開始の通知があった時点で、ＬＭＲフレーム「Ｎ」を６番目に送出されるフレームとして管理し始めるものである。この時点では、ＬＭＲフレーム「Ｎ」はまだＬＭＲ生成部１００９による生成が完了しておらず、当然、ＦＩＦＯ管理部１００２のＬＭＲ送信ＦＩＦＯ（最上段のＦＩＦＯ）にも入力されていない。つまり、スケジューラ部１００３は、ＬＭＲ生成部１００９からＬＭＲフレームの生成開始の通知に応答して、生成されるはずのＬＭＲフレーム「Ｎ」の送信順序を決定できる。
【００９９】
スケジューラ部１００３は、ＬＭＲフレーム「Ｎ」が６番目に送信されるまでに、データフレーム「Ｉ」、「Ｊ」、「Ｋ」及び「Ｌ」が送信され、ＴｘＦＣＩカウンタ１００５のカウンタ値が「＋４」（＝「＋１」＋「＋１」＋「＋１」＋「＋１」）されることを求め、ＬＭＲ生成部１００９に送る。
【０１００】
また、ＴｘＦＣＩカウンタ１００５は、ＬＭＲ生成部１００９からの求めに応じて、現時点でのカウンタ値を送る。
【０１０１】
ＬＭＭ生成部１００９は、生成するＬＭＭフレームのＴｘＦＣｂに、ＴｘＦＣＩカウンタ１００５からのカウンタ値にスケジューラ部１００３からのカウンタ値の増加分「＋４」を加えて修正し、修正したカウンタ値を挿入する。
【０１０２】
ＬＭＲ生成部１００９により生成されたＬＭＲフレームは、ＦＩＦＯ管理部１００２内のＬＭＲ送信ＦＩＦＯ（最上段のＦＩＦＯ）に送られ、ＬＭＲフレーム「Ｎ」の位置に格納される（すなわち、ＬＭＭフレーム「Ｎ」として格納される）。
【０１０３】
ＦＩＦＯ読出制御部１００４は、スケジューラ部１００３から指示を受けて、スケジューラ部１００３が管理する送信順序にしたがってＦＩＦＯ管理部１００２内の各ＦＩＦＯからフレームを読込み、装置Ｂ１０００Ｂに送信する。
【０１０４】
ＬＭＭフレームは、ネットワークを介して装置Ａ１０００Ａから装置Ｂ１０００Ｂに向けて送られる。
【０１０５】
一方、装置Ｂ１０００Ｂにおいては、ＬＭ識別部１００６が、装置Ａ１０００Ａから受信したＬＭＭフレームをデータフレーム、ＬＭＭフレーム、ＬＭＲフレームにフィルタリング（識別分離）する。ここでは受信したフレームがＬＭＭフレームであるので、フレームロス算出を行う。また、受信したフレームがデータフレームである場合、ＲｘＦＣＩカウンタ１００７でカウントされ、フレームロス計算部１００８内のメモリＲｘＦＣＩ（ｔｃ）に格納される。また、前回のＲｘＦＣＩ（ｔｃ）値はＲｘＦＣＩ（ｔｐ）に格納される。また、受信したフレームがＬＭＭフレームである場合は、上で説明した、装置Ａが装置ＢからＬＭＭフレームを受信した場合と同様に、ＬＭＲフレームの生成を開始する。
【０１０６】
装置Ｂ１０００Ｂでは、装置Ａから受信したＬＭＲフレームのＴｘＦＣｆ（ｔｃ）と、ＲｘＦＣｆ（ｔｃ）と、ＴｘＦＣｂ（ｔｃ）と、ＬＭＲを受信したタイミングでＲｘＦＣＩカウンタ１００７から取得したカウント値ＲｘＦＣＩ（ｔｃ）と、メモリに格納されている前回ＬＭＲフレーム受信時の値ＴｘＦＣｆ（ｔｐ）と、ＲｘＦＣｆ（ｔｐ）と、ＴｘＦＣｂ（ｔｐ）と、ＲｘＦＣＩ（ｔｐ）とに基づき、前述の計算式により通信相手装置（Far-end）と自装置（Near-end）のフレームロスを算出する。
【０１０７】
上記の実施形態では、ＬＭＭ生成部１００１及び／またはＬＭＲ生成部１００９は、ＴｘＦＣＩカウンタ１００５からカウンタ値を受け取り、スケジューラ部１００３からカウンタ値の変化分を受け取るようにした。他の実施形態では、スケジューラ部１００３がＴｘＦＣＩカウンタ１００５からカウンタ値を受け取り、そのカウンタ値に変化分を加えた修正したカウンタ値をＬＭＭ生成部１００１及び／またはＬＭＲ生成部１００９に送ってもよい。
【０１０８】
かかる構成により、一実施形態によるシングルエンド方式の通信装置は、ＯＡＭフレームを送信するとき、そのＯＡＭフレームが送信される時点の正しいデータフレームのカウント値を設定してそのＯＡＭフレームを送信することができる。
【０１０９】
図１１を参照して、他の実施形態による通信装置を説明する。図１１は一実施形態によるデュアルエンド方式による通信装置を示す図である。図１１には基本的に同一の構成である通信装置Ａ１１００Ａと通信装置Ｂ１１００Ｂが示されている。通信装置Ａ１１００Ａと通信装置Ｂ１１００Ｂとで同一の構成要素には同一の参照数字を付した。
【０１１０】
図１１では、装置Ｂ１１００Ｂが装置Ａ１１００ＡにＯＡＭ（ＣＣＭ）フレーム（以下、ＣＣＭフレームと呼ぶ）を送信し、これの受信に応じて、装置Ａ１１００Ａがフレームロス計算を行うとともに、装置Ｂ１１００ＢにＣＣＭフレームを送信し、このＣＣＭフレームを受信した装置Ｂ１１００Ｂがフレームロス計算を行うことを前提としている。
【０１１１】
一実施形態による通信装置Ｂ１１００Ｂ（及び通信装置Ａ１１００Ａ）は、ＣＣＭフレームを生成するＣＣＭ生成部１１０１と、フレーム送信時にデータフレーム、ＣＣＭの各種フレームを格納するＦＩＦＯを含み、フレームのＦＩＦＯ格納状態を管理するＦＩＦＯ管理部１１０２と、送信アルゴリズムに従いフレーム送出順序を決定するスケジューラ部１１０３とを有する。このスケジューラ部１１０３は、ＦＩＦＯ管理部１１０２内のＦＩＦＯに格納された各種フレームの送信順序を決定し、その送信を管理するとともに、ＣＣＭフレーム生成時から送信時までのカウンタ変化（増加）分を管理する。
【０１１２】
通信装置Ｂ１１００Ｂは、さらに、スケジューラ部から指示を受けてフレーム送信するＦＩＦＯ選択するＦＩＦＯ読出制御部１１０４と、ＯＡＭフレームを除く送信フレームをカウントするＴｘＦＣＩカウンタ１１０５と、フレーム受信時にデータフレーム、ＣＣＭフレームを種別毎にフィルタリングするＣＣＭ識別部１１０６と、ＯＡＭフレームを除く受信フレームをカウントするＲｘＦＣＩカウンタ１１０７とを有する。
【０１１３】
通信装置Ｂ１１００Ｂは、さらに、前述の計算式に従いフレームロス数を計算するフレームロス計算部１１０８を有する。このフレームロス計算部１１０８は、フレームロスの算出に必要な前回ＣＣＭフレームを受信した時点でのＴｘＦＣｆ、ＲｘＦＣｂ、ＴｘＦＣｂ、ＲｘＦＣＩの各パラメータの値を保持するメモリも含む。
【０１１４】
引き続き図１１を参照して、通信装置Ａが通信装置Ｂに対してフレームロス測定を行う処理フローを説明する。デュアルエンド方式の場合、両方の装置がＣＣＭフレームを受け渡すことで同時にフレームロス測定を行うことから、装置Ｂから装置Ａに対してフレームロス測定を行っても、装置Ａから装置Ｂに対してフレームロス測定を行っても、行われる処理は同等である。
【０１１５】
装置Ａから装置Ｂ方向の測定を行う処理フローを説明する。
【０１１６】
上位システムからのフレームロス測定要求に応じて、装置Ａ１１００Ａは装置Ｂ１１００Ｂに、ＣＣＭフレームを送信する。一実施形態では、装置Ａ１１００Ａは、一定周期（例えば１００ｍｓ）ごとに装置Ｂ１１００ＢにＣＣＭフレームを送信して、サービス品質をモニタすることができる。他の実施形態では、ＣＭＭフレームの送信は所定時間に行われてもよい。
【０１１７】
このとき、装置Ａ１１００Ａでは、ＣＣＭ生成部１１０１がＣＣＭフレームの生成を開始する。装置Ａの受信側では最後に装置Ｂから受信したＣＣＭフレームに格納されていたＴｘＦＣｆの値と、そのＣＣＭフレームの受信時のＲｘＦＣＩのカウンタ値を保持しているので、それぞれ生成したＣＣＭフレームのＴｘＦＣｂとＲｘＦＣｂに格納する。ＣＣＭ生成部１１０１は、スケジューラ部１１０３にＣＣＭフレームを生成することを通知し、スケジューラ部１１０３は、生成したＣＣＭフレームの送信順序を送信アルゴリズムにしたがって決定する。本実施形態では、送信順序決定アルゴリズムはラウンドロビン方式である。ラウンドロビン方式は、データ→ＣＣＭ→データ→・・・の順に送信するアルゴリズムである。ＣＣＭ生成部１１０１が生成するＣＣＭフレームは、ＦＩＦＯ管理部１１０２の上段のＣＣＭ送信ＦＩＦＯの「Ｎ」の位置に挿入される。他の実施形態では、送信順序決定アルゴリズムは重み付けラウンドロビン方式やストリクト・プライオリティ方式などでもよく、送信順序決定アルゴリズムは用途に応じて選択することができる。
【０１１８】
スケジューラ部１１０３は、フレームの送出順序（「送出順」）と、送出するフレーム（「フレーム」）と、そのフレーム送出時点でのＴｘＦＣＩカウンタ１１０５のカウント値の増加分（「カウント」）とを管理している。例えば、図１１に示した装置Ａ１１００Ａのスケジューラ部１１０３は、１番目に送出するフレームがデータフレーム「Ｉ」であり、データフレーム「Ｉ」を送出するとＴｘＦＣＩカウンタ１１０５のカウント値が「＋１」だけ増加することを示している。また、２番目に送出するフレームがＣＣＭフレーム「Ｍ」であり、ＣＣＭフレーム「Ｍ」を送出するとＴｘＦＣＩカウンタ１１０５のカウント値が「０」だけ増加する（すなわち変化しない）ことを示している。ここで、ＴｘＦＣＩカウンタ１１０５は、データフレームが送出された時にカウントアップし、ＯＡＭフレーム（この場合、ＣＣＭフレーム）が送出された時はカウントアップしないことに留意する。
【０１１９】
装置Ａ１１００Ａのスケジューラ部１１０３は、さらに、３番目に送出するフレームがデータフレーム「Ｊ」であり、データフレーム「Ｊ」を送出するとＴｘＦＣＩカウンタ１１０５のカウント値が「＋１」だけ増加することを示している。さらに、４番目に送出するフレームがデータフレーム「Ｋ」であり、データフレーム「Ｋ」を送出するとＴｘＦＣＩカウンタ１１０５のカウント値が「＋１」だけ増加することを示している。さらに、５番目に送出するフレームがデータフレーム「Ｌ」であり、データフレーム「Ｌ」を送出するとＴｘＦＣＩカウンタ１１０５のカウント値が「＋１」だけ増加することを示している。さらに、６番目に送出するフレームがＣＣＭフレーム「Ｎ」であり、ＣＣＭフレーム「Ｎ」を送出するとＴｘＦＣＩカウンタ１１０５のカウント値が「０」だけ増加する（すなわち変化しない）ことを示している。以下、同様である。
【０１２０】
なお、スケジューラ部１１０３は、ＣＣＭ生成部１１０１からＣＣＭフレーム「Ｎ」の生成開始の通知があった時点で、ＣＣＭフレーム「Ｎ」を６番目に送出されるフレームとして管理し始めるものである。この時点では、ＣＣＭフレーム「Ｎ」はまだＣＣＭ生成部１１０１による生成が完了しておらず、当然、ＦＩＦＯ管理部１１０２のＣＣＭ送信ＦＩＦＯ（上段のＦＩＦＯ）にも入力されていない。つまり、スケジューラ部１１０３は、ＣＣＭ生成部１１０１からＣＣＭフレームの生成開始の通知に応答して、生成されるはずのＣＣＭフレーム「Ｎ」の送信順序を決定できる。
【０１２１】
スケジューラ部１１０３は、ＣＣＭフレーム「Ｎ」が６番目に送信されるまでに、データフレーム「Ｉ」、「Ｊ」、「Ｋ」及び「Ｌ」が送信され、ＴｘＦＣＩカウンタ１００５のカウンタ値が「＋４」（＝「＋１」＋「＋１」＋「＋１」＋「＋１」）されることを求め、ＣＣＭ生成部１１０１に送る。
【０１２２】
また、ＴｘＦＣＩカウンタ１１０５は、ＣＣＭ生成部１１０１からの求めに応じて、現時点でのカウンタ値を送る。
【０１２３】
ＣＣＭ生成部１１０１は、生成するＣＣＭフレームのＴｘＦＣｆに、ＴｘＦＣＩカウンタ１１０５からのカウンタ値にスケジューラ部１１０３からのカウンタ値の増加分「＋４」を加えて修正し、修正したカウンタ値を挿入する。
【０１２４】
ＣＣＭ生成部１１０１により生成されたＣＣＭフレームは、ＦＩＦＯ管理部１１０２内のＣＣＭ送信ＦＩＦＯ（上段のＦＩＦＯ）に送られ、ＣＣＭフレーム「Ｎ」の位置に格納される（すなわち、ＣＣＭフレーム「Ｎ」として格納される）。
【０１２５】
ＦＩＦＯ読出制御部１１０４は、スケジューラ部１１０３から指示を受けて、スケジューラ部１１０３が管理する送信順序にしたがってＦＩＦＯ管理部１１０２内の各ＦＩＦＯからフレームを読込み、装置Ｂ１１００Ｂに送信する。
【０１２６】
ＣＣＭフレームは、ネットワークを介して装置Ａ１１００Ａから装置Ｂ１１００Ｂに向けて送られる。
【０１２７】
一方、装置Ｂ１１００Ｂにおいては、ＬＭ識別部１１０６が、装置Ａから受信したＣＣＭフレームをデータフレームとＣＣＭフレームにフィルタリング（識別分離）する。ここでは受信したフレームがＣＣＭフレームであるので、フレームロス計算部１１０８に送られる。算出を行う。また、受信したフレームがデータフレームである場合、ＲｘＦＣＩカウンタ１１０７でカウントされ、フレームロス計算部１１０８内のメモリＲｘＦＣＩ（ｔｃ）に格納される。また、前回のＲｘＦＣＩ（ｔｃ）値はＲｘＦＣＩ（ｔｐ）に格納される。
【０１２８】
フレームロス計算部１１０８は、ＣＣＭフレームを受信すると、ＴｘＦＣｆ（ｔｃ）、ＲｘＦＣｂ（ｔｃ）、ＴｘＦＣｂ（ｔｃ）と内部のメモリに格納しているＴｘＦＣｆ（ｔｐ）、ＲｘＦＣｂ（ｔｐ）、ＴｘＦＣｂ（ｔｐ）、及び取得したＲｘＦＣＩ（ｔｃ）、ＲｘＦＣＩ（ｔｐ）に基づき、前述の計算式により通信相手装置（Far-end）と自装置（Near-end）のフレームロス数を算出する。
【０１２９】
上記の実施形態では、ＣＣＭ生成部１１０１は、ＴｘＦＣＩカウンタ１１０５からカウンタ値を受け取り、スケジューラ部１１０３からカウンタ値の変化分を受け取るようにした。他の実施形態では、スケジューラ部１１０３がＴｘＦＣＩカウンタ１１０５からカウンタ値を受け取り、そのカウンタ値に変化分を加えて修正したカウンタ値をＣＣＭ生成部１１０１に送ってもよい。
【０１３０】
かかる構成により、一実施形態によるデュアルエンド方式の通信装置は、ＯＡＭフレームを送信するとき、そのＯＡＭフレームが送信される時点の正しいデータフレームのカウント値を設定してそのＯＡＭフレームを送信することができる。
【０１３１】
図１２は、一実施形態によるＯＡＭフレーム送信方法を示すフローチャートである。通信装置は、上位システムからのフレームロス測定要求に応じて、本方法を開始する。ステップＳ１において、カウンタが、送信したデータフレーム数をカウントする。ステップＳ２において、スケジューラ（例えば、図１０のスケジューラ１００３や図１１のスケジューラ１１０３）が、送信するデータフレームとＯＡＭフレームの送信順序を決定する。
【０１３２】
ステップＳ３において、ＯＡＭフレーム生成部（例えば、図１０のＬＭＭ生成部１００１やＬＭＲ生成部１００９、または図１１のＣＣＭ生成部１１０１）が、カウントしたデータフレーム数を含む監視制御フレームを生成する。ただし、監視制御フレームに含めるデータフレーム数は送信順序に応じて修正される。修正の詳細は図１０及び図１１を参照して説明した通りである。最後に、ステップＳ４において、送信順序に基づき、送信するデータフレームとＯＡＭフレームとを送信する。
【０１３３】
上記のＯＡＭフレーム送信方法の各ステップをマイクロプロセッサやマイクロコントローラに実行させるコンピュータプログラムとして実施することもできる。
【０１３４】
図１３は、一実施形態によるシェルフ型通信装置を示す図である。図１３に示したシェルフ型通信装置１３００は、例えば２８個のスロットを有している。このスロットには、図１０を参照して説明した一実施形態による通信装置に相当するラインカード１３０１、及び／または図１１を参照して説明した一実施形態による通信装置に相当するラインカード１３０１を複数（この場合、２４枚）挿入することができる。かかるシェルフ型通信装置には、ラインカード１３０１の他に、ネットワークマネジメントインタフェース終端やＤＣＣ終端の機能を有するＭＣカード１３０２や、４８０Ｇｂ／ｓＳＴＳスイッチや４８０Ｇｂ／ｓパケットスイッチの機能を有するＳＷカード１３０３を挿入する専用スロットが設けられている。さらに、これらのカードを冷却するためのファン１３０４が複数設けられている。
【０１３５】
以上、実施形態について詳述したが、本発明は特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形及び変更が可能である。
【０１３６】
なお、一部の実施形態を整理すると以下の通りである。
（付記１）
送信データフレーム数を示すカウンタ値を含む監視制御フレームを生成する生成部と、
データフレームと前記生成部が生成した監視制御フレームとを送信する送信部とを有し、
前記送信部は、送信したデータフレーム数をカウントするカウンタと、
送信するフレームの送信順序を決定するスケジューラとを有し、
前記生成部は前記カウンタのカウント値を、前記スケジューラが決定した送信順序に応じて修正して前記監視制御フレームを生成することを特徴とする通信装置。
（付記２）
前記送信部は、少なくとも、データフレームが入力される第１のＦＩＦＯと、前記生成部が生成した監視制御フレームが入力される第２のＦＩＦＯとをさらに有することを特徴とする、付記１に記載の通信装置。
（付記３）
前記生成部は、前記スケジューラが決定した前記送信順序に基づき、前記監視制御フレームの送信までに送信されている前記データフレームの前記カウンタが示すカウント値からの変化分を求めることを特徴とする、付記１または２に記載の通信装置。
（付記４）
通信相手装置から受信した監視制御フレームに基づきフレームロスを計算するフレームロス計算部をさらに有することを特徴とする、付記１乃至３いずれか一項に記載の通信装置。
（付記５）
前記監視制御フレームはフレームロス測定に係わる監視制御フレームであることを特徴とする、付記１乃至４いずれか一項に記載の通信装置。
（付記６）
前記第１のＦＩＦＯからのデータフレームの送信と、前記第２のＦＩＦＯからの前記監視制御フレームの送信とを制御する読出制御部をさらに有することを特徴とする、付記２に記載の通信装置。
（付記７）
前記スケジューラは、ラウンドロビン方式、重み付けラウンドロビン方式、ストリクト・プライオリティ方式のうちのひとつである送信順決定アルゴリズムにより、前記送信順序を決定することを特徴とする、付記１乃至６に記載の通信装置。
（付記８）
付記１乃至７に記載の通信装置はラインカードタイプであり、
対応する複数のスロットに挿入した複数の当該ラインカードタイプの通信装置を有することを特徴とするシェルフ型通信装置。
（付記９）
送信したデータフレーム数をカウントする段階と、
送信するデータフレームと監視制御フレームの送信順序を決定する段階と、
カウンタしたデータフレーム数を含む監視制御フレームを生成する段階と、
前記送信順序に基づき、送信する前記データフレームと前記監視制御フレームとを送信する段階とを有し、
前記監視制御フレームに含める前記データフレーム数を前記送信順序に応じて修正してすることを特徴とする監視制御フレーム送信方法。
（付記１０）
前記データフレームと前記監視制御フレームとを相異なるＦＩＦＯに入力する段階をさらに有することを特徴とする、付記９に記載の方法。
（付記１１）
前記送信順序に基づき、前記監視制御フレームの送信時において送信されているだろう前記データフレームのカウント値の変化分を求める段階とをさらに有することを特徴とする、付記９または１０に記載の方法。
（付記１２）
通信相手装置から受信した監視制御フレームに基づきフレームロスを計算する段階をさらに有することを特徴とする、付記９乃至１１いずれか一項に記載の方法。
（付記１３）
前記監視制御フレームはフレームロス測定に係わる監視制御フレームであることを特徴とする、付記９乃至１２いずれか一項に記載の方法。
（付記１４）
前記相異なるＦＩＦＯからの前記データフレームと前記監視制御フレームの出力を制御する段階をさらに有することを特徴とする、付記１０に記載の方法。
（付記１５）
前記データフレームと前記監視制御フレームとの送信の管理は、ラウンドロビン方式、重み付けラウンドロビン方式、ストリクト・プライオリティ方式のうちのひとつである送信順決定アルゴリズムにより行われることを特徴とする、付記１１に記載の方法。
（付記１６）
コンピュータに、
送信したデータフレーム数をカウントする段階と、
送信するデータフレームと監視制御フレームの送信順序を決定する段階と、
カウンタしたデータフレーム数を含む監視制御フレームを生成する段階と、
前記送信順序に基づき、送信する前記データフレームと前記監視制御フレームとを送信する段階とを実行させ、
前記監視制御フレームに含める前記データフレーム数を前記送信順序に応じて修正してすることを特徴とするコンピュータプログラム。
【図面の簡単な説明】
【０１３７】
【図１】Ｙ．１７３１に基づくシングルエンド方式の通信装置を示すブロック図である。
【図２】Ｙ．１７３１に基づくＯＡＭフレームを示す図である。
【図３】シングルエンド方式おけるロス測定を説明する図である。
【図４】ロス測定が正常に行われる場合を説明する図である。
【図５】ロス測定が正常に行われない場合を説明する図である。
【図６】Ｙ．１７３１に基づくデュアルエンド方式の通信装置を示すブロック図である。
【図７】デュアルエンド方式おけるロス測定を説明する図である。
【図８】ロス測定が正常に行われる場合を説明する図である。
【図９】ロス測定が正常に行われない場合を説明する図である。
【図１０】一実施形態によるシングルエンド方式の通信装置を示すブロック図である。
【図１１】一実施形態によるデュアルエンド方式の通信装置を示すブロック図である。
【図１２】ＯＡＭフレーム送信方法を示すフローチャートである。
【図１３】一実施形態による通信システムを示す図である。
【符号の説明】
【０１３８】
１００  通信装置
１１０  フレーム送信部
１１１  フレーム送信回路
１１２  フレーム送信カウンタ
１１３  ＯＡＭフレーム生成部
１２０  フレーム受信部
１２１  フレーム受信回路
１２２  フレーム受信カウンタ
１２３  ＯＡＭフレームチェック部
１２４  ＬＭＭのＲｘＦＣＩ退避メモリ
１２５  ＬＭＲのＲｘＦＣＩ退避メモリ
１２６〜１２９  格納メモリ
３００  通信システム
３１０  通信装置Ａ
３１１  ＲｘＦＣＩカウンタ
３１２  ＴｘＦＣＩカウンタ
３２０  通信装置Ｂ
３２１  ＴｘＦＣＩカウンタ
３２２  ＲｘＦＣＩカウンタ
６００  通信装置
６１０  フレーム送信部
６１１  フレーム送信回路
６１２  フレーム送信カウンタ
６１３  ＯＡＭフレーム生成部
６２０  フレーム受信部
６２１  フレーム受信回路
６２２  フレーム受信カウンタ
６２３  ＯＡＭフレームチェック部
６２４  ＲｘＦＣＩ退避メモリ
６２５  ＴｘＦＣＩ退避メモリ
６２６〜６２９  格納メモリ
７００  通信システム
７１０  通信装置Ａ
７１１  ＲｘＦＣＩカウンタ
７１２  ＴｘＦＣＩカウンタ
７２０  通信装置Ｂ
７２１  ＴｘＦＣＩカウンタ
７２２  ＲｘＦＣＩカウンタ
１０００Ａ、１０００Ｂ  通信装置Ａ、Ｂ
１００１  ＬＭＭ生成部
１００２  ＦＩＦＯ管理部
１００３  スケジューラ部
１００４  ＦＩＦＯ読出部
１００５  ＴｘＦＣＩカウンタ
１００６  ＬＭ識別部
１００７  ＲｘＦＣＩカウンタ
１００８  フレームロス計算部
１００９  ＬＭＲ生成部
１０００Ａ、１０００Ｂ  通信装置Ａ、Ｂ
１１０１  ＣＣＭ生成部
１１０２  ＦＩＦＯ管理部
１１０３  スケジューラ部
１１０４  ＦＩＦＯ読出部
１１０５  ＴｘＦＣＩカウンタ
１１０６  ＬＭ識別部
１１０７  ＲｘＦＣＩカウンタ
１１０８  フレームロス計算部
１３００  シェルフ型通信装置
１３０１  ラインカード
１３０２  ＭＣカード
１３０３  ＳＷカード
１３０４  ファン
【図１】
2010028654.tif 000003
【図２】
2010028654.tif 000004
【図３】
2010028654.tif 000005
【図４】
2010028654.tif 000006
【図５】
2010028654.tif 000007
【図６】
2010028654.tif 000008
【図７】
2010028654.tif 000009
【図８】
2010028654.tif 000010
【図９】
2010028654.tif 000011
【図１０】
2010028654.tif 000012
【図１１】
2010028654.tif 000013
【図１２】
2010028654.tif 000014
【図１３】
2010028654.tif 000015