JP2004535012A - 仮想ストレージエリアネットワークを構築するためのネットワークデータミラーリング - Google Patents

仮想ストレージエリアネットワークを構築するためのネットワークデータミラーリング Download PDF

Info

Publication number
JP2004535012A
JP2004535012A JP2003509265A JP2003509265A JP2004535012A JP 2004535012 A JP2004535012 A JP 2004535012A JP 2003509265 A JP2003509265 A JP 2003509265A JP 2003509265 A JP2003509265 A JP 2003509265A JP 2004535012 A JP2004535012 A JP 2004535012A
Authority
JP
Japan
Prior art keywords
server
data
storage device
mass storage
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.)
Pending
Application number
JP2003509265A
Other languages
English (en)
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.)
EMC Corp
Original Assignee
EMC 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 EMC Corp filed Critical EMC Corp
Publication of JP2004535012A publication Critical patent/JP2004535012A/ja
Pending 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 Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Holo Graphy (AREA)
  • Aerials With Secondary Devices (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

物理共用ストレージノードなしで、ポリシングプロトコル(311、321)およびミラーエンジン(317、327)を使って仮想ストレージエリアネットワーク(340)を提供するためのデータミラーリング。ミラーエンジン(317、327)はネットワーク(301)内の各サーバコンピュータ(310、320)にあり、各サーバが書込み処理を受け取って実行するときに各サーバ(310、320)の大容量記憶装置(319、329)間でデータをミラーリングし、その結果、各大容量記憶装置が同じ記憶データを含むことになる。ポリシングプロトコル(311、321)は、一度に1台のサーバ(310、320)だけにしかデータファイルへの書込みを許さないことによって、データ破壊を防止する。1台のサーバ(310、320)が故障しネットワークデータへのアクセスを提供できない場合は、すべてのサーバからすべてのネットワークデータにアクセス可能なので、他方のまたは他のサーバがすべての読取り要求を処理することができる。従来のストレージエリアネットワークと異なり、物理共用ストレージノードはなく、したがって、仮想ストレージエリアネットワーク(340)を取得し稼動させるコストは比較的小さい。

Description

【技術分野】
【0001】
本発明は、ネットワークサーバコンピュータシステムに関し、詳細には、複数のサーバコンピュータが同じネットワークデータにアクセスする、仮想ストレージエリアネットワークを提供するシステムにおけるコンピュータ故障からの回復に使用される方法の改善に関する。
【背景技術】
【0002】
ネットワークサーバコンピュータシステムには、通常は、2台以上のサーバによってサポートされる複数のパーソナルコンピュータまたはユーザワークステーションがある。これらのコンピュータシステムの連続稼動を実現するには、そのコンピュータシステムが、そのネットワークサーバコンピュータシステム内でしばしば発生する障害および故障を克服する方法を提供する必要がある。これは、一般に、一次サーバコンピュータまたはディスクドライブに障害または故障が発生した場合に引き継ぐために、バックアップサーバコンピュータまたはディスクドライブが直ちに使用可能なように、冗長コンピュータおよび大容量記憶装置を設けることによってなされる。
【0003】
耐障害コンピュータシステムを実装する技法は、文献に記載されている(例えば、Major他、特許文献1)。具体的には、Majorは、コンピュータまたはファイルサーバの1つの大容量記憶装置のどちらかの故障から回復することができる冗長なネットワークファイルサーバシステムを提供している。このファイルサーバオペレーティングシステムは、そのネットワークファイルサーバ中の各コンピュータシステム上で稼動し、各コンピュータシステムは協働してこの冗長なネットワークファイルサーバを実現する。この技法は、ユタ州プロボのノベル社(Novell、Provo、UT)により、同社のSFT−III耐障害ファイルサーバ製品の実装に使用されている。
【0004】
ごく最近、「ストレージエリアネットワーク」として知られる耐障害ネットワークが開発された。ストレージエリアネットワーク(「SAN」)は、ネットワークデータを記憶しこれにアクセスするために、1つのエンタープライズネットワークの複数のサーバを共通または共用のストレージノードに接続する。サーバの1台が故障した場合は、その他のサーバが、通常ならば故障したサーバによって提供されたはずのネットワークサービスを実施することができる。
【0005】
図1に従来のストレージエリアネットワークを含むネットワークシステムの典型的なアーキテクチャを示す。図1には、ネットワーク101のネットワークサービスを提供する3台のサーバコンピュータ110、120、130が示されている。図1には3台のサーバを示してあるが、ネットワーク101は、2台のサーバだけしか含まないことも、図1に示す台数より多くのサーバを含むこともできる。このサーバコンピュータの可変台数は、提供されるネットワークの個々の必要性に応じて変わる。例えば、大規模組織では数台のサーバコンピュータの使用を必要とすることがあり、同様に、より小規模な組織では、単に2台のサーバコンピュータだけしか必要としないことがある。
【0006】
この構成において、ユーザワークステーション(またはパーソナルコンピュータ)102はネットワーク101に接続されており、サーバコンピュータ110、120、130にアクセスすることができる。各ユーザワークステーションは、一般に、特定のサーバコンピュータに関連付けられるが、ストレージエリアネットワークを含むネットワークシステムでは、必要に応じて、どのサーバも、実質的に、どのワークステーション用のどんなネットワークサービスでも提供することができる。ユーザワークステーション102の所のユーザは、読取り、書込みなどの処理を求める要求を発行し、それらの要求が関連するサーバコンピュータ110、120、または130に送られ、次いで、そのサーバコンピュータが入出力ドライバ113、123、133を使って要求された処理を実施する。サーバ110、120、130は、共用ストレージノード140のディスク142に記憶されているネットワークデータに対するデータ処理を実施する。各サーバ110、120、130は、以下で述べるポリシングプロトコルに従って、共用ストレージノード140に記憶されている任意のネットワークデータにアクセスすることができる。図1のストレージエリアネットワークは、物理通信インフラストラクチャ、およびサーバコンピュータ110、120、130が共用ストレージノード140と共に動作できるようにするプロトコルを含む。
【0007】
各サーバコンピュータは、それ以外のサーバコンピュータのポリシングプロトコルモジュールと協働して1つのポリシングプロトコルを実施するポリシングプロトコルモジュール111、121、131に相当するソフトウェアを含む。ポリシングプロトコルは、要求された処理の実施を制御することによってデータ破壊を防止する。例えば、モジュール111、121、131によって実施されるポリシングプロトコルは、サーバが読取り処理要求に応じることはいつでも許可するが、書込み処理要求を処理することは一度に1台のサーバコンピュータだけにしか許可しないようにすることができる。
【0008】
SANの1つの利点は、すべてのサーバコンピュータが、共用ストレージノードを介してすべてのネットワークデータにアクセスできることである。1台のサーバに故障が発生した場合、各ワークステーションは故障したサーバを迂回し他のサーバに処理要求を発行することができる。この共用ストレージノードは、異なるサーバに関連付けられた複数のストレージノード間でデータをミラーリングする必要をなくする。しかし、ストレージエリアネットワークには少なくとも2つの重大な不都合点があり、それらが、このネットワークが市場に全面的に受け入れられることを阻んできたのであり、このシステムを多くの顧客に適さないものにしている。
【0009】
第1に、SANは、専用のハードウェア、すなわち共用ストレージノードを必要とする。ストレージエリアネットワークの多くの潜在的ユーザにとって、共用ストレージノードを購入し維持するコストは法外に高い。実際、SANの多くのユーザは、多数のサーバを備える比較的大規模なネットワークをもつ大企業などである。2台か3台のサーバだけしか必要としない企業にとっては、ストレージエリアネットワークを実装することが費用効果が高いとは考えられない。
【0010】
第2に、SANは、ネットワークサーバの故障に対する耐性はあるが、他のハードウェア故障に応答し、あるいはこれを防止するのにはあまり適さない。例えば、ストレージエリアネットワークでは単一の共用ストレージノードを使用するため、その共用ストレージノードに関連するどんな故障や問題でも、そのSANをオフラインにする可能性があり、また場合によっては、その共用ストレージノードに記憶されていたデータを失わせる可能性もある。したがって、基本的なSAN構成は高度のデータ完全性を提供せず、データ喪失のリスクを許容できない組織での使用には耐え得ない。
【0011】
【特許文献1】
米国特許第5,157,663号明細書
【発明の開示】
【発明が解決しようとする課題】
【0012】
本発明は、物理共用ストレージノードを使用せずに仮想ストレージエリアネットワークを提供するコンピュータネットワークに関する。
【課題を解決するための手段】
【0013】
本発明によれば、このネットワークは、それぞれが、ネットワークデータを記憶するために各自のディスクを備える2台以上のサーバを含む。以下の考察では、2台のサーバを備えるネットワークを考える。ただし、2台のサーバに関して述べる原理は、2台を上回るサーバを備えるネットワークに敷衍することができる。
【0014】
ネットワーク内のユーザワークステーションが一方のサーバに書込み処理要求を発行すると、その要求を受け取ったサーバはそれ自体のディスクにおいてその書込み処理を実行し、ミラーエンジンおよび専用リンクを使ってその書込み処理要求を他方のサーバに送る。そのミラーリングされた書込み処理要求を受け取ると、他方のサーバは、それ自体のディスクにおいてその書込み処理を実行する。このようにして、一方のサーバのディスクに書き込まれたデータが別のサーバのディスクにも書き込まれ、それによって、そのネットワークデータが両方のディスクにミラーリングされ記憶される。
【0015】
両方のサーバのディスクに同じネットワークデータが存在するので、任意のユーザワークステーションからの読取り処理要求にどちらのサーバでも応じることができる。各サーバにあるポリシングプロトコルモジュールは、協働してポリシングプロトコルを実施し、このプロトコルが、各サーバがそのネットワークデータにアクセスするためのタイミングおよび優先度を調整する。例えば、このポリシングプロトコルは、一度に1台のサーバだけしかそのネットワークデータの個々の部分への書込み要求を処理できないと指定し、それによってデータが破壊されるのを防止することができる。
【0016】
データがネットワーク内にある各サーバのディスクにミラーリングされ記憶されるので、そのネットワークは、一方のサーバの故障に容易に耐えることができる。例えば、第1のサーバに故障が発生した場合、他方のサーバはそれ自体のディスクに記憶されたすべてのネットワークデータにアクセスすることができ、それ自体のディスクを使ってすべての処理要求を処理することができる。ネットワーク内の各サーバのディスクに同じネットワークデータが記憶されているので、そのデータは、サーバから見ると、1台の共用ストレージノードに記憶されているように見える。したがって、本発明は、各サーバがすべてのネットワークデータに直ちにアクセスできるという点で実際のストレージエリアネットワークが故障に対応する方式に類似したやり方で処理要求およびネットワークサーバの故障に対応する、仮想ストレージエリアネットワークを提供する。
【0017】
本発明の仮想ストレージエリアネットワークおよび仮想共用ストレージノードには、従来のストレージエリアネットワークと比べて著しい利点がある。例えば、本発明のネットワークは物理共用ストレージノードを必要としない。したがって、従来のストレージエリアネットワークに関連するコストの多くが不要になる。本発明によりこのネットワークの稼動コストが低減されるので、わずか2台のサーバしか含まないネットワークを所持する企業にもこのネットワークを適合させることができる。
【0018】
さらに、1台の物理共用ストレージノードを使用するのとは異なり、複数のサーバのディスクに同じネットワークデータをミラーリングし記憶することによって、本発明のネットワークでは、従来のストレージエリアネットワークよりもディスク故障に対して著しく大きな耐性が得られる。例えば、本発明に従って動作するネットワークの一方のサーバのディスクが故障した場合、ネットワーク内の他方のサーバのディスクにはすべてのネットワークデータが記憶されていたはずである。それとは対照的に、従来のストレージエリアネットワークの物理共用ストレージノードが故障した場合、そのノードに記憶されたデータは失われる可能性があり、あるいは、最低限でも、そのデータが一時的にアクセス不能になるはずである。
【0019】
本発明のその他の特徴および利点については、以下の詳細な説明で述べる。その一部はこの説明を読めば自明であり、あるいは本発明を実施することによって知ることができる。これらの本発明の特徴および利点は、添付の特許請求の範囲で具体的に指摘される手段およびそれらの組み合わせによって実現し得ることができる。本発明の上記その他の特徴は、以下の詳細な説明および添付の特許請求の範囲を読めばより完全に明らかになり、あるいは以下で述べるように本発明を実施することによって知ることができる。
【0020】
どのようにすれば本発明の上記その他の利点および特徴を得られるか説明するために、上記で簡単に述べた本発明のより詳細な説明を、添付の図面に示す本発明の具体的な実施形態に関して以下で示す。これらの図面は、本発明の典型的な実施形態を示すものにすぎず、したがって、本発明の範囲を限定するものと見なすべきでないという理解の下に、添付の図面を使用して、以下で、本発明をより具体的かつ詳細に述べ説明する。
【発明を実施するための最良の形態】
【0021】
本発明は、複数のサーバのディスク上にネットワークデータをミラーリングして記憶し、それら複数のサーバが、物理共用ストレージノードをもたずに、仮想ストレージエリアネットワークを提供するネットワークに関する。このネットワーク内の複数のサーバのそれぞれは、ネットワークデータを記憶するディスクと、そのサーバとネットワーク内の他のサーバとの通信を可能にするミラーエンジンとを備える。このサーバは、書込み処理要求を受け取ると、その書込み処理をそれ自体のディスクで実行すると共に、ミラーエンジンおよび専用リンク、あるいは他の通信手段を使って、その書込み処理要求をネットワーク内の他のサーバに送る。他のサーバは、その書込み処理要求を受け取り、それらの対応するサーバのディスクでその書込み処理を実行する。このようにして、複数のサーバのそれぞれのディスクに同じネットワークデータが記憶される。これらのサーバの1台またはいずれかのサーバに関連するディスクが故障した場合は、ネットワーク内に残っている他方のまたは他のサーバが、それらのサーバに対応するディスクに記憶されたネットワークデータを使って、ネットワーク内の任意のユーザワークステーションのためにネットワークサービスを提供することができる。
【0022】
A.例示的稼働環境
本発明の実施形態は、以下でより詳細に論じるように、様々なコンピュータハードウェアを含む、専用または汎用コンピュータを含むことができる。また、本発明の範囲内に含まれる実施形態は、コンピュータ実行可能命令またはデータ構造を搬送または記憶するコンピュータ可読媒体を含むこともできる。そうしたコンピュータ可読媒体は、汎用または専用コンピュータからアクセスできる使用可能などんな媒体でもよい。例を挙げると、それだけには限らないが、そうしたコンピュータ可読媒体には、RAM、ROM、EEPROM、CD−ROM他の光ディスク記憶装置、磁気ディスク記憶装置他の磁気記憶装置、あるいは、コンピュータ実行可能命令またはデータ構造の形で所望のプログラムコード手段を搬送または記憶するのに使用でき、かつ汎用または専用コンピュータからアクセスできる他の任意の媒体を含むことができる。ネットワークまたは別の通信接続(有線、無線、または有線または無線の組み合わせのいずれか)を介してコンピュータに情報が転送または提供されるとき、そのコンピュータは適切に、その接続を1つのコンピュータ可読媒体と見なす。したがって、そうしたどんな接続も、適切に、コンピュータ可読媒体と呼ばれる。コンピュータ可読媒体の範囲内には上記のものの組合せも当然含まれる。コンピュータ実行可能命令には、例えば、汎用コンピュータ、専用コンピュータまたは専用処理装置に特定の機能または機能群を実施させる命令およびデータが含まれる。
【0023】
図2および以下の考察は、本発明を実装するのに適したコンピュータ環境の簡潔な、一般的記述を提供するためのものである。必須ではないが、以下では本発明を、ネットワーク環境においてコンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的状況で説明する。一般に、プログラムモジュールには、個々のタスクを実施し、あるいは個々の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。コンピュータ実行可能命令、関連データ構造、およびプログラムモジュールが、本明細書で開示する方法のステップを実行するプログラムコード手段の例である。そうした実行可能命令または関連データ構造の特定のシーケンスが、それらのステップに記述される機能の実装に対応する各動作の例である。
【0024】
本発明が、パーソナルコンピュータ、ハンドヘルド機器、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家電製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含めて、多様なコンピュータシステム構成を有するネットワークコンピュータ環境で実施できることを、当分野の技術者は理解するであろう。また、本発明は、通信ネットワークを介して(有線リンク、無線リンク、または有線または無線リンクの組み合わせのいずれかによって)リンクされた、ローカルおよびリモートの処理装置によってタスクが実施される、分散コンピュータ環境でも実施することができる。分散コンピュータ環境では、プログラムモジュールはローカル記憶装置とリモート記憶装置の両方に位置することができる。
【0025】
図2を参照すると、本発明を実装するための例示的システムは従来型のコンピュータ20の形での汎用コンピュータ装置を含み、この装置は処理装置21、システムメモリ22、およびシステムメモリ22を含む様々なシステムコンポーネントを処理装置21に結合するシステムバス23を含む。システムバス23は、メモリバスまたはメモリ制御装置、周辺バス、および様々なバスアーキテクチャのいずれかを使用するローカルバスを含む、いくつかのタイプのバス構造のいずれでもよい。システムメモリは読取専用メモリ(ROM)24およびランダムアクセスメモリ(RAM)25を含む。起動時などにコンピュータ20内の要素間の情報転送を支援する基本ルーチンを含む、基本入出力システム(BIOS)26は、ROM24に記憶することができる。
【0026】
また、コンピュータ20は、磁気ハードディスク39の読取りおよび書込みのための磁気ハードディスクドライブ27、取り外し可能磁気ディスク29の読取りおよび書込みのための磁気ディスクドライブ28、CD−ROMまたは他の光媒体など取り外し可能光ディスク31の読取りおよび書込みのための光ディスクドライブ30も含む。前述の構造のいずれも、本明細書で述べる仮想ストレージエリアネットワークの構築に使用できる記憶装置や記憶ボリュームの例である。磁気ハードディスクドライブ27、磁気ディスクドライブ28、光ディスクドライブ30は、それぞれ、ハードディスクドライブインタフェース32、磁気ディスクドライブインタフェース33、光ドライブインタフェース34によって、システムバス23に接続される。これらのドライブおよびそれに関連するコンピュータ可読媒体は、コンピュータ20のための、コンピュータ実行可能命令、データ構造、プログラムモジュールおよびその他のデータの不揮発性記憶を提供する。本明細書で述べる例示的環境は、磁気ハードディスク39、取り外し可能磁気ディスク29および取り外し可能光ディスク31を用いるが、磁気カセット、フラッシュメモリカード、DVD、ベルヌーイカートリッジ、RAM、ROMなどを含めて、他のタイプのデータ記憶用コンピュータ可読媒体を使用することもできる。
【0027】
オペレーティング・システム35、1つまたは複数のアプリケーションプログラム36、その他のプログラムモジュール37、およびプログラムデータ38を含めて、1つまたは複数のプログラムモジュールを含むプログラムコード手段は、ハードディスク39、磁気ディスク29、光ディスク31、ROM24またはRAM25に記憶させることができる。ユーザは、キーボード40、ポインティング装置42、またはマイクロフォン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナなど他の入力装置(図示せず)を介して、コンピュータ20にコマンドおよび情報を入力することができる。上記およびその他の入力装置は、しばしば、システムバス23に結合されたシリアルポートインタフェース46を介して処理装置21に接続される。あるいは、これらの入力装置は、パラレルポート、ゲームポート、USB(universal serial bus)など他のインタフェースによって接続することもできる。また、システムバス23には、ビデオアダプタ48などのインタフェースを介して、モニタ47または他の表示装置も接続される。モニタの他に、パーソナルコンピュータは、一般に、スピーカやプリンタなど、他の周辺出力装置(図示せず)も含む。
【0028】
コンピュータ20は、リモートコンピュータ49a、49bなどの1台または複数のリモートコンピュータへの論理接続を使って、ネットワーク環境で動作することができる。リモートコンピュータ49a、49bは、それぞれ、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイスまたは他の通常のネットワークノードとすることができ、一般に、コンピュータ20に関連する前述の各要素の多くまたは全部を含むことができるが、図2には記憶装置50a、50bとそれらに関連するアプリケーションプログラム36a、36bのみを示してある。図2に示す論理接続には、それだけに限らないが例として本明細書に示す、ローカルエリアネットワーク(LAN)51および広域ネットワーク(WAN)52が含まれる。こうしたネットワーク環境は、事業所単位または企業単位のコンピュータネットワーク、イントラネットおよびインターネットではよく見られるものである。
【0029】
LANネットワーク環境で使用されるとき、コンピュータ20はネットワークインタフェースまたはアダプタ53を介してローカルネットワーク51に接続される。WANネットワーク環境で使用されるとき、コンピュータ20は、モデム54、無線リンク、またはインターネットなど広域ネットワーク52を介して通信を確立する他の手段を含むことができる。モデム54は、内蔵または外付けとすることができ、シリアルポートインタフェース46を介してシステムバス23に接続される。ネットワーク環境では、コンピュータ20に関連して示すプログラムモジュール、またはその一部は、リモート記憶装置に記憶させることができる。図示のネットワーク接続は例示的なものであり、広域ネットワーク52を介して通信を確立する他の手段も使用できることが理解されよう。
【0030】
B.仮想ストレージエリアネットワーク
図3に、本発明の仮想ストレージエリアネットワークの代表的構成を示す。図3の例では、例示のために、2台のサーバコンピュータ310、320がネットワーク301のためのネットワークサービスを提供するものとする。しかし、本発明のネットワークのアーキテクチャは、3台以上のサーバを備えるネットワークに容易に拡大することができる。その例については以下で図5を参照して論じる。また、ネットワーク301は、任意の台数のユーザワークステーション302を含み、それらはパーソナルコンピュータや、サーバ310、320からネットワークサービスを受け取る他のどんなコンピュータ装置とすることもできる。
【0031】
各サーバ310、320は、ポリシングプロトコルモジュール311、321、および入出力装置ドライバ313、323を含む。サーバA310およびサーバB320は、仮想共用ストレージノード340を構築するように協力して動作する。仮想共用ストレージノード340は、図1の共用ストレージノード140などのような物理共用ストレージノードではない。それとは異なり、仮想共用ストレージノード340は、以下で図4を参照してより詳細に述べる様々なハードウェアおよびソフトウェアコンポーネントを含み、それらのコンポーネントは、入出力ドライバ313、323から見ると、実際の共用ストレージノードに関連付けられているように見える機能を提供する。したがって、この意味で、ネットワーク301は仮想共用ストレージノード340を含み、サーバ310、320から仮想共用ストレージノード340にアクセスできるようにするネットワーク301の部分は仮想ストレージエリアネットワークを表す。
【0032】
また、仮想共用ストレージノード340と指定された図3の領域の外にある、ハードウェアおよびソフトウェアを含むネットワーク301のネットワーク構成は、既存のネットワークの対応するコンポーネントと類似のまたは実質的に同一のものとすることができ、図1に示すネットワーク101など従来の実際のストレージエリアネットワークの対応するコンポーネントと類似のまたは実質的に同一のものとすることもできる。本発明に従って動作するネットワークの一利点は、現在、従来のストレージエリアネットワークと共に使用するために存在する、既存のポリシングプロトコルソフトウェアおよび他のソフトウェアと共存できることである。
【0033】
図4を参照すると、仮想共用ストレージノード340の物理コンポーネントは、図1の従来のストレージエリアネットワークの実際の共用ストレージノード140のコンポーネントと大きく異なることがわかる。例えば、図4のネットワーク301は物理共用ストレージノードを含まず、これにより、ストレージエリアネットワークを取得し稼動させることに伴う費用の多くが不要になる。その代わり、サーバ310はそれそれ自体のディスク319を備え、サーバ320もそれそれ自体のディスク329を備える。したがって、サーバ310、320は、それぞれがそれ自体のディスクを備える、普通のまたは従来のネットワークサーバとすることができる。言い換えると、サーバ310、320のハードウェアは、実際のストレージエリアネットワーク以外のエンタープライズネットワークで現在使用されている大多数のサーバのハードウェアと類似のまたは実質的に同一のものとすることができる。本明細書で使用する際、「ディスク」および「大容量記憶装置」は、本明細書に述べる方法を実施するための、どんなデータ記憶装置または構造も含むものであると広義に解釈すべきである。
【0034】
このようなサーバ310、320が仮想ストレージエリアネットワーク機能を提供できるようにするコンポーネントには、ミラーエンジン317、327、および専用リンク315が含まれる。ミラーエンジン317、327が、大容量記憶装置間または異なるサーバのディスク間でデータをミラーリングする手段の例である。また、データミラーリング手段に相当する他の構造を本発明と共に使って本明細書で述べる機能を実施することもできる。さらに、前述のように、仮想共用ストレージノード340と指定された図4の領域の外にある、サーバ310、320で動作するポリシングプロトコルモジュール311、321および他のソフトウェアは、実際のストレージエリアネットワークのポリシングプロトコルおよび他の諸機能を動作させるのに従来使用されてきた既存のソフトウェアと類似のまたは同一のものとすることができる。
【0035】
図6および図7に、ミラーエンジン317、327および専用リンク315を使って、どのようにディスク319、329上にデータをミラーリングし、それによってサーバ310、320がそれぞれすべてのネットワークデータにアクセスできるようにするかを示す。図6に示すように、ユーザワークステーション302aのユーザは、データブロックA350をネットワーク301に関連するディスクに書き込むことを求める書込み処理要求をこのユーザワークステーションに発行させる。図6に示すように、この書込み処理要求はネットワーク301を介してサーバA310に送られる。ネットワーク301のどのサーバ(例えば、サーバA310やサーバB320)も、任意のユーザワークステーションからのすべての処理要求を処理することができるので、この処理を行うために個々のサーバ310や320をどのように選択するかは本発明にとって決定的なものではない。サーバ310、320間の負荷を均衡化するために、所望の任意の負荷均衡化アルゴリズムを実施することができる。あるいは、デフォルト設定で、個々のサーバを個々のユーザワークステーションに割り当てることもできる。
【0036】
この例では、サーバA310がこの書込み処理要求を受け取りその要求を入出力ドライバ313に渡す。次いで、入出力ドライバ313は、その書込み処理要求を、入出力ドライバ313から見て、仮想共用ストレージノードであると見なされるもの(すなわち、図4の仮想共用ストレージノード340)に送る。
【0037】
ポリシングプロトコルモジュール311は、サーバB320のポリシングプロトコルモジュール321と共に、サーバA310が、現在、ディスク319、329への書込みアクセス権を有しているかどうか判定するように動作する。ポリシングプロトコルモジュール311、312の1つの主要な目的は、一度に1台のサーバだけしかディスク319、329の個々のセクタまたはデータブロックに書込みアクセスできないようにすることである。各サーバ310、320は、一般に、すべてのネットワークデータにアクセスできるため、このポリシングプロトコルを実装せずに、どのサーバもこれらのディスクにいつでも書込みアクセスできるようにすると、データ破壊をもたらす可能性がある。入出力ドライバ313、323およびポリシングプロトコルモジュール311、321から見ると、サーバA310およびサーバB320は仮想共用ストレージノードを使用しているように見えるので、本発明と共に使用されるポリシングプロトコルは、実際のストレージエリアネットワークと共に従来使用されてきたポリシングプロトコルと類似のまたは同一のものとすることができる。言い換えると、以前述べたように、サーバA310上およびサーバB320上で動作するソフトウェアの多くは、実際のストレージエリアネットワークと共に使用される対応するソフトウェアと類似のまたは同一のものとすることができる。
【0038】
本発明と共に従来のポリシングプロトコルを使用することができるので、当分野の技術者にはこのポリシングプロトコルの性質が理解されよう。一般に、ポリシングプロトコルは、従来のストレージエリアネットワークと共に使用するのであれ、あるいは本発明の仮想ストレージエリアネットワークと共に使用するのであれ、入出力要求を受け取ったサーバが、現在、そのネットワーク内のその他のサーバに対するアクセス優先権を有しているかどうか判定する。例えば、サーバA310が書込み処理要求を受け取るとした場合、サーバA310およびサーバB320は、ネットワーク301のネットワークインフラストラクチャを介して相互にやりとりし、ポリシングプロトコルモジュール311、321を使って、その書込み処理を受け取るディスクのセクタまたは他の部分への書込みアクセス優先権をどちらのサーバが有するか判定する。本発明と共に多様なポリシングプロトコルを使用することができるが、多くのポリシングプロトコルは、複数のサーバ間に分配され、それら複数のサーバが相互にやりとりするときに実行されるという共通の特徴を有する。
【0039】
次に図6に戻ると、入出力ドライバは書込み処理要求を、その入出力ドライバが仮想共用ストレージノードであると見なすものに送る。ただし、物理的には、この書込み処理要求を受け取るのはミラーエンジン317である。この書込み処理要求は、ミラーエンジン317からディスク319に送られ、そこで処理されて、データA350がディスクの個々のセクタまたは他の領域に書き込まれる。データAをディスク329にミラーリングするため、ミラーエンジン317は、サーバB320の対応するミラーエンジン327にもこの書込み処理要求を送る。この書込み処理要求は専用リンク315または別の通信手段によって送られる。別の通信手段には、任意の無線または有線通信手段の1つまたはその組み合わせを含むことができる。専用リンク315が使用される場合、この物理的専用リンクは、ネットワーク301と従来のネットワークとの間の1つの物理的相違点を表す。本発明の他の実施形態では、専用リンク315を使用せずに、ミラーエンジン317および327を使ってデータをミラーリングすることができる。例えば、通常は、ユーザワークステーション302とサーバ310、320との間でのデータ送信に使用されるネットワーク301のネットワークインフラストラクチャを使って、ミラーリングされた書込み処理要求をあるサーバから別のサーバに送ることもできる。専用リンク315、ネットワーク301のネットワークインフラストラクチャおよび他の通信手段が、サーバと大容量記憶装置または各サーバのディスクとの間の通信手段の例である。
【0040】
いずれにしても、ミラーエンジン327は、ミラーリングされた書込み処理要求を受け取り、それをディスク329に送り、そこでその要求が処理されて、データA350がディスク329に書き込まれる。このようにして、ユーザワークステーション302aが書込み処理要求を発行した後、この書込み処理要求に関連したデータはディスク319およびディスク329に書き込まれて、両方のディスクが同じネットワークデータのミラーリングされたコピーを含むことになる。また、ユーザワークステーション302a〜nの1台が、ファイルまたはディスク319からデータを削除させる書込み処理要求を発行するときにも、類似のプロセスが実施されることに留意されたい。言い換えると、ディスク319からデータが削除される場合、その同じデータがディスク329からも削除されて、両ディスクに同じネットワークデータがミラーリングされ記憶される。
【0041】
図7に、ディスク319、329間でミラーリングされるデータの別の例を示す。この事例では、ユーザワークステーション302nは、データB352をディスク329に書き込むよう求める書込み処理要求を送る。この書込み処理要求はサーバB320に送られ、そこで入出力ドライバ323およびポリシングプロトコルモジュール321によって、上記で図6のデータA350の書込み処理要求に関して述べたものと同様の方式で処理される。図7では、ミラーエンジン327はこの書込み処理要求をディスク329に送り、そこでこの要求が処理され、データBがディスク329に書き込まれる。さらに、ミラーエンジン327は、専用リンク315またはネットワーク301に関連する別の通信手段によって、この書込み処理要求をサーバA310の対応するミラーエンジン317に送る。次いで、ミラーエンジン317は、この書込み処理要求をディスク319に送り、そこでその要求が処理されて、データB352がディスク319に書き込まれる。したがって、図6および図7には、ネットワーク301内の任意のサーバ310、320が、書込み処理要求に関連するデータをそのネットワーク内のサーバのディスク319、329のそれぞれにどのようにして記憶させミラーリングさせることができるかが示されている。
【0042】
図8に、書込み処理要求を処理し、それに関連するデータをネットワーク内の各ディスクにミラーリングする方法を要約する。ステップ710で、ユーザワークステーションは書込み処理要求を発行する。ステップ720で、この要求はネットワークを介して特定のサーバに送られる。ステップ730で、この特定のサーバがポリシングプロトコルを実行して、そのサーバが、現在、ネットワーク内のディスクへの書込みアクセス権を有するかどうか判定する。判断ブロック732により、そのサーバが書込みアクセス権をもたない場合、この処理要求はステップ751で拒まれステップ753で打ち切られる。あるいは、判断ブロック732により、そのサーバが書込みアクセス権をもたない場合、そのサーバに書込みアクセスが許可される時までその処理を待ち行列に入れておくこともできる。
【0043】
判断ブロック732により、そのサーバが書込みアクセス権を有する場合、ステップ741でこの処理要求を受け入れる。次いで、ステップ743で、ミラーエンジンがこの書込み処理要求をコピーし、それをネットワーク内の1台または複数の他のサーバに送る。ステップ749で、この書込み処理要求を受信した特定のサーバは、それ自体のディスクでこの書込み処理を実行する。ステップ749と同時に、あるいはその直前または直後に、ステップ750が実行され、そこでこの書込み処理要求のミラーリングされたコピーを受け取ったネットワーク内の他方のまたは他のサーバが、ミラーリングされた書込み処理要求を処理して、同じネットワークデータが他方のまたは他のサーバに関連するディスクにも記憶されるようにする。ステップ743、749、750を実施する順序は、本発明にとって決定的なものではない。
【0044】
図7を参照して、ネットワーク301がどのようにサーバまたはディスクの故障に対応しそれに耐えることができるかを示す。この例では、データA350およびデータB352が、前述のようにディスク319と329の両方にミラーリング済みであるものとする。サーバA310がオフラインになる前に、サーバAは、サーバAが各ワークステーションに図4の340に示す仮想共用ストレージノードへのアクセスを提供して、この仮想共用ストレージノードのディスクのサービスを必要とするどのワークステーションも、サーバA310を介してそれらのサービスを受けられるようにできることを知らせる。通常の動作では、サーバA310は、ディスク319を使ってこの仮想共用ストレージノードへのアクセスを提供する。この例では、サーバA310は動作可能のままであるが、これに関連するディスク319はオフラインになり何らかの事情で使用不能になるものとする。サーバA310は、ワークステーションに対して、サーバAが、ディスク319を含むこの仮想共用ストレージノードへのアクセスを提供できると知らせ続ける。というのは、サーバA310から見れば、仮想共用ストレージノードおよびそこに記憶されたデータは、依然として使用可能であるからである。
【0045】
ディスク319の故障後、ワークステーション302a〜dは、サーバA310を介して仮想共用ストレージノードによって処理される読取り処理要求を発行し続けることができる。この例では、ワークステーション302aがデータA350向けの読取り処理要求を発行するものと想定する。サーバA310が読取り処理要求を受け取ると、入出力ドライバ313がこの読取り処理要求を受け取って、それを、図4に示すように仮想共用ストレージノード340内にあるミラーエンジン317に送る。
【0046】
この時点において、この読取り処理要求は、サーバA310から見て、共用ストレージノードであると見なされる記憶装置に、通常のやり方で送られている。しかし、前述のように、ディスク319はアクセス不能であり、この読取り処理要求を処理することができない。したがって、この読取り処理要求は、専用リンク315を使ってサーバB320に送られる。次いで、この読取り処理要求を使って、データA350を含めてネットワークデータの完全なコピーを有する、ディスク329にアクセスする。したがって、ネットワーク301は、ミラーエンジン317、327を使って、サーバA310が受け取る読取り処理要求を転送することによって、ディスク319がアクセス不能であることにシームレスに対応することができる。ネットワーク301の動作は、ディスク319の故障にもかかわらず中断なしで続行する。さらに、サーバA310は、ディスク319の故障後、この仮想共用ストレージノードを使って同様の方式で、書込み処理要求など他のネットワーク処理要求に応じることができる。
【0047】
ディスク故障に対応する前述の方法では、ディスク故障時に部分的に完了した可能性があるネットワークアクティビティを混乱させることなく、ネットワークアクティビティを続行させることができる。このようにしてディスク故障に対応するには、サーバA310の動作可能な入出力ドライバ313とミラーエンジン317が必要である。
【0048】
これらのサーバA310の機能コンポーネントが動作不能になった場合、一実施形態によれば、ネットワーク301には、ネットワークデータへのアクセスを提供し続ける第2の方法がある。このシナリオでは、ユーザワークステーション302aが、通常はサーバA310が処理するはずの読取り処理要求を発行するとした場合、サーバB320がこの読取り処理要求を処理することができる。というのは、サーバB320は、それ自体のディスク329上ですべてのネットワークデータにアクセスできるからである。例示のために、ユーザワークステーション302によって発行されたこの読取り処理要求はデータA350向けのものであるとする。サーバA310はオフラインなので、サーバB320がこの読取り処理要求を処理する。サーバB320は、ディスク329に記憶されたネットワークデータのミラーリングされたコピーを使ってこの読取り処理要求を処理し、それによってユーザワークステーションにデータA350への読取りアクセスを提供する。ネットワークのサーバの1台が故障し、あるいはそれ以外の理由でオフラインになった場合、従来のストレージエリアネットワークにおいてもすべてのサーバにすべてのネットワークデータへの読取りアクセスを提供させることができることに留意されたい。しかし、従来のストレージエリアネットワークとは異なり、本発明のネットワークは、物理共用ストレージノードを使用せずに任意のサーバを介してすべてのネットワークデータへのアクセスを提供する。
【0049】
前述の、本発明のネットワークがディスクまたはサーバの故障後に稼動を続行できる機能の例は、従来のストレージエリアネットワークでは不可能な大きな利点を提供する。一般に、従来のストレージエリアネットワークには1台のコンポーネントしかなく、それが故障するとそのデータへのアクセスが不能になることがある。例えば、典型的な従来型のストレージエリアネットワークはSAN接続カードまたはディスクドライバを含み、それが動作可能でなければ共用ストレージノードへのアクセスを提供することができない。
【0050】
また、従来のストレージエリアネットワークの共用ストレージノードのディスクが物理的に故障すると、そのデータへのアクセスが失われることがある。実際、図1の共用ストレージノード140が物理的に損傷した場合、あるいはそのノードに記憶されたデータが物理的に失われた場合、この従来型ストレージエリアネットワークでは、共用ストレージノード140の故障に伴う稼動停止時間に加えて、ネットワークデータに永久的で回復不能な損失を被る可能性もある。この可能性をなくすために、従来型ストレージエリアネットワークの管理者は、RAID(redundant arrays of independent disks)を購入しそれを共用ストレージノードに維持することができるが、これはシステムのコストと複雑さを増大させる。前述のように、本発明は、RAIDを必要とせずに、仮想共用ストレージノードにおけるディスクの耐障害機能を可能にする。
【0051】
図3、4、6、7において、2台のサーバについて示した本発明の方法は、2台を上回るサーバを有するネットワークに拡大することができる。例えば図5には、本発明による、サーバA520、サーバB520、サーバC530の3台のサーバを備えるネットワークを示してある。図5のネットワーク501の動作は、図6および図7を参照して前述したネットワーク301の動作と同様である。例えば、サーバAがユーザワークステーション502から書込み処理要求を受け取ると、この書込み処理要求は入出力ドライバ513によって処理される。ポリシングプロトコルモジュール511およびサーバA510は、サーバB520のポリシングプロトコルモジュール521およびサーバC530のポリシングプロトコルモジュール531と協力して動作する。
【0052】
サーバA510のミラーエンジン517は、専用リンク515または他の通信リンクを介して、サーバB520のミラーエンジン527にこの書込み処理要求のコピーを送る。また、ミラーエンジン517は、専用リンク555または他の通信リンクを介して、サーバC530のミラーエンジン537にもこの書込み処理要求のコピーを送る。この場合も、他の任意の通信リンクを使用してネットワーク内のその他のサーバの様々なミラーエンジンに書込み処理要求のコピーを送れることに留意されたい。例えば、ネットワーク501のネットワークインフラストラクチャを使ってそうした書込み処理要求を送ることもできる。あるいは、専用リンク515、ミラーエンジン527、専用リンク525を順次介して書込み処理要求を送ることによって、ミラーエンジン517からミラーエンジン537に書込み処理要求を送ることもできる。重要なことは、ミラーエンジン517、527、537が相互にやりとりできることである。前述のように、ディスク519、529、539の1つに書き込まれたデータは、すべてのディスクに記憶される。サーバ510、520、530の1台が故障した場合、残りのサーバは、どのユーザワークステーションからのどのネットワークデータを求めるどんな要求も処理することができる。
【0053】
本発明は、本発明の要旨やその本質的特徴から逸脱することなく、他の特定の形態で実施することができる。前述の実施形態は、あらゆる点において、例示のためのものにすぎず限定的なものではないと見なすべきである。したがって、本発明の範囲は、前述の説明によってではなく、添付の特許請求の範囲によって示される。この特許請求の範囲と等価の意味および範囲内に包まれるすべての変更は、この特許請求の範囲内に包含されるべきものである。
【図面の簡単な説明】
【0054】
【図1】物理共用ストレージノードを備える従来のストレージエリアネットワークを含むネットワークシステムを示す図である。
【図2】本発明に適した稼働環境を提供するシステムの一例を示す図である。
【図3】仮想共用ストレージノードを示す、本発明による耐障害ネットワークを例示する概略図である。
【図4】図3の仮想共用ストレージノードの機能を提供するハードウェアその他のコンポーネントを示す、図3の耐障害ネットワークを例示する概略図である。
【図5】3台のサーバを備える、本発明によるネットワークを示す概略図である。
【図6】2台のサーバに関連付けられたディスク間でネットワークデータをミラーリングし、それによってサーバのそれぞれにそのネットワークデータへのアクセスを提供する方法を示す図である。
【図7】2台のサーバに関連付けられたディスク間でネットワークデータをミラーリングし、それによってサーバのそれぞれにそのネットワークデータへのアクセスを提供する方法を示す図である。
【図8】2台のサーバに関連付けられたディスク間でネットワークデータをミラーリングし、それによってサーバのそれぞれにそのネットワークデータへのアクセスを提供する方法を示す流れ図である。

Claims (27)

  1. 第1の大容量記憶装置を備える第1のサーバおよび第2の大容量記憶装置を備える第2のサーバを含むネットワークにおいて、仮想ストレージエリアネットワークを構築するように前記第1の大容量記憶装置に記憶されたデータを前記第2の大容量記憶装置にミラーリングする方法であって、
    前記第1のサーバで書込み要求を受け取る工程と、
    前記第1の大容量記憶装置にデータを書き込むために前記第1のサーバで前記書込み要求を実行する工程と、
    前記第1のサーバのミラーエンジンを使って、前記書込み要求のコピーを前記第2のサーバに送る工程と、
    前記第2の大容量記憶装置に前記データを書き込むために前記第2のサーバで前記書込み要求の前記コピーを実行し、それによって前記データを前記第2の大容量記憶装置にミラーリングする工程とを含み、前記データが、前記第1のサーバおよび前記第2のサーバから見て、事実上、ストレージエリアネットワークの共用ストレージノードに記憶されているように見える
    ことを特徴とするデータミラーリング方法。
  2. 前記書込み要求のコピーを送る前記工程は、前記第1のサーバと前記第2のサーバとの間の専用リンクを使って前記書込み要求の前記コピーを送る工程を含むことを特徴とする請求項1に記載のデータミラーリング方法。
  3. 前記書込み要求のコピーを送る前記工程は、前記ネットワークのインフラストラクチャを使って前記書込み要求の前記コピーを送る工程を含み、前記インフラストラクチャは、前記ネットワークがワークステーションとサーバとの間で使用されデータを送ることを特徴とする請求項1に記載のデータミラーリング方法。
  4. 前記第1の大容量記憶装置にある前記データへのアクセスが不能になるような故障が発生する工程と、
    前記第2の大容量記憶装置にミラーリングされた前記データにアクセスすることによって、前記第1の大容量記憶装置に書き込まれたデータに対する読取り要求を実行する工程と
    をさらに含むことを特徴とする請求項1に記載のデータミラーリング方法。
  5. 前記故障は前記第1のサーバがオフラインになることを含むことを特徴とする請求項4に記載のデータミラーリング方法。
  6. 前記故障は、前記第1の大容量記憶装置の故障を含むことを特徴とする請求項4に記載のデータミラーリング方法。
  7. 前記第1のサーバで前記書込み要求を実行する前記工程の前に、ポリシングプロトコルを使って前記第1のサーバが書込みアクセス権を有しているかどうか判定する工程をさらに含むことを特徴とする請求項1に記載のデータミラーリング方法。
  8. 前記第1のサーバで前記書込み要求を実行する前記工程は、前記第1のサーバで入出力ドライバを使って前記書込み要求の実行を開始する工程を含み、前記入出力ドライバから見て、前記書込み要求は、事実上、ストレージエリアネットワークの共用ストレージノードに記憶されているように見えることを特徴とする請求項3に記載のデータミラーリング方法。
  9. 第1の大容量記憶装置を備える第1のサーバおよび第2の大容量記憶装置を備える第2のサーバを含むネットワークにおいて、仮想ストレージエリアネットワークを介して前記第1のサーバおよび前記第2のサーバから前記データにアクセス可能にするように、前記第1の大容量記憶装置に記憶されたデータを前記第2の大容量記憶装置にミラーリングする方法であって、
    前記第1のサーバおよび前記第2のサーバから見て、仮想共用ストレージノードを含むように見える仮想ストレージエリアネットワークを構築する工程であって、前記仮想共用ストレージノードが、前記第1の大容量記憶装置、前記第2の大容量記憶装置、前記第1の大容量記憶装置と前記第2の大容量記憶装置との間のデータミラーリング手段、および前記第1のサーバと前記第2のサーバとの間の通信手段を物理的に含む工程と、
    前記仮想共用ストレージノードにデータを書き込むよう指定する書込み要求を受け取る工程と、
    前記第1の大容量記憶装置に前記データを書き込む工程であって、前記第1の大容量記憶装置にある前記データが前記第1のサーバからアクセス可能な工程と、
    前記第2の大容量記憶装置に前記データをミラーリングできるように、前記第2のサーバに前記書込み要求のコピーを送る工程であって、前記第2の大容量記憶装置にある前記データが前記第2のサーバからアクセス可能な工程と
    を含むことを特徴とするデータミラーリング方法。
  10. 前記データミラーリング手段は、前記第1のサーバに関連する第1のミラーエンジンおよび前記第2のサーバに関連する第2のミラーエンジンを含むことを特徴とする請求項9に記載のデータミラーリング方法。
  11. 前記書込み要求のコピーを送る前記工程は、前記第1のミラーエンジンを使って前記書込み要求の前記コピーの前記第2のミラーエンジンへの送信を開始する工程を含むことを特徴とする請求項9に記載のデータミラーリング方法。
  12. 前記通信手段は、前記第1のサーバと前記第2のサーバとの間でデータを送るための専用リンクを含むことを特徴とする請求項9に記載のデータミラーリング方法。
  13. 前記通信手段は前記ネットワークのインフラストラクチャを含み、前記インフラストラクチャは、前記ネットワークがワークステーションとサーバとの間でデータを送るためにも使用されることを特徴とする請求項9に記載のデータミラーリング方法。
  14. 前記第2の大容量記憶装置にあるデータへのアクセスが不能になるような故障が発生する工程と、
    他のデータに対する読取り要求を実行する工程であって、前記他のデータを前記仮想共用ストレージノードに書き込むよう指定する書込み要求を前記第2のサーバが受け取ったことに応答して前記他のデータが前記仮想共用ストレージノードに記憶されており、前記仮想共用ストレージノードにある前記データにアクセスすることによって前記読取り要求が実行される工程と
    をさらに含むことを特徴とする請求項9に記載のデータミラーリング方法。
  15. 前記仮想共用ストレージノードにある前記データにアクセスすることによって前記読取り要求を実行する工程は、前記第1の大容量記憶装置にある前記データにアクセスする工程を含むことを特徴とする請求項14に記載のデータミラーリング方法。
  16. 第2の大容量記憶装置を備える第2のサーバをも含むネットワークに含まれ、第1の大容量記憶装置を備える第1のサーバにおいて、仮想ストレージエリアネットワークを構築するように前記第1の大容量記憶装置に記憶されたデータを前記第2の大容量記憶装置にミラーリングする方法であって、
    前記第1のサーバで書込み要求を受け取る工程と、
    前記第1のサーバに関連するポリシングプロトコルモジュールを使って、前記第2のサーバが、現在、それがあるとデータ破壊を招くことがある前記第1の大容量記憶装置の一部または前記第2の大容量記憶装置の一部に対する書込みアクセス優先権を有していないと判定する工程と、
    前記第1の大容量記憶装置の一部にデータを書き込むように前記第1のサーバで前記書込み要求を実行する工程と、
    前記第1のサーバのミラーエンジンを使って、前記第2の大容量記憶装置に前記データを書き込めるように前記第2のサーバに前記書込み要求のコピーを送り、それによって、前記第1のサーバと前記第2のサーバの両方が前記データにアクセスできるようにする工程とを含み、前記データが、前記第1のサーバおよび前記第2のサーバから見て、ストレージエリアネットワークの共用ストレージノードに記憶されているように見える
    ことを特徴とするデータミラーリング方法。
  17. 前記ポリシングプロトコルモジュールを使う工程は、前記第2のサーバが現在、書込みアクセス優先権を有していないと判定するように、前記第1のサーバが前記第2のサーバとやりとりする工程を含むことを特徴とする請求項16に記載のデータミラーリング方法。
  18. 前記やりとりする工程は、前記ネットワークのインフラストラクチャを介してやりとりすることによって実施され、前記インフラストラクチャは、前記ネットワークによって使用されワークステーションとサーバとの間でデータを送ることを特徴とする請求項17に記載のデータミラーリング方法。
  19. 前記第2の大容量記憶装置にあるデータへのアクセスが不能になるような故障が発生する工程と、
    他のデータに対する読取り要求を実行する工程であって、前記他のデータを記憶するよう指定する別の書込み要求を前記第2のサーバが受け取ったことに応答して前記他のデータが前記第1の大容量記憶装置にミラーリングされており、前記第1の大容量記憶装置にある前記データにアクセスすることによって前記読取り要求が実行される工程と
    をさらに含むことを特徴とする請求項16に記載のデータミラーリング方法。
  20. 第1のサーバおよび第2のサーバが物理的に異なる大容量記憶装置にある同じデータにアクセスすることを可能にする仮想ストレージエリアネットワークであって、
    ネットワーククライアントから書込み要求および読取り要求を受け取ることができ、
    第1の大容量記憶装置、および
    第1のミラーエンジン
    を備える第1のサーバと、
    ネットワーククライアントから書込み要求および読取り要求を受け取ることができ、
    第2の大容量記憶装置、および
    第2のミラーエンジン
    を備える第2のサーバと、
    前記第1の大容量記憶装置にも書き込まれる第1のデータを前記第1のミラーエンジンが前記第2の大容量記憶装置にミラーリングできるようにし、さらに、前記第2の大容量記憶装置にも書き込まれる第2のデータを前記第2のミラーエンジンが前記第1の大容量記憶装置にミラーリングできるようにし、それによって、前記第1のサーバおよび前記第2のサーバが物理的に異なる大容量記憶装置にある同じデータにアクセスできるようにする前記第1のミラーエンジンと前記第2のミラーエンジンとの間の通信手段と
    を含むことを特徴とする仮想ストレージエリアネットワーク。
  21. 前記通信手段は、前記第1のミラーエンジンと前記第2のミラーエンジンとの間の専用リンクを含むことを特徴とする請求項20に記載の仮想ストレージエリアネットワーク。
  22. 前記通信手段は、前記ネットワークのインフラストラクチャに含まれ、前記インフラストラクチャは、前記ネットワークによって使用されワークステーションとサーバとの間でデータを送ることを特徴とする請求項20に記載の仮想ストレージエリアネットワーク。
  23. ネットワーククライアントから書込み要求および読取り要求を受け取ることができ、
    第3の大容量記憶装置と、
    前記第3の大容量記憶装置に書き込まれるデータを前記第1の大容量記憶装置および前記第2の大容量記憶装置にミラーリングすることができる、第3のミラーエンジンと
    を含む第3のサーバをさらに含むことを特徴とする請求項20に記載の仮想ストレージエリアネットワーク。
  24. 前記第3のサーバと前記第1のサーバとの間の通信手段、ならびに前記第3のサーバと前記第2のサーバとの間の通信手段をさらに含むことを特徴とする請求項23に記載の仮想ストレージエリアネットワーク。
  25. 前記第1のサーバおよび前記第2のサーバは、ポリシングプロトコルを実行して、サーバが、書込み要求を受け取った時に、前記第1の大容量記憶装置および前記第2の大容量記憶装置にデータを書き込むための書込みアクセス優先権を有しているかどうか判定することを特徴とする請求項20に記載の仮想ストレージエリアネットワーク。
  26. 前記ポリシングプロトコルは、書込み要求が、前記第1の大容量記憶装置および前記第2の大容量記憶装置の特定の部分に対する未実行の可能性がある他のどの書込み要求より高い優先度を有している場合に限り、その書込み要求に応答して、前記第1のサーバおよび前記第2のサーバが、前記第1の大容量記憶装置および前記第2の大容量記憶装置の特定の部分にデータを書き込めるようにすることを特徴とする請求項25に記載の仮想ストレージエリアネットワーク。
  27. 前記第1のサーバは第1のポリシングプロトコルモジュールをさらに含み、
    前記第2のサーバは第2のポリシングプロトコルモジュールをさらに含み、前記第1のポリシングプロトコルモジュールと前記第2のポリシングプロトコルモジュールを併用して前記ポリシングプロトコルを実行することを特徴とする請求項25に記載の仮想ストレージエリアネットワーク。
JP2003509265A 2001-06-26 2002-06-25 仮想ストレージエリアネットワークを構築するためのネットワークデータミラーリング Pending JP2004535012A (ja)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
JP2004535012A true JP2004535012A (ja) 2004-11-18

Family

ID=25399477

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003509265A Pending JP2004535012A (ja) 2001-06-26 2002-06-25 仮想ストレージエリアネットワークを構築するためのネットワークデータミラーリング

Country Status (9)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013108351A1 (ja) * 2012-01-16 2015-05-11 株式会社日立製作所 計算機システム及び論理記憶領域管理方法
JP2022070769A (ja) * 2020-10-27 2022-05-13 株式会社日立製作所 クラスタシステム、クラスタシステムのフェイルオーバー制御方法

Families Citing this family (81)

* 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
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
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
US20020138559A1 (en) * 2001-01-29 2002-09-26 Ulrich Thomas R. Dynamically distributed file 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
EP1390854A4 (en) * 2001-05-01 2006-02-22 Rhode Island Education DISTRIBUTED RAID AND LOCAL INDEPENDENCE CACHE SYSTEM
US6976134B1 (en) 2001-09-28 2005-12-13 Emc Corporation Pooling and provisioning storage resources in a storage network
US7707304B1 (en) 2001-09-28 2010-04-27 Emc Corporation Storage switch for storage area network
US7404000B2 (en) * 2001-09-28 2008-07-22 Emc Corporation Protocol translation in a storage system
US7864758B1 (en) 2001-09-28 2011-01-04 Emc Corporation Virtualization in a storage system
US20030079018A1 (en) * 2001-09-28 2003-04-24 Lolayekar Santosh C. Load balancing in a storage network
US7185062B2 (en) * 2001-09-28 2007-02-27 Emc Corporation Switch-based storage services
US7558264B1 (en) 2001-09-28 2009-07-07 Emc Corporation Packet classification in a storage system
US7421509B2 (en) * 2001-09-28 2008-09-02 Emc Corporation Enforcing quality of service 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
US20090259817A1 (en) * 2001-12-26 2009-10-15 Cisco Technology, Inc. Mirror Consistency Checking Techniques For 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
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 ネットワークストレージ仮想化方法
EP1535245A1 (en) * 2002-08-21 2005-06-01 Mechtronix Systems Inc. Networked metered parking system
CN101448012B (zh) * 2002-11-12 2013-04-24 雷特泽遥距管理有限责任公司 具有ip能力分区的数据存储设备
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
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
UA89358C2 (uk) 2003-09-19 2010-01-25 Конинлийке Филипс Электроникс Н.В. Спосіб записування оптичного носія запису, оптичний носій запису і пристрій для записування інформації
JP4684605B2 (ja) * 2004-09-17 2011-05-18 株式会社日立製作所 情報伝達方法及びホスト装置
JP2006092124A (ja) * 2004-09-22 2006-04-06 Fujitsu Ltd 記憶装置、記憶制御方法および記憶制御プログラム
KR101146484B1 (ko) 2004-11-05 2012-07-05 데이터 로보틱스, 인크. 저장 시스템 상태 지시자 방법 및 저장 시스템
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
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
US7356573B2 (en) * 2005-07-08 2008-04-08 Cisco Technology, Inc. Apparatus and methods for data tapping 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
US7752255B2 (en) * 2006-09-19 2010-07-06 The Invention Science Fund I, Inc Configuring software agent security remotely
US8984579B2 (en) * 2006-09-19 2015-03-17 The Innovation Science Fund I, LLC Evaluation systems and methods for coordinating software agents
US8281036B2 (en) 2006-09-19 2012-10-02 The Invention Science Fund I, Llc Using network access port linkages for data structure update decisions
US20080072032A1 (en) * 2006-09-19 2008-03-20 Searete Llc, A Limited Liability Corporation Of The State Of Delaware 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
US8627402B2 (en) * 2006-09-19 2014-01-07 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
US8055797B2 (en) * 2006-09-19 2011-11-08 The Invention Science Fund I, Llc Transmitting aggregated information arising from appnet information
US8224930B2 (en) * 2006-09-19 2012-07-17 The Invention Science Fund I, Llc Signaling partial service configuration changes in appnets
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
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 北京中创信测科技股份有限公司 一种实现分布式共享数据库的方法
EP3230885B1 (en) 2014-12-08 2024-04-17 Umbra Technologies Ltd. Method for content retrieval from remote network regions
CN107251518B (zh) 2015-01-06 2021-03-02 安博科技有限公司 用于中立应用程序编程接口的***和方法
CN107409079B (zh) 2015-01-28 2021-05-07 安博科技有限公司 用于全局虚拟网络的***和方法
CN113381994B (zh) 2015-04-07 2023-05-02 安博科技有限公司 在云端的多边界防火墙
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
US10922286B2 (en) 2016-04-26 2021-02-16 UMBRA Technologies Limited Network Slinghop via tapestry slingshot
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
CN114168074A (zh) * 2021-11-25 2022-03-11 北京金山云网络技术有限公司 镜像存储方法、装置、存储介质以及电子设备

Family Cites Families (45)

* 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
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
EP0459912B1 (en) 1990-05-30 1996-09-11 Fujitsu Limited An issue processing system for a right to use a resource
JPH04126423A (ja) 1990-09-17 1992-04-27 Omron Corp データ処理システム
US5157663A (en) 1990-09-24 1992-10-20 Novell, Inc. Fault tolerant computer system
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
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
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
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
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
DE69435090T2 (de) 1993-12-01 2009-06-10 Marathon Technologies Corp., Stow Rechnersystem mit Steuereinheiten und Rechnerelementen
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
US5764903A (en) * 1994-09-26 1998-06-09 Acer America Corporation High availability network disk mirroring system
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
US6115752A (en) * 1998-05-21 2000-09-05 Sun Microsystems, Inc. System and method for server selection for mirrored sites
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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013108351A1 (ja) * 2012-01-16 2015-05-11 株式会社日立製作所 計算機システム及び論理記憶領域管理方法
JP2022070769A (ja) * 2020-10-27 2022-05-13 株式会社日立製作所 クラスタシステム、クラスタシステムのフェイルオーバー制御方法
JP7179810B2 (ja) 2020-10-27 2022-11-29 株式会社日立製作所 クラスタシステム、クラスタシステムのフェイルオーバー制御方法

Also Published As

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

Similar Documents

Publication Publication Date Title
JP2004535012A (ja) 仮想ストレージエリアネットワークを構築するためのネットワークデータミラーリング
US7028078B1 (en) System and method for performing virtual device I/O operations
US6360306B1 (en) Relocation of suspended data to a remote site in a distributed storage system
US8312236B2 (en) Apparatus and program storage device for providing triad copy of storage data
US7020669B2 (en) Apparatus, method and system for writing data to network accessible file system while minimizing risk of cache data loss/ data corruption
US7669032B2 (en) Host-based virtualization optimizations in storage environments employing off-host storage virtualization
US6389459B1 (en) Virtualized storage devices for network disk mirroring applications
US7734878B1 (en) System and method for performing virtual device I/O operations
US7886298B2 (en) Data transfer protocol for data replication between multiple pairs of storage controllers on a san fabric
US8046446B1 (en) System and method for providing availability using volume server sets in a storage environment employing distributed block virtualization
US7593989B2 (en) Symbiotic computing system and method of operation therefor
US20130346532A1 (en) Virtual shared storage in a cluster
US7895162B2 (en) Remote copy system, remote environment setting method, and data restore method
KR20070059095A (ko) 통신 네트워크를 통한 데이터 세트 업데이트 시스템, 방법및 장치
US7711978B1 (en) Proactive utilization of fabric events in a network virtualization environment
JP2003296167A (ja) ファイル管理システムおよびファイル管理方法
US7293191B1 (en) System and method for managing I/O errors in a storage environment employing asymmetric distributed block virtualization
US9218313B2 (en) Shared-bandwidth multiple target remote copy
AU2002320151A1 (en) Mirroring network data to establish virtual storage area network

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20041007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20041007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080425

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081003