JP2006500693A - 動的rdfグループ - Google Patents

動的rdfグループ Download PDF

Info

Publication number
JP2006500693A
JP2006500693A JP2004541501A JP2004541501A JP2006500693A JP 2006500693 A JP2006500693 A JP 2006500693A JP 2004541501 A JP2004541501 A JP 2004541501A JP 2004541501 A JP2004541501 A JP 2004541501A JP 2006500693 A JP2006500693 A JP 2006500693A
Authority
JP
Japan
Prior art keywords
data storage
group
storage system
data
director
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
JP2004541501A
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 JP2006500693A publication Critical patent/JP2006500693A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • 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/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • 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
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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
    • 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
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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
    • 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/99953Recoverability

Abstract

RDFグループ(A,B,C,D)を動的に変更する際に使用する技術。第1のデータ記憶システム(50a)とRDF交換環境内で第1のデータ記憶システムに離れた場所で接続している他のデータ記憶システム(50b)との間のRDFグループを生成、除去または変更する目的で、第1のデータ記憶システム(50a)上で遠隔システム呼出しを実行するために、システム呼出しがホスト・コンピュータ・システム(14a〜14n)により発行される。遠隔システム呼出しの実行の一部として、データが、データ記憶システム間にリンクが確立していない状態で、第1のデータ記憶システムから第2のデータ記憶システムに送られる。各データ記憶システムは、動的RDFグループによりすべてのディレクタで必要な変更を行うための処理を行う。遠隔システム呼出しの成功または失敗を示す状態は、ホスト・コンピュータ・システム(14a〜14n)に返送される。

Description

