(57)【要約】【課題】ネットワーク内の時刻同期方式において、マスタサーバの時刻に誤りが発生した場合は、インターネットと接続されていない閉塞したネットワーク環境、マスタサーバと通信がとれなくなった場合など各計算機が適切な時刻を設定できない状況が発生する可能性がある。またマスタサーバ停止時などは組織内の時刻同期処理に対しての運用を考慮・検討が必要となってくる。【解決手段】時刻同期命令が発生した際にネットワークを介して接続される各計算機が各々保持している時刻情報を取得し、取得した情報と自身の時刻情報を元に、時刻算出プログラムより適切な時刻を算出し、各端末に展開し、各端末は前記算出時刻にて自身の時刻を更新することで、ネットワーク内の各端末間の時刻同期処理を実施する。【選択図】図１
2011257282.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算機がネットワークを介して時刻情報を相互交換し、各計算機の時刻情報の集合を母体データとして同期時刻を算出する機能を有する時刻同期システムであって、時刻同期処理開始の契機となる計算機は、ネットワーク内の各計算機が各々保有する時刻情報を取得し、取得した時刻情報を基に同期時刻を算出し、算出した同期時刻をネットワーク内の全計算機にフィードバックすることで適切な時刻にて計算機間の時刻同期を可能とする時刻同期方式。
【請求項２】
請求項１記載の時刻同期方式において、階層構成の下位ノードに時刻情報を伝播するツリー型構造のように特定のマスタサーバを必要としない、また時刻情報を保有するいくつかの計算機が停止している状況においても、他の計算機が保有する時刻情報より、時刻決定が可能な機能を有した時刻同期方式。本方式により、特定のマスタサーバを必要とせずにネットワーク内の計算機間の時刻同期を可能とする。
【請求項３】
請求項２記載の時刻同期方式において、一部計算機の時刻情報が誤っても、他の計算機が保有する時刻情報と比較し、適切な時刻でないと判断した場合は同期時刻の算出時の母体データから対象の時刻情報を除外することで、適切な時刻決定が可能な機能を有した時刻同期方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介した時刻同期方式に関するものであり、具体的には時刻情報を保有した複数の計算機の時刻情報を相互交換し、得られた情報を基に適切な時刻を算出することで、特定のマスタサーバを必要とせずにネットワーク内の計算機間の時刻同期を可能とする技術に関する。
【背景技術】
【０００２】
ネットワーク上に存在している複数の計算機の間で連携して作業を行う場合、各計算機が保持する時刻の同期が非常に重要となる場合がある。例えば、計算機の時刻を参照し、複数の計算機間で時刻データにて連動して動作する仕組みを持った業務システムなどにおいては、各計算機間の時刻にズレが発生することでシステムが正しく動作できなくなってしまう場合があり、サービスの提供に重大な影響を与えるまでに至る。
【０００３】
既存の時刻同期方式ではマスタとなる１台または数台のNTPサーバを用意し、インターネット上の信頼性の高いNTPサーバと同期させ、マスタサーバが保持している時刻情報を階層構成の下位の計算機に伝播し、各計算機は受信した時刻情報に基づいて自身の時刻を更新することで、ネットワーク内の各計算機の時刻を同期させるツリー型構造でのクライアント-サーバモデルの時刻同期手法が採用されている。
【０００４】
またネットワークに接続された計算機の時刻同期方式については、「特許文献１参照」「特許文献２参照」など多数提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−９４４９１号公報
【特許文献２】特開２００３−１１０５６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ネットワーク内の時刻同期方式において、マスタサーバを複数台用意し、第１のマスターサーバダウン時に第２のマスタサーバにて時刻同期機能を継続させる技術は存在するが、マスタサーバの時刻に誤りが発生した場合は、階層構成のツリー下位の全ての計算機が誤った時刻情報を設定することとなり、各計算機が適切な時刻を設定できない状況が発生する可能性がある。
【０００７】
また、インターネットと接続されていない閉塞したネットワーク環境においては、信頼度の高い外部ＮＴＰサーバとマスタサーバ間の時刻同期ができないため、ネットワーク内のマスタサーバの時刻情報への依存度高く、前記同様に各計算機が適切な時刻を設定できない状況が発生する可能性がある。
【０００８】
また、メンテナンス等におけるマスタサーバのシステムダウン時には、ネットワーク内の時刻同期処理を継続可能とする、または、時刻同期処理の停止がシステム稼動に影響を及ぼさない運用設定を考慮する必要がある。
【０００９】
また、複数のマスタサーバと通信がとれなくなった場合、階層構成のツリー下位の各計算機は時刻情報を入手することができず、計算機間の時刻同期がとれない状況が発生する。
【００１０】
そこで本発明は上記課題を鑑みて為されたものであり、特定のマスタサーバの存在有無に依存せずに、ネットワーク内の各計算機間の時刻同期を可能とする技術の提供を主たる目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するための本発明は、時刻同期命令が発生した際にネットワークを介して接続される各計算機が各々保持している時刻情報を取得し、取得した時刻情報を元に、時刻算出プログラムより適切な時刻を算出し、各計算機に展開し、各計算機は前記算出時刻にて自身の時刻を更新することで、ネットワーク内の各計算機間の時刻同期処理を実施する。
【００１２】
その他、本願が開示する課題、およびその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
【発明の効果】
【００１３】
本発明によれば、時刻同期に特定のマスタサーバを必要とせず、ネットワーク内の各計算機間の時刻同期が可能となる。また時刻同期対象の一部計算機にてシステムダウンが生じた際もネットワーク内で稼動している各端末間の時刻情報を時刻算出の母体データとすることで時刻同期処理を継続することが可能となる。また一部計算機の時刻にズレが生じた場合も、時刻算出プログラムにより、時刻算出の母体データから除外することで適切な時刻決定と同期処理が可能となる。さらに、特定のマスタサーバが不要であることより、マスタサーバの障害時運用設計を省略することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態の時刻同期方式のネットワーク構成例を示す図である。
【図２】本実施形態の時刻同期処理における計算機間の機能関連例を示す図である。
【図３】本実施形態の時刻情報管理データベースのテーブル構成例を示す図である。
【図４】本実施形態の時刻同期方式の処理フロー例１を示す図である。
【図５】本実施形態の時刻同期方式の処理フロー例２を示す図である。
【発明を実施するための形態】
【００１５】
以下に本発明を実施するための最良の形態について図面を参照しながら説明する。図１は、本実施形態の時刻同期方式のネットワーク構成例である。図１の時刻同期システムは計算機１０〜１ｎがネットワークを通じて接続されている。
【００１６】
計算機１０〜１ｎは通信手段としてＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）を用いネットワークを介して、同期処理に関わる情報の送受信を実施する。
【００１７】
前記計算機１０〜１ｎは、内部時刻１１０、時刻同期設定ファイル１２０、時刻カウンタ１３０、時刻情報管理データベース１４０、時刻情報取得機能１５０、時刻情報送信機能１６０、時刻決定機能１７０、時刻同期機能１８０から構成される。
【００１８】
時刻同期処理開始の契機となる計算機（ここでは計算機１０とする）は、起動時または時刻情報取得時に前記時刻情報取得機能１５０より時刻情報の取得要求を行う。計算機１０〜１ｎの前記時刻情報送信機能１６０は前記内部時刻１１０より時刻情報を作成し、計算機１０の時刻情報取得機能１５０に送信する。時刻情報を取得した時刻情報取得機能１５０は時刻情報管理ＤＢ１６０に情報を格納する。前記時刻決定機能１７０は時刻情報管理ＤＢ１４０より時刻情報を読み取り同期時刻を算出し、算出した同期時刻をネットワーク内の全計算機の前記時刻同期機能１８０へ配信する。時刻同期機能１８０は内部時刻１１０の時刻を更新する。ネットワーク内の全計算機にて時刻同期機能が動作することで、ネットワーク内の計算機間の同期を実現する。なお、時刻情報処理開始の契機は前記時刻同期カウンタ１３０にて決定し、時刻同期間隔や時刻同期を行うか否か判断条件など時刻同期処理に関する設定を前記時刻同期設定ファイル１２０にて実施できるものとする。上記プロセスにて、特定のマスタサーバを必要とせず適切な時刻にてネットワーク内の時刻同期を行うことができる。
【００１９】
本発明の時刻同期方式を用いる時刻同期システムにおける上記各機能、及び、関連オブジェクトについて、図２、図３を用いて説明する。図２は本実施形態の時刻同期処理における計算機間の機能関連図であり、時刻同期処理発生の契機となる計算機（ここでは前記計算機１０とする）と、組織内のその他の計算機（ここでは前記計算機１１〜１ｎとする）から構成される。図３は本実施形態の時刻情報管理データベースのテーブル構成例を示す図である。
【００２０】
図２内部時刻１１０は、各計算機のシステム時刻であり、オペレーティングシステムやアプリケーションの基準時刻となる。
【００２１】
時刻同期設定ファイル１２０は、計算機ＩＤ(時刻同期処理において、ネットワーク内で一意となる番号で計算機の特定が可能となるＩＤ)、時刻同期間隔、時刻同期を行うか否か判断条件、算出した同期時刻にて時刻の更新を行うか否かの判断基準など、時刻同期処理に関する各種設定を記載する設定ファイルである。各計算機は各々個別の設定が可能であり、計算機の時刻同期に関わるシステム要件に合わせ管理者が設定を行うものである。
【００２２】
同期カウンタ１３０は、時刻同期処理開始の契機となるタイミングを計るもので、例えば時刻同期設定ファイルの時刻同期間隔が５分と設定されていた場合、同期カウンタが時刻を刻み５分に至った際に時刻同期処理開始の合図を送るものである。
【００２３】
時刻情報管理データベース１４０は、各計算機の時刻情報を格納・管理するものであり、図３のテーブル構成「ＩＤ、ＩＰ、時刻、算出対象」からなる。
【００２４】
時刻情報取得機能１５０は、時刻情報送信要求１５１と時刻情報格納プログラム１５２を備えている。前記時刻情報送信要求１５１は、時刻同期処理発生の契機に際し、ネットワーク内の全計算機に対して時刻同期情報の送信を要求するものであり、時刻同期処理の開始動作となる。また、前記時刻情報格納プログラム１５２は、各計算機から送られてきた時刻情報を時刻情報管理データベースに格納するプログラムである。
【００２５】
時刻情報送信機能１６０は、時刻情報送信プログラム１６１から構成される。前記時刻情報送信プログラム１６１は、時刻情報送信要求に応じ、計算機内の内部時刻を参照し、計算機ＩＤを付与した時刻情報を作成する。また、作成した時刻情報を時刻情報送信要求１５１を送信した計算機１０に対し送信する。なお、時刻情報送信プログラム１６１は、時刻情報送信要求１５１を受信した場合、前記時刻同期カウンタ１３０の動作を停止させ、ネットワーク内で複数の時刻同期処理が同時実行されることを抑止する機能を有する。
【００２６】
時刻決定機能１７０は、時刻算出プログラム１７１と時刻情報配信プログラム１７２から構成される。前記時刻算出プログラム１７１は、時刻情報管理データベースの情報より同期時刻を算出・決定するプログラムである。また、前記時刻情報配信プログラム１７２は時刻同期算出プログラムにて決定した同期時刻をネットワーク内の全計算機に配信するプログラムである。
【００２７】
時刻同期機能１８０は、時刻同期判断プログラム１８１から構成される。前記時刻同期判断プログラム１８１は、前記時刻同期設定ファイル１２０の同期条件を読み込み、時刻情報配信プログラムにて配信された同期時刻にて内部時刻を更新するか否かの判断を行い、同期すると判断した場合は同期時刻を内部時刻にセットする。なお、時刻同期判断プログラム１８１は、時刻情報配信プログラム１７２より配信された同期時刻を受信した場合、前記時刻同期カウンタ１３０をリセットし、ネットワーク内での時刻同期処理の頻発を抑止する機能を有する。
【００２８】
以下に時刻同期システムの時刻同期開始から同期完了までの流れを各機能の詳細説明を踏まえ説明する。
【００２９】
特定の計算機において（ここでは計算機１０とする）時刻同期処理発生の契機、例えばシステム起動時や時刻カウンタからのシグナルが送信された場合、時刻情報取得機能１５０は時刻情報送信要求１５１をネットワーク内の全計算機１０〜１ｎに送信する。送信には信頼性の高いＴＣＰ通信、または、同一セグメントのみならずセグメント越しの複数計算機への通信が発生するため、マルチキャスト通信（特定のグループに所属するすべての計算機にパケットを送信、またパケット受信した計算機はＩＰの上位層にて必要なデータか否かの判断を行い、必要であれば受信し、必要でなければ破棄する方法）による同時送信などが考えられる。
【００３０】
時刻情報送信要求を受信した各計算機の時刻情報送信機能１６０は、まず、計算機内に予め設定されている時刻同期設定ファイル内に記述されている時刻同期判断基準の読み込みを行う。これは前記時刻情報送信要求１５１に対し応答するかの判断基準が記載されているものであり、例えば、運用テストなどで自身の内部時刻を意図的に変更しており、他の計算機と比較し時刻の設定に大きなズレが生じている場合は、時刻算出時の入力データとして適切でないため、時刻情報の送信しないように設定される。時刻同期判断基準と比較し、自身の時刻情報を送信すると判断した場合、時刻情報送信プログラム１６１は組織内で一意に定められた自身のＩＤと内部時刻１１０のセットを時刻情報として前記計算機１０の時刻情報格納プログラム１５２に送信する。送信時は信頼性の高いＴＣＰ、または、パケット受信までにかかる時間を考慮して、複雑な制御、パケット損失時の再送処理をせず高速に動作するＵＤＰ（Ｕｓｅｒ Ｄａｔａｇｒａｍ Ｐｒｏｔｏｃｏｌ）通信での送信が考えられる。また、時刻情報送信プログラム１６１は、時刻情報送信要求１５１の受信に際し、現在計算機１０が契機となり実施している時刻同期処理が終了するまで、新たな時刻同期処理が発生しないように前記同期カウンタ１２０の動作を停止させる。
【００３１】
時刻情報を受信した時刻情報格納プログラム１５２は、まず前記時刻情報管理データベース１４０の計算機ＩＤを除く登録情報を削除・初期化する。時刻情報格納プログラム１５２は、各計算機から時刻情報を受け取ると、載時刻情報管理データベース１４０のテーブル構成の様に「ＩＤ、ＩＰ、時刻」などを前記載時刻情報管理データベース１４０に格納する。なお、ネットワーク内の全計算機は予め組織内で一意に定められたＩＤ番号を保持しており、届いた時刻情報に保持されているＩＤ番号とマッチする列に格納する。
【００３２】
時刻情報格納後、時刻決定機能１７０の時刻算出プログラム１７１が動作し、時刻情報管理データベース１４０の時刻情報を読み込み、後述する時刻算出プログラム処理フローに従い同期のための時刻を算出・決定する。時刻算出プログラム１７１にて時刻が決定した後、時刻情報配信プログラム１７２は動作し、算出・決定した時刻をネットワーク内の全計算機に配信する。配信時は前記時刻情報送信要求１６１送信の際と同様にＴＣＰ通信、または、マルチキャスト通信が考えられる。
【００３３】
時刻情報配信プログラム１７２にて時刻情報が配信された後、時刻同期機能１８０の時刻同期判断プログラム１８１は同期時刻を受信し、後述する時刻同期判断プログラム処理に従い自身の内部時刻１１０を更新する。また、時刻同期判断プログラム１８１は、時刻情報配信プログラム１７２より配信された同期時刻の受信に際し、時刻同期カウンタ１３０をリセットすることで、ネットワーク内の時刻同期処理の頻発を抑止する。なお、時刻同期機能１８０はネットワーク内の全計算機において実施されることにより、ネットワーク内の各計算機間の時刻同期を実現する。
【００３４】
なお、本記載は省くが時刻同期にて実装されているネットワーク特性によるパケットの通信遅延やゆらぎなどの影響を極力排除する機能は同等に含むことで、各端末間の誤差の少ない時刻同期を実現するものとする。
【００３５】
また、上記に述べた時刻算出プログラム１７２について図３、図４を用いて説明する。図４は本実施形態の時刻同期方式の処理フロー図であり、上記時刻決定機能１７０の時刻算出プログラム１７１のフローを示すものである。時刻算出プログラム１７２開始時、まず、前記時刻情報管理データベース１４０の各レコードの読み込みを行う。この際、時刻情報管理データベース１４０の登録情報としては時刻情報格納プログラム１２２にて格納された図３「ＩＤ、ＩＰ、時刻」情報となる。レコード読み込み後、各レコード情報より、算出対象条件を決定する。これは時刻算出を行う上での算出元データとして適切なものと適切でないものを振り分け、以降で実施する時刻算出の入力情報となる時刻データを抽出するものである。算出対象条件の決定方法として具体的には、各レコードの時刻データの最大時間・最小時間は算出対象から除外する手法や、統計学の例えば各レコードの時刻データを母集団とした９５パーセント信頼区間に含まれない時刻データをは算出対象から除外する手法などが考えられる。算出対象条件決定後、先頭レコードから末尾レコードまで順次、上記で定めた算出条件と時刻情報を比較し、算出対象であるものについては図３時刻情報管理データベースの対象レコードのＳｔａｔｕｓに算出対象情報を示す「Ｙ」をセットし、算出対象でないものについては、同様にＳｔａｔｕｓに非算出対象情報を示す「Ｎ」をセットする。全てのレコードに対し算出対象・非対称を決定した後、算出対象レコードを母集団とし、そこから時刻算出・決定を行う。時刻算出・決定は同期時刻として配信する時刻を算出・決定するものである。時刻算出・決定方法として具体的には、母集団の時刻データの平均値を算出する手法などが考えられる。
【００３６】
上記プロセスを経て、信頼性の高い同期時刻を決定することが可能となる。またマスタサーバなど特定の時刻同期機器が存在せずとも適切な同期時刻の算出が可能である。さらに組織内のシステム構成が頻繁に変更するような、例えばネットワーク構成が動的に変化し、各計算機のシステムアップ・システムダウンが頻発するアドホックネットワーク環境などにおいても適切な時刻算出が可能となる。
【００３７】
上記に記述した時刻同期判断プログラムについて図５を用いて説明する。図５は本実施形態の時刻同期方式の処理フローであり、時刻同期機能１８０の時刻同期判断プログラム１８１のフローを示すものである。時刻同期判断プログラム１８１開始時、まず、計算機内に予め設定されている時刻同期判断基準ファイルの読み込みを行う。これは同期時刻にて内部時刻１１０の更新を行うか否かの判断を行う上での基準となる各種ルールが記載されているものである。例えば、自身の内部時刻と配信時刻に大きなズレがある場合は内部時刻の更新を行わない、配信時刻・内部時刻の如何にかかわらず時刻同期は行わないなどの同期条件の設定が考えられる。前記時刻同期判断ファイル読み込み後、内部時刻・配信時刻の確認を行い、判断基準と比較し前記動機条件にマッチする場合は、内部時刻を配信時刻にて更新する。前記同期条件にマッチしない場合は、同期時刻は破棄し、内部時刻の更新は行わない。内部時刻の更新または同期時刻の破棄後、時刻同期判断プログラムは最終動作として同期カウンタをリセットする。上記プロセスを経て、計算機の時刻同期を実現する。なお、前記時刻同期判断プログラムは組織内の全ての計算機にて実施されることで、ネットワーク内の各計算機間の時刻の同期が可能となる。
【００３８】
以上本実施形態によれば、特定のマスタサーバに依存することなくネットワーク内の各計算機間の時刻同期が可能となる。またネットワーク内の一部計算機がダウンした場合も、稼動している端末の時刻情報より同期時刻算出することが可能であり時刻同期処理を継続できる。また一部計算機の時刻に誤りが生じた場合も、時刻算出プログラムの算出対象条件決定プロセスにより、時刻算出の母体データから対象時刻情報を除外することで適切な時刻決定と同期処理が可能となる。さらに、特定のマスタサーバが不要であることより、サーバ停止時における時刻同期処理に関わるシステム運用設計を省略することが可能となる。
【符号の説明】
【００３９】
１０、１１、１２、１３、１４、１５、１６、１ｎ…計算機、１１０…内部時刻、１２０…時刻同期設定ファイル、１３０…時刻カウンタ、１４０…時刻情報管理データベース、１５０…時刻情報取得機能、１５１…時刻情報送信要求、１５２…時刻情報格納プログラム、１６０…時刻情報送信機能、１６１…時刻情報送信プログラム、１７０…時刻決定機能、１７１…時刻算出プログラム、１７２…時刻情報配信プログラム、１８０…時刻同期機能、１８１…時刻同期判断プログラム。
【図１】
2011257282.tif 000003
【図２】
2011257282.tif 000004
【図３】
2011257282.tif 000005
【図４】
2011257282.tif 000006
【図５】
2011257282.tif 000007