异步本地和远程生成一致的时间点快照拷贝的制作方法

文档序号:18190651发布日期:2019-07-17 05:34阅读:148来源:国知局
异步本地和远程生成一致的时间点快照拷贝的制作方法

本发明涉及用于异步本地和远程生成一致的时间点快照拷贝的计算机程序产品、系统和方法。

数据存储系统,特别是在企业级,通常被设计为提供高水平的冗余用以在数据存储系统的组件发生故障的情况下降低数据丢失的风险。因此,多个数据副本经常被存储在可能在地理上分散的多个系统上。因此,来自主机的数据要存储在数据存储系统中通常被引导到本地站点的主系统,然后被拷贝到辅助系统,该辅助系统可以是与主系统分离的地理上的远程系统。

可以在主系统和辅助系统之间以同步或异步关系设置拷贝的过程,即将数据拷贝到辅助系统。在同步关系中,主系统的任何更新通常与辅助系统同步,即在主系统向主机报告数据存储输入/输出操作已成功完成之前被成功拷贝到辅助系统。结果,在主机等待同步拷贝操作完成时,以同步关系存储到主存储系统和辅助系统的数据可能不利地影响主机的系统性能。在主系统和辅助系统被广泛分离的存储系统中,完成同步拷贝操作的延迟可能更大,这可能进一步不利地影响主机性能。例如,在主系统和辅助系统以300千米(km)或更大的地理距离分隔的存储系统中,数据在辅助系统上成功拷贝之前可能会有3-5秒(或更长)的延迟。

其结果是,存储系统经常在主系统和辅助系统之间采用异步关系,特别是如果辅助系统在地理上远离主系统。在异步关系中,主系统的成功更新通常作为成功的存储输入/输出操作报告给主机而不用等待将所述更新拷贝到辅助系统。结果,主机不需要等待数据拷贝到辅助系统完成,并且可以相应地增强主机系统的性能。

顾名思义,在异步关系中,主系统和辅助系统可能在任何时候都不是完全同步的。因此,存储在辅助系统上的数据通常滞后于存储在主系统中的数据。因此,存储在主系统上的新数据在一段间隔时间内可能不会存储在辅助系统上,例如3-5秒。

在数据拷贝系统中,数据通常以卷对的形式保持,包括主存储设备中的主卷和辅助存储设备中的对应辅助卷,对应辅助卷包括与在主卷中保存的数据相同的副本。主卷和辅助卷由拷贝关系标识,其中主卷的数据(也称为源卷)被拷贝到辅助卷(也称为目标卷)。主存储控制器和辅助存储控制器可用于控制对主存储设备和辅助存储设备的访问。

例如,可以使用诸如flashcopy功能的时间点快照拷贝功能来生成卷的近瞬时副本(nearinstantaneouscopy)。时间点快照拷贝功能在特定时间在目标卷中创建源卷内容的“快照”,该目标卷可被称为时间点快照拷贝卷。一个版本的时间点快照拷贝功能在后台拷贝操作中将源卷的内容传输到时间点快照拷贝卷。

具有用于标记时间快照拷贝卷的每个轨道的一个位(bit)的目标位图,被用来指示尚未被转移到时间点快照拷贝卷的轨道。当源卷的每个轨道的内容被拷贝到目标卷时,目标位图的相应位被更新以指示成功传输内容至相关轨道。指向尚未接收到源卷的相应轨道的内容的时间点快照拷贝卷的某一个轨道的任何读取操作,被重定向以从源卷获得该轨道的内容。因此,在任何轨道被实际传输到目标卷之前,时间点快照拷贝卷的内容可以立即间接获得。相反,如果主机在将源卷的一个轨道的内容被传输到时间点快照拷贝卷之前指向源卷的该轨道的一个更新,则在允许该更新覆盖源卷的该轨道的内容之前,源卷的该轨道内容将转移到时间点快照拷贝卷。

另一种形式的时间点快照拷贝功能省略了后台拷贝操作。因此,源卷的内容不会在后台拷贝操作中被传输到时间点快照拷贝卷。因此,针对时间点快照拷贝卷的一个轨道的任何读取操作通常被重指定为从源卷获得该轨道的内容。但是,如果主机将更新指向源卷的一个轨道,则在允许该更新覆盖该轨道的内容之前,源卷的该轨道的内容被传输到时间点快照拷贝卷。

在一个同步数据拷贝系统中,一个时间点快照拷贝卷可以在主系统中基于与一个特定的时间点相关的主卷的内容由该主卷而生成;在相同时间点,另一个时间点快照拷贝卷可以在辅助系统中基于与一个特定的时间点相关的辅助卷的内容由该辅助卷而生成。由于主卷和辅助卷是同步的,因此各个时间点快照拷贝卷也将同步并因此彼此保持一致,尽管时间点快照拷贝卷是在不同的位置生成的,即,在主系统和辅助系统。

在一个异步数据拷贝系统中,一个时间点快照拷贝卷也可以在主系统中基于与一个特定的时间点相关的主卷的内容由该主卷而生成。类似地,另一个时间点快照拷贝卷可以在辅助系统中基于与一个特定的时间点相关的辅助卷的内容由该辅助卷而生成。但是,由于主卷和辅助卷未同步,各个时间点快照拷贝卷也不会同步,因此不会彼此保持一致。因此,主系统上生成的时间点快照拷贝卷通常通过网络传输到辅助系统,用以提供一个关于主系统上主卷的时间点快照拷贝卷的备份副本,

为了保持在备用系统中跨多个卷的数据的一致性程度,totalstorage磁盘子系统点对点远程拷贝(pprc)函数支持pprc一致性组的概念。保持在pprc关系中被配置为一个pprc一致性组的多个卷,以确保在主系统的多个卷上进行的一组更新最终也会在辅助系统中的多个卷上进行,以维护该一致性组中这些卷的数据一致性。因此,尽管主系统和辅助系统之间存在整体异步关系,但是可以在主系统和辅助系统的卷之间形成一致性组,其基于一组特定的更新或一个特定的时间点保持一致。



技术实现要素:

本发明描述了一种异步本地和远程生成一致的时间点快照拷贝的一个总的方面,包括诸如从第一数据单元异步镜像数据诸如到第二数据单元,该第一数据单元例如存储在第一位置例如主系统的第一存储单元的主卷,该第二数据单元例如存储在第二位置例如辅助系统的第二存储单元的辅助卷。基于第一时间点,第一数据单元的数据被拷贝到第三数据单元,用以启动第一数据单元的第一时间点快照拷贝。另外,基于第二时间点,第二数据单元的数据被拷贝到第四数据单元,用以启动第二数据单元的第二时间点快照拷贝。根据本发明描述的另一个方面,第四数据单元的数据与基于第一时间点的第一单元的数据同步,其中该同步包括从第一数据单元和第三数据单元中的至少一个拷贝所选择的数据到第四数据单元。其结果是,第三和第四数据单元基于第一时间点提供了第一数据单元的数据的一致的时间点快照拷贝,同时减少在主系统和辅助系统之间为生成第一数据单元数据的一致的时间点快照拷贝而通过网络传输的数据量。

在一个实施例中,基于第一时间点,将第一数据单元的数据拷贝到第三数据单元包括执行第一时间点快照拷贝命令,其中执行第一时间点快照拷贝命令包括生成第一目标位图,该第一目标位图指示在第一时间点时尚未从第一数据单元拷贝到第三数据单元的轨道。因此,可以通过主系统内的数据传输来获得第三数据单元的数据,以提供第一数据单元的数据基于第一时间点的一致的时间点快照。

本说明书的另一个方面,操作包括停顿主机到第一数据单元的输入操作,和停顿主机到第一数据单元的输入/输出操作之后,使得从第一数据单元到所述第二数据单元的数据的镜像操作空转(idling)。本发明的另一方面,将数据从第一数据单元镜像到第二数据单元包括生成第一非同步位图,该第一非同步位图指示要从第一数据单元镜像到第二数据单元的剩余轨道。可以将第一个非同步位图(基于第一个时间点)拷贝到第二个非同步位图,以指示剩余轨道,该剩余轨道被选择用于从第一数据单元和第三数据单元其中的至少一个拷贝到第四数据单元。依据第二时间点,将第二数据单元的数据拷贝到第四数据单元可以包括执行第二时间点快照拷贝命令以生成指示尚未从第二数据单元拷贝到第四数据单元的轨道的,基于第二时间点的,第二目标位图数据单元。在一个实施例中,在生成位图之后,操作可以包括取消主机到第一数据单元的输入操作的停顿。另外,可以重新开始从第一数据单元到第二数据单元的数据镜像操作。其结果是,在生成所述第三和第四数据单元时,可以将对主系统的更新镜像到辅助系统,以提供基于第一时间点的第一数据单元的数据的一致的时间点快照拷贝。

在又一个方面中,如第二目标位图所指示的,所述第二目标位图可以被处理用于从所述第二数据单元拷贝轨道到第四数据单元。在一个实施例中,基于第二时间点,将第二数据单元的数据拷贝到第四数据单元还可以包括:如果第二目标位图指示数据轨道保留,则将第二数据单元的轨道拷贝到第四数据单元。从第二数据单元拷贝到第四数据单元。因此,第四数据单元的数据可以主要通过辅助系统内的数据传输来获得第一数据单元的数据的第一时间点的一致时间点快照。

在本说明书的另一方面,将所选数据从第一数据单元和第三数据单元中的至少一个拷贝到第四数据单元,用以基于第一个时间点将第四数据单元的数据与第一数据单元的所选数据同步,以上过程可以包括处理第二非同步位图并且将轨道从第一数据单元和第三数据单元中的至少一个镜像到第四数据单元(如果指示为剩余的要被镜像的话)。在一个实施例中,将来自第一数据单元和第三数据单元中的至少一个数据单元的轨道镜像到第四数据单元,如果第一目标位图指示数据轨道尚未从第一数据单元拷贝到第三数据单元,则包括从第一数据单元获得第三数据单元的数据轨道的数据并将获得的数据镜像到第四数据单元。将第一数据单元的数据作为第一时间点拷贝到第三数据单元可以包括形成作为第一时间点的第一数据单元和第三数据单元的一致性组。其结果是,目标位图和非同步位图可以被组合使用来同步主系统和辅助系统的数据单元,以提供基于第一个时间点的第一数据单元的数据的一致的时间点快照拷贝,同时减少主系统和辅助系统之间通过网络传输的数据量。

所描述的技术的实现方式可以包括硬件、方法或过程,或计算机软件的计算机可访问的存储介质上。取决于特定应用,其他特征和方面也可以被实现。

附图说明

图1示出了根据本说明书的一个方面的采用异步本地和远程生成一致的时间点快照拷贝的计算环境的实施例。

图2示出了根据本说明书的一个方面的具有主系统和辅助系统的存储系统的示例,该系统采用异步本地和远程生成一致的时间点快照拷贝。

图3示出了图1的存储系统中的主机的一个示例。

图4示出了根据本说明书的一个方面的、用于一致的本地和远程拷贝生成器逻辑的一个实施例。

图5a-5e描绘了与图4的一致的本地和远程拷贝生成器逻辑的操作相关的卷、关系和相关数据结构的示例。

图6描绘了图4的一致的本地和远程拷贝生成器逻辑的操作的一个示例。

图7描绘了图4的一致的本地和远程拷贝生成器逻辑的操作的另一示例。

图8描绘了图4的一致的本地和远程拷贝生成器逻辑的操作的又一示例。

图9描绘了图4的一致的本地和远程拷贝生成器逻辑的操作的另一示例。

图10示出了根据本说明书采用异步本地和远程生成一致的时间点快照拷贝的一个计算机实施例。

具体实施方式

根据本说明书,由一个或多个计算机构成的系统可以被配置用于异步本地和远程生成一致的时间点快照拷贝,通过安装在该系统上的软件、固件、硬件或它们的组合,可操作地导致该系统执行操作以实现异步本地和远程生成一致的时间点快照拷贝。例如,一个或多个计算机程序可以被配置为通过包括指令来执行异步本地和远程生成一致的时间点快照拷贝,当该指令由数据处理装置执行时,使得该数据处理装置执行相关动作。

如前所述,在一个异步数据拷贝系统中,一个时间点快照拷贝卷可以在主系统中基于与一个特定时间点相关的主卷的内容由该主卷而生成。类似地,另一个时间点快照拷贝卷可以在辅助系统中基于与一个特定时间点相关的辅助卷的内容由该辅助卷而生成。但是,由于主卷和辅助卷在异步镜像关系中经常未完全同步,因此各个时间点快照拷贝卷也将不会同步,因此彼此不一致。因此,为了提供一个关于主系统上主卷的一个时间点快照拷贝卷的备份拷贝并将该备份拷贝存储在辅助系统中,主系统上生成的时间点快照拷贝卷如前所述通过网络被传输到辅助系统。

根据本说明书的一个方面,应当认识到在许多应用中,用以在辅助系统中形成一个时间点快照拷贝卷的大部分数据由于异步镜像关系已经驻留在该辅助系统上。因此,根据本说明书的一个实施例中的异步本地和远程生成一致的第一和第二时间点快照拷贝,可以在创建位于不同的站点上的一致的第一和第二时间点快照拷贝的过程中避免大部分通过网络的数据传输。根据本说明书的一个实施例中的异步本地和远程生成一致的第一和第二时间点快照拷贝,提供了将数据从主系统的主卷拷贝到该主系统的第一时间点快照拷贝卷,在一个实施例中该操作依据一个时间点快照拷贝关系,该关系可以是“无后台拷贝”类型关系;并且,将数据从辅助系统的辅助卷拷贝到该辅助系统的第二时间点快照拷贝卷,在一个实施例中该操作依据一个时间点快照拷贝关系,该关系可以是有后台拷贝类型关系。其结果是,主要通过辅助系统内部的数据传输即可获得位于辅助系统的第二一致的时间点快照拷贝卷所需的数据。类似地,位于主系统的第一一致的时间点快照拷贝卷的数据可以通过主系统内部的数据传输获得。

然而,应当进一步理解,如果镜像关系是一个异步的关系,在某些情况下并不是所有的用于第二一致的时间点快照拷贝卷中的数据都可以在辅助系统上找到。因此,在一个实施例中,同步逻辑基于第一时间点将该辅助系统上的第二时间点快照拷贝卷与该主系统的主要卷的附加数据进行同步,该数据直接从主卷获得或间接通过主系统的第一个时间点快照拷贝卷。以这种方式,可以完成第二时间点快照拷贝卷,使得它与特定时间点的第一时间点快照拷贝卷一致。其结果是,可以减少在主系统和辅助系统之间通过网络传输的、用以生成主卷数据的一致的时间点快照拷贝的数据量,

根据本说明书,由一个或多个计算机构成的系统可以被配置用于异步本地和远程生成一致的时间点快照拷贝,通过安装在该系统上的软件、固件、硬件或它们的组合,可操作地导致该系统执行操作以实现异步本地和远程生成一致的时间点快照拷贝。因此,这里描述的操作由逻辑执行,该逻辑被配置成在很少或没有系统操作员干预的情况下自动地或基本上自动地执行操作,除非被指示为手动执行。因此,如这里所使用的,术语“自动”包括全自动,即没有人为干预、由一个或多个硬件或软件控制的机器执行的操作,例如对图形用户选择界面的用户输入。如这里所使用的,术语“自动”还包括主要是自动的,即,大多数操作(例如,大于50%)由一个或多个硬件或软件控制的机器执行而没有人为干预,其余操作(例如,小于50%)是手动执行的,例如用户输入到图形用户选择界面,也就是说,手动操作在具有人为干预的情况下由一个或多个硬件或软件控制的机器执行,例如用户输入到图形用户选择界面以指导操作的性能。

许多在本说明书中描述的功能元件都被标记为“逻辑”以更特别地强调它们的实现方式的独立性。例如,一个逻辑元件可以实现为一个硬件电路包括定制vlsi电路或门阵列,半导体“货架产品”(off-the-shelfsemiconductors)诸如逻辑芯片、晶体管或其他分立元件。逻辑元件还可以在可编程硬件设备中实现,例如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等。

一种逻辑元件,也可以通过被各种类型的处理器执行的软件所实现。一种包括可执行代码的逻辑元件可以包括,例如,计算机指令的一个或多个物理或逻辑块,其可以被组织为,例如,一个对象、过程或函数。然而,所识别的逻辑元件的可执行文件并不需要物理地位于一起,而是可以包括存储在不同位置的不同指令,当它们逻辑地连接在一起时,这些指令构成逻辑元件并实现逻辑元件的所述目的。

事实上,对于构成一个逻辑元件的可执行代码可以是单个指令或许多指令,并且甚至可以分布在若干不同的代码段、不同的程序或不同的处理器中,以及跨若干存储器设备。类似地,操作数据可以在逻辑元件内被识别和示出,并且可以以任何合适的形式体现并且被组织在任何合适类型的数据结构内。操作数据可以作为单个数据集收集,或者可以分布在包括不同存储设备的不同位置上。

在图示的实施例中,一个拷贝关系定义了一个源存储位置,例如,主存储位置,以及一个目标存储位置,如一个辅助存储位置,其中,存储在源存储位置的数据将被拷贝或以其他方式拷贝到目标存储位置。因此,如这里所指出的,源存储位置和目标存储位置是和一个拷贝关系相关联的存储位置。

此外,如本文使用的,术语“存储单元”是指含有数据存储的一个或多个单元的存储位置,例如一个或多个卷,柱,轨道,段,区或其任意部分,或其他适合数据传输的单个数据单位或多个数据单位。因此,源存储单元和相关的目标存储单元均可以是存储卷。然而,应当理解,例如,源存储单元和目标存储单元均可以具有除一个卷之外的其他尺寸。

所述技术的实现可以包括硬件、方法、过程或计算机可读存储介质上的计算机软件。图1示出了根据本说明书采用异步本地和远程生成一致时间点快照拷贝的计算环境的实施例。复数个主机2a,2b......2n可以通过网络6向一个或多个存储控制器或存储控制单元4,4a(图2),4b(图2)提交输入/输出(i/o)请求以访问由一个或多个存储驱动器10,10a(图2),10b(图2)表示的存储器中的卷8(例如,逻辑单元号,逻辑设备,逻辑子系统等)上的数据。每个存储控制器4,4a,4b包括cpu复合体12(图1),其包括一个或多个处理器或中央处理单元,每个处理器或中央处理单元具有单个或多个处理器核。在该实施例中,处理器核包含涉及执行指令的cpu的组件,诸如算术逻辑单元(alu),浮点单元(fpu)和/或各种级别的高速缓存(诸如l1和l2高速缓存),以上仅为例举。应当理解,处理器核可以具有除了本文提到的那些元件之外的其他逻辑元件或可以替代本文提到的那些元件的其他逻辑元件。

在图2中所示的配置中,存储控制器4a和数据存储器10a分别被配置为主系统24a的主存储控制单元和主存储器。类似地,存储控制器4b及其数据存储器10b分别被配置为辅助系统24b的辅助存储控制单元和辅助存储器。因此,在图2所示的配置中,存储控制器4a将被称为主存储控制器或控制单元4a,数据存储器10a将被称为主存储器10a。类似地,存储控制器或控制单元4b将被称为辅助存储控制器或控制单元4b,数据存储器10b将被称为辅助数据存储器10b。

在一个特定的拷贝关系中,源单元通常被称为主,而目标单元通常被称为辅助。在数据存储器10a和10b的存储单元之间定义拷贝关系。尽管将数据存储器10a称为“主”而数据存储器10b称为“辅助”,但是数据存储器10a和存储器10b的特定存储单元基于特定的拷贝关系可以同时扮演主(或源角色)和目标(或辅助角色)。

如上所述,该计算环境包括一个或多个主机2a,2b,...2n个(图1)写入更新数据到主存储控制器4a中(图2)以存储在主存储单元10a内。在该实施例中,至少一个这样的主机,例如主机2a,具有包括监视程序216(图3)的存储管理功能,用以监视主存储控制器4a(图2)的可用性及其相关数据储存器10a的故障。在某些实施例中,监视程序216可以在远离主机的设备中操作。

主存储控制器4a位于第一站点,而辅助存储控制器4b位于可能在地理上或功能上远离所述第一站点的第二站点。因此,在该示例中,第一站点可以位于一个本地站点,而第二站点可以位于地理上的远程站点,所述远程站点远离本地站点并且彼此之间相距短或长的地理距离。或者,网络6中的本地和远程站点可以相对靠近,例如位于大致相同的地理位置的不同建筑物中,或在同一建筑物的不同房间中,或在同一房间中的不同机器中,或在同一机器的不同部分或分区中。

如由主机2a(图3)所代表的典型的主机包括操作系统218和应用程序220。该主机读出数据,并经由存储控制器4a,4b写入更新到主存储单元10a或辅助存储器10b中。在某些实施例中,包括监视程序216的主机可以省略更新写入应用程序220。

参见图1,图2和图4,存储控制器4(图1),4a(图2),4b各自具有存储器230(图1),存储器230包括用于管理存储操作的存储管理器232,该存储操作包括从主系统24a的主卷1到辅系统24b的辅助卷2的数据拷贝操作。存储管理器232的一致的本地和远程拷贝生成器逻辑234被配置为生成一致的拷贝,例如主系统的主卷1的时间点快照拷贝。包含卷1,卷2的卷对处于异步拷贝关系,以便将主卷1的更新异步镜像到辅助卷2。因此,可以对主卷1生成第一时间点快照拷贝,并且可以使第二时间点快照拷贝与基于特定时间点的第一时间点快照拷贝保持一致。

如图示的实施例,存储管理器232包括一致的本地和远程拷贝生成器逻辑234,该存储管理器被描绘为存储在存储器230中的软件,并且由cpu复合体12执行。然而,可以理解的是存储管理器232的逻辑功能可以采用硬件、软件、固件或其中一个或多个的组合来实现,这取决于特定应用。

一个或多个拷贝关系240,其可以由一致的本地和远程拷贝生成器逻辑234来维持,用于主存储控制器和辅助存储控制器4a、4b(图2)关联在主存储器10a中的主储存位置和在对应的辅助存储器10b中的辅助存储位置,使得对主存储器10a位置的更新被拷贝到相应的辅助存储器10b位置。例如,根据镜像拷贝关系240,存储器10a的主存储卷1(图2)中的源存储位置可以在镜像数据拷贝操作中被镜像到存储器10b的辅助卷2的目标存储位置,。

如图示的实施例,一个拷贝关系240包括一对存储位置的点对点镜像关系,其中针对该拷贝关系240中的主(源)存储位置的更新数据被镜像至该拷贝关系240中的辅助(目标)存储位置。应当理解,可以根据特定应用建立其他类型的拷贝关系。例如,拷贝关系240可以包括时间点快照拷贝关系。

与一致的本地和远程拷贝生成器逻辑234的异步数据拷贝模式的拷贝关系240相联系,对主存储器10a的主存储位置的数据更新可以在一组位图244的其中一个位图中被指示。在图示实施例中该位图是非同步(oos)位图。当存储管理器232将该oos位图中指示的更新拷贝到辅助存储控制单元4b的辅助存储器10b的相应存储位置时,清除该oos位图的位。

存储管理器232访问主存储器10a的数据更新以写入该数据更新至存储器10b中的对应的存储位置。在某些应用中,拷贝和关系功能可以由存储系统24a、24b(图2)外部的设备执行,例如主机。在图示实施例中,关系240的一个拷贝关系是镜像过程,其中对主存储器10a的每次写更新被镜像到辅助存储器10b。在图示实施例的异步模式中,就主机启动操作的范围内的i/o操作而言,该i/o操作被认为是在成功将更新写入主存储器10a时完成。因此,尽管更新数据尚未镜像到辅助存储器10b,但是可以通知主机i/o操作已成功完成。

周期性地,可以通过一致性组逻辑248将关系240中的卷配置成一致性组,以确保对主系统的卷进行的一组更新最终在一致性组的卷上也被进行以维护数据的一致性,该一致性基于特定时间点或该一致性组的卷上的所述特定数据集。因此,可以在特定时间点停止对oos位图的附加更新,以在主系统和辅助系统的卷之间形成一致性组。oos位图指示的任何未处理的更新都将被传输到辅助存储,以便一致性组的卷在更新不再添加到oos位图的时间点是一致的。

与异步模式下相反,在同步模式中,在镜像操作完成前执行写操作到主存储单元10a的i/o操作不被认为是完整的,即直到更新数据已成功拷贝到辅助存储器10b该i/o操作才被认为是完整的。如果镜像操作失败使得更新未成功镜像到存储器10b,则可以通知主机该更新操作未成功完成。

在一个实施例中,存储管理器232可以从主存储单元10a中的磁道传送数据到所述辅助存储器10b中。如这里所使用的,术语“轨道”可以指磁盘存储单元的轨道,但也可以参考存储器10a、10b中配置的其他数据单元,例如位,字节,字,段,页,块(例如逻辑块地址(lba))等,其可以是更大的数据单元分组的一部分,例如卷、逻辑设备等。

在一个实施例中,存储装置10a,10b可以包括一个或多个顺序存取存储设备,如硬盘驱动器和磁带或可以包括非顺序存取存储设备,诸如固态驱动器(ssd)。每个存储设备10a,10b可以包括单个顺序或非顺序访问存储设备,或者可以包括存储设备阵列,例如justabunchofdisks(jbod),directaccessstoragedevice(dasd),redundantarrayofindependentdisks(raid)阵列,虚拟化设备,磁带存储,闪存等。

在一致的本地和远程拷贝生成器逻辑234管理拷贝关系的一种模式中,可以通过异步拷贝操作来实现,例如点对点网络远程拷贝(pprc)方案按照本说明书做适当地修改。pprc程序的示例是ibmtivoliproductivitycenterforreplication拷贝程序,其使得能够将更新从主存储器10a切换到辅助存储器10b。合适的异步镜像程序包括根据本说明书适当修改的xrc(或zgm)。所描述的操作可以用其他程序实现,例如根据本说明书适当修改的其他拷贝程序或其他全局恢复程序。

该系统的组件2a,2b......2n,4,4a,4b,10,10a,10b被连接到网络6,该网络使这些部件之间能够通信。因此,网络6包括网络结构,该结构可以包括存储区域网络(san)、局域网(lan)、内联网、因特网、广域网(wan)、点对点网络、无线网络、仲裁环路网络等。从所述存储子系统到主机2a,2b,...2n的通信路径可基于一个特定的主机连接协议,例如,诸如光纤连接(ficon)。网络结构的其他通信路径可包括,例如,光纤通道仲裁环路配置,串行环路架构或总线接口,诸如pci-express接口等外围组件互连(pci)接口。网络结构的通信路径也可以是以太网网络的一部分,例如,诸如使得每个节点具有单独的网络(网际协议)地址。也可以使用其他类型的通信路径,例如电话调制解调器路径、无线网络等,这取决于特定应用。

与所述通信路径相关的通信软件包括指令和其它软件控制的通信协议以及按照通信协议的通信硬件的操作,如果该通信协议或该操作有的话。应当理解,也可以使用其他通信路径协议,这取决于特定应用。

图4描绘了存储管理器232(图1)的一致的本地和远程拷贝生成器逻辑234的一个实施例,该实施例包括异步数据镜像逻辑310,该逻辑被配置为异步镜像来自诸如主卷1的第一数据单元的数据(图5a),例如,属于第一存储单元如主存储器10a(图2);例如,镜像到第二数据单元诸如辅助卷2(图5a),例如,属于第二存储单元如辅助存储器10b。在图5的示例中,从主卷1到辅助卷2的数据的异步镜像由图5a中标记为“镜像关系1”的箭头表示。在将数据从第一数据单元镜像到第二数据单元时,一致的本地和远程拷贝生成器逻辑234的数据镜像逻辑310还被配置为生成位图244a的第一非同步(oos)位图,例如远程非同步(oos)位图1(图5a),其指示要从主卷1镜像到辅助卷2的剩余轨道。

例如,通过所述远程oos位图1的位1的位状态值0,所述远程oos位图1指示所述轨道1已成功镜像到辅助卷2。因此,由值“a”表示的辅助卷2的轨道1的内容与主卷1的轨道1的内容“a”相同。类似地,远程oos位图1通过所述位图1的位3的位状态值0指示主卷1的轨道3已成功镜像到辅助卷2。因此,由值“c”表示的辅助卷2的轨道3的内容与主卷1的轨道3的内容“c”相同。

相反,远程oos位图1通过所述位图1的位2的位状态值1指示主卷1的轨道2有待被镜像到辅助卷2。因此,由值“x”表示的辅助卷2的轨道2的内容与主卷1的轨道2的内容“b”不同。

本地数据拷贝逻辑314(图4)被配置为基于第一时间点拷贝所述主卷1的数据(图5b)到第三数据单元例如主系统24a(图2)的时间点快照拷贝卷1',以提供主卷1的第一时间点快照拷贝。在图5b的示例中,主卷1和时间点快照拷贝卷1'之间的拷贝关系由标记为时间点(pit)快照拷贝关系2的箭头表示。

在一个实施例中,为了提供主系统24a的主卷1的第一时间点快照拷贝,命令逻辑320被配置为向所述本地数据拷贝逻辑314发出第一时间点快照拷贝命令将基于第一个时间点的主卷1的数据拷贝到时间点快照拷贝卷1'。作为响应,本地数据拷贝逻辑314进一步被配置为执行第一时间点快照拷贝命令以将基于第一时间点的主卷1的数据拷贝到时间点快照拷贝卷1'以提供第一个时间点快照拷贝卷1'。

在一个实施例中,本地数据拷贝逻辑314进一步被配置为在执行第一时间点快照拷贝命令时,生成位图244b的第一目标位图,例如本地目标位图3(图5b),例如,指示从第一时间点开始未从主卷1拷贝到时间点快照拷贝卷1'的轨道。例如,本地目标位图3通过位图3的位1的位状态值1指示主卷1的轨道1有待被拷贝到时间点快照拷贝卷1'。因此,由值“x”表示的时间点快照拷贝卷1'的轨道1的内容与主卷1的轨道1的内容“a”不同。本地目标位图3通过所述位图3的每个剩余位(theremainingbits)的位状态值1指示主卷1的每个剩余轨道(theremaining轨道s)仍然有待被拷贝到图5b的示例中的时间点快照拷贝卷1'。

在一个实施例中,时间点快照拷贝命令,其生成时间点快照拷贝卷1',可以是“无后台拷贝”类型的命令,其中主卷1的内容不需要在后台拷贝操作中被传送到时间点快照拷贝卷1'。相反,如果本地目标位图3通过位状态值1指示一个轨道尚未传输到时间点快照拷贝卷1',则可以将针对该时间点快照拷贝卷1'的轨道的读取操作重定向到主卷1的相应轨道以获得该轨道的内容。但是,如果要将主卷1的轨道作为更新的目标,则该轨道的内容将被传输到时间点拷贝卷1'的相应轨道,并且将更新本地目标位图3以指示该轨道的内容已被转移。因此,可以通过主系统24a内的数据传输来获得卷1'的数据,以便在第一时间点提供主卷1的数据的一致的时间点快照拷贝。

应当理解,在其它实施例中,用于生成时间点快照拷贝卷1'的时间点快照拷贝命令,可以是“背景拷贝”类型,其中主卷1的内容在后台拷贝操作中被传输到时间点快照拷贝卷1'。当主卷的每个轨道的内容在后台拷贝中被传输到时间点快照拷贝卷1'的相应轨道的内容时,表示本地目标位图3中的该轨道的位的位状态值可以被更新为位状态值“0”以指示该轨道已被传输到时间点快照拷贝卷1'。

因此,如本申请使用的,术语“拷贝操作”包括实际拷贝操作,其中源存储位置的数据内容实际上被转移到目标存储位置。然而,这里使用的术语“拷贝”还包括虚拟拷贝操作,其中诸如位图的数据结构被设置为将最初指向目标存储位置的读取操作重定向到源存储位置而不是目标存储位置,以及因此不需要包括将源存储位置的数据内容实际传送到目标存储位置。类似地,如这里所使用的,术语“拷贝”包括实际拷贝,其中目标存储位置包含与源存储位置相同的数据内容,但还包括虚拟拷贝,其中目标存储位置具有相关联的数据结构,例如目标位图已被设置为将最初指向目标存储位置的读取操作重定向到源存储位置而不是目标存储位置,使得虚拟拷贝不需要包括源存储位置的实际数据内容。

一致的本地和远程拷贝生成器逻辑234的命令逻辑320(图4)进一步被配置为发出一个命令到辅助系统24b(图2)用以拷贝基于第二时间点的辅助卷2的数据(图5b)到第四数据单元,例如辅助卷24b的卷2',以提供辅助卷2的时间点快照拷贝卷2'。在图5b的示例中,辅助卷2和时间点快照拷贝卷2'之间的拷贝关系由标记为时间点(pit)快照拷贝关系4的箭头表示。

在一个实施例中,为了提供对辅助系统24b的辅助卷2的时间点快照拷贝,命令逻辑320进一步被配置为发出一个时间点快照拷贝命令到辅助系统24b以生成第二目标位图,例如辅助系统24b的本地目标位图4,以指示尚未从辅助卷2拷贝到第二时间点快照拷贝卷2'的轨道。例如,本地目标位图4通过位图4的位1的位状态值1指示辅助卷2的轨道1有待被拷贝到时间点快照拷贝卷2'。因此,由值“x”表示的时间点快照拷贝卷2'的轨道1的内容与辅助卷2的轨道1的内容“a”不同。在图5b的示例中,本地目标位图4通过该位图4的每个剩余位的位状态值1指示辅助卷2的每个剩余轨道,该剩余轨道有待被拷贝到时间点快照拷贝卷2'。

在一个实施例中,时间点快照拷贝命令,其生成时间点快照拷贝卷2',可以是“后台拷贝”类型的命令,其中辅助卷2的内容在后台拷贝操作中被传送到时间点快照拷贝卷2'。因此,当辅助卷2的每个轨道的内容被传输到时间点快照拷贝卷2'的相应轨道的内容时,可以更新本地目标位图4中表示该轨道的位的位状态值到位状态值“0”以指示该轨道已被传输到时间点快照拷贝卷1'。应当理解,在其他实施例中,生成时间点快照拷贝卷2'的时间点快照拷贝命令可以是“无后台拷贝”类型,其中辅助卷2的内容在后台拷贝操作中不被传送到时间点快照拷贝卷2'。

在本说明书的一个方面中,应当理解,用于第二时间点快照拷贝卷2'的数据由于由镜像关系1(图5a)所表示镜像操作,已经驻留在辅助系统24b中。其结果是,在许多应用中,第二时间点快照拷贝卷2'的大多数数据可以在辅助系统24b内被拷贝,并且避免了为提供给第二时间点快照拷贝卷2'而从主系统24a通过网络进行的绝大部分的任意数据拷贝操作。例如,如果本地目标位图4指示数据轨道有待从辅助卷2拷贝到时间点快照拷贝卷2',响应于命令逻辑320向辅助系统24b发出时间点快照拷贝命令。因此,可以主要通过辅助系统24b内的数据传输来获得所述卷2'的数据,以便在第一时间点提供主卷1的数据的一致的时间点快照拷贝。

然而,还应理解,因为该实施例的镜像关系1(图5a)是异步关系,所以在某些情况下,在辅助系统24b上可能找不到第二时间点快照拷贝卷2'所需要的所有数据。因此,在本说明书的另一方面,一致的本地和远程拷贝生成器逻辑234的数据镜像逻辑310包括同步逻辑324(图4),其被配置为基于第一时间点,同步辅助系统24b的第二时间点快照拷贝卷2的数据至主系统24a的第一时间点快照拷贝卷1'。按上述方式,用于辅助系统24b的第二时间点快照拷贝卷2'的附加数据可以通过从主系统24a的第一时间点快照拷贝卷1'拷贝所选取的数据来获得,该附加数据用以完成辅助系统24b的第二时间点快照拷贝卷2'使得它基于第一时间点将是一致的。例如,在一个实施例中,该同步操作包括将所选数据从主系统24a的第一时间点快照拷贝卷1'通过网络6拷贝到辅助系统24b的第二时间点快照拷贝卷2'。这样,第一和第二时间点快照拷贝卷,即卷1'和卷2',提供了基于第一时间点的主系统24a的主卷1的数据的一致的时间点快照拷贝。由于辅助系统的时间点快照拷贝卷2'所需的大多数数据可能已经驻留在辅助系统24b上,因此,在生成主系统和辅助系统的一致时间点拷贝拷贝卷时,通过网络从主系统到辅助系统的绝大部分数据拷贝操作将被避免。

为了有利于生成时间点快照拷贝卷,即卷1'和卷2',卷1'和卷2'之间保持一致,在一个实施例中,所述主存储控制器4a中一致的本地和远程拷贝生成器逻辑234进一步包括挂起逻辑330,其被配置为暂停主机对主卷1的输入。在暂停主机对主卷1的输入之后,从主卷1到辅助卷2的数据镜像可以被置为暂停状态。从主卷1到辅助卷2的数据镜像操作的暂停状态由图5b中省略的箭头来表示,该箭头之前在图5a中被标记为“镜像关系1”。

在另一个方面中,数据镜像逻辑310中的同步逻辑324进一步被配置为将远程oos(非同步)位图1,见图5b,(基于第一时间点)拷贝到第二非同步位图,该第二非同步位图即用于指示有待于从主系统24a的时间点快照拷贝卷1'镜像到辅助系统24b的时间点快照拷贝卷2'的剩余轨道的远程oos位图1'。更进一步地,如图5c的标记为“镜像关系1”的箭头所示,一致的本地和远程拷贝生成器逻辑234的挂起逻辑330还被配置为取消暂停主机对第一数据单元的输入,并重新启动镜像操作从而重启从主卷1到辅助卷2的数据同步操作。

在一个实施例中,本地目标位图4的所有位可以被初始地设置为“1”,以指示所有轨道要被从辅助卷2拷贝至时间点快照拷贝卷2'。在另一实施例中,命令逻辑可以向辅助系统24b发送位图,该位图是远程非同步位图1'的反转版本,以用作本地目标位图4。因此,在反转版本中,前述非同步位图1'的位1的内容“0”将被反转为“1”并存储在前述位图4的位1中。相反,前述位图1'的位2的内容“1”将被反转为“0”并存储在前述位图4的位2中。因此,不需要将从主系统24a镜像到系统24b的时间点快照拷贝卷2'的任何轨道从辅助卷2传送到时间点快照拷贝卷2'。相反,从辅助卷2传送到时间点快照拷贝卷2'的任何轨道也不需要从主系统24a镜像到系统24b的时间点快照拷贝卷2'。

数据镜像逻辑310的同步逻辑324将所选数据从时间点快照拷贝卷1'拷贝到时间点快照拷贝卷2'以同步时间点快照拷贝卷2'的数据到基于第一时间点的所选时间点拷贝卷1'的数据,该同步逻辑进一步被配置为处理第二远程非同步位图1'以及从时间点快照拷贝卷1'到时间点快照拷贝卷2'镜像轨道,如果该轨道被指示为有待于从时间点快照拷贝卷1'拷贝到时间点快照拷贝卷2'。在图5c的示例中,从时间点快照拷贝卷1'到时间点快照拷贝卷2'的数据的异步镜像操作由图5中标记为“镜像关系3”的箭头表示。以这种方式,用于辅助系统24b的第二时间点快照拷贝卷2'以完成辅助系统24b的第二时间点快照拷贝卷2'的附加数据,使得它基于第一时间点将是一致的,其可以通过采用从时间点快照拷贝卷1'到时间点快照拷贝卷2'的异步镜像而从主系统24a的第一时间点快照拷贝卷1'拷贝所选数据来获得,如图5c中被标记为“镜像关系3”的箭头所示。

然而,应当理解,从时间点快照拷贝卷1'到时间点拷贝卷2'要镜像的轨道的内容可能尚未从主卷1拷贝到时间点快照拷贝卷1'。例如,图5c所示将主卷1的轨道2的内容具有内容“b”,而时间点快照拷贝卷1'的相应轨道2的内容具有内容“x”,表示该内容与主卷1的轨道2的内容“b”不同。因此,图5b所示的本地目标位图3的位2具有位状态值为“1”,表示主卷1的轨道2的内容尚未被传输到时间点快照拷贝卷1'的相应轨道2的内容中。

由于将从时间点快照拷贝卷1'镜像到时间点快照拷贝卷2'的轨道的内容可能尚未从主卷1传送到如本地目标位图3所指示的时间点快照拷贝卷1',该数据镜像逻辑310的同步逻辑324在将所选数据从时间点快照拷贝卷1'拷贝到时间点快照拷贝卷2'以同步时间点快照拷贝卷2'的数据到基于第一个时间点的时间点拷贝卷1'的过程中,其进一步被配置为从主卷1获取时间点拷贝卷2'的数据轨道的数据,并且,如果本地目标位图3指示该数据轨道尚未从主卷1传输到时间点快照拷贝卷1',则将该数据镜像到时间点快照拷贝卷2'。例如,指向时间点快照拷贝卷1'的轨道2的读操作可以被重定向到主卷1的轨道2,如本地目标位图3的位2的位状态值“1”所示,其中位2对应于时间点快照拷贝卷1'的轨道2。已经在重定向的读操作中获得了主卷1的轨道2的内容“b”,图5d描述了主卷1的轨道2的内容“b”已被镜像到时间点快照拷贝卷2'的相应轨道2。另外,如图5d所示,远程非同步位图1'的位2,其中位2对应于时间点快照拷贝卷1'的轨道2,可以被更新为具有位状态值“0”以指示轨道2的内容已被镜像到时间点快照拷贝卷2'。

在一个实施例中,时间点快照拷贝卷1'的轨道2的内容也可以从主卷1的轨道2接收内容‘b’。如果这样,则可以更新本地目标位图3的位2至具有位状态值“0”以指示轨道2的内容已从主卷1传输到时间点快照拷贝卷1',其中位2对应于时间点快照拷贝卷1'的轨道2。

以这种方式,一旦主卷1的轨道2的内容“b”被获得,如图5所示,磁轨2的内容“b”可被镜像到所述时间点快照拷贝卷2'的相应磁轨2。然而,如上所述,应当理解,在许多应用中,由于镜像关系1,构成辅助系统24b的时间点快照拷贝卷2'的大多数数据已经驻留在辅助系统24b上。因此,可以根据时间点快照拷贝关系4将数据从辅助卷2拷贝到时间点快照拷贝卷2',该时间点拷贝关系4是图5d的实施例中的后台拷贝类型关系。

例如,图5d描绘了辅助卷2的轨道1的内容“a”已经被传输到时间点快照拷贝卷2'的相应轨道1。因此,图5d所示的本地目标位图4的位1已经被更新以使位状态值为“0”以表示辅助卷2的轨道1的内容已被转移到时间点快照拷贝卷2'的相应轨道1的内容。类似地,图5d描述了辅助卷2的轨道3的内容“c”已被转移到时间点快照拷贝卷2'的相应轨道3。因此,图5d所示的本地目标位图4的位3已经被更新以使其位状态值为“0”以表示辅助卷2的轨道3的内容已被转移到时间点快照拷贝卷2'的相应轨道3的内容。以这种方式,可以组合使用目标和非同步位图来同步主系统和辅助系统的卷,以提供基于第一时间点的主卷数据的一致的时间点快照拷贝,同时减少主系统和辅助系统之间通过网络传输的数据量。

应当注意,存在各种序列和路径,其中的数据可以被转移至时间点快照拷贝卷2'。例如,在镜像关系3将内容“b”从主卷1的轨道2镜像到卷2'的轨道2之前,辅助卷2的轨道2的内容“x”可以通过镜像关系4向下传送到所述卷2'的轨道2。如果是这样,如图5d所示,则镜像关系3用来自主卷1的轨道2的内容“b”覆盖内容“x”。通过所述关系4,最初辅助卷2的轨道2的内容“x”被传输到卷2'的轨道2,使得本地目标位图4的相应位2被更新以指示辅助卷2的轨道2的内容已被传输到时间点快照拷贝卷2'的轨道2,从而在后续更新辅助卷2的轨道2时,防止辅助卷2的内容进一步覆盖时间点快照拷贝卷2'的轨道2。

作为另一示例,在镜像关系3将内容“b”从主卷1的轨道2到卷2'的轨道2之前,主卷1的轨道2的内容“b”可以通过关系1镜像到辅助卷2的轨道2。由于卷2'基于辅助卷2的时间点快照拷贝,因此,在辅助卷2的快照之后对辅助卷2的任何更新都会导致更新轨道的原始内容,以便首先将其转移到在更新辅助卷2的轨道内容之前的时间点快照拷贝卷2'。因此,通过镜像关系1对具有内容“b”的辅助卷2的轨道2的更新,在内容“b”覆盖辅助卷2的轨道2的内容之前使得辅助卷2的轨道2的原始内容“x”通过所述关系4被传输到卷2'的轨道2。随后,镜像关系3用来自主卷1的轨道2的内容“b”覆盖时间点快照拷贝卷2'的轨道2的内容“x”,再次提供图5d中所示的结果。最初的传输通过关系4把辅助卷2的轨道2的内容“x”传输到卷2'的轨道2,使得本地目标位图4的相应位2被更新以指示辅助卷2的轨道2的内容已被转移到时间点快照拷贝卷2'的轨道2,从而在后续更新辅助卷2的轨道2时,防止辅助卷2的内容进一步覆盖时间点快照拷贝卷2'的轨道2。

在本说明书的另一个方面,如上面所讨论,一旦输入/输出操作取消暂停,给时间点快照拷贝卷1'的任何更新将被所述关系3镜像到时间点快照拷贝卷2'。以这种方式,即使对主系统的卷1'进行更新,时间点快照拷贝卷1'和卷2'仍将保持一致和同步。

如果在镜像关系3将该轨道的内容镜像到时间点快照拷贝卷2'之前也更新主卷1的一个轨道,则创建时间点快照拷贝卷1'时该轨道的原始内容将被传输到时间点快照拷贝卷1'的相应轨道,以保留原始内容为了镜像关系3随后到时间点快照拷贝卷2'的镜像操作。例如,如果在镜像关系3将主卷1的轨道2的内容“b”镜像到时间点快照拷贝卷2'的轨道2之前更新主卷1的轨道2,则创建时间点快照拷贝1'时的主卷1的轨道2的原始内容“b”将被传送到时间点拷贝卷1'的相应轨道2,以保留原始内容“b”为了镜像关系3随后到跟踪时间点快照拷贝卷2'的轨道2的关于主卷1的轨道2的内容“b”的后续镜像操作。本地目标位图3的相应位将被更新以指示针对该轨道的主卷1的原始内容已被传送到时间点快照拷贝卷1'的相应轨道。

作为另一示例,主卷的轨道1的内容“a”可以用新内容更新,在辅助卷2的轨道1的内容“a”通过关系4被传输到时间点快照拷贝卷2'的相应轨道之前,该新内容通过关系1被镜像到辅助卷2的对应轨道1。但是,由于所述卷2'基于所述辅助卷2的时间点快照拷贝,因此在辅助卷2的快照之后对辅助卷2的任何更新,都会导致在辅助卷2的轨道内容被更新之前,将被更新的轨道的原始内容首先被传输到时间点快照拷贝卷2'。因此,采用新内容替换辅助卷2的轨道1的内容“a”的更新,导致在所述新内容覆盖所述辅助卷2的轨道1的之前,所述辅助卷2的轨道1的原始内容“a”通过关系4被向下传送到所述卷2'的轨道1。该转移通过关系4将辅助卷2的轨道1的内容“a”向下传输到卷2'的轨道1,该转移使得本地目标位图4的对应的位1被更新,用以指示辅助卷2的轨道1的内容已被转移到时间点快照拷贝卷2'的轨道1,从而防止在后续更新辅助卷2的轨道1时,将内容从辅助卷2重写到时间点快照拷贝卷2'的轨道1。

图5e涉及一个实施例,其中时间点快照拷贝关系2是后台拷贝类型。因此,主卷1的轨道2的内容“b”可以被传送到时间点快照拷贝卷1',以及如图5c所示的本地目标位图3的位2可以被更新使得位状态值为“0”,以表示主卷1的轨道2的内容已被拷贝到时间点快照拷贝卷1'的相应轨道2的内容。以类似的方式,主卷1的剩余轨道的内容可以在后台拷贝操作中传送到时间点快照拷贝卷1',以及如图5c所示的本地目标位图3的相应位可以被更新使得位状态值为“0”,以表示主卷1的那些轨道的内容已被传输到时间点快照拷贝卷1'的相应轨道的内容。

将内容从辅助卷2传送到时间点快照拷贝卷2'的过程中,一旦本地目标位图4的所有位都处理完毕,并且在把相关轨道的内容镜像到时间点快照拷贝卷2'的过程中,所述远程非同步位图1'的位也已经处理完毕,时间点快照拷贝卷2'将具有与基于第一个时间点的主卷1的时间点快照拷贝卷1'相一致的完整数据集。此外,主卷1和时间点快照拷贝卷1'将形成基于第一个时间点的一致性组。因此,可以通过一致性组逻辑248将关系3中的卷配置成一致性组,以维持基于特定时间点的数据一致性或用于该组的那些卷的特定数据集。因此,可以在特定时间点停止对oos位图1'的附加更新,以在主系统的卷1'和辅助系统的卷2'之间形成一致性组。oos位图1'指示的任何未处理的更新都将传输到辅助存储,以便基于更新不再添加到oos位图1'的时间点的一致性组的卷保持一致。

在另一方面,如果时间点拷贝关系4的时间点拷贝功能失败,则可以通过设置远程非同步位图1的所有位来形成时间点快照拷贝卷2',以表示所有轨道都应该从主系统24a镜像到时间点快照拷贝卷2'。

图6描述了包括一致的本地和远程拷贝生成器逻辑234(图4)的存储管理器232(图1)的操作的一个示例。在一个操作中,将数据从诸如主卷1(图2)的第一数据单元镜像(框610)镜像到诸如辅助卷2的第二数据单元。图5a示出了从主卷1到辅助卷2的数据的异步镜像的示例,如图5中标记为“镜像关系1”的箭头所示。

参考图4和图6两个附图,除非另有说明,否则存储管理器232(图1)的一致的本地和远程拷贝生成器逻辑234将所述第一数据单元的数据拷贝(框614)到第三数据单元以提供所述第一数据单元的时间点快照拷贝。例如,本地数据拷贝逻辑314将基于第一时间点的主卷1(图5b)的数据拷贝到第三数据单元例如主系统24a的时间点快照拷贝卷1',以提供主卷1的第一个时间点快照拷贝。在图5b的示例中,主卷1和时间点捕捉拷贝卷1'之间的拷贝关系由标记为时间点(pit)拷贝关系2的箭头表示。如前所述,时间点(pit)拷贝关系2可以是后台拷贝类型或非后台拷贝类型,这取决于特定应用。

在另一种操作中,所述第二数据单元的数据(如辅助卷2)被拷贝(框620)到第四数据单元,以提供所述第二数据单元的时间点快照拷贝。例如,辅助系统24b的本地数据拷贝逻辑314将基于第一时间点的辅助卷2(图5b)的数据拷贝到第四数据单元,例如主系统24a的时间点拷贝拷贝卷1',以提供辅助卷2的时间点快照拷贝。在图5b的示例中,辅助卷2和时间点快照拷贝卷2'之间的拷贝关系由标记为时间点(pit)拷贝关系4的箭头表示。应当理解,在许多应用中,可以在辅助系统24b内拷贝用于第二时间点快照拷贝卷2'的大多数数据,从而避免通过网络从主系统24a进行的任何数据拷贝以提供第二个时间点快照拷贝卷2'。如前所述,时间点(pit)拷贝关系4可以是后台拷贝类型或非后台拷贝类型,这取决于特定应用。

