欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于管理數(shù)字文檔的計(jì)算機(jī)工具的制作方法

文檔序號(hào):6456675閱讀:573來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):用于管理數(shù)字文檔的計(jì)算機(jī)工具的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)文檔處理。
背景技術(shù)
計(jì)算機(jī)文檔基本上是人們可以直接或間接訪問(wèn)其內(nèi)容的任何類(lèi) 型的文件。如果文件是文本類(lèi)型的,可訪問(wèn)性可以相當(dāng)直接。如果該 文件是音樂(lè)或視頻文件,可訪問(wèn)性則不太直接。后面將考慮其他例子。
長(zhǎng)久以來(lái)已經(jīng)組織了文件系統(tǒng)以便允許精確并且理論上確切地 注明每個(gè)文件的日期。類(lèi)似地,已知以不同方式將不同屬性與計(jì)算機(jī) 文件相關(guān)聯(lián)?;旧?,這些屬性與文件自身的計(jì)算機(jī)性質(zhì)相聯(lián)系,例 如屬性"只讀"、"歸檔"、"系統(tǒng)"或"隱含"。除了與文件系統(tǒng)相聯(lián)系的 屬性之外,其他屬性也可以例如在文件頭部中與文件相關(guān)聯(lián)。計(jì)算機(jī) 系統(tǒng)還使得可以比較文檔??梢詢H使用文件系統(tǒng)的屬性執(zhí)行"最小"比
較。這適用于每一種類(lèi)型的文件,但是還遠(yuǎn)不完美例如,它將把具 有不同日期系統(tǒng)的相同文件視為是不同的。更高級(jí)的比較涉及文件的 內(nèi)容。因此,比較的細(xì)節(jié)根據(jù)例如它是"文本"類(lèi)型文件還是二進(jìn)制文 件而不同,二進(jìn)制文件是具有更高級(jí)性質(zhì)的文件,諸如圖像文件,更 難以進(jìn)行比較。

發(fā)明內(nèi)容
申請(qǐng)人注意到當(dāng)前沒(méi)有允許在比較的元素被正確注明日期的同 時(shí)有條理地并且自動(dòng)地執(zhí)行比較的技術(shù)??梢栽诓煌块T(mén)感覺(jué)到對(duì)此 類(lèi)技術(shù)的需求,諸如出于版權(quán)的目的而確定作品尤其是軟件類(lèi)作品的 法律狀態(tài)的部門(mén)。
提出本發(fā)明以改善這種狀況。本發(fā)明涉及一種用于管理文檔的基于計(jì)算機(jī)的設(shè)備,包括存儲(chǔ)
器,用于存儲(chǔ)具有時(shí)間基準(zhǔn)的文檔內(nèi)容,該設(shè)備包括提取器,能夠 根據(jù)給定規(guī)則將文檔內(nèi)容分解為元素;簽名產(chǎn)生器,能夠處理文檔元 素以便返回其內(nèi)容的簽名;印記產(chǎn)生器,能夠?yàn)槲臋n內(nèi)容建立印記,
該印記包括該文檔內(nèi)容的時(shí)間基準(zhǔn)以及通過(guò)調(diào)用提取器以便將該文 檔內(nèi)容轉(zhuǎn)換為元素然后為這樣獲得的元素調(diào)用簽名產(chǎn)生器而獲得的
簽名中的至少一些簽名;定時(shí)時(shí)鐘模塊,能夠根據(jù)時(shí)間基準(zhǔn)標(biāo)識(shí)符的 列表計(jì)算預(yù)定的時(shí)間選擇函數(shù)的結(jié)果;和管理器,被配置成對(duì)至少兩 個(gè)文檔內(nèi)容操作印記產(chǎn)生器,從而產(chǎn)生一同具有多個(gè)簽名的兩個(gè)印 記,為每個(gè)簽名值每次對(duì)于包含相同簽名值的印記的至少一些時(shí)間基 準(zhǔn)標(biāo)識(shí)符的列表反復(fù)地調(diào)用定時(shí)時(shí)鐘模塊,從而為每個(gè)簽名值提供統(tǒng) 一時(shí)間基準(zhǔn),存儲(chǔ)每個(gè)簽名值和其統(tǒng)一時(shí)間基準(zhǔn)之間的對(duì)應(yīng)關(guān)系。


從對(duì)下面的詳細(xì)描述和附圖的研究中將明了本發(fā)明的其他特征 和優(yōu)點(diǎn),其中
圖l示出了一個(gè)功能圖,其例示了根據(jù)本發(fā)明的工具的實(shí)施例; 圖2示出了一個(gè)流程圖,其例示了根據(jù)本發(fā)明的工具的文檔簽名 產(chǎn)生函數(shù);
圖3示出了一個(gè)表,其例示了圖1中的工作數(shù)據(jù)庫(kù)中的存儲(chǔ); 圖4示出了 一個(gè)流程圖,其例示了根據(jù)本發(fā)明的工具的狀態(tài)簽名 產(chǎn)生函數(shù);
圖5是示出了根據(jù)本發(fā)明的工具的用于文件集合的印記產(chǎn)生函 數(shù)的流程圖6示出了一個(gè)表,其例示了圖1中的工作數(shù)據(jù)庫(kù)的存儲(chǔ)的另一
部分;
圖7示出了 一個(gè)流程圖,其例示了特定實(shí)施例中的根據(jù)本發(fā)明的
工具的文檔簽名產(chǎn)生函數(shù);
圖8示出了 一個(gè)流程圖,其例示了特定實(shí)施例中的印記日期注明
9函數(shù);
圖9示出了一個(gè)流程圖,其例示了特定實(shí)施例中的印記產(chǎn)生函
數(shù);
圖10示出了一個(gè)圖,其例示了特定實(shí)施例中的圖1的生產(chǎn)數(shù)據(jù) 庫(kù)的結(jié)構(gòu);
圖ll示出了一個(gè)表,其例示了特定實(shí)施例中的圖l的生產(chǎn)數(shù)據(jù) 庫(kù)中的存儲(chǔ);
圖12示出了一個(gè)流程圖,其例示了第一實(shí)施例中的圖l中的比 較模塊的印記比較函數(shù);
圖13示出了一個(gè)流程圖,其例示了圖l中的比較模塊的聚集函 數(shù)的第一個(gè)例子;
圖14示出了一個(gè)流程圖,其例示了圖l中的比較模塊的聚集函
數(shù)的第二個(gè)例子;和
圖15示出了一個(gè)流程圖,其例示了第二個(gè)實(shí)施例中的圖1的比 較模塊的印記比較函數(shù)。
附圖不僅用于使得定義完整,而且在某些情況下還可以有助于其定義。
具體實(shí)施例方式
如已經(jīng)所見(jiàn),在此處相當(dāng)廣義地使用表述"計(jì)算機(jī)文檔"。計(jì)算機(jī) 文檔基本上可以是任意類(lèi)型的文件,盡管在本發(fā)明的某些實(shí)施例中具 體設(shè)想了純文本類(lèi)型、以文本為主的類(lèi)型或具有文本內(nèi)涵的文件。
具體地,文檔通常采取單個(gè)物理計(jì)算機(jī)文件的形式。然而表述"計(jì) 算機(jī)文檔"還覆蓋在相同的物理文件中包含若干文檔的情況,或相反 地由若干物理計(jì)算機(jī)文件構(gòu)成給定文檔的情況。通常使用術(shù)語(yǔ)"邏輯 文件"以擺脫文檔和物理文件或包含該文檔或其部分的文件之間的關(guān) 系。
可以"播放"文檔的內(nèi)容例如,可以顯示文本或萬(wàn)維網(wǎng)頁(yè),可以 聆聽(tīng)音樂(lè),可以觀看視頻,或可以運(yùn)行程序。在這種情況下,原則上不修改文檔。
人們還可以訪問(wèn)文檔的內(nèi)容以便進(jìn)行編輯,即,創(chuàng)建/修改。然 而,存在相同文檔的不同版本將指示無(wú)組織的任何編輯。
基本上,此處使用術(shù)語(yǔ)"文檔集合"來(lái)指相同文檔的若干版本。然 而更寬泛地看,文檔集合可以包括一個(gè)更大項(xiàng)目范圍內(nèi)的若干文檔的 各版本的若干集合。
符號(hào)的定義和約定
項(xiàng)Pi代表一個(gè)數(shù)字文檔集合。例如,集合Pi可以是一個(gè)軟件項(xiàng) 目,其包括一組被稱(chēng)為"源"的類(lèi)型的計(jì)算機(jī)文件(即,包含不能直接執(zhí) 行并且要被編譯為 一 系列可執(zhí)行指令的計(jì)算機(jī)代碼)和相關(guān)的數(shù)字文 檔諸如包含描述、文檔資料和/或該軟件的所有準(zhǔn)備文檔的文本文件。
還可以由l吏用數(shù)據(jù)庫(kù)組織的文件、XML(代表"可擴(kuò)展標(biāo)記語(yǔ)言")類(lèi) 型或SVG(代表"可縮放向量圖形")類(lèi)型的文件構(gòu)成集合Pi。
集合Pi的狀態(tài)j定義為集合Pi內(nèi)的所有數(shù)字文檔在給定時(shí)刻例 如在日期Tij所處的狀態(tài)。將會(huì)理解,集合Pi的狀態(tài)j2可能與這個(gè) 集合的狀態(tài)jl不同之處例如在于存在附加數(shù)字文檔、不存在某些數(shù)字 文檔和/或存在具有不同內(nèi)容的數(shù)字文檔。
集合Pi的狀態(tài)j標(biāo)記為Sij。
在某些情況下,特別是集合Pi包含一個(gè)軟件項(xiàng)目時(shí),狀態(tài)Sij 可被看成是文檔集合Pi的一個(gè)版本。這可以是旨在用于分發(fā)的版本或 內(nèi)部工作版本例如,軟件項(xiàng)目的狀態(tài)Sij可能不被投入生產(chǎn),特別 是如果它不構(gòu)成該軟件的功能狀態(tài)的話。
集合Pi可以處于狀態(tài)Sij,其中j在1和整數(shù)Ji之間。形式上表
示為
Pi^Sij^屬于(1,…,Ji}}
每個(gè)狀態(tài)Sij由在日期Tij以其特定狀態(tài)構(gòu)成集合Pi的所有數(shù)字 文檔構(gòu)成。在日期Tij的文檔的狀態(tài)可能不同于其在不同日期的狀態(tài)。 文檔集合Pi中狀態(tài)j的特定文檔1標(biāo)記為Oijl。 換言之,在集合Pi的一般狀態(tài)Sij的文檔Oijl的特定狀態(tài)可能
ii不同于在集合Pi的不同的一般狀態(tài)Sij,的它的狀態(tài)Oij,l,。
狀態(tài)Sij由所有文檔Oijl構(gòu)成,其中l(wèi)在1和整數(shù)Lij之間。形
式上表示為
Sij-(OijlU屬于U"", Lij}}
每個(gè)狀態(tài)Sij可以具有至少一個(gè)識(shí)別出的貢獻(xiàn)者Aij。貢獻(xiàn)者意 味著創(chuàng)建狀態(tài)Sij或參與創(chuàng)建這個(gè)狀態(tài)的人。
在本說(shuō)明書(shū)中為了清楚起見(jiàn),某些時(shí)候以逗號(hào)(",")彼此分開(kāi)地示 出與大寫(xiě)字母相關(guān)聯(lián)的各附標(biāo)。然而,僅在可能存在含糊不清的場(chǎng)合 使用這種表示并且使其更易讀。例如,將以Sij標(biāo)記一組文檔i的狀 態(tài)j,而優(yōu)選地以Sl,12標(biāo)記文檔集合1的狀態(tài)12。
根據(jù)本發(fā)明的管理工具
參考圖1,用于管理數(shù)字文檔的工具100包括印記產(chǎn)生模塊 SignM 110,其被配置成能夠?qū)?shù)字印記Ei與文檔集合Pi相關(guān)聯(lián), 數(shù)字印記Ei包括表征所述文檔的內(nèi)容的一組數(shù)字簽名。
模塊SignM 110被配置成能夠與工作數(shù)據(jù)庫(kù)WDB 120交互。數(shù) 據(jù)庫(kù)WDB 120能夠至少臨時(shí)存^f諸用于才莫塊SignM 110的工作數(shù)據(jù)。 應(yīng)當(dāng)理解數(shù)據(jù)庫(kù)WDB 120包括有組織的數(shù)據(jù)存儲(chǔ)空間,其可以采取 永久存儲(chǔ)器載體(例如硬盤(pán)類(lèi)型)或可尋址臨時(shí)存儲(chǔ)器(例如RAM類(lèi)型) 上的數(shù)據(jù)庫(kù)的形式。
工具100還包括文檔集合數(shù)據(jù)庫(kù)PDB 130,其能夠保持關(guān)于不同 文件集合Pi的數(shù)據(jù)。特別地,數(shù)據(jù)庫(kù)PDB 130能夠保持文檔集合Pi 的印記Ei。數(shù)據(jù)庫(kù)PDB 130可以采取被組織在例如硬盤(pán)類(lèi)型的7、久 存儲(chǔ)器載體上的數(shù)據(jù)庫(kù)的形式。
模塊SignM110被配置成能夠與數(shù)據(jù)庫(kù)PDB130交互,特別地, 以便儲(chǔ)存由模塊SignM 110產(chǎn)生的印記Ei。
工具100還包括用于比較文檔集合的模塊ComM 140,其被配置 成能夠識(shí)別不同文檔集合Pi所共有的簽名。如果需要,模塊ComM 140能夠確定這些文檔集合之間的相關(guān)性。
模塊ComM 140能夠與數(shù)據(jù)庫(kù)PDB 130交互,以便從數(shù)據(jù)庫(kù)PDB
12中提取根據(jù)將被比較的文檔集合Pi產(chǎn)生的印記Ei,以及如果適用, 與這些印記相關(guān)聯(lián)的數(shù)據(jù)。
最后,工具100包括權(quán)利管理模塊RightsM150,其被配置成能 夠與數(shù)據(jù)庫(kù)PDB 130和才莫塊ComM 140交互,以l更建立可用于確定 針對(duì)文檔的權(quán)利的數(shù)據(jù)。
印記產(chǎn)生模塊
模塊SignM 110包括文檔印記產(chǎn)生函數(shù)signO(),其能夠建立表 征文檔Oijl的內(nèi)容的數(shù)字文檔印記Eijl。數(shù)字文檔印記Eijl包括根據(jù) 文檔Oijl的內(nèi)容產(chǎn)生的一組數(shù)字簽名。
參考圖2和3 —般地描述函數(shù)signO()。
函數(shù)signO()被配置成能夠根據(jù)選擇的規(guī)則將文檔Oijl分解為文 檔元素Cijlk(步驟200)。而且函數(shù)signO()被配置成為每個(gè)元素Cijlk 建立表征這個(gè)元素的內(nèi)容的數(shù)字簽名值Nijlk (步驟202)。這可以通過(guò) 調(diào)用簽名函數(shù)sign()來(lái)實(shí)現(xiàn)。函數(shù)signO()還被配置成將表征元素Cijlk 的簽名Nijlk與對(duì)這個(gè)元素的引用相關(guān)聯(lián),以便形成元素印記Eijlk(步 驟204)。對(duì)元素Cijlk的引用可以包括附標(biāo)i, j, l和k的值。每個(gè)元
間的相關(guān)性的元素印記表SignETab[中。
可選擇地,元素屬性AEijlk可以與每個(gè)元素Cijlk相關(guān)聯(lián)。元素 屬性AEijlk可被存儲(chǔ)在表SignETab[]中。例如,如果元素是函數(shù)而 對(duì)象是源文件,則元素屬性AEijlk可以包括代碼行數(shù)的值。元素屬性 AEijlk還可以包括元素Cijlk的內(nèi)容的相關(guān)性指數(shù)的值。表SignETab[
中還可以存儲(chǔ)一個(gè)或多個(gè)附加的元素屬性。
圖3中的表300示出了元素Cl,1,2,2的表SignETab[]的實(shí)施例。 表征文檔Oijl的內(nèi)容的印記Eijl包括元素印記Eijlk的集合,其 中k是在1和自然數(shù)Kijl之間變化的自然數(shù)(步驟206)。如果適當(dāng), 印記Eijl還包括與元素印記Eijlk的元素Cijlk相關(guān)聯(lián)的一組元素屬性 AEijlk。
數(shù)據(jù)庫(kù)WDB 120至少臨時(shí)地與文檔Oijl的時(shí)間基準(zhǔn)Tpijl相關(guān)
13地存儲(chǔ)印記Eijl。例如,時(shí)間基準(zhǔn)Tpijl可以包括與狀態(tài)Sij相關(guān)聯(lián)的 日期Tij。時(shí)間基準(zhǔn)Tpijl可以同等地包括與文檔Oijl相關(guān)聯(lián)的日期 Tijl,例如,最后修改該文檔的日期。
數(shù)據(jù)庫(kù)WDB 120可以例如在文檔印記表SignOTab[中保持以下 內(nèi)容的相關(guān)性
-文檔標(biāo)識(shí)符Oijl,例如由附標(biāo)i, j和l的值構(gòu)成的標(biāo)識(shí)符; -對(duì)文檔Oijl的每個(gè)元素印記Eijlk的引用,例如由附標(biāo)i, j, l和k構(gòu)成的引用;和
-文檔Oijl的時(shí)間基準(zhǔn)TPijl的值,例如日期Tij。 可選擇地,文檔屬性AOijl可以與每個(gè)文檔Oijl相關(guān)聯(lián)。文檔屬 性AOijl可被存儲(chǔ)在表SignOTab[中。文檔屬性AOijl可以包括計(jì)算 機(jī)文件大小的值、貢獻(xiàn)者Aij的身份、或限定時(shí)間基準(zhǔn)TPijl中的信 任級(jí)別的注釋。表SignOTab[中可以存儲(chǔ)一個(gè)或多個(gè)附加的文檔屬 性,例如,以便能夠?qū)⑽臋nOijl與貢獻(xiàn)者身份Aij和時(shí)間基準(zhǔn)TPijl 中的信任指數(shù)兩者相關(guān)聯(lián)。
此處描述的表的結(jié)構(gòu)主要旨在使得能夠理解本發(fā)明。因此實(shí)際上 可以構(gòu)想表SignOTab]的其他結(jié)構(gòu)。例如,表SignOTab[可以包含 印記標(biāo)識(shí)符Eijl,并且這個(gè)標(biāo)識(shí)符可以與文檔Oijl相聯(lián)系。表 SignOTab[I還可以包括所討論的文檔的每個(gè)元素印記Eijlk的簽名值 Nijlk,或是取代或是除了這些印記的引用之外包括所有元素印記 Eijlk。例如,對(duì)于特定文檔Oijl,本發(fā)明的一個(gè)實(shí)施例包括制訂這樣 的表,該表中每一行包含文檔元素Cijlk的標(biāo)識(shí)符(例如附標(biāo)i, j, 1 和k的值)、該元素的簽名值Nijlk、該文檔的數(shù)據(jù)參考的值Tpijl、以 及如果適用文檔Oijl的文檔屬性的值A(chǔ)Oijl以及該元素的元素屬性的 值A(chǔ)Eijlk,填充這個(gè)表以便覆蓋文檔Oijl的所有元素Cijlk。
在圖3中,由列COL301到COL308和行ROW310到ROW313 構(gòu)成的表304示出了用于對(duì)象Ol,l,L11的這種實(shí)施例。在這個(gè)表304 中,作為文檔屬性AOl, 1,L11(COL308)存儲(chǔ)貢獻(xiàn)者標(biāo)識(shí)符All,并 且作為時(shí)間基準(zhǔn)TP1, 1,L11(COL307)存儲(chǔ)日期Tll。模塊SignM 110還包括狀態(tài)印記產(chǎn)生函數(shù)SignS(),其被配置成 能夠建立表征集合Pi的狀態(tài)Sij的狀態(tài)印記Eij。 借助圖4描述函數(shù)signS()。
狀態(tài)Sij包括在時(shí)刻Tij的文檔集合Oijl,其中1是在1到自然 數(shù)Lij之間變化的自然數(shù)(步驟400)。函數(shù)signS()被配置成給狀態(tài)Sij 的每個(gè)文檔Oijl連續(xù)調(diào)用函數(shù)signS(),以便為每個(gè)文檔Oijl獲得包 含一組元素印記Eijlk的文檔印記Eijl(步驟402)。
狀態(tài)印記Eij包括所有元素印記Eijlk,其中k在1和Kijl之間 變化,并且l在l和Lij之間變化(步驟404)。
數(shù)據(jù)庫(kù)WDB 120至少臨時(shí)地存儲(chǔ)印記Eij。
數(shù)據(jù)庫(kù)WDB 120可以例如在狀態(tài)印記表SignSTab[I中相關(guān)地保

-狀態(tài)印記標(biāo)識(shí)符Eij,例如由附標(biāo)i和j構(gòu)成的標(biāo)識(shí)符,和 -對(duì)狀態(tài)Sij的每個(gè)文檔印記Eijl的引用,例如由附標(biāo)i, j和l構(gòu)成。
如前面解釋的,實(shí)際中表SignSTab[I的結(jié)構(gòu)可以不同。例如在前 面描述的實(shí)際實(shí)施例中,例如本發(fā)明的一個(gè)實(shí)施例可以包括制訂收集 狀態(tài)Sij的文檔的所有文檔印記Eijl的表。在圖3中,由列COL301 到COL308和行ROW314到行ROW326構(gòu)成的表示出了狀態(tài)Sl,2 的這種實(shí)施例。
可選擇地,狀態(tài)屬性ASij可被與每個(gè)狀態(tài)Sij相關(guān)聯(lián)。這個(gè)屬性 ASij可被存儲(chǔ)在表SignSTab[中。例如,狀態(tài)屬性ASij可以包括限 定日期Tij的可靠性的附標(biāo)或標(biāo)記,和/或描述貢獻(xiàn)者Aij的身份的可 靠性的附標(biāo)(例如,最小的附標(biāo)值用于使用連接名稱(chēng)或"登錄"的標(biāo)識(shí), 并且最大附標(biāo)值用于借助由第三方證實(shí)的驗(yàn)證程序的標(biāo)識(shí))。
模塊SignM 110還包括用于文檔集合的印記產(chǎn)生函數(shù)signP(), signP()被配置成能夠建立表征集合Pi的文檔集合印記Ei。
借助圖5描述函數(shù)signP()。
文檔集合Pi包括若干狀態(tài)Sij,其中j是從1到自然數(shù)Ji變化的自然數(shù)(步驟500)。函數(shù)signP()被配置成為集合Pi的每個(gè)狀態(tài)Sij連 續(xù)調(diào)用函數(shù)signS(),以便為每個(gè)狀態(tài)Sij獲得包括若干元素印記Eijlk 的狀態(tài)印記Eij,其中k在l和Kijl之間變化,并且l在l和Lij之間 變化(步驟502)。
文檔集合印記Ei包括所有元素印記Eijlk,其中k從1到Kijl 改變,l從l到Lij改變,并且j從l到Ji改變(步驟504)。 數(shù)據(jù)庫(kù)WDB 120至少臨時(shí)地存儲(chǔ)印記Ei。
數(shù)據(jù)庫(kù)WDB 120可以例如在文檔集合印記表SignPTab[中相關(guān) 地保持
-文檔集合印記Ei的標(biāo)識(shí)符,例如由附標(biāo)i的值構(gòu)成的標(biāo)識(shí)符,

-對(duì)每個(gè)狀態(tài)印記Eij的引用,例如由附標(biāo)i和j構(gòu)成。 如前面的例子,實(shí)際中表SignPTab[]的結(jié)構(gòu)可以不同。例如在 前面描述的實(shí)際實(shí)施例中,本發(fā)明的一個(gè)實(shí)施例可以包括制訂組合文 檔集合Pi的所有狀態(tài)印記Eij的表。在圖3中,由列COL301到 COL308和行ROW301到行ROW339構(gòu)成的表308示出了文檔集合 Pi的這種實(shí)施例。在這個(gè)表308中,每個(gè)行包括
-對(duì)由存儲(chǔ)附標(biāo)值i的列COL301,存儲(chǔ)附標(biāo)值j的列COL302, 存儲(chǔ)附標(biāo)值1的列COL303,存儲(chǔ)附標(biāo)值k的列COL304組成的文檔
元素的引用,和
-列COL305中的這個(gè)文檔元素的簽名值, -列COL306中的這個(gè)元素的屬性值,
-列COL307中的作為該元素的起源的文檔的時(shí)間基準(zhǔn)的值,

-列COL308中的作為該元素的起源的文檔的屬性的值。 模塊SignM 110包括簽名日期注明函數(shù)signTp(),其被配置成能 夠?qū)⒑灻麛?shù)據(jù)Viq按照在數(shù)據(jù)庫(kù)WDB 120中與所述簽名相關(guān)聯(lián)的文 檔Oijl的時(shí)間基準(zhǔn)TPijl的函數(shù)與其印記被存儲(chǔ)在數(shù)據(jù)庫(kù)WDB 120 中的集合Pi的每個(gè)不同的簽名值Niq相關(guān)聯(lián)。
16參考圖6描述函數(shù)signTp()。
函數(shù)signTp()被配置成給數(shù)據(jù)庫(kù)WDB 120的特定簽名值Mq建 立所有元素印記Eijlk,其包含這個(gè)簽名值,以及在每個(gè)場(chǎng)合,在數(shù)據(jù) 庫(kù)WDB 120中與元素印記Eijlk相關(guān)的文檔印記Eijl的時(shí)間基準(zhǔn) TPijl。
函數(shù)signTp()還被配置成例如在簽名表SignTb[中為這個(gè)簽名 值Niq相關(guān)地保持
-包含所述特定簽名的元素印記Eijlk的標(biāo)識(shí)符,例如包括值i, j, 1和k, 和
-數(shù)據(jù)庫(kù)WDB 120中與元素印記Eijlk相關(guān)的文檔印記Eijl的 時(shí)間基準(zhǔn)TPijl,例如日期Tij;
函數(shù)signTp()被配置成填充表SignTb[],從而它包含可以從中找 到這個(gè)簽名值的存儲(chǔ)在數(shù)據(jù)庫(kù)WDB 120中的每個(gè)元素印記Eijlk的標(biāo)識(shí)符。
在圖6中,表600示出了簽名值Nia的表SignTb[的實(shí)施例。這 個(gè)表600包含以行ROW601到ROW604表示的n行,其中n是包含 簽名值Nia的元素印記Eijlk的數(shù)目。四元組(i, jal, lal, kal}, {i, ja2, la2, ka2)到(i, jan, lan, kan}中的每一個(gè)表示包含簽名值Nia 的元素印記的標(biāo)識(shí)符。這些四元組存儲(chǔ)在表600的歹ij COL602到 COL605中。表600的列COL606在行ROW601到ROW604中存儲(chǔ) 日期Ti, jal到Ti, jan作為時(shí)間基準(zhǔn)。
可以至少臨時(shí)地例如在數(shù)據(jù)庫(kù)WDB 120中存儲(chǔ)表SignTb[]。
重復(fù)函數(shù)signTp(),以4更為存在于存儲(chǔ)在數(shù)據(jù)庫(kù)WDB 120中的 文檔印記Eijl中的每個(gè)不同簽名值Niq創(chuàng)建表SignTb[。
如果希望,簽名表SignTb[]可以為其簽名等于Niq的每個(gè)元素印 ^己Ni,jqp,lqp,kqp包才舌這個(gè)元素的屬性值A(chǔ)Ei,jqp,lqp,kqp和包含這個(gè) 元素的文檔的屬性值A(chǔ)Oi,jqp,lqp。
函數(shù)signTp[還被配置成給存儲(chǔ)在數(shù)據(jù)庫(kù)WDB 120中的并且與 特定簽名值Niq相關(guān)的每個(gè)表SignTb[]分配至少一個(gè)簽名凄t據(jù)Viq。可以通過(guò)應(yīng)用使用表SignTb[的時(shí)間基準(zhǔn)的預(yù)定日期函數(shù)dat() 獲得簽名數(shù)據(jù)Viq。換言之,與表SignTb[]相關(guān)聯(lián)的簽名數(shù)據(jù)Viq可 以是時(shí)間基準(zhǔn)TPijl的函數(shù),例如與這個(gè)表的印記標(biāo)識(shí)符Eijl相關(guān)聯(lián) 的日期Tij。例如,簽名數(shù)據(jù)Viq可以是表SignTb[]中包含的最早日 期Tij。
當(dāng)簽名表SignTB[]存儲(chǔ)文檔屬性值A(chǔ)Oi,jqp,lqp時(shí),函數(shù)dat() 可以被配置成以這些屬性值的函數(shù)確定簽名數(shù)據(jù)Viq。例如,當(dāng)屬性 值A(chǔ)Oi,jqp,lqp包括時(shí)間基準(zhǔn)TPi,jqp,lqp的可靠性指數(shù)時(shí),函數(shù)dat() 可以被配置成確定表SignTb[]的最早日期Ti,jqp,同時(shí)為這個(gè)確定排 除表SignTb[]中的與在閩值之下的文檔屬性值A(chǔ)Oi,jqp,lqp相關(guān)聯(lián)的 曰期Ti,jqp。
函數(shù)signTp()還被配置成給存儲(chǔ)在數(shù)據(jù)庫(kù)WDB 120中的并且與 特定簽名值Mq相關(guān)的每個(gè)表SignTb[分配文檔數(shù)據(jù)Wiq。可以通過(guò) 應(yīng)用使用表SignTb[的文檔屬性AOi,jqp,lqp的預(yù)定驗(yàn)證函數(shù)aut()獲 得文檔數(shù)據(jù)Wiq。另外,函數(shù)aut()可以使用簽名數(shù)據(jù)Viq和/或時(shí)間 基準(zhǔn)TPi,jqp,lqp。例如,函數(shù)aut()可以被配置成確定具有最早相關(guān) 時(shí)間基準(zhǔn)TPi,jqp,lqp的文檔屬性AOi,jqp,lqp的值作為Wiq數(shù)據(jù)。如 果時(shí)間基準(zhǔn)TPi,jqp,lqp包括日期Ti,jqp,并且文檔數(shù)據(jù)包括貢獻(xiàn)者標(biāo) 識(shí)符Ai,jqp,這種類(lèi)型的函數(shù)aut()可以被配置成建立與特定簽名值 Niq相關(guān)聯(lián)的最早的貢獻(xiàn)者的標(biāo)識(shí)符作為文檔數(shù)據(jù)Wiq。
實(shí)際上, 一個(gè)實(shí)施例可以包括為特定簽名值Niq構(gòu)造表,諸如圖 6中的表602,其中每一行包括
-存儲(chǔ)所述簽名Niq的值的一列(COL601),
-存儲(chǔ)以其內(nèi)容產(chǎn)生簽名值Mq的文檔元素的附標(biāo)值i,jqp,lqp 和kqp的列(COL602到COL605),
-作為所述文檔元素來(lái)源的文檔的時(shí)間基準(zhǔn)TPi,jqp,lqp,在這 個(gè)情況下日期Ti,jqp (COL606),
-簽名數(shù)據(jù)的值Viq(COL609),以及如果適用,
-所述元素的屬性值A(chǔ)Eiqp,jqp,lqp,kqp(COL607),
18-作為所述文檔元素AOi,jqp,lqp來(lái)源的文檔的屬性值 (COL608),
-文檔數(shù)據(jù)Wiq的值(COL610); 填充這個(gè)表以便存儲(chǔ)包含簽名值Niq的所有元素印記,即,在這個(gè)情 ;兄下,r個(gè)-卩i己Ei,jql,lql,kql多J Ei,jqr,lqr,kqr。
可選擇地,函數(shù)signTp()還被配置成給每個(gè)簽名值Niq以與這個(gè) 簽名值Niq相關(guān)聯(lián)的元素屬性值A(chǔ)Ei,jqp,lqp,kqp的函數(shù)建立元素?cái)?shù) 據(jù)Ziq(圖6中未示出)。例如,元素?cái)?shù)據(jù)Ziq可以包括元素屬性值 AEi,jqp,lqp,kqp的最大值。
函數(shù)signTp()還被配置成能夠收集簽名表SignTb[的簽名數(shù)據(jù) Viq。例如,函數(shù)signTp()被配置成構(gòu)造帶時(shí)間注明的文檔集合印記 的表TempSignPTb[],其按照相互關(guān)系存儲(chǔ)
-文檔集合Pi的標(biāo)識(shí)符,例如附標(biāo)i
-每個(gè)不同的簽名值Niq
-與所述簽名值Niq相關(guān)聯(lián)的簽名數(shù)據(jù)Viq。
在圖6所示的例子中,這歸結(jié)為配置函數(shù)signTp(),以便為每個(gè) 簽名值Niq從包含簽名值Niq的任意行提取簽名數(shù)據(jù)Niq和附標(biāo)i的 值。在圖6中,例如,可以由列COL601、 COL602和COL609與行 ROW601、 ROW605和ROW609的交點(diǎn)形成表TempSignPTb[I。
因此,這導(dǎo)致文檔集合印記的特別輕量級(jí)存儲(chǔ)。如果時(shí)間基準(zhǔn)包 括日期Tij,并且函數(shù)dat()被配置成確定最早的日期Tij作為數(shù)據(jù)Viq, 這個(gè)數(shù)據(jù)等于簽名值在文檔集合Pi中首次出現(xiàn)的日期。因此文檔集合 的印記由一組簽名和它們首次出現(xiàn)的日期構(gòu)成。如下面將解釋的,可
以以dat()函數(shù)的函數(shù)存儲(chǔ)其它信息。
如果適用,dat()函數(shù)可以考慮文檔數(shù)據(jù)Wiq和元素?cái)?shù)據(jù)Ziq。 在另一個(gè)實(shí)施例中,表TempSignPTb[]還可以保持對(duì)每個(gè)元素 印記Eijlk的引用,例如,包含附標(biāo)i,j,k和1的值。這4吏得可以在數(shù) 據(jù)庫(kù)WDB 120中保持文檔元素的引用和相應(yīng)的簽名數(shù)據(jù)之間的聯(lián)系。 在另一個(gè)實(shí)施例中,表TempSignPTb[還可以保持每個(gè)元素印
19記Eijlk的引用,例如,包含附標(biāo)i,j,k和1的值,以及對(duì)文檔Oijl的 引用,例如包含附標(biāo)i,j和l。因此,對(duì)于特定文檔Oijl,可以建立相 應(yīng)于這個(gè)文檔的文檔元素Cijlk的簽名數(shù)據(jù)Viq。當(dāng)以最早日期Tij 建立數(shù)據(jù)Viq時(shí),可以與其首次出現(xiàn)的文檔Oijl無(wú)關(guān)地確定集合Pi 中文檔元素Cijlk首次出現(xiàn)的日期。因此,可以識(shí)別文檔集合中在該 文檔創(chuàng)建之前產(chǎn)生的文檔元素。
表TempSignPTb[]的實(shí)際實(shí)施例可以包括制訂表,諸如例如圖6 中的表604,其中每一行包括
-存儲(chǔ)簽名值Niq的一列(COL601);
在該情況下,以附標(biāo)值i,j,l和k的值的形式(COL602到COL605),
-作為這個(gè)文檔元素Ci,jqp,lqp,kqp的起源的文檔Oi,jqp,lqp的
時(shí)間基準(zhǔn)TPi,jqp,lqp(COL606),在這個(gè)情況下,日期Tiqp,jqp, -簽名數(shù)據(jù)的值Viq (COL609),并且如果適用, -元素Ci,jqp,lqp,kqp的屬性值A(chǔ)Ei,jqp,lqp,kqp(COL607), -作為文檔元素Ci,jqp,lqp,kqp的起源的文檔Oi,jqp,lqp的屬性
值A(chǔ)Oi,jqp,lqp(COL608),
-文檔數(shù)據(jù)Wiq的值(COL610);
填充所述表以便將文檔集合Pi的所有簽名值Niq收集在一起。換言
之,此處描述的實(shí)施例包括在相同的表中組合與為文檔集合Pi的每個(gè)
簽名值Niq制訂的表602相同類(lèi)型的表。
模塊SignM 110并且特別是函數(shù)signTp()能夠與數(shù)據(jù)庫(kù)PDB 130
交互,以便存儲(chǔ)對(duì)簽名表中的簽名數(shù)據(jù)的匯編結(jié)果。
例如,數(shù)據(jù)庫(kù)PDB 130因此可以保持關(guān)于文檔集合Pi中簽名值
的存在時(shí)期的數(shù)據(jù)。
在特定實(shí)施例中,可以減少文檔印記Eijl以便限制數(shù)據(jù)庫(kù)的大小
或有助于后續(xù)的簽名搜索。例如,可以以時(shí)間基準(zhǔn)值、元素屬性數(shù)據(jù)
和/或文檔屬性數(shù)據(jù)的函數(shù),刪除對(duì)某些元素印記的引用(和元素印記
自身)。文檔印記產(chǎn)生函數(shù)
參考圖7在特定實(shí)施例中描述函數(shù)signO()。
將考慮文檔Oijl,即,狀態(tài)Sij的文檔集合Pi的特定文檔l(步驟
700)。
函數(shù)signO()設(shè)計(jì)為調(diào)用函數(shù)type(),函數(shù)type()自身被配置成能 夠建立表征文檔Oijl的計(jì)算機(jī)性質(zhì)的數(shù)據(jù)(步驟702)。
就一種計(jì)算機(jī)結(jié)構(gòu)通用于相同類(lèi)型的所有文檔的意義而言,此處 術(shù)語(yǔ)"計(jì)算機(jī)性質(zhì)"意味著文檔Oijl的計(jì)算機(jī)結(jié)構(gòu)。計(jì)算機(jī)性質(zhì)或類(lèi)型 可以是寬泛的,或可以是標(biāo)準(zhǔn)的對(duì)象,諸如例如"文本,,類(lèi)型文件、 "Microsoft Word"(注冊(cè)商標(biāo))類(lèi)型文件、特定格式的"圖像"類(lèi)型文件。 該類(lèi)型還可以特定于產(chǎn)生該文檔的軟件。
文檔Oijl的類(lèi)型特性描述,在它是文件的特定情況下,可以通 過(guò)識(shí)別文件名擴(kuò)展執(zhí)行,例如,當(dāng)文檔是在"Microsoft Word"(注冊(cè)商 標(biāo))環(huán)境中創(chuàng)建的文件時(shí)。
還可以通過(guò)識(shí)別文件中表征文件類(lèi)型的位序列來(lái)執(zhí)行表征。具體 地,對(duì)源文件中特征關(guān)鍵字的識(shí)別使得可以識(shí)別編程語(yǔ)言。因此,函 數(shù)type()還能夠確定源類(lèi)型文件使用的語(yǔ)言。
函數(shù)signO()設(shè)計(jì)為調(diào)用內(nèi)容過(guò)濾函數(shù)filterA(),函數(shù)filterA() 自身設(shè)計(jì)為能夠根據(jù)文檔Oijl和該文檔的類(lèi)型產(chǎn)生具有整理后的內(nèi) 容的文檔O,ijl(步驟704)。
例如,函數(shù)filterA()可以被配置成刪除插入源文件中的注釋?zhuān)c 編程語(yǔ)言的語(yǔ)義無(wú)關(guān)的字符,或取決于特定操作系統(tǒng)的字符。
函數(shù)filterA()配置為提高函數(shù)signO()的健壯性,并且從而提高 由該函數(shù)產(chǎn)生的印記的相關(guān)性。此處健壯性意味著不論添加的被認(rèn)為 無(wú)關(guān)緊要的內(nèi)容修改如何,函數(shù)signO()產(chǎn)生一致的文檔印記的能力。 可以被認(rèn)為是無(wú)關(guān)緊要的修改例如為
-僅涉及例如文本類(lèi)型的文檔格式的修改,這些修改可能被自動(dòng) 執(zhí)行(例如,添加連續(xù)空格字符或空行),和
-內(nèi)容的重寫(xiě),諸如例如改變函數(shù)或變量名稱(chēng)或刪除或增加版權(quán)說(shuō)明。
應(yīng)當(dāng)注意,內(nèi)容重寫(xiě)可能是合法的或好意的,例如當(dāng)它打算使得 文檔內(nèi)容與某些形式規(guī)則或命名約定相一致時(shí)。重寫(xiě)同樣可以是惡意 的或違法的,特別是當(dāng)以假裝作者身份或隱瞞內(nèi)容重用為唯一目的而 執(zhí)行時(shí)。
應(yīng)當(dāng)理解,對(duì)文檔Oijl的整理是該類(lèi)型文檔的一個(gè)函數(shù)。 函數(shù)signO()被配置成調(diào)用內(nèi)容提取函數(shù)cut(),函數(shù)cut()能夠在 文檔O,ijl中隔離文檔元素Cijlk,諸如例如源碼類(lèi)型文檔中的函數(shù)或 程序。對(duì)各個(gè)元素的這種定位是該類(lèi)型文檔Oijl的一個(gè)函數(shù)(步驟 706)。
函數(shù)cut()被配置成根據(jù)文檔O,ijl建立一組元素Cijlk,其中k 是1和整數(shù)Kijl之間的自然數(shù)。例如,函數(shù)cut()可以被配置成能夠 從作為指定編程語(yǔ)言的源的文檔O,ijl中提取包含在這個(gè)對(duì)象中的一 組函數(shù)。
函數(shù)signO()設(shè)計(jì)為調(diào)用內(nèi)容過(guò)濾函數(shù)filterB(),函數(shù)filterB() 設(shè)計(jì)為能夠根據(jù)元素Cijlk并且根據(jù)文檔Oijl的類(lèi)型產(chǎn)生整理后的元 素C,ijlk(步驟708)。
以類(lèi)似于函數(shù)filterA()的方式,函數(shù)filterB()可以例如被配置成 刪除與識(shí)別出的編程語(yǔ)言的語(yǔ)義無(wú)關(guān)的注釋和字符,和/或取消依賴操 作系統(tǒng)的字符。就前面所述的意義而言,函數(shù)filterB()《1起模塊SignM 100的健壯性的提高。
函數(shù)filterB()導(dǎo)致一組整理后的元素C,ijlk,其中k是1和整數(shù) Kijl之間的自然數(shù)。
函數(shù)signO()另外被配置成調(diào)用簽名產(chǎn)生函數(shù)sign(),函數(shù)sign() 設(shè)計(jì)為能夠根據(jù)整理后的元素C,ijlk建立表征該文檔元素的內(nèi)容的簽 名Nijlk(步驟710)。
簽名Nijlk可以采取指定長(zhǎng)度的字符串的形式,ASCII或十六進(jìn) 制字符的串。優(yōu)選地,函數(shù)sign()包括稱(chēng)為"散列"的簽名產(chǎn)生算法。 簽名Nijlk對(duì)于給定元素C,ijlk是唯一的。在每個(gè)情況下,函數(shù)sign()
22優(yōu)選地設(shè)計(jì)為具有不發(fā)生強(qiáng)概率,即,從而從元素C,ijlk不同內(nèi)容獲 得相同簽名的概率盡可能低。另外,函數(shù)sign()被選擇為是不可逆的, 即,被配置成實(shí)際上不可能根據(jù)其簽名建立元素的內(nèi)容尤其是,這 允許長(zhǎng)期存儲(chǔ)簽名而不用關(guān)心機(jī)密性,由于文檔的確切內(nèi)容既不被存 儲(chǔ)也不被公開(kāi)。
應(yīng)當(dāng)注意,由于比較恒定大小的計(jì)算機(jī)對(duì)象比比較更笨拙的不同 大小的對(duì)象容易,使用指定長(zhǎng)度的字符串作為文檔內(nèi)容的簽名使得能 夠容易地進(jìn)行文檔比較。另外,這些字符串使得可以比較文檔集合, 并且由于它們并不公開(kāi)其內(nèi)容,可被廣泛發(fā)布。
簽名產(chǎn)生算法或"散列,,算法可以例如是MD5類(lèi)型(代表"消息摘 要5")或SHA-1(代表"安全散列算法")。
為文檔Oijl中的每個(gè)元素C,ijlk調(diào)用函數(shù)sign()以便獲得一組簽 名Nijlk,其中k是1和Kijl之間的自然數(shù)。
優(yōu)選地,函數(shù)sign()被配置成調(diào)用評(píng)分函數(shù)eval(),函數(shù)eval() 自身被配置成能夠作為元素屬性AEijlk將簽名相關(guān)性數(shù)據(jù)Bijlk與簽 名Nijlk相關(guān)聯(lián)(步驟712)。
此處相關(guān)性意味著文檔元素關(guān)于對(duì)該文檔所作的貢獻(xiàn)或修改的 影響的評(píng)估。函數(shù)eval()可以被配置成考慮從下面選擇的一個(gè)或多個(gè) 準(zhǔn)則
-文檔元素的大小,例如在源文件函數(shù)的情況下,代碼行數(shù)或字
符數(shù);
-與低相關(guān)性指數(shù)相關(guān)聯(lián)的簽名列表中的簽名的出現(xiàn),該列表可 能特定于一種類(lèi)型的文檔;
顯然,這列準(zhǔn)則不是無(wú)遺漏的,并且函數(shù)eval()可以考慮其他準(zhǔn)則。
就對(duì)其作任何進(jìn)一步分解沒(méi)有價(jià)值而言,每個(gè)整理后的元素 C,ijlk可被視為是"原子的",這是由于進(jìn)一步分解將丟失與其真實(shí)屬 性相關(guān)聯(lián)的方面(尤其是屬性和含義)。因此,與文檔的(全局)印記Eijl相反,其簽名Mjlk可被視為"原子印記"。
函數(shù)signO()還被配置成將每個(gè)簽名Nijlk與文檔引用Oijl相關(guān) 聯(lián),例如包含元素印記Eijlk中的附標(biāo)i,j,l (步驟714)。
函數(shù)signO()使得可以獲得表征對(duì)象Oijl的包括一組元素印記 Eijlk的文檔印記Eijl,其中k在1到Kijl之間變化(步驟71。。
如前面解釋的文檔印記Eijl可以存儲(chǔ)在數(shù)據(jù)庫(kù)WDB 120中。
應(yīng)當(dāng)理解,時(shí)間基準(zhǔn)可以是狀態(tài)Sij的日期Tij??捎善渥约旱?附標(biāo)j同等地給出時(shí)間基準(zhǔn),其中j按時(shí)間順序。
在特定的實(shí)施例中,作為一種文檔數(shù)據(jù),文檔印記Eijl還包括創(chuàng) 建狀態(tài)Sij或參與該狀態(tài)的創(chuàng)建的貢獻(xiàn)者標(biāo)識(shí)符Aij作為文檔屬性 AOijl。
可見(jiàn)函數(shù)filterA()和filterB()被配置成防止文檔元素在對(duì)其內(nèi)容 進(jìn)行無(wú)關(guān)緊要的修改之后產(chǎn)生不同的簽名。然而,這些函數(shù)還可被以 追蹤修改的目的設(shè)計(jì)為以無(wú)關(guān)緊要的方式對(duì)其內(nèi)容進(jìn)行了修改的特 定文檔的印記部分地不同于其原始印記。這可以通過(guò)彼此相關(guān)地調(diào)整 函數(shù)filterA(), filterB()和cut(),例如,以便剪切元素的內(nèi)容,則其 簽名應(yīng)當(dāng)或不應(yīng)當(dāng)改變,并且調(diào)整函數(shù)filterB()以便這樣做來(lái)實(shí)現(xiàn)。
例如最頻繁地,簡(jiǎn)單地改變文檔的函數(shù)中的變量的名稱(chēng)被視為簡(jiǎn) 單的內(nèi)容重寫(xiě)。函數(shù)filterA(), filterB()和cut()可被設(shè)計(jì)為獲得包含
指示發(fā)生了重寫(xiě)。例如,:i寫(xiě)僅涉及函k^稱(chēng)的改^變時(shí),函數(shù) filterA(), filterB()和cut()可以例如^皮配置成將文檔的函數(shù)分解為相應(yīng) 于該函數(shù)的聲明部分的第一文檔元素以及相應(yīng)于函數(shù)的主體或內(nèi)容 的第二文檔元素,并且從而第一元素的簽名改變而第二元素保持不 變。
在某些情況下函數(shù)filterA(), filterB()和cut()可以被配置成保留 相同的文檔,特別是作為該類(lèi)文檔的函數(shù)。
應(yīng)當(dāng)理解,函數(shù)signO()必須健壯以便允許以后的印記比較。為 了能夠進(jìn)行兩個(gè)印記的比較(即,為了搜索共有的簽名),不論模塊
24SignM 110使用什么,相同的文檔必須產(chǎn)生相同的印記。如果希望j吏 用不同的印記產(chǎn)生工具,函數(shù)cut(), filterA()和filterB()因此具有被 公開(kāi)和標(biāo)準(zhǔn)化的主要目的。然而,特別是在惡意內(nèi)容重寫(xiě)的情況下, 這種公開(kāi)會(huì)惠及旨在發(fā)覺(jué)這些過(guò)濾器的健壯性的策略的實(shí)現(xiàn)。
在函數(shù)signO()的一個(gè)特定實(shí)施例中,可以在步驟706之前調(diào)用 驗(yàn)證函數(shù)ver()以便確保源代碼符合可能取決于編程語(yǔ)言的某些形式 規(guī)則。例如,當(dāng)文檔Oijl是源文件時(shí),驗(yàn)證函數(shù)ver()可以包括源碼 的語(yǔ)法分析器,其能夠根據(jù)語(yǔ)言的句法和語(yǔ)法規(guī)則建立源碼的抽象表 示。這種語(yǔ)法分析器自身可以不易受無(wú)關(guān)緊要的修改或內(nèi)容重寫(xiě)的影 響。例如,函數(shù)ver()可被設(shè)計(jì)為建立抽象的句法樹(shù)或"AST"。通過(guò)這 樣做,就前面所述而言函數(shù)signO()更健壯。
簽名日期注明函數(shù)
在特定實(shí)施例中,函數(shù)dat()被設(shè)計(jì)為建立所考慮的簽名Niq的 存在時(shí)期作為簽名數(shù)據(jù)Viq。
在這個(gè)實(shí)施例中,簽名數(shù)據(jù)Viq可以包括文檔集合Pi中簽名值 Niq的出現(xiàn)或首次出現(xiàn)日期TAiq和消失日期或最后出現(xiàn)日期TDiq。 在該情況下,函數(shù)dat()可被配置成建立表signTb[]中的最早的時(shí)間基 準(zhǔn)例如最早的日期Ti,jq作為出現(xiàn)日期TAiq,并且這些日期中最近的 日期作為消失日期TDiq。
在可替換的實(shí)施例中,函數(shù)dat()被設(shè)計(jì)為建立一組存在時(shí)期作 為簽名數(shù)據(jù)Viq。函數(shù)dat()可被配置成與數(shù)據(jù)庫(kù)WDB 120交互以便 從這個(gè)數(shù)據(jù)庫(kù)中提取狀態(tài)表STB[,每個(gè)狀態(tài)表將文檔集合Pi的印記 Ei中出現(xiàn)的不同日期Tij收集在一起。函數(shù)dat()可被配置成對(duì)表 SignTb[中的每個(gè)日期Ti,jqp和組合在表STB[]中的日期進(jìn)行比較, 以便確定與所討論的簽名相關(guān)聯(lián)的日期Tij,或可能不與其相關(guān)聯(lián)的 曰期Tij。
取代日期Tij,函數(shù)dat()可被配置成作用于版本標(biāo)識(shí)符,例如, 附標(biāo)j的不同值。
在另一個(gè)實(shí)施例中,按順序配置狀態(tài)Sij,即,附標(biāo)j,優(yōu)選于附
25標(biāo)j暗示著日期Tij,比日期Tij更近。
函數(shù)dat()可被配置成不同地建立日期TAiq和TDiq。在這個(gè)特 定實(shí)施例中借助圖8描述函數(shù)dat()。
函數(shù)dat()被配置成能夠比較狀態(tài)Sij和所有以前的狀態(tài)Sij,,以 由一組元素印記Eijlk構(gòu)成的狀態(tài)印記Eij描述狀態(tài)Sij,以與以前的 狀態(tài)Sij,相關(guān)聯(lián)的一組簽名值Niq,描述狀態(tài)Sij,,即,對(duì)于它來(lái)說(shuō)存 在四元組i, j,, l,和k,,使得簽名值NijTk,等同于Niq,(步驟802)。 對(duì)于狀態(tài)Sij的每個(gè)簽名值Niq,即,對(duì)于存在四元組i, j, l和k使 得Nijlk等同于Niq的每個(gè)整數(shù)q (步驟804),函數(shù)dat()檢查數(shù)據(jù)庫(kù) WDB 120中是否存在與狀態(tài)Sij,相關(guān)聯(lián)的簽名值Niq,(步驟806)。
如果回答為是(步驟808),則簽名值Niq存在于文檔集合Pi的以 前狀態(tài)j,中。文檔集合Pi中的簽名值Niq,的出現(xiàn)日期TAiq,保持不變。 文檔集合Pi中的簽名值Niq,的消失日期TDiq,接收狀態(tài)Sij的日期 Tij。
如果回答為否(步驟810),在文檔集合Pi中簽名值Mq是新的。
在這個(gè)實(shí)施例中,當(dāng)添加后續(xù)狀態(tài)Eij例如最后已知狀態(tài)的印記 時(shí),可以快速更新文檔集合的帶時(shí)間注明的印記。這個(gè)特定實(shí)施例使 得能夠通過(guò)連續(xù)地添加連續(xù)狀態(tài)印記,構(gòu)造文檔集合的帶時(shí)間注明的 印記。此處更新的含義是增加以前狀態(tài)中不存在的簽名值,并且計(jì)算 由新?tīng)顟B(tài)的增加而修改的簽名數(shù)據(jù)Viq。
換言之,函數(shù)dat()可被配置成比較其印記Eij被存儲(chǔ)在數(shù)據(jù)庫(kù) WDB 120中的狀態(tài)Sij和一組以前的狀態(tài)Sij,,以1更更新文檔集合Pi 的帶時(shí)間注明的印記,其中j,是小于j的自然數(shù),狀態(tài)Sij,的印記Eij, 存儲(chǔ)在數(shù)據(jù)庫(kù)PDB 130中。
印記產(chǎn)生模塊的特定實(shí)施例
在特定實(shí)施例中,模塊SignM IIO設(shè)計(jì)為與例如CVS類(lèi)型或等 同的版本管理工具交互。
版本管理工具能夠組織文檔集合和其不同狀態(tài)的存儲(chǔ)。特別地,版本管理工具能夠以遞增和連貫的方式管理文檔集合的不同狀態(tài)使 用版本管理工具使得可以獲得以前描述的狀態(tài)Sij的時(shí)間配置。
當(dāng)若干貢獻(xiàn)者能夠同時(shí)修改相同的文檔集合時(shí),版本管理工具使 得可以標(biāo)識(shí)貢獻(xiàn)者開(kāi)始進(jìn)行修改的狀態(tài)。某些版本管理工具僅存儲(chǔ)連 續(xù)的修改,和/或如果需要,能夠檢查對(duì)相同文檔的所有或部分內(nèi)容進(jìn) 行的同時(shí)修改之間的沖突的出現(xiàn)。版本管理工具還可以確保必須相對(duì) 于最后已知版本而不是當(dāng)原始版本已知時(shí)相對(duì)于原始版本執(zhí)行更新。 實(shí)際上,不同的版本管理工具以不同的方式工作此處由使用版本管 理工具而導(dǎo)致的狀態(tài)Sij之間的連貫性被用于改進(jìn)帶時(shí)間注明的印記 產(chǎn)生處理。
版本管理工具還提供執(zhí)行更新的貢獻(xiàn)者的標(biāo)識(shí)符和/或自特定狀 態(tài)以來(lái)被修改的文檔列表。
例如,CVS類(lèi)型的工具存儲(chǔ)文檔Oijl的最后狀態(tài)以及連續(xù)的文 檔Oiml的不同的以前狀態(tài)之間的差異,其中m是小于j的自然數(shù)。 此處附標(biāo)1與狀態(tài)附標(biāo)j無(wú)關(guān)地與以名稱(chēng)和文件路徑唯一表征的文件 相關(guān)聯(lián)。
版本管理工具還例如在中央服務(wù)器上提供更新日期。該日期被存 儲(chǔ)為該狀態(tài)的文檔集合的時(shí)間基準(zhǔn)。
一個(gè)狀態(tài)可以相應(yīng)于對(duì)存在于服務(wù)器上的版本的更新。因此通常 一個(gè)貢獻(xiàn)者被與 一個(gè)狀態(tài)相關(guān)聯(lián)。
此處應(yīng)當(dāng)注意,根據(jù)使用的版本管理工具或根據(jù)對(duì)它的使用,可

-或是當(dāng)文檔集合中的一個(gè)文檔被修改時(shí)盡可能快地分配新?tīng)?br> 態(tài);
-或是為相同貢獻(xiàn)期間對(duì)若干文檔的修改分配新?tīng)顟B(tài)。 這僅略微改變工具ioo的操作,特別是通過(guò)增加或減少狀態(tài)數(shù)目 進(jìn)行改變。
在這個(gè)實(shí)施例中,才莫塊SignM 110可以包括版本比較函數(shù) compSO。
27借助圖9描述函數(shù)compS()。
為了簡(jiǎn)化描述,此處假設(shè)兩個(gè)狀態(tài)Sij,和Sij是連續(xù)的。 此處,該工具是CVS類(lèi)型的。在該情況下,附標(biāo)l與狀態(tài)無(wú)關(guān) 地描述文檔。
對(duì)于狀態(tài)Sij中的文檔集合Pi中的每個(gè)文檔Oijl,函數(shù)compS() 設(shè)計(jì)為確定文檔集合Pi中是否存在以前狀態(tài)Sij,的文檔Oij,l(步驟 900)。
如果回答為否,函數(shù)compS()設(shè)計(jì)為調(diào)用以前描述的函數(shù) signO(),以便產(chǎn)生文檔Oijl的所有元素印記Eijlk(步驟902)。
每個(gè)元素印記Eijlk,特別地,其包含的簽名Nijlk如前所述存儲(chǔ) 在數(shù)據(jù)庫(kù)WDB 120中。文檔Oijl的時(shí)間基準(zhǔn)TPijl,例如使用版本管 理工具獲得的更新(或貢獻(xiàn))的日期Tij,也存儲(chǔ)在數(shù)據(jù)庫(kù)WDB 120中。 優(yōu)選地,文檔屬性AOijl,例如狀態(tài)Sij的貢獻(xiàn)者Aij的標(biāo)識(shí)符,也存 儲(chǔ)在數(shù)據(jù)庫(kù)WDB 120中(步驟904)。如果希望,文檔屬性AOijl可以 包括狀態(tài)Sij中的每個(gè)貢獻(xiàn)者Aij的標(biāo)識(shí)符。
如果步驟900的測(cè)試是肯定的,則函數(shù)compS()設(shè)計(jì)為檢查文檔 Oijl是否與文檔Oij,l相同(步驟906)??梢蕴峁┍容^狀態(tài)這樣做。在
某些情況下,版本管理工具能夠執(zhí)行這種檢查。
如果回答為是,函數(shù)com pS()設(shè)計(jì)為將元素印記Eij,lk,的每個(gè)簽 名與文檔Oijl相關(guān)聯(lián)。換言之,除了文檔Oijl的時(shí)間基準(zhǔn)TPijl之夕卜, 函數(shù)compS()建立文檔Oij,l的印記Eij,l作為文檔Oijl的印記Eijl(步 驟908)。
在該實(shí)施例中,函數(shù)com pS()不必設(shè)計(jì)為產(chǎn)生文檔Oijl的所有元 素印記Eijlk。函數(shù)compS()可以使用文檔Oij,l的元素印記Eij,lk,。 使用與模塊SignM110交互的版本管理工具使得可以節(jié)省材料資源, 特別是處理器單元負(fù)載。
如果步驟906的測(cè)試為肯定,文檔Oijl和文檔Oij,l不同。文檔 Oijl可被看成是具有貢獻(xiàn)者Aij的并且在日期Tij發(fā)生的對(duì)象Oij,l的 變換(步驟910)。在圖9中,以函數(shù)hijl()的形式示出了該變換。
28函數(shù)compS()設(shè)計(jì)為調(diào)用函數(shù)signO(),以便如前所述產(chǎn)生文檔 Oijl的所有元素印記Eijl(步驟912)。元素印記Eijl存儲(chǔ)在數(shù)據(jù)庫(kù)WDB 120中,如果必要,相應(yīng)于時(shí)間基準(zhǔn)TPijl(例如日期Tij)和文檔屬性 AOijl(例如貢獻(xiàn)者標(biāo)識(shí)符數(shù)據(jù)(Aij))。
文檔集合數(shù)據(jù)庫(kù)的結(jié)構(gòu)
圖IO示出了 PDB數(shù)據(jù)庫(kù)130的結(jié)構(gòu)的例子。
對(duì)于每個(gè)文檔集合Pi,數(shù)據(jù)庫(kù)PDB 130可以設(shè)計(jì)為保持文檔集 合的帶時(shí)間注明的印記表TpSignPTb[1000。
這個(gè)表TpSignPTb[1000的每一行可以包括
-簽名列1002,其存儲(chǔ)與另一行的簽名值不同的文檔集合Pi的 特定簽名值Niq,
-對(duì)文檔集合的引用的列1004,例如,其存儲(chǔ)附標(biāo)i的值,和
-簽名數(shù)據(jù)列1006,其存儲(chǔ)與簽名數(shù)據(jù)的值Niq相關(guān)聯(lián)的簽名 數(shù)據(jù)Viq,例如在該情況下,簽名值Mq在文檔集合Pi中的出現(xiàn)日期 TAiq。
如果希望,表TpSignPTb[] 1000中的每一行還可以包括
-用于元素屬性數(shù)據(jù)的列1008,其存儲(chǔ)元素?cái)?shù)據(jù)Ziq,例如在該 情況下,相關(guān)性指數(shù)的值Biq,
-文檔數(shù)據(jù)列1010,其存儲(chǔ)文檔數(shù)據(jù)Wiq,例如在該情況下, 貢獻(xiàn)者標(biāo)識(shí)符Aiq。
表TpSignPTb[] 1000中的每一行可被視為帶時(shí)間注明的元素印 記Eiq。
表TpSignPTb[] 1000還可以包括其他數(shù)據(jù),特別是由模塊SignM 110建立的和/或臨時(shí)存儲(chǔ)在數(shù)據(jù)庫(kù)WDB120中的數(shù)據(jù)。
特定實(shí)施例可以包括存儲(chǔ)圖6中的表作為用于特定文檔集合的 表TpSignPTb[] 1000。
數(shù)據(jù)庫(kù)PDB 130可以被配置成為每個(gè)文檔集合Pi存儲(chǔ)這種表, 或以便將關(guān)于不同文檔集合Pi的表組合為一個(gè)表。在圖11中,例如, 表1100組合類(lèi)似于表604的用于文檔集合Pl的由列COL1101到
29COL1110和行ROW1101到ROW1113組成的表1102,類(lèi)似于表604 的用于文檔集合P2的由列COL1101到COL1110和行ROW1114到 ROW1126組成的表1104,以及類(lèi)似于表604的用于任意文檔集合Pi 的由列COL1101到COL1110和行ROW1128到ROW1140組成的表 1106。
用于比較文檔集合的模塊的第一個(gè)實(shí)施例
根據(jù)本發(fā)明的工具包括文檔集合比較模塊ComM 140,其設(shè)計(jì)為 在數(shù)據(jù)庫(kù)PDB 130中產(chǎn)生與文檔集合Pi和不同的文檔集合Pi,兩者相 關(guān)聯(lián)的一組簽名值。這使得可以確定在另一個(gè)文檔集合Pi,中發(fā)現(xiàn)了 文檔集合Pi的文檔元素Oijl。
通過(guò)確定文檔集合Pi,的文檔元素到文檔集合Pi中的結(jié)合,以及 相反文檔集合Pi,的文檔元素到文檔集合Pi中的結(jié)合,模塊ComM 140 還設(shè)計(jì)為建立文檔集合Pi和文檔集合Pi,之間的相關(guān)性。換言之,模 塊ComM 14(H殳計(jì)為建立文檔集合之間的相關(guān)性,并且定向這些相關(guān) 性。
應(yīng)當(dāng)注意出于實(shí)際的原因,函數(shù)filterA(), filterB()和cut()必須 被配置成對(duì)于相同的內(nèi)容,函數(shù)signO()(或等同的函數(shù))得出這些內(nèi)容 所共有的簽名值的至少一個(gè)子集??赡芟M麑⑾嗤渲玫暮瘮?shù) filterA(), filterB()和cut()應(yīng)用于將被比較的不同內(nèi)容,從而當(dāng)內(nèi)容相 同時(shí)通過(guò)函數(shù)signO()獲得相同簽名值的集合。
模塊ComM 140包括用于比較文檔集合的函數(shù)comp()。函數(shù) comp()被配置成比較第 一文檔集合Pl和第二文檔集合P2,以便確定 文檔集合Pl和P2共有的文檔元素。
參考圖12描述函數(shù)comp()。
函數(shù)comp()被配置成從數(shù)據(jù)庫(kù)PDB 130中提取包含與文檔集合 Pl相關(guān)并且相應(yīng)于簽名值Vlq的簽名值Nlq的子集E,l (步驟1200)。 此處假設(shè)存在與文檔集合Pl相關(guān)聯(lián)的Ql個(gè)不同的簽名值Nlq。
可選擇地,函數(shù)comp()設(shè)計(jì)為另外提取數(shù)據(jù)庫(kù)PDB 130中與簽 名值Nlq相關(guān)聯(lián)的所有數(shù)據(jù)。例如,函數(shù)comp()可以被配置成提取與圖11中的表1102相同類(lèi)型的表。
以相同方式,函數(shù)comp()被配置成從數(shù)據(jù)庫(kù)PDB 130中提取與 文檔集合P2相關(guān)并且由Q2個(gè)不同的簽名值N2q,組成的子集E,2(步 驟1202)。例如,函數(shù)comp()可被配置成提取與圖11中的表1104相 同類(lèi)型的表。
函數(shù)comp()被配置成構(gòu)造交集E,12,交集E,12由收集集合E,l 和E,2的簽名值Nlq和N2q,相等的子集組成(步驟1204)。換言之, 函數(shù)comp()被配置成制訂組合E,l和E,2的相同簽名值Nlq和N2q, 以及它們各自的簽名數(shù)據(jù)Vlq和V2q,的表PintTb[]。如果希望,函 數(shù)comp()可以被配置成附加地存儲(chǔ)數(shù)據(jù)庫(kù)PDB 130中與這些簽名值 相關(guān)聯(lián)的某些或全部數(shù)據(jù)。
函數(shù)comp()被配置成建立相關(guān)性集合E"12。例如,函數(shù)comp() 可以被配置成構(gòu)造相關(guān)性表PDepTb[],其中每一行代表定向在文檔 集合Pl和P2之間的相關(guān)性(步驟1206)。
"相關(guān)性"意味著與文檔集合Pl相關(guān)聯(lián)的簽名值Nlq在與文檔集 合P2相關(guān)聯(lián)的簽名值N2q,集合中的出現(xiàn)。換言之,文檔集合P1和 P2之間的相關(guān)性揭示一個(gè)集合的文檔元素在這些集合中的另一個(gè)內(nèi) 的出現(xiàn)。
函數(shù)comp()被配置成制訂表PdepTb[],從而該表中的每一行包

-簽名值Nm,
-針對(duì)該簽名值的對(duì)源文檔集合POm的引用(即,對(duì)集合P1或 P2之一的引用),
-針對(duì)該簽名值的對(duì)目的地文檔集合PDm的引用(即,對(duì)集合 Pl或P2中的另一個(gè)的引用);
填充表PdepTb[]以便計(jì)數(shù)集合E,12的每個(gè)簽名值Nm,從簽名數(shù)據(jù) Vlm和V2m,即,分別相應(yīng)于集合E,l和E,2中的簽名值Nm的簽 名數(shù)據(jù)Vlq和V2q,的值開(kāi)始,使用定向函數(shù)dir()確定對(duì)源文檔集合 POm和目的地文檔集合PDm的引用。源文檔集合意味著這樣的文檔集合,其中具有簽名Nm的文檔元素Cijlk很可能被導(dǎo)入該目的地文 檔集合中。
表PdepTb[]中的每一行代表針對(duì)簽名值Nm的指示對(duì)"源"文檔 集合POm的引用和對(duì)"目的地"文檔集合PDm的引用的定向的相關(guān) 性。
可選擇地,表PdepTb[]還可以為每個(gè)簽名值Nm存儲(chǔ)
-相關(guān)性屬性Fm,其可被根據(jù)簽名數(shù)據(jù)Vlm和V2m,例如, 簽名值Nm在源文檔集合POm中首次出現(xiàn)的日期建立,
-文檔相關(guān)性屬性Gm,其可被根據(jù)文檔屬性數(shù)據(jù)Wlq和W2q 建立,例如,描述作為產(chǎn)生該簽名的元素的起源的文檔的類(lèi)型的數(shù)據(jù), 或時(shí)間基準(zhǔn)的可靠性指數(shù),
-元素相關(guān)性屬性Hm,其可被根據(jù)元素屬性數(shù)據(jù)Zlq和Z2q 建立,例如,對(duì)產(chǎn)生簽名值Nm的元素的大小的指示。
如果文檔相關(guān)性屬性Gm包括描述文檔類(lèi)型的數(shù)據(jù),可以排除其 產(chǎn)生元素起源于不同類(lèi)型的文檔的簽名值Nm。
確定源文檔集合POm和目的地文檔集合PDm可以考慮不同的 準(zhǔn)則??梢宰鳛榻Y(jié)果配置函數(shù)dir()。
特別地,函數(shù)dir()可被配置成確定產(chǎn)生簽名值Nm的文檔元素 首次出現(xiàn)在其中的文檔集合作為源文檔集POm。在該情況下,集合 POm是這樣的文檔集合,簽名值Nm最早出現(xiàn)在該文檔集合的印記 中,而集合PDm可以是這樣的文檔集合,這個(gè)簽名值Nm僅是稍后 出現(xiàn)在其中。
在特定的實(shí)施例中,簽名數(shù)據(jù)Vlm和V2m中的每一個(gè)分別包含 簽名值Nm在文檔集合Pl和P2中的出現(xiàn)日期TAlm和TA2m。函數(shù) dir()可以^J己置成確定相應(yīng)于日期TA1 m和TA2m中最早的 一個(gè)的集 合P1和P2中的一個(gè)作為源集合POm。集合P1和P2中的另一個(gè)被 確定為目的地集合PDm。
可選擇地,函數(shù)comp()可以被配置成存儲(chǔ)日期TAlm和TA2m 作為相關(guān)性屬性Fm。屬性Fm相應(yīng)于一個(gè)時(shí)間間隔,在該時(shí)間間隔
32期間文檔集合POm的內(nèi)容被結(jié)合到文檔集合PDm中。
在另一個(gè)實(shí)施例中,簽名數(shù)據(jù)Vlm(或分別地V2m)包括簽名值 Nlm(或分別地N2m)在文檔集合Pl(或分別地P2)中的出現(xiàn)曰期 TAlm(或分別地TA2m)和來(lái)自這個(gè)集合的這個(gè)簽名值Nm的消失日 期TDlm(或分別地TD2m)。在這個(gè)情況下,函數(shù)comp()可以,皮配置 成如以前那樣建立源集合POm,并且保持目的地文檔集合PDm中的 消失日期TDlm或TD2m作為屬性Fm。
可選擇地,并且對(duì)于上述的實(shí)施例,文檔數(shù)據(jù)Wlm和W2m包 括簽名數(shù)據(jù)Vlm和V2m的可靠性指數(shù),特別是當(dāng)這些數(shù)據(jù)包含出現(xiàn) 日期TAlm和TA2m時(shí)。函數(shù)comp()可以被配置成僅以簽名值Nm 填充表PdepTbH,其中文件數(shù)據(jù)Wlm或W2m是在指定的閾值之上。
更一般地,函數(shù)dir()可以被配置成通過(guò)考慮元素屬性數(shù)據(jù)Zlm 和Z2m,文檔屬性數(shù)據(jù)Wlm和W2m,狀態(tài)屬性數(shù)據(jù)Xlm和X2m 和/或簽名數(shù)據(jù)Vlm和V2m確定集合POm和PDm。
例如,4艮如相應(yīng)的相關(guān)性指數(shù)Blm和B2m分別在指定值之上, 函數(shù)eomp()可以,皮配置成建立集合Pl和P2中相應(yīng)于日期TAlm和 TA2m中最早的一個(gè)的特定集合作為集合POm。
可選擇地,函數(shù)comp()可以被配置成從相關(guān)性表PdepTb[]中刪 除這樣的簽名值Nm和與其相關(guān)聯(lián)的數(shù)據(jù),該簽名值Nm的相關(guān)性指 數(shù)Blm和B2m中的一個(gè)在預(yù)定值之下,或其中出現(xiàn)日期TAlm或 TA2m和TDlm或TD2m #皮以大于一個(gè)固定值的時(shí)間長(zhǎng)度間隔開(kāi)。
相關(guān)性聚集函數(shù)
函數(shù)comp()可以被配置成調(diào)用能夠?qū)⒈鞵depTb[]的相關(guān)性收集 在一起的聚集函數(shù)。當(dāng)表PdepTb[]中的相關(guān)性的數(shù)目很多時(shí)這特別有利。
參考圖13描述聚集函數(shù)agrDepl()的第一個(gè)例子。 函數(shù)agrDepl()被配置成根據(jù)相關(guān)性的定向在兩個(gè)相關(guān)性子集 D12和D21之間的劃分所有相關(guān)性E"12,子集D12和D21分別相應(yīng)
于-E"12的所有相關(guān)性,從而POm等于Pl和 -E"12的所有相關(guān)性,從而POm等于P2。 (步驟1300)
例如,函數(shù)agrDepl()可以被配置成在兩個(gè)子表Pdepl2Tb[和 Pdep21Tb[之間劃分表PdepTb[,子表Pdepl2Tb[和Pdep21Tb[分

-相應(yīng)于表PdepTb[的行,即,相應(yīng)于簽名值Nm,并且相應(yīng)于 與這些值相關(guān)聯(lián)的數(shù)據(jù),從而POm等于Pl,和
-相應(yīng)于表PdepTb[的行,即,相應(yīng)于簽名值Nm,并且相應(yīng)于 與這些值相關(guān)聯(lián)的數(shù)據(jù),從而POm等于P2。
集合D12包括其相關(guān)聯(lián)的出現(xiàn)日期TAlm比相關(guān)聯(lián)的出現(xiàn)曰期 TA2m早(換言之小于這個(gè)日期)的簽名值Nm的集合。類(lèi)似地,集合 D21包括其相關(guān)聯(lián)的出現(xiàn)日期TA2m比相關(guān)聯(lián)的出現(xiàn)日期TAlm早的 所有簽名值Nm。
首先將描述函數(shù)agrDepl()的子集D12聚集。
可選擇地,函數(shù)agrDepl()可以被-配置成組織集合D12和D21 , 以便根據(jù)與它們的簽名值Nm相關(guān)聯(lián)的日期或多個(gè)日期組合相關(guān)性。
函數(shù)agrDepl()被配置成建立集合D12的U12數(shù)目個(gè)簽名值Nm。 這可以通過(guò)使用計(jì)數(shù)函數(shù)count()完成(步驟l302)。
函數(shù)agrDepl()被配置成建立集合Pl的任意元素被首次集成到 集合P2中的日期T12。換言之,日期T12是與屬于子集D12的簽名 值Nm相關(guān)聯(lián)的最早日期TA2m。(步驟1304)
函數(shù)agrDepl()被配置成建立相關(guān)性的子集,或聚集屬于集合 D12的相關(guān)性的Del2u,所述相關(guān)性的簽名值Nm的出現(xiàn)日期TAlm 或與簽名值Nm相同的簽名首次與集合Pl相關(guān)聯(lián)的日期比日期T12 早。換言之,集合Del2n包括其出現(xiàn)日期比日期T12早的屬于集合 D12的簽名值Nm,并且可選擇地與這些值相關(guān)聯(lián)的數(shù)據(jù)。(步驟1306)
函數(shù)agrDepl()被配置成建立日期T12',日期T12,定義為屬于集 合D12但是不屬于相關(guān)性聚集Del2u的相關(guān)性的與簽名值Nm相關(guān)聯(lián)的最早日期。換言之,日期T12,表示集合P1的文檔元素被集成在 集合P2中的最早日期,但是其中簽名Nm不屬于正被構(gòu)造的組。(步 驟1308)
可選擇地,函數(shù)agrDepl()可以被配置成從聚集Del2u中刪除這 樣的相關(guān)性,其中簽名值Nm在集合P2中的首次出現(xiàn)的日期TA2m 比曰期T12,更近。(步驟1310)
重新開(kāi)始步驟1304到1310,排除已經(jīng)形成的聚集Del2u的相關(guān) 性,直到獲得的集合Del2u的并集與集合D12 —致。這可以通過(guò)排 除剛被構(gòu)造(步驟1312)的集合Del2u中的相關(guān)性,并且重新開(kāi)始步驟 1304到1312直到D12為空(步驟1314)來(lái)實(shí)現(xiàn)。
函數(shù)agrDepl()被配置成對(duì)稱(chēng)地為子集D21執(zhí)行步驟1302到 1314,以便獲得相關(guān)性聚集De21u, De21u的并集相應(yīng)于相關(guān)性子集 D21。
可選擇地,函數(shù)agrDepl()可以被配置成特別地根據(jù)與這個(gè)聚集 的簽名值Nm相關(guān)聯(lián)的相關(guān)屬性Fm,文檔相關(guān)屬性Gm,元素相關(guān) 屬性Hin,給每個(gè)聚集Del2u(或分別地De21u)建立聚集數(shù)據(jù)。如果 希望,函數(shù)agrDepl()可以被配置成根據(jù)數(shù)據(jù)Vlm或V2m, Wlm或 W2m和/或Zlm或Z2m建立所述聚集數(shù)據(jù)。
例如,函數(shù)agrDepl()可以被配置成給每個(gè)聚集Del2u(或分別地 De21u)建立該聚集的任意元素的第一次集成的日期,即,與所討論的 聚集的簽名值Nm相關(guān)聯(lián)的日期TAlm中最早的一個(gè)。函數(shù)agrDepl() 可以附加地或可替換地被配置成給每個(gè)聚集建立
-包含在所討論的聚集內(nèi)的簽名值Nm(并且因此相關(guān)性)的數(shù)
目,
-例如,根據(jù)文檔相關(guān)性屬性Gm計(jì)算的時(shí)間基準(zhǔn)的可靠性指數(shù) 的均值,和/或
-指示其簽名值Nm被包括在所討論的聚集中的文檔元素的累 積大小的值,該值例如被根據(jù)這些簽名的元素相關(guān)性屬性Hm計(jì)算。 可選擇地,函數(shù)agrDepl()可以被配置成建立表征聚集概率的數(shù)
35據(jù)。聚集概率主要意味著這樣的事實(shí),其簽名值Nm被包括在所討論 的聚集中的所有文檔元素產(chǎn)生自內(nèi)容集成的相同處理。例如,函數(shù) agrD印l()可以被配置成針對(duì)聚集Del2u(或分別地De21u)檢查是否存 在該聚集的所有簽名值共同存在于源文檔集合的印記中的時(shí)間間隔。
應(yīng)當(dāng)注意,如果新?tīng)顟B(tài)在建立E"12的狀態(tài)之后,向文檔集合 Pl和P2之一添加新?tīng)顟B(tài)不改變已經(jīng)計(jì)數(shù)的集合E"12的相關(guān)性。另 外,新?tīng)顟B(tài)的添加不改變借助函數(shù)agrDepl()獲得的聚集,而僅能夠 改變這些聚集的相關(guān)性數(shù)目。實(shí)際上,不論集合P1和P2中的文檔元 素的添加或刪除如何,建立的相關(guān)性保持有效。例如,刪除集合P2 中來(lái)自集合Pl的并且因此產(chǎn)生了相關(guān)性的文檔元素不會(huì)使得該相關(guān) 性消失。因此本發(fā)明可以進(jìn)行的文檔集合之間的比較可被描述為是 "健壯的"。該屬性主要是由于這樣的事實(shí),即,由模塊SignM110建 立的文檔集合的帶時(shí)間注明的印記不會(huì)被后續(xù)狀態(tài)的添加破壞可以 給印記添加新簽名值,但是不修改已有的簽名值,特別是在首次出現(xiàn) 日期的情況下。換言之,特定日期的文檔集合的印記包括以前日期制
iT ";女水i AA S卩
參考圖14描述聚集函數(shù)agrDep2()的第二個(gè)例子。
函數(shù)agrDep2()被配置成根據(jù)相關(guān)性的定向根據(jù)圖13的步驟
1300將所有相關(guān)性E"12劃分為兩個(gè)相關(guān)性子集D12和D21。(步驟
1400)
對(duì)于文檔集合P1中的首次出現(xiàn)日期TAlu的每個(gè)值,從而存在 包含在相關(guān)性集合D12中的簽名值Nu,函數(shù)agrDep2()被配置成建立 相關(guān)性的子集,或聚集Del2u,其包括其日期TAlm與日期TAlu相 同的所有簽名值Nm,以及與這些簽名值相關(guān)聯(lián)的數(shù)據(jù)(步驟1402)。 換言之,agrDep2()被配置成將集合D12劃分為其簽名具有文檔集合 Pl中相同的出現(xiàn)日期的聚集Del2u。
可選擇地,函數(shù)agrDep2()可以被配置成,例如,借助計(jì)數(shù)函數(shù) nbr()確定包括在集合D12中的聚集Del2u的數(shù)目,并且驗(yàn)證這個(gè)數(shù) 目是否大于預(yù)定值VAL(步驟1404)。值VAL等于被判斷為合適于處理的聚集的數(shù)目。在另一方面,可以通過(guò)考慮高數(shù)目的聚集使得后續(xù) 處理繁重,并且另一方面,小數(shù)目的聚集引起可能使得后續(xù)操作無(wú)意
義的信息丟失確定值VAL。后續(xù)操作特別地意味著由模塊RightsM 150執(zhí)行的處理。
如果步驟1404中的測(cè)試為否定,停止函數(shù)agrDep2()。如果不是, 函數(shù)agrDep2()被配置成以下面描述的方式確定時(shí)間間隔集合 DeltaT12v。(步驟1406)
對(duì)于在步驟1406確定的每個(gè)間隔DeltaT12v,函數(shù)agrDep2()被 配置成構(gòu)造包含聚集Del2n的集合的相關(guān)性的超集或聚集Del2v,從 而日期TAlu被包含在所討論的范圍DeltaT12v內(nèi)(步驟1408)。換言 之,函數(shù)agrDep2()被配置成以文檔集合Pl中這個(gè)簽名的首次出現(xiàn)日 期的函數(shù),并且更準(zhǔn)確地根據(jù)這些日期是否屬于時(shí)間間隔DeltaT12v, 根據(jù)其簽名值Nm組合集合D12的相關(guān)性。在某些情況下,聚集Del2v 的構(gòu)造可以考慮日期TA2u而不是日期TAlu。
確定間隔DeltaT12v以-使在用于產(chǎn)生文檔元素的處理中記錄連 貫性。這些間隔DeltaT12v的確定可以考慮一個(gè)或多個(gè)準(zhǔn)則。
例如,函數(shù)agrDep2()可以;故配置成建立這樣的間隔DeltaT12v, 每個(gè)間隔相應(yīng)于目的地文檔集合PDm,在該情況下,文檔集合P2的 一個(gè)狀態(tài)。因此以目的地文檔集合的狀態(tài)的函數(shù)對(duì)集合D12的相關(guān)性 重新分組。在該情況下,函數(shù)agrDep2()被配置成以日期TA2u的函 數(shù)定義聚集Del2v。
該函數(shù)或日期TA2u還可以被配置成確定間隔DeltaT12v,從而 每個(gè)間隔相應(yīng)于文檔集合的一系列狀態(tài),其中狀態(tài)屬性的值,特別是 貢獻(xiàn)者標(biāo)識(shí)符Aij是相同的。然后以源文檔集合的狀態(tài)的函數(shù)并且按 照貢獻(xiàn)者對(duì)集合D12的相關(guān)性分組。
一般地,可從對(duì)表征文檔內(nèi)容的更新頻率的時(shí)間段的選擇產(chǎn)生間 隔DeltaT12v的定義,例如,取自由版本管理工具獲得的數(shù)據(jù),例如, 曰期Tij。
應(yīng)當(dāng)理解,函數(shù)agrDep2()被配置成為集合D21對(duì)稱(chēng)地執(zhí)行步驟
371402到1408。
類(lèi)似于函數(shù)agrDepl(),函數(shù)agrDep2()可以被配置成驗(yàn)證獲得 的聚集Del2v和De21v的概率。
同樣類(lèi)似地,函數(shù)agrDep2()可以被配置成,特別地,根據(jù)與這 個(gè)聚集的簽名值相關(guān)聯(lián)的相關(guān)性屬性Fm,文檔相關(guān)性屬性Gm,元 素相關(guān)性屬性Hm給每個(gè)聚集Del2v建立聚集數(shù)據(jù),并且如果適當(dāng)根 據(jù)數(shù)據(jù)Vlm或V2m, Wlm或W2m和/或Zlm或Z2m建立。
例如,函數(shù)agrDep2()可以被配置成給每個(gè)聚集Del2v(或分別地 De21v)建立該聚集的任意元素第一次集成的日期,包含在所述聚集內(nèi) 的簽名值Nm(以及因此相關(guān)性)的數(shù)目,時(shí)間基準(zhǔn)的可靠性指數(shù)的均 值,和/或其簽名值Nm包含在所述聚集中的文檔元素的累積大小。
此處描述的函數(shù)agrDepl()和agrDep2()不是限制性的,并且可 以附加地或替換地定義其他聚集函數(shù)。例如,可以根據(jù)它們的數(shù)據(jù) Fm, Gm和/或Hm,和/或可選擇地根據(jù)數(shù)據(jù)Vlm或V2m, Wlm或 W2m和/或Zlm或Z2m給簽名值Nm和與這些值相關(guān)聯(lián)的數(shù)據(jù)分組。
在聚集函數(shù)的所有實(shí)施例中,這些函數(shù)還可以被配置成建立等于 用于獲得的每個(gè)聚集的權(quán)重的數(shù)據(jù)。這使得可以為聚集建立分層結(jié) 構(gòu),從而例如可以更容易進(jìn)4亍以后的處理。例如,當(dāng)確定所述4又重時(shí), 聚集函數(shù)可以被配置成考慮包含在聚集中的相關(guān)性的數(shù)目,其簽名代 表相關(guān)性的文檔元素的累積大小,源和/或目的地文檔集合中的權(quán)重, 時(shí)間基準(zhǔn)或與聚集的簽名相關(guān)聯(lián)的引用的可靠性,以及可獲得的任意 信息。
用于比較文檔集合的模塊的第二個(gè)實(shí)施例
在這個(gè)實(shí)施例中,沖莫塊ComM 140 ^皮配置成以前面所述方面比 較文檔集合Pi和若干文檔集合Pi,。
通過(guò)確定文檔集合Pi,的文檔元素到文檔集合Pi中的結(jié)合,以及 相反文檔集合Pi的文檔元素到文檔集合Pi,中的結(jié)合,模塊ComM 140 被配置成建立文檔集合Pi和文檔集合Pi,之間的相關(guān)性。換言之,模 塊ComM 140被配置成建立一個(gè)文檔集合和若干文檔集合之間的相關(guān)性,并且定向這些相關(guān)性。
模塊ComM 140包括用于比較文檔集合的函數(shù)complN()。函數(shù) complN()被配置成比較第一個(gè)文檔集合Pl和文檔集合P2,P3…,PN, 其中N是自然數(shù),以便為n的每個(gè)值確定文檔集合Pl和Pn共有的 文檔元素。
參考圖15描述函數(shù)complN()。
函數(shù)complN()被配置成從數(shù)據(jù)庫(kù)PDB 130中提取包含與文檔集 合Pl相關(guān)的簽名值Nlq以及相應(yīng)的簽名數(shù)據(jù)Vlq的子集E,l (步驟 1500)。此處假設(shè)存在與文檔集合Pl相關(guān)聯(lián)的Ql個(gè)不同的簽名值 Nlq。
可選擇地,函數(shù)complN()被配置成另外提取數(shù)據(jù)庫(kù)PDB 130中 與簽名值Nlq相關(guān)聯(lián)的所有數(shù)據(jù)。例如,函數(shù)complN()可以被配置 成提取與圖11中的表1102相同類(lèi)型的表。
函數(shù)complN()被配置成從數(shù)據(jù)庫(kù)PDB 130中提取與每個(gè)文檔集 合Pn相關(guān)并且由Qn個(gè)不同簽名值Nl,組成的子集E,n(步驟1502)。 例如,函數(shù)complN()可被配置成為每個(gè)文檔集合Pn提取與圖11中 的表1104相同類(lèi)型的表。
函數(shù)complN()被配置成構(gòu)造交集E,1N,通過(guò)組合集合E,l和每 個(gè)集合E,n的交集子集構(gòu)成交集E,1N。兩個(gè)集合之間的交集意味著 同時(shí)包含在兩個(gè)集合中的簽名值集合,以及如果希望,與兩個(gè)集合中 的這些簽名值相關(guān)聯(lián)的數(shù)據(jù)(步驟1504)。換言之,函數(shù)complN()被配 置成建立組合E,l和集合E,n中的至少一個(gè)共有的簽名值的表 PintTb[]。對(duì)于每個(gè)共有的簽名值,函數(shù)complN()被配置成在表 PintTb[]中存儲(chǔ)集合E,l和發(fā)現(xiàn)的每個(gè)集合E,n中的與這個(gè)簽名值相 關(guān)聯(lián)的簽名數(shù)據(jù)。如果希望,函數(shù)complN()可以被配置成附加地存 儲(chǔ)數(shù)據(jù)庫(kù)PDB 130中與這些簽名值相關(guān)聯(lián)的某些或全部數(shù)據(jù)。
函數(shù)complN()被配置成建立相關(guān)性集合E"1N。例如,函數(shù) complN()可以被配置成構(gòu)造相關(guān)性表PDepTb[],其中每一行代表定 向在文檔集合Pl和文檔集合Pn之間的相關(guān)性(步驟1506)。函數(shù)complN()被配置成建立表PdepTb[,從而該表中的每一行
包括
-簽名值Nm,
-針對(duì)該簽名值的對(duì)源文檔集合POm的引用(即特別地,對(duì)集合 Pl或集合Pn中的一個(gè)的引用),
-針對(duì)該簽名值的對(duì)目的地文檔集合PDm的引用(即,如果POm 等于Pl,特定集合Pn,或如果POm等于特定集合Pn,集合P1); 填充表PdepTb[以便計(jì)數(shù)集合E,1N的每個(gè)簽名值Nm。從簽名數(shù)據(jù) VIm和Vnm開(kāi)始,4吏用定向函數(shù)dir()確定對(duì)源文檔集合POm和目 的地文檔集合PDm的引用。
表PdepTb[]中的每一行代表針對(duì)簽名值Nm的指示對(duì)"源"文檔 集合POm的引用和對(duì)"目的地"文檔集合PDm的引用的定向的相關(guān) 性。
可選擇地,表PdepTb[還可以為每個(gè)簽名值Nm存儲(chǔ)
-相關(guān)性屬性Fm,其可^皮才艮據(jù)簽名數(shù)據(jù)Vlm和Vnm,例如, 簽名值Nm在源文檔集合POm中首次出現(xiàn)的日期建立,
-文檔相關(guān)性屬性Gm,其可凈皮才艮據(jù)文檔屬性數(shù)據(jù)Wlq和Wnq 建立,例如,描述作為簽名值產(chǎn)生元素的起源的文檔的類(lèi)型的數(shù)據(jù), 或時(shí)間基準(zhǔn)的可靠性指數(shù),
-元素相關(guān)性屬性Hm,其可3皮才艮據(jù)元素屬性數(shù)據(jù)Zlq和Z2q 建立,例如,對(duì)簽名值產(chǎn)生元素Nm的大小的指示。
確定源文檔集合POm和目的地文檔集合PDm可以考慮各種準(zhǔn) 則。作為結(jié)果可以配置函數(shù)dir()。
特別地,函數(shù)dir()可被配置成確定產(chǎn)生簽名值Nm的文檔元素 首次出現(xiàn)在其中的文檔集合作為源文檔集POm。在該情況下,集合 POm是簽名值Nm首先出現(xiàn)在印記中的文檔集合,而集合PDm可以 是簽名值Nm僅是稍后出現(xiàn)在其中的文檔集合。
由于在每個(gè)場(chǎng)合,定向兩個(gè)文檔集合,即,集合Pl和集合Pn 之間的相關(guān)性是重要的,以前描述的函數(shù)comp()的不同變體可以被置
40換到函數(shù)complN()。
因此函數(shù)complN()被配置成建立文檔集合Pl和文檔集合Pn中 的任意一個(gè)之間的相關(guān)性集合E"1N。換言之,集合E"1N中的每個(gè) 相關(guān)性(或簽名值Nm)以源文檔集合POm和目的地文檔集合PDm描 述集合PI的文檔元素在文檔集合Pn中的出現(xiàn)。
這個(gè)實(shí)施例可,皮看成文檔集合PI和每個(gè)文檔集合P2,..., Pn, ...PN之間的對(duì)比較模塊的第一個(gè)實(shí)施例的函數(shù)comp()的應(yīng)用。
在這個(gè)實(shí)施例中,函數(shù)complN()可以調(diào)用聚集函數(shù)以便將相關(guān) 性組合到聚集或集合E"IN的子集中。
在第一個(gè)例子中,函數(shù)complN();故配置成調(diào)用聚集函數(shù) agrDep3()。函數(shù)agrDep3()被配置成將相關(guān)性集合E"1N劃分為子集 E,,ln,從而每個(gè)子集E"ln組合文檔集合PI和所述文檔集合Pn之 間的相關(guān)性。函數(shù)agrDep3()還被配置成為每個(gè)相關(guān)性集合E"ln調(diào) 用比較模塊的第一實(shí)施例的聚集函數(shù)之一,特別地函數(shù)agrDepl()和 函數(shù)agrDep2()之一。
在第二個(gè)例子中,函數(shù)complN()被配置成調(diào)用聚集函數(shù) agrDep4()。函數(shù)agrDep4()被配置成為特定簽名值Nm從相關(guān)性集合 E"1N中刪除集合P1和集合Pn之一之間的相關(guān)性,對(duì)于所述相關(guān)性, 簽名值Nm在源集合POm中的出現(xiàn)日期不早于簽名值Nm在文檔集 合Pl, P2,…Pn,…,PN的集合中的出現(xiàn)曰期。
可選擇地,特別是當(dāng)相關(guān)性的數(shù)目太多時(shí),例如為了方便以后的 處理,函數(shù)agrDep4()可以被配置成以源文檔集合POm的函數(shù)創(chuàng)建聚 集。函數(shù)agrDep4()還可以被配置成以源文檔集合的狀態(tài)的函數(shù)創(chuàng)建 聚集。類(lèi)似于前面在比較模塊的第一實(shí)施例中提供的描述,函數(shù) agrDep4()還可以被配置成根據(jù)下面的準(zhǔn)則創(chuàng)建聚集
一目的地文檔集合的狀態(tài),
-貢獻(xiàn)者的標(biāo)識(shí)符,和/或
-時(shí)間間隔。
如前所述,可將特征數(shù)據(jù)賦于聚集。
41比較模塊的第三個(gè)實(shí)施例
在這個(gè)實(shí)施例中,才莫塊ComM 140^皮配置成對(duì)若干文檔集合Pi 彼此進(jìn)行比較。模塊ComM 140包括比較函數(shù)compNN(),函數(shù) compNN()被配置成為每個(gè)文檔集合pi連續(xù)地調(diào)用函數(shù)complN(),以 便建立相關(guān)性集合E"NN。
在一個(gè)特定開(kāi)發(fā)中,函數(shù)compNN()被配置成從集合E"NN中為 特定簽名值Nm刪除兩個(gè)集合Pn之間的相關(guān)性,對(duì)于所述相關(guān)性, 簽名值Nm在源集合POm中的出現(xiàn)日期不是簽名值Nm在文檔集合 Pl, P2, ...Pn,...,PN的集合中的所有出現(xiàn)日期中最早的。
可以用組合的方式或通過(guò)替換,可以根據(jù)前面描述的一個(gè)或其他 函數(shù)聚集相關(guān)性。特別地,可以根據(jù)目的地文檔集合PDm,聚集相關(guān) 性,即,簽名值Nm和與這些數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù),其中組合相同的目 的地文檔集合PDm。
如前所述,因此可以獲得與聚集相關(guān)聯(lián)的特征數(shù)據(jù),諸如,例如, 當(dāng)元素屬性AEijlk包括對(duì)元素大小的指示時(shí),通過(guò)總計(jì)元素屬性 AEijlk獲得的文檔元素的累積大小,或可能以與文檔元素相關(guān)聯(lián)的相 關(guān)性指數(shù)Bijlk加權(quán)的均值,出現(xiàn)在所討論的聚集中的簽名,目的地 集合中最早的首次出現(xiàn)曰期或等等。
權(quán)利管理模塊
權(quán)利管理模塊RightsM 150被配置成與模塊ComM 140和數(shù)據(jù) 庫(kù)PDB 130交互。
模塊RightsM 150包括列表函數(shù)list(),被配置成給文檔集合pi 建立簽名值Nm和與這些簽名值相關(guān)聯(lián)的數(shù)據(jù)的相關(guān)性集合,其中目 的地文檔集合PDm是文檔集合Pi。如果需要,當(dāng)聚集了相關(guān)性集合 E"12, E"1N或E"NN時(shí)(即,當(dāng)已經(jīng)創(chuàng)建了這些相關(guān)性集合的子集 時(shí)),函數(shù)list()被配置成制訂這些聚集的列表,其中相關(guān)聯(lián)的屬性是 目的地文檔集合PDm,并且這個(gè)屬性等于Pi。
在特定實(shí)施例中,函數(shù)Iist()被配置成給出現(xiàn)在相關(guān)性集合E"NN 中的每個(gè)簽名值Nim建立-對(duì)源文檔集合POm(此后稱(chēng)為Pi,)的引用的集合, -與每個(gè)源文檔集合Pi,相關(guān)聯(lián)的元素屬性AEi,,jqp,lqp,kqp的
集合,
-與每個(gè)源文檔集合Pi,相關(guān)聯(lián)的文檔屬性AOi,,jqp,lqp的集合, 例:i口,所有貢獻(xiàn)者才示識(shí)符Ai,,jqp,
-與每個(gè)源文檔集合Pi,相關(guān)聯(lián)的狀態(tài)屬性ASi,,jqp的集合,和/

-文檔元素的時(shí)間基準(zhǔn)的集合,例如,日期Ti,,jqp的集合。 在特定的開(kāi)發(fā)中,函數(shù)list()被配置成附加地建立 -相關(guān)性屬性Fm,文檔相關(guān)性屬性Gm和/或元素相關(guān)性屬性
Hm的集合,和/或
-與每個(gè)相關(guān)性聚集相關(guān)聯(lián)的屬性的集合,例如,指示許可的相
關(guān)性屬性。
例如,相關(guān)性屬性Fm可以指示源文檔集合POm所屬的許可類(lèi)型。
在特定開(kāi)發(fā)中,元素屬性AEi,,jqp,lqp,kqp包括標(biāo)識(shí)許可類(lèi)型的 信息(例如,"GPL許可,,或"BSD"許可)。函數(shù)list()被配置成為源文檔 集合Pi,建立許可集合。這使得可以建立相關(guān)性和許可之間的聯(lián)系, 以便幫助確定文檔集合Pi的操作準(zhǔn)則是否與集合Pi,的兼容。
在另一個(gè)特定實(shí)施例中,函數(shù)list()被配置成同等地建立一個(gè)相 關(guān)性列表(或相關(guān)性的聚集),其中源文檔集合POm是Pi,并且每個(gè) 目的地文檔集合PDm(在該情況下Pi,)的屬性指示許可類(lèi)型。
在另一個(gè)實(shí)施例中,函數(shù)list()被配置成調(diào)用用于驗(yàn)證許可的不 兼容性的函數(shù)licver(),函數(shù)licver()被配置成對(duì)作為文檔集合屬性存 儲(chǔ)的源文檔集合POm的許可類(lèi)型和也被存儲(chǔ)為文檔集合屬性目的地 文檔集合PDm的許可類(lèi)型與許可的法律不兼容性的預(yù)先建立的列表 進(jìn)行比較。list()函數(shù)可以被配置成為集合E"NN的每個(gè)相關(guān)性調(diào)用 licver()函數(shù)。
在某些情況下,還可以由list()函數(shù)建立簽名值Nim和Ni,m以及與它們相關(guān)聯(lián)的數(shù)據(jù)。在使用被配置成保留對(duì)文檔集合所作的不同 修改的記錄的版本管理工具的情況下,所述文檔集合在該情況下為原 始文檔集合和目的地文檔集合,這使得可以幫助用戶確定關(guān)于不同文 檔集合的所有權(quán)。
在特定實(shí)施例中,list()函數(shù)被配置成給文檔集合Pi建立在目的 地文檔集合PDm是這個(gè)文檔集合Pi的相關(guān)性中找到的簽名值Nm, 以及每個(gè)相關(guān)性集合都缺少的簽名值。根據(jù)特定情況,每個(gè)簽名值與 至少一個(gè)簽名數(shù)據(jù)Viq或Viq,以及文檔數(shù)據(jù)Wiq或Wiq,相關(guān)聯(lián)。例 如,簽名數(shù)據(jù)Viq或Viq,可以包括首次出現(xiàn)的日期(與文檔集合無(wú)關(guān)), 以及文檔數(shù)據(jù)Wiq或Wiq,,從中第一次找到產(chǎn)生這個(gè)簽名值的內(nèi)容 的文檔的標(biāo)識(shí)符。
在另一方面,list()函數(shù)^皮配置成建立數(shù)據(jù)庫(kù)PDB 130中或WDB 120中與文檔集合Pi相關(guān)聯(lián)的元素屬性AEijlk,文檔AOijl,狀態(tài)ASij 的集合,或從數(shù)據(jù)庫(kù)PDB 130中或WDB 120中提取它們。
在特定實(shí)施例中,例如,每個(gè)文檔屬性AOi,jqp,lqp包括至少一 個(gè)貢獻(xiàn)者標(biāo)識(shí)符和對(duì)這個(gè)貢獻(xiàn)者的狀態(tài)的指示(例如,"雇員","個(gè)體 私人"或"研究人員")。函數(shù)list()被配置成制訂標(biāo)識(shí)符和它們的狀態(tài)的 列表。
開(kāi)發(fā)
在每個(gè)文檔被劃分為元素每個(gè)元素與一個(gè)簽名相關(guān)聯(lián)的情況下 本發(fā)明具有最大的價(jià)值。然而,這些文檔中的某些可能不被劃分為元 素,例如,劃分不是目的,或?qū)τ谒懻摰膶?duì)象沒(méi)有價(jià)值的情況。在 這些情況下,簽名可以與作為整體的文檔相關(guān)聯(lián)。
在前面的描述中,剪切算法可以適合于文檔集合的每個(gè)計(jì)算機(jī)管 理系統(tǒng)。根據(jù)每個(gè)文件和/或所希望的對(duì)象的屬性,標(biāo)準(zhǔn)化剪切算法可 能是有用的。因此,可以直接從一個(gè)系統(tǒng)向另一個(gè)系統(tǒng)進(jìn)行比較。
上面提供的描述使用日期T。在某些情況下,日期標(biāo)識(shí)符是足夠 的。此處"日期標(biāo)識(shí)符"意味著能夠形成符合時(shí)間順序的排序操作的對(duì) 象的任何參數(shù)。因此,日期標(biāo)識(shí)符可以簡(jiǎn)單地是文檔集合中的版本標(biāo)
44識(shí)符。
另外,不總是需要存儲(chǔ)所有簽名。已經(jīng)可見(jiàn)可以最小化存儲(chǔ)在可 被稱(chēng)為"灰表"的列表中的某些簽名的重要性。可以設(shè)想制訂簽名的 "黑表",可以某些情況下不存儲(chǔ)黑表。
應(yīng)用
前面提供的詳細(xì)描述基本上落在軟件開(kāi)發(fā)項(xiàng)目的范圍內(nèi)。描述的 手段提供了可以是自動(dòng)的工具,并且特別是使得可以定義軟件的法律 狀態(tài)。已知一旦個(gè)人貢獻(xiàn)者以及他們的法律狀態(tài)增加,特別是這種狀 態(tài)隨著時(shí)間而發(fā)展,這是特別困難的任務(wù)。當(dāng)軟件基于組件和/或通過(guò) 合作開(kāi)發(fā)軟件時(shí),這個(gè)任務(wù)更困難。
鑒于該任務(wù)的復(fù)雜性,標(biāo)準(zhǔn)的實(shí)踐是僅僅智力地定義近似的但不
精確的解決方案,諸如例如
-集體作品的任意限定,僅是由于不可能精確地知道每個(gè)人做出
了什么貢獻(xiàn)和相應(yīng)的4又利分配,
-相對(duì)于有影響的作者,不合理地忽視被認(rèn)為是次要的貢獻(xiàn)。
相反,以將每個(gè)文檔劃分為元素時(shí)所希望的粒度,本發(fā)明使得能 夠使用嚴(yán)格的,精確的和可靠的技術(shù)。這構(gòu)成了軟件并且特別是在"開(kāi) 放源"許可下發(fā)布的軟件的使用或操作范圍內(nèi)的法律風(fēng)險(xiǎn)評(píng)估和管理 的關(guān)鍵基本元素。
然而,本發(fā)明還適合于數(shù)字作品的生產(chǎn)鏈級(jí)別的其他應(yīng)用,和/ 或這種處理使用或調(diào)用的數(shù)字化和可追蹤性工具。合作作品和/或基于 重用組件的作品也在這個(gè)范圍內(nèi)。
更一般地,由于可以將文檔根據(jù)各種準(zhǔn)則(作者身份或作品的版 權(quán))分解為表征作者的元素,從而對(duì)由兩個(gè)類(lèi)型狀態(tài)的分解產(chǎn)生的元素 的比較表征為了產(chǎn)生當(dāng)前或最終版本而對(duì)最早狀態(tài)進(jìn)行的修改,本發(fā) 明具有特別的價(jià)值。
對(duì)于軟件(代碼),分解利用語(yǔ)言的句法和語(yǔ)法。相反,對(duì)于視頻 /動(dòng)畫(huà),分解取決于存儲(chǔ)格式;諸如SVG(代表"可縮放向量圖形")的格 式特別適合于定義高效并且就內(nèi)容而言有意義的分解。基于在分解中發(fā)現(xiàn)的元素的出現(xiàn)或不出現(xiàn)執(zhí)行文檔之間的類(lèi)似搜索。
1 .與現(xiàn)有技術(shù)相反,印記的時(shí)間使得可以以時(shí)間基準(zhǔn)的可靠性的 函數(shù)確定何時(shí)兩個(gè)軟件具有類(lèi)似之處,哪一個(gè)被完整或部分地結(jié)合到
另一個(gè)中,以及在后者的哪一個(gè)版本中。例如,因此可以確定
(1) 已被適時(shí)識(shí)別出的外部貢獻(xiàn)的法律狀態(tài),不局限于許可兼容 性問(wèn)題,
(2) 軟件的集成部分起源于產(chǎn)品鏈的哪個(gè)階段,
(3) 通過(guò)識(shí)別使用開(kāi)放源代碼的項(xiàng)目,開(kāi)放源代碼的"散布",即, 其"遠(yuǎn)揚(yáng)的名聲"。
2. 使得可以執(zhí)行外源代碼的搜索,而不用直接訪問(wèn)源碼。
3. 從對(duì)貢獻(xiàn)記錄的遞增更新(最后已知狀態(tài)之后的狀態(tài)增加)僅 擴(kuò)展時(shí)間簽名,同時(shí)可選擇地增加可能的新簽名和因此新的相關(guān)性(原 子的并且聚集的),而不刪除以前的簽名(然而應(yīng)當(dāng)注意其相關(guān)性可能 受到影響)方面來(lái)說(shuō),從產(chǎn)品工具的角度看該處理是健壯的??梢酝ㄟ^(guò) 考慮比較基礎(chǔ)中的新文檔集合修改相關(guān)性。從可追溯性問(wèn)題角度看(例 如,從質(zhì)量控制過(guò)程的角度看),這是個(gè)關(guān)鍵的屬性。
4. 例如,通過(guò)對(duì)從一個(gè)系統(tǒng)到另一個(gè)系統(tǒng)和/或從一個(gè)開(kāi)發(fā)環(huán)境 到另一個(gè)的不可見(jiàn)搬運(yùn)不敏感,用于根據(jù)文件類(lèi)型(特別是對(duì)于每種語(yǔ) 言)分解內(nèi)容的過(guò)濾器和算法的應(yīng)用使得可以確保數(shù)據(jù)的持久。還可以 定義以工作場(chǎng)合策略加以考驗(yàn)的剪切過(guò)濾器或函數(shù)(例如,對(duì)變量名稱(chēng) 的改變或?qū)Σ桓淖児δ艿膲K置換不敏感的過(guò)濾器)。
5. "內(nèi)容產(chǎn)生工具"之間的聯(lián)系,帶時(shí)間注明的印記的產(chǎn)生和對(duì)相 關(guān)性的搜索,以便定義軟件項(xiàng)目的法律狀態(tài),使得可以考慮構(gòu)成后者 的所有元素(作者和他們的狀態(tài)的列表),包括第三方元素諸如操作準(zhǔn) 則。
6. 還使得可以當(dāng)產(chǎn)生許可兼容問(wèn)題時(shí)(例如,當(dāng)早期或后續(xù)版本 受到更寬松許可的限制時(shí)),當(dāng)必須測(cè)量對(duì)污染性外源代碼的集成影 響,或識(shí)別責(zé)任(誰(shuí)結(jié)合了外源代碼以及何時(shí))時(shí),定義避免策略。7.使得還可以在"內(nèi)容,,方面描述特定貢獻(xiàn)者的活動(dòng)。例如,產(chǎn)生 的原子印記的數(shù)目使得可以定義對(duì)產(chǎn)品工具方面的活動(dòng)的新度量或 加權(quán)度量(即,更新數(shù)目或修改的文件的數(shù)目)??蛇x擇地,還可以考 慮印記的相關(guān)性(例如,為了以比產(chǎn)生的行數(shù)更恰當(dāng)和健壯的方式提議 共同所有部分)。
前面特別地涉及軟件,但是還可以應(yīng)用于其他類(lèi)型的作品,并且 更一般地,希望對(duì)其執(zhí)行與時(shí)間記錄有關(guān)的細(xì)致分析的其他類(lèi)型的計(jì) 算機(jī)文檔。
更一般地,此處提出了用于文檔的計(jì)算機(jī)管理的處理,其包括下 面步驟的組合
a/考慮具有第一時(shí)間基準(zhǔn)(TPijl)的第一個(gè)(j- l)文檔內(nèi)容(Oijl), b/根據(jù)選擇的規(guī)則將第 一個(gè)文檔內(nèi)容分解(200)為元素(Cijlk), c/ 4夸/^ b/^^才尋的'個(gè)才jf f Ci 1 k) 5內(nèi)六的^"名fNilk) 相關(guān)聯(lián)(202),
d/為第一文檔內(nèi)容,存儲(chǔ)印記(Eijl),其包括在步驟b/中獲得的 簽名中的至少一些,以及第一文檔內(nèi)容的所述第一時(shí)間基準(zhǔn)的標(biāo)識(shí) 符,
e/在每個(gè)場(chǎng)合(j = j + l)為具有其時(shí)間基準(zhǔn)的至少一個(gè)其他文檔 元素重復(fù)步驟a/到d/,
f/考慮第一簽名值(Nijlk)作為作業(yè)值(Mq),
g/對(duì)包含這個(gè)作業(yè)值的印記(Eijl)的時(shí)間基準(zhǔn)標(biāo)識(shí)符(TPijl)應(yīng)用 定時(shí)時(shí)鐘函數(shù)(dat()),并且將作業(yè)值(Niq)和作為統(tǒng)一時(shí)間基準(zhǔn)的所述 定時(shí)時(shí)鐘函數(shù)的結(jié)果值(Viq)相關(guān)聯(lián),
h/重復(fù)步驟f/到h/,每個(gè)場(chǎng)合以另一個(gè)簽名值(Nijlk)作為作業(yè) 值(Niq),
i/存儲(chǔ)每個(gè)簽名值和其統(tǒng)一時(shí)間基準(zhǔn)之間的對(duì)應(yīng)關(guān)系。 原則上,可以根據(jù)從下面選擇的至少兩個(gè)類(lèi)別標(biāo)識(shí)(或分級(jí))文 檔內(nèi)容(Oijl):給定文檔,文檔狀態(tài),文檔版本,和能夠包括若干文檔 版本的文檔集合。因此,在下面的詳細(xì)描述中,除了上下文另外指出
47之外,表述"文檔內(nèi)容,,可以涉及精確的文檔(l),文檔狀態(tài)(j),文檔版
本,或文檔集合(i)。
在前面提供的詳細(xì)描述中,出現(xiàn)了所有4個(gè)類(lèi)別。原則上,直到 文檔集合級(jí)別,保持了相同的結(jié)局這是被察覺(jué)為相同事物的發(fā)展。 相反,兩個(gè)不同的文檔至少部分地涉及不同的事物。
在有價(jià)值的實(shí)施例中,尤其是對(duì)于潛在的創(chuàng)新性貢獻(xiàn)的研究
-定時(shí)時(shí)鐘函數(shù)(dat())被配置成建立從列表上的最早的時(shí)間基 準(zhǔn)(TPi,j qp,lqp)標(biāo)識(shí)符和列表上的最近的時(shí)間基準(zhǔn)(TPi,j qp,lqp)標(biāo)識(shí) 符中選擇的至少 一 個(gè)作為簽名數(shù)據(jù)(Viq)。
挑選至少一些文檔元素例如以便修改它們的重要性可能是有用 的。為此
-步驟c/包括每個(gè)文檔元素(Cijlk)附加地與關(guān)于這個(gè)文檔元素 的元素屬性(AEijlk)相關(guān)聯(lián)的事實(shí),
-在步驟d/中,印記(Eijl)還包括至少一些元素屬性(AEijlk)的標(biāo)
識(shí)符,
-在步驟g/中,特別是如果元素屬性的標(biāo)識(shí)符證實(shí)一種情況,定 時(shí)時(shí)鐘函數(shù)(dat())被配置成為時(shí)間選擇考慮元素屬性的標(biāo)識(shí)符 (AEijlk)。
在可被彼此組合的特定實(shí)施例中
-在步驟d/中,印記(Eijl)包括元素屬性(AEijlk)大于指定值的元 素的簽名,
-在步驟c/中,元素屬性取決于關(guān)于文檔元素的內(nèi)容的統(tǒng)計(jì)數(shù)據(jù)。
同等地,挑選至少一些文檔自身可能是有用的。為此 -在步驟a/中,文檔內(nèi)容(Oijl)還具有文檔屬性(AOijl), -在步驟d/中,印記(Eijl)還包括第一文檔內(nèi)容的所述文檔屬性 的標(biāo)識(shí)符,
-步驟g/還包括將驗(yàn)證函數(shù)(Aut())應(yīng)用于包含作業(yè)值的印記 (Eijl)的文檔屬性(AOijl),并且將作業(yè)值(Niq)和作為統(tǒng)一文檔屬性數(shù)據(jù)的所述驗(yàn)證函數(shù)的結(jié)果值(Wiq)相關(guān)聯(lián),
步驟i/還包括存儲(chǔ)每個(gè)簽名值和其統(tǒng)一文檔屬性數(shù)據(jù)之間的對(duì) 應(yīng)關(guān)系。
在前面的特定實(shí)施例中
-在步驟g/中,還將驗(yàn)證函數(shù)應(yīng)用于包含該作業(yè)值的印記(Eijl) 的時(shí)間基準(zhǔn)標(biāo)識(shí)符。
根據(jù)可被組合并且更能一般應(yīng)用的其他特定實(shí)施例 -文檔內(nèi)容屬性(AOijl)包括所述文檔內(nèi)容(Oijl)的貢獻(xiàn)者的標(biāo)識(shí)符。
-設(shè)想(例如在步驟d/中),應(yīng)當(dāng)識(shí)別至少 一個(gè)已知的文檔內(nèi)容結(jié) 構(gòu)(Oijl),并且在存在其結(jié)構(gòu)已^皮識(shí)別的文檔時(shí),該文檔應(yīng)當(dāng)與表征這 種結(jié)構(gòu)的數(shù)據(jù)(702)相關(guān)聯(lián),建立印記(Eijl)涉及該數(shù)據(jù)。
-設(shè)想(例如在步驟a/中),應(yīng)當(dāng)根據(jù)第一組預(yù)定規(guī)則,基于文檔 內(nèi)容(Oijl)建立整理后的文檔內(nèi)容(O,ijl),第一組預(yù)定規(guī)則取決于表征 文檔內(nèi)容(Oijl)的結(jié)構(gòu)的所述數(shù)據(jù),而基于文檔內(nèi)容(O,ijl)執(zhí)行一系列 操作b/到d/。
-設(shè)想(例如在步驟b/中),應(yīng)當(dāng)根據(jù)第二組預(yù)定規(guī)則根據(jù)文檔內(nèi) 容(Oijl)建立整理后的文檔元素(C,ijlk),第二組預(yù)定規(guī)則特別取決于 表征文檔(Oijl)的結(jié)構(gòu)的數(shù)據(jù),而基于這樣獲得的文檔元素(C,ijlk)執(zhí) 行一系列操作b/到d/。
以這種方式可以獲得相應(yīng)于若干文檔內(nèi)容的若干印記。
為了將它們收集在一起,可以如下完成處理
-對(duì)于給定的簽名值(Mq),為包含這個(gè)簽名值(Niq)的印記 (Ei,jqp,lqp)確定時(shí)間基準(zhǔn)標(biāo)識(shí)符(TPi,jqp,lqp)的列表,和
-在該列表上搜索最早時(shí)間基準(zhǔn)的標(biāo)識(shí)符(TPi,jqp,lqp)(或應(yīng)用 另一個(gè)時(shí)間準(zhǔn)則,諸如搜索列表上最近的時(shí)間基準(zhǔn)(TPi,jqp,lqp)),為 每個(gè)簽名值(Niq)建立統(tǒng)一時(shí)間基準(zhǔn)(Viq)。
因此對(duì)于給定的簽名,可以給其初始時(shí)間基準(zhǔn)補(bǔ)充(或取代)統(tǒng)一 時(shí)間基準(zhǔn)(Viq)。
49對(duì)于其部分,給每個(gè)文檔內(nèi)容提供一個(gè)時(shí)間基準(zhǔn)標(biāo)識(shí)符(TPijl) 列表,可以將其與包含文檔內(nèi)容(Oijl)的所有時(shí)間基準(zhǔn)(TPijl)的全局列 表相比較。對(duì)于一個(gè)文檔內(nèi)容,從中取一個(gè)或多個(gè)時(shí)間段。這種時(shí)間 段包括關(guān)于該組時(shí)間基準(zhǔn)(TPijl)的連續(xù)的時(shí)間基準(zhǔn)。它代表具有給定 簽名的文檔元素連續(xù)出現(xiàn)在文檔內(nèi)容中的時(shí)間段。
可以用不同方式定義時(shí)間基準(zhǔn),可能通過(guò)輸入定義。
優(yōu)選地,使用用于管理文檔內(nèi)容版本和用于在存儲(chǔ)器中存儲(chǔ)來(lái)自 這種版本管理工具的用于文檔內(nèi)容的時(shí)間基準(zhǔn)(TPijl)的工具。
類(lèi)似地,可以用不同方式定義貢獻(xiàn)者標(biāo)識(shí)符,可以通過(guò)輸入定義。 優(yōu)選地,再一次使用版本管理工具,并且在存儲(chǔ)器中存儲(chǔ)來(lái)自這種版 本管理工具的每個(gè)文檔內(nèi)容(Oijl)的至少一個(gè)貢獻(xiàn)者標(biāo)識(shí)符。
當(dāng)然,版本管理工具還可以指示具有在其開(kāi)發(fā)或壽命的不同階段 被整體視為單一文檔的不同內(nèi)容的不同版本。甚至可以指示次版本或 "狀態(tài)"。從多個(gè)文檔內(nèi)容(Oijl)開(kāi)始,版本管理工具可以建立彼此不同 的文檔內(nèi)容(Oijl)的子集。在這個(gè)情況下,基于文檔內(nèi)容(Oijl)的所述 子集,僅應(yīng)用一次操作a/到c/就足夠了。在操作d/之前計(jì)算所有有用 的簽名。
可見(jiàn),處理設(shè)想存儲(chǔ)每個(gè)簽名和其時(shí)間基準(zhǔn)之間的對(duì)應(yīng)關(guān)系。存 儲(chǔ)到作為簽名和時(shí)間基準(zhǔn)的起源的文檔內(nèi)容(Oijl)集合的鏈接例如標(biāo) 識(shí)符可能也是有用的。因此,對(duì)于給定的時(shí)間簽名,存在包含這個(gè)簽 名的文檔內(nèi)容的一個(gè)集合。
將文檔內(nèi)容收集在一起可以揭示共有部分。原則上,它們具有可 以通過(guò)檢查相關(guān)性搜索的相同來(lái)源。為了這樣做
- a比較分別具有第一標(biāo)識(shí)符(1)和第二標(biāo)識(shí)符(2)的印記的第一 集合(E,1)和印記的第二集合(E,2)。
印記的第一集合(E,l)包括相應(yīng)于第一標(biāo)識(shí)符(l)的簽名值(Niq)和 其統(tǒng)一時(shí)間基準(zhǔn)(Viq)。另外,印記的第二集合(E,2)包括相應(yīng)于第二 標(biāo)識(shí)符(2)的簽名值(N2q,)和其統(tǒng)一時(shí)間基準(zhǔn)0^q,)。
-P成功比較的集合提供了相關(guān)性的子集(E"12)。對(duì)于它們共有
50的每個(gè)簽名值(Nlq; N2q,),這個(gè)子集包含所述印記的第一和第二集 合的相應(yīng)的統(tǒng)一時(shí)間基準(zhǔn)(Vlq; V2q,)。
-Y定義(或預(yù)定)每個(gè)相關(guān)性的方向或定向。最常見(jiàn)的方法是將 起源或"源"放置在最早的時(shí)間,并且將目的地或"目標(biāo)"放置在稍后的 時(shí)間。 一般地,這暗示著一組基于統(tǒng)一時(shí)間基準(zhǔn)(Vlq; V2q,)應(yīng)用的 預(yù)定規(guī)則??紤]其印記具有共有簽名值(Nlq)的第一標(biāo)識(shí)符(l)和第二 標(biāo)識(shí)符(2),定向的這個(gè)操作使得可以將第一和第二標(biāo)識(shí)符(l; 2)之一 限定為原始或"源"標(biāo)識(shí)符(POm),并且將另一個(gè)標(biāo)識(shí)符(2; l)限定為 目的地或"目標(biāo)"標(biāo)識(shí)符(PDm)。
文檔內(nèi)容可被根據(jù)上下文和為分解選擇的粒度分解為幾個(gè)元素 或大量元素。采用細(xì)粒度,即,大量(文檔)元素,相關(guān)性子集(E"12)(定 向的或未定向的)也包括大量元素。因此搜索相同狀態(tài)的元素是有用 的,這稱(chēng)為"聚集"。可以基于對(duì)下面的劃分準(zhǔn)則中的至少一個(gè)的迭代 應(yīng)用,根據(jù)相關(guān)性的定向劃分子集(E,12),然后分別創(chuàng)建相關(guān)性聚集 (Del2u; De21u):
-取尚未分組的最早(1304)的共有簽名(Nm),并且將其與比這個(gè) 最早(1306)共有簽名(Nm)早的"源"側(cè)的時(shí)間基準(zhǔn)所產(chǎn)生的其它共有簽 名(Nm)分組在一起,
-從給定的組中取出其"目標(biāo),,時(shí)間基準(zhǔn)在尚未分組的共有簽名 中的最早簽名之后的共有簽名(1310),
-執(zhí)行迭代直到證實(shí)了給定的循環(huán)結(jié)束準(zhǔn)則。
還可以對(duì)N個(gè)印記集合(N個(gè)文檔內(nèi)容)執(zhí)行多文檔比較。在該情
況下
-對(duì)N個(gè)文檔(或?qū)λ鼈冎械囊恍?執(zhí)行所有可能的l對(duì)1比較。 存在總共N(N-l)個(gè)可能的比較。這提供了多個(gè)相關(guān)性子集,當(dāng)結(jié)合 在一起時(shí)它們產(chǎn)生一個(gè)相關(guān)性集合。
-如前所述給相關(guān)性定向。
-對(duì)于這些相關(guān)性子集中的(或該相關(guān)性集合中的)每個(gè)簽名,去 除對(duì)于所討論的簽名,其"目標(biāo)"時(shí)間基準(zhǔn)在N個(gè)印記集合中所討論的簽名的最早狀態(tài)之后的相關(guān)性。
可以在較高層次執(zhí)行這個(gè)比較,例如如前所述在N個(gè)文檔集合 之間執(zhí)行。
在諸如權(quán)利管理的應(yīng)用中,該處理可以包括下面的步驟 -建立根據(jù)印記和任意相關(guān)性驗(yàn)證了的貢獻(xiàn)者的帶日期的列表。 本發(fā)明還包括可以執(zhí)行的程序,或產(chǎn)生的程序,所述程序能夠驅(qū) 動(dòng)描述的計(jì)算機(jī)設(shè)備和/或能夠?qū)崿F(xiàn)相應(yīng)的處理??梢栽谌我庥?jì)算機(jī)可 讀"介質(zhì),,(載體)中獲得這種類(lèi)型的可執(zhí)行程序。術(shù)語(yǔ)"計(jì)算機(jī)可讀介 質(zhì),,包括用于存儲(chǔ)數(shù)據(jù)的磁的、光學(xué)的和/或電子的載體,以及用于傳 輸?shù)妮d體或媒介物,諸如模擬或數(shù)字信號(hào)。
本發(fā)明不限于上述的實(shí)施例,而包括本領(lǐng)域技術(shù)人員可以設(shè)想的 所有變型。
權(quán)利要求
1.一種用于管理文檔的基于計(jì)算機(jī)的設(shè)備,包括用于存儲(chǔ)具有時(shí)間基準(zhǔn)的文檔內(nèi)容的存儲(chǔ)器,其特征在于該設(shè)備包括-提取器(200),能夠根據(jù)給定規(guī)則將文檔內(nèi)容分解為元素,-簽名產(chǎn)生器(202),能夠處理文檔元素以便返回其內(nèi)容的簽名,-印記產(chǎn)生器(signO()),能夠?yàn)槲臋n內(nèi)容建立印記,該印記包括該文檔內(nèi)容的時(shí)間基準(zhǔn)、以及通過(guò)調(diào)用所述提取器(200)以便將這個(gè)文檔內(nèi)容轉(zhuǎn)換為元素然后為這樣獲得的元素調(diào)用所述簽名產(chǎn)生器(202)而獲得的簽名中的至少一些簽名,-定時(shí)時(shí)鐘模塊(dat()),能夠根據(jù)時(shí)間基準(zhǔn)標(biāo)識(shí)符的列表計(jì)算預(yù)定的時(shí)間選擇函數(shù)的結(jié)果,和-管理器(110),被配置成對(duì)至少兩個(gè)文檔內(nèi)容操作所述印記產(chǎn)生器(signO()),從而產(chǎn)生一同具有多個(gè)簽名的兩個(gè)印記,針對(duì)每個(gè)簽名值,每次對(duì)于包含相同簽名值的印記的時(shí)間基準(zhǔn)標(biāo)識(shí)符中的至少一些的列表,反復(fù)地調(diào)用所述定時(shí)時(shí)鐘模塊(dat()),從而為每個(gè)簽名值提供統(tǒng)一時(shí)間基準(zhǔn),存儲(chǔ)每個(gè)簽名值和其統(tǒng)一時(shí)間基準(zhǔn)之間的對(duì)應(yīng)關(guān)系。
2. 根據(jù)權(quán)利要求1的設(shè)備,其特征在于由所述定時(shí)時(shí)鐘模塊計(jì) 算的所述預(yù)定的時(shí)間選擇函數(shù)被配置成確定從所述列表上的最早的 時(shí)間基準(zhǔn)標(biāo)識(shí)符和所述列表上的最近的時(shí)間基準(zhǔn)標(biāo)識(shí)符中選擇的至 少一個(gè)作為結(jié)果值。
3. 根據(jù)權(quán)利要求1和2之一的設(shè)備,其特征在于-該設(shè)備還包括內(nèi)容限定器(eval()),其能夠處理文檔元素以便返 回關(guān)于這個(gè)文檔元素的元素屬性。
4. 根據(jù)權(quán)利要求3的設(shè)備,其特征在于-所述印記產(chǎn)生器(signO())通過(guò)為從所述提取器(200)獲得的元 素調(diào)用所述內(nèi)容限定器(eval()),能夠?yàn)槲臋n內(nèi)容建立還包括這個(gè)文檔內(nèi)容的至少一些元素屬性的標(biāo)識(shí)符的印記,一所述預(yù)定的時(shí)間選擇函數(shù)被配置成為了時(shí)間選擇而考慮所述 元素屬性標(biāo)識(shí)符,-所述管理器(110)被配置成每次對(duì)于包含相同簽名值和相關(guān)聯(lián)的元素屬性標(biāo)識(shí)符的印記的時(shí)間基準(zhǔn)標(biāo)識(shí)符的列表,反復(fù)地調(diào)用所述定時(shí)時(shí)鐘模塊(dat())。
5. 根據(jù)權(quán)利要求3和4之一的設(shè)備,其特征在于-所述印記產(chǎn)生器被配置成為文檔內(nèi)容建立包括這個(gè)文檔內(nèi)容 的時(shí)間基準(zhǔn)和其元素屬性證實(shí)了指定條件的文檔元素的簽名的印記。
6. 根據(jù)權(quán)利要求3到5之一的設(shè)備,其特征在于所述內(nèi)容限定 器(eval())能夠處理文檔元素,以便返回關(guān)于這個(gè)文檔元素的內(nèi)容的統(tǒng) 計(jì)類(lèi)型的預(yù)定函數(shù)的結(jié)果值作為元素屬性。
7. 根據(jù)前面各項(xiàng)權(quán)利要求之一的設(shè)備,其中,至少一些所述文 檔中的每一個(gè)還具有至少一個(gè)文檔內(nèi)容屬性,其特征在于所述印記產(chǎn)生器(signO())能夠?yàn)槲臋n內(nèi)容建立還包含這個(gè)文檔 內(nèi)容的屬性的標(biāo)識(shí)符的印記。
8. 根據(jù)權(quán)利要求7的設(shè)備,其特征在于該設(shè)備還包括-驗(yàn)證模塊(aut()),能夠作為時(shí)間基準(zhǔn)標(biāo)識(shí)符的列表的函數(shù)而根 據(jù)文檔內(nèi)容的屬性的標(biāo)識(shí)符的列表來(lái)計(jì)算預(yù)定的文檔屬性選擇函數(shù) 的結(jié)果值。
9. 根據(jù)權(quán)利要求8的設(shè)備,其特征在于 -所述管理器(110)被配置成每次對(duì)于包含相同簽名值的印記的文檔內(nèi)容的屬性的標(biāo)識(shí)符的 列表,反復(fù)地調(diào)用所述驗(yàn)證模塊(aut()),從而為每個(gè)簽名值提供統(tǒng)一 文檔內(nèi)容屬性數(shù)據(jù),和存儲(chǔ)每個(gè)簽名值和其統(tǒng)一文檔內(nèi)容屬性數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系。
10. 根據(jù)權(quán)利要求7到9之一的設(shè)備,其特征在于所述文檔內(nèi)容 屬性包括所述文檔內(nèi)容的貢獻(xiàn)者的標(biāo)識(shí)符。
11. 根據(jù)前面各項(xiàng)權(quán)利要求之一的設(shè)備,其特征在于該設(shè)備還包括限定器模塊(type()),能夠識(shí)別文檔內(nèi)容的至少 一種已知結(jié)構(gòu),并且當(dāng)存在其結(jié)構(gòu)已經(jīng)被識(shí)別出的文檔時(shí),能夠?qū)⑦@ 個(gè)文檔與表征這個(gè)結(jié)構(gòu)的數(shù)據(jù)(702)相關(guān)聯(lián),以及,所述印記產(chǎn)生器(signO())被配置成調(diào)用所述限定器模塊 (ty pe())以建立所述印記。
12. 根據(jù)權(quán)利要求ll的設(shè)備,其特征在于 該設(shè)備還包括第一過(guò)濾模塊(filterA()),被配置成根據(jù)文檔內(nèi)容建立已經(jīng)根據(jù)第一組預(yù)定規(guī)則整理的文檔內(nèi)容,所述第一組預(yù)定規(guī) 則取決于所述表征文檔內(nèi)容的結(jié)構(gòu)的數(shù)據(jù),以及,所述印記產(chǎn)生器(signO())被配置成為文檔調(diào)用第一過(guò)濾模 塊(filterA())以便獲得整理后的文檔內(nèi)容,以及通過(guò)調(diào)用所述提取器 (200)將這個(gè)整理后的文檔內(nèi)容轉(zhuǎn)換為元素然后為這樣獲得的元素調(diào) 用所述簽名產(chǎn)生器(202),建立印記。
13. 根據(jù)權(quán)利要求11和12之一的設(shè)備,其特征在于 該設(shè)備還包括第二過(guò)濾模塊(filterB()),被配置成根據(jù)文檔元素建立已經(jīng)根據(jù)第二組預(yù)定規(guī)則整理的文檔元素,所述第二組預(yù)定規(guī) 則取決于所述表征文檔結(jié)構(gòu)的數(shù)據(jù),以及,所述印記產(chǎn)生器(signO())被配置成為文檔調(diào)用第二過(guò)濾模 塊(filterB())以便從通過(guò)調(diào)用所述提取器(200)而獲得的文檔元素獲得 整理后的文檔元素,然后為這樣獲得的這些整理后的文檔元素調(diào)用所 述簽名產(chǎn)生器(202)。
14. 根據(jù)前面各項(xiàng)權(quán)利要求之一的設(shè)備,其特征在于所述管理器 (110)被配置成每次對(duì)于包含相同簽名值的印記的所有時(shí)間基準(zhǔn)標(biāo)識(shí) 符的列表,反復(fù)地調(diào)用所述定時(shí)時(shí)鐘模塊(dat()),以便為每個(gè)簽名值 提供統(tǒng)一時(shí)間基準(zhǔn)。
15. 根據(jù)權(quán)利要求1到14之一的設(shè)備,其特征在于所述管理器 (110)被配置成針對(duì)每個(gè)簽名值,每次對(duì)于包含這個(gè)簽名值和這個(gè)簽 名值的所述統(tǒng)一時(shí)間基準(zhǔn)的印記的時(shí)間基準(zhǔn)標(biāo)識(shí)符,反復(fù)地調(diào)用所述 定時(shí)時(shí)鐘模塊(dat()),以便為每個(gè)簽名值提供新的統(tǒng)一時(shí)間基準(zhǔn)。
16. 根據(jù)前面各項(xiàng)權(quán)利要求之一的設(shè)備,其特征在于所述定時(shí)時(shí) 鐘模塊(dat())被配置成比較時(shí)間基準(zhǔn)標(biāo)識(shí)符的所述列表與所述文檔內(nèi) 容的時(shí)間基準(zhǔn)集合,并且根據(jù)該比較來(lái)推導(dǎo)出所述列表中的時(shí)間段的 標(biāo)識(shí)符作為結(jié)果值,每個(gè)時(shí)間段由關(guān)于所述時(shí)間基準(zhǔn)集合的連續(xù)時(shí)間 基準(zhǔn)構(gòu)成。
17. 根據(jù)前面各項(xiàng)權(quán)利要求之一的設(shè)備,其特征在于所述設(shè)備被 配置成與用于管理文檔內(nèi)容的版本的工具交互,所述存儲(chǔ)器從所述版 本管理工具接收所述文檔內(nèi)容的時(shí)間基準(zhǔn)。
18. 根據(jù)權(quán)利要求17的設(shè)備,其特征在于所述用于管理文檔內(nèi) 容的版本的工具還能夠?qū)⒇暙I(xiàn)者標(biāo)識(shí)符與每個(gè)文檔內(nèi)容相關(guān)聯(lián),所述 存儲(chǔ)器還接收這種貢獻(xiàn)者標(biāo)識(shí)符。
19. 根據(jù)權(quán)利要求17和18之一的設(shè)備,其特征在于所迷管理器 (110)凈皮配置成:與所述用于管理文檔內(nèi)容的版本的工具交互,以便根據(jù)多個(gè)文檔 內(nèi)容建立彼此不同的文檔內(nèi)容的子集,對(duì)所述子集中的每個(gè)文檔內(nèi)容操作所述印記產(chǎn)生器(signO()),以 便獲得一 同具有多個(gè)簽名的印記,針對(duì)為所述子集獲得的每個(gè)簽名值,對(duì)于一個(gè)列表而反復(fù)地調(diào)用 所述定時(shí)時(shí)鐘模塊(dat()),該列表同時(shí)包括從所述子集獲得的印記的 時(shí)間標(biāo)識(shí)符和與所述子集中作為所述簽名值的起源的文檔內(nèi)容相同 的每個(gè)文檔內(nèi)容的時(shí)間標(biāo)識(shí)符。
20. 根據(jù)前面各項(xiàng)權(quán)利要求之一的設(shè)備,其特征在于所述管理器 (110)還被配置成除了每個(gè)簽名值和其時(shí)間基準(zhǔn)之間的對(duì)應(yīng)關(guān)系之外,還存儲(chǔ)作為 所述簽名值和所述時(shí)間基準(zhǔn)的起源的文檔內(nèi)容集合的標(biāo)識(shí)符。
21. 根據(jù)權(quán)利要求20的設(shè)備,其特征在于該設(shè)備還包括一印記比較器(comp()),能夠比較分別具有第一標(biāo)識(shí)符和第二標(biāo) 識(shí)符的第一印記集合和第二印記集合,第一印記集合包括相應(yīng)于第一 標(biāo)識(shí)符的簽名值及其統(tǒng)一時(shí)間基準(zhǔn),第二印記集合包括相應(yīng)于第二標(biāo)識(shí)符的簽名值及其統(tǒng)一 時(shí)間基準(zhǔn),成功比較的集合提供了相關(guān)性的子 集,對(duì)于它們共有的每個(gè)簽名值,這個(gè)子集具有所述第一和第二印記 集合的相應(yīng)的統(tǒng)一 時(shí)間基準(zhǔn),-定向模塊(dir()),能夠根據(jù)一組預(yù)定規(guī)則,基于所述統(tǒng)一時(shí)間 基準(zhǔn),為共有簽名值限定第一和第二標(biāo)識(shí)符之一作為初始或"源"標(biāo)識(shí) 符,而限定另一個(gè)標(biāo)識(shí)符作為目的地或"目標(biāo)"標(biāo)識(shí)符,其中,所述印記比較器(comp())能夠?yàn)榫哂邢鄳?yīng)的統(tǒng)一時(shí)間基準(zhǔn) 的所述相關(guān)性的子集中的每個(gè)簽名值調(diào)用所述定向模塊(dir()),以便提出所述源和目標(biāo)之間的區(qū)別。
22. 根據(jù)權(quán)利要求21的設(shè)備,其特征在于所述定向模塊(dir()) 被配置成建立相應(yīng)于最早的統(tǒng)一時(shí)間基準(zhǔn)的標(biāo)識(shí)符作為源文檔內(nèi)容 的集合的標(biāo)識(shí)符。
23. 根據(jù)權(quán)利要求22的設(shè)備,其特征在于,該設(shè)備還包括用于 在所述第一和第二印記集合之間劃分所述相關(guān)性的子集的模塊 (agrDepl()),這個(gè)劃分模塊(agrDepl())被配置成基于下列劃分準(zhǔn)則中 的至少一個(gè)的迭代應(yīng)用,根據(jù)簽名的起源的標(biāo)識(shí)符劃分所述子集,然 后分別創(chuàng)建相關(guān)性的聚集-取尚未被分組的最早的共有簽名(1304),并且將它與從"源"側(cè) 的比這個(gè)最早的共有簽名(Nm)早的時(shí)間基準(zhǔn)產(chǎn)生的其它共有簽名分 組在一起(1306),-從給定的組中去除其"目標(biāo)"時(shí)間基準(zhǔn)比尚未被分組的共有簽 名中最早的簽名晚的共有簽名(1310),-繼續(xù)迭代,直到證實(shí)了給定的循環(huán)結(jié)束準(zhǔn)則。
24. 根據(jù)權(quán)利要求21到23之一的設(shè)備,其特征在于該設(shè)備還包括-多文檔比較器,能夠接收N個(gè)印記集合,然后逐個(gè)印記集合 地對(duì)于至少一些簽名執(zhí)行定向比較,通過(guò)比較至少一個(gè)印記集合與其 它印記集合,提供多個(gè)相關(guān)性子集,然后對(duì)于這些相關(guān)性子集中的每 個(gè)簽名,去除對(duì)于該簽名其"目標(biāo)"時(shí)間基準(zhǔn)比所述N個(gè)印記集合中對(duì)于該簽名的最早日期晚的相關(guān)性。
25. 根據(jù)權(quán)利要求21到24之一的設(shè)備,其特征在于,該設(shè)備包 括全局文檔管理模塊(150),其能夠制訂基于所述印記和任意相關(guān)性而證實(shí)的貢獻(xiàn)者的注明日期的列表。
26. 根據(jù)前面各項(xiàng)權(quán)利要求之一的設(shè)備,其特征在于,所述文檔 內(nèi)容能夠根據(jù)選自下列各項(xiàng)的至少兩個(gè)類(lèi)別而被標(biāo)識(shí)給定的文檔, 文檔狀態(tài),文檔版本,以及可能包含若干文檔版本的文檔集合。
全文摘要
本發(fā)明涉及用于管理文檔特別是合作開(kāi)發(fā)的軟件項(xiàng)目的計(jì)算機(jī)設(shè)備。存儲(chǔ)器存儲(chǔ)具有時(shí)間基準(zhǔn)的文檔內(nèi)容。提取器將文檔內(nèi)容分解為文檔元素。簽名產(chǎn)生器返回元素內(nèi)容的簽名。印記產(chǎn)生器為每個(gè)文檔關(guān)聯(lián)其時(shí)間基準(zhǔn)和其元素的簽名。定時(shí)時(shí)鐘模塊計(jì)算時(shí)間選擇函數(shù)的結(jié)果。管理器對(duì)文檔內(nèi)容操作印記產(chǎn)生器。對(duì)于每個(gè)簽名值,管理器對(duì)于包含該簽名值的印記時(shí)間基準(zhǔn)的列表調(diào)用定時(shí)時(shí)鐘模塊。為每個(gè)簽名值獲得統(tǒng)一時(shí)間基準(zhǔn)。存儲(chǔ)每個(gè)簽名值和其統(tǒng)一時(shí)間基準(zhǔn)。
文檔編號(hào)G06F21/64GK101568928SQ200780045778
公開(kāi)日2009年10月28日 申請(qǐng)日期2007年10月25日 優(yōu)先權(quán)日2006年10月27日
發(fā)明者G·盧素, M·比埃斯 申請(qǐng)人:國(guó)家信息及自動(dòng)化研究院
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
娄底市| 赤水市| 克什克腾旗| 西城区| 桑日县| 嵩明县| 绥棱县| 商城县| 平山县| 旌德县| 金川县| 响水县| 绍兴县| 海盐县| 嵊泗县| 叶城县| 昌都县| 凤庆县| 安福县| 西乌珠穆沁旗| 万年县| 巴林左旗| 吉林市| 安岳县| 广平县| 汉川市| 象州县| 通州区| 区。| 哈巴河县| 山东| 富源县| 诸城市| 远安县| 东丽区| 临汾市| 德阳市| 全南县| 兰州市| 梅河口市| 紫阳县|