CN100544347C - 在单个系统中支持多个本机网络协议实现 - Google Patents

在单个系统中支持多个本机网络协议实现 Download PDF

Info

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
Application number
CNB2003801023693A
Other languages
English (en)
Other versions
CN1742472A (zh
Inventor
温莎·为善·许
杰沙卡·穆塞达斯·蒙诺
奥尼斯蒂·成·杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1742472A publication Critical patent/CN1742472A/zh
Application granted granted Critical
Publication of CN100544347C publication Critical patent/CN100544347C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1019Random or heuristic server selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access 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)与单个系统通信以得到服务的系统和方法。
背景技术
一个诸如有许多雇员的公司之类的大型企业通常运行许多联网的计算机。这些计算机需要以允许企业内其他计算机访问的方式存储它们的数据。这通常是通过用一个文件系统和文件服务器将共享文件存储在一个公共的存储系统内来实现的。文件系统客户机用一个定义好的网络文件协议与文件服务器通信。在计算机建立文件时,就通过文件服务器将它写到盘上。在同一个或另一个计算机读取这个文件时,数据从盘上读出,通过文件服务器,并随后发给请求访问这个文件的计算机。
在许多情况下,访问文件的计算机是多种多样的,可以运行许多不同的操作系统,诸如
Figure C200380102369D00051
Microsoft 
Figure C200380102369D00052
HP-
Figure C200380102369D00055
它们可以用不同的协议来访问文件服务器,这取决于它们所运行的操作系统。例如,运行Microsoft 
Figure C200380102369D00056
的系统倾向于用公用因特网文件系统(CIFS)协议,而运行变体的那些则倾向于用网络文件系统(NFS)协议。然而它们都需要访问同样的文件。即使它们要访问的是不相交的文件集,如果能共享同一个文件服务器也是方便得多。
有一些尝试要建立一个可以用各种网络协议交流的文件服务器。它们被称为网络附加存储(Network Attached Storage:NAS)系统。然而,每个NAS系统是建立在某个最多具有一个本机协议(nativeprotocol)的操作系统上的。Microsoft 
Figure C200380102369D00058
上的CIFS服务器和
Figure C200380102369D00059
(或任何其他变体)上的NFS服务器被认为是相应协议的“本机”实现。
因此,NAS系统必须通过仿真来处理其他协议。例如,仿真的CIFS和仿真的NFS已经由Network Appliance网络附加存储产品实现。本机的CIFS和仿真的NFS已经由IBM的网络附加存储NAS 200产品实现。仿真的CIFS和本机的NFS已经由Veritas Serv
Figure C200380102369D00061
 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 
Figure C200380102369D00071
 HFS客户机和
Figure C200380102369D00072
HFS客户机可以分别起CIFS服务器和NFS服务器的作用。然而,Microsoft 
Figure C200380102369D00073
的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使用
Figure C200380102369D00101
操作系统,存储槽客户机35使用
Figure C200380102369D00102
操作系统,存储槽客户机40使用HP/
Figure C200380102369D00103
操作系统,存储槽客户机45使用
Figure C200380102369D00104
操作系统,而存储槽客户机50使用Microsoft 
Figure C200380102369D00105
 2000操作系统。
所示的操作系统的类型指出智能路由器10可以适应的许多种类的操作系统。存储槽客户机30、35、40、45、50各运行一个在
Figure C200380102369D00106
存储槽客户机上虚拟文件系统接口(VFS)处实现、并作为一个在Microsoft 
Figure C200380102369D00111
存储槽客户机上可安装的文件系统(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运行
Figure C200380102369D00121
操作系统,并希望访问存储在多个存储池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运行的是
Figure C200380102369D00131
操作系统。在判定步骤330,智能路由器10只找到一个运用
Figure C200380102369D00132
操作系统所用的NFS协议的“本机”实现的存储槽客户机,例如为存储槽客户机2(230)。智能路由器10于是就将来自用户15的消息路由给存储槽客户机2(230)。
在判定步骤330,智能路由器10可能找到不止一个运用用户15的协议的“本机”版本的存储槽客户机。如果是这样,在步骤340中,智能路由器10选择这些适当的存储槽客户机中的一个客户机。
例如,用户15运行的是Microsoft 
Figure C200380102369D00133
操作系统。在步骤330,系统10找到两个存储客户机本机支持Microsoft 
Figure C200380102369D00141
 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所述的存储槽系统,其中所述自动路由输入命令的装置自动路由输入命令而不改变输入命令内容。
CNB2003801023693A 2002-11-26 2003-10-15 在单个系统中支持多个本机网络协议实现 Expired - Fee Related CN100544347C (zh)

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 (19)

* Cited by examiner, † Cited by third party
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
EP2853074B1 (en) 2012-04-27 2021-03-24 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 郑州云海信息技术有限公司 一种用户态网络文件系统文件锁方法、装置及设备

Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 外部記憶サブシステムおよび外部記憶サブシステムの制御方法
JP4753273B2 (ja) 1999-07-21 2011-08-24 株式会社カネカ 光学活性ピリジンエタノール誘導体の製造方法
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
AU2002230585A1 (en) * 2000-11-02 2002-05-15 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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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
EP1566035A2 (en) 2005-08-24
TWI251148B (en) 2006-03-11
US20040103206A1 (en) 2004-05-27
CN1742472A (zh) 2006-03-01
US7797392B2 (en) 2010-09-14
JP2006507591A (ja) 2006-03-02
KR20050071673A (ko) 2005-07-07
TW200421107A (en) 2004-10-16
AU2003278310A8 (en) 2004-06-18
WO2004049670A2 (en) 2004-06-10
EP1566035B1 (en) 2007-09-19
ATE373918T1 (de) 2007-10-15
DE60316466D1 (de) 2007-10-31
JP4521278B2 (ja) 2010-08-11
KR100834361B1 (ko) 2008-06-02
AU2003278310A1 (en) 2004-06-18
WO2004049670A3 (en) 2004-12-23
DE60316466T2 (de) 2008-06-19

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
CN101821725B (zh) 带有目标侧识别和路由表上载的存储区域网络
CN101449559B (zh) 分布式存储器
US9219705B2 (en) Scaling network services using DNS
CN1870594B (zh) 用于动态地选择最佳消息路径的系统、方法和服务
US20090222509A1 (en) System and Method for Sharing Storage Devices over a Network
CN100518125C (zh) 通信装置、系统和方法
CN102708165A (zh) 分布式文件系统中的文件处理方法及装置
WO2002025446A2 (en) Method and system of allocating storage resources in a storage area network
WO1989002129A1 (en) Session control in network for digital data processing system which supports multiple transfer protocols
JP2003044332A (ja) 記憶装置システム
WO2007134918A1 (en) Distributed storage
US20040193716A1 (en) Client distribution through selective address resolution protocol reply
CN100390776C (zh) 集群计算机系统中的组访问专用化的方法、设备和系统
EP1521417B1 (en) Network converter and information processing system
CN102077186A (zh) 传送存储盘映像的方法和系统
US20040143648A1 (en) Short-cut response for distributed services
EP1584030A2 (en) Accessing computational grids
US20120265801A1 (en) Out of order assembling of data packets
US7707263B1 (en) System and method for associating a network address with a storage device
JP2008509467A (ja) 複数のデータベース内に位置する属性によりデータベース・レコードを管理する方法、システム及びコンピュータ・プログラム
JP2003223444A (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
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