(57)【特許請求の範囲】
【請求項１】
所定システムのプログラムにおける各処理の入出力データ項目と当該システムのメモリ上での当該処理時の前記入出力データの格納領域との対応関係を規定した定義テーブルと、前記プログラムの仕様書と、を格納した記憶装置と、
前記システムにおける障害発生時の電文が示す当該処理の識別情報を、前記定義テーブルに照合して、当該処理時の当該入出力データ項目および前記格納領域を特定し、当該入出力データ項目および格納領域を前記障害発生時のメモリダンプに照合して、障害発生時の入出力データを特定し、前記障害発生時に動作していた当該プログラムの仕様書と前記特定した入出力データおよびその項目とを照合し、当該プログラムの仕様書が規定する各項目と前記特定した入出力データおよびその項目との対応関係を特定し、当該対応関係を示す所定情報を所定装置に出力する演算装置と、
を備えることを特徴とする障害解析支援システム。
【請求項２】
前記記憶装置は、
前記プログラムとしての業務プログラムに関して、前記定義テーブルと前記仕様書とを格納するものであり、
前記演算装置は、
前記対応関係を特定するに際し、前記障害発生時に動作していた当該業務プログラムの仕様書と前記特定した入出力データおよびその項目とを照合し、当該業務プログラムの仕様書が規定する各項目と前記特定した入出力データおよびその項目との対応関係を特定するものである、
ことを特徴とする請求項１に記載の障害解析支援システム。
【請求項３】
前記演算装置は、
前記所定情報を出力するに際し、当該業務プログラムが対応する当該業務のフロー、および、当該フロー中における当該業務プログラムが対応するサービス、の各情報を、前記仕様書から取得し、前記フロー中の当該サービスにて入出力関係にある業務プログラム群と当該業務プログラム群での当該業務プログラムの存在を示す表示情報を、前記所定情報と対応付けて前記所定装置に出力するものである、
ことを特徴とする請求項２に記載の障害解析支援システム。
【請求項４】
前記演算装置は、
前記表示情報において、当該サービスにおける当該業務プログラムと入出力関係にある他業務プログラムに関する指定を入力装置で受けた場合、前記業務プログラムに関する前記電文を入力または出力とする場合の、当該他業務プログラムに関して、前記障害発生時の入出力データおよびその項目を特定し、当該他業務プログラムの仕様書が規定する各項目と前記特定した入出力データおよびその項目との対応関係を特定し、当該対応関係を示す所定情報を所定装置に出力するものである、
ことを特徴とする請求項３に記載の障害解析支援システム。
【請求項５】
所定システムのプログラムにおける各処理の入出力データ項目と当該システムのメモリ上での当該処理時の前記入出力データの格納領域との対応関係を規定した定義テーブルと、前記プログラムの仕様書と、を格納した記憶装置を備える情報処理システムが、
前記システムにおける障害発生時の電文が示す当該処理の識別情報を、前記定義テーブルに照合して、当該処理時の当該入出力データ項目および前記格納領域を特定し、
当該入出力データ項目および格納領域を前記障害発生時のメモリダンプに照合して、障害発生時の入出力データを特定し、
前記障害発生時に動作していた当該プログラムの仕様書と前記特定した入出力データおよびその項目とを照合し、当該プログラムの仕様書が規定する各項目と前記特定した入出
力データおよびその項目との対応関係を特定し、
当該対応関係を示す所定情報を所定装置に出力する、
ことを特徴とする障害解析支援方法。
【請求項６】
前記情報処理システムが、
前記記憶装置において、前記プログラムとしての業務プログラムに関して、前記定義テーブルと前記仕様書とを格納し、
前記対応関係を特定するに際し、前記障害発生時に動作していた当該業務プログラムの仕様書と前記特定した入出力データおよびその項目とを照合し、当該業務プログラムの仕様書が規定する各項目と前記特定した入出力データおよびその項目との対応関係を特定する、
ことを特徴とする請求項５に記載の障害解析支援方法。
【請求項７】
前記情報処理システムが、
前記所定情報を出力するに際し、当該業務プログラムが対応する当該業務のフロー、および、当該フロー中における当該業務プログラムが対応するサービス、の各情報を、前記仕様書から取得し、前記フロー中の当該サービスにて入出力関係にある業務プログラム群と当該業務プログラム群での当該業務プログラムの存在を示す表示情報を、前記所定情報と対応付けて前記所定装置に出力する、
ことを特徴とする請求項６に記載の障害解析支援方法。
【請求項８】
前記情報処理システムが、
前記表示情報において、当該サービスにおける当該業務プログラムと入出力関係にある他業務プログラムに関する指定を入力装置で受けた場合、前記業務プログラムに関する前記電文を入力または出力とする場合の、当該他業務プログラムに関して、前記障害発生時の入出力データおよびその項目を特定し、当該他業務プログラムの仕様書が規定する各項目と前記特定した入出力データおよびその項目との対応関係を特定し、当該対応関係を示す所定情報を所定装置に出力する、
ことを特徴とする請求項７に記載の障害解析支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害解析支援システムおよび障害解析支援方法に関するものであり、具体的には、担当者のソースコード理解度に因らず、迅速かつ的確な障害解析を可能とする技術に関する。
【背景技術】
【０００２】
システム開発の効率向上やコスト低減等を目的に、ソースコード自動生成率の向上が図られ、また、オフショア開発委託も増加している。こうした傾向が進む中で、コーディング担当の国内技術者が減少し、ソースコードを理解する要員の不足や、要員のスキル低下が懸念される。
【０００３】
一方、システム障害発生時の原因究明手段として、ソースコード解析は依然として主要な手段である。そのため、上述した要員の不足やそのスキルの低下といった事態は、そのまま、当該システムにおける保守品質の低下につながりやすい。
【０００４】
システム障害に関連する従来技術としては、以下のような技術が提案されている。すなわち、対象となるアプリケーションに処理単位毎のログ出力処理を実装するログ出力処理実装手段と、前記対象となるアプリケーションが処理単位毎に出力したログデータを読み込み、そのログデータを分析するログ分析手段とから構成され、前記ログ分析手段が、前記処理単位毎のログデータから前記アプリケーションを構成する各処理単位の呼び出し関係を示すコールフローグラフを作成し、コールフローグラフ記憶手段に記憶させるコールフローグラフ作成手段と、前記コールフローグラフ作成手段が作成したコールフローグラフを表示し、当該コールフローグラフ中において前記アプリケーションの障害原因の一要因となる処理単位のログデータを比較元ログデータとしてユーザ選択操作によって受け付けるコールフローグラフ表示手段と、ユーザ操作によって選択された比較元ログデータの処理単位と同一処理単位を含む他の処理単位群のログデータを前記コールフローグラフ記憶手段から取得し、当該他の処理単位群のログデータを比較先ログデータリストとして生成する比較ログデータリスト生成手段と、前記比較元ログデータと前記比較先ログデータリスト内の各ログデータとを比較し、処理単位の呼び出し関係が異なるログデータを抽出して出力するログデータ比較手段とを備えるシステム（特許文献１参照）などが提案されている。
【０００５】
また、複数のデバイスが記述されるとともにデバイス間の依存関係が記述され、前記複数のデバイスの記述とデバイス間の依存関係の記述により前記複数のデバイスに対する制御アルゴリズムが定義される制御プログラムから、各デバイスの記述を抽出するデバイス抽出部と、前記制御プログラムから、デバイス間の依存関係の記述を抽出する依存関係抽出部と、前記デバイス抽出部により抽出されたデバイスの記述と前記依存関係抽出部により抽出されたデバイス間の依存関係の記述とに基づき、ノードがデバイスを表し、有向エッジがデバイス間の依存関係を表し、前記制御プログラムで定義されている制御アルゴリズムをノードと有向エッジとの接続で表す有閉路有向グラフを生成するグラフ生成部とを有する情報処理装置（特許文献２参照）なども提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２４１４２６号公報
【特許文献２】特開２０１２−２５６１７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したように、自身でソースコードを読み解いて、的確な障害対応を行える要員の増加は期待しにくい。一方、開発フェーズでは、業務理解のスキルと処理系（言語、ＯＳ）に依存するスキルとを切り分けて取り扱う傾向にあるが、保守フェーズではそうした分業が進んでいない現状もある。そのため、障害原因を切り分けるに際し、設計−実装の相違と、設計−仕様の相違、のいずれの相違に原因があるか迅速に判断することが難しいケースも頻発する。
【０００８】
そこで本発明の目的は、担当者のソースコード理解度に因らず、迅速かつ的確な障害解析を可能とする技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決する本発明の障害解析支援システムは、所定システムのプログラムにおける各処理の入出力データ項目と当該システムのメモリ上での当該処理時の前記入出力データの格納領域との対応関係を規定した定義テーブルと、前記プログラムの仕様書と、を格納した記憶装置と、前記システムにおける障害発生時の電文が示す当該処理の識別情報を、前記定義テーブルに照合して、当該処理時の当該入出力データ項目および前記格納領域を特定し、当該入出力データ項目および格納領域を前記障害発生時のメモリダンプに照合して、障害発生時の入出力データを特定し、前記障害発生時に動作していた当該プログラムの仕様書と前記特定した入出力データおよびその項目とを照合し、当該プログラムの仕様書が規定する各項目と前記特定した入出力データおよびその項目との対応関係を特定し、当該対応関係を示す所定情報を所定装置に出力する演算装置とを備えることを特徴とする。
【００１０】
また、本発明の障害解析支援システムは、所定システムのプログラムにおける各処理の入出力データ項目と当該システムのメモリ上での当該処理時の前記入出力データの格納領域との対応関係を規定した定義テーブルと、前記プログラムの仕様書と、を格納した記憶装置を備える情報処理システムが、前記システムにおける障害発生時の電文が示す当該処理の識別情報を、前記定義テーブルに照合して、当該処理時の当該入出力データ項目および前記格納領域を特定し、当該入出力データ項目および格納領域を前記障害発生時のメモリダンプに照合して、障害発生時の入出力データを特定し、前記障害発生時に動作していた当該プログラムの仕様書と前記特定した入出力データおよびその項目とを照合し、当該プログラムの仕様書が規定する各項目と前記特定した入出力データおよびその項目との対応関係を特定し、当該対応関係を示す所定情報を所定装置に出力することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、担当者のソースコード理解度に因らず、迅速かつ的確な障害解析が可能となる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態の障害解析支援システムを含むネットワーク構成図である。
【図２】本実施形態における障害解析支援システムのハードウェア構成例を示す図である。
【図３】本実施形態の構造体組立定義テーブルのデータ構成例を示す図である。
【図４】本実施形態の構造体定義テーブルのデータ構成例を示す図である。
【図５】本実施形態の設計書・ソース関連定義テーブルのデータ構成例を示す図である。
【図６】本実施形態の設計書関連定義テーブルのデータ構成例を示す図である。
【図７】本実施形態における障害解析支援方法のフロー例を示す図である。
【図８】本実施形態における電文の構成例を示す図である。
【図９】本実施形態におけるメモリダンプの構成例を示す図である。
【図１０】本実施形態における画面例を示す図である。
【発明を実施するための形態】
【００１３】
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態の障害解析支援システム１００を含むネットワーク構成図である。図１に示す障害解析支援システム１００は、担当者のソースコード理解度に因らず、迅速かつ的確な障害解析を可能とするコンピュータシステムである。
【００１４】
図１で例示するように、本実施形態の障害解析支援システム１００は、ネットワーク１０を介し、障害解析の対象となる金融機関の業務システム５０と、通信可能に接続されている。本実施形態における当該ネットワーク１０は、業務システム５０と、当該業務システム５０が電文１５０の授受を行う外部システム６０との間の通信路ともなっている。
【００１５】
そのため、障害解析支援システム１００は、業務システム５０と外部システム６０との間で授受される電文１５０を、ネットワーク１０における適宜なネットワーク機器を介してキャプチャ可能である。こうしたキャプチャ技術については既存のものを適宜に採用すればよい。
【００１６】
上述の業務システム５０は、所定の障害検知機能を備えているか、或いは適宜な障害検知装置による監視対象となっている。また、業務システム５０は、その搭載ＯＳによってメモリダンプ機能を備えている。そのため業務システム５０は、所定時間毎のメインメモリの内容、すなわちメモリダンプ１６０を記憶装置に保持している。つまり、障害検知機能等により、アベンド等を契機に障害発生が検知された場合、そのタイミングにおけるメインメモリの内容は、業務システム５０におけるメモリダンプ１６０で特定できることとなる。
【００１７】
また、上述の業務システム５０は、当該金融機関にて顧客に提供されるサービスを実現する業務プログラム５５を複数備えている。当該業務システム５０においては、複数の業務プログラム５５が互いの入力／出力データを利用し、最終的に当該取引で求められる結果を出力する構成となっている。つまり、或る取引に関してサービス提供を実現するための各業務プログラム５５は互いに入出力関係にある。また、これら各業務プログラム５５は、業務システム５０のデータベース５６にアクセスし、流動性元帳など各種のデータを利用できる。
【００１８】
なお、上述のサービスは、当該金融機関のＡＴＭや窓口端末、或いは顧客端末など種々のチャネルを起点にした取引の業務プロセス（ビジネスプロセス）と連携するものとなる。
【００１９】
例えば、普通預金や当座預金の口座に対する入金を行う、「流動性入金取引」に関する業務プロセスを想定する。この場合、ＡＴＭや窓口端末などのチャネルでの顧客指示をトリガーに業務プロセスが開始される。そして、顧客のキャッシュカード読み取りと本人認証、入金額の指定受付と現金収容、流動性元帳の残高確認と入金額の加算、結果表示、などといった一連のプロセスが当該業務システム５０にて順次実行される。
【００２０】
こうしたプロセスのうち、例えば「流動性元帳の残高確認と入金額の加算」は、「流動性入金サービス」と連携する。このサービスは、当該サービスに応じた「残高計算」などの各種の業務プログラム５５によって提供されている。
【００２１】
以上、本実施形態の障害解析支援システム１００を含むネットワーク構成について説明した。
【００２２】
−−−ハードウェア構成−−−
また、障害解析支援システム１００のハードウェア構成は以下の如くとなる。当該障害解析支援システム１００は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）やハードディスクドライブなど適宜な不揮発性記憶素子で構成される記憶装置１０１、ＲＡＭなど揮発性記憶素子で構成されるメモリ１０３、記憶装置１０１に保持されるプログラム１０２をメモリ１０３に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうＣＰＵなどの演算装置１０４、障害解析の担当者等からのキー入力や音声入力を受け付ける入力装置１０５、処理データの表示を行うディスプレイ等の出力装置１０６、ネットワーク１０と接続し他装置との通信処理を担う通信装置１０７、を備える。
【００２３】
なお、記憶装置１０１内には、本実施形態の障害解析支援システム１００として必要な機能を実装する為のプログラム１０２の他、構造体組立定義テーブル１２５、構造体定義テーブル１２６、設計書・ソース関連定義テーブル１２７、および、設計書関連定義テーブル１２８、が少なくとも記憶されている。これらテーブルの詳細については後述する。
【００２４】
−−−データ構造例−−−
続いて、本実施形態の障害解析支援システム１００が用いるテーブル類について説明する。図３に、本実施形態における構造体組立定義テーブル１２５の一例を示す。
【００２５】
当該構造体組立定義テーブル１２５は、上述の金融機関における各取引（本発明における「各処理」）の業務プログラム５５における入出力データを規定する各構造体の情報を格納したテーブルである。
【００２６】
そのデータ構造は、当該金融機関における各取引を一意に特定する取引ＩＤをキーとして、当該取引の業務プログラム５５での入出力データたる構造体のＩＤ、および、当該構造体が当該業務システム５０のメインメモリで配置される格納領域たる位置、といったデータから成るレコードの集合体である。
【００２７】
また図４に、本実施形態の構造体定義テーブル１２６のデータ構成例を示す。当該構造体定義テーブル１２６は、上述の構造体組立定義テーブル１２５で規定された各構造体の情報を格納したテーブルである。
【００２８】
そのデータ構造は、各構造体を一意に特定する構造体ＩＤをキーとして、当該構造体が含むデータ項目とそのデータサイズといったデータから成るレコードの集合体である。
【００２９】
なお、上述の構造体組立定義テーブル１２５と構造体定義テーブル１２６をあわせて、本発明における定義テーブルとなる。
【００３０】
また図５に、本実施形態の設計書・ソース関連定義テーブル１２７のデータ構成例を示す図である。当該設計書・ソース関連定義テーブル１２７は、上述の業務システム５０における各業務プログラム５５のソースと設計書や仕様書の情報について定義したテーブルである。
【００３１】
そのデータ構造は、業務プログラム５５のプログラムソースを一意に特定するＩＤをキーとして、当該プログラムソースに関するプログラム仕様書のＩＤ、当該プログラム仕様
書におけるインターフェイスに関する規定を記述したインターフェイス仕様書のＩＤ、といったデータを対応付けたレコードの集合体である。
【００３２】
また図６に、本実施形態の設計書関連定義テーブル１２８のデータ構成例を示す図である。当該設計書関連定義テーブル１２８は、プログラム仕様書のロジック定義で記述されたセクションに関係する各仕様書の情報を規定したテーブルである。このセクションは、プログラムソースのロジックのうち、「入力項目をチェックする」、「○○計算を行う」、「出力データを作成する」などといった各処理内容に対応した部分に該当する。
【００３３】
そのデータ構造は、プログラム仕様書のＩＤをキーとして、当該プログラム仕様書の各セクションでの処理に関して規定した、プログラム仕様書以外の各仕様書のＩＤを対応付けたレコードの集合体である。このプログラム仕様書以外の仕様書とは、例えば、「入力項目をチェックする」セクションでの処理に関して規定した「チェック仕様書」、「○○計算を行う」セクションでの処理に関して規定した「計算仕様書」、「出力データを作成する」セクションに関して規定した「出力編集仕様書」などである。勿論、これらの仕様書は一例であり、業務プログラム５５のプログラムソースにおけるロジックの各セクションに応じ、他の様々な仕様書が更に連携しているとしてもよい。
【００３４】
−−−フロー例−−−
以下、本実施形態における障害解析支援方法の実際手順について図に基づき説明する。以下で説明する障害解析支援方法に対応する各種動作は、障害解析支援システム１００がメモリ等に読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００３５】
図７は、本実施形態における障害解析支援方法のフロー例を示す図である。ここで、所定の金融機関における業務システム５０にてアベンドが発生したとする。そこで、障害解析支援システム１００が、このアベンド発生について当該業務システム５０の障害検知装置等から通知を受けたとする。
【００３６】
一方、障害解析支援システム１００は、上述の通知が示すアベンド発生時刻を含む所定時間帯に、上述の業務システム５０と外部システム６０との間で授受される電文１５０を、ネットワーク１０のパケットキャプチャ装置等から取得する（ｓ１００）。
【００３７】
また、障害解析支援システム１００は、ｓ１００で得た電文１５０のうち、アベンド発生時刻またはその直近に授受されていた電文、すなわち当該業務システム５０における障害発生時の電文から、当該取引の識別情報たる取引ＩＤを抽出する（ｓ１０１）。
【００３８】
図８に、このアベンド発生時刻またはその直近に授受されていた電文１５０の構成例を示す。この電文１５０は、そのヘッダーで取引ＩＤとして「ＢＦ１００００１」の値を保持している。よって障害解析支援システム１００は、上述のｓ１０１で取引ＩＤとして「ＢＦ１００００１」の値を抽出することになる。
【００３９】
次に障害解析支援システム１００は、抽出した取引ＩＤ「ＢＦ１００００１」の値を、構造体組立定義テーブル１２５に照合して、当該取引の入出力データである構造体のＩＤと、メインメモリでの当該構造体の格納領域たる位置の各情報を特定する（ｓ１０２）。図３で示した構造体組立定義テーブル１２５の例であれば、当該ｓ１０２において、取引ＩＤ「ＢＦ１００００１」に紐付く、構造体ＩＤ「構造体１」、「構造体２」・・・と、その位置「９」、「４５」、・・・が特定されることになる。
【００４０】
続いて障害解析支援システム１００は、上述の業務システム５０より、上述のアベンド
発生時刻またはその直近のメモリダンプ１６０を取得する（ｓ１０３）。勿論、障害解析支援システム１００は、このメモリダンプ１６０を、予め一定時間ごとに業務システム５０から取得し、記憶装置１０１にて保持しているとしてもよい。この場合、障害解析支援システム１００は記憶装置１０１からメモリダンプ１６０を取得することになる。
【００４１】
次に障害解析支援システム１００は、
上述のｓ１０２で特定した、当該入出力データ項目および格納領域の位置の各情報を、ｓ１０３で得ているアベンド発生時のメモリダンプ１６０に照合して、アベンド発生時の入出力データを特定する（ｓ１０４）。
【００４２】
図９に、本実施形態におけるメモリダンプ１６０の構成例を示す。ｓ１０４での処理で特定される、この図９で示すメモリダンプ１６０における各領域の入出力データについて概説する。この場合、領域１６１の格納データは、「構造体１」が規定する入出力データである。当該領域１６１を構成する領域１６１１は、「構造体１」が規定する入出力データのうちデータ項目「口座番号」の値を格納する領域である。また、同様に領域１６１２は、「構造体１」が規定する入出力データのうちデータ項目「預金残高」の値を格納する領域である。なお、領域１６２の格納データは、「構造体２」が規定する入出力データであり、領域１６３の格納データは、「構造体３」が規定する入出力データである。
【００４３】
こうした場合、障害解析支援システム１００は、上述のステップｓ１０４の結果、アベンド発生時の業務プログラム５５における入力データとして、取引ＩＤ「ＢＦ１００００１」に関して、口座番号「１２３４５６７８」、入金額「１０，０００」、商品コード「１２３４」、などといった各データ項目の値を、また、出力データとして、取引ＩＤ「ＢＦ１００００１」に関して、口座番号「１２３４５６７８」、預金残高「１，０８０，０００」、などといった各データ項目の値を取得し（ｓ１０５）、これをメモリ１０３に一旦保持する。
【００４４】
続いて、障害解析支援システム１００は、上述の業務システム５０に関して稼働している既存のプログラムトレース機能（特公昭６３−１２３０４号公報等の既存技術）より、プログラムトレース情報を取得し、当該プログラムトレース情報からアベンド発生時に動作していた業務プログラム５５を特定する（ｓ１０６）。この処理は、プログラムトレース情報のうち、所定のアベンドコードの直前のプログラムソースのＩＤを特定する処理となる。いずれにしても、こうした、プログラムトレース情報から、アベンド発生時に動作していた業務プログラム５５のプログラムソースＩＤを特定する技術は、既存のものを適宜に採用すればよい。
【００４５】
次に障害解析支援システム１００は、上述のｓ１０６で特定したプログラムソースＩＤをキーに、設計書・ソース関連定義テーブル１２７（図５）にて検索を実行して、当該プログラムソースに関するプログラム仕様書のＩＤ、当該プログラム仕様書におけるインターフェイスに関する規定を記述したインターフェイス仕様書のＩＤ、を特定し、対応するファイルを適宜なリポジトリから取得する（ｓ１０７）。このリポジトリは障害解析支援システム１００の記憶装置１０１に予め保持するものであってもよいし、当該障害解析支援システム１００が、ネットワーク等を介してアクセス可能なサーバ等で保持するものであってもよい（以下同様）。
【００４６】
次に障害解析支援システム１００は、上述のｓ１０７で特定したプログラム仕様書のＩＤをキーに、設計書関連定義テーブル１２８（図６）にて検索を実行し、当該プログラム仕様書の各セクションでの処理に関して規定した、プログラム仕様書以外の各仕様書のＩＤを特定し、対応するファイルを適宜なリポジトリから取得する（ｓ１０８）。
【００４７】
ここで特定される、プログラム仕様書以外の仕様書とは、例えば、「入力項目をチェックする」セクションでの処理に関して規定した「チェック仕様書」、「○○計算を行う」セクションでの処理に関して規定した「計算仕様書」、「出力データを作成する」セクションに関して規定した「出力編集仕様書」などである。
【００４８】
次に障害解析支援システム１００は、ｓ１０７、ｓ１０８で得た各仕様書と、ｓ１０４、ｓ１０５で得た、各データ項目の入出力データの値とを照合し、当該業務プログラム５５（ｓ１０６で特定したアベンド発生時に動作していたもの）に関する各仕様書が規定する各項目と、当該各データ項目の入出力データの値との対応関係を特定する（ｓ１０９）。
【００４９】
例えば、取引「ＢＦ１００００１」において、アベンド発生時に動作していた業務プログラム５５（ｓ１０６で特定）が「残高計算」に関するプログラムであったとする。また、この残高計算の業務プログラム５５のプログラム仕様書（ｓ１０７で特定）では、処理内容として「流動性元帳から預金残高を取得し、入金金額を加算する」という定義がなされていたとする。また、
この場合、障害解析支援システム１００は、ｓ１０５で得てメモリ１０３で取引ＩＤ「ＢＦ１００００１」に関して保持している、アベンド発生時の業務プログラム５５における入力データ、すなわち、口座番号「１２３４５６７８」、入金額「１０，０００」、商品コード「１２３４」などといった各データ項目の値と、また、出力データとして、取引ＩＤ「ＢＦ１００００１」に関して、口座番号「１２３４５６７８」、預金残高「１，０８０，０００」、などといった各データ項目の値を、プログラム仕様書の定義「流動性元帳から預金残高を取得し、入金金額を加算する」と照合する。
【００５０】
なお、照合の判定条件としては、文字列が一致すること、文字列が類似していること、類語として対応関係が定義されていること、などの条件が挙げられるが、これに限らない。
【００５１】
その結果、障害解析支援システム１００は、プログラム仕様書の定義「預金残高」と対応するデータ項目「預金残高」を出力データから、また、「入金金額」と対応するデータ項目「入金額」を入力データから、それぞれ特定し、当該データ項目の値として、「預金残高」の値「１，０８０，０００」、「入金金額」の値「１０，０００」の各値を得る（ｓ１１０）。
【００５２】
また、障害解析支援システム１００は、当該業務プログラム５５に関し特定したプログラム仕様書から、当該取引「ＢＦ１００００１」のフロー、および、当該フロー中における当該業務プログラム５５が対応するサービス、の各情報を取得する（ｓ１１１）。
【００５３】
次に、障害解析支援システム１００は、ｓ１１１で得たフローおよびサービスの各情報に、ｓ１１０で得ているプログラム仕様書の定義と対応した各データ項目の値とに基づき、当該フロー中の当該サービスにて入出力関係にある業務プログラム群と当該業務プログラム群での当該業務プログラム５５（ｓ１０６で特定したもの）の存在を示す表示情報を生成し、出力装置１０６に出力する（ｓ１１２）。
【００５４】
こうした情報を出力した画面１０００の例を図１０に示す。この画面１０００で例示するように、取引ＩＤ「ＢＦ１００００１」なる「流動性入金取引」のフロー１０１０と、当該フロー１０１０のうちアベンド発生時のサービス「流動性入金サービス」のアイコン１０１１と、当該「流動性入金サービス」を提供する業務プログラム５５のアイコン１０２１を含む業務プログラム群１０２０と、当該業務プログラム５５と入出力を行う流動性元帳を示すアイコン１０３０、とをあわせて出力することになる。ここで、入出力関係に
ある業務プログラム同士や、業務プログラムと流動性元帳の各アイコン間は、適宜な有向矢印等で連結した表示形態となる。
【００５５】
また、こうしたフロー等の表示の下部には、当該業務プログラム５５における入力データおよび出力データ、すなわち入出力データを示すテーブル１０４０、１０５０と、これらテーブル１０４０、１０５０のデータ項目と対応関係を持つプログラム仕様書を示すテーブル１０６０とがあわせて表示されることになる。ここで、入出力データにおけるデータ項目のうちプログラム仕様書の定義中で規定されているものについては、テーブル１０４０、１０５０における各データ項目の値と、テーブル１０６０の定義中の対応文字列との間が、破線などの適宜な描画要素で連結され、その対応関係を明示する形態となっている。
【００５６】
こうした静的な状態を示す仕様書等に、メモリダンプ解析結果である動的情報（入出力データのデータ項目とその値）を対応付けて画面表示することで、これを閲覧する障害解析の担当者等は、仕様書等の情報からアベンド停止した業務システム５０の状態を解析可能で、設計と実装のどちらにアベンド原因があるか早期に特定出来る。
【００５７】
なお、こうした担当者は、上述の画面１０００における業務プログラム群１０２０において、アベンド発生時に動作していた業務プログラム５５のアイコン１０２１と入出力関係にある、他業務プログラムに関して、アイコン１０２１の業務プログラム５５と同様の情報を確認したいケースがある。その場合の担当者は、マウス等の入力装置１０５を操作し、所望の他業務プログラムのアイコン１０２２に対する指定動作を行う。
【００５８】
この場合の障害解析支援システム１００は、アイコン１０２１の業務プログラム５５に関する電文１５０（ｓ１００，ｓ１０１で特定したアベンド発生時刻またはその直近に授受されていた電文）、を入力または出力とする場合の、当該他業務プログラムに関して、ｓ１０２〜ｓ１０４と同様の処理を実行し、アベンド発生時の入出力データおよびその項目を特定する。
【００５９】
また、障害解析支援システム１００は、ｓ１０５〜ｓ１０９と同様の処理を実行し、当該他業務プログラムのプログラム仕様書での定義中の項目と、上述で特定した入出力データのデータ項目との対応関係を特定する。
【００６０】
また、障害解析支援システム１００は、ｓ１１０〜ｓ１１２と同様の処理を実行し、画面１０００と同様の内容の画面データを、当該他業務プログラムに関して生成し、出力装置１０６に出力することとなる。このように、障害対応の担当者が所望する業務プログラムに関して、業務プログラム群における入出力関係を踏まえて表示内容を再計算し、出力することが可能である。
【００６１】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【００６２】
こうした本実施形態によれば、静的な状態を示すプログラム仕様書に、メモリダンプ解析結果である動的情報を付加して担当者に提示出来る。この場合、当該担当者は、該当システムにおける障害原因を切り分けする際の第一判断として、設計−実装の相違と設計−仕様の相違のうち、ソースコード理解が不要な、仕様の相違が原因であることを早期に特定でき、ひいては、障害対応の初動を早めることが可能になる。このことは、ソースコード理解力を備えた貴重な要員を、そのスキルが実際に要求される、設計−実装の相違に基づく障害への対応業務に割り当てることにつながる。
【００６３】
すなわち、担当者のソースコード理解度に因らず、迅速かつ的確な障害解析が可能となる。
【００６４】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の障害解析支援システムにおいて、前記記憶装置は、前記プログラムとしての業務プログラムに関して、前記定義テーブルと前記仕様書とを格納するものであり、前記演算装置は、前記対応関係を特定するに際し、前記障害発生時に動作していた当該業務プログラムの仕様書と前記特定した入出力データおよびその項目とを照合し、当該業務プログラムの仕様書が規定する各項目と前記特定した入出力データおよびその項目との対応関係を特定するものである、としてもよい。
【００６５】
これによれば、例えば金融機関の取引業務等に対応して、当該金融機関の業務システムでの障害発生時、問題のあった業務プログラムとその仕様等を特定し、所定の担当者に提示することが可能となる。ひいては、担当者のソースコード理解度に因らず、問題箇所を特定、表示し、迅速かつ的確な障害解析が可能となる。
【００６６】
なお、本実施形態の障害解析支援システムは、前記定義テーブルをデータベースに格納・保持する形態以外に、プログラミング言語の構造体や、ＸＭＬ等の定義体として定義し、保持するとしてもよい。
【００６７】
また、本実施形態の障害解析支援システムにおいて、前記演算装置は、前記所定情報を出力するに際し、当該業務プログラムが対応する当該業務のフロー、および、当該フロー中における当該業務プログラムが対応するサービス、の各情報を、前記仕様書から取得し、前記フロー中の当該サービスにて入出力関係にある業務プログラム群と当該業務プログラム群での当該業務プログラムの存在を示す表示情報を、前記所定情報と対応付けて前記所定装置に出力するものである、としてもよい。
【００６８】
これによれば、上述の金融機関の取引業務等における、障害発生対象のサービス、およびその業務プログラムと、当該業務プログラムでの入出力データについて、該当する仕様書の内容とあわせて担当者に提示できる。ひいては、担当者のソースコード理解度に因らず、問題箇所を特定、表示し、迅速かつ的確な障害解析が可能となる。
【００６９】
また、本実施形態の障害解析支援システムにおいて、前記演算装置は、前記表示情報において、当該サービスにおける当該業務プログラムと入出力関係にある他業務プログラムに関する指定を入力装置で受けた場合、前記業務プログラムに関する前記電文を入力または出力とする場合の、当該他業務プログラムに関して、前記障害発生時の入出力データおよびその項目を特定し、当該他業務プログラムの仕様書が規定する各項目と前記特定した入出力データおよびその項目との対応関係を特定し、当該対応関係を示す所定情報を所定装置に出力するものである、としてもよい。
【００７０】
これによれば、上述の金融機関の取引業務等における、障害発生対象のサービスのうち、電文が示す業務プログラムを中心とし、その業務プログラムと入出力関係にある他業務プログラムについて、入出力データと該当する仕様書の内容とあわせて担当者に提示できる。ひいては、担当者のソースコード理解度に因らず、プログラム構造に応じて問題箇所を特定、表示し、迅速かつ的確な障害解析が可能となる。
【００７１】
また、本実施形態の障害解析支援方法において、前記情報処理システムが、前記記憶装置において、前記プログラムとしての業務プログラムに関して、前記定義テーブルと前記仕様書とを格納し、前記対応関係を特定するに際し、前記障害発生時に動作していた当該業務プログラムの仕様書と前記特定した入出力データおよびその項目とを照合し、当該業
務プログラムの仕様書が規定する各項目と前記特定した入出力データおよびその項目との対応関係を特定する、としてもよい。
【００７２】
また、本実施形態の障害解析支援方法において、前記情報処理システムが、前記所定情報を出力するに際し、当該業務プログラムが対応する当該業務のフロー、および、当該フロー中における当該業務プログラムが対応するサービス、の各情報を、前記仕様書から取得し、前記フロー中の当該サービスにて入出力関係にある業務プログラム群と当該業務プログラム群での当該業務プログラムの存在を示す表示情報を、前記所定情報と対応付けて前記所定装置に出力する、としてもよい。
【００７３】
また、本実施形態の障害解析支援方法において、前記情報処理システムが、前記表示情報において、当該サービスにおける当該業務プログラムと入出力関係にある他業務プログラムに関する指定を入力装置で受けた場合、前記業務プログラムに関する前記電文を入力または出力とする場合の、当該他業務プログラムに関して、前記障害発生時の入出力データおよびその項目を特定し、当該他業務プログラムの仕様書が規定する各項目と前記特定した入出力データおよびその項目との対応関係を特定し、当該対応関係を示す所定情報を所定装置に出力する、としてもよい。
【符号の説明】
【００７４】
１０    ネットワーク
５０    業務システム
５５    業務プログラム
５６    データベース
６０    外部システム
１００  障害解析支援システム
１０１  記憶装置
１０２  プログラム
１０３  メモリ
１０４  演算装置
１０５  入力装置
１０６  出力装置
１０７  通信装置
１２５  構造体組立定義テーブル
１２６  構造体定義テーブル
１２７  設計書・ソース関連定義テーブル
１２８  設計書関連定義テーブル
１５０  電文
１６０  メモリダンプ
１６１  領域
１６１１  領域
１６１２  領域
１６２  領域
１６３  領域
１０００  画面
１０１０  フロー
１０１１  アイコン
１０２０  業務プログラム群
１０２１  アイコン
１０３０  アイコン
１０４０  テーブル
１０５０  テーブル
１０６０  テーブル
【図１】
0006527101.tif 000002
【図２】
0006527101.tif 000003
【図３】
0006527101.tif 000004
【図４】
0006527101.tif 000005
【図５】
0006527101.tif 000006
【図６】
0006527101.tif 000007
【図７】
0006527101.tif 000008
【図８】
0006527101.tif 000009
【図９】
0006527101.tif 000010
【図１０】
0006527101.tif 000011