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

用于多源恢復(fù)的方法及裝置制造方法

文檔序號:6495464閱讀:141來源:國知局
用于多源恢復(fù)的方法及裝置制造方法
【專利摘要】本發(fā)明描述了一種從第一源和第二源向設(shè)備恢復(fù)資源的方法和裝置。在已經(jīng)從所述第一源向所述設(shè)備恢復(fù)所述資源的一部分之后,可動態(tài)地檢測來自第二源的所述資源的可用性。如果確定所述第二源比所述第一源更有效地連接到所述設(shè)備,則在已經(jīng)向所述設(shè)備恢復(fù)所述資源的一部分之后可從所述第二源向所述設(shè)備恢復(fù)所述資源的其余部分。
【專利說明】用于多源恢復(fù)的方法及裝置
[0001]相關(guān)申請的交叉引用
[0002]本申請主張Gordon J.Freedman等人于2011年6月3日提交的題為“Methodsand Apparatus for Mult1-Phase Mult1-Source Backup and Restore” 的美國臨時申請N0.61/493360的優(yōu)先權(quán),該申請的內(nèi)容通過引用整體合并于此。
【技術(shù)領(lǐng)域】
[0003]本發(fā)明總體上涉及對設(shè)備進行恢復(fù)。更特別地,本發(fā)明涉及從多個源恢復(fù)設(shè)備的文件。
【背景技術(shù)】
[0004]隨著移動設(shè)備的激增,特別是諸如蜂窩電話、個人數(shù)字助理(PDA)、平板設(shè)備等移動通信設(shè)備的備份和恢復(fù)操作已經(jīng)逐漸成為對這些移動設(shè)備的日常使用中不可或缺的一部分。然而,隨著工作環(huán)境、移動應(yīng)用和/或網(wǎng)絡(luò)存儲基礎(chǔ)設(shè)施繼續(xù)演進,也出現(xiàn)了伴隨不斷地改變移動設(shè)備上的需求的新的挑戰(zhàn),以支持這種能力。
[0005]例如,傳統(tǒng)的備份/恢復(fù)操作可基于使用高帶寬網(wǎng)絡(luò)連接與備份/恢復(fù)軟件和硬件的復(fù)雜的互動。然而,移動設(shè)備經(jīng)常通過無線網(wǎng)絡(luò)連接在途中使用,該無線網(wǎng)絡(luò)連接可能是不可靠的、帶寬受限的和/或從一個位置到另一位置不可預(yù)測的。因此,可能需要長時間和/或多次嘗試來完成對移動設(shè)備的備份/恢復(fù)操作。此外,在用于這些操作的大多數(shù)開放性的無線網(wǎng)絡(luò)中也發(fā)現(xiàn)了額外的安全風(fēng)險。
[0006]因此,現(xiàn)有的機制可能不能以可靠、安全和用戶友好的方式備份/恢復(fù)移動設(shè)備。
【發(fā)明內(nèi)容】

[0007]在一個實施例中,設(shè)備中的資源可以經(jīng)由多級抽象備份到基于網(wǎng)絡(luò)的存儲裝置,也稱為云存儲,以允許增量和可恢復(fù)的備份操作??蓜討B(tài)地配置備份源以用于改善備份/恢復(fù)性能和/或最小化對設(shè)備的正常操作的影響。在一個實施例中,設(shè)備可與移動備份服務(wù)(MBS)通信,以基于MBS中保持的分層數(shù)據(jù)確定備份該資源(或文件)的那些部分。分層數(shù)據(jù)可包括設(shè)備的擁有者賬戶、與該所有者賬戶關(guān)聯(lián)的每個設(shè)備特定的備份層級(或表示)、和/或描述被備份的每個文件的元數(shù)據(jù)。
[0008]在一個實施例中,MBS可以與內(nèi)容服務(wù)器(諸如MobiIe Me塊服務(wù)或者MMCS)通信以識別文件的哪些實際數(shù)據(jù)塊(或分塊的數(shù)據(jù))應(yīng)上傳以進行備份,從而避免例如云存儲中數(shù)據(jù)塊的副本。MMCS可以跟蹤文件和用于識別文件的數(shù)據(jù)塊的塊標(biāo)示符集合之間的映射。在一個實施例中,MMCS可以動態(tài)地配置或者安排供應(yīng)商云存儲以在分塊的數(shù)據(jù)的貯存器中存儲文件的被識別以用于備份的內(nèi)容。
[0009]在另一實施例中,可以保持設(shè)備中的元數(shù)據(jù)以跟蹤資源(或文件)是否表示用戶數(shù)據(jù)(例如,用戶創(chuàng)建的數(shù)據(jù))或者購買的資產(chǎn)或內(nèi)容。購買的資產(chǎn)的實際數(shù)據(jù)可以從可用的資產(chǎn)商店(或站點)下載或恢復(fù),而不需要被備份。某些免費的可用資產(chǎn)(諸如Podcast)可以通過備份其標(biāo)示符而被重新下載,而不用與其實際內(nèi)容一起被直接備份和恢復(fù)。描述將被備份的資源的元數(shù)據(jù)可使得對用于備份的不同源的自動識別在機會上(opportunisti cal Iy )對用戶透明。例如,對作為購買的資產(chǎn)的資源進行備份可包括做標(biāo)記而不是上推(push up)購買的資產(chǎn)的內(nèi)容。為了恢復(fù)所標(biāo)記的購買的資產(chǎn),可從資產(chǎn)商店下拉(pull down)所購買的資產(chǎn)的內(nèi)容。例如,資產(chǎn)商店可以是托管可購買的資產(chǎn)、存儲所購買的資產(chǎn)和/或托管免費的可用資產(chǎn)(或內(nèi)容)的網(wǎng)絡(luò)可訪問的站點。
[0010]可選地,可從諸如云存儲、本地計算機、資產(chǎn)商店和/或其他可機會性使用的源的多個源將資源拆分地恢復(fù)到設(shè)備。可針對設(shè)備中的資源跟蹤指示媒體資產(chǎn)的類型的元數(shù)據(jù),以根據(jù)例如性能、帶寬、功耗和/或其他可應(yīng)用的考慮動態(tài)地識別哪些資源對于恢復(fù)(或備份)該資源是可用和/或最有成本效益的。
[0011]例如,設(shè)備可能注意到與存儲了將要恢復(fù)的資源的部分內(nèi)容數(shù)據(jù)的本地計算機的連接(例如,通過有線或無線的耦接)。該部分內(nèi)容數(shù)據(jù)可從已連接的計算機拉取。然后,該資源中不能從本地計算機獲得的其余部分可被識別為將從云存儲和/或商店拆分地恢復(fù)。結(jié)果,內(nèi)容數(shù)據(jù),比如音樂、應(yīng)用或其他媒體文件可以在云(或云存儲)中備份,但仍能從一臺本地計算機中為該設(shè)備進行恢復(fù)。
[0012]在一個實施例中,例如,可基于相關(guān)的應(yīng)用、媒體類型、或其他可擴展信息選擇文件或資源以進行備份。資源能被作為能從商店獲得的商店資產(chǎn)(例如,可從資產(chǎn)商店獲得的已購買資產(chǎn))進行跟蹤,而不用備份資源的實際內(nèi)容。可選地,另一資源能被作為從商店中不可獲得且需要例如通過云存儲備份和恢復(fù)的用戶數(shù)據(jù)進行跟蹤。應(yīng)用可與包括作為商店資產(chǎn)的該應(yīng)用自身以及作為用戶數(shù)據(jù)的應(yīng)用數(shù)據(jù)的資源相關(guān)。因此,應(yīng)用和相關(guān)聯(lián)的應(yīng)用數(shù)據(jù)可從不同的源中恢復(fù)。
[0013]例如,設(shè)備中所選擇的用于云備份的資源可包括應(yīng)用數(shù)據(jù)但不包括相應(yīng)的應(yīng)用本身。該應(yīng)用可從資產(chǎn)商店被重新下載到設(shè)備,應(yīng)用數(shù)據(jù)可從云存儲或本地計算機恢復(fù)??蛇x地,該應(yīng)用可以從本地計算機同步以從云存儲恢復(fù)應(yīng)用數(shù)據(jù)。用于單獨恢復(fù)應(yīng)用和應(yīng)用數(shù)據(jù)的備份源的其他組合也是可行的。在某些實施例中,應(yīng)用數(shù)據(jù)可在其相應(yīng)的應(yīng)用能(例如,被用戶)使用之前恢復(fù)。該應(yīng)用能在(比如,從云存儲或其他源)發(fā)起應(yīng)用數(shù)據(jù)的恢復(fù)之前被下載或同步,以創(chuàng)建合適的排序。
[0014]在一個實施例中,從備份中向設(shè)備恢復(fù)資源可以在多個階段進行,以使得在恢復(fù)資源的同時,將該設(shè)備保持在可用的工作狀態(tài)中,并能對用戶進行響應(yīng)。例如,對于設(shè)備的雙重階段或兩階段恢復(fù),設(shè)備可進入初始模態(tài)恢復(fù)會話(例如,第一模式),緊接著是后臺恢復(fù)會話(例如,第二模式)。在一個實施例中,該設(shè)備能被用戶使用,從而該設(shè)備在初始模態(tài)恢復(fù)會話中不對用戶輸入進行響應(yīng)。在一個實施例中,初始模態(tài)會話可以是簡潔快速的,以用于恢復(fù)核心用戶文件從而重啟該設(shè)備。接下來,后臺會話可以在單個應(yīng)用在后臺向該設(shè)備進行恢復(fù)的同時,允許用戶使用該設(shè)備。在后臺恢復(fù)會話中,該設(shè)備可以是可操作的以對至少一組用戶輸入進行響應(yīng)。
[0015]在一個實施例中,在兩階段恢復(fù)的模態(tài)會話期間,設(shè)備在它下載系統(tǒng)資源以使該設(shè)備進入用戶特定的工作狀態(tài)時很短暫的不可用。例如,系統(tǒng)資源可包括所有的元數(shù)據(jù)和系統(tǒng)數(shù)據(jù)、賬戶列表、墻紙、SMS (短消息服務(wù))歷史、和/或其它可應(yīng)用的用戶特定非應(yīng)用數(shù)據(jù)。系統(tǒng)數(shù)據(jù)加元數(shù)據(jù)能配置該設(shè)備,例如,使其能像用戶的電話一樣工作。該設(shè)備能在模態(tài)會話后重啟并恢復(fù)使用(come to life)。
[0016]在一個實施例中,在兩階段恢復(fù)的后臺會話中,設(shè)備能從本地計算機(例如,運行來自Apple公司的iTunes?,應(yīng)用)和/或云存儲恢復(fù)數(shù)據(jù)或媒體資產(chǎn)。該數(shù)據(jù)能在后臺會話期間同步郵件和/或接收文本消息。在一個實施例中,資源可根據(jù)使用模式?jīng)Q定的恢復(fù)順序進行恢復(fù)。例如,可以跟蹤應(yīng)用使用以收集使用模式,包括所看的表演/電影,所讀的書,或其它可應(yīng)用的使用統(tǒng)計數(shù)字。在其它實施例中,恢復(fù)順序可取決于資源(或內(nèi)容)的大小,與該資源對應(yīng)的圖標(biāo)在設(shè)備顯示屏上所處的位置(例如,用戶可能將常用的圖標(biāo)放在首頁),或其他可應(yīng)用的因素?;謴?fù)順序可適應(yīng)用戶請求(比如通過用戶在屏幕上點擊以表明對應(yīng)用的優(yōu)先級)被動態(tài)地更新。
[0017]在另一實施例中,在雙重階段(或分為兩部分的)恢復(fù)中的設(shè)備可用但并非所有數(shù)據(jù)已被全部恢復(fù)的時間段內(nèi),可顯示Π (用戶界面)元素以提升用戶體驗,同時避免應(yīng)用錯誤地操作或以非期望的方式操作。例如,表示其目標(biāo)文件或用戶數(shù)據(jù)尚未恢復(fù)的應(yīng)用和/或媒體庫(例如,以播放音樂,視頻,或其他媒體內(nèi)容/資產(chǎn))的圖標(biāo)可被顯示為變灰,或包括進度條以表明該應(yīng)用仍不可用但會變成可用。通過允許用戶點擊該用戶希望被優(yōu)先恢復(fù)的應(yīng)用或照片、或音樂、或視頻的圖標(biāo),可以添加交互性。
[0018]在另一實施例中,描述了一種從第一源和第二源向設(shè)備恢復(fù)資源的方法和裝置。來自第二源的資源的可用性可在已從第一源向設(shè)備恢復(fù)資源的一部分后動態(tài)地確定。在已經(jīng)向設(shè)備恢復(fù)該資源的一部分后,如果確定第二源與設(shè)備的連接比第一源更有效,該資源剩下的部分可從第二源向該設(shè)備恢復(fù)。
[0019]在另一實施例中,通過備份服務(wù)識別向設(shè)備恢復(fù)的第一資源。當(dāng)已從第一源恢復(fù)第一資源的一部分,而第一資源的其余部分尚未恢復(fù)到該設(shè)備時,可將第一源切換為第二源以向該設(shè)備恢復(fù)該第一資源。可從第二源恢復(fù)該第一資源的其余部分。在一個實施例中,可通過第二源識別向該設(shè)備恢復(fù)的第二資源。第二資源能從第二源恢復(fù)到該設(shè)備。
[0020]本發(fā)明的其它特征將從附圖及下面的詳細描述顯而易見。
【專利附圖】

【附圖說明】
[0021]本發(fā)明通過示例的方式闡述,并且不限于附圖中所示,其中相似的圖標(biāo)指代相似的元件,并且其中:
[0022]圖1是圖示用于多階段多源備份和恢復(fù)的網(wǎng)絡(luò)系統(tǒng)的一個實施例的框圖。
[0023]圖2是圖示用于多階段多源備份和恢復(fù)的示例性系統(tǒng)的框圖。
[0024]圖3是圖示使用多個源管理多個階段中的備份和恢復(fù)的示例性系統(tǒng)的框圖。
[0025]圖4是圖示為設(shè)備執(zhí)行增量備份操作的過程的一個實施例的流程圖。
[0026]圖5是圖示在設(shè)備中執(zhí)行增量恢復(fù)操作的過程的一個實施例的流程圖。
[0027]圖6是圖示動態(tài)地對資源進行優(yōu)先級排序以恢復(fù)設(shè)備的過程的一個實施例的流程圖。
[0028]圖7是圖示監(jiān)控設(shè)備的電源以進行備份和/或恢復(fù)操作的示例性系統(tǒng)的框圖。
[0029]圖8是圖示中斷對設(shè)備的備份和/或恢復(fù)操作以保存功率的過程的一個實施例的流程圖。
[0030]圖9示出了可用于此處描述的實施例的數(shù)據(jù)處理系統(tǒng)的一個示例。[0031]圖10圖示了可與此處描述的實施例一起使用的典型計算機系統(tǒng)的一個示例。【具體實施方式】
[0032]此處描述了利用一個或多個源在多個階段中為設(shè)備備份和恢復(fù)文件的方法和裝置。在下面的描述中,列舉了許多具體細節(jié)以提供對本發(fā)明的實施例的全面理解。然而,將對本領(lǐng)域技術(shù)人員顯而易見的是,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實施。在其他的實例中,為了不模糊對該描述的理解,沒有詳細地示出已知組件、結(jié)構(gòu)和技術(shù)。
[0033]說明書中對“一個實施例”或“實施例”的提及意指結(jié)合該實施例描述的特定特征、結(jié)構(gòu)或特性可包括在本發(fā)明的至少一個實施例中。措辭“在一個實施例中”在說明書中各處的出現(xiàn)不必都指代同一實施例。
[0034]在后面的附圖中描繪的過程由處理邏輯執(zhí)行,處理邏輯包括硬件(例如,電路系統(tǒng)、專用邏輯等)、軟件(諸如在通用計算機系統(tǒng)或?qū)S脵C器上運行的軟件)或其組合。盡管下面根據(jù)一些相繼操作來描述上述過程,但應(yīng)理解的是,所描述的實施例中的一些可以不同的順序執(zhí)行。此外,一些操作可以并行而非順序地執(zhí)行。
[0035]在一個實施例中,可獲得用于從設(shè)備備份數(shù)據(jù)或資源的多個源。例如,可經(jīng)由諸如Amazon、S3、Microsoft等的第三方供應(yīng)商在云(或者云存儲裝置、云服務(wù))中提供通用數(shù)據(jù)備份服務(wù)??蓮脑浦械膇Tunes?’商店下載諸如歌曲、電影和/或應(yīng)用等所購買的資產(chǎn)。運行諸如iTiines?的備份服務(wù)軟件的用戶的計算機可用于備份設(shè)備,諸如來自Apple公司的iOS?設(shè)備、iPhone?或iPad?設(shè)備。
[0036]將從設(shè)備備份的資源可以是備份數(shù)據(jù),例如包括設(shè)置、賬戶數(shù)據(jù)、應(yīng)用數(shù)據(jù)、照片、媒體文件、購買的資產(chǎn)和/或其他數(shù)據(jù)文件。在一個實施例中,可從設(shè)備中的現(xiàn)有資源動態(tài)地識別備份數(shù)據(jù)。用戶計算機(例如,桌面計算機或者筆記本計算機)可為設(shè)備存儲備份數(shù)據(jù)??蛇x地或者可替代地,對于備份數(shù)據(jù)中所購買的資產(chǎn),設(shè)備的備份數(shù)據(jù)的子集可經(jīng)由云備份和/或經(jīng)由諸如iTunes?商店的商店存儲在云中。
[0037]在一個實施例中,(例如,通過云中的MBS服務(wù)器維持的)賬戶可由分層數(shù)據(jù)表示,該分層數(shù)據(jù)包括分別與用于該賬戶的不同設(shè)備相對應(yīng)的多個備份(或備份結(jié)構(gòu))。分層數(shù)據(jù)可包括賬戶,該賬戶包含多個不同設(shè)備的一組備份。備份可包括設(shè)備上文件的一組快照??芍С置總€設(shè)備一個備份。
[0038]快照可表示設(shè)備在單一時間點的狀態(tài)??蓮膫浞葜械娜我豢煺者M行恢復(fù),以重建設(shè)備在該時間點的狀態(tài)。快照可從某一數(shù)字(例如,一)開始連續(xù)編號,可以由服務(wù)器分配這些號碼。第一快照可以是該設(shè)備的完整備份,后續(xù)的快照可是基于前一快照的變量增量(delta)。增量快照可包含自前一快照起該設(shè)備上所有添加的,修改的,和刪除的文件。
[0039]一旦其內(nèi)容被上傳,快照可被明確的提交。在某一時間點,可有一個未提交的快照,該未提交的快照可為具有最大號碼的最后的快照。一旦快照被提交,其內(nèi)容可以不被修改,除非將其整個刪除。
[0040]當(dāng)快照被刪除時,只要該快照不是未提交的,則其內(nèi)容可被并入前一快照。結(jié)果,仍然可從任一后續(xù)的快照進行恢復(fù)。目標(biāo)快照中所添加/修改/刪除的文件可以被保留(例如,不會丟失)。刪除未提交的快照可能不會引起合并,而是該內(nèi)容可能被簡單地丟棄。在從所存儲的后續(xù)快照中刪除第二快照,并將后續(xù)快照的文件并入第一快照時,所刪除的文件可能不會被保留,因為第一快照是完整的。第一快照可以不被刪除,除非它是后續(xù)快照中的唯一快照。
[0041]每個備份可包括例如根據(jù)所配置的進步表(例如,每小時的、每天的、每周的、等)從對應(yīng)設(shè)備獲得的快照。每份快照可包括文件或資源列表的描述。每份文件可分成(例如,某一比特大小的)實際數(shù)據(jù)的塊(或文件分塊)以用于云設(shè)備進行存儲。可替代地,文件分塊可以基于將數(shù)據(jù)項拆分成塊的技術(shù),例如,Dominic Giampaolo于2011年I月14日提交的題為“Content Based File Chunking”的臨時專利申請N0.61/433152中所描述的技術(shù),通過引用的方式將其全部內(nèi)容合并于此。
[0042]通常,多個塊可以聚合成作為存儲單元的一個貯存器,以用于例如由第三方供應(yīng)商提供的云服務(wù)??梢愿鶕?jù)請求創(chuàng)建、更新、刪除、禁用或操作備份。例如,可以從備份中移除給定域的文件。云存儲不會存儲重新生成對應(yīng)于存儲在云存儲中的數(shù)據(jù)塊的原始文件的足夠信息。因此,該文件通過數(shù)據(jù)分塊被內(nèi)在地保護。數(shù)據(jù)塊的加密可為存儲在云存儲中的數(shù)據(jù)提供額外等級的保護。
[0043]在一個實施例中,諸如iOS設(shè)備的設(shè)備可通過云中的(例如,托管在MBS服務(wù)器中的)備份服務(wù)發(fā)起備份操作,以識別來自設(shè)備的資源的備份數(shù)據(jù)。例如,可經(jīng)由對應(yīng)于設(shè)備的備份結(jié)構(gòu)在備份服務(wù)中保持描述設(shè)備的備份狀態(tài)的元數(shù)據(jù)。備份狀態(tài)可包括已經(jīng)為該設(shè)備備份的資源的最新的快照或者最近的一系列快照。在一個實施例中,元數(shù)據(jù)可引用(reference)用于該設(shè)備的備份數(shù)據(jù)的經(jīng)由第三方供應(yīng)商存儲在云服務(wù)中的數(shù)據(jù)塊。
[0044]設(shè)備中為備份操作所識別的備份數(shù)據(jù)或文件可拆分成準(zhǔn)備好進行云存儲的實際數(shù)據(jù)比特塊。在一個實施例中,設(shè)備的服務(wù)構(gòu)架中的MMCS代碼可與云中的MMCS服務(wù)器通信,以準(zhǔn)備數(shù)據(jù)塊對所識別的文件進行備份。例如,備份數(shù)據(jù)可以根據(jù)某一塊配置被拆分成多個數(shù)據(jù)塊(例如,每個塊特定的數(shù)據(jù)比特大小)。
[0045]服務(wù)構(gòu)架可確定從為備份所識別的文件準(zhǔn)備的多個數(shù)據(jù)塊中的哪一些當(dāng)前在云中不可用,需要上傳。在一些實施例中,服務(wù)構(gòu)架(例如,經(jīng)由MMCS代碼)可例如經(jīng)由SHA哈希算法或其它合適的算法將每個塊散列到簽名中,作為用于MMCS服務(wù)器(或服務(wù))的標(biāo)識符以確定所識別的塊是否已在云中備份。
[0046]在一個實施例中,文件可以被引用到MMCS中。設(shè)備可以向文件分配任意的標(biāo)識符。設(shè)備可以使用該標(biāo)識符來查閱文件。這種引用可以定期緩慢進入(crawl)MMCS(比如,由服務(wù)器)來垃圾回收文件中未引用的數(shù)據(jù)塊(或文件塊)
[0047]設(shè)備的備份操作可在多個階段中進行,比如建立階段、掃描階段、備份階段、和/或其他可應(yīng)用的階段,來與云中的多種服務(wù)協(xié)合。每個階段可對應(yīng)于操作的隔離抽象層以機會性地允許對云存儲的動態(tài)配置以增加備份操作的效率和/或提升備份操作的性能。
[0048]例如,在建立階段,可確定MBS服務(wù)中是否存在對設(shè)備的備份(或備份結(jié)構(gòu))。如果MBS服務(wù)中沒有該設(shè)備的備份,則可要求MBS服務(wù)為該設(shè)備創(chuàng)建帶有初始元數(shù)據(jù)的備份。在一個實施例中,設(shè)備可包括備份高速緩存區(qū),該備份高速緩存區(qū)反映MBS服務(wù)中與設(shè)備相對應(yīng)的備份的副本。備份高速緩存區(qū)可包括先前為設(shè)備拍下的一個或多個快照。
[0049]在一個實施例中,如有必要(例如,當(dāng)按照與MBS服務(wù)通信的消息,緩存在備份高速緩存區(qū)中的快照已經(jīng)過期時),可重建備份高速緩存區(qū)(例如,通過參照MBS服務(wù))以與MBS服務(wù)同步??蛇x地或附加地,可在建立階段期間確定設(shè)備中是否存在未提交的快照。未提交的快照可以與MBS服務(wù)中存儲的現(xiàn)有快照不對應(yīng),并且可包括尚待備份的資源的描述。在建立階段期間,可創(chuàng)建未提交的快照。
[0050]在一個實施例中,設(shè)備可查詢MBS服務(wù)來確定是否存在未提交的快照,例如以作為確認備份高速緩存區(qū)是最新狀態(tài)的一部分。在備份操作期間,設(shè)備可在掃描其文件系統(tǒng)之后創(chuàng)建未提交的快照。備份高速緩存區(qū)能逐漸地更新以例如反映哪些已經(jīng)向MBS和MMCS服務(wù)備份成功。
[0051]在掃描階段期間,可掃描設(shè)備的文件系統(tǒng)以發(fā)現(xiàn)文件或資源中的變化,比如新的文件、刪除的文件、修改的文件,等等。在一個實施例中,可通過被掃描的文件與備份高速緩存區(qū)中存儲的快照間的對比來識別該變化。在掃描階段期間,可跟蹤哪些文件已被備份,哪些文件需要備份。
[0052]在備份階段,可執(zhí)行實際的文件備份操作。例如,如果需要的話(例如,當(dāng)沒有未提交的快照時),可創(chuàng)建快照。可向MBS服務(wù)發(fā)送請求,以用于在MBS服務(wù)中創(chuàng)建新的文件、修改的文件、和/或刪除的文件的條目??蓮腗BS服務(wù)接收訪問云存儲的配額(quota)認證或權(quán)限,以允許向MMCS服務(wù)發(fā)送備份請求。備份請求可包括描述待備份的文件或文件變化的元數(shù)據(jù)。
[0053]可從MBS服務(wù)接收認證令牌,指示所請求的備份在由MMCS為設(shè)備強加的備份存儲容量限制以內(nèi)。可針對從設(shè)備向存儲裝置供應(yīng)商的一組授權(quán)HTTP (超文本傳輸協(xié)議)請求,向MMCS服務(wù)發(fā)送認證令牌。MMCS服務(wù)可與存儲裝置供應(yīng)商(或云服務(wù))互動,來為設(shè)備獲取認證密鑰??赏ㄟ^認證密鑰將文件的變化(例如,添加/刪除/移除)上傳至云服務(wù)。如果從云服務(wù)收到成功上傳的確認,則可在設(shè)備與MBS服務(wù)之間提交(commit)與上傳相對應(yīng)的快照。一旦快照被創(chuàng)建且內(nèi)容被定義,則該快照可被提交并上傳至MMCS。
[0054]在一個實施例中,MBS服務(wù)可基于在文件級描述文件的元數(shù)據(jù)。MMCS服務(wù)可取決于文件的實際內(nèi)容或數(shù)據(jù)(例如,數(shù)據(jù)塊)。從文件的實際內(nèi)容生成的散列簽名能在MMCS服務(wù)中用作該內(nèi)容的標(biāo)識符。MMCS服務(wù)可以確定通過標(biāo)識符識別的內(nèi)容的部分例如在云存儲中是否為新的(或尚未備份)。MBS服務(wù)可根據(jù)與一個或多個文件相關(guān)聯(lián)的元數(shù)據(jù)決定該一個或多個文件是否為新的或已被更新。
[0055]在特定實施例中,備份服務(wù),例如MBS服務(wù),可為設(shè)備保持一個或多個備份。該備份可包括描述備份數(shù)據(jù)或文件是什么、如何記錄備份數(shù)據(jù)、相應(yīng)設(shè)備的身份,不同備份如何關(guān)聯(lián)(例如,基于備份日期、增量備份關(guān)系等)和/或其他信息的語義。在一個實施例中,備份可與一個賬戶下的一個設(shè)備相關(guān)聯(lián)。每個賬戶可包括多個設(shè)備。備份可包括設(shè)備的多個快照。例如,可每天為設(shè)備的資源拍下快照。每個快照可描述與備份中的前一快照相比,設(shè)備中的文件變化。
[0056]在一個實施例中,可基于多種方式的握手在設(shè)備與服務(wù)之間傳送文件和/或文件的元數(shù)據(jù)來備份設(shè)備的資源,所述服務(wù)諸如有MBS服務(wù)、MMCS服務(wù)、云供應(yīng)商(或存儲)和/或其他可應(yīng)用的服務(wù)。MBS服務(wù)可跟蹤對MMCS服務(wù)的引用。MMCS服務(wù)可跟蹤對云供應(yīng)商的引用,例如以允許設(shè)備動態(tài)地將文件映射到供應(yīng)商指定的結(jié)構(gòu)化數(shù)據(jù)。
[0057]在一個示例實施例中,MMCS服務(wù)可根據(jù)特定的云供應(yīng)商將設(shè)備中的文件識別為項,指示設(shè)備將該項拆分為數(shù)據(jù)塊,為每一數(shù)據(jù)塊生成唯一的標(biāo)識符,并通知設(shè)備該設(shè)備是否需要將所識別的數(shù)據(jù)塊轉(zhuǎn)發(fā)給云供應(yīng)商以供備份。設(shè)備可指示或與MBS通信已將信息放入為該設(shè)備制作的快照中,和/或使得快照與設(shè)備相一致。
[0058]因此,多個服務(wù)能提供用于備份設(shè)備的資源的間接層,以隔離多個層之一內(nèi)的操作,從而不會影響其它層。MBS服務(wù)可跟蹤待備份資源的元數(shù)據(jù),確定哪些文件(或項)已經(jīng)存在而不用備份。MMCS服務(wù)可負責(zé)跟蹤哪些云存儲供應(yīng)商將存儲實際備份數(shù)據(jù),管理云存儲的使用權(quán)限以創(chuàng)建票(ticket)(或憑證)來使得設(shè)備能夠?qū)浞輸?shù)據(jù)上傳至云存儲,和/或執(zhí)行垃圾回收以刪除表示備份不再引用的數(shù)據(jù)塊的結(jié)構(gòu)。MBS服務(wù)可與MMCS服務(wù)管理的云存儲相隔離(或不知道MMCS服務(wù)管理的云存儲)。
[0059]在一個實施例中,在備份操作成功完成以后,在快照被提交前,為備份操作生成的快照可能不被標(biāo)記為一致的。固定(或配置)數(shù)量的最新快照(比如,相當(dāng)于三天內(nèi)每天的快照)可被高速緩存在設(shè)備中或存儲在MBS服務(wù)中??上拗瓶煺盏臄?shù)量以節(jié)省存儲空間。典型地,所存儲的快照中的第一個(或最早的)快照可以是完整的快照,該快照描述了設(shè)備中用于相應(yīng)的備份操作的每個資源。其余的快照可以是增量快照,其描述資源關(guān)于前一快照的隨后變化。
[0060]在備份操作的最后階段期間,在一個實施例中,快照可被合并以瓦解(collapse),例如,將最早的兩個或更多個快照并入合并成一個完整的快照。作為結(jié)果,在提交新的快照時,可將已存儲的快照的全部數(shù)量維持為固定數(shù)量。在某些實施例中,可通知(或指示)MBS服務(wù)以一個原子數(shù)據(jù)庫操作刪除和/或合并現(xiàn)有的快照。作為答復(fù),可從MBS服務(wù)接收表明原子操作是否成功的確認。
[0061]在某些實施例中,可查詢備份源,比如iTunes?商店,以識別可能不能重新下載
的資源列表(例如,應(yīng)用、已購買資產(chǎn)或其他資產(chǎn))。例如,在設(shè)備執(zhí)行內(nèi)容備份操作之前,備份源可確定與設(shè)備相關(guān)的已購買資產(chǎn)中哪些(比如,基于來自該設(shè)備的請求)不可重新下載。不可從備份源重新下載的資源列表的實際內(nèi)容可通過備份服務(wù)(諸如MBS,MMCS,等)存檔或備份。
[0062]在一個實施例中,設(shè)備與MBS服務(wù)間的通信為客戶端服務(wù)器提供了用于管理備份(比如,創(chuàng)建/刪除)和快照(比如,創(chuàng)建/刪除/合并/更新)的協(xié)議。更新快照可以原子方式進行,在這種方式中,對快照的所有變化都被包含(或提交),或者快照根本不被更新。
[0063]在某些實施例中,通過MBS服務(wù)管理快照的協(xié)議可基于文件或資源的元數(shù)據(jù),以獲得更有效和輕量級網(wǎng)絡(luò)通信。元數(shù)據(jù)可描述關(guān)于設(shè)備中文件的信息,比如文件名、對文件的引用、大小、時間戳、所有權(quán)、保護設(shè)置、或其他與文件關(guān)聯(lián)的可應(yīng)用數(shù)據(jù),而不用描述文件的實際內(nèi)容??苫谠獢?shù)據(jù)描述確定需要在備份操作中包括哪些文件或資產(chǎn)??筛鶕?jù)元數(shù)據(jù)來跟蹤單獨的快照之間的變量增量或差異。
[0064]例如,設(shè)備可使用最后修改的時間值維持一個高速緩存區(qū)。請求和響應(yīng)可包括用于在設(shè)備上訪問、刪除、更新、修改或執(zhí)行其他操作的最后修改的時間值。在一個實施例中,對資源的請求可導(dǎo)致更新該資源的母資源的最后修改的時間值。例如,刪除賬戶的備份可更新該賬戶的最后修改的時間值。向快照添加文件可以更新快照的最后修改的時間值以及快照的母備份和賬戶。
[0065]用于管理快照的請求可允許創(chuàng)建新的空的未提交快照,更新先前創(chuàng)建的快照,刪除快照,和/或提交快照。如果為所請求的快照預(yù)留空間將超過相關(guān)賬戶的配額,則響應(yīng)可指示不足的存儲空間。請求可包括快照的屬性,比如設(shè)備名和版本號。
[0066]在另一實施例中,文件列表及其屬性可通過請求從快照獲得。可請求MMCS認證令牌以從MMCS下載文件流。為快照管理文件的請求可包括,例如,創(chuàng)建、刪除、更新、標(biāo)記、或其他可應(yīng)用的操作。如果快照中文件的大小超過預(yù)留空間,則響應(yīng)可指示沖突。在某些實施例中,從快照中刪除文件可能刪除服務(wù)器存儲的底層數(shù)據(jù)庫記錄,被刪除的文件可能不再出現(xiàn)在用于快照的文件列表中??蛇x地,將文件標(biāo)記為已刪除可指示該文件存在于先前的快照中,但不再繼續(xù)存在于設(shè)備中。
[0067]設(shè)備中文件的元數(shù)據(jù)可與一個抽象級(level of abstract)對應(yīng)以例如通過MBS服務(wù)確定備份哪些文件和/或為備份操作創(chuàng)建快照。實際文件內(nèi)容的散列(比如,逐位散列塊)可提供另一抽象級來例如通過MMCS服務(wù)識別備份文件的哪些內(nèi)容需要被上傳。在一個實施例中,相同內(nèi)容的不同文件可與不同的元數(shù)據(jù)描述相關(guān)聯(lián)。因此,基于內(nèi)容散列或數(shù)據(jù)塊簽名的對比可使得具有相同內(nèi)容但不同元數(shù)據(jù)的文件共享備份存儲(比如,來自云)。
[0068]可重新開始和/或切換備份操作。例如,當(dāng)失去網(wǎng)絡(luò)連接時,備份操作可停止。網(wǎng)絡(luò)連接重新建立時,備份操作可重新開始。在一個實施例中,可根據(jù)從文件內(nèi)容(例如,通過MMCS服務(wù))生成的簽名確定為重新開始的備份操作備份哪些文件。如果在備份操作停止前,文件系統(tǒng)中的文件發(fā)生變化,那么在重新開始(或啟動)備份操作前,可再次掃描文件系統(tǒng)。在某些實施例中,為了最優(yōu)化,在咨詢MMCS服務(wù)以確定該文件是否改變前,可在掃描文件系統(tǒng)的同時,將文件的修改時間戳(或值)與備份高速緩存區(qū)中相應(yīng)的時間戳進行比較。
[0069]基于同步錨技術(shù)(例如設(shè)備上的設(shè)備錨和主機上的主機錨),設(shè)備與源或主機之間的備份/恢復(fù)操作可停止(或終止)和重新開始。同步錨技術(shù)的示例描述在Gordon.J.Freedman 發(fā)布的美國專利 N0.7, 807, 403,專利名 “Synchronization Methods andSystems”中,通過引用的方式將其全部內(nèi)容合并于此。
[0070]在一個實施例中,資源可從動態(tài)配置的多個源拆分地恢復(fù)到設(shè)備。例如,已購買資產(chǎn)(比如應(yīng)用、音樂、圖像、視頻、電視演出或其他媒體數(shù)據(jù))可在被請求時從云中的一個或多個商店下載到設(shè)備。已購買資產(chǎn)可存儲在本地計算機(比如,設(shè)備的用戶擁有的),也準(zhǔn)備好恢復(fù)到設(shè)備。
[0071]在一個實施例中,當(dāng)設(shè)備正從云(例如,商店)恢復(fù)已購買資產(chǎn),同時在計算機的近距離范圍內(nèi)移動時,可在設(shè)備與本地計算機之間建立連接(例如,有線或無線連接)。在檢測到連接以及本地計算機中已購買資產(chǎn)的可用性時,設(shè)備可動態(tài)地為已購買資產(chǎn)切換從云到本地計算機的恢復(fù)源,以完成恢復(fù)已購買資產(chǎn)的其余部分(例如,通過托管在本地計算機的iTunes?軟件)。因此,可降低網(wǎng)絡(luò)連接成本,同時提高恢復(fù)性能。
[0072]在某些實施例中,可根據(jù)資源的元數(shù)據(jù)跟蹤設(shè)備的資源從多個源(比如商店、本地計算機、或云存儲)的可用性。如果特定資源已存在于商店或本地計算機中,則該特定資源可從現(xiàn)有的源恢復(fù)到設(shè)備,而不用備份該特定資源的實際內(nèi)容。例如,資源的元數(shù)據(jù)可指示與設(shè)備相關(guān)聯(lián)的賬戶對已購資源的所有權(quán)。已購買資源可很容易的從可用的源(比如來自云的商店,和/或本地計算機)獲得。因此,已購買資源可以從可用的源重新加載而不用備份。
[0073]在一個實施例中,設(shè)備中的資源(諸如設(shè)置、賬戶數(shù)據(jù)、應(yīng)用數(shù)據(jù)、和/或已購買資產(chǎn))可備份到本地計算機。部分所述資源(諸如設(shè)置和/或應(yīng)用數(shù)據(jù))也可備份到云存儲。資源的特定部分(比如已購買資產(chǎn))可以保持在云中的商店并隨時可獲得。在可獲得時,資源可從本地計算機恢復(fù);當(dāng)本地計算機沒有與設(shè)備連接或資源不能位于本地計算機中時,該資源可從云存儲和/或商店恢復(fù)??赏ㄟ^與中央服務(wù)的同步操作同步特定資產(chǎn),比如電子郵件、日歷、或不能通過備份操作進行備份的其他可應(yīng)用資源。
[0074]在特定實施例中,向設(shè)備提供安全令牌以用于備份操作時,元數(shù)據(jù)服務(wù)(比如MBS服務(wù))可選擇允許備份設(shè)備中的哪些資源。例如,可過濾特定的第三方應(yīng)用和/或數(shù)據(jù)并不允許其被備份。在一個實施例中,被過濾不得備份的數(shù)據(jù)可包括被第三方應(yīng)用聲明不需備份的目錄或文檔,比如高速緩存數(shù)據(jù)或可被再次生成的索引(index)。可選地,可根據(jù)與設(shè)備相關(guān)聯(lián)的賬戶規(guī)定的備份數(shù)據(jù)總大小的配額限制識別待備份資源。
[0075]在一個實施例中,可根據(jù)(against)多個源(例如,云存儲、本地計算機、商店等)跟蹤是否為設(shè)備恢復(fù)所有資源(或恢復(fù)操作是否完成),不同資源或特定資源的不同部分可從這些源恢復(fù)。例如,在與設(shè)備通信的本地計算機中運行的iTunes?可確定存儲在云中但不在本地計算機的特定資源尚未恢復(fù)到設(shè)備。該特定資源能通過本地計算機為設(shè)備獲取以完成恢復(fù)操作。
[0076]作為一個例子,為與用戶關(guān)聯(lián)的賬戶激活的新設(shè)備(例如,新手機)可從該賬戶的云備份恢復(fù)。設(shè)備可通過備份服務(wù)(比如帶有用于識別賬戶和設(shè)備的標(biāo)識符的MBS服務(wù))發(fā)起恢復(fù)操作。相應(yīng)地,例如,可通過MBS服務(wù)確定待恢復(fù)資源的描述。可定位云存儲(比如,通過配置、動態(tài)發(fā)現(xiàn)、或從連接的服務(wù)獲得等)來恢復(fù)所確定的資源??蛇x地,如果發(fā)現(xiàn)正運行相應(yīng)的備份服務(wù)應(yīng)用(比如iTunes?)的本地計算機可用(比如,在設(shè)備的連接范圍內(nèi)),則可從本地計算機獲取資源而不用訪問遠程云存儲。
[0077]設(shè)備中的恢復(fù)操作可在多個階段中進行,例如,多個階段包括模態(tài)恢復(fù)階段,接下來是后臺恢復(fù)階段。諸如設(shè)置或元數(shù)據(jù)的必要文件或信息可在模態(tài)恢復(fù)階段首先被原子地恢復(fù)(例如,所有必要文件都被恢復(fù),或者都沒有恢復(fù)),以允許設(shè)備啟動啟進入工作狀態(tài),并很快對用戶可用而不用等待完成剩余的備份操作。在模態(tài)恢復(fù)階段,設(shè)備可為規(guī)定(laydown)系統(tǒng)文件,并不可操作以接收用戶輸入。原子恢復(fù)可保證設(shè)備甚至在資源被完全恢復(fù)前以一致的數(shù)據(jù)集運行。
[0078]接下來,在后臺恢復(fù)階段,恢復(fù)設(shè)備所需的資源的其余部分可在后臺中從可用的備份源(比如云存儲和/或本地計算機)拉取(pull)。例如,在后臺恢復(fù)階段可拉取相當(dāng)大的(sizable)資源,比如媒體資產(chǎn)(例如照片、視頻、語音文件,等)的實際內(nèi)容、第三方應(yīng)用數(shù)據(jù)、或其它可應(yīng)用的資源,而不用影響設(shè)備操作或用戶使用至少某些功能的能力或設(shè)備的性能;例如,用戶在后臺恢復(fù)階段可能能夠發(fā)送文本消息,或瀏覽互聯(lián)網(wǎng),或撥打語音電話。
[0079]在一個實施例中,設(shè)備可與本地計算機(比如,運行iT unes?.應(yīng)用的iTunes?’
計算機)進行同步(比如,通過同步操作),以確保設(shè)備上的特定內(nèi)容或資源(例如,音樂、應(yīng)用、播客、視頻、鈴聲、照片、便簽、電子賬戶設(shè)置、聯(lián)系人、日歷、和書簽)與本地計算機上相應(yīng)資源中用戶選擇的子集相匹配。同步時,應(yīng)用數(shù)據(jù)可從設(shè)備向本地計算機備份(比如,在iTunes?備份中)。諸如應(yīng)用或媒體內(nèi)容的已購買資產(chǎn)可從本地計算機向設(shè)備下載以實現(xiàn)同步(例如,通過iTunes?資料庫)。[0080]在一個實施例中,設(shè)備與本地計算機之間的同步操作可發(fā)生在設(shè)備的后臺恢復(fù)(階段)期間(或之后)。在后臺恢復(fù)前,由于設(shè)備尚未啟動進入工作狀態(tài),設(shè)備與iTunes?計算機之間的通信或連接可能不可用。同步操作可能能夠從本地計算機(例如,作為iTunes?資料庫)向設(shè)備恢復(fù)資產(chǎn)(例如,已購買媒體和/或應(yīng)用)。
[0081]可選地或附加地,同步操作可從本地計算機(例如,作為iTunes?備份)向設(shè)備恢復(fù)應(yīng)用數(shù)據(jù)或用戶數(shù)據(jù)。在一個實施例中,同步操作可包括iTunes?計算機與設(shè)備之
間的對比以識別設(shè)備與其同步的資源列表。恢復(fù)操作和同步操作可依賴于公共模塊,例如設(shè)備中運行的ATC (空中交通管制員)代碼,以從可應(yīng)用的源拉取實際內(nèi)容或比特數(shù)據(jù)。當(dāng)設(shè)備與Tunes?設(shè)備耦接或連接以從Tunes?.設(shè)備傳輸資源,從而用于同步操作和/或恢復(fù)操作時,ATC可自動向系統(tǒng)通知事件,諸如iTunes?同步(或配對)事件。
[0082]在一個實施例中,設(shè)備中的恢復(fù)操作可與相連接的備份服務(wù)(例如iTunes?計算機或MBS服務(wù))核對以確定恢復(fù)資源的最優(yōu)源。可為不同的資源或資產(chǎn)識別不同的源,比如云中的備份存儲(或云備份)、本地計算機中的備份(例如,iTunes⑧備份)、云中的商店
(例如,iTunes?商店)、本地計算機中的本地資料庫(例如,iTunes?資料庫)。一個類
別的數(shù)據(jù)可從一個源恢復(fù),而另一個類別的數(shù)據(jù)可從不同的源恢復(fù)。例如,照片從云存儲恢復(fù)、音樂內(nèi)容從商店恢復(fù)、應(yīng)用從本地資料庫恢復(fù)、應(yīng)用數(shù)據(jù)從云存儲恢復(fù),等。典型地,例如,由于較低廉的連接成本和/或更高的可用網(wǎng)絡(luò)帶寬,與來自云的源相比,優(yōu)選本地計算機中的源。
[0083]在某些實施例中,同步操作可在多個階段進行,比如事務(wù)性階段,接下來是最大努力階段。在事務(wù)性階段期間,可識別元數(shù)據(jù)來描述在設(shè)備與本地計算機之間進行同步的資源列表。元數(shù)據(jù)可從本地計算機以事務(wù)性方式(例如,全部或一個都沒有)接收。在最大努力階段期間,元數(shù)據(jù)描述的資產(chǎn)可從不同的源向設(shè)備同步,這些源是考慮了例如可用性、性能、成本和/或其他可應(yīng)用的因素之后動態(tài)確定的。
[0084]在特定實施例中,用于恢復(fù)資源的不同源可基于例如與資源關(guān)聯(lián)的元數(shù)據(jù)動態(tài)地識別。同步操作可從本地稱接或連接的計算機(例如,iTunes?計算機)推送與設(shè)備同步所需的資源列表的描述。已購買資產(chǎn),例如音樂、視頻、電影、應(yīng)用等,可從云中的商店或本地計算機(例如,通過iTunes?資料庫)傳輸。非從商店購買或獲得的媒體,例如,用戶拍攝的照片或從其他設(shè)備下載的視頻,可從云存儲或本地計算機(比如,通過iTunes?備份)恢復(fù)。
[0085]為提升效率和/或設(shè)備的可用性,可在多階段恢復(fù)的稍后階段(例如,在第一階段或模態(tài)階段之后)有利地應(yīng)用恢復(fù)次序的動態(tài)配置。例如,可識別出資源或資產(chǎn)列表用于在恢復(fù)的開始(或第一)階段進行恢復(fù)。在恢復(fù)的稍后階段(例如用于實際數(shù)據(jù)傳輸?shù)暮笈_階段),選擇接下來恢復(fù)識別出的資源中的哪個可遵循現(xiàn)場(on the fly)確定的順序或優(yōu)先級。多個資源可在恢復(fù)的同時進行傳輸,比如,通過多線程或多進程。
[0086]取決于設(shè)備的工作狀態(tài)和/或各種為尚待恢復(fù)或正在恢復(fù)的資源配置的啟發(fā)式標(biāo)準(zhǔn),選擇下一傳輸資源的順序可在運行時間期間改變。例如,較小大小的和/或需要較少時間傳輸?shù)馁Y源(比如,針對相關(guān)資源具有較高的帶寬)可以排序較高(例如,有被選中作為下一恢復(fù)資源的更高可能性)。
[0087]在一個實施例中,為增加設(shè)備的可用性,可跟蹤設(shè)備的使用以確定資源應(yīng)如何排序或按優(yōu)先級排序以進行恢復(fù)。例如,資源可按照相關(guān)的應(yīng)用進行排序。在某些實施例中,可向最近使用的應(yīng)用的資源分配比較早使用的應(yīng)用的資源更高的優(yōu)先級。在預(yù)料到與該應(yīng)用相關(guān)的應(yīng)用數(shù)據(jù)可能很快被用戶訪問時,可將當(dāng)前使用的應(yīng)用(比如,電影或視頻播放)標(biāo)記為最近使用的應(yīng)用。
[0088]在某些實施例中,待恢復(fù)的資源可根據(jù)與資源相關(guān)聯(lián)的圖標(biāo)的顯示順序進行優(yōu)先級排序。例如,與資源關(guān)聯(lián)的應(yīng)用圖標(biāo)和/或媒體圖標(biāo)可按照顯示順序呈現(xiàn)在設(shè)備顯示屏上。顯示順序可反了設(shè)備的用戶含蓄地指定的優(yōu)先級??蛇x地或附加地,可接收用戶輸入(例如,顯示屏上的點擊)來動態(tài)控制資源該如何傳輸(例如,暫停、重新開始、開始等)。
[0089]在一個實施例中,可按照基于啟發(fā)性配置的特征和/或動態(tài)識別的因素分派的順序構(gòu)建待恢復(fù)的資源列表。特征可包括資源的標(biāo)準(zhǔn)信息,比如大小、類型、位置、和/或其他與資源有關(guān)的可應(yīng)用元數(shù)據(jù)。例如,已購買資產(chǎn)類型中的資源可比用戶創(chuàng)建的內(nèi)容類型中的資源有更高的恢復(fù)優(yōu)先級。資源的位置可表明該資源是在哪兒為設(shè)備創(chuàng)建或購買的。與設(shè)備的當(dāng)前位置更近的位置關(guān)聯(lián)的資料與具有遠離設(shè)備的另一位置的另一資源相比具有更高的優(yōu)先級。
[0090]可基于不斷變化的工作環(huán)境或設(shè)備中的使用模式現(xiàn)場確定動態(tài)因素。例如,動態(tài)因素可包括可用的(恢復(fù))源(比如,云存儲、商店、本地計算機,等)、應(yīng)用的使用歷史、與應(yīng)用圖標(biāo)相關(guān)的顯示順序、用戶輸入或其他可應(yīng)用的因素。典型地,可從可用的源傳輸?shù)馁Y源比不能從可用的源中找到的另一資源擁有較高的優(yōu)先級。資源的使用歷史可包括,例如,頻率、上次訪問該資源時間(例如,通過應(yīng)用)、使用計數(shù)、和/或其他使用統(tǒng)計。具有較高使用頻率的資源可排序較高。
[0091]在一個實施例中,可在多階段恢復(fù)的第一階段(例如模態(tài)階段)期間構(gòu)建將恢復(fù)的資源的初始列表。啟發(fā)性地確定的特性和/或動態(tài)因素可表示為啟發(fā)式權(quán)重,其被分配和組合以例如根據(jù)用于每個資源的分別組合的啟發(fā)式權(quán)重確定資源列表之間的恢復(fù)順序。在隨后的恢復(fù)階段期間,具有最高權(quán)重的資源可被選中,然后下載。
[0092]例如,排序的將恢復(fù)的資源列表可被轉(zhuǎn)發(fā)到能夠從至少一個恢復(fù)源(例如,云存儲、商店和/或iTunes?.計算機)恢復(fù)資源的恢復(fù)過程。該恢復(fù)過程可跟蹤恢復(fù)的狀態(tài)、監(jiān)控環(huán)境的改變(例如,網(wǎng)絡(luò)連接、電源狀態(tài))、檢測用戶輸入等,以改變資源進行恢復(fù)的順序??梢灾袛嗷謴?fù)(例如,經(jīng)由用戶輸入和/或環(huán)境的改變)以重建具有新的順序的新的資源列表,從而以新建的列表重新開始恢復(fù)。
[0093]在一個實施例中,按照當(dāng)前排列的為恢復(fù)識別的資源列表可保持從特定源(例如,iTunes?電腦、或云存儲、等)恢復(fù)的資源的隊列。針對不同的源,可保持不同的隊列。在某些實施例中,隨著在運行過程中動態(tài)的構(gòu)建資源列表(例如,由于用戶中斷、選擇、和/或其他系統(tǒng)事件,等),可按照資源的新建資源列表來更新每個隊列以繼續(xù)恢復(fù)。
[0094]在某些實施例中,按照如何通過設(shè)備使用資源,資源的實際內(nèi)容可以協(xié)作的方式進行恢復(fù)。例如,資源可圍繞應(yīng)用被沙箱放置(sandbox),以允許在恢復(fù)設(shè)備時,該應(yīng)用很快可被訪問。應(yīng)用程序和相關(guān)的應(yīng)用數(shù)據(jù)(或設(shè)置)可沙箱放置以供一起恢復(fù)。[0095]可在沙箱中保持資源對應(yīng)用(比如可執(zhí)行程序、資料庫、應(yīng)用設(shè)定、應(yīng)用數(shù)據(jù)(或用戶數(shù)據(jù),比如用戶通過應(yīng)用創(chuàng)建的文檔)等)的依存性來識別向設(shè)備恢復(fù)這些資源的順序。甚至在所有沙箱資源完成恢復(fù)前,該應(yīng)用已經(jīng)對設(shè)備用戶可用。例如,運行音樂播放器應(yīng)用需要播放器設(shè)置在音樂內(nèi)容文件傳輸?shù)皆O(shè)備之前恢復(fù)。
[0096]在一個實施例中,多階段存儲可與用戶界面協(xié)作,使得用戶在恢復(fù)(比如,在設(shè)備完全恢復(fù)前)期間能夠與設(shè)備互動??娠@示占位符來實時更新恢復(fù)的各階段的狀態(tài)和進度。按照通過用戶界面接收的輸入,可對資源的實際傳輸進行動態(tài)重新排序。
[0097]例如,可恢復(fù)應(yīng)用(例如,照片瀏覽器、視頻播放器、音樂播放器,等)及相關(guān)的應(yīng)用設(shè)定,在用戶界面上呈現(xiàn)相應(yīng)的應(yīng)用圖標(biāo)以表明該應(yīng)用可用。為動態(tài)的改變恢復(fù)順序,當(dāng)探測到用戶與該應(yīng)用的互動時(比如,觀看照片),可將更高的優(yōu)先級分配給與應(yīng)用數(shù)據(jù)匕如,照片)相關(guān)的資源。
[0098]在一個實施例中,在恢復(fù)設(shè)備時,可以通過應(yīng)用來跟蹤對應(yīng)用的恢復(fù)狀態(tài)。對應(yīng)用的恢復(fù)狀態(tài)可以例如通過“旋轉(zhuǎn)器”類型的用戶界面元素、諸如溫度計式的進度指示器的表示、或其它可應(yīng)用的用戶界面元素來呈現(xiàn)。用于該應(yīng)用的資產(chǎn)是否可獲得可通過用戶界面來指示。
[0099]在特定實施例中,呈現(xiàn)恢復(fù)狀態(tài)的用戶界面元素可包括基于影響恢復(fù)的整體速度的因素的組合的復(fù)合進度指示器。例如,可以根據(jù)應(yīng)用的大小、應(yīng)用從應(yīng)用源的下載速度、用戶數(shù)據(jù)大小、用戶數(shù)據(jù)從用戶數(shù)據(jù)源的下載速度、安裝時間、媒體內(nèi)容(例如,音樂、加密數(shù)據(jù)等)的解密時間和/或其他可應(yīng)用的因素來計算這些因素。復(fù)合進度指示器可以基于媒體類型和/或環(huán)境(例如,對于踏板環(huán)境、iPod?應(yīng)用等)呈現(xiàn)或顯示為直觀唯一的溫度計式指示器、餅狀圖式指示器或其他可應(yīng)用的用戶界面式指示器。
[0100]在一些實施例中,可基于恢復(fù)的狀態(tài)呈現(xiàn)(或使能)不同的用戶界面組件/功能。例如,已被識別為恢復(fù)(例如,在恢復(fù)的第一階段中)但尚未被恢復(fù)的資產(chǎn)可以變灰,例如,以禁用用戶對用于資產(chǎn)的應(yīng)用的激活。然而,對于尚未恢復(fù)的資產(chǎn)可以允許諸如重新排序、重新命名和/或刪除的的特定永和界面操作。在一些實施例中,恢復(fù)的狀態(tài)可以包括資產(chǎn)
的可用性或不可用性。源接口模塊可以確定將從源(例如,iTunes?商店、資產(chǎn)商店或其他合適的存儲裝置)恢復(fù)的資產(chǎn)是否當(dāng)前不可用,例如,在源中不存在和/或與錯誤的訪問憑證(例如,包括在資產(chǎn)的元數(shù)據(jù)中的口令)關(guān)聯(lián)。
[0101]在一個實施例中,針對恢復(fù)所識別的資源或資產(chǎn)列表可以例如保持在ATC模塊或公共模塊中,以用于同步和恢復(fù)操作,從而動態(tài)地改變恢復(fù)順序和/或報告恢復(fù)進度。應(yīng)用可通過插件模塊(例如,資料庫)和/或API (應(yīng)用編程接口)訪問恢復(fù)進度。相應(yīng)地,應(yīng)用可以通過用戶界面操作(例如,使圖標(biāo)變灰、旋轉(zhuǎn)圖標(biāo)、移動進度條或其他可應(yīng)用的用戶界面改變等)提供對恢復(fù)進度的實時更新。例如,用戶界面可以為應(yīng)用呈現(xiàn)恢復(fù)進度以指示已經(jīng)為該應(yīng)用恢復(fù)了 20%或者其它百分比的資產(chǎn)。
[0102]應(yīng)用可以中斷或者改變在后臺階段工作的恢復(fù)操作。例如,用戶可以點擊用于從商店購買的媒體資產(chǎn)(例如,歌曲或視頻)的應(yīng)用。作為響應(yīng),應(yīng)用可以,例如經(jīng)由插件模塊或者API,請求例如通過ATC模塊對資產(chǎn)傳輸重新進行優(yōu)先級排序。可以命令用于云中的資產(chǎn)商店的源接口模塊(例如,itunestored)將用戶點擊的媒體資產(chǎn)放在關(guān)聯(lián)的隊列頂端以重新開始恢復(fù)或傳輸。[0103]在一個實施例中,設(shè)備可以監(jiān)控在備份操作期間電源的狀態(tài),以保持魯棒的用戶體驗。在檢測到與電源的改變相關(guān)的系統(tǒng)事件時,設(shè)備可以以透明的方式終止或取消備份(或恢復(fù))資源的進程(例如,在后臺中),而不被用戶發(fā)現(xiàn)。到設(shè)備的系統(tǒng)事件可以通過例如拔掉插頭或者斷開電源線、感應(yīng)墊、或其它電源傳輸機制來引起。
[0104]在一些實施例中,可以基于監(jiān)控設(shè)備是否插到具有足夠功率的電源(例如,如果電源不具有足夠的功率則停止備份)來生成??商鎿Q地或者可選地,事件可以基于設(shè)備中的屏幕是開還是關(guān)和/或設(shè)備的網(wǎng)絡(luò)連接的狀態(tài)。例如,如果屏幕打開(例如,以無論什么原因),則可取消對設(shè)備的自動備份以避免影響用戶界面性能。例如,如果事件指示設(shè)備不再連接到WiFi網(wǎng)絡(luò),則可停止自動備份以避免經(jīng)由蜂窩電話網(wǎng)絡(luò)使用蜂窩數(shù)據(jù)。
[0105]在一些實施例中,可發(fā)出警報以向用戶提供選擇是否繼續(xù)備份/恢復(fù)的選項。設(shè)備可保持供電在工作狀態(tài),例如以保持電池電量,而沒有用戶未知的由備份/恢復(fù)操作引起的后臺中的功率耗用。
[0106]在一個實施例中,可在設(shè)備中保持備份/恢復(fù)狀態(tài)以使得例如當(dāng)外部電源線被插回時備份/恢復(fù)操作能夠重新開始。可以重新開始備份操作以重新掃描該設(shè)備,從而識別哪些資源已被備份,而無需對例如在外部電源線被拔掉之前已被備份的資源執(zhí)行不必要的備份操作。
[0107]圖1是圖示根據(jù)此處描述的一個實施例用于多階段多源備份和恢復(fù)的網(wǎng)絡(luò)系統(tǒng)的一個實施例的框圖。網(wǎng)絡(luò)系統(tǒng)100可包括動態(tài)配置的網(wǎng)絡(luò)109,其連接服務(wù)101、103、105、107、117與設(shè)備111、113。例如,諸如電話設(shè)備的客戶端設(shè)備113可以基于設(shè)備113位于何處而偶發(fā)地與資產(chǎn)商店服務(wù)107連接。設(shè)備113可以本地耦接或者直接連接(例如,經(jīng)由電線)到本地備份設(shè)備111,本地備份設(shè)備111可以是能夠訪問大容量存儲設(shè)備(諸如硬盤、固態(tài)設(shè)備、閃存或其他存儲設(shè)備)的桌面計算機。在一個實施例中,客戶端設(shè)備113可經(jīng)由在運行中(on the fly)被識別的多個源(例如,服務(wù)器、服務(wù)或本地設(shè)備)101、103、105、107、
111、117被備份和/或恢復(fù)。諸如服務(wù)101、103、105、107、111、117或其它適當(dāng)?shù)膬?nèi)容服務(wù)的備份服務(wù)或源在被請求時可能能夠向設(shè)備(諸如設(shè)備113)恢復(fù)資產(chǎn)或內(nèi)容,而無需該設(shè)備備份該資產(chǎn)。
[0108]圖2是圖示根據(jù)此處描述的一個實施例用于多階段多源備份和恢復(fù)的示例性系統(tǒng)的框圖。在一個實施例中,系統(tǒng)200可以基于圖1中的客戶端設(shè)備113運行操作環(huán)境201,該操作環(huán)境可以基于來自Apple公司的iOS?操作系統(tǒng)或者其它可應(yīng)用的操作系統(tǒng)。
[0109]系統(tǒng)201可包括利用所選的源經(jīng)由網(wǎng)絡(luò)接口模塊203備份和恢復(fù)設(shè)備的資源的備份/恢復(fù)管理模塊207。例如,該資源可以包括文件系統(tǒng)217中的文件。模塊207可以根據(jù)用戶可配置的進度表(例如,每小時的,每天的)和/或根據(jù)來自經(jīng)由遠程設(shè)備和/或用戶輸入接收的請求的需要發(fā)起備份/恢復(fù)操作。在一些實施例中,模塊207可以響應(yīng)于經(jīng)由系統(tǒng)事件處理器模塊205監(jiān)控的系統(tǒng)事件,諸如外部電源的損失(例如,當(dāng)外部電源線未插上時)而中斷或者重新開始備份/恢復(fù)操作。
[0110]本地數(shù)據(jù)庫209可以高速緩存或者存儲為設(shè)備備份的一個或多份快照??煺湛梢员硎驹谀骋粫r間點備份的設(shè)備的資源的狀態(tài)。備份/恢復(fù)操作可以使得系統(tǒng)201能夠回到對應(yīng)于快照的先前狀態(tài)。
[0111]在一個實施例中,諸如應(yīng)用213的一個或多個應(yīng)用可以例如經(jīng)由狀態(tài)接口模塊221與備份/恢復(fù)管理模塊207通信。應(yīng)用213可以作為插件程序或者經(jīng)由API接口與狀態(tài)接口模塊221連接。在一個實施例中,應(yīng)用213可以關(guān)聯(lián)的資源的備份/恢復(fù)狀態(tài)以經(jīng)由用戶接口模塊225呈現(xiàn)進程。
[0112]可替換地,應(yīng)用213可以向模塊207中繼經(jīng)由用戶接口模塊225接收的用戶請求(例如,用戶點擊操作)以重新排序或者改變運行中的備份/恢復(fù)操作。用戶請求可以經(jīng)由基于觸摸屏的、基于鼠標(biāo)的、基于指針的、基于語音的、或者其它可應(yīng)用的用戶接口技術(shù)接收。在一個實施例中,應(yīng)用213的使用歷史(諸如使用計數(shù)、使用頻率、使用時間、或其它可應(yīng)用的使用統(tǒng)計數(shù)字等)可以記錄在使用歷史211中。模塊207可以基于經(jīng)由使用歷史211收集的信息動態(tài)地配置備份/恢復(fù)操作。
[0113]圖3是圖示根據(jù)此處描述的一個實施例用于管理多個階段中的備份和恢復(fù)的示例性系統(tǒng)的框圖。系統(tǒng)300可以基于圖2中包括備份/恢復(fù)管理模塊207的系統(tǒng)200。在一個實施例中,系統(tǒng)300可以包括能夠發(fā)現(xiàn)和/或接口連接多個備份/恢復(fù)源的用于執(zhí)行備份/恢復(fù)操作的服務(wù)構(gòu)架309。
[0114]例如,存儲接口模塊301 (例如,運行為itunestored進程)可與諸如圖1的商店107的可用商店通信,以傳輸購買的資源。云接口模塊307可與諸如圖1的云備份服務(wù)101的云存儲通信,為設(shè)備中的備份/恢復(fù)資源傳輸實際內(nèi)容。本地設(shè)備接口模塊305 (例如,運行為ituned進程)可通過與本地計算機中運行的對應(yīng)服務(wù)(諸如托管在圖1中的本地備
份設(shè)備中的iTunes?)交換消息來進行備份、恢復(fù)和/或同步資源。在一個實施例中,接口模塊301、305、307可共享公共接口引擎303,諸如ATC弓丨擎或模塊,其能夠以比接口模塊
301、305、307低的抽象度執(zhí)行數(shù)據(jù)傳輸。
[0115]多階段處理器模塊311 (例如,運行為backupd進程)可以管理備份/恢復(fù)操作的不同階段。例如,多階段處理器模塊311可利用備份服務(wù)105 (例如,根據(jù)配置的進度表)來發(fā)起備份操作,以識別將備份的資源的快照的描述。在一個實施例中,多階段處理器模塊311可在模態(tài)階段(或者第一階段)和/或后續(xù)階段(例如,后臺階段)中恢復(fù)哪些資源,該后續(xù)階段可為較少模態(tài)的(例如,允許與用戶交互)。
[0116]在一些實施例中,資源排隊處理器模塊313可以例如根據(jù)配置的啟發(fā)式算法和/或用戶請求動態(tài)地重新排序資源以進行恢復(fù)和/或備份。資源或資產(chǎn)可以傳輸?shù)?自根據(jù)服務(wù)構(gòu)架309的分離的隊列排序的不同資源。在一個實施例中,響應(yīng)于在設(shè)備的恢復(fù)期間(例如,在后臺中)從應(yīng)用接收到的用戶點擊動作或其他UI動作(例如,鼠標(biāo)單擊、語音命令、鍵盤選擇、手勢等),資源排隊處理器模塊313可以對支持應(yīng)用并有待恢復(fù)的資源進行重新排序。資源排隊處理器模塊313可以指示服務(wù)構(gòu)架309更新隊列以允許例如下載與該應(yīng)用關(guān)聯(lián)的資源的更高優(yōu)先級。
[0117]圖4是圖示根據(jù)此處描述的一個實施例為設(shè)備執(zhí)行增量備份操作的過程的一個實施例的流程圖。示例性過程400可以通過處理邏輯來執(zhí)行,該處理邏輯可包括硬件(電路系統(tǒng)、專用邏輯等)、軟件(諸如運行在專用機器上的軟件)或其組合。例如,過程400可以通過圖2中的系統(tǒng)200的一些組件來執(zhí)行。
[0118]在一個實施例中,過程400的處理邏輯可以執(zhí)行包括至少兩個步驟的備份操作。過程400的處理邏輯可以向備份服務(wù)(例如,MBS)傳送元數(shù)據(jù)以從該備份服務(wù)接收對內(nèi)容服務(wù)(例如,MMCS)進行認證的令牌。接下來,過程400的處理邏輯可以使用該令牌向內(nèi)容服務(wù)上傳實際內(nèi)容。備份設(shè)備中用于文件的元數(shù)據(jù)可以利用認證令牌進行更新。
[0119]在塊401,過程400的處理邏輯可以在備份管理服務(wù)器(例如,MBS)中定位對應(yīng)于設(shè)備的備份。如果沒有找到對應(yīng)于設(shè)備的現(xiàn)有備份,則可以新創(chuàng)建該備份。在塊403,過程400的處理邏輯可以重建快照高速緩存(或清單高速緩存)來與備份管理服務(wù)器進行同步。在塊405,過程400的處理邏輯可以識別前一備份操作的快照。所識別的快照可以是未提交的快照或者新創(chuàng)建的快照。所識別的快照可以包括描述文件中的文件的元數(shù)據(jù)。
[0120]在塊407,過程400的處理邏輯可以掃描文件系統(tǒng),以例如通過與所識別的快照的比較來獲得文件系統(tǒng)的改變(例如,新文件、刪除的文件、修改的文件等)。在塊409,過程400的處理邏輯可通過與備份管理服務(wù)器、備份服務(wù)管理服務(wù)器(例如,MMCS)和存儲供應(yīng)商服務(wù)器(例如,Amazon、S3或云存儲等)協(xié)調(diào)的事務(wù)啦執(zhí)行備份操作。在塊411,過程400的處理邏輯可以合并先前創(chuàng)建的快照(例如,刪除舊快照和/或保持對應(yīng)于整組文件的具有多份增量快照的一個完整快照,每份增量快照對應(yīng)于根據(jù)前一快照對該組文件的增量改變)。
[0121]圖5是圖示根據(jù)此處描述的一個實施例在設(shè)備中執(zhí)行增量恢復(fù)操作的過程的一個實施例的流程圖。示例性過程500可以通過處理邏輯來執(zhí)行,該處理邏輯可包括硬件(電路系統(tǒng)、專用邏輯等)、軟件(諸如運行在專用機器上的軟件)或其組合。例如,過程500可以通過圖2中的系統(tǒng)200的一些組件來執(zhí)行。
[0122]在塊501,過程500的處理邏輯可以從云備份向設(shè)備(例如,iOS?設(shè)備)模態(tài)恢復(fù)系統(tǒng)文件,而不響應(yīng)來自用戶的輸入。設(shè)備的操作系統(tǒng)在模態(tài)恢復(fù)期間可以是可用的和在運行中的。在塊503,過程500的處理邏輯可以利用所恢復(fù)的系統(tǒng)文件重新啟動設(shè)備到用戶的工作狀態(tài)。
[0123]在塊505,過程500的處理邏輯可以在后臺將文件恢復(fù)到設(shè)備。資產(chǎn)(例如,所購買的或者傳輸?shù)馁Y產(chǎn))可以從云商店(例如,iTunes?商店)下載,數(shù)據(jù)可以從云備份恢復(fù)。在塊507,過程500的處理邏輯可以從用戶計算機同步/拆分地恢復(fù)文件(例如,運行iTunes?備份軟件)。該文件可以包括所購買的資產(chǎn)和/或未從云備份恢復(fù)的數(shù)據(jù)。
[0124]圖6是圖示根據(jù)此處描述的一個實施例動態(tài)地對資源進行優(yōu)先級排序以恢復(fù)設(shè)備的過程的一個實施例的流程圖。示例性過程600可以通過處理邏輯來執(zhí)行,該處理邏輯可包括硬件(電路系統(tǒng)、專用邏輯等)、軟件(諸如運行在專用機器上的軟件)或其組合。例如,過程600可以通過圖2中的系統(tǒng)200的一些組件來執(zhí)行。
[0125]在塊601,過程600的處理邏輯可以跟蹤托管在設(shè)備(例如,基于iOS?的移動設(shè)
備)中的內(nèi)容和/或應(yīng)用的使用模式(例如,次數(shù)、使用時間、使用位置、使用持續(xù)時間等)。在塊603,過程600的處理邏輯可以創(chuàng)建向設(shè)備恢復(fù)的應(yīng)用和/或內(nèi)容。在塊605,過程600的處理邏輯可以確定設(shè)備的當(dāng)前位置。在塊607,過程600的處理邏輯可以根據(jù)基于使用模式的順序、與應(yīng)用和/或內(nèi)容(例如,大小、類型等)相關(guān)聯(lián)的可應(yīng)用的元數(shù)據(jù)和/或當(dāng)前位置處的可用性對待恢復(fù)的應(yīng)用和/或內(nèi)容的列表進行優(yōu)先級排序。
[0126]在塊609,過程600的處理邏輯可以使用按優(yōu)先級進行排序的列表在當(dāng)前位置處向設(shè)備恢復(fù)應(yīng)用和/或內(nèi)容。在塊611,過程600的處理邏輯可以例如經(jīng)由點擊輸入檢測指示關(guān)于一個或多個應(yīng)用和/或內(nèi)容的所需恢復(fù)優(yōu)先級的用戶請求。在塊613,過程600的處理邏輯可以根據(jù)所請求的所需恢復(fù)優(yōu)先級動態(tài)地改變應(yīng)用和/或內(nèi)容的按優(yōu)先級排序的列表進行恢復(fù)的順序。[0127]圖7是圖示根據(jù)此處描述的一個實施例監(jiān)控用于備份和/或恢復(fù)的設(shè)備的電源的示例性系統(tǒng)的框圖。系統(tǒng)700可以基于客戶端設(shè)備,諸如圖1中的設(shè)備113。
[0128]系統(tǒng)700可配置成響應(yīng)于檢測到已停止從外部電源(例如,AC/DC適配器、太陽能電池板、感應(yīng)充電器等)719充電而終止已經(jīng)開始且正在進行中的空中(無線)備份操作。系統(tǒng)700包括外部電源端口 713 (諸如耦接到AC/DC適配器或者其它外部電源的用于插頭的插孔或插座)和電池717,電池717在充電控制器的控制下充電。
[0129]電源檢測器709耦接到外部電源端口并耦接到處理系統(tǒng)711,處理系統(tǒng)711可以是芯片上基于微處理器的系統(tǒng)或者其它處理系統(tǒng);電源檢測器監(jiān)控外部電源的可用性以及充電過程的狀態(tài),并基于該監(jiān)控確定充電過程是否由于從外部電源斷開而終止。電源檢測器可以響應(yīng)于檢測到充電過程已經(jīng)由于斷開而終止,生成使得處理系統(tǒng)終止無線備份操作的終止信號(例如,耦接到處理系統(tǒng)的總線上的中斷信號)。
[0130]在一個實施例中,備份操作在終止之前已經(jīng)開始并且正在進行中,并且正在備份可存儲在系統(tǒng)700的存儲器715中的軟件或用戶數(shù)據(jù)(例如,聯(lián)系人、日歷條目、用戶文本文件、用戶媒體文件,諸如歌曲或照片等)或兩者。系統(tǒng)700中的處理系統(tǒng)可執(zhí)行此處描述的任一備份方法以使得軟件和/或用戶數(shù)據(jù)能夠通過備份操作在諸如耦接到網(wǎng)絡(luò)703的服務(wù)器701的遠程設(shè)備上存儲。備份過程通過系統(tǒng)700中的一個或多個無線電(例如,WiFi無線電或蜂窩電話無線電)707無線地執(zhí)行,這些無線地耦接到系統(tǒng)700中的處理系統(tǒng)并且耦接到一個或多個網(wǎng)絡(luò)。網(wǎng)絡(luò)可以是單個網(wǎng)絡(luò)(例如,無線LAN)或多個網(wǎng)絡(luò)或耦接到因特網(wǎng)的蜂窩電話網(wǎng)絡(luò)等。
[0131]響應(yīng)于終止信號,處理系統(tǒng)可以立即或者在為備份操作中當(dāng)前處理的文件完成備份操作之后終止該進行中的備份過程(該過程在此時是未完成的)。此處描述的處理系統(tǒng)和/或一個或多個服務(wù)器可以使用簽名或同步錨或其他機制來記錄原子備份操作,以記錄在提前終止的備份操作中已經(jīng)完成了什么操作以及在提前終止的備份操作中還有什么操作沒有完成。備份操作的終止可以由系統(tǒng)700自動地執(zhí)行,而不需要用戶請求或互動。
[0132]當(dāng)系統(tǒng)700被再次從外部電源充電時,備份過程可以從終止的狀態(tài)重新開始。在一個實施例中,當(dāng)系統(tǒng)700通過外部電源充電時,該系統(tǒng)700可以根據(jù)此處描述的一個或多個方法進行備份,當(dāng)其從該電源斷開時系統(tǒng)700終止備份,并且當(dāng)重新開始充電時系統(tǒng)700從終止的備份狀態(tài)重新開始。因此,在一個實施例中,響應(yīng)于檢測到已經(jīng)與外部電源連接,備份過程開始或者重新開始,現(xiàn)在如圖8中所示對系統(tǒng)700中的電池進行充電。
[0133]圖8是圖示根據(jù)此處描述的一個實施例中斷對設(shè)備的備份和/或恢復(fù)操作的過程的一個實施例的流程圖。示例性過程800可以通過處理邏輯來執(zhí)行,該處理邏輯可包括硬件(電路系統(tǒng)、專用邏輯等)、軟件(諸如運行在專用機器上的軟件)或其組合。例如,過程800可以通過圖2中的系統(tǒng)200或者圖7中的系統(tǒng)700的一些組件來執(zhí)行。
[0134]在塊801,過程800的處理邏輯可以確定內(nèi)部電池正在充電。在塊803,過程800的處理邏輯可以利用遠程備份服務(wù)器以后臺處理開始備份操作,并監(jiān)控內(nèi)部電池的充電狀態(tài)。在塊805,過程800的處理邏輯可以根據(jù)充電狀態(tài)確定內(nèi)部電池的充電已經(jīng)終止(例如,從AC/DC適配器斷開等)。在塊807,過程800的處理邏輯可以響應(yīng)于檢測到電池的充電已經(jīng)終止來確定終止備份操作。在塊809,過程800的處理邏輯可以響應(yīng)于檢測到電池開始充電而重新開始備份操作。[0135]圖9示出了可用于此處描述的實施例的數(shù)據(jù)處理系統(tǒng)的一個示例。圖9中示出的數(shù)據(jù)處理系統(tǒng)900包括處理系統(tǒng)911,其可以是一個或多個微處理器或者可以是芯片集成電路上的系統(tǒng),系統(tǒng)900還包括用于存儲數(shù)據(jù)和程序以由處理系統(tǒng)執(zhí)行的存儲器901。系統(tǒng)900還包括音頻輸入/輸出子系統(tǒng)905,其可以包括麥克風(fēng)和揚聲器,以例如用于通過麥克風(fēng)和揚聲器回放音樂或提供電話功能。在至少一些實施例中,系統(tǒng)900可以通過網(wǎng)絡(luò)或者本地連接自動地或者手動地執(zhí)行所描述的多階段多源恢復(fù)和備份。在一個實施例中,系統(tǒng)900可包括圖2中示出的系統(tǒng)。
[0136]顯示控制器和顯示設(shè)備907為用戶提供可視用戶界面,該數(shù)字界面可包括圖形用戶界面,其在運行OS X?操作系統(tǒng)軟件時與Macintosh計算機上示出的界面類似。系統(tǒng)900還包括與另一數(shù)據(jù)處理系統(tǒng)通信的一個或多個無線收發(fā)器903。無線收發(fā)器可以是WiFi收發(fā)器、紅外收發(fā)器、藍牙收發(fā)器和/或無線蜂窩電話收發(fā)器。應(yīng)理解,在一些實施例中未示出的附加組件也可以是系統(tǒng)900的一部分,并且在一些實施例中,可以再數(shù)據(jù)處理系統(tǒng)使用比圖9中所示較少的組件。
[0137]數(shù)據(jù)處理系統(tǒng)900還包括被提供以允許用戶向系統(tǒng)提供輸入的一個或多個輸入設(shè)備913。這些輸入設(shè)備可以是小鍵盤或鍵盤或觸控面板或多點觸控面板。數(shù)據(jù)處理系統(tǒng)900還包括可選的輸入/輸出設(shè)備915,其可以是基座連機器。應(yīng)理解,可使用未示出的一條或多條總線以業(yè)界已知的方式來互連各個組件。圖9中示出的數(shù)據(jù)處理系統(tǒng)可以是手持計算機或個人數(shù)字助理(PDA)、或者具有PDA類似功能的蜂窩電話、或者包括蜂窩電話的手持計算機、或者注入iPod的媒體播放器、或者組合這些設(shè)備的方面或功能的設(shè)備,諸如在一個設(shè)備中組合了 PDA和蜂窩電話的媒體播放器。在其它實施例中,數(shù)據(jù)處理系統(tǒng)900可以是網(wǎng)絡(luò)計算機或嵌入另一設(shè)備的處理設(shè)備、或具有比圖9中示出的更少組件或也許更多組件的其它類型的數(shù)據(jù)處理系統(tǒng)。
[0138]圖10示出了諸如計算機系統(tǒng)的數(shù)據(jù)處理系統(tǒng)的一個示例,其可用于本發(fā)明中的一個實施例。例如,系統(tǒng)100可以實現(xiàn)為圖1中示出的系統(tǒng)的一部分。注意,盡管圖10圖示了計算機系統(tǒng)的各種組件,但不意在表示如這些細節(jié)所述的與組件互連的任一特定結(jié)構(gòu)或方式與本發(fā)明無密切聯(lián)系。還應(yīng)理解的是,本發(fā)明也可使用網(wǎng)絡(luò)計算機或者具有更少組件或也許更多組件的其它數(shù)據(jù)處理系統(tǒng)。
[0139]如圖10中所示,數(shù)據(jù)處理系統(tǒng)形式的計算機系統(tǒng)1000包括總線1003,其耦接到微處理器1005和ROM (只讀存儲器)1007和易失性RAM1009和非易失性存儲器1011。微處理器1005可以從存儲器1007、1009、1011獲取指令并執(zhí)行該指令以執(zhí)行上述操作??偩€1003將這些不同的組件互連在一起并且還將這些組件1005、1007、1009和1011互連到顯示控制器和顯示設(shè)備1013以及諸如輸入/輸出(I/O)設(shè)備1015的外圍設(shè)備,其可以是鼠標(biāo)、鍵盤、調(diào)制解調(diào)器、網(wǎng)絡(luò)接口、打印機或業(yè)界已知的其它設(shè)備。通常,輸入/輸出設(shè)備1015通過輸入/輸出控制器1017耦接到系統(tǒng)。易失性RAM (隨機存取存儲器)1009通常實現(xiàn)為動態(tài)RAM (DRAM),其需要持續(xù)的電力以在存儲器中刷新或保持數(shù)據(jù)。
[0140]大容量存儲1011通常為磁盤驅(qū)動或磁光碟機或光驅(qū)或DVD RAM或閃存或其它類型的存儲器系統(tǒng),其即使在從系統(tǒng)移除電源后仍能保持數(shù)據(jù)(例如,大量的數(shù)據(jù))。通常,雖然不需要,但大容量存儲1011也可以是隨機存取存儲器。盡管圖10示出了大容量存儲1011是直接耦接到數(shù)據(jù)處理系統(tǒng)中的其余組件的本地設(shè)備,但應(yīng)理解的是,本發(fā)明可利用系統(tǒng)遠程的非易失性存儲器,諸如通過網(wǎng)絡(luò)接口(諸如調(diào)制解調(diào)器或以太網(wǎng)接口或無線聯(lián)網(wǎng)接口)耦接到數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)存儲設(shè)備??偩€1003可包括通過各種橋、控制器和/或業(yè)界已知的適配器彼此連接的一條或多條總線。
[0141]可以使用諸如專用邏輯電路的邏輯電路系統(tǒng)或者使用控制器或執(zhí)行程序代碼指令的其它形式的處理核來實現(xiàn)部分以上所描述的內(nèi)容。因此上述討論所教導(dǎo)的過程可以通過諸如機器可執(zhí)行的指令的程序代碼來執(zhí)行,機器可執(zhí)行的指令使得執(zhí)行這些指令的機器執(zhí)行特定的功能。在該上下文中,“機器”可以是將中間形式(或“抽象概念”)指令轉(zhuǎn)化為處理器專用指令(例如,諸如“虛擬機”(例如,Java虛擬機)的抽象執(zhí)行環(huán)境、翻譯器、公共語言運行時(Common Language Runtime)、高級語言虛擬機等)的機器,和/或布置在半導(dǎo)體芯片上的,被設(shè)計為執(zhí)行指令的電子電路系統(tǒng)(例如,用晶體管實現(xiàn)的“邏輯電路系統(tǒng)”),諸如通用處理器和/或?qū)S锰幚砥?。還可以在不執(zhí)行程序代碼的情況下,由被設(shè)計為執(zhí)行過程(或部分過程)的(替換機器或與機器結(jié)合的)電子電路系統(tǒng)執(zhí)行由以上討論教導(dǎo)的過程。
[0142]制品可用于存儲程序代碼。存儲程序代碼的制品可以體現(xiàn)為但不限于一個或多個存儲器(例如,一個或多個閃存、隨機存取存儲器(靜態(tài)、動態(tài)或其他))、光盤、CD-ROM、DVDROM、EPROM、EEPR0M、磁卡或光卡、或者適合于存儲電子指令的其他類型的機器可讀介質(zhì)。也可以通過體現(xiàn)在傳播介質(zhì)中的數(shù)據(jù)信號,將程序代碼從遠程計算機(例如服務(wù)器)下載到請求計算機(例如客戶機)(例如,通過通信鏈接(例如,網(wǎng)絡(luò)連接))。
[0143]此處使用的術(shù)語“存儲器”旨在覆蓋所有易失性存儲介質(zhì),諸如動態(tài)隨機存取存儲器(DRAM)和靜態(tài)RAM (SRAM)0計算機可執(zhí)行的指令可存儲在非易失性存儲設(shè)備上,諸如磁盤、光盤,并且通常在處理器對軟件的執(zhí)行期間由直接存儲器存取過程寫入存儲器。本領(lǐng)域技術(shù)人員將立即認識到術(shù)語“機器可讀存儲介質(zhì)”包括可由處理器存取的任何類型的易失性或非易失性存儲設(shè)備。
[0144]以上詳細描述的某些部分是按照計算機存儲器內(nèi)的數(shù)據(jù)位上的操作的算法和符號表示來呈現(xiàn)的。這些算法描述和表示是由數(shù)據(jù)處理領(lǐng)域的技術(shù)人員用于將其工作的實質(zhì)內(nèi)容傳達給本領(lǐng)的其它技術(shù)人員的手段。算法此處一般被認為是通往理想結(jié)果的操作的自一致序列。該操作是需要對物理量的物理操控的那些操作。通常,盡管未必如此,但這些量可采用能夠被存儲、傳輸、組合、比較和用其它方式操控的電或磁信號的形式。已證明有時主要是出于公共使用的原因?qū)⑦@些信號稱為位、值、元素、碼元、字符、項、數(shù)等是方便的。
[0145]然而,應(yīng)該記住,所有這些和類似的術(shù)語都與適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián),且僅僅是應(yīng)用于這些量的方便的標(biāo)記。除非明確說明,否則正如從以上討論中所清楚的,應(yīng)意識到在整個說明書討論中利用了諸如“處理”或“計算”或“演算”或“確定”或“顯示”等術(shù)語來指代計算機系統(tǒng)或類似的電子計算設(shè)備的動作和進程,它們將表示為計算機系統(tǒng)的寄存器和存儲器內(nèi)的物理(電子)量的數(shù)據(jù)操控和變換成同樣表示為計算機系統(tǒng)的存儲器或寄存器或其它這樣的信息存儲、傳輸或顯示設(shè)備內(nèi)的物理量的其它數(shù)據(jù)。
[0146]本發(fā)明還涉及用于執(zhí)行此處描述的操作的裝置。該裝置可以特意為所需目的構(gòu)建,或者其可以包括由存儲在計算機中的計算機程序選擇性地激活或重新配置的通用計算機。這樣的計算機程序可以存儲在計算機可讀存儲介質(zhì)中,諸如但不限于任何類型的盤,包括軟片、光盤、CD-ROM、以及磁光盤、只讀存儲器(ROM)、RAM、EPROM、EEPR0M、磁卡或光卡、或者適合于存儲電子指令的任何其他類型的介質(zhì),其中每一種都耦接到計算機系統(tǒng)總線。[0147]此處呈現(xiàn)的過程和顯示并不內(nèi)在地涉及任何特定的計算機或其他裝置。各種通用系統(tǒng)可根據(jù)此處的教導(dǎo)與程序一起使用,或者可以提供構(gòu)建執(zhí)行所描述的操作的更專用的裝置的便利。多種這些系統(tǒng)的所需結(jié)構(gòu)將從下面的描述變得顯而易見。此外,本發(fā)明不是參考任何特定的編程語言描述的。應(yīng)理解,可以使用多種編程語言來實現(xiàn)此處描述的本發(fā)明的教導(dǎo)。
[0148]在以上說明書中,已經(jīng)參照本發(fā)明的特定示例性實施例對本發(fā)明的實施例進行了描述。很明顯,在不脫離如后面的權(quán)利要求陳述的、本發(fā)明的更寬的精神和范圍的情況下,可以對其進行各種修改。因此,說明書和附圖應(yīng)該被看作是說明性的而不是限制性的。
【權(quán)利要求】
1.一種具有指令的計算機可讀非暫時性存儲介質(zhì),其中當(dāng)被機器執(zhí)行時所述指令使得機器執(zhí)行方法,所述方法包括: 從第一源向設(shè)備恢復(fù)資源; 在已經(jīng)從所述第一源向所述設(shè)備恢復(fù)所述資源的一部分之后,動態(tài)地檢測來自第二源的所述資源的可用性; 確定所述第二源是否比所述第一源更有效地連接到所述設(shè)備;以及如果所述第二源更有效地連接到所述設(shè)備, 則在已經(jīng)向所述設(shè)備恢復(fù)所述資源的一部分之后,從所述第二源向所述設(shè)備恢復(fù)所述資源的其余部分。
2.根據(jù)權(quán)利要求1所述的介質(zhì),其中所述檢測基于所述設(shè)備與所述第二源之間的網(wǎng)絡(luò)連接,并且所述設(shè)備在臨近所述第二源的范圍內(nèi)移動以使能所述網(wǎng)絡(luò)連接。
3.根據(jù)權(quán)利要求1所述的介質(zhì),其中所述第一源經(jīng)由單獨的網(wǎng)絡(luò)連接耦接到所述設(shè)備,并且如果與所述第二源的網(wǎng)絡(luò)連接相比于與所述第一源的單獨的網(wǎng)絡(luò)連接具有更高的帶寬,則確定所述第二源更有效地連接到所述設(shè)備。
4.根據(jù)權(quán)利要求1所述的介質(zhì),進一步包括: 通過備份服務(wù)發(fā)起所述恢復(fù);以及 通過所述備份服務(wù)確定一個或多個源以對所述設(shè)備進行恢復(fù)。
5.根據(jù)權(quán)利要求4所述的介質(zhì),其中所述設(shè)備與識別設(shè)備的擁有者的賬戶標(biāo)識符關(guān)聯(lián),并且其中所述發(fā)起包括向所述備份服務(wù)發(fā)送所述賬戶標(biāo)識符。
6.根據(jù)權(quán)利要求4所述的介質(zhì),其中所述資源與描述所述資源的實際內(nèi)容的元數(shù)據(jù)關(guān)聯(lián),并且其中通過所述備份服務(wù)跟蹤所述元數(shù)據(jù),并且其中所述確定是基于所述資源的元數(shù)據(jù)的。
7.根據(jù)權(quán)利要求4所述的介質(zhì),其中所述資源包括來自所述第一源的資源,進一步包括: 通過所述備份源識別所述第一源以用于所述資源的恢復(fù)。
8.根據(jù)權(quán)利要求7所述的介質(zhì),其中所述第一源是經(jīng)由所述備份源參考的網(wǎng)絡(luò)可訪問的存儲裝置。
9.根據(jù)權(quán)利要求8所述的介質(zhì),其中所述第二源是無線耦接到所述設(shè)備的本地計算機。
10.根據(jù)權(quán)利要求7所述的介質(zhì),其中到包括所述第一源的多個源的參考經(jīng)由所述備份服務(wù)跟蹤,并且其中對所述第一源的識別對設(shè)備的用戶是透明的。
11.根據(jù)權(quán)利要求1所述的介質(zhì),進一步包括: 跟蹤已從所述第一源恢復(fù)的所述資源的一部分,以用于從所述第二源恢復(fù)所述資源的其余部分。
12.根據(jù)權(quán)利要求1所述的介質(zhì),進一步包括: 停止從所述第一源的恢復(fù);以及 重新開始從所述第一源的恢復(fù)。
13.一種具有指令的計算機可讀非暫時性存儲介質(zhì),其中當(dāng)被機器執(zhí)行時所述指令使得機器執(zhí)行方法,所述方法包括: 通過備份服務(wù)識別第一資源以恢復(fù)到設(shè)備;從第一源切換到第二源,以向所述設(shè)備恢復(fù)所述第一資源,其中所述資源的一部分從所述第一源恢復(fù),并且所述資源的其余部分尚未恢復(fù)到所述設(shè)備; 識別第二資源以利于所述第二資源向所述設(shè)備進行恢復(fù);以及 從所述第二源向所述設(shè)備恢復(fù)所述第二資源。
14.根據(jù)權(quán)利要求13所述的介質(zhì),其中所述方法進一步包括: 通過所述備份服務(wù)發(fā)起對所述設(shè)備的恢復(fù)操作;以及 確定所述第一源以向所述設(shè)備恢復(fù)所述第一資源。
15.根據(jù)權(quán)利要求14所述的介質(zhì),其中所述第一資源與描述所述第一資源的實際內(nèi)容的元數(shù)據(jù)關(guān)聯(lián),并且其中所述確定是基于根據(jù)所述元數(shù)據(jù)與所述備份服務(wù)的通信的。
16.根據(jù)權(quán)利要求15所述的介質(zhì),其中所述方法進一步包括: 從所述第一源向所述設(shè)備裝載所述實際內(nèi)容的一部分。
17.根據(jù)權(quán)利要求15所述的介質(zhì),其中所述元數(shù)據(jù)保持在所述備份服務(wù)中,并且其中對所述第一源的確定是基于所述元數(shù)據(jù)的。
18.根據(jù)權(quán)利要求17所述的介質(zhì),其中所述元數(shù)據(jù)指示所述第一資源是可從所述第一源公開地購買的所購買的資產(chǎn)。
19.根據(jù)權(quán)利要求16所述的介質(zhì),其中所述第二源是本地耦接到所述設(shè)備的計算機設(shè)備,其中所述計算機設(shè)備保持所述元數(shù)據(jù),所述方法進一步包括: 跟蹤尚未恢復(fù)到所述設(shè)備的所述第一資源的其余部分;以及 從所述第二源裝載所述第一資源的其余部分。
20.根據(jù)權(quán)利要求14所述的介質(zhì),其中所述第二源與描述所述第二源的實際內(nèi)容的元數(shù)據(jù)關(guān)聯(lián),并且其中所述元數(shù)據(jù)保持在所述第二源中以用于對所述第二資源的識別。
21.—種計算機實現(xiàn)的方法,包括: 從第一源向設(shè)備恢復(fù)資源; 在已經(jīng)從所述第一源向所述設(shè)備恢復(fù)所述資源的一部分之后,動態(tài)地檢測來自第二源的所述資源的可用性; 確定所述第二源是否比所述第一源更有效地連接到所述設(shè)備;以及如果所述第二源更有效地連接到所述設(shè)備,則在已經(jīng)向所述設(shè)備恢復(fù)所述資源的一部分之后,從所述第二源向所述設(shè)備恢復(fù)所述資源的其余部分。
22.—種計算機實現(xiàn)的方法,包括: 通過備份服務(wù)識別第一資源以恢復(fù)到設(shè)備; 從第一源切換到第二源,以向所述設(shè)備恢復(fù)所述第一資源,其中所述資源的一部分從所述第一源恢復(fù),并且所述資源的其余部分尚未恢復(fù)到所述設(shè)備; 識別所述第二資源以利于所述第二資源向所述設(shè)備進行恢復(fù);以及 從所述第二源向所述設(shè)備恢復(fù)所述第二資源。
23.一種計算機系統(tǒng),包括: 存儲可執(zhí)行指令的存儲器; 耦接到至少第一和第二備份源的網(wǎng)絡(luò)接口; 至 少存儲文件系統(tǒng)的存儲設(shè)備; 耦接到所述存儲器、所述網(wǎng)絡(luò)接口和所述存儲設(shè)備以執(zhí)行來自所述存儲器的指令的處理器,所述處理器被配置成: 從所述第一源向所述存儲設(shè)備恢復(fù)資源; 在已經(jīng)從所述第一源向所述存儲設(shè)備恢復(fù)所述資源的一部分之后,動態(tài)地檢測來自第二源的所述資源的可用性; 確定所述第二源是否比所述第一源經(jīng)由所述網(wǎng)絡(luò)接口更有效地連接;以及如果所述第二源更有效地經(jīng)由所述網(wǎng)絡(luò)接口連接,則在已經(jīng)向所述存儲設(shè)備恢復(fù)所述資源的一部分之后,從所 述第二源向所述存儲設(shè)備恢復(fù)所述資源的其余部分。
【文檔編號】G06F11/14GK103582875SQ201280027224
【公開日】2014年2月12日 申請日期:2012年5月22日 優(yōu)先權(quán)日:2011年6月3日
【發(fā)明者】E·T·施密特, G·J·弗里德曼, J·C·法卡斯, K·B·米內(nèi)爾 申請人:蘋果公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1