本願は、概して、コンピュータ・システムに関し、特にコンピュータ・システム構成を使用する技術に関する。
(関連出願)
本願は、2001年11月14日出願の米国仮特許出願第60/332,991号の優先権を主張する、「動的RDF」という名称の2001年11月30日出願の一部継続出願の係属中の米国特許出願第09/997,810号である。これらすべての出願は、引用により全体を本明細書の記載に援用する。
コンピュータ・システムは、1つ以上のホスト・プロセッサが使用するための異なるリソースを含むことが可能である。コンピュータ・システムのリソースおよびホスト・プロセッサは、1つ以上の通信接続により相互に接続することができる。これらのリソースは、例えば、EMC社が製造しているデータ記憶システムであるSymmetrix(商標)シリーズなどのデータ記憶装置を含むことができる。これらのデータ記憶システムは、1つ以上のホスト・プロセッサに結合することができ、各ホスト・プロセッサに記憶サービスを提供することができる。例示としてのデータ記憶システムは、一緒に接続されるとともに、コンピュータ・システムの1つ以上のホスト・プロセッサに共通データ記憶を提供するために使用することができるSymmetrix(商標)シリーズのデータ記憶装置のような1つまたはそれ以上のデータ記憶装置を含むことができる。
ホスト・プロセッサは、データ記憶システムにより種々のデータ処理タスクおよび操作を行うことができる。例えば、ホスト・プロセッサは、データ読出しおよび書込み操作などのデータ要求、およびデータ・バックアップおよびミラーリング操作などの管理タスクに関連する基本システム入出力操作を行うことができる。
ホスト・プロセッサ・システムは、複数のホスト・インタフェース・ユニット、ディスク・ドライブ、およびディスク・インタフェース・ユニットを含む記憶装置によりデータを記憶し、検索することができる。このような記憶装置は、例えば、マサチューセッツ州ホプキントン所在のEMC社から販売され、ヤナイ他の米国特許第5,206,939号、ガルツァー他の米国特許第5,778,394号、ビシュリツキ他の米国特許第5,845,147号、およびオフェックの米国特許第5,857,208号に開示されている。ホスト・システムは、それと一緒に提供される複数のチャネルを通して記憶装置にアクセスする。ホスト・システムは、記憶装置にチャネルを通してデータおよびアクセス制御情報を提供し、記憶装置は、また、チャネルを通してホスト・システムにデータを提供する。ホスト・システムは、直接記憶装置のディスク・ドライブにアドレスしないで、むしろホスト・システムに対して複数の論理ディスク・ユニットのように見えるものにアクセスする。論理ディスク・ユニットは、実際のディスク・ドライブに対応することもできるし、対応しないこともできる。複数のホスト・システムが1つの記憶装置ユニットにアクセスすることができれば、これらのホスト・システムはその中に記憶しているデータを共有することができる。
ある場合には、ある記憶装置から他の記憶装置にデータをコピーしたい場合がある。例えば、あるホストが第1の記憶装置にデータを書き込んだ場合に、第1の記憶装置を動作不能にするような災害が発生した場合、そのホスト(または他のホスト)が、第2の記憶装置のデータを使用して動作を再開できるように、異なる場所に設置されている第2の記
憶装置にそのデータをコピーすることが望ましい場合がある。このような機能は、例えば、マサチューセッツ州ホプキントン所在のEMC社から販売されているリモート・データ・ファシリティ(RDF)製品により提供されている。例えば、米国特許第5,742,792号および第5,544,347号に、RDFを使用するSymmetrix(商標)データ記憶システム間のデータ記憶装置通信が記載されている。上記2つの米国特許は、両方とも引用により本明細書の記載に援用する。RDFを使用した場合、ユーザは、第1の記憶装置をマスタ記憶装置と呼び、第2の記憶装置をスレーブ記憶装置と呼ぶことができる。RDFの他の代表的な例は、局所記憶装置と遠隔記憶装置との間にピアツウピア関係を提供することができる。ホストは、局所記憶装置と直接相互作用を行うことができるが、局所記憶装置に対して行ったすべてのデータ変更は、RDFにより自動的に遠隔記憶装置に提供される。局所記憶装置および遠隔記憶装置は、ESCONリンクまたはファイバチャネルリンクのようなデータ・リンクにより接続することができる。RDF機能は、各記憶装置のところに設置されているRDFアダプタ(RA)により強化することができる。
ある場合には、RDF構成システムを変更するのが望ましい場合がある。しかし、多くの場合、このような変更は特殊なソフトウェアおよび局所記憶装置への標準的でない接続を使用する熟練技術者を必要とする。ホストがRDF構成を変更することができるようにRDF構成変更プロセスを自動化することが望ましい場合がある。さらに、RDF構成に対する動的変更を可能にした場合、その内部の個々のデバイスが動的構成情報にアクセスしなければならない時に、記憶装置の動作に影響を与えないことが望ましい場合がある。
1つの態様によれば、本発明は、第1のデータ記憶システムの第1のグループのデバイスと第2のデータ記憶システムの第2のグループのデバイスとの間の通信経路を動的に変更するための方法である。通信経路を動的に変更するために、コマンド要求が第1のデータ記憶システムに対して発行される。セットアップ・データは、ユーザ・データを送信する準備ができていない通信リンクにより、第1のデータ記憶システムから第2のデータ記憶システムに送られる。第1のグループのデバイスへの接続の第1の部分の準備が行われる。第1の部分の準備が成功した後で、第2のグループのデバイスへの接続の第2の部分の準備が行われる。接続の第1および第2の部分の準備が成功した後で、通信経路がユーザ・データを送信する準備ができているとの表示が行われる。他の態様によれば、本発明は、第1のデータ記憶システムの第1のグループのデバイスと第2のデータ記憶システムの第2のグループのデバイスとの間の通信経路を動的に変更するためのコンピュータ・プログラム製品であって、上記通信経路を動的に変更するために、上記第1のデータ記憶システムにコマンド要求を発行するための機械実行可能命令と、ユーザ・データを送信する準備ができていない通信リンクにより、上記第1のデータ記憶システムから第2のデータ記憶システムにセットアップ・データを送るための機械実行可能命令と、上記第1のグループのデバイスへの接続の第1の部分を準備するための機械実行可能命令と、上記第1の部分の準備が成功した後で、上記第2のグループのデバイスへの上記接続の第2の部分を準備するための機械実行可能命令と、上記接続の上記第1および第2の部分の準備が成功した後で、上記通信経路がユーザ・データを送信する準備ができていることを表示するための機械実行可能命令とを含む。
添付の図面を参照しながら、本発明の例示としての実施形態の以下の詳細な説明によって発明を理解することができる。
図1について説明すると、この図は、本発明によるコンピュータ・システムの実施形態の一例を示す。コンピュータ・システム10は、通信媒体18を通してホスト・システム14a〜14n、およびデータ・マネージャ・システム16に接続しているデータ記憶システム12を含む。コンピュータ・システム10のこの実施形態の場合には、N個のホスト14a〜14nおよびデータ・マネージャ・システム16は、例えば、入出力(I/O)操作またはデータ要求を行う際に、データ記憶システム12にアクセスすることができる。通信媒体18としては、当業者であれば周知の種々のネットワークまたは他のタイプの通信接続のうちの任意のものを使用することができる。通信媒体18としては、ネットワーク接続、バス、および/または配線接続(hardwire)または当業者であれば周知の他の接続などの他のタイプのデータ・リンクを使用することができる。例えば、通信媒体18としては、インターネット、イントラネット、ネットワーク、またはそれによりホスト・システム14a〜14nおよびデータ・マネージャ・システムが、データ記憶システム12にアクセスし通信することができ、またコンピュータ・システム10内に位置する他のものと通信することができる他の接続を使用することができる。
コンピュータ・システム10に内蔵されている各ホスト・システム14a〜14n、データ・マネージャ・システム16およびデータ記憶システム12は、通信媒体18のタイプに従って提供しサポートすることができる種々の接続のうちの任意の接続により通信媒体18に接続することができる。ホスト・コンピュータ・システム14a〜14nに内蔵されているプロセッサ、およびデータ・マネージャ・システム16としては、インテルをベースとするプロセッサ、IBMメインフレーム、または各特定の実施形態および用途により入接続トラヒックをサポートすることができる他のタイプの市販のプロセッサなどの種々の市販の1つまたは複数のプロセッサ・システムを使用することができる。
各ホスト・システム14a〜14nに内蔵されているハードウェアおよびソフトウェア、およびデータ・マネージャ・システム16並びにデータ記憶システム12に内蔵することができるこれら構成要素の詳細については、本明細書においてはさらに詳細に説明するが、これらは特定の各実施形態により異なることに留意されたい。各ホスト・コンピュータ14a〜14nおよびデータ・マネージャ・システム16は、すべて同じ物理サイトに設置することができるが、別の方法としては、異なる物理的位置に設置することもできる。ホスト・コンピュータ・システム、データ・マネージャ・システムおよびコンピュータ・システム10のデータ記憶システム間に異なるタイプの接続を提供するために使用することができる通信媒体の例は、SCSI、ESCON、Fibre ChannelまたはGIGE(ギガビット・イーサネット(登録商標))等のような種々の異なる通信プロトコルを使用することができる。ホスト、データ・マネージャ・システム16およびデータ記憶システム12が通信媒体18に接続することができる接続のうちのいくつかまたはすべては、Connectrix、または電話回線、中継器、マルチプレクサ、または衛星などの他の交換機が存在することができる他の通信装置を通過することができる。
各ホスト・コンピュータ・システムおよびデータ・マネージャ・システムは、異なるタイプの管理タスクにより異なるタイプのデータ操作を行うことができる。図1の実施形態の場合には、ホスト・コンピュータ14a〜14nのうちの任意のコンピュータが、データ操作を行うためにデータ記憶システム12にデータ要求を発行することができる。例えば、ホスト・コンピュータ14a〜14nのうちの1つの上で稼働しているアプリケーションは、バックアップ、ミラーリングまたは他の管理操作を行うことができ、データ記憶システム12へのデータ要求を行いながら上記操作を行うことができる。
図2について説明すると、この図は、図1のコンピュータ・システム10に内蔵させることができるデータ記憶システム12の実施形態の一例である。図2のデータ記憶システム12は、マサチューセッツ州ホプキントン所在のEMC社が製造しているSymmet
rix(商標)記憶システム20a〜20nである。この特定の例の場合には、各Symmetrix(商標)記憶システム20a〜20nは、相互接続(図示せず)を行うこともできるし、各特定の実施形態および特定の実施形態で使用する異なるプロトコルによるデバイスにより異なる任意の1つまたはそれ以上の通信接続30を通して、ホストおよびデータ・マネージャ・システムに接続することもできる。さらに、使用する通信接続のタイプは、ホスト・コンピュータ・システムが、例えば、データ記憶システム12に発行することができる入出力要求の速度が要求する帯域幅および処理能力に関連するシステム・パラメータおよび要件のようないくつかのシステム・パラメータおよび要件により異なる。以下にさらに詳細に説明するこの例の場合には、素子20aのより詳細な図面を参照する。20nのような任意の1つまたはそれ以上の他の素子に類似のより詳細な説明を適用することもできるが、これについては説明を簡単にするために省略してあることに留意されたい。また、ある実施形態は、1つまたはそれ以上のSymmetrix(商標)システムと一緒に、他のタイプのデータ記憶システムを含むことができることにも留意されたい。各20a〜20nは、例えば、ホスト・コンピュータ・システムおよび/またはデータ・マネージャ・システムに記憶サービスを提供するために、コンピュータ・システム10のある実施形態に内蔵されているリソースであってもよい。
20aのような各Symmetrix(商標)システムは、n行のディスクまたはボリューム24a〜24nからなる装置24のような複数のディスク・デバイスまたはボリュームを含むことができる。この装置においては、ディスクまたはボリュームの各行は、ディスクまたはボリューム24の一部へまたはからの操作のバックエンド管理を担当するディスク・アダプタ(「DA」)またはディレクタに接続することができる。Symmetrix(商標)システム20aにおいては、23aのような1つのDAが、行24aのようなディスクまたはボリュームの行の管理を担当することができる。各DA23a〜23nは、例えば、バス30により、グローバル・メモリ25bとして指定されている特定の部分を含むキャッシュに接続することができる。DA23a〜23nは、例えば、他のディスク・プロセッサまたはディレクタおよびシステム20aの他の構成要素と通信しているグローバル・メモリ25bに内蔵することができるキャッシュへおよびキャッシュからのデータ操作を実行することができる。一般的に、グローバル・メモリ25bは、システム20aの構成要素間の通信を容易にするために使用することができる。他の部分25aは、各実施形態により異なる他の指定と一緒に使用することができるメモリのその部分である。
Symmetrix(商標)システム20aのある実施形態は、システム20aを管理し監視するために使用するサービス・プロセッサ22aを含むことができる。ある実施形態の場合には、サービス・プロセッサ22aを、例えば、システム20aに関連する入出力性能に関する性能データを収集する際に使用することができる。この性能データは、例えば、異なるホスト・コンピュータ・システム14a〜14nから行うことができるデータ要求に関連する性能測定値に関連させることができる。この性能データを収集し、例えば、グローバル・メモリおよび/または他の記憶領域内に記憶することができる。
システム20aは、また、1つまたはそれ以上のホスト・アダプタ(HA)またはディレクタ21a〜21nを含むことができる。これらの各HAは、1つまたはそれ以上のホスト・システムとグローバル・メモリとの間の通信およびデータ操作を管理するために使用することができる。
EMC社のSymmetrix(商標)システムまたはディスクなどのこの実施形態で説明した特定のデータ記憶システムは、本発明を制限するものと解釈すべきではない。他のタイプの市販のデータ記憶システム、およびプロセッサおよびこれら特定のデバイスへのアクセスを制御するハードウェアも実施形態に内蔵させることができる。
また、図に示すように、記憶システム20a内には、RA、すなわち、リモート・アダプタ40が位置する。RAとしては、2つのSymmetrixデータ記憶システム間のようなデータ記憶システム間の通信を容易にするために使用するプロセッサを含むハードウェアを使用することができる。RAは、マサチューセッツ州ホプキントン所在のEMC社から販売されているリモート・データ・ファシリティ(RDF)製品と一緒に使用することができる。
ホスト・システムは、記憶システムにチャネルを通してデータおよびアクセス制御情報を提供することができるし、記憶システムは、また同様にチャネルを通してホスト・システムにデータを提供することができる。ホスト・システムは、直接記憶システムのディスク・ドライブにアドレスしないで、むしろ、データへのアクセスは、ホスト・システムから複数の論理装置または論理ボリューム(LV)のように見える1つまたはそれ以上のホスト・システムに対して行うことができる。LVは、実際のディスク・ドライブに対応できてもよいし、できなくてもよい。例えば、1つまたはそれ以上のLVは1つの物理ディスク・ドライブ上に常駐することができる。1つの記憶システム内のデータには、複数のホストがアクセスすることができ、ホストはその中に常駐するデータを共有することができる。HAは、Symmetrixデータ記憶システムおよびホスト・システム間の通信の際に使用することができる。RAは、2つのSymmetrixデータ記憶システム間の通信を容易にするために使用することができる。DAは、その上に常駐する関連するディスク・ドライブおよびLVへの通信を容易にするために使用することができる。
DAは、ボリュームまたはデバイス上で入出力操作を行うことができる。以下の説明において、1つのDAが、ディスク上に常駐することができる複数のLVの入出力操作に関連するデータ要求を管理するLVによりデータにアクセスすることができる。DAは、特定のDAに関連するいくつかのLVに対するジョブ・レコードを生成することによりこのアクセスを行うことができる。これらいくつかのジョブ・レコードは、各DAにより記憶され管理されるデータ構造のいくつかのLVに関連することができる。
図3について説明すると、この図は、ホスト48、第1のデータ記憶システム50aおよび第2のデータ記憶システム50bの間の関係を示すコンピュータ・システム46の実施形態の一例である。図3の実施形態は、例えば、図面を簡単にするためにデータ記憶システム50aおよび50bの一部の詳細だけを含むコンピュータ・システムの構成要素の略図であることに留意されたい。ホスト48は、接続49aを通してHA52aによりデータ記憶システム50aにコマンドを発行することができる。データ記憶システム50aと50bとの間の通信は、それぞれデータ記憶システム50aおよび50bに内蔵されているRA52bおよびRA52cにより接続49bを通して容易に行うことができる。リンク49bとしては、データをデータ記憶システム50aから遠隔データ記憶システム50bにコピーさせるRDFリンクを使用することができる。54aのようなデバイスからのデータを、遠隔記憶装置54b上のデータを局所記憶装置54a上のデータと同じものにするRDFリンク49bを使用して、遠隔データ記憶システム50bの記憶装置54bにコピーすることができる。
データ記憶システム50aに内蔵されているデバイスの一部とデータ記憶システム50bに内蔵されているデバイスとの間でのRDFマッピングの供給は、データ記憶システム50aに内蔵されているデータをそのままミラーリングする遠隔データ記憶システム50b上のLVをセットアップすることにより行うことができる。ホスト48は、データ記憶システム50a上の論理装置により、データを読み出したり、書き込んだりすることができる。RDFマッピングは、変更したデータをデータ記憶システム50aからデータ記憶システム50b上のRDFマッピングを通して識別した対応するデバイスに転送すること
ができる。操作の定常状態において、遠隔データ記憶システム50b上の論理装置は、RDFマッピングおよびデータ記憶システム50aを通して、対応するデバイスに含まれる同一データを含む。ホストがアクセスしているデータ記憶システム50a上の論理装置は、「R1」ボリュームと呼ぶことができ、一方、50bのような遠隔データ記憶システム上の対応する論理装置は「R2」ボリュームと呼ぶことができる。操作中、ホスト48は、50a内のR1ボリュームによりデータを読み出したり、書き込んだりすることができ、RDFは、R1ボリュームから50b内のR2ボリュームにデータを自動的にコピーしたり、このデータを更新したりすることができる。
R1/R2ペアは、種々の異なる方法で定義することができる。R1/R2ペアは、構成データ・ファイルが、例えば、グローバル・メモリ内に位置することができる静的構成データにより定義することができる。これを、50aのようなデータ記憶システムの初期化の際にデータ・ファイルが読み出され、変更することができないR1/R2ペアとして存在し続ける静的情報と呼ぶことができる。静的構成ファイルを使用する場合には、R1/R2ペアの変更(生成および破壊を含む)のための唯一の方法は、静的構成ファイルを変更し、データ記憶システムを再度初期化する方法である。さらに、構成データ・ファイルを特殊なソフトウェアにより変更しなければならない場合があり、また、それには特殊な構成データ・ファイルをよく知っている技術者の助けが必要になる。
静的構成データの他に、データ記憶システムは、また、グローバル・メモリの一部内に記憶することができる動的構成データを含むことができる。ある実施形態の場合には、動的構成データは、静的構成データが含む任意の情報を書き換えることができる。他の実施形態の場合には、動的構成データは、例えば、対応する項目を有する静的構成データ・ファイル内にエントリが存在しない場合にだけ使用することができるような追加的なものにすぎない。動的および静的構成技術を含む他に、ある実施形態は、また、データ記憶システム上のゼロまたはそれ以上のRDFデバイスがその内部に含まれるデバイスにサービスする1つのRAの制御下で、特定のグループと関連するRDFグループのコンセプトを含むこともできる。ある実施形態の場合には、デバイスを含まない空のグループを使用することができる。RDFグループは、静的構成ファイルを使用するように静的に定義することもできるし、動的に定義することもできる。
ある状況の場合には、ホスト48が、システムの動作中にRDFボリュームを動的に生成したり、破壊したりすることができれば有利な場合がある。例えば、引用により本明細書の記載に援用する、「動的RDF」(DYNAMIC RDF)という名称の2001年11月30日出願の米国特許出願第09/997,810号にこのような技術が記載されている。R1/R2ペアを破壊することができるように、またはR1/R2ペアを生成することができるように、RDFボリュームをペアで生成したり、破壊したりすることができることに留意されたい。R1/R2ペアの生成または破壊は、ホスト48によりスタートすることができる。ホストは、マルチホップ・システム・コマンドを送ることができる。マルチホップ・システム・コマンドは、複数の記憶装置に供給され、複数の記憶装置が実行する操作を示す1つのシステム・コマンドである。例えば、ホスト48は、RDFボリュームのセットアップおよび管理を制御するために、各記憶装置が内部で使用するテーブルを記憶システム50および50bそれぞれに局所的に変更させることにより、R1ボリュームがデータ記憶システム50a上に存在し、R2ボリュームが遠隔データ記憶システム50b上に存在する場合に、特定のR1/R2ペアの破壊を要求するマルチホップ・システム・コマンドを送ることができる。R1/R2ペアの生成は、一方の記憶装置上のR1ボリュームの生成と、他方の記憶装置上でのR2ボリュームの生成を含む。
ある実施形態は、また、1つのRAが、複数のRDFグループにサービスすることができる交換RDF環境を含むことができる。交換RDF環境においては、RAはスイッチに
より接続し、通信を行う。スイッチ上の通信点およびその間のリンクは動的に変更することができる。このことは、例えば、変更することができない定義された終点およびリンクを有し、静的であることを特徴とする二地点間タイプの接続とは対照的である。交換RDF環境は、例えば、ファイバ・スイッチおよびGigE接続を使用することができる。
以下に、RDFリンクを遠隔システム呼出しにより動的に追加または除去することができる交換RDF環境で、RDFグループを動的に生成、破壊、およびそうでない場合、変更するための技術について説明する。下記の説明は、また、あるグループがそれに関連する名前を有することはできるが、任意の関連するデータ記憶装置を有することはできない空のRDFグループの生成についても説明する。RDFグループの生成、破壊およびその他の変更についての以下の説明に関連して、局所データ記憶システム上の第1のRDFグループが、遠隔データ記憶システム上に対応するRDFグループを有するRDFグループのペアを定義する。このペアは、各R1およびR2がRDFグループを参照する点を除けば、R1/R2ペアに類似している。
さらに、本明細書に記載する技術は、任意の2つのRDFグループ間でのリンクの初期化および割当てを必要としない。それどころか、本明細書に記載する技術は、RDFグループ間に物理リンクが存在していさえすればよい。
下記の実施形態は、いくつかの要件または制約を含む。ある実施形態が含む特定の要件および/または制約は、特定の各実施形態の詳細により変化する。システム呼出しを使用する場合には、RDFグループは、局所データ記憶システムおよび遠隔データ記憶システムの両方にペアで追加または除去される。各システム呼出しは、各データ記憶システム内の1つのグループだけを生成または除去することができる。動的RDFグループを変更するためのシステム呼出しの唯一の例は、任意の所与の時点で実行することができる。すでに説明したように、RDFグループ・ペアの生成または除去は、当該データ記憶システム間にすでに確立されたリンクが存在するとの仮定を行わない。動的グループ情報は、例えば、停電の際には不揮発性メモリに記憶される。動的RDFグループに対するシステム呼出しは、動的RDFグループだけを追加し、除去することができる。従って、例えば、このコマンドを使用して、静的構成ファイル内に位置するグループの任意の正しい使用を変更することはできない。動的RDFグループ・システム・コマンドは、本明細書の他のところに記載するように、動的構成ファイルの内容に影響を与える。このコマンドは、静的構成データ・ファイル内に含まれる値を更新するために使用することはできない。空でないRDFグループは、動的RDFグループ・システム・コマンドにより除去することはできない。
動的グループ・ロックは、この動的RDFグループ・コマンドの唯一の例が1回だけ実行するのを確実にするための機構として使用することができる。この実施形態の場合には、動的グループ・ロックは、動的RDFグループ・コマンドの一例の実行中に信号としての働きをするビット・フラグとしての性格を有することができる。このビット・フラグは、各データ記憶システム上のグローバル・メモリ内に記憶することができる。この技術は、排他的にソフトウェアおよびハードウェア・ロック保証を行わない。それどころか、このフラグはすべてのプロセスが遵守する信号送信技術としての働きをする。他の実施形態は、他の技術を使用することができる。
本明細書に記載するように、存在しないグループは、1つまたはそれ以上の他のRDFグループと通信するために、データ記憶システム内のグローバル・システム待ち行列またはGSTを使用することができる。存在する動的グループは、システムの初期化に関連してすでに定義されている静的待ち行列を有することができる。それ故、本明細書で説明する動的RDFグループ・システム・コマンドに対するRDFグループを管理しながら、R
Aとの通信に関連して、GST待ち行列を同じデータ記憶システム内のRA間の通信用の手段として使用することができる。
ある実施形態は、複数の呼出しを定義するのではなく、動的グループ・コマンドを追加および除去するための1回の呼出しだけにより動的RDFグループ・コマンドを供給することができる。動的システム・グループに対する変更は、関連するディレクタまたはRAの中のいくつかまたは全部により、あるグループに対するサポートの追加または除去を含む。動的RDFグループの除去に関連して、この特定の実施形態は、最後のディレクタが除去され、グループが空でない場合には故障になる。あるグループが除去されると、関連するリンクも除去される。これがそのグループに対する最後のリンクである場合には、グループ情報も除去される。
局所および遠隔データ記憶システム間にリンクを持たない状態で、遠隔データ記憶システム上にグループを生成および除去するためのグループ情報を転送するために特殊なタスクを使用することができる。2つのデータ記憶システムは、その間に、例えば、スイッチを通して接続しているような物理リンクを有する。特殊なタスクが使用する一般的な技術は、未使用のリンクのためのリンク発見プロセスをスタートし、遠隔データ記憶システムが動的グループ情報を受信した直後であって、初期化を終了する前にリンク発見プロセスを終了する。従って、状態は局所データ記憶システムに戻る。このリンクは再度初期化されていない状態になる。未使用のリンクは、現在2つのRA間または他のタイプのユーザ・アプリケーション間で通信として割当てられていないまたは使用されていない既存の物理接続と呼ぶことができる。リンク初期化のプロセスは、局所データ記憶システム上でスタートし、遠隔システム呼出しにより通信した動的グループ・データに関する情報は、遠隔データ記憶システムに送られる。上記情報が遠隔データ記憶システムに送信され、局所データ記憶システムが、遠隔データ記憶システムが受信中のこの情報に関する状態を受信すると、局所データ記憶システムは、リンクが初期化されていないことを表示する。この特殊なタスクおよびその処理については、以下にさらに詳細に説明する。
各ディレクタRA、DAおよびHAは、すべてRDFグループに局所的に関連して記憶することができる情報を含む。RDFグループに関連する変数のうちのいくつかだけが、静的構成ファイル内で初期化することができる。RDFグループの生成に直接関連するこれらRAの他に、HA、DA等が維持しているグループ情報を更新する必要がある場合がある。RDFグループ情報に動的な変更がある場合には、あるグループの追加または除去に直接関連していないディレクタを含むすべてのディレクタにその旨を通知することができる。
動的RDFグループ変更に関連して、HAおよびDAのような非RDFディレクタが確実に更新した情報を受信するように、ある実施形態において、いくつかの異なる機構を使用することができる。最初に、以下に説明するように、変更を担当する動的RDFグループのRAは、他のディレクタにRDFグループに関連する変更について通知するために、GST待ち行列要求を送信することができる。しかし、以下に説明するように、担当RAは各ディレクタが、グローバル・メモリから新しい情報を呼み出す際に、この更新を実際に行ったことを確認しない。各ディレクタ上での実行のために、各ディレクタに、グローバル・メモリからRDFグループ動的グループ・テーブルまたはDRGTの最新のコピーをダウンロードし、各ディレクタ上に局所的に維持されているすべてのデータ内で要求されたグループ・マスクを形成するように命令する優先順位の低いタスクを追加することができる。優先順位の低いタスクが、グローバル・メモリ・ロックをチェックするというようなことにより、動的RDFグループ・システム呼出しコマンドが、データ記憶システム内で現在実行中であることを発見した場合には、優先順位が低いタスクは、実行を継続する前にロックが開放されるまで待機することができることに留意されたい。
動的RDFグループ変更コマンドを実行するために、以下にさらに詳細に説明する処理ステップで使用するいくつかのデータ構造について以下に説明する。
図4について説明すると、この図は、動的RDFグループ・テーブル(DRGT)の実施形態の一例である。各ディレクタは、ディレクタが常駐するデータ記憶システムに特有のDRGT識別情報を有する。DRGTは、可能な各RDFグループに対するエントリを含む。ある実施形態の場合には、1つのディレクタにより管理することができるRDFグループの最大数は64である。それ故、この実施形態のテーブルは64のエントリを含む。任意の特定の実施形態で管理することができるRDFグループの最大数は一定の数ではなく、本明細書に記載する64という特定の数に限定されない。本明細書に記載する例で使用する他の特定の数および値も記載してある。これら特定の値は、本明細書に記載するコンセプト、技術および原理に対する制限と解釈すべきではなく、むしろ各実施形態により変化する要因と解釈すべきである。
DRGTの各ディレクタのローカル・コピーは、不揮発性メモリの一部に記憶される。本明細書に記載するように、ディレクタとしては、本明細書の他の場所に記載するように、例えば、RA、DAまたはHAを使用することができる。DRGTテーブルのコピーも、図2に関連して本明細書の他のところに記載するように、グローバル・メモリに記憶される。グローバル・メモリ内に記憶しているDRGTのコピーは、DRGTテーブルの最新の正確なコピーであると見なされることに留意されたい。この実施形態の場合には、各ディレクタの不揮発性メモリ位置に記憶しているDRGTテーブルのコピーは、グローバル・メモリからのテーブルの完全なコピーである。
図5について説明すると、この図はDRGTテーブル100のエントリの実施形態のより詳細な例である。この特定の実施形態の場合には、データ記憶システムのDRGT内の各エントリは、静的構成ファイルからの情報、エントリに対応するグループをサポートしているデータ記憶システムのディレクタのビットマップ、特定の実施向け情報、および有効フラグを含む。より詳細に説明すると、この例のエントリ101は、グループ構成情報102、現在のグループをサポートしているこのデータ記憶システムのディレクタ104、他のサポートされているディレクタ106、リモート・サイトのアンカー・ディレクタ108、有効フラグ110、およびこの特定のエントリ112内の任意の追加フィールドのリストを含む。レコード・エントリ101のフィールド102に内蔵されているこの特定のグループ構成情報については、以下に詳細に説明する。グループ構成情報エントリ102に内蔵されている情報のコピーは、システム内の他の場所に記憶しているグループを記述している他のタイプの構成情報に対する静的構成ファイルに内蔵することができるグループ構成情報と同じものであることに留意されたい。ある実施形態の場合には、静的構成ファイル・データのコピーは、各データ記憶システム上のグローバル・メモリに記憶することができる。データ記憶システム内の各ディレクタは、この静的構成データのすべてまたは一部のコピーを局所的に記憶することができる。フィールド104は、このレコード・エントリ101が現在記述しているグループをサポートするこのデータ記憶システム内のこれらのディレクタ・リストを作成する。データ記憶システムとしては、例えば、RA、HA等のような複数のディレクタを含むことができる対称データ記憶システムを使用することができる。フィールド104は、現在のグループをサポートしているこの特定のデータ記憶システム内のこれらのディレクタのリストを作成する。フィールド104としては、符号化されたビットマップ、またはディレクタを識別するための他のタイプの表示を使用することができる。
フィールド106および108は、GigE接続を使用する特定の実施形態に関連して使用される。これらフィールドの特定の使用方法については、本明細書の他のところでより詳細に説明する。他のサポートされているディレクタ・フィールド106は、リモート
・サイトのディレクタを識別するフィールド104類似のビットマップなどのリストを含む。フィールド108は、それにより動的RDFグループの確立に関連して通信を送ることができる、リモート・サイトのところのアンカー・ディレクタと呼ぶことができる特定のディレクタである。この特定の実施形態の場合には、フィールド108はGigE実施のためだけに使用される。同様に、他の実施形態は、本明細書に記載する他の実施特定フィールドの使用を必要とする場合がある。
フィールド110は、レコードまたはエントリ101に内蔵される情報は有効であることを示す1を含む、そうでない場合には、0であるビット・フラグとして実施することができる有効フラグを含む。他のフィールド112も、DRGTの各エントリに内蔵することができる。これらの他のフィールドは、例えば、各特定の実施形態および特定の実施形態に対する任意の整合要件の実行に関連して使用することができるパディング文字により変化する場合がある追加情報を含むことができる。
DRGTのローカル・コピー内のエントリは、以下に説明する処理ステップに関連してディレクタにより更新することができることに留意されたい。
図6について説明すると、この図は、図5に関連してすでに説明したグループ構成情報のより詳細な情報の例である。この特定の実施形態の場合には、グループ構成情報は、構成フラグ120、グループ・ラベル・データ122、グループ番号情報124、デバイス・リンク特定情報126、および任意の他の情報128を含む。構成フラグ120およびグループ・ラベル122およびグループ番号124は、異なるタイプの通信リンクに関連して使用される共通フィールドとして機能することができる。本明細書の他のところで説明したように、通信リンクは、例えば、ファイバ・スイッチまたはGigE接続を含むことができる接続である。構成フラグ120は、特定のグループを構成するための情報を含むことができる。それぞれのフィールド122および124内のグループ・ラベルおよびグループ番号は、RDFグループについての識別情報を含む。この特定の例の場合には、フィールド124内のグループ番号により示されたRDFグループは、例えば、グループAに対応する0、グループBに対応する1などを有することができ、この場合、各特定のRDFグループは、この特定のRAディレクタによりサービスを受けるデバイスのグループを参照する。この特定の例のグループ・ラベルは、10までの文字の文字列を参照することができる。グループ・ラベルは、接続に関連する両方のデータ記憶システムにおいて同じものである。グループ・ラベルは、また、接続しているデータ記憶システムの一連番号およびグループ番号に対するニックネームとして特徴づけることもできる。
図7について説明すると、この図は、2つのデータ記憶システム132aおよび132bの実施形態130の一例である。2つのRDFグループはこの例で定義される。第1のグループは、接続134を有するRDFグループAおよびCの間のLABEL1として定義される。LABEL2として定義された第2のRDFグループは、RDFグループBおよびDの間の接続136に関連する。グループAおよびグループBは、データ記憶システム132a内に位置していて、グループCおよびグループDは、データ記憶システム132b内に位置する。RDFグループは、上記グループにサービスを行う特定のRAディレクタに割当てられるゼロまたはそれ以上のRDFデバイスの集合であるとして特徴づけることができる。
ある実施形態は、グループの定義および実施に関連して異なる制約を含むことができる。ある実施形態は、また、デバイス・ラベルに対して異なる制約および命名規則を含むことができる。例えば、特定の名前が指定されていない場合には、デフォールト・ラベル名を使用することができる。ある実施形態は、例えば、デフォールト・ラベル名を使用するグループは、空のグループであってはならないという制約を含むことができる。他の実施形態は、ネーミングおよび特定の各実施形態により変化する場合がある、他のタイプの仕
様に関連する異なる制約を有することができる。この特定の例の場合には、デフォールトRDFグループ・ラベル名は、新しい動的RDFグループの初期化に関連している場合があるので、空のグループに関連して使用することができない。空のグループは、いかなるデバイスも含まないものとして特徴づけることができる。
図6に戻って説明すると、「LABEL1」または「LABEL2」などのグループ・ラベル122は、各RDFグループが、異なるデータ記憶システムに内蔵されている図7のようなRDFグループのペアに関連することができる。同様に、グループ番号124は、図7に関連して説明したA、B、CおよびDのような特定の各グループを表すための符号化であってもよい。フィールド126は、使用する通信接続により変化する異なるタイプのリンク特定情報を含むことができる。例えば、図7の場合には、異なるデータ記憶システムのRDFグループAおよびCの間のリンクまたは通信接続134としては、ファイバ・スイッチ・リンクを使用することができる。ファイバ・スイッチ・リンクを使用した場合には、ディレクタのアドレスを入手するために一連番号を使用することができる。また、本明細書の他のところでさらに詳細に説明するように、異なるRDFグループにサービスを行っているRAのアドレスを入手するために、他のタイプの情報を異なるタイプの接続およびリンクに対して使用することができる。RAアドレス情報を入手するために使用する接続および技術のタイプは、特定の各実施形態により異なる場合がある。
ある実施形態は、ファイバ・スイッチおよびGigE接続のような異なるデータ記憶システムのリモート・ディレクタ間で任意の1つまたはそれ以上のタイプの通信接続をサポートすることができる。異なるタイプの通信接続は、RAまたは他のディレクタのリモート・アドレスを入手する際に異なる技術を使用することができる。例えば、リンク特定情報126に内蔵されている情報は、このようなアドレスの決定プロセスで使用することができる。ファイバ・スイッチ接続の場合には、一連番号を有するディレクタのアドレスを入手するために、ワールド・ワイド・ネーミング・サービス(WWN)を使用することができる。GigEのような他のタイプの接続の場合には、他の技術を使用することができる。何故なら、例えば、WWNのようなネーミング・サービスを使用することができないからである。
GigE接続をサポートしているある実施形態でのディレクタ・アドレスの入手に関連して使用することができるある技術について以下に説明する。
図8について説明すると、この図は、Symmetrixデータ記憶システムのような遠隔データ記憶システムのディレクタ間での通信を容易にするためのGigE接続と一緒に使用することができるテーブルのある実施形態140の一例である。ファイバ・スイッチ接続に関連して、その一連番号を有するターゲット・ディレクタのアドレスを入手するために、ネーミング・サービスを使用することができる。GigE接続に関連して、ディレクタの特定のアドレスを決定するために、別の技術を使用することができる。図8の140のテーブル142および144は、ディレクタのIPアドレスを決定する際に使用することができる。テーブル142および144の例は、例えば、グローバル・メモリまたは構成情報を記憶することができるメモリの他の部分の各データ記憶システムに定義し、記憶することができる。これらのテーブルは不揮発性メモリに記憶することができる。
テーブル142は、顧客の環境に含まれるすべての他のデータ記憶システムの一連番号を有するエントリを含むリモート・ボックス・テーブルと呼ぶことができる。テーブル142は、例えば、現在のデータ記憶システムが遠隔地から接続することができる他の各データ記憶システムに対する一連番号を含むエントリを含むことができる。
各データ記憶システムは、また、そのグローバル・メモリに、例えば、テーブル144の一例を記憶することができる。テーブル144は、すべてのGigEディレクタ番号お
よび関連するIPアドレス情報を含むことができる。テーブル144は、すべてのGigEディレクタ番号および各データ記憶システムに対する関連するIPアドレスが一緒にグループ分けされるように編成することができる。テーブル142から入手した一連番号は、特定のデータ記憶システム内に位置する1つまたはそれ以上のGigEディレクタのアドレスを入手するためのテーブル144への索引として使用することができる。特定のGigEディレクタ番号とペアになっているデータ記憶システムの特定の一連番号を使用することにより、対応するIPアドレスを接続の確立に関連して入手し、使用することができる。この実施形態の場合には、通信が送られるGigE実施形態の特定のディレクタを動的RDFグループ・システム呼出しの入力パラメータとして指定することができる。
ある実施形態は、GigEまたは他のディレクタの特定のIPアドレスに関する情報を提供するためのシステム呼出しを含むこともできるし、アプリケーション・プログラミング・インタフェース(API)を定義することもできる。すなわち、本明細書に記載するように、テーブル140内の値に直接アクセスする代わりに、データ記憶システムに内蔵されているソフトウェア機能は、例えば、一連番号およびディレクタ番号の入力パラメータと一緒にAPIを供給することができ、出力パラメータとしてネットワーク・アドレスのような特定のアドレスを返送することができる。これは、例えば、本明細書に記載するファイバ・チャネル実施形態と一緒に使用することができるようなWWNサービスの代案として使用することができる。
図9について説明すると、この図は、特定のデータ記憶装置のグローバル・メモリに内蔵することができるDRGTエントリの一実施形態200の一例である。本明細書の他のところで説明したステップ390および562の場合のような処理で一時構造が生成される場合に、この構造を生成し、使用することができる。グローバル・メモリ内に記憶しているDRGT内のエントリは、各ディレクタにより局所的に記憶することができるDRGTのエントリの情報のスーパーセットであることに留意されたい。DRGTのグローバル・メモリ・バージョンの特定のエントリに対応するグローバル・メモリ(GM)の一時構造200は、図5の素子101に関連して本明細書の他のところで説明したようにDRGTエントリ204を含む。さらに、DRGTのグローバル・メモリ・バージョンの各エントリは、追加のメタデータ206を含む。
追加のメタデータ206は、RDFグループ番号を含むことができる。このグループ番号は、静的構成ファイルの正しいエントリが、特定のグループに対して確実に入手されるようにディレクタにより使用される。GM一時構造200を生成中のディレクタには、システム呼出しの特定のグループ番号が送られ、追加のメタデータ・フィールド206内に収容される。次に、ディレクタは、グローバル・メモリ・テーブルDRGTエントリから他のデータをコピーし、DRGTのグループ番号がパラメータ内に指定したグループ番号と一致することを確認する。エリア206内のグループ番号は、本明細書に記載するように、例えば、第1のディレクタにより生成された一時構造の呼出しパラメータのグループ番号が、以降の処理で他のディレクタが受信し使用するグループ番号と一致することを確認する目的で、処理ステップの保護およびデータ確認のために使用することができる。他の実施形態は、すでに説明したものの他に、グローバル・メモリの一時構造の追加情報を含むことができることに留意されたい。これは特定の各実施形態により変化する場合がある。
図10について説明すると、この図は、動的RDFグループの生成および変更の際に使用することができるコンピュータ・システム300の構成要素の実施形態の一例である。本明細書の他のところで説明したように、RDFグループは、ゼロまたはそれ以上のRDFデバイスとして特徴づけることができる。通常、図2のところで説明した特定のRAは、1つまたはそれ以上のグループの特定の組にサービスを提供する。動的RDFグループ
の形成および変更の際に他の実施形態および構成も使用することができるが、以下に説明し図に示すものは、遠隔システム呼出しを使用する一例である。例えば、構成300の実施形態について説明すると、ホスト302はデータ記憶装置X0 304に接続している。ホスト302は、データ記憶システムXn−1 306とデータ記憶システムXn 308との間に動的RDFグループのペアを生成する際に、遠隔手続き呼出しを使用することができる。データ記憶システム304および306の間に介在するゼロまたはそれ以上の他のデータ記憶システムが存在する場合がある。本明細書に記載する技術は、ホストがデバイス306に直接接続していない遠隔システム呼出しに関連して使用されるが、本明細書で使用する技術は、またホスト302および306のようなデータ記憶システムの間に直接接続が存在する動的RDFグループの確立のために使用する手続き呼出しの際に使用することができる。
データ記憶システム306および308の間にRDFグループのペアを生成しているホスト302に関連して、引用により本明細書の記載に援用する、「マルチホップ・システム呼出し」(MULTIHOP SYSTEM CALLS)という名称の2000年6月12日出願の米国特許出願第09/591,827号に記載されているマルチホップ手続き呼出しを使用することができる。マルチホップ・システム呼出しを使用して、ホスト302は、データ記憶システム306への間接接続を通して、データ記憶システム306および308の間にRDF動的グループを確立するために、遠隔手続き呼出しを使用することができる。この例の場合、マルチホップ・システム呼出しを使用して、データ記憶システム304とデータ記憶システム306との間にリンクが設けられる。マルチホップ・システム呼出しのビットマップは、データ記憶システムXn−1 306だけが遠隔システム呼出しを実行することを示す。さらに、マルチホップ・システム呼出しのパラメータとして、マルチホップ・システム呼出しを実行するために指定されるデータ記憶システム306Xn−1上のリモート・ディレクタの識別子を含んでいる。マルチホップ・システム呼出しは、本明細書に記載するように使用することができるが、遠隔システム呼出しは、動的RDFグループ・コマンドと関連して使用することができることに留意されたい。例えば、遠隔システム呼出しを使用する実施形態は、ホスト302〜306に間接的に接続している中間データ記憶システムを通して、システム呼出しを発行するのではなく、データ記憶システム306に遠隔手続き呼出しを直接発行するホスト302を含むことができる。
データ記憶システム306および実施形態300に内蔵される他のデータ記憶システム内には2つ以上のRAが存在する場合がある。マルチホップ・システム呼出しは、データ記憶システム306に到着するまで、1つまたはそれ以上の介在データ記憶システムを通してホスト302から転送される。データ記憶システム306上のマルチホップ・システム呼出しのパラメータが指定したディレクタRAは、遠隔システム呼出しを受信し、実行する。データ記憶システム306は、遠隔システム呼出しを受信した後で実行を終了する。その後で、遠隔システム呼出しが、動的RDFグループの生成および/または変更の実行を終了した後で、システム306および308の間のこの遠隔システム呼出しの実行状態は、ホスト302へのマルチホップ・システム呼出しへのチェーンまで返送される。
図11について説明すると、この図は、図10のところですでに説明した処理ステップの概要を示すフローチャート320である。ステップ322において、ホストは、データ記憶システムX0を通してマルチホップ・システム呼出しを発行する。実施形態300のところで説明したように、ホストは、データ記憶システムX0に直接接続していて、離れたところのホストに直接接続していない他のデータ記憶システム上で動的RDFグループ変更コマンドを実行しようとしている。ステップ324において、マルチホップ・システム呼出しは、データ記憶システムXn−1に送られる。ステップ324の処理に関連して、マルチホップ・システム呼出しを、同様に、1つまたはそれ以上の中間データ記憶シス
テムを通して送ることができることに留意されたい。ステップ326において、データ記憶システムXn−1は、データ記憶システムXn−1上に位置するRA宛の遠隔システム呼出しを実行する。ステップ328において、動的RDFグループに対する遠隔システム呼出しが終了したかどうかについての判断が行われる。終了していない場合には、制御は、ステップ328において形成されたループ内で引き続き待機する。動的RDFグループに対する遠隔システム呼出しが終了した場合には、制御はステップ330に移動し、そこで動的RDFグループ操作に関連する遠隔システム呼出しの状態が、一連の1つまたはそれ以上の中間ノードを通して、遠隔システム呼出しコマンドを発行したホスト・コンピュータ・システムに返送される。
図12について説明すると、この図は、データ記憶システムXn−1およびXnの処理ステップをより詳細に示す実施形態の一例である。データ記憶システムXn−1は、データ記憶システムXn−1 306とデータ記憶システムXn 308との間で動的RDFグループを変更または生成するために遠隔システム呼出しを受信し、実行する。データ記憶システム306は、ディレクタXおよびディレクタYで示す2つのディレクタを含む。ディレクタXは、最初、動的RDFグループ操作に対する遠隔システム呼出しを受信する。ディレクタXは、それが、実際に他のディレクタが実行すべき遠隔システム呼出しであることを決定する。その後で、ディレクタXは、この場合は、ディレクタYである、他のディレクタに情報を送るために、グローバル・システム(GST)待ち行列と呼ばれる待ち行列内にレコードを生成する。待ち行列レコードは、動的RDFグループの生成の際に実行する遠隔システム呼出しに対する要求である。実行マスクは、ターゲット・ディレクタを、遠隔システム呼出しのパラメータ内に指定するディレクタYとして表示する。次に、ディレクタXは待機状態になる。ディレクタXは、ディレクタYから操作に関する返送状態情報を受信した場合、エラー状態または他のタイプの終了状態をタイムアウトにするか、返送する。実行マスクは、ディレクタYが、生成され、GST待ち行列内に置かれたGSTレコードの指定の受信人であることを表示する。次に、ディレクタYは、システム呼出しからデータを送信するために、データ記憶システムXn 308内の他のディレクタに連絡する。以下にさらに詳細に説明するように、両方のディレクタAおよびYは、また、動的RDFグループ・コマンドおよび関連する状態情報のために実行した処理ステップで必要としたように、他のディレクタと通信するために、その各GSTを使用することができる。
ディレクタYは、GST待ち行列レコードを受信し、動的RDFグループの生成のために遠隔システム呼出しを実行する前に、確認またはチェックを行う。この実施形態の場合には、例えば、ディレクタYは、下記のことを確認することができる。この特定のRDFグループが、任意のディレクタに対して静的RDFグループとしてまだ定義されていないこと、このグループが、要求したグループを追加しているディレクタに対してまだ定義されていないこと、ディレクタが、例えば、ファイバ・スイッチまたはGigE接続のようなこの特定の実施形態で使用することができる指定のタイプのこのグループだけを生成しなければならないこと。さらに、Yディレクタは、また、グループ・ラベルがデフォールト・グループ・ラベルでないように、グループ・ラベルに関連する任意のチェック、およびこの実施形態に関連する制約を実行することができる。何故なら、この操作は、空のグループを含むことができ、デフォールト・グループ・ラベルは、この実施形態の場合には、空のグループに対して指定することができないからである。ディレクタYは、また、その一連番号がシステム呼出しの物理パラメータ内に指定されている一連番号と一致するかどうかをチェックするために、Xn−1データ記憶システム306の一連番号をチェックすることができる。ディレクタYは、また、他の例の動的RDFグループ変更コマンドが、この特定のデータ記憶システムで実行されないように、特定の実施形態の制約に関連する他のチェックも行うことができる。この実施形態の場合には、ディレクタYは、動的RDFグループ・コマンドがあるグループをサポートしている最後のディレクタを除去する
ためのコマンドであり、グループが空でない場合には、システム呼出しの実行に失敗する。ディレクタYにより最初に確認された特定の項目が、特定の各実施形態により変化することがあることに留意されたい。他の実施形態は、各実施形態の特性により他の確認を行うことができる。
一組の最初のチェックの確認に成功した後で、ディレクタYは、この操作に対する特定のDRGTエントリをロックしているグローバル・メモリ内の動的グループ・ロックにマークを付ける。次に、ディレクタYは、グローバル・メモリ内のコピーにより不揮発性メモリ内に記憶しているDRGTのそれ自身のローカル・コピーを更新し、次に、そのローカル・コピーに、要求されたRDF動的グループ変更動作を追加する。本明細書の他のところで説明したように、グローバル・メモリ内のコピーは、システムの最新のコピーであるとみなされる。ディレクタYは、また、リンク発見プロセスが、データ記憶システムXnが適当なグループ情報により初期化される前にスタートするのを防止するために、適当なグループ・ビットを変更する。
ディレクタYは、動的RDFグループ操作に関する情報を記憶するために一時グローバル・メモリ構造を生成する。グローバル・メモリDRGTがまだ更新されていないことに留意されたい。動的グループ変更のための情報は、ディレクタYにより、システム呼出しパラメータに含まれている情報および他の場所からの情報を使用して、一時グローバル・メモリ・コピー内に置かれる。
下記のデータ、すなわち、データ記憶システムXnおよびXn−1の一連番号、グループ・ラベル、Xn上のグループ番号およびこのRDFグループを定義しているXn−1上の他のグループ番号、変更中のグループをサポートしているXn−1上のディレクタのビットマスク(our_supported_dir)、および変更中のグループをサポートしているXn上のディレクタのビットマスク(other_supported_dir)は、マルチホップ・システム呼出しの入力パラメータとして内蔵させることができる。さらに、GigE実施形態の場合には、データは、Xn−1上のディレクタが通信するXn上の特定のディレクタ番号を含むことができる(gige_other_side_dir_anchor)。他の実施形態は、他の技術によりデータの異なる部分を送ることができる。他の実施形態は、また、本明細書に説明したように追加のデータを含むこともできる。
マルチホップ・システム呼出しは、ディレクタYをこの遠隔システム呼出しを実行する受信ディレクタとして示す。ディレクタYは、すでに説明したように、システム呼出しパラメータで送ったデータにより、また、静的構成ファイル・データのようなグローバル・メモリから情報をコピーすることにより、動的RDFグループ・コマンドに対するこの要求に対応するDRGT内にエントリを生成することができる。
次に、ディレクタYは、動的RDFグループ変更に関する他のRAの通知に関連して、複数のステップを実行する。ディレクタYは、もう1つのレコードを生成し、それをGST待ち行列内に入れることによりこの操作を行うことができる。レコードは、この新しい動的グループを生成する必要があるすべてのRAに送られる。このグループを生成する必要がある他のRAは、GSTレコードを受信し、レコードが同じディレクタ、すなわち、グローバル・メモリ内に記憶しているDRGT上の動的グループ・ロックを実際にロックしたディレクタYが発行したものであることを確認する。他の各RAがこの1つの状態または複数の状態の確認に成功した場合には、各RAは、それにより、一時グローバル・メモリ構造内に常駐しているシステム呼出しパラメータ情報を使用して、不揮発性メモリ内に記憶しているDRGTのローカル・コピーを更新する。
しかし、RA確認試験に失敗した場合には、確認の失敗を検出するRAは、なにもしないで、失敗メッセージをディレクタYに返送する。ディレクタYは、すべてのRAに対して通知が行われ、確認試験の終了の成功に関する確認がディレクタYに返送されるまで待機する。ディレクタまたはRAのどれかがディレクタYに失敗を返送した場合には、RDF動的グループ操作の生成は、「行われなかった」ことにすることができる。この動作は、例えば、一時グローバル・メモリ構造内に記憶している情報で、グローバル・メモリ内のDRGTを更新しないことにより、「行われなかった」ことにすることができる。さらに、ディレクタYは、グローバル・メモリ内のDRGTテーブルからのデータを使用して、ローカルDRGTコピーを更新するために、GST待ち行列を使用するなどして、各RAにメッセージを発行することができる。
すべてのRAが動的グループ要求に関連しているRDF情報のそれ自身のコピーの更新に成功した場合には、ディレクタYは、遠隔システム呼出しに従って動的RDFグループ変更要求を行うために、待機状態から抜けだし、特殊なタスクを生成する。
リモート・ボックス上での動的グループの生成または除去の際の処理について説明する前に、データ記憶システムXn−1が行うことができる、今説明した処理の概要に関連して、図13および図14の2つのフローチャートについて説明する。
図13について説明すると、この図は、動的RDFグループ変更コマンドの処理に関連するディレクタXが行うことができる1つの実施形態のステップのフローチャート350である。ステップ352において、ディレクタXは、動的RDFグループ・テーブルを更新するためのコマンドを受信する。この更新は、例えば、新しいRDFグループの追加または削除および現在のグループの変更の際に行われる。制御は、ステップ354に進み、ここでディレクタXは、受信した正しいコマンドが遠隔システム呼出しであるかどうかについての判断を行う。遠隔システム呼出しでない場合には、制御は、ステップ356に進み、ここでディレクタXは他の処理を行う。遠隔システム呼出しである場合には、制御は、ステップ358に進み、ここでディレクタXは、データ記憶システムXn−1 306内の他のディレクタと通信するために、待ち行列を使用して、GSTレコードを生成する。生成されたGSTレコードは、識別を行うか、システム呼出し実行マスク内で識別されたディレクタに送られる。この特定の実施形態の場合には、GSTレコードおよび通信技術の待ち行列は、ディレクタ間のコマンドの発行、およびその間の情報およびデータの通信のために使用される。他の実施形態は、データ記憶システム間およびデータ記憶システム内での通信に関連する他の技術を使用することができる。
制御は、ステップ366に進み、ここでディレクタXは、遠隔システム呼出しが終了したかタイムアウトになったかについての判断を行う。ディレクタXは、あるものまたは他のものが発生するまで待機状態のままでいる。それ故、制御は、成功または失敗またはタイムアウトの発生を示す終了状態が返送された後で、ステップ362に進む。ステップ362において、状態情報を、呼出しチェーン内に含まれている他のディレクタおよび呼出しを最初に発行したホスト・コンピュータ・システムに返送することができる。ステップ366における待機操作および本明細書に記載する他の処理ステップの実行に関連して、ディレクタは、待機状態でいながら、アイドル状態でいることはできないことに留意されたい。ある実施形態は、例えば、割り込み機構により特定のジョブに対して終了状態を返送する場合に、送信された待機タスクの生成のような他の技術を使用することができる。他の実施形態は、待機操作およびステップ366に関連する処理ステップおよび本明細書に記載する他のステップの実行に関連する他の技術を使用することができる。
図14について説明すると、この図は、動的RDFグループ操作に関連するデータ記憶システム306 Xn−1に内蔵される第2のディレクタ、ディレクタYが実行すること
ができる実施形態のステップのフローチャート380である。ステップ382において、ディレクタYは、ディレクタXが送ったGST待ち行列レコードを受信する。次に、ディレクタYは、動的RDFグループ操作を実行することができるかどうかをチェックするために、試験状態を確認する。ステップ384において、試験状態が成功かどうかについての判断が行われる。成功でない場合には、制御はステップ386に進み、ここで失敗状態を返送することができる。成功である場合には、制御はステップ388に進み、ここでディレクタYは、動的グループ・レコードまたは特定の動的グループ要求変更に対応するDRGTのグローバル・メモリ内のレコードをロックし、変更したグループ操作を反映させるためのそのローカルDRGTを更新し、リンク発見プロセスが、データ記憶システムXnが正しいグループ情報によりセットアップされる前にスタートするのを防止するために、グループ・ビットを変更する。制御はステップ390に進み、ここでディレクタYは、システム呼出しパラメータから入手した動的グループ情報要求を保持するために一時グローバル・メモリ構造を生成する。一時構造は、それに従ってこの情報により初期化される。
制御はステップ392に進み、ここで、この動作に関連する動的RDFグループを生成する必要があるすべての他のRAに通知するために、GST待ち行列レコードが生成される。すなわち、ステップ392における処理は、要求された変更を反映するために、DRGTのそのコピーをそれに従って更新するためのすべての他のRAへのメッセージである。さらに、本明細書の他のところで説明したように、ステップ392に関連する通知を受けた各RAは、また、例えば、ステップ392においてGST待ち行列要求を発行したディレクタが、グローバル・メモリ内でDRGTをロックした同じディレクタであるように、他の試験確認ステップを実行することができる。さらに、ステップ392において生成したGST待ち行列レコードを受信する各RAは、そのローカル・メモリ内に記憶しているDRGTのそのコピーを更新する。この更新プロセスの一部として、グローバル・メモリからのDRGTは、最初にコピーされ、それに従って、一時グローバル・メモリ構造を使用する現在の動的RDFグループ要求に対する動的グループ情報により更新される。各RAは、ディレクタYに終了を示すメッセージを返送する。ディレクタYがすべての他のRAから返送状態を受信するまで、または別の方法としては、このような返送状態の待機中にタイムアウトになるまで、ディレクタYはステップ394で待機する。すべてのRAに関連して終了状態またはタイムアウトを受信した場合には、制御はステップ396に進み、ここですべての他のRAによるこのGST待ち行列レコード要求の終了が成功したかどうかについての判断が行われる。成功した場合には、制御はステップ398に進み、ここでデータ記憶システムXn内の他のディレクタへの新しいRDFグループ要求情報の転送に関連して、特殊なタスクが生成され、実行される。成功しなかった場合で、各RA内に局所的に含まれているDRGTの終了または更新が成功しなかった場合には、制御はステップ400に進み、ここで各RA上に記憶しているDRGTのローカル・コピーに関する操作の「取消し(undoing)」に関連して処理ステップが行われる。ステップ400においては、DRGTのグローバル・メモリ・コピーは更新されない。ステップ402において、DRGTの変更していないグローバル・メモリ・コピーによりDRGTのそのローカル・コピーを更新するために、GST待ち行列レコードが生成され、他のすべてのRAに発行される。ステップ404において、ディレクタYは失敗状態を返送する。
データ記憶システムXn−1 306およびXn 308の間にリンクを持たないで、データ記憶システムXn内に含まれているRDFグループ情報の更新に関連してディレクタYが行うことができる処理ステップについて以下に説明する。データ記憶システムXnとXn−1との間には物理接続が存在する。しかし、2つのディレクタ間で通信のために能動的に使用していたために、この物理接続の初期化に関連して処理ステップは今まで行われていない。
ステップ398での処理に関連してすでに説明したように、遠隔データ記憶システムXnにRDFグループ変更コマンドに関連するグループ情報の転送をスタートするために、あるタスクがディレクタY上でスタートする。処理ステップは、グループは空のグループであってもよいという事実を考慮に入れる。グループ情報は、マルチホップ・システム呼出しに、送るときに必要なグループ情報を挿入するために、パラメータを使用して、データ記憶システムXnおよびXn−1との間で転送することができる。以下に説明する通常の技術は、データ記憶システムXnおよびXn−1の間の未使用のリンクを探索し、次にこの初期化を終了させるか、またはデータ記憶システムXnが更新したグループ情報を受信し、ある状態を戻したことを発見した後で、初期化ステップの終了前にプロセスをスタートするために最初にリンク発見プロセスをスタートする。その後で、ディレクタYは、この特定のリンクは、再度初期化されていないことを表示する。以下の説明は、初期化されていないで使用することができる少なくとも1つのリンクが存在するものと仮定する。
多数の使用することができるリンクを予約することができ、RDFグループの動的な変更および/または生成に関連して使用することができるようにすることができる。例えば、ある実施形態の場合には、64の使用することができるリンクが存在し、最後の2つのリンクを本明細書に記載するこの技術により使用するために予約することができる。ユーザが他の目的のために入手することができる使用可能なリンクの数は62である。他の実施形態は、異なる数の入手することができ、予約したリンクを有することができ、この処理に関連して他の技術を使用することができる。
ディレクタYが特殊なタスクを実行する前に、データ記憶システムXおよびXn−1の間の予約した入手することができるリンクの中の1つに関連する指定のリンク指数を使用して、データ記憶システムXn−1内に新しいターゲットが生成される。新しいターゲットを生成するための処理の一部として、ディレクタYは、ディレクタYとデータ記憶システムXnのターゲット・ディレクタとの間に、リンクを定義するために必要なシステム・データ構造を初期化することができる。ディレクタYは、例えば、必要なデータ構造に内蔵させるターゲット・ディレクタ・アドレスを入手する際に、GigE実施形態のテーブル142および144、またはファイバ・スイッチ実施形態のネーミング・サービスを使用することができる。この特定の例の場合のリンク指数は、データ記憶システム間で使用するために入手することができる特定の各通信接続に関連する。物理接続が存在する場合があるが、この物理接続は、他の通信に関連してすでに使用されている場合もある。リンク指数は、リンクが現在使用されていないか、割当てられていないが、稼働状態にある場合には、「入手可能」と見なされるリンクと関連することができる。ディレクタYは、データ記憶システムXnのディレクタに接続しようとする。データ記憶システムXnのディレクタに関連するデバイス識別子は、例えば、APIに内蔵されているルーチン呼出しを使用して入手することができる。ディレクタYは、遠隔データ記憶システムに接続しようとして、成功するまでの時間待機することができる。ディレクタYは、そうでない場合、失敗の後またはタイムアウト後に打ち切ることができる。
ファイバ・スイッチ実施形態の場合には、ディレクタYは、ビットマスク(other_supported_dir)が指定したXnのディレクタの中の任意の1つに対してRDFグループをセットアップするために、必要なパラメータ情報を送信することができることに留意されたい。GigE実施形態の場合には、ディレクタYからの通信を、gige_other_side_anchor内の上記Xnディレクタ数に送ることができる。ファイバ・スイッチ実施形態の場合には、受信したシステム呼出しデータ内のビットマスクが0である場合があることに留意されたい。この例の場合、ディレクタは、前の対応するエントリからの0でないマスクを使用することができる。この前のマスクも0である場合には、ディレクタYは、例えば、WWNを使用して、どのディレクタが遠隔データ記憶システムXn上に位置するのかを判断し、通信の際に「アンカー」として使用するた
めの1つを選択することができる。ディレクタが決定されない場合には、システム呼出しは失敗する。何故なら、ディレクタYが、遠隔データ記憶システムと通信することができないからである。
接続が確立されると、これが生成または削除操作である場合には、ディレクタYは、新しいグループの拡張パラメータ情報および表示を準備する。ディレクタYは、この情報をデータ記憶システムXnに内蔵されている応答機に送る。データ記憶システムXnは、このコマンドを受信し、それをこのリンク上の第1のコマンドであると認識し、このコマンドを新しいグループを生成するための試みであると認識する。新しいグループ・コマンドを受信するデータ記憶システムXnは、データ記憶システムXn−1のディレクタYが、動的グループ変更のための特殊なタスクを実行中であることを知っていて、そのためデータ記憶システムXn上の初期化のリンク発見プロセス部分を停止する。応答機は、リンクが初期化されていないことを表示するために、適当なハードウェアおよび/またはソフトウェア設定を行うことができる。応答機は、また、後でディレクタにより実行される受信した動的グループ変更を実行するために、GST待ち行列レコード要求を生成することができる。ディレクタは、データ記憶システムXnでリンクを初期化されていない状態にすることができる。次に、ディレクタは、状態応答をデータ記憶システムXn−1のディレクタYに返送する。
ディレクタYは、応答を受信し、データ記憶システムXn−1でリンクが初期化されていないことを表示し、ターゲットを無効にする。例えば、前に初期化した適当なデータ構造を無効にすることにより、ターゲットを無効にすることができる。このことは、例えば、「未使用の」システム・データ構造を表示している適当なビットを設定するステップ、および/またはデータ構造を利用可能なデータ構造のプールへ戻すステップを含むことができる。データ記憶システムXn−1は、特殊タスク処理の後で実行した処理ステップを再開する。
ディレクタYの特殊タスクの実行に関連して今説明した処理ステップ、およびディレクタAが動的グループ・コマンド生成データを受信した際に実行したステップの概略を示す、図15のフローチャートについて説明する。
図15について説明すると、この図は、Xnへ動的グループ・コマンド情報を送る場合に初期化したデータ記憶システム間にリンクを持たない両方のデータ記憶システムXnおよびXn−1が実行する処理ステップのフローチャートである。ステップ420において、データ記憶システムXn−1上での特殊タスクの実行の前に、ディレクタYは、新しいターゲットを生成する。ステップ424において、リンクが利用可能か否かについての判断が行われる。利用できるリンクがない場合には、制御はステップ426に進み、失敗はこの操作と関連して返送される。利用できるリンクがある場合には、制御はステップ428に進み、ここで新しい接続パラメータが、この特定のリンクに対して設定され、データ記憶システムXnへの接続が試みられる。
ステップ430において、ディレクタYは、当該特定のリンクに対する接続状態が返送されるまで待機する。成功が表示されない場合には、制御はステップ434に進み、ここで失敗状態が返送される。成功が表示された場合には、制御はステップ432からステップ436に進み、ここで拡張パラメータ情報が準備され、データ記憶システムXnに送られる。
フローチャート422に示すステップ420〜436すべては、この例の場合には、データ記憶システムXn−1のディレクタYにより実行されることに留意されたい。制御はステップ438に進み、ここでディレクタYから情報を受信した場合、ステップはデータ
記憶システムXnにより実行することができる。ディレクタAのようなXnのあるディレクタも、これが新しい接続の試みであることを認識する。何故なら、これがこの特定のリンクにより送られた第1のコマンドであるからである。制御はステップ440に進み、ここでXn上の応答機ディレクタは、動的グループ変更コマンドのためにリンクが生成中であると判断する。応答機、すなわち、XnのディレクタAは、このリンクが動的グループ変更動作のために生成中であり、この動作に関連して情報を送るためにこのリンクが使用中であると判断する。ディレクタAは、リンクを初期化されていない状態にする。ディレクタAは、また、動的グループ変更コマンドのためのGST待ち行列レコードを生成することもでき、次に、このレコードは、後でステップ442で処理され、その結果、新しいグループが新しいグループ情報を含むXn内に生成される。また、そうでない場合、失敗は、この動作の失敗により表示することができることにも留意されたい。
ステップ444において、データ記憶システムXnのディレクタAは、動的グループ更新コマンドの結果に関する状態応答をディレクタYのデータ記憶システムXn−1に返送する。ディレクタYは、また、このリンクがデータ記憶システムXn上で初期化されなかったことを表示する。ステップ446において、ディレクタYは、状態に関する応答を受信し、またリンクが初期化されていないことを表示し、ターゲットを無効にする。
応答機が特殊タスクの実行中に、ディレクタYからコマンド要求およびパラメータを受信した場合に、データ記憶システムXnで行われる処理ステップについて、以下にさらに詳細に説明する。データ記憶システムXn上の処理に関連して、応答機はディレクタYが送信した新しいグループ情報および拡張パラメータを受信する。以下の説明においては、データ記憶システムXn内の応答機をディレクタAと呼ぶことにする。
データ記憶システムXn上のディレクタAは、例えば、データ記憶システムXn−1のディレクタYによる処理に関連してすでに説明した状態類似の状態を試験することによりグループを生成することができることを確認する。すべての状態の確認に成功した場合には、ディレクタAは、グローバル・メモリ内の動的グループ・ロックをロックする。同様に、データ記憶システムXn−1に関連して本明細書の他のところで説明したように、ディレクタAは、グローバル・メモリからのDRGTのコピーを使用して、不揮発性メモリ内のDRGTのそのローカル・コピーを更新する。ディレクタAは、データ記憶システムXnおよびXn−1の間で進行中の処理ステップを同期させるための手段をとることができる。例えば、ある実施形態の場合には、ディレクタAは、リンク発見プロセスが、データ記憶システムXn−1が適当なグループ情報セットアップが行われる前に、データ記憶システムXn内でスタートするのを防止するように、グループ・ビットを設定することができる。この実施形態の場合には、各グループに対応するビットマスクもグローバル・メモリに記憶することができる。ビットマスクは、特定の各グループに対する設定を表示することができる。この例の場合には、リンク発見を可能にするグループ・ビットを、新しいグループを定義するためのすべての処理ステップが終了するまで、例えば、システム・コマンドに指定されている新しいグループを定義するために必要なすべてのディレクタが、本明細書で説明したように、ローカルDRGTエントリなどを更新し終えるまで動作不能にすることができる。
次に、ディレクタAは、ディレクタY上で実行中の特殊タスクから切り離される。この実施形態の場合には、ディレクタYへの状態値の返送ではなく、この切り離しが行われる。次に、ディレクタAは、ディレクタY上で実行中の特殊タスクが送った拡張パラメータを一時グローバル・メモリ構造にコピーする。ディレクタAは、拡張パラメータにより送られた動的グループ変更情報に関するこの新しいグループを生成するのに必要な他のRAに対するGST待ち行列レコード要求を生成し、次に待機状態になる。GST待ち行列レコードは、この新しいグループ情報を生成するために必要なすべての指定されたRAが確
認ステップを実行し、次に確認に成功した場合には、新しいグループ情報を内蔵させるために、DRGTのそのローカル・コピーを更新することを要求する。この実施形態の確認ステップは、GSTレコード要求を発行したディレクタが、グローバル・メモリ内の動的グループ・ロックをロックしたディレクタと同じものであるかどうかの判断を含むことができる。
各RAはディレクタAに状態応答を返送する。ディレクタAが、他のRAからグループの生成に必要な成功状態応答を受信した場合には、ディレクタAは、新しいグループ情報を内蔵させるためにグローバル・メモリ内のDRGTを更新し、リンク発見プロセスが動作できるようにグループ・ビットをオフにし、そのローカルDRGTコピーを更新するために、RA、HAおよびDAを含むすべての他のディレクタにGST待ち行列レコード要求を発行し、この動的グループ変更により任意の要求されたグループ・マスクを生成し、更新する。
別の方法としては、RAの中のどれかが個々に失敗した場合には、これらRAはディレクタAに状態失敗を返送する。ディレクタAは処理ステップを進め、例えば、グローバル・メモリ内のDRGTコピーを更新しないことにより、またそのローカルDRGTコピーのグローバル・メモリからの変更していないDRGTによる上書きに関連するすべてのRAに対して要求を発行することにより、グループの生成を「アンドゥ(undo)」する。
ディレクタの中の1つが失敗した場合には、動的グループ情報の生成は、GSTQレコードがそのローカルDRGT内に記憶している情報をアンドゥするすべての他のRAに発行される本明細書に記載したのと類似の方法でアンドゥされる。すなわち、各RAは、現在のRDFグループ変更を反映していない処理しなかったグローバル・メモリ内のコピーに回復されたそのローカルDRGTを有する。データ記憶システムXnに内蔵されているディレクタAは、成功、または失敗の場合の追加情報を含む失敗でデータ記憶システムXn−1のディレクタYに応答する。この応答は、正確にどの情報が通過したのか、どんな行動が取られたのかについての実施形態の各タイプにより異なる。
図16について説明すると、この図は、新しいグループ情報を受信した場合に、ステップ438、440、442および444に関連してすでに説明したディレクタAが実行することができるより詳細な処理ステップを含むある実施形態のステップのフローチャート550である。ステップ552において、データ記憶システムXnの応答機ディレクタAは、新しいグループ情報を受信する。ステップ554において、ディレクタAは、グループが生成できることを確認する。ステップ556において、この確認プロセスが成功したかどうかについての判断が行われる。成功しなかった場合には、制御はステップ558に進み、ここで失敗が返送される。成功した場合は、制御はステップ556からステップ560に移り、ここでグローバル・メモリ内のDRGTがロックされ、ディレクタAのローカルDRGTコピーが、グローバル・メモリ・コピーからの情報により更新される。さらに、ディレクタAのローカルDRGTコピーは、新しいグループ情報を内蔵するために更新される。ステップ561において、リンク発見プロセスがスタートし、ディレクタAがディレクタY上で実行している特殊タスクから切り離されるのを防止するように、適当なグループ・ビットが設定される。ステップ562において、一時グローバル・メモリ構造が生成され、システム呼出し情報により初期化される。ステップ564において、GST待ち行列レコードが生成され、ディレクタAに送られた新しい動的グループ情報に関する新しいグループを生成するのに必要な他のRAに送られる。RAは初期確認チェックを行い、成功した場合には、そのローカルDRGTコピーを更新し、ディレクタAにある状態を返送する。ディレクタAは、ステップ570において、すべての他のRAからの終了状態またはタイムアウトを受信するために待機する。すべての他のRAから終了状態または
タイムアウトを受信した場合には、制御はステップ572に移り、ここですべてのRAに対する成功状態を受信したかどうかについての判断が行われる。受信した場合には、制御はステップ572からステップ566に移り、ここでグローバル・メモリ内のDRGTが新しいグループ情報により更新され、リンク発見プロセスが動作できるように適当なグループ・ビットが変更され、HA、他のRAまたはDAのような任意の他のディレクタも、この新しいまたは変更したRDFグループに関するローカルDRGTコピーを更新するように要求される。本明細書の他のところで説明したように、これらのディレクタは、DRGTのグローバル・メモリ・コピーおよび一時グローバル・メモリ構造により、ローカルDRGTを更新することができる。制御はステップ568に移動し、ここで成功状態がディレクタAからディレクタYに返送される。
本明細書に記載するように、リンク発見プロセスを動作可能にすることにより、後の時点で実行されるデータ記憶システム内の自動プロセスが、RDFリンクおよびRDFグループを使用できるようにする動的グループに割り当てられた特定のRDFリンクに関する処理を終了させることができる。
ステップ572において、RAの中の任意のものが成功を返送しなかった場合には、制御はステップ574に移動するが、ここではグローバル・メモリのDRGTは更新されない。ステップ576において、ステップ564において通知したこれらRAのローカル・コピーへの前のDRGT更新をアンドゥするために、コマンドが発行される。この実施形態の場合には、このプロセスは、例えば、各ローカルRAにグローバル・メモリのDRGTをコピーするように命令することにより実行することができる。ステップ578において、失敗の状態がデータ記憶システムXn−1のディレクタYに返送される。
データ記憶システムXn−1がデータ記憶システムXnから返送状態を受信すると、データ記憶システムXn−1のディレクタYによる処理が再開する。ディレクタYは、動的グループ生成の状態が成功したかどうかについて判断を行う。両方のデータ記憶システムXnおよびXn−1のすべてのディレクタが更新されたというように、状態がすべてのディレクタが成功したことを示している場合には、データ記憶システムXn−1のグローバル・メモリ内のDRGTは更新される。さらに、新しく確立したまたは新しく定義したRDFリンクに対するリンク発見プロセスが利用できるようにするために、すべての必要なハードウェアおよび/またはソフトウェア・ビットおよびフラグが適当に変更される。さらに、この動作に関するそのテーブルを更新するように要求されたすべてのディレクタが成功した場合には、例えば、HA、DAおよび任意の残りのRAを含む残りのディレクタは、GST待ち行列レコードによりローカルDRGTコピーを更新し、また、新しいグループ情報により局所的に維持することができるように必要なマスクを生成するように要求される。
ディレクタの中の任意のものが失敗した場合には、例えば、Xn−1上のグローバル・メモリ内のDRGTを更新しないことにより、およびそのローカルDRGTをすでに更新したすべてのRAに、グローバル・メモリからのDRGTのコピーによりローカルDRGTを更新するためにオーバライド操作を発行することにより、グループの生成は「アンドゥ」される。データ記憶システムXn−1のディレクタYは、ディレクタXに状態情報を返送する。ディレクタXは、同様に、結果がコマンドを発行したホスト・コンピュータ・システムに返送されるまで、マルチホップ・システム呼出しに関連するものとして状態情報を返送する。
図17について説明すると、この図は、データ記憶システムXnのディレクタAがディレクタに返送状態情報を返送した場合に、ディレクタYが実行するステップの概要を示す処理ステップのフローチャートである。ステップ600において、データ記憶システムX
n−1は、データ記憶システムXnから応答を受信する。データ記憶システムXn上において動的グループ操作が成功したかどうかについての判断が行われる。成功しなかった場合には、制御はステップ606に移動し、ここでDRGTのグローバル・メモリ・コピーを更新しないことにより、データ記憶システムXn−1上でグループの生成がアンドゥされる。ステップ608において、ローカルDRGTコピーをすでに変更したすべてのRAが、ローカルDRGTコピーをグローバル・メモリからの変更していないDRGTにより置換するように要求しているGST待ち行列レコードが生成される。
ステップ604において、動的グループ生成が成功したと判断した場合には、制御はステップ610に移動し、ここでグローバル・メモリ内のDRGTが、生成された一時構造内にすでに記憶しているコピーにより更新される。さらに、制御はステップ612に移動し、ここで任意の必要なハードウェアおよび/またはソフトウェア設定が、リンク発見プロセスを動作できるようにすることにより、利用することができる新しいリンクを表示するように変更される。さらに、ステップ613において、例えば、HA、DAおよび残りのRAを含むすべての残りのディレクタは、GST待ち行列レコードを通して新しい動的RDFグループを反映するためにDRGTのそのローカル・コピーを更新するように要求される。
上記説明は、例えば、グローバル・メモリ内の各データ記憶システムのステップ388および560の処理に関連して使用される動的グループ・ロックを含むことに留意されたい。以降のすべての処理ステップには明示していないが、動的グループ・ロックは、動的RDFグループ・システム呼出しに関連する処理が各データ記憶システム内で終了した場合に、各データ記憶システム内で解放される。例えば、ロックは、上記種々の処理ステップに示す他のデータ記憶システムの他のディレクタに成功または失敗状態を返送する前に解放することができる。
タイムスタンプは、また、各ディレクタのローカル不揮発性メモリおよびグローバル・メモリ・コピー内に記憶しているDRGTの各コピーに関連づけることができる。停電の場合には、例えば、最新のタイムスタンプを有するDRGTを、グローバル・メモリ内のDRGTの他のバージョンを同期させ、および他のローカル・ディレクタ間で同期を行うために使用することができる。
動的グループを最初に生成することができ、デバイスおよびリンクを、例えば、2001年11月30日出願の米国特許出願第09/997,810号に記載されている動的RDF技術を使用して、動的構成ファイルによりこのグループに動的に追加することができる。上記動的グループ・コマンドに関連して種々の動的グループ操作を実行することができる。例えば、データ記憶システムXnおよびXn−1の一方または両方上で、あるグループにサービスを提供しているディレクタを除去して、データ記憶システムXnおよびXn−1の一方または両方上で、あるグループにサービスを提供するディレクタを追加することができる。
上記説明において、1つのグループが、同じデータ記憶システムの2つ以上のディレクタからサービスの提供を受けることができることに留意されたい。
上記は、初期化されユーザ・データを送信することができる2つのデータ記憶システム間にリンクがなくても、動的RDFグループ・コマンドを実行するための柔軟で効率的な技術を提供する。2つのシステム間に物理リンクが存在するが、2つのシステム間の通信のために割り当てられないし、確立されない。部分的初期化処理ステップが、セットアップおよびコマンド・データのような情報を、最初に、第1のシステムから第2のシステムに送り、第1のシステムに肯定応答を返送するために実行される。次に、両方の第1および第2のデータ記憶システムが、ユーザ・データを送信するための2つのシステム間の通
信の際に認識され、使用されるように、2つのシステム間のリンクが使用できるようになる前に、残りのセットアップおよび初期化処理を実行するまでリンクは初期化されていないと表示される。
上記説明の場合、動的グループ構成情報を送信するために使用する第1のリンクは、ユーザ・データを送信する際に使用する第2のリンクとは異なるものであってもよいことに留意されたい。例えば、本明細書に記載するように、リンク62および63は、ユーザ・データを送信するために排他的に利用することができる残りのリンク0〜61により、グループ情報を送るために使用することができる。他の実施形態は、ユーザおよび/またはグループ構成データを送信する際に、他のリンク決定を使用することができる。
好ましい実施形態を参照しながら本発明を図示し詳細に説明してきたが、当業者であれば、好ましい実施形態についての変形および改善を容易に思い付くことができるだろう。それ故、本発明の精神および範囲は、特許請求の範囲によってだけ制限される。
本発明によるコンピュータ・システムの実施形態の一例を示す概念図。 データ記憶システムの実施形態の一例を示す概念図。 図1,2のコンピュータ・システムの実施形態の一例を示す概念図。 動的RDFグループ・テーブル(DRGT)の実施形態の一例を示す概念図。 DRGTのエントリの一例を示す概念図。 図5のエントリに内蔵されている構成情報の一例を示す概念図。 RDFグループの一例を示す概念図。 GigE実施形態に対するRDF動的グループ要求操作の処理の際に使用するデータ構造の一例を示す概念図。 GigE実施形態に対するRDF動的グループ要求操作の処理の際に使用するデータ構造の一例を示す概念図。 RDF動的グループ要求操作に対するコンピュータ・システムで発行されたマルチホップ・システム呼出しの一例を示す概念図。 RDF動的グループ要求操作を処理するための実施形態のステップを示すフローチャート。 RDF動的グループ要求操作を処理するための図10のコンピュータ・システムに内蔵されている2つのデータ記憶システムの詳細図。 RDF動的グループ要求操作を処理するための実施形態のステップを示すフローチャート。 RDF動的グループ要求操作を処理するための実施形態のステップを示すフローチャート。 RDF動的グループ要求操作を処理するための実施形態のステップを示すフローチャート。 RDF動的グループ要求操作を処理するための実施形態のステップを示すフローチャート。 RDF動的グループ要求操作を処理するための実施形態のステップを示すフローチャート。

Claims (10)

  1. 第1のデータ記憶システム内の第1のグループのデバイスと第2のデータ記憶システム内の第2のグループのデバイスとの間の通信経路を動的に変更するための方法であって、
    前記通信経路を動的に変更するために、前記第1のデータ記憶システムに対してコマンド要求を発行するステップと、
    セットアップ・データを、ユーザ・データを送信する準備ができていない通信リンクにより、前記第1のデータ記憶システムから第2のデータ記憶システムに送るステップと、
    前記第1のグループのデバイスへの接続の第1の部分を準備するステップと、
    前記第1の部分の準備が成功した後で、前記第2のグループのデバイスへの前記接続の第2の部分を準備するステップと、
    前記接続の前記第1および第2の部分の準備が成功した後で、前記通信経路がユーザ・データを送信する準備ができたことを表示するステップとを含む方法。
  2. 前記接続の前記第1の部分を準備する前に、前記第1のデータ記憶システムの第1のプロセッサが、前記第1のグループのデバイスにサービスを行っている第1のサービス・プロセッサにより、前記通信経路を前記コマンド要求により変更することができるかどうかを確認するステップと、
    前記接続の前記第2の部分を準備する前に、前記第2のデータ記憶システムの第2のプロセッサが、前記第2のグループのデバイスにサービスを行っている第2のサービス・プロセッサにより、前記通信経路を前記コマンド要求により変更することができるかどうかを確認するステップとをさらに含む、請求項1に記載の方法。
  3. 前記通信接続の前記第1の部分の前記準備が、前記第1のグループのデバイスに対する動的構成情報を含むテーブルを変更するステップを含む、請求項1に記載の方法。
  4. 前記通信接続の前記第2の部分の前記準備が、前記第2のグループのデバイスに対する動的構成情報を含むテーブルを変更するステップを含む、請求項3に記載の方法。
  5. 前記通信リンクの一部が初期化される、請求項1に記載の方法。
  6. 前記コマンド要求が、前記第1および第2のグループのデバイスのうちの1つへのサービスの提供からサービス・プロセッサの除去を求めるものであり、前記サービス・プロセッサが、前記第1および第2のグループのうちの前記一方へサービスを提供する唯一のサービス・プロセッサであり、前記第1および第2のグループのうちの前記一方が空でない場合に、前記コマンド要求の実行に失敗するステップをさらに含む、請求項1に記載の方法。
  7. 前記第2のグループのデバイス内の宛先ボリュームの一部が無効データを含んでいることを表示するステップと、
    前記通信経路がデータを送信する準備ができていることを表示した後で、データを前記第1のグループのデバイス内のソース・ボリュームから前記宛先ボリュームにコピーするステップとをさらに含む、請求項1に記載の方法。
  8. 前記第1のグループのデバイス内の宛先ボリュームの一部が無効データを含んでいることを表示するステップと、
    前記通信経路がデータを送信する準備ができていることを表示した後で、データを前記第2のグループのデバイス内のソース・ボリュームから前記宛先ボリュームにコピーするステップとをさらに含む、請求項1に記載の方法。
  9. 前記第2のプロセッサが、状態を返送する目的で前記通信経路を変更するために、前記コマンド要求で指定される前記第2のデータ記憶システム内のすべてのサービス・プロセッサを待機するステップと、
    前記第2のデータ記憶システムのすべての前記サービス・プロセッサから成功状態を受信した後で、前記コマンド要求に表示されている変更により、前記第2のデータ記憶システム内の動的構成データのグローバル・コピーを更新するステップと、
    前記第2のデータ記憶システムの他のプロセッサにより局所的に維持されている動的構成データのコピーを更新するステップとをさらに含む、請求項2に記載の方法。
  10. 前記第1のプロセッサにより、前記第2のプロセッサから、前記第2のデータ記憶システムが、前記接続の前記第2の部分の準備の終了に成功したかどうかについての返送状態を受信するステップと、
    前記第2のプロセッサからの成功の返送状態の受信に応じて、前記第1のプロセッサが、下記の処理、すなわち、
    前記コマンド要求に表示されている変更により、前記第1のデータ記憶システム内の動的構成データのグローバル・コピーの更新と、
    前記第1のデータ記憶システムの他のプロセッサにより局所的に維持されている動的構成データのコピーの更新と、
    を行うステップとをさらに含む、請求項9に記載の方法。
JP2004541501A 2002-10-02 2003-09-04 動的rdfグループ Pending JP2006500693A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/262,684 US6910075B2 (en) 2001-11-14 2002-10-02 Dynamic RDF groups
PCT/US2003/027442 WO2004031971A1 (en) 2002-10-02 2003-09-04 Dynamic rdf groups

Publications (1)

Publication Number Publication Date
JP2006500693A true JP2006500693A (ja) 2006-01-05

Family

ID=32068262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004541501A Pending JP2006500693A (ja) 2002-10-02 2003-09-04 動的rdfグループ

Country Status (7)

Country Link
US (2) US6910075B2 (ja)
JP (1) JP2006500693A (ja)
CN (1) CN100416538C (ja)
AU (1) AU2003270060A1 (ja)
DE (1) DE10392181T5 (ja)
GB (1) GB2398203B (ja)
WO (1) WO2004031971A1 (ja)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7150000B1 (en) * 1999-08-17 2006-12-12 Nash Controlware, Inc. Component development with autonomous and compiled components to implement and consume services with components operate in edit and run mode
US20040054698A1 (en) * 2002-09-18 2004-03-18 Hitachi, Ltd. Layered computer system with thin clients
JP4598387B2 (ja) * 2003-09-17 2010-12-15 株式会社日立製作所 記憶システム
US7219201B2 (en) * 2003-09-17 2007-05-15 Hitachi, Ltd. Remote storage disk control device and method for controlling the same
US7185223B2 (en) * 2003-09-29 2007-02-27 International Business Machines Corporation Logical partitioning in redundant systems
JP2005157521A (ja) * 2003-11-21 2005-06-16 Hitachi Ltd 遠隔記憶装置の状態情報監視方法および記憶サブシステム
US7426578B2 (en) * 2003-12-12 2008-09-16 Intercall, Inc. Systems and methods for synchronizing data between communication devices in a networked environment
US8589513B1 (en) * 2003-12-23 2013-11-19 Emc Corporation Remote mirroring of group name services
JP4421385B2 (ja) 2004-06-09 2010-02-24 株式会社日立製作所 計算機システム
US7716180B2 (en) * 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
US20070185882A1 (en) * 2006-02-06 2007-08-09 International Business Machines Corporation Method and system for selective tracking of semantic web data using distributed update events
US7751398B1 (en) 2007-03-28 2010-07-06 Emc Corporation Techniques for prioritization of messaging traffic
US9396283B2 (en) 2010-10-22 2016-07-19 Daniel Paul Miranker System for accessing a relational database using semantic queries
US9304960B2 (en) * 2013-06-04 2016-04-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Delayed physical link activation in serial attached small computer system interface devices that utilize smart cabling
US9606870B1 (en) 2014-03-31 2017-03-28 EMC IP Holding Company LLC Data reduction techniques in a flash-based key/value cluster storage
US10324635B1 (en) 2016-03-22 2019-06-18 EMC IP Holding Company LLC Adaptive compression for data replication in a storage system
US10565058B1 (en) 2016-03-30 2020-02-18 EMC IP Holding Company LLC Adaptive hash-based data replication in a storage system
US10691710B2 (en) * 2016-06-19 2020-06-23 Data.World, Inc. Interactive interfaces as computerized tools to present summarization data of dataset attributes for collaborative datasets
US10645548B2 (en) 2016-06-19 2020-05-05 Data.World, Inc. Computerized tool implementation of layered data files to discover, form, or analyze dataset interrelations of networked collaborative datasets
US11068847B2 (en) 2016-06-19 2021-07-20 Data.World, Inc. Computerized tools to facilitate data project development via data access layering logic in a networked computing platform including collaborative datasets
US11023104B2 (en) 2016-06-19 2021-06-01 data.world,Inc. Interactive interfaces as computerized tools to present summarization data of dataset attributes for collaborative datasets
US10824637B2 (en) 2017-03-09 2020-11-03 Data.World, Inc. Matching subsets of tabular data arrangements to subsets of graphical data arrangements at ingestion into data driven collaborative datasets
US11068475B2 (en) 2016-06-19 2021-07-20 Data.World, Inc. Computerized tools to develop and manage data-driven projects collaboratively via a networked computing platform and collaborative datasets
US10699027B2 (en) 2016-06-19 2020-06-30 Data.World, Inc. Loading collaborative datasets into data stores for queries via distributed computer networks
US10452975B2 (en) 2016-06-19 2019-10-22 Data.World, Inc. Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization
US11468049B2 (en) 2016-06-19 2022-10-11 Data.World, Inc. Data ingestion to generate layered dataset interrelations to form a system of networked collaborative datasets
US11042537B2 (en) 2016-06-19 2021-06-22 Data.World, Inc. Link-formative auxiliary queries applied at data ingestion to facilitate data operations in a system of networked collaborative datasets
US10747774B2 (en) 2016-06-19 2020-08-18 Data.World, Inc. Interactive interfaces to present data arrangement overviews and summarized dataset attributes for collaborative datasets
US11016931B2 (en) 2016-06-19 2021-05-25 Data.World, Inc. Data ingestion to generate layered dataset interrelations to form a system of networked collaborative datasets
US11334625B2 (en) 2016-06-19 2022-05-17 Data.World, Inc. Loading collaborative datasets into data stores for queries via distributed computer networks
US11675808B2 (en) 2016-06-19 2023-06-13 Data.World, Inc. Dataset analysis and dataset attribute inferencing to form collaborative datasets
US11755602B2 (en) 2016-06-19 2023-09-12 Data.World, Inc. Correlating parallelized data from disparate data sources to aggregate graph data portions to predictively identify entity data
US11086896B2 (en) 2016-06-19 2021-08-10 Data.World, Inc. Dynamic composite data dictionary to facilitate data operations via computerized tools configured to access collaborative datasets in a networked computing platform
US11042548B2 (en) 2016-06-19 2021-06-22 Data World, Inc. Aggregation of ancillary data associated with source data in a system of networked collaborative datasets
US10438013B2 (en) 2016-06-19 2019-10-08 Data.World, Inc. Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization
US11941140B2 (en) 2016-06-19 2024-03-26 Data.World, Inc. Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization
US10984008B2 (en) 2016-06-19 2021-04-20 Data.World, Inc. Collaborative dataset consolidation via distributed computer networks
US11036697B2 (en) 2016-06-19 2021-06-15 Data.World, Inc. Transmuting data associations among data arrangements to facilitate data operations in a system of networked collaborative datasets
US10353911B2 (en) 2016-06-19 2019-07-16 Data.World, Inc. Computerized tools to discover, form, and analyze dataset interrelations among a system of networked collaborative datasets
US10853376B2 (en) 2016-06-19 2020-12-01 Data.World, Inc. Collaborative dataset consolidation via distributed computer networks
US11036716B2 (en) 2016-06-19 2021-06-15 Data World, Inc. Layered data generation and data remediation to facilitate formation of interrelated data in a system of networked collaborative datasets
US10346429B2 (en) 2016-06-19 2019-07-09 Data.World, Inc. Management of collaborative datasets via distributed computer networks
US10452677B2 (en) 2016-06-19 2019-10-22 Data.World, Inc. Dataset analysis and dataset attribute inferencing to form collaborative datasets
US10324925B2 (en) 2016-06-19 2019-06-18 Data.World, Inc. Query generation for collaborative datasets
US11042560B2 (en) 2016-06-19 2021-06-22 data. world, Inc. Extended computerized query language syntax for analyzing multiple tabular data arrangements in data-driven collaborative projects
US11042556B2 (en) 2016-06-19 2021-06-22 Data.World, Inc. Localized link formation to perform implicitly federated queries using extended computerized query language syntax
US11947554B2 (en) 2016-06-19 2024-04-02 Data.World, Inc. Loading collaborative datasets into data stores for queries via distributed computer networks
US11238109B2 (en) 2017-03-09 2022-02-01 Data.World, Inc. Computerized tools configured to determine subsets of graph data arrangements for linking relevant data to enrich datasets associated with a data-driven collaborative dataset platform
US11068453B2 (en) 2017-03-09 2021-07-20 data.world, Inc Determining a degree of similarity of a subset of tabular data arrangements to subsets of graph data arrangements at ingestion into a data-driven collaborative dataset platform
US11169727B1 (en) * 2017-03-10 2021-11-09 Pure Storage, Inc. Synchronous replication between storage systems with virtualized storage
US10409520B1 (en) 2017-04-27 2019-09-10 EMC IP Holding Company LLC Replication of content-based storage using address space slices
US10503609B1 (en) 2017-04-27 2019-12-10 EMC IP Holding Company LLC Replication link smoothing using historical data
US10922308B2 (en) 2018-03-20 2021-02-16 Data.World, Inc. Predictive determination of constraint data for application with linked data in graph-based datasets associated with a data-driven collaborative dataset platform
US11243960B2 (en) 2018-03-20 2022-02-08 Data.World, Inc. Content addressable caching and federation in linked data projects in a data-driven collaborative dataset platform using disparate database architectures
US10853221B2 (en) 2018-05-04 2020-12-01 EMC IP Holding Company LLC Performance evaluation and comparison of storage systems
US11360688B2 (en) 2018-05-04 2022-06-14 EMC IP Holding Company LLC Cascading snapshot creation in a native replication 3-site configuration
US10705753B2 (en) 2018-05-04 2020-07-07 EMC IP Holding Company LLC Fan-out asynchronous replication logical level caching
US10860239B2 (en) 2018-05-04 2020-12-08 EMC IP Holding Company LLC Fan-out asynchronous replication caching
USD920353S1 (en) 2018-05-22 2021-05-25 Data.World, Inc. Display screen or portion thereof with graphical user interface
USD940169S1 (en) 2018-05-22 2022-01-04 Data.World, Inc. Display screen or portion thereof with a graphical user interface
US11327991B2 (en) 2018-05-22 2022-05-10 Data.World, Inc. Auxiliary query commands to deploy predictive data models for queries in a networked computing platform
US11537990B2 (en) 2018-05-22 2022-12-27 Data.World, Inc. Computerized tools to collaboratively generate queries to access in-situ predictive data models in a networked computing platform
US11947529B2 (en) 2018-05-22 2024-04-02 Data.World, Inc. Generating and analyzing a data model to identify relevant data catalog data derived from graph-based data arrangements to perform an action
USD940732S1 (en) 2018-05-22 2022-01-11 Data.World, Inc. Display screen or portion thereof with a graphical user interface
US11442988B2 (en) 2018-06-07 2022-09-13 Data.World, Inc. Method and system for editing and maintaining a graph schema
US11048722B2 (en) 2018-07-31 2021-06-29 EMC IP Holding Company LLC Performance optimization for data persistency in asynchronous replication setups
US10613793B1 (en) 2018-11-01 2020-04-07 EMC IP Holding Company LLC Method to support hash based xcopy synchronous replication
US10719249B1 (en) 2019-01-31 2020-07-21 EMC IP Holding Company LLC Extent lock resolution in active/active replication
US10853200B2 (en) 2019-02-01 2020-12-01 EMC IP Holding Company LLC Consistent input/output (IO) recovery for active/active cluster replication
US11194666B2 (en) 2019-04-26 2021-12-07 EMC IP Holding Company LLC Time addressable storage in a content addressable storage system
US10719257B1 (en) 2019-04-29 2020-07-21 EMC IP Holding Company LLC Time-to-live (TTL) license management in an active/active replication session
US11216388B2 (en) 2019-04-30 2022-01-04 EMC IP Holding Company LLC Tiering between storage media in a content aware storage system
FR3097994B1 (fr) * 2019-06-28 2022-03-11 St Microelectronics Rousset Modification d'une mémoire d'un microprocesseur sécurisé
US11301138B2 (en) 2019-07-19 2022-04-12 EMC IP Holding Company LLC Dynamic balancing of input/output (IO) operations for a storage system
US10908828B1 (en) 2019-07-25 2021-02-02 EMC IP Holding Company LLC Enhanced quality of service (QoS) for multiple simultaneous replication sessions in a replication setup
US11238063B2 (en) 2019-07-25 2022-02-01 EMC IP Holding Company LLC Provenance-based replication in a storage system
US11429493B2 (en) 2020-01-20 2022-08-30 EMC IP Holding Company LLC Remote rollback of snapshots for asynchronous replication
US11281407B1 (en) 2020-09-23 2022-03-22 EMC IP Holding Company LLC Verified write command in active-active replication
US11593396B2 (en) 2020-09-23 2023-02-28 EMC IP Holding Company LLC Smart data offload sync replication
US11947600B2 (en) 2021-11-30 2024-04-02 Data.World, Inc. Content addressable caching and federation in linked data projects in a data-driven collaborative dataset platform using disparate database architectures

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206939A (en) 1990-09-24 1993-04-27 Emc Corporation System and method for disk mapping and data retrieval
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5253344A (en) * 1991-09-05 1993-10-12 International Business Machines Corp. Method and apparatus for dynamically changing the configuration of a logically partitioned data processing system
EP0537903A2 (en) * 1991-10-02 1993-04-21 International Business Machines Corporation Distributed control 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
US5574950A (en) * 1994-03-01 1996-11-12 International Business Machines Corporation Remote data shadowing using a multimode interface to dynamically reconfigure control link-level and communication link-level
GB9501378D0 (en) * 1995-01-24 1995-03-15 Ibm A system and method for establishing a communication channel over a heterogeneous network between a source node and a destination node
US6047323A (en) * 1995-10-19 2000-04-04 Hewlett-Packard Company Creation and migration of distributed streams in clusters of networked computers
US5806074A (en) * 1996-03-19 1998-09-08 Oracle Corporation Configurable conflict resolution in a computer implemented distributed database
US5845147A (en) 1996-03-19 1998-12-01 Emc Corporation Single lock command for an I/O storage system that performs both locking and I/O data operation
US5857208A (en) 1996-05-31 1999-01-05 Emc Corporation Method and apparatus for performing point in time backup operation in a computer system
US5778394A (en) 1996-12-23 1998-07-07 Emc Corporation Space reclamation system and method for use in connection with tape logging system
US6504817B2 (en) * 1997-03-31 2003-01-07 Hewlett-Packard Company Fiber channel arbitrated loop dynamic loop sizing
JPH1115761A (ja) * 1997-06-02 1999-01-22 Internatl Business Mach Corp <Ibm> 赤外線通信機能を持つ情報処理装置及びその制御方法
US6144999A (en) * 1998-05-29 2000-11-07 Sun Microsystems, Incorporated Method and apparatus for file system disaster recovery
US6295448B1 (en) * 1998-09-21 2001-09-25 Telefonaktiebolaget Lm Ericsson (Publ) Short distance communication and remote control capability for mobile telephones
US6574239B1 (en) * 1998-10-07 2003-06-03 Eric Morgan Dowling Virtual connection of a remote unit to a server
US6529963B1 (en) * 1998-12-29 2003-03-04 Lsi Logic Corporation Methods and apparatus for interconnecting independent fibre channel fabrics
US6324563B1 (en) * 1998-12-30 2001-11-27 Compaq Computer Corporation Customer information control system application programming interface, with global and local system and file control functions, in a loosely coupled data processing environment
US6389432B1 (en) * 1999-04-05 2002-05-14 Auspex Systems, Inc. Intelligent virtual volume access
US6519660B1 (en) * 1999-09-28 2003-02-11 International Business Machines Corporation Method, system and program products for determining I/O configuration entropy
US6982939B2 (en) * 2000-02-02 2006-01-03 Lsi Logic Corporation Write compensation for data storage and communication systems
US20010027491A1 (en) * 2000-03-27 2001-10-04 Terretta Michael S. Network communication system including metaswitch functionality
US7088720B1 (en) * 2000-08-07 2006-08-08 Sbc Technology Resources, Inc. Multiservice use of network connection capability under user-to-network interface signaling
US6742028B1 (en) * 2000-09-15 2004-05-25 Frank Wang Content management and sharing
WO2002061525A2 (en) * 2000-11-02 2002-08-08 Pirus Networks Tcp/udp acceleration
US6985956B2 (en) * 2000-11-02 2006-01-10 Sun Microsystems, Inc. Switching system
US20030189927A1 (en) * 2001-04-27 2003-10-09 Foster Michael S. Method and system for multiframe buffering in a routing device
US6862632B1 (en) * 2001-11-14 2005-03-01 Emc Corporation Dynamic RDF system for transferring initial data between source and destination volume wherein data maybe restored to either volume at same time other data is written

Also Published As

Publication number Publication date
US7240116B2 (en) 2007-07-03
AU2003270060A1 (en) 2004-04-23
CN1602479A (zh) 2005-03-30
US20030093597A1 (en) 2003-05-15
CN100416538C (zh) 2008-09-03
WO2004031971A1 (en) 2004-04-15
GB2398203A (en) 2004-08-11
US20060031526A1 (en) 2006-02-09
GB0410972D0 (en) 2004-06-16
US6910075B2 (en) 2005-06-21
GB2398203B (en) 2006-03-01
DE10392181T5 (de) 2005-08-25

Similar Documents

Publication Publication Date Title
JP2006500693A (ja) 動的rdfグループ
EP1179770B1 (en) File system
US6073209A (en) Data storage controller providing multiple hosts with access to multiple storage subsystems
US9037816B1 (en) Reversing a communication path between storage devices
JP4892185B2 (ja) 分散リモートコピーシステム
US6862632B1 (en) Dynamic RDF system for transferring initial data between source and destination volume wherein data maybe restored to either volume at same time other data is written
US7607037B1 (en) SAR restart and going home procedures
US7272674B1 (en) System and method for storage device active path coordination among hosts
US8285824B2 (en) Storage system and data replication method that refuses one or more requests for changing the first logical configuration information until the first storage apparatus and second storage apparatus are synchronized
US7555541B2 (en) Method and apparatus for managing configuration information in a distributed computer system
US20090327568A1 (en) Data Replication method and apparatus
JP2007094803A (ja) ディスクレス計算機の運用管理システム
JPH07248988A (ja) 記憶制御装置及び関連する方法
EP1776638B1 (en) A system, a method and a device for updating a data set through a communication network
WO2009021949A2 (en) Splitting writes between a storage controller and replication engine
US7359975B2 (en) Method, system, and program for performing a data transfer operation with respect to source and target storage devices in a network
EP1313018B1 (en) Hierarchical approach to identifying changing device characteristics
US8024534B2 (en) Replication engine communicating with a splitter to split writes between a storage controller and replication engine
US7363431B1 (en) Message-based distributed synchronization in a storage system
JP7179810B2 (ja) クラスタシステム、クラスタシステムのフェイルオーバー制御方法
EP1507207B1 (en) Hierarchical approach to identifying changing device characteristics

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070515

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070809

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080805

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081105

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090126

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090929