專利名稱:全局資產(chǎn)管理的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于在裝置、服務(wù)器和系統(tǒng)之中管理數(shù)據(jù)的體系結(jié)構(gòu)、 服務(wù)和方法。本發(fā)明尤其涉及提供用戶的包括源自任何系統(tǒng)節(jié)點(diǎn)或裝置 的元數(shù)據(jù)的數(shù)字資產(chǎn)的邏輯統(tǒng)一且聚集的視圖(aggregatedview)。
背景技術(shù):
數(shù)字資產(chǎn)包括被創(chuàng)建和下載到個(gè)人計(jì)算機(jī)(PC )存儲器用于個(gè)人娛 樂的圖像、視頻和音樂文件。典型地,這些數(shù)字資產(chǎn)當(dāng)需要看、聽或播 放時(shí)被訪問(access)。包括個(gè)人數(shù)字助理(PDA)、數(shù)字相機(jī)、個(gè)人 計(jì)算機(jī)(PC)、媒體服務(wù)器、終端和網(wǎng)站在內(nèi)的各種裝置和因特網(wǎng)服務(wù) 提供和利用這些資產(chǎn)。存儲在這些裝置或服務(wù)提供商上的資產(chǎn)的集合通 常是松散耦合的,并且當(dāng)前的同步過程一般在兩個(gè)裝置之間發(fā)生,例如 媒體播放器和PC。采用松散耦合裝置和服務(wù)的此環(huán)境的問題是任何裝 置或服務(wù)對數(shù)字資產(chǎn)的可訪問性,需要維持多個(gè)登錄、資產(chǎn)同步、無序 和數(shù)據(jù)丟失。見于各種分布式數(shù)據(jù)庫系統(tǒng)和專用的同步程序中的現(xiàn)有技 術(shù)已經(jīng)不同程度上成功地試圖解決了這些問題。
發(fā)明內(nèi)容
本發(fā)明的目的是通過提供聚集的視圖(跨一個(gè)或多個(gè)節(jié)點(diǎn))以及對 所擁有和共享的所有媒體資產(chǎn)的訪問來解決上述提及的問題中的若干 問題。用戶擁有或共享的所有數(shù)字/媒體資產(chǎn)被稱為用戶的虛擬集合。本 發(fā)明描述了使用清單來支持虛擬集合的方法。清單是包括關(guān)于用戶的虛 擬集合內(nèi)的所有媒體資產(chǎn)的數(shù)據(jù)的文件/數(shù)據(jù)庫。支持虛擬集合的系統(tǒng)體 系結(jié)構(gòu)被定義為包括若干用于創(chuàng)建和維持虛擬集合的方法。
本發(fā)明的另一方面是數(shù)據(jù)結(jié)構(gòu)、資產(chǎn)id和支持虛擬集合的組織。根 據(jù)用戶媒體生態(tài)系統(tǒng)(ecosystem)中的數(shù)字資產(chǎn)和裝置增長的數(shù)目,為
4了良好的性能而設(shè)計(jì)了這些機(jī)制。版本矢量是用于復(fù)制數(shù)據(jù)庫的公知技
術(shù),其已經(jīng)以唯一的方式#:應(yīng)用于對虛擬集合進(jìn)行管理。
本發(fā)明的另 一方面包括用于將裝置/集合增加到用戶的虛擬集合以 及將裝置/集合從用戶的虛擬集合去除的簡單且有效的方法。此外,該體 系結(jié)構(gòu)和系統(tǒng)提供了用于恢復(fù)丟失數(shù)據(jù)和用于跨裝置自動冗余的改進(jìn) 方法以改善可靠性和可用性。本系統(tǒng)使得能夠?qū)缍鄠€(gè)裝置存儲的媒體
資產(chǎn)進(jìn)行自動存檔并跟蹤C(jī)D/DVD名稱和內(nèi)容,以及提供自動增量更新。
圖1 -用戶的媒體生態(tài)系統(tǒng)。 圖2 -系統(tǒng)體系結(jié)構(gòu)。
圖3-用于虛擬集合的協(xié)調(diào)(reconciliation)的組件。 圖4-用于資產(chǎn)庫管理的組件。 圖5 -XML清單。
具體實(shí)施例方式
已經(jīng)特別參考本發(fā)明的特定實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)描述,但應(yīng) 當(dāng)理解的是,在本發(fā)明的精神和范圍內(nèi)可以實(shí)現(xiàn)變化和修改。
定義
資產(chǎn)-包括圖片/靜態(tài)圖像、電影/視頻、音頻或多媒體表現(xiàn)的數(shù)字 文件。對于每種類型的資產(chǎn)來說存在許多標(biāo)準(zhǔn)格式。
所有者-每個(gè)資產(chǎn)都有所有者。所有者負(fù)責(zé)組織和管理他們的資 產(chǎn)。所有者可允許他人查看或者甚至修改他們所擁有的對象,但他們獨(dú) 自負(fù)責(zé)對所擁有的資產(chǎn)的訪問進(jìn)行控制并且另外對所擁有的資產(chǎn)進(jìn)行 管理。
集合-人們可看見的圖像和其它資產(chǎn)的整個(gè)集。
個(gè)人集合-人們所擁有并管理的資產(chǎn)集被稱為他們的個(gè)人集合。這 些資產(chǎn)中的一些可以與其它個(gè)體共享,在這種情況下它們成為那些個(gè)體 的擴(kuò)展集合的一部分。它們?nèi)员徽J(rèn)為是所有者的個(gè)人集合的一部分。
5共享的資產(chǎn)集的總資產(chǎn)集被稱為他們的擴(kuò)展集合。
管理集合_集合的所有者具有組織或另外重新布置所包含資產(chǎn)的 邏輯視圖以適合其自己的個(gè)人口味的能力。出于共享目的管理者具有向 其它人授予不同的訪問等級的職責(zé)。
GAM -全局資產(chǎn)管理(global asset management)。 再現(xiàn)(Rendition)-對預(yù)期呈現(xiàn)相同幻影(illusion)的用戶透明地 生成并維持的圖像的內(nèi)部表示(例如,系統(tǒng)將抽取圖像的十分之一來在 較低分辨率的裝置上呈現(xiàn)相似視圖)。這是為了系統(tǒng)的便利。
綜述
隨著數(shù)字?jǐn)z影的到來和普及,用戶以越來越多的方法來拍攝和使用 越來越多的數(shù)字圖片和視頻。眾多裝置、系統(tǒng)、網(wǎng)絡(luò)和服務(wù)已被創(chuàng)建, 并已建立了所謂的用戶的媒體生態(tài)系統(tǒng)。圖1圖示了用戶的媒體生態(tài)系 統(tǒng)10的各組件,該用戶媒體生態(tài)系統(tǒng)10包括三個(gè)主要集線器或節(jié)點(diǎn) 用戶的家庭媒體環(huán)境20、在線相片服務(wù)30和移動裝置40。用戶的家庭 媒體環(huán)境20包括通常見于家庭中的媒體裝置和網(wǎng)絡(luò),包括電視21、家 庭辦公PC24、膝上型計(jì)算機(jī)22、打印機(jī)23和々某體盒(mediabox) 25。 媒體盒23—般連接至電視21并且提供用于觀看的有線TV頻道。媒體 盒23還可以是家庭網(wǎng)絡(luò)的一部分,該媒體盒23使得存儲在家庭PC 24 或膝上型計(jì)算機(jī)22上的媒體資產(chǎn)能夠在家庭電視21上觀看。用戶的媒 體生態(tài)系統(tǒng)10的另一主要節(jié)點(diǎn)包括經(jīng)由因特網(wǎng)訪問的在線相片服務(wù) 30。家庭媒體環(huán)境20 —般能夠經(jīng)由寬帶或撥號連接連接到因特網(wǎng)。用 戶可訪問經(jīng)由PC選擇的在線相片服務(wù)30,在該P(yáng)C,經(jīng)由因特網(wǎng)數(shù)字 資產(chǎn)可以被上傳、被存儲于在線相片服務(wù)30服務(wù)器上、作為多種輸出 物的一部分被打印并且被與其它用戶電子共享。移動裝置40構(gòu)成了用 戶的媒體生態(tài)系統(tǒng)10的第三主要節(jié)點(diǎn)并且包括諸如數(shù)字相機(jī)和照相手 機(jī)之類的移動裝置。所述裝置允許用戶位于任何地方來拍攝和查看圖 片。這些移動裝置時(shí)常提供到用戶的家庭媒體環(huán)境20中的裝置和在線 相片服務(wù)30的通信方法。照相手機(jī)能夠經(jīng)由至將數(shù)據(jù)橋接到在線相片 服務(wù)30的相片服務(wù)的無線連接而連接到在線相片服務(wù)。在用戶的媒體 生態(tài)系統(tǒng)10內(nèi),用戶可以擁有若干可以存儲和訪問數(shù)字資產(chǎn)的裝置。 本發(fā)明提供了 一種自動和分布式系統(tǒng),在該系統(tǒng)消費(fèi)者在不具體知道這些資產(chǎn)駐留于哪個(gè)節(jié)點(diǎn)或如何檢索它們的情況下,能夠在任何時(shí)間并且 從系統(tǒng)中的任何參與節(jié)點(diǎn)訪問、查看、修改和使用源自其集合的資產(chǎn)具
體。這種系統(tǒng)被稱為全局資產(chǎn)管理(GAM)系統(tǒng)。用戶擁有存在于一個(gè) 或多個(gè)計(jì)算機(jī)、家庭設(shè)備、移動裝置或在線服務(wù)上的數(shù)字資產(chǎn)(圖像、
。在^r^^^施例中,GAM系統(tǒng)^i^—^^#J^I^——、聚集的視 圖或"虛擬集合"的范例,所述視圖或"虛擬集合"包括用戶所知道的所有 資產(chǎn)的元數(shù)據(jù)。在可替換實(shí)施例中,虛擬集合僅由所有資產(chǎn)的子集的元 數(shù)據(jù)所構(gòu)成會是有用的;如果集合非常大,會希望這樣。GAM系統(tǒng)是 自動分布式系統(tǒng),在該系統(tǒng),用戶在不具體知道這些資產(chǎn)存在于哪個(gè)節(jié) 點(diǎn)或如何檢索它們的情況下,能夠在任何時(shí)間并且從系統(tǒng)中的任何參與 節(jié)點(diǎn)訪問、查看、修改和使用源自他們的虛擬集合的資產(chǎn)。它提供了三 種基本功能訪問、聚集和存留(persistence)。訪問是指查看數(shù)字資 產(chǎn)和位于遠(yuǎn)程連接的節(jié)點(diǎn)的相關(guān)元數(shù)據(jù)的能力。聚集是指將分布式資產(chǎn) 的視圖混合成獨(dú)立于物理資產(chǎn)分布的整個(gè)集合的單個(gè)"虛擬化"視圖的 能力。存留是指當(dāng)連接改變以及節(jié)點(diǎn)連接和斷開連接時(shí)保持此虛擬化視 圖的記憶(memory)的能力。
圖2圖示了用于全局資產(chǎn)管理相片系統(tǒng)的系統(tǒng)體系結(jié)構(gòu)100。在線 服務(wù)110節(jié)點(diǎn)包括資產(chǎn)庫112、資產(chǎn)集合數(shù)據(jù)庫111和GAM服務(wù)113 集。資產(chǎn)集合數(shù)據(jù)庫lll是包含定位用戶圖像集所必需的所有信息的數(shù) 據(jù)結(jié)構(gòu)。它并不包含圖像本身,所述圖像在資產(chǎn)庫112中或者高速緩存 113于裝置上。資產(chǎn)集合數(shù)據(jù)庫111維持用戶簡檔(profile)信息、維持 在分布式資產(chǎn)庫內(nèi)定位數(shù)字資產(chǎn)的映射、維持以各種容器(container) 的形式呈現(xiàn)數(shù)字資產(chǎn)的用戶視圖。資產(chǎn)庫112是對數(shù)字資產(chǎn)的物理的、 持久存儲器。在資產(chǎn)集合數(shù)據(jù)庫111中資產(chǎn)庫中的所有圖像都有參考 (reference)。資產(chǎn)庫112可包括簡單文件系統(tǒng)或例如通過標(biāo)準(zhǔn)OS級 別的機(jī)制訪問的另一外部數(shù)據(jù)存儲器。資產(chǎn)高速緩存器131是數(shù)字資產(chǎn) 的臨時(shí)存儲器,已被GAM連接服務(wù)選擇性地?cái)U(kuò)充(populate )以減少延 遲并且通常促進(jìn)在特定裝置上容易訪問。高速緩存的圖像在資產(chǎn)集合數(shù) 據(jù)庫111中不^皮跟蹤(track)。
在本地節(jié)點(diǎn)上的集合的目錄結(jié)構(gòu)可被實(shí)現(xiàn)在文件系統(tǒng)內(nèi)以及用數(shù) 據(jù)庫來實(shí)現(xiàn)。關(guān)于集合的知識自身是被稱為清單的資產(chǎn),所述清單能夠 在節(jié)點(diǎn)之間交換。清單描述對集合內(nèi)容進(jìn)行組織的容器對象(例如相冊、事件)并且為與每個(gè)容器相關(guān)聯(lián)的資產(chǎn)項(xiàng)目(例如,圖像、視頻)提供 參考,從而允許應(yīng)用對(例如檢索、復(fù)制)容器的數(shù)字內(nèi)容進(jìn)行操作。
可采用開放式標(biāo)準(zhǔn)(例如,MPV, DIDL-Lite )來對清單進(jìn)行編碼以允許 內(nèi)容被定義并且在不同的產(chǎn)品之中傳送。圖5提供了樣本清單文件的 XML列表。
在可替換實(shí)施例中,節(jié)點(diǎn)可以將所有節(jié)點(diǎn)清單呈現(xiàn)為單獨(dú)的分區(qū) (即不作為聚集的整體)。第二,節(jié)點(diǎn)不需要將源自另一節(jié)點(diǎn)的清單集 成到其本地集合(即,不存留)中,這是因?yàn)橛糜谠撈渌?jié)點(diǎn)的分區(qū)僅 在存在至它的網(wǎng)絡(luò)連接時(shí)才被呈現(xiàn)。
此外,將通過"共享組"概念來支持用戶團(tuán)體。在GAM系統(tǒng)內(nèi)好像 共享組是虛擬人一樣來處理它們。類似于將訪問授予給個(gè)體,訪問資產(chǎn) 的許可也可祐j受予組。
這些節(jié)點(diǎn)之間的連接性將變化, 一些大部分時(shí)間處于連接("在線") 而一些則很少("近線(nearline)")。被系統(tǒng)跟蹤的一些資產(chǎn)可處于檔 案中或其它"離線"位置或媒體中。GAM系統(tǒng)在所有情況下都提供對虛 擬集合的最大訪問。
除了簡單查看資產(chǎn)集合外,用戶會希望在各連接狀態(tài)下對它們進(jìn)行 操作。他們將對它們進(jìn)行改變、重組以及與他人共享。他們還想要通過 將它們拷貝到可拆卸媒體同時(shí)在永久性記錄中保留對它們的引用,來對 個(gè)人或資產(chǎn)組進(jìn)行存檔。 一些用戶將利用系統(tǒng)的位置透明性 (transparency),而其它用戶為備份、即時(shí)性(immediacy)或其它原 因?qū)⑾胍ㄟ^在節(jié)點(diǎn)之間遷移資產(chǎn)來明確地對資產(chǎn)位置進(jìn)行管理。當(dāng)數(shù) 字資產(chǎn)經(jīng)歷這些改變時(shí),GAM系統(tǒng)對數(shù)字資產(chǎn)進(jìn)行跟蹤并且能夠貫穿 整個(gè)系統(tǒng)一致地且智能地傳播這些改變。
該系統(tǒng)的主要組件包括連接服務(wù),其負(fù)責(zé)監(jiān)測GAM環(huán)境、識別協(xié) 作節(jié)點(diǎn)并與它們共享數(shù)據(jù)。它負(fù)責(zé)共享GAM數(shù)據(jù)庫更新、移動圖像和 其它資產(chǎn)并且通常提供如支持共享模型所需要的"后端"服務(wù)。GAM連 接服務(wù)將負(fù)責(zé)在裝置發(fā)現(xiàn)期間將特定節(jié)點(diǎn)的特性和能力公布給伙伴。
GAM系統(tǒng)包括將詳細(xì)描述的若干組件。GAM系統(tǒng)的一個(gè)基本功能 是在節(jié)點(diǎn)之間對清單的交換。為了訪問遠(yuǎn)程節(jié)點(diǎn)的內(nèi)容目錄,協(xié)調(diào)服務(wù) 返回遠(yuǎn)程節(jié)點(diǎn)的清單。清單中的元數(shù)據(jù)可通過便利交換的開放式標(biāo)準(zhǔn)予 以編碼。不要求應(yīng)用將其它節(jié)點(diǎn)的內(nèi)容加到它們的內(nèi)容中,但應(yīng)用應(yīng)能
8夠呈現(xiàn)分布于家庭內(nèi)的內(nèi)容的分區(qū)視圖。
GAM系統(tǒng)能夠提供用于所有節(jié)點(diǎn)上的內(nèi)容的公共目錄結(jié)構(gòu)(即,聚集的視圖)。該公共目錄結(jié)構(gòu)可駐留在文件(即像清單)中或應(yīng)用數(shù)據(jù)庫中。此外,GAM系統(tǒng)的所有節(jié)點(diǎn)可以當(dāng)在家庭環(huán)境的任何地方進(jìn)^^^變對協(xié)調(diào)它們^^4并且記下~(^#^^#^^#^果。
圖3在概念體系結(jié)構(gòu)的層面描繪了相互作用的GAM系統(tǒng)組件和消息序列,該消息序列被交換以便經(jīng)由清單協(xié)調(diào)來實(shí)現(xiàn)家庭內(nèi)容的聚集和存留的視圖。協(xié)調(diào)服務(wù)320可通過交換清單360獲取所知在遠(yuǎn)程節(jié)點(diǎn)上的虛擬集合350。因此,不是僅將清單提供給應(yīng)用340以作為在分區(qū)視圖中的內(nèi)容,協(xié)調(diào)服務(wù)封裝了用于解釋和解析(resolve)該清單版本的
程;點(diǎn)將其虛擬i合的視圖與家庭中的其它節(jié)點(diǎn)的視;相協(xié)調(diào)。'對4發(fā)
起協(xié)調(diào)(消息301、 302、 303 )的節(jié)點(diǎn)來說,它發(fā)送對另一節(jié)點(diǎn)的清單的請求,接收另一節(jié)點(diǎn)的清單,對其所接收的清單進(jìn)行解碼,解析在其清單和其所接收的經(jīng)解碼清單之間的差異,并且使用數(shù)據(jù)訪問服務(wù)來適
當(dāng)更新其虛擬集合的版本。對于對清單請求作出響應(yīng)的節(jié)點(diǎn)(而其也可以發(fā)起與其它節(jié)點(diǎn)的協(xié)調(diào))來說,它接收對其清單的請求,訪問其虛擬集合的版本,對其清單進(jìn)行編碼(消息372)并發(fā)送其經(jīng)編碼的清單。
數(shù)據(jù)抽象層被應(yīng)用調(diào)用以反映其虛擬集合的版本的本地改變。它也被協(xié)調(diào)服務(wù)調(diào)用以反映在經(jīng)由其清單所接收的其它節(jié)點(diǎn)上的改變。為此,數(shù)據(jù)訪問服務(wù)提供了允許節(jié)點(diǎn)讀取與虛擬集合相關(guān)聯(lián)的元數(shù)據(jù)的訪問器(accessor)集(消息373、 374),并且提供了允許節(jié)點(diǎn)修改與虛擬集合相關(guān)聯(lián)的元數(shù)據(jù)的增變器(mutator)集(消息305、 307、 375、374)。如果節(jié)點(diǎn)上的虛擬集合是應(yīng)用數(shù)據(jù)庫,則該應(yīng)用可直接訪問數(shù)據(jù)庫以反映局部改變。
為了提高GAM系統(tǒng)的節(jié)點(diǎn)之間的信息交換的效率,可使用采用版本矢量的算法。當(dāng)虛擬集合中的資產(chǎn)數(shù)增長時(shí),被交換的清單的大小將增加。家庭中的網(wǎng)絡(luò)帶寬可能將整個(gè)清單的移動抑制到可看到性能下降的點(diǎn)。當(dāng)新的節(jié)點(diǎn)進(jìn)入家庭域時(shí),整個(gè)清單將總是必須被引入。對于現(xiàn)有的節(jié)點(diǎn)來說,僅發(fā)送在虛擬集合內(nèi)已改變的信息而不是其整個(gè)內(nèi)容。版本矢量可被用在用于跨分布式節(jié)點(diǎn)復(fù)制資產(chǎn)元數(shù)據(jù)的算法中。
協(xié)調(diào)服務(wù)通過交換節(jié)點(diǎn)版本矢量獲取已知在遠(yuǎn)程節(jié)點(diǎn)上的虛擬集合的改變。針對按調(diào)度發(fā)起協(xié)調(diào)的節(jié)點(diǎn)的協(xié)調(diào)服務(wù)發(fā)送對另 一 節(jié)點(diǎn)的版本矢量的請求,接收另一節(jié)點(diǎn)的版本矢量,對該節(jié)點(diǎn)版本矢量進(jìn)行解碼,
解析在其對象(object)版本矢量和其通過請求更新的元數(shù)據(jù)從其它節(jié)
點(diǎn)所接收的經(jīng)解碼的節(jié)點(diǎn)版本矢量之間的差異,并且使用該數(shù)據(jù)訪問服j杏;舌A ^承浙jt點(diǎn)土、1皇^
對于正對版本矢量請求進(jìn)行響應(yīng)的節(jié)點(diǎn)(而其也可以從修改其所擁有的視圖正生成版本矢量)來說,它接收對其節(jié)點(diǎn)版本矢量的請求,訪問其虛擬集合,對其節(jié)點(diǎn)版本矢量進(jìn)行編碼,并且發(fā)送其經(jīng)編碼的節(jié)點(diǎn)版本矢量。
當(dāng)對虛擬集合的內(nèi)容做出改變時(shí),數(shù)據(jù)訪問服務(wù)更新對象版本矢量。數(shù)據(jù)訪問服務(wù)更新與其元數(shù)據(jù)已被修改的對象相關(guān)聯(lián)的版本矢量,并且在虛擬集合內(nèi)將版本矢量保存為所修改的對象的擴(kuò)展。
用戶可在任何時(shí)間在任何節(jié)點(diǎn)查看全局集合的視圖。由于版本矢量
算法是優(yōu)化的復(fù)制協(xié)議,所以對于任何兩個(gè)節(jié)點(diǎn)i和j來說,在任何給定的時(shí)間瞬間,它們的數(shù)據(jù)庫Di和Dj可能不同,并且由此呈現(xiàn)給用戶的視圖可能不同。然而,假設(shè),足夠的時(shí)間、在i和j之間連續(xù)的連接性以及不存在進(jìn)一步的更新,則A和Dj將會聚(converge )成相同的值。復(fù)制算法使用單個(gè)版本矢量來表示數(shù)據(jù)庫的每個(gè)實(shí)例的狀態(tài)。此每個(gè)數(shù)據(jù)庫的版本矢量提供了方便的機(jī)制,由此節(jié)點(diǎn)能夠快速確定一節(jié)點(diǎn)是否需要與另一節(jié)點(diǎn)同步。此外,該算法將版本矢量與每個(gè)對象相關(guān)聯(lián)。
注意,版本矢量只不過是時(shí)間戳陣列,其中每個(gè)時(shí)間戳都是正整數(shù)。節(jié)點(diǎn)的邏輯時(shí)間被跟蹤為整數(shù)值;在節(jié)點(diǎn)每次更新其數(shù)據(jù)庫時(shí)節(jié)點(diǎn)使其邏輯計(jì)時(shí)器增力。(increment)。該算法假定以下情況
1. 對于包括數(shù)據(jù)庫Q的每個(gè)節(jié)點(diǎn)w來說,是相關(guān)聯(lián)的版本矢量VVp
2. 數(shù)據(jù)庫D,表示如節(jié)點(diǎn)nt所知的每個(gè)對象的最新狀態(tài)。特別地,Di是四元組(id (obj) , value ( obj) , w, ts〉的陣列,其中id ( obj)是對象的全局唯一標(biāo)識符;value (obj)是對象的值,vv是與對象相關(guān)聯(lián)的版本矢量,而ts是VVi[i]在對象的值-波最后更新或添加到節(jié)點(diǎn)i的數(shù)據(jù)庫時(shí)的值。
3. 對于k爿,VVJk]表示節(jié)點(diǎn)i的當(dāng)前邏輯時(shí)間;VVJi]在i對其數(shù)據(jù)庫Di進(jìn)行任何改變之前增加。
104. 對于k^i, VVi[k]表示從節(jié)點(diǎn)k,直接在點(diǎn)i最后與k同步時(shí),或者作為與某其它節(jié)點(diǎn)同步的結(jié)果間接接收的信息的最高邏輯時(shí)間戳。
5. 對于相同長度的兩個(gè)版本矢量力和v2,當(dāng)且僅當(dāng)對于所有的i,lSSength(Vi) , VJi]不大于或等于V2[i]時(shí),v^v"當(dāng)且僅當(dāng)對于所^H^4^1ettgtfa^^r^ Vrfi^W^于或等于V2J4]時(shí),Vl〉v2;當(dāng)且僅當(dāng)對于所有的i, l必length(vj , VJi] = Vz[i]時(shí),vn;否則這兩個(gè)版本矢量被稱為不可比的。
換句話說,如果第一版本矢量的每個(gè)元素(element)小于或等于第二版本矢量的相應(yīng)元素,則一版本矢量小于或等于另一版本矢量;使第一版本矢量嚴(yán)格小于第二版本矢量增加了第一版本矢量中的至少一元素嚴(yán)^f各小于第二版本矢量的相應(yīng)元素的需求。如果兩個(gè)版本矢量不可比,則這兩個(gè)相關(guān)聯(lián)的對象被同時(shí)更新,并且它們的值可能沖突。這種沖突的解決可能要求用戶干預(yù)。
6. 如以下算法中所描述的,維持與每個(gè)對象相關(guān)聯(lián)的版本矢量;其與對象被最后更新的邏輯"時(shí)間"對應(yīng)。
7. 每個(gè)節(jié)點(diǎn)w維持節(jié)點(diǎn)&集;這表示當(dāng)前的節(jié)點(diǎn)w集被認(rèn)為是系統(tǒng)的 一部分并且其與所述系統(tǒng)同步。
為執(zhí)行同步操作,節(jié)點(diǎn)i執(zhí)行如下
mutexBcgin(syncing)for x - 1 to length(S) {
rcquestVersionVeci:or(dO 〃 ask node d for its version vector
rcv Version Vector^) // receive
ifWfd] <Wj;d:ithen '
requestUpdaes(d, W,)
nunexEnd(syncingJ
注意,如果VVJd]小于VVd[d],則自節(jié)點(diǎn)i最后與節(jié)點(diǎn)d通信以來節(jié)點(diǎn)d已經(jīng)改變了其數(shù)據(jù)庫。這可因?yàn)楣?jié)點(diǎn)d已獨(dú)自更新了一個(gè)或多個(gè)對象,或者因?yàn)楣?jié)點(diǎn)d已接收了源自某其它節(jié)點(diǎn)的更新而發(fā)生。在互斥模塊內(nèi)執(zhí)行該操作以在同步過程期間防止本地更新發(fā)生,并且在節(jié)點(diǎn)對
ii另 一節(jié)點(diǎn)的同步請求進(jìn)行響應(yīng)的同時(shí)阻止節(jié)點(diǎn)試圖與另 一節(jié)點(diǎn)同步。
方法requestUpdate如下執(zhí)行
requesrt^)dates(d, W》{sendRequest(di " W)do{
getUpdate()
} while noi AUUpdatesReceived and noi timedOutif allUpdatesReceived {
/ / update our complete W to reflect the updates made by other nodes that we// received via node d.W,, — rcvVereionVectorOfor x = 1 to length(W》{
ifW』x] 〉Wixihen(
} .—
方法requestUpdate向節(jié)點(diǎn)d發(fā)送更新請求,指定它想要自時(shí)間戳VVd[i]以來已經(jīng)發(fā)生的所有更新。然后它每次一個(gè)更新地接收它們。一旦已接收了所有更新,就更新本地版本矢量使得所有元素至少與它們在節(jié)點(diǎn)d的版本矢量中一樣高。通過執(zhí)行此更新,該節(jié)點(diǎn)將能夠從其它節(jié)點(diǎn)僅僅接收其所需要的新的更新。然而,如果更新過程被過早終止,則本地節(jié)點(diǎn)不能執(zhí)行該步驟。
一旦接收到sendRequest所生成的消息,接收者(recipient)就執(zhí)行
receiveRequest(recipiem requestor, W) {send!7pdates(requesror, W)
接收者所執(zhí)行的方法sendUpdates實(shí)現(xiàn)以下sendUpdatcs(rcquestor, W) {mutexBegin(syncing)
i — m)id()// i here refers to the local recipient node, the one sending the updatesforeach obj in D,. {
if obj.ts > W[d] and not (obj.w S W) then
updateSet — updateSet + obj
sort(updateSet) // sortbyobj.tsforcach obj in updateSet {
sendUpdate(requestor, i, obj)
sendVersionVeclor(requestor, W》mirtexE nd(syncing)
sendUpdates使用互斥(mutex)來避免必須管理在過去的更新正被傳送時(shí)發(fā)生的本地更新的復(fù)雜性。發(fā)送者僅考慮obj.ts大于該節(jié)點(diǎn)的請求者的版本矢量項(xiàng)(entry)的那些對象;這些是自該節(jié)點(diǎn)與請求者最后通信的時(shí)間以來已潛在地改變的對象。obj.ts值的目的是優(yōu)化確定可能需要被發(fā)送給另 一節(jié)點(diǎn)的候選對象的過程。時(shí)間戳是簡單的標(biāo)量值并且與全版本矢量相比可能高效得多。
發(fā)送者實(shí)際上僅將其版本矢量不小于或等于請求節(jié)點(diǎn)的版本矢量的那些對象發(fā)送給請求者;這防止了發(fā)送者把接收者已經(jīng)從其它節(jié)點(diǎn)接收的數(shù)據(jù)進(jìn)行發(fā)送。該更新按照其時(shí)間戳的次序被發(fā)送。這是為了確保如果一個(gè)或兩個(gè)節(jié)點(diǎn)在傳輸過程期間崩潰,且其隨后重啟,沒有更新被丟失。特別是,對于發(fā)送者來說,接收者的版本矢量項(xiàng)將與其已接收的最高更新相對應(yīng)。
為了改善性能,sendUpdate可能對更新進(jìn)行緩沖并且用更大的組來發(fā)送它們。 一旦所有的更新都已被發(fā)送,節(jié)點(diǎn)然后發(fā)送其當(dāng)前的版本矢量。該版本矢量自節(jié)點(diǎn)響應(yīng)于對其版本矢量的原始請求而已發(fā)送其版本矢量的時(shí)間以來可能已予以提升(advance)。
通過方法getUpdate來接收更新,該getUpdate調(diào)用receiveUpdate來讀取下一個(gè)傳送的更新geUpda比0 {
receiveUpdate(i, d, obj)if (obj.id £ D; then
doUpdateObject(obj, fake)else if (obj.w )D工obj.id].w) then
doUpdateOb'ect(obj, false)eke if (obj.w :S D|[obj,id].vv) then
// continue to use myocal value; ;t's more recent
eke
//we have a conflictstatus <~ resolveConflict(obi)Wfd<~ obj.ts
首先檢查所接收的更新以確信它們不與本地改變相沖突。如果所接收的對象的版本矢量值嚴(yán)格大于本地對象的版本矢量,則所接收的值是
更新的;本地節(jié)點(diǎn)必須將其值更新成該值。通過調(diào)用具有被指定為false的第二參數(shù)的doUpdateObject, doUpdateObject將保存對象的版本矢量。這將防止節(jié)點(diǎn)不必要地將該對象的值發(fā)送給已經(jīng)看到該更新的節(jié)點(diǎn)。相反,如果所接收的對象的版本矢量小于或等于本地對象的版本矢量,則本地節(jié)點(diǎn)不需要更新其對象拷貝。正常情況下,由于發(fā)送者一般不試圖發(fā)送這種對象,所以這種情況不應(yīng)發(fā)生,但是如果一節(jié)點(diǎn)在中止的(aborted)先前更新操作之后請求源自另 一節(jié)點(diǎn)的更新則其可能發(fā)生。如果兩個(gè)版本矢量是不可比的,則所述值沖突,并且必須使用沖突解析器(resolver)來解析沖突。函數(shù)resolveConflict試圖自動或經(jīng)由用戶干預(yù)來解析沖突。
14resolveConfiia(obj) {
if conflictlsResolveabk(obJ) then
obj.w — pairwiseMax(obj,w,D'[obj.id].w) doUpdateObject(obj, true) return true
else
return fake
如果該沖突是可解析的,則該版本矢量被設(shè)置成兩個(gè)版本矢量的成 對的最大值,其中該節(jié)點(diǎn)的版本矢量中的項(xiàng)隨后增加,因此所解析的值 將被傳播給其它節(jié)點(diǎn)。
通過doUpdateObj ect來實(shí)現(xiàn)實(shí)際更新
doUpdateObject(obj, updateObjW) {
if (obj e D〕 then
D,[id].vdue <~ ob〗.value D,則.w <~ obj.w D,id〗.ts <~ WW
eke
D, — D,. u {obj.;d, obj.value, ob'..w, W卯 if (updateObjW) then
本地節(jié)點(diǎn)時(shí)間戳VVJi]總是增加,并且該對象的時(shí)間戳總是被設(shè)置
成該值。該對象的版本矢量可能或不能被更新,這取決于標(biāo)志
updateObjVV的值。如果正簡單地用從另 一節(jié)點(diǎn)接收的對象的值更新數(shù) 據(jù)庫,則該對象的版本矢量不被更新——該節(jié)點(diǎn)簡單地保存相關(guān)聯(lián)的版 本矢量。否則會導(dǎo)致該對象被視為已被本地改變更新——必須被向回傳 播到包括發(fā)送所改變的值的那個(gè)節(jié)點(diǎn)在內(nèi)的其它節(jié)點(diǎn)的那個(gè)。 然而,如果更新是沖突解析的結(jié)果,則版本矢量被更新。
本地更新#:以下處理
15locaIUpdateObject(obj) { mutexBegin(synchin^
vy[i]++
Dfid].value <~ obj.vaJue Dj;a].vv <~ Wj D諷ts — Wfi] mutexE nd (synchir^
該算法有意在本質(zhì)上是單向的(oneway);為了在兩個(gè)節(jié)點(diǎn)之間出 現(xiàn)完全同步,每個(gè)節(jié)點(diǎn)將分別運(yùn)行該算法。當(dāng)節(jié)點(diǎn)重新連接到其它節(jié)點(diǎn) 的網(wǎng)絡(luò)時(shí),它必須與每個(gè)其它節(jié)點(diǎn)聯(lián)系以獲得所有未決的(pending)的 更新。對于消費(fèi)者成像應(yīng)用來說,節(jié)點(diǎn)數(shù)目很可能小,并且因而期望這 不是重大問題。
如果用戶在兩個(gè)不同節(jié)點(diǎn)上更新相同的資產(chǎn)并且系統(tǒng)不能運(yùn)行在 更新之間的該協(xié)議,則可能出現(xiàn)沖突。在這種情況下,沖突將在算法運(yùn) 行時(shí)被檢測。注意,我們本來能夠與每個(gè)資產(chǎn)的元數(shù)據(jù)字段(field)單 獨(dú)的版本矢量相關(guān)聯(lián),而不是僅具有該資產(chǎn)的單個(gè)版本矢量。如果系統(tǒng) 明了處于元數(shù)據(jù)水平的版本,則用戶會能夠在不引起沖突的情況下更新 相同資產(chǎn)的不同元數(shù)據(jù)項(xiàng)。
盡管版本矢量已被廣泛地用于消息傳遞系統(tǒng)中并且用于實(shí)現(xiàn)經(jīng)復(fù) 制的數(shù)據(jù)庫,但是它們還尚未被點(diǎn)對點(diǎn)的文件共享所采用。該算法使用 版本矢量向端用戶提供對其內(nèi)容的位置透明的訪問。用戶可從他們的家 庭媒體服務(wù)器、無線相機(jī)或其它便攜式裝置或者通過在線服務(wù)來訪問和 管理他們的內(nèi)容。盡管用戶并非總是可以獲得高分辨率的資產(chǎn)再現(xiàn),但 是該方案允許用戶執(zhí)行以下普通操作瀏覽、導(dǎo)航和組織他們的集合, 并且查看系統(tǒng)實(shí)施者(implementer)或用戶已選擇復(fù)制的、低分辨率再 現(xiàn)的資產(chǎn)。
圖4描述了相互作用的GAM組件和被交換以便實(shí)現(xiàn)數(shù)字資產(chǎn)操作 和在節(jié)點(diǎn)之間的移動(即檢索操作)的消息序列。
在用戶的家庭環(huán)境中的節(jié)點(diǎn)上運(yùn)行的應(yīng)用必須能夠檢索、更新、存 儲和拷貝數(shù)字資產(chǎn)而不管相應(yīng)的文件駐留在的節(jié)點(diǎn)。資產(chǎn)訪問服務(wù)440接受來自應(yīng)用460的請求以對數(shù)字資產(chǎn)執(zhí)行操作,包括檢索以便編輯 或打印(消息401)、在編輯和保存之后更新、在增加或編輯并保存為 (saveas)之后存儲、拷貝、圍繞對用戶的應(yīng)用上的數(shù)據(jù)訪問服務(wù)的使 用控制邏輯(消息408-409)、定位在虛擬集合中的數(shù)字資產(chǎn)的一些再 現(xiàn),并且將庫服務(wù)430用于位于虛擬集合470之外的數(shù)字資產(chǎn)的再現(xiàn)。 庫服務(wù)430提供了對位于存儲服務(wù)器上的數(shù)字資產(chǎn)的詳細(xì)目錄 (inventory)的訪問。它還表示接收者節(jié)點(diǎn)上可能需要遠(yuǎn)程滿足對數(shù)字 資產(chǎn)的請求的組件。對于發(fā)起數(shù)字資產(chǎn)管理的節(jié)點(diǎn)來說,庫服務(wù)430接 受管理數(shù)字資產(chǎn)的請求(消息420)、滿足對用戶的應(yīng)用節(jié)點(diǎn)的一些請 求(即檢索、更新、存儲),并且通過訪問家庭環(huán)境中的另一節(jié)點(diǎn)來滿 足其它請求(即檢索、復(fù)制)(消息404-405 )。
如果從另 一節(jié)點(diǎn)接收了數(shù)字資產(chǎn)文件,庫服務(wù)就存儲資產(chǎn)文件并且 更新其虛擬集合(消息403、 409)。
對于對數(shù)字資產(chǎn)管理請求進(jìn)行響應(yīng)的節(jié)點(diǎn)來說,它接受管理數(shù)字資 產(chǎn)的請求、查找該數(shù)字資產(chǎn)(消息494、 405、 491)并且將該數(shù)字資產(chǎn) 文件轉(zhuǎn)送給請求節(jié)點(diǎn)(消息492-493 )。存檔、備份和恢復(fù)服務(wù)使用庫 服務(wù)來支持它們在節(jié)點(diǎn)內(nèi)和在節(jié)點(diǎn)之間移動數(shù)字資產(chǎn)。
節(jié)點(diǎn)需要在協(xié)調(diào)和資產(chǎn)移動期間向其它節(jié)點(diǎn)發(fā)送請求并且從其它 節(jié)點(diǎn)接收回復(fù)。消息抽象層使得理解傳輸細(xì)節(jié)的責(zé)任與協(xié)調(diào)服務(wù)和庫服 務(wù)相分離。隨后,消息抽象層能夠使其傳輸綁定與對于節(jié)點(diǎn)間通信所要 求的格式和協(xié)議(例如,套接字(socket) 、 FTP、 web服務(wù))相適配。 消息服務(wù)代表想要與其它節(jié)點(diǎn)交換內(nèi)容的發(fā)送節(jié)點(diǎn)傳送請求并且代表 必須返回所請求的內(nèi)容的接收節(jié)點(diǎn)接收消息。
任何給定節(jié)點(diǎn)將理解其自身屬性,但將在其域內(nèi)發(fā)現(xiàn)其它節(jié)點(diǎn)并且 動態(tài)地請求它們的簡檔。連接服務(wù)通過簡檔來識別關(guān)于節(jié)點(diǎn)的信息。節(jié) 點(diǎn)簡檔是元數(shù)據(jù)模型中的實(shí)體并且在請求時(shí)被交換。節(jié)點(diǎn)簡檔僅通過節(jié) 點(diǎn)定義了已知的靜態(tài)屬性、先驗(yàn)知識(priori)。這些屬性包括服務(wù)和能力 (例如,與清單一起存儲節(jié)點(diǎn))以及如何聯(lián)系它(例如,協(xié)議、憑證)。
GAM系統(tǒng)可在安全之內(nèi)結(jié)合(incorporate )若干領(lǐng)域,包括全局用 戶帳戶、對跨用戶和組的數(shù)字資產(chǎn)的訪問控制(即,權(quán)限)和當(dāng)信息在 節(jié)點(diǎn)之間移動時(shí)交換信息的保護(hù)。
事件服務(wù)提供存檔和備份/恢復(fù)功能。在防護(hù)系統(tǒng)(safeguard againstsystem)未能釋放空時(shí)或其它原因時(shí),備份和存檔操作將對數(shù)據(jù)庫和數(shù) 字資產(chǎn)進(jìn)行拷貝。
存檔是指將數(shù)字資產(chǎn)移動到某可靠的可能"離線"的存儲媒體以確 保資產(chǎn)的拷貝在所有時(shí)間持久可用的動作。在隨后的某時(shí)間能夠檢索該 資產(chǎn), 一種通常要求特殊的操作和常常手動的用戶干預(yù)的操作。離線資 產(chǎn)的位置將在資產(chǎn)數(shù)據(jù)庫中被永久跟蹤。任何存檔的資產(chǎn)信息將被保 留,即使所述資產(chǎn)被另一版本取代的情況也是如此。存檔操作能夠跨節(jié) 點(diǎn)進(jìn)行。用戶能夠通過從應(yīng)用內(nèi)的明確動作來將存檔的資產(chǎn)向回移動到 該系統(tǒng)中。
相反,出于在系統(tǒng)故障之后恢復(fù)集合的具體目的,備份將對用戶的 集合(數(shù)據(jù)庫和庫內(nèi)容二者)的某部分進(jìn)行拷貝。實(shí)際上上,它是在給 定時(shí)間點(diǎn)的節(jié)點(diǎn)的"快照"。備份集中的資產(chǎn)對正常操作將是不可訪問 的,而存檔的資產(chǎn)將按其原始上下文予以保留。由于用戶的集合能夠跨 若干節(jié)點(diǎn),所以備份整個(gè)集合將是艱巨的工作。因此,備份將在逐個(gè)節(jié) 點(diǎn)(node-by-node)的基礎(chǔ)上進(jìn)行操作。然而,通過使用"自動拷貝", 用戶將能夠建立他們的系統(tǒng)使得單個(gè)資源豐富的節(jié)點(diǎn)能夠用作所有資 產(chǎn)的集合點(diǎn)。備份該節(jié)點(diǎn)將具有備份用戶的整個(gè)集合的效果。用戶將能 夠基于GAM所支持的標(biāo)準(zhǔn)組織方案和備份裝置來選擇備份間隔、完全 或增量備份以及備份范圍。所備份的資產(chǎn)(數(shù)據(jù)庫內(nèi)容或數(shù)字資產(chǎn))將 具有其最后的備份時(shí)間和記錄在GAM數(shù)據(jù)庫中的數(shù)據(jù)。在備份之后, 恢復(fù)操作將通過目標(biāo)節(jié)點(diǎn)上的任何GAM信息來拷貝備份集,將其恢復(fù) 到其在備份時(shí)間處的確切狀態(tài)。
還應(yīng)當(dāng)理解的是,本發(fā)明并不局限于特定圖示的實(shí)施例,并且在不 脫離本發(fā)明的范圍的情況下可進(jìn)行各種修改和改變,本發(fā)明由所附權(quán)利 要求書來限定。
部分列表
10-用戶的i某體生態(tài)系統(tǒng) 20-用戶的家庭媒體環(huán)境 21 -電視
22- 膝上型計(jì)算機(jī)
23- 打印才幾 24 -辦公PC25 -媒體盒
30-在線相片服務(wù)
40 -移動體
41 -數(shù)字相機(jī)
42 -手機(jī)(phone cam ) 100-系統(tǒng)體系結(jié)構(gòu)
110- 在線服務(wù)
111- 資產(chǎn)集合數(shù)據(jù)庫
112- 資產(chǎn)庫 113 - GAM服務(wù) 120-家庭系統(tǒng)
130- 消費(fèi)者手持裝置
131- 資產(chǎn)高速緩存器 140-零售服務(wù)
150-后端辦公(back office)支持
160-基本服務(wù)
170-額外付費(fèi)服務(wù)
180-元數(shù)據(jù)交換方案
300 -節(jié)點(diǎn)1
301-協(xié)調(diào)^見圖(view)
302 -4企查節(jié)點(diǎn)
303 -請求清單
304 -創(chuàng)建和發(fā)送清單
305 -改變一見圖
306- 數(shù)據(jù)訪問請求
307- 虛擬集合更新 310-連接服務(wù) 320 -協(xié)調(diào)服務(wù) 330 -數(shù)據(jù)訪問服務(wù) 340-家庭應(yīng)用
350 -虛擬集合 360 -集合清單
19370 -節(jié)點(diǎn)2
371 -連接服務(wù)請求 372-創(chuàng)建和發(fā)送清單
373 -獲得視圖請求
374 -虛擬集合更新
375 -改變^L圖請求
376 -協(xié)調(diào)請求
400 -節(jié)點(diǎn)1
401 -檢索請求
402 -獲得資產(chǎn)
403 -放置文件
404 -一企查節(jié)點(diǎn)請求
405 -請求文件
406 -資產(chǎn)文件檢索 407-放置信息
408 -獲得信息請求
409 -訪問/更新虛擬集合 410-文件存儲
420 -連接服務(wù) 430 -庫服務(wù) 440-資產(chǎn)訪問服務(wù) 450 -數(shù)據(jù)訪問服務(wù) 460-家庭應(yīng)用 470-虛擬集合 480 -資產(chǎn)文件 4卯-節(jié)點(diǎn)2 491-獲得文件請求
492 -檢查節(jié)點(diǎn)請求
493 -發(fā)送資產(chǎn)文件 494-獲得信息請求
495 -獲得信息請求
496 -讀虛擬集合請求
20497-資產(chǎn)訪問請求
權(quán)利要求
1. 一種用于在網(wǎng)絡(luò)中管理用戶的資產(chǎn)的系統(tǒng),包括多個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都具有同樣的清單,所述清單具有針對所述資產(chǎn)的項(xiàng),所述項(xiàng)描述關(guān)于所述資產(chǎn)和每個(gè)資產(chǎn)的組織和位置的元數(shù)據(jù)。
2. 如權(quán)利要求1所述的系統(tǒng),其中所述多個(gè)節(jié)點(diǎn)耦合于通信網(wǎng)絡(luò)中。
3. 如權(quán)利要求1所述的系統(tǒng),其中節(jié)點(diǎn)包括家庭環(huán)境中的裝置、在 線相片服務(wù)或移動裝置。
4. 如權(quán)利要求3所述的系統(tǒng),其中家庭環(huán)境中的裝置包括電視、個(gè) 人電腦、打印機(jī)或媒體盒。
5. 如權(quán)利要求1所述的系統(tǒng),其中資產(chǎn)包括靜態(tài)圖像、視頻、音頻 或多媒體表現(xiàn)。
6. —種用于對網(wǎng)絡(luò)上所提供的多個(gè)節(jié)點(diǎn)的清單進(jìn)行更新的方法,所 述清單中的每一個(gè)具有針對用戶所擁有的每個(gè)資產(chǎn)的項(xiàng),所述項(xiàng)描述關(guān) 于所述資產(chǎn)和每個(gè)資產(chǎn)的組織和位置的元數(shù)據(jù),包括步驟建立從第一節(jié)點(diǎn)到第二節(jié)點(diǎn)的通信連接; 從所述第二節(jié)點(diǎn)提供其清單的版本矢量; 從所述第二節(jié)點(diǎn)提供清單更新;用所述第二節(jié)點(diǎn)清單更新對所述第 一節(jié)點(diǎn)的清單進(jìn)行修改。
7. 如權(quán)利要求6所述的方法,其中所述多個(gè)節(jié)點(diǎn)耦合于通信網(wǎng)絡(luò)中。
8. 如權(quán)利要求6所述的方法,其中節(jié)點(diǎn)包括家庭環(huán)境中的裝置、在 線相片服務(wù)或移動裝置。
9. 如權(quán)利要求8所述的方法,其中家庭環(huán)境中的裝置包括電視、個(gè) 人電腦、打印機(jī)或媒體盒。
10. 如權(quán)利要求6所述的方法,其中資產(chǎn)包括靜態(tài)圖像、視頻、音頻 或多媒體表現(xiàn)。
11 .如權(quán)利要求6所述的方法,其中所述第 一和第二節(jié)點(diǎn)的清單包括 與每個(gè)項(xiàng)相關(guān)聯(lián)的附加版本矢量,并且其中所述版本矢量被用于確定來 自所述第二節(jié)點(diǎn)的清單的哪個(gè)更新應(yīng)被應(yīng)用到所述第 一節(jié)點(diǎn)的清單。
12.如權(quán)利要求6所述的方法,其中每個(gè)節(jié)點(diǎn)的清單還包括針對與每 個(gè)資產(chǎn)相關(guān)聯(lián)的一個(gè)或多個(gè)元數(shù)據(jù)項(xiàng)目的不同的項(xiàng),并且其中版本矢量 與每個(gè)項(xiàng)相關(guān)聯(lián),并且其中所述版本矢量被用于確定來自所述第二節(jié)點(diǎn) 的清單的哪個(gè)更新應(yīng)^t應(yīng)用到所述第 一 節(jié)點(diǎn)的清單。
13.如權(quán)利要求6所述的方法,其中將所述版本矢量與所述第一節(jié)點(diǎn) 的所述版本矢量相比較以確定所述第 一節(jié)點(diǎn)的清單是否需要被更新。
全文摘要
一種用于在裝置、服務(wù)器和系統(tǒng)之中通過提供用戶的數(shù)字資產(chǎn)的邏輯統(tǒng)一且聚集的視圖來管理數(shù)據(jù)的系統(tǒng)和方法,該用戶的數(shù)字資產(chǎn)包括源自任何系統(tǒng)節(jié)點(diǎn)或裝置的元數(shù)據(jù)。本發(fā)明描述了通過使用清單來支持聚集的視圖的方法。清單是包括關(guān)于用戶的虛擬集合內(nèi)的所有媒體資產(chǎn)的數(shù)據(jù)的文件/數(shù)據(jù)庫。
文檔編號G06F17/30GK101490680SQ200780026490
公開日2009年7月22日 申請日期2007年7月12日 優(yōu)先權(quán)日2006年7月12日
發(fā)明者G·L·馬澤, M·D·伍德, M·J·多納赫, S·M·弗里爾 申請人:伊斯曼柯達(dá)公司