明細書 ゥェブ情報の変更履歴の管理方法およびその装置と記録媒体 技術分野
本発明は、 情報の断片が相互に関係しネットヮ一ク型の関係を構成するウェブ情 報の変更履歴を管理する方法、 その方法,を実現したブログラムを記録したコンビユー タ読み取り可能な媒体、 ウェブ情報の変更履歴を管理する装置、 に関する。 背景技術
《セクション 1 ウェブ情報》
ウェブブラウザ (以下単にブラウザ) の進歩により、 世界をカバーするインター ネット上に存在するウェブ情報を手元の計算機の画面に手軽に表示する事が可能にな つた。 ウェブ情報は HTML ファイルと HTML ファイルから参照される画像、 音声、 動画 などのファイルなどにより構成されている。 HTML ファイルの間を移動する関係は HTML ファイルに記録された HREF タグで指定されている。 画像、 音声、 動画などのファイル は HTMLファイルに記録された SRCタグなどで参照されている。一つの画像ファイル(ま たは音声、 動画ファイル) が複数の HTML ファイルから参照される事も多い。 これらの 移動や参照の関係により世界中の計算機の内部に存在する HTMLファイルや画像、 音声、 動画などのフアイルがクモの巣状に関係付けられている。
インターネット上のウェブ情報はいつもどこかが変更されている。 HTML ファイル の内容が変更される事もあるし、 画像が差し替えられる場合もある。 HTML ファイルか らの移動先として新たな HTMLファイルが追加される事もあれば、 HTMLファイルが参照 する動画ファイルなどが新たに追加されたり削除されたりする場合もある。 この様に、 クモの巣状に関係付けられた情報のネットワークが刻一刻、 部分毎に変更され、 追加 や削除されている。
《セクション 2 ェンドユーザー側でのゥェブ情報管理の現状》
《セクション 2 . 1 ブラウザの機能》 '
ブラウザに表示している情報を保存するには、 ブラウザの 「名前を付けて保存」 の機能を実行するのが簡単である: 表示していた HTML ファイルがそのままエンドュ一 ザ一の計算機に記録される- しカゝし、 HTML ファイルから相対パスで参照されていた画 像ファイルなどは記録されないので、 一度保存した HTML ファイルを後で開いても、 こ れらの画像ファイルは表示されない:
ブラウザのオフライン処理では、 ネットワークと通信することなくキャッシュに 保存された情報を表示する。 しかし、 一度取り込んだ情報がいつまでもキャッシュに 残っているわけではないので、 オフラインで表示する時に画面が出てこないことがあ
《セクション 2 . 2 ウェブ情報を記録する製品》
インタ一ネッ卜のウェブ情報を取り込み、 必要な期間保存する製品が販売されて いる。 以下の製品名はそれぞれ各社の登録商標である。 AI ソフト社が販売しているゥ エブヮッ力一 (WeBWacker) はプロキシウェブサーバ一 (以下単にプロキシ) をベース とした製品であり、 エンドユーザ一が指定するインターネット情報を、 エンドユーザ 一が指定するデータベースに記録する: 口一タス社が販売しているウェブリケーター
(WeBl icator)、 アスキーサムシングダッ ト社の発売するインターネットニンジャ 2
(Internet Ninja2) もほぼ同じ機能である。
ブラウザはサーバーに対して じ RL で指定された情報を要求する。 ブラウザのプロ パティにプロキシが指定されていれば、 この要求はそのプロキシに送られる。 プロキ シはこの要求を分析し、 自分のキャッシュに有効な情報があれば、 その情報をブラウ ザに送る。 有効な情報がなければ、 ァロキシからサーバーに要求を出す。
このプロキシの動作を利用して、 オペレータが指定したホームページの情報をォ ベレータが指定したデータベースに記録するのが、 上記の製品である。 ブラウザから 見ると、 これらの製品はブロキシとして動作しているので、 疑似プロキシとも呼ばれ る。 しかし、 データべ一スには取り込んだ時点の最新のウェブ情報が記録されるだけ
であり、 古いウェブ情報も残して変更履歴を管理する機能は無い。
《セクション 3 変更履歴の必要性》
インターネッ 卜の情報は常に変化するが、 最新の情報のみだけでなく過去の情報 も記録しておきたい場合がある。 たとえば、 特許出願に関して類似技術に言及する場 合は、 その優先日より前に公開された技術情報が必要である。 特許出願時点でインタ —ネットに公開されている技術を参考にして、 出願特許の進歩性を記述し、 参考のた めにその URLを明細書に記載しておいても、一般の人が明細書を読む時点では、その URL の先のウェブ情報が削除されたり、 内容が更新されている事が多い。 現実的な方策は プリントァゥトして保管しておくことである力 せっかくデジタル化されていた情報 が紙に記録され、 デジタル情報ならば可能であった計算機による能率の良い検索は不 可能になる。
常に変化する膨大なゥュブ情報から、 注目する部分の情報をその変化も含めて記 録する方法が必要とされている。 また、 従来のブラウザまたは上記のウェブ情報を記 録する製品では、 最新の情報でェンドユーザーが記録している古い情報を上書きして しまうので、 変化する途中の情報まで記録する事は出来ない。 ブラウザ (およびプロ キシ) は最新の情報を表示する事を目的として発展してきた技術であるので、 これは 当然のことと言える。 ちなみに、 ブラウザに表示する情報は URL で指定され、 変更履 歴を取り扱う指示を与える余地はない: これは、 HTML言語仕様の問題でもある。
《セクション 4 履歴管理の従来技術》
従来から履歴管理は様々な物を対象として行われてきた。 UNIX の history コマン ドにより、 オペレータが打ち込んだコマンドの履歴を見る事ができ、 そのなかから必 要なコマンドを選んで再実行する事ができる: 履歴管理の対象が、 時系列上に一列に 並んでいるので、 履歴管理の仕掛けは比較的簡単である。
ところがウェブ情報は相互に関係してネットワーク型の関係を構成しており、 こ のネットワークの様々な個所が刻一刻と変化する様子を記録し、 必要に応じて再現す るのは容易な事では無い。 なお、 ブラウザは、 画面に表示したファイルを記録し、 「戻
る」 「進む」 ボタンで画面に再表示する事ができるが、 これは、 表示時画面の指定を画 面に表示した順で一列に記録する事により実現されており、 従来の技術の延長上にあ る。 発明の開示
《セクション 5 用語の定義》
《セクション 5 . 1 ブラウザが极ぅ情報》
【 ウェブ情報 】 ブラウザはインターネットやイントラネットを通じてアクセス される情報を閲覧するために使われるが、 これ以外の情報を閲覧する事も出来る。 た とえば膨大な技術情報を C D— R O Mで配布し、 その情報をブラウザで閲覧する事が おこなわれている。 本発明の方法または装置が対象とする情報は、 ネットワーク型の 相互関係をたどり表示するブラウザ、 または類似の機能のソフトウエアで取り扱い可 能な情報を対象としている。 本明細書ではこれらの情報を 「ウェブ情報」 と呼ぶ。 ゥ エブ情報を記録したファイルを 【 ゥヱブ情報ファイル 】 と呼ぶ。 ウェブ情報フアイ ルは次に定義する表示点ファイルと素材ファイルに分類する事が出来る。
【 表示点ファイル 】 従来は HTML ファイルが主流であったインターネッ卜の情報 の記述方法も、 ActiveXコントル一ルゃ Javaアップレツ ト付きの HTMLファイル、 ActiveX ドキュメント、 などに拡張されてきた。 これらウェブブラウザの画面に表示され、 画 像、 音声、 動画などのファイルを参照するファイルを、 本明細書では 「表示点フアイ ル」 (Browsing Point Fi les) と呼ぶ。 表示点ファイルから別の表示点ファイルへの移 動の指定は HTML言語の HREF指定に加え、 Visual Basic 言語の NavigateTo コマンド などで指定することができる。
【 素材ファイル 】 表示点ファイルから参照される Java アップレツ ト、 ActiveX コンポーネント、 画像ファイル、 音声ファイル、 動画ファイルなどを本明細書では 「素 材ファイル」 (Material Files) と呼ぶ。
HTML ファイルは表示点ファイルであるが、 フレームの構成要素として指定された 場合には素材ファイルとして扱われる。 本明細書の多くの記述では、 表示点ファイル と素材ファイルは異なるものと仮定して説明を単純にしているが、 セクション 9. 1 で
は素材ファイルとして扱われる HTML ファイル (表示点ファイル) の取り扱いについて 説明する。
《セクション 5 . 2 ウェブ情報ファイルの原本とその記録》
ブラウザに表示する情報の原本はインタ一ネット上でサーバーとして動作する計 算機にある。 これを 【 ウェブ情報ファイル原本 】 と呼ぶ。 複数のウェブ情報フアイ ル原本で構成される情報のかたまりを単に 【 ゥュブ情報原本 】 と呼ぶ。 ウェブ情報 を表示点ファイルに限定した時のウェブ情報ファイル原本を 【 表示点ファイル原本 】、 ウェブ情報を素材ファイルに限定した時のウェブ情報ファイル原本の指定を 【 素材フ アイル原本 】 と呼ぶ。
ウェブ情報ファイル原本の存在場所の指定は、 通常 URL による。 これはインター ネット上での計算機 (サーバー) の指定、 とその計算機の中でのウェブ情報ファイル のパスとの組み合わせで構成される。 ゥェブ情報ファィル原本の存在場所を指定する 情報を 【 ウェブ情報ファイル原本の指定 】 と呼ぶ。 ウェブ情報を表示点ファイルに 限定した時のウェブ情報ファイル原本の指定を 【 表示点ファイル原本の指定 】 と呼 ぶ。 ウェブ情報を素材ファイルに限定した時のウェブ情報ファイル原本の指定を 【 素 材ファイル原本の指定 】 と呼ぶ
HTML言語仕様や従来のブラウザのマニュアルでは、 ウェブ情報の原本とそのコピ —としてブラウザに表示される情報とを区別せず、 し: RLで表現している。 ブラウザの目 的は、 可能な限りの最新の情報を表示することにあるので、 原本とそのコピーを区別 する事に重要な意味はなかった。 しかし、 本発明では、 ウェブ情報の変更履歴を极ぅ 事から、 「原本」 とそのコピーである 「記録」 を明確に区別する必要がある。
ウェブ情報ファイル原本のコピーをエンドユーザ一計算機に記録したものが 【 ゥ エブ情報ファイル記録 】 である。 あるウェブ情報ファイル原本が何度か更新され、 そ の変更履歴としてウェブ情報ファイル記録が、 あるひとつのェンドユーザー計算機の 内部に複数作成される事があるので、 それそれの記録を識別する必要がある。 個々の ウェブ情報ファイル記録を特定する情報が、 【 ウェブ情報ファイル記録の指定 】 であ る。 ェンドユーザー計算機内のファイルパスでこれらの記録を指定する事ができる。
また、 エンドユーザー計算機内部のデータベースの指定と、 そのデータベースの中で 特定の情報を指定するキーにより、 これらの記録を指定する事もできる。 複数のゥェ ブ情報ファイル記録で構成される情報のかたまりを単に 【 ウェブ情報記録 】 と呼ぶ。
エンドユーザー (またはブラウザに表示中の HTML ファイル) からブラウザに 「ゥ エブ情報ファイル原本の指定」 が与えられると、 ウェブ情報ファイル原本の内容がィ ンタ一ネットを介してブラウザに伝えられ、 そのコピーがキャッシュに記録される。 ブラウザはゥヱブ情報ファイル原本の指定である URL をキ一としてキャッシュ内部を 検索し、 キャッシュに記録されたコヒ一としてのファイルを特定する。 この場合は 「キ ャッシュの指定 +ウェブ情報ファイル原本の指定」 、 「ウェブ情報ファイル記録の指 定」 に相当する。
ウェブ情報ファイル記録の作成時に、 記録する先のディレク トリまたはデータべ —スを切り替える事により、 複数のウェブ情報ファイル記録を識別する事が出来る。 複数のゥ ブ情報フアイル記録が同じファイル名で記録されても、 フアイルが収容さ れるディレクトリが異なれば、 ディレクトリまで含めたパスで識別可能である。 また、 個々の記録ファイルを識別する符号や番号を付けて一つのデータベースのなかで管理 して識別することも出来る。
表示点ファイルに限定した時のウェブ情報ファイル記録の指定を 【 表示点フアイ ル記録の指定 】 と呼ぶ。 素材ファイルに限定した時のウェブ情報ファイル記録の指定 を【 素材ファイル記録の指定 】と呼ぶ: ウェブ情報ファイル記録を表示する事が、【 ゥ エブ情報の変更履歴の表示 】 である:
《セクション 5 . 3 その他の用語》
エンドユーザーの指示に基づき、 ウェブ情報ファイル記録を作成する、 またはゥ エブ情報ファイル記録を表示する計算機を、 単に 【 エンドユーザー計算機 】 と呼ぶ。 ゥェブ情報ファィル原本を保持してェンドユーザー計算機にこの情報を提供する計算 機は一般にウェブサーバーと呼ばれるが、 本明細書では単に 【 サーバー 】 と呼ぶ。
《セクション 6 方法 A》
ウェブ情報をエンドユーザ一計算機に記録する製品 (セクション 2. 2) を利用し、 記録する時点毎にデータべ一スを取り替えれば、 ゥェブ情報ファィルの複数の記録を 残す事ができる。 しかし、 「どの部分が変化しているかを特定するのが困難」、 「記録対 象のウェブ情報のなかで、 たとえその一部が変更されている場合でも、 記録対象の情 報すベてを指定の時点毎に記録し保持するので、 メモリを大量に消費する」 との問題 がある。
これを解決するのが以下に説明する方法 Aである。 簡単に言えば、 方法 A は、 変 更のあった表示点フアイルゃ素材ファイルをウェブ情報フアイル記録としてエンドュ —ザ一計算機に記録するとともに、 その変更履歴を表示するための情報を記録情報に 加える方法である。 一度記録すれば、 変更履歴を通常のブラウザで見る事ができる点 に特長がある。 方法 A は計算機のァログラム (セクション 10) として実現する事が出 来る。
変更履歴を記録する手順を、 例を用いて以下に説明する。 この例では、 ウェブ情 報をエンドユーザの計算機に最初に取り込んだ時点を T0、 その後の修正情報を取り込 んだ時点をそれぞれ時系列順に、 Tl、 Τ2、 Τ3、 Τ4 とする。 これを図 1 (a) に示す。 ま た、 表示点ファイルの例として HTML ファイルを、 素材ファイルの例として画像フアイ ルを想定している。
《セクション 6 . 1 変更履歴の記録》
《セクション 6 . 1 . 1 最初に取り込んだウェブ情報の構成》
TO 時点でエンドユーザーの計算機に取り込んだウェブ情報記録の構成を図 1 (b) に示す。 HTMLフアイノレ Aの記録 101から HTMLフアイノレ Bの記録 102と HTMLファイル Cの記録 103に、 HREFで移動可能で、 HTMLファイル Bの記録 102は画像ファイル Xの 記録 104と画像ファイル Yの記録 105を参照し、 HTMLファイル Cの記録 103からは画 像ファイル Y の記録 105 を参照している。 これらのウェブ情報ファイル記録は、 ゥェ ブ情報フアイル原本の関係を忠実に再現している c
《セクション 6. 1. 2 画像ファイル Xの変更その 1》
図 1 (a) に示す様に、 TO時点と T1 時点の間に、 サーバ一側で画-像ファイル Xが 変更され、 T1 時点でその情報をエンドユーザー計算機に取り込んだとする。 エンドュ —ザ一計算機に記録されたウェブ情報記録の構成を図 1 (c) に示す: 図 1 (c) では識 別のため、 TO時点で作成した画像ファイル Xの記録を X[0] 111、 Π時点で作成した画 像ファイル Xの記録を X[l] 112と表わしている。 X[0] 111、 X[l] 112は、 それぞれゥ エブ情報ファイル記録の指定である。 ウェブ情報ファイル記録の指定として、 それぞ れ異なるファイル名を利用しても良いし、 同じ名前で記録するディレク トリを変えて 識別しても良い。
HTMLファイル Bの記録からの参照先である画像ファイル)(が X[0] 111、 X[l] 112 と変化するのに伴ない、 ェンドユーザー計算機に記録された HTML ファイル Bの記録も B[0] 108、 B[l] 109 と変ィ匕させる。 つまりエンドユーザーの計算機のなかに、 TO 時点 の HTMLファイル Bの記録である B[0] 108と T1時点の HTMLファイル Bの記録である B[l] 109が記録として存在する。これらには、参照する先の画像ファイル Xの記録が X[0] 111 である力 \ X[l] 112である力、 の違いがある。 B[l] 109をウェブブラウザで開けば T1 時点で取り込んだ X[l] 112が表示され、 B[0] 108をウェブブラウザで開けば X[0] 111 が表示される。 B[0] 108から B[l] 109への移動を HREFで B[0] 108に記述し、 その逆 の移動を HREFで B[l] 109に記述すれば、 ウェブブラゥザでこれらの HREFで記述され たハイパーリンクをたどり、 変化の様子を見る事ができる。
図 1の例では、 画像ファイル Xを参照するのが HTMLファイル Bのみであつたが、 実際には一つの素材ファイルが複数の表示点ファイルから参照されている事がある。 従って更新された素材ファイルをェンドユーザ一計算機に記録として取り込むたびに、 記録してあるすベての HTML ファイルを調査して、 問題の素材ファイル (上記の例では 画像ファイル X) を参照する HTMLファイルの記録をすベて見つけ出し、 上記の HTMLフ アイル B と同様に、 複製を作成し相互に移動する HREFを書き込むと共に、 参照先の素 材ファイル記録の指定を書き換える必要がある。
《セクション 6. 1. 3 HTMLファイル Bの修正》
図 1 (a) に示す様に、 T1時点と T2時点の間にサ一バーで HTMLファイル Bが変更 され、 T2 時点でその情報をエンドユーザー計算機に取り込んだとする: 図 2 では識另リ のため、 新たに作成した HTMLファイル B記録を B[2] 206と表わす:
《セクション 6. 1. 4 画像ファイル Xの変更その 2》
図 1 (a) に示す様に、 T2時点と T3時点の間にサーバーで画像ファイル Xを再度 変更し、 T3 時点でその情報をエンドユーザー計算機に取り込んだとする。 新たに作成 した画像ファイル Xの記録を X[3] 213とする: HTMLファイル Bは変更のあった画像フ アイル Xを参照しているので、 HTMLファイル Bの記録も新たに B[3] 207と変化させる 必要があるので、 新たに B[3] 207を作成する。 B[l] 205、 B[2] 206は X[l] 212を参 照するのに対して、 B[3] 207は X[3] 213を参照する。
セクション 6.1.2 の後半で述べた様に、 実際にはひとつの素材ファイルが複数の 表示点フアイルから参照されていることがあるので、 修正された素材ファィルの記録 を新規に作成するたびに、 すべての表示点ファイル記録を調査して問題の素材フアイ ル (上記の例では画像ファイル X) を参照する表示点ファイル記録を見つけ出し、 以上 でのべた HTMLファイル Bに対するのと同じ操作を行う必要がある。
《セクション 6. 1. 5 画像ファイル Yの変更》
図 1 (a) に示す様に、 T3時点と T4時点の間にサーバーで画像ファイル Y を変更 し、 T4 時点でその情報をエンドユーザー計算機に取り込んだとする., 識別のため、 最 初に作成した画像ファイル Yの記録を Y[0] 209、 Τ4時点で作成した画像ファイル Υの 記録 Υ[4] 210とする。 いままで Υ[0] 209を参照していた Β[0] 204、 B[l] 205、 Β[2] 206、 Β[3] 207と C [0] 202に加え、 新たな Y[4] 210を参照する Β[4] 208と C [4] 203を新 規に記録として作成する。
以上、 セクション 6.1.1 から本セクションまでの処理の結果として、 エンドユー ザ一計算機の中に構成された Τ4時点でのウェブ情報記録の構成が図 2である。
《セクション 6. 2 最新および変更履歴の表示》
図 2の HTMLファイル Aの記録 201から HREFで飛ぶ先は、 B[4] 208、および C[4] 203 であり、 これらは最新の素材ファイルを参照する最新の表示点ファイルである。
ブラウザで図 2の B[4] 208から B[3] 207に移ると Y[4] 210への参照が Υ[0] 209 に変わる。 Β[3] 207から Β[2] 206に移ると、 X [3] 213への参照が X[l] 212に変わ る.: Β[2] 206から B[l] 205に移ると、 参照する画像ファイルの記録に変化はないが、 T1時点と Τ2時点の間にサーバーで HTML ファイル Bに対して行われた変更の前の状態 を表示する事が出来る。 B[l] 205から B[0] 204に移ると、 X [1] 212への参照が X[0] 211に変わる。
この様にして、 ブラウザで最新の HTML ファイルの記録である B[4] 208 から過去 の記録への HREF をたどる事により、 過去のウェブ情報の記録をひとつづつさかのぼる 事が出来る。 また、 最も古い HTML ファイルの記録である B[0] 204 力 ら新しい記録へ の HREF をブラゥザでたどる事により、 時間とともに変化していくゥヱブ情報の様子を 表示する事ができる。
ウェブ情報ファイルが削除された場合にそのゥヱブ情報フアイル記録を見るには、 その記録にブラウザのブックマ一クを付けておき、 そのブックマークを手がかりに記 録を表示する。 このウェブ情報ファイル記録への参照または移動が記録された別の表 示点ファイルを先に表示し、 そこから表示することもできる。 また、 ウェブ情報ファ ィル記録をデータベースに収容し、 そのインデックスからウェブ情報フアイル記録を 表示する事もできる。
《セクション 6. 3 方法 Aの特徴》
方法 Aにより作成されたウェブ情報ファイル記録 (例えば図 2) があれば、 これを 元にウェブ情報の変更履歴を表示する作業は通常のブラウザで十分である。 方法 A の 特徴はウェブ情報ファイル記録を作成する手順、 およびその結果として作成されるデ ータ構造にある。 その要点は以下の 3点である:
( 1 ) 新規の記録対象のウェブ情報ファイルと判定した場合、 またはそれまでのゥェ ブ情報フアイル記録と比べて変化があると判定した場合、 エンドユーザー計算機はゥ
エブ情報ファイル記録を新たに作成する。 この記録操作を 【 単純記録 】 と呼ぶ。
( 2 ) 素材ファイルの単純記録に付随して、 その素材ファイルを参照'している表示点 ファイルについても、 新たに単純記録された素材ファイル記録への参照の変更を、 表 示点ファイルの変更履歴として単純記録する。
( 3 ) 参照先の素材ファイル記録の変化、 および表示点ファイル記録自体の変化を記 録する表示点ファイル記録の間を移動する (HREF) リンクを設定する。
上記 (1 ) により単純記録された表示点ファイルの例が、 B [0] 204、 B [2] 206 お よび C [0] 202 である。 上記 (2 ) により単純記録された表示点ファイルの例が、 画像 ファイル Xの変更その 1 に対応した B [l] 205、 画像ファイル Xの変更その 2に対応し た B [3] 207、 画像ファイル Yの変更に対応した B [4〗 208と C [4] 203である。
「ェンドユーザー計算機がウェブ情報ファイルの変化を検出した時に、 そのファ ィルの記録を単純記録として新たに作成するとともに、 その単純記録に参照を切り替 えた HTML ファイルの記録を新たに作成する」 処理が方法 Aの特長である。 「参照元の HTML ファイルに何ら変更は無いのにもかかわらず、 HTML ファイルの記録を新たに作成 する」 事が、 従来技術の単純な延長とは言えない点である。
方法 Aの詳細は、 セクション 10において説明する。
《セクション 6 . 4 方法 Aの長所と短所》
方法 Aは、 ェンドユーザ計算機にウェブ情報の変更履歴を記録しその変更の様子 を簡単に見る事ができるので、 従来の方法 (セクション 2) に比べ大きく進歩している。 しかし、 複雑なウェブ情報の変更履歴を作成する必要がある。 図 1 の (a) (b) の条件 が単純であるにもかかわらず、 その変更履歴を管理する図 2 はかなり複雑である。 よ り現実的な条件では、 そのゥェブ情報の変更履歴を管理する情報の構成は極めて複雑 になる。
また先に (セクション 6. 1. 2およびセクション 6. 1. 4の後半で)説明した様に、 「新 たな単純記録がある度に、 ェンドユーザー計算機が保持するすべての表示点ファイル 記録を調査して、 問題のファイルを参照する表示点ファイル記録を見つけ出し、 セク シヨン 6. 1. 2 の後半に説明した処理」 を行う必要がある。 表示点ファイル記録が多く
なると、 この処理量も多くなる。 ウェブ情報ファイ の変更が検出される毎に、 これ らの処理が実行され、 計算機のレスポンスが遅くなる問題が生じる。 ·
《セクション 7 方法 Bの概要》
方法 A の短所を解決するのが、 以下に説明する方法 Bである。 方法 B を簡単に表 現すると 「表示点ファイルの参照先および移動先のウェブ情報ファイルを、 表示時点 の指定に合わせて選択して、 ブラウザに通知する方法」 である。 まず方法 B の主要な 処理をブロキシで実現する形態を例に、 方法 B を説明する。 このプロキシを 【 B プロ キシ 】 と呼ぶ。 本セクションでは Bブロキシの概要を説明し、 セクション 8では Bプ 口キシの処理の詳細を説明する 二こでは、 B ブロキシを計算機ブログラムとして実現 する形態を想定している。 方法 B の様々な実施形態についてはセクション 9 で説明す る。
《セクション 7 . 1 Bプロキシによる方法 Bの実現》
図 3のブラゥザ 301は Bプロキシ 303と通信し、 Bプロキシ 303がインターネット 307 と通信する。 ブラウザ 301は、 ウェブ情報の変更履歴を扱う機能は何ら付カ卩されて いない従来のブラウザとする: また、 ブラウザ 301 が扱うウェブ情報ファイルは従来 の HTML仕様 (HTML 3 . 0 ) に従い、 変更履歴を管理する特殊な情報は何ら付加されて いないものとする。
ウェブ情報ファイルの変更履歴を記録し、 また変更履歴としてのウェブ情報ファ ィル記録のなかからオペレータの要求に応じて適切なウェブ情報フアイル記録を取り 出し提供する作業は、 Bブロキシ 303が行う。 ウェブ情報の変更履歴管理の処理を Bプ 口キシが行い、 適切にブラウザ 301 を 「だます」 二とにより、 特定の時点のウェブ情 報フアイル記録をブラゥザに表示する:
《セクション 7 . 2 更新履歴管理情報の全体構成》
図 1 (a) (b) の条件で、 方法 B により作成したウェブ情報記録の概要構成を図 4 に示す。 HTMLファイル Aの記録 401から HREFでたどれる HTMLファイルの記録である
B[2 403 と C[4] 402は最新、 つまり T4時点以降の HTML ファイルの記録であり、 こ れらから参照される画像ファイルの記録 X [3] 409 と Y[4] 406も最新である。
Β[2] 403には HTML ファイル B用履歴管理ファイル 404が対応し、 このファイル の内容から変更の履歴として記録されている B[0: 405を特定する事ができる。 図 2で は、 画像ファイル Xと Yの変更に対応して、 B[0] 204、 B[l] 205、 B[2] 206、 B[3] 207、 B[4] 208が存在していた。 一方図 4では、 最初に取り込んだ HTMLファイルの記録 B[0] 405 と HTMLファイル B自体の変更 (セクション 6.1.3) に由来する B[2] 403のみが存 在する。
X[3] 409には画像ファイル X用履歴管理ファイル 410が対応し、 このファイルの 内容から変更の履歴として記録されている X[l: 411 と X[0] 412 を特定する事ができ る。 図 2 では、 画像ファイル Xの変更履歴として記録された画像ファイル X[0] 211、 X[l] 212、 X[3] 213 の間にこれらを関連付ける情報は設定されていないが、 図 4 で は、 最新の画像ファイル記録である X [3] 409 とその変更履歴として管理されている X [0] 412 と X[l] 411 が画像ファイル X用履歴管理ファイル 410を介して結びつけられ ている。
同様に Y[4] 406には、 画像ファイル Υ用履歴管理ファイル 407が対応し、 この内 容から変更の履歴として記録されている Υ[0] 408を特定する事ができる。
HTMLファイル Β用履歴管理ファイル 404、画像ファイル X用履歴管理ファイル 410、 画像ファイル Y用履歴管理ファイル 407、 を一つのデータベースとしてまとめたのが、 図 3の変更履歴データベース 304 である。 最新のウェブ情報ファイル記録に対応する 履歴管理ファイルへのアクセスは、 ウェブ情報フマイル原本を指定する情報 (例えば URL) をキーとしてデータベースに問い合わせる事により実現される。
《セクション 7. 3 Bフ :口キシの動作概要》
図 3を用いて Bブロキシの動作の概要を説明する。 Bプロキシが動作を開始すると、 変更履歴管理メニュー 308 が計算機の画面に現れる: ある表示点ファイル (URL=XY Z) を指定した要求がブラウザ 301から Bブロキシ 303に渡されると、 Bプロキシ 303 は通常のプロキシと同じ動作を行う: つまり、 指定された URL の有効な情報がキヤッ
シュデータベース 305 にあればそれをブラウザ 301 に提供する。 無ければ、 インタ一 ネット (または別のプロキシ)にその情報を要求し受信し、キャッシュデータベース 305 に記録して、 コピーをブラウザ 301に提供する:
へージ記録ボタン 309 が押された場合、 その時点でブラウザ 301 に表示中の表示 点フアイルぉよびこれから参照されている素材フアイルが変更履歴データベース 304 に記録される。 連続記録ボタン 310 がオンになっている間は、 ブラウザに表示される ウェブ情報ファイルすべてが変更履歴データベース 304 に記録される。 変更履歴のボ タン 311 が押されると、 その時点でブラウザ 301 に表示中の表示点ファイルおよびこ れから参照されている素材ファイルの変更履歴が変更履歴画面 306に表示される。
図 1 (a) に示したウェブ情報の変更とその取り込みが行われ、 図 4 のウェブ情報 記録が作成されとする。 B [2] がブラウザ 301 に表示されている時に変更履歴のボタ ン 31 1が押された場合に、 変更履歴画面 306に表示される内容を図 5に示す。
図 5 の時間軸は下から上に流れ、 ファイルの取り込み時刻 (ウェブ情報ファイル 記録の作成時刻) が TOから T4 まで並んでいる。 下から上に流れる 3本の時間軸は、 左から、 HTMLファイル B 501、 画像ファイル X 502、 画像ファイル Y 503に対応してい る:. 図 5の B [0] 504の左側の線は 「TO時点で記録した B [0]は、 TO時点から次の更新 ファイルを取り込んだ T2時点の直前まで有効である」ことを示している。図 7の B [2] 505 の左側の線は 「T2時点で記録した B :2]は、 T2時点から以降 (次の情報更新が検出され るまで) 有効である」 ことを示している。 同様に、 X [0] 506は TO時点から T1時点の 直前まで有効、 X [ l ] 507は T1時点から T3時点の直前まで有効、 X [3] 508は T3時 点以降有効、 である事を示している: また、 Y [0] 509は TO時点から T4時点の直前ま で有効、 Y [4] 510は Τ4時点以降有効、 である事を示している。
図 5の時間軸に沿って一つの時点、 たとえば T1 と Τ2 の間の時点をオペレータが 選択したとする。 この後、 ブラウザ 301から Βフロキシ 303に対して HTMLファイル Β の要求があれば、 Bプロキシ 303は指定された時点に対応する HTMLファイル Bの記録、 つまり B [0] 504を提供する: 引き続いてブラウザ 301は Bプロキシ 303に対して画像 ファイル Xと画像ファイル Yを要求する。 これに対して Bプロキシ 303は X [ l ] 507 と Y [0] 509をブラウザ 301 に提供する。 以上の手順で、 指定された T1 と Τ2の間の時点
に対応する HTMLファイル Bの内容がブラウザ 301に正確に表示される。
なお、 HTML ファイル Bを表示中のブラウザ 301 の 「更新」 ボタンを押す事により ブラウザ 301から Bプロキシ 303に対して HTMLフアイノレ Bの要求が出るので、 以上の 手順が起動される。 また、 HTMLファイル Bを指定して新たなブラウザを立ち上げれば、 このブラゥザから Bプロキシ 303に対して HTMLファイル Bの要求が出るので、 以上の 手順が起動される。
《セクション 7 . 5 方法 Bの長所その 1》
方法 B のウェブ情報ファイル記録を作成する処理の特長は、 「ウェブ情報ファイル 毎に変更履歴を独立して管理する」 点にあり、 方法 A にくらべ、 変更履歴を記録する 処理は単純になっている。
一方、 方法 B の変更履歴表示処理の特長は 「特定の時点が指定されると、 ブラウ ザからのゥェブ情報ファィルの要求に対して、 指定された時点に対応するゥェブ情報 ファイル記録を提供する」 点にある。 つまり、 ウェブ情報ファイルの相互関係はブラ ゥザの方で管理していて、 方法 B自体はウェブ情報ファイルの相互関係を管理しない。 変更履歴を表現するために必要な表示点ファイルや HREF リンクを作成する方法 A とこ の点で大きく異なる。
「Bプロキシ 303がブラゥザ 301を適切にだます事により、 ウェブ情報の記録をブ ラウザに表示する」 とも言える: ウェブ情報ファイルを記述する HTML仕様に変更履歴 を管理する情報を加える余地が無く、 従来のブラゥザには変更履歴を管理する機能が 無い状況において、 特定の時点のゥュブ情報記録を表示するためには、 この適切に 「だ ます」 手法が役に立つ。
方法 Bの詳細については、 セクション 8でさらに説明し、 方法 Bの長所について もさらに考察する。 図面の簡単な説明
図 1 は 「ウェブ情報フ ィル原本の更新のスケジュール例とウェブ情報記録の構 成」 である。
図 2は 「ウェブ情報記録の最終構成」 である。
図 3は 「Bブ口キシの概要構成と、 ブラウザおよびインターネットまたはプロキシ との関係」 である。
図 4は 「ウェブ情報記録の概要構成」 である c
図 5は 「変更履歴画面の例」 である。
図 6は 「Bプロキシのプロクラム構成」 である c
図 7は 「履歴管理ファイルと取り込み管理ファイルの構成」 である。
図 8は 「ファイル提供処理その 1」 である。
図 9は 「ファイル提供処理その 2」 である。
図 10は 「変更履歴記録処理」 である。
図 11 は 「ウェブ情報ファイル原本のコピーを指定した変更履歴データベースへの 記録処理」 である。
図 12は 「変更履歴表示処理」 である。
" 図 13は 「履歴情報書き出し処理」 である。
図 14は 「フレーム構成例と Bプロキシ内ワーク変数の状態」 である。
図 15は 「フレーム画面対応の変更履歴管理処理その 1」 である。
図 16は 「フレーム画面対応の変更履歴管理処理その 2」 である。
図 17は 「変更履歴管理バーのブラゥザへの表示と Bプロキシの手順」 である- 図 18は 「フレームによる変更履歴管理インタフェースの実現の仕掛け」 である。 図 19は 「特殊サーバー名リス ト、 特殊ファイル名リス トとその処理」 である。 図 20は 「ブラウザに表示された変更履歴管理の動作」 である。
図 21は 「該当無しファイルの記録処理」 である:
図 22は 「Bブロキシ実現した装置」 である。
図 23は 「Aブ口キシの動作その 1」 である:
図 24は 「Aブ口キシの動作その 2」 である: 発明を実施するための最良の形態
《セクション 8 方法 Bの詳細》
《セクション 8 . 1 Bプロキシのブログラム構成》 -
B プロキシのブロクラム構成を図 6に示す: 図 6の一部の処理ステップの右上にあ る黒の三角マ一クは、 別の図面にこの処理ステツブの詳細が記載されている事を示す。 図 9、 図 10および図 12の黒の三角マークも同じ意味である。 また、 図 6の下半分に B ブロキシが使用する代表的なワーク変数を示す:
Bプロキシは 「ブラウザ 301、 変更履歴管理メニュー 308、 変更履歴画面 306から の要求検出と分析」 601 を行い、 要求に対応した処理を起動する。 ブラウザからウェブ 情報ファイル要求があると 「ファイル提供処理を起動」 606する。 この処理の詳細をセ クシヨン 8. 4に示す: 連続記録ボタン 310が押されてオン状態になると、 「連続取込み 指定」 と解釈して 「連続取込み変数 613をオンにする」 602。 連続記録ボタン 310がォ フ状態になると、 「連続取込み解除」 と解釈して 「連続取込み変数 613 をオフにする」 603。 ページ記録ボタン 309 が押されると、 「記録指示」 と解釈して 「変更履歴記録処 理を起動」 609する。 この処理の詳細をセクション 8· 5に示す。 変更履歴ボタン 311が 押されオンになると、 「変更履歴要求」 と解釈し 「変更履歴表示処理を起動」 610する。 この処理の詳細をセクション 8. 6 に示す。 この処理により、 変更履歴画面 306 が表示 される。 この画面でオペレータが特定の表示時点を指定すると、 「履歴表示時刻指定」 と解釈し、 「表示時刻変数 612を設定する」 604処理を行い、 「最新表示点ファイル変数 614 から表示点ファイル (原本/記録) の指定を取り出す」 605 処理を行い、 「フアイ ル提供処理を起動」 606する。 表示時刻変数 612は特定の時点を指定する他に、 その時 点の直前または直後の指定もできる: 図 5 の状況では特定の時点の直前の指定は意味 を持つ。 変更履歴ボタン 311 がオフになると、 「表示時刻解除」 と判定し 「変更履歴画 面 306を閉じ」 607、 「表示時刻変数 612をクリアする」 608。
ファイル提供処理の詳細をセクション 8. 4 に、 変更履歴記録処理の詳細をセクシ ヨン 8. 5 に、 変更履歴表示処理の詳細をセクション 8. 6 に示すが、 その前にまず、 こ れらの処理でアクセスする履歴管理ファイルと取り込み管理ファイルについてセクシ ヨン 8. 2とセクション 8. 3で説明する-:
《セクション 8 . 2 履歴管理フ了ィルの構成》
更新履歴管理情報の全体構成についてシヨン 7. 2 で説明した。 本セクションでは 画像ファイル Xに対する履歴管理フマイルを例に、 履歴管理ファイルの構成を図 7 (a) を用いて説明する。 画像ファイル Xの履歴管理ファイルが画像ファイル X用履歴管理 ファイル 702である 図 1 (および図 4) の条件では、 最新 (T4以降) の画像ファイル Xの記録は X [3]であるので、 図 7 の X用履歴管理ファイル 702は X [3] 701 と対応し ている。 ウェブ情報ファイル原本が削除された場合には、 削除された事を表示する記 録に履歴管理ファイルが対応する: 削除の場合の詳細については、 セクション 8. 9 で 説明する。
画像ファイル X用履歴管理ファイル 702にはまず画像ファイル Xの原本の指定 703 が記入される。 インターネットならば、 サーバーの指定とサーバー内のファイルのパ スが原本の指定、 つまり原本の所在場所、 を表わす:. URL から、 hup などのプロトコ ルの指定、 ポートの指定を取り除いた部分がこれに相当する。 一般に履歴管理フアイ ル 712 はウェブ情報ファイル記録 721 に対応する。 この中には 「ウェブ情報ファイル 原本の指定」 713が有り、 これは 「画像ファイル Xの指定」 703に相当する。
画像ファイル X用履歴管理ファイル 702 には、 画像ファイル Xの記録それぞれに 対応する 「取り込み管理ファイル」 が記録される: 図 7 では、 X [3]用の取り込み管理 ファイル 704、 X [l ]用の取り込み管理ファイル 705、 X [0]用の取り込み管理ファイル 706 i (最新から古いものへの) 順番に記録されている。 一般に、 履歴管理ファイル 712 には 「ウェブ情報ファイル記録の取込み管理ファイル」 が最新から古いものへの順 番に記録されている。 これら 「n番目のウェブ情報ファイル記録の取込み管理ファイル」 714から 「1番目のウェブ情報ファイル記録の取込み管理ファイル」 715力 X [3]用の 取り込み管理フアイル 704から X [0]用の取り込み管理フアイル 706に対応する。
《セクション 8 . 3 取り込み管理ファイルの構成》
X [l]用の取り込み管理ファイルを例に、 取り込み管理ファイルの構成を図 7 (b) を用いて説明する。 X [l]用の取り込み管理ファイル 707 には、 取り込んだウェブ情報 ファイル記録の (エンドユーザ一計算機内の) 記録場所の指定である 「X [1]の指定」
708 がある。 また 「取り込み時刻」 709 または 「画像ファイル X原本の最終修正時刻」 710 を記録する。 ウェブ情報ファイル原本の最終修正時刻は、 H T T Pヘッダーとして サーバーから送られてくる し ast - Modi fied フィールドの値から取得する事が出来る。 取込み管理ファイルの一般的な構造を 「取込み管理フマイル」 716 に示す。 「ウェブ情 報ファイル記録の指定」 717 力; 「X [1 ::の指定」 708 に対応し、 「ウェブ情報ファイル原 本の最終修正時刻」 719が、 「画像ファイル X原本の最終修正時刻」 710に対応する。
ウェブ情報の変更履歴管理のためには、 すべての取込み管理ファイルに 「取り込 み時刻」 718 がある力、 またはすベての取込み管理ファイルに 「ウェブ情報ファイル原 本ファイルの最終修正時刻」 719 がある力 \ のどちらか一方で十分である。 なお、 以下 の説明では 「取り込み時刻」 718 を用いて方法 B の手順を説明しているが、 「ウェブ情 報ファイル原本ファイルの最終修正時刻」 719を用いても同じ手順である。
《セクション 8 . 4 ファイル提供処理》
ファイル提供処理の詳細を図 8 と図 9 に示す。 ファイル提供処理では、 まず 「表 示時刻変数 612をチェック」 801する。 この変数の値は変更履歴画面 306で特定の履歴 表示時刻が指定された場合に、 図 6の 「表示時刻変数 612を設定する」 604処理で、 設 定された値である。 この変数のクリアは、 変更履歴ボタン 311 がオフになると図 6 の
「表示時刻変数 612をタリァする」 608処理で行われる: 再度、 変更履歴画面 306で特 定の時刻が指定され、 図 6の 「表示時刻変数 612を設定する」 604処理で、 上書きされ る場合もある。
「表示時刻変数 612をチヱック」 801 した結果、 表示時刻の指定が無ければ、 ブラ ゥザから最新のゥヱブ情報ファイルを要求されたと判断して、 「変更履歴データベース 304を探索」 809する処理に移る: この状況は、 表示時刻変数 612が設定されていなく て、 「ブラウザ、 変更履歴管理メニュー、 変更履歴画面からの要求検出と分析」 601で、
「ウェブ情報ファイル要求」 と判定して、 直接 「ファイル提供処理を起動」 606するケ ースに相当する。 従って、 ブラウザが要求するウェブ情報ファイル原本を指定する情 報 (URLなど) が存在する。
この情報をキーとして、 変更履歴データベース 304 を探索した結果、 対応する履
歴管理ファイル 712 が有り、 そこに取り込み管理フマイルがあれば最新の取り込み管 理ファイル 714 のウェブ情報ファイル記録の指定 717 を特定する。 これが 「最新のゥ エブ情報ファイル記録を特定」 81 1する処理である:
次にこの特定した記録の 「有効性確認」 812する: この有効性確認とは、 サーバ一 にファイルのバージョンを問い合わせるなど、 従来のブラゥザがキヤッシュ情報の有 効性を確認する処理である。 有効ならば図 9 の処理 (901 ) に移り、 「ファイル種類の チェック」 902を行う: 無効ならば図 9の別の処理 (910) に移り、 「キャッシュデータ ベース内の情報ファイル原本のコビーを特定する」 91 1 処理に移る。 先の 「変更履歴デ ータベース 304を探索」 809する処理の結果、 対応する履歴管理ファイル 712が無い時 は直接この処理に移る。
キャッシュデータベース内に該当するコピーがあれば、 その 「有効性確認」 913 の 処理を行う。 キャッシュデータベース内に該当するコピーが無い場合、 またはあって も無効である場合は、 「ゥヱブ情報フアイル原本の取り込みとキャッシュデータベース 305への収容」 915を行う。 次に、 「連続取込み変数 613をチェック」 916し、 オンなら ば 「変更履歴記録処理を起動」 918する。 この処理の詳細は次のセクションで説明する。 「連続取込み変数 613 をチヱック」 916 の結果がオフならば、 「ファイル種類のチエツ ク」 902に移る。
いずれにせよ 「変更履歴デーアベ一ス内を探索」 809 から、 図 9 「901」 へ抜ける 一連の処理で、 変更履歴データベース 304 に収容されたウェブ情報ファイル記録また はキャッシュデータベース 305 に収容されたウェブ情報ファイル原本のコピーが特定 される。
「ファイル種類のチヱック」 902 で、 ファイル種類が表示点ファイルと判明した場 合は、 まず 「最新表示点ファイル変数 614 と参照先ファイル一覧表 615をクリア」 903 し、 次に 「表示点ファイル (原本/記録) の指定を最新表示点ファイル変数 614 に記 録」 904する。
「キャッシュデータベース内のウェブ情報記録の指定を得る」 911 でこの指定が選 られた場合は、 この表示点ファイル (原本/記録) の指定は、 表示点ファイル原本の 指定である。 「変更履歴データべ一ス内を探索」 809 で変更履歴データベース 304 を探
索した結果、 対応する履歴管理ファイル 712 が有った場合、 または 「ウェブ情報ファ ィル記録の指定を取り出す」 808 ステップを通った場合は、 この表示点ファイル (原本 /記録) の指定は、 表示点ファイル記録の指定である つまり、 キャッシュのウェブ 情報ファイルを表示している場合は、 最新表示点ファイル変数 614 に表示点ファイル 原本の指定が記入され、 変更履歴データベースのゥュブ情報フアイル記録を表示して いる場合は、 この表示点ファイル記録の指定が最新表示点ファイル変数 614 に記入さ れる。
最新表示点ファイル変数 614は、 ブラウザ 30 こ表示中のウェブ情報ファイル (原 本/記録) の指定を保持し、 ベ一ジ記録ボタン 309 が押されて起動される変更履記録 処理 (セクション 8. 5) で参照される。 「ファイル種類のチェック」 902 の結果、 ファ ィル種類が素材ファイルと判明すると、 「素材ファイル (原本/記録) の指定を参照先 ファイル一覧表 615に記入」 905する。
「キャッシュデータベース内のゥヱブ情報記録の指定を得る」 911 でこの指定が選 られた場合は、 この素材ファイル (原本 Z記録) の指定は、 素材ファイル原本の指定 である。 「変更履歴データベース内を探索」 809 で変更履歴データベース 304 を探索し た結果、 対応する履歴管理ファイル 712 が有った場合、 または 「ウェブ情報ファイル 記録の指定を取り出す」 808ステツァを通った場合は、 この素材ファイル (原本 Z記録) の指定は、 素材ファイル記録の指定である。
参照先ファイル一覧表 615 に記入された素材ファイル (原本 Z記録) の指定は、 最新表示点ファイル変数 614 に記録されている表示点ファイルから参照されている素 材ファイルを示している。 この対応は、 「最新表示点ファイル変数 614 と参照先フアイ ル一覧表 615をクリア」 903するまで保持され、 変更履歴記録処理 (セクション 8. 5) が実行された際に参照される: 最後に要求された 「ウェブ情報ファイルのコピーをブ ラウザに提供」 906する。
「表示時刻変数 612をチェック」 801 した結果、 表示時刻の指定が有るならば、 「要 求されたゥヱブ情報ファイルに対応する履歴管理ファイル 712を特定」 803する。 この なかの 「取込み管理ファイル 716を新しい順に特定」 804 し、 その 「取込み時刻 718を 取り出す」 806。 この 「取込み時刻 718 と表示時刻変数 612 を比較」 807 し、 取込み時
刻 718が表示時刻変数 612の値より後ならば、 次の (より古い) 「取込み管理ファイル を (新しい順番に) 特定」 804 し、 その 「取込み時刻 718を取り出」 8 6 し、 この 「取 込み時刻 718と表示時刻変数 612を比較」 807する。取込み時刻 718が表示時刻変数 612 の値と同じか前ならば、 その取り込み管理ファイル 716 の 「ウェブ情報ファイル記録 の指定 717 を取り出す」 808 処理を行い、 「ファイル種類のチェック」 902 に移る。 こ れ以降の処理は先に説明した通りである。
《セクション 8 . 5 変更履歴記録処理》
変更履歴記録処理の詳細を図 10に示す: へージ記録ボタン 309が押されて、 図 6 で 「記録指示」 と判定され 「変更履歴記録処理を起動」 609 が実行されるケースと、 図 9で 「連続取り込み変数 613をチェック」 916 して、 オンである事が判明して 「変更履 歴記録処理を起動」 916するケースが有る。
まず 「最新表示点ファイル変数 614 から表示点ファイル (原本 Z記録) の指定を 取り出す」 1001。 その 「記録先がキャッシュデータベース 305か否かをチェック」 1002 する。 記録先がキャッシュデータベース 305でない、 つまり変更履歴データベース 304 に記録されているウェブ情報ファイルをブラウザ 301 が表示している場合には、 既に 記録処理が済んでいるので直ちに処理を中止する。 この状況は、 変更履歴画面 306 に よりェンドユーザーが指定した履歴表示時点に対応するウェブ情報ファイル記録をブ ラウザ 301表示している時に、へ一ジ記録ボタン 309が押されたり、連続取込み変数 613 がオンになっていたままの場合に生じる。
記録先がキャッシュデータベース 305 内の場合は、 次に 「表示中のウェブ情報フ アイル原本のコピーをキャッシュデータベース内で特定する」 1004。 そして 「ウェブ 情報ファイル原本のコピーを指定した変更履歴データベース 304 への記録処理を起動」 1005する。 この処理の詳細は図 11を用いてこのセクションの後半で説明する。
次に、 「参照先ファイル一覧表 615 から素材ファイル (原本/記録) の指定を取り 出し」 1006、 素材ファイル原本の指定であれば、 その 「素材ファイル原本のコピーを キャッシュデータベース 305 で特定し」 1008、 そして 「ウェブ情報ファイル原本のコ ピーを指定した変更履歴データベースへの記録処理を起動」 1005 する。 この一連の処
理を、 参照先ファイル一覧表 615 に記録されたすベての素材ファイル (原本/記録) の指定について行い、 変更履歴記録処理を終了する。 '
以上により、 最新表示点ファイル変数 614 に記録されている表示点ファイル (原 本/記録) の指定、 および参照先ファイル一覧表 615 に記録されている素材ファイル (原本 Z記録) の指定に対応する素材ファイル記録が、 変更履歴データベース 304 に 収容される。
「ウェブ情報ファイル原本のコヒ一を指定した変更履歴データベース 304 への記 録処理」 の詳細を図 11 に示す: まず、 「指定されたウェブ情報ファイルに対応する履 歴管理ファイル 712を変更履歴データベース 305内で特定」 1001する。
上記作業で履歴管理ファイル 712 が特定出来なければ、 新たに 「履歴管理フアイ ル 712を作成し、 変更履歴データベース 304に収容」 1103 し、 「履歴管理ファイル 712 にウェブ情報ファイル原本の指定 713 を書き込む」 1104。 履歴管理ファイル 712 が特 定出来ればこれらの処理をスキップする。
次に、 「ウェブ情報ファイル記録の取り込み管理ファイル 716 を作成し履歴管理フ アイル 712 に追加する」 1105: 「この取込み管理ファイルにウェブ情報ファイル記録の 指定 717を書き込み」 1106、 「この取込み管理ファイルに取込み時刻 718を記入し」 1107、
「この取込み管理ファイルにゥヱブ情報ファイル原本の最終修正時刻 719 を記入する」 1108。
《セクション 8 . 6 変更履歴表示処理》
変更履歴ボタン 311 がオンになると、 「変更履歴要求」 と判断し、 図 6 の 「変更履 歴表示処理を起動」 610 ステツブにより、 変更履歴表示処理が起動される。 この処理の 詳細を図 12 に示す。 まず、 表示する情報を書き込んで行くためのファイルとして 「変 更履歴表示ファイルの雛形をコピーする」 120L
「最新表示点ファイル変数 614 から表示点ファイル (原本 Z記録) の指定を取り 出し」 1202、 「対応する履歴管理ファイル 712 を特定し」 1203、 「履歴情報書き出し処 理を起動」 1204する。 この処理の詳細は図 13を用いて、 本セクションの後半で説明す る。 次に 「参照先ファイル一覧表 615 に記録された素材ファイル (原本/記録) の指
定を (順番に) 取り出し」 1205、 それぞれについて対応する 「履歴管理ファイル 712 を特定し」 1203、 「履歴情報書き出し処理を起動」 1204する。 全ての *材ファイル (原 本 Z記録) の指定について以上の処理が完了すると、 「変更履歴表示ファイルの内容を 変更履歴画面 306に表示して」 1207、 変更履歴表示処理は終了する。
さて、 履歴情報書き出し処理は、 履歴管理ファイルを特定して起動される。 まず
「ウェブ情報ファイル原本の指定 713を変更履歴表示ファイルに書き込む」 1301。 図 5 の 「HTML ファイル B」 501、 「画像ファイル X」 502、 「画像ファイル Y」 503 の所に、 そ れぞれのゥュブ情報フアイル原本の指定が書き込まれる:
次に 「履歴管理ファイル 712 から取込み管理ファイル 614 を新しい順番に取り出 し」 1302、 「ウェブ情報記録の指定 717 と取り込み時刻 718を履歴情報管理ファイルに 書き移す」 1304。 図 5の 「HTMLフアイノレ Β」 501ならば、 その上の Β [0] 504と Β [2] 505 およびそれぞれに対応する左側の線が記入される。 同様に図 5の 「画像ファイル X」 502、
「画像ファイル Υ」 503についても、 Χ [0] 506、 X [l ] 507、 Χ [3] 508、 Υ [0] 509、 Υ [4] 510およびそれぞれに対応する左側の線が記入される。 全ての取込み管理ファイル 715 を処理すると、 履歴情報書き出し処理は終了する。
《セクション 8 . 7 方法 Βの長所その 2》
ブラウザからの要求に対して、 Β ブロキシは要求されたウェブ情報ファイルを提供 する。 これは本来のブロキシとしての動作である。 Β ブロキシは、 この過程で変更履歴 データベースにゥェブ情報フアイル記録を収容する:
Β プロキシはブラウザからの表示点ファイルの要求と素材ファイルの要求を監視し て、 ブラウザが表示中の表示点ファイル (原本 Ζ記録) の指定を最新表示点ファイル 変数 614 に記録し、 このファイルから参照される素材ファイル (原本 Ζ記録) の指定 を参照先ファイル一覧表 615 に記録する手順に、 方法 Β の一つの特長が有る。 これに より、 現在ブラウザに表示中の表示点ファイルが参照している素材ファイルの一覧を Β プロキシが常に把握する事が出来る。 従って、 現在ブラウザに表示中の表示点フアイ ルに関する変更履歴、 つまり図 5相当の情報、 を Β ブラウザで作成することが可能に なる。 つまり、 変更履歴表示処理が起動されると、 最新表示点ファイル変数 614 と参
照先ファイル一覧表 615 に記録されたウェブ情報ファイルそれぞれの変更履歴 (図 5 の時間軸それぞれに関する情報) を画面に表示する事により、 図 5の変更履歴の画面 が作成出来る。
オペレータはこの画面でウェブ情報変更履歴を表示する特定の時点を指定する事 が出来て、 その情報は、 表示時刻変数 612 に記録される。 ブラウザからのウェブ情報 ファイルの要求があった時、 この表示時刻変数 612 に有効な指定があれば、 その指定 に合致したウェブ情報ファイル記録をブラウザに提供する。 以上の仕組みで、 変更履 歴を管理する機能が無い一般のブラウザを B ブロキシが 「適切にだます」 事により、 変更履歴内容を表示する。 方法 Bならば、 ウェブ情報ファイルを記述する HTML仕様に 変更履歴を管理する情報を加える必要も無い:
方法 B はブラウザからのウェブ情報ファイルの要求に対して、 指定された時点に 合致するウェブ情報ファイル記録を提供する事により、 特定の時点のウェブ情報をブ ラゥザに再現する。 従って方法 Aの複雑なリンクを設定する作業は必要無い。
従来の履歴管理は時系列上に一列に並んだ履歴を极つていた。 しかし、 ウェブ情 報は相互に関係してネットワーク型の関係を構成しており、 このネットワークの様々 な部分が変化した様子を記録し再現するのは容易な事では無かった。 方法 B によりこ れが可能になった。 また方法 B は計算機の処理に適した簡明な方法であるので、 この 機能を既存のァログラムに付加する事も容易である: また、 ブラウザと HTML仕様に何 ら手を加える必要が無レ、点も方法 Bの大きな長所である。
《セクション 8 . 8 Bプロキシ対応のブラウザ》
セクション 8. 5で説明した様に、 Bプロキシ 303は、 ブラウザ 301からの要求を元 にして、 ブラウザ 301 が表示中の表示点ファイル (原本/記録) の指定を最新表示点 ファイル変数 614 に記録し、 それから参照される素材ファイル (原本 Z記録) の指定 を参照先ファイル一覧表 615に記録する。
ブラウザ 301 のキャッシュ機能が動作していると、 ウェブ情報ファイルの要求が B プロキシ 303 に渡されない事がある: この場合、 最新表示点ファイル変数 614 と参照 先ファイル一覧表 615は正しく作成されない: また、 Bプロキシ 303の表示時刻変数 612
に有効な指定があっても、 ブラウザ 301 から Bブロキシ 303 にウェブ情報ファイルの 要求が来なければ、 その時刻に合致したウェブ情報ファイル記録をブラウザ 301 に提 供する事は出来ない。
従って、 Bプロキシ 303に対応するブラウザ 301は、 キャッシュの機能を停止する 必要がある。 具体的には、 ブラウザ 301 の 「インターネッ トの一時ファイル」 の 「保 存しているページの新しいバージョンの確認」 の項目で、 「ページを表示する毎に確認 する」 を選択する。 この設定では、 ブラウザはウェブ情報ファイルを表示する毎に、 バージョン確認のための通信を行う: 二の確認に対して B プロキシは常に、 「バ一ジョ ン更新有り」 を通知すると、 ブラウザのキャッシュの機能が停止する。 なお、 ブラウ ザのキャッシュ内の情報を表示して問題無レ、と Bブロキシが判断すれば、 Bプロキシ 303 は 「バ一ジョン更新無し」 をブラウザ 301に通知することも出来る。
《セクション 8 . 9 削除情報の表示》
参照元が全てなくなれば、 表示点ファイルは実質的にウェブ情報ファイルから削 除された状態になる。 し力 し、 変更履歴データベース 304 に記録された履歴管理ファ ィル 712 の一覧表を事前に作成しておいて、 この一覧表からウェブ情報ファイル記録 にアクセスしてその内容をブラゥザに表示する事が出来る。
参照先があっても、 ウェブ情報ファイル原本が削除される場合がある。 この場合 は、 Bプロキシは、要求されたウェブ情報ファイル原本の指定に対応する情報として「該 当する情報が無い」 事を表示するウェブ情報ファイルをブラウザに提供する。 表時点 ファイルが無ければ 「該当するページがありません」 を表示する HTML ファイルを提供 し、 素材ファイルが無ければ、 「該当する素材ファイルがありません」 を表示する画像 ファイルを提供する。同時にこれらのファイルのコピーを、キャッシュデータベース 305 に収容する。 これらのファイルのアクセスキーをブラウザから要求された 「ウェブ情 報ファイル原本の指定」 とする。 これらのファイルを 「該当無しファイル」 と呼ぶ。 この処理を図 21に示す。 まず 「ウェブ情報ファイル原本の取り込み」 2101を行う。 取 り込みが正常に完了すれば 「ウェブ情報ファイル原本の指定をアクセスキーとして、 取り込みファイルをキャッシュデータベース 305 に収容」 2103 する。 該当するフアイ
ルが無ければ 「ウェブ情報ファイル原本の指定をアクセスキーとして、 該当無しファ ィルのコピーをキャッシュデータベース 305に収容」 2103する。 図 9の 「ウェブ情報 ファイル原本の取り込みとキャッシュデータベース 305 への収容」 915 の処理を図 21 の処理で置き換える。
以上の準備により、ページ記録ボタン 309が押された時、または連続記録ボタン 310 がオンの状態の時は、 セクション 8. 4 とセクション 8. 5 の処理によりキャッシュデ一 タベース内のこれらの 「該当無しファイル」 が変更履歴データベース 304 に収容され る。 変更履歴画面 306 で指定した時点に応じて、 これらの 「該当無しファイル」 が表 示される。 あとで参照先のウェブ情報ファイル原本を提供されこれが変更履歴として ユーザー計算機に記録されれば、 一度該当ファイル無しになり、 その後復活する様子 が Bプロキシの処理で表示される。
《セクション 9 方法 Bの改良》
《セクション 9 . 1 フレ―ム画面対応》
《セクション 9 . 1 . 1 変更履歴管理の問題点》
表示点ファイルがフレームを構成している例を図 14 (a) に示す。 V. html 1401 の 一つ目のフレーム指定 (上部フレーム) が Vup. htmp 1402 で、 二つ目のフレーム指定
(下部フレーム) が Vlow. html 1403 とする。 また、 Vup. html 1402 が参照している素 材ファイルを VupFigOl. jpg 1404と VupFig02. jpg 1405とし, Vlow. html 1403が参照し ている素材ファイルが VlowFig03. jpg 1406とする。
さて、 V. htmlの内容が Bブロキシ 303からブラウザ 301 に渡されると、 ブラウザ 301 は、 Vup. html, VupFigOl. jpg, VupFig02. jpgおよび Vlow. html、 VlowFig03. jpgの 内容を順番に Bプロキシ 303に要求する。 HTML ファイルをすベて表示点ファイルと判 定する条件で、 セクション 7およびセクション 8で説明した B プロキシの処理を実行 すると、 Vlow. htmlを受信した時点で 「最新表示点ファイル変数 614 と参照先ファイル 一覧表 615をクリア」 903の処理により、 それまでの情報が消える。 そして、 最新表示 点ファイル変数 614に Vlow. html 力;、 参照先ファイル一覧表に VlowFig03. jpgが記録 された状態になる。 しかしこの時、 ブラウザの画面には Vup. html、 VupFigOl. jpg,
VupFig02. jpg、 Vlow. html、 VlowFig03. jpg が表示されてる。 ここでページ記録ボタン 309 が押されると、 「記録指示」 と判定され 「変更履歴記録処理を起動」 609 が実行さ れるが、 Vlow. htmlと VlowFig03. jpgしか変更履歴データベースに記録されない。
《セクション 9 . 1 . 2 フレーム画面対応の変更履歴管理処理》
セクション 9. 1. 1 で指摘した問題を回避するため、 本発明では、 プロキシが最新 表示点フアイル変数と参照先フアイル一覧表を複数保持する。 具体的にはフアイル提 供処理のうち、 図 9の Sから Eまでの範囲 907を図 15の S 1501から図 1 6の E 1612 までの処理で置き換える。 図 15および図 16の処理を以下に説明する。
まず 「ファイル種類のチェック」 02 をして表示点ファイルである事が判明すれ ば、 「参照先ファイル一覧表 615 を順に取り出す」 1503、 ここで注意すべきは、 (後半 の処理により) 参照先ファイル一覧表が複数存在する場合がある事である。 さて取り 出した参照先ファイル一覧表 615 から 「素材ファイル (原本 Z記録) の指定を順に取 り出し」 1505、 「提供する表示点ファイル (原本/記録) の指定と照合」 1507する。 全 ての参照先ファイル一覧表の、 全ての素材ファイル (原本 Z記録) の指定、 と照合し ても一致するものが無ければ、 「最新表示点ファイル変数をひとつ残して削除」 1511 し、
「参照先ファイル一覽表をひとつ残して削除」 1512 し、 残された 「最新表示点フアイ ル変数 614 と参照先ファイル一覧表 615をクリア」 1513する。 これは、 残された最新 表示点フアイル変数と参照先ファイル一覧表の中身を空き状態にする事である。 そし て 「提供する表示点ファイル (原本/記録) の指定を最新表示点ファイル変数 614 に 記録」 1514する。
以上の処理は図 14 (a) のフレーム構成を表示する際に、 ブラウザ 301から Bプロ キシに V. html の要求がきた状況に相当する。 たとえそれまでにフレームが表示され、 複数の表示点ファイル変数と、 参照先ファイル一覧表の組が複数存在していても、 一 つの組を残して削除し、この組の変数の値を空き状態にし、最新表示点ファイル変数 614 に V. html (の原本または記録の指定) を記入する。
次に 「提供する表示点ファイル (原本/記録) の指定にフレームの指定があるか をチヱック」 1603する。 提供する表示点ファイルにフレームの指定があれば、 「フレー
ムの内容として参照されている表示点ファイルを順に取り出す」 1605。 例えば、 提供 する表示点ファイルが V. html の場合、 その内容を分析すると、 く FRAMESET〉で始まるブ ロックの中にく FRAME SRC="Vup. html") く FRAME SRC=,'Vlow. html">の記述がある。 そこで 最初に Vup. html への原本の指定が取り出される: 「提供する表示点ファイル (原本 Z 記録) の指定は、 原本の指定であるか記録の指定であるかをチェック」 して、 記録の 指定であれば 「取り出した表示点ファイルの指定を表示点ファイル記録の指定に変換 する」 1609c つまり、 提供する V. html の指定が特定の履歴表示時点に対応する記録の 指定であれば、 Vup. html への原本の指定も同じ履歴表示時点に対応する記録の指定に 変換する。 この作業は Vup. html への原本の指定を指定して、 図 8の 「要求されたゥェ ブ情報ファイルに対応する履歴管理ファイルを特定 j 803 ら、 「ウェブ情報ファイル 記録の指定を取り出す」 808 までの手順で実行される: そして 「この指定を最後に作成 された参照先ファイル一覧表に記入する」 1610c ここで、 最後に作成された参照先フ アイル一覧表とは、 「対応する新しい参照先ファイル一覧表を作成」 1510 で作成された 参照先ファイル一覧表、 またははじめから存在していた参照先ファイル一覧表、 また は 「参照先ファイル一覧表をひとつ残して削除」 1512 で残された参照先ファイル一覧 表である。 以上の作業を Vlow. htmlに対しても繰り返し 「E」 1612に抜ける。
「提供する表示点ファイル (原本 Z記録) の指定にフレームの指定があるかをチ エック」 1603 する。 提供する表示点ファイルにフレームの指定が無い場合には、 直ち に 「E」 1612に抜ける。
対象とするファイルの種類が表示点ファイルであり、 「参照先ファイル一覧表 615 を順に取り出す」 1503処理、 「素材ファイル(原本 /記録) の指定を順に取り出す」 1505 処理、 「提供する表示点ファイル (原本/記録) の指定と照合」 1507 する処理の結果、 素材ファイル (原本 Z記録) の指定と一致するものが有る場合の処理を以下に説明す る。 この場合は、 対象とするファイルはフレーム構成の一部を構成する表示点フアイ ルであると判定して、 「新しい最新表示点フアイル変数を作成し提供する表示点ファィ ル (原本/記録) の指定を記入」 1509 し、 「対応する新しい参照先ファイル一覧表を作 成」 1510 する。 この時点で、 最新表時点ファイル変数と参照先ファイル一覧表の組が 新たに追加される。
例えばブラウザが Bブロキシに対して V. html を要求し、 次に Vup. html を要求し た場合、 Vup. html の原本指定が最新の参照先ファイル一覧表に記載されているので、 新たな最新表時点ファィル変数と参照先ファィル一覧表の組が追加され、 この最新表 示点フアイル変数に Vup. htmlが記入される。
この後、 「提供する表示点ファイル (原本/記録) の指定にフレームの指定がある かをチェック」 1603が行われ、 フレームの指定が無ければ E 1612に抜ける。 フレ一ム の指定があれば、 つまり、 V. html 1401 が要求されれば、 「フレームの内容として参照 されている表示点ファイルの指定を順に取り出す」 1605 処理を行い、 Vup. html と Vlow. htmlを取り出す。 これ以降の処理については既に説明した。
「ファイル種類のチェック」 1502の結果、素材ファイルである事が判明すれば、 「最 後に作成された参照先ファイル一覧表に素材ファイル(原本/記録)の指定を記入」 1611 して、 E 1612に抜ける。
《セクション 9 . 1 . 3 方法 Bの長所その 3》
フレーム画面の入れ子構成に対応して、 最新表示点ファイル変数 614 と参照先フ アイル一覧表 615 の組み合わを入れ子状に複数作成する。 これが方法 B のもう一つの 特長である。 これらの情報から、 現在ブラウザが表示中のウェブ情報ファイルの構成 要素である表示点ファイルと素材ファイルを特定する事が出来るので、 変更履歴ボタ ン 311が押されたとき、 これらのファイルの変更履歴を図 5の形式で変更履歴画面 306 に表示する事が出来る。
なお、 あるフレーム内の HREF がクリックされると、 そのフレームが新しい表示点 ファイルに入れ替わる。 一方 Bブロキシでは、 それまでの最新表示点ファイル変数と、 参照先ファイル一覧表が全てクリアされ、 新しい表示点ファイルに関しての最新表示 点ファイル変数と、 参照先ファイル一覧表が作成される。 従って、 組み替えられたフ レーム構成そのものを記録する事は出来ない: ウェブ情報ファイル原本に指定された 本来のフレーム構造と、 HREF で指定されたウェブ情報ファイルが別物として記録され る。
ブラウザと同じに B プロキシも表示点ファイルの内容を分析して、 フレームの組
み替え状況を B プロキシで再現し、 その組み替えられたフレーム構成を表現する表示 点ファイルを新規に作成して記録すれば、 組み替えられたフレームそのものを記録す る事ができる。 B プロキシの機能をブラウザの機能の一部として実現すれば、 この作業 は容易である。
《セクション 9 . 2 ブラウザを用いた変更履歴管理インタフェース》
Bプロキシ 303にはその専用ユーザーィンタフエースとして、変更管理メニュー 308 と変更履歴画面 306 があるが、 これらのインタフヱ一ス (変更履歴管理インタフエ一 ス) をブラウザ 301 の表示部 302 に表示し、 エンドユーザー (オペレータ) の指示を 受け付ける事が出来る。 これを以下に示す。
《セクション 9 . 2 . 1 表示点ファイルへのコードの揷入》
Bプロキシ 1705からブラウザ 1701渡す表示点フアイルの内容にコ一ドを挿入して、 ブラウザの表示画面上に変更履歴管理インタフェースを表示する方法を図 17 (a) を用 いて説明する。 ブラウザ 1701から Bプロキシ 1705に要求する表示点ファイルが HTML ファイルの場合、 Bプロキシ 1705からブラウザ 1701に渡す HTML ファイルの内容に、 変更履歴管理バー表示コード 1706 を挿入する。 このコードは、 ActiveX コントロール を指定するコードでも良いし、 ボタンを表示するコードと HREF タグの組み合わせでも 良い。 専用の ActiveXを作成すれば、 ActiveX と Bァロキシ 1705 との間での通信が可 能である。 HREFタグにより Bプロキシへ指示を伝える方法についてはセクション 9. 2. 3 で説明する。
図 17 (b) に変更履歴管理バー 1703表示のための Bプロキシ 1705の手順を示す。 まずブラウザ 1701 からの要求を分析し、 「要求された表示点ファイルを特定」 1710す る。 このファイルはキャッシュデータベース 305 内にあるかも知れないし、 変更履歴 データベース 304 にあるかもしれない。 どちらにもなければ、 サーバーから受信して キヤッシュデータベース 305に収容する。
さて、 このファイル 1707 の内容をブラウザ 1701 に提供する時に、 まず 「先頭部 分 1708をブラウザ 1701に送り」 1711。 次に 「変更履歴管理バー表示コード 1706をブ
ラウザ 1701に送り」 1712。 最後に 「後半部分 1709をブラウザ 1701に送る」 1713。 変 更履歴データベース 304に記録する際に変更履歴管理バ一表示コード 1707を書き込ん であれば、 そのままブラウザ 1701に送る。
以上の手順により、ブラゥザ 1701の表示画面 1702の上部に変更履歴管理バー 1703 が表示され、 その下に本来の表示点ファイルの内容が表示される。 ActiveX コント口一 ルが変更履歴管理バ一を表示し、 この ActiveXコントロールが Bブロキシ 1705 との間 での通信が可能であれば、 変更履歴管理バー 1703 のボタンが押されたとき、 その情報 はプロセス間通信でブロキシに伝えられ、 「変更履歴表示処理が起動」 610される。
さて B プロキシ専用のユーザーインタフユースが無い場合には 「変更履歴表示フ アイルの内容を変更履歴画面に表示する」 1207処理を変更し、 ブラウザの画面 1702に 表示する必要がある。 ところが、 http 手順では、 ブラウザからの要求に答える情報の みがブラウザに伝えられるので、 ブラウザからの要求に答える形で 「変更履歴表示フ アイルの内容を表示する」 手順を実現する必要がある。 この詳細をセクション 9. 2. 4 に示す。
《セクション 9 . 2 . 2 フレームの揷入》
ブラゥザの表示画面に変更履歴管理のためのボタンを直接揷入する替わりに、 フ レームを挿入して変更履歴管理インタフェースの実現する事が出来る。 図 18 を用いて 以下に説明する。
ブラウザ 1801から Bァロキシ 1804に" URL=XYZ"を指定した要求があった場合、 そ の最新のウェブ情報ファイルの記録を変更履歴データベース 1805 内で特定する。 また は最新のウェブ情報ファイルを取り込み、 変更履歴データベース 1805 内に記録する。 これが 「XYZの i番目の記録内容」 1811である。 このファイル名を仮に XYZ— BaseRec [i] とする。 Bプロキシ 1804はこれとは別にファイル XYZ [i]も作成する。 ファイル XYZ [i] はフレームを構成し、 最初のフレーム (a フレーム) として 「変更管理バー表示フアイ ル」 1810 を指定する。 次のフレーム (b フレーム) として XYZ— BaseRec [i] 1811 を指 定する。
ブラウザ 1801からの" URL=XYZ"を指定した要求に対して、 Bプロキシから XYZ [i]の
内容をブラウザ 1801 に送ると、 折り返しブラウザから 「変更管理バー表示ファイル」 1810 と XYZ— BaseRec [i ] 1809 の內容が要求されるので、 履歴管理ファイル内のこれら の情報をブラウザ 1801 に送る 以上により、 ブラウザには変更履歴管理バーのフレー ム (aフレーム 1802) と URL=XYZの内容のフレーム (bフレーム 1803) が表示される。
《セクション 9 . 2 . 3 HREFタグによる Bブロキシへの指示》
変更履歴管理バー表示コード 1706の一つの例は、 HREFタグを指定する文字列であ る。 例えば連続記録のボタンを表示する部分のコードは、
く A HREF="http : //BproxyDuramy/StarTRecord"> へ一ジ記録く/八〉
と書く事が出来る。 このボタンが押された時にブラウザ 1701 から Bブロキシ 1705 へ の要求として "http:〃 BproxyDuramy./StartRecord" が渡される。 図 18 の変更管理バー 1802にも、同じコードを記述する事が出来るので、以下の説明は、図 17のブラゥザ 1701 と Bプロキシ 1705の組み合わせと、 図 18のブラゥザ 1801 と Bプロキシ 1804の組み 合わせに共通である。 以下、 図 17についてのみ説明する。
要求内容 "http:〃 BproxyDummy/StartRecord" に対応する Bプロキシ 1705 の処理 を図 19を用いて説明する。 Bブロキシ 1705は、 図 19 (a) に示す特殊サーバ一名リス ト 1901 と図 19 (b) に示す特殊ファイル名リス ト 1902を持っている。 Bプロキシは 「ブ ラウザ 1701からの要求分析」 1803で要求として渡される文字列を取り出す。 そこに含 まれるサーバー名を 「特殊サーバー名リス ト 1901 と照合」 1904 し、 該当しなければ、 通常のプロキシの処理 1909に移る:
特殊サーバー名リス ト 1901 と照合」 1904 して該当すれば、 次にファイル名 (正確 にはファイルパス) を 「特殊ファイル名リスト 1902と照合」 1906し、 該当しなければ、 通常のァロキシの処理 1909 に移る: 該当すれば、 特殊ファイル名リス ト 1902 に指定 されている指示を実行する。 例えばファイル名 PageRecord には記録指示が対応してい るので「変更履歴記録処理を起動」 609ステッァを実行する。図 5の内容がブラウザ 1701 に表示され、 オペレータが特定の履歴表示時刻を指定した場合は、 (例えば) 文字列 "http : // BproxYdummY/SetTirae/O5061998" が B ブロキシに送られる。 この場合、 特 殊ファイル名が" SetTime"である事を検出し、 文字列" 06051998"を表示時刻 1998年 6月
5 日と解釈して、 「表示時刻変数を設定する」 604、 「最新表示点ファイル変数から表示 点ファイル (原本 Z記録) の指示を取り出す」 605、 「ファイル提供処理を起動」 606、 を実行する。 なお、 図 19 (c) のフコーチャートでは上記の文字列" 05061998"の処理を 省略している。
《セクション 9 . 2 . 4 ブラウザ表示による変更履歴管理インタフェース》
変更履歴管理ィンタフユースをブラゥザに表示される画面だけで実現することが できる。 これを図 20に示す: ブラウザからの要求 2020に対し Bブロキシ 2004はゥェ ブ情報ファイルの内容を送るが、 その一部にセクション 9. 2. 1 で述べた手順で変更履 歴管理画面を要求するボタンの情報を入れる: ブラウザ (状態 1) 2001 上でこのボタ ンが押されると "http:〃 BproxyDu隱 >'/ChgHisCtl " が要求として B ブロキシに送られ る: 図 20 の要求 (ChgHisCtl) 2010がこれを示している。 文字列 ChgHisCtl が特殊フ アイルリスト 1902 に登録されていれば、 セクション 9. 2. 3 の手順で対応する指示が実 行され、 変更履歴管理画面を表示するウェブ情報ファイルがブラウザに送られる。 こ れは、 ブラウザからの要求の内容 "htt : //BproxyDummy/ChgHisCtl " に対する回答と して与えられる。 そしてこの内容がブラウザに表示される。 この状態のブラウザがブ ラウザ (状態 2) 2002である:
変更履歴管理画面が表示されたブラウザ (状態 2) 2002 の画面に表示されている 「前ページの変更履画面表示」 ボタン 2009 が押されると、 要求 (ShowHistory) 2015 が Bプロキシ 2004に送られる: Bブロキシ 2004は特殊ファイル名リスト 1902と照合 して、 変更履歴要求と解釈して 「変更履歴表示処理を起動」 610する。 そして 「変更履 歴表示ファイルの内容を変更履歴画面に表示する」 1207 ステップでは、 図 5 を表現す る表示点ファイルをブラウザ 2001に送る。 これは、 ブラウザからの要求" ShowHistory" への回答である。 そしてこの内容がブラウザに表示される。 この状態のブラウザがブ ラウザ (状態 3) 2003である:
このブラゥザの画面でェンドユーザーが履歴情報を表示する時点を指定すると、 要求 (SetTime) 2016が Bブロキシ 2004に渡される。 Bブロキシでは、 「表示時刻変数 を設定する」 604、 「最新表示点ファイル変数から表示点ファイル (原本 Z記録) の指
示を取り出す」 605、 「ファイル提供処理を起動」 606、 が実行され、 指定された時点の 表示点ファイル記録がブラウザに渡される。 この状態のブラウザがブラウザ (状態 1) 2001である。
ブラウザ (状態 2) 2002 で 「表示時刻設定解除」 ボタン 2005が押されると、 要求 (ResetTime) 2011が Bプロキシに渡される。 Bブロキシは 「表示時刻解除」 の指示と 解釈して 「表示時刻変数をクリア」 608 し、 元のブラウザが表示していたウェブ情報フ アイルの内容をブラウザに渡す.: この結果、 元のブラウザ (状態 1) 2001 に戻る: ブ ラウザ(状態 2) 2002で「連続記録開始」ボタン 2006が押されると、要求(StartRecord) 2012 が B プロキシに渡される s B ァロキシは 「連続取り込み指定」 の指示と解釈して 「連続取り込み変数をオン」 602 にして元のブラウザが表示していたウェブ情報フアイ ルの内容をブラウザに渡す。 ブラウザ (状態 2) 2002 で 「連続記録終了」 ボタン 2007 が押されると、 要求 (StopRecord) 2013 B プロキシに渡される。 B プロキシは 「連 続取り込み解除」 の指示と解釈して 「連続取り込み変数をオフ」 603 にして元のブラウ ザが表示していたウェブ情報ファイルの内容をブラウザに渡す。 この結果、 元のブラ ゥザ (状態 1) 2001に戻る。
《セクション 9 . 2 . 5 方法 Bの長所その 4》
ブラウザとァロキシの通信はブラウザからのゥヱブ情報フアイルの要求に答える 形式で行われている。 ブラウザを独自に開発する事が出来ない場合、 これ以外の信号 のやり取りを実現する事は困難であると考えられていた。
さて、 前セクションでは、 B ブロキシのインターフェースとして動作するブラウザ の画面を実現する工夫を示した。 その要点は以下である。
( 1 ) ブラウザに表示する画面に、 履歴管理のためのボタンと HREF タグを挿入する。
( 2 ) B プロキシの特殊な処理を起動するキーワードとなる、 特殊サーバ一名と特殊フ アイル名を HREFタグに設定する。
( 3 ) 上記特殊サーバー名と特殊ファイル名を処理するための、 図 19 のデータ構造と 処理。
( 4 ) 上記 HREF指定がクリックされた時にブラウザから B プロキシに渡される要求
への回答として、 Bブロキシで作成された情報を渡す ¾:理。
以上の工夫は、 方法 B に限らずブラウザとブロキシの通信に広ぐ利用する事が出 来る。
《セクション 9 . 3 ブラウザの機能として実現した方法 B》
しかし、 方法 B の機能をブラウザの機能の一部として実現すれば、 エンドユーザ 一の使い勝手は良くなる。 この場合、 方法 B の特長を表わす表現として、 方法 B の長 所その 2 (セクション 8. 7) の様に 「B プロキシがブラウザを適切にだます」 との表現 は意味を持たない。
しかし、 HTML の仕様には履歴管理情報についてはまったく考慮されていないこと には変わり無い。 つまり、 表示点ファイル (HTML ファイル) を分析して素材ファイル への参照や、 別の表示点ファイルへの移動の指示を取り出すと、 それはすべてウェブ 情報ファイル原本の指定で与えられる c
これらのウェブ情報ファイル原本の指定に対して、 「表示時刻変数 612 に有効な指 定があれば、 その指定に合致したウェブ情報ファイル記録を変更履歴データベース 304 から探し出してブラウザに提供する手順」 が方法 B の特長である。 方法 B の機能をブ ラウザの機能の一部として実現しても、 ブラウザの中に HTML ファイルを分析する本来 のブラウザとしての機能部分と適切なウェブ情報ファイル記録を提供する方法 B の機 能部分がある。
《セクション 9 . 5 ハードウェアとの対応》
《セクション 9 . 5 . 1 ブログラムを走行させる環境》
B プロキシは、 プログラムとして実現され、 ブラウザと同じエンドユーザー計算機 で動作するブロセスとして動作する事が出来る: また、 従来のプロキシと同様に、 ブ ラウザとは別の計算機のブロセスとして動作しても良い: セクション 9. 2 で示した様 に、 変更履歴管理インタフェースをブラウザ画面に表示すれば、 B ァロキシがブラウザ と異なる計算機で動作していてもェンドユーザーの操作に何ら支障は無い。
方法 B をブラウザの機能として実現すれば、 ブラウザが動作するすべての環境で
方法 Bが実現される。
《セクション 9 . 5 . 2 方法 Bを実現したハードウェア》
Bプロキシをハ一ドウエアで実現する事ができる: これを図 22を用いて説明する。 ニニではセクション 9. 2 に述べた方法で、 ブラウザの画面に変更履歴インタフェース を表示する B プロキシを実現したハードウェアを説明する。 B プロキシは入力部 2201 からオペレータの指示を受け付ける: 入力部 2201 からの信号とブラウザ 2205 からの 信号は 「要求分析手段」 2202で分析され、 対応する手段に信号が送られる。
変更履歴要求の信号は 「変更履歴表示手段」 2203に送られる。 ここでは、 図 12の 変更履歴表示処理 (セクション 8. 6) が実行される。 この手段から変更履歴データべ一 ス 2210 にアクセスして、 変更履歴を取り出し編集して、 ブラウザ 2250 に渡す。 この 時、 ワーク変数プロック 2213の、 表示時刻変数 612、 最新表示点ファイル変数 614や 参照先ファイル一覧表 615にアクセスする。
記録指示の信号は 「変更履歴記録手段」 2204に送られる。 ここでは、 図 10および 図 11 の変更履歴記録処理 (セクション 8. 5) が実行される。 この手段からキャッシュ データベース 22U にアクセスして記録対象の情報を取り出し、 変更履歴データべ一ス
2210に設定する。 この時、 ワーク変数ブロック 2213の最新表示点ファイル変数 614や 参照先ファイル一覧表 615にアクセスする。
ウェブ情報ファイル要求の信号は 「ファイル提供手段」 2205 に送られる。 ここで は、 図 8および図 9のファイル提供処理 (セクション 8. 4) が実行される。 この手段か ら、 「インターネッ トまたはブロキシ」 2251、 キャッシュデータベース 221 1、 変更履歴 データべ—ス 2210 にアクセスし、 ブラウザ 2250 にウェブ情報ファイルを提供する。 この時、 ワーク変数ブロック 2213の、 表示時刻変数 612、 最新表示点ファイル変数 614 や参照先ファイル一覧表 615にアクセスする。
履歴表示時刻指定の信号は 「履歴表示時刻指定手段」 2206に送られる。 ここでは、 「表示時刻変数を設定」 604 し、 「最新表示点ファイル変数から表示点ファイル (原本 Z記録) の指定を取り出す」 605: これらの変数はワーク変数ブロック 2213 にある。 そして 「ファイル提供手段」 2205に信号を送る:
連続取り込み解除の信号は '「連続取り込み解除手段」 2207 に送られる。 ここ力 ら ワーク変数ブロック 2213に信号を送り 「連続取り込み変数 613をオアにする」 603。
連続取り込み指定の信号は 「連続取り込み指定手段」 2208 に送られる。 ここから ワーク変数ブロック 2213 に信号を送り 「連続取り込み変数 613 をオンにする」 602。 表示時刻解除の信号は 「表示時刻解除手段」 2209 に送られる。 ここでは、 「変更履歴画 面を閉じ」 607、 ワーク変数ブロック 2213 に信号を送り 「表示時刻変数 612 をクリア する」 608処理を行う。
《セクション 1 0 方法 Aの詳細》
セクション 1 0 . 1 Aブロキシ》
方法 Aを実現したプロキシを Aブロキシと呼ぶ Aプロキシとウェブブラゥザの関 係は、 図 3の Bプロキシ 303を Aァロキシに置き換えたものと同じである。 しかし A ァロキシの場合、 変更履歴ボタン 31 1、 変更履歴画面 306が無い。 また、 変更履歴とし て記録されるウェブ情報ファイルの記録は図 2に示す様に、 HREFタグや SRCタグでフ アイル相互に関係しているので、 (特殊なキー情報でファイルを特定する本格的なデー タベースではなく) 単なるディレク トリ構造の中にそれぞれのファイルを記録してお く二とで十分である。
簡単のため、 表示するウェブ情報画面の変更履歴をすベて記録するケースを想定 十る。 この条件の場合、 連続記録ボタン 310 が常に押された状態であり、 ベ一ジ記録 ボタン 309は意味を持たない: この条件下での、 Aブロキシの動作 (変更履歴の記録動 作) を、 図 23および図 24を用いて説明する。
表示点ファイル (URL = XYZ) を指定した要求がブラウザ 301 から A プロキシに渡 されると、 Aプロキシは指定されたじ RLの有効な情報があるか 「キャッシュデータべ一 ス 305 内を探索」 2301 する。 無い場合、 または有っても 「キャッシュデータべ一ス内 のコピーの有効性を確認」 2303 の結果、 無効である事が判明した場合には、 「ウェブ情 報ファイル原本の取り込みとキャッシュデータベースへの収容」 2305 を行う。 いずれ にせよ、 以上の手順により要求されたし RLの有効な情報がキヤッシュデータベース 305 の内部に存在する事になる。
次に、 「変更履歴データベース 304内の最新の対応ファイルを探索」 2306する。 た とえば指定された URLが HTMLファイル Bの原本を指定し、 T3時点の直前ならば、 対応 ファイルとは B [2] 206、 B [ l ] 205、 B [0] 204 であり、 最新のファイルは B [2] 206 で ある。 最新の対応ファイルが無い、 つまり対応ファイルが無い場合は 「キャッシュデ —タベース内のコビーを変更履歴データベースに収容」 2308 し、 最後に 「キャッシュ データベース 305内のコピーをブラウザに提供」 2314して終了する。
対応ファイルが有る場合に 「最新の対応ファイルとキャッシュデータベース 305 内のウェブ情報ファイル原本のコピーとを比較」 2309 して、 同じならば 「キャッシュ データベース 305内のコピーをブラウザに提供」 2314 して終了する c 「最新の対応ファ ィルとキャッシュデータベース 305 内のウェブ情報ファイル原本のコピーとを比較」 2309 して両者が異なることが判明すれば次に、 対象とするファイルが 「表示点フアイ ルか素材ファイルかの判定を行う」 2311。 素材ファイルならば、 「素材ファイル記録処 理を起動」 2315 する。 この詳細は本セクションの後半で説明する。 最後に 「キヤッシ ュデータベース 305内のコピーをブラウザに提供」 2314して終了する。
表示点ファイルならば 「キャッシュデータベース 305 内のコピーを変更履歴デー タベース 304に収容」 2312 して、 「最新であった対応ファイルと新たに加えたファイル との間に HREF リンクを設定」 2313する。 T3時点なら、 HTMしファイル B [2] 206と (新 たに加えられた) B [3] 207 との間の HREFを設定する処理である。 最後に 「キャッシュ データベース 305内のコピーをブラゥザに提供」 2314して終了する。 以下に、 図 24 を用いて 「素材ファイル記録処理」 を説明する。 まず 「キャッシュ データベース内の素材ファイルのコピーを変更履歴データベースに収容」 2401 する。 次にエンドユーザ一計算機の 「表示点ファイルの記録を順番に取り出す」 2402。 取り 出した表示点ファイルについて 「記録対象の素材ファイルへの参照の有無をチヱック」 する。 なければ 「表示点ファイルの記録を順番に取り出す」 2402 に戻る。 あれば、 「表 示点ファイルの記録のコピ一を作成」 2406 し、 「コヒ一の元となった表示点ファイルの 記録とコピーとの間に HREF リンクを設定」 2407 し、 「コピー内の問題の素材ファイル への参照を新しい表示点ファイル記録への参照に書き換え」 2408、 「コピーを変更履歴 データベースに収容」 2409 して、 「表示点ファイルの記録を順番に取り出す」 2402 に
戻る。 ェンドユーザー計算機の全ての表示点フアイ 'レについて以上の処理が終了する と、 素材ファイル記録処理は終了する。 '
《セクション 1 0 . 2 方法 Aの改良》
セクション 6. 3 では、 「素材ファイルの変更があった時に、 その素材ファイル記録 を単純記録としてェンドユーザー計算機に記録するとともに、 その単純記録したファ ィルへの参照に切り替えた HTML ファイルを変更履歴としてさらに記録する点が方法 A の要点である。」 と述べた。 フレーム画面を极ぅ場合には、 単純記録する HTML フアイ ルを参照している HTMLファイルもさらに単純記録する: これは方法 Bのフレーム画面 対応処理 (セクション 9. 1) に対応する。
セクション 9. 2 では、 方法 B に対するブラウザを用いた変更管理インタフェース を説明したが、 方法 A に対しても同様に、 変更履歴管理バー 1703、 または変更履歴管 理バ一のフレーム (a フレーム 1802) をブラウザ画面に表示する事ができる。 また、 ブラウザ表示による変更履歴管理インタフェース (セクション 9. 2. 4) も同じ仕組みで 実現する事が出来る。
方法 A の機能をプロキシで実現することが出来る: これが A プロキシである。 方 法 A の機能をブラウザの機能の一部として実現すれば、 エンドユーザーの操作性は向 上する。 産業上の利用可能性
従来の履歴管理は時系列上に一列に並んだ履歴を扱っていた。 しかし、 ウェブ情 報は相互に関係してネットワーク型の関係を構成しており、 このネッ トワークの様々 な部分が変化した様子を記録し再現するのは容易な事では無かった。 本発明により、 ウェブ情報ファイルの変更履歴をェンドュ一ザ一側で現実的に管理 (記録して閲覧) する事が可能になった。
Bプロキシ 303の処理の特長は、 ブラウザ 301を適切に 「だます」 ことにある。 ゥ エブ情報ファイルを記述する現在の HTML仕様では変更履歴を管理する情報が扱う事が 出来ず、 また既存のブラウザには変更履歴を管理する機能が無いにもかかわらず、 方
法 B により 「指定された時点のウェブ情報ファイル記録をファイル相互の関係まで正 確に再現してブラウザに表示する」 事が可能になった:
さらに、 最新表示点ファイル変数 614 と参照先ファイル一覧表 615 の組み合わを 入れ子状に複数作成することにより、 フレーム構成の画面の変更履歴を管理する事を 可能にした。
また、 「B プロキシからブラウザに渡す表示点ファイルの内容に履歴管理のための ボタンと HREFタグを揷入し」、 「B 7口キシの特殊な処理を起動するキーワードとなる、 特殊サーバー名と特殊ファイル名を HREFに指定し」、 「これらのキーヮードを Bプロキ シが検出して対応する処理を起動する」 事により、 ブロキシとオペレータとの通信を ブラゥザの画面から行う事が可能となった。
方法 Aでは、 方法 Bに比べ変更履歴を記録するための処理量は多いが、 方法 Aで 作成されたウェブ情報ファイル記録 (例えば図 2) があれば、 通常のブラウザでウェブ 情報の変更履歴を表示することが出来る。 つまり、 変更履歴を表示するために特殊な 動作を行うプロキシは必要は無レ
計算機のソフトウェアは原理的にはどのような処理でも実現する事が可能である。 し力 し、 人間が通常考える手順をそのまま実現すると、 計算機の処理としては複雑に なり、 長い開発期間 (および費用) が必要となるほか、 またパクがなかなかとりきれ ない、 機能追加および変更が困難などの問題が生じる: ところが、 方法 Aおよび方法 B は計算機の処理に適した簡明な方法であるので、 これらの問題を解決する。 また、 方 法 Aおよび方法 Bならば HTML仕様に何ら手を加える必要は無い: さらに、 方法 Aまた は方法 B をプロキシで実現すれば、 既存のブラウザに何ら手を加えるも無い。 これら が方法 Aと方法 Bの長所である: