[go: up one dir, main page]

CN103597801B - 用于多阶段多源备份的方法和装置 - Google Patents

用于多阶段多源备份的方法和装置 Download PDF

Info

Publication number
CN103597801B
CN103597801B CN201280027326.2A CN201280027326A CN103597801B CN 103597801 B CN103597801 B CN 103597801B CN 201280027326 A CN201280027326 A CN 201280027326A CN 103597801 B CN103597801 B CN 103597801B
Authority
CN
China
Prior art keywords
backup
electronic device
portable electronic
internal battery
operations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201280027326.2A
Other languages
English (en)
Other versions
CN103597801A (zh
Inventor
K·B·米内尔
G·J·弗里德曼
E·克里杰勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of CN103597801A publication Critical patent/CN103597801A/zh
Application granted granted Critical
Publication of CN103597801B publication Critical patent/CN103597801B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5683Storage of data provided by user terminals, i.e. reverse caching
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

描述了一种向第一备份源识别设备中的资源的变化的方法和装置。响应于从第一备份源接收到用于向第二备份源授权的令牌,能够利用所述令牌将所述资源的变化备份到第二备份源。如果将所述资源的变化备份到第二备份源是成功的,则能够将所述变化提交到第一备份源。

Description

用于多阶段多源备份的方法和装置
相关申请的交差引用
本申请要求于2011年6月3日提交的Gordon J.Freedman等人的标题为“Methodsand Apparatus for Multi-Phase Multi-Source Backup and Restore”的美国临时申请No.61/493,360的权益,该申请被通过引用而全部结合于此。
技术领域
本发明一般地涉及设备的备份。更具体地,本发明涉及使用多个源在多个阶段中为设备备份文件。
背景技术
随着移动设备特别是移动通信设备诸如蜂窝电话、个人数字助理(PDA)、平板设备等的激增,备份和恢复操作已经越来越成为这些移动设备的日常使用的组成部分。然而,随着工作环境、移动应用和/或网络存储基础设施继续演进,还出现了伴随着不断改变对移动设备的要求的新挑战以支持这样的能力。
例如,传统的备份/恢复操作可以基于使用高带宽网络连接的与备份/恢复软件和硬件的复杂交互。然而,移动设备常常中途与无线网络连接使用,无线网络连接在从一个位置到一个位置可能是不可靠的、带宽受限的和/或不可预测的。因此,可能需要冗长的时间和/或多次尝试来完成移动设备的备份/恢复操作。此外,对于这些操作在大多数无线网络的开放中可以发现另外的安全风险。
因此,现有机制不可以以可靠、安全和用户友好的方式备份和/或恢复移动设备。
发明内容
在一种实施例中,设备中的资源可以经由允许增量和可继续(resumable)备份操作的多个抽象层而被备份到基于网络的存储装置(也称为云存储装置)。备份源可以被动态配置以用于提高备份/恢复性能两者和/或最小化对设备的正常操作的影响。在一个实施例中,设备可以与移动设备服务(MBS)通信来基于MBS中维护的启发式数据来确定资源中的哪些部分要备份。启发式数据可以包括设备的所有人账户,特定于与所有人账户相关联的每个设备的备份层(或表示)和/或描述被备份的每个文件的元数据。
在一个实施例中,MBS可以与内容服务(诸如Mobile Me组块服务或MMCS)通信来识别文件的哪些实际数据组块(或组块的数据)应当被上载用于备份以避免例如云存储装置中的数据组块的重复拷贝。MMCS可以跟踪文件与识别文件的数据组块的一组组块标识符之间的映射。在一个实施例中,MMCS可以动态地配置或安排提供商云存储装置来将针对备份识别的文件的内容存储在经组块分割的数据的容器中。
在另一实施例中,设备中的元数据可以被维护以跟踪资源(或文件)是否表示用户数据(例如用户创建的数据)或已购买的资产或内容。已购买资产的实际数据可以从可用资产商店(或站点)下载或恢复,而不需要被备份。某些可自由获得的资产诸如播客可以通过备份它们的标识符被重新下载而不是直接地利用它们的实际内容被备份和恢复。描述要备份的资源的元数据可以允许有可能对用户透明的对用于备份的不同源的自动识别。例如备份作为已购买资产的资源可以包括做标记而不是向上推送已购买资产的内容。为了恢复所标记的已购买资产,可以从资产商店向下拉取已购买资产的内容。例如,资产商店可以是托管可购买资产、存储已购买资产和/或托管可自由获得的资产(或内容)的网络可访问站点。
可选地,资产可以从多个源被分割地恢复回到设备,所述源诸如是云存储装置、本地计算机、资产商店和/或其它可能可适用的源。可以针对设备中的资源来跟踪指示媒体资产的类型的元数据以动态地识别对于例如基于性能、带宽、电力消耗和/或其它适用的考虑而恢复(或备份)资源而言可用和/或成本最优的源。
例如,设备可能注意到与存储要恢复的资源的内容数据的一部分的(例如有线或无线耦接的)本地计算机的连接。内容数据的这部分可以从已经连接的计算机拉取。随后,不可从本地计算机获得的资源的其余部分可以被识别以从云存储装置和/或商店分割地恢复。因此,诸如音乐、应用或其它媒体文件之类的内容数据可以被备份在云(或云存储装置)中但是仍然能够从用于设备的本地计算机恢复。
在一个实施例中,例如,基于相关联的应用、媒体类型或其它可扩展的信息,可以选择文件或资源用于备份。一种资源可以作为商店资产(例如可从资产商店获得的已购买资产)被跟踪,商店资产可以从商店获得而不需要备份资源的实际内容。可选地,另一种资源可以作为用户数据被跟踪,用户数据不可从商店获得并且需要例如经由云存储装置备份和恢复。一种应用可以与包括作为商店资产的应用本身和作为用户数据的应用数据的资源相关联。因此,应用和相关联的应用数据可以从不同的源恢复。
例如,设备中为云备份选择的资源可以包括应用数据而不包括对应的应用本身。应用可以被从资产商店重新下载到设备而应用数据可以从云存储装置和/或本地计算机恢复。可替代地,应用可以从本地计算机被同步以从云存储装置恢复应用数据。用于分离地恢复应用和应用数据的备份源的其它组合可以是可能的。在一些实施例中,应用数据可以在对应的应用可以被(例如用户)使用之前被恢复。应用可以在启动应用数据的恢复(例如从云存储装置或其它源)之前被下载或同步以创建适当的排序。
在一个实施例中,将资源从备份恢复到设备可以在多个阶段中被执行以在资源正被恢复的同时使设备保持在可使用的和响应于用户的工作情况中。例如设备可以进入初始模态恢复会话(例如第一模式),然后进入后台恢复会话(例如第二模式)以进行设备的双阶段或两阶段恢复。在一个实施例中,设备可以由用户使用,以使得在初始模态恢复会话中,设备不会对用户输入进行响应。在一个实施例中,初始模态会话对于恢复核心用户文件以重新引导设备可以是短暂快速的。随后,后台会话可以允许用户在各个应用正在后台被恢复回到设备的同时使用设备。在后台恢复会话中,设备可以操作用于对至少一组用户输入进行响应。
在一个实施例中,在两阶段恢复的模态会话期间,在设备下载系统资源以将设备带入特定于用户的工作情况的同时,设备可以是短暂地不可用的。例如系统资源可以包括所有元数据和系统数据、账户列表、壁纸、SMS(短消息服务)历史和/或其它适用的用户特定的非应用数据。系统数据加上元数据可以配置设备例如以用作用户的电话。设备可以在模态会话之后重新引导并苏醒。
在一个实施例中,在两阶段恢复的后台会话期间,设备可以从本地计算机(例如其运行来自苹果公司的应用)和/或云存储装置恢复数据或媒体资产。设备可以在后台会话期间同步邮件和/或接收文本消息。在一个实施例中,资源可以根据由使用模式确定的恢复次序被恢复。例如,应用使用可以被跟踪以收集包括观看的电视剧/电影、读过的书或其它适用的使用统计值的使用模式。在其它实施例中,恢复次序可以依赖于资源(或内容)的大小、与资源对应的图标位于设备的显示器上的哪儿(例如,用户可能将频繁使用的图标放在第一页中),或其它适用的因素。恢复次序可以被动态地更新以适配于诸如经由显示器上的指示应用的优先级的用户轻触的用户请求。
在另一实施例中,在双阶段(或分为两部分的)恢复中设备可用但是不是所有数据都已经被恢复时的时段期间,UI(用户界面)元素可以被显示以改善用户体验和防止应用被不正确地或以不期望的方式操作。例如,表示其(一个或多个)对象文件或用户数据还未被恢复的那些应用和/或媒体库(例如用于播放音乐、视频或其它媒体的内容/资产)的图标可以被灰显,或包括用于指示应用还不可用但是将变得可用的进度条。可以通过允许用于轻触用户想要优先恢复的应用、或照片或音乐或视频的图标来添加启发性。
在另一实施例中,本文中描述了一种方法和装置,用于向第一备份源识别设备中的资源的变化。响应于从第一备份源接收到用于向第二备份源授权的令牌,能够利用所述令牌将所述资源的变化备份到第二备份源。如果将所述资源的变化备份到第二备份源是成功的,则能够将所述变化提交到第一备份源。
在另一实施例中,维护描述被存储在设备中的文件的实际内容的元数据。所述元数据能够表示用于表示所述文件的第一抽象层。从第一抽象层可以识别所述实际内容的一部分。在一个实施例中,所述实际内容的所述部分可以从所述设备被备份。可以动态生成所述实际内容的所述部分的内容标识符,所述内容标识符表示与第一抽象层分离的第二抽象层。可以将所述实际内容的所述部分经由所述内容标识符上载到网络可访问存储装置。
本发明的其它特征将从附图或从以下详细描述中显见。
附图说明
在附图的示图中示例而非限制性地图示出本发明,其中,相似的标号指示相似的元素,并且其中:
图1是图示出用于多阶段多源备份和恢复的网络系统的一个实施例的框图;
图2是用于多阶段多源备份和恢复的示例系统的框图;
图3是图示出用于使用多个源在多个阶段中管理备份和恢复的示例系统的框图;
图4是图示出用于为设备执行增量备份操作的过程的一个实施例的流程图;
图5是图示出用于在设备中执行增量恢复操作的过程的一个实施例的流程图;
图6是图示出用于动态地为资源进行优先级排序来恢复设备的过程的一个实施例的流程图;
图7是图示出为备份和/或恢复操作监视设备的电源的示例系统的框图;
图8是图示出用于中断用于设备的备份和/或恢复操作以保存电力的过程的一个实施例的流程图;
图9示出可以与本文中描述的实施例一起使用的数据处理系统的一个示例;
图10图示出可以与本文中描述的实施例结合使用的典型计算机系统的示例。
具体实施例
在本文中描述了利用一个或多个源在多个阶段中为设备备份和恢复文件的方法和装置。在以下描述中,阐述了大量具体细节来提供对本发明的实施例的透彻理解。然而,对于本领域技术人员显而易见的是,可以在没有这些具体细节的情况下实践本发明的实施例。在其它实例中,没有详细示出公知的组件、结构和技术以免模糊对本描述的理解。
在说明书中对“一个实施例”或“实施例”的提及意味着结合该实施例描述的具体的特征、结构或特点可以包含在本发明的至少一个实施例中。说明书的不同地方中出现的短语“在一个实施例中”并不一定都指同一实施例。
在以下的示图中描述的过程是由处理逻辑执行的,处理逻辑包括硬件(例如,电路系统、专用逻辑等等),软件(诸如在通用计算机系统或专用机器上运行的软件),或两者的组合。尽管以下鉴于某些顺序操作描述这些过程,但是应当理解,所描述的操作中的一些可以以不同的次序执行。并且,有些操作可以并行地而不是顺序地执行。
在一个实施例中,多个源可以用于从设备备份数据或资源。例如,通用数据备份服务可以经由诸如Amazon、S3、Microsoft等的第三方供应商在云(或云存储装置、云服务)中提供。购买的资产,诸如歌曲、电影和/或应用等,可以从云中的商店下载。运行诸如之类的备份服务软件的用户的(一个或多个)计算机可以为诸如来自苹果公司的设备、设备之类的设备进行备份。
要从设备备份的资源可以是备份数据,包括例如设置、账户数据、应用数据、照片、媒体文件、购买的资产和/或其它数据文件。在一个实施例中,备份数据可以从设备中的现有资源中动态地识别。用户计算机(例如台式计算机或笔记本计算机)可以存储设备的备份数据。可选地或可替代地,设备的备份数据的子集可以经由云备份和/或经由用于备份数据中的已购买资产的诸如商店之类的商店而被存储在云中。
在一个实施例中,例如由云中MBS服务器维护的账户可以用分层数据表示,分层数据包括分别对应于账户的不同设备的多个备份(或备份结构)。分层数据可以包括一账户,该账户包含用于若干不同设备的一组备份。一备份可以包括在一设备上的文件的一组快照。可以支持每个设备一个备份。
快照可以表示设备在单个时间点的状态。可以从备份中的任何快照完成恢复以重新构建设备在那个时间点的状态。快照可以从一个数字(例如,1)被顺次编号,并且这些编号可以由服务器指派。第一快照可以是设备的完整备份并且后续的快照可以是基于前一快照的增量。增量快照可以包含从前一快照开始设备上的所有增加的、修改的和删除的文件。
快照可以在其内容已经被上载时被明确提交。一次可以存在一个未提交的快照并且未提交的快照可以是具有最大编号的最后的快照。一旦快照被提交,其内容就不可以被修改,除非被整个删除。
当快照被删除时,其内容可以被融合到前一快照中,除非其未被提交。因此,仍然可以从任意后续的快照完成恢复。目标快照中的添加的/修改的/删除的文件可以被保持(例如将不会丢失)。删除未提交的快照不会引起融合,而是内容可以被简单地丢弃。当从所存储的快照的序列中删除第二快照并且将文件融合到该快照的序列的第一快照中时,删除的文件不会被保持,因为第一快照是完整的。第一快照不会被删除,除非其是该快照的序列中仅有的快照。
每个备份可以包括例如根据配置的时间表(例如每小时,每天,每周等等)从对应设备获取的快照。每个快照可以包括对文件或资源的列表的描述。每个文件可以分割成(例如具有确定比特大小的)实际数据的组块(或文件组块分割)以供(一个或多个)服务存储。可替代地,文件组块分割可以基于将数据项分割成组块的技术,例如在2011年1月14日提交的Dominic Giampaolo的标题为“Content Based File Chunking”的临时专利申请No.61/433,152中描述的技术,该申请被通过引用而全部结合于此。
通常,多个组块可以被聚合为一个容器,作为用于例如由第三方提供商提供的云服务的存储单元。备份可以按照请求而被创建、更新、删除、禁用或操作。例如,可以从备份移除给定域的文件。该云存储装置不存储对于重新生成与云存储装置中存储的数据的组块对应的原始文件足够的信息。因此,文件固有地经由数据的组块分割而受到保护。对数据的组块的加密可以为存储在云存储装置中的数据提供额外级别的保护。
在一个实施例中,诸如iOS设备之类的设备可以利用云中的备份服务(例如,其被托管在MBS服务器中)来发起备份操作以从设备的资源识别备份数据。可以在备份服务中例如经由与设备对应的备份结构来维持描述设备的备份状况的元数据。备份状况可以包括已经为设备备份的资源的最新的快照或最近的快照序列。在一个实施例中,元数据可以参考经由(一个或多个)第三方提供商针对设备的备份数据而存储在云服务中的数据组块。
为备份操作在设备中识别的备份数据或文件可以被分割成已经可以用于云存储设备的实际数据比特的组块。在一个实施例中,设备的服务框架中的MMCS码可以与云中的MMCS服务器通信来准备用于为所识别的文件进行备份的数据的组块。例如备份数据可以根据某些组块配置(例如用于每个组块的具体的数据比特大小)而被分割成多个数据组块。
服务框架可以确定根据为备份而识别的文件准备的多个数据组块中的哪些数据组块当前在云中不可获得并且需要被上载。在一些实施例中,服务框架(例如经由MMCS码)可以例如经由SHA散列算法或其它适用的算法将每个组块散列成签名,来作为供MMCS服务器(或服务)用于确定所识别的组块是否已经在云中被备份的标识符。
在一个实施例中,文件可以被引用到MMCS中。设备可以向文件指派任意标识符。设备可以使用标识符来回溯至文件。引用可以(例如由服务器)周期性地扒取到MMCS中来对文件的未被引用的数据组块(或文件组块)进行垃圾回收。
可以在多个阶段诸如设置阶段、扫描阶段、备份阶段和/或其它适用的阶段中执行针对设备的备份操作,以与云中的多个服务协调。每个阶段可以对应于操作的单独的抽象层以允许云存储装置的动态配置可能地增大备份操作的效果和/或改善备份操作的性能。
例如,在设置阶段期间,可以确定在MBS服务中是否存在设备的备份(或备份结构)。如果在MBS服务中针对该设备不存在备份的话,可以要求MBS服务利用该设备的初始元数据来创建备份。在一个实施例中,设备可以包括备份高速缓存,其反映MBS服务中与设备对应的备份的拷贝。该备份高速缓存可以包括之前为设备获取的一个或多个快照。
在一个实施例中,备份高速缓存可以按照需要被重建(例如通过咨询MBS服务)来与MBS服务同步(例如当备份高速缓存中高速缓存的快照根据与MBS服务通信的消息是过期的时)。可选地或另外地,可以在设置阶段期间确定在设备中是否存在未提交的快照。未提交的快照可以不对应于MBS服务中存储的现有快照并且可以包括待备份的资源的描述。未提交的快照可以在设置阶段期间被创建。
在一个实施例中,设备可以查询MBS服务来确定是否存在未提交的快照,例如作为确认备份高速缓存是最新的的一部分。设备可以在在备份操作期间扫描其文件系统之后创建未提交的快照。备份高速缓存可以被增量更新以反映什么已经被成功备份至例如MBS和MMCS服务。
在扫描阶段期间,设备的文件系统可以被扫描以找到文件或资源中的变化,诸如新的文件、删除的文件、修改的文件等。在一个实施例中,所述变化可以经由被扫描的文件与备份高速缓存中存储的快照之间的比较来识别。可以在扫描阶段期间跟踪哪些文件已经被备份以及哪些文件需要备份。
在备份阶段期间,可以执行实际的文件备份操作。例如,如果需要可以创建快照(例如当不存在可用的未提交的快照时)。请求可以被发送给MBS服务以用于在MBS服务中创建新的文件、修改的文件和/或删除的文件的条目。可以从MBS服务接收访问云存储装置的配额认证或权限以允许发送备份请求给MMCS服务。备份请求可以包括描述要备份的文件或文件的变化的元数据。
可以从MBS服务接收认证令牌,其指示所请求的备份在由MMCS为设备施加的备份存储大小的限制以内。认证令牌可以被发送给MMCS服务,以用于从设备到存储提供商的一组经授权的HTTP(超文本传输协议)请求。MMCS服务可以与存储提供商(或云服务)交互来检索用于该设备的授权密钥。文件的变化(例如,添加/删除/移除)可以利用授权密钥被上载到云服务。如果从云服务接收到成功上载的确认,则与上载对应的快照可以在设备和MBS服务之间被提交。快照可以在其已经被创建并且其内容已经被定义并随后被上载到MMSC时就被提交。
在一个实施例中,MBS服务可以基于在文件级描述文件的元数据。MMCS服务可以依赖于文件的实际内容或数据(例如,数据的组块)。从文件的实际内容生产的散列签名可以在MMCS服务中用作该内容的标识符。MMCS服务可以确定由标识符识别的内容的部分在例如云存储装置中是否是新的(或者还没有被备份)。MBS服务可以根据与一个或多个文件关联的元数据来决定这一个或多个文件是否是新的或已经被更新。
在某些实施例中,诸如MBS服务之类的备份服务可以为一设备维护一个或多个备份。这些备份可以包括描述备份的数据和文件是什么、如果保持对备份数据的跟踪、对应设备的身份、有多少不同备份相关联(例如基于备份日期、增量备份关系等)和/或其它信息的语义。在一个实施例中,一个备份可以与一个账户下的一个设备相关联。每个账户可以包括多个设备。备份可以包括设备的多个快照。例如,这些快照可以是针对设备的资源每天获取的。每个快照可以描述从备份中的前一快照开始在设备中改变的文件。
在一个实施例中,设备的资源可以基于多次握手而被备份,以在设备与诸如MBS服务、MMCS服务、云提供商(或存储装置)和/或其它适用的服务之类的服务之间传送文件和/或文件的元数据。MBS服务可以跟踪MMCS服务的引用。MMCS服务可以跟踪云提供商的引用,例如以允许设备将文件动态映射到由提供商指定的结构化数据。
在实施例的一个实例中,根据具体云提供商,MMCS服务可以将设备中的文件识别为项目,指示设备将项目分割成数据的组块,为每个数据组块生成唯一标识符,并且通知设备该设备是否需要将所识别的数据组块转发至云提供商以供备份。设备可以指示MSB或与其通信以将信息放在针对该设备获取的快照中和/或使得快照与设备一致。
因此,多个服务可以提供用于备份设备的资源的间接的各层以使各层中一层内的操作不影响其它层。MBS服务可以跟踪待备份的资源的元数据,确定哪些文件(或项目)已经存在而不需要备份。MMCS服务可以负责:跟踪云存储装置的哪些提供商存储实际的备份数据,管理云存储装置的使用权限来创建票据(或证书)以使得设备能够将备份数据上载到云存储装置,和/或执行垃圾回收来删除表示不再被引用用于备份的数据组块的结构。MBS服务可以与由MMCS服务管理的云存储装置隔离或不知道该云存储装置。
在一个实施例中,为备份操作生成的快照在该备份操作已经成功完成之后该快照被提交之前,可以不被标记为一致的。固定的(配置的)数目的最新快照(例如对应于三天的每日快照)可以被高速缓存在设备中或存储在MBS设备中。快照的数目可以被限制以保留存储空间。通常,所存储的快照中的第一(最早的)快照可以是为对应备份操作描述设备的每个资源的完全快照。快照中的其余快照可以是描述资源相对于快照中的前一快照的随后的变化的增量快照。
在备份操作的最后阶段期间,在一个实施例中,快照可以被融合以例如将最早的两个或更多个现有的快照合并成一个完全快照。因此,当新的快照被提交时,所存储的快照的总数目可以保持为固定的数目。在一些实施例中,MBS服务可以被通知(或被指示)删除和/或融合现有的快照作为一个原子数据库操作。作为响应,可以从MBS服务接收指示原子操作是否成功的确认。
在某些实施例中,可以查询诸如商店的备份源来识别不能用于重新下载的资源的列表(例如,应用、购买的资产或其它资产)。例如,在设备执行内容备份操作之前,备份源可以确定与设备相关联的已购资产中的哪些(例如基于来自设备的请求)不可用于重新下载。不可用于从备份源重新下载的资源的列表的实际内容可以经由诸如MBS、MMCS等的备份服务被归档或备份。
在一个实施例中,设备与MBS服务之间的通信提供用于管理备份(例如创建/删除)和快照(例如创建/删除/融合/更新)的客户端服务器协议。更新快照可以以原子方式执行,其中,或者对快照的所有变化被合并(或被提交)或该快照完全不被更新。
在一些实施例中,用于经由MBS服务管理快照的协议可以基于文件或资源的元数据以进行高效和轻量级的网络通信。元数据可以描述有关设备中的文件的信息,诸如文件名、对文件的引用、大小、时间戳、所有权、保护设置或与文件相关联的其它适用的数据,而不描述文件的实际内容。哪些文件或资产需要被包括在备份操作中可以基于元数据描述来确定。分别的快照之间的增量或差异可以鉴于元数据描述来跟踪。
例如,设备可以使用最后修改的时间值来维护高速缓存。请求和响应可以包含最后修改的时间值以用于对资源进行访问、删除、更新、修改或执行其它操作。在一个实施例中,对资源的请求可以导致对资源的父级资源的最后修改的时间值的更新。例如,删除账户的备份可以更新该账户的最后修改的时间值。向快照添加文件可以更新快照的最新修改的时间值以及快照的父级备份和账户。
用于管理快照的请求可以允许创建新的空的未提交的快照,更新之前创建的快照,删除快照和/或提交快照。如果用于所请求的快照的保存空间会超过相关联的账户的配额,则响应可以指示不足够的存储。请求可以包括快照的属性,诸如设备名称和版本号。
在另一实施例中,可以经由请求从快照检索具有文件属性的文件的列表。可以请求MMCS授权令牌以用于从MMCS下载文件的流。管理用于快照的文件的请求可以包括例如创建、删除、更新、标记或其它适用的操作。如果快照中的文件的大小超过保存的空间,则响应可以指示冲突。在一些实施例中,从快照删除文件可以删除由服务器存储的底层数据库记录并且删除的文件可以不再在快照的文件的列表中出现。可替代地,将文件标记为已删除可以指示该文件存在于之前的快照中但是不再存在于设备中。
设备中的文件的元数据可以对应于用于确定要例如经由MBS服务备份文件中的哪些文件和/或创建用于备份操作的快照的一个抽象层。实际的文件内容的散列(例如逐比特散列组块)可以提供另一抽象层,用于例如经由MMCS服务来识别备份文件中的哪些内容需要上载。在一个实施例中,相同内容的分别的文件可以与不同的元数据描述相关联。因此,基于内容散列或组块签名的比较可以允许为具有相同内容但是具有不同元数据的文件共享备份存储(例如来自云)。
备份操作可以被继续和/或被切换。例如,备份操作可以在网络连接丢失时被暂停。备份操作可以在网络连接被重新建立时继续。在一个实施例,(例如经由MMCS服务)基于从文件内容生成的签名可以确定要备份哪些文件以用于被继续的备份操作。如果文件系统中的文件在备份操作被暂停之前改变了,则可以在继续(或打开)备份操作之前再次扫描文件系统。在一些实施例中,为了优化,在向MMCS服务进行咨询以确定文件是否改变之前,文件的修改时间戳(或值)可以与在扫描文件系统时备份高速缓存中的对应时间戳比较。
设备与源或主机之间的备份/恢复操作可以基于同步锚技术被暂停(或终止)和继续,诸如设备上的设备锚和主机上的主机锚。在Gordon J.Freedman的标题为“Synchronization Methods and Systems”的公开的美国专利No.7,807,403中记载了同步锚技术的示例,该申请通过引用被全部结合于此。
在一个实施例中,资源可以从被动态配置的多个源分割地恢复到设备。例如,已购买资产,诸如应用、音乐、图形、视频、电视剧或其它媒体数据,可以在被请求时被从云中的一个或多个商店下载到设备。已购买资产可以存储在本地计算机(例如,其由设备用户拥有)并且也已经准备好恢复到设备。
在一个实施例中,在设备在本地计算机的附近范围内移动时从云(例如商店)恢复已购买的资产时,可以在设备与本地计算机之间建立连接(例如有线或无线连接)。在检测本地计算机中的已购买资产的连接和可用性时,设备可以将已购买资产的恢复源动态地从云切换到本地计算机来完成对已购买资产的剩余部分的恢复(例如经由本地计算机中托管的软件)。因此,网络连接成本可以降低并且恢复性能可以提高。
在一些实施例中,设备的资源从多个源(诸如商店、本地计算机或云存储装置)的可获得性可以基于资源的元数据来跟踪。如果特定资源已经存在于商店或本地计算机中,则特定资源可以从现有资源恢复到设备,而不需要备份特定资源的实际内容。例如,资源的元数据可以指示与设备相关联的账户的已购买资源的所有权。已购买资源可以是可容易地从来自云和/或本地计算机的诸如商店之类的可用源获得的。因此,已购买资源可以从可用资源重新下载而不需要备份。
在一个实施例中,设备中的资源诸如设置、账户数据、应用数据和/或已购买资产可以被备份到本地计算机。资源的一些部分诸如设置和/或应用数据也可以被备份到云存储装置。资源的某些部分诸如已购买资产可以被维护在云中的商店中并且可在商店中获得。资源可以在可用时被从本地计算机恢复,以及当本地计算机没有连接到设备时或当不能在本地计算机中定位资源时从云存储装置和/或商店恢复。可以经由同步操作与中央服务同步的某些资产,诸如电子邮件、日历表或其它适用的资源不可以通过备份操作被备份。
在某些实施例中,元数据服务诸如MBS服务可以在向设备提供授权令牌以用于备份操作时选择设备中的哪些资源被允许备份。例如,某些第三方应用和/或数据可以被过滤并且不被允许备份。在一个实施例中,从备份过滤的数据可以包括被第三方应用声明为不需要备份的目录或文档,诸如高速缓存的数据或能够被重新生成的索引。可替代地,要备份的资源可以根据对设备的相关联的账户施加的备份数据的总大小的配额限制而识别。
在一个实施例中,可以相对于多个源(例如,云商店、本地计算机、商店等等)跟踪是否已经为设备恢复所有资源(或是否完成恢复操作),其中不同资源或某些资源的不同部分可以从这多个源恢复。例如,在与设备通信的本地计算机中运行的可以确定存储在云中但不是本地计算机中的特定资源还没有被恢复回到设备。特定资源可以经由用于设备的本地计算机被检索来完成恢复操作。
作为示例,针对与用户相关联的账户激活的诸如新电话之类的新设备可以从账户的云备份恢复。设备可以利用具有识别账户和设备的标识符的诸如MBS服务的备份服务来启动恢复操作。相应地,例如,可以利用MBS服务来确定要恢复的资源的描述。云存储装置可以(例如经由配置、被动态发现或从连接的服务获取等)而被定位以恢复所确定的资源。可替代地,如果发现运行对应的备份服务应用诸如的本地计算机是可用的(例如在设备的连接范围内),则可以从本地计算机检索资源而不需要访问远程云存储装置。
设备中的恢复操作可以在多个阶段中执行,例如,模态恢复阶段,然后是后台恢复阶段。诸如设置或元数据之类的必要文件或信息可以首先在模态恢复阶段原子地恢复(例如,或者所有必要文件被恢复或者无必要文件被恢复)以允许设备引导到工作情况并迅速变为可供用户使用,而不需要等待其余恢复操作的完成。在模态恢复阶段期间,设备可以是铺设(laying down)系统文件并且可能不可操作用于接收用户输入。原子恢复可以确保即使在资源被完整恢复之前设备也以一致的数据集运行。
随后,在后台恢复阶段期间,恢复设备所需的其余资源可以被从可用备份资源诸如云存储装置和/或本地计算机拉取到后台中。例如,大小可调的资源,诸如媒体资产(例如照片、视频、语音文件等)的实际内容、第三方应用数据或其它适用的资源可以在后台恢复阶段期间被拉取而不影响设备的操作或用户使用设备的至少一些功能或能力的能力;例如,用户可以能够在后台恢复阶段期间发送文本消息或浏览因特网或进行语音电话呼叫。
在一个实施例中,设备可以被与本地计算机(例如运行应用的计算机)同步(例如经由同步操作)以确保设备上的某些内容或资源(例如音乐、应用、播客、视频、铃声、照片、笔记、电子邮件账户设置、联系人、日历表和书签)与本地计算机中对应资源的用户选定子集匹配。应用数据可以在同步时被从设备备份到本地计算机(例如,备份中)。已购买资产诸如应用或媒体内容可以被从本地计算机下载到设备以用于同步(例如经由库)。
在一个实施例中,设备与本地计算机之间的同步操作可以在设备的后台恢复(阶段)期间(或之后)执行。设备和计算机之间的通信或连接在后台恢复之前可能不可用,因为设备还没有被引导进入工作情况。同步操作可以能够将资产(例如已购买媒体和/或应用)从本地计算机(例如作为库)恢复到设备。
可选地或附加地,同步操作可以将应用数据或用户数据从本地计算机(例如作为备份)恢复到设备。在一个实施例中,同步操作可以包括计算机与设备之间的比较来识别供设备同步的资源的列表。恢复操作和同步操作可以依赖于公共的模块,诸如在设备中运行的用于从适用的源拉取实际的内容或比特数据的ATC(空中流量控制器)码。当设备被与设备耦合或连接以将资源从设备迁移(transfer)以供同步操作和/或恢复操作时,ATC可以自动地通知系统事件诸如同步(或配对)事件。
在一个实施例中,设备中的恢复操作可以利用连接的备份服务(例如计算机或MBS服务)进行检查来确定恢复资源的最佳源。可以针对单独的资源或资产识别不同的源,诸如云中的备份存储装置(或云备份)、本地计算机中的备份(例如备份)、云中的商店(例如商店)、本地计算机中的本地库(例如库)。一种类型的数据可以从一个源恢复而另一类型的数据可以从单独的源恢复。例如,照片可以从云存储装置恢复,音乐内容可以从商店恢复,应用可以从本地库恢复,应用数据可以从云存储装置恢复,等等。通常,本地计算机中的源可以优先于来自云的源,因为例如不那么昂贵的连接成本和/或更高的可用网络带宽。
在一些实施例中,可以在多个阶段中执行同步操作,诸如事务性阶段,然后是尽力而为阶段。在事务性阶段期间,可以识别描述用于在设备和本地计算机之间进行同步的资源的列表的元数据。元数据可以是以事务性方式(例如所有或无)从本地计算机接收的。在尽力而为阶段期间,用元数据描述的资产可以从考虑例如可获得性、性能、成本和/或其它适用的因素而动态确定的不同源被同步到设备。
在某些实施例中,用于恢复资源的不同源可以基于例如与资源相关联的元数据而被动态识别。同步操作可以从本地耦合或连接的计算机(例如计算机)推送与设备同步所需的资源的列表的描述。已购买的资产诸如歌曲、视频、电影、应用等可以或者从云中的商店或者从本地计算机(例如经由库)迁移。不是从商店购买或获取的媒体诸如用户拍摄的照片或从其它设备下载的视频可以从云存储装置或从本地计算机(例如经由备份)恢复。
恢复次序的动态配置可以被有利地应用在多阶段恢复的稍后阶段(例如在第一阶段或模态阶段之后)中以用于提高设备的效率和/或可用性。例如,可以在恢复的起始(或第一)阶段中为恢复识别资源或资产的列表。在恢复的稍后阶段期间,诸如用于实际数据迁移的后台阶段期间,选择接下来恢复哪些所识别的资源会遵循立即动态确定的次序或优先级。多个资源可以被同时迁移以用于例如经由多个线程或处理恢复。
依赖于为还有待于恢复或正在恢复的资源而配置的各种启发式标准和/或设备的工作状态,选择接下来要迁移的(一个或多个)资源的次序可以在运行时期间更改。例如,较小大小和/或要求较少迁移时间的资源(例如较高的带宽可用于相关联的资源)可以被排得较高(例如具有被选作下一个要恢复的资源的较高可能性)。
在一个实施例中,可以跟踪设备的使用来确定资源应当如何为恢复而排序或排列优先级以增大设备的可使用性。例如,可以按照相关联的应用来对资源排序。在某些实施例中,最近使用的应用的资源可以比较早使用的应用的资源被指派更高的优先级。当前使用的应用(例如电影或视频播放)可以被识别为最近使用的应用,预期与该应用相关联的的应用数据会很快被用户访问。
在一些实施例中,要恢复的资源可以按照与资源相关联的图标的显示次序被排列优先级。例如,与资源相关联的的应用图标和/或媒体图标可以根据显示次序在设备的显示器上呈现。显示次序可以反映由设备的用户隐含地指定的优先级。可选地或另外地,可以接收用户输入(例如在显示器屏幕上的轻触)来动态地控制资源应当如何迁移(例如,暂停、重新开始、开始等等)。
在一个实施例中,可以利用基于启发式地配置的特征和/或动态识别的因素而指派的次序来建立用于恢复的资源的列表。特征可以包括有关资源的规范信息诸如大小、类型、位置和/或与资源相关联的的其它适用的元数据。例如,已购买资产的类型的资源可以比用户创建的内容的类型的另一资源具有用于恢复的更高的优先级。资源的位置可以指示是在哪儿为设备生成或购买资源的。和与设备的当前位置更靠近的位置相关联的资源可以比更远离设备的另一位置的另一资源具有更高优先级。
动态因素可以基于不断改变的工作环境或设备中的使用模式即时确定。例如,动态因素可以包括可用(恢复)源(例如云存储装置、商店、本地计算机等等)、应用的使用历史、与应用图标相关联的显示次序、用户输入或其它适用的因素。通常,可以从可用源迁移的资源可以比不是从当前可用的源找到的另一资源具有更高的优先级。资源的使用历史可以包括例如频率、资源(例如经由应用)被访问的最后时间、使用账户和/或其它使用统计值。具有较高使用频率的资源可以被排列得较高。
在一个实施例中,用于恢复的资源的初始列表可以在多阶段恢复的第一阶段(例如模态阶段)期间建立。启发式地确定的特征和/或动态因子可以表示为例如按照每个资源的单独的组合启发式权重被指派并被组合来确定资源列表中的恢复次序的启发式权重。在资源的稍候阶段期间,可以将具有(一个或多个)最高权重的(一个或多个)资源选择为接下来进行下载。
例如,用于恢复的经排序的资源列表可以被转发给能够从至少一个恢复源(例如云存储装置、商店和/或计算机)恢复资源的恢复进程。恢复进程可以跟踪恢复的状况、监视环境的改变(例如网络连接、电力状况)、检测用户输入等以改变用于恢复的资源的次序。恢复可以被中断(例如经由用户输入和/或环境的改变)来重新建立具有新的次序的新的资源列表来以新建立的列表继续。
在一个实施例中,用于从特定源(例如计算机或云存储装置等)恢复的资源的队列可以按照为恢复而识别的当前已排序的资源列表来维护。可以为不同的源维护单独的队列。在一些实施例中,当在运行时期间(例如由于用户中断、选择和/或其它系统事件等)动态建立资源列表时,可以根据新建立的资源列表来更新每个队列(例如通过将特定资源移动到队列的顶部)以继续恢复。
在一些实施例中,可以按照经由设备如何使用资源来以协作方式恢复资源的实际内容。例如,资源可以围绕应用被沙盒封装(sandboxed)以允许应用在恢复设备时迅速变得可访问。应用程序和相关联的应用数据(或设置)可以被沙盒封装以一起被恢复。
依赖于用于应用的资源,诸如可执行程序、库、应用设置、应用数据(或用户输入,诸如由用户经由应用创建的文档)等,可以维护在沙盒内以识别将这些资源恢复到设备的次序。即使在所有被沙盒封装的资源被恢复之前,也可以使应用可用于设备的用户。例如,运行音乐播放器应用可以在音乐内容文件被迁移到设备之前要求播放器设置被恢复。
在一个实施例中,多阶段恢复可以与用户接口协调来允许用户在恢复期间与设备交互(例如,在设备被完全恢复之前)。可以针对每个恢复阶段的实况更新状况或进度而呈现占位符。可以根据经由用户接口接收的输入动态地重新排列资源的实际迁移的次序。
例如,应用(例如,照片浏览器、视频播放器、音乐播放器等)和相关联的应用设置可以被恢复来在用户接口上呈现对应的应用图标以指示该应用是可用的。当检测到与应用的用户交互(例如看着照片)时,较高的优先级可以被指派给与相关联的应用数据(例如照片)有关的资源以用于动态地改变恢复次序。
在一个实施例中,当设备正被恢复时,应用可以跟踪应用的恢复的状态。应用的恢复的状态可以例如经由“下拉列表”型用户接口元素、温度计式进度指示符的表示或其它适用的用户接口元素来呈现。用于应用的资产是否可用可以经由用户接口指示。
在某些实施例中,用于呈现恢复的状态的用户接口元素可以包括基于影响恢复的总体速度的因素的组合的合成进度指示符。因素可以是根据例如应用的大小、应用从应用源下载的速度、用户数据大小、从用户数据的源下载用户数据的速度、安装时间、媒体内容(例如音乐、加密数据等)的解密时间和/或其它适用的因素。依赖于例如媒体类型和/或上下文(例如对于跳板(springboard)上下文、应用等),合成进度指示符可以表示或显示为直观的唯一的温度计式指示符、饼图式指示符或其它适用的用户接口式指示符。
在一些实施例中,可以依赖于恢复的状态来呈现(或使能)不同用户接口组件/功能。例如,(例如在恢复的第一阶段期间)已经被识别为要恢复但是还没有被恢复的资产可以被灰显以例如禁用对针对这些资产的应用的用户激活。然而,可以针对还未被恢复的资产允许某些用户接口操作,诸如记录、重命名和/或删除。在一些实施例中,恢复的状态可以包括资产的可获得性或不可获得性。源接口模块可以确定要从源(例如商店、资产商店或其它适用的存储装置)恢复的资产当前是否可获得,例如,是否存在于源中和/或是否与不正确的访问凭证(例如资产的元数据中所包括的口令)相关联。
在一个实施例中,为恢复识别的资源或资产的列表可以被维护在例如ATC模块或公共模块中以用于同步和恢复操作两者,以动态地改变恢复次序和/或报告恢复进度。应用可以经由插件模块(例如库)和/或API(应用编程接口)来访问恢复进度。相应地,应用可以经由用户接口操作例如灰显图标、旋转图标、移动进度条或其它适用的用户接口变化等来提供恢复进度的实况更新。例如,用户接口可以呈现应用的恢复进度以指示已经为该应用恢复了20%或其它百分比的资产。
应用可以中断或改变在后台阶段中工作的恢复操作。例如,用户可以轻触针对从商店购买的媒体资产(例如歌曲或视频)的应用。作为响应,该应用可以例如经由插件模块或API来例如经由ATC模块请求对资产迁移重新排列优先级。用于云中的资产商店的源接口模块(例如itune商店化的)可以被指示将用户轻触的媒体资产放在相关联的队列顶部来继续恢复或迁移。
在一个实施例中,设备可以在备份操作期间监视电源的状态以保持鲁棒的用户体验。在检测到与电源的改变有关的系统事件时,设备可以以透明的不会被用户注意到的方式终止或取消(例如在后台中的)备份(或恢复)资源的进程。系统事件可以例如通过拔出或断开设备的电源线、感应垫或其它电力传输机构而引起。
在一些实施例中,事件可以基于监视设备是否被插入到具有充足电力的电源而产生(例如,如果电源不具有足够的电力则停止备份)。可替换地或可选地,事件可以基于设备中的屏幕是打开还是关闭和/或设备的网络连接的状况。例如,如果屏幕打开(例如因为无论什么原因),则可以取消设备的自动备份以避免影响用户接口性能。例如,如果事件指示设备不再连接到WiFi网络,则可以暂停自动备份以避免经由蜂窝电话网络使用蜂窝数据。
在一些实施例中,可以发布警告来为用户提供选择是否继续备份/恢复的选项。设备可以在工作状态保持被供电以例如保存电池电力,而不会由于用户不知道的后台中的备份/恢复操作引起电力泄漏。
在一个实施例中,备份/恢复状态可以保持在设备中以允许例如当外部电力线被插回时继续备份/恢复操作。备份操作可以被继续以重新扫描设备来识别哪些资源已经被备份而不必对在例如当外部电力线被拔出之前已经被备份的资源执行不必要的备份操作。
图1是图示出根据本文所描述的一个实施例的用于多阶段多源备份和恢复的网络系统的一个实施例的框图。联网系统100可以包括动态配置的网络109,其连接服务101、103、105、107、117和设备111、113。例如,客户端设备113诸如电话设备可以根据设备113所处的位置而被偶发地与资产商店服务107连接。设备113可以(例如经由电线)本地地耦接或直接地连接到本地备份设备111,本地备份设备111可以是能够访问大容量存储设备诸如硬盘、固态设备、闪存或其它存储设备的台式计算机。在一个实施例中,客户端设备113可以经由即时识别的多个源(例如服务器、服务或本地设备)101、103、105、107、111、117被备份和/或恢复。备份服务或源诸如服务101、103、105、107、111、117或其它适用的内容服务可以能够在被请求时将资产或内容重新存储到设备诸如设备113,而不需要设备备份资产。
图2是图示出根据本文中所描述的一个实施例的用于多阶段多源备份和恢复的示例性系统的框图。在一个实施例中,系统200可以基于图1的客户端设备113,其运行操作环境201,其可以基于来自苹果公司的操作系统或其它适用的操作系统。
系统201可以包括备份/恢复管理模块207,其用于经由网络接口模块203利用选定源来备份和恢复设备的资源。资源可以包括例如文件系统217中的文件。模块207可以在用户配置的时间表上例如每天、每周或按需从经由远程设备和/或用户输入接收的请求启动备份/恢复操作。在一些实施例中,模块207可以响应于经由系统事件处理器模块205监视的系统事件诸如外部电源丢失(例如当外部电源线被拔出时)来中断或继续备份/恢复操作。
本地数据库209可以高速缓存或存储为设备备份的一个或多个快照。快照可以表示在某个时间点备份的设备的资源的状态。备份/恢复操作可以允许系统201返回到与快照对应的之前状态。
在一个实施例中,一个或多个应用诸如应用213可以经由例如状况接口模块221来与备份/恢复管理模块207通信。应用213可以作为插件或经由API接口与状况接口模块221链接。在一个实施例中,应用213可以访问相关联的资源的备份/恢复状况以经由用户接口模块225来呈现进度。
可替换地,应用213可以将经由用户接口模块225接收的用户请求例如用户轻触动作中继到模块207以用于即时对备份/恢复操作进行重新排序或更改。用户请求可以经由基于触摸屏的、基于鼠标的、基于指针的、基于语音的或其它适用的用户接口技术来接收。在一个实施例中,应用213的使用历史诸如使用内容、使用频率、使用时间或其它适用的使用统计值可以被记录在使用历史211中。模块207可以基于经由使用历史211收集的信息来动态地配置备份/恢复操作。
图3是图示出根据本文中所描述的一个实施例的用于管理使用多个源在多个阶段中的备份和恢复的示例性系统的框图。系统300可以基于图2的系统200,系统200包括备份/恢复管理模块207。在一个实施例中,系统300可以包括服务框架309,其能够发现用于执行备份/恢复操作的多个备份/恢复源和/或与之接口。
例如,(例如作为itune商店化进程运行的)商店接口模块301可以与可用商店诸如图1的商店107通信以用于迁移已购买资源。云接口模块307可以与云存储装置诸如图1的云备份服务101通信以迁移用于备份/恢复设备中的资源的实际内容。(例如作为itune化的进程运行的)本地设备接口模块305可以通过与在本地计算机中运行的对应服务诸如托管在图1的本地备份设备111中的交换消息来备份、恢复和/或同步资源。在一个实施例中,接口模块301,305,307可以共享公共接口引擎303,诸如ATC引擎或模块,其可以能够在比接口模块301,305,307更低抽象层执行数据迁移。
多阶段处理器模块311(例如作为备份进程运行)可以管理备份/恢复操作的不同阶段。例如,多阶段处理器模块311可以利用备份服务105(例如根据配置的时间表)启动备份操作来识别对要备份的资源的快照的描述。在一个实施例中,多阶段处理器模块311可以识别在模态阶段(或第一阶段)和/或后续阶段(例如,后台阶段)中要恢复哪些资源,后续阶段可以是非模态的(例如,允许与用户的交互)。
在一些实施例中,资源队列处理器模块313可以根据例如配置的启发式和/或用户请求来动态地对用于恢复和/或备份的资源重新排序。资源或资产可以向根据服务框架309的单独的队列排序的不同源迁移或从其迁移。在一个实施例中,响应于在设备的(例如,在后台中的)恢复期间从应用接收的用户轻触动作或其它UI动作(例如,鼠标点击、语音命令、键盘选择、手势等),资源队列处理器模块313以有利于应用的方式来对还有待恢复的资源进行重新排列优先级。资源队列处理器模块313可以指示服务框架309更新队列以对例如与应用相关联的资源下载允许较高的优先级。
图4是图示出根据本文中所描述的一个实施例的用于为设备执行增量备份操作的处理的一个实施例的流程图。示例性处理400可以由处理逻辑执行,处理逻辑可以包括硬件(电路系统、专用逻辑等)、(诸如在专用机器上运行的)软件或两者的组合。例如,处理400可以由图2的系统200的一些组件执行。
在一个实施例中,处理400的处理逻辑可以执行包括至少两个步骤的备份操作。处理400的处理逻辑可以将元数据发送给备份服务(例如,MBS)来从备份服务接收令牌以用于对内容服务(例如MMCS)进行认证。随后,处理400的处理逻辑可以使用令牌将实际内容上载到内容服务。备份服务中的文件的元数据可以利用认证令牌更新。
在框401,处理400的处理逻辑可以在设备管理服务器(例如MBS)中定位与设备对应的备份。如果发现没有与设备对应的现有备份,则该备份可以被新创建。在框403,处理400的处理逻辑可以重新建立快照高速缓存(或高速缓存清单)来与备份管理服务器同步。在框405,处理400的处理逻辑可以识别前一备份操作的快照。所识别的快照可以是未提交的快照或新创建的快照。所识别的快照可以包括描述文件系统中的文件的元数据。
在框407,处理400的处理逻辑可以扫描文件系统以例如经由与所识别的快照的比较来找到文件系统的变化(例如新文件、删除的文件、修改的文件等)。在框409处,处理400的处理逻辑可以经由与备份管理服务器、备份服务管理服务器(例如,MMCS)和存储提供商服务器(例如,Amazon、S3或云存储装置等)的协调事务来执行备份操作。在框411,处理400的处理逻辑可以融合之前创建的快照(例如,删除旧的快照和/或维护具有多个增量快照的、与一个完全文件集合对应的一个完全快照,其中每个增量快照对应于该文件集合的相对于前一快照的增量变化)。
图5是图示出根据本文中描述的一个实施例的在设备中执行增量恢复操作的处理的一个实施例的流程图。示例性处理500可以由处理逻辑执行,处理逻辑可以包括硬件(电路系统、专用逻辑等)、(诸如在专用机器上运行的)软件或两者的组合。例如,处理500可以由图2的系统200的一些组件执行。
在框510,处理500的处理逻辑可以将系统文件从云备份模态恢复至设备(例如,设备),而不必对来自用户的输入进行响应。在模态恢复期间,设备的操作系统可以是可用的并且在运行。在框503,处理500的处理逻辑可以利用恢复的系统文件来将设备重新引导到用户的工作情况。
在框505,处理500的处理逻辑可以在后台将文件恢复到设备。资产(例如已购买的或已迁移的)可以从云商店(例如,商店)下载并且数据可以从云备份恢复。在框507,处理500的处理逻辑可以从(例如,运行备份软件的)用户计算机同步/分割恢复文件。文件可以包括已购买的资产和/或不是从云备份恢复的数据。
图6是图示出根据本文中所描述的一个实施例的动态地对资源排列优先级以恢复设备的处理的一个实施例的流程图。示例性处理600可以由处理逻辑执行,处理逻辑可以包括硬件(电路系统、专用逻辑等)、(诸如在专用机器上运行的)软件或两者的组合。例如,处理600可以由图2的系统200的一些组件执行。
在框601,处理600的处理逻辑可以跟踪设备(例如,基于的移动设备)中所托管的应用和/或内容的使用模式(例如,次数、使用时间、使用位置、使用持续时间等)。在框603,处理600的处理逻辑可以创建要恢复到设备的应用和/或内容的列表。在框605,处理600的处理逻辑可以确定设备的当前位置。在框607,处理600的处理逻辑可以基于使用模式、与应用程序和/或内容相关联的适用的元数据(例如大小、类型等)和/或在当前位置的可获得性以一次序来对要恢复的应用和/或内容的列表排列优先级。
在框609,处理600的处理逻辑使用经优先级排序的列表来在当前位置将应用程序和/或内容恢复到设备。在框611,处理600的处理逻辑可以例如经由轻触输入来检测用户请求,指示一个或多个应用程序/内容上的期望的恢复优先级。在框613,处理600的处理逻辑可以根据所请求的期望的恢复优先级来动态地改变经优先级排序的列表的要恢复的应用程序和/或内容的次序。
图7是图示出根据本文中所描述的一个实施例的监视用于备份和/或恢复操作的设备的电源的示例性系统的框图。系统700可以基于客户端设备,诸如图1的设备113。
系统700可以配置为响应于检测到从外部电源(例如AC/DC适配器、太阳能电池板、感应充电板等)719已经停止而终止已经开始并正在进行中的空中(无线)备份操作。系统700包括外部电源端口713诸如耦接到AC/DC适配器或其它外部电源的输出端的插头或插头的插座,以及在再充电控制器的控制下被再充电的电池717。
电力检测器709被耦接到外部电源端口并被耦接到处理系统711,处理系统711可以是芯片或其它处理系统上的基于微处理器的系统;电力检测器监视外部电源的可用性和再充电处理的状态并且基于该监视来确定再充电的处理是否已经由于从外部电源断开连接而终止。电力检测器可以响应于检测到再充电处理已经由于断开连接而终止,生成使得处理系统终止无线备份操作的终止信号(例如,耦接到处理系统的总线上的中断信号)。
在一个实施例中,备份操作在终止之前已经开始并且在进行中并且正在备份可以存储在系统700的存储器715中的软件或用户数据(例如联系人、日历表条目、用户文本文件、用户媒体文件诸如歌曲或照片等)或者两者。系统700中的处理系统可以执行本文中所描述的任何一个备份方法来使得软件和/或用户数据通过备份操作被存储在远程设备诸如耦接到网络703的服务器701上。备份处理是通过系统700中的一个或多个无线电装置(例如,WiFi无线电装置或蜂窝电话无线电装置)707而无线地执行的,并且这些无线电装置耦接到系统700中的处理系统并被耦接到一个或多个网络。网络可以是单个网络(例如无线LAN)或多个网络或耦接到因特网的蜂窝电话网络等等。
响应于终止信号,处理系统可以立即或在为备份操作中的当前处理的文件完成备份操作之后终止正在进行的备份处理(其在此时是未完成的)。本文中所描述的处理系统和/或一个或多个服务器可以使用签名或同步锚或其它机制来保持对原子备份操作的跟踪以便跟踪提前终止的备份操作中已经完成了什么以及提前终止的备份操作中没完成什么。可以由系统700自动执行备份操作的终止,而没有用户请求或交互。
当系统700再次被从外部电源充电时,备份处理可以从终止的状态继续。在一个实施例中,系统700在其正通过外部电源再充电时根据本文中所描述的一种或多种方法被备份,并且其在与外部电源断开连接时终止备份并在再充电继续时从终止的备份状态继续。因此,在一个实施例中,备份处理响应于检测到外部电源已经被连接并且现在正在对系统700中的电池充电而或者开始或者继续,如图8所示。
图8是图示出根据本文中所描述的一个实施例的中断设备的备份和/或恢复操作以保存电力的处理的一个实施例的流程图。示例性处理800可以由处理逻辑执行,处理逻辑可以包括硬件(电路系统、专用逻辑等)、(诸如在专用机器上运行的)软件或两者的组合。例如,处理800可以由图2的系统200或图7的系统700的一些组件执行。
在框801,处理800的处理逻辑可以确定内部电池正在再充电。在框803,处理800的处理逻辑可以作为后台进程利用(一个或多个)远程备份服务器来开始备份操作并且监视内部电池的再充电状况。在框805,处理800的处理逻辑可以根据再充电状况确定内部电池中的再充电已经终止(例如,与AC/DC适配器断开连接,等等)。在框807,处理800的处理逻辑可以响应于检测到电池的再充电已经终止而终止备份操作。在框809,处理800的处理逻辑可以响应于检测到电池开始再充电而继续备份操作。
图9示出可以与本文中所描述的实施例一起使用的数据处理系统的一个示例。图9中示出的数据处理系统900包括处理系统911,处理系统911可以是一个或多个微处理器,或者可以是芯片集成电路上的系统,并且该系统还包括用于存储数据的存储器901和用于由处理系统执行的程序。系统900还包括音频输入/输出子系统905,音频输入/输出子系统905可以包括麦克风和扬声器用于例如播放音乐或通过扬声器和麦克风提供电话功能性。在至少某些实施例中,系统900可以通过网络或本地连接来自动地和/或手动地执行多阶段多源恢复和备份。在一个实施例中,系统900可以包括图2中所示的系统。
显示控制器和显示设备907为用户提供视觉用户接口;该数字接口可以包括与Macintosh计算机上在运行OS操作系统软件时示出的图形用户界面类似的图形用户界面。系统900还包括用于与另一数据处理系统通信的一个或多个无线收发器903。无线收发器可以是WiFi收发器、红外收发器、蓝牙收发器和/或无线蜂窝电话收发器。将明白:在某些实施例中,没有示出的额外的组件也可以是系统900的一部分,而在某些实施例中,比图9中所示更少的组件也可以用在数据处理系统中。
数据处理系统还包括被提供以允许用户向系统提供输入的一个或多个输入设备913。这些输入设备可以是小键盘或键盘或触摸面板或迷你触摸面板。数据处理系统900还包括可选的输入/输出设备915,其可以是用于扩展坞的连接器。将明白,未示出的一条或多条总线可以用于互连本领域已知的各种组件。图9中示出的数据处理系统可以是手持计算机或个人数字助理(PDA)或具有PDA类似功能性的蜂窝电话,或包括蜂窝电话的手持计算机,或诸如iPod之类的媒体播放器,或组合这些设备的各个方面或功能的设备,诸如在一个设备中结合PDA和蜂窝电话的媒体播放器。在其它实施例中,数据处理系统900可以是网络计算机或在另一设备内的嵌入式处理设备,或者具有比图9中所示更少组件或可能更多组件的其它类型的数据处理系统。
图10示出可以与本发明中的一个实施例一起使用的诸如计算机系统之类的数据处理系统的一个示例。例如,系统1000可以实现为图1中所示的系统的一部分。注意,尽管图10图示出计算机系统的各种组件,但是不意图表示互连组件的任何具体的体系架构或方式,因为这样的细节与本发明关系不大。还应当明白,网络计算机和具有更少组件或可能更多组件的其它数据处理系统也可以与本发明一起使用。
如图10中所示,数据处理系统的形式的计算机系统1000包括总线1003,总线1003耦接到(一个或多个)微处理器1005和ROM(只读存储器)1007以及易失性RAM1009和非易失性存储器1011。微处理器1005可以从存储器1007、1009、1011检索指令并执行这些指令来执行上述操作。总线1003将这各种组件互连到一起并且还将这些组件1005、1007、1009和1011互连到显示控制器和显示设备1013以及到外围设备,外围设备诸如是输入/输出(I/O)设备,其可以是鼠标、键盘、调制解调器、网络接口、打印机和本领域公知的其它设备。通常,输入/输出设备1015通过输入/输出控制器1017耦接到系统。易失性RAM(随机存取存储器)1009通常实现为动态RAM(DRAM),其持续地要求电力以便刷新或保持存储器中的数据。
大容量存储装置1011通常是磁硬驱或磁光驱或光驱或DVDRAM或闪存或其它类型的存储系统,其即便在从系统移除电力之后也保持数据(例如,大量数据)。通常,大容量存储装置1011还可以是随机存取存储器,但是这不是必需的。尽管图10示出大容量存储装置1011是直接地耦接到数据处理系统中的组件的其余部分的本地设备,但是将明白,本发明可以利用远离系统的非易失性存储器,诸如通过诸如调制解调器或以太网接口或无线联网接口之类的网络接口与数据处理系统耦接的网络存储设备。总线1003可以包括通过本领域公知的各种桥接器、控制器和/或适配器彼此连接的一条或多条总线。
以上描述的内容中的一些部分可以利用诸如是专用逻辑电路之类的逻辑电路实现,或者利用执行程序代码指令的微控制器或其它形式的处理核心实现。通过以上论述教导的这样的处理可以利用诸如机器可执行指令之类的程序代码执行,其中机器可执行指令使得执行这些指令的机器执行确定的功能。在该上下文中,“机器”可以是将中间形式(或“抽象”)指令转换为处理器特定的指令(例如,抽象执行环境,诸如“虚拟机”(例如Java虚拟机)、翻译器、公共语言运行时、高级语言虚拟机等)的机器,和/或,布置在半导体芯片上的被设计用于执行指令的电子电路系统(例如,利用晶体管实现的“逻辑电路”),诸如通用处理器和/或专用处理器。还可以由被设计用于执行处理(或部分处理)而不必执行程序代码的电子电路(作为机器的替代或与机器组合)来执行通过以上论述教导的处理。
一种制造件可以用于存储程序代码。存储程序代码的制造件可以实现为但不限于一个或多个存储器(例如一个或多个闪存、随机存取存储器(静态、动态或其它))、光盘、CD-ROM、DVD ROM、EPROM、EEPROM、磁卡或光卡或适合用于存储电子指令的其它类型的机器可读介质。程序代码也可以从远程计算机(例如服务器)通过传播介质中包含的数据信号(例如经由通信链路(例如网络连接))下载到进行请求的计算机(例如,客户端)。
这里使用的术语“存储器”意图包含所有易失性存储介质,诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)。计算机可执行指令可以存储在非易失性存储设备诸如磁硬盘和光盘上并且通常在处理器执行软件期间通过直接存储器存取处理被写入存储器中。本领域技术人员将立即认识到,术语“机器可读存储介质”包括处理器可访问的任何类型的易失性或非易失性存储设备。
前述详细描述是鉴于对计算机存储器内的数据比特的操作的算法和符号表示来介绍的。这些算法描述和表示是数据处理领域技术人员为了将他们的工作的实质最有效地传达给本领域其它技术人员所使用的工具。算法在这里通常是构想为是导致期望结果的自一致的操作序列。这些操作是要求对物理量的物理操作的那些操作。通常,尽管不是必需的,这些量采用能够被存储、迁移、组合、比较和以其他方式操纵的电信号或磁信号的形式。已经证实,有时主要因为公共使用的原因,将这些信号称为比特、值、元素、符号、字符、项、数字等是方便的。
然而,应当谨记的是,所有这些和类似的术语将与适当的物理量相关联并且仅仅是应用于这些量的便利标签。除非另外具体指明,否则,从以上论述显见,将明白,通过该描述,利用诸如“处理”或“计算”或“确定”或“显示”等的术语进行的论述是指计算机系统或类似的电子计算设备将被表示为计算机系统的寄存器和存储器内的物理(电子)量的数据操纵和变换成被类似地表示为计算机系统存储器或寄存器或其它这样的信息存储装置、传输或显示设备内的物理量的其它数据的动作和处理。
本发明还涉及用于执行本文中所描述的操作的装置。该装置可以被具体地构造用于所需的目的,或者其可以包括用存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以存储在计算机可读存储介质中,计算机可读存储介质诸如但不限于是任何类型的盘包括软盘、光盘、CD-ROM和磁光盘、只读存储器(ROM)、RAM、EPROM、EEPROM、磁卡或光卡或适合用于存储电子指令的任何类型的介质,并且每一个都耦接到计算机系统总线。
本文中介绍的处理和显示并不固有地涉及任何特定的计算机或其它装置。各种通用系统可以于根据本文中的教导的程序一起使用,或可以证实,构建更专门的装置用于执行所述操作是便利的。用于各种这些系统的所需结构将从以下描述显见。另外,本发明不是参考任何具体编程语言来描述的。将明白,各种编程语言都可以用于实现本文中所描述的本发明的教导。
在以上说明中,已经参考本发明的具体示例性实施例描述了本发明。将显见的是,可以在不偏离对以下权利要求书中所阐述的本发明的更宽的精神和范围的情况下对其进行各种修改。相应地,说明书和附图应当从说明性的含义而不是限制性含义上去理解。

Claims (20)

1.一种便携式电子设备,包括:
内部电池;
存储器,配置为存储信息;
电力检测器,配置为在用于备份存储在所述存储器中的信息的备份处理期间监视内部电池的再充电状况,其中,所述监视包括检测所述内部电池的再充电停止的时间和所述内部电池的再充电继续的时间;
网络无线电装置,配置为在所述备份处理期间将所述信息发送给远程设备;以及
处理器,配置为自动地并且在没有用户请求的情况下在所述内部电池的再充电停止时终止所述备份处理并且在所述内部电池的再充电继续时自动地继续所述备份处理。
2.如权利要求1所述的便携式电子设备,其中,所述内部电池经由与便携式电子设备的外部电源端口的电力连接而从外部电源被再充电。
3.如权利要求2所述的便携式电子设备,其中,当外部电源被与外部电源端口断开连接时,所述内部电池的再充电停止。
4.如权利要求1所述的便携式电子设备,其中,所述内部电池经由感应垫从外部电源被再充电。
5.如权利要求4所述的便携式电子设备,其中,当便携式电子设备距离所述感应垫预定义的距离时,所述内部电池的再充电停止。
6.如权利要求1所述的便携式电子设备,其中,所述内部电池经由太阳能电池板被再充电。
7.如权利要求6所述的便携式电子设备,其中,当在便携式电子设备重新部署时不能通过太阳能电池板获取太阳能源时,所述内部电池停止再充电。
8.如权利要求1所述的便携式电子设备,其中,所述备份处理包括执行多个备份操作,并且,当所述备份操作中的至少一个备份操作在所述内部电池的再充电已经停止时还有待执行时,所述备份处理正在进行。
9.如权利要求8所述的便携式电子设备,其中,所述备份处理被终止,没有执行所述多个备份操作中的所述至少一个备份操作。
10.如权利要求8所述的便携式电子设备,其中,继续所述备份处理包括执行所述多个备份操作中的所述至少一个备份操作。
11.如权利要求8所述的便携式电子设备,其中,所述备份处理正在进行所述多个备份操作中的一个备份操作,所述一个备份操作是原子的,并且,所述备份处理在所述一个备份操作被完成之后被终止。
12.如权利要求8所述的便携式电子设备,其中,所述备份处理正在进行所述多个备份操作中的一个备份操作,并且,所述备份处理在所述一个备份操作被完成之前被终止。
13.如权利要求8所述的便携式电子设备,其中,所述备份处理还包括:
跟踪所述备份处理的终止的状态,其中,所述终止的状态指示在所述备份处理被终止时所述多个备份操作中的哪些备份操作还没有被完成。
14.一种计算机实现的方法,包括:
从设备向远程位置备份信息;
在信息正被备份到远程位置的同时监视便携式电子设备的内部电池的再充电状况;
检测所述内部电池已停止再充电;
在没有用户请求的情况下,响应于检测到所述内部电池已停止再充电,自动终止所述信息的备份;
在所述信息的备份已被终止之后,检测所述内部电池已继续再充电;以及
响应于检测到所述内部电池已继续再充电,继续所述信息的备份。
15.如权利要求14所述的计算机实现的方法,其中,监视所述内部电池的再充电状况包括检测外部电源是否连接到所述便携式电子设备。
16.如权利要求14所述的计算机实现的方法,其中,备份信息包括通过执行多个备份操作来将所述信息从所述便携式电子设备发送到所述远程位置。
17.如权利要求16所述的计算机实现的方法,其中,在所述信息的备份被终止时,所述多个备份操作中的至少一个备份操作还没有被执行。
18.如权利要求16所述的计算机实现的方法,其中,所述多个备份操作包括针对所述便携式设备的当前文件的当前备份操作,所述信息的备份包括在所述内部电池已停止再充电时执行所述当前备份操作,并且,所述当前备份操作是原子的。
19.如权利要求18所述的计算机实现的方法,其中,所述信息的备份在所述当前备份操作被完成之后被终止。
20.如权利要求16所述的计算机实现的方法,其中,自动终止所述信息的备份包括跟踪锚,所述锚指示在所述信息的备份被终止时已经完成了哪些备份操作。
CN201280027326.2A 2011-06-03 2012-05-22 用于多阶段多源备份的方法和装置 Active CN103597801B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161493360P 2011-06-03 2011-06-03
US61/493,360 2011-06-03
US13/226,409 2011-09-06
US13/226,409 US9465696B2 (en) 2011-06-03 2011-09-06 Methods and apparatus for multi-phase multi-source backup
PCT/US2012/039007 WO2012166441A1 (en) 2011-06-03 2012-05-22 Methods and apparatus for multi-phase multi-source backup

Publications (2)

Publication Number Publication Date
CN103597801A CN103597801A (zh) 2014-02-19
CN103597801B true CN103597801B (zh) 2016-11-09

Family

ID=46201829

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280027326.2A Active CN103597801B (zh) 2011-06-03 2012-05-22 用于多阶段多源备份的方法和装置

Country Status (7)

Country Link
US (1) US9465696B2 (zh)
EP (1) EP2716007B1 (zh)
JP (1) JP5728130B2 (zh)
KR (1) KR101598724B1 (zh)
CN (1) CN103597801B (zh)
AU (1) AU2012262731B2 (zh)
WO (1) WO2012166441A1 (zh)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003028183A1 (en) * 2001-09-28 2003-04-03 Commvault Systems, Inc. System and method for generating and managing quick recovery volumes
US8676759B1 (en) 2009-09-30 2014-03-18 Sonicwall, Inc. Continuous data backup using real time delta storage
US9411687B2 (en) 2011-06-03 2016-08-09 Apple Inc. Methods and apparatus for interface in multi-phase restore
US8849819B2 (en) 2011-08-05 2014-09-30 Deacon Johnson System and method for controlling and organizing metadata associated with on-line content
JP5895523B2 (ja) * 2011-12-28 2016-03-30 富士通株式会社 情報処理装置及びデータ管理方法
US9424433B2 (en) * 2012-02-13 2016-08-23 Synchronoss Technologies, Inc. Data storage management
US9489271B1 (en) * 2012-03-29 2016-11-08 Veritas Technologies Llc User interface for restoring databases
EP2680487B1 (en) * 2012-06-29 2019-04-10 Orange Secured cloud data storage, distribution and restoration among multiple devices of a user
US20140075583A1 (en) * 2012-09-10 2014-03-13 Apple Inc. Management of media items
US9542423B2 (en) 2012-12-31 2017-01-10 Apple Inc. Backup user interface
US9613047B2 (en) * 2013-02-13 2017-04-04 Dropbox, Inc. Automatic content item upload
US9715516B1 (en) 2013-11-19 2017-07-25 Synchronoss Technologies, Inc. Edition-based redefinition for tables
US10776321B1 (en) * 2013-12-07 2020-09-15 Trilio Data, Inc. Scalable de-duplication (dedupe) file system
US10374904B2 (en) 2015-05-15 2019-08-06 Cisco Technology, Inc. Diagnostic network visualization
US9967158B2 (en) 2015-06-05 2018-05-08 Cisco Technology, Inc. Interactive hierarchical network chord diagram for application dependency mapping
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US10140187B1 (en) * 2015-06-30 2018-11-27 Symantec Corporation Techniques for system backup
US10788872B2 (en) 2015-09-21 2020-09-29 Hewlett Packard Enterprise Development Lp Server node shutdown
US10007457B2 (en) * 2015-12-22 2018-06-26 Pure Storage, Inc. Distributed transactions with token-associated execution
US10430293B1 (en) * 2015-12-30 2019-10-01 EMC IP Holding Company LLC Backup client agent
US10289438B2 (en) 2016-06-16 2019-05-14 Cisco Technology, Inc. Techniques for coordination of application components deployed on distributed virtual machines
US10708183B2 (en) 2016-07-21 2020-07-07 Cisco Technology, Inc. System and method of providing segment routing as a service
US10972388B2 (en) 2016-11-22 2021-04-06 Cisco Technology, Inc. Federated microburst detection
US10884875B2 (en) * 2016-12-15 2021-01-05 Palantir Technologies Inc. Incremental backup of computer data files
US10708152B2 (en) 2017-03-23 2020-07-07 Cisco Technology, Inc. Predicting application and network performance
US10523512B2 (en) 2017-03-24 2019-12-31 Cisco Technology, Inc. Network agent for generating platform specific network policies
US10594560B2 (en) 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
US10764141B2 (en) 2017-03-27 2020-09-01 Cisco Technology, Inc. Network agent for reporting to a network policy system
US10250446B2 (en) 2017-03-27 2019-04-02 Cisco Technology, Inc. Distributed policy store
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
US10680887B2 (en) 2017-07-21 2020-06-09 Cisco Technology, Inc. Remote device status audit and recovery
US10554501B2 (en) 2017-10-23 2020-02-04 Cisco Technology, Inc. Network migration assistant
US10523541B2 (en) 2017-10-25 2019-12-31 Cisco Technology, Inc. Federated network and application data analytics platform
US10594542B2 (en) 2017-10-27 2020-03-17 Cisco Technology, Inc. System and method for network root cause analysis
US11233821B2 (en) 2018-01-04 2022-01-25 Cisco Technology, Inc. Network intrusion counter-intelligence
KR102005727B1 (ko) * 2018-01-22 2019-07-31 한국교통대학교산학협력단 파일 시스템의 변경 연산 가로채기 기법을 기반으로 한 다중 스냅샷 방법
US10826803B2 (en) 2018-01-25 2020-11-03 Cisco Technology, Inc. Mechanism for facilitating efficient policy updates
US10798015B2 (en) 2018-01-25 2020-10-06 Cisco Technology, Inc. Discovery of middleboxes using traffic flow stitching
US10873593B2 (en) 2018-01-25 2020-12-22 Cisco Technology, Inc. Mechanism for identifying differences between network snapshots
US10574575B2 (en) 2018-01-25 2020-02-25 Cisco Technology, Inc. Network flow stitching using middle box flow stitching
US10999149B2 (en) 2018-01-25 2021-05-04 Cisco Technology, Inc. Automatic configuration discovery based on traffic flow data
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry
US10783043B2 (en) * 2018-03-16 2020-09-22 EMC IP Holding Company LLC Automation and optimization of data recovery after a ransomware attack
CN108710547B (zh) * 2018-05-10 2020-10-27 腾讯科技(深圳)有限公司 一种数据备份方法、装置、终端及存储介质
US11455275B2 (en) * 2018-07-18 2022-09-27 Weka.IO Ltd. Storing a point in time coherently for a distributed storage system
CN109408429B (zh) * 2018-11-01 2020-10-16 苏州浪潮智能科技有限公司 一种低速接口的缓存方法与装置
KR102605560B1 (ko) * 2018-11-30 2023-11-24 에스케이하이닉스 주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법
US10936240B2 (en) * 2018-12-04 2021-03-02 International Business Machines Corporation Using merged snapshots to increase operational efficiency for network caching based disaster recovery
US11573863B2 (en) 2019-04-08 2023-02-07 Kyndryl, Inc. Virtual machine backup and restore coordinator
CN113326164A (zh) * 2020-07-10 2021-08-31 阿里巴巴集团控股有限公司 数据备份方法、装置、电子设备及计算机存储介质
US11921592B2 (en) * 2020-07-20 2024-03-05 Google Llc Restoration of a computing session
EP3968591B1 (en) * 2020-09-10 2023-06-07 Siemens Healthcare GmbH Method for securely storing and retrieving medical data
US12088583B2 (en) * 2020-11-11 2024-09-10 Hewlett Packard Enterprise Development Lp Permissions for backup-related operations
US11588847B2 (en) * 2020-12-15 2023-02-21 International Business Machines Corporation Automated seamless recovery
US11606230B2 (en) 2021-03-03 2023-03-14 Apple Inc. Channel equalization
US11784731B2 (en) * 2021-03-09 2023-10-10 Apple Inc. Multi-phase-level signaling to improve data bandwidth over lossy channels
CN117827534A (zh) * 2022-06-16 2024-04-05 荣耀终端有限公司 一种数据克隆过程的管控方法、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1661563A (zh) * 2004-02-25 2005-08-31 国际商业机器公司 任意数目的备用组件的系统体系结构用方法和系统

Family Cites Families (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04199209A (ja) * 1990-11-26 1992-07-20 Hitachi Ltd 携帯用バッテリパック
DE69231873T2 (de) 1992-01-08 2002-04-04 Emc Corp., Hopkinton Verfahren zur Synchronisierung von reservierten Bereichen in einer redundanten Speicheranordnung
US5241668A (en) 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated termination and resumption in a time zero backup copy process
US5737557A (en) 1995-05-26 1998-04-07 Ast Research, Inc. Intelligent window user interface for computers
US6061409A (en) 1996-06-27 2000-05-09 Matsushita Electric Industrial Co., Ltd. Synchronization recovery for a mobile telephone
JPH11134234A (ja) 1997-08-26 1999-05-21 Reliatec Ltd バックアップ・リストア方法およびその制御装置,並びにバックアップ・リストアプログラムを記録したコンピュータ読み取り可能な記録媒体
JPH11168837A (ja) * 1997-10-01 1999-06-22 Casio Comput Co Ltd 携帯通信機器用充電装置
US6141771A (en) 1998-02-06 2000-10-31 International Business Machines Corporation Method and system for providing a trusted machine state
US6247126B1 (en) 1999-01-25 2001-06-12 Dell Usa, L.P. Recoverable software installation process and apparatus for a computer system
US7395282B1 (en) 1999-07-15 2008-07-01 Commvault Systems, Inc. Hierarchical backup and retrieval system
US6851073B1 (en) 1999-07-26 2005-02-01 Microsoft Corporation Extensible system recovery architecture
JP4292660B2 (ja) 1999-11-19 2009-07-08 日本ビクター株式会社 自動デフラグ装置
US20070033252A1 (en) * 2000-03-30 2007-02-08 Combest Ricky F Dynamic virtual network and method
JP4568963B2 (ja) 2000-06-08 2010-10-27 ソニー株式会社 情報処理装置、情報通信システム
US20020091956A1 (en) 2000-11-17 2002-07-11 Potter Scott T. Methods and systems for reducing power consumption in computer data communications
US7216136B2 (en) * 2000-12-11 2007-05-08 International Business Machines Corporation Concurrent collection of cyclic garbage in reference counting systems
US6920447B2 (en) 2001-02-15 2005-07-19 Microsoft Corporation Concurrent data recall in a hierarchical storage environment using plural queues
US7146524B2 (en) 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
US7287249B2 (en) * 2001-09-28 2007-10-23 Siebel Systems, Inc. Method and system for tracking and exchanging incremental changes to hierarchical objects
US7237075B2 (en) * 2002-01-22 2007-06-26 Columbia Data Products, Inc. Persistent snapshot methods
US7291480B2 (en) 2002-03-13 2007-11-06 Black Jennifer A Device and method for detecting antibiotic-inactivating enzymes
US8150937B2 (en) 2004-10-25 2012-04-03 Apple Inc. Wireless synchronization between media player and host device
JP4173320B2 (ja) 2002-05-22 2008-10-29 株式会社エヌ・ティ・ティ・ドコモ 移動通信端末、情報記憶モジュール、プログラムおよび記録媒体
US20030220913A1 (en) 2002-05-24 2003-11-27 International Business Machines Corporation Techniques for personalized and adaptive search services
EP1376360A3 (en) 2002-06-21 2004-01-07 Sharp Kabushiki Kaisha Automatic backup system
US7340486B1 (en) 2002-10-10 2008-03-04 Network Appliance, Inc. System and method for file system snapshot of a virtual logical disk
DE10393771T5 (de) * 2002-11-20 2006-03-30 Filesx Ltd. Schnelle Datensicherungsspeicherung und schnelle Datenwiederherstellung (FBSRD)
WO2004059486A1 (en) 2002-12-18 2004-07-15 Emc Corporation Resource allocation aware queuing of requests for media resources
US7720818B1 (en) 2002-12-30 2010-05-18 Sprint Communications Company L.P. On-line account management system having a tiered account information storage system
JP3974538B2 (ja) 2003-02-20 2007-09-12 株式会社日立製作所 情報処理システム
US7240219B2 (en) 2003-05-25 2007-07-03 Sandisk Il Ltd. Method and system for maintaining backup of portable storage devices
US7328366B2 (en) * 2003-06-06 2008-02-05 Cascade Basic Research Corp. Method and system for reciprocal data backup
US7124323B2 (en) 2003-06-18 2006-10-17 International Business Machines Corporation Method, system, and program for recovery of a reverse restore operation
US20050210304A1 (en) 2003-06-26 2005-09-22 Copan Systems Method and apparatus for power-efficient high-capacity scalable storage system
US7143117B2 (en) 2003-09-25 2006-11-28 International Business Machines Corporation Method, system, and program for data synchronization by determining whether a first identifier for a portion of data at a first source and a second identifier for a portion of corresponding data at a second source match
US7225208B2 (en) 2003-09-30 2007-05-29 Iron Mountain Incorporated Systems and methods for backing up data files
GB2423850B (en) 2003-11-13 2009-05-20 Commvault Systems Inc System and method for performing integrated storage operations
US20050137983A1 (en) 2003-12-18 2005-06-23 Matthew Bells System and method for digital rights management
JP4551096B2 (ja) 2004-02-03 2010-09-22 株式会社日立製作所 ストレージサブシステム
JP2005222171A (ja) 2004-02-03 2005-08-18 Nec Access Technica Ltd 携帯電話機
US7526768B2 (en) 2004-02-04 2009-04-28 Microsoft Corporation Cross-pollination of multiple sync sources
TWI278199B (en) 2004-03-26 2007-04-01 Quanta Comp Inc Deployment method and system for multiple remote computers
US7330997B1 (en) 2004-06-03 2008-02-12 Gary Odom Selective reciprocal backup
US7343518B2 (en) 2004-06-23 2008-03-11 Intel Corporation Method for data backup of computing platforms that are occasionally connected
US7437388B1 (en) 2004-12-21 2008-10-14 Symantec Corporation Protecting data for distributed applications using cooperative backup agents
US7721138B1 (en) 2004-12-28 2010-05-18 Acronis Inc. System and method for on-the-fly migration of server from backup
US7506010B2 (en) * 2005-02-08 2009-03-17 Pro Softnet Corporation Storing and retrieving computer data files using an encrypted network drive file system
US20080065637A1 (en) 2005-04-14 2008-03-13 Emc Corporation Locating last processed data
US7590668B2 (en) 2005-04-15 2009-09-15 Microsoft Corporation Pausable backups of file system items
US8103632B2 (en) 2005-04-22 2012-01-24 Microsoft Corporation Self-contained partial database backups
US7584226B2 (en) 2005-05-24 2009-09-01 International Business Machines Corporation System and method for peer-to-peer grid based autonomic and probabilistic on-demand backup and restore
US20070005669A1 (en) 2005-06-09 2007-01-04 Mueller Christoph K Method and system for automated disk i/o optimization of restored databases
US7747577B2 (en) 2005-08-17 2010-06-29 International Business Machines Corporation Management of redundant objects in storage systems
US7779069B2 (en) 2005-09-09 2010-08-17 Soonr Corporation Network adapted for mobile devices
KR100678921B1 (ko) 2005-10-18 2007-02-05 삼성전자주식회사 다중 서버 환경에 적합한 디바이스를 클라이언트로 하여동기화를 수행하는 방법 및 장치
US7765187B2 (en) 2005-11-29 2010-07-27 Emc Corporation Replication of a consistency group of data storage objects from servers in a data network
US7904425B2 (en) * 2005-12-13 2011-03-08 International Business Machines Corporation Generating backup sets to a specific point in time
US8341127B1 (en) 2006-02-02 2012-12-25 Emc Corporation Client initiated restore
US8042172B1 (en) 2006-02-02 2011-10-18 Emc Corporation Remote access architecture enabling a client to perform an operation
US7899418B2 (en) 2006-02-22 2011-03-01 Fujifilm Corporation Mobile device and wireless communication apparatus
US20070204003A1 (en) 2006-02-28 2007-08-30 Maven Networks, Inc. Downloading a file over HTTP from multiple servers
JP2007280323A (ja) * 2006-04-12 2007-10-25 Hitachi Ltd 記憶システム及びデータ管理方法
US20070260759A1 (en) 2006-04-14 2007-11-08 Scott Willie L Ii Apparatus, system, and method for complete data migration from a wireless communication device
US20070294546A1 (en) 2006-06-19 2007-12-20 Apple Computer, Inc. Host device shutdown system
US20080104145A1 (en) 2006-06-23 2008-05-01 Derrell Lipman Method and appartus for backup of networked computers
WO2008031158A1 (en) 2006-09-12 2008-03-20 Cebridge Pty. Ltd. Method system and apparatus for handling information
US7725704B1 (en) 2006-09-22 2010-05-25 Emc Corporation Techniques for performing a prioritized data restoration operation
US8117163B2 (en) 2006-10-31 2012-02-14 Carbonite, Inc. Backup and restore system for a computer
US20080140963A1 (en) * 2006-12-11 2008-06-12 Thomason Ronald G Methods and systems for storage system generation and use of differential block lists using copy-on-write snapshots
US9189265B2 (en) * 2006-12-21 2015-11-17 Vmware, Inc. Storage architecture for virtual machines
US8280978B2 (en) 2006-12-29 2012-10-02 Prodea Systems, Inc. Demarcation between service provider and user in multi-services gateway device at user premises
US8468244B2 (en) 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
WO2008086254A1 (en) 2007-01-07 2008-07-17 Apple Inc. Data backup for mobile device
JP5008991B2 (ja) 2007-01-24 2012-08-22 株式会社日立製作所 データのリカバリを制御する装置及び方法
PL2130108T3 (pl) 2007-03-29 2018-07-31 Nokia Technologies Oy Podłączenie do urządzenia USB
US8307004B2 (en) 2007-06-08 2012-11-06 Apple Inc. Manipulating electronic backups
US20080307348A1 (en) 2007-06-11 2008-12-11 Angela Richards Jones Method to Review, Preview and Modify Change Plans From a Progress Bar
US8554784B2 (en) * 2007-08-31 2013-10-08 Nokia Corporation Discovering peer-to-peer content using metadata streams
US20090089537A1 (en) * 2007-09-28 2009-04-02 Sun Microsystems, Inc. Apparatus and method for memory address translation across multiple nodes
US8339105B2 (en) 2007-10-17 2012-12-25 Freescale Semiconductor, Inc. Power management arrangement for a mobile device
US20090144341A1 (en) * 2007-12-03 2009-06-04 Apple Inc. Ad Hoc Data Storage Network
FR2924839B1 (fr) 2007-12-06 2010-03-19 Agematis Procede de sauvegarde automatique de donnees numeriques conservees en memoire dans une installation informatique, support de donnees lisible par un ordinateur, installation informatique et systeme pour la mise en oeuvre de ce procede
EP2073461A1 (en) 2007-12-18 2009-06-24 Alcatel Lucent Process for delivering at least one data stream from a data source system to a data receiver system through a network
US8112664B2 (en) 2008-03-26 2012-02-07 Symantec Operating Corporation Using volume snapshots to prevent file corruption in failed restore operations
US20080189298A1 (en) * 2008-04-02 2008-08-07 Steve Cha Method and apparatus for wireless access to personalized multimedia at any location
US8583602B2 (en) 2008-06-05 2013-11-12 Palm, Inc. Restoring of data to mobile computing device
US20100031248A1 (en) 2008-07-31 2010-02-04 Microsoft Corporation Installation Sequence Manager
US8250031B2 (en) 2008-08-26 2012-08-21 Hitachi, Ltd. Low traffic failback remote copy
US20100052620A1 (en) 2008-09-03 2010-03-04 Intersil Americas Inc. Battery charger ic including built-in usb detection
CN101741601B (zh) 2008-11-06 2012-02-15 上海市医疗保险信息中心 结构化灾难备份系统和备份方法
US8161233B2 (en) 2009-05-13 2012-04-17 Computer Associates Think, Inc. Multi-stream restore system and method
JP4903244B2 (ja) 2009-06-05 2012-03-28 株式会社日立製作所 計算機システム及び障害復旧方法
US8407190B2 (en) 2009-06-30 2013-03-26 Commvault Systems, Inc. Performing data storage operations with a cloud environment, including containerized deduplication, data pruning, and data transfer
US8228753B2 (en) 2009-07-29 2012-07-24 Stec, Inc. System and method of maintaining data integrity in a flash storage device
US8856080B2 (en) 2009-10-30 2014-10-07 Microsoft Corporation Backup using metadata virtual hard drive and differential virtual hard drive
US8380678B2 (en) 2009-11-24 2013-02-19 Symantec Corporation Tracking files which have been processed by a backup or a restore operation
US8694469B2 (en) * 2009-12-28 2014-04-08 Riverbed Technology, Inc. Cloud synthetic backups
US8903773B2 (en) 2010-03-31 2014-12-02 Novastor Corporation Computer file storage, backup, restore and retrieval
US9386098B2 (en) * 2010-06-11 2016-07-05 Fidelithon Systems, Llc Smartphone management system and method
US9244698B2 (en) 2010-09-14 2016-01-26 Microsoft Technology Licensing, Llc Download bar user interface control
US8909876B2 (en) * 2010-10-28 2014-12-09 International Business Machines Corporation Snapshots in a hybrid storage device comprising a magnetic disk and a solid state disk
US8819471B2 (en) 2011-06-03 2014-08-26 Apple Inc. Methods and apparatus for power state based backup

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1661563A (zh) * 2004-02-25 2005-08-31 国际商业机器公司 任意数目的备用组件的系统体系结构用方法和系统

Also Published As

Publication number Publication date
KR101598724B1 (ko) 2016-02-29
US9465696B2 (en) 2016-10-11
JP2014519655A (ja) 2014-08-14
WO2012166441A1 (en) 2012-12-06
CN103597801A (zh) 2014-02-19
US20120310889A1 (en) 2012-12-06
AU2012262731A1 (en) 2014-01-16
EP2716007B1 (en) 2016-05-18
EP2716007A1 (en) 2014-04-09
KR20140032475A (ko) 2014-03-14
JP5728130B2 (ja) 2015-06-03
AU2012262731B2 (en) 2016-04-28

Similar Documents

Publication Publication Date Title
CN103597801B (zh) 用于多阶段多源备份的方法和装置
CN103703742B (zh) 基于电源状态的备份方法和装置
KR101602584B1 (ko) 복수-소스 복원을 위한 방법 및 장치
US9904597B2 (en) Methods and apparatus for multi-phase restore

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant