JP2016062506A - 監視システム、監視装置及び監視方法 - Google Patents

監視システム、監視装置及び監視方法 Download PDF

Info

Publication number
JP2016062506A
JP2016062506A JP2014191889A JP2014191889A JP2016062506A JP 2016062506 A JP2016062506 A JP 2016062506A JP 2014191889 A JP2014191889 A JP 2014191889A JP 2014191889 A JP2014191889 A JP 2014191889A JP 2016062506 A JP2016062506 A JP 2016062506A
Authority
JP
Japan
Prior art keywords
data
unit
information
monitoring
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014191889A
Other languages
English (en)
Inventor
伊藤 俊夫
Toshio Ito
俊夫 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2014191889A priority Critical patent/JP2016062506A/ja
Priority to US14/855,623 priority patent/US20160085655A1/en
Publication of JP2016062506A publication Critical patent/JP2016062506A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3068Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data format conversion
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R21/00Arrangements for measuring electric power or power factor
    • G01R21/133Arrangements for measuring electric power or power factor by using digital technique

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Power Engineering (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Selective Calling Equipment (AREA)

Abstract

【課題】データ処理の実行順序関係に変更がある場合でも少ない労力でデータ処理の監視を継続する。
【解決手段】監視システムは、データを所定の規則に従って変換する変換部を備える。監視システムは、データが変換部によって変換されるとS202、変換前のデータを識別する情報を含む始点ノード識別情報と、変換後のデータを識別する情報を含む終点ノード識別情報とを作成しS207、データを変換した時刻である処理実行時刻を取得しS208、これらの情報を含むログ情報を生成する。
【選択図】図13

Description

本発明の実施形態は、監視システム、監視装置及び監視方法に関する。
監視システムの一例として、ビルエネルギー管理システム(BEMS: Building Energy Management System)と呼ばれるシステムが存在する。これは、ビル内部に設置されている空調、照明などの設備機器や電力計などのセンサを統合的に監視及び制御し、設備機器の安定した運用や省エネなどを実現するシステムである。近年では、通信回線を用いて遠隔地にあるビルを監視するBEMSサービスや、複数のビルをまとめて統合的に監視するBEMSサービスなども存在する。
遠隔BEMSサービスでは、数千におよぶ電力計の計測値を収集及び処理する必要があり、更に、それらに対してビル毎、フロア毎、部屋毎など、様々な単位での集計処理が実施される。これらの集計処理をどう行うかは収容するビルや顧客の都合で様々に異なる。また、遠隔BEMSサービスは、一般に電力計データの他にも多様なデータ(例えば、設備機器の運転状況や温度計・湿度計の計測値)を収集及び管理する機能を備えており、それらのデータ処理の流れは電力計データに対するものとは異なっている。
BEMSの運用者は、現状のシステムが仕様で定められた期限までに処理を完了しているか(例えば、消費電力データを画面に反映できているか)監視するデッドライン監視を行うことによって、現状のシステムが所望の性能を達成しているかを常時監視する。要求性能を達成しない場合、特に時間がかかっているデータ処理であるボトルネック箇所を検出するボトルネック検出を行う。そして、検出されたボトルネック箇所について適切なシステム増強を行うことによって、要求性能を満たすようにシステムを改善することが行われる。
従来の監視システムでは、監視システムで実施するデータ処理全体の実行順序関係(これを実行フローモデルという)を、予め監視システムに与えなければならない。このため、監視システムの処理内容が変化した場合、実行フローモデルも変更しなければならない。このために、運用者は、データ処理の実行順序関係に一部でも変更がある場合、実行フローモデルを書き換える労力がかかっていた。
特開2013−164712号公報 特開2009−277023号公報
J. Tan, S. Kavulya, R. Gandhi and P. Narasimhan "Visual, Log-Based Causal Tracing for Performance Debugging of MapReduce Systems", pp. 795 - 806, In Proceedings of 2010 IEEE 30th International Conference on Distributed Computing Systems (ICDCS), 2010
そこで本発明の実施形態が解決しようとする課題は、データ処理の実行順序関係に変更がある場合でも少ない労力でデータ処理の監視を継続することが可能な監視システム、監視装置及び監視方法を提供することである。
一の実施形態によれば、監視システムは、データを所定の規則に従って変換する変換部を備える。データが前記変換部によって変換されるときに、変換前のデータを識別する情報を含む始点ノード識別情報と、変換後のデータを識別する情報を含む終点ノード識別情報と、前記データを変換した時刻である処理実行時刻とを含むログ情報を生成する監視実行部を備える。
消費電力見える化機能で表示されるグラフの一例を示す図。 第1の実施形態におけるシステムの全体構成図。 第1の実施形態における遠隔BEMS1の内部構成の詳細を示す図。 遠隔BEMS1の1周期分で行われる処理を示すフローチャート。 信号マスターDB16に保存される情報の例を示す図。 ファイルバッファ112に書き出されるファイルの例を示す図。 信号計測値DB13に保存される情報の例を示す図。 集計マスターDB18に予め保存されている情報の例を示す図。 フローログDB172に保存される情報の一例を示す図。 図9のフローログDBの情報をグラフ表現で表した図。 第1の実施形態における処理部50と監視実行部6の構成を示す図。 プログラムそれぞれで各部が実行する処理を示す表。 第1の実施形態における監視実行部6の動作の一例を示すフローチャート 処理部50から監視実行部6へ報告されるデータを示す表。 ノードIDの作成ルールを示す図。 ログ分析部173の詳細な構成を示す図。 デッドライン監視の処理の一例を示すフローチャート。 ボトルネック分析の処理の一例を示すフローチャート。 過程ノードにおける滞留時間の計算結果の例を示す図。 第2の実施形態における遠隔BEMS1の内部構成の詳細を示す図。 第2の実施形態における監視実行部6bの構成を示す図。 第3の実施形態における遠隔BEMS1の内部構成の詳細を示す図。 第3の実施形態における監視実行部6の構成を示す図。 第4の実施形態における遠隔BEMS1の内部構成を示す図。 第4の実施形態における報告データの具体例を示す図。 処理部50−1が送信報告をしない場合のデータフローの例を示す図。 処理部50−1が送信報告をする場合のデータフローの例を示す図。 本実施形態における処理部50−1の送信イベント及び処理部50−2の受信イベントに対するノードIDの作成ルールを示す図。
以下、図面を参照しながら、本発明の実施形態について説明する。
(第1の実施形態)
まず、第1の実施形態について説明する。第1の実施形態における遠隔BEMS(監視システム)1は、BEMSの典型的な機能の一つである、消費電力を可視化する機能(以下、消費電力見える化機能という)を有する。これは、ビル内の電力計の計測値を収集、蓄積、及び集計し、グラフにまとめてユーザに提示する機能である。
図1は、消費電力見える化機能で表示されるグラフの一例を示す図である。このグラフでは、その日ビル全体で消費された電力量を30分毎に集計して表示している。ビル全体の電力消費だけでなく、フロア毎、部屋毎、機器種別毎など、様々な基準で消費電力を集計、表示できるシステムも存在する。
消費電力見える化機能では、ビルで発生した消費電力をリアルタイムに画面へ反映することが求められる。例えば、図1に示す画面では、16:00〜16:30のデータが示されていないが、これは画面閲覧時点でこの時間帯の計測値が得られていないからである。見える化機能の要求仕様としては、例えば「この時間帯の完全なデータは16:40(時間帯の終端から10分後)までに表示する」といった項目が盛り込まれる。
図2は、第1の実施形態におけるシステムの全体構成図である。図2に示すように、本実施形態におけるシステムは、ビル2a、2b、これらをネットワーク3を介して監視する遠隔BEMS(監視システム)1、情報(例えば、図1のグラフ)を表示するクライアント端末4とを備える。ビル2a及び2bと遠隔BEMS1はネットワーク3で接続されている。
遠隔BEMS1は、収集装置11、差分計算装置12、信号計測値DB(データベース)13、集計装置14、見える化装置15、信号マスターDB16、監視装置17、集計マスターDB18を備える。このように、遠隔BEMS1は、複数の計算機を備える。遠隔BEMS1において、これらの装置が連携し、ビル2a及び2bの消費電力を可視化した情報をクライアント端末4へ提供する。これにより、例えば、図1に示すグラフがクライアント端末4に表示され、クライアント端末4を使用するユーザは、ビル2a及び2bの消費電力を把握することができる。
収集装置11は、ネットワーク3を通じてビル2a及び2bと通信し、ビル2a及び2b内の電力計の計測値、設備機器の稼動情報、その他各種センサの計測値などを定期的に収集する。遠隔BEMS1が扱うこれらのデータをまとめて「信号データ」と呼ぶ。本実施形態では、収集装置11は、30分周期でビル2a及び2bと通信を行い、信号データを収集する。収集装置11が収集した信号データは差分計算装置12へ転送される。
差分計算装置12は、収集装置11が集めた信号データのうち、電力計データに対して差分演算を行う。これは、元の電力計データは単調増加する累積電力量を表しており、図1に示す30分単位の消費電力量とは異なるためである。差分計算装置11は前回のデータ収集で得られた電力計データと今回得られた電力計データの差分を計算し、その結果を新たな信号データとして生成する。その後、差分計算装置12は、生成した信号データと収集された元の信号データを信号計測値DB13へ書き込む。
信号計測値DB13は信号データを保存するデータベースである。
集計装置14は、信号計測値DB13に格納された信号データの集計処理を行う。集計装置14は、予め設定された集計グループに所属する信号データを合算集計し、その結果得られた合算信号データを、信号計測値DBへ書き込む。この処理により、個々の電力計の30分単位消費電力量データから、ビル毎やフロア毎の30分単位消費電力量データが生成される。
見える化装置15は、クライアント端末4が表示する情報をクライアント端末4へ出力する。例えば、見える化装置15は、集計装置14によって集計された消費電力量データを信号計測値DB13から読み出し、読み出した消費電力量データから図1に示すグラフの画像データを生成し、この画像データをクライアント端末4へ出力する。これにより、クライアント端末4がこの画像データを表示することにより、図1に示すようなグラフが表示される。
信号マスターDB16は、遠隔BEMS1がビル2a及び2bから収集する信号に関する情報を保存するデータベースである。収集装置11及び差分計算装置12は信号マスターDB16の持つデータに基づいて、それぞれの処理を実施する。
監視装置17は、遠隔BEMS1の動作を監視し、見える化装置15が必要とする集計消費電力量データが、期限までに生成されているかを監視する。これをデッドライン監視という。また、必要に応じて、遠隔BEMS1の各処理のうち、どこで最も時間がかかっているかを分析する。これをボトルネック分析という。
集計マスターDB18は、信号データの集計処理を行うべき集計グループに関する情報を格納する。
図2に示すシステム内の各装置及びビルには固有のIPアドレスが割り当てられている。例えば、収集装置11のIPアドレスは、192.168.0.11で、差分計算装置12は、192.168.0.12で、信号計測値DB13は192.168.0.13で、集計装置14は192.168.0.14である。また、例えば、ビル2aは10.0.0.1、ビル2bは10.0.0.2である。なお、他の装置もIPアドレスを持ってもよいが、本実施形態の説明には無関係であるため割愛する。
図3は、第1の実施形態における遠隔BEMS1の内部構成の詳細を示す図である。以下、この図を用い、まず遠隔BEMS1の消費電力見える化機能に関わるデータ処理の詳細を解説する。
収集装置11は、処理部50−1、ファイルバッファ112、及び監視実行部6−1を備える。
処理部50−1は、収集プログラム5−1を記憶しており、この収集プログラム5−1を実行することによって、データを収集する。具体的には、処理部50−1は、ビル2a及び2bと通信し、信号データを収集する。
ファイルバッファ112は、収集装置11の管理するファイルシステム上に設けられたデータバッファ領域である。収集プログラム111は、収集した信号データをファイルバッファ112上にファイルとして書き出す。ファイルバッファ112は、規定のファイル共有機能により、差分計算装置12からもアクセス可能となっている。
差分計算装置12は、処理部50−2と監視実行部6−2とを備える。
処理部50−2は、差分計算プログラム5−2を記憶しており、この差分計算プログラム5−2を実行することによって、信号データの差分計算を実行する。具体的には、処理部50−2は、ファイルバッファ112から直近の信号データを、信号計測値DB13から直近から一つ前の信号データを読み出し、読み出した二つの信号データの差分を計算し、計算して得られた差分信号データを、信号計測値DB13へ書き込む。
集計装置14は、処理部50−3と監視実行部6−3とを備える。
処理部50−3は、集計プログラム5−3を記憶しており、この集計プログラム5−3を実行することによって、信号データを合算集計する。具体的には、処理部50−3は、信号計測値DB13から信号データを読み出し、集計マスターDB18に定義された集計グループに従って合算集計を行い、その結果得られる合算信号データを信号計測値DB13へ書き込む。
監視実行部6−1、6−2、6−3は、監視対象とする処理部50−1、50−2、50−3毎に存在する。監視実行部6−1、6−2、6−3は、それぞれ処理部50−1、50−2、50−3のデータ処理を監視し、特定のデータ処理が行われたときに、その情報をログ情報として監視装置17へ送信する。
監視装置17は、ログ保存部171と、フローログDB172と、ログ分析部173とを備える。
ログ保存部171は、監視実行部6−1、6−2、6−3からログ情報を受け付け、受け付けたこれらの情報をフローログDB172へ保存する。なお、これに限らず、ログ保存部171は、監視実行部6−1、6−2、6−3から受け付けたログ情報の少なくとも一つをフローログDB172へ保存してもよい。
フローログDB172はログ情報を保存するデータベースである。
ログ分析部173は、フローログDB172に保存されたログ情報を分析し、デッドライン監視とボトルネック分析を行う。
遠隔BEMS1は、30分周期で信号データを収集して処理する。続いて、図5〜図8を参照しつつ図4を用いて、遠隔BEMS1がその1周期分で行われる処理を説明する。図4は、遠隔BEMS1の1周期分で行われる処理を示すフローチャートである。
(ステップS101)まず、遠隔BEMS1は、各ビルから信号を収集することから始まる。具体的には処理部50−1が信号マスターDB16(図5参照)を参照して収集すべき信号のリストを取得し、ビル2a及び2bからその時点での信号データを収集する。例えば、収集すべき信号のリストは、信号マスターDB16に含まれる全ての信号IDを含む。
ここで、図5は、信号マスターDB16に保存される情報の例を示す図である。遠隔BEMS1で管理される信号データには、信号IDという固有の識別子が設定されている。信号マスターDB16には、収集すべき信号を識別する信号ID、その信号を保持するビルを識別するビルID、ビル内におけるその信号を識別するビル内信号ID、及びその信号と対応する一周期前の信号との差分計算結果を示す差分信号を識別する差分信号IDが格納される。
本実施形態における信号データは、ビル毎に独立して管理されている。そこで、処理部50−1は、信号マスターDB16に示されるビル内信号IDをビルへ送り、信号データを問い合わせる。処理部50−1は、信号データをビルから受信すると、受信した信号データにタイムスタンプを付与する。このタイムスタンプとしては、一例として、処理部50−1が、その周期における収集を開始した時刻が一律に用いられる。以降の処理において、信号データは信号IDとタイムスタンプの組によって管理される。
(ステップS102)次に、ビルから信号データを収集した処理部50−1は、それらのデータをファイルバッファ112へ書き出す。ここでは便宜上、処理部50−1は収集したデータをビル毎、タイムスタンプ毎に異なるファイルへ書き出す。
図6は、ファイルバッファ112に書き出されるファイルの例を示す図である。この図6では、2014年5月22日午前10時ちょうどにデータ収集を開始した際に出力されるファイルD1とD2が示されている。ファイルD1のファイル名は、「a_2014−05−22_10:00」であり、ファイルD2のファイル名は、「b_2014−05−22_10:00」である。
このファイルD1はビル2aから収集した信号データを、ファイルD2はビル2bから収集した信号データを含んでいる。それぞれのファイルはCSV(Comma-Separated Values)形式であり、各行は、信号ID、タイムスタンプ、信号データの値をカンマで区切った文字列となっている。
(ステップS103)図4のステップS103において、処理部50−2は、ファイルバッファ112を監視しており、処理部50−1が信号データをファイルバッファ112に書き出すと、それらのファイルを読み出す
(ステップS104)処理部50−2は、ファイルから読み出した信号データのうち、電力計データについて、差分計算を実施する。電力計データは、信号マスターDB16において差分信号IDカラムがNULLではない文字列(ここでは、番号)が割り当てられた信号IDのデータである。処理部50−2は、読み出した各信号データの信号IDに対応する差分信号IDを信号マスターDB16から取得する。その際、処理部50−2は、差分信号IDがNULLでないか否か判断する。これにより、信号データが差分計算の対象であるか否か判断する。
(ステップS105)ステップS104で差分信号IDがNULLでないと判定された場合、処理部50−2は、その信号について今回取得された値から前回収集時に取得された値を差し引いた差分信号データを生成し、生成した差分信号データと差分信号IDを関連づけて、信号計測値DBに記憶させる。ここで、前回収集時に取得された値は、信号計測値DB13のうち、今回対象となっている信号IDのレコードのうち、最新のタイムススタンプを有するレコードに含まれる「値」を抽出することで得られる。これにより、図7に示すように、例えば、差分信号ID「101」と、差分信号データの値「1.17」とを含むレコードが信号計測値DBに追記される。
図7は、信号計測値DB13に保存される情報の例を示す図である。信号計測値DB13は、信号ID、タイムスタンプ、値のカラムを有し、収集された信号データ、差分計算で得られた差分信号データ、または合算集計で得られた合算信号データの各時刻における値を保存する。ここで、この信号IDのカラムには、信号データを識別するID、差分信号データを識別する差分信号ID、合算信号データを識別するIDが格納される。
また、処理部50−2は、今回収集された値を保存し、次回の差分計算に備える。なお、差分信号データのタイムスタンプとしては、今回収集された信号データのタイムスタンプを用いる。
(ステップS106)次に、処理部50−2は、差分計算を全て終えると、収集された信号データと差分計算によって生成された差分信号データとを全て信号計測値DB13へ書き込む。信号計測値DB13への書き込みが全て正常に完了すると、処理部50−2は先に読み込んだファイルバッファ112中のファイルを削除する。
(ステップS107)次に、処理部50−3は、信号計測値DB13を監視しており、信号計測値DB13内に合算集計を実施可能な複数の信号データがあれば、それを読み出す。合算集計を実施する信号データは、集計マスターDB18に定義されている。
図8は、集計マスターDB18に予め保存されている情報の例を示す図である。図8に示すように、集計マスターDB18は集計先信号IDと集計元信号IDのカラムを持つ。同一の集計先信号IDを持つ集計元信号IDの集合が一つの集計グループをなしており、これらの集計元信号IDに対応するデータが合算されることにより合算信号データが生成される。
処理部50−3は、集計マスターDB18を参照し、信号計測値DB13から以下の三つの条件を全て満たす複数の集計元信号データを読み出す。
第1の条件は、集計マスターDB18で定義されるいずれかの集計グループに完全に合致する集計元信号であることである。すなわち、信号計測値DB13の「信号ID」のカラムの値が集計マスターDB18の「集計元信号ID」のカラムの値と同じIDのレコードであることである。
第2の条件は、読み出す複数の集計元信号データに含まれるタイムスタンプが全て等しいことである。すなわち、信号計測値DB13の「タイムスタンプ」のカラムの値が互いに同じタイムスタンプであることである。
第3の条件は、集計元信号データのタイムスタンプと同一のタイムスタンプを持つ集計先信号データが信号計測値DB13内に存在しないことである。すなわち、信号計測値DB13の「信号ID」のカラムの値が、集計マスターDB18において当該「集計元信号ID」と関連づけられた「集計先信号ID」であり、且つ信号計測値DB13の「タイムスタンプ」のカラムの値が集計元信号データのタイムスタンプと同じレコードが存在しないことである。
以上の条件を満たす信号データは、合算集計が可能であるがまだ実施されていない信号データである。
例えば、タイムスタンプが「2014−05−22 10:30」であるデータについて合算集計する場合、図8に示すように集計先信号IDが「201」である集計元信号IDは「101」、「102」、「103」であるので、これら集計元信号IDが「101」、「102」、「103」で且つタイムスタンプが「2014−05−22 10:30」を有するレコードに含まれる値「1.17」、「0.89」、「1.27」が合算される。この合算により合算値3.33が得られる。そして、処理部50−3は、集計先信号IDが「201」で、タイムスタンプが「2014−05−22 10:30」で、且つ値が「3.33」であるレコードを信号計測値DB13に追加する。
(ステップS108)処理部50−3は、読み出した複数の信号データに含まれる値を全て足し合わせて、合算値を得る。処理部50−3は、集計先信号IDとステップS107で読み出した集計元信号データに含まれるタイムスタンプと、得られた合算値とを関連づけた集計先信号データを生成する。
(ステップS109)そして、処理部50−3は、ステップS108で生成された集計先信号データを信号計測値DB13に追記する。
以上のようにして、遠隔BEMS1は、ビル2a及び2bの電力計からデータを集め、30分毎の消費電力量を計算し、ビル毎やフロア毎など様々な集計グループで合算処理し、その結果を信号計測値DB13へ保存する。見える化装置15は、クライアント4からの要求に応じて、信号計測値DB13から適切な集計済み信号データを読み出し、この集計済み信号データから図1に示すようなグラフを生成し、生成したグラフを示す情報をクライアント端末4へ送信する。これにより、クライアント端末4に図1に示すようなグラフが表示される。
次に、以上で述べた遠隔BEMS1のデータ処理を監視し、デッドライン監視とボトルネック分析を実現する手法を解説する。
本実施形態の遠隔BEMS(監視システム)1は、遠隔BEMS(監視システム)1内のデータ処理を監視し、データの処理の流れを示すグラフ構造を生成するためのデータをフローログDB172に記録する。
ここで、遠隔BEMS(監視システム)1は、収集装置11、集計装置12、集計装置13、及び監視装置17を備える。
監視実行部6−1、6−2、6−3は、それぞれ処理部50−1、50−2、50−3がデータの受信、変換または送信を行うたびに、そのデータ処理を表現する1ホップのデータフローエッジを表すデータをログ保存部171に送信する。ここで、データフローエッジは、データの「始点ノード」と「終点ノード」、及び「処理実行時刻」の組である。
監視装置17は、ログ保存部171、フローログDB172、及びログ分析部173を備える。
ログ保存部171は、監視実行部6−iが生成したログ情報を記憶装置に記憶させる。具体的には例えば、ログ保存部171は、受信したデータフローエッジをフローログDB172へ追加する。
図9は、フローログDB172に保存される情報の一例を示す図である。図9に示すように、フローログDB172は、ノード間の繋がりを表すエッジを識別するエッジID、始点ノードを識別する始点ノードID、終点ノードを識別する終点ノードID、及び処理実行時刻のカラムを有する。処理実行時刻はそのデータ処理が実行された時刻である。始点ノードID、終点ノードIDはそれぞれデータ処理の実行前及び実行後のデータを識別するデータ識別子を少なくとも含む。
本実施形態における始点ノードID及び終点ノードIDは、「(装置アドレス),(プログラムID);(信号ID),(タイムスタンプ)」という形式をとる。
装置アドレスは、そのイベントでデータを扱う装置のIPアドレスである。プログラムIDはその装置内でデータを扱う処理部が実行するプログラムを識別するIDである。ここでは一例として、プログラムIDは、データを扱うプログラムの名前である。信号IDは、そのイベントで扱われる信号データのIDで、タイムスタンプはそのイベントが実行されるタイムスタンプである。
上記ノードID形式のうち、前半の「(装置アドレス),(プログラムID)」の部分は、データを扱う主体を識別するIDであり、これをデータハンドラIDと呼ぶ。
一方、後半の「(信号ID),(タイムスタンプ)」の部分は、扱われるデータを一意に識別するIDであり、これをデータ識別子と呼ぶ。ノードIDはデータハンドラIDとデータ識別子の組み合わせから構成される。
図9に示すフローログDB172の各レコード内の始点ノードIDで特定される始点ノードと終点ノードIDで特定される終点ノードとを繋いでエッジとすることにより、ログ分析部173は、フローログDB172に記録されたログをグラフ構造として解釈することができる。
なお、一つの装置でデータの変換だけを行うシステムを監視する場合、データを扱う主体を識別する必要がないので、ノードIDに、データハンドラIDが含まれず、後半のデータ識別子だけが含まれる場合がある。
図10は、図9のフローログDBの情報をグラフ表現で表した図である。簡単のため、この図ではノードIDとしてプログラムIDと信号IDのみを示し、エッジの持つ処理実行時刻は「分:秒」という形式で示している。また、大括弧内の数字はエッジIDである。
図10に示すように、フローログDB172のログをグラフ構造として分析することで、集計済み信号(例えば、信号IDが信号201)がどのような処理を経て生成されたのかを知ることができる。図10の場合では、信号ID201は信号ID101、102、103の合算集計によって生成され、信号ID101は信号ID1から差分計算によって生成され、そして信号ID1はビルから収集されている。
なお、図10には示されていないが、信号ID102及び103も信号ID101と同様にビルからのデータ収集、差分計算を経て生成されており、その記録がフローログDB172に保存されているものとする。
ここで、図9に示すようなログを記録するためには、監視実行部6−1、6−2、6−3が適切なタイミングでデータフローエッジを作成し、ログ保存部171に送信しなければならない。以下、この方法について説明する。
監視実行部6−1、6−2、6−3は、それぞれ処理部50−1、50−2、50−3の動作を監視するが、これらは共通した構造を持つ。図11を用いて、これらの処理部50−1、50−2、50−3と監視実行部6−1、6−2、6−3の共通構造を説明する。ここで、処理部50−1、50−2、50−3を総称して処理部50という。監視実行部6−1、6−2、6−3を総称して監視実行部という。
図11は、第1の実施形態における処理部50と監視実行部6の構成を示す図である。図11に示すように、処理部50は、保持するプログラムを読み出して実行することにより、受信部51、変換部52、及び送信部53として機能する。受信部51は、データを受信する。変換部52は、受信部51によって受信されたデータを所定の規則に従って変換する。なお、変換部52は、受信部51によって受信されたデータを変換するだけでなく、変換部52を備える装置内部に保持されたデータを変換する場合もある。送信部53は、変換部52によって変換されたデータを送信する。なお、送信部53は、変換部52によって変換されたデータを送信するだけでなく、受信部51で受信されたデータをそのまま送信する場合または予め保持されたデータを送信する場合もある。
続いて、図12を用いて、プログラムそれぞれの場合に、受信部51、変換部52、送信部53が実行する具体的な処理について説明する。図12は、プログラムそれぞれで、各部が実行する処理を示す表である。図12に示すように、収集プログラム5−1を実行する処理部50−1は、データの変換を行わない。
図12に示すように、収集プログラム5−1を実行する処理部50−1において、受信部51は、ビルから信号データを収集し、送信部53は、ファイルバッファへ信号データを書き出す。
同様に、差分計算プログラム5−2を実行する処理部50−2において、受信部51は、ファイルバッファから信号データを読み込み、変換部52は差分計算を行い、送信部53は信号計測値DBへ信号データを書き出す。
同様に、集計プログラム5−3を実行する処理部50−3において、受信部51は、信号計測値DBから信号データを読み込み、変換部52は合算集計を行い、送信部53は信号計測値DBへ信号データを書き出す。
監視実行部6は、処理部50から報告を受け、データフローエッジを作成する。監視実行部6は、受信報告受付部601、変換報告受付部602、送信報告受付部603、ノードID導出部604、自プログラムID保持部605、自IPアドレス保持部606、データフローエッジ作成部607、計時部608、及びデータフローエッジ送信部609を備える。
受信報告受付部601は、受信部51からその動作に関する報告を示す報告データを受ける。
同様に、変換報告受付部602は、変換部52からその動作に関する報告を示す報告データを受ける。
同様に、送信報告受付部603は、送信部53からその動作に関する報告を示す報告データを受ける。
自プログラムID保持部605は、監視実行部6が監視する処理部50−1〜50−3が実行するプログラム5−1〜5−3毎に、プログラム5−1〜5−3それぞれを識別するプログラムIDを保持する。
自IPアドレス保持部606は、監視実行部6−1〜6−3と処理部50−1〜5−3が搭載されている装置のIPアドレスを保持する。
ノードID導出部604は、受信報告受付部601、変換報告受付部602または送信報告受付部603から受け付けた報告データと、自プログラムID保持部605が保持するプログラムIDと、自IPアドレス保持部606が保持するIPアドレスと、に基づいてデータフローエッジの始点ノードIDと終点ノードIDを作成する。
計時部608は、計時機能を有し、データフローエッジ作成部607に現在時刻の情報を提供する。
データフローエッジ作成部607は、ノードID導出部604から受け付けた始点ノードIDと終点ノードIDに、処理実行時刻の情報として現在時刻を付与し、データフローエッジを作成する。
データフローエッジ送信部609は、データフローエッジ作成部607が作成したデータフローエッジをログ保存部171に送信する。
なお、監視実行部6は、例えば、以下に示すような三つの形態のいずれかで実現することができる。第1の形態は、監視実行部6の処理をソフトウェアライブラリの形式で実装し、プログラム5−1、5−2、5−3それぞれに組み込む形態である。
第2の形態は、監視実行部6の処理をプログラム5とは別のプログラムとして実装し、この別のプログラムが実行されることによって監視実行部6として機能する形態である。この場合処理部50はプロセス間通信機構や共有メモリ機構を用いて監視実行部6へ報告データを送信する。なお、監視実行部6は常駐プロセスとしてもよいし、処理部50が必要に応じて起動するようにしてもよい。
第3の形態は、監視実行部6の処理を処理部50とは別の装置で動作するプログラムとして実装し、別の装置でこのプログラムが実行されることによって監視実行部6として機能する形態である。この場合、処理部50はネットワークを通じて監視実行部6へ報告データを送信する。
続いて、図13を用いて、監視実行部6の動作を説明する。図13は、第1の実施形態における監視実行部6の動作の一例を示すフローチャートである。監視実行部6の動作は処理部5によるデータの受信、変換、送信のいずれかをきっかけにして始まる。
処理部5の受信部51がデータを受信すると(ステップS201)、受信部51はそのイベントを受信報告受付部601に報告する(ステップS204)。報告された情報はノードID導出部604へ送られる。
同様に、処理部5の変換部52がデータを変換すると(ステップS202)、変換部52はそのイベントを受信報告受付部601に報告する(ステップS205)。報告された情報はノードID導出部604へ送られる。
同様に、処理部5の送信部53がデータを送信すると(ステップS203)、送信部53はそのイベントを受信報告受付部601に報告する(ステップS206)。報告された情報はノードID導出部604へ送られる。
ノードID導出部604は、ステップS204〜S206のいずれかで報告された情報と、自プログラムIDと、自IPアドレスとを用い、データフローエッジの始点ノードIDと終点ノードIDを作成する(ステップS207)。作成された始点ノードIDと終点ノードIDはデータフローエッジ作成部607へ送られる。データフローログエッジ作成部607は、計時部608から現在時刻を取得し(ステップS208)、作成された始点ノードIDと終点ノードIDと現在時刻とを用いて、データフローエッジを作成する(ステップS209)。作成されたデータフローエッジはデータフローエッジ送信部609へ送られる。データフローエッジ送信部609がデータフローエッジを監視装置6のログ保存部171へ送信する(ステップS210)。
続いて、図14を用いて、データ受信時(図13のステップS204)、データ変換時(図13のステップS205)、データ送信時(図13のステップS206)にそれぞれ処理部50から監視実行部6へ報告されるデータについて説明する。図14は、処理部50から監視実行部6へ報告されるデータを示す表である。
図14に示すように、データ受信時は、データ送信者のIPアドレスとプログラムID、及び受信したデータの信号IDとタイムスタンプが報告される。データ変換時は変換元となる信号データのIDとタイムスタンプ、及び変換先となる信号データのIDとタイムスタンプが報告される。変換元や変換先の信号データが複数存在する場合、両者の全ての組み合わせが報告される。データ送信時は、データ受信者のIPアドレスとプログラムID、及び送信したデータの信号IDとタイムスタンプが報告される。
また、図14には、収集プログラム5−1、差分計算プログラム5−2、集計プログラム5−3が実行された場合に、データの受信、変換及び送信時に報告される具体例についても示されている。
各処理部50が報告する情報のうち、データ送信者IPアドレス及びデータ受信者IPアドレスは、各処理部が通信を行う際に通信相手となる装置の情報を調べ、取得する。
データ送信者プログラムID及びデータ受信者プログラムIDは原則的に文字列定数として各処理部が保持し、報告する。これは、本実施形態のシステムの場合、各処理部がデータをやり取りする相手はほとんど決まっているからである。ただし、ファイルバッファ121と信号データをやり取りする場合は例外であり、この場合はファイル名をプログラムIDに含めるようにしている。このようにすることで、フローログDB172の記録から、処理部50−1及び処理部50−2が具体的にどのファイルにアクセスしたかを調べられるようになっている。
受信の際に報告する信号ID及びタイムスタンプについては、処理部50−1の場合は自身がビル2a及び2bへ問い合わせた信号ID及び収集を開始した時刻を用いる。
一方、処理部50−2は、ファイルバッファ112から読み込んだファイルに記載される信号ID及びタイムスタンプを報告する。一方、処理部50−3は、信号計測値DB13内に記録されている信号ID及びタイムスタンプを報告する。ここでのタイムスタンプは、データ識別子の一部としてのタイムスタンプであり、図9の「処理実行時刻」とは異なる。データ識別子の一部であるタイムスタンプは、信号IDとともにファイルバッファや信号計測値DB13に記録されており、処理部50−2及び処理部50−3はそれを用いる。
なお、処理部50−3は、合算集計処理において複数の集計元信号から一つの集計先信号を生成するため、集計元信号の数だけデータ変換の報告を行う。
以上のようにすれば、処理部50−1、5−2、5−3はデータ受信、変換、送信時それぞれのイベントで監視実行部6が必要とする情報を報告できる。そして、監視実行部6は、報告された情報に基づいて、ノードID導出部604が始点ノードIDと終点ノードIDを作成する。
このことから、監視実行部6−i(iは1から3までの整数)は、受信部51によってデータが受信されるときに、受信されたデータの送信元を識別する情報を含む始点ノード識別情報(始点ノードID)と、前記データの受信を行う主体を識別する情報(例えば、差分計算プログラム5−2に対応するデータハンドラID)を含む終点ノード識別情報(終点ノードID)と、前記データを受信した時刻である処理実行時刻とを含むログ情報を生成する。ここで、本実施形態では、一例として、このログ情報に含まれる始点ノード識別情報(始点ノードID)及び終点ノード識別情報(終点ノードID)には、更に前記受信されたデータを識別する情報が含まれる。
そして、監視実行部6−iは、受信部51によって受信されたデータが変換部52によって変換されるときに、変換前のデータを識別する情報を含む始点ノード識別情報(始点ノードID)と、変換後のデータを識別する情報を含む終点ノード識別情報(終点ノードID)と、前記データを変換した時刻である処理実行時刻とを含むログ情報を生成する。ここで、本実施形態では、一例として、このログ情報に含まれる始点ノード識別情報(始点ノードID)及び終点ノード識別情報には、更に前記データの変換を行う主体を識別する情報(例えば、差分計算プログラム5−2に対応するデータハンドラID)が含まれる。
また、監視実行部6−iは、変換部52によって変換されたデータが送信部53によって送信されるときに、このデータの送信を行う主体を識別する情報(例えば、差分計算プログラム5−2に対応するデータハンドラID)を含む始点ノード識別情報(始点ノードID)と、前記送信されたデータの送信先を識別する情報を含む終点ノード識別情報(終点ノードID)と、前記データを送信した時刻である処理実行時刻とを含むログ情報を生成する。ここで、本実施形態では、一例として、このログ情報に含まれる始点ノード識別情報及び終点ノード識別情報には、更に送信されたデータを識別する情報が含まれる。
また、監視実行部6は、処理部50がデータを受信したときに処理部50からデータ受信報告情報を取得し、このデータ送信報告情報を取得する毎にログ情報を生成する。ここで、データ受信報告情報は、受信されたデータの送信元を識別する情報(例えば図14のデータ送信者IPアドレスとデータ送信者プログラムIDの組)と、この受信されたデータを識別する情報(例えば図14の受信データの信号IDと受信データのタイムスタンプの組)とを含む。
また、監視実行部6は、処理部50がデータを変換したときに処理部50からデータ変換報告情報を取得し、このデータ変換報告情報を取得する毎にログ情報を生成する。ここで、データ変換報告情報は、変換前のデータを識別する情報(例えば図14の変換元信号IDと変換元信号タイムスタンプの組)と、変換後のデータを識別する情報(例えば図14の変換先信号IDと変換先信号タイムスタンプの組)とを含む。
また、監視実行部6は、処理部50がデータを送信したときに処理部50からデータ送信報告情報を取得し、このデータ送信報告情報を取得する毎に第3のログ情報を生成する。ここで、データ送信報告情報は、送信されたデータの送信先を識別する情報(例えば図14のデータ受信者IPアドレスとデータ受信者プログラムIDの組)と、送信されたデータを識別する情報(例えば図14の送信データの信号IDと送信データのタイムスタンプの組)とを含む。
続いて、図15を用いてノードIDの作成規則について説明する。図15は、ノードIDの作成規則を示す図である。ノードID導出部604は、図15に示す作成規則に従い、データ受信、変換、送信それぞれのイベントに相当する始点ノードIDと終点ノードIDを作成する。
ノードIDを作成する際は、データの受信及び送信時は、始点と終点でデータID部が共通であり、データの変換時は始点と終点でデータハンドラID部が共通である。このようにすることで、複雑なデータフローを確実に記録及び追跡できるようになる。
このように、処理部50の処理がデータの送信の場合、監視実行部6は、処理部50がデータを送信する毎に、ログ情報を生成する。このときの第1の識別情報(ここでは始点ノードID)は、このデータを送信した主体を識別するデータ送信主体識別子(図15の自IPアドレスと自プログラムIDの組)とこのデータを識別するデータ識別子(図15の送信データの信号IDと送信データのタイムスタンプの組)とを含む。また、このときの第2の識別情報(ここでは終点ノードID)は、データを受信する主体を識別するデータ受信主体識別子(例えば図15のデータ受信者IPアドレスとデータ受信者プログラムIDの組)とデータを識別するデータ識別子(例えば図15の送信データの信号IDと送信データのタイムスタンプの組)とを含む。
また、処理部50の処理がデータの受信の場合、監視実行部6は、処理部50がデータを受信する毎に、ログ情報を生成する。このときの第1の識別情報(ここでは始点ノードID)は、このデータを送信した主体を識別するデータ送信主体識別子(例えば図15のデータ送信者IPアドレスとデータ送信者プログラムIDとの組)とこのデータを識別するデータ識別子(例えば図15の受信データの信号IDと受信データのタイムスタンプとの組)とを含む。また、このときの第2の識別情報(ここでは終点ノードID)は、このデータを受信した主体を識別するデータ受信主体識別子(例えば図15の自IPアドレスと自プログラムIDとの組)とこのデータを識別するデータ識別子(例えば図15の受信データの信号IDと受信データのタイムスタンプとの組)とを含む。
また、処理部50の処理がデータの変換の場合、監視実行部6は、処理部50がデータを変換する毎に、ログ情報を生成する。このときの第1の識別情報(ここでは始点ノードID)は、このデータを変換する主体を識別するデータ変換主体識別子(例えば図15の自IPアドレスと自プログラムIDの組)と変換前のデータを識別するデータ識別子(例えば図15の変換元信号IDと変換元信号タイムスタンプとの組)とを含む。また、このときの第2の識別情報(ここでは終点ノードID)は、このデータを変換する主体を識別するデータ変換主体識別子(例えば図15の自IPアドレスと自プログラムIDとの組)と変換後の前記データを識別するデータ識別子(例えば図15の変換先信号IDと変換先信号タイムスタンプとの組)とを含む。
以上で説明した監視実行部6の動作によって、遠隔BEMS1の動作に応じてデータフローエッジが作成され、監視装置17のログ保存部171へ送られる。データフローエッジはフローログDB172に格納され、図9に示すようなログが記録される。
次に、これまで説明した仕組みによってフローログDB172へ記録されたログを分析し、デッドライン監視とボトルネック分析を行う方法について説明する。
図16は、ログ分析部173の詳細な構成を示す図である。図16に示すように、ログ分析部173は、デッドライン監視部1731、ボトルネック分析部1732、計時部1733、及び分析報告部(報告部)1734を備える。デッドライン監視部1731とボトルネック分析部1732は、フローログDB172及び集計マスターDB18と接続されている。
デッドライン監視部1731は、現在時刻が予め決められたデッドライン時刻に到達した場合、デッドライン時刻までに処理が完了している必要がある完了必要データそれぞれについて、第2の識別情報(ここでは終点ノードID)に当該データを識別する情報が含まれ且つ処理実行時刻がデッドライン時刻以前の時刻であるログ情報が記憶装置であるフローログDB172に記憶されているか否かを判定する。
分析報告部1734は、デッドライン監視部1731により、完了必要データのうち少なくとも一つについて、終点ノード識別情報(終点ノードID)に当該データを識別する情報が含まれ且つ処理実行時刻がデッドライン時刻以前の時刻であるログ情報が記憶装置であるフローログDB172に記憶されていないと判定された場合、デッドライン違反を通知する処理を実行する。
ボトルネック分析部1732は、記憶装置であるフローログDB172に記憶されたログ情報の集合のうち、ある対象のログ情報に含まれる終点ノード識別情報(終点ノードID)と別のログ情報に含まれる始点ノード識別情報(始点ノードID)とが同じであるようなログ情報の組について、前記対象のログ情報に含まれる処理実行時刻と、前記別のログ情報に含まれる処理実行時刻との差分を、前記終点ノード識別情報(終点ノードID)または前記始点ノード識別情報(始点ノードID)によって特定されるデータの滞留時間として算出し、この滞留時間を用いてボトルネックとなっているデータ処理を特定する。
また、分析方向部1734は、ボトルネック分析部1732が特定した、ボトルネックとなっている処理を通知する処理を実行する。
続いて、図17を用いてデッドライン監視部1731の動作について説明する。図17は、デッドライン監視の処理の一例を示すフローチャートである。本実施形態の遠隔BEMS1は、データの収集及び集計は30分周期で実施するため、デッドライン監視部1731も30分おきに動作する。ここでは、集計消費電力量データは信号データの収集開始から5分後までに生成されていなければならないとする。つまり、信号データの収集開始時刻が10:00、10:30、11:00、…であるとするなら、デッドラインはそれぞれ10:05、10:35、11:05、…である。
(ステップS301)デッドライン監視の動作は、デッドライン監視部1731が、現在時刻が次のデッドラインに到達したことを検出したことをきっかけとして始まる。ここでは、現在時刻が2014−05−22 10:05であるとする。
(ステップS302)現在時刻がデッドラインに到達すると、デッドライン監視部1731は、監視対象のタイムスタンプを持つ集計済み信号ノードを識別するIDを終点ノードIDとするエントリをフリーログDB172から検索する。
ここで、現在時刻が10:05だとすると、監視対象のタイムスタンプは10:00である。また、集計済み信号の信号IDのリストは、集計マスターDB18の集計先信号IDカラムのデータを重複しないように抽出したものである。図8の例では、集計済み信号ノードのリストは「201,202,203,210」である。
具体的には、デッドライン監視部1731は、フローログDB172内の集計済み信号ノードを、終点ノードIDが「192.168.0.13, DB;(集計先信号ID), 2014−05−22 10:00」であるノードとして検索できる。
ここで、デッドライン監視部1731は、集計マスターDB18から得られたそれぞれの集計先信号IDを、上記の「(集計先信号ID)」の部分に当てはめることにより、今回デッドラインをチェックすべきノードIDのリストを得ることができる。図8の例では、「(集計先信号ID)」は、「201,202,203,210」に含まれるいずれかの値である。
上記のノードは、集計済み信号データが信号計測値DB13に存在することを示すノードである。そこで、デッドライン監視部1731は、上記のフローログDB172の中から、上記のノードIDのリストに含まれる各ノードIDを終点ノードIDとして持つエントリを検索する(図9参照)。
(ステップS303)そして、デッドライン監視部1731は、検索した全てのノードIDについてフローログDB172内にエントリが存在するか否か判定する。
(ステップS304)ステップS303で検索したノードIDのうちフローログDB172内にエントリが存在しないノードIDがある場合、デッドライン監視部1731はデッドライン違反が発生した旨を分析報告部1734に伝える。この際、デッドライン違反が発生した信号IDの情報なども分析報告部1734へ伝えられる。
分析報告部1734は、デッドライン監視部1731から受け取った情報を基に、デッドライン違反が発生したことを遠隔BEMS1の管理者へ報告する。これには、電子メールの発送、監視センターの画面表示、あるいは警報やパトランプ点灯などの方法を用いることができる。
(ステップS305)ステップS303で検索した全てのノードIDについてフローログDB172内にエントリが存在すると判定された場合、全ての集計済み信号データがデッドラインまでに生成できたということであるため、デッドライン監視部1731は何も報告せずに次のデッドラインまで待機する。
なお、上記のフローログDB172の検索処理(ステップS302)及びエントリの存在確認処理(ステップS303)は、本質的には「フローログDB172内に所定のノードIDを持つノードが存在し、かつ、そのノードに入力エッジが存在する」という複合的な条件を満たしているか判定している。この判定は上記のように一度の検索処理で実施してもよいし、段階的に実施してもよい。すなわち、デッドライン監視部1731は、まず所定のノードIDが始点ノードIDもしくは終点ノードIDとしてフローログDB172に含まれているかを検査し、含まれている場合には、そのノードに入力エッジが存在するかどうかを検査する、という方法をとってもよい。
以上のように、デッドライン監視部1731は、フローログDB172内で、集計先信号IDを終点ノードIDに含むエントリを検索することによって、ある時点で所望のデータが存在しているかどうかを検証し、デッドライン監視を行うことができる。
続いて、図18を用いて、ボトルネック分析部1732の動作について説明する。図18は、ボトルネック分析の処理の一例を示すフローチャートである。ボトルネック分析は任意のタイミングで実行すればよい。ボトルネック分析の実行タイミングとしては、1日に1回バッチ処理として実行する場合、遠隔BEMSの管理者が明示的に指示して実行する場合、デッドライン違反をきっかけとして実行する場合、などがある。
(ステップS401)ボトルネック分析が開始すると、まず、ボトルネック分析部1732は、一例として、信号計測値DB13内の信号を表す終点ノードIDをフローログDB172から検索する。これには、終点ノードIDが「192.168.0.13,DB;(*)」であるエントリをフローログDB172から検索すればよい。ただし、上記ノードIDにおいて(*)は任意の文字列を表すワイルドカードである。この検索によって得られたノードを検索結果ノードと呼ぶ。
なお、長期間に渡ってシステムを運用した場合、上記パターンに合致するノードは非常に多くなる。そのため、ノードを検索する際には取得するノード数に上限を設けてもよい。また、検索する信号IDや処理実行時刻の範囲が指定されてもよい。また、信号IDとタイムスタンプ毎にボトルネック分析が実施済みかどうかを示す情報を保持し、未分析の信号データに相当するノードのみを検索するようにしてもよい。
(ステップS402)次に、ボトルネック分析部1732は、フローログDB172の検索の結果得られたそれぞれのノードについて、エッジを逆方向にたどることによって、そのノードに至る過程に存在するノードを見つけ出す。これらのノードを過程ノードと呼ぶ。
(ステップS403)そして、各過程ノードについて、その過程ノード上でシステムの処理に要した時間を計算する。この要した時間を、過程ノードにおける滞留時間と呼ぶ。
図19は、過程ノードにおける滞留時間の計算結果の例を示す図である。この図は、図10の例において、ノードID「192.168.0.13,DB;信号201,2014−05−22 10:00」がフローログDB172の検索で得られたとして滞留時間を計算したものである。
図19において、「DB,信号201」と記した検索結果ノードと、そこからエッジを逆方向にたどって得られる過程ノードとが示されている。この例では、ノード「DB,信号1」を除く全てのノードが過程ノードとなる。
各過程ノードの滞留時間は、楕円内の秒数で示している。ここで、過程ノードの滞留時間は、滞留時間=(当該ノードの出力エッジの処理実行時刻)−(当該ノードの入力エッジの処理実行時刻)で計算される。
なお、当該ノードに出力エッジが複数ある場合、デッドライン監視部1731は、例えば、過程ノードを見つける際に辿ったエッジを滞留時間の計算に用いるエッジにする。当該ノードに入力エッジが複数ある場合、デッドライン監視部1731は、それらの処理実行時刻の最小値、最大値、中央値、その他適当な代表値を「当該ノードの入力エッジの処理実行時刻」として用いてもよいし、または非決定的に滞留時間を複数計算してもよい。
(ステップS404)以上のようにして滞留時間の計算を完了すると、ボトルネック分析部1732は、次にそれらの滞留時間を集計する。これには様々な方法がある。
滞留時間の集計方法として、過程ノードをグループ化し、グループ毎に滞留時間を集計する方法がある。フローログDB172中のノードをデータハンドラID(ノードIDの前半部分)毎にグループ化すれば、各ノードを装置単位、プログラム単位でグループ化できる。全ての検索結果ノードと過程ノードについて計算した滞留時間を上記グループ毎に集計することによって、各プログラムの処理時間の平均値、最小値、最大値、分散などの知見を得ることができる。この分析により、ボトルネック分析部1732は、特に処理時間が大きくなっているプログラムをボトルネックとして特定できる。
もう一つの滞留時間の集計方法として、検索結果ノード毎に最も滞留時間の大きい過程ノードを求める方法がある。図19の場合、「ファイル,信号1」のノードの滞留時間が最も長くなっており、ここがボトルネックになっていると考えられる。このように、ボトルネック分析部1732は、滞留時間が最大となる過程ノードを、検索結果ノード毎に求める。その後、前述したグループ毎に滞留時間が最大となった回数を集計する。滞留時間が最大となった回数が特に大きくなっているグループがあれば、そのグループの処理がシステムのボトルネックである。このように、ボトルネック分析部1732は、グループ毎に滞留時間が最大となった回数を集計し、集計した回数に応じて、ボトルネックとなっているグループの処理を特定してもよい。
ボトルネック分析部1732は、滞留時間の集計が完了した場合、この集計結果を分析報告部1734へ渡し、分析報告部1734がこの集計結果を遠隔BEMSの管理者へ報告する。ここで、集計結果には、特定されたボトルネックとなっている処理に関する情報が含まれていてもよい。また、報告の手段としては、デッドライン監視の場合(図17のステップS304参照)と同様の手段を用いることができる。
以上、第1の実施形態における遠隔BEMS(監視システム)1は、ログ情報を用いてデータ処理を監視するシステムであって、データを受信する受信部51と、受信部51によって受信されたデータを変換する変換部52と、監視実行部6と、を備える。
監視実行部6は、受信部51によって受信されたデータが変換部52によって変換されるときに、変換前のデータを識別する情報を含む始点ノード識別情報と、変換後のデータを識別する情報を含む終点ノード識別情報と、前記データを変換した時刻である処理実行時刻とを含むログ情報を生成する。ログ保存部171は、このログ情報を記憶装置であるフローログDB172に記憶させる。また、監視実行部6は、受信部51によってデータが受信されるときに、受信されたデータの送信元を識別する情報を含む始点ノード識別情報と、このデータの受信を行う主体を識別する情報を含む終点ノード識別情報と、前記データを受信した時刻である処理実行時刻とを含むログ情報を生成する。そして、ログ保存部171は、このログ情報を記憶装置であるフローログDB172に記憶させる。
また、遠隔BEMS(監視システム)1は、変換部52によって変換されたデータを送信する送信部53を更に備える。そして、監視実行部6は、変換部52によって変換されたデータが送信部53によって送信されるときに、このデータの送信を行う主体を識別する情報を含む始点ノード識別情報と、この送信されたデータの送信先を識別する情報を含む終点ノード識別情報と、前記データを送信した時刻である処理実行時刻とを含むログ情報を生成する。そして、ログ保存部171は、このログ情報を記憶装置であるフローログDB172に記憶させる。
これにより、本実施形態の監視実行部6は、データの受信、変換、送信といった個別のデータ処理それぞれについてログ情報を生成し、ログ保存部171は、生成されたログ情報を順次、フローログDB172に蓄積する。このため、これらの記憶されたログ情報から、対象のログ情報に含まれる始点ノードIDと別のログ情報に含まれる終点ノードIDが同じである二つのログ情報を検出する毎に、対象のログ情報を入力側に別のログ情報を出力側にしてつなぎ合わせることにより、データ処理の流れをグラフ構造で表すことができる。その結果、データ処理の流れを監視することができる。
また、本実施形態の監視実行部6は、データ処理の実行順序関係に変更があった場合でも、構成及び設定を変更することなく、変更前と同じようにログ情報を生成し、フローログDB172に蓄積することによって、変更後の処理の流れをグラフ構造で表すことができる。このことから、データ処理の実行順序関係を変更した場合に人手を介した遠隔BEMS(監視システム)1の変更がいらないので、データ処理の実行順序関係に変更がある場合でも少ない労力でデータ処理の監視を継続することができる。
また、本実施形態の遠隔BEMS(監視システム)1は、データ処理のフローが複雑で流動的である場合でも、それぞれのフローに即したログ情報を生成でき、常に現状を正しく反映した分析を行うことができる。
更に、ログ情報には処理実行時刻が含まれるため、グラフ構造と処理実行時刻を合わせて分析することで、デッドライン監視とボトルネック分析を行うことができる。
(第2の実施形態)
続いて、第2の実施形態について説明する。第1の実施形態では、監視実行部6は監視対象とする処理部50−i毎に存在した。それに対し、第2の実施形態では、一つの監視実行部6bが複数の処理部50を監視する。
図20は、第2の実施形態における遠隔BEMS1の内部構成の詳細を示す図である。図20に示すように、第2の実施形態における遠隔BEMS1の構成は図3に示す第1の実施形態における遠隔BEMS1の詳細構成とほぼ同じであるが、監視実行部6bが独立した監視実行装置19内に位置し、処理部50−1、50−2、50−3を全て監視している点が異なる。なお、監視実行装置19は、他の装置(例えば、監視装置17)と一体の装置として構成されてもよい。
図21は、第2の実施形態における監視実行部6bの構成を示す図である。第2の実施形態における監視実行部6bの構成は図11に示す第1の実施形態における監視実行部6の構成とほぼ同じであるが、自プログラムID保持部605と自IPアドレス保持部606がなく、報告者導出部610が加わっている点が異なる。
第1の実施形態では、ノードID導出部604は図15に示すルールに基づいて、データフローエッジの始点ノードIDと終点ノードIDを定めた。しかし、本実施形態の監視実行部6bは、複数のプログラムの動作を監視するため、図15で必要となる「自IPアドレス」と「自プログラムID」を予め保持しておくことができない。
そこで、報告者導出部610は、報告を行った監視対象の処理部50を有する装置に割り当てられたIPアドレス(以下、報告処理部のIPアドレスという)と、当該処理部50が実行するプログラムを識別するプログラムID(以下、報告処理部のプログラムIDという)を導出し、ノードID導出部604へ渡す。このように、報告者導出部610は、データ処理の報告を行った処理部50を識別する報告主体識別情報を取得する。ここでは、報告主体識別情報は一例として、報告処理部のIPアドレスと報告処理部のプログラムIDの組である。
報告処理部のIPアドレスは、受信報告受付部601、変換報告受付部602、及び送信報告受付部603のいずれかが、処理部50−1〜50−3のいずれかから報告データを受け付けた際に取得してもよいし、処理部50−1〜50−3が自身のIPアドレスを報告データに含めて送信してもよい。
また、報告処理部のプログラムIDは、報告処理部IPアドレスや報告データの内容から推定しても良いし、処理部50−1〜50−3が、自身が実行するプログラムを識別するプログラムIDを報告データに含めて送信してもよい。
このように、第2の実施形態における遠隔BEMS(監視システム)1において、監視実行部6bは、データ処理の報告を行った処理部50を識別する報告主体識別情報を取得する報告者導出部610を備える。これにより、一つの監視実行部6bが複数のプログラム5を監視する場合であっても始点ノードID、終点ノードIDを導出でき、第1の実施形態と同様にシステムの動作を監視することができる。
(第3の実施形態)
続いて、第3の実施形態について説明する。第1の実施形態においては、監視実行部6は、処理部50の能動的な報告に基づいてデータフローエッジを作成していた。しかし、処理部50のデータ受信とデータ送信は外部からそのイベントを捕捉できることが多く、その場合、監視実行部6は処理部50からの能動的な報告を必要としない。そこで、本実施形態では、監視実行部6が処理部50の通信を外部から捕捉してデータフローエッジを作成する。
図22は、第3の実施形態における遠隔BEMS1の内部構成の詳細を示す図である。図22に示すように、第3の実施形態における遠隔BEMS1の構成は図3に示す第1の実施形態における遠隔BEMS1の詳細構成と比べて、受信捕捉部7−1、7−2、7−3と送信捕捉部8−1、8−2、8−3とが追加されたものになっている。
処理部50−1とネットワーク3との間に受信捕捉部7−1が設けられ、処理部50−1とファイルバッファ112との間に送信捕捉部8−1が設けられている。また、処理部50−2とファイルバッファ112との間に受信捕捉部7−2が設けられ、処理部50−2と信号計測値DB13との間に送信捕捉部8−2が設けられている。また、処理部50−3と信号計測値DB13との間に受信捕捉部7−3が設けられ、処理部50−3と集計マスターDB18との間に送信捕捉部8−3が設けられている。
受信捕捉部7−i(iは1から3までの整数)は、処理部50−iへ転送されてくるデータを全て捕捉し、その内容を分析し、監視実行部6の後述する受信報告受付部601へ報告データを送る。受信捕捉部611が送る報告データは第1の実施形態でデータ受信部51が送るデータ(図14参照)と同じである。以下、受信捕捉部7−1、7−2、7−3を総称して、受信捕捉部7という。
送信捕捉部8−iは、処理部50−iから転送されていくデータを全て捕捉し、その内容を分析し、監視実行部6の後述する送信報告受付部603へ報告データを送る。送信捕捉部612が送る報告データは、第1の実施形態でデータ送信部53が送るデータ(図14参照)と同じである。以下、送信捕捉部8−1、8−2、8−3を送信捕捉部8という。
図23は、第3の実施形態における監視実行部6の構成を示す図である。この構成は、図11に示す第1の実施形態における監視実行部6の構成とほぼ同じであるが、受信報告受付部601が受信捕捉部7から報告を受け、送信報告受付部603が送信捕捉部8から報告を受ける点が異なる。
本実施形態を実装するには、受信捕捉部7や送信捕捉部612が適切に転送データを捕捉できなければいけない。受信捕捉部7や送信捕捉部612は、以下に示すような、第1〜第4のいずれかの通信の捕捉方法を使用してもよい。
第1の捕捉方法は、OS(Operating System)が提供するパケットキャプチャ機能を利用し、装置のネットワークインタフェースに出入りするデータを捕捉する方法である。この方法はデータの転送が装置間で実施される場合に有効である。
第2の捕捉方法は、システムのネットワークにリピータを導入し、ネットワークを流れるデータを捕捉する方法である。この方法はデータの転送が装置間で実施される場合に有効である。
第3の捕捉方法は、データ転送を仲介するミドルウェアのデータ捕捉機能を活用するか、ミドルウェアを改造してデータを捕捉する方法である。
第4の捕捉方法は、データ転送の際に利用されるOSのシステムコールを捕捉する方法である。
いずれの方法においても、通信が暗号化されていなければ、捕捉した通信内容から信号ID等を抽出し、報告データを作成することができる。なお、受信捕捉部611及び送信捕捉部612は通信の捕捉が可能であれば、処理部50と同じ装置に搭載してもよいし、異なる装置であってもよい。
以上、第3の実施形態において、遠隔BEMS(監視システム)1は、受信部51に入力されるデータを捕捉する受信捕捉部7を更に備える。そして、監視実行部6は、受信捕捉部7が捕捉したデータを用いて、ログ情報を生成する。また、遠隔BEMS(監視システム)1は、送信部53から出力されるデータを捕捉する送信捕捉部8を更に備える。監視実行部6は、送信捕捉部8が捕捉したデータを用いて、ログ情報を生成する。
第3の実施形態における遠隔BEMS(監視システム)1の構成によれば、システム監視を実現するために必要となるプログラム5の変更及び改造を最小限に押さえることができる。特に、収集プログラム5のようにデータの変換を行わないプログラムを実行する処理部50−1を監視する場合、遠隔BEMS(監視システム)1は、外部からデータ転送を捕捉するだけで監視を行うことができる。
(第4の実施形態)
続いて、第4の実施形態について説明する。第1の実施形態において、処理部50−1、50−2、50−3はファイルバッファ112、信号計測値DB13というデータストレージを介してデータを転送していた。多くの場合、これらのデータストレージはアプリケーションレベルの監視機能(例えば、信号IDやタイムスタンプの報告機能)を組み込むことが困難であるため、第1の実施形態ではデータストレージを扱う処理部50を監視することで、データフロー全体の監視を実現していた。
しかし、データフローを構成する連続した機能要素に監視機能を組み込むことができる場合、監視箇所を削減することができる。あるいは、データ転送に要する時間の監視が可能となる。
そこで、本実施形態では、処理部50−1、50−2がファイルバッファ112を介さずに直接データをやり取りする場合におけるシステム監視の方法について説明する。
図24は、第4の実施形態における遠隔BEMS1の内部構成を示す図である。第4の実施形態における遠隔BEMS1の構成は、図3に示す第1の実施形態における遠隔BEMS1の構成とほぼ同じであるが、ファイルバッファ112が存在しない点が異なる。
本実施形態においては、処理部50−1は、ビル2a及び2bから収集したデータをシステム内ネットワーク経由で処理部50−2に転送する。処理部50−2はそのようにして受信したデータに対し、第1の実施形態と同様の差分計算処理を実施して、差分計算結果を信号計測値DB13へ書き込む。
図25は、第4の実施形態における報告データの具体例を示す図である。本実施形態においては、収集プログラムによる報告データは二通り考えられるため、図25ではそれら両方を示している。なお、集計プログラムを実行する処理部50−3の報告データは第1の実施形態と同様である。
本実施形態においては、図25の収集プログラムの場合(A)に示すように、収集プログラムを実行する処理部50−1は、送信時における報告を省略することができる。これは、データの転送を差分計算プログラムを実行する処理部50−2の受信イベントで報告できるからである。この場合、監視実行部6におけるノードIDの生成ルールは、第1の実施形態のもの(図15参照)をそのまま使うことができる。
図26Aは、処理部50−1が送信報告をしない場合のデータフローの例を示す図である。図10と比較すれば分かるように、このグラフ表現は、第1の実施形態におけるグラフから「ファイル」に相当するノードが抜け、「収集」のノードと、「差分」のノードが直接接続されている。
このように、監視対象であるプログラムが直接通信する場合、受信イベントのみを記録すればデータフローを問題なく記録することができる。なお、送信イベントのみを記録しても同様のデータフローを記録することができるが、一般に、データの送信時点ではそのデータが正常に送信先に届くかどうかは分からないため、受信イベントを記録するのが望ましい。
一方、図25の収集プログラムの場合(B)に示すように、本実施形態においても、データの送信時と受信時両方でイベントを報告させることができる。この場合、収集プログラム5−1を実行する処理部50−1と、差分計算プログラム5−2を実行する処理部50−2についてのノードID作成ルールを、図27に示すように改める必要がある。
図27は、本実施形態における処理部50−1の送信イベント及び処理部50−2の受信イベントに対するノードIDの作成ルールを示す図である。図27に示すように、この場合では、処理部50−1と処理部50−2の中間に、「収集装置11のIPアドレス,収集−差分計算装置12のIPアドレス,差分」(具体的には、「192.168.0.11,収集−192.168.0.12,差分」)というデータハンドラIDを持つ仮想的なノードを想定する。そして、この仮想的なノードを経由してデータが転送されるものとして、データフローを記録する。
図27に示すノードID作成ルールを用いて、監視実行部6は、データを送信する処理部(第1の処理部)50−1と、データを受信する処理部(第2の処理部)50−2とを監視する。具体的には、監視実行部6は、処理部(第1の処理部)50−1が処理部(第2の処理部)50−2へデータを送信する毎に、第1の識別子と第2の識別子と前記送信した時刻とを含むログ情報を生成する。
ここで、第1の識別子は、データを送信する主体を識別するデータ送信主体識別子(図27の例では、自IPアドレスと自プログラムIDの組)と送信されたデータを識別するデータ識別子(図27の例では、送信データの信号IDと送信データのタイムスタンプの組)とを含む。
第2の識別子は、データを送信する主体を識別するデータ送信主体識別子(図27の例では、自IPアドレスと自プログラムIDの組)と、データを受信する主体を識別するデータ受信主体識別子(図27の例では、データ受信者IPアドレスとデータ受信者プログラムIDの組)と、前記送信されたデータを識別するデータ識別子(図27の例では、受信データの信号IDと受信データのタイムスタンプの組)とを含む。
また、監視実行部6は、処理部(第2の処理部)50−2が処理部(第1の処理部)50−1からデータを受信する毎に第3の識別子と第4の識別子と前記受信した時刻とを含むログ情報を生成する。
ここで、第3の識別子は、データを送信する主体を識別するデータ送信主体識別子(図27の例では、データ送信者IPアドレスとデータ送信者プログラムID)と、データを受信する主体を識別するデータ受信主体識別子(図27の例では、自IPアドレスと自プログラムID)と、前記受信されたデータを識別するデータ識別子(図27の例では、受信データの信号IDと受信データのタイムスタンプの組)とを含む。
第4の識別子は、データを受信する主体を識別するデータ受信主体識別子(図27の例では、自IPアドレスと自プログラムIDの組)と、受信されたデータを識別するデータ識別子(図27の例では、受信データの信号IDと受信データのタイムスタンプの組)とを含む。
図26Bは、処理部50−1が送信報告をする場合のデータフローの例を示す図である。
図26Aと図26Bは同一のデータフローを記録したものである。図26Aを見ると、信号1と信号2の両方とも「収集」ノードで3秒間データが滞留しているものとして記録されている。ここで示される滞留時間には、収集プログラム6−1を実行する処理部50−1がデータを保持している時間と、データが差分計算プログラム6−2を実行する処理部50−2へ伝送される時間の両方が含まれる。
一方、図26Bに示すデータフローでは、信号1については、処理部50−1が、信号1を送信する前にデータを保持する時間に3秒かかっており、信号2は処理部50−1による送信から処理部50−2による受信までにかかる伝送遅延として3秒かかっている。
このように、データ転送イベントを記録する際に仮想的な中間ノードを仮定することによって、データ転送そのものにかかった時間を記録することができる。
以上、第4の実施形態における遠隔BEMS(監視システム)1において、監視実行部6は、データを送信する処理部(第1の処理部)50−1と、前記データを受信する処理部(第2の処理部)50−2とを監視し、処理部(第1の処理部)50−1が処理部(第2の処理部)50−2へデータを送信する毎に、第1の識別子と第2の識別子と送信した時刻とを含むログ情報を生成し、処理部(第2の処理部)50−2が処理部(第1の処理部)50−1からデータを受信する毎に第3の識別子と第4の識別子と受信した時刻とを含むログ情報を生成する。
以上のように、データフロー上で隣接する処理部を両方とも監視する場合、データ転送イベントを記録する際に仮想的な中間ノードを仮定することによって、伝送遅延を評価することができる。
また、本実施形態では、処理部50−1と処理部50−2との間のデータの受け渡しにファイルバッファを用いることなく、直接、処理部50−1から処理部50−2へデータを転送するようにしたので、第1の実施形態と比べて、監視するイベントを削減することができる。
また、各実施形態の監視実行部6、6b及び/または監視装置17の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、プロセッサが実行することにより、各実施形態の監視実行部6、6b及び/または監視装置17に係る上述した種々の処理を行ってもよい。
以上、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に渡る構成要素を適宜組み合わせてもよい。
1 遠隔BEMS(監視システム)
2a、2b ビル
3 ネットワーク
4 クライアント端末
10 監視システム
11 収集装置
12 差分計算装置
13 信号計測値DB
14 集計装置
15 見える化装置
16 信号マスターDB
17 監視装置
18 集計マスターDB
50、50−1、50−2、50−3 処理部
51 受信部
52 変換部
53 送信部
112 ファイルバッファ
6、6−1、6−2、6−3、6b 監視実行部
171 ログ保存部
172 フローログDB
173 ログ分析部
601 受信報告受付部
602 変換報告受付部
603 送信報告受付部
604 ノードID導出部
605 自プログラムID保持部
606 自IPアドレス保持部
607 データフローエッジ作成部
608 計時部
609 データフローエッジ送信部
1731 デッドライン監視部
1732 ボトルネック分析部
1733 計時部
1734 分析報告部(報告部)

Claims (18)

  1. ログ情報を用いてデータ処理を監視する監視システムであって、
    データを所定の規則に従って変換する変換部と、
    前記データが前記変換部によって変換されるときに、変換前のデータを識別する情報を含む始点ノード識別情報と、変換後のデータを識別する情報を含む終点ノード識別情報と、前記データを変換した時刻である処理実行時刻とを含むログ情報を生成する監視実行部と、
    を備える監視システム。
  2. 前記ログ情報に含まれる前記始点ノード識別情報及び前記終点ノード識別情報には、更に前記データの変換を行う主体を識別する情報が含まれる
    請求項1に記載の監視システム。
  3. データを受信する受信部を更に備え、
    前記監視実行部は、前記受信部によって前記データが受信されるときに、前記受信されたデータの送信元を識別する情報を含む始点ノード識別情報と、前記データの受信を行う主体を識別する情報を含む終点ノード識別情報と、前記データを受信した時刻である処理実行時刻とを含む第2のログ情報を生成する
    請求項1または2に記載の監視システム。
  4. 前記第2のログ情報に含まれる前記始点ノード識別情報及び前記終点ノード識別情報には、更に前記受信されたデータを識別する情報が含まれる
    請求項3に記載の監視システム。
  5. データを送信する送信部を更に備え、
    前記監視実行部は、前記データが送信部によって送信されるときに、前記データの送信を行う主体を識別する情報を含む始点ノード識別情報と、前記送信されたデータの送信先を識別する情報を含む終点ノード識別情報と、前記データを送信した時刻である処理実行時刻とを含む第3のログ情報を生成する
    請求項1から4のいずれか一項に記載の監視システム。
  6. 前記第3のログ情報に含まれる前記始点ノード識別情報及び前記終点ノード識別情報には、更に前記送信されたデータを識別する情報が含まれる
    請求項5に記載の監視システム。
  7. 前記ログ情報と前記第2のログ情報と前記第3のログ情報の少なくとも一つを記憶装置に記憶させるログ保存部
    を更に備える請求項5または6に記載の監視システム。
  8. 現在時刻が予め決められたデッドライン時刻に到達した場合、前記デッドライン時刻までに処理が完了している必要がある完了必要データそれぞれについて、前記終点ノード識別情報に当該データを識別する情報が含まれ且つ前記処理実行時刻が前記デッドライン時刻以前の時刻であるログ情報が前記記憶装置に記憶されているか否かを判定するデッドライン監視部と、
    前記デッドライン監視部により、前記完了必要データのうち少なくとも一つについて、前記終点ノード識別情報に当該データを識別する情報が含まれ且つ前記処理実行時刻が前記デッドライン時刻以前の時刻であるログ情報が前記記憶装置に記憶されていないと判定された場合、デッドライン違反を通知する処理を実行する報告部と、
    を更に備える請求項7に記載の監視システム。
  9. 前記記憶装置に記憶されたログ情報の集合のうち、ある対象のログ情報に含まれる前記終点ノード識別情報と別のログ情報に含まれる前記始点ノード識別情報とが同じであるようなログ情報の組について、前記対象のログ情報に含まれる処理実行時刻と、前記別のログ情報に含まれる処理実行時刻との差分を、前記終点ノード識別情報または前記始点ノード識別情報によって特定されるデータの滞留時間として算出し、前記滞留時間を用いてボトルネックとなっているデータ処理を特定するボトルネック分析部を更に備える
    請求項7に記載の監視システム。
  10. 前記監視実行部は、前記受信部がデータを受信したときに前記受信部からデータ受信報告情報を取得し、前記データ受信報告情報を取得する毎に前記第2のログ情報を生成し、
    前記データ受信報告情報は、前記受信されたデータの送信元を識別する情報と、前記受信されたデータを識別する情報とを含む
    請求項3または4に記載の監視システム。
  11. 前記監視実行部は、前記変換部がデータを変換したときに前記変換部からデータ変換報告情報を取得し、前記データ変換報告情報を取得する毎に前記ログ情報を生成し、
    前記データ変換報告情報は、前記変換前のデータを識別する情報と、前記変換後のデータを識別する情報とを含む
    請求項1から9のいずれか一項に記載の監視システム。
  12. 前記監視実行部は、前記送信部がデータを送信したときに前記送信部からデータ送信報告情報を取得し、前記データ送信報告情報を取得する毎に前記第3のログ情報を生成し、
    前記データ送信報告情報は、前記送信されたデータの送信先を識別する情報と、前記送信されたデータを識別する情報とを含む
    請求項5から7のいずれか一項に記載の監視システム。
  13. 前記受信部に入力されるデータを捕捉する受信捕捉部を更に備え、
    前記監視実行部は、前記受信捕捉部が捕捉したデータを用いて、前記第2のログ情報を生成する
    請求項3または4に記載の監視システム。
  14. 前記送信部から出力されるデータを捕捉する送信捕捉部を更に備え、
    前記監視実行部は、前記送信捕捉部が捕捉したデータを用いて、前記第3のログ情報を生成する
    請求項5から7のいずれか一項に記載の監視システム。
  15. 前記監視実行部は、データを送信する第1の処理部と、前記データを受信する第2の処理部とを監視し、前記第1の処理部が前記第2の処理部へデータを送信する毎に第1の識別子と第2の識別子と前記送信した時刻とを含むログ情報を生成し、前記第2の処理部が前記第1の処理部からデータを受信する毎に第3の識別子と第4の識別子と前記受信した時刻とを含むログ情報を生成し、
    前記第1の識別子は、前記データを送信する主体を識別するデータ送信主体識別子と前記送信されたデータを識別するデータ識別子とを含み、
    前記第2の識別子は、前記データを送信する主体を識別するデータ送信主体識別子と、前記データを受信する主体を識別するデータ受信主体識別子と、前記送信されたデータを識別するデータ識別子とを含み、
    前記第3の識別子は、前記データを送信する主体を識別するデータ送信主体識別子と、前記データを受信する主体を識別するデータ受信主体識別子と、前記受信されたデータを識別するデータ識別子とを含み、
    前記第4の識別子は、前記データを受信する主体を識別するデータ受信主体識別子と、前記受信されたデータを識別するデータ識別子とを含む
    請求項1から14のいずれか一項に記載の監視システム。
  16. ログ情報を用いてデータ処理を監視する監視装置であって、
    データが変換部によって変換されるときに、変換前のデータを識別する情報を含む始点ノード識別情報と、変換後のデータを識別する情報を含む終点ノード識別情報と、前記データを変換した時刻である処理実行時刻とを含むログ情報を生成する監視実行部を備える監視装置。
  17. ログ情報を用いてデータ処理を監視する監視方法であって、
    監視実行部が、データが変換部によって変換されるときに、変換前のデータを識別する情報を含む始点ノード識別情報と、変換後のデータを識別する情報を含む終点ノード識別情報と、前記データを変換した時刻である処理実行時刻とを含むログ情報を生成するステップを有する監視方法。
  18. ログ情報を用いてデータ処理を監視する監視システムであって、
    データを受信する受信部と、
    前記受信部によってデータが受信されるときに、前記受信されたデータの送信元を識別する情報を含む始点ノード識別情報と、前記データの受信を行う主体を識別する情報を含む終点ノード識別情報と、前記データを受信した時刻である処理実行時刻とを含むログ情報を生成する監視実行部と、
    を備える監視システム。
JP2014191889A 2014-09-19 2014-09-19 監視システム、監視装置及び監視方法 Pending JP2016062506A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014191889A JP2016062506A (ja) 2014-09-19 2014-09-19 監視システム、監視装置及び監視方法
US14/855,623 US20160085655A1 (en) 2014-09-19 2015-09-16 Monitoring system, monitoring device, and monitoring method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014191889A JP2016062506A (ja) 2014-09-19 2014-09-19 監視システム、監視装置及び監視方法

Publications (1)

Publication Number Publication Date
JP2016062506A true JP2016062506A (ja) 2016-04-25

Family

ID=55525852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014191889A Pending JP2016062506A (ja) 2014-09-19 2014-09-19 監視システム、監視装置及び監視方法

Country Status (2)

Country Link
US (1) US20160085655A1 (ja)
JP (1) JP2016062506A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013098915A1 (ja) * 2011-12-26 2013-07-04 株式会社日立製作所 管理サーバ、管理システム、および、管理方法
CN107783880A (zh) * 2017-09-01 2018-03-09 郑州云海信息技术有限公司 一种服务器系统的日志分析方法、装置及服务器系统
CN110740153B (zh) * 2018-07-20 2022-04-05 阿里巴巴集团控股有限公司 一种监测数据获取方法、系统及装置
CN109271349A (zh) * 2018-09-29 2019-01-25 四川长虹电器股份有限公司 一种基于日志通用性规则引擎的规则处理方法
TWI827974B (zh) * 2021-09-08 2024-01-01 財團法人工業技術研究院 虛擬功能效能分析系統及其分析方法
US11842226B2 (en) * 2022-04-04 2023-12-12 Ambiq Micro, Inc. System for generating power profile in low power processor

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116928A (ja) * 2000-06-16 2002-04-19 Fujitsu Ltd 複数システムの処理情報を記録する記録システム
JP2011258057A (ja) * 2010-06-10 2011-12-22 Fujitsu Ltd 解析プログラム、解析方法、および解析装置
JP2012068800A (ja) * 2010-09-22 2012-04-05 Nomura Research Institute Ltd 非同期処理サービス管理システム
JP2013171542A (ja) * 2012-02-22 2013-09-02 Nippon Telegr & Teleph Corp <Ntt> 性能分析装置、性能分析方法及び性能分析プログラム
JP2014102706A (ja) * 2012-11-20 2014-06-05 Fujitsu Ltd プログラム、情報処理装置および情報処理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3537356B2 (ja) * 1998-12-09 2004-06-14 株式会社日立製作所 ジョブシステムにおける遅延要因解析方法
JP5177239B2 (ja) * 2011-01-21 2013-04-03 沖電気工業株式会社 コンテキストアウェアシステム及びイベントデータ生成方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116928A (ja) * 2000-06-16 2002-04-19 Fujitsu Ltd 複数システムの処理情報を記録する記録システム
JP2011258057A (ja) * 2010-06-10 2011-12-22 Fujitsu Ltd 解析プログラム、解析方法、および解析装置
JP2012068800A (ja) * 2010-09-22 2012-04-05 Nomura Research Institute Ltd 非同期処理サービス管理システム
JP2013171542A (ja) * 2012-02-22 2013-09-02 Nippon Telegr & Teleph Corp <Ntt> 性能分析装置、性能分析方法及び性能分析プログラム
JP2014102706A (ja) * 2012-11-20 2014-06-05 Fujitsu Ltd プログラム、情報処理装置および情報処理方法

Also Published As

Publication number Publication date
US20160085655A1 (en) 2016-03-24

Similar Documents

Publication Publication Date Title
JP2016062506A (ja) 監視システム、監視装置及び監視方法
JP5546686B2 (ja) 監視システム、及び監視方法
JP6097889B2 (ja) 監視システム、監視装置、および検査装置
CN107943668A (zh) 计算机服务器集群日志监控方法及监控平台
JP5912018B2 (ja) 動的設備管理システム
CN105122733B (zh) 队列监控和可视化
JP6363246B1 (ja) 測定ソリューションサービス提供システム
CN114785690B (zh) 基于服务网格的监控方法及相关设备
JP2013054402A (ja) 運用監視装置、運用監視プログラム及び記録媒体
US9641600B2 (en) System, method, computer-readable medium and apparatus
US20210266238A1 (en) Operation device and operation method
JPWO2010018637A1 (ja) 業務フロー分散処理システム及び方法
JP5942675B2 (ja) トランザクションデータ採取方法、トランザクションデータ採取プログラム、および情報処理装置
JP6570210B2 (ja) 測定ソリューションサービス提供システム
US9870404B2 (en) Computer system, data management method, and recording medium storing program
JP4934660B2 (ja) 通信帯域算出方法、装置、およびトラヒック管理方法
US20200296189A1 (en) Packet analysis apparatus, packet analysis method, and storage medium
JP6583871B2 (ja) 測定ソリューションサービス提供システム
CN102567470A (zh) 系统级性能数据的处理方法及设备
JP4816169B2 (ja) グローバルプロセス生成方法、装置、システム、およびプログラム
Parekh et al. Monitoring resources of machine learning engine in microservices architecture
US20190235986A1 (en) Management computer, data processing system, and data processing program
JP6183198B2 (ja) 分散配備装置、分散配備方法及び分散配備プログラム
US9396083B2 (en) Computer system processes
JP2014032598A (ja) インシデント管理システム及びその方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170804

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180327