CN103582875B - 用于多源恢复的方法及装置 - Google Patents

用于多源恢复的方法及装置 Download PDF

Info

Publication number
CN103582875B
CN103582875B CN201280027224.0A CN201280027224A CN103582875B CN 103582875 B CN103582875 B CN 103582875B CN 201280027224 A CN201280027224 A CN 201280027224A CN 103582875 B CN103582875 B CN 103582875B
Authority
CN
China
Prior art keywords
resource
equipment
backup
application
file
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
CN201280027224.0A
Other languages
English (en)
Other versions
CN103582875A (zh
Inventor
E·T·施密特
G·J·弗里德曼
J·C·法卡斯
K·B·米内尔
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 Computer 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 Computer Inc filed Critical Apple Computer Inc
Publication of CN103582875A publication Critical patent/CN103582875A/zh
Application granted granted Critical
Publication of CN103582875B publication Critical patent/CN103582875B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

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)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)

Abstract

本发明描述了一种从第一源和第二源向设备恢复资源的方法和装置。在已经从所述第一源向所述设备恢复所述资源的一部分之后,可动态地检测来自第二源的所述资源的可用性。如果确定所述第二源比所述第一源更有效地连接到所述设备,则在已经向所述设备恢复所述资源的一部分之后可从所述第二源向所述设备恢复所述资源的其余部分。

Description

用于多源恢复的方法及装置
相关申请的交叉引用
本申请主张GordonJ.Freedman等人于2011年6月3日提交的题为“MethodsandApparatusforMulti-PhaseMulti-SourceBackupandRestore”的美国临时申请No.61/493360的优先权,该申请的内容通过引用整体合并于此。
技术领域
本发明总体上涉及对设备进行恢复。更特别地,本发明涉及从多个源恢复设备的文件。
背景技术
随着移动设备的激增,特别是诸如蜂窝电话、个人数字助理(PDA)、平板设备等移动通信设备的备份和恢复操作已经逐渐成为对这些移动设备的日常使用中不可或缺的一部分。然而,随着工作环境、移动应用和/或网络存储基础设施继续演进,也出现了伴随不断地改变移动设备上的需求的新的挑战,以支持这种能力。
例如,传统的备份/恢复操作可基于使用高带宽网络连接与备份/恢复软件和硬件的复杂的互动。然而,移动设备经常通过无线网络连接在途中使用,该无线网络连接可能是不可靠的、带宽受限的和/或从一个位置到另一位置不可预测的。因此,可能需要长时间和/或多次尝试来完成对移动设备的备份/恢复操作。此外,在用于这些操作的大多数开放性的无线网络中也发现了额外的安全风险。
因此,现有的机制可能不能以可靠、安全和用户友好的方式备份/恢复移动设备。
发明内容
在一个实施例中,设备中的资源可以经由多级抽象备份到基于网络的存储装置,也称为云存储,以允许增量和可恢复的备份操作。可动态地配置备份源以用于改善备份/恢复性能和/或最小化对设备的正常操作的影响。在一个实施例中,设备可与移动备份服务(MBS)通信,以基于MBS中保持的分层数据确定备份该资源(或文件)的那些部分。分层数据可包括设备的拥有者账户、与该所有者账户关联的每个设备特定的备份层级(或表示)、和/或描述被备份的每个文件的元数据。
在一个实施例中,MBS可以与内容服务器(诸如MobileMe块服务或者MMCS)通信以识别文件的哪些实际数据块(或分块的数据)应上传以进行备份,从而避免例如云存储中数据块的副本。MMCS可以跟踪文件和用于识别文件的数据块的块标示符集合之间的映射。在一个实施例中,MMCS可以动态地配置或者安排供应商云存储以在分块的数据的贮存器中存储文件的被识别以用于备份的内容。
在另一实施例中,可以保持设备中的元数据以跟踪资源(或文件)是否表示用户数据(例如,用户创建的数据)或者购买的资产或内容。购买的资产的实际数据可以从可用的资产商店(或站点)下载或恢复,而不需要被备份。某些免费的可用资产(诸如Podcast)可以通过备份其标示符而被重新下载,而不用与其实际内容一起被直接备份和恢复。描述将被备份的资源的元数据可使得对用于备份的不同源的自动识别在机会上(opportunistically)对用户透明。例如,对作为购买的资产的资源进行备份可包括做标记而不是上推(pushup)购买的资产的内容。为了恢复所标记的购买的资产,可从资产商店下拉(pulldown)所购买的资产的内容。例如,资产商店可以是托管可购买的资产、存储所购买的资产和/或托管免费的可用资产(或内容)的网络可访问的站点。
可选地,可从诸如云存储、本地计算机、资产商店和/或其他可机会性使用的源的多个源将资源拆分地恢复到设备。可针对设备中的资源跟踪指示媒体资产的类型的元数据,以根据例如性能、带宽、功耗和/或其他可应用的考虑动态地识别哪些资源对于恢复(或备份)该资源是可用和/或最有成本效益的。
例如,设备可能注意到与存储了将要恢复的资源的部分内容数据的本地计算机的连接(例如,通过有线或无线的耦接)。该部分内容数据可从已连接的计算机拉取。然后,该资源中不能从本地计算机获得的其余部分可被识别为将从云存储和/或商店拆分地恢复。结果,内容数据,比如音乐、应用或其他媒体文件可以在云(或云存储)中备份,但仍能从一台本地计算机中为该设备进行恢复。
在一个实施例中,例如,可基于相关的应用、媒体类型、或其他可扩展信息选择文件或资源以进行备份。资源能被作为能从商店获得的商店资产(例如,可从资产商店获得的已购买资产)进行跟踪,而不用备份资源的实际内容。可选地,另一资源能被作为从商店中不可获得且需要例如通过云存储备份和恢复的用户数据进行跟踪。应用可与包括作为商店资产的该应用自身以及作为用户数据的应用数据的资源相关。因此,应用和相关联的应用数据可从不同的源中恢复。
例如,设备中所选择的用于云备份的资源可包括应用数据但不包括相应的应用本身。该应用可从资产商店被重新下载到设备,应用数据可从云存储或本地计算机恢复。可选地,该应用可以从本地计算机同步以从云存储恢复应用数据。用于单独恢复应用和应用数据的备份源的其他组合也是可行的。在某些实施例中,应用数据可在其相应的应用能(例如,被用户)使用之前恢复。该应用能在(比如,从云存储或其他源)发起应用数据的恢复之前被下载或同步,以创建合适的排序。
在一个实施例中,从备份中向设备恢复资源可以在多个阶段进行,以使得在恢复资源的同时,将该设备保持在可用的工作状态中,并能对用户进行响应。例如,对于设备的双重阶段或两阶段恢复,设备可进入初始模态恢复会话(例如,第一模式),紧接着是后台恢复会话(例如,第二模式)。在一个实施例中,该设备能被用户使用,从而该设备在初始模态恢复会话中不对用户输入进行响应。在一个实施例中,初始模态会话可以是简洁快速的,以用于恢复核心用户文件从而重启该设备。接下来,后台会话可以在单个应用在后台向该设备进行恢复的同时,允许用户使用该设备。在后台恢复会话中,该设备可以是可操作的以对至少一组用户输入进行响应。
在一个实施例中,在两阶段恢复的模态会话期间,设备在它下载系统资源以使该设备进入用户特定的工作状态时很短暂的不可用。例如,系统资源可包括所有的元数据和系统数据、账户列表、墙纸、SMS(短消息服务)历史、和/或其它可应用的用户特定非应用数据。系统数据加元数据能配置该设备,例如,使其能像用户的电话一样工作。该设备能在模态会话后重启并恢复使用(cometolife)。
在一个实施例中,在两阶段恢复的后台会话中,设备能从本地计算机(例如,运行来自Apple公司的应用)和/或云存储恢复数据或媒体资产。该数据能在后台会话期间同步邮件和/或接收文本消息。在一个实施例中,资源可根据使用模式决定的恢复顺序进行恢复。例如,可以跟踪应用使用以收集使用模式,包括所看的表演/电影,所读的书,或其它可应用的使用统计数字。在其它实施例中,恢复顺序可取决于资源(或内容)的大小,与该资源对应的图标在设备显示屏上所处的位置(例如,用户可能将常用的图标放在首页),或其他可应用的因素。恢复顺序可适应用户请求(比如通过用户在屏幕上点击以表明对应用的优先级)被动态地更新。
在另一实施例中,在双重阶段(或分为两部分的)恢复中的设备可用但并非所有数据已被全部恢复的时间段内,可显示UI(用户界面)元素以提升用户体验,同时避免应用错误地操作或以非期望的方式操作。例如,表示其目标文件或用户数据尚未恢复的应用和/或媒体库(例如,以播放音乐,视频,或其他媒体内容/资产)的图标可被显示为变灰,或包括进度条以表明该应用仍不可用但会变成可用。通过允许用户点击该用户希望被优先恢复的应用或照片、或音乐、或视频的图标,可以添加交互性。
在另一实施例中,描述了一种从第一源和第二源向设备恢复资源的方法和装置。来自第二源的资源的可用性可在已从第一源向设备恢复资源的一部分后动态地确定。在已经向设备恢复该资源的一部分后,如果确定第二源与设备的连接比第一源更有效,该资源剩下的部分可从第二源向该设备恢复。
在另一实施例中,通过备份服务识别向设备恢复的第一资源。当已从第一源恢复第一资源的一部分,而第一资源的其余部分尚未恢复到该设备时,可将第一源切换为第二源以向该设备恢复该第一资源。可从第二源恢复该第一资源的其余部分。在一个实施例中,可通过第二源识别向该设备恢复的第二资源。第二资源能从第二源恢复到该设备。
本发明的其它特征将从附图及下面的详细描述显而易见。
附图说明
本发明通过示例的方式阐述,并且不限于附图中所示,其中相似的图标指代相似的元件,并且其中:
图1是图示用于多阶段多源备份和恢复的网络系统的一个实施例的框图。
图2是图示用于多阶段多源备份和恢复的示例性系统的框图。
图3是图示使用多个源管理多个阶段中的备份和恢复的示例性系统的框图。
图4是图示为设备执行增量备份操作的过程的一个实施例的流程图。
图5是图示在设备中执行增量恢复操作的过程的一个实施例的流程图。
图6是图示动态地对资源进行优先级排序以恢复设备的过程的一个实施例的流程图。
图7是图示监控设备的电源以进行备份和/或恢复操作的示例性系统的框图。
图8是图示中断对设备的备份和/或恢复操作以保存功率的过程的一个实施例的流程图。
图9示出了可用于此处描述的实施例的数据处理系统的一个示例。
图10图示了可与此处描述的实施例一起使用的典型计算机系统的一个示例。
具体实施方式
此处描述了利用一个或多个源在多个阶段中为设备备份和恢复文件的方法和装置。在下面的描述中,列举了许多具体细节以提供对本发明的实施例的全面理解。然而,将对本领域技术人员显而易见的是,本发明的实施例可以在没有这些具体细节的情况下实施。在其他的实例中,为了不模糊对该描述的理解,没有详细地示出已知组件、结构和技术。
说明书中对“一个实施例”或“实施例”的提及意指结合该实施例描述的特定特征、结构或特性可包括在本发明的至少一个实施例中。措辞“在一个实施例中”在说明书中各处的出现不必都指代同一实施例。
在后面的附图中描绘的过程由处理逻辑执行,处理逻辑包括硬件(例如,电路系统、专用逻辑等)、软件(诸如在通用计算机系统或专用机器上运行的软件)或其组合。尽管下面根据一些相继操作来描述上述过程,但应理解的是,所描述的实施例中的一些可以不同的顺序执行。此外,一些操作可以并行而非顺序地执行。
在一个实施例中,可获得用于从设备备份数据或资源的多个源。例如,可经由诸如Amazon、S3、Microsoft等的第三方供应商在云(或者云存储装置、云服务)中提供通用数据备份服务。可从云中的商店下载诸如歌曲、电影和/或应用等所购买的资产。运行诸如的备份服务软件的用户的计算机可用于备份设备,诸如来自Apple公司的设备、设备。
将从设备备份的资源可以是备份数据,例如包括设置、账户数据、应用数据、照片、媒体文件、购买的资产和/或其他数据文件。在一个实施例中,可从设备中的现有资源动态地识别备份数据。用户计算机(例如,桌面计算机或者笔记本计算机)可为设备存储备份数据。可选地或者可替代地,对于备份数据中所购买的资产,设备的备份数据的子集可经由云备份和/或经由诸如商店的商店存储在云中。
在一个实施例中,(例如,通过云中的MBS服务器维持的)账户可由分层数据表示,该分层数据包括分别与用于该账户的不同设备相对应的多个备份(或备份结构)。分层数据可包括账户,该账户包含多个不同设备的一组备份。备份可包括设备上文件的一组快照。可支持每个设备一个备份。
快照可表示设备在单一时间点的状态。可从备份中的任一快照进行恢复,以重建设备在该时间点的状态。快照可从某一数字(例如,一)开始连续编号,可以由服务器分配这些号码。第一快照可以是该设备的完整备份,后续的快照可是基于前一快照的变量增量(delta)。增量快照可包含自前一快照起该设备上所有添加的,修改的,和删除的文件。
一旦其内容被上传,快照可被明确的提交。在某一时间点,可有一个未提交的快照,该未提交的快照可为具有最大号码的最后的快照。一旦快照被提交,其内容可以不被修改,除非将其整个删除。
当快照被删除时,只要该快照不是未提交的,则其内容可被并入前一快照。结果,仍然可从任一后续的快照进行恢复。目标快照中所添加/修改/删除的文件可以被保留(例如,不会丢失)。删除未提交的快照可能不会引起合并,而是该内容可能被简单地丢弃。在从所存储的后续快照中删除第二快照,并将后续快照的文件并入第一快照时,所删除的文件可能不会被保留,因为第一快照是完整的。第一快照可以不被删除,除非它是后续快照中的唯一快照。
每个备份可包括例如根据所配置的进步表(例如,每小时的、每天的、每周的、等)从对应设备获得的快照。每份快照可包括文件或资源列表的描述。每份文件可分成(例如,某一比特大小的)实际数据的块(或文件分块)以用于云设备进行存储。可替代地,文件分块可以基于将数据项拆分成块的技术,例如,DominicGiampaolo于2011年1月14日提交的题为“ContentBasedFileChunking”的临时专利申请No.61/433152中所描述的技术,通过引用的方式将其全部内容合并于此。
通常,多个块可以聚合成作为存储单元的一个贮存器,以用于例如由第三方供应商提供的云服务。可以根据请求创建、更新、删除、禁用或操作备份。例如,可以从备份中移除给定域的文件。云存储不会存储重新生成对应于存储在云存储中的数据块的原始文件的足够信息。因此,该文件通过数据分块被内在地保护。数据块的加密可为存储在云存储中的数据提供额外等级的保护。
在一个实施例中,诸如iOS设备的设备可通过云中的(例如,托管在MBS服务器中的)备份服务发起备份操作,以识别来自设备的资源的备份数据。例如,可经由对应于设备的备份结构在备份服务中保持描述设备的备份状态的元数据。备份状态可包括已经为该设备备份的资源的最新的快照或者最近的一系列快照。在一个实施例中,元数据可引用(reference)用于该设备的备份数据的经由第三方供应商存储在云服务中的数据块。
设备中为备份操作所识别的备份数据或文件可拆分成准备好进行云存储的实际数据比特块。在一个实施例中,设备的服务构架中的MMCS代码可与云中的MMCS服务器通信,以准备数据块对所识别的文件进行备份。例如,备份数据可以根据某一块配置被拆分成多个数据块(例如,每个块特定的数据比特大小)。
服务构架可确定从为备份所识别的文件准备的多个数据块中的哪一些当前在云中不可用,需要上传。在一些实施例中,服务构架(例如,经由MMCS代码)可例如经由SHA哈希算法或其它合适的算法将每个块散列到签名中,作为用于MMCS服务器(或服务)的标识符以确定所识别的块是否已在云中备份。
在一个实施例中,文件可以被引用到MMCS中。设备可以向文件分配任意的标识符。设备可以使用该标识符来查阅文件。这种引用可以定期缓慢进入(crawl)MMCS(比如,由服务器)来垃圾回收文件中未引用的数据块(或文件块)
设备的备份操作可在多个阶段中进行,比如建立阶段、扫描阶段、备份阶段、和/或其他可应用的阶段,来与云中的多种服务协合。每个阶段可对应于操作的隔离抽象层以机会性地允许对云存储的动态配置以增加备份操作的效率和/或提升备份操作的性能。
例如,在建立阶段,可确定MBS服务中是否存在对设备的备份(或备份结构)。如果MBS服务中没有该设备的备份,则可要求MBS服务为该设备创建带有初始元数据的备份。在一个实施例中,设备可包括备份高速缓存区,该备份高速缓存区反映MBS服务中与设备相对应的备份的副本。备份高速缓存区可包括先前为设备拍下的一个或多个快照。
在一个实施例中,如有必要(例如,当按照与MBS服务通信的消息,缓存在备份高速缓存区中的快照已经过期时),可重建备份高速缓存区(例如,通过参照MBS服务)以与MBS服务同步。可选地或附加地,可在建立阶段期间确定设备中是否存在未提交的快照。未提交的快照可以与MBS服务中存储的现有快照不对应,并且可包括尚待备份的资源的描述。在建立阶段期间,可创建未提交的快照。
在一个实施例中,设备可查询MBS服务来确定是否存在未提交的快照,例如以作为确认备份高速缓存区是最新状态的一部分。在备份操作期间,设备可在扫描其文件系统之后创建未提交的快照。备份高速缓存区能逐渐地更新以例如反映哪些已经向MBS和MMCS服务备份成功。
在扫描阶段期间,可扫描设备的文件系统以发现文件或资源中的变化,比如新的文件、删除的文件、修改的文件,等等。在一个实施例中,可通过被扫描的文件与备份高速缓存区中存储的快照间的对比来识别该变化。在扫描阶段期间,可跟踪哪些文件已被备份,哪些文件需要备份。
在备份阶段,可执行实际的文件备份操作。例如,如果需要的话(例如,当没有未提交的快照时),可创建快照。可向MBS服务发送请求,以用于在MBS服务中创建新的文件、修改的文件、和/或删除的文件的条目。可从MBS服务接收访问云存储的配额(quota)认证或权限,以允许向MMCS服务发送备份请求。备份请求可包括描述待备份的文件或文件变化的元数据。
可从MBS服务接收认证令牌,指示所请求的备份在由MMCS为设备强加的备份存储容量限制以内。可针对从设备向存储装置供应商的一组授权HTTP(超文本传输协议)请求,向MMCS服务发送认证令牌。MMCS服务可与存储装置供应商(或云服务)互动,来为设备获取认证密钥。可通过认证密钥将文件的变化(例如,添加/删除/移除)上传至云服务。如果从云服务收到成功上传的确认,则可在设备与MBS服务之间提交(commit)与上传相对应的快照。一旦快照被创建且内容被定义,则该快照可被提交并上传至MMCS。
在一个实施例中,MBS服务可基于在文件级描述文件的元数据。MMCS服务可取决于文件的实际内容或数据(例如,数据块)。从文件的实际内容生成的散列签名能在MMCS服务中用作该内容的标识符。MMCS服务可以确定通过标识符识别的内容的部分例如在云存储中是否为新的(或尚未备份)。MBS服务可根据与一个或多个文件相关联的元数据决定该一个或多个文件是否为新的或已被更新。
在特定实施例中,备份服务,例如MBS服务,可为设备保持一个或多个备份。该备份可包括描述备份数据或文件是什么、如何记录备份数据、相应设备的身份,不同备份如何关联(例如,基于备份日期、增量备份关系等)和/或其他信息的语义。在一个实施例中,备份可与一个账户下的一个设备相关联。每个账户可包括多个设备。备份可包括设备的多个快照。例如,可每天为设备的资源拍下快照。每个快照可描述与备份中的前一快照相比,设备中的文件变化。
在一个实施例中,可基于多种方式的握手在设备与服务之间传送文件和/或文件的元数据来备份设备的资源,所述服务诸如有MBS服务、MMCS服务、云供应商(或存储)和/或其他可应用的服务。MBS服务可跟踪对MMCS服务的引用。MMCS服务可跟踪对云供应商的引用,例如以允许设备动态地将文件映射到供应商指定的结构化数据。
在一个示例实施例中,MMCS服务可根据特定的云供应商将设备中的文件识别为项,指示设备将该项拆分为数据块,为每一数据块生成唯一的标识符,并通知设备该设备是否需要将所识别的数据块转发给云供应商以供备份。设备可指示或与MBS通信已将信息放入为该设备制作的快照中,和/或使得快照与设备相一致。
因此,多个服务能提供用于备份设备的资源的间接层,以隔离多个层之一内的操作,从而不会影响其它层。MBS服务可跟踪待备份资源的元数据,确定哪些文件(或项)已经存在而不用备份。MMCS服务可负责跟踪哪些云存储供应商将存储实际备份数据,管理云存储的使用权限以创建票(ticket)(或凭证)来使得设备能够将备份数据上传至云存储,和/或执行垃圾回收以删除表示备份不再引用的数据块的结构。MBS服务可与MMCS服务管理的云存储相隔离(或不知道MMCS服务管理的云存储)。
在一个实施例中,在备份操作成功完成以后,在快照被提交前,为备份操作生成的快照可能不被标记为一致的。固定(或配置)数量的最新快照(比如,相当于三天内每天的快照)可被高速缓存在设备中或存储在MBS服务中。可限制快照的数量以节省存储空间。典型地,所存储的快照中的第一个(或最早的)快照可以是完整的快照,该快照描述了设备中用于相应的备份操作的每个资源。其余的快照可以是增量快照,其描述资源关于前一快照的随后变化。
在备份操作的最后阶段期间,在一个实施例中,快照可被合并以瓦解(collapse),例如,将最早的两个或更多个快照并入合并成一个完整的快照。作为结果,在提交新的快照时,可将已存储的快照的全部数量维持为固定数量。在某些实施例中,可通知(或指示)MBS服务以一个原子数据库操作删除和/或合并现有的快照。作为答复,可从MBS服务接收表明原子操作是否成功的确认。
在某些实施例中,可查询备份源,比如商店,以识别可能不能重新下载的资源列表(例如,应用、已购买资产或其他资产)。例如,在设备执行内容备份操作之前,备份源可确定与设备相关的已购买资产中哪些(比如,基于来自该设备的请求)不可重新下载。不可从备份源重新下载的资源列表的实际内容可通过备份服务(诸如MBS,MMCS,等)存档或备份。
在一个实施例中,设备与MBS服务间的通信为客户端服务器提供了用于管理备份(比如,创建/删除)和快照(比如,创建/删除/合并/更新)的协议。更新快照可以原子方式进行,在这种方式中,对快照的所有变化都被包含(或提交),或者快照根本不被更新。
在某些实施例中,通过MBS服务管理快照的协议可基于文件或资源的元数据,以获得更有效和轻量级网络通信。元数据可描述关于设备中文件的信息,比如文件名、对文件的引用、大小、时间戳、所有权、保护设置、或其他与文件关联的可应用数据,而不用描述文件的实际内容。可基于元数据描述确定需要在备份操作中包括哪些文件或资产。可根据元数据来跟踪单独的快照之间的变量增量或差异。
例如,设备可使用最后修改的时间值维持一个高速缓存区。请求和响应可包括用于在设备上访问、删除、更新、修改或执行其他操作的最后修改的时间值。在一个实施例中,对资源的请求可导致更新该资源的母资源的最后修改的时间值。例如,删除账户的备份可更新该账户的最后修改的时间值。向快照添加文件可以更新快照的最后修改的时间值以及快照的母备份和账户。
用于管理快照的请求可允许创建新的空的未提交快照,更新先前创建的快照,删除快照,和/或提交快照。如果为所请求的快照预留空间将超过相关账户的配额,则响应可指示不足的存储空间。请求可包括快照的属性,比如设备名和版本号。
在另一实施例中,文件列表及其属性可通过请求从快照获得。可请求MMCS认证令牌以从MMCS下载文件流。为快照管理文件的请求可包括,例如,创建、删除、更新、标记、或其他可应用的操作。如果快照中文件的大小超过预留空间,则响应可指示冲突。在某些实施例中,从快照中删除文件可能删除服务器存储的底层数据库记录,被删除的文件可能不再出现在用于快照的文件列表中。可选地,将文件标记为已删除可指示该文件存在于先前的快照中,但不再继续存在于设备中。
设备中文件的元数据可与一个抽象级(levelofabstract)对应以例如通过MBS服务确定备份哪些文件和/或为备份操作创建快照。实际文件内容的散列(比如,逐位散列块)可提供另一抽象级来例如通过MMCS服务识别备份文件的哪些内容需要被上传。在一个实施例中,相同内容的不同文件可与不同的元数据描述相关联。因此,基于内容散列或数据块签名的对比可使得具有相同内容但不同元数据的文件共享备份存储(比如,来自云)。
可重新开始和/或切换备份操作。例如,当失去网络连接时,备份操作可停止。网络连接重新建立时,备份操作可重新开始。在一个实施例中,可根据从文件内容(例如,通过MMCS服务)生成的签名确定为重新开始的备份操作备份哪些文件。如果在备份操作停止前,文件系统中的文件发生变化,那么在重新开始(或启动)备份操作前,可再次扫描文件系统。在某些实施例中,为了最优化,在咨询MMCS服务以确定该文件是否改变前,可在扫描文件系统的同时,将文件的修改时间戳(或值)与备份高速缓存区中相应的时间戳进行比较。
基于同步锚技术(例如设备上的设备锚和主机上的主机锚),设备与源或主机之间的备份/恢复操作可停止(或终止)和重新开始。同步锚技术的示例描述在Gordon.J.Freedman发布的美国专利No.7,807,403,专利名“SynchronizationMethodsandSystems”中,通过引用的方式将其全部内容合并于此。
在一个实施例中,资源可从动态配置的多个源拆分地恢复到设备。例如,已购买资产(比如应用、音乐、图像、视频、电视演出或其他媒体数据)可在被请求时从云中的一个或多个商店下载到设备。已购买资产可存储在本地计算机(比如,设备的用户拥有的),也准备好恢复到设备。
在一个实施例中,当设备正从云(例如,商店)恢复已购买资产,同时在计算机的近距离范围内移动时,可在设备与本地计算机之间建立连接(例如,有线或无线连接)。在检测到连接以及本地计算机中已购买资产的可用性时,设备可动态地为已购买资产切换从云到本地计算机的恢复源,以完成恢复已购买资产的其余部分(例如,通过托管在本地计算机的软件)。因此,可降低网络连接成本,同时提高恢复性能。
在某些实施例中,可根据资源的元数据跟踪设备的资源从多个源(比如商店、本地计算机、或云存储)的可用性。如果特定资源已存在于商店或本地计算机中,则该特定资源可从现有的源恢复到设备,而不用备份该特定资源的实际内容。例如,资源的元数据可指示与设备相关联的账户对已购资源的所有权。已购买资源可很容易的从可用的源(比如来自云的商店,和/或本地计算机)获得。因此,已购买资源可以从可用的源重新加载而不用备份。
在一个实施例中,设备中的资源(诸如设置、账户数据、应用数据、和/或已购买资产)可备份到本地计算机。部分所述资源(诸如设置和/或应用数据)也可备份到云存储。资源的特定部分(比如已购买资产)可以保持在云中的商店并随时可获得。在可获得时,资源可从本地计算机恢复;当本地计算机没有与设备连接或资源不能位于本地计算机中时,该资源可从云存储和/或商店恢复。可通过与中央服务的同步操作同步特定资产,比如电子邮件、日历、或不能通过备份操作进行备份的其他可应用资源。
在特定实施例中,向设备提供安全令牌以用于备份操作时,元数据服务(比如MBS服务)可选择允许备份设备中的哪些资源。例如,可过滤特定的第三方应用和/或数据并不允许其被备份。在一个实施例中,被过滤不得备份的数据可包括被第三方应用声明不需备份的目录或文档,比如高速缓存数据或可被再次生成的索引(index)。可选地,可根据与设备相关联的账户规定的备份数据总大小的配额限制识别待备份资源。
在一个实施例中,可根据(against)多个源(例如,云存储、本地计算机、商店等)跟踪是否为设备恢复所有资源(或恢复操作是否完成),不同资源或特定资源的不同部分可从这些源恢复。例如,在与设备通信的本地计算机中运行的可确定存储在云中但不在本地计算机的特定资源尚未恢复到设备。该特定资源能通过本地计算机为设备获取以完成恢复操作。
作为一个例子,为与用户关联的账户激活的新设备(例如,新手机)可从该账户的云备份恢复。设备可通过备份服务(比如带有用于识别账户和设备的标识符的MBS服务)发起恢复操作。相应地,例如,可通过MBS服务确定待恢复资源的描述。可定位云存储(比如,通过配置、动态发现、或从连接的服务获得等)来恢复所确定的资源。可选地,如果发现正运行相应的备份服务应用(比如)的本地计算机可用(比如,在设备的连接范围内),则可从本地计算机获取资源而不用访问远程云存储。
设备中的恢复操作可在多个阶段中进行,例如,多个阶段包括模态恢复阶段,接下来是后台恢复阶段。诸如设置或元数据的必要文件或信息可在模态恢复阶段首先被原子地恢复(例如,所有必要文件都被恢复,或者都没有恢复),以允许设备启动启进入工作状态,并很快对用户可用而不用等待完成剩余的备份操作。在模态恢复阶段,设备可为规定(laydown)系统文件,并不可操作以接收用户输入。原子恢复可保证设备甚至在资源被完全恢复前以一致的数据集运行。
接下来,在后台恢复阶段,恢复设备所需的资源的其余部分可在后台中从可用的备份源(比如云存储和/或本地计算机)拉取(pull)。例如,在后台恢复阶段可拉取相当大的(sizable)资源,比如媒体资产(例如照片、视频、语音文件,等)的实际内容、第三方应用数据、或其它可应用的资源,而不用影响设备操作或用户使用至少某些功能的能力或设备的性能;例如,用户在后台恢复阶段可能能够发送文本消息,或浏览互联网,或拨打语音电话。
在一个实施例中,设备可与本地计算机(比如,运行应用的计算机)进行同步(比如,通过同步操作),以确保设备上的特定内容或资源(例如,音乐、应用、播客、视频、铃声、照片、便签、电子账户设置、联系人、日历、和书签)与本地计算机上相应资源中用户选择的子集相匹配。同步时,应用数据可从设备向本地计算机备份(比如,在备份中)。诸如应用或媒体内容的已购买资产可从本地计算机向设备下载以实现同步(例如,通过资料库)。
在一个实施例中,设备与本地计算机之间的同步操作可发生在设备的后台恢复(阶段)期间(或之后)。在后台恢复前,由于设备尚未启动进入工作状态,设备与计算机之间的通信或连接可能不可用。同步操作可能能够从本地计算机(例如,作为资料库)向设备恢复资产(例如,已购买媒体和/或应用)。
可选地或附加地,同步操作可从本地计算机(例如,作为备份)向设备恢复应用数据或用户数据。在一个实施例中,同步操作可包括计算机与设备之间的对比以识别设备与其同步的资源列表。恢复操作和同步操作可依赖于公共模块,例如设备中运行的ATC(空中交通管制员)代码,以从可应用的源拉取实际内容或比特数据。当设备与设备耦接或连接以从设备传输资源,从而用于同步操作和/或恢复操作时,ATC可自动向系统通知事件,诸如同步(或配对)事件。
在一个实施例中,设备中的恢复操作可与相连接的备份服务(例如计算机或MBS服务)核对以确定恢复资源的最优源。可为不同的资源或资产识别不同的源,比如云中的备份存储(或云备份)、本地计算机中的备份(例如,备份)、云中的商店(例如,商店)、本地计算机中的本地资料库(例如,资料库)。一个类别的数据可从一个源恢复,而另一个类别的数据可从不同的源恢复。例如,照片从云存储恢复、音乐内容从商店恢复、应用从本地资料库恢复、应用数据从云存储恢复,等。典型地,例如,由于较低廉的连接成本和/或更高的可用网络带宽,与来自云的源相比,优选本地计算机中的源。
在某些实施例中,同步操作可在多个阶段进行,比如事务性阶段,接下来是最大努力阶段。在事务性阶段期间,可识别元数据来描述在设备与本地计算机之间进行同步的资源列表。元数据可从本地计算机以事务性方式(例如,全部或一个都没有)接收。在最大努力阶段期间,元数据描述的资产可从不同的源向设备同步,这些源是考虑了例如可用性、性能、成本和/或其他可应用的因素之后动态确定的。
在特定实施例中,用于恢复资源的不同源可基于例如与资源关联的元数据动态地识别。同步操作可从本地耦接或连接的计算机(例如,计算机)推送与设备同步所需的资源列表的描述。已购买资产,例如音乐、视频、电影、应用等,可从云中的商店或本地计算机(例如,通过资料库)传输。非从商店购买或获得的媒体,例如,用户拍摄的照片或从其他设备下载的视频,可从云存储或本地计算机(比如,通过备份)恢复。
为提升效率和/或设备的可用性,可在多阶段恢复的稍后阶段(例如,在第一阶段或模态阶段之后)有利地应用恢复次序的动态配置。例如,可识别出资源或资产列表用于在恢复的开始(或第一)阶段进行恢复。在恢复的稍后阶段(例如用于实际数据传输的后台阶段),选择接下来恢复识别出的资源中的哪个可遵循现场(onthefly)确定的顺序或优先级。多个资源可在恢复的同时进行传输,比如,通过多线程或多进程。
取决于设备的工作状态和/或各种为尚待恢复或正在恢复的资源配置的启发式标准,选择下一传输资源的顺序可在运行时间期间改变。例如,较小大小的和/或需要较少时间传输的资源(比如,针对相关资源具有较高的带宽)可以排序较高(例如,有被选中作为下一恢复资源的更高可能性)。
在一个实施例中,为增加设备的可用性,可跟踪设备的使用以确定资源应如何排序或按优先级排序以进行恢复。例如,资源可按照相关的应用进行排序。在某些实施例中,可向最近使用的应用的资源分配比较早使用的应用的资源更高的优先级。在预料到与该应用相关的应用数据可能很快被用户访问时,可将当前使用的应用(比如,电影或视频播放)标记为最近使用的应用。
在某些实施例中,待恢复的资源可根据与资源相关联的图标的显示顺序进行优先级排序。例如,与资源关联的应用图标和/或媒体图标可按照显示顺序呈现在设备显示屏上。显示顺序可反了设备的用户含蓄地指定的优先级。可选地或附加地,可接收用户输入(例如,显示屏上的点击)来动态控制资源该如何传输(例如,暂停、重新开始、开始等)。
在一个实施例中,可按照基于启发性配置的特征和/或动态识别的因素分派的顺序构建待恢复的资源列表。特征可包括资源的标准信息,比如大小、类型、位置、和/或其他与资源有关的可应用元数据。例如,已购买资产类型中的资源可比用户创建的内容类型中的资源有更高的恢复优先级。资源的位置可表明该资源是在哪儿为设备创建或购买的。与设备的当前位置更近的位置关联的资料与具有远离设备的另一位置的另一资源相比具有更高的优先级。
可基于不断变化的工作环境或设备中的使用模式现场确定动态因素。例如,动态因素可包括可用的(恢复)源(比如,云存储、商店、本地计算机,等)、应用的使用历史、与应用图标相关的显示顺序、用户输入或其他可应用的因素。典型地,可从可用的源传输的资源比不能从可用的源中找到的另一资源拥有较高的优先级。资源的使用历史可包括,例如,频率、上次访问该资源时间(例如,通过应用)、使用计数、和/或其他使用统计。具有较高使用频率的资源可排序较高。
在一个实施例中,可在多阶段恢复的第一阶段(例如模态阶段)期间构建将恢复的资源的初始列表。启发性地确定的特性和/或动态因素可表示为启发式权重,其被分配和组合以例如根据用于每个资源的分别组合的启发式权重确定资源列表之间的恢复顺序。在随后的恢复阶段期间,具有最高权重的资源可被选中,然后下载。
例如,排序的将恢复的资源列表可被转发到能够从至少一个恢复源(例如,云存储、商店和/或计算机)恢复资源的恢复过程。该恢复过程可跟踪恢复的状态、监控环境的改变(例如,网络连接、电源状态)、检测用户输入等,以改变资源进行恢复的顺序。可以中断恢复(例如,经由用户输入和/或环境的改变)以重建具有新的顺序的新的资源列表,从而以新建的列表重新开始恢复。
在一个实施例中,按照当前排列的为恢复识别的资源列表可保持从特定源(例如,电脑、或云存储、等)恢复的资源的队列。针对不同的源,可保持不同的队列。在某些实施例中,随着在运行过程中动态的构建资源列表(例如,由于用户中断、选择、和/或其他系统事件,等),可按照资源的新建资源列表来更新每个队列以继续恢复。
在某些实施例中,按照如何通过设备使用资源,资源的实际内容可以协作的方式进行恢复。例如,资源可围绕应用被沙箱放置(sandbox),以允许在恢复设备时,该应用很快可被访问。应用程序和相关的应用数据(或设置)可沙箱放置以供一起恢复。
可在沙箱中保持资源对应用(比如可执行程序、资料库、应用设定、应用数据(或用户数据,比如用户通过应用创建的文档)等)的依存性来识别向设备恢复这些资源的顺序。甚至在所有沙箱资源完成恢复前,该应用已经对设备用户可用。例如,运行音乐播放器应用需要播放器设置在音乐内容文件传输到设备之前恢复。
在一个实施例中,多阶段存储可与用户界面协作,使得用户在恢复(比如,在设备完全恢复前)期间能够与设备互动。可显示占位符来实时更新恢复的各阶段的状态和进度。按照通过用户界面接收的输入,可对资源的实际传输进行动态重新排序。
例如,可恢复应用(例如,照片浏览器、视频播放器、音乐播放器,等)及相关的应用设定,在用户界面上呈现相应的应用图标以表明该应用可用。为动态的改变恢复顺序,当探测到用户与该应用的互动时(比如,观看照片),可将更高的优先级分配给与应用数据(比如,照片)相关的资源。
在一个实施例中,在恢复设备时,可以通过应用来跟踪对应用的恢复状态。对应用的恢复状态可以例如通过“旋转器”类型的用户界面元素、诸如温度计式的进度指示器的表示、或其它可应用的用户界面元素来呈现。用于该应用的资产是否可获得可通过用户界面来指示。
在特定实施例中,呈现恢复状态的用户界面元素可包括基于影响恢复的整体速度的因素的组合的复合进度指示器。例如,可以根据应用的大小、应用从应用源的下载速度、用户数据大小、用户数据从用户数据源的下载速度、安装时间、媒体内容(例如,音乐、加密数据等)的解密时间和/或其他可应用的因素来计算这些因素。复合进度指示器可以基于媒体类型和/或环境(例如,对于踏板环境、应用等)呈现或显示为直观唯一的温度计式指示器、饼状图式指示器或其他可应用的用户界面式指示器。
在一些实施例中,可基于恢复的状态呈现(或使能)不同的用户界面组件/功能。例如,已被识别为恢复(例如,在恢复的第一阶段中)但尚未被恢复的资产可以变灰,例如,以禁用用户对用于资产的应用的激活。然而,对于尚未恢复的资产可以允许诸如重新排序、重新命名和/或删除的的特定永和界面操作。在一些实施例中,恢复的状态可以包括资产的可用性或不可用性。源接口模块可以确定将从源(例如,商店、资产商店或其他合适的存储装置)恢复的资产是否当前不可用,例如,在源中不存在和/或与错误的访问凭证(例如,包括在资产的元数据中的口令)关联。
在一个实施例中,针对恢复所识别的资源或资产列表可以例如保持在ATC模块或公共模块中,以用于同步和恢复操作,从而动态地改变恢复顺序和/或报告恢复进度。应用可通过插件模块(例如,资料库)和/或API(应用编程接口)访问恢复进度。相应地,应用可以通过用户界面操作(例如,使图标变灰、旋转图标、移动进度条或其他可应用的用户界面改变等)提供对恢复进度的实时更新。例如,用户界面可以为应用呈现恢复进度以指示已经为该应用恢复了20%或者其它百分比的资产。
应用可以中断或者改变在后台阶段工作的恢复操作。例如,用户可以点击用于从商店购买的媒体资产(例如,歌曲或视频)的应用。作为响应,应用可以,例如经由插件模块或者API,请求例如通过ATC模块对资产传输重新进行优先级排序。可以命令用于云中的资产商店的源接口模块(例如,itunestored)将用户点击的媒体资产放在关联的队列顶端以重新开始恢复或传输。
在一个实施例中,设备可以监控在备份操作期间电源的状态,以保持鲁棒的用户体验。在检测到与电源的改变相关的系统事件时,设备可以以透明的方式终止或取消备份(或恢复)资源的进程(例如,在后台中),而不被用户发现。到设备的系统事件可以通过例如拔掉插头或者断开电源线、感应垫、或其它电源传输机制来引起。
在一些实施例中,可以基于监控设备是否插到具有足够功率的电源(例如,如果电源不具有足够的功率则停止备份)来生成。可替换地或者可选地,事件可以基于设备中的屏幕是开还是关和/或设备的网络连接的状态。例如,如果屏幕打开(例如,以无论什么原因),则可取消对设备的自动备份以避免影响用户界面性能。例如,如果事件指示设备不再连接到WiFi网络,则可停止自动备份以避免经由蜂窝电话网络使用蜂窝数据。
在一些实施例中,可发出警报以向用户提供选择是否继续备份/恢复的选项。设备可保持供电在工作状态,例如以保持电池电量,而没有用户未知的由备份/恢复操作引起的后台中的功率耗用。
在一个实施例中,可在设备中保持备份/恢复状态以使得例如当外部电源线被插回时备份/恢复操作能够重新开始。可以重新开始备份操作以重新扫描该设备,从而识别哪些资源已被备份,而无需对例如在外部电源线被拔掉之前已被备份的资源执行不必要的备份操作。
图1是图示根据此处描述的一个实施例用于多阶段多源备份和恢复的网络系统的一个实施例的框图。网络系统100可包括动态配置的网络109,其连接服务101、103、105、107、117与设备111、113。例如,诸如电话设备的客户端设备113可以基于设备113位于何处而偶发地与资产商店服务107连接。设备113可以本地耦接或者直接连接(例如,经由电线)到本地备份设备111,本地备份设备111可以是能够访问大容量存储设备(诸如硬盘、固态设备、闪存或其他存储设备)的桌面计算机。在一个实施例中,客户端设备113可经由在运行中(onthefly)被识别的多个源(例如,服务器、服务或本地设备)101、103、105、107、111、117被备份和/或恢复。诸如服务101、103、105、107、111、117或其它适当的内容服务的备份服务或源在被请求时可能能够向设备(诸如设备113)恢复资产或内容,而无需该设备备份该资产。
图2是图示根据此处描述的一个实施例用于多阶段多源备份和恢复的示例性系统的框图。在一个实施例中,系统200可以基于图1中的客户端设备113运行操作环境201,该操作环境可以基于来自Apple公司的操作系统或者其它可应用的操作系统。
系统201可包括利用所选的源经由网络接口模块203备份和恢复设备的资源的备份/恢复管理模块207。例如,该资源可以包括文件系统217中的文件。模块207可以根据用户可配置的进度表(例如,每小时的,每天的)和/或根据来自经由远程设备和/或用户输入接收的请求的需要发起备份/恢复操作。在一些实施例中,模块207可以响应于经由系统事件处理器模块205监控的系统事件,诸如外部电源的损失(例如,当外部电源线未插上时)而中断或者重新开始备份/恢复操作。
本地数据库209可以高速缓存或者存储为设备备份的一个或多份快照。快照可以表示在某一时间点备份的设备的资源的状态。备份/恢复操作可以使得系统201能够回到对应于快照的先前状态。
在一个实施例中,诸如应用213的一个或多个应用可以例如经由状态接口模块221与备份/恢复管理模块207通信。应用213可以作为插件程序或者经由API接口与状态接口模块221连接。在一个实施例中,应用213可以关联的资源的备份/恢复状态以经由用户接口模块225呈现进程。
可替换地,应用213可以向模块207中继经由用户接口模块225接收的用户请求(例如,用户点击操作)以重新排序或者改变运行中的备份/恢复操作。用户请求可以经由基于触摸屏的、基于鼠标的、基于指针的、基于语音的、或者其它可应用的用户接口技术接收。在一个实施例中,应用213的使用历史(诸如使用计数、使用频率、使用时间、或其它可应用的使用统计数字等)可以记录在使用历史211中。模块207可以基于经由使用历史211收集的信息动态地配置备份/恢复操作。
图3是图示根据此处描述的一个实施例用于管理多个阶段中的备份和恢复的示例性系统的框图。系统300可以基于图2中包括备份/恢复管理模块207的系统200。在一个实施例中,系统300可以包括能够发现和/或接口连接多个备份/恢复源的用于执行备份/恢复操作的服务构架309。
例如,存储接口模块301(例如,运行为itunestored进程)可与诸如图1的商店107的可用商店通信,以传输购买的资源。云接口模块307可与诸如图1的云备份服务101的云存储通信,为设备中的备份/恢复资源传输实际内容。本地设备接口模块305(例如,运行为ituned进程)可通过与本地计算机中运行的对应服务(诸如托管在图1中的本地备份设备中的)交换消息来进行备份、恢复和/或同步资源。在一个实施例中,接口模块301、305、307可共享公共接口引擎303,诸如ATC引擎或模块,其能够以比接口模块301、305、307低的抽象度执行数据传输。
多阶段处理器模块311(例如,运行为backupd进程)可以管理备份/恢复操作的不同阶段。例如,多阶段处理器模块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的一些组件来执行。
在块501,过程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,电池717在充电控制器的控制下充电。
电源检测器709耦接到外部电源端口并耦接到处理系统711,处理系统711可以是芯片上基于微处理器的系统或者其它处理系统;电源检测器监控外部电源的可用性以及充电过程的状态,并基于该监控确定充电过程是否由于从外部电源断开而终止。电源检测器可以响应于检测到充电过程已经由于断开而终止,生成使得处理系统终止无线备份操作的终止信号(例如,耦接到处理系统的总线上的中断信号)。
在一个实施例中,备份操作在终止之前已经开始并且正在进行中,并且正在备份可存储在系统700的存储器715中的软件或用户数据(例如,联系人、日历条目、用户文本文件、用户媒体文件,诸如歌曲或照片等)或两者。系统700中的处理系统可执行此处描述的任一备份方法以使得软件和/或用户数据能够通过备份操作在诸如耦接到网络703的服务器701的远程设备上存储。备份过程通过系统700中的一个或多个无线电(例如,WiFi无线电或蜂窝电话无线电)707无线地执行,这些无线地耦接到系统700中的处理系统并且耦接到一个或多个网络。网络可以是单个网络(例如,无线LAN)或多个网络或耦接到因特网的蜂窝电话网络等。
响应于终止信号,处理系统可以立即或者在为备份操作中当前处理的文件完成备份操作之后终止该进行中的备份过程(该过程在此时是未完成的)。此处描述的处理系统和/或一个或多个服务器可以使用签名或同步锚或其他机制来记录原子备份操作,以记录在提前终止的备份操作中已经完成了什么操作以及在提前终止的备份操作中还有什么操作没有完成。备份操作的终止可以由系统700自动地执行,而不需要用户请求或互动。
当系统700被再次从外部电源充电时,备份过程可以从终止的状态重新开始。在一个实施例中,当系统700通过外部电源充电时,该系统700可以根据此处描述的一个或多个方法进行备份,当其从该电源断开时系统700终止备份,并且当重新开始充电时系统700从终止的备份状态重新开始。因此,在一个实施例中,响应于检测到已经与外部电源连接,备份过程开始或者重新开始,现在如图8中所示对系统700中的电池进行充电。
图8是图示根据此处描述的一个实施例中断对设备的备份和/或恢复操作的过程的一个实施例的流程图。示例性过程800可以通过处理逻辑来执行,该处理逻辑可包括硬件(电路系统、专用逻辑等)、软件(诸如运行在专用机器上的软件)或其组合。例如,过程800可以通过图2中的系统200或者图7中的系统700的一些组件来执行。
在块801,过程800的处理逻辑可以确定内部电池正在充电。在块803,过程800的处理逻辑可以利用远程备份服务器以后台处理开始备份操作,并监控内部电池的充电状态。在块805,过程800的处理逻辑可以根据充电状态确定内部电池的充电已经终止(例如,从AC/DC适配器断开等)。在块807,过程800的处理逻辑可以响应于检测到电池的充电已经终止来确定终止备份操作。在块809,过程800的处理逻辑可以响应于检测到电池开始充电而重新开始备份操作。
图9示出了可用于此处描述的实施例的数据处理系统的一个示例。图9中示出的数据处理系统900包括处理系统911,其可以是一个或多个微处理器或者可以是芯片集成电路上的系统,系统900还包括用于存储数据和程序以由处理系统执行的存储器901。系统900还包括音频输入/输出子系统905,其可以包括麦克风和扬声器,以例如用于通过麦克风和扬声器回放音乐或提供电话功能。在至少一些实施例中,系统900可以通过网络或者本地连接自动地或者手动地执行所描述的多阶段多源恢复和备份。在一个实施例中,系统900可包括图2中示出的系统。
显示控制器和显示设备907为用户提供可视用户界面,该数字界面可包括图形用户界面,其在运行OS操作系统软件时与Macintosh计算机上示出的界面类似。系统900还包括与另一数据处理系统通信的一个或多个无线收发器903。无线收发器可以是WiFi收发器、红外收发器、蓝牙收发器和/或无线蜂窝电话收发器。应理解,在一些实施例中未示出的附加组件也可以是系统900的一部分,并且在一些实施例中,可以再数据处理系统使用比图9中所示较少的组件。
数据处理系统900还包括被提供以允许用户向系统提供输入的一个或多个输入设备913。这些输入设备可以是小键盘或键盘或触控面板或多点触控面板。数据处理系统900还包括可选的输入/输出设备915,其可以是基座连机器。应理解,可使用未示出的一条或多条总线以业界已知的方式来互连各个组件。图9中示出的数据处理系统可以是手持计算机或个人数字助理(PDA)、或者具有PDA类似功能的蜂窝电话、或者包括蜂窝电话的手持计算机、或者注入iPod的媒体播放器、或者组合这些设备的方面或功能的设备,诸如在一个设备中组合了PDA和蜂窝电话的媒体播放器。在其它实施例中,数据处理系统900可以是网络计算机或嵌入另一设备的处理设备、或具有比图9中示出的更少组件或也许更多组件的其它类型的数据处理系统。
图10示出了诸如计算机系统的数据处理系统的一个示例,其可用于本发明中的一个实施例。例如,系统100可以实现为图1中示出的系统的一部分。注意,尽管图10图示了计算机系统的各种组件,但不意在表示如这些细节所述的与组件互连的任一特定结构或方式与本发明无密切联系。还应理解的是,本发明也可使用网络计算机或者具有更少组件或也许更多组件的其它数据处理系统。
如图10中所示,数据处理系统形式的计算机系统1000包括总线1003,其耦接到微处理器1005和ROM(只读存储器)1007和易失性RAM1009和非易失性存储器1011。微处理器1005可以从存储器1007、1009、1011获取指令并执行该指令以执行上述操作。总线1003将这些不同的组件互连在一起并且还将这些组件1005、1007、1009和1011互连到显示控制器和显示设备1013以及诸如输入/输出(I/O)设备1015的外围设备,其可以是鼠标、键盘、调制解调器、网络接口、打印机或业界已知的其它设备。通常,输入/输出设备1015通过输入/输出控制器1017耦接到系统。易失性RAM(随机存取存储器)1009通常实现为动态RAM(DRAM),其需要持续的电力以在存储器中刷新或保持数据。
大容量存储1011通常为磁盘驱动或磁光碟机或光驱或DVDRAM或闪存或其它类型的存储器系统,其即使在从系统移除电源后仍能保持数据(例如,大量的数据)。通常,虽然不需要,但大容量存储1011也可以是随机存取存储器。尽管图10示出了大容量存储1011是直接耦接到数据处理系统中的其余组件的本地设备,但应理解的是,本发明可利用系统远程的非易失性存储器,诸如通过网络接口(诸如调制解调器或以太网接口或无线联网接口)耦接到数据处理系统的网络存储设备。总线1003可包括通过各种桥、控制器和/或业界已知的适配器彼此连接的一条或多条总线。
可以使用诸如专用逻辑电路的逻辑电路系统或者使用控制器或执行程序代码指令的其它形式的处理核来实现部分以上所描述的内容。因此上述讨论所教导的过程可以通过诸如机器可执行的指令的程序代码来执行,机器可执行的指令使得执行这些指令的机器执行特定的功能。在该上下文中,“机器”可以是将中间形式(或“抽象概念”)指令转化为处理器专用指令(例如,诸如“虚拟机”(例如,Java虚拟机)的抽象执行环境、翻译器、公共语言运行时(CommonLanguageRuntime)、高级语言虚拟机等)的机器,和/或布置在半导体芯片上的,被设计为执行指令的电子电路系统(例如,用晶体管实现的“逻辑电路系统”),诸如通用处理器和/或专用处理器。还可以在不执行程序代码的情况下,由被设计为执行过程(或部分过程)的(替换机器或与机器结合的)电子电路系统执行由以上讨论教导的过程。
制品可用于存储程序代码。存储程序代码的制品可以体现为但不限于一个或多个存储器(例如,一个或多个闪存、随机存取存储器(静态、动态或其他))、光盘、CD-ROM、DVDROM、EPROM、EEPROM、磁卡或光卡、或者适合于存储电子指令的其他类型的机器可读介质。也可以通过体现在传播介质中的数据信号,将程序代码从远程计算机(例如服务器)下载到请求计算机(例如客户机)(例如,通过通信链接(例如,网络连接))。
此处使用的术语“存储器”旨在覆盖所有易失性存储介质,诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)。计算机可执行的指令可存储在非易失性存储设备上,诸如磁盘、光盘,并且通常在处理器对软件的执行期间由直接存储器存取过程写入存储器。本领域技术人员将立即认识到术语“机器可读存储介质”包括可由处理器存取的任何类型的易失性或非易失性存储设备。
以上详细描述的某些部分是按照计算机存储器内的数据位上的操作的算法和符号表示来呈现的。这些算法描述和表示是由数据处理领域的技术人员用于将其工作的实质内容传达给本领的其它技术人员的手段。算法此处一般被认为是通往理想结果的操作的自一致序列。该操作是需要对物理量的物理操控的那些操作。通常,尽管未必如此,但这些量可采用能够被存储、传输、组合、比较和用其它方式操控的电或磁信号的形式。已证明有时主要是出于公共使用的原因将这些信号称为位、值、元素、码元、字符、项、数等是方便的。
然而,应该记住,所有这些和类似的术语都与适当的物理量相关联,且仅仅是应用于这些量的方便的标记。除非明确说明,否则正如从以上讨论中所清楚的,应意识到在整个说明书讨论中利用了诸如“处理”或“计算”或“演算”或“确定”或“显示”等术语来指代计算机系统或类似的电子计算设备的动作和进程,它们将表示为计算机系统的寄存器和存储器内的物理(电子)量的数据操控和变换成同样表示为计算机系统的存储器或寄存器或其它这样的信息存储、传输或显示设备内的物理量的其它数据。
本发明还涉及用于执行此处描述的操作的装置。该装置可以特意为所需目的构建,或者其可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以存储在计算机可读存储介质中,诸如但不限于任何类型的盘,包括软片、光盘、CD-ROM、以及磁光盘、只读存储器(ROM)、RAM、EPROM、EEPROM、磁卡或光卡、或者适合于存储电子指令的任何其他类型的介质,其中每一种都耦接到计算机系统总线。
此处呈现的过程和显示并不内在地涉及任何特定的计算机或其他装置。各种通用系统可根据此处的教导与程序一起使用,或者可以提供构建执行所描述的操作的更专用的装置的便利。多种这些系统的所需结构将从下面的描述变得显而易见。此外,本发明不是参考任何特定的编程语言描述的。应理解,可以使用多种编程语言来实现此处描述的本发明的教导。
在以上说明书中,已经参照本发明的特定示例性实施例对本发明的实施例进行了描述。很明显,在不脱离如后面的权利要求陈述的、本发明的更宽的精神和范围的情况下,可以对其进行各种修改。因此,说明书和附图应该被看作是说明性的而不是限制性的。

