CN106663042B - 可扩展数据存储池 - Google Patents

可扩展数据存储池 Download PDF

Info

Publication number
CN106663042B
CN106663042B CN201580049228.2A CN201580049228A CN106663042B CN 106663042 B CN106663042 B CN 106663042B CN 201580049228 A CN201580049228 A CN 201580049228A CN 106663042 B CN106663042 B CN 106663042B
Authority
CN
China
Prior art keywords
data storage
data
storage pool
pool
metadata
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
CN201580049228.2A
Other languages
English (en)
Other versions
CN106663042A (zh
Inventor
A.P.文图拉
T.拉马尼
K.梅拉
S.K.拉帕尔
S.C.哈夫瓦拉
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN106663042A publication Critical patent/CN106663042A/zh
Application granted granted Critical
Publication of CN106663042B publication Critical patent/CN106663042B/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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

描述了可扩展数据存储技术。在一个或多个实施方式中,通过描述存储层级中的故障域和数据存储池中的可用存储资源的一个或多个计算装置获得数据。通过一个或多个计算装置确定与存储层级的一个或多个等级中的可用存储资源相关联的装置的操作特征。基于存储层级的一个或多个等级中的描述的故障域和装置的确定的操作特征,通过一个或多个计算装置将元数据的分布分配至数据存储池中的一个或多个特定数据存储装置。

Description

可扩展数据存储池
背景技术
通过数据中心的“云中”数据存储的普遍性持续增长。例如,网络服务可被构造为将数据作为网络的一部分远程地存储,以使得该数据可通过多种不同的装置容易地访问,例如以支持网络服务的操作并且甚至用作用于网络服务的唯一目的。
已经开发了通过使用数据存储池管理数据中心中的数据的技术。数据存储池通常形成为针对特定数据存储任务(例如,针对数据中心的特定使用方)构造的数据存储装置的集合。然而,基于作为数据存储池的一部分的元数据存储的常规局限,用于形成和管理这些数据存储池的常规技术并非可扩展的。
发明内容
已描述了可扩展数据存储技术。在一个或多个实施方式中,通过描述存储层级中的故障域和数据存储池中的可用存储资源的一个或多个计算装置获得数据。通过一个或多个计算装置确定与存储层级的一个或多个等级中的可用存储资源相关联的装置的操作特征。基于存储层级的一个或多个等级中的描述的故障域和装置的确定的操作特征,通过一个或多个计算装置将元数据的分布分配至数据存储池中的一个或多个特定数据存储装置。
在一个或多个实施方式中,一种系统包括至少部分地在硬件中实施的一个或多个模块。所述一个或多个模块被构造为执行以下操作,包括:经单个事务将多个数据存储装置添加至数据存储池。响应于所述添加,基于数据存储池中的每个数据存储装置的操作特征分配数据存储池中的元数据的分布。
在一个或多个实施方式中,一种系统包括至少部分地在硬件中实施的一个或多个模块。所述一个或多个模块被构造为执行以下操作,包括:接收指示以再平衡数据存储池中的元数据分布;以及获得描述针对数据存储池指定的弹性约束的数据。基于描述的弹性约束,将元数据的再分布分配至数据存储池中的一个或多个特定数据存储装置。
提供该发明内容以按照简化形式引入概念的选择,在以下具体实施方式中进一步描述。该发明内容不旨在指明要求保护的主题内容的关键特征或必要特征,也不旨在用于帮助确定要求保护的主题内容的范围。
附图说明
参照附图描述具体实施方式。在附图中,附图标记的最左侧的(多个)数字代表其中首先出现该附图标记的图。在说明书和附图中在不同的实例中使用相同的附图标记可指示相似或相同的项。在附图中表示的实体可代表一个或多个实体,因此在讨论中对实体的单数或复数形式的引用可互换。
图1是可采用可扩展数据存储池技术操作的示例实施方式中的环境的示图;
图2描绘了一个示例实施方式中的系统,示出了其中可实施图1的数据存储池的存储层级;
图3是描绘了一个示例实施方式中的程序的流程图,在所述示例实施方式中,将技术描述为通过运用数据存储池中的故障域的知识将元数据分配至存储层级中的存储装置;
图4描绘了一个示例实施方式中的系统,在所述示例实施方式中,在对数据存储池中的数据存储装置进行管理时通过池管理器模块采用并行机制;
图5描绘了一个示例中的系统,在所述示例中,分配了元数据并且将数据存储装置加入数据存储池;
图6是描绘了一个示例实施方式中的程序的流程图,在所述示例实施方式中,分配了元数据并且将数据存储装置加入数据存储池;
图7描绘了一个示例中的系统,在所述示例中,响应于一个指示在数据存储池中使元数据再平衡;
图8是描绘了一个示例实施方式中的程序的流程图,在所述示例实施方式中,在数据存储池中使元数据再平衡;
图9示出了一种示例系统,该系统包括可实施为参照图1-图8描述的任何类型的计算装置以实施本文描述的技术的实施例的示例装置的各种组件。
具体实施方式
概述
已描述了可扩展数据存储技术。在一个或多个实施方式中,描述了这样的技术,其中可通过将用于描述在数据存储池中可找到“位置(where)”数据的元数据布置在数据存储装置的子集上来增大数据存储池中的数据存储装置(例如,硬盘驱动器)的最大数量。
可基于多种考虑来分配哪些数据存储装置来接收元数据。例如,所述分配可基于健康、数据连接类型、媒体类型、在数据存储池中如何使用或者数据存储装置的当前元数据状态。另外,还可考虑数据存储层级中的故障域,诸如如何通过数据存储装置存储数据以及将数据存储装置遍及数据中心、机架和机箱(enclosure)分布。这样,数据存储池可保护数据存储池的存储层级中的不同等级的装置免于故障。此外,可通过针对数据存储池指定的弹性约束,指定数据存储装置的数量以及诸如待使用的故障域的数量的考虑。
另外,数据存储池的管理可利用其中采用并行机制作为增加数据存储装置或者从数据存储池去除数据存储装置的一部分的技术。例如,可利用多个线程将多个数据存储装置并行格式化,并且随后将它们加至数据存储池作为单个事务。还可采用相似的技术来从数据存储池中删除数据存储装置。
数据存储池还可采用用于分配元数据的再平衡技术。例如,由于存储层级中的数据存储装置或其它装置的增加、去除、故障等,可从诸如用户接收对元数据的分布进行改变的一个指示。响应于此,可基于数据存储池的弹性约束以及其它先前描述的考虑(诸如操作特征、故障域等),使元数据再平衡。可在以下部分中找到这些和其它技术的其它讨论。
在以下讨论中,首先描述了可采用本文描述的可扩展数据存储池技术的示例环境。接着描述可在所述示例环境以及其它环境中执行的示例程序。结果,示例程序的执行不限于所述示例环境,并且所述示例环境不限于示例程序的执行。
以下讨论描述了可利用先前描述的系统和装置实施的可扩展数据存储池技术。每一个程序的各方面可按照硬件、固件或软件或它们的组合实施。程序示为指定通过一个或多个装置执行的操作的一组框,并且不一定限于通过对应的框所示的执行操作的次序。在以下讨论的一些部分中,将参考上述附图。
在本文所述的程序的上下文中可采用参照图1-8的示例描述的功能、特征和概念。此外,参照下面的不同程序描述的功能、特征和概念可在不同的程序之间互换,并且不限于单独的程序的上下文中的实施方式。而且,可将与本文中不同代表性程序和对应的附图相关联的框一起应用和/或按照不同方式组合。因此,参照本文中不同示例环境、装置、组件和程序描述的单独的功能、特征和概念可在任何合适的组合中使用,并且不限于由所列举的示例代表的特定组合。
示例环境
图1是可采用本文所述的技术操作的示例实施方式中的环境100的示图。示出的环境100包括经网络106以通信方式耦合的存储服务提供方102和使用方104。可实施存储服务提供方102和使用方104的计算装置108、110可按照多种方式构造。
例如,计算装置110可被构造为能够经网络106通信的计算机,诸如台式计算机、移动站、娱乐用品、以可通信方式耦合至显示装置的机顶盒、无线电话、游戏机等。因此,计算装置110的范围可从具有大量存储器和处理器资源(例如,个人计算机、游戏机)的全资源装置至具有有限的存储器和/或处理资源(例如,传统机顶盒、掌中游戏机)的低资源装置。另外,计算装置可代表多种不同装置,诸如企业利用用以诸如通过存储服务提供方的计算装置108执行操作的多个服务器等。
虽然网络106示例为因特网,但是可认为网络具有很多种构造。例如,网络106可包括广域网(WAN)、局域网(LAN)、无线网、公共电话网络、内联网等。此外,虽然示出了单个网络106,但是可将网络106构造为包括多个网络。
例如,当被实施为网络服务的一部分(诸如存储社会网络服务的照片)时,存储服务提供方102示例为包括可用于存储使用方104的数据和/或存储服务提供方102自己的数据的多个数据存储池112。涉及管理数据存储池的功能由池管理器模块114表示。如上所述,这种管理可包括选择数据存储池112中的哪些数据存储装置包括元数据,在图2和图3中可进行进一步讨论。数据存储池112的管理还可采用并行机制,诸如将数据存储装置同时格式化和再格式化,在图4-图6中可进行进一步讨论。此外,池管理器模块114可支持诸如响应于用户输入、数据存储层级中的装置的故障、数据存储装置的添加或去除等的元数据再平衡技术,参见参照图7-图8的进一步讨论。
图2描绘了一个示例实施方式中的系统200,示出了其中可实施图1的数据存储池112的存储层级。该示例中的池管理器模块114示例为包括元数据管理器模块202,其代表了选择如何将元数据分配至数据存储池的功能。
系统200包括存储层级的示例,存储层级包括可位于不同地理位置的一个或多个数据中心204,因此每个数据中心204提供了故障域,其中位于一个地理位置的数据中心204的装置的故障(例如,设施作为整体的功率损失)可通过位于另一地理位置的数据中心的可用性来克服。
每一个数据中心204包括多个机架206。例如,机架206可被构造为包括电源和开关,以容纳机箱208,机箱208也可包括电源和开关,以容纳数据存储装置210。因此,机架206还可提供故障域,其中机架206之一(例如,机架的开关)的故障可通过另一机架来克服。类似地,机架内的机箱208也可提供故障域(其中一个机箱的故障可通过另一机箱来克服),从而在通过多个机箱提供数据的情况下,这些副本可用于容错。另外,数据存储装置210还可通过数据在多个数据存储装置210的副本按照相似的方式提供故障域。也考虑存储层级中的其它等级可提供故障域,诸如存储单元(例如,节点)。
因此,存储层级中的装置可提供故障域,所述故障域可用于保护以防这些域中的装置发生故障。此外,还可分等级地利用所述故障域,以进一步防止装置的故障。因此,元数据管理器模块202可运用图2的数据存储池112的存储层级中的故障域的知识,来选择哪些装置用于接收描述数据存储在数据存储池112中的位置的元数据。例如,元数据管理器模块202可使用指定的弹性约束(例如,容许的故障数量),以将元数据散布在符合该指定的弹性约束的多个装置上,并且最大化存储层级中的可用资源的故障域使用。在以下程序中可以找到对该技术的进一步讨论。
图3描绘了一个示例实施方式中的程序300,在该示例实施方式中,将技术描述为通过运用数据存储池中的故障域的知识将元数据分配至存储层级中的存储装置。通过描述存储层级中的故障域和数据存储池中的可用存储资源的池管理器模块114获得数据(框302)。例如,作为管理图1的数据存储池112的部分的池管理器模块114可确定使用哪些数据存储装置210将数据存储在数据存储池112中。池管理器模块114还可确定被采用作为数据存储池112的一部分并且来自该对应的故障域的存储层级中的其它装置,诸如可用来实施数据存储池112的机箱208、机架206以及甚至不同的数据中心204。
池管理器模块114还可确定与存储层级的一个或多个等级中的可用存储资源相关联的装置的操作特征(框304)。这可以包括:确定数据存储装置210以及与存储层级的其它等级相关联的装置的操作特征,所述存储层级的其它等级即在不同的故障边界上(诸如在机箱208、机架206和数据中心204等级)。
可通过池管理器模块114确定多种不同的操作特征。例如,可确定装置的健康(框306),从而可运用该知识来选择健康装置而不是非健康装置。诸如,还可确定数据连接类型(框308)以便为特定类型的数据存储装置210的总线(例如,NVMe而不是其它总线类型),为机箱208与机架206、机架206与数据中心204等之间的数据连接类型赋予更大的权重。例如,还可为数据存储装置210确定媒体类型(框310),以便为SSD而不是HDD赋予更大的权重以及更大的选择可能性。
池管理器模块114还可确定如何使用存储层级中的装置(框312)。例如,对于数据存储装置210,使用类型可包括自动分配而不是手动类型、期刊类型、热备份类型等,在自动分配类型中,一般可使用数据存储装置210作为数据存储池112的一部分来接收和存储数据。在一个或多个实施方式中,相对于陈旧的类型,每个其他类型被赋予优先级,例如,标记数据存储装置210以将其从数据存储池112中去除。还可确定当前元数据状态(框314),从而池管理器模块114可将更大的权重(以及优先级)赋予存储层级中的当前用于存储元数据的数据存储装置210和相关联的装置。
基于描述的故障域和存储层级的一个或多个等级中的装置的确定的操作特征,将元数据的分布分配至数据存储池中的一个或多个特定数据存储装置(框316)。例如,池管理器模块304可被构造为按照所列次序(例如,健康、然后是数据连接类型、然后是媒体类型、然后是如何使用以及然后是当前元数据状态)将更大的权重赋予这些操作特征。如果这些操作特征中的每一个对于数据存储装置210都是相同的,则可从该集合中随机选择针对元数据使用哪些数据存储装置210的分配。另外,还可考虑故障域,从而基于数据存储池122的可用资源最大化故障边界的数量,例如,当可用时,在不同的机箱208、机架206、数据中心204等上利用数据存储装置210。
可按照多种方式确定用于存储元数据的数据存储装置210的数量。例如,可指定弹性约束,诸如,可基于这些约束(也可基于上述存储层级)选择容许的故障数量和数据存储装置210的数量。例如,针对一个机箱,可对该机箱指定六个元数据驱动,针对两个至四个机箱,可对每个机箱指定三个元数据驱动,针对五个至十六个机箱,可对每个机箱指定两个元数据驱动,针对大于十六个机箱,可对每个机箱指定一个元数据驱动,等。在每个机箱(或更高的故障域)中,可选择合适的数据存储装置210,以使得元数据从最合格的装置开始。如果未找到期望数量的合格装置,则可进行选择以包括尽可能多的合格装置。此外,这些技术可为稳定的,因为如果数据存储装置210已具有元数据,它可继续这样做。
这样,可使用在存储层级中表达的存储拓扑机制的知识和层级中的装置的操作特征,来按照不影响如数据存储池112的弹性约束指定的可靠性保证的方式,将元数据存储划入数据存储装置210的特定子集的范围。还可采用这些特征作为包括元数据的再平衡的数据存储装置210的添加、去除的一部分,下面进一步描述。
图4描绘了一个示例实施方式中的系统400,其中,在管理数据存储池中的数据存储装置时通过池管理器模块114采用了并行机制。当生成数据存储池112时或者利用常规技术将数据存储装置210添加至现有的数据存储池时,格式化数据存储装置210和执行事务以将每一个数据存储装置210加入数据存储池112耗费大量时间。然而,在该示例中,可采用并行机制来按照并行方式针对多个数据存储装置执行格式化,然后通过单个事务将这些装置加入数据存储池,从而减少生成或者将数据存储装置210添加至数据存储池112耗用的时间量。
例如,利用第一阶段402、第二阶段404和第三阶段406示出了图4的系统400。在第一阶段402,由存储服务提供方102的池管理器模块114接收请求408。例如,请求406可源于利用通信模块116经网络106进行访问的使用方104、与存储服务提供方102相关的技师等。另外,请求406可被构造为生成数据存储池112,将数据存储装置210加至现有数据存储池112等。
在第二阶段404,池管理器模块114采用并行机制以将多个数据存储装置210(1)-210(N)并行格式化。例如,池管理器114可采用多个线程410(1)-410(N)以利用每个线程来同时格式化对应的数据存储装置210(1)-210(N)。这个处理可包括针对每一个装置格式化安全分区等。如果待格式化的数据存储装置的数量小于可用线程的数量,则可一次执行该处理。
如果不是这样,则可采用工作队列,从而一旦完成一个线程的格式化,就从队列中选择另一数据存储装置进行格式化。例如,如果具有三十二个线程而六十四个数据存储装置待格式化,则可同时地和相继地利用所述三十二个线程中的每一个来执行格式化。然而,如果一个线程提早完成格式化,则其还可立即从队列中选择一个数据存储装置,从而在执行格式化任务时线程都不空闲。这样,多组线程可根据需要重复所述格式化处理。
在第三阶段406,在单个事务中将来自第二阶段404的格式化的数据存储装置210(1)-210(N)加至数据存储池112,而不是像利用常规技术执行那样针对每个单独的数据存储装置210(1)-210(N)采用分离的事务。因此,在该示例中,可采用并行机制和使用单个事务来减少生成或将数据存储装置210加至数据存储池112所耗用的时间量。还可结合元数据分配执行该并行机制,可在下面找到和在对应的附图中示出对其的进一步讨论。
图5描绘了一个示例中的系统500,其中,分配元数据并将数据存储装置加至数据存储池。图6描绘了在一个示例实施方式中的程序600,其中分配元数据并将数据存储装置加至数据存储池。因此,以下讨论交替地参照图5和图6二者。通过一个或多个计算装置利用多个线程同时格式化多个数据存储装置(框602)。例如,实施池管理器模块114的计算装置可采用多个线程来格式化多个数据存储装置210(1)-210(N),如上参照图3所描述的。
在图5的系统500中示出了第一阶段502、第二阶段504、第三阶段506和第四阶段508。在第一阶段502,当生成新的存储池时,选择存储池的一个或多个数据存储装置来用于存储数据存储池112的元数据。例如,可请求将一百个数据存储装置加至数据存储池112。因此,这些装置中的一个或多个可被构造为针对这些额外装置存储元数据,并且将它们加至数据存储池112。
接着,在第二阶段504,通过所述一个或多个计算装置经单个事务将多个数据存储装置210(2)-210(100)加至数据存储池(框606)。接着先前示例,可使用单个事务来生成池和将元数据写至选择的驱动。
在另一示例中,其中将数据存储装置加至现有的数据存储池,所述单个事务可针对用于存储元数据的现有数据存储装置,以将这些装置加至数据存储池。因此,在该实例中,在第三阶段506,在单个事务中,针对数据存储池112的元数据存储装置508提供元数据更新512,从而这些额外数据存储装置210(2)-210(100)以及元数据存储装置508自己均被包括作为数据存储池112的一部分。
在第四阶段508,针对数据存储池112执行元数据的更新的分配514,以在存储层级中寻址这些额外的数据存储装置和关联的装置。例如,可基于数据存储池中的数据存储装置的确定的操作特征将元数据的分布分配至数据存储池112中的一个或多个特定数据存储装置(框610)。针对其中数据存储装置加至现有池的场景,这可包括先前被包括在数据存储池112中的数据存储装置以及加至数据存储池112的额外数据存储装置的操作特征。可按照多种方式执行这种分配,诸如通过利用先前参照图2和图3描述的技术。
随后根据分配的分布一次一个地依次将元数据分布至一个或多个特定数据存储装置(框612)。在先前的场景之后,如果数据存储装置加至现有的数据存储池,则可针对分配的特定数据存储装置依次执行该分布以进行保护防止故障。
例如,在“多数获胜(majority wins)”方式中,如果在元数据分布中遇到故障,则可执行仲裁技术(例如,“回滚”或先前运动至新的分配)来确定其中在数据存储池中设置数据存储装置的状态。这样,通过依次添加装置,多数可得到保持。然而,在其中生成数据存储池114的场景中,不存在相关的这些考虑,因此分配的特定数据存储装置可例如通过如上所述的并行机制同时接收元数据的分布。
虽然已经描述了将数据存储装置210加至数据存储池112,但是应该容易理解,涉及并行机制和单个事务的这些技术可等同地应用于从数据存储池去除多个数据存储装置。接着先前示例,可利用添加的数据存储装置来替换数据存储池112中的现有的数据存储装置。结果,首先添加新的装置,并且将元数据再分布。随后可将待去除的装置标记为陈旧的,随后可执行元数据的分配,以从这些标记的装置去除元数据,并且可采用通过使用线程的并行机制来从数据存储池112去除陈旧的装置,将装置再格式化,等。因此,与常规技术相比,可使用对并行机制和单个事务的使用来改进数据存储池112和池管理器模块114的效率和资源消耗。
图7描绘了一个示例中的系统700,其中响应于一个指示在数据存储池中再平衡元数据。图8描绘了一个示例实施方式中的程序800,其中,元数据在数据存储池中再平衡。因此,以下讨论交替地参照图7和图8二者。
通过一个或多个计算装置接收一个指示,以再平衡元数据在数据存储池中的分布(框802)。在第一阶段702,例如,通过存储服务提供方112的池管理器模块114接收再平衡指示708。再平衡指示708可来源于使用方104或者技师(如上所述),可通过池管理器模块114等响应于故障的检测、数据存储池112的存储层级中的装置的添加或去除而自动地产生。
获得描述针对数据存储池指定的弹性约束的数据(框804),诸如允许的故障数量、特定使用默认值等。因此,可基于所述弹性约束将元数据的再分布分配至数据存储池中的一个或多个特定数据存储装置(框806)。如上参照图2-图6的描述,例如,可采用元数据选择710技术来分配元数据,以基于操作特征、故障边界等将其存储在数据存储池112中的特定数据存储装置210(1)-210(N)上。另外,也可采用弹性约束712作为该分配的一部分,例如,以指定多个数据存储装置来支持多个故障。
在第三阶段706,执行可包括事务、并行机制等的使用的再平衡操作714,如上所述,在数据存储池112中再分配元数据。这样,通过池管理器模块114管理数据存储池112可以解决多个不同的考虑中的一个或多个,以支持可扩展和性能目标。
示例系统和装置
图9总体通过900示出了示例系统,其包括代表一个或多个计算系统和/或装置的示例计算装置902,其可实施本文所述的各种技术。通过包括池管理器模块114作为通过平台抽取的资源的一部分来将其示出。例如,计算装置902可为服务提供者的服务器、与客户关联的装置(例如,客户装置)、芯片上系统和/或任何其它合适的计算装置或计算系统。
所示的示例计算装置902包括以可通信方式彼此耦合的处理系统904、一个或多个计算机可读媒体906以及一个或多个I/O接口908。虽然未示出,但是计算装置902还可包括将各个组件彼此耦合的系统总线或其它数据和命令转移系统。系统总线可包括任何一种总线结构或者不同总线结构的组合,诸如存储器总线或者存储器控制器、外围总线、通用串行总线和/或利用多种总线架构中的任一种的处理器或者局域总线。还考虑了多种其它示例,诸如控制线和数据线。
处理系统904代表利用硬件执行一个或多个操作的功能。因此,处理系统904示为包括可被构造为处理器的硬件元件910、功能块等。其可包括硬件的实施方式,作为利用一个或多个半导体形成的专用集成电路或者其它逻辑装置。硬件元件910不受形成它们的材料或者其中采用的处理机制的限制。例如,处理器可包括半导体和/或晶体管(例如,电子集成电路(IC))。在该上下文中,处理器可执行的指令可为电可执行的指令。
计算机可读存储媒体906示为包括存储器/贮存器912。存储器/贮存器912表示与一个或多个计算机可读媒体相关的存储器/贮存器容量。存储器/贮存器组件912可包括易失性媒体(诸如随机存取存储器(RAM))和/或非易失性媒体(诸如只读存储器(ROM)、闪速存储器、光盘、磁盘等)。存储器/贮存器组件912可包括固定媒体(例如,RAM、ROM、固定硬盘驱动器等)以及可运动媒体(例如,闪速存储器、可运动硬盘驱动器、光盘等)。计算机可读媒体906可按照多种其它方式构造,下面进一步描述。
输入/输出接口908代表允许用户向计算装置902输入命令和信息的功能,并且还允许利用各种输入/输出装置将信息呈现给用户和/或其它组件或装置。输入装置的示例包括键盘、光标控制装置(例如,鼠标)、麦克风、扫描仪、触摸功能(例如,被构造为检测物理触摸的电容性或其它传感器)、相机(例如,其可采用可见波长或诸如红外频率的不可见波长,以将运动识别为不涉及触摸的手势)等。输出装置的示例包括显示装置(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应装置等。因此,计算装置902可按照下面将进一步描述的多种方式构造,以支持用户交互。
本文中,在软件、硬件元件或程序模块的一般上下文中可描述各种技术。通常,这些模块包括执行特定任务或者实施特定抽象数据类型的常规程序、程序、对象、元件、组件、数据结构等。本文所用的术语“模块”、“功能”和“组件”通常表示软件、固件、硬件或它们的组合。本文所述的技术的特征是独立于平台的,这表示所述技术可在具有各种处理器的各种商业计算平台上实施。
所述模块和技术的实施方式可存储在计算机可读媒体上或通过计算机可读媒体的一些形式发送。计算机可读媒体可包括可通过计算装置902访问的各种媒体。举例来说(而非限制),计算机可读媒体可包括“计算机可读存储媒体”和“计算机可读信号媒体。”
“计算机可读存储媒体”可指相比于仅信号传输、载波或信号本身,能够实现信息的永久性和/或非临时性存储的媒体和/或装置。因此,计算机可读存储媒体指非信号承载媒体。计算机可读存储媒体包括诸如易失性和非易失性、可动和不可动媒体和/或存储装置的硬件,其按照适用于诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其它数据的信息的存储的方法或技术实施。计算机可读存储媒体的示例可包括(但不限于)RAM、ROM、EEPROM、闪速存储器或其它存储器技术、CD-ROM、数字多用盘(DVD)或其它光学存储、硬盘、盒式磁带、磁带、磁盘存储或其它磁存储装置,或者其它存储装置、有形媒体或适于存储期望的信息并且可通过计算机访问的制品。
“计算机可读信号媒体”可指被构造为诸如经网络将指令发送至计算装置902的硬件的信号承载介质。信号媒体通常可实施计算机可读指令、数据结构、程序模块或调制的数据信号中的其它数据,所述调制的数据信号诸如载波、数据信号或其它传输机制。信号媒体还包括任何信息递送媒体。术语“调制的数据信号”意指其特征之一或多个按照在信号中编码信息的方式设置或改变的信号。举例来说(而非限制),通信媒体包括诸如有线网络或直接连线连接的有线媒体和诸如声学、RF、红外和其它无线媒体的无线媒体。
如上所述,硬件元件910和计算机可读媒体906代表按照硬件形式实施的模块、可编程装置逻辑和/或固定装置逻辑,其可在一些实施例中采用以实施本文所述的技术的至少一些方面,诸如执行一个或多个指令。硬件可包括集成电路或芯片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑装置(CPLD)以及硅或其它硬件的其它实施的组件。在该上下文中,硬件可作为执行由指令限定的程序任务和/或由硬件实施的逻辑的处理装置操作,以及作为用于存储执行指令的硬件(例如,先前描述的计算机可读存储媒体)操作。
还可采用以上的组合来实施本文描述的各种技术。因此,软件、硬件或可执行模块可实施为在一些形式的计算机可读存储媒体上实施和/或通过一个或多个硬件元件910实施的一个或多个指令和/或逻辑。计算装置902可被构造为实施对应于软件和/或硬件模块的特定指令和/或功能。因此,可通过计算装置902作为软件执行的模块的实施方式可在硬件中至少部分地实现,例如,通过使用处理系统904的计算机可读存储媒体和/或硬件元件910。指令和/或功能可通过一个或多个制品(例如,一个或多个计算装置902和/或处理系统904)执行/操作以实施技术、模块和本文所述的示例。
如图9中进一步示出的,当在个人计算机(PC)、电视机和/或移动装置上运行应用时,示例系统900能够实现无缝用户体验的普遍环境。当在利用应用、播放视频游戏、观看视频等的同时从一个装置转移至下一个时,对于普通用户体验,服务和应用在所有三个环境中基本相似地运行。
在示例系统900中,多个装置通过中心计算装置互相连接。中心计算装置可为所述多个装置的局部或者可远离所述多个装置布置。在一个实施例中,中心计算装置可为通过网络、互联网或其它数据通信链路连接至所述多个装置的一个或多个服务器计算机的云。
在一个实施例中,这种互连架构使得功能能够在多个装置上递送,以为所述多个装置的用户提供普通和无缝体验。所述多个装置中的每一个可具有不同的物理需求和能力,并且中心计算装置使用平台将针对装置定制并且也对于所有装置共同的体验递送至该装置。在一个实施例中,生成一类目标装置,并且对于通用类的装置定制体验。装置的类可通过装置的物理特征、使用类型或其它共同特征来限定。
在各个实施方式中,计算装置902可呈现多种不同构造,诸如为计算机914、移动终端916和电视机918使用。这些构造中的每一个包括可具有整体不同构造和能力的装置,因此计算装置902可根据一个或多个不同装置类别构造。例如,计算装置902可实施为装置的计算机914类,包括个人计算机、台式计算机、多屏计算机、笔记本计算机、上网本等。
计算装置902还可实施为包括移动装置的装置的移动终端916类,诸如移动电话、便携式音乐播放器、便携式游戏装置、平板计算机、多屏计算机等。计算装置902还可实施为装置的电视机918类,包括具有普通大屏或者在休闲观看环境下连接至普通大屏的装置。这些装置包括电视机、机顶盒、游戏机等。
本文所述的技术可由计算装置902的这些各种构造支持并且不限于本文所述的技术的特定示例。还可通过使用分布式系统完全或部分地实施该功能,诸如经平台922在“云”920上实施,如下面的描述。
云920包括和/或代表资源924的平台922。平台922提取云920的硬件(例如,服务器)和软件资源的下层功能。资源924可包括可在远离计算装置902的服务器上执行计算机处理的同时利用的应用和/或数据。资源924还可包括在互联网上和/或通过诸如蜂窝或Wi-Fi网络的订户网络提供的服务。
平台922可提取资源和功能,以将计算装置902与其它计算装置连接。平台922还可用于提取资源的缩放,以为经平台922实施的资源924的遇到的需求提供对应水平的缩放。因此,在互连装置实施例中,本文描述的功能的实施方式可分布在整个系统900上。例如,功能可部分地在计算装置902上实施以及通过提取云920的功能的平台922实施。
结论
虽然通过结构特征和/或方法行为的特定语言描述了示例实施方式,但是应该理解,权利要求中限定的实施方式不一定限于描述的特定特征或行为。相反,特定特征和行为以实施要求保护的特征的示例形式公开。

Claims (15)

1.一种由一个或多个处理器在执行计算机可执行指令时执行的方法,所述计算机可执行指令用于所述方法,所述方法包括以下步骤:
通过一个或多个计算装置获得数据,所述数据描述存储层级中的故障域和数据存储池中的可用存储资源;
通过所述一个或多个计算装置确定与所述存储层级的一个或多个等级中的可用存储资源相关联的装置的操作特征;以及
基于所述存储层级的一个或多个等级中的所描述的故障域和装置的所确定的操作特征,通过所述一个或多个计算装置将元数据的分布分配至所述数据存储池中的一个或多个特定数据存储装置,并且其中执行所述分配以针对所述数据存储池中的将用于接收至少一部分所述元数据的指定数量的数据存储装置,将一定数量的故障域的使用最大化。
2.根据权利要求1所述的方法,其中,所述元数据可用于找到数据在所述数据存储池中存储的对应位置。
3.根据权利要求1所述的方法,其中,所述操作特征包括健康、数据连接类型、媒体类型或当前元数据状态。
4.根据权利要求1所述的方法,其中,所述数据存储池中的所述一个或多个特定数据存储装置的将用于接收所分配的元数据的数量,至少部分地基于针对所述数据存储池指定的一个或多个弹性约束。
5.根据权利要求4所述的方法,其中,所述弹性约束指定未经所述数据存储池允许但仍操作的装置的数量。
6.根据权利要求1所述的方法,其中,所述故障域包括所述存储层级中的数据中心、机架、机箱、数据存储装置和存储单元等级。
7.根据权利要求1所述的方法,其中,数据存储装置的指定数量至少部分地基于针对所述数据存储池指定的一个或多个弹性约束。
8.一种通过一个或多个计算装置控制数据存储池的存储资源以提高所述数据存储池中的数据存储的效率的系统,所述系统包括:
至少部分地在所述一个或多个计算装置的硬件中实施的一个或多个模块,所述一个或多个模块被构造为执行以下操作,包括:
经单个事务将多个数据存储装置添加至数据存储池;以及
响应于所述添加,基于所述数据存储池中的每个数据存储装置的操作特征分配所述数据存储池中的元数据的分布。
9.根据权利要求8所述的系统,其中,所述操作特征包括健康、数据连接类型、媒体类型、在所述数据存储池中如何使用或者当前元数据状态。
10.根据权利要求8所述的系统,其中,所述分配至少部分地基于所述数据存储池中的可用存储资源的存储层级中的故障域。
11.根据权利要求8所述的系统,还包括:利用多个线程同时将所述多个数据存储装置格式化,并且其中利用所述格式化的多个数据存储装置执行所述添加。
12.根据权利要求8所述的系统,还包括:响应于将所述多个数据存储装置添加至所述数据存储池,通过单个数据存储装置更新所述数据存储池中的所述元数据。
13.根据权利要求8所述的系统,还包括:利用多个线程从所述数据存储池中去除另外多个数据存储装置。
14.一种通过一个或多个计算装置控制数据存储池的存储资源以提高所述数据存储池中的数据存储的效率的系统,所述系统包括:
通过所述一个或多个计算装置至少部分地在硬件中实施的一个或多个模块,所述一个或多个模块被构造为执行以下操作,包括:
接收指示以再平衡数据存储池中的元数据的分布;
获得描述针对所述数据存储池指定的弹性约束的数据;以及
基于所描述的弹性约束将元数据的再分布分配至所述数据存储池中的一个或多个特定数据存储装置。
15.一种包括计算机可执行指令的计算机可读介质,在通过计算机上的处理器执行时,所述计算机可执行指令执行如权利要求1-7中任何一项所述的方法。
CN201580049228.2A 2014-09-12 2015-09-11 可扩展数据存储池 Active CN106663042B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/485497 2014-09-12
US14/485,497 US9678839B2 (en) 2014-09-12 2014-09-12 Scalable data storage pools
PCT/US2015/049548 WO2016040722A1 (en) 2014-09-12 2015-09-11 Scalable data storage pools

Publications (2)

Publication Number Publication Date
CN106663042A CN106663042A (zh) 2017-05-10
CN106663042B true CN106663042B (zh) 2019-11-22

Family

ID=54251725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580049228.2A Active CN106663042B (zh) 2014-09-12 2015-09-11 可扩展数据存储池

Country Status (7)

Country Link
US (2) US9678839B2 (zh)
EP (1) EP3191959B1 (zh)
JP (1) JP6616827B2 (zh)
CN (1) CN106663042B (zh)
BR (1) BR112017003660B1 (zh)
RU (1) RU2702268C2 (zh)
WO (1) WO2016040722A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9934389B2 (en) 2015-12-18 2018-04-03 Amazon Technologies, Inc. Provisioning of a shippable storage device and ingesting data from the shippable storage device
US11188564B1 (en) * 2016-06-27 2021-11-30 Amazon Technologies, Inc. Shippable storage devices for bulk data transfer, storage, and remote synchronization
JP7053399B2 (ja) 2018-07-31 2022-04-12 キオクシア株式会社 情報処理システム
US11442642B2 (en) 2019-01-29 2022-09-13 Dell Products L.P. Method and system for inline deduplication using erasure coding to minimize read and write operations
US20200241781A1 (en) 2019-01-29 2020-07-30 Dell Products L.P. Method and system for inline deduplication using erasure coding
US11023324B2 (en) * 2019-01-31 2021-06-01 EMC IP Holding Company LLC Harmonization of failure domains in a distributed system
US11157482B2 (en) * 2019-02-05 2021-10-26 Seagate Technology Llc Data distribution within a failure domain tree
CN112068976A (zh) * 2019-06-10 2020-12-11 北京京东尚科信息技术有限公司 数据备份存储方法及装置、电子设备和存储介质
US11609820B2 (en) 2019-07-31 2023-03-21 Dell Products L.P. Method and system for redundant distribution and reconstruction of storage metadata
US11372730B2 (en) 2019-07-31 2022-06-28 Dell Products L.P. Method and system for offloading a continuous health-check and reconstruction of data in a non-accelerator pool
US11328071B2 (en) 2019-07-31 2022-05-10 Dell Products L.P. Method and system for identifying actor of a fraudulent action during legal hold and litigation
US11775193B2 (en) 2019-08-01 2023-10-03 Dell Products L.P. System and method for indirect data classification in a storage system operations
US11416357B2 (en) * 2020-03-06 2022-08-16 Dell Products L.P. Method and system for managing a spare fault domain in a multi-fault domain data cluster
US11301327B2 (en) 2020-03-06 2022-04-12 Dell Products L.P. Method and system for managing a spare persistent storage device and a spare node in a multi-node data cluster
US11281535B2 (en) 2020-03-06 2022-03-22 Dell Products L.P. Method and system for performing a checkpoint zone operation for a spare persistent storage
US11418326B2 (en) 2020-05-21 2022-08-16 Dell Products L.P. Method and system for performing secure data transactions in a data cluster
EP4384895A1 (en) * 2021-08-13 2024-06-19 Micron Technology, Inc. Undo capability for memory devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102253869A (zh) * 2010-05-19 2011-11-23 微软公司 可缩放的容错元数据服务
CN102521063A (zh) * 2011-11-30 2012-06-27 广东电子工业研究院有限公司 一种适用于虚拟机迁移和容错的共享存储方法
US8495111B1 (en) * 2007-09-28 2013-07-23 Symantec Corporation System and method of hierarchical space management for storage systems

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7865596B2 (en) 2000-11-02 2011-01-04 Oracle America, Inc. Switching system for managing storage in digital networks
US8671132B2 (en) 2003-03-14 2014-03-11 International Business Machines Corporation System, method, and apparatus for policy-based data management
US7155466B2 (en) * 2003-10-27 2006-12-26 Archivas, Inc. Policy-based management of a redundant array of independent nodes
JP4483342B2 (ja) * 2004-02-27 2010-06-16 株式会社日立製作所 システム復旧方法
US7657581B2 (en) * 2004-07-29 2010-02-02 Archivas, Inc. Metadata management for fixed content distributed data storage
US7444360B2 (en) * 2004-11-17 2008-10-28 International Business Machines Corporation Method, system, and program for storing and using metadata in multiple storage locations
US8495010B2 (en) 2005-11-04 2013-07-23 Oracle America, Inc. Method and system for adaptive metadata replication
US7574560B2 (en) * 2006-01-03 2009-08-11 Emc Corporation Methods, systems, and computer program products for dynamic mapping of logical units in a redundant array of inexpensive disks (RAID) environment
US20070214105A1 (en) * 2006-03-08 2007-09-13 Omneon Video Networks Network topology for a scalable data storage system
US7640278B2 (en) * 2006-06-28 2009-12-29 International Business Machines Corporation System and method for implementing a partial-blocking consistency point in a database
US7933875B2 (en) * 2006-08-24 2011-04-26 Sun Microsystems, Inc. File system with distributed components
US7698519B2 (en) 2006-08-31 2010-04-13 International Business Machines Corporation Backup of hierarchically structured storage pools
US8090792B2 (en) * 2007-03-08 2012-01-03 Nec Laboratories America, Inc. Method and system for a self managing and scalable grid storage
JP2009163664A (ja) * 2008-01-10 2009-07-23 Nippon Telegr & Teleph Corp <Ntt> 障害耐性を備えた情報検索装置、障害耐性を備えた情報検索方法、障害耐性を備えた情報検索プログラムおよびそのプログラムを記録した記録媒体
US8583893B2 (en) 2009-05-28 2013-11-12 Marvell World Trade Ltd. Metadata management for virtual volumes
US8589554B2 (en) 2009-12-30 2013-11-19 Bmc Software, Inc. Intelligent and elastic resource pools for heterogeneous datacenter environments
US8793290B1 (en) 2010-02-24 2014-07-29 Toshiba Corporation Metadata management for pools of storage disks
US9244976B1 (en) * 2010-12-16 2016-01-26 The George Washington University and Board of Regents Just-in-time analytics on large file systems and hidden databases
US8706946B2 (en) 2011-02-11 2014-04-22 International Business Machines Corporation Extender storage pool system
RU108662U1 (ru) * 2011-04-27 2011-09-20 Учреждение Российской академии наук Институт программных систем им. А.К. Айламазяна РАН (ИПС им. А.К. Айламазяна РАН) Система хранения данных с параллельным доступом
US8806154B1 (en) 2011-05-06 2014-08-12 Chelsio Communications, Inc. Thin provisioning row snapshot with reference count map
US20130067346A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Content User Experience
US9015411B2 (en) * 2011-12-02 2015-04-21 Compellent Technologies System and method for unbalanced raid management
US20140149663A1 (en) 2012-11-25 2014-05-29 Tonian Inc. Storage pools management and/or presentation
US9152642B2 (en) * 2012-12-21 2015-10-06 Zetta, Inc. Systems and methods for on-demand data storage
US8949655B2 (en) * 2013-01-31 2015-02-03 Alcatel Lucent Preventing extreme coresidency hazards in cloud computing
US10671500B2 (en) * 2014-06-09 2020-06-02 Oracle International Corporation Sequential resilvering of storage devices with reduced restarts

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8495111B1 (en) * 2007-09-28 2013-07-23 Symantec Corporation System and method of hierarchical space management for storage systems
CN102253869A (zh) * 2010-05-19 2011-11-23 微软公司 可缩放的容错元数据服务
CN102521063A (zh) * 2011-11-30 2012-06-27 广东电子工业研究院有限公司 一种适用于虚拟机迁移和容错的共享存储方法

Also Published As

Publication number Publication date
EP3191959A1 (en) 2017-07-19
RU2702268C2 (ru) 2019-10-07
WO2016040722A1 (en) 2016-03-17
JP6616827B2 (ja) 2019-12-04
BR112017003660A2 (pt) 2017-12-12
BR112017003660B1 (pt) 2022-12-20
JP2017527911A (ja) 2017-09-21
US9678839B2 (en) 2017-06-13
RU2017107276A3 (zh) 2019-04-11
CN106663042A (zh) 2017-05-10
US10409696B2 (en) 2019-09-10
US20180067829A1 (en) 2018-03-08
RU2017107276A (ru) 2018-09-07
EP3191959B1 (en) 2018-07-25
US20160077933A1 (en) 2016-03-17

Similar Documents

Publication Publication Date Title
CN106663042B (zh) 可扩展数据存储池
CN104471574B (zh) 在没有用户干预的情况下根据布局的图像标识和组织
CN106664321A (zh) 基于放置策略的计算资源分配
US10601680B2 (en) Application resiliency using APIs
US10439957B1 (en) Tenant-based management system and method for distributed computing environments
CN110110543A (zh) 数据处理方法、装置、服务器及存储介质
US8874587B2 (en) Tenant placement in multitenant cloud databases with one-to-many data sharing
CN106993064A (zh) 一种基于Openstack云平台实现海量数据可伸缩性存储的系统及其构建方法与应用
US20180331973A1 (en) Increasing virtual machine availability during server updates
Alapati Expert Hadoop administration: managing, tuning, and securing spark, YARN, and HDFS
US9632802B2 (en) Automatic configuration of mobile programs
CN104115142B (zh) 用于书签同步的特定于设备的文件夹
US20170123831A1 (en) Compositing data model information across a network
Chen et al. A method of virtual machine placement for fault-tolerant cloud applications
CN106257418A (zh) 用于通过使用辅助应用来评价应用的技术
CN107885488A (zh) 意图和具有意图的锁
Xia et al. Adopting cloud computing to optimize spatial web portals for better performance to support Digital Earth and other global geospatial initiatives
CN105637471B (zh) 用于对存储环境进行监测和控制的方法及设备
Trecakov et al. Doing more with less: Growth, improvements, and management of NMSU’s computing capabilities
JP2021010151A (ja) 構成表示装置、構成表示方法、及び構成表示プログラム
US11086874B2 (en) Management of a virtual infrastructure via an object query language
US10579575B2 (en) Systems and methods of management console user interface pluggability
Chen et al. Improving reliability of cloud computing services for next generation mobile communication networks
US20230104081A1 (en) Dynamic identity assignment system for components of an information handling system (ihs) and method of using the same
Dimovski Database management as a cloud-based service for small and medium organizations

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