CN100544347C - 在单个系统中支持多个本机网络协议实现 - Google Patents
在单个系统中支持多个本机网络协议实现 Download PDFInfo
- Publication number
- CN100544347C CN100544347C CNB2003801023693A CN200380102369A CN100544347C CN 100544347 C CN100544347 C CN 100544347C CN B2003801023693 A CNB2003801023693 A CN B2003801023693A CN 200380102369 A CN200380102369 A CN 200380102369A CN 100544347 C CN100544347 C CN 100544347C
- Authority
- CN
- China
- Prior art keywords
- client computer
- agreement
- input command
- file storage
- storage client
- 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.)
- Expired - Fee Related
Links
- 230000008859 change Effects 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 2
- 230000003993 interaction Effects 0.000 abstract 1
- 230000006855 networking Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1019—Random or heuristic server selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/10015—Access to distributed or replicated servers, e.g. using brokers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提出了一种将用户请求路由给存储服务器的智能路由器,其能本机处理这个请求而无需仿真。自动路由请求,而不需要用户方任何指令或互动。智能路由器包括一个如存储槽的计算环境和一组智能路由器。这组智能路由器由于呈现单个网络IP地址而对用户呈现为单个实体。在智能路由器接收到请求时,它检查协议类型,将请求传送给一个适当的存储槽客户机。智能路由器不改变请求消息的内容,因此存储槽客户机不会察觉智能路由器的存在。结果,除非需要,任何返回消息不需通过智能路由器。
Description
技术领域
本发明涉及用于异构环境的分布式对象存储系统。具体地说,本发明涉及一种使一些具有不同网络协议的用户能以本机方式(natively)与单个系统通信以得到服务的系统和方法。
背景技术
一个诸如有许多雇员的公司之类的大型企业通常运行许多联网的计算机。这些计算机需要以允许企业内其他计算机访问的方式存储它们的数据。这通常是通过用一个文件系统和文件服务器将共享文件存储在一个公共的存储系统内来实现的。文件系统客户机用一个定义好的网络文件协议与文件服务器通信。在计算机建立文件时,就通过文件服务器将它写到盘上。在同一个或另一个计算机读取这个文件时,数据从盘上读出,通过文件服务器,并随后发给请求访问这个文件的计算机。
在许多情况下,访问文件的计算机是多种多样的,可以运行许多不同的操作系统,诸如Microsoft HP-和它们可以用不同的协议来访问文件服务器,这取决于它们所运行的操作系统。例如,运行Microsoft 的系统倾向于用公用因特网文件系统(CIFS)协议,而运行变体的那些则倾向于用网络文件系统(NFS)协议。然而它们都需要访问同样的文件。即使它们要访问的是不相交的文件集,如果能共享同一个文件服务器也是方便得多。
有一些尝试要建立一个可以用各种网络协议交流的文件服务器。它们被称为网络附加存储(Network Attached Storage:NAS)系统。然而,每个NAS系统是建立在某个最多具有一个本机协议(nativeprotocol)的操作系统上的。Microsoft 上的CIFS服务器和(或任何其他变体)上的NFS服务器被认为是相应协议的“本机”实现。
因此,NAS系统必须通过仿真来处理其他协议。例如,仿真的CIFS和仿真的NFS已经由Network Appliance网络附加存储产品实现。本机的CIFS和仿真的NFS已经由IBM的网络附加存储NAS 200产品实现。仿真的CIFS和本机的NFS已经由Veritas Serv NAS系统实现。
通常,仿真的协议在功能和/或性能上不完全与本机实现兼容,从而导致运行和通信上的困难。此外,需要花费一定时间和精力来开发仿真器,因此在引进新协议或现有协议的新版本时,NAS系统可能至少在一段时间内不支持它。
应付这些问题的一种方法曾经是通过使用一个异构文件系统(heterogeneous file system:HFS)。这样一个系统允许在一些异构系统之间进行文件共享,使得所有文件都可以从它的文件系统客户机(HFS客户机)访问。这些HFS客户机可以运行不同的操作系统,各有各的本机网络协议。因此,这些客户机对于它们各自的协议起着本机服务器的作用。
然而,这些HFS客户机是具有不同网络IP地址的独立系统。因此,一个用户就必须知道他的计算机所用的协议,每个HFS客户机支持的协议,并特别将请求定向到相应的HFS客户机。更为不方便的是,关于HFS客户机的信息可能随着HFS客户机成为不可用或被升级和替换而是动态变化的。此外,由于在通过HFS客户机再到HFS服务器的过程中有额外的跳跃(hop),性能可能较差。
此外,在单个文件服务器有太多的数据需处理时,需要用多个服务器,而用户必须知道哪个文件服务器具有他们所需要的数据。在使用多个服务器时,没有一种简便的方式来平衡这些服务器的负荷。
因此需要的是一种对用户表现为单个实体(也就是,它呈现单个系统映象)的系统,它可以用有效和本机的方式处理所有他们的业务请求(即,文件),无论他们用的是什么协议和他们的文件在哪里。对这样一种系统的需要在此以前一直没有得到满足。
发明内容
本发明满足了这个需要,提供了一种方法、计算机程序产品和系统。
本发明最好用新近开发的Storage TankTM系统作为异构文件系统(HFS),这种新近开发的系统可参见“IBM Storage TankTM ADistributed Storage system”2002年1月24日,网址为<httc://www.almaden.IBM.com/cs/storagesystems/stortank/ExtStorageTankpaper 01_24_02.pdf>。
本发明的系统最好包括一个HFS(特别是Storage TankTM)和一个或多个智能路由器。各HFS客户机对于它们各自的网络协议起着本机服务器的作用。例如Microsoft HFS客户机和HFS客户机可以分别起CIFS服务器和NFS服务器的作用。然而,Microsoft 和的HFS客户机是具有不同网络IP地址的独立系统。因此,如果没有智能路由器,用户就必须知道他的计算机用的协议、每个HFS客户机支持的协议,并特别将请求定向到相应的HFS客户机。智能路由器自动将用户定向到正确的HFS客户机,而不需要用户方进行指令或交互。智能路由器将用户定向到可能提供良好性能的适当的HFS客户机。
优选的是,智能路由器对用户表现为具有单个网络IP地址的单个实体。在智能路由器接收到请求时,它检查诸如是公用因特网文件系统(CIFS)还是网络文件系统(NFS)之类的协议类型,将请求路由给适当的HFS客户机中的一个HFS客户机。智能路由器将CIFS请求转发给CIFS服务器并将NFS请求定向到NFS服务器。
如前所述,这种方法可能会有性能问题,因为在到达数据的路径中有一个额外的服务器,增加了响应时间。因此,本发明最好用例如Storage TankTM系统(在这里称为ST或存储槽系统)作为HFS。在ST内,用一个存储网络将HFS客户机(ST客户机)直接接到存储盘上。还通过另一个网络将它们接到一组元数据服务器(ST服务器)上。
ST协议是一个在ST客户机与ST服务器之间通信所用的优选协议。这个协议实现锁定和数据一致性模型,允许将存储槽分布式存储系统看作为单个文件系统并使其能够如单个文件系统那样进行操作。ST客户机访问ST服务器只是要读元数据和得知所关心的数据的位置。有了元数据信息,ST客户机就可直接访问数据。从ST客户机与数据之间的路径中除去服务器可以实现快得多并且高效得多的数据传送连接。
在一个优选实施例中,这种系统用一组智能路由器与一个异构文件共享环境来是支持多个网络产品的单个系统映象体系结构。这些智能路由器一起对用户呈现单个网络IP地址,并执行基于协议的路由。智能路由器允许系统体系结构具有对于每个服务器类型的“本机”协议实现,而不是一些协议的仿真形式。智能路由器促成了一种允许多个异构用户共享单个文件名空间内的所有文件的系统体系结构。
ST客户机将所有的元数据操作定向到ST服务器,还将所有的数据操作定向到附着在一个高速网络上的存储设备。此外,ST客户机使对用户的操作系统(和在这系统上运行的任何应用程序)可见的元数据看来与从本机的本地附着文件系统中读出的元数据相同。
在消息或请求作为输入到达系统时,智能路由器确定哪个协议与用户匹配,并将这个消息路由给适当的ST客户机。在ST客户机检索数据时,数据不一定要通过智能路由器返回给用户。然而,在其他实施例中,如果需要的话,检索得到的数据可以通过智能路由器进行路由。
在智能路由器的这个实现中,一个服务器工具(server appliance)只收听所选的端口,例如CIFS的端口139,NFS的端口2049。在请求到达其中一个端口时,智能路由器用一个诸如媒体访问(MAC)地址和协议类型之类的源机器唯一标识符确定消息目的地。这保证了相同的ST客户机处理来自相同源机器的所有请求,从而不需要智能路由器维护协议的状态信息。
智能路由器不改变消息内容,因此ST客户机不知道智能路由器的存在。因此,任何返回消息不需要通过智能路由器。为web服务器负载平衡开发的技术可用来使一组相关的智能路由器呈现为具有相同主机名和/或IP地址的单个系统。
为了实现本发明,提供了一种自动执行基于协议将使用输入协议访问文件的输入命令路由到能够提供与输入协议相同的协议的文件存储客户机的方法,所述方法包括下列步骤:确定输入命令的输入协议;标识由多个文件存储客户机提供的多个协议;将输入命令的输入协议与由多个文件存储客户机提供的多个协议相比较;选择能提供与输入协议相同的协议的文件存储客户机而无需仿真;以及将输入命令自动路由给所选的文件存储客户机;其中,所述文件可通过所述多个协议中的任一个来访问。
为了实现本发明,提供了一种自动执行基于协议将使用输入协议访问文件的输入命令路由给能够提供与输入协议相同的协议的文件存储客户机的存储槽系统,所述存储槽系统包括:确定输入命令的输入协议的装置;标识由多个文件存储客户机提供的多个协议的装置;将输入命令的输入协议与由多个文件存储客户机提供的多个协议相比较的装置;选择能提供与输入协议相同的协议的文件存储客户机而无需仿真的装置;以及将输入命令自动路由给所选的文件存储客户机的装置,其中,所述文件可通过所述多个协议中的任一个来访问。
附图说明
从以下说明、权利要求书和附图可以清楚地看到本发明的各个特色功能和获得这些特色功能的方式,其中所标的数字在适当时重复使用,以指出所标项之间的对应情况,在这些附图中:
图1为可以采用本发明的典型操作环境的示意图;
图2为图1的智能路由器的高层体系结构的方框图;以及
图3为例示图1和2的智能路由器的操作方法的过程流程图。
具体实施方式
以下定义和说明提供了与本发明的技术领域有关的背景信息,这有利于理解本发明,但并不用来限制本发明的专利保护范围:
容器(Container):全局名称空间的子树。它对一组存储槽对象分组,用来执行负载平衡和管理。
IP网络(IP Network):因特网协议网络。IP规定了也称为数据报的分组的格式和寻址方案。大多数网络将IP与一个建立目的地与信源之间的虚拟连接的称为传输控制协议(TCP)的高层协议组合在一起。
元数据(Metadata):有关数据的数据,例如指出一个WWW文档的主题的标签。元数据描述例如一个具体的数据集怎样、什么时候和被谁收集,数据是怎样格式化的,以及数据放置在哪里。
本机(Native):指原始形态。例如,许多应用都可以处理各种格式的文件,但一个应用的本机文件格式是它内部使用的格式。对于所有其他格式,这个应用必须首先将文件变换到它的本机格式。
协议(Protocol):所达成的在两个设备之间传输数据的格式。协议确定以下各项:需使用的纠错类型;数据压缩方法(如果有的话);发送设备将怎样指出它已经结束发送消息;以及接收设备将怎样指出它已经接收到消息。
服务器(Server):网络上管理网络资源的计算机或设备。
存储池(Storage Pool):由一个或多个卷组成的集合。它提供对这些卷的逻辑分组,以将空间分配给各容器。一个容器内的文件可以属于不同的存储池。多个容器在单个存储池内可以拥有存储。
卷(Volume):导出的存储设备,可以是一个物理设备或逻辑设备。卷被添加到存储池,并且必须是对所有需要访问卷上的数据的服务器和客户机可访问的。
图1例示了利用智能路由器10的存储槽系统100的典型体系结构。无论是单独工作或作为一个组工作,智能路由器10在网络20上对用户15呈现为单个网络IP地址,并执行基于协议的路由,以实现支持多个网络协议的单个系统体系结构。
智能路由器10包括一个软件编程代码或计算机程序产品,通常植入或安装在一个主机服务器上。或者,也可以将智能路由器10保存在一个诸如软盘、CD、硬盘驱动器之类的适当存储媒体上。虽然将结合WWW对系统10进行说明,但智能路由器10可以与可能已从WWW和/或其他来源得到的项的独立数据库一起使用。
智能路由器10接到一个由存储槽客户机30、35、40、45、50组成的块25上。在存储槽客户机块25内的若干不同的存储槽客户机都对智能路由器10可用。每个存储槽客户机可以使用不同的操作系统或协议。智能路由器10允许对于每个服务器类型的具有“本机”协议实现的系统体系结构,而不是一些协议的仿真形式。作为一个例子,存储槽客户机30使用操作系统,存储槽客户机35使用操作系统,存储槽客户机40使用HP/操作系统,存储槽客户机45使用操作系统,而存储槽客户机50使用Microsoft 2000操作系统。
所示的操作系统的类型指出智能路由器10可以适应的许多种类的操作系统。存储槽客户机30、35、40、45、50各运行一个在存储槽客户机上虚拟文件系统接口(VFS)处实现、并作为一个在Microsoft 存储槽客户机上可安装的文件系统(IFS)的存储槽客户机软件。因此,存储槽客户机30、35、40、45、50示为VFS或IFS。
存储槽客户机块25通过存储网络60共享多个存储池55内的数据。存储槽客户机块25还接到元数据服务器65、70、75上。元数据服务器65、70、75群集在一起,形成一个元数据服务器群80。存储在多个存储池55内的数据的元数据存储在元数据存储装置85内。存储计算机数据的存储系统和设备可以与对存储槽元数据进行存储的存储系统或设备分开。
图1的存储槽系统100用了两个逻辑网络,控制网络90和存储网络60。存储槽客户机25将所有的元数据操作通过控制网络90定向到存储槽服务器80。存储槽客户机30、35、40、45、50使对用户15的操作系统可见的元数据呈现为与从本机的本地附着文件系统读出的元数据相同。控制网络90传送的只是消息和元数据。在控制网络90上传送的数据的量很小。
存储槽客户机块25和元数据服务器80、多个存储池55、元数据存储装置85都接到高速存储网络60上。存储网络60用于所有的数据传送。这从数据通路中除去了存储槽服务器80,从而减小了性能开销,消除了可能的数据传送瓶颈。
存储槽系统100支持用于其文件数据的多个存储池55和用于元数据存储装置85的多个存储池。与大多数文件系统不同,存储槽系统100分开存储元数据和数据。包括诸如文件名、生成日期和访问控制信息之类的标准文件元数据在内的元数据还含有文件数据在盘上的位置(扩展表)。
元数据保存在可与数据存储装置在相同存储网络上或在一个独立存储网络上的高性能、高可用专用服务器存储装置内,并且可以被这个群内所有存储槽服务器访问。元数据不是由存储槽客户机30、35、40、45、50直接访问,而是由控制网络90上的存储槽协议进行服务。
任何给定文件的数据块存储在一个存储池内的一些盘上。数据盘在存储网络60上配置成可由存储槽客户机30、35、40、45、50和存储槽服务器80访问。在许多情况下,存储网络60可以配置成具有一个供存储槽数据盘、客户机和服务器用的区域。如果需要,还可以建立若干个区域,这些区域只可由存储槽服务器和存储槽客户机的子集排他性地访问,以满足用户15的特殊安全性要求。
用户15通过网络20与智能路由器10通信。网络20可以是因特网、局域网或任何其他网络。
系统可以具有一个诸如服务器65的存储槽服务器、诸如服务器80的一个服务器群或者服务器80的多个群。成群的存储槽服务器提供负载平衡、故障转移(fail-over)处理和改善的可缩放性。成群的存储槽服务器80在它们自己的高速网络或在用来与存储槽客户机30、35、40、45、50通信的控制网络90上互连。
存储槽协议是用来在存储槽客户机30、35、40、45、50与存储槽服务器80之间进行通信的协议。这个协议实现允许多个存储池(或存储槽分布式存储系统)55呈现为单个本地文件系统并如单个本地文件系统那样进行操作的锁定和数据一致性模型。存储槽协议的一个目的是提供分布式环境内存储槽客户机块25与存储槽服务器80之间的很强的数据一致性。
智能路由器10通过一个网络,优选的是控制网络90,与各存储槽客户机30、35、40、45、50连接。在有消息或请求从用户15到达时,智能路由器10确定哪个协议与用户15所用的协议匹配,并将这个消息或请求路由给存储槽客户机块25内的适当存储槽客户机。例如,用户15运行操作系统,并希望访问存储在多个存储池55内的文件内的数据。智能路由器10从用户15的消息中识别出用户正在使用NFS协议。因此,智能路由器10将这个文件访问请求路由给一个支持NFS协议的存储槽客户机45。
图2示出了智能路由器10的高层体系结构。智能路由器10通常包括协议确定模块205、客户机能力表210和存储槽客户机选择模块215。可以有许多存储槽客户机对智能路由器10可用,如存储槽客户机1(225)、存储槽客户机2(230),直到存储槽客户机n(235)所示。
运行中(参见图3所示的方法300),在步骤305,用户15向系统10发出请求或发送消息。在步骤310,协议确定模块205接收到这个请求或消息,并确定它的协议。
智能路由器10只收听所选的端口,例如,CIFS的端口139和NFS的端口2049。在一个请求到达其中一个端口时,智能路由器10用一个诸如媒体访问(MAC)地址和协议类型之类的源机器唯一标识符确定消息目的地。这保证了相同的存储槽客户机225、230或235处理来自相同上级客户机15的所有请求。协议类型可以例如是公用因特网文件系统(CIFS)或网络文件系统(NFS)。在一个优选实施例中,存储槽客户机225、230和235接到一个客户机可用性和性能模块236上,模块236再接到存储槽客户机选择模块215上。存储槽客户机选择模块215输出标为237的所选的客户机。
在步骤320,协议确定模块205将这个消息的协议信息发送给存储槽客户机选择模块215。在步骤325,存储槽客户机选择模块215将消息协议与列在客户机能力表210内的协议相比较。客户机能力表210描述了存储槽系统100内可用的存储槽客户机225、230、235以及这些存储槽客户机支持的本机协议。
如果在判定步骤330中,支持该消息协议的存储槽客户机225、230、235的数量为1,则智能路由器10在步骤335中将来自用户15的消息传送给这个存储槽客户机。例如,用户15运行的是操作系统。在判定步骤330,智能路由器10只找到一个运用操作系统所用的NFS协议的“本机”实现的存储槽客户机,例如为存储槽客户机2(230)。智能路由器10于是就将来自用户15的消息路由给存储槽客户机2(230)。
在判定步骤330,智能路由器10可能找到不止一个运用用户15的协议的“本机”版本的存储槽客户机。如果是这样,在步骤340中,智能路由器10选择这些适当的存储槽客户机中的一个客户机。
例如,用户15运行的是Microsoft 操作系统。在步骤330,系统10找到两个存储客户机本机支持Microsoft CIFS协议,例如为存储槽客户机1(225)和存储槽客户机2(230)。在本发明的一个优选实施例中,智能路由器10从这些可能的存储槽客户机中随机选择一个存储槽客户机,例如存储槽客户机1(225),作为这个消息或请求的接收方。
在另一个实施例中,智能路由器10可以记住用户15所用的先前存储槽客户机,并在步骤340选择这个存储槽客户机,例如存储槽客户机2(225)。为了记住先前的存储槽客户机,智能路由器10用一个诸如媒体访问地址和消息协议类型之类的源机器唯一标识符来确定接收该消息或请求的适当服务器。这保证了相同的存储槽客户机处理来自相同上级客户机85的所有请求。因此,智能路由器10不需要维护任何协议状态信息。
在另一个实施例中,智能路由器10可以顺序选择(即,旋转通过)支持适当的本机协议的存储槽客户机,也可以以任何其他适当方式选择接收消息的存储槽客户机。
一旦选定了存储槽客户机,在步骤345中,智能路由器10将消息路由给所选的存储槽客户机。智能路由器10不改变发给存储槽客户机的消息内容。因此,任何返回信息就不用通过智能路由器10进行路由。然而,如果需要的话,返回信息也可以通过智能路由器进行路由。
虽然以上只是以存储区域网为例对本发明进行说明,但本发明显然也适用于任何允许在异构系统之间进行文件共享的文件系统。
Claims (26)
1.一种自动执行基于协议将使用输入协议访问文件的输入命令路由到能够提供与输入协议相同的协议的文件存储客户机的方法,所述方法包括下列步骤:
确定输入命令的输入协议;
标识由多个文件存储客户机提供的多个协议;
将输入命令的输入协议与由多个文件存储客户机提供的多个协议相比较;
选择能提供与输入协议相同的协议的文件存储客户机而无需仿真;以及
将输入命令自动路由给所选的文件存储客户机;
其中,所述文件可通过所述多个协议中的任一个来访问。
2.如权利要求1所述的方法,其中所述多个协议是本机提供的,无需仿真。
3.如权利要求1所述的方法,其中所述多个协议中的至少一些是不同的。
4.如权利要求1所述的方法,其中所述自动路由输入命令的步骤包括自动路由输入命令而无需在发出输入命令的用户方的交互。
5.如权利要求4所述的方法,其中所述用户方包括一个计算机程序。
6.如权利要求4所述的方法,其中所述自动路由输入命令的步骤包括使用对用户呈现为单个实体的路由器系统。
7.如权利要求6所述的方法,其中所述自动路由输入命令的步骤包括用单个网络地址建立与文件存储客户机的连接。
8.如权利要求1所述的方法,其中如果确定有多个文件存储客户机提供所述输入协议,则选择所述文件存储客户机之一。
9.如权利要求8所述的方法,其中所述选择所述文件存储客户机之一的步骤包括随机选择一个文件存储客户机。
10.如权利要求8所述的方法,其中所述选择所述文件存储客户机之一的步骤包括选择与发出输入命令的用户上次使用的相同的存储槽客户机。
11.如权利要求8所述的方法,其中所述选择所述文件存储客户机之一的步骤包括顺序选择文件存储客户机。
12.如权利要求1所述的方法,所述方法还包括存储由文件存储客户机提供的多个协议的列表。
13.如权利要求4所述的方法,其中所述自动路由输入命令的步骤包括自动路由输入命令而不改变输入命令内容。
14.一种自动执行基于协议将使用输入协议访问文件的输入命令路由给能够提供与输入协议相同的协议的文件存储客户机的存储槽系统,所述存储槽系统包括:
确定输入命令的输入协议的装置;
标识由多个文件存储客户机提供的多个协议的装置;
将输入命令的输入协议与由多个文件存储客户机提供的多个协议相比较的装置;
选择能提供与输入协议相同的协议的文件存储客户机而无需仿真的装置;以及
将输入命令自动路由给所选的文件存储客户机的装置,
其中,所述文件可通过所述多个协议中的任一个来访问。
15.如权利要求14所述的存储槽系统,其中所述多个协议是本机提供的,无需仿真。
16.如权利要求14所述的存储槽系统,其中所述多个协议中的至少一些是不同的。
17.如权利要求14所述的存储槽系统,其中所述自动路由输入命令的装置自动路由输入命令而无需在发出输入命令的用户方的交互。
18.如权利要求17所述的存储槽系统,其中所述用户方包括一个计算机程序。
19.如权利要求17所述的存储槽系统,其中所述自动路由输入命令的装置使用对用户呈现为单个实体的路由器系统。
20.如权利要求19所述的存储槽系统,其中所述自动路由输入命令的装置使用单个网络地址建立与文件存储客户机的连接。
21.如权利要求14所述的存储槽系统,其中如果确定有多个文件存储客户机提供所述输入协议,所述选择装置选择所述文件存储客户机之一。
22.如权利要求21所述的存储槽系统,其中所述选择装置随机选择文件存储客户机。
23.如权利要求21所述的存储槽系统,其中所述选择装置选择与发出输入命令的用户上次使用的相同的存储槽客户机。
24.如权利要求21所述的存储槽系统,其中所述选择装置顺序选择文件存储客户机。
25.如权利要求14所述的存储槽系统,所述存储槽系统还包括一个存储由文件存储客户机提供的多个协议的列表的数据存储器。
26.如权利要求17所述的存储槽系统,其中所述自动路由输入命令的装置自动路由输入命令而不改变输入命令内容。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/304,660 | 2002-11-26 | ||
US10/304,660 US7797392B2 (en) | 2002-11-26 | 2002-11-26 | System and method for efficiently supporting multiple native network protocol implementations in a single system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1742472A CN1742472A (zh) | 2006-03-01 |
CN100544347C true CN100544347C (zh) | 2009-09-23 |
Family
ID=32325272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003801023693A Expired - Fee Related CN100544347C (zh) | 2002-11-26 | 2003-10-15 | 在单个系统中支持多个本机网络协议实现 |
Country Status (10)
Country | Link |
---|---|
US (1) | US7797392B2 (zh) |
EP (1) | EP1566035B1 (zh) |
JP (1) | JP4521278B2 (zh) |
KR (1) | KR100834361B1 (zh) |
CN (1) | CN100544347C (zh) |
AT (1) | ATE373918T1 (zh) |
AU (1) | AU2003278310A1 (zh) |
DE (1) | DE60316466T2 (zh) |
TW (1) | TWI251148B (zh) |
WO (1) | WO2004049670A2 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050114595A1 (en) * | 2003-11-26 | 2005-05-26 | Veritas Operating Corporation | System and method for emulating operating system metadata to provide cross-platform access to storage volumes |
US7844691B2 (en) * | 2004-12-30 | 2010-11-30 | Xstor Systems, Inc. | Scalable distributed storage and delivery |
US7730038B1 (en) * | 2005-02-10 | 2010-06-01 | Oracle America, Inc. | Efficient resource balancing through indirection |
US20060277268A1 (en) * | 2005-06-02 | 2006-12-07 | Everhart Craig F | Access method for file systems |
US7366808B2 (en) * | 2005-11-23 | 2008-04-29 | Hitachi, Ltd. | System, method and apparatus for multiple-protocol-accessible OSD storage subsystem |
US20080065698A1 (en) * | 2006-08-25 | 2008-03-13 | Steven Michael French | Method and apparatus for emulating alternate data streams across heterogeneous file systems |
US7930263B2 (en) | 2007-01-12 | 2011-04-19 | Health Information Flow, Inc. | Knowledge utilization |
DE602007004970D1 (de) * | 2007-07-06 | 2010-04-08 | Ntt Docomo Inc | Middleware zur Verwendung in einer Client-Server-Architektur |
CN101909257B (zh) * | 2009-06-04 | 2013-08-21 | 中兴通讯股份有限公司 | M2m平台实现多种承载协议并发接入的方法及系统 |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
US9420049B1 (en) | 2010-06-30 | 2016-08-16 | F5 Networks, Inc. | Client side human user indicator |
US10230566B1 (en) | 2012-02-17 | 2019-03-12 | F5 Networks, Inc. | Methods for dynamically constructing a service principal name and devices thereof |
WO2013163648A2 (en) | 2012-04-27 | 2013-10-31 | F5 Networks, Inc. | Methods for optimizing service of content requests and devices thereof |
CN103442045B (zh) * | 2013-08-19 | 2016-11-23 | 华讯方舟科技有限公司 | 一种智能设备访问无线路由器的方法 |
US9325771B2 (en) * | 2013-09-11 | 2016-04-26 | Theplatform, Llc | Systems and methods for data management |
US10187317B1 (en) | 2013-11-15 | 2019-01-22 | F5 Networks, Inc. | Methods for traffic rate control and devices thereof |
CN104065513B (zh) * | 2014-06-30 | 2017-09-12 | 华为技术有限公司 | 一种智能路由器管理方法以及相关用户终端 |
US9807167B2 (en) * | 2014-09-24 | 2017-10-31 | Wipro Limited | System and method for optimally managing heterogeneous data in a distributed storage environment |
CN109684285B (zh) * | 2018-12-13 | 2021-10-29 | 郑州云海信息技术有限公司 | 一种用户态网络文件系统文件锁方法、装置及设备 |
EP4427143A1 (en) * | 2021-11-03 | 2024-09-11 | NetApp, Inc. | Distributed storage systems and methods to provide change tracking integrated with scalable databases |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1121216A (zh) * | 1994-03-07 | 1996-04-24 | 国际商业机器公司 | 在一个分布式文件系统中高效高速缓存的系统与方法 |
CN1286774A (zh) * | 1998-09-24 | 2001-03-07 | 镜像互联网公司 | 一个互联网缓存系统和方法及其这个系统中的一个结构 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0213456A (ja) | 1988-06-30 | 1990-01-17 | Terumo Corp | 使用済の医療用針の針先閉塞処理装置 |
JPH04354438A (ja) | 1991-05-31 | 1992-12-08 | Toshiba Corp | マルチプロトコルlan間接続装置 |
US5634010A (en) * | 1994-10-21 | 1997-05-27 | Modulus Technologies, Inc. | Managing and distributing data objects of different types between computers connected to a network |
JPH08256167A (ja) | 1995-03-17 | 1996-10-01 | Nippon Telegr & Teleph Corp <Ntt> | グループ通信方式および方法 |
US6195359B1 (en) * | 1997-10-16 | 2001-02-27 | International Business Machines Corporation | Intelligent router for remote internet access |
US6516351B2 (en) * | 1997-12-05 | 2003-02-04 | Network Appliance, Inc. | Enforcing uniform file-locking for diverse file-locking protocols |
US6269380B1 (en) * | 1998-08-31 | 2001-07-31 | Xerox Corporation | Property based mechanism for flexibility supporting front-end and back-end components having different communication protocols |
US6199112B1 (en) * | 1998-09-23 | 2001-03-06 | Crossroads Systems, Inc. | System and method for resolving fibre channel device addresses on a network using the device's fully qualified domain name |
JP2000148651A (ja) | 1998-11-10 | 2000-05-30 | Hitachi Ltd | 共有ディスク装置 |
JP2001034567A (ja) * | 1999-07-16 | 2001-02-09 | Hitachi Ltd | 外部記憶サブシステムおよび外部記憶サブシステムの制御方法 |
CA2343970A1 (en) | 1999-07-21 | 2001-01-25 | Kaneka Corporation | Process for producing optically active pyridineethanol derivatives |
CA2284947C (en) * | 1999-10-04 | 2005-12-20 | Storagequest Inc. | Apparatus and method for managing data storage |
US6564228B1 (en) * | 2000-01-14 | 2003-05-13 | Sun Microsystems, Inc. | Method of enabling heterogeneous platforms to utilize a universal file system in a storage area network |
US6862648B2 (en) * | 2000-10-30 | 2005-03-01 | Sun Microsystems, Inc. | Interface emulation for storage devices |
US6795824B1 (en) * | 2000-10-31 | 2004-09-21 | Radiant Data Corporation | Independent storage architecture |
WO2002037225A2 (en) * | 2000-11-02 | 2002-05-10 | Pirus Networks | Switching system |
US6891804B2 (en) * | 2000-12-15 | 2005-05-10 | Sun Microsystems, Inc. | Method and apparatus for desirable network components |
JP4187403B2 (ja) | 2000-12-20 | 2008-11-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ記録システム、データ記録方法およびネットワークシステム |
US6907457B2 (en) * | 2001-01-25 | 2005-06-14 | Dell Inc. | Architecture for access to embedded files using a SAN intermediate device |
US20020129216A1 (en) * | 2001-03-06 | 2002-09-12 | Kevin Collins | Apparatus and method for configuring available storage capacity on a network as a logical device |
US6915397B2 (en) * | 2001-06-01 | 2005-07-05 | Hewlett-Packard Development Company, L.P. | System and method for generating point in time storage copy |
-
2002
- 2002-11-26 US US10/304,660 patent/US7797392B2/en not_active Expired - Fee Related
-
2003
- 2003-10-15 JP JP2004554631A patent/JP4521278B2/ja not_active Expired - Fee Related
- 2003-10-15 KR KR1020057008165A patent/KR100834361B1/ko not_active IP Right Cessation
- 2003-10-15 WO PCT/GB2003/004448 patent/WO2004049670A2/en active IP Right Grant
- 2003-10-15 EP EP03769620A patent/EP1566035B1/en not_active Expired - Lifetime
- 2003-10-15 AT AT03769620T patent/ATE373918T1/de not_active IP Right Cessation
- 2003-10-15 AU AU2003278310A patent/AU2003278310A1/en not_active Abandoned
- 2003-10-15 DE DE60316466T patent/DE60316466T2/de not_active Expired - Lifetime
- 2003-10-15 CN CNB2003801023693A patent/CN100544347C/zh not_active Expired - Fee Related
- 2003-11-25 TW TW092133024A patent/TWI251148B/zh not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1121216A (zh) * | 1994-03-07 | 1996-04-24 | 国际商业机器公司 | 在一个分布式文件系统中高效高速缓存的系统与方法 |
CN1286774A (zh) * | 1998-09-24 | 2001-03-07 | 镜像互联网公司 | 一个互联网缓存系统和方法及其这个系统中的一个结构 |
Also Published As
Publication number | Publication date |
---|---|
EP1566035B1 (en) | 2007-09-19 |
DE60316466D1 (de) | 2007-10-31 |
JP4521278B2 (ja) | 2010-08-11 |
DE60316466T2 (de) | 2008-06-19 |
US7797392B2 (en) | 2010-09-14 |
KR100834361B1 (ko) | 2008-06-02 |
KR20050071673A (ko) | 2005-07-07 |
CN1742472A (zh) | 2006-03-01 |
US20040103206A1 (en) | 2004-05-27 |
WO2004049670A3 (en) | 2004-12-23 |
TWI251148B (en) | 2006-03-11 |
EP1566035A2 (en) | 2005-08-24 |
AU2003278310A1 (en) | 2004-06-18 |
AU2003278310A8 (en) | 2004-06-18 |
ATE373918T1 (de) | 2007-10-15 |
WO2004049670A2 (en) | 2004-06-10 |
TW200421107A (en) | 2004-10-16 |
JP2006507591A (ja) | 2006-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100544347C (zh) | 在单个系统中支持多个本机网络协议实现 | |
US10791181B1 (en) | Method and apparatus for web based storage on-demand distribution | |
US6470382B1 (en) | Method to dynamically attach, manage, and access a LAN-attached SCSI and netSCSI devices | |
Tanenbaum et al. | An overview of the Amoeba distributed operating system | |
JP3762846B2 (ja) | サーバのグループに関する作業負荷管理を行うデータ処理装置および方法 | |
CN101449559B (zh) | 分布式存储器 | |
CN101821725B (zh) | 带有目标侧识别和路由表上载的存储区域网络 | |
EP0329779B1 (en) | Session control in network for digital data processing system which supports multiple transfer protocols | |
US9219705B2 (en) | Scaling network services using DNS | |
CN1870594B (zh) | 用于动态地选择最佳消息路径的系统、方法和服务 | |
CN100518125C (zh) | 通信装置、系统和方法 | |
WO2002025446A2 (en) | Method and system of allocating storage resources in a storage area network | |
JP2003044332A (ja) | 記憶装置システム | |
CN102053982A (zh) | 一种数据库信息管理方法和设备 | |
KR20150091843A (ko) | 분산 처리 시스템 및 이의 동작 방법 | |
WO2007134918A1 (en) | Distributed storage | |
US20040193716A1 (en) | Client distribution through selective address resolution protocol reply | |
CN100390776C (zh) | 集群计算机系统中的组访问专用化的方法、设备和系统 | |
EP1521417B1 (en) | Network converter and information processing system | |
US20040143648A1 (en) | Short-cut response for distributed services | |
CN102077186A (zh) | 传送存储盘映像的方法和系统 | |
US9544371B1 (en) | Method to discover multiple paths to disk devices cluster wide | |
EP1584030A2 (en) | Accessing computational grids | |
US20120265801A1 (en) | Out of order assembling of data packets | |
EP1860846B1 (en) | Method and devices for managing distributed storage |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090923 Termination date: 20181015 |
|
CF01 | Termination of patent right due to non-payment of annual fee |