亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

文檔集內(nèi)容空間的導(dǎo)航的制作方法

文檔序號(hào):6377279閱讀:211來(lái)源:國(guó)知局
專利名稱:文檔集內(nèi)容空間的導(dǎo)航的制作方法
技術(shù)領(lǐng)域
本發(fā)明通常涉及使用計(jì)算機(jī)進(jìn)行的信息存儲(chǔ)和檢索。更具體地說(shuō),本發(fā)明涉及對(duì)文檔和它們的版本進(jìn)行按內(nèi)容尋址并在文檔版本之間導(dǎo)航的方法。
背景技術(shù)
現(xiàn)有的技術(shù)包括內(nèi)容可尋址的信息、它的存儲(chǔ)和檢索的概念以及散列函數(shù)、消息摘要和描述符文件的使用,如國(guó)際公布WO 99/38093所述。國(guó)際公布WO 99/38092說(shuō)明了對(duì)內(nèi)容可尋址信息進(jìn)行存儲(chǔ)和訪問(wèn)的特定方法,而國(guó)際公布WO 01/18633說(shuō)明了用于加密內(nèi)容可尋址信息的方法。這些公布通過(guò)引用全部結(jié)合。
如在現(xiàn)有技術(shù)中所討論的,顯然,內(nèi)容可尋址的方法對(duì)于以保證所存儲(chǔ)內(nèi)容的完整性的方式存儲(chǔ)和訪問(wèn)文檔可以是非常有用的。然而,在文檔或信息可以隨時(shí)間發(fā)展的地方或文檔需要互相引用的地方,許多新的問(wèn)題出現(xiàn)了。因?yàn)榘磧?nèi)容尋址唯一標(biāo)識(shí)特定的內(nèi)容,所以發(fā)展內(nèi)容意味著文檔新的內(nèi)容地址。如在現(xiàn)有技術(shù)中所討論的,一種方法是使用消息摘要(例如“MD5”)來(lái)唯一地表示特定文檔。然而,在有復(fù)雜的內(nèi)容空間的情況下,可能需要許多文檔或文檔集來(lái)表示特定類型的信息(例如復(fù)雜計(jì)算機(jī)系統(tǒng)的用戶手冊(cè)集,或飛機(jī)的技術(shù)文獻(xiàn))。在這些情況下,單個(gè)MD5可能唯一地表示許多文檔(例如,使用描述符文件),并且,單個(gè)文檔可能包含許多不同的MD5,它們各引用單個(gè)文檔或文檔集。另外,文檔集可以有許多不同的版本且隨時(shí)間變化(集內(nèi)的一些文檔可能變化而其它的可能不變),并且兩個(gè)不同的文檔可能各自需要互相引用。對(duì)于這樣復(fù)雜的內(nèi)容空間,以確保信息完整性的方式對(duì)信息進(jìn)行管理和訪問(wèn)就變得更加困難。
例如,考慮波音747飛機(jī)的完整技術(shù)文獻(xiàn)。將有許多文檔集,各自說(shuō)明飛機(jī)特定的子系統(tǒng),例如燃料子系統(tǒng)、通信子系統(tǒng)、機(jī)身子系統(tǒng)等等。這些文檔將必定需要互相引用,并且它們將總是隨時(shí)間變化。使問(wèn)題更復(fù)雜的是,沒(méi)有單個(gè)文獻(xiàn)集完全說(shuō)明所有使用的747。盡管可以有主文獻(xiàn)集一般地說(shuō)明747飛機(jī),帶著唯一的序列號(hào)滾離裝配線的每一架飛機(jī)將具有它自己專用的文獻(xiàn)集,因?yàn)樗胁煌倪x擇并且可能指定給不同的的航空公司。因此,原始文獻(xiàn)不同版本的存在不但是因?yàn)樘囟w機(jī)的文獻(xiàn)集隨時(shí)間變化,而且因?yàn)榫哂胁煌x擇的不同飛機(jī)將需要原始文獻(xiàn)的不同版本。然后,當(dāng)零件變化時(shí)、當(dāng)過(guò)程變化時(shí)以及當(dāng)數(shù)以百計(jì)的FAA指令接收和編譯時(shí),747飛機(jī)的所有這種技術(shù)文獻(xiàn)將隨時(shí)間發(fā)展。
為了說(shuō)明問(wèn)題的實(shí)質(zhì),認(rèn)為飛機(jī)一旦被制造并且準(zhǔn)備飛行時(shí),要花幾星期甚至幾個(gè)月來(lái)集合所有的技術(shù)文獻(xiàn)和確保在即將證明飛機(jī)飛行合格之前技術(shù)文獻(xiàn)被更新并且所有的替換頁(yè)被插入正確的位置。即使當(dāng)所有的技術(shù)文獻(xiàn)被更新并且最近的版本可加以使用時(shí),在將來(lái)可以非常有用的是能夠回去并回顧文獻(xiàn)的版本,該版本存在于特定的時(shí)間點(diǎn)。在現(xiàn)實(shí)世界中,存在許多其它的例子,其中,需要以確保被檢索信息的完整性的方式對(duì)具有內(nèi)部引用和版本的復(fù)雜文獻(xiàn)集進(jìn)行有效存儲(chǔ)、智能管理和訪問(wèn)。同樣,需要機(jī)制和方法來(lái)可靠地管理這樣復(fù)雜的內(nèi)容,而不依賴于終端用戶和復(fù)雜的軟件應(yīng)用來(lái)進(jìn)行管理。會(huì)特別希望的是,使用現(xiàn)有技術(shù)的內(nèi)容可尋址存儲(chǔ)方法來(lái)處理這種問(wèn)題。

發(fā)明內(nèi)容
為了實(shí)現(xiàn)上述內(nèi)容并依照本發(fā)明目的,說(shuō)明了一種方法,考慮了按內(nèi)容尋址和當(dāng)內(nèi)容隨時(shí)間發(fā)展時(shí)對(duì)內(nèi)容的導(dǎo)航,并且考慮了相互引用的文檔之間的導(dǎo)航。引入“內(nèi)容空間”的概念,它表示特定時(shí)間點(diǎn)的特定文檔集。本發(fā)明說(shuō)明了正向和反向?qū)Ш奖闅v這樣內(nèi)容空間里的文檔的方法。另外,說(shuō)明了用于在互相引用的文檔之間以循環(huán)方式導(dǎo)航的方法。
為了使能反向?qū)Ш?,?dāng)文檔的新版本創(chuàng)建時(shí),系統(tǒng)軟件創(chuàng)建描述符文件的變體。(該新版本也可以由用戶接收,或者可以接收新版本的消息摘要。)用戶以某一方式表明新文檔應(yīng)該被認(rèn)為較舊文檔的較近版本。為新版本創(chuàng)建描述符文件,不僅包含新版本的消息摘要,還包含較舊文檔的消息摘要。然后為描述符文件創(chuàng)建消息摘要。然后用戶可以反向?qū)Ш?,以描述符文件的消息摘要開(kāi)始。任何數(shù)目的新版本可以以這種方式鏈接在一起。系統(tǒng)軟件可以允許用戶反向?qū)Ш讲⒉榭疵總€(gè)前面的版本,或者用戶可以直接跳轉(zhuǎn)到最早的版本。時(shí)間標(biāo)記和數(shù)字簽名可以與反向?qū)Ш浇Y(jié)合以提供真實(shí)性證明。
為了使能正向?qū)Ш剑?dāng)文檔的版本創(chuàng)建時(shí),系統(tǒng)軟件創(chuàng)建映射表(或者多個(gè)映射表,如果需要)。(新版本也可以由用戶接收,或可以接收新版本的消息摘要。)用戶以某一方式表明新文檔應(yīng)該被認(rèn)為原始文檔的較近版本。為原始文檔和新版本創(chuàng)建描述符文件,并且為每個(gè)描述符文件創(chuàng)建消息摘要。映射表將較舊文檔的消息摘要映射成新版本的消息摘要。(可選擇地,映射表映射文檔本身的消息摘要而不是它們各自描述符文件的摘要。)創(chuàng)建高級(jí)描述符文件,它包含原始文檔的消息摘要和映射表的消息摘要。高級(jí)描述符文件的消息摘要返回給用戶。
然后,用戶可以正向?qū)Ш剑愿呒?jí)描述符文件的消息摘要開(kāi)始。任何數(shù)目的新版本可以以這種方式鏈接在一起。系統(tǒng)軟件可以允許用戶正向?qū)Ш胶筒榭疵總€(gè)版本,或者用戶可以直接跳轉(zhuǎn)至最新的版本。在供替換的實(shí)施例中,原始文檔的消息摘要隨映射表(或映射表的消息摘要)一起返回,并且通知用戶如果使用這些參數(shù)調(diào)用會(huì)話可以在希望的內(nèi)容空間進(jìn)行正向?qū)Ш?。在該供替換的實(shí)施例中,沒(méi)有使用高級(jí)的描述符文件。創(chuàng)建的映射表還可以由系統(tǒng)使用以允許反向?qū)Ш健?br> 為了使能循環(huán)導(dǎo)航,當(dāng)需要文檔之間引用時(shí),系統(tǒng)軟件創(chuàng)建映射表。一個(gè)文檔包含第二文檔的消息摘要。創(chuàng)建第二文檔的新版本,它包含第一文檔的消息摘要,并且,映射表將原始第二文檔的消息摘要映射成第二文檔新版本的消息摘要。第一文檔的消息摘要和映射表返回給用戶為以后會(huì)話中使用,或者,創(chuàng)建新的描述符文件,它包含原始文檔的消息摘要和映射表的消息摘要。高級(jí)描述符文件的消息摘要返回給用戶。任何數(shù)目的文檔可以使用這種方法以循環(huán)的方式鏈接。
可以組合上面的方法以允許遍歷復(fù)雜內(nèi)容空間的導(dǎo)航。


結(jié)合附圖參考下列說(shuō)明,可以最佳地理解本發(fā)明及其另外的優(yōu)點(diǎn),其中圖1A-1E說(shuō)明了隨時(shí)間發(fā)展的簡(jiǎn)單的文檔集。
圖2說(shuō)明了創(chuàng)建文檔的基于散列的唯一本征標(biāo)識(shí)符的方法。
圖3說(shuō)明了第一類型的描述符文件和消息摘要的例子。
圖4說(shuō)明了第二類型的描述符文件的例子。
圖5說(shuō)明了第三類型的描述符文件。
圖6說(shuō)明了在某時(shí)文檔集的內(nèi)容空間,其中,用戶希望通過(guò)版本反向?qū)Ш健?br> 圖7詳細(xì)說(shuō)明了根據(jù)本發(fā)明的實(shí)施例用戶如何可以通過(guò)版本反向?qū)Ш健?br> 圖8是說(shuō)明系統(tǒng)如何通過(guò)版本建立和使能反向?qū)Ш降牧鞒虉D。
圖9說(shuō)明了反向?qū)Ш降目蛇x擇的實(shí)施例,其中,允許用戶立即跳轉(zhuǎn)至文檔的原始版本。
圖10說(shuō)明了使用中間文件的反向?qū)Ш降淖凅w。
圖11示出本例中描述符文件內(nèi)容的一種顯示。
圖12示出圖11中引用的索引文件的一種顯示。
圖13示出圖11中引用的收據(jù)文件的內(nèi)容的一種顯示。
圖14說(shuō)明了用戶希望通過(guò)版本正向?qū)Ш降膬?nèi)容空間。
圖15詳細(xì)示出了用于進(jìn)行正向?qū)Ш降姆椒ā?br> 圖16是說(shuō)明用于建立正向?qū)Ш降倪^(guò)程的流程圖。
圖17說(shuō)明了正向?qū)Ш降牧硗獾睦印?br> 圖18說(shuō)明了用于立即跳轉(zhuǎn)至一系列版本中最近的或最新的文檔版本的正向?qū)Ш椒椒ā?br> 圖19說(shuō)明了映射表有多個(gè)條目的正向?qū)Ш椒桨浮?br> 圖20說(shuō)明了用于允許正向?qū)Ш降姆椒ā?br> 圖21是說(shuō)明基于圖15和16的正向?qū)Ш降牧鞒虉D。
圖22說(shuō)明了用戶希望文檔X和Y各自互相引用的方案。
圖23說(shuō)明了允許兩個(gè)文檔使用散列值唯一互相標(biāo)識(shí)的循環(huán)導(dǎo)航方法。
圖24是說(shuō)明用于使能兩個(gè)文檔之間的循環(huán)導(dǎo)航的流程圖。
圖25說(shuō)明了在任何數(shù)目的文檔周圍進(jìn)行循環(huán)導(dǎo)航的方案。
圖26說(shuō)明了在多個(gè)文檔周圍建立循環(huán)導(dǎo)航的方法。
圖27A和27B說(shuō)明了適于實(shí)現(xiàn)本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng)。
具體實(shí)施例方式
圖1A-1E說(shuō)明了隨時(shí)間發(fā)展的簡(jiǎn)單的文檔集。我們將把文檔集的內(nèi)容空間稱作存在于特定時(shí)間點(diǎn)的那些文檔。當(dāng)然,本發(fā)明可適用于復(fù)雜得多的內(nèi)容空間。所示的內(nèi)容空間對(duì)于理解本發(fā)明將是有用的,并且在進(jìn)入更加詳細(xì)說(shuō)明之前將簡(jiǎn)要說(shuō)明。
圖1A示出在時(shí)間t1的內(nèi)容空間10,它包括文檔A、B和C。在該例中,文檔A在其文本內(nèi)部包括對(duì)文檔B和C的引用12和14。盡管這些引用可以只是文本文件名,在最適合本發(fā)明應(yīng)用的實(shí)施例中,引用12和14各自是通過(guò)它們的內(nèi)容唯一標(biāo)識(shí)文檔B和C的散列值。最好,引用12和14是各自唯一標(biāo)識(shí)描述符文件的散列值,該描述符文件包含唯一標(biāo)識(shí)文檔的散列值。在該例中,用戶創(chuàng)建了文檔A、B和C,并且希望文檔A在其內(nèi)部包含對(duì)文檔B和C的顯式引用。
圖1B示出在時(shí)間t2的內(nèi)容空間20,其中內(nèi)容空間已經(jīng)隨時(shí)間發(fā)展。在這種情況下,用戶創(chuàng)建了文檔B的新版本B1,這由16象征性地表明。因此,如果用戶希望查看該文檔集的最近版本,用戶會(huì)希望查看文檔A、C和B1。
圖1C示出在時(shí)間t3的內(nèi)容空間30,其中文檔集已經(jīng)隨時(shí)間進(jìn)一步發(fā)展。在該例中,用戶創(chuàng)建了文檔B的另一個(gè)版本,即文檔B2。在該例中,在線性行進(jìn)中文檔B2不一定是文檔B1的較新版本。文檔B1和B2可以看作是文檔B用于不同目的不同版本。例如,如果我們假定文檔B是商業(yè)計(jì)劃的一部分,文檔B1可能對(duì)應(yīng)于發(fā)行給銷售部的計(jì)劃的那個(gè)版本,而文檔B2可能是發(fā)行給工程部的計(jì)劃的那個(gè)版本。
圖1D示出在時(shí)間t4的內(nèi)容空間40,其中,內(nèi)容空間進(jìn)一步發(fā)展。在這種情況下,用戶創(chuàng)建了文檔B1的新版本,即文檔B1-1。
圖1E示出在時(shí)間t5的內(nèi)容空間50,其中,內(nèi)容空間已隨時(shí)間進(jìn)一步發(fā)展。在這種情況下,用戶又創(chuàng)建了文檔B的另一個(gè)版本,即B1-2,得自B1-1。在這種情況下,萬(wàn)一用戶希望查看用于銷售部的文檔集的最近版本,那么終端用戶會(huì)希望查看文檔A、C和B1-2。另一方面,萬(wàn)一用戶希望查看用于工程部的文檔的最近版本,用戶會(huì)希望查看文檔A、C和B2。
因此,可以看出,文檔的“版本”可以以至少兩種不同的方式查看。一方面,文檔的新版本是該文檔的下一個(gè)版本,它可能包括改進(jìn)并用于替換原始文檔。例如,文檔B1-1是文檔B1的版本,它可能打算替換B1。另一方面,版本還可以指文檔的用于不同目的的不同版本。例如,盡管文檔B1和B2是文檔B的不同版本,但可能的是,它們并不是用于替換文檔B,只是B1是商業(yè)計(jì)劃的銷售版本,而B(niǎo)2是商業(yè)計(jì)劃的工程版本。很可能的是,B1和B2都不是用于替換文檔B的。意圖可能是文檔B憑借本身的權(quán)利是有用的,而文檔B1和B2這兩個(gè)文檔B的新版本,對(duì)于兩種不同的目的是有用的。
事實(shí)上,文檔的新版本實(shí)際上是指如文檔集的用戶或創(chuàng)建者所定義的以前的文檔或文檔集的任何改變。例如,關(guān)于圖1B,盡管文檔B1可能是文檔B略微修改的版本,但是文檔B1也可能是根本不同于文檔B的文檔并且被看作是版本只是因?yàn)槲臋n集的用戶確定文檔B1應(yīng)該被看作是文檔B的版本。事實(shí)上,沒(méi)有要求較舊文檔的新版本和以前的文檔有任何關(guān)系。萬(wàn)一用戶決定特定的內(nèi)容被認(rèn)為是某一其它內(nèi)容的版本,那么它將根據(jù)本發(fā)明被認(rèn)為是版本。沒(méi)有要求現(xiàn)有文檔的版本和現(xiàn)有文檔有任何程度的相似性。
例如,萬(wàn)一公司希望按星期一起對(duì)它所有的新聞稿編組,每個(gè)隨后星期新聞稿的價(jià)值可以被認(rèn)為是以前星期新聞稿的版本,即使新聞稿隨后的版本中的信息可以非常不同。另外,現(xiàn)有文檔的版本可能事實(shí)上是在現(xiàn)有文檔之前創(chuàng)建的文檔。例如,萬(wàn)一給了用戶文檔F和在創(chuàng)建文檔F之后創(chuàng)建的文檔G,在本發(fā)明的上下文內(nèi)部,用戶可以宣布G是F的版本(常規(guī)的版本),或者用戶可以宣布文檔F是文檔G的版本。
另外,對(duì)文檔的顯式引用和隱式引用(通過(guò)稱一文檔為另一文檔的版本)可以以任何方式組合。例如,盡管文檔B在其內(nèi)部沒(méi)有引用文檔B1的顯式引用(即用戶含蓄地明白B1是B的版本),在B1被認(rèn)為是文檔B的版本的同時(shí)文檔B可以包含對(duì)文檔B1的顯式引用也是可行的(如下面關(guān)于循環(huán)導(dǎo)航的部分中所討論的)??蛇x擇地,還可以存在如圖所示的情況,其中,例如文檔A的文檔確實(shí)包含對(duì)文檔B的顯式引用,但是文檔B沒(méi)有被認(rèn)為是文檔A的版本。
如這里所用,術(shù)語(yǔ)“用戶”是指這里所述系統(tǒng)的任何用戶,例如編輯、出版商、作者、文檔管理人員或其他個(gè)體或管理、存儲(chǔ)或訪問(wèn)文檔的計(jì)算機(jī)。這里所述的本發(fā)明的實(shí)施例中,這樣的用戶使用系統(tǒng)通過(guò)文檔的版本反向或正向?qū)Ш健⒃谖臋n之間以循環(huán)方式導(dǎo)航、或者使能系統(tǒng)進(jìn)行這樣的導(dǎo)航。另外,不同的用戶可以同時(shí)為他們自己專門的用途創(chuàng)建文檔集的版本。本發(fā)明允許每個(gè)用戶獨(dú)立于其他的用戶創(chuàng)建他們自己的版本,并且不知道其他用戶也在創(chuàng)建不同的版本。
因此,如上所述,原始文檔集的內(nèi)容空間隨時(shí)間發(fā)展。將有利的是,具有任何復(fù)雜性的任何文檔集的用戶能夠在特定的時(shí)間點(diǎn)查看完整的文檔集、能夠得到用于預(yù)期目的的文檔集的最近版本、并且能夠自始至終回顧和查看文檔集版本的發(fā)展。這種在內(nèi)容空間內(nèi)部正向、反向和循環(huán)導(dǎo)航的方法使用了馬上將簡(jiǎn)要回顧的基于散列的尋址方法。
按內(nèi)容尋址圖2說(shuō)明了為文檔創(chuàng)建基于散列的唯一標(biāo)識(shí)符的方法。為了理解以下關(guān)于正向、反向和循環(huán)導(dǎo)航遍歷內(nèi)容空間的討論,在本發(fā)明的上下文中簡(jiǎn)要地回顧按內(nèi)容尋址的方法將是有用的。
圖2說(shuō)明了為文檔102產(chǎn)生唯一標(biāo)識(shí)符122的方法。以下的說(shuō)明使用了根據(jù)本發(fā)明表示和管理的簡(jiǎn)單文檔的例子;但是,文檔102可以是以數(shù)字形式表示的任何類型的信息。例如,本發(fā)明適用于任何電子表示的信息,例如計(jì)算機(jī)文件、文件組、文件標(biāo)識(shí)符組或其它數(shù)據(jù)集或數(shù)據(jù)庫(kù)信息。這種其它的數(shù)據(jù)集包括數(shù)字音頻或視頻流的幀或剪輯、數(shù)字照片、掃描的紙文檔、聲音消息、CAD/CAM設(shè)計(jì)、MRI或X射線數(shù)據(jù)、消息記錄或文件流、系統(tǒng)的狀態(tài)日志或?qū)彶榈匿浫霔l目、電子郵件檔案、檢驗(yàn)圖像等等。數(shù)據(jù)庫(kù)信息包括來(lái)自關(guān)系網(wǎng)絡(luò)、分級(jí)網(wǎng)絡(luò)或其它數(shù)據(jù)庫(kù)的記錄。通常,數(shù)字信息可以包括任何二進(jìn)制(或n進(jìn)制)數(shù)字串。在一個(gè)實(shí)施例中,數(shù)字信息被處理為二進(jìn)制大對(duì)象或BLOB。以下的說(shuō)明使用簡(jiǎn)單的文檔作為例子,盡管本發(fā)明并不局限于此。術(shù)語(yǔ)“計(jì)算機(jī)文件”也用于此,以包括前面提及的信息類型的任何電子表示。
算法104用于處理文檔102以產(chǎn)生文檔的唯一標(biāo)識(shí)符106。最好,算法104是產(chǎn)生散列值106的散列函數(shù)。在該例中,散列函數(shù)用于產(chǎn)生散列值或消息摘要(“MD”)106。眾所周知的散列函數(shù)包括MD2、MD5、SHA、SHA-1、SHA-256、RIPEMD-160等等如現(xiàn)有技術(shù)中已知的,文檔上使用散列函數(shù)產(chǎn)生唯一的散列值或消息摘要,它是文檔的“數(shù)字指紋”并且唯一地標(biāo)識(shí)文檔。如在這里所用,術(shù)語(yǔ)消息摘要或“MD”是指由散列函數(shù)創(chuàng)建的散列值,并且用于包括可能用于創(chuàng)建唯一的、按內(nèi)容的文檔標(biāo)識(shí)符的任何類型的散列函數(shù)。圖2的這個(gè)例子假定MD5算法用于創(chuàng)建MD 106。
消息摘要106可以如為本發(fā)明的目的那樣使用,或者可以嵌入描述符文件108內(nèi)部。描述符文件108包括消息摘要106和多種元數(shù)據(jù)110中的任何一個(gè),該元數(shù)據(jù)進(jìn)一步說(shuō)明、標(biāo)識(shí)或解釋文檔102的信息或其它任何信息。在上面引用的國(guó)際申請(qǐng)中說(shuō)明了描述符文件和元數(shù)據(jù)類型的說(shuō)明書(shū)。在一個(gè)實(shí)施例中,元數(shù)據(jù)110包括說(shuō)明文件名、文件大小、訪問(wèn)權(quán)、所有者、保存期等等。也可以包括更高級(jí)的信息,例如主題、題目、作者、日期。如果需要用于特定應(yīng)用的話,描述符文件用作該信息類型的占位符是有用的,并且如果情況這樣要求的話,對(duì)于保持文件組的消息摘要也是有用的。
本發(fā)明適用于引用描述符文件的消息摘要,也適用于直接標(biāo)識(shí)單個(gè)文檔的消息摘要。在下面的說(shuō)明中,上下文解釋了優(yōu)選(或需要)描述符文件的地方。然而通常,當(dāng)說(shuō)明書(shū)陳述“文檔的消息摘要”時(shí),這可以指文檔的描述符文件(該文件保存文檔的MD5)的消息摘要或指直接標(biāo)識(shí)文檔的消息摘要。
元數(shù)據(jù)110可以包括輔助定位文檔并重建它的目錄環(huán)境的信息、用于生成收入使用所附內(nèi)容的預(yù)包裝的電子商務(wù)交易或說(shuō)明描述符文件及它的使用和內(nèi)容的選擇的信息。元數(shù)據(jù)可以指描述符文件本身,或者可以是由描述符文件引用(通過(guò)列在描述符文件內(nèi)部的文檔的消息摘要)的特定文檔專用的。關(guān)于描述符文件的元數(shù)據(jù)包括它的類型、文件名、創(chuàng)建日期、注釋、它表示的數(shù)據(jù)文件或目錄文件夾的數(shù)目、它表示的所有文件的大小、作者、關(guān)鍵詞等等。特定文檔的元數(shù)據(jù)可以包括文件名、文件大小、創(chuàng)建日期、文件類型等等。為了輔助本發(fā)明的實(shí)施例,元數(shù)據(jù)還可以包括映射表、例如預(yù)期目的的內(nèi)容空間的名字、版本號(hào)、發(fā)行日期或其它、是否使能內(nèi)容空間用于正向或反向?qū)Ш交蛘咂渌c安全有關(guān)的信息,如數(shù)字簽名、時(shí)間標(biāo)記、數(shù)字證書(shū)、用于數(shù)字版權(quán)管理目的的令牌或者其它任何密鑰資料集。
一旦形成了描述符文件,散列函數(shù)114施加到描述符文件以產(chǎn)生另一個(gè)消息摘要116。消息摘要116可以馬上用于使用現(xiàn)有技術(shù)中示出的方法唯一地定位和標(biāo)識(shí)文檔102。例如,描述符文件108和文檔102可以存儲(chǔ)在計(jì)算機(jī)的規(guī)則文檔系統(tǒng)中,它們的文件名分別是由MD 116和MD 106表示的位串?;蛘撸總€(gè)文件可以存儲(chǔ)在數(shù)據(jù)庫(kù)內(nèi)部,其中,文件的關(guān)鍵字是每個(gè)文件各自的消息摘要。通常,文檔108和文件102可以存儲(chǔ)在任何內(nèi)容可尋址的存儲(chǔ)系統(tǒng)內(nèi)部,其中,只使用它們的消息摘要可以對(duì)它們進(jìn)行定位和檢索。
在優(yōu)選的實(shí)施例中,MD5消息摘要被轉(zhuǎn)化為容易被人讀懂和記錄的形式。因?yàn)閬?lái)自MD5散列函數(shù)的結(jié)果消息摘要是128位的數(shù)字,希望以供人類使用的更加易于管理的方式對(duì)該數(shù)字進(jìn)行編碼。可以以多種形式的任何一種對(duì)結(jié)果數(shù)字進(jìn)行編碼,包括十進(jìn)制、十六進(jìn)制或二進(jìn)制。最好,數(shù)字被轉(zhuǎn)化為以32為基數(shù)的數(shù)字(base 32number),該數(shù)字被映射到基本ASCII字符集中的26個(gè)字母和數(shù)字字符集。該映射被稱作“ASCII鎧裝Armoring”,并且通常用于以有限的字符集來(lái)翻譯二進(jìn)制信息,用于在要求內(nèi)容限制在字母數(shù)字編碼的協(xié)議上傳輸。在優(yōu)選的實(shí)施例中,在結(jié)果串內(nèi)部的預(yù)定位置包括標(biāo)志字符,使得串的總長(zhǎng)度達(dá)到27個(gè)字符。該標(biāo)志字符也可以提供例如使用的算法、文件類型等信息。
結(jié)果是27個(gè)字符的數(shù)字和大寫字母的ASCII串。這種格式提供了緊湊形式,可以更容易地被人記下和/或被計(jì)算機(jī)處理,并且這種格式還是容易被許多軟件程序容納的形式。另外,消息摘要的這種特定表示具有這樣的優(yōu)點(diǎn)更容易被數(shù)據(jù)查詢檢索、編碼成軟件應(yīng)用文件請(qǐng)求、由內(nèi)容或資產(chǎn)管理系統(tǒng)引用、在對(duì)象瀏覽器中被請(qǐng)求、從一個(gè)文檔到另一個(gè)文檔電子復(fù)制和粘貼以及通過(guò)電子郵件發(fā)送等等。
在該例中,MD 116轉(zhuǎn)化成27個(gè)字符的串120。在特定的實(shí)施例中,串120與因特網(wǎng)的名稱118連接以產(chǎn)生URL 122。名稱118可由DNS解析,并包括域名“trustclip.com”。在該特定的實(shí)施例中“trustclip.com”用于定位連接至內(nèi)容可尋址的存儲(chǔ)設(shè)備的Web服務(wù)器。操作域“trustclip.com”的服務(wù)提供商使用消息摘要作為唯一的標(biāo)識(shí)符來(lái)存儲(chǔ)這樣的文檔并且當(dāng)提供了URL(例如URL 122)時(shí)使這樣的文檔對(duì)用戶可用。這樣,當(dāng)給了用戶URL 122或者另外使用它作為鏈接時(shí),Web站點(diǎn)“trustclip.com”采用MD 120、定位文檔并將它返回給用戶。如果MD 120標(biāo)識(shí)了包括多個(gè)文檔的消息摘要的描述符文件,那么返回所有這些文檔。本發(fā)明預(yù)期消息摘要(以116、120或其它形式)可以以許多方式使用以定位原始文檔。如前面提到的,消息摘要可以用作文檔的文件名,它是數(shù)據(jù)庫(kù)里的關(guān)鍵詞,嵌入U(xiǎn)RL或URI(或者其它文件定位符,例如IP地址或路徑名)內(nèi)部,或者可以只是按現(xiàn)狀使用。
在另一實(shí)施例中,將消息摘要給服務(wù)提供商,然后服務(wù)提供商使用消息摘要以搜索和定位由消息摘要唯一標(biāo)識(shí)的文檔。例如,服務(wù)提供商可以搜索他們自己的內(nèi)容可尋址存儲(chǔ)器,或者可以搜索其它實(shí)體存儲(chǔ)器里的文檔。為了發(fā)現(xiàn)由消息摘要唯一標(biāo)識(shí)的文檔,消息摘要還可以在整個(gè)企業(yè)網(wǎng)、內(nèi)部網(wǎng)上、因特網(wǎng)上或者以其它方式廣播。
描述符文件在上面引用的國(guó)際申請(qǐng)中說(shuō)明了描述符文件的實(shí)施例。下面的圖提供了在本發(fā)明上下文中有用的另外的變體。
圖3說(shuō)明了第一類型的描述符文件和消息摘要的例子。描述符文件150具有任選的元數(shù)據(jù)和兩個(gè)唯一對(duì)文檔A和B定址的消息摘要152和154。當(dāng)然,描述符文件可以包含單個(gè)消息摘要或包含任何數(shù)目的引用任何數(shù)目的文件的消息摘要。在該例中,示出兩個(gè)文檔以易于說(shuō)明。在該類型的描述符文件中,只包括直接標(biāo)識(shí)特定文檔的消息摘要。當(dāng)然,還可以為文件150計(jì)算消息摘要158,這種情況下,MD 158用于引用文檔A和B。
圖4說(shuō)明了第二類型的描述符文件的例子。文件160包括任選的元數(shù)據(jù)和唯一標(biāo)識(shí)另一描述符文件164的消息摘要162。在文件164的內(nèi)部是標(biāo)識(shí)文檔A的消息摘要166。對(duì)于該類型的描述符文件160,只存在引用另一描述符文件的消息摘要。只示出了一個(gè)MD 162,盡管在文件內(nèi)部可以有任何數(shù)目的消息摘要,各自引用另一個(gè)描述符文件。當(dāng)然,可以為描述符文件160形成消息摘要168。
圖5說(shuō)明第三類型的描述符文件170。在該例中,文件170包括任選的元數(shù)據(jù)、唯一標(biāo)識(shí)文檔A的消息摘要172和標(biāo)識(shí)另一描述符文件175的消息摘要174。文件175包括標(biāo)識(shí)文檔B的消息摘要176。對(duì)于該類型的描述符文件170,它既包括直接標(biāo)識(shí)文檔的消息摘要,又包括標(biāo)識(shí)另一描述符文件的消息摘要。當(dāng)然,可以為描述符文件170創(chuàng)建消息摘要178。這些各種類型的描述符文件在本發(fā)明的實(shí)施例中是有用的。
反向?qū)Ш綀D6說(shuō)明在時(shí)間t5的文檔集的內(nèi)容空間50,其中,用戶希望通過(guò)版本反向?qū)Ш?。在該例中,用戶可能希望以特定文檔最近的版本開(kāi)始或者又回顧遍歷每個(gè)版本,或者直接返回到文檔的原始版本。例如,如果用戶持有文檔B1-2,他或她可能希望沿著鏈接202、204和206以回顧那個(gè)文檔以前的版本?;蛘?,用戶可能希望直接通過(guò)207從B1-2直接跳轉(zhuǎn)回到文檔B?;蛘?,萬(wàn)一用戶持有文檔B2,用戶可能希望沿著鏈接208以查看原始文檔B。例如,文檔B1可能是文檔B的銷售版本,而文檔B2可能是文檔B的工程版本。
在該簡(jiǎn)單的例子中,只示出了單個(gè)的文檔。然而,將理解的是,文檔B(例如)實(shí)際上可以是任何數(shù)目的文檔的集合。因?yàn)槲臋n已加到集中、因?yàn)槲臋n已從集中刪除或者可能因?yàn)榧瘍?nèi)部的單個(gè)文檔已改變,所以版本B1可以被認(rèn)為是文檔集B的版本。還預(yù)期的是,因?yàn)榧疊中所有的文檔已完全被替換,文檔集B1可能被認(rèn)為是文檔集B的版本。另外,依靠系統(tǒng)的用戶來(lái)決定哪個(gè)文檔或文檔集應(yīng)該被認(rèn)為是以前文檔或文檔集的新版本。
圖7詳細(xì)說(shuō)明了根據(jù)本發(fā)明的實(shí)施例用戶如何可以通過(guò)版本反向?qū)Ш?,并且將在討論圖8時(shí)參考該圖。本發(fā)明預(yù)期系統(tǒng)軟件(“系統(tǒng)”)在計(jì)算機(jī)上運(yùn)行,用戶和該計(jì)算機(jī)接口相連以執(zhí)行本發(fā)明的各種實(shí)施例。系統(tǒng)創(chuàng)建消息摘要、存儲(chǔ)文檔、基于消息摘要檢索文檔、便于通過(guò)版本反向和正向?qū)Ш?、便于循環(huán)導(dǎo)航并且向用戶提供接口,用戶和該接口相互作用。這種系統(tǒng)可以在單個(gè)獨(dú)立的計(jì)算機(jī)上、在分布式計(jì)算機(jī)上實(shí)現(xiàn),或者可以通過(guò)因特網(wǎng)得到,本領(lǐng)域的技術(shù)人員將理解這一點(diǎn)。閱讀了該公布內(nèi)容后,本領(lǐng)域的技術(shù)人員將能夠使用任何適當(dāng)?shù)挠?jì)算環(huán)境來(lái)進(jìn)行和使用本發(fā)明的各種實(shí)施例。
圖8是說(shuō)明系統(tǒng)如何建立和使能通過(guò)版本反向?qū)Ш降牧鞒虉D。在步驟250,用戶創(chuàng)建或另外得到文檔B。還可以向用戶提供標(biāo)識(shí)文檔B的消息摘要。文檔B是任何文檔或文檔集,預(yù)計(jì)將為它創(chuàng)建版本。在步驟254,系統(tǒng)創(chuàng)建文檔B的消息摘要221、文件223和消息摘要220(如果還未提供)。在步驟258,用戶創(chuàng)建和另外得到文檔B1。在該例中,用戶的意圖是文檔B1被認(rèn)為是文檔B的版本,例如,文檔B1是文檔B的銷售版本。
在步驟262,用戶向系統(tǒng)表明B1是文檔B的版本。在該點(diǎn),系統(tǒng)明白存在新的版本并且因此采取步驟以使能以后的通過(guò)這些版本的反向?qū)Ш?。在步驟266,系統(tǒng)創(chuàng)建文檔B1的消息摘要。在步驟270,系統(tǒng)創(chuàng)建文檔B1的描述符文件,它包括MD 222和描述符文件223(包含文檔B的MD 221)的消息摘要220。任選地,還包括元數(shù)據(jù)。在步驟274,系統(tǒng)創(chuàng)建消息摘要226,它標(biāo)識(shí)文檔B1的描述符文件224。在該時(shí)間點(diǎn),MD 226可以供應(yīng)給用戶,作為文檔B的最近版本的唯一標(biāo)識(shí)符。如在本文以后將說(shuō)明的,用戶不僅可以使用MD 226訪問(wèn)文檔B1而且還可以使用MD 226反向?qū)Ш街猎嘉臋nB。
假定現(xiàn)在用戶還增加了文檔B1-1和B1-2,并且意圖是這些被認(rèn)為是原始文檔B的較近版本,在步驟278,系統(tǒng)使用在步驟258-266所述的方法進(jìn)行循環(huán)以創(chuàng)建描述符文件234和244。在創(chuàng)建這些文件的過(guò)程中,創(chuàng)建消息摘要246,它標(biāo)識(shí)描述符文件244。如將在以后說(shuō)明的,用戶不僅可以使用MD 246來(lái)查看最近的文檔B,而且可以使用MD 246回顧遍歷每個(gè)版本最終到達(dá)原始文檔B。
現(xiàn)在回到步驟254,我們考慮這種情況,用戶(或不同的用戶)希望創(chuàng)建文檔B的不同版本,即文檔B2。在該例中,我們假定文檔B2是文檔B的工程版本。將理解的是,創(chuàng)建文檔B2的用戶不需要與創(chuàng)建B1的用戶是同一用戶,而且事實(shí)上,用戶不需要意識(shí)到另一人正在創(chuàng)建不同的版本。另外,可能有任何數(shù)目的文檔B的版本,各自由并未意識(shí)到其他用戶也在創(chuàng)建文檔B的版本的不同用戶創(chuàng)建。
在該例中,在步驟286用戶創(chuàng)建文檔B2。在步驟290,利用步驟262-274的方法,創(chuàng)建文檔B2的描述符文件的消息摘要并且在步驟294返回給用戶。使用該消息摘要,用戶可以查看文檔B的最近的工程版本,即文檔B2,或者可以反向?qū)Ш街猎嘉臋nB。將理解的是,MD 246返回給銷售部的用戶,以便查看文檔B最近的銷售版本,而在步驟290創(chuàng)建的文檔B2的消息摘要返回給銷售部的用戶以查看文檔B最近的銷售版本。這些是用于不同目的的不同消息摘要,并且可以以任何適當(dāng)?shù)姆绞奖淮鎯?chǔ)、標(biāo)記和引用以表明這些消息摘要標(biāo)識(shí)文檔B的不同版本,即銷售版本和工程版本。本領(lǐng)域的技術(shù)人員將意識(shí)到,任何數(shù)目的用戶可以各自創(chuàng)建他們自己的消息摘要,涉及他們認(rèn)為是內(nèi)容空間在特定時(shí)間點(diǎn)的“他們的”版本的東西。例如,盡管MD 246標(biāo)識(shí)文檔B的最近銷售版本,用戶可能希望只把MD 236稱作那個(gè)文檔最近版本的標(biāo)識(shí)符。在那種情況下,用戶會(huì)做出選擇,他們出于他們自己的目的把文檔B1-1看作文檔B的最近版本。
為了通過(guò)版本反向?qū)Ш?,用戶與系統(tǒng)軟件相互作用,如馬上關(guān)于圖7所述。假定銷售部的用戶希望查看文檔B最近的銷售版本,或者早期版本之一,用戶得到已知是文檔B的工程版本的消息摘要。用戶向系統(tǒng)提供MD 246,然后系統(tǒng)能夠唯一地標(biāo)識(shí)描述符文件244并檢索它。打開(kāi)文件244后,系統(tǒng)通過(guò)適當(dāng)?shù)慕涌诔尸F(xiàn)給用戶MD 238(提供到文檔B1-2的鏈接)或標(biāo)識(shí)文檔下一個(gè)最近版本的MD 236。描述符文件的實(shí)現(xiàn)和系統(tǒng)如何使用描述符文件以跟隨鏈接可以以各種方式實(shí)現(xiàn)。例如,實(shí)現(xiàn)可以只是假定列在描述符文件內(nèi)的消息摘要總是以特定的順序,并且第一消息摘要標(biāo)識(shí)文檔的當(dāng)前版本,而第二消息摘要提供返回到下一最近版本的鏈接??蛇x擇地,描述符文件內(nèi)部的元數(shù)據(jù)可以提供表或其它信息,它表明哪個(gè)消息摘要引用哪個(gè)文檔。
在該例中,用戶可以選擇、點(diǎn)擊或另外標(biāo)識(shí)作為感興趣的鏈接的MD 236,然后它提供對(duì)描述符文件234的引用。一旦得到文件234,然后系統(tǒng)可以向用戶提供選擇要么使用MD 228回顧文檔B1-1,要么使用MD 226進(jìn)一步反向行進(jìn)。通過(guò)選擇MD 226,然后系統(tǒng)檢索描述符文件224。然后用戶選擇通過(guò)MD 222回顧文檔B1或使用MD 220查看原始文檔B。這樣,通過(guò)只是以單個(gè)消息摘要246(唯一標(biāo)識(shí)特定的具有一串文檔的版本的內(nèi)容空間)開(kāi)始,用戶能夠通過(guò)文檔的版本反向?qū)Ш健?br> 圖9說(shuō)明可選擇的反向?qū)Ш降膶?shí)施例,其中,允許用戶立即跳轉(zhuǎn)至文檔的原始版本而不需要經(jīng)過(guò)那個(gè)文檔的每個(gè)較近的版本。在該反向?qū)Ш降膶?shí)施例中,在開(kāi)始用戶可以向系統(tǒng)表明他或她希望使用MD 246以查看原始文檔。在該實(shí)施例中,系統(tǒng)然后自動(dòng)反向沿著消息摘要鏈接直到它最終到達(dá)MD 220并能夠標(biāo)識(shí)和把文檔B給用戶。檢索、打開(kāi)和使用描述符文件244、234和224的消息摘要由系統(tǒng)自動(dòng)完成并且對(duì)用戶是透明的。這樣,用戶可以使用在圖8中進(jìn)行的建立步驟立即導(dǎo)航至原始文檔。
在該實(shí)施例中,系統(tǒng)總是把MD 220(唯一標(biāo)識(shí)原始文檔B)插入每個(gè)描述符文件224、234和244。系統(tǒng)可以自然地明白列在描述符文件內(nèi)的第一消息摘要總是原是文檔的消息摘要,或者描述符文件內(nèi)部的元數(shù)據(jù)可以用于表明原始文檔的消息摘要存在于文件內(nèi)部。
這樣,然后,在創(chuàng)建描述符文件234的循環(huán)278期間,系統(tǒng)不僅把MD 226插入描述符文件234內(nèi),而且它還使用MD 226以飛快得到描述符文件224并檢索MD 220,它是初始文檔B的消息摘要。然后系統(tǒng)能夠把MD 220插入描述符文件234內(nèi)。以同樣的方式,當(dāng)創(chuàng)建描述符文件244時(shí),MD 220也可以插入文件244內(nèi)。
圖9示出該實(shí)施例的實(shí)現(xiàn),其中,描述符文件已被修改,這樣各自包括MD 220,即原始文檔的消息摘要。為清楚起見(jiàn),在該圖中沒(méi)有示出所有的文檔或描述符文件。描述符文件244以特定順序列出消息摘要第一消息摘要MD 220標(biāo)識(shí)原始文檔;第二消息摘要MD 238標(biāo)識(shí)用戶可以查看的文檔的當(dāng)前版本;以及第三消息摘要MD236標(biāo)識(shí)文檔的下一個(gè)最近的版本。如果以這種方式實(shí)現(xiàn),增加附加的元數(shù)據(jù)以表明哪個(gè)消息摘要標(biāo)識(shí)原始文檔并不是嚴(yán)格必需的。
然而,在一個(gè)實(shí)施例中,增加元數(shù)據(jù)以表明哪個(gè)消息摘要是哪個(gè)。為標(biāo)識(shí)描述符文件244中哪個(gè)消息摘要標(biāo)識(shí)哪個(gè)文檔,元數(shù)據(jù)296是以表、列表或其它數(shù)據(jù)結(jié)構(gòu)的形式增加的。元數(shù)據(jù)296呈現(xiàn)兩欄,第一欄提供描述特定文檔是什么的說(shuō)明,而第二欄提供文檔的名稱。系統(tǒng)明白文檔在該表中出現(xiàn)的順序意指這些特定文檔的消息摘要也以同樣的順序列出。可選擇地,可以擴(kuò)展表296,第三欄包含特定文檔的實(shí)際消息摘要。
在該例中,當(dāng)用戶向系統(tǒng)呈現(xiàn)MD 246并表明他或她希望查看原始文檔,系統(tǒng)標(biāo)識(shí)和檢索描述符文件244。然后,使用元數(shù)據(jù)296(或使用自然明白的即哪個(gè)消息摘要引用原始文檔),系統(tǒng)得到MD 220并可以立即為用戶標(biāo)識(shí)和定位原始文檔B。系統(tǒng)還可以允許用戶查看最近的文檔B1-2或通過(guò)以前的版本反向?qū)Ш剑@一點(diǎn)已經(jīng)在前面說(shuō)明。
圖10說(shuō)明了使用中間文件的反向?qū)Ш降淖凅w。為了易于說(shuō)明,圖10只示出圖7的文件和文檔的一部分。如前所述,示出的是包含文檔B1-2和B1-1的消息摘要的描述符文件244和234。然而,在該變體中,文件244內(nèi)部的消息摘要并不直接引用描述符文件234而是引用中間文件297。換言之,在反向?qū)Ш浇⑦^(guò)程期間創(chuàng)建中間文件297,它確實(shí)包含標(biāo)識(shí)描述符文件234的MD 236。散列函數(shù)用于創(chuàng)建文件297的散列值,即MD 298。MD 298然后被放置在描述符文件244內(nèi)部。
這樣,當(dāng)用戶通過(guò)以前版本回溯時(shí),提供附加級(jí)別的間接。在步驟270把附加的步驟增加到圖8的流程圖以容納中間文件。例如,在描述符文件244創(chuàng)建之前,創(chuàng)建帶MD 236的中間文件297。文件297的消息摘要然后隨MD 238一起被放置在新創(chuàng)建的描述符244內(nèi)??梢詾橐幌盗邪姹局械拿總€(gè)版本創(chuàng)建中間文件。還可能的是,如果希望,在版本之間創(chuàng)建多于一個(gè)的中間文件以提供附加級(jí)別的間接。例如,不是在版本B1-2和B1-1之間具有單個(gè)文件297,而是在描述符文件244和234之間可以有兩個(gè)或更多的中間文件。文件297可以是任何適當(dāng)?shù)挠?jì)算機(jī)文件。以實(shí)例形式,文件297是在微軟操作系統(tǒng)中可用的“快捷”文件或鏈接文件。其它的文件類型包括URL文件、XML文件、HTML文件、文本文件等等。
反向?qū)Ш嚼龍D11-13呈現(xiàn)了使用反向?qū)Ш降睦印T谝恍┣闆r下,可能有用的是,不僅反向?qū)Ш奖闅v文檔(或文檔集)的早期版本,而且還能夠證明早期的版本是原始文檔的真實(shí)副本。該例示出本發(fā)明的實(shí)施例如何可以用于確認(rèn)文檔的版本并證明檢索的副本是原始文檔的真實(shí)副本。
在許多情況下,文檔和那些文檔較近的版本是電子公布的,并且這些電子文檔是官方或參考版本??梢杂杏玫氖牵谝院蟮臅r(shí)間點(diǎn)證明從計(jì)算機(jī)檢索的這些電子文檔的版本事實(shí)上是原始文檔版本的真實(shí)副本。例如,考慮稱為“Staatsblad”的比利時(shí)法律的公報(bào)。比利時(shí)政府最近停止以書(shū)面形式公布該公報(bào),并且現(xiàn)在通過(guò)使其在Web站點(diǎn)上可得來(lái)只電子公布該公報(bào)。
然而,因?yàn)樽C明若干年后檢索或若干年后印刷的特定文檔事實(shí)上是原先在Staatsblad的Web站點(diǎn)上公布的真實(shí)副本,可能是困難的,所以存在問(wèn)題。因?yàn)楣珗?bào)只在Web站點(diǎn)上公布,所以黑客非法修改在那個(gè)站點(diǎn)上的法律文檔是可能的。因?yàn)闆](méi)有其它的官方版本存在,證明法律文檔的正確內(nèi)容可能是困難的。此外,不擇手段的一方可能下載官方法律文檔、修改它滿足他們自己的欺騙目的,而后聲稱他們擁有的版是原始文檔的真實(shí)副本。如果沒(méi)有方法證明官方Web站點(diǎn)的電子文檔是真實(shí)文檔,然后該方可能聲稱網(wǎng)站已經(jīng)被黑客或反對(duì)方修改。下面用由比利時(shí)政府電子公布的法律文檔作為例子來(lái)示出在任何一方以后若干年里如何可以確定從這樣的Web站點(diǎn)獲得的文檔和早期版本事實(shí)上是原始文檔的真實(shí)副本。
圖11示出在本例的上下文中描述符文件內(nèi)容的一種顯示。在該例中,系統(tǒng)向用戶呈現(xiàn)界面視窗302以對(duì)已經(jīng)接收了唯一標(biāo)識(shí)描述符文件的URL 304響應(yīng)。各種各樣的計(jì)算機(jī)和軟件可以用于實(shí)現(xiàn)本發(fā)明。在該例中,運(yùn)行微軟操作系統(tǒng)的PC兼容的計(jì)算機(jī)使用因特網(wǎng)瀏覽器來(lái)訪問(wèn)網(wǎng)站“trustclip.com”。用戶向?yàn)g覽器提供URL 304,它不僅包括域名而且還包括27個(gè)字符的串(象征性地表示128位的消息摘要或散列值)。對(duì)接收該消息摘要響應(yīng),在域服務(wù)器上運(yùn)行的系統(tǒng)軟件可以在它的內(nèi)容可尋址的存儲(chǔ)器中定位由那個(gè)消息摘要唯一標(biāo)識(shí)的描述符文件?,F(xiàn)在視窗302將來(lái)自描述符文件的信息和其它信息的顯示一起示出。標(biāo)題305通過(guò)提供法語(yǔ)和佛蘭芒語(yǔ)的題目連同提供用于預(yù)約服務(wù)的電子郵件地址的邀請(qǐng)來(lái)引入應(yīng)用。日期306表明提供給系統(tǒng)的URL 304是對(duì)2003年1月10日電子公布的比利時(shí)法律的唯一引用。
文件名308表明通過(guò)被URL 304標(biāo)識(shí)的描述符文件可得的文件。大小310表明每個(gè)文件的大小。如前所述,文件名和大小以及其它信息最好存儲(chǔ)在描述符文件的元數(shù)據(jù)中,而在描述符文件發(fā)現(xiàn)的一列消息摘要提供唯一標(biāo)識(shí)列出的四個(gè)文件中的每一個(gè)的鏈接。在該例中,服務(wù)器內(nèi)容可尋址的存儲(chǔ)器還存儲(chǔ)這些文件并能夠根據(jù)它的消息摘要使用已經(jīng)在前面說(shuō)明的方法或在現(xiàn)有技術(shù)中可用的方法來(lái)定位和訪問(wèn)每個(gè)文件。
兩個(gè)PDF文件312是提供2003年1月10日電子公布的比利時(shí)法律的概述和完整說(shuō)明的內(nèi)容文件。
(雖然只示出了兩個(gè)內(nèi)容文件,在說(shuō)明符文件內(nèi)部引用任何數(shù)量的文件是可能的。)索引文件314是XML文件,它提供可用內(nèi)容的索引以及到內(nèi)容以前版本的鏈接。收據(jù)文件316是XML文件,它提供時(shí)間標(biāo)記和數(shù)據(jù)簽名,無(wú)可爭(zhēng)辯地證實(shí)其中的內(nèi)容和到以前版本的鏈接是在那個(gè)日期作為官方法律最初電子公布的內(nèi)容的真實(shí)且準(zhǔn)確的表示。選擇318向用戶提供了下載所選文件的方法。因此,簡(jiǎn)單的URL 304(包含消息摘要)向任何用戶提供不僅對(duì)在某日公布的官方法律的訪問(wèn)而且對(duì)保證的以前版本的真實(shí)副本的訪問(wèn),這一點(diǎn)將馬上說(shuō)明。
圖12示出在圖11中引用的索引文件的一種顯示。視窗330提供了如瀏覽器視窗中所呈現(xiàn)的索引文件的內(nèi)容的一個(gè)可能的視圖。當(dāng)然,其它的顯示方法和其它的軟件可以用于查看索引文件的內(nèi)容或用來(lái)呈現(xiàn)它的信息。日期332表明內(nèi)容涉及在2003年1月10日公布的法律。文檔列表334列出了可以從官方政府站點(diǎn)檢索每個(gè)文件的URL、文件名、文件大小和文件散列值。在該例中,列表334種示出的每個(gè)文件的文件散列值與用于從描述符文件內(nèi)部引用內(nèi)容文件312的散列值不是相同的。在該例中,使用不同的散列函數(shù)計(jì)算了列表334中的散列值以提供文檔另外的標(biāo)識(shí)。依賴于該實(shí)現(xiàn),用戶可以使用在列表334中提供的URL來(lái)檢索文檔,或者可以然后使用提供的散列值認(rèn)證內(nèi)容,或者用戶可以使用視窗302來(lái)下載特定的PDF文件312,它存儲(chǔ)在域“trustclip.com”的內(nèi)容可尋址的存儲(chǔ)器中。
URL 336提供了到2003年1月9日公布的這些文檔的以前版本的鏈接。在該例中,為使對(duì)應(yīng)于所列消息摘要的描述符文件被檢索,域名和消息摘要相連從而允許用戶可以簡(jiǎn)單容易地鏈接到站點(diǎn)“trustclip.com”。正如URL 304提供到2003年1月10日公布的文檔的當(dāng)前版本的唯一鏈接,URL 336唯一標(biāo)識(shí)引用文檔的早期版本的描述符文件。盡管在該例中未示出,本領(lǐng)域的技術(shù)人員將理解通過(guò)下面的URL 336,然后會(huì)顯示給用戶非常相似于視窗302的視窗,它顯示了具有到這些文檔的以前版本的鏈接的描述符文件的內(nèi)容以及相應(yīng)的索引文件和收據(jù)文件。
正如前面在各種實(shí)施例中說(shuō)明的,視窗302中示出的描述符文件的內(nèi)容包括唯一標(biāo)識(shí)圖12的索引文件的消息摘要。因?yàn)閁RL 336是索引文件的一部分,并且因?yàn)樗饕募缓蟊簧⒘星宜南⒄挥?02示出的描述符文件內(nèi)部,可以根本不用懷疑地確認(rèn)URL336是到以前版本的真實(shí)且正確的鏈接。換言之,黑客修改索引文件的內(nèi)容或修改URL 336示出的消息摘要幾乎是不可能的。值得注意的是,索引文件利用了圖10說(shuō)明的變體。在該例中,關(guān)于早期版本的消息摘要336不是直接包含在視窗302中的描述符文件顯示內(nèi)部,而摘要336包含在索引文件內(nèi)部,該索引文件由描述符文件引用。換言之,索引文件是中間文件,它提供到達(dá)早期版本的附加級(jí)別的間接。
圖13示出了圖11中引用的收據(jù)文件的內(nèi)容的一種顯示。在該例中,視窗350在因特網(wǎng)瀏覽器視窗內(nèi)部顯示了收據(jù)文件的內(nèi)容。部分352顯示了關(guān)于收據(jù)文件的一般信息,包括版本、類型和創(chuàng)建時(shí)間。時(shí)間354提供了收據(jù)文件被時(shí)間標(biāo)記的精確時(shí)間。在該實(shí)施例中,由2000年10月歐洲立法核定的專用硬件用于提供時(shí)間標(biāo)記。政策356表明由當(dāng)局按照歐洲立法制定的方針遵守的特定的政策。正如將被本領(lǐng)域的技術(shù)人員所理解的,任何的各種時(shí)間標(biāo)記政策和硬件可以用于提供真實(shí)且可核實(shí)的時(shí)間標(biāo)記。提供時(shí)間標(biāo)記的方法和它精確的本質(zhì)很可能依賴于權(quán)限、應(yīng)用的類型和特定的實(shí)現(xiàn)而變化。
附件360列出所附的文件(除了收據(jù)文件),它包括在如在視窗302所示的描述符文件內(nèi)容的內(nèi)部。文件362和364是指第一和第二PDF文件,指出它們的擴(kuò)展名、大小和文件散列值。文件366是指索引文件,也列出了索引文件的散列值。通過(guò)提供在收據(jù)文件(收據(jù)文件本身也被散列)內(nèi)部的索引文件的散列值,提供了另外的確定性,即索引文件(包括到以前版本的鏈接)的內(nèi)容不可能被篡改。
部分370涉及數(shù)字簽名和提供數(shù)字簽名的當(dāng)局,即,實(shí)體HyperTrust。該部分證實(shí)實(shí)體“HyperTrust”是創(chuàng)建這些文件并對(duì)其數(shù)字簽名的實(shí)體。實(shí)際的數(shù)字簽名沒(méi)有在該圖中示出,但是可以在該收據(jù)文件的基礎(chǔ)XML表示中找到。使用數(shù)字簽名來(lái)驗(yàn)證文件的內(nèi)容、認(rèn)證誰(shuí)對(duì)信息簽名等等是本領(lǐng)域技術(shù)人非常熟知的方法。因此,通過(guò)使用索引和收據(jù)文件,向用戶提供確定性,即當(dāng)他們查看文檔的最近版本時(shí),不僅那個(gè)文檔是真實(shí)的,而且他們檢索的那個(gè)文檔的早期版本也是真實(shí)的版本。
正向?qū)Ш綀D14說(shuō)明了用戶希望通過(guò)版本正向?qū)Ш降膬?nèi)容空間50。在該例中,擁有文檔A的用戶希望查看與文檔B關(guān)聯(lián)的隨后的版本,例如,通過(guò)沿著鏈接402、404和406。或者,用戶希望查看文檔B的最近版本,通過(guò)沿著鏈接408直接從文檔B到文檔B1-2。在另一實(shí)施例中,用戶持有文檔B或者可能是標(biāo)識(shí)文檔B的消息摘要并且希望查看它后來(lái)的版本。下面的例子解決了這種情況,其中,用戶擁有包括文檔B的消息摘要的文檔A。萬(wàn)一用戶希望從文檔B開(kāi)始,描述符文件446會(huì)包含MD 428而不是MD418,并且為描述符文件446創(chuàng)建的消息摘要不會(huì)是MD 418’,而會(huì)標(biāo)記為428’,以反映MD 428’允許從文檔B(其消息摘要最初是MD 428)正向?qū)Ш健?br> 圖15詳細(xì)示出了用于進(jìn)行正向?qū)Ш降姆椒?。在開(kāi)始時(shí),考慮這種情況,其中用戶擁有特定的文檔A并且系統(tǒng)創(chuàng)建了消息摘要414、描述符文件416和相應(yīng)的消息摘要418以允許用戶使用MD 418唯一地標(biāo)識(shí)文檔A。文檔A包括對(duì)文檔B的引用。在該例中,消息摘要428通過(guò)描述符文件426和消息摘要424引用文檔B,MD 428嵌入在文檔A內(nèi)部。這樣,持有MD 418的用戶可以唯一地標(biāo)識(shí)文檔A并且發(fā)現(xiàn)唯一標(biāo)識(shí)引用的文檔B的鏈接。然而,在某一時(shí)間點(diǎn),用戶希望創(chuàng)建文檔B1并且使能對(duì)那個(gè)文檔的正向?qū)Ш?。從該起始點(diǎn),我們現(xiàn)在轉(zhuǎn)向下一幅圖來(lái)說(shuō)明該過(guò)程如何發(fā)生。
圖16是說(shuō)明用于建立正向?qū)Ш降倪^(guò)程的流程圖。在該情況下,我們假定文檔A和B及它們關(guān)聯(lián)的消息摘要已經(jīng)存在,如前面說(shuō)明的。首先,在步驟460,用戶得到MD 418,它是用于標(biāo)識(shí)文檔A(和任何引用的文檔,例如文檔B)的消息摘要。在下面的例子中,我們假定為每個(gè)文檔創(chuàng)建描述符文件并且為每個(gè)描述符文件創(chuàng)建相應(yīng)的消息摘要。在該實(shí)施例中,每個(gè)描述符文件的元數(shù)據(jù)可以用于提供諸如文件名、創(chuàng)建日期等等的信息。這是優(yōu)選實(shí)施例,盡管在描述符文件不是嚴(yán)格必需的情況中,特定文檔的消息摘要可以直接標(biāo)識(shí)那個(gè)文檔而不使用中間描述符文件。例如,MD 428標(biāo)識(shí)描述符文件426,它包含直接標(biāo)識(shí)文檔B的MD 424。在其它實(shí)施例中,MD 424可以直接嵌入文件A內(nèi)部,這樣描述符文件426就不是嚴(yán)格必需的。然而,通過(guò)提供同時(shí)參考多個(gè)文件的可能性并且通過(guò)提供元數(shù)據(jù),描述符文件通常是有用的。
在步驟464,用戶創(chuàng)建文檔B1??蛇x擇地,用戶可以從別的地方得到文檔B1,或者可以只是被給予文檔B1的消息摘要或文檔B1的描述符文件的消息摘要。在步驟468,用戶向系統(tǒng)表明文檔B1應(yīng)該被認(rèn)為是文檔B的版本,并且希望的是,可以為了將來(lái)的使用使能正向?qū)Ш健T诓襟E472,系統(tǒng)創(chuàng)建文檔B1的消息摘要434(除非以前提供了)。最好,系統(tǒng)還創(chuàng)建描述符文件436和標(biāo)識(shí)那個(gè)描述符文件并間接標(biāo)識(shí)文檔B1的消息摘要438。為了使能將來(lái)的正向?qū)Ш?,在步驟476,系統(tǒng)通過(guò)創(chuàng)建映射MD 428到MD 438的單個(gè)記錄創(chuàng)建映射表440。換言之,MD 428(標(biāo)識(shí)文檔B)被映射成MD 438(它標(biāo)識(shí)文檔B1)。因此,在正向?qū)Ш狡陂g,映射表用于向系統(tǒng)表明無(wú)論何時(shí)遇到MD 428(文檔B),MD 438(文檔B1)應(yīng)該在它的位置上使用。這樣,系統(tǒng)可以從文檔B跳轉(zhuǎn)至文檔B1。系統(tǒng)還創(chuàng)建消息摘要442以標(biāo)識(shí)映射表。
在步驟480,系統(tǒng)通過(guò)包括MD 442和MD 418(最初用于標(biāo)識(shí)文檔A)來(lái)創(chuàng)建描述符文件446。然后創(chuàng)建消息摘要418’用于標(biāo)識(shí)描述符文件446。在步驟484,將MD 418’作為將用于進(jìn)行從文檔A到文檔B的版本的正向?qū)Ш降南⒄祷亟o用戶。
應(yīng)該注意的是,映射表440是映射表非常簡(jiǎn)單的版本,只有一個(gè)條目。映射表可以有任何數(shù)目的條目,各自把一個(gè)消息摘要映射成不同的消息摘要從而提供正向?qū)Ш?。例如,萬(wàn)一文檔B實(shí)際上是包含許多文檔的文檔集,那么映射表會(huì)有許多條目,每個(gè)條目將文檔的舊版本的消息摘要映射到文檔的新版本的新消息摘要,其中,消息摘要直接標(biāo)識(shí)文檔。在圖20所示的另一情況中,映射表可以有許多條目。在消息摘要標(biāo)識(shí)描述符文件(包含多個(gè)文檔的消息摘要)并且映射表映射描述符文件消息摘要的情況中,在映射表中可能只有一個(gè)條目。
在另一實(shí)施例中,映射表440不必作為描述符文件446外部的單獨(dú)的表或文件存在,而是可以作為元數(shù)據(jù)駐留在文件446內(nèi)部。這樣將會(huì)不需要MD 442。映射表的優(yōu)點(diǎn)是因?yàn)樗梢詫?shí)現(xiàn)為簡(jiǎn)單的表或文件,所以它可以直接存儲(chǔ)在描述符文件內(nèi)部或者它的計(jì)算的消息摘要以及存儲(chǔ)在別處的映射表內(nèi)部。通過(guò)它的散列值被計(jì)算(為了表本身或者作為描述符文件的一部分),映射表和它的內(nèi)容可以生效并在以后被驗(yàn)證。映射表可以實(shí)現(xiàn)為任何類型的文件或表。在一個(gè)實(shí)施例中,映射表實(shí)現(xiàn)為XML文件。并且盡管映射表440示出實(shí)際標(biāo)識(shí)互相映射的描述符文件的消息摘要,直接從一個(gè)到另一個(gè)映射標(biāo)識(shí)文檔的消息摘要也是可能的。例如,盡管映射表440將MD 428映射成MD 438,將MD 424映射成MD 434也是可能的,從而實(shí)現(xiàn)所希望的較低級(jí)別的映射。映射表還可以包括有用的元信息,例如與正向或反向?qū)Ш接嘘P(guān)的訪問(wèn)權(quán)。
圖17說(shuō)明了正向?qū)Ш降牧硗獾睦印D16說(shuō)明了當(dāng)創(chuàng)建文檔B的新版本B1時(shí)如何可以建立映射表以使能將來(lái)的正向?qū)Ш?。本發(fā)明還可以處理任何這樣的情況,其中,在以后創(chuàng)建任何數(shù)目的文檔B的版本。例如,圖17說(shuō)明了當(dāng)創(chuàng)建文檔B1的新版本即文檔B1-1時(shí)如何使能正向?qū)Ш健?br> 類似于在圖16中的流程圖所述的方法,用戶創(chuàng)建或被另外提供文檔B1-1并且然后向系統(tǒng)表明文檔B1-1應(yīng)該被認(rèn)為是文檔B1的新版本。然后,類似于步驟472,MD 504與描述符文件506和MD 508一起創(chuàng)建。然后,類似于步驟476,創(chuàng)建將MD 438(引用文檔B1的消息摘要)映射成MD 508(引用文檔B1-1的消息摘要)的映射表507。MD 508是標(biāo)識(shí)描述符文件的消息摘要,描述符文件包含標(biāo)識(shí)文檔B1-1的消息摘要。然后為映射表507創(chuàng)建MD 514。
然后,類似于步驟480,創(chuàng)建描述符文件516,它包括MD 514和MD 418’(該消息摘要是以前創(chuàng)建的,用于允許正向?qū)Ш降轿臋nB1)。然后,創(chuàng)建MD 418”。最后,將MD 418”返回給用戶,作為用于正向?qū)Ш街廖臋nB1-1的消息摘要。當(dāng)使用MD 418”時(shí),映射表507通過(guò)它在描述符文件516內(nèi)部被引用而進(jìn)入存儲(chǔ)器,并且映射表440通過(guò)它在描述符文件446內(nèi)部被引用而進(jìn)入存儲(chǔ)器。這樣,當(dāng)系統(tǒng)沿著鏈接418”到鏈接418’并最終到達(dá)允許訪問(wèn)文檔A的鏈接418時(shí),系統(tǒng)意識(shí)到標(biāo)識(shí)文檔B的消息摘要應(yīng)該被標(biāo)識(shí)文檔B1的摘要替換,并且另外,引用文檔B1的摘要應(yīng)該被引用文檔B1-1的摘要替換。這樣,用戶可以通過(guò)文檔的多個(gè)版本的任何一個(gè)正向?qū)Ш健?br> 圖18說(shuō)明了立即跳轉(zhuǎn)至文檔的一系列版本中的最近或最新版本。例如,考慮這種情況,其中,不是用戶一個(gè)接著一個(gè)的創(chuàng)建文檔B的版本并在每步要求系統(tǒng)使能正向?qū)Ш剑峭蝗怀尸F(xiàn)給用戶內(nèi)容空間50的文檔。換言之,用戶要么同時(shí)創(chuàng)建要么同時(shí)得到內(nèi)容空間60的所有文檔,而后向系統(tǒng)呈現(xiàn)這些文檔,指出B1-1是文檔B1的較近版本等等。在這種情況下,如果用戶確實(shí)希望,系統(tǒng)可以建立映射表,將文檔B立即映射到創(chuàng)建的最新版本,即文檔B1-2。
盡管沒(méi)有在圖18中示出,創(chuàng)建引用文檔B1-2(即,使用了描述符文件)的消息摘要458。然后系統(tǒng)創(chuàng)建映射表520,它將MD 428(文檔B)映射成MD 458(文檔B1-2)。為該映射表創(chuàng)建MD 524并創(chuàng)建也包括引用文檔A的原始MD 418的描述符文件526。最后,創(chuàng)建MD 528并將其作為當(dāng)用戶希望在內(nèi)容空間50導(dǎo)航并立即跳轉(zhuǎn)至文檔B可用的最新版本即B1-2時(shí)將使用的消息摘要返回給用戶。當(dāng)用戶向系統(tǒng)提供MD 528時(shí),系統(tǒng)訪問(wèn)映射表520并沿著鏈接418以得到文檔A。因此,無(wú)論何時(shí)遇到引用文檔B的MD 428,它都將被MD 458替換,MD 458提供了到文檔B1-2即可用的文檔B最新版本的直接鏈接。
圖19說(shuō)明了另一正向?qū)Ш椒桨福渲?,映射表有多個(gè)條目。如前所述,映射表可以有任何數(shù)目的條目,各自將一個(gè)消息摘要映射成另一個(gè)。例如,考慮內(nèi)容空間570,其中,在某一時(shí)間點(diǎn),文檔B和C的兩個(gè)新版本已經(jīng)創(chuàng)建,即文檔B1和C1。現(xiàn)在用戶向系統(tǒng)表明這些新文檔應(yīng)該被認(rèn)為是新版本。因此,當(dāng)用戶訪問(wèn)文檔A時(shí),他們會(huì)希望正向?qū)Ш街列掳姹綛1和C1。
圖20說(shuō)明了允許該導(dǎo)航類型的方法。類似于在圖16的流程圖中所述的方法,創(chuàng)建映射表530,它將MD 428(文檔B)映射成MD438(文檔B1)。使用前面說(shuō)明的方法,創(chuàng)建了消息摘要538和548,其通過(guò)描述符文件分別引用文檔C和C1。這些消息摘要作為條目放入表中,這樣MD 538映射成MD 548。
然后創(chuàng)建描述符文件566,它包括MD 554和MD 418(該消息摘要引用文檔A)。創(chuàng)建MD 558并將其作為為正向?qū)Ш街廖臋nB和C的新版本而使用的消息摘要返回給用戶。因此,當(dāng)用戶向系統(tǒng)提供MD 558時(shí),用戶可以通過(guò)MD 418導(dǎo)航至文檔A,并且映射表530將自動(dòng)從文檔B和C映射成它們較近的版本從而允許正向?qū)Ш健?br> 閱讀了本公開(kāi)內(nèi)容后,本領(lǐng)域的技術(shù)人員將理解可以創(chuàng)建復(fù)雜得多的映射表,其有與具有在特定時(shí)間點(diǎn)創(chuàng)建的新版本的文檔數(shù)目對(duì)應(yīng)的任何數(shù)目的條目。不僅依靠用戶定義他或她認(rèn)為新版本是什么,而且由依靠用戶定義在什么特定的時(shí)間點(diǎn)應(yīng)該創(chuàng)建映射到這些新版本的映射表。例如,考慮內(nèi)容空間570,如果隨后而不是同時(shí)創(chuàng)建文檔B1和C1,用戶可能希望創(chuàng)建只提供正向?qū)Ш街廖臋nB1的映射表和消息摘要?;蛘?,用戶可能希望一直等到文檔C1被創(chuàng)建而后創(chuàng)建文檔A的映射表和消息摘要,它確實(shí)允許正向?qū)Ш街廖臋nB1和C1?;蛘?,用戶甚至可以選擇不創(chuàng)建文檔B1和C1的映射表,從而有效地不提供至文檔B1和C1的正向?qū)Ш剑词沽硪蝗丝赡苷J(rèn)為它們是有效的版本。當(dāng)然可能的是,該另一人可能的確創(chuàng)建了文檔A的映射表和消息摘要,它會(huì)允許正向?qū)Ш街廖臋nB1和C1。這樣,不同的用戶可以為相同的文檔集定義不同的內(nèi)容空間。什么被認(rèn)為是版本、何時(shí)創(chuàng)建映射表以及何時(shí)應(yīng)該使能或不使能正向?qū)Ш?,完全由每個(gè)單獨(dú)的用戶決定。
圖21是說(shuō)明基于圖15和16的正向?qū)Ш降牧鞒虉D。在這種情況下,用戶創(chuàng)建了新的版本文檔B1并且使能了正向?qū)Ш讲⑶业玫搅薓D418’(標(biāo)識(shí)內(nèi)容空間,其中文檔B1是文檔B的最近版本)。
為了正向?qū)Ш奖闅v該內(nèi)容空間,在步驟580,用戶首先得到該內(nèi)容空間的所希望的版本的MD 418’。應(yīng)該理解,使用在此所述的方法可以創(chuàng)建其它消息摘要,它們涉及例如創(chuàng)建了文檔B的較近版本的內(nèi)容空間的不同版本,其中創(chuàng)建了文檔B2或C的版本等等。最好,由MD 418’唯一標(biāo)識(shí)的描述符文件中的元數(shù)據(jù)包含說(shuō)明內(nèi)容空間版本的標(biāo)題或說(shuō)明。因此,用戶可以得到正確的消息摘要來(lái)滿足他們預(yù)期的目的。在步驟582,系統(tǒng)打開(kāi)描述符文件446以得到映射表440和MD 418,MD 418是引用文檔A和原始內(nèi)容空間的原始消息摘要。在步驟584,映射表被放入存儲(chǔ)器或被放入任何其它適當(dāng)?shù)奈恢?例如數(shù)據(jù)庫(kù)),這樣當(dāng)系統(tǒng)進(jìn)行正向?qū)Ш綍r(shí)可以引用表。
在步驟586,系統(tǒng)使用MD 418和MD 414向用戶提供文檔A。然后,在步驟588,當(dāng)用戶從文檔A內(nèi)部選擇文檔B時(shí),系統(tǒng)試圖解析MD 428。但是,因?yàn)橛成浔碓诖鎯?chǔ)器內(nèi),在步驟590,系統(tǒng)將MD 428映射成MD 438并且通過(guò)文件436和MD 434向用戶提供文檔B1。這樣,用戶能夠正向?qū)Ш街了M膬?nèi)容空間內(nèi)部的文檔B的最近版本。當(dāng)然,更復(fù)雜的正向?qū)Ш绞强赡艿?,這依賴于用戶所選擇的內(nèi)容空間。在可選擇的實(shí)施例中,映射表將MD 424映射成MD 434。因此,在文檔A中對(duì)MD 428的引用確實(shí)產(chǎn)生文件426,但是當(dāng)系統(tǒng)讀取MD 424時(shí),系統(tǒng)將因?yàn)橛成浔矶阉成涑蒑D434。該可選擇的實(shí)施例是較低級(jí)別映射的例子。
當(dāng)使用映射表進(jìn)行正向?qū)Ш綍r(shí),任何映射表的內(nèi)容可以在讀取時(shí)間或運(yùn)行時(shí)間被解析。換言之,當(dāng)用戶首先提供產(chǎn)生映射表的消息摘要時(shí),系統(tǒng)可以立即解析那個(gè)映射,包括在找到的描述符文件內(nèi)部查找所有的消息摘要以解析任何其它找到的映射表的映射??蛇x擇地,系統(tǒng)可以一直等到用戶明確地選擇了鏈接(即消息摘要)才核對(duì)以查看是否存在那個(gè)鏈接的映射。
為正向?qū)Ш浇?nèi)容空間的一個(gè)附加的好處是這樣通過(guò)使用創(chuàng)建的映射表允許反向?qū)Ш蕉恍枰懊鏋榉聪驅(qū)Ш剿龅慕⒎椒ā?紤]圖14-17的例子,一旦使能了對(duì)內(nèi)容空間50的正向?qū)Ш?,用戶可以通過(guò)反向讀取映射表來(lái)回溯。參考圖17和使能了直至文檔B1-1的正向?qū)Ш降那闆r,現(xiàn)在系統(tǒng)在存儲(chǔ)器中有映射表440和507。萬(wàn)一用戶具有標(biāo)識(shí)文檔B1-1的MD 508并希望回溯,系統(tǒng)參考表507并確定下一個(gè)最近的版本在MD 438發(fā)現(xiàn),它是文檔B1。然后,通過(guò)參考表440,系統(tǒng)確定下一個(gè)最近的版本MD 438是標(biāo)識(shí)文檔B的MD 428。這樣,反向?qū)Ш娇梢酝ㄟ^(guò)用于正向?qū)Ш降挠成浔硎鼓?。另外,萬(wàn)一用戶希望更進(jìn)一步回溯至文檔A(其包含文檔B的消息摘要),可以使用循環(huán)導(dǎo)航返回到文檔A。
盡管說(shuō)明了映射表被包括在高級(jí)消息摘要的描述符文件內(nèi)部的情況,單獨(dú)保存映射表并當(dāng)調(diào)用會(huì)話時(shí)作為參數(shù)傳遞是可能的??紤]圖15。在該例中,映射表440被包括在新的描述符文件446內(nèi)部,創(chuàng)建描述符文件446以包含映射表(或它的消息摘要)和標(biāo)識(shí)文檔A的原始消息摘要。這樣,保證設(shè)有MD 418’的用戶在當(dāng)他或她調(diào)用MD 418’時(shí)使用表440并且可以查看所希望的內(nèi)容空間而不需要知道更多的或傳遞其它參數(shù)。
但是,如果不希望創(chuàng)建新的描述符文件來(lái)包含對(duì)映射表的引用,在創(chuàng)建映射表后,系統(tǒng)只是返回MD 418給用戶(文檔A的原始標(biāo)識(shí)符),還一道返回唯一標(biāo)識(shí)映射表的MD 442。然后系統(tǒng)通知用戶,或者用戶意識(shí)到,為了正向?qū)Ш街廖臋nB1是最近版本的內(nèi)容空間,用戶必須調(diào)用與系統(tǒng)的會(huì)話并且作為參數(shù)傳遞MD 418和MD 442。在一種變體中,可以為MD 442創(chuàng)建描述符文件,它包括作為元數(shù)據(jù)的內(nèi)容空間的說(shuō)明。即,例如,元數(shù)據(jù)將內(nèi)容空間描述為“銷售版本1.2”。因此,在調(diào)用會(huì)話和傳遞MD 418與描述符文件的消息摘要時(shí),用戶就可以查看所希望內(nèi)容空間的說(shuō)明。這些實(shí)施例考慮到用戶保留原始的MD 418作為文檔A的標(biāo)識(shí)符,而且需要MD 418以查看特定的內(nèi)容空間,當(dāng)調(diào)用會(huì)話時(shí),用戶確實(shí)需要傳遞映射表的消息摘要作為參數(shù)(或者傳遞某一引用以允許發(fā)現(xiàn)映射表)。
循環(huán)導(dǎo)航圖22說(shuō)明了用戶希望文檔X和Y各自引用彼此的方案。稱為“循環(huán)”引用,用戶希望文檔X內(nèi)部的鏈接唯一標(biāo)識(shí)文檔Y并且文檔Y內(nèi)部的鏈接唯一標(biāo)識(shí)文檔X。盡管為了提供到文檔Y的唯一鏈接可以創(chuàng)建文檔Y的散列值并插入文檔X內(nèi),但是然后修改文檔Y以插入對(duì)文檔X的唯一引用是不可能的。如果在創(chuàng)建了文檔Y的散列值后修改文檔Y,那么本質(zhì)上,創(chuàng)建了文檔Y的新版本,并且計(jì)算的原始散列值不會(huì)對(duì)應(yīng)于文檔Y的新版本。為了解決這種情況,本發(fā)明的實(shí)施例提供了適當(dāng)?shù)姆椒ā?br> 圖23說(shuō)明了循環(huán)導(dǎo)航的方法,它使用散列值允許兩個(gè)文檔唯一標(biāo)識(shí)彼此。在某一時(shí)間點(diǎn),用戶得到(或創(chuàng)建)文檔Y和包含唯一標(biāo)識(shí)文檔Y的引用的文檔X。在這種情況下,為文檔Y計(jì)算了消息摘要602(最好是描述符文件的消息摘要)并且插入文檔X的內(nèi)部以提供對(duì)文檔Y的引用。還提供給用戶(或系統(tǒng)計(jì)算)唯一標(biāo)識(shí)文檔X的消息摘要601(最好是描述符文件的MD)。在該時(shí)間點(diǎn),用戶可以使用MD 601以定位文檔X并因此發(fā)現(xiàn)對(duì)文檔Y的唯一引用。但是,在該時(shí)間點(diǎn),在文檔Y內(nèi)部沒(méi)有對(duì)文檔X的引用。用戶可能創(chuàng)建文檔Y的新版本,即文檔Y’,它確實(shí)包括MD 601,MD 601確實(shí)唯一標(biāo)識(shí)文檔X。但是,因?yàn)镸D 601的插入改變了原始的文檔Y,從而創(chuàng)建了文檔Y的新版本。給定文檔Y’,用戶可以導(dǎo)航至文檔X并然后至文檔Y,但是然后不可能導(dǎo)航回到文檔X??蛇x擇地,給定文檔X,用戶可以導(dǎo)航至文檔Y,但是然后不可能導(dǎo)航回到文檔X。
圖24是說(shuō)明使能兩個(gè)文檔之間的循環(huán)導(dǎo)航的方法的流程圖?;趫D23的說(shuō)明,用戶首先在605得到文檔X和Y,如前所述。文檔X包含對(duì)文檔Y的唯一引用并且MD 601標(biāo)識(shí)文檔X。為了創(chuàng)建循環(huán)引用,在步驟654,用戶(或系統(tǒng))首先創(chuàng)建文檔Y的新版本即文檔Y’,并且將文檔X的消息摘要MD 601插入文檔Y’內(nèi)。當(dāng)然,同時(shí)用戶可以以任何其它方式修改文檔Y。在步驟658,系統(tǒng)然后創(chuàng)建唯一標(biāo)識(shí)文檔Y’的MD 606(最好是描述符文件的消息摘要)。在步驟662,系統(tǒng)創(chuàng)建映射表610,它將MD 602(原始文檔Y的消息摘要)映射成MD 606(新文檔Y’的消息摘要)。
在步驟666,創(chuàng)建描述符文件616,它包括引用映射表610的MD614和唯一標(biāo)識(shí)文檔X的MD 601。創(chuàng)建描述符文件的消息摘要621并且返回給用戶。MD 621從而提供入口點(diǎn)給用戶用于進(jìn)行文檔X和Y之間的循環(huán)導(dǎo)航。
為了在文檔X和Y之間導(dǎo)航,用戶通過(guò)接收MD 621開(kāi)始,MD 621被加標(biāo)題或被描述為允許兩個(gè)文檔之間循環(huán)導(dǎo)航的內(nèi)容空間的消息摘要。接收MD 621后,系統(tǒng)接著訪問(wèn)映射表610和文檔X。用戶然后能夠查看文檔X。當(dāng)用戶為查看文檔Y訪問(wèn)(或者另外點(diǎn)擊或選擇)MD 602時(shí),系統(tǒng)參考映射表,它將MD 602映射成MD 606。因此,當(dāng)用戶試圖查看文檔Y時(shí),系統(tǒng)使用MD 606代替地提供到文檔Y’的映射。一旦在文檔Y’內(nèi)部,用戶有可用的MD 601,它以循環(huán)的方式提供了唯一的返回到文檔X的引用。這樣,在兩個(gè)文檔之間允許循環(huán)導(dǎo)航。循環(huán)導(dǎo)航還可用于創(chuàng)建自引用文檔。例如,PowerPoint顯示可以包含對(duì)本身的顯式引用;消息摘要(或最好便于人類可讀的形式)可以在分發(fā)頁(yè)上打印出來(lái)。
閱讀了該公布內(nèi)容之后,對(duì)本領(lǐng)域的技術(shù)人員將明顯的是更復(fù)雜的循環(huán)導(dǎo)航可以發(fā)生。例如,循環(huán)導(dǎo)航不僅可以發(fā)生在兩個(gè)文檔之間,而且可以以循環(huán)的方式在任何數(shù)目的文檔周圍發(fā)生。圖25說(shuō)明了在任何數(shù)目的文檔周圍進(jìn)行循環(huán)導(dǎo)航的方案。在這種情況下,用戶希望創(chuàng)建內(nèi)容空間702,其中,如所示,允許從文檔M到N、從O到L和從L回到M的循環(huán)導(dǎo)航。
圖26說(shuō)明了建立在多個(gè)文檔周圍的循環(huán)導(dǎo)航的方法。為建立該類型的循環(huán)導(dǎo)航,為文檔N創(chuàng)建消息摘要并插入到文檔M內(nèi)(最好消息摘要是引用文檔N的描述符文件的消息摘要)。然后,為文檔M(現(xiàn)在包含對(duì)文檔N的唯一引用)計(jì)算消息摘要(最好是描述符文件的摘要),并且文檔M的該消息摘要插入到文檔L內(nèi)。以類似的方式,對(duì)文檔L的唯一引用插入到文檔O內(nèi)。一旦為文檔O計(jì)算了消息摘要,它不可能直接插入到文檔N內(nèi)部,因?yàn)槲臋nN的消息摘要已經(jīng)創(chuàng)建。然而,使用循環(huán)導(dǎo)航方法和上面描述的映射表,通過(guò)提供映射表(將文檔N的消息摘要映射成文檔N’的消息摘要)可以進(jìn)行所希望的從文檔N到文檔O的映射。文檔O的消息摘要(最好是描述符文件的摘要)插入到文檔N’內(nèi)。這樣創(chuàng)建了內(nèi)容空間704,其中,除了包含文檔O的摘要,文檔N’是和文檔N一樣的。創(chuàng)建映射表,將N的摘要映射成N’的摘要。最后,創(chuàng)建描述符文件,它包括這些文檔之一的摘要和映射表。為描述符文件計(jì)算摘要并返回給用戶作為這些文檔周圍的循環(huán)導(dǎo)航的入口點(diǎn)。
計(jì)算機(jī)系統(tǒng)實(shí)施例本發(fā)明可以在各種各樣的計(jì)算機(jī)上實(shí)現(xiàn)。在一個(gè)預(yù)期的實(shí)施例中,用于存儲(chǔ)和檢索文檔的計(jì)算機(jī)硬件是從EMC公司(Hopkinton,Massachusetts)可得的Centera牌計(jì)算機(jī)。Centera產(chǎn)品說(shuō)明書(shū)指導(dǎo)說(shuō)明了該計(jì)算機(jī)及其軟件,并且可以在http//www.emc.com/pdf/products/centera/centera_guide.pdf得到并由此通過(guò)引用結(jié)合??梢允褂肔inux和JAVA來(lái)寫系統(tǒng)軟件。在該實(shí)施例中,預(yù)期Centera計(jì)算機(jī)是允許用戶通過(guò)URL供應(yīng)消息摘要的Web站點(diǎn)的后端,例如圖2所示。在Web站點(diǎn)服務(wù)器上操作的系統(tǒng)軟件在Centera和用戶之間通過(guò)接口連接,并且允許在此所述的正向、反向和循環(huán)導(dǎo)航。在其它實(shí)施例中,文檔存儲(chǔ)、系統(tǒng)軟件和用戶接口全部駐留在單臺(tái)計(jì)算機(jī)上。又在其它的實(shí)施例中,服務(wù)提供商提供與用戶接口連接的因特網(wǎng)上的前端用戶接口,而后在因特網(wǎng)上或其它萬(wàn)維網(wǎng)上搜索消息摘要標(biāo)識(shí)的文檔,而不是存儲(chǔ)文檔本身。或者,全分布對(duì)等系統(tǒng)完全基于內(nèi)容可尋址的存儲(chǔ)器以存取和保證它的內(nèi)容。
圖27A和27B說(shuō)明了適于實(shí)現(xiàn)本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng)900。圖27A示出了計(jì)算機(jī)系統(tǒng)的一種可能的物理形式。當(dāng)然,計(jì)算機(jī)系統(tǒng)可以有許多物理形式,范圍從集成電路、印刷電路板和小型手持設(shè)備直到大型超級(jí)計(jì)算機(jī)。計(jì)算機(jī)系統(tǒng)900包括監(jiān)視器902、顯示器904、機(jī)殼906、盤驅(qū)動(dòng)器908、鍵盤910和鼠標(biāo)912。盤914是計(jì)算機(jī)可讀的介質(zhì),用于傳遞數(shù)據(jù)到計(jì)算機(jī)系統(tǒng)900和從計(jì)算機(jī)系統(tǒng)900傳遞數(shù)據(jù)。
圖27B是計(jì)算機(jī)系統(tǒng)900的方框圖的例子。附到系統(tǒng)總線920的是各種各樣的子系統(tǒng)。處理器922(也被稱作中央處理單元或CPU)耦合到包括存儲(chǔ)器924的存儲(chǔ)設(shè)備。存儲(chǔ)器924包括隨機(jī)存取存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)。如在本領(lǐng)域眾所周知的,ROM用于單方向傳遞數(shù)據(jù)和指令到CPU而RAM通常用于以雙向方式傳遞數(shù)據(jù)和指令。這兩種類型的存儲(chǔ)器都可以包括下面所述的任何適當(dāng)?shù)挠?jì)算機(jī)可讀介質(zhì)。固定盤926也雙向耦合到CPU 922;它提供附加的數(shù)據(jù)存儲(chǔ)容量并且也可以包括任何下面所述的計(jì)算機(jī)可讀介質(zhì)。固定盤926可以用于存儲(chǔ)程序、數(shù)據(jù)等等并且通常是輔助存儲(chǔ)介質(zhì)(例如硬盤),比主存儲(chǔ)器慢。將理解,保留在固定盤926內(nèi)部的信息可以,在適當(dāng)?shù)那闆r下,作為虛擬存儲(chǔ)器以標(biāo)準(zhǔn)方式并入存儲(chǔ)器924??梢瞥P914可以采取下面所述的任何計(jì)算機(jī)可讀介質(zhì)的形式。
CPU 922還耦合到多個(gè)輸入/輸出裝置,例如顯示器904、鍵盤910、鼠標(biāo)912和揚(yáng)聲器930。通常,輸入/輸出設(shè)備可以是以下任何一種視頻顯示器、跟蹤球、鼠標(biāo)、鍵盤、麥克風(fēng)、觸感顯示器、轉(zhuǎn)換卡閱讀器、磁帶或紙帶閱讀器、寫字板、指示筆、聲音或筆跡識(shí)別器、生物計(jì)量閱讀器或其它計(jì)算機(jī)。CPU 922可以任選地耦合到另一計(jì)算機(jī)或使用網(wǎng)絡(luò)接口940耦合到電信網(wǎng)絡(luò)。用這種網(wǎng)絡(luò)接口,預(yù)期在進(jìn)行上述方法步驟的過(guò)程中,CPU可能接收來(lái)自網(wǎng)絡(luò)的信息,或者可能輸出信息到網(wǎng)絡(luò)。此外,本發(fā)明的方法實(shí)施例可以完全在CPU 922上執(zhí)行或者可以結(jié)合承擔(dān)一部分處理的遠(yuǎn)程CPU在例如因特網(wǎng)的網(wǎng)絡(luò)上執(zhí)行。
此外,本發(fā)明的實(shí)施例還涉及帶計(jì)算機(jī)可讀介質(zhì)(其上具有用于進(jìn)行各種計(jì)算機(jī)實(shí)現(xiàn)的操作的計(jì)算機(jī)代碼)的計(jì)算機(jī)存儲(chǔ)產(chǎn)品。介質(zhì)和計(jì)算機(jī)代碼可以是專門設(shè)計(jì)和構(gòu)建以用于本發(fā)明目的的那些,或者它們可以是計(jì)算機(jī)軟件領(lǐng)域的技術(shù)人員非常熟知和可得到的那類。計(jì)算機(jī)可讀介質(zhì)的例子包括但不限于磁介質(zhì),例如硬盤、軟盤和磁帶;光介質(zhì),例如CD-ROM和全息設(shè)備;磁光介質(zhì),例如可光讀的盤;以及硬件設(shè)備,專門配置來(lái)存儲(chǔ)和執(zhí)行程序代碼,例如專用集成電路(ASIC)、可編程邏輯設(shè)備(PLD)及ROM和RAM設(shè)備。計(jì)算機(jī)代碼的例子包括例如編譯器產(chǎn)生的機(jī)器代碼和包含使用解譯器由計(jì)算機(jī)執(zhí)行的較高級(jí)代碼的文件。
盡管為了理解清晰已經(jīng)在前面相當(dāng)詳細(xì)地描述了本發(fā)明,將明顯的是,在所附權(quán)利要求的范圍內(nèi)可以實(shí)現(xiàn)某些變更和修改。因此,所述實(shí)施例應(yīng)該被看作說(shuō)明性的而非限制性的,并且本發(fā)明不應(yīng)該限制于在此給出的細(xì)節(jié)而應(yīng)該由下面的權(quán)利要求和它們等價(jià)物的完整范圍所定義。
權(quán)利要求
1.一種使能在內(nèi)容空間里反向?qū)Ш降姆椒?,所述方法包含接收?biāo)識(shí)第一計(jì)算機(jī)文件的第一消息摘要;接收標(biāo)識(shí)第二計(jì)算機(jī)文件的第二消息摘要;接收所述第二計(jì)算機(jī)文件是所述第一計(jì)算機(jī)文件的較近版本的指示;創(chuàng)建包括所述第一消息摘要和所述第二消息摘要的描述符文件;以及創(chuàng)建所述描述符文件的第三消息摘要并且返回所述第三消息摘要給用戶,從而所述用戶可以使用所述第三消息摘要來(lái)反向?qū)Ш奖闅v由所述第一和第二計(jì)算機(jī)文件形成的所述內(nèi)容空間。
2.如權(quán)利要求1中所述的方法,其中,所述第一消息摘要是包括所述第一計(jì)算機(jī)文件的消息摘要的第一描述符文件的摘要。
3.如權(quán)利要求1中所述的方法,其中,所述第二計(jì)算機(jī)文件由所述用戶接收或由所述用戶創(chuàng)建。
4.如權(quán)利要求1中所述的方法,其中,所述描述符文件包括關(guān)于所述第二計(jì)算機(jī)文件的元數(shù)據(jù)。
5.一種使能在內(nèi)容空間里正向?qū)Ш降姆椒?,所述方法包含接收?biāo)識(shí)第一計(jì)算機(jī)文件的第一消息摘要;接收標(biāo)識(shí)第二計(jì)算機(jī)文件的第二消息摘要;接收所述第二計(jì)算機(jī)文件是所述第一計(jì)算機(jī)文件的較近版本的指示;創(chuàng)建將所述第一消息摘要映射成所述第二消息摘要的映射表;創(chuàng)建包括所述第一消息摘要和所述映射表的標(biāo)識(shí)的描述符文件;以及創(chuàng)建所述描述符文件的第三消息摘要并且返回所述第三消息摘要給用戶,從而所述用戶可以使用所述第三消息摘要來(lái)正向?qū)Ш奖闅v由所述第一和第二計(jì)算機(jī)文件形成的所述內(nèi)容空間。
6.如權(quán)利要求5中所述的方法,其中,所述第一消息摘要是標(biāo)識(shí)所述第一計(jì)算機(jī)文件的第一描述符文件的摘要,所述第二消息摘要是標(biāo)識(shí)所述第二計(jì)算機(jī)文件的第二描述符文件的摘要。
7.如權(quán)利要求6中所述的方法,其中所述第一和第二描述符文件分別包括關(guān)于所述第一和第二計(jì)算機(jī)文件的元數(shù)據(jù)。
8.如權(quán)利要求5中所述的方法,其中所述第二計(jì)算機(jī)文件由所述用戶接收或由所述用戶創(chuàng)建。
9.如權(quán)利要求5中所述的方法,其中,所述描述符文件包括元數(shù)據(jù)。
10.如權(quán)利要求5中所述的方法,其中所述描述符文件包括所述映射表。
11.如權(quán)利要求5中所述的方法,其中,所述描述符文件包括標(biāo)識(shí)所述映射表的消息摘要。
12.一種使能在內(nèi)容空間正向?qū)Ш降姆椒ǎ龇椒ò邮諛?biāo)識(shí)第一計(jì)算機(jī)文件的第一消息摘要;接收標(biāo)識(shí)第二計(jì)算機(jī)文件的第二消息摘要,所述第二計(jì)算機(jī)文件被表明為所述第一計(jì)算機(jī)文件的較近版本;創(chuàng)建將所述第一消息摘要映射成所述第二消息摘要的映射表;返回所述第一消息摘要和所述映射表的標(biāo)識(shí)給用戶;以及向所述用戶表明所述第一消息摘要和所述映射表使能正向?qū)Ш奖闅v由所述第一和第二計(jì)算機(jī)文件形成的所述內(nèi)容空間,從而所述用戶可以使用所述第一消息摘要和所述映射表調(diào)用會(huì)話以正向?qū)Ш奖闅v所述內(nèi)容空間。
13.如權(quán)利要求12中所述的方法,其中所述第一消息摘要是標(biāo)識(shí)所述第一計(jì)算機(jī)文件的第一描述符文件的摘要,所述第二消息摘要是標(biāo)識(shí)所述第二計(jì)算機(jī)文件的第二描述符文件的摘要。
14.如權(quán)利要求13中所述的方法,其中所述第一和第二描述符文件分別包括關(guān)于所述第一和第二計(jì)算機(jī)文件的元數(shù)據(jù)。
15.如權(quán)利要求12中所述的方法,其中所述第二計(jì)算機(jī)文件由所述用戶接收或由所述用戶創(chuàng)建。
16.如權(quán)利要求12中所述的方法,其中所述映射表的所述標(biāo)識(shí)是所述映射表的消息摘要。
17.一種使能在內(nèi)容空間里循環(huán)導(dǎo)航的方法,所述方法包含標(biāo)識(shí)第一和第二計(jì)算機(jī)文件,所述第一計(jì)算機(jī)文件包括標(biāo)識(shí)所述第二計(jì)算機(jī)文件的第二消息摘要;創(chuàng)建標(biāo)識(shí)所述第一計(jì)算機(jī)文件的第一消息摘要;創(chuàng)建包括所述第一消息摘要的所述第二計(jì)算機(jī)文件的版本;創(chuàng)建所述第二計(jì)算機(jī)文件版本的第三消息摘要;創(chuàng)建將所述第二消息摘要映射成所述第三消息摘要的映射表;返回所述第一消息摘要和所述映射表的標(biāo)識(shí)給用戶,從而所述用戶可以在所述第一和第二計(jì)算機(jī)文件之間導(dǎo)航。
18.如權(quán)利要求17中所述的方法,還包含向所述用戶表明所述第一消息摘要和所述映射表使能在包括所述第一和第二計(jì)算機(jī)文件的所述內(nèi)容空間里的循環(huán)導(dǎo)航,從而所述用戶可以使用所述第一消息摘要和所述映射表調(diào)用會(huì)話以在所述內(nèi)容空間里循環(huán)導(dǎo)航。
19.如權(quán)利要求18中所述的方法,其中所述映射表的所述標(biāo)識(shí)是所述映射表的消息摘要。
20.如權(quán)利要求17中所述的方法,還包含創(chuàng)建包括所述第一消息摘要和所述映射表的所述標(biāo)識(shí)的描述符文件;以及創(chuàng)建標(biāo)識(shí)所述描述符文件的第四消息摘要并返回所述第四消息摘要給所述用戶,其中,通過(guò)所述第四消息摘要將所述第一消息摘要和所述映射表的所述標(biāo)識(shí)間接返回給所述用戶,從而所述用戶可以在所述第一和第二計(jì)算機(jī)文件之間導(dǎo)航,以所述第四消息摘要開(kāi)始。
21.如權(quán)利要求20中所述的方法,其中,所述映射表的所述標(biāo)識(shí)是映射表本身或是標(biāo)識(shí)所述映射表的消息摘要。
22.如權(quán)利要求17中所述的方法,其中,所述第一、第二和第三消息摘要各分別是標(biāo)識(shí)所述第一、第二和第二版本計(jì)算機(jī)文件的描述符文件的摘要。
23.如權(quán)利要求22中所述的方法,其中所述描述符文件包括關(guān)于它們各自的計(jì)算機(jī)文件的元數(shù)據(jù)。
24.如權(quán)利要求17中所述的方法,其中所述第二計(jì)算機(jī)文件由所述用戶接收或由所述用戶創(chuàng)建。
25.如權(quán)利要求19中所述的方法,其中所述描述符文件包括元數(shù)據(jù)。
全文摘要
按內(nèi)容尋址用于在內(nèi)容空間的文檔之間正向、反向和以循環(huán)方式導(dǎo)航。為了使能反向?qū)Ш剑瑸樾掳姹緞?chuàng)建描述符文件,它不僅包含新版本的消息摘要,而且包含較舊版本的消息摘要。為描述符文件創(chuàng)建消息摘要。用戶反向?qū)Ш揭悦枋龇臋n的消息摘要開(kāi)始。為了使能正向?qū)Ш剑成浔韺⑤^舊文檔的消息摘要映射成新版本的消息摘要。高級(jí)描述符文件包含原始文檔的消息摘要和映射表的消息摘要。高級(jí)描述符文件的消息摘要返回給用戶。用戶正向?qū)Ш揭愿呒?jí)描述符文件消息摘要開(kāi)始。為了使能循環(huán)導(dǎo)航,映射表將第二文檔的消息摘要映射成包含第一文檔消息摘要的第二文檔版本的消息摘要。組合這些方法以允許遍歷復(fù)雜內(nèi)容空間的導(dǎo)航。
文檔編號(hào)G06F7/00GK1754166SQ200380109500
公開(kāi)日2006年3月29日 申請(qǐng)日期2003年12月9日 優(yōu)先權(quán)日2002年12月10日
發(fā)明者P·R·M·卡彭捷, M·J·P·A·威廉斯, J·溫特爾斯 申請(qǐng)人:卡林戈公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1