JP2008052435A - 情報収集装置及び方法、プログラム、並びに情報収集システム - Google Patents

情報収集装置及び方法、プログラム、並びに情報収集システム Download PDF

Info

Publication number
JP2008052435A
JP2008052435A JP2006226723A JP2006226723A JP2008052435A JP 2008052435 A JP2008052435 A JP 2008052435A JP 2006226723 A JP2006226723 A JP 2006226723A JP 2006226723 A JP2006226723 A JP 2006226723A JP 2008052435 A JP2008052435 A JP 2008052435A
Authority
JP
Japan
Prior art keywords
server
client
page
request
recording
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006226723A
Other languages
English (en)
Inventor
Yojiro Tagawa
陽次郎 田川
Kazuhiko Nakashita
和彦 中下
Shingo Ishii
信吾 石井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006226723A priority Critical patent/JP2008052435A/ja
Publication of JP2008052435A publication Critical patent/JP2008052435A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】本発明は、クライアント・サーバシステム上でユーザが問題を発見した時にクライアントのブラウザ上に表示された画面とサーバの動作情報とを関連付けることができ、問題の解析を容易にする情報収集装置を提供する。
【解決手段】中継サーバ200において、中継制御部202がWebブラウザ101からのページ要求ごとに要求IDを生成し、要求IDを送信する機能をテスト対象サーバ300からの応答ページに埋め込んでクライアント端末100に送出する。中継サーバ200がクライアント端末100から問題点報告のリクエストを受信すると、リクエスト中に含まれた要求IDに基づきテスト対象サーバ300との通信時刻を特定する。そして、その時刻におけるテスト対象サーバ300の動作情報を取得して応答ページと関連付ける。
【選択図】図2

Description

本発明は、クライアント・サーバシステム上で発生したエラーや問題等に対して解析に必要な情報収集を行う情報収集装置及び方法、プログラム、並びに情報収集システムに関する。
クライアント・サーバシステムにおいて発生する問題は、クライアント側で問題が発生したとユーザが認識しても、実際にはサーバ側で問題が発生している場合がある。そのため、問題が発生してもその解析作業に多大な労力が費やされていた。
クライアント・サーバシステム上で発生した問題の解析作業を効率よく行うためには、クライアント側の情報を取得するだけでなくサーバ側の情報も取得することが有効である。特に、ユーザがクライアントに表示された画面上で問題を発見した場合、問題が発生した画面と、その画面表示に関連したサーバの動作履歴が問題解析時に有効な情報となる。
クライアント・サーバシステム上で発生する問題を解析する方法として、例えば、クライアントとサーバで記録される履歴データを関連付ける履歴データ収集システムが提案されている(特許文献1参照)。この履歴データ収集システムは、クライアント・サーバシステム上で行われる一連の処理に識別符号を与えて、クライアント及びサーバで記録される履歴データにその識別符号を付すことで履歴データを関連付けている。
ところで、クライアント・サーバシステム上に構築されるWebシステムでは、ユーザの操作性向上を目的として、HTML(HyperText Markup Language)文書中にJava(登録商標)Scriptなどのスクリプト言語を埋め込み、クライアントのWebブラウザ上でスクリプト言語によるプログラムを実行させる技術がある。さらに、これらのスクリプト言語からページ要求とは別に、クライアントがサーバにデータ取得のための通信を行い、表示されているHTML文書を動的に変化させることも行われている。そのため、ユーザがブラウザ画面上で問題を発見した場合に、問題がスクリプト言語の処理にあるのか、サーバの処理にあるのかの切り分けが難しくなっている。
また、問題が発見された画面に至るまでの一連の操作に問題の原因がある場合、その一連の操作にかかわる情報を取得することも、問題解析の情報として有効である。クライアントでの操作履歴の情報を取得する方法として、HTML文書中のスクリプトを実行させるユーザの操作イベントも含めた操作履歴の取得方法が提案されている(特許文献2参照)。
特開2003−228498号公報 特開2001−60179号公報
しかしながら、上述したWebシステムでは、試験運用などを行う際にユーザが直接ブラウザを操作することによりWebシステムのテストを実施する場合、ユーザの主体的なアクションによって問題の報告が行われる。例えば、データベース上のデータに問題がある場合、ブラウザの画面上の表示に問題が発生していることを示しているが、プログラム上にはエラーが発生していないことがある。この場合、問題が発生したことをシステム側が検知できないため、ユーザからの問題の報告が必要である。
ユーザがブラウザの画面上で問題を発見し報告するタイミングは、サーバのプログラム上で問題の原因となった処理が実行された直後であるとは限らない。そのため、問題の原因となる処理の実行時刻の特定が難しく、サーバのプログラムが有益な履歴データを記録していたとしても、当該履歴データから問題解析のための情報を抽出することは難しい。
上記特許文献1に記載された、記録される履歴データに識別符号を付与する方法では、ユーザが問題を発見した場合、ユーザが何らかの手段で識別符号を取得して報告を行わないと、クライアントとサーバで記録される履歴データの関連付けを行うことができないという問題がある。また、サーバ及びクライアントのプログラムに、識別符号を付与して履歴データを記録する機能を予め実装しておかないと、関連付けを行うことができないという問題もある。
一方、システム設計者がWebシステムを構築する際には、既存のシステムを組み合わせて構築することが多い。その場合、システム設計者が独自の履歴データを記録する機能をWebシステムに組み込むことは実装の負荷や技術的な制約が発生する。
また、問題発生までの一連の操作にかかわる情報を取得する場合において、上記特許文献2に記載されたユーザの操作イベントを記録する方法では、ブラウザの画面に表示されている情報を取得することはできない。その時点の状態に応じて動的な画面を生成するWebシステムの場合、ユーザの操作イベントを再生しても、その時点と同じ画面が取得できるとは限らないためである。そのため、操作イベントの記録のみでは、問題解析のためには十分といえず、問題が発生したその時点の画面の情報を取得する必要がある。
本発明は、クライアント・サーバシステム上でユーザが問題を発見した時にクライアントのブラウザ上に表示された画面とサーバの動作情報とを関連付けることができ、問題の解析を容易にする情報収集装置及び方法、プログラム、並びに情報収集システムを提供する。
上記目的を達成するために、請求項1記載の情報収集装置は、クライアントとサーバとの間に接続可能な情報収集装置において、前記クライアントから送信されたページ要求を前記サーバに転送する第1の転送手段と、前記転送されたページ要求ごとに識別子を生成する識別子生成手段と、前記転送されたページ要求に応じて前記サーバから送信された応答ページに、前記識別子を送信する機能を付加して前記クライアントに転送する第2の転送手段と、前記ページ要求及び前記応答ページに関する前記サーバとの通信時刻を前記識別子と共に記録する第1の記録手段と、前記クライアントに転送した応答ページを記録する第2の記録手段と、前記機能により前記クライアントから送信された識別子に基づいて前記第1の記録手段に記録された通信時刻を特定して、当該通信時刻における前記サーバの動作情報を取得する取得手段と、前記サーバの動作情報と前記クライアントに転送した応答ページとを関連付けて収集する収集手段とを備えることを特徴とする。
上記目的を達成するために、請求項5記載の情報収集方法は、クライアントとサーバとの間に接続可能な情報収集装置の情報収集方法において、前記クライアントから送信されたページ要求を前記サーバに転送する第1の転送工程と、前記転送されたページ要求ごとに識別子を生成する識別子生成工程と、前記転送されたページ要求に応じて前記サーバから送信された応答ページに、前記識別子を送信する機能を付加して前記クライアントに転送する第2の転送工程と、前記ページ要求及び前記応答ページに関する前記サーバとの通信時刻を前記識別子と共に記録手段に記録する第1の記録工程と、前記クライアントに転送した応答ページを前記記録手段に記録する第2の記録工程と、前記機能により前記クライアントから送信された識別子に基づいて前記記録手段に記録された通信時刻を特定して、当該通信時刻における前記サーバの動作情報を取得する取得工程と、前記サーバの動作情報と前記クライアントに転送した応答ページとを関連付けて収集する収集工程とを備えることを特徴とする。
上記目的を達成するために、請求項9記載の情報収集システムは、クライアントと、サーバと、前記クライアントと前記サーバに接続された中継装置とで構成される情報収集システムにおいて、前記中継装置は、前記クライアントから送信されたページ要求を前記サーバに転送する第1の転送手段と、前記転送されたページ要求ごとに識別子を生成する識別子生成手段と、前記転送されたページ要求に応じて前記サーバから送信された応答ページに、前記識別子を送信する機能を付加して前記クライアントに転送する第2の転送手段と、前記ページ要求及び前記応答ページに関する前記サーバとの通信時刻を前記識別子と共に記録する第1の記録手段と、前記クライアントに転送した応答ページを記録する第2の記録手段と、前記機能により前記クライアントから送信された識別子に基づいて前記第1の記録手段に記録された通信時刻を特定して、当該通信時刻における前記サーバの動作情報を取得する取得手段と、前記サーバの動作情報と前記クライアントに転送した応答ページとを関連付けて収集する収集手段とを備えることを特徴とする。
本発明によれば、クライアントから送信されたページ要求をサーバに転送する場合、転送されたページ要求ごとに識別子を生成し、転送されたページ要求に応じてサーバから送信された応答ページに、識別子を送信する機能を付加してクライアントに転送する。そして、ページ要求及び応答ページに関するサーバとの通信時刻を識別子と共に記録し、クライアントに転送した応答ページを記録する。そして、識別子を送信する機能によりクライアントから送信された識別子に基づいてサーバとの通信時刻を特定して、当該通信時刻におけるサーバの動作情報を取得する。そして、サーバの動作情報とクライアントに転送した応答ページとを関連付けて収集する。これにより、クライアント・サーバシステム上でユーザが問題を発見したときにクライアントのブラウザ上に表示された画面とサーバの動作情報とを関連付けることができ、問題の解析を容易にすることができる。
以下、本発明の実施の形態を図面を参照して詳細に説明する。
[第1の実施の形態]
図1は、本発明の第1の実施の形態に係る情報収集システムが適用されたクライアント・サーバシステムの構成を示すブロック図である。
図1において、本クライアント・サーバシステムは、クライアント端末100と、中継サーバ200と、テスト対象サーバ300とで構成される。クライアント端末100は、図示に限らず、複数台接続されていてもよい。
クライアント端末100は、不図示のCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスク、表示装置、キーボードやマウス等の操作装置、通信I/F(インタフェース)等を備える。
中継サーバ200及びテスト対象サーバ300は、それぞれが不図示のCPU、RAM、ROM、ハードディスク、表示装置、キーボードやマウス等の操作装置、通信I/F(インタフェース)等を備える。
クライアント端末100は、インターネットやLAN(Local Area Network)等のネットワークを介して中継サーバ200に接続することが可能である。なお、中継サーバ200には1台のクライアント端末100が接続されているが、複数台接続されていてもよい。
クライアント端末100上では、インターネット上で提供されるWebページを閲覧するためのアプリケーション・ソフトウェアであるWebブラウザ101が動作する。Webブラウザ101は、中継サーバ200を経由してWebサーバ301に接続し、データの送受信を行う。
テスト対象サーバ300はネットワーク上に設置され、ネットワークを介して中継サーバ200に接続することができる。テスト対象サーバ300では、例えば、WWW(World Wide Web)による情報送信機能を有するソフトウェアのWebサーバ301が動作する。Webサーバ301は、実行した処理内容をサーバログ302としてハードディスク等の記憶装置に記録する。
中継サーバ200は、クライアント端末100のWebブラウザ101と通信を行うクライアント通信装置201と、テスト対象サーバ300のWebサーバ301と通信を行うサーバ通信装置203と、これらに接続された中継制御部202とを備える。中継制御部202は、クライアント通信装置201及びサーバ通信装置203を介してWebブラウザ101とWebサーバ301との間の通信の中継を行う。
クライアント通信装置201はLog情報収集部210に接続されている。Log情報収集部210は、Webブラウザ101からの問題点報告を受け、ページ履歴208とサーバログ302とを関連付けてLog情報DB209に格納する。また、Log情報収集部210は、サーバログ構成情報206にアクセスすることができる。サーバログ構成情報206の一例を図19に示す。
Webサーバ301により記録されるサーバログ302には、情報の種類ごとに複数のサーバログが記録される場合がある。Webサーバ301が複数のプログラムの組み合わせ、例えば、アプリケーションサーバとDB管理システムなどで実現されることもあることから、図14〜図16に示すような複数のサーバログが各種のフォーマットで記録されることになる。そこで、サーバログ構成情報206によりサーバログの種類とフォーマットが管理されている。
中継制御部202及びLog情報収集部210は、CGIプログラムやJava(登録商標)のサーブレットなどの一般的なWebアプリケーション技術によって実現することが可能である。
クライアント通信装置201及びサーバ通信装置203は、WebアプリケーションのプラットフォームとなるWebアプリケーションサーバによって提供される機能を利用することができる。例えば、WebアプリケーションサーバTomcatで動作するJava(登録商標)サーブレットプログラムとしてこれらの機能を実現することが可能である。
中継制御部202は、要求ID付与部205、ページ更新部204に接続されている。また、サーバアクセス履歴207、ページ履歴208にアクセスすることができる。要求ID付与部205は、後述するユニークな識別子から成る要求IDを生成して応答ページに埋め込む。サーバアクセス履歴207には、後述するWebサーバ301へのページ要求送信時刻と応答ページ受信時刻、生成された要求IDがセットにされて記録される。ページ更新部204は、ユーザが問題点報告を行う際に起動される要求ID送信機能を応答ページに埋め込み、応答ページを変更する。
図2は、図1のクライアント・サーバシステムを構成する装置間の基本的な処理の流れを示すシーケンスである。
図2において、まず、ユーザがクライアント端末100のWebブラウザ101を利用してWebページを閲覧するときは、クライアント端末100から中継サーバ200にページ要求が送信される(ステップS201)。
中継サーバ200は、クライアント端末100から受信したページ要求をテスト対象サーバ300に転送する(ステップS202)。
テスト対象サーバ300は、中継サーバ200から受信したページ要求の要求内容に応じて、動的に生成した応答ページか或いは予め保持している静的な応答ページを中継サーバ200へ送信する(ステップS203)。テスト対象サーバ300から中継サーバ200に対して送信される変更前の応答ページの表示画面の一例を図22に示す。
また、テスト対象サーバ300は、応答ページを中継サーバ200に送信する際、当該テスト対象サーバ300での動作処理の内容を、例えば図14〜図16に示すようなサーバログ302としてハードディスク等に記録する。
中継サーバ200がテスト対象サーバ300からの応答ページを受けると、1つのページの要求ごとに要求IDを生成する。要求IDはユニークな識別子から成る。そして、ユーザが閲覧した応答ページにある問題点をWeb上で報告するための要求IDを送信する要求ID送信機能を応答ページに埋め込む。要求ID送信機能が埋め込まれた変更後の応答ページの表示画面の一例を図23に示す。この例では、応答ページに対する要求ID送信機能の埋め込みが、ユーザが問題点を報告するためのボタン(「問題点を報告する」ボタン235)をページ中に埋め込む形で実現されている。
中継サーバ200は、要求ID送信機能が埋め込まれた応答ページを、ステップS201のページ要求送信に対する応答としてクライアント端末100に送信する(ステップS204)。クライアント端末100は、受信した応答ページをWebブラウザ101により表示させる。
このように、ユーザがWebブラウザ101を利用してテスト対象サーバ300に対する試験運用等を実施する間、ステップS201のページ要求送信処理からステップS204の応答ページ送信処理が繰り返し実行される。
ここで、ユーザがWebブラウザ101により表示されている応答ページ上に問題を発見した場合、この問題点を報告するための所定の操作を行うと応答ページ中に埋め込まれた要求ID送信機能が起動する(ステップS204)。その結果、クライアント端末100は中継サーバ200に要求IDを送信する(ステップS205)。例えば、図23に示す応答ページ画面上でユーザが問題を発見した場合、画面中の「問題点を報告する」ボタン235を押下することにより、クライアント端末100が中継サーバ200に要求IDを送信する。
図24は、「問題点を報告する」ボタン235が押下された場合に、ユーザが問題内容を記入するための画面を示す図である。「問題点を報告する」ボタン235が押下されると、中継サーバ200が図24に示す問題点報告フォーム画面をクライアント端末100に送信して当該画面を表示させる。そして、クライアント端末100が問題点報告フォーム画面に記入された問題内容と共に要求IDを送信するようにしてもよい。
次に、中継サーバ200はクライアント端末100から要求IDを受信すると、その要求IDに対応するテスト対象サーバ300への送受信(ステップS202〜ステップS203)の時刻を特定する。そして、中継サーバ200は、特定した時刻に基づいてテスト対象サーバ300からサーバログ302を取得する(ステップS206)。
図3は、Webブラウザ101からページ要求を受けたときのクライアント通信装置201の動作処理を示すフローチャートである。
図3において、クライアント通信装置201は、Webブラウザ101からページ要求(リクエスト)を受信する(ステップS301)。そして、そのリクエストが上述したWebサーバ301に対するページ要求か、問題点報告のリクエストかを判断する(ステップS302)。
Webブラウザ101は、例えば、中継サーバ200のホスト名が「PROXY−HOST」である場合、図34(a)に示すようなURLでページ要求を送信する。一方、問題点報告のリクエストの場合、図34(b)で示すようなURLでリクエストを送信する。なお、問題点報告のリクエストか否かの判断は、問題点報告のリクエストのURLをWebサーバ301が受付可能なURLのパスと重複しないようにすることにより、URLのパスのパターンにより判断することが可能である。
中継サーバ200の機能をWebアプリケーションサーバTomcatで動作するJava(登録商標)サーブレットプログラムとして実現する場合について説明する。中継制御部202とLog情報収集部210をそれぞれ別のサーブレットプログラムとし、URLのパスのパターンにより起動させるJava(登録商標)サーブレットプログラムを選択するようにTomcatを設定する。これにより、ステップS302のリクエストがページ要求か或いは問題点報告のリクエストかを切り分ける処理を実現することができる。
ステップS302の判断の結果、受信したリクエストが問題点報告のリクエストではなくページ要求である場合(ステップS302でNO)、クライアント通信装置201は中継制御部202にリクエスト転送を依頼する(ステップS303)。一方、問題点報告のリクエストの場合(ステップS302でYES)、クライアント通信装置201はLog情報収集部210に情報収集を依頼する(ステップS304)。
図4は、ページ要求をWebサーバ301に転送するときの中継制御部202の動作処理を示すフローチャートである。
図4において、中継制御部202は、図3のステップS303でクライアント通信装置201から依頼されたリクエストを、サーバ通信装置203を利用してWebサーバ301に転送する(ステップS401)。例えば、テスト対象サーバ300のホスト名が「TARGET−HOST」である場合、図34(c)に示すようなURLでWebサーバ301にリクエストを転送する。
リクエストが転送された後、サーバ通信装置203がWebサーバ301から応答ページを受信すると(ステップS402,S403でNO)、中継制御部202は要求ID付与部205に対して要求IDの生成を要求する(ステップS405)。一方、中継制御部202は、サーバ通信装置203がWebサーバ301からの応答のタイムアウトを検出(ステップS402でYES)、或いはエラー応答を検出(ステップS403でYES)した場合、中継制御部202は応答ページに替わるエラーページを生成する(ステップS404)。そして、エラーページに対しても要求ID送信機能の埋め込みを行うために、ページ更新部204を呼び出してステップS405以降の処理を行う。エラーページ画面の一例を図21に示す。
次に、中継制御部202は、Webサーバ301へのページ要求の送信時刻と、応答ページの受信時刻と、生成された要求IDとをセットにして、サーバアクセス履歴207に記録する(ステップS406)。サーバアクセス履歴207の一例を図17に示す。サーバアクセス履歴207には、ユニークな識別子から成る要求IDと、クライアント端末のIPアドレスから成るユーザ識別子と、送信時刻と、受信時刻と、要求URLとが記録される。クライアント通信装置201がユーザ識別子と要求URLを取得し、リクエスト転送を依頼する際に中継制御部202に引き渡す。そして、中継制御部202がサーバアクセス履歴207に要求IDを記録すると同時に、ユーザ識別子、要求URL、送信時刻、受信時刻を記録する。
図4に戻り、ステップS407では、中継制御部202がページ更新部204を呼び出し、ページ更新部204により、上述した要求ID送信機能を応答ページに埋め込んで応答ページを変更する。本実施の形態では、応答ページのHTMLソース中に要求ID送信機能として問題点報告を行うためのボタンを埋め込む例について説明する。Webサーバ301から送られた変更前の応答ページのHTMLソースの一例を図12に示す。
ページ更新部204は、応答ページのHTMLソースを解析し、当該応答ページの元の画面レイアウトに対して影響を与えないようにHTMLソースを変更する。変更後の応答ページのHTMLソースの一例を図13に示す。図22に示す変更前の応答ページに対して変更後の応答ページは、図23に示すように、画面上部に「問題点を報告する」ボタン235が埋め込まれている。
図13に示すHTMLソースの5行目〜12行目が要求ID送信機能が埋め込まれている部分である。HTMLのFORM機能を利用し、要求IDをHiddenパラメータとして設定しておき(7行目)、「問題点を報告する」ボタン(9行目)が押下されることで、要求IDが送信されるようになっている。要求IDの送信先は6行目のFORMタグのaction属性に設定されているパスとなっている。これにより、上述した図3のステップS302における問題点報告のリクエストか否かの切り分けが、URLのパスによって可能になる。
図4に戻り、ページ更新部204により応答ページの変更が完了すると、中継制御部202は、変更された応答ページを要求IDと共にページ履歴208に記録する(ステップS408)。ページ履歴208の一例を図18に示す。そして、中継制御部202は、クライアント通信装置201を介して、変更された応答ページをWebブラウザ101に送出する(ステップS409)。
図5は、Log情報収集部210の動作処理を示すフローチャートである。
図5において、Log情報収集部210は、図3のステップS304でクライアント通信装置201から情報収集の依頼を受けると、ステップS301で受信したリクエスト中に含まれる要求IDを取得する(ステップS501)。例えば、要求IDが図13に示すHTMLソースの7行目のFORMのHiddenパラメータとして設定されている場合、Log情報収集部210は、URL中のQUERY_STRINGからHiddenパラメータの属性名requestidをキーとして要求IDを取得することが可能である。
次に、Log情報収集部210は、サーバアクセス履歴207を参照し、テスト対象サーバ300への要求IDの送受信時刻を特定する(ステップS502)。例えば、要求IDが「R012346」の場合、図17に示すサーバアクセス履歴207を参照して、送信時刻が「2005/11/29 09:46:15」であり、受信時刻が「2005/11/29/Nov 09:46:17」であることを特定することができる。これは、ユーザが問題点を報告したページに対してWebサーバ301で処理が行われた時間が、この送受信時間であることを示している。
次に、Log情報収集部210は、図19に示すサーバログ構成情報206を参照して、サーバログ構成情報を取得する(ステップS503)。
図19において、「ログ種別」はWebサーバ301により記録されるサーバログ302の種類を示している。「ディレクトリ」はサーバログ302の記録場所を示し、「切り替えタイミング」はログファイルの切り替え方法を示している。「ディレクトリ」と「切り替えタイミング」の情報により、ログの記録場所とファイル名を特定することができる。
「ログタイプ」と「フォーマット」は、記録されるサーバログ302のログタイプとフォーマットが示されている。この「フォーマット」の情報によりサーバログ302中の時刻情報のフィールドを特定することが可能であり、特定時刻における情報を抽出することができる。この特定時刻における情報は、ログの種類により具体的な内容が異なるが、図19におけるログ種別「access log」の場合は、HTTPのメソッド、要求されたリソース(=URL)、処理結果を示す結果コードなどから成る。この情報が動作情報に相当する。
Log情報収集部210は、ステップS503で取得したサーバログ構成情報206を含む情報に基づいて、テスト対象サーバ300上のサーバログ302から、ステップS502で特定した送受信時刻間のログ情報(動作情報)を取得する(ステップS504)。ここで、サーバログが複数ある場合、すべてのサーバログに対してステップS504の処理を繰り返す(ステップS505)。なお、サーバログ構成情報206を含む情報は、ログのフォーマット情報やディレクトリなども含めたサーバログ構成情報に含まれる全体の情報をいう。
次に、Log情報収集部210は、ページ履歴208から要求IDに対応するページの情報を取得する(ステップS506)。そして、ステップS504とステップS506で取得した情報を関連付けて、Log情報DB209に格納する(ステップS507)。Log情報DB209の一例を図20に示す。そして、Log情報収集部210は、クライアント通信装置201を介して、例えば、図25に示す完了ページをWebブラウザ101に送出する(ステップS508)。
上記第1の実施の形態によれば、中継サーバ200では、クライアント端末100から受信したページ要求ごとに要求IDを生成し、ページ要求をテスト対象サーバ300に転送する。そのとき、テスト対象サーバ300との通信時刻が要求IDと共に記録される。そして、テスト対象サーバ300から受信した応答ページに要求ID送信機能を埋め込み、クライアント端末100に送出する。そして、クライアント端末100から要求ID送信機能による問題点報告のリクエストを受信すると、該リクエスト中に含まれる要求IDに基づいてテスト対象サーバ300との通信時刻を特定する。そして、その時刻におけるテスト対象サーバ300の動作情報を取得して応答ページと関連付ける。これにより、クライアント・サーバシステム上でユーザが問題を発見した時にクライアント端末100のWebブラウザ101上に表示される画面とテスト対象サーバ300の動作情報とを関連付けることができ、発見された問題の解析を容易にすることができる。
また、従来のクライアント・サーバシステムに中継サーバ200を追加接続することでテスト対象サーバ300及びクライアント端末100に対してシステム上の変更を行うことなく、試験運用を行うことができる。そのため、試験運用時には、中継サーバ200を組み込み、本番運用時には取り外すことが容易なため、試験用の環境を新たに用意することなく、試験運用からスムーズに本番運用に移行することができる。
上記第1の実施の形態では、中継制御部202とLog情報収集部210が同一の中継サーバ上で動作する例について説明した。一方、サーバアクセス履歴207、ページ履歴208を複数の装置からアクセスできるようにすることで、中継制御部202とLog情報収集部210を別々の装置上で動作させることも可能である。
また、Webサーバ301の動作情報としてログファイルを収集する例について説明したが、ログファイルのみに限定されるわけではない。例えば、DB管理システムのバックアップ機能で、特定時刻の状態に復元させる機能をもつものがある。Webサーバ301がその機能を利用可能な場合には、問題発生時刻で復元させたDB情報を収集することも可能である。
[第2の実施の形態]
次に、本発明の第2の実施の形態に係る情報収集システムとして、問題点が報告されたページに至るまでの一連の操作履歴を含む情報を取得する場合について説明する。本第2の実施の形態では、ページの遷移による操作履歴だけではなく、Java(登録商標)Scriptによりページの内容が動的に更新される場合の画面の履歴を含む情報を取得する。なお、上記第1の実施の形態における情報収集システムと同一の構成要素には同一の符号を付してその説明を省略する。以下に、上記第1の実施の形態と異なる点のみを説明する。
図6は、本発明の第2の実施の形態に係る情報収集システムが適用されたクライアント・サーバシステムの構成を示すブロック図である。
図6において、本クライアント・サーバシステムは、クライアント端末100と、中継サーバ600と、テスト対象サーバ300とで構成される。
中継サーバ600は、クライアント通信装置201と、中継制御部202と、サーバ通信装置203と、ページ更新部204と、要求ID付与部205と、サーバログ構成情報206と、サーバアクセス履歴207とを備える。また、中継サーバ600は、ページ履歴208と、Log情報DB209と、Log情報収集部210と、ユーザ特定部211と、スクリプト実行部212と、変換イベント情報213とを備える。
スクリプト実行部212は、ページ更新部204、サーバ通信装置203、サーバアクセス履歴207、及びページ履歴208にアクセスすることが可能である。スクリプト実行部212は、Java(登録商標)ScriptなどのHTML文書中に埋め込まれた、スクリプト言語によるプログラムを実行する。スクリプト言語のプログラムは、通常Webブラウザ101内部で動作する。スクリプト言語のプログラムを中継サーバ600上で動作させることで、Java(登録商標)Scriptによるページの動的な更新も記録される。また、Java(登録商標)Scriptプログラムをスクリプト実行部212で動作させるために、Java(登録商標)Scriptプログラムの起動イベントを中継サーバ600へのイベント通知に変換する。置き換え元のJava(登録商標)Scriptプログラムは変換元イベント情報213に登録されている。
ユーザ特定部211は、中継制御部202に接続され、ページ要求を送信したWebブラウザ101が動作しているクライアント端末100或いはユーザを特定する機能をもつ。変換イベント情報213は、図30に示すように、イベントIDと実行関数とが関連付けて記録されたものである。
図7は、図6のクライアント・サーバシステムを構成する装置間の基本的な処理の流れを示すシーケンスである。図7におけるステップS701〜S704は、図2におけるステップS201〜S204に対応するものである。なお、ステップS704では、上述した要求ID送信機能が応答ページに埋め込まれると同時に、応答ページ中のJava(登録商標)Scriptのイベントハンドラが設定されている箇所の関数が、中継サーバ600へのイベント通知を行うための関数に書き換える処理が行われる。
まず、ユーザがWebブラウザ101を利用することにより、そのイベントハンドラが起動すると、クライアント端末100から中継サーバ600にイベント通知(スクリプトイベント)が送信される(ステップS705)。
中継サーバ600はクライアント端末100からイベント通知を受信すると、そのイベント通知に対応する、書き換え前の関数を実行する。そして、中継サーバ600はJava(登録商標)Scriptの関数の実行により応答ページの更新を行い、更新した応答ページをクライアント端末100に送信する(ステップS706)(Java(登録商標)スクリプトの実行1)。
一方、中継サーバ600はイベント通知を受信すると、Java(登録商標)Scriptの関数内でXMLHTTPRequstオブジェクトを利用して、テスト対象サーバ300のWebサーバ301に対して通信を行い、その結果により応答ページの更新を行う場合がある(Java(登録商標)スクリプトの実行2)。
中継サーバ600は、クライアント端末100から送信されたイベント通知(スクリプトイベント)を受信すると(ステップS707)、Java(登録商標)Scriptの関数を実行し、テスト対象サーバ300へXMLHTTPRequstによるリクエストを送信する(ステップS708)。
テスト対象サーバ300は、受信したリクエストの内容に応じて応答XML文書を生成し、生成した応答XML文書を中継サーバ600に送信する(ステップS709)。その際、テスト対象サーバ300での動作内容がサーバログ302として記録される。
中継サーバ600は、テスト対象サーバ300から受信した応答XML文書に基づいて応答ページの更新を行い、更新した応答ページをクライアント端末100に送信する(ステップS710)。クライアント端末100では、受信した応答ページがWebブラウザ101により表示される。
ユーザがWebブラウザ101により表示されている画面上で問題を発見し、問題点を報告するための操作を行った場合、ステップS711〜S712の動作が行われる。これは、上述した図2のステップS205〜S206に対応するものである。なお、ステップS712で収集される情報はJava(登録商標)Scriptによるテスト対象サーバ300での動作のログ(ステップS708〜S709)も含めて収集される。
図8は、Webブラウザ101からページ要求を受けたときのクライアント通信装置201の動作処理を示すフローチャートである。
図8において、クライアント通信装置201は、Webブラウザ101からページ要求(リクエスト)を受信し(ステップS801)、そのリクエストが問題点報告のリクエストか否かを判断する(ステップS802)。これは上述した図3のステップS302と同じである。この判断の結果、受信したリクエストが問題点報告のリクエストである場合(ステップS802でYES)、クライアント通信装置201はLog情報収集部210に情報収集を依頼する(ステップS805)。
一方、ステップS802の判断の結果、受信したリクエストが問題点報告のリクエストでない場合(ステップS802でNO)、受信したリクエストがページ要求のリクエストか或いはJava(登録商標)Scriptの実行イベントの通知かを判断する(ステップS803)。ここでは、例えば、リクエスト中のパラメータにイベント通知を示すパラメータが含まれる場合にイベント通知であると判断することができる。
ステップS803の判断の結果、Java(登録商標)Scriptの実行イベントの通知である場合(ステップS803でYES)、クライアント通信装置201は中継制御部202にJava(登録商標)Scriptの実行を依頼する(ステップS806)。一方、Java(登録商標)Scriptの実行イベントの通知でない場合(ステップS803でNO)は、クライアント通信装置201は中継制御部202にリクエスト転送を依頼する(ステップS804)。
図9は、ページ要求をWebサーバ301に転送するときの中継制御部202の動作処理を示すフローチャートである。
図9において、中継制御部202は、図8のステップS804でクライアント通信装置201から依頼されたリクエストを、サーバ通信装置203を利用してWebサーバ301に転送する(ステップS901)。
リクエストが転送された後、サーバ通信装置203がWebサーバ301から応答ページを受信すると(ステップS902,S903でNO)、中継制御部202は要求ID付与部205に対して要求IDの生成を要求する(ステップS905)。一方、中継制御部202は、サーバ通信装置203がWebサーバ301からの応答のタイムアウトを検出(ステップS902でYES)、或いはエラー応答を検出(ステップS903でYES)した場合、中継制御部202は応答ページに替わるエラーページを生成する(ステップS904)。そして、ステップS905以降の処理を行う。
次に、中継制御部202は、ユーザ特定部211に対して、ページ要求を送信したユーザの特定を指示する(ステップS906)。ユーザ特定部211はページ要求からユーザを識別する情報を抽出することでユーザを特定する。例えば、ページ要求を送信したクライアント端末100のIPアドレスをユーザの識別子として利用することが可能である。また、Webサーバ301がセッション管理を行っている場合には、ページ要求中のクッキー(Cookie)情報をユーザの識別子として利用することも可能である。例えば、クッキーの値にクライアント端末を一意に識別するための情報を保持させて、セッション管理を実現する方法が広く行われている。
次に、中継制御部202は、Webサーバ301へのページ要求の送信時刻と、応答ページの受信時刻と、生成された要求IDと、ユーザを識別する情報(ユーザ識別子等)とをセットにして、サーバアクセス履歴207に記録する(ステップS907)。
次に、中継制御部202は、ページ更新部204を呼び出して応答ページを変更させる。ページ更新部204は、応答ページを解析し、ページの中のイベントハンドラによって呼び出される関数を、中継サーバ600へのイベント通知を行う関数に置き換える(ステップS908)。Webサーバ301から送られる応答ページのJava(登録商標)Script関数を含む変更前のHTMLソースの一例を図26に示す。
図26に示すHTMLソースの10行目のINPUTタグには、イベントハンドラonblurで呼び出される関数check_number()が設定されている。また、15行目のBUTTONタグには、イベントハンドラonclickで呼び出される関数fill_address()が設定されている。ページ更新部204は、それぞれの関数をイベントを通知するための関数sendenvet()に置き換える。イベントハンドラにより呼び出される関数が書き換えられた変更後のHTMLソースの一例を図27に示す。
図27において、図26に示すHTMLソースの10行目のcheck_number()関数は、20行目でsendevent(‘E02341’)と書き換えられている。また、図26に示すHTMLソースの15行目のfill_address()は、図27に示すHTMLソースの25行目でsendevent(‘E02342’)と書き換えられている。関数sendenvet()の引数はそれぞれイベントを識別するためのユニークな識別子から成るイベントIDが設定される。
また、図27に示すHTMLソースの3行目でJava(登録商標)Script関数を定義する外部ファイルが指定されている。これは上述したイベント通知を行うイベント通知関数send_event()を定義するものである。イベント通知関数(イベント通知用Java(登録商標)Script)の定義の一例を図29に示す。ここでは、sendevent()関数の引数のイベントIDが図27に示すHTMLソースの29行目のフォーム中のHidden属性として設定され、フォームを送信する処理が行われている。これにより、イベント通知内容として、イベントIDが中継サーバ600へ送信されることになる。上述した図8のステップS803でリクエスト中にこのイベントIDが含まれているか否かで、リクエストがイベント通知であるかの判定を行うことができる。
図9に戻り、ステップS908では、中継制御部202はページ更新部204が置き換えた関数をイベントIDと関連付けて変換イベント情報213に記録する。変換イベント情報213の一例を図30に示す。
次に、ステップS909では、中継制御部202がページ更新部204を呼び出し、ページ更新部204により、上述した要求ID送信機能を応答ページに埋め込んで応答ページを変更する。ページ更新部204により応答ページの変更が完了すると、中継制御部202は、変更された応答ページを要求IDと共にページ履歴208に記録する(ステップS910)。そして、中継制御部202は、クライアント通信装置201を介して、変更された応答ページをWebブラウザ101に送出する(ステップS911)。
図10は、スクリプトを実行する中継制御部202の動作処理を示すフローチャートである。
図10において、中継制御部202は、Webブラウザ101からのリクエストを解析し、イベントIDを取得する(ステップS1001)。例えば、イベントIDが図27の29行目で示すFORMのHiddenパラメータとして設定されている場合は、送信されるコンテンツの中からHiddenパラメータの属性名eventidをキーとして取得することが可能である。
次に、中継制御部202はページ更新部204にイベント通知によるページの更新を指示する。ページ更新部204は変換イベント情報213から、イベントIDに対応するイベント通知関数に置き換える前の元の関数を特定する(ステップS1002)。そして、ページ更新部204はスクリプト実行部212に置き換え前の関数実行を指示する。
まず、スクリプト実行部212は、ページ履歴208から要求ID及びイベントIDで特定される、前回Webブラウザ101に対して送出されたページ情報(送出ページ)を取得する。そして、イベント通知に含まれるフォームパラメータの値を、このページ情報に反映させる(ステップS1003)。例えば、図27に示すHTMLページを前回Webブラウザ101に対して送信した場合、イベント通知時には、イベントID以外のフォームのパラメータval1,val2,val3,val4に入力されている値も送信されることになる。これにより、Java(登録商標)Script関数の実行前にWebブラウザ101上でユーザが入力した値を中継サーバ600上で再現することができる。
次に、スクリプト実行部212は指定された置き換え前の関数の実行を行う(ステップS1004)。そして、スクリプト実行部212は、実行する関数内にWebサーバ301と通信処理が記述されている場合、XMLHTTPRequestオブジェクトを利用してWebサーバ301と通信を行う場合もある(ステップS1005でYES)。その場合、スクリプト実行部212は、サーバ通信装置203を介してWebサーバ301にデータ取得要求(リクエスト)を送信し(ステップS1006)、その結果として応答データを受信する。そして、このときのリクエスト送信時刻及び応答データ受信時刻をサーバアクセス履歴207に記録する(ステップS1007)。スクリプトからWebサーバ301へアクセスした際のサーバアクセス履歴207の一例を図31に示す。次に、スクリプト実行部212は、上述した関数の実行結果をページ内容に反映させてページを更新する(ステップS1008)。ここで、Java(登録商標)Script実行によりページが更新される動作について図26、図27、及び図28を参照して具体的に説明する。
図28は、Java(登録商標)Script実行後のHTMLソースの一例を示す図である。
図26に示すHTMLソースの15行目の“自動入力”ボタンの記述は、不図示の自動入力ボタンがクリックされることで、fill_address()関数が実行されるようになっている。このfill_address()関数は、他の入力フォームの値を参照して、Webサーバ301に通信を行い、図26に示すHTMLソースの14行目のTEXTAREA欄に値を自動で設定する機能をもつものとする。図9のステップS908で、この関数はイベント通知関数にsendenvet()に置き換えられる(図27に示すHTMLソースの25行目)。そして、Webブラウザ101上でユーザが入力フォームに値を入力して“自動入力”ボタンを押すと、イベントIDと、入力フォーム内容が中継サーバ600に送られる。そして、図10のステップS1003で入力フォーム内容が反映され、ステップS1004で置き換え前のfill_address()関数が実行される。こうして、図28に示すHTMLソースの24行目のTEXTAREA欄の値が設定される。
図10に戻り、ステップS1008でページの更新が完了すると、中継制御部202は、要求ID及びイベントIDと共に、更新されたページをページ履歴208に記録する(ステップS1009)。Java(登録商標)Script関数を伴う場合のページ履歴208の一例を図32に示す。そして、中継制御部202は、更新されたページをクライアント通信装置201を介してWebブラウザ101に送出する(ステップS1010)。
図11は、Log情報収集部210の動作処理を示すフローチャートである。
図11において、Log情報収集部210は、図8のステップS805でクライアント通信装置201から情報収集の依頼を受けると、図8のステップS801で受信したリクエスト中に含まれる要求IDを取得する(ステップS1101)。
次に、Log情報収集部210は、サーバアクセス履歴207を参照し、取得した要求IDに基づいてユーザを特定し、特定したユーザの一連のアクセス履歴を取得する(ステップS1102)。例えば、取得した要求IDが「R012346」の場合、図17に示すサーバアクセス履歴207を参照して、ユーザ識別子が「192.168.1.2」であることを特定することができる。そして、特定したユーザ識別子に基づいて過去のアクセス履歴を参照し、要求ID:R012344がユーザ識別子「192.168.1.2」のユーザの過去の操作によるものであることを特定することができる。こうして、送信された要求IDに至るまでの一連の操作によるユーザのアクセス履歴を取得する。履歴のさかのぼる範囲は、例えば予め設定された一定期間などに限定される。
次に、Log情報収集部210は、サーバアクセス履歴207を参照し、テスト対象サーバ300への一連のアクセス履歴それぞれの送受信時刻を特定する(ステップS1103)。次に、Log情報収集部210は、図19に示すサーバログ構成情報206を参照して、サーバログ構成情報を取得する(ステップS1104)。そして、Log情報収集部210は、取得したディレクトリの情報に基づいてテスト対象サーバ上のサーバログ302から、ステップS1103で特定した送受信時刻間のログ情報(動作情報)を取得する(ステップS1105)。ここで、サーバログが複数ある場合、すべてのサーバログに対してステップS1105の処理を繰り返す(ステップS1106)。
次に、Log情報収集部210は、図31に示すようなサーバアクセス履歴207から要求IDで特定できるスクリプトによるサーバ送受信時刻を特定する(ステップS1107)。
次に、Log情報収集部210は、同じくサーバログ302から、特定した送受信時刻間の情報を抽出する(ステップS1108)。ここでも、サーバログが複数ある場合、すべてのサーバログに対してステップS1108の処理を繰り返す(ステップS1109)。こうして一連の操作の各要求IDに関して、ログ収集を繰り返す(ステップS1110)。
次に、Log情報収集部210は、ページ履歴208から一連操作の各要求IDに対応するページの情報を取得する(ステップS1111)。そして、ステップS1105,S1108,及びS1111で取得した情報を、互いに関連付けてLog情報DB209に格納する(ステップS1112)。Log情報DB209の一例を図33に示す。そして、Log情報収集部210は、クライアント通信装置201を介して、例えば、図25に示す完了ページをWebブラウザ101に送出する(ステップS1113)。
上記第2の実施の形態によれば、中継サーバ600では、クライアント端末100から受信したページ要求ごとに要求IDを生成し、ページ要求をテスト対象サーバ300に転送する。そして、テスト対象サーバ300から受信した応答ページ中のイベントハンドラによって呼び出される関数をイベント通知する関数に置き換えると共に、該関数にイベントIDが設定される。さらに、応答ページに要求ID送信機能が埋め込まれてクライアント端末100に送出される。そして、クライアント端末100からイベント通知を受信するとJava(登録商標)Scriptを実行し、テスト対象サーバ300との通信時刻を記録してページを更新すると共に、ページ履歴を記録する。そして、クライアント端末100から要求ID送信機能による問題点報告のリクエストを受信すると、取得した要求IDに基づいてユーザを特定し、特定したユーザの一連のアクセス履歴を取得する。これにより、問題発生に至るまでの一連のユーザの操作による画面の履歴と、そのときのサーバの動作情報を関連付けて収集することができる。
本発明の目的は、上記各実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム又は装置に供給し、そのシステム等のコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した各実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。なお、コンピュータはCPUやMPU等であってもよい。
プログラムコードを供給するための記憶媒体としては、例えば、リムーバブルディスク、ハードディスク、光磁気ディスク、光ディスク、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。また、プログラムコードをネットワークを介してダウンロードしてもよい。光ディスクには、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW等が含まれる。
コンピュータが読み出したプログラムコードを実行することにより、上述した各実施の形態の機能が実現されるだけではない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって上述した各実施の形態の機能が実現される場合も含まれる。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、次のプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって上述した各実施の形態の機能が実現される場合も含まれる。
また、コンピュータが読み出したプログラムコードを実行することにより、上述した各実施の形態の機能が実現されるだけではない。すなわち、プログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した各実施の形態の機能が実現される場合も、本発明に含まれることは云うまでもない。この場合、上記プログラムは、該プログラムを記憶した記憶媒体から直接、又はインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続された不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。
本発明の第1の実施の形態に係る情報収集システムが適用されたクライアント・サーバシステムの構成を示すブロック図である。 図1のクライアント・サーバシステムを構成する装置間の基本的な処理の流れを示すシーケンスである。 Webブラウザからリクエストを受けたときのクライアント通信装置の動作処理を示すフローチャートである。 ページ要求をWebサーバに転送するときの中継制御部の動作処理を示すフローチャートである。 Log情報収集部の動作処理を示すフローチャートである。 本発明の第2の実施の形態に係る情報収集システムが適用されたクライアント・サーバシステムの構成を示すブロック図である。 図6のクライアント・サーバシステムを構成する装置間の基本的な処理の流れを示すシーケンスである。 Webブラウザからリクエストを受けたときのクライアント通信装置の動作処理を示すフローチャートである。 ページ要求をWebサーバに転送するときの中継制御部の動作処理を示すフローチャートである。 スクリプトを実行する中継制御部の動作処理を示すフローチャートである。 Log情報収集部の動作処理を示すフローチャートである。 Webサーバから送られた変更前の応答ページのHTMLソースの一例を示す図である。 要求ID送信機能として画面上部にボタンが埋め込まれた変更後の応答ページのHTMLソースの一例を示す図である。 サーバログの一例であるaccess logを示す図である。 サーバログの一例であるapplication logを示す図である。 サーバログの一例であるerror logを示す図である。 サーバアクセス履歴の一例を示す図である。 ページ履歴の一例を示す図である。 サーバログ構成情報の一例を示す図である。 Log情報DBの一例を示す図である。 エラーページ画面の一例を示す図である。 変更前の応答ページの表示画面の一例を示す図である。 変更後の応答ページの表示画面の一例を示す図である。 ユーザが問題内容を記述するための問題点報告フォーム画面の一例を示す図である。 問題点報告完了時の完了ページの表示画面の一例を示す図である。 応答ページのJava(登録商標)Script関数を含む変更前のHTMLソースの一例を示す図である。 イベントハンドラにより呼び出される関数が書き換えられた変更後のHTMLソースの一例を示す図である。 Java(登録商標)Script実行後のHTMLソースの一例を示す図である。 イベント通知用Java(登録商標)Scriptの一例を示す図である。 変換イベント情報の一例を示す図である。 第2の実施の形態におけるスクリプトによるサーバアクセス履歴の一例を示す図である。 第2の実施の形態におけるJava(登録商標)Script関数を伴う場合のページ履歴の一例を示す図である。 第2の実施形態におけるLog情報DBの一例を示す図である。 リクエストとして送信されるURLの一例を示す図であり、(a)はページ(文書)要求URLを示し、(b)は問題点報告URLを示し、(c)は転送URLを示す。
符号の説明
100 クライアント端末
101 Webブラウザ
200,600 中継サーバ
201 クライアント通信装置
202 中継制御部
203 サーバ通信装置
204 ページ更新部
205 要求ID付与部
206 サーバログ構成情報
207 サーバアクセス履歴
208 ページ履歴
209 Log情報DB
210 Log情報収集部
211 ユーザ特定部
212 スクリプト実行部
300 テスト対象サーバ
301 Webサーバ
301 サーバログ

Claims (10)

  1. クライアントとサーバとの間に接続可能な情報収集装置において、
    前記クライアントから送信されたページ要求を前記サーバに転送する第1の転送手段と、
    前記転送されたページ要求ごとに識別子を生成する識別子生成手段と、
    前記転送されたページ要求に応じて前記サーバから送信された応答ページに、前記識別子を送信する機能を付加して前記クライアントに転送する第2の転送手段と、
    前記ページ要求及び前記応答ページに関する前記サーバとの通信時刻を前記識別子と共に記録する第1の記録手段と、
    前記クライアントに転送した応答ページを記録する第2の記録手段と、
    前記機能により前記クライアントから送信された識別子に基づいて前記第1の記録手段に記録された通信時刻を特定して、当該通信時刻における前記サーバの動作情報を取得する取得手段と、
    前記サーバの動作情報と前記クライアントに転送した応答ページとを関連付けて収集する収集手段とを備えることを特徴とする情報収集装置。
  2. 前記クライアントに転送する応答ページ中のイベントハンドラによって起動されるスクリプトをイベント通知に変換する変換手段と、
    前記イベント通知を受信してスクリプトを実行するスクリプト実行手段と、
    前記スクリプト実行手段によるスクリプト実行結果を前記クライアントに送出する送出手段とを更に備えることを特徴とする請求項1記載の情報収集装置。
  3. 前記スクリプト実行手段は、前記サーバにデータ取得要求を行うデータ取得要求手段を備え、
    前記情報収集装置は、前記データ取得要求手段により取得した結果から前記スクリプトの実行による前記サーバとの通信時刻を前記識別子と共に記録する第3の記録手段を更に備えることを特徴とする請求項2記載の情報収集装置。
  4. 前記クライアントから送信されたページ要求から要求したユーザを識別する識別情報を抽出する抽出手段と、
    前記識別情報と共に、前記識別子と前記サーバとの通信時刻を記録する第4の記録手段とを備え、
    前記取得手段は、前記識別情報に基づいてユーザを特定し、当該ユーザの一連のアクセス履歴から前記サーバとの通信時刻を特定し、当該通信時刻における前記サーバの動作情報を取得することを特徴とする請求項1乃至3のいずれか1項に記載の情報収集装置。
  5. クライアントとサーバとの間に接続可能な情報収集装置の情報収集方法において、
    前記クライアントから送信されたページ要求を前記サーバに転送する第1の転送工程と、
    前記転送されたページ要求ごとに識別子を生成する識別子生成工程と、
    前記転送されたページ要求に応じて前記サーバから送信された応答ページに、前記識別子を送信する機能を付加して前記クライアントに転送する第2の転送工程と、
    前記ページ要求及び前記応答ページに関する前記サーバとの通信時刻を前記識別子と共に記録手段に記録する第1の記録工程と、
    前記クライアントに転送した応答ページを前記記録手段に記録する第2の記録工程と、
    前記機能により前記クライアントから送信された識別子に基づいて前記記録手段に記録された通信時刻を特定して、当該通信時刻における前記サーバの動作情報を取得する取得工程と、
    前記サーバの動作情報と前記クライアントに転送した応答ページとを関連付けて収集する収集工程とを備えることを特徴とする情報収集方法。
  6. 前記クライアントに転送する応答ページ中のイベントハンドラによって起動されるスクリプトをイベント通知に変換する変換工程と、
    前記イベント通知を受信してスクリプトを実行するスクリプト実行工程と、
    前記スクリプト実行工程によるスクリプト実行結果を前記クライアントに送出する送出工程とを更に備えることを特徴とする請求項5記載の情報収集方法。
  7. 前記サーバにデータ取得要求を行うデータ取得要求工程と、
    前記データ取得要求工程にて取得した結果から前記スクリプトの実行による前記サーバとの通信時刻を前記識別子と共に前記記録手段に記録する第3の記録工程とを更に備えることを特徴とする請求項6記載の情報収集方法。
  8. 前記クライアントから送信されたページ要求から要求したユーザを識別する識別情報を抽出する抽出工程と、
    前記識別情報と共に、前記識別子と前記サーバとの通信時刻を記録する第4の記録工程と、
    前記識別情報に基づいてユーザを特定し、当該ユーザの一連のアクセス履歴から前記サーバとの通信時刻を特定し、当該通信時刻における前記サーバの動作情報を取得する他の取得工程とを更に備えることを特徴とする請求項5乃至7のいずれか1項に記載の情報収集方法。
  9. クライアントと、サーバと、前記クライアントと前記サーバに接続された中継装置とで構成される情報収集システムにおいて、
    前記中継装置は、前記クライアントから送信されたページ要求を前記サーバに転送する第1の転送手段と、
    前記転送されたページ要求ごとに識別子を生成する識別子生成手段と、
    前記転送されたページ要求に応じて前記サーバから送信された応答ページに、前記識別子を送信する機能を付加して前記クライアントに転送する第2の転送手段と、
    前記ページ要求及び前記応答ページに関する前記サーバとの通信時刻を前記識別子と共に記録する第1の記録手段と、
    前記クライアントに転送した応答ページを記録する第2の記録手段と、
    前記機能により前記クライアントから送信された識別子に基づいて前記第1の記録手段に記録された通信時刻を特定して、当該通信時刻における前記サーバの動作情報を取得する取得手段と、
    前記サーバの動作情報と前記クライアントに転送した応答ページとを関連付けて収集する収集手段とを備えることを特徴とする情報収集システム。
  10. 請求項5乃至8のいずれか1項に記載の情報収集方法をコンピュータに実行させるためのコンピュータに読み取り可能なプログラム。
JP2006226723A 2006-08-23 2006-08-23 情報収集装置及び方法、プログラム、並びに情報収集システム Pending JP2008052435A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006226723A JP2008052435A (ja) 2006-08-23 2006-08-23 情報収集装置及び方法、プログラム、並びに情報収集システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006226723A JP2008052435A (ja) 2006-08-23 2006-08-23 情報収集装置及び方法、プログラム、並びに情報収集システム

Publications (1)

Publication Number Publication Date
JP2008052435A true JP2008052435A (ja) 2008-03-06

Family

ID=39236442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006226723A Pending JP2008052435A (ja) 2006-08-23 2006-08-23 情報収集装置及び方法、プログラム、並びに情報収集システム

Country Status (1)

Country Link
JP (1) JP2008052435A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010033456A (ja) * 2008-07-30 2010-02-12 Hitachi Ltd 計算機システム、情報収集支援装置及び情報収集支援方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010033456A (ja) * 2008-07-30 2010-02-12 Hitachi Ltd 計算機システム、情報収集支援装置及び情報収集支援方法

Similar Documents

Publication Publication Date Title
JP5325169B2 (ja) ウェブアプリケーションの操作再現方法およびシステム
JP5695027B2 (ja) Ajaxウェブページコンテンツを取得する方法およびシステム
WO2019196498A1 (zh) 页面数据采集的方法、装置、服务器、电子设备及计算机可读介质
JP5476326B2 (ja) ウェブ操作記録・再現方法および装置
JP2011070640A (ja) デスクトップ・アプリケーションをウェブ・アプリケーションに変換する方法とシステム
US7441010B2 (en) Method and system for determining the availability of in-line resources within requested web pages
JP5483965B2 (ja) ウェブアプリケーションの操作記録・再生方法およびシステム
JP2012190219A (ja) 情報処理装置、およびトレースログ取得方法
JP5560180B2 (ja) 稼働ログ収集方法および装置
JP2009515244A (ja) データ管理及びデータ・レンダリング用ユーザ・インターフェースを動的に作成する方法、システム、及びコンピュータ・プログラム(データ管理及びデータ・レンダリング用ユーザ・インターフェースの動的作成)
US20090006580A1 (en) Server system, method of controlling operation thereof and control program therefor
CN106951270B (zh) 一种代码处理方法、系统及服务器
WO2013175560A1 (ja) 情報通信システム及び情報変換方法
JP2008293152A (ja) Webシステムの連携方法および装置
JP4507206B2 (ja) インターネット情報収集装置、プログラム及び方法
JP2010170453A (ja) 静的Webサイト構築方法及び静的Webサイト構築サービス提供方法及び動的/静的変換処理装置及び動的/静的変換処理プログラム
JP2010146483A (ja) 操作支援システム、操作支援方法および操作支援プログラム
JP2011039668A (ja) Webページの表示方法、計算機システム及びプログラム
CN111680247B (zh) 网页字符串的本地调用方法、装置、设备及存储介质
JP2008052435A (ja) 情報収集装置及び方法、プログラム、並びに情報収集システム
JP5379911B2 (ja) 動作検証装置、動作検証方法および動作検証プログラム
JP3725087B2 (ja) 知識情報収集システムおよび知識情報収集方法
JP4846031B2 (ja) 動作検証システム
JP2006048144A (ja) 自動巡回装置,クライアント端末および自動巡回方法
CN112835793B (zh) 一种网页调试方法及装置