(57)【特許請求の範囲】
【請求項１】
計時した時刻である計時時刻が所定時刻になると管理対象のスレーブ装置との間で前記計時時刻での時刻同期を行う複数のマスター装置それぞれ毎に、時刻オフセットを算出する算出部と、
前記マスター装置毎に、当該マスター装置の前記計時時刻を、計時した時刻を前記時刻オフセットでオフセットした時刻に変更させる変更通知を通知する通知部と、
を備える管理装置。
【請求項２】
前記マスター装置毎に、時刻同期に関する同期情報を取得する取得部を更に備え、
前記算出部は、前記マスター装置毎に、前記同期情報に基づいて、前記時刻オフセットを算出する請求項１に記載の管理装置。
【請求項３】
前記同期情報は、前記時刻同期を行う同期周期を示す周期情報を含む請求項２に記載の管理装置。
【請求項４】
前記算出部は、前記マスター装置毎に、（同期周期／取得済みの同期情報数）×取得済みの同期情報数未満の当該マスター装置に一意の自然数により、前記時刻オフセットを算出する請求項３に記載の管理装置。
【請求項５】
前記算出部は、前記取得部により前記同期情報が取得されると、前記同期情報が取得済みの１以上のマスター装置それぞれの前記時刻オフセットを算出し、
前記通知部は、前記時刻オフセットが算出される毎に、当該時刻オフセットを示すオフセット情報を、前記時刻オフセットが算出されたマスター装置に通知する請求項４に記載の管理装置。
【請求項６】
前記算出部は、前記マスター装置毎に、一様分布の乱数に基づいて、前記時刻オフセットを算出する請求項１に記載の管理装置。
【請求項７】
管理装置と、複数のマスター装置と、を備える管理システムであって、
前記管理装置は、
計時した時刻である計時時刻が所定時刻になると管理対象のスレーブ装置との間で前記計時時刻での時刻同期を行う前記複数のマスター装置それぞれ毎に、時刻オフセットを算出する第１算出部と、
前記マスター装置毎に、前記時刻オフセットを示すオフセット情報を通知する第１通知部と、を備え、
前記複数のマスター装置それぞれは、
前記オフセット情報を取得する第１取得部と、
時刻を計時し、前記計時時刻を、計時した時刻を前記オフセット情報が示す前記時刻オフセットでオフセットした時刻に変更する第１計時部と、
変更後の計時時刻が前記所定時刻になると、前記スレーブ装置との間で前記変更後の計時時刻での時刻同期を行う同期部と、を備える管理システム。
【請求項８】
前記複数のマスター装置それぞれは、
時刻同期に関する同期情報を前記管理装置に通知する第２通知部を更に備え、
前記管理装置は、
前記マスター装置毎に、前記同期情報を取得する第２取得部を更に備え、
前記第１算出部は、前記マスター装置毎に、前記同期情報に基づいて、前記時刻オフセットを算出する請求項７に記載の管理システム。
【請求項９】
前記同期情報は、前記時刻同期を行う同期周期を示す周期情報を含む請求項８に記載の管理システム。
【請求項１０】
前記第１算出部は、前記マスター装置毎に、（同期周期／取得済みの同期情報数）×取得済みの同期情報数未満の当該マスター装置に一意の自然数により、前記時刻オフセットを算出する請求項９に記載の管理システム。
【請求項１１】
前記第１算出部は、前記第２取得部により前記同期情報が取得されると、前記同期情報が取得済みの１以上のマスター装置それぞれの前記時刻オフセットを算出し、
前記第１通知部は、前記時刻オフセットが算出される毎に、当該時刻オフセットを示すオフセット情報を、前記時刻オフセットが算出されたマスター装置に通知する請求項１０に記載の管理システム。
【請求項１２】
前記同期部は、現在の時刻同期に関する第１時間が過去の時刻同期に関する第２時間よりも長いか否かを判定し、
前記第２通知部は、前記第１時間が前記第２時間よりも長い場合、前記管理装置に前記オフセット情報を再要求し、
前記第２取得部は、前記再要求を取得し、
前記第１算出部は、前記第２取得部により前記再要求が取得されると、前記同期情報及び乱数に基づいて、前記時刻オフセットを算出し、
前記第１通知部は、前記時刻オフセットを示すオフセット情報を、前記時刻オフセットが算出されたマスター装置に通知する請求項１１に記載の管理システム。
【請求項１３】
前記第１算出部は、前記第２取得部により前記再要求が取得されると、（同期周期／取得済みの同期情報数）×取得済みの同期情報数未満の当該マスター装置に一意の自然数＋乱数値により、前記時刻オフセットを算出する請求項１２に記載の管理システム。
【請求項１４】
前記第１算出部は、前記マスター装置毎に、一様分布の乱数に基づいて、前記時刻オフセットを算出する請求項７に記載の管理システム。
【請求項１５】
前記第１通知部は、前記マスター装置毎に、前記同期情報を要求する要求メッセージを通知し、
前記第２取得部は、前記要求メッセージを取得し、
前記第２通知部は、前記要求メッセージが取得されると、前記同期情報に前記第１計時部により計時された前記計時時刻を含めて前記管理装置に通知し、
前記管理装置は、
時刻を計時する第２計時部を更に備え、
前記第１算出部は、前記マスター装置毎に、前記同期情報及び前記第２計時部により計時された計時時刻に基づいて、前記時刻オフセットを算出する請求項７に記載の管理システム。
【請求項１６】
前記第１算出部は、前記マスター装置毎に、前記第１計時部により計時された前記計時時刻と前記第２計時部により計時された前記計時時刻との差分時間を算出し、前記同期情報及び前記差分時間に基づいて、前記時刻オフセットを算出する請求項１５に記載の管理システム。
【請求項１７】
前記第１算出部は、前記マスター装置毎に、（同期周期／取得済みの同期情報数）×取得済みの同期情報数未満の当該マスター装置に一意の自然数−差分時間により、前記時刻オフセットを算出する請求項１６に記載の管理システム。
【請求項１８】
計時した時刻である計時時刻が所定時刻になると管理対象のスレーブ装置との間で前記計時時刻での時刻同期を行う複数のマスター装置それぞれ毎に、時刻オフセットを算出する算出ステップと、
前記マスター装置毎に、当該マスター装置の前記計時時刻を、計時した時刻を前記時刻オフセットでオフセットした時刻に変更させる変更通知を通知する通知ステップと、
を含む管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、管理装置、システム及び方法に関する。
【背景技術】
【０００２】
従来から、複数のマスター装置それぞれが管理対象のスレーブ装置と時刻同期を行う際に、時刻同期用の同期メッセージなどの通信フレームが競合してしまうことを避けるため、マスター装置間で、時刻同期用の通信フレームを送信する時刻をずらす技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２１２１９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したような従来技術では、時刻同期用の通信フレームを送信する時刻をマスター装置間でずらすため、予め定められた時刻に時刻同期を行うなど任意の時刻を時刻同期タイミングに定めることになる規格に適合しない。このため、このような規格化においては、時刻同期に伴う競合の発生を避けることが困難である。
【０００５】
本発明が解決しようとする課題は、任意の時刻を時刻同期タイミングに定めることになる規格化においても、時刻同期に伴う競合の発生を避けることが可能な管理装置、システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
実施形態の管理装置は、算出部と、通知部と、を備える。算出部は、計時した時刻である計時時刻が所定時刻になると管理対象のスレーブ装置との間で前記計時時刻での時刻同期を行う複数のマスター装置それぞれ毎に、時刻オフセットを算出する。通知部は、前記マスター装置毎に、当該マスター装置の前記計時時刻を、計時した時刻を前記時刻オフセットでオフセットした時刻に変更させる変更通知を通知する。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態の管理システムの構成例を示す図。
【図２】第１実施形態の管理装置の構成例を示す図。
【図３】第１実施形態のマスター装置の構成例を示す図。
【図４】第１実施形態の時刻同期タイミングの例の説明図。
【図５】第１実施形態の管理システムの処理例を示すシーケンス図。
【図６】第２実施形態の管理装置の構成例を示す図。
【図７】第２実施形態のマスター装置の構成例を示す図。
【図８】第２実施形態の管理システムの処理例を示すフローチャート。
【図９】第３実施形態の管理装置の構成例を示す図。
【図１０】第３実施形態のマスター装置の構成例を示す図。
【図１１】第３実施形態の管理システムの処理例を示すシーケンス図。
【図１２】各実施形態の各装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照しながら、実施形態を詳細に説明する。
【０００９】
（第１実施形態）
図１は、第１実施形態の管理システム１の構成の一例を示す図である。図１に示すように、管理システム１は、管理装置１０と、マスター装置２０Ａ、２０Ｂと、スレーブ装置３０Ａ１、３０Ａ２、３０Ｂ１、３０Ｂ２と、ネットワーク装置４０と、を備える。
【００１０】
以下の説明では、マスター装置２０Ａ、２０Ｂを各々区別する必要がない場合は、単にマスター装置２０と称する場合があり、スレーブ装置３０Ａ１、３０Ａ２、３０Ｂ１、３０Ｂ２を各々区別する必要がない場合は、単にスレーブ装置３０と称する場合があり、スレーブ装置３０Ａ１、３０Ａ２を各々区別する必要がない場合は、単にスレーブ装置３０Ａと称する場合があり、スレーブ装置３０Ｂ１、３０Ｂ２を各々区別する必要がない場合は、単にスレーブ装置３０Ｂと称する場合がある。
【００１１】
また、図１に示す例では、マスター装置２０の台数が２台、スレーブ装置３０の台数が４台、ネットワーク装置４０の台数が１台である場合を例示しているが、各装置の台数はこれに限定されるものではない。
【００１２】
マスター装置２０は、時刻同期用の時刻を計時するサーバ装置などのコンピュータであり、計時した時刻である計時時刻が所定時刻になると、ネットワーク装置４０を介して、管理対象のスレーブ装置３０との間で計時時刻での時刻同期を行う。これにより、スレーブ装置３０は、マスター装置２０の計時時刻を取得し、取得した計時時刻を用いて、自身の時刻を同期する。スレーブ装置２０は、例えば、産業用機器などが挙げられるが、これに限定されるものではない。
【００１３】
第１実施形態では、マスター装置２０Ａの管理対象のスレーブ装置３０は、スレーブ装置３０Ａ１、３０Ａ２であり、マスター装置２０Ａは、スレーブ装置３０Ａ１、３０Ａ２との間で時刻同期を行い、マスター装置２０Ｂの管理対象のスレーブ装置３０は、スレーブ装置３０Ｂ１、３０Ｂ２であり、マスター装置２０Ｂは、スレーブ装置３０Ｂ１、３０Ｂ２との間で時刻同期を行う場合を例に取り説明するが、これに限定されるものではない。
【００１４】
管理装置１０は、マスター装置２０の時刻オフセットを管理するサーバ装置などのコンピュータである。第１実施形態では、管理装置１０は、マスター装置２０Ａ、２０Ｂに互いに異なる時刻オフセットを設定させることで、マスター装置２０Ａ、２０Ｂの計時時刻をずらす。これにより、予め定められた時刻に時刻同期を行うなど任意の時刻を時刻同期タイミングに定めることになる規格化においても、マスター装置２０Ａ、２０Ｂそれぞれの時刻同期をずらすことができ、時刻同期に伴う競合の発生を避けることができる。
【００１５】
ネットワーク装置４０は、通信を中継するものであり、例えば、スイッチ装置などが挙げられるが、これに限定されるものではない。
【００１６】
図２は、第１実施形態の管理装置１０の構成の一例を示す図である。図２に示すように、管理装置１０は、取得部１１（第２取得部の一例）と、算出部１３（第１算出部の一例）と、通知部１５（第１通知部の一例）と、記憶部１７と、を備える。
【００１７】
取得部１１、算出部１３、及び通知部１５は、例えば、ＣＰＵ（Central  Processing  Unit）などの処理装置にプログラムを実行させること、即ち、ソフトウェアにより実現してもよいし、ＩＣ（Integrated  Circuit）などのハードウェアにより実現してもよいし、ソフトウェア及びハードウェアを併用して実現してもよい。
【００１８】
記憶部１７は、例えば、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、メモリカード、光ディスク、ＲＡＭ（Random  Access  Memory）、及びＲＯＭ（Read  Only  Memory）などの磁気的、光学的、又は電気的に記憶可能な記憶装置により実現できる。
【００１９】
取得部１１は、マスター装置２０毎に、時刻同期に関する同期情報を取得し、記憶部１７に記憶するとともに、算出部１３に出力する。同期情報は、マスター装置２０を識別するマスターＩＤと、時刻同期を行う同期周期を示す周期情報と、を含む。
【００２０】
第１実施形態では、取得部１１は、マスター装置２０それぞれから同期情報を取得するものとするが、これに限定されず、ネットワーク管理者などにより図示せぬ入力部から入力されたマスター装置２０それぞれの同期情報を取得するようにしてもよい。
【００２１】
算出部１３は、マスター装置２０毎に、時刻オフセットを算出する。具体的には、算出部１３は、マスター装置２０毎に、取得部１１により取得された同期情報に基づいて、時刻オフセットを算出する。例えば、算出部１３は、マスター装置２０毎に、数式（１）を用いて、時刻オフセットを算出する。
【００２２】
時刻オフセット＝（同期周期ｉ／取得済みの同期情報数）×（ｉ−１）      …（１）
【００２３】
ここで、取得済みの同期情報数は、記憶部１７に記憶された同期情報の数であり、詳細には、記憶部１７に記憶されたマスターＩＤの数である。ｉは、取得済みの同期情報数以下の自然数であり、同期周期ｉを示す同期情報の取得先のマスター装置２０に一意の自然数である。このため、ｉ−１は、取得済みの同期情報数未満の自然数となる。
【００２４】
各マスター装置２０の同期周期が等しい場合、数式（１）を用いて、時刻オフセットを算出すれば、各マスター装置２０の同期タイミングは、同期周期内で等間隔となるように配分されることになる。
【００２５】
また第１実施形態では、算出部１３は、取得部１１により同期情報が取得されると、同期情報が取得済みの１以上のマスター装置２０（詳細には、記憶部１７にマスターＩＤが記憶されている１以上のマスター装置２０）それぞれの時刻オフセットを算出する。
【００２６】
なお、算出部１３は、マスター装置２０毎に、一様分布の乱数に基づいて、時刻オフセットを算出してもよい。
【００２７】
通知部１５は、マスター装置２０毎に、当該マスター装置２０の計時時刻を、計時した時刻を時刻オフセットでオフセットした時刻に変更させる変更通知を通知する。第１実施形態では、通知部１５は、マスター装置２０毎に、算出部１３により算出された時刻オフセットを示すオフセット情報を通知する。
【００２８】
また第１実施形態では、通知部１５は、算出部１３により時刻オフセットが算出される毎に、当該時刻オフセットを示すオフセット情報を、当該時刻オフセットが算出されたマスター装置２０に通知する。
【００２９】
但し、通知部１５は、変更通知を電子メールで送信したり、変更通知を図示せぬディスプレイに表示出力したりして、変更通知をネットワーク管理者に知らせ、ネットワーク管理者が手動でマスター装置２０それぞれに時刻オフセットを設定するようにしてもよい。
【００３０】
図３は、第１実施形態のマスター装置２０の構成の一例を示す図である。図３に示すように、マスター装置２０は、記憶部２１と、通知部２２（第２通知部の一例）と、取得部２３（第１取得部の一例）と、計時部２４と、同期部２５と、を備える。
【００３１】
記憶部２１は、例えば、ＨＤＤ、ＳＳＤ、メモリカード、光ディスク、ＲＡＭ、及びＲＯＭなどの磁気的、光学的、又は電気的に記憶可能な記憶装置により実現できる。
【００３２】
通知部２２、取得部２３、計時部２４、及び同期部２５は、例えば、ＣＰＵなどの処理装置にプログラムを実行させること、即ち、ソフトウェアにより実現してもよいし、ＩＣなどのハードウェアにより実現してもよいし、ソフトウェア及びハードウェアを併用して実現してもよい。
【００３３】
記憶部２１は、マスター装置２０の同期情報を記憶する。
【００３４】
通知部２２は、マスター装置２０の同期情報を管理装置１０に通知する。具体的には、通知部２２は、記憶部２１からマスター装置２０の同期情報を取得し、管理装置１０に通知する。
【００３５】
取得部２３は、管理装置１０からマスター装置２０のオフセット情報を取得する。
【００３６】
計時部２４は、時刻を計時し、計時時刻を、計時した時刻をオフセット情報が示す時刻オフセットでオフセットした時刻に変更する。
【００３７】
同期部２５は、変更後の計時時刻が所定時刻になると、管理対象のスレーブ装置３０との間で変更後の計時時刻での時刻同期を行う。
【００３８】
具体的には、同期部２５は、変更後の計時時刻が所定時刻になると、管理対象のスレーブ装置３０に時刻同期開始通知を行う。これにより、管理対象のスレーブ装置３０は、マスター装置２０に時刻同期用の計時時刻を要求する同期メッセージを送信するので、同期部２５は、変更後の計時時刻のタイムスタンプを含む同期メッセージを管理対象のスレーブ装置３０に送信する。そしてスレーブ装置３０は、変更後の計時時刻のタイムスタンプと、変更後の計時時刻のタイムスタンプを含む同期メッセージを受信するまでに要した時間である通信遅延時間とから、マスター装置２０の現時点での変更後の計時時刻を推定し、推定した変更後の計時時刻で自身の時刻を同期し、同期完了をマスター装置２０に通知する。
【００３９】
前述の通り、各マスター装置２０の同期周期が等しい場合、数式（１）を用いて、時刻オフセットを算出すれば、各マスター装置２０の同期タイミングは、同期周期内で等間隔となるように配分されることになるため、各マスター装置２０は、図４に示すように、同期周期内で等間隔に同期メッセージを管理対象のスレーブ装置３０に送信し、管理対象のスレーブ装置３０との間で時刻同期を行う。
【００４０】
なお、図４に示す例では、最初の同期周期の前半で、マスター装置２０Ａがネットワーク装置４０を介して管理対象のスレーブ装置３０Ａとの間で時刻同期を行い（ステップＳ１０１）、最初の同期周期の後半で、マスター装置２０Ｂがネットワーク装置４０を介して管理対象のスレーブ装置３０Ｂとの間で時刻同期を行っている（ステップＳ１０２）。更に、次の同期周期の前半で、マスター装置２０Ａがネットワーク装置４０を介して管理対象のスレーブ装置３０Ａとの間で時刻同期を行い（ステップＳ１０３）、次の同期周期の後半で、マスター装置２０Ｂがネットワーク装置４０を介して管理対象のスレーブ装置３０Ｂとの間で時刻同期を行っている（ステップＳ１０４）。
【００４１】
このように第１実施形態では、各マスター装置２０の計時時刻が時刻オフセットにより互いにずれているため、同期メッセージなどの時刻同期用の通信フレームがネットワーク装置４０において競合していない。このため第１実施形態によれば、スレーブ装置３０が、マスター装置２０との時刻同期において時刻同期精度を高めることができる。
【００４２】
一方、第１実施形態のように、各マスター装置２０の計時時刻が時刻オフセットにより互いにずれておらず、一致している場合、各マスター装置２０は、同じタイミングで、管理対象のスレーブ装置３０との間で時刻同期を行うことになるため、同期メッセージなどの時刻同期用の通信フレームがネットワーク装置４０において競合することが予想される。この場合、スレーブ装置３０が、マスター装置２０との時刻同期において時刻同期精度を高めることは困難である。
【００４３】
以下、同期メッセージなどの時刻同期用の通信フレームがネットワーク装置４０において競合しない場合、スレーブ装置３０が、マスター装置２０との時刻同期において時刻同期精度を高めることができる理由を詳細に説明する。
【００４４】
まず、スレーブ装置３０は、前述のように、マスター装置２０に時刻同期用の計時時刻を要求する同期メッセージを送信して、マスター装置２０から変更後の計時時刻のタイムスタンプを含む同期メッセージを受信する。そしてスレーブ装置３０は、変更後の計時時刻のタイムスタンプと、変更後の計時時刻のタイムスタンプを含む同期メッセージを受信するまでに要した時間である通信遅延時間とから、マスター装置２０の現時点での変更後の計時時刻を推定し、推定した変更後の計時時刻で自身の時刻を同期する。
【００４５】
つまり、マスター装置２０の変更後の計時時刻である現基準時刻は、数式（２）で表される。
【００４６】
現基準時刻＝変更後の計時時刻のタイムスタンプ＋通信遅延時間      …（２）
【００４７】
ここで、通信遅延時間は、実際には、同期メッセージの復路時間、即ち、マスター装置２０が変更後の計時時刻のタイムスタンプを含む同期メッセージを送信してからスレーブ装置３０が受信するまでの時間であるが、この時点では、スレーブ装置３０は、自身が計測する時刻とマスター装置２０が計測する時刻との誤差が分からないため、通信遅延時間を直接計測することはできない。
【００４８】
このため、通信遅延時間は、数式（３）に示すように、同期メッセージの往復時間の半分の時間に推定される。なお、同期メッセージの往復時間は、スレーブ装置３０が、時刻同期用の計時時刻を要求する同期メッセージを送信してから、変更後の計時時刻のタイムスタンプを含む同期メッセージを受信するまでの時間であり、スレーブ装置３０側で直接計測できる。
【００４９】
通信遅延時間＝同期メッセージの往復時間／２      …（３）
【００５０】
但し、通信遅延時間をこのように推定する場合、同期メッセージの往路時間と同期メッセージの復路時間とが一致しなければ、通信遅延時間を正しく推定することができない。なお、同期メッセージの往路時間は、スレーブ装置３０が時刻同期用の計時時刻を要求する同期メッセージを送信してからマスター装置２０が受信するまでの時間である。
【００５１】
しかしながら、同期メッセージを中継するネットワーク装置４０では、同期メッセージなどの時刻同期用の通信フレーム（以下、「同期メッセージ」として説明する）が競合すると、同期メッセージをキューイングする時間に揺らぎが生じるため、同期メッセージの往路時間と同期メッセージの復路時間とが一致しない事態が生じ得る。
【００５２】
このため、同期メッセージの往路時間と同期メッセージの復路時間とが一致しない場合、数式（３）で表された通信遅延時間は、通信遅延の変動量となる遅延差を含んでいる。ここで、遅延差は、数式（４）で表されるため、数式（４）を用いると、数式（３）は数式（５）に変形できる。
【００５３】
遅延差＝同期メッセージの往路時間−同期メッセージの復路時間      …（４）
【００５４】
通信遅延時間＝同期メッセージの復路時間＋遅延差／２      …（５）
【００５５】
以上のように、ネットワーク装置４０において同期メッセージが競合すると、同期メッセージをキューイングする時間に揺らぎが生じ、同期メッセージの往路時間と同期メッセージの復路時間とが一致しなくなり易いため、遅延差／２（詳細には、遅延差／２の絶対値）が大きくなり易い。
【００５６】
このため、スレーブ装置３０側で推定される通信遅延時間の誤差が大きくなり易く、通信遅延時間の精度も悪くなるため、スレーブ装置３０が、マスター装置２０との時刻同期において時刻同期精度を高めることは困難である。
【００５７】
一方、ネットワーク装置４０において同期メッセージが競合しないと、同期メッセージをキューイングする時間に揺らぎが生じにくいため、同期メッセージの往路時間と同期メッセージの復路時間とが一致し易いため、遅延差／２（詳細には、遅延差／２の絶対値）が小さくなり易い。
【００５８】
このため、スレーブ装置３０側で推定される通信遅延時間の誤差が小さくなり易く、通信遅延時間の精度も良くなるため、スレーブ装置３０が、マスター装置２０との時刻同期において時刻同期精度を高めることができる。
【００５９】
図５は、第１実施形態の管理システム１で行われる処理の手順の流れの一例を示すシーケンス図である。
【００６０】
まず、マスター装置２０Ａがネットワークに接続されると（ステップＳ３０１）、マスター装置２０Ａの通知部２２は、記憶部２１からマスター装置２０Ａの同期情報を取得して、管理装置１０に通知し、管理装置１０の取得部１１は、同期情報を取得する（ステップＳ３０３）。
【００６１】
続いて、管理装置１０の算出部１３は、数式（１）を用いて、時刻オフセットを算出する（ステップＳ３０５）。ここでは、マスター装置２０Ａのｉは、１であるものとする。このため、マスター装置２０Ａの時刻オフセットは０となる。
【００６２】
続いて、管理装置１０の通知部１５は、算出部１３により算出された時刻オフセットを示すオフセット情報をマスター装置２０Ａに通知し、マスター装置２０Ａの取得部２３は、オフセット情報を取得する（ステップＳ３０７）。
【００６３】
続いて、マスター装置２０Ａの計時部２４は、オフセット情報が示す時刻オフセットを設定し、計時時刻を、計時した時刻をオフセット情報が示す時刻オフセットでオフセットした時刻に変更する（ステップＳ３０９）。
【００６４】
図５では、図示を省略しているが、この後、変更後の計時時刻が所定時刻になると、マスター装置２０Ａの同期部２５は、管理対象のスレーブ装置３０Ａとの間で変更後の計時時刻での時刻同期を行う。
【００６５】
続いて、マスター装置２０Ｂがネットワークに接続されると（ステップＳ３１１）、マスター装置２０Ｂの通知部２２は、記憶部２１からマスター装置２０Ｂの同期情報を取得して、管理装置１０に通知し、管理装置１０の取得部１１は、同期情報を取得する（ステップＳ３１３）。
【００６６】
続いて、管理装置１０の算出部１３は、数式（１）を用いて、マスター装置２０Ａ、２０Ｂの時刻オフセットを算出する（ステップＳ３１５）。ここでは、マスター装置２０Ａのｉは、１であり、マスター装置２０Ｂのｉは、２であり、取得済みの同期情報数は、２であるものとする。このため、マスター装置２０Ａの時刻オフセットは０となり、マスター装置２０Ｂの時刻オフセットは同期周期２／２となる。
【００６７】
続いて、管理装置１０の通知部１５は、算出部１３により算出されたマスター装置２０Ｂの時刻オフセットを示すオフセット情報をマスター装置２０Ｂに通知し、マスター装置２０Ｂの取得部２３は、オフセット情報を取得する（ステップＳ３１７）。
【００６８】
続いて、管理装置１０の通知部１５は、算出部１３により算出されたマスター装置２０Ａの時刻オフセットを示すオフセット情報をマスター装置２０Ａに通知し、マスター装置２０Ａの取得部２３は、オフセット情報を取得する（ステップＳ３１９）。
【００６９】
続いて、マスター装置２０Ｂの計時部２４は、オフセット情報が示す時刻オフセットを設定し、計時時刻を、計時した時刻をオフセット情報が示す時刻オフセットでオフセットした時刻に変更する（ステップＳ３２１）。
【００７０】
続いて、マスター装置２０Ａの計時部２４は、オフセット情報が示す時刻オフセットを再設定し、計時時刻を、計時した時刻をオフセット情報が示す時刻オフセットでオフセットした時刻に変更する（ステップＳ３２３）。
【００７１】
図５では、図示を省略しているが、この後、変更後の計時時刻が所定時刻になると、図４に示すように、マスター装置２０Ａの同期部２５は、管理対象のスレーブ装置３０Ａとの間で変更後の計時時刻での時刻同期を行い、マスター装置２０Ｂの同期部２５は、管理対象のスレーブ装置３０Ｂとの間で変更後の計時時刻での時刻同期を行う。
【００７２】
以上のように第１実施形態によれば、管理装置１０は、マスター装置２０Ａ、２０Ｂに互いに異なる時刻オフセットを設定させることで、マスター装置２０Ａ、２０Ｂの計時時刻をずらすので、予め定められた時刻に時刻同期を行うなど任意の時刻を時刻同期タイミングに定めることになる規格化においても、マスター装置２０Ａ、２０Ｂそれぞれの時刻同期をずらすことができ、時刻同期に伴う競合の発生を避けることができる。このため第１実施形態によれば、スレーブ装置３０が、マスター装置２０との時刻同期において時刻同期精度を高めることができる。
【００７３】
（第２実施形態）
第２実施形態では、時刻オフセットの再設定により、時刻同期に伴う競合が発生し易くなってしまった場合に、時刻オフセットの再設定をやり直す例について説明する。以下では、第１実施形態との相違点の説明を主に行い、第１実施形態と同様の機能を有する構成要素については、第１実施形態と同様の名称・符号を付し、その説明を省略する。
【００７４】
図６は、第２実施形態の管理システム１０１の管理装置１１０の構成の一例を示す図であり、図７は、第２実施形態の管理システム１０１のマスター装置１２０の構成の一例を示す図である。
【００７５】
図６に示すように、管理装置１１０は、取得部１１１、算出部１１３、及び通知部１１５が第１実施形態と相違し、図７に示すように、マスター装置１２０は、通知部１２２及び同期部１２５が第１実施形態と相違する。
【００７６】
同期部１２５は、現在の時刻同期に関する第１時間が過去の時刻同期に関する第２時間よりも長いか否かを判定する。具体的には、同期部１２５は、管理対象のスレーブ装置３０との間で時刻同期を行う毎に、第１時間が第２時間よりも長いか否かを判定する。
【００７７】
第２実施形態では、第１時間及び第２時間は、同期部１２５が管理対象のスレーブ装置３０との間で時刻同期を行うために実施した時刻同期シーケンスの過程で得たマスター装置１２０と管理対象のスレーブ装置３０との間の通信の往復時間（ＲＴＴ：Round  Trip  Time）であるものとするが、これに限定されるものではない。
【００７８】
また第２実施形態では、第１時間は、現在の時刻同期でのＲＴＴであり、第２時間は、前回の時刻同期でのＲＴＴであるものとするが、これに限定されるものではない。例えば、第２時間は、過去複数回分の時刻同期でのＲＴＴの平均値等の統計値などとしてもよい。
【００７９】
通知部１２２は、同期部１２５により第１時間が第２時間よりも長いと判定された場合、管理装置１１０にオフセット情報を再要求するオフセット再要求を行う。第１時間が第２時間よりも長いということは、前回の時刻同期よりも現在の時刻同期の方が、ネットワーク装置４０において競合が発生していると考えられるためである。オフセット再要求は、マスター装置１２０を識別するマスターＩＤを含む。
【００８０】
なお、同期部１２５が、第１時間と第２時間との比較ではなく、第１時間と閾値とを比較し、第１時間が閾値よりも大きい場合、通知部１２２は、管理装置１１０にオフセット再要求を行うようにしてもよい。
【００８１】
取得部１１１は、マスター装置１２０からオフセット再要求を取得する。
【００８２】
算出部１１３は、取得部１１１により取得されたオフセット再要求に含まれるマスターＩＤを用いて、記憶部１７から当該マスターＩＤを含む同期情報を取得し、当該同期情報及び乱数に基づいて、当該マスターＩＤが示すマスター装置１２０の時刻オフセットを算出する。例えば、算出部１１３は、オフセット再要求の場合、数式（６）を用いて、時刻オフセットを算出する。
【００８３】
時刻オフセット＝（同期周期ｉ／取得済みの同期情報数）×（ｉ−１）＋乱数値      …（６）
【００８４】
ここで、乱数値は、−同期周期ｉ〜同期周期ｉの間で予め設定した範囲に入り、一様分布または正規分布等の予め指定した確率分布に従い生成される疑似乱数値である。
【００８５】
通知部１１５は、算出部１１３により算出された時刻オフセットを示すオフセット情報を、時刻オフセットが算出されたマスター装置１２０（マスターＩＤが示すマスター装置１２０）に通知する。
【００８６】
図８は、第２実施形態の管理システム１０１で行われるオフセット再要求処理の手順の流れの一例を示すシーケンス図である。
【００８７】
まず、マスター装置１２０の同期部１２５は、現在の時刻同期でのＲＴＴである第１ＲＴＴを取得し（ステップＳ４０１）、前回の時刻同期でのＲＴＴである第２ＲＴＴを記憶部２１から取得する（ステップＳ４０３）。
【００８８】
続いて、同期部１２５は、第１ＲＴＴが第２ＲＴＴよりも長いか否かを判定する（ステップＳ４０５）。
【００８９】
第１ＲＴＴが第２ＲＴＴよりも長い場合（ステップＳ４０５でＹｅｓ）、通知部１２２は、管理装置１１０にオフセット再要求を行う（ステップＳ４０７）。一方、第１ＲＴＴが第２ＲＴＴよりも長くない場合（ステップＳ４０５でＮｏ）、オフセット再要求は行われない。
【００９０】
続いて、同期部１２５は、第１ＲＴＴを第２ＲＴＴとして記憶部２１に記憶する（ステップＳ４０９）。
【００９１】
以上のように第２実施形態によれば、時刻オフセットの再設定により、時刻同期に伴う競合が発生し易くなってしまった場合、自動的に時刻オフセットの再設定をやり直すことができる。このため第２実施形態によれば、時刻オフセットが再設定される場合であっても、時刻同期に伴う競合の発生を避け易くすることができる。
【００９２】
なお、オフセット再要求の頻繁な発生を防ぐために、マスター装置１２０毎に、オフセット再要求に制限回数を設け、制限回数を超えた場合には、時刻オフセットを算出しなかったり、アラートを発生させたりするようにしてもよい。
【００９３】
（第３実施形態）
上記第１、２実施形態では、各マスター装置においてオフセット前の計時時刻が一致することを前提に説明したが、各マスター装置においてオフセット前の計時時刻が一致するか否かが未知である場合について説明する。以下では、第１実施形態との相違点の説明を主に行い、第１実施形態と同様の機能を有する構成要素については、第１実施形態と同様の名称・符号を付し、その説明を省略する。
【００９４】
図９は、第３実施形態の管理システム２０１の管理装置２１０の構成の一例を示す図であり、図１０は、第３実施形態の管理システム２０１のマスター装置２２０の構成の一例を示す図である。
【００９５】
図９に示すように、管理装置２１０は、算出部２１３、通知部２１５、及び計時部２１９が第１実施形態と相違し、図１０に示すように、マスター装置２２０は、通知部２２２、及び取得部２２３が第１実施形態と相違する。
【００９６】
計時部２１９は、管理装置２１０の時刻を計時する。
【００９７】
通知部２１５は、マスター装置２２０毎に、同期情報を要求する要求メッセージを通知する。
【００９８】
取得部２２３は、要求メッセージを取得する。
【００９９】
通知部２２２は、取得部２２３により時刻要求メッセージが取得されると、計時部２４により計時された計時時刻を含めた同期情報を管理装置２１０に通知する。
【０１００】
算出部２１３は、マスター装置２２０毎に、取得部１１により取得された同期情報及び計時部２１９により計時された計時時刻に基づいて、時刻オフセットを算出する。
【０１０１】
具体的には、算出部２１３は、通知部２１５がマスター装置２２０に要求メッセージを通知した際の計時部２１９により計時された計時時刻と、取得部１１がマスター装置２２０から同期情報を取得した際の計時部２１９により計時された計時時刻とから、同期情報を要求してから同期情報を取得するまでの時間を算出し、マスター装置２２０と管理装置２０１との通信遅延時間を算出する。なお、通信遅延時間の算出は、数式（３）の同期メッセージの往復時間を、同期情報を要求してから同期情報を取得するまでの時間に置き換えて算出すればよい。
【０１０２】
そして算出部２１３は、取得部１１がマスター装置２２０から同期情報を取得した際の計時部２１９により計時された計時時刻、同期情報に含まれる計時部２４により計時された計時時刻、及び算出した通信遅延時間を用いて、マスター装置２２０と管理装置２０１との差分時間を算出する。算出部２１３は、例えば、数式（７）を用いて、マスター装置２２０と管理装置２０１との差分時間を算出する。
【０１０３】
差分時間＝管理装置２１０の現在時刻−（マスター装置２２０の時刻＋遅延時間）      …(７)
【０１０４】
ここで、管理装置２１０の現在時刻には、取得部１１がマスター装置２２０から同期情報を取得した際の計時部２１９により計時された計時時刻を用い、マスター装置２２０の時刻には、同期情報に含まれる計時部２４により計時された計時時刻を用いればよい。
【０１０５】
更に、算出部２１３は、取得部１１により取得された同期情報及び算出した差分時間を用いて、時刻オフセットを算出する。例えば、算出部２１３は、マスター装置２２０毎に、数式（８）を用いて、時刻オフセットを算出する。
【０１０６】
時刻オフセット＝（同期周期ｉ／取得済みの同期情報数）×（ｉ−１）−差分時間ｉ      …（８）
【０１０７】
このように、時刻オフセットから、予めマスター装置２２０と管理装置２１０との差分時間を減じておくことで、各マスター装置２２０においてオフセット前の計時時刻が異なっていても、オフセット後の計時時刻が一致してしまうという事態を回避できる。
【０１０８】
図１１は、第３実施形態の管理システム２０１で行われる処理の手順の流れの一例を示すシーケンス図である。
【０１０９】
まず、管理装置２１０の通知部２１５は、マスター装置２２０に、同期情報を要求する要求メッセージを通知し、マスター装置２２０の取得部２２３は、要求メッセージを取得する（ステップＳ５０１）。
【０１１０】
続いて、マスター装置２２０の通知部２２２は、記憶部２１からマスター装置２２０の同期情報を取得し、計時部２４により計時された計時時刻を含めて、管理装置２１０に通知し、管理装置２１０の取得部１１は、同期情報を取得する（ステップＳ５０３）。
【０１１１】
続いて、管理装置２１０の算出部２１３は、数式（３）を利用して、マスター装置２２０と管理装置２０１との通信遅延時間を算出し、数式（７）を用いて、マスター装置２２０と管理装置２０１との差分時間を算出する（ステップＳ５０５）。
【０１１２】
続いて、管理装置２１０の算出部２１３は、数式（８）を用いて、時刻オフセットを算出する（ステップＳ５０７）。
【０１１３】
続いて、管理装置２１０の通知部２１５は、算出部２１３により算出された時刻オフセットを示すオフセット情報をマスター装置２２０に通知し、マスター装置２２０の取得部２２３は、オフセット情報を取得する（ステップＳ５０９）。
【０１１４】
続いて、マスター装置２２０の計時部２４は、オフセット情報が示す時刻オフセットを設定し、計時時刻を、計時した時刻をオフセット情報が示す時刻オフセットでオフセットした時刻に変更する（ステップＳ５１１）。
【０１１５】
図１１では、図示を省略しているが、この後、変更後の計時時刻が所定時刻になると、マスター装置２２０の同期部２５は、管理対象のスレーブ装置３０との間で変更後の計時時刻での時刻同期を行う。
【０１１６】
以上のように第３実施形態によれば、時刻オフセットから、予めマスター装置２２０と管理装置２１０との差分時刻を減じておくことで、各マスター装置２２０においてオフセット前の計時時刻が異なっていても、オフセット後の計時時刻が一致してしまうという事態を回避できる。
【０１１７】
（ハードウェア構成）
図１２は、各実施形態の管理装置及びマスター装置（以下、各実施形態の各装置と称する）のハードウェア構成の一例を示す図である。図１２に示すように、各実施形態の各装置は、ＣＰＵなどの制御装置９０１と、ＲＯＭやＲＡＭなどの主記憶装置９０２と、ＨＤＤやＳＳＤなどの補助記憶装置９０３と、ディスプレイなどの表示装置９０４と、キーボードやマウスなどの入力装置９０５と、通信インタフェースなどの通信装置９０６と、を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１１８】
各実施形態の各装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ（Digital  Versatile  Disk）、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されて提供される。
【０１１９】
また、各実施形態の各装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、各実施形態の各装置で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、各実施形態の各装置で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するようにしてもよい。
【０１２０】
各実施形態の各装置で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、ＣＰＵがＲＯＭやＨＤＤなどからプログラムをＲＡＭ上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。なお、上記各部の少なくとも一部をＩＣなどのハードウェアで実現する場合、各実施形態の各装置は、当該ＩＣなどを更に備えればよい。
【０１２１】
本発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【０１２２】
例えば、各実施形態のフローチャートにおける各ステップを、その性質に反しない限り、実行順序を変更し、複数同時に実施し、あるいは実施毎に異なった順序で実施してもよい。
【０１２３】
以上のように、各実施形態によれば、任意の時刻を時刻同期タイミングに定めることになる規格化においても、時刻同期に伴う競合の発生を避けることが可能である。
【符号の説明】
【０１２４】
１、１０１、２０１  管理システム
１０、１１０、２１０  管理装置
１１、１１１  取得部
１３、１１３、２１３  算出部
１５、１１５、２１５  通知部
１７  記憶部
２０Ａ、２０Ｂ（２０、１２０、２２０）  マスター装置
２１  記憶部
２２、１２２、２２２  通知部
２３、２２３  取得部
２４  計時部
２５、１２５  同期部
３０Ａ１、３０Ａ２、３０Ｂ１、３０Ｂ２（３０、３０Ａ、３０Ｂ）  スレーブ装置
４０  ネットワーク装置
２１９  計時部
【図１】
0006461718.tif 000002
【図２】
0006461718.tif 000003
【図３】
0006461718.tif 000004
【図４】
0006461718.tif 000005
【図５】
0006461718.tif 000006
【図６】
0006461718.tif 000007
【図７】
0006461718.tif 000008
【図８】
0006461718.tif 000009
【図９】
0006461718.tif 000010
【図１０】
0006461718.tif 000011
【図１１】
0006461718.tif 000012
【図１２】
0006461718.tif 000013