(57)【要約】【課題】  複数の情報処理装置間で通信電文を送受信して実行した処理のログ情報を効率的に収集することが可能な技術を提供する。【解決手段】  情報処理装置での処理履歴を示すログ情報を処理するログ処理方法において、所定の処理を実行する為の通信電文を通信手段により送信元の情報処理装置から受信するステップと、その受信した通信電文に付加されているログ情報を取り出して記憶手段中に格納するステップと、前記通信電文により実行された所定の処理のログ情報を前記記憶手段中に格納するステップと、前記格納したログ情報を記憶手段から読み出して通信電文に付加するステップと、前記ログ情報を付加した通信電文を通信手段により送信先の情報処理装置へ送信するステップとを有するものである。【選択図】        図１
2005157727.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置での処理履歴を示すログ情報を処理するログ処理方法において、
所定の処理を実行する為の通信電文を通信手段により送信元の情報処理装置から受信するステップと、その受信した通信電文に付加されているログ情報を取り出して記憶手段中に格納するステップと、前記通信電文により実行された所定の処理のログ情報を前記記憶手段中に格納するステップと、前記格納したログ情報を記憶手段から読み出して通信電文に付加するステップと、前記ログ情報を付加した通信電文を通信手段により送信先の情報処理装置へ送信するステップとを有することを特徴とするログ処理方法。
【請求項２】
ログ情報の記録を行う情報処理装置内の記憶手段中にログ情報の記録が必要であることを示す記録指示情報を格納し、前記受信した通信電文に付加されているログ情報を取り出して記憶手段中に格納する際に前記記録指示情報が記憶手段中に格納されているかどうかを調べ、前記記録指示情報が記憶手段中に格納されている場合に、前記通信電文から取り出したログ情報を記憶手段上に割り当てられた所定の記録領域へ格納することを特徴とする請求項１に記載されたログ処理方法。
【請求項３】
所定の処理を実行する為の通信電文を最初に送信する第１の情報処理装置内の記憶手段中に前記記録指示情報を格納することにより、前記通信電文から取り出したログ情報を前記第１の情報処理装置内の記憶手段上に割り当てられた所定の記録領域へ格納することを特徴とする請求項２に記載されたログ処理方法。
【請求項４】
所定の処理を実行する為の通信電文を最初に受信する第２の情報処理装置内の記憶手段中に前記記録指示情報を格納することにより、前記通信電文から取り出したログ情報を前記第２の情報処理装置内の記憶手段上に割り当てられた所定の記録領域へ格納することを特徴とする請求項２または請求項３のいずれかに記載されたログ処理方法。
【請求項５】
前記所定の処理の実行によってエラーが発生した場合にそのエラー内容を示すログ情報を前記記憶手段中に格納し、前記格納したエラー内容を記憶手段から読み出して通信電文に付加し、前記エラー内容を付加した通信電文を通信手段により送信先の情報処理装置へ送信することを特徴とする請求項１乃至請求項４のいずれか１項に記載されたログ処理方法。
【請求項６】
前記所定の処理の実行の際に用いられるデータ内容を記憶手段中に格納し、前記所定の処理の実行によってエラーが発生した場合に、前記格納したデータ内容を記憶手段から読み出して通信電文に付加し、前記データ内容を付加した通信電文を通信手段により送信先の情報処理装置へ送信することを特徴とする請求項５に記載されたログ処理方法。
【請求項７】
付加するログ情報を示す付加識別情報を前記受信した通信電文から取り出して記憶手段中に格納しておき、通信電文を送信する際に前記付加識別情報に対応するログ情報を記憶手段から読み出して付加することを特徴とする請求項１乃至請求項６のいずれか１項に記載されたログ処理方法。
【請求項８】
前記ログ情報の付加されていない通信電文を送受信する通信処理とは異なるログ収集専用の通信処理を通信手段により行うことによって、前記ログ情報を付加した通信電文を送受信することを特徴とする請求項１乃至請求項７のいずれか１項に記載されたログ処理方法。
【請求項９】
情報処理装置での処理履歴を示すログ情報を処理するログ処理方法をコンピュータに実行させる為のプログラムにおいて、
所定の処理を実行する為の通信電文を通信手段により送信元の情報処理装置から受信するステップと、前記受信した通信電文に付加されているログ情報を取り出して記憶手段中に格納するステップと、前記所定の処理の実行によって生成されたログ情報を前記記憶手段中に格納するステップと、前記格納したログ情報を記憶手段から読み出して通信電文に付加するステップと、前記ログ情報を付加した通信電文を通信手段により送信先の情報処理装置へ送信するステップとをコンピュータに実行させることを特徴とするプログラム。
【請求項１０】
情報処理装置での処理履歴を示すログ情報を処理するログ処理システムにおいて、
所定の処理を実行する為の通信電文を通信手段により送信先の情報処理装置へ送信する第１の送信インターセプタ処理部と、前記所定の処理の実行結果とログ情報を含む通信電文を前記情報処理装置から受信する第１の受信インターセプタ処理部とを備える第１の情報処理装置と、
所定の処理を実行する為の通信電文を通信手段により送信元の情報処理装置から受信し、その受信した通信電文に付加されているログ情報を取り出して記憶手段中に格納する第２の受信インターセプタ処理部と、前記所定の処理の実行によって生成されたログ情報を前記記憶手段中に格納し、前記格納したログ情報を記憶手段から読み出して通信電文に付加し、前記ログ情報を付加した通信電文を通信手段により送信先の情報処理装置へ送信する第２の送信インターセプタ処理部とを備える第２の情報処理装置とを備えることを特徴とするログ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置での処理履歴を示すログ情報を処理するログ処理システムに関し、特に複数の情報処理装置によって分散オブジェクト処理を行う際に生成されるログ情報を処理するログ処理システムに適用して有効な技術に関するものである。
【背景技術】
【０００２】
従来、分散オブジェクト処理の様に、複数の情報処理装置により分散して処理を行うことによりサービス（プログラムやオブジェクトの実行により実現される機能）を提供する場合、その処理履歴を示すログ情報が各情報処理装置で生成される為、ログ情報が複数の情報処理装置に分散してしまい、エラーの原因調査等、ログ情報の収集を行う際には、各情報処理装置内のログ情報の突き合わせを行って、どのログ情報がどの処理要求によるものであるかを調べる必要がある。
【０００３】
また、この様な突き合わせを効率的に行う為に、ログマネージャと呼ばれる様なログを一カ所に集める為の情報処理装置を利用し、マネージャがネットワークを介して複数のエージェントからログデータを収集するシステムも提案されている（例えば特許文献１参照）。
【０００４】
【特許文献１】特開平１０−２９３７０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記従来技術では、複数の情報処理装置に分散してログ情報を格納した場合、各情報処理装置内のログ情報の突き合わせを行って、どのログ情報がどの処理要求によるものであるかを調べる必要がある為、ログ情報の解析に時間を要するという問題がある。
【０００６】
また前記従来技術においてログマネージャを利用した場合には、ログ情報が一カ所に集められてしまう為、そこがボトルネックやクリティカルポイントになり易いという問題がある。
【０００７】
更に、複数の情報処理装置に分散してログ情報を格納した場合やログマネージャを利用した場合のどちらであっても、その処理を要求したクライアント側処理装置にログ情報があるわけではないので、クライアント側処理装置は、自装置の行ったアクセスについてＩＤ等により、サーバ側処理装置やログマネージャのログを取得する必要がある。
【０００８】
本発明の目的は上記問題を解決し、複数の情報処理装置間で通信電文を送受信して実行した処理のログ情報を効率的に収集することが可能な技術を提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、情報処理装置での処理履歴を示すログ情報を処理するログ処理システムにおいて、所定の処理を実行する為の通信電文にログ情報を付加することにより通信電文そのものにログ情報を蓄えるものである。
【００１０】
本発明のログ処理システムにおいて、クライアント側処理装置等の第１の情報処理装置（計算機や情報処理装置、またはその様な処理を実施するプログラムやオブジェクトでも良い）は、所定の処理を実行する為の通信電文を生成して通信手段により、サーバ側処理装置等の送信先の第２の情報処理装置（計算機や情報処理装置、またはその様な処理を実施するプログラムやオブジェクトでも良い）へ送信する。
【００１１】
第２の情報処理装置では、所定の処理を実行する為の通信電文を通信手段により送信元の第１の情報処理装置から受信する。そして、その受信した通信電文にログ情報が付加されているかどうかを調べ、ログ情報が付加されている場合には、そのログ情報を前記通信電文から取り出して記憶手段中に格納する。
【００１２】
次に第２の情報処理装置は、所定の処理を実行する際に用いられる入力パラメータ等のデータを前記受信した通信電文から取り出して、当該処理を実行するアプリケーションプログラムへ渡し、前記所定の処理の実行をアプリケーションプログラムに指示する。
【００１３】
そして第２の情報処理装置は、前記所定の処理の実行中にアプリケーションプログラムやオペレーティングシステムから出力された各種情報をログ情報として取得して前記記憶手段中に格納する。
【００１４】
その後第２の情報処理装置は、前記受信した通信電文や所定の処理の実行によりアプリケーションプログラムから出力された出力データ等を用いて、送信先の情報処理装置（次のサーバ側処理装置または送信元のクライアント側処理装置）に送信される通信電文を生成し、その生成した通信電文に、前記取り出したログ情報と前記所定の処理の実行によって生成されたログ情報とを記憶手段から順次読み出して付加し、ログ情報を付加した通信電文を通信手段により送信先の情報処理装置へ送信する。
【００１５】
前記ログ情報を付加した通信電文を受信した送信先の情報処理装置が次のサーバ側処理装置である場合には、前記第２の情報処理装置と同様の処理を行って更にログ情報を通信電文に追加して送信する。また送信先の情報処理装置が、最初に通信電文を送信したクライアント側処理装置である場合には、その受信した通信電文からログ情報を取り出して記憶手段中に格納した後、前記通信電文から取り出したログ情報を記憶手段上に割り当てられたログファイル等の所定の記録領域へ格納する。ここで、クライアント側処理装置からの通信電文を最初に受信したサーバ側処理装置が、ログ記録用ファイル等の所定の記録領域への格納を行うものとしても良い。
【００１６】
前記の様に本発明では、アプリケーションプログラムからは見えない形で通信電文にログ情報を付加し、各サーバではなく、通信電文そのものにログを蓄えているので、通信上のどのノードであっても、その通信で、それまでに発生した事象のログを、その場で取得する事ができる。
【発明の効果】
【００１７】
本発明によれば所定の処理を実行する為の通信電文にログ情報を付加することにより通信電文そのものにログ情報を蓄えるので、複数の情報処理装置間で通信電文を送受信して実行した処理のログ情報を効率的に収集することが可能である。
【発明を実施するための最良の形態】
【００１８】
以下にクライアント−サーバ処理システムで分散オブジェクト処理を行う際に、その処理履歴を示すログ情報を収集する一実施形態のログ処理システムについて説明する。
【００１９】
図１は本実施形態のログ処理システムの概略構成を示す図である。図１に示す様に本実施形態のログ処理システムは、クライアント側処理装置１００と、サーバ側処理装置１１０とを有している。
【００２０】
クライアント側処理装置１００は、所定の処理を実行する為の通信電文であるリクエストや、前記所定の処理の実行結果とログ情報を含む通信電文であるレスポンスをサーバ側処理装置１１０との間で送受信する第１の情報処理装置である。
【００２１】
サーバ側処理装置１１０は、所定の処理のログ情報を付加した通信電文であるリクエストやレスポンスをクライアント側処理装置１００または他のサーバ側処理装置１１０との間で送受信する第２の情報処理装置である。
【００２２】
クライアント側処理装置１００は、送信インターセプタ処理部１０１と、受信インターセプタ処理部１０２とを有している。
【００２３】
送信インターセプタ処理部１０１は、所定の処理を実行する為の通信電文であるリクエストとして、付加するログ情報を識別する為の付加識別情報を含む通信電文を通信装置により送信先のサーバ側処理装置１１０へ送信する処理部である。
【００２４】
受信インターセプタ処理部１０２は、前記リクエストにより実行された所定の処理の実行結果とログ情報を含む通信電文であるレスポンスをサーバ側処理装置１１０から受信し、その受信したレスポンスに付加されているログ情報を取り出して、磁気ディスク装置上に割り当てられた所定のファイルへ格納する処理部である。
【００２５】
クライアント側処理装置１００を送信インターセプタ処理部１０１及び受信インターセプタ処理部１０２として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００２６】
サーバ側処理装置１１０は、受信インターセプタ処理部１１１と、送信インターセプタ処理部１１２とを有している。
【００２７】
受信インターセプタ処理部１１１は、所定の処理を実行する為のリクエストまたはそのレスポンスを示す通信電文を通信装置により送信元のクライアント側処理装置１００またはサーバ側処理装置１１０から受信し、その受信したリクエストまたはレスポンスに付加されているログ情報を取り出してメモリ中に格納する処理部である。
【００２８】
送信インターセプタ処理部１１２は、前記リクエストにより実行された所定の処理のログ情報を前記メモリ中に追加し、前記格納したログ情報と前記追加したログ情報とを前記付加識別情報に応じてメモリから読み出してリクエストまたはレスポンスに付加し、前記ログ情報を付加したリクエストまたはレスポンスを、クライアント側処理装置１００またはサーバ側処理装置１１０へ通信装置により送信する処理部である。
【００２９】
サーバ側処理装置１１０を受信インターセプタ処理部１１１及び送信インターセプタ処理部１１２として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００３０】
図２は従来のログ収集処理の概要を示す図である。図２の様に従来のログ収集処理では、分散オブジェクト処理により複数のサーバアクセスを行う際にログ情報がノード毎に分散しているので、クライアントの一つのリクエストに対してログを収集するためにはサーバ間のログの突き合わせが必要であり、ログ情報の収集や収集したログ情報の解析に手間取っていた。
【００３１】
図３は従来のログマネージャによるログ収集処理の概要を示す図である。図３に示す様にログマネージャによるログ収集処理では、一つのログマネージャにログを収集して一元管理して時刻やＩＤによるログ情報の管理を行い、ログ収集を効率的に行っているが、ログ情報が一カ所に集められてしまうために、そこがボトルネックやクリティカルポイントになり易いという問題がある。
【００３２】
また図２のサーバへの分散や図３のログマネージャへの収集のどちらであってもクライアント側にログがあるわけではないので、従来技術においてクライアントは自分のアクセスについてＩＤ等によりサーバやログマネージャのログを取得する必要がある。
【００３３】
図４は本実施形態のログ収集処理の概要を示す図である。図４に示す様に本実施形態のログ収集処理では、ユーザやアプリケーションプログラムからは見えない形で通信電文にログ情報を付加し、各サーバではなく、通信電文そのものにログを蓄える。これにより通信上のどのノードであっても、その通信で、それまでに発生した事象のログを、その場で取得する事ができる。この為、クライアント等の各処理装置は、自装置のログ情報を、自装置で収集することが可能であり、また、過去のログ情報をクライアント等の各処理装置に分散して持つので、ディスクリソースの効率的な利用を図ることができる。
【００３４】
図５は本実施形態のアプリケーション処理時の通信処理の概要を示す図である。図５に示す様に本実施形態の送信インターセプタ処理や受信インターセプタ処理では、ＵＡＰ(User Application Program)間の通信時に、例えば分散オブジェクト基盤プログラムのインターセプタ機能の様に、通信内容に付加情報を追加する機能を持たせることにより通信電文にログ情報を付加する。その際、各ノードでは、送信する通信電文に、自ノードで発生したログ情報を、例えば分散オブジェクト基盤プログラムのサービスコンテキストの様なユーザやアプリケーションプログラムからは見えない場所に付加する。
【００３５】
図６は本実施形態のログ収集処理時のメモリへのログの記録を示す図である。図６に示す様に本実施形態の各ノードでは、通信電文を受信したときに、通信電文に付加されていたログ情報を通信電文から取り出してメモリ等の記憶装置内に記録する。記録する場所は、Ｊａｖａ言語であれば、そのスレッドに独自のＴｈｒｅａｄＬｏｃａｌの様な場所に行う。そして通信電文の送信時に、自ノード以前で発生したログがメモリ上に記録されていた場合には、そのログをメモリから取り出して、送信する通信電文に付加する。
【００３６】
以下に、本実施形態のログ処理システムにおいて、ユーザアプリケーションプログラムの処理によって通信電文の送信要求が発行された場合のログ情報の付加処理について説明する。本実施形態のログ処理システムにおいて、ユーザアプリケーションプログラムの処理によって通信電文の送信要求が発行されると、分散オブジェクト基盤プログラム等の通信基盤を構成するソフトウェアのインターセプタ機能により送信インターセプタ処理が開始される。
【００３７】
図７は本実施形態の送信インターセプタ処理の処理手順を示すフローチャートである。ユーザアプリケーションプログラムの処理によって通信電文の送信要求が発行されると、ステップ７０１でクライアント側処理装置１００の送信インターセプタ処理部１０１またはサーバ側処理装置１１０の送信インターセプタ処理部１１２は、その送信要求を発行したアプリケーション処理を識別する為のスレッド番号を取得してメモリに格納する。
【００３８】
ステップ７０２では、前記取得したスレッド番号で識別されるスレッド固有のメモリ領域にアクセスして、通信電文に付加するログ情報を識別する為の付加識別情報が格納されているかどうかを調べ、前記付加識別情報が格納されている場合には、その識別情報を前記スレッド固有のメモリ領域から読み出して通信電文に付加する。ここで前記付加識別情報は、どの程度のログ情報を収集するかによって予め利用者によって設定されるものとするが、通信トラフィックの混雑状況や、エラー発生状況に応じて各情報処理装置が設定するものとしても良い。
【００３９】
ステップ７０３では、前記スレッド固有のメモリ領域にアクセスして、前記アプリケーションプログラムの処理によって出力されたログ情報がメモリ内に格納されているかどうかを調べ、前記スレッド固有のメモリ領域にログ情報が格納されている場合にはステップ７０４へ進む。
【００４０】
本実施形態のサーバ側処理装置１１０は、他の情報処理装置から受信した通信電文により所定のユーザアプリケーション処理を実行した場合、その処理によってメソッドの呼び出し等の所定の処理要求が発行された際にその内容を示すログ情報の出力を行い、当該アプリケーション処理のスレッド番号に対応したスレッド固有のメモリ領域に前記ログ情報を格納する。この為、アプリケーション処理を実行した後に送信要求を発行した場合、スレッド固有のメモリ領域には、実行した所定の処理のログ情報が格納されていることになる。また、図９で説明する様に、他の情報処理装置からログ情報を受信している場合、スレッド固有のメモリ領域には、他の情報処理装置でのログ情報も格納されている。
【００４１】
図８は本実施形態のログ情報のデータ構造例を示す図である。図８に示す様に本実施形態のクライアント側処理装置１００やサーバ側処理装置１１０は、そのログ情報を出力したアプリケーション処理を識別する為のスレッド番号８０１と、そのログ情報が出力された日時を示す日時情報８０２と、その処理が実行された情報処理装置を示すノード名８０３と、その処理を実行したメソッド等の名称を示す処理名と、その処理のログ情報記録時の状態を示すステータス８０５と、そのログ情報記録時に入力または出力されたデータやエラーメッセージを示す入出力データ８０６とをスレッド固有のメモリ領域に格納している。
【００４２】
ステップ７０４では、前記スレッド固有のメモリ領域に格納されているログ情報からレコードを読み出してメモリ内に格納した後、ステップ７０５に進み、そのメモリ内に格納したレコードの中から前記付加識別情報に対応するログ内容を取得してメモリの別領域に格納する。例えば、前記付加識別情報が各ノードで実行された処理を示すログ情報の付加を示すものである場合にはスレッド番号８０１から処理名８０４までのログ内容を取得し、前記付加識別情報が各ノードで実行された処理とその状態を示すログ情報の付加を示すものである場合にはスレッド番号８０１からステータス８０５までのログ内容を、更に前記付加識別情報が全てのログ情報の付加を示すものである場合にはそのレコードの内容全てを取得してメモリの別領域に格納する。
【００４３】
ステップ７０６では、前記メモリ内に格納したレコード中のステータス８０５を参照して、その参照したステータス８０５がエラーの発生を示すものであるかどうかを調べ、エラーの発生を示すものである場合にはステップ７０７へ進む。
【００４４】
ステップ７０７では、前記メモリ内に格納したレコードの中からエラーの内容を示す情報を取得してメモリの前記別領域に追加する。例えば、ステータス８０５がエラーであるレコードの直前のレコードから直後のレコードまでの入出力データ８０６に格納されている、入力データ、エラーメッセージ及び出力データの内容を、そのエラーの内容を示す情報として取得してメモリの前記別領域に追加する。また、ステータス８０５がエラーであるレコードの直前のレコードから直後のレコードまでの全てのログ内容を、そのエラーの内容を示す情報としても良い。
【００４５】
ステップ７０８では、他の情報処理装置へ送信される通信電文に前記メモリの別領域に格納したログ内容を付加する。この付加処理では、例えば、分散オブジェクト基盤プログラムのサービスコンテキストの様な、ユーザやアプリケーションプログラムからは見えない場所に付加を行うものとする。
【００４６】
ステップ７０９では、前記スレッド固有のメモリ領域に格納されている全レコードを読み出したかどうかを調べ、まだ全レコードの読み出しが終了していない場合にはステップ７０４へ戻って次のレコードを読み出し、全レコードの読み出しが終了した場合にはステップ７１０へ進む。
【００４７】
ステップ７１０では、前記付加識別情報やログ情報の付加の行われた通信電文を通信装置により送信先の情報処理装置へ送信する。
【００４８】
また前記処理では、通常の通信電文の送信時にログ情報を付加した通信電文を送信しているが、通常の送信時にはログ情報の付加されていない通信電文を送信し、通信負荷の低い時間帯等にログ情報を付加した通信電文を送信することにより、ログ情報の付加されていない通信電文を送受信する通信処理とは異なるログ収集専用の通信処理を行う様にしても良い。これにより、ログ情報の付加により通信量が増える場合の通信の性能低下を防ぐ事ができる。
【００４９】
次に、本実施形態のログ処理システムにおいて、他の情報処理装置から通信電文が送信された場合のログ情報の取り出しやログ情報のファイルへの記録処理について説明する。本実施形態のログ処理システムにおいて、他の情報処理装置から通信電文が送信されると、分散オブジェクト基盤プログラム等の通信基盤を構成するソフトウェアのインターセプタ機能により受信インターセプタ処理が開始される。
【００５０】
図９は本実施形態の受信インターセプタの処理手順を示すフローチャートである。他の情報処理装置から通信電文が送信されると、ステップ９０１でサーバ側処理装置１１０の受信インターセプタ処理部１１１またはクライアント側処理装置１００の受信インターセプタ処理部１０２は、その送信された通信電文を受信してメモリ内に格納する。
【００５１】
ステップ９０２では、前記メモリ内に格納した通信電文の処理を行う為のスレッドのスレッド番号を取得し、そのスレッド固有のメモリ領域をメモリ内に確保する。
【００５２】
ステップ９０３では、前記メモリ内に格納した通信電文から付加識別情報を読み出して前記スレッド固有のメモリ領域内に格納する。その後、前記メモリ内の通信電文のログ情報の格納位置を参照し、ログ情報の取り出しを行う。
【００５３】
ステップ９０４では、前記ログ情報の取り出し処理により、通信電文からログ情報が取り出されたかどうかを調べ、ログ情報が取り出された場合にはステップ９０５へ進む。ステップ９０５では、前記通信電文から取り出したログ情報を、前記確保したスレッド固有のメモリ領域内に格納する。
【００５４】
ステップ９０６では、その情報処理装置内のメモリ中の所定領域にアクセスしてログ情報の記録が必要であることを示す記録指示情報が格納されているかどうかを調べ、前記記録指示情報が格納されている場合にはステップ９０７に進み、前記スレッド固有のメモリに格納したログ情報を磁気ディスク装置上に割り当てられたログ記録用ファイルに書き出す。
【００５５】
前記記録指示情報は、ログ情報を収集しようとする利用者によって予め設定されているものとするが、リクエストを最初に発行するクライアント側処理装置１００や、クライアント側処理装置１００から最初にリクエストを受信するサーバ側処理装置１１０内に、予め設定しておき、それらの装置内のログ記録用ファイルにログ情報を収集するものとしても良い。
【００５６】
次に、本実施形態のログ処理システムにおいて、図４に示した様にリクエスト及びレスポンスをクライアント側処理装置１００及びサーバ側処理装置１１０で送受信してサーバ１及びサーバ２で提供されるサービスをクライアントで受けた場合に、ログ情報を収集してクライアント側処理装置１００のログ記録用ファイルに記録する処理について説明する。
【００５７】
図４のクライアントでユーザアプリケーションプログラムの処理によって、サーバ１によるサービスを受ける為のリクエストの送信要求が発行されると、図７のステップ７０１でクライアント側処理装置１００の送信インターセプタ処理部１０１は、そのアプリケーション処理のスレッド番号を取得してメモリに格納し、ステップ７０２では、前記取得したスレッド番号で識別されるスレッド固有のメモリ領域から付加識別情報を読み出して前記リクエストに付加する。
【００５８】
次にステップ７０３では、前記スレッド固有のメモリ領域にログ情報が格納されているかどうかを調べるが、まだクライアント側にはログ情報が無いのでステップ７１０へ進み、前記付加識別情報の付加の行われたリクエストを通信装置により送信先のサーバ１へ送信する。
【００５９】
図４の様にクライアントからサーバ１にリクエストが送信されると、ステップ９０１でサーバ１の受信インターセプタ処理部１１１は、その送信されたリクエストを受信してメモリ内に格納し、ステップ９０２では、スレッド固有のメモリ領域をメモリ内に確保する。
【００６０】
次にステップ９０３では、前記メモリ内に格納したリクエストから付加識別情報を読み出して前記スレッド固有のメモリ領域内に格納した後、前記リクエストからログ情報の取り出しを行うが、まだログ情報は格納されていないので、ステップ９０４を経てこの処理を終了する。
【００６１】
その後、サーバ１は、クライアントから受信したリクエストにより所定のサービスを提供する為のユーザアプリケーション処理を実行した場合、その処理によってメソッドの呼び出し等の所定の処理要求が発行された際にその内容を示すログ情報「Ｓ１ログ」を、前記確保したスレッド固有のメモリ領域内に格納する。
【００６２】
サーバ１でのユーザアプリケーション処理の結果、他のサーバへのリクエストまたはクライアントへのレスポンスのいずれが発行されるかはその処理内容に依存するが、ここでは図４の様にサーバ１からサーバ２へのリクエストが発行されるものとすると、ステップ７０１でサーバ１の送信インターセプタ処理部１１２は、その送信要求を発行したアプリケーション処理を識別する為のスレッド番号を取得し、ステップ７０２では、スレッド固有のメモリ領域から付加識別情報を読み出してリクエストに付加する。
【００６３】
ステップ７０３からステップ７０９の処理では、前記スレッド固有のメモリ領域から前記付加識別情報に従ってログ情報「Ｓ１ログ」を取得してリクエストに付加し、ステップ７１０では、前記付加識別情報及びログ情報「Ｓ１ログ」が付加されたリクエストを通信装置によりサーバ２へ送信する。
【００６４】
図４の様にサーバ１からサーバ２に、ログ情報「Ｓ１ログ」が付加されたリクエストが送信されると、ステップ９０１でサーバ２の受信インターセプタ処理部１１１は、その送信されたリクエストを受信してメモリ内に格納し、ステップ９０２では、スレッド固有のメモリ領域をメモリ内に確保する。
【００６５】
次にステップ９０３では、前記メモリ内に格納したリクエストから付加識別情報を読み出して前記スレッド固有のメモリ領域内に格納した後、前記リクエストからログ情報「Ｓ１ログ」を取り出して、ステップ９０５で、前記スレッド固有のメモリ領域内にログ情報「Ｓ１ログ」を格納する。
【００６６】
ステップ９０６では、そのサーバ２内のメモリ中の所定領域にアクセスしてログ情報の記録が必要であることを示す記録指示情報が格納されているかどうかを調べるが、サーバ２に前記記録指示情報が格納されていないものとすると、ここでこの処理を終了する。
【００６７】
その後、サーバ２は、サーバ１から受信したリクエストにより所定のサービスを提供する為のユーザアプリケーション処理を実行した場合、その処理によってメソッドの呼び出し等の所定の処理要求が発行された際にその内容を示すログ情報「Ｓ２ログ」を、前記確保したスレッド固有のメモリ領域内に追加する。
【００６８】
サーバ２でのユーザアプリケーション処理の結果、図４の様にサーバ２からサーバ１へのレスポンスが発行されるものとすると、ステップ７０１でサーバ２の送信インターセプタ処理部１１２は、その送信要求を発行したアプリケーション処理を識別する為のスレッド番号を取得し、ステップ７０２では、スレッド固有のメモリ領域から付加識別情報を読み出してレスポンスに付加する。
【００６９】
ステップ７０３からステップ７０９の処理では、前記スレッド固有のメモリ領域から前記付加識別情報に従ってログ情報「Ｓ１ログ、Ｓ２ログ」を取得してレスポンスに付加し、ステップ７１０では、前記付加識別情報及びログ情報「Ｓ１ログ、Ｓ２ログ」が付加されたレスポンスを通信装置によりサーバ１へ送信する。
【００７０】
図４の様にサーバ２からサーバ１にログ情報「Ｓ１ログ、Ｓ２ログ」が付加されたレスポンスが送信されると、ステップ９０１でサーバ１の受信インターセプタ処理部１１１は、その送信されたレスポンスを受信してメモリ内に格納し、ステップ９０２では、スレッド固有のメモリ領域をメモリ内に確保する。
【００７１】
次にステップ９０３では、前記メモリ内に格納したレスポンスから付加識別情報を読み出して前記スレッド固有のメモリ領域内に格納した後、前記レスポンスからログ情報「Ｓ１ログ、Ｓ２ログ」を取り出して、ステップ９０５で、前記スレッド固有のメモリ領域内にログ情報「Ｓ１ログ、Ｓ２ログ」を格納する。
【００７２】
ステップ９０６では、そのサーバ２内のメモリ中の所定領域にアクセスしてログ情報の記録が必要であることを示す記録指示情報が格納されているかどうかを調べるが、サーバ１に前記記録指示情報が格納されていないものとすると、ここでこの処理を終了する。
【００７３】
その後、サーバ１は、クライアントから受信したレスポンスに応じたユーザアプリケーション処理を実行した場合、その処理によってメソッドの呼び出し等の所定の処理要求が発行された際にその内容を示すログ情報「Ｓ１ログ２」を、前記確保したスレッド固有のメモリ領域内に追加する。
【００７４】
サーバ１でのユーザアプリケーション処理の結果、図４の様にサーバ１からクライアントへのレスポンスが発行されるものとすると、ステップ７０１でサーバ１の送信インターセプタ処理部１１２は、その送信要求を発行したアプリケーション処理を識別する為のスレッド番号を取得し、ステップ７０２では、スレッド固有のメモリ領域から付加識別情報を読み出してレスポンスに付加する。
【００７５】
ステップ７０３からステップ７０９の処理では、前記スレッド固有のメモリ領域から前記付加識別情報に従ってログ情報「Ｓ１ログ、Ｓ２ログ、Ｓ１ログ２」を取得してレスポンスに付加し、ステップ７１０では、前記付加識別情報及びログ情報「Ｓ１ログ、Ｓ２ログ、Ｓ１ログ２」が付加されたレスポンスを通信装置によりクライアントへ送信する。
【００７６】
図４の様にサーバ１からクライアントへログ情報「Ｓ１ログ、Ｓ２ログ、Ｓ１ログ２」が付加されたレスポンスが送信されると、ステップ９０１でクライアント側処理装置１００の受信インターセプタ処理部１０２は、その送信されたレスポンスを受信してメモリ内に格納し、ステップ９０２では、スレッド固有のメモリ領域をメモリ内に確保する。
【００７７】
次にステップ９０３では、前記レスポンスからログ情報「Ｓ１ログ、Ｓ２ログ、Ｓ１ログ２」を取り出して、ステップ９０５で、前記スレッド固有のメモリ領域内にログ情報「Ｓ１ログ、Ｓ２ログ、Ｓ１ログ２」を格納する。
【００７８】
ステップ９０６では、そのクライアント内のメモリ中の所定領域にアクセスしてログ情報の記録が必要であることを示す記録指示情報が格納されているかどうかを調べ、クライアントに前記記録指示情報が格納されているものとすると、ステップ９０７に進み、前記スレッド固有のメモリに格納したログ情報「Ｓ１ログ、Ｓ２ログ、Ｓ１ログ２」を磁気ディスク装置上に割り当てられたログ記録用ファイルに書き出す。
【００７９】
前記の様に本実施形態のログ処理システムでは、ログ情報をその発生順に通信電文に付加して収集しているので、複数のログ情報の突き合わせを行ってどのログ情報がどの処理要求によるものであるかを調べる必要は無く、ログ情報の解析に時間を要するという問題を解決することができる。
【００８０】
また従来技術においてログマネージャを利用した場合には、ログ情報が一カ所に集められてしまう為、そこがボトルネックやクリティカルポイントになり易いという問題があるが、本実施形態では、リクエストを最初に発行した各クライアント側処理装置（最初にリクエストを受信したサーバ側処理装置でも良い）にログ情報が分散する為、特定の情報処理装置がボトルネックやクリティカルポイントになることが無い。
【００８１】
以上説明した様に本実施形態のログ処理システムによれば、所定の処理を実行する為の通信電文にログ情報を付加することにより通信電文そのものにログ情報を蓄えるので、複数の情報処理装置間で通信電文を送受信して実行した処理のログ情報を効率的に収集することが可能である。
【図面の簡単な説明】
【００８２】
【図１】本実施形態のログ処理システムの概略構成を示す図である。
【図２】従来のログ収集処理の概要を示す図である。
【図３】従来のログマネージャによるログ収集処理の概要を示す図である。
【図４】本実施形態のログ収集処理の概要を示す図である。
【図５】本実施形態のアプリケーション処理時の通信処理の概要を示す図である。
【図６】本実施形態のログ収集処理時のメモリへのログの記録を示す図である。
【図７】本実施形態の送信インターセプタ処理の処理手順を示すフローチャートである。
【図８】本実施形態のログ情報のデータ構造例を示す図である。
【図９】本実施形態の受信インターセプタの処理手順を示すフローチャートである。
【符号の説明】
【００８３】
１００…クライアント側処理装置、１１０…サーバ側処理装置、１０１…送信インターセプタ処理部、１０２…受信インターセプタ処理部、１１１…受信インターセプタ処理部、１１２…送信インターセプタ処理部、８０１…スレッド番号、８０２…日時情報、８０３…ノード名、８０４…処理名、８０５…ステータス、８０６…入出力データ。
【図１】
2005157727.tif 000003
【図２】
2005157727.tif 000004
【図３】
2005157727.tif 000005
【図４】
2005157727.tif 000006
【図５】
2005157727.tif 000007
【図６】
2005157727.tif 000008
【図７】
2005157727.tif 000009
【図８】
2005157727.tif 000010
【図９】
2005157727.tif 000011