"ウェブサーバと、ウェブページを表示するウェブブラウザと、前記ウェブページのコンテンツを収集保存するコンテンツ保存再現サーバと、それらを相互に結合するネットワークから構成されるシステムにおけるウェブ操作記録再現方法であって、前記ウェブサーバは、生成したウェブページを前記ウェブブラウザに送信する際に、操作ログ取得機能とブラウザ情報取得機能を前記ウェブページに挿入して送信し、前記コンテンツを前記コンテンツ保存再現サーバに送信し、前記ウェブブラウザは、受信した前記ウェブページ中の、前記ブラウザ情報取得機能を実行して、前記ウェブブラウザに関する情報を取得して記録し、前記操作ログ取得機能を実行して、前記ウェブページ上での操作ログと前記ウェブページに含まれるアプリコードを実行した結果のアプリログを生成して記録し、前記ウェブブラウザに関する情報、前記操作ログ、及び前記アプリログをユーザログとして前記コンテンツ保存再現サーバに送信し、前記コンテンツ保存再現サーバは、収集した前記コンテンツと前記ユーザログを変換して、再現装置のウェブブラウザ上で操作を再現するための再現用コンテンツと再現用ユーザログを生成する、ことを特徴とするウェブ操作記録再現方法。請求項1に記載のウェブ操作記録再現方法であって、前記コンテンツ保存再現サーバは、前記操作ログの記録時に前記ウェブブラウザに関する情報を記録し、前記ウェブブラウザに関する情報に基づいて、記録時と同等のレンダリングとアプリコードの実行が可能な環境を用意し、当該環境でレンダリングとアプリコードの実行を行った結果を利用し、前記再現用コンテンツと前記再現用ユーザログを生成する、ことを特徴とするウェブ操作記録再現方法。請求項2に記載のウェブ操作記録再現方法であって、前記コンテンツ保存再現サーバは、前記再現用コンテンツに、前記レンダリングの結果から生成した画像データを含み、前記画像データを利用してウェブ操作の再現を行う、を特徴とするウェブ操作記録再現方法。請求項3に記載のウェブ操作記録再現方法であって、前記コンテンツ保存再現サーバは、前記レンダリングの結果の変化を抽出し、前記レンダリングの結果に変化があった場合に、前記レンダリングの結果から前記画像データを生成して前記再現用コンテンツに含む、ことを特徴とするウェブ操作記録再現方法。請求項1に記載のウェブ操作記録再現方法であって、前記コンテンツ保存再現サーバは、前記コンテンツと前記ユーザログから操作の再現時に前記ウェブサーバの状態に影響を与えるアプリコードを抽出し、抽出したアプリコードを削除、無効化、もしくは影響を与えないアプリコードに変換して前記再現用コンテンツとし、変換後のアプリコードを利用してウェブ操作の再現を行う、ことを特徴とするウェブ操作記録再現方法。請求項5に記載のウェブ操作記録再現方法であって、前記操作ログの記録時に、前記ウェブサーバの状態に影響を与えるアプリコードの実行状態を前記アプリログに記録する、ことを特徴とするウェブ操作記録再現方法。請求項1に記載のウェブ操作記録再現方法であって、前記コンテンツ保存再現サーバは、前記コンテンツと前記ユーザログから操作の再現時に前記ウェブサーバの状態に影響を与える操作ログを抽出し、抽出した操作ログを削除、無効化、もしくは影響を与えない操作ログに変換して前記再現用ユーザログとし、変換後の操作ログを利用してウェブ操作の再現を行う、ことを特徴とするウェブ操作記録再現方法。請求項7に記載のウェブ操作記録再現方法であって、前記操作ログの記録時に、前記ウェブサーバの状態に影響を与える操作の実行結果を前記アプリログに記録する、ことを特徴とするウェブ操作記録再現方法。請求項1に記載のウェブ操作記録再現方法であって、前記コンテンツ保存再現サーバは、前記操作ログの記録時に記録した前記ウェブブラウザに関する情報と、前記外部再現装置のウェブブラウザに関する情報と、前記ウェブブラウザと前記外部再現装置のウェブブラウザの組み合わせに対応したコンテンツとユーザログの変換表を備え、前記変換表を用いて前記コンテンツと前記ユーザログを変換して、ウェブ操作の再現を行う、ことを特徴とするウェブ操作記録再現方法。請求項1に記載のウェブ操作記録再現方法であって、前記コンテンツ保存再現サーバは、前記コンテンツと前記ユーザログを前記再現用コンテンツと前記再現用ユーザログへ変換したことにより、操作の再現時のウェブブラウザ上の表示内容に操作の記録時の表示内容と差が出る、もしくは差が出る可能性のある部分を表示して、ウェブ操作の再現を行う、ことを特徴とするウェブ操作記録再現方法。ウェブサーバが生成し、ウェブブラウザが表示するウェブページを再現するウェブ操作再現装置であって、処理部と記憶部とを備え、前記記憶部は、前記ウェブブラウザに表示された前記ウェブページのコンテンツと、前記ウェブブラウザから収集した、前記ウェブブラウザがブラウザ情報取得機能を実行して取得記録した前記ウェブブラウザに関する情報、前記ウェブブラウザが操作ログ取得機能を実行して取得記録した、前記ウェブページ上の操作ログ、及び前記ウェブページに含まれるアプリコードを実行した結果のアプリログとからなるユーザログとを記憶し、前記処理部は、前記記憶部に記憶された前記コンテンツと前記ユーザログを変換して、外部再現装置のウェブブラウザ上で操作を再現するための再現用コンテンツと再現用ユーザログを生成する、ことを特徴とするウェブ操作再現装置。請求項11に記載のウェブ操作再現装置であって、前記処理部は、前記操作ログの記録時の前記ウェブブラウザに関する情報に基づいて、記録時と同等のレンダリングとアプリコードの実行が可能な環境を用意し、当該環境でレンダリングとアプリコードの実行を行った結果を利用し、前記再現用コンテンツと前記再現用ユーザログを生成する、ことを特徴とするウェブ操作再現装置。請求項12に記載のウェブ操作再現装置であって、前記処理部は、前記再現用コンテンツに前記レンダリングの結果から生成した画像データを含ませ、前記画像データを利用してウェブ操作の再現を行う、を特徴とするウェブ操作再現装置。請求項13に記載のウェブ操作再現装置であって、前記処理部は、前記レンダリング結果の変化を抽出し、前記レンダリングの結果に変化があった場合に、前記レンダリングの結果から前記画像データを生成して前記再現用コンテンツに含む、ことを特徴とするウェブ操作再現装置。請求項11に記載のウェブ操作再現装置であって、前記処理部は、前記コンテンツと前記ユーザログから操作の再現時に前記ウェブサーバの状態に影響を与えるアプリコードを抽出し、抽出したアプリコードを削除、無効化、もしくは影響を与えないアプリコードに変換して前記再現用コンテンツとし、変換後のアプリコードを利用してウェブ操作の再現を行う、ことを特徴とするウェブ操作再現装置。請求項15に記載のウェブ操作再現装置であって、前記ウェブサーバの状態に影響を与えるアプリコードの実行状態は、前記操作ログの記録時に、前記アプリログに記録される、ことを特徴とするウェブ操作再現装置。請求項11に記載のウェブ操作再現装置であって、前記処理部は、前記コンテンツと前記ユーザログから操作の再現時に前記ウェブサーバの状態に影響を与える操作ログを抽出し、抽出した操作ログを削除、無効化、もしくは影響を与えない操作ログに変換して前記再現用ユーザログとし、変換後の操作ログを利用してウェブ操作の再現を行う、ことを特徴とするウェブ操作再現装置。請求項17に記載のウェブ操作再現装置であって、前記ウェブサーバの状態に影響を与える操作の実行結果は、前記操作ログの記録時に前記アプリログに記録される、ことを特徴とするウェブ操作再現装置。請求項11に記載のウェブ操作再現装置であって、前記記憶部は、前記操作ログの記録時に記録した前記ウェブブラウザに関する情報と、前記外部再現装置のウェブブラウザに関する情報と、前記ウェブブラウザと前記外部再現装置のウェブブラウザの組み合わせに対応したコンテンツとユーザログの変換表を記憶し、前記処理部は、前記変換表を用いて前記コンテンツと前記ユーザログを変換して、ウェブ操作の再現を行う、ことを特徴とするウェブ操作再現装置。請求項11に記載のウェブ操作再現装置であって、前記処理部は、前記コンテンツと前記ユーザログを前記再現用コンテンツと前記再現用ユーザログへ変換したことにより、操作の再現時のウェブブラウザ上の表示内容に操作の記録時の表示内容と差が出る、もしくは差が出る可能性のある部分を表示して、ウェブ操作の再現を行う、ことを特徴とするウェブ操作再現装置。特許文献1では、ウェブページにスクリプトを挿入してウェブページのスナップショットを取得し、検索可能にする方法を開示しているが、この方法ではスナップショット毎にしか利用者の状況が把握できないため、利用者の状況を詳細に把握しようとすると、利用者が操作を行う度にスナップショットを記録する必要がある。また、クライアント装置上でウェブページのスナップショットを取得するため、ウェブサーバ装置側にスナップショットを送信する際に大量の通信が発生したり、クライアント装置に大量のデータを保存する領域を用意したりする必要がある。特に、スクリプト言語などを利用してウェブブラウザ上でウェブページのコンテンツが動的に変化するような場合には、コンテンツが変化する毎にウェブページのスナップショットを取得すると、スナップショットの数が大量になるという問題がある。また、特許文献2では、ウェブサーバが、クライアントやブラウザの種類などの利用者の環境に応じて、その環境で表示が可能なウェブページに変換をしてからウェブページを返信する方法が開示されているが、この方法では、利用者の状況把握を行う際に利用するブラウザと利用者のブラウザが異なる場合に、その差異を吸収することができない。また、特許文献3では、携帯電話のウェブブラウザ向けにウェブページを変換してから送信する方法について開示されている。しかし、この方法では利用者の操作やクライアントの状態に応じてウェブページの変換が行われるわけではないので、ウェブページ上での操作の再現を正確にできるわけではない。また、特許文献4では、ウェブページなどのマークアップ文書に含まれているスクリプトを表示するブラウザに応じて事前に実行して結果を送ることで対応していないスクリプトを表示する方法が開示されている。しかし、この方法では利用者の操作やクライアントの状態に応じてスクリプトの実行結果が異なるような場合に、スクリプトを正確に実行することができない問題がある。さらに、特許文献5では、ウェブブラウザ上でフォームを操作することによってアクセス可能な動的なコンテンツに対するアクセス履歴を操作イベントと操作対象のオブジェクトのプロパティを組にして保存し、実際に操作イベントを実行して動的な変化を起こさせて利用者の状況を再現する方法が開示されている。しかし、このような方法では再現ができない時間依存のコンテンツや,振込み処理など実際には実行してはいけない操作に対応できない問題がある。本発明の目的は、以上説明した問題点を踏まえ、クライアントのウェブブラウザ上で行われた操作を記録し、それを別のウェブブラウザ上で精度良く再現することが可能なウェブ操作記録再現方法および装置を提供することにある。更に、本発明の目的は、導入や利用が容易で、利用者に負担をかけず、利用者の状況把握が可能な精度の操作状況の再現を安全に実現するウェブ操作の記録再現方法および装置を提供することにある。上記の目的を達成するため、本発明においては、ウェブサーバと、ウェブページを表示するウェブブラウザと、ウェブページのコンテンツを収集保存するコンテンツ保存再現サーバと、それらを相互に結合するネットワークから構成されるシステムにおけるウェブ操作記録再現方法であって、ウェブサーバは、生成したウェブページをウェブブラウザに送信する際に、操作ログ取得機能とブラウザ情報取得機能をウェブページに挿入して送信し、ウェブページのコンテンツをコンテンツ保存再現サーバに送信し、ウェブブラウザは、受信したウェブページ中のブラウザ情報取得機能を実行して、ウェブブラウザに関する情報を取得して記録し、操作ログ取得機能を実行して、ウェブページ上での操作ログとウェブページに含まれるアプリコードを実行した結果のアプリケーションログアプリログを生成し、記録し、コンテンツ保存再現サーバにウェブブラウザに関する情報、操作ログ、及びアプリログをユーザログとして送信し、コンテンツ保存再現サーバは、収集したコンテンツとユーザログを変換して、外部再現装置のウェブブラウザ上で操作を再現するための再現用コンテンツと再現用ユーザログを生成するウェブ操作記録再現方法、及びそのシステムを提供する。また、上記の目的を達成するため、本発明においては、ウェブサーバが生成し、ウェブブラウザが表示するウェブページを再現するウェブ操作再現装置であって、処理部と記憶部とを備え、記憶部は、ウェブブラウザに表示されたウェブページのコンテンツと、ウェブブラウザから収集した、ウェブブラウザがブラウザ情報取得機能を実行して取得記録したウェブブラウザに関する情報、ウェブブラウザが操作ログ取得機能を実行して取得記録した、ウェブページ上の操作ログ。及びウェブページに含まれるアプリコードを実行した結果のアプリログからなるユーザログとを記憶し、処理部は、記憶部に記憶されたコンテンツとユーザログを変換して、外部再現装置のウェブブラウザ上で操作を再現するための再現用コンテンツと再現用ユーザログを生成するウェブ操作再現装置を提供する。本発明により、多様な利用環境でのウェブ操作の再現を精度良く、安全に実現することが可能となる。本発明のウェブブラウザ上でのウェブ操作記録再現方法および装置では、ウェブアプリケーションが動作するウェブサーバにおいて、ウェブページに、ウェブブラウザ上での操作をクライアント上で操作ログとして記録し、外部からの要求の有無を判定して、要求に応じて記録した操作ログを送信する機能を挿入する。その際に、ウェブサーバは、コンテンツ保存再現サーバに、ウェブアプリケーションが生成したウェブページをコンテンツとして、またウェブページに対して固有の値を付与して識別子として保存する。コンテンツ保存再現サーバは、必要に応じてクライアントから操作ログやウェブページに含まれるスクリプトコードの実行によるクライアントの変化を記録したアプリログ、ウェブブラウザの種類などのユーザログを収集して、該当するウェブページのコンテンツと合わせて外部再生装置上でウェブ操作を再現するための再現用ウェブページおよび再現用ユーザログを生成する。その際に、コンテンツ保存再現サーバで利用者の環境に対応した再現環境上で元のコンテンツとユーザログから操作の再現を行い、その際に外部再生装置上での再現時に問題となる部分を特定し、安全な再現を実現するために、元のコンテンツに含まれるドキュメントやアプリコードを改変したり、削除したりする。また同時に、外部再生装置とクライアントのウェブブラウザの違いを吸収したり、操作の再現によってウェブブラウザの動作が停止したり、ウェブサーバに不正なデータを送信したりせずに、利用者の操作の状況を極力正確に再現するために、元のユーザログに含まれる操作ログやアプリログに対しても改変したり、削除したりする。これらの変換後のコンテンツやユーザログを利用して、外部再生装置で操作の再現を行う。以下、本発明の種々の実施例を図面に従い順次説明する。以下の実施例において、クライアントをクライアント装置、ウェブサーバをウェブサーバ装置、コンテンツ保存再現サーバをコンテンツ保存再現サーバ装置と呼ぶ場合がある。第1の実施例に係る、ウェブブラウザ上でのウェブ操作の再生方法、及びそのシステムを、図1から図5を使って説明する。図1は、本実施例が対象とするウェブアプリケーションを実行するシステムのハードウェア構成と、ソフトウェア構成の例を示すシステム構成図である。ハードウェアは、クライアント装置101、ウェブサーバ装置121、コンテンツ保存再現サーバ装置141、外部再現装置181と、これらの装置を接続するネットワーク161から構成される。なお、各装置のハードウェアは同一のハードウェアで実現されても、複数台で構成されてもよい。コンテンツ保存再現サーバ装置141は、外部再現装置181で再現される再現用データを生成する機能を備えているが、それ自身が外部再現装置181として機能するよう構成することもできる。クライアント装置101、ウェブサーバ装置121、コンテンツ保存再現装置141、外部再生装置181は、すべて処理部であるプロセッサ103、123、143、184、記憶部であるメモリ108、126、148、185、入出力部102、125、147、183、ネットワークインタフェース107、122、142、182を持つコンピュータであり、相互に接続されている。クライアント装置101、ウェブサーバ装置121、コンテンツ保存再現装置141は、さらに記憶部としてローカルディスク105、124、144をもつ。ただし、一部の装置ではこれらの構成要素の一部が欠けてもよい。クライアント装置101のメモリ108には、ウェブブラウザプログラム109、スクリプトエンジンプログラム110が格納されている。これらのプログラムは、処理部であるプロセッサ103に読み込まれて実行される。ウェブブラウザプログラム109は、ウェブページをリクエストしたり、リクエストしたウェブページのレスポンスを受信し、解釈して表示画面を生成する機能などを持つ。スクリプトエンジンプログラム110は、ウェブページのレスポンスに含まれるスクリプトコードを解釈してスクリプトコードに書かれている処理をプロセッサ103で実行する機能を持つ。入出力部102には、キーボードやマウス、モニタなどが接続され、プログラムの実行や停止の指示を行ったり、プログラムの実行結果をモニタに表示するのに利用される。プロセッサ103は、メモリ108からプログラムを読み込んで処理を実行する。ネットワークインタフェース107は、クライアント装置101の外部の装置との間で、ネットワーク161を介してウェブサーバ装置とのリクエスト、レスポンスの送受信や、操作ログの送受信を行う。ウェブサーバ装置121のメモリ126には、ウェブサーバプログラム127、機能挿入プログラム128、識別子送信プログラム129、コンテンツ送信プログラム130が格納されている。これらのプログラムは、お互いに包含関係にあってもよく、例えば、識別子送信プログラム129がウェブサーバプログラム127に含まれていてもよい。ウェブサーバプログラム127には、ウェブアプリコード131が含まれる、もしくは併設される。機能挿入プログラム128には、操作ログ取得コード132とコンテンツ改変コード133、ブラウザ情報取得コード134が含まれる。これらのプログラムは、プロセッサ123に読み込まれて実行される。ウェブサーバプログラム127は、クライアント装置101などの外部の装置からのリクエストに応じてウェブページのレスポンスを生成して返信する機能を持つ。機能挿入プログラム128はウェブページのレスポンスに対して、レスポンスに含まれるコンテンツの追加や修正を行う機能を持つ。識別子送信プログラムは、ウェブサーバプログラム127で生成したウェブページに関連する識別子を生成もしくは取得して、外部の装置に送信する機能を持つ。ウェブページに関連する識別子としては、ウェブページのリクエスト毎にユニークな値をもつIDや、ウェブページのリクエスト元を特定できるようなIDなどが挙げられる。コンテンツ送信プログラム130は、ウェブサーバプログラム127で生成したウェブページのコンテンツを外部の装置に送信する機能を持つ。ウェブサーバプログラム127も、ウェブページのコンテンツをリクエスト元のクライアント装置に送信する機能を持つが、コンテンツ送信プログラム130では、コンテンツ保存再現サーバ装置141や、外部再生装置181などのウェブページのリクエスト元以外の外部の装置にもコンテンツを送信でき、その際にそのウェブページに関連した識別子と関連付けて送信を行う。入出力部125、プロセッサ123、ネットワークインタフェース122は、クライアント装置101にある同名の装置と同じ機能を持つ。ローカルディスク124には、ウェブページの全体や一部などが保管されている。コンテンツ保存再現サーバ装置141のメモリ148には、コンテンツ保存サーバプログラム149、ログ受信サーバプログラム150、操作再現プログラム151が格納されている。これらのプログラムは、プロセッサ143に読み込まれて実行される。コンテンツ保存サーバプログラム149は、クライアント装置101やウェブサーバ装置121などから送信されたウェブページやウェブページのリクエスト元などを特定する識別子などのコンテンツを受信し、それらをローカルディスク144のコンテンツ保存領域145に格納したり、コンテンツ保存領域145やメモリ147上にあるそれらのデータを読み出して、ログ受信サーバプログラム150に送信したりする。ログ受信サーバプログラム150は、コンテンツ保存サーバプログラム149と連携して、一覧表示をしたり、特定の識別子や操作ログなどを選択させて、外部の装置に送信したりする。さらに、外部の装置に、特定の識別子に関連する操作ログを送信させたりする。例えば、クライアント装置101からウェブブラウザ上での利用者の操作や、ウェブページに含まれるアプリケーションの実行結果、ブラウザに関する情報などのユーザログを送信させ、ユーザログを受信する。そして、これらのログをローカルディスク144上のユーザログ保存領域146に保存し、必要に応じてこれを読み出す。操作再現プログラム151は、コンテンツ保存サーバプログラム149、ログ受信サーバプログラム150と連携して、メモリ148上や、ローカルディスク144上にある、コンテンツやユーザログを変換して、外部再現装置181で利用者の操作状況の再現を可能とする。操作再現プログラム151には、副作用除去フィルタコード152、利用環境反映フィルタコード153、操作再現コード154が含まれる。副作用除去フィルタコード152は、外部再現装置181で操作の再現を行う際に、ウェブサーバ装置121などの他の装置に対してその装置の状態を不必要に変更したり、操作の再現が停止したりするような操作の再現による副作用が生じないようにコンテンツやユーザログを変換する機能を提供する。言い換えるなら、変換とは、コンテンツやユーザログなどのデータを副作用が生じないデータ、副作用除去されたデータに変更することを意味する。また、副作用除去とは、コンテンツやユーザログなどのデータを、ウェブサーバ装置などの他の装置に対して、状態変更をさせる動作を除外したデータに変更することを意味する。そして、この変換によって得られる副作用除去されたデータであるコンテンツやユーザログが、再現用コンテンツや再現用ユーザログとなる。利用環境反映フィルタコード153は、外部再現装置181で操作の再現を行う際に、利用者のウェブブラウザ環境と、外部再現装置181で操作の再現を行うウェブブラウザ環境の違いを考慮して、コンテンツやユーザログを変換して操作の再現性を向上したり、操作の再現が停止したりしないようにする。操作再現コード154は、外部再生装置181からの要求に応じて、副作用除去フィルタコード152や利用環境反映フィルタコード153による変換後のコンテンツや変換後のユーザログを利用して、外部再生装置181上のウェブブラウザで、ウェブページ上での操作の再現を行わせる機能を提供する。入出力部147、プロセッサ143、ネットワークインタフェース142は、ウェブサーバ装置121にある同名の装置と同じ機能を持つ。外部再生装置181のメモリ185には、ウェブブラウザプログラム186が格納されている。ウェブブラウザプログラム186は、プロセッサ184に読み込まれて実行される。ウェブブラウザプログラム186は、クライアント装置101のウェブブラウザプログラム109、スクリプトエンジンプログラム110と同様に、ウェブページの表示を行う。ただし、コンテンツ保存再現サーバ装置141の操作再現プログラム151と連携して、コンテンツやユーザログに応じた、ウェブページ上での操作の再生や一時停止などを行う。入出力部183、プロセッサ184、ネットワークインタフェース182は、ウェブサーバ装置121にある同名の装置と同じ機能を持つ。以上説明した本実施例のシステム構成における、ウェブ操作の記録再現処理フローを図2~図5により説明する。図1で説明したように、クライアント装置101、ウェブサーバ装置121、ログ連携サーバ装置141がネットワーク161で接続されたシステムで、クライアント装置101からウェブページのリクエストを送信し、ウェブサーバ装置121がリクエストされたウェブページのレスポンスを生成して返信し、クライアント装置101でウェブページの表示や、スクリプトコードの実行が行われ、コンテンツ保存再現サーバ装置141には、ウェブページそのものとウェブページに関連する識別子などのコンテンツや、ウェブページ上での操作ログ、ウェブページに含まれるアプリケーションの実行結果、ブラウザに関する情報などのユーザログが蓄積される。また、コンテンツ保存再現サーバ装置141と、クライアント装置101の間で、操作ログなどのユーザログの送受信や、ログ操作の制御を実現するための問い合わせと制御内容を伝達するコマンドのやり取りも行われる。外部再生装置181は、コンテンツ保存再現サーバ装置141で変換されたコンテンツやユーザログを受信して、ウェブページ上での操作の再現を行う。以下、一連の処理を順に説明する。なお、図2以降の図においては、プログラムがプロセッサ上で実行されている状態をモジュールと呼び、例えば、ウェブブラウザプログラムがプロセッサ上で実行されている場合、ウェブブラウザモジュールと呼ぶ。図2に図示したように、最初に、クライアント装置101のウェブブラウザモジュール231がウェブページのリクエストを、ネットワーク161を経由して、ウェブサーバ装置121に送信する。リクエスト201には、少なくともウェブページの存在する場所を指定するURIUniformResourceIdentifiersが含まれる。ウェブサーバ装置121では、ウェブサーバモジュール221がリクエストを受信し、ウェブアプリコード131に従った処理を行うウェブアプリケーション222が要求されたウェブページのレスポンス202を生成する。レスポンス202は、ウェブサーバ装置121に含まれる機能挿入モジュール223を経由してクライアント装置101のウェブブラウザモジュール231に送信される。機能挿入モジュール223の操作ログ取得機能モジュール224は、クライアント装置101に含まれるスクリプトエンジンモジュール232上で実行されるスクリプトコード206の形態で、ウェブブラウザモジュール211上での操作ログを取得する機能をレスポンス202に挿入する。なお、この操作ログ取得機能モジュールについては、例えば本発明者による、特開2009-104267号公報ウェブアプリケーションの処理記録方法および処理記録装置等を参照されたい。機能挿入モジュール223のコンテンツ改変機能モジュール225は、レスポンス202に含まれるコンテンツの一部を変更する機能を持ち、レスポンスに関連する識別子をコンテンツに挿入したりする。ブラウザ情報取得機能モジュール226は、クライアント装置101に含まれるスクリプトエンジンモジュール212上で実行されるスクリプトコード206の形態で、ウェブブラウザモジュール211に関する情報、例えばウェブブラウザの種類やバージョン情報などを取得し、記録する機能をレスポンス202に挿入する。ウェブサーバ装置121では、さらに識別子送信モジュール227がウェブページのレスポンス202に関連した識別子205を生成もしくは取得してコンテンツ保存再現サーバ装置141に送信する。また、コンテンツ送信モジュール228が、レスポンス202に含まれるウェブページのコンテンツ204をコンテンツ保存再現サーバ装置141に送信する。これらの動作は、順次行っても、同時並行的に行ってもよい。クライアント装置101では、ウェブブラウザモジュール231でレスポンス203に含まれるコンテンツが表示され、操作に応じて次のリクエストを送信したり、コンテンツに含まれるスクリプトコード206をスクリプトエンジンモジュール232で実行したりする。前記の操作ログ取得機能モジュール224で挿入されたスクリプトコードもスクリプトエンジンモジュール232で実行され、ウェブブラウザモジュール231上での操作ログや、ウェブページに含まれるアプリケーションの実行結果であるアプリケーションログアプリログを生成する。生成された操作ログやアプリログは、クライアント装置101のメモリ108上やローカルディスク105上に識別子と共に保存される。また、ブラウザ情報取得モジュール226も操作ログ取得機能モジュール224と同様に、スクリプトエンジンモジュール232で実行され、ウェブブラウザモジュール231に関する情報をブラウザ情報として、ライアント装置101のメモリ108上やローカルディスク105上に識別子と共に保存される。以下では、操作ログ取得機能モジュール224とブラウザ情報取得モジュール226によって生成された操作ログ、アプリログ、ブラウザ情報をまとめてユーザログと呼ぶ。操作ログ取得機能モジュール224には、ウェブブラウザモジュール231を介して、コンテンツ保存再現サーバ装置141に対して、ユーザログの送信要求や、ユーザログの操作要求の有無を問い合わせる機能が含まれる。この問い合わせに対して、コマンド209が返された場合、コマンド209に応じて、メモリ108上やローカルディスク105上に保存されているユーザログをコンテンツ保存再現サーバ装置141に送信したり、ユーザログを削除したりする。コマンド209には、これらのユーザログ送信やユーザログ削除以外の処理も含まれる。コンテンツ保存再現サーバ装置141では、コンテンツ保存サーバモジュール242が、ウェブサーバ装置121からコンテンツ204と識別子205を受信し、コンテンツ保存領域145に保存する。また、ログ受信サーバモジュール241が、コンテンツ保存サーバモジュールと連携して、保存されている識別子205の一覧データを外部再生装置181などに表示して、選択された識別子に関連するウェブページのユーザログをクライアント装置101から送信させるコマンドを生成し、クライアント装置101からのログ問合せ208に対して、ログ送信のコマンド209を送信して、ユーザログ210をクライアント装置101から受信し、ユーザログ保存領域146に保存する。前記の通り、コマンド209には、ログ送信以外の処理を実行させるものも含まれる。操作再現モジュール246は、外部再生装置181に対して、コンテンツ保存再現サーバ装置141が変換したコンテンツやユーザログを利用して、ウェブ操作の再現をさせる機能を提供する。外部再生装置181では、ウェブブラウザモジュール251が、コンテンツ保存再現サーバ装置141と通信を行い、コンテンツ保存再現サーバ装置141に保存されている識別子の一覧を表示して、入出力部183からの入力により、特定の識別子を選択して、コンテンツ保存再現サーバ装置141に通知したり、コンテンツ保存再現サーバ装置141の操作再現モジュール246を介して、ウェブページ上の操作状態を表示したり、その表示状態を入出力部183からの指示に応じて変更したりする。図2では、外部再生装置181とコンテンツ保存再現サーバ装置141が直接接続されているが、ネットワーク161を介して接続されていてもよく、また、コンテンツやユーザログなどをウェブサーバ装置121などの他の装置から受信してもよい。次に実施例1におけるウェブ操作の記録再現方法の処理フローを図3~図5を使って説明する。図3A、3B、3Cは、コンテンツとユーザログの変換の処理フローを示した図で、図4は変換の処理の例を示した図である。図3Aでは、コンテンツ保存再現サーバ装置141の操作再現モジュール253に含まれる、副作用除去機能モジュール254と利用環境反映機能モジュール255を抜き出し、図3B、3Cにそれぞれ各機能モジュールの機能を模式的に示した。図3Aに記載されていない部分は、図2のウェブ操作の記録再現処理フロー図に記載の通りである。まず、副作用除去機能モジュール254と利用環境反映機能モジュール255は、いずれもコンテンツ301とユーザログ304を変換して、再現用コンテンツ310、313と再現用ユーザログ318、322を生成する機能をもつ。コンテンツ301には、HTML文書などのドキュメント302とJava登録商標Scriptコードなどのアプリコード303が含まれる。ユーザログ304には、ウェブブラウザ上での利用者の操作を記録した操作ログ305、ウェブページに含まれるアプリコードの実行結果を記録したアプリログ306、利用者のウェブブラウザに関する情報であるブラウザ情報307が含まれる。なお、図3には記載していないが、外部再現装置181のウェブブラウザモジュール251に関する情報もコンテンツ保存再現サーバ装置141が保持している。図3Bに示すように、副作用除去機能モジュール254は、まずコンテンツ301とユーザログ304から、外部再現装置181でウェブ操作を再現する際に発生する副作用の判定を行い、その後に副作用の無害化処理309を行い、再現用コンテンツ310と再現用ユーザログ314を生成する。副作用とは、ウェブ操作の再現時に本来発生してはいけない動作が起こることを意味し、例えば、ウェブページ上でのマウスクリック操作の再現時に、操作を再現するウェブブラウザから、ウェブサーバ装置141にデータの書き換えを行うリクエストが送信されるような動作が挙げられる。副作用の他の例としては、外部再現装置181のウェブブラウザ上で、ウェブ操作の再現を実行中に、コンテンツに含まれるアプリコードが動作し、利用者の操作時と異なる値がウェブページ上に表示されたり、ウェブブラウザの動作が停止するなどの動作が挙げられる。副作用の判定は、単純にアプリコード303に副作用を起こすコードがあるという事実から判定を行うこともできるが、その場合実際には動作しないコードまで副作用を起こすと判定されたり、条件によって副作用を起こす場合などに対する判定が困難である。そこで、ドキュメント302やユーザログ304なども利用して、動作するアプリコードであるか、その際に副作用を起こしたか、利用者の操作によって副作用が発生したかなど、副作用の判定をすることで、判定の精度を向上し、再現の精度を向上したり、再現時の副作用の発生可能性を低下させたりすることができる。ここでは、アプリコード303を例に、副作用の判定方法について述べたが、ドキュメント302や操作ログ305、アプリログ306などについても同様に、それぞれのコンテンツやユーザログを組み合わせて副作用判定を行う。次に、図3Bの無害化処理309は、副作用判定308によってウェブ操作の再現時に副作用が発生すると判定されたコンテンツもしくはユーザログに対して、該当部分を削除したり、副作用が発生しないコンテンツやユーザログに変更をしたりする変換を行う。例えば、ウェブページ上の特定のボタンをクリックした場合に、特定のアプリコードが動作し、その結果ウェブサーバ装置141の状態を変更する通信が発生する場合に、無害化処理309の方法としては、特定のボタンをドキュメントから削除する、もしくは特定のボタンのクリック操作を記録した操作ログを削除する、もしくは再現時に実際にはクリック操作をせずに、クリック操作がされた事実を表示するだけの操作ログに変更する、もしくは該当する特定のアプリコードを削除する、もしくは該当する特定のアプリコードをウェブサーバ装置141の状態を変更する通信が発生しないアプリコードに変更するなどの方法がある。これらは一例であり、ドキュメントの変更削除、アプリコードの変更削除、操作の変更削除などの方法を選択し、組み合わせて無害化処理309は行われる。次に、図3Cにより、利用環境反映処理317について説明する。利用環境反映処理317は、まずコンテンツ301とユーザログ304から、外部再現装置181でウェブ操作を再現する際に、利用者のウェブ操作の環境と、外部再現装置181でのウェブ操作の再現環境の違いにより、再現の精度が低下しないように、コンテンツ301とユーザログ304を変換して、再現用コンテンツ318と再現用ユーザログ322を生成する。利用環境反映処理317での変換は、利用環境反映処理317で行い、例えば、ウェブブラウザの違いにより表示されるドキュメントに含まれるオブジェクトの大きさが異なる場合に、ドキュメント変更により、オブジェクトの大きさが利用者のウェブブラウザと再現時のウェブブラウザで同等になるようにする。その他の例としては、利用者のウェブブラウザと同等のレンダリングを実行してその結果を画像に変換し、これをドキュメントの背景として設定する方法や、ウェブブラウザ毎にアプリケーションの記述が異なる部分を変更したりする方法や、ウェブブラウザ毎にウェブ操作により発生するイベント種が異なる部分を変更したりする方法がある。利用環境反映機能モジュール255が生成する再現用コンテンツ318には、生成画像321が含まれる。なお、これらは一例であり、ドキュメントの変更、アプリコードの変更、操作の変更、画像の生成などの方法を選択し、組み合わせて利用環境反映処理317は行われる。図4は、図3Aで説明したコンテンツ保存再現サーバ装置141における、コンテンツとユーザログの変換の処理フローの一例を示している。この例では、利用者のウェブブラウザと外部再現装置181の再現環境のウェブブラウザが大きく異なるケースを想定して、コンテンツ301とユーザログ304の変換をコンテンツ保存再現サーバ装置141で行う場合の処理内容について説明する。まず、本実施例では、利用環境反映機能モジュール254に、ユーザログ304のブラウザ情報307から利用者の環境と同じウェブページのレンダリングを行うウェブブラウザを用意し、このウェブブラウザ上でコンテンツ301のレンダリングをユーザ操作の実行前までを行う。次に画像変換フィルタ404において、レンダリング結果を例えばビットマップ画像化する。その後、ドキュメント変更フィルタ406において、コンテンツ301に含まれるドキュメント302の背景を、画像変換フィルタ404で生成したビットマップ画像に変更する。これらと並行して、副作用除去機能モジュール254で、ウェブページのレンダリング後に、コンテンツ301に含まれるアプリコード303と、ユーザログ304に含まれるアプリログ306を削除する。以上の変換結果を、再現用コンテンツ318、再現用ユーザログ322として生成し、これを利用して外部再現装置181でウェブ操作の再現を行う。以上により、利用者のウェブブラウザと、再現環境のウェブブラウザが大きく異なる場合においても、精度が高く、副作用を生じないウェブ操作の再現が実現できる。次に、図5を用いて、図4までに説明したコンテンツ301とユーザログ304の変換を含む、ウェブ操作の記録再現の処理フローについてまとめて説明する。まずクライアント装置のウェブブラウザモジュールがウェブアプリケーションへのリクエストをウェブサーバ装置に送信するステップ503。ウェブサーバ装置は、ウェブサーバモジュールがクライアント装置からリクエストを受信してウェブアプリケーションのレスポンスを生成するステップ523。そして、機能挿入モジュールが操作ログ取得機能とブラウザ情報取得機能と、レスポンス生成毎にユニークな値である識別子をレスポンスに挿入するステップ524。識別子は、レスポンス毎にユニークな値であり、そのレスポンスのウェブページのコンテンツや、そのウェブページ上で行われた操作の操作ログ、その操作ログに関連付けられた文書構造などを特定するのに利用される。次にレスポンスをクライアント装置に送信するステップ525。続いて、コンテンツ送信モジュールと識別子送信モジュールがコンテンツ保存再現サーバ装置にレスポンスと識別子を含むコンテンツを送信するステップ527。ステップ523~527に関しては、図5に示した順序に限らず、同時並行的に実行しても良い。ウェブサーバ装置は、クライアント装置からのリクエストが終了したり、ウェブサーバ装置が終了されると処理を終了するステップ528、529。続いて、クライアント装置がウェブサーバ装置からレスポンスを受信するステップ504。クライアント装置におけるステップ503、504の一連の処理は、クライアント装置におけるウェブページの表示を行う処理のフローであり、以下ではまとめてステップ502と呼ぶ。コンテンツ保存再現サーバ装置は、ウェブサーバ装置から識別子が送信されてきたかを判定しステップ543、送信があった場合には、識別子とコンテンツを受信して保存するステップ544。続いて、コンテンツ保存再現サーバ装置では、外部再現装置からの操作再現要求の有無を確認しステップ545、操作再現要求があった場合には、再現対象の識別子と共にクライアント装置にログ送信を要求するステップ546。操作再現要求が無かった場合には、ステップ543に戻る。続いて、クライアント装置から操作再現対象の操作ログ、ブラウザ情報、アプリログなどのユーザログを受信するステップ547。以下では、これらのステップ543~547のウェブサーバ装置との通信処理をまとめてステップ542と呼ぶ。ステップ542に続く処理は、操作再現モジュール243で実行され、様々な処理が含まれるが、ここでは一つの例を例示説明する。コンテンツ保存再現サーバ装置141では、クライアント装置101から受信したブラウザ情報からクライアント装置上でのウェブページのレンダリングとアプリコードの実行と同等のレンダリング、アプリコードの実行が可能な環境を選択、用意して、ユーザ操作前の状態までウェブページのレンダリング、アプリコードの実行を行うステップ549。続いて、レンダリング結果を画像に変換しステップ550、さらにウェブページのドキュメントを変換してステップ550で生成した画像をウェブページの背景画像として設定するステップ552。また、ステップ550、552と並行して、ウェブページに含まれるアプリコードと、ユーザログに含まれる該当するアプリログを削除するステップ551。以下では、ステップ549~552までの処理をまとめてステップ548と呼ぶ。ステップ548により、外部再現装置でウェブ操作を再現する際に、クライアント装置のウェブページの操作環境と、外部再現装置のウェブページの再現環境の違いによらずに、精度の高いウェブ操作の再現ができ、さらに、ウェブ操作の再現時にウェブサーバ装置の状態を変更するような通信を発生させるなどの副作用を抑止することができるコンテンツとユーザログに変換ができる。最後に変換後の再現用コンテンツと再現用ユーザログを外部再現装置に送信するステップ553。操作の再現の終了を判定しステップ554、終了でなければステップ543に戻り、それ以外は終了するステップ555。なお、図5では外部再現装置を省略したが、コンテンツ保存再現サーバ装置の処理フローに記載の通り、外部再現装置は操作の再現要求をコンテンツ保存再現サーバ装置に送信し、コンテンツ保存再現サーバ装置で生成した再現用コンテンツと再現用ユーザログを受信して操作の再現を行う。ウェブページの表示が完了したクライアント装置101では、ブラウザ情報取得機能がウェブブラウザに関する情報をブラウザ情報としてユーザログ保存領域に保存するステップ506。次に操作ログ取得機能がウェブブラウザ上での操作時に操作ログを生成しユーザログ保存領域に保存するステップ507ここで、ウェブページの文書構造やウェブページに含まれるアプリコードの実行により状態に変化が生じたかを判定しステップ508、変化がある場合には、操作ログと関連づけて変換をアプリログとしてユーザログ保存領域に保存するステップ509。変化がない場合には、ステップ509はスキップする。その後、コンテンツ保存再現サーバ装置に、ログ送信要求の有無を問い合わせるステップ510。この際、クライアント装置や、表示しているウェブページが特定できる識別子をログ連携サーバ装置に送信する。送信要求があった場合には、コンテンツ保存再現サーバ装置へ操作ログ、ブラウザ情報、アプリログなどのユーザログを送信するステップ511。送信要求がなかった場合には、ステップ511はスキップされる。その後、ページ遷移の有無を確認しステップ512、ページ遷移があればステップ503に戻り、なければ、操作が終了もしくはクライアント装置が終了かを判定しステップ513、終了でなければステップ507に戻り、それ以外は処理を終了するステップ514。続いて第2の実施例を、図6を用いて説明する。ここでは実施例1との差分についてのみ示し、実施例1で説明した部分については省略する。図6は、コンテンツとユーザログの変換に関する第2の実施例を示した処理フロー図である。コンテンツ保存再現サーバ装置141以外の処理は省略しているが、図5に示した処理フローと同じである。実施例1との違いは、実施例1では、ウェブページのレンダリング結果を、ユーザ操作前の初期状態のみ画像に変換してドキュメントの背景としていたため、ユーザ操作により、レンダリング結果に変化が起こる場合に、その変化を再現することができなかったが、実施例2では、ユーザ操作によるレンダリング結果の変化に対しても精度良く再現することが可能となる。図6のステップ542でサーバ装置からのコンテンツと、クライアント装置からのユーザログがそろった状態で、クライアント装置から受信したブラウザ情報からクライアント装置上でのウェブページのレンダリングとアプリコードの実行と同等のレンダリング、アプリコードの実行が可能な環境を選択、用意して、ユーザ操作前の状態までウェブページのレンダリング、アプリコードの実行を行うステップ549。続いて、レンダリング結果の画像変換がまだ行われていない、もしくはレンダリング結果に変化があるかを判定しステップ603、該当する場合には、レンダリング結果を画像に変換しステップ604、さらにウェブページのドキュメントを変換してステップ604で生成した画像をウェブページの背景画像として設定するステップ606。また、ステップ604、606と並行して、レンダリング結果に変化を起こした操作の操作ログをレンダリング結果への変化を起こさない操作に変換するステップ605。ステップ605の例としては、ウェブページ上のボタンに対するクリック操作によって、ウェブページ上に表示されている文字列に変化が生じる場合に、該当するクリックの操作ログを、ウェブ操作の再現時には実際にクリック操作をせず、クリック操作があったことをウェブページ上に表示するだけとする操作ログに変換する方法が挙げられる。なお、ステップ603による判定で、レンダリング結果の画像変換がまだ行われていない、つまり初回の処理である場合にはステップ605はスキップして良い。続いて操作ログがあるかを判定しステップ607、ある場合にはステップ603に戻り、ない場合にはウェブページに含まれるアプリコードと、ユーザログに含まれる該当するアプリログを削除するステップ608。最後に変換後の再現用コンテンツと再現用ユーザログを外部再現装置に送信するステップ609。操作の再現の終了を判定しステップ610、終了でなければステップ542に戻り、それ以外は終了するステップ611。以上説明した実施例3の処理フローにより、ユーザ操作によるレンダリング結果の変化に対しても精度良く再現することが可能になる。第3の実施例を、図7A、図7B、図8を用いて説明する。ここでは実施例1、2との差分についてのみ示し、実施例1、2で説明した部分については省略する。図7A、図7Bは、操作の再現時に問題が発生する例を示した図である。図8は、図7A、図7Bに示した問題を解決する、コンテンツとユーザログの変換に関する実施例3の処理フロー図である。コンテンツ保存再現サーバ装置以外の処理は省略しているが、図5に示した処理フローと同じである。図7Aに示すように、ウェブブラウザ701上に表示されているウェブドキュメント702に、実行ボタン703が含まれ、実行ボタン703がクリックされた状態を模式的に示している。ここでは、表示されているウェブページに、この実行ボタンのクリック操作により、ウェブサーバ装置に対して通信が発生し、ウェブサーバの状態を更新する機能を含むアプリコードが含まれている。そのため、図7Bに模式的に示すように、実行ボタンのクリック操作により、クライアント装置101のウェブブラウザからウェブサーバ装置121に対して通信が発生し、その結果、ウェブサーバ装置121では受信した通信により、例えばウェブサーバ装置121に含まれるデータベースなどのウェブサーバ装置121に保存されている状態に対して更新が行われる。このようなウェブ操作の再現を行う場合に、実行ボタン703のクリック操作をそのまま実行してしまうと、ウェブ操作の再現時にもウェブサーバ装置の状態が更新され、その後、別のクライアント装置101からウェブサーバ装置に対してウェブページのリクエストがなされた場合に、前記のウェブサーバ装置の状態の更新により、別のクライアント装置101に対するレスポンスが本来のウェブサーバ装置の状態とは異なる状態で生成されて影響が発生してしまう。本実施例では、図8に示した、上記の問題を解決するコンテンツとユーザログの変換に関する別の処理フローを実行する。実施例1、2との違いは、実施例1、2では、ウェブページに含まれるアプリコードを削除していたが、図7A、図7Bに示したような問題を発生しないアプリコードまで削除してしまうことで、ウェブ操作の再現の精度が低下することがある。そこで実施例3では、問題を発生するアプリコードを選択的に削除することで、精度良く再現する方法を示す。ステップ542でサーバ装置からのコンテンツと、クライアント装置からのユーザログがそろった状態で、クライアント装置から受信したブラウザ情報からクライアント装置上でのウェブページのレンダリングとアプリコードの実行と同等のレンダリング、アプリコードの実行が可能な環境を選択、用意して、ユーザ操作前の状態までウェブページのレンダリング、アプリコードの実行を行うステップ549。続いて、レンダリング結果の画像変換がまだ行われていない、もしくはレンダリング結果に変化があるかを判定しステップ603、該当する場合には、レンダリング結果を画像に変換しステップ604、さらにウェブページのドキュメントを変換してステップ604で生成した画像をウェブページの背景画像として設定するステップ606。また、ステップ604、606と並行して、レンダリング結果に変化を起こした操作の操作ログをレンダリング結果への変化を起こさない操作に変換するステップ605。これらのステップ603~606は実施例2と同じである。ステップ603~606と並行して、操作ログとアプリログから、再現対象となる操作によって、サーバ状態の更新を起こす通信が発生しているかを判定しステップ803、通信が発生する場合には、該当するアプリコードと、アプリログを削除するステップ804。続いて操作ログやアプリログがあるかを判定しステップ805、ある場合にはステップ603とステップ803に戻り、ない場合には変換後の再現用コンテンツと再現用ユーザログを外部再現装置に送信するステップ806。操作の再現の終了を判定しステップ807、終了でなければステップ542に戻り、それ以外は終了するステップ808。以上、実施例3の処理フローにより、ウェブページに含まれるアプリコードが動作する場合においても、ウェブ操作を精度良く再現することが可能になる。第4の実施例を、図9、図10を用いて説明する。ここでは実施例1、2、3との差分についてのみ示し、実施例1、2、3で説明した部分については省略する。図9A、図9Bは、操作の再現時に問題が発生する例を示した図である。図10は、図9A、図9Bに示した問題を解決する、コンテンツとユーザログの変換に関する実施例4の処理フロー図である。コンテンツ保存再現サーバ装置141以外の処理は省略しているが、図5に示した処理フローと同じである。図9Aでは、ウェブブラウザ901上に表示されているウェブドキュメント902に、実行ボタン903と、テキスト情報904が含まれ、実行ボタン903がクリックされて、テキスト情報904が更新された状態を模式的に示している。ここでは、表示されているウェブページに、この実行ボタンのクリック操作により、ウェブサーバ装置に対して通信が発生し、ウェブサーバの状態を更新し、さらにウェブサーバからのレスポンスによりテキスト情報を更新する機能を含むアプリコードが含まれている。そのため、図9Bに示すように、実行ボタンのクリック操作により、クライアント装置101のウェブブラウザからウェブサーバ装置121に対して通信が発生し、その結果、ウェブサーバ装置121では受信した通信により、例えばウェブサーバ装置に含まれるデータベースなどのウェブサーバ装置に保存されている状態に対して更新が行われる。さらに、ウェブサーバ装置の状態の変化に応じてクライアント装置に対してレスポンスが生成され、そのレスポンスによってクライアント装置上に表示されているテキスト情報が更新される。このようなウェブ操作の再現を行う場合に、実行ボタンのクリック操作をそのまま実行してしまうと、実施例3で説明したように、ウェブ操作の再現時にもウェブサーバ装置の状態が更新され、その後、別のクライアント装置101からウェブサーバ装置121に対してウェブページのリクエストがなされた場合に、前記のウェブサーバ装置の状態の更新により、別のクライアント装置101に対するレスポンスが本来のウェブサーバ装置の状態とは異なる状態で生成されて影響が発生してしまう。一方、ウェブサーバ装置の状態を更新しなかったり、通信を発生させなかったりした場合には、テキスト情報の更新が正しく行われない問題が発生してしまう。そこで本実施例においては、図10に示した、問題を解決するコンテンツとユーザログの変換に関する別の処理フローにより解決する。実施例1、2、3との違いは、実施例1、2、3では、問題が発生するウェブページに含まれるアプリコードを削除していたが、図9に示したような問題では、アプリコードを削除するだけではウェブ操作の再現の精度が低下することがある。そこで実施例4では、問題を発生するアプリコードを変更して、アプリコードの変更と、その後のレンダリングの実行によりウェブ操作を精度良く再現する方法を示す。ステップ542でサーバ装置121からのコンテンツと、クライアント装置101からのユーザログがそろった状態で、クライアント装置から受信したブラウザ情報からクライアント装置上でのウェブページのレンダリングとアプリコードの実行と同等のレンダリング、アプリコードの実行が可能な環境を選択、用意して、ユーザ操作前の状態までウェブページのレンダリング、アプリコードの実行を行うステップ549。続いて、レンダリング結果の画像変換がまだ行われていない、もしくはレンダリング結果に変化があるかを判定しステップ603、該当する場合には、レンダリング結果を画像に変換しステップ604、さらにウェブページのドキュメントを変換してステップ604で生成した画像をウェブページの背景画像として設定するステップ606。また、ステップ604、606と並行して、レンダリング結果に変化を起こした操作の操作ログをレンダリング結果への変化を起こさない操作に変換するステップ605。これらのステップ603~606は実施例2と同じである。ステップ603~606と並行して、操作ログとアプリログから、再現対象となる操作によって、サーバ状態の更新を起こす通信が発生しているかを判定しステップ803、通信が発生する場合には、該当するアプリコードを変更してレンダリングを行うステップ1003。アプリコードの変更の例としては、通信を発生させその通信に対するレスポンスを受信するアプリコードを、通信を発生させずレスポンスの受信結果をアプリログから取得して、実際の通信をせずにレスポンスを受信した状態にするアプリコードに変更する方法が挙げられる。これにより、図9Aのテキスト情報904の更新が正しく行われる。そして、レンダリング結果を画像変換するために、ステップ604、605に進む。以上の処理に続いて、操作ログやアプリログがあるかを判定しステップ805、ある場合にはステップ603とステップ803に戻り、ない場合には変換後の再現用コンテンツと再現用ユーザログを外部再現装置に送信するステップ1004。操作の再現の終了を判定しステップ1005、終了でなければステップ542に戻り、それ以外は終了するステップ1006。以上の実施例4の処理フローにより、ウェブページに含まれるアプリコードが動作し、ウェブページのレンダリング結果が変化する場合においても、ウェブ操作を精度良く再現することが可能になる。第5の実施例を、図11、図12を用いて説明する。ここでは実施例1、2、3、4との差分についてのみ示し、実施例1、2、3、4で説明した部分については省略する。図11は、操作の再現時に問題が発生する例を示した図である。図12は、図11に示した問題を解決する、コンテンツとユーザログの変換に関する別の実施例の処理フロー図である。コンテンツ保存再現サーバ装置以外の処理は省略しているが、図5に示した処理フローと同じである。図11では、ウェブブラウザ1101、1111上に表示されているウェブドキュメント1102、1112に、実行ボタン1103、1113と、テキスト情報1104、1114が含まれ、実行ボタン1103、1113がクリックされて、テキスト情報1104、1114が更新された状態を模式的に示している。図11の上部ウェブブラウザ1101は、コンテンツとユーザログの変換前、図11の下部ウェブブラウザ1111は、コンテンツとユーザログの変換後の状態を示している。操作の再現状態については、変換前、変換後でほぼ同じであるが、1箇所実行ボタン1103、1113の操作の再現のみが異なっている。変換前では、実行ボタン1103を実際にクリック操作し、その結果、アプリコードが実行され、ウェブサーバの状態を更新する通信が発生する。そして、テキスト情報1104は、ウェブサーバの状態が更新されたことにより、表示内容が更新されている。一方、変換後は、ウェブサーバ状態を更新する通信の発生により、例えばウェブサーバ装置に含まれるデータベースなどのウェブサーバ装置に保存されている状態に対して更新が行われ、別のクライアント装置101からウェブサーバ装置121に対してウェブページのリクエストがなされた場合に、前記のウェブサーバ装置の状態の更新により、別のクライアント装置101に対するレスポンスが本来のウェブサーバ装置の状態とは異なる状態で生成されて影響が発生してしまう問題の発生を抑止するために、実際のクリック操作は行わず、図11に示すように、クリックした事実の表示のみ行う。しかし、実際のクリック操作を行わないと、クリック操作によって実行されるアプリコードが実行されないため、テキスト情報1114が更新されない問題が起こる。この問題に対し、本実施例では、操作ログとアプリログを使って、テキスト情報1114の更新を行うことで、ウェブ操作を精度良く再現する。図12に示した、問題を解決するコンテンツとユーザログの変換に関する実施例5の処理フローについて説明する。実施例1、2、3、4との違いは、実施例1、2、3、4では、問題が発生するウェブページに含まれるアプリコードの削除や変更をしていたが、アプリコードの削除や変更をせずに、ウェブ操作の再現を行う点である。ステップ542でサーバ装置からのコンテンツと、クライアント装置からのユーザログがそろった状態で、クライアント装置から受信したブラウザ情報からクライアント装置上でのウェブページのレンダリングとアプリコードの実行と同等のレンダリング、アプリコードの実行が可能な環境を選択、用意して、ユーザ操作前の状態までウェブページのレンダリング、アプリコードの実行を行うステップ549。その後、次の操作やアプリログがあるかを判定しステップ1203、ある場合には、該当する操作によりサーバ状態の更新を起こす通信が発生するかを判定するステップ1204。通信が発生する場合には、該当する操作を、通信を発生させない操作に変換し、アプリログから再現時に該当操作によりドキュメントに生じた変化を再現する機能をドキュメントに追加するステップ1205。具体的な例としては、操作によって実行されるアプリコードに通信を発生させる機能が含まれている、もしくは操作と関連付けられたアプリログに通信の発生、言い換えるならウェブサーバの状態に影響を与えるアプリコードの実行状態がアプリログとして記録されている場合に、当該アプリログに記録されているアプリコードに該当する操作を、実際に実行はせずにウェブブラウザ上に操作の事実のみを表示する操作に変更し、その操作に伴って変更されるウェブページの表示内容をアプリログから取得してドキュメントの変更を行う方法が挙げられる。ウェブ操作の再現対象となる操作やアプリログがなければ、変換後の再現用コンテンツと再現用ユーザログを外部再現装置に送信するステップ1206。操作の再現の終了を判定しステップ1207、終了でなければステップ542に戻り、それ以外は終了するステップ1208。以上の実施例5の処理フローにより、操作によりアプリコードが動作し、ウェブページのレンダリング結果が変化する場合においても、アプリコードの削除や変更をせずにウェブ操作を精度良く再現することが可能になる。第6の実施例を、図13、図14を用いて説明する。ここでは実施例1、2、3、4、5との差分についてのみ示し、実施例1、2、3、4、5で説明した部分については省略する。図13は、クライアント装置101と外部再現装置181のウェブブラウザが異なる場合に、コンテンツやユーザログの変換によりウェブ操作を精度良く再現する方法について模式的に示した図である。図14は、図13に示した、コンテンツとユーザログの変換に関する別の実施例の処理フロー図である。コンテンツ保存再現サーバ装置以外の処理は省略しているが、図5に示した処理フローと同じである。図13に示した実施例6の方法は、クライアント装置101上で利用者が操作を行うウェブブラウザA1301と、外部再現装置181上でウェブ操作の再現を行うウェブブラウザB1303が異なる場合に、コンテンツ保存再現サーバ装置141にて、ブラウザ間の違いを吸収するために、コンテンツやユーザログの変換方法を記述したブラウザ間変換表1302を用意し、ブラウザ間変換表1302でコンテンツやユーザログの変換を行ってウェブ操作の再現を行うことで、精度の良いウェブ操作の再現を行う方法である。具体的には、ウェブブラウザA上での操作イベントXがウェブブラウザBでは操作イベントYに相当する場合、ブラウザ間変換表1302では、この対応関係が表形式で記述されている。アプリログについても、データの保存先のストレージ名がウェブブラウザAではストレージS,ウェブブラウザBではストレージTの場合に、その対応関係をブラウザ間変換表1302に記述する。図13では、操作ログとアプリログについてのみ示したが、ドキュメントやアプリコードなど、コンテンツやユーザログに含まれるものすべてがブラウザ間変換表1302に記述する対象となる。図14を用いて、図13に示した実施例6の処理フローについて説明する。実施例1、2、3、4、5との違いは、実施例1、2、3、4、5では、クライアント装置101のブラウザ情報から、同等のレンダリング、アプリ実行可能な環境をコンテンツ保存再現サーバ装置に用意してレンダリングを行うことで、操作を精度良く再現していたが、実施例6では、このようなレンダリング、アプリ実行の環境を用意せずに、ウェブ操作の再現を行う点である。図14のステップ542でサーバ装置からのコンテンツと、クライアント装置からのユーザログがそろった状態で、クライアント装置のブラウザ情報と、外部再現装置のブラウザ情報から、外部再現装置でクライアント装置と同等の操作の再現を実現するようにブラウザ間変換表を用いてコンテンツやユーザログを変換するステップ1403。その後、操作によってサーバ状態の更新を起こす通信が発生するかを判定しステップ1404、通信が発生する場合には、該当するアプリコードとアプリログを削除しステップ1405通信が発生しない場合には、ステップ1405をスキップする。これを次の操作やアプリログがある間継続しステップ1406、その後に変換後の再現用コンテンツと再現用ユーザログを外部再現装置に送信するステップ1407。操作の再現の終了を判定しステップ1408、終了でなければステップ542に戻り、それ以外は終了するステップ1409。以上の処理フローにより、クライアント装置のウェブブラウザと同等のレンダリング、アプリ実行環境を用意せずに、コンテンツやユーザログを変換してウェブ操作を精度良く再現することが可能になる。続いて、第7の実施例を、図15を用いて説明する。図15は、ウェブブラウザ1501上に、実行ボタン1503やテキスト情報1504などのオブジェクトが含まれるウェブドキュメント1502が表示されている状態を模式的に示した図である。実施例1~6に示したように、ウェブ操作の再現時に、副作用を抑止すると、完全な操作の再現ができず、ウェブページの表示内容に、操作の記録時と異なる部分が生じてしまうことがある。例えば、アプリコードの削除によって、記録時にはアプリコードの実行によって表示内容が更新されたものの、再現時にはアプリコードが実行されずに表示内容が更新されないような場合がある。そこで、ウェブブラウザ1501上に、操作の記録時と再現時で表示内容に差が出ている部分、もしくは差が出ている可能性がある部分を表示する。これにより、ウェブ操作の再現状況の正しい解釈を実現できる。以上、本発明の第1~第7の実施例1~7を説明した。本発明はこれらの実施例に限定されるものではなく、これらの組み合わせ等、様々な変形例が含まれる。ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の構成の追加削除置換をすることが可能である。また、実際例1~7はそれぞれ一例を示したに過ぎず、例えば、操作の再現をしつつ、操作の記録を行う場合なども本発明の実施例の組み合わせにて実現される。また、コンテンツ、ユーザログに含まれる可能性のある情報としては、ウェブブラウザ上で記録可能なすべての情報が対象となる。また、すべての装置が1台ずつの場合のみ説明したが、それぞれ複数台であったり、複数の装置が少ない台数にまとまっている場合も含まれる。また、実施例の各構成要素、機能、処理部、処理手段等は、それらの一部又は全部を、例えばハードウェアで実現してもよい。また、上記の各構成、機能等を実現するプログラム、テーブル、ファイル等の情報は、図示したメモリや、ローカルディスク以外に、SSDSolidStateDrive等の記録装置、または、ICカード、SDカード、DVD等の記録媒体におくことができるし、必要に応じてネットワーク等を介してダウンロード、インストロールすることも可能であることは言うまでもない。"