(57)【要約】【課題】セキュリティを確保した上で、効率良く障害解析を行えるようにする。【解決手段】データ処理装置は、利用者環境２２で障害が発生した場合、利用者環境２２を調査用環境２３で再現することによって障害の原因を解析する。この際、利用者環境２２で作成された操作ログを取得し、操作ログ内で利用者環境２２の操作者が入力した入力データを加工する。入力データの加工は、文字列の長さと文字種の配列が加工前後で一致するように行われる。さらに、加工前後のデータを対応付ける加工テーブル５１を作成し、同じ文字列は加工後の文字列が同じになるようにした。【選択図】図７
2014235568.tif 000002
【特許請求の範囲】
【請求項１】
障害が発生した端末の操作ログに含まれるメッセージから前記端末の操作者の入力データと抽出するログ操作部と、
前記入力データを加工し、前記入力データの文字数と文字種の配列が加工前後で一致する加工データを作成するデータ加工部と、
前記入力データを前記加工データに置き換え、前記操作ログを操作時間と、処理のステップ毎に配列した調査用操作ログを作成するデータ変換部と、
を含むことを特徴とする障害解析に使用されるデータ処理装置。
【請求項２】
前記データ加工部は、１つの前記入力データが同じ文字を２つ以上含む場合、２回目以降に出現する同じ文字又は数字に、１回目に出現した文字又は数字の加工後のデータと同じデータを割り当てるように構成したことを特徴とする請求項１に記載の障害解析に使用されるデータ処理装置。
【請求項３】
前記入力データと、対応する前記加工データを障害毎に関連付けて格納する加工テーブルと、
前記データ加工部の加工候補として前記入力データで前記加工テーブルを検索するデータ検索部と、
を含み、
同じ前記入力データは、同じ加工データに加工されるように構成したことを特徴とする請求項１又は請求項２に記載の障害解析に使用されるデータ処理装置。
【請求項４】
障害が発生した端末の操作ログに含まれるメッセージから前記端末の操作者の入力データと抽出する処理と、
前記入力データを加工し、前記入力データの文字数と文字種の配列が加工前後で一致する加工データを作成する処理と、
前記入力データを前記加工データに置き換え、前記操作ログを操作時間と、処理のステップ毎に配列した調査用操作ログを作成する処理と、
をコンピュータに実行させることを特徴とする障害解析に使用されるデータ処理装置のプログラム。
【請求項５】
障害が発生した端末の操作ログを取得し、前記操作ログに含まれるメッセージから前記端末の操作者の入力データと抽出する工程と、
前記入力データを文字数と文字種の配列が加工前後で一致するように前記入力データを加工し、加工データを作成する工程と、
前記入力データを前記加工データに置き換え、前記操作ログを操作時間と、処理のステップ毎に配列した調査用操作ログを作成する処理と、
を含むことを特徴とする障害解析に使用されるデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害解析に使用されるデータ処理装置及びデータ処理装置のプログラム並びに障害解析に使用されるデータ処理方法、障害解析に使用されるデータ処理方法に関する。
【背景技術】
【０００２】
ＰａａＳ（Platform as a Service）や、ＳａａＳ（Software as a Service）のようなクラウド・サービスを提供する場合には、サービスの利用者が契約購入した環境下でコンピュータ処理を実行することが可能である。ところが、クラウド・サービスでは、利用者が処理を実行する過程で障害が発生することがある。この場合、サービスの提供者は、利用者が使用する環境で生じた障害を再現させることによってデバックや資料収集を行い、障害の解消を図っている。ここで、サービスの提供者側の環境で障害を再現させるためには、障害が発生したときのデータや、ログ等が必要になる。
【０００３】
従来では、障害を再現するときには、障害調査用のシステム環境を新しく構築し、利用者資産を障害調査用環境に移管し、障害発生に至るアプリケーションの操作手順などの障害再現手順を入手するというステップを踏んでいた。例えば、調査用環境下で障害を再現させる場合には、擬似環境を構築するための情報と、各環境における設定の情報のそれぞれを予めデータベースとして保持しておき、利用者が入力した情報に基づいて設計情報を作成し、設計情報から仮想ＯＳ環境を構築することによって調査用環境を形成している。    
【０００４】
また、利用者資産を障害調査用環境に移管するときには、アプリケーションや、アプリケーションデータ、アプリケーション実行に必要なデータ、利用者の環境設定情報などのデータを利用者から提供してもらう必要がある。ところが、データやログには、個人情報・機密情報が含まれていることが多くあり、障害が発生した利用者が使用する環境からデータやログを持ち出して解析するときには、セキュリティを保持するためにデータをマスク処理する必要がある。
【０００５】
従来では、機密情報を取り扱うときには、ログフォーマットの情報に基づき、ログデータより、メッセージとデータを分離し、データ部分のみマスク処理していた。また、機密情報を処理する方法の他の例としては、印刷エラーの原因特定のために、文字を指定するコードは変更するものの、文字の属性は保持することが記載されている。この場合、文字コードは、ランダムに変更される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−８６０１４号公報
【特許文献２】特開２０１２−１９０３４５号公報
【特許文献３】特開２０１０−２６９４９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、機密情報の処理方法によっては、障害を再現できないことがあった。例えば、マスク処理の前後で文字数が異なってしまった場合や、複数の操作で同じデータを入力しているのにも係らずに、データの連携が図れずに、異なる文字列として処理された場合や、文字種が維持されていない場合には、調査用環境下で障害を再現させることが困難であった。また、障害の再現に必要な情報が利用者の判断によって省略されることがある。このような場合には、障害を正しく解析することが困難になる。
【０００８】
さらに、障害発生原因の解析のためには、メッセージ単独ではなく、一連のメッセージ出力の経緯や、処理のステップ毎にメッセージの内容を特定することが重要になる。しかしながら、メッセージ部分は除外しデータ部分のみがマスク処理されていた場合には、メッセージ間の対応付けが失われ、障害発生原因の解析に支障が生じる場合がある。
【０００９】
また、アプリケーションや、アプリケーションデータ、アプリケーション実行に必要なデータ、利用者の環境情報といった利用者資産を使用して障害を再現するための環境を設定する作業では、ミドルウェアやデータベースの構築、アプリケーションの設定などを実施していたので、作業に手間がかかっていた。
【００１０】
従って、１つの側面として、セキュリティを確保した上で、効率良く障害解析を行えるようにすることが望まれていた。
【課題を解決するための手段】
【００１１】
実施形態の一観点によれば、障害が発生した端末の操作ログに含まれるメッセージから前記端末の操作者の入力データと抽出するログ操作部と、前記入力データを加工し、前記入力データの文字数と文字種の配列が加工前後で一致する加工データを作成するデータ加工部と、前記入力データを前記加工データに置き換え、前記操作ログを操作時間と、処理のステップ毎に配列した調査用操作ログを作成するデータ変換部を含むことを特徴とする障害解析に使用されるデータ処理装置が提供される。
【００１２】
また、実施形態の別の観点によれば、障害が発生した端末の操作ログに含まれるメッセージから前記端末の操作者の入力データと抽出する処理と、前記入力データを加工し、前記入力データの文字数と文字種の配列が加工前後で一致する加工データを作成する処理と、前記入力データを前記加工データに置き換え、前記操作ログを操作時間と、処理のステップ毎に配列した調査用操作ログを作成する処理をコンピュータに実行させることを特徴とする障害解析に使用されるデータ処理装置のプログラムが提供される。
【００１３】
さらに、実施形態の別の観点によれば、障害が発生した端末の操作ログを取得し、前記操作ログに含まれるメッセージから前記端末の操作者の入力データと抽出する工程と、前記入力データを文字数と文字種の配列が加工前後で一致するように前記入力データを加工し、加工データを作成する工程と、前記入力データを前記加工データに置き換え、前記操作ログを操作時間と、処理のステップ毎に配列した調査用操作ログを作成する処理と、を含むことを特徴とする障害解析に使用されるデータ処理方法が提供される。
【発明の効果】
【００１４】
機密を保持しながら障害の解消を図ることが可能になる。文字種やその配列、文字数に起因して発生した障害であっても、加工後のデータから障害を確実に再現することが可能になる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の実施の形態に係るデータ処理システムの概略構成の一例を示す図である。
【図２】図２は、本発明の実施の形態に係るデータ処理システムによって提供されるクラウドシステムの概念の一例を示す図である。
【図３】図３は、本発明の実施の形態に係るデータ処理システムのデータ処理装置を機能分割の一例を示す図である。
【図４】図４は、本発明の実施の形態に係るデータ処理システムにおいて障害が発生したときの調査の流れと、加工データの管理の概念の一例を説明する図である。
【図５】図５は、本発明の実施の形態に係るデータ処理システムにおける機密データの加工例であって、（ａ）は従来のランダムな加工例を、（ｂ）は実施形態に係る加工例をそれぞれ示す図である。
【図６】図６は、本発明の実施の形態に係るデータ処理システムにおける機密データの別の加工例であって、（ａ）は従来のランダムな加工例を、（ｂ）は実施形態に係る加工例をそれぞれ示す図である。
【図７】図７は、本発明の実施の形態に係るデータ処理システムにおける解析処理の一例を示すフローチャートである。
【図８】図８は、本発明の実施の形態に係るデータ処理システムにおける解析処理の対象となる操作ログの一例を示す図である。
【図９】図９は、本発明の実施の形態に係るデータ処理システムにおいて顧客投入データを抽出したときのデータ構成の一例を示す図である。
【図１０】図１０は、本発明の実施の形態に係るデータ処理システムにおいて顧客投入データを加工したときの対応の一例を説明する図である。
【図１１】図１１は、本発明の実施の形態に係るデータ処理システムにおいてＵＩ操作ログを数値変換するときに使用するテーブルの一例を示す図である。
【図１２】図１２は、本発明の実施の形態に係るデータ処理システムで作成される調査用操作ログの構成の一例を示す図である。
【発明を実施するための形態】
【００１６】
発明の目的及び利点は、請求の範囲に具体的に記載された構成要素及び組み合わせによって実現され達成される。
前述の一般的な説明及び以下の詳細な説明は、典型例及び説明のためのものであって、本発明を限定するためのものではない。
【００１７】
図１に示すように、データ処理システム１は、クラウド・サービスを提供するデータ処理装置２と、ネットワーク３を介して接続された複数の端末４とを含んで構成されている。
【００１８】
データ処理装置２は、障害解析に使用されるもので、ＣＰＵ（Central Processing Unit）１１と、ＲＡＭ（Random Access Memory）や、ＲＯＭ（Read Only Memory）などのメモリ１２と、ネットワーク４との通信を行う通信制御装置１３と、キーボードなどの入力装置１４と、モニタなどの出力装置１５と、ＨＤＤ（Hard disk drive）などの記憶装置１６とがバス接続された複数の構成を有する。
【００１９】
端末４は、データ処理システム１を利用するユーザが使用するコンピュータである。例えば、端末４は、ユーザの操作を受け付ける入力装置１７と、入力結果を表示する表示装置１８と、データ処理装置２と通信を行う通信制御装置１９と、ＣＰＵなどの処理装置２０とを含んで構成されている。
【００２０】
この実施の形態では、１つのシステムの中に複数のユーザのサービスを同居させ、リソースや運用コストを大幅に低減するマルチテナント方式が採用されている。例えば、図２に概念図を示すようにクラウドシステム２１上で、利用者（操作者）には、仮想の利用者環境２２としてミドルウェア（ＭＷ）、ＯＳ（Operation System）、ハードウェア（ＨＷ）が提供される。利用者は、端末４の処理装置２０によって表示装置１８上に提供されるＧＵＩ（Graphic User Interface）を操作してクラウドシステム２１にアクセスし、アプリケーションを実行してデータ処理したり、データを作成したりする。そして、利用者がクラウド・サービスの利用中に障害が発生したときに、データ処理装置２は以下に示す機能によって情報収集や解析を行う。
【００２１】
図３に示すように、データ処理システム１は、データ処理プログラムを実行させることによって、この実施に形態に特徴的な機能として、複写機能を実現する複写部３１と、データ加工機能を実現する加工部３２と、障害再現機能を実現する解析処理部３３として機能させることができる。データ処理プログラムは、データ処理装置２のプログラムであり、記憶装置などに記録され、ＣＰＵやメモリに展開させることによって実行される。また、コンピュータに読み取り可能な記録媒体に記録させることも可能である。
【００２２】
複写部３１は、利用者が使用している環境と同一の調査用環境を構築する複写機能を実現する。さらに、複写部３１は、利用者環境２２を調査用環境２３に複写するデータ複写部３４と、データ加工時にテーブルを作成するテーブル作成部３５とに機能分割される。
加工部３２は、利用者のセキュリティを保持すると共に、システムのサポート要員が利用者に生じた障害を再現できるようにデータ加工する機能を実現する。さらに、加工部３２は、機密データを所定のルールに則って加工するデータ加工部３６と、同じデータが同一の別のデータに加工されるように加工候補を検索するデータ検索部３７とを有する。
【００２３】
解析処理部３３は、利用者（操作者）の操作ログを取得して解析し、障害を再現するためのデータを作成する。さらに、解析処理部３３は、ログ操作部３８と、データ変換部３９とに機能分割できる。ログ操作部３８は、障害が発生した端末４の操作ログを取得し、操作ログに含まれるメッセージと、端末４の操作者の入力データと分割する。データ変換部３９は、利用者の操作ログに含まれるメッセージを識別番号で置き換えると共に、データの一部を変換したデータと置き換えて調査用操作ログを作成する。
【００２４】
次に、データ処理システム１における処理の詳細について説明する。
最初に、複写部３１によって実行される複写機能について説明する。
複写部３１のデータ複写部３４は、システム環境の複写と、利用者設定の複写と、アプリケーションの複写と、アプリケーションデータの複写と、テーブルの作成とを実行する。
図２に示すように、システム環境の複写では、記憶装置１６用いて実現されるリポジトリ４１を利用し、利用者環境２２のハードウェア、ＯＳ、ミドルウェアを調査用環境２３に複写する。調査用環境２３とは、利用者環境２２で発生した障害を再現するために用意される環境である。調査用環境２３は、例えば、データ処理システム１のサポート要員によって操作される。
【００２５】
また、矢印ＡＲ４に示すように、利用者設定の複写は、調査用環境２３に利用者の設定を複写する。利用者設定には、例えば、表示言語や、タイムゾーンなどがある。
矢印ＡＲ５に示すように、アプリケーションの複写は、障害が発生したアプリケーションを調査用環境２３に複写する。
矢印ＡＲ６に示すように、アプリケーションデータの複写では、障害が発生したアプリケーションのデータを調査用環境２３に複写する。アプリケーションデータに機密情報が含まれていた場合には、データ加工部３６によって加工される。
【００２６】
また、複写部３１のテーブル作成部３５で作成されるテーブルの具体例について、図４に示すような障害が発生した場合を例にして説明する。図４に示す例では、利用者環境２２において、３つの障害Ａ、障害Ｂ、及び障害Ｃが発生している。障害Ａは、端末４上の実際の操作画面が、「名前：まや」、「Email：x@f」になっている。これは、データ処理システム１にアクセスした利用者が、データ処理装置２からユーザ名の入力と電子メールアドレスの入力を要求され、それぞれ「まや」と「x@f」を入力し、これを原因として障害Ａが発生したことを示している。
【００２７】
このことから、「まや」及び「x@f」を含む操作ログＡを解析すれば、障害Ａの発生原因や解消方法を調べることが可能になる。同様に、障害Ｂ及び障害Ｃについては、それぞれ操作ログＢ及び操作ログＣを解析すれば、障害の発生原因や解消方法を調べることが可能になる。
【００２８】
従って、データ処理装置２は、各障害Ａ〜Ｃについて、それぞれの操作ログＡ〜Ｃと同等のログ（調査用操作ログａ〜ｃ）を作成することによって、調査用環境２３のＧＵＩ画面で利用者が行った操作を再現し、障害Ａ〜Ｃを発生させる。ここで、図４に示す例では、障害Ａについては、「名前：あさ」、「Email：d@n」を含む調査用の画面が提供される。即ち、この調査用環境２３では、利用者環境２２で生じた障害Ａを擬似的に再現した結果として、ユーザ名と電子メールアドレスに、それぞれ「あさ」と「d@n」を入力したＧＵＩ画面が出力されている。
【００２９】
ここで、操作ログＡに含まれる「まや」及び「x@f」を、それぞれ「あさ」及び「d@n」に加工しているのは、「まや」及び「x@f」は利用者が入力したデータなので、機密データであるとみなし、セキュリティ保護の観点からデータをマスク処理したからである。「まや」から「あさ」へのデータ加工は、データ加工部３６によって行われる。具体的なデータの加工処理については後に説明する。また、障害Ｂに対しては、調査用操作ログｂが作成される。また、障害Ｃに対しては、調査用操作ログｃが作成される。
【００３０】
そして、複写部３１のテーブル作成部３５は、利用者環境２２から調査用環境２３にデータを複写するときに、各障害Ａ〜Ｃを再現するために加工されたデータと、その元となったデータを関連付けた加工テーブル５１（５１Ａ，５１Ｂ，５１Ｃ）を作成する。さらに、各加工テーブル５１と障害Ａ〜Ｃを関連付ける対応テーブル５２を作成する。
【００３１】
最初に、加工テーブル５１について説明する。例えば、加工テーブル５１Ａは、障害Ａを再現するために作成された調査用操作ログａ内で、データ処理装置２によって加工されたデータと、操作ログＡに含まれる元のデータを対応付ける機能を有する。図４に示す加工テーブル５１の具体例では、加工前のデータと加工後のデータが関連付けられた構成を有する。例えば、障害Ａに対する加工テーブル５１Ａは、「まや」と「あさ」が関連付けられている。さらに、「x@f」と「d@n」付けられている。他にも障害Ａを再現するために加工されたデータがあった場合には、加工前のデータと加工後のデータが関連付けて格納される。なお、変形例として、加工テーブル５１は、文字毎に加工前後のデータを関連付けて格納しても良い。例えば、図４の例では、加工前のデータ「ま」と、加工後のデータ「あ」が関連付けて格納される。以降は、順番に、例えば、加工前のデータ「や」と、加工後のデータ「さ」が関連付けて格納される。
【００３２】
同様に、加工テーブル５１Ｂは、障害Ｂの操作ログＢにおいて利用者が入力した元のデータと、データ処理装置２が加工したデータとを対応付けた構成を有する。さらに、加工テーブル５１Ｃは、障害Ｃの操作ログＢにおいて利用者が入力した元のデータと、データ処理装置２が加工したデータとを対応付けた構成を有する。
【００３３】
加工テーブル５１は、利用者環境２２毎、かつ障害毎に作成される。これは、調査用環境２３で一貫したマスク処理方式を採用できるようにするためである。また、他の調査用環境２３と異なる加工テーブル５１を使用することにより、データ加工の法則を他者が推測できないようにするためである。さらに、調査終了後、調査用環境２３を廃棄するときに、加工テーブル５１も廃棄することによって、調査後にデータ加工の環境を他者が確認できないようにしてセキュリティを確保するためである。
【００３４】
次に、対応テーブル５２について説明する。対応テーブル５２は、障害を特定する情報５２Ａと、加工テーブルの情報５２Ｂとが関連付けられた構成を有する。図４に示す対応テーブル５２では、障害Ａについて加工テーブル５１Ａが作成されたことが示されている。同様に、障害Ｂ及び障害Ｃについて、それぞれ加工テーブル５１Ｂ及び加工テーブル５１Ｃが作成されたことが示されている。
【００３５】
対応テーブル５２を作成するのは、１つの利用者環境２２で、例えば、３つの障害Ａ、障害Ｂ、障害Ｃが発生した場合に、その各々について加工テーブル５１が作成されるので、障害Ａ〜Ｃと加工テーブル５１の対応を明確にする必要があるためである。対応テーブル５２を参照することによって、障害Ａ〜Ｃ毎に加工テーブル５１に情報を格納したり、情報を検索したりすることが可能になる。
【００３６】
次に、図３に示す加工部３２よって実現されるデータ加工機能について説明する。
データ加工部３６は、利用者が入力したデータを機密の保持が必要なデータとみなして所定の法則に則って加工することによってマスク処理する。そして、データ加工部３６に採用されている所定の法則は、文字種の維持機能と、記号保持機能と、文字の一致性の保持機能と、文字列の長さの保持機能とによって実現される。
【００３７】
文字種の維持機能では、データの文字種を維持したまま文字を加工する。例えば、入手したデータが漢字であれば、同じ文字種の漢字を選択し、別の漢字に加工する。データが数字や記号を含む文字列であった場合には、文字列を１つずつ抽出し、その文字又は数字を同じ文字種のランダムな別の文字又は数字に置き換える。
記号保持機能では、データに含まれる記号は加工せずに、そのまま使用する。文字の一致性の保持機能では、「＠」や「−」などの記号は、メールの形式や、電話番号の形式などのフォーマットとして意味を持つことが多く、これらの記号を入力したことに起因する障害も少ないので、記号文字は加工しない。
文字列の長さの保持機能は、文字列の長さを変えずにデータ加工する。
【００３８】
ここで、データ加工機能の具体例について、図５を参照して説明する。
例えば、図５（ａ）に示すように、利用者が入力した元のデータ６１が「漢字１」「漢字２」「漢字１」「英字１」「数字１」「記号１」「半角１」からなる文字列であったとする。従来では、文字種や文字数がランダムなデータ６２に加工される。例えば、ランダムなデータ６２は、「漢字３」「漢字４」「英字２」「英字２」「数字２」「漢字５」「英字２」「記号３」からなる。元のデータ６１とランダムに加工した乱数文字列からなるデータ６２とでは、１つ１つの文字種が加工前と加工後で必ずしも一致していない。さらに、文字数も７文字から８文字に変化している。
【００３９】
これに対して、図５（ｂ）に示すように、データ加工部３６で元のデータ６１を加工すると、例えば、加工データ６３のような文字列が得られる。加工データ６３は、「漢字３」「漢字５」「漢字３」「英字３」「数字３」「記号１」「半角２」からなる。まず、文字列の長さ保持機構によって、加工データ６３の文字数は７文字になり、加工前の元のデータ６１と一致する。また、文字種の維持機能によって、各文字又は記号の配列は、データ加工の前後で一致する。さらに、記号保持機能によって、６文字目は加工後も「記号１」になる。
【００４０】
さらに、データ加工部３６は、１つ文字列内に同じ文字又は数字が使用されていた場合には、加工後のデータの同じ場所にも同じ加工後の文字又は数字が使用されるようにデータ加工する。具体的には、図５（ｂ）に示す元のデータ６１の１つ目の文字と３つ目の文字に同じ「漢字１」が使われている。これに基づいてデータ加工部３６でデータ加工した加工データ６３は、１つ目の文字と３つ目の文字が同じ「漢字３」になっている。即ち、データ加工の前後で、文字又は数字は変わっているが、同じ文字又は数字は、同じ文字又は数字に加工されている。このようなデータ加工を実現する方法としては、例えば、最初に、元データ６１内に同じ文字又は数字が使われているか調べ、同じ文字又は数字が使用されていた場合には、２つ目以降の同じ文字又は数字の場所は、新しくランダムに加工するのではなく、１つ目で加工した文字又は数字を使用する。
【００４１】
また、データ加工部３６によるデータ加工の他の例を図６に示す。
図６（ａ）に示すように、利用者が入力した元のデータ６５が「sakura22@」であった場合、従来のデータ加工によって得られるデータ６６は、例えば「2uca1jes#a」のように文字数、文字種の配列が異なるデータになる。これに対して、図６（ｂ）に示すように、データ加工部３６によれば、加工前のデータ６５が、例えば、加工データ６７のように、「fdstcd55@」に加工される。加工データ６７の文字数は、９文字であり、加工前のデータ６１と一致する。さらに、各文字の文字数及び文字種の配列が加工前後で同じになる。また、記号「@」は加工の前後で変わらず、かつ同じ位置に配置される。さらに、同じ文字を使用している部分、例えば、加工前の２文字目の「a」と、６文字目の「a」は、加工後には共に「ｄ」になる。同様に、加工前の２つの数字「2」は、加工後には共に「5」になる。
【００４２】
ここで、データ加工部３６でデータを加工する場合には、データ検索部３７で同じ障害で同じデータを既に加工しているか調べる。具体的には、データ検索部３７が対応テーブル５２で特定した加工テーブル５１を検索し、加工テーブル５１の加工前のデータに同じ文字列があるときには、加工後の文字列を抽出し、その文字列を加工候補としてデータ加工部３６に受け渡す。データ加工部３６は、データ検索部３７から加工候補を受け取ったら、文字列を新たに加工することなく、加工候補を採用する。例えば、障害Ａの操作ログ中に、「まや」が２回入力されていた場合には、１回目でデータ加工部３６によって「あさ」が生成される。２回目は、データ検索部３７で加工テーブル５１から「あさ」が抽出され、「あさ」が加工後のデータとして採用される。
【００４３】
次に、利用者の操作ログの取得及び解析処理について説明する。
最初に、図７のステップＳ１０１に示すように、ログ操作部３８が利用者の操作ログを取得する。操作ログは、例えば、利用者環境２２のデータ領域からリポジトリ４１を用いて取得する。続いて、ステップＳ１０２で、ログ操作部３８が操作ログをＵＩ（User Interface）操作ログと顧客投入データとに分割する。ここで、ＵＩ操作ログは、データ処理システム１の利用者が端末４に対して行った操作に対応して作成されるメッセージであり、顧客投入データは利用者が入力した入力データである。
【００４４】
この後、ステップＳ１０３で、顧客投入データは、データ加工部３６によって加工処理され、ステップＳ１０４で加工後のデータを用いて調査用データが作成される。一方、ステップＳ１０５では、ＵＩ操作ログの一部のデータがデータ変換部３９によって数値データに変換される。この後、ステップＳ１０６で、データ変換部３９が、調査用データと、数値データを組み合わせて調査用操作ログを作成する。そして、ここまでの処理で作成された調査用操作ログに基づいて、システムのサポート要員が障害を再現し、デバックや障害の解消作業を行う。
【００４５】
ここで、図７に示す利用者の操作ログの取得及び解析処理の具体例について以下に説明する。ここで、クラウド・サービスは、Ｗｅｂアプリケーションとして提供される。以下の例では、利用者の操作ログについて、図８に示すようなＷｅｂログ７１と、Ｗｅｂログ７２とがＵＩの操作ログとして得られた場合について説明する。Ｗｅｂログ７１は、ユーザ名の入力を要求された利用者が、ユーザ名を入力したときに作成されたメッセージであり、利用者が「まや」と入力したことを示す顧客投入データ「ｎａｍｅ＝まや」が含まれている。また、Ｗｅｂログ７２には、メールアドレスの入力を要求された利用者が、メールアドレスを入力したときに作成されたメッセージであり、利用者が「x@f」と入力したことを示す顧客投入データ「ｍａｉｌ＝x@f」が含まれている。
【００４６】
ステップＳ１０２の操作ログの分割処理では、Ｗｅｂログ７１，７２から顧客投入データを抽出することによってＷｅｂログ７１，７２をＵＩ操作ログと顧客投入データに分割する。図９に、ログの分割結果データの一例を示す。分割結果データ８１は、Ｗｅｂログ７１，７２が作成された時刻８２と、ＵＩ操作ログ８３と、顧客投入データ８４とが関連付けられ、タイミング／ステップ毎にリスト形式で作成される。さらに、顧客投入データ８４は、ラベル８４Ａと、実際に入力されたデータ８４Ｂとを関連付けられている。ラベル８４Ａは、利用者が入力したデータであり、機密保持の観点からデータ加工する必要があるデータに割り当てられる。
【００４７】
図９に示す分割結果データ８１の１行目のデータは、図８のＷｅｂログ７１に対応するもので、時刻「２０１２／３／３／１０：４０：５０」に作成され、ＵＩ操作ログ８３が、「Ｇｅｔ／ｒｅｇｉｓｔｅｒ／ｎｅｗｕｓｅｒ．ｐｌ？〈ａ＃１〉」であり、顧客投入データ８４のラベル８４Ａが「ａ＃１」で、データ８４Ｂが「ｎａｍｅ＝まや」になっている。即ち、１行目のデータは、Ｗｅｂログ７１のうち、利用者が入力したデータがラベル「ａ＃１」に置き換えられた状態でＵＩ操作ログ８３が抽出されている。
同様に、図９に示す分割結果データ８１の２行目のデータは、図８のＷｅｂログ７２に対応するもので、時刻「２０１２／３／３／１０：４１：２０」に作成され、ＵＩ操作ログ８３が、「Ｇｅｔ／ｒｅｇｉｓｔｅｒ／ｎｅｗｕｓｅｒ．ｐｌ？〈ａ＃２〉」であり、顧客投入データ８４のラベル８４Ａが「ａ＃２」で、データ８４Ｂが「ｍａｉｌ＝x@f」になっている。
【００４８】
次に、図７のステップ１０３の顧客投入データの加工処理では、例えば、データ８４Ｂの「まや」がデータ９０Ｂの「あさ」に加工される。データ加工処理の詳細は、図５及び図６を参照して説明した処理と同様である。そして、図４に示すような加工テーブル５１が障害毎に作成され、障害と加工テーブル５１を対応付ける対応テーブル５２が作成される。
【００４９】
続く、図７のステップＳ１０４の調査用データの作成処理では、図１０に模式的に示すような調査用データ９０が作成される。調査用データ９０は、加工部３２によって顧客投入データ８４のデータ８４Ｂの「まや」が、データ９０Ｂの「あさ」に加工されることによって作成される。このとき、データ９０Ｂには、ラベル９０Ａとして「ｂ＃１」が割り当てられる。即ち、調査用データ９０は、ラベル９０Ａと、加工部３２によるデータ加工後のデータ９０Ｂとが関連付けられた構成を有する。ラベル９０Ａは、調査用データ９０であることを示す「ｂ」と、１つ目のデータであることを示す「＃１」とを組み合わせたもので、顧客投入データ８４のラベル８４Ａの「ａ＃１」に対応して作成される。同様に、調査用データ９０は、「x@f」が「d@n」に加工されることによって作成され、ラベル「ｂ＃２」とデータ「ｍａｉｌ＝d@n」が関連付けられた構成を有する。
【００５０】
次に、図７のステップＳ１０５のＵＩ操作ログのデータ変換処理では、図１１に示すようなＵＩ要素識別表テーブル９１を参照してメッセージの文字列が識別番号に変換される。ここで、ＵＩ要素識別表テーブル９１は、機能名識別番号テーブル９１Ａと、メニュー名識別番号表９１Ｂとを有する。
【００５１】
図１１（ａ）に示す機能名識別番号テーブル９１Ａは、ＵＩ操作によってユーザが選択した機能を番号に変換するときに参照するもので、機能名９３と識別番号９４とが対応付けられている。例えば、機能名９３が「ユーザ管理」と、識別番号９４の「１」が対応付けられている。ここで、ＵＩ操作ログ８３のメッセージに含まれるコマンドの種類が「ユーザ管理」に関するものであった場合、データ変換部３９は、ＵＩ操作ログ８３のコマンド部分を識別番号「１」に置き換える。
【００５２】
また、図１１（ｂ）に示すメニュー名識別番号９１Ｂは、ＵＩ操作によってユーザが選択したメニューを番号に変換するときに参照するもので、メニュー名９５と識別番号９６とが対応付けられている。メニュー名は、例えば、ＧＵＩ上で機能名から選択可能で、機能名より具体的な処理を特定する情報である。ニュー名識別番号９１Ｂでは、例えば、メニュー名９５が「新規ユーザ追加」と、識別番号９６の「１０１１」が対応付けられている。ここで、ＵＩ操作ログ８３のメッセージに含まれるコマンドの種類が「ユーザ管理」から選択される「新規ユーザ追加」に関するものであった場合、データ変換部３９は、ＵＩ操作ログ８３のコマンド部分を識別番号「１０１１」に置き換える。
【００５３】
例えば、図９の１行目のデータ「Ｇｅｔ／ｒｅｇｉｓｔｅｒ／ｎｅｗｕｓｅｒ．ｐｌ？〈ａ＃１〉」は、新規ユーザ追加の操作においてユーザ名を入力するログである。このために、ＵＩ要素識別表テーブル９１のメニュー別識別番号表９１Ａを参照し、新規ユーザ追加に割り当てられている識別番号「１０１１」を抽出し、データを置き換える。
【００５４】
次に、図７のステップＳ１０６の調査用操作ログの作成処理では、データ変換部３９によって、図１２に示すような調査用操作ログ１０１が作成される。調査用操作ログ１０１は、図１０に示す調査用データ９０と、図１１のＵＩ要素識別表テーブル９１を参照してデータ変換したＵＩ操作ログ８３とを組み合わせ作成される。調査用操作ログ１０１は、Ｗｅｂログ７１，７２が作成された時刻８２と、数値変換されたＵＩ操作ログ１０３と、調査用データ９０とが関連付けられ、タイミング／ステップ毎にリスト形式で作成される。調査用データ９０は、ラベル９０Ａと、データ９０Ｂとを関連付けられている。ここで、ＵＩ操作ログ１０３において、ラベルは調査用データ９０に合わせて「ｂ＃１」、又は「ｂ＃２」に変更されている。この結果、変換後の１行目のＵＩ操作ログ１０３は、「１０１１，〈ｂ＃１〉，３６．０，２０１２０３０３０  １０：４０：５０」になる。同様に、２行目のデータは、「１０１１，〈ｂ＃２〉，３６．０，２０１２０３０３０  １０：４０：５０」になっている。
【００５５】
このようにして作成された調査用操作ログ１０１は、システムのサポート要員に提供される。サポート要員は、調査用操作ログ１０１を実行させることによって、調査用環境において利用者の行った操作とマスクデータ投入による障害再現を自動で実施できる。なお、データ処理装置２は、調査用操作ログ１０１に基づいて自動的に障害を再現させても良い。また、調査用操作ログ１０１は、ＵＩ操作ログ１０３の代わりに、図９のＵＩ操作ログ８３を用いても良い。この場合には、ＵＩ操作ログ８３内のラベルは、調査用データ９０のラベル９０Ａに置き換えられる。
【００５６】
以上、説明したように、データ処理装置１では、Ｗｅｂログ７１，７２などの操作ログから利用者の入力データを顧客投入データ８４として抽出し、加工部３２によってマスク処理するようにした。これよって、障害発生時に顧客情報に含まないデータ形式でサポート員に情報を提供することが可能になり、機密を保持しながら障害を再現させ、かつ障害を解消することが可能になる。
また、加工部３２は、加工前後で文字数と文字種の配列が一致するように顧客投入データ８４を加工するので、文字種やその配列、文字数に起因して発生した障害であっても、加工後のデータから障害の原因を特定し易くなる。
【００５７】
１つ文字列中に同じ文字又は数字が複数含まれる場合には、そのような特徴を残した状態でデータを加工するようにしたので、同じ文字又は数字を使用したことを起因して障害が発生した場合であっても、加工後のデータから障害の原因を特定し易くなる。
さらに、加工テーブル５１を利用し、同じ障害内で同じ文字列が使用されていた場合には、同じ加工後のデータを使用して調査用操作ログ１０１を作成するようにした。同じ文字列を使用したことを起因して障害が発生した場合であっても、加工後のデータから障害の原因を特定し易くなる。
【００５８】
調査用操作ログ１０１は、タイミング及びステップ毎に作成されるので、障害の再現に必要な情報が利用者の判断によって省略されることが防止される。
また、調査用操作ログ１０１では、利用者の操作の種類を識別番号９４，９６で特定するようにしたので、自動処理によって利用者の操作を再現することが可能になる。従来のように、サポート要員が手順書に基づいて障害を再現させる手間と時間を短縮することが可能になる。
【００５９】
ここで挙げた全ての例及び条件的表現は、発明者が技術促進に貢献した発明及び概念を読者が理解するのを助けるためのものであり、ここで具体的に挙げたそのような例及び条件に限定することなく解釈するものであり、また、明細書におけるそのような例の編成は本発明の優劣を示すこととは関係ない。本発明の実施形態を詳細に説明したが、本発明の精神及び範囲から逸脱することなく、それに対して種々の変更、置換及び変形を施すことができる。
【００６０】
以下に、前記の実施の形態の特徴を付記する。
（付記１）  障害が発生した端末の操作ログに含まれるメッセージから前記端末の操作者の入力データと抽出するログ操作部と、前記入力データを加工し、前記入力データの文字数と文字種の配列が加工前後で一致する加工データを作成するデータ加工部と、前記入力データを前記加工データに置き換え、前記操作ログを操作時間と、処理のステップ毎に配列した調査用操作ログを作成するデータ変換部と、を含むことを特徴とする障害解析に使用されるデータ処理装置。
（付記２）  前記データ加工部は、１つの前記入力データが同じ文字を２つ以上含む場合、２回目以降に出現する同じ文字又は数字に、１回目に出現した文字又は数字の加工後のデータと同じデータを割り当てるように構成したことを特徴とする付記１に記載の障害解析に使用されるデータ処理装置。
（付記３）  前記入力データと、対応する前記加工データを障害毎に関連付けて格納する加工テーブルと、前記データ加工部の加工候補として前記入力データで前記加工テーブルを検索するデータ検索部と、を含み、同じ前記入力データは、同じ加工データに加工されるように構成したことを特徴とする付記１又は付記２に記載の障害解析に使用されるデータ処理装置。
（付記４）  前記メッセージの種類毎に識別番号を割り当てた識別表テーブルをさらに有し、前記データ変換部は、前記識別表テーブルを前記メッセージで検索し、前記メッセージに対応して前記識別番号を抽出し、前記メッセージを前記識別番号で置き換えて前記調査用操作ログを作成するように構成したことを特徴とする付記１乃至付記３のいずれか一項に記載の障害解析に使用されるデータ処理装置。
（付記５）  障害が発生した端末の操作ログに含まれるメッセージから前記端末の操作者の入力データと抽出する処理と、前記入力データを加工し、前記入力データの文字数と文字種の配列が加工前後で一致する加工データを作成する処理と、前記入力データを前記加工データに置き換え、前記操作ログを操作時間と、処理のステップ毎に配列した調査用操作ログを作成する処理と、をコンピュータに実行させることを特徴とする障害解析に使用されるデータ処理装置のプログラム。
（付記６）  前記加工データを作成するにあたり、１つの前記入力データが同じ文字を２つ以上含む場合、２回目以降に出現する同じ文字又は数字に、１回目に出現した文字又は数字の加工後のデータと同じデータを使用するように構成したことを特徴とする付記５に記載のデータ処理装置のプログラム。
（付記７）  障害が発生した端末の操作ログを取得し、前記操作ログに含まれるメッセージから前記端末の操作者の入力データと抽出する工程と、前記入力データを文字数と文字種の配列が加工前後で一致するように前記入力データを加工し、加工データを作成する工程と、前記入力データを前記加工データに置き換え、前記操作ログを操作時間と、処理のステップ毎に配列した調査用操作ログを作成する処理と、を含むことを特徴とする障害解析のための障害解析に使用されるデータ処理方法。
（付記８）  前記加工データを作成する工程は、１つの前記入力データが同じ文字を２つ以上含む場合、２回目以降に出現する同じ文字又は数字に、１回目に出現した文字又は数字の加工後のデータと同じデータを使用することを含むことを特徴とする付記７に記載の障害解析に使用されるデータ処理方法。
【符号の説明】
【００６１】
１  データ処理システム
２  データ処理装置
４  端末
３６  データ加工部
３７  データ検索部
３８  ログ操作部
５１  加工テーブル
６１，６５  元のデータ（入力データ）
６３，６７  加工データ
７１，７２  Ｗｅｂログ（操作ログ）
９１  ＵＩ要素識別表テーブル
１０１  調査用ログ
【図１】
2014235568.tif 000003
【図２】
2014235568.tif 000004
【図３】
2014235568.tif 000005
【図４】
2014235568.tif 000006
【図５】
2014235568.tif 000007
【図６】
2014235568.tif 000008
【図７】
2014235568.tif 000009
【図８】
2014235568.tif 000010
【図９】
2014235568.tif 000011
【図１０】
2014235568.tif 000012
【図１１】
2014235568.tif 000013
【図１２】
2014235568.tif 000014