(57)【要約】【課題】周期的に通信フレームを送信する場合でも、高精度の時刻同期を可能とする。【解決手段】ネットワークインタフェース部（１４）は、所定周期ごとのデータ送信期間内に通信フレームをスレーブ機器に送信し、送信完了時に送信完了通知を出力し、クロック（１１）が送信完了通知の出力時刻を送信完了時刻として計測し、送信完了時刻保持部（１５）は送信完了時刻を保持し、送信完了間隔算出部（１３）は２つの送信完了時刻から送信完了通知の出力間隔を求め、時刻算出部（１７）が、送信完了時刻保持部（１５）が保持する送信完了時刻と、送信完了間隔算出部（１３）による出力間隔とに基づき、次のデータ送信期間における送信完了時刻を推定し、時刻情報送信部（１６）が推定時刻を示す時刻同期用通信フレームを生成し、ネットワークインタフェース部（１４）が次のデータ送信期間に時刻同期用通信フレームをスレーブ機器に送信する。【選択図】図１
2011239312.tif 000002
【特許請求の範囲】
【請求項１】
所定の通信装置とネットワーク接続しているデータ処理装置であって、
時刻を計測するクロックと、
所定の周期で到来するデータ送信期間内で前記通信装置に対するデータ送信を行い、データ送信の完了時に送信完了通知を出力するネットワークインタフェース部と、
前記送信完了通知が前記ネットワークインタフェース部から出力された際に前記クロックで計測された時刻を送信完了時刻として保持する送信完了時刻保持部と、
前記送信完了時刻保持部により保持されている少なくとも２つの送信完了時刻を用いて送信完了通知の出力間隔を算出する送信完了間隔算出部と、
所定の時刻算出タイミングが到来すると、前記送信完了時刻保持部により保持されているいずれかの送信完了時刻と、前記送信完了間隔算出部により算出された送信完了通知の出力間隔と、前記クロックにおける前記時刻算出タイミングの時刻とに基づき、次のデータ送信期間が到来した際に前記ネットワークインタフェース部が送信完了通知を出力すると推定される推定出力時刻を算出する時刻算出部と、
前記時刻算出部により算出された推定出力時刻を通知する時刻通知データを生成し、前記ネットワークインタフェース部に前記時刻通知データを出力し、次のデータ送信期間が到来した際に前記ネットワークインタフェース部に前記時刻通知データを前記通信装置に対して送信させる時刻通知データ生成部とを有することを特徴とするデータ処理装置。
【請求項２】
前記時刻算出部は、
加算値の時刻が前記時刻算出タイミングの時刻を超えるまで、前記送信完了時刻への前記送信完了通知の出力間隔の加算を繰り返し、加算値の時刻が前記時刻算出タイミングの時刻を超えた場合に、前記時刻算出タイミングの時刻を超えた時刻を前記推定出力時刻とすることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記時刻通知データ生成部は、
前記推定出力時刻を前記通信装置のクロックに設定すべき時刻として通知する時刻通知データを生成することを特徴とする請求項１又は２に記載のデータ処理装置。
【請求項４】
前記データ処理装置は、更に、
前記通信装置に対する送信データを所定の周期で生成する周期送信データ生成部を有し、
前記ネットワークインタフェース部は、
前記周期送信データ生成部により生成された周期送信データを各データ送信期間において前記通信装置に対して送信し、前記周期送信データの送信完了時に送信完了通知を出力することを特徴とする請求項１〜３のいずれかに記載のデータ処理装置。
【請求項５】
前記データ処理装置は、更に、
前記通信装置に対する送信データを非周期に生成する非周期送信データ生成部と、
前記周期送信データ生成部により生成された周期送信データの送信完了時に出力された送信完了通知を判別する送信完了通知判定部とを有し、
前記ネットワークインタフェース部は、
前記非周期送信データ生成部により生成された非周期送信データをデータ送信期間から独立して送信し、前記非周期送信データの送信完了時に送信完了通知を出力し、
前記送信完了通知判定部は、
前記ネットワークインタフェース部から出力された送信完了通知を入力し、入力した送信完了通知が周期送信データの送信完了時に出力された送信完了通知であるかを判定し、周期送信データの送信完了時に出力された送信完了通知である場合に、前記ネットワークインタフェース部から当該送信完了通信通知が出力された際に前記クロックで計測された時刻を送信完了時刻として前記送信完了時刻保持部に通知することを特徴とする請求項４に記載のデータ処理装置。
【請求項６】
前記時刻算出部は、
所定の周期で到来する時刻算出タイミングが到来すると、前記推定時刻を算出するとともに、前記推定時刻の推定確度レベルを前記時刻通知データ生成部に通知し、
前記時刻通知データ生成部は、
前記時刻算出部により算出された推定出力時刻と、前記時刻算出部から通知された推定確度レベルを通知する時刻通知データを生成し、
前記ネットワークインタフェース部は、
前記時刻通知データ生成部により生成された時刻通知データを各データ送信期間において前記通信装置に対して送信し、前記時刻通知データの送信完了時に送信完了通知を出力することを特徴とする請求項１〜５のいずれかに記載のデータ処理装置。
【請求項７】
前記データ処理装置は、更に、
前記通信装置に対する送信データを非周期に生成する非周期送信データ生成部と、
前記時刻通知データ生成部により生成された時刻通知データの送信完了時に出力された送信完了通知を判別する送信完了通知判定部とを有し、
前記ネットワークインタフェース部は、
前記非周期送信データ生成部により生成された非周期送信データをデータ送信期間から独立して送信し、前記非周期送信データの送信完了時に送信完了通知を出力し、
前記送信完了通知判定部は、
前記ネットワークインタフェース部から出力された送信完了通知を入力し、入力した送信完了通知が時刻通知データの送信完了時に出力された送信完了通知であるかを判定し、時刻通知データの送信完了時に出力された送信完了通知である場合に、前記ネットワークインタフェース部から当該送信完了通信通知が出力された際に前記クロックで計測された時刻を送信完了時刻として前記送信完了時刻保持部に通知することを特徴とする請求項６に記載のデータ処理装置。
【請求項８】
時刻を計測するクロックを備え、所定の通信装置とネットワーク接続しているコンピュータに、
所定の周期で到来するデータ送信期間内で前記通信装置に対するデータ送信を行い、データ送信の完了時に送信完了通知を出力するデータ送信処理と、
前記送信完了通知が前記データ送信処理により出力された際に前記クロックで計測された時刻を送信完了時刻として保持する送信完了時刻保持処理と、
前記送信完了時刻保持処理により保持された少なくとも２つの送信完了時刻を用いて送信完了通知の出力間隔を算出する送信完了間隔算出処理と、
所定の時刻算出タイミングが到来すると、前記送信完了時刻保持処理により保持されたいずれかの送信完了時刻と、前記送信完了間隔算出処理により算出された送信完了通知の出力間隔と、前記クロックにおける前記時刻算出タイミングの時刻とに基づき、次のデータ送信期間が到来した際のデータ送信処理により送信完了通知が出力されると推定される推定出力時刻を算出する時刻算出処理と、
前記時刻算出処理により算出された推定出力時刻を通知する時刻通知データを生成し、次のデータ送信期間が到来した際のデータ送信処理において前記時刻通知データを前記通信装置に対して送信させる時刻通知データ生成処理とを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク接続されている複数の機器間での時刻を同期させる技術に関する。
【背景技術】
【０００２】
機器間をネットワークで接続した構成において、機器で発生した事象の順序付けを行う、機器を同じタイミングで動作させる、機器間での通信の遅延を測定するといった場合、機器間の同期を行うことで可能となる。
【０００３】
ネットワークを介した同期では、時刻情報を含むフレームを装置間で送受信する。
トークンパッシング方式のネットワークでは、各機器で送信要求が行われてからトークンフレームの受信を待ち、トークンフレーム受信後に時刻同期フレームを送信する。
時刻同期フレームを他の装置に送信する際、遅延時間計測部で送信要求から時刻同期フレームが他の装置へ送信されるまでの時間を遅延時間として計測し、計測した時間を時刻補正値として時刻補正フレームにセットして他の装置に送信し、他の装置では時刻同期フレームの受信で時刻修正をし、時刻補正フレームの受信で時刻の修正に加えて、時刻の補正をするようにすることで高精度な同期を行っていた（例えば、特許文献１）。
【０００４】
また、伝送制御のための処理待ち時間に変動がある場合、基準となる時計を持つ装置において時計同期開始信号の送信要求と共に基準となる時計の現在時刻を読み取って記憶し、時計同期開始信号の送信要求から送信開始までの経過時間を計測し、時計同期開始信号の送信が可能になると記憶している現在時刻値を計測した経過時間に基づき修正して修正値を含む時計同期開始信号を作成して同期対象となる装置へ送信し、受信側では受信した時計同期開始信号に含まれる現在時刻値に基づき受信側の時計の時刻を更新することで、高精度な同期を行う方法も提案されている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平４−２７７９５３号公報
【特許文献２】特開平７−０１５４２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
トークンパッシング方式のように、伝送制御において処理待ち時間が変動する場合、高精度の時刻同期をするには、変動分を取り除く必要がある。
変動分を取り除くために、特許文献１では、時間同期フレームを送信した上で、送信要求から実際に送信するまでの時間を計測し、計測した値を入れた補正要求を送信している。
特許文献２では、１回の同期で２つのフレームを送信する必要がないように、伝送制御レベルで送信要求から実際に送信するまでの時間の算出と算出値による補正を行っている。
【０００７】
このように、従来の方法では、変動分を取り除くために補正のための追加のフレームを送信する必要があり、追加したフレームに関わる処理が増大するという課題がある。
また、伝送制御レベルで処理待ち時間の算出と補正を行う方法では、伝送制御レベルで同じ仕組みを導入する必要があるため、既存の機器に適用することは難しいという課題がある。
【０００８】
この発明は上記のような課題を解決することを主な目的とし、トークンパッシング方式のように伝送制御において処理待ち時間が変動するネットワークにおいて、１回の時刻同期要求の送信によって、かつ既存ネットワークの伝送制御レベルでの修正が不要な方法で、高精度に時刻同期を行うことを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るデータ処理装置は、
所定の通信装置とネットワーク接続しているデータ処理装置であって、
時刻を計測するクロックと、
所定の周期で到来するデータ送信期間内で前記通信装置に対するデータ送信を行い、データ送信の完了時に送信完了通知を出力するネットワークインタフェース部と、
前記送信完了通知が前記ネットワークインタフェース部から出力された際に前記クロックで計測された時刻を送信完了時刻として保持する送信完了時刻保持部と、
前記送信完了時刻保持部により保持されている少なくとも２つの送信完了時刻を用いて送信完了通知の出力間隔を算出する送信完了間隔算出部と、
所定の時刻算出タイミングが到来すると、前記送信完了時刻保持部により保持されているいずれかの送信完了時刻と、前記送信完了間隔算出部により算出された送信完了通知の出力間隔と、前記クロックにおける前記時刻算出タイミングの時刻とに基づき、次のデータ送信期間が到来した際に前記ネットワークインタフェース部が送信完了通知を出力すると推定される推定出力時刻を算出する時刻算出部と、
前記時刻算出部により算出された推定出力時刻を通知する時刻通知データを生成し、前記ネットワークインタフェース部に前記時刻通知データを出力し、次のデータ送信期間が到来した際に前記ネットワークインタフェース部に前記時刻通知データを前記通信装置に対して送信させる時刻通知データ生成部とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ネットワークインタフェース部による送信が完了した送信完了時刻に基づき、次のデータ送信期間における送信完了時刻を推定し、推定した時刻を通知する時刻通知データを次のデータ送信期間においてネットワークインタフェース部から送信させるため、実際にネットワークインタフェース部により時刻通知データが送信される時刻と時刻通知データに示される推定時刻とを一致させることができ、高精度な時刻同期が可能である。
また、時刻の通知を１つのデータ送信で行うことができ、更に、ネットワークの伝送制御レベルでの修正も不要である。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係るシステム構成例を示す図。
【図２】実施の形態１に係るマスタ機器の構成例を示す図。
【図３】実施の形態１に係るスレーブ機器の構成例を示す図。
【図４】実施の形態１に係るマスタ機器とスレーブ機器のデータ送信期間を示す図。
【図５】実施の形態１に係る時刻同期の手順を示す図。
【図６】実施の形態１に係る時刻同期の手順を示す図。
【図７】実施の形態２に係るマスタ機器の構成例を示す図。
【図８】実施の形態２に係る時刻同期の手順を示す図。
【図９】実施の形態３に係るマスタ機器の構成例を示す図。
【図１０】実施の形態３に係るスレーブ機器の構成例を示す図。
【図１１】実施の形態３に係る時刻同期の手順を示す図。
【図１２】実施の形態１〜３に係るマスタ機器のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１２】
実施の形態１．
図１は、本実施の形態１におけるシステム構成例を示す。
本実施の形態に係わるシステムでは、１つのマスタ機器（１）と２つのスレーブ機器（２）から構成され、マスタ機器（１）とスレーブ機器（２）はネットワーク（３）によって接続されている。
図１では２つのスレーブ機器を示しているが、スレーブ機器は１つまたは３つ以上でもよい。
マスタ機器（１）は、時刻同期において基準となる時計を持った機器の例であり、スレーブ機器（２）は、時刻同期においてマスタ機器（１）が持つ基準となる時計に同期させる時計を持った機器の例である。
なお、マスタ機器（１）はデータ処理装置の例であり、スレーブ機器（２）は通信装置の例である。
【００１３】
図２は、マスタ機器（１）の構成例を示す。
マスタ機器（１）は、クロック（１１）、周期通信送信部（１２）、送信完了間隔算出部（１３）、ネットワークインタフェース部（１４）、送信完了時刻保持部（１５）、時刻情報送信部（１６）、時刻算出部（１７）を持つ。
【００１４】
クロックは（１１）は、マスタ機器（１）が使用する時刻情報を生成する機能である。
【００１５】
周期通信送信部（１２）は、一定の周期で通信フレーム（送信データ）を生成し、ネットワークインタフェース部（１４）を介してスレーブ機器（２）に通信フレームを送信する機能である。
周期通信送信部（１２）は、周期送信データ生成部の例である。
【００１６】
送信完了間隔算出部（１３）は、ネットワークインタフェース部（１４）が周期通信送信部（１２）に渡す、送信完了通知の通知間隔を算出する機能である。
より具体的には、送信完了間隔算出部（１３）は、後述の送信完了時刻保持部（１５）により保持されている少なくとも２つの送信完了時刻を用いてネットワークインタフェース部（１４）による送信完了通知の出力間隔を算出する。
送信完了通知、送信完了時刻については後述する。
【００１７】
ネットワークインタフェース部（１４）は、通信フレームをネットワーク（３）へ送出する、あるいは通信フレームをネットワーク（３）から受信する機能である。
ネットワークインタフェース部（１４）は、所定の周期で到来するデータ送信期間内でスレーブ機器（２）に対する通信フレームをネットワーク（３）へ送出し、送信処理が完了すると、通信フレームの渡し元に対して、送信が完了したことを送信完了通知として通知する。
なお、ネットワークインタフェース部（１４）が送信する通信フレームのデータ量は各データ送信期間でほぼ同量である。
このため、送信完了通知の出力タイミングの位相は各データ送信期間においてほぼ一致している。
【００１８】
送信完了時刻保持部（１５）は、ネットワークインタフェース部（１４）からの送信完了通知の通知時刻を保持する機能である。
送信完了時刻保持部（１５）が保持する送信完了通知の時刻は、クロック（１）により計測された時刻である。
ネットワークインタフェース部（１４）により送信完了通知が出力された時刻を送信完了時刻という。
【００１９】
時刻情報送信部（１６）は、時刻算出部（１７）によって算出した時刻情報を含む通信フレームを生成し、ネットワークインタフェース部（１４）を介してスレーブ機器（２）に通信フレームを送信する機能である。
つまり、時刻情報送信部（１６）は、時刻算出部（１７）により算出された推定出力時刻を通知する時刻同期用通信フレーム（時刻通知データ）を生成し、ネットワークインタフェース部（４）に時刻同期用通信フレームを出力し、次のデータ送信期間が到来した際にネットワークインタフェース部（４）に時刻同期用通信フレームをスレーブ機器（２）に対して送信させる。
時刻情報送信部（１６）は、時刻通知データ生成部の例である。
【００２０】
時刻算出部（１７）は、クロック（１１）、送信完了間隔算出部（１３）、送信完了時刻保持部（１５）から得た情報を元に、時刻情報を算出する機能である。
より具体的には、所定の時刻算出タイミングが到来すると、送信完了時刻保持部（１５）により保持されているいずれかの送信完了時刻と、送信完了間隔算出部（１３）により算出された送信完了通知の出力間隔と、クロック（１１）における時刻算出タイミングの時刻とに基づき、次のデータ送信期間が到来した際にネットワークインタフェース部（４）が送信完了通知を出力すると推定される推定出力時刻を算出する。
【００２１】
図３は、スレーブ機器（２）の構成例である。
スレーブ機器（２）は、クロック（２１）、周期通信受信部（２２）、時刻変更部（２３）とネットワークインタフェース部（２４）を持つ。
クロック（２１）は、スレーブ機器（２）が使用する時刻情報を生成する機能である。
クロック（２１）は、時刻同期処理によって、マスタ機器（１）の持つクロック（１１）と同期される。
【００２２】
周期通信受信部（２２）は、ネットワーク（３）およびネットワークインタフェース部（２４）を介して、マスタ機器（１）の周期通信送信部（１２）が送信する通信フレームを受信する機能である。
【００２３】
時刻変更部（２３）は、マスタ機器（１）が送信する時刻情報を含む時刻同期用通信フレームを、ネットワーク（３）およびネットワークインタフェース部（２４）を介して受取り、時刻同期用通信フレームに含まれる時刻情報に基づき、クロック（２１）が持つ時刻を変更する機能である。
【００２４】
ネットワークインタフェース部（２４）は、通信フレームをネットワーク（３）へ送出する、あるいは通信フレームをネットワーク（３）から受信する機能である。
【００２５】
図４は、マスタ機器（１）のネットワークインタフェース部（１４）とスレーブ機器（２）のネットワークインタフェース部（２４）が、ネットワーク（３）を共有している例を示している。
横軸は時間軸を表しており、Ｄ１１〜Ｄ１３は同じ時間幅を持ち、マスタ機器（１）のネットワークインタフェース部（１４）が通信フレームを送信することができる時間であるデータ送信期間を表している。
Ｄ２１〜Ｄ２３は同じ時間幅を持ち、スレーブ機器１のネットワークインタフェース部（２４）が通信フレームを送信することができる時間であるデータ送信期間を表している。
Ｄ３１〜Ｄ３３は同じ時間幅を持ち、スレーブ機器１のネットワークインタフェース部（２４）が通信フレームを送信することができる時間であるデータ送信期間を表している。
マスタ機器（１）のネットワークインタフェース部（１４）とスレーブ機器（２）のネットワークインタフェース部（２４）は、Ｔ１、Ｔ２、Ｔ３で示す時間幅でそれぞれ１回ずつ、通信フレームの送信を行う。
マスタ機器（１）のネットワークインタフェース部（１４）とスレーブ機器（２）のネットワークインタフェース部（２４）は、Ｔ１＝Ｔ２＝Ｔ３で示す時間間隔で、通信フレームを送信する時間幅を獲得する。
Ｄ１１、Ｄ２１、Ｄ３１の時間幅は同じである必要はなく、マスタ機器（１）およびスレーブ機器（２）で送信するデータのサイズに応じて、それぞれ時間幅を決定しておけばよい。
マスタ機器（１）のネットワークインタフェース部（１４）とスレーブ機器（２）のネットワークインタフェース部（２４）が通信フレームの送信を開始するタイミングｔ１〜ｔ１０は、マスタ機器（１）およびスレーブ機器（２）間で、送信権を表すトークンを相互に交換することで決定しても良い。
あるいは、マスタ機器（１）およびスレーブ機器（２）が、それぞれ持つクロックを元に、各々が一定の時間間隔で通信フレームの送信を開始するとしてもよい。
【００２６】
図５を参照して、本実施の形態に係わる時刻同期を説明する。
図５は、時刻同期に使用する、送信完了間隔および送信完了時刻の収集に係わる動作例を示している。
【００２７】
マスタ機器（１）の周期通信送信部（１２）は、一定の周期で通信フレームを生成して、ネットワークインタフェース部（１４）に渡す（Ｓ５０１）。
ネットワークインタフェース部（１４）は、図４に記載したように、マスタ機器（１）に割当てられているデータ送信期間に、通信フレームを送信する（Ｓ５０２）。
なお、周期通信送信部（１２）の通信フレームの生成周期と、ネットワークインタフェース部（１４）のデータ送信期間の周期は同期している必要はない。
但し、通信フレームの生成周期の間隔は、ネットワークインタフェース部（１４）のデータ送信期間の間隔と同じか、ネットワークインタフェース部（１４）のデータ送信期間の間隔よりも短い。
ネットワークインタフェース部（１４）は、通信フレームのネットワーク（３）への送出が完了すると（Ｓ５０３）、送信完了時刻保持部（１５）に対し、送信完了を表す送信完了通知を渡す（Ｓ５０４）。
また、同時に、ネットワークインタフェース部（１４）は、周期通信送信部（１２）にも送信完了通知を渡す（図示せず）。
なお、ネットワークインタフェース部（１４）は、データ送信期間の満了前に通信フレームの送信が完了した場合は、データ送信期間の満了前であっても通信フレームの送信が完了した時点で送信完了通知を出力する。
【００２８】
送信完了時刻保持部（１５）は、ネットワークインタフェース部（１４）から送信完了通知を受取ると（Ｓ５０４）、クロック（１１）から現在の時刻（つまり、ネットワークインタフェース部（１４）が送信完了通知を出力した時刻）を入手して（Ｓ５０７）、保持する。
送信完了時刻保持部（１５）は、Ｓ５０７でクロック（１１）から入手した現在の時刻（最新の送信完了時刻）と、１回前に入手した時刻（１回前の送信完了時刻）の２つを、送信完了間隔算出部（１３）に渡す（Ｓ５０８）。
送信完了間隔算出部（１３）は、送信完了時刻保持部（１５）から渡された、現在時刻と１回前の送信完了時刻の差分を求め、送信完了間隔として保持する。
スレーブ機器（２）のネットワークインタフェース部（２４）では、マスタ機器（１）のネットワークインタフェース部（１４）が送信した通信フレームを受信し（Ｓ５０５）、周期通信受信部（２２）に渡す（Ｓ５０６）。
【００２９】
図６は、時刻同期の動作例を示している。
【００３０】
所定の時刻算出タイミングが到来すると、マスタ機器（１）の時刻算出部（１７）は、クロックから現在時刻（クロック（１）における時刻算出タイミングの時刻）を入手する（Ｓ６０１）。
なお、時刻算出タイミングの周期は、周期通信送信部（１２）の通信フレームの生成周期、ネットワークインタフェース部（１４）のデータ送信期間の周期と一致している必要はない。
時刻算出部（１７）は、送信完了時刻保持部（１５）から、送信完了時刻保持部（１５）が直近に送信完了通知を受取った時刻（直近の送信完了時刻）を入手し（Ｓ６０２）、送信完了時刻保持部（１５）から送信完了通知の出力間隔を入手する（Ｓ６０３）。
時刻算出部（１７）は、Ｓ６０１で入手した現在時刻、Ｓ６０２で入手した直近の送信完了時刻と、Ｓ６０３で入手した送信完了通知の出力間隔をもとに、ネットワークインタフェース部（１４）が次のデータ送信期間において送信完了通知を出力する時刻（推定出力時刻）を推定する。
推定方法の一つは、直近の送信完了時刻に送信完了通知の出力間隔を加算し、加算値がＳ６０１で取得した現在時刻を越えた場合に、加算値を次のデータ送信期間における送信完了時刻の推定値とする。
また、時刻算出タイミングの周期と、周期通信送信部（１２）の通信フレームの生成周期、ネットワークインタフェース部（１４）のデータ送信期間の周期との関係から、上記加算値が現在時刻を超えない場合もあるので、加算値が現在時刻を超えない場合は、加算を繰返し、加算して得た値がはじめて現在時刻を越えた場合に、その値を次のデータ送信期間の送信完了時刻の推定値とする。
【００３１】
時刻算出部（１７）は、送信完了時刻の推定値（推定出力時刻）を時刻情報として時刻情報送信部（１６）に渡す（Ｓ６０４）。
時刻情報送信部（１６）は、時刻算出部（１７）からの時刻情報を含み、時刻同期先のスレーブ機器（２）を宛先とする時刻同期用通信フレームを生成し、ネットワークインタフェース部（１４）に渡し（Ｓ６０５）、ネットワークインタフェース部（１４）に次のデータ送信期間において時刻同期用通信フレームを宛先のスレーブ機器（２）に対して送信させる。
なお、時刻情報送信部（１６）は、宛先に時刻同期先の個々のスレーブ機器（２）を指定し、複数の通信フレームを生成しても良いし、１つの宛先指定で複数の時刻同期先に通信フレームが到達するように宛先としてブロードキャストアドレスあるいはマルチキャストアドレスを指定して、１つの通信フレームを生成しても良い。
ネットワークインタフェース部（１４）は、図４に記載したように、マスタ機器（１）に割当てられている次のデータ送信期間に、時刻同期用通信フレームを送信する（Ｓ６０６）。
【００３２】
なお、このデータ送信期間では、周期通信送信部（１２）により生成された通信フレームの送信後に、時刻情報送信部（１６）により生成された時刻同期用通信フレームが送信される。
このため、通常のデータ送信期間に比べて、時刻同期用通信フレームの送信に要する時間分データ送信の完了までの時間が長くなるが、時刻同期用通信フレームのデータ長は短いため、時刻同期用通信フレームで通知される推定時刻と実際の送信完了時刻との差は僅かであるため、無視することができる。
【００３３】
また、データ送信期間ごとに、周期通信送信部（１２）により生成された通信フレームの送信量が異なり、送信完了通知の出力タイミングにゆらぎがあるも考えられるが、このゆらぎは、マスタ機器（１）内部の処理待ち時間（時刻情報の生成からネットワークインタフェース部（１４）による通信フレームの送信までの時間）に比べて十分に小さいため、無視することができる。
【００３４】
スレーブ機器（２）のネットワークインタフェース部（２４）は、マスタ機器（１）のネットワークインタフェース部（１４）が送信した時刻同期用通信フレームを受信し（Ｓ６０７）、受信した時刻同期用通信フレームを時刻変更部（２３）に渡す（Ｓ６０８）。
時刻変更部（２３）は、時刻同期用通信フレームから時刻情報を取り出し、取り出した値をスレーブ機器（２）のクロック（２１）に設定する（Ｓ６０９）。
【００３５】
なお、図６に示す方式では、ネットワーク伝送遅延の補正は行われていない。
ネットワーク伝送遅延量は、マスタ機器（１）内部の処理待ち時間（時刻情報の生成からネットワークインタフェース部（１４）による通信フレームの送信までの時間）に比べて十分に小さい。
マスタ機器（１）内部の処理待ち時間を補正すれば足り、ネットワーク伝送遅延の補正が必要が無い用途では、図６に示した方式をそのまま用いることができる。
また、ネットワーク伝送遅延の補正が必要なより精度が求められる用途であれば、例えば既存技術により別途ネットワーク伝送遅延量を計測し、時刻算出部（１７）が推定した時刻にネットワーク伝送遅延量を加算すればよい。
【００３６】
また、図６に示す方式では、スレーブ機器（２）内部の処理遅延の補正は行われていない。
スレーブ機器（２）内部の処理遅延量は、マスタ機器（１）内部の処理待ち時間（時刻情報の生成からネットワークインタフェース部（１４）による通信フレームの送信までの時間）に比べて十分に小さい。
マスタ機器（１）内部の処理待ち時間を補正すれば足り、スレーブ機器（２）内部の処理遅延の補正が必要が無い用途では、図６に示した方式をそのまま用いることができる。
また、スレーブ機器（２）内部の処理遅延の補正が必要なより精度が求められる用途であれば、例えば既存技術により別途スレーブ機器（２）内部の処理遅延量を計測し、時刻算出部（１７）が推定した時刻にスレーブ機器（２）内部の処理遅延を加算すればよい。
【００３７】
以上のように、ネットワークインタフェース部の送信完了通知を記録し、記録値から求めた送信完了通知の出力間隔を算出し、算出した出力間隔と直近の送信完了時刻と現在時刻によって次の送信完了通知の出力時刻を推定し、推定値を時刻情報として時刻同期を行うようにしている。
これにより、ネットワークインタフェース部が実際に通信フレームを送信するタイミングを時刻情報とすることが可能となる。
一定周期で通信フレームの送信開始タイミングを得るようなネットワークインタフェース部では、送信開始タイミングを待つことによって、時刻同期機能が時刻同期用通信フレームをネットワークインタフェース部に渡すタイミングから実際に通信フレームを送信するタイミングまでにかかる時間が変動する。
ネットワークインタフェース部が実際に通信フレームを送信するタイミングに一致する時刻情報とすることで、時刻情報の生成から実際にネットワークインタフェース部により通信フレームが送信されるまでの変動分を除くことができるため、高精度の時刻あわせが可能となる。
【００３８】
つまり、本実施の形態では、実際にネットワークインタフェース部により時刻同期用通信フレームが送信される時刻と時刻同期用通信フレームに示される推定時刻とを一致ことにより、時刻の通知を１つのフレーム送信で行うことができる。
また、このため、ネットワークの伝送制御レベルでの修正も不要である。
【００３９】
以上、本実施の形態では、以下の要素を有する同期方式を説明した。
ネットワークに接続されているノード間で通信フレームを送信する時間を共有し、かつノードでは、一定周期で通信フレーム送出時間が開始されるネットワークインタフェースを持つ。
ネットワークに接続される１つのノードが時刻同期元の時計を持ち、他のノードは、ノードが持つ時計を、時刻同期の元となるノードが持つ時計と同期する。
時刻同期元の時計を持つノードは、ネットワークインタフェースが通信フレームの送信を完了すると、ネットワークインタフェースから送信完了通知を受取る。
送信完了通知の間隔を記録し、記録した間隔と現在時刻を元に、次の送信完了通知到着時間の推定値を求める。求めた推定値を時刻情報として含んだ時刻同期用通信フレームを、時刻同期元の時計を持つノードが送信する。
時刻を合わせる側のノードでは、受信した時刻同期用通信フレームに含まれる時刻情報にもとづいて、ノードが持つ時計を変更する。
【００４０】
実施の形態２．
以上の実施の形態１では、マスタ機器で時刻情報の送信とは別に行う周期通信によって送信完了通知受信間隔を求めるようにしているが、次に時刻情報の通知により送信完了通知受信間隔を求める実施形態を示す。
【００４１】
図７は、この場合のマスタ機器（１）の構成例を示す。
マスタ機器（１）は、クロック（１１）、送信完了間隔算出部（１３）、ネットワークインタフェース部（１４）、送信完了時刻保持部（１５）、時刻情報送信部（１６）、時刻算出部（１７）を持つ。
本実施の形態に係るマスタ機器（１）では、図２の構成と比較して、周期通信送信部（１２）が存在せず、周期通信送信部（１２）の通信フレームの周期送信に代わって時刻情報送信部（１６）が時刻同期用通信フレームを周期的にネットワークインタフェース部（１４）から送信する。
【００４２】
図８を参照して、本実施の形態に係わる時刻同期を説明する。
図８は、時刻同期に使用する、送信完了間隔および送信完了時刻の収集に係わる動作例を示している。
【００４３】
マスタ機器（１）の時刻算出部（１７）は、一定の周期で到来する時刻算出タイミングが到来すると次のデータ送信期間における送信完了時刻を推定し、推定した送信完了時刻と時刻推定の推定確度レベルを時刻情報送信部（１６）に通知する。
なお、本実施の形態における時刻算出タイミングの周期はネットワークインタフェース部（１４）のデータ送信期間の周期と同期している必要はないが、時刻算出タイミングの周期の間隔は、ネットワークインタフェース部（１４）のデータ送信期間の周期の間隔と同じか、ネットワークインタフェース部（１４）のデータ送信期間の周期の間隔よりも短い。
【００４４】
時刻情報送信部（１６）は、時刻同期用通信フレーム（時刻通知データ）を生成して、ネットワークインタフェース部（１４）に渡す（Ｓ８０１）。
本実施の形態に係る時刻同期用通信フレームには、推定値である時刻情報の推定が十分であるか不十分であるかを示す情報（つまり、時刻算出部（１７）から通知された推定確度レベルを示す情報）である時刻情報推定状況情報が付加されている。
推定が不十分とは、マスタ機器（１）の立上げ直後のように、通信が行われていないことにより、送信完了通知を受取っていない、または受取っていても受け取り回数が少ないために送信完了間隔の算出が出来ていないような場合を指す。
【００４５】
ネットワークインタフェース部（１４）は、図４に記載したように、マスタ機器（１）に割当てられているデータ送信期間において、時刻同期用通信フレームを送信する（Ｓ８０２）。
ネットワークインタフェース部（１４）は、時刻同期用通信フレームのネットワーク（３）への送出が完了すると（Ｓ８０３）、送信完了時刻保持部（１５）に対し、送信完了を表す送信完了通知を渡す（Ｓ８０４）。このとき、並行して、時刻情報送信部（１６）にも送信完了通知を渡す（図示せず）。
送信完了時刻保持部（１５）は、ネットワークインタフェース部（１４）から送信完了通知を受取ると（Ｓ８０４）、クロック（１１）から現在の時刻（ネットワークインタフェース部（１４）が送信完了通知を出力した時刻）を入手して（Ｓ８０５）、保持する。
送信完了時刻保持部（１５）は、Ｓ８０５でクロック（１１）から入手した現在の時刻と、１回前に入手した時刻の２つを、送信完了間隔算出部（１３）に渡す（Ｓ８０６）。
送信完了間隔算出部（１３）は、送信完了時刻保持部（１５）から渡された、現在時刻と１回前の送信完了時刻の差分を求め、送信完了間隔として保持する。
【００４６】
スレーブ機器（２）のネットワークインタフェース部（２４）は、マスタ機器（１）のネットワークインタフェース部（１４）が送信した時刻同期用通信フレームを受信し（Ｓ８０７）、時刻変更部（２３）に渡す（Ｓ８０８）。
時刻変更部（２３）は、時刻同期用通信フレームから時刻情報と時刻情報推定状況情報を取り出す。
取り出した時刻情報推定状況情報が、推定が不十分であることを表している場合には、取り出した時刻情報を破棄し、クロック（２１）の時刻変更は行わない。
取り出した時刻情報推定状況情報が、推定が十分であることを表している場合には、取り出した時刻情報値をスレーブ機器（２）のクロック（２１）に設定する（Ｓ８０９）。
【００４７】
以上のように、時刻情報の送信により発生する送信完了通知から送信完了間隔を得ることでも、実施の形態１と同様の効果を得ることができる。
【００４８】
実施の形態３．
以上の実施の形態では、ネットワークインタフェースから通知される送信完了通知を元に、送信完了間隔を得ていた。
次に、特定の通信フレームに対する送信完了通知を元に送信完了間隔を得る形態を示す。
【００４９】
図９は、マスタ機器（１）の構成例を示す。
マスタ機器（１）は、クロック（１１）、周期通信送信部（１２）、送信完了間隔算出部（１３）、ネットワークインタフェース部（１４）、送信完了時刻保持部（１５）、時刻情報送信部（１６）、時刻算出部（１７）、送信完了通知判定部（１８）、非周期通信送信部（１９）を持つ。
【００５０】
送信完了通知判定部（１８）は、ネットワークインタフェース部（１４）からの送信完了通知を選択する機能である。
非周期通信送信部（１９）は、非周期的に通信フレームを生成し、ネットワークインタフェース部（１４）を介してスレーブ機器（２）に通信フレームを送信する機能である。
非周期通信送信部（１９）は、非周期送信データ生成部の例である。
ネットワークインタフェース部（１４）は、非周期通信送信部（１９）で生成された通信フレームは、図４に示したデータ送信期間から独立してネットワークに送信する。
また、ネットワークインタフェース部（１４）は、非周期通信送信部（１９）で生成された通信フレームを送信した場合にも、送信完了通知を出力する。
このため、ネットワークインタフェース部（１４）は、周期通信送信部（１２）で生成された通信フレームの送信完了時と、非周期通信送信部（１９）で生成された通信フレームの送信完了時の双方において送信完了通知を出力する。
送信完了通知判定部（１８）は、ネットワークインタフェース部（１４）から出力された送信完了通知を入力し、入力した送信完了通知が、周期通信送信部（１２）で生成された通信フレームの送信完了時に出力された送信完了通知であるか否かを判定し、周期通信送信部（１２）で生成された通信フレームの送信完了時に出力された送信完了通知である場合に、当該送信完了通知をネットワークインタフェース部（１４）が出力した時刻を送信完了時刻保持部（１５）に通知する。
【００５１】
図１０は、スレーブ機器（２）の構成例である。
スレーブ機器（２）は、クロック（２１）、周期通信受信部（２２）、時刻変更部（２３）とネットワークインタフェース部（２４）、非周期通信受信部（２５）を持つ。
非周期通信受信部（２５）は、ネットワーク（３）およびネットワークインタフェース部（２４）を介して、マスタ機器（１）の非周期通信送信部（１９）が送信する通信フレームを受信する機能である。
【００５２】
図１１を参照して、本実施の形態に係わる時刻同期を説明する。
図１１は、時刻同期に使用する、送信完了間隔および送信完了時刻の収集に係わる動作例を示している。
【００５３】
マスタ機器（１）の周期通信送信部（１２）は、一定の周期で通信フレームを生成して、送信完了通知判定部（１８）に渡す（Ｓ１１０１）。
送信完了通知判定部（１８）は、受取った通信フレームと、送信完了通知との関連付けに必要な情報を記録し、ネットワークインタフェース部（１４）に渡す（Ｓ１１０２）。
ネットワークインタフェース部（１４）は、図４に記載したように、マスタ機器（１）に割当てられているデータ送信期間にて、受取った通信フレームを送信する（Ｓ１１０３）。
非周期通信送信部（１９）は、非周期的に通信フレームを生成して、ネットワークインタフェース部（１４）に渡す（Ｓ１１０４）。
ネットワークインタフェース部（１４）は、Ｓ１１０４で受取った通信フレームを送信する（Ｓ１１０３）。
ネットワークインタフェース部（１４）は、通信フレームのネットワーク（３）への送出が完了すると（Ｓ１１０５）、送信完了通知判定部（１８）に対し、送信完了を表す送信完了通知を渡す（Ｓ１１０６）。
送信完了通知判定部（１８）は、送信完了通知を入力すると、クロック（１１）から現在時刻を取得し（Ｓ１１０７）、当該時刻を一時的に保持する。
更に、送信完了通知判定部（１８）は、記録している関連付け情報を元に、Ｓ１１０６で受取った送信完了通知が周期通信で送信した通信フレームに関する送信完了通知であるか否かを判定し、周期通信で送信した通信フレームであれば、送信完了時刻保持部（１５）にＳ１１０７で取得した時刻を通知する（Ｓ１１０８）。
周期通信で送信した通信フレームでない場合は、何もしない。
送信完了時刻保持部（１５）は、Ｓ１１０８で送信完了通知判定部（１８）から時刻の情報を受取ると、当該時刻を送信完了時刻として保持する。
送信完了時刻保持部（１５）は、Ｓ１１０８で入手した送信完了時刻と、１回前に入手した送信完了時刻の２つを、送信完了間隔計測部（１３）に渡す（Ｓ１１０９）。
送信完了間隔計測部（１３）は、送信完了時刻保持部（１５）から渡された、Ｓ１１０８で入手した送信完了時刻と１回前の送信完了時刻の差分を求め、送信完了間隔として保持する。
【００５４】
スレーブ機器（２）のネットワークインタフェース部（２４）では、マスタ機器（１）のネットワークインタフェース部（１４）が送信した通信フレームを受信し（Ｓ１１１０）、マスタ機器（１）の周期通信送信部（１２）からの通信フレームであれば、周期通信受信部（２２）に渡す（Ｓ１１１１）。
マスタ機器（１）の非周期通信送信部（１９）からの通信フレームであれば、非周期通信受信部（２５）に渡す（Ｓ１１１２）。
時刻同期の動作は、実施の形態１で図６を用いて説明した動作例と同じである。
【００５５】
以上のように、マスタ機器では、非周期的に発生する通信に基づく送信完了通知は使用せず、周期的に行う通信の送信完了通知のみを送信完了間隔計測の対象とするように構成することで、マスタ機器が非周期的な通信を行う場合でも、実施の形態１と同様の効果を得ることが出来る。
【００５６】
実施の形態４．
本実施の形態では、実施の形態２で示した構成及び動作に加え、実施の形態３で実施の形態１に追加した構成及び動作を行うことで、周期的に行う通信の送信完了通知のみを送信完了間隔計測の対象とするように構成する。
つまり、本実施の形態のマスタ機器（１）では、実施の形態２で説明したように、周期通信送信部（１２）が存在せず、時刻算出部（１７）が周期的に次のデータ送信期間における送信完了時刻を推定し、推定した送信完了時刻と推定確度レベルを時刻情報送信部（１６）に通知し、時刻情報送信部（１６）が時刻情報推定状況情報が含まれる時刻同期用通信フレームを生成する。
そして、ネットワークインタフェース部（１４）がデータ送信期間において時刻同期用通信フレームを送信し、時刻同期用通信フレームの送信完了通知を出力する。
更に、本実施の形態のマスタ機器（１）では、図９に示した送信完了通知判定部（１８）と非周期通信送信部（１９）を有し、ネットワークインタフェース部（１４）は、非周期通信送信部（１９）により生成された通信フレームをデータ送信期間から独立して送信し、当該通信フレームの送信完了時に送信完了通知を出力する。
送信完了通知判定部（１８）は、ネットワークインタフェース部（１４）から出力された送信完了通知を入力し、入力した送信完了通知が時刻同期用通信フレームの送信完了時に出力された送信完了通知であるかを判定し、時刻同期用通信フレームの送信完了時に出力された送信完了通知である場合に、当該送信完了通知がネットワークインタフェース部（１４）から出力された時刻を送信完了時刻保持部（１５）に出力する。
その他の動作は、実施の形態２及び実施の形態３に示した通りである。
【００５７】
このようにすることで、時刻情報の通知により送信完了通知受信間隔を求め、マスタ機器が非周期的な通信を行う場合でも、実施の形態１と同様の効果を得ることが出来る。
【００５８】
最後に、実施の形態１〜４に示したマスタ機器（１）のハードウェア構成例について説明する。
図１２は、実施の形態１〜４に示すマスタ機器（１）のハードウェア資源の一例を示す図である。
なお、図１２の構成は、あくまでもマスタ機器（１）のハードウェア構成の一例を示すものであり、マスタ機器（１）のハードウェア構成は図１２に記載の構成に限らず、他の構成であってもよい。
【００５９】
図１２において、マスタ機器（１）は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態１〜４で説明した「送信完了時刻保持部（１５）」は、ＲＡＭ９１４、磁気ディスク装置９２０等により実現される。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００６０】
通信ボード９１５は、図１に示すように、ネットワークに接続されている。例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されている。
【００６１】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【００６２】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００６３】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
マスタ機器（１）の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００６４】
上記プログラム群９２３には、実施の形態１〜４の説明において「〜部」（「送信完了時刻保持部（１５）」以外、以下同様）として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００６５】
ファイル群９２４には、実施の形態１〜４の説明において、「〜の判断」、「〜の判定」、「〜の計算」、「〜の算出」、「〜の計測」、「〜の生成」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１〜４で説明している動作フローの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００６６】
また、実施の形態１〜４の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態１〜４で説明した動作フローに示すステップ、手順、処理により、本発明に係るデータ処理装置を方法として把握することができる。
また、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１〜４の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態１〜４の「〜部」の手順や方法をコンピュータに実行させるものである。
【００６７】
このように、実施の形態１〜４に示すマスタ機器（１）は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【００６８】
１  マスタ機器、２  スレーブ機器、１１  クロック、１２  周期通信送信部、１３  送信完了間隔算出部、１４  ネットワークインタフェース部、１５  送信完了時刻保持部、１６  時刻情報送信部、１７  時刻算出部、１８  送信完了通知判定部、１９  非周期通信送信部、２１  クロック、２２  周期通信受信部、２３  時刻変更部、２４  ネットワークインタフェース部、２５  非周期通信受信部。
【図１】
2011239312.tif 000003
【図２】
2011239312.tif 000004
【図３】
2011239312.tif 000005
【図４】
2011239312.tif 000006
【図５】
2011239312.tif 000007
【図６】
2011239312.tif 000008
【図７】
2011239312.tif 000009
【図８】
2011239312.tif 000010
【図９】
2011239312.tif 000011
【図１０】
2011239312.tif 000012
【図１１】
2011239312.tif 000013
【図１２】
2011239312.tif 000014