存储区域网络知晓的文件系统上的自治数据缓存和拷贝的制作方法

文档序号:6650753阅读:192来源:国知局
专利名称:存储区域网络知晓的文件系统上的自治数据缓存和拷贝的制作方法
技术领域
本发明的实施涉及使用拷贝服务的存储区域网络(SAN)知晓的文件系统上的自治数据高速缓存和拷贝。
背景技术
计算系统通常包括用于处理数据和运行应用程序的一个或多个主计算机(主机),用于存储数据的直接访问存储装置(DASD),以及用于控制在主机和DASD之间数据传递的存储控制器。存储控制器,也被称为控制单元或存储引向器,管理着对由许多硬盘驱动器或者被称为直接访问存储装置(DASD)构成的存储空间的访问。主机可以通过存储控制器向存储空间传递输入/输出(I/O)请求。
存储控制器可以提供拷贝服务。利用拷贝服务,一个存储装置(诸如DASD)上的数据可被拷贝到相同的或另一个存储装置上,从而可以从两个不同的装置提供对数据卷的访问或者具有备份拷贝。
国际商业机器公司(IBM),本专利申请的受让人,提供了用于在第二存储装置上保持数据的远程拷贝的远程拷贝服务,包括扩展的远程拷贝(XRC)和对等远程拷贝(PPRC)。这些系统提供了用于恢复最后的、安全的备份和系统故障之间的数据更新的技术。这种数据投影系统还可以提供用于非恢复目的附加的远程拷贝,例如在远程站点处的本地访问。
拷贝服务的另一个例子是时点拷贝,其涉及从源卷到目标卷物理地拷贝所有的数据,从而目标卷具有一个时间点上的数据的拷贝。还可以通过逻辑地进行数据的拷贝,然后仅当需要时才拷贝数据来进行时点拷贝,实际上推迟了物理拷贝,并且这被称为“即时虚拟拷贝”操作或“快速复制功能”。
即时虚拟拷贝操作通过修改元数据例如关系表或指针以便将源数据对象既对待为原始对象又对待为拷贝对象来工作。响应主机的拷贝请求,存储子系统立即报告拷贝的创建,而不进行数据的任何物理拷贝。只产生了“虚拟”拷贝,并且附加的物理拷贝的缺失完全不为主机所知。主机或存储子系统甚至可以在后台处理期间或者在另一个时间进行原始数据对象的实际的物理拷贝的创建。
在发表于2003年8月26日的名称为“Method,System,and Programfor Maintaining Electronic Data as of a Point-in-Time”的共同受让的美国专利6,661,901中描述了一种这样的即时虚拟拷贝操作,通过引用将该专利申请的全部内容包括在此。
一些常规的系统提供全局文件系统。即,服务器计算机可以通过网络和存储文件的存储控制器相连。文件系统可以包括所述服务器计算机上的文件。一个文件系统可以被描述为这样的系统,操作系统或程序使用该系统组织并跟踪文件。例如,分层的文件系统是使用目录把文件组织到树结构内的系统。因而,文件系统包括文件以及访问(例如存储、检索、修改和删除)该文件的能力。采用长距离上的全局文件系统的文件访问时间和速度可能是慢的,这是由于文件访问的数据必须经过的长的距离。即,当对数据的请求被发送到远离产生该请求的计算机的服务器计算机时,可能花费一些时间访问文件并返回请求的数据。
一些常规的系统通过在地理上使用复制的服务器计算机本地地高速缓存数据。具体地说,若干个服务器计算机在一个大的地理区域上(例如跨美国内不同的州)被连接在一起,并且数据被复制在每个服务器上。然后,对数据的请求可被路由到在地理上最接近产生所述请求的计算机的服务器计算机。不过,通常难于同步地保持数据的拷贝。
因此,本领域中一直需要改进的文件访问。

发明内容
提供一种用于处理请求制造产品、系统和方法。当所述请求是读一个数据单元时,返回关于最接近的物理块位置的信息。当所述请求是写所述数据单元时,返回关于一个或多个源块位置的信息,其中写被应用于该数据单元的一个或多个源块。当对于该数据单元的请求的数量超过了一个阈值等级并且服务策略的至少一个质量没有被满足时,在根据与至少一个客户计算机的接近程度所选择的位置处创建该数据单元的一个或多个源块的拷贝,其中来自该客户计算机的请求数目是高的。