Claims (15)

1.一种计算机实现的方法,包括:
识别恢复到设备的资源的至少第一部分和第二部分,所述资源的第一部分包括用于恢复设备的基本系统启动功能的文件,所述资源的第二部分包括用于向设备恢复用户数据和关于设备的附加功能的文件;
在所述资源的第二部分之前向所述设备原子级恢复所述资源的第一部分,其中所述设备在所述资源的第一部分的恢复期间不响应用户输入;以及
在恢复所述资源的所述第一部分成功时:恢复所述资源的第二部分,其中所述设备在恢复所述资源的第二部分时对与所述基本系统启动功能关联的至少一个用户输入进行响应。
2.根据权利要求1所述的计算机实现的方法,其中在恢复所述资源的第一部分失败时所述资源的第二部分不被恢复。
3.根据权利要求1所述的计算机实现的方法,其中所述资源的第一部分包括使得能够在不需要所述资源的第二部分的情况下提供设备的工作条件的系统文件和设置。
4.根据权利要求1所述的计算机实现的方法,进一步包括:
在恢复所述资源的第一部分之后重启所述设备。
5.根据权利要求1所述的计算机实现的方法,其中以不影响所述设备提供的能力的后台处理执行恢复所述资源的第二部分。
6.根据权利要求5所述的计算机实现的方法,其中所述能力包括下列至少之一:发送文本消息、拨打电话、以及浏览网页。
7.根据权利要求1所述的计算机实现的方法,其中恢复所述资源的第二部分包括:
动态地识别可用于所述资源的第二部分的备份源;
确定所述资源的第二部分之间的顺序;以及
基于所述顺序从所述备份源中相应的一个源选择所述资源的第二部分中的下一个进行恢复。
8.根据权利要求7所述的计算机实现的方法,其中选择还包括:
动态地确定所述顺序,其中所述资源的第二部分中的至少之一根据所述顺序同时被恢复。
9.根据权利要求7所述的计算机实现的方法,其中在所述资源的第一部分被恢复时初始地构建所述顺序。
10.根据权利要求7所述的计算机实现的方法,其中所述确定基于传输包括第一资源和第二资源的所述资源的第二部分所需的时间,并且在所述第一资源到所述设备的传输相较于所述第二资源需要较少的时间时,所述第一资源以高于所述第二资源的顺序排列。
11.根据权利要求10所述的计算机实现的方法,其中所述第一资源可从第一备份源获得,所述第二资源可从第二备份源获得,并且在所述第一备份源相较于所述第二备份源与较高可用的带宽相关联时需要较少的时间。
12.根据权利要求11所述的计算机实现的方法,其中在用于恢复所述资源的第二部分的运行时间期间动态地识别所述第一备份源和所述第二备份源。
13.根据权利要求7所述的计算机实现的方法,其中所述资源的第二部分与用于所述设备的一个或多个应用关联,并且所述顺序基于用于所述应用的使用信息。
14.根据权利要求13所述的计算机实现的方法,其中所述使用信息包括用于使用所述应用的统计数据,并且确定所述顺序包括:
跟踪所述应用的统计数据,其中所述统计数据指示所述应用多近被使用,所述资源包括第一资源和第二资源,所述应用包括分别与所述第一资源和所述第二资源关联的第一应用和第二应用,并且在所述第一应用与所述第二应用相比被更近地使用时,所述第一资源以高于所述第二资源的顺序排列。
15.根据权利要求13所述的计算机实现的方法,其中所述使用信息包括为所述应用显示的用户界面元素,并且所述用户界面元素根据所述顺序被显示在所述设备上。
CN201280027224.0A 2011-06-03 2012-05-22 用于多源恢复的方法及装置 Active CN103582875B (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,411 2011-09-06
US13/226,411 US8868859B2 (en) 2011-06-03 2011-09-06 Methods and apparatus for multi-source restore
PCT/US2012/039013 WO2012166443A1 (en) 2011-06-03 2012-05-22 Methods and apparatus for multi-source restore

Publications (2)

Publication Number Publication Date
CN103582875A CN103582875A (zh) 2014-02-12
CN103582875B true CN103582875B (zh) 2016-06-22

Family

ID=46201832

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280027224.0A Active CN103582875B (zh) 2011-06-03 2012-05-22 用于多源恢复的方法及装置

Country Status (9)

Country Link
US (2) US8868859B2 (zh)
EP (1) EP2702487B1 (zh)
JP (1) JP5819518B2 (zh)
KR (1) KR101602584B1 (zh)
CN (1) CN103582875B (zh)
AU (1) AU2012262733B2 (zh)
BR (1) BR112013031065B1 (zh)
MX (1) MX2013014175A (zh)
WO (1) WO2012166443A1 (zh)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US9654821B2 (en) 2011-12-30 2017-05-16 Sonos, Inc. Systems and methods for networked music playback
US9489271B1 (en) * 2012-03-29 2016-11-08 Veritas Technologies Llc User interface for restoring databases
US20130326053A1 (en) * 2012-06-04 2013-12-05 Alcatel-Lucent Usa Inc. Method And Apparatus For Single Point Of Failure Elimination For Cloud-Based Applications
US9674587B2 (en) 2012-06-26 2017-06-06 Sonos, Inc. Systems and methods for networked music playback including remote add to queue
US10496977B2 (en) 2012-07-16 2019-12-03 Square, Inc. Storing and forwarding payment transactions
US20140075583A1 (en) * 2012-09-10 2014-03-13 Apple Inc. Management of media items
US9600552B2 (en) 2012-10-02 2017-03-21 Nextbit Systems Inc. Proximity based application state synchronization
US9210203B2 (en) 2012-10-02 2015-12-08 Nextbit Systems Inc. Resource based mobile device application streaming
US9268655B2 (en) 2012-10-02 2016-02-23 Nextbit Systems Inc. Interface for resolving synchronization conflicts of application states
US9654556B2 (en) 2012-10-02 2017-05-16 Razer (Asia-Pacific) Pte. Ltd. Managing applications on an electronic device
US9717985B2 (en) 2012-10-02 2017-08-01 Razer (Asia-Pacific) Pte. Ltd. Fragment-based mobile device application streaming utilizing crowd-sourcing
US9776078B2 (en) * 2012-10-02 2017-10-03 Razer (Asia-Pacific) Pte. Ltd. Application state backup and restoration across multiple devices
US9747000B2 (en) 2012-10-02 2017-08-29 Razer (Asia-Pacific) Pte. Ltd. Launching applications on an electronic device
US9106721B2 (en) 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US9367403B2 (en) * 2012-12-10 2016-06-14 Dongguan Yulong Telecommunication Tech Co., Ltd. Terminal and application restoring method
US10123189B2 (en) * 2013-03-21 2018-11-06 Razer (Asia-Pacific) Pte. Ltd. Electronic device system restoration by tapping mechanism
US9247363B2 (en) 2013-04-16 2016-01-26 Sonos, Inc. Playback queue transfer in a media playback system
US9501533B2 (en) 2013-04-16 2016-11-22 Sonos, Inc. Private queue for a media playback system
US9361371B2 (en) 2013-04-16 2016-06-07 Sonos, Inc. Playlist update in a media playback system
EP3000039A1 (en) * 2013-05-22 2016-03-30 Apperian, Inc. Configuration of one or more computer devices
JP6227378B2 (ja) * 2013-11-08 2017-11-08 株式会社日立製作所 バックアップ管理システムおよびバックアップ管理方法
US9436410B2 (en) * 2013-12-13 2016-09-06 Netapp, Inc. Replication of volumes on demands using absent allocation
US10198445B2 (en) 2014-06-30 2019-02-05 Google Llc Automated archiving of user generated media files
US10037521B1 (en) * 2014-09-24 2018-07-31 Square, Inc. Background communication failover for mobile payments
US9881302B1 (en) 2014-12-11 2018-01-30 Square, Inc. Intelligent payment capture in failed authorization requests
US9986016B2 (en) 2015-02-19 2018-05-29 Microsoft Technology Licensing, Llc Download manager integration with a cloud storage platform
CN114356651A (zh) 2015-05-27 2022-04-15 谷歌有限责任公司 用于移动设备上的自动基于云的全数据备份和恢复的系统和方法
US10802928B2 (en) 2015-09-10 2020-10-13 International Business Machines Corporation Backup and restoration of file system
US10320797B2 (en) 2015-09-25 2019-06-11 International Business Machines Corporation Enabling a multi-dimensional collaborative effort system
US10425452B2 (en) * 2015-09-25 2019-09-24 International Business Machines Corporation Identifying changes in multiple resources related to a problem
US10120552B2 (en) 2015-09-25 2018-11-06 International Business Machines Corporation Annotating collaborative content to facilitate mining key content as a runbook
CN105511985A (zh) * 2015-12-01 2016-04-20 魅族科技(中国)有限公司 一种数据备份的方法及终端
CN112449021B (zh) * 2016-01-27 2023-10-27 创新先进技术有限公司 一种互联网资源的筛选方法及装置
CN105786654A (zh) * 2016-03-01 2016-07-20 北京金山安全软件有限公司 一种数据备份方法、装置及电子设备
US10366378B1 (en) 2016-06-30 2019-07-30 Square, Inc. Processing transactions in offline mode
US10318390B2 (en) 2016-07-08 2019-06-11 International Business Machines Corporation Automated storage target selection for data backup
WO2018022082A1 (en) * 2016-07-29 2018-02-01 Hewlett-Packard Development Company, L.P. Data recovery with authenticity
US20190347008A1 (en) * 2016-10-03 2019-11-14 Still On Holidays, S.L. System and method for backing up data and use from any terminal
CN106776137A (zh) * 2016-12-15 2017-05-31 济南浪潮高新科技投资发展有限公司 一种用户录入数据备份与恢复方法
US10248355B2 (en) 2017-02-22 2019-04-02 International Business Machines Corporation Data migration for applications on a mobile device
US10198326B2 (en) * 2017-03-09 2019-02-05 Apple Inc. Intelligent restoration of a computing device
US10769032B2 (en) * 2018-03-16 2020-09-08 EMC IP Holding Company LLC Automation and optimization of data recovery after a ransomware attack
US10817385B2 (en) * 2018-07-31 2020-10-27 EMC IP Holding Company LLC Storage system with backup control utilizing content-based signatures
US11977453B2 (en) 2019-09-12 2024-05-07 Restorvault, Llc Virtual replication of unstructured data
US11816000B2 (en) * 2019-09-12 2023-11-14 restor Vault, LLC Virtual recovery of unstructured data
KR20220017124A (ko) 2020-08-04 2022-02-11 삼성전자주식회사 백업 데이터 복원 방법 및 이를 위한 전자 장치
US12088583B2 (en) * 2020-11-11 2024-09-10 Hewlett Packard Enterprise Development Lp Permissions for backup-related operations
CN113194121B (zh) * 2021-04-15 2023-04-18 许家源 电子设备间的文件备份方法
EP4354301A1 (en) 2021-08-10 2024-04-17 Samsung Electronics Co., Ltd. Electronic device and operation method of electronic device
KR20230023397A (ko) * 2021-08-10 2023-02-17 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법
US12111845B2 (en) * 2021-09-30 2024-10-08 Dropbox, Inc. Backup feature provided by bidirectional synchronized content management system
KR20240120428A (ko) * 2023-01-31 2024-08-07 삼성전자주식회사 전자 장치 및 이를 이용한 홈 화면 표시 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1262480A (zh) * 1999-01-25 2000-08-09 戴尔美国公司 用于计算机系统的可恢复软件安装方法和装置
CN101566959A (zh) * 2008-03-26 2009-10-28 赛门铁克公司 利用卷快照防止在失败的恢复操作中的文件损坏

Family Cites Families (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0551009B1 (en) 1992-01-08 2001-06-13 Emc Corporation Method for synchronizing reserved areas in a redundant storage array
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 バックアップ・リストア方法およびその制御装置,並びにバックアップ・リストアプログラムを記録したコンピュータ読み取り可能な記録媒体
US6141771A (en) * 1998-02-06 2000-10-31 International Business Machines Corporation Method and system for providing a trusted machine state
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 ソニー株式会社 情報処理装置、情報通信システム
WO2002059731A2 (en) 2000-11-17 2002-08-01 Links Point, Inc. 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
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
WO2004047078A2 (en) 2002-11-20 2004-06-03 Filesx Ltd. Fast backup storage and fast recovery of data (fbsrd)
US7131025B2 (en) 2002-12-18 2006-10-31 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
WO2005050385A2 (en) 2003-11-13 2005-06-02 Commvault Systems, Inc. System and method for performing integrated storage operations
ATE511677T1 (de) 2003-12-18 2011-06-15 Research In Motion Ltd System und verfahren zur verwaltung digitaler berechtigungen
JP2005222171A (ja) 2004-02-03 2005-08-18 Nec Access Technica Ltd 携帯電話機
JP4551096B2 (ja) 2004-02-03 2010-09-22 株式会社日立製作所 ストレージサブシステム
US7526768B2 (en) 2004-02-04 2009-04-28 Microsoft Corporation Cross-pollination of multiple sync sources
US7206911B2 (en) 2004-02-25 2007-04-17 International Business Machines Corporation Method, system, and program for a system architecture for an arbitrary number of backup components
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
JP2006048473A (ja) * 2004-08-06 2006-02-16 Mitsubishi Electric Corp 複数サービス提供システム及び管理装置及び通信端末装置
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
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
AU2007295949B2 (en) 2006-09-12 2009-08-06 Adams Consulting Group 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
US8180735B2 (en) 2006-12-29 2012-05-15 Prodea Systems, Inc. Managed file backup and restore at remote storage locations through multi-services gateway 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
CN107122373A (zh) 2007-01-07 2017-09-01 苹果公司 与主机设备的按优先级的数据同步
JP5008991B2 (ja) * 2007-01-24 2012-08-22 株式会社日立製作所 データのリカバリを制御する装置及び方法
WO2008120044A1 (en) 2007-03-29 2008-10-09 Nokia Corporation Connection to a usb device
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
DE602007013956D1 (de) 2007-10-17 2011-05-26 Freescale Semiconductor Inc Power-management-anordnung für ein mobilgerät
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
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 上海市医疗保险信息中心 结构化灾难备份系统和备份方法
US8805953B2 (en) * 2009-04-03 2014-08-12 Microsoft Corporation Differential file and system restores from peers and the cloud
US8769055B2 (en) * 2009-04-24 2014-07-01 Microsoft Corporation Distributed backup and versioning
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 株式会社日立製作所 計算機システム及び障害復旧方法
US8285681B2 (en) * 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US20110016093A1 (en) * 2009-07-15 2011-01-20 Iron Mountain, Incorporated Operating system restoration using remote backup system and local system restore function
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
US9501365B2 (en) * 2009-12-28 2016-11-22 Netapp, Inc. Cloud-based disaster recovery of backup data and metadata
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1262480A (zh) * 1999-01-25 2000-08-09 戴尔美国公司 用于计算机系统的可恢复软件安装方法和装置
CN101566959A (zh) * 2008-03-26 2009-10-28 赛门铁克公司 利用卷快照防止在失败的恢复操作中的文件损坏

Also Published As

Publication number Publication date
US8868859B2 (en) 2014-10-21
US20150006837A1 (en) 2015-01-01
EP2702487B1 (en) 2015-06-24
US20120311280A1 (en) 2012-12-06
BR112013031065B1 (pt) 2021-05-25
JP2014519122A (ja) 2014-08-07
EP2702487A1 (en) 2014-03-05
AU2012262733A1 (en) 2014-01-16
CN103582875A (zh) 2014-02-12
MX2013014175A (es) 2014-03-21
KR20140031366A (ko) 2014-03-12
WO2012166443A1 (en) 2012-12-06
JP5819518B2 (ja) 2015-11-24
AU2012262733B2 (en) 2016-04-28
US9483365B2 (en) 2016-11-01
KR101602584B1 (ko) 2016-03-10
BR112013031065A2 (pt) 2016-11-29

Similar Documents

Publication Publication Date Title
CN103582875B (zh) 用于多源恢复的方法及装置
CN103703742B (zh) 基于电源状态的备份方法和装置
CN103597801B (zh) 用于多阶段多源备份的方法和装置
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