(57)【特許請求の範囲】
【請求項１】
対象となるコンピュータ装置群が出力する収集ログ情報を読み取り、読み取った収集ログ情報を時系列に解析する為に、収集ログ情報から日時、ユーザ、サーバ、対象、詳細を抽出してメモリ内のログ情報テーブルに配置するとともに、人間の作業に関連したログ情報の詳細と操作とを対応付けた操作マスタを用いて、前記ログ情報テーブルの詳細に前記操作マスタで対応付けられた操作を付加する機能を有するマッピング処理装置と、
前記ログ情報テーブルの、ユーザ、サーバ、対象が同じ行について、詳細の出現パターンをルールマスタに照らし合わせることによって、前記ログ情報テーブルの行の一部を処理対象外とするとともに、一定時間内の同一操作を一つに圧縮し、前記ログ情報テーブルの複数の操作の組み合わせを一つの操作に集約してアクセスログデータとして出力する第１の処理装置と、
前記アクセスログデータを自然言語に翻訳するパス４処理装置と、
を備える圧縮、翻訳サーバ。
【請求項２】
前記第１の処理装置は、前記ログ情報テーブルの、ユーザ、サーバ、対象が同じ行について、詳細の出現パターンをルールマスタに照らし合わせることによって、前記ログ情報テーブルの行の一部を処理対象外とするために、
前記メモリ内のログ情報テーブルに配置されたログ情報からユーザ、サーバ、対象を前記ログ情報テーブルとは別のメモリ領域上にサマリとして展開し、展開したサマリを使用し、ログ情報の複数行に渡る同一ユーザ、同一サーバ、同一対象の行を一意の集合とする機能を有するプリパス１処理装置と、
この集合と、基本シーケンスとそれに続くシーケンスの組み合わせが対応付けられたルールマスタとを照らし合わせ、前記集合内の詳細の出現パターンと前記ルールマスタのシーケンスの組み合わせとがマッチングした場合、基本シーケンス以外とマッチした前記ログ情報テーブルの行を処理対象外に設定する機能を有するパス１処理装置とを備える、請求項１に記載の圧縮、翻訳サーバ。
【請求項３】
前記第１の処理装置は、一定時間内の同一操作を一つに圧縮し、前記ログ情報テーブルの複数の操作の組み合わせを一つの操作に集約してアクセスログデータとして出力するために、
前記パス１処理装置から出力された前記ログ情報テーブルの日時を使用し、一定時間内に発生したログ情報を判断し、一定時間内にある同一操作をカウントして取りまとめ、複数行になる操作記録を１行の操作記録に変換し有用な操作記録だけを選別する機能を有するパス２処理装置と、
前記パス２処理装置により選別したログ情報テーブルを時系列に走査して、同一ユーザ、同一サーバ、同一対象の行における操作のパターンが、基本操作と複数の従属操作とを対応付けた動作マスタにおける複数の従属操作のパターンとマッチする場合に、マッチした複数の操作のうち、プライオリティが低い操作を選別し特定の操作に吸収圧縮させてアクセスログデータとして出力する機能を有するパス３処理装置とを備える、請求項２に記載の圧縮、翻訳サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】本発明は、ユーザがコンピュータ装置を操作する際、出力されるログ情報を解析翻訳し、対象となるコンピュータ装置に対する操作や動作記録を平易な自然言語に翻訳したレポートを出力し、改善点を助言する技術装置に関するものである。
【背景技術】
【０００２】コンピュータ装置にはそのコンピュータ装置上で稼動するＯＳを含めた全てのソフトウェアの動作をログファイルとして記録する機能を有するが、ＯＳ内部の挙動が全て記録され情報量が膨大で複雑になるため、人間が読解するのに困難な内容となっている。【０００３】一方で、個人情報保護法遵守の為のモニターリングや、情報が不正に持ち出されるなどの情報漏えいした時の原因調査などを速やかに行えるようにする必要が有る。【０００４】様々なコンピュータの動作を記録するログはＯＳやその上で稼動するソフトウェアによって出力されるが上記［０００２］で記した様に情報量が膨大で複雑かつ人間が読解するのに困難な為、ログファイルの解析・翻訳といった技術が必要とされる。【０００５】蓄積されたログファイルを解析し改善点を発見し、最適化を図る為の改善情報が必要とされる。具体的には、アクセス権が有るにも関わらずアクセスしないファイル、誰もアクセスする事のないファイル、アクセスが集中するサーバなどの情報の可視化と過去情報からの統計分析といった技術が必要とされる。【０００６】  特許文献１から４に示したような先行技術は有るが、これらの技術では必要なログを判断し間引く事によって通信上のトラフィックを軽減する事は可能で有るが、ログを更に解析し誰でもが、何時何をどのように誰が操作したかを簡単に理解できるようにする事は不可能である。これでは、コンピュータが出力するログファイルが持つ情報の効率的利用ができ無い。
本技術は、コンピュータログデータを解析し、その内容を人間が理解できる自然言語に翻訳し、今後の技術や運用の改善に利用できるようにすると言った特徴がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−１９１８２３号公報
【特許文献２】特開２０１１−１１３４４３号公報
【特許文献３】特開２００５−２２７８４６号公報
【特許文献４】特開２０１４−１６７５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】  近年、コンピュータシステムに関わる事件や事故に対して、どのような操作が行われていたかを、インシデント管理やセキュリティ管理の観点、更に今後発達するＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）の観点から″モノ″同士がコミュニケーションをするための情報分析を効率的かつ正確に行う必要性が増している。
しかしながら、コンピュータシステムやパソコン類（スマートフォン、タブレット、ウェアラブル）、機械類（産業機器、一般機器、乗り物）、その他のモノ（家電、家具、建築物）がＩｏＴとして接続されるが、これらの機器類が出力するログ情報のままでは、機械的に時間軸に沿ってあらゆる操作が記録されているため、情報量が膨大となり、更には解析、分析や追跡には意味をなさない情報まで記録されており、有効な情報を見つけ難くしている。
この結果、一連の操作の事実を把握することが非常に困難となり、大きな容量の保管資源も必要となっている。
【課題を解決するための手段】
【０００９】本発明は、以下の手順を実現するためのものである。
コンピュータシステムやパソコン類（スマートフォン、タブレット、ウェアラブル）、機械類（産業機器、一般機器、乗り物）、電気製品、その他のモノ（家具、建築物）などが出力するログ情報（イベントログデータ、監査ログデータ、システムログ、アプリケーションログ、サービスログなど）を入力として、ユーザ、サーバ、対象毎にログ情報の必要項目を抽出するマッピング処理装置と、
マッピング処理の出力をユーザ、サーバ、対象毎に整列した項目の並びをルールマスタに予め定めたｎ個の操作結果の組み合わせパターンに突合せて、実際に起きた操作の形跡を辿り、
パス１処理装置の出力であるサマリ毎の追跡結果から、一定の時間内の同じ操作は一つに圧縮してパス１処理装置の出力を更に見やすい形に整える。
例えば、ｒｅａｄ及びｗｒｉｔｅが短時間で発生した場合にｒｅａｄは大きな意味を持たない為、単一のｗｒｉｔｅとしてまとめる。
マッピング処理装置、プリパス処理装置、パス１処理装置、パス２処理装置、パス３処理装置の一連の処理の結果を検索し、レポートすることによって、インシデント管理やセキュリティ管理が効率的かつ正確に行うことができ、コードやバイナリーデータなどを自然言語に翻訳するパス４処理装置と、ログ情報から改善情報を出力するパス５処理装置、パス６処理装置、パス７処理装置によって更なるログの活用を可能とする。
【発明の効果】
【００１０】  本発明のコンピュータ装置などのログデータ解析とログデータ翻訳装置は、利用者の専門的な知識が不要で、ログを見やすくして、本来の操作を把握できるようにするとともに、保管資源容量の大幅な節減を可能とし、細かく大量に出力されるイペントに対応するコードやバイナリーデータなどを自然言語に翻訳し、傾向分析を可能とした。
【図面の簡単な説明】
【００１１】
【図１】  本発明の一例を示す全体構成図
【図２】  マッピング処理概要図
【図３】  プリパス１処理図
【図４】  パス１処理図
【図５】  パス２処理図
【図６】  パス３処理図
【図７】  パス４処理図
【図８】  パス５処理図
【図９】  パス６処理図
【図１０】  パス７処理図
【発明を実施するための形態】
【実施例】
【００１２】  図１は、本発明の実施形態の例であるコンピュータなどが出力する１１１ログ情報を収集し、収集したログ情報を圧縮し、人間が理解しやすい自然言語にログ情報を翻訳分析する装置の全体構成図である。【００１３】  １０１ユーザＡが１０４サーバαのファイル１０７甲、１０５サーバβのファイル１０８乙と１０９丙、
１０２ユーザＢが１０５サーバβのファイル１０８乙と１０９丙、
１０３ユーザＣが１０６サーバγのファイル１１０丁を操作すると、
コンピュータ１０４サーバα、１０５サーバβ、１０６サーバγはそれぞれ操作された時にコンピュータの動作状況を１１１ログ情報としてそれぞれ出力する。
この出力されたログ情報を１１３翻訳サーバはネットワーク等を使用し定期的に収集し一つの１１４収集ログ情報に取りまとめる。
収集した１１４収集ログ情報を読み込み１１６マッピング処理装置にて翻訳しやすいように必要なデータを加え、１１７プリパス１処理装置によりログパターンの分類を行い、１１８パス１処理装置によってログの動作を取りまとめ、１１９パス２処理装置と１２０パス３処理装置によって翻訳の取りまとめを行い、１１６マッピング処理装置から１２０パス３処理装置によってデータ量を１０００分の１から２０００分の１にし、１２１パス４処理によって人間が理解しやすい自然言語にする翻訳を行い、１２２パス５処理によってユーザのアクセス権の評価を行い、１２３パス６処理によって改善提案情報の出力をおこない、１２４パス７処理装置によってサーバの負荷統計情報の出力を行う装置の全体構成図である。【００１４】発明者及び出願人が独自に名称を付している、各々のソフトウェア及び装置について本発明独自の呼称を使用しているので下記に記載する。【００１５】・日時        ：ユーザがファイルにアクセスした日時分秒。
・ユーザ      ：ファイルにアクセスした人又はアカウントを持つ機能。
・対象        ：操作に関連した事象。
ファイルアクセスの場合は、アクセスされたファイルやディレクトリ。
・詳細        ：操作に関連した事象で日時、ユーザ、対象以外の付加情報。
ファイルアクセスの場合は、ＡｃｃｅｓｓＶａｌｕｅ、対象のＩＰアド                レス、ファイルアクセスの場合は、ＡｃｃｅｓｓＶａｌｕｅ、対象のＩ                Ｐアドレス、セッション情報。
・ＡｃｃｅｓｓＶａｌｕｅ：コードやバイナリーデータで出力された操作、動作を決定す                る情報。
・操作        ：ＯＳ、アプリケーションが判断するファイルに対する情報。（ｌｏｇｏ                ｎ、ｌｏｇｏｆｆ、ｗｒｉｔｅ、ｒｅａｄ等々）
・サマリ表    ：ユーザ、サーバ、対象の組み合わせをキーとしたテーブル。実際のメモ                リアドレスを格納する。
・サマリＮｏ．：サマリに対し付与されるユニークなメモリ上のアドレス。
・Ｓｋｉｐ    ：ＯＳが出力したログ情報各行毎の要・不要の判別情報。
・ログ情報    ：コンピュータシステムやパソコン、スマートフォン、タブレット、ウェ                アラブル、産業機器、一般機器、乗り物、電気製品、医療機器、家具、                建築物などが出力した動作記録やアプリケーションログ、サービスログ                、システムログ、イベントログ、監査ログ、コマンド情報、デジタルデ                ータなどの動作記録を含む。
・ログ情報テーブル：ログ情報から解析に必要な情報を解析用フォーマットに変換しメモ                リ上に展開した状態のテーブル。
・システムログ：コンピュータの起動や終了、管理者のｌｏｇｏｎやｌｏｇｏｆｆ、再起                動、ハードウェアで発生した障害、カーネルで起きたエラー、サーバソ                フトやデーモン、常駐プログラムの起動や終了などの情報を記録する。
・アクセスコントロールリスト：
認証フローシステムにより設定される、個人個人の対象に対するアクセ                ス権限が記載されている情報。
・制御情報    ：操作、サマリ、Ｓｋｉｐなどの情報。
・イベントログ：構成変更や障害発生など、システムで発生するさまざまな事象を記録。
・監査ログ    ：システムの利用者、開発者、運用者がシステムに対して実行した操作内                容を時系列に記録。
・ルールマスタ：ログ情報の各行の動作を時系列に解析して判断する為のルールが記載さ                れており、ルールの中には解析に必要な時間が記載され、この時間を一                定時間と言う。
・一定時間    ：ルールマスタに記載されている時間であり、ルール毎に異なった時間が                記載される。この時間は発明者が様々なログ情報を解析し人間が行う動                作をｎ秒以内に行う場合、同一動作としてまとめられる時間の安全値と                して割り出した時間でルールマスタ、間隔マスタ等に定義されたルール                毎に指定された秒数。
・機械語      ：コンピュータなどが出力する、その形状のままでは通常の人間では、理                解不能なデータ等。【００１６】  図２は、本発明の１１６マッピング処理装置について記載した図である。
コンピュータ等が出力する１１１ログ情報をネットワークなどにて収集し、１１４収集ログ情報にまとめ上げ、１１４収集ログ情報を読み込み、分析内容に合わせて日時、ユーザ、サーバ、対象、詳細等の項目を抽出し、２１１操作、２１２サマリＮｏ．、２１３Ｓｋｉｐなどの情報設置エリアを確保しながら抽出項目をメモリに展開しつつ、２１０詳細をキーとして２０１操作マスタの２０２詳細を検索し、対応する２０３操作を２１１操作にセットする。【００１７】  対象となる１１４収集ログ情報から解析に必要な情報項目を選び出す。本実施例では、ファイルサーバのログ情報とし、２０６日時、２０７ユーザ、２０８サーバ、２０９対象、２１０詳細の各項目を使用し、ユーザがファイルサーバに格納されているファイル操作の解析を例として取り上げる。
解析対象が車や産業機器の省エネルギーであれば、日時、一定時間の消費エネルギー、エネルギー消費機器の状況（回転数など）、外的環境（温度、湿度など）移動距離、稼動回数等を対象とする。
読み出した２０６日時、２０７ユーザ、２０８サーバ、２０９対象、２１０詳細の各項目をメモリ上の２０４ログ情報テーブルの各項目にセットし、２１０詳細を利用し２０１操作マスタの２０２詳細とマッチングさせ該当する２０３操作を２１１操作にセットし、２１２サマリＮｏ．のメモリエリアを確保し、２１３Ｓｋｉｐ項目に“ＦＡＬＳＥ”となるデフォルト値をセットし、２１４回数を格納できるメモリエリアを確保する。
ここでの“ＦＡＬＳＥ”は２０４ログ情報テーブルの各行の情報を重要なので読み飛ばしを行わないと言う意味となる。
又、２０１操作マスタに存在しない２１０詳細が有った場合は処理対象外として２０４ログ情報テーブルに“ＴＲＵＥ”と言う値をセットする。この２０１操作マスタに登録されている情報は、本発明者の過去の経験と実績による情報により作成された情報群である。
実際、コンピュータがファイルを削除する際、ディスク装置に対し読込み処理が実行され、その後にディスク装置に情報を書き込む事によってファイルが消去される。この事柄から分かるように人間の操作と実際のコンピュータの挙動は一致しないので、実際に人間がどの様な動作をしたかを解析する事が重要となる。【００１８】  図３は、本発明の１１７プリパス１処理装置について記載した図である。
２０４ログ情報テーブルに存在する２０７ユーザ、２０８サーバ、２０９対象の全組合せ分の３０１サマリ表を作成し３０１サマリ表の各行にシーケンスＮｏ．を符番しメモリ上に作成し、
２０４ログ情報テーブルの２０７ユーザ、２０８サーバ、２０９対象と同じ３０１サマリ表の３０３ユーザ、３０４サーバ、３０５対象とをマッチングさせ、３０１サマリ表に振られている３０２サマリＮｏ．を２０４ログ情報テーブルの２１２サマリＮｏ．項目にセットする。【００１９】  ２０４ログ情報テーブルに存在する２０７ユーザ、２０８サーバ、２０９対象の組合せにて３０１サマリ表の３０３ユーザ、３０４サーバ、３０５対象をマッチングさせ同一の組合せが無かった場合、シーケンス番号を３０２サマリＮｏ．に符番しセットして２０７ユーザ、２０８サーバ、２０９対象の組合せを３０３ユーザ、３０４サーバ、３０５対象にセットし全組合せ分の３０１サマリ表をメモリ上に作成する。
全ての組合せを３０１サマリ表に作成した後、
２０４ログ情報テーブルの２０７ユーザ、２０８サーバ、２０９対象と同じ３０１サマリ表の３０３ユーザ、３０４サーバ、３０５対象とをマッチングさせ、３０１サマリ表に振られている３０２サマリＮｏ．を２０４ログ情報テーブルの２１２サマリＮｏ．項目にセットする。【００２０】  図４は、本発明のパス１処理装置について記載した図である。
メモリに展開している２０４ログ情報テーブルの先頭から処理し、
２１２サマリＮｏ．を利用して複数行に渡る同一ユーザ、サーバ、対象を追跡し、２１０詳細の出現パターンを４０１ルールマスタに照らし合わせ、出現パターンがマッチした場合、４０４基本シーケンス以外にマッチした２０４ログ情報テーブル各行の２１３Ｓｋｉｐを“ＴＲＵＥ”に更新する。【００２１】  メモリに展開している２０４ログ情報テーブルの先頭から処理し、
２０５Ｓｅｑ＃“１”の２１３Ｓｋｉｐが“ＦＡＬＳＥ”なので処理対象とし
２１０詳細が“＄％＃０９７”であり４０１ルールマスタの４０４基本シーケンスに同一情報が４０２ＩＤ“１”にあるので、これを記憶し、
２１２サマリＮｏ．の同一データ“▲１▼”を探すと２０５Ｓｅｑ＃“２”に２１２サマリＮｏ．に同一データ“▲１▼”を探すことができ、２０５Ｓｅｑ＃“２”の２１０詳細のデータが“＄％＃２５７４４５ｙ７ｎｃｏ９ｙｗ９８３”なので、４０２ＩＤ“１”の４０６シーケンス１と比較すると同一データであり、４０２ＩＤ“１”の４０７シーケンス２にはデータが無く且つ、４０５一定時間が“３”であり、２０６日時の差がこの場合“０”で在ったので、２０５Ｓｅｑ＃“１”の２１１操作をｒｅａｄと判断し２１１操作を“ｒｅａｄ”とし、
２１３Ｓｋｉｐを“ＦＡＬＳＥ”のままとし、２０５Ｓｅｑ＃“２”の２１３Ｓｋｉｐを“ＴＲＵＥ”とする。
次に、ポインタを１つ進めるが、２０５Ｓｅｑ＃“２”の２１３Ｓｋｉｐが“ＴＲＵＥ”なので処理対象外としポインタを１つ進める。
２０５Ｓｅｑ＃“３”の２１３Ｓｋｉｐが“ＦＡＬＳＥ”なので処理対象とし
２１０詳細が“＄％＃３８ａ２″ｅｈ４８ｗ”であり４０１ルールマスタの４０４基本シーケンスに同一情報が４０２ＩＤ“２”にあるので、これを記憶し、
２１２サマリＮｏ．の同一データ“▲２▼”を探すと本実施例で使用の図４上の２０４ログ情報テーブルの２１２サマリＮｏ．には“▲２▼”と言うデータが他には無いので、２１３Ｓｋｉｐを“ＦＡＬＳＥ”のままとしポインタを１つ進める。
次に、２０５Ｓｅｑ＃“４”の２１３Ｓｋｉｐが“ＦＡＬＳＥ”なので処理対象とし
２１０詳細が“＄％＃２５７４４５ｙ７ｎｃｏ９ｙｗ９８３”であり４０１ルールマスタの４０４基本シーケンスに同一情報が無いので、２１３Ｓｋｉｐを“ＦＡＬＳＥ”のままとしポインタを１つ進める。
次に、２０５Ｓｅｑ＃“５”の２１３Ｓｋｉｐが“ＴＲＵＥ”なので処理対象外としポインタを１つ進める。
次に、２０５Ｓｅｑ＃“６”の２１３Ｓｋｉｐが“ＦＡＬＳＥ”なので処理対象とし
２１０詳細が“＄％＃２５７４４５ｙ７ｎｃｏ９ｙｗ９８３”であり４０１ルールマスタの４０４基本シーケンスに同一情報が無いので、２１３Ｓｋｉｐを“ＦＡＬＳＥ”のままとしポインタを１つ進める。
２０５Ｓｅｑ＃“７”の２１３Ｓｋｉｐが“ＦＡＬＳＥ”なので処理対象とし
２１０詳細が“＄％＃０９７”であり４０１ルールマスタの４０４基本シーケンスに同一情報が４０２ＩＤ“１”にあるので、これを記憶し、
２１２サマリＮｏ．の同一データ“▲１▼”を探すと２０５Ｓｅｑ＃“８”に２１２サマリＮｏ．に同一データ“▲１▼”を探すことができ、２０５Ｓｅｑ＃“８”の２１０詳細のデータが“＄％＃２５７４４５ｙ７ｎｃｏ９ｙｗ９８３”なので、４０２ＩＤ“１”の４０６シーケンス１と比較すると同一データであり、４０２ＩＤ“１”の４０７シーケンス２にはデータが無く且つ、４０５一定時間が“３”であり、２０６日時の差がこの場合“１”で在ったので、２０５Ｓｅｑ＃“７”の２１１操作をｒｅａｄと判断し２１１操作を“ｒｅａｄ”とし、
２１３Ｓｋｉｐを“ＦＡＬＳＥ”とし、２０５Ｓｅｑ＃“８”の２１３Ｓｋｉｐを“ＴＲＵＥ”としポインタを１つ進める。
次に、ポインタを１つ進めるが、２０５Ｓｅｑ＃“８”の２１３Ｓｋｉｐが“ＴＲＵＥ”なので処理対象外としポインタを１つ進めるが、データが終了するので本処理を終了し次の処理を実行する。【００２２】  図５は、本発明のパス２処理装置について記載した図である。
メモリに展開している２０４ログ情報テーブル中のＦＡＬＳＥ”の物だけを対象とし、５０１間隔マスタに従い前後一定間隔内の同一２１１操作２１２サマリＮｏ．、のデータをまとめ上げ、２１４回数に同一２１１操作２１２サマリＮｏ．、をカウントし回数をセットする。【００２３】  メモリに展開している２０４ログ情報テーブルの先頭から処理し、
２０５Ｓｅｑ＃“１”の２１３Ｓｋｉｐが“ＦＡＬＳＥ”２１１操作が“ｒｅａｄ”なので
５０１間隔マスタの５０２動作を調べると“ｒｅａｄ”が有り５０３間隔は“２”と成っているので前後２秒間を調査する為に、２１１操作“ｒｅａｄ”２１２サマリＮｏ．“▲１▼”と２０５Ｓｅｑ＃“１”のポインタを記憶し、マッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“２”の２１３Ｓｋｉｐは“ＴＲＵＥ”なので処理対象外としマッチ処  理ポインタを１つ進める。
２０５Ｓｅｑ＃“３”の２１３Ｓｋｉｐは“ＦＡＬＳＥ”では有るが、
２１１操作と２１２サマリＮｏ．がマッチしないので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“４”の２１３Ｓｋｉｐは“ＦＡＬＳＥ”“ＦＡＬＳＥ”では有るが、２１１操作と２１２サマリＮｏ．がマッチしないので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“５”の２１３Ｓｋｉｐは“ＴＲＵＥ”なので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“６”の２１３Ｓｋｉｐは“ＦＡＬＳＥ”“ＦＡＬＳＥ”では有るが、２１１操作と２１２サマリＮｏ．がマッチしないので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“７”の２１３Ｓｋｉｐが“ＦＡＬＳＥ”であり、２１２サマリＮｏ．が“▲１▼”であり、２１１操作がｒｅａｄなので前記にて記憶したポインタつまり２０５Ｓｅｑ＃“１”のデフォルト値１の２１４回数に１を加え２としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“８”のＳｋｉｐは“ＴＲＵＥ”なので処理対象外としマッチ処理ポインタを１つ進めると
２０４ログ情報テーブルのデータ全てを処理したので、ポインタに１加え２番目の２０５Ｓｅｑ＃“２”を処理するが、
２１３Ｓｋｉｐは“ＴＲＵＥ”なので何もせずにポインタを１つ進める。
２０５Ｓｅｑ＃“３”の２１３Ｓｋｉｐが“ＦＡＬＳＥ”２１１操作が“ｒｅａｄ”なので
５０１間隔マスタの５０２動作を調べると“ｒｅａｄ”が有り５０３間隔は“２”と成っているので前後２秒間を調査する為に、２１１操作“ｒｅａｄ”２１２サマリＮｏ．“▲２▼”と２０５Ｓｅｑ＃“３”のポインタを記憶し、マッチ処理ポインタを２秒前の場所にずらす。本実施例では、２０６日時から２秒前は２０４ログ情報テーブルの先頭データとなる。
２０５Ｓｅｑ＃“１”の２１３Ｓｋｉｐは“ＦＡＬＳＥ”では有るが、２１１操作と２１２サマリＮｏ．がマッチしないので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“２”の２１３Ｓｋｉｐは“ＴＲＵＥ”なので処理対象外としマッチ処  理ポインタを１つ進める。
２０５Ｓｅｑ＃“３”は現在処理中のデータなので、マッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“４”の２１３Ｓｋｉｐは“ＦＡＬＳＥ”では有るが、
２１１操作と２１２サマリＮｏ．がマッチしないので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“５”の２１３Ｓｋｉｐは“ＴＲＵＥ”なので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“６”の２１３Ｓｋｉｐは“ＦＡＬＳＥ”“ＦＡＬＳＥ”では有るが、２１１操作と２１２サマリＮｏ．がマッチしないので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“７”の２１３Ｓｋｉｐが“ＦＡＬＳＥ”“ＦＡＬＳＥ”では有るが、２１１操作と２１２サマリＮｏ．がマッチしないので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“８”のＳｋｉｐは“ＴＲＵＥ”なので処理対象外としマッチ処理ポインタを１つ進めると
２０４ログ情報テーブルのデータ全てを処理したが、同一２１１操作“ｒｅａｄ”２１２サマリＮｏ．“▲２▼”が存在しなかったので２０５Ｓｅｑ＃“３”の２１４回数に１をセットする。
ポインタに１加え４番目の２０５Ｓｅｑ＃“４”の２１３Ｓｋｉｐが“ＦＡＬＳＥ”２１１操作が“ｗｒｉｔｅ”なので
５０１間隔マスタの５０２動作を調べると“ｗｒｉｔｅ”が有り５０３間隔は“２”と成っているので前後２秒間を調査する為に、２１１操作“ｗｒｉｔｅ”２１２サマリＮｏ．“▲１▼”と２０５Ｓｅｑ＃“４”のポインタを記憶し、マッチ処理ポインタを２秒前の場所にずらす。本実施例では、２０６日時から２秒前は２０４ログ情報テーブルの先頭データとなる。
２０５Ｓｅｑ＃“１”の２１３Ｓｋｉｐは“ＦＡＬＳＥ”では有るが、２１１操作と２１２サマリＮｏ．がマッチしないので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“２”の２１３Ｓｋｉｐは“ＴＲＵＥ”なので処理対象外としマッチ処  理ポインタを１つ進める。
２０５Ｓｅｑ＃“３”の２１３Ｓｋｉｐは“ＦＡＬＳＥ”では有るが、２１１操作と２１２サマリＮｏ．がマッチしないので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“４”は現在処理中のデータなので、マッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“５”の２１３Ｓｋｉｐは“ＴＲＵＥ”なので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“６”の２１３Ｓｋｉｐは“ＦＡＬＳＥ”では有るが、２１１操作と２１２サマリＮｏ．がマッチしないので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“７”の２１３Ｓｋｉｐが“ＦＡＬＳＥ”では有るが、２１１操作と２１２サマリＮｏ．がマッチしないので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“８”のＳｋｉｐは“ＴＲＵＥ”なので処理対象外としマッチ処理ポインタを１つ進めると
２０４ログ情報テーブルのデータ全てを処理したが、同一２１１操作“ｗｒｉｔｅ”２１２サマリＮｏ．“▲１▼”が存在しなかったので２０５Ｓｅｑ＃“４”の２１４回数に１をセットする。
ポインタに１加え５番目の２０５Ｓｅｑ＃“５”の２１３Ｓｋｉｐが“ＴＲＵＥ”なので処理対象外とする。
ポインタに１加え６番目の２０５Ｓｅｑ＃“６”の２１３Ｓｋｉｐが“ＦＡＬＳＥ”２１１操作が“ｗｒｉｔｅ”なので
５０１間隔マスタの５０２動作を調べると“ｗｒｉｔｅ”が有り５０３間隔は“２”と成っているので前後２秒間を調査する為に、２１１操作“ｗｒｉｔｅ”２１２サマリＮｏ．“▲３▼”と２０５Ｓｅｑ＃“６”のポインタを記憶し、マッチ処理ポインタを２秒前の場所にずらす。本実施例では、２０６日時から２秒前は２０４ログ情報テーブルの先頭データとなる。
２０５Ｓｅｑ＃“１”の２１３Ｓｋｉｐは“ＦＡＬＳＥ”では有るが、２１１操作と２１２サマリＮｏ．がマッチしないので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“２”の２１３Ｓｋｉｐは“ＴＲＵＥ”なので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“３”の２１３Ｓｋｉｐは“ＦＡＬＳＥ”では有るが、２１１操作と２１２サマリＮｏ．がマッチしないので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“４”の２１３Ｓｋｉｐは“ＦＡＬＳＥ”では有るが、２１１操作と２１２サマリＮｏ．がマッチしないので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“５”の２１３Ｓｋｉｐは“ＴＲＵＥ”なので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“６”は現在処理中のデータなので、マッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“７”の２１３Ｓｋｉｐが“ＦＡＬＳＥ”では有るが、２１１操作と２１２サマリＮｏ．がマッチしないので処理対象外としマッチ処理ポインタを１つ進める。
２０５Ｓｅｑ＃“８”のＳｋｉｐは“ＴＲＵＥ”なので処理対象外としマッチ処理ポインタを１つ進めると
２０４ログ情報テーブルのデータ全てを処理したが、同一２１１操作“ｗｒｉｔｅ”２１２サマリＮｏ．“▲３▼”が存在しなかったので２０５Ｓｅｑ＃“６”の２１４回数に１をセットする。
ポインタに１加え２０５Ｓｅｑ＃“７”の２１３Ｓｋｉｐは“ＴＲＵＥ”なので処理対象外としポインタを１つ進める。
ポインタに１加え２０５Ｓｅｑ＃“８”の２１３Ｓｋｉｐは“ＴＲＵＥ”なので処理対象外としポインタを１つ進めると全てのデータを処理したので次の処理を行う。
本項番記載の処理を繰り返す事によって２１４回数は、図５の下段に記載の２０４ログ情報テーブルのような状態となる。【００２４】  図６は、本発明のパス３処理装置について記載した図である。
コンピュータの動作は人間からの１つの命令に対し複数の動作を行う。ファイルのｄｅｌｅｔｅを行う時、コンピュータはディスク上に有るインデックス情報を読み取り、その後インデックス情報を消すと言った動作を行う。実際の人間が行った動作だけを記載する為には複数の動作をまとめ上げる必要が有り、６０１動作マスタに従い２０４ログ情報テーブルの２１２サマリＮｏ．毎に２１１操作をチェックし実際に人間が行った操作を確定する。【００２５】  図６のメモリに展開している２０４ログ情報テーブルの先頭から処理し、２０５Ｓｅｑ＃“１”２１３Ｓｋｉｐが“ＦＡＬＥＳ”でかつ、２１２サマリＮｏ．が“▲１▼”、２１１操作が初めて“ｒｅａｄ”なので、２１１操作“ｒｅａｄ”２１２サマリＮｏ．“▲１▼”とポインタを記憶し、処理する為のポインタを１つ進める。
２０５Ｓｅｑ＃“２”の２１３Ｓｋｉｐは“ＴＲＵＥ”なのでポインタを１つ進め１つ進め、
２０５Ｓｅｑ＃“３”の２１２サマリＮｏ．は“▲２▼”なのでポインタを１つ進め、
２０５Ｓｅｑ＃“４”の２１２サマリＮｏ．は“▲１▼”であり２１１操作が“ｗｒｉｔｅ”なので記憶した“ｒｅａｄ”と“ｗｒｉｔｅ”の組合せが６０１動作マスタにマッチするパターンが有るか調査すると、６０２基本動作“ｗｒｉｔｅ”の行の６０３従属動作１と６０４従属動作２が“ｒｅａｄ”、“ｗｒｉｔｅ”と並びマッチするので、“ｗｒｉｔｅ”を記録する。
ポインタを１つ進め、
２０５Ｓｅｑ＃“５”の２１３Ｓｋｉｐは“ＴＲＵＥ”なのでポインタを１つ進め、
２０５Ｓｅｑ＃“６”の２１２サマリＮｏ．は“▲３▼”なのでポインタを１つ進め、
２０５Ｓｅｑ＃“７”の２１３Ｓｋｉｐは“ＴＲＵＥ”なのでポインタを１つ進め、
２０５Ｓｅｑ＃“７”の２１３Ｓｋｉｐは“ＴＲＵＥ”なのでポインタを１つ進めるとデータが終了するので、２０５Ｓｅｑ＃“１”と２０５Ｓｅｑ＃“４”の組合せは、６０１動作マスタから“ｗｒｉｔｅ”と判断し、２０４ログ情報テーブル（１）の２０５Ｓｅｑ＃“１”の２１３Ｓｋｉｐを“ＴＲＵＥ”に変更する。
本項番の先頭から記載の処理を以降繰り返し図６下段の２０４ログ情報テーブルのような状態となる。
図６下段の２０４ログ情報テーブルの先頭から処理し、
２１３Ｓｋｉｐが“ＦＡＬＥＳ”のものだけ２０６日時、２０７ユーザ、２０８サーバ、２０９対象、２１４回数を１２４アクセスログのデータとして出力する。
これにより１１１ログ情報を１０００分の１から２０００分の１に圧縮する事ができ、この処理はメモリ上で全て行うために処理速度が格段に速い。【００２６】  図７は、本発明のパス４処理装置について記載した図である。
パス３でファイルとして出力した１２４アクセスログから６１２ユーザを元に、ユーザの行った行動を、７０１辞書マスタを利用し自然言語に翻訳する。自然言語にする事により、人間が読めるシステム監査証跡、勤怠管理、日報、週報等に利用可能なレポートが自動作成され、７０１辞書マスタを変更する事によってどの様な機械が出力するデータでも自然言語に変換が可能となる。【００２７】  １２４アクセスログの６１２ユーザを中心に実施例を説明する。
１２４アクセスログの１行目を読込み、６１２ユーザ“Ａ”の６１５操作“ｌｏｇｏｎ”をキーとし７０１辞書マスタを検索し、７０２操作１に“ｌｏｇｏｎ”があり、７０５日付が“○”、７０６改行が“○”なので６１１日時の日付部分と改行コードを１２６自然言語レポートファイルに出力する。
次に６１１日時の時間を出力し、７０１辞書マスタとマッチングした７０４文章の“｛｝”で囲まれている部分に該当する情報を当てはめる。
本ケースの場合は、７０１辞書マスタの７０２操作１が“ｌｏｇｏｎ”の７０４文章の“｛ユーザ｝”に対応する６１２ユーザと“｛サーバ｝”に対応する６１３サーバを当てはめて、１２６自然言語レポートファイルに出力する。
次の同一６１２ユーザ、６１５操作が“ｌｏｇｏｆｆ”の場合、読点“、”と改行コードを書き込み、辞書マスタに従いｌｏｇｏｆｆの処理を行う。
しかし、次の同一６１２ユーザ“Ａ”の６１５操作が“ｒｅａｄ”なので、７０１辞書マスタの７０２操作１の“ｒｅａｄ”を検索し、
７０１辞書マスタ中に２つのケースがあり、“ｗｒｉｔｅ”が続くパターンが有るので、１２４アクセスログに同一６１２ユーザが“Ａ”で６１３サーバが“α”で、６１４対象が“甲”の条件の下２１１操作が“ｗｒｉｔｅ”の物を探す。
６１１日時が“２０１５／０６／２４  ２０：３９：４９”のデータと“２０１５／０６・２４  ２０：５９：０５”がマッチするので、
７０１辞書マスタの７０２操作１が“ｒｅａｄ”、７０３操作２が“ｗｒｉｔｅ”の７０４文書の“｛対象｝”に６１４対象を当てはめ、１２４アクセスログの時間と７０４文章とカンマと改行コードを１２６自然言語レポートに出力する。
次に、ポインタを６１１日時“２０１５／０６／２４  ２０：３７：４６”の次の位置にずらして、６１２ユーザ“Ａ”の動作を追うと新たなパターンが６１１日時“２０１５／０６／２４  ２１：０５：４９”と６１１日時“２０１５／０６／２４  ２１：０５：５８”に有り、７０１辞書マスタの７０２操作１、７０３操作２が“ｗｒｉｔｅ”のパターンとマッチするので、７０４文章の“｛対象｝”に６１４対象をはめ込み、７０４文章とカンマ、改行コードを１２６自然言語レポートに出力する。
次に、ポインタを６１１日時“２０１５／０６／２４  ２１：０５：４９”の次の位置にずらして、６１２ユーザ“Ａ”の動作を追うと新たなパターンが６１１日時“２０１５／０６／２４  ２１：１０：５５”にあり、７０１辞書マスタの７０２操作１がｌｏｇｏｆｆのパターンとマッチするので、
７０４文章の“｛ユーザ｝”に対応する６１２ユーザと“｛サーバ｝”に対応する６１３サーバを当てはめて、７０４文章とカンマ、改行コードを１２６自然言語レポートに出力する。
１２６自然言語レポートのように人間が読める内容に出力される為、最初のｌｏｇｏｎと最後のｌｏｇｏｆｆを“ＹＹ年ＭＭ月ＤＤ日  ＨＨ時ＭＭ分に出勤し、ＨＨ時ＭＭに退社した。”と言った勤務表などにも応用する事が可能となる。【００２８】  図８は、本発明のパス５処理装置について記載した図である。
本実施例では、電子承認ワークフローシステム等を使用し予め設定されたユーザ毎の利用できるサーバ、対象、権限、申請期間、承認日時、削除日時などの情報と、８０１アクセスログ（ユーザソート）の８０３ユーザをキーとして、８０５対象に対するアクセス権限の妥当性を確認し、１２７警告レポートの８２１警告に確認内容を書き込む。【００２９】  １２５アクセスログを６１２ユーザでソートし出力した８０１アクセスログ（ユーザソート）の８０３ユーザ“Ａ”が８０２日時”２０１５／０６／２１  １０：３５：４０に８０４サーバ“α”８０５対象“甲”を８０６操作からｒｅａｄした事が分かる。
８０１アクセスログ（ユーザソート）の８０３ユーザ、８０４サーバ、８０５対象をキーとし８１１アクセスコントロールリストの８１２ユーザ、８１３サーバ、８１４対象とをマッチングさせ８１６申請期間、８１７承認日時、８１８削除日時の情報から８１２ユーザ“Ａ”は、８１３サーバ“α”８１４対象“甲”のアクセス権が８１８削除日時から２０１５／０６／２０に取り消されたことが分かる。
しかし、実際には８０３ユーザ“Ａ”が８０２日時”２０１５／０６／２１  １０：３５：４０“に８０４サーバ“α”８０５対象“甲”を操作からｒｅａｄしている。
この事実から推測できる事は、
・アクセス権の設定を管理者が間違えている。
・アクセス権を誰かが不正に操作した。
・アクセス管理システムの異常発生。
・ハッキング等の不正アクセスが発生した。
この為、１２７警告レポートに８０２日時、８０３ユーザ、８０４サーバ、８０５対象、８０６操作と８２１警告に“ｒｅａｄ権限削除済み”と警告情報を出力する。
この様な不一致が発生した時、“ｒｅａｄ権限”と具体的な権限違反の警告を表示する事ができる。【００３０】  図９は、本発明のパス６処理装置について記載した図である。
本実施例では、過去のアクセス履歴を蓄積し、蓄積したアクセス記録を元に実ファイルのアクセス状況を比較し、管理者が予め設定した指示情報を元に、一定期間以上誰もアクセスしていないファイルが存在した場合、アラームレポートを出力したり、自動的に削除したり、自動的にストレージにバックアップしたりする。【００３１】  １２５アクセスログを６１３サーバでソートし出力した９０１アクセスログ（サーバソート）の９０４サーバ、９０５対象をキーとし、１２８アクセス履歴とマッチングさせ同一の９１１サーバ、９１２対象を持つ行の９１４最終アクセス日を９０２日時の日付に、９１５監査日を本処理日に、９１６経過日数を本日から９１４最終アクセス日から引いた日数に更新する。
９１６経過日数が、予め管理者が設定した指示情報の日数を超えている場合、アラームレポートを出力し、管理者の指示により９０５対象のファイルを自動的に削除したり、ストレージにバックアップしたりする。
本実施例にては、８１１アクセスコントロールリストの８１６申請期間を過ぎた日数を指示情報の日数となり、１２８アクセス履歴の９１６経過日数が“５３６”のデータが対象となる。【００３２】  図１０は、本発明のパス７処理装置について記載した図である。
本実施例では、半期、四半期、毎月等、一定期間内のサーバ内に有るファイルのアクセス頻度を計量し１００５比率１やアクセスに伴う処理量を算出し、将来の各サーバの負荷分散を考慮するレポートを出力する。【００３３】  １２５アクセスログの２０６日時の年月部分、２０７ユーザ、２０８サーバ、２０９対象と２１１操作をキーとし、１２９動作改善情報とマッチングし該当する１００４回数に、１２５アクセスログの２０７サーバ、２０８対象、２０６ユーザ、２０５日時の日付部分と２１０操作の出現回数を数え、１００４回数に加える。
２０３ログ情報テーブルの行を全て処理した後に、
１００４回数の値を使用し、月、四半期単位にてアクセス比等の統計情報を算出する。
本実施例では１００４回数を月単位で全てのサーバの１００４回数から百分率にして情報を１００５比率１には対象単位、１００６比率２にはサーバ単位にセットしている。
この事により、人間が実際に行った操作からのアクセス頻度を知ることができる。【００３４】  ９０２統計情報の各項目は自在に変える事が可能である為、通信回線の利用頻度、通信回線の通信料などあらゆる統計情報の解析が可能となる。
アクセス内容毎の負荷分析により処理内容及びプログラミングの改善を図る事が可能と成る。
【産業上の利用可能性】
【００３５】  昨今、コンピュータの普及により増加するコンピュータ犯罪に対応するように刑法でも、電磁的記録不正作出罪、電磁的記録毀棄罪、電子計算機損壊等業務妨害罪や、電子計算機使用詐欺罪と法律が厳しくなってきている。しかし、監視、監査体制を強化し誰でもが、何時誰が何をしたかが解るシステムを導入する事によって、リスク管理システムを充実させ、この様な犯罪の抑止と言った事が行えるコンピュータ装置から出力される動作記録を解析し自然言語に翻訳し、ログを解析する事により、その動作内容を分析し、分析した内容から改善点を発見し最適化を図る技術が必要とされ、アクセス権が有るにも関わらずアクセスしないファイルのアクセス権を無くしたり、誰もアクセスする事のないファイルを削除したり、アクセスが集中するサーバの負荷分散を行い、パフォーマンスの改善、セキュリティコントロールの見直し、過去情報の蓄積と分析に対する支援情報を提供する技術装置。
【図１】
0006501159.tif 000002
【図２】
0006501159.tif 000003
【図３】
0006501159.tif 000004
【図４】
0006501159.tif 000005
【図５】
0006501159.tif 000006
【図６】
0006501159.tif 000007
【図７】
0006501159.tif 000008
【図８】
0006501159.tif 000009
【図９】
0006501159.tif 000010
【図１０】
0006501159.tif 000011