説明

情報処理装置、ログ処理方法、及びプログラム

【課題】トランザクションの全処理時間が長い場合に、より短時間で問題の物理的所在がクライアント側にあるかサーバ側にあるかを正確に判別できるようなログ情報を提供する。
【解決手段】処理結果取得部112は、端末から受信した第1の処理要求に処理識別情報を付与し、通信部115を介して、第1の処理要求に基づく第2の処理要求を処理サーバへ送信する。生成部113は、処理サーバから受信した処理結果から画面描画情報を生成し、計測部111は、画面描画情報の生成に要した生成時間を計測する。ログ処理部114は、通信部115を介して、画面描画情報及び生成時間を端末へ送信し、生成時間、端末において画面描画情報に基づく画面の描画に要した描画時間、及び第1の処理要求を送信してから画面の描画が終了するまでの全処理時間を、端末から受信する。通信部115は、生成時間、描画時間、及び全処理時間を含むログ情報をログサーバへ送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末から受信した処理要求に基づき処理サーバから処理結果を取得する情報処理装置、ログ処理方法、及びプログラムに関する。
【背景技術】
【0002】
Webシステムでは、Webサーバがクライアント端末から処理要求を受信し、その処理要求に基づきアプリケーション(AP)サーバへ処理を依頼する。APサーバは、依頼された処理のアプリケーションプログラムを実行し、処理結果をWebサーバに返信する。Webサーバは、その処理結果に基づいて画面描画情報を生成し、画面描画情報をクライアント端末へ返信する。クライアント端末は、受信した画面描画情報に基づいてWebページを描画し、表示装置に表示する。
【0003】
このように、WebサーバとAPサーバが連携して1つのトランザクションが実行される。以下の説明では、アプリケーションプログラムを単にアプリケーションと称する場合がある。
【0004】
このようなWEBシステムにおいて、トランザクション実行中にWebサーバとAPサーバで各々発生する複数のログを、ログ管理サーバが実際の処理順序で記録する技術が知られている。この技術では、各サーバが、トランザクション識別情報(ID)と順序情報をログメッセージに付加してログ管理サーバへ送信する。そして、ログ管理サーバは、受信したログメッセージのトランザクションID及び順序情報に基づいて、複数のログメッセージを、実際の処理順序で記録する。
【0005】
また、クライアント装置の処理記録をサーバに収集する技術も知られている。この技術では、クライアント装置からのリクエストに対するWebサーバからのレスポンスに、クライアント装置の処理の記録を行うためのスクリプトコードが挿入される。クライアント装置は、そのスクリプトコードを解釈して実行することで、レスポンスを受け取った際、ウェブブラウザの描画が終了した際、次のウェブページへのリクエストを送信した際の処理記録を生成する。生成された処理記録は、Webサーバを介して記録収集サーバへ送信され、Webサーバの処理記録とともに記録される。
【0006】
クライアント装置が生成する処理記録には、リクエストからレスポンスまでの通信時間、Webページの描画に要した描画時間、閲覧・操作時間等も含めることができる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2009−277119号公報
【特許文献2】特開2010−128877号公報
【特許文献3】特開2009−104267号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
上述した従来のWebシステムには、以下のような問題がある。
WebサーバとAPサーバで発生する複数のログを、ログ管理サーバが実際の処理順序で記録することで、例えば、何らかの障害が発生した場合の原因究明に役立てることができる。また、クライアント端末が処理要求を送信してから画面の描画が終了するまでの全処理時間と、画面の描画に要した描画時間等を計測すれば、それをクライアント端末のログとしてログ管理サーバに収集することができる。さらに、Webサーバのログ、APサーバのログ、クライアント端末のログを関連付けて管理することで、例えば、障害の原因がクライアント端末又はWebサーバ及びAPサーバのいずれであるかの判断に役立てることもできる。
【0009】
一方、Webシステムを用いた業務を行うユーザから、業務の処理時間が長いという苦情を受けた場合、問題の原因究明を行う必要があり、可能であれば改善を行うことが望ましい。この場合、まず、Webシステムにより実行された多数のトランザクションのうち、どのトランザクションに対する苦情であるかを推定するところから、原因究明が開始される。
【0010】
トランザクションは、クライアント端末が処理要求を送信してから画面の描画が終了するまでのクライアント端末、Webサーバ、及びAPサーバの一連の処理として定義される。あるトランザクションに属するログとしては、クライアント端末が生成したログと、Webサーバ及びAPサーバが生成したログとが、それぞれ複数存在し、トランザクションIDに対応する複数のログをつき合わせることで、原因究明が行われる。
【0011】
処理時間が長いという苦情は、上述した全処理時間が長いということであるため、Webシステムの開発者等の担当者は、まず、膨大なログの中から、「全処理時間が一定時間以上」という条件に該当する1つ以上のログを検索する。次に、該当するログのトランザクションIDをキーとして、描画時間を含むログを検索する。そして、1つのトランザクションIDに対応する全処理時間と描画時間を比較しながら、経験に基づいて問題の物理的所在がクライアント側にあるかサーバ側(Webサーバ、APサーバ等)にあるかを判別する。
【0012】
例えば、全処理時間に対する描画時間の割合が大きければ、クライアント端末に問題がある可能性が高く、全処理時間に対する描画時間の割合が小さければ、Webサーバ又はAPサーバに問題がある可能性が高い。担当者は、サーバ側に問題があると判断すれば、そのトランザクションIDに対応するサーバ側の他のログを詳細に分析する。
【0013】
しかしながら、全処理時間には、APサーバにおけるアプリケーション実行時間、クライアント端末における描画時間以外に、Webサーバにおける画面描画情報の生成時間、WebサーバとAPサーバの通信時間等も含まれる。
【0014】
発明者らは、画面描画情報の生成時間は、担当者が改善できる範囲外の処理時間であるため、全処理時間に対する描画時間の割合から、通信障害や、Webサーバ、APサーバ、クライアント端末のソフトウェア又はハードウェア障害を判定する上で、画面描画情報の生成時間を除いて評価することが有効であることに気がついた。
【0015】
つまり、画面描画情報の生成時間は、できれば全処理時間から生成時間を除いた残りの時間を描画時間と比較して、問題の物理的所在を特定することが望ましい。よって、担当者は、サーバ側の他のログを検索して画面描画情報の生成時間を取得する必要が生じる。
【0016】
しかし、実際のWebシステムには多数のクライアント端末が含まれており、各クライアント端末からの処理要求に基づき、1日に多数のトランザクションが実行されるため、蓄積されるログの量は膨大になる。このため、問題の物理的所在を正確に特定するために、サーバ側のログを詳細に分析するのには多大な時間を要する。
【0017】
本発明の課題は、トランザクションの全処理時間が長い場合に、より短時間で問題の物理的所在がクライアント側にあるかサーバ側にあるかを正確に判別できるようなログ情報を提供することである。
【課題を解決するための手段】
【0018】
情報処理装置は、通信手段、処理結果取得手段、生成手段、計測手段、及びログ処理手段を含む。
通信手段は、端末、処理サーバ、及びログサーバと通信する。処理結果取得手段は、端末から受信した、処理の実行を要求する第1の処理要求に処理識別情報を付与し、通信手段を介して、処理識別情報と、第1の処理要求に基づいた処理を処理サーバへ要求する第2の処理要求を、処理サーバへ送信する。そして、処理識別情報と、第2の処理要求に対する処理結果を処理サーバから受信する。
【0019】
生成手段は、処理結果から画面描画情報を生成し、計測手段は、画面描画情報の生成に要した生成時間を計測する。
ログ処理手段は、通信手段を介して、処理識別情報、画面描画情報、及び生成時間を端末へ送信する。そして、処理識別情報、生成時間、端末において画面描画情報に基づく画面の描画に要した描画時間、及び第1の処理要求を送信してから画面の描画が終了するまでの全処理時間を、端末から受信する。ログ処理手段は、処理識別情報に関する情報、生成時間、描画時間、及び全処理時間を含むログ情報を、そのログ情報を管理するログサーバへ送信する。
【発明の効果】
【0020】
上述した情報処理装置によれば、ログサーバには、全処理時間と描画時間だけでなく、処理結果から画面描画情報を生成するのに要した生成時間をも含むログ情報が格納される。この場合、担当者は、「全処理時間が一定時間以上」という条件に該当するログを検索すれば、全処理時間、描画時間、及び生成時間が一緒になったログ情報を見ることができる。そして、全処理時間から生成時間を除く残りの時間を描画時間と比較すれば、画面描画情報の生成及び画面の描画以外の処理に要した処理時間と、端末における描画時間とを比較することができる。これにより、1つのログ情報に基づき、より短時間で問題の物理的所在がクライアント側にあるかサーバ側にあるかを正確に判別できる。
【図面の簡単な説明】
【0021】
【図1】情報処理装置の機能的構成図である。
【図2】ログ処理のフローチャートである。
【図3】Webシステムの構成図である。
【図4】Webサーバの機能的構成図である。
【図5】Webシステムにおける複数の処理時間を示す図である。
【図6A】ログ情報を示す図(その1)である。
【図6B】ログ情報を示す図(その2)である。
【図7】時刻情報を示す図である。
【図8】Webシステムにおけるトランザクション実行手順を示す図(その1)である。
【図9】Webシステムにおけるトランザクション実行手順を示す図(その2)である。
【図10】情報処理装置の構成図である。
【発明を実施するための形態】
【0022】
以下、図面を参照しながら、実施形態を詳細に説明する。
図1は、実施形態の情報処理装置の機能的構成例を示している。図1の情報処理装置101は、計測部111、処理結果取得部112、生成部113、ログ処理部114、及び通信部115を含む。通信部115は、通信ネットワークを介して端末、処理サーバ、及びログサーバと通信する。
【0023】
図2は、図1の情報処理装置101によるログ処理のフローチャートである。通信部115は、まず、端末から第1の処理要求を受信する(ステップ201)。処理結果取得部112は、第1の処理要求に処理識別情報を付与し、通信部115を介して、処理識別情報と、第1の処理要求に基づく第2の処理要求を処理サーバへ送信する(ステップ202)。そして、通信部115は、処理識別情報と、第2の処理要求に対する処理結果を処理サーバから受信する(ステップ203)。
【0024】
生成部113は、処理結果から画面描画情報を生成し(ステップ204)、計測部111は、画面描画情報の生成に要した生成時間を計測する(ステップ205)。
ログ処理部114は、通信部115を介して、処理識別情報、画面描画情報、及び生成時間を端末へ送信する(ステップ206)。通信部115は、処理識別情報、生成時間、端末において画面描画情報に基づく画面の描画に要した描画時間、及び第1の処理要求を送信してから画面の描画が終了するまでの全処理時間を、端末から受信する(ステップ207)。ログ処理部114は、通信部115を介して、処理識別情報に関する情報、生成時間、描画時間、及び全処理時間を含むログ情報をログサーバへ送信する(ステップ208)。
【0025】
このような情報処理装置によれば、ログサーバには、全処理時間と描画時間だけでなく、処理結果から画面描画情報を生成するのに要した生成時間をも含むログ情報が格納される。この場合、担当者は、「全処理時間が一定時間以上」という条件に該当するログを検索すれば、全処理時間、描画時間、及び生成時間が一緒になったログ情報を見ることができる。
【0026】
そして、全処理時間から生成時間を除く残りの時間を描画時間と比較すれば、画面描画情報の生成及び画面の描画以外の処理に要した処理時間と、端末における描画時間とを比較することができる。これにより、1つのログ情報に基づき、より短時間で問題の物理的所在がクライアント側にあるかサーバ側にあるかを正確に判別できる。
【0027】
図3は、図1の情報処理装置をWebサーバとして使用したWebシステムの構成例を示している。図3のWebシステムは、クライアント端末301、Webサーバ302、APサーバ303、データベースサーバ(DB)サーバ304、及びログサーバ305を含む。クライアント端末301及びサーバ302〜305は、インターネット又はイントラネット等の通信ネットワークを介して互いに通信することができる。
【0028】
図3のWebシステムは、1つのクライアント端末301を含んでいるが、実施形態のWebシステムに含まれるクライアント端末の数は2つ以上の場合もある。APサーバ303がDBサーバ304への問い合わせを行わない場合は、DBサーバ304を省略することができる。
【0029】
図4は、図3のWebサーバ302の機能的構成例を示している。図3のWebサーバ302は、計測部411、生成部412、格納部413、制御部414、及び通信部415を含む。
【0030】
計測部411、生成部412、及び通信部415は、図1の計測部111、生成部113、及び通信部115にそれぞれ対応し、制御部414は、図1の処理結果取得部112及びログ処理部114に対応する。格納部413には、トランザクションの進行に応じて、セッション情報421、時刻情報422、処理結果423、画面描画情報424、及びログ情報425を含む各種情報が格納される。
【0031】
セッション情報421には、クライアント端末301のセッションを識別する識別情報として、トランザクションIDが記録され、時刻情報422には、Webサーバ302において所定の処理が行われた時刻が記録される。処理結果423は、APサーバ303から受信した処理結果に対応し、画面描画情報424は、クライアント端末301において処理結果423を示す画面を描画するために用いられる情報である。ログ情報425は、クライアント端末301から受信したログ情報に対応する。
【0032】
画面描画情報424は、例えば、JavaServer Pages(「Java」は登録商標)のように、処理結果423を示すデータと、そのデータを含む画面を描画するためのプログラムとを含み、例えば、HyperText Markup Language(HTML)ファイルに記述される。
【0033】
図5は、図3のWebシステムにおける複数の処理時間を示している。クライアント端末301は、Webサーバ302へリクエストを送信する(手順501)。これにより、トランザクションが開始される。Webサーバ302は、受信したリクエストに基づくリクエストをAPサーバ303へ送信する(手順502)。
【0034】
APサーバ303は、受信したリクエストに基づきアプリケーションを実行することで、業務処理を行う。このとき、アプリケーション中にDB問い合わせが含まれていれば、DBリクエストをDBサーバ304へ送信する(手順503)。DBサーバ304は、受信したDBリクエストに基づきDB処理を実行し、DB処理の処理結果をAPサーバ303へ返信する(手順504)。
【0035】
APサーバ303は、受信した処理結果を用いて業務処理を続行し、業務処理の処理結果をWebサーバ302へ返信する(手順505)。Webサーバ302は、受信した処理結果を用いて画面描画情報424を生成し、画面描画情報424をクライアント端末301へ送信する(手順506)。クライアント端末301は、受信した画面描画情報424を用いて画面を描画し、表示装置に表示する。表示装置に画面が表示された時点で、トランザクションが終了する。ただし、Webサーバ302では、クライアント端末301へ処理結果を返信した時点で、トランザクションが終了したと判定し、トランザクションの終了をログサーバ305へ通知する場合もある。
【0036】
このようなトランザクションにおいて、全処理時間T1、業務実行時間T2、APサーバ処理時間T3、生成時間T4、及び描画時間T5は、以下のように定義される。
全処理時間T1:クライアント端末301がWebサーバ302へリクエストを送信してから、クライアント端末301上で画面の描画が終了するまでの時間である。
【0037】
業務実行時間T2:Webサーバ302がAPサーバ303へリクエストを送信してから、APサーバ303から処理結果を受信するまでの時間である。
APサーバ処理時間T3:APサーバ303がWebサーバ302からリクエストを受信してから、Webサーバ302へ処理結果を送信するまでの時間である。
【0038】
生成時間T4:Webサーバ302が画面描画情報424の生成を開始してから、生成を終了するまでの時間である。
描画時間T5:クライアント端末301がWebサーバ302から画面描画情報424を受信してから、画面の描画を終了するまでの時間である。
【0039】
画面の描画が終了すると、クライアント端末301は、全処理時間T1、生成時間T4、及び描画時間T5を含むログ情報425をWebサーバ302へ送信し、Webサーバ302は、そのログ情報425をログサーバ305へ送信する。こうして、ログ情報425はログサーバ305に記録される。
【0040】
図6A及び図6Bは、ログサーバ305に記録される複数のログ情報の例を示している。各ログ情報は、トランザクションID、サーバ種別、サーバのインターネットプロトコル(IP)アドレス、画面ID、ログ名、ユーザID、所属コード、日付、時刻、クライアントのIPアドレス、数値1〜3、及びアクション名を含む。
【0041】
サーバ種別は、ログサーバ305へログ情報を送信したサーバの種別を表し、“W3”及び“AP”は、それぞれWebサーバ及びAPサーバを表している。画面IDは、APサーバ303が実行するアプリケーションに対応する識別情報であり、ログ名は、ログ情報の名称である。ユーザIDは、クライアント端末301のユーザに対応し、所属コードは、そのユーザが属するグループを表す。日付及び時刻は、ログサーバ305にログ情報が記録された日時を表し、数値1〜3は、ログ名に対応する処理時間等を表す。アクション名は、トランザクションの内容を示す文字列である。
【0042】
ログ名には、APサーバ処理時間、業務実行時間、及び画面処理時間が含まれる。ログ名が“APサーバ処理時間”の場合、数値1にAPサーバ処理時間T3が記述され、ログ名が“業務実行時間”の場合、数値1に業務実行時間T2が記述される。ログ名が“画面処理時間”の場合、数値1、数値2、及び数値3に、全処理時間T1、生成時間T4、及び描画時間T5がそれぞれ記述される。ログ名が“APサーバ処理時間”又は“業務実行時間”の場合、数値2及び3は使用されないため、“0”のままである。
【0043】
ログ情報601、603、604、606、607、609、及び610のサーバ種別は“W3”であり、Webサーバ302から受信したログ情報であることが分かる。一方、ログ情報602、605、及び608のサーバ種別は“AP”であり、APサーバ303から受信したログ情報であることが分かる。
【0044】
ログ情報602のログ名は“APサーバ処理時間”であり、その数値1にはAPサーバ処理時間T3として“16”が記述されている。この例では、時間の単位はミリ秒である。ログ情報603のログ名は“業務実行時間”であり、その数値1には業務実行時間T2として“31”が記述されている。
【0045】
また、ログ情報610のログ名は“画面処理時間”であり、その数値1には全処理時間T1として“2203”が記述されており、数値2及び数値3には、生成時間T4及び描画時間T5として“16”及び“1422”がそれぞれ記述されている。まず、全処理時間T1から生成時間T4を差し引くと、残りの時間は、“2187”である。この“2187”と描画時間“1422”とを比較することで、物理的な問題の所在が、クライアント端末にあるのか、WebサーバまたはAPサーバにあるのかを担当者は経験的に判断することができる。ここで、例えば、描画時間が、全処理時間から生成時間を除いた時間に対して、大きくないと判断した場合は、担当者は、APサーバ303、Webサーバ302で生成されたログを詳細に解析し、物理的な問題の所在を特定する。
【0046】
なお、全処理時間T1から生成時間T4及び描画時間T5を差し引くと、残りの時間は“765”になるが、この残りの時間には、業務実行時間T2だけでなく、Webシステムにおける他の様々な処理時間が含まれている。
【0047】
図6A及び図6Bのログ情報によれば、担当者は、全処理時間T1が長い原因として次のような可能性を認識することができる。
例えば、APサーバ処理時間T3が長ければ、APサーバ303におけるアプリケーション実行やDBサーバ304への問い合わせがボトルネックになっている可能性がある。また、APサーバ処理時間T3が短いにもかかわらず、業務実行時間T2が長ければ、Webサーバ302とAPサーバ303の間の通信劣化やAPサーバ303の多重度不足が原因として考えられる。一方、生成時間T4が長ければ、画面に表示されるデータ量が多すぎるか、Webサーバ302のリソースが枯渇している可能性がある。また、描画時間T5が長ければ、クライアント端末301の性能がボトルネックになっている可能性がある。
【0048】
なお、ログ情報610のトランザクションIDの末尾は“000033A1−F”となっており、ログ情報602及び603のトランザクションIDの末尾である“00003301−F”とは一部異なっている。しかし、これらのトランザクションIDは、異なるトランザクションを示すわけではなく、同じトランザクションを示している。この場合、異なる文字列である“A1”及び“01”以外の部分が同一であるため、同じトランザクションに属するログ情報であることが認識できる。
【0049】
実施形態のログ情報は、図6A及び図6Bに示したすべての項目を含む必要はなく、Webシステムの構成や条件に応じて一部の項目を省略することも可能である。例えば、画面IDやアクション名が不要な場合は、これらの項目を省略してもよい。
【0050】
図7は、図4の時刻情報422の例を示している。図7の時刻情報422には、業務処理開始時刻701及び生成開始時刻702が含まれる。業務処理開始時刻701は、Webサーバ302がAPサーバ303へリクエストを送信することで、業務処理を開始した時刻であり、生成開始時刻702は、画面描画情報424の生成を開始した時刻である。業務処理開始時刻701及び生成開始時刻702は、計測部411により記録され、それぞれ業務実行時間T2及び生成時間T4の計測に用いられる。
【0051】
図8及び図9は、図3のWebシステムにおけるトランザクション実行手順を示している。以下の説明では、特に断らない限り、Webサーバ302の動作は、制御部414又は通信部415により行われる。
【0052】
まず、クライアント端末301のユーザは、表示された画面上でボタン押下、画面遷移等の画面操作を行う(図8のステップ801)。このとき、クライアント端末301は、タイマから現在時刻を取得し、アクション開始時刻として画面の隠し項目に設定する。隠し項目は、その画面の情報として設定されるが、非表示として扱われる。クライアント端末301は、さらに実行するトランザクションのアクション名を隠し項目に設定し、Webサーバ302へリクエストを送信する(ステップ802)。このリクエストには、アクション開始時刻、アクション名、ユーザID、及び所属コードが含まれる。
【0053】
Webサーバ302は、リクエストを受信すると、ログ情報をログサーバ305へ送信するか否かを判定する(ステップ803)。例えば、受信したリクエストに既にトランザクションIDが含まれていれば、ログ情報を送信すると判定される。初回のリクエストにはトランザクションIDが含まれていないため、ログ情報は送信されない。
【0054】
次に、Webサーバ302は、リクエストの内容を解析し、APサーバ303に対するリクエストのための前処理を行う。計測部411は、タイマから現在時刻を取得し、業務処理開始時刻701として時刻情報422に記録する。
【0055】
Webサーバ302は、受信したリクエストにトランザクションIDを付与し、そのトランザクションIDをセッション情報421に記録する。そして、トランザクションID、サーバ種別、ユーザID、及び所属コードを含むトランザクション開始通知をログサーバ305へ送信する(ステップ804)。ログサーバ305は、トランザクション開始通知を受信すると、トランザクションID、サーバ種別、ユーザID、及び所属コードを含むログヘッダ情報を生成する(ステップ805)。このとき、サーバ種別として“W3”が記録される。
【0056】
次に、Webサーバ302は、トランザクションIDと実行すべきアプリケーションの識別情報を含むリクエストをAPサーバ303へ送信する(ステップ806)。
APサーバ303は、リクエストを受信すると、タイマから現在時刻を取得し、APサーバ処理開始時刻として記録する(ステップ807)。そして、トランザクションID及びサーバ種別を含む処理開始通知をログサーバ305へ送信する(ステップ808)。ログサーバ305は、処理開始通知を受信すると、ログヘッダ情報のサーバ種別を“W3”から“AP”に更新する(ステップ809)。
【0057】
次に、APサーバ303は、受信したリクエストに基づきアプリケーションを実行することで、業務処理を行い、業務処理の処理結果を生成する(ステップ810)。そして、タイマから現在時刻を取得し、それをAPサーバ処理終了時刻として用いて、APサーバ処理終了時刻からAPサーバ処理開始時刻を減算することでAPサーバ処理時間T3を求める。
【0058】
次に、APサーバ303は、トランザクションID、サーバ種別、ログ名、及びAPサーバ処理時間T3を含むログ情報をログサーバ305へ送信する(ステップ811)。ログサーバ305は、ログ情報を受信すると、それをログヘッダ情報とともにAPサーバ303のログ情報として記録する(ステップ812)。このとき、ログ名としては“APサーバ処理時間”が用いられ、例えば、図6A及び図6Bのログ情報602のようなログ情報が記録される。
【0059】
次に、APサーバ303は、トランザクションIDを含む処理終了通知をログサーバ305へ送信する(ステップ813)。ログサーバ305は、処理終了通知を受信すると、ログヘッダ情報のサーバ種別を“AP”から“W3”に更新する(ステップ814)。
【0060】
次に、APサーバ303は、トランザクションIDと業務処理の処理結果をWebサーバ302へ返信する(ステップ815)。Webサーバ302は、受信した業務処理の処理結果を、処理結果423として格納部413に格納し、処理結果423に含まれるデータを解析する(ステップ816)。計測部411は、タイマから現在時刻を取得し、それを業務処理終了時刻として用いて、業務処理終了時刻から業務処理開始時刻701を減算することで業務実行時間T2を求める。
【0061】
次に、Webサーバ302は、トランザクションID、サーバ種別、ログ名、及び業務実行時間T2を含むログ情報をログサーバ305へ送信する(ステップ817)。ログサーバ305は、ログ情報を受信すると、それをログヘッダ情報とともにWebサーバ302のログ情報として記録する(ステップ818)。このとき、ログ名としては“業務実行時間”が用いられ、例えば、図6A及び図6Bのログ情報603のようなログ情報が記録される。
【0062】
次に、Webサーバ302は、トランザクションIDを含むトランザクション終了通知をログサーバ305へ送信する(ステップ819)。ログサーバ305は、トランザクション終了通知を受信すると、ログヘッダ情報を削除する(ステップ820)。
【0063】
次に、Webサーバ302は、APサーバ303に対するリクエストの後処理を行う。生成部412は、業務処理の処理結果を用いて画面描画情報424を生成する処理を開始する(図9のステップ901)。このとき、計測部411は、タイマから現在時刻を取得し、生成開始時刻702として時刻情報422に記録する。
【0064】
画面描画情報424の生成処理において、生成部412は、クライアント端末301からのリクエストに含まれていたアクション開始時刻及びアクション名を画面の隠し項目に設定する。さらに、セッション情報421のトランザクションIDを画面の隠し項目に設定し、セッション情報421からトランザクションIDを削除する。そして、業務処理の処理結果に含まれるデータを画面描画情報424に設定する。
【0065】
次に、計測部411は、タイマから現在時刻を取得し、それを生成終了時刻として用いて、生成終了時刻から生成開始時刻702を減算することで生成時間T4を求める。生成部412は、生成時間T5を画面の隠し項目に設定し、Webサーバ302は、生成した画面描画情報424をクライアント端末301へ返信する(ステップ902)。この画面描画情報424には、アクション開始時刻、アクション名、トランザクションID、及び生成時間T4が含まれる。
【0066】
クライアント端末301は、画面描画情報424を受信すると(ステップ903)、画面描画情報424を用いて画面の描画を開始する(ステップ904)。このとき、タイマから現在時刻を取得し、描画開始時刻として記録する。
【0067】
次に、画面の描画を終了すると、タイマから現在時刻を取得し、それを描画終了時刻として用いて、描画終了時刻から描画開始時刻を減算することで描画時間T5を求める。そして、描画時間T5を画面の隠し項目に設定する。
【0068】
次に、描画終了時刻からアクション開始時刻を減算することで全処理時間T1を求め、全処理時間T1と画面描画情報424に含まれていた生成時間T4とを画面の隠し項目に設定する。
【0069】
その後、表示装置に表示された画面上で、ユーザが次の画面操作を行うと、クライアント端末301は、ステップ801及び802と同様の処理を行う(ステップ905及び906)。ただし、ステップ906でWebサーバ302へ送信されるリクエストには、ステップ903で受信した画面描画情報424のアクション名及びトランザクションID、全処理時間T1、生成時間T4、及び描画時間T5が含まれる。このリクエストには、さらに新たなアクションのアクション開始時刻、アクション名、ユーザID、及び所属コードも含まれる。
【0070】
Webサーバ302は、リクエストを受信すると、ログ情報をログサーバ305へ送信するか否かを判定する(ステップ907)。ここで、受信したリクエストにはトランザクションIDが含まれているため、ログ情報を送信すると判定される。
【0071】
そこで、Webサーバ302は、受信したリクエストから、前回のアクションのアクション名、トランザクションID、全処理時間T1、生成時間T4、及び描画時間T5を取得する。そして、図6A及び図6Bのログ情報610が示すように、トランザクションIDの文字列の一部を改変し、改変されたトランザクションID、サーバ種別、ユーザID、及び所属コードを含むトランザクション開始通知をログサーバ305へ送信する(ステップ908)。なお、予め設定された規則に基づいて、トランザクションIDは改変される。例えば、Webサーバ302は、トランザクションIDの末尾2桁を、“01”から“A1”へ変更する。トランザクションIDを変更することで、ログサーバが、ステップ820にてログヘッダ情報を削除した後に、削除されたトランザクションIDを含むログ情報を、再度受信することを防ぐことができる。
【0072】
ログサーバ305は、トランザクション開始通知を受信すると、改変されたトランザクションID、サーバ種別、ユーザID、及び所属コードを含むログヘッダ情報を生成する(ステップ909)。このとき、サーバ種別として“W3”が記録される。
【0073】
次に、Webサーバ302は、改変されたトランザクションID、サーバ種別、ログ名、全処理時間T1、生成時間T4、描画時間T5、及びアクション名を含むログ情報425を生成して、格納部413に格納する。そして、そのログ情報425をログサーバ305へ送信する(ステップ910)。ログサーバ305は、ログ情報425を受信すると、それをログヘッダ情報とともにWebサーバ302のログ情報として記録する(ステップ911)。このとき、ログ名としては“画面処理時間”が用いられ、例えば、図6A及び図6Bのログ情報610のようなログ情報が記録される。
【0074】
次に、Webサーバ302は、改変されたトランザクションIDを含むトランザクション終了通知をログサーバ305へ送信する(ステップ912)。ログサーバ305は、トランザクション終了通知を受信すると、ログヘッダ情報を削除する(ステップ913)。
【0075】
なお、Webサーバ302は、ステップ907〜913の処理と並行して、新たなアクションに対し、ステップ803以降と同様の処理を開始する。これにより、新たなトランザクションIDが付与され、そのトランザクションの業務処理が開始される。
【0076】
以上説明した図8及び図9のトランザクション実行手順において、必ずしもすべての処理を実行する必要はなく、Webシステムの構成や条件に応じて一部の処理を省略することも可能である。例えば、ログサーバ305において、ステップ812及び818で記録されるログ情報のトランザクションIDと、ステップ911で記録されるログ情報のトランザクションIDを異ならせる必要がない場合もある。その場合、ステップ908において、Webサーバ302はトランザクションIDを改変しなくてもよい。
【0077】
図1の情報処理装置101、図3のクライアント301、Webサーバ302、APサーバ303、DBサーバ304、及びログサーバ305は、例えば、図10に示すような情報処理装置(コンピュータ)を用いて実現可能である。
【0078】
図10の情報処理装置は、Central Processing Unit (CPU)1001、メモリ1002、入力装置1003、出力装置1004、外部記憶装置1005、媒体駆動装置1006、及びネットワーク接続装置1007を備える。これらはバス1008により互いに接続されている。
【0079】
メモリ1002は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。例えば、CPU1001は、メモリ1002を利用してプログラムを実行することにより、クライアント301、Webサーバ302、APサーバ303、DBサーバ304、及びログサーバ305の処理を行う。メモリ1002は、図2の格納部413としても使用でき、セッション情報421、時刻情報422、処理結果423、画面描画情報424、及びログ情報425を格納することもできる。
【0080】
入力装置1003は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置1004は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせや処理結果の出力に用いられる。クライアント301の処理結果には、画面描画情報424に基づいて描画された画面も含まれる。
【0081】
外部記憶装置1005は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。この外部記憶装置1005には、ハードディスクドライブも含まれる。情報処理装置は、この外部記憶装置1005にプログラム及びデータを格納しておき、それらをメモリ1002にロードして使用することができる。
【0082】
媒体駆動装置1006は、可搬型記録媒体1009を駆動し、その記録内容にアクセスする。可搬型記録媒体1009は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。この可搬型記録媒体1009には、Compact Disk Read Only Memory (CD−ROM)、Digital Versatile Disk(DVD)、Universal Serial Bus(USB)メモリ等も含まれる。ユーザ又はオペレータは、この可搬型記録媒体1009にプログラム及びデータを格納しておき、それらをメモリ1002にロードして使用することができる。
【0083】
このように、各種処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ1002、外部記憶装置1005、及び可搬型記録媒体1009のような、物理的な(非一時的な)記録媒体が含まれる。
【0084】
ネットワーク接続装置1007は、Local Area Network(LAN)、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置1007を介して受け取り、それらをメモリ1002にロードして使用することもできる。
【0085】
なお、情報処理装置が図10のすべての構成要素を含む必要はなく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、情報処理装置がWebサーバ302、APサーバ303、又はDBサーバ304として使用される場合は、入力装置1003及び出力装置1004を省略してもよい。
【0086】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【符号の説明】
【0087】
101 情報処理装置
111、411 計測部
112 処理結果取得部
113、412 生成部
114 ログ処理部
115、415 通信部
301 クライアント端末
302 Webサーバ
303 APサーバ
304 DBサーバ
305 ログサーバ
413 格納部
421 セッション情報
422 時刻情報
423 処理結果
424 画面描画情報
425、601〜610 ログ情報
701 業務処理開始時刻
702 生成開始時刻
1001 CPU
1002 メモリ
1003 入力装置
1004 出力装置
1005 外部記憶装置
1006 媒体駆動装置
1007 ネットワーク接続装置
1008 バス
1009 可搬型記録媒体

【特許請求の範囲】
【請求項1】
情報処理装置によって実行されるログ処理方法であって、
処理の実行を要求する第1の処理要求を端末から受信し、
前記第1の処理要求に処理識別情報を付与し、
前記処理識別情報と、前記第1の処理要求に基づいた処理を処理サーバへ要求する第2の処理要求を、該処理サーバへ送信し、
前記処理識別情報と、前記第2の処理要求に対する処理結果を前記処理サーバから受信し、
前記処理結果から画面描画情報を生成するとともに、該画面描画情報の生成に要した生成時間を計測し、
前記処理識別情報、前記画面描画情報、及び前記生成時間を前記端末へ送信し、
前記処理識別情報、前記生成時間、前記端末において前記画面描画情報に基づく画面の描画に要した描画時間、及び前記第1の処理要求を送信してから前記画面の描画が終了するまでの全処理時間を、前記端末から受信し、
前記処理識別情報に関する情報、前記生成時間、前記描画時間、及び前記全処理時間を含むログ情報を、該ログ情報を管理するログサーバへ送信する
ことを特徴とするログ処理方法。
【請求項2】
前記情報処理装置は、前記第2の処理要求を前記処理サーバへ送信してから前記処理結果を受信するまでの実行時間を計測し、前記処理識別情報と該実行時間を前記ログサーバへ送信することを特徴とする請求項1記載のログ処理方法。
【請求項3】
前記画面描画情報は、前記処理結果を示すデータと、前記端末が該データを含む画面を描画するためのプログラムとを含むことを特徴とする請求項1又は2記載のログ処理方法。
【請求項4】
前記情報処理装置は、
前記処理識別情報を、設定された変更規則に従って、他の処理識別情報へ変更し、
前記他の処理識別情報を含む前記ログ情報を、前記ログサーバへ送信することを特徴とする請求項1乃至請求項3のいずれか一項に記載のログ処理方法。
【請求項5】
端末、処理サーバ、及びログサーバと通信する通信手段と、
前記端末から受信した、処理の実行を要求する第1の処理要求に処理識別情報を付与し、前記通信手段を介して、該処理識別情報と、該第1の処理要求に基づいた処理を前記処理サーバへ要求する第2の処理要求を、該処理サーバへ送信し、該処理識別情報と、該第2の処理要求に対する処理結果を該処理サーバから受信する処理結果取得手段と、
前記処理結果から画面描画情報を生成する生成手段と、
前記画面描画情報の生成に要した生成時間を計測する計測手段と、
前記通信手段を介して、前記処理識別情報、前記画面描画情報、及び前記生成時間を前記端末へ送信し、該処理識別情報、該生成時間、該端末において該画面描画情報に基づく画面の描画に要した描画時間、及び前記第1の処理要求を送信してから該画面の描画が終了するまでの全処理時間を、該端末から受信し、該処理識別情報に関する情報、該生成時間、該描画時間、及び該全処理時間を含むログ情報を、該ログ情報を管理する前記ログサーバへ送信するログ処理手段と
を備えることを特徴とする情報処理装置。
【請求項6】
処理の実行を要求する第1の処理要求を端末から受信し、
前記第1の処理要求に処理識別情報を付与し、
前記処理識別情報と、前記第1の処理要求に基づいた処理を処理サーバへ要求する第2の処理要求を、該処理サーバへ送信し、
前記処理識別情報と、前記第2の処理要求に対する処理結果を前記処理サーバから受信し、
前記処理結果から画面描画情報を生成するとともに、該画面描画情報の生成に要した生成時間を計測し、
前記処理識別情報、前記画面描画情報、及び前記生成時間を前記端末へ送信し、
前記処理識別情報、前記生成時間、前記端末において前記画面描画情報に基づく画面の描画に要した描画時間、及び前記第1の処理要求を送信してから前記画面の描画が終了するまでの全処理時間を、前記端末から受信し、
前記処理識別情報に関する情報、前記生成時間、前記描画時間、及び前記全処理時間を含むログ情報を、該ログ情報を管理するログサーバへ送信する
処理をコンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate