JP2024070415A - 通信装置および、通信システム、制御方法、およびプログラム - Google Patents
通信装置および、通信システム、制御方法、およびプログラム Download PDFInfo
- Publication number
- JP2024070415A JP2024070415A JP2022180888A JP2022180888A JP2024070415A JP 2024070415 A JP2024070415 A JP 2024070415A JP 2022180888 A JP2022180888 A JP 2022180888A JP 2022180888 A JP2022180888 A JP 2022180888A JP 2024070415 A JP2024070415 A JP 2024070415A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- communication
- unit
- bypass
- packets
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 349
- 238000000034 method Methods 0.000 title claims abstract description 73
- 239000000872 buffer Substances 0.000 claims abstract description 157
- 238000012545 processing Methods 0.000 claims abstract description 80
- 230000001360 synchronised effect Effects 0.000 abstract description 4
- 238000012546 transfer Methods 0.000 description 91
- 230000005540 biological transmission Effects 0.000 description 76
- 230000015654 memory Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 230000014759 maintenance of location Effects 0.000 description 8
- 238000003825 pressing Methods 0.000 description 7
- 230000000052 comparative effect Effects 0.000 description 6
- 238000012937 correction Methods 0.000 description 4
- 108700009949 PTP protocol Proteins 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Landscapes
- Small-Scale Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
【課題】バイパス時でも他の通信装置が時刻同期可能となること。
【解決手段】通信装置は、第1通信線からパケットが入力されて当該パケットを出力する第1通信手段と、上記パケットが入力されて当該パケットを第2通信線へと出力する第2通信手段と、上記パケットを処理する処理手段と、上記第1通信手段から出力された上記パケットを上記第2通信手段に入力する経路を、上記処理手段がアクセス可能なアクセス個所を経る通常経路と、上記アクセス個所を経ないバイパス経路とに切替え可能な切替え手段と、上記バイパス経路の途上で上記パケットをバッファにより保持し、当該パケットのデータを連続データとして上記第2通信手段に入力し、当該パケットが時刻同期用の同期パケットである場合には、上記第1通信手段による出力から一定時間経過したら当該パケットを当該第2通信手段に入力する調整手段と、を備える。
【選択図】図6
【解決手段】通信装置は、第1通信線からパケットが入力されて当該パケットを出力する第1通信手段と、上記パケットが入力されて当該パケットを第2通信線へと出力する第2通信手段と、上記パケットを処理する処理手段と、上記第1通信手段から出力された上記パケットを上記第2通信手段に入力する経路を、上記処理手段がアクセス可能なアクセス個所を経る通常経路と、上記アクセス個所を経ないバイパス経路とに切替え可能な切替え手段と、上記バイパス経路の途上で上記パケットをバッファにより保持し、当該パケットのデータを連続データとして上記第2通信手段に入力し、当該パケットが時刻同期用の同期パケットである場合には、上記第1通信手段による出力から一定時間経過したら当該パケットを当該第2通信手段に入力する調整手段と、を備える。
【選択図】図6
Description
本発明は、通信装置および、通信システム、制御方法、およびプログラムに関する。
通信システムにおける通信装置の接続形態(トポロジ)として、リング型トポロジやライン型トポロジといったデイジーチェイントポロジが用いられる場合がある。
例えば特許文献1には、デイジーチェーン接続下においてパケット交換装置の障害時でも他のパケット交換装置間でパケットの交換が可能となるようバイパスモジュールを備えたパケット交換装置が開示されている。
例えば特許文献1には、デイジーチェーン接続下においてパケット交換装置の障害時でも他のパケット交換装置間でパケットの交換が可能となるようバイパスモジュールを備えたパケット交換装置が開示されている。
昨今、ネットワークで繋がった複数の機器間を時刻同期させる技術が多分野に渡り利用されており、複数端末で時刻を同期させるためにPrecision Time Protocol(以下、PTPと略記する。)が広く用いられている。PTPによる時刻同期では、同期パケットが通信装置内で滞留する時間の取得が求められる。
しかし、バイパス状態になった通信装置は、通信装置内での同期パケットの滞留時間を算出することができないので、他の通信装置が時刻同期可能となる仕組みが求められる。
本発明が解決しようとする課題は、バイパス時でも他の通信装置での時刻同期を可能とすることである。
本発明が解決しようとする課題は、バイパス時でも他の通信装置での時刻同期を可能とすることである。
上記の課題を解決するため、本発明の1つの態様にかかる通信装置は、第1通信線からパケットが入力されて当該パケットを出力する第1通信手段と、上記パケットが入力されて当該パケットを第2通信線へと出力する第2通信手段と、上記パケットを処理する処理手段と、上記第1通信手段から出力された上記パケットを上記第2通信手段に入力する経路を、上記処理手段がアクセス可能なアクセス個所を経る通常経路と、上記アクセス個所を経ないバイパス経路とに切替え可能な切替え手段と、上記バイパス経路の途上で上記パケットをバッファにより保持し、当該パケットのデータを連続データとして上記第2通信手段に入力し、当該パケットが時刻同期用の同期パケットである場合には、上記第1通信手段による出力から一定時間経過したら当該パケットを当該第2通信手段に入力する調整手段と、を備える。
本発明によれば、バイパス時でも他の通信装置が時刻同期可能となる。
以下、添付図面を参照して本発明の実施形態を詳細に説明する。なお、以下の実施形態は本発明を限定するものではなく、また、実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。実施形態の構成は、本発明が適用されるシステムおよび装置の仕様および各種条件(使用条件、使用環境等)によって適宜修正又は変更され得る。本発明の技術的範囲は、特許請求の範囲によって画定されるのであって、以下の個別の実施形態によって画定されない。
図1は、本実施形態に係るネットワークシステム(通信システム)の構成例を示すブロック図である。
本実施形態のネットワークシステム100は、ライン状に接続された複数の通信装置101-1~101-n(n>1)と、サーバ装置102と、スイッチ装置103と、グランドマスタ装置104とを備えている。以下の説明において、複数の通信装置101-1~101-nのそれぞれを通信装置101と総称する。
本実施形態のネットワークシステム100は、ライン状に接続された複数の通信装置101-1~101-n(n>1)と、サーバ装置102と、スイッチ装置103と、グランドマスタ装置104とを備えている。以下の説明において、複数の通信装置101-1~101-nのそれぞれを通信装置101と総称する。
複数の通信装置101-1~101-nが接続されたネットワークにおいて、スイッチ装置103に近い側をルート側と称し、スイッチ装置103から遠い側をリーフ側と称する。また、各通信装置101においても、スイッチ装置103に近い側をルート側と称し、スイッチ装置103から遠い側をリーフ側と称する。
通信装置101は後述するように、ルート側のインターフェース部とリーフ側のインターフェース部との2つのインターフェース部を有する。これらのインターフェース部は、それぞれ他の通信装置101と、ケーブル105、106を介して接続することができる。これらのインターフェース部により、通信装置101は、任意の台数がライン状に接続された接続形態での使用が可能となる。
複数の通信装置101-1~101-nのうち最もルート側の通信装置101-1はスイッチ装置103に接続される。また、複数の通信装置101-1~101-nのうち最もリーフ側の通信装置101-nは、1つ手前の通信装置101-n-1にのみ接続されるため、1つのインターフェース部を備えればよい。
スイッチ装置103は、サーバ装置102およびグランドマスタ装置104と接続される。通信装置101のそれぞれは、スイッチ装置103を介してサーバ装置102およびグランドマスタ装置104と通信を行うことができる。即ち、スイッチ装置103は複数の通信装置101-1~101-nとサーバ装置102とグランドマスタ装置104とからなるネットワークをスイッチする機能を有する。
通信装置101はグランドマスタ装置104とPTPで時刻同期を行い、通常状態ではTransparent Clock(以下、TCと称する。)およびOrdinary Clock(以下、OCと称する。)として動作する。
通常時には、PTPパケットが内部で滞留する時間がPTPのプロトコル処理にて時刻補正に用いられ、各通信装置101はグランドマスタ装置104の時刻と高精度に同期することが可能となる。
通常時には、PTPパケットが内部で滞留する時間がPTPのプロトコル処理にて時刻補正に用いられ、各通信装置101はグランドマスタ装置104の時刻と高精度に同期することが可能となる。
バイパス時には、通信装置101内でPTPパケットが滞留する時間が常に一定になるように各処理部が動作する。この動作により、バイパスした通信装置101よりリーフ側の通信装置101も高精度な時刻同期状態を維持することが可能となる。詳細な制御については後述する。
ここで、本実施形態の通信装置101と比較される比較例について説明する。
図2は、比較例の通信装置110を示す概略構成図である。
通信装置110は、第1のインターフェース(I/F)部1aと、第2のI/F部1bと、バイパス部2と、バッファ部3とを備え、更に、図示が省略された上位レイヤを備えている。第1のI/F部1aおよび第2のI/F部1bは、Media Access Control(以下、MACと称する。)を備えている。
図2は、比較例の通信装置110を示す概略構成図である。
通信装置110は、第1のインターフェース(I/F)部1aと、第2のI/F部1bと、バイパス部2と、バッファ部3とを備え、更に、図示が省略された上位レイヤを備えている。第1のI/F部1aおよび第2のI/F部1bは、Media Access Control(以下、MACと称する。)を備えている。
第1のI/F部1aは、データを通信パケットとして受信し、第2のI/F部1bは、データを通信パケットとして送信する。
バイパス部2は、バイパス状態であるか否かによって通信パケットの経路を、通常経路とバイパス経路とに切り替える。
バイパス部2は、バイパス状態であるか否かによって通信パケットの経路を、通常経路とバイパス経路とに切り替える。
バッファ部3は、受け取ったデータを保持(バッファリング)して、データが1パケット分以上溜まった場合に出力する。
上位レイヤには、通信パケットを処理する処理手段が含まれる。通信パケットの処理としては、PTPによる時刻同期に用いられるPTPパケットの処理が含まれ、通信装置110内でのPTPパケットの滞留時間が算出される。
上位レイヤには、通信パケットを処理する処理手段が含まれる。通信パケットの処理としては、PTPによる時刻同期に用いられるPTPパケットの処理が含まれ、通信装置110内でのPTPパケットの滞留時間が算出される。
通信パケットの通常経路は、上位レイヤの処理手段がアクセス可能なアクセス個所を経る。即ち、第1のI/F部1aは、受信したデータ(通信パケット)をバイパス部2へ出力し、通常状態では、バイパス部2はデータを上位レイヤへ出力する。また、通常状態でバイパス部2は、上位レイヤから受け取るデータをバッファ部3へ出力する。
一方、バイパス状態である場合、バイパス部2は、第1のI/F部1aから受け取ったデータをバッファ部3へ出力する。つまり、通信パケットのバイパス経路は、上位レイヤの処理手段がアクセス可能なアクセス個所を経ない。
バッファ部3は、バイパス部2からデータを受け取り、データが1パケット分以上溜まった場合に第2のI/F部1bへ出力する。つまり、バッファ部3は、ストアアンドフォワード方式で動作する。バッファ部3における当該動作は、第2のI/F部1bが備えるMACによる通信パケットの転送中断を避けるための動作である。
バッファ部3は、バイパス部2からデータを受け取り、データが1パケット分以上溜まった場合に第2のI/F部1bへ出力する。つまり、バッファ部3は、ストアアンドフォワード方式で動作する。バッファ部3における当該動作は、第2のI/F部1bが備えるMACによる通信パケットの転送中断を避けるための動作である。
ここで、比較例の通信装置110および本実施形態の通信装置100における各処理部間の通信パケット受け渡しに使用されるValid-Readyプロトコルについて説明する。
図3は、Valid-Readyプロトコルで用いられる各種の信号を示すタイミングチャートである。図3の横軸は時間を示し、図3の最上段にはクロック信号(clk)が示されている。
Valid-Readyプロトコルは、各処理部間における基本的な動作プロトコルとして利用される。通信パケットを出力する処理部は、valid信号、data信号、last信号およびsideband信号を相手へ出力し、通信パケットを受け取る処理部はready信号を相手へ出力する。
Valid-Readyプロトコルは、各処理部間における基本的な動作プロトコルとして利用される。通信パケットを出力する処理部は、valid信号、data信号、last信号およびsideband信号を相手へ出力し、通信パケットを受け取る処理部はready信号を相手へ出力する。
valid信号は、Highである場合、受け渡すデータが存在することを意味する。
ready信号は、Highである場合、データ受け取りが可能であることを示す。
data信号は、受け渡すデータを表し、通常は複数ビットで構成されるので、複数のクロックサイクルに亘って受け渡しが行われる。
ready信号は、Highである場合、データ受け取りが可能であることを示す。
data信号は、受け渡すデータを表し、通常は複数ビットで構成されるので、複数のクロックサイクルに亘って受け渡しが行われる。
last信号は、Hihgである場合、現在出力しているdata信号(およびsideband信号)の最後であることを示す。本明細書では、last信号がHighである場合、通信パケットの最後のデータであることを意味する。
sideband信号はdata信号に付随する付加情報であり、例えばバイトイネーブル情報が該当する。本明細書では、バイトイネーブル情報の他に、後述する転送キュー情報やバイパス情報がsideband信号に含まれる。sideband信号は、1つのsideband信号の中に複数の情報種別が含まれてもよいし、情報種別ごとの複数のsideband信号が各信号線に分けられてもよい。
sideband信号はdata信号に付随する付加情報であり、例えばバイトイネーブル情報が該当する。本明細書では、バイトイネーブル情報の他に、後述する転送キュー情報やバイパス情報がsideband信号に含まれる。sideband信号は、1つのsideband信号の中に複数の情報種別が含まれてもよいし、情報種別ごとの複数のsideband信号が各信号線に分けられてもよい。
data信号およびsideband信号については、通信パケットの先頭から最後までの全ビットがデータとして使用されてもよいし、一部のビットについては未使用(入力がない、もしくは出力がない)であってもよい。
valid信号とready信号との双方がHighのクロックサイクルでは、data信号、sideband信号およびlast信号は、1ビット分のデータの受け渡し完了となり、次のクロックサイクルで次のビットのデータが受け渡し可能となる。
valid信号とready信号との双方がHighのクロックサイクルでは、data信号、sideband信号およびlast信号は、1ビット分のデータの受け渡し完了となり、次のクロックサイクルで次のビットのデータが受け渡し可能となる。
valid信号がHighなのにready信号がLowであるクロックサイクルでは、データ出力側は次のサイクルも同じ値でdata信号、sideband信号およびlast信号を出力しなければならない。
図3に示す例では、2つの通信パケットの出力(入力)における波形が示されている。1つ目の通信パケットはT3~T12の期間に示され、2つ目の通信パケットはT15~T23の期間に示されている。1つ目の通信パケットは、T7~T8の期間において、valid信号がLowに変化しているので、先頭から最後まで連続的にデータの授受が行われるパケットではない。一方で、2つ目の通信パケットは先頭から最後まで連続的にデータの授受が行われている。
本明細書では、MACの仕様として、出力時には上記1つ目の通信パケットの波形のように、パケットの先頭から最後までの間でvalid信号をLowにする期間が発生し得る仕様が用いられる。上記仕様では、MAC内部を少ないバッファとレイテンシで実現するために、符号化データを元の情報に戻して出力する際、元に戻し終わったデータから都度出力する。上記仕様により、1つの通信パケットは、valid信号がHighからLow、LowからHighを繰り返してMACから出力される場合がある。
一方、本明細書では、MACの仕様として、入力時に上記2つ目の通信パケットの波形のように通信パケットの先頭から最後までの間にvalid信号を下げてはいけない仕様が採用される。仮に、先頭データの入力が開始されてからlast信号がHighになる前にvalid信号がLowになると、MACは、それまでに受け取った通信パケットのデータを内部で破棄する。
入力時におけるMACの上記仕様のため、図2に示すバッファ部3は、ストアアンドフォワード方式で動作するとともに、1パケット分のデータ出力中はvalid信号をHighに維持する。この結果、第2のI/F部1bではMACによる通信パケットの転送中断が回避されて通信パケットが正常に送信されることになる。
ところで、バイパス状態では、図2に示す通信装置110は、PTPパケットの滞留時間を上位レイヤで算出できない。通信装置110がバイパス状態になってもリーフ側で時刻同期が可能となるためには、通信装置110におけるPTPパケットの滞留時間が安定していることが求められる。しかしながら、通信装置110では、バッファ部3の動作によりPTPパケットの滞留時間が変動する。
図4および図5は、PTPパケット10を受け取った時のデータ転送にかかる時間を示す図である。図4および図5の横軸は時間を示している。図4および図5の上段には、第1のI/F部1aからバイパス部2へのPTPパケット10の出力タイミングが示されている。図4および図5の中段には、バイパス部2からバッファ部3へのPTPパケット10の出力タイミングが示されている。図4および図5の下段には、バッファ部3から第2のI/F部1bへのPTPパケット10の出力タイミングが示されている。
図4には、PTPパケット10のみのデータ転送における出力タイミングが示され、図5には、通常パケット20とPTPパケット10の連続したデータ転送における出力タイミングが示されている。
図4および図5に示す時刻30aは、第1のI/F部1aがPTPパケット10の出力を開始した時刻である。また、図4に示す時刻30bおよび図5に示す時刻30cは、第2のI/F部1bがPTPパケット10の出力を開始した時刻である。
バイパス部2は、受け取ったデータを上位レイヤもしくはバッファ部3へと振り分ける処理を行うため、図4の中段に示すように、バイパス部2では、データを受け取ってから出力するまでに固定のレイテンシが発生する。また、バッファ部3は、パケットの最後のデータを受け取ってから当該パケットの出力を開始する。
従って、図4の中段と下段に示すように、バイパス部2からバッファ部3へのPTPパケット10の出力が終了した時刻30bに、第2のI/F部1bへのPTPパケット10の入力が開始される。また、第2のI/F部1bでは、PTPパケット10の入力開始と同時にPTPパケット10の出力が開始される。
バイパス部2は、受け取ったデータを上位レイヤもしくはバッファ部3へと振り分ける処理を行うため、図4の中段に示すように、バイパス部2では、データを受け取ってから出力するまでに固定のレイテンシが発生する。また、バッファ部3は、パケットの最後のデータを受け取ってから当該パケットの出力を開始する。
従って、図4の中段と下段に示すように、バイパス部2からバッファ部3へのPTPパケット10の出力が終了した時刻30bに、第2のI/F部1bへのPTPパケット10の入力が開始される。また、第2のI/F部1bでは、PTPパケット10の入力開始と同時にPTPパケット10の出力が開始される。
通信装置110内部におけるPTPパケット10の滞留時間は、第1のI/F部1aと第2のI/F部1bとにおけるPTPパケット10の出力時間の差分と定義されるので、図4に示す場合の滞留時間は「時刻30b-時刻30a」となる。
一方、図5に示す場合、通常パケット20はPTPパケット10よりもパケットサイズが大きく、図5に上段に示すように、第1のI/F部1aは通常パケット20の出力直後の時刻30aに、PTPパケット10を出力している。また、図5に中段に示すように、バイパス部2では、固定のレイテンシが発生した後、PTPパケット10が出力される。
一方、図5に示す場合、通常パケット20はPTPパケット10よりもパケットサイズが大きく、図5に上段に示すように、第1のI/F部1aは通常パケット20の出力直後の時刻30aに、PTPパケット10を出力している。また、図5に中段に示すように、バイパス部2では、固定のレイテンシが発生した後、PTPパケット10が出力される。
しかし、図5に下段に示すように、バッファ部3は、パケットサイズの大きい通常パケット20の保持と出力に時間を要する。このため、図5に中段に示すPTPパケット10の出力が終了しても、図5に下段に示すように通常パケット20の出力が継続される。そして、図5に下段に示すように、バッファ部3は、通常パケット20の出力が完了した時刻30cに、第2のI/F部1bへのPTPパケット10の入力を開始する。第2のI/F部1bでは、PTPパケット10の入力開始と同時にPTPパケット10の出力が開始される。従って、図5に示す場合の滞留時間は「時刻30c-時刻30a」となる。
比較例の通信装置110では、図4に示す場合や図5に示す場合が発生しうるため、PTPパケット10が通信装置110の内部で滞留する時間は一定にならない。このため、比較例の通信装置110の場合は、バイパス状態になると、リーフ側に位置する他の通信装置における時刻同期の精度が劣化する。
図6は、第1実施形態に係る通信装置101の構成例を示すブロック図である。
図6に示した構成は一例であり、複数の機能ブロックが1つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが複数の機能を行うブロックに分かれてもよい。また、機能ブロックの少なくとも1つがハードウェアとして実装されてもよい。ハードウェアにより実装する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのプログラムからFPGA上に自動的に専用回路を生成すればよい。FPGAとは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウェアとして実現するようにしてもよい。また、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。
図6に示した構成は一例であり、複数の機能ブロックが1つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが複数の機能を行うブロックに分かれてもよい。また、機能ブロックの少なくとも1つがハードウェアとして実装されてもよい。ハードウェアにより実装する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのプログラムからFPGA上に自動的に専用回路を生成すればよい。FPGAとは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウェアとして実現するようにしてもよい。また、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。
通信装置101は、ルート側のケーブル105とリーフ側のケーブル106に接続されている。通信装置101は、リーフ側の第1PHY(PHysical Layer)部201と、ルート側の第2PHY部202と、リーフ側の第1MAC部203と、ルート側の第2MAC部204とを備えている。
また、通信装置101は、パケット解析部205と、バイパス部206と、リーフ側の第1転送部207と、ルート側の第2転送部208と、カウンタ部209と、カウント保持部210とを備えている。さらに、通信装置101は、通信バッファ部211と、出力制御部212と、CPU213と、メモリ214と、アプリケーション部215と、バイパス指示部216と、バス217とを備えている。
なお、通信装置101は、リーフ側からルート側への送受信経路と、ルート側からリーフ側への送受信経路との双方を備えているが、説明の便宜上、図6では、ルート側からリーフ側への送受信経路のみが示されている。リーフ側からルート側への送受信経路も、以下説明するルート側からリーフ側への送受信経路と同様の構成を有し、同様の処理を行う。
図6中に太い矢印で示されたデータ受け渡しにおいて、PHY部201、202とMAC部203、204との間以外は、図3で説明したValid-Readyプロトコルが
基本的な動作プロトコルとして利用される。
CPU213は通信装置101全体の制御を担い、TCP/IPパケットの送受信やPTPパケットの送受信のために、第1転送部207と第2転送部208に転送指示を発行する。また、CPU213はバイパス指示部216が有するウォッチドッグタイマの開始、停止、クリアの制御を行う。また、CPU213はPTPのプロトコル処理(TC処理やOC処理)も行い、図示を省略した内部時計の時刻補正(同期処理)を行う。通信装置101がバイパス状態になると、CPU213はPTPパケットを検知できなくなるので、内部時計はフリーラン状態となる。CPU213は、通信パケットを処理する処理手段の一例である。
基本的な動作プロトコルとして利用される。
CPU213は通信装置101全体の制御を担い、TCP/IPパケットの送受信やPTPパケットの送受信のために、第1転送部207と第2転送部208に転送指示を発行する。また、CPU213はバイパス指示部216が有するウォッチドッグタイマの開始、停止、クリアの制御を行う。また、CPU213はPTPのプロトコル処理(TC処理やOC処理)も行い、図示を省略した内部時計の時刻補正(同期処理)を行う。通信装置101がバイパス状態になると、CPU213はPTPパケットを検知できなくなるので、内部時計はフリーラン状態となる。CPU213は、通信パケットを処理する処理手段の一例である。
メモリ214は、CPU201のプログラムや、送受信されるPTPパケットおよびTCP/IPパケットなどを保持する。図6ではメモリ214は1つのみ図示されているが、用途により複数のメモリ214が備えられてもよいし、複数のメモリ214は互いに種類が異なっていてもよい。
アプリケーション部215は、通信装置101が計算したアプリケーションデータをアプリケーションパケットとしてサーバ装置102などへ送信する。また、アプリケーション部215は、他の通信装置101が送信したアプリケーションパケットを一度内部へ取り込み、アプリケーションヘッダを書き換えて中継する。アプリケーション部215は、アプリケーションパケットの送受信のために、第1転送部207と第2転送部208に転送指示を発行する。
バイパス指示部216は内部にウォッチドッグタイマを有し、タイマが開始してから一定時間内にクリア制御が行われない場合はバイパス指示253を発行する。バイパス指示部216は、クリア制御が行われると、ウォッチドッグタイマを再び最初から開始する。CPU213が内部障害でスタックした場合などには、CPU213はバイパス指示部216へのクリア制御ができなくなる。この結果、バイパス指示部216からバイパス指示253が発行され、通信装置101は通常状態からバイパス状態に切り替わる。
通常状態では、CPU213やアプリケーション部215によって通信パケットの中継処理が行われるが、バイパス状態では、第1MAC部203で受信される通信パケットはバイパス部206により第2MAC部204へと転送される。
バス217は通信装置101内に備えられた各処理部相互のデータ送受信のためのシステムバスとして動作する。
バス217は通信装置101内に備えられた各処理部相互のデータ送受信のためのシステムバスとして動作する。
第1PHY部201と第2PHY部202は、他の通信装置101とケーブル105、106を介して接続され、OSI(Open Systems Interconnection)参照モデルの第1層の処理を行う。
第1MAC部203および第2MAC部204は、それぞれ、第1PHY部201および第2PHY部202と各々接続され、OSI参照モデルの第2層におけるメディアアクセス制御の処理を行う。
ルート側の第1PHY部201と第1MAC部203とを併せたものは、入力側の第1通信線から通信パケットが入力されて当該通信パケットを出力する第1通信手段として機能する。リーフ側の第2PHY部202と第2MAC部204とを併せたものは、通信パケットが入力されて当該通信パケットを出力側の第2通信線へと出力する第2通信手段として機能する。
第1MAC部203および第2MAC部204は、それぞれ、第1PHY部201および第2PHY部202と各々接続され、OSI参照モデルの第2層におけるメディアアクセス制御の処理を行う。
ルート側の第1PHY部201と第1MAC部203とを併せたものは、入力側の第1通信線から通信パケットが入力されて当該通信パケットを出力する第1通信手段として機能する。リーフ側の第2PHY部202と第2MAC部204とを併せたものは、通信パケットが入力されて当該通信パケットを出力側の第2通信線へと出力する第2通信手段として機能する。
パケット解析部205は、第1MAC部203から受け取った通信パケットのプロトコル種別の解析を行い、バイパス部207へ通信パケットを出力する際に転送キュー情報やバイパス情報を付与する。
転送キュー情報とは、第1転送部207で使用される転送キューを指定した情報であり、詳細は後述する。転送キュー情報は、出力制御部212でも参照される。バイパス情報とは、バイパス状態であることを示す情報であり、パケット解析部205がパイパス指示部216からパイバス指示253を受けている場合に付与される。
転送キュー情報とは、第1転送部207で使用される転送キューを指定した情報であり、詳細は後述する。転送キュー情報は、出力制御部212でも参照される。バイパス情報とは、バイパス状態であることを示す情報であり、パケット解析部205がパイパス指示部216からパイバス指示253を受けている場合に付与される。
バイパス部206は、バイパス指示部216からのバイパス指示253の有無により通信パケットの経路を切り替える。即ち、パイバス指示253がない場合、バイパス部206は、パケット解析部205から受け取る通信パケットを第1転送部207へ出力し、第2転送部208から受け取る通信パケットを送信バッファ部211へ出力する。パケット解析部205からバイパス部206を経て第1転送部207へ向かう通信パケットの経路が通常経路である。
つまり、バイパス部206は、第1通信手段から出力された通信パケットを第2通信手段に入力する経路を、処理手段がアクセス可能なアクセス個所を経る通常経路と、アクセス個所を経ないバイパス経路とに切替え可能な切替え手段の一例である。
つまり、バイパス部206は、第1通信手段から出力された通信パケットを第2通信手段に入力する経路を、処理手段がアクセス可能なアクセス個所を経る通常経路と、アクセス個所を経ないバイパス経路とに切替え可能な切替え手段の一例である。
バイパス部206は、パイバス指示253がある場合、パケット解析部205から受け取る通信パケットを送信バッファ部211へ出力し、第2転送部208から受け取る通信パケットは破棄する。これにより通信装置101内で通信パケットのバイパスが実現する。パケット解析部205からバイパス部206を経て送信バッファ部211へ向かう、第1転送部207を経ない通信パケットの経路がバイパス経路である。
第1転送部207は、CPU213やアプリケーション部215から転送指示を受けると、バイパス部206から受け取った通信パケットを、バス217を介してメモリ214やアプリケーション部215へ転送する。第1転送部207は、通信パケットの転送先を、通信パケットに付与されている転送キュー情報により決定する。第1転送部207は3つの転送キューを有し、第1の転送キューはPTP用、第2の転送キューはアプリケーション部215用、第3の転送キューはその他、として使い分けている。
CPU213は第1と第3の転送キューに対して転送指示を発行し、アプリケーション部215は第2の転送キューに対して転送指示を発行する。第1MAC部203からPTPパケットが出力されると、パケット解析部205により、第1の転送キューの使用を指示する転送キュー情報が付与される。その後、PTPパケットは、バイパス部206を経由して第1転送部207に入力され、第1の転送キューに対する転送指示に従って転送が行われる。
第2転送部208は、CPU213やアプリケーション部215の指示により、アプリケーション部125やメモリ214からバス217を介して通信パケットを読み取り、バイパス部206へ転送する。第2転送部208も3つのキューを有し、第1転送部207と同様に、第1の転送キューはPTP用、第2の転送キューはアプリケーション部215用、第3の転送キューはその他、として使い分けている。さらに、第2転送部208はバイパス部206へ通信パケットを出力する際に、転送キュー情報も付与して出力する。
転送キュー情報は第1転送部207および第2転送部208に共通の識別情報である。転送キュー情報により、第2転送部208が出力したパケットがどの転送キューから出力されたものかが判断できる。
カウンタ部209はカウンタを有し、通信装置101の内部時計から入力されるクロック信号の立ち上がりのたびにカウント値をインクリメントする。カウンタのカウント値251は、カウント保持部210および出力制御部212の両方に向けてカウンタ部209から常に出力される。後述するように、カウント値251は、PTPパケットが一定の内部滞留時間で通信装置101から出力されるための出力制御に使用される。なお、カウンタ部209は、単純にクロックの立ち上がりをカウントするものでもよいし、入力されるクロック信号から割り出される周期時間をもとに時間情報を管理して出力してもよい。
カウンタ部209はカウンタを有し、通信装置101の内部時計から入力されるクロック信号の立ち上がりのたびにカウント値をインクリメントする。カウンタのカウント値251は、カウント保持部210および出力制御部212の両方に向けてカウンタ部209から常に出力される。後述するように、カウント値251は、PTPパケットが一定の内部滞留時間で通信装置101から出力されるための出力制御に使用される。なお、カウンタ部209は、単純にクロックの立ち上がりをカウントするものでもよいし、入力されるクロック信号から割り出される周期時間をもとに時間情報を管理して出力してもよい。
カウント保持部210は、内部にFIFO(First in First out)メモリを有し、パケット解析部205からカウント保持要求252を受信すると、カウンタ部209から入力されたカウント値251を内部のFIFOメモリへ格納する。カウント保持部210は、FIFOメモリに格納されたカウント値のうち最先のカウント値254を常に出力する。また、カウンタ部209は、更新要求255を受信すると、FIFOメモリから最先のデータを消去して最先のカウント値254を更新する。
送信バッファ部211は、バイパス部206から受け取る通信パケットのデータと、その通信パケットに付与された転送キュー情報およびバイパス情報とを内部にバッファリングする。送信バッファ部211は、バッファリングした通信パケットのデータを出力制御部212へ出力するが、出力を開始するのは1パケット分以上のデータ(および付与された情報)がバッファリングできてからである。
なお、送信バッファ部211は、バッファリングされたデータが占めているデータ量を示すバッファ使用量情報250をパケット解析部252へ出力する。本実施形態では一例として、送信バッファ部211にFIFOメモリが用いられる。バッファ使用量情報250としては、例えばFIFOメモリで現在使用されている(データが埋まっている)段数が出力される。なお、バッファ使用量情報250としては、例えばFIFOメモリの空いている段数が出力されてもよい。
出力制御部212は、送信バッファ部211から受け取る通信パケットを第2MAC部204へ出力する。通信パケットがPTPパケットである場合、出力制御部212は、出力タイミング(即ち第2MAC部204への入力タイミング)を後述するように制御する。
送信バッファ部211と出力制御部212とを併せたものが、バイパス経路の途上で通信パケットをバッファにより保持し、当該通信パケットのデータを連続データとして第2通信手段に入力する。そして、通信パケットが時刻同期用の同期パケットである場合には、第1通信手段による出力から一定時間経過したら当該通信パケットを第2通信手段に入力する。
送信バッファ部211と出力制御部212とを併せたものが、バイパス経路の途上で通信パケットをバッファにより保持し、当該通信パケットのデータを連続データとして第2通信手段に入力する。そして、通信パケットが時刻同期用の同期パケットである場合には、第1通信手段による出力から一定時間経過したら当該通信パケットを第2通信手段に入力する。
以下、パケット解析部205と、バイパス部206と、送信バッファ部211と、出力制御部212の詳細な処理動作について、フローチャートを参照しながら説明する。
図7は、パケット解析部205における処理動作を示すフローチャートである。
パケット解析部205は、図7に示す処理動作を、通信装置101の電源がONになった場合に開始する(S701)。パケット解析部205は、リセットボタンの押下などによるリセット状態が解除された場合も、図7に示す処理動作を開始する。
図7は、パケット解析部205における処理動作を示すフローチャートである。
パケット解析部205は、図7に示す処理動作を、通信装置101の電源がONになった場合に開始する(S701)。パケット解析部205は、リセットボタンの押下などによるリセット状態が解除された場合も、図7に示す処理動作を開始する。
パケット解析部205は、S702で、第1MAC部205からのパケット出力を検知したか否かを判定する。検知していない場合(S702:NO)、処理がS712に進み、パケット解析部205は、終了指示を受信したか否かを判定する。終了指示を受信した場合(S712:YES)、パケット解析部205は図7に示す処理動作を終了する(S713)。終了指示としては、CPU213によるリセット要求やユーザによる基板上のリセットボタンの押下などがある。S712で終了指示が受信されていない場合(S712:NO)、処理がS702へ戻る。
S702でパケット出力が検知された場合(S702:YES)、処理がS703に進みパケット解析部205は、バイパス指示253を受信したか否かを判定する。
バイパス指示253が受信されなかった場合(S703:NO)、通信装置101は通常状態である。通常状態の場合、処理がS709に進みパケット解析部205は、S702で検知した通信パケットのMACヘッダのイーサタイプ領域から転送キュー情報を算出する。具体的には、一例としてイーサタイプ領域の値が0x88f7であればPTPパケットであるので、パケット解析部205は、PTP用の第1の転送キューを指定する転送キュー情報を得る。
バイパス指示253が受信されなかった場合(S703:NO)、通信装置101は通常状態である。通常状態の場合、処理がS709に進みパケット解析部205は、S702で検知した通信パケットのMACヘッダのイーサタイプ領域から転送キュー情報を算出する。具体的には、一例としてイーサタイプ領域の値が0x88f7であればPTPパケットであるので、パケット解析部205は、PTP用の第1の転送キューを指定する転送キュー情報を得る。
また、イーサタイプ領域の値がアプリケーション部215の生成した通信パケットを示す特定値である場合、パケット解析部205は、アプリケーション部215用の第2の転送キューを指定する転送キュー情報を得る。アプリケーション部215の生成した通信パケットを示す特定値としては、IPやPTPといった既存プロトコルで使用される値とは異なる任意の値が用いられる。
また、イーサタイプ領域の値が、0x88f7および上記特定値のいずれとも異なる値の場合、パケット解析部205は、第3の転送キューを指定する転送キュー情報を得る。
S709で転送キュー情報が算出されると、S710でパケット解析部205は、S702で検知した通信パケットを転送キュー情報と一緒にバイパス部208へ出力する。その後、処理がS712に進み、上述したように、処理が終了する(S713)か、あるいはS702に戻る。
S709で転送キュー情報が算出されると、S710でパケット解析部205は、S702で検知した通信パケットを転送キュー情報と一緒にバイパス部208へ出力する。その後、処理がS712に進み、上述したように、処理が終了する(S713)か、あるいはS702に戻る。
上記S703でバイパス指示253が受信された場合(S703:YES)、パケット解析部205はS704で、バッファ使用量情報250の示すバッファ使用量が閾値以上であるか否かを判定する。閾値は固定値として設定されてもよいし、パケット解析部205にレジスタが備えられてCPU213から設定される仕様でもよい。
バッファ使用量が閾値以上である場合(S704:YES)、送信バッファ部211の空きが少ないので、処理がS711に進みパケット解析部205は、S702で検知した通信パケットを破棄する。その後、処理がS712に進み、上述したように、処理が終了する(S713)か、あるいはS702に戻る。
送信バッファ部211の空きが少ない場合にパケット解析部205が通信パケットを出力してしまうと、バッファの枯渇がready信号で送信側に伝搬していく。そして、最終的には、第1MAC部203とパケット解析部205との間でデータ欠落が発生する恐れがある。データ欠落が発生した通信パケットを隣接する通信装置101へ出力すると、そのパケットを受信した通信装置101が誤動作を起こすリスクがある。
このため、送信バッファ部211の空きが少ない場合はS711で通信パケットの破棄が行われる。つまり、パケット解析部205は、送信バッファ部211が有するバッファの容量が不足する場合に通信パケットを破棄する。
このため、送信バッファ部211の空きが少ない場合はS711で通信パケットの破棄が行われる。つまり、パケット解析部205は、送信バッファ部211が有するバッファの容量が不足する場合に通信パケットを破棄する。
なお、バイパス部206と第1転送部207との間に受信バッファ部が備えられ、送信バッファ部211と同様にバッファ使用量がパケット解析部205へ入力され、通常状態ではそのバッファ使用量をもとに通信パケットの破棄か否かが判定されてもよい。その場合は、S703とS709の間でS704と同じように受信バッファ部からのバッファ使用量が閾値を超えるか否かが判定される。
上記S704で、バッファ使用量が閾値以上でないと判定された場合(S704:NO)は、処理がS705に進みパケット解析部205は、上述したS709と同様に転送キュー情報を算出する。その後、S706でパケット解析部205は、通信パケットのMACヘッダのイーサタイプ領域に基づいて、通信パケットがPTPパケットであるか否かを判定する。つまり、イーサタイプ領域の値が0x88f7か否かを判定する。
S706で、PTPパケットであると判定された場合(S706:YES)、パケット解析部205はS707でカウント保持部210に対してカウント保持要求252を出力し、処理がS708に進む。一方、PTPパケットでないと判定された場合(S706:NO)、S707はスキップされて処理がS708に進む。
S708でパケット解析部205は、S702で検知した通信パケットをS705で算出した転送キュー情報と一緒にバイパス部208へ出力し、更にバイパス情報も一緒に出力する。転送キュー情報は、通信パケットの種類判別にも用いられる。つまり、パケット解析部205は、通信パケットに、当該通信パケットが同期パケットであるか否かを判別するための判別情報を付加する。また、本実施形態では後述するように出力制御部212が、バイパス情報によって滞留時間制御の要否を判別する。
S708の後、処理がS712に進み、上述したように、処理が終了する(S713)か、あるいはS702に戻る。
図7に示す処理動作により、パケット解析部205は条件に応じて転送キュー情報やバイパス情報を通信パケットと一緒に出力する。なお、第1MAC部203の出力が32ビットである場合、転送キュー情報を算出するためにMACヘッダのイーサタイプ領域の読み取りが必要となる。このため、通信パケットがパケット解析部205に入力されてから出力されるまでに少なくとも3サイクルの固定レイテンシが発生する。
図7に示す処理動作により、パケット解析部205は条件に応じて転送キュー情報やバイパス情報を通信パケットと一緒に出力する。なお、第1MAC部203の出力が32ビットである場合、転送キュー情報を算出するためにMACヘッダのイーサタイプ領域の読み取りが必要となる。このため、通信パケットがパケット解析部205に入力されてから出力されるまでに少なくとも3サイクルの固定レイテンシが発生する。
図8は、バイパス部206における処理動作を示すフローチャートである。
バイパス部206は、図8に示す処理動作を、通信装置101の電源がONになった場合およびリセット状態が解除された場合に開始する(S801)。
バイパス部206はS802で、パケット解析部207からのパケット出力を検知したか否かを判定する。そして、パケット出力が検知された場合(S802:YES)、バイパス部206はS803で、バイパス指示253を受信中か否かを判定する。
バイパス部206は、図8に示す処理動作を、通信装置101の電源がONになった場合およびリセット状態が解除された場合に開始する(S801)。
バイパス部206はS802で、パケット解析部207からのパケット出力を検知したか否かを判定する。そして、パケット出力が検知された場合(S802:YES)、バイパス部206はS803で、バイパス指示253を受信中か否かを判定する。
バイパス指示253を受信中である場合(S803:YES)、通信装置101はバイパス状態なので処理がS804に進み、バイパス部206は、S802で検知した通信パケットを付与情報とともに送信バッファ部211へ出力する。付与情報とは、転送キュー情報やバイパス情報である。
一方、バイパス指示253を受信中でない場合(S803:NO)、通信装置101は通常状態なので処理がS805に進み、バイパス部206は、S802で検知した通信パケットを付与情報とともに第1転送部207へ出力する。
S804またはS805で通信パケットが出力されると処理はS806に進む。また、上記S802でパケット出力が検知されない場合(S802:NO)、S803~S805はスキップされて処理がS806に進む。
S804またはS805で通信パケットが出力されると処理はS806に進む。また、上記S802でパケット出力が検知されない場合(S802:NO)、S803~S805はスキップされて処理がS806に進む。
S806でバイパス部206は、第2転送部210からのパケット出力を検知したか否かを判定する。そして、パケット出力が検知された場合(S806:YES)、バイパス部206はS807で、バイパス指示253を受信中か否かを判定する。
バイパス指示253を受信中である場合(S807:YES)、通信装置101はバイパス状態なので処理がS808に進み、バイパス部206は、S802で検知した通信パケットを破棄する。
バイパス指示253を受信中である場合(S807:YES)、通信装置101はバイパス状態なので処理がS808に進み、バイパス部206は、S802で検知した通信パケットを破棄する。
一方、バイパス指示253を受信中でない場合(S807:NO)、通信装置101は通常状態なので処理がS809に進み、バイパス部206は、S802で検知した通信パケットを付与情報とともに送信バッファ部211へ出力する。
S808またはS809を経た後、処理はS810に進み、バイパス部206は、終了指示を受信したか否かを判定する。終了指示を受信した場合(S810:YES)、バイパス部206は図8に示す処理動作を終了する(S811)。終了指示としては、CPU213によるリセット要求やユーザによる基板上のリセットボタンの押下などがある。S810で終了指示が受信されていない場合(S810:NO)、処理がS802へ戻る。
S808またはS809を経た後、処理はS810に進み、バイパス部206は、終了指示を受信したか否かを判定する。終了指示を受信した場合(S810:YES)、バイパス部206は図8に示す処理動作を終了する(S811)。終了指示としては、CPU213によるリセット要求やユーザによる基板上のリセットボタンの押下などがある。S810で終了指示が受信されていない場合(S810:NO)、処理がS802へ戻る。
図9は、送信バッファ部211における処理動作を示すフローチャートである。
送信バッファ部211は、図9に示す処理動作を、通信装置101の電源がONになった場合およびリセット状態が解除された場合に開始する(S901)。
S902で送信バッファ部211は、自身が有するバッファ内に1パケット以上のデータが存在するか否かを判定する。1パケット以上のデータが存在するか否かの判定は、バイパス部206と送信バッファ部211との間のValid-Readyプロトコルに含まれるlast信号の授受回数に基づく。
送信バッファ部211は、図9に示す処理動作を、通信装置101の電源がONになった場合およびリセット状態が解除された場合に開始する(S901)。
S902で送信バッファ部211は、自身が有するバッファ内に1パケット以上のデータが存在するか否かを判定する。1パケット以上のデータが存在するか否かの判定は、バイパス部206と送信バッファ部211との間のValid-Readyプロトコルに含まれるlast信号の授受回数に基づく。
バッファ内に1パケット以上のデータが存在していない場合(S902:NO)、処理がS906に進み、送信バッファ部211は、終了指示を受信したか否かを判定する。終了指示を受信した場合(S906:YES)、送信バッファ部211は図9に示す処理動作を終了する(S907)。終了指示としては、CPU213によるリセット要求やユーザによる基板上のリセットボタンの押下などがある。S906で終了指示が受信されていない場合(S906:NO)、処理がS902へ戻る。
バッファ内に1パケット以上のデータが存在している場合(S902:YES)、処理がS903に進み送信バッファ部211は、出力制御部214へパケット出力を開始する。送信バッファ部211からのパケット出力では、valid信号が、通信パケットの先頭から最後まで常にHighで出力される。送信バッファ部211は、1パケット以上のデータが自身のバッファ内に貯まっていることを確認してからパケット出力を開始するので、パケットの先頭から最後までvalid信号をHighで出力することが可能となる。
つまり、本実施形態では、バイパス経路の途上で通信パケットをバッファにより保持し、当該通信パケットのデータを連続データとして第2通信手段に入力するために、当該バッファとしてストアアンドフォワード型のバッファが用いられる。ストアアンドフォワード型のバッファが用いられることで、1パケット分のデータが容易に確認できる。
なお、ストアアンドフォワード型のバッファでなくても、例えばlast信号が参照されることで、通信パケットの先頭から末尾までが確認可能であり、valid信号がHighに維持されることで通信パケットは連続データとして出力可能である。
つまり、本実施形態では、バイパス経路の途上で通信パケットをバッファにより保持し、当該通信パケットのデータを連続データとして第2通信手段に入力するために、当該バッファとしてストアアンドフォワード型のバッファが用いられる。ストアアンドフォワード型のバッファが用いられることで、1パケット分のデータが容易に確認できる。
なお、ストアアンドフォワード型のバッファでなくても、例えばlast信号が参照されることで、通信パケットの先頭から末尾までが確認可能であり、valid信号がHighに維持されることで通信パケットは連続データとして出力可能である。
その後、処理はS904に進み、1パケット分のデータが出力されるまで待機(S904:NO)される。そして、1パケット分のデータが出力されると(S904:YES)、処理がS905に進み送信バッファ部211は、出力制御部214へパケット出力を停止する。その後、処理がS906に進み、上述したように、処理が終了する(S907)か、あるいはS902に戻る。
図10は、出力制御部212における処理動作を示すフローチャートである。
出力制御部212は、図10に示す処理動作を、通信装置101の電源がONになった場合およびリセット状態が解除された場合に開始する(S1001)。
S1002で出力制御部212は、送信バッファ部213からパケット出力を検知したか否かを判定する。検知していない場合(S1002:NO)、処理がS1008に進み、出力制御部212は、終了指示を受信したか否かを判定する。終了指示を受信した場合(S1008:YES)、出力制御部212は図10に示す処理動作を終了する(S1009)。終了指示としては、CPU213によるリセット要求やユーザによる基板上のリセットボタンの押下などがある。S1008で終了指示が受信されていない場合(S1008:NO)、処理がS1002へ戻る。
出力制御部212は、図10に示す処理動作を、通信装置101の電源がONになった場合およびリセット状態が解除された場合に開始する(S1001)。
S1002で出力制御部212は、送信バッファ部213からパケット出力を検知したか否かを判定する。検知していない場合(S1002:NO)、処理がS1008に進み、出力制御部212は、終了指示を受信したか否かを判定する。終了指示を受信した場合(S1008:YES)、出力制御部212は図10に示す処理動作を終了する(S1009)。終了指示としては、CPU213によるリセット要求やユーザによる基板上のリセットボタンの押下などがある。S1008で終了指示が受信されていない場合(S1008:NO)、処理がS1002へ戻る。
S1002でパケット出力が検知された場合(S1002:YES)、処理がS1003に進み出力制御部212は、検知した通信パケットにバイパス情報が付与されているか否かを判定する。バイパス情報が通信パケットと一緒に送られてくることで、出力制御部212は、PTPパケットを一定時間とどめておく必要があるか否かを判定することが可能となる。
出力制御部212に入るPTPパケットには、バイパス経路を経たものと、CPU213の指示により送信されたものと2種類存在し、バイパス経路を経たものが一定時間とどめる対象となる。そのため、本実施形態では、通信装置101内でPTPパケットの滞留時間を固定的に制御しなければならないPTPパケットの判別にバイパス情報が用いられる。
出力制御部212に入るPTPパケットには、バイパス経路を経たものと、CPU213の指示により送信されたものと2種類存在し、バイパス経路を経たものが一定時間とどめる対象となる。そのため、本実施形態では、通信装置101内でPTPパケットの滞留時間を固定的に制御しなければならないPTPパケットの判別にバイパス情報が用いられる。
なお、出力制御部212にバイパス指示253が入力されることでバイパス状態が判定される仕様も考えられる。この仕様の場合は、バイパス情報を通信パケットと一緒に送る必要はない。ただし、バイパス状態になるタイミングによっては、CPU213の転送指示によって送信される(即ち通常経路を経た)PTPパケットが出力タイミングの制御対象になる虞がある。通常経路を経たPTPパケットが出力タイミングの制御対象になると、このPTPパケットについてはカウント保持部210にカウント値が保持されていないため動作異常の原因となる。
上記S1003でバイパス情報が付与されていない場合(S1003:NO)、通信パケットは通常経路を経ているので出力タイミングの制御は不要である。この場合、処理がS1007に進み出力制御部212は、第2MAC部204へ通信パケットを分割せずに1パケット分出力する。ここで「分割せずに」とは、通信パケットの先頭から最後までvalid信号をHighで出力することを意味する。
また、出力制御部212が第2MAC部204へ通信パケットを出力することは、第2MAC部204へ通信パケットを入力することと同義である。つまり、出力制御部212は、通信パケットの先頭データから最終データまでvalid信号をHighに維持して第2通信手段に入力することで当該通信パケットのデータを連続データとして入力する。
また、出力制御部212が第2MAC部204へ通信パケットを出力することは、第2MAC部204へ通信パケットを入力することと同義である。つまり、出力制御部212は、通信パケットの先頭データから最終データまでvalid信号をHighに維持して第2通信手段に入力することで当該通信パケットのデータを連続データとして入力する。
第2MAC部204においては、Highのvalid信号が通信パケットの途中でLowに変化した場合、パケット転送中断と判定してそれまでに受信したパケットデータを破棄する仕様になっている。この仕様の第2MAC部204に対し、通信パケットの先頭から最後までvalid信号がHighで入力されることにより、正しくパケット送信が可能となる。
S1007で第2MAC部204へ通信パケットが出力(入力)された後、処理がS1008へ進み、上述したように、処理が終了する(S1009)か、あるいはS1002に戻る。
上記S1003でバイパス情報が付与されている場合(S1003:YES)、処理がS1004に進み出力制御部212は、検知したパケットに付与されている転送キュー情報がPTPパケット向けを示しているか否かを判定する。
上記S1003でバイパス情報が付与されている場合(S1003:YES)、処理がS1004に進み出力制御部212は、検知したパケットに付与されている転送キュー情報がPTPパケット向けを示しているか否かを判定する。
S1004で転送キュー情報がPTPパケット向けを示していない場合(S1004:NO)、PTPパケット以外の通信パケットであるので出力タイミングの制御は不要である。この場合も処理がS1007に進み、上述した処理が行われる。
一方、S1004で転送キュー情報がPTPパケット向けを示している場合(S1004:YES)、バイパス経路を経たPTPパケットであるため出力タイミングの制御が必要となり、処理がS1005に進む。
一方、S1004で転送キュー情報がPTPパケット向けを示している場合(S1004:YES)、バイパス経路を経たPTPパケットであるため出力タイミングの制御が必要となり、処理がS1005に進む。
S1005で出力制御部212は、カウント保持部210から入力されるカウント値254と、カウンタ部209から入力されるカウント値251との差分が閾値以上になるまで待機状態(S1005:NO)となる。そして、カウント値251、254の差分が閾値以上になると(S1005:YES)、処理がS1006に進む。
閾値は事前に固定値として設計されてもよいし、出力制御部212にレジスタが備えられてCPU213から設定されてもよい。閾値の設定値は少なくとも通信装置101が最大で扱うパケット長から算出される。例えば、通信装置101で扱う最大パケット長が8000バイト、PHY部201、202での接続リンク速度が10Gであれば、閾値の最小値は下記となる。
最小閾値=(8000×8)÷(10×109)=6.4マイクロ秒
パケット解析部205やバイパス部206など、経路の途中に固定レイテンシの発生する要素が存在する場合、6.4マイクロ秒に固定レイテンシの値が加算されてもよい。
また、ストアアンドフォワードタイプのバッファが送信バッファ部211の他にも経路上に存在する場合には、最小閾値が、6.4マイクロ秒×バッファ数+固定レイテンシと算出される。
つまり、一定の滞留時間として、第1通信手段および第2通信手段におけるリンク速度、通信パケットにおける最大パケット長、および、第1通信手段から第2通信手段までに生じる固定レイテンシの少なくとも1つに基づいた時間が用いられることが望ましい。
パケット解析部205やバイパス部206など、経路の途中に固定レイテンシの発生する要素が存在する場合、6.4マイクロ秒に固定レイテンシの値が加算されてもよい。
また、ストアアンドフォワードタイプのバッファが送信バッファ部211の他にも経路上に存在する場合には、最小閾値が、6.4マイクロ秒×バッファ数+固定レイテンシと算出される。
つまり、一定の滞留時間として、第1通信手段および第2通信手段におけるリンク速度、通信パケットにおける最大パケット長、および、第1通信手段から第2通信手段までに生じる固定レイテンシの少なくとも1つに基づいた時間が用いられることが望ましい。
上記S1006で出力制御部212は、第2MAC部204へパケットを分割せずに1パケット分出力し、更新要求255を出力する。その後、処理がS1008へ進み、上述したように、処理が終了する(S1009)か、あるいはS1002に戻る。
上記説明のように、出力制御部212は送信バッファ部213から入力された通信パケットを第2MAC部204へ入力する。通信部101内での滞留時間の固定が必要となるバイパス中のみ出力制御部212はPTPパケットに対して第2MAC部204への出力(入力)タイミングを制御する。
上記説明のように、出力制御部212は送信バッファ部213から入力された通信パケットを第2MAC部204へ入力する。通信部101内での滞留時間の固定が必要となるバイパス中のみ出力制御部212はPTPパケットに対して第2MAC部204への出力(入力)タイミングを制御する。
なお、送信バッファ部213からは通信パケットの先頭から最後までvalid信号がHighで入力されてくるので、出力制御部212は、内部のセレクタで信号が結線される仕様でもよい。即ち、第2MAC部204へvalid信号が内部のセレクタで結線され、第2MAC部204のReady信号が送信バッファ部211へ内部のセレクタで結線される。
この仕様の場合は、S1006とS1007において内部のセレクタにより送信バッファ部213と第2MAC部204が論理上接続される。そして、S1006およびS1007を除く他のステップでは、第2MAC部204へのvalid信号および送信バッファ部211へのReady信号はLowが出力される。
本実施形態では、出力制御部212が送信バッファ部213から通信パケットを受け取り、滞留時間を制御して第2MAC部204へ入力するが、出力制御部212は、送信バッファ部213自体の出力タイミングを制御するものであってもよい。この場合、送信バッファ部213から通信パケットが第2MAC部204へ直接入力される。
この仕様の場合は、S1006とS1007において内部のセレクタにより送信バッファ部213と第2MAC部204が論理上接続される。そして、S1006およびS1007を除く他のステップでは、第2MAC部204へのvalid信号および送信バッファ部211へのReady信号はLowが出力される。
本実施形態では、出力制御部212が送信バッファ部213から通信パケットを受け取り、滞留時間を制御して第2MAC部204へ入力するが、出力制御部212は、送信バッファ部213自体の出力タイミングを制御するものであってもよい。この場合、送信バッファ部213から通信パケットが第2MAC部204へ直接入力される。
以上説明したように、バイパス指示部216からバイパス指示253が出力されると、バイパス部206は、第1MAC部203から受け取るパケットを第1転送部207ではなく送信バッファ部211へ出力し、通信装置101内でバイパスが行われる。バイパス状態ではPTPパケットに限り、カウント保持部210でパケットを受信したときのカウント値が保持される。出力制御部212は保持されたカウント値と現在のカウント値との差分が閾値を超えてから第2MAC部204へPTPパケットを出力(入力)する。
以上の処理により、通信装置101は、バイパス状態においてPTPパケットが通信装置101内で滞留する時間を一定に保つ。そのため、通信装置101がバイパス状態でTCによる時刻補正処理を行えなくても、他の通信装置101ではPTPによる時刻同期を高精度に保つことが可能となる。
バイパス状態でPTPパケットの滞留時間を一定に保つ別の仕様として、例えば通信装置101内にカウントダウンタイマが複数具備される仕様も考えられる。この仕様では、PTPパケットが受信された(検知された)タイミングでカウントダウンタイマが開始され、タイマが発火していたら対応するPTPパケットが出力される。
この仕様では、カウントダウンタイマとPTPパケットとの対応を取るために、例えば識別情報がsideband信号としてパケットに付与される。カウントダウンタイマの数は送信バッファ部211に格納できるPTPパケット数をもとに設定されてもよいし、固定数でもよい。カウントダウンされる時間は、上述した最小閾値と同様に、最大パケット長と接続リンク速度と固定レイテンシから算出可能である。
この仕様では、カウントダウンタイマとPTPパケットとの対応を取るために、例えば識別情報がsideband信号としてパケットに付与される。カウントダウンタイマの数は送信バッファ部211に格納できるPTPパケット数をもとに設定されてもよいし、固定数でもよい。カウントダウンされる時間は、上述した最小閾値と同様に、最大パケット長と接続リンク速度と固定レイテンシから算出可能である。
第1実施形態では、送信バッファ部211を1つ備える例が示されているが、PTPパケットを止める処理が発生するため、通信帯域が最大限に使用されている状態では次第に送信バッファ部211に通信パケットが溜まっていくことが予想される。送信バッファ部211はFIFOメモリであるため、先に入った通信パケットが出力されないと後続のPTPパケットが出力できないからである。
そこで、以下説明する第2実施形態では、送信バッファ部を2つ備えた構成が採用される。以下では、第1実施形態との相違点に着目した説明を行い、第1実施形態と同様の要素については同一の符号を付与することで重複説明を省略する。
図11は、第2実施形態に係る通信装置101の構成例を示すブロック図である。
第2実施形態に係る通信装置101は、第1送信バッファ部301と第2送信バッファ部302とを備え、第1送信バッファ部301はPTPパケット専用として使用される。つまり、第2実施形態では、バッファとして、同期パケットを保持する第1のバッファと、同期パケット以外の通信パケットを保持する第2のバッファとを備えている。
各送信バッファ部301、302は、第1実施形態における送信バッファ部211と同様の機能を有し、各々がバッファ使用量情報350、351として、バッファで使用されている段数を出力する。なお、第1送信バッファ部301と第2送信バッファ部302とでバッファ総量は、統一の必要はない。
第2実施形態に係る通信装置101は、第1送信バッファ部301と第2送信バッファ部302とを備え、第1送信バッファ部301はPTPパケット専用として使用される。つまり、第2実施形態では、バッファとして、同期パケットを保持する第1のバッファと、同期パケット以外の通信パケットを保持する第2のバッファとを備えている。
各送信バッファ部301、302は、第1実施形態における送信バッファ部211と同様の機能を有し、各々がバッファ使用量情報350、351として、バッファで使用されている段数を出力する。なお、第1送信バッファ部301と第2送信バッファ部302とでバッファ総量は、統一の必要はない。
第2実施形態に係る通信装置101は、振り分け部303を備えている。振り分け部303はバイパス部206が出力する通信パケットを付与情報と共に第1送信バッファ部301と第2送信バッファ部302とに振り分ける。
第2実施形態に係る通信装置101では、パケット解析部304および出力制御部305で、第1実施形態とは機能が相違している。第2実施形態のパケット解析部304は、第1実施形態のパケット解析部205と同様に、第1MAC部203から出力される通信パケットに転送キュー情報やバイパス情報を付与する。但し、第2実施形態のパケット解析部304は、通信パケットの破棄判定に、第1送信バッファ部301と第2送信バッファ部302それぞれから出力されるバッファ使用量情報350、351を用いる。
第2実施形態に係る通信装置101では、パケット解析部304および出力制御部305で、第1実施形態とは機能が相違している。第2実施形態のパケット解析部304は、第1実施形態のパケット解析部205と同様に、第1MAC部203から出力される通信パケットに転送キュー情報やバイパス情報を付与する。但し、第2実施形態のパケット解析部304は、通信パケットの破棄判定に、第1送信バッファ部301と第2送信バッファ部302それぞれから出力されるバッファ使用量情報350、351を用いる。
第2実施形態では、バイパス状態で第1MAC部203が出力する通信パケットは、バイパス部206により、第1転送部207を経ずに第1送信バッファ部301もしくは第2送信バッファ部302へ出力される。これにより通信装置101内で通信パケットのバイパスが実現する。
以下、振り分け部303と、パケット解析部304と、出力制御部305の詳細な処理動作について、フローチャートを参照しながら説明する。
図12は、第2実施形態のパケット解析部304における処理動作を示すフローチャートである。
図12は、第2実施形態のパケット解析部304における処理動作を示すフローチャートである。
図12では、図7のフローチャートのステップと同様の処理を行うステップについては同一符号を付しており、重複説明は省略する。
図12のフローではS704が無く、S703でバイパス指示が受信中の場合(S703:YES)、処理がS705に進む。
図12のフローではS704が無く、S703でバイパス指示が受信中の場合(S703:YES)、処理がS705に進む。
また、図12のフローでは、S706でイーサタイプ領域がPTPパケットを示す(つまり、0x88f7である)か否かの判定で、PTPパケットを示していた場合(S706:YES)、処理がS1201に進む。S1201でパケット解析部304は、第1送信バッファ部301から出力されたバッファ使用量情報350に基づいて、第1送信バッファ部301の使用量が閾値以上であるか否かを判定する。
第1送信バッファ部301の使用量が閾値以上でない場合(S1201:NO)、パケット解析部304はS707で、カウント保持部210に対してカウント保持要求252を出力する。一方、第1送信バッファ部301の使用量が閾値以上である場合(S1201:YES)、処理がS711に進みパケット解析部304は、S702で検知したPTPパケットを破棄する。つまり、パケット解析部304は、第1のバッファの容量が不足する場合に同期パケットを破棄する。
上記S706でイーサタイプ領域がPTPパケットを示していなかった場合(S706:NO)、処理がS1202に進む。S1202でパケット解析部304は、第2送信バッファ部302から出力されたバッファ使用量情報351に基づいて、第2送信バッファ部302の使用量が閾値以上であるか否かを判定する。
第2送信バッファ部302の使用量が閾値以上でない場合(S1202:NO)、パケット解析部304はS707をスキップしてS708で、通信パケットを転送キュー情報およびバイパス情報と一緒にバイパス部206へ出力する。一方、第2送信バッファ部302の使用量が閾値以上である場合(S1202:YES)、処理がS711に進みパケット解析部304は、S702で検知した通信パケットを破棄する。つまり、パケット解析部304は、第2のバッファの容量が不足する場合に同期パケット以外の通信パケットを破棄する。
S1201およびS1202で用いられる閾値は、固定値として設定されてもよいし、パケット解析部304にレジスタが備えられてCPU213から設定される仕様であってもよい。また、閾値はS1201とS1202とで異なる値であってもよい。
図13は、第2実施形態の振り分け部303における処理動作を示すフローチャートである。
振り分け部303は、図13に示す処理動作を、通信装置101の電源がONになった場合およびリセット状態が解除された場合に開始する(S1301)。
S1302で振り分け部303は、パイパス部206からパケット出力を検知したか否かを判定する。パケット出力を検知していない場合(S1302:NO)、処理がS1306に進み、振り分け部303は、終了指示を受信したか否かを判定する。終了指示を受信した場合(S1306:YES)、振り分け部303は図13に示す処理動作を終了する(S1307)。終了指示としては、CPU213によるリセット要求やユーザによる基板上のリセットボタンの押下などがある。S1306で終了指示が受信されていない場合(S1306:NO)、処理がS1302へ戻る。
振り分け部303は、図13に示す処理動作を、通信装置101の電源がONになった場合およびリセット状態が解除された場合に開始する(S1301)。
S1302で振り分け部303は、パイパス部206からパケット出力を検知したか否かを判定する。パケット出力を検知していない場合(S1302:NO)、処理がS1306に進み、振り分け部303は、終了指示を受信したか否かを判定する。終了指示を受信した場合(S1306:YES)、振り分け部303は図13に示す処理動作を終了する(S1307)。終了指示としては、CPU213によるリセット要求やユーザによる基板上のリセットボタンの押下などがある。S1306で終了指示が受信されていない場合(S1306:NO)、処理がS1302へ戻る。
S1302でパケット出力を検知した場合(S1302:YES)、振り分け部303はS1303で、検知したパケットに付与された転送キュー情報がPTPパケット向けを示しているか否かを判定する。
転送キュー情報がPTPパケット向けを示している場合(S1303:YES)、検知された通信パケットはPTPパケットであるので、振り分け部303はS1304で、検知したPTPパケットを付与情報とともに第1送信バッファ部301へ出力する。PTPパケットの出力後、処理がS1306に進み、上述したように、処理が終了する(S1307)か、あるいはS1302に戻る。
転送キュー情報がPTPパケット向けを示している場合(S1303:YES)、検知された通信パケットはPTPパケットであるので、振り分け部303はS1304で、検知したPTPパケットを付与情報とともに第1送信バッファ部301へ出力する。PTPパケットの出力後、処理がS1306に進み、上述したように、処理が終了する(S1307)か、あるいはS1302に戻る。
上記S1303で転送キュー情報がPTPパケット向けを示していない場合(S1303:NO)、検知された通信パケットはPTPパケット以外である。このため振り分け部303はS1305で、通信パケットを付与情報とともに第2送信バッファ部302へ出力する。通信パケットの出力後、処理がS1306に進み、上述したように、処理が終了する(S91307)か、あるいはS1302に戻る。
図13に示す処理動作によって、振り分け部303は、バイパス部206から受け取る通信パケットを、第1送信バッファ部301と第2送信バッファ部302とに振り分ける。
図14は、第2実施形態の出力制御部305における処理動作を示すフローチャートである。
出力制御部305は、図14に示す処理動作を、通信装置101の電源がONになった場合およびリセット状態が解除された場合に開始する(S1401)。
S1402で出力制御部305は、第1送信バッファ部301からパケット出力を検知したか否かを判定する。パケット出力を検知した場合(S1402:YES)、出力制御部305はS1403で、検知した通信パケットにバイパス情報が付与されているか否かを判定する。
出力制御部305は、図14に示す処理動作を、通信装置101の電源がONになった場合およびリセット状態が解除された場合に開始する(S1401)。
S1402で出力制御部305は、第1送信バッファ部301からパケット出力を検知したか否かを判定する。パケット出力を検知した場合(S1402:YES)、出力制御部305はS1403で、検知した通信パケットにバイパス情報が付与されているか否かを判定する。
バイパス情報が付与されている場合(S1403:YES)、検知した通信パケットはバイパス経路で伝達されてきたPTPパケットなので出力(入力)タイミングの制御が必要となり、処理がS1404に進む。S1404で出力制御部305は、カウント保持部210から入力されるカウント値254と、カウンタ部209から入力されるカウント値251との差分が閾値以上になるまで待機状態(S1404:NO)となる。
S1404における閾値の最小値は、図10のS1005における閾値の最小値と同様でよい。但し、第2実施形態では振り分け部304が備えられるので、固定レイテンシが加算される場合は、振り分け部304の分だけ加算値が大きくなる。
カウント値251、254の差分が閾値以上になると(S1404:YES)、処理がS1405に進む。S1405で出力制御部305は、第2MAC部204へPTPパケットを分割せずに1パケット分出力(入力)し、更新要求255を出力する。
カウント値251、254の差分が閾値以上になると(S1404:YES)、処理がS1405に進む。S1405で出力制御部305は、第2MAC部204へPTPパケットを分割せずに1パケット分出力(入力)し、更新要求255を出力する。
その後、処理がS1409へ進み、出力制御部305は、終了指示を受信したか否かを判定する。終了指示を受信した場合(S1409:YES)、出力制御部305は図14に示す処理動作を終了する(S1410)。終了指示としては、CPU213によるリセット要求やユーザによる基板上のリセットボタンの押下などがある。S1409で終了指示が受信されていない場合(S1409:NO)、処理がS1402へ戻る。
上記S1403でバイパス情報が付与されていない場合(S1403:NO)、PTPパケットが通常経路で送られて来たので出力タイミングの制御は不要であり、処理がS1406に進む。S1406で出力制御部305は、第2MAC部204へPTPパケットを分割せずに1パケット分出力(入力)する。
上記S1402でパケット出力が検知されない場合(S1402:NO)、優先されるPTPパケットの出力がないので処理がS1407に進み、出力制御部305は、第2送信バッファ部302からパケット出力を検知したか否かを判定する。S1407でもパケット出力が検知されない場合(S1407:NO)、処理がS1409へ進み、上述したように、処理が終了する(S1410)か、あるいはS1402に戻る。
第2送信バッファ部302からパケット出力を検知した場合(S1407:YES)、処理がS1408に進み出力制御部305は、第2MAC部204へ通信パケットを分割せずに1パケット分出力(入力)する。その後、処理がS1409へ進み、上述したように、処理が終了する(S1410)か、あるいはS1402に戻る。
図14の処理動作により、出力制御部305は、第1のバッファに保持された同期パケットを、第2のバッファに保持された通信パケットに優先して第2通信手段に入力する。その結果、TCPパケットやアプリケーション部215の生成する通信パケットなどをPTPパケットが追い越し可能となる。また、図14の処理動作により、通信装置101内でのPTPパケットの滞留時間が一定となる。そのため、第2実施形態の場合も、通信装置101がバイパス状態でTCによる時刻補正処理を行えなくても、他の通信装置101ではPTPによる時刻同期を高精度に保つことが可能となる。
(その他の実施形態)
本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)などとしての実施形態をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インターフェース機器、Webアプリケーションなど)から構成されるシステムに適用されてもよいし、また、1つの機器からなる装置に適用されてもよい。
本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)などとしての実施形態をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インターフェース機器、Webアプリケーションなど)から構成されるシステムに適用されてもよいし、また、1つの機器からなる装置に適用されてもよい。
また本発明は、上述した実施形態の1以上の機能を実現するプログラム(コンピュータプログラム)を、ネットワークまたは記録媒体(記憶媒体)を介して、システムまたは装置に供給することによっても実現可能である。そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出して実行する。この場合、記録媒体から読み出されたプログラム(プログラムコード)自体が実施形態の機能を実現することになる。また、当該プログラムを記録した記録媒体は本発明を構成することができる。
また、コンピュータが読み出したプログラムを実行することにより、実施形態の機能が実現されるだけでなく、プログラムの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって上記した実施形態の機能が実現されてもよい。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現されてもよい。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムが格納されることになる。
なお、上記実施形態の開示は、以下の構成および方法を含む。
なお、上記実施形態の開示は、以下の構成および方法を含む。
(構成1)
第1通信線からパケットが入力されて当該パケットを出力する第1通信手段と、
前記パケットが入力されて当該パケットを第2通信線へと出力する第2通信手段と、
前記パケットを処理する処理手段と、
前記第1通信手段から出力された前記パケットを前記第2通信手段に入力する経路を、前記処理手段がアクセス可能なアクセス個所を経る通常経路と、前記アクセス個所を経ないバイパス経路とに切替え可能な切替え手段と、
前記バイパス経路の途上で前記パケットをバッファにより保持し、当該パケットのデータを連続データとして前記第2通信手段に入力し、当該パケットが時刻同期用の同期パケットである場合には、前記第1通信手段による出力から一定時間経過したら当該パケットを当該第2通信手段に入力する調整手段と、
を備えることを特徴とする通信装置。
第1通信線からパケットが入力されて当該パケットを出力する第1通信手段と、
前記パケットが入力されて当該パケットを第2通信線へと出力する第2通信手段と、
前記パケットを処理する処理手段と、
前記第1通信手段から出力された前記パケットを前記第2通信手段に入力する経路を、前記処理手段がアクセス可能なアクセス個所を経る通常経路と、前記アクセス個所を経ないバイパス経路とに切替え可能な切替え手段と、
前記バイパス経路の途上で前記パケットをバッファにより保持し、当該パケットのデータを連続データとして前記第2通信手段に入力し、当該パケットが時刻同期用の同期パケットである場合には、前記第1通信手段による出力から一定時間経過したら当該パケットを当該第2通信手段に入力する調整手段と、
を備えることを特徴とする通信装置。
(構成2)
前記バッファがストアアンドフォワード型のバッファであることを特徴とする構成1に記載の通信装置。
前記バッファがストアアンドフォワード型のバッファであることを特徴とする構成1に記載の通信装置。
(構成3)
前記パケットに、当該パケットが前記同期パケットであるか否かを判別するための判別情報を付加する情報付加手段を更に備えたことを特徴とする構成1または2に記載の通信装置。
前記パケットに、当該パケットが前記同期パケットであるか否かを判別するための判別情報を付加する情報付加手段を更に備えたことを特徴とする構成1または2に記載の通信装置。
(構成4)
前記バッファの容量が不足する場合に前記パケットを破棄することを特徴とする構成1から3のいずれかに記載の通信装置。
前記バッファの容量が不足する場合に前記パケットを破棄することを特徴とする構成1から3のいずれかに記載の通信装置。
(構成5)
前記バッファとして、前記同期パケットを保持する第1のバッファと、当該同期パケット以外の前記パケットを保持する第2のバッファとを備えたことを特徴とする構成1から4のいずれかに記載の通信装置。
前記バッファとして、前記同期パケットを保持する第1のバッファと、当該同期パケット以外の前記パケットを保持する第2のバッファとを備えたことを特徴とする構成1から4のいずれかに記載の通信装置。
(構成6)
前記第1のバッファの容量が不足する場合に前記同期パケットを破棄することを特徴とする構成5に記載の通信装置。
前記第1のバッファの容量が不足する場合に前記同期パケットを破棄することを特徴とする構成5に記載の通信装置。
(構成7)
前記第2のバッファの容量が不足する場合に前記同期パケット以外の前記パケットを破棄することを特徴とする構成5または6に記載の通信装置。
前記第2のバッファの容量が不足する場合に前記同期パケット以外の前記パケットを破棄することを特徴とする構成5または6に記載の通信装置。
(構成8)
前記調整手段は、前記第1のバッファに保持された前記同期パケットを、前記第2のバッファに保持されたパケットに優先して前記第2通信手段に入力することを特徴とする構成5から7のいずれかに記載の通信装置。
前記調整手段は、前記第1のバッファに保持された前記同期パケットを、前記第2のバッファに保持されたパケットに優先して前記第2通信手段に入力することを特徴とする構成5から7のいずれかに記載の通信装置。
(構成9)
前記調整手段は、前記一定時間として、前記第1通信手段および前記第2通信手段におけるリンク速度、前記パケットにおける最大パケット長、および、前記第1通信手段から前記第2通信手段までに生じる固定レイテンシの少なくとも1つに基づいた時間を用いることを特徴とする構成1から8のいずれかに記載の通信装置。
前記調整手段は、前記一定時間として、前記第1通信手段および前記第2通信手段におけるリンク速度、前記パケットにおける最大パケット長、および、前記第1通信手段から前記第2通信手段までに生じる固定レイテンシの少なくとも1つに基づいた時間を用いることを特徴とする構成1から8のいずれかに記載の通信装置。
(構成10)
前記調整手段は、前記パケットの先頭データから最終データまでvalid信号をHighに維持して前記第2通信手段に入力することで当該パケットのデータを連続データとして入力することを特徴とする構成1から9のいずれかに記載の通信装置。
前記調整手段は、前記パケットの先頭データから最終データまでvalid信号をHighに維持して前記第2通信手段に入力することで当該パケットのデータを連続データとして入力することを特徴とする構成1から9のいずれかに記載の通信装置。
(構成11)
通信線を介してデイジーチェーン接続された複数の、構成1から10のいずれか1項に記載の通信装置と、
複数の前記通信装置のそれぞれと前記パケットを通信するサーバ装置と、
を備えることを特徴とする通信システム。
(方法1)
第1通信線からパケットが入力されて当該パケットを出力する第1通信手段と、
前記パケットが入力されて当該パケットを第2通信線へと出力する第2通信手段と、
前記パケットを処理する処理手段と、
を備える通信装置の制御方法であって、
前記第1通信手段から出力された前記パケットを前記第2通信手段に入力する経路を、前記処理手段がアクセス可能なアクセス個所を経る通常経路と、前記アクセス個所を経ないバイパス経路とに切替え可能な切替え工程と、
前記バイパス経路の途上で前記パケットをバッファにより保持し、当該パケットのデータを連続データとして前記第2通信手段に入力し、当該パケットが時刻同期用の同期パケットである場合には、前記第1通信手段による出力から一定時間経過したら当該パケットを当該第2通信手段に入力する調整工程と、
を備えることを特徴とする制御方法。
(構成12)
コンピュータを構成1から10の何れかに記載の通信装置の各手段として機能させるためのプログラム。
通信線を介してデイジーチェーン接続された複数の、構成1から10のいずれか1項に記載の通信装置と、
複数の前記通信装置のそれぞれと前記パケットを通信するサーバ装置と、
を備えることを特徴とする通信システム。
(方法1)
第1通信線からパケットが入力されて当該パケットを出力する第1通信手段と、
前記パケットが入力されて当該パケットを第2通信線へと出力する第2通信手段と、
前記パケットを処理する処理手段と、
を備える通信装置の制御方法であって、
前記第1通信手段から出力された前記パケットを前記第2通信手段に入力する経路を、前記処理手段がアクセス可能なアクセス個所を経る通常経路と、前記アクセス個所を経ないバイパス経路とに切替え可能な切替え工程と、
前記バイパス経路の途上で前記パケットをバッファにより保持し、当該パケットのデータを連続データとして前記第2通信手段に入力し、当該パケットが時刻同期用の同期パケットである場合には、前記第1通信手段による出力から一定時間経過したら当該パケットを当該第2通信手段に入力する調整工程と、
を備えることを特徴とする制御方法。
(構成12)
コンピュータを構成1から10の何れかに記載の通信装置の各手段として機能させるためのプログラム。
100…ネットワークシステム、101…通信装置、102…サーバ装置、
103…スイッチ装置、
104…グランドマスタ装置、
105、106…ケーブル、
201、202…PHY部、
203、204…MAC部、
205、304…パケット解析部
206…バイパス部、
207、208…転送部、
209…カウンタ部、
210…カウント保持部、
211、301、302…通信バッファ部
212、305…出力制御部
213…CPU、
214…メモリ、
215…アプリケーション部、
216…バイパス指示部、
217…バス、
303…振り分け部
103…スイッチ装置、
104…グランドマスタ装置、
105、106…ケーブル、
201、202…PHY部、
203、204…MAC部、
205、304…パケット解析部
206…バイパス部、
207、208…転送部、
209…カウンタ部、
210…カウント保持部、
211、301、302…通信バッファ部
212、305…出力制御部
213…CPU、
214…メモリ、
215…アプリケーション部、
216…バイパス指示部、
217…バス、
303…振り分け部
Claims (13)
- 第1通信線からパケットが入力されて当該パケットを出力する第1通信手段と、
前記パケットが入力されて当該パケットを第2通信線へと出力する第2通信手段と、
前記パケットを処理する処理手段と、
前記第1通信手段から出力された前記パケットを前記第2通信手段に入力する経路を、前記処理手段がアクセス可能なアクセス個所を経る通常経路と、前記アクセス個所を経ないバイパス経路とに切替え可能な切替え手段と、
前記バイパス経路の途上で前記パケットをバッファにより保持し、当該パケットのデータを連続データとして前記第2通信手段に入力し、当該パケットが時刻同期用の同期パケットである場合には、前記第1通信手段による出力から一定時間経過したら当該パケットを当該第2通信手段に入力する調整手段と、
を備えることを特徴とする通信装置。 - 前記バッファがストアアンドフォワード型のバッファであることを特徴とする請求項1に記載の通信装置。
- 前記パケットに、当該パケットが前記同期パケットであるか否かを判別するための判別情報を付加する情報付加手段を更に備えることを特徴とする請求項1に記載の通信装置。
- 前記バッファの容量が不足する場合に前記パケットを破棄することを特徴とする請求項1に記載の通信装置。
- 前記バッファとして、前記同期パケットを保持する第1のバッファと、当該同期パケット以外の前記パケットを保持する第2のバッファとを備えることを特徴とする請求項1に記載の通信装置。
- 前記第1のバッファの容量が不足する場合に前記同期パケットを破棄することを特徴とする請求項5に記載の通信装置。
- 前記第2のバッファの容量が不足する場合に前記同期パケット以外の前記パケットを破棄することを特徴とする請求項5に記載の通信装置。
- 前記調整手段は、前記第1のバッファに保持された前記同期パケットを、前記第2のバッファに保持されたパケットに優先して前記第2通信手段に入力することを特徴とする請求項5に記載の通信装置。
- 前記調整手段は、前記一定時間として、前記第1通信手段および前記第2通信手段におけるリンク速度、前記パケットにおける最大パケット長、および、前記第1通信手段から前記第2通信手段までに生じる固定レイテンシの少なくとも1つに基づいた時間を用いることを特徴とする請求項1に記載の通信装置。
- 前記調整手段は、前記パケットの先頭データから最終データまでvalid信号をHighに維持して前記第2通信手段に入力することで当該パケットのデータを連続データとして入力することを特徴とする請求項1に記載の通信装置。
- 通信線を介してデイジーチェーン接続された複数の、請求項1から10のいずれか1項に記載の通信装置と、
複数の前記通信装置のそれぞれと前記パケットを通信するサーバ装置と、
を備えることを特徴とする通信システム。 - 第1通信線からパケットが入力されて当該パケットを出力する第1通信手段と、
前記パケットが入力されて当該パケットを第2通信線へと出力する第2通信手段と、
前記パケットを処理する処理手段と、
を備える通信装置の制御方法であって、
前記第1通信手段から出力された前記パケットを前記第2通信手段に入力する経路を、前記処理手段がアクセス可能なアクセス個所を経る通常経路と、前記アクセス個所を経ないバイパス経路とに切替え可能な切替え工程と、
前記バイパス経路の途上で前記パケットをバッファにより保持し、当該パケットのデータを連続データとして前記第2通信手段に入力し、当該パケットが時刻同期用の同期パケットである場合には、前記第1通信手段による出力から一定時間経過したら当該パケットを当該第2通信手段に入力する調整工程と、
を備えることを特徴とする制御方法。 - コンピュータを請求項1から10の何れか1項に記載の通信装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022180888A JP2024070415A (ja) | 2022-11-11 | 2022-11-11 | 通信装置および、通信システム、制御方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022180888A JP2024070415A (ja) | 2022-11-11 | 2022-11-11 | 通信装置および、通信システム、制御方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024070415A true JP2024070415A (ja) | 2024-05-23 |
Family
ID=91128521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022180888A Pending JP2024070415A (ja) | 2022-11-11 | 2022-11-11 | 通信装置および、通信システム、制御方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024070415A (ja) |
-
2022
- 2022-11-11 JP JP2022180888A patent/JP2024070415A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11695708B2 (en) | Deterministic real time multi protocol heterogeneous packet based transport | |
US7242736B2 (en) | Data transfer | |
JPH0817389B2 (ja) | データ伝送方法およびそれに用いるネットワーク | |
JP5466788B2 (ja) | 集中制御を用いないネットワークにおける、同期したセルロック送信を提供する装置及び方法 | |
EP1130842B1 (en) | Communications interface between clock domains with minimal latency | |
JP2004537871A (ja) | 高性能ネットワーク・スイッチ | |
EP4030646B1 (en) | Packet forwarding method, device and system | |
JP4823056B2 (ja) | 光伝送システム | |
CN111083070A (zh) | 时间触发机制工业以太网交换机设备 | |
EP1987615B1 (en) | Buffering schemes for optical packet processing | |
US9160661B2 (en) | Method and apparatus for full duplex serial shifting mode and switch mode data transmission | |
US6778526B1 (en) | High speed access bus interface and protocol | |
US6970961B1 (en) | Reliable and redundant control signals in a multi-master system | |
JP2024070415A (ja) | 通信装置および、通信システム、制御方法、およびプログラム | |
ES2265055T3 (es) | Proceso para el funcionamiento de un usuario final de un sistema de comunicacion isocrono y ciclico. | |
EP1894370B1 (en) | Electronic device, method for frame synchronization, and mobile device | |
WO2000067519A1 (en) | Buffer management method and apparatus | |
US7751312B2 (en) | System and method for packet switch cards re-synchronization | |
JP2006114028A (ja) | 複数のデバイスを同期デバイスに相互接続する装置 | |
US7415002B2 (en) | Circuit synchronization over asynchronous links | |
JP4076171B2 (ja) | 光tdmネットワーク管理方法、光tdmネットワーク管理プログラム、そのプログラムを記憶した記憶媒体および光tdmネットワーク管理装置 | |
JPH11177591A (ja) | 伝送媒体接続装置、伝送媒体接続制御装置、動作周期生成装置、および記録媒体 | |
JP2823548B2 (ja) | アクセス方法 | |
JPH09224039A (ja) | 遅延優先制御バッファの無瞬断切替装置及び切替方法 | |
KR100237389B1 (ko) | 근원지 동기 전송 방식을 사용하는 독립 동기 방식 시스템의 상호 연결망 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20240614 |