CN100403300C - 镜像网络数据以建立虚拟存储区域网络 - Google Patents

镜像网络数据以建立虚拟存储区域网络 Download PDF

Info

Publication number
CN100403300C
CN100403300C CNB028127927A CN02812792A CN100403300C CN 100403300 C CN100403300 C CN 100403300C CN B028127927 A CNB028127927 A CN B028127927A CN 02812792 A CN02812792 A CN 02812792A CN 100403300 C CN100403300 C CN 100403300C
Authority
CN
China
Prior art keywords
server
data
mass
memory unit
network
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 - Lifetime
Application number
CNB028127927A
Other languages
English (en)
Other versions
CN1520564A (zh
Inventor
迈克尔·R·奥赫朗
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.)
EMC Inc
Original Assignee
EMC Inc
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 EMC Inc filed Critical EMC Inc
Publication of CN1520564A publication Critical patent/CN1520564A/zh
Application granted granted Critical
Publication of CN100403300C publication Critical patent/CN100403300C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2079Bidirectional techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • 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/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Holo Graphy (AREA)
  • Aerials With Secondary Devices (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)

Abstract

使用管辖协议(311、321)和镜像引擎(317、327)而没有一个物理的共享存储节点,镜像数据以提供一个虚拟存储区域网络(340)。镜像引擎(317、327)位于网络301中的每个服务器计算机310、320处,以便在服务器接收和执行写操作时在服务器(310、320)的大容量存储设备(319、329)之间镜像数据,这导致每个大容量存储设备包含相同的存储数据。管辖协议(311、321)通过每次不允许一个以上的服务器(310、320)写入一数据文件来防止数据损坏。如果一个服务器(310、320)经历故障、并且不能提供对网络数据的访问,则其它服务器能够服务于所有读请求,是由于所有网络数据可由所有服务器访问。不同于常规的存储区域网络,没有物理的共享存储节点,并且因此,获得和操作虚拟存储区域网络(340)的成本是相对小的。

Description

镜像网络数据以建立虚拟存储区域网络
发明背景技术
1.发明领域
这个发明涉及网络服务器计算机系统,并且尤其涉及对在一系统中用于从计算机故障中恢复的方法的改进,其中该系统提供了一个虚拟存储区域网络,在该网络中多个服务器计算机存取相同的网络数据。
2.背景和相关技术
在网络服务器计算机系统中,有通常由两个或更多服务器支持的多个个人计算机或者用户工作站。为了提供这些计算机系统的连续操作,有必要使计算机系统提供一种用于克服在网络服务器计算机系统内经常发生的错误(faults)和故障(failures)的方法。这通常通过这样来实现:具有冗余的计算机和大容量存储设备,以便如果发生主要服务器计算机或者磁盘驱动器的错误或者故障,则备份服务器计算机或者磁盘驱动器立即可用于接管。
在Major等人的美国专利5,157,663中描述了一种用于实现容错计算机系统的技术。尤其是,Major提供了一种能够从一个文件服务器的计算机或者大容量存储设备的故障中恢复的冗余网络文件服务器系统。文件服务器操作系统运行在网络文件服务器中的每个计算机系统上,并且每个计算机系统协调操作以产生冗余网络文件服务器。这种技术已经被UT Provo的Novell使用以实现它的SFT-III容错文件服务器产品。
近年来,已经发展了被称为“存储区域网络”的容错网络。存储区域网络(“SAN”)用一个公用的或者共享的存储节点连接一企业网中的多个服务器以存储和存取网络数据。在服务器其中之一发生故障的情况下,另一个服务器能够执行否则将由发生故障的(failed)服务器提供的网络服务。
图1说明了一个包含常规的存储区域网络的网络系统的典型体系结构。图1说明了三个为网络101提供网络服务的服务器计算机110、120、和130。尽管在图1中说明了三个服务器,但是网络101可以包含两个服务器或比图1中所示更多的服务器。服务器计算机的这个可变数目取决于正在被服务的网络的个别需要。例如,大的机构可能要求使用几个服务器计算机,而较小的机构可能仅仅要求两个服务器计算机。
在这个配置中,用户工作站(或者个人计算机)102连接到网络101,并且能访问服务器计算机110、120、和130。每个用户工作站通常与一特定服务器计算机有关,但是,在包含存储区域网络的网络系统中,任一服务器实质上能够在需要时为任一工作站提供任何网络服务。用户在用户工作站102处发布对诸如读、写等操作的请求,该请求被传输到相关的服务器计算机110、120、或者130,然后由该相关的服务器计算机使用I/O驱动器113、123、和133执行所请求的操作。服务器110、120、和130在保存在共享存储节点140的磁盘142中的网络数据上执行数据操作。根据如下所述的管辖(policing)协议,每个服务器110、120、和130能访问存储在共享存储节点140处的任何网络数据。图1中的存储区域网络包含物理通信基础结构、和允许服务器计算机110、120、和130与共享存储节点140操作的协议。
每个服务器计算机包含表示管辖协议模块111、121、131的软件,上述管辖协议模块与其它服务器计算机的管辖协议模块协同操作以实现一种管辖协议。管辖协议通过控制所请求操作的操作防止数据损坏。例如,由模块111、121、和131实现的管辖协议可以允许服务器在任何时候对读操作请求做出响应,但是可能仅仅每次允许一个服务器计算机执行写操作请求。
SAN的一个优点是:所有服务器计算机能通过共享的存储节点访问所有网络数据。如果一个服务器经历故障,则工作站能够绕过(bypass)发生故障的服务器,并且向其它服务器发布操作请求。共享的存储节点免除了对在与不同服务器有关的多个存储节点之间镜像(mirroring)数据的需要。然而,存储区域网络具有至少两个值得注意的不利条件(liability):防止它们在市场中变得完全被接受,和使它们不适于许多客户。
首先,SAN要求专门的硬件、即共享的存储节点。存储区域网络的许多潜在用户发现购买和维护一个共享存储节点的费用价格过高。实际上,SAN的许多用户是具有相对大的、有大量服务器的网络的大公司或者其它企业。仅仅需要两或三个服务器的企业可能不会发现实现存储区域网络是节省成本的。
其次,尽管SAN能容忍网络服务器故障,但是它们不是很适于响应或者保护免受其它硬件故障。例如,由于存储区域网络使用单个共享的存储节点,所以与共享存储节点有关的任何故障或者问题能够使SAN离线,并且还可能丢失保存在共享存储节点中的数据。因此,基本的SAN配置没有提供高度的数据完整性,并且在其中数据丢失的风险不可接受的机构中可能不被接受。
发明概述
本发明涉及提供虚拟存储区域网络而不使用一个物理的共享存储节点的计算机网络。依据本发明,网络包含两个或更多服务器,其中每个服务器具有它自己的用于存储网络数据的磁盘。在下面的讨论中,考虑了具有两个服务器的网络。然而,关于两个服务器描述的原理能够被推广到具有两个以上的服务器的网络。
当在网络中的一个用户工作站发布一个写操作请求到服务器中的一个时,接收请求的服务器在它的磁盘处执行写操作,并且使用一个镜像引擎和一个专用的链路以传输该写操作请求到其它服务器。在接收了被镜像的(mirrored)写操作请求后,其它服务器在它的磁盘处执行写操作。这样,写入到一个服务器的磁盘的数据还被写入到另一个服务器的磁盘,由此使网络数据被镜像和存储在两个磁盘处。
由于相同的网络数据存在于两个服务器的磁盘上,所以任何一个服务器都能够对来自任一用户工作站的读操作请求做出响应。在每个服务器处的管辖协议模块协同操作以实现一种管辖协议,其调整每个服务器访问网络数据的定时和优先级。例如,管辖协议能够指定每次只有一个服务器能够在网络数据的特定部分上执行写请求,由此防止数据崩溃。
由于数据被镜像和存储在网络中的每个服务器的磁盘处,所以网络能够很容易容忍服务器其中之一的故障。例如,如果第一个服务器经历了故障,则其它服务器能访问存储在它的磁盘处的所有网络数据,并且它能够使用它自己的磁盘服务于所有操作请求。由于相同的网络数据被存储在网络中的每个服务器的磁盘处,所以从服务器的立场来看,数据好象是已经被保存在一个共享的存储节点中了。因此,本发明提供了一个虚拟存储区域网络,其以类似于实际存储区域网络对故障做出响应的方式来响应网络服务器的操作请求和故障,是由于每个服务器能立即存取所有网络数据。
和常规的存储区域网络相比,本发明中的虚拟存储区域网络和虚拟共享存储节点具有重要的优点。例如,本发明中的网络不要求物理的共享存储节点。因此,与常规的存储区域网络有关的大部分成本被除去了。操作本发明中的网络的降低了的成本使它们可兼容于甚至只具有两个服务器的网络的企业。
此外,在多个服务器的磁盘中镜像和存储相同的网络数据,和使用一个物理的共享存储节点相对比,导致本发明中的网络显著地比常规的存储区域网络更能容忍磁盘故障。例如,如果依据本发明操作的网络中的一个服务器的磁盘发生故障,则在该网络中的其它服务器的磁盘将在其上存储所有网络数据。相反,如果常规的存储区域网络的物理共享存储节点发生故障,则存储在其上的数据会丢失,或者至少该数据将暂时不可存取。
本发明另外的特征和优点将在随后的说明书中进行阐述,而且在某种程度上来说从该说明书中是很显而易见的,或是可以通过本发明的实践得知。本发明的特征和优点可以借助于在附加权利要求中特别指出的装置和组合而实现和获得。本发明的这些及其它特征通过下列的描述和附加权利要求将变得更充分明显,或者可以如在下文中阐述的那样从本发明的实践中得知。
附图简要说明
为了描述能够获得本发明中的以上列举的及其它优点和特征的方式,将参考在附图中说明的它的具体实施例描写以上简要描述的本发明的更特定的描述。明白了这些附图仅仅描述了本发明的典型实施例、并且因此不被认为限制了它的范围后,将通过使用附图用另外的特殊性和细节描述和解释本发明,其中:
图1说明了一个包含常规的存储区域网络的网络系统,其中该常规的存储区域网络具有一个物理的共享存储节点。
图2说明了一个为本发明提供了适当的操作环境的示范性系统。
图3是一个说明了依据本发明的容错网络的示意图,并且显示了一个虚拟的共享存储节点。
图4是一个说明了图3中的容错网络的示意图,其显示了提供图3中的虚拟共享存储节点的功能的硬件及其它组件。
图5是一个描述了依据本发明、具有三个服务器的网络的示意图。
图6和7说明了用于在与两个服务器有关的磁盘之间镜像网络数据、由此向每一个服务器提供对网络数据的访问的方法。
图8是一个流程图,描述了用于在与两个服务器有关的磁盘之间镜像网络数据、由此向每一个服务器提供对网络数据的访问的方法。
本发明的详细说明
本发明涉及其中在多个服务器的磁盘上镜像和存储网络数据以便使多个服务器提供一个虚拟存储区域网络而不具有一个物理的共享存储节点的网络。在网络中的多个服务器中的每一个都具有一个在其上存储网络数据的磁盘、和一个允许该服务器与在网络中的其它服务器通信的镜像引擎。当服务器接收一个写操作请求时,服务器在它的磁盘处执行写操作,并且使用镜像引擎和专用的链路或者其它用于通信的装置把写操作请求传输到在网络中的其它服务器。其它服务器接收写操作请求,并且在它们的相应服务器的磁盘处执行写操作。这样,相同的网络数据被存储在多个服务器中每一个的磁盘处。在服务器中的一个或者与任一服务器有关的磁盘发生故障的情况下,在网络中剩余的其它服务器能够使用保存在对应于这种服务器的磁盘中的网络数据为在网络中的任一用户工作站提供网络服务。
A.示范性的操作环境
本发明的实施例可以包含一个包含各种计算机硬件的专用或者通用计算机,如在下面更详细讨论的那样。在本发明的范围内的实施例还包含用于携带或者在其上存储计算机可执行指令或者数据结构的计算机可读介质。这种计算机可读介质能够是能由通用或者专用计算机访问的任何可利用的介质。例如,而不是限制,这种计算机可读介质能够包含RAM、ROM、EEPROM、CD-ROM或者其它光盘存储器、磁盘存储器或者其它磁存储器设备,或者其它任何能够被用来携带或者存储想要的以计算机可执行指令或者数据结构的形式的程序代码装置、并且能够由通用或者专用计算机访问的介质。当经由网络或者另一个通信连接(或者硬布线的、无线、或者硬布线或无线的组合)向计算机传送或者提供信息时,计算机适当地把该连接看作计算机可读介质。因此,任何这种连接被适当地称为计算机可读介质。上述的组合也应当被包含在计算机可读介质的范围内。计算机可执行指令包含例如使通用计算机、专用计算机、或者专用处理设备执行某个功能或者某组功能的指令和数据。
图2及以下的讨论用来提供其中可以实现本发明的一个适当的计算环境的摘要的、一般的说明。尽管不需要,但是将在在网络环境中由计算机执行的、诸如程序模块之类的计算机可执行指令的一般环境中对本发明进行描述。通常,程序模块包含执行特定任务或者实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。计算机可执行指令、相关的数据结构、和程序模块表示用于执行在此公开的方法中的步骤的程序代码装置的例子。这种可执行指令或者相关数据结构的特定序列表示用于实现在这种步骤中描述的功能的相应动作的例子。
本领域技术人员将会意识到,可以在具有多种类型的计算机系统配置的网络计算环境中实践本发明,其中多种类型的计算机系统配置包含个人计算机、掌上型设备、多处理器系统、基于微处理器的或者可编程的消费者电子设备、网络PC、微型计算机、大型计算机等等。还可以在分布式计算环境中实践本发明,在该分布式计算环境中由通过通信网络链接的(或者通过硬布线的链路、无线链路、或者通过硬布线的或者无线链路的组合)本地和远程处理设备执行任务。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
参考图2,用于实现本发明的一个示范性系统包含一个以常规计算机20的形式的通用计算设备,它包含处理单元21、系统存储器22、和连接包含系统存储器22的系统组件到处理单元21的系统总线23。系统总线23可以是几种类型的总线结构中的任何一种,其中这几种类型的总线结构包含:使用各种总线体系结构中任何一种的存储器总线或存储控制器、外围总线、和局域总线。系统存储器包含只读存储器(ROM)24和随机存取存储器(RAM)25。基本输入/输出系统(BIOS)26可以被保存在ROM 24中,其中该基本输入/输出系统(BIOS)26包含基本的、有助于在计算机20内部的单元之间比如在启动时传输信息的例程。
计算机20还可以包含一个用于从磁硬盘39中读取和向其中写入的磁硬盘驱动器27,一个用于从可移动的磁盘29中读取或者向其中写入的磁盘驱动器28,和一个用于从可移动的光盘31、诸如CD-ROM或者其它光介质中读取或者向其中写入的光盘驱动器30。如在此描述的那样,上述结构中的任何一个表示能够被用来建立虚拟存储区域网络的存储设备或者存储体(storage volumes)的例子。磁硬盘驱动器27、磁盘驱动器28、和光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33、和光驱动器接口34连接到系统总线23。驱动器和它们的相关计算机可读介质为计算机20提供了计算机可执行指令、数据结构、程序模块及其它数据的非易失性存储。尽管在此描述的示范性环境使用了磁硬盘39、可移动的磁盘29和可移动的光盘31,但是能够使用其它类型的用于存储数据的计算机可读介质,包含磁带盒、闪速存储卡、数字通用磁盘、Bernoulli盒、RAM、ROM等。
包含一个或多个程序模块的程序代码装置可以被存储在硬盘39、磁盘29、光盘31、ROM 24或者RAM 25上,上述一个或多个程序模块包含操作系统35、一个或多个应用程序36、其它程序模块37、和程序数据38。用户可以通过键盘40、指示设备42、或者其它输入设备(未显示)、诸如麦克风、操纵杆、游戏手柄、卫星电视天线、扫描仪等输入命令和信息到计算机20中。这些及其它输入设备经常通过连接到系统总线23的串行端口接口46连接到处理单元21。做为选择,输入设备可以通过其它接口、诸如并行端口、游戏端口或者通用串行总线(USB)连接。监视器47或者另一个显示设备也经由接口、诸如视频适配器48连接到系统总线23。除了监视器之外,个人计算机通常包含其它外围输出设备(未显示)、诸如扬声器和打印机。
计算机20可以在使用到一个或多个远程计算机、诸如远程计算机49a和49b的逻辑连接的网络环境下操作。尽管在图2中仅仅说明了存储器设备50a和50b以及它们的相关的应用程序36a和36b,但是远程计算机49a和49b每个都可以是另一个个人计算机、服务器、路由器、网络PC、对等设备或者其它公共网络节点,并且通常包含以上相对于计算机20描述的许多或者全部单元。在图2中描述的逻辑连接包含在此通过举例而非限制给出的局域网(LAN)51和广域网(WAN)52。这种联网环境在办公室、企业范围的计算机网络、企业内部网、和互联网中是常见的。
当用在LAN联网环境中时,计算机20通过网络接口或者适配器53连接到局部网络51。当用在WAN联网环境中时,计算机20可以包含调制解调器54、无线链路或者其它用于经由广域网52、诸如互联网建立通信的装置。可以是内部或外部的调制解调器54经由串行端口接口46连接到系统总线23。在联网环境中,相对计算机20描述的程序模块、或者它的部分可以被保存在远程存储器存储设备中。将会理解,显示的网络连接是示范性的,而且可以使用其它用于在广域网52上建立通信的装置。
B.虚拟存储区域网络
图3说明了本发明中的虚拟存储区域网络的典型配置。为了说明起见,在图3的例子中,两个服务器计算机310和320为网络301提供网络服务。然而,本发明中的网络的体系结构能够很容易地被缩放为具有三个或更多服务器的网络,其例子将在下面就图5进行讨论。网络301还包含任意数量的用户工作站302,其能够是个人计算机或者其它任何从服务器310和320接收网络服务的计算设备。
每个服务器310和320包含一个管辖协议模块311、321和一个输入/输出设备驱动器313、323。服务器A 310和服务器B 320一起操作以建立一个虚拟的共享存储节点340。虚拟共享存储节点340不是一个物理的共享存储节点、诸如图1中的共享存储节点140。作为替代,虚拟共享存储节点340包含将结合图4更详细描述的各种硬件和软件组件,从I/O驱动器313和323的立场来看,其提供了好象与实际的共享存储节点有关的功能。因此,在这种意义上讲,网络301包含一虚拟共享存储节点340,并且允许服务器310和320访问虚拟共享存储节点340的那部分网络301表示一虚拟存储区域网络。
还注意到,在被指定为虚拟共享存储节点340的图3的区域外的、网络301的包含硬件和软件的网络配置能够与已有网络的相应组件类似或者实质上相同,并且与常规的实际存储区域网络、诸如在图1中说明的网络101的相应组件类似或者实质上相同。依据本发明操作的网络的一个优点是:它们与目前存在的用于和常规存储区域网络一起使用的已有管辖协议软件及其它软件兼容。
参见图4,能够看出,虚拟共享存储节点340的物理组件显著地不同于图1中的常规存储区域网络的实际共享存储节点140的组件。例如,图4中的网络301不包含一个物理的共享存储节点,其除去了与获得和操作一存储区域网络有关的大部分开支。作为替代,服务器310具有它自己的磁盘319,而服务器320具有它自己的磁盘329。因此,服务器310和320能够是普通的或者常规的网络服务器,每个网络服务器都具有它自己的磁盘。换句话说,服务器310和320中的硬件能够与目前用在除实际存储区域网络以外的企业网络中的大多数服务器的硬件类似或相同。如在此使用的那样,“磁盘”和“大容量存储设备”将被广泛地解释为包含用于存储数据以执行在此描述的方法的任何设备或者结构。
允许这种服务器310和320提供虚拟存储区域网络的功能的组件包含镜像引擎317和327以及专用的链路315。镜像引擎317和327表示用于在不同服务器的大容量存储设备或者磁盘之间镜像数据的的装置的例子。还能够和本发明一起使用对应于用于镜像数据的装置的其它结构以执行在此描述的功能。此外,如上所述,在被指定为虚拟共享存储节点340的图4中的区域之外的、在服务器310和320处操作的管辖协议模块311和321及其它软件能够与传统地被用来操作实际存储区域网络的管辖协议及其它功能的已有软件类似或者相同。
图6和7说明了其中镜像引擎317和327以及专用链路315能够被用来在磁盘319和329上镜像数据、由此允许服务器310和320中的每一个能访问所有网络数据的方式。如图6所示,用户工作站302a的用户使用户工作站向与网络301有关的磁盘发布一个用于写数据块A 350的写操作请求。如图6所示,写操作请求通过网络301传输到服务器A 310。由于网络301中的任何一个服务器(例如服务器A 310或者服务器B 320)都能够处理来自任一用户工作站的所有操作请求,所以选择特定服务器310或者320来处理这个操作的方式对于本发明来说不是关键性的。为了平衡在服务器310和320之间的负载,能够实现任何一种想要的负载平衡算法。做为选择,能够在缺省的基础上把特定服务器分配给特定用户工作站。
在这个例子中,服务器A 310接收写操作请求,并且把该请求传递到I/O驱动器313。I/O驱动器313然后把写操作请求传输到从I/O驱动器313的立场来看能够被感知为一虚拟共享存储节点(即图4中的虚拟共享存储节点340)的地方。
管辖协议模块311与服务器B 320的管辖协议模块321一起操作,以确定服务器A 310目前是否满意对磁盘319和329的写访问。管辖协议模块311和321的一个主要目的是:确保在任何单个时间仅仅单个服务器具有对在磁盘319和329中的特定扇区或者数据块的写访问。由于每个服务器310、320通常能访问所有网络数据,所以允许任何服务器一直具有对磁盘的写访问而不实现管辖协议否则能够导致数据崩溃。由于从I/O驱动器313和323以及管辖协议模块311和321的立场来看服务器A 310和服务器B 320好象是使用一个虚拟共享存储节点,所以和本发明一起使用的管辖协议能够与传统地和实际存储区域网络一起使用的管辖协议类似或者相同。换句话说,如先前已经提及的那样,在服务器A 310和服务器B 320上操作的大部分软件能够与和实际存储区域网络一起使用的相应软件类似或者相同。
由于常规的管辖协议能够和本发明一起使用,所以管辖协议的特性将会被本领域技术人员理解。一般说来,无论是和常规存储区域网络还是和本发明中的虚拟存储区域网络一起使用,管辖协议确定已经接收了I/O请求的服务器相对于在网络中的其它服务器目前是否具有访问优先级。例如,如果服务器A 310将接收一个写操作请求,则服务器A 310和服务器B 320经由网络301的网络基础结构彼此通信,并且使用管辖协议模块311和321以确定哪一个服务器具有对将接收写操作的磁盘的扇区或者其它部分的写访问优先级。虽然许多类型的管辖协议都能够和本发明一起使用,所以许多管辖协议具有共同的特征,即它们分布在多个服务器之间,并且在多个服务器彼此通信时被执行。
下面返回图6,I/O驱动器把写操作请求传输到由I/O驱动器感知为是虚拟共享存储节点的地方。然而,实际上,写操作请求由镜像引擎317接收。写操作请求从镜像引擎317传输到磁盘319,在那儿它被执行,从而导致数据A 350被写入到磁盘的特定扇区或者其它区域。为了镜像数据A到磁盘329,镜像引擎317还传输写操作请求到服务器B 320的一个相应的镜像引擎327。写操作请求由专用的链路315或者另一个用于通信的装置传输。其它用于通信的装置可以包含任何无线或者硬布线的通信装置中的一个或者它们的组合。如果使用了专用的链路315,则物理的专用链路表示在网络301和常规网络之间的一个物理差别。本发明的其它实施例能够使用镜像引擎317和327镜像数据而不需要专用链路315。例如,另外被用来在用户工作站302和服务器310和320之间传输数据的网络301的网络基础结构也能够被用来从一个服务器向另一个服务器传输被镜像的写操作请求。专用链路315、网络301的网络基础结构及其它用于通信的装置表示用于在服务器和它的大容量存储设备或者磁盘之间通信的装置的例子。
无论如何,镜像引擎327接收被镜像的写操作请求,并且把它传输到磁盘329,在那儿它被执行,从而导致数据A 350被写入到磁盘329。这样,在用户工作站302a发布写操作请求之后,与写操作请求有关的数据被写入到磁盘319和磁盘329,以便使两个磁盘都包含相同网络数据的被镜像的拷贝。还注意到,当用户工作站302a-n中的一个发布一个使数据从文件中删除或者从磁盘319上删除的写操作请求时,执行类似的处理过程。换句话说,如果从磁盘319上删除数据,则从磁盘329上删除相同的数据,以便使相同的网络数据被镜像和存储在两个磁盘中。
图7说明了在磁盘319和329之间被镜像的数据的另一个实例。在这种情况下,用户工作站302n传输用于写入数据B 352的写操作请求到磁盘329。写操作请求被传输到服务器B 320,在那儿它由I/O驱动器323和管辖协议模块321以类似于以上就用于图6中的数据A350的写操作请求描述的方式进行处理。在图7中,镜像引擎327把写操作请求传输到磁盘329,在那儿它被执行,从而导致数据B被写入到磁盘329。此外,镜像引擎327通过专用链路315、或者通过与网络301有关的另一个用于通信的装置传输写操作请求到服务器A 310中的相应镜像引擎317。镜像引擎317然后把被镜像的写操作请求传输到磁盘319,在那儿它被执行,从而导致数据B 352被写入到磁盘319。因此,图6和7说明了在网络301中的任何服务器310、320是如何能够使与写操作请求有关的数据被存储和镜像在网络中的服务器的每一个磁盘319、329处的。
图8概括了写操作请求被处理以及相关数据被镜像到在网络中的每一个磁盘的方法。在步骤710,用户工作站发布一个写操作请求。在步骤720,经由网络把请求传输到一个特定服务器。在步骤730,特定服务器执行管辖协议,以确定该服务器目前是否具有对在网络中的磁盘的写访问。如果依据判定块732服务器不具有写访问,则操作请求在步骤751被拒绝,并且在步骤753被中止。做为选择,如果依据判定块732服务器不具有写访问,则操作能够被排队直到准予服务器写访问的这种时间为止。
如果依据判定块732服务器具有写访问权力,则操作请求在步骤741被接受。镜像引擎然后在步骤743复制写操作请求,并且把它传输到在网络中的一个或多个其它服务器。在步骤749,接收写操作请求的特定服务器在它的磁盘处执行写操作。同时或者刚好在步骤749之前或者之后,执行步骤750,其中在网络中的、已经接收了写操作请求的被镜像的拷贝的其它服务器执行被镜像的写操作请求,以便使相同的网络数据也被保存在与其它服务器有关的磁盘中。执行步骤743、749以及750的顺序对于本发明来说不是关键性的。
结合图7说明网络301能够对服务器或者磁盘的故障做出响应或是容忍服务器或者磁盘的故障的方式。在这个例子中,假定数据A 350和数据B 352已经被镜像到两个磁盘319和329中了,如以上所述的那样。在服务器A 310离线之前,服务器A宣传(advertise)它能够向工作站提供对在图4的340说明的、虚拟共享存储节点的访问的事实,以便使请求虚拟共享存储节点的磁盘服务的任何工作站能够通过服务器A 310接收它们。在正常操作中的,服务器A 310通过使用磁盘319提供对虚拟共享存储节点的访问。在这个例子中,假定服务器A 310保持可操作,但是它的相关磁盘319离线,并且由于任何原因而变得不可用了。服务器A 310继续向工作站宣传它能够提供对虚拟共享存储节点、包含磁盘319的访问,这是因为从服务器A 310的立场上来看,虚拟共享存储节点和存储在其上的数据保持是可利用的。
在磁盘319发生故障之后,工作站302a-d能够继续通过服务器A 310发布将被虚拟共享存储节点处理的读操作请求。在这个例子中,假定工作站302a发布指向数据A 350的读操作请求。在由服务器A 310接收了读操作请求后,由I/O驱动器313接收读操作请求,并且它被传输到镜像引擎317,镜像引擎317如图4所示在虚拟共享存储节点340的范围之内。
此时,以典型的方式把读操作请求传输到从服务器A 310的立场上来说被感知为一个共享存储节点的存储设备。然而,如上所述,磁盘319是不可访问的,并且不能服务于读操作请求。因此,使用专用链路315把读操作请求传输到服务器B 320。读操作请求然后被用来访问磁盘329,其具有网络数据、包含数据A 350的完整拷贝。因此,网络301能够通过使用镜像引擎317和327无缝地对磁盘319的不可访问做出响应,以重定向由服务器A 310接收的读操作请求。尽管磁盘319发生故障,但是网络301的操作继续不间断。此外,服务器A 310能够以类似的方式在磁盘319发生故障之后通过使用虚拟共享存储节点对其它网络操作请求、诸如写操作请求做出响应,
对磁盘故障做出响应的上述方法允许网络动作继续,而不中断任何在磁盘故障时已经被部分完成的网络动作。以这种方式对磁盘故障做出响应需要服务器A 310的操作的I/O驱动器313和镜像引擎317。
如果服务器A 310的这些功能组件变得不能操作,则依据一个实施例网络301具有继续提供对网络数据的访问的辅助方式。在这种情况下,如果用户工作站302a将发布一个另外由服务器A 310处理的读操作请求,则读操作请求能够由服务器B 320服务,是由于服务器B 320能访问在它的磁盘329上的所有网络数据。为了说明起见,假定由用户工作站302发布的读操作请求指向数据A 350。因为服务器A 310是离线的,所以服务器B 320处理读操作请求。服务器B 320使用存储在磁盘329处的网络数据的被镜像的拷贝,以服务于读操作请求,并且由此向用户工作站提供对数据A 350的读访问。注意到,在网络中的一个服务器经历故障或者离线的情况下,常规的存储区域网络也允许所有服务器提供对所有网络数据的读访问。然而,不同于常规的存储区域网络,本发明中的网络不使用一个物理的共享存储节点来通过任何服务器提供对所有网络数据的访问。
本发明中的网络在磁盘或者服务器故障之后继续操作的性能的上述例子提供了在使用常规存储区域网络时不可能的重要优点。通常,常规存储区域网络具有如果发生故障则能够使数据不可访问的单个组件。例如,典型的常规存储区域网络包含必须操作以便提供对共享存储节点的访问的SAN连接卡或者磁盘驱动器。
此外,常规存储区域网络的共享存储节点的磁盘的物理故障能够导致丢失对数据的访问。实际上,如果图1中的共享存储节点140实际上被损害或者如果存储在其上的数据实际上被失去,则不仅仅经历与发生故障的共享存储节点140有关的停机时间,常规的存储区域网络还可能经历永久的和无法挽回的网络数据的丢失。为了消除这个可能性,常规存储区域网络的管理员能够购买和在共享存储节点维持冗余磁盘阵列(RAID),这增加了系统的成本和复杂性。如上所述,本发明允许在虚拟共享存储节点中的磁盘容错而不需要RAID。
在图3、4、6和7中就两个服务器说明的发明中的方法能够适用于具有两个以上服务器的网络。例如,图5说明了依据本发明、具有三个服务器、即服务器A 510、服务器B 520和服务器C 530的网络。图5中的网络501的操作类似于以上关于图6和7所述的网络301的操作。例如,当服务器A从用户工作站502接收一写操作请求时,由I/O驱动器513处理写操作请求。管辖协议模块511和服务器A 510与服务器B 520的管辖协议模块521以及服务器C 530的管辖协议模块531共同操作。
服务器A 510的镜像引擎517通过专用链路515或者其它另一个通信链路传输写操作请求的拷贝到服务器B 520的镜像引擎527。镜像引擎517还通过专用链路555或者其它通信链路传输写操作请求的拷贝到服务器C 530的镜像引擎537。此外,注意到,能够使用其它任何通信链路来传输写操作请求的拷贝到在网络中的其它服务器的各个镜像引擎。例如,网络501的网络基础结构能够被用来传输这种写操作请求。做为选择,能够通过连续地通过专用链路515、镜像引擎527以及专用链路525传输操作请求,把写操作请求从镜像引擎517传输到镜像引擎537。所有镜像引擎517、527、以及537能够彼此通信是重要的。以上述的方式,写入到磁盘519、529和539中的一个上的数据被存储在所有这些磁盘处。在服务器510、520、530中的一个发生故障的情况下,剩余的服务器能够服务于来自任何用户工作站的用于任何网络数据的所有请求。
可以以其它具体形式实现本发明而不背离它的精神或者本质特性。无论从哪一点来看,所描述的实施例都将仅仅被认为是说明性的与非限制性的。本发明的范围因此由附加权利要求而不是由上述说明书表示。在权利要求的等效含义和范围内的所有改变都将被包含在它们的范围内。

