(57)【要約】【課題】通信を再現に係る時間を短くすることが可能な中継サーバ、中継プログラム及び中継方法を提供することを目的としている。【解決手段】ウェブブラウザへの入力操作に係る通信記録を通知させるスクリプトが埋め込まれたレスポンスデータを前記ウェブブラウザへ送信するプロキシ部と、前記ウェブブラウザからの通知に応じて、ウェブサーバと前記ウェブブラウザ間の通信記録が格納された通信記録記憶部から通信記録を抽出する通信抽出部と、を有する。【選択図】図５
2013196396.tif 000002
【特許請求の範囲】
【請求項１】
ウェブブラウザへの入力操作に係る通信記録を通知させるスクリプトが埋め込まれたレスポンスデータを前記ウェブブラウザへ送信するプロキシ部と、
前記ウェブブラウザからの通知に応じて、ウェブサーバと前記ウェブブラウザ間の通信記録が格納された通信記録記憶部から通信記録を抽出する通信抽出部と、を有する中継サーバ。
【請求項２】
前記スクリプトは、
前記ウェブブラウザに、
前記ウェブブラウザの表示の階層構造において、入力操作がされた階層から最上位の階層までに含まれるＵＲＬ値を当該中継サーバへ通知する処理と、
前記階層構造における階層毎に入力操作が行われたか否かを監視する処理と、を実行させる請求項１記載の中継サーバ。
【請求項３】
前記ウェブブラウザから通知された前記ＵＲＬ値を受信するＵＲＬ通知受信部と、
受信された前記ＵＲＬ値を格納するＵＲＬ記録部と、を有し、
前記通信抽出部は、
前記通信記録記憶部おいて、前記ＵＲＬ記録部に格納されたＵＲＬ値を含む通信記録を抽出する請求項１又は２記載の中継サーバ。
【請求項４】
コンピュータに、
ウェブブラウザへの入力操作に係る通信記録を通知させるスクリプトが埋め込まれたレスポンスデータを前記ウェブブラウザへ送信する処理と、
前記ウェブブラウザからの通知に応じて、ウェブサーバと前記ウェブブラウザ間の通信記録が格納された通信記録記憶部から通信記録を抽出する処理と、を実行させるための中継プログラム。
【請求項５】
コンピュータが、
前記ウェブブラウザへの入力操作に係る通信記録を通知させるスクリプトが埋め込まれたレスポンスデータを前記ウェブブラウザへ送信し、
前記ウェブブラウザからの通知に応じて、ウェブサーバと前記ウェブブラウザ間の通信記録が格納された通信記録記憶部から通信記録を抽出する中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブサーバとウェブブラウザとの間の通信を中継する中継サーバ、中継プログラム及び中継方法に関する。
【背景技術】
【０００２】
コンピュータシステムにおいて、ユーザの操作などの動作履歴をもとに、システムの動作を再現する技術が開示されている。
【０００３】
ウェブシステムにおいても、ユーザの操作を再現する技術がある。ウェブシステムでは、ウェブサーバが、ウェブブラウザでの操作のもと、当該ウェブブラウザとの間でＨＴＴ
Ｐ（Hyper Text Transfer Protocol）でデータのやりとりをして、該当するサービスを提供する。この際、ウェブサーバとウェブブラウザとの間に、データを中継する中継サーバが設置される場合がある。
【０００４】
中継サーバは、ウェブサーバとウェブブラウザとの間の通信メッセージの履歴を通信記録として、記録した通信履歴を用いて通信を再現する。これにより、ユーザがウェブサーバへの操作を再現したい場合に、ウェブブラウザでのウェブサーバへの操作を再び行う代わりに、中継サーバが通信履歴を用いて通信を再現することで自動的に該当するサービスへの操作を再現できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−８４８３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の技術では、例えば操作を再現する差異に用いる通信記録に、ユーザの操作と無関係な通信記録が含まれている場合がある。この場合には、中継サーバは、不要な通信まで再現するため、通信の再現に時間がかかる。
【０００７】
開示の技術は、通信を再現に係る時間を短くすることが可能な中継サーバ、中継プログラム及び中継方法を提供することを目的としている。
【課題を解決するための手段】
【０００８】
開示の技術の一態様によれば、ウェブブラウザへの入力操作に係る通信記録を通知させるスクリプトが埋め込まれたレスポンスデータを前記ウェブブラウザへ送信するプロキシ部と、前記ウェブブラウザからの通知に応じて、ウェブサーバと前記ウェブブラウザ間の通信記録が格納された通信記録記憶部から通信記録を抽出する通信抽出部と、を有する。
【０００９】
上記各部を手順としてコンピュータにより実行させる方法、上記各部を機能としてコンピュータに実行させるためのプログラム、そのプログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
【発明の効果】
【００１０】
開示の技術によれば、通信を再現に係る時間を短くできる。
【図面の簡単な説明】
【００１１】
【図１】本実施例の概要を説明する図である。
【図２】ウェブ中継システムの構成例を示す図である。
【図３】中継サーバのハードウェアの構成例を示す図である。
【図４】中継サーバの機能構成を説明する図である。
【図５】ウェブ中継システムの動作を説明する図である。
【図６】ＵＲＬ通知スクリプト埋込部の処理を説明する図である。
【図７】ＵＲＬ通知スクリプトファイルの例を示す図である。
【図８】ＵＲＬ通知スクリプトを埋め込む位置を説明する図である。
【図９】ＨＴＭＬファイルがウェブブラウザに解釈された場合のウェブブラウザの動作を説明する図である。
【図１０】ウェブブラウザによるＵＲＬ値の通知の処理を説明するフローチャートである。
【図１１】ＵＲＬ値の通知の処理を説明する図である。
【図１２】ウェブブラウザがＵＲＬ値を中継サーバへ通知する例を示す図である。
【図１３】ＵＲＬ記録データベースの一例を示す図である。
【図１４】通信抽出部の処理を説明する図である。
【図１５】通信抽出部による通信記録の抽出の処理を説明するフローチャートである。
【図１６】通信記録の一例を示す図である。
【図１７】レスポンスデータにＵＲＬ通知スクリプトが埋め込まれた例を示す図である
【図１８】通信記録を抽出する例を示す図である。
【発明を実施するための形態】
【００１２】
以下に図１を参照して本実施例の概要について説明する。図１は、本実施例の概要を説明する図である。
【００１３】
本実施例では、ウェブサーバとウェブブラウザとの間の通信を再現する際に、ウェブブラウザにおけるユーザの操作と関係した通信を再現し、ユーザの操作と無関係な通信の再現を省略する。
【００１４】
例えば図１（Ａ）はウェブブラウザに表示される画面構成の例であり、図１（Ｂ）はウェブブラウザにおける表示内容の階層構造（ＤＯＭ；Document Object Model）の例である。画面１１には、入力欄１２、１３と、操作ボタン１４と、例えば画像を含む広告欄１５が表示される。図１の例では、例えば入力欄１２、１３はユーザ情報の入力欄とし、操作ボタン１４はログインボタンとした。
【００１５】
画面１１を表示させるｂｏｄｙ要素１６には、要素１７と要素１８とが含まれる。要素１７は、入力欄１２、１３と、操作ボタン１４とを表示させる。要素１８は、広告欄１５を表示させる。
【００１６】
すなわちｂｏｄｙ要素１６のうち要素１７はユーザの操作と関係する部分であり、要素１８はユーザの操作と無関係な部分と言える。そこで本実施例では、ウェブサーバとウェブブラウザとの間の通信履歴を中継サーバにより再現する際に、ユーザの操作と関係する部分の通信を抽出して再現する。
【００１７】
具体的には本実施例では、中継サーバがウェブサーバから受け取ったウェブページに、ユーザの入力があったＵＲＬ（Uniform Resource Locator）を通知するスクリプトを埋め込む。そして中継サーバは、ウェブブラウザ側においてスクリプトが実行され、ユーザの入力があったＵＲＬの通知を受けると、通知されたＵＲＬを含む通信履歴から再現モジュールを生成する。
【００１８】
以下に図面を参照して本実施例のウェブ中継システム１００について説明する。図２は、ウェブ中継システムの構成例を示す図である。
【００１９】
本実施例のウェブ中継システム１００は、ウェブブラウザ１１０と、ウェブサーバ１２０と、中継サーバ２００とを有する。中継サーバ２００は、ウェブブラウザ１１０とウェブサーバ１２０との間の通信を中継する。ウェブブラウザ１１０は、ウェブサービスを利用するパーソナルコンピュータなどのユーザ端末である。ウェブサーバ１２０は、ウェブサービスを実施する。尚ウェブ中継システム１００では、ウェブサーバ１２０を中継サーバ２００及びウェブブラウザ１１０と同一のネットワーク上に適用した場合であっても良いし、ウェブサーバ１２０を外部装置として異なるネットワーク上に適用した場合であっても良い。
【００２０】
本実施例では、ウェブブラウザ１１０からリクエストデータが送信されると、中継サーバ２００がリクエストデータをウェブサーバ１２０へ転送する。ウェブサーバ１２０は、リクエストデータを受けて、サービスを提供するためのレスポンスデータを中継サーバ２００へ転送する。中継サーバ２００は、このレスポンスデータをウェブブラウザ１１０へ送信する。
【００２１】
図３は、中継サーバのハードウェアの構成例を示す図である。本実施例の中継サーバ２００は、それぞれバスＢで相互に接続されている入力装置２１、出力装置２２、ドライブ装置２３、補助記憶装置２４、メモリ装置２５、演算処理装置２６及びインターフェース装置２７で構成される。
【００２２】
入力装置２１はキーボードやマウスなどで構成され、各種信号を入力するために用いられる。出力装置２２はディスプレイ装置などで構成され、各種ウインドウやデータ等を表示するために用いられる。インターフェース装置２７は、モデム，ＬＡＮ（Local Area Network）カードなどで構成されており、ネットワークに接続する為に用いられる。
【００２３】
本発明の中継プログラムは、中継サーバ２００を制御する各種プログラムの少なくとも一部である。中継プログラムは例えば記録媒体２８の配布やネットワークからのダウンロードなどによって提供される。中継プログラムを記録した記録媒体２８は、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００２４】
また、中継プログラムを記録した記録媒体２８がドライブ装置２３にセットされると、中継プログラムは記録媒体２８からドライブ装置２３を介して補助記憶装置２４にインストールされる。ネットワークからダウンロードされた中継プログラムは、インターフェース装置２７を介して補助記憶装置２４にインストールされる。
【００２５】
中継サーバ２００は、インストールされた中継プログラムを格納すると共に、必要なファイル、データ等を格納する。メモリ装置２５は、コンピュータの起動時に補助記憶装置２４から中継プログラムを読み出して格納する。そして、演算処理装置２６はメモリ装置２５に格納された中継プログラムに従って、後述するような各種処理を実現している。
【００２６】
以下に図４を参照して本実施例の中継サーバ２００の機能構成を説明する。図４は、中継サーバの機能構成を説明する図である。
【００２７】
本実施例の中継サーバ２００は、プロキシ部２１０、ＵＲＬ通知受信部２２０、通信抽出部２３０、再現モジュール生成部２４０、通信記録データベース２５０、ＵＲＬ記録データベース２６０を有する。
【００２８】
本実施例のプロキシ部２１０は、ウェブブラウザ１１０が行う一連の操作に関わるウェブブラウザ１１０及びウェブサーバ１２０間の通信の履歴を通信記録として通信記録データベース２５０に記録する。また本実施例のプロキシ部２１０は、ＵＲＬ通知スクリプト埋込部２１１と、スクリプト記憶部２１２とを有する。ＵＲＬ通知スクリプト埋込部２１１は、ウェブサーバ１２０から受信するレスポンスデータに、スクリプト記憶部２１２に記憶されたＵＲＬ通知スクリプトファイルを埋め込む。スクリプト記憶部２１２はＵＲＬ通知スクリプトファイルが予め格納されている。本実施例のＵＲＬ通知スクリプトファイルに定義されたスクリプトは、ユーザの入力操作がされた階層から最上位の階層までにある全てのＵＲＬを中継サーバ２００に通知させる処理をウェブブラウザ１１０に実行させる。ＵＲＬ通知スクリプト埋込部２１１とＵＲＬ通知スクリプトファイルの詳細は後述する。
【００２９】
ＵＲＬ通知受信部２２０は、レスポンスデータに埋め込まれたＵＲＬ通知スクリプトから通知されたＵＲＬを受信し、ＵＲＬ記録データベース３６０に格納する。
【００３０】
通信抽出部２３０は、通信記録データベース２５０に記録された通信記録のうち、ＵＲＬ記録データベースに格納されたＵＲＬを含む通信記録を抽出する。すなわち本実施例の通信抽出部２３０は、通信記録データベース２５０に記録された通信記録から、ユーザの入力操作に関係する通信を特定し、抽出する。
【００３１】
再現モジュール生成部２４０は、通信抽出部２３０により抽出された通信記録に基づき、通信を再現する再現モジュール２４１を生成する。再現モジュール２４１は、通信抽出部２３０により抽出された通信記録に基づき、ウェブブラウザ１１０とウェブサーバ１２０との間の通信を再現する。
【００３２】
次に図５を参照して本実施例のウェブ中継システム１００の動作を説明する。図５は、ウェブ中継システムの動作を説明する図である。図５では、ユーザがウェブサービスへのログインを行う場合を例として説明する。
【００３３】
本実施のウェブ中継システム１００において、ユーザがウェブブラウザ１１０に表示されたログイン画面にアクセスし、ログイン操作を行うと、ウェブブラウザ１１０は中継サーバ２００へログインに関するリクエストデータを送信する（ステップＳ５１）。中継サーバ２００は、プロキシ部２１０により、受信したリクエストデータをウェブサーバ１２０へ転送する（ステップＳ５２）。
【００３４】
ウェブサーバ１２０は、リクエストデータを受けると、これに応答したレスポンスデータを中継サーバ２００へ送信する（ステップＳ５３）。レスポンスデータを受信すると、ＵＲＬ通知スクリプト埋込部２１１は、スクリプト記憶部２１２からＵＲＬ通知スクリプトを定義したＵＲＬ通知スクリプトファイルを読み出し、ＵＲＬ通知スクリプトをレスポンスデータに埋め込む（ステップＳ５４）。
【００３５】
中継サーバ２００において、プロキシ部２１０は、ＵＲＬ通知スクリプトが埋め込まれたレスポンスデータをウェブブラウザ１１０へ転送する（ステップＳ５５）。中継サーバ２００においてプロキシ部２１０は、中継サーバ２００が転送したリクエストデータと、ＵＲＬ通知スクリプトを埋め込む前のレスポンスデータとを通信記録として通信記録データベース２５０に格納する（ステップＳ５６）。尚本実施例のプロキシ部２１０は、リクエストデータと、それに応答したレスポンスデータとを対応付けて、１つの通信記録として通信記録データベース２５０に格納する。
【００３６】
続いてウェブブラウザ１１０においてＵＲＬ通知スクリプトが解釈されると、ＵＲＬ通知スクリプトは、ウェブブラウザ１１０の表示内容の階層構造（ＤＯＭ）においてユーザが操作した階層から最上位の階層に含まれる全てのＵＲＬを中継サーバ２００へ通知する処理を実行させる（ステップＳ５７）。ＵＲＬ通知受信部２２０は、通知されたＵＲＬをＵＲＬ記録データベース２６０かへ格納する（ステップＳ５８）。
【００３７】
中継サーバ２００は、ウェブブラウザ１１０から通信の再現指示を受けると、通信抽出部２３０により、ＵＲＬ記録データベース２６０を参照する（ステップＳ５９）。そして通信抽出部２３０は、通信記録データベース２５０からＵＲＬ記録データベース２６０に格納されたＵＲＬを含む通信記録を抽出する（ステップＳ６０）。
【００３８】
通信抽出部２３０は、抽出した通信記録を再現モジュール生成部２４０に渡す（ステップＳ６１）。再現モジュール生成部２４０は、渡された通信記録を再現する再現モジュール２４１を生成し、通信を再現する（ステップＳ６２）。
【００３９】
以下に本実施例の中継サーバ２００の各部の処理についてさらに説明する。図６は、ＵＲＬ通知スクリプト埋込部の処理を説明する図である。
【００４０】
本実施例のＵＲＬ通知スクリプト埋込部２１１は、ウェブサーバ１２０からレスポンスデータとして、ＨＴＭＬ（HyperText Markup Language）ファイルを受信したとき、ＨＴＭＬファイルにＵＲＬ通知スクリプトＳｃを埋め込む。ＵＲＬ通知スクリプトＳｃは、スクリプト記憶部２１２に予め格納されたＵＲＬ通知スクリプトファイルＳにおいて定義されたスクリプトである。
【００４１】
図６では、ＵＲＬ通知スクリプト埋込部２１１がウェブサーバ１２０からＨＴＭＬファイル６０を受け取った例を示している。
【００４２】
この場合ＵＲＬ通知スクリプト埋込部２１１は、ＨＴＭＬファイル６０の所定の位置にスクリプト記憶部２１２に記憶されたＵＲＬ通知スクリプトＳｃを埋め込み、ＨＴＭＬファイル６１とする。ＵＲＬ通知スクリプトＳｃを埋め込む位置の詳細は後述する。
【００４３】
中継サーバ２００のプロキシ部２１０は、ＵＲＬ通知スクリプトＳｃが埋め込まれたＨＴＭＬファイル６１をウェブサーバ１２０からのレスポンスデータとして、ウェブブラウザ１１０へ転送する。
【００４４】
以下に図７を参照して、ＵＲＬ通知スクリプトＳｃを定義したスクリプトファイルＳについて説明する。図７は、ＵＲＬ通知スクリプトファイルの例を示す図である。
【００４５】
本実施例のＵＲＬ通知スクリプトファイルＳは、予め作成されてスクリプト記憶部２１２に格納されている。
【００４６】
本実施例のＵＲＬ通知スクリプトファイルＳには、処理定義Ｓｃ１と処理定義Ｓｃ２とが含まれる。処理定義Ｓｃ１は、ＤＯＭを元に、ウェブブラウザ１１０の表示内容において入力操作された階層から、最上位の階層までにある全てのＵＲＬ値を取り出して中継サーバ２００へ通知する処理を定義したものである。
【００４７】
処理定義Ｓｃ２は、ウェブブラウザ１１０の表示内容の各階毎にユーザの入力操作が行われたか否かを監視する処理を定義したものである。
【００４８】
図８は、ＵＲＬ通知スクリプトを埋め込む位置を説明する図である。図８（Ａ）は、ＵＲＬ通知スクリプトをＨＴＭＬファイルの最後に埋め込む例を示しており、図８（Ｂ）は所定時間毎に更新されるＵＲＬ通知スクリプトを例を示している。
【００４９】
図８（Ａ）に示すＨＴＭＬファイル８１では、ＵＲＬ通知スクリプトＳｃが＜/body＞タグの直前に埋め込まれている。したがってＵＲＬ通知スクリプトＳｃは、ＨＴＭＬファイル８１に含まれる他のスクリプトよりも後にウェブブラウザに解釈される。またＵＲＬ通知スクリプトＳｃは、ユーザによる入力操作が行われる前に解釈されるため、ＨＴＭＬファイル８１で示されるページ全体に対してユーザの入力操作が行われたか否かを監視できる。
【００５０】
図８（Ｂ）は、ＵＲＬ通知スクリプトＳｃが、処理定義Ｓｃ１に定義された処理と、処理定義Ｓｃ２に定義された処理と、所定時間毎に自身をウェブブラウザ１１０に解釈させる処理とを含む場合を示している。したがってＵＲＬ通知スクリプトＳｃは、ＨＴＭＬファイル８２に含まれる他のスクリプトよりも後にＵＲＬ通知スクリプトＳｃをウェブブラウザ１１０に解釈させることができる。またＵＲＬ通知スクリプトＳｃは、ユーザによる入力操作が行われる前に解釈されるため、ＨＴＭＬファイル８２で示されるページ全体に対してユーザの入力操作が行われたか否かを監視できる。したがって図８（Ｂ）の例では、ＵＲＬ通知スクリプトＳｃをＨＴＭＬファイル８２の任意の位置に埋め込むことができる。
【００５１】
本実施例のＵＲＬ通知スクリプト埋込部２１１は、例えばＵＲＬ通知スクリプトＳｃをウェブサーバ１２０から受け取ったＨＴＭＬファイルの＜/body＞タグの直前に埋め込むように設定されていても良い。またＵＲＬ通知スクリプト埋込部２１１は、ＨＴＭＬファイルの任意の位置にＵＲＬ通知スクリプトＳａを埋め込むように設定されていても良い。本実施例のＵＲＬ通知スクリプト埋込部２１１は、設定に応じてＨＴＭＬファイルにＵＲＬ通知スクリプトを埋め込む。
【００５２】
次に、ＵＲＬ通知スクリプトＳｃが埋め込まれたＨＴＭＬファイルがウェブブラウザ１１０に解釈された場合のウェブブラウザ１１０の動作について説明する。
【００５３】
図９は、ＨＴＭＬファイルがウェブブラウザに解釈された場合のウェブブラウザの動作を説明する図である。
【００５４】
本実施例では、中継サーバ２００から転送されたＨＴＭＬファイルがウェブブラウザ１１０に読み込まれると、ＨＴＭＬファイルに埋め込まれたＵＲＬ通知スクリプトＳｃがウェブブラウザ１１０に解釈される。ＵＲＬ通知スクリプトＳｃが解釈されると、ウェブブラウザ１１０は、処理定義Ｓｃ１で定義される処理と、処理定義Ｓｃ２で定義される処理とを実行する。
【００５５】
すなわちウェブブラウザ１１０は、表示された画面においてユーザの入力操作が行われたか否かを監視し、ユーザの入力操作が行われた階層から最上位の階層に含まれるＵＲＬ値を中継サーバ２００へ通知する。中継サーバ２００は、ＵＲＬ通知受信部２２０により通知を受信し、受信したＵＲＬ値をＵＲＬ記録データベース２６０へ格納する。
【００５６】
以下に図１０を参照して本実施例におけるＵＲＬ値の通知の処理について説明する。図１０は、ウェブブラウザによるＵＲＬの通知の処理を説明するフローチャートである。
【００５７】
ウェブブラウザ１１０は、ユーザからの入力操作を検知すると（ステップＳ１０１）、選択されたＤＯＭ上のノードの属性の中にＵＲＬ値が含まれるか否かを判断する（ステップＳ１０２）。ステップＳ１０２においてＵＲＬ値が含まれる場合、ウェブブラウザ１１０はこのＵＲＬ値を中継サーバ２００へ通知する（ステップＳ１０３）。尚ステップＳ１０１において入力操作を検知しない場合と、ウェブブラウザ１１０はＵＲＬ値の通知の処理を終了する。またステップＳ１０２でＵＲＬ値が含まれない場合、ステップＳ１０４へ進む。
【００５８】
ステップＳ１０３に続いてウェブブラウザ１１０は、ＤＯＭ上の現在のノードに親ノードがあるか否かを判断する（ステップＳ１０４）。ステップＳ１０４において親ノードが存在する場合、ウェブブラウザ１１０は親ノードを現在のノードとし（ステップＳ１０５）、ステップＳ１０２へ戻る。ステップＳ１０４において親ノードが存在しない場合、ＵＲＬ値の通知の処理を終了する。
【００５９】
図１１を参照してＵＲＬの通知の処理を具体的に説明する。図１１は、ＵＲＬ値の通知の処理を説明する図である。
【００６０】
図１１では、ウェブブラウザ１１０に表示されたユーザのログインに関する入力操作が行われるトップ画面１１１において、ユーザがＩＤ欄１１２をマウス等で選択した場合を説明する。この場合、ウェブブラウザ１１０は、ＩＤ欄１１２に対応するＤＯＭ上のノードの属性値にＵＲＬ値が含まれるか否かを判断する。図１１の例では、ＩＤ欄１１２に対応するＤＯＭ上のノードの属性値にＵＲＬ値であるＵＲＬ１が含まれる。よってウェブブラウザ１１０は中継サーバ２００へＵＲＬ１を通知する。
【００６１】
続いてウェブブラウザ１１０は、ＤＯＭ上の現在のノードの親ノードを現在のノードとし、ノードの属性値にＵＲＬが含まれるか否かを判断し、ＵＲＬが含まれる場合は中継サーバ２００へ通知する。図１１の例では、ウェブブラウザ１１０はＵＲＬ値であるＵＲＬ２も中継サーバ２００へ通知する。
【００６２】
本実施例では、現在のノードの親ノードがなくなるまでこの処理を行うことで、ＤＯＭ上のノードから全ての祖先のノードに含まれるＵＲＬ値を中継サーバ２００に通知できる。すなわちウェブブラウザ１１０は、ユーザの入力操作に関連した通信に含まれるＵＲＬ値を全て中継サーバ２００へ通知する。
【００６３】
図１２は、ウェブブラウザがＵＲＬ値を中継サーバへ通知する例を示す図である。図１２の例では、図１１に示すＵＲＬ１とＵＲＬ２とが中継サーバ２００へ通知される。中継サーバ２００では、ＵＲＬ通知受信部２２０がこの通知を受けてＵＲＬ１とＵＲＬ２をＵＲＬ値としてＵＲＬ記録データベース２６０へ格納する。
【００６４】
図１３は、ＵＲＬ記録データベースの一例を示す図である。ＵＲＬ記録データベース２６０には、ＵＲＬ通知受信部２２０が通知されたＵＲＬ値が格納されている。図１３の例では、ＵＲＬ記録データベース２６０には、図１１，１２に示したＵＲＬ１、ＵＲＬ２に加えてＵＲＬ３が格納されている。
【００６５】
次に本実施例の中継サーバ２００の通信抽出部２３０の処理を説明する。図１４は、通信抽出部の処理を説明する図である。
【００６６】
本実施例の通信抽出部２３０は、通信記録データベース２５０に格納された通信記録から、ＵＲＬ記録データベース２６０に格納されたＵＲＬ値を含む通信記録を抽出する。抽出された通信記録は、再現モジュール生成部２４０へ渡される。再現モジュール生成部２４０は、渡された通信記録に基づき通信を再現する。
【００６７】
図１５は、通信抽出部による通信記録の抽出の処理を説明するフローチャートである。
【００６８】
本実施例の通信抽出部２３０は、通信記録データベース２５０から通信記録の配列Ｒ［ｎ］を取得する（ステップＳ１５０１）。ここでは、ｎは記録した通信記録の個数を指す。そして通信抽出部２３０は、出力用の通信記録の集合Ｓを用意する（ステップＳ１５０２）。
【００６９】
続いて通信抽出部２３０は、配列の添え字を示すインデックスｉに初期値０を設定する（ステップＳ１５０３）。そして通信抽出部２３０は、変数ｒに通信記録の配列Ｒ［ｉ］を設定する（ステップＳ１５０４）。
【００７０】
次に通信抽出部２３０は、変数ｒに設定された通信記録に含まれるＵＲＬ値がＵＲＬ記録データベース２６０に存在するか否かを判断する（ステップＳ１５０５）。ステップＳ１５０５においてＵＲＬ値が存在する場合、通信抽出部２３０は、操作を再現する通信として、集合Ｓに変数ｒを追加する（ステップＳ１５０６）。ステップＳ１５０５においてＵＲＬ値が存在しない場合、通信抽出部２３０は、インデックスｉに１を加算する（ステップＳ１５０７）。
【００７１】
続いて通信抽出部２３０は、インデックスｉがｎ−１より大きいか否かを判定する（ステップＳ１１５０８）。ステップＳ１５０８においてインデックスｉがｎ−１より大きくないと判定した場合、通信抽出部２３０は、次の通信記録を判定すべく、ステップＳ１５０４に移行する。
【００７２】
ステップＳ１５０８においてインデックスｉがｎ−１より大きいと判定した場合、通信抽出部２３０は、集合Ｓを再現モジュール生成部２４０に出力する（ステップＳ１５０９）。そして通信抽出部２３０は、処理を終了する。
【００７３】
以下に通信記録の具体例を用いて本実施例のウェブ中継システム１００の動作を説明する。
【００７４】
図１６は、通信記録の一例を示す図である。図１６では、トップ画面１１１をウェブブラウザ１１０に表示させるために、ウェブブラウザ１１０から中継サーバ２００へ送信されるリクエストデータと、リクエストデータに対応してウェブサーバ１２０から中継サーバ２００へ送信されるレスポンスデータとを示す。
【００７５】
本実施例の中継サーバ２００は、ウェブブラウザ１１０からリクエストデータ１６１を受信すると、リクエストデータ１６１をウェブサーバ１２０へ転送する。また中継サーバ２００は、リクエストデータ１６１に応答してレスポンスデータ１６２をウェブサーバ１２０から受信する。中継サーバ２００は、レスポンスデータ１６２の形式がＨＴＭＬファイルであった場合、ＵＲＬ通知スクリプト埋込部２１１によりレスポンスデータ１６２にＵＲＬ通知スクリプトＳｃを埋め込み、ウェブブラウザ１１０へ転送する。
【００７６】
本実施例の中継サーバ２００は、リクエストデータ１６１と、リクエストデータ１６１に対応するレスポンスデータ１６２とを１つの通信記録１７１として、通信記録データベース２５０へ格納する。
【００７７】
中継サーバ２００は、リクエストデータ１６３、１６５と、レスポンスデータ１６４、１６６に対しても同様の処理を行い、通信記録１７２、１７３として通信記録データベース２５０へ格納する。
【００７８】
図１６では、ウェブブラウザ１１０にレスポンスデータ１６２、１６４、１６６が転送されると、図１１に示すトップ画面１１１がウェブブラウザ１１０に表示される。
【００７９】
ウェブブラウザ１１０は、トップ画面１１１において、ログインボタンが押されると、リクエストデータ１６７を中継サーバ２００へ送信する。中継サーバ２００は、リクエストデータ１６７とリクエストデータ１６７に対応したレスポンスデータ１６８に対しても、リクエストデータ１６１とレスポンスデータ１６２に対する処理と同様の処理を行う。そしてプロキシ部２１０は、リクエストデータ１６７とレスポンスデータ１６８とを通信記録１７４として通信記録データベース２５０へ格納する。
【００８０】
図１７は、レスポンスデータにＵＲＬ通知スクリプトが埋め込まれた例を示す図である。本実施例では、レスポンスデータ１６２、１６４、１６８のデータ形式がＨＴＭＬファイルであり、レスポンスデータ１６６のデータ形式は画像データである。よって中継サーバ２００のＵＲＬ通知スクリプト埋込部２１１は、レスポンスデータ１６２、１６４、１６８のそれぞれに、スクリプト記憶部２１２に格納されたＵＲＬ通知スクリプトＳｃを埋め込む。レスポンスデータ１６２Ａ、１６４Ａ、１６８Ａは、レスポンスデータ１６２、１６４、１６８のそれぞれにＵＲＬ通知スクリプトＳｃが埋め込まれた後のものである。
【００８１】
本実施例では、ウェブブラウザ１１０に転送されるレスポンスデータに、ＵＲＬ通知スクリプトＳｃが埋め込まれることで、ウェブページにおいてユーザの入力操作が行われた部分に含まれるＵＲＬ値が中継サーバ２００に通知される。
【００８２】
図１８は、通信記録を抽出する例を示す図である。本実施例では、ウェブブラウザ１１０から通知されたＵＲＬ値をＵＲＬ１とＵＲＬ２とすると、通信記録１７１にＵＲＬ２が含まれ、通信記録１７４にＵＲＬ１が含まれる。よって中継サーバ２００において通信抽出部２３０は、通信記録１７１と通信記録１７４を再現する通信記録として抽出する。また中継サーバ２００は、通信記録１７２、１７３はユーザの入力操作と無関係の通信として、再現を省略する。
【００８３】
したがって本実施例によれば、ユーザの入力操作に関係する通信記録のみを自動で抽出することができる。また本実施例によれば、通信を再現する際に、ユーザの入力操作に関係のない通信の再現を排除することができ、通信の再現に係る時間を短縮することができる。
【００８４】
尚本実施例では、中継サーバ２００のＵＲＬ通知スクリプト埋込部２１１は、ＨＴＭＬファイルの予め設定した位置にＵＲＬ通知スクリプトを埋め込むものとして説明したが、これに限定されない。本実施例では、例えばＨＴＭＬファイルに含まれるＵＲＬ値に応じてＵＲＬ通知スクリプトを埋め込む位置が決められても良い。この場合、ＵＲＬ通知スクリプト埋込部２１１は、ＵＲＬ値と、ＵＲＬ値に対応したＵＲＬ通知スクリプトの埋め込み位置とが対応付けられテーブルを有することが好ましい。
【００８５】
本発明は、以下に記載する付記のような構成が考えられる。
（付記１）
ウェブブラウザへの入力操作に係る通信記録を通知させるスクリプトが埋め込まれたレスポンスデータを前記ウェブブラウザへ送信するプロキシ部と、
前記ウェブブラウザからの通知に応じて、ウェブサーバと前記ウェブブラウザ間の通信記録が格納された通信記録記憶部から通信記録を抽出する通信抽出部と、を有する中継サーバ。
（付記２）
前記スクリプトを定義したスクリプトファイルが格納されたスクリプト記憶部から前記スクリプトを読み出し、前記レスポンスデータに埋め込むスクリプト埋込部を有し、
前記スクリプト埋込部は、
前記レスポンスデータにおいて、前記ウェブブラウザへの入力操作が行われる前に前記ウェブブラウザに解釈される位置及び／又は前記レスポンスデータの任意位置に前記スクリプトを埋め込む付記１記載の中継サーバ。
（付記３）
前記スクリプトは、
前記ウェブブラウザに、
前記ウェブブラウザの表示の階層構造において、入力操作がされた階層から最上位の階層までに含まれるＵＲＬ値を当該中継サーバへ通知する処理と、
前記階層構造における階層毎に入力操作が行われたか否かを監視する処理と、を実行させる付記１又は２記載の中継サーバ。
（付記４）
前記スクリプトは、さらに、
前記ウェブブラウザに、
所定時間毎に当該スクリプトを解釈する処理を実行させる付記３記載の中継サーバ。
（付記５）
前記ウェブブラウザから通知された前記ＵＲＬ値を受信するＵＲＬ通知受信部と、
受信された前記ＵＲＬ値を格納するＵＲＬ記録部と、を有し、
前記通信抽出部は、
前記通信記録記憶部において、前記ＵＲＬ記録部に格納されたＵＲＬ値を含む通信記録を抽出する付記３又は４記載の中継サーバ。
（付記６）
コンピュータに、
ウェブブラウザへの入力操作に係る通信記録を通知させるスクリプトが埋め込まれたレスポンスデータを前記ウェブブラウザへ送信する処理と、
前記ウェブブラウザからの通知に応じて、ウェブサーバと前記ウェブブラウザ間の通信記録が格納された通信記録記憶部から通信記録を抽出する処理と、を実行させるための中継プログラム。
（付記７）
コンピュータが、
前記ウェブブラウザへの入力操作に係る通信記録を通知させるスクリプトが埋め込まれたレスポンスデータを前記ウェブブラウザへ送信し、
前記ウェブブラウザからの通知に応じて、ウェブサーバと前記ウェブブラウザ間の通信記録が格納された通信記録記憶部から通信記録を抽出する中継方法。
【００８６】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００８７】
１００  ウェブ中継システム
１１０  ウェブブラウザ
１２０  ウェブサーバ
２００  中継サーバ
２１０  プロキシ部
２１１  ＵＲＬ通知スクリプト埋込部
２１２  スクリプト記憶部
２２０  ＵＲＬ通知受信部
２３０  通信抽出部
２５０  通信記録データベース
２６０  ＵＲＬ記録データベース
【図１】
2013196396.tif 000003
【図２】
2013196396.tif 000004
【図３】
2013196396.tif 000005
【図４】
2013196396.tif 000006
【図５】
2013196396.tif 000007
【図６】
2013196396.tif 000008
【図７】
2013196396.tif 000009
【図８】
2013196396.tif 000010
【図９】
2013196396.tif 000011
【図１０】
2013196396.tif 000012
【図１１】
2013196396.tif 000013
【図１２】
2013196396.tif 000014
【図１３】
2013196396.tif 000015
【図１４】
2013196396.tif 000016
【図１５】
2013196396.tif 000017
【図１６】
2013196396.tif 000018
【図１７】
2013196396.tif 000019
【図１８】
2013196396.tif 000020