(57)【要約】【課題】通信の再現を省略する精度を向上させることが可能な中継プログラム、中継方法及び中継サーバを提供することを目的とする。【解決手段】記憶部に格納された、ウェブサーバとウェブブラウザとの間の通信記録から、所定の認証に関する通信記録を検出する処理と、前記認証に係る通信記録のうち、前記ウェブブラウザにおける画面遷移の管理に用いられる遷移情報を含まない通信記録に、前記遷移情報を含まない通信記録の前の通信記録が有するリンク情報を含む遷移情報を追加する処理と、をコンピュータに実行させる。【選択図】図７
2015056056.tif 000002
【特許請求の範囲】
【請求項１】
記憶部に格納された、ウェブサーバとウェブブラウザとの間の通信記録から、所定の認証に関する通信記録を検出する処理と、
前記認証に係る通信記録のうち、前記ウェブブラウザにおける画面遷移の管理に用いられる遷移情報を含まない通信記録に、前記遷移情報を含まない通信記録の前の通信記録が有するリンク情報を含む遷移情報を追加する処理と、をコンピュータに実行させる中継プログラム。
【請求項２】
前記通信記録は、前記ウェブブラウザから前記ウェブサーバへ送信されるリクエストデータと、前記ウェブサーバから前記ウェブブラウザへ送信されるレスポンスデータの組みであって、
前記リンク情報は、
前記前の通信記録のリクエストデータに含まれる請求項１記載の中継プログラム。
【請求項３】
前記検出する処理は、
前記通信記録において、予め決められた所定条件を満たす通信記録を前記所定の認証に関する通信記録として検出する請求項１又は２記載の中継プログラム。
【請求項４】
コンピュータによる中継方法であって、該コンピュータが、
記憶部に格納された、ウェブサーバとウェブブラウザとの間の通信記録から、所定の認証に関する通信記録を検出し、
前記認証に係る通信記録のうち、前記ウェブブラウザにおける画面遷移の管理に用いられる遷移情報を含まない通信記録に、前記遷移情報を含まない通信記録の前の通信記録が有するリンク情報を含む遷移情報を追加する中継方法。
【請求項５】
記憶部に格納された、ウェブサーバとウェブブラウザとの間の通信記録から、所定の認証に関する通信記録を検出する検出部と、
前記認証に係る通信記録のうち、前記ウェブブラウザにおける画面遷移の管理に用いられる遷移情報を含まない通信記録に、前記遷移情報を含まない通信記録の前の通信記録が有するリンク情報を含む遷移情報を追加する追加部と、を有する中継サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブサーバとウェブブラウザ間の通信を中継する中継プログラム、中継方法及び中継サーバに関する。
【背景技術】
【０００２】
コンピュータシステムにおいて、ユーザの操作などの動作履歴をもとに、システムの動作を再現する技術が開示されている。
【０００３】
ウェブシステムにおいても、ユーザの操作を再現する技術がある。ウェブシステムでは、ウェブサーバが、ウェブブラウザでの操作のもと、当該ウェブブラウザとの間でＨＴＴＰ（Hyper Text Transfer Protocol）によりデータの送受信を行い、該当するサービスを提供する。この際、ウェブサーバとウェブブラウザとの間に、データを中継する中継サーバが設置される場合がある。
【０００４】
中継サーバは、ウェブサーバとウェブブラウザとの間の通信メッセージの履歴を通信記録として記録し、この通信履歴を用いて通信を再現する。これにより、ユーザがウェブサーバへの操作を再現したい場合に、ウェブブラウザでのウェブサーバへの操作を再び行う代わりに、中継サーバが通信履歴を用いて通信を再現することで自動的に該当するサービスへの操作を再現できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−８４８３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の技術では、例えば操作の再現に用いられる通信記録に、ユーザの操作と無関係な通信記録が含まれることがあるが、中継サーバは、ユーザの操作と無関係の不要な通信まで再現するため、通信の再現に時間がかかる。そこで、不要な通信の再現を省略し、通信の再現にかかる時間を短縮することが考えられる。この場合は、どの通信が不要な通信であるかを正しく判別することが望まれる。例えばユーザの操作と関係する通信の再現を誤って省略した場合等には、通信が正しく再現されないからである。
【０００７】
１つの側面では、通信の再現を省略する精度を向上させることが可能な中継プログラム、中継方法及び中継サーバを提供することを目的とする。
【課題を解決するための手段】
【０００８】
開示の技術は、記憶部に格納された、ウェブサーバとウェブブラウザとの間の通信記録から、所定の認証に関する通信記録を検出する処理と、前記認証に係る通信記録のうち、前記ウェブブラウザにおける画面遷移の管理に用いられる遷移情報を含まない通信記録に、前記遷移情報を含まない通信記録の前の通信記録が有するリンク情報を含む遷移情報を追加する処理と、をコンピュータに実行させる。
【０００９】
上記各処理は、上記各処理を実現する機能部、上記各処理を手順としてンピュータにより実行させる方法、プログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
【発明の効果】
【００１０】
通信の再現を省略する精度を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】ウェブ中継システムにおけるログイン画面の表示について説明する図である。
【図２】シングルサインオンを用いたログインについて説明する図である。
【図３】ウェブ中継システムの構成例を示す図である。
【図４】中継サーバのハードウェアの構成例を示す図である。
【図５】中継サーバの機能構成を説明する図である。
【図６】認証検出部による通信記録の検出を説明する図である。
【図７】リファラ追加部によるリファラの追加を説明する図である。
【図８】認証検出部の処理を説明するフローチャートである。
【図９】リファラ追加部の処理を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下に本実施例の概要について説明する。本実施例では、ウェブサーバとウェブブラウザとの間の通信を再現する際に、ウェブブラウザにおけるユーザの操作と関係した通信を再現し、ユーザの操作と無関係な通信の再現を省略する。
【００１３】
本実施例では、ユーザの操作と無関係な通信の一つとして、ウェブサーバが提供するサービスへログインする際のログイン画面表示を再現する通信に着目した。以下にログイン画面の表示について説明する。
【００１４】
図１は、ウェブ中継システムにおけるログイン画面表示について説明する図である。
【００１５】
ウェブ中継システム１０において、ユーザがウェブブラウザ１１０に表示されたログイン画面にアクセスしてログイン操作を行うと、ウェブブラウザ１１０は中継サーバ２０へログインを要求するリクエストデータを送信する（ステップＳ１１）。中継サーバ２０は、プロキシ部２１０により、受信したリクエストデータをウェブサーバ１３０へ転送する（ステップＳ１２）。プロキシ部２１０は、通信記録を記録するものである。プロキシ部２１０の詳細は後述する。
【００１６】
ウェブサーバ１３０は、リクエストデータを受けると、これに応答したレスポンスデータを中継サーバ２０へ送信する（ステップＳ１３）。中継サーバ２０において、プロキシ部２１０は、レスポンスデータをウェブブラウザ１１０へ転送する（ステップＳ１４）。ここでウェブブラウザ１１０にはログイン画面が表示される。
【００１７】
中継サーバ２０においてプロキシ部２１０は、中継サーバ２０が転送したリクエストデータと、レスポンスデータとを通信記録２２１として通信記録データベース２２０に格納する（ステップＳ１５）。通信記録２２１は、ログイン画面をウェブブラウザ１１０に表示させるための通信記録である。
【００１８】
ウェブブラウザ１１０は、ユーザによりログイン情報（例えばＩＤとパスワード）が入力されると、ログイン情報と共にログインリクエストデータを中継サーバ２０に送信する（ステップＳ１６）。中継サーバ２０は、プロキシ部２１０により、ログインリクエストデータをウェブサーバ１３０へ転送する（ステップＳ１７）。
【００１９】
ウェブサーバ１３０は、ログイン後のメニュー画面のレスポンスデータを中継サーバ２０へ送信する（ステップＳ１８）。中継サーバ２０のプロキシ部２１０は、このレスポンスデータをウェブブラウザ１１０へ転送する（ステップＳ１９）。
【００２０】
中継サーバ２０においてプロキシ部２１０は、中継サーバ２０がステップＳ１７で転送したリクエストデータとステップＳ１９で転送したレスポンスデータとを通信記録２２２として通信記録データベース２２０に格納する（ステップＳ２０）。通信記録２２２は、ログイン情報をウェブサーバ１３０へ通知し、ログイン後の画面をウェブブラウザ１１０に表示させるための通信記録である。
【００２１】
中継サーバ２０は、ログイン操作を再現する際は、通信記録から通信を再現させる再現モジュールにより通信記録２２１と通信記録２２２を再現すれば良い。再現モジュールの詳細は後述する。
【００２２】
ところで近年のウェブシステムでは、ログイン情報を含むリクエストデータを直接ウェブサーバ１３０へ送信することでログイン操作を再現するものがある。この場合には、ログイ情報を入力させるためのログイン画面を表示させるための通信記録２２１の再現は不要となる。ログイン操作の再現に際し、ログイン画面表示のための通信記録２２１が不要か否かを判断し、ログイン画面表示が不要であった場合に、再現モジュールが再現する通信記録から通信記録２２１を削除して、通信記録２２１による通信の再現を省略できる。
【００２３】
実施例では、ログイン操作の再現に関し、シングルサインオン等の機能を用いた通信記録を検出し、検出された通信記録に画面遷移の管理に用いる情報を付与する。
【００２４】
以下に図２を参照してシングルサインオン等の機能を用いたログイン処理について説明する。尚シングルサインオンとは、一度のユーザ認証により、許可されているすべての機能を利用できるようにする認証機能である。
【００２５】
図２は、シングルサインオンを用いたログインについて説明する図である。
【００２６】
ユーザがウェブブラウザ１１０に表示されたログイン画面にアクセスしてログイン操作を行うと、ウェブブラウザ１１０はウェブサーバ１３０にログインを要求するリクエストデータを送信する（ステップＳ２１）。ウェブサーバ１３０は、この時点ではユーザ認証が行われていないため、未認証とするレスポンスデータをウェブブラウザ１１０に送信する（ステップＳ２２）。ウェブブラウザ１１０は、このレスポンスデータを認証を要求するリクエストデータとし、認証サーバ１２０に自動的に転送する（ステップＳ２３）。
【００２７】
認証サーバ１２０は、リクエストデータを受けて、ユーザ認証画面をレスポンスデータとしてウェブブラウザ１１０に送信し、ウェブブラウザ１１０にユーザ認証画面を表示させる（ステップＳ２４）。ユーザ認証画面にユーザ情報が入力されると、ウェブブラウザ１１０は、認証を要求するリクエストデータとして、認証サーバ１２０へ送信する（ステップＳ２５）。尚ステップＳ２５で認証サーバ１２０に送信されるリクエストデータには、ユーザ情報が含まれる。ユーザ情報は、例えばユーザ識別情報（ユーザＩＤ）とパスワード等である。
【００２８】
認証サーバ１２０は、ユーザ情報に基づく認証が成功すると、ユーザ認証に必要な情報を生成し、レスポンスデータとしてウェブブラウザ１１０へ送信する（ステップＳ２６）。尚ユーザ認証に必要な情報とは、例えばトークン等である。
【００２９】
ウェブブラウザ１１０は、ユーザ認証に必要な情報を含むリクエストデータを自動的にウェブサーバ１３０へ転送する（ステップＳ２７）。
【００３０】
ウェブサーバ１３０は、認証サーバ１２０にアクセスし、受信したユーザ認証に必要な情報を照合する（ステップＳ２８）。認証サーバ１２０は、ユーザ認証に必要な情報を照合した結果、正しいと判断し、ユーザＩＤをウェブサーバ１３０に送信する（ステップＳ２９）。ウェブサーバ１３０は、ユーザＩＤを受けて、ユーザＩＤと対応した認証後のページを、ステップＳ２７において受信したリクエストデータに対するレスポンスデータとして、ウェブブラウザ１１０に送信する（ステップＳ３０）。
【００３１】
尚図２では図示していないが、ウェブブラウザ１１０とウェブサーバ１３０との通信は、中継サーバ２０の通信記録データベース２２０に格納される。
【００３２】
図２に示すように、シングルサインオン等の機能を用いた場合、ログイン画面表示のための通信記録にウェブブラウザ１１０から自動的に転送されるリクエストデータが含まれる。ウェブブラウザ１１０から自動的に転送されるリクエストデータには、ウェブブラウザ１１０が出力する画面の遷移を管理するために用いられる遷移情報が含まれておらず、ログイン画面表示のための通信記録との関連を判断することが困難であった。
【００３３】
そこで以下に説明する本実施例では、自動転送されるリクエストデータに、このリクエストデータが生成されたページを示すリンク情報を含む遷移情報を追加することで、自動転送されるリクエストデータとログイン画面表示のための通信記録との関連を明らかにする。リンク情報とは例えばＵＲＬであり、遷移情報とは例えばリファラ等である。
【００３４】
以下の本実施例では、自動転送されるリクエストデータとログイン画面表示のための通信記録との関連を明らかにすることで、例えば通信の再現を誤って省略することや、不要な通信を再現することを抑制でき、通信の再現の省略の精度を向上させることができる。
【００３５】
（実施例）
以下に図面を参照して本実施例のウェブ中継システム１００について説明する。図３は、ウェブ中継システムの構成例を示す図である。
【００３６】
本実施例のウェブ中継システム１００は、ウェブブラウザ１１０と、認証サーバ１２０と、ウェブサーバ１３０と、中継サーバ２００とを有する。中継サーバ２００は、ウェブブラウザ１１０とウェブサーバ１３０との間の通信を中継する。ウェブブラウザ１１０は、ウェブサービスを利用するパーソナルコンピュータなどのユーザ端末である。ウェブサーバ１３０は、ウェブサービスを提供する。認証サーバ１２０は、ウェブサーバ１３０により提供されるサービスに対するログイン処理を行う際のユーザ認証を行う。
【００３７】
尚ウェブ中継システム１００では、認証サーバ１２０及びウェブサーバ１３０を中継サーバ２００及びウェブブラウザ１１０と同一のネットワーク上に適用した場合であっても良いし、認証サーバ１２０及びウェブサーバ１３０を外部装置として異なるネットワーク上に適用した場合であっても良い。
【００３８】
図４は、中継サーバのハードウェアの構成例を示す図である。本実施例の中継サーバ２００は、それぞれバスＢで相互に接続されている入力装置２１、出力装置２２、ドライブ装置２３、補助記憶装置２４、メモリ装置２５、演算処理装置２６及びインターフェース装置２７で構成される。
【００３９】
入力装置２１はキーボードやマウスなどで構成され、各種信号を入力するために用いられる。出力装置２２はディスプレイ装置などで構成され、各種ウインドウやデータ等を表示するために用いられる。インターフェース装置２７は、モデム，ＬＡＮ（Local Area Network）カードなどで構成されており、ネットワークに接続する為に用いられる。
【００４０】
本発明の中継プログラムは、中継サーバ２００を制御する各種プログラムの少なくとも一部である。中継プログラムは例えば記録媒体２８の配布やネットワークからのダウンロードなどによって提供される。中継プログラムを記録した記録媒体２８は、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００４１】
また、中継プログラムを記録した記録媒体２８がドライブ装置２３にセットされると、中継プログラムは記録媒体２８からドライブ装置２３を介して補助記憶装置２４にインストールされる。ネットワークからダウンロードされた中継プログラムは、インターフェース装置２７を介して補助記憶装置２４にインストールされる。
【００４２】
中継サーバ２００は、インストールされた中継プログラムを格納すると共に、必要なファイル、データ等を格納する。メモリ装置２５は、コンピュータの起動時に補助記憶装置２４から中継プログラムを読み出して格納する。そして、演算処理装置２６はメモリ装置２５に格納された中継プログラムに従って、後述するような各種処理を実現している。
【００４３】
以下に図５を参照して本実施例の中継サーバ２００の機能構成を説明する。図４は、中継サーバの機能構成を説明する図である。
【００４４】
本実施例の中継サーバ２００は、プロキシ部２１０、認証検出部２３０、リファラ追加部２４０、再現モジュール生成部２５０、ログイン画面検出部２６０、通信抽出部２７０、テスト実行部２８０、通信記録データベース２２０を有する。
【００４５】
本実施例のプロキシ部２１０は、ウェブブラウザ１１０が行う一連の操作に関わるウェブブラウザ１１０と、認証サーバ１２０及びウェブサーバ１３０と間の通信の履歴を通信記録として通信記録データベース２２０に記録する。
【００４６】
本実施例の認証検出部２３０は、通信記録データベース２２０に格納された通信記録から、認証サーバ１２０を用いた認証の通信記録を検出する。認証サーバ１２０を用いた認証とは、例えばシングルサインオンを用いた認証であっても良い。本実施例のリファラ追加部２４０は、認証検出部２３０により検出された通信記録に、画面遷移の管理に用いられる情報であるリファラを追加する。本実施例の認証検出部２３０及びリファラ追加部２４０の処理の詳細は後述する。
【００４７】
本実施例の再現モジュール生成部２５０は、通信記録データベース２２０に格納された通信記録に基づき、通信を再現する再現モジュール２９１を生成する。また本実施例の再現モジュール生成部２５０は、通信抽出部２７０により通信記録データベース２２０から抽出された通信記録に基づき、後述する再現モジュール２９２を生成する。
【００４８】
ログイン画面検出部２６０は、通信記録データベース２２０に格納された通信記録からログイン画面表示に関する通信記録を検出する。
【００４９】
具体的には本実施例のログイン画面検出部２６０は、所定のログイン画面判定条件を満たす通信記録をログイン画面表示に関する通信記録として検出する。所定のログイン画面判定条件とは、例えば通信記録Ｒ［ｉ］のレスポンスデータのヘッダにSet-cookieが含まれず、且つ通信記録Ｒ［ｉ＋１］のレスポンスデータのヘッダにSet-cookieが含まれることであっても良い。尚Ｒは通信記録の集合を示し、ｉは通信記録の要素数を示す。また所定のログイン画面判定条件は、通信記録Ｒ［ｎ］のレスポンスデータにpassword型のinputタグが含まれ、且つ通信記録Ｒ［ｎ＋１］のリクエストデータにpassword型のinputタグのname属性値と同じ名前のバラメータが存在することであっても良い。
【００５０】
通信抽出部２７０は、通信記録データベース２２０に記録された通信記録のうち、ログイン画面検出部２６０で検出された通信記録以外の通信記録を抽出する。すなわち本実施例の通信抽出部２７０は、通信記録データベース２２０に記録された通信記録から、ログイン画面表示に関する通信記録を除いた通信記録を抽出する。
【００５１】
よって本実施例の再現モジュール生成部２５０は、ログイン画面表示に関する通信記録を含む通信記録に基づき生成された再現モジュール２９１と、ログイン画面表示に関する通信記録を除いた通信記録に基づき生成された再現モジュール２９２とを生成する。
【００５２】
本実施例のテスト実行部２８０は、ウェブブラウザ１１０とウェブサーバ１３０とを有するウェブシステムにおいてログイン操作を再現する際に、ログイン画面表示の通信記録が不要か否かを判断するテストを実行する。具体的にはテスト実行部２８０は、再現モジュール生成部２５０に２つの再現モジュール２９１、２９２を生成させ、それぞれの再現モジュール２９１、２９２を実行させる。
【００５３】
本実施例のテスト実行部２８０は、２つの再現モジュール２９１、２９２の実行結果が一致していた場合、ログイン画面表示に関する通信記録を除いた通信記録に基づき生成された再現モジュール２９２でも正常にログイン操作を再現できると判断する。そして、再現モジュール２９２を中継サーバ２００の有する再現モジュールとして選択し、再現モジュール２９１を削除する。
【００５４】
以上のように本実施例では、再現モジュールを生成する際に、ログイン画面表示の通信記録が不要か否かを判断する。そして本実施例では、ログイン画面表示の通信記録が不要であった場合には、この通信記録を除いた通信記録に基づき再現モジュールを生成する。よって本実施例の中継サーバ２００によれば、不要な通信の再現を削減し、通信の再現にかかる時間を短くすることができる。
【００５５】
以下に図６を参照して本実施例の認証検出部２３０の処理を説明する。図６は、認証検出部による通信記録の検出を説明する図である。
【００５６】
本実施例の認証検出部２３０は、予め決められた所定パターンの通信記録を認証サーバ１２０を用いた認証の通信記録として検出する。以下に所定パターンについて説明する。
【００５７】
図６には、通信記録６１、通信記録６２、通信記録６３及び通信記録６４が示されている。通信記録６１〜６４は、認証検出部２３０により検出された通信記録の例である。通信記録６２は、通信記録６１で示される通信の次に行われた通信の記録であり、通信記録６３は、通信記録６２で示される通信の次に行われた通信の記録であり、通信記録６４は、通信記録６３で示される通信の次に行われた通信の記録である。
【００５８】
通信記録６１は、ウェブブラウザ１１０から送信されるリクエストデータ６１１と、ウェブブラウザ１１０に送信されるレスポンスデータ６１２とを含む。通信記録６２は、リクエストデータ６２１とレスポンスデータ６２２とを含む。通信記録６３は、リクエストデータ６３１とレスポンスデータ６３２とを含む。通信記録６４は、リクエストデータ６４１とレスポンスデータ６４２とを含む。
【００５９】
本実施例の認証検出部２３０は、以下の６つの条件を満たすパターンの通信記録を認証サーバ１２０を用いた認証の通信記録として検出する。
【００６０】
条件１．第１のリクエストデータと、第１のリクエストデータが含まれる第１の通信記録の次の通信の記録である第２の通信記録に含まれる第２のリクエストデータのそれぞれに含まれるドメイン名が異なる。
【００６１】
条件２．第１の通信記録に含まれる第１のレスポンスデータに第２のリクエストデータに含まれるＵＲＬ（Uniform Resource Locator）が含まれる。
【００６２】
条件３．第２のリクエストデータと、第２の通信記録の次の通信の記録である第３の通信記録に含まれる第３のリクエストデータのそれぞれに含まれるドメイン名が同じである。
【００６３】
条件４．第３のリクエストデータのパラメータ名が第２のレスポンスデータのＨＴＭＬ（HyperText Markup Language）に含まれる。
【００６４】
条件５．第３のリクエストデータと、第３の通信記録の次の通信の記録である第４の通信記録に含まれる第４のリクエストデータのそれぞれに含まれるドメイン名が異なる。
【００６５】
条件６．第３のレスポンスデータに第４のリクエストデータに含まれるＵＲＬが含まれる。
【００６６】
以下に図６に示す通信記録６１〜６４を参照して具体的に上記条件について説明する。通信記録６１のリクエストデータ６１１には、「ｓａｍｐｌｅ．ｃｏｍ」というドメイン名が含まれており、通信記録６２のリクエストデータ６２１には「ＳＳＯ．ｃｏｍ」というドメイン名が含まれる。よって通信記録６１と通信記録６２は条件１を満たす。尚本実施例では、ウェブサーバ１３０のドメイン名を「ｓａｍｐｌｅ．ｃｏｍ」とし、認証サーバ１２０のドメイン名を「ＳＳＯ．ｃｏｍ」とした。
【００６７】
通信記録６１のレスポンスデータ６１２は、通信記録６２のリクエストデータ６２１に含まれるＵＲＬ「ｈｔｔｐ：／／ｓａｍｐｌｅ．ｃｏｍ」を含む。よって通信記録６１と通信記録６２は条件２を満たす。
【００６８】
リクエストデータ６２１と通信記録６３のリクエストデータ６３１には、それぞれに「ＳＳＯ．ｃｏｍ」というドメイン名が含まれている。よって通信記録６２と通信記録６３は条件３を満たす。
【００６９】
リクエストデータ６２２には、リクエストデータ６３１に含まれるパラメータ名「ｐｗ」が含まれる。よって通信記録６２と通信記録６３は条件４を満たす。
【００７０】
リクエストデータ６３１には「ＳＳＯ．ｃｏｍ」というドメイン名が含まれ、通信記録６４のリクエストデータ６４１には「ｓａｍｐｌｅ．ｃｏｍ」というドメイン名が含まれる。よって通信記録６３と通信記録６４は条件５を満たす。
【００７１】
レスポンスデータ６３２には、リクエストデータ６４１に含まれるＵＲＬ「ｈｔｔｐ：／／ｓａｍｐｌｅ．ｃｏｍ」が含まれる。よって通信記録６３と通信記録６４は条件６を満たす。
【００７２】
よって本実施例の認証検出部２３０は、通信記録６１〜６４を認証サーバ１２０を用いた認証の通信記録として検出する。
【００７３】
次に図７を参照して本実施例のリファラ追加部２４０によるリファラの追加について説明する。図７は、リファラ追加部によるリファラの追加を説明する図である。
【００７４】
図７は、認証検出部２３０により検出された通信記録６１〜６４のうち、通信記録６２、６４に画面遷移の管理に用いられる情報としてリファラを付与された例を示している。
【００７５】
本実施例のリファラ追加部２４０は、認証検出部２３０により検出された第１〜第４の通信記録について、以下の処理を行う。
【００７６】
処理１．第２の通信記録の第２のリクエストデータにおいて、リファラヘッダと、リファラヘッダの値となる第１の通信記録の第１のリクエストデータに含まれるＵＲＬと、を追加する。
【００７７】
処理２．第４の通信記録の第４のリクエストデータにおいて、リファラヘッダと、リファラヘッダの値となる第３の通信記録の第３のリクエストデータに含まれるＵＲＬと、を追加する。
【００７８】
図７に示すリクエストデータ６２１Ａは、リファラ７１として、リファラヘッダにリクエストデータ６１１に含まれるＵＲＬ「ｈｔｔｐ：／／ｓａｍｐｌｅ．ｃｏｍ」が指定されている。また図７に示すリクエストデータ６４１Ａは、リファラ７２として、リファラヘッダにリクエストデータ６３１に含まれるＵＲＬ「ｈｔｔｐ：／／ＳＳＯ．ｃｏｍ／ｌｏｇｉｎ」が指定されている。
【００７９】
すなわちリファラ７１は、リクエストデータ６２１Ａの送信元となるページを示しており、リファラ７２は、リクエストデータ６４１Ａの送信元となるページを示している。よって本実施例の中継サーバ２００は、リクエストデータ６２１Ａはウェブサーバ１３０において生成されたリクエストデータであり、リクエストデータ６４１Ａは認証サーバ１２０において生成されたリクエストデータであることが判断できる。
【００８０】
本実施例では、このように認証サーバ１２０を用いた認証の通信記録にリファラを付与することで、中継サーバ２００に通信記録がユーザの操作と無関係な通信の記録であるか否かを判断させることができる。また本実施例では、リファラを追加することにより、ウェブブラウザ１１０から自動転送されるリクエストデータがユーザの操作と無関係な通信と判断されて再現が省略されしまうことを防止できる。したがって本実施例では、通信の再現を省略する精度を向上させることができ、通信の再現を安定させ、且つ再現に係る時間を短縮することができる。
【００８１】
以下に図８を参照して本実施例の認証検出部２３０の処理を説明する。図８は、認証検出部の処理を説明するフローチャートである。図８では、通信記録の集合をＲとし、所定のパターンを満たす通信記録の集合をＳとし、通信記録の要素数をｎとした。
【００８２】
本実施例の認証検出部２３０は、通信記録データベース２２０から通信記録の集合Ｒを取得する（ステップＳ８０１）。続いて認証検出部２３０は、所定のパターンを満たす通信記録の数を４とする（ステップＳ８０２）。
【００８３】
続いて認証検出部２３０は、変数ｉに０を代入する（ステップＳ８０３）。続いて認証検出部２３０は、通信記録の集合Ｒのうちｉ番目の通信記録を通信記録Ｓ［１］とする（ステップＳ８０４）。
【００８４】
次に認証検出部２３０は、変数ｊに０を代入する（ステップＳ８０５）。続いて認証検出部２３０は、通信記録の集合Ｒのうちｊ番目の通信記録を通信記録Ｓ［２］とする（ステップＳ８０６）。続いて認証検出部２３０は、通信記録Ｓ［１］と通信記録Ｓ［２］とが、上述した条件１及び条件２の両方を満たすか否かを判断する（ステップＳ８０７）。
【００８５】
ステップＳ８０７において通信記録Ｓ［１］，Ｓ［２］が条件１及び条件の両方を満たす場合、認証検出部２３０は、後述するステップＳ８１３へ進む。
【００８６】
ステップＳ８０７において通信記録Ｓ［１］，Ｓ［２］が条件１及び条件２の両方を満たさない場合、認証検出部２３０は、変数ｊにｊ＋１を代入する（ステップＳ８０８）。続いて認証検出部２３０は、ｊがｎ以上であるか否かを判断する（ステップＳ８０９）。
【００８７】
ステップＳ８０９においてｊがｎ以上でない場合、認証検出部２３０はステップＳ８０６の処理へ戻る。ステップＳ８０９において、ｊがｎ以上であった場合、認証検出部２３０はｉにｉ＋１を代入し（ステップＳ８１０）、ｉがｎ以上であるか否かを判断する（ステップＳ８１１）。
【００８８】
ステップＳ８１１においてｉがｎ以上である場合、認証検出部２３０は、全ての通信記録について所定のパターンを満たすか否かを判断する処理を実行したものとして、処理を終了する。
【００８９】
ステップＳ８１１においてｉがｎ以上でない場合、認証検出部２３０はステップＳ８０４の処理へ戻る。
【００９０】
ステップＳ８０７において通信記録Ｓ［１］，Ｓ［２］が条件１及び条件２の両方を満たす場合、認証検出部２３０は、変数ｋに０を代入する（ステップＳ８１２）。続いて認証検出部２３０は、通信記録の集合Ｒのうちｋ番目の通信記録を通信記録Ｓ［３］とする（ステップＳ８１３）。続いて認証検出部２３０は、通信記録Ｓ［２］と通信記録Ｓ［３］とが、上述した条件３及び条件４の両方を満たすか否かを判断する（ステップＳ８１４）。
【００９１】
ステップＳ８１４において通信記録Ｓ［２］，Ｓ［３］が条件３及び条件４の両方を満たす場合、認証検出部２３０は後述するステップＳ８１７へ進む。
【００９２】
ステップＳ８１４において通信記録Ｓ［２］，Ｓ［３］が条件３及び条件４の両方を満たさない場合、認証検出部２３０は、変数ｋにｋ＋１を代入する（ステップＳ８１５）。続いて認証検出部２３０は、ｋがｎ以上であるか否かを判断する（ステップＳ８１６）。
【００９３】
ステップＳ８１６においてｋがｎ以上でない場合、認証検出部２３０は、ステップＳ８１３の処理へ戻る。ステップＳ８１６においてｋがｎ以上である場合、認証検出部２３０はステップＳ８０８の処理へ進む。
【００９４】
ステップＳ８１４において通信記録Ｓ［２］，Ｓ［３］が条件３及び条件４の両方を満たす場合、認証検出部２３０は、変数ｍに０を代入する（ステップＳ８１７）。続いて認証検出部２３０は、通信記録の集合Ｒのうちｍ番目の通信記録を通信記録Ｓ［４］とする（ステップＳ８１８）。続いて認証検出部２３０は、通信記録Ｓ［３］と通信記録Ｓ［４］とが、上述した条件５及び条件６の両方を満たすか否かを判断する（ステップＳ８１９）。
【００９５】
ステップＳ８１９において、通信記録Ｓ［２］，Ｓ［３］が条件３及び条件４の両方を満たす場合、認証検出部２３０は、通信記録Ｓ［１］，Ｓ［２］，Ｓ［３］，Ｓ［４］を所定のパターンを満たす通信記録の集合Ｓとして出力する（ステップＳ８２０）。ステップＳ８２０で出力された通信記録の集合Ｓは、認証サーバ１２０を用いた認証の通信記録であり、リファラ追加部２４０によるリファラの追加対象となる通信記録である。
【００９６】
ステップＳ８１９において、通信記録Ｓ［２］，Ｓ［３］が条件３及び条件４の両方を満たさない場合、認証検出部２３０は、変数ｍにｍ＋１を代入する（ステップＳ８２１）。続いて認証検出部２３０は、ｍがｎ以上であるか否かを判断する（ステップＳ８２２）。ステップＳ８２２においてｍがｎ以上でない場合、認証検出部２３０は、ステップＳ８１８の処理へ戻る。ステップＳ８２２においてｋがｎ以上である場合、認証検出部２３０はステップＳ８１５の処理へ進む。
【００９７】
次に図９を参照して本実施例のリファラ追加部２４０の処理を説明する。図９は、リファラ追加部の処理を説明するフローチャートである。
【００９８】
本実施例のリファラ追加部２４０は、認証検出部２３０により検出された通信記録の集合Ｓを取得する（ステップＳ９１）。次にリファラ追加部２４０は、変数ｉに０を代入する（ステップＳ９２）。続いてリファラ追加部２４０は、通信記録Ｓ［ｉ＋１］のリファラが存在するか否かを判断する（ステップＳ９３）。
【００９９】
ステップＳ９３においてリファラが存在しない場合、リファラ追加部２４０は、通信記録Ｓ［ｉ＋１］のリクエストデータのヘッダ部分に、「Ｒｅｆｅｒｅｒ：Ｓ［ｉ］のＵＲＬ」を追加し（ステップＳ９４）、ステップＳ９５へ進む。ステップＳ９３においてリファラが存在する場合、リファラ追加部２４０は、変数ｉにｉ＋１を代入する（ステップＳ９５）。
【０１００】
続いてリファラ追加部２４０は、変数ｉが３以上であるか否かを判断する（ステップＳ９６）。ステップＳ９６においてｉが３以上でない場合、リファラ追加部２４０は、ステップＳ９３の処理へ戻る。ステップＳ９６においてｉが３以上である場合、リファラ追加部２４０は、認証検出部２３０により検出された通信記録の集合Ｓについて、リファラの追加処理を実行したとして、処理を終了する。
【０１０１】
本実施例では、リファラが追加された通信記録の集合Ｓは、通信記録データベース２２０に再び格納される。
【０１０２】
以上のように本実施例の中継サーバ２００は、認証サーバ１２０を用いた認証の通信記録を検出する。そして中継サーバ２００は、検出されたリクエストデータに画面遷移の管理に用いられる情報（リファラ）が含まれていない場合、この通信記録のリクエストデータに、このリクエストデータの前のリクエストデータに含まれるＵＲＬを含むリファラを追加する。リファラの追加により、リクエストデータとレスポンスデータの複数の組間の関連性と連続性が判断できる。
【０１０３】
尚認証検出部２３０による認証サーバ１２０を用いた認証の通信記録の検出方法は、本実施例に限定されない。例えば認証検出部２３０は、通信を記録中に、予め登録された認証サーバ１２０のドメインにアクセスしたとき、認証サーバ１２０を用いた認証の通信であると判断しても良い。また認証検出部２３０は、通信を記録中に、予め登録されたフォーマットのトークンで通信が行われた場合に認証サーバ１２０を用いた認証の通信であると判断しても良い。
【０１０４】
このような方法で認証サーバ１２０を用いた認証の通信記録を検出すれば、認証サーバ１２０を別のサーバにした場合や、認証のトークンのフォーマットが変わった場合でも、該当する通信記録を検出することができる。
【０１０５】
本実施例のログイン画面検出部２６０は、認証検出部２３０とリファラ追加部２４０の処理が終了した後の通信記録データベース２２０に格納された通信記録からログイン画面表示に関する通信記録を検出する。通信記録に含まれるリファラやログイン処理特有のパラメータから、リクエストデータとレスポンスデータの複数の組が、一連のログイン処理に関するものである判断でき、前後関係からいずれの通信記録がログイン画面表示に関わるものであるかも判断できる。よって本実施例では、例えばシングルサインオン等の機能を用いてログインを行った場合にも、ユーザの操作と関係した通信と、ユーザの操作と無関係な通信とを高精度に判別することができ、通信の再現を省略する精度を向上させることができる。
【０１０６】
開示の技術では、以下に記載する付記のような形態が考えられる。
（付記１）
記憶部に格納された、ウェブサーバとウェブブラウザとの間の通信記録から、所定の認証に関する通信記録を検出する処理と、
前記認証に係る通信記録のうち、前記ウェブブラウザにおける画面遷移の管理に用いられる遷移情報を含まない通信記録に、前記遷移情報を含まない通信記録の前の通信記録が有するリンク情報を含む遷移情報を追加する処理と、をコンピュータに実行させる中継プログラム。
（付記２）
前記通信記録は、前記ウェブブラウザから前記ウェブサーバへ送信されるリクエストデータと、前記ウェブサーバから前記ウェブブラウザへ送信されるレスポンスデータの組みであって、
前記リンク情報は、
前記前の通信記録のリクエストデータに含まれる付記１記載の中継プログラム。
（付記３）
前記検出する処理は、
前記通信記録において、予め決められた所定条件を満たす通信記録を前記所定の認証に関する通信記録として検出する付記１又は２記載の中継プログラム。
（付記４）
前記所定条件は、
第１のリクエストデータと、第１のリクエストデータが含まれる第１の通信記録の次の通信の記録である第２の通信記録に含まれる第２のリクエストデータのそれぞれに含まれるドメイン名が異なること、と、
前記第１の通信記録に含まれる第１のレスポンスデータに、前記第２のリクエストデータに含まれるリンク情報が含まれること、と、
前記第２のリクエストデータと、前記第２の通信記録の次の通信の記録である第３の通信記録に含まれる第３のリクエストデータのそれぞれに含まれるドメイン名が同じであること、と、
前記第３のリクエストデータのパラメータ名が前記第２のレスポンスデータのＨＴＭＬに含まれること、と、
前記第３のリクエストデータと、前記第３の通信記録の次の通信の記録である第４の通信記録に含まれる第４のリクエストデータのそれぞれに含まれるドメイン名が異なること、と、
前記第３のレスポンスデータに前記第４のリクエストデータに含まれるリンク情報が含まれること、である付記３記載の中継プログラム。
（付記５）
前記記憶部に格納された前記通信記録を参照し、前記ウェブブラウザにおける所定の入力操作に係る通信記録を検出する処理と、
前記通信記録を用いて通信を再現する第一の再現部の実行結果と、前記検出部に検出された通信記録を除いた通信記録を用いて通信を再現する第二の再現部の実行結果とが一致するとき、前記第二の再現部を選択する処理と、を実行させる付記１乃至４の何れか一項に記載の中継プログラム。
（付記６）
コンピュータによる中継方法であって、該コンピュータが、
記憶部に格納された、ウェブサーバとウェブブラウザとの間の通信記録から、所定の認証に関する通信記録を検出し、
前記認証に係る通信記録のうち、前記ウェブブラウザにおける画面遷移の管理に用いられる遷移情報を含まない通信記録に、前記遷移情報を含まない通信記録の前の通信記録が有するリンク情報を含む遷移情報を追加する中継方法。
（付記７）
記憶部に格納された、ウェブサーバとウェブブラウザとの間の通信記録から、所定の認証に関する通信記録を検出する検出部と、
前記認証に係る通信記録のうち、前記ウェブブラウザにおける画面遷移の管理に用いられる遷移情報を含まない通信記録に、前記遷移情報を含まない通信記録の前の通信記録が有するリンク情報を含む遷移情報を追加する追加部と、を有する中継サーバ。
【０１０７】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から
逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１０８】
１００  ウェブ中継システム
１２０  認証サーバ
１３０  ウェブサーバ
２００  中継サーバ
２１０  プロキシ部
２２０  通信記録データベース
２３０  認証検出部
２４０  リファラ追加部
【図１】
2015056056.tif 000003
【図２】
2015056056.tif 000004
【図３】
2015056056.tif 000005
【図４】
2015056056.tif 000006
【図５】
2015056056.tif 000007
【図６】
2015056056.tif 000008
【図７】
2015056056.tif 000009
【図８】
2015056056.tif 000010
【図９】
2015056056.tif 000011