CN110955559B - 用于虚拟机资源标记的系统和方法 - Google Patents

用于虚拟机资源标记的系统和方法 Download PDF

Info

Publication number
CN110955559B
CN110955559B CN201910879312.7A CN201910879312A CN110955559B CN 110955559 B CN110955559 B CN 110955559B CN 201910879312 A CN201910879312 A CN 201910879312A CN 110955559 B CN110955559 B CN 110955559B
Authority
CN
China
Prior art keywords
backup
virtual machine
policy
application
restore
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
CN201910879312.7A
Other languages
English (en)
Other versions
CN110955559A (zh
Inventor
希莱仕·乔普拉
默罕默德·A·萨马德
古鲁拉什·库尔卡尼
玛希帕特·库尔卡尼
帕万库玛·阿提
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 CN110955559A publication Critical patent/CN110955559A/zh
Application granted granted Critical
Publication of CN110955559B publication Critical patent/CN110955559B/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/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; 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
    • 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/1456Hardware arrangements for backup
    • 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/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
    • 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
    • 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
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • G06F9/4868Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with creation or replication
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • G06F9/4875Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with migration policy, e.g. auction, contract negotiation
    • 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]
    • 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/5061Partitioning or combining of resources
    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/45575Starting, stopping, suspending or resuming 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

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)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种用于管理虚拟机的远程代理,其包含永久性存储器和备份管理器。所述永久性存储器存储备份/恢复策略。所述备份管理器基于所述备份/恢复策略而生成所述虚拟机的备份。所述远程代理还包含资源标记器,所述资源标记器获得所述虚拟机的对虚拟机的管理请求,响应于获得所述管理请求:执行所述虚拟机的远程资源分析,以获得所述虚拟机的应用设定挡;执行所述应用设定挡的多维应用分析,以识别至少一个标记;以及将所述至少一个标记应用于所述虚拟机。

Description

用于虚拟机资源标记的系统和方法
背景技术
计算装置可存储信息。信息可反映用户输入的信息。因此,信息对于用户可能是重要的。
例如,用户可将信息键入数据库,可将数据添加到电子数据表,或可草拟电子邮件。用户和社区装置之间的这些交互中的每一个可使得对用户重要的信息存储在计算装置中。
发明内容
在一个方面,根据本发明的一个或多个实施例的用于管理虚拟机的远程代理包含永久性存储器和备份管理器。永久性存储器存储备份/恢复策略。备份管理器基于备份/恢复策略而生成虚拟机的备份。远程代理还包含资源标记器,所述资源标记器获得虚拟机的对虚拟机的管理请求,响应于获得管理请求:执行虚拟机的远程资源分析以获得虚拟机的应用设定挡;执行应用设定挡的多维应用分析,以识别至少一个标记;以及将至少一个标记应用于虚拟机。
在一个方面,根据本发明的一个或多个实施例的用于管理虚拟机的方法包括获得虚拟机的对虚拟机的管理请求,响应于获得管理请求:执行虚拟机的远程资源分析以获得虚拟机的应用设定挡;执行应用设定挡的多维应用分析,以识别至少一个标记;将至少一个标记应用于虚拟机;以及基于备份/恢复策略和至少一个标记两者而生成虚拟机的备份。
在一个方面,根据本发明的一个或多个实施例的非暂时性计算机可读媒体包含计算机可读程序代码,所述代码在由计算机处理器执行时使所述计算机处理器执行用于管理虚拟机的方法。方法包含获得虚拟机的对虚拟机的管理请求,响应于获得管理请求:执行虚拟机的远程资源分析,以获得虚拟机的应用设定挡;执行应用设定挡的多维应用分析以识别至少一个标记;将至少一个标记应用于虚拟机;以及基于备份/恢复策略和至少一个标记而生成虚拟机的备份。
附图说明
将参看附图描述本发明的某些实施例。然而,所述附图仅通过实例说明本发明的某些方面或实施方式,且并不打算限制权利要求书的范围。
图1展示根据本发明的一个或多个实施例的系统的图式。
图2A展示根据本发明的一个或多个实施例的实例生产主机的图式。
图2B展示根据本发明的一个或多个实施例的虚拟机的图式。
图3A展示根据本发明的一个或多个实施例的实例远程代理的图式。
图3B展示根据本发明的一个或多个实施例的实例备份/恢复策略的图式。
图4A展示根据本发明的一个或多个实施例的管理虚拟机的方法的流程图。
图4B展示根据本发明的一个或多个实施例的执行虚拟机的远程资源分析以获得应用设定挡的方法的流程图。
图4C展示根据本发明的一个或多个实施例的执行应用设定挡的多维应用分析以识别标记的方法的流程图。
图5展示根据本发明的一个或多个实施例的修改与虚拟机相关联的标记的方法的流程图。
图6A展示在第一时间点处的实例系统的图式。
图6B展示在第二时间点处的图6A的实例系统的图式。
图6C展示在第三时间点处的图6A的实例系统的图式。
图7展示根据本发明的一个或多个实施例的计算装置的图式。
具体实施方式
现将参看附图来描述具体实施例。在以下描述中,将众多细节阐述为本发明的实例。所属领域的技术人员应理解,可在无这些具体细节的情况下实践本发明的一个或多个实施例,且在不脱离本发明的范围的情况下,众多变化或修改可以是可能的。省略所属领域的一般技术人员已知的某些细节,以避免混淆描述。
在所述图的以下描述中,在本发明的各种实施例中,关于一个图描述的任一组件可等效于关于任一其它图描述的一个或多个相似命名的组件。为简洁起见,将不关于每一个图来重复这些组件的描述。因此,每一图的组件的每一个实施例以引用的方式并入,且假定任选地存在于具有一个或多个相似命名的组件的每一其它图内。另外,根据本发明的各种实施例,图的组件的任何描述应解释为任选实施例,所述任选实施例可除了关于任一其它图中的对应的相似命名组件描述的实施例外再实施,与所述实施例一起实施,或代替所述实施例加以实施。
一般而言,本发明的实施例涉及用于管理虚拟机的系统、装置以及方法。更具体地,系统、装置以及方法可通过确保虚拟机的备份存储在备份存储器中来管理虚拟机。
在本发明的一个或多个实施例中,系统包含基于由虚拟机托管的应用程序的自动标记过程。应用程序可用作虚拟机相对于备份目的的相对重要性的间接指示符。较多资源可专用于备份高(或相对高)重要性虚拟机,且较少资源可专用于备份低(或相对低)重要性虚拟机。以这种方式,本发明的实施例可确保提供给虚拟机的用户的服务质量,同时确保向虚拟机提供最低级别的备份服务。
图1展示根据本发明的一个或多个实施例的实例系统。系统可包含从由生产主机(130)托管的虚拟机获得服务的客户端(140)。关于生产主机的额外细节参见例如图2A。关于虚拟机的额外细节参见例如图2B。
远程代理(110)可编排备份存储器(120)中的虚拟机的备份的生成和存储。远程代理(110)可基于应用于虚拟机的标记而生成备份。
远程代理(110)可监视虚拟机且将标记应用于虚拟机。在本发明的一个或多个实施例中,远程代理(110)执行图4A到5中所说明的方法以标记虚拟机、生成虚拟机的备份且存储虚拟机的备份。图6A到6C中说明根据图4A到5的方法来管理虚拟机的实例(包含生成备份)。
远程代理(110)可通过执行备份工作流来生成备份。工作流可由备份/恢复策略指定。关于备份/恢复策略的额外细节参见例如图3B。
图1的系统的每个组件可经由有线和无线连接的任何组合可操作地连接。下文论述图1的系统的每一组件。
客户端(140)可以是计算装置。计算装置可以是(例如)移动电话、平板计算机、笔记本电脑、台式计算机、服务器或云资源。计算装置可包含一个或多个处理器、存储器(例如,随机存取存储器)以及永久性存储器(例如,磁盘驱动器、固态驱动器等)。永久性存储器可存储计算机指令,例如计算机代码,所述计算机指令在由计算装置的处理器执行时使计算装置执行在本申请中描述的功能。在不脱离本发明的情况下,客户端(140)可以是其它类型的计算装置。关于计算装置的额外细节参见例如图7。
客户端(140)可与由生产主机(130)托管的应用程序交互。举例来说,应用程序可以是数据库、电子邮件服务器或任何其它类型的应用程序。客户端(140)可利用由这些应用程序的实例或由生产主机(130)托管的其它应用程序类型提供的服务。通过利用应用程序的服务,可将对客户端(140)重要的数据存储为生产主机(130)上或其它位置处的每个相应应用程序的应用数据的部分。
举例来说,生产主机可托管电子邮件应用程序。客户端中的一个可通过经由电子邮件应用程序接收和发送电子邮件来利用电子邮件应用程序的服务。客户端的电子邮件的副本可存储为电子邮件应用程序数据的部分。通过这样做,电子邮件应用程序可以对客户端重要的电子邮件的形式托管数据。
在本发明的一个或多个实施例中,应用程序由虚拟机托管。虚拟机可由生产主机托管。以这种方式,不同的客户端可由不同的虚拟机提供不同的服务,所述不同的虚拟机又由不同的生产主机托管。
在本发明的一个或多个实施例中,生产主机(130)是计算装置。计算装置可以是(例如)移动电话、平板计算机、笔记本电脑、台式计算机、服务器、分布式计算系统或云资源。计算装置可包含一个或多个处理器、存储器(例如,随机存取存储器)以及永久性存储器(例如,磁盘驱动器、固态驱动器等)。永久性存储器可存储计算机指令,例如计算机代码,所述计算机指令在由计算装置的处理器执行时使计算装置执行在本申请中描述的功能和在图4A到5中说明的方法的全部或其一部分。在不脱离本发明的情况下,生产主机(130)可以是其它类型的计算装置。关于计算装置的额外细节参见例如图7。
在本发明的一个或多个实施例中,生产主机(130)是分布式计算装置。如本文中所使用,分布式计算装置是指由利用一个或多个单独和/或截然不同的计算装置的计算资源的逻辑装置提供的功能性。举例来说,在本发明的一个或多个实施例中,生产主机(130)可以是分布式装置,所述分布式装置包含跨任何数目个单独和/或截然不同的计算装置分布的组件。在此类情境中,在不脱离本发明的情况下,生产主机(130)的功能性可由多个不同计算装置执行。
在本发明的一个或多个实施例中,生产主机(130)托管虚拟机。每个虚拟机可托管任何数目的应用程序。应用程序可向客户端(140)或任何其它实体提供服务。关于生产主机(130)的额外细节参见例如图2A。
在本发明的一个或多个实施例中,远程代理(110)是计算装置。计算装置可以是(例如)移动电话、平板计算机、笔记本电脑、台式计算机、服务器、分布式计算系统或云资源。计算装置可包含一个或多个处理器、存储器(例如,随机存取存储器)以及永久性存储器(例如,磁盘驱动器、固态驱动器等)。永久性存储器可存储计算机指令,例如计算机代码,所述计算机指令在由计算装置的处理器执行时使计算装置执行在本申请中描述的远程代理(110)的功能和在图4A到5中说明的方法的全部或其一部分。在不脱离本发明的情况下,远程代理(110)可以是其它类型的计算装置。关于计算装置的额外细节参见例如图7。
在本发明的一个或多个实施例中,远程代理(110)是分布式计算装置。如本文中所使用,分布式计算装置是指由利用一个或多个单独和/或截然不同的计算装置的计算资源的逻辑装置提供的功能性。举例来说,在本发明的一个或多个实施例中,远程代理(110)可以是分布式装置,其包含跨任何数目个单独和/或截然不同的计算装置分布的组件。在此类情境中,在不脱离本发明的情况下,远程代理(110)的功能性可由多个不同计算装置执行。
在本发明的一个或多个实施例中,远程代理(110)编排由生产主机(140)托管的虚拟机的备份生成恢复。举例来说,远程代理(110)可通过首先识别每个虚拟机的相对优先级,且然后使用所识别的虚拟机的相对优先级以生成虚拟机的备份来编排虚拟机的备份的生成。
在本发明的一个或多个实施例中,远程代理(110)基于由相应虚拟机托管的应用程序来识别每个虚拟机的相对优先级。举例来说,不同类型的应用程序指示每个虚拟机的相对优先级的差异。当与图像服务器相比,数据库可例如保证用于备份目的的优先级排序。
在本发明的一个或多个实施例中,远程代理(110)对由虚拟机托管的应用程序执行多维分析,以确定用于备份生成目的的虚拟机的相对优先级。如下面将更详细讨论的,虚拟机的不同应用程序或其它特征可指示用于备份生成目的的不同优先级。通过这样做,本发明的一个或多个实施例可有效地编组分布式系统的有限计算资源以用于备份生成目的。相比之下,当代系统(即本发明的实施例)可连续地执行这一分析,且由此根据系统的变化而连续地改变分布式系统的备份生成行为。
在本发明的又一个实施例中,远程代理(110)还可为生产主机(140)的虚拟机提供恢复服务。恢复虚拟机可将虚拟机的状态改为由存储在备份存储器中的一个或多个备份所代表的先前状态。关于远程代理的其它细节参见例如图3A。
在本发明的一个或多个实施例中,备份存储器(120)是计算装置。计算装置可以是(例如)移动电话、平板计算机、笔记本电脑、台式计算机、服务器、分布式计算系统或云资源。计算装置可包含一个或多个处理器、存储器(例如,随机存取存储器)以及永久性存储器(例如,磁盘驱动器、固态驱动器等)。永久性存储器可存储计算机指令,例如计算机代码,所述计算机指令在由计算装置的处理器执行时使计算装置提供通过本申请描述的备份存储器(120)的功能性和在图4A到4B中说明的方法的全部或其一部分。关于计算装置的额外细节参见例如图7。
在本发明的一个或多个实施例中,备份存储器(120)是分布式计算装置。如本文中所使用,分布式计算装置是指由利用一个或多个单独和/或截然不同的计算装置的计算资源的逻辑装置提供的功能性。举例来说,在本发明的一个或多个实施例中,备份存储装置(120)可以是分布式装置,其包含跨任何数目个单独和/或分开的计算装置分布的组件。在此类情境中,在不脱离本发明的情况下,备份存储器(120)的功能性可由多个不同计算装置执行。
在本发明的一个或多个实施例中,备份存储器(120)存储来自生产主机(130)的数据。数据可以是例如虚拟机图像、增量备份、应用图像或应用程序的增量备份。其它类型的备份可存储在备份存储器(120)中,而无需本发明的一方。在不脱离本发明的情况下,可将任何数量的备份数据存储在备份存储器(120)中。备份数据可与从中获得备份数据的相应应用程序或虚拟机相关联。
在本发明的一个或多个实施例中,备份存储器(120)针对存储在备份存储器中的现有数据对备份数据进行重复数据删除。通过对备份数据进行重复数据删除,当与存储备份数据而不进行重复数据删除相比,可增加备份存储器中可存储的数据量。为了对备份数据进行重复数据删除,备份存储器(120)可仅存储备份数据的唯一部分的副本。当存储备份数据时,可首先检查数据以确定其是否是已经存储在备份存储器中的重复数据。仅数据的唯一部分可存储在备份存储器中。存储和存取经过重复数据消除的备份数据可能比存储未经过重复数据删除的备份数据消耗显著要多的计算资源。
如上文所论述,备份存储器可存储从生产主机(130)获得的数据。图2A展示根据本发明的一个或多个实施例的实例生产主机(200)的图式。
在本发明的一个或多个实施例中,实例生产主机(200)托管虚拟机(210)。虚拟机(210)可托管任何数目个应用程序,如将参考图2B更详细地描述。在不脱离本发明的情况下,每个虚拟机(210A,210N)可托管相似或不同的应用程序。
在本发明的一个或多个实施例中,实例生产主机(200)包含超管理器(220)。超管理器(220)可将计算资源分配给虚拟机(210)。举例来说,超管理器(220)可专用于处理器周期、存储器空间以及存储空间以供虚拟机(210)使用。
在本发明的一个或多个实施例中,超管理器(220)是包含电路的硬件装置。超管理器(220)可以是例如数字信号处理器、现场可编程门阵列或专用集成电路。在不脱离本发明的情况下,超管理器(220)可以是其它类型的硬件装置。
在本发明的一个或多个实施例中,超管理器(220)实施为存储在永久性存储器上的计算代码,所述计算代码在由处理器执行时执行超管理器(220)的功能性。处理器可以是包含电路的硬件处理器,例如中央处理单元或微控制器。在不脱离本发明的情况下,处理器可以是用于处理数字信息的其它类型的硬件装置。
在本发明的一个或多个实施例中,实例生产主机(200)包含生产代理(222)。生产主机(222)可编排由实例生产主机(200)托管的实体的备份的生成。举例来说,生产代理(222)可编排由虚拟机托管的虚拟机或应用程序的备份的生成。当编排备份的生成时,生产代理(222)可执行图4A到5中所说明的方法的全部或一部分。
在本发明的一个或多个实施例中,生产代理(222)是包含电路的硬件装置。生产代理(222)可以是(例如)数字信号处理器、现场可编程门阵列或专用集成电路。在不脱离本发明的情况下,生产代理(222)可以是其它类型的硬件装置。
在本发明的一个或多个实施例中,生产代理(222)实施为存储在永久性存储器上的计算代码,所述计算代码在由处理器执行时执行生产代理(222)的功能性。处理器可以是包含电路的硬件处理器,例如中央处理单元或微控制器。在不脱离本发明的情况下,处理器可以是用于处理数字信息的其它类型的硬件装置。
如上所述,生产主机可托管虚拟机。图2B展示根据本发明的一个或多个实施例的实例虚拟机(230)的图式。实例虚拟机(230)可以是利用一个或多个生产主机的计算资源的虚拟化实体。实例虚拟机(230)可托管任何数目个应用程序(234)。应用程序(234)可以是例如事务数据库、电子邮件服务器、文件存储器或可向客户端提供服务的任何其它类型的应用程序。应用程序(234)可向脱离本发明的其它实体提供服务。
应用程序(234)可利用托管应用程序的虚拟机上的计算资源。计算资源可转而从托管虚拟机的生产主机分配给托管应用程序的虚拟机。
如上所述,远程代理可在备份存储器中编排生产主机数据的存储器。图3A展示根据本发明的一个或多个实施例的实例远程代理(300)的图式。
在本发明的一个或多个实施例中,实例远程代理(300)编排来自备份存储器中的生产主机的数据存储。类似地,实例远程代理(300)可使用存储在备份存储器中的数据来编排生产主机的恢复。
在本发明的一个或多个实施例中,实例远程代理(300)对虚拟机的备份进行优先级排序。换句话说,实例远程代理(300)可通过其它虚拟机向一些虚拟机优先地提供备份服务。
在本发明的一个或多个实施例中,实例远程代理(300)至少部分地基于由相应虚拟机托管的应用程序来对虚拟机的备份进行优先级排序。举例来说,由相应虚拟机托管的一些应用程序可指示用于虚拟机的备份生成目的的较高优先级。
为了提供上述功能性,实例远程代理(300)包含存储管理器(310)、标记器(315)以及永久性存储器(320)。实例远程代理(300)的每个组件如下所述。
在本发明的一个或多个实施例中,存储管理器(310)编排备份的生成和恢复的执行,如上所述。为了提供前述功能性,备份管理器(310)可执行图4A到5中所说明的方法的全部或一部分。
举例来说,存储管理器(310)可根据存储在备份/恢复策略(322)中的备份策略来执行备份生成。备份策略可指定工作流执行备份。
在本发明的一个或多个实施例中,备份/恢复策略(322)的备份策略可键入到由用户应用于虚拟机的标记。换句话说,当用户通过客户端或其它实体与虚拟机交互时,用户可将标记应用于虚拟机。标记可以是例如关于虚拟机的元数据。标记可以指示由用户归属的虚拟机的特征。用户可将任何数目个标记应用于虚拟机。由于包含自定义标记的多样性可用标记,可能并不总是存在键入到用户可归于虚拟机的所有可能标记的备份策略。因此,从存储管理器(310)的角度来看,一些虚拟机可能没有用相关标记进行标记。
在此类情境中,存储管理器(310)可自动实例化且执行虚拟机的备份策略。当这样做时,存储管理器(310)可利用来自存储在永久性存储器(320)中的原型策略存储库(324)的原型策略。如在下面更详细地讨论,原型策略存储库(324)可指定要应用于实体的策略,相关标记对所述实体来说不可用。通过这样做,本发明的实施例可确保将备份服务的基线级别提供给由生产主机托管的所有虚拟机或其它实体。
在本发明的一个或多个实施例中,存储管理器(310)是包含电路的硬件装置。存储管理器(310)可以是例如数字信号处理器、现场可编程门阵列或专用集成电路。在不脱离本发明的情况下,存储管理器(310)可以是其它类型的硬件装置。
在本发明的一个或多个实施例中,存储管理器(310)实施为存储在永久性存储器上的计算代码,所述计算代码在由处理器执行时执行存储管理器(310)的功能性。处理器可以是包含电路的硬件处理器,例如中央处理单元或微控制器。在不脱离本发明的情况下,处理器可以是用于处理数字信息的其它类型的硬件装置。
在本发明的一个或多个实施例中,资源标记器(315)自动将标记应用于待由实例远程代理(300)管理的资源。举例来说,实例远程代理(300)自动分析虚拟机并将标记应用于虚拟机以确保相关的备份策略键入到虚拟机。通过这样做,本发明的实施例可确保或以其它方式提高与虚拟机的重要性一致地且相称地生成的虚拟机的备份的可能性。为了提供前述功能性性,资源标记器(315)可执行图4A到5中所说明的方法的全部或一部分。
举例来说,资源标记器(315)可基于存储在永久性存储器(320)中的标记策略(324)而将标记应用于虚拟机或其它实体。标记策略(324)可以指定何时以及将什么类型的标记应用于虚拟机或其它实体。
在本发明的一个或多个实施例中,资源标记器(315)可在虚拟机实例化或另外变得为实例远程代理(300)所知时将标记应用于虚拟机。举例来说,当为实例远程代理(300)编排备份生成的生产主机迁移虚拟机时,实例远程代理(300)可基于标记策略(324)将任何数目个标记应用于虚拟机。通过这样做,本发明的实施例确保实例远程代理(300)提供备份服务的每个实体以键入到备份/恢复策略(322)的方式加以标记。因此,本发明的实施例可提高可能性,或以其它方式确保由实例远程代理(300)管理的实体的备份定期地和/或与实体的重要性相称地生成。
在本发明的一个或多个实施例中,资源标记器(315)是包含电路的硬件装置。资源标记器(315)可以是例如数字信号处理器、现场可编程门阵列或专用集成电路。在不脱离本发明的情况下,资源标记器(315)可以是其它类型的硬件装置。
在本发明的一个或多个实施例中,资源标记器(315)实施为存储在永久性存储器上的计算代码,所述计算代码在由处理器执行时执行资源标记器(315)的功能性。处理器可以是包含电路的硬件处理器,例如中央处理单元或微控制器。在不脱离本发明的情况下,处理器可以是用于处理数字信息的其它类型的硬件装置。
在本发明的一个或多个实施例中,永久性存储器(320)是存储数据结构的存储装置。永久性存储装置(320)可以是物理或逻辑装置。举例来说,永久性存储器(320)可包含固态驱动器、固态驱动器、磁带驱动器和其它组件以提供数据存储功能性。替代地,永久性存储器(320)可以是利用其它组件的物理计算资源的虚拟装置,以提供数据存储功能性。
在本发明的一个或多个实施例中,永久性存储器(320)存储备份/恢复策略(322)、标记策略(324)和原型策略存储库(326)。这些数据结构中的每一个如下所述。
备份/恢复策略(322)可以是指定用于生成备份且执行实体的恢复的工作流的数据结构。备份/恢复策略(322)的策略可指定工作流的任何数目个特征,包括但不限于何时生成备份、何处存储备份以及存储的冗余。
标记策略(324)可以是指定待基于应用设定挡而应用的标记的数据结构。举例来说,标记策略(324)可指定待应用于虚拟机或其它实体的标记,所述标记具有由标记策略的对应策略指定的特征。由标记策略(324)的每个策略指定的标记可以是唯一的或与其它标记类似。
原型策略存储库(326)可以是指定备份策略原型的数据结构。在没有备份服务将应用于实体的情境,实例远程代理(300)可基于原型策略存储库(326)自动地实例化策略,以确保给予所述实体最低级别的备份服务。原型策略存储库(326)可基于任何基础而指定策略。举例来说,可将策略指定为组织级别。换句话说,不同的组织可指定为所有资源提供最低级别的备份服务。在不脱离本发明的情况下,原型策略存储库(326)包含在不同基础上指定的策略。
如上所述,远程代理可根据备份策略而执行备份。图3B展示根据本发明的一个或多个实施例的实例备份/恢复策略(350)的图式。如图3B所见,实例备份/恢复策略(350)至少包含基于标记的策略(352)和其它策略(354)。这些类型的策略中的每一个如下所述。
在本发明的一个或多个实施例中,基于标记的策略(352)为用特定标记加以标记的实体指定备份工作流。举例来说,基于标记的备份策略可为工作流指定称为高优先级的标记。工作流可指定何时生成备份、何处存储备份、所存储备份的保留时间、所存储备份的冗余级别以及可能影响用于存储备份的工作流的任何其它参数。称为高优先级的标记可以是例如由用户选择的任意字符串。或者,称为高优先级的标记可以是例如由资源标记器应用的标记。在任一情境下下,由基于标记的备份策略指定的备份工作流可管理为用称为高优先级的标记加以标记的实体生成的备份。
在本发明的一个或多个实施例中,其它策略(354)在非标记基础上指定实体的工作流。换句话说,其它策略(354)可键入到除标记之外的实体的特征。
在本发明的一个或多个实施例中,其它策略(354)指定笼统工作流(catchallworkflow)。举例来说,笼统工作流可应用于所有其它策略不适用的任何实体。以这种方式,本发明的实施例可向尚未标记的实体提供备份服务,且因此自动地向所有实体提供最低级别的备份服务。因此,本发明的实施例可减少用户用于指定备份策略和/或标记实体的认知负担,所述实施例通过提供备份服务而间接地指定实体的备份策略而无需用户指定。
尽管图3B中所说明的实例备份/恢复策略(350)展示为单独的数据结构,但在不脱离本发明的情况下,实例备份/恢复策略(350)可与存储在其它位置的其它数据一起存储,可划分为任何数目个数据结构,和/或跨越任何数目个装置。
如上所述,除了其它功能之外,图1的系统的组件可执行用于生成应用程序或其它实体的备份以及执行这些实体/应用程序的修复的方法。图4A到5展示根据本发明的一个或多个实施例的可由图1的系统的组件执行的方法。
图4A展示根据本发明的一个或多个实施例的方法的流程图。图4A中描绘的方法可用以生成根据本发明的一个或多个实施例的实体的备份。图4A中展示的方法可由例如远程代理(例如110,图1)执行。在不脱离本发明的情况下,图1中说明的系统的其它组件可执行图4A的方法。
在步骤400中,获得虚拟机的管理请求。
在本发明的一个或多个实施例中,请求获得于为由执行图4A的方法的远程代理管理的生产主机实例化或迁移的虚拟机。
为了更多本发明的实施例,管理请求指定虚拟机的标识。标识可包含例如虚拟机的标识符、虚拟机的网络标识符和/或远程代理可用来将虚拟机与其它虚拟机区分开的任何其它信息。
在步骤402中,执行虚拟机的远程资源分析以获得虚拟机的应用设定挡。
在本发明的一个或多个实施例中,通过向托管虚拟机的生产主机的生产代理发送请求来执行远程资源分析。一旦接收到请求,则生产主机在托管虚拟机的主机上本地编排远程资源分析的执行。
在本发明的一个或多个实施例中,远程资源分析使得应用报告由托管虚拟机的生产主机生成。举例来说,应用报告可指定由虚拟机托管的每个应用程序。应用报告可发送到远程代理或其它实体。
在本发明的一个或多个实施例中,虚拟机的应用设定挡指定由虚拟机托管的应用程序的计费。在本发明的一个或多个实施例中,计费包含由虚拟机托管的每个应用程序随时间使用的计算资源的数量。计费时间段可以是例如一天,七天,30天或90天。在不脱离本发明的情况下,计费时间段可以是其它时间段。
在本发明的另一个实施例中,虚拟机的应用设定挡指定由虚拟机托管的应用程序中的每个应用程序的类型。举例来说,每个应用程序的类型可基于每个应用程序的相对速率资源消耗。应用设定挡中可能不包含每个应用程序的标识。通过这样做,本发明的实施例可确保生产主机应用程序的标识保密,甚至对图1的系统的其它实体也是如此。因此,本发明的实施例在整个系统中保持对数据隐私问题的严格安全要求,同时仍提供由生产主机托管的适当级别的备份服务应用程序。
在本发明的一个或多个实施例中,经由图4B中所说明的方法执行虚拟机的远程资源分析。在不脱离本发明的情况下,可经由其它方法执行远程资源分析。
在步骤404中,执行在步骤402中获得的应用设定挡的多维应用分析以识别至少一个标记。
在本发明的一个或多个实施例中,使用标记策略来选择至少一个标记。举例来说,由虚拟机的应用设定挡识别的应用程序可与标记策略的策略匹配。每个匹配的标记策略可转而依次指定标记。由匹配的标记策略指定的每个标记可识别为至少一个标记。
在本发明的另一个实施例中,经由图4C所说明的方法执行多维应用分析。可以在不脱离本发明的情况下以其它方法执行多维应用分析。
在步骤406中,将至少一个标记应用于虚拟机。
在本发明的另一个实施例中,通过修改与虚拟机相关联的元数据来向虚拟机提供至少一个标记,以反映至少一个标记。举例来说,如果至少一个标记是低优先级,则可修改与虚拟机相关联的元数据以包含名称低优先级。在不脱离本发明的情况下,可在步骤406中将任何数目个标记应用于虚拟机。举例来说,至少一个标记实际上可以是多个标记。
在步骤408中,基于备份/恢复策略和至少一个标记而生成虚拟机的备份。
在本发明的一个或多个实施例中,当触发键入到至少一个标记的备份/恢复策略的备份策略时,生成虚拟机的备份。当触发备份策略时,可执行虚拟机的备份会话。具体地说,远程代理且通过在托管虚拟机的生产主机上为生产代理发送适当的命令来编排备份生成策略。在远程代理的指导下,生产代理且编排虚拟机的备份的生成和存储。备份可存储在备份存储中。
在本发明的一个或多个实施例中,可同时触发多个备份策略。在此类情境下,可生成复合工作流以根据所有触发的策略而生成备份。可使用默认或自定义规则来解决备份策略之间的冲突。举例来说,默认规则可以是使用备份策略的哪个参数更具限制性。可在不脱离本发明的情况下使用其它默认规则。自定义规则可由客户端、系统管理员或系统的其它用户提供。可作为步骤408的一部分执行复合工作流,而不是由任何数目个并发触发的备份策略指定的所有单独工作流。
在本发明的一个或多个实施例中,当触发多个备份策略时,一个策略的一部分将越控另一策略的一部分。例如,基于默认或自定义规则,将越控比第二备份策略的参数限制性更小的第一备份策略的参数。以这种方式,可生成复合工作流。
方法可在步骤408后结束。
图4B展示根据本发明的一个或多个实施例的方法的流程图。根据本发明的一个或多个实施例,图4B中描绘的方法可用以执行虚拟机的远程资源分析。在图4B中展示的方法可由例如远程代理(例如110,图1)执行。在不脱离本发明的情况下,图1中说明的系统的其它组件可执行图4B的方法。
在步骤410中,识别在虚拟机上执行的应用程序。
在本发明的一个或多个实施例中,经由执行托管虚拟机的主机的生产代理来识别应用程序。生产代理可通过扫描虚拟机的执行资源来识别应用程序。例如,执行应用程序并在虚拟机的操作系统中注册。生产代理且向操作系统发送请求以获得外部实体或先前执行的实体的列表。生产代理可将在虚拟机上执行的应用程序列表发送到远程代理。
在步骤412中,将应用程序分类以识别应用设定挡的第一维度。
在本发明的一个或多个实施例中,基于应用程序的计算资源消耗级别而对应用程序进行分类。举例来说,应用程序的类型可用作应用程序的计算资源消耗级别的代理。通常消耗大量计算资源的应用程序(例如,数据库)可能具有高分类。相反,通常消耗少量计算资源的应用程序(例如,即时消息传递服务)可能具有低分类。在不脱离本发明的情况下,可使用其它分类应用程序的方法。
应用设定挡的第一维度可基于分类。应用设定挡可包含任何数目个维度。每个维度可表示应用程序的类型。举例来说,第一维度可以是数据库应用程序,即高资源消耗应用程序类型,且第二维度可以是消息传递应用程序,即低资源消耗应用程序类型。随着所述类型的应用程序的数量增加,可增加与所述维度相关联的评级。举例来说,托管两个数据库应用程序和即时消息应用程序的应用程序可包含两个维度,一个用于数据库,且一个用于消息传递应用程序。数据库维度可能是应用设定挡中的消息传递维度的两倍大。或者,可基于与应用程序类型相关联的乘数来进一步缩放数据库维度。例如,数据库应用程序的资源消耗量可认为是消息传递应用程序的两倍。在不脱离本发明的情况下,可以使用其它加权维度的方法。
在本发明的一个或多个实施例中,应用设定挡是匿名数据。换句话说,维度可能与实际应用无关。相反,维度可表示应用程序的一般类别,且每个维度的对应幅值可表示产生每个维度的应用程序的相对数量的基数或其它量化。
在步骤414中,基于第一维度而更新应用设定挡。换句话说,可基于步骤410和412的分析而更新应用设定挡。
方法可在步骤414之后。
对在虚拟机上执行的任何数目个应用程序来说可重复图4B的方法。通过这样做,可生成代表在虚拟机上执行的所有应用程序的应用设定挡。
图4C展示根据本发明的一个或多个实施例的方法的流程图。根据本发明的一个或多个实施例,图4C中描绘的方法可用以执行虚拟机的多维分析。图4C中展示的方法可由例如远程代理(例如110,图1)执行。在不脱离本发明的情况下,图1中说明的系统的其它组件可执行图4C的方法。
在步骤420中,识别与应用设定挡的第一维度相关联的第一标记。
在本发明的一个或多个实施例中,使用标记策略来识别第一标记。举例来说,标记策略可为每个类型和每个维度的幅值指定标记。
在步骤422中,识别与应用设定挡的第二维度相关联的第二标记。可与第一标记类似地识别第二标记。举例来说,第二维度可与指定第二标记的标记策略匹配。
虽然说明为两个步骤,但步骤420和422可根据需要重复多次以识别应用设定挡的每个维度的标记。以这种方式,可识别任何数目个标记。
在步骤424中,将第二标记中的第一标记用作至少一个标记。换句话说,基于用于虚拟机的应用设定挡的维度而识别的任何数目个标记可随后用于标记目的。
方法可在步骤424之后。
如上所述,可动态地改变应用于虚拟机的标记。在某些情况下,可添加和/或清除标记。
图5展示根据本发明的一个或多个实施例的方法的流程图。图5中描绘的方法可用于根据本发明的一个或多个实施例基于实体状态的变化来修改应用于实体的标记。图5中所展示的方法可由例如远程代理(例如110,图1)执行。在不脱离本发明的情况下,图1中说明的系统的其它组件可执行图5的方法。
在步骤500中,获得虚拟机状态改变。
在本发明的一个或多个实施例中,虚拟机状态改变反映了对虚拟机状态的改变。举例来说,状态可以是虚拟机的执行状态的改变。
在步骤502中,识别由虚拟机状态改变影响的标记。
在本发明的一个或多个实施例中,标记未由用户应用。相反,标记可能已由远程代理自动应用,以实现备份服务一致性目的。
在步骤504中,清除受虚拟机状态改变影响的标记。换句话说,当状态虚拟机改变时,可自动清除由系统应用的标记。
方法可在步骤504之后。
为了进一步澄清本发明的实施例,在图6A到6C中提供非限制性实例。
实例
考虑如图6A所说明的情境,其中远程代理(600)向虚拟机(600)提供备份服务。虚拟机(600)可托管数据库应用程序(612)和计费应用程序(614)。向虚拟机、远程代理(600)提供备份服务可将备份数据存储到备份存储器中:第一备份存储器(620)和第二备份存储器(630)。第一备份存储器(620)可以是低性能存储器,而第二备份存储器(630)可以是高性能存储器。
在图6A中所说明的时间点处,远程代理(600)可将第一虚拟机备份(612)存储在第一备份存储器(620)中。第一虚拟机备份(612)可反映虚拟机(610)的应用数据。
在图6B中所说明的第二时间点处,计费应用程序可经由虚拟机(610)终止执行。响应于由中断的计费应用程序的执行导致的虚拟机(610)的状态改变,应用于虚拟机(610)的标记可由系统自动改变。可改变标记以增加用于生成虚拟机(610)的备份的优先级。
在图6C中所说明的第三时间点处,远程代理(600)生成虚拟机(610)的第二虚拟机备份(632)。由于与虚拟机(610)相关联的标记的改变,应用新的备份策略来生成备份。与先前的备份策略相反,指定备份的当前备份策略将存储在第二备份存储器(630)中。根据当前备份策略,远程代理(600)自动将第二虚拟机备份(632)存储在第二备份存储器(630)上。
以这种方式,贯穿图6A到6C中说明的系统在没有用户发明的情况下自动优先化并改变备份工作流行为虚拟机。
实例的结尾
图1中的任何组件都可实施为分布式计算装置。如本文中所使用,分布式计算装置是指由利用一个或多个单独和/或截然不同的计算装置的计算资源的逻辑装置提供的功能性。如上所论述,本发明的实施例可使用计算装置而实施。图7展示根据本发明的一个或多个实施例的计算装置的图式。计算装置(700)可包含一个或多个电脑处理器(702)、非永久性存储器(704)(例如,易失性存储器,例如随机存取存储器(random access memory;RAM)、高速缓冲存储器)、永久性存储器(706)(例如,硬盘、例如压缩光盘(compact disk;CD)驱动器或数字通用光盘(digital versatile disk;DVD)驱动器的光盘驱动器、闪存等)、通信接口(712)(例如,蓝牙接口、红外线接口、网络接口、光接口等)、输入装置(710)、输出装置(708)以及众多其它元件(未展示)和功能性。以下描述这些组件中的每一个。
在本发明的一个实施例中,计算机处理器(702)可以是用于处理指令的集成电路举例来说,计算机处理器可以是处理器的一个或多个核心或微核心。计算装置(700)还可包含一个或多个输入装置(710),例如触摸屏、键盘、鼠标、麦克风、触控板、电子笔或任何其它类型的输入装置。另外,通信接口(712)可包含用于将计算装置(700)连接到网络(未展示)(例如,局域网(local area network;LAN)、例如因特网的广域网(wide area network;WAN)、移动网络或任何其它类型的网络)和/或连接到另一装置(例如,另一计算装置)的集成电路。
在本发明的一个实施例中,计算装置(700)可包含一个或多个输出装置(708),例如屏幕(例如,液晶显示器(liquid crystal display;LCD)、等离子显示器、触摸屏、阴极射线管(cathode ray tube;CRT)监视器、投影仪或其它显示装置)、打印机、外部存储器或任何其它输出装置。输出装置中的一个或多个可与输入装置相同或不同。输入和输出装置可本地或远程连接到计算机处理器(702)、非永久性存储器(704)以及永久性存储器(706)。存在许多不同类型的计算装置,且前述输入和输出装置可采取其它形式。
本发明的另一个实施例通过基于整个分布式系统中的不同资源的相对重要性自动地改变备份工作流来改进备份生成技术。本发明的实施例可以提供备份工作流的自动改变,以反映用于备份生成目的的资源的相对重要性。通过这样做,本发明的实施例提高了用于执行备份生成的计算资源效率。相比之下,当代静态备份策略不必要地消耗计算资源,且几乎在设置时就过时了。所提到的实施例可通过间接地确定不同资源的相对重要性而不获得资源的组件的知识来解决这一问题和其它问题。举例来说,可基于匿名应用程序度量而不是应用程序的名称或特征来对诸如虚拟机之类的资源进行优先级排序。通过这样做,本发明的实施例可提供有效的备份生成服务,而不会冒释放关于分布式系统的资源的信息的风险。
此外,本发明的实施例可减少系统用户的认知负担。与依赖于用户来设置备份策略的当代系统相比,所提到的实施例可提供用于管理备份生成服务的自动方法。所有当代服务都依赖于用户来设置备份策略,所提到的的实施例可不依赖于用户知识来进行备份服务供应。随着虚拟化实体数量的增加,用户的负担变得过大以致于无法管理。因此,本发明的实施例可直接改进备份生成技术。同样,通过改进的备份技术也可改进恢复技术。
因此,本发明的实施例可通过提高这种系统的可靠性来改进分布式系统的领域。确保向系统内的所有实体提供最低级别备份服务,可根据本发明的实施例的分布式系统减轻甚至来自用户的错误,否则会损坏系统,例如忘记设置适当的备份策略。
上文所论述的问题应理解为由本文中所公开的本发明的实施例所解决的问题的实例,且本发明不应限于解决相同/类似问题。所公开的本发明广泛适用于解决超出本文中所论述的那些问题的一系列问题。
可使用由数据管理装置的一个或多个处理器执行的指令来实施本发明的一个或多个实施例。另外,此类指令可对应于存储于一个或多个非暂时性计算机可读媒体上的计算机可读指令。
虽然上文已关于有限数目个实施例来描述本发明,但具有本公开权益的所属领域的技术人员将了解,可设计不脱离如本文中所公开的本发明的范围的其它实施例。因此,本发明的范围应只受到随附权利要求书的限制。

Claims (16)

1.一种用于管理虚拟机的远程代理设备,其包括:
永久性存储器,其存储备份/恢复策略,所述备份/恢复策略包括:
所述备份/恢复策略的第一部分,其选择性地键入到应用于所述虚拟机的多个标记,及
所述备份/恢复策略的第二部分,其选择性地键入到所述虚拟机;
备份管理器,其基于所述备份/恢复策略而生成所述虚拟机的备份;以及
资源标记器,其编程为:
获得所述虚拟机的对虚拟机的管理请求;
响应于获得所述管理请求而:
执行所述虚拟机的远程资源分析,以获得所述虚拟机的应用设定挡;
执行所述应用设定挡的多维应用分析,以识别至少一个标记,所述至少一个标记指示由所述应用设定挡指定的应用对计算资源的消耗率;
将所述至少一个标记应用于所述虚拟机;以及
基于以下生成所述虚拟机的备份:
所述备份/恢复策略的第一部分的其中一个,及
所述备份/恢复策略的第二部分的其中一个。
2.根据权利要求1所述的远程代理设备,其中所述资源标记器进一步编程为:
响应于将第二标记应用于所述虚拟机的第二虚拟机而确定所述第二标记与所述备份/恢复策略中的任何策略不相关;
响应于所述确定而:
获得与所述虚拟机相关联的原型策略;
基于所述第二标记而修改所述原型策略,以获得新备份策略;以及
将所述新备份策略添加到所述备份/恢复策略中。
3.根据权利要求1所述的远程代理设备,其中执行所述虚拟机的所述远程资源分析包括:
识别在所述虚拟机上执行的应用程序;
对所述应用程序进行分类以识别所述应用设定挡的第一维度;以及
基于所述第一维度而更新所述应用设定挡。
4.根据权利要求3所述的远程代理设备,其中执行所述应用设定挡的所述多维应用分析以识别所述至少一个标记包括:
识别与所述第一维度相关联的第一标记;
识别与所述应用设定挡的第二维度相关联的第二标记;以及
使用所述第一标记和所述第二标记作为所述至少一个标记,
其中所述第一标记与所述备份/恢复策略的第一备份策略相关联,其中所述第二标记与所述备份/恢复策略的第二备份策略相关联。
5.根据权利要求4所述的远程代理设备,其中将所述至少一个标记应用于所述虚拟机包括:
基于所述至少一个标记而更新与所述虚拟机相关联的元数据。
6.根据权利要求4所述的远程代理设备,其中基于所述备份/恢复策略而生成所述虚拟机的备份包括:
识别所述第一备份策略和所述第二备份策略两者都处于触发状态;
响应于识别所述触发状态而:
基于所述第一备份策略和所述第二备份策略而生成复合工作流;以及
编排所述复合工作流的性能以生成所述虚拟机的备份。
7.根据权利要求6所述的远程代理设备,其中生成所述复合工作流包括:
识别由所述第一标记指定的重要性级别;
识别由所述第二标记指定的重要性级别,其中由所述第二标记指定的所述重要性级别高于由所述第一标记指定的所述重要性级别;
识别由所述第一备份策略指定的多个步骤;以及
越控与由所述第二备份策略指定的多个步骤冲突的由所述第一备份策略指定的所述多个步骤中的任一个,以获得所述复合工作流。
8.一种用于使用备份/恢复策略管理虚拟机的方法,所述备份/恢复策略包括:所述备份/恢复策略的第一部分,其选择性地键入到应用于所述虚拟机的多个标记,及所述备份/恢复策略的第二部分,其选择性地键入到所述虚拟机,所述方法包括:
获得所述虚拟机的对虚拟机的管理请求;
响应于获得所述管理请求而:
执行所述虚拟机的远程资源分析,以获得所述虚拟机的应用设定挡;
执行所述应用设定挡的多维应用分析,以识别至少一个标记,所述至少一个标记指示由所述应用设定挡指定的应用对计算资源的消耗率;
将所述至少一个标记应用于所述虚拟机;以及
基于以下生成所述虚拟机的备份:
所述备份/恢复策略的第一部分的其中一个,及
所述备份/恢复策略的第二部分的其中一个。
9.根据权利要求8所述的方法,其中所述方法进一步包括:
响应于将第二标记应用于所述虚拟机的第二虚拟机而确定所述第二标记与所述备份/恢复策略中的任何策略不相关;
响应于所述确定而:
获得与所述虚拟机相关联的原型策略;
基于所述第二标记而修改所述原型策略以获得新备份策略;以及
将所述新备份策略添加到所述备份/恢复策略中。
10.根据权利要求8所述的方法,其中执行所述虚拟机的所述远程资源分析包括:
识别在所述虚拟机上执行的应用程序;
对所述应用程序进行分类以识别所述应用设定挡的第一维度;以及
基于所述第一维度而更新所述应用设定挡。
11.根据权利要求10所述的方法,其中执行所述应用设定挡的所述多维应用分析以识别所述至少一个标记包括:
识别与所述第一维度相关联的第一标记;
识别与所述应用设定挡的第二维度相关联的第二标记;以及
使用所述第一标记和所述第二标记作为所述至少一个标记,
其中所述第一标记与所述备份/恢复策略的第一备份策略相关联,其中所述第二标记与所述备份/恢复策略的第二备份策略相关联。
12.根据权利要求11所述的方法,其中将所述至少一个标记应用于所述虚拟机包括:
基于所述至少一个标记而更新与所述虚拟机相关联的元数据。
13.一种非暂时性计算机可读媒体,其包括计算机可读程序代码,所述代码当由计算机处理器执行时使所述计算机处理器能够执行用于使用备份/恢复策略管理虚拟机的方法,所述备份/恢复策略包括:所述备份/恢复策略的第一部分,其选择性地键入到应用于所述虚拟机的多个标记,及所述备份/恢复策略的第二部分,其选择性地键入到所述虚拟机,所述方法包括:
获得所述虚拟机的对虚拟机的管理请求;
响应于获得所述管理请求而:
执行所述虚拟机的远程资源分析,以获得所述虚拟机的应用设定挡;
执行所述应用设定挡的多维应用分析,以识别至少一个标记,所述至少一个标记指示由所述应用设定挡指定的应用对计算资源的消耗率;
将所述至少一个标记应用于所述虚拟机;以及
基于以下生成所述虚拟机的备份:
所述备份/恢复策略的第一部分的其中一个,及
所述备份/恢复策略的第二部分的其中一个。
14.根据权利要求13所述的非暂时性计算机可读媒体,其中所述方法进一步包括:
响应于将第二标记应用于所述虚拟机的第二虚拟机而确定所述第二标记与所述备份/恢复策略中的任何策略不相关;
响应于所述确定而:
获得与所述虚拟机相关联的原型策略;
基于所述第二标记而修改所述原型策略,以获得新备份策略;以及
将所述新备份策略添加到所述备份/恢复策略中。
15.根据权利要求13所述的非暂时性计算机可读媒体,其中执行所述虚拟机的所述远程资源分析包括:
识别在所述虚拟机上执行的应用程序;
对所述应用程序进行分类以识别所述应用设定挡的第一维度;以及
基于所述第一维度而更新所述应用设定挡。
16.根据权利要求15所述的非暂时性计算机可读媒体,其中执行所述应用设定挡的所述多维应用分析以识别所述至少一个标记包括:
识别与所述第一维度相关联的第一标记;
识别与所述应用设定挡的第二维度相关联的第二标记;以及
使用所述第一标记和所述第二标记作为所述至少一个标记。
CN201910879312.7A 2018-09-26 2019-09-18 用于虚拟机资源标记的系统和方法 Active CN110955559B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/143,369 US10922122B2 (en) 2018-09-26 2018-09-26 System and method for virtual machine resource tagging
US16/143,369 2018-09-26

Publications (2)

Publication Number Publication Date
CN110955559A CN110955559A (zh) 2020-04-03
CN110955559B true CN110955559B (zh) 2024-04-05

Family

ID=68062806

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910879312.7A Active CN110955559B (zh) 2018-09-26 2019-09-18 用于虚拟机资源标记的系统和方法

Country Status (3)

Country Link
US (1) US10922122B2 (zh)
EP (1) EP3629179B1 (zh)
CN (1) CN110955559B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11263053B2 (en) * 2019-07-24 2022-03-01 Vmware, Inc. Tag assisted cloud resource identification for onboarding and application blueprint construction
US11500738B2 (en) * 2020-03-26 2022-11-15 EMC IP Holding Company LLC Tagging application resources for snapshot capability-aware discovery
NO20210230A1 (en) * 2021-02-22 2022-07-18 Pexip AS Method, computer program and system for configuring a multi-point video conferencing session
CN112948177A (zh) * 2021-02-23 2021-06-11 北京金山云网络技术有限公司 一种容灾备份方法、装置、电子设备及存储介质
CN115237679B (zh) * 2022-09-21 2022-12-13 南京拓界信息技术有限公司 一种基于主机系统的数据恢复系统
CN116321300B (zh) * 2022-10-17 2024-06-11 湖北文理学院 一种风险感知的移动边缘计算任务调度与资源分配方法
CN116775381B (zh) * 2023-08-21 2023-10-27 武汉吧哒科技股份有限公司 虚拟机数据恢复方法、装置、计算机设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104216793A (zh) * 2013-05-31 2014-12-17 国际商业机器公司 应用程序备份、恢复的方法及设备
CN107688507A (zh) * 2016-08-03 2018-02-13 南京中兴新软件有限责任公司 数据备份方法及装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8577845B2 (en) 2008-06-13 2013-11-05 Symantec Operating Corporation Remote, granular restore from full virtual machine backup
US8387060B2 (en) * 2009-10-01 2013-02-26 Dell Products L.P. Virtual machine resource allocation group policy based on workload profile, application utilization and resource utilization
US20110258481A1 (en) * 2010-04-14 2011-10-20 International Business Machines Corporation Deploying A Virtual Machine For Disaster Recovery In A Cloud Computing Environment
WO2011142753A1 (en) * 2010-05-12 2011-11-17 Hewlett-Packard Development Company, L.P. Methods, apparatus and articles of manufacture to update virtual machine templates
JP5779254B2 (ja) 2011-11-14 2015-09-16 株式会社日立製作所 計算機システムを管理する管理システム、計算機システムの管理方法及び記憶媒体
US8700898B1 (en) * 2012-10-02 2014-04-15 Ca, Inc. System and method for multi-layered sensitive data protection in a virtual computing environment
US9112777B1 (en) 2012-10-02 2015-08-18 Amazon Technologies, Inc. Tag-based resource configuration control
US9740702B2 (en) 2012-12-21 2017-08-22 Commvault Systems, Inc. Systems and methods to identify unprotected virtual machines
US9355256B2 (en) * 2013-07-24 2016-05-31 International Business Machines Corporation Sanitization of virtual machine images
US20150263983A1 (en) * 2013-12-30 2015-09-17 Stratus Technologies Bermuda Ltd. System and Method for Allocating Resources and Managing a Cloud Based Computer System
US9529617B2 (en) * 2014-03-21 2016-12-27 Ca, Inc. Instant virtual machines
US9396052B2 (en) 2014-04-30 2016-07-19 Oracle International Corporation Periodic validation and health reports of disaster recovery plan
US9329949B2 (en) 2014-04-30 2016-05-03 Oracle International Corporation Comprehensive error management capabilities for disaster recovery operations
US9292327B1 (en) * 2014-05-29 2016-03-22 Emc Corporation Optimization for incremental backup of VMS
US9720783B1 (en) * 2014-07-08 2017-08-01 EMC IP Holding Company LLC Event driven backups in virtualized environments
US9817722B2 (en) * 2014-08-29 2017-11-14 Vmware, Inc. Storage policy-based automation of protection for disaster recovery
US10622810B2 (en) * 2014-11-07 2020-04-14 Venstar, Inc. Systems, devices and methods of controlling lighting and appliances on a customer premises based on configuration rules
US9588704B2 (en) 2014-12-23 2017-03-07 Commvault Systems, Inc. Secondary storage operation instruction tags in information management systems
US9619271B1 (en) * 2015-10-23 2017-04-11 International Business Machines Corporation Event response for a shared pool of configurable computing resources which uses a set of dynamically-assigned resources
US10083054B2 (en) * 2015-12-28 2018-09-25 Amazon Technologies, Inc. Application-based computing resource management
US9990222B2 (en) * 2016-03-18 2018-06-05 Airwatch Llc Enforcing compliance rules against hypervisor and virtual machine using host management component
US10235244B2 (en) * 2016-10-19 2019-03-19 International Business Machines Corporation Block level backup of virtual machines for file name level based file search and restoration
US10552272B2 (en) 2016-12-14 2020-02-04 Nutanix, Inc. Maintaining high availability during N-node failover
US20180276085A1 (en) * 2017-03-24 2018-09-27 Commvault Systems, Inc. Virtual machine recovery point generation
US11526404B2 (en) * 2017-03-29 2022-12-13 International Business Machines Corporation Exploiting object tags to produce a work order across backup engines for a backup job
US10565064B2 (en) * 2018-02-01 2020-02-18 EMC IP Holding Company LLC Effective data change based rule to enable backup for specific VMware virtual machine

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104216793A (zh) * 2013-05-31 2014-12-17 国际商业机器公司 应用程序备份、恢复的方法及设备
CN107688507A (zh) * 2016-08-03 2018-02-13 南京中兴新软件有限责任公司 数据备份方法及装置

Also Published As

Publication number Publication date
EP3629179A1 (en) 2020-04-01
CN110955559A (zh) 2020-04-03
US10922122B2 (en) 2021-02-16
EP3629179B1 (en) 2021-08-11
US20200097309A1 (en) 2020-03-26

Similar Documents

Publication Publication Date Title
CN110955559B (zh) 用于虚拟机资源标记的系统和方法
US10282201B2 (en) Data provisioning techniques
US11671505B2 (en) Enterprise health score and data migration
US9053004B2 (en) Virtual data storage service with sparse provisioning
US11734053B2 (en) Attribute-based access control using a dynamic expression engine
CN111352696B (zh) 基于消耗的资源标记系统和方法
US20170255711A1 (en) Processing of Performance Data and Raw Log Data from an Information Technology Environment
US20140324862A1 (en) Correlation for user-selected time ranges of values for performance metrics of components in an information-technology environment with log data from that information-technology environment
US11237749B2 (en) System and method for backup data discrimination
US20190332443A1 (en) Method and system for allocating and migrating workloads across an information technology environment based on persistent memory availability
US20200012572A1 (en) System and method for critical virtual machine protection
US11586631B2 (en) Database optimization using record correlation and intermediate storage media
CN111125746B (zh) 多租户智能数据保护平台
US10922120B2 (en) System and method for guided system restoration
US20230114321A1 (en) Cloud Data Ingestion System
US11119867B1 (en) System and method for backup storage selection
US10956384B2 (en) Assessing aggregated data quality
US10936443B2 (en) System and method for tag based backup infrastructure
US11086556B2 (en) System and method for overprotection mitigation
US11593226B2 (en) System and method for ensuring compliance of protection policy requirements using visual representation of backups
US12026058B2 (en) Intelligent inclusion or exclusion of data from a backup set
US11500734B2 (en) System and method for prioritizing backup generation
US20240248875A1 (en) System and method for data protection using machine learning
US20210111964A1 (en) Network mixing patterns

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