普及環(huán)境中的元數(shù)據(jù)驅(qū)動(dòng)版本管理服務(wù)的方法和系統(tǒng)的制作方法
【專(zhuān)利摘要】元數(shù)據(jù)驅(qū)動(dòng)版本管理服務(wù)基于設(shè)備屬性、計(jì)算環(huán)境以及與被版本處理的文件關(guān)聯(lián)的元數(shù)據(jù)來(lái)確定要執(zhí)行的一個(gè)或多個(gè)版本操作。版本管理服務(wù)允許不同的設(shè)備基于不同的設(shè)備屬性來(lái)執(zhí)行不同的版本操作。
【專(zhuān)利說(shuō)明】普及環(huán)境中的元數(shù)據(jù)驅(qū)動(dòng)版本管理服務(wù)的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明一般涉及計(jì)算機(jī)和計(jì)算機(jī)應(yīng)用,且更具體地涉及普及(pervasive)環(huán)境中的數(shù)據(jù)的版本管理。
【背景技術(shù)】
[0002]普及環(huán)境包括移動(dòng)、桌面設(shè)備、工作站(例如在辦公室或家庭等)、膝上型電腦、平板電腦、智能電話以及其他這樣的設(shè)備的集合。在普及環(huán)境中需要為多種設(shè)備管理多種文件,例如不只是文本文件,還包括豐富文本文檔、照片、音樂(lè)、視頻等。此外,相同的文件可能有很多版本,因?yàn)檫@些文件被頻繁地更新或更改。理想地,人們希望保存所有版本;在用戶訪問(wèn)它們之前總是將版本預(yù)取到本地存儲(chǔ);以及總是將所有版本備份到多個(gè)位置以提供更高的可用性。但是,這樣理想的供應(yīng)是昂貴的,并且可能無(wú)法提供高效的解決方案。
[0003]已知的系統(tǒng)例如DR0PB0X提供文件倉(cāng)庫(kù),其僅保存最近的版本并為每個(gè)設(shè)備同步文件,g卩,在每個(gè)設(shè)備中復(fù)制文件。另一已知的系統(tǒng)例如ICLOUD僅為系統(tǒng)內(nèi)置應(yīng)用提供應(yīng)用數(shù)據(jù)倉(cāng)庫(kù)并在所有設(shè)備中維護(hù)相同的數(shù)據(jù),而不管該數(shù)據(jù)的使用。
[0004]盡管在所有其他設(shè)備上同步設(shè)備的修改文件會(huì)最大化文件可用性,這樣的機(jī)制沒(méi)有考慮其他方面,例如回滾到更早版本的能力、用于移動(dòng)設(shè)備最佳使用的電池和帶寬、同步的數(shù)據(jù)是否在所有設(shè)備上有用(例如,如在移動(dòng)設(shè)備沒(méi)有用于某些格式的多媒體數(shù)據(jù)的播放器的示例情形下,某些數(shù)據(jù)在特定設(shè)備上不會(huì)有任何用途)。
【發(fā)明內(nèi)容】
[0005]在一方面,一種用于元數(shù)據(jù)驅(qū)動(dòng)版本管理服務(wù)的方法可以包括通過(guò)給定的文件通用標(biāo)識(shí)和存儲(chǔ)位置來(lái)訪問(wèn)用于同步的普及計(jì)算環(huán)境中使用的文件。該方法還可以包括提取與該文件關(guān)聯(lián)的元數(shù)據(jù)。該方法還可以包括基于與文件關(guān)聯(lián)的元數(shù)據(jù)、與被同步的設(shè)備關(guān)聯(lián)的一個(gè)或多個(gè)特性以及普及計(jì)算環(huán)境的一個(gè)或多個(gè)特征,確定是否通過(guò)在被同步的設(shè)備上本地保存文件的增量、或者通過(guò)在被同步的設(shè)備上本地保存文件的整個(gè)副本、或者通過(guò)保存兩者來(lái)進(jìn)行同步。該方法還可以包括基于確定是否通過(guò)在被同步的設(shè)備上本地保存文件的增量或者通過(guò)在被同步的設(shè)備上本地保存文件的整個(gè)副本來(lái)進(jìn)行同步,來(lái)確定一個(gè)或多個(gè)版本操作。該方法還可以包括執(zhí)行一個(gè)或多個(gè)版本操作,以在被同步的設(shè)備上同步文件。
[0006]在一方面,一種用于元數(shù)據(jù)驅(qū)動(dòng)版本管理服務(wù)的系統(tǒng)可以包括版本管理模塊,其可操作地在處理器上執(zhí)行,并且還可操作地通過(guò)給定的文件通用標(biāo)識(shí)和存儲(chǔ)位置來(lái)訪問(wèn)用于同步的普及計(jì)算環(huán)境中使用的文件。該版本管理模塊還可操作地提取與該文件關(guān)聯(lián)的元數(shù)據(jù)。該版本管理模塊還可操作地基于與文件關(guān)聯(lián)的元數(shù)據(jù)、與被同步的設(shè)備關(guān)聯(lián)的一個(gè)或多個(gè)特性以及普及計(jì)算環(huán)境的一個(gè)或多個(gè)特征,確定是否通過(guò)在被同步的設(shè)備上本地保存文件的增量、或者通過(guò)在被同步的設(shè)備上本地保存文件的整個(gè)副本、或者通過(guò)保存兩者來(lái)進(jìn)行同步。該版本管理模塊還可操作地基于確定是否通過(guò)在被同步的設(shè)備上本地保存文件的增量或者通過(guò)在被同步的設(shè)備上本地保存文件的整個(gè)副本來(lái)進(jìn)行同步,來(lái)確定一個(gè)或多個(gè)版本操作。該版本管理模塊還可操作地執(zhí)行一個(gè)或多個(gè)版本操作,以在被同步的設(shè)備上同步文件。
[0007]還可以提供一種存儲(chǔ)指令程序的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該指令程序可被機(jī)器執(zhí)行以執(zhí)行這里描述的一種或多種方法。
[0008]下面參考附圖來(lái)更詳細(xì)地描述各個(gè)實(shí)施例的更多特征以及結(jié)構(gòu)和操作。在圖中,相同的參考標(biāo)號(hào)表示相同或功能類(lèi)似的元件。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0009]圖1示出了本公開(kāi)的一個(gè)實(shí)施例中的系統(tǒng)架構(gòu)。
[0010]圖2是示出一個(gè)實(shí)施例中的本公開(kāi)的自動(dòng)版本管理的方法的流程圖。
[0011]圖3是示出本公開(kāi)的一個(gè)實(shí)施例中用于準(zhǔn)備摘要(su_ary)的方法的流程圖。
[0012]圖4是示出根據(jù)本公開(kāi)的一個(gè)實(shí)施例中用于準(zhǔn)備整個(gè)文件的方法的流程圖。
[0013]圖5A、5B、5C、ro示出了用于維護(hù)文件版本的不同方法的例子。
[0014]圖6示出了本公開(kāi)的一個(gè)實(shí)施例中的示例性用例。
[0015]圖7示出了本公開(kāi)的一個(gè)實(shí)施例中的另一示例性用例。
[0016]圖8示出了可以實(shí)現(xiàn)本公開(kāi)的一個(gè)實(shí)施例的系統(tǒng)的示例性計(jì)算機(jī)或處理系統(tǒng)的示意圖。
【具體實(shí)施方式】
[0017]可以提供一種設(shè)備之間的統(tǒng)一文件版本管理服務(wù)。在本公開(kāi)的一個(gè)實(shí)施例中,元數(shù)據(jù)驅(qū)動(dòng)版本管理服務(wù)及其方法可以包括通過(guò)分配或給出文件副本的通用標(biāo)識(shí)(id)和位置來(lái)訪問(wèn)文件,提取并維護(hù)文件的元數(shù)據(jù),其中,元數(shù)據(jù)可以包括文件內(nèi)容的類(lèi)型、版本和相關(guān)增量、大小、所有者、來(lái)源(provenance)、文件冗余以及/或者關(guān)于文件的其他信息。簡(jiǎn)單來(lái)說(shuō),增量或增量文件僅包含對(duì)文件或數(shù)據(jù)做出的當(dāng)前更改。于是,增量包括已經(jīng)從之前的內(nèi)容改變的部分。響應(yīng)于文件被更新或更改,可以決定是否針對(duì)文件保存增量、完整文件或兩者。可以決定在哪些設(shè)備中應(yīng)執(zhí)行哪個(gè)版本操作,其中,操作可以包括下載/上傳增量、下載/上傳完整副本、以及供應(yīng)(provision)/解除供應(yīng)(de-provision)。例如,可以通過(guò)考慮設(shè)備的一個(gè)或多個(gè)特性或?qū)傩?例如位置、電池容量等)、網(wǎng)絡(luò)帶寬、以及數(shù)據(jù)傳輸成本,決定何時(shí)應(yīng)執(zhí)行操作。可以基于所確定的決定來(lái)執(zhí)行一個(gè)或多個(gè)版本管理操作。
[0018]普及環(huán)境中的版本管理操作一般包括創(chuàng)建新版本、上傳和/或下載、供應(yīng)和/或解除供應(yīng)、以及形成摘要(smnmarization),其可以執(zhí)行部分同步。創(chuàng)建新版本例如可以包括創(chuàng)建文件或數(shù)據(jù)的新副本,該副本是最新版本的完整副本,或者創(chuàng)建帶有增量(即僅更改)的老副本。上傳可以包括將完整副本版本或增量上傳到其他設(shè)備和/或中心倉(cāng)庫(kù)。下載可以包括將完整副本版本或增量下載到一臺(tái)或多臺(tái)其他設(shè)備的本地存儲(chǔ)。供應(yīng)和/或解除供應(yīng)可以包括處理安全問(wèn)題,例如當(dāng)設(shè)備處于不完全的網(wǎng)絡(luò)時(shí),可以使保密文件變得不可訪問(wèn)(例如被解除供應(yīng))。在安全網(wǎng)絡(luò)中,可以使某些內(nèi)容變得可訪問(wèn)(例如被供應(yīng))。形成摘要可以包括上傳和/或下載文件版本的摘要,例如電子郵件的前幾行、視頻文件的一個(gè)或多個(gè)屏幕快照、音頻文件的前幾分鐘等。
[0019]在一方面,在本公開(kāi)的一個(gè)實(shí)施例中自動(dòng)提供的決定可以包括是否維護(hù)文件的增量或完整副本(或數(shù)據(jù)的另一表示),例如,在創(chuàng)建新版本時(shí)是否僅維護(hù)增量(更改)或創(chuàng)建新的完整副本。在本公開(kāi)的一個(gè)實(shí)施例中可以自動(dòng)提供的另一決定可以包括決定需要哪種操作。例如可以基于對(duì)目標(biāo)設(shè)備中的文件使用模式的理解來(lái)做出該決定。例如,可決定僅當(dāng)在目標(biāo)設(shè)備中有潛在使用時(shí),才下載文件。例如還可以基于對(duì)文件丟失風(fēng)險(xiǎn)的理解來(lái)做出決定。例如,如果它是在移動(dòng)設(shè)備上的單個(gè)副本(例如沒(méi)有可用的備份副本),則可以決定盡快將其上傳到其他設(shè)備。作為另一個(gè)例子,當(dāng)設(shè)備處于不安全環(huán)境中例如網(wǎng)絡(luò)未被保護(hù)時(shí),可以決定移除(解除供應(yīng))包含保密信息的文件。
[0020]在本公開(kāi)的一個(gè)實(shí)施例中可以自動(dòng)提供的又一決定可以包括決定應(yīng)在何時(shí)執(zhí)行操作。例如,為了節(jié)省成本,可以決定在離開(kāi)WIFI環(huán)境之前安排文件下載。對(duì)應(yīng)當(dāng)在何時(shí)執(zhí)行操作的決定還可以基于對(duì)目標(biāo)設(shè)備中的帶寬、電源/電池容量等的理解。例如,可以僅在合適的網(wǎng)絡(luò)帶寬和/或電源(電池)容量可用時(shí)才觸發(fā)操作。
[0021]圖1示出了本公開(kāi)的一個(gè)實(shí)施例中的系統(tǒng)結(jié)構(gòu)。一個(gè)實(shí)施例中的本公開(kāi)的版本管理器可用于多種設(shè)備。例如,移動(dòng)設(shè)備102可以包括版本管理器104,其處理移動(dòng)設(shè)備的本地文件系統(tǒng)106中存儲(chǔ)的文件的版本管理。移動(dòng)設(shè)備102還包括與本地文件系統(tǒng)106中存儲(chǔ)的文件關(guān)聯(lián)的元數(shù)據(jù)文件108。一個(gè)實(shí)施例中的本公開(kāi)的方法可以通過(guò)檢查與本地文件系統(tǒng)106中存儲(chǔ)的文件關(guān)聯(lián)的數(shù)據(jù)和信息來(lái)創(chuàng)建元數(shù)據(jù)文件108。
[0022]類(lèi)似地,桌面設(shè)備110可以包括本公開(kāi)的版本管理器112,用于管理桌面設(shè)備110的本地文件系統(tǒng)114中存儲(chǔ)的文件。元數(shù)據(jù)文件116存儲(chǔ)與在桌面設(shè)備110的本地文件系統(tǒng)114中存儲(chǔ)的文件關(guān)聯(lián)的信息。
[0023]本公開(kāi)的版本管理器還可被部署于網(wǎng)絡(luò)級(jí)別例如服務(wù)器118上。版本管理器120可以管理在服務(wù)器118的文件系統(tǒng)122上存儲(chǔ)的文件,并且還可以包括與文件系統(tǒng)中的文件關(guān)聯(lián)的元數(shù)據(jù)文件124。
[0024]版本管理器104、112和118是本公開(kāi)的相同統(tǒng)一版本管理器的實(shí)例。但是,這些版本管理器104、112、118可以表現(xiàn)不同,并基于上下文和環(huán)境例如特定設(shè)備的特性、網(wǎng)絡(luò)條件和特性、其管理的特定文件的特性和屬性來(lái)執(zhí)行不同的功能或操作,所述版本管理器部署于所述特定設(shè)備上并管理其文件。
[0025]元數(shù)據(jù)108、116、124例如可提供與文件關(guān)聯(lián)的信息,例如大小、所有者、來(lái)源、內(nèi)容類(lèi)型(例如是否是音頻、視頻、文本和/或其他)、更新內(nèi)容、更新頻率、更新發(fā)起者等、冗余(例如存儲(chǔ)了文件的多少個(gè)副本和存儲(chǔ)在哪兒)、誰(shuí)在哪個(gè)設(shè)備上具有副本、版本信息等。來(lái)源描述了對(duì)象(文件)如何進(jìn)入其當(dāng)前狀態(tài)。于是,它描述對(duì)象(文件)隨時(shí)間的演進(jìn)。此外,本公開(kāi)的方法還可包括自動(dòng)維護(hù)元數(shù)據(jù)。
[0026]在桌面和移動(dòng)設(shè)備中,本公開(kāi)的版本管理器(例如104、112)的輸入都可以包括文件的元數(shù)據(jù)、諸如上下文/場(chǎng)景等信息、用戶的活動(dòng)模式、日程安排、用戶偏好以及其他信息??梢酝ㄟ^(guò)設(shè)備的一個(gè)或多個(gè)傳感器來(lái)檢測(cè)上下文/場(chǎng)景。例如,移動(dòng)設(shè)備可以檢測(cè)其電池電量水平、其網(wǎng)絡(luò)帶寬、其位置(例如通過(guò)全球定位系統(tǒng)等來(lái)檢測(cè))。在一方面,本公開(kāi)的方法可以提供節(jié)省成本的最佳版本管理操作。例如,版本管理器可以最小化電池消耗同時(shí)最大化應(yīng)用的本地文件訪問(wèn)的機(jī)會(huì)。版本管理器還可以通過(guò)執(zhí)行合適的版本操作來(lái)提供節(jié)省成本的帶寬利用。在另一方面,可以提供最大的文件可用性,而同時(shí)遵循安全和隱私策略。文件可被提前預(yù)取到本地存儲(chǔ),例如在適于利用網(wǎng)絡(luò)可用性的時(shí)候。在又一方面,本公開(kāi)的版本管理器基于不同上下文和特性來(lái)執(zhí)行的不同操作對(duì)于用戶來(lái)說(shuō)可以是透明的,即,對(duì)終端用戶隱藏。于是,終端用戶可以僅看到效果或結(jié)果。
[0027]圖2是示出一個(gè)實(shí)施例中的本公開(kāi)的自動(dòng)版本管理的方法的流程圖。一個(gè)實(shí)施例中的方法提供了元數(shù)據(jù)驅(qū)動(dòng)版本管理服務(wù)。在202,接收與被版本處理(version)(例如與更新一起保存)的文件關(guān)聯(lián)的通用標(biāo)識(shí)或標(biāo)識(shí)符(ID)以及該文件的位置。通用標(biāo)識(shí)可以是如通用唯一標(biāo)識(shí)符(UUID)。文件例如被用于普及計(jì)算環(huán)境。文件的位置是文件當(dāng)前被存儲(chǔ)以及被更新的位置,例如,文件被更改的位置,并且該文件需要從這兒例如與其他設(shè)備中的相同更新或文件副本進(jìn)行同步。該文件例如在一個(gè)移動(dòng)設(shè)備上更新,并且需要在不同的移動(dòng)設(shè)備(所述移動(dòng)設(shè)備具有該文件的其本地部分)上同步。
[0028]在204,通過(guò)使用給定或接收到的文件副本的通用標(biāo)識(shí)和存儲(chǔ)位置從該位置訪問(wèn)文件,并提取與該文件關(guān)聯(lián)的元數(shù)據(jù)。元數(shù)據(jù)可以包括文件內(nèi)容的類(lèi)型、一個(gè)或多個(gè)版本以及相關(guān)的增量、大小、所有者、來(lái)源以及文件的冗余。
[0029]該方法可以包括基于與文件關(guān)聯(lián)的元數(shù)據(jù)(在204提取的)以及普及計(jì)算環(huán)境的一個(gè)或多個(gè)特征,確定是否通過(guò)在(使用更新進(jìn)行同步的)設(shè)備上本地保存文件的增量或通過(guò)在(使用更新進(jìn)行同步的)設(shè)備上本地保存整個(gè)文件來(lái)進(jìn)行同步。例如,在206,確定是否應(yīng)創(chuàng)建文件的摘要,并且響應(yīng)于確定要?jiǎng)?chuàng)建文件的摘要,在208生成文件摘要并且在210復(fù)制文件摘要。該確定例如考慮了網(wǎng)絡(luò)的特征、普及計(jì)算環(huán)境、移動(dòng)設(shè)備運(yùn)行所在的網(wǎng)絡(luò)以及其本地文件正被同步的移動(dòng)設(shè)備的特性或特征。在212,例如基于存儲(chǔ)位置和元數(shù)據(jù)來(lái)確定是否復(fù)制整個(gè)文件,并且響應(yīng)于確定要復(fù)制整個(gè)文件,在214復(fù)制整個(gè)文件。
[0030]在一方面,可在其文件被同步的每臺(tái)設(shè)備上執(zhí)行206和212的確定。于是,即使在若干個(gè)不同設(shè)備之間同步相同文件時(shí),可以基于其特征針對(duì)不同設(shè)備做出不同的確定或決定。
[0031]在216,該方法還可以包括確定為哪個(gè)設(shè)備執(zhí)行哪種類(lèi)型的版本操作。于是,針對(duì)使用相同文件進(jìn)行同步的不同設(shè)備,可以基于與這些不同設(shè)備關(guān)聯(lián)的不同特征來(lái)自動(dòng)選擇不同的版本操作。版本操作例如可以包括下載/上傳文件的增量或完整副本、以及/或者供應(yīng)或解除供應(yīng)。還可以根據(jù)設(shè)備的一個(gè)或多個(gè)特性(例如位置、當(dāng)前電池電量水平、電池容量等)、網(wǎng)絡(luò)帶寬以及/或者數(shù)據(jù)傳輸成本來(lái)決定或確定何時(shí)應(yīng)在哪個(gè)設(shè)備上執(zhí)行操作。
[0032]在218,可以基于確定是否通過(guò)在設(shè)備上本地保存文件的增量或通過(guò)在設(shè)備上本地保存整個(gè)文件來(lái)同步,來(lái)執(zhí)行一個(gè)或多個(gè)操作。
[0033]圖3是示出本公開(kāi)的一個(gè)實(shí)施例中的用于確定何時(shí)或是否復(fù)制摘要的方法的流程圖。該過(guò)程確定摘要是否應(yīng)被保存(復(fù)制)到被同步的設(shè)備中。相同的過(guò)程還可被用于確定是否僅在被同步的設(shè)備中保存(復(fù)制)增量。在302,準(zhǔn)備文件摘要。例如,現(xiàn)代文件系統(tǒng)中的每個(gè)文件具有與之關(guān)聯(lián)的一系列屬性(或元數(shù)據(jù),例如大小、所有者、介質(zhì)類(lèi)型等)。這被稱為“摘要”。在準(zhǔn)備文件摘要時(shí),提取這樣的文件屬性(元數(shù)據(jù))。在304,使用公式來(lái)執(zhí)行計(jì)算,以自動(dòng)確定是否復(fù)制文件的摘要,例如,將摘要復(fù)制到其文件被同步的移動(dòng)設(shè)備上。公式可以測(cè)試[文件大小(比特)/帶寬(比特每秒(bps))]*每比特的能耗=C是否大于可配置的參數(shù)D乘上當(dāng)前的電池功率(用B來(lái)表示)。在上述公式中,“文件大小”是摘要文件的大小?!皫挕笔且苿?dòng)設(shè)備當(dāng)前提供的最佳可用傳輸速率?!懊勘忍氐哪芎摹笔窃O(shè)備發(fā)送一比特所使用的能量;能耗可以在設(shè)備之間不同,并且可以在當(dāng)前由設(shè)備提供。表示乘法操作(在另一實(shí)施例中,可以使用另一操作)??膳渲脜?shù)D的示例值可以是D=10%。用戶例如可以基于用戶偏好在用戶簡(jiǎn)檔中預(yù)先配置該值。如果在304,OD X B,在306確定是否滿足用戶簡(jiǎn)檔中的帶寬(用戶指定的值)。該帶寬可以是例如基于用戶偏好在用戶簡(jiǎn)檔中預(yù)先配置的另一個(gè)值。如果在304C不大于D X B,確定不應(yīng)在此時(shí)復(fù)制摘要。該方法回到302,其中該過(guò)程等待下一情形來(lái)進(jìn)行另一確定。
[0034]如果在306滿足用戶簡(jiǎn)檔中的帶寬,則在其文件被同步的移動(dòng)設(shè)備上復(fù)制摘要。否則,方法回到302。
[0035]圖4是示出本公開(kāi)的一個(gè)實(shí)施例中的用于確定是否復(fù)制整個(gè)文件的方法的流程圖。在402,準(zhǔn)備文件,例如檢查文件以驗(yàn)證該文件包括更新的成分或部分,并且是最后的完整文件。如果需要,文件壓縮可被應(yīng)用于該文件,以壓縮文件并使大小更小。在404,確定其本地文件正被同步(例如與另一設(shè)備上對(duì)相同文件(相同文件的副本)進(jìn)行的最后更新進(jìn)行同步)的設(shè)備是否在安全區(qū)域中,例如被加密或其他機(jī)制保護(hù)從而從/向該設(shè)備傳輸?shù)臄?shù)據(jù)不能被容易地截獲。如果在404確定該設(shè)備處于安全區(qū)域中,在406確定是否滿足標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)例如測(cè)試[文件大小(比特)/帶寬(比特每秒(bps)) ]*每比特的能耗=C是否大于可配置的參數(shù)D乘上當(dāng)前的電池功率(用B來(lái)表示)。在上述公式中,“文件大小”是整個(gè)文件的大小。帶寬是移動(dòng)設(shè)備當(dāng)前提供的最佳可用傳輸速率。“每比特的能耗”是設(shè)備發(fā)送一比特所使用的能量;能耗可以在設(shè)備之間不同,并且可以在當(dāng)前由設(shè)備提供??膳渲脜?shù)D的示例值可以是D=10%。用戶例如可以基于用戶偏好在用戶簡(jiǎn)檔中預(yù)先配置該值。如果是這樣,在408確定是否滿足用戶簡(jiǎn)檔中的帶寬(用戶指定的值)。該帶寬可以是例如基于用戶偏好在用戶簡(jiǎn)檔中預(yù)先配置的另一個(gè)值。如果是這樣,在410,在其文件被同步的移動(dòng)設(shè)備上復(fù)制整個(gè)文件。否則,確定不應(yīng)復(fù)制整個(gè)文件,并且該方法回到402,在此它等待下一次確定。如果在406,C不大于D X B,確定不應(yīng)復(fù)制整個(gè)文件,并且方法回到402,在此它等待下一次確定。
[0036]在412,響應(yīng)于確定設(shè)備不在安全區(qū)域中,確定復(fù)制摘要是否適用。例如,如果設(shè)備不在安全區(qū)域中,將不復(fù)制整個(gè)文件,因?yàn)樵撐募赡馨舾行畔?,或?yīng)該保護(hù)的這種信息。如果是這樣,在414,復(fù)制摘要。否則,該方法回到402,并等待確定的下一情形。
[0037]響應(yīng)于確定不應(yīng)保存整個(gè)文件,例如,由于設(shè)備不在安全區(qū)域中并且/或者由于帶寬和/或功率能力不夠,則僅有增量文件被下載/上傳以用于同步。另一方面,如果確定應(yīng)當(dāng)復(fù)制整個(gè)文件(下載/上傳到被同步的設(shè)備),還可以確定是否應(yīng)保存增量文件。如果是這樣,完全更新的文件(整個(gè)文件)以及增量文件(更新)都被下載/上傳。在本公開(kāi)中,術(shù)語(yǔ)增量、更新和更改被可交換地使用。
[0038]圖5A、5B、5C、ro示出了用于維護(hù)文件版本的不同方法的例子。例子示出了維護(hù)文件的四個(gè)版本的多種方法。圖5A示出了在每個(gè)階段保存更新版本的完整副本。例如,在階段I保存文件vl.1,其是文件Vl的帶有增量vl.1中的更改的更新版本。類(lèi)似地,在第2階段保存文件vl.2,其是文件vl.1的帶有增量vl.2中的更改的更新版本。類(lèi)似地,在第3階段保存文件vl.3,其是文件vl.2的帶有增量vl.3中的更改的更新版本。
[0039]圖5B示出了在不同版本處理階段采用的混合方法。例如,在階段I保存文件vl和它的增量即增量vl.1。然后在稱為階段2的下一版本處理階段,僅保存文件vl.2,其是文件vl的帶有增量vl.1和增量vl.2的更新版本。在階段3,再一次僅保留文件的完整副本,即文件vl.3,其是帶有增量vl.3的更新文件vl.2。
[0040]圖5C示出了不同版本處理階段另一組合方法。例如,在版本處理階段I保存文件vl.1,其是文件vl的帶有增量vl.1的更新版本。在版本處理階段2,保存文件vl.1和增量vl.2兩者。但是,在下一版本處理階段,僅保存文件vl.3,其是以增量vl.2和增量vl.3更新的文件vl.1。
[0041]圖示出了在某些階段保存原始版本和增量而在其他階段僅保存完整副本的方法。例如,在階段1,保存文件Vl和增量Vl.1。在下一版本處理階段,保存文件V1、增量Vl.1和增量vl.2。在后續(xù)的階段,保存文件vl.3,其是文件vl的帶有增量1.1和增量vl.2的更新文件。
[0042]選擇可以包括保存增量(僅更改)、完整副本或兩者。每個(gè)方法會(huì)需要不同的存儲(chǔ)、網(wǎng)絡(luò)帶寬、中央處理單元(CPU)周期能力。在本公開(kāi)的一個(gè)實(shí)施例中,例如可以通過(guò)檢查與設(shè)備關(guān)聯(lián)的一個(gè)或多個(gè)特性及其環(huán)境例如文件和增量的大小、網(wǎng)絡(luò)、存儲(chǔ)、CPU周期和移動(dòng)設(shè)備的電池狀況,來(lái)確定選擇(例如保存增量、完整副本或兩者)。
[0043]圖6示出了本公開(kāi)的一個(gè)實(shí)施例的示例性用例。圖6所示的示例性網(wǎng)絡(luò)和設(shè)備環(huán)境具有不安全的信道602、604,不安全的環(huán)境606,在設(shè)備608上的有限電池以及受限的網(wǎng)絡(luò)帶寬?;谠摥h(huán)境設(shè)置或狀況(例如這是基于當(dāng)前網(wǎng)絡(luò)環(huán)境的知識(shí)以及在元數(shù)據(jù)和設(shè)備簡(jiǎn)檔610中存儲(chǔ)的信息來(lái)確定的),一個(gè)實(shí)施例中的本公開(kāi)的方法可以做出版本處理中的下列決定:上傳新文件以增加可用性、從本地存儲(chǔ)612移除保密文件、僅同步大文件的摘要、同步增量而不是文件的完整版本。
[0044]圖7不出了本公開(kāi)的一個(gè)實(shí)施例中的另一不例性用例。在該例子中,移動(dòng)設(shè)備702的網(wǎng)絡(luò)環(huán)境包括安全信道704、706,安全環(huán)境708,在設(shè)備702上完全充電的電池以及足夠的網(wǎng)絡(luò)帶寬(例如被確定為在閾值以內(nèi))。給定該設(shè)置(例如這是基于當(dāng)前網(wǎng)絡(luò)環(huán)境的知識(shí)以及在元數(shù)據(jù)和設(shè)備簡(jiǎn)檔710中存儲(chǔ)的信息來(lái)確定的),一個(gè)實(shí)施例中的本公開(kāi)的方法可以做出版本處理中的下列決定:如果若干用戶訪問(wèn)了文件則將文件預(yù)取到本地存儲(chǔ)712、基于用戶的日歷事件來(lái)安排文件同步(盡可能在離開(kāi)該特定環(huán)境設(shè)置條件之前同步)、上傳具有完整文件和增量的新版本。
[0045]圖8示出了可以實(shí)現(xiàn)本公開(kāi)的一個(gè)實(shí)施例中的系統(tǒng)的示例性計(jì)算機(jī)或處理系統(tǒng)的示意圖。計(jì)算機(jī)系統(tǒng)僅是合適的處理系統(tǒng)的一個(gè)例子,并且不是對(duì)這里描述的方法的實(shí)施例的使用范圍或功能的任何限制。所述處理系統(tǒng)可以與多種其他的通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置一起來(lái)運(yùn)行。適于和圖8所示的處理系統(tǒng)一起使用的眾所周知的計(jì)算系統(tǒng)、環(huán)境和/或配置的例子可以包括但不限于個(gè)人計(jì)算機(jī)系統(tǒng)、服務(wù)器計(jì)算機(jī)系統(tǒng)、瘦客戶機(jī)、胖客戶機(jī)、手持或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)系統(tǒng)、大型計(jì)算機(jī)系統(tǒng)以及可以包含任何上述系統(tǒng)或設(shè)備的分布式云計(jì)算環(huán)境等。
[0046]可以在由計(jì)算機(jī)系統(tǒng)執(zhí)行的計(jì)算機(jī)系統(tǒng)可執(zhí)行指令例如程序模塊的一般上下文中描述計(jì)算機(jī)系統(tǒng)。通常,程序模塊可以包括例程、程序、對(duì)象、組件、邏輯、數(shù)據(jù)結(jié)構(gòu)等,其執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特殊的抽象數(shù)據(jù)類(lèi)型。還可以在分布式云計(jì)算環(huán)境中實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng),其中,通過(guò)經(jīng)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式云計(jì)算環(huán)境中,程序模塊可以位于本地以及包含存儲(chǔ)器存儲(chǔ)設(shè)備的遠(yuǎn)程計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)兩者中。
[0047]計(jì)算機(jī)系統(tǒng)的組件可以包括但不限于一個(gè)或多個(gè)處理器或處理單元12、系統(tǒng)存儲(chǔ)器16和總線14,該總線將各個(gè)系統(tǒng)組件包括系統(tǒng)存儲(chǔ)器16耦合到處理器12。處理器12可以包括版本管理模塊10,其執(zhí)行這里描述的方法。模塊10可被編程到處理器12的集成電路中,或從存儲(chǔ)器16、存儲(chǔ)設(shè)備18或網(wǎng)絡(luò)24或其組合載入。
[0048]總線14可以表示幾種總線結(jié)構(gòu)類(lèi)型中的任一種類(lèi)型中的一個(gè)或多個(gè),所述總線結(jié)構(gòu)類(lèi)型包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、加速圖形端口、以及使用任一種總線結(jié)構(gòu)的處理器或局部總線。作為示例而不是限制,這樣的結(jié)構(gòu)包括商業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)總線、微通道架構(gòu)(MCA)總線、增強(qiáng)ISA (EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局部總線、以及外圍組件互連(PCI)總線。
[0049]計(jì)算機(jī)系統(tǒng)還可以包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。這樣的介質(zhì)可以是能被計(jì)算機(jī)系統(tǒng)訪問(wèn)的任意可用介質(zhì),且可以同時(shí)包括易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。
[0050]系統(tǒng)存儲(chǔ)器16可以包括易失性存儲(chǔ)器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存取存儲(chǔ)器(RAM)和/或高速緩存存儲(chǔ)器等。計(jì)算機(jī)系統(tǒng)還可以包括其他可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)。僅作為示例,可以提供存儲(chǔ)系統(tǒng)18,用于讀取和寫(xiě)入不可移動(dòng)、非易失性磁性介質(zhì)(例如“硬盤(pán)驅(qū)動(dòng)器”)。盡管未示出,可以提供用于讀取和寫(xiě)入可移動(dòng)、非易失性磁盤(pán)(例如“軟盤(pán)”)的磁盤(pán)驅(qū)動(dòng)器,以及用于讀取或?qū)懭肟梢苿?dòng)、非易失性光盤(pán)例如⑶-ROM、DVD-ROM或其他光學(xué)介質(zhì)的光盤(pán)驅(qū)動(dòng)器。在這些例子中,每個(gè)可以通過(guò)一個(gè)或多個(gè)數(shù)據(jù)介質(zhì)接口連接到總線14。
[0051]計(jì)算機(jī)系統(tǒng)還可以與一個(gè)或多個(gè)外部設(shè)備26進(jìn)行通信,所述外部設(shè)備例如鍵盤(pán)、指點(diǎn)裝置、顯示器28等;能使用戶與計(jì)算機(jī)系統(tǒng)進(jìn)行交互的一個(gè)或多個(gè)設(shè)備;以及/或者能使計(jì)算機(jī)系統(tǒng)與一臺(tái)或多臺(tái)其他計(jì)算設(shè)備進(jìn)行通信的任意設(shè)備(例如網(wǎng)卡、調(diào)制解調(diào)器等)。這些的通信可經(jīng)由加輸入/輸出(I/O)接口 20發(fā)生。
[0052]另外,計(jì)算機(jī)系統(tǒng)可以通過(guò)網(wǎng)絡(luò)適配器22與一個(gè)或多個(gè)網(wǎng)絡(luò)24進(jìn)行通信,所述網(wǎng)絡(luò)例如局域網(wǎng)(LAN)、通用廣域網(wǎng)(WAN)、以及/或者公共網(wǎng)絡(luò)(例如因特網(wǎng))。如圖所示,網(wǎng)絡(luò)適配器22通過(guò)總線14與計(jì)算機(jī)系統(tǒng)的其他組件通信。還應(yīng)理解,盡管未示出,其他硬件和/或軟件組件可以與計(jì)算機(jī)系統(tǒng)結(jié)合使用。例子包括但不限于:微代碼、設(shè)備驅(qū)動(dòng)器、冗余處理單元、外部磁盤(pán)驅(qū)動(dòng)器陣列、RAID系統(tǒng)、磁帶驅(qū)動(dòng)器以及數(shù)據(jù)歸檔存儲(chǔ)系統(tǒng)等。
[0053]所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明的各個(gè)方面可以實(shí)現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的各個(gè)方面可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實(shí)施例中,本發(fā)明的各個(gè)方面還可以實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可讀的程序代碼
[0054]可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是一但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤(pán)、硬盤(pán)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、便攜式緊湊盤(pán)只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0055]計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號(hào)可以采用多種形式,包括——但不限于——電磁信號(hào)、光信號(hào)或上述的任意合適的組合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
[0056]計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于一無(wú)線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0057]可以以一種或多種程序設(shè)計(jì)語(yǔ)言的任意組合來(lái)編寫(xiě)用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語(yǔ)言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言一諸如Java、Smalltalk、C++等,還包括常規(guī)的過(guò)程式程序設(shè)計(jì)語(yǔ)言一諸如“C”語(yǔ)言或類(lèi)似的程序設(shè)計(jì)語(yǔ)言,腳本語(yǔ)言例如Perl,VBS或類(lèi)似的語(yǔ)言,和/或函數(shù)式語(yǔ)言例如Lisp、ML,以及面向邏輯的語(yǔ)言例如Prolog。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類(lèi)的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。
[0058]參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述了本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些計(jì)算機(jī)程序指令在通過(guò)計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。
[0059]也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,這些指令使得計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的指令的制造品(article ofmanufacture)?
[0060] 附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專(zhuān)用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專(zhuān)用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
[0061]計(jì)算機(jī)程序產(chǎn)品可以包括所有各個(gè)特征,其使能實(shí)現(xiàn)這里描述的方法,并且在被載入到計(jì)算機(jī)系統(tǒng)時(shí)能實(shí)現(xiàn)該方法。在本上下文中,計(jì)算機(jī)程序、軟件程序、程序或軟件表示一組指令的任意語(yǔ)言、代碼或符號(hào)的表達(dá),所述指令旨在使具有信息處理能力的系統(tǒng)直接或者在下列之一或兩者之后執(zhí)行特定的功能:(a)轉(zhuǎn)化為其他語(yǔ)言,代碼或符號(hào);以及/或者(b)以不同材料形式再現(xiàn)。
[0062]這里使用的術(shù)語(yǔ)僅為了描述特定實(shí)施例的目的而不是要限制本發(fā)明。如這里所用,單數(shù)形式“一”、“一個(gè)”和“該”旨在同時(shí)包含復(fù)數(shù)形式,除非上下文清楚地另外說(shuō)明。還應(yīng)理解,在本說(shuō)明書(shū)中使用時(shí),術(shù)語(yǔ)“包括”和/或“包含”表示所述特征、整體、步驟、操作、元素和/或組件的存在,但不是排除一個(gè)或多個(gè)其他特征、整體、步驟、操作、元素、組件和/或其組合的存在或增加。
[0063]下列權(quán)利要求中的所有裝置或步驟加上功能元素(如有)的相應(yīng)結(jié)構(gòu)、材料、動(dòng)作以及等價(jià)物旨在包含用于與特別要求的其他要求元素結(jié)合執(zhí)行該功能的任意結(jié)構(gòu)、材料或動(dòng)作。本發(fā)明的描述是為了說(shuō)明和描述的目的來(lái)展示,而不是要窮舉或?qū)⒈景l(fā)明限制在公開(kāi)的形式。很多調(diào)整和變化對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)說(shuō)是明顯的,而不偏離本發(fā)明的范圍和精神。實(shí)施例被選擇和描述,以最佳地解釋本發(fā)明的原則和實(shí)際應(yīng)用,并且使得本領(lǐng)域普通技術(shù)人員能夠理解本發(fā)明的具有適于所考慮的特定應(yīng)用的各種調(diào)整的各個(gè)實(shí)施例。
[0064]本公開(kāi)的各個(gè)方面可被實(shí)現(xiàn)為在計(jì)算機(jī)或機(jī)器可用或可讀介質(zhì)中實(shí)現(xiàn)的程序、軟件或計(jì)算機(jī)指令,在計(jì)算機(jī)、處理器和/或機(jī)器上執(zhí)行時(shí),其使得計(jì)算機(jī)或機(jī)器執(zhí)行本發(fā)明的步驟。還可以提供程序存儲(chǔ)設(shè)備,其可被機(jī)器讀取,有形地實(shí)現(xiàn)由計(jì)算機(jī)執(zhí)行的指令程序,以實(shí)現(xiàn)本公開(kāi)中描述的各種功能和方法。
[0065]本公開(kāi)的系統(tǒng)和方法還可以在通用計(jì)算機(jī)或?qū)S糜?jì)算機(jī)系統(tǒng)上實(shí)現(xiàn)和運(yùn)行。在本應(yīng)用中使用時(shí),術(shù)語(yǔ)“計(jì)算機(jī)系統(tǒng)”和“計(jì)算機(jī)網(wǎng)絡(luò)”可以包括固定和/或便攜式計(jì)算機(jī)硬件、軟件、外圍和存儲(chǔ)設(shè)備的多種組合。計(jì)算機(jī)系統(tǒng)可以包括多個(gè)單獨(dú)的組件,其被網(wǎng)絡(luò)連接或者被鏈接以協(xié)作執(zhí)行,或者可以包括一個(gè)或多個(gè)獨(dú)立的組件。本申請(qǐng)的計(jì)算機(jī)系統(tǒng)的硬件和軟件組件可以包括并且可以被包含在固定和便攜式設(shè)備例如臺(tái)式機(jī)、膝上電腦和/或服務(wù)器中。模塊可以是實(shí)現(xiàn)某些“功能”的設(shè)備、軟件、程序或系統(tǒng)的組件,其可被實(shí)現(xiàn)為軟件、硬件、固件、電子電路等。
[0066]上述實(shí)施例是說(shuō)明性例子并且不應(yīng)被理解為本發(fā)明受限于這些特定的實(shí)施例。因此,本領(lǐng)域技術(shù)人員可以進(jìn)行各種修改和調(diào)整,而不偏離所附權(quán)利要求書(shū)中定義的本發(fā)明的精神或范圍。
【權(quán)利要求】
1.一種用于元數(shù)據(jù)驅(qū)動(dòng)版本管理服務(wù)的方法,包括: 通過(guò)給定的文件通用標(biāo)識(shí)和存儲(chǔ)位置來(lái)訪問(wèn)用于同步的普及計(jì)算環(huán)境中使用的文件; 提取與該文件關(guān)聯(lián)的元數(shù)據(jù); 基于與文件關(guān)聯(lián)的元數(shù)據(jù)、與被同步的設(shè)備關(guān)聯(lián)的一個(gè)或多個(gè)特性以及普及計(jì)算環(huán)境的一個(gè)或多個(gè)特征,確定是否通過(guò)在被同步的設(shè)備上本地保存文件的增量、或者通過(guò)在被同步的設(shè)備上本地保存文件的整個(gè)副本、或者通過(guò)保存兩者來(lái)進(jìn)行同步; 基于確定是否通過(guò)在被同步的設(shè)備上本地保存文件的增量或者通過(guò)在被同步的設(shè)備上本地保存文件的整個(gè)副本來(lái)進(jìn)行同步,來(lái)確定一個(gè)或多個(gè)版本操作;以及 執(zhí)行一個(gè)或多個(gè)版本操作,以在被同步的設(shè)備上同步文件。
2.如權(quán)利要求1所述的方法,其中,所述一個(gè)或多個(gè)版本操作包括下列至少一個(gè):下載文件的增量、下載文件的整個(gè)副本、上傳文件的增量、上傳文件的整個(gè)副本、供應(yīng)在被同步的設(shè)備上本地存儲(chǔ)的文件的副本、或解除供應(yīng)在被同步的設(shè)備上本地存儲(chǔ)的文件的副本。
3.如權(quán)利要求1所述的方法,其中,所述普及計(jì)算環(huán)境的一個(gè)或多個(gè)特征包括網(wǎng)絡(luò)帶寬、數(shù)據(jù)傳輸成本或 者普及計(jì)算環(huán)境的安全狀態(tài)或其組合中的一個(gè)或多個(gè)。
4.如權(quán)利要求1所述的方法,其中,所述設(shè)備的一個(gè)或多個(gè)特性包括設(shè)備位置、設(shè)備的當(dāng)前電池電量水平、設(shè)備的電池容量或其組合。
5.如權(quán)利要求1所述的方法,其中,所述元數(shù)據(jù)包括文件內(nèi)容的類(lèi)型、與文件關(guān)聯(lián)的一個(gè)或多個(gè)版本和相關(guān)增量、大小、所有者、來(lái)源或者文件的冗余或其組合中的一個(gè)或多個(gè)。
6.如權(quán)利要求1所述的方法,還包括確定是否應(yīng)創(chuàng)建文件的摘要,以及響應(yīng)于確定要?jiǎng)?chuàng)建文件的摘要,生成文件摘要并復(fù)制該文件摘要以在要同步的設(shè)備上本地存儲(chǔ)。
7.如權(quán)利要求1所述的方法,其中,如果設(shè)備處于安全區(qū)域并且滿足C>DX B的標(biāo)準(zhǔn)并且滿足用戶簡(jiǎn)檔帶寬,則確定保存文件的整個(gè)副本,其中 C=[文件的整個(gè)副本的文件大小(比特)/設(shè)備當(dāng)前提供的最佳可用傳輸速率(比特每秒(bps)) *設(shè)備發(fā)送一比特所使用的能量, D是可配置的參數(shù),并且 B是設(shè)備的當(dāng)前電池電量水平。
8.如權(quán)利要求1所述的方法,其中,在多個(gè)設(shè)備上同步所述文件,并且能夠基于是否通過(guò)保存文件的增量或通過(guò)保存文件的整個(gè)副本來(lái)同步,針對(duì)不同的多個(gè)設(shè)備來(lái)進(jìn)行不同的決定。
9.如權(quán)利要求1所述的方法,還包括基于與文件關(guān)聯(lián)的元數(shù)據(jù)、與被同步的設(shè)備關(guān)聯(lián)的一個(gè)或多個(gè)特性、或者普及計(jì)算環(huán)境的一個(gè)或多個(gè)特征中的至少一個(gè)來(lái)確定何時(shí)執(zhí)行所述一個(gè)或多個(gè)版本操作。
10.一種用于元數(shù)據(jù)驅(qū)動(dòng)版本管理服務(wù)的系統(tǒng),包括: 處理器; 版本管理模塊,其可操作地通過(guò)給定的文件通用標(biāo)識(shí)和存儲(chǔ)位置來(lái)訪問(wèn)用于同步的普及計(jì)算環(huán)境中使用的文件, 該版本管理模塊還可操作地提取與該文件關(guān)聯(lián)的元數(shù)據(jù), 該版本管理模塊還可操作地基于與文件關(guān)聯(lián)的元數(shù)據(jù)、與被同步的設(shè)備關(guān)聯(lián)的一個(gè)或多個(gè)特性以及普及計(jì)算環(huán)境的一個(gè)或多個(gè)特征,確定是否通過(guò)在被同步的設(shè)備上本地保存文件的增量、或者通過(guò)在被同步的設(shè)備上本地保存文件的整個(gè)副本、或者通過(guò)保存兩者來(lái)進(jìn)行同步, 該版本管理模塊還可操作地基于確定是否通過(guò)在被同步的設(shè)備上本地保存文件的增量或者在被同步的設(shè)備上本地保存文件的整個(gè)副本來(lái)進(jìn)行同步,來(lái)確定一個(gè)或多個(gè)版本操作, 該版本管理模塊還可操作地執(zhí)行一個(gè)或多個(gè)版本操作,以在被同步的設(shè)備上同步文件。
11.如權(quán)利要求10所述的系統(tǒng),其中,所述一個(gè)或多個(gè)版本操作包括下列至少一個(gè):下載文件的增量、下載文件的整個(gè)副本、上傳文件的增量、上傳文件的整個(gè)副本、供應(yīng)在被同步的設(shè)備上本地存儲(chǔ)的文件的副本、或解除供應(yīng)在被同步的設(shè)備上本地存儲(chǔ)的文件的副本。
12.如權(quán)利要求10所述的系統(tǒng),其中,所述普及計(jì)算環(huán)境的一個(gè)或多個(gè)特征包括網(wǎng)絡(luò)帶寬、數(shù)據(jù)傳輸成本或者普及計(jì)算環(huán)境的安全狀態(tài)或其組合中的一個(gè)或多個(gè)。
13.如權(quán)利要求10所述的系統(tǒng),其中,所述設(shè)備的一個(gè)或多個(gè)特性包括設(shè)備位置、設(shè)備的當(dāng)前電池電量水平、設(shè)備的電池容量或其組合。
14.如權(quán)利要求10所述的系統(tǒng),其中,所述元數(shù)據(jù)包括文件內(nèi)容的類(lèi)型、與文件關(guān)聯(lián)的一個(gè)或多個(gè)版本和 相關(guān)增量、大小、所有者、來(lái)源或者文件的冗余或其組合中的一個(gè)或多個(gè)。
15.如權(quán)利要求10所述的系統(tǒng),其中,所述版本管理模塊還確定是否應(yīng)創(chuàng)建文件的摘要,以及響應(yīng)于確定要?jiǎng)?chuàng)建文件的摘要,該版本管理模塊生成文件摘要并復(fù)制該文件摘要以在要同步的設(shè)備上本地存儲(chǔ)。
【文檔編號(hào)】G06F17/30GK104049968SQ201410096252
【公開(kāi)日】2014年9月17日 申請(qǐng)日期:2014年3月14日 優(yōu)先權(quán)日:2013年3月15日
【發(fā)明者】白琨, D·L·科恩, H·T·賈姆朱姆, 曾梁趙 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司