JP5737166B2 - 中継装置、中継プログラムおよび中継方法 - Google Patents

中継装置、中継プログラムおよび中継方法 Download PDF

Info

Publication number
JP5737166B2
JP5737166B2 JP2011274979A JP2011274979A JP5737166B2 JP 5737166 B2 JP5737166 B2 JP 5737166B2 JP 2011274979 A JP2011274979 A JP 2011274979A JP 2011274979 A JP2011274979 A JP 2011274979A JP 5737166 B2 JP5737166 B2 JP 5737166B2
Authority
JP
Japan
Prior art keywords
communication
communication history
extraction unit
screen
reproduction
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.)
Active
Application number
JP2011274979A
Other languages
English (en)
Other versions
JP2013125478A (ja
Inventor
昌弘 田中
昌弘 田中
照宣 粂
照宣 粂
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011274979A priority Critical patent/JP5737166B2/ja
Publication of JP2013125478A publication Critical patent/JP2013125478A/ja
Application granted granted Critical
Publication of JP5737166B2 publication Critical patent/JP5737166B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、中継装置などに関する。
コンピュータシステムにおいて、ユーザの操作などの動作履歴をもとに、システムの動作を再現する技術が開示されている。
ウェブシステムにおいても、ユーザの操作を再現する技術がある。ウェブシステムでは、ウェブサーバが、ウェブブラウザでの操作のもと、当該ウェブブラウザとの間でHTTP(Hyper Text Transfer Protocol)でデータのやりとりをして、該当するサービスを提供する。この際、ウェブサーバとウェブブラウザとの間に、データを中継する中継サーバが設置される場合がある。
かかる中継サーバは、ウェブサーバとウェブブラウザとの間の通信メッセージを通信履歴として記録し、記録した通信履歴を用いて通信を再現する。これによって、ユーザが、ウェブサーバへの操作を再現したい場合に、ウェブブラウザでのウェブサーバへの操作を再び行う代わりに、中継サーバが通信履歴を用いて通信を再現することで自動的に該当するサービスへの操作を再現できる。
特開平7−84838号公報
しかしながら、従来の技術では、通信履歴をもとに操作を再現する際、再現に時間がかかるという問題がある。すなわち、ある検索条件の入力に対する検索結果がウェブサーバから戻されることだけを再現したい場合がある。かかる場合に、中継サーバは、単に通信履歴を用いて通信を再現すると、再現をしたい部分以外を再現する。例えば、検索条件を検索画面に含まれるフレームから入力する場合、中継サーバは、当該検索条件が入力されるフレームだけを再現すればよいが、単に通信履歴を用いて再現すると、再現したいフレーム以外の検索画面自体も再現することになる。つまり、中継サーバは不要な通信まで再現するので、再現に時間がかかってしまう。
開示の技術は、操作を再現する際、再現を高速に行うことを可能にすることを目的とする。
1つの側面では、中継装置は、ウェブブラウザが行う操作について、前記ウェブブラウザからウェブサーバに送信されたリクエストデータと前記ウェブサーバから受信したレスポンスデータとを対応付けた通信履歴を記憶した記憶部と、前記記憶部に記憶された通信履歴に基づいて、セッション管理に用いられる情報が存在する前記レスポンスデータと対応付けられた通信履歴を抽出する第1の抽出部と、前記記憶部に記憶された通信履歴に基づいて、前記リクエストデータに含まれる情報であって前記ウェブブラウザ側で出力される画面の遷移を管理するために用いられる情報を辿って得られる一連の通信履歴を抽出する第2の抽出部と、前記第1の抽出部によって抽出された通信履歴および前記第2の抽出部によって抽出された通信履歴の和集合を用いて、前記操作を再現する再現部とを有する。
本願の開示する中継装置の一つの態様によれば、操作を再現する際、再現を高速に行うことができる。
図1は、実施例1に係るウェブ中継システムの構成を示す機能ブロック図である。 図2は、実施例1に係る中継装置の構成を示す機能ブロック図である。 図3は、通信記録テーブルのデータ構造の一例を示す図である。 図4は、実施例1に係る認証状態抽出処理の手順を示すフローチャートである。 図5は、実施例1に係る画面遷移抽出処理の手順を示すフローチャートである。 図6は、実施例1に係る再現抽出処理の手順を示すフローチャートである。 図7は、通信記録の具体例を示す図である。 図8は、ウェブブラウザに表示される画面遷移の具体例を示す図である。 図9は、認証状態抽出処理の具体例を示す図である。 図10は、画面遷移抽出処理の具体例を示す図である。 図11は、再現抽出処理の具体例を示す図である。 図12は、通信再現処理の具体例を示す図である。 図13は、実施例2に係る中継装置の構成を示す機能ブロック図である。 図14Aは、ログイン画面の親画面のHTMLを示す図である。 図14Bは、各小画面に対応させたHTMLを示す図である。 図14Cは、小画面で構成された画面例を示す図である。 図15は、実施例2に係る小画面抽出処理の手順を示すフローチャートである。 図16は、通信記録の具体例を示す図である。 図17は、ウェブブラウザに表示される画面遷移の具体例を示す図である。 図18は、画面遷移抽出処理により抽出された通信記録の具体例を示す図である。 図19は、小画面抽出処理の具体例を示す図である。 図20は、再現抽出処理の具体例を示す図である。 図21は、通信再現処理の具体例を示す図である。 図22は、中継プログラムを実行するコンピュータを示す図である。
以下に、本願の開示する中継装置、中継プログラムおよび中継方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
[実施例1に係るウェブ中継システムの構成]
図1は、本実施例1に係るウェブ中継システム9の構成を示す機能ブロック図である。図1に示すように、ウェブ中継システム9は、中継装置1と、ウェブブラウザ2と、ウェブサーバ3とを有する。中継装置1は、ウェブブラウザ2とウェブサーバ3との間の通信を中継する。ウェブブラウザ2は、ウェブサービスを利用する、パーソナルコンピュータなどのユーザ端末である。ウェブサーバ3は、ウェブサービスを実施する。なお、ウェブ中継システム9では、ウェブサーバ3を中継装置1およびウェブブラウザ2と同一のネットワーク上に適用した場合であっても良いし、ウェブサーバ3を外部装置として異なるネットワーク上に適用した場合であっても良い。
[実施例1に係る中継装置の構成]
図2は、本実施例1に係る中継装置の構成を示す機能ブロック図である。図2に示すように、中継装置1は、制御部10および記憶部11を有する。
制御部10は、プロキシ部12と、通信抽出部13と、通信再現部14とを有する。プロキシ部12は、ウェブブラウザ2が行う一連の操作に関わる、ウェブブラウザ2およびウェブサーバ3間の通信データを通信履歴として記録する。さらに、プロキシ部12は、リクエスト記録部121と、リクエスト送信部122と、レスポンス送信部123と、レスポンス記録部124とを有する。通信抽出部13は、記録した通信履歴から再現に用いられる通信データを抽出し、抽出した通信データを記録する。さらに、通信抽出部13は、認証状態抽出部131と、画面遷移抽出部132と、再現抽出部133とを有する。通信再現部14は、再現に用いられる通信データを用いて操作を再現する。なお、制御部10は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。
記憶部11は、通信記録テーブル111を有する。通信記録テーブル111は、通信履歴を記憶し、最終的に再現に用いられる通信履歴を記憶する。なお、記憶部11は、例えば、RAM(Random Access Memory)、フラッシュメモリ(flash memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。
リクエスト記録部121は、ウェブブラウザ2から送信されたリクエストデータを順次通信記録テーブル111に記録する。リクエスト送信部122は、ウェブブラウザ2から送信されたリクエストデータをウェブサーバに送信する。
レスポンス記録部124は、ウェブサーバ2から送信されたリクエストデータに対応するレスポンスデータを順次通信記録テーブル111に記録する。レスポンス送信部123は、ウェブサーバ2から送信されたリクエストデータに対応するレスポンスデータをウェブブラウザ2に送信する。
ここで、通信記録テーブル111のデータ構造について、図3を参照しながら説明する。図3は、通信記録テーブル111のデータ構造の一例を示す図である。図3に示すように、通信記録テーブル111は、識別番号111a毎に、リクエストデータ111bおよびレスポンスデータ111cを対応付けて記憶する。リクエストデータ111bは、ウェブブラウザ2から送信されたリクエストに関するデータを示す。レスポンスデータ111cは、リクエストに対するレスポンスに関わるデータを示す。識別番号111aは、リクエストデータ111bとレスポンスデータ111cとを対応付けた1組の通信履歴を識別する番号を示す。識別番号111aは受信した時間順に割り当てられる。
一例として、識別番号111aが「1」である場合、リクエストデータ111bとしてログイン画面を取得するリクエストデータ「GET /login HTTP/1.0 Host:sample.com」が記憶されている。レスポンスデータ111cとしてログイン画面を表示するレスポンスデータ「HTTP 1.0 200 OK ・・・<html>ログイン画面・・・</html>」が記憶されている。
図2に戻って、認証状態抽出部131は、通信記録テーブル111に記憶された通信履歴に基づいて、セッション管理に用いられる情報が存在するレスポンスデータ111cと対応付けられた通信履歴を、操作を再現する通信として抽出する。セッション管理に用いられる情報とは、例えば、Set−Cookieヘッダに設定されたセッションid(identification)を指す。
ここで、セッションidを用いた通信について説明する。セッションidは、ウェブブラウザ2の操作(例えばログインやログアウト)により認証状態が変わったときにウェブサーバ3によって設定される。ウェブサーバ3によってSet−Cookieヘッダに設定されたセッションidがウェブブラウザ2へ送信されると、ウェブブラウザ2は、送信されたセッションidを用いてセッション管理を行う。例えば、ウェブブラウザ2は、送信されたセッションidをCookieヘッダに付加したリクエストデータをウェブサーバ3へ送信する。これにより、ウェブサーバ3側では、送信されたセッションidを用いて認証情報を確認できる。また、ウェブブラウザ2は、セッションidを用いて認証が確認されたログイン画面後の画面にアクセスできる。このため、操作の再現を行うには、セッションidを知り得るCookieヘッダが設定された通信が最低限必要な通信と判断される。仮にSet−Cookieヘッダが設定された通信を省くと、セッションidを知り得ないので、再現結果が変わってしまう。すなわち、操作を省いて再現すると結果が変わってしまう通信が最低限必要な通信と判断される。そこで、認証状態抽出部131は、通信記録テーブル111に記憶された通信履歴に基づいて、Set−Cookieヘッダに設定されたセッションidが存在するレスポンスデータ111cと対応付けられた通信履歴を、操作を再現する通信として抽出する。
画面遷移抽出部132は、通信記録テーブル111に記憶された通信履歴に基づいて、ウェブブラウザ2側で表示される画面の遷移を管理するために用いられる情報を辿って得られる一連の通信履歴を抽出する。例えば、HTML文の中に埋め込まれた画像のURLは、省いて再現しても結果に影響がないURLである。そこで、画面遷移抽出部132は、当該URLを含む通信履歴を省き、省いて再現すると結果に影響がある通信履歴を、操作を再現する通信として抽出する。ここで、画面の遷移を管理するために用いられる情報とは、遷移する前の画面のURLを示すレファラー(Referer)を指し、リクエストデータ111bに設定される情報である。
具体的には、画面遷移抽出部132は、再現したい最後の画面に到達するまでの画面遷移を辿って得られる通信履歴を抽出する。画面遷移を辿る方法は、ウェブブラウザ2がリクエストデータのRefererヘッダにRefererを追加することを利用する。これを利用して、画面遷移抽出部132は、再現したい最後の画面にアクセスした通信履歴からRefererヘッダのURLを参照し、その前にアクセスした画面の通信を特定していくことで、一連の画面遷移を辿る。一例として、画面遷移抽出部132は、リクエストデータに設定されたRefererを参照し、該リクエストデータ以前のリクエストデータのうち、リクエスト先のURLが参照したRefererと等値であるリクエストデータを選択する。そして、画面遷移抽出部132は、選択したリクエストデータに対応付けられた通信履歴を抽出する。
再現抽出部133は、認証状態抽出部131によって抽出された通信履歴および画面遷移抽出部132によって抽出された通信履歴を、操作を再現する通信として順序を保持したまま抽出する。例えば、再現抽出部133は、認証状態抽出部131によって抽出された通信履歴と画面遷移抽出部132によって抽出された通信履歴の和集合をとる。そして、再現抽出部133は、通信記録テーブル111に記憶された通信履歴のうち和集合以外の通信履歴を不要な通信として削除し、再現に不要な通信を省いた通信履歴を抽出する。
通信再現部14は、通信記録テーブル111に記憶された通信履歴を用いて、操作を再現する。例えば、通信再現部14は、再現抽出部133によって不要な通信が削除された通信記録テーブル111から通信履歴を読み出し、読み出した通信履歴を用いて、操作を再現する。
[認証状態抽出処理の手順]
次に、認証状態抽出部131による認証状態抽出処理の手順について、図4を参照して説明する。図4は、実施例1に係る認証状態抽出処理の手順を示すフローチャートである。なお、ウェブブラウザ2が行った一連の操作について、通信記録テーブル111に通信履歴が記録されているものとする。
まず、認証状態抽出部131は、通信記録テーブル111から通信履歴の配列R[n]を取得する(ステップS11)。ここでは、nは再現を所望する画面までの通信履歴の個数を指す。そして、認証状態抽出部131は、出力用の通信履歴の集合Sを用意する(ステップS12)。
続いて、認証状態抽出部131は、配列の添え字を示すインデックスiに初期値0を設定する(ステップS13)。そして、認証状態抽出部131は、変数rに通信履歴の配列R[i]を設定する(ステップS14)。
そして、認証状態抽出部131は、変数rに設定された通信履歴のレスポンスデータにSet−Cookieヘッダがあるか否かを判定する(ステップS15)。Set−Cookieヘッダがあると判定した場合(ステップS15;Yes)、認証状態抽出部131は、操作を再現する通信として、集合Sに変数rを追加する(ステップS16)。すなわち、Set−Cookieヘッダがレスポンスデータにある場合には、ウェブブラウザ2の操作により認証状態が変わったことを意味する。したがって、認証状態抽出部131は、Set−Cookieヘッダがある通信を、操作を再現する通信として抽出する。
一方、Set−Cookieヘッダがないと判定した場合(ステップS15;No)、認証状態抽出部131は、ステップS17に移行する。そして、認証状態抽出部131は、インデックスiに1を加算する(ステップS17)。
続いて、認証状態抽出部131は、インデックスiがn−1より大きいか否かを判定する(ステップS18)。インデックスiがn−1より大きくないと判定した場合(ステップS18;No)、認証状態抽出部131は、次の通信履歴を判定すべく、ステップS14に移行する。一方、インデックスiがn−1より大きいと判定した場合(ステップS18;Yes)、認証状態抽出部131は、集合Sを再現抽出部133に出力する(ステップS19)。そして、認証状態抽出部131は、処理を終了する。
[画面遷移抽出処理の手順]
次に、画面遷移抽出部132による画面遷移抽出処理の手順について、図5を参照して説明する。図5は、実施例1に係る画面遷移抽出処理の手順を示すフローチャートである。なお、ウェブブラウザ2が行った一連の操作について、通信記録テーブル111に通信履歴が記録されているものとする。
まず、画面遷移抽出部132は、通信記録テーブル111から通信履歴の配列R[n]を取得する(ステップS21)。ここでは、nは再現を所望する画面までの通信履歴の個数を指す。そして、画面遷移抽出部132は、出力用の通信履歴の集合Tを用意する(ステップS22)。
続いて、画面遷移抽出部132は、最後にアクセスした通信履歴の配列R[n]を変数tに設定する(ステップS23)。そして、画面遷移抽出部132は、配列の添え字を示すインデックスiに最後から1つ前の通信履歴の添え字n−1を設定する(ステップS24)。そして、画面遷移抽出部132は、変数rに通信履歴の配列R[i]を設定する(ステップS25)。
そして、画面遷移抽出部132は、変数tのRefererヘッダの値と変数rのリクエスト先のURLが等値であるか否かを判定する(ステップS26)。変数tのRefererヘッダの値と変数rのリクエスト先のURLが等値であると判定した場合(ステップS26;Yes)、画面遷移抽出部132は、集合Tに変数rを追加する(ステップS27)。すなわち、変数tのRefererヘッダの値と変数rのリクエスト先のURLが等値である場合には、変数rの通信によって表示された画面から変数tの通信によって表示された画面に遷移したことを意味する。したがって、画面遷移抽出部132は、変数rの通信を、操作を再現する通信履歴として抽出する。
そして、画面遷移抽出部132は、変数tを変数rに更新する(ステップS28)。すなわち、画面遷移抽出部132は、さらに、変数rの通信履歴から画面遷移を辿るべく、最後にアクセスした通信履歴を指す変数tを変数rに更新する。
一方、変数tのRefererヘッダの値と変数rのリクエスト先のURLが等値でないと判定した場合(ステップS26;No)、画面遷移抽出部132は、ステップS29に移行する。そして、画面遷移抽出部132は、インデックスiから1を減算する(ステップS29)。
続いて、画面遷移抽出部132は、インデックスiが0より小さいか否かを判定する(ステップS30)。インデックスiが0より小さくないと判定した場合(ステップS30;No)、画面遷移抽出部132は、次の通信履歴を判定すべく、ステップS25に移行する。一方、インデックスiが0より小さいと判定した場合(ステップS30;Yes)、画面遷移抽出部132は、集合Tを再現抽出部133に出力する(ステップS31)。そして、画面遷移抽出部132は、処理を終了する。
[再現抽出処理の手順]
次に、再現抽出部133による再現抽出処理の手順について、図6を参照して説明する。図6は、実施例1に係る再現抽出処理の手順を示すフローチャートである。なお、ウェブブラウザ2が行った一連の操作について、通信記録テーブル111に通信履歴が記録されているものとする。
再現抽出部133は、認証状態抽出部131により抽出された通信の集合Sと画面遷移抽出部132により抽出された通信の集合Tを取得する。さらに、再現抽出部133は、通信記録テーブル111から通信履歴の配列R[n]を取得する(ステップS41)。ここでは、nは再現を所望する画面までの通信履歴の個数を指す。
そして、再現抽出部133は、配列の添え字を示すインデックスiに初期値0を設定する(ステップS42)。そして、再現抽出部133は、変数rに通信履歴の配列R[i]を設定する(ステップS43)。
続いて、再現抽出部133は、変数rに設定された通信履歴が集合Sと集合Tの和集合に含まれるか否かを判定する(ステップS44)。通信履歴が集合Sと集合Tの和集合に含まれないと判定した場合(ステップS44;No)、再現抽出部133は、変数rの通信履歴を配列Rから削除する(ステップS45)。すなわち、再現抽出部133は、通信履歴テーブル111に記憶された通信履歴のうち、集合Sと集合Tの和集合に含まれない通信履歴を再現に不要な通信履歴とする。
一方、通信履歴が集合Sと集合Tの和集合に含まれると判定した場合(ステップS44;Yes)、再現抽出部133は、インデックスiを加算すべく、ステップS46に移行する。そして、再現抽出部133は、インデックスiに1を加算する(ステップS46)。
続いて、再現抽出部133は、インデックスiがn−1より大きいか否かを判定する(ステップS47)。インデックスiがn−1より大きくないと判定した場合(ステップS47;No)、再現抽出部133は、次の通信履歴を判定すべく、ステップS43に移行する。一方、インデックスiがn−1より大きいと判定した場合(ステップS47;Yes)、再現抽出部133は、通信履歴Rを通信記録テーブル111に反映する(ステップS48)。そして、再現抽出部133は、処理を終了する。
[通信記録の具体例]
次に、通信記録の具体例を、図7を参照して説明する。図7は、通信記録の具体例を示す図である。図7に示すように、通信記録は、識別番号毎にリクエストデータとレスポンスデータとを対応付けて記憶されている。識別番号が大きい程、通信記録の時間が新しいことを意味する。
[画面遷移の具体例]
次に、図7で示した各通信履歴に対応した各画面の遷移について、図8を参照して説明する。図8は、ウェブブラウザ2に表示される画面遷移の具体例を示す図である。図8に示すように、ウェブブラウザ2は、ウェブサーバ3との間で識別番号1に対応付けられる通信を行った後、ログイン画面A1を表示する。次に、ウェブブラウザ2は、ウェブサーバ3との間で識別番号2に対応付けられる通信を行った後、ログイン画面A1上に「logo.gif」の画像a1を表示する。さらに、ウェブブラウザ2は、ウェブサーバ3との間で識別番号2に対応付けられる通信を行った後、ログイン画面A1上に「info.html」の画面a2を表示する。次に、利用者がログイン画面A1上の「login」を押下し、ウェブブラウザ2が、ウェブサーバ3との間で識別番号4に対応付けられる通信を行った後、ログイン後のトップページ画面A2を表示する。次に、ウェブブラウザ2は、ウェブサーバ3との間で識別番号5に対応付けられる通信を行った後、ログイン後のトップページ画面A2上に「logo2.gif」の画像a3を表示する。さらに、利用者が「設定」を押下し、ウェブブラウザ2が、ウェブサーバ3との間で識別番号6に対応付けられる通信を行った後、設定情報ページA3を表示する。
[認証状態抽出処理の具体例]
次に、図7で示した各通信履歴を用いた認証状態抽出処理について、図9を参照して説明する。図9は、認証状態抽出処理の具体例を示す図である。図9に示すように、識別番号4および識別番号6のレスポンスデータにSet−Cookieヘッダが設定されている。
認証状態抽出部131は、識別番号1から順に、識別番号に対応付けられたレスポンスデータにSet−Cookieヘッダがあるか否かを判定する。ここでは、認証状態抽出部131は、識別番号4に対応付けられたレスポンスデータにSet−Cookieヘッダb1があると判定する。そして、認証状態抽出部131は、識別番号4に対応する通信履歴を抽出する。すなわち、識別番号4では、ウェブブラウザ2の「ログイン」の操作により認証状態が変わったので、認証状態抽出部131は、操作を再現する通信として識別番号4に対応する通信履歴を抽出する。さらに、認証状態抽出部131は、識別番号6に対応付けられたレスポンスデータにSet−Cookieヘッダb2があると判定する。そして、認証状態抽出部131は、識別番号6に対応する通信履歴を抽出する。すなわち、識別番号6では、ウェブブラウザ2の「設定」の押下により認証状態が変わったので、認証状態抽出部131は、操作を再現する通信として識別番号6に対応する通信履歴を抽出する。
このようにして、認証状態抽出部131は、セッション管理に用いられるセッションidが設定された通信を、操作を再現する通信として抽出する。ここでは、認証状態抽出部131は、識別番号4、6の通信履歴を、操作を再現する通信として抽出する。
[画面遷移抽出処理の具体例]
次に、図7で示した各通信履歴を用いた画面遷移抽出処理について、図10を参照して説明する。図10は、画面遷移抽出処理の具体例を示す図である。図10に示すように、画面遷移抽出部132は、最後の通信履歴に設定されたRefererを参照し、最後の通信履歴から通信履歴を遡って、リクエスト先のURLが、参照したRefererの値と等値である通信履歴を抽出する。ここでは、識別番号6の通信履歴が、最後の通信履歴であり、識別番号6のリクエストデータに設定されたRefererは、「http://sample.com/top」c1である。
すると、画面遷移抽出部132は、識別番号6のリクエストデータに設定されたRefererを参照し、リクエスト先のURLが参照したRefererの値と等値である通信履歴として識別番号4の通信履歴を抽出する。識別番号4のリクエスト先のURLは、ドメインを示す「sample.com」c3とパスを示す「/top」c2とから「sample.com/top」であるので、識別番号6のリクエストデータに設定されたRefererと等値である。したがって、画面遷移抽出部132は、識別番号4の通信履歴を、操作を再現する通信として抽出する。なお、識別番号5のリクエスト先のURLは、「sample.com/logo2.gif」であるので、識別番号6のリクエストデータに設定されたRefererと等値でないので、操作を再現する通信として不要な通信であり抽出しない。
さらに、画面遷移抽出部132は、識別番号4の通信履歴に設定されたRefererを参照し、識別番号4の通信履歴から通信履歴を遡って、リクエスト先のURLが参照したRefererの値と等値である通信履歴を抽出する。ここでは、識別番号4のリクエストデータに設定されたRefererは、「http://sample.com/login」c4である。
すると、画面遷移抽出部132は、識別番号4のリクエストデータに設定されたRefererを参照し、リクエスト先のURLが参照したRefererの値と等値である通信履歴として識別番号1の通信履歴を抽出する。識別番号1のリクエスト先のURLは、ドメインを示す「sample.com」c6とパスを示す「/login」c5とから「sample.com/login」であるので、識別番号4のリクエストデータに設定されたRefererと等値である。したがって、画面遷移抽出部132は、識別番号1の通信履歴を、操作を再現する通信として抽出する。なお、識別番号2、3のリクエスト先のURLは、識別番号6のリクエストデータに設定されたRefererと等値でないので、操作を再現する通信として不要な通信であり抽出しない。
このようにして、画面遷移抽出部132は、最後の通信履歴のRefererから前の通信履歴を辿って得られる一連の通信を、操作を再現する通信として抽出する。ここでは、画面遷移抽出部132は、識別番号1、4、6の通信履歴を、操作を再現する通信として抽出する。
[再現抽出処理の具体例]
次に、図7で示した各通信履歴を用いた再現抽出処理について、図11を参照して説明する。図11は、再現抽出処理の具体例を示す図である。
再現抽出部133は、認証状態抽出部131によって抽出された通信履歴と画面遷移抽出部132によって抽出された通信履歴の和集合をとる。ここでは、認証状態抽出部131によって抽出された通信履歴が、識別番号4、6の各通信履歴である。画面遷移抽出部132によって抽出された通信履歴が、識別番号1、4、6の各通信履歴である。したがって、再現抽出部133は、識別番号1、4、6の各通信履歴を、通信履歴の和集合とする。そして、再現抽出部133は、通信記録テーブル111に記憶された通信履歴のうち和集合以外の通信履歴を削除し、再現に不要な通信を省いた通信履歴を抽出する。ここでは、再現抽出部133は、識別番号2、3、5の通信履歴を削除し、再現に不要な通信を省いた識別番号1、4、6の各通信履歴を抽出する。
このようにして、再現抽出部133は、認証状態抽出部131によって抽出された通信履歴と画面遷移抽出部132によって抽出された通信履歴の和集合を、操作を再現する通信として抽出する。ここでは、再現抽出部133は、識別番号1、4、6の通信履歴を、操作を再現する通信として抽出する。
[通信再現処理の具体例]
次に、図11で抽出された各通信履歴を用いた通信再現処理について、図12を参照して説明する。図12は、通信再現処理の具体例を示す図である。なお、通信再現処理は、通信履歴を用いて操作を再現する際、最後の通信履歴に対応するレスポンス以外レスポンスをウェブブラウザ2に戻さない。したがって、実際に、ウェブブラウザ2が、最後から1つ前の通信履歴までのレスポンスを用いて画面を表示することはない。しかしながら、図12では、説明の便宜上、仮にウェブブラウザ2にレスポンスを戻すとした場合に、ウェブブラウザ2側で表示する画面を利用して、通信再現処理を説明するものとする。
通信再現部14は、再現抽出部133によって不要な通信が削除された通信記録テーブル111から通信履歴を読み出し、読み出した通信履歴を用いて、操作を再現する。具体的には、通信再現部14は、識別番号1に対応付けられる通信履歴を用いて通信を再現する。ここで、仮にウェブブラウザ2にレスポンスが戻った場合、ウェブブラウザ2は、ログイン画面A1を表示することになる。次に、通信再現部14は、識別番号4に対応付けられる通信履歴を用いて通信を再現する。ここで、仮にウェブブラウザ2にレスポンスが戻った場合、ウェブブラウザ2は、ログイン後のトップページA2を表示することになる。つまり、「logo.gif」の画像が表示される、識別番号2に対応付けられる通信および「info.html」の画面が表示される、識別番号3に対応付けられる通信が排除されているが、これらの通信が省かれても、再現結果が変わらず、ログイン後のトップページA2が表示される。さらに、通信再現部14は、識別番号6に対応付けられる最後の通信履歴を用いて通信を再現する。ここで、ウェブブラウザ2にレスポンスが戻ると、ウェブブラウザ2は、設定情報ページA3を表示する。つまり、「logo2.gif」の画像が表示される、識別番号5に対応付けられる通信が排除されているが、この通信が省かれても、再現結果が変わらず、設定情報ページA3が表示される。
このようにして、通信再現部14は、通信履歴を用いて操作を再現する際に、操作を省くと再現結果が変わってしまう通信を再現する。言い換えると、通信再現部14は、操作を省いて再現すると再現結果が変わってしまう通信以外は再現しないようにする。これにより、通信再現部14は、通信履歴を全て使用して再現する場合と比較して、高速に再現することが可能となる。
[実施例1の効果]
上記実施例1によれば、認証状態抽出部131は、通信記録テーブル111に記憶された通信履歴に基づいて、セッション管理に用いられるSet−Cookieヘッダが存在するレスポンスデータと対応付けられた通信履歴を抽出する。また、画面遷移抽出部132は、通信記録テーブル111に記憶された通信履歴に基づいて、リクエストデータに含まれる情報であってウェブブラウザ2側で表示される画面の遷移を管理するために用いられるRefererヘッダを辿って得られる一連の通信履歴を抽出する。そして、通信再現部14は、認証状態抽出部131によって抽出された通信履歴および画面遷移抽出部132によって抽出された通信履歴の和集合を用いて、操作を再現する。かかる構成によれば、中継装置1は、操作を省いて再現すると再現結果に影響がある通信履歴、すなわち、レスポンスデータにSet−Cookieヘッダが存在する通信履歴を抽出する。また、中継装置1は、HTML文の中に再現結果に影響がないURLを含む通信履歴を省くように、リクエストデータのRefererヘッダを辿って得られる一連の通信履歴を抽出する。これにより、中継装置1は、操作を再現する際、操作を省いても再現結果に影響がない通信履歴を省くので、高速に再現処理を行うことができる。
ところで、実施例1に係る中継装置1では、再現結果に影響がない通信履歴として、例えばHTML文の中に埋め込まれた画像のURLを含む通信履歴を、操作を省く通信として排除するようにした。しかしながら、中継装置1は、これに限定されず、再現結果に影響がない通信履歴として、さらに、小画面の構成を記述するだけの親画面の通信履歴を、操作を省く通信として排除するようにしても良い。そこで、実施例2では、再現結果に影響がない通信履歴として、小画面の構成を記述するだけの親画面の通信履歴を、操作を省く通信として排除する中継装置1Aについて説明する。
[実施例2に係る中継装置の構成]
図13は、実施例2に係る中継装置の構成を示す機能ブロック図である。なお、図2に示す中継装置1と同一の構成については同一符号を示すことで、その重複する構成および動作の説明については省略する。実施例1と実施例2とが異なるところは、通信抽出部13に小画面抽出部201を追加した点にある。また、実施例1と実施例2とが異なるところは、再現抽出部133を再現抽出部133Aに変更した点にある。
小画面抽出部201は、画面遷移抽出部132によって抽出された通信履歴から、フレーム(小画面)の構成を記述するだけの画面(親画面)の通信履歴を削除する。すなわち、小画面の構成を記述するだけの親画面のHTMLは、小画面を配置することを宣言しているにすぎないので、親画面の通信を不要とする。ここで、図14A〜図14Cを参照して、小画面の構成を記述するだけの親画面の通信が不要であることを説明する。
図14Aは、ログイン画面の親画面のHTMLを示す図である。図14Bは、各小画面に対応させたHTMLを示す図である。図14Cは、小画面で構成された画面例を示す図である。図14Aに示すように、ログイン画面の親画面のHTMLには、小画面を構成する「frameset」タグが設定されている。そして、「frameset」タグ内に、小画面として、タイトル画面を示す「/title.html」、リンク画面を示す「/link.html」およびログイン画面を示す「/login」が設定されている。すなわち、図14Aで示すHTMLは、親画面がタイトル画面とリンク画面とログイン画面とで配置されることを宣言している。そして、図14Bに示す各小画面に対応させたHTMLにより、図14Cに示す各小画面の内容で構成された画面が表示される。そうすると、図14Aで示す親画面のHTMLは、小画面の構成を記述するだけのHTMLとなるため、親画面の通信を省略しても画面遷移には影響しない。そこで、通信履歴のレスポンスHTMLに「frameset」タグがあり、「frame src」の値が次のリクエスト先を指している場合、この「frameset」タグがある通信を親画面と判断し、不要な通信として排除する。
再現抽出部133Aは、認証状態抽出部131によって抽出された通信履歴および小画面抽出部201によって抽出された通信履歴を、再現に必要な通信として順序を保持したまま抽出する。例えば、再現抽出部133Aは、認証状態抽出部131によって抽出された通信履歴と小画面抽出部201によって抽出された通信履歴の和集合をとる。そして、再現抽出部133Aは、通信記録テーブル111に記憶された通信履歴のうち和集合以外の通信履歴を不要な通信として削除し、再現に不要な通信を省いた通信履歴を抽出する。
[小画面抽出処理の手順]
次に、小画面抽出部201による小画面抽出処理の手順について、図15を参照して説明する。図15は、実施例2に係る小画面抽出処理の手順を示すフローチャートである。なお、ウェブブラウザ2が行った一連の操作について、通信記録テーブル111に通信履歴が記録されているものとする。また、画面遷移抽出部132によって該当する通信履歴が抽出されたものとする。
まず、小画面抽出部201は、画面遷移抽出部132によって抽出された通信の集合Tを画面遷移抽出部132から取得する(ステップS51)。ここでは、通信の集合Tに属する通信履歴は、n個あるものとする。小画面抽出部201は、配列の添え字を示すインデックスiに集合Tの最後の通信履歴を指すn−1を設定する(ステップS52)。
続いて、小画面抽出部201は、変数sに通信履歴の配列T[i]を設定する(ステップS53)。そして、小画面抽出部201は、変数sのレスポンスデータがHTML文書であり、「frameset」タグが含まれるか否かを判定する(ステップS54)。なお、小画面抽出部201は、レスポンスデータがHTML文書であるか否かを、レスポンスデータに「Content_Type:text/html」が設定されているか否かで判定する。
レスポンスデータがHTML文書であり、「frameset」タグが含まれると判定した場合(ステップS54;Yes)、小画面抽出部201は、レスポンスデータの「frameset」タグで囲まれた各frameタグのsrc属性のURL値を集合Fに格納する(ステップS55)。そして、小画面抽出部201は、インデックスmに集合Tの最後の通信履歴を指すn−1を設定する(ステップS56)。
続いて、小画面抽出部201は、変数tに通信履歴の配列T[m]を設定する(ステップS57)。そして、小画面抽出部201は、変数tのリクエスト先のURLが集合Fに含まれ、且つ変数tのRefererヘッダの値が変数sのリクエスト先のURLと等値であるか否かを判定する(ステップS58)。リクエスト先のURLが集合Fに含まれ、且つ変数tのRefererヘッダの値が変数sのリクエスト先のURLと等値であると判定した場合(ステップS58;Yes)、小画面抽出部201は、集合Tから変数sの通信履歴を削除する(ステップS59)。すなわち、小画面抽出部201は、変数sで表される通信を変数tで表される通信の親画面であると判断し、不要な通信として排除する。そして、小画面抽出部201は、インデックスiを減算すべく、ステップS62に移行する。
一方、リクエスト先のURLが集合Fに含まれない、または変数tのRefererヘッダの値が変数sのリクエスト先のURLと等値でないと判定した場合(ステップS58;No)、小画面抽出部201は、インデックスmから1を減算する(ステップS60)。そして、小画面抽出部201は、インデックスmが0より小さいか否かを判定する(ステップS61)。インデックスmが0以上と判定した場合(ステップS61;No)、小画面抽出部201は、次の通信履歴を選択すべく、ステップS57に移行する。
インデックスmが0より小さいと判定した場合(ステップS61;Yes)、小画面抽出部201は、インデックスiから1を減算する(ステップS62)。そして、小画面抽出部201は、インデックスiが0より小さいか否かを判定する(ステップS63)。インデックスiが0以上であると判定した場合(ステップS63;No)、小画面抽出部201は、次の「frameset」タグを探索すべく、ステップS53に移行する。
一方、インデックスiが0より小さいと判定した場合(ステップS63;Yes)、小画面抽出部201は、集合Tを再現抽出部133Aに出力する(ステップS64)。そして、小画面抽出部201は、処理を終了する。
[通信記録の具体例]
次に、通信記録の具体例を、図16を参照して説明する。図16は、通信記録の具体例を示す図である。図16に示すように、通信記録は、識別番号毎にリクエストデータとレスポンスデータとを対応付けて記憶されている。識別番号が大きい程、通信記録の時間が新しいことを意味する。
[画面遷移の具体例]
次に、図16で示した各通信履歴に対応した各画面の遷移について、図17を参照して説明する。図17は、ウェブブラウザ2に表示される画面遷移の具体例を示す図である。図17に示すように、ウェブブラウザ2は、ウェブサーバ3との間で識別番号1に対応付けられる通信を行った後、親画面B1を表示する。次に、ウェブブラウザ2は、ウェブサーバ3との間で識別番号2に対応付けられる通信を行った後、親画面B1上にタイトル画面d1を表示する。次に、ウェブブラウザ2は、ウェブサーバ3との間で識別番号3に対応付けられる通信を行った後、親画面B1上にリンク画面d2を表示する。次に、ウェブブラウザ2は、ウェブサーバ3との間で識別番号4に対応付けられる通信を行った後、親画面B1上にログイン画面d3を表示する。次に、ウェブブラウザ2は、ウェブサーバ3との間で識別番号5に対応付けられる通信を行った後、ログイン画面d3上に「logo.gif」の画像d4を表示する。次に、ウェブブラウザ2は、ウェブサーバ3との間で識別番号6に対応付けられる通信を行った後、ログイン画面d3上に「info.html」の画面d5を表示する。
さらに、利用者がログイン画面d3上の「login」を押下し、ウェブブラウザ2が、ウェブサーバ3との間で識別番号7に対応付けられる通信を行った後、ログイン後の親画面B2を表示する。次に、ウェブブラウザ2は、ウェブサーバ3との間で識別番号8に対応付けられる通信を行った後、ログイン後の親画面B2上にタイトル画面d6を表示する。次に、ウェブブラウザ2は、ウェブサーバ3との間で識別番号9に対応付けられる通信を行った後、ログイン後の親画面B2上にリンク画面d7を表示する。さらに、ウェブブラウザ2は、ウェブサーバ3との間で識別番号10に対応付けられる通信を行った後、ログイン後の親画面B2上にログイン後メニュー画面d8を表示する。
[画面遷移抽出処理により抽出された通信記録の具体例]
次に、図16で示した各通信履歴を用いた画面遷移抽出処理について、図18を参照して説明する。図18は、画面遷移抽出処理の具体例を示す図である。図18に示すように、画面遷移抽出部132は、最後の通信履歴に設定されたRefererを参照し、最後の通信履歴から通信履歴を遡って、リクエスト先のURLが、参照したRefererの値と等値である通信履歴を抽出する。ここでは、画面遷移抽出部132は、識別番号10の最後の通信履歴から通信履歴を遡って、リクエスト先のURLが、識別番号10における参照したRefererの値と等値である識別番号7の通信履歴を抽出する。また、画面遷移抽出部132は、識別番号7の通信履歴から通信履歴を遡って、リクエスト先のURLが、識別番号7における参照したRefererの値と等値である識別番号4の通信履歴を抽出する。さらに、画面遷移抽出部132は、識別番号4の通信履歴から通信履歴を遡って、リクエスト先のURLが、識別番号4における参照したRefererの値と等値である識別番号1の通信履歴を抽出する。
[小画面抽出処理の具体例]
次に、図18で示した各通信履歴を用いた小画面抽出処理について、図19を参照して説明する。図19は、小画面抽出処理の具体例を示す図である。なお、図19で示す各通信履歴は、図18で示した各通信履歴を詳細に表したものである。図19に示すように、小画面抽出部201は、通信履歴のレスポンスデータの中で、「frameset」タグを含んでいるものを、最後の通信履歴(識別番号10)から通信履歴を遡って探索する。そして、小画面抽出部201は、「frameset」タグを含んでいるレスポンスデータからframeタグ内のsrc属性のURL値を抽出する。ここでは、小画面抽出部201は、識別番号7のレスポンスデータに「frameset」タグE1、E2を含んでいると判定する。そして、小画面抽出部201は、frameタグ内のsrc属性のURL値である「/title.html」e1、「/link.html」e2、「/menu.html」e3を抽出する。
さらに、小画面抽出部201は、識別番号7と異なる通信履歴を探し、探した通信履歴のリクエスト先URLがsrc属性のいずれかの値と同じであるか否かを判定する。加えて、小画面抽出部201は、探した通信履歴のRefererヘッダの値がsrc属性のあった通信履歴のリクエスト先URLと等値であるか否かを判定する。ここでは、識別番号10のリクエスト先URLが「/menu.html」f1であり、小画面抽出部201は、当該リクエスト先URLがsrc属性の「/menu.html」e3と同じであると判定する。また、識別番号10のRefererヘッダの値が「http://sample.com/」r1であり、src属性のあった通信履歴のリクエスト先URLが「sample.com」g1である。このため、小画面抽出部201は、r1が示す値とg1が示す値とは等値であると判定する。そこで、小画面抽出部201は、識別番号7に対応する画面を、メニュー画面を含む小画面の構成を記述するだけの親画面であると判断し、親画面の通信履歴(識別番号7)を削除する。一方、小画面抽出部201は、識別番号10の通信履歴を、操作を再現する通信履歴として抽出する。
引き続き、小画面抽出部201は、通信履歴のレスポンスデータの中で、「frameset」タグを含んでいるものを、通信履歴を遡って探索する。そして、小画面抽出部201は、「frameset」タグを含んでいるレスポンスデータからframeタグ内のsrc属性のURL値を抽出する。ここでは、小画面抽出部201は、識別番号1のレスポンスデータに「frameset」タグE3、E4を含んでいると判定する。そして、小画面抽出部201は、frameタグ内のsrc属性のURL値である「/title.html」e4、「/link.html」e5、「/login」e6を抽出する。
さらに、小画面抽出部201は、識別番号1と異なる通信履歴を探し、探した通信履歴のリクエスト先URLがsrc属性のいずれかの値と同じであるか否かを判定する。加えて、小画面抽出部201は、探した通信履歴のRefererヘッダの値がsrc属性のあった通信履歴のリクエスト先URLと等値であるか否かを判定する。ここでは、識別番号4のリクエスト先URLが「/login」f2であり、小画面抽出部201は、当該リクエスト先URLがsrc属性の「/login」e6と同じであると判定する。また、識別番号4のRefererヘッダの値が「http://sample.com/parent」r2である。src属性のあった通信履歴のリクエスト先URLがドメインを示す「sample.com」g3とパスを示す「/parent」g2とから「sample.com/parent」である。このため、小画面抽出部201は、識別番号4のRefererヘッダの値とsrc属性のあった通信履歴のリクエスト先URLとは等値であると判定する。そこで、小画面抽出部201は、識別番号1を、ログイン画面を含む小画面の構成を記述するだけの親画面であると判断し、親画面の通信履歴(識別番号1)を削除する。一方、小画面抽出部201は、識別番号4の通信履歴を、操作を再現する通信履歴として抽出する。
このようにして、小画面抽出部201は、小画面の構成を記述するだけの親画面の通信を排除し、小画面自体の通信を、操作を再現する通信として抽出する。ここでは、小画面抽出部201は、識別番号4、10の通信履歴を、操作を再現する通信として抽出する。
[再現抽出処理の具体例]
次に、図16で示した各通信履歴を用いた再現抽出処理について、図20を参照して説明する。図20は、再現抽出処理の具体例を示す図である。
再現抽出部133Aは、認証状態抽出部131によって抽出された通信履歴と小画面抽出部201によって抽出された通信履歴の和集合をとる。ここでは、認証状態抽出部131によって抽出された通信履歴が、識別番号4、10の各通信履歴であるとする。また、小画面抽出部201によって抽出された通信履歴も、識別番号4、10の各通信履歴である。したがって、再現抽出部133Aは、通信履歴の和集合として識別番号4、10をとる。そして、再現抽出部133Aは、通信記録テーブル111に記憶された通信履歴のうち和集合以外の通信履歴を削除し、再現に不要な通信を省いた通信履歴を抽出する。ここでは、再現抽出部133Aは、識別番号1〜3、5〜9の通信履歴を削除し、再現に不要な通信を省いた識別番号4、10の通信履歴を抽出する。
このようにして、再現抽出部133Aは、認証状態抽出部131によって抽出された通信履歴と小画面抽出部201によって抽出された通信履歴の和集合を、操作を再現する通信として抽出する。ここでは、再現抽出部133Aは、識別番号4、10の通信履歴を、操作を再現する通信として抽出する。
[通信再現処理の具体例]
次に、図20で抽出された各通信履歴を用いた通信再現処理について、図21を参照して説明する。図21は、通信再現処理の具体例を示す図である。なお、通信再現処理は、通信履歴を用いて操作を再現する際、最後の通信履歴に対応するレスポンス以外レスポンスをウェブブラウザ2に戻さない。したがって、実際に、ウェブブラウザ2が、最後から1つ前の通信履歴までのレスポンスを用いて画面を表示することはない。しかしながら、図21では、説明の便宜上、仮にウェブブラウザ2にレスポンスを戻すとした場合に、ウェブブラウザ2側で表示する画面を利用して、通信再現処理を説明するものとする。
通信再現部14は、再現抽出部133によって不要な通信が削除された通信記録テーブル111から通信履歴を読み出し、読み出した通信履歴を用いて、操作を再現する。具体的には、通信再現部14は、識別番号4に対応付けられる通信履歴を用いて通信を再現する。ここで、仮にウェブブラウザ2にレスポンスが戻った場合、ウェブブラウザ2は、ログイン画面d3を表示することになる。つまり、親画面B1が表示される、識別番号1に対応付けられる通信が排除されているが、この通信が省かれても、再現結果が変わらず、ログイン画面d3が表示される。次に、通信再現部14は、識別番号10に対応付けられる最後の通信履歴を用いて通信を再現する。ここで、ウェブブラウザ2にレスポンスが戻ると、ウェブブラウザ2は、ログイン後メニュー画面d8を表示する。つまり、親画面B2が表示される、識別番号7に対応付けられる通信が排除されているが、この通信が省かれても、再現結果が変わらず、ログイン後メニュー画面d8が表示される。
このようにして、通信再現部14は、通信履歴を用いて操作を再現する際に、操作を省いても再現結果が変わらない通信として、さらに、親画面の通信を省いた通信を再現する。これにより、通信再現部14は、通信履歴を全て使用して再現する場合と比較して、高速に再現することが可能となる。
[実施例2の効果]
上記実施例2によれば、認証状態抽出部131は、通信記録テーブル111に記憶された通信履歴に基づいて、セッション管理に用いられるSet−Cookieヘッダが存在するレスポンスデータと対応付けられた通信履歴を抽出する。また、画面遷移抽出部132は、通信記録テーブル111に記憶された通信履歴に基づいて、リクエストデータに含まれる情報であってウェブブラウザ2側で表示される画面の遷移を管理するために用いられるRefererヘッダを辿って得られる一連の通信履歴を抽出する。さらに、小画面抽出部201は、画面遷移抽出部132によって抽出された通信履歴から、画面内に小画面を構成する際に用いられる「frameset」が存在するレスポンスデータと対応付けられた通信履歴を削除し、削除した通信履歴を除いた通信履歴を抽出する。通信再現部14は、認証状態抽出部131によって抽出された通信履歴および小画面抽出部201によって抽出された通信履歴の和集合を用いて、操作を再現する。かかる構成によれば、中継装置1Aは、画面内に小画面を構成する際に用いられる「frameset」が存在するレスポンスデータと対応付けられた通信履歴を削除する。これにより、中継装置1Aは、操作を再現する際、操作を省いても再現結果に影響がない通信履歴として、小画面の構成を記述するだけの親画面の通信履歴を省くので、高速に再現処理を行うことができる。
なお、認証状態抽出部131は、通信記録テーブル111に記憶された通信履歴に基づいて、セッション管理に用いられる情報が存在するレスポンスデータ111cと対応付けられた通信履歴を、操作を再現する通信として抽出する。実施例では、セッション管理に用いられる情報を、Set−Cookieヘッダに設定されたセッションidとして説明した。しかしながら、セッション管理に用いられる情報は、これに限定されず、認証状態が変わったときに設定される情報であれば良い。
また、画面遷移抽出部132は、通信記録テーブル111に記憶された通信履歴に基づいて、ウェブブラウザ2側で表示される画面の遷移を管理するために用いられる情報を辿って得られる一連の通信履歴を抽出する。実施例では、画面の遷移を管理するために用いられる情報を、Refererヘッダに設定されたURLとして説明した。しかしながら画面の遷移を管理するために用いられる情報は、これに限定されず、遷移する前の画面のアドレスを示す情報であれば良い。
また、小画面抽出部201は、画面遷移抽出部132によって抽出された通信履歴から、小画面の構成を記述するだけの親画面の通信履歴を削除する。実施例では、小画面の構成を記述するだけの親画面の通信履歴を、少なくとも「frameset」タグを含む通信履歴として説明した。しかしながら、小画面の構成を記述するだけの親画面の通信履歴は、これに限定されず、小画面の構成を記述するだけの情報であれば良い。
また、中継装置1は、ウェブブラウザ2と同一のネットワーク上に適用した場合を説明した。しかしながら、中継装置1は、ウェブブラウザ2と異なるネットワーク上に適用しても良い。この場合に、ウェブブラウザ2と中継装置1との間にプロキシサーバを設置することもある。このプロキシサーバと中継装置1とを一体化することも可能である。
[プログラムなど]
なお、中継装置1は、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記したプロキシ部12、通信抽出部13および通信再現部14などの各機能を搭載することによって実現することができる。
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、画面遷移抽出部132と小画面抽出部201とを1個の部として統合しても良い。一方、通信記録テーブル111を、プロキシ部12によって通信を記録する通信記録テーブルと、再現する通信を記録する再現記録テーブルとに分散しても良い。かかる場合、再現抽出部133Aは、通信記録テーブル111に記憶された通信履歴のうち和集合以外の通信履歴を不要な通信とし、再現に不要な通信を省いた通信履歴を再現記録テーブルに記録すれば良い。そして、通信再現部14は、再現記録テーブルから通信履歴を読み出し、読み出した通信履歴を用いて、操作を再現すれば良い。
また、通信記録テーブル111などの記憶部を中継装置1の外部装置としてネットワーク経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図22を用いて、図2に示した中継装置1の制御部10と同様の機能を有する中継プログラムを実行するコンピュータの一例を説明する。
図22は、中継プログラムを実行するコンピュータを示す図である。図22に示すように、コンピュータ1000は、RAM(Random Access Memory)1010と、ネットワークインタフェース装置1020と、HDD1030と、CPU(Central Processing Unit)1040、媒体読取装置1050およびバス1060とを有する。RAM1010、ネットワークインタフェース装置1020、HDD1030、CPU1040、媒体読取装置1050は、バス1060によって接続されている。
そして、HDD1030には、図2に示した制御部10と同様の機能を有する中継プログラム1031が記憶される。また、HDD1030には、図2に示した通信記録テーブル111に対応する中継処理関連情報1032が記憶される。
そして、CPU1040が中継プログラム1031をHDD1030から読み出してRAM1010に展開することにより、中継プログラム1031は、中継プロセス1011として機能するようになる。そして、中継プロセス1011は、中継処理関連情報1032から読み出した情報などを適宜RAM1010上の自身に割り当てられた領域に展開し、この展開したデータなどに基づいて各種データ処理を実行する。
媒体読取装置1050は、中継プログラム1031がHDD1030に格納されていない場合であっても中継プログラム1031を記憶する媒体などから中継プログラム1031を読み取る。媒体読取装置1050には、例えばCD−ROMや光ディスク装置がある。また、ネットワークインタフェース装置1020は、外部装置とネットワーク経由で接続する装置であり、有線、無線がある。
なお、上記の中継プログラム1031は、必ずしもHDD1030に格納されている必要はなく、CD−ROMなどの媒体読取装置1050に記憶されたこのプログラムを、コンピュータ1000が読み出して実行するようにしてもよい。また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などを介してコンピュータ1000に接続される他のコンピュータ(またはサーバ)などにこのプログラムを記憶させておいても良い。この場合には、コンピュータ1000がネットワークインタフェース装置1020を介してこれらからプログラムを読み出して実行する。
以上の実施例1〜2を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)ウェブブラウザが行う操作について、前記ウェブブラウザからウェブサーバに送信されたリクエストデータと前記ウェブサーバから受信したレスポンスデータとを対応付けた通信履歴を記憶した記憶部と、
前記記憶部に記憶された通信履歴に基づいて、セッション管理に用いられる情報が存在する前記レスポンスデータと対応付けられた通信履歴を抽出する第1の抽出部と、
前記記憶部に記憶された通信履歴に基づいて、前記リクエストデータに含まれる情報であって前記ウェブブラウザ側で出力される画面の遷移を管理するために用いられる情報を辿って得られる一連の通信履歴を抽出する第2の抽出部と、
前記第1の抽出部によって抽出された通信履歴および前記第2の抽出部によって抽出された通信履歴の和集合を用いて、前記操作を再現する再現部と
を有することを特徴とする中継装置。
(付記2)前記第1の抽出部は、クッキーが設定される前記レスポンスデータに対応付けられた通信記録を抽出することを特徴とする付記1に記載の中継装置。
(付記3)前記第2の抽出部は、前記操作におけるリクエストデータに設定された遷移元画面のアドレスを示すリファラーを参照し、該リクエストデータ以前のリクエストデータのうち、リクエストを要求するアドレスが該参照したリファラーが示すアドレスと同じであるリクエストデータを選択し、選択したリクエストデータの通信記録を抽出することを特徴とする付記1に記載の中継装置。
(付記4)前記第2の抽出部によって抽出された通信履歴から、画面内に小画面を構成する際に用いられる情報が存在する前記レスポンスデータと対応付けられた通信履歴を削除し、削除した通信履歴を除いた通信履歴を抽出する第3の抽出部をさらに有し、
前記再現部は、
前記第1の抽出部によって抽出された通信履歴および前記第3の抽出部によって抽出された通信履歴の和集合を用いて、前記操作を再現する
ことを特徴とする付記1から付記3のいずれか1つに記載の中継装置。
(付記5)コンピュータに、
ウェブブラウザが行う操作について、前記ウェブブラウザからウェブサーバに送信されたリクエストデータと前記ウェブサーバから受信したレスポンスデータとを対応付けた通信履歴を記憶した記憶部に記憶された通信履歴に基づいて、セッション管理に用いられる情報が存在する前記レスポンスデータと対応付けられた通信履歴を抽出し、
前記記憶部に記憶された通信履歴に基づいて、前記リクエストデータに含まれる情報であって前記ウェブブラウザ側で出力される画面の遷移を管理するために用いられる情報を辿って得られる一連の通信履歴を抽出し、
2つの前記抽出する処理によって抽出された通信履歴の和集合を用いて、前記操作を再現する
処理を実行させる中継プログラム。
(付記6)コンピュータが
ウェブブラウザが行う操作について、前記ウェブブラウザからウェブサーバに送信されたリクエストデータと前記ウェブサーバから受信したレスポンスデータとを対応付けた通信履歴を記憶した記憶部に記憶された通信履歴に基づいて、セッション管理に用いられる情報が存在する前記レスポンスデータと対応付けられた通信履歴を抽出し、
前記記憶部に記憶された通信履歴に基づいて、前記リクエストデータに含まれる情報であって前記ウェブブラウザ側で出力される画面の遷移を管理するために用いられる情報を辿って得られる一連の通信履歴を抽出し、
2つの前記抽出する処理によって抽出された通信履歴の和集合を用いて、前記操作を再現する
各処理を実行することを特徴とする中継方法。
1、1A 中継装置
2 ウェブブラウザ
3 ウェブサーバ
9 ウェブ中継システム
10 制御部
11 記憶部
12 プロキシ部
13 通信抽出部
14 通信再現部
111 通信記録テーブル
121 リクエスト記録部
122 リクエスト送信部
123 レスポンス送信部
124 レスポンス記録部
131 認証状態抽出部
132 画面遷移抽出部
133、133A 再現抽出部

Claims (4)

  1. ウェブブラウザが行う操作について、前記ウェブブラウザからウェブサーバに送信されたリクエストデータと前記ウェブサーバから受信したレスポンスデータとを対応付けた通信履歴を記憶した記憶部と、
    前記記憶部に記憶された通信履歴に基づいて、セッション管理に用いられる情報が存在する前記レスポンスデータと対応付けられた通信履歴を抽出する第1の抽出部と、
    前記記憶部に記憶された通信履歴に基づいて、前記リクエストデータに含まれる情報であって前記ウェブブラウザ側で出力される画面の遷移を管理するために用いられる情報を辿って得られる一連の通信履歴を抽出する第2の抽出部と、
    前記第1の抽出部によって抽出された通信履歴および前記第2の抽出部によって抽出された通信履歴の和集合を用いて、前記操作を再現する再現部と
    を有することを特徴とする中継装置。
  2. 前記第2の抽出部によって抽出された通信履歴から、画面内に小画面を構成する際に用いられる情報が存在する前記レスポンスデータと対応付けられた通信履歴を削除し、削除した通信履歴を除いた通信履歴を抽出する第3の抽出部をさらに有し、
    前記再現部は、
    前記第1の抽出部によって抽出された通信履歴および前記第3の抽出部によって抽出された通信履歴の和集合を用いて、前記操作を再現する
    ことを特徴とする請求項1に記載の中継装置。
  3. コンピュータに、
    ウェブブラウザが行う操作について、前記ウェブブラウザからウェブサーバに送信されたリクエストデータと前記ウェブサーバから受信したレスポンスデータとを対応付けた通信履歴を記憶した記憶部に記憶された通信履歴に基づいて、セッション管理に用いられる情報が存在する前記レスポンスデータと対応付けられた通信履歴を抽出し、
    前記記憶部に記憶された通信履歴に基づいて、前記リクエストデータに含まれる情報であって前記ウェブブラウザ側で出力される画面の遷移を管理するために用いられる情報を辿って得られる一連の通信履歴を抽出し、
    2つの前記抽出する処理によって抽出された通信履歴の和集合を用いて、前記操作を再現する
    処理を実行させる中継プログラム。
  4. コンピュータが
    ウェブブラウザが行う操作について、前記ウェブブラウザからウェブサーバに送信されたリクエストデータと前記ウェブサーバから受信したレスポンスデータとを対応付けた通信履歴を記憶した記憶部に記憶された通信履歴に基づいて、セッション管理に用いられる情報が存在する前記レスポンスデータと対応付けられた通信履歴を抽出し、
    前記記憶部に記憶された通信履歴に基づいて、前記リクエストデータに含まれる情報であって前記ウェブブラウザ側で出力される画面の遷移を管理するために用いられる情報を辿って得られる一連の通信履歴を抽出し、
    2つの前記抽出する処理によって抽出された通信履歴の和集合を用いて、前記操作を再現する
    各処理を実行することを特徴とする中継方法。
JP2011274979A 2011-12-15 2011-12-15 中継装置、中継プログラムおよび中継方法 Active JP5737166B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011274979A JP5737166B2 (ja) 2011-12-15 2011-12-15 中継装置、中継プログラムおよび中継方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011274979A JP5737166B2 (ja) 2011-12-15 2011-12-15 中継装置、中継プログラムおよび中継方法

Publications (2)

Publication Number Publication Date
JP2013125478A JP2013125478A (ja) 2013-06-24
JP5737166B2 true JP5737166B2 (ja) 2015-06-17

Family

ID=48776661

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011274979A Active JP5737166B2 (ja) 2011-12-15 2011-12-15 中継装置、中継プログラムおよび中継方法

Country Status (1)

Country Link
JP (1) JP5737166B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7069500B2 (ja) * 2020-03-25 2022-05-18 エルジー シーエヌエス カンパニー リミテッド Itシステム検証方法およびシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4170243B2 (ja) * 2004-03-05 2008-10-22 三菱電機株式会社 ウェブアプリケーション検査装置
JP2008108047A (ja) * 2006-10-25 2008-05-08 Toshiba Corp 通信画面再現装置及び通信画面再現プログラム
JP5246640B2 (ja) * 2007-09-28 2013-07-24 インターナショナル・ビジネス・マシーンズ・コーポレーション ユーザの操作を自動化する技術
JP5483965B2 (ja) * 2009-09-14 2014-05-07 株式会社日立製作所 ウェブアプリケーションの操作記録・再生方法およびシステム
JP2012099012A (ja) * 2010-11-04 2012-05-24 Fujifilm Corp 中継サーバ、データ送受信方法及びプログラム
JP5648186B2 (ja) * 2011-08-22 2015-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation トランザクションを再生するためのデータを生成する装置及び方法

Also Published As

Publication number Publication date
JP2013125478A (ja) 2013-06-24

Similar Documents

Publication Publication Date Title
JP5443513B2 (ja) ドメインにわたりクッキーを処理する方法およびシステム
US20100058118A1 (en) Storage medium recording information reacquisition procedure generation program and information reacquisition procedure generation apparatus
JP2009003802A (ja) 情報表示装置及び情報表示方法
JP5463717B2 (ja) アプリケーションテスト生成プログラム、アプリケーションテスト生成方法及びアプリケーションテスト装置
JP2009181459A (ja) アクセス解析装置及びアクセス解析方法及びアクセス解析プログラム
TWI427490B (zh) 網頁檢視方法及系統,及其電腦程式產品
JP2019021272A (ja) 情報処理システム、情報処理方法、情報処理プログラムおよび検索端末
JP2006004136A (ja) Htmlファイル処理方法及びプログラム
CN103905477B (zh) 一种处理http请求的方法及服务器
JP5737166B2 (ja) 中継装置、中継プログラムおよび中継方法
JP2012123598A (ja) 情報処理装置、表示方法及びプログラム
JP2007280028A (ja) 情報処理装置及びショートカットキーの設定・変更方法
JP2016071491A (ja) 情報処理方法、及びプログラム
WO2001073562A1 (en) Content server device
JP5948955B2 (ja) 中継装置、情報再現プログラム及び情報再現方法
JP6079267B2 (ja) 中継サーバ、中継プログラム及び中継方法
JP4729089B2 (ja) ウェブサイト集計装置及びウェブサイト集計プログラム
JP5699721B2 (ja) リクエスト処理プログラム、リクエスト処理装置及びリクエスト処理方法
JP5476014B2 (ja) 情報処理装置およびプログラム
JP5500020B2 (ja) Webアプリケーション提供方法、中継サーバ装置、Webサーバ装置
JP2009176176A (ja) ウェブページ配信装置
JP2014229119A (ja) Web閲覧履歴解析システムとそのWeb閲覧状態再現方法
JP5808484B2 (ja) プログラム、情報処理装置およびデータ提供方法
JP2006059171A (ja) 文字列関連情報表示方法及びシステム
JP2005339356A (ja) ブックマーク管理方法及び装置、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150319

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150406

R150 Certificate of patent or registration of utility model

Ref document number: 5737166

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150