CN111949442B - 用于可扩展备份服务的系统和方法 - Google Patents

用于可扩展备份服务的系统和方法 Download PDF

Info

Publication number
CN111949442B
CN111949442B CN202010390818.4A CN202010390818A CN111949442B CN 111949442 B CN111949442 B CN 111949442B CN 202010390818 A CN202010390818 A CN 202010390818A CN 111949442 B CN111949442 B CN 111949442B
Authority
CN
China
Prior art keywords
resource allocation
virtual machine
backup
time period
remote agent
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
CN202010390818.4A
Other languages
English (en)
Other versions
CN111949442A (zh
Inventor
希莱仕·乔普拉
桑尼尔·亚达夫
阿米特·杰恩
曼尼什·沙玛
阿蒂雅·R·班索
斯尼哈·亚达夫
杰亚什里·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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Publication of CN111949442A publication Critical patent/CN111949442A/zh
Application granted granted Critical
Publication of CN111949442B publication Critical patent/CN111949442B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/1448Management of the data involved in backup or backup restore
    • 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/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种用于向虚拟机提供数据保护服务的远程代理包括永久性存储装置和备份管理器。所述永久性存储装置用于存储与所述虚拟机相关联的资源分配日历和生命周期策略。所述备份管理器从所述虚拟机中的虚拟机获得虚拟机数据包;基于所述生命周期策略来标识计算负载变化点;至少部分地使用所述虚拟机数据包来预测由所述计算负载变化点划定的时间段期间的计算负载的量值;更新所述资源分配日历以获得更新的资源分配日历,所述更新基于:标识的计算负载变化点以及所述时间段期间的所述计算负载的所述量值;以及使用所述更新的资源分配日历为所述虚拟机生成备份。

Description

用于可扩展备份服务的系统和方法
背景技术
计算装置可在其操作期间生成数据。举例来说,由计算装置托管的应用程序可生成由应用程序用来执行其功能的数据。这类数据可存储在计算装置的永久性存储装置中。永久性存储装置的故障可致使数据丢失。
随时间推移,计算装置可按不同的速率生成数据。举例来说,数据库中数据的存储可由数据库的用户来驱动。当数据库的用户例如正处于睡眠状态时,与数据库相关联的数据生成速率可能较低。相反,当数据库的用户最初开始他们的工作日时,与数据库关联的数据生成速率可能较高。
发明内容
在一个方面,根据本发明的一个或多个实施例的用于向虚拟机提供数据保护服务的远程代理包括永久性存储装置和备份管理器。永久性存储装置用于存储与虚拟机相关联的资源分配日历和生命周期策略。备份管理器从虚拟机中的虚拟机获得虚拟机数据包;基于生命周期策略来标识计算负载变化点;至少部分地使用虚拟机数据包来预测由计算负载变化点划定的时间段期间的计算负载的量值;更新资源分配日历以获得更新的资源分配日历,更新基于:标识的计算负载变化点以及所述时间段期间的计算负载的量值;以及使用更新的资源分配日历为虚拟机生成备份。
在一个方面,根据本发明的一个或多个实施例的用于使远程代理向虚拟机提供数据保护服务的方法包括从虚拟机中的虚拟机获得虚拟机数据包;基于与虚拟机相关联的生命周期策略来标识计算负载变化点;至少部分地使用虚拟机数据包来预测由计算负载变化点划定的时间段期间的计算负载的量值;更新资源分配日历以获得更新的资源分配日历,更新基于:标识的计算负载变化点以及所述时间段期间的计算负载的量值;以及使用更新的资源分配日历为虚拟机生成备份。
在一个方面,根据本发明的一个或多个实施例的非暂时性计算机可读介质包括计算机可读程序代码,所述计算机可读程序代码当由计算机处理器执行时使计算机处理器能够执行用于使远程代理向虚拟机提供数据保护服务的方法。所述方法包括从虚拟机中的虚拟机获得虚拟机数据包;基于与虚拟机相关联的生命周期策略来标识计算负载变化点;至少部分地使用虚拟机数据包来预测由计算负载变化点划定的时间段期间的计算负载的量值;更新资源分配日历以获得更新的资源分配日历,更新基于:标识的计算负载变化点以及所述时间段期间的计算负载的量值;以及使用更新的资源分配日历为虚拟机生成备份。
附图说明
将参考附图描述本发明的某些实施例。然而,附图仅通过实例的方式说明本发明的某些方面或实施方式,且并不意指限制权利要求书的范围。
图1展示根据本发明的一个或多个实施例的系统的图。
图2.1展示根据本发明的一个或多个实施例的实例生产主机的图。
图2.2展示根据本发明的一个或多个实施例的实例虚拟机的图。
图2.3展示根据本发明的一个或多个实施例的实例虚拟机数据包的图。
图3.1展示根据本发明的一个或多个实施例的实例远程代理的图。
图3.2展示根据本发明的一个或多个实施例的实例资源分配日历的图。
图4.1展示根据本发明的一个或多个实施例的更新资源分配日历的方法的流程图。
图4.2展示根据本发明的一个或多个实施例的生成备份的方法的流程图。
图5展示根据本发明的一个或多个实施例的提供虚拟机数据包请求的方法的流程图。
图6.1-6.7展示根据本发明的实施例的系统的非限制性实例。
图7展示根据本发明的一个或多个实施例的计算装置的图。
具体实施方式
现将参考附图来描述具体实施例。在以下描述中,将众多细节阐述为本发明的实例。所属领域的技术人员应理解,可在无这些具体细节的情况下实践本发明的一个或多个实施例,并且在不脱离本发明的范围的情况下,众多变化或修改可为可能的。省略所属领域的一般技术人员已知的某些细节,以免混淆描述。
在所述图的以下描述中,在本发明的各种实施例中,关于一图描述的任一组件可等效于关于任一其它图描述的一个或多个相似命名的组件。为简洁起见,将不关于每一图来重复这些组件的描述。因此,每一图的组件的每一和每个实施例通过引用的方式并入,并且被假定为任选地存在于具有一个或多个相似命名的组件的每个其它图内。另外,根据本发明的各种实施例,对图的组件的任一描述应解释为任选实施例,其可除了关于任一其它图中的对应的相似命名的组件描述的实施例外再实施,结合所述实施例实施,或代替所述实施例加以实施。
一般来说,本发明的实施例涉及在分布式系统中提供数据保护服务的系统、装置和方法。具体地,本发明的实施例可提供一种系统,所述系统动态地实例化和终止向分布式系统提供数据保护服务的远程代理。这类实例化和终止可用于在向分布式系统的客户端提供服务和提供内部数据保护服务之间重新分布分布式系统内的计算资源。
在本发明的一个或多个实施例中,基于由在未来提供数据保护服务将引起的预测工作负载来执行实例化和终止。可通过获得关于向客户提供服务的实体的资产的信息来做出预测。关于资产的信息可包括资产的类型、与资产相关联的应用程序和/或资产的数据的变化速率。可使用实体的计算资源来获得关于实体的资产的这类信息。通过这样做,管理远程代理的实例化和终止的工作负载可分布在分布式系统上,使能够减少远程代理的计算占用量。因此,可将分布式系统的计算资源动态地分配给向客户端提供服务的实体。
图1展示根据本发明的一个或多个实施例的实例系统。所述系统可包括从由生产主机(130)托管的虚拟机和/或应用程序获得服务的客户端(140)。举例来说,生产主机(130)可托管托管应用程序的虚拟机。客户端(140)可利用由应用程序提供的应用程序服务。应用程序可为例如数据库应用程序、电子通信应用程序、文件存储应用程序和/或可向客户端(140)提供服务的任一其它类型的应用程序。通过利用这类服务,与客户端(140)相关的数据可存储在生产主机(130)中。
为了提高存储在生产主机(130)中的数据可用于未来使用的可能性,可生成生产主机(130)的备份并将其存储在备份存储装置(120)中。生产主机(130)中的一个的备份可包括可用来将生产主机的全部或一部分或由生产主机托管的实体的全部或一部分恢复到先前状态的数据。因此,如果由生产主机(130)中的一个托管的数据丢失,则可通过使用存储在备份存储装置(120)中的信息恢复生产主机的全部或一部分来恢复对数据的访问。
所述系统还可包括向生产主机(130)提供数据保护服务的远程代理(110)。数据保护服务可包括基于保护策略在备份存储装置中生成和存储备份。
在本发明的一个或多个实施例中,远程代理(110)为资源精简型实体。也就是说,远程代理(110)可被设计成最小化它们的计算资源消耗占用量。为了在最小化它们的计算资源占用量的同时提供它们的功能性,远程代理(110)可动态地缩放它们的计算资源消耗。
举例来说,主远程代理(112)可实例化和/或终止动态远程代理(114),以修改远程代理(110)的计算资源消耗速率。因此,在任一时间点,可有任一数量的动态远程代理(例如,114.2、114.4),并且这类代理的数量可随时间变化。
为了提高远程代理(110)具有足够的计算资源可用于向生产主机(130)提供备份服务的可能性,远程代理(110)可预测生产主机(130)将对远程代理(110)施放的可能备份负载。预测可基于从生产主机获得的数据。通过这样做,远程代理(110)可随时间在预测备份负载之前预先分配计算资源。
图1中所说明的系统的组件可经由有线和/或无线网络的任一组合可操作地彼此连接和/或可操作地连接到其它实体(未展示)。在下文论述图1中所说明的系统的每一组件。
客户端(140)可为计算装置。计算装置可为例如移动电话、平板计算机、笔记本电脑、台式计算机、服务器或云资源。计算装置可包括一个或多个处理器、存储器(例如,随机存取存储器)和永久性存储装置(例如,磁盘驱动器、固态驱动器等)。永久性存储装置可存储计算机指令,例如,计算机代码,所述计算机指令(当由计算装置的(一个或多个)处理器执行时)使计算装置执行本申请中描述的功能和/或图4.1-5中所说明的方法的全部或一部分。在不脱离本发明的情况下,客户端(140)可为其它类型的计算装置。关于计算装置的更多细节,请参考图7。
在不脱离本发明的情况下,客户端(140)可为逻辑装置。举例来说,客户端(140)可为利用任一数量的物理计算装置的计算资源来提供客户端(140)的功能性的虚拟机。在不脱离本发明的情况下,客户端(140)可为其它类型的逻辑装置。
在本发明的一个或多个实施例中,客户端(140)利用由生产主机(130)提供的应用程序服务。举例来说,客户端(140)可利用数据库服务、电子通信服务、文件存储服务或由生产主机(130)托管的应用程序提供的任一其它类型的计算机实施的服务。通过利用前述服务,可将与客户端(140)相关的数据存储为由生产主机(130)托管的应用程序的应用程序数据的部分。
举例来说,考虑一种场景,其中客户端通过将图像上载到由生产主机(130)托管的应用程序来利用由生产主机(130)的应用程序提供的文件存储服务。响应于接收到上载的图像,应用程序可在生产主机(130)中在本地存储图像的副本。在未来时间点,上载图像的客户端或另一实体可能期望从生产主机(130)检索图像的副本,并且由此呈现存储在生产主机(130)中以与客户端(140)相关的数据,即,生产主机(130)的图像类别的副本。本发明的一个或多个实施例可提高在未来时间点可从生产主机(130)检索与客户端(140)相关并存储在生产主机(130)中的数据的可能性。本发明的实施例可通过生成生产主机或生产主机的一部分的备份并将其存储在备份存储装置(120)中来提供这类功能性。
在本发明的一个或多个实施例中,生产主机(130)为计算装置。计算装置可为例如移动电话、平板计算机、笔记本电脑、台式计算机、服务器、分布式计算系统或云资源。计算装置可包括一个或多个处理器、存储器(例如,随机存取存储器)和永久性存储装置(例如,磁盘驱动器、固态驱动器等)。永久性存储装置可存储计算机指令,例如,计算机代码,所述计算机指令(当由计算装置的(一个或多个)处理器执行时)使计算装置执行本申请中描述的功能和/或图4.1-5中所说明的方法的全部或一部分。在不脱离本发明的情况下,生产主机(130)可为其它类型的计算装置。关于计算装置的更多细节,请参考图7。
在本发明的一个或多个实施例中,生产主机(130)为分布式计算装置。如本文中所使用,分布式计算装置指由利用一个或多个单独和/或截然不同的物理计算装置的计算资源的逻辑装置提供的功能性。举例来说,在本发明的一个或多个实施例中,生产主机(130)可为分布式装置,其包括跨任一数量的单独和/或截然不同的计算装置分布的组件。在这类场景中,在不脱离本发明的情况下,生产主机(130)的功能性可由多个不同计算装置执行。
在不脱离本发明的情况下,根据本发明的一个或多个实施例的系统可包括任一数量的生产主机(例如,130.2、130.4)。举例来说,系统可包括单个生产主机(例如,130.2)或多个生产主机(例如,130.2、130.4)。
在本发明的一个或多个实施例中,生产主机(130)向客户端(140)提供服务。服务可为任一类型的计算机实施的服务,例如,数据库服务、电子通信服务、数据存储服务和/或即时消息接发服务。当向客户端(140)提供这类服务时,与客户端(140)相关的数据可存储在生产主机(130)的永久性存储装置中。
在本发明的一个或多个实施例中,生产主机(130)执行备份服务(根据由远程代理(110)协调的数据保护策略),例如,生成备份并将其存储在备份存储装置(120)中。通过将备份存储在备份存储装置(120)中,存储在生产主机(130)的永久性存储装置中的数据的副本可冗余地存储在备份存储装置(120)中。通过在生产主机(130)和备份存储装置(120)中冗余地存储数据的副本,更有可能将能够在未来时间点检索所存储的数据。举例来说,如果生产主机(例如,130.2)遭受灾难性故障或其它类型的数据丢失/损坏事件,则生产主机的永久性存储装置上的数据可能丢失。然而,因为数据的副本可存储在备份存储装置(120)中,所以有可能在灾难性故障之后检索数据以供使用。因此,本发明的实施例可提高分布式系统中的数据存储的可靠性。
备份服务还可包括协助远程代理(110)生成对未来备份负载的预测。生产主机(130)可通过提供关于由生产主机(130)托管的资产的类型(例如,将被保护的数据)、与资产相关联的应用程序的类型(例如,使用、生成和/或维护资产的应用程序)和/或资产的交易速率(例如,资产的数据的变化频率和/或量)的信息来协助远程代理(110)生成未来备份负载预测。通过这样做,远程代理(110)可生成未来备份负载预测以减少它们的计算资源占用量,同时向生产主机(130)提供备份服务。关于生产主机(130)的更多细节,请参考图2.1。
在本发明的一个或多个实施例中,备份存储装置(120)为计算装置。计算装置可为例如移动电话、平板计算机、笔记本电脑、台式计算机、服务器、分布式计算系统或云资源。计算装置可包括一个或多个处理器、存储器(例如,随机存取存储器)和永久性存储装置(例如,磁盘驱动器、固态驱动器等)。永久性存储装置可存储计算机指令,例如,计算机代码,所述计算机指令(当由计算装置的(一个或多个)处理器执行时)使计算装置提供通过本申请描述的备份存储装置(120)的功能性和图4.1-5中所说明的方法的全部或一部分。在不脱离本发明的情况下,备份存储装置(120)可为其它类型的计算装置。关于计算装置的更多细节,请参考图7。
在本发明的一个或多个实施例中,备份存储装置(120)为分布式计算装置。如本文中所使用,分布式计算装置指由利用一个或多个单独和/或截然不同的计算装置的计算资源的逻辑装置提供的功能性。举例来说,在本发明的一个或多个实施例中,备份存储装置(120)为分布式装置,其包括跨任一数量的单独和/或截然不同的计算装置分布的组件。在这类场景中,在不脱离本发明的情况下,备份存储装置(120)的功能性可由多个不同计算装置执行。
在本发明的一个或多个实施例中,备份存储装置(120)向生产主机(130)提供数据存储服务。数据存储服务可包括存储由生产主机(130)提供的数据以及向生产主机(130)提供先前存储的数据。这类提供的数据可用于恢复(和/或其它)目的。在不脱离本发明的情况下,系统可包括任一数量的备份存储装置(例如,120.2、120.4)。举例来说,根据本发明的实施例的系统可仅包括单个备份存储装置(例如,120.2)或者可包括多个备份存储装置(例如,120.2、120.4)。
在本发明的一个或多个实施例中,由备份存储装置(120)存储的数据包括由生产主机(130)托管的虚拟机的备份。举例来说,生产主机(130)可托管托管数据库应用程序的虚拟机。为了生成数据库的备份,可生成托管数据库的虚拟机的备份,并且可将备份发送到备份存储装置(120)以进行存储。在未来时间点,可能期望将数据库应用程序管理的数据库的状态恢复到先前状态。为此,可检索存储在备份存储装置(120)中的先前存储的虚拟机的备份。检索到的备份可用来将由托管数据库的虚拟机托管的应用程序数据恢复到与备份相关联的状态,即期望的先前状态。
虽然上文描述为存储虚拟机的备份,但在不脱离本发明的情况下,备份存储装置(120)可存储来自生产主机(130)或其它实体的其它类型的数据。举例来说,备份存储装置(120)可存储来自客户端(140)和/或其它实体的档案或其它数据结构。
在本发明的一个或多个实施例中,远程代理(110)为计算装置。计算装置可为例如移动电话、平板计算机、笔记本电脑、台式计算机、服务器、分布式计算系统或云资源。计算装置可包括一个或多个处理器、存储器(例如,随机存取存储器)和永久性存储装置(例如,磁盘驱动器、固态驱动器等)。永久性存储装置可存储计算机指令,例如,计算机代码,所述计算机指令当由计算装置的(一个或多个)处理器执行时使计算装置提供通过本申请描述的远程代理(110)的功能性和图4.1-5中所说明的方法的全部或一部分。在不脱离本发明的情况下,远程代理(110)可为其它类型的计算装置。关于计算装置的更多细节,请参考图7。
在本发明的一个或多个实施例中,远程代理(110)为分布式计算装置。如本文中所使用,分布式计算装置指由利用一个或多个单独和/或截然不同的计算装置的计算资源的逻辑装置提供的功能性。举例来说,在本发明的一个或多个实施例中,远程代理(110)为分布式装置,其包括跨任一数量的单独和/或截然不同的计算装置分布的组件。在这类场景中,在不脱离本发明的情况下,远程代理(110)的功能性可由多个不同计算装置执行。
在本发明的一个或多个实施例中,备份存储装置(120)提供远程代理的功能性。举例来说,备份存储装置(120)可托管提供远程代理(110)的全部或一部分功能性的应用程序。在不脱离本发明的情况下,远程代理(110)的功能性可由图1的系统的其它组件提供。
在本发明的一个或多个实施例中,远程代理(110)提供数据保护服务。数据保护服务可包括(i)根据数据保护策略为生产主机生成备份,(ii)生成对未来备份负载的预测以为生产主机生成备份,以及(iii)基于备份负载预测动态修改远程代理(110)的计算资源占用量。通过这样做,远程代理(110)可将计算资源转移到向客户端(140)提供应用程序服务的实体的操作,同时减小降低向生产主机(130)提供的数据保护服务的质量的可能性。
举例来说,考虑一种场景,其中生产主机(130)的备份负载随时间变化显著。如果没有及时向生产主机(130)提供数据保护服务,则可减少由生产主机(130)托管的实体(例如,虚拟机)的功能性。因此,向客户(140)提供的服务可能受到负面影响。为了提高迅速向生产主机提供数据保护服务的可能性,远程代理(110)可在预测备份负载之前预先分配计算资源,使得可在预测备份负载期间提供数据保护服务。预先分配计算资源可包括实例化和/或终止动态远程代理(114),例如,由主远程代理向虚拟机的例子指派备份工作负载的部分。
图1的系统可包括任一数量的远程代理(例如,112、114.2、114.4),例如,可有多个主远程代理(例如,112)和与对应的主远程代理相关联的多组动态远程代理(例如,114)。关于远程代理(110)的更多细节,请参考图3.1。
虽然图1的系统为了简洁起见而已描述和说明为包括有限数量的组件,但在不脱离本发明的情况下,根据本发明的实施例的系统可包括比图1中所说明的组件更多、更少和/或不同的组件。
如上所述,生产主机可托管向客户端提供服务的虚拟机、应用程序或其它实体。图2.1展示根据本发明的一个或多个实施例的实例生产主机(200)的图。实例生产主机(200)可类似于生产主机(130,图1)中的任一个。如上所述,实例生产主机(200)可提供:(i)对客户端的应用程序服务,以及(ii)协助远程代理生成对未来备份负载的预测。
为了提供实例生产主机(200)的前述功能性,实例生产主机(200)可包括虚拟机(210)、超管理器(220)、生产代理(230)。下文论述实例生产主机(200)的每一组件。
虚拟机(210)可为应用程序。举例来说,虚拟机(210)可为使用实例生产主机(200)和/或其它实体的物理计算资源执行的应用程序。换句话说,虚拟机(210)中的每一个可被实施为存储在永久性存储装置上的计算机指令,所述计算机指令当由实例生产主机(200)和/或其它实体的处理器执行时,产生相应虚拟机的功能性。在不脱离本发明的情况下,实例生产主机(200)可托管任一数量的虚拟机(例如,210.2、210.4)。
虚拟机(210)中的每一个可托管任一数量的应用程序。应用程序可向客户端或其它实体提供应用程序服务。举例来说,应用程序可为数据库应用程序、电子通信应用程序、文件共享应用程序和/或其它类型的应用程序。在不脱离本发明的情况下,虚拟机(210)中的每一个可托管任一数量的应用程序。
应用程序中的每一个可执行类似或不同的功能。举例来说,第一应用程序可为数据库应用程序,并且第二应用程序可为电子通信应用程序。在另一实例中,第一应用程序可为数据库应用程序的第一例子,并且第二应用程序可为数据库应用程序的第二例子。
在本发明的一个或多个实施例中,应用程序的全部或一部分向客户端提供应用程序服务。所提供的服务可对应于应用程序中的每一个的应用程序类型。当向客户端提供应用程序服务时,与客户端相关的数据可由应用程序接收和/或由应用程序生成。应用程序可将这类相关数据作为与相应应用程序相关联的应用程序数据的一部分存储在实例生产主机(200)和/或其它实体的永久性存储装置中。
在本发明的一些实施例中,可从实例生产主机(200)远程存储应用程序数据的部分或全部。举例来说,应用程序数据可存储在不托管应用程序的第二生产主机、备份存储装置或另一实体中。在某些情况下,应用程序数据可跨越多个实体,或者应用程序数据的多个副本可存储在多个虚拟机中,以促进由多个虚拟机托管的应用程序的多个例子的协作动作。在不脱离本发明的情况下,应用程序数据可存储在其它位置。
虽然上文已将应用程序描述为由虚拟机(210)托管,但在不脱离本发明的情况下,应用程序可不由虚拟机托管。举例来说,应用程序可在实例生产主机(200)上在本机执行,而非在虚拟化实体(例如,虚拟机(210)中的一个)中执行。
由虚拟机(210)托管的应用程序数据可为资产。如下面将更详细论述,虚拟机(210)中的每一个提供关于它们的资产的信息,以使远程代理能够更准确地预测未来备份负载。关于虚拟机(210)的更多细节,请参考图2.2。
超管理器(220)可管理虚拟机(210)的执行。超管理器(220)可实例化和/或终止虚拟机(210)中的任一个。超管理器(220)还可将实例生产主机(200)的计算资源分配到虚拟机(例如,210.2、210.4)中的每一个。
举例来说,超管理器(220)可分配实例生产主机(200)的永久性存储装置的一部分。永久性存储装置的任一量的存储资源可按任一方式在虚拟机(例如,210.2、210.4)之间分配。
虽然关于存储资源进行了论述,但在不脱离本发明的情况下,超管理器(220)可将其它类型的计算资源分配给虚拟机(210)和/或由实例生产主机(200)托管的其它实体。举例来说,超管理器(220)可在虚拟机(210)和/或由实例生产主机(200)托管的其它实体之间分配处理器周期、存储器容量、存储器带宽和/或网络通信带宽。
在本发明的一个或多个实施例中,超管理器(220)为包括电路系统的硬件装置。超管理器(220)可为例如数字信号处理器、现场可编程门阵列或专用集成电路。在不脱离本发明的情况下,超管理器(220)可为其它类型的硬件装置。
在本发明的一个或多个实施例中,超管理器(220)被实施为存储在永久性存储装置上的计算代码,所述计算代码当由处理器执行时,执行超管理器(220)的功能性。处理器可为包括电路系统的硬件处理器,例如,中央处理单元或微控制器。在不脱离本发明的情况下,处理器可为处理数字信息的其它类型的硬件装置。
生产代理(230)可在本地管理对虚拟机(210)和/或由虚拟机(210)托管的实体的备份服务的提供。举例来说,生产代理(230)可协调备份的生成和所生成的备份在备份存储装置(120,图1)中的存储。为了协调备份的生成,生产代理(230)可生成虚拟机级备份。虚拟机级别备份可为表示虚拟机在某个时间点的状态(或从一种状态到另一种状态的差异)的备份。
在本发明的一个或多个实施例中,生产代理(230)基于从一个或多个远程代理接收的指令来管理对虚拟机(210)的备份服务的提供。这些指令可使生产代理(230)采取行动以提供备份服务。换句话说,生产代理(230)可协调数据保护服务,包括备份的生成、整个系统的恢复性能,和/或提供对从存储在备份存储装置中的备份提取的应用程序数据的远程访问。
在本发明的一个或多个实施例中,生产代理(230)向远程代理提供关于所生成的备份的信息。远程代理可使用这类信息来提供搜索服务。当将这类信息提供给远程代理时,可对远程代理施放大量备份负载。此外,如果远程代理不能处理备份负载,则可能需要生产代理(230)减少其备份生成活动,以对应于远程代理能够处理对应的备份负载的速率。
举例来说,当生产代理(230)生成备份时,可将备份中的全部或一部分信息提供给远程代理。一旦提供给远程代理,远程代理可能需要处理关于备份的信息,以得出其它有用的信息。如果备份由生产代理(230)和/或其它生产主机的其它生产代理以比远程代理能够处理关于备份的信息更快的速率生成,则可能需要远程代理降低其生成备份的速率。这样做可能会产生重大的负面后果。举例来说,在生成备份时,实例生产主机(200)的一部分计算资源被分配用于这类活动。因此,虚拟机和托管应用程序可能减少了对计算资源的访问。此外,由于备份生成所需的持续时间较长,数据丢失的风险也会增加。因此,减少生成备份所利用的时间可能很重要。
为了提供生产代理(230)的上述功能性,生产代理(230)可执行图4.1-5中所说明的方法的全部或一部分。
在本发明的一个或多个实施例中,生产代理(230)为包括电路系统的硬件装置。生产代理(230)可为例如数字信号处理器、现场可编程门阵列或专用集成电路。在不脱离本发明的情况下,生产代理(230)可为其它类型的硬件装置。
在本发明的一个或多个实施例中,生产代理(230)被实施为存储在永久性存储装置上的计算代码,所述计算代码当由处理器执行时,执行生产代理(230)的功能性。处理器可为包括电路系统的硬件处理器,例如,中央处理单元或微控制器。在不脱离本发明的情况下,处理器可为处理数字信息的其它类型的硬件装置。
虽然图2.1的实例生产主机(200)为了简洁起见而已被描述和说明为包括有限数量的组件,但在不脱离本发明的情况下,根据本发明的实施例的生产主机可包括比图2.1中所说明的组件更多、更少和/或不同的组件。
如上所述,由生产主机托管的虚拟机可向客户端提供服务。图2.2展示根据本发明的一个或多个实施例的实例虚拟机(250)的图。
实例虚拟机(250)可包括应用程序(252)、发现代理(254)和永久性存储装置(260)。下文论述实例虚拟机(250)的每一组件。
如上所述,应用程序(252)可向客户端和/或其它实体提供应用程序服务。应用程序(252)可被实施为计算机指令,例如,计算机代码,所述计算机指令当由实例虚拟机(250)的处理器执行时,产生应用程序(252)的功能性。
当向客户端和/或其它实体提供应用程序服务时,应用程序(252)可生成存储在永久性存储装置(260)中的应用程序数据(262)。应用程序数据(262)可包括任一数量的资产。如上所述,资产可为数据结构。应用程序数据(262)的资产中的每一个可与应用程序(252)的对应的应用程序相关联。举例来说,应用程序数据(262)的数据库可与应用程序(252)的数据库应用程序相关联。在不脱离本发明的情况下,应用程序数据(262)可包括与对应的应用程序相关联的任一数量的资产。
发现代理(254)可协助远程代理从实例虚拟机(250)获得可用来预测未来备份生成负载的信息。为此,发现代理(254)可(i)标识应用程序数据(262)的资产,(ii)获得关于可用来生成备份生成负载预测的资产的信息,和/或(iii)基于在(i)和(ii)中获得的信息生成虚拟机数据包(264)并将其提供给远程代理。发现代理(254)可由远程代理实例化,以获得虚拟机数据包(264)。发现代理(254)的功能性可由远程代理调用,以协调虚拟机数据包(264)的生成。关于虚拟机数据包(264)的更多信息,请参考图2.3。
关于资产的信息可包括例如资产中的每一个中包括的数据的量、资产中的每一个的交易速率、与资产相关联的应用程序和/或关于资产的其它信息和/或指示资产的数据的变化速率的信息。前述信息可通过例如查询实例虚拟机(250)的操作系统以获得关于资产的系统元数据和/或对资产进行采样来获得。资产的采样可通过例如在一段时间内监控资产并对从监控获得的数据进行标准化来执行。
为了提供发现代理(254)的上述功能性,发现代理可执行图5中所说明的方法的全部或一部分。
在本发明的一个或多个实施例中,发现代理(254)被实施为存储在永久性存储装置(例如,260)上的计算代码,所述计算代码当由处理器执行时,执行发现代理(254)的功能性。处理器可为包括电路系统的硬件处理器,例如,中央处理单元或微控制器。在不脱离本发明的情况下,处理器可为处理数字信息的其它类型的硬件装置。
在本发明的一个或多个实施例中,永久性存储装置(260)为逻辑存储装置(例如,虚拟化存储装置),所述逻辑存储装置利用托管实例虚拟机(250)的生产主机(和/或其它实体)的任一量的硬件存储资源。举例来说,永久性存储装置(260)可利用硬盘驱动器、固态磁盘驱动器、磁带驱动器和/或生产主机和/或其它实体的任一其它物理存储介质的任一组合的部分来提供存储资源。永久性存储装置(260)的这类存储资源可用来托管应用程序数据(262)和虚拟机数据包(264)。下文论述这些数据结构中的每一个。
如上所述,应用程序数据(262)可为存储由应用程序(252)生成、维护和/或使用的数据的数据结构。应用程序数据(262)可为任一类型的数据。应用程序数据(262)可在逻辑上被划分为资产。资产中的每一个与应用程序(252)中的一个或多个相关联。资产和应用程序(252)之间的关联可表示相关联的应用程序(252)使用、生成和/或维护资产。
虚拟机数据包(264)可为包括关于实例虚拟机(250)的资产的信息的数据结构。关于虚拟机数据包(264)的更多细节,请参考图2.3。
虽然图2.2的实例虚拟机(250)为了简洁起见已被描述和说明为包括有限数量的组件,但在不脱离本发明的情况下,根据本发明的实施例的虚拟机可包括比图2.2中所说明的组件更多、更少和/或不同的组件。
如上所述,虚拟机数据包(264)可由发现代理提供给远程代理。图2.3展示根据本发明的一个或多个实施例的实例虚拟机数据包(270)的图。实例虚拟机数据包(270)可为存储关于虚拟机资产的信息的数据结构。
实例虚拟机数据包(270)可包括关于资产的数据量(272)、标识与资产相关联的应用程序的应用程序标识符(274)以及资产的数据变化速率样本(276)的信息。
数据量(272)可指定资产中的每一个或合计中的数据的量。这类信息可通过查询托管资产的虚拟机的操作系统或经由其它方法获得。
应用程序标识符(274)可为与虚拟机的资产中的每一个相关联的应用程序的标识符。这类信息可通过查询托管资产的虚拟机的操作系统或经由其它方法获得。
数据变化速率样本(276)可包括资产的变化速率数据。数据变化速率样本(276)可通过在预定时间段内监控资产以标识在预定时间段期间对资产所做的任一数量的变化来获得。然后,数据变化速率样本(276)可通过将对资产中的每一个所做的变化除以预定时间的量来确定。
虽然图2.3的实例虚拟机数据包(270)已被描述为包括有限量的特定信息,但在不脱离本发明的情况下,实例虚拟机数据包(270)可包括更多的、不同的和/或更少的信息。另外,在不脱离本发明的情况下,实例虚拟机数据包(270)可被划分为任一数量的单独数据结构和/或可被集成到另一数据结构中。
如上所述,远程代理可提供数据保护服务。图3.1展示根据本发明的一个或多个实施例的实例远程代理(300)的图。实例远程代理(300)可包括备份管理器(310)和永久性存储装置(320)。下面论述实例远程代理(300)的这些组件中的每一个。
备份管理器(310)可(i)从实例远程代理(300)将为其提供数据保护服务的虚拟机获得虚拟机数据包(326),(ii)使用虚拟机数据包(326)和生命周期策略(322)生成备份生成工作负载预测,(iii)基于备份生成工作负载预测生成资源分配日历(324),(iv)基于资源分配日历(324)动态地修改实例远程代理(300)的计算资源占用量,(v)基于生命周期策略(322)协调虚拟机备份在备份存储装置中的生成和存储,以及(vi)处理关于所生成的备份的信息以获得备份数据目录(328)。通过这样做,实例远程代理(300)可动态地修改其计算资源占用量,以向生产主机提供数据保护服务。关于资源分配日历(324)的更多细节,请参考图3.2。
为了获得虚拟机数据包(326),备份管理器(310)可实例化虚拟机中的发现代理,使用发现代理生成虚拟机数据包(326),并将虚拟机数据包(326)存储在永久性存储装置中(320)。如上所述,虚拟机数据包(326)可包括关于可协助备份管理器(310)预测未来备份生成工作负载的虚拟机的信息。
为了提供备份管理器(310)的上述功能性,备份管理器(310)可执行图4.1-5中所说明的方法的全部或一部分。
在本发明的一个或多个实施例中,备份管理器(310)为包括电路系统的硬件装置。备份管理器(310)可为例如数字信号处理器、现场可编程门阵列或专用集成电路。在不脱离本发明的情况下,备份管理器(310)可为其它类型的硬件装置。
在本发明的一个或多个实施例中,备份管理器(310)被实施为存储在永久性存储装置上的计算代码,所述计算代码当由处理器执行时,执行备份管理器(310)的功能性。处理器可为包括电路系统的硬件处理器,例如,中央处理单元或微控制器。在不脱离本发明的情况下,处理器可为处理数字信息的其它类型的硬件装置。
在本发明的一个或多个实施例中,永久性存储装置(320)为物理存储装置。物理存储装置可包括硬盘驱动器、固态磁盘驱动器、磁带驱动器和/或存储数据的任一其它物理存储介质的任一组合。
在本发明的一个或多个实施例中,永久性存储装置(320)为逻辑存储装置(例如,虚拟化存储装置),所述逻辑存储装置利用任一数量的计算装置的任一量的硬件存储资源来存储数据。举例来说,永久性存储装置(320)可利用硬盘驱动器、固态磁盘驱动器、磁带驱动器和/或任一数量的计算装置的任一其它物理存储介质的任一组合的部分。永久性存储装置(320)可存储生命周期策略(322)、资源分配日历(324)、虚拟机数据包(326)和备份数据目录(328)。
生命周期策略(322)可为包括关于数据保护策略的信息的数据结构。数据保护策略可指定(i)何时要为任一数量的虚拟机的每一虚拟机生成备份,(ii)所生成的备份要存储在哪里,(iii)要存储多少备份的副本和/或(iv)要为任一数量的虚拟机采用的数据保护策略的其它特性。
举例来说,生命周期策略(322)中的一个可指定每12小时要生成一次虚拟机备份,并且要将所生成的备份存储在特定的备份存储装置中。不同的生命周期策略(322)可为不同的虚拟机定义不同的数据保护策略。在不脱离本发明的情况下,对于任一数量的虚拟机和/或虚拟机组(或其它实体),可有任一数量的生命周期策略(322)。
资源分配日历(324)可为包括关于远程代理随时间的计算占用量的信息的数据结构。举例来说,资源分配日历(324)可指定要在任一时间点操作的主远程代理和动态远程代理的数量。关于资源分配日历(324)的更多细节,请参考图3.2。
虚拟机数据包(326)可为包括关于虚拟机的资产的信息的数据结构。在永久性存储装置(320)中可有任一数量的虚拟机数据包(例如,326.2、326.4)。可从对应的虚拟机获得虚拟机数据包(326)。一旦来自相应虚拟机数据包(326)的信息被用来生成和/或更新资源分配日历(324),就可删除和/或保留虚拟机数据包(326)。在一些情况下,仅虚拟机数据包(326)位于永久性存储装置(320)中。换句话说,可不生成资源分配日历(324),并且可利用虚拟机数据包(326)代替资源分配日历(324)。
在一些情况下,可从虚拟机获得多个虚拟机数据包。可在不同时间点获得多个虚拟机数据包。举例来说,随着由虚拟机托管的应用程序发生变化,可能需要为虚拟机生成更多虚拟机数据包,以在由虚拟机托管的应用程序发生变化后准确反映虚拟机中包括的资产。因此,随着虚拟机的状态发生变化,可生成新虚拟机数据包并将其发送到实例远程代理(300)。资源分配日历(324)可被更新以反映新虚拟机数据包。
备份数据目录(328)可包括从关于由生产主机所生成的备份的信息导出的信息。举例来说,备份数据目录(328)可包括关于存储在备份存储装置中的备份的信息。为了最小化备份在备份存储装置中的存储占用量,可按不便于索引和/或搜索的格式存储备份。备份数据目录(328)中包括的信息可为备份存储装置中的备份提供索引和/或搜索功能性。在脱离本发明的情况下,备份数据目录(328)中包括的信息可为其它类型的信息。
虽然图3.1的实例远程代理(300)为了简洁起见已被描述和说明为包括有限数量的组件,但在不脱离本发明的情况下,根据本发明的实施例的远程代理可包括比图3.1中所说明的组件更多的、更少的和/或不同的组件。
如上所述,资源分配日历可用来动态地调整远程代理的计算占用量。图3.2展示根据本发明的一个或多个实施例的实例资源分配日历(350)的图。实例资源分配日历(350)可为存储关于远程代理的资源分配的信息的数据结构。
实例资源分配日历(350)可包括存储关于在对应的时间段期间的资源分配的信息的任一数量的条目(例如,352、360)。条目(例如,352、360)中的每一个可包括时间段标识符(354)和资源分配映射(356)。
时间段标识符(354)可为用来标识与条目(例如,352)相关联的时间段的信息。时间段标识符(354)可为例如两个描述,每一描述指定条目的时间段的开始或时间段的结束。
资源分配映射(356)可为指定在由相关联的时间段标识符(354)指定的时间段期间远程代理的计算占用量的信息。举例来说,资源分配映射(356)可指定(i)负责为一组虚拟机提供数据保护服务的主远程代理的身份,以及(ii)要协助主远程代理提供备份服务的多个动态远程代理。资源分配映射(356)可包括任一数量的主远程代理的这类信息,每一主远程代理与提供数据保护服务的任一数量的虚拟机相关联。
在不脱离本发明的情况下,资源分配映射(356)可按其它方式指定远程代理的计算占用量。举例来说,资源分配映射(356)可指定在预定时间段期间分配给远程代理的处理资源、存储器资源、存储资源等的量。
虽然实例资源分配日历(350)已被描述为包括有限量的特定信息,但在不脱离本发明的情况下,实例资源分配日历(350)可包括更多的、不同的和/或更少的信息。另外,虽然被描述为条目(例如,352、560)的列表,但在不脱离本发明的情况下,实例资源分配日历(350)可具有除列表之外的不同组织结构。此外,在不脱离本发明的情况下,实例资源分配日历(350)可被划分为任一数量的单独数据结构和/或可被集成到另一数据结构中。
返回到图1,远程代理(110)可向生产主机(130)和/或其它实体提供数据保护服务。图4.1-4.2说明了当提供数据保护服务时可由图1的系统的远程代理执行的方法。
图4.1展示根据本发明的一个或多个实施例的方法的流程图。图4.1中所描绘的方法可用来根据本发明的一个或多个实施例更新资源分配日历。图4.1中所展示的方法可由例如远程代理(例如,110,图1)来执行。在不脱离本发明的情况下,图1中所说明的系统的其它组件可执行图4.1的方法的全部或一部分。
虽然图4.1被说明为一系列步骤,但在不脱离本发明的情况下,可省略步骤中的任一个,按不同的顺序执行,可包括更多步骤,和/或可按并行和/或部分重叠的方式执行步骤中的任一个或全部。
在步骤400,获得虚拟机数据包。虚拟机数据包可与为其提供数据保护服务的虚拟机相关联。可将数据保护服务提供给任一数量的虚拟机。
虚拟机数据包可包括例如虚拟机的资产的标识符、与资产相关联的应用程序的标识符以及资产中的每一个的数据变化速率样本。虚拟机数据包可由发现代理生成。
发现代理可由远程代理在虚拟机中实例化。举例来说,当虚拟机开始从远程代理获得数据保护服务时,发现代理可由远程代理实例化。
在步骤402,获得与为其提供数据保护服务的虚拟机相关联的生命周期策略。
在本发明的一个或多个实施例中,生命周期策略被存储在远程代理的永久性存储装置或在其它方面远程代理可访问的永久性存储装置中。生命周期策略可指定何时要为虚拟机中的每一个生成备份。
在步骤404,基于生命周期策略来标识计算负载变化点,并且标识由计算负载变化点划定的时间段期间的计算负载的量值。
在本发明的一个或多个实施例中,当要为虚拟机中的一个生成备份时,计算负载变化点为由生命周期策略指定的时间点。举例来说,虚拟机中的一个可为步骤400的虚拟机。
通过分析生命周期策略,可标识任一数量的计算负载变化点。通过这样做,可获得未来计算负载变化点的时间表。
举例来说,第一生命周期策略可指定每天在1PM要生成备份。第二生命周期策略可指定每天在3PM要生成第二备份。在这种场景下,每天的1PM和3PM可被标识为计算负载变化点。
在本发明的一个或多个实施例中,使用虚拟机数据包和生命周期策略来标识由计算负载变化点划定的时间段期间的计算负载。举例来说,在时间段中的每一个期间,可标识在所述时间段期间计划生成的备份。
可使用虚拟机数据包来标识生成标识的备份中的每一个的计算负载的量值。举例来说,每一资产的数据量、每一资产的交易速率以及与每一资产相关联的应用程序可用来预测在每次备份之前资产的数据将变化多少。可将在每次备份之前预测发生变化的每一资产的估计数据的量进行求和,以估计需要由远程代理处理的数据总量。在由负载点划定的时间段中的每一个期间,计算负载的量值可通过估计计算资源(即,动态远程代理的例子数量)来标识,所述计算资源为处理在每一时间段期间需要由远程代理处理的数据总量所需的。
可在由任一数量的计算负载变化点划定的任一数量的时间段内重复前述过程,以获得与任一数量的时间段相关联的计算负载估计。
在步骤406,基于标识的计算负载变化点和所述时间段期间的计算负载的量值来更新资源分配日历。
如上所述,计算负载变化点可划定任一数量的时间段。如关于步骤404所论述,时间段中的每一个可与对应的计算负载相关联。可更新资源分配日历,以反映满足计算负载中的每一个所需的时间段和对应的资源。
举例来说,更新的资源分配日历可指定任一数量的时间段和应在相应时间段中的每一个期间操作的对应数量的动态远程代理。
在本发明的一个或多个实施例中,更新的资源分配日历的时间段中的每一个在时间上提前延长预定时间的量。预定时间的量可与为每一时间段指定的动态远程代理的数量成比例。通过这样做,可为每一时间段提供缓冲器,使得动态远程代理将恰好在每一时间段之前实例化,并且可在每一时间段开始时完全操作。
当更新资源分配日历时,由资源分配日历指定的每一时间段可具有相关联的资源分配。相关联的资源分配可为例如将在每一相应时间段之前实例化的动态远程代理的数量。
方法可在步骤406后结束。
如上所述,资源分配日历可用来为备份生成和处理目的调度资源分配。图4.2展示根据本发明的一个或多个实施例的方法的流程图。图4.2中所描绘的方法可用来根据本发明的一个或多个实施例生成备份。图4.2中所展示的方法可由例如远程代理(例如,110,图1)来执行。在不脱离本发明的情况下,图1中所说明的系统的其它组件可执行图4.2的方法的全部或一部分。
虽然图4.2被说明为一系列步骤,但在不脱离本发明的情况下,可省略步骤中的任一个,按不同的顺序执行,可包括更多步骤,和/或可按并行和/或部分重叠的方式执行步骤中的任一个或全部。
在步骤410,标识由资源分配日历指定的新时间段。如上所述,资源分配日历可指定不同的时间段。当先前时间段结束时,可标识新时间段。
在步骤412,标识与新时间段相关联的资源分配。
在本发明的一个或多个实施例中,使用资源分配日历来标识资源分配。如上所述,资源分配日历可指定每一时间段的资源分配。
在步骤414,基于资源分配来更新现有资源分配。可通过实例化新远程代理或终止现有远程代理来更新资源分配,以修改现有资源分配来匹配资源分配。在更新期间可实例化和/或终止任一数量的主远程代理和/或动态远程代理。
在步骤416,在新时间段期间标识备份生成事件。
在本发明的一个或多个实施例中,使用生命周期策略来标识备份生成事件。举例来说,生命周期策略可指定要响应于备份生成事件来生成备份。备份生成事件可为例如特定时间点的发生。在不脱离本发明的情况下,备份生成事件可为其它类型的事件。
在步骤418,响应于备份生成事件使用更新的资源分配来生成备份。
在本发明的一个或多个实施例中,为由步骤416的备份生成事件触发的生命周期策略所涉及的虚拟机生成备份。备份可通过指导托管虚拟机的生产主机生成备份来生成备份。信息可流式传输到一个或多个远程代理(例如,负责管理流式传输信息的更新的资源分配的动态远程代理)。远程代理可使用流式传输信息来更新备份数据目录。更新备份数据目录可将关于备份的信息添加到备份数据目录。通过这样做,可使用备份数据目录(328,图3)中包括的信息来搜索备份的数据。
方法可在步骤416后结束。
如上所述,出于数据保护目的,发现代理可用来获得虚拟机数据包。图5展示根据本发明的一个或多个实施例的方法的流程图。图5中所描绘的方法可用来根据本发明的一个或多个实施例获得虚拟机数据包。图5中所展示的方法可由例如生产主机(例如,130,图1)来执行。在不脱离本发明的情况下,图1中所说明的系统的其它组件可执行图5的方法的全部或一部分。
虽然图5被说明为一系列步骤,但在不脱离本发明的情况下,可省略步骤中的任一个,按不同的顺序执行,可包括更多步骤,和/或可按并行和/或部分重叠的方式执行步骤中的任一个或全部。
在步骤500,标识主机虚拟机的资产。
在本发明的一个或多个实施例中,主机虚拟机的资产为与由主机虚拟机托管的应用程序相关联的数据结构。主机虚拟机的资产可通过对虚拟机的永久性存储装置进行爬网来标识。当对虚拟机的永久性存储装置进行爬网时,可将存储在永久性存储装置中的数据的标识的部分与资产类型列表进行比较。资产类型列表可指定可用来标识资产的资产中的每一个的特性。举例来说,资产类型列表可包括不同类型资产的标识符。
在本发明的一个或多个实施例中,主机虚拟机为托管标识主机虚拟机的资产的发现代理的虚拟机。在不脱离本发明的情况下,主机虚拟机可为与托管发现代理的虚拟机不同的虚拟机。
在步骤502,标识与资产相关联的应用程序。
在本发明的一个或多个实施例中,基于应用程序对资产的使用、资产的维护和/或资产的生成,将应用程序与资产相关联。在不脱离本发明的情况下,关联可基于其它关系。
在步骤504,对资产的数据变化速率进行采样。
在本发明的一个或多个实施例中,通过在预定时间段内监控资产数据的变化来对资产的数据变化速率进行采样。数据变化速率可通过将变化除以预定时间段来确定。
在步骤506,基于(i)标识的资产、(ii)与资产相关联的应用程序和/或(iii)资产的数据变化速率的样本来生成虚拟机数据包。
在本发明的一个或多个实施例中,虚拟机的数据包为包括关于(i)标识的资产、(ii)与资产相关联的应用程序和/或(iii)资产的数据变化速率的样本的信息的数据结构。在不脱离本发明的情况下,虚拟机数据包可包括可用来预测未来备份负载的更多的、更少的和/或不同的信息。
在步骤508,将虚拟机数据包提供给远程代理。
在本发明的一个或多个实施例中,通过向远程代理发送虚拟机数据包的副本来将虚拟机数据包提供给远程代理。
在本发明的一个或多个实施例中,通过使虚拟机数据包可被远程代理访问来将虚拟机数据包提供给远程代理。举例来说,可通过提供对远程代理的远程访问来使虚拟机数据包可访问。
方法可在步骤508后结束。
图5的方法可由远程代理调用。举例来说,远程代理可向虚拟机托管的发现代理发送指令以执行所述方法。远程代理可在不同时间点发送这类指令。举例来说,当虚拟机最初被设计为远程代理将为其提供数据保护服务的实体时,可向发现代理发送指令。在另一实例中,可在从先前发送指令时起已经过一段时间之后向发现代理发送指令。通过这样做,可获得更新的虚拟机数据包。
在又一实例中,可响应于预定事件向发现代理发送指令。预定事件可为当预测备份负载偏离实际备份负载时。这类事件可指示应获得更新的虚拟机数据包,以提高远程代理的预测准确性。
为了进一步阐明本发明的实施例,在图6.1-6.7中提供非限制性实例。这些图中的每一个可说明在不同时间点的类似于图1中所说明的系统的系统和/或由实例系统所利用的数据结构。为了简洁起见,仅图1的系统的有限数量的组件在图6.1-6.7中的每一个中被说明。
实例
考虑如图6.1中所说明的场景,其中主远程代理(600)将开始向生产主机(610)提供数据保护服务。生产主机(610)托管第一虚拟机(612)、第二虚拟机(620)和第三虚拟机(622)。这些虚拟机中的每一个托管电子邮件应用程序(未展示)和数据库应用程序(未展示)。当操作时,由虚拟机中的每一个托管的电子邮件应用程序生成电子邮件应用程序数据(614),并且数据库应用程序生成数据库应用程序数据(616)。
与这些应用程序相关联的生命周期策略(未展示)指定要为电子邮件应用程序数据(614)动态地生成备份,并且要在每晚11PM至12AM之间为数据库应用程序数据(616)生成备份。为了动态地为电子邮件应用程序数据(614)生成备份,生命周期策略指定每当电子邮件应用程序数据(614)包括1GB的变化(例如,新数据、旧数据的修改、数据的移除等)时,均要生成备份。
为了为生产主机(610)提供数据保护服务,主远程代理(600)在第一虚拟机(612)中实例化发现代理(618)。一旦实例化,主远程代理(600)就指导发现代理(618)提供虚拟机数据包。
响应于来自主远程代理(600)的指令,发现代理(618)将电子邮件应用程序数据(614)和数据库应用程序数据(616)标识为资产。发现代理(618)标识这些资产与电子邮件应用程序和数据库应用程序相关联。另外,发现代理(618)在不同时间段内对这些资产的变化速率进行采样。根据采样,发现代理(618)标识出电子邮件应用程序数据(614)在每天10AM至12PM之间具有非常高的数据变化速率,并且数据库应用程序数据(616)在每天的过程中具有甚至更高的变化速率,从而产生每天需要为数据保护目的而处理的非常大量的数据。
使用前述发现的信息,发现代理(618)生成虚拟机数据包,并且向主远程代理(600)发送虚拟机数据包的副本。
响应于接收到虚拟机数据包,主远程代理(600)生成资源分配日历(602)。如关于图4.1所论述,资源分配日历(602)通过对不同时间段期间的备份负载做出预测来生成。
图6.2展示资源分配日历(602)的图。如从资源分配日历(602)的图中所见,资源分配日历(602)指定与不同时间段相关联的不同资源分配。从10AM至12PM的第一时间段与2个动态远程代理的资源分配相关联。从12PM至11PM的第二时间段与零个动态远程代理的资源分配相关联。从11PM至12AM的第三时间段与3个动态远程代理的资源分配相关联。从12AM至10AM的第四时间段与零个动态远程代理的资源分配相关联。
在建立资源分配日历(602)之后,主远程代理(600)开始使用资源分配日历(602)提供数据保护服务。
在第一天开始时,没有动态远程代理被实例化,如图6.1所展示。没有动态远程代理被实例化,因为从12AM开始的资源分配指定零个动态远程代理正在操作。
随着一天的进展,主远程代理(600)在10AM实例化第一动态远程代理(604)和第二动态远程代理(606),如图6.3所见。主远程代理(600)实例化这些动态远程代理,因为在资源分配日历中从10AM开始指定的时间段指定了包括2个动态远程代理的资源分配。实例化之后,主远程代理(600)将备份工作负载分布给这些远程代理。通过这样做,实例化的动态远程代理能够适当地处理由电子邮件应用程序数据(614)从上午10点开始的非常高的数据变化速率而引起的备份工作负载。
随着一天的进一步进展,主远程代理(600)在12PM终止动态远程代理,如图6.4所见。主远程代理(600)终止这些动态远程代理,因为在资源分配日历中从12PM开始指定的时间段指定了包括零个动态远程代理的资源分配。主远程代理(600)从12PM开始提供数据保护服务,而无需动态远程代理的协助。然而,主远程代理(600)难以跟上由电子邮件应用程序数据(614)引起的备份工作负载。从下午12点开始,电子邮件应用程序数据(614)的变化速率高于预期,从而致使执行更多的备份生成以满足生命周期策略的要求。因此,虚拟机(612、620、622)的操作受到负面影响,因为主远程代理(600)单独不能足够快地处理关于备份的信息以跟上所生成的备份。
当一天进展到晚上11点时,主远程代理(600)实例化第一动态远程代理(604)、第二动态远程代理(606)和第三动态远程代理(608),如图6.5所见。主远程代理(600)实例化这些动态远程代理,因为在资源分配日历中从11PM开始指定的时间段指定了包括3个动态远程代理的资源分配。实例化之后,主远程代理(600)将备份工作负载分布给这些远程代理。通过这样做,实例化的动态远程代理(604、606、608)能够从11PM开始适当地处理由数据库应用程序数据(616)引起的备份工作负载,此时,为了遵从生命周期策略,生成数据库应用程序数据(616)的备份。
在一天结束时,主远程代理(600)指导发现代理(618)提供第二虚拟机数据包。主远程代理(600)向发现代理(618)提供这些指令,因为它确定从12PM至11PM提供数据保护服务会对虚拟机(612、6210、622)的操作产生负面影响。
响应于接收到指令,发现代理(618)生成第二虚拟机数据包,并且向主远程代理(600)提供第二虚拟机数据包。与第一虚拟机数据包相比,第二虚拟机数据包包括数据变化速率样本,所述样本指示从12PM至11PM生成的中等数量的备份。
响应于获得第二虚拟机数据包,主远程代理(600)更新资源分配日历(602),如图6.6所说明。如图6.6所见,资源分配日历(602)指定从12PM至11PM,要使用1个动态远程代理的资源分配。因此,从第二天12PM至11PM,主远程代理(600)实例化第一动态远程代理(604),如图6.7所说明。
实例的结束
如以上实例所展示,根据本发明实施例的系统可动态地为数据保护服务动态分配资源。举例来说,可实例化和/或终止任一数量的动态远程代理。通过这样做,系统可更有效地调配有限的计算资源以向客户端提供服务,同时还在内部提供数据保护服务,从而提高数据存活的可能性以供未来使用。
图1中的组件中的任一个可被实施为分布式计算装置。如本文中所使用,分布式计算装置指由利用一个或多个单独和/或截然不同的计算装置的计算资源的逻辑装置提供的功能性。如上文所论述,本发明的实施例可使用计算装置来实施。图7展示根据本发明的一个或多个实施例的计算装置的图。计算装置(700)可包括一个或多个计算机处理器(702)、非永久性存储装置(704)(例如,易失性存储器,如随机存取存储器(RAM)、高速缓冲存储器)、永久性存储装置(706)(例如,硬盘、如压缩光盘(CD)驱动器或数字通用光盘(DVD)驱动器的光盘驱动器、闪存等)、通信接口(712)(例如,蓝牙接口、红外接口、网络接口、光学接口等)、输入装置(710)、输出装置(708)以及众多其它元件(未展示)和功能性。下文描述这些组件中的每一个。
在本发明的一个实施例中,(一个或多个)计算机处理器(702)可为处理指令的集成电路。举例来说,(一个或多个)计算机处理器可为处理器的一个或多个核心或微核心。计算装置(700)还可包括一个或多个输入装置(710),如触摸屏、键盘、鼠标、麦克风、触控板、电子笔或任一其它类型的输入装置。另外,通信接口(712)可包括集成电路,其将计算装置(700)连接到网络(未展示)(例如,局域网(LAN)、如因特网的广域网(WAN)、移动网络或任一其它类型的网络)和/或连接到另一装置,如另一计算装置。
在本发明的一个实施例中,计算装置(700)可包括一个或多个输出装置(708),如屏幕(例如,液晶显示器(LCD)、等离子显示器、触摸屏、阴极射线管(CRT)监控器、投影仪或其它显示装置)、打印机、外部存储装置或任一其它输出装置。输出装置中的一个或多个可与(一个或多个)输入装置相同或不同。(一个或多个)输入和输出装置可本地或远程连接到(一个或多个)计算机处理器(702)、非永久性存储装置(704)和永久性存储装置(706)。存在许多不同类型的计算装置,并且(一个或多个)前述输入和输出装置可采取其它形式。
本发明的实施例可提供管理数据保护服务的分布式系统的有限计算资源的方法。举例来说,本发明的实施例可提供一种在分布式系统中动态地分配资源的架构。系统可基于对未来备份工作负载的预测来动态地分配资源,所述预测将被执行以满足生命周期策略要求。通过这样做,系统可更有效地调配有限的计算资源,以在遵守数据保护策略的同时向客户端提供服务。
因此,本发明的实施例可解决在分布式系统中计算资源有限的可用性的问题,所述分布式系统出于数据保护目的而依赖于数据冗余。具体地,本发明的实施例可提供一种基于预测的未来备份工作负载来动态地分配分布式系统的资源的方法。
上文论述的问题应被理解为由本文中所公开的本发明的实施例所解决的问题的实例,并且本发明不应限于解决相同/类似问题。所公开的发明可广泛适用于解决超出本文中所论述的那些问题的一系列问题。
本发明的一个或多个实施例可使用由数据管理装置的一个或多个处理器执行的指令来实施。另外,这类指令可对应于存储在一个或多个非暂时性计算机可读介质上的计算机可读指令。
虽然上文已关于有限数量的实施例描述了本发明,但受益于本公开的所属领域的技术人员将了解,可设计出不脱离如本文中所公开的本发明的范围的其它实施例。因此,本发明的范围应仅由随附的权利要求书来限制。

Claims (8)

1.一种用于向虚拟机提供数据保护服务的远程代理,其包含:
永久性存储装置,其用于存储与所述虚拟机相关联的资源分配日历和生命周期策略,其中所述生命周期策略指定何时要为所述虚拟机中的每一个生成备份;和
备份管理器,其被编程以:
从所述虚拟机中的虚拟机获得虚拟机数据包;
基于所述生命周期策略来标识计算负载变化点,其中每个计算负载变化点是由所述生命周期策略指定的何时要为所述虚拟机生成备份的时间点;
至少部分地使用所述虚拟机数据包来标识由所述计算负载变化点划定的每个时间段期间的用于生成备份的相应的计算负载的量值;
更新所述资源分配日历以获得更新的资源分配日历,其中所述更新基于:
标识的多个计算负载变化点,和
所述时间段期间的多个所述计算负载的多个所述量值,其中所述更新的资源分配日历反映满足计算负载中的每一个所需的时间段和对应的资源;和
通过以下方式使用所述更新的资源分配日历为所述虚拟机生成备份:
标识由所述更新的资源分配日历指定的新时间段;
标识与所述新时间段相关联的资源分配;
通过以下方式更新现有资源分配以匹配所述资源分配:
当与所述新时间段相关联的所述资源分配大于与先前时间段相关联的第二资源分配时,实例化利用与所述远程代理的计算资源分开的计算资源的动态远程代理;和
当与所述新时间段相关联的所述资源分配小于与第二先前时间段相关联的第三资源分配时,终止利用与所述远程代理的计算资源分开的第二计算资源的第二远程代理;
标识所述新时间段期间的备份生成事件;和
使用更新的现有资源分配中的资源响应于所述备份生成事件来生成备份。
2.根据权利要求1所述的远程代理,其中所述动态远程代理在所述备份生成事件之前被实例化。
3.根据权利要求1所述的远程代理,其中所述备份管理器被进一步编程以:
在获得所述虚拟机数据包之前:
在所述虚拟机中实例化发现代理;
使用所述发现代理来标识所述虚拟机的资产;
使用所述发现代理来标识与所述资产相关联的应用程序;
使用所述发现代理对所述资产的数据变化速率进行采样;和
至少基于以下内容来生成所述虚拟机数据包:
资产,
应用程序,和
所述数据变化速率的样本。
4.一种用于使远程代理向虚拟机提供数据保护服务的方法,其包含:
从所述虚拟机中的虚拟机获得虚拟机数据包,其中生命周期策略指定何时要为所述虚拟机中的每一个生成备份;
基于与所述虚拟机相关联的生命周期策略来标识计算负载变化点,其中每个计算负载变化点是由所述生命周期策略指定的何时要为所述虚拟机生成备份的时间点;
至少部分地使用所述虚拟机数据包来标识由所述计算负载变化点划定的时间段期间的用于生成备份的相应的计算负载的量值;
更新资源分配日历以获得更新的资源分配日历,其中所述更新基于:
标识的多个计算负载变化点,和
所述时间段期间的所述计算负载的多个所述量值,其中所述更新的资源分配日历反映满足计算负载中的每一个所需的时间段和对应的资源;和
通过以下方式使用所述更新的资源分配日历为所述虚拟机生成备份:
标识由所述更新的资源分配日历指定的新时间段;
标识与所述新时间段相关联的资源分配;
通过以下方式更新现有资源分配以匹配所述资源分配:
当与所述新时间段相关联的所述资源分配大于与先前时间段相关联的第二资源分配时,实例化利用与所述远程代理的计算资源分开的计算资源的动态远程代理;和
当与所述新时间段相关联的所述资源分配小于与第二先前时间段相关联的第三资源分配时,终止利用与所述远程代理的计算资源分开的第二计算资源的第二远程代理;
标识所述新时间段期间的备份生成事件;和
使用更新的现有资源分配中的资源响应于所述备份生成事件来生成备份。
5.根据权利要求4所述的方法,其中所述动态远程代理在所述备份生成事件之前被实例化。
6.根据权利要求4所述的方法,其进一步包含:
在获得所述虚拟机数据包之前:
在所述虚拟机中实例化发现代理;
使用所述发现代理来标识所述虚拟机的资产;
使用所述发现代理来标识与所述资产相关联的应用程序;
使用所述发现代理对所述资产的数据变化速率进行采样;和
至少基于以下内容来生成所述虚拟机数据包:
资产,
应用程序,和
所述数据变化速率的样本。
7.一种包含计算机可读程序代码的非暂时性计算机可读介质,所述计算机可读程序代码当由计算机处理器执行时使所述计算机处理器能够执行用于使远程代理向虚拟机提供数据保护服务的方法,所述方法包含:
从所述虚拟机中的虚拟机获得虚拟机数据包,其中生命周期策略指定何时要为所述虚拟机中的每一个生成备份;
基于与所述虚拟机相关联的生命周期策略来标识计算负载变化点,其中每个计算负载变化点是由所述生命周期策略指定的何时要为所述虚拟机生成备份的时间点;
至少部分地使用所述虚拟机数据包来标识由所述计算负载变化点划定的时间段期间的用于生成备份的相应的计算负载的量值;
更新资源分配日历以获得更新的资源分配日历,其中所述更新基于:
标识的多个计算负载变化点,和
所述时间段期间的所述计算负载的多个所述量值,其中所述更新的资源分配日历反映满足计算负载中的每一个所需的时间段和对应的资源;和
通过以下方式使用所述更新的资源分配日历为所述虚拟机生成备份:
标识由所述更新的资源分配日历指定的新时间段;
标识与所述新时间段相关联的资源分配;
通过以下方式更新现有资源分配以匹配所述资源分配:
当与所述新时间段相关联的所述资源分配大于与先前时间段相关联的第二资源分配时,实例化利用与所述远程代理的计算资源分开的计算资源的动态远程代理;和
当与所述新时间段相关联的所述资源分配小于与第二先前时间段相关联的第三资源分配时,终止利用与所述远程代理的计算资源分开的第二计算资源的第二远程代理;
标识所述新时间段期间的备份生成事件;和
使用更新的现有资源分配中的资源响应于所述备份生成事件来生成备份。
8.根据权利要求7所述的非暂时性计算机可读介质,其中所述动态远程代理在所述备份生成事件之前被实例化。
CN202010390818.4A 2019-05-14 2020-05-09 用于可扩展备份服务的系统和方法 Active CN111949442B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/412,400 US11061732B2 (en) 2019-05-14 2019-05-14 System and method for scalable backup services
US16/412,400 2019-05-14

Publications (2)

Publication Number Publication Date
CN111949442A CN111949442A (zh) 2020-11-17
CN111949442B true CN111949442B (zh) 2024-08-23

Family

ID=70333866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010390818.4A Active CN111949442B (zh) 2019-05-14 2020-05-09 用于可扩展备份服务的系统和方法

Country Status (3)

Country Link
US (1) US11061732B2 (zh)
EP (1) EP3739454A1 (zh)
CN (1) CN111949442B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11562299B2 (en) * 2019-06-18 2023-01-24 Vmware, Inc. Workload tenure prediction for capacity planning
US11288137B2 (en) * 2019-07-12 2022-03-29 EMC IP Holding Company LLC Restorations of virtual machines in virtual systems using a restoration policy

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004171249A (ja) * 2002-11-20 2004-06-17 Hitachi Ltd データベースのバックアップ実行判断方法
US7395244B1 (en) 2004-06-23 2008-07-01 Symantec Corporation Criticality classification system and method
US20070239755A1 (en) 2005-01-10 2007-10-11 Instant Information Inc. Methods and systems for messaging in a collaboration system
US8301772B2 (en) 2007-03-27 2012-10-30 Symantec Corporation Method and apparatus for allocating resources among backup tasks in a data backup system
US8769048B2 (en) 2008-06-18 2014-07-01 Commvault Systems, Inc. Data protection scheduling, such as providing a flexible backup window in a data protection system
US8566821B2 (en) 2008-11-11 2013-10-22 Netapp Inc. Cloning virtual machines
US8510271B1 (en) 2009-03-30 2013-08-13 Symantec Corporation Application and file system data virtualization from image backup
US8191065B2 (en) 2009-04-06 2012-05-29 Red Hat Israel, Ltd. Managing virtual machine images
US9678965B1 (en) 2009-06-29 2017-06-13 Veritas Technologies Llc System and method for enforcing data lifecycle policy across multiple domains
US8849947B1 (en) 2009-12-16 2014-09-30 Emc Corporation IT discovery of virtualized environments by scanning VM files and images
US8943364B2 (en) 2010-04-30 2015-01-27 International Business Machines Corporation Appliance for storing, managing and analyzing problem determination artifacts
US9037547B1 (en) 2010-09-15 2015-05-19 Symantec Corporation Backup time deduplication of common virtual disks from virtual machine backup images
US20120078846A1 (en) 2010-09-24 2012-03-29 Stephen Gold Systems and methods of managing virtual storage resources
US9632875B2 (en) 2010-10-06 2017-04-25 International Business Machines Corporation Automated and self-adjusting data protection driven by business and data activity events
US8479297B1 (en) 2010-11-23 2013-07-02 Mcafee, Inc. Prioritizing network assets
US9100377B2 (en) 2010-12-09 2015-08-04 Fujifilm North America Corporation System and method for providing caching and pre-fetch of assets/media
US8832029B2 (en) * 2011-02-16 2014-09-09 Microsoft Corporation Incremental virtual machine backup supporting migration
US8554918B1 (en) 2011-06-08 2013-10-08 Emc Corporation Data migration with load balancing and optimization
US9658925B1 (en) 2011-10-31 2017-05-23 Veritas Technologies Systems and methods for restoring application data
US11064257B2 (en) 2011-11-07 2021-07-13 Monet Networks, Inc. System and method for segment relevance detection for digital content
US9311375B1 (en) 2012-02-07 2016-04-12 Dell Software Inc. Systems and methods for compacting a virtual machine file
US9104331B2 (en) 2012-09-28 2015-08-11 Emc Corporation System and method for incremental virtual machine backup using storage system functionality
US10353619B1 (en) 2012-06-11 2019-07-16 Veritas Technologies Llc Systems and methods for applying storage lifecycle policies to backups
US9104971B1 (en) * 2012-06-29 2015-08-11 Emc Corporation Automated end-to-end sales process of storage appliances of storage systems using predictive modeling
US8825550B2 (en) * 2012-08-23 2014-09-02 Amazon Technologies, Inc. Scaling a virtual machine instance
US9110844B2 (en) 2012-08-27 2015-08-18 Microsoft Technology Licensing, Llc State maintenance as a service
JP5967215B2 (ja) 2012-11-07 2016-08-10 富士通株式会社 情報処理装置、プログラムおよび仮想マシン移動方法
US9805075B1 (en) * 2012-12-28 2017-10-31 EMC IP Holding Company LLC Method and system for a data protection policy generator
US20140201157A1 (en) * 2013-01-11 2014-07-17 Commvault Systems, Inc. Systems and methods for rule-based virtual machine data protection
US9372638B1 (en) * 2013-02-08 2016-06-21 Veritas Technologies Llc Systems and methods for backing up virtual machine data
US9251115B2 (en) * 2013-03-07 2016-02-02 Citrix Systems, Inc. Dynamic configuration in cloud computing environments
US20160139949A1 (en) * 2013-07-19 2016-05-19 Hewlett-Packard Development Company, L.P. Virtual machine resource management system and method thereof
US9092248B1 (en) 2013-08-21 2015-07-28 Symantec Corporation Systems and methods for restoring distributed applications within virtual data centers
US9519513B2 (en) 2013-12-03 2016-12-13 Vmware, Inc. Methods and apparatus to automatically configure monitoring of a virtual machine
US9256725B2 (en) 2014-02-26 2016-02-09 Emc Corporation Credential recovery with the assistance of trusted entities
US20160048408A1 (en) 2014-08-13 2016-02-18 OneCloud Labs, Inc. Replication of virtualized infrastructure within distributed computing environments
US10204019B1 (en) 2014-09-07 2019-02-12 Nakivo, Inc. Systems and methods for instantiation of virtual machines from backups
US9977704B1 (en) 2014-09-26 2018-05-22 EMC IP Holding Company LLC Automated backup and replication of virtual machine data centers
US10146636B1 (en) 2015-01-15 2018-12-04 Veritas Technologies Llc Disaster recovery rehearsals
US9892003B2 (en) 2015-02-11 2018-02-13 International Business Machines Corporation Method for automatically configuring backup client systems and backup server systems in a backup environment
US9563514B2 (en) 2015-06-19 2017-02-07 Commvault Systems, Inc. Assignment of proxies for virtual-machine secondary copy operations including streaming backup jobs
US9740577B1 (en) 2015-08-31 2017-08-22 EMC IP Holding Company LLC Backing up a virtual machine and restoring from a synthetic full backup
ES2946807T3 (es) 2015-09-01 2023-07-26 Dream It Get It Ltd Recuperación de unidad de medios y procesos relacionados
US10275302B2 (en) * 2015-12-18 2019-04-30 Microsoft Technology Licensing, Llc System reliability by prioritizing recovery of objects
US10242054B2 (en) * 2016-01-12 2019-03-26 International Business Machines Corporation Query plan management associated with a shared pool of configurable computing resources
US10061657B1 (en) 2016-03-23 2018-08-28 EMC IP Holding Company LLC Application intelligent snapshot backups
US10191906B1 (en) * 2016-03-25 2019-01-29 EMC IP Holding Company LLC Creation and implementation of designated time points in a version expiration environment
US11422898B2 (en) 2016-03-25 2022-08-23 Netapp, Inc. Efficient creation of multiple retention period based representations of a dataset backup
US20180032409A1 (en) 2016-07-26 2018-02-01 Netapp, Inc. Backup and recovery of application data of an application executing in a virtual machine
US10254997B2 (en) 2016-08-02 2019-04-09 International Business Machines Corporation System, method, and recording medium for alignment of backup and archival policy
US11023330B2 (en) * 2016-09-02 2021-06-01 Vmware, Inc. Efficient scheduling of backups for cloud computing systems
US10769029B2 (en) 2016-11-18 2020-09-08 International Business Machines Corporation Accessing records of a backup file in a network storage
US10216583B1 (en) 2016-12-02 2019-02-26 Veritas Technologies Llc Systems and methods for data protection using cloud-based snapshots
US10339012B2 (en) 2016-12-14 2019-07-02 Vmware, Inc. Fault tolerant application storage volumes for ensuring application availability and preventing data loss using suspend-resume techniques
CN106802840A (zh) * 2017-01-19 2017-06-06 郑州云海信息技术有限公司 一种虚拟机备份、恢复方法及装置
US10909097B2 (en) 2017-02-05 2021-02-02 Veritas Technologies Llc Method and system for dependency analysis of workloads for orchestration
JP2018185663A (ja) 2017-04-26 2018-11-22 株式会社東芝 電子機器および制御方法
US10664352B2 (en) 2017-06-14 2020-05-26 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
US10331438B2 (en) 2017-10-26 2019-06-25 International Business Machines Corporation Software classification based on custom rules
CN109726038B (zh) * 2017-10-27 2023-12-15 伊姆西Ip控股有限责任公司 用于管理虚拟机的方法和设备
US11108859B2 (en) 2018-07-02 2021-08-31 Accenture Global Solutions Limited Intelligent backup and recovery of cloud computing environment
US10713097B2 (en) 2018-10-03 2020-07-14 International Business Machines Corporation Automatic generation of blueprints for orchestration engines from discovered workload representations
US10768900B2 (en) 2018-12-05 2020-09-08 Sap Se Model-based service registry for software systems
US20200286103A1 (en) 2019-03-04 2020-09-10 Iris.Tv, Inc. Selecting digital media assets based on transitions across categories

Also Published As

Publication number Publication date
US11061732B2 (en) 2021-07-13
CN111949442A (zh) 2020-11-17
EP3739454A1 (en) 2020-11-18
US20200364071A1 (en) 2020-11-19

Similar Documents

Publication Publication Date Title
US10831399B2 (en) Method and system for enabling agentless backup and restore operations on a container orchestration platform
EP3671462B1 (en) System and method for consumption based tagging of resources
US10606709B1 (en) Method and system for intelligently load balancing database backup operations in information technology environments
US11080146B2 (en) System and method for storage unavailability tolerant backup
CN110413369B (zh) 用于虚拟化环境中的备份的系统和方法
US11330078B1 (en) Method and system for managing updates of a data manager
US10884818B2 (en) Increasing processing capacity of virtual machines
US10884845B2 (en) Increasing processing capacity of processor cores during initial program load processing
US10503428B2 (en) System and method for concurrent multipoint backup
CN111949442B (zh) 用于可扩展备份服务的系统和方法
US10698719B2 (en) System and method for virtual machine restoration
US10754368B1 (en) Method and system for load balancing backup resources
CN111949441B (zh) 用于可扩展备份搜索的系统和方法
US10938891B2 (en) Reducing cloud application execution latency
US11119867B1 (en) System and method for backup storage selection
US20200019465A1 (en) System and method for dynamic configuration of backup agents
CN111858150B (zh) 用于大规模数据备份的管理的系统和方法
US10754739B2 (en) System and method for predictive backup in a distributed environment
US10990434B2 (en) Increasing processing capacity of virtual machines for an abnormal event
US11763017B2 (en) Method and system for proactive data protection of virtual machines
US10936443B2 (en) System and method for tag based backup infrastructure
US11531592B1 (en) Method and system for determining favorability of upgrade window
US11768704B2 (en) Increase assignment effectiveness of kubernetes pods by reducing repetitive pod mis-scheduling
US10860437B2 (en) Method and system for performing backups using proxy job assignment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant