CN110582752B - 不考虑特定实体类型而在连接的一组实体中传播信息的系统和方法 - Google Patents

不考虑特定实体类型而在连接的一组实体中传播信息的系统和方法 Download PDF

Info

Publication number
CN110582752B
CN110582752B CN201880016789.6A CN201880016789A CN110582752B CN 110582752 B CN110582752 B CN 110582752B CN 201880016789 A CN201880016789 A CN 201880016789A CN 110582752 B CN110582752 B CN 110582752B
Authority
CN
China
Prior art keywords
node
propagation
entity
entities
nodes
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
CN201880016789.6A
Other languages
English (en)
Other versions
CN110582752A (zh
Inventor
T·班德帕吉
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.)
Veritas Technologies LLC
Original Assignee
Veritas Technologies 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 Veritas Technologies LLC filed Critical Veritas Technologies LLC
Publication of CN110582752A publication Critical patent/CN110582752A/zh
Application granted granted Critical
Publication of CN110582752B publication Critical patent/CN110582752B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0233Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5076Update or notification mechanisms, e.g. DynDNS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3048Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the topology of the computing system or computing system component explicitly influences the monitoring activity, e.g. serial, hierarchical systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了各种系统和方法,用于在整个数据中心或其他网络环境中传播信息。例如,在某些实施方案中,本文所公开的功能包括确定传播规则,并且然后在整个数据中心或其他网络环境中存储和/或传播那些规则。传播规则定义了管理整个系统(诸如本文所述的那些系统中)信息传播的各种条件或其他变量。然后可以使用传播规则以执行各种其他功能。例如,本文所述的功能可以用于处理对实体的更新。本文所述的功能也可以用于处理对传播元数据的更新。另外,本文所述的功能可以用于处理新关系的创建。本文所述的功能也可以用于处理对象和/或关系的删除。所有上述功能都可以自动执行。

Description

不考虑特定实体类型而在连接的一组实体中传播信息的系统 和方法
相关申请
本专利申请根据35 U.S.C§119(e)要求于2017年12月17日提交的名称为“Systemand Method to Propagate Information Across a Connected Set of EntitiesIrrespective of the Specific Entity Type”的临时专利申请号62/599,783的权益,并且Tushar Bandopadhyay和Bharat Dighe是发明人。本专利申请还根据35 U.S.C§119(e)要求2017年2月5日提交的名称为“Resilient Information Technology PlatformManagement Across Heterogeneous Systems”的临时专利申请号62/454,871的权益,并且Tushar Bandopadhyay、Naresh Moorthy、Bharat Dighe、Meenal Binwade、SwanandVaidya、Shrikant Ghare、Ankit Jain、Anish Vaidya、Rohan Kumar Kayan、Kushal Shah、Devdas Kumkar、Soumya Sakha Tripathy、Sunil Hasbe、Aditya Deshpande、DhirajMaheshwari、Anuj Gupta、Vishwanath Kitekar和Pooja Singh是发明人。如所示出上述申请全文以引用方式并入本文以用于所有目的。
背景技术
技术领域
本公开涉及计算机技术,并且更具体地涉及在整个数据中心或类似的计算环境中自动传播和/或取消信息。
技术现状
数据中心可以包括实体的集合,其包括硬件设备、软件部件、应用实例和商业应用以及其他潜在的特征和功能。此类实体之间存在相互依赖性。此类相互依赖性可以是直接的相互依赖性或间接的相互依赖性。此类实体之间的关系可以是动态的。因此,对这些实体的任何更新、修改、添加、删除或其他更改(统称为“更改”及其同源)都可影响数据中心中其他实体的行为和要求,具体地但不限于与所更改的实体直接相关的实体。使用此类功能所产生的问题之一是需要一种方法,以通用的方式在此类实体之间有效地传播信息,因此独立于(但仍可使用)数据中心或网络内的各种类型的实体。
发明内容
本公开通常包括提供在整个数据中心或其他网络环境中传播信息的方法、计算机程序产品、计算机系统等。在一个实施方案中,本文所公开的功能包括确定传播规则,然后在整个数据中心或其他网络环境中存储那些规则和/或传播那些规则。传播规则定义了管理整个系统诸如本文所述的那些系统中信息传播的各种条件或其他变量。在一个实施方案中,这些传播规则可以包括至少以下五个因素:(1)开始条件;(2)传播方向;(3)跳过条件;(4)反转条件;以及(5)结束条件。在各种实施方案中,可以排除这些因素中的一个或多个,并且可以添加一个或多个附加因素。一旦确定了传播规则,就可以(诸如,在可存在于例如管理服务器中的例如有效高速缓存中)存储这些规则,和/或在整个系统中传播。
继创建和存储传播规则之后,这些规则可用于执行各种其他功能,诸如本文所述。例如,在某些实施方案中,本文所述的功能可以用于处理对实体的更新。在某些实施方案中,本文所述的功能可以用于处理对传播元数据的更新。在某些实施方案中,本文所述的功能可以用于处理新关系的创建。在某些实施方案中,本文所述的功能可以用于处理对象和/或关系的删除。本文所述的所有功能可以自动执行,诸如,例如在检测到对数据中心或其他系统或网络的添加或改变时。以下更详细地讨论了前述功能。
前述内容是概述,因此必然包含细节的简化、概括和省略,因此本领域的技术人员将会理解,该概述仅是例示性的,并不旨在以任何方式进行限制。如由权利要求单独定义的那样,本公开的其他方面、发明特征和优点将在以下阐述的非限制性详细描述中变得显而易见。
附图说明
通过参考附图,可以更好地理解本申请的实施方案,并且其多个目的、特征和优点对于本领域的技术人员而言是显而易见的。
图1A是示出根据本公开的一个实施方案的包括管理功能的计算环境的示例的框图。
图1B是根据本公开的一个实施方案的提供属性图的附加细节的框图。
图2是描绘根据本公开的一个实施方案的可由本文所述的系统和方法执行的各种动作的概述的流程图。
图3是描绘根据本公开的一个实施方案的在接收或检测对一个或多个实体的更新时可以执行的各种动作的流程图。
图4是描绘根据本公开的一个实施方案的在接收或检测对象上的传播元数据的更新和/或添加时可以执行的各种动作的流程图。
图5是描绘根据本公开的一个实施方案的可以在创建一个或多个节点、对象或关系时执行的各种动作的流程图。
图6是描绘根据本公开的一个实施方案的可以在删除或移除一个或多个节点、对象或关系时执行的各种动作的流程图。
图7是根据本公开的一个实施方案的计算设备的框图,示出了如何实现本公开的某些特征。
图8是根据本公开的一个实施方案的联网系统的框图,示出了各种计算设备如何经由网络进行通信。
虽然本公开的实施方案容许各种修改和另选形式,但是在附图和详细描述中作为示例提供了特定实施方案。应当理解,附图和详细描述并非旨在将实施方案限制于所公开的特定形式。相反,本公开旨在覆盖落入由所附权利要求书限定的本公开的实质和范围内的所有修改形式、等同物和替代物。
具体实施方式
如上所述,部分地,数据中心可以被视为实体的集合,其包括硬件设备、软件部件、应用实例和商业应用以及其他潜在的特征和功能。此类实体之间存在相互依赖性。此类相互依赖性可以是直接的相互依赖性或间接的相互依赖性。这些相互依赖性可以被视为实体的复杂图(在本文中称为“属性图”)以及它们之间的关系。此类实体之间的关系是动态的。因此,对这些实体的任何更新、修改、添加、删除或其他更改(统称为“更改”及其同源)都可能影响数据中心中其他实体的行为和要求,特别地但不限于,与所更改的实体直接相关的实体。使用此类功能所产生的问题之一是需要一种方法,以通用的方式在此类实体之间有效地传播信息,因此独立于(但仍由)数据中心或网络内的各种类型的实体。
本文所公开的系统和方法为数据中心和类似系统提供了各种益处和改善。例如,当将新实体引入系统时,本公开允许实体的动态修改。另外,以本文所公开的方式传播信息对于源实体与目标实体之间的路径(或与其连接的设备)的任何变化是不可知的。此外,从源实体到目标实体的传播可以被配置为当添加一个或多个新实体产生源实体与目标实体之间的新路径时自动发生。又如另一个示例,本文提供的公开允许通过将该信息自动传播到受影响的实体来有效地评估实体的变化。
本文所述的功能至少部分地通过使用传播规则来完成。传播规则提供关于从源实体到目标实体的一个或多个传播路径的信息,诸如图1B中所示的路径,这将在下文更详细地描述和讨论。在一个实施方案中,系统可以加载定义源实体与目标实体之间的路径的一组传播规则。在一个实施方案中,此类信息可以存储在查找表中。系统(或其部件)可以使用此类规则来评估对实体和关系的更新,并检查是否存在应该传播此类信息的任何路径。在存在多个待评估的路径的各种实施方案中,系统可以将各种路径存储在临时队列中,直到可以完全并充分地评估每个路径。
图1A是计算环境100的框图。尽管在此提供了一个示例实施方案用于讨论目的,但是另选实施方案可以实现不同数量的物理机,每个物理机实现不同数量的虚拟机,并且相同系统可以包括一个或多个物理机,每个物理机实现与相同环境内的其他物理机不同数量的虚拟机。
如图所示,计算环境100包括若干物理机110(1)-110(n)(计算系统)。物理机110是计算设备或计算设备的部分,可以是任何类型的计算设备,诸如个人计算机、膝上型计算机、服务器、个人数字助理、移动电话等。在一些实施方案中,此类物理机包括在云计算环境中,其中物理计算资源诸如存储器和处理器周期根据需要和/或按照约定分配。物理机110的资源由在物理机上实现的任何虚拟机共享。物理机110各自包括存储器112。在实施方案中,存储器112是随机存取存储器(RAM)。存储器112被组织成多个页面。页面通常是存储器的固定大小部分,例如存储器的4千字节(Kb)部分。物理机110通过网络140耦接到管理服务器120和多个存储设备150(1)-150(4)。网络140可以包括WAN(广域网)诸如因特网、一个或多个LAN(局域网)和/或一个或多个SAN(存储区域网络)以及其他此类构造和系统。
如在整个本公开中所使用的,字母n和i用于指示可变数量的设备或部件。虽然字母n和i用于描述这些不同设备和部件中每一个的可变数量的实例,但是重复使用字母n和i不一定指示每个设备和部件具有在本文讨论的示例系统或本发明的任何其他实施方案中实现的相同数量的n或i个实例。相反,这些变量标识符用于更简单地指定一系列相关或类似元素(例如,物理机)的最终元素(例如,物理机110(n))。重复使用此类变量标识符并不意味着暗示该系列元素的大小之间的相关性,尽管可能存在此类相关性。
每个物理机110托管若干虚拟机115(1)-115(i)。虚拟机115可用于向例如与组织相关联的用户提供计算资源。当用户(例如,组织中的信息技术(IT)专业人员)请求附加资源时,云供应商处的管理员(例如,IT专业人员)可以配置一个或多个附加虚拟机,以满足对附加资源的请求。
管理服务器120可以是例如计算设备或计算设备的一部分,诸如个人计算机、膝上型计算机、服务器、个人数字助理、移动电话等。管理服务器120可以选择目标物理机来托管新的或迁移的虚拟机。管理服务器120包括配置模块121和配置数据122。管理服务器120可用于创建、更新和维护属性图,诸如属性图130,其将在下文结合图1B更详细地讨论。管理服务器120还包含可用于在属性图130上执行此类配置的许多部件。
在一个实施方案中,可以采用配置模块121来检测用户在计算资源请求中指定的要求。使用配置数据122来执行其功能的配置模块121可响应于该请求自动创建或定位虚拟机,并使虚拟机在物理机110之一上被配置。可以看出,配置模块121(及其相关联的配置数据122)以及属性图创建模块125和属性图分析模块126(以及相关联的属性图数据127)是由管理服务器120支持的模块之一(作为示例,在图1A中描绘了哪些模块作为管理模块129)。下文描述了系统的操作诸如属性图创建模块125和属性图分析模块126。
管理员(或自动化过程)还可以将一个或多个虚拟机从第一物理机移动到另选物理机。例如,响应于检测到物理机正发生故障、已经发生故障、过载,或者在与当前托管一个或多个虚拟机的物理机不同的物理机上有可用的附加资源,管理员(或自动化过程)可以将一个或多个虚拟机移动(迁移)到不同的(目标)物理机。在一个实施方案中,配置模块121可以自动检测指示应该迁移虚拟机的条件,诸如检测到物理机正发生故障、已经发生故障、过载,或者在与当前托管一个或多个虚拟机的物理机不同的物理机上有可用的附加资源。配置模块121可以响应于检测到此类条件而自动迁移一个或多个虚拟机,作为提供编排服务的一部分。
配置模块121可以基于新虚拟机(或正从一个物理机迁移到另一个物理机的虚拟机)将更有效地利用目标物理机的资源(例如,存储器)的可能性来选择目标物理机(例如,借助于与由目标物理机托管或将由其托管的一个或多个虚拟机共享更多数量的存储器页面)。此外,可以使用呈现用于由管理服务器120管理的图形用户界面(GUI)以直观、有效的方式执行此类操作。
配置模块121可以使用配置数据122收集和维护关于配置的信息,并确定配置一个或多个虚拟机、其相关联的存储部件(虚拟机磁盘(VMDK))、相关联功能等的方式以适当地(或至少可接受地)使用可用资源。这可以是例如确定接受给定VM(例如,指示哪个物理机可能与给定虚拟机共享最大数量的共享存储器页面并将该信息存储在配置数据122中)。配置模块121可以分析配置数据122以选择哪个物理机将托管虚拟机。配置模块121可以从各种源处收集各种形式的配置数据122。配置模块121还可以跟踪每个物理机的存储器中维护的数据。在一个实施方案中,每个物理机周期性地将关于存储在物理机的存储器中的页面的信息传输到配置模块121。另选地,所考虑的物理机可以响应于向存储器添加新页面、响应于在物理机上配置新虚拟机、和/或响应于配置模块121对条目列表的请求以及其他可能性而传输此类信息的列表。在一个实施方案中,每个条目包括地址,例如页面的地址。在一个实施方案中,此类信息可以包括标识由物理机托管的一个或多个虚拟机的特征的标签,诸如由物理机托管的虚拟机使用的操作系统或应用程序。
在虚拟机在物理机上运行并且正在迁移到另一物理机的实施方案中,配置模块121可以使用来自正在运行虚拟机的物理机的资源信息(例如,存储器信息)来确定虚拟机应该迁移到多个可用物理机(目标物理机)中的哪一个。使用本示例,配置模块121可以将(如从托管虚拟机的物理机接收的)关于虚拟机的信息与每个目标物理机的信息进行比较,以便识别可能供给定虚拟机迁移的另一个候选者。
当虚拟机尚未在物理机上运行时,诸如在配置新虚拟机时,管理服务器120可以执行配置虚拟机的操作,包括确定配置的虚拟机所需的计算资源。在一个实施方案中,配置模块121从存储设备(诸如存储设备150之一)接收虚拟机信息,代替和/或除了从物理机接收之外。存储设备150提供持久数据存储,使得即使在存储设备断电之后,存储在此类存储设备上的数据也将保持被存储。此类存储设备可以是例如硬盘、光盘(CD)、数字通用光盘(DVD)或其他海量存储设备,或者包括此类存储设备阵列的存储系统(例如,独立磁盘冗余阵列(RAID)系统或光存储自动点唱机)。此类存储设备也可以是在此类物理存储设备和/或存储系统上实现的虚拟或逻辑存储设备。例如,此类存储设备可以是在RAID存储系统上实现的逻辑卷。另外,此类存储设备可以包括一个或多个存储设备。存储设备还可以包括一种或多种类型的存储介质,包括固态介质(例如,闪存驱动器)、光学介质(例如,CD和DVD)以及磁介质(例如,硬盘或磁带)。在一些实施方案中,可以使用云存储来实现此类存储设备,其中存储设备是逻辑存储设备,一个或多个物理存储设备根据需要和/或按照约定分配到该逻辑存储设备。
许多虚拟机(例如,VM 156(1)-(3)、VM 166(1)-(3)和VM 176(1)(3))可以存储在一个或多个存储设备150(例如,存储设备150(1)-(3))上,一个或多个VMDK(例如,存储在存储设备150(4)上的VMDK 180(1)-(n))也可以被存储。配置模块121可以获得关于这些虚拟机中的一个或多个的信息并配置所考虑的一个或多个虚拟机。配置模块121还可以获得关于一个或多个虚拟机115的信息,以便存储所考虑的一个或多个虚拟机。如图1A所示,存储设备150(1)实现文件系统152,其包括去重模块154。文件系统152支持存储在其中的数据的去重,包括虚拟机156。在该示例中,虚拟机156(1)-156(3)被去重。也就是说,每个虚拟机156由一组数据形成。在某些实施方案中,虚拟机156包括与虚拟机156中的另一个数据相同的数据。在两个或更多个虚拟机156包括相同的应用程序和/或操作系统的情况下,可能出现这种情况。当多个虚拟机156包括相同数据时,存储设备150(1)仅存储相同数据的单个副本。因此,去重数据158包括识别构成虚拟机156的数据的哪些部分在虚拟机之间共享的信息,例如,在两个或更多个虚拟机156之间相同。配置模块121可以使用去重数据158来选择托管虚拟机156之一的物理机。
此类存储设备还可以包括一个或多个指纹模块,其可以计算存储的虚拟机的指纹并将如此生成的指纹存储在一个或多个存储设备150上的指纹数据中。计算虚拟机的指纹涉及将虚拟机图像和与虚拟机相关的任何数据划分为块,并计算每个块的指纹。块是数据的固定长度或可变长度部分。指纹模块162可以利用各种函数来为每个块生成签名或指纹。此类函数可以包括例如安全散列算法(SHA)、消息摘要算法5(MD5)、Rabin散列、循环冗余校验(CRC)等中的一者或多者。例如,签名可以是由散列函数诸如SHA-1生成的散列,散列函数处理特定块并且作为响应计算散列(例如,SIS级签名)。
在此类场景下,配置模块121从存储设备150接收关于在所得的指纹数据中存储何种指纹的信息。存储设备150中的一个或多个可以响应于新指纹的添加(例如,如果新虚拟机存储在存储设备150之一中),和/或响应于配置模块121的请求,周期性地将关于指纹的信息传输到配置模块121。此类请求可以指定应该将指纹数据传输到配置模块121的一个或多个虚拟机。
在环境诸如计算环境100中,方法和系统诸如本文所述的那些包括,如所指出的,属性图创建模块125和属性图分析模块126、以及创建/分析的属性图数据(例如,属性图数据127),以支持由构成管理模块120的一个或多个管理模块提供的编排功能。如根据本公开将理解的,属性图创建模块125提供便于创建属性图数据诸如属性图数据127的功能,而属性图分析模块126提供便于分析此类属性图数据的功能,以及生成易于由一个或多个编排系统使用的形式的信息。
图1B是提供示例属性图的进一步细节的框图,诸如属性图130。尽管在此提供了一个示例实施方案用于讨论目的,但是另选实施方案可以实现不同数量的物理机,每个物理机实现不同数量的虚拟机,并且相同系统可以包括一个或多个物理机,每个物理机实现与相同环境内的其他物理机不同数量的虚拟机。
如图所示,属性图130包括源节点131、一致性组132和盘133。这些实体之间以及图1B中的其他实体之间的箭头指示这些节点之间的大体“进入”流向,这将在下文更详细地讨论。属性图130还包括各种节点134(1)-134(n)。这些节点可以是任何类型的计算设备,诸如本文其他地方所述的类型计算设备。本文其他地方所述的功能的一个重要特征是这些方法对于盘133与数据库135之间的特定实体诸如节点134是不可知的。照此,本文所述的传播规则可以用在节点134的类型上。最后,属性图120还示出了目标节点136,其是该示例属性图结束的地方。
图2是示出结合本文所公开的系统和技术的一个实施方案执行的各种动作的方法200的流程图。如根据本公开还将理解的,可以修改该方法以便得出另选实施方案。此外,尽管本实施方案中的步骤以连续顺序示出,但是某些步骤可以以与所示顺序不同的顺序发生,某些步骤可以同时执行,某些步骤可以与其他步骤组合,并且某些步骤可以在另一个实施方案中省略。参考诸如结合图1A和图1B描述的元件来描述方法200。在一个实施方案中,方法200由管理服务器执行,诸如,例如管理服务器120。此外,当结合图1B和属性图130阅读时,将最好地理解方法200的讨论。
方法200提供了可以执行以实行作为本公开的独立但相关的各个操作的操作概述。尽管图200描绘了方法200的各种操作以线性方式发生,但是在实践中不一定需要此类线性功能。相反,以这种方式示出各个步骤以便于本文进行的逻辑讨论,但不是因为必须以该顺序执行操作的任何基本要求。
根据前述内容,方法200通常在210处开始,其中系统确定传播规则。传播规则定义了管理整个系统中信息传播的各种条件或其他变量,诸如本文所述的那些系统。在一个实施方案中,这些传播规则可以包括至少以下五个因素:(1)开始条件;(2)传播方向;(3)跳过条件;(4)反转条件;以及(5)结束条件。如将在本文其他地方更详细地描述的,系统可以使用这些因素来确定何时以及如何在整个系统中传播新的、修改的或删除的信息。
“开始条件”是可以触发传播的值或条件。该开始条件可以采用多于一个参数。例如,在一个实施方案中,开始条件采用字符串值和布尔值。在该实施方案中,字符串值是“类型”属性,其可以指定规则适用的信息的类型。例如,一些潜在的类型是“备份政策”、“文件”和“一致性组”。(需要明确的是,此处列出的潜在类型仅仅是示例。此外,可以使用其他命名约定,缩写等也可以使用。)在一个实施方案中,布尔值可以是“复制”属性,其可以用于指示是否已经复制给定节点或其他实体。在其他实施方案中,其他值是可能的。此外,尽管提供了某些示例以便于本文的讨论,但是开始条件的确切语义和参数可根据具体实施而改变,而不会影响整个公开。对于本文所讨论的每个条件(例如,因素)也是如此,并且相对于条件(例如,因素)本身也是如此,这些条件在本公开的各种实施方式中,还可被添加、更改、移除等。
“传播方向”指示信息在整个系统诸如系统100中传播的方向。虽然存在其他可能性,但该因素通常采用单个参数。在一个实施方案中,参数指示方向是“进入”还是“出去”,从而指示信息是传播到网络中还是传播到网络外。当设置为“进入”时,信息被传播到网络中,使得信息通常从源110流到目标160,如图1B所示。当设置为“出去”时,信息被传播到网络外,使得信息通常从目标160流到源110,如图1B所示。在其他实施方案中,可以使用其他值(例如,在许多其他选项中为1和0)来指示传播方向。此外,尽管提供了某些示例以便于本文的讨论,但是该因素的确切语义和参数可以根据具体实施而改变,而不会影响整个公开。
“跳过条件”指示如果并且当满足条件时则导致传播跳过给定节点的条件。虽然存在其他可能性,但该因素通常采用多个参数。例如,在一个实施方案中,该条件采用指示“类型”的参数和指示“管理程序”是否存在或以其他方式使用的布尔值。在其他实施方案中,该条件可以接受多于一个“类型”参数。在某些实施方案中,当“类型”指虚拟机时,该条件仅需要“管理程序”布尔值。当然,其他可能的参数和值也是可能的。在任何情况下,当满足由规则定义的条件时,传播会跳过相关节点。与上述参数的情况一样,尽管提供了某些示例以便于本文的讨论,但是该因素的确切语义和参数可以根据具体实施而改变,而不会影响整个公开。
“反转条件”指示如果并且当条件满足时则使系统反转传播方向的条件。虽然存在其他可能性,但该因素通常采用一个参数。在一个实施方案中,参数指示传播终止的节点的“类型”,例如“cg”,其是“一致性组”的缩写,或“备份政策”。当然,其他可能的参数和值也是可能的。在任何情况下,当满足由规则定义的条件时,传播的方向在该点反转。与上述参数的情况一样,尽管提供了某些示例以便于本文的讨论,但是该因素的确切语义和参数可以根据具体实施而改变,而不会影响整个公开。
“结束条件”指示如果并且当满足条件时则导致传播终止的条件。虽然存在其他可能性,但该因素通常采用单个参数。在一个实施方案中,参数指示传播终止的节点的“类型”,诸如“应用程序”或“虚拟机”。当然,其他可能的参数和值也是可能的。与上述参数的情况一样,尽管提供了某些示例以便于本文的讨论,但是该因素的确切语义和参数可以根据具体实施而改变,而不会影响整个公开。
为了提供一些示例,可以将一个潜在的传播规则称为“isApplicationReplicatedRule”。为了这个示例,isApplicationReplicatedRule可能具有一个需要“类型”参数和“复制”布尔参数的开始条件;采用单个参数的方向;采用单个“类型”参数的反转条件;采用与“管理程序”布尔参数配对的“类型”参数的跳过条件,以及不必与第一“类型”参数和“管理程序”布尔参数相关的第二“类型”参数;以及采用单个“类型”参数的结束条件。该传播规则还可能包含“结束动作”。
继续该示例传播规则,该规则可以具有与前述值相关联的以下值:开始条件的“类型”可以指示“一致性组”,并且“复制”布尔参数可以具有“真”的值;方向可以具有值设置为“进入”的参数;反转条件的“类型”参数可以具有同样指示“一致性组”的值;跳过条件的参数对(“类型”参数和“管理程序”布尔参数)可以分别具有设置为“主机”和“真”的值,以及具有指示“集群”的值的第二“类型”参数;结束条件的“类型”参数可以具有“应用程序”的值;并且结束动作可能具有诸如“$entity.replicated=true”之类的值(如上所述,这些参数和值仅作为示例提供,并且不以任何方式限制)。
继续上文的示例,并且在必要时参考图1A和图1B,前述示例传播规则将从一致性组120开始传播信息,假设一致性组已被标记为复制,如该示例传播规则所要求的。然后,任何相关信息将传播“进入”网络,即,在磁盘130的方向上,然后传播到节点140(1)等。其他条件将在每个后续节点(或更一般地,其他实体)处或相对于每个后续节点评估,并且当到达“应用程序”时传播最终将停止。此时,可以执行结束动作。
继续图2和方法200的讨论,在220处执行传播规则的初始传播。在第一次通过该方法时,传播规则本身可以根据需要在整个系统中传播。在其他实施方案中,诸如当使用管理服务器时,管理服务器维护传播规则的开始条件的有效高速缓存,并且可以将所有传播规则存储在有效高速缓存或另一存储器结构中。照此,由于规则并不总是必须在整个系统中传播,因此不一定必须执行(并且通常不会执行)步骤220。然而,在此类实施方案中,规则以一种或另一种方式存储在适当的位置,使得其后续可根据需要访问和使用。在初始存储或传播之后,可以作为服务接口即时添加、修改、删除或以其他方式改变传播规则。任何修改和删除都可能使一个或多个现有规则无效。此类功能将在下文更详细地讨论。
在步骤230处,方法200处理对实体的更新。下文在图3和方法300的讨论中更详细地讨论该功能,因此此处不再重复。在步骤240处,方法200处理对传播元数据的更新。下文在图4和方法400的讨论中更详细地讨论该功能,因此此处不再重复。在步骤250处,方法200处理新关系的创建。下文在图5和方法500的讨论中更详细地讨论该功能,因此此处不再重复。在步骤260处,方法200处理对象和/或关系的删除。下文在图6和方法600的讨论中更详细地讨论该功能,因此此处不再重复。
如上所述,方法200提供了可被执行以实行作为本公开的独立但相关的各个操作的操作概述。尽管图200描绘了方法200的各种操作以线性方式发生,但是在实践中不一定需要此类线性功能。相反,以这种方式示出各个步骤以便于本文进行的逻辑讨论,但不是因为必须以该顺序执行操作的任何基本要求。对于230、240、250和260尤其如此,这些方法在很大程度上彼此独立。下文将更详细地讨论这些方法中的每一种。
图3是示出结合本文所公开的系统和技术的一个实施方案执行的各种动作的方法300的流程图。如根据本公开还将理解的,可以修改该方法以便得出另选实施方案。此外,尽管本实施方案中的步骤以连续顺序示出,但是某些步骤可以以与所示顺序不同的顺序发生,某些步骤可以同时执行,某些步骤可以与其他步骤组合,并且某些步骤可以在另一个实施方案中省略。参考诸如结合图1A、图1B和图2描述的元件描述方法300。在一个实施方案中,方法300由管理服务器执行,诸如,例如管理服务器120。在其他实施方案中,方法300由与管理服务器120不同的一个或多个线程、守护进程、进程或其他此类构造(统称为“线程”)执行,诸如可以定位在图1A和图1B中所示的各种其他各个元件上。此外,当结合图1B和属性图130阅读时,将最好地理解方法300的讨论。
在开始方法300之前,至少步骤210将在典型实施方案中执行,并且传播规则将被存储在系统或网络中的至少一个位置处。照此,管理服务器(或一些其他系统元件)通常在开始方法300之前具有规则的基线版本。在开始方法300之前,系统通常还具有属性图的基线版本,诸如例如属性图130。
方法300开始于步骤310,其中该方法侦听实体的更新和/或添加(统称为“一个或多个更新”)。方法300在320处确定是否已经接收到此类更新。如果方法300在320处确定尚未接收到更新,则方法300前进到330并继续侦听更新。如果方法300在320处确定已接收到更新,则方法300前进至340。
在340处,方法300评估更新以确定是否已满足一个或多个传播规则的开始条件。如果关于任何给定对象尚未满足给定传播规则的开始条件,则方法300前进到350,它在该处等待未来事件。在所示的实施方案中,等待未来事件包括继续侦听更新,如图350所示。在图3中未明确示出的另一实施方案中,等待未来事件可包括如果发生任何此类事件则直接返回至350。在某些实施方案中,方法300也可以在此时终止,或者继续评估关于对象的不同传播规则。如果关于任何给定对象满足给定传播规则的开始条件,则方法300在360中在该对象上添加传播元数据(PMD)。在各种实施方案中,传播元数据至少包含以下信息:已经引起或导致传播的规则的标识、开始实体的标识,以及已经引起或导致传播的任何同级的标识列表。例如,当禁用虚拟机的备份策略时,此类传播元数据可用于将虚拟机内的应用程序标记为“有风险”,或者基于业务应用程序上下文中任何存储介质的分类来标记具有给定分类类型的业务应用程序。传播规则还可以用于在数据中心(或其他系统)中以自动(关于不需要人机交互来引起或控制传播)和不可知(关于实体的基础类型和其他基础设施部件)的方式实时传播各种形式的信息。
图4是示出结合本文所公开的系统和技术的一个实施方案执行的各种动作的方法400的流程图。如根据本公开还将理解的,可以修改该方法以便得出另选实施方案。此外,尽管本实施方案中的步骤以连续顺序示出,但是某些步骤可以以与所示顺序不同的顺序发生,某些步骤可以同时执行,某些步骤可以与其他步骤组合,并且某些步骤可以在另一个实施方案中省略。参考诸如结合图1A、图1B和图2描述的元件描述方法400。在一个实施方案中,方法400由管理服务器执行,诸如,例如管理服务器120。在其他实施方案中,方法400由与管理服务器120不同的一个或多个线程、守护进程、进程或其他此类构造(统称为“线程”)执行,诸如可以定位在图1A和图1B中所示的各种其他各个元件上。此外,当结合图1B和属性图130阅读时,将最好地理解方法400的讨论。
方法400开始于410,其中该方法侦听对象上的传播元数据(“PMD”)的更新和/或添加(统称为“一个或多个更新”)。为了提供运行中的该方法的示例说明,从节点134(1)的角度考虑该方法的步骤。方法400在420处确定是否已经诸如例如在节点134(1)处接收到此类更新。如果方法400在420处确定在正被评估的给定节点处尚未接收到更新,则方法400前进到430并继续侦听更新。如果方法400在420处确定在正被评估的给定节点处已接收到更新,则方法400前进至440。
在440处,方法400评估更新以确定对象是否满足一个或多个传播规则的结束条件。如果关于任何给定对象尚未满足给定传播规则的结束条件,则方法400前进到430并继续侦听更新。在某些实施方案中,方法400也可以在此时终止,或者继续评估关于对象的不同传播规则。如果关于任何给定对象满足给定传播规则的结束条件,则方法400识别450中的任何合格的同级节点。为了这个示例,假设节点134(1)不是应用程序。照此,为了在本文中提供的说明,从节点134(1)的角度来看,此时不满足结束条件,并且方法400前进到450并且识别节点134(1)的任何合格的同级。
由于本文使用术语“同级”,“同级”旨在表示直接连接到任何给定节点的节点。例如,使用图1B中所示的示例传播图,磁盘133、节点134(2)和节点134(3)是节点134(1)的同级;节点134(1)和节点134(4)为节点134(2)的同级;节点134(1)和节点134(4)为节点134(3)的同级;节点134(2)、节点134(3)和节点134(n)为节点134(4)的同级等。给定属性图中的其他实体也可以包含实体。例如,再次使用图1B中所示的示例传播图,在属性图130中,一致性组132和节点134(1)是磁盘133的同级等。
通过相对于两个条件评估任何给定节点的同级来确定合格的同级:首先,根据规则的“传播方向”标准评估同级。其次,相对于跳过条件的标准评估同级,这可能导致跳过一个或多个合格的同级。因此,使用上文提供的示例规则,并从节点134(1)的角度考虑该规则的应用程序,已经指出磁盘133、节点134(2)和节点134(3)都是节点134(1)的同级。然而,当方向设置为“进入”时,只有节点134(2)和节点134(3)满足“传播方向”条件。因此,节点134(2)和节点134(3)是节点134(1)的唯一潜在合格的同级,并且这两个节点将被识别为合格的同级,只要那些节点中的每个节点不被跳过条件排除。然而,为了该示例,假设节点134(2)满足跳过条件的标准,但是节点134(1)不满足跳过条件的标准。在那种场景下,节点134(2)将不是合格的同级,从而使节点134(3)成为节点134(1)的唯一合格的同级。
在方法400在450中识别给定节点的合格的同级之后,方法400前进到460。在460处,方法400更新所识别的合格的同级上的传播元数据(“PMD”)。因此,继续上文提供的示例,方法400将更新节点134(3)上的PMD。此时,方法400在470处确定是否继续处理,例如,是否继续侦听进一步的更新。如果方法400确定不继续处理,则方法400将在此时结束。然而,在方法400在470处确定继续处理的通常情况下,方法400将返回到410。继续上文给出的特定示例,根据460更新节点134(3),其通过方法400触发另一次迭代,这次从节点134(3)的角度。
图5是示出结合本文所公开的系统和技术的一个实施方案执行的各种动作的方法500的流程图。如根据本公开还将理解的,可以修改该方法以便得出另选实施方案。此外,尽管本实施方案中的步骤以连续顺序示出,但是某些步骤可以以与所示顺序不同的顺序发生,某些步骤可以同时执行,某些步骤可以与其他步骤组合,并且某些步骤可以在另一个实施方案中省略。参考诸如结合图1A、图1B和图2描述的元件描述方法500。在一个实施方案中,方法500由管理服务器执行,诸如,例如管理服务器120。在其他实施方案中,方法500由与管理服务器120不同的一个或多个线程、守护进程、进程或其他此类构造(统称为“线程”)执行,诸如可以定位在图1A和图1B中所示的各种其他单个元件上。此外,当结合图1B和属性图130阅读时,将最好地理解方法500的讨论。
方法500开始于510处,其中该方法侦听节点(或其他实体)之间的新关系的创建。方法500在520处确定是否已在由属性图表示的网络中创建新关系。如果方法500在520处确定尚未在由属性图表示的网络中创建新关系,则方法500前进到530并继续侦听新关系的创建。如果方法500在520处确定最近已经创建了新关系,则方法500前进到540。为了说明方法500,假设节点134(3)先前不是属性图130的一部分,而是新添加的(尽管在其在属性图130中的当前位置)。在该示例中,方法500将在520处确定已经添加了两个新关系,即,(1)节点134(3)与节点134(1)之间的关系,以及(2)节点134(3)和节点134(4)之间的关系。照此,在该示例中,方法500将前进到540。
在540处,方法500确定新对象是否具有任何传播元数据或“PMD”。如果方法500在540处确定新对象不具有任何PMD,则方法500前进到530并继续侦听新关系的创建。如果方法500在540处确定新对象确实具有PMD,则方法500前进到550。
在550处,方法500识别任何合格的同级节点。继续基于节点134(3)的创建的示例以及上文提供的定义,随后方法500在此时识别节点134(3)的任何合格的同级。与方法400的情况一样,通过相对于两个条件评估任何给定节点的同级来确定合格的同级:首先,根据规则的“传播方向”标准评估同级。其次,关于跳过条件的标准评估同级,这可能导致跳过一个或多个合格的同级。因此,使用上文提供的示例规则,并从节点134(3)的角度考虑该规则的应用程序,已经指出节点134(1)和节点134(4)是节点134(3)的同级。然而,当方向被设置为“进入”时,只有节点134(4)满足“传播方向”条件。因此,节点134(4)是节点134(3)的唯一潜在合格的同级,在该示例中,节点134(3)又是新添加的节点。因此,只要节点134(4)不被跳过条件排除,则节点134(4)将被识别为合格的同级。然而,为了该示例,假设节点134(4)不满足跳过条件的标准。在那种场景下,节点134(4)将被识别为节点134(3)的合格的同级,为了该示例说明,将其视为已经新添加到网络和/或属性图中。
在方法500在550处识别给定节点的一个或多个合格的同级之后,方法500前进到560。在560处,方法500更新所识别的合格的同级上的传播元数据(“PMD”)。因此,继续上文提供的示例,方法500将更新节点134(4)上的PMD。此时,方法500在570处确定是否继续处理,例如,是否需要进一步处理。如果方法500确定此时不继续处理,则方法500将在此时结束。然而,在方法500在570处确定继续处理的通常情况下,方法500将返回到510。此外,尽管未在图4或图5中明确示出,当在步骤560中在合格的同级上更新PMD时,该更新通常关于新更新的节点(在该示例中,节点134(4))触发另一次通过图4和方法400,以确定是否还应将更新的信息传播到节点134(4)的任何其他合格的同级。
图6是示出结合本文所公开的系统和技术的一个实施方案执行的各种动作的方法600的流程图。如根据本公开还将理解的,可以修改该方法以便得出另选实施方案。此外,尽管本实施方案中的步骤以连续顺序示出,但是某些步骤可以以与所示顺序不同的顺序发生,某些步骤可以同时执行,某些步骤可以与其他步骤组合,并且某些步骤可以在另一个实施方案中省略。参考诸如结合图1A、图1B和图2描述的元件描述方法600。在一个实施方案中,方法600由管理服务器执行,诸如,例如管理服务器120。在其他实施方案中,方法600由与管理服务器120不同的一个或多个线程、守护进程、进程或其他此类构造(统称为“线程”)执行,诸如可以定位在图1A和图1B中所示的各种其他单个元件上。此外,当结合图1B和属性图130阅读时,将最好地理解方法600的讨论。
方法600开始于610,其中该方法侦听对象和/或关系(统称为“一个或多个对象”)的删除或移除(统称为“删除”及其词形变化)。方法600在620处确定所删除的对象是否具有任何传播元数据或“PMD”。如果方法600在620处确定所删除的对象不具有任何PMD,则方法600前进到630并继续侦听另一个对象的删除。如果方法600在620处确定所删除的对象确实具有PMD,则方法600前进到640。为了说明方法600,假设删除了节点134(3)。进一步假设节点134(3)确实包含PMD。在该示例中,方法600将在620处确定节点134(3)具有PMD,并且照此,在该示例中,方法600将进行到640。
在640处,方法600识别任何合格的同级节点。继续基于节点134(3)的删除的示例以及上文提供的定义的示例,随后方法600在此时识别节点134(3)的任何合格的同级。与方法400和方法500的情况一样,通过相对于两个条件评估任何给定节点的同级来确定合格的同级:首先,根据规则的“传播方向”标准评估同级。其次,关于跳过条件的标准评估同级,这可能导致跳过一个或多个合格的同级。因此,使用上文提供的示例规则,并从节点134(3)的角度考虑该规则的应用程序,已经指出节点134(1)和节点134(4)是节点134(3)的同级。然而,当方向被设置为“进入”时,只有节点134(4)满足“传播方向”条件。因此,节点134(4)是节点134(3)的唯一潜在合格的同级,在该示例中,节点134(3)又是新添加的节点。因此,只要节点134(4)不被跳过条件排除,则节点134(4)将被识别为合格的同级。然而,为了该示例,假设节点134(4)不满足跳过条件的标准。在那种场景下,节点134(4)将被识别为节点134(3)的合格的同级,为了该示例说明,将其视为最近从网络和/或属性图中删除。
在方法600在640处识别给定节点的一个或多个合格的同级之后,方法600前进到650。在650处,方法600清除所识别的合格的同级上的传播元数据(“PMD”)。因此,继续上文提供的示例,方法600将清除节点134(4)上的PMD。此时,方法600在660处确定是否继续处理,例如,是否需要进一步处理。如果方法600确定此时不继续处理,则方法600将在此时结束。然而,在方法600在660处确定继续处理的通常情况下,方法600将返回到610。
图7是能够执行上述操作中的一个或多个的计算系统700的框图。计算系统700在广义上表示能够执行计算机可读指令的任何单处理器或多处理器计算设备或系统。计算系统700的示例包括但不限于以下各种设备中的任一者或多者:工作站、个人计算机、膝上型电脑、客户端侧终端、服务器、分布式计算系统、手持设备(例如,个人数字助理和移动电话)、网络设备、存储控制器(例如,阵列控制器、磁带驱动控制器或硬盘驱动控制器)等。在其最基本的配置下,计算系统700可包括至少一个处理器714和存储器716。通过执行调用与本公开一致的管理模块129或属性图130或其任何修改形式中的一者或多者的软件,计算系统700成为专用计算设备,其被配置为以上述方式执行操作。
处理器714通常表示能够处理数据或解译和执行指令的任何类型或形式的处理单元。在某些实施方案中,处理器714可接收来自软件应用程序或模块的指令。这些指令可使处理器714执行本文描述和/或示出的实施方案中的一个或多个实施方案的功能。例如,处理器714可执行本文所述的操作,和/或可以是用于执行本文所述的操作的装置。处理器714还可执行本文描述和/或示出的任何其他操作、方法或过程和/或可以是用于执行本文描述和/或示出的任何其他操作、方法或过程的装置。
存储器716通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。示例包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、闪存存储器、硬盘驱动器或任何其他合适的存储器设备。尽管并非必需,但是在某些实施方案中,计算系统700可包括易失性存储器单元和非易失性存储设备两者。在一个示例中,可以将实现本文所述的一个或多个操作的程序指令加载到存储器710中。
在某些实施方案中,除处理器714和存储器716之外,计算系统700还可包括一个或多个部件或元件。例如,如图7所示,计算系统700可包括存储器控制器718、输入/输出(I/O)控制器720和通信接口722,它们中的每一者都可经由通信基础设施712互连。通信基础设施712通常表示能够促进计算设备的一个或多个部件之间的通信的任何类型或形式的基础设施。通信基础设施712的示例包括但不限于通信总线(诸如工业标准架构(ISA)、外围部件互连(PCI)、PCI Express(PCIe)或类似的总线)和网络。
存储器控制器718通常表示能够处理存储器或数据或者控制计算系统700的一个或多个部件之间的通信的任何类型或形式的设备。例如,在某些实施方案中,存储器控制器718可经由通信基础设施712控制处理器714、存储器716和I/O控制器720之间的通信。在某些实施方案中,存储器控制器718可单独或结合其他元件来执行本文描述和/或示出的操作或特征中的一者或多者,和/或可以是用于单独或与其他元件组合来执行本文所述和/或示出的操作或特征中的一者或多者的装置。
I/O控制器720通常表示能够协调和/或控制计算设备的输入功能和输出功能的任何类型或形式的模块。例如,在某些实施方案中,I/O控制器720可控制或促进计算系统700的一个或多个元件之间的数据传送,所述元件诸如处理器714、存储器716、通信接口722、显示适配器726、输入接口730和存储接口734。
通信接口722在广义上表示能够促进计算系统700与一个或多个附加设备之间的通信的任何类型或形式的通信设备或适配器。例如,在某些实施方案中,通信接口722可以促进计算系统700与包括附加计算系统的私网或公网之间的通信。通信接口722的示例包括但不限于有线网络接口(诸如网络接口卡)、无线网络接口(诸如无线网络接口卡)、调制解调器以及任何其他合适的接口。在至少一个实施方案中,通信接口722可以经由到网络(诸如互联网)的直接链路来提供到远程服务器的直接连接。通信接口722还可以通过例如局域网(诸如以太网网络)、个人区域网、电话或电缆网络、蜂窝电话连接、卫星数据连接或任何其它合适的连接来间接提供此类连接。
在某些实施方案中,通信接口722还可表示主机适配器,该主机适配器被配置为经由外部总线或通信信道来促进计算系统700与一个或多个附加网络或存储设备之间的通信。主机适配器的示例包括但不限于:小型计算机系统接口(SCSI)主机适配器、通用串行总线(USB)主机适配器、电气与电子工程师协会(IEEE)1894主机适配器、串行高级技术附件(SATA)和外部SATA(eSATA)主机适配器、高级技术附件(ATA)和并行ATA(PATA)主机适配器、光纤信道接口适配器、以太网适配器等。
通信接口722也可允许计算系统700参与分布式或远程计算。例如,通信接口722可接收来自远程设备的指令或将指令发送到远程设备以供执行。
如图7所示,计算系统700还可包括至少一个显示设备724,该至少一个显示设备经由显示适配器726耦接到通信基础设施712。显示设备724通常表示能够可视地显示由显示适配器726转发的信息的任何类型或形式的设备。类似地,显示适配器726通常表示被配置为转发来自通信基础设施712(或来自帧缓冲器)的图形、文本和其他数据以在显示设备724上显示的任何类型或形式的设备。
如图7所示,计算系统700还可包括至少一个输入设备728,该输入设备经由输入接口730耦接到通信基础设施712。输入设备728通常表示能够向计算系统700提供由计算机或人生成的输入的任何类型或形式的输入设备。输入设备728的示例包括但不限于键盘、指向设备、语音识别设备或任何其他输入设备。
如图7所示,计算系统700还可包括存储设备732,该存储设备经由存储接口734耦接到通信基础设施712。存储设备732通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。例如,存储设备732可以是磁盘驱动器(例如,所谓的硬盘驱动器)、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器等。存储接口734通常表示用于在存储设备732与计算系统700的其他部件之间传送数据的任何类型或形式的接口或设备。类似于存储设备732的存储设备可以存储信息诸如本文所述的数据结构,以及能够使计算机系统执行本文所述的一个或多个操作的一个或多个计算机可读编程指令。
在某些实施方案中,存储设备732可被配置为对可移除存储单元执行读取和/或写入,该可移除存储单元被配置为存储计算机软件、数据或其它计算机可读信息。合适的可移除存储单元的示例包括但不限于软盘、磁带、光盘、闪存存储器设备等。存储设备732还可包括用于允许将计算机软件、数据或其他计算机可读指令加载到计算系统700中的其他类似结构或设备。例如,存储设备732可被配置为读取和写入软件、数据或其他计算机可读信息。存储设备732还可以是计算系统500的一部分,或者可以是通过其他接口系统访问的独立设备。
可以将许多其他设备或子系统连接到计算系统700。相反地,图7所示的部件和设备都不必存在以实践本文所描述和/或展示的实施方案。上文提及的设备和子系统也可以按照与图7所示不同的方式互连。
计算系统700也可采用任何数量的软件配置、固件配置和/或硬件配置。例如,本文公开的实施方案中的一个或多个实施方案可被编码为非暂态计算机可读存储介质上的计算机程序(也被称为计算机软件、软件应用程序、计算机可读指令或计算机控制逻辑)。非暂态计算机可读存储介质的示例包括磁存储介质(例如,硬盘驱动器和软盘)、光学存储介质(例如,CD-ROM或DVD-ROM)、电子存储介质(例如,固态驱动器和闪存介质)等。此类计算机程序也可被传输至计算系统700,以经由网络诸如互联网存储在存储器中或存储在载体介质上。
包含计算机编程指令的非暂态计算机可读存储介质可以加载到计算系统700中。然后,可将存储在非暂态计算机可读存储介质上的计算机编程指令的全部或一部分存储在存储器716和/或存储设备732的各个部分中。当由处理器714执行时,加载到计算系统700中的计算机程序可使处理器714执行本文所述和/或示出的实施方案中的一个或多个实施方案的功能和/或可使处理器成为用于执行本文所述和/或示出的实施方案中的一个或多个实施方案的功能的装置。除此之外或另选地,可在固件和/或硬件中实现本文描述和/或示出的实施方案中的一个或多个实施方案。例如,计算系统700可被配置为适于实现本文公开的实施方案中的一个或多个实施方案的专用集成电路(ASIC)。
图8是网络架构800的框图,其中客户端系统810、820和830以及服务器840和845可耦接到网络850。客户端系统810、820和830通常表示任何类型或形式的计算设备或系统,诸如图7中的计算系统700。
类似地,服务器840和845通常表示被配置为提供各种数据库服务并且/或者运行某些软件应用程序的计算设备或系统,诸如应用程序服务器或数据库服务器。网络850通常表示任何电信或计算机网络,包括例如内联网、广域网(WAN)、局域网(LAN)、个人区域网(PAN)或互联网。在一个示例中,客户端系统810、820和/或830中的一个或多个可以包括被配置为执行管理模块129和/或属性图130中的一者或多者和/或其一个或多个部件或线程的软件。
如图8所示,可将一个或多个存储设备860(1)-(N)直接附接到服务器840。类似地,可以将一个或多个存储设备870(1)-(N)直接附接到服务器845。存储设备860(1)-(N)和存储设备870(1)-(N)通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。在某些实施方案中,存储设备860(1)-(N)和存储设备870(1)-(N)可以表示被配置为使用各种协议与服务器840和845通信的网络附接存储(NAS)设备,所述协议诸如网络文件系统(NFS)、服务器消息块(SMB)或通用互联网文件系统(CIFS)。如上所述,此类存储设备可以存储备份信息和存储配置信息。
服务器840和845也可以连接到存储区域网络(SAN)构造880。SAN构造880通常表示能够促进多个存储设备之间的通信的任何类型或形式的计算机网络或架构。SAN构造880可促进服务器840和845与多个存储设备890(1)-(N)和/或智能存储阵列895之间的通信。SAN构造880还可以经由网络850以及服务器840和845以如下方式促进客户端系统810、820和830与存储设备890(1)-(N)和/或智能存储阵列895之间的通信:设备890(1)-(N)和阵列895呈现为到客户端系统810、820和830的本地附接设备。与存储设备860(1)-(N)和存储设备870(1)-(N)一样,存储设备890(1)-(N)和智能存储阵列895通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。
在某些实施方案中,并且参考图7的计算系统700,通信接口诸如图7中的通信接口722可以用于提供每个客户端系统810、820和830与网络850之间的连接性。客户端系统810、820和830可能够使用例如网页浏览器或其他客户端软件来访问服务器840或845上的信息。此类软件可以允许客户端系统810、820和830访问由服务器840、服务器845、存储设备860(1)-(N)、存储设备870(1)-(N)、存储设备890(1)-(N)或智能存储阵列895托管的数据。虽然图8描绘了使用网络(诸如互联网)来交换数据,但本文所述和/或示出的实施方案并非限于互联网或任何特定的基于网络的环境。
在至少一个实施方案中,本文所公开的一个或多个实施方案中的全部或一部分可以被编码为计算机程序并且加载到服务器840、服务器845、存储设备840(1)-(N)、存储设备870(1)-(N)、存储设备890(1)-(N)、智能存储阵列895或它们的任何组合上并加以执行。本文所公开的一个或多个实施方案中的全部或一部分还可以被编码为计算机程序、存储在服务器840中、由服务器845运行,并且通过网络850分配到客户端系统810、820和830。
在一些示例中,图1A、图1B、图7和图8中的系统之一的全部或一部分可以表示云计算环境或基于网络的环境的部分。云计算环境可经由互联网提供各种服务和应用程序。这些基于云的服务(例如,软件即服务、平台即服务、基础设施即服务等)可通过网页浏览器或其它远程接口访问。本文所述的各种功能可通过远程桌面环境或任何其他基于云的计算环境提供。
此外,本文所述的部件中的一个或多个部件可将数据、物理设备和/或物理设备的表示从一种形式转换为另一种形式。例如,本文所述的一个或多个操作可以变换计算机系统的行为,使得可以执行本文所述的各种操作。
尽管已结合若干实施方案描述了本发明,但是本发明并非旨在限于本文阐述的具体形式。相反地,本发明旨在覆盖可被合理地包括在由所附权利要求书限定的本公开的范围内的此类替代物、修改形式和等同物。

Claims (20)

1.一种方法,包括:
监视数据中心是否有对所述数据中心的更改,其中
所述数据中心包括经由网络彼此通信的多个实体,
所述多个实体包括至少第一实体和第二实体;
对所述数据中心的所述更改由正在执行的一个或多个操作引起,
所述一个或多个操作包括以下中的至少一个:
向所述数据中心添加另一实体的添加操作,
从所述数据中心移除所述多个实体中的实体的移除操作,或者
迁移所述数据中心内的所述多个实体中的所述实体的迁移操作,
所述多个实体中的每个实体由属性图的多个节点中的对应节点表示,
所述第一实体由所述多个节点中的第一节点表示,并且
所述第二实体由所述多个节点中的第二节点表示;
检测所述更改,其中
所述更改与信息相关联;并且
响应于检测到对所述数据中心的所述更改,
确定第一传播规则,其中
所述第一传播规则包括至少第一条件,以及
将所述信息从所述第一节点传播到所述第二节点,其中
所述传播所述信息包括相对于所述第二节点评估所述第一传播规则的所述第一条件。
2.根据权利要求1所述的方法,其中
所述更改是更新所述第一实体的更新操作。
3.根据权利要求1所述的方法,其中
所述更改是对第一对象的传播元数据的更新,其中
所述传播元数据包括以下中的至少一个:
所述第一传播规则的标识,
开始实体的标识,以及
直接连接到所述开始实体的一个或多个节点的标识。
4.根据权利要求1所述的方法,其中
所述更改是对所述多个实体中的实体之间的新关系的创建。
5.根据权利要求1所述的方法,其中
所述更改是对所述多个实体中的实体之间的关系的删除。
6.根据权利要求1所述的方法,还包括:
确定所述多个节点中的合格的同级节点,其中
同级节点是直接连接到另一节点的节点,
所述合格的同级节点是满足传播方向标准并且不与跳过条件标准相关联的同级节点,并且
所述第一传播规则包括所述传播方向标准和所述跳过条件标准。
7.根据权利要求1所述的方法,还包括:
将传播元数据添加到表示所述第一节点的第一对象,其中所述传播元数据包括以下中的至少一个:
所述第一传播规则的标识,
开始实体的标识,以及
直接连接到所述开始实体的一个或多个节点的标识。
8.根据权利要求3所述的方法,还包括:
确定所述多个节点中的合格的同级节点,其中
同级节点是直接连接到另一节点的节点,
所述合格的同级节点是满足传播方向标准并且不与跳过条件标准相关联的同级节点,并且
所述第一传播规则包括所述传播方向标准和所述跳过条件标准;以及
更新表示所述合格的同级节点的对象的所述传播元数据。
9.根据权利要求5所述的方法,还包括:
确定合格的同级节点,其中
同级节点是直接连接到另一节点的节点,
所述合格的同级节点是满足传播方向标准并且不与跳过条件标准相关联的同级节点,并且
所述第一传播规则包括所述传播方向标准和所述跳过条件标准;以及
从表示所述合格的同级节点的对象清除传播元数据,其中
所述传播元数据包括以下中的至少一个:
所述第一传播规则的标识,
开始实体的标识,以及
所述合格的同级节点的标识。
10.一种计算机系统,包括:
微处理器;和
非暂态计算机可读存储介质,包括由所述微处理器执行的计算机指令,其中所述计算机指令被配置为执行方法,所述方法包括:
监视数据中心是否有对所述数据中心的更改,其中
所述数据中心包括经由网络彼此通信的多个实体,
所述多个实体包括至少第一实体和第二实体;
对所述数据中心的所述更改由正在执行的一个或多个操作引起,
所述一个或多个操作包括以下中的至少一个:
向所述数据中心添加另一实体的添加操作,
从所述数据中心移除所述多个实体中的实体的移除操作,或者
迁移所述数据中心内的所述多个实体中的所述实体的迁移操作,
所述多个实体中的每个实体由属性图的多个节点中的对应节点表示,
所述第一实体由所述多个节点中的第一节点表示,并且
所述第二实体由所述多个节点中的第二节点表示;
检测所述更改,其中
所述更改与信息相关联,并且
响应于检测到对所述数据中心的所述更改,
确定第一传播规则,其中
所述第一传播规则包括至少第一条件;以及
将所述信息从所述第一节点传播到所述第二节点,其中
所述传播所述信息包括相对于所述第二节点评估所述第一传播规则的所述第一条件。
11.根据权利要求10所述的计算机系统,其中
所述更改是更新所述第一实体的更新操作。
12.根据权利要求10所述的计算机系统,其中
所述更改是对第一对象的传播元数据的更新,其中
所述传播元数据包括以下中的至少一个:
所述第一传播规则的标识,
开始实体的标识,以及
直接连接到所述开始实体的一个或多个节点的标识。
13.根据权利要求10所述的计算机系统,其中
所述更改是对所述多个实体中的实体之间的新关系的创建。
14.根据权利要求10所述的计算机系统,其中
所述更改是对所述多个实体中的实体之间的关系的删除。
15.根据权利要求10所述的计算机系统,还包括:
将传播元数据添加到表示所述第一节点的第一对象,其中所述传播元数据包括以下中的至少一个:
所述第一传播规则的标识,
开始实体的标识,以及
直接连接到所述开始实体的一个或多个节点的标识。
16.根据权利要求13所述的计算机系统,还包括:
确定所述多个节点中的合格的同级节点,其中
同级节点是直接连接到另一节点的节点,
所述合格的同级节点是满足传播方向标准并且不与跳过条件标准相关联的同级节点,并且
所述第一传播规则包括所述传播方向标准和所述跳过条件标准;以及
更新表示所述合格的同级节点的传播元数据。
17.根据权利要求14所述的计算机系统,还包括:
确定合格的同级节点,其中
同级节点是直接连接到另一节点的节点,
所述合格的同级节点是满足传播方向标准并且不与跳过条件标准相关联的同级节点,并且
所述第一传播规则包括所述传播方向标准和所述跳过条件标准;以及
从表示所述合格的同级节点的对象清除传播元数据,其中
所述传播元数据包括以下中的至少一个:
所述第一传播规则的标识,
开始实体的标识,以及
所述合格的同级节点的标识。
18.一种非暂态计算机可读存储介质,包括存储在其上的多个指令,其中所述指令被配置为执行方法,所述方法包括:
监视数据中心是否有对所述数据中心的更改,其中
所述数据中心包括经由网络彼此通信的多个实体,
所述多个实体包括至少第一实体和第二实体;
对所述数据中心的所述更改由正在执行的一个或多个操作引起,
所述一个或多个操作包括以下中的至少一个:
向所述数据中心添加另一实体的添加操作,
从所述数据中心移除所述多个实体中的实体的移除操作,或者
迁移所述数据中心内的所述多个实体中的所述实体的迁移操作,
所述多个实体中的每个实体由属性图的多个节点中的对应节点表示,
所述第一实体由所述多个节点中的第一节点表示,并且
所述第二实体由所述多个节点中的第二节点表示;
检测所述更改,其中
所述更改与信息相关联;并且
响应于检测到对所述数据中心的所述更改,
确定第一传播规则,其中
所述第一传播规则包括至少第一条件,以及
将所述信息从所述第一节点传播到所述第二节点,其中
所述传播所述信息包括相对于所述第二节点评估所述第一传播规则的所述第一条件。
19.根据权利要求18所述的非暂态计算机可读存储介质,其中所述方法还包括:
确定所述多个节点中的合格的同级节点,其中
响应于确定所述更改是创建所述多个实体中的实体之间的新关系的创建操作,执行所述确定所述合格的同级节点,
同级节点是直接连接到另一节点的节点,
所述合格的同级节点是满足传播方向标准并且不与跳过条件标准相关联的同级节点,并且
所述第一传播规则包括所述传播方向标准和所述跳过条件标准;以及
更新表示所述合格的同级节点的对象的传播元数据。
20.根据权利要求18所述的非暂态计算机可读存储介质,其中所述方法还包括:
确定所述多个节点中的合格的同级节点,其中
响应于确定所述更改是对所述多个实体中的实体之间的关系的删除,执行所述确定所述合格的同级节点,
同级节点是直接连接到另一节点的节点,
所述合格的同级节点是满足传播方向标准并且不与跳过条件标准相关联的同级节点,并且
所述第一传播规则包括所述传播方向标准和所述跳过条件标准;以及
从表示所述合格的同级节点的对象清除传播元数据,其中
所述传播元数据包括以下中的至少一个:
所述第一传播规则的标识,
开始实体的标识,以及
所述合格的同级节点的标识。
CN201880016789.6A 2017-02-05 2018-01-31 不考虑特定实体类型而在连接的一组实体中传播信息的系统和方法 Active CN110582752B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201762454871P 2017-02-05 2017-02-05
US62/454871 2017-02-05
US201762599783P 2017-12-17 2017-12-17
US62/599783 2017-12-17
US15/857577 2017-12-28
US15/857,577 US11310137B2 (en) 2017-02-05 2017-12-28 System and method to propagate information across a connected set of entities irrespective of the specific entity type
PCT/US2018/016064 WO2018144492A1 (en) 2017-02-05 2018-01-31 System and method to propagate information across a connected set of entities irrespective of the specific entity type

Publications (2)

Publication Number Publication Date
CN110582752A CN110582752A (zh) 2019-12-17
CN110582752B true CN110582752B (zh) 2023-05-30

Family

ID=63038114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880016789.6A Active CN110582752B (zh) 2017-02-05 2018-01-31 不考虑特定实体类型而在连接的一组实体中传播信息的系统和方法

Country Status (5)

Country Link
US (1) US11310137B2 (zh)
EP (1) EP3590041B1 (zh)
JP (1) JP6841921B2 (zh)
CN (1) CN110582752B (zh)
WO (1) WO2018144492A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10909097B2 (en) 2017-02-05 2021-02-02 Veritas Technologies Llc Method and system for dependency analysis of workloads for orchestration
CN111158676A (zh) * 2019-12-31 2020-05-15 山东蚁动网络科技有限公司 基于变量传播技术的构件关联性分析方法及设备、介质
US11429640B2 (en) 2020-02-28 2022-08-30 Veritas Technologies Llc Methods and systems for data resynchronization in a replication environment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238178A (zh) * 2011-05-30 2011-11-09 李牧森 基于互联网技术应用的多层次传播信息的客户端桌面媒体

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5263154A (en) 1992-04-20 1993-11-16 International Business Machines Corporation Method and system for incremental time zero backup copying of data
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5649152A (en) 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
US5875479A (en) 1997-01-07 1999-02-23 International Business Machines Corporation Method and means for making a dual volume level copy in a DASD storage subsystem subject to updating during the copy interval
US5915098A (en) 1997-10-24 1999-06-22 Digital Equipment Corp. System for compressing bit maps to be shared and displayed in collaborative tool by client and server systems
US6757797B1 (en) 1999-09-30 2004-06-29 Fujitsu Limited Copying method between logical disks, disk-storage system and its storage medium
US20030014523A1 (en) 2001-07-13 2003-01-16 John Teloh Storage network data replicator
US7054890B2 (en) 2001-09-21 2006-05-30 Sun Microsystems, Inc. Method and apparatus for managing data imaging in a distributed computer system
US7139885B2 (en) 2001-12-27 2006-11-21 Hitachi, Ltd. Method and apparatus for managing storage based replication
US6779093B1 (en) 2002-02-15 2004-08-17 Veritas Operating Corporation Control facility for processing in-band control messages during data replication
US7747576B2 (en) 2002-02-20 2010-06-29 International Business Machines Corporation Incremental update control for remote copy
US6728898B2 (en) 2002-03-06 2004-04-27 Marathon Technologies Corporation Producing a mirrored copy using incremental-divergence
US7103796B1 (en) 2002-09-03 2006-09-05 Veritas Operating Corporation Parallel data change tracking for maintaining mirrored data consistency
US7505872B2 (en) 2002-09-11 2009-03-17 International Business Machines Corporation Methods and apparatus for impact analysis and problem determination
US7665063B1 (en) * 2004-05-26 2010-02-16 Pegasystems, Inc. Integration of declarative rule-based processing with procedural programming
US7386752B1 (en) 2004-06-30 2008-06-10 Symantec Operating Corporation Using asset dependencies to identify the recovery set and optionally automate and/or optimize the recovery
US7987368B2 (en) * 2005-10-28 2011-07-26 Microsoft Corporation Peer-to-peer networks with protections
US7617253B2 (en) 2005-12-19 2009-11-10 Commvault Systems, Inc. Destination systems and methods for performing data replication
US7853998B2 (en) * 2007-03-22 2010-12-14 Mocana Corporation Firewall propagation
US8451809B2 (en) 2007-04-13 2013-05-28 Hart Communication Foundation Wireless gateway in a process control environment supporting a wireless communication protocol
US8453165B2 (en) 2008-01-22 2013-05-28 International Business Machines Corporation Distributing event processing in event relationship networks
US8346743B2 (en) 2008-09-18 2013-01-01 International Business Machines Corporation Configuring data collection rules in a data monitoring system
US8037341B2 (en) 2008-12-29 2011-10-11 International Business Machines Corporation Determining recovery time for interdependent resources in heterogeneous computing environment
US20110126197A1 (en) 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system
US8577850B1 (en) 2010-11-15 2013-11-05 Symantec Corporation Techniques for global data deduplication
US9442806B1 (en) 2010-11-30 2016-09-13 Veritas Technologies Llc Block-level deduplication
US9910904B2 (en) 2011-08-30 2018-03-06 International Business Machines Corporation Replication of data objects from a source server to a target server
US8874508B1 (en) 2012-10-02 2014-10-28 Symantec Corporation Systems and methods for enabling database disaster recovery using replicated volumes
US9087088B1 (en) 2012-11-13 2015-07-21 American Express Travel Related Services Company, Inc. Systems and methods for dynamic construction of entity graphs
US9740422B1 (en) 2013-03-14 2017-08-22 EMC IP Holding Company LLC Version-based deduplication of incremental forever type backup
US9575789B1 (en) * 2013-06-26 2017-02-21 Veritas Technologies Systems and methods for enabling migratory virtual machines to expedite access to resources
US9690546B2 (en) * 2014-03-26 2017-06-27 Software Ag Method and system for transitive traversal service discovery
US9912546B2 (en) 2014-03-28 2018-03-06 Sciencelogic, Inc. Component detection and management using relationships
US9509697B1 (en) 2014-09-15 2016-11-29 Symantec Corporation Systems and methods for authorizing attempts to access shared libraries
US9639274B2 (en) 2015-04-14 2017-05-02 Commvault Systems, Inc. Efficient deduplication database validation
US9710189B2 (en) 2015-06-18 2017-07-18 Infinidat Ltd. Resynchronization of a remote storage site after replication failure
WO2017014814A1 (en) 2015-07-22 2017-01-26 Hewlett Packard Enterprise Development Lp Replicating memory volumes
WO2017131783A1 (en) * 2016-01-29 2017-08-03 Hewlett Packard Enterprise Development Lp Managing groups of servers
US10620834B2 (en) 2016-03-25 2020-04-14 Netapp, Inc. Managing storage space based on multiple dataset backup versions
US10313382B2 (en) 2016-03-29 2019-06-04 The Mitre Corporation System and method for visualizing and analyzing cyber-attacks using a graph model
WO2017171734A1 (en) 2016-03-29 2017-10-05 United States Infrastructure Management Company Advanced infrastructure management
US10108803B2 (en) 2016-03-31 2018-10-23 International Business Machines Corporation Automatic generation of data-centric attack graphs
US10496494B1 (en) 2016-03-31 2019-12-03 EMC IP Holding Company LLC Multilayer manifest for data storage systems
US9891849B2 (en) 2016-04-14 2018-02-13 International Business Machines Corporation Accelerated recovery in data replication environments
US20180285201A1 (en) 2017-03-28 2018-10-04 Commvault Systems, Inc. Backup operations for large databases using live synchronization
US10592149B1 (en) 2017-10-06 2020-03-17 EMC IP Holding Company LLC Dynamic de-duplication methodologies for efficient resource utilization on de-duplication system
JP6884128B2 (ja) 2018-09-20 2021-06-09 株式会社日立製作所 データ重複排除装置、データ重複排除方法、及びデータ重複排除プログラム
US10936216B2 (en) 2018-09-26 2021-03-02 EMC IP Holding Company LLC Method and system for storage exhaustion estimation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238178A (zh) * 2011-05-30 2011-11-09 李牧森 基于互联网技术应用的多层次传播信息的客户端桌面媒体

Also Published As

Publication number Publication date
JP6841921B2 (ja) 2021-03-10
US11310137B2 (en) 2022-04-19
WO2018144492A1 (en) 2018-08-09
EP3590041A1 (en) 2020-01-08
CN110582752A (zh) 2019-12-17
US20180227205A1 (en) 2018-08-09
EP3590041B1 (en) 2021-03-31
JP2020514879A (ja) 2020-05-21

Similar Documents

Publication Publication Date Title
US9116803B1 (en) Placement of virtual machines based on page commonality
CN110603524B (zh) 用于编排的工作负载的依赖性分析的方法和系统
US9792306B1 (en) Data transfer between dissimilar deduplication systems
US8898120B1 (en) Systems and methods for distributed data deduplication
US10715622B2 (en) Systems and methods for accelerating object stores with distributed caching
US8364716B2 (en) Methods and apparatus for incrementally computing similarity of data sources
US20120102003A1 (en) Parallel data redundancy removal
US10380074B1 (en) Systems and methods for efficient backup deduplication
US10620866B1 (en) Representation-based partitioning of distributed computing environments
CN110582752B (zh) 不考虑特定实体类型而在连接的一组实体中传播信息的系统和方法
US11210003B2 (en) Method, device and computer program product for restoring data based on replacing child node identifiers with parent node identifier
JP2018519608A (ja) データアクセスアクセラレータ
US11550913B2 (en) System and method for performing an antivirus scan using file level deduplication
US11809379B2 (en) Storage tiering for deduplicated storage environments
US10467190B2 (en) Tracking access pattern of inodes and pre-fetching inodes
US9684668B1 (en) Systems and methods for performing lookups on distributed deduplicated data systems
WO2018064319A9 (en) FOLLOW-UP OF INODES ACCESS SCHEMES AND INOX PREXTRACTION
US20230055511A1 (en) Optimizing clustered filesystem lock ordering in multi-gateway supported hybrid cloud environment
US10705752B2 (en) Efficient data migration in hierarchical storage management system
US10620863B2 (en) Managing data reduction in storage systems using machine learning
CN112148728A (zh) 用于信息处理的方法、设备和计算机程序产品
US10235293B2 (en) Tracking access pattern of inodes and pre-fetching inodes
US8225009B1 (en) Systems and methods for selectively discovering storage devices connected to host computing devices
US10712959B2 (en) Method, device and computer program product for storing data
US8954780B1 (en) Systems and methods for transferring input/output operations within computer clusters

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