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

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

▶ 株式会社日立情報通信エンジニアリングの特許一覧

特開2023-129154遠隔運用システム、タイムスタンプ修正方法、およびタイムスタンプ修正プログラム
<>
  • 特開-遠隔運用システム、タイムスタンプ修正方法、およびタイムスタンプ修正プログラム 図1
  • 特開-遠隔運用システム、タイムスタンプ修正方法、およびタイムスタンプ修正プログラム 図2
  • 特開-遠隔運用システム、タイムスタンプ修正方法、およびタイムスタンプ修正プログラム 図3
  • 特開-遠隔運用システム、タイムスタンプ修正方法、およびタイムスタンプ修正プログラム 図4
  • 特開-遠隔運用システム、タイムスタンプ修正方法、およびタイムスタンプ修正プログラム 図5
  • 特開-遠隔運用システム、タイムスタンプ修正方法、およびタイムスタンプ修正プログラム 図6
  • 特開-遠隔運用システム、タイムスタンプ修正方法、およびタイムスタンプ修正プログラム 図7
  • 特開-遠隔運用システム、タイムスタンプ修正方法、およびタイムスタンプ修正プログラム 図8
  • 特開-遠隔運用システム、タイムスタンプ修正方法、およびタイムスタンプ修正プログラム 図9
  • 特開-遠隔運用システム、タイムスタンプ修正方法、およびタイムスタンプ修正プログラム 図10
  • 特開-遠隔運用システム、タイムスタンプ修正方法、およびタイムスタンプ修正プログラム 図11A
  • 特開-遠隔運用システム、タイムスタンプ修正方法、およびタイムスタンプ修正プログラム 図11B
  • 特開-遠隔運用システム、タイムスタンプ修正方法、およびタイムスタンプ修正プログラム 図12
  • 特開-遠隔運用システム、タイムスタンプ修正方法、およびタイムスタンプ修正プログラム 図13
  • 特開-遠隔運用システム、タイムスタンプ修正方法、およびタイムスタンプ修正プログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023129154
(43)【公開日】2023-09-14
(54)【発明の名称】遠隔運用システム、タイムスタンプ修正方法、およびタイムスタンプ修正プログラム
(51)【国際特許分類】
   H04L 43/02 20220101AFI20230907BHJP
   H04L 43/106 20220101ALI20230907BHJP
【FI】
H04L43/02
H04L43/106
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022033972
(22)【出願日】2022-03-04
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】000233295
【氏名又は名称】株式会社日立情報通信エンジニアリング
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】村中 延之
(72)【発明者】
【氏名】渡邊 大輔
(72)【発明者】
【氏名】岡田 孝宣
(57)【要約】
【課題】複数の時間系のタイムスタンプが付与された時系列DBのデータの時間系を、要件に応じて修正する。
【解決手段】コンピュータにより、1または複数のインフラ機器を運用するインフラ拠点からネットワークを介して得られたデータを管理する遠隔運用システムであって、インフラ機器から取得したデータに、インフラ拠点またはインフラ機器のタイムスタンプが付与された運用情報を蓄積して保持する時系列DBと、インフラ拠点またはインフラ機器から取得したタイムスタンプと、遠隔運用システムが有する運用拠点の時刻同期サーバのタイムスタンプとの差分を算出する時刻差分検出部と、アプリケーションから受け取った、当該アプリケーションで用いるインフラ機器のデータが従う時間系およびデータの取得範囲の指定を含むデータ取得要求に従って、時系列DBから取得した取得範囲のデータのタイムスタンプと差分とが所定の条件を満たす場合、取得範囲のデータのタイムスタンプを、差分を用いて修正するタイムスタンプ修正部と、を有する。
【選択図】 図1
【特許請求の範囲】
【請求項1】
コンピュータにより、1または複数のインフラ機器を運用するインフラ拠点からネットワークを介して得られたデータを管理する遠隔運用システムであって、
前記インフラ機器から取得したデータに、前記インフラ拠点または前記インフラ機器のタイムスタンプが付与された運用情報を蓄積して保持する時系列DBと、
前記インフラ拠点または前記インフラ機器から取得したタイムスタンプと、前記遠隔運用システムが有する運用拠点の時刻同期サーバのタイムスタンプとの差分を算出する時刻差分検出部と、
アプリケーションから受け取った、当該アプリケーションで用いる前記インフラ機器のデータが従う時間系およびデータの取得範囲の指定を含むデータ取得要求に従って、前記時系列DBから取得した前記取得範囲のデータのタイムスタンプと前記差分とが所定の条件を満たす場合、前記取得範囲のデータのタイムスタンプを、前記差分を用いて修正するタイムスタンプ修正部と、
を有することを特徴とする遠隔運用システム。
【請求項2】
請求項1に記載の遠隔運用システムであって、
前記インフラ機器は、タイムスタンプが付された前記データを出力し、
前記タイムスタンプ修正部は、前記インフラ機器から前記タイムスタンプが付された前記データを取得し、取得した前記データに含まれるタイムスタンプを、前記差分を用いて修正する、
ことを特徴とする遠隔運用システム。
【請求項3】
請求項1に記載の遠隔運用システムであって、
前記タイムスタンプ修正部は、前記アプリケーションで用いる前記インフラ機器のタイムスタンプを修正する基準となるタイムスタンプを出力するインフラ機器を含む前記データ取得要求を受け、前記所定の条件を満たす場合、前記時系列DBから、前記基準となるタイムスタンプを出力するインフラ機器のタイムスタンプと前記時刻同期サーバのタイムスタンプとを含むデータを取得し、両者のタイムスタンプに一定時間以上の隔たりがない場合、前記アプリケーションで用いる前記インフラ機器のタイムスタンプを、前記基準となるタイムスタンプに修正する、
ことを特徴とする遠隔運用システム。
【請求項4】
請求項3に記載の遠隔運用システムであって、
前記タイムスタンプ修正部は、前記両者のタイムスタンプに一定時間以上の隔たりがある場合、前記アプリケーションで用いる前記インフラ機器のタイムスタンプを、前記基準となるタイムスタンプと前記運用拠点の時刻同期サーバのタイムスタンプとの差分を用いて修正する、
ことを特徴とする遠隔運用システム。
【請求項5】
請求項3に記載の遠隔運用システムであって、
前記インフラ拠点は、前記アプリケーションで用いる前記インフラ機器のタイムスタンプと前記時刻同期サーバのタイムスタンプとを対応付けたデータと、前記基準となるタイムスタンプを出力するインフラ機器のタイムスタンプと前記時刻同期サーバのタイムスタンプとを対応付けたデータとを、前記時系列DBに書き込む運用情報取得部、
を有することを特徴とする遠隔運用システム。
【請求項6】
コンピュータにより、1または複数のインフラ機器を運用するインフラ拠点からネットワークを介して得られたデータを管理する遠隔運用システムで行われるタイムスタンプ修正方法であって、
時刻差分検出部が、前記インフラ拠点または前記インフラ機器から取得したタイムスタンプと、前記遠隔運用システムが有する運用拠点の時刻同期サーバのタイムスタンプとの差分を算出し、
タイムスタンプ修正部が、アプリケーションから受け取った、当該アプリケーションで用いる前記インフラ機器のデータが従う時間系およびデータの取得範囲の指定を含むデータ取得要求に従って、前記インフラ機器から取得したデータに、前記インフラ拠点または前記インフラ機器のタイムスタンプが付与された運用情報を蓄積して保持する時系列DBから取得した前記取得範囲のデータのタイムスタンプと前記差分とが所定の条件を満たす場合、前記取得範囲のデータのタイムスタンプを、前記差分を用いて修正する、
ことを特徴とするタイムスタンプ修正方法。
【請求項7】
請求項6に記載のタイムスタンプ修正方法であって、
前記インフラ機器が、タイムスタンプが付された前記データを出力し、
前記タイムスタンプ修正部が、前記インフラ機器から前記タイムスタンプが付された前記データを取得し、取得した前記データに含まれるタイムスタンプを、前記差分を用いて修正する、
ことを特徴とするタイムスタンプ修正方法。
【請求項8】
請求項6に記載のタイムスタンプ修正方法であって、
前記タイムスタンプ修正部が、前記アプリケーションで用いる前記インフラ機器のタイムスタンプを修正する基準となるタイムスタンプを出力するインフラ機器を含む前記データ取得要求を受け、前記所定の条件を満たす場合、前記時系列DBから、前記基準となるタイムスタンプを出力するインフラ機器のタイムスタンプと前記時刻同期サーバのタイムスタンプとを含むデータを取得し、両者のタイムスタンプに一定時間以上の隔たりがない場合、前記アプリケーションで用いる前記インフラ機器のタイムスタンプを、前記基準となるタイムスタンプに修正する、
ことを特徴とするタイムスタンプ修正方法。
【請求項9】
請求項8に記載のタイムスタンプ修正方法であって、
前記タイムスタンプ修正部が、前記両者のタイムスタンプに一定時間以上の隔たりがある場合、前記アプリケーションで用いる前記インフラ機器のタイムスタンプを、前記基準となるタイムスタンプと前記運用拠点の時刻同期サーバのタイムスタンプとの差分を用いて修正する、
ことを特徴とするタイムスタンプ修正方法。
【請求項10】
請求項8に記載のタイムスタンプ修正方法であって、
前記インフラ拠点の運用情報取得部が、前記アプリケーションで用いる前記インフラ機器のタイムスタンプと前記時刻同期サーバのタイムスタンプとを対応付けたデータと、前記基準となるタイムスタンプを出力するインフラ機器のタイムスタンプと前記時刻同期サーバのタイムスタンプとを対応付けたデータとを、前記時系列DBに書き込む、
ことを特徴とするタイムスタンプ修正方法。
【請求項11】
コンピュータに、
1または複数のインフラ機器を運用するインフラ拠点または前記インフラ機器から取得したタイムスタンプと、1または複数のインフラ機器を運用するインフラ拠点からネットワークを介して得られたデータを管理する遠隔運用システムが有する運用拠点の時刻同期サーバのタイムスタンプとの差分を算出する処理と、
アプリケーションから受け取った、当該アプリケーションで用いる前記インフラ機器のデータが従う時間系およびデータの取得範囲の指定を含むデータ取得要求に従って、前記インフラ機器から取得したデータに、前記インフラ拠点または前記インフラ機器のタイムスタンプが付与された運用情報を蓄積して保持する時系列DBから取得した前記取得範囲のデータのタイムスタンプと前記差分とが所定の条件を満たす場合、前記取得範囲のデータのタイムスタンプを、前記差分を用いて修正する処理と、
を実行させることを特徴とするタイムスタンプ修正プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遠隔運用システム、タイムスタンプ修正方法、およびタイムスタンプ修正プログラムに関する。
【背景技術】
【0002】
ネットワークの仮想化やSDN(Software Defined Networking)の実用化が広く浸透しており、それらを活用することによって業務を支えるITインフラは、職場での人員変更や機器導入などに対して広域かつ詳細な項目の変更を柔軟かつ迅速に行えるようになっている。一方で、ITインフラの管理項目は肥大化・複雑化しており、導入や初期設定のみでは無く、継続運用や稼働運用にも多大な管理工数がかかるようになっている。近年では、こうしたITインフラの管理のような主要業務以外のアウトソースするニーズが高まっており、顧客にITインフラ環境を提供するのみでは無く継続運用や稼働運用も一体的に担うマネージドサービスが注目されている。
【0003】
このような背景を受けて、マネージドサービスを提供するための基盤の開発も各社で行われている。マネージドサービスを提供するマネージドサービスプロバイダーの要件として、各顧客のITインフラを一元的に管理するため、顧客のITインフラの拠点ごとに異なる機器から収集される様々なフォーマットのデータを一元的に管理して運用に活用する必要がある。そのため、タイムスタンプを主キーとすることで時間に対する状況変化が確認しやすく、またタイムスタンプ以外のデータの型をあまり問わずにデータを保存可能な、時系列DBの活用が注目されている。
【0004】
各所から取得してきたデータを整形して時系列DBに保存するためのベストプラクティスとしては、時系列DBであるElasticsearch、データ収集ツールであるLogstashあるいはBeats、時系列DBのデータを視覚化するKibanaといったOSS(Open Source Software)を組み合わせたELKスタックが広く活用されており、データ収集ツールと時系列DBを分散配置することで複数の拠点からデータを効率的に収集する。また、時系列DBに保存するデータの主キーであるタイムスタンプは、データ収集ツールがデータを整形する際に付与することとなる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2018-190216号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
時系列DBを使用するにあたり、データに付与したタイムスタンプの信頼性が重要となる。先行技術は制御装置に組み込まれた時系列DBのデータのタイムスタンプの信頼度を上げるため、NTP(Network Time Protocol)の時刻修正のログを活用してタイムスタンプを修正する方法を示している。
【0007】
しかし、本件のようにマネージドサービスにおいて、複数顧客のITインフラ拠点より多様なデータを収集し時系列DBで一元管理を行う場合、マネージドサービスを行う運用拠点と、顧客のITインフラ拠点の時間系が必ずしも合っているとは限らず、またマネージドサービスを担った場合でも顧客のITインフラ拠点の全機器の時間系を、運用拠点に合わせるのは大規模な変更であり実現できないことが多い。また、時間の同期がとれていないITインフラ機器が運用対象となることもある。タイムスタンプはデータ収集ツールが付与され、データ収集ツールは顧客のITインフラ拠点で稼働することを想定すると、時系列DBのタイムスタンプは、複数の顧客のITインフラ拠点の時間系が混在することとなる。ITインフラの運用においては、タイムスタンプを正しい時刻に合わせるのみでは無く、アラート時刻の突合せ対象を行う場合などは突合せ先の時間系に合わせて修正するなど運用に応じた修正が求められる。
【0008】
そこで本発明の一側面では、複数の時間系のタイムスタンプが付与された時系列DBのデータの時間系を、要件に応じて修正することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の一態様にかかる遠隔運用システムは、コンピュータにより、1または複数のインフラ機器を運用するインフラ拠点からネットワークを介して得られたデータを管理する遠隔運用システムであって、前記インフラ機器から取得したデータに、前記インフラ拠点または前記インフラ機器のタイムスタンプが付与された運用情報を蓄積して保持する時系列DBと、前記インフラ拠点または前記インフラ機器から取得したタイムスタンプと、前記遠隔運用システムが有する運用拠点の時刻同期サーバのタイムスタンプとの差分を算出する時刻差分検出部と、アプリケーションから受け取った、当該アプリケーションで用いる前記インフラ機器のデータが従う時間系およびデータの取得範囲の指定を含むデータ取得要求に従って、前記時系列DBから取得した前記取得範囲のデータのタイムスタンプと前記差分とが所定の条件を満たす場合、前記取得範囲のデータのタイムスタンプを、前記差分を用いて修正するタイムスタンプ修正部と、を有することを特徴とする遠隔運用システムとして構成される。
【発明の効果】
【0010】
本発明の一態様によれば、複数の時間系のタイムスタンプが付与された時系列DBのデータの時間系を、要件に応じて修正することができる。
【図面の簡単な説明】
【0011】
図1】システム構成図
図2】時刻差分記録のシーケンス図
図3】時刻差分保持テーブル
図4】時系列DBデータ取得時のタイムスタンプ修正のシーケンス図
図5】時系列DBデータ取得時のタイムスタンプ修正のフローチャート
図6】個別取得データのタイムスタンプ修正のシーケンス図
図7】個別取得データのタイムスタンプ修正のフローチャート
図8】時系列DBへタイムスタンプ修正情報しデータ格納するシーケンス図
図9】時系列DBにタイムスタンプ修正情報がある場合の、時系列DBデータ取得時のタイムスタンプ修正のフローチャート
図10】時系列DBのサブデータセットを作成するシステム構成図
図11A】時系列DBのサブデータセットを作成するシーケンス図
図11B】時系列DBのサブデータセットを作成するシーケンス図
図12】アプリ毎の要件設定を行うシステム構成図
図13】アプリ毎に要件設定を行うGUI例
図14】コンピュータ概略図
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施形態を説明する。以下の記載および図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施する事が可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。
【0013】
図面において示す各構成要素の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面に開示された位置、大きさ、形状、範囲などに限定されない。
【0014】
以下の説明では、「データベース」、「テーブル」、「リスト」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「XXテーブル」、「XXリスト」等を「XX情報」と呼ぶことがある。識別情報について説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いた場合、これらについてはお互いに置換が可能である。
【0015】
同一あるいは同様な機能を有する構成要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、これらの複数の構成要素を区別する必要がない場合には、添字を省略して説明する場合がある。
【0016】
また、以下の説明では、プログラムを実行して行う処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)および/またはインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主体がプロセッサとされてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノードであってもよい。プログラムを実行して行う処理の主体は、演算部であれば良く、特定の処理を行う専用回路(例えばFPGA(Field-Programmable Gate Array)やASIC(Application Specific Integrated Circuit))を含んでいてもよい。
【0017】
プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサと配布対象のプログラムを記憶する記憶資源を含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0018】
また、以下の各実施例で説明する運用アプライアンス、時刻調整アプライアンス、運用アプリ群、NTPサーバ等は、例えば、図14(コンピュータ概略図)に示すような、CPU1601と、メモリ1602と、HDD(Hard Disk Drive)等の外部記憶装置1603と、CD(Compact Disk)やUSBメモリ等の可搬性を有する記憶媒体1608に対して情報を読み書きする読書装置1607と、スキャナ、キーボード、マウスといった入力装置1606と、ディスプレイ等の出力装置1605と、通信ネットワークに接続するためのNIC(Network Interface Card)等の通信装置1604と、これらを連結するシステムバス等の内部通信線(システムバスという)1609と、を備えた一般的なコンピュータ1600により実現、あるいは格納できる。
【0019】
以下の各実施例に示すシステムや装置に記憶され、あるいは処理に用いられる様々なデータ(例えば、運用アプライアンス110の時系列DB111、時刻調整アプライアンス120の時刻差分記録部122等)は、CPU1601がメモリ1602または外部記憶装置1603から読み出して利用することにより実現可能である。また、各システムや装置が有する各機能部(例えば、時刻調整アプライアンス120の拠点・装置時刻差分検出部121、タイムスタンプ修正部123、運用エージェント140の運用情報取得部141、時刻差分検出部142等)は、CPU1601が外部記憶装置1603に記憶されている所定のプログラムをメモリ1602にロードして実行することにより実現可能である。
【0020】
上述した所定のプログラムは、読書装置1607を介して記憶媒体1608から、あるいは、通信装置1604を介してネットワークから、外部記憶装置1603に記憶(ダウンロード)され、それから、メモリ1602上にロードされて、CPU1601により実行されるようにしてもよい。また、読書装置1607を介して、記憶媒体1608から、あるいは通信装置1604を介してネットワークから、メモリ1602上に直接ロードされ、CPU1601により実行されるようにしてもよい。
【0021】
以下では、本システムを構成するアプライアンスやエージェント等が、ある1つのコンピュータにより構成される場合を例示するが、これらの機能の全部または一部が、クラウドのような1または複数のコンピュータに分散して設けられ、ネットワークを介して互いに通信することにより同様の機能を実現してもよい。
【実施例0022】
本実施例では、運用拠点にて遠隔のインフラ拠点の各インフラ機器からの情報を収集して時系列DBに保存するとともに、運用拠点とインフラ拠点の各インフラ機器との時刻差分を取得して記録し、時系列DBからデータを取得する際にデータ利用要件に応じてタイムスタンプを修正する。
【0023】
図1は、実施例1の構成図を示す図である。
【0024】
実施例1は、1つの運用拠点101、1つまたはそれ以上のインフラ拠点102、それらの間を繋ぐ管理ネットワーク103を有する。管理ネットワーク103としてはVPN(Virtual Private Network)や専用線のような安全に拠点間を接続するネットワークを用いてよい。
【0025】
運用拠点101には、運用アプライアンス110、時刻調整アプライアンス120、運用アプリ群130、NTPサーバ124が動作している。アプライアンスはHW(Hardware)装置あるいはサーバ装置上でHW装置と同様な機能を仮想的に動作させるものとなる。このように、運用アプライアンス110、時刻調整アプライアンス120を含む遠隔運用システムが、管理ネットワーク103を介してインフラ拠点102に接続されている。
【0026】
運用アプライアンス110は、時系列DB111、メッセージハブ112、運用ダッシュボード113を有する。
【0027】
時刻調整アプライアンス120は、拠点・装置時刻差分検出部121、時刻差分記録部122、タイムスタンプ修正部123を有する。
【0028】
運用アプリ群130は、1つまたはそれ以上の運用アプリを含む。本実施例では、一例として、NW(Network)利用料計測アプリ131、アラート情報収集アプリ132、トラブルシュートアプリ133を示す。
【0029】
インフラ拠点102には、ITインフラ150、運用エージェント140、NTPサーバ143が動作している。ITインフラ150としては、複数のインフラ機器150が動作している。
【0030】
運用エージェント140は、運用情報取得部141、時刻差分検出部142を有する。
【0031】
まず、本例での運用情報の取得に関して述べる。インフラ拠点102にて、運用エージェント140の運用情報取得部141は、ITインフラ150のインフラ機器150-1、150-2、・・・より運用情報を取得し、データを整形した後、管理ネットワーク103を介してメッセージハブ112に整形後のデータを送信する。運用情報取得部141は、Logstashのようなデータ収集ツールを使用し、インフラ機器150からSNMP(Simple Network Management Protocol)、syslog、telnet、等のプロトコルで運用に必要なイベントやアラート情報を取得する。そして、運用情報取得部141は、インフラ拠点102のNTPサーバ143に従ってタイムスタンプを付与し、取得した情報のフォーマットを時系列DB111に挿入できるJSON(JavaScript Object Notification)のような型に整形し、REST、AMQP、Kafka等のメッセージハブが対応するプロトコルで送信する。メッセージハブ112はそのデータを受け取り時系列DB111に保存する。運用ダッシュボード113は、時系列DB111の内容を元に運用情報を表示する。このように、運用情報には、上記イベントやアラート情報と、これらに対応付けて付与されたタイムスタンプとが含まれる。また、時系列DB111には、複数の時間系(例えば、インフラ拠点102-1の時間系およびインフラ拠点102-2の時間系)のタイムスタンプが付与されている。
【0032】
次に、本例での時刻差分情報の取得に関して述べる。インフラ拠点102にて、運用エージェント140の時刻差分検出部142は、ITインフラ150のインフラ機器150-1、150-2、・・・から機器設定時刻、NTPサーバ143から拠点の時刻を収集し、管理ネットワーク103を介して、上記機器設定時刻と上記拠点の時刻とを含む時刻情報を、拠点・装置時刻差分検出部121に送信する。拠点・装置時刻差分検出部121は、前記時刻情報を受信し、NTPサーバ124から運用拠点の時刻情報を取得する。拠点・装置時刻差分検出部121は、両者の時刻差分を算出し、時刻差分情報として時刻差分記録部122に保存する。
【0033】
最後に、本例での運用アプリ群130からの時系列DB111の情報参照に関して述べる。運用アプリ群130として、本例ではNW利用量計測アプリ131、アラート情報収集アプリ132、トラブルシュートアプリ133を例として挙げている。これらは、いずれも稼働情報をレポートしたり障害発生時に原因を究明したりするために、時系列DB111に格納された運用情報を取得する。タイムスタンプ修正部123は、前記情報参照のリクエストを運用アプリ群130より受け付け、時刻差分記録部122の情報を参照し、アプリケーションの要件に応じてタイムスタンプを修正し、修正後のタイムスタンプを付与したデータを送信する等して、上記リクエストに対して応答する。
【0034】
図2は、時刻差分情報の取得および記録の一例を示すシーケンス図である。
【0035】
まず、インフラ拠点102の時刻差分検出部142は、時刻差分検出シーケンスの開始のトリガをかける。トリガとしては、NTP時刻修正等と同様に、一定時間毎の他、アプリ要件のレポートの起点時刻となった場合や、運用イベントの多数発生が予測されるメンテナンスの直前など、様々な例が考えられる(201)。
【0036】
次に、時刻差分検出部142は、ITインフラ150の各インフラ機器150-1、150-2、・・・より機器設定時刻を取得する(202)。
【0037】
次に、時刻差分検出部142は、NTPサーバ143からインフラ拠点102の時刻を取得する(203)。
【0038】
次に、時刻差分検出部142は、運用拠点101の拠点・装置時刻差分検出部121に、ステップ202で取得した機器設定時刻と、ステップ203で取得したインフラ拠点102の時刻を、インフラ拠点102の時刻情報として送信する(204)。
【0039】
次に、拠点・装置時刻差分検出部121は、NTPサーバ124より運用拠点101の時刻を、運用拠点の時刻情報として取得する(205)。
【0040】
最後に、拠点・装置時刻差分検出部121は、ステップ202、ステップ203、ステップ205で取得した時刻情報から、運用拠点101とインフラ拠点102と各インフラ機器150の時刻差分306を算出し、時刻差分情報として時刻差分記録部122に保存する(206)。
【0041】
図3は、時刻差分の記録例である。
【0042】
時刻差分記録部122に記録されるデータはテーブル形式で管理され、運用拠点時刻301、インフラ拠点302、機器ID303、機器設定時刻304、インフラ拠点時刻305、時刻差分306の列を保持する。
【0043】
本例では、拠点・装置時刻差分検出部121が、時刻差分306として、運用拠点時刻301とインフラ拠点時刻305の差分を算出して記録するが、NTPが無いなどインフラ拠点時刻305が取得できない場合は機器設定時刻304を代わりに使用して、時刻差分306を算出する。
【0044】
各行311-314・・・は、各インフラ拠点102の各インフラ機器150からの時刻差分の取得情報を示す。行311、312は、インフラ機器150がNTPサーバ143と同期されており、おおよその時刻同期が取れている例を示している。例えば、行311では、運用拠点時刻301である「2021/08/31 09:00:00.111」と、インフラ拠点時刻305である「2021/08/31 09:00:01.500」との間の時刻差分306は「+0.1389」であり、両者の時刻は略同期がとられていることを示している。
【0045】
また、行313、314は、インフラ拠点102にNTPサーバ143が無く、インフラ機器150の機器設定時刻304が分単位でずれている例を示している。例えば、行313では、運用拠点時刻301である「2021/08/31 09:30:00.122」と、機器設定時刻304である「2021/08/31 09:40:00.222」との間の時刻差分306は「+10:00.100」であり、両者の時刻は同期がとられていないことを示している。
【0046】
なお、同インフラ機器150との時刻差分情報であっても、算出タイミングによって時刻差分は変わると想定されるため、古い情報もすぐには消去せず継続して保持する。
【0047】
図4は、時系列DBデータ取得時にタイムスタンプ修正を行う一例を示すシーケンス図である。
【0048】
まず、運用アプリ群130は、タイムスタンプ修正部123に対してデータ取得クエリを発行する(401)。
【0049】
次に、タイムスタンプ修正部123は、時系列DB111より運用情報を含むデータを取得し(402)、時刻差分記録部122より時刻差分306を含む時刻差分情報を取得し(403)、データのタイムスタンプを修正し(404)、修正後のタイムスタンプを付与したデータを返答する(405)。
【0050】
図5は、図4の例で示したタイムスタンプ修正部123(ステップ404)のフローチャートの一例である。
【0051】
最初に、タイムスタンプ修正部123は、運用アプリ群130より、時系列DB111のデータ取得クエリを受信する。本例ではRESTでの取得クエリを示しており、当該クエリが、URLのパスでインフラ拠点、”query”キーで装置名や時間の指定、”term”キーでデータが従う時間系(本例では運用拠点101を表す”monitoring_base”)、要求精度(本例では”0.1sec”)、修正方法(本例ではタイムスタンプを置換する”replace”)を条件としていることを示している(501)。なお、ステップ501において、”gt”は「Greater than」を表し、”lt”は「Less than」を表す。また、「10d」、「9d」は、それぞれ、「10days」、「9days」をあらわし、この例では、10日前から現在までの1日間のデータを取得するクエリであることを示している。
【0052】
続いて、タイムスタンプ修正部123は、ステップ501で受信したクエリの”query”キーの内容に従い、時系列DB111よりデータを取得する(502)。例えば、タイムスタンプ修正部123は、時系列DB111に格納されている運用情報に含まれるタイムスタンプを示す{“timestamp”:“2021/09/10 10:10:10.001”}や当該時点のイベントやアラート情報を示す“info”:{......}}を取得する。このようなデータが、10日前から現在までの1日間にわたり取得される。この例におけるデータには、例えば、当該データの従う時間系として、インフラ拠点102-1のインフラ機器150-1を表す”infrabase_1_equipment_1”が含まれているものとする。
【0053】
続いて、タイムスタンプ修正部123は、ステップ501で受信したクエリが、データを一定期間まとめて返答するクエリでないか、あるいはまとめる期間がクエリが要求する精度よりも短いか否かを判定する(503)。これは、時系列DB111は必ずしも1件1件個別データを返答する用途では無いためである。例えば、可視化目的等の場合は、1時間ごとに取得された複数のイベントやアラート情報を含むデータについて、データ数や平均値や中間値といった概要を算出した上でその結果をクエリに対する回答とする場合がある。このような場合には、データをまとめて返答する場合、かつまとめ期間が要求精度より長い場合は、タイムスタンプ修正を行う必要が無いと判断できる。
【0054】
つまり、ステップ503では、ステップ501で受信したクエリが、運用アプライアンス110が時系列DB111のデータを一定期間まとめて返答することを要求する内容である場合(条件Aを満たす場合)、あるいは運用アプライアンス110が時系列DB111のデータをまとめている場合において、その期間が上記クエリで要求された精度よりも短くない場合(条件Bを満たす場合)、タイムスタンプ修正部123は、タイムスタンプ修正を行う必要がないと判断し、ステップ506に進む(503;YES)。
【0055】
一方、ステップ501で受信したクエリが、上記条件Aを満たさない場合、あるいは上記条件Bを満たさない場合、タイムスタンプ修正部123は、タイムスタンプ修正を行う必要があると判断し、ステップ504に進む(503;NO)。上記条件Aや条件Bについては、ステップ501やステップ502と同様、クエリ内で指定されている。
【0056】
続いて、タイムスタンプ修正部123は、ステップ502で取得したデータのうち、クエリで指定された条件を満たすタイムスタンプの時間付近の時刻差分306を含む時刻差分情報を、時刻差分記録部122から取得する(504)。本例ではステップ501で受信されたクエリに従い、運用拠点101とインフラ拠点102との時刻差分306を取得する。ここでは、時刻差分情報「{“2021/09/10AM”:{“equipment_1”:”+1.1000s”}}」が取得されたことを示している。該当時間付近に複数の時刻差分が記録されている場合は、平均値や中間値を算出し、最も確からしい時刻差分を算出する。また、本例ではJSONの形式で時刻差分を取得しているが、応答のデータ型はそれに限るものでは無い。
【0057】
続いて、タイムスタンプ修正部123は、ステップ502で取得したデータに含まれるタイムスタンプの時間系(本例では、インフラ拠点102-1のインフラ機器150-1)が、ステップ501のクエリで提示された従う時間系(本例では運用拠点101)と異なっており、時刻差分が要求精度よりも大きいか否かを判定することにより、ステップ502で取得したデータに含まれるタイムスタンプの修正有無を確認する(505)。
【0058】
例えば、タイムスタンプ修正部123は、運用エージェント140が、管理ネットワーク103を介して運用拠点101のNTPサーバ124に従っていた場合などは、最初から運用拠点101の時間系のタイムスタンプが付与されている可能性がある。例えば、タイムスタンプ修正部123は、ステップ502で取得したデータに記録されている、従う時間系に関する情報「infrabase_1」(インフラ拠点102の識別情報)などといった情報を読み取る。タイムスタンプ修正部123は、読み取った上記従う時間系に関する情報と、ステップ501で受信したクエリで指定された従う時間系に関する情報(例えば、運用拠点101を表す”monitoring_base”)とが異なるか否かを判定し、両者が異なると判定した場合、さらに、上記ステップ502で取得したデータのタイムスタンプと、運用拠点101のNTPサーバ124の時刻との差分、すなわち運用拠点101とインフラ拠点102との時刻差分306が、ステップ501で受信したクエリで指定された要求精度より大きいことを確認する。なお、上記の例では、両者は一致しないため、ステップ507に進むこととなる。
【0059】
つまり、ステップ505では、タイムスタンプ修正部123は、上記従う時間系に関する情報と、ステップ501で受信したクエリで指定された従う時間系に関する情報とが異なるという条件を満たす場合(条件Cを満たす場合)、および当該条件Cを満たす場合において、さらに運用拠点101とインフラ拠点102との時刻差分306が、ステップ501で受信したクエリで指定された要求精度より大きいという条件を満たす場合(条件Dを満たす場合)、ステップ507に進む(505;YES)。一方、ステップ505において、上記条件Cおよび上記条件Dのいずれも満たさない場合、タイムスタンプ修正部123は、タイムスタンプ修正を行う必要がないと判断し、ステップ506に進む(505;NO)。
【0060】
続いて、タイムスタンプ修正部123は、ステップ505において、タイムスタンプの修正が必要と判断した場合、ステップ501で受信したクエリで指定された修正方法に従ってタイムスタンプを修正し、修正後のタイムスタンプを付与したデータを、運用アプリ群130に返答する(507)。
【0061】
本例では、ステップ501で受信したクエリで指定された修正方法が”replace”であるため、タイムスタンプ修正部123は、例えば、ステップ502で取得したデータのタイムスタンプを示す{“timestamp”:“2021/09/10 10:10:10.001”}に、ステップ504で取得した運用拠点101とインフラ拠点102との時刻差分306を示す{“2021/09/10AM”:{ “equipment_1”:”+1.1000s”}}」を加えた修正後のタイムスタンプ{“timestamp” : “2021/09/10 10:10:11.101” }を算出する。そして、タイムスタンプ修正部123は、上記算出して得られた修正後のタイムスタンプを有したデータを、運用アプリ群130に送信する。
【0062】
なお、本例では、タイムスタンプを置き換えているが、他に修正前と修正後のタイムスタンプを、別キー名を使用して併記したり、オフセットを、別キーを用いて追加するなどの修正方法も想定される。
【0063】
タイムスタンプ修正部123は、タイムスタンプを修正する必要が無いと判定した場合は、ステップ502で取得したデータをそのまま運用アプリ群130に返答する(506)。
【実施例0064】
本実施例では、時系列DB111のデータのみでは無く、運用アプリ群130が個別に各インフラ拠点102のインフラ機器150より取得したログ等の情報のタイムスタンプを、別の時間系に修正する。
【0065】
図6は、個別に取得したデータのタイムスタンプの修正を行う例のシーケンス図である。
【0066】
まず、運用アプリ群130は、個別にインフラ機器150よりタイムスタンプが付されたログ等の情報を取得する(601)。本例では、運用アプリ群130は、例えば、上記ログ等の情報として、インフラ機器150から「2021/09/11 20:20:10.002 “info...”」を取得する。
【0067】
運用アプリ群130が直接的にインフラ機器150からログ等の情報を取得する理由は以下の通りである。すなわち、時系列DB111に保存される情報は、運用エージェント140の運用情報取得部141が取得することとなる。運用情報取得部141は、インフラ機器150の負荷や時系列DB111の容量を考慮して全ての情報を送るわけでは無く、基本的に運用において優先度が高い情報に限定して送信する。しかしながら、障害対応時や保守対応の時にはそれ以外の詳細情報も必要となるため、運用情報取得部141は、場合に応じて個別に情報を取得する。
【0068】
次に、運用アプリ群130は、タイムスタンプの修正要求をタイムスタンプ修正部123に送る(602)。ステップ601で取得した情報のタイムスタンプは、インフラ機器150の機器設定時刻で付与されている。しかし、例えば、他のインフラ機器150-nから取得したログ情報と突合せを行ったり、運用拠点101で付近にイベントとの順序関係を検証する場合に、時間系の修正が必要となる。このため、運用アプリ群130は、上記修正要求をタイムスタンプ修正部123に送信している。
【0069】
次に、タイムスタンプ修正部123は、時刻差分記録部122より時刻差分情報を取得し(603)、タイムスタンプの修正を行い(604)、修正後のタイムスタンプを付与したデータを送信する等して、修正後のタイムスタンプを返答する(605)。
【0070】
図7は、図6の例で示したタイムスタンプ修正部123(ステップ602)のフローチャートの一例である。
【0071】
最初に、タイムスタンプ修正部123は、運用アプリ群130より、タイムスタンプ修正要求を受信する(701)。本例ではRESTでの修正要求を示しており、URLのパスでタイムスタンプ修正要求、”term”キーで元々の時間系(ステップ601で取得した情報の時間系。本例では”equipment_1_1”)、修正後に従う時間系(本例では運用拠点101を表す”monitoring_base”)、要求精度(本例では”0.1sec”)を示している。また”timestamp”キーで修正するタイムスタンプを指定している。本例では、タイムスタンプ修正部123は、例えば、ステップ601で取得した上記ログ等の情報に含まれるタイムスタンプを示す「2021/09/11 20:20:10.002」を含む、上記タイムスタンプ修正要求を受信する。
【0072】
次に、ステップ504と同様に、タイムスタンプ修正部123は、時刻差分記録部122より、ステップ701で修正要求を受けたタイムスタンプの時間付近の時刻差分306を含む時刻差分情報を取得する(702)。本例ではステップ701で受信された上記タイムスタンプ修正要求に従い、上記ログ等の情報に含まれるタイムスタンプで示される時刻を含む所定範囲内(例えば、5分間)の時刻に対応する時刻差分306を、時刻差分記録部122から取得する。この例では、タイムスタンプ修正部123が、時刻差分306として、「{“2021/09/11PM”:{“equipment_1”:”+2.1000s”}}」を取得したことを示している。
【0073】
次に、タイムスタンプ修正部123は、ステップ701で受信した修正要求の要求精度よりも、ステップ702で取得した時刻差分の方が大きいか否かを判定することにより、タイムスタンプの修正要否を判断する(703)。すなわち、タイムスタンプ修正部123は、ステップ701で受信した修正要求の要求精度よりも、ステップ702で取得した時刻差分の方が大きいと判定した場合、要求精度を満たしていないため修正が必要であると判断し、ステップ704に進む(703;YES)。一方、タイムスタンプ修正部123は、ステップ701で受信した修正要求の要求精度よりも、ステップ702で取得した時刻差分の方が大きくないと判定した場合、要求精度を満たしているため修正は不要であると判断し、ステップ705に進む(703;NO)。
【0074】
次に、タイムスタンプ修正部123は、タイムスタンプの修正が必要であると判定した場合は、ステップ701で受信した修正要求を満たすようにタイムスタンプを修正し、修正後のタイムスタンプを付与したデータを、運用アプリ群130に返答する(704)。
【0075】
本例では、タイムスタンプ修正部123は、例えば、ステップ701で受信した修正要求に含まれるタイムスタンプ「“2021/09/11 20:20:10.002“」に対して、ステップ702で取得した時刻差分「{“2021/09/11PM”:{ “equipment_1”:”+2.1000s”}}」を加算し、修正後のタイムスタンプ「“2021/09/11 20:20:12.102“」を算出する。そして、タイムスタンプ修正部123は、上記算出して得られた修正後のタイムスタンプを有したデータを、運用アプリ群130に送信する。なお、本例では、修正後のタイムスタンプのみを返しているが、修正前後のタイムスタンプを併記したり、行数等の情報を付与することで、扱いを容易化する処理も想定される。
【0076】
一方、タイムスタンプ修正部123は、タイムスタンプの修正が必要でないと判定した場合は、運用アプリ群130にその旨を返答する(705)。
【実施例0077】
本実施例では、運用情報取得部141が時系列DB111に格納する運用情報のデータを作成する際に、時刻差分を後で辿れるよう運用拠点のタイムスタンプを併記して、時系列DB111に格納する例を示す。本例は、運用情報取得部141のデータ取得ツールの改造が可能な場合を想定している。また、時系列DB111に格納する全てのデータに、前記運用拠点のタイムスタンプが併記をされており、また、データについて所定の閾値以上の大きな空白時間が無ければ、時系列DB111のデータを元に実施例1、2で示したタイムスタンプの修正も可能となる。しかしながら、時系列DB111へのアクセスは必ずしも1件1件の全てのデータを取得するわけでは無い。また、時間方向にまとめたデータを取得するためのアクセスが主流ではあり、1件1件の多くのデータ取得をタイムスタンプ修正のたびに並列して動作させることは、時系列DB111へのアクセス負荷が倍増する恐れがある。このため、タイムスタンプの修正に当たっては、要件に応じた時刻差分記録部122を用いるか時系列DB111のデータを用いるか判断を行う。
【0078】
図8は、運用情報取得部141が時系列DB111にデータを格納する際に、運用拠点のタイムスタンプを併記して保存する例を表すシーケンス図である。
【0079】
まず、運用情報取得部141は、インフラ機器150より運用情報の収集を行う(801)。本情報取得方法に関しては、実施例1と同様である。
【0080】
次に、運用情報取得部141は、時刻差分検出部142経由で、運用拠点101の時刻情報を取得する(802)。
【0081】
次に、運用情報取得部141は、実施例1と同様にデータ整形を行うとともに、その際にステップ802で取得した運用拠点101の時刻情報を併記し(803)、メッセージハブ112経由で時系列DB111にデータを送信する(804)。ここでは、運用情報取得部141が、インフラ拠点102のインフラ機器150から取得した運用情報に含まれる「{“timestamp” : “2021/09/20 15:01:10.001”,“info”:{……}}」に、運用拠点101のNTPサーバ124から取得した時刻情報に含まれる運用拠点101のアイムスタンプ「“monitorzone_timestamp” : “2021/09/20 15:01:09.501”」が追加されたデータ804a、「{“timestamp”:“2021/09/20 15:11:11.111”“info”:{......}」に、運用拠点101のNTPサーバ124から取得した時刻情報に含まれる運用拠点101のアイムスタンプ「“monitorzone_timestamp” : “2021/09/20 15:01:10.611”}」が追加されたデータ804bが送信されていることを示している。この例では、インフラ拠点102のインフラ機器150として、インフラ拠点102-1のインフラ機器、インフラ拠点102-2のインフラ機器を含む、複数のインフラ拠点およびインフラ機器についてのタイムスタンプが含まれるものとする。
【0082】
なお、「“info”:{……}」は、実施例1の場合と同様、インフラ拠点のイベントやアラート情報である。本実施例では、このように、インフラ拠点のイベントやアラート情報ごとに運用拠点101の時刻情報を対応付けているため、イベントやアラートの単位で時刻差分を把握できる。
【0083】
図9は、時系列DB111に格納されているデータに、インフラ拠点102のタイムスタンプだけでは無く、運用拠点101のタイムスタンプが併記されている場合に、時系列DB111のデータのタイムスタンプをアプリ要件に応じて修正するフローチャートの例である。当該処理は、タイムスタンプ修正部123により行われるが、多くの個所は実施例1の図5と同様のため、差分を中心に説明を行っていく。
【0084】
ステップ901からステップ903までは、図5のステップ501からステップ503までと処理の一部が同様である。
【0085】
すなわち、タイムスタンプ修正部123は、運用アプリ群130より、時系列DB111のデータ取得クエリを受信する(901)。本例ではRESTでの取得クエリを示しており、当該クエリが、URLのパスでインフラ拠点、”query”キーで装置名や時間の指定(本例ではインフラ拠点102-1のインフラ機器を示す”infrabase_1_equipment_1”および現時点から10日前までの時間{“gt”:”now-10d”,“lt”:”now”}、”term”キーでデータが従う時間系(本例ではインフラ拠点102-2のインフラ機器”infrabase_2_equipment_2”)、要求精度(本例では”0.001sec”)、修正方法(本例ではタイムスタンプを置換することを示す”replace”)を条件としていることを示している。つまり、ステップ901で受信したクエリは、現在から10日前までのインフラ拠点102-1のインフラ機器のタイムスタンプを、0.001秒の精度で、インフラ拠点102-2のインフラ機器のタイムスタンプに置き換える要求をするクエリであることを示している。
【0086】
続いて、タイムスタンプ修正部123は、ステップ901で受信したクエリの”query”キーの内容に従い、時系列DB111よりデータを取得する(902)。例えば、タイムスタンプ修正部123は、図8のステップ804で送信され、時系列DB111に格納されている運用情報に含まれる運用拠点101のタイムスタンプ“2021/09/20 15:01:09.501”とインフラ拠点102-1“infrabase_1_equipment_1“のタイムスタンプ“timestamp”:“2021/09/20 15:01:10.001”や当該時点のイベントやアラート情報を示す“info”:{......}}を取得する。
【0087】
そして、タイムスタンプ修正部123は、時系列DB111のデータ取得クエリを受けて、実施例1の場合と同様、ステップ901で受信したクエリが、運用アプライアンス110が時系列DB111のデータを一定期間まとめて返答することを要求する内容である場合(条件Aを満たす場合)、あるいは運用アプライアンス110が時系列DB111のデータをまとめている場合において、その期間が上記クエリで要求された精度よりも短くない場合(条件Bを満たす場合)、タイムスタンプ修正部123は、タイムスタンプ修正を行う必要がないと判断し、ステップ909進む(903;YES)。一方、ステップ901で受信したクエリが、上記条件Aを満たさない場合、あるいは上記条件Bを満たさない場合、タイムスタンプ修正部123は、タイムスタンプ修正を行う必要があると判断し、ステップ904に進む(903;NO)。
【0088】
続いて、タイムスタンプ修正部123は、修正指定の時間系であるインフラ拠点102-2のインフラ機器のタイムスタンプ(例えば、“infrabase_2_equipment_2“、“timestamp”:“2021/09/20 14:30:05.000”)と、運用拠点の時間系のタイムスタンプ(例えば、“monitorzone_timestamp”:“2021/09/20 14:30:07.001”)とを含んだ、ステップ902で取得したデータのタイムスタンプに一定程度近い時間のイベントデータを、時系列DB111より取得する(904)。
【0089】
さらに、タイムスタンプ修正部123は、ステップ902で取得したデータのタイムスタンプと、ステップ904で取得したデータとが一定以上離れているか否かを判定する(905)。この例では、タイムスタンプ修正部123は、ステップ902で取得したインフラ拠点102-1のインフラ機器“infrabase_1_equipment_1“のタイムスタンプと、ステップ904で取得したインフラ拠点102-2のインフラ機器 “infrabase_2_equipment_2のタイムスタンプとが一定時間以上の隔たりがあるか否かを判定する。
【0090】
タイムスタンプ修正部123は、ステップ902で取得したデータのタイムスタンプと、ステップ904で取得したデータとが一定以上離れていないと判定した場合(905;YES)、インフラ拠点間およびインフラ機器間でのタイムスタンプの修正が可能であると判断する。そして、タイムスタンプ修正部123は、ステップ901で受信したクエリの要求に従い、ステップ902で取得したインフラ拠点102-1のインフラ機器のタイムスタンプを、ステップ904で取得したインフラ拠点102-2のインフラ機器のタイムスタンプに修正し、修正後のタイムスタンプを付与したデータを送信する等して、上記リクエストに対して応答する(906)。
【0091】
一方、タイムスタンプ修正部123は、ステップ902で取得したデータのタイムスタンプと、ステップ904で取得したデータとが一定以上離れていると判定した場合(905;NO)、インフラ拠点間およびインフラ機器間でのタイムスタンプの修正は可能でないと判断する。そして、タイムスタンプ修正部123は、時刻差分記録部122より、ステップ901で受信したクエリにおいて修正するとして指定された時間系であるインフラ拠点102-2のインフラ機器infrabase_2_equipment_2のタイムスタンプと、ステップ902で取得した運用拠点の時間系のタイムスタンプの時間付近の時刻差分を取得する。例えば、タイムスタンプ修正部123は、時刻差分記録部122が算出した、{”2021/09/20 PM”:{“equipment_1”:”-2.000s”}}を取得する(907)。
【0092】
そして、タイムスタンプ修正部123は、ステップ902で取得したインフラ拠点102-1のインフラ機器のタイムスタンプに、ステップ907で取得した差分を加算したタイムスタンプをインフラ拠点102-2のインフラ機器のタイムスタンプとみなし、当該みなしたタイムスタンプを付与したデータを送信する等して、上記リクエストに対して応答する(908)。
【0093】
なお、タイムスタンプ修正部123が、タイムスタンプ修正を行う必要がないと判断した場合は(903;YES)、実施例1と同様、ステップ902で取得したデータをそのまま運用アプリ群130に返答する(909)。
【0094】
本シーケンスにより、タイムスタンプ修正のたびに毎回参照データを時系列DB111から取得することなく、必要な場合に限って参照データを取得することで時系列DB111へのアクセス負荷を抑えつつタイムスタンプの修正が可能となる。
【実施例0095】
実施例1~3では、時系列DB111からデータを取得する時にタイムスタンプを修正していた。しかし、データマネジメントとしては必ずしも全データを一元的に管理するDBに常にアクセスを行うのではなく、よくアクセスするデータを取り分けて必要な修正を事前に施してサブデータセットを作成することが、負荷分散のために有力となる。サブデータセットを作成するツールとしては、ETL(Extract、 Transfer、 Load)ツールが良く使用され、本実施例ではサブデータセットへの変換の際に必要なタイムスタンプの変更も行うことを想定する。また、データマネジメントにおいて、時系列DB111のような全データを一元的に管理するコンポーネントを”データレイク”、サブデータセットのように参照しやすく取り分けた整形したコンポーネントを”データウェアハウス”あるいは”データマート”と呼ぶこともある。
【0096】
図10は、時系列DB111からサブデータセットを作成する場合のシステム構成図である。実施例1の図1に示すシステム構成図との差分は、運用アプライアンスにサブデータ時系列DB1001と、サブデータセット形成部1002が追加で含まれている点である。時刻調整アプライアンス120には拠点・装置時刻差分検出部121が設けられていてもよい。
【0097】
図11A、11Bは、時系列DB111からサブデータセットを作成する例のシーケンス図である。
【0098】
まず、図11Aにおいて、サブデータセット形成部1002は、サブデータセット追加を開始するトリガをかける(1101)。トリガとしては、一定時間毎や時系列DB111に一定数データが追加された後など様々な条件が想定される。
【0099】
次に、サブデータセット形成部1002は、時系列DB111よりサブデータセットのためのオリジナルデータを取得する(1102)。本取得方法は、例えば実施例1における図5のステップ502の手順と同様である。
【0100】
次に、サブデータセット形成部1002は、タイムスタンプ修正のため、時刻差分記録部122より、追加するサブデータセットのタイムスタンプ付近の時刻差分情報を取得する(1103)。本取得方法は、例えば、実施例1における図5のステップ504の手順と同様である。
【0101】
次に、サブデータセット形成部1002は、サブデータセットの整形を行う(1104)。本整形は、例えば実施例1における図5のステップ507の整形方法と同様であり、想定されるアプリケーション要件に応じてデータを追加したり置き換えたりする。その後、サブデータセット形成部1002は、サブデータ時系列DB1101に、サブデータセットを追加する。本例では、サブデータセットとしては、運用拠点のタイムスタンプを併記する形でデータを編集している(1105)。
【0102】
図11Aでは、実施例1や実施例2の場合のように、運用拠点のタイムスタンプが併記されずにデータが時系列DB111に格納されている場合を例示したが、図11Bに示す実施例3の場合のように、運用拠点のタイムスタンプが併記されたデータが時系列DB111に格納されている場合についても同様に考えることができる。
【0103】
まず、図11Bにおいて、サブデータセット形成部1002は、サブデータセット追加を開始するトリガをかける(1101)。トリガとしては、図11Aの場合と同様、一定時間毎や時系列DB111に一定数データが追加された後など様々な条件が想定される。
【0104】
次に、サブデータセット形成部1002は、時系列DB111よりサブデータセットのためのオリジナルデータを取得する(1102b)。本取得方法は、例えば実施例3における図9のステップ902の手順と同様である。図11Bでは、図11Aと異なり、ステップ1102bにおいて、例えば、時系列DB111に格納されている運用情報に含まれる運用拠点101のタイムスタンプ“2021/09/20 15:01:09.501”とインフラ拠点102-1“infrabase_1_equipment_1“のタイムスタンプ“timestamp”:“2021/09/20 15:01:10.001”や当該時点のイベントやアラート情報を示す“info”:{......}}が取得されている。
【0105】
次に、サブデータセット形成部1002は、タイムスタンプ修正のため、時刻差分記録部122より、追加するサブデータセットのタイムスタンプ付近の時刻差分情報を取得する(1103b)。本取得方法は、例えば、実施例3における図9のステップ907の手順と同様である。
【0106】
次に、サブデータセット形成部1002は、サブデータセットの整形を行う(1104b)。本整形は、例えば実施例3における図9のステップ908の整形方法と同様であり、想定されるアプリケーション要件に応じてデータを追加したり置き換えたりする。その後、サブデータセット形成部1002は、サブデータ時系列DB1101に、サブデータセットを追加する。本例では、サブデータセットとしては、運用拠点のタイムスタンプのほか、インフラ拠点102-2についてのタイムスタンプを併記する形でデータを編集している(1105b)。
【0107】
以上のようにサブデータセットを作成する。もちろんサブデータセットは1つだけでは無く、アプリの要件に従って個別のサブデータセットを作成することもある。また、複数のインフラ機器150や複数のインフラ拠点102からのデータの必要部分をまとめ、タイムスタンプを統一化して一元的に主要な時系列順序を可視化するデータセットと言ったように、目的に応じてデータ活用方法も変化していくことが想定される。
【実施例0108】
実施例1~4では、時刻調整アプライアンス120はブラックボックスの機能として動作していたが、運用アプライアンス110や運用アプリ群130と組み合わせて動作出来るよう、時刻調整アプライアンス120を運用アプライアンス110と切り離すことも想定される。本実施例では、そのための時刻調整アプライアンス120の設定GUIによって、アプリ毎のタイムスタンプ調整の要件を事前に設定し、アプリとの柔軟な連携を可能とする。
【0109】
図12は、時刻調整アプライアンスにおけるアプリ毎のタイムスタンプ調整の要件を設定する際のシステム構成図である。実施例1との差分として、時刻調整アプライアンス120は、アプリ毎要件設定部1202とアプリ毎要件記録部1203を備える。さらに、アプリ毎要件設定部1202を設定するための設定GUI1201を備える。
【0110】
図13は、時刻調整アプライアンスにおけるアプリ毎のタイムスタンプ調整の要件を設定するGUIの例である。
【0111】
例えば、アプリ毎要件設定部1202は、行としてアプリ名1301、アプリ諸元1302、合わせる時間系1303、要求精度1304、修正方法1305、その他の項目1306を含むテーブル形式で、これらのデータを保持する。アプリ毎要件設定部1202は、例えば、入力装置1606を介して、ユーザからの操作を受け付けて各行に項目を設定した後、決定ボタン1321の押下を受け付けて、上記各項目の設定を反映し、その情報を出力装置1605に表示する。アプリ毎要件設定部1202は、設定された項目をそのままアプリ毎要件記録部1203(データベース等のテーブル)に記録する。タイムスタンプ修正部123は、ステップ501やステップ901等で説明したように、運用アプリ群130より、時系列DB111のデータ取得クエリを受信した際に、当該クエリに含まれるアプリ名1301とアプリ諸元1302を参考にアプリを選択し、合わせる時間系1303、要求精度1304、修正方法1305を参照して、実施例1と同様のタイムスタンプ修正要件を生成する。
【0112】
以上、説明したように、本システムによれば、例えば、遠隔のITインフラをVPN等の管理ネットネットワークで接続して運用するITインフラ遠隔運用システムおよび時系列DB(Database)を活用した運用情報を管理する場合において、各インフラ拠点や各機器と、運用拠点との時刻差分を記録しておき、データを出力する際に記録した時刻差分の情報を用いて修正することで、複数の時間系のタイムスタンプが混在する時系列DBにおいて、データ利用目的に応じたデータの参照をスムーズに実施することができる。
【0113】
例えば、実施例1で説明したように、本システムでは、実施例1において説明したように、例えば、コンピュータにより、1または複数のインフラ機器(例えば、インフラ機器150-1、150-2)を運用するインフラ拠点(例えば、インフラ拠点102)からネットワークを介して得られたデータを管理する遠隔運用システムにおいて、上記インフラ機器から取得したデータ(例えば、イベントやアラート情報)に、上記インフラ拠点または上記インフラ機器のタイムスタンプが付与された運用情報を蓄積して保持する時系列DB(例えば、図5のステップ502に記載した形式のデータを保持するDB)と、上記インフラ拠点または上記インフラ機器から取得したタイムスタンプと、上記遠隔運用システムが有する運用拠点の時刻同期サーバ(例えば、NTPサーバ124)のタイムスタンプとの差分を算出する時刻差分検出部(例えば、拠点・装置時刻差分検出部121)と、アプリケーション(例えば、NW利用料計測アプリ131、アラート情報収集アプリ132、トラブルシュートアプリ133)から受け取った、当該アプリケーションで用いる上記インフラ機器のデータが従う時間系(例えば、図5のステップ501で指定された”monitoring_base”)およびデータの取得範囲(例えば、図5のステップ501で指定された“timestamp”:{“gt”:”now-10d”, “lt”:”now”})の指定を含むデータ取得要求(例えば、上記ステップ501のデータ取得クエリ)に従って、上記時系列DBから取得した上記取得範囲のデータのタイムスタンプと上記差分とが所定の条件(例えば、図5のステップ505で示した条件C、条件D)を満たす場合、上記取得範囲のデータのタイムスタンプを、上記差分を用いて修正するタイムスタンプ修正部(例えば、タイムスタンプ修正部123)と、を有する。したがって、複数の時間系のタイムスタンプが付与された時系列DBのデータの時間系を、アプリケーション等が要求する要件に応じて修正することができる。
【0114】
また、実施例2において説明したように、上記インフラ機器は、タイムスタンプが付された上記データ(例えば、図6のステップ601に示したログ情報)を出力し、上記タイムスタンプ修正部は、上記インフラ機器から上記タイムスタンプが付された上記データを取得し、取得した上記データに含まれるタイムスタンプを、上記差分を用いて修正する。したがって、時系列DBのデータ用いることなく、運用アプリ群130が個別に各インフラ拠点102のインフラ機器150より取得したログ等の情報を用いて、タイムスタンプを別の時間系に修正することができる。
【0115】
また、実施例3において説明したように、上記タイムスタンプ修正部は、上記アプリケーションで用いる上記インフラ機器のタイムスタンプ(例えば、図9のステップ901に示した”infrabase_1_equipment_1”のタイムスタンプ)を修正する基準となるタイムスタンプ(例えば、図9のステップ901に示した”infrabase_2_equipment_2”のタイムスタンプ)を出力するインフラ機器を含む上記データ取得要求を受け、上記所定の条件を満たす場合、上記時系列DBから、上記基準となるタイムスタンプを出力するインフラ機器のタイムスタンプと上記時刻同期サーバのタイムスタンプとを含むデータを取得し、両者のタイムスタンプに一定時間以上の隔たりがない場合(例えば、図9のステップ905においてYESの場合)、図9のステップ906で説明したように、上記アプリケーションで用いる上記インフラ機器のタイムスタンプを、上記基準となるタイムスタンプに修正する。したがって、一定の精度を保ちつつ、インフラ拠点間およびインフラ機器間でのタイムスタンプの修正が可能となる。
【0116】
また、上記タイムスタンプ修正部は、上記両者のタイムスタンプに一定時間以上の隔たりがある場合(例えば、図9のステップ905においてNOの場合)、上記アプリケーションで用いる上記インフラ機器のタイムスタンプを、上記基準となるタイムスタンプと上記運用拠点の時刻同期サーバのタイムスタンプとの差分(例えば、ステップ907で算出された時刻差分)を用いて修正する。したがって、インフラ拠点間およびインフラ機器間でのタイムスタンプの修正は可能でない場合でも、一定の精度を保ちつつ、運用拠点の時刻同期サーバを用いてタイムスタンプを修正することができる。
【0117】
また、上記インフラ拠点は、上記アプリケーションで用いる上記インフラ機器のタイムスタンプと上記時刻同期サーバのタイムスタンプとを対応付けたデータ(例えば、図8に示したステップ804におけるデータ804a)と、上記基準となるタイムスタンプを出力するインフラ機器のタイムスタンプと上記時刻同期サーバのタイムスタンプとを対応付けたデータ(例えば、図8に示したステップ804におけるデータ804b)とを、上記時系列DBに書き込む運用情報取得部(例えば、運用情報取得部141)を有する。したがって、イベントやアラートの単位で時刻差分を把握できるようになる。
【0118】
本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化したり、上記実施の形態に開示されている複数の構成要素を適宜組み合わせて実施することができる。
【符号の説明】
【0119】
101 運用拠点
102 インフラ拠点
103 管理ネットワーク
110 運用アプライアンス
111 時系列DB
112 メッセージハブ
113 運用ダッシュボード
120 時刻調整アプライアンス
121 拠点・装置時刻差分検出部
122 時刻差分記録部
123 タイムスタンプ修正部
124 NTPサーバ
130 運用アプリ群
131 NW利用料計測アプリ
132 アラート情報収集アプリ
133 トラブルシュートアプリ
140 運用エージェント
141 運用情報取得部
142 時刻差分検出部
143 NTPサーバ
150 ITインフラ
150-1、150-2 インフラ機器
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11A
図11B
図12
図13
図14