JP6163931B2 - 情報取得プログラム、情報取得方法および情報取得装置 - Google Patents

情報取得プログラム、情報取得方法および情報取得装置 Download PDF

Info

Publication number
JP6163931B2
JP6163931B2 JP2013149565A JP2013149565A JP6163931B2 JP 6163931 B2 JP6163931 B2 JP 6163931B2 JP 2013149565 A JP2013149565 A JP 2013149565A JP 2013149565 A JP2013149565 A JP 2013149565A JP 6163931 B2 JP6163931 B2 JP 6163931B2
Authority
JP
Japan
Prior art keywords
event
executed
time
processes
information
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.)
Expired - Fee Related
Application number
JP2013149565A
Other languages
English (en)
Other versions
JP2015022475A (ja
Inventor
智洋 中村
智洋 中村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013149565A priority Critical patent/JP6163931B2/ja
Priority to US14/322,610 priority patent/US9471459B2/en
Publication of JP2015022475A publication Critical patent/JP2015022475A/ja
Application granted granted Critical
Publication of JP6163931B2 publication Critical patent/JP6163931B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • 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
    • 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/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)
  • Software Systems (AREA)

Description

本発明は情報取得プログラム、情報取得方法および情報取得装置に関する。
現在、クライアント装置とサーバ装置とを含む情報処理システムが利用されている。クライアント装置は、ユーザにより操作される。サーバ装置は、所定の業務に関する処理を実行する。クライアント装置は、所定の処理の実行をサーバ装置に依頼する。他のクライアント装置は当該処理の結果をサーバ装置から取得でき、当該結果を用いた別の処理の実行をサーバ装置に依頼し得る。例えば、当該情報処理システムを用いることで、組織内の複数のユーザが関与する一連の作業(例えば、受付、見積、決裁など)を円滑化し得る。
このような情報処理システムにおいて、業務に関する一連の処理の流れ(処理フロー)を可視化することが考えられている。例えば、ユーザにより解析の対象の範囲が決定されると、病院内システムにおける医療情報機器間の交信情報を収集し、解析することで、医療情報機器間における情報の受け渡しを示すワークフロー図を作成する提案がある。
特開2008−33754号公報
業務に関する情報を継続的に取得して、現状の業務を把握することが考えられる。例えば、業務を行いながらその実績を監視することで、処理フローの異常箇所やボトルネック箇所を抽出し、改善し得る。ところが、システム上で多くの業務が行われているほど、分析対象の情報量も増大し得る。このため、全ての業務に関する情報をリアルタイムに(または、比較的短い時間間隔で)監視し、分析しようとすると、情報を監視する処理負荷や、演算処理の負荷が増大し得る。
一方、比較的長い時間間隔(例えば、1日、1週間、1カ月など)で分析を行うとすると、改善箇所の迅速な提供を行えないという問題がある。例えば、あるタイミングまでに処理フローの一部分までの処理が完了していれば、当該一部分までの情報を取得できる。しかし、当該処理フローの残りの部分の取得は次回以降のタイミングまで待たれることになる。よって、当該処理フロー全体の実行状況を把握できるまでに遅延が生じてしまう。
1つの側面では、本発明は、処理の実行状況を効率的に把握できる情報取得プログラム、情報取得方法および情報取得装置を提供することを目的とする。
1つの態様では、コンピュータによって実行される情報取得プログラムが提供される。この情報取得プログラムは、コンピュータに、処理フローに属し順番に実行される3以上の複数の処理のうち2以上の実行済の処理それぞれが実行された各時刻を示す第1の情報を、複数の処理を実行する情報処理装置から取得し、複数の処理それぞれが過去に実行された時刻を示す第2の情報であって記憶部に記憶された第2の情報に基づいて、複数の処理のうちの順番に実行される2つの処理の間の各時間間隔の和に対する時間間隔の比を2つの処理の組毎に計算し、2つの処理の組毎に比の平均を計算し、2以上の実行済の処理それぞれが実行された各時刻の時間間隔と、計算した比の平均とに基づいて、複数の処理のうち未実行の処理が実行済になるタイミングを予測し、予測されたタイミングで、未実行であった処理が実行されたか否かを示す第3の情報を情報処理装置から取得する、処理をコンピュータに実行させる。
また、1つの態様では、情報取得方法が提供される。この情報取得方法では、コンピュータが、処理フローに属し順番に実行される3以上の複数の処理のうち2以上の実行済の処理それぞれが実行された各時刻を示す第1の情報を、複数の処理を実行する情報処理装置から取得し、複数の処理それぞれが過去に実行された時刻を示す第2の情報であって記憶部に記憶された第2の情報に基づいて、複数の処理のうちの順番に実行される2つの処理の間の各時間間隔の和に対する時間間隔の比を2つの処理の組毎に計算し、2つの処理の組毎に比の平均を計算し、2以上の実行済の処理それぞれが実行された各時刻の時間間隔と、計算した比の平均とに基づいて、複数の処理のうち未実行の処理が実行済になるタイミングを予測し、予測されたタイミングで、未実行であった処理が実行されたか否かを示す第3の情報を情報処理装置から取得する。
また、1つの態様では、情報取得装置が提供される。この情報取得装置は、記憶部と演算部とを有する。演算部は、処理フローに属し順番に実行される3以上の複数の処理のうち2以上の実行済の処理それぞれが実行された各時刻を示す第の情報を、複数の処理を実行する情報処理装置から取得し、複数の処理それぞれが過去に実行された時刻を示す第2の情報であって、記憶部に記憶された第2の情報に基づいて、複数の処理のうちの順番に実行される2つの処理の間の各時間間隔の和に対する時間間隔の比を2つの処理の組毎に計算し、2つの処理の組毎に比の平均を計算し、2以上の実行済の処理それぞれが実行された各時刻の時間間隔と、計算した比の平均とに基づいて、複数の処理のうち未実行の処理が実行済になるタイミングを予測し、予測されたタイミングで、未実行であった処理が実行されたか否かを示す第3の情報を情報処理装置から取得する。
1つの側面では、処理の実行状況を効率的に把握できる。
第1の実施の形態の情報取得装置を示す図である。 第2の実施の形態の情報処理システムを示す図である。 監視サーバのハードウェア例を示す図である。 監視サーバの機能例を示す図である。 ログテーブルの例を示す図である。 イベントテーブルの例を示す図である。 フロー種別テーブルの例を示す図である。 プロセス管理テーブルの例を示す図である。 基準パラメータテーブルの例を示す図である。 イベント間隔管理テーブルの例を示す図である。 イベント間隔比評価テーブルの例を示す図である。 業務発生間隔管理テーブルの例を示す図である。 業務発生間隔評価テーブルの例を示す図である。 例外プロセステーブルの例を示す図である。 収集時刻テーブルの例を示す図である。 定期収集の例を示す図である。 ピンポイント収集の例を示す図である。 ログ収集の例を示すフローチャートである。 定期収集処理の例を示すフローチャートである。 イベント間隔比の定常性評価の例を示すフローチャートである。 業務発生間隔の定常性評価の例を示すフローチャートである。 ピンポイント収集の実行判定の例を示すフローチャートである。 ピンポイント収集処理の例を示すフローチャートである。 ピンポイント収集の具体例を示す図である。 複数のプロセスに対する定期収集の例を示す図である。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報取得装置を示す図である。情報取得装置1は、業務に関する一連の処理の流れ(処理フロー)の実行状況を示す情報を取得する装置である。例えば、情報取得装置1は、取得した情報を用いて、業務を監視したり分析したりする。業務に関する処理は、情報取得装置1上で実行されるものでもよいし、情報取得装置1とネットワークを介して接続された他の装置上で実行されるものでもよい。例えば、情報取得装置1は、他の装置が出力する処理のログを取得して業務の監視や分析を行ってもよい。
情報取得装置1は、記憶部1aおよび演算部1bを有する。記憶部1aは、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。演算部1bは、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。演算部1bは、プログラムを実行するプロセッサであってもよい。ここでいう「プロセッサ」には、複数のプロセッサの集合(マルチプロセッサ)も含まれ得る。
記憶部1aは、関連する複数の処理の過去の実行実績を示す情報を記憶する。例えば、ある業務は一連の処理E1,E2,E3を含む。処理E1,E2,E3はユーザによる所定の入力を受け付けて何らかの作業(例えば、受発注、見積、決裁など)に関する処理が行われたというイベントを示すものでもよい。
例えば、記憶部1aには、当該業務が行われた過去の実績が複数登録されている。例えば、第1の実績は、時刻T11に処理E1が実行され、時刻T12に処理E2が実行され、時刻T13に処理E3が実行されたことを示す。第2の実績は、時刻T21に処理E1が実行され、時刻T22に処理E2が実行され、時刻T23に処理E3が実行されたことを示す。記憶部1aには、更に複数の実績が記憶され得る。
演算部1bは、複数の処理のうち実行済である処理の実行実績を示す情報を取得する。例えば、演算部1bは、所定のスケジュールに従って当該情報を取得する。より具体的には、演算部1bは定期的な収集タイミングTBで、一連の処理E1,E2,E3のうち、実行済である処理E1,E2の実行実績を示す情報を取得する。当該実行実績は、時刻T31に処理E1が実行され、時刻T32に処理E2が実行されたことを示す。なお、図1では、定期的な収集タイミングTA,TCも例示されている。
演算部1bは、記憶部1aに記憶された過去の実行実績を示す情報と、新たに取得した実行済である処理の実行実績を示す情報に基づいて複数の処理のうち未実行の処理が実行済になっていると予測されたタイミングで、当該未実行の処理の実行状況を取得する。
上記の例でいえば、収集タイミングTBにおいて、未実行の処理は処理E3である。演算部1bは、記憶部1aに記憶された第1の実績や第2の実績、および、収集タイミングTBで取得した処理E1,E2の実行実績に基づいて予測されたタイミングT33で、処理E3の実行状況を取得する。演算部1bがタイミングT33を予測してもよい。
具体的には、演算部1bは、第1,第2の実績などから該当の業務の各処理が所定の時間間隔で実行されると分析し得る。例えば、処理E2,E3の時間間隔ΔTが過去の実績からほぼ一定と判断すれば、処理E2が実行された時刻T32から当該時間間隔ΔTが経過した時点を処理E3の実行が完了するタイミングT33と予測してもよい。
また、例えば、処理E1,E2の時間間隔ΔT1と処理E2,E3の時間間隔ΔT2との比r=(ΔT2/ΔT1)がほぼ一定と判断すれば、比rに基づいて処理E3が実行済になるタイミングT33を予測し得る。具体的には、処理E1,E2が実行された時刻T31,T32から求まる時間間隔に比rを乗じた時間が時刻T32から経過した時点を、処理E3の実行が完了するタイミングT33と予測してもよい。
また、演算部1bは、上記のようにして計算された時点よりも所定時間だけ後ろにずらした時点を、タイミングT33としてもよい。ユーザの都合によっては、上記の計算で得られた時点に処理E3が必ずしも実行されるとは限らないからである。演算部1bは、過去の実績を統計的に分析する際の誤差に応じて、後ろにずらす時間を定めてもよい。
情報取得装置1によれば、演算部1bにより、処理E1,E2,E3のうち実行済である処理E1,E2の実行実績を示す情報が取得される。演算部1bにより、取得された当該情報と処理E1,E2,E3の過去の実行実績を示す情報とに基づいて未実行の処理E3が実行済になっていると予測されたタイミングT33で、未実行の処理E3の実行状況が取得される。
これにより、処理の実行状況を効率的に把握できる。ここで、例えば、全ての業務に関する情報を定期的に分析して、改善箇所などの提供を行うことが考えられる。しかし、このとき、業務によっては実行状況の迅速な把握が難しいことがある。上記で例示したように、業務に関する情報を定期的な収集タイミングTA,TB,TCで取得する場合を考える。この場合、収集タイミングTBでは処理E1,E2の実行実績を取得できるが、未実行である処理E3の実行実績を取得できない。処理E3の実行実績の取得は、次の収集タイミングTCまで待たれることになる。すなわち、当該処理E1,E2,E3を含む業務の実行状況を把握するまでに遅延が生じ、分析結果の迅速な提供が難しい。これに対し、収集タイミングTA,TB,TCの周期を短くすることも考えられる。しかし、当該周期を短くするほど、監視や分析のための処理の頻度が増大し、情報取得装置1の負荷が増大し得る。更に、処理E3が実行されるまで継続的に監視を行うことも考えられるが、この場合も継続的な監視のための負荷が問題となる。
そこで、情報取得装置1は、収集タイミングTBで未実行である処理E3の実行状況を、当該収集タイミングTBで取得された処理E1,E2の実行実績および過去の処理E1,E2,E3の実行実績に基づいて予測されたタイミングT33で取得する。したがって、次の収集タイミングTCまで待つよりも早く、未実行の処理E3の実行状況を把握し得る。このため、例えば、処理E3が実行されていないなどの異常があれば、ユーザに早期に警告し得る。未実行の処理E3が収集タイミングTCまで放置されてしまうことの防止を図れる。また、タイミングT33では処理E3に絞って分析を行えるため、他の業務も一緒に分析する場合に比べて、情報取得装置1の分析のための負荷の増大を抑制できる。
なお、演算部1bは、タイミングT33では、処理E3に限定して実行状況を取得してもよい。すなわち、例えば収集タイミングTBで取得済みの処理E1,E2の実行状況を取得しないようにしてもよい。取得済みの情報を重複して取得するのは冗長な処理となるからである。冗長な処理を抑止することで、情報取得装置1の負荷を一層軽減でき、未完了の処理E3の実行状況の効率的な把握に寄与し得る。
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、監視サーバ100、業務サーバ200および端末装置300,300a,300bを含む。監視サーバ100、業務サーバ200および端末装置300,300a,300bは、ネットワーク10に接続されている。ネットワーク10は、LAN(Local Area Network)でもよいし、WAN(Wide Area Network)やインターネットなどの広域ネットワークでもよい。
監視サーバ100は、BAM(Business Activity Monitoring)機能を提供するサーバコンピュータである。監視サーバ100は、情報処理システムで実行される業務が適正に遂行されているか否かを監視する。監視サーバ100は、業務サーバ200で実行された業務に関する処理の履歴情報(ログ)を取得する。監視サーバ100は、当該ログに基づいて、業務に関する処理フロー(業務フローという)を生成し、実際に行われた業務の流れを可視化したり、業務の実行状況を分析したりする。ここで、業務は1以上のユーザによる複数の作業(例えば、受発注、見積、決裁など)を含み得る。監視サーバ100は、業務の分析結果を端末装置300,300a,300bに提供する。監視サーバ100は、第1の実施の形態における情報取得装置1の一例である。
業務サーバ200は、端末装置300,300a,300bからの指示により種々の業務に関する処理を行うサーバコンピュータである。業務サーバ200は、業務に含まれる作業毎に、当該作業が行われたことを示すイベントの情報と、当該イベントが発生した時刻を示す情報とを含むログを継続的に生成し、記憶する。1つの業務は複数のイベントに対応付けることができる。業務サーバ200は、監視サーバ100に対して当該ログを提供する。なお、業務サーバ200は、業務の内容に応じて複数台設けられてもよい。例えば、複数の業務サーバにより出力されたログを他のサーバ装置が集約して管理してもよい。その場合は、当該他のサーバ装置が監視サーバ100に当該ログを提供してもよい。
端末装置300,300a,300bは、ユーザによって利用されるクライアントコンピュータである。ユーザは、端末装置300,300a,300bを操作して、ユーザの作業に関する処理の実行を業務サーバ200に依頼する。また、端末装置300,300a,300bは、監視サーバ100にアクセスして、業務の分析結果を取得できる。ユーザは、端末装置300,300a,300bを操作して、当該分析結果を閲覧する。例えば、ユーザは、イベントの発生状況から業務フローの遅滞箇所を把握し得る。
図3は、監視サーバのハードウェア例を示す図である。監視サーバ100は、プロセッサ101、RAM102、HDD103、通信部104、画像信号処理部105、入力信号処理部106、ディスクドライブ107および機器接続部108を有する。各ユニットは監視サーバ100のバスに接続されている。なお、業務サーバ200および端末装置300,300a,300bも、監視サーバ100と同様のハードウェアを用いて実現できる。
プロセッサ101は、監視サーバ100の情報処理を制御する。プロセッサ101は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組合せであってもよい。
RAM102は、監視サーバ100の主記憶装置である。RAM102は、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
HDD103は、監視サーバ100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。監視サーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
通信部104は、ネットワーク10を介して他のコンピュータと通信を行える通信インタフェースである。通信部104は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。
画像信号処理部105は、プロセッサ101からの命令に従って、監視サーバ100に接続されたディスプレイ11に画像を出力する。ディスプレイ11としては、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
入力信号処理部106は、監視サーバ100に接続された入力デバイス12から入力信号を取得し、プロセッサ101に出力する。入力デバイス12としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
ディスクドライブ107は、レーザ光などを利用して、光ディスク13に記録されたプログラムやデータを読み取る駆動装置である。光ディスク13として、例えば、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などを使用できる。ディスクドライブ107は、例えば、プロセッサ101からの命令に従って、光ディスク13から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
機器接続部108は、監視サーバ100に周辺機器を接続するための通信インタフェースである。例えば、機器接続部108にはメモリ装置14やリーダライタ装置15を接続できる。メモリ装置14は、機器接続部108との通信機能を搭載した記録媒体である。リーダライタ装置15は、メモリカード16へのデータの書き込み、またはメモリカード16からのデータの読み出しを行う装置である。メモリカード16は、カード型の記録媒体である。機器接続部108は、例えば、プロセッサ101からの命令に従って、メモリ装置14またはメモリカード16から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
図4は、監視サーバの機能例を示す図である。監視サーバ100は、記憶部110、分析部130および出力部140を有する。記憶部110は、RAM102またはHDD103に確保した記憶領域として実現できる。分析部130および出力部140は、プロセッサ101が実行するソフトウェアのモジュールとして実現できる。
記憶部110は、分析部130および出力部140の処理に用いられる各種の情報を記憶する。記憶部110が記憶する情報には、ログに含まれるイベントから業務フローを作成するために用いられる情報(業務フローの種別と複数のイベントとの対応関係の情報)や業務サーバ00からログを取得するスケジュールを示す情報が含まれる。
分析部130は、業務サーバ200が出力するログを収集して業務フローの実行状況を分析する。分析部130は、業務フローに含まれる各作業の実行状況を監視する。分析部130は、2種類のタイミングでログを収集し、業務フローの分析を行う。
第1のタイミングは、定期的なタイミングである。例えば、日次、週次、月次などで収集タイミングをスケジューリングすることが考えられる。定期的なログの収集(定期収集)では、分析部130は分析対象とする全ての業務についてログを収集し、分析する。
第2のタイミングは、業務ごとに指定された1つの時点である。1つの時点を指定したログの収集(ピンポイント収集)では、分析部130は、指定された業務に関するログを収集し、分析する。ピンポイント収集は、各業務フローのイベントのうち、定期収集で未取得であったイベントの発生状況(当該イベントの処理の実行状況)を把握するために行われる。なお、第1,第2のタイミングは上記スケジュールを示す情報として記憶部110に格納される。
分析部130は、各業務の過去の実行実績を分析して、業務毎に第2のタイミングを決定し、ピンポイント収集を行う。具体的には、分析部130は、業務毎に、当該業務に属する各イベントが発生した時間間隔(イベント間隔)の比の定常性の有無を評価する。1つの業務に着目した場合に、当該業務に属する複数のイベントのイベント間隔の比が所定の誤差で一定であれば、イベント間隔の比に定常性があると評価できる。この場合、業務フローのうち少なくとも最初の2つのイベントについてイベント間隔を測定できれば、未取得であるイベントが発生する時刻を予測できる。
また、分析部130は、業務毎の発生間隔(業務発生間隔)の定常性の有無も評価する。ここで、業務発生間隔とは、1つの業務に着目した場合に、当該業務に属する最初のイベントが発生した時刻の間隔である。ある業務について業務発生間隔が所定の誤差で一定である場合、当該業務の業務発生間隔は定常性があると評価できる。
出力部140は、分析部130による分析結果を提供する。例えば、出力部140は、業務フローを可視化した業務フロー図や業務フローのうち遅滞している作業の情報を端末装置300,300a,300bに提供し得る。また、出力部140は、ディスプレイ11に当該業務フロー図などの情報を表示させてもよい。
業務サーバ200は、ログ記憶部210および業務処理部220を有する。ログ記憶部210は、業務サーバ200が備えるRAMやHDDに確保した記憶領域として実現できる。業務処理部220は、業務サーバ200が備えるプロセッサが実行するソフトウェアのモジュールとして実現できる。
ログ記憶部210は、業務処理部220が出力するログを記憶する。ログ記憶部210に記憶されたログは、分析部130により参照可能である。ただし、前述のように、業務サーバ200からログを取得する他のサーバ装置を設けて、当該他のサーバ装置に監視サーバ100に対するログの提供を行わせてもよい。
業務処理部220は、端末装置300,300a,300bからの要求に応じて、種々の業務に関する処理を実行する。業務処理部220は、実行した処理に応じたログを生成し、ログ記憶部210に格納する。前述のように、当該ログは各処理が実行されたことを示すイベント情報と各処理が実行されたタイムスタンプとを含む。
図5は、ログテーブルの例を示す図である。ログテーブル111は、イベントの履歴(業務フローの各処理の実行実績)を示す情報である。ログテーブル111の情報は、分析部130により業務サーバ200から取得され、記憶部110に格納される。ログテーブル111は、ID(IDentifier)、タイムスタンプ、作業者IDおよびイベント名の項目を含む。
IDの項目には、業務を識別する識別情報(ID)が登録される。同一の業務に関するログのレコードには、同一のIDが付与される。タイムスタンプの項目には、ログのレコードが記録された時刻を示すタイムスタンプが登録される。当該タイムスタンプは、イベントが発生した時刻またはイベントの処理が実行された時刻を示しているともいえる。例えば、当該タイムスタンプは、年月日時分秒で表され得る。ただし、説明を容易にするため、タイムスタンプを年月日時分で表している。作業者IDの項目には、当該イベントに係る作業を行ったユーザのID(作業者ID)が登録される。イベント名の項目には、発生したイベントの名称が登録される。
例えば、ログテーブル111には、IDが“001”、タイムスタンプが“2013/04/15 10:00”、作業者IDが“N1”、イベント名が“受付”という情報が登録される。これは、イベント名“受付”のイベントに係る作業が作業者ID“N1”のユーザによって、2013年04月15日10時00分に行われたことを示す。
当該レコードは、イベント名“受付”のイベントが2013年04月15日10時00分に発生したことを示しているともいえる。また、当該レコードは、イベント名“受付”のイベントの処理が2013年04月15日10時00分に実行されたことを示しているともいえる。
また、前述のように、ログテーブル111では関連するログについて同一のIDが付与されている。分析部130は、当該IDにより関連するイベントを認識し得る。
図6は、イベントテーブルの例を示す図である。イベントテーブル112は、イベントIDとイベント名との対応関係を示す情報である。イベントテーブル112は、記憶部110に予め格納される。イベントテーブル112は、イベントIDおよびイベント名の項目を含む。
イベントIDの項目には、イベントIDが登録される。イベント名の項目には、イベントの名称が登録される。例えば、イベントテーブル112には、イベントIDが“E11”、イベント名が“受付”という情報が登録されている。これは、イベントID“E11”のイベントの名称は“受付”であることを示す。
このように、1つのイベント名に対して1つのイベントIDが対応付けられる。なお、以下の説明では、例えばイベントID“E11”のイベントを指す場合に、イベント“E11”のように略記することがある。
図7は、フロー種別テーブルの例を示す図である。フロー種別テーブル113は、業務フローの種別(フロー種別)とイベントIDとの対応関係を示す情報である。フロー種別テーブル113は、記憶部110に予め格納される。フロー種別テーブル113は、フロー種別IDおよびイベントIDの項目を含む。
フロー種別IDの項目には、フロー種別IDが登録される。イベントIDの項目には、イベントIDが登録される。例えば、フロー種別テーブル113には、フロー種別IDが“F1”、イベントIDが“E11,E12,E13,E14”という情報が登録されている。これは、フロー種別ID“F1”である業務フローは、イベント“E11,E12,E13,E14”の一連のイベントにより成立していることを示す。
ここで、フロー種別ID“F1”に対応付けられたイベントID“E11,E12,E13,E14”は、イベントの発生順序も規定している。すなわち、当該フロー種別ID“F1”の業務フローでは、最初にイベント“E11”、2番目にイベント“E12”、3番目にイベント“E13”、最後にイベント“E14”という順序で各イベントが発生することを意味する。なお、以下の説明では、例えば、フロー種別ID“F1”のフロー種別を指す場合に、フロー種別“F1”のように略記することがある。
図8は、プロセス管理テーブルの例を示す図である。プロセス管理テーブル114は、プロセスIDとフロー種別IDとの対応関係を示す情報である。プロセス管理テーブル114は、記憶部110に格納される。プロセス管理テーブル114は、プロセスIDおよびフロー種別IDの項目を含む。
プロセスIDの項目には、プロセスIDが登録される。ここで、プロセスとは、あるフロー種別に対して実際に発生した業務フローの実体(フローインスタンス)である。当該プロセスを業務プロセスということもある。同一のプロセスに属する複数のイベントは、共通のプロセスIDをもつ。第2の実施の形態では、プロセスIDをログテーブル111のIDに対応付けることができる。以下に示す例では、ログテーブル111でいうIDはプロセスIDに一致するものとする。ただし、プロセスIDは、ログテーブル111のIDの登録値から一意に導かれる情報でもよい。フロー種別IDの項目にはフロー種別IDが登録される。
例えば、プロセス管理テーブル114には、プロセスIDが“001”、フロー種別IDが“F1”という情報が登録される。これは、プロセスID“001”のプロセス(フローインスタンス)は、フロー種別“F1”のプロセスであることを示す。なお、以下の説明では、例えば、プロセスID“001”のプロセスを指す場合に、プロセス“001”のように略記することがある。
図9は、基準パラメータテーブルの例を示す図である。基準パラメータテーブル115は、定常性の有無の評価用のパラメータをフロー種別毎に登録した情報である。基準パラメータテーブル115は、記憶部110に予め格納される。基準パラメータテーブル115は、フロー種別ID、判定基準数および基準の標準偏差の項目を含む。
フロー種別IDの項目には、フロー種別IDが登録される。判定基準数の項目には、分析を行うまでに蓄積すべきプロセスの数が登録される。分析は統計的な処理を用いて行われるため、サンプルとするプロセスの数がある程度蓄積されている方が信頼性の高い評価を行える。判定基準数は、サンプルとするプロセスの数の閾値に相当する(判定基準数以上のサンプルがなければ分析の対象外となる)。基準の標準偏差の項目は、業務発生間隔およびイベント間隔比の項目に細分化されている。
イベント間隔比の項目には、イベント間隔の比(イベント間隔比)が一定であると判断する際に用いられる統計誤差の値(標準偏差)が登録される。業務発生間隔の項目には、業務発生間隔が一定であると判断する際に用いられる統計誤差の値(標準偏差)が登録される。
例えば、基準パラメータテーブル115には、フロー種別ID“F1”、判定基準数“3”、イベント間隔比に関する基準の標準偏差“0.03”、業務発生間隔に関する基準の標準偏差“2.5”という情報が登録されている。これは、業務フロー“F1”の場合、判定基準数“3”以上のプロセスがサンプルとして取得されている場合に定常性の有無を評価することを示す。また、業務フロー“F1”について計測されたイベント間隔比のばらつきが標準偏差“0.03”で与えられる所定範囲内にある場合に、フロー種別“F1”のイベント間隔比がおおよそ一定である(定常性がある)と評価することを示す。また、業務フロー“F1”について計測された業務発生間隔のばらつきが標準偏差“2.5”で与えられる所定範囲内にある場合に、当該業務フロー“F1”の業務発生間隔がおおよそ一定である(定常性がある)と評価することを示す。
なお、判定基準数は、フロー種別に応じて適宜設定可能である。例えば、“50”、“100”のようにサンプル数の下限を決定して、統計の信頼性をより向上させることも考えられる。
図10は、イベント間隔管理テーブルの例を示す図である。イベント間隔管理テーブル116は、イベントとイベントとの時間間隔を記録した情報である。イベント間隔管理テーブル116は、記憶部110に格納される。イベント間隔管理テーブル116は、フロー種別ID、プロセスID、間隔#1、間隔#2および間隔#3の項目を含む。
フロー種別IDの項目には、フロー種別IDが登録される。プロセスIDの項目には、プロセスIDが登録される。間隔#1の項目には、当該フロー種別IDの業務フローのうち最初の(1番目の)イベントが発生してから2番目のイベントが発生するまでの所要時間が登録される。間隔#2の項目には、2番目のイベントが発生してから3番目のイベントが発生するまでの所要時間が登録される。間隔#3の項目には、3番目のイベントが発生してから4番目のイベントが発生するまでの所要時間が登録される。
ここで、フロー種別“F1”に関するプロセスIDには4つのイベントが属している。そのため、イベント間隔管理テーブル116では間隔#1〜3を管理する。ただし、プロセスIDによっては、3または5以上のイベントが属するフロー種別もある。例えば、5つのイベントが属するフロー種別の場合、イベント間隔管理テーブル116では間隔#1〜4が管理されることになる。
例えば、イベント間隔管理テーブル116には、フロー種別が“F1”、プロセスIDが“001”、間隔#1が“1h(hour)”、間隔#2が“2h”、間隔#3が“3h”という情報が登録されている。これは、業務フロー“F1”のプロセス“001”では、イベント“E11”が発生してからイベント“E12”が発生するまでの時間間隔が1時間であったことを示す。また、イベント“E12”が発生してからイベント“E13”が発生するまでの時間間隔が2時間であったことを示す。更に、イベント“E13”が発生してからイベント“E14”が発生するまでの時間間隔が3時間であったことを示す。
言い換えれば、業務フロー“F1”のプロセス“001”では、イベント“E11”の処理が完了してからイベント“E12”の処理が完了するまでの時間間隔が1時間であったともいえる。また、イベント“E12”の処理が完了してからイベント“E13”の処理が完了するまでの時間間隔が2時間であったともいえる。更に、イベント“E13”の処理が完了してからイベント“E14”の処理が完了するまでの時間間隔が3時間であったともいえる。
間隔#1〜3の項目は、プロセス毎のイベント間隔比を示しているともいえる。具体的には、プロセス“001”の例では、イベント“E11”〜“E14”までの全体の所要時間は1時間+2時間+3時間=6時間である。よって、全体の所要時間に対するイベント“E11”〜“E12”のイベント間隔比は、1/6である。全体の所要時間に対するイベント“E12”〜“E13”のイベント間隔比は、2/6=1/3である。全体の所要時間に対するイベント“E13”〜“E14”のイベント間隔比は3/6=1/2である。
なお、プロセス“101”のレコードでは、間隔#3が未設定“−”(ハイフン)となっている。これは、図10で示すタイミングにおいて、プロセス“101”のイベント“E14”のログが未だ取得されていないためである。
図11は、イベント間隔比評価テーブルの例を示す図である。イベント間隔比評価テーブル117は、イベント間隔比の統計を管理するための情報である。イベント間隔比評価テーブル117は、記憶部110に格納される。イベント間隔比評価テーブル117は、フロー種別ID、件数、イベント間隔、イベント間隔比の平均、イベント間隔比の標準偏差、例外範囲および定常性の項目を含む。
フロー種別IDの項目には、フロー種別IDが登録される。件数の項目には、統計処理に用いたプロセスのサンプル数が登録される。イベント間隔の項目には、どのイベントの間隔であるかを示す情報が登録される。イベント間隔比の平均(m1)の項目には、イベント間隔比の過去の実績の平均が登録される。イベント間隔比の標準偏差(σ1)の項目には、イベント間隔比の過去の実績の平均に対する標準偏差が登録される。
例外範囲の項目には、イベント間隔比の例外の範囲が登録される。後述するように、何れかのイベント間のイベント間隔比が例外の範囲にあると判断されたプロセスは、イベント間隔比の平均および標準偏差を計算する際のサンプルから除外されることになる。例外範囲は、上記平均(m1)および標準偏差(σ1)を用いて算出される。第2の実施の形態では一例として、m1+2σ1以上、m1−2σ1以下を例外範囲とする。
また、定常性の項目には、当該フロー種別のイベント間隔比に定常性があるか否かを示す情報が登録される。定常性の項目の初期値は、定常性なしを示すものとする。
例えば、イベント間隔比評価テーブル117には、フロー種別IDが“F1”、件数が“3”、イベント間隔が“間隔#1(E11〜E12)”、イベント間隔比の平均が“0.1588”、イベント間隔比の標準偏差が“0.01”、例外範囲が“0.1788以上、0.1388以下”、定常性が“あり”という情報が登録される。
これは、フロー種別“F1”について、イベント間隔比の平均/標準偏差を求めるために用いたプロセスのサンプル数が、プロセス“001”、“011”、“021”の3つであることを示す。ここで、後述するようにイベント間隔管理テーブル116に登録されたプロセス“031”は偏差が大きくサンプルから除外される。また、イベント間隔管理テーブル116で示される時点において、プロセス“101”は未発生のイベントを含み不完全であるため、サンプルから除外される。
また、イベント“E11”、“E14”の各タイムスタンプ間の時間間隔(全体の時間間隔)に対するイベント“E11”〜“E12”の時間間隔の比の平均が“0.1588”、標準偏差が“0.01”であることを示す。更に、全体の時間間隔に対するイベント“E11”〜“E12”の時間間隔の比が例外範囲“0.1788以上、0.1388以下”であるプロセスを例外として扱い、統計処理のサンプルから除外することを示す。また、フロー種別“F1”はイベント間隔比に定常性があると評価されていることを示す。
図12は、業務発生間隔管理テーブルの例を示す図である。業務発生間隔管理テーブル118は、業務発生間隔を記録した情報である。業務発生間隔管理テーブル118は、記憶部110に格納される。業務発生間隔管理テーブル118は、フロー種別ID、プロセスID、タイムスタンプおよび業務発生間隔の項目を含む。
フロー種別IDの項目には、フロー種別IDが登録される。プロセスIDの項目には、プロセスIDが登録される。タイムスタンプの項目には、当該プロセスの最初のイベントのタイムスタンプが登録される。業務発生間隔の項目には、あるプロセスに着目したときに、当該プロセスと同一のフロー種別IDで当該プロセスの直前に実行されたプロセスのタイムスタンプと、着目するプロセスのタイムスタンプとの間の時間間隔が登録される。なお、あるフロー種別IDで最初に実行されたプロセスについては、直前に実行されたプロセスがないため業務発生間隔の項目には設定なしを示す“−”が登録される。
例えば、業務発生間隔管理テーブル118には、フロー種別IDが“F1”、プロセスIDが“001”、タイムスタンプが“2013/04/15 10:00”および業務発生間隔が“−”という情報が登録されている。これは、業務フロー“F1”のプロセス“001”に属する最初のイベントの発生時刻が2013年4月15日10時00分であることを示す。プロセス“001”は、フロー種別“F1”の各プロセスの中で最初に発生したプロセスであるため、業務発生間隔は登録されていない。
また、業務発生間隔管理テーブル118には、フロー種別IDが“F1”、プロセスIDが“011”、タイムスタンプが“2013/04/16 10:00”および業務発生間隔が“24h”という情報が登録されている。これは、業務フロー“F1”のプロセス“011”に属する最初のイベントの発生時刻が2013年4月16日10時00分であることを示す。また、業務フロー“F1”の直前のプロセス“001”のタイムスタンプと当該プロセス“011”のタイムスタンプとの時間間隔が“24”時間であることを示す。
図13は、業務発生間隔評価テーブルの例を示す図である。業務発生間隔評価テーブル119は、業務発生間隔の統計を管理するための情報である。業務発生間隔評価テーブル119は、記憶部110に格納される。業務発生間隔評価テーブル119は、フロー種別ID、件数、業務発生間隔の平均、業務発生間隔の標準偏差、例外範囲および定常性の項目を含む。
フロー種別IDの項目には、フロー種別IDが登録される。件数の項目には、評価に用いられたサンプル数が登録される。業務発生間隔の平均の項目には、業務発生間隔の過去の実績の平均(m2)が登録される。業務発生間隔の標準偏差の項目には、業務発生間隔の過去の実績の平均に対する標準偏差(σ2)が登録される。
例外範囲の項目には、業務発生間隔の例外の範囲が登録される。後述するように、業務発生間隔が例外の範囲にあると判断されたプロセスは、業務発生間隔の平均および標準偏差を計算する際のサンプルから除外されることになる。例外範囲は、上記平均(m2)および標準偏差(σ2)を用いて算出される。第2の実施の形態では一例として、m2+2σ2以上、m2−2σ2以下を例外範囲とする。
また、定常性の項目には、当該フロー種別の業務発生間隔に定常性があるか否かを示す情報が登録される。定常性の項目の初期値は、定常性なしを示すものとする。
例えば、業務発生間隔評価テーブル119には、フロー種別IDが“F1”、件数が“3”、業務発生間隔の平均が“25h”、業務発生間隔の標準偏差が“1h”、例外範囲が“27h以上、23h以下”、定常性が“あり”という情報が登録されている。
これは、フロー種別“F1”について、業務発生間隔の平均/標準偏差を求めるために用いたプロセスのサンプル数が3であることを示す。また、業務発生間隔の平均が25時間、標準偏差が1時間であることを示す。更に、業務発生間隔が例外範囲“27時間以上、23時間以下”であるプロセスを例外として扱い、統計処理のサンプルから除外することを示す。例えば、業務発生間隔管理テーブル118によれば、プロセス“031”が、次回の統計処理のサンプルから除外されることになる。更に、フロー種別“F1”は業務発生間隔に定常性があると評価されていることを示す。
なお、不完全なプロセスはサンプルから除外されるものとする。ただし、不完全なプロセスも最初のイベントにより業務発生間隔を把握できるので、当該不完全なプロセスもサンプルとして考慮して、業務発生間隔の平均/標準偏差を求めてもよい。
図14は、例外プロセステーブルの例を示す図である。例外プロセステーブル120は、例外として扱うプロセスを登録する情報である。例外プロセステーブル120は、記憶部110に格納される。例外プロセステーブル120は、プロセスIDおよび例外内容の項目を含む。
プロセスIDの項目には、プロセスIDが登録される。例外内容の項目には、例外の内容を示す情報が登録される。例えば、例外プロセステーブル120には、プロセスIDが“031”、例外内容が“イベント間隔比に例外あり”という情報が登録されている。これは、プロセス“031”がイベント間隔比について例外と判定されていることを示す。
図15は、収集時刻テーブルの例を示す図である。収集時刻テーブル121は、未発生のイベントに関するログをピンポイント収集する時刻を登録した情報である。収集時刻テーブル121は、記憶部110に格納される。収集時刻テーブル121は、プロセスID、イベントID、境界時刻およびピンポイント収集時刻の項目を含む。
プロセスIDの項目には、プロセスIDが登録される。イベントIDの項目には、未発生のイベントIDが登録される。境界時刻の項目には、イベントの発生時刻として許容される下限の(最も過去の)時刻が登録される。ピンポイント収集時刻の項目には、ピンポイント収集を行う時刻が登録される。境界時刻およびピンポイント収集時刻は、後述するようにイベント間隔比評価テーブル117に基づいて算出される。
例えば、収集時刻テーブル121には、プロセスIDが“101”、イベントIDが“E14”、境界時刻が“2013/04/19 15:59”、ピンポイント収集時刻が“2013/04/19 16:13”という情報が登録される。これは、プロセス“101”の未発生のイベント“E14”に関するログを2013年4月19日16時13分にピンポイント収集することを示す。また、当該イベント“E14”の発生時刻として許容される最も過去の時刻が2013年4月19日15時59分であることを示す。
分析部130は、イベント間隔管理テーブル116および業務発生間隔管理テーブル118を用いてプロセス毎のイベント間隔および業務発生間隔を記録する。また、分析部130は、イベント間隔比評価テーブル117および業務発生間隔評価テーブル119をフロー種別毎に作成して、イベント間隔比および業務発生間隔をフロー種別毎に評価する。
ここで、前述のように分析部130は2つの方法でログを取得する。第1の方法は、定期収集による方法である。第2の方法は、ピンポイント収集による方法である。次に、ログ収集のこれらのパターンを説明する。
図16は、定期収集の例を示す図である。分析部130は、業務サーバ200から定期的にログを収集する。定期収集のタイミングは、記憶部110に予め記憶される。例えば、日次、週次、月次などのタイミングである。図16では、定期収集のタイミングとして、定期収集タイミングT1,T2,・・・,T100,T101,・・・が時系列に例示されている。
ここで、フロー種別“F1”に着目すると、定期収集タイミングT1以前には、フロー種別“F1”のプロセスに属するイベントが存在していない。このため、定期収集タイミングT1の時点では、フロー種別“F1”のプロセスに属するイベントのログは取得されない。
また、定期収集タイミングT2以前で、定期収集タイミングT1よりも後の期間ではフロー種別“F1”のプロセス“001”に属するイベント“E11”、“E12”、“E13”、“E14”が存在している。このため、定期収集タイミングT2の時点では、フロー種別“F1”のプロセス“001”に属するイベント“E11”、“E12”、“E13”、“E14”のログが取得される。
更に、定期収集タイミングT101以前で、定期収集タイミングT100よりも後の期間ではフロー種別“F1”のプロセス“101”に属するイベント“E11”、“E12”、“E13”が存在している。このため、定期収集タイミングT101の時点では、フロー種別“F1”のプロセス“101”に属するイベント“E11”、“E12”、“E13”のログが取得される。ただし、定期収集タイミングT101の時点ではプロセス“101”に対応するイベント“E14”は未発生である。したがって、定期収集タイミングT101ではイベント“E14”のログは取得されないことになる。
図17は、ピンポイント収集の例を示す図である。図16で例示したようにタイミングT101において、プロセス“101”のイベント“E14”は未発生である。そこで、分析部130は、フロー種別“F1”の各プロセスの過去の実績からイベント“E14”のログをピンポイントで収集するタイミングを計算する。具体的には、プロセス“101”について、イベント“E11”、“E12”、“E13”の発生時刻が取得されている。よって、イベント“E11”、“E12”の時間間隔ΔTaを得られる。また、イベント“E12”、“E13”の時間間隔ΔTbを得られる。
また、これらの各イベントの時間間隔とイベント“E13”、“E14”の時間間隔の比の平均が過去の実績から分かっている。これらの情報からプロセス“101”のイベント“E14”がイベント“E13”の発生時刻からどの程度の時間が経過したときに発生し得るかを予測する。
例えば、イベント“E11”、“E12”の時間間隔に対するイベント“E13”、“E14”の時間間隔の比の平均がr1であるとする。その場合、当該平均から予測される時刻τは、プロセス“101”のイベント“E13”の発生時刻からr1×ΔTaの時間が経過した時刻である。
また、例えば、イベント“E12”、“E13”の時間間隔に対するイベント“E13”、“E14”の時間間隔の比の平均がr2であるとする。その場合、当該平均から予測される時刻τは、プロセス“101”のイベント“E13”の発生時刻からr2×ΔTbの時間が経過した時刻である。分析部130は、r1を用いて時刻τを計算してもよいし、r2を用いて時刻τを計算してもよい。ただし、r1,r2のうち、標準偏差の小さい方を用いた方が、時刻τの予測の精度は高いと考えられる。
更に、分析部130は、時刻τから時間2σが経過した時刻(“τ+2σ”の時刻)をピンポイント収集タイミングTyと決定する。ここで、σはフロー種別“F1”のイベント“E13”、“E14”に対して求められているイベント時間比に関する標準偏差を時間に換算したものである。各イベントは、様々なユーザの操作によって行われるものであり、各ユーザの置かれている状況も多様である。このため、イベントの発生時刻に適度の遅延を許容した方が、ピンポイント収集での取得漏れの可能性は低くなる。
図18は、ログ収集の例を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
(S11)分析部130は、定期収集を行う時刻に到達したことを検出する。定期収集のスケジュール情報は、記憶部110に予め格納される。
(S12)分析部130は、業務サーバ200からログの収集処理(定期収集)を行う。分析部130は、収集したログに基づいて業務フロー(プロセス)を作成し、業務の改善箇所の分析を行う。
(S13)分析部130は、定期収集時に作成したプロセスのうち、未発生のイベントを含み、3以上のイベントが発生済であるプロセスがあるか否かを判定する。ある場合、処理をステップS14に進める。ない場合、処理を終了する(次の定期収集タイミングまで待機する)。
(S14)分析部130は、ピンポイント収集の実行判定処理を行う。分析部130は、定期収集を行った段階で、未発生のイベントを含み、3以上のイベントが発生済であるプロセスを、ピンポイント収集の候補とする。当該候補のうち、所定の条件を満たすプロセスをピンポイント収集の対象と決定し、プロセス毎にピンポイント収集のスケジュールを作成する。
(S15)分析部130は、作成したスケジュールに従って、プロセス毎にピンポイント収集を行う。また、分析部130は、ピンポイント収集の結果に応じて、ユーザに対する警告を行う。
図19は、定期収集処理の例を示すフローチャートである。以下、図19に示す処理をステップ番号に沿って説明する。以下に示す手順は、図18のステップS12の手順に相当する。
(S21)分析部130は、業務サーバ200からログを取得し、ログテーブル111に登録する。例えば、当該ログには、プロセス“101”のイベント“E11”、“E12”、“E13”が発生したことを示すログも含まれる。このとき、分析部130は、過去に収集済のログ以外のログを収集する。
(S22)分析部130は、前回までに取得されているログと今回取得されたログとに基づいて、発生済のイベントの組をプロセス毎に特定する。例えば、今回取得されたログには、プロセス“101”のイベント“E11”、“E12”、“E13”のログが含まれている。したがって、分析部130は、プロセス“101”に対する発生済のイベントとしてイベント“E11”、“E12”、“E13”を特定する。また、前回までに取得されているプロセスには、前回の定期収集時に未発生のイベントが存在していたプロセスもあり得る。今回取得されたログで当該未発生のイベントが発生したことを確認できれば、当該未発生のイベントを補完できる。このようにして、分析部130は収集したログからプロセス(業務フロー)を作成する。
(S23)分析部130は、プロセスとフロー種別との対応関係を特定して、プロセス管理テーブル114に登録する。具体的には、分析部130は、ログテーブル111のID(プロセスID)およびイベント名から、プロセス毎に発生したイベントの時系列を把握する。分析部130は、イベントテーブル112に基づいてイベント名をイベントIDに変換し、イベントIDをフロー種別テーブル113と照合してフロー種別IDを得る。第2の実施の形態の例では、イベントIDとフロー種別IDとは1対1に対応しているので、1のイベントIDからフロー種別IDを判定し得る。ただし、複数のイベントIDの時系列からフロー種別IDを判定するようにしてもよい。このようにフロー種別IDを判定し、当該フロー種別IDとログテーブル111のID(プロセスID)とを対応付けることができる。例えば、プロセスID“101”に対してフロー種別ID“F1”を対応付ける。分析部130は、この対応関係をプロセス管理テーブル114に登録する。
(S24)分析部130は、ステップS23でイベントの組を構成したプロセスのうち、全てのイベントが発生済であるプロセスのプロセスIDに対応するフロー種別IDを1つ選択する。
(S25)分析部130は、基準パラメータテーブル115を参照して、選択したフロー種別IDの判定基準数を取得する。分析部130は、プロセス管理テーブル114を参照して、当該フロー種別に関し、判定基準数以上のプロセス(ただし、全てのイベントが発生済のもの)が存在しているか否かを判定する。全てのイベントが発生済であるプロセスの数が判定基準数以上存在する場合、処理をステップS26に進める。全てのイベントが発生済であるプロセスの数が判定基準数以上存在しない場合、処理をステップS29に進める。この判定により、十分なサンプルが確保されていないフロー種別の分析を省略でき、分析を効率化し得る。
(S26)分析部130は、選択したフロー種別は、3つ以上のイベントで成立するものであるか否かを判定する。3つ以上のイベントで成立するものである場合、処理をステップS27に進める。2つ以下のイベントで成立するものである場合、処理をステップS28に進める。フロー種別が3つ以上のイベントで成立するものであるか否かは、フロー種別テーブル113に基づいて判定できる。
(S27)分析部130は、選択したフロー種別について、イベント間隔比の定常性を評価する。詳細は後述する。
(S28)分析部130は、選択したフロー種別について、業務発生間隔の定常性を評価する。詳細は後述する。
(S29)分析部130は、新規のプロセスIDが登録された全てのフロー種別を処理済であるか否かを判定する。新規のプロセスIDが登録された全てのフロー種別を処理済である場合、処理をステップS30に進める。新規のプロセスIDが登録された全てのフロー種別を処理済でない場合、処理をステップS24に進める。
(S30)分析部130は、収集したログによって構成されたプロセスについて、異常が検出されたプロセスがあれば、当該異常がある旨を警告するように出力部140に指示する。例えば、あるプロセスのうちの一部のイベントの発生時刻が当該プロセスのフロー種別がもつ定常性を逸脱して行われている場合に異常を検知し、当該イベントに対応する作業が定常的に行われていない旨を警告するように出力部140に指示する。
図20は、イベント間隔比の定常性評価の例を示すフローチャートである。以下、図20に示す処理をステップ番号に沿って説明する。以下に示す手順は、図19のステップS27の手順に相当する。以下の処理は、図19のステップS24で選択されたフロー種別(着目するフロー種別)について行われる。
(S31)分析部130は、着目するフロー種別の各プロセスについてイベント間隔をイベント間隔管理テーブル116に記録する。具体的には、ログテーブル111には、各イベントのタイムスタンプが登録されている。分析部130は、図19のステップS23で把握されたプロセス毎のイベントの時系列に沿って各イベント間のタイムスタンプの差を求め、各イベント間のイベント間隔とする。
(S32)分析部130は、イベント間隔比評価テーブル117を参照して、着目するフロー種別がイベント間隔比に定常性ありと評価されているか否かを判定する。イベント間隔比に定常性ありと評価されている場合、処理をステップS33に進める。イベント間隔比に定常性ありと評価されていない場合(すなわち、定常性なしと評価されている場合)、処理をステップS35に進める。
(S33)分析部130は、例外プロセステーブル120を参照して、着目するフロー種別のプロセスのうち、イベント間隔比について例外プロセスとして登録されているプロセスがあるか否かを判定する。例外プロセスがある場合、処理をステップS34に進める。例外プロセスがない場合、処理をステップS35に進める。例えば、例外プロセステーブル120には、フロー種別“F1”のプロセス“031”が登録されている。プロセス“031”の登録内容によれば“イベント間隔比に例外あり”と設定されている。このため、分析部130は、フロー種別“F1”に対して例外プロセスがあると判定することになる。
(S34)分析部130は、着目するフロー種別のプロセスのうち、例外プロセステーブル120にイベント間隔比について例外プロセスとして登録されているプロセスを、統計処理のサンプルから除外する。例えば、分析部130は、フロー種別“F1”についてイベント間隔比の平均および標準偏差を求める場合は、プロセス“031”をサンプルから除外して計算を行うことになる。
(S35)分析部130は、着目するフロー種別について、イベント間隔比の平均および標準偏差を計算する。具体的には、分析部130は、イベント間隔管理テーブル116を参照して、サンプルとなるプロセス毎に、プロセスの全体の所要時間に対する各イベント間隔の比を計算する。なお、前述の通り、サンプルとなるプロセスは、全てのイベントが発生済であるプロセスである。そして、イベントの間隔毎にイベント間隔比の平均(m1)を算出する。更に、イベント間隔比毎のばらつきを示す標準偏差(σ1)を算出する。また、m1+2σ1以上、m1−2σ1以下の範囲を例外範囲として算出する。分析部130は、計算に用いたサンプル数(件数)、平均m1、標準偏差σ1および例外範囲を、フロー種別に対応付けてイベント間隔比評価テーブル117に登録する。
(S36)分析部130は、全てのイベント間隔比の標準偏差が基準の標準偏差よりも小さいか否かを判定する。全てのイベント間隔比の標準偏差が基準の標準偏差よりも小さい場合、処理をステップS37に進める。何れかのイベント間隔比の標準偏差が基準の標準偏差以上である場合、処理をステップS38に進める。例えば、イベント間隔比評価テーブル117によれば、フロー種別“F1”のイベント間隔比の標準偏差は“0.01”、“0.02”、“0.01”である。基準パラメータテーブル115によれば、フロー種別“F1”のイベント間隔比の基準の標準偏差は“0.03”である。この場合、分析部130は、フロー種別“F1”について全てのイベント間隔比の標準偏差が基準の標準偏差よりも小さいと判定する。
(S37)分析部130は、着目するフロー種別を“定常性あり”と判断する。分析部130は、“定常性あり”とする判断結果をフロー種別に対応付けてイベント間隔比評価テーブル117に登録する。
(S38)分析部130は、着目するフロー種別を“定常性なし”と判断する。分析部130は、“定常性なし”とする判断結果をフロー種別に対応付けてイベント間隔比評価テーブル117に登録する。そして、処理を終了する。
(S39)分析部130は、着目するフロー種別について、イベント間隔比が例外範囲内であるイベントをもつプロセスがあるか否かを判定する。当該プロセスがある場合、処理をステップS40に進める。当該プロセスがない場合、処理を終了する。例えば、イベント間隔管理テーブル116によれば、プロセス“031”はイベント間隔#1,#2,#3の値が他のプロセスのイベント間隔に対してばらついており、イベント間隔比も他のプロセスのイベント間隔比と大きく異なる。例えば、プロセス“031”の間隔#2のイベント間隔比は、21/(7+21+22)=0.42≧0.3892である。このため、プロセス“031”はイベント間隔比が例外範囲内にあると判定される。
(S40)分析部130は、イベント間隔比が例外範囲内であると判断されたプロセスをイベント間隔比についての例外プロセスとして、例外プロセステーブル120に登録する。
なお、ステップS35では、過去に取得済のイベント間隔比の平均およびイベント間隔比の2乗和を用いて、新たに追加されたプロセスのイベント間隔分を考慮した平均および標準偏差の計算を簡略化し得る。例えば、イベント間隔比評価テーブル117に、イベント間隔毎のイベント間隔比の2乗和を保持しておく。そうすれば、あるイベント間のイベント間隔について、“今回の平均={(前回件数×前回の平均)+今回追加のイベント間隔比の合計}/(前回件数+今回追加の件数)”として求まる。また、“今回の2乗和=前回の2乗和+今回追加のイベント間隔比の2乗和”として求まる。
したがって、“前回件数+今回追加の件数=今回件数”とすれば、“(今回の標準偏差の2乗)=(今回の2乗和/今回件数)−(今回の平均の2乗)”を計算することで求まる。
図21は、業務発生間隔の定常性評価の例を示すフローチャートである。以下、図21に示す処理をステップ番号に沿って説明する。以下に示す手順は、図19のステップS28の手順に相当する。以下の処理は、図19のステップS24で選択されたフロー種別(着目するフロー種別)について行われる。
(S41)分析部130は、着目するフロー種別の各プロセスについて業務発生間隔を業務発生間隔管理テーブル118に記録する。具体的には、ログテーブル111には、各イベントのタイムスタンプが登録されている。分析部130は、図19のステップS23で把握された各プロセスについて、最初のイベントのタイムスタンプの差を求め、業務発生間隔とする。
(S42)分析部130は、業務発生間隔評価テーブル119を参照して、着目するフロー種別が業務発生間隔に定常性ありと評価されているか否かを判定する。業務発生間隔に定常性ありと評価されている場合、処理をステップS43に進める。業務発生間隔に定常性ありと評価されていない場合(すなわち、定常性なしと評価されている場合)、処理をステップS45に進める。
(S43)分析部130は、例外プロセステーブル120を参照して、着目するフロー種別のプロセスのうち、業務発生間隔について例外プロセスとして登録されているプロセスがあるか否かを判定する。例外プロセスがある場合、処理をステップS44に進める。例外プロセスがない場合、処理をステップS45に進める。例えば、例外プロセステーブル120には、フロー種別“F1”のプロセス“031”が登録されている。プロセス“031”の登録内容によれば“イベント間隔比に例外あり”であるが、業務発生間隔について例外とする旨は設定されていない。このため、分析部130は、フロー種別“F1”に対して例外プロセスがないと判定することになる。
(S44)分析部130は、着目するフロー種別のプロセスのうち、例外プロセステーブル120に業務発生間隔について例外プロセスとして登録されているプロセスを、統計処理のサンプルから除外する。
(S45)分析部130は、着目するフロー種別について、業務発生間隔の平均および標準偏差を計算する。分析部130は、業務発生間隔管理テーブル118からサンプルとなるプロセスを抽出する。前述の通り、サンプルとなるプロセスは、全てのイベントが発生済であるプロセスである。そして、サンプルとなるプロセスに対して取得されている業務発生間隔の平均(m2)を算出する。更に、業務発生間隔のばらつきを示す標準偏差(σ2)を算出する。また、m2+2σ2以上、m2−2σ2以下の範囲を例外範囲として算出する。分析部130は、計算に用いたサンプル数(件数)、平均m2、標準偏差σ2および例外範囲をフロー種別に対応付けて、業務発生間隔評価テーブル119に登録する。
(S46)分析部130は、業務発生間隔の標準偏差が基準の標準偏差よりも小さいか否かを判定する。業務発生間隔の標準偏差が基準の標準偏差よりも小さい場合、処理をステップS47に進める。業務発生間隔の標準偏差が基準の標準偏差以上である場合、処理をステップS48に進める。例えば、業務発生間隔評価テーブル119によれば、フロー種別“F1”の業務発生間隔の標準偏差は“1h”である。基準パラメータテーブル115によれば、フロー種別“F1”の業務発生間隔の基準の標準偏差は“2.5”である。この場合、分析部130は、フロー種別“F1”について業務発生間隔の標準偏差が基準の標準偏差よりも小さいと判定する。
(S47)分析部130は、着目するフロー種別を“定常性あり”と判断する。分析部130は、“定常性あり”とする判断結果をフロー種別に対応付けて業務発生間隔評価テーブル119に登録する。
(S48)分析部130は、着目するフロー種別を“定常性なし”と判断する。分析部130は、“定常性なし”とする判断結果をフロー種別に対応付けて業務発生間隔評価テーブル119に登録する。そして、処理を終了する。
(S49)分析部130は、着目するフロー種別について、業務発生間隔が例外範囲内であるプロセスがあるか否かを判定する。当該プロセスがある場合、処理をステップS50に進める。当該プロセスがない場合、処理を終了する。例えば、業務発生間隔管理テーブル118によれば、プロセス“031”の業務発生間隔“27h”はフロー種別“F1”の例外範囲“27h以上”に該当する。このため、プロセス“031”は業務発生間隔が例外範囲内にあると判定される。
(S50)分析部130は、業務発生間隔が例外範囲内であると判断されたプロセスを業務発生間隔についての例外プロセスとして、例外プロセステーブル120に登録する。
ここで、ステップS45における業務発生間隔の平均および標準偏差の計算は、前述のイベント間隔比の平均および標準偏差の計算と同様の方法を用いて行える。業務発生間隔評価テーブル119に業務発生間隔の2乗和をフロー種別毎に記録しておいてもよい。
なお、業務発生間隔の定常性評価では、未発生のイベントを含む不完全なプロセスをサンプルとして除外するものとした。ただし、不完全なプロセスであっても、最初のイベントが発生していれば業務発生間隔は得られるため、当該不完全なプロセスをサンプルとして用いて、業務発生間隔を評価してもよい。
図22は、ピンポイント収集の実行判定の例を示すフローチャートである。以下、図22に示す処理をステップ番号に沿って説明する。以下に示す手順は、図18のステップS14の手順に相当する。
(S51)分析部130は、未発生のイベントを含み、3以上のイベントが発生済であるプロセスを選択する。例えば、プロセス“101”では、イベント“E14”は未発生であり、イベント“E11”、“E12”、“E13”の3つのイベントが発生済である。よって、プロセス“101”はステップS51の選択対象となる。
(S52)分析部130は、業務発生間隔評価テーブル119を参照して、選択したプロセスに対応するフロー種別の業務発生間隔に定常性があるか否かを判定する。定常性がある場合、処理をステップS53に進める。定常性がない場合、処理をステップS56に進める。
(S53)分析部130は、イベント間隔比評価テーブル117を参照して、選択したプロセスに対応するフロー種別のイベント間隔比に定常性があるか否かを判定する。定常性がある場合、処理をステップS54に進める。定常性がない場合、処理をステップS56に進める。
(S54)分析部130は、選択したプロセスの先頭の所定部分のイベント間隔比が、過去の実績のイベント間隔比に一致しているか否かを判定する。当該プロセスの先頭の所定部分のイベント間隔比が、過去の実績のイベント間隔比に一致している場合、処理をステップS55に進める。当該プロセスの先頭の所定部分のイベント間隔比が、過去の実績のイベント間隔比に一致していない場合、処理をステップS56に進める。例えば、先頭の所定部分として、プロセスにおける最初のイベントから3番目のイベントまでの部分が予め指定される。この場合、プロセス“101”の例では、イベント“E11”〜“E13”のイベント間隔比が過去の実績のイベント間隔比(間隔#1、#2)と所定の誤差(例えば、10%程度)内で一致しているか否かを判定することになる。先頭の所定部分としては、3番目以降の何れかのイベントまでの部分を予め指定しておくことができる。
(S55)分析部130は、選択したプロセスに対するピンポイント収集タイミングTy=τ+2σを算出し、収集時刻テーブル121に登録する。例えば、分析部130は、プロセス“101”について、イベント“E14”のログをピンポイント収集する場合、イベント間隔比評価テーブル117の間隔#3に対するσ1を用いて上記σを算出する。Tyの算出方法は、図17で説明した通りである。イベント間隔管理テーブル116に登録されたプロセス“101”の例では、2σは7分程度である。また、分析部130は、境界時刻τ−2σも計算して、収集時刻テーブル121に登録しておく。
(S56)分析部130は、未発生のイベントを含む全プロセスを処理済であるか否かを判定する。未発生のイベントを含む全プロセスを処理済である場合、処理を終了する。未処理のプロセスがある場合、処理をステップS51に進める。
このように、業務発生間隔イベント間隔比の両方に定常性があり、発生済のイベントのうち先頭の所定部分が過去の実績のイベント間隔比と一致するプロセスをピンポイント収集の対象とする。このようにすれば、ピンポイント収集の対象とするプロセスを定常性の比較的高いプロセスに絞り込むことができる。
ただし、ステップS52,S54の両方または何れか一方の判定を行わずにピンポイント収集の実行判定を行ってもよい。例えば、先頭から2番目までのイベントが発生しており、3番目以降のイベントが発生していないプロセスもピンポイント収集の対象候補としたい場合には、ステップS54の判定を行わないようにすればよい。ステップS54の判定を行わないのであれば、分析部130は、図18のステップS13の判定を、「未発生のイベントを含み、“2”以上のイベントが発生済のプロセスがあるか否か」の判定とする。更に、この場合、ステップS51では、「未発生のイベントを含み、“2”以上のイベントが発生済であるプロセスを選択する」ことになる。
図23は、ピンポイント収集処理の例を示すフローチャートである。以下、図23に示す処理をステップ番号に沿って説明する。以下に示す手順は、図18のステップS15の手順に相当する。
(S61)分析部130は、収集時刻テーブル121に登録されたピンポイント収集の時刻に到達したことを検出する。
(S62)分析部130は、ピンポイント収集の対象イベントのログ取得を試みる。例えば、分析部130は、プロセスIDおよびイベント名を指定して対象のログを送るように業務サーバ200に指示してもよい。あるいは、分析部130は、現時刻までにログテーブル111に登録された各業務のログの中から対象イベントのログを検索してもよい。
(S63)分析部130は、ステップS62の試行結果に基づいて、対象のイベントが発生しているか否かを判定する。発生している場合、処理をステップS65に進める。発生していない場合、処理をステップS64に進める。対象のイベントのログを取得できれば、対象のイベントが発生していることになる。対象のイベントのログを取得できなければ、対象のイベントが発生していないことになる。
(S64)分析部130は、出力部140にアラート通知を指示する。出力部140は、ピンポイント収集の対象のイベントに係る作業が行われていない旨を警告する。例えば、出力部140は、ディスプレイ11に警告内容を表示させてもよい。出力部140は、予め定められた電子メールアドレスに対して、警告内容を記述した電子メールを送信してもよい。出力部140は、予め定められた端末装置に対して、警告内容を示すメッセージを送信して、当該端末装置のディスプレイに表示させてもよい。
(S65)分析部130は、ピンポイント収集で取得されたログのタイムスタンプを参照して、当該イベントが境界時刻τ−2σよりも前の時刻で発生しているか否かを判定する。境界時刻よりも前の時刻で発生している場合、処理をステップS66に進める。境界時刻よりも後の時刻で発生している場合、処理をステップS67に進める。
(S66)分析部130は、出力部140にアラート通知を指示する。出力部140は、ピンポイント収集の対象のイベントに係る作業が行われるのが早過ぎる(予定通りに作業が行われていない)旨を警告する。具体的な警告方法はステップS64と同様である。
(S67)分析部130は、ピンポイント収集で取得されたイベントのログを用いて不完全であったプロセスを補完する(プロセスの構成)。例えば、分析部130はイベント間隔管理テーブル116で未登録となっているイベント間隔の値を埋めることができる。また、分析部130は、ユーザに提示する業務フロー図を補完することができる。
(S68)分析部130は、収集時刻テーブル121に登録された全てのプロセスについてピンポイント収集を完了したか否かを判定する。全て完了した場合、処理を終了する。未完了のピンポイント収集がある場合、次のピンポイント収集の時刻まで待機して、処理をステップS61に進める。
図24は、ピンポイント収集の具体例を示す図である。図24(A)はプロセス“101”において、未発生であったイベント“E14”をピンポイント収集により検出できた場合を例示している。図24(B)はプロセス“101”において、未発生であったイベント“E14”をピンポイント収集で検出できなかった場合を例示している。
プロセス“101”の例の場合、過去のイベント間隔比の平均から予測される時刻τはイベント“E13”の発生時刻から3時間6分(=(0.4920/0.1588)×1時間)経過後である。イベント“E13”の発生時刻は、13時00分なのでτを16時6分と予測できる。また、イベント“E13”、“E14”のイベント間隔比の標準偏差σ1=0.01を時間(分)に換算してσを求めると、σ=(1/0.1588)×0.01×60分=3.778分である。よって、2σは7分程度である。
このため、イベント“E14”のピンポイント収集タイミングTy=τ+2σは16時13分となる。また、境界時刻τ−2σは15時59分となる。分析部130は、時刻Tyのログ収集により、イベント“E14”の発生を検出できれば、定期収集で取得済のプロセス“101”の他のイベントに対してイベント“E14”を直ちに補完できる(図24(A)の例)。
一方、分析部130は、時刻Tyにおいて、イベント“E14”の発生を検出できなければ、定常的に行われている業務が未実施である旨を出力部140により警告させる(図24(B)の例)。なお、前述のように、時刻Tyのログ収集により、イベント“E14”の発生を検出できたとしても、発生タイミングが境界時刻15時59分よりも前であれば、業務の定常性を損なっている旨を出力部140により警告させる。
図25は、複数のプロセスに対する定期収集の例を示す図である。第2の実施の形態の情報処理システムでは、業務サーバ200により複数の業務処理が行われている。このため、複数のフロー種別のプロセス(業務フロー)が並行して進行する。このため、あるタイミングで定期収集を行うとしても、そのタイミングにおいて各プロセスの全てのイベントが完了している可能性は低い。
例えば、フロー種別“F1”、“F2”、“F3”のプロセスが並行して進行する場合に、業務サーバ200が出力するログを定期収集タイミングT101で確認したとしても、各プロセスについて検出されるイベントの発生状況は次のようになり得る。
監視サーバ100は、フロー種別“F1”のプロセス“101”について、イベント“E11”、“E12”、“E13”が発生していることを検出する。また、フロー種別“F2”のプロセス“102”について、イベント“E21”、“E22”、“E23”が発生していることを検出する。更に、フロー種別“3”のプロセス“103”について、イベント“E31”が発生していることを検出する。
この場合、タイミングT101の時点において、プロセス“101”のイベント“E14”が未発生である。プロセス“102”は全てのイベントが発生済である。プロセス“103”ではイベント“E32”、“E33”が未発生である。
そこで、監視サーバ100は、プロセス“101”、“103”が一定の条件を満たす場合に、未発生のイベントのログをピンポイント収集する。第2の実施の形態の例では、プロセス“101”のイベント“E14”はピンポイント収集の対象となる。このため、次の定期収集タイミングT102よりも早いタイミングで、プロセス“101”の実行状況を把握できる。すなわち、プロセス“101”の実行状況を迅速に把握できる。また、プロセス“101”の実行状況に応じた警告も迅速に行える。
他方、プロセス“103”のイベント“E32”、“E33”はピンポイント収集の対象とならない。プロセス“103”は、発生済のイベントがイベント“E31”の1つのみだからである。このため、プロセス“103”の残りのイベント“E32”、“E33”の取得は、次の定期収集タイミングT102に行われる。なお、図22のステップS54の判定を行う場合には、フロー種別“F3”のプロセスはピンポイント収集の対象とならない(ステップS54の判定はイベント数が4以上のプロセスに対して行えるものだからである)。一方、前述のように、図22のステップS54の判定を省略してもよい。この場合、ある定期収集のタイミングでイベント“E31”、“E32”が発生していれば、イベント“E33”のピンポイント収集を行えることになる。
定期収集タイミングT102でも同様にして業務サーバ200が出力するログを参照して、各プロセスのイベントの発生状況が取得される。例えば、監視サーバ100はフロー種別“F1”のプロセス“201”について、イベント“E11”、“E12”が発生していることを検出する。また、フロー種別“F2”のプロセス“152”について、イベント“E21”、“E22”、“E23”が発生していることを検出する。また、フロー種別“F3”のプロセス“103”について、イベント“E32”、“E33”が発生していることを検出する。更に、フロー種別“F3”のプロセス“203”について、イベント“E31”が発生していることを検出する。
監視サーバ100は、定期収集タイミングT102の後も同様にして、プロセス“201”のイベント“E13”、“E14”のログのピンポイント収集を行い得る(ただし、図22のステップS54の判定を行わない場合)。
以上のように、監視サーバ100によれば、処理の実行状況を効率的に取得できる。ここで、システムが出力するログを分析して業務フローの実行状況を把握するために、業務サーバ200が出力するログを定期的に収集することが考えられる。しかし、上記のように定期収集を行うタイミングによっては、業務フローに含まれるイベントのログを全て収集することができない場合がある。すると、業務フローを組み立てられないために、業務の分析が遅延し得る。
これに対して、定期収集の周期を短くすることも考えられる。しかし、ログを収集・分析する頻度が増大すると、監視サーバ100の負荷が増大し得る。また、未発生分のイベントのログを定期収集時点から継続して監視し続けることも考えられる。しかし、この場合も常時ログの監視を行うことになり、監視サーバ100の負荷が増大し得る。
そこで、監視サーバ100は、定期収集タイミングで未発生であるイベントの実行状況を、過去の実績から予測されたタイミングで取得する。したがって、次の定期収集タイミングまで待つよりも早く、未発生のイベントの実行状況を把握できる。このため、例えば、未発生のイベントに係る作業が行われていないなどの異常があれば、ユーザに早期に警告し得る。例えば、当該作業が次の定期収集タイミングまで放置されてしまうことの防止を図れる。
また、ピンポイント収集では、対象とするイベントに限定して実行状況を取得し、ピンポイント収集のタイミングでは着目するイベント、プロセスおよびフロー種別に絞って分析を行える。このため、他の業務も一緒に分析する場合に比べて、監視サーバ100の分析処理の負荷の増大を抑制できる。
特に、発生した一連のイベントを分断することなくプロセスを構成できるので、業務の定常性の判定精度を向上できる。また、ピンポイント収集において、予測された時刻付近に対象のイベントが発生しなかった場合、または、許容される範囲外で当該イベントが発生した場合は、次の定期収集を待つよりも早く、定常性を逸脱したプロセスがある旨を警告できる。
このように、未発生のイベントの発生状況を取得するための処理負荷の増大を抑制しながら、未発生のイベントの発生タイミングに合わせて、当該イベントの発生状況を迅速に確認できる。すなわち、未完了であるイベントの処理の実行状況も効率的に把握できる。その結果、定常的に行われている業務において、その定常性から逸脱した業務を即座に分析し、ボトルネックとなっている作業を把握して、業務改善を促進できる。
なお、第1の実施の形態の情報処理は、演算部1bにプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体(例えば、光ディスク13、メモリ装置14およびメモリカード16など)に記録できる。
例えば、プログラムを記録した記録媒体を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
1 情報取得装置
1a 記憶部
1b 演算部

Claims (11)

  1. 処理フローに属し順番に実行される3以上の複数の処理のうち2以上の実行済の処理それぞれが実行された各時刻を示す第1の情報を、前記複数の処理を実行する情報処理装置から取得し、
    記複数の処理それぞれが過去に実行された時刻を示す第2の情報であって記憶部に記憶された前記第2の情報に基づいて、前記複数の処理のうちの順番に実行される2つの処理の間の各時間間隔の和に対する時間間隔の比を前記2つの処理の組毎に計算し、前記2つの処理の組毎に前記比の平均を計算し、
    前記2以上の実行済の処理それぞれが実行された各時刻の時間間隔と、計算した前記比の平均とに基づいて、前記複数の処理のうち未実行の処理が実行済になるタイミングを予測し、
    測された前記タイミングで、前記未実行であった処理が実行されたか否かを示す第3の情報を前記情報処理装置から取得する、
    処理をコンピュータに実行させる情報取得プログラム。
  2. 記タイミングは、前記未実行の処理の実行が完了すると予測されたタイミングである、請求項1記載の情報取得プログラム。
  3. 記タイミングでは前記未実行の処理に限定して前記第3の情報を取得する、請求項1または2記載の情報取得プログラム。
  4. 記タイミングで前記未実行の処理が実行されていないことを検出すると、警告を行う、請求項1乃至3の何れか1項に記載の情報取得プログラム。
  5. 記タイミングは、前記未実行の処理の実行が完了すると予測されたタイミングよりも後のタイミングである、請求項1記載の情報取得プログラム。
  6. 前記第2の情報で示される前記複数の処理それぞれが実行された各時刻の時間間隔の比に基づいて、前記第3の情報を前記タイミングで個別に取得するか否かを決定する、請求項記載の情報取得プログラム。
  7. 前記複数の処理は順番に実行される4以上の処理であり、
    前記第1の情報に基づいて、実行済である3以上の処理それぞれが実行された各時刻の時間間隔の比を取得し、当該時間間隔の比と前記第2の情報で示される前記複数の処理それぞれが実行された各時刻の時間間隔の比の平均とに基づいて、前記第3の情報を前記予測されたタイミングで個別に取得するか否かを決定する、
    請求項または記載の情報取得プログラム。
  8. 前記複数の処理のうちの最初の処理が複数回実行された各時刻の時間間隔に基づいて、前記第3の情報を前記タイミングで個別に取得するか否かを決定する、請求項1、6、7の何れか1項に記載の情報取得プログラム。
  9. 前記第1の情報の取得は、所定周期で発生する複数のタイミングのうちの1つのタイミングで行われるものである、請求項1乃至の何れか1項に記載の情報取得プログラム。
  10. コンピュータが、
    処理フローに属し順番に実行される3以上の複数の処理のうち2以上の実行済の処理それぞれが実行された各時刻を示す第1の情報を、前記複数の処理を実行する情報処理装置から取得し、
    記複数の処理それぞれが過去に実行された時刻を示す第2の情報であって記憶部に記憶された前記第2の情報に基づいて、前記複数の処理のうちの順番に実行される2つの処理の間の各時間間隔の和に対する時間間隔の比を前記2つの処理の組毎に計算し、前記2つの処理の組毎に前記比の平均を計算し、
    前記2以上の実行済の処理それぞれが実行された各時刻の時間間隔と、計算した前記比の平均とに基づいて、前記複数の処理のうち未実行の処理が実行済になるタイミングを予測し、
    測された前記タイミングで、前記未実行であった処理が実行されたか否かを示す第3の情報を前記情報処理装置から取得する、
    情報取得方法。
  11. 憶部と、
    処理フローに属し順番に実行される3以上の複数の処理のうち2以上の実行済の処理それぞれが実行された各時刻を示す第の情報を、前記複数の処理を実行する情報処理装置から取得し、前記複数の処理それぞれが過去に実行された時刻を示す第2の情報であって、前記記憶部に記憶された前記第2の情報に基づいて、前記複数の処理のうちの順番に実行される2つの処理の間の各時間間隔の和に対する時間間隔の比を前記2つの処理の組毎に計算し、前記2つの処理の組毎に前記比の平均を計算し、前記2以上の実行済の処理それぞれが実行された各時刻の時間間隔と、計算した前記比の平均とに基づいて、前記複数の処理のうち未実行の処理が実行済になるタイミングを予測し、予測された前記タイミングで、前記未実行であった処理が実行されたか否かを示す第3の情報を前記情報処理装置から取得する、演算部と、
    を有する情報取得装置。
JP2013149565A 2013-07-18 2013-07-18 情報取得プログラム、情報取得方法および情報取得装置 Expired - Fee Related JP6163931B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013149565A JP6163931B2 (ja) 2013-07-18 2013-07-18 情報取得プログラム、情報取得方法および情報取得装置
US14/322,610 US9471459B2 (en) 2013-07-18 2014-07-02 Information acquisition method and information acquisition apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013149565A JP6163931B2 (ja) 2013-07-18 2013-07-18 情報取得プログラム、情報取得方法および情報取得装置

Publications (2)

Publication Number Publication Date
JP2015022475A JP2015022475A (ja) 2015-02-02
JP6163931B2 true JP6163931B2 (ja) 2017-07-19

Family

ID=52344700

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013149565A Expired - Fee Related JP6163931B2 (ja) 2013-07-18 2013-07-18 情報取得プログラム、情報取得方法および情報取得装置

Country Status (2)

Country Link
US (1) US9471459B2 (ja)
JP (1) JP6163931B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489031B2 (en) * 2014-03-10 2016-11-08 Apple Inc. Method to reduce acoustic noise induced by processor performance state changes in response to periodic application workloads
US9886699B2 (en) * 2014-04-08 2018-02-06 International Business Machines Corporation Performance based approval in CMS workflow process
US10296402B2 (en) * 2015-12-17 2019-05-21 Entit Software Llc Scheduling jobs
JP6827296B2 (ja) * 2016-11-01 2021-02-10 日本電信電話株式会社 データ通信方法
US20190026663A1 (en) * 2017-07-20 2019-01-24 Ca, Inc. Inferring time estimates in workflow tracking systems
US10416692B2 (en) 2017-09-19 2019-09-17 Apple Inc. Method and apparatus for reducing capacitor-induced noise
JP7302308B2 (ja) * 2019-06-07 2023-07-04 富士フイルムビジネスイノベーション株式会社 情報処理装置およびプログラム
CN110990144B (zh) * 2019-12-17 2022-11-08 深圳市晨北科技有限公司 一种任务确定方法及相关设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791570A (en) * 1985-05-02 1988-12-13 Eaton-Kenway, Inc. Guide wire communication system and method
JPH11138147A (ja) 1997-11-10 1999-05-25 Hitachi Ltd データ管理装置
JP3959516B2 (ja) * 2001-08-06 2007-08-15 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワークシステム、cpu資源プロバイダ、クライアント装置、処理サービスの提供方法、およびプログラム
JP2004005205A (ja) * 2002-05-31 2004-01-08 Ufit Co Ltd ジョブ進捗監視システム
JP2006171883A (ja) 2004-12-13 2006-06-29 Canon Inc 知識収集・格納・表示システム
JP2006268509A (ja) * 2005-03-24 2006-10-05 Nomura Research Institute Ltd ジョブ設定装置およびジョブ設定方法
JP4670455B2 (ja) 2005-04-22 2011-04-13 オムロン株式会社 工程異常検知システム
JP4864583B2 (ja) 2006-07-31 2012-02-01 株式会社東芝 病院内ワークフロー解析システム及び病院内ワークフロー解析プログラム
US20090100430A1 (en) * 2007-10-15 2009-04-16 Marco Valentin Method and system for a task automation tool
JP5024451B2 (ja) 2008-07-11 2012-09-12 富士通株式会社 業務フロー分析プログラム、方法及び装置
US8019858B2 (en) * 2008-09-09 2011-09-13 International Business Machines Corporation System and method for utilizing system lag to send facts to an end user
JP5463885B2 (ja) * 2009-12-07 2014-04-09 富士通株式会社 バッチジョブ処理時間推定プログラム、方法及び装置
JP5942509B2 (ja) * 2012-03-19 2016-06-29 日本電気株式会社 バッチ処理システム
US9152467B2 (en) * 2013-01-18 2015-10-06 Nec Laboratories America, Inc. Method for simultaneous scheduling of processes and offloading computation on many-core coprocessors

Also Published As

Publication number Publication date
US9471459B2 (en) 2016-10-18
US20150026699A1 (en) 2015-01-22
JP2015022475A (ja) 2015-02-02

Similar Documents

Publication Publication Date Title
JP6163931B2 (ja) 情報取得プログラム、情報取得方法および情報取得装置
US10868744B2 (en) Influence range identification method and influence range identification apparatus
US10171335B2 (en) Analysis of site speed performance anomalies caused by server-side issues
US10832181B2 (en) Management of business process key performance indicators
US20160378583A1 (en) Management computer and method for evaluating performance threshold value
US9257150B2 (en) Techniques for analyzing operations of one or more restaurants
EP3346205B1 (en) Inspection management system and inspection management method
JP2010526352A (ja) 統計的な分析を利用した性能障害管理システム及びその方法
JP2004171249A (ja) データベースのバックアップ実行判断方法
JP2006024017A (ja) コンピュータ資源のキャパシティを予測するためのシステム、方法およびプログラム
JP5634599B2 (ja) データ処理システム、データ処理方法、及び、プログラム
US20180121856A1 (en) Factor-based processing of performance metrics
JP5827425B1 (ja) 予兆診断システム及び予兆診断方法
US20130346950A1 (en) Usability testing
US20130232192A1 (en) Operations task management system and method
US7120648B2 (en) System and method for predicting execution time of a database utility command
US9262731B1 (en) Service ticket analysis using an analytics device
JPWO2012029500A1 (ja) 運用管理装置、運用管理方法、及びプログラム
JP6802122B2 (ja) 原因推定方法およびプログラム
US20140207504A1 (en) System and method of calculating task efforts and applying the results for resource planning
JP2004348640A (ja) ネットワーク管理システム及びネットワーク管理方法
JP2015064723A (ja) ジョブ管理システム
JP2009043188A (ja) 運用管理サポートシステム、プログラム
JP2009134535A (ja) ソフトウェア開発支援装置、ソフトウェア開発支援方法及びソフトウェア開発支援プログラム
US20190266548A1 (en) Project Progress Prediction Device and Project Progress Prediction System

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170523

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170605

R150 Certificate of patent or registration of utility model

Ref document number: 6163931

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees