针对异类存储系统的基于Web服务的数据复制的制作方法

文档序号:6569596阅读:112来源:国知局
专利名称:针对异类存储系统的基于Web服务的数据复制的制作方法
技术领域
本发明通常涉及存储子系统,以及更特别地涉及 一 种针对异类 存储系统来提供基于Web服务的数据复制的方法、装置和程序存储 设备。
背景技术
Web服务是一种软件系统,其被设计用以通过网络来支持可互 操作的机器至机器交互。Web服务使用以机器可处理格式(诸如Web 服务描述语言(WSDL))描述的接口。 WSDL是一种XML词汇表, 其提供一种描述服务接口定义语言(IDL)的标准方式。WSDL是在 由IBM开发的网络可访问服务规范语言(NASSL)和由Microsoft 开发的规范和描述语言(SDL)之间的活动会聚的最终产物。WSDL 对服务提供者提供了 一种简单的方式,用以描述针对远程方法调用 (RMI)的请求消息和响应消息的格式。WSDL以与底层协议和编 码要求相独立的方式解决了这种服务IDL课题。通常,WSDL提供 一种抽象语言,用于由其各自的参数和数据类型来定义服务的发布 操作。该语言还解决了服务的绑定细节和位置的定义。
除了提供Web服务的系统之外的系统可以使用消息并以由Web 服务的接口规定的方式来与Web服务进行交互,所述消息可以包含 在SOAP封装中或者遵循REST方法。通常,使用HTTP来传输这 些消息,以及这些消息通常包括XML并结合其他Web相关的标准。
于在单一计算机上的进程间通信的方式,来使用Web服务通过例如 因特网的计算机网络交换数据。
当前,存储子系统的数据复制受限于设备之间的特定距离,并且要求特定的接口和协议(诸如,专用的光纤信道适配器和连接性)。 作为结果,在存储子系统之间的数据复制局限于特定的地理边界。 此外,当前的数据复制仅可能在特殊类型和提供商(同类)的存储 子系统之间实现。当前数据复制技术的另一限制在于以下事实,复 制的参与者(即源和目标)需要彼此已知,并且不能动态创建复制 关系。由此,当前存储子系统数据复制技术的限制在于数据复制的 有限距离、需要具体技术和连接性、要求相同的类型和提供商的存 储子系统、以及不能动态发现复制目标。

发明内容
本发明公开了 一种针对异类存储系统来提供基于Web服务的数
据复制的方法、装置和程序存储设备。
在存储子系统中提供了一种Web服务接口 ,用以提供通过远程 请求代理来访问存储子系统的复制功能。Web服务接口还可以验证 远程请求代理以及数据加密以确保私密性。Web服务接口还可以将 正在复制的容量划分成为预定义大小的块,用于稍后在远程请求代 理处结合形成所述容量。
根据本发明的一个实施方式的存储系统包括具有Web服务接 口的至少 一个目标存储子系统,该Web服务接口用于提供对至少一 个目标存储子系统的功能集合的因特网访问;以及具有Web服务接
口的请求存储子系统,请求存储子系统的Web服务接口被配置以识 别至少一个目标存储子系统的Web服务接口 ,以及经由请求存储子 系统和至少一个目标存储子系统的Web服务接口 ,来启动至少一个 目标存储子系统的功能。
在本发明的另一实施方式中,提供了一种存储子系统。所述存 储子系统包括至少一个存储设备以及Web服务接口 ,所述Web服 务接口被配置以执行所述至少一个存储设备的Web可启动的存储功 能。
在本发明的另一实施方式中,提供了 一种用于执行远程存储活动的方法。所述方法包括识别具有用于提供对Web可启动的存储 功能的访问的Web服务接口的存储子系统;使用网络协议来经由网 络耦合至所述识别的存储系统;以及启动所述W e b可启动的存储功 能的执行。
在本发明的另一实施方式中,提供了一种程序存储设备。程序 存储设备包括由处理设备可执行的程序指令,以便执行用于执行远 程存储活动的操作,其中所述操作包括识别具有用于提供对Web 可启动的存储功能的访问的Web服务接口的存储子系统;使用网络 协议来经由网络耦合至所述识别的存4诸系统;以及启动所述Web可 启动的存储功能的执行。
在本发明的另一实施方式中,提供了另一种存储子系统。该存 储子系统包括用于存储数据的装置;以及可操作地耦合至该用于 存储的装置并用于使得能够执行与用于存储数据的装置相关联的 Web可启动的服务的装置。


现在将仅以示例方式,通过参考以下附图来描述本发明的实施 方式
图1示出了根据本发明的实施方式的计算机网络;
图2示出了根据本发明的实施方式的存储子系统的框图3示出了根据本发明的实施方式的Web服务架构;
图4示出了根据本发明的实施方式的存储子系统;
图5示出了根据本发明的实施方式的Web服务接口;
图6示出了根据本发明的实施方式的用于经由Web服务来使请
求者存储子系统能够访问目标存储子系统以及启动目标存储子系统
处的功能的过程;以及
统的基于Web服务的数据复制的方法的流程图。
具体实施例方式
图1示出了根据本发明的实施方式的计算机网络100。计算机网 络100包括多个存储子系统110-118。存储子系统110-118包括物理 存储设备120-128。存储子系统110-118经由网络130来耦合。例如, 网络130可以是因特网,以及然后每个存储系统可以包括用于访问 网络130(即,因特网)的网络设备140-148。然而,网络130还可 以包括诸如局域网(LAN)的简化网络连接或者诸如广域网(WAN) 的较大网络。此外,在图1中描绘的网络130旨在作为包含本发明 的可能的操作网络的代表,而并非旨在作为架构限制。
图2示出了根据本发明的实施方式的存储子系统200的框图。 存储子系统200包括通过系统总线220来直接或者间接耦合至存储 器元件292的至少一个处理器296。存储器元件292可包括本地存储 器、大容量存储设备以及高速缓冲存储器,所述高速緩冲存储器提 供至少某些程序、代码的临时存储,以便降低在执行期间必须从大 容量存储设备取回代码的次数。
输入/输出或者1/0设备240 (包括但不限于键盘、显示器、指示 设备等)可直接耦合至系统,或者通过互联I/O控制器来耦合至系统。
网络适配器250还可以耦合至存储子系统200,以便使存储子系 统200能够通过中间的私有或者公共网络260来变得耦合至例如其 他数据处理系统252、远程打印机254或者存储设备256。调制解调 器、线缆调制解调器以及以太网卡仅仅是几种当前可用的网络适配 器类型。这样,存储子系统适用于存储和/或执行根据本发明的实施 方式的程序代码。
件实施方式的形式或者包含硬件和软件元素两者的实施方式的形 式。在优选实施方式中,以软件实现本发明,其中所述软件包括但 不限于固件、驻留软件、微代码等。此外,本发明的实施方式可以 采用从计算机可用或者计算机可读介质268可访问的计算机程序产 品290的形式,其中所述介质268提供由计算机或者任意指令执行系统使用或者与计算机或者任意指令执行系统结合使用的程序代 码。
出于说明的目的,计算机可用或者计算机可读介质268可以是 能够包含、存储、传送、传播或者传输程序的任何装置,所述程序 由指令执行系统、装置或者设备使用或者与指令执行系统、装置或
者设备结合使用。介质268可以是电子的、磁性的、光学的、电磁 的、红外的或者半导体系统(或者装置或者设备)或者传播介质。 计算机可读介质的示例包括半导体或者固态存储器、磁带、可移除 计算机盘、随机访问存储器(RAM)、只读存储器(ROM)、刚性 磁盘和光盘。当前,光盘的示例包括致密盘-只读存储器(CD-ROM)、 致密盘-读/写(CD-R/W)和DVD。
由此,计算机程序290包括指令,当由图2的系统200读取和 执行时所述指令使得系统200执行实施本发明的步骤或者元素所必 要的步骤,这将在文中描述。
图3示出了根据本发明的实施方式的Web服务架构300。 Web 服务架构300以三个角色的形式支持Web服务。在Web服务架构的 一个实施方式中提供的三个角色包括至少一个服务提供者、服务请 求者以及服务注册处。服务是服务描述的实现,而服务描述是描述 服务的元数据。元数据必须包括用于服务请求者访问元数据所描述 的服务的足够信息,包括其接口和位置;还可以包括诸如分类的资 源发现元数据。
服务提供者对服务注册处发布服务描述。服务请求者然后经由 服务注册处找到服务描述。服务描述包含足够信息,用于服务请求 者来绑定至服务提供者以使用服务。如果服务请求者经由某些其他 方式(例如,诸如硬编码)对服务描述可访问,则服务请求者可直 接去往服务提供者。
图4示出了根据本发明的实施方式的存储子系统400。在图4中, 存储子系统400包括至少一个存储设备410。通过至少一个存储设备 410来提供私有或者内部功能420。私有或者内部功能420包括用于执行数据复制的功能。存储子系统400还包括Web服务接口 430, 所述Web服务接口 430定义具有相应参数和数据类型的服务的发布 操作,使得应用可以传送以及启动所定义的Web服务,其中所述应 用是针对不同提供商的平台所编写、潜在地是以不同编程语言编写 并且在不同操作系统上编写。例如,Web服务接口 430包括用于执 行数据复制432的Web可启动功能。Web服务接口 430还可以包括 用于执行验证/加密434和文件分割436的Web可启动功能。由于将 要复制的容量(volume)可能非常大,需要将所述容量划分成为较 小的块(junk)以便通过Web服务执行数据传输是可行的。如果真 是这种情况,Web服务接口 430还可以包括用于文件分割436的Web 可启动功能。使用Web服务特征通过TCP/IP来传输由文件分割器 436所创建的文件部分或者块。目标子系统将接收这些块,从进入的 信号抽取数据并重新组装整个目标容量。由此,Web服务接口 430 允许一个提供商的存储子系统来启动不同提供商的存储子系统的存 储功能,即,Web服务接口 430支持在提供商系统之间的互操作性。 在下文中示出了一个伪代码的示例,其描述了在概念上如何执 行数据传输。
<formula>formula see original document page 10</formula>
目标子系统需要接收这些块,从SOAP消息的XML文件抽取数 据,并组装为整个目标容量。用于实现在目标侧发送数据 junk—to—target的微代码的 一个示例在概念上如下所示send—data—junk—to—target {
write—to—disk ( ) ,' // reconstruct—entire—volume
存储子系统400向公众展示Web服务接口 430,这允许已验证 用户在因特网上使用标准协议来调用内部功能性432。例如,Web 服务接口 430可以使用标准Web服务定义语言(WSDL)接口来揭: 供针对数据复制所需的功能432的一致集合(uniform set)。不同存 储系统和提供商的私有技术420隐藏于标准Web服务接口 43 0之下, 并且与实际数据复制无关。使用此方法,可直接在子系统级别上跨 越来自不同提供商的存储子系统来复制数据,而并不涉及任何主机 系统。
图5示出根据本发明的实施方式的Web服务接口 500。 Web服 务接口 500包括Web服务描述510以及内部映射520。通过Web服 务描述(WSD) 510来提供消息交换机制。WSD510是Web服务接 口的机器可处理规范,其定义了应该在请求者代理和提供者代理之 间使用的消息格式、数据类型、传输协议以及传输序列化格式。WDS 510还可以指定一个或者多个网络位置("端点,,),可以在所述网 络位置处调用提供者代理,并且WDS 510可以提供关于期望的消息 交换模式的某些信息。
Web服务接口 500是这样的接口,其描述了通过标准化XML消 息传送而由网络可访问的操作集合。使用标准、格式性XML概念来 描述Web服务,所述XML概念称作Web服务的服务定义512。月良 务定义512提供与服务交互所必要的细节,包括消息格式(其细化 了操作)、传输协议以及位置。还可以提供附加的定义540,以提供 附加任务。由此,Web服务接口 500隐藏了月良务的实现细节,这允 许独立于硬件或者软件平台以及还独立于编程语言来使用所述Web 服务接口 500,其中所述Web服务接口 500在所述硬件或者软件平 台上实现、并且由所述编程语言来编写。这允许并且鼓励基于Web 服务的应用变得松耦合、面向组件、跨技术实现。Web服务接口 500实现特定任务或者任务集合,并且可以单独使用或者与其他Web服 务一起使用,以便实现复杂的聚合或者业务事务。
服务定义512包括抽象部分(服务接口定义)530以及具体部分 (服务实现定义)532。独立于实现细节,将Web服务接口的描述 称作抽象部分530。在WSDL文档中,此抽象接口定义430主要由 接口和消息构造来构成。其进一步由通常独立分类的类型构造来支 持。由具体部分(服务实现定义)532来提供关于Web服务的特定 位置以及实现信息。具体部分(服务实现定义)532定义网络位置、 协议、安全性要求以及用于绑定的服务端点的特定实例的其他特定 属性。
图6示出了根据本发明的实施方式的用于经由Web服务来使请 求者存储子系统访问目标存储子系统以及启动在目标存储子系统处 的功能的过程600。图6示出了经由TCP/IP连接性680耦合的存储 子系统610、 620、 650以及中央注册处640。在图6中,存储子系统 610、 620分别经由信号630、 632来在具有通信4妾口 644的中央注册 处640注册,例如,统一描述、发现和集成(UDDI)注册处。UDDI 是针对因特网上列出世界范围商业的、平台独立的、基于XML的注 册处。存储子系统610、 620通过公布其WSDL接口 ( Web服务描 述语言)而提供其能力,这包括存储子系统的属性,例如,名称、 类型、所支持的拷贝服务特征等。中央注册处640提供包括所有已 注册存储子系统(及其WSDL接口 )的数据库642。 WSDL接口 612、 622、 652支持在不同提供商的存储子系统之间的通信。
在存储子系统610、 620已经在注册处进行注册之后,借助于目 录服务,可以由其他存储子系统来动态发现存储子系统610、 620。 另一存储子系统、存储服务器650可(按需)向注册处发送查询660 以识别可能的目标存储子系统。此查询可限制于特定特征(经过滤 的),诸如提供特殊拷贝服务特征的所有服务器、在某一位置的所 有存储子系统、已定义类型的所有存储子系统、或者作为查询中的 信息而提供的其他过滤参数。以此方式,可以动态地发现数据复制的伙伴,并且由此提供新的"按需"或者规定的应用。如果需要,
则存储子系统还可以从注册处640删除其条目。
基于从注册处640向请求存储子系统650返回的结果662,来选 择数据复制(目标)的伙伴(或者多个伙伴),即图6中的存储服 务器620。然后,源650和目标620存储子系统彼此直接经由连接 670来对话。源650以及目标620存储子系统使用其Web服务接口 622、 652来通过因特网传输数据(已复制的)。
如图6中所示,存储子系统610、 620、 650的每个包括Web服 务接口 612、 622、 652。存4诸子系统610、 620、 650还包括如图4 中示出的私有或者内部功能614、 624、 654。 Web服务接口 612、 622、 652还可以提供负责验证的Web服务技术堆栈,以及如果需要还提 供数据加密。由此,只有合法用户可访问所展示的Web服务接口 612、 622、 652,并且实现数据保密性。
图7示出了根据本发明的实施方式的针对异类存储系统来提供 基于Web服务的数据复制的方法的流程图700。在图7中,服务提 供者向服务注册处710发布服务描述。服务请求者针对已注册的服 务描述720来查询服务注册处。服务注册处向服务请求者730返回 服务描述。服务描述包含用于将服务请求者绑定至服务提供者以使 用所述服务的足够信息。由此,服务请求者绑定至服务提供者以使 用所述服务,所述服务与从服务注册处740获取的服务描述相匹配。 如果服务请求者经由某些其他方式(例如,诸如硬编码)可访问服 务描述,则服务请求者可直接去往服务提供者。
因而,在根据本发明的实施方式的存储子系统中提供的Web服 务接口 ,提供了一种新的并且独特的用于存储系统数据复制的基于 Web的方法,其中在数据复制的伙伴之间不存在距离限制,并且不 需要特定的技术或者连接性。通过在根据本发明的实施方式的存储 子系统400中提供Web服务接口来支持动态发现参与数据复制的节 点(新的"按需"以及规定应用)。由此,通过使用用于数据复制 的更为灵活的可编程方法,可以跨存储子系统以及提供商执行数据复制。
为了图示以及描述起见,已经呈现了本发明的实施方式的上述 描述。并非旨在于穷举或者将本发明限制于所公开的精确形式。在 上述教导的启示下可以提供各种修改和变型。并非旨在于将本发明 的范围限制于此详细描述,而是由所附权利要求书来限定本发明的 范围。
权利要求
1. 一种存储子系统,包括至少一个存储设备;以及Web服务接口,被配置用以执行所述至少一个存储设备的Web可启动的存储功能。
2. 根据权利要求1所述的存储子系统,其中所述Web服务接口 进一步被配置用以发布与所述至少一个存储设备相关联的服务描 述,可经由所述Web服务接口来访问所述至少 一个存储设备。
3. 根据权利要求2所述的存储子系统,其中所述Web服务接口 向中央注册处发布服务描述。
4. 根据权利要求1所述的存储子系统,其中所述Web服务接口 被配置用以验证请求存储子系统。
5. 根据权利要求1所述的存储子系统,其中所述Web服务接口 被配置用以加密提供给请求存储子系统的数据。
6. 根据权利要求1所述的存储子系统,其中所述功能包括向请 求存储子系统复制所述至少 一 个存储设备的数据。
7. 根据权利要求6所述的存储子系统,其中所述Web服务接口 被配置用以将被复制的容量划分成为预定义大小的块,用于稍后在 所述请求存储子系统处结合形成所述容量。
8. 根据权利要求1所述的存储子系统,进一步包括经由所述 Web服务接口不可访问的私有功能。
9. 根据权利要求1所述的存储子系统,其中所述Web服务接口 被配置用以在远程存储子系统处启动存储功能。
10. 根据权利要求1所述的存储子系统,其中所述Web服务接 口进一步包括用于使与所述至少一个存储设备相关联的Web可启动 的服务能够响应于与远程存储子系统的通信来执行的装置。
11. 一种用于执行远程存储活动的方法,包括 识别存储子系统,所述存储子系统具有用于提供对Web可启动的存储功能的访问的Web服务接口 ;使用网络协议来经由网络耦合至所述识别的存储系统;以及 启动所述Web可启动的存储功能的纟丸行。
12. 根据权利要求11所述的方法,其中所述识别存储子系统进 一步包括向中央注册处发送请求关于存储子系统的信息的查询,所述存储 子系统具有用于提供对存储功能的访问的Web服务接口;以及接收响应,所述响应识别具有用于提供对存储功能的访问的Web 服务接口的存储子系统。
13. 根据权利要求11所述的方法,进一步包括在注册处通过存 储子系统来发布识别Web可启动的存储功能的Web服务接口。
14. 根据权利要求13所述的方法,进一步包括记录由存储子系 统发布的Web服务接口 。
15. 根据权利要求14所述的方法,其中所述识别存储子系统进 一步包括在所述注册处接收请求关于存储子系统的信息的查询,所述存储 子系统具有用于提供对存储功能的访问的Web服务接口;以及基于由存储子系统发布的记录的Web服务接口来发送响应,所 述响应识别具有用于提供对存储功能的访问的Web服务接口的存储 子系统。
16. 根据权利要求11所述的方法,其中使用网络协议经由网络 来耦合至所述识别的存储系统进一步包括,使用TCP/IP连接性来耦 合至所述识别的存储子系统。
17. 根据权利要求11所述的方法,其中启动执行所述Web可启 动的存储功能进一步包括验证请求存储子系统。
18. 根据权利要求17所述的方法,其中启动执行所述Web可启 动的存储功能进一步包括加密向所述请求存储子系统提供的数据。
19. 根据权利要求17所述的方法,其中启动执行所述Web可启 动的存储功能进一步包括将容量划分成为预定义大小的块,用于稍后在所述请求存储子系统处结合形成所述容量。
20.—种程序存储设备,包括由处理设备可执行的程序指令,用于执行根据权利要求11至19的任一项所述的用于执行远程存储活动的操作。
全文摘要
一种针对异类存储系统来提供基于Web服务的数据复制的方法、装置和程序存储设备。在存储子系统中提供Web服务接口,以便通过远程请求代理来提供存储子系统的复制功能的访问。Web服务接口还可以验证远程请求代理和数据加密以确保私密性。Web服务接口还可以将被复制的容量划分成为预定义大小的块,用于稍后在远程请求代理处结合形成所述容量。
文档编号G06F17/30GK101305367SQ200680041957
公开日2008年11月12日 申请日期2006年11月16日 优先权日2005年11月29日
发明者M·S·拉杰卡尼-马里扬, R·沃拉弗克 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1