Claims (27)

1.在包含具有第一大容量存储设备的第一服务器和具有第二大容量存储设备的第二服务器的网络中,一种镜像存储在第一大容量存储设备上的数据到第二大容量存储设备以便建立一个虚拟存储区域网络的方法,该镜像数据的方法包含以下动作:
在第一服务器处接收一写请求;
在第一服务器处执行写请求,以便写入数据到第一大容量存储设备;
使用第一服务器的镜像引擎,传输写请求的拷贝到第二服务器;以及
在第二服务器处执行写请求的拷贝,以便写入数据到第二大容量存储设备,由此在第二大容量存储设备处镜像数据,其中从第一服务器和第二服务器的立场上来看,该数据已经被保存在一存储区域网络的共享存储节点中了。
2.如权利要求1所述的镜像数据的方法,其中传输写请求的拷贝的动作包含:使用在第一服务器和第二服务器之间的专用链路传输写请求的拷贝的动作。
3.如权利要求1所述的镜像数据的方法,其中传输写请求的拷贝的动作包含使用网络的基础结构传输写请求的拷贝的动作,其中基础结构还被网络用来在工作站和服务器之间传输数据。
4.如权利要求1所述的镜像数据的方法,进一步包含动作:
经历故障,以便使数据不可从第一大容量存储设备中访问;以及
通过访问已经被镜像在第二大容量存储设备处的数据,执行对已经被写到第一大容量存储设备的数据的读请求。
5.如权利要求4所述的镜像数据的方法,其中故障包含第一服务器离线。
6.如权利要求4所述的镜像数据的方法,其中故障包含第一大容量存储设备的故障。
7.如权利要求1所述的镜像数据的方法,进一步包含动作:在在第一服务器处执行写请求的动作之前,使用管辖协议以确定第一服务器是否具有写访问权力。
8.如权利要求3所述的镜像数据的方法,其中在第一服务器处执行写请求的动作包含在第一服务器处使用I/O驱动器来开始执行写请求的动作,其中从I/O驱动器的立场来看,写请求已经被保存在存储区域网络的共享存储节点中了。
9.在包含具有第一大容量存储设备的第一服务器和具有第二大容量存储设备的第二服务器的网络中,一种镜像存储在第一大容量存储设备上的数据到第二大容量存储设备以便使该数据可由第一服务器和第二服务器通过一虚拟存储区域网络访问的方法,该镜像数据的方法包含以下动作:
建立一虚拟存储区域网络,该虚拟存储区域网络从第一服务器和第二服务器的立场来看包含一个虚拟共享存储节点,其中该虚拟共享存储节点物理上包含第一大容量存储设备、第二大容量存储设备、用于在第一大容量存储设备和第二大容量存储设备之间镜像数据的装置、以及用于在第一服务器和第二服务器之间通信的装置;
接收一个指定数据将被写入到虚拟共享存储节点的写请求;
把该数据写入到第一大容量存储设备,在第一大容量存储设备处的数据可由第一服务器访问;以及
传输写请求的拷贝到第二服务器,以便使数据能够被镜像到第二大容量存储设备,在第二大容量存储设备处的数据可由第二服务器访问。
10.如权利要求9所述的镜像数据的方法,其中所述的用于镜像数据的装置包含与第一服务器有关的第一镜像引擎、和与第二服务器有关的第二镜像引擎。
11.如权利要求9所述的镜像数据的方法,其中传输写请求的拷贝的动作包含使用第一镜像引擎以启动把写请求的拷贝传输到第二镜像引擎的动作。
12.如权利要求9所述的镜像数据的方法,其中用于通信的装置包含用于在第一服务器和第二服务器之间传输数据的专用链路。
13.如权利要求9所述的镜像数据的方法,其中用于通信的装置包含网络的基础结构,其中该基础结构还被网络用来在工作站和服务器之间传输数据。
14.如权利要求9所述的镜像数据的方法,进一步包含动作:
经历故障,以便使数据不可从第二大容量存储设备中访问;
执行对其它数据的一读请求,其中其它数据响应于第二服务器已经接收了一写请求而已经被保存在虚拟共享存储节点中,其中该写请求指定所述其它数据将被写入到虚拟共享存储节点,并且通过从虚拟共享存储节点访问该数据来执行该读请求。
15.如权利要求14所述的镜像数据的方法,其中通过从虚拟共享存储节点访问数据执行读请求包含从第一大容量存储设备中访问数据的动作。
16.在具有第一大容量存储设备的第一服务器中,该第一服务器被包含在一个还包含具有第二大容量存储设备的第二服务器的网络中,一种镜像存储在第一大容量存储设备上的数据到第二大容量存储设备以便建立一个虚拟存储区域网络的方法,该镜像数据的方法包含以下动作:
在第一服务器处接收一写请求;
使用与第一服务器有关的管辖协议模块,确定第二服务器目前不具有对另外能够导致数据崩溃的第一大容量存储设备的一部分或者第二大容量存储设备的一部分的写访问优先级;
在第一服务器处执行写请求,以便写入数据到第一大容量存储设备的所述部分;
使用第一服务器的镜像引擎,传输写请求的拷贝到第二服务器,以便使数据能够被写入到第二大容量存储设备,由此允许第一服务器和第二服务器都可访问数据,其中从第一服务器和第二服务器的立场来看,该数据已经被保存在一存储区域网络的共享存储节点中了。
17.如权利要求16所述的镜像数据的方法,其中使用管辖协议模块的动作包含第一服务器与第二服务器进行通信以确定第二服务器目前不具有写访问优先级的动作。
18.如权利要求17所述的镜像数据的方法,其中通信动作是在网络的基础结构上通过通信执行的,其中该基础结构还被网络用来在工作站和服务器之间传输数据。
19.如权利要求16所述的镜像数据的方法,进一步包含动作:
经历故障,以便使数据不可从第二大容量存储设备中访问;
执行对其它数据的一读请求,其中其它数据响应于第二服务器已经接收了另一个写请求而已经被镜像到第一大容量存储设备中,其中该另一个写请求指定所述其它数据将被存储,并且通过从第一大容量存储设备访问该数据来执行该读请求。
20.一个虚拟存储区域网络,允许第一服务器和第二服务器访问来自物理上不同的大容量存储设备的相同数据,该虚拟共享存取网络包含:
第一服务器,能够从网络客户机接收写请求和读请求,第一服务器具有:
第一大容量存储设备;以及
第一镜像引擎;
第二服务器,能够从网络客户机接收写请求和读请求,第二服务器具有:
第二大容量存储设备;以及
第二镜像引擎;以及
用于在第一镜像引擎和第二镜像引擎之间通信的装置,允许第一镜像引擎把还被写入到第一大容量存储设备的第一数据镜像到第二大容量存储设备,并且进一步允许第二镜像引擎把还被写入到第二大容量存储设备的第二数据镜像到第一大容量存储设备,由此允许第一服务器和第二服务器访问来自物理上不同的大容量存储设备的相同数据。
21.如权利要求20所述的虚拟存储区域网络,其中用于通信的装置包含在第一镜像引擎和第二镜像引擎之间的专用链路。
22.如权利要求20所述的虚拟存储区域网络,其中用于通信的装置被包含在网络的基础结构中,其中该基础结构还被网络用来在工作站和服务器之间传输数据。
23.如权利要求20所述的虚拟存储区域网络,进一步包含第三服务器,它能够从网络客户机接收写请求和读请求,第三服务器具有:
第三大容量存储设备;以及
第三镜像引擎,其中第三镜像引擎能够把将被写入到第三大容量存储设备的数据镜像到第一大容量存储设备和第二大容量存储设备。
24.如权利要求23所述的虚拟存储区域网络,进一步包含用于在第三服务器和第一服务器之间、以及在第三服务器和第二服务器之间通信的装置。
25.如权利要求20所述的虚拟存储区域网络,其中第一服务器和第二服务器执行管辖协议,以在接收一写请求时确定一服务器是否具有用于写入数据到第一大容量存储设备和第二大容量存储设备的写访问优先级。
26.如权利要求25所述的虚拟存储区域网络,其中管辖协议允许第一服务器和第二服务器当且仅当写请求具有优于其它任何写请求的优先级时、响应于写请求把数据写入到第一大容量存储设备和第二大容量存储设备的一特定部分,其中该其它任何写请求对于第一大容量存储设备和第二大容量存储设备的该特定部分来说可能是待决的。
27.如权利要求25所述的虚拟存储区域网络,其中:
第一服务器进一步具有第一管辖协议模块;并且
第二服务器进一步具有第二管辖协议模块,
其中第一管辖协议模块和第二管辖协议模块一起使用以执行管辖协议。
CNB028127927A 2001-06-26 2002-06-25 镜像网络数据以建立虚拟存储区域网络 Expired - Lifetime CN100403300C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/892,161 2001-06-26
US09/892,161 US7389312B2 (en) 1997-04-28 2001-06-26 Mirroring network data to establish virtual storage area network

