JP2010224861A - 動的コンテンツ保存復元装置、動的コンテンツ保存復元システム、動的コンテンツの保存および復元方法、ならびにプログラム - Google Patents

動的コンテンツ保存復元装置、動的コンテンツ保存復元システム、動的コンテンツの保存および復元方法、ならびにプログラム Download PDF

Info

Publication number
JP2010224861A
JP2010224861A JP2009071299A JP2009071299A JP2010224861A JP 2010224861 A JP2010224861 A JP 2010224861A JP 2009071299 A JP2009071299 A JP 2009071299A JP 2009071299 A JP2009071299 A JP 2009071299A JP 2010224861 A JP2010224861 A JP 2010224861A
Authority
JP
Japan
Prior art keywords
dynamic content
template
restoration
content
storage
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.)
Granted
Application number
JP2009071299A
Other languages
English (en)
Other versions
JP5167179B2 (ja
JP2010224861A5 (ja
Inventor
Hiroshi Fujii
宏 藤井
Tomohiro Nakamura
友洋 中村
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009071299A priority Critical patent/JP5167179B2/ja
Publication of JP2010224861A publication Critical patent/JP2010224861A/ja
Publication of JP2010224861A5 publication Critical patent/JP2010224861A5/ja
Application granted granted Critical
Publication of JP5167179B2 publication Critical patent/JP5167179B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】動的コンテンツ保存のためのメモリ容量圧縮をはかる。
【解決手段】動的コンテンツ保存復元装置(動的コンテンツ保存復元プロキシ装置3)は、変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第1の記憶手段(33)と、端末装置(1、2)からのコンテンツリクエストに対する応答である動的コンテンツとの差分である差分データが格納される第2の記憶手段(34)とを備え、動的コンテンツに対してテンプレートが適用できるか否かを検証し、適用できると判定された場合に、差分データを第2の記憶手段に保存し、端末装置からの復元リクエストに対し、第1の記憶手段に保存されたテンプレートと、第2の記憶手段に保存された差分データとを組み合わせることにより動的コンテンツを復元する。
【選択図】 図1

Description

本発明は、動的コンテンツ保存復元装置、動的コンテンツ保存復元システム、動的コンテンツの保存および復元方法、ならびにプログラムに関する。
業務アプリケーションシステムのWeb(World Wide Web)化等に伴い、ネットワークの情報伝送量は年々増加している。この情報伝送量を削減するための技術として、従来、キャッシュ技術が知られている。
一般に、Webにおけるキャッシュ技術は、クライアントとアプリケーションサーバとの通信を中継するキャッシュサーバをネットワーク上に配置し、アプリケーションサーバからクライアントへのレスポンスの内容をキャッシュサーバが一時的に保持することにより実現される。
すなわち、初回を除く次回以降、クライアントからアプリケーションサーバへリクエストが行われると、キャッシュサーバはリクエストの情報を解析し、保持しているキャッシュ情報が流用可能か否かを判定し、流用できる場合には、アプリケーションサーバへリクエストを送信することなく、キャッシュ情報をクライアントにレスポンスする。これにより、アプリケーションサーバの負荷を削減し、システム全体を高速化することができる。また、キャッシュサーバを複数箇所に分散して配置することにより、アプリケーションサーバに繋がるネットワークの転送量を減らすことができる。
アプリケーションサーバにより生成されるWebコンテンツには、何度リクエストしても同じ結果が得られる「静的コンテンツ」と、リクエスト内容や、アプリケーションサーバの状態から生成するコンテンツの内容に一部変更が加えられた「動的コンテンツ」がある。現在広く使われているキャッシュ技術は、一般には前者の「静的コンテンツ」に対して適用されるものである。
従来、動的に生成されるコンテンツの転送量を減らす技術として、動的に生成されたコンテンツを通信経路に跨る2箇所のプロキシサーバに保存し、新たに別の動的コンテンツが生成された場合は、既にキャッシュされている複数のドキュメントとの差分を計算し、差分情報のみを転送する技術が知られている(例えば、特許文献1参照)。
特開2005−190339号公報(段落「0012」、図1)
ここで、Webアプリケーションにおいて、あるクライアント装置のブラウザからのリクエストにより出力されたコンテンツを、任意のタイミングで別のクライアント装置のブラウザ上に復元するシステムについて考える。
このシステムの実現方法について検討すると、次の2通りが考えられる。一つは、2つのクライアント装置からアプリケーションサーバに対して全く同じ内容のリクエストを送信し、全く同じレスポンスが得られることを期待する方法である。他の一つは、はじめてのクライアント装置からのリクエストに対するレスポンス内容をキャッシュサーバなどで保存し、復元のリクエスト時にはキャッシュサーバの内容を出力する方法である。
前者の方法は、アプリケーションサーバが出力するレスポンスが静的コンテンツのみに限定されることがわかっている場合に有効である。しかし、レスポンスが動的コンテンツの場合には、たとえ入力内容が全く同じであっても最初のレスポンス内容と2回目のレスポンス内容が同じであることは保証されない。
例えば、預金残高をWebページに表示するアプリケーションでは、クライアント装置からリクエストするURL(Uniform Resource Locator)が同一であっても、預金残高としてデータベースに記録されている値に変更があれば、サーバが生成するコンテンツの内容は異なるはずである。したがって、当初の目的である、レスポンスの内容の復元は実現できない。
したがって、後者を選択する必要があるが、後者の場合、コンテンツの保存容量の課題がある。動的コンテンツの場合、同一の入力の内容について、レスポンス内容は毎回変更されている可能性があるため、すべてのレスポンスを保存しなければならない。このため、コンテンツ保存に必要となる容量は膨大なものになる。
この問題を解決するために特許文献1開示されている差分圧縮技術の応用が考えられる。具体的には、転送量が削減された通信データの部分をディスクに保存し、データ復元の際はディスク上の差分データとプロキシに保存されたデータを用いて差分を生成する方式である。
しかしながら、これは、キャッシュサーバに保持されたデータを効率的に削除することが主旨であり、後に復元する場合、キャッシュサーバに保持されたデータの削除が出来ないためその効果が見込めなくなる。また、高いデータ圧縮率を実現するためにキャッシュされるデータを増やすと、差分計算時の計算量が組み合わせ的に増え、キャッシュサーバの負荷が増大する問題がある。
本発明は前記した課題を解決するためになされたものであり、動的コンテンツ保存のためのメモリ容量の圧縮をはかった、動的コンテンツ保存復元装置、動的コンテンツ保存復元システム、動的コンテンツの保存および復元方法、ならびにプログラムを提供することを目的とする。
前記した課題を解決するために本発明の動的コンテンツ保存復元装置は、端末装置がネットワーク経由で接続される動的コンテンツ保存復元装置であって、変数データと、前記変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第1の記憶手段と、前記テンプレートと、前記端末装置からのコンテンツリクエストに対する応答である動的コンテンツとの差分である差分データが格納される第2の記憶手段と、前記動的コンテンツに対して前記テンプレートが適用できるか否かを検証し、適用できると判定された場合に、前記差分データを前記第2の記憶手段に保存するコンテンツ保存手段と、前記端末装置からの復元リクエストに対し、前記第1の記憶手段に保存されたテンプレートと、前記第2の記憶手段に保存された差分データとを組み合わせることにより動的コンテンツを復元するコンテンツ復元手段と、を備えたものである。
また、本発明の動的コンテンツ保存復元システムは、コンテンツリクエスト、もしくはコンテンツ復元リクエストを発行する端末装置と、前記端末装置とはネットワーク経由で接続される動的コンテンツ保存復元装置とからなる動的コンテンツ保存復元システムであって、前記動的コンテンツ保存復元装置は、変数データと、前記変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第1の記憶手段、前記テンプレートと、前記端末装置からのコンテンツリクエストに対する応答である動的コンテンツとの差分である差分データが格納される第2の記憶手段、前記動的コンテンツに対して前記テンプレートが適用できるか否かを検証し、適用できると判定された場合に、前記差分データを前記第2の記憶手段に保存するコンテンツ保存手段、および前記端末装置からの復元リクエストに対し、前記第1の記憶手段に保存されたテンプレートと、前記第2の記憶手段に保存された差分データとを組み合わせることにより動的コンテンツを復元するコンテンツ復元手段とを含み、前記端末装置は、前記動的コンテンツ保存復元装置により復元された動的コンテンツを再現するものである。
また、本発明の動的コンテンツ保存復元方法は、コンテンツリクエスト、もしくはコンテンツ復元リクエストを発行する端末装置と、前記端末装置とはネットワーク経由で接続される動的コンテンツ保存復元装置とからなる動的コンテンツ保存復元システムにおける動的コンテンツの保存および復元方法であって、前記動的コンテンツ保存復元装置が、変数データと、前記変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第1の記憶手段と、前記テンプレートと、前記端末装置からのコンテンツリクエストに対する応答である動的コンテンツとの差分である差分データが格納される第2の記憶手段とを参照することにより、前記動的コンテンツに対して前記テンプレートが適用できるか否かを検証し、適用できると判定された場合に前記差分データを前記第2の記憶手段に保存するステップと、前記動的コンテンツ保存復元装置が、前記端末装置からの復元リクエストに対し、前記第1の記憶手段に保存されたテンプレートと、前記第2の記憶手段に保存された差分データとを組み合わせることにより動的コンテンツを復元するステップと、前記端末装置が、前記動的コンテンツ保存復元装置により復元された動的コンテンツを取得し再現するステップと、を有するものである。
また、本発明のプログラムは、端末装置がネットワーク経由で接続され、変数データと、前記変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第1の記憶手段と、前記テンプレートと、前記端末装置からのコンテンツリクエストに対する応答である動的コンテンツとの差分である差分データが格納される第2の記憶手段とを備えた動的コンテンツ保存復元装置に用いられるプログラムであって、前記動的コンテンツに対して前記テンプレートが適用できるか否かを検証し、適用できると判定された場合に、前記差分データを前記第2の記憶手段に保存するコンテンツ保存処理と、前記端末装置からの復元リクエストに対し、前記第1の記憶手段に保存されたテンプレートと、前記第2の記憶手段に保存された差分データとを組み合わせることにより動的コンテンツを復元するコンテンツ復元処理と、をコンピュータに実行させるものである。
本発明によれば、動的コンテンツ保存のためのメモリ容量の圧縮をはかった、動的コンテンツ保存復元装置、動的コンテンツ保存復元システム、動的コンテンツの保存および復元方法、ならびにプログラムを提供することができる。
本発明の実施例1に係る動的コンテンツ保存復元システムのシステム構成を示す図である。 本発明の実施例1に係る動的コンテンツ保存復元装置が実行するプログラム(コンテンツ保存手段)の構造を、周辺の構成と合わせて示したブロック図である。 本発明の実施例1に係る動的コンテンツ保存復元装置が実行するプログラム(コンテンツ復元手段)の構造を、周辺の構成と合わせて示したブロック図である。 本発明の実施例1に係る動的コンテンツ保存復元装置のURLハッシュによるテンプレート呼び出し処理の概要を模式的に示した図である。 本発明の実施例1に係る動的コンテンツ保存復元装置のコンテンツIDによるテンプレート呼び出し処理の概要を模式的に示した図である。 本発明の実施例1に係る動的コンテンツ保存復元装置のテンプレートによる変数データ抽出処理の概要を模式的に示した図である。 本発明の実施例1に係る動的コンテンツ保存復元装置のテンプレートによる動的コンテンツ復元処理の概要を模式的に示した図である。 本発明の実施例1に係る動的コンテンツ保存復元装置のモード切替え時の動作の流れを示すフローチャートである。 本発明の実施例1に係る動的コンテンツ保存復元装置の通常モード処理動作の流れを示すフローチャートである。 本発明の実施例1に係る動的コンテンツ保存復元装置の復元モード処理動作の流れを示すフローチャートである。 本発明の実施例2に係る動的コンテンツ保存復元装置の動的コンテンツ生成処理動作の概要を模式的に示した図である。 本発明の実施例3に係る動的コンテンツ保存復元装置の動的コンテンツ生成処理動作の概要を模式的に示した図である。 本発明の実施例3に係る動的コンテンツ保存復元装置のマッチ判定処理動作の流れを示すフローチャートである。 本発明の実施例4に係る動的コンテンツ保存復元装置の学習処理による最適テンプレートの自動生成処理動作の概要を模式的に示した図である。 本発明の実施例1〜4に係る動的コンテンツ保存復元システムをヘルプデスクシステムに応用した場合の構成および動作の概要を示した図である。
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
《実施例1》
(動的コンテンツ保存復元システム10の構成)
図1は、本発明の実施例1に係る動的コンテンツ保存復元システム10のシステム構成を示す図である。
図1に示されるように、本発明の実施例1に係る動的コンテンツ保存復元システム10は、複数の端末装置#0(1)〜#n(2)と、この複数の端末装置#0(1)〜#n(2)とはネットワーク6を介して接続されるアプリケーションサーバとしての動的コンテンツ生成装置4との間に、動的コンテンツ保存復元プロキシ装置3(動的コンテンツ保存復元装置)が配置される。この動的コンテンツ保存復元プロキシ装置3は、端末装置#0(1)〜#n(2)からのコンテンツリクエスト、および動的コンテンツ生成装置4からの応答である動的コンテンツを中継する。
動的コンテンツ保存復元プロキシ装置3は、テンプレートDB33と、差分保存DB34とをデータベースとして有する。
ここで、テンプレートDB33は、変数データと、変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第1の記憶手段であり、また、差分保存DB34は、テンプレートと、端末装置#1(1)〜#n(2)からのコンテンツリクエストに対する動的コンテンツとの差分データが格納される第2の記憶手段である。
動的コンテンツ保存復元プロキシ装置3は、後述するように、動的コンテンツ生成装置4からの動的コンテンツに対してテンプレートが適用できるか否かを検証し、適用できると判定された場合に、動的コンテンツとテンプレートとの差分データからなる動的コンテンツを差分DB34に保存するコンテンツ保存手段310(図2)として機能する。
また、動的コンテンツ保存復元プロキシ装置3は、端末装置#0(1)〜#n(2)からの復元リクエストに対し、テンプレートDB33に保存されたテンプレートと、差分保存DB34に保存された差分データとを組み合わせることにより生成される動的コンテンツを復元するコンテンツ復元手段320(図3)としても機能する。いずれも詳細は後記する。
なお、動的コンテンツ保存復元プロキシ装置3と、動的コンテンツ生成装置4は、図1に示されるように独立したサーバとして構築し、もしくは、1個のサーバとして同一筐体に実装されても良い。ここでは、独立したサーバとして構築されるものとして説明する。
本発明の実施例1に係る動的コンテンツ保存復元システム10では、Webページにおけるコンテンツの多くの部分が固定の文字列(静的部分)で構成され、一部分が変数データ(動的部分)で構成されているという特性を利用する。
この特性は、例えば、動的コンテンツ生成装置4で標準的に採用されているJSP(Java(登録商標) Server Pages)や、PHP(Hypertext Preprocessor)等の技術からも伺え、これらの技術によれば、コンテンツの変化しない枠組み部分で大まかなWebページを構成し、リクエスト毎に変化する部分について特別なタグを埋め込んで記述することにより実現される。
動的コンテンツ保存復元プロキシ装置3では、端末装置#0(1)〜#n(2)からコンテンツリクエストされるURL毎に、動的コンテンツの静的部分と動的部分とを表現するデータである「テンプレート」を準備しており、このテンプレートとコンテンツとの差分情報のみを差分保存DB34に保存することで容量削減をはかる。
テンプレートは、例えば、後記する図6に示されるように、変数データ(動的部分)挿入箇所の変数名(502、503)と、それら変数の間を埋める固定文字列(静的部分)により表現できる。
例えば、テンプレート501は、「“・・・こんにちは”変数A“様。・・・ログイン時刻は”変数B“です。”」といった形式で表現できる。
テンプレートDB33には、あるURLにリクエストした場合のコンテンツに対応するテンプレートが登録されている。これはシステム稼動前の準備として、事前に登録が完了しているものとする。
テンプレートDB33のデータ構造について、図4および図5を用いて以下に説明する。図4に示されるように、テンプレートDB33を構成するテーブルは、URLハッシュ406をキーにして対応する最新のテンプレートID407を検索でき、また、テンプレートID408をキーに対応するテンプレート409を検索できる構造になっている。
コンテンツの更改により別のテンプレートを登録する必要がある場合は、まず、テンプレートID408とテンプレート409に、新たなテンプレートIDおよびテンプレートを追加し、そのテンプレートを適用したいURLについて、URLハッシュ406に対応した最新のテンプレートID407を更新する。
これにより、各リクエストURLに対応して、常に最新のテンプレートが獲得可能になる。また、過去に適用していたが、既に更改されて使われなくなったテンプレートについてもテンプレートIDがわかっていれば獲得可能になる。
図2は、本発明の実施例1に係る動的コンテンツ保存復元装置が実行するプログラム(コンテンツ保存手段310)の構造を、周辺の構成と合わせて示したブロック図である。
コンテンツ保存手段310は、動的コンテンツ生成装置4からの動的コンテンツに対してテンプレートが適用できるか否かを検証し、適用できると判定された場合に、差分データを差分DB34に保存する機能を有する。このため、コンテンツ保存手段310は、モード判定処理部311と、ID付与処理部312と、リクエストURL解析処理部313と、テンプレート呼び出し処理部314と、検証処理部315と、差分抽出処理部316とを含む。前記した各機能ブロック311〜316の詳細は後記する。
図3は、発明の実施例1に係る動的コンテンツ保存復元装置が実行するプログラム(コンテンツ復元手段320)の構造を、周辺の構成と合わせて示したブロック図である。
コンテンツ復元手段320は、端末装置#0(1)、#n(2)からの復元リクエストに対し、テンプレートDB33に保存されたテンプレートと、差分保存DB34に保存された差分データとを組み合わせることにより生成される動的コンテンツを復元する機能を有する。このため、モード判定処理部321と、ID抽出処理部322と、差分呼び出し処理部323と、マージ処理部324と、テンプレート呼び出し処理部325とを含む。前記した各機能ブロック321〜325の詳細は後記する。
(コンテンツ保存手段310の動作)
図8は、本発明の実施例1に係る動的コンテンツ保存復元装置のモード切替え時の動作を示すフローチャートであり、図9は、動的コンテンツ保存復元プロキシ装置3が動的コンテンツA206を保存する場合の通常モードにおける動作の流れを示すフローチャートである。
以下、図8、図9に示すフローチャートを参照しながら、図2に示す動的コンテンツ保存復元プロキシ装置3のコンテンツ保存手段310の動作について詳細に説明する。
図8において、動的コンテンツ保存復元プロキシ装置3(コンテンツ保存手段310)は、モード判定処理部311が、端末装置#0(1)〜#n(2)から発行されるリクエスト情報を解析し、復元モードであることを示す情報があるか否かを確認し、無い場合は、通常モードで動作するように処理を分岐する(ステップS80“No”、S81)。
通常モードにおいては、図9に示されるように、まず、ID付与処理部312がコンテンツリクエストのためのリクエストID215を生成する(ステップS811)。
このリクエストID215は、動的コンテンツ保存復元プロキシ装置3を通過するコンテンツリクエストの範囲で常にユニーク性が保たれているものとする。次に、リクエストURL解析処理部313が、端末装置#0(1)〜#n(2)からのリクエストURLを解析して、テンプレート検索のためのハッシュ値210を生成する(ステップS812)。そして、リクエストURL解析処理部313は、動的コンテンツ生成装置4にこのコンテンツリクエストを転送する。
転送されたコンテンツリクエストを受信した動的コンテンツ生成装置4は、動的コンテンツ生成処理部205により、動的コンテンツA206を生成し、それを動的コンテンツ保存復元プロキシ装置3に対してレスポンスする(ステップS813)。
動的コンテンツ生成装置4からレスポンスを受信した動的コンテンツ保存復元プロキシ装置3のテンプレート呼び出し処理部314は、URLハッシュ値210をキーにして、テンプレートDB33から、テンプレートID211およびテンプレート212を獲得する(ステップS814)。
なお、ステップS814のテンプレート獲得処理は、必ずしもステップS813の動的コンテンツ受信処理の終了を待ってから実行を開始する必要はなく、ステップS813の動的コンテンツ受信処理と並行して実行してもよい。
次に、動的コンテンツ保存復元プロキシ装置3の検証処理部315は、動的コンテンツA206に対し、テンプレート212が適用可能か否かを検証する(ステップS815)。ここで、テンプレート212が適用可能であるということは、テンプレート212に含まれている固定文字列が全て動的コンテンツA206に含まれており、テンプレート212と差分情報とを組み合わせることで、動的コンテンツA206が復元可能である状態のことをいう。
検証処理部315により、動的コンテンツA206に対しテンプレート212が適用可能であると判定された場合(ステップS815“Yes”)、差分抽出処理部316は、テンプレート212をベースに、動的コンテンツA206から差分情報の抽出結果である変数データ213を抽出する(ステップS816)。差分抽出処理部316による変数抽出処理の具体例は、図6に示されている。
図6に示されるように、差分抽出処理部316は、URL Xの最新テンプレートT1(501)と、コンテンツリクエストR1で生成されたURL XのコンテンツX1(504)との差分から変数A(鈴木)、変数B(21:10:01)を抽出する。そして、変数抽出後、リクエストIDをキーに、リクエストID(R1:507)、テンプレートID(T1508)、失敗フラグ(「FALSE」509)、および変数510、511からなる変数データを、差分保存DB34に登録する(ステップS817)。
なお、ステップS816の変数抽出処理は、ステップS815の検証処理の過程で実行するように実装することもできる。
一方、ステップS815の検証処理において、検証処理部315によりテンプレートが適用できないと判定されると(ステップS815“No”)、差分抽出処理部316は、動的コンテンツA206全体を変数データ213とみなし、リクエストID215、テンプレートID211、失敗フラグ216「TRUE」、および変数データ213を差分保存DB34に登録する(ステップS818)。変数データは、<HTML>・・・</HTML>である。
最後に、差分抽出処理部316は、動的コンテンツA206、およびリクエストID215を、レスポンス情報としてリクエストのあった端末装置#0(1)〜#n(2)にネットワーク6経由で応答する(ステップS819)。
(コンテンツ復元手段320の動作)
図10は、動的コンテンツ保存復元プロキシ装置3が動的コンテンツA206を復元する場合の復元モードにおける処理の流れを示すフローチャートである。
以下、図8、図10に示すフローチャートを参照しながら、図3に示す動的コンテンツ保存復元プロキシ装置3のコンテンツ復元手段320の動作について詳細に説明する。
ここで復元リクエストを発行する端末装置#0(1)〜#n(2)は、コンテンツリクエストの送信に使われた端末装置#0(1)〜#n(2)と同じでもよいし、また、別の装置でもよい。
コンテンツ復元リクエストでは、端末装置#0(1)〜#n(2)側は、復元モードであることを示す情報、および復元したいリクエストID215を、リクエスト情報に付加して転送する。
図8において、動的コンテンツ保存復元プロキシ装置3は、モード判定処理部321がそのリクエスト情報を解析して、復元モードであることを示す情報があるか否かを確認し、ある場合は、復元モードで動作するよう処理を分岐する(ステップS80“Yes、S82)。
復元モードでは、図10(及び図3)に示されるように、まずID抽出処理部322がリクエスト情報を解析して、リクエストID215を抽出する(ステップS821)。次に、差分呼び出し処理部323は、リクエストID215をキーに差分保存DB34を検索し、リクエストID215にマッチするテンプレートID211、失敗フラグ216、および変数データ213を抽出する(ステップS822)。
ここで、差分呼び出し処理部323は、失敗フラグ216が「TRUE」であるか否かを判定する(ステップS823)。「TRUE」の場合(ステップS823“Yes”)、獲得された変数データ213が動的コンテンツA206と一致するため、変数データをそのままに動的コンテンツAとして復元する(ステップS826)。
一方、「TRUE」でない場合(ステップS823“No”)、テンプレート呼び出し処理部325は、テンプレートID211によって、テンプレートDB33から対応するテンプレート212を獲得してマージ処理部324へ引き渡す(ステップS824)。続いて、マージ処理部324は、テンプレート212と差分データ213とをマージして動的コンテンツA206を復元する(ステップS825)。
前記したように、失敗フラグ216が「TRUE」でない場合は、コンテンツを保存したときにテンプレート212が適用可能であったことを示しており、ステップS825のマージ処理で動的コンテンツA206を復元できる。前記したテンプレートと変数データから動的コンテンツを復元する場合の、差分呼び出し処理部323と、マージ処理部324による処理の具体例が図7に示されている。
マージ処理部324は、最後に、復元した動的コンテンツA206を、レスポンス情報としてリクエストのあった端末装置#0(1)に転送し(ステップS827)、端末装置#0(1)は、リクエスト送受信処理部202でこれを受信し、例えば、不図示のモニタにWebページを表示する。
以上説明のように、本発明の実施例1に係る動的コンテンツ保存復元装置によれば、通常(保存)モードと、復元モードとを持つ動的コンテンツ保存復元プロキシ装置3が、動的コンテンツに対してテンプレートが適用できるか否かを検証し、適用できると判定された場合に、差分データを差分保存DB34に保存する。また、端末装置#0(1)〜#n(2)からの復元リクエストに対し、テンプレートDB33に保存されたテンプレートと、差分保存DB34に保存された差分データと、を組み合わせることにより動的コンテンツを復元する。
このことにより、テンプレートが適用可能な動的コンテンツについては差分保存DB34に登録する情報量を最小限にしたコンテンツの保存、および復元処理が実現出来、必要なメモリ容量を大幅に圧縮することができる。したがって、仮に、これを複数種類のコンテンツを取り扱うシステムに適用し、テンプレートDB33に保存しているテンプレートの個数が大量に増えた場合でもシステムの処理速度にはほとんど影響がない。
これにより、静的コンテンツ、動的コンテンツのいずれにおいても、ある端末装置#0(1)〜#n(2)のブラウザが過去に動的コンテンツ生成装置4から受信したレスポンスの内容を、別の端末装置#0(1)〜#n(2)のブラウザで復元する仕組みを実現できる。
《実施例2》
図11は、本発明の実施例2に係る動的コンテンツ保存復元装置の動的コンテンツ生成処理動作の概要を模式的に示した図である。
以下に説明する本発明の実施例2に係る動的コンテンツ保存復元装置では、動的コンテンツ生成装置4が有する動的コンテンツ生成処理部205の処理に変更を加えてもよい場合に最適な実施例である。
すなわち、動的コンテンツ生成処理において最も負荷がかかる箇所は、大規模データの文字列マッチング処理を含む処理になる。具体的には、図9のフローチャートで示したステップS815の、動的コンテンツに対しテンプレートが適用可能か否かを検証する処理、また、ステップS816のテンプレートをベースに変数箇所を抽出する処理に相当する。
図11では、図2に示した動的コンテンツ生成装置4の動的コンテンツ生成処理部205の処理内容を拡張し、具体的には、動的コンテンツ生成処理部205が動的コンテンツを生成した際に、それにマッチするテンプレートID102(Tx)および、各変数データの開始・終了位置の情報(103、104など)を動的に生成し、動的コンテンツ保存復元プロキシ装置3にレスポンス情報として通知する仕組みを組み込む。
この通知はどのような方法で実現してもよいが、ここでは、一例としてHTTP(Hypertext Transfer Protocol)のレスポンスヘッダ情報101に、ユーザ定義のヘッダ102、103および104を追加して通知している例を示している。
動的コンテンツ保存復元プロキシ装置3にテンプレートID102が通知された場合、図9のフローチャートのステップS815に示す検証処理は、テンプレートDB33から得られたテンプレート109のテンプレートID112と、通知されたテンプレートID102とを比較して、一致するか否かの確認のみでよい。テンプレートIDが一致している場合に、動的コンテンツ105に対してテンプレート109が適用可能であることは、動的コンテンツ生成処理部205が保証する。テンプレートID102に誤ったテンプレートIDを通知していなければ、これは実現可能である。
図11において、動的コンテンツ保存復元プロキシ装置3に変数データの開始位置・終了位置の情報(103、104)が通知された場合、図9のステップS816の変数箇所抽出処理は、動的コンテンツA105の中から、通知された位置に示されているデータ106および107を抜き出すだけで、変数110および111に該当する変数データを抽出することができる。
この処理には文字列マッチング処理は必要としない。変数データの正しい開始位置および終了位置を通知することは、動的コンテンツ生成処理部205が保証する。
以上説明のように本発明の実施例2に係る動的コンテンツ保存復元装置によれば、コンテンツ保存手段310が、動的コンテンツ生成装置4(動的コンテンツ生成処理部205)からユーザ定義されたコンテンツID、および変数データの開始および終了位置に関するデータを取得して検証処理を実行することにより、この検証処理は文字列マッチング処理を必要とせず、変数箇所抽出処理も含めレスポンス情報を解析するだけで実現可能になるため処理負荷を大幅に削減することができる。
《実施例3》
図12は、本発明の実施例3に係る動的コンテンツ保存復元装置の動的コンテンツ生成処理動作の概要を模式的に示した図であり、また、図13は、本発明の実施例3に係る動的コンテンツ保存復元装置のマッチ判定処理動作の流れを示すフローチャートである。
ここでは、動的コンテンツ生成装置4の動的コンテンツ生成処理部205の処理に変更を加えることが出来ない場合であって、かつテンプレート適用失敗の発生率が高い場合に適した実施例を示している。
この条件では、受信した動的コンテンツに対して、テンプレートが適用可能か否かを事前に知ることは困難であるため、図9のステップS815に示す検証処理、およびステップS816に示す変数箇所抽出処理における文字列マッチング操作は回避できない。このため、後記するステップS815およびS816の処理をより高速に実現するための仕組みを実装する必要がある。以下にその詳細を説明する。
一般に文字列の検索処理は、良く知られているボイヤー・ムーア法などを実装すると高速に検索することができることが知られている。検索する対象範囲が小さくなればなるほど、検索効率は向上することからこの性質を利用するものとする。
具体的には、図12に示されるように、テンプレートDB33におけるテンプレート111のデータ表現として、テンプレートに含まれる固定文字列113、各固定文字列の文字長114、各固定文字列の直前に現れる変数データの直前変数名115、およびテンプレート全体の固定文字列に含まれている固定文字総数116というデータ形式を用いる。各レコードは、テンプレートの固定文字列の出現順に登録されている。仮に、テンプレートの最後が変数データとなるテンプレートの場合は、テンプレートの最後のレコードに固定文字列113が空文字、固定文字列の文字長114が「0」、直前変数名115に変数名を格納したレコードを登録しておく。
このデータ形式で表現されたテンプレートを用いることにより、図9のステップS815で示す動的コンテンツに対して適用可能か否かを検証する処理と、ステップS816で示す変数データ抽出処理は、図13のフローチャートで示す手順に代替される。
以下、図13を参照しながら本発明の実施例3に係る動的コンテンツ保存復元装置の検証判定処理動作について説明する。
ここでは、検索先頭位置を表す変数s、検索終端位置を表す変数e、テンプレートにおける現在のマッチ済み固定文字列の個数を表す変数i、テンプレートにおける未だマッチしていない固定文字列の文字総数を表す変数xを用いる。
なお、図13の「固定文字長[i]」は、「i+1番目のレコードの固定文字長」を表している。
コンテンツ保存手段310の検証処理部315では、まず、各変数を初期化する(ステップS131)。次に、テンプレートの先頭が変数データで始まるか否かを判定し(ステップS132)、変数データで始まる場合は(ステップS132“Yes”)、テンプレートの最初の固定文字列の検索終端位置eに「動的コンテンツ全体の文字数―テンプレートに含まれる固定文字列全体の文字数x+最初の固定文字列の文字数」をセットする(ステップS133)。一方、変数データで始まらない場合は(ステップS132“No”)、テンプレートの最初の固定文字列の検索終端位置eに「最初の固定文字列の文字数[i]」をセットする(ステップS134)。
続いて、検証処理部315は、固定文字長[i]が0か否かを判定する(ステップS135)。固定文字長[i]が0で無い場合(ステップS135“No”)、発見位置先頭および最後尾をコンテンツ終端にセットして差分抽出処理部316に処理を移し、差分抽出処理部316は、検索先頭位置sから検索対象の固定文字列が発見された位置の直前までを、その文字列の直前に現れる変数データとして抽出する(ステップS136)。このとき、検索先頭位置と固定文字列が発見された位置が一致する場合、変数データには空文字列を抽出する。
一方、ステップS135の固定文字長判定処理において、固定文字長[i]が0と判定された場合(ステップS135“Yes”)ステップS137の固定文字列の検索処理を行う。ステップS137において、検索終端位置eよりも前方で検索対象の固定文字列が見つからなかった場合(ステップS137“No”)、たとえ、検索終端位置e以降に検索対象の固定文字列が見つかったとしても、発見された位置より後の動的コンテンツの文字数がテンプレートに含まれており、未だマッチしていない固定文字列の文字総数よりも小さくなってしまうため、このテンプレートは動的コンテンツに適用できないと判定できる(ステップS138:マッチ失敗をリターン)。
ステップS137の固定文字列の検索処理では、検索範囲の先頭位置sおよび終端位置eを絞り込むが、その範囲内での文字列検索処理は、どのような方法を用いてもよい。例えば前記したボイヤー・ムーア法などの高速なアルゴリズムを使用できる。
ステップS137の固定文字列の検索処理において、文字列マッチに成功した場合(ステップS137“Yes”)、差分抽出処理部316は、検索先頭位置sから検索対象の固定文字列が発見された位置の直前までを、その文字列の直前に現れる変数データとして抽出する(ステップS139)。このとき、検索先頭位置と固定文字列が発見された位置が一致する場合、変数データには空文字列を抽出する。
続いて、差分抽出処理部316は、テンプレートにおける次の検索対象の固定文字列を検索するための各変数値をセットする(ステップS140)。ここで全ての変数データの抽出が実施できた場合(ステップS141“Yes”)、この動的コンテンツはテンプレートマッチ可能と判定し、抽出した各変数データの値をリターンする(ステップS142)。テンプレートの最後が変数データとなるテンプレートの場合は(ステップS141“No”)、ステップS135の固定文字長[i]の判定処理に戻り、ステップS136、S139、S140の処理を実行して変数データを抽出する。
以上説明のように本発明の実施例3に係る動的コンテンツ保存復元装置によれば、コンテンツ保存手段310が、固定文字列長に関するデータを参照して固定文字列の検索先頭位置および終端位置を絞り込み、固定文字列の検索に成功した場合、検索先頭位置から検索対象の固定文字列がヒットした直前の位置迄、固定文字列の直前に出現する変数データとして抽出することにより、変数データの文字数に比べて固定文字列の文字数部分が多いテンプレートの場合、テンプレートマッチに失敗する場合の判定処理を高速に行うことができる。
《実施例4》
図14は、本発明の実施例4に係る動的コンテンツ保存復元装置の学習処理による最適テンプレートの自動生成処理動作の概要を模式的に示した図である。
以下に説明する実施例4は、テンプレートDB33に登録するデータを手作業で作成するのが困難な場合に最適な実施例である。
テンプレートの準備作業は、動的コンテンツ生成処理において前記したJSPやPHPなどテンプレートに類似した技術を使っている場合には、機械的に実現可能である。しかしながらJSPやPHPを使わず、かつ、動的コンテンツ生成装置4により生成されるコンテンツの種類が多い場合は、手作業で全てのテンプレートを準備するのは難しい。そのような場合に以下に説明する実施例4が最適になる。
ここでは、実際にシステムが運用を開始する前の、動的コンテンツのテスト工程で得られる情報を利用する。具体的には、テストの際のリクエストで生成された動的コンテンツを保存し、同じURLに対するリクエストの中で、全てのコンテンツに共通して出現している部分をテンプレートとして抽出する。
全てのコンテンツに共通して出現する部分が無い場合は、あるテンプレートを仮定し、そのテンプレートの適用に失敗するケースの発生率からそのテンプレートを適用した場合に増加する保存量を計算し、保存量が最小になるよう、学習処理部70で最適なテンプレート145を自動作成する。
ここでは、自動生成されたテンプレート145を適用した際、動的コンテンツ保存復元プロキシ装置3に対して、各テンプレートIDに対して、テンプレート適用失敗(図9のステップS815の検証処理でNo判定された場合)の数をカウントする処理を付加し、自動生成された最適テンプレートが実際のシステム運用環境でも有効に動作しているか否かを判断する指標を提供する。
あるテンプレートIDにおいてテンプレート適用失敗の回数が一定数以上になった場合、そのテンプレートIDのテンプレートについては入れ替えを検討する。具体的には、あるテンプレートIDに対するテンプレートと、そのテンプレートIDで差分保存DB34に登録されている失敗フラグがTRUEになっている変数データから、よりテンプレート失敗の発生率が低いテンプレートを仮定し、そのテンプレートの適用に失敗するケースの発生率からそのテンプレートを適用した場合に増加する保存量を計算し、保存量が最小になるよう新しい最適テンプレートを生成する。
この新しい最適テンプレートに対して、テンプレートIDを新しく取得し、テンプレートDB33に追加する。また、最新のURLに対応するテンプレートIDを新しく登録したテンプレートIDに書き換える。
前記した学習処理部70は、稼動中のシステム上で実施する必要は無く、別サーバ(外部接続装置7)にてバックグランドで実行することとする。したがって、自動テンプレートの生成処理が稼動中のシステム性能などに影響を与えることはない。
以上説明のように本発明の実施例4に係る動的コンテンツ保存復元装置によれば、コンテンツ保存手段310、あるいは外部接続装置7(学習処理部70)が、コンテンツリクエストの中で全てのコンテンツに共通に出現する部分を抽出し、個別に出現する部分は、あるテンプレートを仮定し、あるテンプレートの適用に失敗するケースの発生率からあるテンプレートを適用した場合に増加するメモリ保有量を計算し、保有量が最小になるように学習処理してテンプレートを生成し、テンプレートDB33に格納することにより、テンプレートの自動生成が可能になる。
また、この処理をバックグランドで実行する(外部接続装置7(学習処理部70)が実行)ことにより、動的コンテンツ保存復元プロキシ装置3は負荷を要することなくテンプレートの利用が可能になる。
また、コンテンツ保存手段310が、テンプレート適用の失敗に関する頻度管理を行い、頻度が所定数になった場合、該当テンプレートの更新を促すユーザインタフェースを提供することで、保守管理者は、自動生成されたテンプレートが実際のシステム運用環境でも有効に動作しているか否かを判断することができ、テンプレート入れ替え時の利便性を提供でき、有効なテンプレートのみ保存することができるため、一層のメモリ容量の圧縮が可能になる。
図15は、前記した本発明の実施例1〜4に係る動的コンテンツ保存復元システムをヘルプデスクシステムに応用した場合の構成および動作の概要を示す図である。
ヘルプデスクシステムとは、システム利用者がシステムを利用した際に発生した問題をヘルプデスクのオペレータに問い合わせる際の、正確な情報の伝達を支援するシステムである。具体的な支援内容としては、図15に示されるように、システム利用者側クライアント装置151のブラウザ152上で操作した内容を、ヘルプデスク側クライアント装置155上で再現する機能を実現する。
前記したヘルプデスクシステムにおいて、従来の情報伝達手段は、電話やメールなど人間の言語・記憶を介したものであり、正確に過去に実施した操作情報が伝えられる保証がなかった。このヘルプデスクシステムに前記した本発明の実施の形態1〜4に係る動的コンテンツ保存復元装置を応用すれば、ヘルブデスクのオペレータは、システム利用者がどのような操作を実行した結果、オペレータに問い合わせる契機となった問題が発生したのかを正確に把握することが可能になり、問題解決スピードが早まるなど、サービス向上に繋がる。
以下に説明するヘルプデスクシステムでは、システム利用者側クライアント装置151で実行される機能として、システム利用者側クライアント装置151でのブラウザ152上での動作を記録するブラウザ操作ログ記録処理部153と、リクエストIDと操作の記録をヘルプデスク側クライアント装置155に転送するブラウザ操作ログ&リクエストID送信処理部154とを有している。
また、ヘルプデスク側クライアント装置155で実行される機能として、リクエストIDと操作の記録をシステム利用者側クライアント装置151から受信するブラウザ操作ログ&リクエストID受信処理部157と、受信したリクエストIDを元に復元モードで動的コンテンツ保存復元プロキシ装置3に問い合わせを実施し、復元した動的コンテンツを取得する動的コンテンツ取得処理部158と、受信した操作の記録と復元した動的コンテンツとを組み合わせて、ヘルプデスク側クライアント装置155上のブラウザ156上で、システム利用者側クライアント装置151のブラウザ152で実行した処理や操作の内容を再現するブラウザ操作再生処理部159と、を有している。
ブラウザ152および156上での操作を記録・再生するブラウザ操作ログ記録処理部153およびブラウザ操作再生処理部159の実装はどのように実現しても良く、例えば、ブラウザ操作ログ記録処理部153では、JavaScript(登録商標)を用い、ブラウザ152上で発生したイベントを記録し、ブラウザ操作再生処理部159では、JavaScript(登録商標)を用いて、受信したイベントデータをブラウザ156上で順に発生させる方法が利用できる。
また、操作の記録を送受信するブラウザ操作ログ&リクエストID送信処理部154とブラウザ操作ログ&リクエストID受信処理部157はどのように実現しても良く、例えば、操作記録送受信のための中継用サーバを介してデータをやり取りする方法が利用できる。
図15に示したヘルプデスクシステムの具体的な処理の流れを説明する。まず、システム利用者側クライアント装置151のブラウザ152から、動的コンテンツ保存復元プロキシ装置3にリクエストを送信する。
動的コンテンツ生成装置4が生成したコンテンツは、コンテンツ保存手段310により、システム利用者側クライアント装置151に返される前に、動的コンテンツ保存復元プロキシ装置3に保存される。その後、システム利用者側クライアント装置151が動的コンテンツを受信すると、ブラウザ操作ログ記録処理部153によるログ記録処理が実行され、動的コンテンツに対するブラウザ152上での動作や操作が記録される。
システム利用者がヘルプデスクのオペレータに対して問い合わせを実施する場合、まずブラウザ操作ログ&リクエストID送信処理部154によるブラウザ操作およびリクエストID送信処理により、リクエストIDと操作の記録情報をシステム利用者側クライアント装置151からヘルプデスク側クライアント装置155に転送する。
ヘルプデスク側クライアント装置155は、ブラウザ操作ログ&リクエストID受信処理部157で受信したリクエストIDに復元モードであることを示す情報を付加して、動的コンテンツ取得処理部158により動的コンテンツ保存復元プロキシ装置3にリクエストを送信する。
リクエストを受信した動的コンテンツ保存復元プロキシ装置3は、コンテンツ復元手段320により、リクエストIDに対応する動的コンテンツを復元して、ヘルプデスク側クライアント装置155にレスポンスを送信する。
ヘルプデスク側クライアント装置155は、受信した動的コンテンツ、およびシステム利用者側クライアント装置151から受信したブラウザ操作ログ情報をブラウザ操作再生処理159に入力し、ヘルプデスク側クライアント装置155のブラウザ156上で、システム利用者側クライアント装置151のブラウザ152で実行した処理や操作の内容を再現する。
前記した本発明の実施例1〜4に係る動的コンテンツ保存復元装置をヘルプデスクシステムに応用することにより、システム利用者側クライアント装置151は、動的コンテンツ保存復元プロキシ装置3に対してコンテンツリクエストを送信して動的コンテンツを取得し、取得した動的コンテンツに対するブラウザの操作ログを保存し、保存したブラウザの操作ログをヘルプデスク側クライアント装置155に転送し、ヘルプデスク側クライアント装置155は、システム利用者側クライアント装置151から転送されるブラウザ操作ログを受信して動的コンテンツ保存復元プロキシ装置3に復元リクエストを送信し、動的コンテンツ保存復元プロキシ装置3から復元された動的コンテンツを取得し、取得したコンテンツと受信したブラウザ操作ログとを組み合わせ、自身のブラウザで動的コンテンツの操作を再現することができる。
このため、ヘルブデスクのオペレータは、システム利用者がどのような操作を実行した結果、オペレータに問い合わせる契機となった問題が発生したのかを正確に把握することが可能になり、問題解決スピードが早まるなど、サービス向上に繋がる。
なお、図2に示すコンテンツ保存手段310が有する機能は、全てをソフトウェアによって実現しても、あるいはその少なくとも一部をハードウェアで実現してもよい。
例えば、コンテンツ保存手段310が、動的コンテンツに対してテンプレートが適用できるか否かを検証し、適用できると判定された場合に、動的コンテンツとテンプレートとの差分データからなる動的コンテンツを第2の記憶手段(差分保存DB34)に保存するデータ処理は、1または複数のプログラムによりコンピュータ上で実現してもよく、また、その少なくとも一部をハードウェアで実現してもよい。
また、図3に示すコンテンツ復元手段320が有する機能は、全てをソフトウェアによって実現しても、あるいはその少なくとも一部をハードウェアで実現してもよい。
例えば、端末装置#0(1)〜#1(2)からの復元リクエストに対し、第1の記憶手段(テンプレートDB33)に保存されたテンプレートと、第2の記憶手段に保存された差分データとを組み合わせることにより生成される動的コンテンツを復元するデータ処理は、1または複数のプログラムによりコンピュータ上で実現してもよく、また、その少なくとも一部をハードウェアで実現してもよい。
1 端末装置#0
2 端末装置#n
3 動的コンテンツ保存復元プロキシ装置(動的コンテンツ保存復元装置)
4 動的コンテンツ生成装置
5 データベース装置
6 ネットワーク
7 外部接続装置
10 動的コンテンツ保存復元システム
33 テンプレートDB(第1の記憶部)
34 差分保存DB(第2の記憶部)
70 学習処理部
151 システム利用者側クライアント装置
152、156 ブラウザ
153 ブラウザ操作ログ記録処理部
154 ブラウザ操作ログ&リクエストID送信処理部
155 ヘルプデスク側クライアント装置
157 ブラウザ操作ログ&リクエストID受信処理部
158 動的コンテンツ取得処理部
159 ブラウザ操作再生処理部
202 リクエスト送受信処理部
310 コンテンツ保存手段
311 モード判定処理部
312 ID付与処理部
313 リクエストURL解析処理部
314 テンプレート呼び出し処理部
315 検証処理部
316 差分抽出処理部)
320 コンテンツ復元手段
321 モード判定処理部
322 ID抽出処理部
323 差分呼び出し処理部
324 マージ処理部
325 テンプレート呼び出し処理部

Claims (12)

  1. 端末装置がネットワーク経由で接続される動的コンテンツ保存復元装置であって、
    変数データと、前記変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第1の記憶手段と、
    前記テンプレートと、前記端末装置からのコンテンツリクエストに対する応答である動的コンテンツとの差分である差分データが格納される第2の記憶手段と、
    前記動的コンテンツに対して前記テンプレートが適用できるか否かを検証し、適用できると判定された場合に、前記差分データを前記第2の記憶手段に保存するコンテンツ保存手段と、
    前記端末装置からの復元リクエストに対し、前記第1の記憶手段に保存されたテンプレートと、前記第2の記憶手段に保存された差分データとを組み合わせることにより動的コンテンツを復元するコンテンツ復元手段と、
    を備えたことを特徴とする動的コンテンツ保存復元装置。
  2. 前記コンテンツ保存手段は、
    前記テンプレートに含まれる固定文字列データが前記動的コンテンツに含まれており、前記テンプレートと差分データとを組み合わせることにより前記動的コンテンツを復元できるか否かによって前記動的コンテンツに対し前記取得したテンプレートが適用可能か否かを検証し、
    適用可能とされた場合、前記テンプレートをベースに前記動的コンテンツから前記差分データを抽出して変数データを取得し、適用不能とされた場合、前記動的コンテンツ全体を前記第2の記憶手段に格納することを特徴とする請求項1に記載の動的コンテンツ保存復元装置。
  3. 前記コンテンツ復元手段は、
    前記コンテンツリクエストを一意に特定するリクエストIDに基づき前記第2の記憶手段を検索し、前記リクエストIDにヒットした該当のテンプレートに対応する変数データが、前記動的コンテンツと一致する場合、前記第1の記憶手段から対応するテンプレートを取得し、前記取得したテンプレートと前記第2の記憶手段に格納された対応する差分データとから動的コンテンツを復元し、前記復元した動的コンテンツを前記動的コンテンツとして前記復元リクエストがあった端末装置に送信することを特徴とする請求項1に記載の動的コンテンツ保存復元装置。
  4. 前記コンテンツ保存手段は、
    ユーザ定義されたコンテンツID、および前記変数データの開始および終了位置に関するデータを取得し、前記テンプレートに含まれる固定文字列データが前記動的コンテンツに含まれており、前記テンプレートと差分データとを組み合わせることにより前記動的コンテンツを復元できるか否かによって前記動的コンテンツに対し前記取得したテンプレートが適用可能か否かを動的に検証することを特徴とする請求項2に記載の動的コンテンツ保存復元装置。
  5. 前記第1の記憶手段に格納されるテンプレートは、少なくとも固定文字列長に関するデータを含み、
    前記コンテンツ保存手段は、
    前記固定文字列長に関するデータを参照して前記固定文字列の検索先頭位置および終了位置を絞り込み、前記固定文字列の検索に成功した場合、前記検索先頭位置から検索対象の固定文字列がヒットした直前の位置迄、前記固定文字列の直前に出現する変数データとして抽出することを特徴とする請求項1または請求項2に記載の動的コンテンツ保存復元装置。
  6. 前記コンテンツ保存手段は、
    前記コンテンツリクエストの中で全てのコンテンツに共通に出現する部分を抽出し、個別に出現する部分は、所定のテンプレートを仮定し、前記所定のテンプレートの適用に失敗するケースの発生率から前記所定のテンプレートを適用した場合に増加するメモリ使用量を計算し、前記メモリ使用量が最小になるように学習処理してテンプレートを生成し、前記第1の記憶手段に格納することを特徴とする請求項1または請求項2に記載の動的コンテンツ保存復元装置。
  7. 前記コンテンツ保存手段は、
    前記テンプレート適用の失敗に関する頻度管理を行い、得られる頻度情報が所定数になった場合、該当テンプレートの更新を促すユーザインタフェースを提供することを特徴とする請求項1または請求項2に記載の動的コンテンツ保存復元装置。
  8. コンテンツリクエスト、もしくはコンテンツ復元リクエストを発行する端末装置と、前記端末装置とはネットワーク経由で接続される動的コンテンツ保存復元装置とからなる動的コンテンツ保存復元システムであって、
    前記動的コンテンツ保存復元装置は、
    変数データと、前記変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第1の記憶手段と、前記テンプレートと前記端末装置からのコンテンツリクエストに対する応答である動的コンテンツとの差分である差分データが格納される第2の記憶手段と、前記動的コンテンツに対して前記テンプレートが適用できるか否かを検証し、適用できると判定された場合に、前記差分データを前記第2の記憶手段に保存するコンテンツ保存手段と、前記端末装置からの復元リクエストに対し、前記第1の記憶手段に保存されたテンプレートと、前記第2の記憶手段に保存された差分データとを組み合わせることにより動的コンテンツを復元するコンテンツ復元手段とを含み、
    前記端末装置は、
    前記動的コンテンツ保存復元装置により復元された動的コンテンツを取得して再現することを特徴とする動的コンテンツ保存復元システム。
  9. 前記動的コンテンツ保存復元装置は、
    動的コンテンツ生成装置と、動的コンテンツ保存復元プロキシ装置とからなり、
    前記動的コンテンツ保存復元プロキシ装置は、前記端末装置から発行されるコンテンツリクエストおよびコンテンツ復元リクエストに対し、前記動的コンテンツ生成装置からの応答を中継することを特徴とする請求項8に記載の動的コンテンツ保存復元システム。
  10. 前記端末装置は、
    システム利用者側クライアント装置と、ヘルプデスク側クライアント装置とを含み、
    前記システム利用者側クライアント装置は、
    前記動的コンテンツ保存復元装置に対しコンテンツリクエストを送信して動的コンテンツを取得し、前記取得した動的コンテンツに対するブラウザ操作ログを保存し、前記保存したブラウザ操作ログを前記ヘルプデスク側クライアント装置に転送する手段を備え、
    前記ヘルプデスク側クライアント装置は、
    前記システム利用者側クライアント装置から転送されるブラウザ操作ログを受信して前記動的コンテンツ保存復元装置に復元リクエストを送信し、前記動的コンテンツ保存復元装置から復元された動的コンテンツを取得し、前記取得した動的コンテンツと前記受信したブラウザ操作ログとを組み合わせ、自身のブラウザで前記動的コンテンツの操作を再現する手段、
    を備えることを特徴とする請求項8または請求項9に記載の動的コンテンツ保存復元システム。
  11. コンテンツリクエスト、もしくはコンテンツ復元リクエストを発行する端末装置と、前記端末装置とはネットワーク経由で接続される動的コンテンツ保存復元装置とからなる動的コンテンツ保存復元システムにおける動的コンテンツの保存および復元方法であって、
    前記動的コンテンツ保存復元装置が、
    変数データと、前記変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第1の記憶手段と、前記テンプレートと前記端末装置からのコンテンツリクエストに対する応答である動的コンテンツとの差分である差分データが格納される第2の記憶手段とを参照することにより、前記動的コンテンツに対して前記テンプレートが適用できるか否かを検証し、適用できると判定された場合に前記差分データを前記第2の記憶手段に保存するステップと、
    前記動的コンテンツ保存復元装置が、
    前記端末装置からの復元リクエストに対し、前記第1の記憶手段に保存されたテンプレートと、前記第2の記憶手段に保存された差分データとを組み合わせることにより動的コンテンツを復元するステップと、
    前記端末装置が、
    前記動的コンテンツ保存復元装置により復元された動的コンテンツを取得し、再現するステップと、
    を有することを特徴とする動的コンテンツの保存および復元方法。
  12. 端末装置がネットワーク経由で接続され、変数データと、前記変数データの間を埋める固定文字列データにより記述されるテンプレートが格納される第1の記憶手段と、前記テンプレートと、前記端末装置からのコンテンツリクエストに対する応答である動的コンテンツとの差分である差分データが格納される第2の記憶手段とを備えた動的コンテンツ保存復元装置に用いられるプログラムであって、
    前記動的コンテンツに対して前記テンプレートが適用できるか否かを検証し、適用できると判定された場合に、前記差分データを前記第2の記憶手段に保存するコンテンツ保存処理と、
    前記端末装置からの復元リクエストに対し、前記第1の記憶手段に保存されたテンプレートと、前記第2の記憶手段に保存された差分データとを組み合わせることにより動的コンテンツを復元するコンテンツ復元処理と、
    をコンピュータに実行させることを特徴とするプログラム。
JP2009071299A 2009-03-24 2009-03-24 動的コンテンツ保存復元装置、動的コンテンツ保存復元システム、動的コンテンツの保存および復元方法、ならびにプログラム Expired - Fee Related JP5167179B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009071299A JP5167179B2 (ja) 2009-03-24 2009-03-24 動的コンテンツ保存復元装置、動的コンテンツ保存復元システム、動的コンテンツの保存および復元方法、ならびにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009071299A JP5167179B2 (ja) 2009-03-24 2009-03-24 動的コンテンツ保存復元装置、動的コンテンツ保存復元システム、動的コンテンツの保存および復元方法、ならびにプログラム

Publications (3)

Publication Number Publication Date
JP2010224861A true JP2010224861A (ja) 2010-10-07
JP2010224861A5 JP2010224861A5 (ja) 2011-04-07
JP5167179B2 JP5167179B2 (ja) 2013-03-21

Family

ID=43041982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009071299A Expired - Fee Related JP5167179B2 (ja) 2009-03-24 2009-03-24 動的コンテンツ保存復元装置、動的コンテンツ保存復元システム、動的コンテンツの保存および復元方法、ならびにプログラム

Country Status (1)

Country Link
JP (1) JP5167179B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011257796A (ja) * 2010-06-04 2011-12-22 International Business Maschines Corporation 画面の再現を支援する装置及び方法
WO2012120658A1 (ja) * 2011-03-08 2012-09-13 株式会社日立製作所 ウェブ操作記録・再現方法および装置
JP2017511533A (ja) * 2014-03-12 2017-04-20 アマゾン テクノロジーズ インコーポレイテッド プロファイルベースのキャッシュ管理
JP2019095913A (ja) * 2017-11-20 2019-06-20 株式会社日立製作所 ストレージシステム
JP2021068471A (ja) * 2021-01-14 2021-04-30 株式会社日立製作所 ストレージシステム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001060179A (ja) * 1999-08-20 2001-03-06 Fuji Xerox Co Ltd 履歴記録装置及び履歴再生装置
JP2001067366A (ja) * 1999-08-26 2001-03-16 Nec Corp データベース検索結果表示システム、方法及び記録媒体
JP2002032246A (ja) * 2000-07-18 2002-01-31 Toshiba Corp ディレクトリ情報管理装置及びディレクトリ情報管理方法並びにプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002108671A (ja) * 2000-07-26 2002-04-12 Internatl Business Mach Corp <Ibm> コンピュータ処理システムにおいてカスタマイズした情報を提供する方法とシステム
JP2003157282A (ja) * 2001-11-21 2003-05-30 Sony Corp コンテンツの履歴情報処理方法及びプログラム
JP2005107662A (ja) * 2003-09-29 2005-04-21 Hitachi Software Eng Co Ltd Wwwシステム処理方法およびシステム
JP2006031354A (ja) * 2004-07-15 2006-02-02 Renesas Technology Corp テストプログラム生成装置及びテストプログラム生成システム
JP2008129732A (ja) * 2006-11-17 2008-06-05 Asahi Kasei Corp ウェブ閲覧解析システム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001060179A (ja) * 1999-08-20 2001-03-06 Fuji Xerox Co Ltd 履歴記録装置及び履歴再生装置
JP2001067366A (ja) * 1999-08-26 2001-03-16 Nec Corp データベース検索結果表示システム、方法及び記録媒体
JP2002032246A (ja) * 2000-07-18 2002-01-31 Toshiba Corp ディレクトリ情報管理装置及びディレクトリ情報管理方法並びにプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002108671A (ja) * 2000-07-26 2002-04-12 Internatl Business Mach Corp <Ibm> コンピュータ処理システムにおいてカスタマイズした情報を提供する方法とシステム
JP2003157282A (ja) * 2001-11-21 2003-05-30 Sony Corp コンテンツの履歴情報処理方法及びプログラム
JP2005107662A (ja) * 2003-09-29 2005-04-21 Hitachi Software Eng Co Ltd Wwwシステム処理方法およびシステム
JP2006031354A (ja) * 2004-07-15 2006-02-02 Renesas Technology Corp テストプログラム生成装置及びテストプログラム生成システム
JP2008129732A (ja) * 2006-11-17 2008-06-05 Asahi Kasei Corp ウェブ閲覧解析システム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNH200800079005; 'Webアプリケーション モニタリング技術' はいたっく 通巻493号, 20080601, p.21-22, 株式会社日立製作所 *
CSNJ200910014015; 中村 友洋: 'Webアプリケーションの保守性向上を目指したモニタリング技術の提案' FIT2007 第6回情報科学技術フォーラム 一般講演論文集 第4分冊 ネットワーク・セキュリティ , 20070822, p.39-40, 社団法人情報処理学会 *
JPN6012062973; 中村 友洋: 'Webアプリケーションの保守性向上を目指したモニタリング技術の提案' FIT2007 第6回情報科学技術フォーラム 一般講演論文集 第4分冊 ネットワーク・セキュリティ , 20070822, p.39-40, 社団法人情報処理学会 *
JPN6012062974; 'Webアプリケーション モニタリング技術' はいたっく 通巻493号, 20080601, p.21-22, 株式会社日立製作所 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011257796A (ja) * 2010-06-04 2011-12-22 International Business Maschines Corporation 画面の再現を支援する装置及び方法
US9483575B2 (en) 2010-06-04 2016-11-01 International Business Machines Corporation Reproducing a graphical user interface display
US9619577B2 (en) 2010-06-04 2017-04-11 International Business Machines Corporation Reproducing a graphical user interface display
WO2012120658A1 (ja) * 2011-03-08 2012-09-13 株式会社日立製作所 ウェブ操作記録・再現方法および装置
JP2017511533A (ja) * 2014-03-12 2017-04-20 アマゾン テクノロジーズ インコーポレイテッド プロファイルベースのキャッシュ管理
US10498663B2 (en) 2014-03-12 2019-12-03 Amazon Technologies, Inc. Profile-based cache management
JP2019095913A (ja) * 2017-11-20 2019-06-20 株式会社日立製作所 ストレージシステム
JP2021068471A (ja) * 2021-01-14 2021-04-30 株式会社日立製作所 ストレージシステム
JP7017654B2 (ja) 2021-01-14 2022-02-08 株式会社日立製作所 ストレージシステム

Also Published As

Publication number Publication date
JP5167179B2 (ja) 2013-03-21

Similar Documents

Publication Publication Date Title
US9961129B2 (en) Business transaction correlation with client request monitoring data
US8135829B2 (en) Utilizing a single agent on a non-origin node for measuring the roundtrip response time of web pages with embedded HTML frames
US8732205B2 (en) Universal device identifier for globally identifying and binding disparate device identifiers to the same mobile device
US20160378731A1 (en) Method and apparatus for intelligent capture of document object model events
US8452925B2 (en) System, method and computer program product for automatically updating content in a cache
US7668839B2 (en) Application management for utilizing a replication engine of a Web-AP server to execute SIP replication
US11477298B2 (en) Offline client replay and sync
JP4698756B2 (ja) ウェブベースアプリケーションのオフライン実行
JP5167179B2 (ja) 動的コンテンツ保存復元装置、動的コンテンツ保存復元システム、動的コンテンツの保存および復元方法、ならびにプログラム
CN107766509B (zh) 一种网页静态备份的方法和装置
CN105227610A (zh) 一种文件上传、保存方法及装置
CN103347092A (zh) 一种识别缓存文件的方法及装置
CN108701130A (zh) 使用自动浏览群集更新提示模型
WO2014000293A1 (zh) 用户行为的获取方法、设备及系统
JP3579826B2 (ja) データ処理システム、データロギングシステム、システムパフォーマンスの測定方法、および、記録媒体
JP5405190B2 (ja) コンテンツ管理情報収集システム、及びコンテンツ管理情報収集方法
US8230002B2 (en) Method and system for automatic setup in web-based applications
US20090300505A1 (en) Information processing apparatus, recovering method of entry information thereto, and recording medium
US11115462B2 (en) Distributed system
CN104615597A (zh) 浏览器中清除缓存文件的方法、装置和系统
JP2010224861A5 (ja)
US9374437B2 (en) Schema validation proxy
US10771578B2 (en) Webpage loading method and apparatus
JP6364727B2 (ja) 情報処理システム、分散処理方法、及び、プログラム
JP2002259338A (ja) プロキシサーバとウェブサーバを含むシステム及びそのプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121122

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: 20121204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121221

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees