(57)【要約】【課題】動的コンテンツ保存のためのメモリ容量圧縮をはかる。【解決手段】動的コンテンツ保存復元装置（動的コンテンツ保存復元プロキシ装置３）は、変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第１の記憶手段（３３）と、端末装置（１、２）からのコンテンツリクエストに対する応答である動的コンテンツとの差分である差分データが格納される第２の記憶手段（３４）とを備え、動的コンテンツに対してテンプレートが適用できるか否かを検証し、適用できると判定された場合に、差分データを第２の記憶手段に保存し、端末装置からの復元リクエストに対し、第１の記憶手段に保存されたテンプレートと、第２の記憶手段に保存された差分データとを組み合わせることにより動的コンテンツを復元する。【選択図】  図１
2010224861.tif 000002
【特許請求の範囲】
【請求項１】
端末装置がネットワーク経由で接続される動的コンテンツ保存復元装置であって、
変数データと、前記変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第１の記憶手段と、
前記テンプレートと、前記端末装置からのコンテンツリクエストに対する応答である動的コンテンツとの差分である差分データが格納される第２の記憶手段と、
前記動的コンテンツに対して前記テンプレートが適用できるか否かを検証し、適用できると判定された場合に、前記差分データを前記第２の記憶手段に保存するコンテンツ保存手段と、
前記端末装置からの復元リクエストに対し、前記第１の記憶手段に保存されたテンプレートと、前記第２の記憶手段に保存された差分データとを組み合わせることにより動的コンテンツを復元するコンテンツ復元手段と、
を備えたことを特徴とする動的コンテンツ保存復元装置。
【請求項２】
前記コンテンツ保存手段は、
前記テンプレートに含まれる固定文字列データが前記動的コンテンツに含まれており、前記テンプレートと差分データとを組み合わせることにより前記動的コンテンツを復元できるか否かによって前記動的コンテンツに対し前記取得したテンプレートが適用可能か否かを検証し、
適用可能とされた場合、前記テンプレートをベースに前記動的コンテンツから前記差分データを抽出して変数データを取得し、適用不能とされた場合、前記動的コンテンツ全体を前記第２の記憶手段に格納することを特徴とする請求項１に記載の動的コンテンツ保存復元装置。
【請求項３】
前記コンテンツ復元手段は、
前記コンテンツリクエストを一意に特定するリクエストＩＤに基づき前記第２の記憶手段を検索し、前記リクエストＩＤにヒットした該当のテンプレートに対応する変数データが、前記動的コンテンツと一致する場合、前記第１の記憶手段から対応するテンプレートを取得し、前記取得したテンプレートと前記第２の記憶手段に格納された対応する差分データとから動的コンテンツを復元し、前記復元した動的コンテンツを前記動的コンテンツとして前記復元リクエストがあった端末装置に送信することを特徴とする請求項１に記載の動的コンテンツ保存復元装置。
【請求項４】
前記コンテンツ保存手段は、
ユーザ定義されたコンテンツＩＤ、および前記変数データの開始および終了位置に関するデータを取得し、前記テンプレートに含まれる固定文字列データが前記動的コンテンツに含まれており、前記テンプレートと差分データとを組み合わせることにより前記動的コンテンツを復元できるか否かによって前記動的コンテンツに対し前記取得したテンプレートが適用可能か否かを動的に検証することを特徴とする請求項２に記載の動的コンテンツ保存復元装置。
【請求項５】
前記第１の記憶手段に格納されるテンプレートは、少なくとも固定文字列長に関するデータを含み、
前記コンテンツ保存手段は、
前記固定文字列長に関するデータを参照して前記固定文字列の検索先頭位置および終了位置を絞り込み、前記固定文字列の検索に成功した場合、前記検索先頭位置から検索対象の固定文字列がヒットした直前の位置迄、前記固定文字列の直前に出現する変数データとして抽出することを特徴とする請求項１または請求項２に記載の動的コンテンツ保存復元装置。
【請求項６】
前記コンテンツ保存手段は、
前記コンテンツリクエストの中で全てのコンテンツに共通に出現する部分を抽出し、個別に出現する部分は、所定のテンプレートを仮定し、前記所定のテンプレートの適用に失敗するケースの発生率から前記所定のテンプレートを適用した場合に増加するメモリ使用量を計算し、前記メモリ使用量が最小になるように学習処理してテンプレートを生成し、前記第１の記憶手段に格納することを特徴とする請求項１または請求項２に記載の動的コンテンツ保存復元装置。
【請求項７】
前記コンテンツ保存手段は、
前記テンプレート適用の失敗に関する頻度管理を行い、得られる頻度情報が所定数になった場合、該当テンプレートの更新を促すユーザインタフェースを提供することを特徴とする請求項１または請求項２に記載の動的コンテンツ保存復元装置。
【請求項８】
コンテンツリクエスト、もしくはコンテンツ復元リクエストを発行する端末装置と、前記端末装置とはネットワーク経由で接続される動的コンテンツ保存復元装置とからなる動的コンテンツ保存復元システムであって、
前記動的コンテンツ保存復元装置は、
変数データと、前記変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第１の記憶手段と、前記テンプレートと前記端末装置からのコンテンツリクエストに対する応答である動的コンテンツとの差分である差分データが格納される第２の記憶手段と、前記動的コンテンツに対して前記テンプレートが適用できるか否かを検証し、適用できると判定された場合に、前記差分データを前記第２の記憶手段に保存するコンテンツ保存手段と、前記端末装置からの復元リクエストに対し、前記第１の記憶手段に保存されたテンプレートと、前記第２の記憶手段に保存された差分データとを組み合わせることにより動的コンテンツを復元するコンテンツ復元手段とを含み、
前記端末装置は、
前記動的コンテンツ保存復元装置により復元された動的コンテンツを取得して再現することを特徴とする動的コンテンツ保存復元システム。
【請求項９】
前記動的コンテンツ保存復元装置は、
動的コンテンツ生成装置と、動的コンテンツ保存復元プロキシ装置とからなり、
前記動的コンテンツ保存復元プロキシ装置は、前記端末装置から発行されるコンテンツリクエストおよびコンテンツ復元リクエストに対し、前記動的コンテンツ生成装置からの応答を中継することを特徴とする請求項８に記載の動的コンテンツ保存復元システム。
【請求項１０】
前記端末装置は、
システム利用者側クライアント装置と、ヘルプデスク側クライアント装置とを含み、
前記システム利用者側クライアント装置は、
前記動的コンテンツ保存復元装置に対しコンテンツリクエストを送信して動的コンテンツを取得し、前記取得した動的コンテンツに対するブラウザ操作ログを保存し、前記保存したブラウザ操作ログを前記ヘルプデスク側クライアント装置に転送する手段を備え、
前記ヘルプデスク側クライアント装置は、
前記システム利用者側クライアント装置から転送されるブラウザ操作ログを受信して前記動的コンテンツ保存復元装置に復元リクエストを送信し、前記動的コンテンツ保存復元装置から復元された動的コンテンツを取得し、前記取得した動的コンテンツと前記受信したブラウザ操作ログとを組み合わせ、自身のブラウザで前記動的コンテンツの操作を再現する手段、
を備えることを特徴とする請求項８または請求項９に記載の動的コンテンツ保存復元システム。
【請求項１１】
コンテンツリクエスト、もしくはコンテンツ復元リクエストを発行する端末装置と、前記端末装置とはネットワーク経由で接続される動的コンテンツ保存復元装置とからなる動的コンテンツ保存復元システムにおける動的コンテンツの保存および復元方法であって、
前記動的コンテンツ保存復元装置が、
変数データと、前記変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第１の記憶手段と、前記テンプレートと前記端末装置からのコンテンツリクエストに対する応答である動的コンテンツとの差分である差分データが格納される第２の記憶手段とを参照することにより、前記動的コンテンツに対して前記テンプレートが適用できるか否かを検証し、適用できると判定された場合に前記差分データを前記第２の記憶手段に保存するステップと、
前記動的コンテンツ保存復元装置が、
前記端末装置からの復元リクエストに対し、前記第１の記憶手段に保存されたテンプレートと、前記第２の記憶手段に保存された差分データとを組み合わせることにより動的コンテンツを復元するステップと、
前記端末装置が、
前記動的コンテンツ保存復元装置により復元された動的コンテンツを取得し、再現するステップと、
を有することを特徴とする動的コンテンツの保存および復元方法。
【請求項１２】
端末装置がネットワーク経由で接続され、変数データと、前記変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第１の記憶手段と、前記テンプレートと、前記端末装置からのコンテンツリクエストに対する応答である動的コンテンツとの差分である差分データが格納される第２の記憶手段とを備えた動的コンテンツ保存復元装置に用いられるプログラムであって、
前記動的コンテンツに対して前記テンプレートが適用できるか否かを検証し、適用できると判定された場合に、前記差分データを前記第２の記憶手段に保存するコンテンツ保存処理と、
前記端末装置からの復元リクエストに対し、前記第１の記憶手段に保存されたテンプレートと、前記第２の記憶手段に保存された差分データとを組み合わせることにより動的コンテンツを復元するコンテンツ復元処理と、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動的コンテンツ保存復元装置、動的コンテンツ保存復元システム、動的コンテンツの保存および復元方法、ならびにプログラムに関する。
【背景技術】
【０００２】
業務アプリケーションシステムのＷｅｂ（World Wide Web）化等に伴い、ネットワークの情報伝送量は年々増加している。この情報伝送量を削減するための技術として、従来、キャッシュ技術が知られている。
【０００３】
一般に、Ｗｅｂにおけるキャッシュ技術は、クライアントとアプリケーションサーバとの通信を中継するキャッシュサーバをネットワーク上に配置し、アプリケーションサーバからクライアントへのレスポンスの内容をキャッシュサーバが一時的に保持することにより実現される。
すなわち、初回を除く次回以降、クライアントからアプリケーションサーバへリクエストが行われると、キャッシュサーバはリクエストの情報を解析し、保持しているキャッシュ情報が流用可能か否かを判定し、流用できる場合には、アプリケーションサーバへリクエストを送信することなく、キャッシュ情報をクライアントにレスポンスする。これにより、アプリケーションサーバの負荷を削減し、システム全体を高速化することができる。また、キャッシュサーバを複数箇所に分散して配置することにより、アプリケーションサーバに繋がるネットワークの転送量を減らすことができる。
【０００４】
アプリケーションサーバにより生成されるＷｅｂコンテンツには、何度リクエストしても同じ結果が得られる「静的コンテンツ」と、リクエスト内容や、アプリケーションサーバの状態から生成するコンテンツの内容に一部変更が加えられた「動的コンテンツ」がある。現在広く使われているキャッシュ技術は、一般には前者の「静的コンテンツ」に対して適用されるものである。
【０００５】
従来、動的に生成されるコンテンツの転送量を減らす技術として、動的に生成されたコンテンツを通信経路に跨る２箇所のプロキシサーバに保存し、新たに別の動的コンテンツが生成された場合は、既にキャッシュされている複数のドキュメントとの差分を計算し、差分情報のみを転送する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１９０３３９号公報（段落「００１２」、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、Ｗｅｂアプリケーションにおいて、あるクライアント装置のブラウザからのリクエストにより出力されたコンテンツを、任意のタイミングで別のクライアント装置のブラウザ上に復元するシステムについて考える。
【０００８】
このシステムの実現方法について検討すると、次の２通りが考えられる。一つは、２つのクライアント装置からアプリケーションサーバに対して全く同じ内容のリクエストを送信し、全く同じレスポンスが得られることを期待する方法である。他の一つは、はじめてのクライアント装置からのリクエストに対するレスポンス内容をキャッシュサーバなどで保存し、復元のリクエスト時にはキャッシュサーバの内容を出力する方法である。
【０００９】
前者の方法は、アプリケーションサーバが出力するレスポンスが静的コンテンツのみに限定されることがわかっている場合に有効である。しかし、レスポンスが動的コンテンツの場合には、たとえ入力内容が全く同じであっても最初のレスポンス内容と２回目のレスポンス内容が同じであることは保証されない。
例えば、預金残高をＷｅｂページに表示するアプリケーションでは、クライアント装置からリクエストするＵＲＬ（Uniform Resource Locator）が同一であっても、預金残高としてデータベースに記録されている値に変更があれば、サーバが生成するコンテンツの内容は異なるはずである。したがって、当初の目的である、レスポンスの内容の復元は実現できない。
【００１０】
したがって、後者を選択する必要があるが、後者の場合、コンテンツの保存容量の課題がある。動的コンテンツの場合、同一の入力の内容について、レスポンス内容は毎回変更されている可能性があるため、すべてのレスポンスを保存しなければならない。このため、コンテンツ保存に必要となる容量は膨大なものになる。
【００１１】
この問題を解決するために特許文献１開示されている差分圧縮技術の応用が考えられる。具体的には、転送量が削減された通信データの部分をディスクに保存し、データ復元の際はディスク上の差分データとプロキシに保存されたデータを用いて差分を生成する方式である。
しかしながら、これは、キャッシュサーバに保持されたデータを効率的に削除することが主旨であり、後に復元する場合、キャッシュサーバに保持されたデータの削除が出来ないためその効果が見込めなくなる。また、高いデータ圧縮率を実現するためにキャッシュされるデータを増やすと、差分計算時の計算量が組み合わせ的に増え、キャッシュサーバの負荷が増大する問題がある。
【００１２】
本発明は前記した課題を解決するためになされたものであり、動的コンテンツ保存のためのメモリ容量の圧縮をはかった、動的コンテンツ保存復元装置、動的コンテンツ保存復元システム、動的コンテンツの保存および復元方法、ならびにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
前記した課題を解決するために本発明の動的コンテンツ保存復元装置は、端末装置がネットワーク経由で接続される動的コンテンツ保存復元装置であって、変数データと、前記変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第１の記憶手段と、前記テンプレートと、前記端末装置からのコンテンツリクエストに対する応答である動的コンテンツとの差分である差分データが格納される第２の記憶手段と、前記動的コンテンツに対して前記テンプレートが適用できるか否かを検証し、適用できると判定された場合に、前記差分データを前記第２の記憶手段に保存するコンテンツ保存手段と、前記端末装置からの復元リクエストに対し、前記第１の記憶手段に保存されたテンプレートと、前記第２の記憶手段に保存された差分データとを組み合わせることにより動的コンテンツを復元するコンテンツ復元手段と、を備えたものである。
【００１４】
また、本発明の動的コンテンツ保存復元システムは、コンテンツリクエスト、もしくはコンテンツ復元リクエストを発行する端末装置と、前記端末装置とはネットワーク経由で接続される動的コンテンツ保存復元装置とからなる動的コンテンツ保存復元システムであって、前記動的コンテンツ保存復元装置は、変数データと、前記変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第１の記憶手段、前記テンプレートと、前記端末装置からのコンテンツリクエストに対する応答である動的コンテンツとの差分である差分データが格納される第２の記憶手段、前記動的コンテンツに対して前記テンプレートが適用できるか否かを検証し、適用できると判定された場合に、前記差分データを前記第２の記憶手段に保存するコンテンツ保存手段、および前記端末装置からの復元リクエストに対し、前記第１の記憶手段に保存されたテンプレートと、前記第２の記憶手段に保存された差分データとを組み合わせることにより動的コンテンツを復元するコンテンツ復元手段とを含み、前記端末装置は、前記動的コンテンツ保存復元装置により復元された動的コンテンツを再現するものである。
【００１５】
また、本発明の動的コンテンツ保存復元方法は、コンテンツリクエスト、もしくはコンテンツ復元リクエストを発行する端末装置と、前記端末装置とはネットワーク経由で接続される動的コンテンツ保存復元装置とからなる動的コンテンツ保存復元システムにおける動的コンテンツの保存および復元方法であって、前記動的コンテンツ保存復元装置が、変数データと、前記変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第１の記憶手段と、前記テンプレートと、前記端末装置からのコンテンツリクエストに対する応答である動的コンテンツとの差分である差分データが格納される第２の記憶手段とを参照することにより、前記動的コンテンツに対して前記テンプレートが適用できるか否かを検証し、適用できると判定された場合に前記差分データを前記第２の記憶手段に保存するステップと、前記動的コンテンツ保存復元装置が、前記端末装置からの復元リクエストに対し、前記第１の記憶手段に保存されたテンプレートと、前記第２の記憶手段に保存された差分データとを組み合わせることにより動的コンテンツを復元するステップと、前記端末装置が、前記動的コンテンツ保存復元装置により復元された動的コンテンツを取得し再現するステップと、を有するものである。
【００１６】
また、本発明のプログラムは、端末装置がネットワーク経由で接続され、変数データと、前記変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第１の記憶手段と、前記テンプレートと、前記端末装置からのコンテンツリクエストに対する応答である動的コンテンツとの差分である差分データが格納される第２の記憶手段とを備えた動的コンテンツ保存復元装置に用いられるプログラムであって、前記動的コンテンツに対して前記テンプレートが適用できるか否かを検証し、適用できると判定された場合に、前記差分データを前記第２の記憶手段に保存するコンテンツ保存処理と、前記端末装置からの復元リクエストに対し、前記第１の記憶手段に保存されたテンプレートと、前記第２の記憶手段に保存された差分データとを組み合わせることにより動的コンテンツを復元するコンテンツ復元処理と、をコンピュータに実行させるものである。
【発明の効果】
【００１７】
本発明によれば、動的コンテンツ保存のためのメモリ容量の圧縮をはかった、動的コンテンツ保存復元装置、動的コンテンツ保存復元システム、動的コンテンツの保存および復元方法、ならびにプログラムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施例１に係る動的コンテンツ保存復元システムのシステム構成を示す図である。
【図２】本発明の実施例１に係る動的コンテンツ保存復元装置が実行するプログラム（コンテンツ保存手段）の構造を、周辺の構成と合わせて示したブロック図である。
【図３】本発明の実施例１に係る動的コンテンツ保存復元装置が実行するプログラム（コンテンツ復元手段）の構造を、周辺の構成と合わせて示したブロック図である。
【図４】本発明の実施例１に係る動的コンテンツ保存復元装置のＵＲＬハッシュによるテンプレート呼び出し処理の概要を模式的に示した図である。
【図５】本発明の実施例１に係る動的コンテンツ保存復元装置のコンテンツＩＤによるテンプレート呼び出し処理の概要を模式的に示した図である。
【図６】本発明の実施例１に係る動的コンテンツ保存復元装置のテンプレートによる変数データ抽出処理の概要を模式的に示した図である。
【図７】本発明の実施例１に係る動的コンテンツ保存復元装置のテンプレートによる動的コンテンツ復元処理の概要を模式的に示した図である。
【図８】本発明の実施例１に係る動的コンテンツ保存復元装置のモード切替え時の動作の流れを示すフローチャートである。
【図９】本発明の実施例１に係る動的コンテンツ保存復元装置の通常モード処理動作の流れを示すフローチャートである。
【図１０】本発明の実施例１に係る動的コンテンツ保存復元装置の復元モード処理動作の流れを示すフローチャートである。
【図１１】本発明の実施例２に係る動的コンテンツ保存復元装置の動的コンテンツ生成処理動作の概要を模式的に示した図である。
【図１２】本発明の実施例３に係る動的コンテンツ保存復元装置の動的コンテンツ生成処理動作の概要を模式的に示した図である。
【図１３】本発明の実施例３に係る動的コンテンツ保存復元装置のマッチ判定処理動作の流れを示すフローチャートである。
【図１４】本発明の実施例４に係る動的コンテンツ保存復元装置の学習処理による最適テンプレートの自動生成処理動作の概要を模式的に示した図である。
【図１５】本発明の実施例１〜４に係る動的コンテンツ保存復元システムをヘルプデスクシステムに応用した場合の構成および動作の概要を示した図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００２０】
《実施例１》
（動的コンテンツ保存復元システム１０の構成）
図１は、本発明の実施例１に係る動的コンテンツ保存復元システム１０のシステム構成を示す図である。
図１に示されるように、本発明の実施例１に係る動的コンテンツ保存復元システム１０は、複数の端末装置＃０（１）〜＃ｎ（２）と、この複数の端末装置＃０（１）〜＃ｎ（２）とはネットワーク６を介して接続されるアプリケーションサーバとしての動的コンテンツ生成装置４との間に、動的コンテンツ保存復元プロキシ装置３（動的コンテンツ保存復元装置）が配置される。この動的コンテンツ保存復元プロキシ装置３は、端末装置＃０（１）〜＃ｎ（２）からのコンテンツリクエスト、および動的コンテンツ生成装置４からの応答である動的コンテンツを中継する。
【００２１】
動的コンテンツ保存復元プロキシ装置３は、テンプレートＤＢ３３と、差分保存ＤＢ３４とをデータベースとして有する。
ここで、テンプレートＤＢ３３は、変数データと、変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第１の記憶手段であり、また、差分保存ＤＢ３４は、テンプレートと、端末装置＃１（１）〜＃ｎ（２）からのコンテンツリクエストに対する動的コンテンツとの差分データが格納される第２の記憶手段である。
【００２２】
動的コンテンツ保存復元プロキシ装置３は、後述するように、動的コンテンツ生成装置４からの動的コンテンツに対してテンプレートが適用できるか否かを検証し、適用できると判定された場合に、動的コンテンツとテンプレートとの差分データからなる動的コンテンツを差分ＤＢ３４に保存するコンテンツ保存手段３１０（図２）として機能する。
また、動的コンテンツ保存復元プロキシ装置３は、端末装置＃０（１）〜＃ｎ（２）からの復元リクエストに対し、テンプレートＤＢ３３に保存されたテンプレートと、差分保存ＤＢ３４に保存された差分データとを組み合わせることにより生成される動的コンテンツを復元するコンテンツ復元手段３２０（図３）としても機能する。いずれも詳細は後記する。
【００２３】
なお、動的コンテンツ保存復元プロキシ装置３と、動的コンテンツ生成装置４は、図１に示されるように独立したサーバとして構築し、もしくは、１個のサーバとして同一筐体に実装されても良い。ここでは、独立したサーバとして構築されるものとして説明する。
【００２４】
本発明の実施例１に係る動的コンテンツ保存復元システム１０では、Ｗｅｂページにおけるコンテンツの多くの部分が固定の文字列（静的部分）で構成され、一部分が変数データ（動的部分）で構成されているという特性を利用する。
この特性は、例えば、動的コンテンツ生成装置４で標準的に採用されているＪＳＰ(Java（登録商標） Server Pages)や、ＰＨＰ(Hypertext Preprocessor)等の技術からも伺え、これらの技術によれば、コンテンツの変化しない枠組み部分で大まかなＷｅｂページを構成し、リクエスト毎に変化する部分について特別なタグを埋め込んで記述することにより実現される。
【００２５】
動的コンテンツ保存復元プロキシ装置３では、端末装置＃０（１）〜＃ｎ（２）からコンテンツリクエストされるＵＲＬ毎に、動的コンテンツの静的部分と動的部分とを表現するデータである「テンプレート」を準備しており、このテンプレートとコンテンツとの差分情報のみを差分保存ＤＢ３４に保存することで容量削減をはかる。
【００２６】
テンプレートは、例えば、後記する図６に示されるように、変数データ（動的部分）挿入箇所の変数名（５０２、５０３）と、それら変数の間を埋める固定文字列（静的部分）により表現できる。
例えば、テンプレート５０１は、「“・・・こんにちは”変数Ａ“様。・・・ログイン時刻は”変数Ｂ“です。”」といった形式で表現できる。
【００２７】
テンプレートＤＢ３３には、あるＵＲＬにリクエストした場合のコンテンツに対応するテンプレートが登録されている。これはシステム稼動前の準備として、事前に登録が完了しているものとする。
テンプレートＤＢ３３のデータ構造について、図４および図５を用いて以下に説明する。図４に示されるように、テンプレートＤＢ３３を構成するテーブルは、ＵＲＬハッシュ４０６をキーにして対応する最新のテンプレートＩＤ４０７を検索でき、また、テンプレートＩＤ４０８をキーに対応するテンプレート４０９を検索できる構造になっている。
【００２８】
コンテンツの更改により別のテンプレートを登録する必要がある場合は、まず、テンプレートＩＤ４０８とテンプレート４０９に、新たなテンプレートＩＤおよびテンプレートを追加し、そのテンプレートを適用したいＵＲＬについて、ＵＲＬハッシュ４０６に対応した最新のテンプレートＩＤ４０７を更新する。
これにより、各リクエストＵＲＬに対応して、常に最新のテンプレートが獲得可能になる。また、過去に適用していたが、既に更改されて使われなくなったテンプレートについてもテンプレートＩＤがわかっていれば獲得可能になる。
【００２９】
図２は、本発明の実施例１に係る動的コンテンツ保存復元装置が実行するプログラム（コンテンツ保存手段３１０）の構造を、周辺の構成と合わせて示したブロック図である。
コンテンツ保存手段３１０は、動的コンテンツ生成装置４からの動的コンテンツに対してテンプレートが適用できるか否かを検証し、適用できると判定された場合に、差分データを差分ＤＢ３４に保存する機能を有する。このため、コンテンツ保存手段３１０は、モード判定処理部３１１と、ＩＤ付与処理部３１２と、リクエストＵＲＬ解析処理部３１３と、テンプレート呼び出し処理部３１４と、検証処理部３１５と、差分抽出処理部３１６とを含む。前記した各機能ブロック３１１〜３１６の詳細は後記する。
【００３０】
図３は、発明の実施例１に係る動的コンテンツ保存復元装置が実行するプログラム（コンテンツ復元手段３２０）の構造を、周辺の構成と合わせて示したブロック図である。
コンテンツ復元手段３２０は、端末装置＃０（１）、＃ｎ（２）からの復元リクエストに対し、テンプレートＤＢ３３に保存されたテンプレートと、差分保存ＤＢ３４に保存された差分データとを組み合わせることにより生成される動的コンテンツを復元する機能を有する。このため、モード判定処理部３２１と、ＩＤ抽出処理部３２２と、差分呼び出し処理部３２３と、マージ処理部３２４と、テンプレート呼び出し処理部３２５とを含む。前記した各機能ブロック３２１〜３２５の詳細は後記する。
【００３１】
（コンテンツ保存手段３１０の動作）
図８は、本発明の実施例１に係る動的コンテンツ保存復元装置のモード切替え時の動作を示すフローチャートであり、図９は、動的コンテンツ保存復元プロキシ装置３が動的コンテンツＡ２０６を保存する場合の通常モードにおける動作の流れを示すフローチャートである。
以下、図８、図９に示すフローチャートを参照しながら、図２に示す動的コンテンツ保存復元プロキシ装置３のコンテンツ保存手段３１０の動作について詳細に説明する。
【００３２】
図８において、動的コンテンツ保存復元プロキシ装置３（コンテンツ保存手段３１０）は、モード判定処理部３１１が、端末装置＃０（１）〜＃ｎ（２）から発行されるリクエスト情報を解析し、復元モードであることを示す情報があるか否かを確認し、無い場合は、通常モードで動作するように処理を分岐する(ステップＳ８０“Ｎｏ”、Ｓ８１)。
【００３３】
通常モードにおいては、図９に示されるように、まず、ＩＤ付与処理部３１２がコンテンツリクエストのためのリクエストＩＤ２１５を生成する（ステップＳ８１１）。
このリクエストＩＤ２１５は、動的コンテンツ保存復元プロキシ装置３を通過するコンテンツリクエストの範囲で常にユニーク性が保たれているものとする。次に、リクエストＵＲＬ解析処理部３１３が、端末装置＃０（１）〜＃ｎ（２）からのリクエストＵＲＬを解析して、テンプレート検索のためのハッシュ値２１０を生成する（ステップＳ８１２）。そして、リクエストＵＲＬ解析処理部３１３は、動的コンテンツ生成装置４にこのコンテンツリクエストを転送する。
【００３４】
転送されたコンテンツリクエストを受信した動的コンテンツ生成装置４は、動的コンテンツ生成処理部２０５により、動的コンテンツＡ２０６を生成し、それを動的コンテンツ保存復元プロキシ装置３に対してレスポンスする（ステップＳ８１３）。
動的コンテンツ生成装置４からレスポンスを受信した動的コンテンツ保存復元プロキシ装置３のテンプレート呼び出し処理部３１４は、ＵＲＬハッシュ値２１０をキーにして、テンプレートＤＢ３３から、テンプレートＩＤ２１１およびテンプレート２１２を獲得する（ステップＳ８１４）。
【００３５】
なお、ステップＳ８１４のテンプレート獲得処理は、必ずしもステップＳ８１３の動的コンテンツ受信処理の終了を待ってから実行を開始する必要はなく、ステップＳ８１３の動的コンテンツ受信処理と並行して実行してもよい。
【００３６】
次に、動的コンテンツ保存復元プロキシ装置３の検証処理部３１５は、動的コンテンツＡ２０６に対し、テンプレート２１２が適用可能か否かを検証する（ステップＳ８１５）。ここで、テンプレート２１２が適用可能であるということは、テンプレート２１２に含まれている固定文字列が全て動的コンテンツＡ２０６に含まれており、テンプレート２１２と差分情報とを組み合わせることで、動的コンテンツＡ２０６が復元可能である状態のことをいう。
【００３７】
検証処理部３１５により、動的コンテンツＡ２０６に対しテンプレート２１２が適用可能であると判定された場合（ステップＳ８１５“Ｙｅｓ”）、差分抽出処理部３１６は、テンプレート２１２をベースに、動的コンテンツＡ２０６から差分情報の抽出結果である変数データ２１３を抽出する（ステップＳ８１６）。差分抽出処理部３１６による変数抽出処理の具体例は、図６に示されている。
図６に示されるように、差分抽出処理部３１６は、ＵＲＬ Ｘの最新テンプレートＴ１（５０１）と、コンテンツリクエストＲ１で生成されたＵＲＬ ＸのコンテンツＸ１（５０４）との差分から変数Ａ（鈴木）、変数Ｂ（２１：１０：０１）を抽出する。そして、変数抽出後、リクエストＩＤをキーに、リクエストＩＤ（Ｒ１：５０７）、テンプレートＩＤ（Ｔ１５０８）、失敗フラグ（「ＦＡＬＳＥ」５０９）、および変数５１０、５１１からなる変数データを、差分保存ＤＢ３４に登録する（ステップＳ８１７）。
【００３８】
なお、ステップＳ８１６の変数抽出処理は、ステップＳ８１５の検証処理の過程で実行するように実装することもできる。
【００３９】
一方、ステップＳ８１５の検証処理において、検証処理部３１５によりテンプレートが適用できないと判定されると（ステップＳ８１５“Ｎｏ”）、差分抽出処理部３１６は、動的コンテンツＡ２０６全体を変数データ２１３とみなし、リクエストＩＤ２１５、テンプレートＩＤ２１１、失敗フラグ２１６「ＴＲＵＥ」、および変数データ２１３を差分保存ＤＢ３４に登録する（ステップＳ８１８）。変数データは、<ＨＴＭＬ>・・・<／ＨＴＭＬ>である。
最後に、差分抽出処理部３１６は、動的コンテンツＡ２０６、およびリクエストＩＤ２１５を、レスポンス情報としてリクエストのあった端末装置＃０（１）〜＃ｎ（２）にネットワーク６経由で応答する（ステップＳ８１９）。
【００４０】
（コンテンツ復元手段３２０の動作）
図１０は、動的コンテンツ保存復元プロキシ装置３が動的コンテンツＡ２０６を復元する場合の復元モードにおける処理の流れを示すフローチャートである。
以下、図８、図１０に示すフローチャートを参照しながら、図３に示す動的コンテンツ保存復元プロキシ装置３のコンテンツ復元手段３２０の動作について詳細に説明する。
【００４１】
ここで復元リクエストを発行する端末装置＃０（１）〜＃ｎ（２）は、コンテンツリクエストの送信に使われた端末装置＃０（１）〜＃ｎ（２）と同じでもよいし、また、別の装置でもよい。
コンテンツ復元リクエストでは、端末装置＃０（１）〜＃ｎ（２）側は、復元モードであることを示す情報、および復元したいリクエストＩＤ２１５を、リクエスト情報に付加して転送する。
【００４２】
図８において、動的コンテンツ保存復元プロキシ装置３は、モード判定処理部３２１がそのリクエスト情報を解析して、復元モードであることを示す情報があるか否かを確認し、ある場合は、復元モードで動作するよう処理を分岐する(ステップＳ８０“Ｙｅｓ、Ｓ８２)。
復元モードでは、図１０（及び図３）に示されるように、まずＩＤ抽出処理部３２２がリクエスト情報を解析して、リクエストＩＤ２１５を抽出する（ステップＳ８２１）。次に、差分呼び出し処理部３２３は、リクエストＩＤ２１５をキーに差分保存ＤＢ３４を検索し、リクエストＩＤ２１５にマッチするテンプレートＩＤ２１１、失敗フラグ２１６、および変数データ２１３を抽出する（ステップＳ８２２）。
【００４３】
ここで、差分呼び出し処理部３２３は、失敗フラグ２１６が「ＴＲＵＥ」であるか否かを判定する（ステップＳ８２３）。「ＴＲＵＥ」の場合（ステップＳ８２３“Ｙｅｓ”）、獲得された変数データ２１３が動的コンテンツＡ２０６と一致するため、変数データをそのままに動的コンテンツＡとして復元する（ステップＳ８２６）。
一方、「ＴＲＵＥ」でない場合（ステップＳ８２３“Ｎｏ”）、テンプレート呼び出し処理部３２５は、テンプレートＩＤ２１１によって、テンプレートＤＢ３３から対応するテンプレート２１２を獲得してマージ処理部３２４へ引き渡す（ステップＳ８２４）。続いて、マージ処理部３２４は、テンプレート２１２と差分データ２１３とをマージして動的コンテンツＡ２０６を復元する（ステップＳ８２５）。
【００４４】
前記したように、失敗フラグ２１６が「ＴＲＵＥ」でない場合は、コンテンツを保存したときにテンプレート２１２が適用可能であったことを示しており、ステップＳ８２５のマージ処理で動的コンテンツＡ２０６を復元できる。前記したテンプレートと変数データから動的コンテンツを復元する場合の、差分呼び出し処理部３２３と、マージ処理部３２４による処理の具体例が図７に示されている。
マージ処理部３２４は、最後に、復元した動的コンテンツＡ２０６を、レスポンス情報としてリクエストのあった端末装置＃０（１）に転送し（ステップＳ８２７）、端末装置＃０（１）は、リクエスト送受信処理部２０２でこれを受信し、例えば、不図示のモニタにＷｅｂページを表示する。
【００４５】
以上説明のように、本発明の実施例１に係る動的コンテンツ保存復元装置によれば、通常（保存）モードと、復元モードとを持つ動的コンテンツ保存復元プロキシ装置３が、動的コンテンツに対してテンプレートが適用できるか否かを検証し、適用できると判定された場合に、差分データを差分保存ＤＢ３４に保存する。また、端末装置＃０（１）〜＃ｎ（２）からの復元リクエストに対し、テンプレートＤＢ３３に保存されたテンプレートと、差分保存ＤＢ３４に保存された差分データと、を組み合わせることにより動的コンテンツを復元する。
このことにより、テンプレートが適用可能な動的コンテンツについては差分保存ＤＢ３４に登録する情報量を最小限にしたコンテンツの保存、および復元処理が実現出来、必要なメモリ容量を大幅に圧縮することができる。したがって、仮に、これを複数種類のコンテンツを取り扱うシステムに適用し、テンプレートＤＢ３３に保存しているテンプレートの個数が大量に増えた場合でもシステムの処理速度にはほとんど影響がない。
【００４６】
これにより、静的コンテンツ、動的コンテンツのいずれにおいても、ある端末装置＃０（１）〜＃ｎ（２）のブラウザが過去に動的コンテンツ生成装置４から受信したレスポンスの内容を、別の端末装置＃０（１）〜＃ｎ（２）のブラウザで復元する仕組みを実現できる。
【００４７】
《実施例２》
図１１は、本発明の実施例２に係る動的コンテンツ保存復元装置の動的コンテンツ生成処理動作の概要を模式的に示した図である。
以下に説明する本発明の実施例２に係る動的コンテンツ保存復元装置では、動的コンテンツ生成装置４が有する動的コンテンツ生成処理部２０５の処理に変更を加えてもよい場合に最適な実施例である。
【００４８】
すなわち、動的コンテンツ生成処理において最も負荷がかかる箇所は、大規模データの文字列マッチング処理を含む処理になる。具体的には、図９のフローチャートで示したステップＳ８１５の、動的コンテンツに対しテンプレートが適用可能か否かを検証する処理、また、ステップＳ８１６のテンプレートをベースに変数箇所を抽出する処理に相当する。
【００４９】
図１１では、図２に示した動的コンテンツ生成装置４の動的コンテンツ生成処理部２０５の処理内容を拡張し、具体的には、動的コンテンツ生成処理部２０５が動的コンテンツを生成した際に、それにマッチするテンプレートＩＤ１０２（Ｔｘ）および、各変数データの開始・終了位置の情報（１０３、１０４など）を動的に生成し、動的コンテンツ保存復元プロキシ装置３にレスポンス情報として通知する仕組みを組み込む。
この通知はどのような方法で実現してもよいが、ここでは、一例としてＨＴＴＰ（Hypertext Transfer Protocol）のレスポンスヘッダ情報１０１に、ユーザ定義のヘッダ１０２、１０３および１０４を追加して通知している例を示している。
【００５０】
動的コンテンツ保存復元プロキシ装置３にテンプレートＩＤ１０２が通知された場合、図９のフローチャートのステップＳ８１５に示す検証処理は、テンプレートＤＢ３３から得られたテンプレート１０９のテンプレートＩＤ１１２と、通知されたテンプレートＩＤ１０２とを比較して、一致するか否かの確認のみでよい。テンプレートＩＤが一致している場合に、動的コンテンツ１０５に対してテンプレート１０９が適用可能であることは、動的コンテンツ生成処理部２０５が保証する。テンプレートＩＤ１０２に誤ったテンプレートＩＤを通知していなければ、これは実現可能である。
【００５１】
図１１において、動的コンテンツ保存復元プロキシ装置３に変数データの開始位置・終了位置の情報（１０３、１０４）が通知された場合、図９のステップＳ８１６の変数箇所抽出処理は、動的コンテンツＡ１０５の中から、通知された位置に示されているデータ１０６および１０７を抜き出すだけで、変数１１０および１１１に該当する変数データを抽出することができる。
この処理には文字列マッチング処理は必要としない。変数データの正しい開始位置および終了位置を通知することは、動的コンテンツ生成処理部２０５が保証する。
【００５２】
以上説明のように本発明の実施例２に係る動的コンテンツ保存復元装置によれば、コンテンツ保存手段３１０が、動的コンテンツ生成装置４（動的コンテンツ生成処理部２０５）からユーザ定義されたコンテンツＩＤ、および変数データの開始および終了位置に関するデータを取得して検証処理を実行することにより、この検証処理は文字列マッチング処理を必要とせず、変数箇所抽出処理も含めレスポンス情報を解析するだけで実現可能になるため処理負荷を大幅に削減することができる。
【００５３】
《実施例３》
図１２は、本発明の実施例３に係る動的コンテンツ保存復元装置の動的コンテンツ生成処理動作の概要を模式的に示した図であり、また、図１３は、本発明の実施例３に係る動的コンテンツ保存復元装置のマッチ判定処理動作の流れを示すフローチャートである。
ここでは、動的コンテンツ生成装置４の動的コンテンツ生成処理部２０５の処理に変更を加えることが出来ない場合であって、かつテンプレート適用失敗の発生率が高い場合に適した実施例を示している。
【００５４】
この条件では、受信した動的コンテンツに対して、テンプレートが適用可能か否かを事前に知ることは困難であるため、図９のステップＳ８１５に示す検証処理、およびステップＳ８１６に示す変数箇所抽出処理における文字列マッチング操作は回避できない。このため、後記するステップＳ８１５およびＳ８１６の処理をより高速に実現するための仕組みを実装する必要がある。以下にその詳細を説明する。
【００５５】
一般に文字列の検索処理は、良く知られているボイヤー・ムーア法などを実装すると高速に検索することができることが知られている。検索する対象範囲が小さくなればなるほど、検索効率は向上することからこの性質を利用するものとする。
具体的には、図１２に示されるように、テンプレートＤＢ３３におけるテンプレート１１１のデータ表現として、テンプレートに含まれる固定文字列１１３、各固定文字列の文字長１１４、各固定文字列の直前に現れる変数データの直前変数名１１５、およびテンプレート全体の固定文字列に含まれている固定文字総数１１６というデータ形式を用いる。各レコードは、テンプレートの固定文字列の出現順に登録されている。仮に、テンプレートの最後が変数データとなるテンプレートの場合は、テンプレートの最後のレコードに固定文字列１１３が空文字、固定文字列の文字長１１４が「０」、直前変数名１１５に変数名を格納したレコードを登録しておく。
【００５６】
このデータ形式で表現されたテンプレートを用いることにより、図９のステップＳ８１５で示す動的コンテンツに対して適用可能か否かを検証する処理と、ステップＳ８１６で示す変数データ抽出処理は、図１３のフローチャートで示す手順に代替される。
以下、図１３を参照しながら本発明の実施例３に係る動的コンテンツ保存復元装置の検証判定処理動作について説明する。
【００５７】
ここでは、検索先頭位置を表す変数ｓ、検索終端位置を表す変数ｅ、テンプレートにおける現在のマッチ済み固定文字列の個数を表す変数ｉ、テンプレートにおける未だマッチしていない固定文字列の文字総数を表す変数ｘを用いる。
なお、図１３の「固定文字長［ｉ］」は、「ｉ＋１番目のレコードの固定文字長」を表している。
【００５８】
コンテンツ保存手段３１０の検証処理部３１５では、まず、各変数を初期化する（ステップＳ１３１）。次に、テンプレートの先頭が変数データで始まるか否かを判定し（ステップＳ１３２）、変数データで始まる場合は（ステップＳ１３２“Ｙｅｓ”）、テンプレートの最初の固定文字列の検索終端位置ｅに「動的コンテンツ全体の文字数―テンプレートに含まれる固定文字列全体の文字数ｘ＋最初の固定文字列の文字数」をセットする（ステップＳ１３３）。一方、変数データで始まらない場合は（ステップＳ１３２“Ｎｏ”）、テンプレートの最初の固定文字列の検索終端位置ｅに「最初の固定文字列の文字数［ｉ］」をセットする（ステップＳ１３４）。
【００５９】
続いて、検証処理部３１５は、固定文字長［ｉ］が０か否かを判定する（ステップＳ１３５）。固定文字長［ｉ］が０で無い場合（ステップＳ１３５“Ｎｏ”）、発見位置先頭および最後尾をコンテンツ終端にセットして差分抽出処理部３１６に処理を移し、差分抽出処理部３１６は、検索先頭位置ｓから検索対象の固定文字列が発見された位置の直前までを、その文字列の直前に現れる変数データとして抽出する（ステップＳ１３６）。このとき、検索先頭位置と固定文字列が発見された位置が一致する場合、変数データには空文字列を抽出する。
一方、ステップＳ１３５の固定文字長判定処理において、固定文字長［ｉ］が０と判定された場合（ステップＳ１３５“Ｙｅｓ”）ステップＳ１３７の固定文字列の検索処理を行う。ステップＳ１３７において、検索終端位置ｅよりも前方で検索対象の固定文字列が見つからなかった場合（ステップＳ１３７“Ｎｏ”）、たとえ、検索終端位置ｅ以降に検索対象の固定文字列が見つかったとしても、発見された位置より後の動的コンテンツの文字数がテンプレートに含まれており、未だマッチしていない固定文字列の文字総数よりも小さくなってしまうため、このテンプレートは動的コンテンツに適用できないと判定できる（ステップＳ１３８：マッチ失敗をリターン）。
ステップＳ１３７の固定文字列の検索処理では、検索範囲の先頭位置ｓおよび終端位置ｅを絞り込むが、その範囲内での文字列検索処理は、どのような方法を用いてもよい。例えば前記したボイヤー・ムーア法などの高速なアルゴリズムを使用できる。
【００６０】
ステップＳ１３７の固定文字列の検索処理において、文字列マッチに成功した場合（ステップＳ１３７“Ｙｅｓ”）、差分抽出処理部３１６は、検索先頭位置ｓから検索対象の固定文字列が発見された位置の直前までを、その文字列の直前に現れる変数データとして抽出する（ステップＳ１３９）。このとき、検索先頭位置と固定文字列が発見された位置が一致する場合、変数データには空文字列を抽出する。
続いて、差分抽出処理部３１６は、テンプレートにおける次の検索対象の固定文字列を検索するための各変数値をセットする（ステップＳ１４０）。ここで全ての変数データの抽出が実施できた場合（ステップＳ１４１“Ｙｅｓ”）、この動的コンテンツはテンプレートマッチ可能と判定し、抽出した各変数データの値をリターンする（ステップＳ１４２）。テンプレートの最後が変数データとなるテンプレートの場合は（ステップＳ１４１“Ｎｏ”）、ステップＳ１３５の固定文字長［ｉ］の判定処理に戻り、ステップＳ１３６、Ｓ１３９、Ｓ１４０の処理を実行して変数データを抽出する。
【００６１】
以上説明のように本発明の実施例３に係る動的コンテンツ保存復元装置によれば、コンテンツ保存手段３１０が、固定文字列長に関するデータを参照して固定文字列の検索先頭位置および終端位置を絞り込み、固定文字列の検索に成功した場合、検索先頭位置から検索対象の固定文字列がヒットした直前の位置迄、固定文字列の直前に出現する変数データとして抽出することにより、変数データの文字数に比べて固定文字列の文字数部分が多いテンプレートの場合、テンプレートマッチに失敗する場合の判定処理を高速に行うことができる。
【００６２】
《実施例４》
図１４は、本発明の実施例４に係る動的コンテンツ保存復元装置の学習処理による最適テンプレートの自動生成処理動作の概要を模式的に示した図である。
以下に説明する実施例４は、テンプレートＤＢ３３に登録するデータを手作業で作成するのが困難な場合に最適な実施例である。
【００６３】
テンプレートの準備作業は、動的コンテンツ生成処理において前記したＪＳＰやＰＨＰなどテンプレートに類似した技術を使っている場合には、機械的に実現可能である。しかしながらＪＳＰやＰＨＰを使わず、かつ、動的コンテンツ生成装置４により生成されるコンテンツの種類が多い場合は、手作業で全てのテンプレートを準備するのは難しい。そのような場合に以下に説明する実施例４が最適になる。
【００６４】
ここでは、実際にシステムが運用を開始する前の、動的コンテンツのテスト工程で得られる情報を利用する。具体的には、テストの際のリクエストで生成された動的コンテンツを保存し、同じＵＲＬに対するリクエストの中で、全てのコンテンツに共通して出現している部分をテンプレートとして抽出する。
全てのコンテンツに共通して出現する部分が無い場合は、あるテンプレートを仮定し、そのテンプレートの適用に失敗するケースの発生率からそのテンプレートを適用した場合に増加する保存量を計算し、保存量が最小になるよう、学習処理部７０で最適なテンプレート１４５を自動作成する。
【００６５】
ここでは、自動生成されたテンプレート１４５を適用した際、動的コンテンツ保存復元プロキシ装置３に対して、各テンプレートＩＤに対して、テンプレート適用失敗(図９のステップＳ８１５の検証処理でＮｏ判定された場合)の数をカウントする処理を付加し、自動生成された最適テンプレートが実際のシステム運用環境でも有効に動作しているか否かを判断する指標を提供する。
あるテンプレートＩＤにおいてテンプレート適用失敗の回数が一定数以上になった場合、そのテンプレートＩＤのテンプレートについては入れ替えを検討する。具体的には、あるテンプレートＩＤに対するテンプレートと、そのテンプレートＩＤで差分保存ＤＢ３４に登録されている失敗フラグがＴＲＵＥになっている変数データから、よりテンプレート失敗の発生率が低いテンプレートを仮定し、そのテンプレートの適用に失敗するケースの発生率からそのテンプレートを適用した場合に増加する保存量を計算し、保存量が最小になるよう新しい最適テンプレートを生成する。
【００６６】
この新しい最適テンプレートに対して、テンプレートＩＤを新しく取得し、テンプレートＤＢ３３に追加する。また、最新のＵＲＬに対応するテンプレートＩＤを新しく登録したテンプレートＩＤに書き換える。
前記した学習処理部７０は、稼動中のシステム上で実施する必要は無く、別サーバ（外部接続装置７）にてバックグランドで実行することとする。したがって、自動テンプレートの生成処理が稼動中のシステム性能などに影響を与えることはない。
【００６７】
以上説明のように本発明の実施例４に係る動的コンテンツ保存復元装置によれば、コンテンツ保存手段３１０、あるいは外部接続装置７（学習処理部７０）が、コンテンツリクエストの中で全てのコンテンツに共通に出現する部分を抽出し、個別に出現する部分は、あるテンプレートを仮定し、あるテンプレートの適用に失敗するケースの発生率からあるテンプレートを適用した場合に増加するメモリ保有量を計算し、保有量が最小になるように学習処理してテンプレートを生成し、テンプレートＤＢ３３に格納することにより、テンプレートの自動生成が可能になる。
また、この処理をバックグランドで実行する（外部接続装置７（学習処理部７０）が実行）ことにより、動的コンテンツ保存復元プロキシ装置３は負荷を要することなくテンプレートの利用が可能になる。
【００６８】
また、コンテンツ保存手段３１０が、テンプレート適用の失敗に関する頻度管理を行い、頻度が所定数になった場合、該当テンプレートの更新を促すユーザインタフェースを提供することで、保守管理者は、自動生成されたテンプレートが実際のシステム運用環境でも有効に動作しているか否かを判断することができ、テンプレート入れ替え時の利便性を提供でき、有効なテンプレートのみ保存することができるため、一層のメモリ容量の圧縮が可能になる。
【００６９】
図１５は、前記した本発明の実施例１〜４に係る動的コンテンツ保存復元システムをヘルプデスクシステムに応用した場合の構成および動作の概要を示す図である。
ヘルプデスクシステムとは、システム利用者がシステムを利用した際に発生した問題をヘルプデスクのオペレータに問い合わせる際の、正確な情報の伝達を支援するシステムである。具体的な支援内容としては、図１５に示されるように、システム利用者側クライアント装置１５１のブラウザ１５２上で操作した内容を、ヘルプデスク側クライアント装置１５５上で再現する機能を実現する。
【００７０】
前記したヘルプデスクシステムにおいて、従来の情報伝達手段は、電話やメールなど人間の言語・記憶を介したものであり、正確に過去に実施した操作情報が伝えられる保証がなかった。このヘルプデスクシステムに前記した本発明の実施の形態１〜４に係る動的コンテンツ保存復元装置を応用すれば、ヘルブデスクのオペレータは、システム利用者がどのような操作を実行した結果、オペレータに問い合わせる契機となった問題が発生したのかを正確に把握することが可能になり、問題解決スピードが早まるなど、サービス向上に繋がる。
【００７１】
以下に説明するヘルプデスクシステムでは、システム利用者側クライアント装置１５１で実行される機能として、システム利用者側クライアント装置１５１でのブラウザ１５２上での動作を記録するブラウザ操作ログ記録処理部１５３と、リクエストＩＤと操作の記録をヘルプデスク側クライアント装置１５５に転送するブラウザ操作ログ＆リクエストＩＤ送信処理部１５４とを有している。
また、ヘルプデスク側クライアント装置１５５で実行される機能として、リクエストＩＤと操作の記録をシステム利用者側クライアント装置１５１から受信するブラウザ操作ログ＆リクエストＩＤ受信処理部１５７と、受信したリクエストＩＤを元に復元モードで動的コンテンツ保存復元プロキシ装置３に問い合わせを実施し、復元した動的コンテンツを取得する動的コンテンツ取得処理部１５８と、受信した操作の記録と復元した動的コンテンツとを組み合わせて、ヘルプデスク側クライアント装置１５５上のブラウザ１５６上で、システム利用者側クライアント装置１５１のブラウザ１５２で実行した処理や操作の内容を再現するブラウザ操作再生処理部１５９と、を有している。
【００７２】
ブラウザ１５２および１５６上での操作を記録・再生するブラウザ操作ログ記録処理部１５３およびブラウザ操作再生処理部１５９の実装はどのように実現しても良く、例えば、ブラウザ操作ログ記録処理部１５３では、ＪａｖａＳｃｒｉｐｔ（登録商標）を用い、ブラウザ１５２上で発生したイベントを記録し、ブラウザ操作再生処理部１５９では、ＪａｖａＳｃｒｉｐｔ（登録商標）を用いて、受信したイベントデータをブラウザ１５６上で順に発生させる方法が利用できる。
また、操作の記録を送受信するブラウザ操作ログ＆リクエストＩＤ送信処理部１５４とブラウザ操作ログ＆リクエストＩＤ受信処理部１５７はどのように実現しても良く、例えば、操作記録送受信のための中継用サーバを介してデータをやり取りする方法が利用できる。
【００７３】
図１５に示したヘルプデスクシステムの具体的な処理の流れを説明する。まず、システム利用者側クライアント装置１５１のブラウザ１５２から、動的コンテンツ保存復元プロキシ装置３にリクエストを送信する。
動的コンテンツ生成装置４が生成したコンテンツは、コンテンツ保存手段３１０により、システム利用者側クライアント装置１５１に返される前に、動的コンテンツ保存復元プロキシ装置３に保存される。その後、システム利用者側クライアント装置１５１が動的コンテンツを受信すると、ブラウザ操作ログ記録処理部１５３によるログ記録処理が実行され、動的コンテンツに対するブラウザ１５２上での動作や操作が記録される。
【００７４】
システム利用者がヘルプデスクのオペレータに対して問い合わせを実施する場合、まずブラウザ操作ログ＆リクエストＩＤ送信処理部１５４によるブラウザ操作およびリクエストＩＤ送信処理により、リクエストＩＤと操作の記録情報をシステム利用者側クライアント装置１５１からヘルプデスク側クライアント装置１５５に転送する。
ヘルプデスク側クライアント装置１５５は、ブラウザ操作ログ＆リクエストＩＤ受信処理部１５７で受信したリクエストＩＤに復元モードであることを示す情報を付加して、動的コンテンツ取得処理部１５８により動的コンテンツ保存復元プロキシ装置３にリクエストを送信する。
【００７５】
リクエストを受信した動的コンテンツ保存復元プロキシ装置３は、コンテンツ復元手段３２０により、リクエストＩＤに対応する動的コンテンツを復元して、ヘルプデスク側クライアント装置１５５にレスポンスを送信する。
ヘルプデスク側クライアント装置１５５は、受信した動的コンテンツ、およびシステム利用者側クライアント装置１５１から受信したブラウザ操作ログ情報をブラウザ操作再生処理１５９に入力し、ヘルプデスク側クライアント装置１５５のブラウザ１５６上で、システム利用者側クライアント装置１５１のブラウザ１５２で実行した処理や操作の内容を再現する。
【００７６】
前記した本発明の実施例１〜４に係る動的コンテンツ保存復元装置をヘルプデスクシステムに応用することにより、システム利用者側クライアント装置１５１は、動的コンテンツ保存復元プロキシ装置３に対してコンテンツリクエストを送信して動的コンテンツを取得し、取得した動的コンテンツに対するブラウザの操作ログを保存し、保存したブラウザの操作ログをヘルプデスク側クライアント装置１５５に転送し、ヘルプデスク側クライアント装置１５５は、システム利用者側クライアント装置１５１から転送されるブラウザ操作ログを受信して動的コンテンツ保存復元プロキシ装置３に復元リクエストを送信し、動的コンテンツ保存復元プロキシ装置３から復元された動的コンテンツを取得し、取得したコンテンツと受信したブラウザ操作ログとを組み合わせ、自身のブラウザで動的コンテンツの操作を再現することができる。
このため、ヘルブデスクのオペレータは、システム利用者がどのような操作を実行した結果、オペレータに問い合わせる契機となった問題が発生したのかを正確に把握することが可能になり、問題解決スピードが早まるなど、サービス向上に繋がる。
【００７７】
なお、図２に示すコンテンツ保存手段３１０が有する機能は、全てをソフトウェアによって実現しても、あるいはその少なくとも一部をハードウェアで実現してもよい。
例えば、コンテンツ保存手段３１０が、動的コンテンツに対してテンプレートが適用できるか否かを検証し、適用できると判定された場合に、動的コンテンツとテンプレートとの差分データからなる動的コンテンツを第２の記憶手段（差分保存ＤＢ３４）に保存するデータ処理は、１または複数のプログラムによりコンピュータ上で実現してもよく、また、その少なくとも一部をハードウェアで実現してもよい。
【００７８】
また、図３に示すコンテンツ復元手段３２０が有する機能は、全てをソフトウェアによって実現しても、あるいはその少なくとも一部をハードウェアで実現してもよい。
例えば、端末装置＃０（１）〜＃１（２）からの復元リクエストに対し、第１の記憶手段（テンプレートＤＢ３３）に保存されたテンプレートと、第２の記憶手段に保存された差分データとを組み合わせることにより生成される動的コンテンツを復元するデータ処理は、１または複数のプログラムによりコンピュータ上で実現してもよく、また、その少なくとも一部をハードウェアで実現してもよい。
【符号の説明】
【００７９】
１      端末装置＃０
２      端末装置＃ｎ
３      動的コンテンツ保存復元プロキシ装置（動的コンテンツ保存復元装置）
４      動的コンテンツ生成装置
５      データベース装置
６      ネットワーク
７      外部接続装置
１０    動的コンテンツ保存復元システム
３３    テンプレートＤＢ（第１の記憶部）
３４    差分保存ＤＢ（第２の記憶部）
７０    学習処理部
１５１  システム利用者側クライアント装置
１５２、１５６  ブラウザ
１５３  ブラウザ操作ログ記録処理部
１５４  ブラウザ操作ログ＆リクエストＩＤ送信処理部
１５５  ヘルプデスク側クライアント装置
１５７  ブラウザ操作ログ＆リクエストＩＤ受信処理部
１５８  動的コンテンツ取得処理部
１５９  ブラウザ操作再生処理部
２０２  リクエスト送受信処理部
３１０  コンテンツ保存手段
３１１  モード判定処理部
３１２  ＩＤ付与処理部
３１３  リクエストＵＲＬ解析処理部
３１４  テンプレート呼び出し処理部
３１５  検証処理部
３１６  差分抽出処理部）
３２０  コンテンツ復元手段
３２１  モード判定処理部
３２２  ＩＤ抽出処理部
３２３  差分呼び出し処理部
３２４  マージ処理部
３２５  テンプレート呼び出し処理部
【図１】
2010224861.tif 000003
【図２】
2010224861.tif 000004
【図３】
2010224861.tif 000005
【図４】
2010224861.tif 000006
【図５】
2010224861.tif 000007
【図６】
2010224861.tif 000008
【図７】
2010224861.tif 000009
【図８】
2010224861.tif 000010
【図９】
2010224861.tif 000011
【図１０】
2010224861.tif 000012
【図１１】
2010224861.tif 000013
【図１２】
2010224861.tif 000014
【図１３】
2010224861.tif 000015
【図１４】
2010224861.tif 000016
【図１５】
2010224861.tif 000017