(57)【要約】      （修正有）【課題】ＰＴＰの時刻同期をスレーブ装置内部のタイマー関連に悪影響を与えることなく、ログ保存時刻に利用し、ネットワークシステムの問題などをログ情報から正確に把握可能とする。【解決手段】ネットワークに接続されたスイッチングハブ１は、グランドマスター４から定期的に時刻同期用パケットを取得する。この時刻同期用パケットに基づきシステム時刻２とは別に備えられた高精度時刻３を、グランドマスター４の時刻と同期させる。この同期の際にグランドマスター４の時刻とシステム時刻２との時刻差をオフセット値６として算出する。イベントのログ情報に対する高精度時刻の必要性を判定し、判定結果に応じてシステム時刻２にオフセット値６を加算した高精度システム時刻と、システム時刻２とを選択する。この選択された時刻をログ保存時刻として、ログ情報と併せて保存する。【選択図】図１
2018157462.tif 000002
【特許請求の範囲】
【請求項１】
グランドマスター装置とネットワークで接続されたスレーブ装置のログ情報を保存する方法であって、
前記スレーブ装置が、前記グランドマスター装置から定期的に時刻同期用パケットを取得するパケット取得ステップと、
前記時刻同期用パケットに基づき前記スレーブ装置にシステム時刻とは別に備えられた高精度時刻を、グランドマスター装置の時刻と同期させる時刻同期ステップと、
前記同期の際にグランドマスター装置の時刻と、前記システム時刻との時刻差をオフセット値として算出するオフセット値算出ステップと、
前記ログ情報に対する高精度時刻の必要性を判定し、判定の結果に応じて前記システム時刻と、前記システム時刻に前記オフセット値を加算した高精度システム時刻とを選択する時刻選択ステップと、
前記時刻選択ステップで選択された時刻を前記ログ情報のログ保存時刻とするログ保存ステップと、
を有することを特徴とするログ保存方法。
【請求項２】
前記パケット取得ステップにおいて、
前記グランドマスター装置が動作していなければ、いずれかの前記スレーブ装置が疑似的にグランドマスター装置とみなされ、
他の前記スレーブ装置が、前記疑似的なグランドマスター装置から前記時刻同期パケットを取得する
ことを特徴とする請求項１記載のログ保存方法。
【請求項３】
前記オフセット値算出ステップにおいて、前記時刻差が閾値以下の場合を条件にオフセット値として保存する
ことを特徴とする請求項１または２記載のログ保存方法。
【請求項４】
時刻選択ステップにおいて、
前記判定の結果、前記必要性が認められなければ前記システム時刻を選択する一方、
前記必要性が認められれば前記高精度システム時刻を選択することを特徴とする請求項１〜３のいずれか１項に記載のログ保存方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、「ＰＴＰ（Ｐｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）」の時刻同期を利用したログ情報の保存方法に関する。
【背景技術】
【０００２】
ネットワークを使った時刻同期としては、「ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）」がもっとも良く使われている。ところが、制御やイベント管理やログ管理をマイクロ秒単位で行うには「ＮＴＰ」の精度と分解能では不十分なため、「ＰＴＰ」による時刻同期方式が提案されている。
【０００３】
この「ＰＴＰ」は、非特許文献１に示すように、利用環境をＬＡＮに制限することで高精度な時刻同期を得るために作られた比較的新しいプロトコルであり、その仕様は「ＩＥＥＥ-１５８８」として定められている。
【０００４】
具体的には「ＰＴＰ」では、グランドマスター「Ｇｒａｎｄｍａｓｔｅｒ」装置（以下、ＧＭとする。）が高精度な時刻の配信を行い、スレーブ装置が時刻を受け取る。また、「ＰＴＰ」ではネットワークインタフェースチップの「ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）」や「ＰＨＹ（ｐｈｙｓｉａｃｌ  ｌａｙｅｒ）」に実装されたハードウェアタイムスタンプ機能を使い、マイクロ秒ＲＭＳ以下のタイムスタンプ精度を実現する。
【０００５】
現在、「ＰＴＰ」のプロトコルには二つのバージョンが存在し、「Ｖｅｒｓｉｏｎ１」では大規模な展開を行うためにセグメントを区切る「Ｂｏｕｎｄａｒｙ  Ｃｌｏｃｋ（ＢＣ）」が用意されている。また、「ｖｅｒｓｉｏｎ２」では遅延管理機能を持つスイッチングハブ「Ｔｒａｎｓｐａｒｅｍｔ  Ｃｌｏｃｋ（ＴＣ）」が用意され、より柔軟で精度の高い展開が可能とっている。
【先行技術文献】
【特許文献】
【０００６】
【非特許文献１】“Ｅｎｄｒｕｍ  ＩＥＥＥ  １５８８  ＰＴＰ  グランドマスタークロック”，［ｏｎｌｉｎｅ］，平成２８年２月１日検索，インターネット＜ＵＲＬ：http://www.shoshin.co.jp/c/endrum/1588ptp.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
確かに「ＰＴＰ」によれば、スレーブ装置の内部で「ＧＭ」との高精度の時刻同期が行われる。しかしながら、システム時刻の急激な時刻変動はタイマーを扱ったタスクに悪影響を及ぼすため、高精度時刻はスレーブ装置のシステム時刻とは別管理となっており、専らスレーブ装置に接続された機器のために使用されている。
【０００８】
換言すれば、「ＰＴＰ」の高精度時刻は、あまり使われておらず、使用された場合であっても長時間時刻合わせを行わない状態で使用されるため、実際の時刻とは合わなくなっている。したがって、ネットワークシステムに問題などが発生し、該システムを構成している複数のスレーブ装置を亘った調査が必要となった場合、ログ情報の保存時刻が正しく設定されず、ログ情報からの正確な状況把握が困難となってしまう。
【０００９】
本発明は、このような従来の問題を解決するためになされ、ＰＴＰの時刻同期をスレーブ装置内部のタイマー関連に悪影響を与えることなく、ログ保存時刻に利用し、ネットワークシステムの問題などをログ情報から正確に把握可能とすることを解決課題としている。
【課題を解決するための手段】
【００１０】
本発明のログ保存方法は、スレーブ装置がグランドマスター装置から定期的に時刻同期用パケットを取得するパケット取得ステップと、前記時刻同期用パケットに基づき前記スレーブ装置にシステム時刻とは別に備えられた高精度時刻を、グランドマスター装置の時刻と同期させる時刻同期ステップと、前記同期の際にグランドマスター装置の時刻と、前記システム時刻との時刻差をオフセット値として算出するオフセット値算出ステップと、前記ログ情報に対する高精度時刻の必要性を判定し、判定の結果に応じて前記システム時刻と、前記システム時刻に前記オフセット値を加算した高精度システム時刻とを選択する時刻選択ステップと、前記時刻選択ステップで選択された時刻を前記ログ情報のログ保存時刻とするログ保存ステップと、を有することを特徴としている。
【発明の効果】
【００１１】
本発明によれば、ＰＴＰの時刻同期をスレーブ装置内部のタイマー関連に悪影響を与えることなく、ログ保存時刻に利用し、ネットワークシステムの問題などをログ情報から正確に把握することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係るログ保存方法を実行するスイッチングハブの時刻同期機能を示す説明図。
【図２】同  ログ保存処理機能を示す説明図。
【図３】同  ログ保存方法のフローチャート。
【図４】（ａ）は実施例のネットワーク構成図、（ｂ）は（ａ）のネットワークで発生した事故例を示す図。
【図５】従来のログ保存処理機能を示す説明図。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態に係るログ保存方法を説明する。このログ保存方法は、「ＮＴＰ」より高精度に時刻同期するため、ハードウェアによる時刻同期を実行する「ＰＴＰ」の機能を利用する。
【００１４】
前記ログ保存方法は、「ＧＭ」とネットワークで接続されたスレーブ装置により実行される。ここではスレーブ装置の一例として、レイヤー２（Ｌ２）／レイヤー３（Ｌ３）のスイッチングハブを用いて説明する。
【００１５】
このスイッチングハブは、ネットワーク上の「ＧＭ」と時刻同期を行う高精度時刻の同期処理機能（ＰＴＰ機能）と、前記スイッチングハブの内部において発生した発生したエラー，警告，情報などのイベントのデータをログ情報として揮発性又は不揮発性のメモリに保存（記憶）するログ保存処理機能とを有している。
【００１６】
≪高精度時刻の同期処理機能≫
図１に基づき高精度時刻の同期処理機能を説明する。ここでは前記スイッチングハブ１は、内部に通常のシステム時刻２とは別の高精度時刻３を持ち、矢印Ａに示すように、ネットワーク上の「ＧＭ」４から定期的に送信される高精度時刻３の時刻同期用パケットを受信して取り込む。どのマスター装置を「ＧＭ」４とするかは、「ＧＭＣＡ」と呼ぶマスタークロック選出アルゴリズムにより自動的に決定される。例えばＧＰＳ衛星電波などの高精度な時刻を受信するタイムサーバー（信号変換器）などでよい。
【００１７】
前記スイッチングハブ１は、時刻同期用パケットを取り込むことにより、内部の高精度時刻設定用タスク（以下、ＰＴＰタスクとする。）５を起動させて、同タスク５を使って「ＧＭ」４の時刻（時刻同期用パケットの時刻）と同期するように高精度時刻３に対して矢印Ｂ１の時刻設定または時刻補正を実行する。
【００１８】
ここまでは通常の高精度時刻の同期処理機能と同じなものの、前記スイッチングハブ１では、次のオフセット算出処理機能が追加されている。このオフセット算出処理機能は、前記同期の際に「ＧＭ」４の時刻（時刻同期用パケットの時刻）との時刻差が閾値以下の場合を条件とする。この閾値はネットワークシステムの仕様や運用状況などを考慮して任意に設定できるものとする。
【００１９】
具体的にはＰＴＰタスク５は、まず矢印Ｂ２に示すように、設定された高精度時刻を取得する。つぎに矢印Ｃに示すように、システム時刻２を取得して高精度時刻３との時刻差、即ち「高精度時刻３−システム時刻２＝オフセット値６」を算出し、算出されたオフセット値６を前記メモリに保存（記憶）する。このオフセット値６は、時刻同期用パケットの受信の度に算出されて更新されるものとする。
【００２０】
≪ログ保存処理機能≫
まず、図５に基づき通常のログ保存処理機能を説明する。ここではスイッチングハブ１のタスク６ａで状態変化により発生したイベントのログ情報を保存するため、矢印Ｆに示すように、該ログ情報をログ保存タスク７に保存要求として送る。
【００２１】
このログ保存要求を受け取ったログ保存タスク７は、システム時刻２を取得する関数（以下、システム時刻取得関数とする。）８を呼び出して、矢印Ｇに示すように、ログ保存用のシステム時刻２を要求する。この要求に応じてシステム時刻取得関数８が、矢印Ｈに示すように、システム時刻２を取得する。
【００２２】
ここで取得したシステム時刻２を、矢印Ｉに示すように、ログ保存タスク７に返信する。これによりログ保存タスク７が、矢印Ｊに示すように、システム時刻２とログ情報とをログの重要度に応じて前記メモリのログ保存領域１０１ａ，１０ｂに保存する。
【００２３】
つぎに図２に基づきスイッチングハブ１のログ保存処理機能を説明する。ここではログ保存タスク７がログ情報に時刻情報を付加するためにコールするシステム時刻取得関数８をラッピングした新システム時刻取得関数９により、システム時刻２にオフセット値６を加算した高精度システム時刻を取得可能としている。
【００２４】
詳細を説明すれば、ログ保存タスク７から矢印Ｇのシステム時刻取得要求があると、新システム時刻取得関数９は高精度システム時刻の必要性を判定する（Ｓ０１）。この判定には、システム時刻取得要求されたログ情報と事前設定のパターンとの照合で行ってもよい。例えばログ情報が、事前設定の事故や警告などであれば高精度システム時刻の必要性が認められる一方、それ以外であれば必要性を認めないこともできる。
【００２５】
判定の結果、必要性が認められた場合には、矢印Ｋに示すように、オフセット値を取得する関数（以下、オフセット値取得関数とする。）１１によって、前記メモリからオフセット値６が取得される。ここで取得されたオフセット値６を、矢印Ｌに示すように、システム時刻取得関数８が矢印Ｈで取得したシステム時刻２に加算し、高精度システム時刻を算出する。算出された高精度システム時刻は、矢印Ｉに示すように、ログ保存タスク７に返信される。
【００２６】
一方、必要が認められなかった場合には、図５の処理と同様にシステム時刻取得関数８が矢印Ｈで取得したシステム時刻２を、矢印Ｉに示すように、ログ保存タスク７に返信する。
【００２７】
その後、ログ保存タスク７が、矢印Ｊに示すように、高精度システム時刻／システム時刻２とログ情報とをログの重要度に応じて前記メモリのログ保存領域１０ａ，１０ｂに保存する。これにより従来のシステム時刻２よりも高精度な高精度システム時刻をログ情報の保存時刻として利用することが可能となる。この意味で本実施形態にて追加された機能、即ち図１の破線Ｐに示すオフセット処理機能と、図２のログ保存処理機能とを併せて高精度システム時刻取得機能と呼ぶことができる。
【００２８】
なお、ログ保存領域１０ａ，１０ｂに保存されたログ情報は、矢印Ｍに示すように、ログ処理タスク１２に取得されることにより、矢印Ｎ１に示すように、モニタ１３にログ情報表示として画面表示され、また矢印Ｎ２に示すように、遠隔地のサーバ１４にログ情報として転送される。
【００２９】
≪処理ステップ≫
図３に基づきスイッチングハブ１の実行する前記ログ保存方法の処理ステップを説明する。ここでは高精度時刻の同期処理とログ保存処理とに分けて説明する。
【００３０】
（１）高精度時刻の同期処理
Ｓ１１：高精度時刻同期用パケットの受信により処理が開始され、ＰＴＰタスク５により時刻変更の必要性，即ち高精度時刻３の設定／補正の必要性が判定され、必要がなければ処理を終了する一方、必要があればＳ１２の処理に進む。
【００３１】
Ｓ１２，Ｓ１３：ＰＴＰタスク５により高精度時刻の設定の必要性が判定され（Ｓ１２）、必要であれば高精度時刻同期用パケットに基づき高精度時刻が設定される（Ｓ１３）。一方、高精度時刻の設定が必要でなければ、Ｓ１４〜Ｓ１９のオフセット算出処理が実行される。
【００３２】
Ｓ１４，Ｓ１５：ＰＴＰタスク５により高精度時刻３の精度の安定性が判定される（Ｓ１４）。具体的には高精度時刻同期用パケットの時刻と設定された高精度時刻の情報３とを比較し、両時刻の時刻差が閾値未満であれば安定性が肯定され、Ｓ１６の処理に進む。一方、時刻差が閾値以上であれば安定性が否定され、高精度時刻同期用パケットに基づき時刻補正処理を実行して（Ｓ１５）、処理を終了する。
【００３３】
Ｓ１６〜Ｓ１９：ＰＴＰタスク５によりシステム時刻２が取得され（Ｓ１６）、さらに高精度時刻３が取得され（Ｓ１７）、高精度時刻３とシステム時刻２との差分、即ちオフセット値６が計算され（Ｓ１８）、前記メモリにオフセット値６の情報が保存される（Ｓ１９）。その後に時刻補正処理を実行して（Ｓ１５）、処理を終了する。
【００３４】
（２）ログ保存処理
Ｓ２１：タスク６ａからログ保存タスク７に対するログ保存要求（図３の矢印Ｆ）により処理が開始される。処理が開始されるとログ保存タスク７は、ログ保存要求に応じてイベントのログ情報、即ちログデータを抽出する。このログデータの抽出後にＳ２２〜Ｓ２５の高精度システム時刻／システム時刻２の選択処理が実行される。
【００３５】
Ｓ２２〜Ｓ２５：まず、ログ保存タスク７は、新システム時刻取得関数９を呼び出してシステム時刻取得要求（図３中の矢印Ｇ）を行う。このシステム時刻取得要求に応じてシステム時刻取得関数８によりシステム時刻２が取得される（Ｓ２２）。
【００３６】
つぎにイベントのログデータに対する高精度システム時刻の必要性が判定される（Ｓ２３）。この判定の結果、必要性が認められなければ、システム時刻２をログデータの保存用時刻としてログ保存タスク７に返信し、Ｓ２６の処理に進む。
【００３７】
一方、必要性が認められれば、オフセット値取得関数１１が前記メモリに保存されたオフセット値６を取得する（Ｓ２４）。ここで取得されたオフセット値６を基に高精度システム時刻を算出し（Ｓ２５）、算出された高精度システム時刻をログデータの保存用時刻としてログ保存タスク７に返信し、Ｓ２６の処理に進む。なお、高精度システム時刻の算出用法は、図１と同様にオフセット値６をシステム時刻２に加算すればよい。
【００３８】
Ｓ２６，Ｓ２７：ログ保存タスク７は、システム時刻取得要求に応じて返信されたシステム時刻２／高精度システム時刻をログデータに追加する（Ｓ２６）。その後にログ保存タスク７は、前記メモリのログ保存領域１０ａ，１０ｂにログデータを保存し、処理を終了する。
【００３９】
このように前記ログ保存方法によれば、従来のシステム時刻取得関数８をラッピングした新システム時刻取得関数９を用いているため、高精度システム時刻と従来のシステム時刻２とが必要性に応じて選択的にログ保存タスク７に返信される（Ｓ２２〜Ｓ２５）。これにより時刻変更によるタイマー関連への悪影響を起こすことなく、従来よりも高精度の時刻設定が可能となる。
【００４０】
≪実施例≫
（１）実施例１
図４に基づき前記ログ保存方法の実施例１を説明する。ここでは図４（ａ）に示すように、１台のサーバ１４と、１台の「ＧＭ」４と、７台のスイッチングハブ１−Ａ〜１−Ｇと、二台のクライアント装置１３Ａ，１３Ｂとを備えたネットワークシステムを想定する。
【００４１】
このシステムでは、サーバ１４，クライアント装置１３Ａ，１３Ｂも時刻同期が可能とする。また、スイッチングハブ１−Ａ〜１−ＧはＬ２スイッチとし、それぞれ以下の機能が有効となっているものとする。
・高精度システム時刻取得機能（オフセット処理機能，ログ保存処理機能）
・系統の緊急時に通信が停止しないように経路切替を行う「ＲＳＴＰ」機能
前記システムによれば、スイッチングハブ１−Ａ〜１−Ｇは、高精度システム時刻取得機能が有効なため、それぞれの内部のシステム時刻２は一致していなくとも、ログ保存領域１０ａ，１０ｂのログ時刻は統一された時刻になっている。
【００４２】
図４（ｂ）は、図４（ａ）のシステム運用中に事故Ｘ〜Ｚが発生した場合を示し、事故Ｘ〜ＺはＳ２３の必要性が認められるイベントとする。この場合に各スイッチングハブ１−Ａ〜１−Ｇは、「ＲＳＴＰ」機能が有効なため、経路切替が行われ、サーバ１４とクライアント装置１３Ａ，１３Ｂとの間の通信が切断されることはない。
【００４３】
その後、何らかの理由でサーバ１４とクライアント装置１３Ｂとの間の通信ができなくなった場合には、事故（事故Ｘ〜Ｚ又は他の事故）によるネットワークによる切替が原因となっているのか、あるいはサーバ１４・クライアント装置１３Ｂ間の通信が原因となっているのか判断できない。この原因を究明するためには、前記システムのスイッチングハブ１−Ａ〜１−Ｇに保存されたログ情報を解析する必要がある。
【００４４】
ところが、従来は、ログ情報の保存時刻が統一されていないため、個々のログ情報を別々に解析し、発生原因を判断しなければならなかった。これに対してスイッチングハブ１−Ａ〜１−Ｇは、高精度システム時刻機能が有効なため、「ＧＭ」４と時刻同し、かつ同期時刻がログ保存時刻に利用される。したがって、スイッチングハブ１−Ａ〜１−Ｇは、ログ保存領域１０ａ，１０ｂのログ時刻は統一された時刻になっている。
【００４５】
これによりスイッチングハブ１−Ａ〜１−Ｇに保存されたすべてのログ情報を纏めて解析することが可能となる。すなわち、高精度システム時刻取得機能を有効にするだけで、他の高精度の時刻同期を必要とすることなく、スイッチングハブ間の時系列的な確認ができる。その結果、事故発生時の状態変化、即ち事故の発生状況を前記システム全体で時系列に確認・解析でき、原因の検出や再現試験などが効率よく行える。
【００４６】
（２）実施例２
以下、前記ログ保存方法の実施例２を説明する。ここでは実施例１と同じく、１台のサーバ１４と、１台の「ＧＭ」４と、７台のスイッチングハブ１−Ａ〜１−Ｇと、二台のクライアント装置１３Ａ，１３Ｂとをノードとを備えたネットワークシステムを想定する。
【００４７】
ただし、サーバ１４およびクライアント装置１３Ａ，１３Ｂは時刻同期機能が無く、また「ＧＭ」４は動作していないものとする。ここでもスイッチングハブ１−Ａ〜１−Ｇは、高精度システム時刻取得機能および「ＲＳＴＰ」機能が有効となっているものとする。
【００４８】
この実施例２では、ＧＭ」４が動作していないため、スイッチングハブ１−Ａ〜１−Ｇのいずれかを、「ＧＭ」４の代わりとみなし、高精度時刻同期用パケットを送信する疑似「ＧＭ」として機能させる。この疑似「ＧＭ」は、スイッチングハブ１−Ａ〜１−Ｇから事前に定めておくことができ、ここではスイッチングハブ１−Ａが疑似的「ＧＭ」とする。
【００４９】
この実施例２のシステム運用中、実施例１と同じく事故Ｘ〜Ｚが発生しても、ＲＳＴＰ機能による経路切替が行われるため、サーバ１４とクライアント装置１３Ａ，１３Ｂとの間の通信が切断されることはない。
【００５０】
また、スイッチングハブ１−Ｂ〜１−Ｇは、高精度システム時刻機能が有効なため、疑似「ＧＭ」のスイッチングハブ１−Ａと時刻同期し、かつ同期時刻がログ保存時刻に利用される。
【００５１】
したがって、スイッチングハブ１−Ａ〜１−Ｇは、ログ保存領域１０ａ，１０ｂのログ時刻は統一された時刻になっており、これによりすべてのログ情報を纏めて解析することができ、実施例１と同様な効果を得ることができる。
【００５２】
なお、本発明は、上記実施形態に限定されるものではなく、各請求項に記載された範囲内で変形して実施することができる。例えば本発明は、実施例１，２のＬ２スイッチを備えたネットワークシステムだけでなく、Ｌ３スイッチを備えたネットワークシステムにも適用することができる。
【符号の説明】
【００５３】
１…スイッチングハブ
２…システム時刻
３…高精度時刻
４…グランドマスター
５…ＰＴＰタスク
６…タスク
７…ログ保存タスク
８…システム時刻関数
９…新システム時刻関数
１０ａ，１０ｂ…ログ保存領域
１１…オフセット値
１３Ａ，１３Ｂ…クライアント装置
１４…サーバ
【図１】
2018157462.tif 000003
【図２】
2018157462.tif 000004
【図３】
2018157462.tif 000005
【図４】
2018157462.tif 000006
【図５】
2018157462.tif 000007