Publications (2)

Publication Number Publication Date
CN1520564A CN1520564A (zh) 2004-08-11
CN100403300C true CN100403300C (zh) 2008-07-16

Family

ID=25399477

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028127927A Expired - Lifetime CN100403300C (zh) 2001-06-26 2002-06-25 镜像网络数据以建立虚拟存储区域网络

Country Status (9)

Country Link
US (1) US7389312B2 (zh)
EP (1) EP1402420B1 (zh)
JP (1) JP2004535012A (zh)
KR (1) KR100577314B1 (zh)
CN (1) CN100403300C (zh)
AT (1) ATE431946T1 (zh)
CA (1) CA2449850A1 (zh)
DE (1) DE60232414D1 (zh)
WO (1) WO2003003153A2 (zh)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6725393B1 (en) * 2000-11-06 2004-04-20 Hewlett-Packard Development Company, L.P. System, machine, and method for maintenance of mirrored datasets through surrogate writes during storage-area network transients
US20020138559A1 (en) * 2001-01-29 2002-09-26 Ulrich Thomas R. Dynamically distributed file system
US7054927B2 (en) * 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US6862692B2 (en) 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
WO2002088961A1 (en) * 2001-05-01 2002-11-07 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Distributed raid and location independence caching system
US20040158687A1 (en) * 2002-05-01 2004-08-12 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Distributed raid and location independence caching system
US7558264B1 (en) 2001-09-28 2009-07-07 Emc Corporation Packet classification in a storage system
US7404000B2 (en) * 2001-09-28 2008-07-22 Emc Corporation Protocol translation in a storage system
US6976134B1 (en) 2001-09-28 2005-12-13 Emc Corporation Pooling and provisioning storage resources in a storage network
US7421509B2 (en) * 2001-09-28 2008-09-02 Emc Corporation Enforcing quality of service in a storage network
US7707304B1 (en) 2001-09-28 2010-04-27 Emc Corporation Storage switch for storage area network
US7864758B1 (en) 2001-09-28 2011-01-04 Emc Corporation Virtualization in a storage system
US7185062B2 (en) * 2001-09-28 2007-02-27 Emc Corporation Switch-based storage services
US20030079018A1 (en) * 2001-09-28 2003-04-24 Lolayekar Santosh C. Load balancing in a storage network
US20070094466A1 (en) * 2001-12-26 2007-04-26 Cisco Technology, Inc., A Corporation Of California Techniques for improving mirroring operations implemented in storage area networks and network based virtualization
US9009427B2 (en) 2001-12-26 2015-04-14 Cisco Technology, Inc. Mirroring mechanisms for storage area networks and network based virtualization
US20070094465A1 (en) * 2001-12-26 2007-04-26 Cisco Technology, Inc., A Corporation Of California Mirroring mechanisms for storage area networks and network based virtualization
US20090259817A1 (en) * 2001-12-26 2009-10-15 Cisco Technology, Inc. Mirror Consistency Checking Techniques For Storage Area Networks And Network Based Virtualization
US20030149750A1 (en) * 2002-02-07 2003-08-07 Franzenburg Alan M. Distributed storage array
US7007142B2 (en) * 2002-02-19 2006-02-28 Intel Corporation Network data storage-related operations
JP2004054721A (ja) * 2002-07-23 2004-02-19 Hitachi Ltd ネットワークストレージ仮想化方法
US20040181496A1 (en) * 2002-08-21 2004-09-16 Mechtronix Systems Inc. Networked metered parking system
US7742473B2 (en) * 2002-11-12 2010-06-22 Mark Adams Accelerator module
US8005918B2 (en) * 2002-11-12 2011-08-23 Rateze Remote Mgmt. L.L.C. Data storage devices having IP capable partitions
EP1561306B1 (en) * 2002-11-12 2007-03-07 Zetera Corporation Communication protocols, systems and methods
US20040160975A1 (en) * 2003-01-21 2004-08-19 Charles Frank Multicast communication protocols, systems and methods
US7747660B1 (en) * 2003-03-24 2010-06-29 Symantec Operating Corporation Method and system of providing access to a virtual storage device
JP4150854B2 (ja) * 2003-06-27 2008-09-17 日本電気株式会社 ストレージエリアネットワーク上の共有ディスク装置へのアクセスシステム及びそのクライアント
US7028156B1 (en) 2003-07-01 2006-04-11 Veritas Operating Corporation Use of read data tracking and caching to recover from data corruption
US7028139B1 (en) 2003-07-03 2006-04-11 Veritas Operating Corporation Application-assisted recovery from data corruption in parity RAID storage using successive re-reads
TWI225205B (en) * 2003-07-16 2004-12-11 Via Tech Inc Object management system and method thereof
US7640316B2 (en) * 2003-09-05 2009-12-29 International Business Machines Corporation Apparatus and method to write information to two virtual tape servers
AU2004275083B2 (en) 2003-09-19 2010-08-12 Koninklijke Philips Electronics N.V. Optical record carrier recording method, optical record carrier and apparatus for writing information
JP4684605B2 (ja) * 2004-09-17 2011-05-18 株式会社日立製作所 情報伝達方法及びホスト装置
JP2006092124A (ja) * 2004-09-22 2006-04-06 Fujitsu Ltd 記憶装置、記憶制御方法および記憶制御プログラム
US7814273B2 (en) 2004-11-05 2010-10-12 Data Robotics, Inc. Dynamically expandable and contractible fault-tolerant storage system permitting variously sized storage devices and method
US7873782B2 (en) 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
CN100409195C (zh) * 2005-01-18 2008-08-06 英业达股份有限公司 建立储域网络系统的方法
US7620981B2 (en) * 2005-05-26 2009-11-17 Charles William Frank Virtual devices and virtual bus tunnels, modules and methods
US7356573B2 (en) * 2005-07-08 2008-04-08 Cisco Technology, Inc. Apparatus and methods for data tapping in a storage area network
US8239477B2 (en) * 2005-07-08 2012-08-07 Cisco Technology, Inc. Apparatus and methods for controlling a data tapping session in a storage area network
KR100759700B1 (ko) * 2005-08-03 2007-09-17 조창국 플래시메모리카드의 미러인터페이스 방법
US8819092B2 (en) 2005-08-16 2014-08-26 Rateze Remote Mgmt. L.L.C. Disaggregated resources and access methods
US8161134B2 (en) * 2005-09-20 2012-04-17 Cisco Technology, Inc. Smart zoning to enforce interoperability matrix in a storage area network
US20090043922A1 (en) * 2005-11-04 2009-02-12 David Aaron Crowther Method and Apparatus for Managing Media Storage Devices
KR100708607B1 (ko) 2006-01-03 2007-04-18 삼성전자주식회사 양쪽 키패드를 갖는 이동 통신 단말기
US20070214384A1 (en) * 2006-03-07 2007-09-13 Manabu Kitamura Method for backing up data in a clustered file system
CN100353330C (zh) * 2006-03-10 2007-12-05 四川大学 一种基于ip网络的磁盘镜像方法
US7933993B1 (en) * 2006-04-24 2011-04-26 Hewlett-Packard Development Company, L.P. Relocatable virtual port for accessing external storage
US7725764B2 (en) 2006-08-04 2010-05-25 Tsx Inc. Failover system and method
US9306975B2 (en) 2006-09-19 2016-04-05 The Invention Science Fund I, Llc Transmitting aggregated information arising from appnet information
US8607336B2 (en) * 2006-09-19 2013-12-10 The Invention Science Fund I, Llc Evaluation systems and methods for coordinating software agents
US8601104B2 (en) 2006-09-19 2013-12-03 The Invention Science Fund I, Llc Using network access port linkages for data structure update decisions
US8984579B2 (en) * 2006-09-19 2015-03-17 The Innovation Science Fund I, LLC Evaluation systems and methods for coordinating software agents
US8627402B2 (en) 2006-09-19 2014-01-07 The Invention Science Fund I, Llc Evaluation systems and methods for coordinating software agents
US8224930B2 (en) * 2006-09-19 2012-07-17 The Invention Science Fund I, Llc Signaling partial service configuration changes in appnets
US8055797B2 (en) * 2006-09-19 2011-11-08 The Invention Science Fund I, Llc Transmitting aggregated information arising from appnet information
US7752255B2 (en) * 2006-09-19 2010-07-06 The Invention Science Fund I, Inc Configuring software agent security remotely
US8601530B2 (en) 2006-09-19 2013-12-03 The Invention Science Fund I, Llc Evaluation systems and methods for coordinating software agents
US20080072032A1 (en) * 2006-09-19 2008-03-20 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Configuring software agent security remotely
US8281036B2 (en) 2006-09-19 2012-10-02 The Invention Science Fund I, Llc Using network access port linkages for data structure update decisions
US20080077638A1 (en) * 2006-09-21 2008-03-27 Microsoft Corporation Distributed storage in a computing environment
US8874746B1 (en) * 2010-05-24 2014-10-28 Datacore Software Corporation Collaboration between discrete systems and a shared system to consolidate shared storage-related services
CN102014153A (zh) * 2010-10-19 2011-04-13 浪潮(北京)电子信息产业有限公司 一种数据存储系统及其数据存储方法
CN102360481A (zh) * 2011-09-26 2012-02-22 北京金马甲产权网络交易有限公司 网络竞价的镜像模拟方法及系统
CN103108005A (zh) * 2011-11-11 2013-05-15 上海聚力传媒技术有限公司 在分布式存储系统中实现数据共享的方法、设备与系统
US10061534B2 (en) 2011-12-01 2018-08-28 Intel Corporation Hardware based memory migration and resilvering
WO2013108351A1 (ja) * 2012-01-16 2013-07-25 株式会社日立製作所 計算機システム及び論理記憶領域管理方法
KR20140015857A (ko) 2012-07-26 2014-02-07 삼성전자주식회사 컴퓨팅 장치 및 컴퓨팅 장치가 가상 장치를 제어하는 가상 장치 제어 방법
CN103942112B (zh) * 2013-01-22 2018-06-15 深圳市腾讯计算机系统有限公司 磁盘容错方法、装置及系统
CN104104648A (zh) * 2013-04-02 2014-10-15 杭州信核数据科技有限公司 一种访问存储设备中的数据的方法、应用服务器和网络
CN103595799B (zh) * 2013-11-18 2017-01-04 北京中创信测科技股份有限公司 一种实现分布式共享数据库的方法
CN113190495A (zh) 2014-12-08 2021-07-30 安博科技有限公司 从远程网络区域进行内容检索的系统及方法
WO2016110785A1 (en) 2015-01-06 2016-07-14 Umbra Technologies Ltd. System and method for neutral application programming interface
EP3251301A4 (en) 2015-01-28 2018-10-10 Umbra Technologies Ltd. System and method for a global virtual network
EP4325804A2 (en) 2015-04-07 2024-02-21 Umbra Technologies Ltd. Multi-perimeter firewall in the cloud
ES2931177T3 (es) 2015-12-11 2022-12-27 Umbra Tech Ltd Sistema y método para lanzamiento de información a través de un tapiz de red y granularidad de una marca
WO2017187263A1 (en) * 2016-04-26 2017-11-02 Umbra Technologies Ltd. Sling-routing logic and load balancing
US10691504B2 (en) * 2017-08-14 2020-06-23 International Business Machines Corporation Container based service management
US11436113B2 (en) * 2018-06-28 2022-09-06 Twitter, Inc. Method and system for maintaining storage device failure tolerance in a composable infrastructure
JP7179810B2 (ja) * 2020-10-27 2022-11-29 株式会社日立製作所 クラスタシステム、クラスタシステムのフェイルオーバー制御方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4792896A (en) * 1983-12-07 1988-12-20 516277 Ontario Limited Storage controller emulator providing transparent resource sharing in a computer system
US5455932A (en) * 1990-09-24 1995-10-03 Novell, Inc. Fault tolerant computer system
US5555371A (en) * 1992-12-17 1996-09-10 International Business Machines Corporation Data backup copying with delayed directory updating and reduced numbers of DASD accesses at a back up site using a log structured array data storage
US5600784A (en) * 1993-12-01 1997-02-04 Marathon Technologies Corporation Fault resilient/fault tolerant computing
US5764903A (en) * 1994-09-26 1998-06-09 Acer America Corporation High availability network disk mirroring system
US5812748A (en) * 1993-06-23 1998-09-22 Vinca Corporation Method for improving recovery performance from hardware and software errors in a fault-tolerant computer system
CN1245933A (zh) * 1998-05-21 2000-03-01 太阳微系统有限公司 选择镜像站点服务器的系统和方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6458013A (en) * 1987-08-20 1989-03-06 Ibm Method and data processing system for guaranteeing large area identification and management of data memory
US5005122A (en) 1987-09-08 1991-04-02 Digital Equipment Corporation Arrangement with cooperating management server node and network service node
US5276867A (en) 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data storage system with improved data migration
CA2032067A1 (en) * 1989-12-22 1991-06-23 Douglas E. Jewett Fault-tolerant computer system with online reintegration and shutdown/restart
US5307481A (en) 1990-02-28 1994-04-26 Hitachi, Ltd. Highly reliable online system
DE69121973T2 (de) 1990-05-30 1997-01-30 Fujitsu Ltd Verarbeitungssystem zur Ausgabe vom Verwendungsrecht vom Betriebsmittel
JPH04126423A (ja) 1990-09-17 1992-04-27 Omron Corp データ処理システム
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5633999A (en) 1990-11-07 1997-05-27 Nonstop Networks Limited Workstation-implemented data storage re-routing for server fault-tolerance on computer networks
US5241672A (en) * 1991-04-01 1993-08-31 Xerox Corporation System using the storage level of file updates in nonvolatile memory to trigger saving of RAM to disk and using the file updates to reboot after crash
WO1993009494A1 (en) 1991-10-28 1993-05-13 Digital Equipment Corporation Fault-tolerant computer processing using a shadow virtual processor
JPH05314075A (ja) 1992-05-07 1993-11-26 Nec Corp オンラインコンピュータ装置
US5987627A (en) * 1992-05-13 1999-11-16 Rawlings, Iii; Joseph H. Methods and apparatus for high-speed mass storage access in a computer system
US5611049A (en) * 1992-06-03 1997-03-11 Pitts; William M. System for accessing distributed data cache channel at each network node to pass requests and data
US5403639A (en) 1992-09-02 1995-04-04 Storage Technology Corporation File server having snapshot application data groups
US5530855A (en) 1992-10-13 1996-06-25 International Business Machines Corporation Replicating a database by the sequential application of hierarchically sorted log records
US5408649A (en) 1993-04-30 1995-04-18 Quotron Systems, Inc. Distributed data access system including a plurality of database access processors with one-for-N redundancy
AU7211194A (en) * 1993-06-23 1995-01-17 Vinca Corporation Method for improving disk mirroring error recovery in a computer system including an alternate communication path
US5432922A (en) * 1993-08-23 1995-07-11 International Business Machines Corporation Digital storage system and method having alternating deferred updating of mirrored storage disks
US5515502A (en) 1993-09-30 1996-05-07 Sybase, Inc. Data backup system with methods for stripe affinity backup to multiple archive devices
US5537585A (en) 1994-02-25 1996-07-16 Avail Systems Corporation Data storage management for network interconnected processors
US6047356A (en) * 1994-04-18 2000-04-04 Sonic Solutions Method of dynamically allocating network node memory's partitions for caching distributed files
US5623599A (en) * 1994-07-29 1997-04-22 International Business Machines Corporation Method and apparatus for processing a synchronizing marker for an asynchronous remote data copy
US5537533A (en) * 1994-08-11 1996-07-16 Miralink Corporation System and method for remote mirroring of digital data from a primary network server to a remote network server
EP0707267A3 (en) * 1994-10-12 1996-07-03 Ibm Redundant arrangement of disk drives with asymmetrical mirroring and data processing methods for asymmetrical mirroring
US5835953A (en) * 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5659704A (en) * 1994-12-02 1997-08-19 Hewlett-Packard Company Methods and system for reserving storage space for data migration in a redundant hierarchic data storage system by dynamically computing maximum storage space for mirror redundancy
US5513314A (en) 1995-01-27 1996-04-30 Auspex Systems, Inc. Fault tolerant NFS server system and mirroring protocol
US5933653A (en) * 1996-05-31 1999-08-03 Emc Corporation Method and apparatus for mirroring data in a remote data storage system
US5917998A (en) * 1996-07-26 1999-06-29 International Business Machines Corporation Method and apparatus for establishing and maintaining the status of membership sets used in mirrored read and write input/output without logging
US6073209A (en) * 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
JPH10307783A (ja) 1997-05-07 1998-11-17 N T T Data:Kk サイトアクセス制御システム及び記録媒体
US6112257A (en) * 1997-09-24 2000-08-29 Emc Corporation Dynamic adjustment of mirror service policy for logical volumes in a disk drive system based on collected statistics
US6317844B1 (en) 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US6324654B1 (en) * 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
US6167531A (en) * 1998-06-18 2000-12-26 Unisys Corporation Methods and apparatus for transferring mirrored disk sets during system fail-over
US6148414A (en) * 1998-09-24 2000-11-14 Seek Systems, Inc. Methods and systems for implementing shared disk array management functions
TW454120B (en) * 1999-11-11 2001-09-11 Miralink Corp Flexible remote data mirroring

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4792896A (en) * 1983-12-07 1988-12-20 516277 Ontario Limited Storage controller emulator providing transparent resource sharing in a computer system
US5455932A (en) * 1990-09-24 1995-10-03 Novell, Inc. Fault tolerant computer system
US5555371A (en) * 1992-12-17 1996-09-10 International Business Machines Corporation Data backup copying with delayed directory updating and reduced numbers of DASD accesses at a back up site using a log structured array data storage
US5812748A (en) * 1993-06-23 1998-09-22 Vinca Corporation Method for improving recovery performance from hardware and software errors in a fault-tolerant computer system
US5600784A (en) * 1993-12-01 1997-02-04 Marathon Technologies Corporation Fault resilient/fault tolerant computing
US5764903A (en) * 1994-09-26 1998-06-09 Acer America Corporation High availability network disk mirroring system
CN1245933A (zh) * 1998-05-21 2000-03-01 太阳微系统有限公司 选择镜像站点服务器的系统和方法

Also Published As

Publication number Publication date
KR20040022433A (ko) 2004-03-12
WO2003003153A3 (en) 2003-08-14
EP1402420A4 (en) 2008-01-09
CA2449850A1 (en) 2003-01-09
DE60232414D1 (de) 2009-07-02
KR100577314B1 (ko) 2006-05-10
JP2004535012A (ja) 2004-11-18
ATE431946T1 (de) 2009-06-15
US7389312B2 (en) 2008-06-17
WO2003003153A2 (en) 2003-01-09
US20010037371A1 (en) 2001-11-01
EP1402420B1 (en) 2009-05-20
CN1520564A (zh) 2004-08-11
EP1402420A2 (en) 2004-03-31

Similar Documents

Publication Publication Date Title
CN100403300C (zh) 镜像网络数据以建立虚拟存储区域网络
US6345368B1 (en) Fault-tolerant access to storage arrays using active and quiescent storage controllers
US7133967B2 (en) Storage system, controller, control method and program product therefor
US7380074B2 (en) Selecting storage clusters to use to access storage
US7444541B2 (en) Failover and failback of write cache data in dual active controllers
US9537710B2 (en) Non-disruptive failover of RDMA connection
US8233380B2 (en) RDMA QP simplex switchless connection
US8751716B2 (en) Adaptive data throttling for storage controllers
CN108696569A (zh) 在NVMe-oF以太网SSD中提供数据复制的系统和方法
US7203801B1 (en) System and method for performing virtual device I/O operations
JP2003208268A (ja) 分散ストレージシステム、ストレージ装置、およびデータのコピー方法
US20060059226A1 (en) Information handling system and method for clustering with internal cross coupled storage
CN105379229A (zh) 使用分段队列远程数据存取的设备互联失效备援系统和方法
KR20070059095A (ko) 통신 네트워크를 통한 데이터 세트 업데이트 시스템, 방법및 장치
US20090282204A1 (en) Method and apparatus for backing up storage system data
US10572188B2 (en) Server-embedded distributed storage system
US20130086413A1 (en) Fast i/o failure detection and cluster wide failover
US7200716B1 (en) Method and apparatus to offload operations in a networked storage system
US20050154847A1 (en) Mirrored data storage system
US7484038B1 (en) Method and apparatus to manage storage devices
US20030204539A1 (en) Facility protection utilizing fault tolerant storage controllers
CN103186489B (zh) 存储系统及多路径管理方法
Barclay et al. TerraServer Bricks “” A High Availability Cluster Alternative
US8694538B1 (en) Method and apparatus for logging write requests to a storage volume in a network data switch
AU2002320151A1 (en) Mirroring network data to establish virtual storage area network

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
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20080716