在另一操作中,所述第四数据单元(例如时间点快照拷贝卷2')可以与第三数据单元同步(框624)(例如时间点快照拷贝卷1'),其中所述第三和所述第四数据单元都提供基于所述第一时间点的所述第一数据单元(例如主卷1)的数据的时间点快照拷贝。如上所述,还应当理解,因为该实施例的镜像关系1(图5a)是异步关系,所以在某些情况下,并非所有第二时间点快照拷贝卷2'的数据都可以在辅助系统24b上找到。因此,在本说明书的另一方面,一致的本地和远程拷贝生成器逻辑234的数据镜像逻辑310包括同步逻辑324以同步基于第一时间点的辅助系统24b的第二时间点快照拷贝卷2'的数据至主系统24a的第一时间点快照拷贝卷1'。以这种方式,用于辅助系统24b的第二时间点快照拷贝卷2'的附加数据,其用以完成辅助系统24b的第二时间点快照拷贝卷2'使得它基于第一时间点将是一致的,可以通过从主系统24a拷贝所选数据来获得。例如,在一个实施例中,同步操作包括从主系统24a的第一时间点快照拷贝卷1'(或从主卷1,如果所选数据不存在于第一时间点快照拷贝卷1'上)通过网络6拷贝所选数据到辅助系统24b的第二时间点快照拷贝卷2',使得第一和第二时间点快照拷贝卷,即卷1'和卷2'提供基于第一时间点的主系统24a的主卷1的数据的一致的时间点快照拷贝。由于辅助系统的时间点快照拷贝卷2'所需的大多数数据可能已经驻留在辅助系统24b上,因此,在分别生成位于主系统和辅助系统的一致的时间点快照拷贝卷时,从主系统到辅助系统通过网络进行的大部分数据的拷贝可能被避免使用。

图7提供了包括一致的本地和远程拷贝生成器逻辑234(图4)的存储管理器232(图1)的操作的更详细示例。参考图4和图7两个图,除非另有说明,否则在一个操作中,使用第一非同步位图将数据从第一数据单元(主卷1)镜像(块714)到远程位置处的第二数据单元(辅助卷2)。图5a示出了利用远程非同步位图1从主卷1到辅助卷2的数据的异步镜像的示例,如图5中标记为“镜像关系1”的箭头所示。

在另一个操作中,时间点快照拷贝命令(框720),其创建一个目标位图以便第一数据单元的数据被拷贝到第三数据单元用以提供所述第一个数据单元的时间点快照拷贝,被发给所述第三数据单元。例如,命令逻辑320向本地数据拷贝逻辑314发出第一时间点快照拷贝命令,以将基于第一时间点的主卷1的数据拷贝到时间点快照拷贝卷1'。作为响应,本地数据拷贝逻辑314将基于第一时间点的主卷1的数据“拷贝”到所述时间点快照拷贝卷1',以提供所述第一时间点快照拷贝卷1'。在图5b的示例中,主卷1和时间点快照拷贝卷1'之间的拷贝关系由标记为时间点(pit)拷贝关系2的箭头表示。

如前所述,在一个实施例中,在生成所述时间点快照拷贝卷1'时,不需要在后台拷贝操作中将所述主卷1的内容传输到所述时间点快照拷贝卷1'。相反,所述本地数据拷贝逻辑314生成第一目标位图例如本地目标位图3,例如,用以指示尚未从所述主卷1拷贝到所述时间点快照拷贝卷1'的轨道。其结果是,针对所述时间点快照拷贝卷1'的轨道的读取操作被所述本地目标位图3重定向到所述主卷1,所述主卷1中可以获得所引用轨道的内容。应当理解,在其他实施例中,时间点快照拷贝卷1'的内容在利用本地目标位图3将内容传送到主卷1的后台的拷贝操作中可以被填充,。

在另一种操作中,从主机到所述主卷1的输入/输出操作处于暂停状态(方框724)和从所述第一数据单元(主卷1)到所述第二数据单元(辅助卷2)的镜像操作被挂起(方框724)以暂停所述第一数据单元(主卷1)至所述第二数据单元(辅助卷2)的同步。例如,挂起逻辑330暂停主机对主卷1的输入,并且使从主卷1到辅助卷2的数据镜像处于暂停。从主卷1到辅助卷2的数据镜像的暂停状态由之前在图5a中示出的标记为“镜像关系1”的箭头的省略来表示。

为了把所述第三数据单元同步到所述第四数据单元,所述第一个非同步位图被拷贝(框728)到第二非同步位图。例如,数据镜像逻辑310的同步逻辑324拷贝远程oos(非同步)位图1,如图5b所示,(基于第一个时间点)到第二个非同步位图,即所述远程oos位图1',用于指示要从主系统24a的时间点快照拷贝卷1'镜像到辅助系统24b的时间点快照拷贝卷2'的剩余轨道。

另一时间点快照拷贝命令被发出(方框732)以拷贝所述第二数据单元的数据到所述第四数据单元,以提供所述第二数据单元的时间点快照拷贝。例如,主系统24a的一致本地和远程拷贝生成器逻辑234的命令逻辑320(图4)向辅助系统24b的本地数据拷贝逻辑314发出命令,以拷贝基于第二时间点的辅助卷2的数据(图5b)至第四数据单元,例如第二数据单元24b的卷2',用以提供辅助卷2的时间点快照拷贝卷2'。在在图5b的示例中,辅助卷2和时间点快照拷贝卷2'之间的拷贝关系由标记为“时间点(pit)快照拷贝关系4”的箭头表示。

图8描述了关于辅助系统24b的本地数据拷贝逻辑314的操作响应于发布给辅助系统24b(图2)的时间点快照拷贝命令的示例。在一个操作中,辅助系统24b的本地数据拷贝逻辑314生成(框740)第二目标位图,例如,辅助系统24b的本地目标位图4,以指示尚未从辅助卷2传输到第二时间点快照拷贝2'的轨道。如前所述,在本实施例中,本地目标位图4通过该位图4的位状态值1指示剩余的要传输到时间点快照拷贝卷2'的轨道。

如前所述,在一个实施例中,生成时间点快照拷贝卷2'的时间点快照拷贝命令可以是“后台拷贝”类型的,其中辅助卷2的内容在后台拷贝操作中由辅助系统24b的本地数据拷贝逻辑314传输(框744)到时间点快照拷贝卷2'。因此,当辅助卷2的每个轨道的内容被传送到时间点快照拷贝卷2'的相应轨道的内容时,表示在所述本地目标位图4中的轨道的位的位状态值可以被更新(框750)到位状态值“0”以指示该轨道已被传输到时间点快照拷贝卷2'。

例如,图5d描述了辅助卷2的轨道1的内容“a”已经被传输到时间点快照拷贝卷2'的相应轨道1。因此,图5所示的本地目标位图4的位1被更新使得位状态值为“0”,以表示辅助卷2的轨道1的内容已被转移到时间点快照拷贝卷2'的相应轨道1的内容。类似地,图5d描述了辅助卷2的轨道3的内容“c”已被转移到时间点快照拷贝卷2'的相应轨道3。因此,图5d所示的本地目标位图4的位3被更新使得位状态值为“0”,以表示辅助卷2的轨道3的内容已被传输到时间点快照拷贝卷2'的相应轨道3的内容。

一个确认结果(块754)被生成,该结果关于通过本地目标位图4所表示的所有轨道是否已经从辅助卷2被传输到时间点快照拷贝卷2'。如果结果是否,则继续传输(块744)轨道。一旦确认(框754)后台拷贝的所有轨道已经传输完毕,则结束后台拷贝(框760)。应当理解,在其他实施例中,生成时间点快照拷贝卷2'的时间点快照拷贝命令可以是“非后台拷贝”类型,其中在后台拷贝操作中辅助卷2的内容不被传输到时间点快照拷贝卷2'。

通过这种方式,因为由镜像关系1(图5a)所表示的镜像操作而已经驻留在辅助系统24b中的第二时间点快照拷贝卷2'数据,可以被转移到辅助系统24b内的第二时间点快照拷贝卷2'。其结果是,在许多应用中,第二时间点快照拷贝卷2'所需的大多数数据可以在辅助系统24b内被拷贝,并且可以避免通过网络进行的从主系统24a被提供给第二时间点快照拷贝卷2'的大多数数据的拷贝。例如,响应于命令逻辑320向辅助系统24b发出的时间点快照拷贝命令,辅助存储控制器4b的本地数据拷贝逻辑314可以向辅助系统24b的本地数据拷贝逻辑314发出命令,以将辅助卷2的轨道后台拷贝到时间点拷贝卷2',假如所述本地目标位图4表示数据轨道有待于从所述辅助卷2传输到所述时间点快照拷贝卷2'。

再次参照图7,在另一操作中,来自主机的输入/输出操作被取消暂停(框766),并且重新开始从所述第一数据单元到所述第二数据单元的数据镜像以重新开始所述第一数据单元和所述第二数据单元的同步。例如,主系统24a的一致的本地和远程拷贝生成器逻辑234的挂起逻辑330取消对主卷1的主机输入的暂停,并重新启动镜像从而重新同步从主卷1到辅助卷2的数据,如图5c中标记为“镜像关系1”的箭头所示。其结果是,对主系统24a的主卷1的更新可以被镜像到辅系统24b的辅助卷2,同时生成卷1'和卷2'以提供基于第一个时间点的主卷1的数据的一致的时间点数据快照拷贝。

结合如图6所示的块624,以和前面描述相似的方式,第四数据单元(诸如时间点快照拷贝卷2')可以相对于第三数据单元(诸如时间点快照拷贝卷1')被同步(块770),其中所述第三和第四数据单元提供所述第一数据单元(例如主卷1)基于第一时间点的数据的时间点快照拷贝。图9描述了同步所述第三和第四数据单元以提供基于所述第一时间点的所述第一数据单元(例如主卷1)的数据的时间点快照拷贝的同步操作的一个示例。

如上所述,应当理解,因为本实施方式的镜像关系1(图5a)是一个异步关系,在某些情况下不是所有的用于所述第二时间点快照拷贝卷2'中的数据的可以在辅助系统24b上找到。因此,在一个实施例中,同步逻辑324将辅助系统24b基于第一时间点的第二时间点快照拷贝卷2'的数据与同步到主系统24a的第一时间点快照拷贝卷1'的数据。以这种方式,用于辅助系统24b的第二时间点快照拷贝卷2'的附加数据,该附加数据用以完成辅助系统24b的第二时间点快照拷贝卷2'使得它基于第一时间点将是一致的,可以通过从主系统24a拷贝所选定的数据来获得。

在一个操作中,一个确认结果(块774)被生成,该确认结果关于是否有所述第二非同步位图的未处理的位被从所述第一外的同步位图拷贝而来。例如,在一个实施例中,同步操作包括经过网络6从主系统24a的第一时间点快照拷贝卷1'(或从主卷1,如果所选数据不存在于第一时间点快照拷贝卷1'上)拷贝所选数据至辅助系统24b的第二时间点快照拷贝卷2',使得第一时间点快照拷贝卷1'和第二时间点拷贝卷2'提供基于第一时间点的主系统24a的主卷1的数据的一致的时间点快照拷贝。由于所述辅助系统的时间点快照拷贝卷2'所需的大多数数据可能已经驻留在所述辅助系统24b上,因此在分别生成所述主系统和辅助系统的一致时间点快照拷贝卷时通过网络从主系统到辅助系统的大部分数据拷贝可以被避免。

在一个实施例中,为获得并未已经在辅助系统24b中存在的数据,主系统24a的数据镜像逻辑310的同步逻辑324确定(框774)是否远程非同步位图1'的未被处理的位(图5c)仍有待于被镜像关系3表示的镜像操作所处理。例如,图5c描述了对应于第一时间点快照拷贝卷1'的轨道2的远程非同步位图1'的位2的内容,其具有逻辑状态值“1”表示位2尚未通过镜像关系3被处理,同时轨道2的内容也尚未通过所述镜像关系3从主系统24a到辅助系统24b的相应卷2'被镜像。因此,在图5c中,辅助系统24b的第二时间点快照拷贝卷2'的轨道2的内容被描述为内容“x”,表示它的内容与主系统24a的主卷1的轨道2的内容不同。

如果确定所述远程非同步位图1'(图5c)的未处理的位有待于由镜像关系3表示的镜像操作来处理,则主系统24a的数据镜像逻辑310的同步逻辑324确定(方框780)所述目标位图的对应位的位状态值(本示例中为图5c所示的本地目标位图3)是否指示相关轨道尚未从第一个数据单元(本示例中为主卷1)被传输到第三个数据单元(本示例中为时间点快照拷贝卷1')。如果本地目标位图3(图5c)的相应位的位状态确实指示相关轨道尚未从主卷1传送到时间点快照拷贝卷1',则该轨道的内容从第一数据单元(在本示例中为主卷1)获得并且被镜像,即根据所述镜像关系3将其传送(块784)到第四数据单元(在本示例中为时间点快照拷贝卷2')(图5d)。

例如,图5c描述了与第一时间点快照拷贝卷1'的轨道2相对应的本地目标位图3的位2的内容,其具有逻辑状态值“1”,表示轨道2的内容尚未从主系统24a的主卷1被传输至主系统24a的第一时间点快照拷贝卷1'。因此,在图5c中描述了主系统24a的第一时间点快照拷贝卷1'的轨道2的内容,内容“x”表示它与主卷1拷贝卷1'的轨道2的内容“b”具有不同的内容。

