IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECプラットフォームズ株式会社の特許一覧

特開2024-130027マルチホストシステム、時刻同期方法、及びプログラム
<>
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図1
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図2
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図3
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図4
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図5
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図6
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図7
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図8
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図9
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図10
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図11
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図12
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図13
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図14
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図15
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図16
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図17
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図18
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図19
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図20
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図21
  • 特開-マルチホストシステム、時刻同期方法、及びプログラム 図22
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024130027
(43)【公開日】2024-09-30
(54)【発明の名称】マルチホストシステム、時刻同期方法、及びプログラム
(51)【国際特許分類】
   H04L 7/00 20060101AFI20240920BHJP
【FI】
H04L7/00 990
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023039505
(22)【出願日】2023-03-14
(71)【出願人】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【弁理士】
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】疋田 和禎
【テーマコード(参考)】
5K047
【Fターム(参考)】
5K047AA18
5K047BB13
5K047GG09
5K047GG57
5K047MM56
(57)【要約】
【課題】伝送路の遅延に応じて、すべてのホストの時刻を正確に同期させる。
【解決手段】主ホスト40は、順方向にクロックを送信し、環状の伝送路上の複数の従ホスト50a~50cを介して当該主ホスト40に戻ってくるまでの時間から環状の伝送路全体の遅延時間を測定する。主ホスト40は、順方向にパルスを送信するともに、逆方向にパルスを送信する。従ホスト50a~50cは、各々、主ホスト40から順方向(もしくは逆方向)に送信されたパルスを受信してから、主ホスト40からから逆方向(もしくは順方向)に送信されたパルスを受信するまでの時間の計測し、計測した時間から主ホスト40との間の順方向における遅延時間を算出し、歩進クロックを遅延時間に応じて調整する。
【選択図】図1
【特許請求の範囲】
【請求項1】
環状の伝送路上に配置された主ホストと従ホストとの順方向における遅延時間を算出する遅延算出手段と、
前記遅延時間に基づいて調整した歩進クロックを生成する歩進クロック生成手段と、
前記調整された歩進クロックに基づいて前記従ホストにおける時刻を歩進する時刻歩進手段と、
を備えることを特徴とするマルチホストシステム。
【請求項2】
前記環状の伝送路における全体の遅延時間を取得する全遅延時間取得手段をさらに備え、
前記遅延算出手段は、
前記全体の遅延時間と、前記主ホストから前記環状の伝送路の順方向に送信された第1のパルスと前記主ホストから前記環状の伝送路の逆方向に送信された第2のパルスとの前記従ホストへの到達時刻の差分とに基づいて、前記主ホストと前記従ホストとの順方向における前記遅延時間を算出する、ことを特徴とする請求項1に記載のマルチホストシステム。
【請求項3】
前記歩進クロック生成手段は、過去の遅延時間と前記遅延算出手段によって新たに算出された前記遅延時間との差分に応じて前記歩進クロックの周期を調整する、ことを特徴とする請求項1に記載のマルチホストシステム。
【請求項4】
前記主ホストから前記環状の伝送路の順方向に送信された第1のパルスを受信すると、前記第1のパルスを前記環状の伝送路の順方向に送信する遅延計測パルス送受信手段と、前記主ホストから前記環状の伝送路の逆方向に送信された第2のパルスを受信すると、前記第2のパルスを前記環状の伝送路の逆方向に送信する遅延計測パルス送受信手段とをさらに備える、ことを特徴とする請求項1に記載のマルチホストシステム。
【請求項5】
環状の伝送路上に配置された主ホストから前記環状の伝送路の順方向に所定のクロックを送信した時刻と、前記所定のクロックが前記環状の伝送路上に配置された複数の従ホストを伝播して前記主ホストに戻ってきた時刻とに基づいて、前記環状の伝送路における全体の遅延時間を算出する遅延算出手段と、
前記全体の遅延時間を前記環状の伝送路上に配置された前記複数の従ホストに送信する時刻データ送受信手段と、
前記環状の伝送路の順方向に第1のパルスを送信するとともに、前記環状の伝送路の逆方向に第2のパルスを送信する遅延計測パルス送受信手段と、
を備え、
前記複数の従ホストは、各々、前記全体の遅延時間と、前記第1のパルスと前記第2のパルスとの到達時刻の差分とに基づいて、前記主ホストとの順方向における遅延時間を算出し、前記遅延時間に基づいて調整した歩進クロックに基づいて時刻を歩進する、
ことを特徴とするマルチホストシステム。
【請求項6】
環状の伝送路上に配置された主ホストと従ホストとの順方向における遅延時間を算出するステップと、
前記遅延時間に基づいて調整した歩進クロックを生成するステップと、
前記調整された歩進クロックに基づいて前記従ホストにおける時刻を歩進するステップと、
を備えることを特徴とする時刻同期方法。
【請求項7】
情報処理装置のコンピュータを、
環状の伝送路上に配置された主ホストと従ホストとの順方向における遅延時間を算出する遅延算出機能、
前記遅延時間に基づいて調整した歩進クロックを生成する歩進クロック生成機能、
前記調整された歩進クロックに基づいて時刻を歩進する時刻歩進機能、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マルチホストシステム、時刻同期方法、及びプログラムに関する。
【背景技術】
【0002】
近年、マルチホスト内での時刻を同期させる技術が一般的になりつつある。代表的な技術がNTP(ネットワーク・タイム・プロトコル)である。しかしながら、コンピュータシステムが高精度化するにつれ、マイクロ秒オーダでのより厳密なホスト間の時刻同期が必要になった場合には、NTPに代表される、時刻の変動誤差を吸収する仕組みの技術では、対応しきれなくなっている。
【0003】
例えば、特許文献1では、デイジーチェーンで接続された制御装置システムにおいて、通信回路を迂回するルートを作るバイパスを設け、主装置と隣接していない特定従装置の間で時刻の同期を行う場合の技術について開示されている。当該技術においては、主装置からの時刻情報を特定従装置に送信する際に、経由する従装置の通信回路を上記バイパスによって迂回することで、通信回路内で時刻情報の同期が行われることにより生じる位相差の誤差を低減する。
【0004】
また、特許文献2では、ネットワーク時刻に関連付けられたネットワークタイムスタンプと、複数のセカンダリタイマによって生成し、ネットワークタイムパケットに関連付けられたローカルタイムスタンプとを比較し、比較結果に基づいてネットワーク時刻と合致するようにプライマリタイマを調整する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2018-157456号公報
【特許文献2】特開2022-145505号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した特許文献1、2では、主装置(主ホスト)から送信した時刻情報が特定従装置(従ホスト)に到達するまでの伝送路の遅延を考慮していないため、すべてのホストの時刻を正確に同期させることができないという問題がある。
【0007】
そこで本発明は、上述の課題を解決するマルチホストシステム、時刻同期方法、及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【0008】
上述した課題を解決するために、本発明の一態様は、環状の伝送路上に配置された主ホストと従ホストとの順方向における遅延時間を算出する遅延算出手段と、前記遅延時間に基づいて調整した歩進クロックを生成する歩進クロック生成手段と、前記調整された歩進クロックに基づいて前記従ホストにおける時刻を歩進する時刻歩進手段と、を備えることを特徴とする。
【0009】
また、本発明の一態様は、環状の伝送路上に配置された主ホストから前記環状の伝送路の順方向に所定のクロックを送信した時刻と、前記所定のクロックが前記環状の伝送路上に配置された複数の従ホストを伝播して前記主ホストに戻ってきた時刻とに基づいて、前記環状の伝送路における全体の遅延時間を算出する遅延算出手段と、前記全体の遅延時間を前記環状の伝送路上に配置された前記複数の従ホストに送信する時刻データ送受信手段と、前記環状の伝送路の順方向に第1のパルスを送信するとともに、前記環状の伝送路の逆方向に第2のパルスを送信する遅延計測パルス送受信手段と、を備え、前記複数の従ホストは、各々、前記全体の遅延時間と、前記第1のパルスと前記第2のパルスとの到達時刻の差分とに基づいて、前記主ホストとの順方向における遅延時間を算出し、前記遅延時間に基づいて調整した歩進クロックに基づいて時刻を歩進する、ことを特徴とする。
【0010】
また、本発明の一態様は、環状の伝送路上に配置された主ホストと従ホストとの順方向における遅延時間を算出するステップと、前記遅延時間に基づいて調整した歩進クロックを生成するステップと、前記調整された歩進クロックに基づいて前記従ホストにおける時刻を歩進するステップと、を備えることを特徴とする。
【0011】
また、本発明の一態様は、情報処理装置のコンピュータを、環状の伝送路上に配置された主ホストと従ホストとの順方向における遅延時間を算出する遅延算出機能、前記遅延時間に基づいて調整した歩進クロックを生成する歩進クロック生成機能、前記調整された歩進クロックに基づいて時刻を歩進する時刻歩進機能、として機能させることを特徴とする。
【発明の効果】
【0012】
以上説明したように、伝送路の遅延に応じて、すべてのホストの時刻をより正確に同期させることができるという利点が得られる。
【図面の簡単な説明】
【0013】
図1】本発明の実施形態によるマルチホストシステム1の構成を示すブロック図である。
図2】本実施形態によるホストの構成を示すブロック図である。
図3】本実施形態による歩進クロック生成回路12で生成される歩進クロックの一例を示す概念図である。
図4】本実施形態による主ホスト40の動作を説明するためのフローチャートである。
図5】本実施形態による主ホスト40の動作を説明するためのフローチャートである。
図6】本実施形態による主ホスト40の動作を説明するためのフローチャートである。
図7】本実施形態による従ホスト50aの動作を説明するためのフローチャートである。
図8】本実施形態による従ホスト50aの動作を説明するためのフローチャートである。
図9】本実施形態による従ホスト50bの動作を説明するためのフローチャートである。
図10】本実施形態による従ホスト50bの動作を説明するためのフローチャートである。
図11】本実施形態による従ホスト50cの動作を説明するためのフローチャートである。
図12】本実施形態による従ホスト50cの動作を説明するためのフローチャートである。
図13】本実施形態において、主ホスト40、従ホスト50a~50c間の伝送路の遅延時間の一例を示す概念図である。
図14】本実施形態において、伝送路全体の遅延時間を示す概念図である。
図15】本実施形態において、従ホスト50aにおける遅延時間の計測方法を説明するための概念図である。
図16】本実施形態において、従ホスト50aにおける遅延時間の計測方法を説明するための概念図である。
図17】本実施形態において、従ホスト50bにおける遅延時間の計測方法を説明するための概念図である。
図18】本実施形態において、従ホスト50bにおける遅延時間の計測方法を説明するための概念図である。
図19】本実施形態において、従ホスト50cにおける遅延時間の計測方法を説明するための概念図である。
図20】本実施形態において、従ホスト50cにおける遅延時間の計測方法を説明するための概念図である。
図21】本実施形態によるマルチホストシステム100の最小構成を示すブロック図である。
図22】この開示の各実施形態に係る主ホストや、従ホストを実現可能な計算処理装置のハードウェア構成例を概略的に示すブロック図の一例である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態を、図面を参照して説明する。
【0015】
図1は、本発明の実施形態によるマルチホストシステム1の構成を示すブロック図である。図1において、マルチホストシステム1は、システムの基準となる時刻を他ホストに供給する主ホスト40と、主ホスト40から送信される時刻とクロックを共有する従ホスト50a~50cとが環状に配置されるように構成されている。主ホスト40となるホストは一つであり、予め決定されているものとする。主ホスト40以外は、従ホストとなり、複数個配置可能である(図示の例では、3つの従ホスト50a~50c)。
【0016】
また、本実施形態において、主ホスト40から見て伝送路の順方向と逆方向は統一されているものとする。ここで順方向とは、主ホスト40→従ホスト50a→従ホスト50b→従ホスト50c→主ホスト40となるような時計回りの方向であり、逆方向とは、主ホスト40→従ホスト50c→従ホスト50b→従ホスト50a→主ホスト40となるような反時計回りの方向である。
【0017】
主ホスト40、従ホスト50a~50cにおいて、それぞれの間を接続する伝送路の遅延時間は全て異なるわけではないが、全て同じであるわけでもなく、様々である。主ホスト40、従ホスト50a~50cにおいて、それぞれの間を接続する伝送路内の信号(パルス、クロック、時刻データなど)の全ては、それぞれの間の伝送路の遅延時間で送信先に到着するものとする。
【0018】
主ホスト40は、順方向にクロックを送信し、環状の伝送路上の複数の従ホスト50a~50cを介して当該主ホスト40に戻ってくるまでの時間から環状の伝送路全体の遅延時間を測定し、該全体の遅延時間を従ホスト50a~50cに送信する機能を有する。また、主ホスト40は、従ホスト50a~50cの各々で、主ホスト40との間における順方向の遅延時間を算出させるために、順方向にパルスを送信するともに、逆方向にパルスを送信する機能を有する。また、主ホスト40は、設定した時間になると、時刻歩進用のパルスを従ホスト50a~50cに送信する機能を有する。
【0019】
従ホスト50a~50cは、各々、主ホスト40から順方向に送信されるクロックを受信すると、そのまま順方向に送信する機能を有する。また、従ホスト50a~50cは、各々、主ホスト40から順方向に送信される全体の遅延時間を受信すると、その全体の遅延時間を保持するとともに、順方向に送信する機能を有する。また、従ホスト50a~50cは、各々、主ホスト40から順方向(もしくは逆方向)に送信されたパルスを受信してから、主ホスト40から逆方向(もしくは順方向)に送信されたパルスを受信するまでの時間の計測する機能を有する。また、従ホスト50a~50cは、各々、計測した時間から主ホスト40との間の順方向における遅延時間を算出し、該遅延時間に応じて歩進クロックを調整する機能を有する。
【0020】
図2は、本実施形態によるホストの構成を示すブロック図である。図2に示すように、図1に示す主ホスト40及び従ホスト50a~50cは同一の構成を有している。主ホスト40及び従ホスト50a~50cは、時刻カウンタ回路10(時刻歩進手段)、オシレータ11、歩進クロック生成回路12(歩進クロック生成手段)、クロック送受信回路13、遅延計測パルス送受信回路14a、14b(遅延計測パルス送受信手段)、遅延算出回路15(遅延算出手段)、時刻データ送受信回路16(全遅延時間取得手段;時刻データ送受信手段)、及び外部時刻取得回路17を備えている。
【0021】
時刻カウンタ回路10は、歩進クロック生成回路12からの歩進クロックを受信し、歩進クロックに従って時刻を歩進することで、主ホスト40及び従ホスト50a~50cそれぞれの時刻を決定する(各ホストの主時刻歩進回路)。時刻カウンタ回路10は、例えば、年月日から分、秒までの時刻を表現することができる。オシレータ11は、例えば、1MHzのオシレータからなり、主ホスト40であれば、クロック送受信回路13にクロックを送信する。
【0022】
また、時刻カウンタ回路10は、自身の時刻を設定する時刻設定機能と、自身の時刻を歩進し始める歩進開始機能と、自身の時刻+1秒の時刻を時刻データ(未来時刻)として時刻データ送受信回路16に書き込む時刻データ書き込み機能と、設定された設定時刻になると遅延計測パルス送受信回路14a、14bにパルス送信指示を出すタイマ機能と、遅延計測パルス送受信回路14a、14bにパルス送信指示を出すパルス送信指示機能を有する。
【0023】
歩進クロック生成回路12は、クロック送受信回路13から受信するクロックを、例えば1000分周したクロックを生成する。このクロックを歩進クロックと呼ぶ。歩進クロック生成回路12は、クロック送受信回路13から、主ホストのオシレータ11のクロック(1MHz)を受信するので、1000分周した1KHzの歩進クロックを時刻カウンタ回路10に送信することになる。また、歩進クロック生成回路12は、遅延算出回路15から書き込まれた遅延時間を記憶する機能と、遅延計測パルス送受信回路14a、14bからの指示があった場合、遅延算出回路15から書き込まれた新旧の遅延時間の差分を算出し、算出した遅延時間の差分に基づいて歩進クロックを調整する歩進クロック調整機能とを有する。
【0024】
歩進クロック調整機能は、遅延算出回路15が歩進クロック生成回路12に対して複数回目の遅延時間の書き込みを行う場合、すでに書き込まれている遅延時間(何も書き込まれていない場合は0とする)から新しく書き込まれた遅延時間を減算し、減算結果がマイナスであった場合には、その分速くした(周期を短くした)歩進クロックを時刻カウンタ回路10に送信し、減算結果がプラスであった場合には、その分遅くした(周期を長くした)歩進クロックを時刻カウンタ回路10に送信する。
【0025】
例えば、遅延算出回路15が歩進クロック生成回路12に新しく書き込んだ遅延時間が8μsで、すでに歩進クロック生成回路12に書き込んでいた遅延時間が3μsだった場合、歩進クロック生成回路12は、すでに自回路に書き込まれた遅延時間から新しく書き込まれた遅延時間を減算すると、減算結果は-5μsとなるので、歩進クロック生成回路12は、5μs分時刻を速くした歩進クロックを、時刻カウンタ回路10に送信する(図3を参照)。
【0026】
クロック送受信回路13は、オシレータ11もしくは逆方向から受信するクロックA1を、歩進クロック生成回路12、遅延算出回路15、及び他のホストに順方向に送信する。より詳細には、クロック送受信回路13は、オシレータ11からクロックを受信したことを契機に、遅延算出回路15にパルスを出力し、その後、逆方向のホストからクロックA1を受信したことを契機に再び遅延算出回路15にパルスを出力する。クロック送受信回路13は、オシレータ11からクロックを受信している場合には、逆方向のホストから受信したクロックを使用せず、オシレータ11から受信したクロックA1を、歩進クロック生成回路12、遅延算出回路15、及び順方向のホストに送信する。
【0027】
主ホスト40、従ホスト50a~50cの各々は、2つの遅延計測パルス送受信回路14a、14bを備えており、それぞれパルスを受信するホストの方向と、パルスを送信するホストの方向とが決まっている。図2に示す例では、遅延計測パルス送受信回路14aが、順方向でパルスC1、E1を送受信し、遅延計測パルス送受信回路14bが、逆方向でパルスD1を送受信する。また、遅延計測パルス送受信回路14a、14bは、歩進開始機能を使用して時刻カウンタ回路10の時刻歩進を開始させる。
【0028】
なお、図1に示すブロック図からも分かるように、時計回りが順方向、反時計回りが逆方向であるので、主ホスト40では、左から右への方向が順方向、左から右への方向が逆方向となり、従ホスト50bでは、左から右への方向が順方向、左から右への方向が逆方向となる。しかしながら、図2では、図1の方向と図2の入出力を示す矢印の方向に関係なく、一意に、遅延計測パルス送受信回路14aが順方向に対応し、遅延計測パルス送受信回路14bが逆方向に対応することとする。
【0029】
また、遅延計測パルス送受信回路14a、14bは、上述したように、隣接するホストにパルスC1、D1、E1を送出する機能と、パルスC1、D1、E1を受信したことを契機にパルスC1、D1、E1を受信した方向とは反対側のホストと遅延算出回路15とに送信する機能と、2回目のパルスC1又はD1を逆方向のホストから受信した場合のみ、2回目のパルスC1又はD1を受信したタイミングで、時刻カウンタ回路10に時刻歩進の指示を行い、歩進クロック生成回路12にクロックの調整を指示する機能と、3回目以降の時刻歩進用のパルスE1を受信した場合のみ、3回目以降のパルスE1を受信したタイミングで歩進クロック生成回路12にクロックの調整を指示する機能を有する。
【0030】
遅延算出回路15は、上述した時刻設定機能を使用して時刻カウンタ回路10に設定時刻(後述)を書き込む。また、主ホスト40の遅延算出回路15は、クロック送受信回路13からパルスを受信したことを契機に時間の計測を開始し、再びクロック送受信回路13からのパルスを受信したことを契機に時間の計測を終了し、時刻データ送受信回路16に計測した計測時間を全体の遅延時間(後述)として書き込む。
【0031】
従ホスト50a~50cの遅延算出回路15は、遅延計測パルス送受信回路14a又は14bからパルスが入力されてから再び遅延計測パルス送受信回路14a又は14bからパルスを入力されるまでの時間を、クロック送受信回路13から受信するクロックをカウントすることで計測し、順方向と逆方向とにおける遅延時間の差分を示す遅延差時間(後述)を算出する。その後、遅延算出回路15は、時刻データ送受信回路16から書き込まれた時刻データと全体の遅延時間と、自回路で計測した遅延差時間とから、主ホスト40からの遅延時間を考慮した設定時刻を、時刻カウンタ回路10にms(ミリ秒)単位の時間まで書き込み、歩進クロック生成回路12にμs(マイクロ秒)単位の時間で書き込む。なお、主ホスト40の遅延算出回路15は、遅延計測パルス送受信回路14a、14bからパルスを受信しても、特に何もしない。
【0032】
時刻データ送受信回路16は、時刻データと全体の遅延時間とを含むデータB1を順方向のホストに送信する。また、時刻データ送受信回路16は、時刻データと全体の遅延時間とを含むデータB1を記憶する記憶機能と、全体の遅延時間が書き込まれると、時刻カウンタ回路10に通知する完了通知機能と、時刻データが書き込まれると、順方向のホストに時刻データと全体の遅延時間とを含むデータB1を送信するデータ送信機能と、送信したデータB1が逆方向のホストから返ってきた際に時刻カウンタ回路10に通知する時刻データ受信通知機能とを有する。外部時刻取得回路17は、外部から時刻を取得し、時刻カウンタ回路10に供給する。
【0033】
図4乃至図12は、本実施形態によるマルチホストシステム1の起動が完了した後、主ホスト40が外部時刻を取得し、その時刻に従ホスト50a~50cを同期させる動作を説明するためのフローチャートである。図4乃至図6は、本実施形態による主ホスト40の動作を説明するためのフローチャートである。図7及び図8は、本実施形態による従ホスト50aの動作を説明するためのフローチャートである。図9及び図10は、本実施形態による従ホスト50bの動作を説明するためのフローチャートである。図11及び図12は、本実施形態による従ホスト50cの動作を説明するためのフローチャートである。
【0034】
(主ホスト40の動作)
まず、主ホスト40では、オシレータ11が、クロック送受信回路13にクロックを送信する(ステップS10)。クロック送受信回路13は、クロックを受信したか否かを判断し(ステップS12)、オシレータ11からクロックを受信すると(ステップS12のYES)、遅延算出回路15にパルスを出力するとともに(ステップS14)、歩進クロック生成回路12と、遅延算出回路15と、順方向の従ホスト50aとにクロックA1を送信する(ステップS16)。次に、遅延算出回路15は、クロック送受信回路13からパルスを受信したか否かを判断し(ステップS18)、クロック送受信回路13からのパルスを受信すると(ステップS18のYES)、クロック送受信回路13からのクロックで時間(全体の遅延時間)の計測を開始する(ステップS20)。
【0035】
次に、クロック送受信回路13は、従ホスト50cからクロックA1を受信したか否かを判断する(ステップS22)。当該クロックA1は、上記ステップS16で送信したクロックA1が従ホスト50a→従ホスト50b→従ホスト50cに順次伝播され、クロックA1を受信した従ホスト50cが主ホスト40に送信したクロックである。つまり、クロックが環状の伝送路を一周して戻ってきたか否かを判断する。そして、従ホスト50cからクロックA1を受信していない場合には(ステップS22のNO)、環状の伝送路を一周していないので、受信するまで待機する。
【0036】
(従ホスト50aの動作)
一方、従ホスト50aでは、クロック送受信回路13が、主ホスト40から上記クロックA1を受信したか否かを判断する(図7のステップS60)。そして、主ホスト40から上記クロックA1を受信しない場合には(ステップS60のNO)、受信するまで待機する。一方、主ホスト40から上記クロックA1を受信すると(ステップS60のYES)、クロック送受信回路13は、歩進クロック生成回路12と、遅延算出回路15と、順方向の従ホスト50bとにクロックA1を送信する(ステップS62)。
【0037】
(従ホスト50bの動作)
従ホスト50bでは、クロック送受信回路13が、従ホスト50aからクロックA1を受信したか否かを判断する(図9のステップS100)。そして、従ホスト50aから上記クロックA1を受信しない場合には(ステップS100のNO)、受信するまで待機する。一方、従ホスト50aからクロックA1を受信すると(ステップS100のYES)、クロック送受信回路13は、歩進クロック生成回路12と、遅延算出回路15と、順方向の従ホスト50cとにクロックA1を送信する(ステップS102)。
【0038】
(従ホスト50cの動作)
従ホスト50cでは、クロック送受信回路13が、従ホスト50bからクロックA1を受信したか否かを判断する(図11のステップS140)。そして、従ホスト50bから上記クロックA1を受信しない場合には(ステップS140のNO)、受信するまで待機する。一方、従ホスト50bからクロックA1を受信すると(ステップS140のYES)、クロック送受信回路13は、歩進クロック生成回路12と、遅延算出回路15と、順方向の主ホスト40とにクロックA1を送信する(ステップS142)。
【0039】
(主ホスト40の動作)
主ホスト40では、ステップS22で、クロックA1を受信するのを待機している状態で、従ホスト50cから上記クロックA1を受信すると(図4のステップS22のYES)、クロック送受信回路13は、遅延算出回路15に再びパルスを出力する(ステップS24)。遅延算出回路15は、遅延算出回路15からパルスを受信したか否かを判断し(ステップS26)、パルスを受信すると(ステップS26のYES)、時間(全体の遅延時間)の計測を終了する(ステップS28)。このように、環状に配置された主ホスト40、従ホスト50a、50b、50cにおいて、主ホスト40からクロックA1を送信してから、従ホスト50a、50b、50cを介して、最終的に従ホスト50cからクロックA1を受信するまでの時間を計測することで、伝送経路の全体の遅延時間が得られる。
【0040】
ここで、伝送経路の全体の遅延時間の計測について説明する。
図13は、本実施形態において、環状に配置された主ホスト40、従ホスト50a~50c間の各伝送路の遅延時間の一例を示す概念図である。図14は、伝送路全体の遅延時間の一例を示す概念図である。図13に示すように、主ホスト40と従ホスト50aとの間における伝送路の遅延時間は1μs、従ホスト50aと従ホスト50bとの間における伝送路の遅延時間は1μs、従ホスト50bと従ホスト50cとの間における伝送路の遅延時間は4μs、従ホスト50cと主ホスト40との間における伝送路の遅延時間は4μsと仮定する。
【0041】
また、図14に示すように、主ホスト40がパルスを送信してから主ホスト40に返ってくるまでの時間は、主ホスト40がパルスを送信したときに時間の計測を開始し、返ってきたパルスを受信したときに時間の計測を終了することで測定することができる。そして、計測した時間から、伝送路全体で、図示の例では、1+1+4+4=10μsの遅延があることが分かる。主ホスト40は、クロックA1を順方向に送信し、従ホスト50a→従ホスト50b→従ホスト50cと一周して最終的に従ホスト50cからクロックA1を受信するまでの時間を計測し、計測した時間から全体の遅延時間を算出する。その後、主ホスト40は、従ホスト50a~50cの各々に計測した全体の遅延時間を送信する(後述)。
【0042】
その後、遅延算出回路15は、時刻データ送受信回路16に全体の遅延時間を書き込む(ステップS30)。時刻データ送受信回路16は、全体の遅延時間が書き込まれると、時刻カウンタ回路10に通知を送信する(ステップS32)。通知を受けた時刻カウンタ回路10は、自身の時刻+1秒の時刻(以下、時刻データ)を時刻データ送受信回路16に書き込む(ステップS34)。時刻カウンタ回路10は、書き込んだ時刻データが示す時刻になると、自回路から遅延計測パルス送受信回路14a、14bに対してパルス送信を指示するタイマをセットする(ステップS36)。また、時刻データ送受信回路16は、時刻データが書き込まれると、順方向の従ホスト50aに時刻データと全体の遅延時間とを含むデータB1を送信する(ステップS38)。
【0043】
(従ホスト50aの動作)
従ホスト50aでは、時刻データ送受信回路16が、主ホスト40から上記データB1を受信したか否かを判断する(図7のステップS64)。そして、データB1を受信していない場合には(ステップS64のNO)、受信するまで待機する。一方、主ホスト40からデータB1を受信すると(ステップS64のYES)、そのデータB1を遅延算出回路15と順方向の従ホスト50bとに送信する(ステップS66)。
【0044】
(従ホスト50bの動作)
従ホスト50bでは、時刻データ送受信回路16は、従ホスト50aからデータB1を受信したか否かを判断する(図9のステップS104)。そして、データB1を受信していない場合には(ステップS104のNO)、受信するまで待機する。一方、従ホスト50aからデータB1を受信すると(ステップS104のYES)、そのデータB1を遅延算出回路15と順方向の従ホスト50cとに送信する(ステップS106)。
【0045】
(従ホスト50cの動作)
従ホスト50cでは、時刻データ送受信回路16は、従ホスト50bからデータB1を受信したか否かを判断する(ステップS144)。そして、データB1を受信していない場合には(ステップS144のNO)、受信するまで待機する。一方、従ホスト50bからデータB1を受信すると(ステップS144のYES)、そのデータB1を遅延算出回路15と順方向の主ホスト40とに送信する(ステップS146)。
【0046】
(主ホスト40の動作)
主ホスト40では、時刻データ送受信回路16が、従ホスト50cからデータB1を受信したか否かを判断する(図5のステップS40)。そして、データB1を受信していない場合には(ステップS40のNO)、受信するまで待機する。一方、従ホスト50cからデータB1を受信すると(ステップS40のYES)、時刻カウンタ回路10に通知する(ステップS42)。従ホスト50cからデータB1を受信したということは、全ての従ホスト50a~50cにデータB1が送信されたことを意味する。
【0047】
時刻カウンタ回路10は、上記通知を受け取ると、2つの遅延計測パルス送受信回路14a、14bにパルスの送信を指示する(ステップS44)。遅延計測パルス送受信回路14aは、時刻カウンタ回路10から上記パルス送信の指示を受け取ると、順方向の従ホスト50aと遅延算出回路15とにパルスC1を送信し、遅延計測パルス送受信回路14bは、逆方向の従ホスト50cと遅延算出回路15とにパルスD1とを送信する(ステップS46)。従ホスト50a~50cの各々は、順方向に送信されるパルスC1と逆方向に送信されるパルスD1とに基づいて主ホスト40との間における順方向の遅延時間を算出する(詳細は後述)。このとき、遅延算出回路15は、2つのパルスC1、D1を同時に受け取るが、特に何も行わない。
【0048】
(従ホスト50aの動作)
従ホスト50aでは、遅延計測パルス送受信回路14a、14bが、順方向(もしくは逆方向)のホストからパルスを受信したか否かを判断する(図7のステップS68)。具体的には、遅延計測パルス送受信回路14aが、順方向の主ホスト40からパルスC1を受信したか判断し、遅延計測パルス送受信回路14bが、逆方向の従ホスト50bからパルスD1に対応するパルスを受信したか判断する。つまり、主ホスト40と従ホスト50aとの間で順方向の遅延時間の方が逆方向の遅延時間より短い場合には、順方向のホスト、この場合であれば、主ホスト40からのパルスC1が先に遅延計測パルス送受信回路14aにより受信されることになる。一方、主ホスト40と従ホスト50aとの間で逆方向の遅延時間の方が順方向の遅延時間より短い場合には、逆方向のホスト、この場合であれば、従ホスト50bからのパルスD1が先に遅延計測パルス送受信回路14bにより受信されることになる。
【0049】
そして、順方向(もしくは逆方向)のホストからいずれのパルスも受信していない場合には(ステップS68のNO)、受信するまで待機する。一方、順方向(もしくは逆方向)のホストのどちらからパルスを受信すると(ステップS68のYES)、遅延計測パルス送受信回路14a、14bのいずれか一方は、遅延算出回路15と順方向(もしくは逆方向)のホストとにパルスC1又はD1を送信する(ステップS70)。
【0050】
本実施形態では、詳細は後述するが、従ホスト50aでは、主ホスト40と従ホスト50aとの間で順方向の遅延時間の方が逆方向の遅延時間より短いと仮定しているので、遅延計測パルス送受信回路14aが主ホスト40からのパルスC1を先に受信する。したがって、上記ステップS70では、遅延計測パルス送受信回路14aが、遅延算出回路15と順方向の従ホスト50bにパルスC1を送信することになる。次に、遅延算出回路15は、パルスC1を受信したことを契機に、主ホスト40からの遅延時間を算出するための時間の計測を開始する(ステップS72)。
【0051】
(従ホスト50bの動作)
従ホスト50bでは、遅延計測パルス送受信回路14a、14bが、順方向(もしくは逆方向)のホストからパルスを受信したか否かを判断する(図9のステップS108)。そして、順方向(もしくは逆方向)のホストからいずれのパルスも受信していない場合には(ステップS108のNO)、受信するまで待機する。一方、順方向(もしくは逆方向)のホストのどちらからパルスを受信すると(ステップS108のYES)、遅延計測パルス送受信回路14a、14bのいずれか一方は、遅延算出回路15と順方向(もしくは逆方向)のホストにパルスを送信する(ステップS110)。
【0052】
上述した従ホスト50aと同様に、本実施形態では、従ホスト50bでは、主ホスト40と従ホスト50bとの間で順方向の遅延時間の方が逆方向の遅延時間より短いと仮定している。ゆえに、遅延計測パルス送受信回路14aが従ホスト50aからのパルスC1を先に受信することになる。したがって、上記ステップS110では、遅延計測パルス送受信回路14aが、遅延算出回路15と順方向の従ホスト50cにパルスC1を送信することになる。次に、従ホスト50bの遅延算出回路15は、パルスC1を受信したことを契機に、主ホスト40からの遅延時間を算出するための時間の計測を開始する(ステップS112)。
【0053】
(従ホスト50cの動作)
従ホスト50cでは、遅延計測パルス送受信回路14a、14bが、順方向(もしくは逆方向)のホストからパルスに対応するパルスを受信したか否かを判断する(図11のステップS148)。そして、順方向(もしくは逆方向)のホストからいずれのパルスも受信していない場合には(ステップS148のNO)、受信するまで待機する。一方、順方向(もしくは逆方向)のホストのどちらからパルスを受信すると(ステップS148のYES)、遅延計測パルス送受信回路14a、14bのいずれか一方は、遅延算出回路15と順方向(もしくは逆方向)のホストにパルスを送信する(ステップS150)。
【0054】
上述した従ホスト50a、50bとは逆に、従ホスト50cでは、主ホスト40と従ホスト50aとの間で逆方向の遅延時間の方が順方向の遅延時間より短いと仮定している。ゆえに、遅延計測パルス送受信回路14bが主ホスト40からのパルスD1を先に受信することになる。したがって、上記ステップS150では、遅延計測パルス送受信回路14bが、遅延算出回路15と逆方向の従ホスト50cにパルスD1を送信することになる。次に、従ホスト50cの遅延算出回路15は、パルスD1を受信したことを契機に、主ホスト40からの遅延時間を算出するための時間の計測を開始する(ステップS152)。
【0055】
(従ホスト50aの動作)
従ホスト50aでは、遅延計測パルス送受信回路14a、14bが、逆方向(もしくは順方向)のホストからパルスを受信したか否かを判断する(図8のステップS74)。そして、逆方向(もしくは順方向)のホストのいずれからもパルスを受信していない場合には(ステップS74のNO)、受信するまで待機する。一方、逆方向(もしくは順方向)のホストのいずれからパルスを受信すると(ステップS74のYES)、パルスを受信した遅延計測パルス送受信回路14a、14bのいずれか一方は、遅延算出回路15と逆方向(もしくは順方向)のホストにパルスを送信する(ステップS76)。
【0056】
上述したように、本実施形態の従ホスト50aでは、順方向の遅延時間の方が逆方向の遅延時間より短いと仮定しているので、ステップS74では、遅延計測パルス送受信回路14bが、従ホスト50bから逆方向に送信されるパルスD1を受信したか否かを判断する。そして、ステップS74で、遅延計測パルス送受信回路14bが、従ホスト50bから逆方向に送信されたパルスD1を受信すると、上記ステップS76では、遅延計測パルス送受信回路14bが、遅延算出回路15と逆方向の主ホスト40にパルスD1を送信することになる。次に、遅延算出回路15は、従ホスト50bからパルスD1を受信したことを契機に、主ホスト40からの遅延時間を算出するための時間の計測を終了する(ステップS80)。この計測された時間は、従ホスト50aにおける、順方向と逆方向とにおける遅延時間の差分を示す遅延差時間である。
【0057】
遅延算出回路15は、時間の計測を終了すると、受信した時刻データ(自身の時刻+1秒の時刻)と、全体の遅延時間と、遅延差時間とを用いて下記式1から遅延時間を考慮した設定時刻を計算し、時刻カウンタ回路10と歩進クロック生成回路12とに計算した設定時刻を設定する(ステップS82)。このとき、従ホスト50aにおいて、時刻カウンタ回路10に書き込む設定時刻には、主ホスト40と従ホスト50aとの間の順方向の遅延時間が含まれる。また、時刻カウンタ回路10には、年月日からms分秒までの時刻が書き込まれ、歩進クロック生成回路12には、μsの桁の時刻が書き込まれる。
【0058】
上記遅延時間を考慮した設定時刻の計算方法は、以下の通りである。
時刻データ+(全体の遅延時間±自回路で計測した遅延差時間)/2=遅延時間を考慮した設定時刻……(式1)
【0059】
このとき、上記式1において、自回路で計測した遅延差時間を足すか引くかは、遅延算出回路15が遅延計測パルス送受信回路14a、14bのどちらが先にパルス(C1orD1)を受信したかに応じて決定する。すなわち、遅延計測パルス送受信回路14aが順方向に送信されたパルスC1を先に受信した場合には、自回路で計測した遅延差時間を減算し、遅延計測パルス送受信回路14bが逆方向に送信されたパルスD1を先に受信した場合には、自回路で計測した遅延差時間を加算する。したがって、従ホスト50aの場合には、遅延計測パルス送受信回路14aが主ホスト40から順方向に送信されたパルスC1を先に受信するので、全体の遅延時間から自回路で計測した遅延差時間を減算する。
【0060】
図15及び図16は、本実施形態による従ホスト50aにおける主ホスト40との間の遅延時間の計測動作を説明するための概念図である。従ホスト50a~50cの各々は、主ホスト40がパルスを出力した場合、パルスを出力したタイミングが不明のため、主ホスト40との間の遅延時間を直接計測することはできない。そこで、本実施形態では、上述したように、主ホスト40から順方向で送信されたパルスを受信したタイミングと、主ホスト40から逆方向で送信されたパルスを受信したタイミングとの時間差を計測することで、主ホスト40からの遅延時間を算出している。
【0061】
例えば、従ホスト50aでは、図15に示すように、主ホスト40から順方向で送信されたパルスがX=1μs分遅延し、主ホスト40から逆方向で送信されたパルスがY=9μs分遅延する。但し、従ホスト50aでは、X=1μsを直接知ることができない。そこで、従ホスト50aは、図16に示すように、主ホスト40が順方向に送信したパルス(1μsの遅延)を受信してから、従ホスト50bが逆方向に送信したパルス(9μsの遅延)を受信するまでの時間を計測する。この場合、計測された遅延差時間は8μsとなる。また、遅延計測パルス送受信回路14aが順方向に送信されたパルスを先に受信しているので、自回路で計測した遅延差時間を減算するため、符号を反転して-8とする。このとき、全体の遅延時間は、順方向も逆方向も同じであるため、以下の数式を得る。
【0062】
X+Y=10 ……(式2)
X-Y=-8 ……(式3)
【0063】
この式2、式3を解くと、2X=2、X=1となり、従ホスト50aにおいては、主ホスト40から1μsの遅延が生じていることが分かる。ゆえに、上記式1から、遅延時間を考慮した設定時刻は、時刻データ+(10-8)/2=時刻データ+1となり、時刻カウンタ回路10と歩進クロック生成回路12とに設定される。なお、時刻データは、主ホスト40自身の時刻+1秒の時刻である。
なお、この式2、式3を変換すると、
2X=全体の遅延時間±自回路(従ホスト50a)で計測した遅延差時間
X=(全体の遅延時間±自回路で計測した遅延差時間)/2となるため、上記式1が成立することが分かる。
【0064】
(従ホスト50bの動作)
従ホスト50bでは、遅延計測パルス送受信回路14a、14bが、逆方向(もしくは順方向)のホストからパルスを受信したか否かを判断する(図10のステップS114)。そして、逆方向(もしくは順方向)のホストのいずれからもパルスを受信していない場合には(ステップS114のNO)、受信するまで待機する。一方、逆方向(もしくは順方向)のホストのいずれからパルスを受信すると(ステップS114のYES)、パルスを受信した遅延計測パルス送受信回路14a、14bのいずれか一方は、遅延算出回路15と逆方向(もしくは順方向)のホストにパルスを送信する(ステップS116)。
【0065】
上述したように、本実施形態の従ホスト50bでは、順方向の遅延時間の方が逆方向の遅延時間より短いと仮定しているので、ステップS114では、遅延計測パルス送受信回路14bが、従ホスト50cから逆方向に送信されるパルスD1を受信したか否かを判断する。そして、ステップS114で、遅延計測パルス送受信回路14bが、従ホスト50cから逆方向に送信されたパルスD1を受信すると、上記ステップS116では、遅延計測パルス送受信回路14bが、遅延算出回路15と逆方向の従ホスト50aにパルスD1を送信することになる。次に、遅延算出回路15は、従ホスト50cからパルスD1を受信したことを契機に、主ホスト40からの遅延時間を算出するための時間の計測を終了する(ステップS118)。この計測された時間は、従ホスト50bにおける、順方向と逆方向とにおける遅延時間の差分を示す遅延差時間である。
【0066】
遅延算出回路15は、時間の計測を終了すると、受信した時刻データ(自身の時刻+1秒の時刻)と、全体の遅延時間と、遅延差時間とを用いて上記式1から遅延時間を考慮した設定時刻を計算し、時刻カウンタ回路10と歩進クロック生成回路12とに計算した設定時刻を設定する(ステップS120)。このとき、従ホスト50bにおいて、時刻カウンタ回路10に書き込む設定時刻には、主ホスト40と従ホスト50bとの間の順方向の遅延時間が含まれる。時刻カウンタ回路10には、年月日からms分秒までの時刻が書き込まれ、歩進クロック生成回路12には、μsの桁の時刻が書き込まれる。
【0067】
図17及び図18は、本実施形態による従ホスト50bにおける主ホスト40との間の遅延時間の計測動作を説明するための概念図である。従ホスト50bの場合には、図17に示すように、主ホスト40から順方向で送信されたパルスがX=1+1=2μs分遅延し、主ホスト40から逆方向で送信されたパルスがY=4+4=8μs分遅延する。但し、従ホスト50bでは、X=2μsを直接知ることができない。そこで、従ホスト50bは、図18に示すように、従ホスト50aが順方向に送信されたパルス(2μsの遅延)を受信してから、従ホスト50cが逆方向に送信したパルス(8μsの遅延)を受信するまでの時間を計測する。この場合、計測された遅延差時間は6μsとなる。また、遅延計測パルス送受信回路14aが順方向に送信されたパルスを先に受信することになるので、自回路で計測した遅延差時間を減算することになるので、符号を反転して-6とする。ゆえに、上記式1から、時刻カウンタ回路10と歩進クロック生成回路12とに設定される、遅延時間を考慮した設定時刻は、時刻データ+(10-6)/2=時刻データ+2となる。なお、時刻データは、主ホスト40自身の時刻+1秒の時刻である。
【0068】
(従ホスト50cの動作)
従ホスト50cでは、遅延計測パルス送受信回路14a、14bが、逆方向(もしくは順方向)のホストからパルスを受信したか否かを判断する(図12のステップS154)。そして、逆方向(もしくは順方向)のホストのいずれからもパルスを受信していない場合には(ステップS154のNO)、受信するまで待機する。一方、逆方向(もしくは順方向)のホストのいずれからパルスを受信すると(ステップS154のYES)、パルスを受信した遅延計測パルス送受信回路14a、14bのいずれか一方は、遅延算出回路15と逆方向(もしくは順方向)のホストにパルスを送信する(ステップS156)。
【0069】
上述したように、本実施形態の従ホスト50cでは、逆方向の遅延時間の方が順方向の遅延時間より短いと仮定しているので、ステップS154では、遅延計測パルス送受信回路14aが、従ホスト50bから順方向に送信されるパルスC1を受信したか否かを判断する。そして、ステップS154で、遅延計測パルス送受信回路14aが、従ホスト50bから順方向に送信されたパルスC1を受信すると、上記ステップS156では、遅延計測パルス送受信回路14aが、遅延算出回路15と順方向の主ホスト40にパルスC1を送信することになる。次に、遅延算出回路15は、従ホスト50bからパルスC1を受信したことを契機に、主ホスト40からの遅延時間を算出するための時間の計測を終了する(ステップS158)。この計測された時間は、従ホスト50cにおける、順方向と逆方向とにおける遅延時間の差分を示す遅延差時間である。
【0070】
遅延算出回路15は、時間の計測を終了すると、受信した時刻データ(自身の時刻+1秒の時刻)と、全体の遅延時間と、遅延差時間とを用いて上記数1から遅延時間を考慮した設定時刻を計算し、時刻カウンタ回路10と歩進クロック生成回路12とに計算した設定時刻を設定する(ステップS160)。このとき、従ホスト50cにおいて、時刻カウンタ回路10に書き込む設定時刻には、主ホスト40と従ホスト50cとの間の順方向の遅延時間が含まれる。時刻カウンタ回路10には、年月日からms分秒までの時刻が書き込まれ、歩進クロック生成回路12には、μsの桁の時刻が書き込まれる。
【0071】
図19及び図20は、本実施形態による従ホスト50cにおける主ホスト40との間の遅延時間の計測動作を説明するための概念図である。従ホスト50cの場合には、図19に示すように、主ホスト40から順方向で送信されたパルスがX=1+1+4=6μs分遅延し、主ホスト40から逆方向で送信されたパルスがY=4μs分遅延する。但し、従ホスト50bでは、X=6μsを直接知ることができない。そこで、従ホスト50cは、図20に示すように、従ホスト50bが順方向に送信したパルス(6μsの遅延)を受信してから、主ホスト40が逆方向に送信したパルス(4μsの遅延)を受信するまでの時間を計測する。この場合、計測された遅延差時間は2μsとなる。また、遅延計測パルス送受信回路14bが逆方向に送信されたパルスC1を先に受信し、自回路で計測した遅延差時間を加算することになるので、そのまま2とする。ゆえに、上記式1から、時刻カウンタ回路10と歩進クロック生成回路12とに設定される、遅延時間を考慮した設定時刻は、時刻データ+(10+2)/2=時刻データ+6となる。なお、時刻データは、主ホスト40自身の時刻+1秒の時刻である。
【0072】
(主ホスト40の動作)
主ホスト40では、時刻カウンタ回路10は、設定した時間になったか否かを判断し(図6のステップS48)、設定した時間になっていない場合には(ステップS48のNO)、待機する。一方、設定した時間になったことを契機に(ステップS48のYES)、時刻カウンタ回路10は、順方向のパルスを送信する遅延計測パルス送受信回路14aに時刻歩進用のパルスE1の送信を指示する(ステップS50)。遅延計測パルス送受信回路14aは、指示を受けたことを契機に時刻歩進用のパルスE1を順方向の従ホスト50aに送信する(ステップS52)。その後、当該処理を終了する。
【0073】
(従ホスト50aの動作)
従ホスト50aでは、順方向の遅延計測パルス送受信回路14aが、主ホスト40から順方向に送信される時刻歩進用のパルスE1を受信したか否かを判断する(図8のステップS84)。そして、時刻歩進用のパルスE1を受信していない場合には(ステップS84のNO)、受信するまで待機する。一方、主ホスト40から時刻歩進用のパルスE1を受信すると(ステップS84のYES)、これを契機に、遅延計測パルス送受信回路14aは、順方向の従ホスト50bに時刻歩進用のパルスE1を送信する(ステップS86)。
【0074】
次に、遅延計測パルス送受信回路14aは、時刻カウンタ回路10に時刻歩進を指示し(ステップS88)、時刻カウンタ回路10は、上記指示に従って時刻の歩進を開始する(ステップS90)。また、遅延計測パルス送受信回路14aは、歩進クロック生成回路12にクロック調整を指示し(ステップS92)、歩進クロック生成回路12は、上記指示に従って調整された歩進クロックを時刻カウンタ回路10に送信する(ステップS94)。時刻カウンタ回路10は、調整された歩進クロックを受信し、調整された歩進クロックを用いて時刻の歩進を継続する(ステップS96)。そして、当該処理を終了する。
【0075】
(従ホスト50bの動作)
従ホスト50bでは、遅延計測パルス送受信回路14aが、従ホスト50aから順方向に送信される時刻歩進用のパルスE1を受信したか否かを判断する(図10のステップS122)。そして、時刻歩進用のパルスE1を受信していない場合には(ステップS84のNO)、受信するまで待機する。一方、時刻歩進用のパルスE1を受信すると(ステップS122のYES)、これを契機に、遅延計測パルス送受信回路14aは、順方向の従ホスト50cにパルスE1を送信する(ステップS124)。
【0076】
次に、遅延計測パルス送受信回路14aは、時刻カウンタ回路10に時刻歩進を指示し(ステップS126)、時刻カウンタ回路10は、上記指示に従って時刻の歩進を開始する(ステップS128)。また、遅延計測パルス送受信回路14aは、歩進クロック生成回路12にクロック調整を指示し(ステップS130)、歩進クロック生成回路12は、上記指示に従って調整された歩進クロックを時刻カウンタ回路10に送信する(ステップS132)。次に、時刻カウンタ回路10は、調整された歩進クロックを受信し、調整された歩進クロックを用いて時刻の歩進を継続する(ステップS134)。そして、当該処理を終了する。
【0077】
(従ホスト50cの動作)
従ホスト50cでは、遅延計測パルス送受信回路14aが、従ホスト50bから時刻歩進用のパルスE1を受信したか否かを判断する(ステップS162)。そして、時刻歩進用のパルスE1を受信していない場合には(ステップS162のNO)、受信するまで待機する。一方、時刻歩進用のパルスE1を受信すると(ステップS162のYES)、これを契機に、遅延計測パルス送受信回路14aは、順方向の主ホスト40にパルスE1を送信する(ステップS164)。次に、遅延計測パルス送受信回路14aは、時刻カウンタ回路10に時刻歩進を指示し(ステップS166)、時刻カウンタ回路10は、上記指示に従って時刻の歩進を開始する(ステップS168)。また、遅延計測パルス送受信回路14aは、歩進クロック生成回路12にクロック調整を指示し(ステップS170)、歩進クロック生成回路12は、上記指示に従って調整された歩進クロックを時刻カウンタ回路10に送信する(ステップS172)。次に、時刻カウンタ回路10は、調整された歩進クロックを受信し、調整された歩進クロックを用いて時刻の歩進を継続する(ステップS174)。そして、当該処理を終了する。
【0078】
上述した実施形態によれば、遅延算出回路15により、環状の伝送路上に配置された主ホスト40と従ホスト50a~50cの各々との順方向における遅延時間を算出し、歩進クロック生成回路12により、遅延時間に基づいて調整した歩進クロックを生成し、時刻カウンタ回路10により、調整された歩進クロックに基づいて従ホスト50a~50cにおける時刻を歩進するようにしたので、主ホスト40と従ホスト50a~50cと間の伝送路の遅延に応じて主ホスト40と従ホスト50a~50cとの時刻を同期させることができる。
【0079】
また、上述した実施形態によれば、時刻データ送受信回路16により、主ホスト40から環状の伝送路における全体の遅延時間を取得し、遅延算出回路15により、全体の遅延時間と、主ホスト40から環状の伝送路の順方向に送信されたパルスC1と主ホスト40から逆方向に送信されたパルスD1との従ホスト50a~50cの各々への到達時刻の差分とに基づいて、主ホスト40と従ホスト50a~50cの各々との順方向における遅延時間を算出するようにしたので、主ホスト40と従ホスト50a~50cと間の伝送路の遅延に応じて主ホスト40と従ホスト50a~50cとの時刻を同期させることができる。
【0080】
また、上述した実施形態によれば、歩進クロック生成回路12により、過去の遅延時間と遅延算出回路15によって新たに算出された遅延時間との差分に応じて、歩進クロックの周期を調整するようにしたので、主ホスト40と従ホスト50a~50cと間の伝送路の遅延に応じて主ホスト40と従ホスト50a~50cとの時刻を同期させることができる。
【0081】
また、上述した実施形態によれば、遅延計測パルス送受信回路14aにより、主ホスト40から伝送路の順方向に送信されたパルスC1を受信すると、当該パルスC1を伝送路の順方向に送信し、遅延計測パルス送受信回路14bにより、主ホスト40から伝送路の逆方向に送信されたパルスD1を受信すると、当該パルスD1を伝送路の逆方向に送信するようにしたので、主ホスト40と従ホスト50a~50cの各々との順方向における遅延時間を容易に算出することができ、主ホスト40と従ホスト50a~50cと間の伝送路の遅延に応じて主ホスト40と従ホスト50a~50cとの時刻を同期させることができる。
【0082】
図21は、実施形態によるマルチホストシステム100の最小構成を示すブロック図である。本実施形態による環状の伝送路101上には、主ホスト102と従ホスト103とが配置されている。従ホスト103は、少なくとも、遅延算出手段104と、歩進クロック生成手段105と、時刻歩進手段106とを備えればよい。遅延算出手段104は、従ホスト103の順方向における遅延時間を算出する。歩進クロック生成手段105は、遅延時間に基づいて調整した歩進クロックを生成する。時刻歩進手段106は、調整された歩進クロックに基づいて従ホスト103における時刻を歩進する。
【0083】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより特典情報の制御処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0084】
また、上述した機能の一部又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【0085】
(ハードウェア構成)
図22は、この開示の各実施形態に係る主ホスト40や、従ホスト50a~50cを実現可能な計算処理装置80のハードウェア構成例を概略的に示すブロック図の一例である。プロジェクト管理装置1、端末装置2を、1つの計算処理装置(情報処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。
【0086】
計算処理装置80は、中央処理演算装置(Central_Processing_Unit、以降「CPU」と表す)81、揮発性記憶装置82、ディスク83、不揮発性記録媒体84、及び、通信インタフェース(以降、「通信IF」と表す)87を有する。計算処理装置80は、入力装置85、出力装置86に接続可能であってもよい。計算処理装置80は、通信IF87を介して、他の計算処理装置、及び、通信装置と情報を送受信することができる。
【0087】
不揮発性記録媒体84は、コンピュータが読み取り可能な、たとえば、コンパクトディスク(Compact_Disc)、デジタルバーサタイルディスク(Digital_Versatile_Disc)である。また、不揮発性記録媒体84は、ユニバーサルシリアルバスメモリ(USBメモリ)、ソリッドステートドライブ(Solid_State_Drive)等であってもよい。不揮発性記録媒体84は、電力を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体84は、上述した媒体に限定されない。また、不揮発性記録媒体84の代わりに、通信IF87、及び、通信ネットワークを介して係るプログラムを持ち運びしてもよい。
【0088】
揮発性記憶装置82は、コンピュータが読み取り可能であって、一時的にデータを記憶することができる。揮発性記憶装置82は、DRAM(dynamic random Access memory)、SRAM(static random Access memory)等のメモリ等である。
【0089】
すなわち、CPU81は、ディスク83に格納されているソフトウェア・プログラム(コンピュータ・プログラム:以下、単に「プログラム」と称する)を、実行する際に揮発性記憶装置82にコピーし、演算処理を実行する。CPU81は、プログラム実行に必要なデータを揮発性記憶装置82から読み取る。表示が必要な場合に、CPU81は、出力装置86に出力結果を表示する。外部からプログラムを入力する場合に、CPU81は、入力装置85からプログラムを読み取る。CPU81は、当該プログラムの実行により、図2等に示す一つまたは複数の回路の機能(処理)を発揮してよい。CPU81は、上述した各実施形態において説明した処理を実行する。すなわち、このような場合に、上述の各実施形態は、係る解析プログラムによっても成し得ると捉えることができる。さらに、係る解析プログラムが記録されたコンピュータが読み取り可能な不揮発性の記録媒体によっても、この開示の各実施形態は成し得ると捉えることができる。
【0090】
なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0091】
(付記1)
環状の伝送路上に配置された主ホストと従ホストとの順方向における遅延時間を算出する遅延算出手段と、前記遅延時間に基づいて調整した歩進クロックを生成する歩進クロック生成手段と、前記調整された歩進クロックに基づいて前記従ホストにおける時刻を歩進する時刻歩進手段と、を備えることを特徴とするマルチホストシステム。
【0092】
(付記2)
前記環状の伝送路における全体の遅延時間を取得する全遅延時間取得手段をさらに備え、前記遅延算出手段は、前記全体の遅延時間と、前記主ホストから前記環状の伝送路の順方向に送信された第1のパルスと前記主ホストから前記環状の伝送路の逆方向に送信された第2のパルスとの前記従ホストへの到達時刻の差分とに基づいて、前記主ホストと前記従ホストとの順方向における前記遅延時間を算出する、ことを特徴とする付記1に記載のマルチホストシステム。
【0093】
(付記3)
前記歩進クロック生成手段は、過去の遅延時間と前記遅延算出手段によって新たに算出された前記遅延時間との差分に応じて前記歩進クロックの周期を調整する、ことを特徴とする付記1または付記2に記載のマルチホストシステム。
【0094】
(付記4)
前記主ホストから前記環状の伝送路の順方向に送信された第1のパルスを受信すると、前記第1のパルスを前記環状の伝送路の順方向に送信する遅延計測パルス送受信手段と、前記主ホストから前記環状の伝送路の逆方向に送信された第2のパルスを受信すると、前記第2のパルスを前記環状の伝送路の逆方向に送信する遅延計測パルス送受信手段とをさらに備える、ことを特徴とする付記1から付記3の何れか一つに記載のマルチホストシステム。
【0095】
(付記5)
環状の伝送路上に配置された主ホストから前記環状の伝送路の順方向に所定のクロックを送信した時刻と、前記所定のクロックが前記環状の伝送路上に配置された複数の従ホストを伝播して前記主ホストに戻ってきた時刻とに基づいて、前記環状の伝送路における全体の遅延時間を算出する遅延算出手段と、前記全体の遅延時間を前記環状の伝送路上に配置された前記複数の従ホストに送信する時刻データ送受信手段と、前記環状の伝送路の順方向に第1のパルスを送信するとともに、前記環状の伝送路の逆方向に第2のパルスを送信する遅延計測パルス送受信手段と、を備え、前記複数の従ホストは、各々、前記全体の遅延時間と、前記第1のパルスと前記第2のパルスとの到達時刻の差分とに基づいて、前記主ホストとの順方向における遅延時間を算出し、前記遅延時間に基づいて調整した歩進クロックに基づいて時刻を歩進する、ことを特徴とするマルチホストシステム。
【0096】
(付記6)
環状の伝送路上に配置された主ホストと従ホストとの順方向における遅延時間を算出するステップと、前記遅延時間に基づいて調整した歩進クロックを生成するステップと、前記調整された歩進クロックに基づいて前記従ホストにおける時刻を歩進するステップと、を備えることを特徴とする時刻同期方法。
【0097】
(付記7)
情報処理装置のコンピュータを、環状の伝送路上に配置された主ホストと従ホストとの順方向における遅延時間を算出する遅延算出機能、前記遅延時間に基づいて調整した歩進クロックを生成する歩進クロック生成機能、前記調整された歩進クロックに基づいて時刻を歩進する時刻歩進機能、として機能させることを特徴とするプログラム。
【符号の説明】
【0098】
1 マルチホストシステム
10 時刻カウンタ回路
11 オシレータ
12 歩進クロック生成回路
13 クロック送受信回路
14a、14b 遅延計測パルス送受信回路
15 遅延算出回路
16 時刻データ送受信回路
17 外部時刻取得回路
40 主ホスト
50a~50c 従ホスト
100 マルチホストシステム
101 伝送路
102 主ホスト
103 従ホスト
104 遅延算出手段
105 歩進クロック生成手段
106 時刻歩進手段
A1 クロック
B1 データ
C1、D1、E1 パルス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
【手続補正書】
【提出日】2023-03-17
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
環状の伝送路上に配置された主ホストと従ホストとの順方向における遅延時間を算出する遅延算出手段と、
前記遅延時間に基づいて調整した歩進クロックを生成する歩進クロック生成手段と、
前記調整された歩進クロックに基づいて前記従ホストにおける時刻を歩進する時刻歩進手段と、
を備えることを特徴とするマルチホストシステム。
【請求項2】
前記歩進クロック生成手段は、過去の遅延時間と前記遅延算出手段によって新たに算出された前記遅延時間との差分に応じて前記歩進クロックの周期を調整する、ことを特徴とする請求項1に記載のマルチホストシステム。
【請求項3】
前記環状の伝送路における全体の遅延時間を取得する全遅延時間取得手段をさらに備え、
前記遅延算出手段は、
前記全体の遅延時間と、前記主ホストから前記環状の伝送路の順方向に送信された第1のパルスと前記主ホストから前記環状の伝送路の逆方向に送信された第2のパルスとの前記従ホストへの到達時刻の差分とに基づいて、前記主ホストと前記従ホストとの順方向における前記遅延時間を算出する、ことを特徴とする請求項1または請求項2に記載のマルチホストシステム。
【請求項4】
前記主ホストから前記環状の伝送路の順方向に送信された第1のパルスを受信すると、前記第1のパルスを前記環状の伝送路の順方向に送信する遅延計測パルス送受信手段と、前記主ホストから前記環状の伝送路の逆方向に送信された第2のパルスを受信すると、前記第2のパルスを前記環状の伝送路の逆方向に送信する遅延計測パルス送受信手段とをさらに備える、ことを特徴とする請求項1に記載のマルチホストシステム。
【請求項5】
環状の伝送路上に配置された主ホストから前記環状の伝送路の順方向に所定のクロックを送信した時刻と、前記所定のクロックが前記環状の伝送路上に配置された複数の従ホストを伝播して前記主ホストに戻ってきた時刻とに基づいて、前記環状の伝送路における全体の遅延時間を算出する遅延算出手段と、
前記全体の遅延時間を前記環状の伝送路上に配置された前記複数の従ホストに送信する時刻データ送受信手段と、
前記環状の伝送路の順方向に第1のパルスを送信するとともに、前記環状の伝送路の逆方向に第2のパルスを送信する遅延計測パルス送受信手段と、
を備え、
前記複数の従ホストは、各々、前記全体の遅延時間と、前記第1のパルスと前記第2のパルスとの到達時刻の差分とに基づいて、前記主ホストとの順方向における遅延時間を算出し、前記遅延時間に基づいて調整した歩進クロックに基づいて時刻を歩進する、
ことを特徴とするマルチホストシステム。
【請求項6】
環状の伝送路上に配置された主ホストと従ホストとの順方向における遅延時間を算出するステップと、
前記遅延時間に基づいて調整した歩進クロックを生成するステップと、
前記調整された歩進クロックに基づいて前記従ホストにおける時刻を歩進するステップと、
を備えることを特徴とする時刻同期方法。
【請求項7】
情報処理装置のコンピュータを、
環状の伝送路上に配置された主ホストと従ホストとの順方向における遅延時間を算出する遅延算出機能、
前記遅延時間に基づいて調整した歩進クロックを生成する歩進クロック生成機能、
前記調整された歩進クロックに基づいて時刻を歩進する時刻歩進機能、
として機能させることを特徴とするプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0028
【補正方法】変更
【補正の内容】
【0028】
なお、図1に示すブロック図からも分かるように、時計回りが順方向、反時計回りが逆方向であるので、主ホスト40では、からへの方向が順方向、左から右への方向が逆方向となり、従ホスト50bでは、左から右への方向が順方向、からへの方向が逆方向となる。しかしながら、図2では、図1の方向と図2の入出力を示す矢印の方向に関係なく、一意に、遅延計測パルス送受信回路14aが順方向に対応し、遅延計測パルス送受信回路14bが逆方向に対応することとする。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0085
【補正方法】変更
【補正の内容】
【0085】
(ハードウェア構成)
図22は、この開示の各実施形態に係る主ホスト40や、従ホスト50a~50cを実現可能な計算処理装置80のハードウェア構成例を概略的に示すブロック図の一例である
【手続補正書】
【提出日】2024-07-18
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
環状の伝送路上に配置された主ホストと従ホストとを備え、
前記主ホストが、
前記環状の伝送路においてクロック信号を送信してから当該クロック信号を受信するまでの全体の遅延時間を算出する全遅延時間算出手段と、
前記主ホストで計時する時刻に所定時刻を加算した未来時刻を示す時刻データと前記全体の遅延時間を示すデータを前記伝送路に送信する第一送信手段と、
第1のパルスを前記環状の伝送路における順方向に送信し、第2のパルスを前記環状の伝送路における逆方向に送信する第二送信手段と、を備え、
前記従ホストが、
前記主ホストから前記環状の伝送路の順方向に送信された第1のパルスと前記主ホストから前記環状の伝送路の逆方向に送信された第2のパルスとの前記従ホストへの到達時刻の差分を算出する差分算出手段と、
前記時刻データと、前記全体の遅延時間と、前記到達時刻の差分とに基づいて設定時刻を算出する設定時刻算出手段と、
前記未来時刻に前記主ホストから送信された第3のパルスの受信を契機に、前記設定時刻に基づいて調整した歩進クロックを生成する歩進クロック生成手段と、
前記調整された歩進クロックに基づいて前記従ホストにおける時刻を歩進する時刻歩進手段と、
を備えることを特徴とするマルチホストシステム。
【請求項2】
前記伝送路に複数の従ホストが通信接続され、
前記従ホストは、
前記クロック信号を受信した場合に、当該クロック信号の前記環状の伝送路における送信方向に基づいて当該クロック信号を転送し、
前記時刻データと前記全体の遅延時間を示すデータを受信した場合に、当該データの前記環状の伝送路における送信方向に基づいて当該データを転送し、
前記第1のパルスと第2のパルスを受信した場合、当該第1のパルスと第2のパルスの前記環状の伝送路における送信方向に基づいて当該第1のパルスと第2のパルスを転送し、
前記未来時刻に前記主ホストから送信された第3のパルスを受信した場合、当該パルスの前記環状の伝送路における送信方向に基づいて当該パルスを転送する
請求項1に記載のマルチホストシステム。
【請求項3】
前記設定時刻算出手段は、
前記時刻データ+(前記全体の遅延時間±自ホストで算出した前記到達時刻の差分)÷2の算出式を用いて前記設定時刻を算出する
請求項2に記載のマルチホストシステム。
【請求項4】
前記設定時刻算出手段は、
前記環状の伝送路において順方向に送信された第1のパルスの受信時刻が前記環状の伝送路において逆方向に送信された第2のパルスの受信時刻より早い場合には前記時刻データ+(前記全体の遅延時間-自ホストで算出した前記到達時刻の差分)÷2の算出式を用いて前記設定時刻を算出し、
前記環状の伝送路において順方向に送信された第1のパルスの受信時刻が前記環状の伝送路において逆方向に送信された第2のパルスの受信時刻より遅い場合には前記時刻データ+(前記全体の遅延時間+自ホストで算出した前記到達時刻の差分)÷2の算出式を用いて前記設定時刻を算出する
請求項3に記載のマルチホストシステム。
【請求項5】
環状の伝送路上に配置された主ホストと従ホストとを備え、
前記主ホストが、
前記環状の伝送路においてクロック信号を送信してから当該クロック信号を受信するまでの全体の遅延時間を算出する全遅延時間算出手段と、
前記主ホストで計時する時刻に所定時刻を加算した未来時刻を示す時刻データと前記全体の遅延時間を示すデータを前記伝送路に送信する第一送信手段と、
第1のパルスを前記環状の伝送路における順方向に送信し、第2のパルスを前記環状の伝送路における逆方向に送信する第二送信手段と、を備えたマルチホストシステムにおける前記従ホストとして前記伝送路に通信接続し、
前記主ホストから前記環状の伝送路の順方向に送信された第1のパルスと前記主ホストから前記環状の伝送路の逆方向に送信された第2のパルスとの前記従ホストへの到達時刻の差分を算出する差分算出手段と、
前記時刻データと、前記全体の遅延時間と、前記到達時刻の差分とに基づいて設定時刻を算出する設定時刻算出手段と、
前記未来時刻に前記主ホストから送信された第3のパルスの受信を契機に、前記設定時刻に基づいて調整した歩進クロックを生成する歩進クロック生成手段と、
前記調整された歩進クロックに基づいて前記従ホストにおける時刻を歩進する時刻歩進手段と、
を備えることを特徴とする情報処理装置
【請求項6】
環状の伝送路上に配置された主ホストと従ホストとを備えたマルチホストシステムにおける時刻同期方法であって、
前記主ホストが、
前記環状の伝送路においてクロック信号を送信してから当該クロック信号を受信するまでの全体の遅延時間を算出し、
前記主ホストで計時する時刻に所定時刻を加算した未来時刻を示す時刻データと前記全体の遅延時間を示すデータを前記伝送路に送信し、
第1のパルスを前記環状の伝送路における順方向に送信し、第2のパルスを前記環状の伝送路における逆方向に送信し、
前記従ホストが、
前記主ホストから前記環状の伝送路の順方向に送信された第1のパルスと前記主ホストから前記環状の伝送路の逆方向に送信された第2のパルスとの前記従ホストへの到達時刻の差分を算出し、
前記時刻データと、前記全体の遅延時間と、前記到達時刻の差分とに基づいて設定時刻を算出し、
前記未来時刻に前記主ホストから送信された第3のパルスの受信を契機に、前記設定時刻に基づいて調整した歩進クロックを生成し、
前記調整された歩進クロックに基づいて前記従ホストにおける時刻を歩進する
時刻同期方法。
【請求項7】
環状の伝送路上に配置された主ホストと従ホストとを備え、
前記主ホストが、
前記環状の伝送路においてクロック信号を送信してから当該クロック信号を受信するまでの全体の遅延時間を算出する全遅延時間算出手段と、
前記主ホストで計時する時刻に所定時刻を加算した未来時刻を示す時刻データと前記全体の遅延時間を示すデータを前記伝送路に送信する第一送信手段と、
第1のパルスを前記環状の伝送路における順方向に送信し、第2のパルスを前記環状の伝送路における逆方向に送信する第二送信手段と、を備えたマルチホストシステムにおける前記従ホストのコンピュータを、
前記主ホストから前記環状の伝送路の順方向に送信された第1のパルスと前記主ホストから前記環状の伝送路の逆方向に送信された第2のパルスとの前記従ホストへの到達時刻の差分を算出する差分算出手段、
前記時刻データと、前記全体の遅延時間と、前記到達時刻の差分とに基づいて設定時刻を算出する設定時刻算出手段、
前記未来時刻に前記主ホストから送信された第3のパルスの受信を契機に、前記設定時刻に基づいて調整した歩進クロックを生成する歩進クロック生成手段、
前記調整された歩進クロックに基づいて前記従ホストにおける時刻を歩進する時刻歩進手段、
前記調整された歩進クロックに基づいて時刻を歩進する時刻歩進機能、
として機能させることを特徴とするプログラム。