(57)【要約】【課題】同期周期の短縮化及び同期精度の向上を実現するとともに、複数の同期周期による機器間制御を可能とする。【解決手段】中継装置１００は、時刻同期のための同期データ、同期データ以外の通信データ、通信データに同期データが埋め込まれている合成データの少なくともいずれかを受信し、受信したデータが合成データであれば、合成データを同期データと通信データとに分離する。また、中継装置１００は、複数の経路から並行して受信した同期データと通信データの転送先が共通していれば、通信データに同期データを埋め込んで合成データを生成し、生成した合成データを転送先に転送する。【選択図】図１
2014096694.tif 000002
【特許請求の範囲】
【請求項１】
時刻同期のための同期データ、同期データ以外の通信データ、通信データに同期データが埋め込まれている合成データの少なくともいずれかを受信し、受信したデータが合成データであれば、合成データを同期データと通信データとに分離するデータ分離部を有することを特徴とする通信装置。
【請求項２】
前記データ分離部は、
複数のデータ受信経路に接続されており、
データ受信経路ごとに、同期データ、通信データ、合成データのいずれかを受信し、
前記通信装置は、更に、
前記データ分離部により受信された通信データ及び前記データ分離部により受信された合成データから分離された通信データの少なくともいずれかに、前記データ分離部により受信された同期データ及び前記データ分離部により受信された合成データから分離された同期データの少なくともいずれかを埋め込み、合成データを生成するデータ合成部を有することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記データ合成部は、
複数のデータ送信経路に接続されており、
前記通信装置は、更に、
前記データ分離部により受信された通信データ、前記データ分離部により受信された合成データから分離された通信データ、前記データ分離部により受信された同期データ、前記データ分離部により受信された合成データから分離された同期データが、それぞれ複数のデータ送信経路のうちのいずれのデータ送信経路から送信されるかを判定するデータ送信経路判定部を有し、
前記データ合成部は、
前記データ送信経路判定部により判定されたデータ送信経路が共通し、送信のタイミングが競合する通信データと同期データとを用いて合成データを生成し、生成した合成データを、対応するデータ送信経路から送信し、
データ送信経路が共通する同期データが存在しない通信データを、単独で、対応するデータ送信経路から送信し、
データ送信経路が共通する通信データが存在しない同期データを、単独で、対応するデータ送信経路から送信することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記データ送信経路判定部は、
異なるデータ受信経路から前記データ分離部により並行して受信された通信データ、同期データ、合成データに対して、通信データ、同期データ、合成データから分離された通信データ及び同期データが、それぞれ複数のデータ送信経路のうちのいずれのデータ送信経路から送信されるかを判定することを特徴とする請求項３に記載の通信装置。
【請求項５】
前記通信装置は、更に、
通信データを蓄積する通信データ受信バッファと、
同期データを蓄積する同期データ受信バッファとを有し、
前記データ分離部は、
受信したデータが合成データであれば、合成データを通信データと同期データとに分離し、分離した通信データを前記通信データ受信バッファに格納し、分離した同期データを前記同期データ受信バッファに格納し、受信したデータが通信データであれば、通信データを前記通信データ受信バッファに格納し、受信したデータが同期データであれば、同期データを前記同期データ受信バッファに格納し、
前記データ送信経路判定部は、
前記通信データ受信バッファ内の通信データと、前記同期データ受信バッファ内の同期データが、それぞれ複数のデータ送信経路のうちのいずれのデータ送信経路から送信されるかを判定することを特徴とする請求項３又は４に記載の通信装置。
【請求項６】
前記通信装置は、更に、
前記データ分離部により受信された同期データ、前記データ分離部により受信された合成データから分離された同期データの各々に対して、前記通信装置内の処理遅延時間を計測する処理遅延時間計測部を有し、
前記データ合成部は、
合成データに含ませて送信する同期データ、単独で送信する同期データの各々に、前記処理遅延時間計測部により計測された処理遅延時間を反映させることを特徴とする請求項３〜５のいずれかに記載の通信装置。
【請求項７】
前記通信装置は、
データを処理するための複数の処理経路を有し、
前記データ分離部は、
複数のデータ受信経路に接続されており、
データ受信経路ごとに、同期データ、通信データ、合成データのいずれかを受信し、
前記通信装置は、更に、
前記データ分離部により受信された通信データ、前記データ分離部により受信された合成データから分離された通信データ、前記データ分離部により受信された同期データ、前記データ分離部により受信された合成データから分離された同期データが、それぞれ複数の処理経路のうちのいずれの処理経路で処理されるかを判定する処理経路判定部を有することを特徴とする請求項１に記載の通信装置。
【請求項８】
時刻同期のための同期データの送信タイミングと、同期データ以外の通信データの送信タイミングが競合する場合に、通信データに同期データを埋め込み、通信データに同期データが埋め込まれた合成データを送信するデータ合成部を有することを特徴とする通信装置。
【請求項９】
前記データ合成部は、
複数のデータ送信経路に接続されており、
前記通信装置は、更に、
通信データ及び同期データが、それぞれ複数のデータ送信経路のうちのいずれのデータ送信経路から送信されるかを判定するデータ送信経路判定部を有し、
前記データ合成部は、
前記データ送信経路判定部により判定されたデータ送信経路が共通し、送信のタイミングが競合する通信データと同期データとを用いて合成データを生成し、生成した合成データを、対応するデータ送信経路から送信し、
データ送信経路が共通する同期データが存在しない通信データを、単独で、対応するデータ送信経路から送信し、
データ送信経路が共通する通信データが存在しない同期データを、単独で、対応するデータ送信経路から送信することを特徴とする請求項８に記載の通信装置。
【請求項１０】
コンピュータを、請求項１又は８に記載された通信装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時刻同期のための同期データ、同期データ以外の通信データを通信する通信システムに関する。
【背景技術】
【０００２】
通信システムにおける従来の同期確立方式では、データ通信を行うネットワーク線と併設した同期専用線にパルスを入力し、ネットワーク接続された各機器がこのパルスを検出したタイミングで同期している。
しかしこの方式では、複数の周期の周期パルスを区別することが不可能なため、単一周期のパルスに限定されている。
また、通信速度の向上に伴い、同期周期の短縮も必要となり、同期専用線のケーブルコスト高や高速化による消費電力増への影響がある。
【０００３】
また別方式として、専用線を敷設せず、時刻同期のための同期データと、同期データ以外の通信データとを単一線に混合して伝搬し、同期を確立する方式がある（例えば、特許文献１）。
しかし、同期データと通信データとを単一線に混合して伝搬する場合は、通信データの伝搬中は、同期データの伝搬が阻害され、各機器への同期データの到達時間にバラツキが生じ、同期精度を上げられないという課題がある。
これに対しては、通信データ長を小さくすることや、通信経路での遅延時間を元に送信優先度を変える（同期データの優先度を高くする）ことで、同期データの伝送遅延を抑えるという方式がある。
しかし、前者は通信データのスループットの低下を招き、後者は同期データについて最大遅延時間しか保証できないという課題がある。
また、あるいは、データ通信を時分割方式にして、同期データ送信期間をデータ通信期間の空きに確保することで、同期精度の向上を図ることが可能だが、この場合は同期周期は単一に限るという制約がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１０９３５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、上述の事情に鑑みたものであり、同期周期の短縮化及び同期精度の向上を実現するとともに、複数の同期周期による機器間制御を可能とすることを主な目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る通信装置は、
時刻同期のための同期データ、同期データ以外の通信データ、通信データに同期データが埋め込まれている合成データの少なくともいずれかを受信し、受信したデータが合成データであれば、合成データを同期データと通信データとに分離するデータ分離部を有することを特徴とする。
【発明の効果】
【０００７】
本発明の通信装置は、合成データを受信した場合に、合成データを同期データと通信データとに分離することができるため、データの送信元において通信データの送信中に同期データの送信が必要になった場合にも通信データに同期データを埋め込んだ合成データを送信することができ、通信データの送信が完了するまで同期データの送信を待つ必要がなく、同期データの送信を早期化できるため、同期周期の短縮化及び同期精度の向上を実現することができる。
また、複数の同期周期に対応した同期データを送信することができ、複数の同期周期による機器間制御が可能となる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る同期データ及び通信データに対する処理の概要を示す図。
【図２】実施の形態１に係る中継装置の構成例を示す図。
【図３】実施の形態１に係るパケットのフォーマット例を示す図。
【図４】実施の形態１に係る通信データパケット及び同期データパケットのフォーマット例を示す図。
【図５】実施の形態１に係る合成データパケットのフォーマット例を示す図。
【図６】実施の形態１に係るデータ分離部の動作例を示すフローチャート図。
【図７】実施の形態１に係る通信データスイッチ部の動作例を示すフローチャート図。
【図８】実施の形態１に係る同期データスイッチ部の動作例を示すフローチャート図。
【図９】実施の形態１に係るデータ合成部の動作例を示すフローチャート図。
【図１０】実施の形態２に係る通信機器の構成例を示す図。
【図１１】実施の形態１及び２に係る中継装置及び通信機器のハードウェア構成例を示す図。
【発明を実施するための形態】
【０００９】
実施の形態１．
本実施の形態では、ネットワークに接続された機器間で同期を確立し、複数の機器が連携して制御を行うシステムを説明する。
より具体的には、受信データより通信データと同期データを分離する手段と、分離した各データを格納する手段と、各データの宛先を判定して振り分ける手段と、宛先毎に通信データと同期データを個別に格納する手段と、通信データと同期データを合成して送信する手段と、同期データの伝送遅延を計測する手段を備える通信装置を説明する。
【００１０】
図１は、実施の形態１に係る通信システムにおける同期データ及び通信データに対する処理の概要を示す。
本実施の形態に係る通信システムは、図１（ｂ）に示すように、中継装置ａ１００ａ、中継装置ｂ１００ｂ、通信機器ｋ２００ｋ、通信機器ｍ２００ｍ、通信機器ｎ２００ｎ、通信機器ｐ２００ｐ及び通信機器ｑ２００ｑで構成される。
なお、中継装置ａ１００ａ及び中継装置ｂ１００ｂを区別する必要がない場合は、両者を総称して中継装置１００と表記する。
また、通信機器ｋ２００ｋ、通信機器ｍ２００ｍ、通信機器ｎ２００ｎ、通信機器ｐ２００ｐ及び通信機器ｑ２００ｑを区別する必要がない場合は、これらを総称して通信機器２００と表記する。
なお、中継装置１００及び通信機器２００は、それぞれ、通信装置の例に相当する。
【００１１】
図１（ｂ）に示す通信機器２００は、それぞれ、通信データのパケット（以下、通信データパケットという）を送受信するとともに同期データのパケット（以下、同期データパケットという）を送受信する。
なお、同期データは、前述したように時刻同期のためのデータである。
通信データは同期データ以外のデータであり、どのような情報を通知するデータであってもよい。
図１（ｂ）では、通信機器ｎ２００ｎと通信機器ｑ２００ｑの間で同期をとるために、通信機器ｎ２００ｎが通信機器ｑ２００ｑ宛てに同期周期Ｎの同期データＮを送信している。
また、通信機器ｍ２００ｍと通信機器ｐ２００ｐの間で同期をとるために、通信機器ｍ２００ｍが通信機器ｐ２００ｐ宛てに同期周期Ｍの同期データＭを送信している。
また、通信機器ｋ２００ｋが通信機器ｐ２００ｐ宛てに通信データを送信している。
【００１２】
図１（ｂ）に示す中継装置１００は、それぞれ、データの中継を行う。
中継装置１００は、通信データパケット、同期データパケットをそれぞれ異なるタイミングで受信した場合には、通信データパケット及び同期データパケットをそのまま転送先に転送する。
一方、通信データパケットの受信中に同期データパケットを受信した場合には、通信データパケットと同期データパケットの転送先が同じであれば、中継装置１００は、通信データパケットに同期データパケットを埋め込んで合成データのパケット（以下、合成データパケットという）とし、合成データパケットを転送先に転送する。
図１（ｂ）の例では、中継装置ａ１００ａは、通信機器ｋ２００ｋからの通信データパケットの受信中に通信機器ｎ２００ｎからの同期データＮのパケットを受信したため、両者を合成し、合成により得られた合成データパケット（通信データ＋同期データＮ）を中継装置ｂ１００ｂに転送している。
【００１３】
また、中継装置１００は、合成データパケットを受信した場合に、合成データパケットを通信データパケットと同期データパケットとに分離し、分離した通信データパケットと同期データパケットを、それぞれの転送先に転送する。
図１（ｂ）の例では、中継装置ｂ１００ｂは、中継装置ａ１００ａから合成データパケット（通信データ＋同期データＮ）を受信し、受信した合成データパケットを通信データパケットと同期データＮのパケットに分離し、通信データパケットを通信機器ｐ２００ｐに転送し、同期データＮのパケットを合成データパケットに含ませて通信機器ｑ２００ｑに転送している。
【００１４】
また、中継装置１００は、合成データパケット、同期データパケットをそれぞれ異なるタイミングで受信した場合には、合成データパケットから分離された通信データパケットと同期データパケットとをそのまま転送先に転送するとともに、別のタイミングで入力した同期データパケットをそのまま転送先に転送する。
一方、合成データパケットの受信中に同期データパケットを受信した場合には、中継装置１００は、合成データパケットから分離された通信データパケットと、合成データパケットに並行して受信された同期データパケットの転送先が同じであれば、通信データパケットに同期データパケットを埋め込んで合成データパケットとし、合成データパケットを転送先に転送する。
図１（ｂ）の例では、中継装置ｂ１００ｂは、中継装置ａ１００ａから合成データパケット（通信データ＋同期データＮ）の受信中に通信機器ｍ２００ｍからの同期データＭのパケットを受信したため、合成データパケットから分離された通信データパケットと同期データＭのパケットを合成し、合成により得られた合成データパケット（通信データ＋同期データＭ）を通信機器ｐ２００ｐに転送している。
【００１５】
なお、本実施の形態では、合成は、通信データパケットと同期データパケットの間のみで行われ、通信データパケット同士の合成、同期データパケット同士の合成は行われない例を説明するが、通信データパケット同士の合成、同期データパケット同士の合成を行うようにしてもよい。
【００１６】
中継装置１００における合成及び分離は、図１（ａ）に示す方式により行われる。
【００１７】
中継装置ａ１００ａが、通信データパケットの受信と並行して同期データＮのパケットを受信した場合に、通信データパケットに同期データＮのパケットを埋め込んで合成データパケットとする。
図１（ａ）では、説明の便宜上、通信データパケットを（１）〜（４）に区分しており、中継装置ａ１００ａが通信データパケットの（２）の部分と同期データＮのパケットを並行して受信したため、（２）の部分と（３）の部分の間に同期データＮのパケットを埋め込んで、合成データパケットを生成している。
そして、中継装置ａ１００ａにより、この合成データパケットが中継装置ｂ１００ｂに転送される。
【００１８】
中継装置ｂ１００ｂでは、受信した合成データパケットから同期データＮのパケットを抽出する。
そして、中継装置ｂ１００ｂにより、同期データＮのパケットは通信機器ｑ２００ｑに転送される。
また、中継装置ｂ１００ｂは、合成データパケットの受信に並行して同期データＭのパケットを受信する。
中継装置ｂ１００ｂは、合成データパケットの（３）の部分と同期データＭのパケットを並行して受信したため、（３）の部分と（４）の部分の間に同期データＭのパケットを埋め込んで、合成データパケットを生成している。
そして、中継装置ｂ１００ｂにより、この合成データパケットが通信機器ｐ２００ｐに転送される。
通信機器ｐ２００ｐでは、この合成データパケットを受信し、通信データパケットと同期データパケットとに分離する。
【００１９】
なお、本実施の形態では、主に中継装置１００の動作について説明し、合成データパケットを受信した際の通信機器２００の動作は実施の形態２で説明する。
【００２０】
図２は、本実施の形態に係る中継装置ｂ１００ｂの構成例を示す。
図２では、説明の便宜上中継装置ｂ１００ｂの構成例を示しているが、中継装置ａ１００ａの構成例も同様である。
【００２１】
中継装置ｂ１００ｂは、複数のデータ受信経路と複数のデータ送信経路を有している。
図２では、データ受信経路ａとデータ受信経路ｍのみが明示されているが、他にもデータ受信経路が存在しているものとする。
同様に、図２では、データ送信経路ｐとデータ送信経路ｑのみが明示されているが、他にもデータ送信経路が存在しているものとする。
【００２２】
図２では、図１（ｂ）の例に合わせて、データ受信経路ａにおいて、中継装置ａ１００ａからの合成データパケット（通信データ＋同期データＮ）を受信し、並行して、データ受信経路ｍにおいて、通信機器ｍ２００ｍからの同期データＭのパケットを受信する例が示されている。
しかしながら、中継装置ｂ１００ｂは、データ受信経路ａから、通信データパケットを単独で受信する場合もあり、同期データＭのパケットを単独で受信する場合もある。
同様に、中継装置ｂ１００ｂは、データ受信経路ｍから、通信データパケットを単独で受信する場合もあり、合成データパケットを受信する場合もある。
また、図２では、図１（ｂ）の例に合わせて、データ送信経路ｐから合成データパケット（通信データ＋同期データＭ）を通信機器ｍ２００ｍに送信し、データ送信経路ｑから同期データＮのパケットを通信機器ｑ２００ｑに送信する例が示されている。
しかしながら、中継装置ｂ１００ｂは、データ送信経路ｐから、通信データパケットを単独で送信する場合もあり、同期データＮのパケットを単独で送信する場合もある。
同様に、中継装置ｂ１００ｂは、データ送信経路ｑから、通信データパケットを単独で送信する場合もあり、合成データパケットを送信する場合もある。
【００２３】
データ受信経路ａで受信した合成データパケットはデータ分離部１０１ａにて、通信データパケットと同期データＮのパケットに分離される。
データ分離部１０１ａで分離された通信データパケットは通信データ受信バッファ１０２ａに格納され、同期データＮのパケットは同期データ受信バッファ１０３ａに格納される。
なお、データ分離部１０１ａは、図２には図示していないが、通信データパケットについて受信済のデータサイズをカウントするためのカウンタである通信データカウンタと、同期データパケットについて受信済のデータサイズをカウントするためのカウンタである同期データカウンタを有する。
【００２４】
図２の例では、データ受信経路ｍからは同期データＭのパケットが受信されるので、データ分離部１０１ｍは同期データＭを同期データ受信バッファ１０３ｍに格納する。
データ分離部１０１ｍは、通信データパケットを単独で受信する場合もあり、合成データパケット（通信データ＋同期データＭ）を受信する場合もある。
データ受信経路ｍから合成データパケット（通信データ＋同期データＭ）を受信した場合は、データ分離部１０１ｍはデータ分離部１０１ａと同様に、合成データパケットを通信データパケットと同期データパケットＭとに分離し、分離後の通信データパケットを通信データ受信バッファ１０２ｍに格納し、分離後の同期データパケットＭを同期データ受信バッファ１０３ｍに格納する。
なお、データ分離部１０１ｍも、通信データパケットについて受信済のデータサイズをカウントするためのカウンタである通信データカウンタと、同期データパケットについて受信済のデータサイズをカウントするためのカウンタである同期データカウンタを有する。
【００２５】
通信データスイッチ部１０４は、通信データ受信バッファ１０２ａ及び通信データ受信バッファ１０２ｍから通信データパケットを読み出し、読み出した通信データパケットの宛先を判定し、宛先競合の調停を行った後、宛先に対応する出力線に通信データパケットを出力する。
具体的には、図２の例では、通信データ受信バッファ１０２ａから読み出した通信データパケットは通信機器ｐ２００ｐを宛先とするので、通信データ送信バッファ１０６ｐに格納される。
一方、図２の例では、通信データ受信バッファ１０２ｍには通信データパケットが格納されていないので、通信データ送信バッファ１０６ｍには通信データパケットは出力されない。
【００２６】
同期データスイッチ部１０５は、同期データ受信バッファ１０３ａ及び同期データ受信バッファ１０３ｍから同期データパケットを読み出し、読み出した同期データパケットの宛先を判定し、宛先競合の調停を行った後、宛先に対応する出力線に同期データパケットを出力する。
具体的には、図２の例では、同期データ受信バッファ１０３ａから読み出した同期データパケットＮは通信機器ｑ２００ｑを宛先とし、データ送信経路ｑから送信されるので、同期データ送信バッファ１０７ｑに格納される。
また、同期データ受信バッファ１０３ｍから読み出した同期データパケットＭは通信機器ｐ２００ｐを宛先とし、データ送信経路ｐから送信されるので、同期データ送信バッファ１０７ｐに格納される。
【００２７】
なお、通信データスイッチ部１０４及び同期データスイッチ部１０５は、データ送信経路判定部の例に相当する。
【００２８】
図２では、図示を省略しているが、データ合成部１０８ｐは、データ送信経路ｐから送信するパケットを生成するためのパケット生成バッファを有している。
データ合成部１０８ｐは、通信データ送信バッファ１０６ｐ及び同期データ送信バッファ１０７ｐから通信データパケットのデータ、同期データパケットのデータを読み出し、読み出したデータをパケット生成バッファに格納し、パケット生成バッファ内のデータをパケットとしてデータ送信経路ｐから通信機器ｐ２００ｐに送信する。
データ合成部１０８ｐは、通信データ送信バッファ１０６ｐの通信データパケットよりも同期データ送信バッファ１０７ｑの同期データパケットを優先してデータ送信経路ｐに送信するが、通信データパケットの送信中に、同期データ送信バッファ１０７ｐから同期データパケットを入力した場合は、送信中の通信データパケット内に同期データパケットを合成して合成データパケットとし、合成データパケットをデータ送信経路ｐに出力する。
図２の例では、データ合成部１０８ｐは、通信データパケットに同期データＭのパケットを挿入して合成データパケットとする。
【００２９】
データ合成部１０８ｑもデータ合成部１０８ｐと同様の動作を行うが、図２の例では、通信データ送信バッファ１０６ｑには通信データパケットは格納されていないので、データ合成部１０８ｑは同期データＮのパケットをそのままデータ送信経路ｑに出力する。
【００３０】
また、同期データ遅延計測部１０９は、同期データＮのパケット、同期データＭのパケットのそれぞれに対して、同期データパケットの受信から送信までの遅延時間を計測（予測）する。
同期データＮのパケットの場合は、データ分離部１０１ａによる合成データパケットの受信からデータ合成部１０８ｑによる同期データＮのパケットの送信までの処理遅延時間が計測され、同期データＭのパケットの場合は、データ分離部１０１ｍによる同期データＭのパケットの受信からデータ合成部１０８ｐによる合成データパケットの送信までの処理遅延時間が計測される。
なお、同期データ遅延計測部１０９は、処理遅延時間計測部の例に相当する。
【００３１】
そして、データ合成部１０８ｐ、データ合成部１０８ｑでは、同期データ遅延計測部１０９により予測した遅延時間と同期データ内に含まれる伝送遅延値を加算し、同期データ内の伝送遅延値を置き換える。
【００３２】
合成データパケットを受信する通信機器ｐ２００ｐでは、合成データパケットを通信データパケットと同期データパケットとに分離した後、同期データ内の伝送遅延値を抽出し、同期時刻の補正を行う。
【００３３】
なお、以下では、データ分離部１０１ａとデータ分離部１０１ｍを区別する必要がない場合は、両者を総称してデータ分離部１０１と表記する。
同様に、通信データ受信バッファ１０２ａと通信データ受信バッファ１０２ｍを区別する必要がない場合は、両者を総称して通信データ受信バッファ１０２と表記する。
同様に、同期データ受信バッファ１０３ａと同期データ受信バッファ１０３ｍを区別する必要がない場合は、両者を総称して同期データ受信バッファ１０３と表記する。
同様に、通信データ送信バッファ１０６ｐと通信データ送信バッファ１０６ｑを区別する必要がない場合は、両者を総称して通信データ送信バッファ１０６と表記する。
同様に、同期データ送信バッファ１０７ｐと同期データ送信バッファ１０７ｑを区別する必要がない場合は、両者を総称して同期データ送信バッファ１０７と表記する。
同様に、データ合成部１０８ｐとデータ合成部１０８ｑを区別する必要がない場合は、両者を総称してデータ合成部１０８と表記する。
【００３４】
通信データパケット、同期データパケットは、図３に示すパケットフォーマットに従う。
パケットは、ヘッダ部分とデータ部分に分けられる。
ヘッダ部分には、パケットタイプ、パケットサイズ、アドレス情報が格納されている。
パケットタイプは、通信データパケットであるか同期データパケットであるかが示される。
パケットサイズは、ヘッダを含むパケット全体のデータサイズが示される。
アドレス情報には、送信元の通信アドレス、送信先の通信アドレス等が示される。
なお、図３のパケットフォーマットは例示であり、図３と異なるパケットフォーマットを採用してもよい。
【００３５】
通信データパケットは、図４（ａ）に示すように、図３のヘッダ部分に相当する通信データヘッダと、データ部分に相当する通信データで構成される。
同期データパケットは、図４（ｂ）に示すように、図３のヘッダ部分に相当する同期データヘッダと、データ部分に相当する同期データで構成される。
通信データヘッダと同期データヘッダには、図３に示すように、パケットタイプ、パケットサイズ、アドレス情報が含まれている。
【００３６】
図５は、合成データパケットの例を示す。
図５の例では、通信データパケットの中間に同期データパケットが挿入された合成データパケットを示している。
本実施の形態では、通信データパケット部分と同期データパケット部分を区別するために、通信データと同期データヘッダの間にデリミタが配置されている。
図５の構成にて合成データパケット（通信データ＋同期データＮ）を受信したデータ分離部１０１ａは、合成データパケットの先頭に位置するパケットタイプ（通信データヘッダのパケットタイプ）を解析し、通信データパケットの受信を認識して、受信したデータを順次、通信データ受信バッファ１０２ａに格納する。
また、データ分離部１０１ａは、通信データヘッダのパケットサイズに記述されているパケットサイズを記憶する。
その後、デリミタを受信した後に、デリミタの直後のデータ（同期データヘッダのパケットタイプ）から、受信したデータを同期データ受信バッファ１０３ａに格納する。
また、データ分離部１０１ａは、同期データヘッダのパケットサイズに記述されているパケットサイズを記憶する。
そして、このパケットサイズ（同期データヘッダのパケットサイズの値）分のデータの受信が完了した際に通信データの受信を再開したと判断し、受信したデータを順次、通信データ受信バッファ１０２ａに格納する。
そして、データ分離部１０１ａは、通信データヘッダのパケットサイズに記述されているパケットサイズ分のデータの受信が完了した際に、合成データパケットを正常に受信できたと判断する。
【００３７】
また、データ合成部１０８ｐは、通信データ送信バッファ１０６ｐから通信データパケットを入力している間に、同期データ送信バッファ１０７ｐから同期データＮのパケットを入力した場合は、図５に示すように、デリミタを挿入し、デリミタの直後に同期データＮのパケットを送信するようにする。
そして、同期データＮのパケットの送信が完了したら、中断していた通信データパケットの送信を再開する。
【００３８】
次に、本実施の形態に係るデータ分離部１０１の動作例を図６のフローチャートを参照して説明する。
【００３９】
先ず、データ分離部１０１は、受信中のパケットの先頭にあるパケットタイプの記述を解析し、受信中のパケットが通信データパケットであるか否かを判断する（Ｓ６０１）。
受信中のパケットが通信データパケットである場合（Ｓ６０１でＹＥＳ）は、受信したデータを順次、通信データ受信バッファ１０２に格納する（Ｓ６０２）。
更に、データ分離部１０１は、通信データヘッダ内のパケットサイズの値をレジスタ等に記憶し、また、通信データパケットの受信に伴って通信データカウンタをインクリメントする（Ｓ６０３）。
なお、通信データカウンタでは、通信データヘッダを含む受信済のデータサイズをカウントする。
【００４０】
そして、データ分離部１０１は、デリミタを受信することなく、通信データパケットの受信を完了した場合（Ｓ６０４でＮＯ、Ｓ６０５でＹＥＳ）、すなわち、デリミタを受信することなく、通信データカウンタの値がレジスタ等に記憶したパケットサイズの値に等しくなった場合は、通信データパケットの受信が完了したので、通信データカウンタの値をリセットし（Ｓ６０６）、次のパケットの受信を待つ。
【００４１】
一方、通信データパケットの受信が完了する前にデリミタを受信した場合（Ｓ６０４でＹＥＳ）は、データ分離部１０１は、デリミタの直後のデータ（同期データパケットのパケットタイプ）以降、受信したデータを同期データ受信バッファ１０３に格納する（Ｓ６０７）。
また、データ分離部１０１は、同期データヘッダ内のパケットサイズの値をレジスタ等に記憶し、また、同期データパケットの受信に伴って同期データカウンタをインクリメントする（Ｓ６０８）。
なお、同期データカウンタでは、同期データヘッダを含む受信済のデータサイズをカウントする。
同期データパケットの受信を完了した場合（Ｓ６０９でＹＥＳ）、すなわち、同期データカウンタの値がレジスタ等に記憶したパケットサイズの値に等しくなった場合は、データ分離部１０１は、同期データカウンタの値をリセットし（Ｓ６１０）、Ｓ６０５以降の処理を行う。
【００４２】
一方、受信中のパケットの先頭にあるパケットタイプの記述を解析した結果、受信中のパケットが同期データパケットである場合（Ｓ６０１でＮＯ、Ｓ６１１でＹＥＳ）は、受信したデータを順次、同期データ受信バッファ１０３に格納する（Ｓ６１２）。
また、データ分離部１０１は、同期データヘッダ内のパケットサイズの値をレジスタ等に記憶し、また、同期データパケットの受信に伴って同期データカウンタをインクリメントする（Ｓ６１３）。
なお、同期データカウンタでは、同期データヘッダを含む受信済のデータサイズをカウントする。
同期データパケットの受信を完了した場合（Ｓ６１４でＹＥＳ）、すなわち、同期データカウンタの値がレジスタ等に記憶したパケットサイズの値に等しくなった場合は、データ分離部１０１は、同期データカウンタの値をリセットし（Ｓ６１５）、次のパケットの受信を待つ。
【００４３】
次に、本実施の形態に係る通信データスイッチ部１０４の動作例を図７のフローチャートを参照して説明する。
【００４４】
通信データスイッチ部１０４は、いずれかの通信データ受信バッファ１０２から通信データパケットを入力した場合（Ｓ７０１）に、入力した通信データパケットのアドレス情報を参照して、入力した通信データパケットをいずれのデータ送信経路から送信するかを判断し、対応する通信データ送信バッファ１０６に通信データパケットを格納する（Ｓ７０２）。
通信データスイッチ部１０４は、例えば、ラウンドロビンにより、各通信データ受信バッファ１０２から順に通信データパケットを入力する。
【００４５】
次に、本実施の形態に係る同期データスイッチ部１０５の動作例を図８のフローチャートを参照して説明する。
【００４６】
同期データスイッチ部１０５は、いずれかの同期データ受信バッファ１０３から同期データパケットを入力した場合（Ｓ８０１）に、入力した同期データパケットのアドレス情報を参照して、入力した同期データパケットをいずれのデータ送信経路から送信するかを判断し、対応する同期データ送信バッファ１０７に同期データパケットを格納する（Ｓ８０２）。
同期データスイッチ部１０５は、例えば、ラウンドロビンにより、各同期データ受信バッファ１０３から順に同期データパケットを入力する。
【００４７】
次に、本実施の形態に係るデータ合成部１０８の動作例を図９のフローチャートを参照して説明する。
【００４８】
データ合成部１０８は、通信データ送信バッファ１０６に通信データパケットが格納されているが、同期データ送信バッファ１０７に同期データパケットが格納されていない場合は、通信データパケットの送信処理を行う（Ｓ９０１でＹＥＳ）。
この場合は、データ合成部１０８は、通信データ送信バッファ１０６から通信データパケットのデータを読み出し、読み出したデータをパケット生成バッファに格納する（Ｓ９０２）。
同期データ送信バッファ１０７に同期データパケットが格納されなければ、通信データパケットの全てのデータをパケット生成バッファに格納するまで、Ｓ９０２の動作を繰り返す。
通信データパケットの全てのデータをパケット生成バッファに格納すると（Ｓ９０４でＹＥＳ）、データ合成部１０８は、パケット生成バッファ内のデータが含まれる通信データパケットを対応するデータ送信経路から送信する。
【００４９】
一方、通信データパケットの全てのデータをパケット生成バッファに格納する前に、同期データ送信バッファ１０７に同期データパケットが格納された場合は、通信データパケットの送信タイミングと同期データパケットの送信タイミングが競合するので、合成データパケットに含ませて同期データパケットを送信する（Ｓ９０３でＹＥＳ）。
このため、データ合成部１０８は、デリミタをパケット生成バッファに格納し（Ｓ９０６）、更に、同期データ送信バッファ１０７内の同期データパケットをパケット生成バッファに格納する（Ｓ９０７）。
そして、同期データ送信バッファ１０７内の同期データパケットのパケット生成バッファへの格納が完了した際に（Ｓ９０８でＹＥＳ）、同期データ遅延計測部１０９で計測された処理遅延値を用いて、パケット生成バッファ内の同期データの伝送遅延値を書換え（Ｓ９０９）、Ｓ９０４以降の処理を行う。
なお、この場合は、Ｓ９０５で送信されるパケットは、合成データパケットとなる。
【００５０】
一方で、通信データ送信バッファ１０６に通信データパケットが格納され、更に同期データ送信バッファ１０７にも同期データパケットが格納されている場合、又は通信データ送信バッファ１０６に通信データパケットが格納されておらず、同期データ送信バッファ１０７には同期データパケットが格納されている場合は、同期データパケットの送信処理を行う（Ｓ９０１でＮＯ、Ｓ９１０でＹＥＳ）。
この場合は、データ合成部１０８は、同期データ送信バッファ１０７から同期データパケットのデータを読み出し、読み出したデータをパケット生成バッファに格納する（Ｓ９１１）。
同期データ送信バッファ１０７内の同期データパケットのパケット生成バッファへの格納が完了した際に（Ｓ９１２でＹＥＳ）、同期データ遅延計測部１０９で計測された処理遅延値を用いて、パケット生成バッファ内の同期データの伝送遅延値を書換え（Ｓ９１３）、パケット生成バッファ内のデータが含まれる同期データパケットを対応するデータ送信経路から送信する（Ｓ９１４）。
【００５１】
以上のように、本実施の形態に係る中継装置は、合成データを受信した場合に、合成データを同期データと通信データとに分離することができ、また、通信データに同期データを埋め込んで合成データを生成し、合成データを送信することができる。
このため、通信データと同期データが競合した場合に、通信データの送信が完了するまで同期データの送信を待つ必要がなく、同期データの送信を早期化できるため、同期周期の短縮化及び同期精度の向上を実現することができる。
また、複数の同期周期に対応した同期データを送信することができ、複数の同期周期による機器間制御が可能となる。
【００５２】
実施の形態２．
本実施の形態では、図１のシステム構成において受信端となる通信機器ｐ２００ｐ及び通信機器ｑ２００ｑについて説明する。
以下では、図１の通信機器ｐ２００ｐを例にして説明を進める。
また、以下の記述において説明していない事柄は、実施の形態１と同様である。
【００５３】
図１０は、通信機器ｐ２００ｐの構成例を示す。
【００５４】
通信機器ｐ２００ｐは、複数のデータ受信経路を有している。
図１０では、データ受信経路ｐとデータ受信経路ｒのみが明示されているが、他にもデータ受信経路が存在しているものとする。
図１０では、通信機器ｐ２００ｐは、データ受信経路ｐから合成データパケット（通信データ＋同期データＭ）を受信しているが、通信データパケットを単独で受信する場合もあり、同期データＭのパケットを単独で受信する場合もある。
同様に、図１０では、通信機器ｐ２００ｐは、データ受信経路ｒから、同期周期Ｒの同期データＲのパケットを受信しているが、通信データパケットを単独で受信する場合もあり、合成データパケット（通信データ＋同期データＲ）を受信する場合もある。
【００５５】
また、通信機器ｐ２００ｐは、複数のデータ処理経路を有している。
具体的には、データ受信経路ｐからの通信データを処理するｐ系通信データ処理部２０６ｐが、１つのデータ処理経路を形成する。
また、データ受信経路ｐからの同期データを処理するｐ系同期データ処理部２０７ｐも、１つのデータ処理経路を形成する。
更に、データ受信経路ｒからの通信データを処理するｒ系通信データ処理部２０６ｒが、１つのデータ処理経路を形成する。
また、データ受信経路ｒからの同期データを処理するｒ系同期データ処理部２０７ｒも、１つのデータ処理経路を形成する。
【００５６】
データ分離部２０１ｐは、実施の形態１のデータ分離部１０１と同様に、データ受信経路ｐから受信した合成データパケットを通信データパケットと同期データＭのパケットとに分離し、通信データパケットを通信データ受信バッファ２０２ｐに格納し、同期データＭのパケットを同期データ受信バッファ２０３ｐに格納する。
データ分離部２０１ｒも、実施の形態１のデータ分離部１０１と同様に、データ受信経路ｒから受信した同期データＲのパケットを同期データ受信バッファ２０３ｒに格納する。
データ分離部２０１ｒが、データ受信経路ｒから合成データパケット受信した場合には、データ分離部２０１ｐと同様に、合成データパケットを通信データパケットと同期データＲのパケットとに分離し、通信データパケットを通信データ受信バッファ２０２ｒに格納し、同期データＭのパケットを同期データ受信バッファ２０３ｒに格納する。
【００５７】
通信データスイッチ部２０４は、実施の形態１の通信データスイッチ部１０４と同様に、通信データ受信バッファ２０２ｐ及び通信データ受信バッファ２０２ｒから通信データパケットを読み出し、読み出した通信データパケットをいずれの処理経路で処理すべきかを判定し、対応する処理経路に通信データパケットを出力する。
具体的には、図１０の例では、通信データ受信バッファ２０２ｐから読み出した通信データパケットは、データ受信経路ｐからのパケットであるので、ｐ系通信データ処理部２０６ｐに出力される。
一方、図１０の例では、通信データ受信バッファ２０２ｒには通信データパケットが格納されていないので、ｒ系通信データ処理部２０６ｒには通信データパケットは出力されない。
【００５８】
同期データスイッチ部２０５は、実施の形態１の同期データスイッチ部１０５と同様に、同期データ受信バッファ２０３ｐ及び同期データ受信バッファ２０３ｒから同期データパケットを読み出し、読み出した同期データパケットをいずれの処理経路で処理すべきかを判定し、対応する処理経路に同期データパケットを出力する。
具体的には、図１０の例では、同期データ受信バッファ２０３ｐから読み出した同期データＭのパケットは、データ受信経路ｐからのパケットであるので、ｐ系同期データ処理部２０７ｐに出力される。
また、同期データ受信バッファ２０３ｒから読み出した同期データＲのパケットは、データ受信経路ｒからのパケットであるので、ｒ系同期データ処理部２０７ｒに出力される。
【００５９】
なお、通信データスイッチ部２０４及び同期データスイッチ部２０５は、処理経路判定部の例に相当する。
【００６０】
このように、受信端に位置する通信機器２００においても、合成データパケットを受信した場合は、データ分離部２０１ｐ及びデータ分離部２０１ｒにより、通信データパケットと同期データパケットとに分離することができる。
また、複数のデータ受信経路から受信された通信データパケットを、通信データスイッチ部２０４により、対応する処理経路に出力することができる。
また、複数のデータ受信経路から受信された同期データパケットを、同期データスイッチ部２０５により、対応する処理経路に出力することができる。
【００６１】
なお、図１０では、本実施の形態の本旨とは直接関係がないので、通信データを送信する機構及び同期データを送信する機構は図示していないが、図１０に示す構成に通信データを送信する機構及び同期データを送信する機構が追加されてもよい。
【００６２】
以上の実施の形態１及び実施の形態２では、
一般の通信データおよび制御用同期データを伝送する通信装置において、通信データと同期データを合成する手段と、合成したデータより通信データと同期データに分離する手段を備える通信装置を説明した。
【００６３】
また、任意の通信機器が任意のタイミングで通信データを送信しながら、任意の通信先と同期を確立する通信装置を説明した。
【００６４】
また、任意の周期の同期データを送信して複数の同期周期を確立する通信装置を説明した。
【００６５】
また、通信データと同期データを識別し、伝送中のデータの任意のデータ位置に同期データを合成することで伝送遅延を抑制し、高精度の同期制御を行う通信装置を説明した。
【００６６】
また、通信データと同期データの合成において、同期データの伝送遅延を計測し、伝送遅延値を合成データに格納することと、通信先で伝送遅延値を抽出して同期時刻の補正を行う通信装置を説明した。
【００６７】
最後に、実施の形態１及び実施の形態２に示した中継装置１００及び通信機器２００のハードウェア構成例を図１１を参照して説明する。
中継装置１００及び通信機器２００はコンピュータであり、中継装置１００及び通信機器２００の各要素をプログラムで実現することができる。
中継装置１００及び通信機器２００のハードウェア構成としては、バスに、演算装置９０１、外部記憶装置９０２、主記憶装置９０３、通信装置９０４、入出力装置９０５が接続されている。
【００６８】
演算装置９０１は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
外部記憶装置９０２は、例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ、ハードディスク装置である。
主記憶装置９０３は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
通信装置９０４は、データ分離部１０１及びデータ分離部２０１の物理層に対応する。
入出力装置９０５は、例えばマウス、キーボード、ディスプレイ装置等である。
【００６９】
プログラムは、通常は外部記憶装置９０２に記憶されており、主記憶装置９０３にロードされた状態で、順次演算装置９０１に読み込まれ、実行される。
プログラムは、図１に示す「〜部」として説明している機能を実現するプログラムである。
更に、外部記憶装置９０２にはオペレーティングシステム（ＯＳ）も記憶されており、ＯＳの少なくとも一部が主記憶装置９０３にロードされ、演算装置９０１はＯＳを実行しながら、図１に示す「〜部」の機能を実現するプログラムを実行する。
また、実施の形態１及び実施の形態２の説明において、「〜の判断」、「〜の判定」、「〜の抽出」、「〜の分離」、「〜の合成」、「〜の設定」、「〜の登録」、「〜の選択」、「〜の生成」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置９０３にファイルとして記憶されている。
また、暗号鍵・復号鍵や乱数値やパラメータが、主記憶装置９０３にファイルとして記憶されてもよい。
【００７０】
なお、図１１の構成は、あくまでも中継装置１００及び通信機器２００のハードウェア構成の一例を示すものであり、中継装置１００及び通信機器２００のハードウェア構成は図１１に記載の構成に限らず、他の構成であってもよい。
【００７１】
また、実施の形態１及び実施の形態２に示す手順をデータ処理方法として捉えることもできる。
【符号の説明】
【００７２】
１００  中継装置、１０１  データ分離部、１０２  通信データ受信バッファ、１０３  同期データ受信バッファ、１０４  通信データスイッチ部、１０５  同期データスイッチ部、１０６  通信データ送信バッファ、１０７  同期データ送信バッファ、１０８  データ合成部、１０９  同期データ遅延計測部、２００  通信機器、２０１  データ分離部、２０２  通信データ受信バッファ、２０３  同期データ受信バッファ、２０４  通信データスイッチ部、２０５  同期データスイッチ部、２０６  通信データ処理部、２０７  同期データ処理部。
【図１】
2014096694.tif 000003
【図２】
2014096694.tif 000004
【図３】
2014096694.tif 000005
【図４】
2014096694.tif 000006
【図５】
2014096694.tif 000007
【図６】
2014096694.tif 000008
【図７】
2014096694.tif 000009
【図８】
2014096694.tif 000010
【図９】
2014096694.tif 000011
【図１０】
2014096694.tif 000012
【図１１】
2014096694.tif 000013