図1は、本実施形態のメッセージ監視サーバ310を有するATM管理システム10の概略構成を示す図である。
ATM管理システム10は、ATM(制御対象機)100と、データセンター200と、監視センター300とを有している。ATM100とデータセンター200は、ネットワークで接続されており、データセンター200と監視センター300は、ネットワークで接続されている。このため、ATM100と監視センター300は、間接的に、ネットワークで接続されている。なお、ATM100と監視センター300は、直接的に、ネットワークで接続されていてもよい。データセンター200は、提携銀行のホスト400とネットワークで接続されている。監視センター300は、システムエンジニアが駐在するSE拠点500とネットワークで接続されている。ATM管理システム10の各構成要素間におけるデータや制御信号等のやりとりは、ここで述べたネットワークを介して実行することができる。
ATM100は、各拠点(例えばコンビニエンスストアやドラッグストア等)に設置された複数のATM100−1、100−2、100−3、…、100−N(Nは自然数で、例えば数千のオーダーである)を含んで構成されている。複数のATM100−1〜100−Nの各々は、自装置の稼働状態に関する「第1状態情報(ATM状態情報)」を生成して、当該第1状態情報を監視センター300のメッセージ監視サーバ310に通知する。第1状態情報の詳細については後述するが、例えば、ATMが正常に稼働している旨の情報の他、ATMの機器異常(紙幣が詰まって排出できない紙幣ジャム等)を示す情報を含んでいる。図1の例では、ATM100−2で機器異常が発生して、当該機器異常を示す第1状態情報が、監視センター300のメッセージ監視サーバ310に通知されている。
データセンター200は、ATM100(100−1〜100−N)の勘定系(ATM取引の主要機能)と情報管理系(バックアップ)の制御を包括して制御する業務サーバ(制御サーバ)として、WWWサーバ210と、DBサーバ220と、バックアップサーバ230とを有している。データセンター200のWWWサーバ210とDBサーバ220とバックアップサーバ230が提携銀行のホスト400と協働することで、ATM100(100−1〜100−N)が適正に動作する。なお、図1では、業務サーバとして3つのサーバを描いているが、実際のデータセンター200は、例えば数十のオーダーのサーバを包含していてもよい。
例えば、WWWサーバ210とDBサーバ220は、ATM100(100−1〜100−N)の勘定系(ATM取引の主要機能)の制御を担う「勘定系サーバ」として機能することができる。一方、バックアップサーバ230は、ATM100(100−1〜100−N)の情報管理系(バックアップ)の制御を担う「情報管理系サーバ」として機能することができる。
勘定系サーバであるWWWサーバ210とDBサーバ220は、データセンター200の業務サーバとして相対的に優先度が高い「最重要制御サーバ」として機能することができる。一方、情報管理系サーバであるバックアップサーバ230は、データセンター200の業務サーバとして相対的に優先度が低い「重要制御サーバ」として機能することができる。
なお、ここで述べた業務サーバ(制御サーバ)の種別、及び、最重要制御サーバと重要制御サーバの切り分けはあくまで一例にすぎず、種々の設計変更が可能である。例えば、勘定系サーバと情報管理系サーバ以外の機能を持つ他の業務サーバ(制御サーバ)を設けてもよいし、勘定系サーバと情報管理系サーバの重要度を逆にしてもよい。すなわち、勘定系サーバを相対的に優先度が低い重要制御サーバとして機能させ、情報管理系サーバを相対的に優先度が高い最重要制御サーバとして機能させてもよい。このように、最重要制御サーバと重要制御サーバのうち、一方を勘定系サーバとして、他方を情報管理系サーバとしてもよい。さらには、データセンターの業務サーバとしての優先度を三段階、四段階、五段階以上で設定してもよい。
監視センター300のメッセージ監視サーバ310は、データセンター200のWWWサーバ210とDBサーバ220とバックアップサーバ230を定期的に監視(ポーリング)している。その結果、データセンター200のWWWサーバ210とDBサーバ220とバックアップサーバ230は、自サーバや自機器の稼働状態に関する「第2状態情報(制御サーバ状態情報)」を生成して、当該第2状態情報を監視センター300のメッセージ監視サーバ310に通知する。第2状態情報の詳細については後述する。
データセンター200のWWWサーバ210とDBサーバ220とバックアップサーバ230は、制御対象機としてのATM100(100−1〜100−N)の他、自サーバや自機器のイベント情報やログ情報を含んだメッセージ(情報)を生成して、当該メッセージを監視センター300のメッセージ監視サーバ310に通知する。メッセージの詳細については後述する。
監視センター300のメッセージ監視サーバ310には、ATM100(100−1〜100−N)からの第1状態情報(ATM状態情報)、並びに、データセンター200のWWWサーバ210とDBサーバ220とバックアップサーバ230からの第2状態情報(制御サーバ状態情報)及びメッセージが入力される。メッセージ監視サーバ310は、情報管理テーブルとサーバメッセージフィルタ定義を参照して、第1状態情報(ATM状態情報)、第2状態情報(制御サーバ状態情報)及びメッセージを解析することにより、メッセージの重要度を示すランクを決定する。メッセージ監視サーバ310は、メッセージとランクとを対応付けた形で監視画面に状態を表示する。このとき、メッセージのランクに応じて、監視画面を赤色にして強調表示したり、パトライトを鳴動させたりする。監視オペレータは、監視画面に表示されたメッセージとランクを見て、必要に応じて、システムエンジニアやカスタマエンジニアに調査依頼を出すことで、インシデントを管理する(調査・復旧が行われる)。例えば、メッセージを最重要とする最重要ランクの場合、最重要インシデントとして、システムエンジニアやカスタマエンジニアに早急な調査・解決を依頼し、メッセージを重要とする重要ランクの場合、重要インシデントとして、システムエンジニアやカスタマエンジニアに調査・解決を依頼し、メッセージを無視する無視ランクの場合、対処不要とする。メッセージ監視サーバ310の具体的な構成及び制御内容並びに作用効果については後述する。
このように、本実施形態のATM管理システム10は、データセンター200に設置された業務サーバ(WWWサーバ210、DBサーバ220、バックアップサーバ230)が、各拠点におけるATM100(100−1〜100−N)のATM取引処理(勘定系)の制御と、各業務サーバのロギングなどの情報の管理・バックアップ処理(情報管理系)とを実施する集中型のシステムを採用している。
ATMはWeb型を採用しており、データセンター内のサーバ群に主な制御アプリケーションを搭載し、提携銀行ホストと電文制御、画面遷移、各種取引を実現している。本サービスの中核であるATMとデータセンター内のサーバ群が安定稼働するために、監視センターにて各システム状態を監視している。ATMからは、紙幣ジャムや取引に関する異常、データセンター内のサーバ群からは、ハードウェア、ミドルウェア、ATMアプリケーション等の各種メッセージが出力され、それらを監視サーバにて管理し、監視画面にシステムの状態を表示する。監視オペレータは監視画面を見て、異常と判断した場合、システムエンジニアやカスタマエンジニアへのトラブル調査、復旧対処の依頼を、例えば24時間365日実施している。
従来型(既存)のATM管理システムとして、業務サーバから異常を検知するメッセージが出力され、当該メッセージがサーバメッセージフィルタ定義に存在する場合は、サーバメッセージフィルタ定義に従って当該メッセージのランク(最重要ランク、重要ランク、無視ランク)を決定し、当該メッセージがサーバメッセージフィルタ定義に存在しない場合は、自動的に、当該メッセージのランクを最重要ランクに決定するものがある。
しかしながら、本発明者の鋭意研究によると、サーバメッセージフィルタ定義に存在せずに自動的に最重要ランクと決定されたメッセージの中には、実際のインシデントのレベルが無視ランク(対処不要)であるものも相当数含まれるため、オペレータ、システムエンジニア、カスタマエンジニアに無用な作業負担が掛かってしまうことが判明した。実際のインシデントのレベルが無視ランク(対処不要)であるものとしては、例えば、メンテナンス時においてサーバに設定変更(例えばアプリケーションの更新)が発生した場合が該当する。このような設定変更は、予め実施することが予定された設定変更であり、装置等の異常ではないため、オペレータがエンジニアに対して調査依頼を出す必要はない。さらに、ATM管理システムが長い間稼働していると、それまでに発生していない機器や部位(パーツ)の故障等も発生して、ますます負荷が増大してしまう。
また、サーバ、機器、OS、ミドルウェアから出力されるメッセージは、基本的に非公開であり、製品マニュアルに記載がされていないのが一般的である。このため、稼働前のシステムテストにおいて、全てのメッセージについて、サーバメッセージフィルタ定義に規定することは困難である。
一方、システムの稼働後に発生したメッセージを解析して、サーバメッセージフィルタ定義にタイムリーに反映・登録することも困難である。これは、サーバメッセージフィルタ定義を更新する場合、メンテナンス時間(例えば月に1回の決まった時間帯)でしか作業(適用)できず、他案件のメンテナンスとの作業や時間調整も必要となるからである。
このように、サーバメッセージフィルタ定義に規定されていないが、本来的には無視ランク(対処不要)に相当するメッセージに対して、サーバメッセージフィルタ定義を修正せずに、監視センター300(メッセージ監視サーバ310)において、当該メッセージを無視ランク(対処不要)と判断できる仕組みを構築することが要求される。また、サーバメッセージフィルタ定義に規定されているか否かにかかわらず、業務サーバから入力したメッセージの重要度を示すランクを適切に決定することが要求される。
本実施形態では、上記の問題点を重要な技術課題として捉えて、サーバメッセージフィルタ定義に規定していない(できていない)メッセージを検知した場合、ATMや業務サーバの稼働状態に応じて、メッセージ監視サーバにおいて当該メッセージのランクを自動的に判別する(仕分けする)。従来型(既存)のサーバメッセージフィルタ定義に規定していない(できていない)メッセージを含むサービスを提供するATM管理システムは、インフラ(サーバ・機器)が故障により起動不可であっても、ユーザがATMを使った取引が問題なくできていればよいため、ATMの稼働状況を最優先し、トラブル対応・解決の優先度を付けている。
図2は、本実施形態の基本的な技術思想を説明するための概念図である。(1)では、ATM100(100−1〜100−N)から監視センター300のメッセージ監視サーバ310に第1状態情報(ATM状態情報)が入力される。(2)では、データセンター200のWWWサーバ210とDBサーバ220とバックアップサーバ230から監視センター300のメッセージ監視サーバ310に第2状態情報(制御サーバ状態情報)が入力される。(3)では、データセンター200のWWWサーバ210とDBサーバ220とバックアップサーバ230から監視センター300のメッセージ監視サーバ310にメッセージが入力される。(4)では、監視センター300のメッセージ監視サーバ310が、(1)で入力された第1状態情報(ATM状態情報)と(2)で入力された第2状態情報(制御サーバ状態情報)に基づいて、(3)で入力されたメッセージの重要度を示すランクを決定する。
図3Aは、本実施形態のメッセージ監視サーバ310の機能ブロック図である。本実施形態のメッセージ監視方法及びメッセージ監視プログラムは、メッセージ監視サーバ310を構成するコンピュータに各種の処理ステップを実行させることにより実現される。
図3Bは、本実施形態のメッセージ監視サーバ310のハードウェア構成図である。メッセージ監視サーバ310は、CPU310Aと、DRAM310Bと、ROM310Cと、記憶部310Dと、入出力IF310Eと、通信IF310Fと、これらの各構成要素を接続するバス310Gとを有している。CPU310Aは、ROM310Cに格納される各種制御プログラムを読みこんで実行する。DRAM310Bは、制御プログラムや各種データを一時的に格納するワーキングエリアを提供する。ROM310Cは、各種制御プログラムを不揮発的に記憶する記憶媒体である。記憶部310Dは、プログラムや各種処理に用いるデータを格納し、フラッシュメモリやハードディスク等により構成される。入出力IF310Eは、コンソール等の外部機器とデータの送受信を行うものである。通信IF310Fは、ホストやATMとの通信を行うものである。これらのハードウェア構成要素が協働することで、メッセージ監視サーバ310の各機能ブロックが実現される。
図3Aに戻り、メッセージ監視サーバ310は、第1状態情報入力部(ATM状態情報入力部)311と、第2状態情報入力部(制御サーバ状態情報入力部)312と、メッセージ入力部313と、メッセージ/ランク定義部314と、ランク決定部315とを有している。また、メッセージ監視サーバ310は、ATM状態管理テーブル316と、制御サーバ状態管理テーブル317と、メッセージ管理テーブル318とを有している。
第1状態情報入力部(ATM状態情報入力部)311は、制御対象機であるATM100(100−1〜100−N)の第1状態情報(ATM状態情報)が入力される。
図4A、図4B、図4Cは、第1状態情報(ATM状態情報)のデータ構造の一例を示す図である。
図4Aに示すように、第1状態情報(ATM状態情報)は、ATMを特定する一意な情報(1から始まる連番の数字)と、直近の更新時間(西暦〇年〇月〇日〇時〇分〇秒)と、ATMの状態(0(正常)は運用可能、1(異常)は運用不可能)とを互いに紐付けたデータ構造を有している。
図4Bは、データ構造の具体例を示しており、ATM1号機〜ATM2000号機の情報に対応している。ATM1号機は、2019年11月5日の6時5分1秒に更新されて、ATMの状態は0(正常、運用可能)となっている。ATM2号機は、2019年11月5日の6時5分2秒に更新されて、ATMの状態は1(異常、運用不可能)となっている。ATM2000号機は、2019年11月5日の6時10分1秒に更新されて、ATMの状態は0(正常、運用可能)となっている。
図4Cは、ATMから通知されるメッセージ形式の一例を示している。直近の更新時間が「通知時間(2019/12/1 17:30:01)」で示され、ATMを特定する一意な情報が「ATM特定情報(ATM=#1)」で示され、ATMの状態が「Status=0」で示されている。
図5A、図5Bは、ATM起動時(正常時)、ATM稼働時(異常時)に第1状態情報(ATM状態情報)をATMからメッセージ監視サーバに通知する場合の一例を示す図である。
図5Aでは、ATM起動時(正常時)に、ATM1号機とATM2号機からメッセージ監視サーバに、正常稼働を示す第1状態情報(ATM状態情報)を通知している。メッセージ監視サーバは、管轄下にある全てのATMの状態を管理するATM状態管理テーブル316(図3)を保持しており、受け取った第1状態情報(ATM状態情報)を解析して、ATM状態管理テーブル316の該当箇所を設定(更新)する。
図5Bでは、ATM稼働時(異常時)に、ATM1号機からメッセージ監視サーバに、取引異常を示す第1状態情報(ATM状態情報)を通知している。メッセージ監視サーバは、管轄下にある全てのATMの状態を管理するATM状態管理テーブル316を保持しており、受け取った第1状態情報(ATM状態情報)を解析して、ATM状態管理テーブル316の該当箇所を設定(更新)する。
第2状態情報入力部(制御サーバ状態情報入力部)312は、制御サーバであるWWWサーバ210とDBサーバ220とバックアップサーバ230の第2状態情報(制御サーバ状態情報)が入力される。メッセージ監視サーバ310は、制御サーバ210〜230に対して定期的な生死確認(ポーリング)を行い、第2状態情報(制御サーバ状態情報)により制御サーバ210〜230の状態を管理している。
制御サーバであるWWWサーバ210とDBサーバ220とバックアップサーバ230は、金融系の重要サーバシステム(社会インフラシステム)であるため、機能サーバ毎に2台以上の冗長構成とすることが好ましい。例えば、図6では、勘定系サーバであるWWWサーバ210を3台構成とし、勘定系サーバであるDBサーバ220を2台構成とし、情報管理系サーバであるバックアップサーバ230を2台構成としている。
図7A、図7Bは、第2状態情報(制御サーバ状態情報)のデータ構造の一例を示す図である。
図7Aに示すように、第2状態情報(制御サーバ状態情報)は、サーバを特定する一意な情報(サーバ種別毎に1から始まる連番の数字)と、直近の更新時間(西暦〇年〇月〇日〇時〇分〇秒)と、サーバの状態(0(正常)は正常稼働(問題なし)、1(異常)は異常発生)とを互いに紐付けたデータ構造を有している。
図7Bは、データ構造の具体例を示しており、WWWサーバ1号機とWWWサーバ2号機とDBサーバ2号機とバックアップサーバ2号機の情報に対応している。WWWサーバ1号機は、2019年11月4日の4時30分1秒に更新されて、サーバの状態は0(正常、問題なし)となっている。WWWサーバ2号機は、2019年11月4日の4時35分1秒に更新されて、サーバの状態は1(異常発生)となっている。DBサーバ2号機は、2019年11月4日の4時40分1秒に更新されて、サーバの状態は1(異常発生)となっている。バックアップサーバ2号機は、2019年11月4日の4時40分3秒に更新されて、サーバの状態は1(異常発生)となっている。
図8は、制御サーバ異常時に第2状態情報(制御サーバ状態情報)を制御サーバからメッセージ監視サーバに通知する場合の一例を示す図である。
図8において、WWWサーバ2号機とDBサーバ2号機とバックアップサーバ2号機は、メッセージ監視サーバの生死確認(ポーリング)に応答して、サーバの状態が0(正常、問題なし)である旨の第2状態情報(制御サーバ状態情報)をメッセージ監視サーバに通知している。一方、WWWサーバ1号機は、メッセージ監視サーバの生死確認(ポーリング)に対して応答がない。これは、サーバの状態が1(異常発生)である旨の第2状態情報(制御サーバ状態情報)をメッセージ監視サーバに通知することと等価である。メッセージ監視サーバは、管轄下にある全ての制御サーバの状態を管理する制御サーバ状態管理テーブル317(図3)を保持しており、受け取った第2状態情報(制御サーバ状態情報)を解析して、制御サーバ状態管理テーブル317の該当箇所を設定(更新)する。
図9は、制御サーバ正常時に第2状態情報(制御サーバ状態情報)を制御サーバからメッセージ監視サーバに通知する場合の一例を示す図である。
図9において、WWWサーバ1号機とWWWサーバ2号機とDBサーバ2号機とバックアップサーバ2号機は、メッセージ監視サーバの生死確認(ポーリング)に応答して、サーバの状態が0(正常、問題なし)である旨の第2状態情報(制御サーバ状態情報)をメッセージ監視サーバに通知している。メッセージ監視サーバは、管轄下にある全ての制御サーバの状態を管理する制御サーバ状態管理テーブル317(図3)を保持しており、受け取った第2状態情報(制御サーバ状態情報)を解析して、制御サーバ状態管理テーブル317の該当箇所を設定(更新)する。
メッセージ入力部313は、制御サーバであるWWWサーバ210とDBサーバ220とバックアップサーバ230からのメッセージが入力される。
図10A、図10Bは、制御サーバ(業務サーバ)からのメッセージのデータ構造の一例を示す図である。
図10Aに示すように、制御サーバ(業務サーバ)からのメッセージは、メッセージが発生した時刻(西暦〇年〇月〇日〇時〇分〇秒)と、サーバを特定する一意な情報(サーバ種別毎に1から始まる連番の数字)と、メッセージ本体(サーバから出力されたメッセージとしての文字列)とを互いに紐付けたデータ構造を有している。
図10Bは、制御サーバ(業務サーバ)からのメッセージの具体例を示しており、WWWサーバ1号機とWWWサーバ2号機とWWWサーバ3号機とDBサーバ1号機とバックアップサーバ1号機のメッセージに対応している。WWWサーバ1号機は、2019年11月5日の6時5分1秒に、メッセージAAAを発生している。WWWサーバ2号機は、2019年11月5日の6時5分2秒に、メッセージBBBを発生している。WWWサーバ3号機は、2019年11月5日の6時5分2秒に、メッセージCCCを発生している。DBサーバ1号機は、2019年11月5日の6時10分1秒に、メッセージZZZを発生している。バックアップサーバ1号機は、2019年11月5日の6時10分3秒に、メッセージ111を発生している。メッセージ監視サーバは、管轄下にある全ての制御サーバ(業務サーバ)からのメッセージを管理するメッセージ管理テーブル318(図3)を保持しており、受け取った制御サーバ(業務サーバ)からのメッセージを解析して、メッセージ管理テーブル318の該当箇所を設定(更新)する。
メッセージ/ランク定義部314は、所定のメッセージと所定のランクとを対応付けて定義するものである。別言すると、メッセージ/ランク定義部314は、制御サーバ(業務サーバ)からのメッセージをサーバメッセージフィルタ定義に基づいてフィルタリングして、定義済みのメッセージにその重要度を示すランクを付与し、未定義のメッセージに対しては、後述するランク決定部315によって自動的にランクを付与するために用いられるものである。
図11は、メッセージ/ランク定義部314が保持するサーバメッセージフィルタ定義の一例を示す図である。
図11の例では、メッセージAAAに対して、当該メッセージを最重要とする最重要ランクが対応付けられて定義されており、メッセージBBBに対して、当該メッセージを無視する無視ランクが対応付けられて定義されており、メッセージCCCに対して、当該メッセージを重要とする重要ランクが対応付けられて定義されており、メッセージDDDに対して、当該メッセージを重要とする重要ランクが対応付けられて定義されている。従って、制御サーバ(業務サーバ)からのメッセージがメッセージAAA、BBB、CCC、DDDであれば、ランク決定部315に頼ることなく、当該メッセージのランクを決定することができる。
これに対して、メッセージ/ランク定義部314で定義されていない上記以外のメッセージが制御サーバ(業務サーバ)から入力された場合、サーバメッセージフィルタ定義では、当該メッセージのランクを決定することができない。そこで、ランク決定部315によって、当該メッセージのランクを決定することになる(「ランク決定処理」に移行することになる)。
ランク決定部315は、第1状態情報入力部(ATM状態情報入力部)311に入力されてATM状態管理テーブル316に保持された第1状態情報(ATM状態情報)と、第2状態情報入力部(制御サーバ状態情報入力部)312に入力されて制御サーバ状態管理テーブル317に保持された第2状態情報(制御サーバ状態情報)とに基づいて、制御サーバであるWWWサーバ210とDBサーバ220とバックアップサーバ230から入力されてメッセージ管理テーブル318に保持されたメッセージの重要度を示すランクを決定する。
より具体的に、ランク決定部315は、制御サーバであるWWWサーバ210とDBサーバ220とバックアップサーバ230から入力されてメッセージ管理テーブル318に保持されたメッセージがメッセージ/ランク定義部314に定義されていない場合に、当該メッセージの重要度を示すランクを決定する。
図12A、図12B、図12Cは、ランク決定部315によるランク決定処理の一例(事前処理)を示す第1の図である。
図12Aでは、制御サーバ(ここではWWWサーバ1号機)でイベント(ジョブの終了等)が発生して、異常や警告事象が示唆された場合に、メッセージ監視サーバ310が、制御サーバ(ここではWWWサーバ1号機)から出力されたメッセージFFFを受信して、当該メッセージがメッセージ入力部313に入力される。
図12Bでは、メッセージ監視サーバ310が、制御サーバ(ここではWWWサーバ1号機)から出力されたメッセージFFFを解析して、メッセージ管理テーブル318の該当箇所を設定(更新)する。
図12Cでは、ランク決定部315が、メッセージ/ランク定義部314を参照して、制御サーバ(ここではWWWサーバ1号機)から出力されたメッセージFFFのランク決定を試みる。ここで、図12Cに示したサーバメッセージフィルタ定義(図11と同様)では、メッセージAAA、BBB、CCC、DDDは定義されているが、制御サーバ(ここではWWWサーバ1号機)から出力されたメッセージFFFは定義されていない。そこで、ランク決定部315は、第1状態情報(ATM状態情報)と第2状態情報(制御サーバ状態情報)に基づいて、メッセージFFFのランク決定を実行する。なお、メッセージ/ランク定義部314に定義されていないメッセージのランクを暫定で「最重要」に設定した後、ランク決定部315の処理に従って当該メッセージのランクを更新(上書き)してもよい。
図13A、図13Bは、ランク決定部315によるランク決定処理の一例(本処理)を示す第2の図である。
図13Aでは、第1状態情報(ATM状態情報)と第2状態情報(制御サーバ状態情報)の組み合わせに応じて、次の(1)〜(3)の手法により、メッセージの重要度を示すランクを決定している。
(1)複数のATMの1台でも異常があれば、制御サーバの状態の如何にかかわらず、メッセージのランクを最重要ランクとする。
(2)全てのATMの状態が正常であり、制御サーバの状態が正常であれば、メッセージのランクを無視ランクとする。
(3)全てのATMの状態が正常であるが、制御サーバの状態が異常であれば、メッセージのランクを最重要ランクとする。
上記の(1)〜(3)を纏めると、ランク決定部315は、第1状態情報によって制御対象機(ATM100(100−1〜100−N))が正常であることが示され、且つ、第2状態情報によって制御サーバ(WWWサーバ210とDBサーバ220とバックアップサーバ230)が正常であることが示される場合に、ランクとして、メッセージを無視する無視ランクを決定する。また、ランク決定部315は、第1状態情報によって制御対象機(ATM100(100−1〜100−N))が異常であることが示され、且つ/又は、第2状態情報によって制御サーバ(WWWサーバ210とDBサーバ220とバックアップサーバ230)が異常であることが示される場合に、ランクとして、メッセージを最重要とする最重要ランクを決定する。
第2状態情報入力部(制御サーバ状態情報入力部)312には、第2状態情報(制御サーバ状態情報)として、最重要制御サーバ(例えば勘定系サーバとしてのWWWサーバ210とDBサーバ220)の第2−1状態情報(最重要制御サーバ状態情報)と、重要制御サーバ(例えば情報管理系サーバとしてのバックアップサーバ230)の第2−2状態情報(重要制御サーバ状態情報)とが入力される。
図13(B)では、第1状態情報(ATM状態情報)と第2−1状態情報(最重要制御サーバ状態情報)と第2−2状態情報(重要制御サーバ状態情報)の組み合わせに応じて、次の(1)〜(8)の手法により、メッセージの重要度を示すランクを決定している。
(1)複数のATMの1台でも異常があり、最重要制御サーバの状態が正常であれば、メッセージのランクを最重要ランクとする。
(2)複数のATMの1台でも異常があり、重要制御サーバの状態が正常であれば、メッセージのランクを重要ランクとする。
(3)複数のATMの1台でも異常があり、最重要制御サーバの状態が異常であれば、メッセージのランクを最重要ランクとする。
(4)複数のATMの1台でも異常があり、重要制御サーバの状態が異常であれば、メッセージのランクを重要ランクとする。
(5)全てのATMの状態が正常であり、最重要制御サーバの状態が正常であれば、メッセージのランクを無視ランクとする。
(6)全てのATMの状態が正常であり、重要制御サーバの状態が正常であれば、メッセージのランクを無視ランクとする。
(7)全てのATMの状態が正常であり、最重要制御サーバの状態が異常であれば、メッセージのランクを最重要ランクとする。
(8)全てのATMの状態が正常であり、重要制御サーバの状態が異常であれば、メッセージのランクを重要ランクとする。
上記の(1)〜(8)を纏めると、ランク決定部315は、第1状態情報によって制御対象機(ATM100(100−1〜100−N))が正常であることが示され、且つ、第2−1状態情報によって最重要制御サーバ(例えば勘定系サーバとしてのWWWサーバ210とDBサーバ220)が正常であることが示され、又は、第2−2状態情報によって重要制御サーバ(例えば情報管理系サーバとしてのバックアップサーバ230)が正常であることが示される場合に、ランクとして、メッセージを無視する無視ランクを決定する。また、ランク決定部315は、第1状態情報によって制御対象機(ATM100(100−1〜100−N))が異常であることが示され、且つ、第2−2状態情報によって重要制御サーバ(例えば情報管理系サーバとしてのバックアップサーバ230)が正常又は異常であることが示される場合、及び、第1状態情報によって制御対象機(ATM100(100−1〜100−N))が正常であることが示され、且つ、第2−2状態情報によって重要制御サーバ(例えば情報管理系サーバとしてのバックアップサーバ230)が異常であることが示される場合に、ランクとして、メッセージを重要とする重要ランクを決定する。さらに、ランク決定部315は、第1状態情報によって制御対象機(ATM100(100−1〜100−N))が異常であることが示され、且つ、第2−1状態情報によって最重要制御サーバ(例えば勘定系サーバとしてのWWWサーバ210とDBサーバ220)が正常又は異常であることが示される場合、及び、第1状態情報によって制御対象機(ATM100(100−1〜100−N))が正常であることが示され、且つ、第2−1状態情報によって最重要制御サーバ(例えば勘定系サーバとしてのWWWサーバ210とDBサーバ220)が異常であることが示される場合に、ランクとして、メッセージを最重要とする最重要ランクを決定する。
このように、制御サーバの中でも、最重要制御サーバ(例えば勘定系サーバ)と重要制御サーバ(情報管理系サーバ)とで、ランク決定の仕方を異ならせる(最重要制御サーバを優先して重み付けを行う)ことで、ATM管理システムの稼働を確保するための適切なランク決定が可能になる。
ここで、図13A、図13Bで説明したランク決定処理は一例にすぎない。例えば、図13Aにおいて、第1状態情報(ATM状態情報)と第2状態情報(制御サーバ状態情報)の組み合わせをどのように用いるか、図13Bにおいて、第1状態情報(ATM状態情報)と第2−1状態情報(最重要制御サーバ状態情報)と第2−2状態情報(重要制御サーバ状態情報)の組み合わせをどのように用いるかには自由度があり、種々の設計変更が可能である。
さらに、図13A、図13Bでは、複数のATMを一纏めにして、その1台でも異常があるか否かを基準として、メッセージのランクを決定するようにしているが、この限りではない。例えば、複数のATMを幾つかのグループに分割して、そのATMグループ毎に、異常があるATMが存在するか否かを基準として、メッセージのランクを決定してもよい。また、例えば、あるATMグループに対しては図13Aのランク決定処理を適用して、別のATMグループに対しては図13Bのランク決定処理を適用するといったように、ATMグループ毎に異なるランク決定処理を適用してもよい。
図14は、本実施形態のメッセージ監視処理の一例(サーバからのメッセージ受信処理)を示す第1のフローチャートである。
ステップS1では、制御サーバ(業務サーバ)からのメッセージを受信したか否かを判定する。制御サーバ(業務サーバ)からのメッセージを受信した場合(ステップS1:Yes)は、ステップS2に進む。制御サーバ(業務サーバ)からのメッセージを受信していない場合(ステップS1:No)は、ステップS11に進む。
ステップS2では、制御サーバ(業務サーバ)からのメッセージを解析して、その解析内容をメッセージ管理テーブルに設定(更新)する。ステップS3では、メッセージ/ランク定義部のサーバメッセージフィルタ定義を確認する。
ステップS4では、制御サーバ(業務サーバ)からのメッセージがメッセージ/ランク定義部のサーバメッセージフィルタ定義に定義(規定)されているか否かを判定する。制御サーバ(業務サーバ)からのメッセージがメッセージ/ランク定義部のサーバメッセージフィルタ定義に定義(規定)されている場合(ステップS4:Yes)は、ステップS5に進む。制御サーバ(業務サーバ)からのメッセージがメッセージ/ランク定義部のサーバメッセージフィルタ定義に定義(規定)されていない場合(ステップS4:No)は、ステップS8に進む。
ステップS5では、メッセージ/ランク定義部のサーバメッセージフィルタ定義に従って、制御サーバ(業務サーバ)からのメッセージのランクを決定する。ステップS6では、ステップS5のランク決定処理結果を記憶(メモ)する。ステップS7では、「ランク別処理」(サブルーチンで後述する)を呼び出す。ステップS7(ランク別処理)が終了すると、ステップS11に進む。
ステップS8では、「ランク決定処理」(サブルーチンで後述する)を呼び出す。ステップS9では、ステップS8のランク決定処理結果を記憶(メモ)する。ステップS10では、「ランク別処理」(サブルーチンで後述する)を呼び出す。ステップS10(ランク別処理)が終了すると、ステップS11に進む。
ステップS11では、一定時間WAIT処理を実行する。一定時間WAIT処理は、例えば、一定時間WAIT処理を実行するためのSLEEP値(例えば、0〜65535(秒)、初期値は1)を用いて実行することができる。
ステップS12では、終了割込みがあるか否かを判定する。終了割込みがない場合(ステップS12:No)は、ステップS1に戻る。終了割込みがある場合(ステップS12:Yes)は、処理を終了する。
図15、図16は、本実施形態のメッセージ監視処理の一例(ランク決定処理)を示す第2−1、第2−2のフローチャートである。
ステップS21〜ステップS23では、ATM状態管理テーブルに保持された全てのATM状態情報のうち、所定時間以内(例えば5分以内)に更新されたATM状態情報を記憶(更新)する。すなわち、ステップS21では、ATM状態管理テーブルに保持された全てのATM状態情報を確認したか否かを判定する。ATM状態管理テーブルに保持された全てのATM状態情報を確認した場合(ステップS21:Yes)は、ステップS24に進む。ATM状態管理テーブルに保持された全てのATM状態情報を確認していない場合(ステップS21:No)は、ステップS22に進み、未確認のATM状態情報を所定の順序に従って確認していく。ステップS22では、ATM状態管理テーブルが所定時間以内(例えば5分以内)に更新されたか否かを判定する。ATM状態管理テーブルが所定時間以内に更新された場合(ステップS22:Yes)は、ステップS23に進んで、更新されたATM確認情報を記憶(メモ)して、ステップS21に戻る。ATM状態管理テーブルが所定時間以内に更新されていない場合(ステップS22:No)は、ステップS21に戻る。
なお、ステップS22で用いる所定時間には自由度があり、種々の設計変更が可能であるが、直近で発生したメッセージをランク決定(仕分け)しないと実効性が小さいため、所定時間はある程度小さい値に設定することが好ましい。所定時間の設定値(例えば、0〜65535(分)、初期値は5)を用いることができる。
ステップS24では、例えば、サーバ特定情報等の入力パラメータを設定することで、制御サーバの重要度の確認処理の準備を行う。ステップS25では、「制御サーバの重要度の確認処理」(サブルーチンで後述する)を呼び出す。ステップS26では、ステップS25の制御サーバの重要度の確認処理の結果(例えば最重要制御サーバと重要制御サーバのいずれであるか)を記憶(メモ)する。
ステップS27では、例えば、サーバ特定情報等の入力パラメータを設定することで、制御サーバの状態の確認処理の準備を行う。ステップS28では、「制御サーバの状態の確認処理」(サブルーチンで後述する)を呼び出す。ステップS29では、ステップS28の制御サーバの状態の確認処理の結果(例えば正常と異常のいずれであるか)を記憶(メモ)する。
ステップS30では、ATM状態が正常と異常のいずれであるかを判定する。ATM状態が正常である場合はステップS31に進み、ATM状態が異常である場合はステップS32に進む。ステップS31では、サーバ状態が正常と異常のいずれであるかを判定する。サーバ状態が正常である場合はステップS34に進み、サーバ状態が異常である場合はステップS33に進む。
ステップS33では、サーバ(異常とされたサーバ)が最重要サーバと重要サーバのいずれであるかを判定する。サーバ(異常とされたサーバ)が最重要サーバである場合はステップS35に進み、サーバ(異常とされたサーバ)が重要サーバである場合はステップS36に進む。
ステップS32では、サーバ(異常であるかどうかは問わない)が最重要サーバと重要サーバのいずれであるかを判定する。サーバ(異常であるかどうかは問わない)が最重要サーバである場合はステップS37に進み、サーバ(異常であるかどうかは問わない)が重要サーバである場合はステップS38に進む。
ステップS34では、制御サーバ(業務サーバ)からのメッセージのランクを無視ランクに決定する。ステップS35では、制御サーバ(業務サーバ)からのメッセージのランクを最重要ランクに決定する。ステップS36では、制御サーバ(業務サーバ)からのメッセージのランクを重要ランクに決定する。ステップS37では、制御サーバ(業務サーバ)からのメッセージのランクを最重要ランクに決定する。ステップS38では、制御サーバ(業務サーバ)からのメッセージのランクを重要ランクに決定する。ステップS34、ステップS35、ステップS36、ステップS37、ステップS38のいずれかを経由して処理を終了する。
図15、図16で説明したランク決定処理を纏めると次のようになる。すなわち、ランク決定部315は、第1状態情報によって制御対象機(ATM100(100−1〜100−N))が正常であることが示され、且つ、第2状態情報によって制御サーバ(WWWサーバ210とDBサーバ220とバックアップサーバ230)が正常であることが示される場合に、ランクとして、メッセージを無視する無視ランクを決定する。また、ランク決定部315は、第1状態情報によって制御対象機(ATM100(100−1〜100−N))が異常であることが示され、且つ/又は、第2状態情報によって制御サーバ(WWWサーバ210とDBサーバ220とバックアップサーバ230)が異常であることが示される場合に、第2状態情報が最重要制御サーバ(例えば勘定系サーバとしてのWWWサーバ210とDBサーバ220)の第2−1状態情報と、重要制御サーバ(例えば情報管理系サーバとしてのバックアップサーバ230)の第2−2状態情報とのいずれであるかを判定する。さらに、ランク決定部315は、第2状態情報が最重要制御サーバ(例えば勘定系サーバとしてのWWWサーバ210とDBサーバ220)の第2−1状態情報である場合に、ランクとして、メッセージを最重要とする最重要ランクを決定し、第2状態情報が重要制御サーバ(例えば情報管理系サーバとしてのバックアップサーバ230)の第2−2状態情報である場合に、ランクとして、メッセージを重要とする重要ランクを決定する。
図17は、本実施形態のメッセージ監視処理の一例(ランク別処理)を示す第3のフローチャートである。
ステップS41では、制御サーバ(業務サーバ)からのメッセージについて決定されたランクである入力パラメータ(ランク値)が無視ランク、重要ランク、最重要ランクのいずれであるかを判定する。メッセージが無視ランクの場合はステップS42に進み、メッセージが重要ランクの場合はステップS43に進み、メッセージが最重要ランクの場合はステップS44に進む。
ステップS42では、メッセージが無視ランクであることから、ランク別の処理は行わない。ステップS43では、メッセージが重要ランクであることから、監視画面にオペレータの注意喚起を促すような警告メッセージを表示する(例えば警告メッセージに着色する)。ステップS44では、メッセージが最重要ランクであることから、監視画面にオペレータのより一層の注意喚起を促すような警告メッセージを表示する(例えば警告メッセージに着色したり点滅させたりする)とともに、パトライト鳴動等の緊急通知を行う。ステップS42、ステップS43、ステップS44のいずれかを経由して処理を終了する。
図18は、本実施形態のメッセージ監視処理の一例(サーバ重要度確認処理)を示す第4のフローチャートである。
ステップS51では、例えば第2状態情報を利用した入力パラメータ(サーバ特定情報)に基づいて、制御サーバ(業務サーバ)の重要度を特定する。その際、メッセージ監視サーバが「サーバ重要度定義テーブル」を参照することができる。このサーバ重要度定義テーブルは、例えば、勘定系サーバが最重要制御サーバであり、情報管理系サーバが重要制御サーバであることを定義(規定)したものである。
ステップS52では、制御サーバ(業務サーバ)の重要度が最重要、重要のいずれであるかを判定する。例えば、制御サーバ(業務サーバ)が勘定系サーバであれば最重要と判定し、制御サーバ(業務サーバ)が情報管理系サーバであれば重要と判定する。制御サーバ(業務サーバ)の重要度が最重要である場合はステップS53に進み、制御サーバ(業務サーバ)の重要度が重要である場合はステップS54に進む。
ステップS53では、ステップS52の判定に該当する制御サーバ(業務サーバ)を最重要サーバに設定する。ステップS54では、ステップS52の判定に該当する制御サーバ(業務サーバ)を重要サーバに設定する。ステップS53、ステップS54のいずれかを経由して、処理を終了する。
図19は、本実施形態のメッセージ監視処理の一例(サーバ状態確認処理)を示す第5のフローチャートである。
ステップS61では、例えば第2状態情報を利用した入力パラメータ(サーバ特定情報)に基づいて、制御サーバ(業務サーバ)の状態を特定する。その際、メッセージ監視サーバは、制御サーバ状態管理テーブルを参照することができる。
ステップS62では、制御サーバ(業務サーバ)の状態が正常、異常のいずれであるかを判定する。制御サーバ(業務サーバ)の状態が正常である場合はステップS63に進み、制御サーバ(業務サーバ)の状態が異常である場合はステップS64に進む。
ステップS63では、ステップS62の判定に該当する制御サーバ(業務サーバ)の状態を正常に設定する。ステップS64では、ステップS62の判定に該当する制御サーバ(業務サーバ)の状態を異常に設定する。ステップS63、ステップS64のいずれかを経由して、処理を終了する。
図20は、本実施形態のメッセージ監視処理の一例(ATM状態管理処理)を示す第6のフローチャートである。
ステップS71では、ATMからのATM状態情報(第1状態情報)を受信したか否かを判定する。ATMからのATM状態情報(第1状態情報)を受信した場合はステップS72に進む。ATMからのATM状態情報(第1状態情報)を受信していない場合はステップS73に進む。
ステップS72では、ATMからのATM状態情報(第1状態情報)を解析して、その解析内容をATM状態管理テーブルに設定(更新)する。
ステップS73では、一定時間WAIT処理を実行する。一定時間WAIT処理は、例えば、一定時間WAIT処理を実行するためのSLEEP値(例えば、0〜65535(秒)、初期値は1)を用いて実行することができる。
ステップS74では、終了割込みがあるか否かを判定する。終了割込みがない場合(ステップS74:No)は、ステップS71に戻る。終了割込みがある場合(ステップS74:Yes)は、処理を終了する。
図21は、本実施形態のメッセージ監視処理の一例(サーバ状態管理処理)を示す第6のフローチャートである。
ステップS81、ステップS82では、サーバ状態管理テーブルに保持された全てのサーバ状態情報を確認する。ステップS81では、サーバ状態管理テーブルに保持された全てのサーバ状態情報を確認したか否かを判定する。サーバ状態管理テーブルに保持された全てのサーバ状態情報を確認した場合(ステップS81:Yes)は、ステップS83に進む。サーバ状態管理テーブルに保持された全てのサーバ状態情報を確認していない場合(ステップS81:No)は、ステップS82に進み、未確認のサーバ状態情報を所定の順序に従って確認していく。ステップS82では、監視センター300(メッセージ監視サーバ310)からの生死確認(ポーリング)により該当サーバの状態(応答有無)を確認することでサーバ状態情報を取得し、取得したサーバ状態情報をサーバ状態管理テーブルに設定(更新)する。ステップS82の処理が終わると、ステップS81に戻る。
ステップS83では、一定時間WAIT処理を実行する。一定時間WAIT処理は、例えば、一定時間WAIT処理を実行するためのSLEEP値(例えば、0〜65535(秒)、初期値は1)を用いて実行することができる。
ステップS84では、終了割込みがあるか否かを判定する。終了割込みがない場合(ステップS84:No)は、ステップS81に戻る。終了割込みがある場合(ステップS84:Yes)は、処理を終了する。
以上のように、本実施形態のメッセージ監視サーバ、メッセージ監視方法及びメッセージ監視プログラムによれば、第1状態情報(ATM状態情報)と第2状態情報(制御サーバ状態情報)に基づいて、制御サーバ(業務サーバ)から入力されたメッセージの重要度を示すランクを適切に決定することができる。
上述した実施形態は、発明の理解を容易にするために具体例を示したものであり、本発明はこれらの実施形態に限定されるものではない。上述したメッセージ監視サーバ、メッセージ監視方法及びメッセージ監視プログラムは、特許請求の範囲に記載した本発明を逸脱しない範囲において、さまざまな変形、変更が可能である。
以上の実施形態では、制御対象機としてATMを用いた場合を例示して説明した。しかし、制御対象機として、制御サーバによって制御可能なATM以外の各種の取引装置(例えばコンビニエンスストアに設置されてチケットや商品の購入を行う端末装置)を用いることができる。
以上の実施形態では、メッセージ監視サーバ310のランク決定部315が、データセンター200の制御サーバ(WWWサーバ210、DBサーバ220、バックアップサーバ230)から入力されたメッセージがメッセージ/ランク定義部314に定義されていない場合に、当該メッセージの重要度を示すランクを決定する場合を例示して説明した。しかし、メッセージ監視サーバ310のランク決定部315は、一部又は全部のメッセージについて、当該メッセージがメッセージ/ランク定義部314に定義されているか否かにかかわらず、当該メッセージの重要度を示すランクを決定してもよい。
以上の実施形態では、メッセージの重要度を示すランクを、無視ランクと最重要ランクの2段階、あるいは、無視ランクと重要ランクと最重要ランクの3段階で決定する場合を例示して説明したが、メッセージの重要度を示すランクを4段階以上で決定する態様も可能である。