JP2006509297A - 文書セットのコンテンツ空間のナビゲーション - Google Patents

文書セットのコンテンツ空間のナビゲーション Download PDF

Info

Publication number
JP2006509297A
JP2006509297A JP2004558263A JP2004558263A JP2006509297A JP 2006509297 A JP2006509297 A JP 2006509297A JP 2004558263 A JP2004558263 A JP 2004558263A JP 2004558263 A JP2004558263 A JP 2004558263A JP 2006509297 A JP2006509297 A JP 2006509297A
Authority
JP
Japan
Prior art keywords
message digest
document
file
user
mapping table
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
JP2004558263A
Other languages
English (en)
Other versions
JP4602769B2 (ja
Inventor
カーペンティア・ポール・アール.エム.
ウィレムス・マールテン・ジェイ.ピー.エー.
ウィンターズ・ジョリス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Caringo Inc
Original Assignee
Caringo Inc
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 Caringo Inc filed Critical Caringo Inc
Publication of JP2006509297A publication Critical patent/JP2006509297A/ja
Application granted granted Critical
Publication of JP4602769B2 publication Critical patent/JP4602769B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/34Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 コンテンツベースの参照が用いられて順方向、逆方向および循環的にコンテンツ空間内の文書を通してナビゲーションできるようにする。
【解決手段】 逆方向を可能にするために、新しいバージョンについてのメッセージダイジェストだけでなく、古い文書のメッセージダイジェストも含む新しいバージョンについて記述子ファイルが作られる。メッセージダイジェストはそれから記述子ファイルについて作られる。ユーザはそれから、記述子ファイルのメッセージダイジェストで開始して逆方向にナビゲーションしえる。順方向ナビゲーションを可能にするために、マッピングテーブルは、古い文書のメッセージダイジェストを新しいバージョンのメッセージダイジェストにマッピングする。

Description

本発明は、「Content-based Addressing and Navigation Over Time」と題された2002年12月10日に出願された米国特許仮出願第60/432,495号の優先権を主張し、ここで参照によって援用される。
本発明は、一般に、コンピュータを用いた情報の記憶および検索に関する。より具体的には、本発明は、文書およびそれらのバージョンのコンテンツベースの参照、および文書のバージョン間のナビゲーションのための技術に関する。
従来技術は、国際公報第WO99/38093に記載されるように、コンテンツ参照可能な情報の概念、その記憶および検索、およびハッシュ関数、メッセージダイジェスト、および記述子ファイルの使用を含む。国際公報第WO99/38093は、コンテンツ参照可能な情報の記憶およびアクセスのための特定の技術を記載し、国際公報第WO01/18633は、コンテンツ参照可能な情報を暗号化する技術を記載する。これら公報は全て、参照によって援用される。
従来技術において説明されるように、コンテンツ参照可能な技術は、記憶されたコンテンツの完全性を保証するように文書を記憶およびアクセスするのに非常に有用でありえる。しかし文書または情報が時間につれて変化しえる場合、または文書が互いを参照する必要がある場合には、多くの新しい問題が提起される。コンテンツ参照は、具体的コンテンツをユニークに特定するので、変化するコンテンツとは、その文書についての新しいコンテンツアドレスを意味する。従来技術において説明されるように、ある技術は、特定の文書をユニークに表現するために「MD5」のようなメッセージダイジェストを用いることである。しかし複雑な文書空間が存在する場合においては、特定のタイプの情報(複雑なコンピュータシステムについてのユーザマニュアル群のセット、または航空機についての技術文書のような)を表現するためには多くの文書または文書のセットが必要となりえる。これらの状況においては、単一のMD5はユニークに多くの文書を表しえ(例えば記述子ファイルを用いて)、個々の文書は、それぞれが単一の文書または文書群のセットを参照する、多くの異なるMD5を含みえる。さらに、時間と共に変化する文書群のセットの多くの異なるバージョンが存在しえ(セットの中のある文書は変化し、残りは変化しないこともありえる)、2つの異なる文書がお互いを参照しなければならないかもしれない。このような複雑なコンテンツ空間(content space)では、情報の完全を確実にするようなかたちでの情報の管理、および情報へのアクセスがより難しくなる。
例えば、ボーイング747航空機のための完全な技術文書を考える。燃料サブシステム、通信サブシステム、機体サブシステムなどのような航空機の特定のサブシステムをそれぞれ記述する文書群のセットが複数存在するだろう。これらの文書群は、必然的にお互いを参照しなければならず、常に時間と共に変化していく。さらに事情を複雑にするのは、使用中の全ての747を完全に記述する単一の文書は存在しないことである。747型航空機を一般に記述する文書のマスターセットは存在するかもしれないが、ユニークなシリアル番号を持つ、製造ラインから出るそれぞれの個別の航空機は、異なるオプションを有し、異なる航空会社に納入されえるかもしれないという事実のために、それ自身の特定のセットの文書を持つことになる。よって特定の航空機について文書が時間と共に変わるからというだけではなく、異なるオプションを有する異なる航空機はオリジナルの文書の異なるバージョンを必要とするために、オリジナルの文書の異なるバージョンが存在する。それから747型航空機のためのこの技術文書の全ては、部品が変わり、プロシージャが変わり、そしてFAAの何百という改善命令が受け取られ準拠されると共に、時間と共に進化していく。
問題の本質を示すなら、いったん航空機が製造され飛行できる状態になると、その航空機が飛行のために証明を受ける前に、全ての技術文書を作成し、その文書が更新され、全ての差し替えページが正しい位置に挿入されたことを確実にするのに数週間から数ヶ月もかかりえる。全ての技術文書が更新され、最新バージョンが使用可能になるときでも、特定の時点において存在した文書のバージョンに戻ってレビューすることができることは将来に非常に有用でありえる。現実の世界では、内部参照群およびバージョン群を有する複雑な文書のセットが、取り出される情報の完全性を確実にするようなやりかたで、効率的に記憶され、管理され、かつインテリジェントにアクセスされなければならない多くの他の例が存在する。
よって、エンドユーザまたは複雑なソフトウェアアプリケーションがそうすることに依存することなく、このような複雑なコンテンツを信頼性高く管理するためのメカニズムおよび技術が必要とされる。このような問題に対応するために従来技術のコンテンツ参照可能な記憶技術を利用することが特に望ましい。
前述を達成するために本発明の目的によれば、コンテンツが時間と共に変化するのにあわせて、コンテンツベースの参照およびコンテンツのナビゲーションを可能にし、互いに参照する文書間でのナビゲーションを可能にする技術が記載される。特定の時点における文書群の特定のセットを表す「コンテンツ空間」の概念が導入される。本発明は、そのようなコンテンツ空間内で文書を通して順方向および逆方向にナビゲーションする技術を記載する。加えて、互いを参照する文書間で循環的にナビゲーションする技術が記載される。
逆方向ナビゲーションを可能にするために、システムソフトウェアは、文書の新しいバージョンが作られるとき、記述子ファイルの変化形を作る。(この新しいバージョンは、ユーザによって受け取られるか、または新しいバージョンのメッセージダイジェストが受け取られえる。)ユーザは、なんらかの方法で、新しい文書が古い文書よりも後のバージョンであると考えられるべきであることを示す。新しいバージョンについてのメッセージダイジェストだけでなく、古い文書のメッセージダイジェストも含む新しいバージョンについて記述子ファイルが作られる。メッセージダイジェストはそれから記述子ファイルについて作られる。ユーザはそれから、記述子ファイルのメッセージダイジェストで開始して逆方向にナビゲーションしえる。新しいバージョンの任意の個数がこのようにして一緒に結合されえる。システムソフトウェアは、ユーザが逆方向にナビゲーションし、かつそれぞれの前のバージョンを見ることを可能にし、またはユーザが最も早いバージョンへ直接にジャンプすることを可能にしえる。真正性の証明を提供するために、タイムスタンプおよびディジタル署名が逆方向ナビゲーションと結合されえる。
順方向ナビゲーションを可能にするために、文書のバージョンが作られるとき、システムソフトウェアはマッピングテーブル(またはもし必要なら多くのマッピングテーブル群)を作る。(新しいバージョンはユーザによって受け取られえ、または新しいバージョンのメッセージダイジェストが受け取られえる。)ユーザは、なんらかの方法で、新しい文書がオリジナル文書の後のバージョンであると考えられるべきことを示す。オリジナル文書および新しいバージョンについて記述子ファイルが作られ、メッセージダイジェストがそれぞれの記述子ファイルについて作られる。マッピングテーブルは、古い文書のメッセージダイジェストを新しいバージョンのメッセージダイジェストにマッピングする。(代替としてマッピングテーブルは、それらのそれぞれの記述子ファイルのダイジェストではなく、文書それら自身のメッセージダイジェストをマッピングする。)オリジナル文書のメッセージダイジェストおよびマッピングテーブルのメッセージダイジェストを含むように高レベル記述子ファイルが作られる。高レベル記述子ファイルのメッセージダイジェストはユーザに返される。
ユーザはそれから、高レベル記述子ファイルのメッセージダイジェストで開始して順方向にナビゲーションしえる。新しバージョンの任意の個数がこのようにして一緒に結合されえる。システムソフトウェアは、ユーザが順方向にナビゲーションし、それぞれのバージョンを見ることを可能にしえ、ユーザは、最新のバージョンに直接にジャンプしえる。代替実施形態において、オリジナル文書のメッセージダイジェストは、マッピングテーブル(またはマッピングテーブルのメッセージダイジェスト)と共に返され、ユーザは、もしこれらのパラメータを用いてセッションが起動されるなら、所望のコンテンツ空間内で順方向ナビゲーションが実行されえることを知らされる。この代替の実施形態において、高レベル記述子ファイルが用いられる。作られたマッピングテーブルは、逆方向ナビゲーションを可能にするためにシステムによって用いられえる。
循環ナビゲーションを可能にするために、システムソフトウェアは、文書群間での参照が必要とされるとき、マッピングテーブルを作る。ある文書は第2文書のメッセージダイジェストを含む。第2文書の新しいバージョンは、第1文書のメッセージダイジェストを含むように作られ、マッピングテーブルはオリジナルの第2文書のメッセージダイジェストを第2文書の新しいバージョンのメッセージダイジェストにマッピングする。セッション中の後の使用のために第1文書のメッセージダイジェストおよびマッピングテーブルがユーザに返され、またはオリジナル文書のメッセージダイジェストおよびマッピングテーブルのメッセージダイジェストを含むよう新しい記述子ファイルが作られる。高レベル記述子ファイルのメッセージダイジェストがユーザに返される。文書の任意の個数がこの技術を用いて循環的にリンクされえる。
上の技術は、複雑なコンテンツ空間を通してナビゲーションを可能にするために結合されえる。
本発明は、さらなるその利点と併せて、添付の図面と併せて以下の記載を参照して最もよく理解されえる。
図1A〜1Eは、時間と共に進化する変化する(evolve)文書群の簡単なセットを示す。文書群のセットについてのコンテンツ空間(content space)を、ある特定の時点において存在する文書として参照する。もちろん本発明は、より複雑なコンテンツ空間にも適用可能である。示されるコンテンツ空間は、本発明の理解に役立ち、より詳しく述べる前に簡単に説明される。
図1Aは、文書群A、BおよびCを含む時刻t1におけるコンテンツ空間を示す。この例では、文書Aは、そのテキスト中に文書BおよびCへの参照12および14を含む。これら参照は、単純にテキストファイル名でありえるが、本発明の応用例に最もふさわしい実施形態においては、参照12および14は、それぞれ、その内容によって文書BおよびCをユニークに特定するハッシュ値である。好ましくは参照12および14は、それぞれ、記述子ファイルをユニークに特定するハッシュ値であり、この記述子ファイルは、その文書をユニークに特定するハッシュ値を含む。この例では、ユーザは、文書A、BおよびCをすでに作っており、文書Aはその中で文書BおよびCへの明示的参照を含むことが望ましい。
図1Bは、時刻t2におけるコンテンツ空間20を示し、このとき、コンテンツ空間は時間と共に変化している。この状況では、ユーザは、16によってシンボルで示されるように文書Bの新しいバージョンB1を作っている。よってもしユーザがこの文書セットの最新バージョンを見たいなら、ユーザは、A、CおよびB1を見たいだろう。
図1Cは、時刻t3におけるコンテンツ空間30を示し、このとき、文書セットはさらに変化している。この例では、ユーザは、文書Bの他の文書、すなわち文書B2を作っている。この例では、文書B2は、必ずしも順次改訂される文書B1の新しいバージョンではない。文書B1およびB2は、異なる目的を意図した文書Bの異なるバージョンと見られえる。例えば、文書Bがあるビジネスプランの一部であると仮定すると、文書B1は、マーケティング部へリリースされるべきプランのバージョンに対応しえ、一方、文書B2は、技術部へリリースされるべきプランのバージョンに対応しえる。
図1Dは、時刻t4におけるコンテンツ空間40を示し、このとき、コンテンツ空間はさらに変化している。この状況では、ユーザは、文書B1の新しいバージョン、すなわち文書B1−1を作っている。
図1Eは、時刻t5におけるコンテンツ空間50を示し、このとき、コンテンツ空間は時間と共にさらに変化している。この状況では、ユーザは、B1−1から派生する文書Bのさらに別のバージョン、すなわちB1−2を作っている。この状況において、ユーザがマーケティング部のための文書セットの最新バージョンを見たいなら、そのエンドユーザは、文書A、CおよびB1−2を見たいだろう。一方、もしユーザが技術部のための文書の最新バージョンを見たいなら、そのエンドユーザは、文書A、CおよびB2を見たいだろう。
よって、文書の「バージョン」は、少なくとも2つの異なるやり方で捉えることができる。ある意味では、文書の新しいバージョンは、おそらくは改善点を含み、オリジナルに取って代わるよう意図される、その文書の次のバージョンである。例えば、文書B1−1は、おそらくはB1に取って代わるよう意図されている文書B1のあるバージョンである。一方、あるバージョンは、異なる目的のために意図される、文書の別のバージョンも指しえる。例えば、文書B1およびB2は、文書Bの異なるバージョンであるが、それらが文書Bに取って代わるように意図されていることはおそらくなく、B1がビジネスプランのマーケティングバージョンであり、B2がビジネスプランの技術バージョンであるだけである。B1およびB2のいずれも文書Bに取って代わることを意図されていないことはまず間違いない。本来の意図としては、文書Bはそれ自身として有用であり、文書Bの2つの新しいバージョンである文書B1およびB2も2つの異なる目的のためには有用であることだろう。
実際、文書の新しいバージョンとは、文書セットのユーザまたは作成者によって定義されるように、以前の文書または文書群のセットの事実上、任意の改訂を指す。例えば、図1Bを参照すれば、文書B1が文書Bのわずかに変更されたバージョンであることが可能な一方で、単にその文書セットのユーザが文書B1は文書Bのバージョンであると考えられるべきだと決定したために、B1は文書Bとは大幅に異なる文書であっても、あるバージョンと考えられることもありえる。実際、古い文書の新しいバージョンが以前の文書となんらかの関係を持たなければならないという要件はない。ユーザが、特定のコンテンツが他のコンテンツのあるバージョンだとみなされるべきだと決定するなら、本発明によればそれはあるバージョンと考えられるべきである。既存の文書のあるバージョンが、その既存の文書となんらかの類似性の程度を持たなければならないという要件はない。
例えば、もし会社が、そのプレスリリースの全てを一週間ごとにグループ化したいなら、プレスリリースの連続するバージョン群における情報はかなり異なっていても、それぞれの連続する週の分のプレスリリースは、以前の週のプレスリリースのあるバージョンとみなされえる。さらに、既存の文書のバージョンは、実際には、その既存の文書の前に作成された文書でありえる。例えば、もしユーザが文書Fおよび文書Fの作成後に作成された文書Gを提示されるなら、そのユーザは、Gは、Fのバージョン(伝統的なバージョン)であると宣言しえ、あるいは、本発明の文脈ではユーザは、文書Fは、文書Gのバージョンであると宣言しえる。
さらに、文書への明示的な参照および黙示的な参照(文書を他の文書のバージョンと呼ぶことによる)は、任意のやりかたで組み合わせられえる。例えば、文書Bは、その中にB1を参照する明示的な参照を持たない(すなわちB1がBのバージョンであることがユーザには黙示的に理解される)が、一方、文書Bが文書B1への明示的な参照を含みえ、同時に、B1が文書Bのバージョンであると考えられることが可能である(以下の循環ナビゲーションに関するセクションで説明されるように)。代替として、示されるようにこの状況は、文書Aのような文書が文書Bへの明示的な参照を含むが、文書Bは文書Aのバージョンとは考えられていないときにも存在しえる。
ここで用いられるように、「ユーザ」という語は、文書を管理、記憶またはアクセスしている編集者、発行人、ライター、文書管理者、または他の個人またはコンピュータのような、ここで記載されるシステムの任意のユーザを指す。ここで記載される本発明の実施形態において、そのようなユーザは、文書のバージョン群にわたって逆方向参照または順方向参照にナビゲートするために、文書間で循環的にナビゲートするために、またはシステムがそのようなナビゲーションを実行できるようにするためにシステムを使う。加えて、異なるユーザたちは、彼等自身の使用のために、同時に文書のバージョン群を作成しえる。本発明は、それぞれのユーザが自身のバージョンを他人から独立して、他人もまた異なるバージョンを作成しつつあることを知ることなく作成することを可能にする。
よって上述のように、オリジナル文書セットのコンテンツ空間は、時間と共に変化する。任意の複雑さの任意の文書セットのユーザにとって、特定の時点における完全な文書セットを見ることができること、意図された目的のための文書セットの最新バージョンを得ることができること、および時間を遡ってその文書セットのバージョンの変化を見ることができることは有利である。コンテンツ空間内のそのような順方向、逆方向および循環ナビゲーションのための技術は、これから簡単に検討されるハッシュベースの参照技術を用いる。
コンテンツベースの参照
図2は、文書のためのハッシュベースのユニークな識別子を作る技術を示す。コンテンツ空間を通した順方向、逆方向および循環ナビゲーションの以下の説明を理解するために、本発明の文脈におけるコンテンツベースの参照技術を簡単に検討することが役に立つだろう。
図2は、文書102についてのユニークな識別子122を作る技術を示す。以下の記載は、本発明によって表現および管理される簡単な文書の例を用いる。しかし文書102は、ディジタル形式で表現される任意のタイプの情報でありえる。例えば、本発明は、コンピュータファイル、ファイル群のグループ、ファイル識別子群のグループ、または他のデータまたはデータベース情報の集合体のような情報の任意の電子表現に適用可能である。データのこのような集合体は、ディジタルオーディオまたはビデオストリームからのフレームまたはクリップ、ディジタル写真、スキャンされた紙の文書、音声メッセージ、CAD/CAMデザイン、MRIまたはX線データ、メッセージレコードまたはファイルからのストリーム、システムの監査またはステータスログからのログエントリ、電子メールアーカイブ、小切手画像などを含む。データベース情報は、リレーショナル、階層、ネットワークまたは他のデータベースからのレコードを含む。一般に、ディジタル情報は、バイナリ(またはn進)ディジットの任意のストリングを含みえる。ある実施形態において、ディジタル情報は、バイナリラージオブジェクト、つまりBLOBとして操作される。以下の記載は、簡単な文書を例として用いるが、本発明はそのように限定されない。「コンピュータファイル」という語は、前述のタイプの情報の任意の電子表現を包含するようにここでは用いられてもいる。
アルゴリズム104は、文書102を処理して、その文書についてのユニークな識別子106を作るのに用いられる。好ましくはアルゴリズム104は、ハッシュ値106を作るハッシュ関数である。この例では、ハッシュ関数は、ハッシュ値またはメッセージダイジェスト(「MD」)106を作るのに用いられる。よく知られたハッシュ関数には、MD2、MD5、SHA、SHA−1、SHA−256、RIPEMD−160などが含まれる。
この技術で知られるように、文書に対するハッシュ関数の使用は、その文書の「ディジタル指紋」であり、ユニークにそれを特定する、ユニークなハッシュ値またはメッセージダイジェストを作る。ここで用いられるように、メッセージダイジェストまたは「MD」という語は、ハッシュ関数によって作られたハッシュ値を指し、文書についてのユニークなコンテンツベースの識別子を作るのに用いられえる任意のタイプのハッシュ関数を包含するよう意図される。図2のこの例は、MD5アルゴリズムがMD106を作るのに用いられることを想定している。
MD106は、本発明の目的のために用いられえ、またはそれは記述子ファイル108内に埋め込まれえる。記述子ファイル108は、メッセージダイジェスト106および文書102の情報または他の情報をさらに記述、特定または説明する任意のさまざまなメタデータ110を含む。記述子ファイルの記述およびメタデータのタイプは、上で参照された国際出願に記載される。ある実施形態において、メタデータ110は、記述子ファイル名、ファイルサイズ、アクセス権、所有者、保持期間などを含む。サブジェクト、タイトル、作成者、日付のような高レベル情報も含まれえる。記述子ファイルは、もし特定のアプリケーションで必要とされるならこのタイプの情報についてのプレースホルダとして機能するのに役立ち、かつもし状況がそうならファイル群のグループについてのメッセージダイジェストを保持するのにも役立つ。
本発明は、記述子ファイルを参照するメッセージダイジェストに適用可能であり、また個別の文書を直接に特定するメッセージダイジェストにも適用可能である。以下の記載では、コンテキストから記述子ファイルが好ましい(または必要とされる)場合が明らかになる。しかし一般に、記述子が「文書のメッセージダイジェスト」を規定するとき、これは文書の記述子ファイルのメッセージダイジェスト(このファイルは文書のMD5を保持する)、または文書を直接に特定するメッセージダイジェストを参照しえる。
メタデータ110は、文書を位置特定し、そのディレクトリ環境を再構成し、閉じられたコンテンツの使用により収入を生むプリパッケージされた電子商取引、または記述子ファイルおよびその使用およびコンテンツのためのオプションを記述する情報について補助する情報を含みえる。メタデータは、記述子ファイルそのものを参照しえ、または記述子ファイルによって(記述子ファイル内にリストされている文書についてのメッセージダイジェストによって)参照された具体的な文書に特定でありえる。記述子ファイルに関するメタデータは、そのタイプ、ファイル名、作成日時、コメント、データファイルまたはそれが表すディレクトリフォルダの個数、それが表す全てのファイルのサイズ、作成者、キーワードなどを含む。特定の文書についてのメタデータは、ファイル名、ファイルサイズ、作成日時、ファイルタイプなどを含みえる。本発明の実施形態と共に補助するために、メタデータは、マッピングテーブル、意図された目的、バージョンナンバ、リリース日時などのようなコンテンツ空間の名前、そのコンテンツ空間が順方向または逆方向ナビゲーションが可能かどうか、またはディジタル署名、タイムスタンプ、ディジタル証明書、ディジタル権利管理目的のトークン、または他の暗号化キーマテリアルセットのような他のセキュリティに関係した情報も含みえる。
いったん記述子ファイルが形成されると、ハッシュ関数114が記述子ファイルに適用され、他のメッセージダイジェスト116を作る。メッセージダイジェスト116は、今度は、従来技術に示される技術を用いて文書をユニークに位置探索(locate)し、特定するために用いられえる。例えば記述子ファイル108および文書102は、コンピュータの通常のファイルシステム内に記憶されえ、ここではそれらのファイル名はそれぞれがMD116およびMD106によって表現されるビットストリングである。またはそれぞれのファイルは、データベース内に記憶されえ、ここではファイルへのキーは、それぞれのファイルについてのそれぞれのメッセージダイジェストである。一般にファイル108および文書102は、任意のコンテンツ参照可能な記憶システム内に記憶されえ、ここでそれらは、そのメッセージダイジェストだけを用いて位置探索され、取り出されえる。
好ましい実施形態において、MD5メッセージダイジェストは、人間に容易に読めて書ける形式に変換される。MD5ハッシュ関数から結果として生じるメッセージダイジェストは128ビットの数なので、この数をより人間が使用するのに扱いやすい形でエンコードするのが望ましい。この結果として生じる数は、10進、16進または2進を含む任意のさまざまな形態でエンコードされえる。好ましくはこの数は、ベースASCIIキャラクタセット中の26のアルファベットおよび数字のキャラクタのセットへマッピングされるベース32の数に変換される。このマッピングは、「ASCIIアーマリング(ASCII Armoring)」と呼ばれ、コンテンツがアルファニューメリックコーディングに制限されることを要求するプロトコル上で送信するために2進情報を限られたキャラクタセットに収めるためにふつう用いられる。好ましい実施形態において、フラグキャラクタは、結果として生じるストリング内の所定の位置に含まれ、ストリングの全体長を27キャラクタにする。このフラグキャラクタは、使用するアルゴリズム、ファイルのタイプなどのような情報も提供しえる。
結果は、数字および大文字の27キャラクタのASCIIストリングである。このようなフォーマットは、より簡単に人間に書かれて、および/またはコンピュータによって操作されえ、また容易に多くのソフトウェアプログラムによって受け入れられるコンパクトな形態を提供する。加えて、メッセージダイジェストのこの特定の表現は、より簡単にデータクエリーによって取り出され、ソフトウェアアプリケーションファイルリクエストにコーディングされ、コンテンツまたはアセット管理システムによって参照され、オブジェクトブラウザでリクエストされ、ある文書から他の文書へ電子的にコピーおよびペーストされ、電子メールを介して送られるという利点を有する。
この例では、MD116は、27キャラクタストリング120に変換されている。具体的な実施形態において、ストリング120は、インターネット名118と連結され、URL122を作る。名前118は、DNSによって解決され、「trustclip.com」というドメインネームを含む。この具体的な実施形態において、「trustclip.com」は、コンテンツ参照可能な記憶デバイスに接続されるウェブサーバの位置特定を行うのに用いられる。ドメイン「trustclip.com」を運用するサービスプロバイダは、メッセージダイジェストをユニークな識別子として用いてこのような文書群を記憶し、URL(URL122のような)が与えられるときに、このような文書をユーザに利用可能にする。このようにして、ユーザがURL122を与えられるとき、またはそうでなければそれをリンクとして用いるとき、ウェブサイト「trustclip.com」は、MD120をとり、文書を位置特定し、それをユーザに返す。もしMD120が複数の文書についてのメッセージダイジェストを含む記述子ファイルを特定するなら、これら文書の全てが返される。本発明は、メッセージダイジェスト(形態116、120または他のもの)が多くのやり方で用いられてオリジナルの文書を位置特定することを想定する。前述のように、メッセージダイジェストは、文書のファイル名、データベースのキー、URLまたはURI(またはIPアドレスまたはパス名のような他のファイルロケータ)内に埋め込まれて、または単にそのままで用いられえる。
他の実施形態において、メッセージダイジェストは、そのときメッセージダイジェストを用いてメッセージダイジェストによってユニークに特定される文書を検索し位置特定をするためにサービスプロバイダに与えられる。例えば、サービスプロバイダは、それら自身のコンテンツ参照可能な記憶をサーチしてもよく、または他のエンティティの記憶内で文書を検索してもよい。またメッセージダイジェストは、企業ネットワークを通して、イントラネット上で、インターネット上で、またはそのメッセージダイジェストによってユニークに特定される文書を探す目的で他のやり方で、ブロードキャストされえる。
記述子ファイル
記述子ファイルの実施形態は、上で参照された国際出願において記載される。以下の図は、本発明のコンテキストで有用なさらなるバリエーションを示す。
図3は、第1タイプの記述子ファイルおよびメッセージダイジェストの例を示す。記述子ファイル150は、オプションのメタデータおよびユニークに文書AおよびBを参照する2つのメッセージダイジェストを152および154を有する。もちろん記述子ファイルは、単一のメッセージダイジェストを含み、または任意の個数のファイルを参照する任意の個数のメッセージダイジェストを含みえる。この例では、説明を簡単にするために2つの文書が示される。このタイプの記述子ファイルにおいては、特定の文書を直接に特定するメッセージダイジェストが含まれる。もちろんメッセージダイジェスト158は、ファイル150についても計算されえ、この場合、MD158は、文書AおよびBを参照するのに用いられる。
図4は、第2タイプの記述子ファイルの例を示す。記述子ファイル160は、オプションのメタデータおよびユニークに他の記述子ファイル164を特定するメッセージダイジェスト162を有する。ファイル164の中には、文書Aを特定するメッセージダイジェスト166がある。このタイプの記述子ファイル160について、他の記述子ファイルを参照するメッセージダイジェストだけが存在する。1つのMD162だけが示されるが、ファイル内には任意の個数のメッセージダイジェストが存在しえ、それぞれが他の記述子ファイルを参照する。もちろんメッセージダイジェスト168は、記述子ファイル160について形成されえる。
図5は、第3タイプの記述子ファイル170を示す。この例では、ファイル170は、オプションのメタデータ、ユニークに文書Aを特定するメッセージダイジェスト172、および他の記述子ファイル175を特定するメッセージダイジェスト174を有する。ファイル175は、文書Bを特定するメッセージダイジェスト176を含む。このタイプの記述子170について、それはある文書を直接に特定するメッセージダイジェストと共に、他の記述子ファイルを特定するメッセージダイジェストも両方を含む。もちろん、メッセージダイジェスト178は、記述子ファイル170について作られえる。これらのさまざまなタイプの記述子ファイルは、本発明の実施形態において役に立つ。
逆方向ナビゲーション
図6は、時刻t5における文書群のセットについてのコンテンツ空間50を示し、ここでユーザは、バージョン群を逆方向にナビゲーションしたい。この例では、ユーザは、特定の文書の最も新しいバージョンから開始したいかもしれなく、それぞれのバージョンを順々に遡るか、または文書のオリジナルバージョンに直接に戻るかのいずれかをしたいかもしれない。例えば、もしユーザが文書B1−2を所有しているなら、彼または彼女は、202、204および206のリンクを辿って、その文書の以前のバージョンを検討したいかもしれない。またはユーザは、B1−2から直接に文書Bへと直接207を介してジャンプして戻りたいかもしれない。またはもしユーザが文書B2を所有しているなら、ユーザは、リンク208を辿って、オリジナル文書Bを見たいかもしれない。例えば、文書B1は、文書Bのマーケティングバージョンでありえ、一方、文書B2は、文書Bの技術バージョンでありえる。
この簡単な例では、単一の文書だけが示される。しかし文書B(例えば)は実際は任意の個数の文書群のセットでありえる。バージョンB1は、文書セットBのあるバージョンと考えられえるが、なぜなら文書はそのセットに追加されており、文書はそのセットから削除されており、またはおそらくはセット内の単一の文書が変更されているからである。文書セットB1は、文書セットBのあるバージョンとも考えられえるとも想定されるが、これはセットB内の全ての文書が完全に置き換えられているからである。再び、どの文書または文書セットが、以前の文書または文書セットの新しいバージョンと考えられるべきかを決めるのはシステムのユーザに委ねられている。
図7は、本発明の実施形態によってどのようにユーザがバージョン群にわたって逆方向にナビゲーションしえるかを詳細に示し、図8の説明においてこの図が参照される。本発明は、コンピュータ上で走るシステムソフトウェア(「システム」)を想定し、ユーザはこのコンピュータと対話して本発明のさまざまな実施形態を実行する。このシステムは、メッセージダイジェストを作り、文書を記憶し、文書をメッセージダイジェストに基づいて取り出し、バージョン群にわたって逆方向および順方向ナビゲーションを促進し、循環ナビゲーションを促進し、かつユーザが対話するユーザインタフェースを提供する。このようなシステムは、当業者には理解されるように、単一のスタンドアローンコンピュータ上で、分散されたコンピュータ群上で実現されえ、またはインターネット上でアクセスされえる。この開示を読めば、当業者なら任意の適切なコンピューティング環境を用いて本発明のさまざまな実施形態を実現し利用できるだろう。
図8は、バージョン群にわたる逆方向ナビゲーションをどのようにシステムがセットアップし、可能にするかを記載するフローチャートである。ステップ250において、ユーザは、文書Bを作成するかまたはそうでなければ獲得する。ユーザは、文書Bを特定するメッセージダイジェストも与えられえる。文書Bは、任意の文書または文書群のセットでありえ、これについてバージョン群が作られると予期される。ステップ254において、システムは、文書Bのメッセージダイジェスト221、ファイル223およびメッセージダイジェスト220(もし既に与えられていないなら)を作る。ステップ258において、ユーザは、文書B1を作成するかまたはそうでなければ獲得する。この例では、ユーザは、文書B1が文書Bのバージョンであると意図し、例えば文書B1は、文書Bのマーケティングバージョンである。
ステップ262において、ユーザは、システムにB1が文書Bのバージョンであることを示す。この時点でシステムは、新しいバージョンが存在し、よってあとでこれらのバージョン群にわたって逆方向ナビゲーションを可能にするステップを取る。ステップ266において、システムは、文書B1のメッセージダイジェスト222を作る。ステップ270において、システムは、MD222を含む文書B1についての記述子ファイルおよび文書BのMD221を含む記述子ファイル223についてのメッセージダイジェスト220を作る。オプションとしてメタデータデータも含まれる。ステップ274において、システムは、文書B1についての記述子ファイル224を特定するメッセージダイジェスト226を作る。この時点で、MD226は、文書Bの最新バージョンについてのユニークな識別子としてユーザに提供されえる。後でここで記載されるように、ユーザは、文書B1にアクセスするためだけではなく、オリジナル文書Bへと逆方向ナビゲーションをするのにもMD226を用いえる。
ユーザが今度は文書B1−1およびB1−2も追加し、これらがオリジナル文書Bの最新のバージョン群として考えられることを意図すると仮定すると、システムは、ステップ258〜266において記載された技術を用いて記述子ファイル234および244を作るようステップ278においてループを実行する。これらファイルを作る過程で、記述子ファイル244を特定するメッセージダイジェスト246が作られる。後に記載されるように、ユーザはMD246を用いて、最新文書Bを見るだけでなく、オリジナル文書Bに最終的に到達するまでそれぞれのバージョンを順に辿って戻ることもできる。
今度はステップ254に戻って、ユーザ(または異なるユーザ)文書Bの異なるバージョン、すなわち文書B2を作りたい場合を考える。この例では、文書B2は、文書Bの技術バージョンであると想定する。文書B2を作るユーザは、B1を作ったのと同じユーザである必要はなく、実際、ユーザたちは他のユーザが異なるバージョンを作りつつあることに気付いている必要はないことが理解されよう。さらに、他のユーザも文書Bのバージョン群を作りつつあることを知らない異なるユーザによってそれぞれ作られた、文書Bの任意の個数のバージョン群が存在しえる。
この例ではユーザは、ステップ286において文書B2を作る。ステップ290において、ステップ262〜274の技術を利用し、文書B2の記述子ファイルのメッセージダイジェストが作られ、ユーザにステップ294において返される。このメッセージダイジェストを用いて、ユーザは、文書Bの最新の技術バージョン、すなわちB2を見ることができ、またはオリジナル文書Bに逆方向にナビゲーションすることもできる。文書Bの最新のバージョンを見るために、マーケティング部門にいるユーザにMD246が戻され、一方で、ステップ290において作られた文書B2についてのメッセージダイジェストは文書Bの最新のマーケティングバージョンを見るためにマーケティング部門にいるユーザに返されることが理解されよう。これらは、異なる目的を意図された異なるメッセージダイジェストであり、これらのメッセージダイジェストが文書Bの異なるバージョン群、すなわちマーケティングバージョンおよび技術バージョンを特定することを示すよう任意の適切なやり方で記憶され、ラベルが付けられ、参照されえる。当業者なら任意の数のユーザが、特定の時刻におけるコンテンツ空間の「彼等の」バージョンである彼等が考えるものを参照する、彼等自身のメッセージダイジェストをそれぞれ作りえることがわかるだろう。例えば、MD246は、文書Bの最新のマーケティングバージョンを特定する一方で、ユーザは、その文書の最新バージョンについての識別子としてMD236を参照することだけを望むかもしれない。このシナリオでは、ユーザは、自分自身の目的のためには文書B1−1が文書Bの最新バージョンだと考える選択を行うことになる。
バージョンにわたって逆方向ナビゲーションを行うために、図7を参照してここで記載されるようにユーザはシステムソフトウェアと対話する。マーケティング部門のユーザが文書Bの最新のマーケティングバージョン、または以前のバージョン群のうちの1つを見たいと仮定すると、ユーザは文書Bの技術バージョンについてのメッセージダイジェストであるとわかっているMD246を得る。ユーザは、記述子ファイル244をユニークに特定しそれを取り出すことがそのときにできるシステムにMD246を与える。ファイル244を開けると、システムは、ユーザに適切なインタフェースを通して、MD238(文書B1−2へのリンクを提供する)、またはその文書の次に最も新しいバージョンを特定するMD236を提示する。記述子ファイルの実現およびリンクを辿るためにシステムが記述子ファイルをどのように使うかは、さまざまなやりかたで実現されえる。例えば、この実現は、記述子ファイル内に挙げられたメッセージダイジェストが常に特定の順番であること、および第1メッセージダイジェストは文書の現在のバージョンを特定し、一方、第2メッセージダイジェストは次に最も新しいバージョンへ戻るリンクを提供することを単に想定しえる。代替として、記述子ファイル内のメタデータは、どのメッセージダイジェストがどの文書を参照するかを示すテーブルまたは他の情報を提供しえる。
この例では、ユーザは、選択し、クリックし、または他のやりかたでMD236を対象のリンクとして特定でき、これは記述子ファイル234への参照を提供する。いったんファイル234を得ると、システムはそれから、MD228を用いて文書B1−1を検討するか、またはMD226を用いてさらに逆方向に進むかの選択をユーザに提供しえる。MD226を選択することによって、それからシステムは記述子ファイル224を取り出す。ユーザはそれから、MD222を介して文書B1を検討するか、またはMD220を用いてオリジナル文書Bを検討するかの選択を有する。このようにして、ユーザは、一連の文書群のバージョン群を有する特定のコンテンツ空間をユニークに特定する単一のメッセージダイジェスト246で単に始めることによって、逆方向ナビゲーションを文書のバージョン群にわたって行うことができる。
図9は、逆方向ナビゲーションの代替実施形態を示し、ここでユーザは、その文書の最新バージョンのそれぞれを順に通る必要なく、文書のオリジナルバージョンへ直接にジャンプすることが許される。逆方向ナビゲーションのためのこの実施形態において、ユーザは、彼または彼女がMD246を用いてオリジナル文書を見たいことを最初にシステムに示しえる。この実施形態において、それからシステムは、それが最終的にMD220に到達し、ユーザに文書Bを特定し提示することができるまで自動的にメッセージダイジェストリンクを逆方向に辿る。記述子ファイル244、234および224のメッセージダイジェストを取り出し、開いて、用いることは、システムによって自動的になされ、ユーザにはトランスペアレントである。このようにして、図8で実行されたセットアップを用いて、ユーザはオリジナル文書へと直ちにナビゲーションできる。
この実施形態において、システムは、MD220(オリジナル文書Bをユニークに特定する)を記述子ファイル224、234および244のそれぞれにいつも挿入する。記述子ファイル内に挙げられた第1メッセージダイジェストは常にオリジナル文書のメッセージダイジェストであるか、または記述子ファイル内のメタデータがオリジナル文書についてのメッセージダイジェストがそのファイル内に存在することを示すのに用いられえることが、システムによって本質的に(inherently)理解されえる。
このようにしてそれから、ループ278のあいだ、記述子ファイル234が作られているときに、システムはMD226を記述子ファイル234内に挿入するだけでなく、システムは、MD226を用いて記述子ファイル224をリアルタイムで得て、かつオリジナル文書BについてのメッセージダイジェストであるMD220を取り出す。システムは、それからMD220を記述子ファイル234内に挿入できる。同様にして、記述子ファイル244が作られるとき、MD220はファイル244内にも挿入されえる。
図9は、この実施形態の実現例を示し、ここでは記述子ファイルがそれぞれ、オリジナル文書のメッセージダイジェストであるMD220を含むように変更されている。明瞭さのために、文書または記述子ファイルの全てがこの図に示されているわけではない。記述子ファイル244は、特定の順番でメッセージダイジェストをリストする。すなわち、第1メッセージダイジェストMD220がオリジナル文書を特定し、第2のMD238がユーザが見ることのできる文書の現在のバージョンを特定し、第3のMD236が文書の次の最も新しいバージョンを特定する。もしこのように実現されるなら、追加のメタデータデータが、どのメッセージダイジェストがオリジナル文書を特定するかを示すために追加されることは厳しくは必要ではない。
しかしある実施形態においては、メタデータは、どのメッセージダイジェストがどれであるかを示すために追加される。メタデータ296は、記述子ファイル244内のどのメッセージダイジェストがどの文書を特定するかを特定するために、テーブル、リストまたは他のデータ構造の形で追加される。メタデータ296は、2つのカラムを表現し、第1カラムは、特定の文書が何かを記述する記述を提供し、一方、第2カラムは、文書の名前を提供する。文書がこのテーブル内に現れる順番は、これら特定の文書についてのメッセージダイジェストも同じ順番でリストされていることを意味するとシステムによって理解される。代替として、テーブル296は、特定の文書についての実際のメッセージダイジェストを含むように第3カラムを持つよう拡張されえる。
この例では、ユーザがMD246をシステムに提示し、ユーザがオリジナル文書を見たいと示すとき、システムは、記述子ファイル244を特定し取り出す。それから、メタデータ296を用いて(またはどのメッセージダイジェストがオリジナル文書を参照するかの黙示的な理解(inherent understanding)を通して)、システムはユーザのために、MD220を得て、オリジナル文書Bをすぐに特定し、位置決定できる。システムはまた、ユーザが最新の文書B1−2を見るか、または前述のように以前のバージョンにわたって逆方向ナビゲーションができるようにしえる。
図10は、中間ファイルを用いた逆方向ナビゲーションのバリエーションを示す。図10は、説明のために図7からのファイルおよび文書の一部しか示していない。前のように、文書B1−2およびB1−1についてのメッセージダイジェストを含む記述子ファイル244および234が示される。しかしこのバリエーションにおいて、ファイル244内のメッセージダイジェストは、直接に記述子ファイル234を参照しないが、その代わりに中間ファイル297を参照する。換言すれば、中間ファイル297は、記述子ファイル234を特定するMD236を含む逆方向ナビゲーションセットアッププロセスのあいだに作られる。ハッシュ関数は、ファイル297、すなわちMD298についてのハッシュ値を作るために用いられる。MD298は、それから記述子ファイル244内に置かれる。
このようにして、ユーザが以前のバージョン群にわたってバックトラックするときには間接のレベルが追加される。追加のステップが図8のフローチャートのステップ270において中間ファイルを受け入れるように加えられる。例えば、記述子ファイル244が作られる前に、中間ファイル297がMD236と共に作られる。ファイル297についてのメッセージダイジェストがそれから、MD238と共に新しく作られた記述子244内に置かれる。中間ファイルは、一連のバージョン群内のそれぞれのバージョンについて作られえる。必要であるなら、さらなる間接レベルを提供するためにバージョン群間で1つ以上の中間ファイルを作りえる。例えば、バージョンB1−2およびB1−1間に単一のファイル297を有する代わりに、2つ以上の中間ファイルが記述子ファイル244および234間に存在しえる。ファイル297は、適切なコンピュータファイルでありえる。例として、ファイル297は、マイクロソフトオペレーティングシステムで利用可能な「ショートカット」ファイルまたはリンクファイルである。他のタイプのファイルには、URLファイル、XMLファイル、HTMLファイル、テキストファイルなどが含まれる。
逆方向ナビゲーションの例
図11〜13は、逆方向ナビゲーションの使用の例を示す。シチュエーションによっては、文書(または文書セット)の古いバージョンを通して逆方向ナビゲーションをするだけでなく、古いバージョンがオリジナル文書の真のコピーであることを証明できることが有用でありえる。この例は、文書のバージョンを検証し、取り出されたコピーがオリジナル文書の真のコピーであることを証明するために本発明の実施形態がどのように利用されえるかを示す。
多くの場合において、文書群およびそれら文書群のその後のバージョンは、電子的に発行され、これら電子文書は、公式の、またはレファレンスバージョンである。後の時点で、コンピュータから取り出されたこれら電子文書のバージョンが、実際にオリジナルの真のコピーであることを証明することが有用でありえる。例として、「Staatsblad」と呼ばれるベルギー法の官報を考える。ベルギー政府は、最近、この官報を紙で発行するのを止め、今はウェブサイト上で利用可能にすることによって、この刊行物を電子的に発行するだけである。
しかし問題があるのは、何年も後に取り出された、または何年も後に印刷された特定の文書が、実際に、Staatsbladウェブサイト上で原本として発行された真のコピーであることを証明することが困難でありえることである。官報はウェブサイト上でのみ発行されるので、ハッカーがそのサイト上の法律文書を不法に変更することも可能である。他の公式バージョンが存在しないために、法律文書の正確な内容を証明することは困難でありえる。さらに、不届き者が公式の法律文書をダウンロードし、それを自分たちの詐欺的目的のために改竄し、それから彼等が持つそのバージョンがオリジナルの真のコピーであることを主張することがありえる。もし公式ウェブサイト上の電子文書が真の文書であることが証明できないなら、その者は、そのウェブサイトがハッカーによって、または相手方によって改竄されたと主張するかもしれない。以下は、ベルギー政府によって電子的に発行された法律文書を例として用いて、何年も後の任意の当事者が、そのようなウェブサイトから得られたその文書および以前のバージョンが実際にオリジナル文書の真のコピーであることに確信を持てることを示す。
図11は、現在の例のコンテキストにおける記述子ファイルの内容のある表示を示す。この例では、システムは、記述子ファイルをユニークに特定するURL304を受け取ったことに応答してインタフェースウィンドウ302をユーザに示す。本発明を実現するために非常にさまざまなコンピュータおよびソフトウェアが用いられえる。この例では、マイクロソフトオペレーティングシステムを走らせるPC互換のコンピュータが、ウェブサイト「trustclip.com」にアクセスするためにインターネットブラウザを用いている。ユーザは、ドメイン名だけでなく、128ビットのメッセージダイジェストまたはハッシュ値を記号表現する27キャラクタのストリングも含むURL304をブラウザに提供している。このメッセージダイジェストを受け取るのに応答して、ドメインサーバ上で走っているシステムソフトウェアは、そのコンテンツ参照可能な記憶において、そのメッセージダイジェストによってユニークに特定される記述子ファイルを位置特定している。ウィンドウ302は今度は、他の情報と共にその記述子ファイルからの情報の表示を行う。ヘディング305は、このサービスを利用するために電子メールアドレスを提供するためのプロンプトと共に、フランス語およびフラマン語の両方でのタイトルを提供することによってアプリケーションを導入する。日付306は、このシステムに提供されたURL304が、2003年1月10日に電子的に発行されたベルギー法へのユニークな参照であることを示す。
ファイル名308は、URL304によって特定された記述子ファイルを通して利用可能であるファイルを示す。サイズ310は、それぞれのファイルのサイズを示す。前述のように、ファイル名およびサイズおよび他の情報は、好ましくは記述子ファイルのメタデータ内に記憶されるが、一方、記述子ファイル内に見られるメッセージダイジェストのリストは、リストされた4つのファイルのそれぞれをユニークに特定するリンクを提供する。この例では、サーバのコンテンツ参照可能な記憶はまた、前述の、または従来技術において利用可能な技術を用いて、これらのファイルを記憶し、そのメッセージダイジェストに基づいてそれぞれのファイルを位置特定およびアクセスすることができる。
2つのPDFファイル312が、2003年1月10日に電子的に発行されたベルギー法の要約および完全な記述を提供するコンテンツファイルである。(2つのコンテンツファイルだけしか示されないが、記述子ファイル内で任意の個数のファイルが参照されえる。)インデックスファイル314は、コンテンツの以前のバージョンへのリンクと共に利用可能なコンテンツのインデックスを提供するXMLファイルである。レシートファイル316は、タイムスタンプおよびその中のコンテンツおよび以前のバージョンへのリンクが、その日に公式な法としてオリジナルとして電子的に発行された真正な写しであることを疑いなく証明するディジタル署名を提供するXMLファイルである。オプション318は、選択されたファイルをダウンロードする手段をユーザに提供する。よって、簡単なURL304(メッセージダイジェストを含む)は、ある日に公開された公式の法律だけでなく、後述されるように以前のバージョンの保証された真のコピーへのアクセスも任意のユーザに対して提供する。
図12は、図11において参照されたインデックスファイルのある表示を示す。ウィンドウ330は、ブラウザウィンドウ内に表示されるインデックスファイルのコンテンツの1つの可能な見え方を提供する。もちろん、インデックスファイルのコンテンツを見るために、またはその情報を提示するためには、表示の他の技術および他のソフトウェアが用いられえる。日付332は、2003年1月10日に公開された法律を参照するコンテンツを示す。ファイルリスト334は、それぞれのファイルが取り出されえるURL、ファイル名、ファイルサイズおよびファイルハッシュ値をリストする。この例では、リスト334に示されるそれぞれのファイルについてのファイルハッシュ値は、記述子ファイル内から特定のコンテンツファイル312を参照するのに用いられるハッシュ値と同じではない。この例では、リスト334内のハッシュ値は、文書のさらなる特定を提供するために、異なるハッシュ関数を用いて計算されている。この実現例に依れば、ユーザは、リスト334に挙げられたURLを用いて文書を取り出しえ、それから与えられたハッシュ値を用いてコンテンツを認証しえ、またはユーザは、ドメイン「trustclip.com」のコンテンツ参照可能な記憶内に記憶されている特定のPDFファイル312を、ウィンドウ302を用いてダウンロードしえる。
URL336は、2003年1月9日に発行されたこれら文書の以前の版へのリンクを提供する。この例では、ドメイン名はメッセージダイジェストと連結されることによって、記述子ファイルを取り出されリストされたメッセージダイジェストに対応させるために、ユーザがサイト「trustclip.com」に簡単に容易にリンクできるようになっている。URL304が2003年1月10日に公開された文書の現在のバージョンへのユニークなリンクを提供するように、URL336は、文書の以前のバージョンを参照する記述子ファイルをユニークに特定する。この例では示されていないが、当業者は、URL336を辿ることによって、これら文書の以前バージョンへのリンクと共に対応するインデックスファイルおよびレシートファイルと併せて記述子ファイルのコンテンツを示す、ウィンドウ302に非常によく似たウィンドウがユーザにそれから示されることを理解するだろう。
さまざまな実施形態において以前に説明されたように、ウィンドウ302に示される記述子ファイルのコンテンツは、図12のインデックスファイルをユニークに特定するメッセージダイジェストを含む。URL336はインデックスファイルの一部なので、またインデックスファイルはそれからハッシュされそのメッセージダイジェストが302に示される記述子ファイル内に置かれるので、URL336が以前のバージョンへの真正なリンクであることが合理的な疑いを超えて検証されえる。換言すれば、ハッカーがインデックスファイルのコンテンツを変更すること、またはURL336に示されるメッセージダイジェストを変更することはほとんど不可能になる。インデックスファイルは、図10で説明されたバリエーションを利用することは注記に値する。この例では、以前のバージョンを参照するメッセージダイジェスト336は、ウィンドウ302に示される記述子ファイル内に直接には含まれないが、ダイジェスト336は、インデックスファイル内に含まれ、このインデックスファイルが記述子ファイルによって参照される。換言すればインデックスファイルは、以前のバージョンへ到達するためのさらなる間接のレベルを提供する中間ファイルである。
図13は、図11で参照されたレシートファイルのコンテンツのある表示を示す。この例では、ウィンドウ350は、インターネットブラウザ内のレシートファイルのコンテンツを表す。部分352は、バージョン、タイプおよび作成された時刻を含むレシートファイルについての一般情報を示す。時刻354は、レシートファイルがタイムスタンプされるときの正確な時刻を提供する。この実施形態において、2000年10月の欧州法によって認可された特別なハードウェアがタイムスタンプを提供するのに用いられている。ポリシー356は、欧州法によって確立されたガイドライン下で公的機関によって遵守される特定のポリシーを示す。当業者には理解されるように、真正かつ検証可能であるタイムスタンプを提供するのに任意のさまざまなタイムスタンプポリシーおよびハードウェアが用いられえる。タイムスタンプを提供する方法およびまさにその性質は、管轄区域、アプリケーションのタイプおよび特定の実現例に大きく依存しえる。
アタッチメント360は、ウィンドウ302に示される記述子ファイルコンテンツ内に含まれる添付されたファイル(レシートファイル以外の)をリストする。ファイル362および364は、第1および第2PDFファイルを参照し、それらの拡張子、サイズおよびファイルハッシュ値を示す。ファイル366は、インデックスファイルを参照し、またそのインデックスファイルについてのハッシュ値もリストする。レシートファイル内にインデックスファイルについてのハッシュ値を提供することによって(レシートファイルそのものもハッシュされる)、インデックスファイルのコンテンツ(以前のバージョンへのリンクを含む)が改竄されえないというさらなる確実性が提供される。
部分370は、ディジタル署名およびそれらを提供した公的機関、すなわち組織HyperTrustに関する。この部分は、組織「HyperTrust」がこれらファイルを作り、ディジタル的にそれらに署名した組織であることを立証する。実際のディジタル署名はこの図では示されないが、このレシートファイルの元になるXML表現に内に見いだされえる。ファイルのコンテンツを証明し、だれがその情報に署名したかを認証するなどのためにディジタル署名を使用することは、当業者にはよく知られた技術である。よってインデックスおよびレシートファイルの使用を通して、ユーザには、文書の最新バージョンを見るときに、文書が真正であるというだけでなく、ユーザが取り出すその文書の以前のバージョンも真正のバージョンであるということが確実に提供される。
順方向ナビゲーション
図14は、ユーザがバージョン群にわたって順方向にナビゲーションしたいコンテンツ空間50を示す。この例では、文書Aを有するユーザは、例えば、リンク402、404および406を辿ることによって、文書Bに関連付けられた後のバージョンを見たいと思う。あるいはユーザは、文書Bから文書B1−2へリンク408を直接に辿ることによって、文書Bの最新バージョンを見たいと思う。他の実施形態において、ユーザは、文書B、またはおそらくは文書Bを特定するメッセージダイジェストを所有しており、その後のバージョンを見たいと思う。以下の例は、文書Bについてのメッセージダイジェストを含む文書Aをユーザが持つシチュエーションを説明する。もしそのユーザが文書Bから始めたいと思うなら、記述子ファイル446は、MD418ではなくMD428を含み、記述子ファイル446について作られたメッセージダイジェストは、MD428’が文書B(そのメッセージダイジェストは元々はMD428である)からの順方向ナビゲーションを可能にすることを反映させるためにMD418’ではなく、428’とラベルが付けられるだろう。
図15は、順方向ナビゲーションを実行する技術を詳細に示す。最初に、ユーザが特定の文書Aを持ち、システムがメッセージダイジェスト414、記述子ファイル416、およびユーザがMD418を用いて文書Aをユニークに特定するのを可能にする対応するメッセージダイジェスト418を作ったシチュエーションを考える。文書Aは、文書Bへの参照を含む。この例では、メッセージダイジェスト428は、記述子ファイル426およびメッセージダイジェスト424を介して文書Bを参照し、MD428は文書A内に埋め込まれる。このようにして、MD418を所有するユーザは、文書Aをユニークに特定し、参照された文書Bをユニークに特定するリンクを見つけることができる。しかしある時点において、ユーザは、文書B1を作って、その文書へ順方向にナビゲーションができるようにしたくなる。これを開始点として、ここでこのプロセスがどのようにして起こるかを説明する次の図を参照する。
図16は、順方向ナビゲーションをセットアップするプロシージャを記載するフローチャートである。このシチュエーションにおいて、文書AおよびBおよびそれらの関連するメッセージダイジェストがすでに前述のように存在すると仮定する。まず、ステップ460において、ユーザは、文書A(および文書Bのような任意の参照された文書)を特定するメッセージダイジェストであるMD418を得る。以下の例では、記述子ファイルがそれぞれの文書について作られ、対応するメッセージダイジェストがそれぞれの記述子ファイルについて作られることを仮定する。この実施形態において、ファイル名、作成日時などのような情報を提供するためにそれぞれの記述子ファイルのメタデータが用いられえる。これは好ましい実施形態であるが、記述子ファイルが厳密には必要でない場合には、特定の文書についてのメッセージダイジェストはその文書を、中間記述子ファイルを用いるのではなく、直接に特定しえる。例えばMD428は、文書Bを直接に特定するMD424を含む記述子ファイル426を特定する。他の実施形態において、MD424は、記述子ファイル426が厳密には必要でないように、ファイルA内に直接に埋め込まれえる。しかし記述子ファイルは、複数のファイルを一度に参照できる可能性を提供することによって、かつメタデータを提供することによって、一般には有用である。
ステップ464において、ユーザは文書B1を作る。代替として、ユーザは、どこか他の所から文書B1を得てもよく、または文書B1についてのメッセージダイジェストまたは文書B1についての記述子ファイルのメッセージダイジェストが単に与えられてもよい。ステップ468において、ユーザは、文書B1が文書Bのバージョンとして考慮されるべきであること、および順方向ナビゲーションが将来に使用できることが望ましいことをシステムに示す。ステップ472においてシステムは、文書B1のメッセージダイジェスト434を作る(以前に提供されなかった場合に限り)。好ましくは、システムは記述子ファイル436および記述子ファイルおよび間接に文書B1を特定するメッセージダイジェスト438も作る。将来の順方向ナビゲーションを可能にするために、ステップ476において、MD428をMD438にマッピングする単一レコードを作ることによってシステムはマッピングテーブル440を作る。換言すれば、MD428(文書Bを特定する)は、MD438(文書B1を特定する)にマッピングされる。よって順方向ナビゲーションのあいだ、MD428(文書B)が発見されるときはいつでもMD438(文書B1)がその場所で用いられるべきであることをシステムに示すためにマッピングテーブルが用いられる。このようにして、システムは、文書Bから文書B1へジャンプしえる。このシステムはまた、マッピングテーブルを特定するためにメッセージダイジェスト442を作る。
ステップ480においてシステムは、MD442および元々文書Aを特定するために用いられたMD418を含ませることによって記述子ファイル446を作る。メッセージダイジェスト418’はそれから記述子ファイル446を特定するために作られる。ステップ484において、MD418’は、文書Aから文書Bのバージョンへの順方向ナビゲーションを実行するためにメッセージダイジェストとしてユーザに返される。
マッピングテーブル440は、1つのエントリだけを有するマッピングテーブルの非常に簡単なバージョンであることに注意されたい。マッピングテーブルは、それぞれ1つのメッセージダイジェストを異なるメッセージダイジェストにマッピングし、よって順方向ナビゲーションを提供する任意の個数のエントリを有しえる。例えば、もし文書Bが実際に多くの文書群を含む文書セットであるなら、マッピングテーブルは、それぞれのエントリが、文書の古いバージョンについてのメッセージダイジェストを文書の新しいバージョンについての新しいメッセージダイジェストにマッピングする多くのエントリを有しえて、このときメッセージダイジェストは直接に文書を特定する。マッピングテーブルは、図20に示される他のシチュエーションにおいては多くのエントリを有しえる。メッセージダイジェストが、複数の文書についてのメッセージダイジェストを保持する記述子ファイルを特定し、マッピングテーブルが記述子ファイルメッセージダイジェストをマッピングするシチュエーションにおいては、マッピングテーブル内には1つのエントリしか存在しないかもしれない。
他の実施形態において、マッピングテーブル440は、記述子ファイル446の外にある別個のテーブルまたはファイルとして存在する必要はないが、ファイル446内にメタデータとして常駐しえる。この場合、MD442は必要とされない。マッピングテーブルの利点は、単純なテーブルまたはファイルとして実現されえるので、それが記述子ファイルまたは計算されたそのメッセージダイジェスト内に直接に記憶されえることであり、マッピングは他の場所にも記憶されえる。そのハッシュ値が計算されることによって(テーブルそのものについて、または記述子ファイルの一部として)、マッピングテーブルおよびそのコンテンツは、検査されえ、後に証明されえる。マッピングテーブルは任意のタイプのファイルまたはテーブルとして実現されえる。ある実施形態においてマッピングテーブルは、XMLファイルとして実現されえる。マッピングテーブル440は、実際に記述子ファイルを特定するメッセージダイジェストが互いにマッピングされるよう示すが、文書を特定するメッセージダイジェストを直接に互いにマッピングすることも可能である。例えば、マッピングテーブル440はMD428をMD438にマッピングするが、MD424をMD434にマッピングし、よってより低いレベルにおいて所望のマッピングを達成することも可能である。マッピングテーブルは、有用なメタデータ情報、例えば、順方向または逆方向ナビゲーションに関するアクセス権も含みえる。
図17は、順方向ナビゲーションのさらなる例を示す。図16は、文書Bの新しいバージョンB1が作られるときに将来の順方向ナビゲーションを可能にするためにどのようにマッピングテーブルがセットアップされえるかを記載している。本発明は、文書Bの任意の個数のバージョンが後に作られるいかなるシチュエーションでも扱える。例えば図17は、文書B1の新しいバージョン、すなわち文書B1−1が作られるときにどのように順方向ナビゲーションが可能にされるかを示す。
図16のフローチャートに記載された技術と同様に、ユーザは、文書B1−1を作るかまたはそうでなければ文書B1−1が与えられ、文書B1−1が文書B1の新しいバージョンと考えられるべきだとそれからシステムに示す。次にステップ472と同様に、MD504は、記述子ファイル506およびMD508と共に作られる。次にステップ476と同様に、MD438(文書B1を参照するメッセージダイジェスト)をMD508(文書B1−1を参照するメッセージダイジェスト)にマッピングするマッピングテーブル507が作られる。MD508は、文書B1−1を特定するメッセージダイジェストを含む記述子ファイルを特定するメッセージダイジェストである。MD514はそれからマッピングテーブル507のために作られる。
次にステップ470と同様に、MD418’(文書B1への順方向ナビゲーションを可能にするために以前に作られたメッセージダイジェスト)と共にMD514を含む記述子ファイル516が作られる。次のMD418’が作られる。最後にMD418’が、文書B1−1への順方向ナビゲーションをするために用いられるようにユーザに返される。MD418’が用いられるとき、マッピングテーブル507は、それが記述子ファイル516内で参照されることによってメモリに入れられ、マッピングテーブル440は、それが記述子ファイル446内で参照されることによってメモリに入れられる。このようにしてシステムがリンク418”からリンク418’へ、最後に文書Aへのアクセスを可能にするリンク418へ辿るにつれて、システムは、文書Bを特定するメッセージダイジェストが、文書B1を特定するダイジェストと置換されるべきであり、さらに文書B1を参照するダイジェストが、文書B1−1を参照するダイジェストと置換されるべきであることを知る。このようにして、ユーザは文書の多くのバージョン群の任意のものにわたって順方向ナビゲーションを行いえる。
図18は、一連のバージョン内の文書の最も新しいまたは最後のバージョンへ直接にジャンプする順方向ナビゲーション技術を示す。例えば、文書Bのバージョンを次々に作り、それぞれのステップにおいて順方向ナビゲーションを可能にするようシステムに頼むユーザの代わりに、ユーザはコンテンツ空間50の文書群の全てを一度に提示されるシチュエーションを考える。換言すれば、ユーザはコンテンツ空間50の文書群の全てを一度に作るかまたは得るかのいずれかをし、それからこれら文書をシステムに提示し、B1−1が文書B1の後のバージョンであることなどをシステムに示す。このシチュエーションにおいて、もしユーザがそう望むならシステムは、文書Bを最後に作られたバージョン、すなわちB1−2にすぐにマッピングするマッピングテーブルをセットアップできる。
図18には示されないが、メッセージダイジェスト458は、文書B1−2を参照するよう(すなわち記述子ファイルを用いて)作られる。システムはそれから、MD428(文書B)をMD458(文書B1−2)にマッピングするマッピングテーブル520を作る。MD524は、このマッピングテーブルについて作られ、記述子ファイル526は文書Aを参照するオリジナルのMD418を含むよう作られる。最後にMD528が作られ、ユーザがコンテンツ空間50をナビゲーションし、文書Bの最後の利用可能なバージョン、すなわちB1−2にすぐにジャンプしようと思うときに用いられえるようにメッセージダイジェストとしてユーザに返される。ユーザがMD528をシステムに提供するとき、システムは、マッピングテーブル520にアクセスし、リンク418を辿って文書Aを得る。よって文書Bを参照するMD428が発見されるときはいつでも、それはMD458によって置き換えられ、これが文書Bの利用可能な最新バージョンである文書B1−2への直接のリンクを提供する。
図19は、マッピングテーブルが複数のエントリを有する他の順方向ナビゲーションシナリオを示す。前述のように、マッピングテーブルは、それぞれが1つのメッセージダイジェストを他のメッセージダイジェストにマッピングする任意の個数のエントリを持ちえる。例えば、ある時点において文書BおよびCの両方の2つの新しいバージョン、すなわち文書B1およびC1が作られたコンテンツ空間570を考える。ユーザは今度は、これら新しい文書が新しいバージョンと考えられるべきだとシステムに示す。よって、ユーザが文書Aにアクセスするとき、新しいバージョンB1およびC1へと順方向ナビゲーションをしたいと思うだろう。
図20は、このタイプのナビゲーションを可能にする技術を示す。図16のフローチャートで記載された技術と同様に、マッピングテーブル530は、MD428(文書B)をMD438(文書B1)にマッピングするよう作られる。前述の技術を用いて、メッセージダイジェスト538および548は、それぞれ文書CおよびC1を記述子ファイルによって参照するよう作られる。これらのメッセージダイジェストは、MD538がMD548にマッピングするようにテーブル内のエントリとして置かれる。
それから記述子ファイル566は、MD554およびMD418(文書Aを参照するメッセージダイジェスト)を含むように作られる。MD558が作られ、文書BおよびCの新しいバージョンへ順方向ナビゲーションするために用いられるメッセージダイジェストとしてユーザに返される。よってユーザがMD558をシステムに提供するとき、ユーザは、文書AへMD418を介してナビゲーションでき、マッピングテーブル530は自動的に文書BおよびCからそれらの後のバージョンへマッピングし、よって順方向ナビゲーションを可能にする。
この開示を読めば、特定の時点で作られた新しいバージョン群を有する多くの文書に対応する任意の個数のエントリを有するように、ずっと複雑なマッピングテーブルが作られえることが当業者には理解するだろう。ユーザが新しいバージョンであるべきだと考えるものを定義することだけでなく、どの特定の時点でのマッピングテーブルがこれら新しいバージョンへマッピングするように作られるべきであるかを定義するのは、ユーザ次第である。例えば、コンテンツ空間570を考えると、もし文書B1およびC1が同じ時刻ではなく順に作られるなら、ユーザは、文書B1への順方向ナビゲーションを提供するだけのマッピングテーブルおよびメッセージダイジェストを作りたいと思うかもしれない。またはユーザは、文書C1が作られるまで待って、それから文書B1およびC1の両方への順方向ナビゲーションを可能にする文書Aについてのマッピングおよびメッセージダイジェストを作ろうと思うかもしれない。またはユーザは、文書B1およびC1についてのマッピングテーブルを作らず、よって他人は有効なバージョンだと考えるかもしれないにも関わらず、文書B1およびC1への順方向ナビゲーションを実効的には提供しないことさえ選ぶかもしれない。この他人が本当に、文書B1およびC1への順方向ナビゲーションを可能にする文書Aについてのマッピングテーブルおよびメッセージダイジェストを作るかも知れないことは実際にありえる。このようにして、異なるユーザが異なるコンテンツ空間を同じ文書のセットについて定義しえる。バージョンと考えられるもの、マッピングテーブルが作られるとき、および順方向ナビゲーションが可能にされるべきかまたは可能にされるべきではないかは、それぞれの個々のユーザに完全に委ねられる。
図21は、図15および16に基づく順方向ナビゲーションを記載するフローチャートである。このシチュエーションにおいてユーザは、新しいバージョンの文書B1を作っており、順方向ナビゲーションを可能にしており、文書B1が文書Bの最新のバージョンであるコンテンツ空間を特定するMD418’を得ている。
このコンテンツ空間を通して順方向ナビゲーションをするために、ステップ580において、ユーザは、このコンテンツ空間のこの所望のバージョンについてのMD418’をまず得る。例えば、文書Bの後のバージョンが作られておりそこでは文書B2またはCが作られているなどのようなコンテンツ空間の異なるバージョンを参照する他のメッセージダイジェストもここで記載された技術を用いて作られえることが理解されよう。好ましくは、MD418’によってユニークに特定される記述子ファイル内のメタデータは、コンテンツ空間のこのバージョンを記載するタイトルまたは記述を含む。よってユーザは、それぞれの意図される目的のための正しいメッセージダイジェストを得ることができる。ステップ582において、システムは記述子ファイル446を開いて、マッピングテーブル440および文書Aおよびオリジナルのコンテンツ空間を参照するオリジナルのメッセージダイジェストであるMD418を得る。ステップ584において、マッピングテーブルは、メモリに、またはデータベースのような他の適切な位置に置かれることで、システムが順方向ナビゲーションを実行するときにシステムがテーブルを参照できるようにする。
ステップ586において、システムは、MD418およびMD414を用いて文書Aをユーザに提供する。次にステップ588において、ユーザが文書A内から文書Bを選択するとき、システムはMD428を解決しようと試みる。しかしマッピングテーブル440はメモリ内にあるので、ステップ590においてシステムは、MD428をMD438にマッピングし、ユーザはファイル436およびMD434を介して文書B1が提供される。このようにしてユーザは、所望のコンテンツ空間内で文書Bの最新バージョンへ順方向ナビゲーションすることができる。もちろんユーザによって選ばれたコンテンツ空間に依存して、より複雑な順方向ナビゲーションが可能である。代替の実施形態においてマッピングテーブルはMD424をMD434にマッピングする。よって文書A内でのMD428への参照はファイル426を作るが、システムがMD424を読むとき、システムはマッピングテーブルによりそれをMD434へマッピングする。この代替実施形態は、より低いレベルにおいてマッピングする例である。
マッピングテーブルを用いて順方向ナビゲーションが実行されるとき、任意のマッピングテーブルのコンテンツは、読み出し時間において、またはラン時間において解決されえる。換言すればユーザがマッピングテーブルを作るメッセージダイジェストをまず提供するとき、システムは、見つけられた他のマッピングテーブル内のマッピングを解決するために見つけられた記述子ファイル内の全てのメッセージダイジェストをルックアップすることを含み、そのマッピングをすぐに解決できる。代替としてシステムは、マッピングがそのリンクについて存在するかを見るためにチェックする前に、ユーザが明示的にリンク(すなわちメッセージダイジェスト)を選択するまで待機しえる。
順方向ナビゲーションについてのコンテンツ空間をセットアップすることの一つのさらなる利点は、よって、逆方向ナビゲーションについて前述の技術をセットアップする必要なく、作られたマッピングテーブルの使用を通して逆方向ナビゲーションが許されることである。図14〜17の例を考えると、いったん順方向ナビゲーションがコンテンツ空間50について可能にされると、ユーザはマッピングテーブルを逆方向に読むことによってバックトラックしえる。図17および文書B1−1を通して順方向ナビゲーションが可能にされているシチュエーションを参照して、システムは今度はマッピングテーブル440および507をメモリに有する。もしユーザが文書B1−1を特定するMD508を有し、バックトラックしたいなら、システムはテーブル507を参照し、次の最も新しいバージョンが文書B1であるMD438において見つけられることを決定する。次にテーブル440を参照することによって、システムは次に最新のバージョンMD438が文書Bを特定するMD428であることを決定する。このようにして、逆方向ナビゲーションは、順方向ナビゲーションにおいて用いられるマッピングテーブルによって可能にされる。さらにもしユーザがさらに文書A(文書Bについてのメッセージダイジェストを含む)へバックトラックしたいなら、文書Aへ戻るのに循環ナビゲーションが用いられえる。
マッピングテーブルは、高レベルメッセージダイジェストの記述子ファイル内に含まれているコンテキストで記載されてきたが、マッピングテーブルが別個に保持され、セッションが起動されるときにパラメータとして渡されてもよい。図15を考える。この例では、マッピングテーブル440は、マッピングテーブル(またはそのメッセージダイジェスト)および文書Aを特定するオリジナルのメッセージダイジェストを保持するために作られた新しい記述子ファイル446内に含まれる。このようにして、MD418’を装備したユーザは、ユーザがMD418’を起動するときテーブル440を用いることが保証され、さらに知ることなくまたは他のパラメータを渡すことなく所望のコンテンツ空間を見ることができる。
しかしもしマッピングテーブルへの参照を保持するための新しい記述子ファイル446を作ることが望ましくないなら、マッピングテーブルの作成と同時に、システムはマッピングテーブルを特定するMD442と共に、MD418(文書Aについてのオリジナルの識別子)をユーザに単に返せばよい。文書B1が最新バージョンであるコンテンツ空間への順方向ナビゲーションをするために、ユーザはシステム対してセッションを起動し、MD418および442の両方をパラメータとして渡さなければならないことをこのシステムはそれからユーザに通知し、またはそれをユーザは知っている。あるバリエーションでは、記述子ファイルは、メタデータとしてコンテンツ空間の記述を含むMD442について作られえる。すなわちメタデータは、コンテンツ空間を「マーケティングバージョン1.2」として例えば記述する。よってセッションを起動しMD418および記述子ファイルについてのメッセージダイジェストを渡すと同時に、ユーザは、所望のコンテンツ空間の記述を見ることができる。これらの実施形態はユーザがオリジナルのMD418を文書Aについての識別子として保持することを可能にし、しかし特定のコンテンツ空間を見るために、セッションを起動するときにユーザはマッピングテーブルについてのメッセージダイジェストをパラメータとして渡す(またはマッピングテーブルが見つけられるようになんらかの参照を渡す)必要があることを要件とする。
循環ナビゲーション
図22は、文書XおよびYがそれぞれ互いを参照することをユーザが望むシナリオを示す。「循環」参照と呼ばれ、ここで文書X内のリンクが文書Yをユニークに特定し、文書Y内のリンクが文書Xをユニークに特定することをユーザが望む。文書Yへのユニークなリンクを提供するために文書Yについてのハッシュ値が作られ、文書Xに挿入されえる一方で、そうなると文書Xへのユニークなリンクを挿入するために文書Yを変更することができない。もしそのハッシュ値が作られた後に文書Yが変更されるなら、本質的に、文書Yの新しいバージョンが作られているので、計算されたそのオリジナルのハッシュ値は文書Yの新しいバージョンとは対応しないことになる。このシチュエーションに対応するために、本発明の実施形態は適切な技術を提供する。
図23は、2つの文書がハッシュ値を用いて互いをユニークに特定することを可能にする循環ナビゲーション技術を示す。ある時点で、ユーザは、文書Yおよび文書Yをユニークに特定する参照を含む文書Xを得る(または作る)。このシチュエーションにおいて、メッセージダイジェスト602(好ましくは記述子ファイルのメッセージダイジェスト)は、文書Yについて計算されており、文書Yへの参照を提供するために文書X内に挿入される。ユーザは、文書Xをユニークに特定するメッセージダイジェスト601(好ましくは記述子ファイルのMD)も提供される(またはシステムが計算する)。この時点で、ユーザは、文書Xを位置特定して、よって文書Yへのユニークな参照を見つけるためにMD601を用いえる。しかしこの時点で、文書Y内には文書Xへの参照が存在しない。ユーザは、文書Xをユニークに特定するMD601を含む新しいバージョンの文書Y、すなわち文書Y’を作る。しかしMD601の挿入がオリジナルの文書Yを変更するので、文書Yの新しいバージョンはこのように作られている。文書Y’が与えられると、ユーザは文書Xへ、それから文書Yへとナビゲーションできるが、文書Xへとナビゲーションして戻ることができない。代替として文書Xが与えられると、ユーザは文書Yへとナビゲーションできるが、文書Xへとナビゲーションして戻ることができない。
図24は、2つの文書間で循環ナビゲーションを可能にする技術を記載するフローチャートである。図23の図示に基づいて、ユーザはまず650において文書XおよびYを前述のように得る。文書Xは、文書Yへのユニークな参照を含み、MD601は文書Xを特定する。循環参照を作るためにはステップ654において、ユーザ(またはシステム)はまず文書Yの新しいバージョン、文書Y’を作り、文書Xのメッセージダイジェスト、MD601を文書Y’に挿入する。もちろん、ユーザは文書Yを同時にいかなるようにも変更しえる。ステップ658においてシステムはそれから、文書Y’をユニークに特定するMD606(好ましくは記述子ファイルのメッセージダイジェスト)を作る。ステップ662においてシステムは、MD602(オリジナルの文書Yのメッセージダイジェスト)をMD606(新しい文書Y’のメッセージダイジェスト)にマッピングするマッピングテーブル610を作る。
ステップ666において、記述子ファイル616は、マッピングテーブル610を参照するMD614、および文書Xをユニークに特定するMD601を含むように作られる。記述子ファイルのメッセージダイジェスト621が作られ、ユーザに返される。よって記述子ファイルのMD621は、文書XおよびY間で循環ナビゲーションを実行するためのユーザへのエントリポイントを提供する。
文書XおよびY間でナビゲーションをするために、ユーザは、2つの文書間の循環ナビゲーションを可能にするコンテンツ空間についてのメッセージダイジェストとしてタイトルが付けられた、または記述されたMD621を受け取ることから始める。MD621を受け取ると、それからシステムは、マッピングテーブル610および文書Xへのアクセスを有する。それからユーザは、文書Xを見ることができる。文書Yを見るためにユーザがMD602にアクセスする(またはそうでなければクリックまたは選択する)とき、システムは、MD602をMD606へマッピングするマッピングテーブルを参照する。よってユーザが文書Yを見ようと試みるとき、その代わりにシステムは、MD606を用いてY’へのマッピングを提供する。いったん文書Y’の中に入ると、ユーザは利用可能なMD601を有し、これが循環して文書Xへ戻るユニークな参照を提供する。このようにして、循環ナビゲーションが2つの文書間で許される。循環ナビゲーションは、自己参照文書(self-referencing document)を作るのに用いられえる。例えば、パワーポイントのプレゼンテーションは、それ自身への明示的な参照を含みえ、そのメッセージダイジェスト(または好ましくは容易に人間が読める形)は配布物のページ上に印刷されえる。
この開示を読めば、より複雑な循環ナビゲーションが起こりえることは当業者には明らかだろう。例えば、循環ナビゲーションは、2つの文書間で単に起こりえるだけでなく、任意の個数の文書の周りで循環の形で起こりえる。図25は、任意の個数の文書の周りで循環ナビゲーションが実行されるシナリオを示す。このシチュエーションにおいて、ユーザは、コンテンツ空間702を作りたいと思い、この空間は示されるように文書MからNへ、NからOへ、およびLからMへ戻るように循環ナビゲーションが許される。
図26は、複数の文書の周りで循環ナビゲーションをセットアップするための技術を示す。このタイプの循環ナビゲーションをセットアップするためには、文書Nについてメッセージダイジェストが作られ、文書Mに挿入される(好ましくはメッセージダイジェストは文書Nを参照する記述子ファイルに関する)。次にメッセージダイジェスト(好ましくは記述子ファイルのダイジェスト)は、文書M(これは今度は文書Nへのユニークな参照を含む)について計算され、文書Mについてのこのメッセージダイジェストは文書Lに挿入される。同様にして、文書Lへのユニークな参照は文書Oに挿入される。いったんメッセージダイジェストが文書Oについて計算されると、それは直接には文書Nには挿入されえないが、これは文書Nについてのメッセージダイジェストが既に作られているからである。しかし循環ナビゲーション技術および上述のマッピングテーブルを用いて、文書Nについてのメッセージダイジェストを文書N’についてのメッセージダイジェストへマッピングするマッピングテーブルを提供することによって、文書Nから文書Oへの所望のマッピングが実行されえる。文書Oについてのメッセージダイジェスト(好ましくは記述子ファイルのダイジェスト)は、文書N’へ挿入される。よってコンテンツ空間704は、文書Oについてのダイジェストをそれが含むことを除き、文書N’が文書Nと同じであるように作られる。マッピングテーブルは、NについてのダイジェストをN’についてのダイジェストへマッピングするように作られる。最後に、記述子ファイルは、マッピングテーブルおよびこれらの文書のうちの一つについてのダイジェストを含むように作られる。ダイジェストは、記述子ファイルについて計算され、これら文書の周りに循環ナビゲーションを実行するエントリポイントとしてユーザに返される。
コンピュータシステム実施形態
本発明は、さまざまなコンピュータ上で実現されえる。ある想定された実施形態において、文書を記憶および読み出しするのに用いられるコンピュータハードウェアは、マサチューセッツ州、Hopkinton のEMC Corporationから入手可能なCenteraブランドのコンピュータである。このCentera製品説明ガイドは、このコンピュータおよびそのソフトウェアを記述し、http://www.emc.com/pdf/products/centera/centera_guide.pdfにおいて入手可能であり、ここで参照によって援用される。このシステムソフトウェアはLinuxおよびJAVA(登録商標)を用いて記述されえる。この実施形態において、Centeraコンピュータは、図2に示されるように、ユーザがメッセージダイジェストをURLを介して供給できるようにするウェブサイトのバックエンドであることが想定される。ウェブサイト上で動作するシステムソフトウェアは、Centeraおよびユーザ間をインタフェースし、ここで記載したように順方向、逆方向および循環ナビゲーションを可能にする。他の実施形態において、文書記憶、システムソフトウェアおよびユーザインタフェースは、全て単一のコンピュータ上に常駐している。他の実施形態において、サービスプロバイダは、ユーザとインタフェースするフロントエンドユーザインタフェースをインターネットを介して提供するが、それからメッセージダイジェストによって特定された文書をそれ自身に記憶するのではなく、インターネットまたは他のワールドワイドネットワーク上で検索する。または全く分散されたピアツーピアシステムは、そのコンテンツを読み出しおよび保証するためのコンテンツ参照可能な記憶だけに基づく。
図27Aおよび27Bは、本発明の実施形態を実現するのに適するコンピュータシステム900を示す。図27Aは、コンピュータの一つの可能な物理的形態を示す。もちろんコンピュータシステムは、集積回路、プリント基板、および小型携帯機器から、大型のスーパーコンピュータに至るまで多くの物理的形態をとりえる。コンピュータシステム900は、モニタ902、ディスプレイ904、筐体906、ディスクドライブ908、キーボード910、およびマウス912を含む。ディスク914は、データをコンピュータシステム900に転送し、かつデータをコンピュータシステム900から転送するために用いられるコンピュータで読み取り可能な媒体である。
図27Bは、コンピュータ900のブロック図の例である。システムバス920に接続されているのは、さまざまなサブシステムである。単一または複数のプロセッサ922(中央処理装置群、すなわちCPU群)は、メモリ924を含む記憶装置に結合されている。メモリ924は、ランダムアクセスメモリ(RAM)および読み出し専用メモリ(ROM)を含む。この技術ではよく知られるようにROMは、データおよび命令を単一方向にCPUおよびRAMに転送するようにはたらき、RAMは、典型的にはデータおよび命令を双方向に転送するのに用いられる。メモリのこれら両方のタイプは、以下に述べるコンピュータ読み出し可能な適当な媒体を含みえる。固定ディスク926はまた、双方向でCPU922に結合され、追加のデータ記憶容量を提供し、また以下に述べるコンピュータ読み出し可能な適当な媒体を含みえる。固定ディスク926は、プログラム、データなどを記憶するのに用いられえて、典型的には一次記憶よりも低速な二次記憶媒体(ハードディスクのような)である。固定ディスク926内に保持された情報は、適切な場合においては、メモリ924の仮想メモリとして標準的なかたちで統合されえることが理解されよう。取り外し可能なディスク914は、以下に説明するコンピュータ読み出し可能な媒体のいかなる形態をも取りえる。
CPU922はまた、ディスプレイ904、キーボード910、マウス912およびスピーカ930のようなさまざまな入力/出力装置に結合される。一般に入力/出力装置は、ビデオディスプレイ、トラックボール、マウス、キーボード、マイク、タッチパネルディスプレイ、トランスデューサカードリーダ、磁気または紙テープリーダ、タブレット、スタイラス、音声または手書き認識機、生体情報読み取り機、または他のコンピュータのいずれでもよい。CPU922は追加で、ネットワークインタフェース940を用いて他のコンピュータまたは通信ネットワークに結合されてもよい。そのようなネットワークインタフェースによりCPUは、上述の方法ステップを実行する過程で、ネットワークから情報を受け取り、または情報をネットワークに出力してもよい。さらに本発明の方法の実施形態は、CPU922上だけで実行されてもよく、またはインターネットのようなネットワーク上で、処理の一部を担当する遠隔地にあるCPUと協働して実行されてもよい。
さらに本発明の実施形態は、コンピュータによって実現できるさまざまな操作を実行するコンピュータコードを格納した、コンピュータによって読み出し可能な媒体を持つコンピュータ記憶製品に関する。媒体およびコンピュータコードは、本発明の目的のために特別に設計され構築されたものでもよく、またはコンピュータソフトウェア技術の当業者に既知の利用可能なものであってもよい。コンピュータ読み出し可能な媒体の例としては、これらに限定はされないが、ハードディスク、フレキシブルディスク、および磁気テープのような磁気媒体、CD−ROMおよびホログラフィックデバイスのような光媒体、フロプティカルディスクのような光磁気媒体、特定アプリケーション向け集積回路(ASIC)、プログラム可能な論理デバイス(PLD)、およびROMおよびRAMデバイスのように、プログラムコードを記憶し実行するために特別に構成されたハードウェアデバイスが挙げられる。コンピュータコードの例としては、コンパイラによって生成される機械語、およびインタープリタを用いてコンピュータによって実行可能なより高いレベルのコードを含むファイルが挙げられる。
上述の本発明は、明瞭な理解の目的にためにある程度詳細に説明されてきたが、ある種の変更および改変が添付の特許請求の範囲内で実施されえることは明らかだろう。本発明の装置および方法を実現する多くの手法が存在することに注意されたい。よって説明された実施形態は、例示的であって限定的ではないと解釈されなければならず、本発明はここに挙げられた詳細に限定されるべきではなく、特許請求の範囲およびその等価物の全ての範囲によって定義されなければならない。
時間と共に変化する文書群の簡単なセットを示す図である。 時間と共に変化する文書群の簡単なセットを示す図である。 時間と共に変化する文書群の簡単なセットを示す図である。 時間と共に変化する文書群の簡単なセットを示す図である。 時間と共に変化する文書群の簡単なセットを示す図である。 文書についてのハッシュベースのユニークな固有識別子を作る技術を示す図である。 第1タイプの記述子ファイルおよびメッセージダイジェストの例を示す図である。 第2タイプの記述子ファイルの例を示す図である。 第3タイプの記述子ファイルの例を示す図である。 ユーザがバージョンにわたって逆方向にナビゲーションしたい思う時点でのコンテンツ空間を示す図である。 本発明のある実施形態によってユーザがどのようにバージョンにわたって逆方向にナビゲーションしえるかを示す図である。 システムがどのようにバージョンにわたる逆方向のナビゲーションをセットアップし可能するかを示すフローチャートである。 ユーザが文書のオリジナルバージョンへ直接にジャンプすることを可能にされる逆方向ナビゲーションの代替の実施形態を示す図である。 中間ファイルを用いた逆方向ナビゲーションのバリエーションを示す図である。 この例における記述子ファイルのコンテンツのある表示を示す図である。 図11で参照されたインデックスファイルのある表示を示す図である。 図11で参照されたレシートファイルのある表示を示す図である。 ユーザがバージョンにわたって順方向ナビゲーションをしたいコンテンツ空間を示す図である。 順方向ナビゲーションを実行する技術を詳細に示す図である。 順方向ナビゲーションをセットアップするプロシージャを記載するフローチャートである。 順方向ナビゲーションの更なる例を示す図である。 一連のバージョン内で文書の最新または最後のバージョンへすぐにジャンプする順方向ナビゲーション技術を示す図である。 マッピングテーブルが複数のエントリを有する順方向ナビゲーションシナリオを示す図である。 順方向ナビゲーション技術を可能にする技術を示す図である。 図15および16に基づいて順方向ナビゲーションを記載するフローチャートである。 ユーザが文書XおよびYが互いに参照するようにさせたいシナリオを示す図である。 ハッシュ値を用いて2つの文書がユニークに互いを特定することを可能にする循環ナビゲーション技術を示す図である。 2つの文書間で循環ナビゲーションを可能にする技術を記載するフローチャートである。 任意の個数の文書の周りで循環ナビゲーションが実行されるシナリオを示す図である。 複数の文書の周りで循環ナビゲーションをセットアップする技術を示す図である。 本発明の実施形態を実現するのに適切なコンピュータシステムを示す図である。 本発明の実施形態を実現するのに適切なコンピュータシステムを示す図である。

Claims (25)

  1. 逆方向ナビゲーションをコンテンツ空間内で可能にする方法であって、前記方法は、
    第1コンピュータファイルを特定する第1メッセージダイジェストを受け取ること、
    第2コンピュータファイルを特定する第2メッセージダイジェストを受け取ること、
    前記第2コンピュータファイルが前記第1コンピュータファイルよりも後のバージョンであることの指示を受け取ること、
    前記第1メッセージダイジェストおよび前記第2メッセージダイジェストを含む記述子ファイルを作ること、および
    前記記述子ファイルの第3メッセージダイジェストを作り、前記第3メッセージダイジェストをユーザに返し、それにより前記ユーザが前記第3メッセージダイジェストを用いて前記第1および第2コンピュータファイルによって形成される前記コンテンツ空間を通して逆方向にナビゲーションするようにすること
    を含む方法。
  2. 請求項1に記載の方法であって、前記第1メッセージダイジェストは、前記第1コンピュータファイルのメッセージダイジェストを含む第1記述子ファイルのダイジェストである方法。
  3. 請求項1に記載の方法であって、前記第2コンピュータファイルは、前記ユーザによって受け取られ、または前記ユーザによって作られる方法。
  4. 請求項1に記載の方法であって、前記記述子ファイルは、前記第2コンピュータファイルに関するメタデータを含む方法。
  5. 順方向ナビゲーションをコンテンツ空間内で可能にする方法であって、前記方法は、
    第1コンピュータファイルを特定する第1メッセージダイジェストを受け取ること、
    第2コンピュータファイルを特定する第2メッセージダイジェストを受け取ること、
    前記第2コンピュータファイルが前記第1コンピュータファイルよりも後のバージョンであることの指示を受け取ること、
    前記第1メッセージダイジェストを前記第2メッセージダイジェストにマッピングするマッピングテーブルを作ること、
    前記第1メッセージダイジェストおよび前記マッピングテーブルの識別情報を含む記述子ファイルを作ること、および
    前記記述子ファイルの第3メッセージダイジェストを作り、前記第3メッセージダイジェストをユーザに返し、それにより前記ユーザが前記第3メッセージダイジェストを用いて前記第1および第2コンピュータファイルによって形成される前記コンテンツ空間を通して順方向にナビゲーションするようにすること
    を含む方法。
  6. 請求項5に記載の方法であって、前記第1メッセージダイジェストは、前記第1コンピュータファイルを特定する第1記述子ファイルのダイジェストであり、前記第2メッセージダイジェストは、前記第2コンピュータファイルを特定する第2記述子ファイルのダイジェストである方法。
  7. 請求項6に記載の方法であって、前記第1および第2記述子ファイルは、それぞれ前記第1および第2コンピュータファイルに関するメタデータを含む方法。
  8. 請求項5に記載の方法であって、前記第2コンピュータファイルは、前記ユーザによって受け取られ、または前記ユーザによって作られる方法。
  9. 請求項5に記載の方法であって、前記記述子ファイルはメタデータを含む方法。
  10. 請求項5に記載の方法であって、前記記述子ファイルは前記マッピングテーブルを含む方法。
  11. 請求項5に記載の方法であって、前記記述子ファイルは前記マッピングテーブルを特定するメッセージダイジェストを含む方法。
  12. 順方向ナビゲーションをコンテンツ空間内で可能にする方法であって、前記方法は、
    第1コンピュータファイルを特定する第1メッセージダイジェストを受け取ること、
    前記第1コンピュータファイルの後のバージョンであると示されている第2コンピュータファイルを特定する第2メッセージダイジェストを受け取ること、
    前記第1メッセージダイジェストを前記第2メッセージダイジェストにマッピングするマッピングテーブルを作ること、
    前記第1メッセージダイジェストおよび前記マッピングテーブルの識別情報をユーザに返すこと、および
    前記第1メッセージダイジェストおよび前記マッピングテーブルが、前記第1および第2コンピュータファイルによって形成される前記コンテンツ空間を通して順方向ナビゲーションを行うことを可能にすることを前記ユーザに示し、それにより前記ユーザが前記第1メッセージダイジェストおよび前記マッピングテーブルを用いたセッションを起動し、前記コンテンツ空間を通して順方向ナビゲーションをするようにする
    方法。
  13. 請求項12に記載の方法であって、前記第1メッセージダイジェストは、前記第1コンピュータファイルを特定する第1記述子ファイルのダイジェストであり、前記第2メッセージダイジェストは、前記第2コンピュータファイルを特定する第2記述子ファイルのダイジェストである方法。
  14. 請求項13に記載の方法であって、前記第1および第2記述子ファイルは、それぞれ第1および第2コンピュータファイルに関するメタデータを含む方法。
  15. 請求項12に記載の方法であって、前記第2コンピュータファイルは、前記ユーザによって受け取られ、または前記ユーザによって作られる方法。
  16. 請求項12に記載の方法であって、前記マッピングテーブルの前記識別情報は、前記マッピングテーブルのメッセージダイジェストである方法。
  17. コンテンツ空間内で循環ナビゲーションを可能にする方法であって、前記方法は、
    第1および第2コンピュータファイルを特定することであって、前記第1コンピュータファイルは、前記第2コンピュータファイルを特定する第2メッセージダイジェストを含む、特定すること、
    前記第1コンピュータファイルを特定する第1メッセージダイジェストを作ること、
    前記第1メッセージダイジェストを含む前記第2コンピュータファイルのバージョンを作ること、
    前記第2コンピュータファイルバージョンの第3メッセージダイジェストを作ること、
    前記第2メッセージダイジェストを前記第3メッセージダイジェストにマッピングするマッピングテーブルを作ること、
    前記第1メッセージダイジェストおよび前記マッピングテーブルの識別情報をユーザに返すことによって、前記ユーザは前記第1および第2コンピュータファイル間でナビゲーションできるようにする
    方法。
  18. 請求項17に記載の方法であって、
    前記第1メッセージダイジェストおよび前記マッピングテーブルが、前記第1および第2コンピュータファイルを含む前記コンテンツ空間内で循環ナビゲーションを行うことを可能にすることを前記ユーザに示し、それにより前記ユーザが前記第1メッセージダイジェストおよび前記マッピングテーブルを用いたセッションを起動し、前記コンテンツ空間内で循環ナビゲーションをするようにする
    方法。
  19. 請求項18に記載の方法であって、前記マッピングテーブルの前記識別情報は、前記マッピングテーブルのメッセージダイジェストである方法。
  20. 請求項17に記載の方法であって、
    前記第1メッセージダイジェストおよび前記マッピングテーブルの前記識別情報を含む記述子ファイルを作ること、および
    前記記述子ファイルを特定する第4メッセージダイジェストを作り、前記第4メッセージダイジェストを前記ユーザに返すことによって、前記第1メッセージダイジェストおよび前記マッピングテーブルの前記識別情報が前記ユーザに間接的に前記第4メッセージダイジェストを介して返され、それにより前記ユーザが前記第4メッセージダイジェストで開始して前記第1および第2コンピュータファイル間でナビゲーションできるようにする
    方法。
  21. 請求項20に記載の方法であって、前記マッピングテーブルの前記識別情報は、前記マッピングテーブルそれ自身、または前記マッピングテーブルを特定するメッセージダイジェストである方法。
  22. 請求項17に記載の方法であって、前記第1、第2および第3メッセージダイジェストは、それぞれ前記第1、第2および第2バージョンコンピュータファイルをそれぞれ特定する記述子ファイルのダイジェストである方法。
  23. 請求項22に記載の方法であって、前記記述子ファイルは、それらの各コンピュータファイルに関するメタデータを含む方法。
  24. 請求項17に記載の方法であって、前記第2コンピュータファイルは、前記ユーザによって受け取られるか、または前記ユーザによって作られる方法。
  25. 請求項19に記載の方法であって、前記記述子ファイルはメタデータを含む方法。
JP2004558263A 2002-12-10 2003-12-09 文書セットのコンテンツ空間のナビゲーション Expired - Fee Related JP4602769B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43249502P 2002-12-10 2002-12-10
PCT/IB2003/005749 WO2004053733A2 (en) 2002-12-10 2003-12-09 Navigation of the content space of a document set

Publications (2)

Publication Number Publication Date
JP2006509297A true JP2006509297A (ja) 2006-03-16
JP4602769B2 JP4602769B2 (ja) 2010-12-22

Family

ID=32507941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004558263A Expired - Fee Related JP4602769B2 (ja) 2002-12-10 2003-12-09 文書セットのコンテンツ空間のナビゲーション

Country Status (7)

Country Link
US (1) US7263521B2 (ja)
EP (1) EP1573595A2 (ja)
JP (1) JP4602769B2 (ja)
CN (2) CN1754166B (ja)
AU (1) AU2003302792B2 (ja)
CA (1) CA2509462C (ja)
WO (1) WO2004053733A2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293855A (ja) * 2006-04-21 2007-11-08 Ricoh Co Ltd ロギングとデータ交換同期のセキュアかつ効率的な方法
JP2008152546A (ja) * 2006-12-18 2008-07-03 Fuji Xerox Co Ltd 文書管理システム、文書処理クライアント装置、文書管理サーバ装置及びプログラム
JP2009129004A (ja) * 2007-11-20 2009-06-11 Fuji Xerox Co Ltd 文書操作履歴管理システム
JP2009533727A (ja) * 2006-04-07 2009-09-17 パラメトリク・テクノロジー・コーポレーシヨン 文書の系図を維持するシステムと方法
JP2011013792A (ja) * 2009-06-30 2011-01-20 Fujitsu Ltd プログラムモデル検査におけるデータベース制御装置、データベース制御方法、データベース制御プログラム

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
GB0229724D0 (en) * 2002-12-19 2003-01-29 Ibm Apparatus,method and computer program for defining a data mapping between two or more data structures
US20040186859A1 (en) * 2003-03-20 2004-09-23 Sun Microsystems, Inc. File access based on file digests
US7801920B2 (en) * 2004-01-21 2010-09-21 Emc Corporation Methods and apparatus for indirectly identifying a retention period for data in a storage system
US8442331B2 (en) 2004-02-15 2013-05-14 Google Inc. Capturing text from rendered documents using supplemental information
US7707039B2 (en) 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US10635723B2 (en) 2004-02-15 2020-04-28 Google Llc Search engines and systems with handheld document data capture devices
US7812860B2 (en) 2004-04-01 2010-10-12 Exbiblio B.V. Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US9116890B2 (en) 2004-04-01 2015-08-25 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US9008447B2 (en) 2004-04-01 2015-04-14 Google Inc. Method and system for character recognition
US20060081714A1 (en) 2004-08-23 2006-04-20 King Martin T Portable scanning device
WO2008028674A2 (en) 2006-09-08 2008-03-13 Exbiblio B.V. Optical scanners, such as hand-held optical scanners
US7894670B2 (en) 2004-04-01 2011-02-22 Exbiblio B.V. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US8146156B2 (en) 2004-04-01 2012-03-27 Google Inc. Archive of text captures from rendered documents
US20060098900A1 (en) 2004-09-27 2006-05-11 King Martin T Secure data gathering from rendered documents
US9143638B2 (en) 2004-04-01 2015-09-22 Google Inc. Data capture from rendered documents using handheld device
US7990556B2 (en) 2004-12-03 2011-08-02 Google Inc. Association of a portable scanner with input/output and storage devices
US8081849B2 (en) 2004-12-03 2011-12-20 Google Inc. Portable scanning and memory device
US8713418B2 (en) 2004-04-12 2014-04-29 Google Inc. Adding value to a rendered document
US8874504B2 (en) 2004-12-03 2014-10-28 Google Inc. Processing techniques for visual capture data from a rendered document
US8620083B2 (en) 2004-12-03 2013-12-31 Google Inc. Method and system for character recognition
US8489624B2 (en) 2004-05-17 2013-07-16 Google, Inc. Processing techniques for text capture from a rendered document
US7949666B2 (en) * 2004-07-09 2011-05-24 Ricoh, Ltd. Synchronizing distributed work through document logs
US8346620B2 (en) 2004-07-19 2013-01-01 Google Inc. Automatic modification of web pages
EP1782148B1 (de) * 2004-07-21 2011-09-21 ITernity GmbH Beweissicheres und schnelles worm-speichersystem auf festplattenbasis
US20070276789A1 (en) * 2006-05-23 2007-11-29 Emc Corporation Methods and apparatus for conversion of content
US7340610B1 (en) * 2004-08-31 2008-03-04 Hitachi, Ltd. Trusted time stamping storage system
US7698516B2 (en) * 2005-01-12 2010-04-13 Emc Corporation Methods and apparatus for managing deletion of data
EP1927060B1 (en) * 2005-08-09 2019-10-09 Nexsan Technologies Canada Inc. Data archiving method and system
JP2007226473A (ja) * 2006-02-22 2007-09-06 Fuji Xerox Co Ltd 電子文書管理システム及び方法
EP2021926A4 (en) 2006-05-05 2009-07-15 Hybir Inc SYSTEM FOR SAVING INCREMENTAL AND COMPLETE COMPUTER-BASED FILE FILES BASED ON THE GROUP, PROCESS AND APPARATUS
US20080126980A1 (en) * 2006-11-29 2008-05-29 Sap Ag Central display floor plan for displaying a plurality of data objects
US20080140660A1 (en) * 2006-12-08 2008-06-12 Casdex, Inc. System and Method for File Authentication and Versioning Using Unique Content Identifiers
US8582127B2 (en) * 2006-12-20 2013-11-12 Microsoft Corporation Updating old media with configurable entities
US20080168051A1 (en) * 2007-01-08 2008-07-10 Palo Alto Research Center Incorporated Systems and methods for sharing information
US8375072B1 (en) 2007-04-12 2013-02-12 United Services Automobile Association (Usaa) Electronic file management hierarchical structure
US20090125533A1 (en) * 2007-07-19 2009-05-14 Calbucci Mercelo A Reference-Based Technique for Maintaining Links
US9760839B1 (en) 2007-07-25 2017-09-12 United Services Automobile Association (Usaa) Electronic recording statement management
WO2009081028A2 (fr) * 2007-12-17 2009-07-02 France Telecom Plateforme et dispositif de gestion et de contrôle des droits d'usage associés à un objet multimédia
US20090189441A1 (en) * 2008-01-29 2009-07-30 Paul Degoul Distributed electrical/electronic architectures for brake-by-wire brake systems
US8219592B2 (en) * 2008-02-29 2012-07-10 International Business Machines Corporation Method and system for using overlay manifests to encode differences between virtual machine images
US7996414B2 (en) 2008-02-29 2011-08-09 International Business Machines Corporation Method and system for separating file system metadata from other metadata in virtual machine image format
US7856440B2 (en) * 2008-02-29 2010-12-21 International Business Machines Corporation Method and system for separating content identifiers from content reconstitution information in virtual machine images
US7856439B2 (en) * 2008-02-29 2010-12-21 International Business Machines Corporation Method and system for using semantic information to improve virtual machine image management
US8949713B1 (en) 2008-06-30 2015-02-03 Amazon Technologies, Inc. Version-specific request processing
US20100082573A1 (en) * 2008-09-23 2010-04-01 Microsoft Corporation Deep-content indexing and consolidation
US8909875B1 (en) * 2008-09-30 2014-12-09 Emc Corporation Methods and apparatus for storing a new version of an object on a content addressable storage system
US8010741B1 (en) 2008-09-30 2011-08-30 Emc Corporation Methods and apparatus for controlling migration of content
WO2010096193A2 (en) 2009-02-18 2010-08-26 Exbiblio B.V. Identifying a document by performing spectral analysis on the contents of the document
WO2010105246A2 (en) 2009-03-12 2010-09-16 Exbiblio B.V. Accessing resources based on capturing information from a rendered document
US8447066B2 (en) 2009-03-12 2013-05-21 Google Inc. Performing actions based on capturing information from rendered documents, such as documents under copyright
US20100251212A1 (en) * 2009-03-30 2010-09-30 Microsoft Corporation Version Type Traversal
US8719708B2 (en) * 2009-10-28 2014-05-06 Morgan Stanley Systems and methods for dynamic historical browsing
US9081799B2 (en) 2009-12-04 2015-07-14 Google Inc. Using gestalt information to identify locations in printed information
US9323784B2 (en) 2009-12-09 2016-04-26 Google Inc. Image search using text-based elements within the contents of images
US20120331423A1 (en) * 2011-06-24 2012-12-27 Konica Minolta Laboratory U.S.A., Inc. Method for navigating a structure of data using a graphical user interface having a looped history chain
CN102419775A (zh) * 2011-12-22 2012-04-18 厦门雅迅网络股份有限公司 一种海量小文件的存储与检索方法
US9047300B2 (en) * 2012-05-24 2015-06-02 Microsoft Technology Licensing, Llc Techniques to manage universal file descriptor models for content files
US9069781B2 (en) 2012-05-24 2015-06-30 Microsoft Technology Licensing, Llc Techniques to automatically manage file descriptors
US20140379706A1 (en) * 2013-06-25 2014-12-25 Sap Ag Content Management System with Chained Document Discovery
FR3018933A1 (fr) * 2014-03-20 2015-09-25 Airbus Procede de determination de l'etat d'un equipement d'aeronef.
US20160364387A1 (en) * 2015-06-09 2016-12-15 Joel A DiGirolamo Method and system for organizing and displaying linked temporal or spatial data
EP3414654A4 (en) * 2016-02-12 2019-07-03 Bluebeam, Inc. METHOD FOR COMPUTERIZED PRESENTATION OF THE VIEW OF A SET OF DOCUMENTS FOR VERIFYING INFORMATION AND MANAGING SETS OF MULTIPLE DOCUMENTS AND PAGES
FR3050555B1 (fr) * 2016-04-21 2019-09-27 Thales Procede de traitement d'un fichier de mise a jour d'un equipement avionique d'un aeronef, produit programme d'ordinateur, dispositif electronique de traitement et systeme de traitement associes
CN106709024B (zh) * 2016-12-28 2020-07-17 深圳市华傲数据技术有限公司 基于血缘分析进行数据表溯源的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934763A (ja) * 1995-07-19 1997-02-07 Fuji Xerox Co Ltd ファイル管理装置およびファイル管理方法
WO2002001351A2 (en) * 2000-06-28 2002-01-03 Microsoft Corporation Binding by hash

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255270A (en) * 1990-11-07 1993-10-19 Emc Corporation Method of assuring data write integrity on a data storage device
US5347653A (en) * 1991-06-28 1994-09-13 Digital Equipment Corporation System for reconstructing prior versions of indexes using records indicating changes between successive versions of the indexes
US5357631A (en) * 1991-12-09 1994-10-18 International Business Machines Corporation Method and system for creating and maintaining multiple document versions in a data processing system library
JPH06318261A (ja) * 1992-09-18 1994-11-15 Sony Corp 電子装置
US5446653A (en) * 1993-05-10 1995-08-29 Aetna Casualty And Surety Company Rule based document generation system
KR980700752A (ko) * 1994-10-28 1998-03-30 더블유 스코트 스토네타 쥬니어 문서를 인증하고 확인하는 증명서를 제공하기 위한 디지털문서 인중시스템
EP2270687A2 (en) * 1995-04-11 2011-01-05 Kinetech, Inc. Identifying data in a data processing system
US5690452A (en) * 1996-06-27 1997-11-25 Baublits; David G. Spring loaded automatic plug ejector or hole saws
US6151659A (en) * 1997-12-22 2000-11-21 Emc Corporation Distributed raid storage system
WO1999038093A1 (en) 1998-01-23 1999-07-29 Filepool N.V. Content addressable information encapsulation, representation, and transfer
US6807632B1 (en) * 1999-01-21 2004-10-19 Emc Corporation Content addressable information encapsulation, representation, and transfer
US6182197B1 (en) * 1998-07-10 2001-01-30 International Business Machines Corporation Real-time shared disk system for computer clusters
US6523130B1 (en) * 1999-03-11 2003-02-18 Microsoft Corporation Storage system having error detection and recovery
US6976165B1 (en) 1999-09-07 2005-12-13 Emc Corporation System and method for secure storage, transfer and retrieval of content addressable information
AUPQ312299A0 (en) 1999-09-27 1999-10-21 Canon Kabushiki Kaisha Method and system for addressing audio-visual content fragments
US20030050927A1 (en) * 2001-09-07 2003-03-13 Araha, Inc. System and method for location, understanding and assimilation of digital documents through abstract indicia
US6480931B1 (en) * 1999-11-05 2002-11-12 International Business Machines Corporation Content addressable storage apparatus and register mapper architecture
US6658589B1 (en) * 1999-12-20 2003-12-02 Emc Corporation System and method for backup a parallel server data storage system
US6826711B2 (en) * 2000-02-18 2004-11-30 Avamar Technologies, Inc. System and method for data protection with multidimensional parity
US7062648B2 (en) * 2000-02-18 2006-06-13 Avamar Technologies, Inc. System and method for redundant array network storage
US7412462B2 (en) * 2000-02-18 2008-08-12 Burnside Acquisition, Llc Data repository and method for promoting network storage of data
US6810446B1 (en) * 2000-03-31 2004-10-26 Sony Corporation System and method for navigating and deleting descriptors
US7065610B1 (en) * 2000-06-27 2006-06-20 Emc Corporation Method and apparatus for maintaining inventory of logical volumes stored on storage elements
US6912548B1 (en) * 2000-06-27 2005-06-28 Emc Corporation Logical volume identifier database for logical volumes in a computer storage system
US7082441B1 (en) * 2000-08-17 2006-07-25 Emc Corporation Method and storage and manipulation of storage system metrics
US6763446B1 (en) * 2001-08-08 2004-07-13 Emc Corporation Systems and methods for handling storage access requests
US6978282B1 (en) * 2001-09-04 2005-12-20 Emc Corporation Information replication system having automated replication storage
US6757790B2 (en) * 2002-02-19 2004-06-29 Emc Corporation Distributed, scalable data storage facility with cache memory
US6715048B1 (en) * 2002-03-28 2004-03-30 Emc Corporation System and method for efficiently performing a restore operation in a data storage environment
US7113945B1 (en) * 2002-04-10 2006-09-26 Emc Corporation Virtual storage device that uses volatile memory
US20040107214A1 (en) * 2002-11-29 2004-06-03 Hung Lup Cheong Patrick Customized document portfolio system integrating IP libraries and technology documents
US7047359B1 (en) * 2002-12-17 2006-05-16 Storage Technology Corporation Method, system and product for managing a virtual storage system
US7373345B2 (en) * 2003-02-21 2008-05-13 Caringo, Inc. Additional hash functions in content-based addressing
CA2543746C (en) * 2003-10-27 2018-01-16 Archivas, Inc. Policy-based management of a redundant array of independent nodes
JP2005165516A (ja) * 2003-12-01 2005-06-23 Hitachi Ltd ストレージ制御装置、ストレージシステム、及びストレージシステムの制御方法
US7114027B2 (en) * 2003-12-03 2006-09-26 International Business Machines Corporation Content addressable data storage and compression for computer memory
US7162571B2 (en) * 2003-12-09 2007-01-09 Emc Corporation Methods and apparatus for parsing a content address to facilitate selection of a physical storage location in a data storage system
US7100008B2 (en) * 2004-03-15 2006-08-29 Hitachi, Ltd. Long term data protection system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934763A (ja) * 1995-07-19 1997-02-07 Fuji Xerox Co Ltd ファイル管理装置およびファイル管理方法
WO2002001351A2 (en) * 2000-06-28 2002-01-03 Microsoft Corporation Binding by hash
JP2004513412A (ja) * 2000-06-28 2004-04-30 マイクロソフト コーポレイション ハッシュによる結合

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009533727A (ja) * 2006-04-07 2009-09-17 パラメトリク・テクノロジー・コーポレーシヨン 文書の系図を維持するシステムと方法
JP2007293855A (ja) * 2006-04-21 2007-11-08 Ricoh Co Ltd ロギングとデータ交換同期のセキュアかつ効率的な方法
JP2008152546A (ja) * 2006-12-18 2008-07-03 Fuji Xerox Co Ltd 文書管理システム、文書処理クライアント装置、文書管理サーバ装置及びプログラム
JP2009129004A (ja) * 2007-11-20 2009-06-11 Fuji Xerox Co Ltd 文書操作履歴管理システム
JP2011013792A (ja) * 2009-06-30 2011-01-20 Fujitsu Ltd プログラムモデル検査におけるデータベース制御装置、データベース制御方法、データベース制御プログラム

Also Published As

Publication number Publication date
US20040177058A1 (en) 2004-09-09
JP4602769B2 (ja) 2010-12-22
AU2003302792B2 (en) 2010-07-22
WO2004053733A3 (en) 2004-11-11
CA2509462C (en) 2013-02-12
AU2003302792A1 (en) 2004-06-30
CN101916252A (zh) 2010-12-15
CN101916252B (zh) 2012-09-19
WO2004053733A2 (en) 2004-06-24
CA2509462A1 (en) 2004-06-24
US7263521B2 (en) 2007-08-28
EP1573595A2 (en) 2005-09-14
CN1754166A (zh) 2006-03-29
CN1754166B (zh) 2010-06-23

Similar Documents

Publication Publication Date Title
JP4602769B2 (ja) 文書セットのコンテンツ空間のナビゲーション
US7895224B2 (en) Navigation of the content space of a document set
JP4991283B2 (ja) コンテンツベースのアドレシングにおける追加ハッシュ関数
EP1524838B1 (en) Manipulation of document collections
US7392533B2 (en) System and method for management of a componentized electronic document retrievable over a network
US6807632B1 (en) Content addressable information encapsulation, representation, and transfer
EP1049988B1 (en) Content addressable information encapsulation, representation, and transfer
US7996380B2 (en) Method and apparatus for processing metadata
US7925609B2 (en) Information processing apparatus, information processing system, information processing method, and computer readable storage medium
US9223999B2 (en) Management of Digital information
US7711723B2 (en) System and method for managing web applications
US20140330790A1 (en) Method and system for archiving and retrieving bibliography information and reference material
US20080282355A1 (en) Document container data structure and methods thereof
US8065743B2 (en) Content use management system, content-providing system, content-using device and computer readable medium
US9292703B2 (en) Electronic document management method
US7912859B2 (en) Information processing apparatus, system, and method for managing documents used in an organization
Owen et al. PRISM: Program replication and integration for seamless MILS
JP2007304831A (ja) 承認管理システム
JP2004110710A (ja) 機密文書の蓄積および開示の方法、および共有システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100216

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100223

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100406

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100608

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100930

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

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4602769

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees