CN101960427A - 分布式资源管理的平衡一致性散列 - Google Patents
分布式资源管理的平衡一致性散列 Download PDFInfo
- Publication number
- CN101960427A CN101960427A CN2008801274393A CN200880127439A CN101960427A CN 101960427 A CN101960427 A CN 101960427A CN 2008801274393 A CN2008801274393 A CN 2008801274393A CN 200880127439 A CN200880127439 A CN 200880127439A CN 101960427 A CN101960427 A CN 101960427A
- Authority
- CN
- China
- Prior art keywords
- resource
- responsibility
- network node
- node
- zone
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 27
- 230000008676 import Effects 0.000 claims 1
- 238000007726 management method Methods 0.000 description 38
- 238000013507 mapping Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 15
- 230000007246 mechanism Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004380 ashing Methods 0.000 description 3
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003760 hair shine Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/52—Indexing scheme relating to G06F9/52
- G06F2209/522—Manager
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
提供一种方法、***、计算机可读存储介质和装置,用于在例如集群的多计算机环境中对资源管理责任进行平衡和一致性设置,其可扩展并且有效使用集群资源。实施例通过减少在仍旧存留的集群成员之间重新分布资源管理责任的量来减少由于那些责任的重新分布而使得集群不可用的时间。实施例还提供基于剩余集群节点的相对能力进行资源管理责任的重新分布。
Description
技术领域
本发明涉及计算机资源管理,更具体地,涉及在多计算机网络中分布资源管理责任的***和方法。
背景技术
对于信息和以其各种形式生成、处理、分布、和维护这种信息的计算***的不断增加的依赖性不断迫切地需要提供信息资源以及对于那些信息资源的访问的技术。许多商业和组织不仅需要大量的计算资源,而且需要那些资源可用并具有最小量的停机时间。这种需求的一个解决方案是这样一种环境,在其中将计算资源聚集在一起从而提供灵活的、高性能的、和高可用性平台来访问存储区域网络环境中的共享数据。集群范围的卷和文件***配置考虑到简化的和中心化的管理。额外的优点是提供综合集群卷管理,其利用共享设备配置的相同逻辑视图呈现集群中的每个节点。
集群环境的优点是能够消除、或充分减少信息访问的单一故障点。集群中的每个计算节点提供有共享数据资源的相同视图,并且可用相同方式访问那些数据资源。因此,如果计算资源中的一个或多个出现故障,则可以将故障***正在执行的任务转移至另一计算节点用于进一步处理。为了有效提供对于集群资源管理的单一故障点的消除、或减少,在集群的成员节点之间分布管理。
当集群成员离开集群时,必须对在剩余集群成员之间分布该节点的资源管理责任做出规定。期望地,通过有效使用集群资源(例如计算周期和网络带宽)的方式来执行资源管理责任的这种重新分布。还期望地,资源管理责任的这种重新分布考虑剩余集群成员的相对能力。还期望地,在集群成员之间的资源管理责任的重新分布的性能方面,能够最小化剩余节点之间的资源管理责任的移动。
发明内容
本发明提供一种机制,用于在例如集群的多计算机环境中对资源管理责任进行平衡和一致性的设置,该机制可扩展并且有效使用集群资源。本发明实施例通过减少在仍旧存留的集群成员之间重新分布资源管理责任的量,来减少由于那些责任的重新分布而使得集群不可用的时间。本发明实施例还提供基于剩余集群节点的相对能力进行资源管理责任的重新分布。
在本发明一个实施例中,确定在资源标识空间中多个资源标识符的位置;将所述资源标识空间划分成责任区域;然后,向相应网络节点分配每个责任区域的管理责任。在以上实施例的一方面,所述资源标识空间为名称空间;以及在另一方面,对于资源的名称进行散列以确定名称空间中的位置。在以上实施例的另一方面,分配有资源标识空间的区域的责任的网络节点是网络节点的集群的成员。在以上实施例的另一方面,通过分配的网络节点的相对能力确定责任区的大小。在以上实施例的另一方面,当多个可用网络节点改变时,由于网络节点的移除或增加,通过寻求在网络节点之间最小化资源管理责任的重新分布的方式来重新分布资源的管理责任。
附图说明
通过参照附图,本发明可被更好地理解,并且其各个目的、特征和优点对于本领域普通技术人员将是清楚的。
图1是适用于实现本发明实施例的多计算机网络集群配置的简化框图。
图2是可由本发明实施例使用的、提供分布式锁管理的二级锁管理环境的简化框图。
图3是在集群的各个成员节点之间可如何分布锁主人的视图。
图4是示出根据本发明实施例的依据均衡一致性散列机制的锁的分布的简化视图。
图5是示出根据本发明实施例在映射表重新建立过程期间由集群节点执行的任务的一个实施例的简化流程图。
图6是示出根据本发明实施例的在集群环境中的代理和重新定位的主人之间的新主人消息业务的简化框图。
图7是示出根据本发明实施例的在锁主人重新分布期间在集群节点上建立新主人时执行的某些任务的简化框图。
图8示出适用于实现本发明实施例的计算机***的框图。
图9是示出用于实现本发明实施例的网络架构的框图。
具体实施方式
本发明提供一种机制,用于在例如集群的多计算机环境中对资源管理责任进行平衡和一致性的设置,该机制可扩展并且有效使用集群资源。本发明实施例通过减少在仍旧存留的集群成员之间重新分布资源管理责任的量,来减少由于那些责任的重新分布而使得集群不可用的时间。本发明实施例还提供基于剩余集群节点的相对能力进行资源管理责任的重新分布。
集群环境和分布式锁
图1是适用于本发明实施例的多计算机网络集群配置的简化框图。集群105包括作为集群的成员的计算节点110(1)-110(n)。计算节点110(1)-110(n)通过网络120耦合。如图所示,计算节点110(1)-110(n)还耦合至存储区域网络(SAN)130,其提供对于存储卷资源140(1)-140(m)的妨问。或者,存储资源可经由基于总线的控制器直接耦合至各个计算节点,或例如作为网络可访问存储装置来耦合。每个计算节点110(1)-110(n)具有对于SAN 30的存储池的同时访问。假定对于存储资源的这个同时访问,必须协调对于存储池的读/写访问,以确保数据完整性。
在如图1所示的集群环境中,各种资源由集群的成员节点共享。这种资源可包括SAN 130中的存储资源、可在集群的各个成员节点上执行的应用等。在集群的成员节点之间的这种资源的管理的分布消除、或减少单一故障点的出现,以获得对于那些资源的访问。
管理对于集群中的资源的访问的一个实例是,与SAN 130的存储资源所提供的集群文件***相关联的文件锁架构。集群文件***提供对于集群中的所有节点可见的集群中所有文件的单一版本。如果每个成员节点具有特定文件的其自身的版本,特别地在对于该文件的写访问期间,会有破坏信息存在于任一个节点的可能。为了确保在对于特定数据的任意写访问期间仅存在该数据的单一版本,在集群范围文件***中实现文件锁。
在单一计算机***中,执行给定软件应用的多个线程可访问或更新相同数据。术语“线程”用于描述在其中执行计算机程序的环境。在线程之间的协作是必要的,以确保一个线程在另一线程更新共享数据时不同时读取该数据,这样可能导致取决于两个操作的时机的数据不一致性。在集群环境中,例如图1所示,其中对于给定软件应用的处理可以在各个成员节点之间进行负载均衡,共享数据的线程可以运行在集群中的不同节点上。
在访问共享数据的线程之间的协作可使用锁来实现。典型地,锁保护一条共享数据,例如文件或盘块。在分布式***(例如集群)中,锁也可保护在***中的每个节点的存储器中分布的共享“状态”信息,例如给定软件应用的在线或离线状态。所有的共享数据通过锁来保护,并且锁典型地通过锁管理器来管理,所述锁管理器提供由其他应用程序使用的接口以访问该数据。
在调用的应用程序可访问由锁保护的数据之前,请求对于数据的锁。调用的应用程序可典型地请求“专用”锁来写入或更新由锁保护的数据,或请求“共享”锁来读取由锁保护的数据。如果授权调用应用使用专用锁,则锁管理器保证调用程序是持有该锁的唯一线程。如果授权调用程序使用头享锁,则其他线程也可持有数据的共享锁,但是其他线程不可持有数据的专用锁。
锁管理器不能够始终立即授权锁请求。考虑这样的实例,其中一个线程具有给定数据集的专用锁L,第二线程请求对于该给定数据集的共享访问。第二线程的请求不能够被授权,直到第一线程释放了给定数据集的专用锁。
锁可放置于在共享盘(例如通过SAN 130可访问的卷)上存储的数据上。锁也可放置于每个节点的存储器中存储的共享数据上,其中对于集群中的所有节点,数据必须一致。例如,集群中的节点可共享用以指示安装了文件***的信息。当文件***的状态从已安装改变为未安装或相反时,可将锁放置于共享状态信息上。
分布式锁管理
如上所述,锁管理器响应于对于由锁保护的数据的访问请求。在集群环境中,期望地,资源管理器(例如锁管理器)分布在集群的成员节点之间,以提供单一故障点的期望消除或减少。
图2是可由本发明实施例使用的提供分布式锁管理的二级锁管理环境的简化框图。例如,节点210中的客户端线程215通过代理220(A)请求锁A。在这个***中,对于每个持有或请求锁的节点,每个锁存在一个代理。例如,也可存在对于节点240上的锁A的代理(代理250(A)),其与持有或请求节点240上的锁A的客户端245相对应。然而,如果节点240还不能访问锁A,则代理250(A)将从锁A的主人(master)请求锁A。如图2所示,锁A的主人是位于节点210上的主人230(A)。在集群中,每个锁有一个主人。如果主人没有位于执行请求线程的节点上,则查询位于节点上的主人表以寻找提供被请求锁的主人的远程节点的标识。例如,如果客户端从节点210上的代理220(C)请求锁C,则代理220(C)将从位于节点270上的锁C的主人290(C)请求锁C。如果节点210已经对于不同线程被授权了锁A,则代理220(C)可管理锁C向请求客户端的分布,而不再进一步向锁主人请求。尽管以上实例讨论了一个线程通过代理来访问锁,但是应注意,多个线程可通过单一代理访问节点上的锁。此外,线程可通过单一节点上的相应代理访问多个锁。
由于集群中的节点不必同构,在包括节点的计算机的类型或配置方面,或在节点上执行的处理方面,期望根据集群成员节点的相对能力来分布各个锁主人,以公平地分布用于主控这些资源的负载。在确定节点的能力时涉及的因素可包括例如处理器速度、节点上的处理器的数目、可用存储器大小、和节点上的期望负载。节点的能力可被自动检测,或集群的管理员可定义该能力,并且这样的信息可用于确定各个节点之间的锁主人的分布。
图3是在集群的各个成员节点之间可如何分布锁主人的视图。原始主人映射310示出锁主人1-c如何与4节点集群的成员关联。在这个图示中,锁主人基于与主人相关的锁的名称均匀地分布在节点之间。例如从文件***信息(如索引节点、锁类型、或卷)唯一地确定锁名称。
分布锁主人的一种方法使用锁名称的散列(hashing)。用以托管锁的主人的节点ID被确定为散列值(对n取模),其中n是集群中可用以托管主人的节点数目。如果节点离开集群(例如节点3),则使用相同的算法生成新的主人映射320。因此,由于主人的主机ID基于散列值(对n取模),则在仍旧存留的节点之间重新定位大部分锁主人。被重新定位的主人的数目为((n-1)/n)*锁主人的数目。
在图3所示的***下,由于必须重新定位大部分主人,所以有理由丢弃所有旧的主人信息并重新建立每个集群节点上的新的主人表。一旦重新分布了新的主人,则仍旧存留的代理随后向各个新的主人发送锁状态。这种***的一个问题在于,随着锁的数目和集群大小增加,在等待要重新分布的主人以及在代理要发送其锁状态时,会引起集群不可用的量增加。此外,用于确定锁的主人主机ID的上述算法没有考虑在执行重新分布时节点的相对能力。此外,由于需要根据集群中仍旧存留数目的节点重新散列每个锁ID以及重新计算主人主机ID,所以在集群的重新配置之后的处理成本很高。
平衡一致性散列
本发明实施例使用平衡一致性散列的机制,不仅减少了在确定主人主机ID时涉及的计算,而且减少了在集群中的各个仍旧存留节点之间需要重新分布的主人的数目。通过每个资源的标识符来定义资源标识“空间”,所述每个资源的相关联的主人将要在集群中进行分布。本发明实施例对于集群中的各个锁名称执行一次散列计算,并由此确定资源标识空间的范围,所述范围从最小计算的散列值延伸到最大计算的散列值。然后,根据集群成员节点的相对能力,在那些节点之间分配这个资源标识空间。如果节点应该离开或进入集群,则在仍旧存留的集群成员节点之间重新分配资源标识空间。
图4是示出根据本发明实施例的依据均衡一致性散列机制的锁的分配的简化视图。资源标识空间410示出从锁标识符的散列值的最小值到最大值的那些散列值的分布。为了图示,在资源标识空间中平均分布锁A-L,但是应注意,这样的平均分布不是必须的。进一步示出了集群成员节点1-4的原始映射420。为了这个实例,使用4节点集群,并且认为每个节点的相对能力相同。因此,在4个节点之间平均划分锁管理散列空间的每个责任区域。
示出其中节点3离开集群的场景的不平衡映射430。在所示场景中,节点2的责任区域仅延伸至节点3的责任区域,从而使得节点2负责由节点3原始执行的所有锁管理。因为需要节点2花费比节点1或4更多的资源来执行锁管理任务,所以认为这个场景是不平衡的。
锁主人的重新平衡映射440是更加期望的,以使得仍旧存留的节点更加平均地共享负载。如图所示,锁D的主控从节点2移动至节点1,尽管节点2保留在集群中。现在,由节点2执行(原始由节点3执行的)锁G和H的主人的责任。(原始由节点3执行的)锁I的主人的责任移动至节点4。
在执行映射440的重新平衡时,在节点3离开集群之后仅12个锁主人中的4个被重新定位。这与在如图3所示的***下移动9个主人(((n-1)/n)*锁主人数目)形成对比。因此,在重新创建锁主人(以下将更加完整地讨论)所需的计算周期以及各个代理向新锁主人发送他们的状态所需的网络资源两个方面,通过使用440所示的平衡一致性散列机制可保存大量资源。此外,由于锁标识符没有被重新散列,所以在计算资源方面存在额外的节省。
随着被主控的节点和资源的数目增加,重新分布的资源主人的数目渐渐地近似接近资源主人的总数的三分之一。重新分布的资源主人的数目还对以下比较敏感,即,负责资源标识空间的“边缘”之一的节点对于负责空间的中间的节点是否变得不可用。本发明的一个实施例通过模型化无边缘的资源标识空间(例如将资源标识空间410的“A”边缘链接至资源标识空间的“L”边缘)来解决这个边缘敏感性。
可通过将锁主人仅从离开集群的节点移动至仍旧存留的节点来实现替代的平衡一致性散列方法。使用节点3离开集群的图4的实例,与锁G相应的锁主人可移动至节点1,H的锁主人移动至节点2,I的锁主人移动至节点4。这导致移动的主人的数目等于1/n,其中n是原始集群中的节点数目。
使用可用节点的阵列以及资源标识空间两者来执行从集群成员节点的集对主人节点的选择。主人节点ID阵列(master_nid[idx])含有基于每个节点的比例权重复制的集群成员节点ID的分类列表。每个节点的比例权重基于节点相对于阵列中的其他节点的相对能力。例如,如果节点1和3承载权重1,而节点2承载权重2,则master_nid阵列将含有项目{1,2,2,3}。阵列的总权重(tot_weight)是master_nid阵列中的项目的数目。由此,在以上实例中,tot_weight=4。可通过以下操作向master_nid中代表的节点分配锁资源的主人:计算锁的名称的散列值,并将该散列值除以散列值空间中的最大值(max_hash),并将得到的值乘以总权重,并使用该值作为索引从master_nid阵列查询主人节点ID值。因此,到达master_nid阵列的索引的等式为:
idx=(hashval/max_hash)*tot_weight
可看出,master_nid索引的以上等式计算锁名称的散列相对于最大散列值的规一化值,并将该归一化值与master_nid阵列中的项目的总数相乘。
在本发明的一个实施例中,替代地使用整数算法来计算master_nid阵列的索引。在该实施例中,如下计算索引:
idx=(hashval11*tot_weight)>>11
Hashval11是计算的锁名称的散列值的最低11比特。然后,将Hashval11与master_nid阵列的总权重相乘。然后,将得到的值右移11比特,以生成索引值。在该实施例中,相对于在重新定位期间可跟踪的散列值的所选最大数来选择11比特和11比特的右移。
已经讨论了用于平衡一致性散列的替代机制,其中仅重新定位与离开集群的节点相关的锁主人,与集群中剩余节点相关的那些锁主人与那些节点相保持。这里讨论这样的实施例的实例。如上所述,master_nid阵列包含基于集群中的每个节点的比例权重的项目。对于新集群,或者对于节点加入其中的现有集群,存储master_nid阵列作为等级1映射表。当节点离开集群时,这个替代机制引入第二等级映射表(例如等级2映射表)。当节点离开集群时,用空值代替master_nid阵列中与不再在集群中的节点相应的那些项目,并且这个修改的master_nid阵列被保持为等级1映射表。然后,基于仍旧存留节点的比例权重来构建等级2映射表。使用等级2映射表来从离开节点向仍旧存留节点重新分布主人。在主人节点ID查询期间,通过上述方法之一计算等级1表的索引。如果等级1映射表中的节点ID为空,则计算等级2表的第二索引。计算这个等级2索引的等式的实例如下:
idx2=(((((hashval11)&0x3f)<<5)|((hashval11)>>6))*tot_weight2)>>11
在以上等式中,hashval11是hashval的最低11比特,tot_weight2是等级2映射表的大小。同样,hashval的最低11比特的使用和11比特的右移涉及用于跟踪重新定位的主人的表大小。
尽管本发明的以上替代实施例利用了两个等级的映射表,但是应注意,可使用任意数目个等级的映射表,每个等级相应于改变集群中节点的数目的事件。这样使用的表的数目涉及存储表所需的存储器资源,并且还涉及在执行多个等级的表查询时使用的计算资源。此外,如上所述,当新节点进入集群时,构建等级1映射表。因此,在上述实施例中,当与现有节点离开集群的同一时间段新节点进入集群时,仅构建等级1映射表。
还应注意,尽管图4中所示的实例涉及从网络环境去除节点以及随后向剩余节点重新分布资源管理,但该技术还涵盖了向网络环境增加节点以及考虑了向附加节点分布资源管理责任。
图5a是示出根据本发明在映射表重新建立过程期间由集群节点执行的任务的一个实施例的简化流程图。通过由集群成员身份改变而触发的重启调用来开始锁主人重新分布(510)。这样的集群成员身份改变可通过集群成员身份监视器来检测,并通过存在加入集群的新成员身份标识符来标识或通过在超时时段之后节点不在集群中或从节点的明确离开指示来标识。响应于重启调用,集群中的每个节点将向所有其他节点广播关于该节点的信息(515)。这样的节点信息包括例如,节点能力信息(如上所述)、和节点何时加入集群的指示(例如节点加入的时间戳)。然后,节点可等待从所有其他剩余集群成员接收节点信息(520)。
依据从其他节点接收的信息,每个节点随后构建等级-1或等级-2映射表,如上所述(525)。扫描在每个节点处存储的代理表,以通过参照新映射表,使用上述平衡一致性散列方法,以及将参照新映射表的结果与代理的先前主人的记录(例如远程主人表)相比较来确定是否任意代理涉及重新定位的主人(530)。如果不存在重新定位的主人(535),则节点上的代理不需要向他们关联的主人发送信息。这是平衡一致性散列方法相比于现有技术的一个区别性特征,因为在现有技术中,如上所述,几乎所有主人被重新定位,因此完全重新构建主人表,并且所有代理必须向他们的主人发送信息。如果代理具有相关的重新定位的主人(535),则向现在负责主控锁ID的节点发送新主人消息(540)。对于具有重新定位的主人的每个代理执行这个操作。节点可通过例如向集群中的所有节点广播指示节点完成了发送新主人消息(例如“DONE_REMASTER”消息)的消息来指示节点完成了发送新主人消息。
图6是示出根据本发明实施例的在集群环境中的代理和重新定位的主人之间的新主人消息业务的简化框图。图6示出作为集群的成员的节点610-660。节点610负责锁主人A。在发现锁主人A被重新定位至节点610时,集群中具有锁A的代理的每个节点向节点610传送新主人消息。这样的新主人消息包括在具有锁A的代理的每个节点上的代理状态。类似地,节点630负责重新定位的锁主人B,并且具有锁B的代理的那些节点向节点630发送新主人消息。从该图,可理解,重新定位的锁主人的数目越大,由于新主人消息引起的网络业务的量越大。此外,随着节点和代理的数目增加,网络业务也将增加。因此,将锁主人的重新分配保持为最小所借助的机制将大大保存网络资源(例如带宽)。
返回图5a,节点还将从节点的主人表中删除从该节点重新定位的任意主人(545)。在节点修改节点自身的主人表并执行与修改的主人表相关的队列上的内务(housekeeping)任务之后(例如以下与图5B相关的讨论),对于与节点上的代理相关的每个重新定位的主人,可向重新定位的主人发送来自该节点代理的任意未解决的请求(550)。
图5b是示出根据本发明实施例在与修改的主人表相关的内务任务中执行的任务的简化流程图。于是,确定节点是否从每个节点接收所有新主人消息(560)。这样的确定可通过例如确定节点是否从所有其他集群节点接收“DONE_REMASTER”消息来作出,如上所述。如果否,则节点可等待额外的新主人消息。如果接收了所有新主人消息,则节点广播一个指示,指示他“准备好”来处理对于由该节点主控的锁的请求(565)。然后,节点可等待从集群中的所有其他节点接收“准备好”指示(570),并且一旦如此,就可执行与清理该节点上的主人表相关的任务。节点可例如扫描请求队列,并删除离开了集群的节点对锁资源的请求(575)。节点可扫描授权队列,以及移除对于离开集群的节点授予的授权(580)。如果已经移除了授权(585),则节点可处理请求队列,以依据授权的移除确定现在是否对任意被请求的锁资源授权(590)。可扫描用于撤销否则将被锁定的资源(通过其他线程)的撤销请求队列,并且如果撤销的请求者已经从集群中被移除,则当所有撤销完成时可删除该项目,而并非提升到授权队列(595)。
尽管依次进行图示,但是这些任务中的大多数可由节点同时执行(例如,代理表扫描(530)、删除重新定位的主人(545)、扫描请求和授权队列(575和580)、和更新主人表(715,见下文)),从而减少在成员节点之间重新分布主人所涉及的时间量。
实施新主人表的过程的一部分涉及移除旧消息。丢弃到达或来自从中重新定位主人的节点的旧消息。也可以从不再是集群的成员的发送节点丢弃旧消息。此外,也可以丢弃在发送者或接收者加入集群之前发送的任意消息。
图7是示出在锁主人重新分布期间在集群节点上建立新主人时执行的某些任务的简化框图。一旦接收到新主人消息,例如在540期间发送的消息,节点开始处理过程(710)。然后,节点更新该节点的主人表,以包括该节点负责的新主人的项目(715)。
在上文中,使用锁资源管理的实例描述了在网络集群环境中的资源管理重新分布。应理解,本发明的概念可应用于在其中共享其他类型资源的分布式计算环境中的这些资源的分布式管理。本发明的原理不限于锁管理,而且也可应用于例如分布式计算环境中的应用管理,或提供多个电子邮件服务器,其每一个均负责网络的一定范围的接收方电子邮件地址。
示例性计算和网络环境
如上所示,可使用各种计算机***和网络实现本发明。以下参照图8和9描述一个这样的计算和网络环境的实例。
图8示出适用于实现本发明的计算机***810的框图。计算机***810包括总线812,其互连计算机***810的主要子***,例如中央处理器814、***存储器817(典型地RAM,但是还可包括ROM、闪速RAM等)、输入/输出控制器818、外部音频设备(例如经由音频输出接口822的扬声器***820)、外部设备(例如经由显示适配器826的显示屏824)、串行端口828和830、键盘832(与键盘控制器833对接)、存储器接口834、软盘驱动器837(可操作为接收软盘838)、主机总线适配器(HBA)接口卡835A(可操作为与光纤信道网络890连接)、主机总线适配器(HBA)接口卡835B(可操作为与SCSI总线839连接)、和光盘驱动器840(可操作为接收光盘842)。还包括鼠标846(或其他点击设备,经由串行端口828耦合至总线812)、调制解调器847(经由串行端口830耦合至总线812)、和网络接口848(直接耦合至总线812)。
总线812允许在中央处理器814和***存储器817之间的数据通信,所述***存储器817可包括只读存储器(ROM)或闪速存储器(均未示出)、和随机存取存储器(RAM)(未示出),如先前所述。RAM通常是向其中加载操作***和应用程序的主存储器。ROM或闪速存储器可包含基本输入-输出***(BIOS)和其他代码,BIOS控制例如与***组件的交互的基本硬件操作。位于计算机***810的应用通常存储在计算机可读介质上并由其访问,如硬盘驱动器(例如固定盘844)、光驱动器(例如光驱动器840)、软盘单元837、或其他存储介质。此外,在经由网络调制解调器847或接口848访问时,应用可以是根据应用和数据通信技术调制的电子信号的形式。
存储器接口834与计算机***810的其他存储器接口一样可链接至标准计算机可读介质(例如固定盘驱动器844),用于信息的存储和/或提取。固定盘驱动器844可以是计算机***810的一部分,或者可以是单独地并且通过其他接口***访问。调制解调器847可经由电话链路提供到远程服务器的直接连接,或经由因特网服务提供商(ISP)提供到因特网的直接连接。网络接口848可经由通过POP(存在点)到因特网的直接网络链路提供到远程服务器的直接连接。网络接口848可使用包括数字蜂窝电话连接、蜂窝数字分组数据(CDPD)连接、数字卫星数据连接等的无线技术提供这样的连接。
许多其他设备或子***(未示出)(例如文档扫描仪、数码相机等)可通过类似方式连接。相反,图8中所示的设备不需要都存在来实践本发明。可通过与图8所示不同的方式来互连设备和子***。如图8所示的计算机***的操作在本领域中容易理解,并且在本说明书中不再详细讨论。实施本发明的代码可存储在计算机可读存储介质中,例如***存储器817、固定盘844、光盘842、或软盘838中的一个或多个。计算机***810上提供的操作***可以是MS-MS- 或其他已知操作***。
此外,关于这里描述的信号,本领域普通技术人员将认识到,信号可从第一块直接发送至第二块,或信号可在块之间修改(例如,放大、衰减、延迟、锁存、缓冲、反向、过滤或以其他方式修改)。尽管上述实施例的信号表征为从一个块发送至下一个,但是本发明其他实施例可包括修改的信号,代替这样直接发送的信号,只要在块之间发送信号的信息和/或功能方面。在某种程度上,可将第二块处的信号输入概念化为,由于涉及的电路的物理限制(例如,不可避免地存在某些衰减和延迟)而从来自第一块的第一信号输出导出的第二信号。因此,如上所述,从第一信号导出的第二信号包括第一信号或对第一信号的任意修改,无论由于电路限制还是由于通过其他电路元件的通路,都不改变第一信号的信息和/或最终功能方面。
图9是示出网络架构900的框图,其中客户***910、920和930以及存储服务器940A和940B(其中任意可使用计算机***810来实现)耦合至网络950。存储服务器940A进一步示出为具有直接附连的存储设备960A(1)-(N),存储服务器940B示出为具有直接附连的存储设备960B(1)-(N)。存储服务器940A和940B还连接至SAN结构970,尽管为了本发明的操作并不要求到存储区域网络的连接。SAN结构970支持通过存储服务器940A和940B,并由此经由网络950通过客户***910、920和930对于存储设备980(1)-(N)的访问。智能存储阵列990也示出为可经由SAN结构970访问的特定存储设备的实例。
参照计算机***810,可使用调制解调器847、网络接口848或某些其他方法来提供从客户计算机***910、920和930的每个到网络950的连接。客户***910、920和930能够使用例如web浏览器或其他客户软件(未示出)来访问存储服务器940A或940B上的信息。这样的客户允许客户***910、920和930访问由存储服务器940A或940B,或存储设备960A(1)-(N)、960B(1)-(N)、980(1)-(N)之一,或智能存储阵列990,托管的数据。图9示出例如交换数据的因特网的网络的使用,但是本发明不限于因特网或任意特定的基于网络的环境。
其他实施例
本发明可以很好地适应,以达到上述的以及这里固有的其他优点。尽管通过参照本发明的特定实施例示出、描述和定义了本发明,但是这样的参照并未暗示对于本发明的限制,并且不能够推断这样的限制。对于相关领域的普通技术人员,本发明能够在形式和功能上进行各种修改、改变和等同。所示和所述实施例仅是实例,不是穷尽本发明的范围。
上文描述了包括在其他组件(例如作为计算机***810的组件所示的各个元件)中包含的组件的实施例。这样的架构仅是实例,实际上,可实施达到相同功能的许多其他架构。在抽象但仍旧明确的意义上,有效地“关联”实现相同功能的组件的任意设置,从而实现期望的功能。因此,可以将这里组合以实现特定功能的任意两个组件看作彼此“关联”,从而实现期望的功能,而不管架构或中间组件。同样,如此关联的任意两个组件也可看作彼此“操作地连接”或“操作地耦合”,以实现期望的功能。
上述具体实施方式通过使用框图、流程图、和实例阐述了本发明的各个实施例。本领域普通技术人员将理解,可通过大范围的硬件、软件、固件、或其任意组合单独地和/或共同地实现使用实例示出的每个框图组件、流程图步骤、操作和/或组件。
在完全功能性的计算机***的环境中描述了本发明;然而,本领域普通技术人员将理解,本发明能够以各种形式作为程序产品来分布,并且本发明同等地适用,而不管用于实际执行分布的信号承载介质的特定类型。信号承载介质的实例包括计算机可读存储介质、传输型介质(例如数字和模拟通信链路)、以及在未来开发的介质存储器和分布式***。
上述实施例可通过执行特定任务的软件模块来实施。这里讨论的软件模块可包括脚本、批处理文件、或其他可执行文件。软件模块可存储在机器可读或计算机可读存储介质上,例如磁软盘、硬盘、半导体存储器(例如RAM、ROM、和闪速型介质)、光盘(例如CD-ROM、CD-R、和DVD)、或其他类型存储器模块。根据本发明实施例用于存储固件或硬件模块的存储设备还可包括基于半导体的存储器,其可永久地、可移除地或远程地耦合至微处理器/存储器***。因此,模块可存储在计算机***存储器中,以配置计算机***执行模块的功能。可使用其他新型的和各种类型的计算机可读存储介质来存储这里讨论的模块。
以上说明旨在示出本发明,不应理解为限制。本发明的范围内的其他实施例是可能的。本领域普通技术人员容易实现提供这里公开的结构和方法必要的步骤,并且将理解,处理参数和步骤的顺序仅通过实例给出,并且可改变以实现期望的结构以及在本发明范围内的修改。可基于这里阐述的描述来作出对这里公开的实施例的改变和修改,而不脱离本发明的范围。
因此,本发明旨在仅受到所附权利要求的范围的限制,在所有方面对于等价物给出完全认识。
Claims (21)
1.一种方法,包括:
确定在资源标识空间中多个资源标识符的位置;
将所述资源标识空间划分成第一多个分离的责任区;其中
每个责任区关联于不同的网络节点;以及
所有责任区的总和涵盖整个资源标识空间;以及
向与第一责任区相关的网络节点分配与位于第一责任区中的资源标识符关联的资源的管理责任。
2.如权利要求1所述的方法,其中所述资源标识空间为名称空间。
3.如权利要求2所述的方法,还包括:
通过对于资源的名称进行散列来计算所述多个资源标识符的资源标识符。
4.如权利要求3所述的方法,还包括:
使用索引节点标识符来导出资源的名称;其中
所述资源是文件***中的文件和存储位置之一。
5.如权利要求3所述的方法,还包括:
使用电子邮件地址来导出资源的名称;其中
所述资源是邮箱、与邮箱关联的状态信息、与邮箱关联的元数据、与邮箱关联的管理信息、以及电子邮箱***中的邮件数据之一。
6.如权利要求1所述的方法,其中每个网络节点是网络节点的集群的成员。
7.如权利要求6所述的方法,其中由多个资源标识符之一标识的资源对于网络节点的集群的所有成员可访问。
8.如权利要求1所述的方法,还包括:
基于关联的网络节点的能力确定关联的网络节点的责任区。
9.如权利要求8所述的方法,还包括:
使得关联的网络节点的能力与处理器能力和存储器能力中的一个或多个相联系。
10.如权利要求8所述的方法,还包括:
通过用户输入定义关联的网络节点的能力。
11.如权利要求8所述的方法,其中所述关联的网络节点的能力相对于每个其他网络节点来定义。
12.如权利要求1所述的方法,还包括:
当从网络增加或移除网络节点时,使用可用于与责任区关联的当前数目个网络节点执行到第二多个责任区的所述划分和所述分配。
13.如权利要求12所述的方法,还包括:
最大化在所述第一多个责任区和所述第二多个责任区之间的责任区的重叠。
14.一种计算机可读存储介质,包括:
可由处理器执行的第一指令集,被配置为确定在资源标识空间中多个资源标识符的位置;
可由处理器执行的第二指令集,被配置为将所述资源标识空间划分成第一多个分离的责任区;其中
每个责任区关联于不同的网络节点;以及
所有责任区的总和涵盖整个资源标识空间;以及
可由处理器执行的第三指令集,被配置为向与第一责任区相关的网络节点分配与位于第一责任区中的资源标识符关联的资源的管理责任。
15.如权利要求14所述的计算机可读存储介质,其中所述资源标识空间为名称空间。
16.如权利要求15所述的计算机可读存储介质,还包括:
可由处理器执行的第四指令集,被配置为通过对于资源的名称进行散列来计算所述多个资源标识符的资源标识符。
17.如权利要求14所述的计算机可读存储介质,还包括
可由处理器执行的第四指令集,被配置为基于关联的网络节点的能力确定关联的网络节点的责任区。
18.一种***,包括:
多个网络节点,其中
所述多个网络节点中的每个网络节点包括相应处理器、耦合至处理器的存储器、和耦合至处理器的网络接口;
网络,被配置为将所述多个网络节点彼此耦合,其中所述网络耦合至每个网络节点的网络接口;以及
其中:
每个网络节点的存储器存储:
可由网络节点的处理器执行的第一指令集,被配置为确定在资源标识空间中多个资源标识符的位置;
可由网络节点的处理器执行的第二指令集,被配置为将所述资源标识空间划分成第一多个分离的责任区;其中
每个责任区关联于所述多个网络节点中的不同的网络节点;以及
所有责任区的总和涵盖整个资源标识空间;以及
可由网络节点的处理器执行的第三指令集,被配置为向与第一责任区相关的网络节点分配与位于第一责任区中的资源标识符关联的资源的管理责任。
19.如权利要求18所述的***,其中每个网络节点的存储器还存储:
可由网络节点的处理器执行的第四指令集,被配置为通过对于资源的名称进行散列来计算所述多个资源标识符的资源标识符;其中
所述资源标识空间为名称空间。
20.如权利要求18所述的***,其中每个网络节点的存储器还存储:
可由网络节点的处理器执行的第四指令集,被配置为基于关联的网络节点的能力确定关联的网络节点的责任区。
21.一种装置,包括:
确定在资源标识空间中多个资源标识符的位置的部件;
将所述资源标识空间划分成第一多个分离的责任区的部件;其中
每个责任区关联于不同的网络节点;以及
所有责任区的总和涵盖整个资源标识空间;以及
向与第一责任区相关的网络节点分配与位于第一责任区中的资源标识符关联的资源的管理责任的部件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/964,264 US8244846B2 (en) | 2007-12-26 | 2007-12-26 | Balanced consistent hashing for distributed resource management |
US11/964,264 | 2007-12-26 | ||
PCT/US2008/088167 WO2009086378A1 (en) | 2007-12-26 | 2008-12-23 | Balanced consistent hashing for distributed resource management |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101960427A true CN101960427A (zh) | 2011-01-26 |
CN101960427B CN101960427B (zh) | 2014-06-18 |
Family
ID=40469881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880127439.3A Active CN101960427B (zh) | 2007-12-26 | 2008-12-23 | 分布式资源管理的平衡一致性散列 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8244846B2 (zh) |
EP (1) | EP2245535B1 (zh) |
JP (2) | JP2011510367A (zh) |
CN (1) | CN101960427B (zh) |
WO (1) | WO2009086378A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394922A (zh) * | 2011-10-27 | 2012-03-28 | 上海文广互动电视有限公司 | 分布式集群文件***及文件访问方法 |
CN103297268A (zh) * | 2013-05-13 | 2013-09-11 | 北京邮电大学 | 基于p2p技术的分布式数据一致性维护***和方法 |
CN104320464A (zh) * | 2014-10-27 | 2015-01-28 | 华为技术有限公司 | 分布式集群重配方法和装置 |
CN106991008A (zh) * | 2016-01-20 | 2017-07-28 | 华为技术有限公司 | 一种资源锁管理方法、相关设备及*** |
CN107370614A (zh) * | 2016-05-13 | 2017-11-21 | 北京京东尚科信息技术有限公司 | 网络用户活跃度评估方法和预测方法 |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2304590A4 (en) * | 2008-06-20 | 2012-04-25 | Leostream Corp | METHOD OF MANAGING LAYER AND APPARATUS FOR DYNAMICALLY ASSIGNING USERS TO COMPUTER RESOURCES |
US8484162B2 (en) | 2008-06-24 | 2013-07-09 | Commvault Systems, Inc. | De-duplication systems and methods for application-specific data |
US8583832B2 (en) * | 2008-12-31 | 2013-11-12 | Verizon Patent And Licensing Inc. | Network interface device management using management transport channel |
US8930306B1 (en) | 2009-07-08 | 2015-01-06 | Commvault Systems, Inc. | Synchronized data deduplication |
CN101815095B (zh) * | 2010-03-26 | 2016-01-13 | 浪潮电子信息产业股份有限公司 | 一种san存储资源统一管理和分配方法 |
US8572239B2 (en) * | 2010-09-20 | 2013-10-29 | Microsoft Corporation | Node clustering |
US8572340B2 (en) | 2010-09-30 | 2013-10-29 | Commvault Systems, Inc. | Systems and methods for retaining and using data block signatures in data protection operations |
US8364652B2 (en) | 2010-09-30 | 2013-01-29 | Commvault Systems, Inc. | Content aligned block-based deduplication |
US9020900B2 (en) | 2010-12-14 | 2015-04-28 | Commvault Systems, Inc. | Distributed deduplicated storage system |
US20120150818A1 (en) | 2010-12-14 | 2012-06-14 | Commvault Systems, Inc. | Client-side repository in a networked deduplicated storage system |
US8712975B2 (en) | 2011-03-08 | 2014-04-29 | Rackspace Us, Inc. | Modification of an object replica |
US8538926B2 (en) | 2011-03-08 | 2013-09-17 | Rackspace Us, Inc. | Massively scalable object storage system for storing object replicas |
US8510267B2 (en) | 2011-03-08 | 2013-08-13 | Rackspace Us, Inc. | Synchronization of structured information repositories |
US8554951B2 (en) | 2011-03-08 | 2013-10-08 | Rackspace Us, Inc. | Synchronization and ordering of multiple accessess in a distributed system |
JP5540269B2 (ja) * | 2011-05-10 | 2014-07-02 | 日本電信電話株式会社 | データ負荷分散配置システムおよびデータ負荷分散配置方法 |
JP5690287B2 (ja) * | 2012-01-17 | 2015-03-25 | 日本電信電話株式会社 | 負荷分散プログラムおよび負荷分散装置 |
US9628438B2 (en) * | 2012-04-06 | 2017-04-18 | Exablox | Consistent ring namespaces facilitating data storage and organization in network infrastructures |
US9251186B2 (en) | 2012-06-13 | 2016-02-02 | Commvault Systems, Inc. | Backup using a client-side signature repository in a networked storage system |
US8984487B2 (en) | 2012-09-14 | 2015-03-17 | Microsoft Technology Licensing, Llc | Resource tracker |
CN103853499B (zh) * | 2012-11-30 | 2017-02-08 | 上海可鲁***软件有限公司 | 一种多源数据存储和读取方法 |
US9665591B2 (en) | 2013-01-11 | 2017-05-30 | Commvault Systems, Inc. | High availability distributed deduplicated storage system |
US9552382B2 (en) | 2013-04-23 | 2017-01-24 | Exablox Corporation | Reference counter integrity checking |
US9514137B2 (en) | 2013-06-12 | 2016-12-06 | Exablox Corporation | Hybrid garbage collection |
JP2016526720A (ja) | 2013-06-19 | 2016-09-05 | エグザブロックス・コーポレーション | クラスタベースの記憶システムにおけるデータスクラビング |
US9934242B2 (en) | 2013-07-10 | 2018-04-03 | Exablox Corporation | Replication of data between mirrored data sites |
US9210219B2 (en) | 2013-07-15 | 2015-12-08 | Red Hat, Inc. | Systems and methods for consistent hashing using multiple hash rings |
CN103441918A (zh) * | 2013-08-29 | 2013-12-11 | 哈尔滨工程大学 | 一种自组织集群服务器***及其自组织方法 |
US10248556B2 (en) | 2013-10-16 | 2019-04-02 | Exablox Corporation | Forward-only paged data storage management where virtual cursor moves in only one direction from header of a session to data field of the session |
CN103546583B (zh) * | 2013-11-12 | 2017-04-19 | 上海交通大学 | 群智感知***及群智感知方法 |
US9830346B2 (en) | 2013-11-26 | 2017-11-28 | Sap Se | Table redistribution in distributed databases |
US9372907B2 (en) * | 2013-11-26 | 2016-06-21 | Sap Se | Table placement in distributed databases |
US9985829B2 (en) | 2013-12-12 | 2018-05-29 | Exablox Corporation | Management and provisioning of cloud connected devices |
US9774582B2 (en) | 2014-02-03 | 2017-09-26 | Exablox Corporation | Private cloud connected device cluster architecture |
US9830324B2 (en) | 2014-02-04 | 2017-11-28 | Exablox Corporation | Content based organization of file systems |
US10380072B2 (en) | 2014-03-17 | 2019-08-13 | Commvault Systems, Inc. | Managing deletions from a deduplication database |
US9633056B2 (en) | 2014-03-17 | 2017-04-25 | Commvault Systems, Inc. | Maintaining a deduplication database |
EP2940580B8 (en) * | 2014-04-30 | 2018-05-02 | Alcatel Lucent | Method for performing load balancing, distributed computing environment, cluster and computer program product |
US11249858B2 (en) | 2014-08-06 | 2022-02-15 | Commvault Systems, Inc. | Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host |
US9852026B2 (en) | 2014-08-06 | 2017-12-26 | Commvault Systems, Inc. | Efficient application recovery in an information management system based on a pseudo-storage-device driver |
US9575673B2 (en) | 2014-10-29 | 2017-02-21 | Commvault Systems, Inc. | Accessing a file system using tiered deduplication |
US10216770B1 (en) | 2014-10-31 | 2019-02-26 | Amazon Technologies, Inc. | Scaling stateful clusters while maintaining access |
JP6388290B2 (ja) * | 2014-11-12 | 2018-09-12 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 分散システムにおけるロック・サーバの故障を処理するための方法およびシステム |
US9886442B2 (en) | 2015-01-12 | 2018-02-06 | Microsoft Technology Licensing, Llc | Enhanced compression, encoding, and naming for resource strings |
US9467166B2 (en) | 2015-01-12 | 2016-10-11 | Microsoft Technology Licensing, Llc | Enhanced compression, encoding, and naming for resource strings |
US10430182B2 (en) | 2015-01-12 | 2019-10-01 | Microsoft Technology Licensing, Llc | Enhanced compression, encoding, and naming for resource strings |
US10467001B2 (en) | 2015-01-12 | 2019-11-05 | Microsoft Technology Licensing, Llc | Enhanced compression, encoding, and naming for resource strings |
US10339106B2 (en) | 2015-04-09 | 2019-07-02 | Commvault Systems, Inc. | Highly reusable deduplication database after disaster recovery |
US20160350391A1 (en) | 2015-05-26 | 2016-12-01 | Commvault Systems, Inc. | Replication using deduplicated secondary copy data |
US9766825B2 (en) | 2015-07-22 | 2017-09-19 | Commvault Systems, Inc. | Browse and restore for block-level backups |
US20170060924A1 (en) | 2015-08-26 | 2017-03-02 | Exablox Corporation | B-Tree Based Data Model for File Systems |
JP6387333B2 (ja) * | 2015-09-07 | 2018-09-05 | 日本電信電話株式会社 | ノードおよびスロット最適化方法 |
US10296394B2 (en) * | 2015-12-04 | 2019-05-21 | Nec Corporation | Consistent hashing |
US10592357B2 (en) | 2015-12-30 | 2020-03-17 | Commvault Systems, Inc. | Distributed file system in a distributed deduplication data storage system |
US10296368B2 (en) | 2016-03-09 | 2019-05-21 | Commvault Systems, Inc. | Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount) |
US9846553B2 (en) | 2016-05-04 | 2017-12-19 | Exablox Corporation | Organization and management of key-value stores |
US10122647B2 (en) * | 2016-06-20 | 2018-11-06 | Microsoft Technology Licensing, Llc | Low-redistribution load balancing |
US10740193B2 (en) | 2017-02-27 | 2020-08-11 | Commvault Systems, Inc. | Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount |
JP2018142129A (ja) * | 2017-02-27 | 2018-09-13 | 富士通株式会社 | 情報処理システム、情報処理方法、及び情報処理装置 |
US10664352B2 (en) | 2017-06-14 | 2020-05-26 | Commvault Systems, Inc. | Live browsing of backed up data residing on cloned disks |
US10540207B1 (en) * | 2018-07-18 | 2020-01-21 | International Business Machines Corporation | Fast, low memory, consistent hash using an initial distribution |
US11010258B2 (en) | 2018-11-27 | 2021-05-18 | Commvault Systems, Inc. | Generating backup copies through interoperability between components of a data storage management system and appliances for data storage and deduplication |
US11698727B2 (en) | 2018-12-14 | 2023-07-11 | Commvault Systems, Inc. | Performing secondary copy operations based on deduplication performance |
US20200327017A1 (en) | 2019-04-10 | 2020-10-15 | Commvault Systems, Inc. | Restore using deduplicated secondary copy data |
US11463264B2 (en) | 2019-05-08 | 2022-10-04 | Commvault Systems, Inc. | Use of data block signatures for monitoring in an information management system |
CN112306651A (zh) * | 2019-07-31 | 2021-02-02 | 华为技术有限公司 | 一种资源分配方法和资源借调方法 |
US11442896B2 (en) | 2019-12-04 | 2022-09-13 | Commvault Systems, Inc. | Systems and methods for optimizing restoration of deduplicated data stored in cloud-based storage resources |
JP7401760B2 (ja) | 2020-02-21 | 2023-12-20 | 日本製鉄株式会社 | α+β型チタン合金棒材の製造方法 |
US11687424B2 (en) | 2020-05-28 | 2023-06-27 | Commvault Systems, Inc. | Automated media agent state management |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060129738A1 (en) * | 2003-07-15 | 2006-06-15 | Ofir Zohar | Data allocation in a distributed storage system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08314875A (ja) * | 1995-03-14 | 1996-11-29 | Mitsubishi Electric Corp | 協調分散処理方法、および分散共有メモリ監視装置、分散共有メモリネットワーク追跡装置、分散共有メモリネットワーク設定支援装置 |
US6415373B1 (en) * | 1997-12-24 | 2002-07-02 | Avid Technology, Inc. | Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
US6823377B1 (en) * | 2000-01-28 | 2004-11-23 | International Business Machines Corporation | Arrangements and methods for latency-sensitive hashing for collaborative web caching |
US7328263B1 (en) * | 2001-01-30 | 2008-02-05 | Cisco Technology, Inc. | Controlling access of concurrent users of computer resources in a distributed system using an improved semaphore counting approach |
US6732171B2 (en) * | 2002-05-31 | 2004-05-04 | Lefthand Networks, Inc. | Distributed network storage system with virtualization |
JP4068473B2 (ja) * | 2003-02-19 | 2008-03-26 | 株式会社東芝 | ストレージ装置、分担範囲決定方法及びプログラム |
US7139772B2 (en) * | 2003-08-01 | 2006-11-21 | Oracle International Corporation | Ownership reassignment in a shared-nothing database system |
US7366837B2 (en) * | 2003-11-24 | 2008-04-29 | Network Appliance, Inc. | Data placement technique for striping data containers across volumes of a storage system cluster |
JP2005196602A (ja) * | 2004-01-09 | 2005-07-21 | Hitachi Ltd | 無共有型データベース管理システムにおけるシステム構成変更方法 |
-
2007
- 2007-12-26 US US11/964,264 patent/US8244846B2/en active Active
-
2008
- 2008-12-23 JP JP2010540865A patent/JP2011510367A/ja active Pending
- 2008-12-23 WO PCT/US2008/088167 patent/WO2009086378A1/en active Application Filing
- 2008-12-23 EP EP08867534.3A patent/EP2245535B1/en active Active
- 2008-12-23 CN CN200880127439.3A patent/CN101960427B/zh active Active
-
2014
- 2014-02-28 JP JP2014039560A patent/JP6033805B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060129738A1 (en) * | 2003-07-15 | 2006-06-15 | Ofir Zohar | Data allocation in a distributed storage system |
Non-Patent Citations (2)
Title |
---|
SAITO ET AL: "Manageability,Availability,and Performance in Porcupine:A highly Scalable, Cluster-Based Mail Service", 《ACM TRANSACTIONS ON COMPUTER SYSTEMS ACM USA》 * |
STOICA ET AL: "A scalable peer-to-peer look-up protocol for internet applications", 《IEEE/ACM TRANSATIONS ON NETWORKING,IEEE/ACM》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102394922A (zh) * | 2011-10-27 | 2012-03-28 | 上海文广互动电视有限公司 | 分布式集群文件***及文件访问方法 |
CN103297268A (zh) * | 2013-05-13 | 2013-09-11 | 北京邮电大学 | 基于p2p技术的分布式数据一致性维护***和方法 |
CN103297268B (zh) * | 2013-05-13 | 2016-04-06 | 北京邮电大学 | 基于p2p技术的分布式数据一致性维护***和方法 |
CN104320464A (zh) * | 2014-10-27 | 2015-01-28 | 华为技术有限公司 | 分布式集群重配方法和装置 |
CN104320464B (zh) * | 2014-10-27 | 2017-10-10 | 华为技术有限公司 | 分布式集群重配方法和装置 |
CN106991008A (zh) * | 2016-01-20 | 2017-07-28 | 华为技术有限公司 | 一种资源锁管理方法、相关设备及*** |
CN106991008B (zh) * | 2016-01-20 | 2020-12-18 | 华为技术有限公司 | 一种资源锁管理方法、相关设备及*** |
CN107370614A (zh) * | 2016-05-13 | 2017-11-21 | 北京京东尚科信息技术有限公司 | 网络用户活跃度评估方法和预测方法 |
Also Published As
Publication number | Publication date |
---|---|
US8244846B2 (en) | 2012-08-14 |
CN101960427B (zh) | 2014-06-18 |
JP2011510367A (ja) | 2011-03-31 |
EP2245535A1 (en) | 2010-11-03 |
JP2014142945A (ja) | 2014-08-07 |
WO2009086378A1 (en) | 2009-07-09 |
EP2245535B1 (en) | 2018-11-14 |
JP6033805B2 (ja) | 2016-11-30 |
US20090172139A1 (en) | 2009-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101960427B (zh) | 分布式资源管理的平衡一致性散列 | |
US8769545B2 (en) | Server pool management method | |
US9141435B2 (en) | System and methodology providing workload management in database cluster | |
US8856091B2 (en) | Method and apparatus for sequencing transactions globally in distributed database cluster | |
US7991835B2 (en) | Distributed client services based on execution of service attributes and data attributes by multiple nodes in resource groups | |
US8639816B2 (en) | Distributed computing based on multiple nodes with determined capacity selectively joining resource groups having resource requirements | |
CN1669001B (zh) | 用于在服务器整合环境中执行业务连续性策略的方法和装置 | |
US7870230B2 (en) | Policy-based cluster quorum determination | |
JP4614956B2 (ja) | データの所有権の動的な再割当 | |
US20090106323A1 (en) | Method and apparatus for sequencing transactions globally in a distributed database cluster | |
US20100138540A1 (en) | Method of managing organization of a computer system, computer system, and program for managing organization | |
EP1386234A2 (en) | Resource action in clustered computer system incorporating prepare operation | |
US20100082546A1 (en) | Storage Tiers for Database Server System | |
CN1338687A (zh) | 用于集群计算机***的合并协议 | |
US20070180452A1 (en) | Load distributing system and method | |
CA2619778C (en) | Method and apparatus for sequencing transactions globally in a distributed database cluster with collision monitoring | |
US20230185631A1 (en) | Embedded capacity-computer module for microservice load balancing and distribution | |
WO2008007442A1 (fr) | Programme de gestion de système, dispositif de gestion de système et procédé de gestion de système | |
Zhang et al. | A High Availability and Disaster Recovery System | |
JP2004157766A (ja) | データストレージ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |