(57)【特許請求の範囲】
【請求項１】
情報処理装置によって実行されるログ処理方法であって、
処理の実行を要求する第１の処理要求を端末から受信し、
前記第１の処理要求に処理識別情報を付与し、
前記処理識別情報と、前記第１の処理要求に基づいた処理を処理サーバへ要求する第２の処理要求を、該処理サーバへ送信し、
前記処理識別情報と、前記第２の処理要求に対する処理結果を前記処理サーバから受信し、
前記処理結果から画面描画情報を生成するとともに、該画面描画情報の生成に要した生成時間を計測し、
前記処理識別情報、前記画面描画情報、及び前記生成時間を前記端末へ送信し、
前記処理識別情報、前記生成時間、前記端末において前記画面描画情報に基づく画面の描画に要した描画時間、及び前記第１の処理要求を送信してから前記画面の描画が終了するまでの全処理時間を、前記端末から受信し、
前記処理識別情報に関する情報、前記生成時間、前記描画時間、及び前記全処理時間を含むログ情報を、該ログ情報を管理するログサーバへ送信する
ことを特徴とするログ処理方法。
【請求項２】
前記情報処理装置は、前記第２の処理要求を前記処理サーバへ送信してから前記処理結果を受信するまでの実行時間を計測し、前記処理識別情報と該実行時間を前記ログサーバへ送信することを特徴とする請求項１記載のログ処理方法。
【請求項３】
前記画面描画情報は、前記処理結果を示すデータと、前記端末が該データを含む画面を描画するためのプログラムとを含むことを特徴とする請求項１又は２記載のログ処理方法。
【請求項４】
前記情報処理装置は、
前記処理識別情報を、設定された変更規則に従って、他の処理識別情報へ変更し、
前記他の処理識別情報を含む前記ログ情報を、前記ログサーバへ送信することを特徴とする請求項１乃至請求項３のいずれか一項に記載のログ処理方法。
【請求項５】
端末、処理サーバ、及びログサーバと通信する通信手段と、
前記端末から受信した、処理の実行を要求する第１の処理要求に処理識別情報を付与し、前記通信手段を介して、該処理識別情報と、該第１の処理要求に基づいた処理を前記処理サーバへ要求する第２の処理要求を、該処理サーバへ送信し、該処理識別情報と、該第２の処理要求に対する処理結果を該処理サーバから受信する処理結果取得手段と、
前記処理結果から画面描画情報を生成する生成手段と、
前記画面描画情報の生成に要した生成時間を計測する計測手段と、
前記通信手段を介して、前記処理識別情報、前記画面描画情報、及び前記生成時間を前記端末へ送信し、該処理識別情報、該生成時間、該端末において該画面描画情報に基づく画面の描画に要した描画時間、及び前記第１の処理要求を送信してから該画面の描画が終了するまでの全処理時間を、該端末から受信し、該処理識別情報に関する情報、該生成時間、該描画時間、及び該全処理時間を含むログ情報を、該ログ情報を管理する前記ログサーバへ送信するログ処理手段と
を備えることを特徴とする情報処理装置。
【請求項６】
処理の実行を要求する第１の処理要求を端末から受信し、
前記第１の処理要求に処理識別情報を付与し、
前記処理識別情報と、前記第１の処理要求に基づいた処理を処理サーバへ要求する第２の処理要求を、該処理サーバへ送信し、
前記処理識別情報と、前記第２の処理要求に対する処理結果を前記処理サーバから受信し、
前記処理結果から画面描画情報を生成するとともに、該画面描画情報の生成に要した生成時間を計測し、
前記処理識別情報、前記画面描画情報、及び前記生成時間を前記端末へ送信し、
前記処理識別情報、前記生成時間、前記端末において前記画面描画情報に基づく画面の描画に要した描画時間、及び前記第１の処理要求を送信してから前記画面の描画が終了するまでの全処理時間を、前記端末から受信し、
前記処理識別情報に関する情報、前記生成時間、前記描画時間、及び前記全処理時間を含むログ情報を、該ログ情報を管理するログサーバへ送信する
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末から受信した処理要求に基づき処理サーバから処理結果を取得する情報処理装置、ログ処理方法、及びプログラムに関する。
【背景技術】
【０００２】
Ｗｅｂシステムでは、Ｗｅｂサーバがクライアント端末から処理要求を受信し、その処理要求に基づきアプリケーション（ＡＰ）サーバへ処理を依頼する。ＡＰサーバは、依頼された処理のアプリケーションプログラムを実行し、処理結果をＷｅｂサーバに返信する。Ｗｅｂサーバは、その処理結果に基づいて画面描画情報を生成し、画面描画情報をクライアント端末へ返信する。クライアント端末は、受信した画面描画情報に基づいてＷｅｂページを描画し、表示装置に表示する。
【０００３】
このように、ＷｅｂサーバとＡＰサーバが連携して１つのトランザクションが実行される。以下の説明では、アプリケーションプログラムを単にアプリケーションと称する場合がある。
【０００４】
このようなＷＥＢシステムにおいて、トランザクション実行中にＷｅｂサーバとＡＰサーバで各々発生する複数のログを、ログ管理サーバが実際の処理順序で記録する技術が知られている。この技術では、各サーバが、トランザクション識別情報（ＩＤ）と順序情報をログメッセージに付加してログ管理サーバへ送信する。そして、ログ管理サーバは、受信したログメッセージのトランザクションＩＤ及び順序情報に基づいて、複数のログメッセージを、実際の処理順序で記録する。
【０００５】
また、クライアント装置の処理記録をサーバに収集する技術も知られている。この技術では、クライアント装置からのリクエストに対するＷｅｂサーバからのレスポンスに、クライアント装置の処理の記録を行うためのスクリプトコードが挿入される。クライアント装置は、そのスクリプトコードを解釈して実行することで、レスポンスを受け取った際、ウェブブラウザの描画が終了した際、次のウェブページへのリクエストを送信した際の処理記録を生成する。生成された処理記録は、Ｗｅｂサーバを介して記録収集サーバへ送信され、Ｗｅｂサーバの処理記録とともに記録される。
【０００６】
クライアント装置が生成する処理記録には、リクエストからレスポンスまでの通信時間、Ｗｅｂページの描画に要した描画時間、閲覧・操作時間等も含めることができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２７７１１９号公報
【特許文献２】特開２０１０−１２８８７７号公報
【特許文献３】特開２００９−１０４２６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述した従来のＷｅｂシステムには、以下のような問題がある。
ＷｅｂサーバとＡＰサーバで発生する複数のログを、ログ管理サーバが実際の処理順序で記録することで、例えば、何らかの障害が発生した場合の原因究明に役立てることができる。また、クライアント端末が処理要求を送信してから画面の描画が終了するまでの全処理時間と、画面の描画に要した描画時間等を計測すれば、それをクライアント端末のログとしてログ管理サーバに収集することができる。さらに、Ｗｅｂサーバのログ、ＡＰサーバのログ、クライアント端末のログを関連付けて管理することで、例えば、障害の原因がクライアント端末又はＷｅｂサーバ及びＡＰサーバのいずれであるかの判断に役立てることもできる。
【０００９】
一方、Ｗｅｂシステムを用いた業務を行うユーザから、業務の処理時間が長いという苦情を受けた場合、問題の原因究明を行う必要があり、可能であれば改善を行うことが望ましい。この場合、まず、Ｗｅｂシステムにより実行された多数のトランザクションのうち、どのトランザクションに対する苦情であるかを推定するところから、原因究明が開始される。
【００１０】
トランザクションは、クライアント端末が処理要求を送信してから画面の描画が終了するまでのクライアント端末、Ｗｅｂサーバ、及びＡＰサーバの一連の処理として定義される。あるトランザクションに属するログとしては、クライアント端末が生成したログと、Ｗｅｂサーバ及びＡＰサーバが生成したログとが、それぞれ複数存在し、トランザクションＩＤに対応する複数のログをつき合わせることで、原因究明が行われる。
【００１１】
処理時間が長いという苦情は、上述した全処理時間が長いということであるため、Ｗｅｂシステムの開発者等の担当者は、まず、膨大なログの中から、「全処理時間が一定時間以上」という条件に該当する１つ以上のログを検索する。次に、該当するログのトランザクションＩＤをキーとして、描画時間を含むログを検索する。そして、１つのトランザクションＩＤに対応する全処理時間と描画時間を比較しながら、経験に基づいて問題の物理的所在がクライアント側にあるかサーバ側（Ｗｅｂサーバ、ＡＰサーバ等）にあるかを判別する。
【００１２】
例えば、全処理時間に対する描画時間の割合が大きければ、クライアント端末に問題がある可能性が高く、全処理時間に対する描画時間の割合が小さければ、Ｗｅｂサーバ又はＡＰサーバに問題がある可能性が高い。担当者は、サーバ側に問題があると判断すれば、そのトランザクションＩＤに対応するサーバ側の他のログを詳細に分析する。
【００１３】
しかしながら、全処理時間には、ＡＰサーバにおけるアプリケーション実行時間、クライアント端末における描画時間以外に、Ｗｅｂサーバにおける画面描画情報の生成時間、ＷｅｂサーバとＡＰサーバの通信時間等も含まれる。
【００１４】
発明者らは、画面描画情報の生成時間は、担当者が改善できる範囲外の処理時間であるため、全処理時間に対する描画時間の割合から、通信障害や、Ｗｅｂサーバ、ＡＰサーバ、クライアント端末のソフトウェア又はハードウェア障害を判定する上で、画面描画情報の生成時間を除いて評価することが有効であることに気がついた。
【００１５】
つまり、画面描画情報の生成時間は、できれば全処理時間から生成時間を除いた残りの時間を描画時間と比較して、問題の物理的所在を特定することが望ましい。よって、担当者は、サーバ側の他のログを検索して画面描画情報の生成時間を取得する必要が生じる。
【００１６】
しかし、実際のＷｅｂシステムには多数のクライアント端末が含まれており、各クライアント端末からの処理要求に基づき、１日に多数のトランザクションが実行されるため、蓄積されるログの量は膨大になる。このため、問題の物理的所在を正確に特定するために、サーバ側のログを詳細に分析するのには多大な時間を要する。
【００１７】
本発明の課題は、トランザクションの全処理時間が長い場合に、より短時間で問題の物理的所在がクライアント側にあるかサーバ側にあるかを正確に判別できるようなログ情報を提供することである。
【課題を解決するための手段】
【００１８】
情報処理装置は、通信手段、処理結果取得手段、生成手段、計測手段、及びログ処理手段を含む。
通信手段は、端末、処理サーバ、及びログサーバと通信する。処理結果取得手段は、端末から受信した、処理の実行を要求する第１の処理要求に処理識別情報を付与し、通信手段を介して、処理識別情報と、第１の処理要求に基づいた処理を処理サーバへ要求する第２の処理要求を、処理サーバへ送信する。そして、処理識別情報と、第２の処理要求に対する処理結果を処理サーバから受信する。
【００１９】
生成手段は、処理結果から画面描画情報を生成し、計測手段は、画面描画情報の生成に要した生成時間を計測する。
ログ処理手段は、通信手段を介して、処理識別情報、画面描画情報、及び生成時間を端末へ送信する。そして、処理識別情報、生成時間、端末において画面描画情報に基づく画面の描画に要した描画時間、及び第１の処理要求を送信してから画面の描画が終了するまでの全処理時間を、端末から受信する。ログ処理手段は、処理識別情報に関する情報、生成時間、描画時間、及び全処理時間を含むログ情報を、そのログ情報を管理するログサーバへ送信する。
【発明の効果】
【００２０】
上述した情報処理装置によれば、ログサーバには、全処理時間と描画時間だけでなく、処理結果から画面描画情報を生成するのに要した生成時間をも含むログ情報が格納される。この場合、担当者は、「全処理時間が一定時間以上」という条件に該当するログを検索すれば、全処理時間、描画時間、及び生成時間が一緒になったログ情報を見ることができる。そして、全処理時間から生成時間を除く残りの時間を描画時間と比較すれば、画面描画情報の生成及び画面の描画以外の処理に要した処理時間と、端末における描画時間とを比較することができる。これにより、１つのログ情報に基づき、より短時間で問題の物理的所在がクライアント側にあるかサーバ側にあるかを正確に判別できる。
【図面の簡単な説明】
【００２１】
【図１】情報処理装置の機能的構成図である。
【図２】ログ処理のフローチャートである。
【図３】Ｗｅｂシステムの構成図である。
【図４】Ｗｅｂサーバの機能的構成図である。
【図５】Ｗｅｂシステムにおける複数の処理時間を示す図である。
【図６Ａ】ログ情報を示す図（その１）である。
【図６Ｂ】ログ情報を示す図（その２）である。
【図７】時刻情報を示す図である。
【図８】Ｗｅｂシステムにおけるトランザクション実行手順を示す図（その１）である。
【図９】Ｗｅｂシステムにおけるトランザクション実行手順を示す図（その２）である。
【図１０】情報処理装置の構成図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照しながら、実施形態を詳細に説明する。
図１は、実施形態の情報処理装置の機能的構成例を示している。図１の情報処理装置１０１は、計測部１１１、処理結果取得部１１２、生成部１１３、ログ処理部１１４、及び通信部１１５を含む。通信部１１５は、通信ネットワークを介して端末、処理サーバ、及びログサーバと通信する。
【００２３】
図２は、図１の情報処理装置１０１によるログ処理のフローチャートである。通信部１１５は、まず、端末から第１の処理要求を受信する（ステップ２０１）。処理結果取得部１１２は、第１の処理要求に処理識別情報を付与し、通信部１１５を介して、処理識別情報と、第１の処理要求に基づく第２の処理要求を処理サーバへ送信する（ステップ２０２）。そして、通信部１１５は、処理識別情報と、第２の処理要求に対する処理結果を処理サーバから受信する（ステップ２０３）。
【００２４】
生成部１１３は、処理結果から画面描画情報を生成し（ステップ２０４）、計測部１１１は、画面描画情報の生成に要した生成時間を計測する（ステップ２０５）。
ログ処理部１１４は、通信部１１５を介して、処理識別情報、画面描画情報、及び生成時間を端末へ送信する（ステップ２０６）。通信部１１５は、処理識別情報、生成時間、端末において画面描画情報に基づく画面の描画に要した描画時間、及び第１の処理要求を送信してから画面の描画が終了するまでの全処理時間を、端末から受信する（ステップ２０７）。ログ処理部１１４は、通信部１１５を介して、処理識別情報に関する情報、生成時間、描画時間、及び全処理時間を含むログ情報をログサーバへ送信する（ステップ２０８）。
【００２５】
このような情報処理装置によれば、ログサーバには、全処理時間と描画時間だけでなく、処理結果から画面描画情報を生成するのに要した生成時間をも含むログ情報が格納される。この場合、担当者は、「全処理時間が一定時間以上」という条件に該当するログを検索すれば、全処理時間、描画時間、及び生成時間が一緒になったログ情報を見ることができる。
【００２６】
そして、全処理時間から生成時間を除く残りの時間を描画時間と比較すれば、画面描画情報の生成及び画面の描画以外の処理に要した処理時間と、端末における描画時間とを比較することができる。これにより、１つのログ情報に基づき、より短時間で問題の物理的所在がクライアント側にあるかサーバ側にあるかを正確に判別できる。
【００２７】
図３は、図１の情報処理装置をＷｅｂサーバとして使用したＷｅｂシステムの構成例を示している。図３のＷｅｂシステムは、クライアント端末３０１、Ｗｅｂサーバ３０２、ＡＰサーバ３０３、データベースサーバ（ＤＢ）サーバ３０４、及びログサーバ３０５を含む。クライアント端末３０１及びサーバ３０２〜３０５は、インターネット又はイントラネット等の通信ネットワークを介して互いに通信することができる。
【００２８】
図３のＷｅｂシステムは、１つのクライアント端末３０１を含んでいるが、実施形態のＷｅｂシステムに含まれるクライアント端末の数は２つ以上の場合もある。ＡＰサーバ３０３がＤＢサーバ３０４への問い合わせを行わない場合は、ＤＢサーバ３０４を省略することができる。
【００２９】
図４は、図３のＷｅｂサーバ３０２の機能的構成例を示している。図３のＷｅｂサーバ３０２は、計測部４１１、生成部４１２、格納部４１３、制御部４１４、及び通信部４１５を含む。
【００３０】
計測部４１１、生成部４１２、及び通信部４１５は、図１の計測部１１１、生成部１１３、及び通信部１１５にそれぞれ対応し、制御部４１４は、図１の処理結果取得部１１２及びログ処理部１１４に対応する。格納部４１３には、トランザクションの進行に応じて、セッション情報４２１、時刻情報４２２、処理結果４２３、画面描画情報４２４、及びログ情報４２５を含む各種情報が格納される。
【００３１】
セッション情報４２１には、クライアント端末３０１のセッションを識別する識別情報として、トランザクションＩＤが記録され、時刻情報４２２には、Ｗｅｂサーバ３０２において所定の処理が行われた時刻が記録される。処理結果４２３は、ＡＰサーバ３０３から受信した処理結果に対応し、画面描画情報４２４は、クライアント端末３０１において処理結果４２３を示す画面を描画するために用いられる情報である。ログ情報４２５は、クライアント端末３０１から受信したログ情報に対応する。
【００３２】
画面描画情報４２４は、例えば、JavaServer Pages（「Java」は登録商標）のように、処理結果４２３を示すデータと、そのデータを含む画面を描画するためのプログラムとを含み、例えば、HyperText Markup Language（ＨＴＭＬ）ファイルに記述される。
【００３３】
図５は、図３のＷｅｂシステムにおける複数の処理時間を示している。クライアント端末３０１は、Ｗｅｂサーバ３０２へリクエストを送信する（手順５０１）。これにより、トランザクションが開始される。Ｗｅｂサーバ３０２は、受信したリクエストに基づくリクエストをＡＰサーバ３０３へ送信する（手順５０２）。
【００３４】
ＡＰサーバ３０３は、受信したリクエストに基づきアプリケーションを実行することで、業務処理を行う。このとき、アプリケーション中にＤＢ問い合わせが含まれていれば、ＤＢリクエストをＤＢサーバ３０４へ送信する（手順５０３）。ＤＢサーバ３０４は、受信したＤＢリクエストに基づきＤＢ処理を実行し、ＤＢ処理の処理結果をＡＰサーバ３０３へ返信する（手順５０４）。
【００３５】
ＡＰサーバ３０３は、受信した処理結果を用いて業務処理を続行し、業務処理の処理結果をＷｅｂサーバ３０２へ返信する（手順５０５）。Ｗｅｂサーバ３０２は、受信した処理結果を用いて画面描画情報４２４を生成し、画面描画情報４２４をクライアント端末３０１へ送信する（手順５０６）。クライアント端末３０１は、受信した画面描画情報４２４を用いて画面を描画し、表示装置に表示する。表示装置に画面が表示された時点で、トランザクションが終了する。ただし、Ｗｅｂサーバ３０２では、クライアント端末３０１へ処理結果を返信した時点で、トランザクションが終了したと判定し、トランザクションの終了をログサーバ３０５へ通知する場合もある。
【００３６】
このようなトランザクションにおいて、全処理時間Ｔ１、業務実行時間Ｔ２、ＡＰサーバ処理時間Ｔ３、生成時間Ｔ４、及び描画時間Ｔ５は、以下のように定義される。
全処理時間Ｔ１：クライアント端末３０１がＷｅｂサーバ３０２へリクエストを送信してから、クライアント端末３０１上で画面の描画が終了するまでの時間である。
【００３７】
業務実行時間Ｔ２：Ｗｅｂサーバ３０２がＡＰサーバ３０３へリクエストを送信してから、ＡＰサーバ３０３から処理結果を受信するまでの時間である。
ＡＰサーバ処理時間Ｔ３：ＡＰサーバ３０３がＷｅｂサーバ３０２からリクエストを受信してから、Ｗｅｂサーバ３０２へ処理結果を送信するまでの時間である。
【００３８】
生成時間Ｔ４：Ｗｅｂサーバ３０２が画面描画情報４２４の生成を開始してから、生成を終了するまでの時間である。
描画時間Ｔ５：クライアント端末３０１がＷｅｂサーバ３０２から画面描画情報４２４を受信してから、画面の描画を終了するまでの時間である。
【００３９】
画面の描画が終了すると、クライアント端末３０１は、全処理時間Ｔ１、生成時間Ｔ４、及び描画時間Ｔ５を含むログ情報４２５をＷｅｂサーバ３０２へ送信し、Ｗｅｂサーバ３０２は、そのログ情報４２５をログサーバ３０５へ送信する。こうして、ログ情報４２５はログサーバ３０５に記録される。
【００４０】
図６Ａ及び図６Ｂは、ログサーバ３０５に記録される複数のログ情報の例を示している。各ログ情報は、トランザクションＩＤ、サーバ種別、サーバのインターネットプロトコル（ＩＰ）アドレス、画面ＩＤ、ログ名、ユーザＩＤ、所属コード、日付、時刻、クライアントのＩＰアドレス、数値１〜３、及びアクション名を含む。
【００４１】
サーバ種別は、ログサーバ３０５へログ情報を送信したサーバの種別を表し、“Ｗ３”及び“ＡＰ”は、それぞれＷｅｂサーバ及びＡＰサーバを表している。画面ＩＤは、ＡＰサーバ３０３が実行するアプリケーションに対応する識別情報であり、ログ名は、ログ情報の名称である。ユーザＩＤは、クライアント端末３０１のユーザに対応し、所属コードは、そのユーザが属するグループを表す。日付及び時刻は、ログサーバ３０５にログ情報が記録された日時を表し、数値１〜３は、ログ名に対応する処理時間等を表す。アクション名は、トランザクションの内容を示す文字列である。
【００４２】
ログ名には、ＡＰサーバ処理時間、業務実行時間、及び画面処理時間が含まれる。ログ名が“ＡＰサーバ処理時間”の場合、数値１にＡＰサーバ処理時間Ｔ３が記述され、ログ名が“業務実行時間”の場合、数値１に業務実行時間Ｔ２が記述される。ログ名が“画面処理時間”の場合、数値１、数値２、及び数値３に、全処理時間Ｔ１、生成時間Ｔ４、及び描画時間Ｔ５がそれぞれ記述される。ログ名が“ＡＰサーバ処理時間”又は“業務実行時間”の場合、数値２及び３は使用されないため、“０”のままである。
【００４３】
ログ情報６０１、６０３、６０４、６０６、６０７、６０９、及び６１０のサーバ種別は“Ｗ３”であり、Ｗｅｂサーバ３０２から受信したログ情報であることが分かる。一方、ログ情報６０２、６０５、及び６０８のサーバ種別は“ＡＰ”であり、ＡＰサーバ３０３から受信したログ情報であることが分かる。
【００４４】
ログ情報６０２のログ名は“ＡＰサーバ処理時間”であり、その数値１にはＡＰサーバ処理時間Ｔ３として“１６”が記述されている。この例では、時間の単位はミリ秒である。ログ情報６０３のログ名は“業務実行時間”であり、その数値１には業務実行時間Ｔ２として“３１”が記述されている。
【００４５】
また、ログ情報６１０のログ名は“画面処理時間”であり、その数値１には全処理時間Ｔ１として“２２０３”が記述されており、数値２及び数値３には、生成時間Ｔ４及び描画時間Ｔ５として“１６”及び“１４２２”がそれぞれ記述されている。まず、全処理時間Ｔ１から生成時間Ｔ４を差し引くと、残りの時間は、“２１８７”である。この“２１８７”と描画時間“１４２２”とを比較することで、物理的な問題の所在が、クライアント端末にあるのか、ＷｅｂサーバまたはＡＰサーバにあるのかを担当者は経験的に判断することができる。ここで、例えば、描画時間が、全処理時間から生成時間を除いた時間に対して、大きくないと判断した場合は、担当者は、ＡＰサーバ３０３、Ｗｅｂサーバ３０２で生成されたログを詳細に解析し、物理的な問題の所在を特定する。
【００４６】
なお、全処理時間Ｔ１から生成時間Ｔ４及び描画時間Ｔ５を差し引くと、残りの時間は“７６５”になるが、この残りの時間には、業務実行時間Ｔ２だけでなく、Ｗｅｂシステムにおける他の様々な処理時間が含まれている。
【００４７】
図６Ａ及び図６Ｂのログ情報によれば、担当者は、全処理時間Ｔ１が長い原因として次のような可能性を認識することができる。
例えば、ＡＰサーバ処理時間Ｔ３が長ければ、ＡＰサーバ３０３におけるアプリケーション実行やＤＢサーバ３０４への問い合わせがボトルネックになっている可能性がある。また、ＡＰサーバ処理時間Ｔ３が短いにもかかわらず、業務実行時間Ｔ２が長ければ、Ｗｅｂサーバ３０２とＡＰサーバ３０３の間の通信劣化やＡＰサーバ３０３の多重度不足が原因として考えられる。一方、生成時間Ｔ４が長ければ、画面に表示されるデータ量が多すぎるか、Ｗｅｂサーバ３０２のリソースが枯渇している可能性がある。また、描画時間Ｔ５が長ければ、クライアント端末３０１の性能がボトルネックになっている可能性がある。
【００４８】
なお、ログ情報６１０のトランザクションＩＤの末尾は“００００３３Ａ１−Ｆ”となっており、ログ情報６０２及び６０３のトランザクションＩＤの末尾である“００００３３０１−Ｆ”とは一部異なっている。しかし、これらのトランザクションＩＤは、異なるトランザクションを示すわけではなく、同じトランザクションを示している。この場合、異なる文字列である“Ａ１”及び“０１”以外の部分が同一であるため、同じトランザクションに属するログ情報であることが認識できる。
【００４９】
実施形態のログ情報は、図６Ａ及び図６Ｂに示したすべての項目を含む必要はなく、Ｗｅｂシステムの構成や条件に応じて一部の項目を省略することも可能である。例えば、画面ＩＤやアクション名が不要な場合は、これらの項目を省略してもよい。
【００５０】
図７は、図４の時刻情報４２２の例を示している。図７の時刻情報４２２には、業務処理開始時刻７０１及び生成開始時刻７０２が含まれる。業務処理開始時刻７０１は、Ｗｅｂサーバ３０２がＡＰサーバ３０３へリクエストを送信することで、業務処理を開始した時刻であり、生成開始時刻７０２は、画面描画情報４２４の生成を開始した時刻である。業務処理開始時刻７０１及び生成開始時刻７０２は、計測部４１１により記録され、それぞれ業務実行時間Ｔ２及び生成時間Ｔ４の計測に用いられる。
【００５１】
図８及び図９は、図３のＷｅｂシステムにおけるトランザクション実行手順を示している。以下の説明では、特に断らない限り、Ｗｅｂサーバ３０２の動作は、制御部４１４又は通信部４１５により行われる。
【００５２】
まず、クライアント端末３０１のユーザは、表示された画面上でボタン押下、画面遷移等の画面操作を行う（図８のステップ８０１）。このとき、クライアント端末３０１は、タイマから現在時刻を取得し、アクション開始時刻として画面の隠し項目に設定する。隠し項目は、その画面の情報として設定されるが、非表示として扱われる。クライアント端末３０１は、さらに実行するトランザクションのアクション名を隠し項目に設定し、Ｗｅｂサーバ３０２へリクエストを送信する（ステップ８０２）。このリクエストには、アクション開始時刻、アクション名、ユーザＩＤ、及び所属コードが含まれる。
【００５３】
Ｗｅｂサーバ３０２は、リクエストを受信すると、ログ情報をログサーバ３０５へ送信するか否かを判定する（ステップ８０３）。例えば、受信したリクエストに既にトランザクションＩＤが含まれていれば、ログ情報を送信すると判定される。初回のリクエストにはトランザクションＩＤが含まれていないため、ログ情報は送信されない。
【００５４】
次に、Ｗｅｂサーバ３０２は、リクエストの内容を解析し、ＡＰサーバ３０３に対するリクエストのための前処理を行う。計測部４１１は、タイマから現在時刻を取得し、業務処理開始時刻７０１として時刻情報４２２に記録する。
【００５５】
Ｗｅｂサーバ３０２は、受信したリクエストにトランザクションＩＤを付与し、そのトランザクションＩＤをセッション情報４２１に記録する。そして、トランザクションＩＤ、サーバ種別、ユーザＩＤ、及び所属コードを含むトランザクション開始通知をログサーバ３０５へ送信する（ステップ８０４）。ログサーバ３０５は、トランザクション開始通知を受信すると、トランザクションＩＤ、サーバ種別、ユーザＩＤ、及び所属コードを含むログヘッダ情報を生成する（ステップ８０５）。このとき、サーバ種別として“Ｗ３”が記録される。
【００５６】
次に、Ｗｅｂサーバ３０２は、トランザクションＩＤと実行すべきアプリケーションの識別情報を含むリクエストをＡＰサーバ３０３へ送信する（ステップ８０６）。
ＡＰサーバ３０３は、リクエストを受信すると、タイマから現在時刻を取得し、ＡＰサーバ処理開始時刻として記録する（ステップ８０７）。そして、トランザクションＩＤ及びサーバ種別を含む処理開始通知をログサーバ３０５へ送信する（ステップ８０８）。ログサーバ３０５は、処理開始通知を受信すると、ログヘッダ情報のサーバ種別を“Ｗ３”から“ＡＰ”に更新する（ステップ８０９）。
【００５７】
次に、ＡＰサーバ３０３は、受信したリクエストに基づきアプリケーションを実行することで、業務処理を行い、業務処理の処理結果を生成する（ステップ８１０）。そして、タイマから現在時刻を取得し、それをＡＰサーバ処理終了時刻として用いて、ＡＰサーバ処理終了時刻からＡＰサーバ処理開始時刻を減算することでＡＰサーバ処理時間Ｔ３を求める。
【００５８】
次に、ＡＰサーバ３０３は、トランザクションＩＤ、サーバ種別、ログ名、及びＡＰサーバ処理時間Ｔ３を含むログ情報をログサーバ３０５へ送信する（ステップ８１１）。ログサーバ３０５は、ログ情報を受信すると、それをログヘッダ情報とともにＡＰサーバ３０３のログ情報として記録する（ステップ８１２）。このとき、ログ名としては“ＡＰサーバ処理時間”が用いられ、例えば、図６Ａ及び図６Ｂのログ情報６０２のようなログ情報が記録される。
【００５９】
次に、ＡＰサーバ３０３は、トランザクションＩＤを含む処理終了通知をログサーバ３０５へ送信する（ステップ８１３）。ログサーバ３０５は、処理終了通知を受信すると、ログヘッダ情報のサーバ種別を“ＡＰ”から“Ｗ３”に更新する（ステップ８１４）。
【００６０】
次に、ＡＰサーバ３０３は、トランザクションＩＤと業務処理の処理結果をＷｅｂサーバ３０２へ返信する（ステップ８１５）。Ｗｅｂサーバ３０２は、受信した業務処理の処理結果を、処理結果４２３として格納部４１３に格納し、処理結果４２３に含まれるデータを解析する（ステップ８１６）。計測部４１１は、タイマから現在時刻を取得し、それを業務処理終了時刻として用いて、業務処理終了時刻から業務処理開始時刻７０１を減算することで業務実行時間Ｔ２を求める。
【００６１】
次に、Ｗｅｂサーバ３０２は、トランザクションＩＤ、サーバ種別、ログ名、及び業務実行時間Ｔ２を含むログ情報をログサーバ３０５へ送信する（ステップ８１７）。ログサーバ３０５は、ログ情報を受信すると、それをログヘッダ情報とともにＷｅｂサーバ３０２のログ情報として記録する（ステップ８１８）。このとき、ログ名としては“業務実行時間”が用いられ、例えば、図６Ａ及び図６Ｂのログ情報６０３のようなログ情報が記録される。
【００６２】
次に、Ｗｅｂサーバ３０２は、トランザクションＩＤを含むトランザクション終了通知をログサーバ３０５へ送信する（ステップ８１９）。ログサーバ３０５は、トランザクション終了通知を受信すると、ログヘッダ情報を削除する（ステップ８２０）。
【００６３】
次に、Ｗｅｂサーバ３０２は、ＡＰサーバ３０３に対するリクエストの後処理を行う。生成部４１２は、業務処理の処理結果を用いて画面描画情報４２４を生成する処理を開始する（図９のステップ９０１）。このとき、計測部４１１は、タイマから現在時刻を取得し、生成開始時刻７０２として時刻情報４２２に記録する。
【００６４】
画面描画情報４２４の生成処理において、生成部４１２は、クライアント端末３０１からのリクエストに含まれていたアクション開始時刻及びアクション名を画面の隠し項目に設定する。さらに、セッション情報４２１のトランザクションＩＤを画面の隠し項目に設定し、セッション情報４２１からトランザクションＩＤを削除する。そして、業務処理の処理結果に含まれるデータを画面描画情報４２４に設定する。
【００６５】
次に、計測部４１１は、タイマから現在時刻を取得し、それを生成終了時刻として用いて、生成終了時刻から生成開始時刻７０２を減算することで生成時間Ｔ４を求める。生成部４１２は、生成時間Ｔ５を画面の隠し項目に設定し、Ｗｅｂサーバ３０２は、生成した画面描画情報４２４をクライアント端末３０１へ返信する（ステップ９０２）。この画面描画情報４２４には、アクション開始時刻、アクション名、トランザクションＩＤ、及び生成時間Ｔ４が含まれる。
【００６６】
クライアント端末３０１は、画面描画情報４２４を受信すると（ステップ９０３）、画面描画情報４２４を用いて画面の描画を開始する（ステップ９０４）。このとき、タイマから現在時刻を取得し、描画開始時刻として記録する。
【００６７】
次に、画面の描画を終了すると、タイマから現在時刻を取得し、それを描画終了時刻として用いて、描画終了時刻から描画開始時刻を減算することで描画時間Ｔ５を求める。そして、描画時間Ｔ５を画面の隠し項目に設定する。
【００６８】
次に、描画終了時刻からアクション開始時刻を減算することで全処理時間Ｔ１を求め、全処理時間Ｔ１と画面描画情報４２４に含まれていた生成時間Ｔ４とを画面の隠し項目に設定する。
【００６９】
その後、表示装置に表示された画面上で、ユーザが次の画面操作を行うと、クライアント端末３０１は、ステップ８０１及び８０２と同様の処理を行う（ステップ９０５及び９０６）。ただし、ステップ９０６でＷｅｂサーバ３０２へ送信されるリクエストには、ステップ９０３で受信した画面描画情報４２４のアクション名及びトランザクションＩＤ、全処理時間Ｔ１、生成時間Ｔ４、及び描画時間Ｔ５が含まれる。このリクエストには、さらに新たなアクションのアクション開始時刻、アクション名、ユーザＩＤ、及び所属コードも含まれる。
【００７０】
Ｗｅｂサーバ３０２は、リクエストを受信すると、ログ情報をログサーバ３０５へ送信するか否かを判定する（ステップ９０７）。ここで、受信したリクエストにはトランザクションＩＤが含まれているため、ログ情報を送信すると判定される。
【００７１】
そこで、Ｗｅｂサーバ３０２は、受信したリクエストから、前回のアクションのアクション名、トランザクションＩＤ、全処理時間Ｔ１、生成時間Ｔ４、及び描画時間Ｔ５を取得する。そして、図６Ａ及び図６Ｂのログ情報６１０が示すように、トランザクションＩＤの文字列の一部を改変し、改変されたトランザクションＩＤ、サーバ種別、ユーザＩＤ、及び所属コードを含むトランザクション開始通知をログサーバ３０５へ送信する（ステップ９０８）。なお、予め設定された規則に基づいて、トランザクションＩＤは改変される。例えば、Ｗｅｂサーバ３０２は、トランザクションＩＤの末尾２桁を、“０１”から“Ａ１”へ変更する。トランザクションＩＤを変更することで、ログサーバが、ステップ８２０にてログヘッダ情報を削除した後に、削除されたトランザクションＩＤを含むログ情報を、再度受信することを防ぐことができる。
【００７２】
ログサーバ３０５は、トランザクション開始通知を受信すると、改変されたトランザクションＩＤ、サーバ種別、ユーザＩＤ、及び所属コードを含むログヘッダ情報を生成する（ステップ９０９）。このとき、サーバ種別として“Ｗ３”が記録される。
【００７３】
次に、Ｗｅｂサーバ３０２は、改変されたトランザクションＩＤ、サーバ種別、ログ名、全処理時間Ｔ１、生成時間Ｔ４、描画時間Ｔ５、及びアクション名を含むログ情報４２５を生成して、格納部４１３に格納する。そして、そのログ情報４２５をログサーバ３０５へ送信する（ステップ９１０）。ログサーバ３０５は、ログ情報４２５を受信すると、それをログヘッダ情報とともにＷｅｂサーバ３０２のログ情報として記録する（ステップ９１１）。このとき、ログ名としては“画面処理時間”が用いられ、例えば、図６Ａ及び図６Ｂのログ情報６１０のようなログ情報が記録される。
【００７４】
次に、Ｗｅｂサーバ３０２は、改変されたトランザクションＩＤを含むトランザクション終了通知をログサーバ３０５へ送信する（ステップ９１２）。ログサーバ３０５は、トランザクション終了通知を受信すると、ログヘッダ情報を削除する（ステップ９１３）。
【００７５】
なお、Ｗｅｂサーバ３０２は、ステップ９０７〜９１３の処理と並行して、新たなアクションに対し、ステップ８０３以降と同様の処理を開始する。これにより、新たなトランザクションＩＤが付与され、そのトランザクションの業務処理が開始される。
【００７６】
以上説明した図８及び図９のトランザクション実行手順において、必ずしもすべての処理を実行する必要はなく、Ｗｅｂシステムの構成や条件に応じて一部の処理を省略することも可能である。例えば、ログサーバ３０５において、ステップ８１２及び８１８で記録されるログ情報のトランザクションＩＤと、ステップ９１１で記録されるログ情報のトランザクションＩＤを異ならせる必要がない場合もある。その場合、ステップ９０８において、Ｗｅｂサーバ３０２はトランザクションＩＤを改変しなくてもよい。
【００７７】
図１の情報処理装置１０１、図３のクライアント３０１、Ｗｅｂサーバ３０２、ＡＰサーバ３０３、ＤＢサーバ３０４、及びログサーバ３０５は、例えば、図１０に示すような情報処理装置（コンピュータ）を用いて実現可能である。
【００７８】
図１０の情報処理装置は、Central Processing Unit （ＣＰＵ）１００１、メモリ１００２、入力装置１００３、出力装置１００４、外部記憶装置１００５、媒体駆動装置１００６、及びネットワーク接続装置１００７を備える。これらはバス１００８により互いに接続されている。
【００７９】
メモリ１００２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。例えば、ＣＰＵ１００１は、メモリ１００２を利用してプログラムを実行することにより、クライアント３０１、Ｗｅｂサーバ３０２、ＡＰサーバ３０３、ＤＢサーバ３０４、及びログサーバ３０５の処理を行う。メモリ１００２は、図２の格納部４１３としても使用でき、セッション情報４２１、時刻情報４２２、処理結果４２３、画面描画情報４２４、及びログ情報４２５を格納することもできる。
【００８０】
入力装置１００３は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置１００４は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせや処理結果の出力に用いられる。クライアント３０１の処理結果には、画面描画情報４２４に基づいて描画された画面も含まれる。
【００８１】
外部記憶装置１００５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。この外部記憶装置１００５には、ハードディスクドライブも含まれる。情報処理装置は、この外部記憶装置１００５にプログラム及びデータを格納しておき、それらをメモリ１００２にロードして使用することができる。
【００８２】
媒体駆動装置１００６は、可搬型記録媒体１００９を駆動し、その記録内容にアクセスする。可搬型記録媒体１００９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。この可搬型記録媒体１００９には、Compact Disk Read Only Memory （ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、Universal Serial Bus（ＵＳＢ）メモリ等も含まれる。ユーザ又はオペレータは、この可搬型記録媒体１００９にプログラム及びデータを格納しておき、それらをメモリ１００２にロードして使用することができる。
【００８３】
このように、各種処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ１００２、外部記憶装置１００５、及び可搬型記録媒体１００９のような、物理的な（非一時的な）記録媒体が含まれる。
【００８４】
ネットワーク接続装置１００７は、Local Area Network（ＬＡＮ）、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置１００７を介して受け取り、それらをメモリ１００２にロードして使用することもできる。
【００８５】
なお、情報処理装置が図１０のすべての構成要素を含む必要はなく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、情報処理装置がＷｅｂサーバ３０２、ＡＰサーバ３０３、又はＤＢサーバ３０４として使用される場合は、入力装置１００３及び出力装置１００４を省略してもよい。
【００８６】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【符号の説明】
【００８７】
１０１  情報処理装置
１１１、４１１  計測部
１１２  処理結果取得部
１１３、４１２  生成部
１１４  ログ処理部
１１５、４１５  通信部
３０１  クライアント端末
３０２  Ｗｅｂサーバ
３０３  ＡＰサーバ
３０４  ＤＢサーバ
３０５  ログサーバ
４１３  格納部
４２１  セッション情報
４２２  時刻情報
４２３  処理結果
４２４  画面描画情報
４２５、６０１〜６１０  ログ情報
７０１  業務処理開始時刻
７０２  生成開始時刻
１００１  ＣＰＵ
１００２  メモリ
１００３  入力装置
１００４  出力装置
１００５  外部記憶装置
１００６  媒体駆動装置
１００７  ネットワーク接続装置
１００８  バス
１００９  可搬型記録媒体
【図１】
0005673391.tif 000002
【図２】
0005673391.tif 000003
【図３】
0005673391.tif 000004
【図４】
0005673391.tif 000005
【図５】
0005673391.tif 000006
【図６Ａ】
0005673391.tif 000007
【図６Ｂ】
0005673391.tif 000008
【図７】
0005673391.tif 000009
【図８】
0005673391.tif 000010
【図９】
0005673391.tif 000011
【図１０】
0005673391.tif 000012