根据本地目标位图3所示,被镜像到所述时间点快照拷贝卷2'的轨道的内容可能尚未完成从主卷1到时间点快照拷贝卷1'的传输,则数据镜像逻辑310的同步逻辑324,其用于基于第一个时间点将所选数据从主系统24a拷贝到时间点快照拷贝卷2'以将时间点快照拷贝卷2'的数据与主卷进行同步,如时间点快照拷贝卷1'所示,从主卷1获得轨道2的数据以及进行镜像。也即,如果本地目标位图3指示针对轨道2的数据尚未从主卷1被传输到时间点快照拷贝卷1',则传送(块784)该数据到时间点快照拷贝卷2'。因此,为了针对第二时间点快照拷贝卷2'的镜像操作,一个被指向时间点快照拷贝卷1'的轨道2的读取操作,可以被重定向到主卷1的轨道2,如所述本地目标位图3的位2的位状态值“1”所示,其中位2对应于时间点快照拷贝卷1'的轨道2。因为已经在重定向的读取操作中获得了主卷1的轨道2的内容“b”,图5d描述了主卷1的轨道2的内容“b”已被镜像到基于镜像关系3的时间点快照拷贝卷2'的相应轨道2。另外,如图5d所示,远程非同步位图1'的位2,其中位2对应于时间点快照拷贝卷1'的轨道2,可以被更新(块790)以使其具有位状态值“0”用以指示轨道2的内容已经被镜像到时间点快照拷贝卷2'。

相反,如果本地目标位图3(图5c)的对应位的位状态值指示相关的轨道已被从主卷1转移到时间点快照拷贝卷1',则根据镜像关系3(图5d),针对于所述轨道的内容将从第三数据单元(在该示例中为时间点快照拷贝卷1')被镜像(块794)到第四数据单元(在该示例中为时间点快照拷贝卷2')。此处,远程非同步位图1'的位2也可以被更新,其中所述位2对应于时间点快照拷贝卷1'的轨道2,其可以被更新(块790)至具有位状态值“0”以指示轨道2的内容已被镜像到时间点快照拷贝卷2',如图5d所示。一旦确定了远程非同步位图1'的所有位(方框774)均已被处理,图9的同步就完成了(方框798)。

通过这种方式,镜像逻辑310的同步逻辑324从主卷1或主系统24a的时间点快照拷贝卷1'中的任一一个将所选择的数据传输至辅助系统24b的时间点快照拷贝卷2',以便基于第一时间点将所述时间点快照拷贝卷2'的数据与所述主卷1同步,正如由主系统24a的时间点快照拷贝卷1'所表示的。因此,用于辅助系统24b的第二时间点快照拷贝卷2'的附加数据,该附加数据用以完成辅助系统24b的第二时间点快照拷贝卷2'从而使它将基于第一时间点保持一致,其可以通过从所述第一时间点快照拷贝卷1'或所述主系统24a的主卷1传输所选数据来获得,即通过利用从时间点快照拷贝卷1'到时间点快照拷贝卷2'的数据异步镜像,如图5c中标记为“镜像关系3”的箭头所示。

附图所示的计算组件可各自在一个或多个计算机系统中实现,例如图10中所示的计算机系统1002。计算机系统/服务器1002可以在由计算机系统执行的计算机系统可执行指令(例如程序模块)的一般上下文中描述。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程,程序,对象,组件,逻辑,数据结构等。计算机系统/服务器1002可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。

如图10所示,计算机系统/服务器1002以通用计算设备的形式示出。计算机系统/服务器1002的组件可以包括但不限于一个或多个处理器或处理单元1004,系统存储器1006,以及将包括系统存储器1006的各种系统组件耦合到处理器1004的总线1008。总线1008表示几种类型的总线结构中的任何一种或多种,包括存储器总线或存储器控制器外围总线,加速图形端口,以及使用各种总线架构中的任何总线架构的处理器或本地总线。作为示例而非限制,这样的架构包括工业标准架构(isa)总线,微通道架构(mca)总线,增强型isa(eisa)总线,视频电子标准协会(vesa)本地总线和外围组件互连(pci)总线。

计算机系统/服务器1002通常包括各种计算机系统可读介质。这样的媒体可以是计算机系统/服务器1002可访问的任何可用媒体,并且它包括易失性和非易失性媒体,可移动和不可移动媒体。

系统存储器1006可以包括易失性存储器形式的计算机系统可读介质,诸如随机存取存储器(ram)1010和/或高速缓冲存储器1012.计算机系统/服务器1002还可以包括其他可移动/不可移动,易失性/非易失性计算机系统存储介质。仅作为示例,可以提供存储系统1013用于从不可移动的非易失性磁介质(未示出并且通常称为“硬盘驱动器”)读取和写入。尽管未示出,但是可以提供用于读取和写入可移动的非易失性磁盘(例如,“软盘”)的磁盘驱动器,以及用于读取或写入可移动的非易失性光学器件的光盘驱动器诸如cd-rom,dvd-rom或其他光学介质的盘。在这种情况下,每个所述存储器可以通过一个或多个数据媒体接口连接到总线1008。如下面将进一步描绘和描述的,存储器1006可以包括至少一个程序产品,该程序产品具有一组(例如,至少一个)程序模块,这些程序模块被配置为执行本发明实施例的功能。

程序/实用程序1014,具有程序模块1016的一个集合(至少一个)时,可以通过举例的方式,存储但不是限制存储在存储器1006中,以及一个操作系统,一个或多个应用程序,其他程序模块和程序数据。操作系统,一个或多个应用程序,其他程序模块和程序数据中的每一个或其某些组合可以包括网络环境的实现形式。计算机1002的组件可以通过程序模块1016的形式实现,其通常执行如本文所述的本发明实施例的功能和/或方法。可以在一个或多个计算机系统1002中实现如图1所示的计算机系统,其中如果它们在多个计算机系统1002中实现,则计算机系统可以通过网络进行通信。

计算机系统/服务器1002也可以与一个或多个外部设备1018,诸如键盘,指示设备,显示器1020等等;一个或多个使用户能够与计算机系统/服务器1002交互的设备;和/或使计算机系统/服务器1002能够与一个或多个其他计算设备通信的任何设备(例如,网卡,调制解调器等)进行通信。这种通信可以通过输入/输出(i/o)接口1022进行.此外,计算机系统/服务器1002可以与一个或多个网络通信,例如局域网(lan),通用广域网(wan)和/或公共网络(例如,如图所示,网络适配器1024通过总线1008与计算机系统/服务器1002的其他组件通信。应该理解,尽管未示出,但是可以使用其他硬件和/或软件组件。与计算机系统/服务器1002结合。示例包括但不限于:微代码,设备驱动程序,冗余处理单元,外部磁盘驱动器阵列,raid系统,磁带驱动器和数据存档存储系统等。

本文所用的参考字符,如i,j和n被用于表示一个元素的可变数目的实例,其可表示相同或不同的多个值,并且在不同描述的实例中具有不同或相同的元素时可以表示相同或不同的值。

本发明可以是系统,方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备计算机可读存储介质例如可以是,--但不限于--电存储设备,磁存储设备,光存储设备,电磁存储设备,半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘,硬盘,随机存取存储器(ram),只读存储器(rom),可擦式可编程只读存储器(eprom或闪存),静态随机存取存储器(sram),便携式压缩盘只读存储器(cd-rom),数字多功能盘(dvd),记忆棒,软盘,机械编码设备,例如其上存储有指令的打孔卡或凹槽内凸起结构,以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波,通过波导或其他传输媒介传播的磁波(例如,通过光纤电缆的光脉冲),或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络,例如因特网,局域网,广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆,光纤传输,无线传输,路由器,防火墙,交换机,网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令,指令集架构(isa)指令,机器指令,机器相关指令,微代码,固件指令,状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言-诸如smalltalk,c++等,以及常规的过程式编程语言-诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行,部分地在用户计算机上执行,作为一个独立的软件包执行,部分在用户计算机上部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络-包括局域网(lan)或广域网(wan)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路,现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机,专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机,可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机,其它可编程数据处理装置,或其它设备上,使得在计算机,其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机,其它可编程数据处理装置,或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统,方法和计算机程序产品的可能实现的体系架构,功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块,程序段或指令的一部分,所述模块,程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框,以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

术语“一个实施例”,“实施例”,“某些实施例”,“所述实施例”,“所述某些实施例”,“一个或多个实施例”,“一些实施例”和“一个实施例”表示“一个或多个(但不是全部)本发明的实施方案”,除非另有明确说明。

术语“包含”,“包括”,“具有”及其变型意指“包括但不限于”,除非另有明确说明。

项目的枚举列表并不意味着任何或所有的项目是互相排斥的,除非另有明确说明。

术语“一个”和“所述”指“一个或多个”,除非另有明确说明。

装置,其在互相连通时不必是相互连续通信,除非另有明确说明。另外,彼此通信的设备可以通过一个或多个中介直接或间接地通信。

实施例中具有彼此通信的几个部件的描述并不意味着需要所有这样的组件。相反,其描述了各种可选组件以说明本发明的各种可能的实施例。

当在此描述单个设备或物品时,显而易见,一个以上的设备/物品(无论它们是否协作)可以用来代替单个设备/物品的使用。类似地,在这里描述了不止一个设备或物品(无论它们是否合作)的情况下,显而易见,可以使用单个设备/物品来代替一个以上的设备或物品,或不同数量的设备/物品可以被使用以代替所示数量的设备或程序。设备的功能和/或特征可替代地由一个或多个其他设备实现,即使这些设备未明确地描述为具有这样的功能/特征。因此,本发明的其他实施例并不需要包括该设备本身。

前述本发明的各种实施例的描述仅出于说明和描述的目的,其并非旨在穷举或将本发明限制于所公开的精确形式。鉴于上述教导,许多修改和变化都是可能的。因此本发明的范围不受该详细描述的限制,而是受权利要求的限制。以上说明书、实施例和数据提供了关于本发明组合物的制造和使用的完整描述。由于可以在不脱离本发明的精神和范围的情况下做出本发明的许多实施例,因此本发明的范围由所附的权利要求所概括。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1