现在参见附图,其中相同的标号表示相应的部件图1表示实现了本发明的某个实施方案的计算环境;图2表示按照本发明的某些实施方案的客户计算机;图3表示按照本发明的某些实施方案的元数据服务器;图4表示按照本发明的某些实施方案的元数据存储设备;图5表示按照本发明的某些实施方案的存储系统;图6表示按照本发明的某些实施方案,用于处理读或写请求的逻辑;图7表示按照本发明的某些实施方案,由数据系统管理器执行的逻辑;以及图8表示可以按照本发明的某些实施方案使用的计算机系统的体系结构。
具体实施例方式
在下面的说明中,参考了构成本说明的一部分的附图,这些附图表示本发明的几个实施方案。应当理解,可以利用其它的实施方案并且可以进行结构和操作的改变,而不脱离本发明的实施方案的范围。
图1以方块图的形式表示了按照本发明的某些实施方案的计算环境。一个或多个客户计算机100a,...100n通过网络170和元数据服务器群集130相连,并通过存储网络180和存储系统150a...150n相连。存储网络180在客户计算机100a...100n和存储系统150a...150n之间提供直接数据传递。存储系统150a被认为对于客户计算机100a是“接近的”存储设备,存储系统150n被认为对于客户计算机100a是“远的”存储设备。同样,存储系统150n被认为对于客户计算机100n是“接近的”存储设备,并且存储系统150a被认为对于客户计算机100n是“远的”存储设备。术语“接近的”存储设备可被描述为这样一种存储设备,其与对于一个客户计算机来说是“远的”存储设备相比在地理上更接近该客户计算机。每个客户计算机100a...100n具有相关的接近的存储设备。接近的存储设备包括被存储在远程存储设备中的数据单元(例如文件)的源块(即,形成数据单元的原始块,并且可被拷贝到接近的存储设备)的拷贝。一组相关的源块可被描述为一个数据单元(例如文件)。
每个客户计算机100a...100n包括文件系统120a...120n,它们分别具有高速缓存122a...122n。客户计算机100a...100n可以运行任何操作系统108a...108n(图2),例如AIX操作系统,Linux操作系统,Windows2000操作系统,WindowsXP操作系统,Solaris操作系统,UNIX操作系统或HP-UX操作系统。客户计算机100a...100n也可以被称为“存储客户机”。
文件系统120a...120n可以被称为运行某些操作系统(例如Windows2000操作系统,WindowsXP操作系统,或HP-UX操作系统)的客户计算机上的可安装的文件系统(IFS),并可被称为运行某些其它操作系统(例如AIX操作系统,Linux操作系统或Solaris操作系统)的客户计算机上的虚拟文件系统(VFS)。在客户计算机100a...100n上的文件系统120a...120n可被称为存储控制器客户机文件系统。
文件系统120a...120n将元数据操作定向到元数据服务器群集130,并将数据操作定向到被附加到高速存储网络180的存储系统150a...150n。文件系统120a...120n使得对于每个客户计算机100a...100n的操作系统以及客户计算机100a...100n运行的任何应用程序是可见的元数据与从本地的、被本地附加的文件系统读出的元数据看起来是相同的。文件系统120a...120n支持数据的锁定和高速缓存。
每个客户计算机100a...100n可以包括本领域已知的任何计算装置,例如服务器,大型计算机,工作站,个人计算机,手持计算机,膝上电话装置,网络应用等。
元数据服务器群集130包括元数据服务器132a...132m。管理客户计算机190可以可选择地和元数据服务器群集130相连以便允许管理员直接向一个或多个元数据服务器132a...132m提交命令。每个元数据服务器132a...132m实现一个SAN文件系统目录,该目录存储着文件和存储装置上组成该文件的源块之间的映射。所述映射被存储在元数据存储设备140中。
元数据存储设备和存储网络180相连。元数据服务器132a...132m在元数据存储设备140中保持数据,包括例如数据在存储系统150a...150n中的位置,以及数据被每个客户计算机100a...100n访问的频繁程度。
每个存储系统150a...150n包括一个或多个存储控制器152b...152q,152d...152r,并包括用于存储数据(例如文件)的共享的存储池154a...154n。
SAN可被描述为共享的存储装置的高速子网。存储装置可被描述为能够存储数据的任何组件。多个元数据服务器132a...132m具有对存储系统150a...150n中的存储装置的访问。SAN知晓的文件系统可被描述为包括元数据服务器群集130、元数据存储设备140、存储系统150a...150n、存储网络180以及虚拟的和可安装的文件系统120a...120n。因而,图1示出了群集环境中的统一的文件系统。
每个元数据服务器132a...132m可被描述为使用用于组织和跟踪SAN知晓的文件系统中的数据的技术的共享的存储装置的子网。每个元数据服务器132a...132m可以从远程存储设备向多个接近的存储设备中的一个或多个存储设备拷贝数据单元。每个元数据服务器132a...132m能够跟踪对数据源块和所述数据源块的拷贝的多个引用。为了容易引用,数据源块的拷贝将被称为“拷贝块”。一组相关的源块可被描述为数据单元(例如一个文件)。元数据服务器132a...132m还跟踪每个接近的存储设备和每个客户计算机100a...100n的位置。
网络170和180的每一个可以包括任何类型的网络,例如,存储区域网(SAN),局域网(LAN),广域网(WAN),互联网,内联网等。
图2表示按照本发明的某些实施方案的客户计算机100a...100n。
每个客户计算机100a...100n包括一个或多个中央处理单元(CPU)102a...102n和系统存储器104a...104n,系统存储器104a...104n可以由易失的和/或非易失的装置实现。一个或多个客户应用106a...106n,操作系统108a...108n,以及一个或多个错误恢复系统112a...112n可被存储在系统存储器104a中。操作系统108a...108n可以包括一个或多个设备驱动器110a...110n。当把引向器从一个块组转换到另一个块组时(例如,从源块转换到目标块),可以使用错误恢复系统112a...112n和设备驱动器110a...110n以确保数据一致的转换。在Gregory E.McBride等人的2004年11月19日的申请号为No.10/994149,名称为“Application TransparentAutonomic Availability On A Storage Area Network Aware File System”,委托记录号为SJO920030071US1的美国专利申请中进一步描述了引向器的转换,通过引用将其全部内容包括在此。因为I/O可以在连续的流中发生,元数据服务器132a...132m和/或拷贝服务器158b...158q,158d...158r(图5)可以指示存储控制器152b...152q,152d...152r在块被转换到将被使用的新块时返回错误指示。这将引起错误恢复系统112a...112n和/或设备驱动器110a...110n执行重试操作,并作为重试操作的一部分更新本地(虚拟)块地址到物理存储的映射。然后下一个I/O对该数据的新位置进行。
在常规的I/O系统中,当检查到永久错误时,设备驱动器110a...110n和/或错误恢复系统112a...112n向发出请求的程序返回错误指示。这通常导致应用程序的异常终止,其将引起应用程序的运转中断。在本发明的实施方案中,错误恢复系统112a...112n执行附加的处理。具体地说,首先,错误被从执行I/O操作的装置返回。错误恢复系统112a...112n确定该装置是否是正由SAN知晓的文件系统管理的虚拟装置。如果该虚拟装置不是正被SAN知晓的文件系统管理,则错误被返回给对活动的I/O请求。如果该虚拟装置正被SAN知晓的文件系统管理,则错误恢复系统112a...112n通知元数据服务器132a...132m或者通知客户计算机100a...100n,然后客户计算机100a...100n通知元数据服务器132a...132m发生了错误。错误恢复系统112a...112n等待将被做出的关于重定向I/O的策略决定。元数据服务器132a...132m(或其它的策略引擎)决定是否把引向器转换到数据,转换到哪些数据,并进行转换操作。客户计算机100a...100n被以新的映射更新,并通知错误恢复系统112a...112n其等待结束。如果数据被重新映射,则错误恢复系统112a...112n使用新的地址重试操作。如果数据未被重新映射,则错误恢复系统112a...112n返回错误。在另一个实施方案中,客户计算机100a...100n可以知晓数据的新的拷贝是否是可写的,并且如果请求是写请求,并且数据被映射到一个新的只读位置,则错误恢复系统112a...112n可以报告错误。
图3表示按照本发明的某些实施方案的元数据服务器132a...132m。每个元数据服务器132a...132m包括系统存储器134a...134m,其可以在易失的和/或非易失的装置中被实现。每个系统存储器134a...134m包括数据系统管理器136a...136m和一个或多个服务器应用138a...138m。
每个元数据服务器132a...132m能够跟踪对数据源块和数据源块的拷贝的多个引用。为了易于引用,数据源块的拷贝将被称为“目标块”。一组相关的源块可被描述为一个数据单元(例如文件)。每个元数据服务器132a...132m还跟踪每个客户计算机100a...100n的位置。
每个元数据服务器132a...132m通过存储文件和构成该文件的源和目标块源之间的映射起用于SAN知晓的文件系统的目录的作用。每个元数据服务器132a...132m还与(例如)由存储系统150a...150n提供的拷贝服务158b...158q,158d...158r(图5)一起工作。拷贝服务158b...158q,158d...158r允许基于策略的拷贝服务,例如时点拷贝服务、连续拷贝服务等。每个元数据服务器132a...132m可以和其它的应用程序或SAN元件一起工作以便执行拷贝服务。即,可以用各种形式提供拷贝服务,例如以在服务器计算机上或在SAN结构元件中执行的应用的形式。
随着数据通过拷贝服务被复制,每个元数据服务器132a...132m跟踪源块和这些块的拷贝之间的关系,而不管拷贝服务的类型是什么(例如时点拷贝服务或连续拷贝服务)。此外,每个元数据服务器132a...132m能够将对文件块的引用从源块转换源块的拷贝(即,“目标块”),这使得目标块成为新的源块。
图4表示按照本发明的某些实施方案的元数据存储设备140。元数据存储设备140包括映射信息142。映射信息包括具有和文件相关的行的表。对于每个文件,所述映射信息包括文件名、指示用于该文件的源块的位置的源块,1-X个目标块以及会话标识符。1-X个目标块表示源块的一个或多个拷贝,并提供源块的拷贝的位置。会话是表示将被保持为一致状态的一组数据的一组拷贝服务关系。文件的每个目标拷贝(由目标块构成)可以共享一个会话或具有其自身的会话。此外,元数据存储设备140可以存储描述数据单元的位置、每个数据单元被每个客户计算机100a...100n访问的频度等的信息。
图5表示按照本发明的某些实施方案的存储系统150a...150n。存储系统150a提供了一个或多个存储控制器152b...152q和共享的存储池154a。每个存储控制器152b...152q提供拷贝服务158b...158q。每个共享的存储池156c...156p提供共享的存储装置。类似地,存储系统150n提供了一个或多个存储控制器152d...152r和共享的存储池154n。每个存储控制器152d...152r提供拷贝服务158d...158r。每个共享的存储池156e...156s提供共享的存储装置。在某些实施方案中,存储装置(例如LUN)被分组到存储池中,以便根据服务分类属性,例如性能和可靠性,允许基于策略的管理。LUN可被描述为可以标识特定盘的一个唯一的数,并通常被用于访问具有该LUN的磁盘。在某些实施方案中,每个存储控制器152b...152q和152d...152r和一个存储池或一个存储池内的一个或多个存储装置(例如,LUN)相连。存储池156c...156p和156e...156s中的每一个可以包括,例如,存储装置的阵列,诸如直接访问存储装置(DASD),磁盘捆绑(JBOD),独立磁盘冗余阵列(RAID),虚拟化装置等。
图6表示按照本发明的某些实施方案用于处理读或写请求的逻辑。控制从块600开始,其中数据系统管理器136a...136m从引用逻辑块位置的客户计算机100a...100n接收对于数据的请求。在块602中,数据系统管理器136a...136m确定客户计算机100a...100n对其具有SAN访问的数据的位置。具体地,客户计算机100a...100n具有对多个位置的访问,并且数据系统管理器136a...136m确定这些位置。最后,数据系统管理器136a...136m选择对于访问该数据是优选的位置。该位置可以基于多个因素是优选的,例如离客户计算机100a...100n的位置的距离,位置的可靠性等等。
在块604,数据系统管理器136a...136m由所述的逻辑块位置产生被请求的数据的物理块位置的列表。数据块的多个实例可被存储在不同的存储区域,因而客户计算机100a...100n涉及到的一个逻辑块位置可以映射到多个不同的物理块位置。对于被请求的数据的每个逻辑块,数据系统管理器136a...136m确定一个或多个物理块位置的列表。
在块606,数据系统管理器136a...136m寻找最接近客户计算机100a...100n的物理块位置。最接近的物理块位置可存在于连接到客户计算机100a...100n的附近的存储设备中,从客户计算机100a...100n处接收到所述请求,或者可以位于其它的附近的存储设备或远程存储设备中。
在块608,数据系统管理器136a...136m确定所述请求是否是读请求。如果是,处理继续到块610,否则,处理继续到块612。在块610,数据系统管理器136a...136m发送关于所述最接近的物理块位置(例如,在附近的存储设备中的块位置)的信息。在某些实施方案中,可以为一个客户计算机100a...100n提供关于另一个客户计算机100a...100n处的物理块位置的信息。在块612中,对于写请求,数据系统管理器136a...136m发送关于源块位置的信息,所述源块可能在远程存储设备中。即,对最接近的拷贝块执行读请求,而写请求被应用到源块,从而当写操作发生时,源块被更新。在块614中,源块被写请求更新,底层拷贝服务技术(例如,拷贝服务158b...158q,158d...158r)能够使源块同步地复制到被元数据服务器132a...132m跟踪的所有拷贝块。
用这种方式,通过依靠底层拷贝服务技术,对任何拷贝块的读是一致的和高速缓存符合的。同样,因为所有的写被应用于源块,从源块进行的拷贝是一致的。
图7表示按照本发明的某些实施方案由数据系统管理器136a...136m执行的逻辑。控制从块700开始,其中数据系统管理器136a...136m从第一数据单元开始选择下一个数据单元。在某些实施方案中,数据系统管理器136a...136m在所有数据单元间逐个地连续地循环,以便重新估计是否应当为每个数据单元进行附加的拷贝。在块702,数据系统管理器136a...136m确定来自一个或多个客户计算机100a...100n的对于相同数据单元的请求是否是高的,并且确定对于该数据单元,服务策略的一个或多个质量是否被满足。即,数据系统管理器136a...136m确定在何处正在进行数据访问以及该访问的频率。如果对于相同数据单元的请求是低的或者服务策略的一个或多个质量被满足,则处理向后循环到块700以便选择下一个数据单元,否则,处理继续到块704。在块704,数据系统管理器136a...136m锁定对该数据单元的一个或多个源块的访问,并通知客户机100对该数据单元的这些源块的访问被锁定了。对该数据单元的随后的访问被抑止,直到所述锁定被解除为止。在块706中,数据系统管理器136a...136m在一个或多个附加位置产生该数据单元的源块的拷贝。在块708,数据系统管理器136a...136m以源块的拷贝的新的数据位置更新元数据服务器132a...132m和客户计算机100a...100n(即,通知客户计算机100a...100n该数据单元的受影响的源块的位置可能已经改变,使得客户计算机100a...100n清除可能存在的对源块位置的任何高速缓存的拷贝)。在块710,数据系统管理器136a...136m解除对一个或多个源块的访问的锁定,并通知客户机客户计算机100a...100n该数据单元已被解锁,这允许客户计算机100a...100n继续数据访问,然后使用由块706内的拷贝创建创建的新的数据位置对所述访问进行处理。这在客户应用程序不知晓的情况下发生(例如,没有重新启动或迁移)。在某些实施方案中,根据到对所述数据单元发出大量请求的客户计算机100a...100n的地理距离选择所述位置。因而,元数据服务器132a...132m能够根据检测对该数据的访问频次,在最接近客户计算机100a...100n的位置创建该数据的拷贝。这通过数据传播获得了增加的性能。
因此,某些实施方案使用并充分利用基于存储区域网络(SAN)的文件系统(也称为SAN文件系统或SFS)和基于SAN的拷贝服务的特性。本发明的实施方案复制各种位置处的存储设备中的数据单元以便改善在远程位置的访问(即,读)性能。特别是,本发明的实施方案可以自动地向远程位置拷贝数据以便改善性能,并且这种复制对于应用程序是透明的。
在某些实施方案中,多个位置具有它们为了源数据而使用的单个共享的文件系统,其提供了所有的数据仅被存储了一次的表面现象。此外,SAN数据系统使得附加的存储设备对于用户看起来是本地的。用户能够访问用户具有访问权的所有位置,就像它们对于用户是本地的一样。
IBM和AIX是国际商业机器公司在美国和/或其它国家注册的商标或公共法律标记。Windows是微软公司在美国和/或其它国家的注册商标。Solaris是Sun Microsystems在美国和/或其它国家的注册商标或公共法律标记。Linux是Linus Torvalds在美国和/或其它国家的注册商标。HP-UX是在美国和/或其它国家的中的一种Open Group UNIX 95商品。UNIX是Open Group在美国和/或其它国家的注册商标或公共法律标记。
附加的实施细节所述的实施方案可被实现为使用编程和/或工程技术生产软件、固件、硬件或它们的任意组合的方法、装置或制造产品。这里使用的术语“制造产品”和“电路”指的是被实现在硬件逻辑(例如,集成电路芯片,可编程门阵列(PGA),专用集成电路(ASIC)等)或计算机可读介质,例如磁存储介质(例如,硬盘驱动器,软盘,磁带等),光学存储设备(CD-ROM,光盘等),易失的和非易失的存储装置(例如,EEPROM,ROM,PROM,RAM,DRAM,SRAM,固件,可编程逻辑等)中的状态机、代码或逻辑。计算机可读介质中的代码被处理器访问和执行。当代码或逻辑被处理器执行时,所述电路可以包括具有代码或逻辑的介质以及执行从所述介质装载的代码的处理器。还可以通过传输介质或者通过网络从服务器访问用于实施这些实施方案的代码。在这种情况下,所述代码被实现在其中的制造产品可以包括传输介质,例如网络传输线、无线传输介质、通过空间传播的信号、无线电波、红外线信号等。因而,“制造产品”可以包括所述代码被包含在其内的介质。此外,“制造产品”可以包括硬件和软件组件的组合,所述代码被包含在其中、被在其中处理和执行。当然,本领域技术人员将会理解,可以对这种结构做出许多改型,并且制造产品可以包括本领域已知的任何信息承载介质。
图6和图7的逻辑描述了以特定的顺序发生的特定的操作。在另一些实施方案中,某些逻辑操作可以不同的顺序执行,可以被修改或者被除去。此外,可以对上述的逻辑添加一些操作并仍然符合上述的实施方案。此外,此处所述的操作可以顺序地发生,或者某些操作可以被并行地处理,或者所述的由单个处理执行的操作可以由分布式的处理来执行。
图6和图7说明的逻辑可以用软件、硬件、可编程的和不可编程的门阵列逻辑或以硬件、软件或门阵列逻辑的某种组合来实施。
图8表示按照本发明的某些实施方案可以使用的计算机系统的体系结构800。客户计算机、服务器计算机和/或SAN数据系统可以实现计算机体系结构800。计算机体系结构800可以实现处理器802(例如微处理器),存储器804(例如,易失存储设备装置)以及存储设备810(例如非易失存储区域,例如磁盘驱动器、光盘驱动器、磁带驱动器等)。操作系统805可以在存储器804中执行。存储设备810可以包括内部存储装置或被附加的或可通过网络访问的存储设备。存储设备810中的计算机程序806可被装载到存储器804中并以本领域已知的方式被处理器802执行。该体系结构还包括网卡808以便能够和网络通信。输入装置812用于给处理器802提供用户输入,可以包括键盘、鼠标、输入笔、麦克风、触敏显示屏、或本领域已知的任何其它激活或输入机制。输出装置814例如显示器、打印机、存储设备等能够呈现来自处理器802或者其它组件的信息。所述计算机系统的计算机体系结构800可以包括比所示的较少的组件、这里未示出的附加组件或者所示出的组件和附加的组件的某种组合。
计算机体系结构800可以包括本领域已知的任何计算装置,例如大型机,服务器,个人计算机,工作站,膝上计算机,手持计算机,电话装置,网络应用,可视化设备,存储控制器等。可以使用本领域已知的任何处理器802和操作系统805。
为了解释和说明的目的给出了本发明的实施方案的上述说明。其不旨在是无遗露的或者用于将本发明的实施限制于披露的精确的形式。根据上述的教导,许多改型和改变都是可能的。本发明的实施方案的范围不旨在由这个详细的说明限制,而是由所附的权利要求限定。上面的说明、例子和数据提供了对本发明的实现的组成部分的制造和使用的完整说明。因为不脱离本发明的实施方案的精神和范围可以做出本发明的许多实施方案,本发明的实施方案属于后面所附的权利要求或者任何随后提出的权利要求以及它们的等效物。
权利要求
1.一种包括用于处理请求的程序逻辑的制造产品,其中所述程序逻辑引起操作的执行,所述操作包括当所述请求是读数据单元时,返回关于最接近的物理块位置的信息;当所述请求是写所述数据单元时,返回关于一个或多个源块位置的信息,其中所述写被应用于所述数据单元的一个或多个源块;以及当对所述数据单元的请求的数量超过一个阈值等级并且服务策略的至少一个质量不被满足时,在基于与至少一个客户计算机的接近程度选择的位置处创建所述数据单元的一个或多个源块的拷贝,其中来自所述至少一个客户计算机的所述请求的数目是高的。
2.如权利要求1所述的制造产品,其中所述操作还包括从引用逻辑块位置的客户计算机处接收对所述数据单元的所述请求。
3.如权利要求2所述的制造产品,其中所述操作还包括确定所述客户计算机对其具有访问的位置;以及为从所述逻辑块位置确定的位置创建物理块位置列表。
4.如权利要求3所述的制造产品,其中所述操作还包括寻找最接近所述客户计算机的物理块位置。
5.如权利要求4所述的制造产品,其中所述最接近的物理块位置是拷贝块位置。
6.如权利要求1所述的制造产品,其中所述操作还包括当对所述数据单元的一个或多个源块应用写时,同步地更新所述数据单元的所述一个或多个源块的拷贝。
7.如权利要求1所述的制造产品,其中所述操作还包括当对所述数据单元的请求的数量超过了所述阈值等级并且服务策略的至少一个质量不被满足时,锁定对所述数据单元的所述一个或多个源块的访问;以及通知客户计算机对所述数据单元的所述一个或多个源块的访问已被锁定。
8.如权利要求7所述的制造产品,其中所述操作还包括响应创建所述数据单元的所述一个或多个源块的拷贝,解除对所述数据单元的所述一个或多个源块的访问的锁定;以及通知客户计算机对所述数据单元的所述一个或多个源块的访问已被解除锁定。
9.如权利要求1所述的制造产品,其中所述操作还包括响应创建所述数据单元的所述一个或多个源块的拷贝,以所述一个或多个源块的拷贝的新的数据位置更新一个或多个元数据服务器。
10.如权利要求1所述的制造产品,其中所述操作还包括响应创建所述数据单元的所述一个或多个源块的拷贝,以所述一个或多个源块的拷贝的新的数据位置更新一个或多个客户计算机。
11.一种用于处理请求的方法,包括当所述请求是读数据单元时,返回关于最接近的物理块位置的信息;当所述请求是写所述数据单元时,返回关于一个或多个源块位置的信息,其中所述写被应用于所述数据单元的所述一个或多个源块;以及当对于所述数据单元的请求的数量超过了一个阈值等级并且服务策略的至少一个质量不被满足时,在基于与至少一个客户计算机的接近程度选择的位置处创建所述数据单元的所述一个或多个源块的拷贝,其中来自所述至少一个客户计算机的所述请求的数量是高的。
12.如权利要求11所述的方法,还包括从引用逻辑块位置的客户计算机处接收对所述数据单元的所述请求。
13.如权利要求12所述的方法,还包括确定所述客户计算机对其具有访问的位置;以及为从所述逻辑块位置确定的位置创建物理块位置列表。
14.如权利要求13所述的方法,还包括寻找最接近所述客户计算机的物理块位置。
15.如权利要求14所述的方法,其中所述最接近的物理块位置是拷贝块位置。
16.如权利要求11所述的方法,还包括当对所述数据单元的所述一个或多个源块应用写时,同步地更新所述数据单元的所述一个或多个源块的拷贝。
17.如权利要求11所述的方法,还包括当对所述数据单元的请求数量超过所述阈值等级并且服务策略的至少一个质量不被满足时,锁定对所述数据单元的所述一个或多个源块的访问;以及通知客户计算机对所述数据单元的所述一个或多个源块的访问已被锁定。
18.如权利要求17所述的方法,还包括响应创建所述数据单元的所述一个或多个源块的拷贝,解除对所述数据单元的所述一个或多个源块的访问的锁定;以及通知客户计算机对所述数据单元的所述一个或多个源块的访问已被解除锁定。
19.如权利要求11所述的方法,还包括响应创建所述数据单元的所述一个或多个源块的拷贝,以所述一个或多个源块的拷贝的新的数据位置更新一个或多个元数据服务器。
20.如权利要求11所述的方法,还包括响应创建所述数据单元的所述一个或多个源块的拷贝,以所述一个或多个源块的拷贝的新的数据位置更新一个或多个客户计算机。
21.一种用于处理请求的系统,包括能够引起操作被执行的电路,所述操作包括当所述请求是读数据单元时,返回关于最接近的物理块位置的信息;当所述请求是写所述数据单元时,返回关于一个或多个源块位置的信息,其中所述写被应用于所述数据单元的所述一个或多个源块;以及当对所述数据单元的请求的数量超过了一个阈值等级并且服务策略的至少一个质量不被满足时,在基于与至少一个客户计算机的接近程度选择的位置处创建所述数据单元的所述一个或多个源块的拷贝,其中来自所述至少一个客户计算机的所述请求的数量是高的。
22.如权利要求21所述的系统,其中所述操作还包括从引用逻辑块位置的客户计算机处接收对所述数据单元的所述请求。
23.如权利要求22所述的系统,其中所述操作还包括确定所述客户计算机对其具有访问的位置;以及为从所述逻辑块位置确定的位置创建物理块位置列表。
24.如权利要求23所述的系统,其中所述操作还包括寻找最接近所述客户计算机的物理块位置。
25.如权利要求24所述的系统,其中所述最接近的物理块位置是拷贝块位置。
26.如权利要求21所述的系统,其中所述操作还包括当对所述数据单元的所述一个或多个源块应用写时,同步地更新所述数据单元的所述一个或多个源块的拷贝。
27.如权利要求21所述的系统,其中所述操作还包括当对所述数据单元的请求的数量超过了所述阈值等级并且服务策略的至少一个质量不被满足时,锁定对所述数据单元的所述一个或多个源块的访问;以及通知客户计算机对所述数据单元的所述一个或多个源块的访问已被锁定。
28.如权利要求27所述的系统,其中所述操作还包括响应创建所述数据单元的所述一个或多个源块的拷贝,解除对所述数据单元的所述一个或多个源块的访问的锁定;以及通知所述客户计算机对所述数据单元的所述一个或多个源块的访问已被解除锁定。
29.如权利要求21所述的系统,其中所述操作还包括响应创建所述数据单元的所述一个或多个源块的拷贝,以所述一个或多个源块的拷贝的新的数据位置更新一个或多个元数据服务器。
30.如权利要求21所述的系统,其中所述操作还包括响应创建所述数据单元的所述一个或多个源块的拷贝,以所述一个或多个源块的拷贝的新的数据位置更新一个或多个客户计算机。
31.一种用于处理请求的系统,包括用于当所述请求是读数据单元时,返回关于最接近的物理块位置的信息的装置;用于当所述请求是写所述数据单元时,返回关于一个或多个源块位置的信息的装置,其中所述写被应用于所述数据单元的所述一个或多个源块;以及用于当对所述数据单元的请求的数量超过了一个阈值等级并且服务策略的至少一个质量不被满足时,在基于与至少一个客户计算机的接近程度选择的位置处创建所述数据单元的所述一个或多个源块的拷贝的装置,其中来自所述至少一个客户计算机的所述请求的数量是高的。
32.如权利要求31所述的系统,其中所述操作还包括当对所述数据单元的所述一个或多个源块应用写时,同步地更新所述数据单元的所述一个或多个源块的拷贝。
全文摘要
提供了一种用于处理请求的技术。当所述请求是读数据单元时,返回关于最接近的物理块位置的信息。当所述请求是写所述数据单元时,返回关于一个或多个源块位置的信息,其中所述写被应用于所述数据单元的所述一个或多个源块。当对所述数据单元的请求的数量超过了一个阈值等级并且服务策略的至少一个质量不被满足时,在基于与至少一个客户计算机的接近程度选择的位置处创建所述数据单元的所述一个或多个源块的拷贝,其中来自所述至少一个客户计算机的所述请求的数量是高的。
文档编号G06F11/00GK1776595SQ20051012350
公开日2006年5月24日 申请日期2005年11月17日 优先权日2004年11月19日
发明者G·E·麦克布赖德, C·M·勒, D·M·沙克尔福德 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1